diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..e69de29b diff --git a/public/decoderWorker.min.js b/public/decoderWorker.min.js new file mode 100644 index 00000000..4e1859fa --- /dev/null +++ b/public/decoderWorker.min.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.DecoderWorker=t():e.DecoderWorker=t()}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function r(s){if(t[s])return t[s].exports;var i=t[s]={i:s,l:!1,exports:{}};return e[s].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,s){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(s,i,function(t){return e[t]}.bind(null,i));return s},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";(function(t){var r,s,i=new Promise(function(e){s=e});t.onmessage=function(e){i.then(function(){switch(e.data.command){case"decode":r&&r.decode(e.data.pages);break;case"done":r&&(r.sendLastBuffer(),t.close());break;case"init":r=new o(e.data,Module)}})};var o=function(e,t){if(!t)throw new Error("Module with exports required to initialize a decoder instance");this.mainReady=i,this.config=Object.assign({bufferLength:4096,decoderSampleRate:48e3,outputBufferSampleRate:48e3,resampleQuality:3},e),this._opus_decoder_create=t._opus_decoder_create,this._opus_decoder_destroy=t._opus_decoder_destroy,this._speex_resampler_process_interleaved_float=t._speex_resampler_process_interleaved_float,this._speex_resampler_init=t._speex_resampler_init,this._speex_resampler_destroy=t._speex_resampler_destroy,this._opus_decode_float=t._opus_decode_float,this._free=t._free,this._malloc=t._malloc,this.HEAPU8=t.HEAPU8,this.HEAP32=t.HEAP32,this.HEAPF32=t.HEAPF32,this.outputBuffers=[]};o.prototype.decode=function(e){var t=new DataView(e.buffer);this.getPageBoundaries(t).map(function(r){var s=t.getUint8(r+5,!0),i=t.getUint32(r+18,!0);if(2&s&&(this.numberOfChannels=t.getUint8(r+37,!0),this.init()),i>1){for(var o=t.getUint8(r+26,!0),u=r+27+o,n=0;n>2]=h,this.HEAP32[this.resampleOutputLengthPointer>>2]=a,this._speex_resampler_process_interleaved_float(this.resampler,this.decoderOutputPointer,this.decoderOutputLengthPointer,this.resampleOutputBufferPointer,this.resampleOutputLengthPointer),this.sendToOutputBuffers(this.HEAPF32.subarray(this.resampleOutputBufferPointer>>2,(this.resampleOutputBufferPointer>>2)+a*this.numberOfChannels)),this.decoderBufferIndex=0}}4&s&&this.sendLastBuffer()}},this)},o.prototype.getPageBoundaries=function(e){for(var t=[],r=0;r1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":14,"maximum":14,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280704,DYNAMICTOP_PTR=37616;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="decoderWorker.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function _fd_close(fd){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _abort(){abort()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}var asmGlobalArg={};var asmLibraryArg={"j":___wasi_fd_close,"i":___wasi_fd_seek,"h":___wasi_fd_write,"__memory_base":1024,"__table_base":0,"g":_abort,"d":_emscripten_get_heap_size,"f":_emscripten_memcpy_big,"c":_emscripten_resize_heap,"a":_llvm_stackrestore,"b":_llvm_stacksave,"e":abort,"memory":wasmMemory,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var _free=Module["_free"]=function(){return Module["asm"]["k"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["l"].apply(null,arguments)};var _opus_decode_float=Module["_opus_decode_float"]=function(){return Module["asm"]["m"].apply(null,arguments)};var _opus_decoder_create=Module["_opus_decoder_create"]=function(){return Module["asm"]["n"].apply(null,arguments)};var _opus_decoder_destroy=Module["_opus_decoder_destroy"]=function(){return Module["asm"]["o"].apply(null,arguments)};var _speex_resampler_destroy=Module["_speex_resampler_destroy"]=function(){return Module["asm"]["p"].apply(null,arguments)};var _speex_resampler_init=Module["_speex_resampler_init"]=function(){return Module["asm"]["q"].apply(null,arguments)};var _speex_resampler_process_interleaved_float=Module["_speex_resampler_process_interleaved_float"]=function(){return Module["asm"]["r"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["s"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["t"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/public/decoderWorker.min.wasm b/public/decoderWorker.min.wasm new file mode 100644 index 00000000..3da06861 Binary files /dev/null and b/public/decoderWorker.min.wasm differ diff --git a/public/encoderWorker.min.js b/public/encoderWorker.min.js new file mode 100644 index 00000000..101f2415 --- /dev/null +++ b/public/encoderWorker.min.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.EncoderWorker=t():e.EncoderWorker=t()}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function n(s){if(t[s])return t[s].exports;var r=t[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,s){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(n.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(s,r,function(t){return e[t]}.bind(null,r));return s},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";(function(t){var n,s,r=new Promise(function(e){s=e});t.onmessage=function(e){r.then(function(){switch(e.data.command){case"encode":n&&n.encode(e.data.buffers);break;case"getHeaderPages":n&&(n.generateIdPage(),n.generateCommentPage());break;case"done":n&&(n.encodeFinalFrame(),t.postMessage({message:"done"}));break;case"close":t.close();break;case"flush":n&&n.flush();break;case"init":n&&n.destroy(),n=new i(e.data,Module),t.postMessage({message:"ready"})}})};var i=function(e,t){if(!t)throw new Error("Module with exports required to initialize an encoder instance");this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderSampleRate:48e3,maxFramesPerPage:40,numberOfChannels:1,originalSampleRate:44100,resampleQuality:3,serial:Math.floor(4294967296*Math.random())},e),this._opus_encoder_create=t._opus_encoder_create,this._opus_encoder_destroy=t._opus_encoder_destroy,this._opus_encoder_ctl=t._opus_encoder_ctl,this._speex_resampler_process_interleaved_float=t._speex_resampler_process_interleaved_float,this._speex_resampler_init=t._speex_resampler_init,this._speex_resampler_destroy=t._speex_resampler_destroy,this._opus_encode_float=t._opus_encode_float,this._free=t._free,this._malloc=t._malloc,this.HEAPU8=t.HEAPU8,this.HEAP32=t.HEAP32,this.HEAPF32=t.HEAPF32,this.pageIndex=0,this.granulePosition=0,this.segmentData=new Uint8Array(65025),this.segmentDataIndex=0,this.segmentTable=new Uint8Array(255),this.segmentTableIndex=0,this.framesInPage=0,this.initChecksumTable(),this.initCodec(),this.initResampler(),1===this.config.numberOfChannels?this.interleave=function(e){return e[0]}:this.interleavedBuffers=new Float32Array(this.config.bufferLength*this.config.numberOfChannels)};i.prototype.encode=function(e){for(var t=this.interleave(e),n=0;n=this.config.maxFramesPerPage&&this.generatePage()}}},i.prototype.destroy=function(){this.encoder&&(this._free(this.encoderSamplesPerChannelPointer),delete this.encoderSamplesPerChannelPointer,this._free(this.encoderBufferPointer),delete this.encoderBufferPointer,this._free(this.encoderOutputPointer),delete this.encoderOutputPointer,this._free(this.resampleSamplesPerChannelPointer),delete this.resampleSamplesPerChannelPointer,this._free(this.resampleBufferPointer),delete this.resampleBufferPointer,this._speex_resampler_destroy(this.resampler),delete this.resampler,this._opus_encoder_destroy(this.encoder),delete this.encoder)},i.prototype.flush=function(){this.framesInPage&&this.generatePage(),this.resampleBufferIndex=0,t.postMessage({message:"flushed"})},i.prototype.encodeFinalFrame=function(){if(this.resampleBufferIndex>0){for(var e=[],t=0;t>>24&255^e[n]];return t>>>0},i.prototype.generateCommentPage=function(){var e=new DataView(this.segmentData.buffer);e.setUint32(0,1937076303,!0),e.setUint32(4,1936154964,!0),e.setUint32(8,10,!0),e.setUint32(12,1868784978,!0),e.setUint32(16,1919247474,!0),e.setUint16(20,21322,!0),e.setUint32(22,0,!0),this.segmentTableIndex=1,this.segmentDataIndex=this.segmentTable[0]=26,this.headerType=0,this.generatePage()},i.prototype.generateIdPage=function(){var e=new DataView(this.segmentData.buffer);e.setUint32(0,1937076303,!0),e.setUint32(4,1684104520,!0),e.setUint8(8,1,!0),e.setUint8(9,this.config.numberOfChannels,!0),e.setUint16(10,3840,!0),e.setUint32(12,this.config.originalSampleRateOverride||this.config.originalSampleRate,!0),e.setUint16(16,0,!0),e.setUint8(18,0,!0),this.segmentTableIndex=1,this.segmentDataIndex=this.segmentTable[0]=19,this.headerType=2,this.generatePage()},i.prototype.generatePage=function(){var e=this.lastPositiveGranulePosition===this.granulePosition?-1:this.granulePosition,n=new ArrayBuffer(27+this.segmentTableIndex+this.segmentDataIndex),s=new DataView(n),r=new Uint8Array(n);s.setUint32(0,1399285583,!0),s.setUint8(4,0,!0),s.setUint8(5,this.headerType,!0),s.setUint32(6,e,!0),e<0?s.setInt32(10,Math.ceil(e/4294967297)-1,!0):s.setInt32(10,Math.floor(e/4294967296),!0),s.setUint32(14,this.config.serial,!0),s.setUint32(18,this.pageIndex++,!0),s.setUint8(26,this.segmentTableIndex,!0),r.set(this.segmentTable.subarray(0,this.segmentTableIndex),27),r.set(this.segmentData.subarray(0,this.segmentDataIndex),27+this.segmentTableIndex),s.setUint32(22,this.getChecksum(r),!0),t.postMessage({message:"page",page:r,samplePosition:this.granulePosition},[r.buffer]),this.segmentTableIndex=0,this.segmentDataIndex=0,this.framesInPage=0,e>0&&(this.lastPositiveGranulePosition=e)},i.prototype.initChecksumTable=function(){this.checksumTable=[];for(var e=0;e<256;e++){for(var t=e<<24,n=0;n<8;n++)t=0!=(2147483648&t)?t<<1^79764919:t<<1;this.checksumTable[e]=4294967295&t}},i.prototype.setOpusControl=function(e,t){var n=this._malloc(4);this.HEAP32[n>>2]=t,this._opus_encoder_ctl(this.encoder,e,n),this._free(n)},i.prototype.initCodec=function(){var e=this._malloc(4);this.encoder=this._opus_encoder_create(this.config.encoderSampleRate,this.config.numberOfChannels,this.config.encoderApplication,e),this._free(e),this.config.encoderBitRate&&this.setOpusControl(4002,this.config.encoderBitRate),this.config.encoderComplexity&&this.setOpusControl(4010,this.config.encoderComplexity),this.encoderSamplesPerChannel=this.config.encoderSampleRate*this.config.encoderFrameSize/1e3,this.encoderSamplesPerChannelPointer=this._malloc(4),this.HEAP32[this.encoderSamplesPerChannelPointer>>2]=this.encoderSamplesPerChannel,this.encoderBufferLength=this.encoderSamplesPerChannel*this.config.numberOfChannels,this.encoderBufferPointer=this._malloc(4*this.encoderBufferLength),this.encoderBuffer=this.HEAPF32.subarray(this.encoderBufferPointer>>2,(this.encoderBufferPointer>>2)+this.encoderBufferLength),this.encoderOutputMaxLength=4e3,this.encoderOutputPointer=this._malloc(this.encoderOutputMaxLength),this.encoderOutputBuffer=this.HEAPU8.subarray(this.encoderOutputPointer,this.encoderOutputPointer+this.encoderOutputMaxLength)},i.prototype.initResampler=function(){var e=this._malloc(4);this.resampler=this._speex_resampler_init(this.config.numberOfChannels,this.config.originalSampleRate,this.config.encoderSampleRate,this.config.resampleQuality,e),this._free(e),this.resampleBufferIndex=0,this.resampleSamplesPerChannel=this.config.originalSampleRate*this.config.encoderFrameSize/1e3,this.resampleSamplesPerChannelPointer=this._malloc(4),this.HEAP32[this.resampleSamplesPerChannelPointer>>2]=this.resampleSamplesPerChannel,this.resampleBufferLength=this.resampleSamplesPerChannel*this.config.numberOfChannels,this.resampleBufferPointer=this._malloc(4*this.resampleBufferLength),this.resampleBuffer=this.HEAPF32.subarray(this.resampleBufferPointer>>2,(this.resampleBufferPointer>>2)+this.resampleBufferLength)},i.prototype.interleave=function(e){for(var t=0;t=0;){255===this.segmentTableIndex&&(this.generatePage(),this.headerType=1);var n=Math.min(e,255);this.segmentTable[this.segmentTableIndex++]=n,this.segmentData.set(this.encoderOutputBuffer.subarray(t,t+n),this.segmentDataIndex),this.segmentDataIndex+=n,t+=n,e-=255}this.granulePosition+=48*this.config.encoderFrameSize,255===this.segmentTableIndex&&(this.generatePage(),this.headerType=0)},Module||(Module={}),Module.mainReady=r,Module.OggOpusEncoder=i,Module.onRuntimeInitialized=s,e.exports=Module}).call(this,n(1))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n}])});var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":16,"maximum":16,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5289600,DYNAMICTOP_PTR=46512;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="encoderWorker.min.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function _fd_close(fd){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _abort(){abort()}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_log10_f32(x){return Math.log(x)/Math.LN10}function _llvm_log10_f64(a0){return _llvm_log10_f32(a0)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}var asmGlobalArg={};var asmLibraryArg={"l":___wasi_fd_close,"k":___wasi_fd_seek,"j":___wasi_fd_write,"__memory_base":1024,"__table_base":0,"i":_abort,"d":_emscripten_get_heap_size,"h":_emscripten_memcpy_big,"c":_emscripten_resize_heap,"g":_llvm_exp2_f64,"f":_llvm_log10_f64,"a":_llvm_stackrestore,"b":_llvm_stacksave,"e":abort,"memory":wasmMemory,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var _free=Module["_free"]=function(){return Module["asm"]["m"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["n"].apply(null,arguments)};var _opus_encode_float=Module["_opus_encode_float"]=function(){return Module["asm"]["o"].apply(null,arguments)};var _opus_encoder_create=Module["_opus_encoder_create"]=function(){return Module["asm"]["p"].apply(null,arguments)};var _opus_encoder_ctl=Module["_opus_encoder_ctl"]=function(){return Module["asm"]["q"].apply(null,arguments)};var _opus_encoder_destroy=Module["_opus_encoder_destroy"]=function(){return Module["asm"]["r"].apply(null,arguments)};var _speex_resampler_destroy=Module["_speex_resampler_destroy"]=function(){return Module["asm"]["s"].apply(null,arguments)};var _speex_resampler_init=Module["_speex_resampler_init"]=function(){return Module["asm"]["t"].apply(null,arguments)};var _speex_resampler_process_interleaved_float=Module["_speex_resampler_process_interleaved_float"]=function(){return Module["asm"]["u"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["v"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["w"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/public/encoderWorker.min.wasm b/public/encoderWorker.min.wasm new file mode 100644 index 00000000..b79dad9d Binary files /dev/null and b/public/encoderWorker.min.wasm differ diff --git a/public/index.bundle.js b/public/index.bundle.js index c787ba1a..e9389de0 100644 --- a/public/index.bundle.js +++ b/public/index.bundle.js @@ -1,20 +1,20 @@ -!function(e){function t(t){for(var s,n,r=t[0],l=t[1],d=t[2],u=0,h=[];u * https://github.com/zhukov/webogram/blob/master/LICENSE */ -var s=Date.now();function a(){return"["+((Date.now()-s)/1e3).toFixed(3)+"]"}function o(e,t){return!!e&&(e==(t=t||document.body)||o(e.parentNode,t))}function n(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t{"user_update"!=e&&console.log(a(),"Broadcasting "+e+" event, with args:",t);let i=new CustomEvent(e,{detail:t});document.dispatchEvent(i)},$on:(e,t)=>{document.addEventListener(e,t)},selectedPeerID:0,myID:0,idle:{isIDLE:!1}};var h=function(e,t,i,s,a,o,n){return[e,",",t," ",i," ",s,",",a," ",o,",",n].join("")};function p(e,t,i,s,a,o,n,r){var l=[];return l.push("M"+(e+i/2)+","+t),l.push("H"+(e+i-o)),o>0&&l.push("A"+h(o,o,0,0,1,e+i,t+o)),l.push("V"+(t+s-n)),n>0&&l.push("A"+h(n,n,0,0,1,e+i-n,t+s)),l.push("H"+(e+r)),r>0&&l.push("A"+h(r,r,0,0,1,e+0,t+s-r)),l.push("V"+(t+a)),a>0&&l.push("A"+h(a,a,0,0,1,e+a,t+0)),l.push("Z"),l.join(" ")}const m={messageActionChatCreate:"created the group",messageActionChatEditTitle:"changed group name",messageActionChatEditPhoto:"changed group photo",messageActionChatDeletePhoto:"removed group photo",messageActionChatReturn:"returned to group",messageActionChatJoined:"joined the group",messageActionChatAddUser:"invited {user}",messageActionChatAddUsers:"invited {} users",messageActionChatLeave:"left the group",messageActionChatDeleteUser:"removed user",messageActionChatJoinedByLink:"joined the group",messageActionPinMessage:"pinned message",messageActionContactSignUp:"joined Telegram",messageActionChannelCreate:"Channel created",messageActionChannelEditTitle:"Channel renamed",messageActionChannelEditPhoto:"Channel photo updated",messageActionChannelDeletePhoto:"Channel photo removed",messageActionHistoryClear:"History cleared","messageActionPhoneCall.in_ok":"Incoming Call","messageActionPhoneCall.out_ok":"Outgoing Call","messageActionPhoneCall.in_missed":"Missed Call","messageActionPhoneCall.out_missed":"Cancelled Call"},g=e=>(e=e.replace("_raw",""),m[e]?m[e]:e);function f(e){return"object"==typeof e&&null!==e}function b(e){var t=+new Date;return e?Math.floor(t/1e3):t}function v(e,t){for(var i in e)t.hasOwnProperty(i)||"$"==i.charAt(0)||delete e[i];for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])}function y(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")}function w(e,t){if(e.classList.contains(t))return e;for(;e.parentElement;)if((e=e.parentElement).classList.contains(t))return e;return null}function x(e,t){if(e.tagName==t)return e;for(;e.parentElement;)if((e=e.parentElement).tagName===t)return e;return null}function _(e){let t=0;for(;null!=(e=e.previousElementSibling);)++t;return t}function k(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){var t=[];return e.forEach((function(e){t.push(k(e))})),t}let i=new e.constructor;for(var s in e)e.hasOwnProperty(s)&&(i[s]=k(e[s]));return i}function M(e,t=2){if(0===e)return"0 Bytes";const i=t<0?0:t,s=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,s)).toFixed(i))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][s]}function D(e,t=2){if(0===e)return"0";const i=t<0?0:t,s=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,s)).toFixed(i))+["","K","M","B","T"][s]}function S(e,t){const i=Object.keys,s=typeof e;return e&&t&&"object"===s&&s===typeof t?i(e).length===i(t).length&&i(e).every(i=>S(e[i],t[i])):e===t}function E(e,t){t=t||[];for(var i=k(e=e||[]),s=e.length?e[e.length-1]:4294967295,a=0;a/g,">")}function P(e){let t=e.split(" ");if(4!=t.length){t[0]||(t[0]="0px");for(let e=t.length;e<4;++e)t[e]=t[e%2]||t[0]||"0px"}return t}function L(e,t,i,s,a){if(ei/s?n=parseInt(t*i/e):(o=parseInt(e*s/t))>i&&(n=parseInt(n*i/o),o=i),a&&o>=e&&n>=t&&(o=e,n=t),{w:o,h:n}}function C(e){let t=C.raw(e).split(" ").map(e=>parseInt(e).toString(16)).filter(e=>"fe0f"!=e);return t.length&&2==t[0].length&&(t[0]="00"+t[0]),t.join("-")}function T(e){let t=e.match(/[\uDFFB-\uDFFF]/);return t?5-(57343-t[0].charCodeAt(0)):0}C.raw=function(e){if(1===e.length)return e.charCodeAt(0).toString();if(e.length>1){const i=[];for(var t=0;t=55296&&e.charCodeAt(t)<=56319?e.charCodeAt(t+1)>=56320&&e.charCodeAt(t+1)<=57343&&i.push(1024*(e.charCodeAt(t)-55296)+(e.charCodeAt(t+1)-56320)+65536):(e.charCodeAt(t)<55296||e.charCodeAt(t)>57343)&&i.push(e.charCodeAt(t));return i.join(" ")}return""}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=s(i(12)),r=s(i(72));class l extends r.default{constructor(){super(),this.webWorker=!1,this.taskID=0,this.awaiting={},this.pending=[],this.debug=!1,this.updatesProcessor=null,console.log(o.dT(),"ApiManagerProxy constructor"),window.Worker&&Promise.resolve().then(()=>a(i(73))).then(e=>{var t=new e.default;t.onmessage=e=>{this.webWorker||(this.webWorker=t,console.info(o.dT(),"ApiManagerProxy set webWorker"),this.releasePending()),o.isObject(e.data)&&(e.data.useLs?n.default[e.data.task](...e.data.args).then(t=>{this.webWorker.postMessage({useLs:!0,taskID:e.data.taskID,args:t})}):e.data.update?this.updatesProcessor&&this.updatesProcessor(e.data.update.obj,e.data.update.bool):this.finalizeTask(e.data.taskID,e.data.result,e.data.error))},t.onerror=e=>{console.error("ApiManagerProxy error",e),this.webWorker=!1}})}finalizeTask(e,t,i){let s=this.awaiting[e];void 0!==s&&(this.debug&&console.log(o.dT(),"ApiManagerProxy done",s.taskName,t,i),void 0===t?s.reject(i):s.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.debug&&console.log(o.dT(),"ApiManagerProxy start",e,t),new Promise((i,s)=>{this.awaiting[this.taskID]={resolve:i,reject:s,taskName:e};let a={task:e,taskID:this.taskID,args:t};this.pending.push(a),this.releasePending(),this.taskID++})}releasePending(){this.webWorker&&(this.pending.forEach(e=>{this.webWorker.postMessage(e)}),this.pending.length=0)}setUpdatesProcessor(e){this.updatesProcessor=e}invokeApi(e,t={},i={}){return console.log("will invokeApi:",e,t,i),this.performTaskWorker("invokeApi",e,t,i)}setBaseDcID(e){return this.performTaskWorker("setBaseDcID",e)}setUserAuth(e){return o.$rootScope.$broadcast("user_auth",e),this.performTaskWorker("setUserAuth",e)}getNetworker(e){return this.performTaskWorker("getNetworker",e)}getUserID(){return this.performTaskWorker("getUserID")}logOut(){return this.performTaskWorker("logOut")}checkPassword(e){return this.performTaskWorker("checkPassword",e)}}const d=new l;window.apiManagerProxy=d,t.default=d},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(17));let r=0;t.ripple=function(e,t=(()=>Promise.resolve()),i=null){if(e.querySelector(".c-ripple"))return;let s=document.createElement("div");s.classList.add("c-ripple"),e.append(s),e.addEventListener("mousedown",a=>{if("0"==e.dataset.ripple)return!1;let o=Date.now(),n=document.createElement("span"),l=r++;console.log("ripple mousedown");t&&t(l),window.requestAnimationFrame(()=>{n.classList.add("c-ripple__circle");let e,t,i=s.getBoundingClientRect(),o=a.clientX-i.left,r=a.clientY-i.top;i.width>i.height?(e=i.width,t=o):(e=i.height,t=r),e-=t>e/2?e-t:t,e*=1.1;let l=o-e/2,d=r-e/2;n.style.width=n.style.height=e+"px",n.style.left=l+"px",n.style.top=d+"px",s.append(n)}),window.addEventListener("mouseup",()=>{(()=>{let e=Date.now()-o;if(e<700){let t=Math.max(700-e,350);setTimeout(()=>n.classList.add("hiding"),Math.max(t-350,0)),setTimeout(()=>{n.remove(),i&&i(l)},t)}else n.classList.add("hiding"),setTimeout(()=>{n.remove(),i&&i(l)},350)})()},{once:!0})})};const l=document.createElement("div");l.classList.add("toast"),t.toast=function(e){l.innerHTML=e,document.body.append(l),l.dataset.timeout&&clearTimeout(+l.dataset.timeout),l.dataset.timeout=""+setTimeout(()=>{l.remove(),delete l.dataset.timeout},3e3)};let d={},c=(e,t)=>{e instanceof HTMLImageElement||e instanceof HTMLSourceElement?e.src=t:e instanceof SVGImageElement?e.setAttributeNS(null,"href",t):e.style.backgroundImage="url("+t+")"};t.renderImageFromUrl=function(e,t){return d[t]?(c(e,t),Promise.resolve(!0)):e instanceof HTMLSourceElement?(e.src=t,Promise.resolve(!1)):new Promise((i,s)=>{let a=new Image;a.src=t,a.addEventListener("load",()=>{c(e,t),d[t]=!0,i(!1)}),a.addEventListener("error",s)})},t.putPreloader=function(e,t=!1){const i='\n \n \n ';if(t){let t=document.createElement("div");return t.classList.add("preloader"),t.innerHTML=i,e&&e.appendChild(t),t}e.innerHTML+=i},t.horizontalMenu=function(e,t,i,a,n=300){let r=0,l=null,d=-1,c=Array.from(t.children),u=e?Array.from(e.firstElementChild.children):[],h=new Set,p=i=>s(this,void 0,void 0,(function*(){if(i==d)return!1;let s=l,o=t.children[i];o.classList.add("active"),h.has(o)||h.add(o);let p=dwindow.requestAnimationFrame(()=>{t.style.cssText=`will-change: width, transform; width: ${100*h.size}%; transform: translateX(-${100-100/h.size}%);`,t.classList.remove("animated"),p?t.classList.add("animated"):window.requestAnimationFrame(()=>{t.classList.add("animated"),t.style.transform=""}),e()}))),r&&clearTimeout(r),s&&(e&&u.forEach((e,t)=>{t!=d&&t!=i&&(e.dataset.ripple="0")}),r=setTimeout(()=>{c.forEach(e=>{e!=o&&(e.classList.remove("active"),h.delete(e))}),e&&u.forEach(e=>{delete e.dataset.ripple}),t.classList.remove("animated"),t.style.cssText="",r=0,a&&a()},n)),d=i,l=o}));if(e){let s=document.createElement("span");s.classList.add("menu-horizontal__stripe"),e.append(s),e.addEventListener("click",(function(a){let n=a.target;if("LI"!=n.tagName&&(n=o.findUpTag(n,"LI")),!n)return!1;let r=o.whichChild(n),l=t.children[r];if(h.size>=2&&!h.has(l))return!1;if(i&&i(r,l),n.classList.contains("active")||r==d)return!1;let c=e.querySelector("li.active");c&&c.classList.remove("active");let u=e.getBoundingClientRect(),m=n.firstElementChild.getBoundingClientRect();s.style.cssText=`width: ${m.width+4}px; transform: translateX(${m.left-u.left}px);`,console.log("tabs click:",u,m),n.classList.add("active"),p(r)}))}return p},t.formatPhoneNumber=function(e){let t=(e=e.replace(/\D/g,"")).slice(0,6),i=n.default.Countries.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length).find(e=>e.phoneCode.split(" and ").find(e=>0==t.indexOf(e.replace(/\D/g,"")))),s=i?i.pattern||i.phoneCode:"";return i&&(s.split("").forEach((t,i)=>{" "==t&&" "!=e[i]&&e.length>i&&(e=e.slice(0,i)+" "+e.slice(i))}),i.pattern&&(e=e.slice(0,i.pattern.length))),{formatted:e,country:i}},t.parseMenuButtonsTo=function(e,t){Array.from(t).forEach(t=>{let i=t.className.match(/(?:^|\s)menu-(.+?)(?:$|\s)/)[1];e[i]=t})};let u=e=>{let t=m.getBoundingClientRect(),{clientX:i,clientY:s}=e,a=i>=t.right?i-t.right:t.left-i,o=s>=t.bottom?s-t.bottom:t.top-s;(a>=100||o>=100)&&p()},h=e=>{p()},p=()=>{m&&(m.classList.remove("active"),m.parentElement.classList.remove("menu-open"),m=null),g&&(g(),g=null),window.removeEventListener("mousemove",u),window.removeEventListener("click",h),window.removeEventListener("contextmenu",h)},m=null,g=null;t.openBtnMenu=function(e,t){p(),m=e,m.classList.add("active"),m.parentElement.classList.add("menu-open"),g=t,window.addEventListener("mousemove",u),window.addEventListener("click",h,{once:!0}),window.addEventListener("contextmenu",h,{once:!0})},t.positionMenu=function(e,t,i="left"){t.classList.remove("bottom-left","bottom-right"),t.classList.add("left"==i?"bottom-right":"bottom-left");let{clientX:s,clientY:a}=e;t.style.left=("right"==i?s-t.scrollWidth:s)+"px",a+t.scrollHeight>window.innerHeight?t.style.top=window.innerHeight-t.scrollHeight+"px":t.style.top=a+"px"}},function(e,t,i){"use strict";i.r(t),i.d(t,"RichTextProcessor",(function(){return k}));var s,a=i(0),o=i(17),n=i.n(o),r={emojiMap:e=>e,shortcuts:[],emojis:[]},l=n.a.Emoji,d=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),c=new RegExp("(^| )(@)([a-zA-Z\\d_]{5,32})|(((?:https?|ftp)://|mailto:)?(?:\\S{1,64}(?::\\S{0,64})?@)?(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}(?:\\.[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}){0,10}(?:\\.(xn--[0-9a-z]{2,16}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,24})))(?::\\d{2,5})?(?:/(?:\\S{0,255}[^\\s.;,(\\[\\]{}<>\"'])?)?)|(\\n)|((?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f*)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a]))|(^|[\\s\\(\\]])(#[0-9_a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,64})|(^|\\s)\\/([a-zA-Z\\d_]{1,32})(?:@([a-zA-Z\\d_]{5,32}))?(\\b|$)","i"),u=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,h=/[`_*@]/,p=/(^|\s|\n)(````?)([\s\S]+?)(````?)([\s\n\.,:?!;]|$)|(^|\s)(`|\*\*|__)([^\n]+?)\7([\s\.,:?!;]|$)|@(\d+)\s*\((.+?)\)/m,m={Telegram:"tg://search_hashtag?hashtag={1}",Twitter:"https://twitter.com/hashtag/{1}",Instagram:"https://instagram.com/explore/tags/{1}/","Google Plus":"https://plus.google.com/explore/{1}"},g={Telegram:"#/im?p=%40{1}",Twitter:"https://twitter.com/{1}",Instagram:"https://instagram.com/{1}/",GitHub:"https://github.com/{1}"},f={"`":"messageEntityCode","**":"messageEntityBold",__:"messageEntityItalic"};function b(e){return void 0===l[e.replace(/\ufe0f/g,"")]?null:Object(a.emojiUnicode)(e)}function v(e,t={}){for(var i,s,a=e,o=[],r=0;i=a.match(c);){if(s=r+i.index,i[3])o.push({_:"messageEntityMention",offset:s+i[1].length,length:i[2].length+i[3].length});else if(i[4])if(u.test(i[4]))o.push({_:"messageEntityEmail",offset:s,length:i[4].length});else{var l=!1,d=i[5],h=i[6];if(h){if(d||"xn--"!==h.substr(0,4)&&-1===n.a.TLD.indexOf(h.toLowerCase())||(d="http://"),d){var p=x(i[4]);p.length!==i[4].length&&(i[4].substring(p.length),i[4]=p),l=(i[5]?"":d)+i[4]}}else l=(i[5]?"":"http://")+i[4];l&&o.push({_:"messageEntityUrl",offset:s,length:i[4].length})}else if(i[7])o.push({_:"messageEntityLinebreak",offset:s,length:1});else if(i[8]){let e=b(i[8]);e&&o.push({_:"messageEntityEmoji",offset:s,length:i[8].length,unicode:e})}else i[10]?o.push({_:"messageEntityHashtag",offset:s+(i[9]?i[9].length:0),length:i[10].length}):i[12]&&o.push({_:"messageEntityBotCommand",offset:s+(i[11]?i[11].length:0),length:1+i[12].length+(i[13]?1+i[13].length:0)});a=a.substr(i.index+i[0].length),r+=i.index+i[0].length}return o}function y(e,t,i){return void 0===t?Object(a.encodeEntities)(e):(i.hasNested=!0,w(e,{entities:t,nested:!0}))}function w(e,t={}){if(!e||!e.length)return"";var i=t.entities,s=t.contextSite||"Telegram",o="Telegram"!=s;void 0===i&&(i=v(e,t));for(var n,r,l,c,u=i.length,h=[],p=0,f=0;fp)h.push(Object(a.encodeEntities)(e.substr(p,n.offset-p)));else if(n.offset',Object(a.encodeEntities)(r),"");break;case"messageEntityMentionName":if(t.noLinks){l=!0;break}h.push('',Object(a.encodeEntities)(r),"");break;case"messageEntityHashtag":var x;if(!(x=!t.noLinks&&m[s])){l=!0;break}var k=r.substr(1);h.push("',Object(a.encodeEntities)(r),"");break;case"messageEntityEmail":if(t.noLinks){l=!0;break}h.push('',Object(a.encodeEntities)(r),"");break;case"messageEntityUrl":case"messageEntityTextUrl":var M;"messageEntityTextUrl"==n._?(c=_(c=n.url,!0),M=y(r,n.nested,t)):(c=_(r,!1),M=Object(a.encodeEntities)(r.replace(/(%[A-Z\d]{2})+/g,(function(e){try{return decodeURIComponent(e)}catch(t){return e}})))),t.noLinks?h.push(M):h.push('',M,"");break;case"messageEntityLinebreak":h.push(t.noLinebreaks?" ":"
");break;case"messageEntityEmoji":h.push(d?`${Object(a.encodeEntities)(r)}`:`${Object(a.encodeEntities)(r)}`),!0;break;case"messageEntityBotCommand":if(t.noLinks||t.noCommands||o){l=!0;break}var D,S,E=r.substr(1);-1!=(S=E.indexOf("@"))?(D=E.substr(S+1),E=E.substr(0,S)):D=t.fromBot,h.push('',Object(a.encodeEntities)(r),"");break;case"messageEntityBold":if(t.noTextFormat){h.push(y(r,n.nested,t));break}h.push("",y(r,n.nested,t),"");break;case"messageEntityItalic":if(t.noTextFormat){h.push(y(r,n.nested,t));break}h.push("",y(r,n.nested,t),"");break;case"messageEntityHighlight":h.push("",y(r,n.nested,t),"");break;case"messageEntityCode":if(t.noTextFormat){h.push(Object(a.encodeEntities)(r));break}h.push("",Object(a.encodeEntities)(r),"");break;case"messageEntityPre":if(t.noTextFormat){h.push(Object(a.encodeEntities)(r));break}h.push("
",Object(a.encodeEntities)(r),"
");break;default:l=!0}p=n.offset+(l?0:n.length)}return h.push(Object(a.encodeEntities)(e.substr(p))),e=h.join("")}function x(e){for(var t=e.length,i=e.split("(").length-1,s=e.split(")").length-1;s>i&&")"===e.charAt(t-1);)e=e.substr(0,t-1),s--,t--;return i>s&&(e=e.replace(/\)+$/,"")),e}function _(e,t){var i,s;if(e.match(/^https?:\/\//i)||(e="http://"+e),2==t)e="tg://unsafe_url?url="+encodeURIComponent(e);else if(i=e.match(/^https?:\/\/t(?:elegram)?\.me\/(.+)/)){var a=i[1].split("/");switch(a[0]){case"joinchat":e="tg://join?invite="+a[1];break;case"addstickers":e="tg://addstickers?set="+a[1];break;default:if(a[1]&&a[1].match(/^\d+$/))e="tg://resolve?domain="+a[0]+"&post="+a[1];else if(1==a.length){var o=a[0].split("?"),n=o[0],r=o[1];if("iv"==n){var l=(r||"").match(/url=([^&=]+)/);if(l){e=l[1];try{e=decodeURIComponent(e)}catch(e){}return _(e,t)}}e="tg://resolve?domain="+n+(r?"&"+r:"")}}}else(s=e.match(/^https?:\/\/telesco\.pe\/([^/?]+)\/(\d+)/))?e="tg://resolve?domain="+s[1]+"&post="+s[2]:t&&(e="tg://unsafe_url?url="+encodeURIComponent(e));return e}let k={wrapRichText:w,wrapPlainText:function(e,t={}){if(d)return e;if(!e||!e.length)return"";var i,a,o=e=e.replace(/\ufe0f/g,"",e);for(e=[];i=o.match(c);)e.push(o.substr(0,i.index)),i[8]&&(s=r.emojiMap[i[8]])&&(a=l[s][1][0])?e.push(":"+a+":"):e.push(i[0]),o=o.substr(i.index+i[0].length);return e.push(o),e.join("")},wrapDraftText:function(e,t){if(!e||!e.length)return"";var i=(t=t||{}).entities;void 0===i&&(i=v(e,t));var s,a,o,n=0,r=i.length,l=[],d=0;for(n=0;nd)l.push(e.substr(d,s.offset-d));else if(s.offset"messageEntityEmoji"==e._)}):""},parseEntities:v,parseMarkdown:function(e,t,i){if(!h.test(e))return i?e:e.trim();for(var s,a,o=e,n=[],r=0;s=o.match(p);){a=r+s.index,n.push(o.substr(0,s.index)),r-=(e=s[3]||s[8]||s[11]).length,r+=(e=e.replace(/^\s+|\s+$/g,"")).length,e.match(/^`*$/)?n.push(s[0]):s[3]?("\n"==s[5]&&(s[5]="",r-=1),n.push(s[1]+e+s[5]),t.push({_:"messageEntityPre",language:"",offset:a+s[1].length,length:e.length}),r-=s[2].length+s[4].length):s[7]?(n.push(s[6]+e+s[9]),t.push({_:f[s[7]],offset:a+s[6].length,length:e.length}),r-=2*s[7].length):s[11]&&(n.push(e),t.push({_:"messageEntityMentionName",user_id:s[10],offset:a,length:e.length}),r-=s[0].length-e.length),o=o.substr(s.index+s[0].length),r+=s.index+s[0].length}return n.push(o),(n=n.join("")).replace(/\s+/g,"").length||(n=e,t.splice(0,t.length)),t.length||i||(n=n.trim()),n},parseEmojis:function(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,(function(e,t){var i=r.shortcuts[t];return void 0!==i?r.emojis[i][0]:e}))},mergeEntities:function(e,t,i){var s,o,n,r,l,d,c,u,h,p=t.slice(),m=e.length,g=t.length,f=0;for(s=0;s=c&&lc&&d<=u){i&&l>=c&&d<=u&&(void 0===r.nested&&(r.nested=[]),n.offset-=c,r.nested.push(Object(a.copy)(n))),h=!0;break}if(c>=d)break}h||p.push(n)}return p.sort((function(e,t){return e.offset-t.offset})),p},getEmojiSpritesheetCoords:b,emojiSupported:d};window.RichTextProcessor=k},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=i(3),n=s(i(6)),r=s(i(1)),l=s(i(28)),d=i(2),c=s(i(27));class u{constructor(){this.users={},this.usernames={},this.userAccess={},this.cachedPhotoLocations={},this.contactsIndex=c.default.createIndex(),r.default.getUserID().then(e=>{this.myID=e}),a.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=t?t.id:0}),setInterval(this.updateUsersStatuses.bind(this),6e4),a.$rootScope.$on("stateSynchronized",this.updateUsersStatuses.bind(this)),a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateUserStatus":var i=t.user_id;(s=this.users[i])&&(s.status=t.status,s.status&&(s.status.expires&&(s.status.expires-=l.default.serverTimeOffset),s.status.was_online&&(s.status.was_online-=l.default.serverTimeOffset)),s.sortStatus=this.getUserStatusForSort(s.status),a.$rootScope.$broadcast("user_update",i));break;case"updateUserPhoto":var s;i=t.user_id;(s=this.users[i])?(this.forceUserOnline(i),s.photo?a.safeReplaceObject(s.photo,t.photo):s.photo=t.photo,void 0!==this.cachedPhotoLocations[i]&&a.safeReplaceObject(this.cachedPhotoLocations[i],t.photo?t.photo:{empty:!0}),a.$rootScope.$broadcast("user_update",i),a.$rootScope.$broadcast("avatar_update",i)):console.warn("No user by id:",i);break;case"updateContactLink":this.onContactUpdated(t.user_id,"contactLinkContact"==t.my_link._)}})}fillContacts(){return this.contactsFillPromise?this.contactsFillPromise:this.contactsFillPromise=r.default.invokeApi("contacts.getContacts",{hash:0}).then(e=>{let t;return this.contactsList=[],this.saveApiUsers(e.users),e.contacts.forEach(e=>{t=e.user_id,this.contactsList.push(t),c.default.indexObject(t,this.getUserSearchText(t),this.contactsIndex)}),this.contactsList})}getUserSearchText(e){const t=this.users[e];if(!t)return"";const i=t.pFlags.self?"user_name_saved_msgs_raw":"";return(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")+" "+i}getContacts(e){return this.fillContacts().then(t=>{if(e){const i=c.default.search(e,this.contactsIndex),s=t.filter(e=>!!i[e]);t=s}return t.sort((e,t)=>{const i=(this.users[e]||{}).sortName||"",s=(this.users[t]||{}).sortName||"";return i.localeCompare(s)}),t})}resolveUsername(e){return this.usernames[e]||0}saveApiUsers(e){e.forEach(e=>this.saveApiUser(e))}saveApiUser(e,t){if(a.isObject(e)&&!(t&&a.isObject(this.users[e.id])&&this.users[e.id].first_name)){var i=e.id,s=this.users[i];if(void 0===e.pFlags&&(e.pFlags={}),!e.pFlags.min||void 0===s){if(e.phone&&(e.rPhone="+"+d.formatPhoneNumber(e.phone).formatted),e.first_name?(e.rFirstName=o.RichTextProcessor.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=e.last_name?o.RichTextProcessor.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0}):e.rFirstName):(e.rFirstName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_first_name_deleted",e.rFullName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_name_deleted"),e.username){var n=c.default.cleanUsername(e.username);this.usernames[n]=i}e.sortName=e.pFlags.deleted?"":c.default.cleanSearchText(e.first_name+" "+(e.last_name||""),!1);var r=e.sortName.split(" "),u=r.shift(),h=r.pop();e.initials=u.charAt(0)+(h?h.charAt(0):""),e.status&&(e.status.expires&&(e.status.expires-=l.default.serverTimeOffset),e.status.was_online&&(e.status.was_online-=l.default.serverTimeOffset)),e.pFlags.bot?e.sortStatus=-1:e.sortStatus=this.getUserStatusForSort(e.status),void 0===(s=this.users[i])?s=this.users[i]=e:a.safeReplaceObject(s,e),a.$rootScope.$broadcast("user_update",i),void 0!==this.cachedPhotoLocations[i]&&a.safeReplaceObject(this.cachedPhotoLocations[i],e&&e.photo?e.photo:{empty:!0})}}}saveUserAccess(e,t){this.userAccess[e]=t}getUserStatusForSort(e){if(e){var t=e.expires||e.was_online;if(t)return t;var i=a.tsNow(!0);switch(e._){case"userStatusRecently":return i-259200;case"userStatusLastWeek":return i-604800;case"userStatusLastMonth":return i-2592e3}}return 0}getUser(e){return a.isObject(e)?e:this.users[e]||{id:e,pFlags:{deleted:!0},access_hash:this.userAccess[e]}}getSelf(){return this.getUser(this.myID)}getUserStatusString(e){if(this.isBot(e))return"bot";let t=this.getUser(e);if(!t||!t.status)return"";let i="";switch(t.status._){case"userStatusRecently":i="last seen recently";break;case"userStatusLastWeek":i="last seen last week";break;case"userStatusLastMonth":i="last seen last month";break;case"userStatusOffline":{i="last seen ";let e=t.status.was_online,s=Date.now()/1e3;if(s-e<60)i+=" just now";else if(s-e<3600){let t=(s-e)/60|0;i+=t+" "+(1==t?"minute":"minutes")+" ago"}else if(s-e<86400){let t=(s-e)/3600|0;i+=t+" "+(1==t?"hour":"hours")+" ago"}else{let t=new Date(1e3*e);i+=("0"+t.getDate()).slice(-2)+"."+("0"+(t.getMonth()+1)).slice(-2)+" at "+("0"+t.getHours()).slice(-2)+":"+("0"+t.getMinutes()).slice(-2)}break}case"userStatusOnline":i="online"}return i}isBot(e){return this.users[e]&&this.users[e].pFlags.bot}hasUser(e,t){var i=this.users[e];return a.isObject(i)&&(t||!i.pFlags.min)}getUserPhoto(e){var t=this.getUser(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getUserString(e){var t=this.getUser(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}getUserInput(e){var t=this.getUser(e);return t.pFlags&&t.pFlags.self?{_:"inputUserSelf"}:{_:"inputUser",user_id:e,access_hash:t.access_hash||0}}updateUsersStatuses(){var e=a.tsNow(!0);for(let t in this.users){let i=this.users[t];i.status&&"userStatusOnline"==i.status._&&i.status.expires{t.push(this.getUserInput(e))}),r.default.invokeApi("contacts.deleteContacts",{id:t}).then(()=>{e.forEach(e=>{this.onContactUpdated(e,!1)})})}getTopPeers(){return r.default.invokeApi("contacts.getTopPeers",{flags:1,correspondents:!0,offset:0,limit:30,hash:0}).then(e=>(this.saveApiUsers(e.users),n.default.saveApiChats(e.chats),e.categories))}searchContacts(e,t=20){return r.default.invokeApi("contacts.search",{q:e,limit:t}).then(e=>(this.saveApiUsers(e.users),n.default.saveApiChats(e.chats),e))}onContactUpdated(e,t){if(e=parseInt(""+e),Array.isArray(this.contactsList)){var i=this.contactsList.indexOf(e);t!=(-1!=i)&&(t?(this.contactsList.push(e),c.default.indexObject(e,this.getUserSearchText(e),this.contactsIndex)):this.contactsList.splice(i,1),a.$rootScope.$broadcast("contacts_update",e))}}setUserStatus(e,t){if(!this.isBot(e)){var i=this.users[e];if(i){var s=t?{_:"userStatusOffline",was_online:a.tsNow(!0)}:{_:"userStatusOnline",expires:a.tsNow(!0)+500};i.status=s,i.sortStatus=this.getUserStatusForSort(i.status),a.$rootScope.$broadcast("user_update",e)}}}}t.AppUsersManager=u,t.default=new u},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(23)),r=a(i(6)),l=a(i(4)),d=i(3),c=i(10),u=i(75),h=a(i(19)),p=a(i(8)),m=a(i(12)),g=a(i(7)),f=a(i(28)),b=a(i(20)),v=a(i(11)),y=a(i(15)),w=a(i(24)),x=a(i(28)),_=a(i(1)),k=a(i(43)),M=i(13),D=a(i(44)),S=a(i(27));class E{constructor(){this.messagesStorage={},this.groupedMessagesStorage={},this.historiesStorage={},this.dialogsStorage={},this.pendingByRandomID={},this.pendingByMessageID={},this.pendingAfterMsgs={},this.pendingTopMsgs={},this.sendFilePromise=Promise.resolve(),this.tempID=-1,this.tempFinalizeCallbacks={},this.lastSearchFilter={},this.lastSearchResults=[],this.needSingleMessages=[],this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.maxSeenID=0,this.allDialogsLoaded={},this.dialogsOffsetDate={},this.pinnedIndex=0,this.dialogsNum=0,this.migratedFromTo={},this.migratedToFrom={},this.newMessagesHandlePromise=0,this.newMessagesToHandle={},this.newDialogsHandlePromise=0,this.newDialogsToHandle={},this.newUpdatesAfterReloadToHandle={},this.loaded=null,this.dialogsIndex=S.default.createIndex(),this.cachedResults={query:"",count:0,dialogs:[]},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),o.$rootScope.$on("webpage_updated",e=>{let t=e.detail;t.msgs.forEach(e=>{let i=this.getMessage(e);i.webpage=k.default.getWebPage(t.id),o.$rootScope.$broadcast("message_edit",{peerID:this.getMessagePeer(i),id:i.id,mid:e,justMedia:!0})})}),o.$rootScope.$on("draft_updated",e=>{let t=e.detail;var i=t.peerID,s=t.draft,a=this.getDialogByPeerID(i)[0];if(a){if(s&&s.date)l=s.date;else{var n=g.default.isChannel(i)?-i:0,l=this.getMessage(a.top_message).date;if(n){var d=r.default.getChat(n);(!l||d.date&&d.date>l)&&(l=d.date)}}a.pFlags.pinned||(a.index=this.generateDialogIndex(l)),this.pushDialogToStorage(a),o.$rootScope.$broadcast("dialog_draft",{peerID:i,draft:s,index:a.index})}}),this.loaded=new Promise((e,t)=>{m.default.get("state").then(({dialogs:t,allDialogsLoaded:i,peers:s,messages:a,maxSeenMsgID:o,updates:d})=>{if(console.log("state res",t,a),o&&!n.default.getMessageIDInfo(o)[1]&&(this.maxSeenID=o),s)for(let e in s){let t=s[e];+e<0?r.default.saveApiChat(t):l.default.saveApiUser(t)}a&&this.saveMessages(a),i&&(this.allDialogsLoaded=i),t&&t.forEachReverse(e=>{this.saveConversation(e)}),h.default.attach(null!=d?d:null),e()}).catch(e)}),setInterval(()=>this.saveState(),1e4)}saveState(){var e,t;let i=[],s=[],a={};for(let n in this.dialogsStorage)for(let r of this.dialogsStorage[n]){let n=this.historiesStorage[r.peerID],l=[].concat(null!==(e=null==n?void 0:n.pending)&&void 0!==e?e:[],null!==(t=null==n?void 0:n.history)&&void 0!==t?t:[]);r=o.copy(r);let d=0;for(let e of l){let t=this.getMessage(e);if(t.id>0){i.push(t),t.fromID!=r.peerID&&(a[t.fromID]=g.default.getPeer(t.fromID)),r.top_message=t.mid;break}t.pFlags&&t.pFlags.unread&&++d}d&&r.unread_count&&(r.unread_count-=d),s.push(r),a[r.peerID]=g.default.getPeer(r.peerID)}let n=h.default.updatesState,r={seq:n.seq,pts:n.pts,date:n.date};m.default.set({state:{dialogs:s,messages:i,allDialogsLoaded:this.allDialogsLoaded,peers:a,updates:r,maxSeenMsgID:this.maxSeenID}})}getInputEntities(e){var t=o.copy(e);return t.forEach(e=>{"messageEntityMentionName"==e._&&(e._="inputMessageEntityMentionName",e.user_id=l.default.getUserInput(e.user_id))}),t}editMessage(e,t,i={}){if("string"!=typeof t||!this.canEditMessage(e))return Promise.reject();if(e<0){return void 0===this.tempFinalizeCallbacks[e]&&(this.tempFinalizeCallbacks[e]={}),new Promise((i,s)=>{this.tempFinalizeCallbacks[e].edit=e=>{console.log("invoke callback",e),this.editMessage(e,t).then(i,s)}})}var s=[];t=d.RichTextProcessor.parseMarkdown(t,s);var a=this.getMessage(e),o=this.getMessagePeer(a),r=0;let l=i.noWebPage||!1;return l&&(r|=2),t&&(r|=2056),_.default.invokeApi("messages.editMessage",{flags:r,peer:g.default.getInputPeerByID(o),id:n.default.getMessageLocalID(e),message:t,media:a.media,entities:this.getInputEntities(s),no_webpage:l}).then(e=>{h.default.processUpdateMessage(e)},e=>{if(!e||"MESSAGE_NOT_MODIFIED"!=e.type)return e&&"MESSAGE_EMPTY"==e.type&&(e.handled=!0),Promise.reject(e);e.handled=!0})}sendText(e,t,i={}){if("string"!=typeof t)return;e=g.default.getPeerMigratedTo(e)||e;var s=i.entities||[];if(i.viaBotID||(t=d.RichTextProcessor.parseMarkdown(t,s)),!t.length)return;var a,r=this.getInputEntities(s),u=this.tempID--,p=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],m=c.bigint(p[0]).shiftLeft(32).add(c.bigint(p[1])).toString(),f=this.historiesStorage[e],b=0,v={},y=i.replyToMsgID,w=g.default.isChannel(e),k=w&&g.default.isMegagroup(e),M=!(!w||k);let D=i.noWebPage||!1;void 0===f&&(f=this.historiesStorage[e]={count:null,history:[],pending:[]});var S=l.default.getSelf().id;e!=S&&(b|=2,v.out=!0,w||l.default.isBot(e)||(b|=1,v.unread=!0)),y&&(b|=8),M?(S=0,v.post=!0):b|=256,a={_:"message",id:u,from_id:S,to_id:g.default.getOutputPeer(e),flags:b,pFlags:v,date:o.tsNow(!0)+x.default.serverTimeOffset,message:t,random_id:m,reply_to_msg_id:y,via_bot_id:i.viaBotID,reply_markup:i.reply_markup,entities:s,views:M&&1,pending:!0},i.webPage&&(a.media={_:"messageMediaWebPage",webpage:i.webPage});var E=e=>{e?a.error=!0:delete a.error,o.$rootScope.$broadcast("messages_pending")};a.send=()=>{E(!1);var s={};this.pendingAfterMsgs[e]&&(s.afterMessageID=this.pendingAfterMsgs[e].messageID);var o,l=0;y&&(l|=1),M&&(l|=16),i.clearDraft&&(l|=128),D&&(l|=2),i.viaBotID?o=_.default.invokeApi("messages.sendInlineBotResult",{flags:l,peer:g.default.getInputPeerByID(e),random_id:p,reply_to_msg_id:n.default.getMessageLocalID(y),query_id:i.queryID,id:i.resultID},s):(r.length&&(l|=8),o=_.default.invokeApi("messages.sendMessage",{flags:l,no_webpage:D,peer:g.default.getInputPeerByID(e),message:t,random_id:p,reply_to_msg_id:n.default.getMessageLocalID(y),entities:r},s)),o.then(e=>{"updateShortSentMessage"==e._?(a.flags=e.flags,a.date=e.date,a.id=e.id,a.media=e.media,a.entities=e.entities,e={_:"updates",users:[],chats:[],seq:0,updates:[{_:"updateMessageID",random_id:m,id:e.id},{_:w?"updateNewChannelMessage":"updateNewMessage",message:a,pts:e.pts,pts_count:e.pts_count}]}):e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),h.default.processUpdateMessage(e)},()=>{E(!0)}).finally(()=>{this.pendingAfterMsgs[e]===s&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=s},this.saveMessages([a]),f.pending.unshift(u),o.$rootScope.$broadcast("history_append",{peerID:e,messageID:u,my:!0}),setTimeout(()=>a.send(),0),this.pendingByRandomID[m]=[e,u]}sendFile(e,t,i={}){var s;e=g.default.getPeerMigratedTo(e)||e;var a,r,u=this.tempID--,m=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],x=c.bigint(m[0]).shiftLeft(32).add(c.bigint(m[1])).toString(),k=null!==(s=this.historiesStorage[e])&&void 0!==s?s:this.historiesStorage[e]={count:null,history:[],pending:[]},D=0,S={},E=i.replyToMsgID,I=g.default.isChannel(e),X=I&&g.default.isMegagroup(e),P=!(!I||X);let L="mime_type"in t?t.mime_type:t.type,C=t instanceof File?t.name:"",T=!(t instanceof File||t instanceof Blob),A=i.caption||"",j=o.tsNow(!0)+f.default.serverTimeOffset;if(A){let e=i.entities||[];A=d.RichTextProcessor.parseMarkdown(A,e)}let F=[],B="";if(i.isMedia)if(T)a="document",r="";else if(["image/jpeg","image/png","image/bmp"].indexOf(L)>=0){a="photo",r="photo."+L.split("/")[1],B="sendMessageUploadPhotoAction";let e={_:"photo",id:""+u,sizes:[{_:"photoSize",w:i.width,h:i.height,type:"m",size:t.size}],w:i.width,h:i.height,downloaded:t.size,url:i.objectURL||""};p.default.savePhoto(e)}else if(0===L.indexOf("audio/")||["video/ogg"].indexOf(L)>=0)a="audio",r="audio."+("ogg"==L.split("/")[1]?"ogg":"mp3"),B="sendMessageUploadAudioAction";else if(0===L.indexOf("video/")){a="video",r="video.mp4",B="sendMessageUploadVideoAction";let e=1;i.isRoundMessage&&(e|=2);let s={_:"documentAttributeVideo",flags:e,pFlags:{supports_streaming:!0,round_message:i.isRoundMessage},round_message:i.isRoundMessage,supports_streaming:!0,duration:i.duration,w:i.width,h:i.height};F.push(s);let o={_:"document",id:""+u,duration:i.duration,attributes:F,w:i.width,h:i.height,downloaded:t.size,thumbs:[],mime_type:L,url:i.objectURL||"",size:t.size};v.default.saveDoc(o)}else a="document",r="document."+L.split("/")[1],B="sendMessageUploadDocumentAction";else a="document",r="document."+L.split("/")[1],B="sendMessageUploadDocumentAction";console.log("AMM: sendFile",a,r,t.type,i);var R=l.default.getSelf().id;e!=R&&(D|=2,S.out=!0,I||l.default.isBot(e)||(D|=1,S.unread=!0)),E&&(D|=8),P?(R=0,S.post=!0):D|=256;let U=new w.default(null,!0);var O={_:"messageMediaPending",type:a,file_name:C||r,size:t.size,file:t,preloader:U,w:i.width,h:i.height,url:i.objectURL,progress:{percent:1,total:t.size,done:0,cancel:()=>{}}};F.push({_:"documentAttributeFilename",file_name:O.file_name}),U.preloader.onclick=()=>{console.log("cancelling upload",O),y.default.setTyping("sendMessageCancelAction"),O.progress.cancel()};var z={_:"message",id:u,from_id:R,to_id:g.default.getOutputPeer(e),flags:D,pFlags:S,date:j,message:A,media:T?{_:"messageMediaDocument",pFlags:{},flags:1,document:t}:O,random_id:x,reply_to_msg_id:E,views:P&&1,pending:!0},N=e=>{e?z.error=!0:delete z.error,o.$rootScope.$broadcast("messages_pending")},H=!1,q=null;let $=(t,s)=>(y.default.setTyping("sendMessageCancelAction"),_.default.invokeApi("messages.sendMedia",{flags:t,background:i.background,clear_draft:!0,peer:g.default.getInputPeerByID(e),media:s,message:A,random_id:m,reply_to_msg_id:n.default.getMessageLocalID(E)}).then(e=>{h.default.processUpdateMessage(e)},e=>{if("photo"==a&&400==e.code&&("PHOTO_INVALID_DIMENSIONS"==e.type||"PHOTO_SAVE_FILE_INVALID"==e.type))return e.handled=!0,a="document",void z.send();N(!0)}));z.send=()=>{let s=0;if(E&&(s|=1),i.background&&(s|=64),s|=128,T){let{id:e,access_hash:i,file_reference:a}=t;$(s,{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:e,access_hash:i,file_reference:a}})}else if(t instanceof File||t instanceof Blob){let i=M.deferredPromise();this.sendFilePromise.then(()=>{H&&!z.error||(H=!1,q=b.default.uploadFile(t)),q&&q.then(e=>{var t;switch(console.log("appMessagesManager: sendFile uploaded:",e),e.name=r,H=!0,a){case"photo":t={_:"inputMediaUploadedPhoto",flags:0,file:e};break;default:t={_:"inputMediaUploadedDocument",file:e,mime_type:L,attributes:F}}$(s,t)},()=>{N(!0)}),q.notify=t=>{console.log("upload progress",t),O.progress.done=t.done,O.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),y.default.setTyping({_:B,progress:0|O.progress.percent}),U.setProgress(O.progress.percent),o.$rootScope.$broadcast("history_update",{peerID:e})},O.progress.cancel=()=>{H||(i.resolve(),q.cancel(),this.cancelPendingMessage(x))},q.finally(()=>{i.resolve(),U.detach()})}),this.sendFilePromise=i}},this.saveMessages([z]),k.pending.unshift(u),o.$rootScope.$broadcast("history_append",{peerID:e,messageID:u,my:!0}),setTimeout(z.send.bind(this),0),this.pendingByRandomID[x]=[e,u]}sendAlbum(e,t,i={}){var a;return s(this,void 0,void 0,(function*(){let s;e=g.default.getPeerMigratedTo(e)||e;let r=null!==(a=this.historiesStorage[e])&&void 0!==a?a:this.historiesStorage[e]={count:null,history:[],pending:[]},u=0,m={},x=i.replyToMsgID,k=g.default.isChannel(e),D=k&&g.default.isMegagroup(e),S=!(!k||D),E=i.caption||"",I=o.tsNow(!0)+f.default.serverTimeOffset;if(E){let e=i.entities||[];E=d.RichTextProcessor.parseMarkdown(E,e)}console.log("AMM: sendAlbum",t,i);let X=l.default.getSelf().id;e!=X&&(m.out=!0,k||l.default.isBot(e)||(m.unread=!0)),x&&(u|=1),S?(X=0,m.post=!0):u|=128;let P=t.map(()=>this.tempID--).reverse();s=P[P.length-1];let L=t.map((t,a)=>{let o=P[a],n=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],l=c.bigint(n[0]).shiftLeft(32).add(c.bigint(n[1])).toString(),d=new w.default(null,!0),h=i.sendFileDetails[a],f={_:"messageMediaPending",type:"album",preloader:d,progress:{percent:1,total:t.size,done:0,cancel:()=>{}},document:void 0,photo:void 0};if(0===t.type.indexOf("video/")){let e={_:"document",id:""+o,attributes:[{_:"documentAttributeVideo",flags:1,pFlags:{supports_streaming:!0,round_message:!1},round_message:!1,supports_streaming:!0,duration:h.duration,w:h.width,h:h.height}],downloaded:t.size,thumbs:[],mime_type:t.type,url:h.objectURL||"",size:t.size};v.default.saveDoc(e),f.document=e}else{let e={_:"photo",id:""+o,sizes:[{_:"photoSize",w:h.width,h:h.height,type:"m",size:t.size}],w:h.width,h:h.height,downloaded:t.size,url:h.objectURL||""};p.default.savePhoto(e),f.photo=e}d.preloader.onclick=()=>{console.log("cancelling upload",f),y.default.setTyping("sendMessageCancelAction"),f.progress.cancel()};let b={_:"message",id:o,from_id:X,grouped_id:s,to_id:g.default.getOutputPeer(e),flags:u,pFlags:m,date:I,message:E,media:f,random_id:l,randomID:n,reply_to_msg_id:x,views:S&&1,pending:!0,error:!1};return this.saveMessages([b]),r.pending.unshift(o),this.pendingByRandomID[l]=[e,o],b});o.$rootScope.$broadcast("history_append",{peerID:e,messageID:L[L.length-1].id,my:!0});let C=(e,t)=>{t?e.error=!0:delete e.error,o.$rootScope.$broadcast("messages_pending")},T=!1,A=null,j=g.default.getInputPeerByID(e),F=[];for(let s=0,a=t.length;s{console.log("upload progress",t),r.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),y.default.setTyping({_:d,progress:0|r.progress.percent}),l.setProgress(r.progress.percent),o.$rootScope.$broadcast("history_update",{peerID:e})},yield A.then(e=>{let t;console.log("appMessagesManager: sendAlbum file uploaded:",e);let o=i.sendFileDetails[s];return t=o.duration?{_:"inputMediaUploadedDocument",flags:0,file:e,mime_type:a.type,attributes:[{_:"documentAttributeVideo",flags:2,supports_streaming:!0,duration:o.duration,w:o.width,h:o.height}]}:{_:"inputMediaUploadedPhoto",flags:0,file:e},_.default.invokeApi("messages.uploadMedia",{peer:j,media:t}).then(e=>{let t;if(e.photo){let i=e.photo;p.default.savePhoto(i),t=p.default.getInputByID(i.id)}else{let i=e.document;v.default.saveDoc(i),t=v.default.getMediaInputByID(i.id)}F.push({_:"inputSingleMedia",flags:0,media:t,random_id:n.randomID,message:E,entities:[]}),E=""},()=>{C(n,!0)})},()=>{C(n,!0)}),console.log("appMessagesManager: sendAlbum uploadPromise.finally!"),c.resolve(),l.detach()}var B;T=!0,B=F,y.default.setTyping("sendMessageCancelAction"),_.default.invokeApi("messages.sendMultiMedia",{flags:u,peer:j,multi_media:B,reply_to_msg_id:n.default.getMessageLocalID(x)}).then(e=>{h.default.processUpdateMessage(e)},e=>{L.forEach(e=>C(e,!0))})}))}cancelPendingMessage(e){var t=this.pendingByRandomID[e];if(console.log("cancelPendingMessage",e,t),t){var i=t[0],s=t[1],a=this.historiesStorage[i],o=a.pending.indexOf(s);return h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:[s]}}),-1!=o&&a.pending.splice(o,1),delete this.messagesStorage[s],!0}return!1}getConversations(e="",t,i=20,s=0){var a;let o=null!==(a=this.dialogsStorage[s])&&void 0!==a?a:this.dialogsStorage[s]=[];if(e){if(!i||this.cachedResults.query!==e){this.cachedResults.query=e;const t=S.default.search(e,this.dialogsIndex);this.cachedResults.dialogs=[];for(const e in this.dialogsStorage){this.dialogsStorage[e].forEach(e=>{t[e.peerID]&&this.cachedResults.dialogs.push(e)})}this.cachedResults.count=this.cachedResults.dialogs.length}o=this.cachedResults.dialogs}else this.cachedResults.query="";let n=0;if(t>0)for(;no[n].index);n++);return e||this.allDialogsLoaded[s]||o.length>=n+i?Promise.resolve({dialogs:o.slice(n,n+i),count:o.length}):this.getTopMessages(i,s).then(e=>{if(n=0,t>0)for(;no[n].index);n++);return{dialogs:o.slice(n,n+i),count:e}})}getTopMessages(e,t){const i=this.dialogsStorage[t];let s=0,a=0,d=0;return this.dialogsOffsetDate[t]&&(s=this.dialogsOffsetDate[t]+x.default.serverTimeOffset,a=65536*this.dialogsOffsetDate[t]),d|=2,_.default.invokeApi("messages.getDialogs",{flags:2,folder_id:t,offset_date:s,offset_id:n.default.getMessageLocalID(0),offset_peer:g.default.getInputPeerByID(0),limit:e,hash:0},{timeout:0}).then(e=>{s||u.telegramMeWebService.setAuthorized(!0),l.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var n=!!s,d=!1;let c=e.dialogs.length,h={};for(let t=c-1;t>=0;--t){let i=e.dialogs[t];this.saveConversation(i),a&&i.index>a&&(this.newDialogsToHandle[i.peerID]=i,d=!0),i.read_inbox_max_id||i.read_outbox_max_id||(h[i.peerID]=i),n||g.default.isChannel(g.default.getPeerID(i.peer))||(this.incrementMaxSeenID(i.top_message),n=!0)}return Object.keys(h).length&&this.reloadConversation(Object.keys(h).map(e=>+e)).then(()=>{o.$rootScope.$broadcast("dialogs_multiupdate",h);for(let e in h)o.$rootScope.$broadcast("dialog_unread",{peerID:+e})}),(!e.dialogs.length||!e.count||i.length>=e.count)&&(this.allDialogsLoaded[t]=!0),d?this.scheduleHandleNewDialogs():o.$rootScope.$broadcast("dialogs_multiupdate",{}),e.count})}forwardMessages(e,t,i={}){e=g.default.getPeerMigratedTo(e)||e,t=t.sort((e,t)=>e-t);var s=0;i.withMyScore&&(s|=256);let a=n.default.splitMessageIDsByChannels(t),o=[];for(let t in a.msgIDs){let i=a.msgIDs[t],n=i.length,r=[];for(let e=0;e{h.default.processUpdateMessage(e)},()=>{}).then(()=>{this.pendingAfterMsgs[e]===l&&delete this.pendingAfterMsgs[e]});this.pendingAfterMsgs[e]=l,o.push(d)}return Promise.all(o)}generateDialogIndex(e){return void 0===e&&(e=o.tsNow(!0)+x.default.serverTimeOffset),65536*e+(65535&++this.dialogsNum)}generateIndexForDialog(e){const t=g.default.isChannel(e.peerID)?-e.peerID:0,i=n.default.getFullMessageID(e.top_message,t);let s=this.getMessage(i).date;if(t){const e=r.default.getChat(t);(!s||e.date&&e.date>s)&&(s=e.date)}const a={};a&&a.date>s&&(s=a.date),e.pFlags.pinned&&0==e.folder_id&&(s=this.generateDialogPinnedDate(e)),e.index=this.generateDialogIndex(s)}pushDialogToStorage(e,t){var i;let s=null!==(i=this.dialogsStorage[e.folder_id])&&void 0!==i?i:this.dialogsStorage[e.folder_id]=[],a=s.findIndex(t=>t.peerID==e.peerID);if(-1!==a&&s.splice(a,1),t&&!e.pFlags.pinned&&(!this.dialogsOffsetDate[e.folder_id]||t=s[0].index)s.unshift(e);else for(let t=0;ts[t].index){s.splice(t,0,e);break}}getMessage(e){return this.messagesStorage[e]||{_:"messageEmpty",deleted:!0,pFlags:{out:!1,unread:!1}}}getMessagePeer(e){var t=e.to_id&&g.default.getPeerID(e.to_id)||0;return t<0||e.pFlags&&e.pFlags.out||2&e.flags?t:e.from_id}getDialogByPeerID(e){let t=this.dialogsStorage;for(let i in t){let s=t[i].findIndex(t=>t.peerID==e);if(-1!==s)return[t[i][s],s]}return[]}reloadConversation(e){let t=[].concat(e).map(e=>g.default.getInputPeerByID(e));return console.log("will reloadConversation",e),_.default.invokeApi("messages.getPeerDialogs",{peers:t}).then(this.applyConversations.bind(this))}doFlushHistory(e,t){let i=0;return t&&(i|=1),_.default.invokeApi("messages.deleteHistory",{flags:i,peer:e,max_id:0}).then(i=>(h.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:i.pts,pts_count:i.pts_count}}),!i.offset||this.doFlushHistory(e,t)))}flushHistory(e,t){return s(this,void 0,void 0,(function*(){if(g.default.isChannel(e)){let t=this.getHistory(e,0,1),i=t instanceof Promise?yield t:t,s=-e,a=n.default.getMessageLocalID(i.history[0]||0);return _.default.invokeApi("channels.deleteHistory",{channel:r.default.getChannelInput(s),max_id:a}).then(()=>(h.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelAvailableMessages",channel_id:s,available_min_id:a}}),!0))}return this.doFlushHistory(g.default.getInputPeerByID(e),t).then(()=>{delete this.historiesStorage[e];for(let t in this.messagesStorage){this.messagesStorage[t].peerID==e&&delete this.messagesStorage[t]}if(t)o.$rootScope.$broadcast("dialog_flush",{peerID:e});else{let t=this.getDialogByPeerID(e);t[0]&&this.dialogsStorage[t[0].folder_id].splice(t[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:e})}})}))}saveMessages(e,t={}){e.forEach(e=>{var i;if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"==e._)return;const s=this.getMessagePeer(e),a="peerChannel"==e.to_id._,o=a?-s:0,c=a&&r.default.isBroadcast(o),u=n.default.getFullMessageID(e.id,o);if(e.mid=u,e.grouped_id){(null!==(i=this.groupedMessagesStorage[e.grouped_id])&&void 0!==i?i:this.groupedMessagesStorage[e.grouped_id]={})[u]=e}const h=this.getDialogByPeerID(s)[0];h&&u>0?e.pFlags.unread=u>h[e.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]:t.isNew&&(e.pFlags.unread=!0),e.reply_to_msg_id&&(e.reply_to_mid=n.default.getFullMessageID(e.reply_to_msg_id,o)),e.date-=x.default.serverTimeOffset,e.peerID=s,e.fromID=e.pFlags.post?s:e.from_id;const m=e.fwd_from;if(m){if(s==l.default.getSelf().id){if(m.saved_from_peer&&m.saved_from_msg_id){const t=g.default.getPeerID(m.saved_from_peer),i=n.default.getFullMessageID(m.saved_from_msg_id,g.default.isChannel(t)?-t:0);e.savedFrom=t+"_"+i}e.fromID=m.channel_id?-m.channel_id:m.from_id}else e.fwdPostID=m.channel_post;e.fwdFromID=m.channel_id?-m.channel_id:m.from_id,m.date-=x.default.serverTimeOffset}e.via_bot_id>0&&(e.viaBotID=e.via_bot_id);const f={user_id:e.fromID,date:e.date};if(e.media)switch(e.media._){case"messageMediaEmpty":delete e.media;break;case"messageMediaPhoto":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.photo=p.default.savePhoto(e.media.photo,f);break;case"messageMediaPoll":e.media.poll=D.default.savePoll(e.media.poll,e.media.results);break;case"messageMediaDocument":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.document=v.default.saveDoc(e.media.document,f);break;case"messageMediaWebPage":k.default.saveWebPage(e.media.webpage,e.mid,f);break;case"messageMediaInvoice":e.media={_:"messageMediaUnsupportedWeb"};break;case"messageMediaGeoLive":e.media._="messageMediaGeo"}if(e.action){let t,i;switch(e.action._){case"messageActionChatEditPhoto":e.action.photo=p.default.savePhoto(e.action.photo,f),c&&(e.action._="messageActionChannelEditPhoto");break;case"messageActionChatEditTitle":c&&(e.action._="messageActionChannelEditTitle");break;case"messageActionChatDeletePhoto":c&&(e.action._="messageActionChannelDeletePhoto");break;case"messageActionChatAddUser":1==e.action.users.length?(e.action.user_id=e.action.users[0],e.fromID==e.action.user_id&&(e.action._=a?"messageActionChatJoined":"messageActionChatReturn")):e.action.users.length>1&&(e.action._="messageActionChatAddUsers");break;case"messageActionChatDeleteUser":e.fromID==e.action.user_id&&(e.action._="messageActionChatLeave");break;case"messageActionChannelMigrateFrom":t=-e.action.chat_id,i=-o;break;case"messageActionChatMigrateTo":t=-o,i=-e.action.channel_id;break;case"messageActionHistoryClear":e.deleted=!0,e.clear_history=!0,e.pFlags.out=!1,e.pFlags.unread=!1;break;case"messageActionPhoneCall":delete e.fromID,e.action.type=(e.pFlags.out?"out_":"in_")+("phoneCallDiscardReasonMissed"==e.action.reason._||"phoneCallDiscardReasonBusy"==e.action.reason._?"missed":"ok")}t&&i&&!this.migratedFromTo[t]&&!this.migratedToFrom[i]&&this.migrateChecks(t,i)}if(e.rReply=this.getRichReplyText(e),e.message&&e.message.length){const t=d.RichTextProcessor.parseEntities(e.message),i=e.entities||[];e.totalEntities=d.RichTextProcessor.mergeEntities(t,i,!e.pending)}e.canBeEdited=this.canMessageBeEdited(e),t.isEdited||(this.messagesStorage[u]=e)})}getRichReplyText(e,t=e.message){let i="";if(e.media)if(e.grouped_id)i+="Album"+(e.message?", ":"")+"";else switch(e.media._){case"messageMediaPhoto":i+="Photo"+(e.message?", ":"")+"";break;case"messageMediaGeo":i+="Geolocation";break;case"messageMediaPoll":i+=""+e.media.poll.rReply+"";break;case"messageMediaContact":i+="Contact";break;case"messageMediaDocument":let t=e.media.document;i="video"==t.type?"Video"+(e.message?", ":"")+"":"voice"==t.type?"Voice message":"gif"==t.type?"GIF"+(e.message?", ":"")+"":"round"==t.type?"Video message"+(e.message?", ":"")+"":"sticker"==t.type?(t.stickerEmoji||"")+"Sticker":""+t.file_name+""}if(e.action){let t=e.action,s="";if(t.message)s=d.RichTextProcessor.wrapRichText(t.message,{noLinebreaks:!0});else{let e="",i=t._;if("messageActionPhoneCall"==i){i+="."+t.type;let s=t.duration;if(s){let t=[];t.push(s%60+" s"),s>=60&&t.push((s/60|0)+" min"),e=" ("+t.reverse().join(" ")+")"}}s=o.langPack[i]+e}console.log("message action:",t),i=""+s+""}let s="";if(t){let e=d.RichTextProcessor.parseEntities(t.replace(/\n/g," "),{noLinebreakers:!0});s=d.RichTextProcessor.wrapRichText(t,{noLinebreakers:!0,entities:e,noTextFormat:!0})}return i+s}editPeerFolders(e,t){_.default.invokeApi("folders.editPeerFolders",{folder_peers:e.map(e=>({_:"inputFolderPeer",peer:g.default.getInputPeerByID(e),folder_id:t}))}).then(e=>{console.log("editPeerFolders updates:",e),h.default.processUpdateMessage(e)})}toggleDialogPin(e){var t;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let s={_:"inputDialogPeer",peer:g.default.getInputPeerByID(e)},a=(null===(t=i.pFlags)||void 0===t?void 0:t.pinned)?0:1;return _.default.invokeApi("messages.toggleDialogPin",{flags:a,peer:s}).then(e=>{this.handleUpdate({_:"updateDialogPinned",peer:s,pFlags:{pinned:a}})})}markDialogUnread(e){var t;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let s={_:"inputDialogPeer",peer:g.default.getInputPeerByID(e)},a=(null===(t=i.pFlags)||void 0===t?void 0:t.unread_mark)?0:1;return _.default.invokeApi("messages.markDialogUnread",{flags:a,peer:s}).then(e=>{this.handleUpdate({_:"updateDialogUnreadMark",peer:s,pFlags:{unread:a}})})}migrateChecks(e,t){if(!this.migratedFromTo[e]&&!this.migratedToFrom[t]&&r.default.hasChat(-t)){var i=r.default.getChat(-e);i&&i.migrated_to&&i.migrated_to.channel_id==-t&&(this.migratedFromTo[e]=t,this.migratedToFrom[t]=e,setTimeout(()=>{var i=this.getDialogByPeerID(e);i.length&&(this.dialogsStorage[i[0].folder_id].splice(i[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:e,dialog:i[0]})),o.$rootScope.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:t})},100))}}canMessageBeEdited(e){return!("message"!=e._||e.deleted||e.fwd_from||e.via_bot_id||e.media&&-1==["messageMediaPhoto","messageMediaDocument","messageMediaWebPage","messageMediaPending"].indexOf(e.media._)||e.fromID&&l.default.isBot(e.fromID))&&(!e.media||"messageMediaDocument"!=e.media._||!e.media.document.sticker)}canEditMessage(e){if(!this.messagesStorage[e])return!1;const t=this.messagesStorage[e];return!(!t||!t.canBeEdited)&&(this.getMessagePeer(t)==l.default.getSelf().id||!(t.date{const s=g.default.getPeerID(e.peer);let a=e.top_message;const n=this.pendingTopMsgs[s];if(n&&(!a||this.getMessage(n).date>this.getMessage(a).date)&&(e.top_message=a=n),a){const a=this.getDialogByPeerID(s)[0];a&&a.pFlags&&a.pFlags.pinned&&(e.pFlags||(e.pFlags={}),e.pFlags.pinned=!0,e.pinnedIndex=a.pinnedIndex),this.saveConversation(e),a?o.$rootScope.$broadcast("dialog_top",e):(t[s]=e,i=!0)}else{const e=this.getDialogByPeerID(s);e.length&&(this.dialogsStorage[e[0].folder_id].splice(e[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:e[0]}))}if(void 0!==this.newUpdatesAfterReloadToHandle[s]){for(const e in this.newUpdatesAfterReloadToHandle[s]){const t=this.newUpdatesAfterReloadToHandle[s][e];this.handleUpdate(t)}delete this.newUpdatesAfterReloadToHandle[s]}}),i&&o.$rootScope.$broadcast("dialogs_multiupdate",t)}saveConversation(e){const t=g.default.getPeerID(e.peer);if(!t)return!1;const i=g.default.isChannel(t)?-t:0,s=g.default.getPeerSearchText(t);let a,d;if(S.default.indexObject(t,s,this.dialogsIndex),e.top_message?(a=n.default.getFullMessageID(e.top_message,i),d=this.getMessage(a)):(a=this.tempID--,d={_:"message",id:a,mid:a,from_id:l.default.getSelf().id,to_id:g.default.getOutputPeer(t),deleted:!0,flags:0,pFlags:{unread:!1,out:!0},date:0,message:""},this.saveMessages([d])),!i&&t<0){const e=r.default.getChat(-t);if(e&&e.migrated_to&&e.pFlags.deactivated){const i=g.default.getPeerID(e.migrated_to);return this.migratedFromTo[t]=i,void(this.migratedToFrom[i]=t)}}if(e.top_message=a,e.read_inbox_max_id=n.default.getFullMessageID(e.read_inbox_max_id,i),e.read_outbox_max_id=n.default.getFullMessageID(e.read_outbox_max_id,i),e.hasOwnProperty("folder_id")||(e.folder_id=0),e.peerID=t,this.generateIndexForDialog(e),this.pushDialogToStorage(e,d.date),d.mid>0&&(d.mid>e[d.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]?d.pFlags.unread=!0:d.pFlags.unread=!1),void 0===this.historiesStorage[t]){const i={count:null,history:[],pending:[]};i[a>0?"history":"pending"].push(a),a<0&&d.pFlags.unread&&e.unread_count++,this.historiesStorage[t]=i,this.mergeReplyKeyboard(i,d)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:t})}i&&e.pts&&h.default.addChannelState(i,e.pts)}mergeReplyKeyboard(e,t){if(!t.reply_markup&&!t.pFlags.out&&!t.action)return!1;if(t.reply_markup&&"replyInlineMarkup"==t.reply_markup._)return!1;var i=t.reply_markup,s=e.reply_markup;if(i)return!(s&&s.mid>=t.mid)&&(!(i.pFlags.selective&&!(16&t.flags))&&(e.maxOutID&&t.mids.mid||t.mid<0)&&t.message)return s.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return!(!t.action||"messageActionChatDeleteUser"!=t.action._||!(s?t.action.user_id==s.fromID:l.default.isBot(t.action.user_id)))&&(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0)}getSearch(e=0,t="",i={_:"inputMessagesFilterEmpty"},s,a,d=0,c=0){var u,h=[],p=!t,m={peer:e,filter:i},b=p&&o.deepEqual(this.lastSearchFilter,m);if(p&&!b&&(this.lastSearchFilter=m,this.lastSearchResults=[]),e&&!s&&!t){var v=this.historiesStorage[e];if(void 0!==v&&v.history.length){var y,w,x={},k=a||20;switch(i._){case"inputMessagesFilterPhotos":x.messageMediaPhoto=!0;break;case"inputMessagesFilterPhotoVideo":x.messageMediaPhoto=!0,x.messageMediaDocument=!0,y="video";break;case"inputMessagesFilterVideo":x.messageMediaDocument=!0,y="video";break;case"inputMessagesFilterDocument":x.messageMediaDocument=!0,y=!1;break;case"inputMessagesFilterVoice":x.messageMediaDocument=!0,y="voice";break;case"inputMessagesFilterRoundVideo":x.messageMediaDocument=!0,y="round";break;case"inputMessagesFilterMusic":x.messageMediaDocument=!0,y="audio";break;case"inputMessagesFilterUrl":x.url=!0;break;case"inputMessagesFilterMyMentions":x.mentioned=!0;break;default:return Promise.resolve({count:0,next_rate:0,history:[]})}for(let e=0;e=k)break}}if(h.length=k));e++);}}if(h.length||1e3==a)return p&&(this.lastSearchResults=o.listMergeSorted(this.lastSearchResults,h)),Promise.resolve({count:0,next_rate:0,history:h});if(e||!t)u=_.default.invokeApi("messages.search",{flags:0,peer:g.default.getInputPeerByID(e),q:t||"",filter:i||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:a,offset_id:n.default.getMessageLocalID(s)||0,add_offset:c?-c:0,max_id:0,min_id:0},{timeout:0,noErrorBox:!0});else{var D=0,S=0,E=s&&this.getMessage(s);E&&E.date&&(E.date+f.default.serverTimeOffset,S=E.id,D=this.getMessagePeer(E)),u=_.default.invokeApi("messages.searchGlobal",{q:t,offset_rate:d,offset_peer:g.default.getInputPeerByID(D),offset_id:n.default.getMessageLocalID(S),limit:a||20},{timeout:0,noErrorBox:!0})}return u.then(e=>{l.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var t=e.count||e.messages.length;return h=[],e.messages.forEach(e=>{var t=this.getMessagePeer(e);if(t<0){var i=r.default.getChat(-t);i.migrated_to&&this.migrateChecks(t,-i.migrated_to.channel_id)}h.push(e.mid)}),p&&(!s||b&&this.lastSearchResults.indexOf(s)>=0)&&(this.lastSearchResults=o.listMergeSorted(this.lastSearchResults,h)),{count:t,next_rate:e.next_rate,history:h}},e=>(400==e.code&&(e.handled=!0),Promise.reject(e)))}generateDialogPinnedDate(e){let t;return e?e.hasOwnProperty("pinnedIndex")?t=e.pinnedIndex:e.pinnedIndex=t=this.pinnedIndex++:t=this.pinnedIndex++,t>this.pinnedIndex&&(this.pinnedIndex=t),2147483392+(255&t)}handleNewMessages(){clearTimeout(this.newMessagesHandlePromise),this.newMessagesHandlePromise=0,o.$rootScope.$broadcast("history_multiappend",this.newMessagesToHandle),this.newMessagesToHandle={}}handleNewDialogs(){clearTimeout(this.newDialogsHandlePromise),this.newDialogsHandlePromise=0;let e=0;for(let t in this.newDialogsToHandle){let i=this.newDialogsToHandle[t];"reload"in i?(this.reloadConversation(+t),delete this.newDialogsToHandle[t]):(this.pushDialogToStorage(i),g.default.isChannel(+t)||(e=Math.max(e,i.top_message||0)))}0!=e&&this.incrementMaxSeenID(e),o.$rootScope.$broadcast("dialogs_multiupdate",this.newDialogsToHandle),this.newDialogsToHandle={}}scheduleHandleNewDialogs(){this.newDialogsHandlePromise||(this.newDialogsHandlePromise=window.setTimeout(this.handleNewDialogs.bind(this),0))}deleteMessages(e,t){const i=n.default.splitMessageIDsByChannels(e),s=[];for(const e in i.msgIDs){const a=+e;let o,n=i.msgIDs[a];if(a>0){const e=r.default.getChat(a);if(!(e.pFlags.creator||e.pFlags.editor&&e.pFlags.megagroup)){const t=[];if((e.pFlags.editor||e.pFlags.megagroup)&&n.forEach((e,s)=>{this.getMessage(i.mids[a][s]).pFlags.out&&t.push(e)}),!t.length)return;n=t}o=_.default.invokeApi("channels.deleteMessages",{channel:r.default.getChannelInput(a),id:n}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:a,messages:n,pts:e.pts,pts_count:e.pts_count}})})}else{let e=0;t&&(e|=1),o=_.default.invokeApi("messages.deleteMessages",{flags:e,id:n}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:n,pts:e.pts,pts_count:e.pts_count}})})}s.push(o)}return Promise.all(s)}readHistory(e,t=0,i=0){const s=g.default.isChannel(e),a=this.historiesStorage[e],n=this.getDialogByPeerID(e)[0];if(!n||!n.unread_count){if(!a||!a.history.length)return Promise.resolve(!1);if(!!!a.history.find(e=>{const t=this.messagesStorage[e];return t&&!t.pFlags.out&&t.pFlags.unread}))return Promise.resolve(!1)}if(a.readPromise)return a.readPromise;let l;return l=s?_.default.invokeApi("channels.readHistory",{channel:r.default.getChannelInput(-e),max_id:t}):_.default.invokeApi("messages.readHistory",{peer:g.default.getInputPeerByID(e),max_id:t}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),a.readPromise=l.then(()=>{let s=-1;0!=t&&a.history.length&&(s=a.history.indexOf(t));let r=1;if(a.history.length&&t)for(let e=-1==s?0:s,i=a.history.length;et)continue;const s=this.messagesStorage[i];s&&!s.pFlags.out&&(s.pFlags.unread=!1,r++)}return!!n&&(a.history.length&&(n.read_inbox_max_id=t),n.read_inbox_max_id==n.top_message||n.read_inbox_max_id==n.read_outbox_max_id?n.unread_count=0:n.unread_count=Math.max(n.unread_count-(i||r),0),console.log("readHistory set unread_count to:",n.unread_count,n),o.$rootScope.$broadcast("dialog_unread",{peerID:e,count:n.unread_count}),o.$rootScope.$broadcast("messages_read"),!0)}).finally(()=>{delete a.readPromise}),a.readPromise}readMessages(e){var t=n.default.splitMessageIDsByChannels(e);Object.keys(t.msgIDs).forEach(e=>{e=+e;let i=t.msgIDs[e];e>0?_.default.invokeApi("channels.readMessageContents",{channel:r.default.getChannelInput(e),id:i}).then(()=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelReadMessagesContents",channel_id:e,messages:i}})}):_.default.invokeApi("messages.readMessageContents",{id:i}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:i,pts:e.pts,pts_count:e.pts_count}})})})}handleUpdate(e){switch(console.log("AMM: handleUpdate:",e._),e._){case"updateMessageID":var t=e.random_id,i=this.pendingByRandomID[t];if(i){var s=i[0],a=i[1],d=g.default.isChannel(s)?-s:0,c=n.default.getFullMessageID(e.id,d);if(h=this.messagesStorage[c]){var u=(p=this.historiesStorage[s]).pending.indexOf(a);-1!=u&&p.pending.splice(u,1),delete this.messagesStorage[a],this.finalizePendingMessageCallbacks(a,c)}else this.pendingByMessageID[c]=t}break;case"updateNewMessage":case"updateNewChannelMessage":var h=e.message,p=(s=this.getMessagePeer(h),this.historiesStorage[s]);if(!(S=this.getDialogByPeerID(s)).length){this.newDialogsToHandle[s]={reload:!0},this.scheduleHandleNewDialogs(),void 0===this.newUpdatesAfterReloadToHandle[s]&&(this.newUpdatesAfterReloadToHandle[s]=[]),this.newUpdatesAfterReloadToHandle[s].push(e);break}if("updateNewChannelMessage"==e._){var m=r.default.getChat(-s);if(m.pFlags&&(m.pFlags.left||m.pFlags.kicked))break}if(this.saveMessages([h],{isNew:!0}),void 0===p&&(p=this.historiesStorage[s]={count:null,history:[],pending:[]}),-1!=(T=h.mid>0?p.history:p.pending).indexOf(h.mid))return!1;var f,b=T[0];T.unshift(h.mid),h.mid>0&&h.midt-e),h.mid>0&&null!==p.count&&p.count++,this.mergeReplyKeyboard(p,h)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:s}),!h.pFlags.out&&h.from_id&&l.default.forceUserOnline(h.from_id),(t=this.pendingByMessageID[h.mid])&&((f=this.finalizePendingMessage(t,h))&&o.$rootScope.$broadcast("history_update",{peerID:s,mid:h.mid}),delete this.pendingByMessageID[h.mid]),f||(void 0===this.newMessagesToHandle[s]&&(this.newMessagesToHandle[s]=[]),this.newMessagesToHandle[s].push(h.mid),this.newMessagesHandlePromise||(this.newMessagesHandlePromise=window.setTimeout(this.handleNewMessages.bind(this),0)));var v=!h.pFlags.out&&h.pFlags.unread;(y=S[0]).top_message=h.mid,v&&y.unread_count++,y.pFlags.pinned&&y.index||(y.index=this.generateDialogIndex(h.date)),this.newDialogsToHandle[s]=y,this.scheduleHandleNewDialogs();break;case"updateDialogUnreadMark":{console.log("updateDialogUnreadMark",e);let t=g.default.getPeerID(e.peer.peer),i=this.getDialogByPeerID(t);if(i.length){let t=i[0];e.pFlags.unread?t.pFlags.unread_mark=!0:delete t.pFlags.unread_mark,o.$rootScope.$broadcast("dialogs_multiupdate",{peerID:t})}else this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs();break}case"updateFolderPeers":{console.log("updateFolderPeers",e);let t=e.folder_peers;this.scheduleHandleNewDialogs(),t.forEach(e=>{let{folder_id:t,peer:i}=e,s=g.default.getPeerID(i),a=this.getDialogByPeerID(s);if(a.length){let e=a[0];this.newDialogsToHandle[s]=e,this.dialogsStorage[e.folder_id].splice(a[1],1),e.folder_id=t,this.generateIndexForDialog(e),this.pushDialogToStorage(e)}else this.newDialogsToHandle[s]={reload:!0}});break}case"updateDialogPinned":{console.log("updateDialogPinned",e);let t=g.default.getPeerID(e.peer.peer),i=this.getDialogByPeerID(t);if(this.scheduleHandleNewDialogs(),!i.length){this.newDialogsToHandle[t]={reload:!0};break}{let s=i[0];this.newDialogsToHandle[t]=s,e.pFlags.pinned?s.pFlags.pinned=!0:(delete s.pFlags.pinned,delete s.pinnedIndex),this.generateIndexForDialog(s)}break}case"updatePinnedDialogs":{console.log("updatePinnedDialogs",e);let t={};if(!e.order){_.default.invokeApi("messages.getPinnedDialogs",{}).then(e=>{e.dialogs.reverse(),this.applyConversations(e),e.dialogs.forEach(e=>{t[e.peerID]=!0}),this.dialogsStorage[0].forEach(e=>{let i=e.peerID;e.pFlags.pinned&&!t[i]&&(this.newDialogsToHandle[i]={reload:!0},this.scheduleHandleNewDialogs())})});break}this.pinnedIndex=0;let i=!1;e.order.reverse(),e.order.forEach(e=>{let s=g.default.getPeerID(e.peer);t[s]=!0;let a=this.getDialogByPeerID(s);if(!a.length)return this.newDialogsToHandle[s]={reload:!0},void(i=!0);let o=a[0];delete o.pinnedIndex,o.pFlags.pinned=!0,this.generateIndexForDialog(o),this.newDialogsToHandle[s]=o,i=!0}),this.dialogsStorage[0].forEach(e=>{let s=e.peerID;e.pFlags.pinned&&!t[s]&&(this.newDialogsToHandle[s]={reload:!0},i=!0)}),i&&this.scheduleHandleNewDialogs();break}case"updateEditMessage":case"updateEditChannelMessage":h=e.message,s=this.getMessagePeer(h),d="peerChannel"==h.to_id._?-s:0,c=n.default.getFullMessageID(h.id,d);if(void 0===this.messagesStorage[c])break;this.saveMessages([h],{isEdited:!0}),o.safeReplaceObject(this.messagesStorage[c],h);var y,w=(y=this.getDialogByPeerID(s)[0])&&y.top_message==c;if(h.clear_history)w&&o.$rootScope.$broadcast("dialog_flush",{peerID:s});else if(o.$rootScope.$broadcast("message_edit",{peerID:s,id:h.id,mid:c,justMedia:!1}),w){var k={};k[s]=y,o.$rootScope.$broadcast("dialogs_multiupdate",k)}break;case"updateReadHistoryInbox":case"updateReadHistoryOutbox":case"updateReadChannelInbox":case"updateReadChannelOutbox":var M="updateReadHistoryOutbox"==e._||"updateReadChannelOutbox"==e._,D=(d=e.channel_id,n.default.getFullMessageID(e.max_id,d)),S=(s=d?-d:g.default.getPeerID(e.peer),this.getDialogByPeerID(s)),E=0,I=(T=(this.historiesStorage[s]||{}).history||[]).length,X=!1;for(s>0&&M&&l.default.forceUserOnline(s),L=0;LD)&&(h=this.messagesStorage[R])&&h.pFlags.out==M){if(!h.pFlags.unread)break;h&&h.pFlags.unread&&(h.pFlags.unread=!1,X||(X=!0),h.pFlags.out||S[0]&&(E=--S[0].unread_count))}S[0]&&(!M&&E&&S[0].top_message<=D&&(E=S[0].unread_count=0),S[0][M?"read_outbox_max_id":"read_inbox_max_id"]=D),o.$rootScope.$broadcast("dialog_unread",{peerID:s,count:E}),X&&o.$rootScope.$broadcast("messages_read");break;case"updateChannelReadMessagesContents":d=e.channel_id;var P=[];e.messages.forEach(e=>{P.push(n.default.getFullMessageID(e,d))}),e.messages=P;case"updateReadMessagesContents":var L,C=(A=e.messages).length;for(L=0;L{(!e.available_min_id||n.default.getMessageLocalID(t)<=e.available_min_id)&&A.push(t)}),e.messages=A;case"updateDeleteMessages":case"updateDeleteChannelMessages":{let t={},i=e.channel_id;for(let s=0;s{let i=t[+e],s=this.historiesStorage[e];if(void 0!==s){let t=[],a=[];for(let e=0;e0&&(s.count-=i.count,s.count<0&&(s.count=0));for(let e=0;e0;!("channel"!=j._||!j.username&&(j.pFlags.left||j.pFlags.kicked))!=(void 0!==this.historiesStorage[s])&&(delete this.historiesStorage[s],o.$rootScope.$broadcast("history_forbidden",s)),B!=F&&(F?this.reloadConversation(-d):S[0]&&(this.dialogsStorage[S[0].folder_id].splice(S[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:S[0]})));break;case"updateChannelReload":{let t=e.channel_id,i=-t,s=this.getDialogByPeerID(i);s[0]&&this.dialogsStorage[s[0].folder_id].splice(s[1],1),delete this.historiesStorage[i],this.reloadConversation(-t).then(()=>{o.$rootScope.$broadcast("history_reload",i)});break}case"updateChannelMessageViews":{let t=e.views,i=n.default.getFullMessageID(e.id,e.channel_id),s=this.getMessage(i);s&&s.views&&s.views{e(t)}),delete this.tempFinalizeCallbacks[e]),o.$rootScope.$broadcast("message_sent",{tempID:e,mid:t})}incrementMaxSeenID(e){if(!e||this.maxSeenID&&!(e>this.maxSeenID))return!1;m.default.set({max_seen_msg:e}),_.default.invokeApi("messages.receivedMessages",{max_id:e})}getHistory(e,t=0,i,s){var a;this.migratedFromTo[e]&&(e=this.migratedFromTo[e]);const o=null!==(a=this.historiesStorage[e])&&void 0!==a?a:this.historiesStorage[e]={count:null,history:[],pending:[]};let r=0,l=!1,d=!1,c=e;if(this.migratedToFrom[e]&&(d=!0,t&&t0)for(l=!0;ro.history[r]){l=!1;break}if(!l&&(null!==o.count&&o.history.length==o.count||o.history.length>=r+i)){s?(s=Math.min(r,s),r=Math.max(0,r-s),i+=s):i=i;let e=o.history.slice(r,r+i);return!t&&o.pending.length&&(e=o.pending.slice().concat(e)),this.wrapHistoryResult({count:o.count,history:e,unreadOffset:0,unreadSkip:!1})}return l&&(r=0),(s||t)&&-1==o.history.indexOf(t)?(s&&(r=-s,i+=s),this.requestHistory(c,t,i,r).then(e=>{o.count=e.count||e.messages.length,d&&o.count++;let i=[];return e.messages.forEach(e=>{i.push(e.mid)}),!t&&o.pending.length&&(i=o.pending.slice().concat(i)),this.wrapHistoryResult({count:o.count,history:i,unreadOffset:0,unreadSkip:!1})})):this.fillHistoryStorage(e,t,i,o).then(()=>{if(r=0,t>0)for(r=0;ro.history[r]);r++);var e=o.history.slice(r,r+i);return!t&&o.pending.length&&(e=o.pending.slice().concat(e)),this.wrapHistoryResult({count:o.count,history:e,unreadOffset:0,unreadSkip:!1})})}fillHistoryStorage(e,t,i,s){const a=this.migratedFromTo[e]&&!t?1:0;return this.requestHistory(e,t,i,a).then(a=>{s.count=a.count||a.messages.length,!t&&a.messages.length&&(t=a.messages[0].mid+1);let n=0;if(t>0)for(;ns.history[n]);n++);const r=s.history.length;s.history.splice(n,s.history.length-n),a.messages.forEach(t=>{this.mergeReplyKeyboard(s,t)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:e}),s.history.push(t.mid)});const l=s.history.length;i-=l-r;const d=this.migratedFromTo[e],c=this.migratedToFrom[e],u=void 0!==d||void 0!==c;if(u&&(s.count=Math.max(s.count,l)+1),i>0){if(t=s.history[l-1],u){if(!a.messages.length){if(!c)return s.count=l,!0;t=0,e=c}return this.fillHistoryStorage(e,t,i,s)}if(l=0;t--){const i=this.messagesStorage[e.history[t]];if(i&&!i.pFlags.out&&i.pFlags.unread){e.unreadOffset=t+1;break}}return e}requestHistory(e,t,i,s=0){const a=g.default.isChannel(e);return o.$rootScope.$broadcast("history_request"),_.default.invokeApi("messages.getHistory",{peer:g.default.getInputPeerByID(e),offset_id:t?n.default.getMessageLocalID(t):0,offset_date:0,add_offset:s||0,limit:i||0,max_id:0,min_id:0,hash:0},{timeout:0,noErrorBox:!0}).then(o=>{console.log("requestHistory result:",o,t,i,s),l.default.saveApiUsers(o.users),r.default.saveApiChats(o.chats),this.saveMessages(o.messages),a&&h.default.addChannelState(-e,o.pts);let n=o.messages.length;n&&o.messages[n-1].deleted&&(o.messages.splice(n-1,1),n--,o.count--);const d=this.historiesStorage[e];return n&&o.messages[n-1].grouped_id&&d.history.length+o.messages.lengtho):o},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(-e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},h.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-e}],chats:[t],users:[]})}throw t})}fetchSingleMessages(){if(this.fetchSingleMessagesPromise)return this.fetchSingleMessagesPromise;var e=this.needSingleMessages.slice();this.needSingleMessages.length=0;var t=n.default.splitMessageIDsByChannels(e);let i=[];return Object.keys(t.msgIDs).forEach(e=>{e=+e;let s=t.msgIDs[e].map(e=>({_:"inputMessageID",id:e}));var a;a=e>0?_.default.invokeApi("channels.getMessages",{channel:r.default.getChannelInput(e),id:s}):_.default.invokeApi("messages.getMessages",{id:s}),i.push(a.then(i=>{l.default.saveApiUsers(i.users),r.default.saveApiChats(i.chats),this.saveMessages(i.messages),o.$rootScope.$broadcast("messages_downloaded",t.mids[+e])}))}),this.fetchSingleMessagesPromise=Promise.all(i).then(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()}).catch(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()})}wrapSingleMessage(e){return this.messagesStorage[e]?(o.$rootScope.$broadcast("messages_downloaded",[e]),{mid:e,loading:!1}):-1==this.needSingleMessages.indexOf(e)?(this.needSingleMessages.push(e),0==this.fetchSingleMessagesTimeout&&(this.fetchSingleMessagesTimeout=window.setTimeout(this.fetchSingleMessages.bind(this),10)),{mid:e,loading:!0}):{mid:e,loading:!1}}}t.AppMessagesManager=E,t.default=new E},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=i(3),r=a(i(4)),l=a(i(1)),d=a(i(19)),c=a(i(16)),u=a(i(27));class h{constructor(){this.chats={},this.usernames={},this.channelAccess={},this.megagroups={},this.cachedPhotoLocations={},this.megagroupOnlines={},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChannel":var i=t.channel_id;o.$rootScope.$broadcast("channel_settings",{channelID:i})}})}saveApiChats(e){e.forEach(e=>this.saveApiChat(e))}saveApiChat(e){if(!o.isObject(e))return;e.rTitle=e.title||"chat_title_deleted",e.rTitle=n.RichTextProcessor.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"chat_title_deleted";let t=this.chats[e.id],i=u.default.cleanSearchText(e.title||"",!1).split(" "),s=i.shift(),a=i.pop();if(e.initials=s.charAt(0)+(a?a.charAt(0):""),void 0===e.pFlags&&(e.pFlags={}),e.pFlags.min&&void 0!==t)return;if("channel"==e._&&void 0===e.participants_count&&void 0!==t&&t.participants_count&&(e.participants_count=t.participants_count),e.username){let t=u.default.cleanUsername(e.username);this.usernames[t]=e.id}let r=!1;if(void 0===t)t=this.chats[e.id]=e;else{let i=t.photo&&t.photo.photo_small,s=e.photo&&e.photo.photo_small;JSON.stringify(i)!==JSON.stringify(s)&&(r=!0),o.safeReplaceObject(t,e),o.$rootScope.$broadcast("chat_update",e.id)}void 0!==this.cachedPhotoLocations[e.id]&&o.safeReplaceObject(this.cachedPhotoLocations[e.id],e&&e.photo?e.photo:{empty:!0}),r&&o.$rootScope.$broadcast("avatar_update",-e.id)}getChat(e){return e<0&&(e=-e),this.chats[e]||{id:e,deleted:!0,access_hash:this.channelAccess[e]}}hasRights(e,t){var i,s;const a=this.getChat(e);if(!a)return!1;if("chatForbidden"==a._||"channelForbidden"==a._||a.pFlags.kicked||a.pFlags.left)return!1;if(a.pFlags.creator)return!0;let o=null!==(s=null===(i=a.admin_rights||a.banned_rights||a.default_banned_rights)||void 0===i?void 0:i.pFlags)&&void 0!==s?s:{};switch(t){case"send":if("channel"==a._&&!a.pFlags.megagroup&&!o.post_messages)return!1;break;case"deleteRevoke":if("channel"==a._)return!!o.delete_messages;if(!a.pFlags.admin)return!1;break;case"pin":if("channel"==a._)return a.admin_rights?!!o.pin_messages||!!o.post_messages:!o.pin_messages;if(o.pin_messages&&!a.pFlags.admin)return!1;break;case"edit_title":case"edit_photo":case"invite":if("channel"==a._){if(!a.pFlags.megagroup)return!1;if("invite"!=t||!a.pFlags.democracy)return!1}else if(a.pFlags.admins_enabled&&!a.pFlags.admin)return!1}return!0}resolveUsername(e){return this.usernames[e]||0}saveChannelAccess(e,t){this.channelAccess[e]=t}saveIsMegagroup(e){this.megagroups[e]=!0}isChannel(e){let t=this.chats[e];return!((!t||"channel"!=t._&&"channelForbidden"!=t._)&&!this.channelAccess[e])}isMegagroup(e){if(this.megagroups[e])return!0;let t=this.chats[e];return!(!t||"channel"!=t._||!t.pFlags.megagroup)}isBroadcast(e){return this.isChannel(e)&&!this.isMegagroup(e)}getChannelInput(e){return e?{_:"inputChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputChannelEmpty"}}getChatInputPeer(e){return{_:"inputPeerChat",chat_id:e}}getChannelInputPeer(e){return e?{_:"inputPeerChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputPeerEmpty"}}hasChat(e,t){let i=this.chats[e];return o.isObject(i)&&(t||!i.pFlags.min)}getChatPhoto(e){let t=this.getChat(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getChatString(e){let t=this.getChat(e);return this.isChannel(e)?(this.isMegagroup(e)?"s":"c")+e+"_"+t.access_hash:"g"+e}getChatMembersString(e){var t;const i=this.getChat(e),s=this.isBroadcast(e),a=i.participants_count||(null===(t=i.participants)||void 0===t?void 0:t.participants.length)||0;return o.numberWithCommas(a)+" "+(s?"subscribers":"members")}wrapForFull(e,t){let i=o.copy(t),s=this.getChat(e);return i.participants_count||(i.participants_count=s.participants_count),i.participants&&"chatParticipants"==i.participants._&&(i.participants.participants=this.wrapParticipants(e,i.participants.participants)),i.about&&(i.rAbout=n.RichTextProcessor.wrapRichText(i.about,{noLinebreaks:!0})),i.peerString=this.getChatString(e),i.chat=s,i}wrapParticipants(e,t){let i=this.getChat(e),s=r.default.getSelf().id;if(this.isChannel(e)){let e=i.pFlags.creator;t.forEach(t=>{t.canLeave=s==t.user_id,t.canKick=e&&"channelParticipant"==t._,t.user=r.default.getUser(t.user_id)})}else{let e=i.pFlags.creator||i.pFlags.admins_enabled&&i.pFlags.admin;t.forEach(t=>{t.canLeave=s==t.user_id,t.canKick=!t.canLeave&&(i.pFlags.creator||"chatParticipant"==t._&&(e||s==t.inviter_id)),t.user=r.default.getUser(t.user_id)})}return t}createChannel(e,t){return l.default.invokeApi("channels.createChannel",{flags:1,broadcast:!0,title:e,about:t}).then(e=>(d.default.processUpdateMessage(e),e.chats[0].id))}inviteToChannel(e,t){let i=this.getChannelInput(e),s=t.map(e=>r.default.getUserInput(e));return l.default.invokeApi("channels.inviteToChannel",{channel:i,users:s}).then(e=>{d.default.processUpdateMessage(e)})}createChat(e,t){return l.default.invokeApi("messages.createChat",{users:t.map(e=>r.default.getUserInput(e)),title:e}).then(e=>(d.default.processUpdateMessage(e),e.chats[0].id))}editPhoto(e,t){let i={_:"inputChatUploadedPhoto",file:t};return this.isChannel(e)?l.default.invokeApi("channels.editPhoto",{channel:this.getChannelInputPeer(e),photo:i}).then(e=>{d.default.processUpdateMessage(e)}):l.default.invokeApi("messages.editChatPhoto",{chat_id:e,photo:i}).then(e=>{d.default.processUpdateMessage(e)})}getOnlines(e){var t,i;return s(this,void 0,void 0,(function*(){if(this.isMegagroup(e)){let s=Date.now()/1e3|0,a=null!==(t=this.megagroupOnlines[e])&&void 0!==t?t:this.megagroupOnlines[e]={timestamp:0,onlines:1};if(s-a.timestamp<60)return a.onlines;let o=yield l.default.invokeApi("messages.getOnlines",{peer:this.getChannelInputPeer(e)}),n=null!==(i=o.onlines)&&void 0!==i?i:1;return a.timestamp=s,a.onlines=n,n}if(this.isBroadcast(e))return 1;let s=c.default.getChatFull(e);if("chatFull"==s._&&s.participants&&s.participants.participants){return s.participants.participants.reduce((e,t)=>{let i=r.default.getUser(t.user_id);return i&&i.status&&"userStatusOnline"==i.status._?e+1:e},0)}return 1}))}}t.AppChatsManager=h,t.default=new h},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(4)),o=s(i(6)),n=i(0),r=i(3),l=["#c03d33","#4fad2d","#d09306","#168acd","#8544d6","#cd4073","#2996ad","#ce671b"],d=["#e17076","#7bc862","#e5ca77","#65AADD","#a695e7","#ee7aae","#6ec9cb","#faa774"],c=[0,7,4,1,6,3,5],u={getPeerPhoto:e=>e>0?a.default.getUserPhoto(e):o.default.getChatPhoto(-e),getPeerMigratedTo:e=>{if(e>=0)return!1;let t=o.default.getChat(-e);return!!(t&&t.migrated_to&&t.pFlags.deactivated)&&u.getPeerID(t.migrated_to)},getPeerTitle:(e,t=!1,i=!1)=>{let s={};s=n.isObject(e)?e:u.getPeer(e);let a="";return e>0?(s.first_name&&(a+=s.first_name),s.last_name&&(a+=" "+s.last_name),a=a?a.trim():s.pFlags.deleted?"Deleted account":s.username):a=s.title,i&&(a=a.split(" ")[0]),t?a:r.RichTextProcessor.wrapEmojiText(a)},getOutputPeer:e=>{if(e>0)return{_:"peerUser",user_id:e};let t=-e;return o.default.isChannel(t)?{_:"peerChannel",channel_id:t}:{_:"peerChat",chat_id:t}},getPeerString:e=>e>0?a.default.getUserString(e):o.default.getChatString(-e),getPeerUsername:e=>e>0?a.default.getUser(e).username||"":o.default.getChat(-e).username||"",getPeer:e=>e>0?a.default.getUser(e):o.default.getChat(-e),getPeerID:e=>{if(n.isObject(e))return e.user_id?e.user_id:-(e.channel_id||e.chat_id);let t="u"==e.charAt(0),i=e.substr(1).split("_");return t?i[0]:-i[0]||0},isChannel:e=>e<0&&o.default.isChannel(-e),isMegagroup:e=>e<0&&o.default.isMegagroup(-e),isAnyGroup:e=>e<0&&!o.default.isBroadcast(-e),isBroadcast:e=>u.isChannel(e)&&!u.isMegagroup(e),isBot:e=>e>0&&a.default.isBot(e),getInputPeer:e=>{var t=e.charAt(0),i=e.substr(1).split("_");let s=+i[0];return"u"==t?(a.default.saveUserAccess(s,i[1]),{_:"inputPeerUser",user_id:s,access_hash:i[1]}):"c"==t||"s"==t?(o.default.saveChannelAccess(s,i[1]),"s"==t&&o.default.saveIsMegagroup(s),{_:"inputPeerChannel",channel_id:s,access_hash:i[1]||0}):{_:"inputPeerChat",chat_id:s}},getInputPeerByID:e=>{if(!e)return{_:"inputPeerEmpty"};if(e<0){let t=-e;return o.default.isChannel(t)?o.default.getChannelInputPeer(t):o.default.getChatInputPeer(t)}return{_:"inputPeerUser",user_id:e,access_hash:a.default.getUser(e).access_hash||0}},getPeerColorByID:(e,t=!0)=>(t?d:l)[c[(e<0?-e:e)%7]],getPeerSearchText:e=>{let t;if(e>0)t="%pu "+a.default.getUserSearchText(e);else if(e<0){t="%pg "+(o.default.getChat(-e).title||"")}return t}};t.default=u},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(4)),o=i(0),n=s(i(26)),r=i(10),l=s(i(20)),d=s(i(1));class c{constructor(){this.photos={},this.documentThumbsCache={},this.windowW=0,this.windowH=0,window.addEventListener("resize",e=>{this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}),this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}savePhoto(e,t){return this.photos[e.id]?this.photos[e.id]:(e.id?this.photos[e.id]=e:console.warn("no apiPhoto.id",e),e)}choosePhotoSize(e,t=0,i=0){window.devicePixelRatio>1&&(t*=2,i*=2);let s={_:"photoSizeEmpty"},a=e.sizes||e.thumbs;if(a)for(let e of a){if(!e.w||!e.h)continue;s=e;let{w:a,h:n}=o.calcImageInBox(e.w,e.h,t,i);if(a==t||n==i)break}return s}getUserPhotos(e,t,i){var s=a.default.getUserInput(e);return d.default.invokeApi("photos.getUserPhotos",{user_id:s,offset:0,limit:i||20,max_id:t||0}).then(t=>{a.default.saveApiUsers(t.users);for(var i=[],s={user_id:e},o=0;o{t.style.backgroundImage="url("+a+")"}),t}if(t instanceof HTMLImageElement)return t.src=a,t;{let e=new Image;return e.src=a,t.append(e),e}}setAttachmentSize(e,t,i=480,s=480,a=!1){let n=null;if("string"==typeof e){if(n=this.photos[e],!n)return{_:"photoEmpty"}}else n=e;let r,l,d=this.choosePhotoSize(n,i,s),c=n.sizes||n.thumbs;!n.downloaded&&!a&&c&&c[0].bytes&&this.setAttachmentPreview(c[0].bytes,t,a),"document"==n._?(r=n.w||512,l=n.h||512):(r=d.w||100,l=d.h||100);let{w:u,h:h}=o.calcImageInBox(r,l,i,s);return t instanceof SVGForeignObjectElement?(t.setAttributeNS(null,"width",""+u),t.setAttributeNS(null,"height",""+h)):(t.style.width=u+"px",t.style.height=h+"px"),d}preloadPhoto(e,t){var i;let s=this.getPhoto(e);if(!t){let e=this.windowW,i=this.windowH;t=this.choosePhotoSize(s,e,i)}let a="document"==s._,o=a?null!==(i=this.documentThumbsCache[s.id])&&void 0!==i?i:this.documentThumbsCache[s.id]={downloaded:-1,url:""}:s;if(o.downloaded>=t.size&&o.url)return Promise.resolve();if(!t||"photoSizeEmpty"==t._)return console.error("no photoSize by photo:",s),Promise.reject("no photoSize");let n,r=t.size&&s.access_hash&&s.file_reference,d=r?{_:a?"inputDocumentFileLocation":"inputPhotoFileLocation",id:s.id,access_hash:s.access_hash,file_reference:s.file_reference,thumb_size:t.type}:t.location;return n=r?l.default.downloadFile(s.dc_id,d,t.size):l.default.downloadSmallFile(d),n.then(e=>{(!o.downloaded||o.downloaded{console.log("ready"),l.default.downloadFile(t.dc_id,d,r.size,{mimeType:i,toFileEntry:e}).then(()=>{e.close(),console.log("file save done",s,"jpg",i,e)},e=>{console.log("photo download failed",e)})})}catch(e){console.error("err",e);var c=l.default.getCachedFile(d);if(c)return n.default.download(c,i,s);l.default.downloadFile(t.dc_id,d,r.size,{mimeType:i}).then(e=>{n.default.download(e,i,s)},e=>{console.log("photo download failed",e)})}}}t.AppPhotosManager=c,c.jf=new Uint8Array(r.bytesFromHex("ffd8ffe000104a46494600010100000100010000ffdb004300281c1e231e19282321232d2b28303c64413c37373c7b585d4964918099968f808c8aa0b4e6c3a0aadaad8a8cc8ffcbdaeef5ffffff9bc1fffffffaffe6fdfff8ffdb0043012b2d2d3c353c76414176f8a58ca5f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8ffc00011080000000003012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00")),c.Df=r.bytesFromHex("ffd9"),t.default=new c},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(13),o=s(i(68));window.__forceSmoothScrollPolyfill__=!0,o.default.polyfill();t.default=class{constructor(e,t="y",i="",s=e,o=300,n=15){if(this.el=e,this.appendTo=s,this.onScrollOffset=o,this.splitCount=n,this.onScrolledTop=null,this.onScrolledBottom=null,this.onScrollMeasure=null,this.lastScrollTop=0,this.disableHoverTimeout=0,this.debug=!1,this.virtualTempIDTop=0,this.virtualTempIDBottom=0,this.lastTopID=0,this.lastBottomID=0,this.lastScrollDirection=0,this.onScrolledTopFired=!1,this.onScrolledBottomFired=!1,this.scrollLocked=0,this.container=document.createElement("div"),this.container.classList.add("scrollable"),this.visible=new Set,this.observer=new IntersectionObserver(e=>{let t=e.filter(e=>e.isIntersecting);if(e.forEach(e=>{let t=e.target;if(e.isIntersecting)this.setVisible(t),this.debug&&this.log("intersection entry:",e,this.lastTopID,this.lastBottomID);else{let i=+t.dataset.virtual;e.boundingClientRect.top<0?this.lastTopID=i+1:this.lastBottomID=i-1}}),!t.length||0===this.lastScrollDirection)return;if(1===this.lastScrollDirection){let e=t[t.length-1].target;this.lastBottomID=+e.dataset.virtual;for(let t=0;ts)&&this.setHidden(e)}}),s||(this.appendTo=this.container),this.log=a.logger("SCROLL"+(i?"-"+i:"")),"x"==t){this.container.classList.add("scrollable-x");let e=e=>{e=window.event||e;var t=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));this.container.scrollLeft-=20*t,e.preventDefault()};this.container.addEventListener?(this.container.addEventListener("mousewheel",e,!1),this.container.addEventListener("DOMMouseScroll",e,!1)):this.container.attachEvent("onmousewheel",e)}else{if("y"!=t)throw new Error("no side for scroll");this.container.classList.add("scrollable-y")}window.addEventListener("resize",()=>this.onScroll()),this.container.addEventListener("scroll",()=>this.onScroll(),{passive:!0,capture:!0}),Array.from(e.children).forEach(e=>this.container.append(e)),e.append(this.container)}setVisible(e){this.visible.has(e)||(this.debug&&this.log("setVisible id:",e.dataset.virtual),e.firstElementChild.style.display="",this.visible.add(e))}setHidden(e){this.visible.has(e)&&(this.debug&&this.log("setHidden id:",e.dataset.virtual),e.firstElementChild.style.display="none",this.visible.delete(e))}setVirtualContainer(e){this.splitUp=e,this.lastScrollTop=0,this.log("setVirtualContainer:",e,this)}onScroll(){let e=this.splitUp||this.appendTo;clearTimeout(this.disableHoverTimeout),this.el!=this.appendTo&&this.appendTo!=this.container&&(e.classList.contains("disable-hover")||e.classList.add("disable-hover")),this.disableHoverTimeout=setTimeout(()=>{e.classList.remove("disable-hover"),this.lastScrollDirection=0},100),this.onScrollMeasure||(this.onScrollMeasure=window.requestAnimationFrame(()=>{if(this.checkForTriggers(),this.onScrollMeasure=0,!this.splitUp)return;let e=this.container.scrollTop;this.lastScrollTop!=e?(this.lastScrollDirection=this.lastScrollTop{e.dataset.virtual=""+t})}updateElement(e){e.style.minHeight="",window.requestAnimationFrame(()=>{let t=e.scrollHeight;window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"})})}prepareElement(e,t=!0){e.dataset.virtual=""+(t?this.virtualTempIDBottom++:this.virtualTempIDTop--),this.debug&&this.log("prepareElement: prepared"),window.requestAnimationFrame(()=>{let{scrollHeight:t}=e;this.debug&&this.log("prepareElement: first rAF"),window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"}),this.visible.add(e),this.observer.observe(e)})}prepend(e,t=!0){t&&this.prepareElement(e,!1),this.splitUp?this.splitUp.prepend(e):this.appendTo.prepend(e)}append(e,t=!0){t&&this.prepareElement(e),this.splitUp?this.splitUp.append(e):this.appendTo.append(e)}contains(e){return this.splitUp?!!e.parentElement:this.appendTo.contains(e)}scrollIntoView(e,t=!0){if(e.parentElement&&!this.scrollLocked){let i=e.classList.contains("is-first-unread"),s=e.getBoundingClientRect().top-this.container.getBoundingClientRect().top;if(s=this.container.scrollTop+s,!t&&i)return void this.scrollTo(s,!1);s-=(this.container.clientHeight-e.scrollHeight)/2,this.scrollTo(s,t)}}scrollTo(e,t=!0,i=!1){if(this.scrollLocked&&!i)return;this.scrollTop!=Math.floor(e)&&(this.scrollLocked&&clearTimeout(this.scrollLocked),this.scrollLocked=setTimeout(()=>{this.scrollLocked=0,this.onScroll()},468),this.container.scrollTo({behavior:t?"smooth":"auto",top:e}))}removeElement(e){e.remove()}set scrollTop(e){this.container.scrollTop=e}get scrollTop(){return this.container.scrollTop}get scrollHeight(){return this.container.scrollHeight}get length(){return this.appendTo.childElementCount}}},function(e,t,i){"use strict"; +var s=Date.now();function a(){return"["+((Date.now()-s)/1e3).toFixed(3)+"]"}function o(e,t){return!!e&&(e==(t=t||document.body)||o(e.parentNode,t))}function n(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t{"user_update"!=e&&console.log(a(),"Broadcasting "+e+" event, with args:",t);let i=new CustomEvent(e,{detail:t});document.dispatchEvent(i)},$on:(e,t)=>{document.addEventListener(e,t)},selectedPeerID:0,myID:0,idle:{isIDLE:!1}};var h=function(e,t,i,s,a,o,n){return[e,",",t," ",i," ",s,",",a," ",o,",",n].join("")};function p(e,t,i,s,a,o,n,r){var l=[];return l.push("M"+(e+i/2)+","+t),l.push("H"+(e+i-o)),o>0&&l.push("A"+h(o,o,0,0,1,e+i,t+o)),l.push("V"+(t+s-n)),n>0&&l.push("A"+h(n,n,0,0,1,e+i-n,t+s)),l.push("H"+(e+r)),r>0&&l.push("A"+h(r,r,0,0,1,e+0,t+s-r)),l.push("V"+(t+a)),a>0&&l.push("A"+h(a,a,0,0,1,e+a,t+0)),l.push("Z"),l.join(" ")}const m={messageActionChatCreate:"created the group",messageActionChatEditTitle:"changed group name",messageActionChatEditPhoto:"changed group photo",messageActionChatDeletePhoto:"removed group photo",messageActionChatReturn:"returned to group",messageActionChatJoined:"joined the group",messageActionChatAddUser:"invited {user}",messageActionChatAddUsers:"invited {} users",messageActionChatLeave:"left the group",messageActionChatDeleteUser:"removed user",messageActionChatJoinedByLink:"joined the group",messageActionPinMessage:"pinned message",messageActionContactSignUp:"joined Telegram",messageActionChannelCreate:"Channel created",messageActionChannelEditTitle:"Channel renamed",messageActionChannelEditPhoto:"Channel photo updated",messageActionChannelDeletePhoto:"Channel photo removed",messageActionHistoryClear:"History cleared","messageActionPhoneCall.in_ok":"Incoming Call","messageActionPhoneCall.out_ok":"Outgoing Call","messageActionPhoneCall.in_missed":"Missed Call","messageActionPhoneCall.out_missed":"Cancelled Call"},g=e=>(e=e.replace("_raw",""),m[e]?m[e]:e);function f(e){return"object"==typeof e&&null!==e}function b(e){var t=+new Date;return e?Math.floor(t/1e3):t}function v(e,t){for(var i in e)t.hasOwnProperty(i)||"$"==i.charAt(0)||delete e[i];for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])}function y(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")}function w(e,t){if(e.classList.contains(t))return e;for(;e.parentElement;)if((e=e.parentElement).classList.contains(t))return e;return null}function x(e,t){if(e.tagName==t)return e;for(;e.parentElement;)if((e=e.parentElement).tagName===t)return e;return null}function _(e){let t=0;for(;null!=(e=e.previousElementSibling);)++t;return t}function k(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){var t=[];return e.forEach((function(e){t.push(k(e))})),t}let i=new e.constructor;for(var s in e)e.hasOwnProperty(s)&&(i[s]=k(e[s]));return i}function M(e,t=2){if(0===e)return"0 Bytes";const i=t<0?0:t,s=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,s)).toFixed(i))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][s]}function D(e,t=2){if(0===e)return"0";const i=t<0?0:t,s=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,s)).toFixed(i))+["","K","M","B","T"][s]}function S(e,t){const i=Object.keys,s=typeof e;return e&&t&&"object"===s&&s===typeof t?i(e).length===i(t).length&&i(e).every(i=>S(e[i],t[i])):e===t}function E(e,t){t=t||[];for(var i=k(e=e||[]),s=e.length?e[e.length-1]:4294967295,a=0;a/g,">")}function X(e){let t=e.split(" ");if(4!=t.length){t[0]||(t[0]="0px");for(let e=t.length;e<4;++e)t[e]=t[e%2]||t[0]||"0px"}return t}function L(e,t,i,s,a){if(ei/s?n=parseInt(t*i/e):(o=parseInt(e*s/t))>i&&(n=parseInt(n*i/o),o=i),a&&o>=e&&n>=t&&(o=e,n=t),{w:o,h:n}}function C(e){let t=C.raw(e).split(" ").map(e=>parseInt(e).toString(16)).filter(e=>"fe0f"!=e);return t.length&&2==t[0].length&&(t[0]="00"+t[0]),t.join("-")}function T(e){let t=e.match(/[\uDFFB-\uDFFF]/);return t?5-(57343-t[0].charCodeAt(0)):0}C.raw=function(e){if(1===e.length)return e.charCodeAt(0).toString();if(e.length>1){const i=[];for(var t=0;t=55296&&e.charCodeAt(t)<=56319?e.charCodeAt(t+1)>=56320&&e.charCodeAt(t+1)<=57343&&i.push(1024*(e.charCodeAt(t)-55296)+(e.charCodeAt(t+1)-56320)+65536):(e.charCodeAt(t)<55296||e.charCodeAt(t)>57343)&&i.push(e.charCodeAt(t));return i.join(" ")}return""}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=s(i(12)),r=s(i(72));class l extends r.default{constructor(){super(),this.webWorker=!1,this.taskID=0,this.awaiting={},this.pending=[],this.debug=!1,this.updatesProcessor=null,console.log(o.dT(),"ApiManagerProxy constructor"),window.Worker&&Promise.resolve().then(()=>a(i(73))).then(e=>{var t=new e.default;t.onmessage=e=>{this.webWorker||(this.webWorker=t,console.info(o.dT(),"ApiManagerProxy set webWorker"),this.releasePending()),o.isObject(e.data)&&(e.data.useLs?n.default[e.data.task](...e.data.args).then(t=>{this.webWorker.postMessage({useLs:!0,taskID:e.data.taskID,args:t})}):e.data.update?this.updatesProcessor&&this.updatesProcessor(e.data.update.obj,e.data.update.bool):this.finalizeTask(e.data.taskID,e.data.result,e.data.error))},t.onerror=e=>{console.error("ApiManagerProxy error",e),this.webWorker=!1}})}finalizeTask(e,t,i){let s=this.awaiting[e];void 0!==s&&(this.debug&&console.log(o.dT(),"ApiManagerProxy done",s.taskName,t,i),void 0===t?s.reject(i):s.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.debug&&console.log(o.dT(),"ApiManagerProxy start",e,t),new Promise((i,s)=>{this.awaiting[this.taskID]={resolve:i,reject:s,taskName:e};let a={task:e,taskID:this.taskID,args:t};this.pending.push(a),this.releasePending(),this.taskID++})}releasePending(){this.webWorker&&(this.pending.forEach(e=>{this.webWorker.postMessage(e)}),this.pending.length=0)}setUpdatesProcessor(e){this.updatesProcessor=e}invokeApi(e,t={},i={}){return console.log("will invokeApi:",e,t,i),this.performTaskWorker("invokeApi",e,t,i)}setBaseDcID(e){return this.performTaskWorker("setBaseDcID",e)}setUserAuth(e){return o.$rootScope.$broadcast("user_auth",e),this.performTaskWorker("setUserAuth",e)}getNetworker(e){return this.performTaskWorker("getNetworker",e)}getUserID(){return this.performTaskWorker("getUserID")}logOut(){return this.performTaskWorker("logOut")}checkPassword(e){return this.performTaskWorker("checkPassword",e)}}const d=new l;window.apiManagerProxy=d,t.default=d},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(17));let r=0;t.ripple=function(e,t=(()=>Promise.resolve()),i=null){if(e.querySelector(".c-ripple"))return;let s=document.createElement("div");s.classList.add("c-ripple"),e.append(s),e.addEventListener("mousedown",a=>{if("0"==e.dataset.ripple)return!1;let o=Date.now(),n=document.createElement("span"),l=r++;console.log("ripple mousedown");t&&t(l),window.requestAnimationFrame(()=>{n.classList.add("c-ripple__circle");let e,t,i=s.getBoundingClientRect(),o=a.clientX-i.left,r=a.clientY-i.top;i.width>i.height?(e=i.width,t=o):(e=i.height,t=r),e-=t>e/2?e-t:t,e*=1.1;let l=o-e/2,d=r-e/2;n.style.width=n.style.height=e+"px",n.style.left=l+"px",n.style.top=d+"px",s.append(n)}),window.addEventListener("mouseup",()=>{(()=>{let e=Date.now()-o;if(e<700){let t=Math.max(700-e,350);setTimeout(()=>n.classList.add("hiding"),Math.max(t-350,0)),setTimeout(()=>{n.remove(),i&&i(l)},t)}else n.classList.add("hiding"),setTimeout(()=>{n.remove(),i&&i(l)},350)})()},{once:!0})})};const l=document.createElement("div");l.classList.add("toast"),t.toast=function(e){l.innerHTML=e,document.body.append(l),l.dataset.timeout&&clearTimeout(+l.dataset.timeout),l.dataset.timeout=""+setTimeout(()=>{l.remove(),delete l.dataset.timeout},3e3)};let d={},c=(e,t)=>{e instanceof HTMLImageElement||e instanceof HTMLSourceElement?e.src=t:e instanceof SVGImageElement?e.setAttributeNS(null,"href",t):e.style.backgroundImage="url("+t+")"};t.renderImageFromUrl=function(e,t){return d[t]?(c(e,t),Promise.resolve(!0)):e instanceof HTMLSourceElement?(e.src=t,Promise.resolve(!1)):new Promise((i,s)=>{let a=new Image;a.src=t,a.addEventListener("load",()=>{c(e,t),d[t]=!0,i(!1)}),a.addEventListener("error",s)})},t.putPreloader=function(e,t=!1){const i='\n \n \n ';if(t){let t=document.createElement("div");return t.classList.add("preloader"),t.innerHTML=i,e&&e.appendChild(t),t}e.innerHTML+=i},t.horizontalMenu=function(e,t,i,a,n=300){let r=0,l=null,d=-1,c=Array.from(t.children),u=e?Array.from(e.firstElementChild.children):[],h=new Set,p=i=>s(this,void 0,void 0,(function*(){if(i==d)return!1;let s=l,o=t.children[i];o.classList.add("active"),h.has(o)||h.add(o);let p=dwindow.requestAnimationFrame(()=>{t.style.cssText=`will-change: width, transform; width: ${100*h.size}%; transform: translateX(-${100-100/h.size}%);`,t.classList.remove("animated"),p?t.classList.add("animated"):window.requestAnimationFrame(()=>{t.classList.add("animated"),t.style.transform=""}),e()}))),r&&clearTimeout(r),s&&(e&&u.forEach((e,t)=>{t!=d&&t!=i&&(e.dataset.ripple="0")}),r=setTimeout(()=>{c.forEach(e=>{e!=o&&(e.classList.remove("active"),h.delete(e))}),e&&u.forEach(e=>{delete e.dataset.ripple}),t.classList.remove("animated"),t.style.cssText="",r=0,a&&a()},n)),d=i,l=o}));if(e){let s=document.createElement("span");s.classList.add("menu-horizontal__stripe"),e.append(s),e.addEventListener("click",(function(a){let n=a.target;if("LI"!=n.tagName&&(n=o.findUpTag(n,"LI")),!n)return!1;let r=o.whichChild(n),l=t.children[r];if(h.size>=2&&!h.has(l))return!1;if(i&&i(r,l),n.classList.contains("active")||r==d)return!1;let c=e.querySelector("li.active");c&&c.classList.remove("active");let u=e.getBoundingClientRect(),m=n.firstElementChild.getBoundingClientRect();s.style.cssText=`width: ${m.width+4}px; transform: translateX(${m.left-u.left}px);`,console.log("tabs click:",u,m),n.classList.add("active"),p(r)}))}return p},t.formatPhoneNumber=function(e){let t=(e=e.replace(/\D/g,"")).slice(0,6),i=n.default.Countries.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length).find(e=>e.phoneCode.split(" and ").find(e=>0==t.indexOf(e.replace(/\D/g,"")))),s=i?i.pattern||i.phoneCode:"";return i&&(s.split("").forEach((t,i)=>{" "==t&&" "!=e[i]&&e.length>i&&(e=e.slice(0,i)+" "+e.slice(i))}),i.pattern&&(e=e.slice(0,i.pattern.length))),{formatted:e,country:i}},t.parseMenuButtonsTo=function(e,t){Array.from(t).forEach(t=>{let i=t.className.match(/(?:^|\s)menu-(.+?)(?:$|\s)/)[1];e[i]=t})};let u=e=>{let t=m.getBoundingClientRect(),{clientX:i,clientY:s}=e,a=i>=t.right?i-t.right:t.left-i,o=s>=t.bottom?s-t.bottom:t.top-s;(a>=100||o>=100)&&p()},h=e=>{p()},p=()=>{m&&(m.classList.remove("active"),m.parentElement.classList.remove("menu-open"),m=null),g&&(g(),g=null),window.removeEventListener("mousemove",u),window.removeEventListener("click",h),window.removeEventListener("contextmenu",h)},m=null,g=null;t.openBtnMenu=function(e,t){p(),m=e,m.classList.add("active"),m.parentElement.classList.add("menu-open"),g=t,window.addEventListener("mousemove",u),window.addEventListener("click",h,{once:!0}),window.addEventListener("contextmenu",h,{once:!0})},t.positionMenu=function(e,t,i="left"){t.classList.remove("bottom-left","bottom-right"),t.classList.add("left"==i?"bottom-right":"bottom-left");let{clientX:s,clientY:a}=e;t.style.left=("right"==i?s-t.scrollWidth:s)+"px",a+t.scrollHeight>window.innerHeight?t.style.top=window.innerHeight-t.scrollHeight+"px":t.style.top=a+"px"}},function(e,t,i){"use strict";i.r(t),i.d(t,"RichTextProcessor",(function(){return k}));var s,a=i(0),o=i(17),n=i.n(o),r={emojiMap:e=>e,shortcuts:[],emojis:[]},l=n.a.Emoji,d=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),c=new RegExp("(^| )(@)([a-zA-Z\\d_]{5,32})|(((?:https?|ftp)://|mailto:)?(?:\\S{1,64}(?::\\S{0,64})?@)?(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}(?:\\.[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}){0,10}(?:\\.(xn--[0-9a-z]{2,16}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,24})))(?::\\d{2,5})?(?:/(?:\\S{0,255}[^\\s.;,(\\[\\]{}<>\"'])?)?)|(\\n)|((?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f*)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a]))|(^|[\\s\\(\\]])(#[0-9_a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,64})|(^|\\s)\\/([a-zA-Z\\d_]{1,32})(?:@([a-zA-Z\\d_]{5,32}))?(\\b|$)","i"),u=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,h=/[`_*@]/,p=/(^|\s|\n)(````?)([\s\S]+?)(````?)([\s\n\.,:?!;]|$)|(^|\s)(`|\*\*|__)([^\n]+?)\7([\s\.,:?!;]|$)|@(\d+)\s*\((.+?)\)/m,m={Telegram:"tg://search_hashtag?hashtag={1}",Twitter:"https://twitter.com/hashtag/{1}",Instagram:"https://instagram.com/explore/tags/{1}/","Google Plus":"https://plus.google.com/explore/{1}"},g={Telegram:"#/im?p=%40{1}",Twitter:"https://twitter.com/{1}",Instagram:"https://instagram.com/{1}/",GitHub:"https://github.com/{1}"},f={"`":"messageEntityCode","**":"messageEntityBold",__:"messageEntityItalic"};function b(e){return void 0===l[e.replace(/\ufe0f/g,"")]?null:Object(a.emojiUnicode)(e)}function v(e,t={}){for(var i,s,a=e,o=[],r=0;i=a.match(c);){if(s=r+i.index,i[3])o.push({_:"messageEntityMention",offset:s+i[1].length,length:i[2].length+i[3].length});else if(i[4])if(u.test(i[4]))o.push({_:"messageEntityEmail",offset:s,length:i[4].length});else{var l=!1,d=i[5],h=i[6];if(h){if(d||"xn--"!==h.substr(0,4)&&-1===n.a.TLD.indexOf(h.toLowerCase())||(d="http://"),d){var p=x(i[4]);p.length!==i[4].length&&(i[4].substring(p.length),i[4]=p),l=(i[5]?"":d)+i[4]}}else l=(i[5]?"":"http://")+i[4];l&&o.push({_:"messageEntityUrl",offset:s,length:i[4].length})}else if(i[7])o.push({_:"messageEntityLinebreak",offset:s,length:1});else if(i[8]){let e=b(i[8]);e&&o.push({_:"messageEntityEmoji",offset:s,length:i[8].length,unicode:e})}else i[10]?o.push({_:"messageEntityHashtag",offset:s+(i[9]?i[9].length:0),length:i[10].length}):i[12]&&o.push({_:"messageEntityBotCommand",offset:s+(i[11]?i[11].length:0),length:1+i[12].length+(i[13]?1+i[13].length:0)});a=a.substr(i.index+i[0].length),r+=i.index+i[0].length}return o}function y(e,t,i){return void 0===t?Object(a.encodeEntities)(e):(i.hasNested=!0,w(e,{entities:t,nested:!0}))}function w(e,t={}){if(!e||!e.length)return"";var i=t.entities,s=t.contextSite||"Telegram",o="Telegram"!=s;void 0===i&&(i=v(e,t));for(var n,r,l,c,u=i.length,h=[],p=0,f=0;fp)h.push(Object(a.encodeEntities)(e.substr(p,n.offset-p)));else if(n.offset',Object(a.encodeEntities)(r),"");break;case"messageEntityMentionName":if(t.noLinks){l=!0;break}h.push('',Object(a.encodeEntities)(r),"");break;case"messageEntityHashtag":var x;if(!(x=!t.noLinks&&m[s])){l=!0;break}var k=r.substr(1);h.push("',Object(a.encodeEntities)(r),"");break;case"messageEntityEmail":if(t.noLinks){l=!0;break}h.push('',Object(a.encodeEntities)(r),"");break;case"messageEntityUrl":case"messageEntityTextUrl":var M;"messageEntityTextUrl"==n._?(c=_(c=n.url,!0),M=y(r,n.nested,t)):(c=_(r,!1),M=Object(a.encodeEntities)(r.replace(/(%[A-Z\d]{2})+/g,(function(e){try{return decodeURIComponent(e)}catch(t){return e}})))),t.noLinks?h.push(M):h.push('',M,"");break;case"messageEntityLinebreak":h.push(t.noLinebreaks?" ":"
");break;case"messageEntityEmoji":h.push(d?`${Object(a.encodeEntities)(r)}`:`${Object(a.encodeEntities)(r)}`),!0;break;case"messageEntityBotCommand":if(t.noLinks||t.noCommands||o){l=!0;break}var D,S,E=r.substr(1);-1!=(S=E.indexOf("@"))?(D=E.substr(S+1),E=E.substr(0,S)):D=t.fromBot,h.push('',Object(a.encodeEntities)(r),"");break;case"messageEntityBold":if(t.noTextFormat){h.push(y(r,n.nested,t));break}h.push("",y(r,n.nested,t),"");break;case"messageEntityItalic":if(t.noTextFormat){h.push(y(r,n.nested,t));break}h.push("",y(r,n.nested,t),"");break;case"messageEntityHighlight":h.push("",y(r,n.nested,t),"");break;case"messageEntityCode":if(t.noTextFormat){h.push(Object(a.encodeEntities)(r));break}h.push("",Object(a.encodeEntities)(r),"");break;case"messageEntityPre":if(t.noTextFormat){h.push(Object(a.encodeEntities)(r));break}h.push("
",Object(a.encodeEntities)(r),"
");break;default:l=!0}p=n.offset+(l?0:n.length)}return h.push(Object(a.encodeEntities)(e.substr(p))),e=h.join("")}function x(e){for(var t=e.length,i=e.split("(").length-1,s=e.split(")").length-1;s>i&&")"===e.charAt(t-1);)e=e.substr(0,t-1),s--,t--;return i>s&&(e=e.replace(/\)+$/,"")),e}function _(e,t){var i,s;if(e.match(/^https?:\/\//i)||(e="http://"+e),2==t)e="tg://unsafe_url?url="+encodeURIComponent(e);else if(i=e.match(/^https?:\/\/t(?:elegram)?\.me\/(.+)/)){var a=i[1].split("/");switch(a[0]){case"joinchat":e="tg://join?invite="+a[1];break;case"addstickers":e="tg://addstickers?set="+a[1];break;default:if(a[1]&&a[1].match(/^\d+$/))e="tg://resolve?domain="+a[0]+"&post="+a[1];else if(1==a.length){var o=a[0].split("?"),n=o[0],r=o[1];if("iv"==n){var l=(r||"").match(/url=([^&=]+)/);if(l){e=l[1];try{e=decodeURIComponent(e)}catch(e){}return _(e,t)}}e="tg://resolve?domain="+n+(r?"&"+r:"")}}}else(s=e.match(/^https?:\/\/telesco\.pe\/([^/?]+)\/(\d+)/))?e="tg://resolve?domain="+s[1]+"&post="+s[2]:t&&(e="tg://unsafe_url?url="+encodeURIComponent(e));return e}let k={wrapRichText:w,wrapPlainText:function(e,t={}){if(d)return e;if(!e||!e.length)return"";var i,a,o=e=e.replace(/\ufe0f/g,"",e);for(e=[];i=o.match(c);)e.push(o.substr(0,i.index)),i[8]&&(s=r.emojiMap[i[8]])&&(a=l[s][1][0])?e.push(":"+a+":"):e.push(i[0]),o=o.substr(i.index+i[0].length);return e.push(o),e.join("")},wrapDraftText:function(e,t){if(!e||!e.length)return"";var i=(t=t||{}).entities;void 0===i&&(i=v(e,t));var s,a,o,n=0,r=i.length,l=[],d=0;for(n=0;nd)l.push(e.substr(d,s.offset-d));else if(s.offset"messageEntityEmoji"==e._)}):""},parseEntities:v,parseMarkdown:function(e,t,i){if(!h.test(e))return i?e:e.trim();for(var s,a,o=e,n=[],r=0;s=o.match(p);){a=r+s.index,n.push(o.substr(0,s.index)),r-=(e=s[3]||s[8]||s[11]).length,r+=(e=e.replace(/^\s+|\s+$/g,"")).length,e.match(/^`*$/)?n.push(s[0]):s[3]?("\n"==s[5]&&(s[5]="",r-=1),n.push(s[1]+e+s[5]),t.push({_:"messageEntityPre",language:"",offset:a+s[1].length,length:e.length}),r-=s[2].length+s[4].length):s[7]?(n.push(s[6]+e+s[9]),t.push({_:f[s[7]],offset:a+s[6].length,length:e.length}),r-=2*s[7].length):s[11]&&(n.push(e),t.push({_:"messageEntityMentionName",user_id:s[10],offset:a,length:e.length}),r-=s[0].length-e.length),o=o.substr(s.index+s[0].length),r+=s.index+s[0].length}return n.push(o),(n=n.join("")).replace(/\s+/g,"").length||(n=e,t.splice(0,t.length)),t.length||i||(n=n.trim()),n},parseEmojis:function(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,(function(e,t){var i=r.shortcuts[t];return void 0!==i?r.emojis[i][0]:e}))},mergeEntities:function(e,t,i){var s,o,n,r,l,d,c,u,h,p=t.slice(),m=e.length,g=t.length,f=0;for(s=0;s=c&&lc&&d<=u){i&&l>=c&&d<=u&&(void 0===r.nested&&(r.nested=[]),n.offset-=c,r.nested.push(Object(a.copy)(n))),h=!0;break}if(c>=d)break}h||p.push(n)}return p.sort((function(e,t){return e.offset-t.offset})),p},getEmojiSpritesheetCoords:b,emojiSupported:d};window.RichTextProcessor=k},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=i(3),n=s(i(6)),r=s(i(1)),l=s(i(28)),d=i(2),c=s(i(27));class u{constructor(){this.users={},this.usernames={},this.userAccess={},this.cachedPhotoLocations={},this.contactsIndex=c.default.createIndex(),r.default.getUserID().then(e=>{this.myID=e}),a.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=t?t.id:0}),setInterval(this.updateUsersStatuses.bind(this),6e4),a.$rootScope.$on("stateSynchronized",this.updateUsersStatuses.bind(this)),a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateUserStatus":var i=t.user_id;(s=this.users[i])&&(s.status=t.status,s.status&&(s.status.expires&&(s.status.expires-=l.default.serverTimeOffset),s.status.was_online&&(s.status.was_online-=l.default.serverTimeOffset)),s.sortStatus=this.getUserStatusForSort(s.status),a.$rootScope.$broadcast("user_update",i));break;case"updateUserPhoto":var s;i=t.user_id;(s=this.users[i])?(this.forceUserOnline(i),s.photo?a.safeReplaceObject(s.photo,t.photo):s.photo=t.photo,void 0!==this.cachedPhotoLocations[i]&&a.safeReplaceObject(this.cachedPhotoLocations[i],t.photo?t.photo:{empty:!0}),a.$rootScope.$broadcast("user_update",i),a.$rootScope.$broadcast("avatar_update",i)):console.warn("No user by id:",i);break;case"updateContactLink":this.onContactUpdated(t.user_id,"contactLinkContact"==t.my_link._)}})}fillContacts(){return this.contactsFillPromise?this.contactsFillPromise:this.contactsFillPromise=r.default.invokeApi("contacts.getContacts",{hash:0}).then(e=>{let t;return this.contactsList=[],this.saveApiUsers(e.users),e.contacts.forEach(e=>{t=e.user_id,this.contactsList.push(t),c.default.indexObject(t,this.getUserSearchText(t),this.contactsIndex)}),this.contactsList})}getUserSearchText(e){const t=this.users[e];if(!t)return"";const i=t.pFlags.self?"user_name_saved_msgs_raw":"";return(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")+" "+i}getContacts(e){return this.fillContacts().then(t=>{if(e){const i=c.default.search(e,this.contactsIndex),s=t.filter(e=>!!i[e]);t=s}return t.sort((e,t)=>{const i=(this.users[e]||{}).sortName||"",s=(this.users[t]||{}).sortName||"";return i.localeCompare(s)}),t})}resolveUsername(e){return this.usernames[e]||0}saveApiUsers(e){e.forEach(e=>this.saveApiUser(e))}saveApiUser(e,t){if(a.isObject(e)&&!(t&&a.isObject(this.users[e.id])&&this.users[e.id].first_name)){var i=e.id,s=this.users[i];if(void 0===e.pFlags&&(e.pFlags={}),!e.pFlags.min||void 0===s){if(e.phone&&(e.rPhone="+"+d.formatPhoneNumber(e.phone).formatted),e.first_name?(e.rFirstName=o.RichTextProcessor.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=e.last_name?o.RichTextProcessor.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0}):e.rFirstName):(e.rFirstName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_first_name_deleted",e.rFullName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_name_deleted"),e.username){var n=c.default.cleanUsername(e.username);this.usernames[n]=i}e.sortName=e.pFlags.deleted?"":c.default.cleanSearchText(e.first_name+" "+(e.last_name||""),!1);var r=e.sortName.split(" "),u=r.shift(),h=r.pop();e.initials=u.charAt(0)+(h?h.charAt(0):""),e.status&&(e.status.expires&&(e.status.expires-=l.default.serverTimeOffset),e.status.was_online&&(e.status.was_online-=l.default.serverTimeOffset)),e.pFlags.bot?e.sortStatus=-1:e.sortStatus=this.getUserStatusForSort(e.status),void 0===(s=this.users[i])?s=this.users[i]=e:a.safeReplaceObject(s,e),a.$rootScope.$broadcast("user_update",i),void 0!==this.cachedPhotoLocations[i]&&a.safeReplaceObject(this.cachedPhotoLocations[i],e&&e.photo?e.photo:{empty:!0})}}}saveUserAccess(e,t){this.userAccess[e]=t}getUserStatusForSort(e){if(e){var t=e.expires||e.was_online;if(t)return t;var i=a.tsNow(!0);switch(e._){case"userStatusRecently":return i-259200;case"userStatusLastWeek":return i-604800;case"userStatusLastMonth":return i-2592e3}}return 0}getUser(e){return a.isObject(e)?e:this.users[e]||{id:e,pFlags:{deleted:!0},access_hash:this.userAccess[e]}}getSelf(){return this.getUser(this.myID)}getUserStatusString(e){if(this.isBot(e))return"bot";let t=this.getUser(e);if(!t||!t.status)return"";let i="";switch(t.status._){case"userStatusRecently":i="last seen recently";break;case"userStatusLastWeek":i="last seen last week";break;case"userStatusLastMonth":i="last seen last month";break;case"userStatusOffline":{i="last seen ";let e=t.status.was_online,s=Date.now()/1e3;if(s-e<60)i+=" just now";else if(s-e<3600){let t=(s-e)/60|0;i+=t+" "+(1==t?"minute":"minutes")+" ago"}else if(s-e<86400){let t=(s-e)/3600|0;i+=t+" "+(1==t?"hour":"hours")+" ago"}else{let t=new Date(1e3*e);i+=("0"+t.getDate()).slice(-2)+"."+("0"+(t.getMonth()+1)).slice(-2)+" at "+("0"+t.getHours()).slice(-2)+":"+("0"+t.getMinutes()).slice(-2)}break}case"userStatusOnline":i="online"}return i}isBot(e){return this.users[e]&&this.users[e].pFlags.bot}hasUser(e,t){var i=this.users[e];return a.isObject(i)&&(t||!i.pFlags.min)}getUserPhoto(e){var t=this.getUser(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getUserString(e){var t=this.getUser(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}getUserInput(e){var t=this.getUser(e);return t.pFlags&&t.pFlags.self?{_:"inputUserSelf"}:{_:"inputUser",user_id:e,access_hash:t.access_hash||0}}updateUsersStatuses(){var e=a.tsNow(!0);for(let t in this.users){let i=this.users[t];i.status&&"userStatusOnline"==i.status._&&i.status.expires{t.push(this.getUserInput(e))}),r.default.invokeApi("contacts.deleteContacts",{id:t}).then(()=>{e.forEach(e=>{this.onContactUpdated(e,!1)})})}getTopPeers(){return r.default.invokeApi("contacts.getTopPeers",{flags:1,correspondents:!0,offset:0,limit:30,hash:0}).then(e=>(this.saveApiUsers(e.users),n.default.saveApiChats(e.chats),e.categories))}searchContacts(e,t=20){return r.default.invokeApi("contacts.search",{q:e,limit:t}).then(e=>(this.saveApiUsers(e.users),n.default.saveApiChats(e.chats),e))}onContactUpdated(e,t){if(e=parseInt(""+e),Array.isArray(this.contactsList)){var i=this.contactsList.indexOf(e);t!=(-1!=i)&&(t?(this.contactsList.push(e),c.default.indexObject(e,this.getUserSearchText(e),this.contactsIndex)):this.contactsList.splice(i,1),a.$rootScope.$broadcast("contacts_update",e))}}setUserStatus(e,t){if(!this.isBot(e)){var i=this.users[e];if(i){var s=t?{_:"userStatusOffline",was_online:a.tsNow(!0)}:{_:"userStatusOnline",expires:a.tsNow(!0)+500};i.status=s,i.sortStatus=this.getUserStatusForSort(i.status),a.$rootScope.$broadcast("user_update",e)}}}}t.AppUsersManager=u,t.default=new u},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(23)),r=a(i(6)),l=a(i(4)),d=i(3),c=i(10),u=i(75),h=a(i(19)),p=a(i(8)),m=a(i(12)),g=a(i(7)),f=a(i(28)),b=a(i(20)),v=a(i(11)),y=a(i(15)),w=a(i(24)),x=a(i(28)),_=a(i(1)),k=a(i(43)),M=i(13),D=a(i(44)),S=a(i(27));class E{constructor(){this.messagesStorage={},this.groupedMessagesStorage={},this.historiesStorage={},this.dialogsStorage={},this.pendingByRandomID={},this.pendingByMessageID={},this.pendingAfterMsgs={},this.pendingTopMsgs={},this.sendFilePromise=Promise.resolve(),this.tempID=-1,this.tempFinalizeCallbacks={},this.lastSearchFilter={},this.lastSearchResults=[],this.needSingleMessages=[],this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.maxSeenID=0,this.allDialogsLoaded={},this.dialogsOffsetDate={},this.pinnedIndex=0,this.dialogsNum=0,this.migratedFromTo={},this.migratedToFrom={},this.newMessagesHandlePromise=0,this.newMessagesToHandle={},this.newDialogsHandlePromise=0,this.newDialogsToHandle={},this.newUpdatesAfterReloadToHandle={},this.loaded=null,this.dialogsIndex=S.default.createIndex(),this.cachedResults={query:"",count:0,dialogs:[]},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),o.$rootScope.$on("webpage_updated",e=>{let t=e.detail;t.msgs.forEach(e=>{let i=this.getMessage(e);i.webpage=k.default.getWebPage(t.id),o.$rootScope.$broadcast("message_edit",{peerID:this.getMessagePeer(i),id:i.id,mid:e,justMedia:!0})})}),o.$rootScope.$on("draft_updated",e=>{let t=e.detail;var i=t.peerID,s=t.draft,a=this.getDialogByPeerID(i)[0];if(a){if(s&&s.date)l=s.date;else{var n=g.default.isChannel(i)?-i:0,l=this.getMessage(a.top_message).date;if(n){var d=r.default.getChat(n);(!l||d.date&&d.date>l)&&(l=d.date)}}a.pFlags.pinned||(a.index=this.generateDialogIndex(l)),this.pushDialogToStorage(a),o.$rootScope.$broadcast("dialog_draft",{peerID:i,draft:s,index:a.index})}}),this.loaded=new Promise((e,t)=>{m.default.get("state").then(({dialogs:t,allDialogsLoaded:i,peers:s,messages:a,maxSeenMsgID:o,updates:d})=>{if(console.log("state res",t,a),o&&!n.default.getMessageIDInfo(o)[1]&&(this.maxSeenID=o),s)for(let e in s){let t=s[e];+e<0?r.default.saveApiChat(t):l.default.saveApiUser(t)}a&&this.saveMessages(a),i&&(this.allDialogsLoaded=i),t&&t.forEachReverse(e=>{this.saveConversation(e)}),h.default.attach(null!=d?d:null),e()}).catch(e)}),setInterval(()=>this.saveState(),1e4)}saveState(){var e,t;let i=[],s=[],a={};for(let n in this.dialogsStorage)for(let r of this.dialogsStorage[n]){let n=this.historiesStorage[r.peerID],l=[].concat(null!==(e=null==n?void 0:n.pending)&&void 0!==e?e:[],null!==(t=null==n?void 0:n.history)&&void 0!==t?t:[]);r=o.copy(r);let d=0;for(let e of l){let t=this.getMessage(e);if(t.id>0){i.push(t),t.fromID!=r.peerID&&(a[t.fromID]=g.default.getPeer(t.fromID)),r.top_message=t.mid;break}t.pFlags&&t.pFlags.unread&&++d}d&&r.unread_count&&(r.unread_count-=d),s.push(r),a[r.peerID]=g.default.getPeer(r.peerID)}let n=h.default.updatesState,r={seq:n.seq,pts:n.pts,date:n.date};m.default.set({state:{dialogs:s,messages:i,allDialogsLoaded:this.allDialogsLoaded,peers:a,updates:r,maxSeenMsgID:this.maxSeenID}})}getInputEntities(e){var t=o.copy(e);return t.forEach(e=>{"messageEntityMentionName"==e._&&(e._="inputMessageEntityMentionName",e.user_id=l.default.getUserInput(e.user_id))}),t}editMessage(e,t,i={}){if("string"!=typeof t||!this.canEditMessage(e))return Promise.reject();if(e<0){return void 0===this.tempFinalizeCallbacks[e]&&(this.tempFinalizeCallbacks[e]={}),new Promise((i,s)=>{this.tempFinalizeCallbacks[e].edit=e=>{console.log("invoke callback",e),this.editMessage(e,t).then(i,s)}})}var s=[];t=d.RichTextProcessor.parseMarkdown(t,s);var a=this.getMessage(e),o=this.getMessagePeer(a),r=0;let l=i.noWebPage||!1;return l&&(r|=2),t&&(r|=2056),_.default.invokeApi("messages.editMessage",{flags:r,peer:g.default.getInputPeerByID(o),id:n.default.getMessageLocalID(e),message:t,media:a.media,entities:this.getInputEntities(s),no_webpage:l}).then(e=>{h.default.processUpdateMessage(e)},e=>{if(!e||"MESSAGE_NOT_MODIFIED"!=e.type)return e&&"MESSAGE_EMPTY"==e.type&&(e.handled=!0),Promise.reject(e);e.handled=!0})}sendText(e,t,i={}){if("string"!=typeof t)return;e=g.default.getPeerMigratedTo(e)||e;var s=i.entities||[];if(i.viaBotID||(t=d.RichTextProcessor.parseMarkdown(t,s)),!t.length)return;var a,r=this.getInputEntities(s),u=this.tempID--,p=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],m=c.bigint(p[0]).shiftLeft(32).add(c.bigint(p[1])).toString(),f=this.historiesStorage[e],b=0,v={},y=i.replyToMsgID,w=g.default.isChannel(e),k=w&&g.default.isMegagroup(e),M=!(!w||k);let D=i.noWebPage||!1;void 0===f&&(f=this.historiesStorage[e]={count:null,history:[],pending:[]});var S=l.default.getSelf().id;e!=S&&(b|=2,v.out=!0,w||l.default.isBot(e)||(b|=1,v.unread=!0)),y&&(b|=8),M?(S=0,v.post=!0):b|=256,a={_:"message",id:u,from_id:S,to_id:g.default.getOutputPeer(e),flags:b,pFlags:v,date:o.tsNow(!0)+x.default.serverTimeOffset,message:t,random_id:m,reply_to_msg_id:y,via_bot_id:i.viaBotID,reply_markup:i.reply_markup,entities:s,views:M&&1,pending:!0},i.webPage&&(a.media={_:"messageMediaWebPage",webpage:i.webPage});var E=e=>{e?a.error=!0:delete a.error,o.$rootScope.$broadcast("messages_pending")};a.send=()=>{E(!1);var s={};this.pendingAfterMsgs[e]&&(s.afterMessageID=this.pendingAfterMsgs[e].messageID);var o,l=0;y&&(l|=1),M&&(l|=16),i.clearDraft&&(l|=128),D&&(l|=2),i.viaBotID?o=_.default.invokeApi("messages.sendInlineBotResult",{flags:l,peer:g.default.getInputPeerByID(e),random_id:p,reply_to_msg_id:n.default.getMessageLocalID(y),query_id:i.queryID,id:i.resultID},s):(r.length&&(l|=8),o=_.default.invokeApi("messages.sendMessage",{flags:l,no_webpage:D,peer:g.default.getInputPeerByID(e),message:t,random_id:p,reply_to_msg_id:n.default.getMessageLocalID(y),entities:r},s)),o.then(e=>{"updateShortSentMessage"==e._?(a.flags=e.flags,a.date=e.date,a.id=e.id,a.media=e.media,a.entities=e.entities,e={_:"updates",users:[],chats:[],seq:0,updates:[{_:"updateMessageID",random_id:m,id:e.id},{_:w?"updateNewChannelMessage":"updateNewMessage",message:a,pts:e.pts,pts_count:e.pts_count}]}):e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),h.default.processUpdateMessage(e)},()=>{E(!0)}).finally(()=>{this.pendingAfterMsgs[e]===s&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=s},this.saveMessages([a]),f.pending.unshift(u),o.$rootScope.$broadcast("history_append",{peerID:e,messageID:u,my:!0}),setTimeout(()=>a.send(),0),this.pendingByRandomID[m]=[e,u]}sendFile(e,t,i={}){var s;e=g.default.getPeerMigratedTo(e)||e;var a,r,u=this.tempID--,m=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],x=c.bigint(m[0]).shiftLeft(32).add(c.bigint(m[1])).toString(),k=null!==(s=this.historiesStorage[e])&&void 0!==s?s:this.historiesStorage[e]={count:null,history:[],pending:[]},D=0,S={},E=i.replyToMsgID,I=g.default.isChannel(e),P=I&&g.default.isMegagroup(e),X=!(!I||P);let L="mime_type"in t?t.mime_type:t.type,C=t instanceof File?t.name:"",T=!(t instanceof File||t instanceof Blob),A=i.caption||"",j=o.tsNow(!0)+f.default.serverTimeOffset;if(A){let e=i.entities||[];A=d.RichTextProcessor.parseMarkdown(A,e)}let F=[],B="";if(i.isMedia)if(T)a="document",r="";else if(["image/jpeg","image/png","image/bmp"].indexOf(L)>=0){a="photo",r="photo."+L.split("/")[1],B="sendMessageUploadPhotoAction";let e={_:"photo",id:""+u,sizes:[{_:"photoSize",w:i.width,h:i.height,type:"m",size:t.size}],w:i.width,h:i.height,downloaded:t.size,url:i.objectURL||""};p.default.savePhoto(e)}else if(0===L.indexOf("audio/")||["video/ogg"].indexOf(L)>=0)a="audio",r="audio."+("ogg"==L.split("/")[1]?"ogg":"mp3"),B="sendMessageUploadAudioAction";else if(0===L.indexOf("video/")){a="video",r="video.mp4",B="sendMessageUploadVideoAction";let e=1;i.isRoundMessage&&(e|=2);let s={_:"documentAttributeVideo",flags:e,pFlags:{supports_streaming:!0,round_message:i.isRoundMessage},round_message:i.isRoundMessage,supports_streaming:!0,duration:i.duration,w:i.width,h:i.height};F.push(s);let o={_:"document",id:""+u,duration:i.duration,attributes:F,w:i.width,h:i.height,downloaded:t.size,thumbs:[],mime_type:L,url:i.objectURL||"",size:t.size};v.default.saveDoc(o)}else a="document",r="document."+L.split("/")[1],B="sendMessageUploadDocumentAction";else a="document",r="document."+L.split("/")[1],B="sendMessageUploadDocumentAction";console.log("AMM: sendFile",a,r,t.type,i);var R=l.default.getSelf().id;e!=R&&(D|=2,S.out=!0,I||l.default.isBot(e)||(D|=1,S.unread=!0)),E&&(D|=8),X?(R=0,S.post=!0):D|=256;let U=new w.default(null,!0);var O={_:"messageMediaPending",type:a,file_name:C||r,size:t.size,file:t,preloader:U,w:i.width,h:i.height,url:i.objectURL,progress:{percent:1,total:t.size,done:0,cancel:()=>{}}};F.push({_:"documentAttributeFilename",file_name:O.file_name}),U.preloader.onclick=()=>{console.log("cancelling upload",O),y.default.setTyping("sendMessageCancelAction"),O.progress.cancel()};var z={_:"message",id:u,from_id:R,to_id:g.default.getOutputPeer(e),flags:D,pFlags:S,date:j,message:A,media:T?{_:"messageMediaDocument",pFlags:{},flags:1,document:t}:O,random_id:x,reply_to_msg_id:E,views:X&&1,pending:!0},N=e=>{e?z.error=!0:delete z.error,o.$rootScope.$broadcast("messages_pending")},H=!1,q=null;let $=(t,s)=>(y.default.setTyping("sendMessageCancelAction"),_.default.invokeApi("messages.sendMedia",{flags:t,background:i.background,clear_draft:!0,peer:g.default.getInputPeerByID(e),media:s,message:A,random_id:m,reply_to_msg_id:n.default.getMessageLocalID(E)}).then(e=>{h.default.processUpdateMessage(e)},e=>{if("photo"==a&&400==e.code&&("PHOTO_INVALID_DIMENSIONS"==e.type||"PHOTO_SAVE_FILE_INVALID"==e.type))return e.handled=!0,a="document",void z.send();N(!0)}));z.send=()=>{let s=0;if(E&&(s|=1),i.background&&(s|=64),s|=128,T){let{id:e,access_hash:i,file_reference:a}=t;$(s,{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:e,access_hash:i,file_reference:a}})}else if(t instanceof File||t instanceof Blob){let i=M.deferredPromise();this.sendFilePromise.then(()=>{H&&!z.error||(H=!1,q=b.default.uploadFile(t)),q&&q.then(e=>{var t;switch(console.log("appMessagesManager: sendFile uploaded:",e),e.name=r,H=!0,a){case"photo":t={_:"inputMediaUploadedPhoto",flags:0,file:e};break;default:t={_:"inputMediaUploadedDocument",file:e,mime_type:L,attributes:F}}$(s,t)},()=>{N(!0)}),q.notify=t=>{console.log("upload progress",t),O.progress.done=t.done,O.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),y.default.setTyping({_:B,progress:0|O.progress.percent}),U.setProgress(O.progress.percent),o.$rootScope.$broadcast("history_update",{peerID:e})},O.progress.cancel=()=>{H||(i.resolve(),q.cancel(),this.cancelPendingMessage(x))},q.finally(()=>{i.resolve(),U.detach()})}),this.sendFilePromise=i}},this.saveMessages([z]),k.pending.unshift(u),o.$rootScope.$broadcast("history_append",{peerID:e,messageID:u,my:!0}),setTimeout(z.send.bind(this),0),this.pendingByRandomID[x]=[e,u]}sendAlbum(e,t,i={}){var a;return s(this,void 0,void 0,(function*(){let s;e=g.default.getPeerMigratedTo(e)||e;let r=null!==(a=this.historiesStorage[e])&&void 0!==a?a:this.historiesStorage[e]={count:null,history:[],pending:[]},u=0,m={},x=i.replyToMsgID,k=g.default.isChannel(e),D=k&&g.default.isMegagroup(e),S=!(!k||D),E=i.caption||"",I=o.tsNow(!0)+f.default.serverTimeOffset;if(E){let e=i.entities||[];E=d.RichTextProcessor.parseMarkdown(E,e)}console.log("AMM: sendAlbum",t,i);let P=l.default.getSelf().id;e!=P&&(m.out=!0,k||l.default.isBot(e)||(m.unread=!0)),x&&(u|=1),S?(P=0,m.post=!0):u|=128;let X=t.map(()=>this.tempID--).reverse();s=X[X.length-1];let L=t.map((t,a)=>{let o=X[a],n=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],l=c.bigint(n[0]).shiftLeft(32).add(c.bigint(n[1])).toString(),d=new w.default(null,!0),h=i.sendFileDetails[a],f={_:"messageMediaPending",type:"album",preloader:d,progress:{percent:1,total:t.size,done:0,cancel:()=>{}},document:void 0,photo:void 0};if(0===t.type.indexOf("video/")){let e={_:"document",id:""+o,attributes:[{_:"documentAttributeVideo",flags:1,pFlags:{supports_streaming:!0,round_message:!1},round_message:!1,supports_streaming:!0,duration:h.duration,w:h.width,h:h.height}],downloaded:t.size,thumbs:[],mime_type:t.type,url:h.objectURL||"",size:t.size};v.default.saveDoc(e),f.document=e}else{let e={_:"photo",id:""+o,sizes:[{_:"photoSize",w:h.width,h:h.height,type:"m",size:t.size}],w:h.width,h:h.height,downloaded:t.size,url:h.objectURL||""};p.default.savePhoto(e),f.photo=e}d.preloader.onclick=()=>{console.log("cancelling upload",f),y.default.setTyping("sendMessageCancelAction"),f.progress.cancel()};let b={_:"message",id:o,from_id:P,grouped_id:s,to_id:g.default.getOutputPeer(e),flags:u,pFlags:m,date:I,message:E,media:f,random_id:l,randomID:n,reply_to_msg_id:x,views:S&&1,pending:!0,error:!1};return this.saveMessages([b]),r.pending.unshift(o),this.pendingByRandomID[l]=[e,o],b});o.$rootScope.$broadcast("history_append",{peerID:e,messageID:L[L.length-1].id,my:!0});let C=(e,t)=>{t?e.error=!0:delete e.error,o.$rootScope.$broadcast("messages_pending")},T=!1,A=null,j=g.default.getInputPeerByID(e),F=[];for(let s=0,a=t.length;s{console.log("upload progress",t),r.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),y.default.setTyping({_:d,progress:0|r.progress.percent}),l.setProgress(r.progress.percent),o.$rootScope.$broadcast("history_update",{peerID:e})},yield A.then(e=>{let t;console.log("appMessagesManager: sendAlbum file uploaded:",e);let o=i.sendFileDetails[s];return t=o.duration?{_:"inputMediaUploadedDocument",flags:0,file:e,mime_type:a.type,attributes:[{_:"documentAttributeVideo",flags:2,supports_streaming:!0,duration:o.duration,w:o.width,h:o.height}]}:{_:"inputMediaUploadedPhoto",flags:0,file:e},_.default.invokeApi("messages.uploadMedia",{peer:j,media:t}).then(e=>{let t;if(e.photo){let i=e.photo;p.default.savePhoto(i),t=p.default.getInputByID(i.id)}else{let i=e.document;v.default.saveDoc(i),t=v.default.getMediaInputByID(i.id)}F.push({_:"inputSingleMedia",flags:0,media:t,random_id:n.randomID,message:E,entities:[]}),E=""},()=>{C(n,!0)})},()=>{C(n,!0)}),console.log("appMessagesManager: sendAlbum uploadPromise.finally!"),c.resolve(),l.detach()}var B;T=!0,B=F,y.default.setTyping("sendMessageCancelAction"),_.default.invokeApi("messages.sendMultiMedia",{flags:u,peer:j,multi_media:B,reply_to_msg_id:n.default.getMessageLocalID(x)}).then(e=>{h.default.processUpdateMessage(e)},e=>{L.forEach(e=>C(e,!0))})}))}cancelPendingMessage(e){var t=this.pendingByRandomID[e];if(console.log("cancelPendingMessage",e,t),t){var i=t[0],s=t[1],a=this.historiesStorage[i],o=a.pending.indexOf(s);return h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:[s]}}),-1!=o&&a.pending.splice(o,1),delete this.messagesStorage[s],!0}return!1}getConversations(e="",t,i=20,s=0){var a;let o=null!==(a=this.dialogsStorage[s])&&void 0!==a?a:this.dialogsStorage[s]=[];if(e){if(!i||this.cachedResults.query!==e){this.cachedResults.query=e;const t=S.default.search(e,this.dialogsIndex);this.cachedResults.dialogs=[];for(const e in this.dialogsStorage){this.dialogsStorage[e].forEach(e=>{t[e.peerID]&&this.cachedResults.dialogs.push(e)})}this.cachedResults.count=this.cachedResults.dialogs.length}o=this.cachedResults.dialogs}else this.cachedResults.query="";let n=0;if(t>0)for(;no[n].index);n++);return e||this.allDialogsLoaded[s]||o.length>=n+i?Promise.resolve({dialogs:o.slice(n,n+i),count:o.length}):this.getTopMessages(i,s).then(e=>{if(n=0,t>0)for(;no[n].index);n++);return{dialogs:o.slice(n,n+i),count:e}})}getTopMessages(e,t){const i=this.dialogsStorage[t];let s=0,a=0,d=0;return this.dialogsOffsetDate[t]&&(s=this.dialogsOffsetDate[t]+x.default.serverTimeOffset,a=65536*this.dialogsOffsetDate[t]),d|=2,_.default.invokeApi("messages.getDialogs",{flags:2,folder_id:t,offset_date:s,offset_id:n.default.getMessageLocalID(0),offset_peer:g.default.getInputPeerByID(0),limit:e,hash:0},{timeout:0}).then(e=>{s||u.telegramMeWebService.setAuthorized(!0),l.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var n=!!s,d=!1;let c=e.dialogs.length,h={};for(let t=c-1;t>=0;--t){let i=e.dialogs[t];this.saveConversation(i),a&&i.index>a&&(this.newDialogsToHandle[i.peerID]=i,d=!0),i.read_inbox_max_id||i.read_outbox_max_id||(h[i.peerID]=i),n||g.default.isChannel(g.default.getPeerID(i.peer))||(this.incrementMaxSeenID(i.top_message),n=!0)}return Object.keys(h).length&&this.reloadConversation(Object.keys(h).map(e=>+e)).then(()=>{o.$rootScope.$broadcast("dialogs_multiupdate",h);for(let e in h)o.$rootScope.$broadcast("dialog_unread",{peerID:+e})}),(!e.dialogs.length||!e.count||i.length>=e.count)&&(this.allDialogsLoaded[t]=!0),d?this.scheduleHandleNewDialogs():o.$rootScope.$broadcast("dialogs_multiupdate",{}),e.count})}forwardMessages(e,t,i={}){e=g.default.getPeerMigratedTo(e)||e,t=t.sort((e,t)=>e-t);var s=0;i.withMyScore&&(s|=256);let a=n.default.splitMessageIDsByChannels(t),o=[];for(let t in a.msgIDs){let i=a.msgIDs[t],n=i.length,r=[];for(let e=0;e{h.default.processUpdateMessage(e)},()=>{}).then(()=>{this.pendingAfterMsgs[e]===l&&delete this.pendingAfterMsgs[e]});this.pendingAfterMsgs[e]=l,o.push(d)}return Promise.all(o)}generateDialogIndex(e){return void 0===e&&(e=o.tsNow(!0)+x.default.serverTimeOffset),65536*e+(65535&++this.dialogsNum)}generateIndexForDialog(e){const t=g.default.isChannel(e.peerID)?-e.peerID:0,i=n.default.getFullMessageID(e.top_message,t);let s=this.getMessage(i).date;if(t){const e=r.default.getChat(t);(!s||e.date&&e.date>s)&&(s=e.date)}const a={};a&&a.date>s&&(s=a.date),e.pFlags.pinned&&0==e.folder_id&&(s=this.generateDialogPinnedDate(e)),e.index=this.generateDialogIndex(s)}pushDialogToStorage(e,t){var i;let s=null!==(i=this.dialogsStorage[e.folder_id])&&void 0!==i?i:this.dialogsStorage[e.folder_id]=[],a=s.findIndex(t=>t.peerID==e.peerID);if(-1!==a&&s.splice(a,1),t&&!e.pFlags.pinned&&(!this.dialogsOffsetDate[e.folder_id]||t=s[0].index)s.unshift(e);else for(let t=0;ts[t].index){s.splice(t,0,e);break}}getMessage(e){return this.messagesStorage[e]||{_:"messageEmpty",deleted:!0,pFlags:{out:!1,unread:!1}}}getMessagePeer(e){var t=e.to_id&&g.default.getPeerID(e.to_id)||0;return t<0||e.pFlags&&e.pFlags.out||2&e.flags?t:e.from_id}getDialogByPeerID(e){let t=this.dialogsStorage;for(let i in t){let s=t[i].findIndex(t=>t.peerID==e);if(-1!==s)return[t[i][s],s]}return[]}reloadConversation(e){let t=[].concat(e).map(e=>g.default.getInputPeerByID(e));return console.log("will reloadConversation",e),_.default.invokeApi("messages.getPeerDialogs",{peers:t}).then(this.applyConversations.bind(this))}doFlushHistory(e,t){let i=0;return t&&(i|=1),_.default.invokeApi("messages.deleteHistory",{flags:i,peer:e,max_id:0}).then(i=>(h.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:i.pts,pts_count:i.pts_count}}),!i.offset||this.doFlushHistory(e,t)))}flushHistory(e,t){return s(this,void 0,void 0,(function*(){if(g.default.isChannel(e)){let t=this.getHistory(e,0,1),i=t instanceof Promise?yield t:t,s=-e,a=n.default.getMessageLocalID(i.history[0]||0);return _.default.invokeApi("channels.deleteHistory",{channel:r.default.getChannelInput(s),max_id:a}).then(()=>(h.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelAvailableMessages",channel_id:s,available_min_id:a}}),!0))}return this.doFlushHistory(g.default.getInputPeerByID(e),t).then(()=>{delete this.historiesStorage[e];for(let t in this.messagesStorage){this.messagesStorage[t].peerID==e&&delete this.messagesStorage[t]}if(t)o.$rootScope.$broadcast("dialog_flush",{peerID:e});else{let t=this.getDialogByPeerID(e);t[0]&&this.dialogsStorage[t[0].folder_id].splice(t[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:e})}})}))}saveMessages(e,t={}){e.forEach(e=>{var i;if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"==e._)return;const s=this.getMessagePeer(e),a="peerChannel"==e.to_id._,o=a?-s:0,c=a&&r.default.isBroadcast(o),u=n.default.getFullMessageID(e.id,o);if(e.mid=u,e.grouped_id){(null!==(i=this.groupedMessagesStorage[e.grouped_id])&&void 0!==i?i:this.groupedMessagesStorage[e.grouped_id]={})[u]=e}const h=this.getDialogByPeerID(s)[0];h&&u>0?e.pFlags.unread=u>h[e.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]:t.isNew&&(e.pFlags.unread=!0),e.reply_to_msg_id&&(e.reply_to_mid=n.default.getFullMessageID(e.reply_to_msg_id,o)),e.date-=x.default.serverTimeOffset,e.peerID=s,e.fromID=e.pFlags.post?s:e.from_id;const m=e.fwd_from;if(m){if(s==l.default.getSelf().id){if(m.saved_from_peer&&m.saved_from_msg_id){const t=g.default.getPeerID(m.saved_from_peer),i=n.default.getFullMessageID(m.saved_from_msg_id,g.default.isChannel(t)?-t:0);e.savedFrom=t+"_"+i}e.fromID=m.channel_id?-m.channel_id:m.from_id}else e.fwdPostID=m.channel_post;e.fwdFromID=m.channel_id?-m.channel_id:m.from_id,m.date-=x.default.serverTimeOffset}e.via_bot_id>0&&(e.viaBotID=e.via_bot_id);const f={user_id:e.fromID,date:e.date};if(e.media)switch(e.media._){case"messageMediaEmpty":delete e.media;break;case"messageMediaPhoto":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.photo=p.default.savePhoto(e.media.photo,f);break;case"messageMediaPoll":e.media.poll=D.default.savePoll(e.media.poll,e.media.results);break;case"messageMediaDocument":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.document=v.default.saveDoc(e.media.document,f);break;case"messageMediaWebPage":k.default.saveWebPage(e.media.webpage,e.mid,f);break;case"messageMediaInvoice":e.media={_:"messageMediaUnsupportedWeb"};break;case"messageMediaGeoLive":e.media._="messageMediaGeo"}if(e.action){let t,i;switch(e.action._){case"messageActionChatEditPhoto":e.action.photo=p.default.savePhoto(e.action.photo,f),c&&(e.action._="messageActionChannelEditPhoto");break;case"messageActionChatEditTitle":c&&(e.action._="messageActionChannelEditTitle");break;case"messageActionChatDeletePhoto":c&&(e.action._="messageActionChannelDeletePhoto");break;case"messageActionChatAddUser":1==e.action.users.length?(e.action.user_id=e.action.users[0],e.fromID==e.action.user_id&&(e.action._=a?"messageActionChatJoined":"messageActionChatReturn")):e.action.users.length>1&&(e.action._="messageActionChatAddUsers");break;case"messageActionChatDeleteUser":e.fromID==e.action.user_id&&(e.action._="messageActionChatLeave");break;case"messageActionChannelMigrateFrom":t=-e.action.chat_id,i=-o;break;case"messageActionChatMigrateTo":t=-o,i=-e.action.channel_id;break;case"messageActionHistoryClear":e.deleted=!0,e.clear_history=!0,e.pFlags.out=!1,e.pFlags.unread=!1;break;case"messageActionPhoneCall":delete e.fromID,e.action.type=(e.pFlags.out?"out_":"in_")+("phoneCallDiscardReasonMissed"==e.action.reason._||"phoneCallDiscardReasonBusy"==e.action.reason._?"missed":"ok")}t&&i&&!this.migratedFromTo[t]&&!this.migratedToFrom[i]&&this.migrateChecks(t,i)}if(e.rReply=this.getRichReplyText(e),e.message&&e.message.length){const t=d.RichTextProcessor.parseEntities(e.message),i=e.entities||[];e.totalEntities=d.RichTextProcessor.mergeEntities(t,i,!e.pending)}e.canBeEdited=this.canMessageBeEdited(e),t.isEdited||(this.messagesStorage[u]=e)})}getRichReplyText(e,t=e.message){let i="";if(e.media)if(e.grouped_id)i+="Album"+(e.message?", ":"")+"";else switch(e.media._){case"messageMediaPhoto":i+="Photo"+(e.message?", ":"")+"";break;case"messageMediaGeo":i+="Geolocation";break;case"messageMediaPoll":i+=""+e.media.poll.rReply+"";break;case"messageMediaContact":i+="Contact";break;case"messageMediaDocument":let t=e.media.document;i="video"==t.type?"Video"+(e.message?", ":"")+"":"voice"==t.type?"Voice message":"gif"==t.type?"GIF"+(e.message?", ":"")+"":"round"==t.type?"Video message"+(e.message?", ":"")+"":"sticker"==t.type?(t.stickerEmoji||"")+"Sticker":""+t.file_name+""}if(e.action){let t=e.action,s="";if(t.message)s=d.RichTextProcessor.wrapRichText(t.message,{noLinebreaks:!0});else{let e="",i=t._;if("messageActionPhoneCall"==i){i+="."+t.type;let s=t.duration;if(s){let t=[];t.push(s%60+" s"),s>=60&&t.push((s/60|0)+" min"),e=" ("+t.reverse().join(" ")+")"}}s=o.langPack[i]+e}console.log("message action:",t),i=""+s+""}let s="";if(t){let e=d.RichTextProcessor.parseEntities(t.replace(/\n/g," "),{noLinebreakers:!0});s=d.RichTextProcessor.wrapRichText(t,{noLinebreakers:!0,entities:e,noTextFormat:!0})}return i+s}editPeerFolders(e,t){_.default.invokeApi("folders.editPeerFolders",{folder_peers:e.map(e=>({_:"inputFolderPeer",peer:g.default.getInputPeerByID(e),folder_id:t}))}).then(e=>{console.log("editPeerFolders updates:",e),h.default.processUpdateMessage(e)})}toggleDialogPin(e){var t;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let s={_:"inputDialogPeer",peer:g.default.getInputPeerByID(e)},a=(null===(t=i.pFlags)||void 0===t?void 0:t.pinned)?0:1;return _.default.invokeApi("messages.toggleDialogPin",{flags:a,peer:s}).then(e=>{this.handleUpdate({_:"updateDialogPinned",peer:s,pFlags:{pinned:a}})})}markDialogUnread(e){var t;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let s={_:"inputDialogPeer",peer:g.default.getInputPeerByID(e)},a=(null===(t=i.pFlags)||void 0===t?void 0:t.unread_mark)?0:1;return _.default.invokeApi("messages.markDialogUnread",{flags:a,peer:s}).then(e=>{this.handleUpdate({_:"updateDialogUnreadMark",peer:s,pFlags:{unread:a}})})}migrateChecks(e,t){if(!this.migratedFromTo[e]&&!this.migratedToFrom[t]&&r.default.hasChat(-t)){var i=r.default.getChat(-e);i&&i.migrated_to&&i.migrated_to.channel_id==-t&&(this.migratedFromTo[e]=t,this.migratedToFrom[t]=e,setTimeout(()=>{var i=this.getDialogByPeerID(e);i.length&&(this.dialogsStorage[i[0].folder_id].splice(i[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:e,dialog:i[0]})),o.$rootScope.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:t})},100))}}canMessageBeEdited(e){return!("message"!=e._||e.deleted||e.fwd_from||e.via_bot_id||e.media&&-1==["messageMediaPhoto","messageMediaDocument","messageMediaWebPage","messageMediaPending"].indexOf(e.media._)||e.fromID&&l.default.isBot(e.fromID))&&(!e.media||"messageMediaDocument"!=e.media._||!e.media.document.sticker)}canEditMessage(e){if(!this.messagesStorage[e])return!1;const t=this.messagesStorage[e];return!(!t||!t.canBeEdited)&&(this.getMessagePeer(t)==l.default.getSelf().id||!(t.date{const s=g.default.getPeerID(e.peer);let a=e.top_message;const n=this.pendingTopMsgs[s];if(n&&(!a||this.getMessage(n).date>this.getMessage(a).date)&&(e.top_message=a=n),a){const a=this.getDialogByPeerID(s)[0];a&&a.pFlags&&a.pFlags.pinned&&(e.pFlags||(e.pFlags={}),e.pFlags.pinned=!0,e.pinnedIndex=a.pinnedIndex),this.saveConversation(e),a?o.$rootScope.$broadcast("dialog_top",e):(t[s]=e,i=!0)}else{const e=this.getDialogByPeerID(s);e.length&&(this.dialogsStorage[e[0].folder_id].splice(e[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:e[0]}))}if(void 0!==this.newUpdatesAfterReloadToHandle[s]){for(const e in this.newUpdatesAfterReloadToHandle[s]){const t=this.newUpdatesAfterReloadToHandle[s][e];this.handleUpdate(t)}delete this.newUpdatesAfterReloadToHandle[s]}}),i&&o.$rootScope.$broadcast("dialogs_multiupdate",t)}saveConversation(e){const t=g.default.getPeerID(e.peer);if(!t)return!1;const i=g.default.isChannel(t)?-t:0,s=g.default.getPeerSearchText(t);let a,d;if(S.default.indexObject(t,s,this.dialogsIndex),e.top_message?(a=n.default.getFullMessageID(e.top_message,i),d=this.getMessage(a)):(a=this.tempID--,d={_:"message",id:a,mid:a,from_id:l.default.getSelf().id,to_id:g.default.getOutputPeer(t),deleted:!0,flags:0,pFlags:{unread:!1,out:!0},date:0,message:""},this.saveMessages([d])),!i&&t<0){const e=r.default.getChat(-t);if(e&&e.migrated_to&&e.pFlags.deactivated){const i=g.default.getPeerID(e.migrated_to);return this.migratedFromTo[t]=i,void(this.migratedToFrom[i]=t)}}if(e.top_message=a,e.read_inbox_max_id=n.default.getFullMessageID(e.read_inbox_max_id,i),e.read_outbox_max_id=n.default.getFullMessageID(e.read_outbox_max_id,i),e.hasOwnProperty("folder_id")||(e.folder_id=0),e.peerID=t,this.generateIndexForDialog(e),this.pushDialogToStorage(e,d.date),d.mid>0&&(d.mid>e[d.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]?d.pFlags.unread=!0:d.pFlags.unread=!1),void 0===this.historiesStorage[t]){const i={count:null,history:[],pending:[]};i[a>0?"history":"pending"].push(a),a<0&&d.pFlags.unread&&e.unread_count++,this.historiesStorage[t]=i,this.mergeReplyKeyboard(i,d)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:t})}i&&e.pts&&h.default.addChannelState(i,e.pts)}mergeReplyKeyboard(e,t){if(!t.reply_markup&&!t.pFlags.out&&!t.action)return!1;if(t.reply_markup&&"replyInlineMarkup"==t.reply_markup._)return!1;var i=t.reply_markup,s=e.reply_markup;if(i)return!(s&&s.mid>=t.mid)&&(!(i.pFlags.selective&&!(16&t.flags))&&(e.maxOutID&&t.mids.mid||t.mid<0)&&t.message)return s.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return!(!t.action||"messageActionChatDeleteUser"!=t.action._||!(s?t.action.user_id==s.fromID:l.default.isBot(t.action.user_id)))&&(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0)}getSearch(e=0,t="",i={_:"inputMessagesFilterEmpty"},s,a,d=0,c=0){var u,h=[],p=!t,m={peer:e,filter:i},b=p&&o.deepEqual(this.lastSearchFilter,m);if(p&&!b&&(this.lastSearchFilter=m,this.lastSearchResults=[]),e&&!s&&!t){var v=this.historiesStorage[e];if(void 0!==v&&v.history.length){var y,w,x={},k=a||20;switch(i._){case"inputMessagesFilterPhotos":x.messageMediaPhoto=!0;break;case"inputMessagesFilterPhotoVideo":x.messageMediaPhoto=!0,x.messageMediaDocument=!0,y="video";break;case"inputMessagesFilterVideo":x.messageMediaDocument=!0,y="video";break;case"inputMessagesFilterDocument":x.messageMediaDocument=!0,y=!1;break;case"inputMessagesFilterVoice":x.messageMediaDocument=!0,y="voice";break;case"inputMessagesFilterRoundVideo":x.messageMediaDocument=!0,y="round";break;case"inputMessagesFilterMusic":x.messageMediaDocument=!0,y="audio";break;case"inputMessagesFilterUrl":x.url=!0;break;case"inputMessagesFilterMyMentions":x.mentioned=!0;break;default:return Promise.resolve({count:0,next_rate:0,history:[]})}for(let e=0;e=k)break}}if(h.length=k));e++);}}if(h.length||1e3==a)return p&&(this.lastSearchResults=o.listMergeSorted(this.lastSearchResults,h)),Promise.resolve({count:0,next_rate:0,history:h});if(e||!t)u=_.default.invokeApi("messages.search",{flags:0,peer:g.default.getInputPeerByID(e),q:t||"",filter:i||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:a,offset_id:n.default.getMessageLocalID(s)||0,add_offset:c?-c:0,max_id:0,min_id:0},{timeout:0,noErrorBox:!0});else{var D=0,S=0,E=s&&this.getMessage(s);E&&E.date&&(E.date+f.default.serverTimeOffset,S=E.id,D=this.getMessagePeer(E)),u=_.default.invokeApi("messages.searchGlobal",{q:t,offset_rate:d,offset_peer:g.default.getInputPeerByID(D),offset_id:n.default.getMessageLocalID(S),limit:a||20},{timeout:0,noErrorBox:!0})}return u.then(e=>{l.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var t=e.count||e.messages.length;return h=[],e.messages.forEach(e=>{var t=this.getMessagePeer(e);if(t<0){var i=r.default.getChat(-t);i.migrated_to&&this.migrateChecks(t,-i.migrated_to.channel_id)}h.push(e.mid)}),p&&(!s||b&&this.lastSearchResults.indexOf(s)>=0)&&(this.lastSearchResults=o.listMergeSorted(this.lastSearchResults,h)),{count:t,next_rate:e.next_rate,history:h}},e=>(400==e.code&&(e.handled=!0),Promise.reject(e)))}generateDialogPinnedDate(e){let t;return e?e.hasOwnProperty("pinnedIndex")?t=e.pinnedIndex:e.pinnedIndex=t=this.pinnedIndex++:t=this.pinnedIndex++,t>this.pinnedIndex&&(this.pinnedIndex=t),2147483392+(255&t)}handleNewMessages(){clearTimeout(this.newMessagesHandlePromise),this.newMessagesHandlePromise=0,o.$rootScope.$broadcast("history_multiappend",this.newMessagesToHandle),this.newMessagesToHandle={}}handleNewDialogs(){clearTimeout(this.newDialogsHandlePromise),this.newDialogsHandlePromise=0;let e=0;for(let t in this.newDialogsToHandle){let i=this.newDialogsToHandle[t];"reload"in i?(this.reloadConversation(+t),delete this.newDialogsToHandle[t]):(this.pushDialogToStorage(i),g.default.isChannel(+t)||(e=Math.max(e,i.top_message||0)))}0!=e&&this.incrementMaxSeenID(e),o.$rootScope.$broadcast("dialogs_multiupdate",this.newDialogsToHandle),this.newDialogsToHandle={}}scheduleHandleNewDialogs(){this.newDialogsHandlePromise||(this.newDialogsHandlePromise=window.setTimeout(this.handleNewDialogs.bind(this),0))}deleteMessages(e,t){const i=n.default.splitMessageIDsByChannels(e),s=[];for(const e in i.msgIDs){const a=+e;let o,n=i.msgIDs[a];if(a>0){const e=r.default.getChat(a);if(!(e.pFlags.creator||e.pFlags.editor&&e.pFlags.megagroup)){const t=[];if((e.pFlags.editor||e.pFlags.megagroup)&&n.forEach((e,s)=>{this.getMessage(i.mids[a][s]).pFlags.out&&t.push(e)}),!t.length)return;n=t}o=_.default.invokeApi("channels.deleteMessages",{channel:r.default.getChannelInput(a),id:n}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:a,messages:n,pts:e.pts,pts_count:e.pts_count}})})}else{let e=0;t&&(e|=1),o=_.default.invokeApi("messages.deleteMessages",{flags:e,id:n}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:n,pts:e.pts,pts_count:e.pts_count}})})}s.push(o)}return Promise.all(s)}readHistory(e,t=0,i=0){const s=g.default.isChannel(e),a=this.historiesStorage[e],n=this.getDialogByPeerID(e)[0];if(!n||!n.unread_count){if(!a||!a.history.length)return Promise.resolve(!1);if(!!!a.history.find(e=>{const t=this.messagesStorage[e];return t&&!t.pFlags.out&&t.pFlags.unread}))return Promise.resolve(!1)}if(a.readPromise)return a.readPromise;let l;return l=s?_.default.invokeApi("channels.readHistory",{channel:r.default.getChannelInput(-e),max_id:t}):_.default.invokeApi("messages.readHistory",{peer:g.default.getInputPeerByID(e),max_id:t}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),a.readPromise=l.then(()=>{let s=-1;0!=t&&a.history.length&&(s=a.history.indexOf(t));let r=1;if(a.history.length&&t)for(let e=-1==s?0:s,i=a.history.length;et)continue;const s=this.messagesStorage[i];s&&!s.pFlags.out&&(s.pFlags.unread=!1,r++)}return!!n&&(a.history.length&&(n.read_inbox_max_id=t),n.read_inbox_max_id==n.top_message||n.read_inbox_max_id==n.read_outbox_max_id?n.unread_count=0:n.unread_count=Math.max(n.unread_count-(i||r),0),console.log("readHistory set unread_count to:",n.unread_count,n),o.$rootScope.$broadcast("dialog_unread",{peerID:e,count:n.unread_count}),o.$rootScope.$broadcast("messages_read"),!0)}).finally(()=>{delete a.readPromise}),a.readPromise}readMessages(e){var t=n.default.splitMessageIDsByChannels(e);Object.keys(t.msgIDs).forEach(e=>{e=+e;let i=t.msgIDs[e];e>0?_.default.invokeApi("channels.readMessageContents",{channel:r.default.getChannelInput(e),id:i}).then(()=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelReadMessagesContents",channel_id:e,messages:i}})}):_.default.invokeApi("messages.readMessageContents",{id:i}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:i,pts:e.pts,pts_count:e.pts_count}})})})}handleUpdate(e){switch(console.log("AMM: handleUpdate:",e._),e._){case"updateMessageID":var t=e.random_id,i=this.pendingByRandomID[t];if(i){var s=i[0],a=i[1],d=g.default.isChannel(s)?-s:0,c=n.default.getFullMessageID(e.id,d);if(h=this.messagesStorage[c]){var u=(p=this.historiesStorage[s]).pending.indexOf(a);-1!=u&&p.pending.splice(u,1),delete this.messagesStorage[a],this.finalizePendingMessageCallbacks(a,c)}else this.pendingByMessageID[c]=t}break;case"updateNewMessage":case"updateNewChannelMessage":var h=e.message,p=(s=this.getMessagePeer(h),this.historiesStorage[s]);if(!(S=this.getDialogByPeerID(s)).length){this.newDialogsToHandle[s]={reload:!0},this.scheduleHandleNewDialogs(),void 0===this.newUpdatesAfterReloadToHandle[s]&&(this.newUpdatesAfterReloadToHandle[s]=[]),this.newUpdatesAfterReloadToHandle[s].push(e);break}if("updateNewChannelMessage"==e._){var m=r.default.getChat(-s);if(m.pFlags&&(m.pFlags.left||m.pFlags.kicked))break}if(this.saveMessages([h],{isNew:!0}),void 0===p&&(p=this.historiesStorage[s]={count:null,history:[],pending:[]}),-1!=(T=h.mid>0?p.history:p.pending).indexOf(h.mid))return!1;var f,b=T[0];T.unshift(h.mid),h.mid>0&&h.midt-e),h.mid>0&&null!==p.count&&p.count++,this.mergeReplyKeyboard(p,h)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:s}),!h.pFlags.out&&h.from_id&&l.default.forceUserOnline(h.from_id),(t=this.pendingByMessageID[h.mid])&&((f=this.finalizePendingMessage(t,h))&&o.$rootScope.$broadcast("history_update",{peerID:s,mid:h.mid}),delete this.pendingByMessageID[h.mid]),f||(void 0===this.newMessagesToHandle[s]&&(this.newMessagesToHandle[s]=[]),this.newMessagesToHandle[s].push(h.mid),this.newMessagesHandlePromise||(this.newMessagesHandlePromise=window.setTimeout(this.handleNewMessages.bind(this),0)));var v=!h.pFlags.out&&h.pFlags.unread;(y=S[0]).top_message=h.mid,v&&y.unread_count++,y.pFlags.pinned&&y.index||(y.index=this.generateDialogIndex(h.date)),this.newDialogsToHandle[s]=y,this.scheduleHandleNewDialogs();break;case"updateDialogUnreadMark":{console.log("updateDialogUnreadMark",e);let t=g.default.getPeerID(e.peer.peer),i=this.getDialogByPeerID(t);if(i.length){let t=i[0];e.pFlags.unread?t.pFlags.unread_mark=!0:delete t.pFlags.unread_mark,o.$rootScope.$broadcast("dialogs_multiupdate",{peerID:t})}else this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs();break}case"updateFolderPeers":{console.log("updateFolderPeers",e);let t=e.folder_peers;this.scheduleHandleNewDialogs(),t.forEach(e=>{let{folder_id:t,peer:i}=e,s=g.default.getPeerID(i),a=this.getDialogByPeerID(s);if(a.length){let e=a[0];this.newDialogsToHandle[s]=e,this.dialogsStorage[e.folder_id].splice(a[1],1),e.folder_id=t,this.generateIndexForDialog(e),this.pushDialogToStorage(e)}else this.newDialogsToHandle[s]={reload:!0}});break}case"updateDialogPinned":{console.log("updateDialogPinned",e);let t=g.default.getPeerID(e.peer.peer),i=this.getDialogByPeerID(t);if(this.scheduleHandleNewDialogs(),!i.length){this.newDialogsToHandle[t]={reload:!0};break}{let s=i[0];this.newDialogsToHandle[t]=s,e.pFlags.pinned?s.pFlags.pinned=!0:(delete s.pFlags.pinned,delete s.pinnedIndex),this.generateIndexForDialog(s)}break}case"updatePinnedDialogs":{console.log("updatePinnedDialogs",e);let t={};if(!e.order){_.default.invokeApi("messages.getPinnedDialogs",{}).then(e=>{e.dialogs.reverse(),this.applyConversations(e),e.dialogs.forEach(e=>{t[e.peerID]=!0}),this.dialogsStorage[0].forEach(e=>{let i=e.peerID;e.pFlags.pinned&&!t[i]&&(this.newDialogsToHandle[i]={reload:!0},this.scheduleHandleNewDialogs())})});break}this.pinnedIndex=0;let i=!1;e.order.reverse(),e.order.forEach(e=>{let s=g.default.getPeerID(e.peer);t[s]=!0;let a=this.getDialogByPeerID(s);if(!a.length)return this.newDialogsToHandle[s]={reload:!0},void(i=!0);let o=a[0];delete o.pinnedIndex,o.pFlags.pinned=!0,this.generateIndexForDialog(o),this.newDialogsToHandle[s]=o,i=!0}),this.dialogsStorage[0].forEach(e=>{let s=e.peerID;e.pFlags.pinned&&!t[s]&&(this.newDialogsToHandle[s]={reload:!0},i=!0)}),i&&this.scheduleHandleNewDialogs();break}case"updateEditMessage":case"updateEditChannelMessage":h=e.message,s=this.getMessagePeer(h),d="peerChannel"==h.to_id._?-s:0,c=n.default.getFullMessageID(h.id,d);if(void 0===this.messagesStorage[c])break;this.saveMessages([h],{isEdited:!0}),o.safeReplaceObject(this.messagesStorage[c],h);var y,w=(y=this.getDialogByPeerID(s)[0])&&y.top_message==c;if(h.clear_history)w&&o.$rootScope.$broadcast("dialog_flush",{peerID:s});else if(o.$rootScope.$broadcast("message_edit",{peerID:s,id:h.id,mid:c,justMedia:!1}),w){var k={};k[s]=y,o.$rootScope.$broadcast("dialogs_multiupdate",k)}break;case"updateReadHistoryInbox":case"updateReadHistoryOutbox":case"updateReadChannelInbox":case"updateReadChannelOutbox":var M="updateReadHistoryOutbox"==e._||"updateReadChannelOutbox"==e._,D=(d=e.channel_id,n.default.getFullMessageID(e.max_id,d)),S=(s=d?-d:g.default.getPeerID(e.peer),this.getDialogByPeerID(s)),E=0,I=(T=(this.historiesStorage[s]||{}).history||[]).length,P=!1;for(s>0&&M&&l.default.forceUserOnline(s),L=0;LD)&&(h=this.messagesStorage[R])&&h.pFlags.out==M){if(!h.pFlags.unread)break;h&&h.pFlags.unread&&(h.pFlags.unread=!1,P||(P=!0),h.pFlags.out||S[0]&&(E=--S[0].unread_count))}S[0]&&(!M&&E&&S[0].top_message<=D&&(E=S[0].unread_count=0),S[0][M?"read_outbox_max_id":"read_inbox_max_id"]=D),o.$rootScope.$broadcast("dialog_unread",{peerID:s,count:E}),P&&o.$rootScope.$broadcast("messages_read");break;case"updateChannelReadMessagesContents":d=e.channel_id;var X=[];e.messages.forEach(e=>{X.push(n.default.getFullMessageID(e,d))}),e.messages=X;case"updateReadMessagesContents":var L,C=(A=e.messages).length;for(L=0;L{(!e.available_min_id||n.default.getMessageLocalID(t)<=e.available_min_id)&&A.push(t)}),e.messages=A;case"updateDeleteMessages":case"updateDeleteChannelMessages":{let t={},i=e.channel_id;for(let s=0;s{let i=t[+e],s=this.historiesStorage[e];if(void 0!==s){let t=[],a=[];for(let e=0;e0&&(s.count-=i.count,s.count<0&&(s.count=0));for(let e=0;e0;!("channel"!=j._||!j.username&&(j.pFlags.left||j.pFlags.kicked))!=(void 0!==this.historiesStorage[s])&&(delete this.historiesStorage[s],o.$rootScope.$broadcast("history_forbidden",s)),B!=F&&(F?this.reloadConversation(-d):S[0]&&(this.dialogsStorage[S[0].folder_id].splice(S[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:S[0]})));break;case"updateChannelReload":{let t=e.channel_id,i=-t,s=this.getDialogByPeerID(i);s[0]&&this.dialogsStorage[s[0].folder_id].splice(s[1],1),delete this.historiesStorage[i],this.reloadConversation(-t).then(()=>{o.$rootScope.$broadcast("history_reload",i)});break}case"updateChannelMessageViews":{let t=e.views,i=n.default.getFullMessageID(e.id,e.channel_id),s=this.getMessage(i);s&&s.views&&s.views{e(t)}),delete this.tempFinalizeCallbacks[e]),o.$rootScope.$broadcast("message_sent",{tempID:e,mid:t})}incrementMaxSeenID(e){if(!e||this.maxSeenID&&!(e>this.maxSeenID))return!1;m.default.set({max_seen_msg:e}),_.default.invokeApi("messages.receivedMessages",{max_id:e})}getHistory(e,t=0,i,s){var a;this.migratedFromTo[e]&&(e=this.migratedFromTo[e]);const o=null!==(a=this.historiesStorage[e])&&void 0!==a?a:this.historiesStorage[e]={count:null,history:[],pending:[]};let r=0,l=!1,d=!1,c=e;if(this.migratedToFrom[e]&&(d=!0,t&&t0)for(l=!0;ro.history[r]){l=!1;break}if(!l&&(null!==o.count&&o.history.length==o.count||o.history.length>=r+i)){s?(s=Math.min(r,s),r=Math.max(0,r-s),i+=s):i=i;let e=o.history.slice(r,r+i);return!t&&o.pending.length&&(e=o.pending.slice().concat(e)),this.wrapHistoryResult({count:o.count,history:e,unreadOffset:0,unreadSkip:!1})}return l&&(r=0),(s||t)&&-1==o.history.indexOf(t)?(s&&(r=-s,i+=s),this.requestHistory(c,t,i,r).then(e=>{o.count=e.count||e.messages.length,d&&o.count++;let i=[];return e.messages.forEach(e=>{i.push(e.mid)}),!t&&o.pending.length&&(i=o.pending.slice().concat(i)),this.wrapHistoryResult({count:o.count,history:i,unreadOffset:0,unreadSkip:!1})})):this.fillHistoryStorage(e,t,i,o).then(()=>{if(r=0,t>0)for(r=0;ro.history[r]);r++);var e=o.history.slice(r,r+i);return!t&&o.pending.length&&(e=o.pending.slice().concat(e)),this.wrapHistoryResult({count:o.count,history:e,unreadOffset:0,unreadSkip:!1})})}fillHistoryStorage(e,t,i,s){const a=this.migratedFromTo[e]&&!t?1:0;return this.requestHistory(e,t,i,a).then(a=>{s.count=a.count||a.messages.length,!t&&a.messages.length&&(t=a.messages[0].mid+1);let n=0;if(t>0)for(;ns.history[n]);n++);const r=s.history.length;s.history.splice(n,s.history.length-n),a.messages.forEach(t=>{this.mergeReplyKeyboard(s,t)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:e}),s.history.push(t.mid)});const l=s.history.length;i-=l-r;const d=this.migratedFromTo[e],c=this.migratedToFrom[e],u=void 0!==d||void 0!==c;if(u&&(s.count=Math.max(s.count,l)+1),i>0){if(t=s.history[l-1],u){if(!a.messages.length){if(!c)return s.count=l,!0;t=0,e=c}return this.fillHistoryStorage(e,t,i,s)}if(l=0;t--){const i=this.messagesStorage[e.history[t]];if(i&&!i.pFlags.out&&i.pFlags.unread){e.unreadOffset=t+1;break}}return e}requestHistory(e,t,i,s=0){const a=g.default.isChannel(e);return o.$rootScope.$broadcast("history_request"),_.default.invokeApi("messages.getHistory",{peer:g.default.getInputPeerByID(e),offset_id:t?n.default.getMessageLocalID(t):0,offset_date:0,add_offset:s||0,limit:i||0,max_id:0,min_id:0,hash:0},{timeout:0,noErrorBox:!0}).then(o=>{console.log("requestHistory result:",o,t,i,s),l.default.saveApiUsers(o.users),r.default.saveApiChats(o.chats),this.saveMessages(o.messages),a&&h.default.addChannelState(-e,o.pts);let n=o.messages.length;n&&o.messages[n-1].deleted&&(o.messages.splice(n-1,1),n--,o.count--);const d=this.historiesStorage[e];return n&&o.messages[n-1].grouped_id&&d.history.length+o.messages.lengtho):o},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(-e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},h.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-e}],chats:[t],users:[]})}throw t})}fetchSingleMessages(){if(this.fetchSingleMessagesPromise)return this.fetchSingleMessagesPromise;var e=this.needSingleMessages.slice();this.needSingleMessages.length=0;var t=n.default.splitMessageIDsByChannels(e);let i=[];return Object.keys(t.msgIDs).forEach(e=>{e=+e;let s=t.msgIDs[e].map(e=>({_:"inputMessageID",id:e}));var a;a=e>0?_.default.invokeApi("channels.getMessages",{channel:r.default.getChannelInput(e),id:s}):_.default.invokeApi("messages.getMessages",{id:s}),i.push(a.then(i=>{l.default.saveApiUsers(i.users),r.default.saveApiChats(i.chats),this.saveMessages(i.messages),o.$rootScope.$broadcast("messages_downloaded",t.mids[+e])}))}),this.fetchSingleMessagesPromise=Promise.all(i).then(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()}).catch(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()})}wrapSingleMessage(e){return this.messagesStorage[e]?(o.$rootScope.$broadcast("messages_downloaded",[e]),{mid:e,loading:!1}):-1==this.needSingleMessages.indexOf(e)?(this.needSingleMessages.push(e),0==this.fetchSingleMessagesTimeout&&(this.fetchSingleMessagesTimeout=window.setTimeout(this.fetchSingleMessages.bind(this),10)),{mid:e,loading:!0}):{mid:e,loading:!1}}}t.AppMessagesManager=E,t.default=new E},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=i(3),r=a(i(4)),l=a(i(1)),d=a(i(19)),c=a(i(16)),u=a(i(27));class h{constructor(){this.chats={},this.usernames={},this.channelAccess={},this.megagroups={},this.cachedPhotoLocations={},this.megagroupOnlines={},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChannel":var i=t.channel_id;o.$rootScope.$broadcast("channel_settings",{channelID:i})}})}saveApiChats(e){e.forEach(e=>this.saveApiChat(e))}saveApiChat(e){if(!o.isObject(e))return;e.rTitle=e.title||"chat_title_deleted",e.rTitle=n.RichTextProcessor.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"chat_title_deleted";let t=this.chats[e.id],i=u.default.cleanSearchText(e.title||"",!1).split(" "),s=i.shift(),a=i.pop();if(e.initials=s.charAt(0)+(a?a.charAt(0):""),void 0===e.pFlags&&(e.pFlags={}),e.pFlags.min&&void 0!==t)return;if("channel"==e._&&void 0===e.participants_count&&void 0!==t&&t.participants_count&&(e.participants_count=t.participants_count),e.username){let t=u.default.cleanUsername(e.username);this.usernames[t]=e.id}let r=!1;if(void 0===t)t=this.chats[e.id]=e;else{let i=t.photo&&t.photo.photo_small,s=e.photo&&e.photo.photo_small;JSON.stringify(i)!==JSON.stringify(s)&&(r=!0),o.safeReplaceObject(t,e),o.$rootScope.$broadcast("chat_update",e.id)}void 0!==this.cachedPhotoLocations[e.id]&&o.safeReplaceObject(this.cachedPhotoLocations[e.id],e&&e.photo?e.photo:{empty:!0}),r&&o.$rootScope.$broadcast("avatar_update",-e.id)}getChat(e){return e<0&&(e=-e),this.chats[e]||{id:e,deleted:!0,access_hash:this.channelAccess[e]}}hasRights(e,t){var i,s;const a=this.getChat(e);if(!a)return!1;if("chatForbidden"==a._||"channelForbidden"==a._||a.pFlags.kicked||a.pFlags.left)return!1;if(a.pFlags.creator)return!0;let o=null!==(s=null===(i=a.admin_rights||a.banned_rights||a.default_banned_rights)||void 0===i?void 0:i.pFlags)&&void 0!==s?s:{};switch(t){case"send":if("channel"==a._&&!a.pFlags.megagroup&&!o.post_messages)return!1;break;case"deleteRevoke":if("channel"==a._)return!!o.delete_messages;if(!a.pFlags.admin)return!1;break;case"pin":if("channel"==a._)return a.admin_rights?!!o.pin_messages||!!o.post_messages:!o.pin_messages;if(o.pin_messages&&!a.pFlags.admin)return!1;break;case"edit_title":case"edit_photo":case"invite":if("channel"==a._){if(!a.pFlags.megagroup)return!1;if("invite"!=t||!a.pFlags.democracy)return!1}else if(a.pFlags.admins_enabled&&!a.pFlags.admin)return!1}return!0}resolveUsername(e){return this.usernames[e]||0}saveChannelAccess(e,t){this.channelAccess[e]=t}saveIsMegagroup(e){this.megagroups[e]=!0}isChannel(e){let t=this.chats[e];return!((!t||"channel"!=t._&&"channelForbidden"!=t._)&&!this.channelAccess[e])}isMegagroup(e){if(this.megagroups[e])return!0;let t=this.chats[e];return!(!t||"channel"!=t._||!t.pFlags.megagroup)}isBroadcast(e){return this.isChannel(e)&&!this.isMegagroup(e)}getChannelInput(e){return e?{_:"inputChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputChannelEmpty"}}getChatInputPeer(e){return{_:"inputPeerChat",chat_id:e}}getChannelInputPeer(e){return e?{_:"inputPeerChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputPeerEmpty"}}hasChat(e,t){let i=this.chats[e];return o.isObject(i)&&(t||!i.pFlags.min)}getChatPhoto(e){let t=this.getChat(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getChatString(e){let t=this.getChat(e);return this.isChannel(e)?(this.isMegagroup(e)?"s":"c")+e+"_"+t.access_hash:"g"+e}getChatMembersString(e){var t;const i=this.getChat(e),s=this.isBroadcast(e),a=i.participants_count||(null===(t=i.participants)||void 0===t?void 0:t.participants.length)||0;return o.numberWithCommas(a)+" "+(s?"subscribers":"members")}wrapForFull(e,t){let i=o.copy(t),s=this.getChat(e);return i.participants_count||(i.participants_count=s.participants_count),i.participants&&"chatParticipants"==i.participants._&&(i.participants.participants=this.wrapParticipants(e,i.participants.participants)),i.about&&(i.rAbout=n.RichTextProcessor.wrapRichText(i.about,{noLinebreaks:!0})),i.peerString=this.getChatString(e),i.chat=s,i}wrapParticipants(e,t){let i=this.getChat(e),s=r.default.getSelf().id;if(this.isChannel(e)){let e=i.pFlags.creator;t.forEach(t=>{t.canLeave=s==t.user_id,t.canKick=e&&"channelParticipant"==t._,t.user=r.default.getUser(t.user_id)})}else{let e=i.pFlags.creator||i.pFlags.admins_enabled&&i.pFlags.admin;t.forEach(t=>{t.canLeave=s==t.user_id,t.canKick=!t.canLeave&&(i.pFlags.creator||"chatParticipant"==t._&&(e||s==t.inviter_id)),t.user=r.default.getUser(t.user_id)})}return t}createChannel(e,t){return l.default.invokeApi("channels.createChannel",{flags:1,broadcast:!0,title:e,about:t}).then(e=>(d.default.processUpdateMessage(e),e.chats[0].id))}inviteToChannel(e,t){let i=this.getChannelInput(e),s=t.map(e=>r.default.getUserInput(e));return l.default.invokeApi("channels.inviteToChannel",{channel:i,users:s}).then(e=>{d.default.processUpdateMessage(e)})}createChat(e,t){return l.default.invokeApi("messages.createChat",{users:t.map(e=>r.default.getUserInput(e)),title:e}).then(e=>(d.default.processUpdateMessage(e),e.chats[0].id))}editPhoto(e,t){let i={_:"inputChatUploadedPhoto",file:t};return this.isChannel(e)?l.default.invokeApi("channels.editPhoto",{channel:this.getChannelInputPeer(e),photo:i}).then(e=>{d.default.processUpdateMessage(e)}):l.default.invokeApi("messages.editChatPhoto",{chat_id:e,photo:i}).then(e=>{d.default.processUpdateMessage(e)})}getOnlines(e){var t,i;return s(this,void 0,void 0,(function*(){if(this.isMegagroup(e)){let s=Date.now()/1e3|0,a=null!==(t=this.megagroupOnlines[e])&&void 0!==t?t:this.megagroupOnlines[e]={timestamp:0,onlines:1};if(s-a.timestamp<60)return a.onlines;let o=yield l.default.invokeApi("messages.getOnlines",{peer:this.getChannelInputPeer(e)}),n=null!==(i=o.onlines)&&void 0!==i?i:1;return a.timestamp=s,a.onlines=n,n}if(this.isBroadcast(e))return 1;let s=c.default.getChatFull(e);if("chatFull"==s._&&s.participants&&s.participants.participants){return s.participants.participants.reduce((e,t)=>{let i=r.default.getUser(t.user_id);return i&&i.status&&"userStatusOnline"==i.status._?e+1:e},0)}return 1}))}}t.AppChatsManager=h,t.default=new h},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(4)),o=s(i(6)),n=i(0),r=i(3),l=["#c03d33","#4fad2d","#d09306","#168acd","#8544d6","#cd4073","#2996ad","#ce671b"],d=["#e17076","#7bc862","#e5ca77","#65AADD","#a695e7","#ee7aae","#6ec9cb","#faa774"],c=[0,7,4,1,6,3,5],u={getPeerPhoto:e=>e>0?a.default.getUserPhoto(e):o.default.getChatPhoto(-e),getPeerMigratedTo:e=>{if(e>=0)return!1;let t=o.default.getChat(-e);return!!(t&&t.migrated_to&&t.pFlags.deactivated)&&u.getPeerID(t.migrated_to)},getPeerTitle:(e,t=!1,i=!1)=>{let s={};s=n.isObject(e)?e:u.getPeer(e);let a="";return e>0?(s.first_name&&(a+=s.first_name),s.last_name&&(a+=" "+s.last_name),a=a?a.trim():s.pFlags.deleted?"Deleted account":s.username):a=s.title,i&&(a=a.split(" ")[0]),t?a:r.RichTextProcessor.wrapEmojiText(a)},getOutputPeer:e=>{if(e>0)return{_:"peerUser",user_id:e};let t=-e;return o.default.isChannel(t)?{_:"peerChannel",channel_id:t}:{_:"peerChat",chat_id:t}},getPeerString:e=>e>0?a.default.getUserString(e):o.default.getChatString(-e),getPeerUsername:e=>e>0?a.default.getUser(e).username||"":o.default.getChat(-e).username||"",getPeer:e=>e>0?a.default.getUser(e):o.default.getChat(-e),getPeerID:e=>{if(n.isObject(e))return e.user_id?e.user_id:-(e.channel_id||e.chat_id);let t="u"==e.charAt(0),i=e.substr(1).split("_");return t?i[0]:-i[0]||0},isChannel:e=>e<0&&o.default.isChannel(-e),isMegagroup:e=>e<0&&o.default.isMegagroup(-e),isAnyGroup:e=>e<0&&!o.default.isBroadcast(-e),isBroadcast:e=>u.isChannel(e)&&!u.isMegagroup(e),isBot:e=>e>0&&a.default.isBot(e),getInputPeer:e=>{var t=e.charAt(0),i=e.substr(1).split("_");let s=+i[0];return"u"==t?(a.default.saveUserAccess(s,i[1]),{_:"inputPeerUser",user_id:s,access_hash:i[1]}):"c"==t||"s"==t?(o.default.saveChannelAccess(s,i[1]),"s"==t&&o.default.saveIsMegagroup(s),{_:"inputPeerChannel",channel_id:s,access_hash:i[1]||0}):{_:"inputPeerChat",chat_id:s}},getInputPeerByID:e=>{if(!e)return{_:"inputPeerEmpty"};if(e<0){let t=-e;return o.default.isChannel(t)?o.default.getChannelInputPeer(t):o.default.getChatInputPeer(t)}return{_:"inputPeerUser",user_id:e,access_hash:a.default.getUser(e).access_hash||0}},getPeerColorByID:(e,t=!0)=>(t?d:l)[c[(e<0?-e:e)%7]],getPeerSearchText:e=>{let t;if(e>0)t="%pu "+a.default.getUserSearchText(e);else if(e<0){t="%pg "+(o.default.getChat(-e).title||"")}return t}};t.default=u},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(4)),o=i(0),n=s(i(26)),r=i(10),l=s(i(20)),d=s(i(1));class c{constructor(){this.photos={},this.documentThumbsCache={},this.windowW=0,this.windowH=0,window.addEventListener("resize",e=>{this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}),this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}savePhoto(e,t){return this.photos[e.id]?this.photos[e.id]:(e.id?this.photos[e.id]=e:console.warn("no apiPhoto.id",e),e)}choosePhotoSize(e,t=0,i=0){window.devicePixelRatio>1&&(t*=2,i*=2);let s={_:"photoSizeEmpty"},a=e.sizes||e.thumbs;if(a)for(let e of a){if(!e.w||!e.h)continue;s=e;let{w:a,h:n}=o.calcImageInBox(e.w,e.h,t,i);if(a==t||n==i)break}return s}getUserPhotos(e,t,i){var s=a.default.getUserInput(e);return d.default.invokeApi("photos.getUserPhotos",{user_id:s,offset:0,limit:i||20,max_id:t||0}).then(t=>{a.default.saveApiUsers(t.users);for(var i=[],s={user_id:e},o=0;o{t.style.backgroundImage="url("+a+")"}),t}if(t instanceof HTMLImageElement)return t.src=a,t;{let e=new Image;return e.src=a,t.append(e),e}}setAttachmentSize(e,t,i=480,s=480,a=!1){let n=null;if("string"==typeof e){if(n=this.photos[e],!n)return{_:"photoEmpty"}}else n=e;let r,l,d=this.choosePhotoSize(n,i,s),c=n.sizes||n.thumbs;!n.downloaded&&!a&&c&&c[0].bytes&&this.setAttachmentPreview(c[0].bytes,t,a),"document"==n._?(r=n.w||512,l=n.h||512):(r=d.w||100,l=d.h||100);let{w:u,h:h}=o.calcImageInBox(r,l,i,s);return t instanceof SVGForeignObjectElement?(t.setAttributeNS(null,"width",""+u),t.setAttributeNS(null,"height",""+h)):(t.style.width=u+"px",t.style.height=h+"px"),d}preloadPhoto(e,t){var i;let s=this.getPhoto(e);if(!t){let e=this.windowW,i=this.windowH;t=this.choosePhotoSize(s,e,i)}let a="document"==s._,o=a?null!==(i=this.documentThumbsCache[s.id])&&void 0!==i?i:this.documentThumbsCache[s.id]={downloaded:-1,url:""}:s;if(o.downloaded>=t.size&&o.url)return Promise.resolve();if(!t||"photoSizeEmpty"==t._)return console.error("no photoSize by photo:",s),Promise.reject("no photoSize");let n,r=t.size&&s.access_hash&&s.file_reference,d=r?{_:a?"inputDocumentFileLocation":"inputPhotoFileLocation",id:s.id,access_hash:s.access_hash,file_reference:s.file_reference,thumb_size:t.type}:t.location;return n=r?l.default.downloadFile(s.dc_id,d,t.size):l.default.downloadSmallFile(d),n.then(e=>{(!o.downloaded||o.downloaded{console.log("ready"),l.default.downloadFile(t.dc_id,d,r.size,{mimeType:i,toFileEntry:e}).then(()=>{e.close(),console.log("file save done",s,"jpg",i,e)},e=>{console.log("photo download failed",e)})})}catch(e){console.error("err",e);var c=l.default.getCachedFile(d);if(c)return n.default.download(c,i,s);l.default.downloadFile(t.dc_id,d,r.size,{mimeType:i}).then(e=>{n.default.download(e,i,s)},e=>{console.log("photo download failed",e)})}}}t.AppPhotosManager=c,c.jf=new Uint8Array(r.bytesFromHex("ffd8ffe000104a46494600010100000100010000ffdb004300281c1e231e19282321232d2b28303c64413c37373c7b585d4964918099968f808c8aa0b4e6c3a0aadaad8a8cc8ffcbdaeef5ffffff9bc1fffffffaffe6fdfff8ffdb0043012b2d2d3c353c76414176f8a58ca5f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8ffc00011080000000003012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00")),c.Df=r.bytesFromHex("ffd9"),t.default=new c},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(13),o=s(i(68));window.__forceSmoothScrollPolyfill__=!0,o.default.polyfill();t.default=class{constructor(e,t="y",i="",s=e,o=300,n=15){if(this.el=e,this.appendTo=s,this.onScrollOffset=o,this.splitCount=n,this.onScrolledTop=null,this.onScrolledBottom=null,this.onScrollMeasure=null,this.lastScrollTop=0,this.disableHoverTimeout=0,this.debug=!1,this.virtualTempIDTop=0,this.virtualTempIDBottom=0,this.lastTopID=0,this.lastBottomID=0,this.lastScrollDirection=0,this.onScrolledTopFired=!1,this.onScrolledBottomFired=!1,this.scrollLocked=0,this.container=document.createElement("div"),this.container.classList.add("scrollable"),this.visible=new Set,this.observer=new IntersectionObserver(e=>{let t=e.filter(e=>e.isIntersecting);if(e.forEach(e=>{let t=e.target;if(e.isIntersecting)this.setVisible(t),this.debug&&this.log("intersection entry:",e,this.lastTopID,this.lastBottomID);else{let i=+t.dataset.virtual;e.boundingClientRect.top<0?this.lastTopID=i+1:this.lastBottomID=i-1}}),!t.length||0===this.lastScrollDirection)return;if(1===this.lastScrollDirection){let e=t[t.length-1].target;this.lastBottomID=+e.dataset.virtual;for(let t=0;ts)&&this.setHidden(e)}}),s||(this.appendTo=this.container),this.log=a.logger("SCROLL"+(i?"-"+i:"")),"x"==t){this.container.classList.add("scrollable-x");let e=e=>{e=window.event||e;var t=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));this.container.scrollLeft-=20*t,e.preventDefault()};this.container.addEventListener?(this.container.addEventListener("mousewheel",e,!1),this.container.addEventListener("DOMMouseScroll",e,!1)):this.container.attachEvent("onmousewheel",e)}else{if("y"!=t)throw new Error("no side for scroll");this.container.classList.add("scrollable-y")}window.addEventListener("resize",()=>this.onScroll()),this.container.addEventListener("scroll",()=>this.onScroll(),{passive:!0,capture:!0}),Array.from(e.children).forEach(e=>this.container.append(e)),e.append(this.container)}setVisible(e){this.visible.has(e)||(this.debug&&this.log("setVisible id:",e.dataset.virtual),e.firstElementChild.style.display="",this.visible.add(e))}setHidden(e){this.visible.has(e)&&(this.debug&&this.log("setHidden id:",e.dataset.virtual),e.firstElementChild.style.display="none",this.visible.delete(e))}setVirtualContainer(e){this.splitUp=e,this.lastScrollTop=0,this.log("setVirtualContainer:",e,this)}onScroll(){let e=this.splitUp||this.appendTo;clearTimeout(this.disableHoverTimeout),this.el!=this.appendTo&&this.appendTo!=this.container&&(e.classList.contains("disable-hover")||e.classList.add("disable-hover")),this.disableHoverTimeout=setTimeout(()=>{e.classList.remove("disable-hover"),this.lastScrollDirection=0},100),this.onScrollMeasure||(this.onScrollMeasure=window.requestAnimationFrame(()=>{if(this.checkForTriggers(),this.onScrollMeasure=0,!this.splitUp)return;let e=this.container.scrollTop;this.lastScrollTop!=e?(this.lastScrollDirection=this.lastScrollTop{e.dataset.virtual=""+t})}updateElement(e){e.style.minHeight="",window.requestAnimationFrame(()=>{let t=e.scrollHeight;window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"})})}prepareElement(e,t=!0){e.dataset.virtual=""+(t?this.virtualTempIDBottom++:this.virtualTempIDTop--),this.debug&&this.log("prepareElement: prepared"),window.requestAnimationFrame(()=>{let{scrollHeight:t}=e;this.debug&&this.log("prepareElement: first rAF"),window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"}),this.visible.add(e),this.observer.observe(e)})}prepend(e,t=!0){t&&this.prepareElement(e,!1),this.splitUp?this.splitUp.prepend(e):this.appendTo.prepend(e)}append(e,t=!0){t&&this.prepareElement(e),this.splitUp?this.splitUp.append(e):this.appendTo.append(e)}contains(e){return this.splitUp?!!e.parentElement:this.appendTo.contains(e)}scrollIntoView(e,t=!0){if(e.parentElement&&!this.scrollLocked){let i=e.classList.contains("is-first-unread"),s=e.getBoundingClientRect().top-this.container.getBoundingClientRect().top;if(s=this.container.scrollTop+s,!t&&i)return void this.scrollTo(s,!1);s-=(this.container.clientHeight-e.scrollHeight)/2,this.scrollTo(s,t)}}scrollTo(e,t=!0,i=!1){if(this.scrollLocked&&!i)return;this.scrollTop!=Math.floor(e)&&(this.scrollLocked&&clearTimeout(this.scrollLocked),this.scrollLocked=setTimeout(()=>{this.scrollLocked=0,this.onScroll()},468),this.container.scrollTo({behavior:t?"smooth":"auto",top:e}))}removeElement(e){e.remove()}set scrollTop(e){this.container.scrollTop=e}get scrollTop(){return this.container.scrollTop}get scrollHeight(){return this.container.scrollHeight}get length(){return this.appendTo.childElementCount}}},function(e,t,i){"use strict"; /*! * Webogram v0.7.0 - messaging web application for MTProto * https://github.com/zhukov/webogram * Copyright (C) 2014 Igor Zhukov * https://github.com/zhukov/webogram/blob/master/LICENSE - */Object.defineProperty(t,"__esModule",{value:!0});const s=i(41);var a=Date.now();function o(e){return new s.BigInteger(e.toString(16),16)}function n(e){return new s.BigInteger(e,10)}function r(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function l(e,t){for(var i=atob(e),s=i.length,a=Math.ceil(s/1024),o=new Array(a),n=0;n>>2]>>>24-a%4*8&255);return s}t.dT=function(){return"["+((Date.now()-a)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=o,t.bigStringInt=n,t.bytesToHex=function(e){e=e||[];for(var t=[],i=0;i>>t&24),2!==t&&s-o!=1||(i+=String.fromCharCode(r(a>>>18&63),r(a>>>12&63),r(a>>>6&63),r(63&a)),a=0);return i.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=r,t.base64ToBlob=l,t.dataUrlToBlob=function(e){var t=e.split(",");return l(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=d,t.blobSafeMimeType=c,t.bytesCmp=function(e,t){var i=e.length;if(i!=t.length)return!1;for(var s=0;st);)i=i.slice(1);return i},t.bytesToArrayBuffer=u,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:u(e)},t.convertToUint8Array=h,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],i=0,s=(e=h(e)).length;it+=e.byteLength||e.length);var i=new Uint8Array(t);let s=0;return e.forEach(e=>{i.set(e instanceof ArrayBuffer?new Uint8Array(e):e,s),s+=e.byteLength||e.length}),i},t.longToInts=m,t.bytesFromWords=g,t.bytesFromWordss=function(e){for(var t=[],i=0;i<4*e.length;i++)t.push(e[i>>>2]>>>24-i%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var i,s=t.length,a=[];for(i=0;i>>2]|=t[i]<<24-i%4*8;return new Uint32Array(a)},t.longToBytes=function(e){return g({words:m(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return o(e).shiftLeft(32).add(o(t)).toString(10)},t.addPadding=function(e,t=16,i,a=!1,o=!1){let n=t-(e.byteLength||e.length)%t;if(n>0&&(n{switch(t._){case"documentAttributeFilename":e.file_name=r.RichTextProcessor.wrapPlainText(t.file_name);break;case"documentAttributeAudio":e.duration=t.duration,e.audioTitle=t.title,e.audioPerformer=t.performer,e.type=t.pFlags.voice?"voice":"audio";break;case"documentAttributeVideo":e.duration=t.duration,e.w=t.w,e.h=t.h,e.thumbs&&t.pFlags.round_message?e.type="round":e.type="video";break;case"documentAttributeSticker":void 0!==t.alt&&(e.stickerEmojiRaw=t.alt,e.stickerEmoji=r.RichTextProcessor.wrapRichText(e.stickerEmojiRaw,{noLinks:!0,noLinebreaks:!0})),t.stickerset&&("inputStickerSetEmpty"==t.stickerset._?delete t.stickerset:"inputStickerSetID"==t.stickerset._&&(e.stickerSetInput=t.stickerset)),"image/webp"==e.mime_type&&(e.type="sticker",e.sticker=1);break;case"documentAttributeImageSize":e.w=t.w,e.h=t.h;break;case"documentAttributeAnimated":"image/gif"!=e.mime_type&&"video/mp4"!=e.mime_type||!e.thumbs||(e.type="gif"),e.animated=!0}}),!e.mime_type)switch(e.type){case"gif":e.mime_type="video/mp4";break;case"video":case"round":e.mime_type="video/mp4";break;case"sticker":e.mime_type="image/webp";break;case"audio":e.mime_type="audio/mpeg";break;case"voice":e.mime_type="audio/ogg";break;default:e.mime_type="application/octet-stream"}return e.file_name||(e.file_name=""),"application/x-tgsticker"==e.mime_type&&"AnimatedSticker.tgs"==e.file_name&&(e.type="sticker",e.animated=!0,e.sticker=2),"documentEmpty"==e._&&(e.size=0),e}getDoc(e){return l.isObject(e)?e:this.docs[e]}getMediaInputByID(e){let t=this.getDoc(e);return{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:t.id,access_hash:t.access_hash,file_reference:t.file_reference},ttl_seconds:0}}getInputByID(e,t){let i=this.getDoc(e);return{_:"inputDocumentFileLocation",id:i.id,access_hash:i.access_hash,file_reference:i.file_reference,thumb_size:t}}getFileName(e){if(e.file_name)return e.file_name;var t="."+e.mime_type.split("/")[1];return".octet-stream"==t&&(t=""),"t_"+(e.type||"file")+e.id+t}downloadDoc(e,t){let i=this.getDoc(e),s=this.getInputByID(i);if("documentEmpty"==i._)return Promise.reject();if(i.downloaded&&!t){if(i.url)return Promise.resolve(null);let e=o.default.getCachedFile(s);if(e)return Promise.resolve(e)}let a=o.default.downloadFile(i.dc_id,s,i.size,{mimeType:i.mime_type||"application/octet-stream",toFileEntry:t,stickerType:i.sticker});return a.then(e=>(e&&(i.downloaded=!0,i.type&&2!=i.sticker&&(i.url=URL.createObjectURL(e))),e),e=>{console.log("document download failed",e)}),a}downloadDocThumb(e,t){let i=this.getDoc(e),s=i.id+"-"+t;if(this.thumbs[s])return this.thumbs[s];let a=this.getInputByID(i,t);if("documentEmpty"==i._)return Promise.reject();let n=i.sticker?"image/webp":i.mime_type,r=o.default.downloadSmallFile(a,{dcID:i.dc_id,stickerType:i.sticker?1:void 0,mimeType:n});return this.thumbs[s]=r.then(e=>URL.createObjectURL(e))}hasDownloadedThumb(e,t){return!!this.thumbs[e+"-"+t]}saveDocFile(e){return s(this,void 0,void 0,(function*(){var t=this.docs[e],i=this.getFileName(t),s=(i.split(".",2)||[])[1]||"";try{let a=n.default.chooseSaveFile(i,s,t.mime_type,t.size);yield a.ready;let o=this.downloadDoc(e,a);return o.then(()=>{a.close(),console.log("saved doc",t)}),{promise:o}}catch(s){let a=this.downloadDoc(e);return a.then(e=>{n.default.download(e,t.mime_type,i)}),{promise:a}}}))}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(21);const a=new class{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var i=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),i=1==e.length);var s,a,o,n=[],r=!0,l=this.storageGetPrefix();for(a=0;a{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(i,s)}catch(e){this.useLs=!1}else a[i]=s;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var i,s,a=this.storageGetPrefix();for(i=0;i{if(this.isWebWorker)this.tasks[this.taskID]=i,self.postMessage({useLs:!0,task:e,taskID:this.taskID,args:t}),this.taskID++;else{let s=Array.prototype.slice.call(t);s.push(e=>{i(e)}),a[e].apply(a,s)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(10),a=i(41);t.secureRandom=new a.SecureRandom,t.logger=function(e){function t(...t){return console.log(s.dT(),"["+e+"]:",...t)}return t.warn=function(...t){return console.warn(s.dT(),"["+e+"]:",...t)},t.info=function(...t){return console.info(s.dT(),"["+e+"]:",...t)},t.error=function(...t){return console.error(s.dT(),"["+e+"]:",...t)},t.trace=function(...t){return console.trace(s.dT(),"["+e+"]:",...t)},t},t.deferredPromise=function(){let e={notify:()=>{},isFulfilled:!1,isRejected:!1},t=new Promise((i,s)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,i(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,s(...e))}});return Object.assign(t,e),t},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return s.bytesToHex([...this])},set:function(e){this.set(s.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return s.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){let t=parseInt(this+"",10),i=Math.floor(t/3600),s=Math.floor((t-3600*i)/60),a=t-3600*i-60*s;return i<10&&(i="0"+i),s<10&&(s=e?"0"+s:s),a<10&&(a="0"+a),s+":"+a}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0);let o=e=>Math.round(255*Math.min(Math.max(e,0),1));class n{constructor({el:e,width:t,height:i,worker:s}){this.reqId=0,this.listeners={},this.listenerResults={},this.paused=!0,this.direction=1,this.speed=1,this.autoplay=!0,this.loop=!0,this.playedTimes=0,this.reqId=++n.reqId,this.el=e,this.width=t,this.height=i,this.worker=s,this.canvas=document.createElement("canvas"),this.canvas.width=this.width,this.canvas.height=this.height,this.context=this.canvas.getContext("2d")}addListener(e,t){if(this.listenerResults.hasOwnProperty(e))return Promise.resolve(this.listenerResults[e]);this.listeners[e]=t}setListenerResult(e,t){this.listenerResults[e]=t,this.listeners[e]&&this.listeners[e](t)}sendQuery(e,...t){this.worker.sendQuery(e,this.reqId,...t)}loadFromData(e){this.sendQuery("loadFromData",e,this.width,this.height,{paused:this.paused,direction:this.direction,speed:this.speed})}play(){this.paused&&(this.paused=!1,this.setMainLoop())}pause(){this.paused||(this.paused=!0,window.cancelAnimationFrame(this.rafId))}stop(){this.pause(),this.curFrame=1==this.direction?0:this.frameCount,this.sendQuery("renderFrame",this.curFrame)}restart(){this.stop(),this.play()}setSpeed(e){this.speed=e,this.paused||this.setMainLoop()}setDirection(e){this.direction=e,this.paused||this.setMainLoop()}destroy(){d.onDestroy(this.reqId),this.pause(),this.sendQuery("destroy")}renderFrame(e,t){this.context.putImageData(new ImageData(e,this.width,this.height),0,0),this.setListenerResult("enterFrame",t)}mainLoop(e){let t=()=>{if(this.paused)return;const i=Date.now(),s=i-this.frThen;if(s>this.frInterval){this.frThen=i-s%this.frInterval,e()||this.loop||!this.autoplay||(this.autoplay=!1)}this.rafId=window.requestAnimationFrame(t)};t()}mainLoopForwards(){if(this.sendQuery("renderFrame",this.curFrame++),this.curFrame>=this.frameCount){if(this.playedTimes++,!this.loop)return!1;this.curFrame=0}return!0}mainLoopBackwards(){if(this.sendQuery("renderFrame",this.curFrame--),this.curFrame<0){if(this.playedTimes++,!this.loop)return!1;this.curFrame=this.frameCount-1}return!0}setMainLoop(){window.cancelAnimationFrame(this.rafId),this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now();const e=(1==this.direction?this.mainLoopForwards:this.mainLoopBackwards).bind(this);this.mainLoop(e)}}t.RLottiePlayer=n,n.reqId=0;class r{constructor(e,t=(()=>{}),i){this.defaultListener=t,this.listeners={},this.worker=new Worker(e),i&&(this.worker.onerror=i),this.worker.onmessage=e=>{e.data instanceof Object&&e.data.hasOwnProperty("queryMethodListener")&&e.data.hasOwnProperty("queryMethodArguments")?this.listeners[e.data.queryMethodListener].apply(this,e.data.queryMethodArguments):this.defaultListener.call(this,e.data)}}postMessage(e){this.worker.postMessage(e)}terminate(){this.worker.terminate()}addListener(e,t){this.listeners[e]=t}removeListener(e){delete this.listeners[e]}sendQuery(e,...t){this.worker.postMessage({queryMethod:e,queryMethodArguments:t})}}class l{constructor(){this.loaded=!1,this.workersLimit=4,this.players={},this.byGroups={},this.workers=[],this.curWorkerNum=0,this.visible=new Set,this.debug=!0,this.observer=new IntersectionObserver(e=>{for(const t of e){const e=t.target;for(const i in this.byGroups){const s=this.byGroups[i].find(t=>t.el==e);if(s){t.isIntersecting?(this.visible.add(s),this.checkAnimation(s,!1)):(this.visible.delete(s),this.checkAnimation(s,!0));break}}}})}loadLottieWorkers(){if(this.loadPromise)return this.loadPromise;const e=this.onFrame.bind(this),t=this.onPlayerLoaded.bind(this);return this.loadPromise=new Promise((i,s)=>{let a=this.workersLimit;for(let s=0;s{console.log("worker #"+s+" ready"),o.addListener("frame",e),o.addListener("loaded",t),--a,a||(console.log("workers ready"),i(),this.loaded=!0)})}})}applyReplacements(e,t){const i=l.COLORREPLACEMENTS[t-2],s=e=>{for(let t of e){switch(t.ty){case"st":case"fl":let e=t.c.k,s=o(e[2])|o(e[1])<<8|o(e[0])<<16,a=i.find(e=>e[0]==s);a&&(e[0]=(a[1]>>16&255)/255,e[1]=(a[1]>>8&255)/255,e[2]=(255&a[1])/255)}t.hasOwnProperty("it")&&s(t.it)}};for(let t of e.layers)if(t.shapes)for(let e of t.shapes)s(e.it)}loadAnimationWorker(e,t="",i=-1){var a;return s(this,void 0,void 0,(function*(){e.autoplay=!0,i>=1&&i<=5&&this.applyReplacements(e.animationData,i),this.loaded||(yield this.loadLottieWorkers());const s=e.width||parseInt(e.container.style.width),o=e.height||parseInt(e.container.style.height),n=this.initPlayer(e.container,e.animationData,s,o);for(let t in e)n.hasOwnProperty(t)&&(n[t]=e[t]);return(null!==(a=this.byGroups[t])&&void 0!==a?a:this.byGroups[t]=[]).push(n),n}))}checkAnimations(e,t,i=!1){const s=Object.keys(this.byGroups);t&&!this.byGroups[t]&&(console.warn("no animation group:",t),this.byGroups[t]=[]);for(const t of s){this.byGroups[t].forEach(t=>{this.checkAnimation(t,e,i)})}}checkAnimation(e,t=!1,i=!1){i||!a.isInDOM(e.el)&&e.listenerResults.hasOwnProperty("ready")?e.destroy():t?e.paused||(this.debug&&console.log("pause animation",e),e.pause()):e.paused&&this.visible.has(e)&&e.autoplay&&(this.debug&&console.log("play animation",e),e.play())}onPlayerLoaded(e,t,i){const s=this.players[e];s?(s.el.appendChild(s.canvas),s.curFrame=1==s.direction?0:t-1,s.frameCount=t,s.fps=i,s.sendQuery("renderFrame",0),s.setListenerResult("ready"),this.observer.observe(s.el)):this.debug&&console.warn("onPlayerLoaded on destroyed player:",e,t)}onFrame(e,t,i){const s=this.players[e];s?s.renderFrame(i,t):this.debug&&console.warn("onFrame on destroyed player:",e,t)}onDestroy(e){let t=this.players[e];for(let e in this.byGroups)this.byGroups[e].findAndSplice(e=>e==t);delete this.players[t.reqId],this.observer.unobserve(t.el),this.visible.delete(t)}destroyWorkers(){this.workers.forEach((e,t)=>{e.terminate(),console.log("worker #"+t+" terminated")}),console.log("workers destroyed"),this.workers.length=0}initPlayer(e,t,i,s){const a=new n({el:e,width:i,height:s,worker:this.workers[this.curWorkerNum++]});return this.players[a.reqId]=a,this.curWorkerNum>=this.workers.length&&(this.curWorkerNum=0),a.loadFromData(t),a}}l.COLORREPLACEMENTS=[[[16219713,13275258],[16757049,15582629],[16765248,16245699],[16768889,16510934]],[[16219713,11172960],[16757049,13150599],[16765248,14534815],[16768889,15128242]],[[16219713,9199944],[16757049,11371874],[16765248,12885622],[16768889,13939080]],[[16219713,7224364],[16757049,9591348],[16765248,10579526],[16768889,11303506]]];const d=new l;window.LottieLoader=d,t.default=d},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(1)),o=i(0),n=s(i(4)),r=s(i(5)),l=s(i(7)),d=s(i(16)),c=s(i(25)),u=i(3),h=s(i(8)),p=s(i(36)),m=i(13),g=s(i(14)),f=s(i(37)),b=s(i(48)),v=s(i(6)),y=s(i(19)),w=i(32),x=s(i(24)),_=i(2),k=i(78),M=s(i(9)),D=s(i(80)),S=s(i(30)),E=s(i(11)),I=s(i(38)),X=s(i(39)),P=s(i(29)),L=s(i(81)),C=s(i(82)),T=i(45);console.log("appImManager included!"),b.default;const A=["messageActionChannelMigrateFrom"];class j{constructor(e){this.attachTo=e,this.element=document.getElementById("bubble-contextmenu"),this.buttons={},_.parseMenuButtonsTo(this.buttons,this.element.children),e.addEventListener("contextmenu",e=>{let t=null;try{t=o.findUpClassName(e.target,"bubble__container")}catch(e){}if(!t)return;if(e.preventDefault(),this.element.classList.contains("active"))return!1;e.cancelBubble=!0,t=t.parentElement;let i=+t.dataset.mid;if(!i)return;let s=o.$rootScope.selectedPeerID;this.msgID=i;const a=r.default.getMessage(i);this.buttons.copy.style.display=a.message?"":"none",o.$rootScope.myID==s||s<0&&v.default.hasRights(-s,"pin")?this.buttons.pin.style.display="":this.buttons.pin.style.display="none",this.buttons.edit.style.display=r.default.canEditMessage(i)?"":"none";let n=t.classList.contains("is-in")?"left":"right";_.positionMenu(e,this.element,n),_.openBtnMenu(this.element)}),this.buttons.copy.addEventListener("click",()=>{let e=r.default.getMessage(this.msgID),t=e?e.message:"";var i=document.createElement("textarea");i.value=t,i.style.position="fixed",document.body.appendChild(i),i.focus(),i.select();try{document.execCommand("copy")}catch(e){console.error("Oops, unable to copy",e)}document.body.removeChild(i)}),this.buttons.delete.addEventListener("click",()=>{let e,t,i,s=o.$rootScope.selectedPeerID,a=l.default.getPeerTitle(s,!1,!0),n=e=>{r.default.deleteMessages([this.msgID],e)};e="Delete Message?",t="Are you sure you want to delete this message?",s==o.$rootScope.myID?i=[{text:"DELETE",isDanger:!0,callback:()=>n(!1)}]:(i=[{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>n(!1)}],s>0?i.push({text:"DELETE FOR ME AND "+a,isDanger:!0,callback:()=>n(!0)}):v.default.hasRights(-s,"deleteRevoke")&&i.push({text:"DELETE FOR ALL",isDanger:!0,callback:()=>n(!0)})),i.push({text:"CANCEL",isCancel:!0}),new T.PopupPeer("popup-delete-chat",{peerID:s,title:"Delete Message?",description:"Are you sure you want to delete this message?",buttons:i}).show()}),this.buttons.reply.addEventListener("click",()=>{const e=r.default.getMessage(this.msgID),t=B.chatInputC;t.setTopInfo(l.default.getPeerTitle(e.fromID,!0),e.message,void 0,e),t.replyToMsgID=this.msgID,t.editMsgID=0}),this.buttons.forward.addEventListener("click",()=>{I.default.init([this.msgID])}),this.buttons.edit.addEventListener("click",()=>{const e=r.default.getMessage(this.msgID),t=B.chatInputC;t.setTopInfo("Editing",e.message,e.message,e),t.replyToMsgID=0,t.editMsgID=this.msgID}),this.buttons.pin.addEventListener("click",()=>{a.default.invokeApi("messages.updatePinnedMessage",{flags:0,peer:l.default.getInputPeerByID(o.$rootScope.selectedPeerID),id:this.msgID}).then(e=>{y.default.processUpdateMessage(e)})})}}class F{constructor(){this.pageEl=document.getElementById("page-chats"),this.btnMute=this.pageEl.querySelector(".tool-mute"),this.btnMenuMute=this.pageEl.querySelector(".menu-mute"),this.avatarEl=document.getElementById("im-avatar"),this.titleEl=document.getElementById("im-title"),this.subtitleEl=document.getElementById("im-subtitle"),this.bubblesContainer=document.getElementById("bubbles"),this.chatInner=document.getElementById("bubbles-inner"),this.searchBtn=this.pageEl.querySelector(".chat-search-button"),this.goDownBtn=this.pageEl.querySelector("#bubbles-go-down"),this.chatInputC=null,this.myID=0,this.peerID=0,this.bubbles={},this.dateMessages={},this.unreadOut=new Set,this.needUpdate=[],this.offline=!1,this.updateStatusInterval=0,this.pinnedMsgID=0,this.pinnedMessageContainer=this.pageEl.querySelector(".pinned-message"),this.pinnedMessageContent=this.pinnedMessageContainer.querySelector(".pinned-message-subtitle"),this.lazyLoadQueue=new S.default,this.scroll=null,this.scrollable=null,this.preloader=null,this.typingTimeouts={},this.typingUsers={},this.topbar=document.getElementById("topbar"),this.chatInput=document.getElementById("chat-input"),this.contextMenu=new j(this.bubblesContainer),this.setPeerPromise=null,this.bubbleGroups=new D.default,this.scrolledDown=!0,this.onScrollRAF=0,this.isScrollingTimeout=0,this.unreadedObserver=null,this.unreaded=[],this.loadedTopTimes=0,this.loadedBottomTimes=0,this.messagesQueuePromise=null,this.messagesQueue=[],this.messagesQueueOnRender=null,this.firstUnreadBubble=null,this.stickyIntersector=null,this.cleanupID=0,this.log=m.logger("IM"),this.chatInputC=new k.ChatInput,this.preloader=new x.default(null,!1),a.default.getUserID().then(e=>{this.myID=o.$rootScope.myID=e}),o.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=o.$rootScope.myID=t?t.id:0}),o.$rootScope.$on("history_append",e=>{let t=e.detail;this.scrolledAllDown?this.renderNewMessagesByIDs([t.messageID],!0):this.setPeer(this.peerID,0)}),o.$rootScope.$on("history_update",e=>{let t=e.detail;if(t.mid&&t.peerID==this.peerID){let e=t.mid,i=this.bubbles[e];if(!i)return;let s=r.default.getMessage(e);this.getDateContainerByMessage(s,!1).container.append(i),this.bubbleGroups.addBubble(i,s,!1)}}),o.$rootScope.$on("history_multiappend",e=>{let t=e.detail;if(!(this.peerID in t))return;let i=t[this.peerID];this.renderNewMessagesByIDs(i)}),o.$rootScope.$on("history_delete",e=>{let t=e.detail;this.deleteMessagesByIDs(Object.keys(t.msgs).map(e=>+e))}),o.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID;this.peerID==t&&this.deleteMessagesByIDs(Object.keys(this.bubbles).map(e=>+e))}),o.$rootScope.$on("message_sent",e=>{let{tempID:t,mid:i}=e.detail;this.log("message_sent",e.detail);let s=r.default.getMessage(i);if(s.media)if(s.media.photo){let e=h.default.getPhoto(t);if(e){let t=s.media.photo;t.downloaded=e.downloaded,t.url=e.url}}else if(s.media.document){let e=E.default.getDoc(t);if(e&&e.type&&"sticker"!=e.type){let t=s.media.document;t.downloaded=e.downloaded,t.url=e.url}}let a=this.bubbles[t];if(a){if(this.bubbles[i]=a,s.grouped_id){let e=a.querySelectorAll(".album-item"),t=Object.keys(r.default.groupedMessagesStorage[s.grouped_id]).map(e=>+e).sort((e,t)=>e-t);Array.from(e).forEach((e,i)=>{e.dataset.mid=""+t[i]})}a.classList.remove("is-sending"),a.classList.add("is-sent"),a.dataset.mid=i,this.bubbleGroups.removeBubble(a,t),delete this.bubbles[t]}else this.log.warn("message_sent there is no bubble",e.detail);this.unreadOut.has(t)&&(this.unreadOut.delete(t),this.unreadOut.add(i))}),o.$rootScope.$on("message_edit",e=>{let{peerID:t,mid:i,id:s,justMedia:a}=e.detail;if(t!=this.peerID)return;let o=r.default.getMessage(i),n=this.bubbles[i];if(!n&&o.grouped_id){let e=this.getAlbumBubble(o.grouped_id);n=e.bubble,o=e.message}n&&this.renderMessage(o,!0,!1,n,!1)}),o.$rootScope.$on("messages_downloaded",e=>{e.detail.forEach(e=>{if(this.pinnedMsgID==e){let t=r.default.getMessage(e);this.pinnedMessageContainer.dataset.mid=""+e,this.pinnedMessageContainer.style.display="",this.pinnedMessageContent.innerHTML=t.rReply}this.needUpdate.forEachReverse((t,i)=>{if(t.replyMid==e){let{mid:e,replyMid:t}=this.needUpdate.splice(i,1)[0],s=this.bubbles[e];if(!s)return;let a=r.default.getMessage(e);r.default.getMessage(t).deleted&&delete a.reply_to_mid,this.renderMessage(a,!0,!1,s,!1)}})})}),o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),window.addEventListener("blur",()=>{g.default.checkAnimations(!0),this.offline=!0,this.updateStatus(),clearInterval(this.updateStatusInterval),window.addEventListener("focus",()=>{g.default.checkAnimations(!1),this.offline=!1,this.updateStatus(),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4)},{once:!0})}),this.pageEl.querySelector(".person").addEventListener("click",e=>{p.default.toggleSidebar(!0)}),this.bubblesContainer.addEventListener("click",e=>{var t;let i=e.target,s=null;try{s=o.findUpClassName(i,"bubble")}catch(e){}if(!s)return;let a=o.findUpClassName(i,"contact");if(a)this.setPeer(+a.dataset.peerID);else if("SPAN"!=i.tagName){if("IMG"==i.tagName&&!i.classList.contains("emoji")&&"AVATAR-ELEMENT"!=i.parentElement.tagName||"image"==i.tagName||i.classList.contains("album-item")||"VIDEO"==i.tagName&&!s.classList.contains("round")){let e=+(null===(t=o.findUpClassName(i,"album-item"))||void 0===t?void 0:t.dataset.mid)||+s.dataset.mid,a=r.default.getMessage(e);if(!a)return void this.log.warn("no message by messageID:",e);let n=[],l=Object.keys(this.bubbles).map(e=>+e).filter(e=>{let t=r.default.getMessage(e);return t.media&&(t.media.photo||t.media.document&&("video"==t.media.document.type||"gif"==t.media.document.type)||t.media.webpage&&(t.media.webpage.document||t.media.webpage.photo))}).sort((e,t)=>e-t);l.forEach(e=>{let t=this.bubbles[e].querySelectorAll(".album-item img, .album-item video, .preview img, .preview video, .bubble__media-container");Array.from(t).forEach(t=>{let i=o.findUpClassName(t,"album-item");n.push({element:t,mid:+(null==i?void 0:i.dataset.mid)||e})})});let d=n.findIndex(t=>t.mid==e);this.log("open mediaViewer single with ids:",l,d,n),f.default.openMedia(a,n[d].element,!0,this.scroll.parentElement,n.slice(0,d),n.slice(d+1))}if(-1===["IMG","DIV"].indexOf(i.tagName)&&(i=o.findUpTag(i,"DIV")),"DIV"==i.tagName||"AVATAR-ELEMENT"==i.tagName){if(i.classList.contains("goto-original")){let e=s.dataset.savedFrom.split("_"),t=+e[0],i=+e[1];return void this.setPeer(t,i)}if("AVATAR-ELEMENT"==i.tagName||i.classList.contains("name")){let e=+i.dataset.peerID;return void(isNaN(e)||this.setPeer(e))}let t=!1;try{t=!!o.findUpClassName(e.target,"reply")}catch(e){}if(t&&s.classList.contains("is-reply")){let e=+s.getAttribute("data-original-mid");this.setPeer(this.peerID,e)}}else if("IMG"==i.tagName&&"AVATAR-ELEMENT"==i.parentElement.tagName){let e=+i.parentElement.dataset.peerID;isNaN(e)||this.setPeer(e)}}else{let e=i.parentElement.querySelector("video");e&&e.click()}}),this.searchBtn.addEventListener("click",e=>{this.peerID&&p.default.beginSearch()}),this.pinnedMessageContainer.addEventListener("click",e=>{e.preventDefault(),e.cancelBubble=!0;let t=+this.pinnedMessageContainer.getAttribute("data-mid");this.setPeer(this.peerID,t)}),this.btnMenuMute.addEventListener("click",()=>this.mutePeer(this.peerID)),this.btnMute.addEventListener("click",()=>this.mutePeer(this.peerID));document.body.addEventListener("keydown",e=>{let t=e.target;if(this.chatInputC.attachMediaPopUp.container.classList.contains("active"))return"INPUT"!=t.tagName&&this.chatInputC.attachMediaPopUp.captionInput.focus(),void("Enter"==e.key?this.chatInputC.attachMediaPopUp.sendBtn.click():"Escape"==e.key&&this.chatInputC.attachMediaPopUp.container.classList.remove("active"));if("Escape"==e.key)f.default.wholeDiv.classList.contains("active")?f.default.buttons.close.click():I.default.container.classList.contains("active")?I.default.close():this.chatInputC.replyElements.container.classList.contains("active")?this.chatInputC.replyElements.cancelBtn.click():0!=this.peerID&&this.setPeer(0);else{if("Meta"==e.key||"Control"==e.key)return;if("c"==e.key&&(e.ctrlKey||e.metaKey)&&"INPUT"!=t.tagName)return}e.target!=this.chatInputC.messageInput&&"INPUT"!=t.tagName&&(this.chatInputC.messageInput.focus(),o.placeCaretAtEnd(this.chatInputC.messageInput))}),this.goDownBtn.addEventListener("click",()=>{let e=r.default.getDialogByPeerID(this.peerID)[0];e?this.setPeer(this.peerID,e.top_message):(this.log("will scroll down 3"),this.scroll.scrollTop=this.scroll.scrollHeight)}),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),this.updateStatus(),setInterval(()=>this.setPeerStatus(),6e4),this.setScroll(),this.stickyIntersector=new C.default(this.scrollable.container,(e,t)=>{for(let i in this.dateMessages){let s=this.dateMessages[i];if(s.container==t){s.div.classList.toggle("is-sticky",e);break}}}),this.unreadedObserver=new IntersectionObserver(e=>{let t=[];if(e.forEach(e=>{if(e.isIntersecting){let i=e.target,s=+i.dataset.mid;t.push(s),this.unreadedObserver.unobserve(i),this.unreaded.findAndSplice(e=>e==s)}}),t.length){let e=Math.max(...t),i=t.length;for(let t=this.unreaded.length-1;t>=0;--t){this.unreaded[t]{this.log.error("readHistory err:",t),r.default.readHistory(this.peerID,e,i)})}})}updateStatus(){return this.myID?(n.default.setUserStatus(this.myID,this.offline),a.default.invokeApi("account.updateStatus",{offline:this.offline})):Promise.resolve()}getAlbumBubble(e){let t=r.default.groupedMessagesStorage[e];for(let e in t){let t=+e;if(this.bubbles[t])return{bubble:this.bubbles[t],message:r.default.getMessage(t)}}return null}loadMoreHistory(e){if(this.log("loadMoreHistory",e),!this.peerID||this.setPeerPromise||e&&this.getHistoryTopPromise||!e&&this.getHistoryBottomPromise)return;let t=Object.keys(this.bubbles).map(e=>+e).filter(e=>e>0).sort((e,t)=>e-t);if(!t.length)return;if(e&&!this.scrolledAll&&(this.log("Will load more (up) history by id:",t[0],"maxID:",t[t.length-1],t),this.getHistory(t[0],!0)),this.scrolledAllDown)return;let i=r.default.getDialogByPeerID(this.peerID)[0];e||i&&-1!==t.indexOf(i.top_message)||(this.log("Will load more (down) history by maxID:",t[t.length-1],t),this.getHistory(t[t.length-1],!1,!0))}onScroll(){this.onScrollRAF&&window.cancelAnimationFrame(this.onScrollRAF),this.onScrollRAF=window.requestAnimationFrame(()=>{g.default.checkAnimations(!1,"chat"),this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling"),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},300),this.scroll.scrollHeight-Math.round(this.scroll.scrollTop+this.scroll.offsetHeight)<=1?(this.scroll.parentElement.classList.add("scrolled-down"),this.scrolledDown=!0):this.scroll.parentElement.classList.contains("scrolled-down")&&(this.scroll.parentElement.classList.remove("scrolled-down"),this.scrolledDown=!1),this.onScrollRAF=0})}setScroll(){this.scrollable=new M.default(this.bubblesContainer,"y","IM",this.chatInner,300),this.scroll=this.scrollable.container,this.bubblesContainer.append(this.goDownBtn),this.scrollable.onScrolledTop=()=>this.loadMoreHistory(!0),this.scrollable.onScrolledBottom=()=>this.loadMoreHistory(!1),this.scroll.addEventListener("scroll",this.onScroll.bind(this)),this.scroll.parentElement.classList.add("scrolled-down")}setPeerStatus(e=!1){if(this.myID)if(this.peerID<0){let t=l.default.getPeer(this.peerID),i=l.default.isChannel(this.peerID)&&!l.default.isMegagroup(this.peerID);this.subtitleEl.classList.remove("online"),p.default.profileElements.subtitle.classList.remove("online"),e&&(this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=""),d.default.getChatFull(t.id).then(e=>{this.log("chatInfo res:",e),e.pinned_msg_id&&(this.pinnedMsgID=e.pinned_msg_id,r.default.wrapSingleMessage(e.pinned_msg_id));let s=e.participants_count||e.participants&&e.participants.participants&&e.participants.participants.length;if(s){let e=o.numberWithCommas(s)+" "+(i?"subscribers":"members");if(this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=e,s<2)return;v.default.getOnlines(t.id).then(t=>{t>1&&(e+=", "+o.numberWithCommas(t)+" online"),this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=e})}})}else if(n.default.isBot(this.peerID))this.subtitleEl.innerText="bot",p.default.profileElements.subtitle.innerText="bot";else{let e=n.default.getUser(this.peerID);if(this.myID==this.peerID)this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText="";else if(e&&e.status){let t=n.default.getUserStatusString(e.id);"online"==t&&(this.subtitleEl.classList.add("online"),p.default.profileElements.subtitle.classList.add("online")),p.default.profileElements.subtitle.innerText=t,this.typingUsers[this.peerID]==this.peerID?(this.subtitleEl.innerText="typing...",this.subtitleEl.classList.add("online")):(this.subtitleEl.innerText=t,"online"!=t&&(this.subtitleEl.classList.remove("online"),p.default.profileElements.subtitle.classList.remove("online")))}}}cleanup(e=!1){this.scrolledAll=!1,this.scrolledAllDown=!1,this.bubbles={},this.dateMessages={},this.bubbleGroups.cleanup(),this.unreadOut.clear(),this.needUpdate.length=0,this.lazyLoadQueue.clear(),this.chatInputC.messageInput.innerHTML="",this.chatInputC.replyElements.cancelBtn.click(),e&&(this.scrollable.container.innerHTML=""),this.peerChanged=!1,this.firstUnreadBubble=null,this.attachedUnreadBubble=!1,this.messagesQueue.length=0,this.messagesQueuePromise=null,g.default.checkAnimations(!1,"chat",!0),this.getHistoryTopPromise=this.getHistoryBottomPromise=void 0,this.stickyIntersector.disconnect(),this.unreadedObserver.disconnect(),this.unreaded.length=0,this.loadedTopTimes=this.loadedBottomTimes=0,this.cleanupID++}setPeer(e,t){var i;if(0==e)return p.default.toggleSidebar(!1),this.topbar.style.display=this.chatInput.style.display=this.goDownBtn.style.display="none",this.cleanup(!0),this.peerID=o.$rootScope.selectedPeerID=0,o.$rootScope.$broadcast("peer_changed",this.peerID),!1;const s=this.peerID==e;if(this.setPeerPromise&&s)return this.setPeerPromise;const a=r.default.getDialogByPeerID(e)[0]||null,n=t<=0?t:null!==(i=null==a?void 0:a.top_message)&&void 0!==i?i:0,l=void 0!==t;if(!l&&a&&(t=a.unread_count&&!s?a.read_inbox_max_id:a.top_message),s){if(this.bubbles[t])return a&&t==n?(this.log("will scroll down",this.scroll.scrollTop,this.scroll.scrollHeight),this.scroll.scrollTop=this.scroll.scrollHeight):l&&(this.scrollable.scrollIntoView(this.bubbles[t]),this.highlightBubble(this.bubbles[t])),!0}else p.default.searchCloseBtn.click();this.peerID=o.$rootScope.selectedPeerID=e,this.log("setPeer peerID:",this.peerID,a,t,n);const d=t!=n,c=d?0:n,u=s&&Math.max(...Object.keys(this.bubbles).map(e=>+e)),h=this.chatInner;this.cleanup(),this.chatInner=document.createElement("div"),this.chatInner.id="bubbles-inner",this.scrollable.appendTo=this.chatInner,this.chatInner.className=h.className,this.chatInner.classList.add("disable-hover","is-scrolling"),this.lazyLoadQueue.lock();const{promise:m,cached:g}=this.getHistory(t,!0,d,c);return s?this.peerChanged=!0:p.default.setPeer(this.peerID),g||(this.scrollable.container.innerHTML="",!s&&this.finishPeerChange(),this.preloader.attach(this.bubblesContainer)),this.setPeerPromise=Promise.all([m.then(()=>{if(g?(this.scrollable.container.innerHTML="",!s&&this.finishPeerChange()):this.preloader.detach(),this.scrollable.container.append(this.chatInner),this.lazyLoadQueue.unlock(),a&&t&&t!=n&&(this.bubbles[t]||this.firstUnreadBubble)){this.scrollable.scrollLocked&&(clearTimeout(this.scrollable.scrollLocked),this.scrollable.scrollLocked=0);const e=u>0&&(u{throw this.log.error("getHistory promise error:",e),e})]).catch(e=>(this.log.error("setPeer promises error:",e),this.preloader.detach(),!1)).then(t=>(this.peerID==e&&(this.setPeerPromise=null),!!t)),p.default.setLoadMutex(this.setPeerPromise),p.default.loadSidebarMedia(!0),this.setPeerPromise}finishPeerChange(){if(this.peerChanged)return;let e=this.peerID;this.peerChanged=!0,this.avatarEl.setAttribute("peer",""+this.peerID);const t=l.default.isChannel(e),i=t&&v.default.hasRights(-e,"send");this.chatInner.classList.toggle("has-rights",i),this.chatInput.style.display=!t||i?"":"none",this.topbar.style.display="",this.chatInner.classList.toggle("is-chat",l.default.isAnyGroup(e)||e==this.myID),this.chatInner.classList.toggle("is-channel",t),this.pinnedMessageContainer.style.display="none",this.btnMute.style.display=l.default.isBroadcast(e)?"":"none",window.requestAnimationFrame(()=>{let e="";e=this.peerID==this.myID?"Saved Messages":l.default.getPeerTitle(this.peerID),this.titleEl.innerHTML=p.default.profileElements.name.innerHTML=e,this.goDownBtn.style.display="",this.setPeerStatus(!0)}),p.default.fillProfileElements(),o.$rootScope.$broadcast("peer_changed",this.peerID)}setTyping(e){if(!this.peerID)return Promise.resolve(!1);"string"==typeof e&&(e={_:e});let t=l.default.getInputPeerByID(this.peerID);return a.default.invokeApi("messages.setTyping",{peer:t,action:e})}updateUnreadByDialog(e){let t=this.peerID==this.myID?e.read_inbox_max_id:e.read_outbox_max_id;for(let e of this.unreadOut)if(e>0&&e<=t){let t=this.bubbles[e];t&&(t.classList.remove("is-sent"),t.classList.add("is-read")),this.unreadOut.delete(e)}}deleteMessagesByIDs(e){e.forEach(e=>{if(!(e in this.bubbles))return;let t=this.bubbles[e];delete this.bubbles[e],this.firstUnreadBubble==t&&(this.firstUnreadBubble=null),this.bubbleGroups.removeBubble(t,e),this.unreadedObserver.unobserve(t),this.scrollable.removeElement(t)}),g.default.checkAnimations(),this.deleteEmptyDateGroups()}renderNewMessagesByIDs(e,t=this.scrolledDown){this.scrolledAllDown?(e.forEach(e=>{let t=r.default.getMessage(e);this.renderMessage(t)}),this.messagesQueuePromise&&t&&(this.scrollable.scrollTo(this.scrollable.scrollHeight-1,!1,!0),this.messagesQueuePromise.then(()=>{this.log("messagesQueuePromise after:",this.chatInner.childElementCount,this.scrollable.scrollHeight),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0),setTimeout(()=>{this.log("messagesQueuePromise afterafter:",this.chatInner.childElementCount,this.scrollable.scrollHeight)},10)}))):this.log("seems search is active, skipping render:",e)}highlightBubble(e){e.dataset.timeout&&(clearTimeout(+e.dataset.timeout),e.classList.remove("is-selected"),e.offsetWidth),e.classList.add("is-selected"),e.dataset.timeout=""+setTimeout(()=>{e.classList.remove("is-selected"),delete e.dataset.timeout},2e3)}getDateContainerByMessage(e,t){let i=new Date(1e3*e.date),s=new Date(i.getFullYear(),i.getMonth(),i.getDate()),a=s.getTime();if(!(a in this.dateMessages)){let e="",o=new Date;if(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o
${e}
`;let r=document.createElement("div");r.className="bubbles-date-group",this.dateMessages[a]={div:n,container:r,firstTimestamp:i.getTime()},r.append(n),t?this.scrollable.prepend(r,!1):this.scrollable.append(r,!1),this.stickyIntersector.observeStickyHeaderChanges(r)}return this.dateMessages[a]}renderMessagesQueue(e,t,i){let s=[];Array.from(t.querySelectorAll("img, video")).forEach(e=>{if(e instanceof HTMLVideoElement){let t=e.firstElementChild;if(!t||!t.src)return void this.log.warn("no source",e,t,"src",t.src);if(e.readyState>=4)return}else if(e.complete||!e.src)return;let t=e.src,i=new Promise((i,s)=>{let a,o=()=>{clearTimeout(r),i()};e instanceof HTMLVideoElement?(e.addEventListener("loadeddata",o),a=()=>e.readyState>=4):(e.addEventListener("load",o),a=()=>e.complete);let n=()=>a()?o():window.requestAnimationFrame(n);window.requestAnimationFrame(n);let r=setTimeout(()=>{console.log("did not called",e,e.parentElement,e.complete,t),s()},1500)});s.push(i)}),this.messagesQueue.push({message:e,bubble:t,reverse:i,promises:s}),this.messagesQueuePromise||(this.messagesQueuePromise=new Promise((e,t)=>{setTimeout(()=>{let i=this.chatInner,s=this.messagesQueue.slice();this.messagesQueue.length=0;let a=s.reduce((e,{promises:t})=>e.concat(t),[]);Promise.all(a).then(()=>{if(this.chatInner!=i)return this.log.warn("chatInner changed!",this.chatInner,i),t("chatInner changed!");this.messagesQueueOnRender&&this.messagesQueueOnRender(),s.forEach(({message:e,bubble:t,reverse:i})=>{let s=this.getDateContainerByMessage(e,i);i?s.container.insertBefore(t,s.div.nextSibling):s.container.append(t)}),e(),this.messagesQueuePromise=null},t)},0)}))}getMiddleware(){let e=this.cleanupID;return()=>this.cleanupID==e}renderMessage(e,t=!1,i=!1,s=null,a=!0){if(this.log("message to render:",e),e.deleted)return;if(e.grouped_id){let t=r.default.groupedMessagesStorage[e.grouped_id],i=Math.max(...Object.keys(t).map(e=>+e));if(e.mid${h}`,a&&this.renderMessagesQueue(e,s,t),s}let g=new Date(1e3*e.date),f=("0"+g.getHours()).slice(-2)+":"+("0"+g.getMinutes()).slice(-2);e.views&&(s.classList.add("channel-post"),f=o.formatNumber(e.views,1)+' '+f),e.edit_date&&(s.classList.add("is-edited"),f='edited '+f);let b=document.createElement("span");b.classList.add("time");let v,y,x=document.createElement("div");if(x.classList.add("inner","tgico"),x.innerHTML=f,e.grouped_id){let t=r.default.groupedMessagesStorage[e.grouped_id],i=0;for(let e in t){let s=t[e];if(s.message){if(++i>1)break;v=s.message,y=s.totalEntities}}i>1&&(v=void 0,y=void 0)}v||y||(v=e.message,y=e.totalEntities);let k=u.RichTextProcessor.wrapRichText(v,{entities:y}),M=e.media;if(y){let e=y.filter(e=>"messageEntityEmoji"==e._),t=v.length;if(e.reduce((e,t)=>e+t.length,0)==t&&e.length<=3){let t=X.default.getAnimatedEmojiSticker(v);if(1==e.length&&!M&&t)M={_:"messageMediaDocument",document:t};else{let t=document.createElement("div");t.classList.add("attachment"),t.innerHTML=k,s.classList.add("emoji-"+e.length+"x"),d.append(t)}s.classList.add("is-message-empty","emoji-big")}else m.innerHTML=k}else m.innerHTML=k;if(b.appendChild(x),m.append(b),d.prepend(m),e.reply_markup&&"replyInlineMarkup"==e.reply_markup._&&e.reply_markup.rows&&e.reply_markup.rows.length){let t=e.reply_markup.rows,i=document.createElement("div");i.classList.add("reply-markup"),t.forEach(t=>{let s=t.buttons;if(!s||!s.length)return;let a=document.createElement("div");a.classList.add("reply-markup-row"),s.forEach(t=>{let i,s=u.RichTextProcessor.wrapRichText(t.text,{noLinks:!0,noLinebreaks:!0});switch(t._){case"keyboardButtonUrl":{let s=n.default.getUser(e.fromID),a=!(s&&s.pFlags&&s.pFlags.verified),o=u.RichTextProcessor.wrapUrl(t.url,a);i=document.createElement("a"),i.href=o,i.rel="noopener noreferrer",i.target="_blank",i.classList.add("is-link","tgico");break}default:i=document.createElement("button")}i.classList.add("reply-markup-button","rp"),i.innerHTML=s,_.ripple(i),a.append(i)}),i.append(a)}),i.addEventListener("click",i=>{let s=i.target;if(s.classList.contains("reply-markup-button")||(s=o.findUpClassName(s,"reply-markup-button")),!s)return;let a=o.whichChild(s),n=t[o.whichChild(s.parentElement)];if(!n.buttons||!n.buttons[a])return void this.log.warn("no such button",n,a,e);let r=n.buttons[a];L.default.callbackButtonClick(e.mid,r)});let s=45*t.length+"px";d.style.marginBottom=s,i.style.bottom="-"+s,d.prepend(i)}if(p){(e.pFlags.unread||e.mid<0)&&this.unreadOut.add(e.mid);let t="";t=e.mid<0?"is-sending":e.pFlags.unread?"is-sent":"is-read",s.classList.add(t)}else e.pFlags.unread&&(this.unreadedObserver.observe(s),this.unreaded.indexOf(e.mid)||this.unreaded.push(e.mid));const D=p&&(!e.fwd_from||this.peerID!=this.myID);if(M){let t=document.createElement("div");t.classList.add("attachment"),v||s.classList.add("is-message-empty");let a=!1;switch(M._){case"messageMediaPending":{let i=M,o=i.preloader;switch(i.type){case"album":this.log("will wrap pending album"),s.classList.add("hide-name","photo","is-album"),w.wrapAlbum({groupID:""+e.id,attachmentDiv:t,uploading:!0,isOut:!0});break;case"photo":this.log("will wrap pending photo:",i,e,h.default.getPhoto(e.id)),w.wrapPhoto(e.id,e,t,void 0,void 0,!0,!0,this.lazyLoadQueue,null),s.classList.add("hide-name","photo");break;case"video":{let a=E.default.getDoc(e.id);this.log("will wrap pending video:",i,e,a),w.wrapVideo({doc:a,container:t,message:e,boxWidth:480,boxHeight:480,withTail:"round"!=a.type,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:null}),o.attach(t,!1),s.classList.add("hide-name","video");break}case"audio":case"document":{let e=w.wrapDocument(i,!1,!0),t=e.querySelector(".document-ico");o.attach(t,!1),s.classList.remove("is-message-empty"),m.classList.add((i.type||"document")+"-message"),m.append(e),a=!0;break}}break}case"messageMediaPhoto":{let i=M.photo;s.classList.add("hide-name","photo"),e.grouped_id?(s.classList.add("is-album"),w.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:p,lazyLoadQueue:this.lazyLoadQueue})):w.wrapPhoto(i.id,e,t,void 0,void 0,!0,D,this.lazyLoadQueue,this.getMiddleware());break}case"messageMediaWebPage":{a=!0;let t=M.webpage;if("webPageEmpty"==t._)break;s.classList.add("webpage");let i=document.createElement("div");i.classList.add("box","web");let o=document.createElement("div");o.classList.add("quote");let n=null;(t.photo||t.document)&&(n=document.createElement("div"),n.classList.add("preview"));let r=null;t.document&&(r=t.document,"gif"==r.type||"video"==r.type?(s.classList.add("video"),w.wrapVideo({doc:r,container:n,message:e,boxWidth:480,boxHeight:400,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),isOut:D})):r=null),n&&o.append(n);let l=document.createElement("div");if(l.classList.add("quote-text"),t.site_name){let e=document.createElement("a");e.classList.add("name"),e.setAttribute("target","_blank"),e.href=t.url||"#",e.innerHTML=u.RichTextProcessor.wrapEmojiText(t.site_name),l.append(e)}if(t.title){let e=document.createElement("div");e.classList.add("title"),e.innerHTML=u.RichTextProcessor.wrapRichText(t.title),l.append(e)}if(t.description){let e=document.createElement("div");e.classList.add("text"),e.innerHTML=u.RichTextProcessor.wrapRichText(t.description),l.append(e)}if(o.append(l),t.photo&&!r){s.classList.add("photo");const i=t.photo.sizes[t.photo.sizes.length-1];i.w==i.h&&l.childElementCount?s.classList.add("is-square-photo"):i.h>i.w&&s.classList.add("is-vertical-photo"),w.wrapPhoto(t.photo.id,e,n,480,400,!1,null,this.lazyLoadQueue,this.getMiddleware())}i.append(o),d.prepend(b,i);break}case"messageMediaDocument":{let o=M.document;if(o.sticker){s.classList.add("sticker"),o.animated&&s.classList.add("sticker-animated");let a=s.classList.contains("emoji-big")?140:200;h.default.setAttachmentSize(o,t,a,a,!0),d.style.height=t.style.height,d.style.width=t.style.width,w.wrapSticker({doc:o,div:t,middleware:this.getMiddleware(),lazyLoadQueue:this.lazyLoadQueue,group:"chat",play:!!e.pending||!i,emoji:s.classList.contains("emoji-big")?v:void 0});break}if("video"==o.type||"gif"==o.type||"round"==o.type){"round"==o.type&&s.classList.add("round"),s.classList.add("hide-name","video"),e.grouped_id?(s.classList.add("is-album"),w.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:p,lazyLoadQueue:this.lazyLoadQueue})):w.wrapVideo({doc:o,container:t,message:e,boxWidth:480,boxHeight:480,withTail:"round"!=o.type,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware()});break}if("audio/ogg"==o.mime_type){let e=w.wrapDocument(o);s.classList.remove("is-message-empty"),s.classList.add("bubble-audio"),m.append(e),a=!0;break}{let e=w.wrapDocument(o);s.classList.remove("is-message-empty"),m.append(e),m.classList.add((o.type||"document")+"-message"),a=!0;break}}case"messageMediaContact":{let t=document.createElement("div");t.classList.add("contact"),t.dataset.peerID=""+M.user_id,m.classList.add("contact-message"),a=!0;let i=[];e.media.first_name&&i.push(u.RichTextProcessor.wrapEmojiText(e.media.first_name)),e.media.last_name&&i.push(u.RichTextProcessor.wrapEmojiText(e.media.last_name)),t.innerHTML=`\n
\n
${i.join(" ")}
\n
${e.media.phone_number?"+"+_.formatPhoneNumber(e.media.phone_number).formatted:"Unknown phone number"}
\n
`;let o=new P.default;o.setAttribute("peer",""+e.media.user_id),o.classList.add("contact-avatar"),t.prepend(o),s.classList.remove("is-message-empty"),m.append(t);break}case"messageMediaPoll":{s.classList.remove("is-message-empty");let t=w.wrapPoll(e.media.poll.id,e.mid);m.prepend(t);break}default:s.classList.remove("is-message-empty"),m.innerHTML="unrecognized media type: "+e.media._,m.append(b),this.log.warn("unrecognized media type:",e.media._,e)}a||d.append(t)}if(this.peerID<0&&!p||e.fwd_from||e.reply_to_mid){let t=l.default.getPeerTitle(e.fwdFromID||e.fromID);if(e.fwd_from&&!e.fwd_from.from_id&&!e.fwd_from.channel_id&&(t=u.RichTextProcessor.wrapEmojiText(e.fwd_from.from_name),s.classList.add("hidden-profile")),e.fwdFromID||e.fwd_from){if(this.peerID!=this.myID&&s.classList.add("forwarded"),e.savedFrom){let t=document.createElement("div");t.classList.add("goto-original","tgico-next"),d.append(t),s.dataset.savedFrom=e.savedFrom}if(!s.classList.contains("sticker")){let i=document.createElement("div");i.classList.add("name"),i.dataset.peerID=e.fwdFromID,this.peerID==this.myID?(i.style.color=l.default.getPeerColorByID(e.fwdFromID,!1),i.innerHTML=t):i.innerHTML="Forwarded from "+t,d.append(i)}}else{if(e.reply_to_mid){let t=r.default.getMessage(e.reply_to_mid),i=l.default.getPeerTitle(t.fromID,!0)||"";"messageEmpty"==t._&&(r.default.wrapSingleMessage(e.reply_to_mid),this.needUpdate.push({replyMid:e.reply_to_mid,mid:e.mid}),i="Loading..."),t.mid?s.setAttribute("data-original-mid",t.mid):s.setAttribute("data-original-mid",e.reply_to_mid),d.append(w.wrapReply(i,t.message||"",t)),s.classList.add("is-reply")}if(!s.classList.contains("sticker")&&c<0&&c!=e.fromID){let i=document.createElement("div");i.classList.add("name"),i.innerHTML=t,i.style.color=l.default.getPeerColorByID(e.fromID,!1),i.dataset.peerID=e.fromID,d.append(i)}else s.classList.add("hide-name")}if(!p&&this.peerID<0&&(!l.default.isChannel(this.peerID)||l.default.isMegagroup(this.peerID))||this.peerID==this.myID&&!e.reply_to_mid){let t=new P.default;t.classList.add("user-avatar"),!e.fromID&&e.fwd_from&&e.fwd_from.from_name&&t.setAttribute("peer-title",e.fwd_from.from_name),t.setAttribute("peer",""+((e.fwd_from&&this.peerID==this.myID?e.fwdFromID:e.fromID)||0)),this.log("exec loadDialogPhoto",e),d.append(t)}}else s.classList.add("hide-name");return s.classList.add(D?"is-out":"is-in"),a?(this.bubbleGroups.addBubble(s,e,t),this.renderMessagesQueue(e,s,t)):this.bubbleGroups.updateGroupByMessageID(e.mid),s}performHistoryResult(e,t,i,s){e.length||(i?this.scrolledAllDown=!0:this.scrolledAll=!0),e=e.slice(),s&&e.unshift(s);let a=r.default.getDialogByPeerID(this.peerID)[0];if(a&&a.top_message)for(let t of e)if(t==a.top_message){this.scrolledAllDown=!0;break}return console.time("appImManager render history"),new Promise((i,s)=>{let a,o=(t?e.shift:e.pop).bind(e);for(this.scrollable.length>0&&t&&(this.messagesQueueOnRender=()=>{let e=this.scrollable.scrollTop;a=this.scrollable.scrollHeight-e,this.log("performHistoryResult: messagesQueueOnRender, scrollTop:",e,a),this.messagesQueueOnRender=void 0});e.length;){let e=r.default.getMessage(o());this.renderMessage(e,t,!0)}(this.messagesQueuePromise||Promise.resolve()).then(()=>{if(void 0!==a){const e=t?this.scrollable.scrollHeight-a:a;this.log("performHistoryResult: will set scrollTop",this.scrollable.scrollHeight,e,this.scrollable.container.clientHeight),this.scrollable.scrollTop=e}i(!0)},s)}).then(()=>(console.timeEnd("appImManager render history"),!0))}getHistory(e=0,t=!1,i=!1,s=0){let a=this.peerID,o=h.default.windowH/38|0,n=Object.keys(this.bubbles).length>0?Math.max(40,o):o,l=n;let d=0;i&&(d=l,t||(l=0,e+=1));let c,u,p=r.default.getHistory(this.peerID,e,l,d);return p instanceof Promise?(u=!1,c=p.then(o=>(this.log("getHistory not cached result by maxID:",e,t,i,o,a),this.peerID!=a?(this.log.warn("peer changed"),Promise.reject()):this.performHistoryResult(o.history||[],t,i,s)),e=>(this.log.error("getHistory error:",e),t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0,!1))):(u=!0,this.log("getHistory cached result by maxID:",e,t,i,p,a),c=this.performHistoryResult(p.history||[],t,i,s)),t?this.getHistoryTopPromise=c:this.getHistoryBottomPromise=c,c.then(()=>{let e;t?(this.loadedTopTimes++,this.loadedBottomTimes=Math.max(0,--this.loadedBottomTimes)):(this.loadedBottomTimes++,this.loadedTopTimes=Math.max(0,--this.loadedTopTimes)),(t&&this.loadedTopTimes>2||!t&&this.loadedBottomTimes>2)&&(e=Object.keys(this.bubbles).map(e=>+e).sort((e,t)=>e-t));let i=2*n;this.log("getHistory: slice loadedTimes:",t,o,this.loadedTopTimes,this.loadedBottomTimes,e&&e.length,i),e&&e.length>i&&(t?(e=e.slice(i),this.scrolledAllDown=!1):(e=e.slice(0,e.length-i),this.scrolledAll=!1,this.log("getHistory: slice bottom: to:",e.length,l)),this.log("getHistory: will slice ids:",e,t),this.deleteMessagesByIDs(e)),t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0,this.setUnreadDelimiter()}),{cached:u,promise:c}}setUnreadDelimiter(){if(this.attachedUnreadBubble)return;let e=r.default.getDialogByPeerID(this.peerID)[0];if(!(null==e?void 0:e.unread_count))return;let t=e.read_inbox_max_id;if(t=Object.keys(this.bubbles).filter(e=>!this.bubbles[e].classList.contains("is-out")).map(e=>+e).sort((e,t)=>e-t).find(e=>e>t),t&&this.bubbles[t]){let i=this.bubbles[t];this.firstUnreadBubble&&this.firstUnreadBubble!=i&&(this.firstUnreadBubble.classList.remove("is-first-unread"),this.firstUnreadBubble=null),t!=e.top_message&&i.classList.add("is-first-unread"),this.firstUnreadBubble=i,this.attachedUnreadBubble=!0}}deleteEmptyDateGroups(){for(let e in this.dateMessages){let t=this.dateMessages[e];2==t.container.childElementCount&&(t.container.remove(),this.stickyIntersector.unobserve(t.container,t.div),delete this.dateMessages[e])}}setMutedState(e=!1){p.default.profileElements.notificationsCheckbox.checked=!e,p.default.profileElements.notificationsStatus.innerText=e?"Disabled":"Enabled",l.default.isBroadcast(this.peerID)?(this.btnMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMute.classList.add(e?"tgico-unmute":"tgico-mute"),this.btnMute.style.display=""):this.btnMute.style.display="none",this.btnMenuMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMenuMute.classList.add(e?"tgico-unmute":"tgico-mute");let t=this.btnMenuMute.firstElementChild;this.btnMenuMute.innerText=e?"Unmute":"Mute",this.btnMenuMute.appendChild(t)}mutePeer(e){let t={_:"inputNotifyPeer",peer:l.default.getInputPeerByID(e)},i={_:"inputPeerNotifySettings",flags:0,mute_until:0},s=r.default.getDialogByPeerID(e)[0],o=!0;s&&s.notify_settings&&(o=s.notify_settings.mute_until>(Date.now()/1e3|0)),o?i.flags|=2:(i.flags|=4,i.mute_until=2147483647),a.default.invokeApi("account.updateNotifySettings",{peer:t,settings:i}).then(e=>{this.handleUpdate({_:"updateNotifySettings",peer:t,notify_settings:i})})}handleUpdate(e){switch(e._){case"updateUserTyping":case"updateChatUserTyping":{if(this.myID==e.user_id)return;var t="updateUserTyping"==e._?e.user_id:-e.chat_id;this.typingUsers[e.user_id]=t,n.default.hasUser(e.user_id)||e.chat_id&&v.default.hasChat(e.chat_id)&&!v.default.isChannel(e.chat_id)&&d.default.getChatFull(e.chat_id),n.default.forceUserOnline(e.user_id);let i=r.default.getDialogByPeerID(t)[0],s=this.peerID==t;this.typingTimeouts[t]?clearTimeout(this.typingTimeouts[t]):i&&(c.default.setTyping(i,n.default.getUser(e.user_id)),s&&this.setPeerStatus()),this.typingTimeouts[t]=setTimeout(()=>{this.typingTimeouts[t]=0,delete this.typingUsers[e.user_id],i&&c.default.unsetTyping(i),this.setPeerStatus()},6e3);break}case"updateNotifySettings":{let{peer:t,notify_settings:i}=e;t=t.peer;let s=l.default.getPeerID(t),a=r.default.getDialogByPeerID(s)[0];if(a&&(a.notify_settings=i),s==this.peerID){let e=!!i.mute_until&&new Date(1e3*i.mute_until)>new Date;this.setMutedState(e)}break}case"updateChatPinnedMessage":case"updateUserPinnedMessage":{let{id:t}=e;this.pinnedMsgID=t,(e.user_id||-e.chat_id||-e.channel_id)==this.peerID&&r.default.wrapSingleMessage(t);break}}}}t.AppImManager=F;const B=new F;window.appImManager=B,t.default=B},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(23)),r=a(i(6)),l=a(i(8)),d=a(i(4)),c=i(3),u=a(i(7)),h=a(i(19)),p=a(i(12)),m=a(i(1)),g=a(i(20)),f=i(2),b=a(i(27));class v{constructor(){this.botInfos={},this.usersFull={},this.chatsFull={},this.chatFullPromises={},this.chatParticipantsPromises={},this.savedAvatarURLs={},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChatParticipants":var i=t.participants;void 0!==(r=this.chatsFull[i.id])&&(r.participants=t.participants,o.$rootScope.$broadcast("chat_full_update",t.chat_id));break;case"updateChatParticipantAdd":if(void 0!==(r=this.chatsFull[t.chat_id])){for(var s=0,a=(i=r.participants.participants||[]).length;s{let t=e.detail,i=this.chatsFull[t],s=r.default.getChat(t);if(!s.photo||!i)return;let a="chatPhotoEmpty"==s.photo._;if(i.chat_photo&&a!=("photoEmpty"==i.chat_photo._))return delete this.chatsFull[t],void o.$rootScope.$broadcast("chat_full_update",t);if(a)return;let n=s.photo.photo_small,d=l.default.choosePhotoSize(i.chat_photo,0,0);JSON.stringify(n)!==JSON.stringify(d.location)&&(delete this.chatsFull[t],o.$rootScope.$broadcast("chat_full_update",t))})}saveBotInfo(e){let t=e&&e.user_id;if(!t)return!1;let i={};return e.commands.forEach(e=>{i[e.command]=e.description}),this.botInfos[t]={id:t,version:e.version,shareText:e.share_text,description:e.description,commands:i}}getProfile(e,t){return this.usersFull[e]?Promise.resolve(this.usersFull[e]):m.default.invokeApi("users.getFullUser",{id:d.default.getUserInput(e)}).then(i=>(t&&t.phone_number?(i.user.phone=t.phone_number,(t.first_name||t.last_name)&&(i.user.first_name=t.first_name,i.user.last_name=t.last_name),d.default.saveApiUser(i.user)):d.default.saveApiUser(i.user,!0),i.profile_photo&&(i.profile_photo=l.default.savePhoto(i.profile_photo,{user_id:e})),void 0!==i.about&&(i.rAbout=c.RichTextProcessor.wrapRichText(i.about,{noLinebreaks:!0})),i.bot_info&&(i.bot_info=this.saveBotInfo(i.bot_info)),this.usersFull[e]=i))}getPeerBots(e){var t=[];return e>=0&&!d.default.isBot(e)||u.default.isChannel(e)&&!u.default.isMegagroup(e)?Promise.resolve(t):e>=0?this.getProfile(e).then(e=>{var i=e.bot_info;return i&&"botInfoEmpty"!=i._&&t.push(i),t}):this.getChatFull(-e).then(e=>(e.bot_info.forEach(e=>{t.push(this.saveBotInfo(e))}),t))}getChatFull(e){if(r.default.isChannel(e))return this.getChannelFull(e);if(void 0!==this.chatsFull[e]){var t=r.default.getChat(e);if(t.version==this.chatsFull[e].participants.version||t.pFlags.left)return Promise.resolve(this.chatsFull[e])}return void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=m.default.invokeApi("messages.getFullChat",{chat_id:e}).then(t=>{r.default.saveApiChats(t.chats),d.default.saveApiUsers(t.users);var i=t.full_chat;return i&&i.chat_photo&&i.chat_photo.id&&(i.chat_photo=l.default.savePhoto(i.chat_photo)),delete this.chatFullPromises[e],this.chatsFull[e]=i,o.$rootScope.$broadcast("chat_full_update",e),i})}getChatInviteLink(e,t){return this.getChatFull(e).then(i=>{if(!t&&i.exported_invite&&"chatInviteExported"==i.exported_invite._)return i.exported_invite.link;let s;return s=r.default.isChannel(e)?m.default.invokeApi("channels.exportInvite",{channel:r.default.getChannelInput(e)}):m.default.invokeApi("messages.exportChatInvite",{chat_id:e}),s.then(t=>(void 0!==this.chatsFull[e]&&(this.chatsFull[e].exported_invite=t),t.link))})}getChannelParticipants(e,t,i,s){i=i||200,s=s||0;let a=[e,(t=t||{_:"channelParticipantsRecent"})._,s,i].join("_"),n=this.chatParticipantsPromises[a];if("channelParticipantsRecent"==t._){let t=r.default.getChat(e);if(t&&t.pFlags&&(t.pFlags.kicked||t.pFlags.broadcast&&!t.pFlags.creator&&!t.admin_rights))return Promise.reject()}let l=a=>{let o=0;if(a){let e=[];a.forEach(t=>{e.push(t.user_id)}),e.sort((e,t)=>e-t),e.forEach(e=>{o=(20261*o+2147483648+e)%2147483648})}return m.default.invokeApi("channels.getParticipants",{channel:r.default.getChannelInput(e),filter:t,offset:s,limit:i,hash:o}).then(e=>"channels.channelParticipantsNotModified"==e._?a:(d.default.saveApiUsers(e.users),e.participants))},c=i=>{let a=r.default.getChat(e);if("channelParticipantsRecent"==t._&&!s&&!a.pFlags.kicked&&!a.pFlags.left){i=o.copy(i);let e,t=d.default.getSelf().id,s=i.findIndex(e=>e.user_id==t);-1!==s?(e=i[s],i.splice(s,1)):e={_:"channelParticipantSelf",user_id:t},i.unshift(e)}return i},u=o.tsNow();if(void 0!==n){let e=n[1];if(n[0]>u-6e4)return e;let t=e.then(e=>l(e).then(c));return this.chatParticipantsPromises[a]=[u,t],t}let h=l().then(c);return this.chatParticipantsPromises[a]=[u,h],h}getChannelFull(e,t){return void 0===this.chatsFull[e]||t?void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=m.default.invokeApi("channels.getFullChannel",{channel:r.default.getChannelInput(e)}).then(t=>{r.default.saveApiChats(t.chats),d.default.saveApiUsers(t.users);let i=t.full_chat;return i&&i.chat_photo.id&&(i.chat_photo=l.default.savePhoto(i.chat_photo)),i.pinned_msg_id&&(i.pinned_msg_id=n.default.getFullMessageID(i.pinned_msg_id,e)),delete this.chatFullPromises[e],this.chatsFull[e]=i,o.$rootScope.$broadcast("chat_full_update",e),i},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},h.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:e}],chats:[t],users:[]})}return Promise.reject(t)}):Promise.resolve(this.chatsFull[e])}invalidateChannelParticipants(e){delete this.chatsFull[e],delete this.chatFullPromises[e];for(let t in this.chatParticipantsPromises)+t.split("_")[0]==e&&delete this.chatParticipantsPromises[t];o.$rootScope.$broadcast("chat_full_update",e)}getChannelPinnedMessage(e){return this.getChannelFull(e).then(t=>{let i=t&&t.pinned_msg_id;return!!i&&p.default.get("pinned_hidden"+e).then(e=>n.default.getMessageLocalID(i)!=e&&i)})}hideChannelPinnedMessage(e,t){let i={};i["pinned_hidden"+e]=n.default.getMessageLocalID(t),p.default.set(i),o.$rootScope.$broadcast("peer_pinned_message",-e)}updateProfile(e,t,i){return m.default.invokeApi("account.updateProfile",{flags:7,first_name:e,last_name:t,about:i}).then(e=>{d.default.saveApiUser(e)})}uploadProfilePhoto(e){return m.default.invokeApi("photos.uploadProfilePhoto",{file:e}).then(e=>{d.default.saveApiUsers(e.users),m.default.getUserID().then(t=>{l.default.savePhoto(e.photo,{user_id:t}),h.default.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:t,date:o.tsNow(!0),photo:d.default.getUser(t).photo,previous:!0}})})})}updateUsername(e){return m.default.invokeApi("account.updateUsername",{username:e}).then(e=>{d.default.saveApiUser(e)})}removeFromAvatarsCache(e){this.savedAvatarURLs[e]&&delete this.savedAvatarURLs[e]}putPhoto(e,t,i=!1,a=""){var n;return s(this,void 0,void 0,(function*(){let s,r;t&&(s=u.default.getInputPeerByID(t),r=u.default.getPeerPhoto(t));let l=o.$rootScope.myID;if(t==l&&i)return e.firstChild&&e.firstChild.remove(),e.style.backgroundColor="",e.classList.add("tgico-savedmessages"),e.classList.remove("tgico-avatar_deletedaccount"),!0;if(t>0){let i=d.default.getUser(t);if(i&&i.pFlags&&i.pFlags.deleted)return e.firstChild&&e.firstChild.remove(),e.style.backgroundColor="",e.classList.add("tgico-avatar_deletedaccount"),!0}e.firstChild&&e.firstChild.remove();let c,h="";if(t&&t!=l&&(h=u.default.getPeerColorByID(t)),e.classList.remove("tgico-savedmessages","tgico-avatar_deletedaccount"),e.style.backgroundColor=h,a){const e=b.default.cleanSearchText(a,!1).split(" "),t=e.shift(),i=e.pop();c=t.charAt(0)+(i?i.charAt(0):"")}else c=null!==(n=u.default.getPeer(t).initials)&&void 0!==n?n:"";if(e.innerText=c.toUpperCase(),!r||r.empty||!r.photo_small)return!0;if(!this.savedAvatarURLs[t]){let e=yield g.default.downloadSmallFile({_:"inputPeerPhotoFileLocation",dc_id:r.dc_id,flags:0,peer:s,volume_id:r.photo_small.volume_id,local_id:r.photo_small.local_id});this.savedAvatarURLs[t]=URL.createObjectURL(e)}let p=new Image;return(yield f.renderImageFromUrl(p,this.savedAvatarURLs[t]))?(e.innerHTML="",e.append(p)):(p.classList.add("fade-in"),p.addEventListener("load",()=>{e.innerHTML="",e.append(p)})),!0}))}}t.AppProfileManager=v,t.default=new v},function(e,t,i){"use strict"; + */Object.defineProperty(t,"__esModule",{value:!0});const s=i(41);var a=Date.now();function o(e){return new s.BigInteger(e.toString(16),16)}function n(e){return new s.BigInteger(e,10)}function r(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function l(e,t){for(var i=atob(e),s=i.length,a=Math.ceil(s/1024),o=new Array(a),n=0;n>>2]>>>24-a%4*8&255);return s}t.dT=function(){return"["+((Date.now()-a)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=o,t.bigStringInt=n,t.bytesToHex=function(e){e=e||[];for(var t=[],i=0;i>>t&24),2!==t&&s-o!=1||(i+=String.fromCharCode(r(a>>>18&63),r(a>>>12&63),r(a>>>6&63),r(63&a)),a=0);return i.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=r,t.base64ToBlob=l,t.dataUrlToBlob=function(e){var t=e.split(",");return l(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=d,t.blobSafeMimeType=c,t.bytesCmp=function(e,t){var i=e.length;if(i!=t.length)return!1;for(var s=0;st);)i=i.slice(1);return i},t.bytesToArrayBuffer=u,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:u(e)},t.convertToUint8Array=h,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],i=0,s=(e=h(e)).length;it+=e.byteLength||e.length);var i=new Uint8Array(t);let s=0;return e.forEach(e=>{i.set(e instanceof ArrayBuffer?new Uint8Array(e):e,s),s+=e.byteLength||e.length}),i},t.longToInts=m,t.bytesFromWords=g,t.bytesFromWordss=function(e){for(var t=[],i=0;i<4*e.length;i++)t.push(e[i>>>2]>>>24-i%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var i,s=t.length,a=[];for(i=0;i>>2]|=t[i]<<24-i%4*8;return new Uint32Array(a)},t.longToBytes=function(e){return g({words:m(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return o(e).shiftLeft(32).add(o(t)).toString(10)},t.addPadding=function(e,t=16,i,a=!1,o=!1){let n=t-(e.byteLength||e.length)%t;if(n>0&&(n{switch(t._){case"documentAttributeFilename":e.file_name=r.RichTextProcessor.wrapPlainText(t.file_name);break;case"documentAttributeAudio":e.duration=t.duration,e.audioTitle=t.title,e.audioPerformer=t.performer,e.type=t.pFlags.voice?"voice":"audio";break;case"documentAttributeVideo":e.duration=t.duration,e.w=t.w,e.h=t.h,e.thumbs&&t.pFlags.round_message?e.type="round":e.type="video";break;case"documentAttributeSticker":void 0!==t.alt&&(e.stickerEmojiRaw=t.alt,e.stickerEmoji=r.RichTextProcessor.wrapRichText(e.stickerEmojiRaw,{noLinks:!0,noLinebreaks:!0})),t.stickerset&&("inputStickerSetEmpty"==t.stickerset._?delete t.stickerset:"inputStickerSetID"==t.stickerset._&&(e.stickerSetInput=t.stickerset)),"image/webp"==e.mime_type&&(e.type="sticker",e.sticker=1);break;case"documentAttributeImageSize":e.w=t.w,e.h=t.h;break;case"documentAttributeAnimated":"image/gif"!=e.mime_type&&"video/mp4"!=e.mime_type||!e.thumbs||(e.type="gif"),e.animated=!0}}),!e.mime_type)switch(e.type){case"gif":e.mime_type="video/mp4";break;case"video":case"round":e.mime_type="video/mp4";break;case"sticker":e.mime_type="image/webp";break;case"audio":e.mime_type="audio/mpeg";break;case"voice":e.mime_type="audio/ogg";break;default:e.mime_type="application/octet-stream"}return e.file_name||(e.file_name=""),"application/x-tgsticker"==e.mime_type&&"AnimatedSticker.tgs"==e.file_name&&(e.type="sticker",e.animated=!0,e.sticker=2),"documentEmpty"==e._&&(e.size=0),e}getDoc(e){return l.isObject(e)?e:this.docs[e]}getMediaInputByID(e){let t=this.getDoc(e);return{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:t.id,access_hash:t.access_hash,file_reference:t.file_reference},ttl_seconds:0}}getInputByID(e,t){let i=this.getDoc(e);return{_:"inputDocumentFileLocation",id:i.id,access_hash:i.access_hash,file_reference:i.file_reference,thumb_size:t}}getFileName(e){if(e.file_name)return e.file_name;var t="."+e.mime_type.split("/")[1];return".octet-stream"==t&&(t=""),"t_"+(e.type||"file")+e.id+t}downloadDoc(e,t){let i=this.getDoc(e),s=this.getInputByID(i);if("documentEmpty"==i._)return Promise.reject();if(i.downloaded&&!t){if(i.url)return Promise.resolve(null);let e=o.default.getCachedFile(s);if(e)return Promise.resolve(e)}let a=o.default.downloadFile(i.dc_id,s,i.size,{mimeType:i.mime_type||"application/octet-stream",toFileEntry:t,stickerType:i.sticker});return a.then(e=>(e&&(i.downloaded=!0,i.type&&2!=i.sticker&&(i.url=URL.createObjectURL(e))),e),e=>{console.log("document download failed",e)}),a}downloadDocThumb(e,t){let i=this.getDoc(e),s=i.id+"-"+t;if(this.thumbs[s])return this.thumbs[s];let a=this.getInputByID(i,t);if("documentEmpty"==i._)return Promise.reject();let n=i.sticker?"image/webp":i.mime_type,r=o.default.downloadSmallFile(a,{dcID:i.dc_id,stickerType:i.sticker?1:void 0,mimeType:n});return this.thumbs[s]=r.then(e=>URL.createObjectURL(e))}hasDownloadedThumb(e,t){return!!this.thumbs[e+"-"+t]}saveDocFile(e){return s(this,void 0,void 0,(function*(){var t=this.docs[e],i=this.getFileName(t),s=(i.split(".",2)||[])[1]||"";try{let a=n.default.chooseSaveFile(i,s,t.mime_type,t.size);yield a.ready;let o=this.downloadDoc(e,a);return o.then(()=>{a.close(),console.log("saved doc",t)}),{promise:o}}catch(s){let a=this.downloadDoc(e);return a.then(e=>{n.default.download(e,t.mime_type,i)}),{promise:a}}}))}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(21);const a=new class{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var i=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),i=1==e.length);var s,a,o,n=[],r=!0,l=this.storageGetPrefix();for(a=0;a{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(i,s)}catch(e){this.useLs=!1}else a[i]=s;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var i,s,a=this.storageGetPrefix();for(i=0;i{if(this.isWebWorker)this.tasks[this.taskID]=i,self.postMessage({useLs:!0,task:e,taskID:this.taskID,args:t}),this.taskID++;else{let s=Array.prototype.slice.call(t);s.push(e=>{i(e)}),a[e].apply(a,s)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(10),a=i(41);t.secureRandom=new a.SecureRandom,t.logger=function(e){function t(...t){return console.log(s.dT(),"["+e+"]:",...t)}return t.warn=function(...t){return console.warn(s.dT(),"["+e+"]:",...t)},t.info=function(...t){return console.info(s.dT(),"["+e+"]:",...t)},t.error=function(...t){return console.error(s.dT(),"["+e+"]:",...t)},t.trace=function(...t){return console.trace(s.dT(),"["+e+"]:",...t)},t},t.deferredPromise=function(){let e={notify:()=>{},isFulfilled:!1,isRejected:!1},t=new Promise((i,s)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,i(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,s(...e))}});return Object.assign(t,e),t},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return s.bytesToHex([...this])},set:function(e){this.set(s.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return s.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){let t=parseInt(this+"",10),i=Math.floor(t/3600),s=Math.floor((t-3600*i)/60),a=t-3600*i-60*s;return i<10&&(i="0"+i),s<10&&(s=e?"0"+s:s),a<10&&(a="0"+a),s+":"+a}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0);let o=e=>Math.round(255*Math.min(Math.max(e,0),1));class n{constructor({el:e,width:t,height:i,worker:s}){this.reqId=0,this.listeners={},this.listenerResults={},this.paused=!0,this.direction=1,this.speed=1,this.autoplay=!0,this.loop=!0,this.playedTimes=0,this.reqId=++n.reqId,this.el=e,this.width=t,this.height=i,this.worker=s,this.canvas=document.createElement("canvas"),this.canvas.width=this.width,this.canvas.height=this.height,this.context=this.canvas.getContext("2d")}addListener(e,t){if(this.listenerResults.hasOwnProperty(e))return Promise.resolve(this.listenerResults[e]);this.listeners[e]=t}setListenerResult(e,t){this.listenerResults[e]=t,this.listeners[e]&&this.listeners[e](t)}sendQuery(e,...t){this.worker.sendQuery(e,this.reqId,...t)}loadFromData(e){this.sendQuery("loadFromData",e,this.width,this.height,{paused:this.paused,direction:this.direction,speed:this.speed})}play(){this.paused&&(this.paused=!1,this.setMainLoop())}pause(){this.paused||(this.paused=!0,window.cancelAnimationFrame(this.rafId))}stop(){this.pause(),this.curFrame=1==this.direction?0:this.frameCount,this.sendQuery("renderFrame",this.curFrame)}restart(){this.stop(),this.play()}setSpeed(e){this.speed=e,this.paused||this.setMainLoop()}setDirection(e){this.direction=e,this.paused||this.setMainLoop()}destroy(){d.onDestroy(this.reqId),this.pause(),this.sendQuery("destroy")}renderFrame(e,t){this.context.putImageData(new ImageData(e,this.width,this.height),0,0),this.setListenerResult("enterFrame",t)}mainLoop(e){let t=()=>{if(this.paused)return;const i=Date.now(),s=i-this.frThen;if(s>this.frInterval){this.frThen=i-s%this.frInterval,e()||this.loop||!this.autoplay||(this.autoplay=!1)}this.rafId=window.requestAnimationFrame(t)};t()}mainLoopForwards(){if(this.sendQuery("renderFrame",this.curFrame++),this.curFrame>=this.frameCount){if(this.playedTimes++,!this.loop)return!1;this.curFrame=0}return!0}mainLoopBackwards(){if(this.sendQuery("renderFrame",this.curFrame--),this.curFrame<0){if(this.playedTimes++,!this.loop)return!1;this.curFrame=this.frameCount-1}return!0}setMainLoop(){window.cancelAnimationFrame(this.rafId),this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now();const e=(1==this.direction?this.mainLoopForwards:this.mainLoopBackwards).bind(this);this.mainLoop(e)}}t.RLottiePlayer=n,n.reqId=0;class r{constructor(e,t=(()=>{}),i){this.defaultListener=t,this.listeners={},this.worker=new Worker(e),i&&(this.worker.onerror=i),this.worker.onmessage=e=>{e.data instanceof Object&&e.data.hasOwnProperty("queryMethodListener")&&e.data.hasOwnProperty("queryMethodArguments")?this.listeners[e.data.queryMethodListener].apply(this,e.data.queryMethodArguments):this.defaultListener.call(this,e.data)}}postMessage(e){this.worker.postMessage(e)}terminate(){this.worker.terminate()}addListener(e,t){this.listeners[e]=t}removeListener(e){delete this.listeners[e]}sendQuery(e,...t){this.worker.postMessage({queryMethod:e,queryMethodArguments:t})}}class l{constructor(){this.loaded=!1,this.workersLimit=4,this.players={},this.byGroups={},this.workers=[],this.curWorkerNum=0,this.visible=new Set,this.debug=!0,this.observer=new IntersectionObserver(e=>{for(const t of e){const e=t.target;for(const i in this.byGroups){const s=this.byGroups[i].find(t=>t.el==e);if(s){t.isIntersecting?(this.visible.add(s),this.checkAnimation(s,!1)):(this.visible.delete(s),this.checkAnimation(s,!0));break}}}})}loadLottieWorkers(){if(this.loadPromise)return this.loadPromise;const e=this.onFrame.bind(this),t=this.onPlayerLoaded.bind(this);return this.loadPromise=new Promise((i,s)=>{let a=this.workersLimit;for(let s=0;s{console.log("worker #"+s+" ready"),o.addListener("frame",e),o.addListener("loaded",t),--a,a||(console.log("workers ready"),i(),this.loaded=!0)})}})}applyReplacements(e,t){const i=l.COLORREPLACEMENTS[t-2],s=e=>{for(let t of e){switch(t.ty){case"st":case"fl":let e=t.c.k,s=o(e[2])|o(e[1])<<8|o(e[0])<<16,a=i.find(e=>e[0]==s);a&&(e[0]=(a[1]>>16&255)/255,e[1]=(a[1]>>8&255)/255,e[2]=(255&a[1])/255)}t.hasOwnProperty("it")&&s(t.it)}};for(let t of e.layers)if(t.shapes)for(let e of t.shapes)s(e.it)}loadAnimationWorker(e,t="",i=-1){var a;return s(this,void 0,void 0,(function*(){e.autoplay=!0,i>=1&&i<=5&&this.applyReplacements(e.animationData,i),this.loaded||(yield this.loadLottieWorkers());const s=e.width||parseInt(e.container.style.width),o=e.height||parseInt(e.container.style.height),n=this.initPlayer(e.container,e.animationData,s,o);for(let t in e)n.hasOwnProperty(t)&&(n[t]=e[t]);return(null!==(a=this.byGroups[t])&&void 0!==a?a:this.byGroups[t]=[]).push(n),n}))}checkAnimations(e,t,i=!1){const s=Object.keys(this.byGroups);t&&!this.byGroups[t]&&(console.warn("no animation group:",t),this.byGroups[t]=[]);for(const t of s){this.byGroups[t].forEach(t=>{this.checkAnimation(t,e,i)})}}checkAnimation(e,t=!1,i=!1){i||!a.isInDOM(e.el)&&e.listenerResults.hasOwnProperty("ready")?e.destroy():t?e.paused||(this.debug&&console.log("pause animation",e),e.pause()):e.paused&&this.visible.has(e)&&e.autoplay&&(this.debug&&console.log("play animation",e),e.play())}onPlayerLoaded(e,t,i){const s=this.players[e];s?(s.el.appendChild(s.canvas),s.curFrame=1==s.direction?0:t-1,s.frameCount=t,s.fps=i,s.sendQuery("renderFrame",0),s.setListenerResult("ready"),this.observer.observe(s.el)):this.debug&&console.warn("onPlayerLoaded on destroyed player:",e,t)}onFrame(e,t,i){const s=this.players[e];s?s.renderFrame(i,t):this.debug&&console.warn("onFrame on destroyed player:",e,t)}onDestroy(e){let t=this.players[e];for(let e in this.byGroups)this.byGroups[e].findAndSplice(e=>e==t);delete this.players[t.reqId],this.observer.unobserve(t.el),this.visible.delete(t)}destroyWorkers(){this.workers.forEach((e,t)=>{e.terminate(),console.log("worker #"+t+" terminated")}),console.log("workers destroyed"),this.workers.length=0}initPlayer(e,t,i,s){const a=new n({el:e,width:i,height:s,worker:this.workers[this.curWorkerNum++]});return this.players[a.reqId]=a,this.curWorkerNum>=this.workers.length&&(this.curWorkerNum=0),a.loadFromData(t),a}}l.COLORREPLACEMENTS=[[[16219713,13275258],[16757049,15582629],[16765248,16245699],[16768889,16510934]],[[16219713,11172960],[16757049,13150599],[16765248,14534815],[16768889,15128242]],[[16219713,9199944],[16757049,11371874],[16765248,12885622],[16768889,13939080]],[[16219713,7224364],[16757049,9591348],[16765248,10579526],[16768889,11303506]]];const d=new l;window.LottieLoader=d,t.default=d},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(1)),o=i(0),n=s(i(4)),r=s(i(5)),l=s(i(7)),d=s(i(16)),c=s(i(25)),u=i(3),h=s(i(8)),p=s(i(36)),m=i(13),g=s(i(14)),f=s(i(37)),b=s(i(48)),v=s(i(6)),y=s(i(19)),w=i(32),x=s(i(24)),_=i(2),k=i(78),M=s(i(9)),D=s(i(81)),S=s(i(30)),E=s(i(11)),I=s(i(38)),P=s(i(39)),X=s(i(29)),L=s(i(82)),C=s(i(83)),T=i(45);console.log("appImManager included!"),b.default;const A=["messageActionChannelMigrateFrom"];class j{constructor(e){this.attachTo=e,this.element=document.getElementById("bubble-contextmenu"),this.buttons={},_.parseMenuButtonsTo(this.buttons,this.element.children),e.addEventListener("contextmenu",e=>{let t=null;try{t=o.findUpClassName(e.target,"bubble__container")}catch(e){}if(!t)return;if(e.preventDefault(),this.element.classList.contains("active"))return!1;e.cancelBubble=!0,t=t.parentElement;let i=+t.dataset.mid;if(!i)return;let s=o.$rootScope.selectedPeerID;this.msgID=i;const a=r.default.getMessage(i);this.buttons.copy.style.display=a.message?"":"none",o.$rootScope.myID==s||s<0&&v.default.hasRights(-s,"pin")?this.buttons.pin.style.display="":this.buttons.pin.style.display="none",this.buttons.edit.style.display=r.default.canEditMessage(i)?"":"none";let n=t.classList.contains("is-in")?"left":"right";_.positionMenu(e,this.element,n),_.openBtnMenu(this.element)}),this.buttons.copy.addEventListener("click",()=>{let e=r.default.getMessage(this.msgID),t=e?e.message:"";var i=document.createElement("textarea");i.value=t,i.style.position="fixed",document.body.appendChild(i),i.focus(),i.select();try{document.execCommand("copy")}catch(e){console.error("Oops, unable to copy",e)}document.body.removeChild(i)}),this.buttons.delete.addEventListener("click",()=>{let e,t,i,s=o.$rootScope.selectedPeerID,a=l.default.getPeerTitle(s,!1,!0),n=e=>{r.default.deleteMessages([this.msgID],e)};e="Delete Message?",t="Are you sure you want to delete this message?",s==o.$rootScope.myID?i=[{text:"DELETE",isDanger:!0,callback:()=>n(!1)}]:(i=[{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>n(!1)}],s>0?i.push({text:"DELETE FOR ME AND "+a,isDanger:!0,callback:()=>n(!0)}):v.default.hasRights(-s,"deleteRevoke")&&i.push({text:"DELETE FOR ALL",isDanger:!0,callback:()=>n(!0)})),i.push({text:"CANCEL",isCancel:!0}),new T.PopupPeer("popup-delete-chat",{peerID:s,title:"Delete Message?",description:"Are you sure you want to delete this message?",buttons:i}).show()}),this.buttons.reply.addEventListener("click",()=>{const e=r.default.getMessage(this.msgID),t=B.chatInputC;t.setTopInfo(l.default.getPeerTitle(e.fromID,!0),e.message,void 0,e),t.replyToMsgID=this.msgID,t.editMsgID=0}),this.buttons.forward.addEventListener("click",()=>{I.default.init([this.msgID])}),this.buttons.edit.addEventListener("click",()=>{const e=r.default.getMessage(this.msgID),t=B.chatInputC;t.setTopInfo("Editing",e.message,e.message,e),t.replyToMsgID=0,t.editMsgID=this.msgID}),this.buttons.pin.addEventListener("click",()=>{a.default.invokeApi("messages.updatePinnedMessage",{flags:0,peer:l.default.getInputPeerByID(o.$rootScope.selectedPeerID),id:this.msgID}).then(e=>{y.default.processUpdateMessage(e)})})}}class F{constructor(){this.pageEl=document.getElementById("page-chats"),this.btnMute=this.pageEl.querySelector(".tool-mute"),this.btnMenuMute=this.pageEl.querySelector(".menu-mute"),this.avatarEl=document.getElementById("im-avatar"),this.titleEl=document.getElementById("im-title"),this.subtitleEl=document.getElementById("im-subtitle"),this.bubblesContainer=document.getElementById("bubbles"),this.chatInner=document.getElementById("bubbles-inner"),this.searchBtn=this.pageEl.querySelector(".chat-search-button"),this.goDownBtn=this.pageEl.querySelector("#bubbles-go-down"),this.chatInputC=null,this.myID=0,this.peerID=0,this.bubbles={},this.dateMessages={},this.unreadOut=new Set,this.needUpdate=[],this.offline=!1,this.updateStatusInterval=0,this.pinnedMsgID=0,this.pinnedMessageContainer=this.pageEl.querySelector(".pinned-message"),this.pinnedMessageContent=this.pinnedMessageContainer.querySelector(".pinned-message-subtitle"),this.lazyLoadQueue=new S.default,this.scroll=null,this.scrollable=null,this.preloader=null,this.typingTimeouts={},this.typingUsers={},this.topbar=document.getElementById("topbar"),this.chatInput=document.getElementById("chat-input"),this.contextMenu=new j(this.bubblesContainer),this.setPeerPromise=null,this.bubbleGroups=new D.default,this.scrolledDown=!0,this.onScrollRAF=0,this.isScrollingTimeout=0,this.unreadedObserver=null,this.unreaded=[],this.loadedTopTimes=0,this.loadedBottomTimes=0,this.messagesQueuePromise=null,this.messagesQueue=[],this.messagesQueueOnRender=null,this.firstUnreadBubble=null,this.stickyIntersector=null,this.cleanupID=0,this.log=m.logger("IM"),this.chatInputC=new k.ChatInput,this.preloader=new x.default(null,!1),a.default.getUserID().then(e=>{this.myID=o.$rootScope.myID=e}),o.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=o.$rootScope.myID=t?t.id:0}),o.$rootScope.$on("history_append",e=>{let t=e.detail;this.scrolledAllDown?this.renderNewMessagesByIDs([t.messageID],!0):this.setPeer(this.peerID,0)}),o.$rootScope.$on("history_update",e=>{let t=e.detail;if(t.mid&&t.peerID==this.peerID){let e=t.mid,i=this.bubbles[e];if(!i)return;let s=r.default.getMessage(e);this.getDateContainerByMessage(s,!1).container.append(i),this.bubbleGroups.addBubble(i,s,!1)}}),o.$rootScope.$on("history_multiappend",e=>{let t=e.detail;if(!(this.peerID in t))return;let i=t[this.peerID];this.renderNewMessagesByIDs(i)}),o.$rootScope.$on("history_delete",e=>{let t=e.detail;this.deleteMessagesByIDs(Object.keys(t.msgs).map(e=>+e))}),o.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID;this.peerID==t&&this.deleteMessagesByIDs(Object.keys(this.bubbles).map(e=>+e))}),o.$rootScope.$on("message_sent",e=>{let{tempID:t,mid:i}=e.detail;this.log("message_sent",e.detail);let s=r.default.getMessage(i);if(s.media)if(s.media.photo){let e=h.default.getPhoto(t);if(e){let t=s.media.photo;t.downloaded=e.downloaded,t.url=e.url}}else if(s.media.document){let e=E.default.getDoc(t);if(e&&e.type&&"sticker"!=e.type){let t=s.media.document;t.downloaded=e.downloaded,t.url=e.url}}let a=this.bubbles[t];if(a){if(this.bubbles[i]=a,s.grouped_id){let e=a.querySelectorAll(".album-item"),t=Object.keys(r.default.groupedMessagesStorage[s.grouped_id]).map(e=>+e).sort((e,t)=>e-t);Array.from(e).forEach((e,i)=>{e.dataset.mid=""+t[i]})}a.classList.remove("is-sending"),a.classList.add("is-sent"),a.dataset.mid=i,this.bubbleGroups.removeBubble(a,t),delete this.bubbles[t]}else this.log.warn("message_sent there is no bubble",e.detail);this.unreadOut.has(t)&&(this.unreadOut.delete(t),this.unreadOut.add(i))}),o.$rootScope.$on("message_edit",e=>{let{peerID:t,mid:i,id:s,justMedia:a}=e.detail;if(t!=this.peerID)return;let o=r.default.getMessage(i),n=this.bubbles[i];if(!n&&o.grouped_id){let e=this.getAlbumBubble(o.grouped_id);n=e.bubble,o=e.message}n&&this.renderMessage(o,!0,!1,n,!1)}),o.$rootScope.$on("messages_downloaded",e=>{e.detail.forEach(e=>{if(this.pinnedMsgID==e){let t=r.default.getMessage(e);this.pinnedMessageContainer.dataset.mid=""+e,this.pinnedMessageContainer.style.display="",this.pinnedMessageContent.innerHTML=t.rReply}this.needUpdate.forEachReverse((t,i)=>{if(t.replyMid==e){let{mid:e,replyMid:t}=this.needUpdate.splice(i,1)[0],s=this.bubbles[e];if(!s)return;let a=r.default.getMessage(e);r.default.getMessage(t).deleted&&delete a.reply_to_mid,this.renderMessage(a,!0,!1,s,!1)}})})}),o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),window.addEventListener("blur",()=>{g.default.checkAnimations(!0),this.offline=!0,this.updateStatus(),clearInterval(this.updateStatusInterval),window.addEventListener("focus",()=>{g.default.checkAnimations(!1),this.offline=!1,this.updateStatus(),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4)},{once:!0})}),this.pageEl.querySelector(".person").addEventListener("click",e=>{p.default.toggleSidebar(!0)}),this.bubblesContainer.addEventListener("click",e=>{var t;let i=e.target,s=null;try{s=o.findUpClassName(i,"bubble")}catch(e){}if(!s)return;let a=o.findUpClassName(i,"contact");if(a)this.setPeer(+a.dataset.peerID);else if("SPAN"!=i.tagName){if("IMG"==i.tagName&&!i.classList.contains("emoji")&&"AVATAR-ELEMENT"!=i.parentElement.tagName||"image"==i.tagName||i.classList.contains("album-item")||"VIDEO"==i.tagName&&!s.classList.contains("round")){let e=+(null===(t=o.findUpClassName(i,"album-item"))||void 0===t?void 0:t.dataset.mid)||+s.dataset.mid,a=r.default.getMessage(e);if(!a)return void this.log.warn("no message by messageID:",e);let n=[],l=Object.keys(this.bubbles).map(e=>+e).filter(e=>{let t=r.default.getMessage(e);return t.media&&(t.media.photo||t.media.document&&("video"==t.media.document.type||"gif"==t.media.document.type)||t.media.webpage&&(t.media.webpage.document||t.media.webpage.photo))}).sort((e,t)=>e-t);l.forEach(e=>{let t=this.bubbles[e].querySelectorAll(".album-item img, .album-item video, .preview img, .preview video, .bubble__media-container");Array.from(t).forEach(t=>{let i=o.findUpClassName(t,"album-item");n.push({element:t,mid:+(null==i?void 0:i.dataset.mid)||e})})});let d=n.findIndex(t=>t.mid==e);this.log("open mediaViewer single with ids:",l,d,n),f.default.openMedia(a,n[d].element,!0,this.scroll.parentElement,n.slice(0,d),n.slice(d+1))}if(-1===["IMG","DIV"].indexOf(i.tagName)&&(i=o.findUpTag(i,"DIV")),"DIV"==i.tagName||"AVATAR-ELEMENT"==i.tagName){if(i.classList.contains("goto-original")){let e=s.dataset.savedFrom.split("_"),t=+e[0],i=+e[1];return void this.setPeer(t,i)}if("AVATAR-ELEMENT"==i.tagName||i.classList.contains("name")){let e=+i.dataset.peerID;return void(isNaN(e)||this.setPeer(e))}let t=!1;try{t=!!o.findUpClassName(e.target,"reply")}catch(e){}if(t&&s.classList.contains("is-reply")){let e=+s.getAttribute("data-original-mid");this.setPeer(this.peerID,e)}}else if("IMG"==i.tagName&&"AVATAR-ELEMENT"==i.parentElement.tagName){let e=+i.parentElement.dataset.peerID;isNaN(e)||this.setPeer(e)}}else{let e=i.parentElement.querySelector("video");e&&e.click()}}),this.searchBtn.addEventListener("click",e=>{this.peerID&&p.default.beginSearch()}),this.pinnedMessageContainer.addEventListener("click",e=>{e.preventDefault(),e.cancelBubble=!0;let t=+this.pinnedMessageContainer.getAttribute("data-mid");this.setPeer(this.peerID,t)}),this.btnMenuMute.addEventListener("click",()=>this.mutePeer(this.peerID)),this.btnMute.addEventListener("click",()=>this.mutePeer(this.peerID));document.body.addEventListener("keydown",e=>{let t=e.target;if(this.chatInputC.attachMediaPopUp.container.classList.contains("active"))return"INPUT"!=t.tagName&&this.chatInputC.attachMediaPopUp.captionInput.focus(),void("Enter"==e.key?this.chatInputC.attachMediaPopUp.sendBtn.click():"Escape"==e.key&&this.chatInputC.attachMediaPopUp.container.classList.remove("active"));if("Escape"==e.key)f.default.wholeDiv.classList.contains("active")?f.default.buttons.close.click():I.default.container.classList.contains("active")?I.default.close():this.chatInputC.replyElements.container.classList.contains("active")?this.chatInputC.replyElements.cancelBtn.click():0!=this.peerID&&this.setPeer(0);else{if("Meta"==e.key||"Control"==e.key)return;if("c"==e.key&&(e.ctrlKey||e.metaKey)&&"INPUT"!=t.tagName)return}e.target!=this.chatInputC.messageInput&&"INPUT"!=t.tagName&&(this.chatInputC.messageInput.focus(),o.placeCaretAtEnd(this.chatInputC.messageInput))}),this.goDownBtn.addEventListener("click",()=>{let e=r.default.getDialogByPeerID(this.peerID)[0];e?this.setPeer(this.peerID,e.top_message):(this.log("will scroll down 3"),this.scroll.scrollTop=this.scroll.scrollHeight)}),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),this.updateStatus(),setInterval(()=>this.setPeerStatus(),6e4),this.setScroll(),this.stickyIntersector=new C.default(this.scrollable.container,(e,t)=>{for(let i in this.dateMessages){let s=this.dateMessages[i];if(s.container==t){s.div.classList.toggle("is-sticky",e);break}}}),this.unreadedObserver=new IntersectionObserver(e=>{let t=[];if(e.forEach(e=>{if(e.isIntersecting){let i=e.target,s=+i.dataset.mid;t.push(s),this.unreadedObserver.unobserve(i),this.unreaded.findAndSplice(e=>e==s)}}),t.length){let e=Math.max(...t),i=t.length;for(let t=this.unreaded.length-1;t>=0;--t){this.unreaded[t]{this.log.error("readHistory err:",t),r.default.readHistory(this.peerID,e,i)})}})}updateStatus(){return this.myID?(n.default.setUserStatus(this.myID,this.offline),a.default.invokeApi("account.updateStatus",{offline:this.offline})):Promise.resolve()}getAlbumBubble(e){let t=r.default.groupedMessagesStorage[e];for(let e in t){let t=+e;if(this.bubbles[t])return{bubble:this.bubbles[t],message:r.default.getMessage(t)}}return null}loadMoreHistory(e){if(this.log("loadMoreHistory",e),!this.peerID||this.setPeerPromise||e&&this.getHistoryTopPromise||!e&&this.getHistoryBottomPromise)return;let t=Object.keys(this.bubbles).map(e=>+e).filter(e=>e>0).sort((e,t)=>e-t);if(!t.length)return;if(e&&!this.scrolledAll&&(this.log("Will load more (up) history by id:",t[0],"maxID:",t[t.length-1],t),this.getHistory(t[0],!0)),this.scrolledAllDown)return;let i=r.default.getDialogByPeerID(this.peerID)[0];e||i&&-1!==t.indexOf(i.top_message)||(this.log("Will load more (down) history by maxID:",t[t.length-1],t),this.getHistory(t[t.length-1],!1,!0))}onScroll(){this.onScrollRAF&&window.cancelAnimationFrame(this.onScrollRAF),this.onScrollRAF=window.requestAnimationFrame(()=>{g.default.checkAnimations(!1,"chat"),this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling"),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},300),this.scroll.scrollHeight-Math.round(this.scroll.scrollTop+this.scroll.offsetHeight)<=1?(this.scroll.parentElement.classList.add("scrolled-down"),this.scrolledDown=!0):this.scroll.parentElement.classList.contains("scrolled-down")&&(this.scroll.parentElement.classList.remove("scrolled-down"),this.scrolledDown=!1),this.onScrollRAF=0})}setScroll(){this.scrollable=new M.default(this.bubblesContainer,"y","IM",this.chatInner,300),this.scroll=this.scrollable.container,this.bubblesContainer.append(this.goDownBtn),this.scrollable.onScrolledTop=()=>this.loadMoreHistory(!0),this.scrollable.onScrolledBottom=()=>this.loadMoreHistory(!1),this.scroll.addEventListener("scroll",this.onScroll.bind(this)),this.scroll.parentElement.classList.add("scrolled-down")}setPeerStatus(e=!1){if(this.myID)if(this.peerID<0){let t=l.default.getPeer(this.peerID),i=l.default.isChannel(this.peerID)&&!l.default.isMegagroup(this.peerID);this.subtitleEl.classList.remove("online"),p.default.profileElements.subtitle.classList.remove("online"),e&&(this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=""),d.default.getChatFull(t.id).then(e=>{this.log("chatInfo res:",e),e.pinned_msg_id&&(this.pinnedMsgID=e.pinned_msg_id,r.default.wrapSingleMessage(e.pinned_msg_id));let s=e.participants_count||e.participants&&e.participants.participants&&e.participants.participants.length;if(s){let e=o.numberWithCommas(s)+" "+(i?"subscribers":"members");if(this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=e,s<2)return;v.default.getOnlines(t.id).then(t=>{t>1&&(e+=", "+o.numberWithCommas(t)+" online"),this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=e})}})}else if(n.default.isBot(this.peerID))this.subtitleEl.innerText="bot",p.default.profileElements.subtitle.innerText="bot";else{let e=n.default.getUser(this.peerID);if(this.myID==this.peerID)this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText="";else if(e&&e.status){let t=n.default.getUserStatusString(e.id);"online"==t&&(this.subtitleEl.classList.add("online"),p.default.profileElements.subtitle.classList.add("online")),p.default.profileElements.subtitle.innerText=t,this.typingUsers[this.peerID]==this.peerID?(this.subtitleEl.innerText="typing...",this.subtitleEl.classList.add("online")):(this.subtitleEl.innerText=t,"online"!=t&&(this.subtitleEl.classList.remove("online"),p.default.profileElements.subtitle.classList.remove("online")))}}}cleanup(e=!1){this.scrolledAll=!1,this.scrolledAllDown=!1,this.bubbles={},this.dateMessages={},this.bubbleGroups.cleanup(),this.unreadOut.clear(),this.needUpdate.length=0,this.lazyLoadQueue.clear(),this.chatInputC.messageInput.innerHTML="",this.chatInputC.replyElements.cancelBtn.click(),e&&(this.scrollable.container.innerHTML=""),this.peerChanged=!1,this.firstUnreadBubble=null,this.attachedUnreadBubble=!1,this.messagesQueue.length=0,this.messagesQueuePromise=null,g.default.checkAnimations(!1,"chat",!0),this.getHistoryTopPromise=this.getHistoryBottomPromise=void 0,this.stickyIntersector.disconnect(),this.unreadedObserver.disconnect(),this.unreaded.length=0,this.loadedTopTimes=this.loadedBottomTimes=0,this.cleanupID++}setPeer(e,t){var i;if(0==e)return p.default.toggleSidebar(!1),this.topbar.style.display=this.chatInput.style.display=this.goDownBtn.style.display="none",this.cleanup(!0),this.peerID=o.$rootScope.selectedPeerID=0,o.$rootScope.$broadcast("peer_changed",this.peerID),!1;const s=this.peerID==e;if(this.setPeerPromise&&s)return this.setPeerPromise;const a=r.default.getDialogByPeerID(e)[0]||null,n=t<=0?t:null!==(i=null==a?void 0:a.top_message)&&void 0!==i?i:0,l=void 0!==t;if(!l&&a&&(t=a.unread_count&&!s?a.read_inbox_max_id:a.top_message),s){if(this.bubbles[t])return a&&t==n?(this.log("will scroll down",this.scroll.scrollTop,this.scroll.scrollHeight),this.scroll.scrollTop=this.scroll.scrollHeight):l&&(this.scrollable.scrollIntoView(this.bubbles[t]),this.highlightBubble(this.bubbles[t])),!0}else p.default.searchCloseBtn.click();this.peerID=o.$rootScope.selectedPeerID=e,this.log("setPeer peerID:",this.peerID,a,t,n);const d=t!=n,c=d?0:n,u=s&&Math.max(...Object.keys(this.bubbles).map(e=>+e)),h=this.chatInner;this.cleanup(),this.chatInner=document.createElement("div"),this.chatInner.id="bubbles-inner",this.scrollable.appendTo=this.chatInner,this.chatInner.className=h.className,this.chatInner.classList.add("disable-hover","is-scrolling"),this.lazyLoadQueue.lock();const{promise:m,cached:g}=this.getHistory(t,!0,d,c);return s?this.peerChanged=!0:p.default.setPeer(this.peerID),g||(this.scrollable.container.innerHTML="",!s&&this.finishPeerChange(),this.preloader.attach(this.bubblesContainer)),this.setPeerPromise=Promise.all([m.then(()=>{if(g?(this.scrollable.container.innerHTML="",!s&&this.finishPeerChange()):this.preloader.detach(),this.scrollable.container.append(this.chatInner),this.lazyLoadQueue.unlock(),a&&t&&t!=n&&(this.bubbles[t]||this.firstUnreadBubble)){this.scrollable.scrollLocked&&(clearTimeout(this.scrollable.scrollLocked),this.scrollable.scrollLocked=0);const e=u>0&&(u{throw this.log.error("getHistory promise error:",e),e})]).catch(e=>(this.log.error("setPeer promises error:",e),this.preloader.detach(),!1)).then(t=>(this.peerID==e&&(this.setPeerPromise=null),!!t)),p.default.setLoadMutex(this.setPeerPromise),p.default.loadSidebarMedia(!0),this.setPeerPromise}finishPeerChange(){if(this.peerChanged)return;let e=this.peerID;this.peerChanged=!0,this.avatarEl.setAttribute("peer",""+this.peerID);const t=l.default.isChannel(e),i=t&&v.default.hasRights(-e,"send");this.chatInner.classList.toggle("has-rights",i),this.chatInput.style.display=!t||i?"":"none",this.topbar.style.display="",this.chatInner.classList.toggle("is-chat",l.default.isAnyGroup(e)||e==this.myID),this.chatInner.classList.toggle("is-channel",t),this.pinnedMessageContainer.style.display="none",this.btnMute.style.display=l.default.isBroadcast(e)?"":"none",window.requestAnimationFrame(()=>{let e="";e=this.peerID==this.myID?"Saved Messages":l.default.getPeerTitle(this.peerID),this.titleEl.innerHTML=p.default.profileElements.name.innerHTML=e,this.goDownBtn.style.display="",this.setPeerStatus(!0)}),p.default.fillProfileElements(),o.$rootScope.$broadcast("peer_changed",this.peerID)}setTyping(e){if(!this.peerID)return Promise.resolve(!1);"string"==typeof e&&(e={_:e});let t=l.default.getInputPeerByID(this.peerID);return a.default.invokeApi("messages.setTyping",{peer:t,action:e})}updateUnreadByDialog(e){let t=this.peerID==this.myID?e.read_inbox_max_id:e.read_outbox_max_id;for(let e of this.unreadOut)if(e>0&&e<=t){let t=this.bubbles[e];t&&(t.classList.remove("is-sent"),t.classList.add("is-read")),this.unreadOut.delete(e)}}deleteMessagesByIDs(e){e.forEach(e=>{if(!(e in this.bubbles))return;let t=this.bubbles[e];delete this.bubbles[e],this.firstUnreadBubble==t&&(this.firstUnreadBubble=null),this.bubbleGroups.removeBubble(t,e),this.unreadedObserver.unobserve(t),this.scrollable.removeElement(t)}),g.default.checkAnimations(),this.deleteEmptyDateGroups()}renderNewMessagesByIDs(e,t=this.scrolledDown){this.scrolledAllDown?(e.forEach(e=>{let t=r.default.getMessage(e);this.renderMessage(t)}),this.messagesQueuePromise&&t&&(this.scrollable.scrollTo(this.scrollable.scrollHeight-1,!1,!0),this.messagesQueuePromise.then(()=>{this.log("messagesQueuePromise after:",this.chatInner.childElementCount,this.scrollable.scrollHeight),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0),setTimeout(()=>{this.log("messagesQueuePromise afterafter:",this.chatInner.childElementCount,this.scrollable.scrollHeight)},10)}))):this.log("seems search is active, skipping render:",e)}highlightBubble(e){e.dataset.timeout&&(clearTimeout(+e.dataset.timeout),e.classList.remove("is-selected"),e.offsetWidth),e.classList.add("is-selected"),e.dataset.timeout=""+setTimeout(()=>{e.classList.remove("is-selected"),delete e.dataset.timeout},2e3)}getDateContainerByMessage(e,t){let i=new Date(1e3*e.date),s=new Date(i.getFullYear(),i.getMonth(),i.getDate()),a=s.getTime();if(!(a in this.dateMessages)){let e="",o=new Date;if(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o
${e}
`;let r=document.createElement("div");r.className="bubbles-date-group",this.dateMessages[a]={div:n,container:r,firstTimestamp:i.getTime()},r.append(n),t?this.scrollable.prepend(r,!1):this.scrollable.append(r,!1),this.stickyIntersector.observeStickyHeaderChanges(r)}return this.dateMessages[a]}renderMessagesQueue(e,t,i){let s=[];Array.from(t.querySelectorAll("img, video")).forEach(e=>{if(e instanceof HTMLVideoElement){let t=e.firstElementChild;if(!t||!t.src)return void this.log.warn("no source",e,t,"src",t.src);if(e.readyState>=4)return}else if(e.complete||!e.src)return;let t=e.src,i=new Promise((i,s)=>{let a,o=()=>{clearTimeout(r),i()};e instanceof HTMLVideoElement?(e.addEventListener("loadeddata",o),a=()=>e.readyState>=4):(e.addEventListener("load",o),a=()=>e.complete);let n=()=>a()?o():window.requestAnimationFrame(n);window.requestAnimationFrame(n);let r=setTimeout(()=>{console.log("did not called",e,e.parentElement,e.complete,t),s()},1500)});s.push(i)}),this.messagesQueue.push({message:e,bubble:t,reverse:i,promises:s}),this.messagesQueuePromise||(this.messagesQueuePromise=new Promise((e,t)=>{setTimeout(()=>{let i=this.chatInner,s=this.messagesQueue.slice();this.messagesQueue.length=0;let a=s.reduce((e,{promises:t})=>e.concat(t),[]);Promise.all(a).then(()=>{if(this.chatInner!=i)return this.log.warn("chatInner changed!",this.chatInner,i),t("chatInner changed!");this.messagesQueueOnRender&&this.messagesQueueOnRender(),s.forEach(({message:e,bubble:t,reverse:i})=>{let s=this.getDateContainerByMessage(e,i);i?s.container.insertBefore(t,s.div.nextSibling):s.container.append(t)}),e(),this.messagesQueuePromise=null},t)},0)}))}getMiddleware(){let e=this.cleanupID;return()=>this.cleanupID==e}renderMessage(e,t=!1,i=!1,s=null,a=!0){if(this.log("message to render:",e),e.deleted)return;if(e.grouped_id){let t=r.default.groupedMessagesStorage[e.grouped_id],i=Math.max(...Object.keys(t).map(e=>+e));if(e.mid${h}`,a&&this.renderMessagesQueue(e,s,t),s}let g=new Date(1e3*e.date),f=("0"+g.getHours()).slice(-2)+":"+("0"+g.getMinutes()).slice(-2);e.views&&(s.classList.add("channel-post"),f=o.formatNumber(e.views,1)+' '+f),e.edit_date&&(s.classList.add("is-edited"),f='edited '+f);let b=document.createElement("span");b.classList.add("time");let v,y,x=document.createElement("div");if(x.classList.add("inner","tgico"),x.innerHTML=f,e.grouped_id){let t=r.default.groupedMessagesStorage[e.grouped_id],i=0;for(let e in t){let s=t[e];if(s.message){if(++i>1)break;v=s.message,y=s.totalEntities}}i>1&&(v=void 0,y=void 0)}v||y||(v=e.message,y=e.totalEntities);let k=u.RichTextProcessor.wrapRichText(v,{entities:y}),M=e.media;if(y){let e=y.filter(e=>"messageEntityEmoji"==e._),t=v.length;if(e.reduce((e,t)=>e+t.length,0)==t&&e.length<=3){let t=P.default.getAnimatedEmojiSticker(v);if(1==e.length&&!M&&t)M={_:"messageMediaDocument",document:t};else{let t=document.createElement("div");t.classList.add("attachment"),t.innerHTML=k,s.classList.add("emoji-"+e.length+"x"),d.append(t)}s.classList.add("is-message-empty","emoji-big")}else m.innerHTML=k}else m.innerHTML=k;if(b.appendChild(x),m.append(b),d.prepend(m),e.reply_markup&&"replyInlineMarkup"==e.reply_markup._&&e.reply_markup.rows&&e.reply_markup.rows.length){let t=e.reply_markup.rows,i=document.createElement("div");i.classList.add("reply-markup"),t.forEach(t=>{let s=t.buttons;if(!s||!s.length)return;let a=document.createElement("div");a.classList.add("reply-markup-row"),s.forEach(t=>{let i,s=u.RichTextProcessor.wrapRichText(t.text,{noLinks:!0,noLinebreaks:!0});switch(t._){case"keyboardButtonUrl":{let s=n.default.getUser(e.fromID),a=!(s&&s.pFlags&&s.pFlags.verified),o=u.RichTextProcessor.wrapUrl(t.url,a);i=document.createElement("a"),i.href=o,i.rel="noopener noreferrer",i.target="_blank",i.classList.add("is-link","tgico");break}default:i=document.createElement("button")}i.classList.add("reply-markup-button","rp"),i.innerHTML=s,_.ripple(i),a.append(i)}),i.append(a)}),i.addEventListener("click",i=>{let s=i.target;if(s.classList.contains("reply-markup-button")||(s=o.findUpClassName(s,"reply-markup-button")),!s)return;let a=o.whichChild(s),n=t[o.whichChild(s.parentElement)];if(!n.buttons||!n.buttons[a])return void this.log.warn("no such button",n,a,e);let r=n.buttons[a];L.default.callbackButtonClick(e.mid,r)});let s=45*t.length+"px";d.style.marginBottom=s,i.style.bottom="-"+s,d.prepend(i)}if(p){(e.pFlags.unread||e.mid<0)&&this.unreadOut.add(e.mid);let t="";t=e.mid<0?"is-sending":e.pFlags.unread?"is-sent":"is-read",s.classList.add(t)}else e.pFlags.unread&&(this.unreadedObserver.observe(s),this.unreaded.indexOf(e.mid)||this.unreaded.push(e.mid));const D=p&&(!e.fwd_from||this.peerID!=this.myID);if(M){let t=document.createElement("div");t.classList.add("attachment"),v||s.classList.add("is-message-empty");let a=!1;switch(M._){case"messageMediaPending":{let i=M,o=i.preloader;switch(i.type){case"album":this.log("will wrap pending album"),s.classList.add("hide-name","photo","is-album"),w.wrapAlbum({groupID:""+e.id,attachmentDiv:t,uploading:!0,isOut:!0});break;case"photo":this.log("will wrap pending photo:",i,e,h.default.getPhoto(e.id)),w.wrapPhoto(e.id,e,t,void 0,void 0,!0,!0,this.lazyLoadQueue,null),s.classList.add("hide-name","photo");break;case"video":{let a=E.default.getDoc(e.id);this.log("will wrap pending video:",i,e,a),w.wrapVideo({doc:a,container:t,message:e,boxWidth:480,boxHeight:480,withTail:"round"!=a.type,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:null}),o.attach(t,!1),s.classList.add("hide-name","video");break}case"audio":case"document":{let e=w.wrapDocument(i,!1,!0),t=e.querySelector(".document-ico");o.attach(t,!1),s.classList.remove("is-message-empty"),m.classList.add((i.type||"document")+"-message"),m.append(e),a=!0;break}}break}case"messageMediaPhoto":{let i=M.photo;s.classList.add("hide-name","photo"),e.grouped_id?(s.classList.add("is-album"),w.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:p,lazyLoadQueue:this.lazyLoadQueue})):w.wrapPhoto(i.id,e,t,void 0,void 0,!0,D,this.lazyLoadQueue,this.getMiddleware());break}case"messageMediaWebPage":{a=!0;let t=M.webpage;if("webPageEmpty"==t._)break;s.classList.add("webpage");let i=document.createElement("div");i.classList.add("box","web");let o=document.createElement("div");o.classList.add("quote");let n=null;(t.photo||t.document)&&(n=document.createElement("div"),n.classList.add("preview"));let r=null;t.document&&(r=t.document,"gif"==r.type||"video"==r.type?(s.classList.add("video"),w.wrapVideo({doc:r,container:n,message:e,boxWidth:480,boxHeight:400,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),isOut:D})):r=null),n&&o.append(n);let l=document.createElement("div");if(l.classList.add("quote-text"),t.site_name){let e=document.createElement("a");e.classList.add("name"),e.setAttribute("target","_blank"),e.href=t.url||"#",e.innerHTML=u.RichTextProcessor.wrapEmojiText(t.site_name),l.append(e)}if(t.title){let e=document.createElement("div");e.classList.add("title"),e.innerHTML=u.RichTextProcessor.wrapRichText(t.title),l.append(e)}if(t.description){let e=document.createElement("div");e.classList.add("text"),e.innerHTML=u.RichTextProcessor.wrapRichText(t.description),l.append(e)}if(o.append(l),t.photo&&!r){s.classList.add("photo");const i=t.photo.sizes[t.photo.sizes.length-1];i.w==i.h&&l.childElementCount?s.classList.add("is-square-photo"):i.h>i.w&&s.classList.add("is-vertical-photo"),w.wrapPhoto(t.photo.id,e,n,480,400,!1,null,this.lazyLoadQueue,this.getMiddleware())}i.append(o),d.prepend(b,i);break}case"messageMediaDocument":{let o=M.document;if(o.sticker){s.classList.add("sticker"),o.animated&&s.classList.add("sticker-animated");let a=s.classList.contains("emoji-big")?140:200;h.default.setAttachmentSize(o,t,a,a,!0),d.style.height=t.style.height,d.style.width=t.style.width,w.wrapSticker({doc:o,div:t,middleware:this.getMiddleware(),lazyLoadQueue:this.lazyLoadQueue,group:"chat",play:!!e.pending||!i,emoji:s.classList.contains("emoji-big")?v:void 0});break}if("video"==o.type||"gif"==o.type||"round"==o.type){"round"==o.type&&s.classList.add("round"),s.classList.add("hide-name","video"),e.grouped_id?(s.classList.add("is-album"),w.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:p,lazyLoadQueue:this.lazyLoadQueue})):w.wrapVideo({doc:o,container:t,message:e,boxWidth:480,boxHeight:480,withTail:"round"!=o.type,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware()});break}if("audio/ogg"==o.mime_type){let e=w.wrapDocument(o);s.classList.remove("is-message-empty"),s.classList.add("bubble-audio"),m.append(e),a=!0;break}{let e=w.wrapDocument(o);s.classList.remove("is-message-empty"),m.append(e),m.classList.add((o.type||"document")+"-message"),a=!0;break}}case"messageMediaContact":{let t=document.createElement("div");t.classList.add("contact"),t.dataset.peerID=""+M.user_id,m.classList.add("contact-message"),a=!0;let i=[];e.media.first_name&&i.push(u.RichTextProcessor.wrapEmojiText(e.media.first_name)),e.media.last_name&&i.push(u.RichTextProcessor.wrapEmojiText(e.media.last_name)),t.innerHTML=`\n
\n
${i.join(" ")}
\n
${e.media.phone_number?"+"+_.formatPhoneNumber(e.media.phone_number).formatted:"Unknown phone number"}
\n
`;let o=new X.default;o.setAttribute("peer",""+e.media.user_id),o.classList.add("contact-avatar"),t.prepend(o),s.classList.remove("is-message-empty"),m.append(t);break}case"messageMediaPoll":{s.classList.remove("is-message-empty");let t=w.wrapPoll(e.media.poll.id,e.mid);m.prepend(t);break}default:s.classList.remove("is-message-empty"),m.innerHTML="unrecognized media type: "+e.media._,m.append(b),this.log.warn("unrecognized media type:",e.media._,e)}a||d.append(t)}if(this.peerID<0&&!p||e.fwd_from||e.reply_to_mid){let t=l.default.getPeerTitle(e.fwdFromID||e.fromID);if(e.fwd_from&&!e.fwd_from.from_id&&!e.fwd_from.channel_id&&(t=u.RichTextProcessor.wrapEmojiText(e.fwd_from.from_name),s.classList.add("hidden-profile")),e.fwdFromID||e.fwd_from){if(this.peerID!=this.myID&&s.classList.add("forwarded"),e.savedFrom){let t=document.createElement("div");t.classList.add("goto-original","tgico-next"),d.append(t),s.dataset.savedFrom=e.savedFrom}if(!s.classList.contains("sticker")){let i=document.createElement("div");i.classList.add("name"),i.dataset.peerID=e.fwdFromID,this.peerID==this.myID?(i.style.color=l.default.getPeerColorByID(e.fwdFromID,!1),i.innerHTML=t):i.innerHTML="Forwarded from "+t,d.append(i)}}else{if(e.reply_to_mid){let t=r.default.getMessage(e.reply_to_mid),i=l.default.getPeerTitle(t.fromID,!0)||"";"messageEmpty"==t._&&(r.default.wrapSingleMessage(e.reply_to_mid),this.needUpdate.push({replyMid:e.reply_to_mid,mid:e.mid}),i="Loading..."),t.mid?s.setAttribute("data-original-mid",t.mid):s.setAttribute("data-original-mid",e.reply_to_mid),d.append(w.wrapReply(i,t.message||"",t)),s.classList.add("is-reply")}if(!s.classList.contains("sticker")&&c<0&&c!=e.fromID){let i=document.createElement("div");i.classList.add("name"),i.innerHTML=t,i.style.color=l.default.getPeerColorByID(e.fromID,!1),i.dataset.peerID=e.fromID,d.append(i)}else s.classList.add("hide-name")}if(!p&&this.peerID<0&&(!l.default.isChannel(this.peerID)||l.default.isMegagroup(this.peerID))||this.peerID==this.myID&&!e.reply_to_mid){let t=new X.default;t.classList.add("user-avatar"),!e.fromID&&e.fwd_from&&e.fwd_from.from_name&&t.setAttribute("peer-title",e.fwd_from.from_name),t.setAttribute("peer",""+((e.fwd_from&&this.peerID==this.myID?e.fwdFromID:e.fromID)||0)),this.log("exec loadDialogPhoto",e),d.append(t)}}else s.classList.add("hide-name");return s.classList.add(D?"is-out":"is-in"),a?(this.bubbleGroups.addBubble(s,e,t),this.renderMessagesQueue(e,s,t)):this.bubbleGroups.updateGroupByMessageID(e.mid),s}performHistoryResult(e,t,i,s){e.length||(i?this.scrolledAllDown=!0:this.scrolledAll=!0),e=e.slice(),s&&e.unshift(s);let a=r.default.getDialogByPeerID(this.peerID)[0];if(a&&a.top_message)for(let t of e)if(t==a.top_message){this.scrolledAllDown=!0;break}return console.time("appImManager render history"),new Promise((i,s)=>{let a,o=(t?e.shift:e.pop).bind(e);for(this.scrollable.length>0&&t&&(this.messagesQueueOnRender=()=>{let e=this.scrollable.scrollTop;a=this.scrollable.scrollHeight-e,this.log("performHistoryResult: messagesQueueOnRender, scrollTop:",e,a),this.messagesQueueOnRender=void 0});e.length;){let e=r.default.getMessage(o());this.renderMessage(e,t,!0)}(this.messagesQueuePromise||Promise.resolve()).then(()=>{if(void 0!==a){const e=t?this.scrollable.scrollHeight-a:a;this.log("performHistoryResult: will set scrollTop",this.scrollable.scrollHeight,e,this.scrollable.container.clientHeight),this.scrollable.scrollTop=e}i(!0)},s)}).then(()=>(console.timeEnd("appImManager render history"),!0))}getHistory(e=0,t=!1,i=!1,s=0){let a=this.peerID,o=h.default.windowH/38|0,n=Object.keys(this.bubbles).length>0?Math.max(40,o):o,l=n;let d=0;i&&(d=l,t||(l=0,e+=1));let c,u,p=r.default.getHistory(this.peerID,e,l,d);return p instanceof Promise?(u=!1,c=p.then(o=>(this.log("getHistory not cached result by maxID:",e,t,i,o,a),this.peerID!=a?(this.log.warn("peer changed"),Promise.reject()):this.performHistoryResult(o.history||[],t,i,s)),e=>(this.log.error("getHistory error:",e),t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0,!1))):(u=!0,this.log("getHistory cached result by maxID:",e,t,i,p,a),c=this.performHistoryResult(p.history||[],t,i,s)),t?this.getHistoryTopPromise=c:this.getHistoryBottomPromise=c,c.then(()=>{let e;t?(this.loadedTopTimes++,this.loadedBottomTimes=Math.max(0,--this.loadedBottomTimes)):(this.loadedBottomTimes++,this.loadedTopTimes=Math.max(0,--this.loadedTopTimes)),(t&&this.loadedTopTimes>2||!t&&this.loadedBottomTimes>2)&&(e=Object.keys(this.bubbles).map(e=>+e).sort((e,t)=>e-t));let i=2*n;this.log("getHistory: slice loadedTimes:",t,o,this.loadedTopTimes,this.loadedBottomTimes,e&&e.length,i),e&&e.length>i&&(t?(e=e.slice(i),this.scrolledAllDown=!1):(e=e.slice(0,e.length-i),this.scrolledAll=!1,this.log("getHistory: slice bottom: to:",e.length,l)),this.log("getHistory: will slice ids:",e,t),this.deleteMessagesByIDs(e)),t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0,this.setUnreadDelimiter()}),{cached:u,promise:c}}setUnreadDelimiter(){if(this.attachedUnreadBubble)return;let e=r.default.getDialogByPeerID(this.peerID)[0];if(!(null==e?void 0:e.unread_count))return;let t=e.read_inbox_max_id;if(t=Object.keys(this.bubbles).filter(e=>!this.bubbles[e].classList.contains("is-out")).map(e=>+e).sort((e,t)=>e-t).find(e=>e>t),t&&this.bubbles[t]){let i=this.bubbles[t];this.firstUnreadBubble&&this.firstUnreadBubble!=i&&(this.firstUnreadBubble.classList.remove("is-first-unread"),this.firstUnreadBubble=null),t!=e.top_message&&i.classList.add("is-first-unread"),this.firstUnreadBubble=i,this.attachedUnreadBubble=!0}}deleteEmptyDateGroups(){for(let e in this.dateMessages){let t=this.dateMessages[e];2==t.container.childElementCount&&(t.container.remove(),this.stickyIntersector.unobserve(t.container,t.div),delete this.dateMessages[e])}}setMutedState(e=!1){p.default.profileElements.notificationsCheckbox.checked=!e,p.default.profileElements.notificationsStatus.innerText=e?"Disabled":"Enabled",l.default.isBroadcast(this.peerID)?(this.btnMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMute.classList.add(e?"tgico-unmute":"tgico-mute"),this.btnMute.style.display=""):this.btnMute.style.display="none",this.btnMenuMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMenuMute.classList.add(e?"tgico-unmute":"tgico-mute");let t=this.btnMenuMute.firstElementChild;this.btnMenuMute.innerText=e?"Unmute":"Mute",this.btnMenuMute.appendChild(t)}mutePeer(e){let t={_:"inputNotifyPeer",peer:l.default.getInputPeerByID(e)},i={_:"inputPeerNotifySettings",flags:0,mute_until:0},s=r.default.getDialogByPeerID(e)[0],o=!0;s&&s.notify_settings&&(o=s.notify_settings.mute_until>(Date.now()/1e3|0)),o?i.flags|=2:(i.flags|=4,i.mute_until=2147483647),a.default.invokeApi("account.updateNotifySettings",{peer:t,settings:i}).then(e=>{this.handleUpdate({_:"updateNotifySettings",peer:t,notify_settings:i})})}handleUpdate(e){switch(e._){case"updateUserTyping":case"updateChatUserTyping":{if(this.myID==e.user_id)return;var t="updateUserTyping"==e._?e.user_id:-e.chat_id;this.typingUsers[e.user_id]=t,n.default.hasUser(e.user_id)||e.chat_id&&v.default.hasChat(e.chat_id)&&!v.default.isChannel(e.chat_id)&&d.default.getChatFull(e.chat_id),n.default.forceUserOnline(e.user_id);let i=r.default.getDialogByPeerID(t)[0],s=this.peerID==t;this.typingTimeouts[t]?clearTimeout(this.typingTimeouts[t]):i&&(c.default.setTyping(i,n.default.getUser(e.user_id)),s&&this.setPeerStatus()),this.typingTimeouts[t]=setTimeout(()=>{this.typingTimeouts[t]=0,delete this.typingUsers[e.user_id],i&&c.default.unsetTyping(i),this.setPeerStatus()},6e3);break}case"updateNotifySettings":{let{peer:t,notify_settings:i}=e;t=t.peer;let s=l.default.getPeerID(t),a=r.default.getDialogByPeerID(s)[0];if(a&&(a.notify_settings=i),s==this.peerID){let e=!!i.mute_until&&new Date(1e3*i.mute_until)>new Date;this.setMutedState(e)}break}case"updateChatPinnedMessage":case"updateUserPinnedMessage":{let{id:t}=e;this.pinnedMsgID=t,(e.user_id||-e.chat_id||-e.channel_id)==this.peerID&&r.default.wrapSingleMessage(t);break}}}}t.AppImManager=F;const B=new F;window.appImManager=B,t.default=B},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(23)),r=a(i(6)),l=a(i(8)),d=a(i(4)),c=i(3),u=a(i(7)),h=a(i(19)),p=a(i(12)),m=a(i(1)),g=a(i(20)),f=i(2),b=a(i(27));class v{constructor(){this.botInfos={},this.usersFull={},this.chatsFull={},this.chatFullPromises={},this.chatParticipantsPromises={},this.savedAvatarURLs={},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChatParticipants":var i=t.participants;void 0!==(r=this.chatsFull[i.id])&&(r.participants=t.participants,o.$rootScope.$broadcast("chat_full_update",t.chat_id));break;case"updateChatParticipantAdd":if(void 0!==(r=this.chatsFull[t.chat_id])){for(var s=0,a=(i=r.participants.participants||[]).length;s{let t=e.detail,i=this.chatsFull[t],s=r.default.getChat(t);if(!s.photo||!i)return;let a="chatPhotoEmpty"==s.photo._;if(i.chat_photo&&a!=("photoEmpty"==i.chat_photo._))return delete this.chatsFull[t],void o.$rootScope.$broadcast("chat_full_update",t);if(a)return;let n=s.photo.photo_small,d=l.default.choosePhotoSize(i.chat_photo,0,0);JSON.stringify(n)!==JSON.stringify(d.location)&&(delete this.chatsFull[t],o.$rootScope.$broadcast("chat_full_update",t))})}saveBotInfo(e){let t=e&&e.user_id;if(!t)return!1;let i={};return e.commands.forEach(e=>{i[e.command]=e.description}),this.botInfos[t]={id:t,version:e.version,shareText:e.share_text,description:e.description,commands:i}}getProfile(e,t){return this.usersFull[e]?Promise.resolve(this.usersFull[e]):m.default.invokeApi("users.getFullUser",{id:d.default.getUserInput(e)}).then(i=>(t&&t.phone_number?(i.user.phone=t.phone_number,(t.first_name||t.last_name)&&(i.user.first_name=t.first_name,i.user.last_name=t.last_name),d.default.saveApiUser(i.user)):d.default.saveApiUser(i.user,!0),i.profile_photo&&(i.profile_photo=l.default.savePhoto(i.profile_photo,{user_id:e})),void 0!==i.about&&(i.rAbout=c.RichTextProcessor.wrapRichText(i.about,{noLinebreaks:!0})),i.bot_info&&(i.bot_info=this.saveBotInfo(i.bot_info)),this.usersFull[e]=i))}getPeerBots(e){var t=[];return e>=0&&!d.default.isBot(e)||u.default.isChannel(e)&&!u.default.isMegagroup(e)?Promise.resolve(t):e>=0?this.getProfile(e).then(e=>{var i=e.bot_info;return i&&"botInfoEmpty"!=i._&&t.push(i),t}):this.getChatFull(-e).then(e=>(e.bot_info.forEach(e=>{t.push(this.saveBotInfo(e))}),t))}getChatFull(e){if(r.default.isChannel(e))return this.getChannelFull(e);if(void 0!==this.chatsFull[e]){var t=r.default.getChat(e);if(t.version==this.chatsFull[e].participants.version||t.pFlags.left)return Promise.resolve(this.chatsFull[e])}return void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=m.default.invokeApi("messages.getFullChat",{chat_id:e}).then(t=>{r.default.saveApiChats(t.chats),d.default.saveApiUsers(t.users);var i=t.full_chat;return i&&i.chat_photo&&i.chat_photo.id&&(i.chat_photo=l.default.savePhoto(i.chat_photo)),delete this.chatFullPromises[e],this.chatsFull[e]=i,o.$rootScope.$broadcast("chat_full_update",e),i})}getChatInviteLink(e,t){return this.getChatFull(e).then(i=>{if(!t&&i.exported_invite&&"chatInviteExported"==i.exported_invite._)return i.exported_invite.link;let s;return s=r.default.isChannel(e)?m.default.invokeApi("channels.exportInvite",{channel:r.default.getChannelInput(e)}):m.default.invokeApi("messages.exportChatInvite",{chat_id:e}),s.then(t=>(void 0!==this.chatsFull[e]&&(this.chatsFull[e].exported_invite=t),t.link))})}getChannelParticipants(e,t,i,s){i=i||200,s=s||0;let a=[e,(t=t||{_:"channelParticipantsRecent"})._,s,i].join("_"),n=this.chatParticipantsPromises[a];if("channelParticipantsRecent"==t._){let t=r.default.getChat(e);if(t&&t.pFlags&&(t.pFlags.kicked||t.pFlags.broadcast&&!t.pFlags.creator&&!t.admin_rights))return Promise.reject()}let l=a=>{let o=0;if(a){let e=[];a.forEach(t=>{e.push(t.user_id)}),e.sort((e,t)=>e-t),e.forEach(e=>{o=(20261*o+2147483648+e)%2147483648})}return m.default.invokeApi("channels.getParticipants",{channel:r.default.getChannelInput(e),filter:t,offset:s,limit:i,hash:o}).then(e=>"channels.channelParticipantsNotModified"==e._?a:(d.default.saveApiUsers(e.users),e.participants))},c=i=>{let a=r.default.getChat(e);if("channelParticipantsRecent"==t._&&!s&&!a.pFlags.kicked&&!a.pFlags.left){i=o.copy(i);let e,t=d.default.getSelf().id,s=i.findIndex(e=>e.user_id==t);-1!==s?(e=i[s],i.splice(s,1)):e={_:"channelParticipantSelf",user_id:t},i.unshift(e)}return i},u=o.tsNow();if(void 0!==n){let e=n[1];if(n[0]>u-6e4)return e;let t=e.then(e=>l(e).then(c));return this.chatParticipantsPromises[a]=[u,t],t}let h=l().then(c);return this.chatParticipantsPromises[a]=[u,h],h}getChannelFull(e,t){return void 0===this.chatsFull[e]||t?void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=m.default.invokeApi("channels.getFullChannel",{channel:r.default.getChannelInput(e)}).then(t=>{r.default.saveApiChats(t.chats),d.default.saveApiUsers(t.users);let i=t.full_chat;return i&&i.chat_photo.id&&(i.chat_photo=l.default.savePhoto(i.chat_photo)),i.pinned_msg_id&&(i.pinned_msg_id=n.default.getFullMessageID(i.pinned_msg_id,e)),delete this.chatFullPromises[e],this.chatsFull[e]=i,o.$rootScope.$broadcast("chat_full_update",e),i},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},h.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:e}],chats:[t],users:[]})}return Promise.reject(t)}):Promise.resolve(this.chatsFull[e])}invalidateChannelParticipants(e){delete this.chatsFull[e],delete this.chatFullPromises[e];for(let t in this.chatParticipantsPromises)+t.split("_")[0]==e&&delete this.chatParticipantsPromises[t];o.$rootScope.$broadcast("chat_full_update",e)}getChannelPinnedMessage(e){return this.getChannelFull(e).then(t=>{let i=t&&t.pinned_msg_id;return!!i&&p.default.get("pinned_hidden"+e).then(e=>n.default.getMessageLocalID(i)!=e&&i)})}hideChannelPinnedMessage(e,t){let i={};i["pinned_hidden"+e]=n.default.getMessageLocalID(t),p.default.set(i),o.$rootScope.$broadcast("peer_pinned_message",-e)}updateProfile(e,t,i){return m.default.invokeApi("account.updateProfile",{flags:7,first_name:e,last_name:t,about:i}).then(e=>{d.default.saveApiUser(e)})}uploadProfilePhoto(e){return m.default.invokeApi("photos.uploadProfilePhoto",{file:e}).then(e=>{d.default.saveApiUsers(e.users),m.default.getUserID().then(t=>{l.default.savePhoto(e.photo,{user_id:t}),h.default.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:t,date:o.tsNow(!0),photo:d.default.getUser(t).photo,previous:!0}})})})}updateUsername(e){return m.default.invokeApi("account.updateUsername",{username:e}).then(e=>{d.default.saveApiUser(e)})}removeFromAvatarsCache(e){this.savedAvatarURLs[e]&&delete this.savedAvatarURLs[e]}putPhoto(e,t,i=!1,a=""){var n;return s(this,void 0,void 0,(function*(){let s,r;t&&(s=u.default.getInputPeerByID(t),r=u.default.getPeerPhoto(t));let l=o.$rootScope.myID;if(t==l&&i)return e.firstChild&&e.firstChild.remove(),e.style.backgroundColor="",e.classList.add("tgico-savedmessages"),e.classList.remove("tgico-avatar_deletedaccount"),!0;if(t>0){let i=d.default.getUser(t);if(i&&i.pFlags&&i.pFlags.deleted)return e.firstChild&&e.firstChild.remove(),e.style.backgroundColor="",e.classList.add("tgico-avatar_deletedaccount"),!0}e.firstChild&&e.firstChild.remove();let c,h="";if(t&&t!=l&&(h=u.default.getPeerColorByID(t)),e.classList.remove("tgico-savedmessages","tgico-avatar_deletedaccount"),e.style.backgroundColor=h,a){const e=b.default.cleanSearchText(a,!1).split(" "),t=e.shift(),i=e.pop();c=t.charAt(0)+(i?i.charAt(0):"")}else c=null!==(n=u.default.getPeer(t).initials)&&void 0!==n?n:"";if(e.innerText=c.toUpperCase(),!r||r.empty||!r.photo_small)return!0;if(!this.savedAvatarURLs[t]){let e=yield g.default.downloadSmallFile({_:"inputPeerPhotoFileLocation",dc_id:r.dc_id,flags:0,peer:s,volume_id:r.photo_small.volume_id,local_id:r.photo_small.local_id});this.savedAvatarURLs[t]=URL.createObjectURL(e)}let p=new Image;return(yield f.renderImageFromUrl(p,this.savedAvatarURLs[t]))?(e.innerHTML="",e.append(p)):(p.classList.add("fade-in"),p.addEventListener("load",()=>{e.innerHTML="",e.append(p)})),!0}))}}t.AppProfileManager=v,t.default=new v},function(e,t,i){"use strict"; /*! * Webogram v0.7.0 - messaging web application for MTProto * https://github.com/zhukov/webogram * Copyright (C) 2014 Igor Zhukov * https://github.com/zhukov/webogram/blob/master/LICENSE - */Object.defineProperty(t,"__esModule",{value:!0});const s={Emoji:{"#⃣":6365,"*⃣":6366,"0⃣":6367,"1⃣":6368,"2⃣":6369,"3⃣":6370,"4⃣":6371,"5⃣":6372,"6⃣":6373,"7⃣":6374,"8⃣":6375,"9⃣":6376,"©":6362,"®":6363,"🀄":573,"🃏":572,"🅰":6383,"🅱":6385,"🅾":6394,"🅿":6396,"🆎":6384,"🆑":6386,"🆒":6387,"🆓":6388,"🆔":6390,"🆕":6392,"🆖":6393,"🆗":6395,"🆘":6397,"🆙":6398,"🆚":6399,"🇦🇨":78,"🇦🇩":79,"🇦🇪":710,"🇦🇫":711,"🇦🇬":712,"🇦🇮":713,"🇦🇱":714,"🇦🇲":715,"🇦🇴":716,"🇦🇶":717,"🇦🇷":718,"🇦🇸":719,"🇦🇹":720,"🇦🇺":721,"🇦🇼":722,"🇦🇽":723,"🇦🇿":724,"🇧🇦":725,"🇧🇧":726,"🇧🇩":727,"🇧🇪":728,"🇧🇫":729,"🇧🇬":730,"🇧🇭":731,"🇧🇮":732,"🇧🇯":733,"🇧🇱":734,"🇧🇲":735,"🇧🇳":736,"🇧🇴":737,"🇧🇶":738,"🇧🇷":739,"🇧🇸":740,"🇧🇹":741,"🇧🇻":742,"🇧🇼":743,"🇧🇾":744,"🇧🇿":745,"🇨🇦":746,"🇨🇨":747,"🇨🇩":748,"🇨🇫":749,"🇨🇬":750,"🇨🇭":751,"🇨🇮":752,"🇨🇰":753,"🇨🇱":754,"🇨🇲":755,"🇨🇳":756,"🇨🇴":757,"🇨🇵":758,"🇨🇷":759,"🇨🇺":760,"🇨🇻":761,"🇨🇼":762,"🇨🇽":763,"🇨🇾":764,"🇨🇿":765,"🇩🇪":766,"🇩🇬":767,"🇩🇯":768,"🇩🇰":769,"🇩🇲":770,"🇩🇴":771,"🇩🇿":772,"🇪🇦":773,"🇪🇨":774,"🇪🇪":775,"🇪🇬":776,"🇪🇭":777,"🇪🇷":778,"🇪🇸":779,"🇪🇹":780,"🇪🇺":781,"🇫🇮":782,"🇫🇯":783,"🇫🇰":784,"🇫🇲":785,"🇫🇴":786,"🇫🇷":787,"🇬🇦":788,"🇬🇧":789,"🇬🇩":790,"🇬🇪":791,"🇬🇫":792,"🇬🇬":793,"🇬🇭":794,"🇬🇮":795,"🇬🇱":796,"🇬🇲":797,"🇬🇳":798,"🇬🇵":799,"🇬🇶":7100,"🇬🇷":7101,"🇬🇸":7102,"🇬🇹":7103,"🇬🇺":7104,"🇬🇼":7105,"🇬🇾":7106,"🇭🇰":7107,"🇭🇲":7108,"🇭🇳":7109,"🇭🇷":7110,"🇭🇹":7111,"🇭🇺":7112,"🇮🇨":7113,"🇮🇩":7114,"🇮🇪":7115,"🇮🇱":7116,"🇮🇲":7117,"🇮🇳":7118,"🇮🇴":7119,"🇮🇶":7120,"🇮🇷":7121,"🇮🇸":7122,"🇮🇹":7123,"🇯🇪":7124,"🇯🇲":7125,"🇯🇴":7126,"🇯🇵":7127,"🇰🇪":7128,"🇰🇬":7129,"🇰🇭":7130,"🇰🇮":7131,"🇰🇲":7132,"🇰🇳":7133,"🇰🇵":7134,"🇰🇷":7135,"🇰🇼":7136,"🇰🇾":7137,"🇰🇿":7138,"🇱🇦":7139,"🇱🇧":7140,"🇱🇨":7141,"🇱🇮":7142,"🇱🇰":7143,"🇱🇷":7144,"🇱🇸":7145,"🇱🇹":7146,"🇱🇺":7147,"🇱🇻":7148,"🇱🇾":7149,"🇲🇦":7150,"🇲🇨":7151,"🇲🇩":7152,"🇲🇪":7153,"🇲🇫":7154,"🇲🇬":7155,"🇲🇭":7156,"🇲🇰":7157,"🇲🇱":7158,"🇲🇲":7159,"🇲🇳":7160,"🇲🇴":7161,"🇲🇵":7162,"🇲🇶":7163,"🇲🇷":7164,"🇲🇸":7165,"🇲🇹":7166,"🇲🇺":7167,"🇲🇻":7168,"🇲🇼":7169,"🇲🇽":7170,"🇲🇾":7171,"🇲🇿":7172,"🇳🇦":7173,"🇳🇨":7174,"🇳🇪":7175,"🇳🇫":7176,"🇳🇬":7177,"🇳🇮":7178,"🇳🇱":7179,"🇳🇴":7180,"🇳🇵":7181,"🇳🇷":7182,"🇳🇺":7183,"🇳🇿":7184,"🇴🇲":7185,"🇵🇦":7186,"🇵🇪":7187,"🇵🇫":7188,"🇵🇬":7189,"🇵🇭":7190,"🇵🇰":7191,"🇵🇱":7192,"🇵🇲":7193,"🇵🇳":7194,"🇵🇷":7195,"🇵🇸":7196,"🇵🇹":7197,"🇵🇼":7198,"🇵🇾":7199,"🇶🇦":7200,"🇷🇪":7201,"🇷🇴":7202,"🇷🇸":7203,"🇷🇺":7204,"🇷🇼":7205,"🇸🇦":7206,"🇸🇧":7207,"🇸🇨":7208,"🇸🇩":7209,"🇸🇪":7210,"🇸🇬":7211,"🇸🇭":7212,"🇸🇮":7213,"🇸🇯":7214,"🇸🇰":7215,"🇸🇱":7216,"🇸🇲":7217,"🇸🇳":7218,"🇸🇴":7219,"🇸🇷":7220,"🇸🇸":7221,"🇸🇹":7222,"🇸🇻":7223,"🇸🇽":7224,"🇸🇾":7225,"🇸🇿":7226,"🇹🇦":7227,"🇹🇨":7228,"🇹🇩":7229,"🇹🇫":7230,"🇹🇬":7231,"🇹🇭":7232,"🇹🇯":7233,"🇹🇰":7234,"🇹🇱":7235,"🇹🇲":7236,"🇹🇳":7237,"🇹🇴":7238,"🇹🇷":7239,"🇹🇹":7240,"🇹🇻":7241,"🇹🇼":7242,"🇹🇿":7243,"🇺🇦":7244,"🇺🇬":7245,"🇺🇲":7246,"🇺🇳":7247,"🇺🇸":7248,"🇺🇾":7249,"🇺🇿":7250,"🇻🇦":7251,"🇻🇨":7252,"🇻🇪":7253,"🇻🇬":7254,"🇻🇮":7255,"🇻🇳":7256,"🇻🇺":7257,"🇼🇫":7258,"🇼🇸":7259,"🇽🇰":7260,"🇾🇪":7261,"🇾🇹":7262,"🇿🇦":7263,"🇿🇲":7264,"🇿🇼":7265,"🈁":6400,"🈂":6401,"🈚":6407,"🈯":6404,"🈲":6408,"🈳":6412,"🈴":6411,"🈵":6416,"🈶":6403,"🈷":6402,"🈸":6410,"🈹":6406,"🈺":6415,"🉐":6405,"🉑":6409,"🌀":4197,"🌁":449,"🌂":4199,"🌃":450,"🌄":452,"🌅":453,"🌆":454,"🌇":455,"🌈":4198,"🌉":456,"🌊":4210,"🌋":410,"🌌":4184,"🌍":41,"🌎":42,"🌏":43,"🌐":44,"🌑":4164,"🌒":4165,"🌓":4166,"🌔":4167,"🌕":4168,"🌖":4169,"🌗":4170,"🌘":4171,"🌙":4172,"🌚":4173,"🌛":4174,"🌜":4175,"🌝":4178,"🌞":4179,"🌟":4182,"🌠":4183,"🌡":4176,"🌤":4188,"🌥":4189,"🌦":4190,"🌧":4191,"🌨":4192,"🌩":4193,"🌪":4194,"🌫":4195,"🌬":4196,"🌭":347,"🌮":349,"🌯":350,"🌰":331,"🌱":2116,"🌲":2117,"🌳":2118,"🌴":2119,"🌵":2120,"🌶":323,"🌷":2115,"🌸":2107,"🌹":2110,"🌺":2112,"🌻":2113,"🌼":2114,"🌽":322,"🌾":2121,"🌿":2122,"🍀":2124,"🍁":2125,"🍂":2126,"🍃":2127,"🍄":329,"🍅":316,"🍆":319,"🍇":31,"🍈":32,"🍉":33,"🍊":34,"🍋":35,"🍌":36,"🍍":37,"🍎":39,"🍏":310,"🍐":311,"🍑":312,"🍒":313,"🍓":314,"🍔":344,"🍕":346,"🍖":340,"🍗":341,"🍘":364,"🍙":365,"🍚":366,"🍛":367,"🍜":368,"🍝":369,"🍞":332,"🍟":345,"🍠":370,"🍡":376,"🍢":371,"🍣":372,"🍤":373,"🍥":374,"🍦":385,"🍧":386,"🍨":387,"🍩":388,"🍪":389,"🍫":394,"🍬":395,"🍭":396,"🍮":397,"🍯":398,"🍰":391,"🍱":363,"🍲":356,"🍳":354,"🍴":3118,"🍵":3102,"🍶":3103,"🍷":3105,"🍸":3106,"🍹":3107,"🍺":3108,"🍻":3109,"🍼":399,"🍽":3117,"🍾":3104,"🍿":359,"🎀":517,"🎁":518,"🎂":390,"🎃":51,"🎄":52,"🎅":1326,"🎆":53,"🎇":54,"🎈":57,"🎉":58,"🎊":59,"🎋":510,"🎌":73,"🎍":511,"🎎":512,"🎏":513,"🎐":514,"🎑":515,"🎒":625,"🎓":637,"🎖":522,"🎗":519,"🎙":656,"🎚":657,"🎛":658,"🎞":689,"🎟":520,"🎠":458,"🎡":459,"🎢":460,"🎣":549,"🎤":659,"🎥":688,"🎦":6324,"🎧":660,"🎨":577,"🎩":636,"🎪":462,"🎫":521,"🎬":691,"🎭":575,"🎮":561,"🎯":555,"🎰":563,"🎱":558,"🎲":564,"🎳":537,"🎴":574,"🎵":654,"🎶":655,"🎷":662,"🎸":663,"🎹":664,"🎺":665,"🎻":666,"🎼":653,"🎽":551,"🎾":535,"🎿":552,"🏀":531,"🏁":71,"🏂":1397,"🏃‍♀":1381,"🏃‍♂":1380,"🏃":1379,"🏄‍♀":1403,"🏄‍♂":1402,"🏄":1401,"🏅":524,"🏆":523,"🏇":1395,"🏈":533,"🏉":534,"🏊‍♀":1409,"🏊‍♂":1408,"🏊":1407,"🏋‍♀":1415,"🏋‍♂":1414,"🏋":1413,"🏌‍♀":1400,"🏌‍♂":1399,"🏌":1398,"🏍":492,"🏎":491,"🏏":538,"🏐":532,"🏑":539,"🏒":540,"🏓":542,"🏔":48,"🏕":412,"🏖":413,"🏗":419,"🏘":421,"🏙":451,"🏚":422,"🏛":418,"🏜":414,"🏝":415,"🏞":416,"🏟":417,"🏠":423,"🏡":424,"🏢":425,"🏣":426,"🏤":427,"🏥":428,"🏦":429,"🏧":6234,"🏨":430,"🏩":431,"🏪":432,"🏫":433,"🏬":434,"🏭":435,"🏮":6102,"🏯":436,"🏰":437,"🏳‍🌈":76,"🏳":75,"🏴‍☠":77,"🏴󠁧󠁢󠁥󠁮󠁧󠁿":7266,"🏴󠁧󠁢󠁳󠁣󠁴󠁿":7267,"🏴󠁧󠁢󠁷󠁬󠁳󠁿":7268,"🏴":74,"🏵":2109,"🏷":6120,"🏸":543,"🏹":6189,"🏺":3121,"🏻":81,"🏼":82,"🏽":83,"🏾":84,"🏿":85,"🐀":244,"🐁":243,"🐂":225,"🐃":226,"🐄":227,"🐅":217,"🐆":218,"🐇":247,"🐈":214,"🐉":282,"🐊":277,"🐋":286,"🐌":294,"🐍":280,"🐎":220,"🐏":232,"🐐":234,"🐑":233,"🐒":22,"🐓":262,"🐔":261,"🐕‍🦺":28,"🐕":26,"🐖":229,"🐗":230,"🐘":239,"🐙":292,"🐚":293,"🐛":296,"🐜":297,"🐝":298,"🐞":299,"🐟":288,"🐠":289,"🐡":290,"🐢":278,"🐣":263,"🐤":264,"🐥":265,"🐦":266,"🐧":267,"🐨":252,"🐩":29,"🐪":235,"🐫":236,"🐬":287,"🐭":242,"🐮":224,"🐯":216,"🐰":246,"🐱":213,"🐲":281,"🐳":285,"🐴":219,"🐵":21,"🐶":25,"🐷":228,"🐸":276,"🐹":245,"🐺":210,"🐻":251,"🐼":253,"🐽":231,"🐾":259,"🐿":248,"👀":1194,"👁‍🗨":1145,"👁":1195,"👂":1188,"👃":1190,"👄":1197,"👅":1196,"👆":1164,"👇":1166,"👈":1162,"👉":1163,"👊":1171,"👋":1150,"👌":1155,"👍":1168,"👎":1169,"👏":1174,"👐":1176,"👑":634,"👒":635,"👓":61,"👔":66,"👕":67,"👖":68,"👗":613,"👘":614,"👙":619,"👚":620,"👛":621,"👜":622,"👝":623,"👞":626,"👟":627,"👠":630,"👡":631,"👢":633,"👣":1483,"👤":1481,"👥":1482,"👦":1200,"👧":1201,"👨‍🌾":1267,"👨‍🍳":1270,"👨‍🎓":1258,"👨‍🎤":1288,"👨‍🎨":1291,"👨‍🏫":1261,"👨‍🏭":1276,"👨‍👦‍👦":1471,"👨‍👦":1470,"👨‍👧‍👦":1473,"👨‍👧‍👧":1474,"👨‍👧":1472,"👨‍👨‍👦":1460,"👨‍👨‍👦‍👦":1463,"👨‍👨‍👧":1461,"👨‍👨‍👧‍👦":1462,"👨‍👨‍👧‍👧":1464,"👨‍👩‍👦":1455,"👨‍👩‍👦‍👦":1458,"👨‍👩‍👧":1456,"👨‍👩‍👧‍👦":1457,"👨‍👩‍👧‍👧":1459,"👨‍💻":1285,"👨‍💼":1279,"👨‍🔧":1273,"👨‍🔬":1282,"👨‍🚀":1297,"👨‍🚒":1300,"👨‍🦯":1371,"👨‍🦰":1206,"👨‍🦱":1207,"👨‍🦲":1209,"👨‍🦳":1208,"👨‍🦼":1374,"👨‍🦽":1377,"👨‍⚕":1255,"👨‍⚖":1264,"👨‍✈":1294,"👨‍❤‍👨":1452,"👨‍❤‍💋‍👨":1448,"👨":1204,"👩‍🌾":1268,"👩‍🍳":1271,"👩‍🎓":1259,"👩‍🎤":1289,"👩‍🎨":1292,"👩‍🏫":1262,"👩‍🏭":1277,"👩‍👦‍👦":1476,"👩‍👦":1475,"👩‍👧‍👦":1478,"👩‍👧‍👧":1479,"👩‍👧":1477,"👩‍👩‍👦":1465,"👩‍👩‍👦‍👦":1468,"👩‍👩‍👧":1466,"👩‍👩‍👧‍👦":1467,"👩‍👩‍👧‍👧":1469,"👩‍💻":1286,"👩‍💼":1280,"👩‍🔧":1274,"👩‍🔬":1283,"👩‍🚀":1298,"👩‍🚒":1301,"👩‍🦯":1372,"👩‍🦰":1211,"👩‍🦱":1213,"👩‍🦲":1217,"👩‍🦳":1215,"👩‍🦼":1375,"👩‍🦽":1378,"👩‍⚕":1256,"👩‍⚖":1265,"👩‍✈":1295,"👩‍❤‍👨":1451,"👩‍❤‍👩":1453,"👩‍❤‍💋‍👨":1447,"👩‍❤‍💋‍👩":1449,"👩":1210,"👪":1454,"👫":1444,"👬":1445,"👭":1443,"👮‍♀":1304,"👮‍♂":1303,"👮":1302,"👯‍♀":1387,"👯‍♂":1386,"👯":1385,"👰":1322,"👱‍♀":1219,"👱‍♂":1220,"👱":1203,"👲":1319,"👳‍♀":1318,"👳‍♂":1317,"👳":1316,"👴":1222,"👵":1223,"👶":1198,"👷‍♀":1313,"👷‍♂":1312,"👷":1311,"👸":1315,"👹":197,"👺":198,"👻":199,"👼":1325,"👽":1100,"👾":1101,"👿":192,"💀":193,"💁‍♀":1238,"💁‍♂":1237,"💁":1236,"💂‍♀":1310,"💂‍♂":1309,"💂":1308,"💃":1382,"💄":641,"💅":1181,"💆‍♀":1357,"💆‍♂":1356,"💆":1355,"💇‍♀":1360,"💇‍♂":1359,"💇":1358,"💈":461,"💉":6208,"💊":6210,"💋":1115,"💌":1116,"💍":642,"💎":643,"💏":1446,"💐":2106,"💑":1450,"💒":438,"💓":1121,"💔":1126,"💕":1123,"💖":1119,"💗":1120,"💘":1117,"💙":1131,"💚":1130,"💛":1129,"💜":1132,"💝":1118,"💞":1122,"💟":1124,"💠":6447,"💡":6100,"💢":1137,"💣":1143,"💤":1149,"💥":1138,"💦":1140,"💧":4209,"💨":1141,"💩":195,"💪":1183,"💫":1139,"💬":1144,"💭":1148,"💮":2108,"💯":1136,"💰":6121,"💱":6130,"💲":6131,"💳":6127,"💴":6122,"💵":6123,"💶":6124,"💷":6125,"💸":6126,"💹":6129,"💺":4123,"💻":677,"💼":6152,"💽":683,"💾":684,"💿":685,"📀":686,"📁":6153,"📂":6154,"📃":6113,"📄":6115,"📅":6156,"📆":6157,"📇":6160,"📈":6161,"📉":6162,"📊":6163,"📋":6164,"📌":6165,"📍":6166,"📎":6167,"📏":6169,"📐":6170,"📑":6118,"📒":6112,"📓":6111,"📔":6104,"📕":6105,"📖":6106,"📗":6107,"📘":6108,"📙":6109,"📚":6110,"📛":6337,"📜":6114,"📝":6151,"📞":672,"📟":673,"📠":674,"📡":6207,"📢":648,"📣":649,"📤":6136,"📥":6137,"📦":6138,"📧":6133,"📨":6134,"📩":6135,"📪":6140,"📫":6139,"📬":6141,"📭":6142,"📮":6143,"📯":650,"📰":6116,"📱":669,"📲":670,"📳":6328,"📴":6329,"📵":6256,"📶":6327,"📷":693,"📸":694,"📹":695,"📺":692,"📻":661,"📼":696,"📽":690,"📿":640,"🔀":6306,"🔁":6307,"🔂":6308,"🔃":6274,"🔄":6275,"🔅":6325,"🔆":6326,"🔇":644,"🔈":645,"🔉":646,"🔊":647,"🔋":675,"🔌":676,"🔍":697,"🔎":698,"🔏":6177,"🔐":6178,"🔑":6179,"🔒":6175,"🔓":6176,"🔔":651,"🔕":652,"🔖":6119,"🔗":6197,"🔘":6448,"🔙":6276,"🔚":6277,"🔛":6278,"🔜":6279,"🔝":6280,"🔞":6257,"🔟":6377,"🔠":6378,"🔡":6379,"🔢":6380,"🔣":6381,"🔤":6382,"🔥":4208,"🔦":6101,"🔧":6191,"🔨":6181,"🔩":6192,"🔪":3120,"🔫":6188,"🔬":6205,"🔭":6206,"🔮":559,"🔯":6292,"🔰":6338,"🔱":6336,"🔲":6450,"🔳":6449,"🔴":6417,"🔵":6421,"🔶":6441,"🔷":6442,"🔸":6443,"🔹":6444,"🔺":6445,"🔻":6446,"🔼":6316,"🔽":6318,"🕉":6283,"🕊":268,"🕋":446,"🕌":442,"🕍":444,"🕎":6291,"🕐":4142,"🕑":4144,"🕒":4146,"🕓":4148,"🕔":4150,"🕕":4152,"🕖":4154,"🕗":4156,"🕘":4158,"🕙":4160,"🕚":4162,"🕛":4140,"🕜":4143,"🕝":4145,"🕞":4147,"🕟":4149,"🕠":4151,"🕡":4153,"🕢":4155,"🕣":4157,"🕤":4159,"🕥":4161,"🕦":4163,"🕧":4141,"🕯":699,"🕰":4139,"🕳":1142,"🕴":1384,"🕵‍♀":1307,"🕵‍♂":1306,"🕵":1305,"🕶":62,"🕷":2101,"🕸":2102,"🕹":562,"🕺":1383,"🖇":6168,"🖊":6148,"🖋":6147,"🖌":6149,"🖍":6150,"🖐":1152,"🖕":1165,"🖖":1154,"🖤":1134,"🖥":678,"🖨":679,"🖱":681,"🖲":682,"🖼":576,"🗂":6155,"🗃":6172,"🗄":6173,"🗑":6174,"🗒":6158,"🗓":6159,"🗜":6194,"🗝":6180,"🗞":6117,"🗡":6186,"🗣":1480,"🗨":1146,"🗯":1147,"🗳":6144,"🗺":45,"🗻":411,"🗼":439,"🗽":440,"🗾":46,"🗿":6233,"😀":11,"😁":14,"😂":18,"😃":12,"😄":13,"😅":16,"😆":15,"😇":113,"😈":191,"😉":111,"😊":112,"😋":122,"😌":142,"😍":115,"😎":160,"😏":137,"😐":134,"😑":135,"😒":138,"😓":183,"😔":143,"😕":163,"😖":180,"😗":118,"😘":117,"😙":121,"😚":120,"😛":123,"😜":124,"😝":126,"😞":182,"😟":164,"😠":189,"😡":188,"😢":177,"😣":181,"😤":187,"😥":176,"😦":172,"😧":173,"😨":174,"😩":184,"😪":144,"😫":185,"😬":140,"😭":178,"😮":167,"😯":168,"😰":175,"😱":179,"😲":169,"😳":170,"😴":146,"😵":156,"😶":136,"😷":147,"😸":1104,"😹":1105,"😺":1103,"😻":1106,"😼":1107,"😽":1108,"😾":1111,"😿":1110,"🙀":1109,"🙁":165,"🙂":19,"🙃":110,"🙄":139,"🙅‍♀":1232,"🙅‍♂":1231,"🙅":1230,"🙆‍♀":1235,"🙆‍♂":1234,"🙆":1233,"🙇‍♀":1247,"🙇‍♂":1246,"🙇":1245,"🙈":1112,"🙉":1113,"🙊":1114,"🙋‍♀":1241,"🙋‍♂":1240,"🙋":1239,"🙌":1175,"🙍‍♀":1226,"🙍‍♂":1225,"🙍":1224,"🙎‍♀":1229,"🙎‍♂":1228,"🙎":1227,"🙏":1179,"🚀":4129,"🚁":4124,"🚂":463,"🚃":464,"🚄":465,"🚅":466,"🚆":467,"🚇":468,"🚈":469,"🚉":470,"🚊":471,"🚋":474,"🚌":475,"🚍":476,"🚎":477,"🚏":4100,"🚐":478,"🚑":479,"🚒":480,"🚓":481,"🚔":482,"🚕":483,"🚖":484,"🚗":485,"🚘":486,"🚙":487,"🚚":488,"🚛":489,"🚜":490,"🚝":472,"🚞":473,"🚟":4125,"🚠":4126,"🚡":4127,"🚢":4117,"🚣‍♀":1406,"🚣‍♂":1405,"🚣":1404,"🚤":4113,"🚥":4106,"🚦":4107,"🚧":4109,"🚨":4105,"🚩":72,"🚪":6213,"🚫":6250,"🚬":6230,"🚭":6252,"🚮":6235,"🚯":6253,"🚰":6236,"🚱":6254,"🚲":497,"🚳":6251,"🚴‍♀":1418,"🚴‍♂":1417,"🚴":1416,"🚵‍♀":1421,"🚵‍♂":1420,"🚵":1419,"🚶‍♀":1363,"🚶‍♂":1362,"🚶":1361,"🚷":6255,"🚸":6248,"🚹":6238,"🚺":6239,"🚻":6240,"🚼":6241,"🚽":6217,"🚾":6242,"🚿":6218,"🛀":1440,"🛁":6219,"🛂":6243,"🛃":6244,"🛄":6245,"🛅":6246,"🛋":6215,"🛌":1441,"🛍":624,"🛎":4131,"🛏":6214,"🛐":6281,"🛑":4108,"🛒":6229,"🛕":443,"🛠":6185,"🛡":6190,"🛢":4103,"🛣":4101,"🛤":4102,"🛥":4116,"🛩":4119,"🛫":4120,"🛬":4121,"🛰":4128,"🛳":4114,"🛴":498,"🛵":493,"🛶":4112,"🛷":553,"🛸":4130,"🛹":499,"🛺":496,"🟠":6418,"🟡":6419,"🟢":6420,"🟣":6422,"🟤":6423,"🟥":6426,"🟦":6430,"🟧":6427,"🟨":6428,"🟩":6429,"🟪":6431,"🟫":6432,"🤍":1135,"🤎":1133,"🤏":1156,"🤐":132,"🤑":127,"🤒":148,"🤓":161,"🤔":131,"🤕":149,"🤖":1102,"🤗":128,"🤘":1160,"🤙":1161,"🤚":1151,"🤛":1172,"🤜":1173,"🤝":1178,"🤞":1158,"🤟":1159,"🤠":158,"🤡":196,"🤢":150,"🤣":17,"🤤":145,"🤥":141,"🤦‍♀":1250,"🤦‍♂":1249,"🤦":1248,"🤧":152,"🤨":133,"🤩":116,"🤪":125,"🤫":130,"🤬":190,"🤭":129,"🤮":151,"🤯":157,"🤰":1323,"🤱":1324,"🤲":1177,"🤳":1182,"🤴":1314,"🤵":1321,"🤶":1327,"🤷‍♀":1253,"🤷‍♂":1252,"🤷":1251,"🤸‍♀":1424,"🤸‍♂":1423,"🤸":1422,"🤹‍♀":1436,"🤹‍♂":1435,"🤹":1434,"🤺":1394,"🤼‍♀":1427,"🤼‍♂":1426,"🤼":1425,"🤽‍♀":1430,"🤽‍♂":1429,"🤽":1428,"🤾‍♀":1433,"🤾‍♂":1432,"🤾":1431,"🤿":550,"🥀":2111,"🥁":668,"🥂":3110,"🥃":3111,"🥄":3119,"🥅":546,"🥇":525,"🥈":526,"🥉":527,"🥊":544,"🥋":545,"🥌":554,"🥍":541,"🥎":530,"🥏":536,"🥐":333,"🥑":318,"🥒":324,"🥓":343,"🥔":320,"🥕":321,"🥖":334,"🥗":358,"🥘":355,"🥙":351,"🥚":353,"🥛":3100,"🥜":330,"🥝":315,"🥞":337,"🥟":377,"🥠":378,"🥡":379,"🥢":3116,"🥣":357,"🥤":3112,"🥥":317,"🥦":326,"🥧":393,"🥨":335,"🥩":342,"🥪":348,"🥫":362,"🥬":325,"🥭":38,"🥮":375,"🥯":336,"🥰":114,"🥱":186,"🥳":159,"🥴":155,"🥵":153,"🥶":154,"🥺":171,"🥻":615,"🥼":64,"🥽":63,"🥾":628,"🥿":629,"🦀":380,"🦁":215,"🦂":2103,"🦃":260,"🦄":221,"🦅":269,"🦆":270,"🦇":250,"🦈":291,"🦉":272,"🦊":211,"🦋":295,"🦌":223,"🦍":23,"🦎":279,"🦏":240,"🦐":382,"🦑":383,"🦒":238,"🦓":222,"🦔":249,"🦕":283,"🦖":284,"🦗":2100,"🦘":257,"🦙":237,"🦚":274,"🦛":241,"🦜":275,"🦝":212,"🦞":381,"🦟":2104,"🦠":2105,"🦡":258,"🦢":271,"🦥":254,"🦦":255,"🦧":24,"🦨":256,"🦩":273,"🦪":384,"🦮":27,"🦯":6196,"🦴":1193,"🦵":1186,"🦶":1187,"🦷":1192,"🦸‍♀":1330,"🦸‍♂":1329,"🦸":1328,"🦹‍♀":1333,"🦹‍♂":1332,"🦹":1331,"🦺":65,"🦻":1189,"🦼":495,"🦽":494,"🦾":1184,"🦿":1185,"🧀":339,"🧁":392,"🧂":361,"🧃":3113,"🧄":327,"🧅":328,"🧆":352,"🧇":338,"🧈":360,"🧉":3114,"🧊":3115,"🧍‍♀":1366,"🧍‍♂":1365,"🧍":1364,"🧎‍♀":1369,"🧎‍♂":1368,"🧎":1367,"🧏‍♀":1244,"🧏‍♂":1243,"🧏":1242,"🧐":162,"🧑‍🌾":1266,"🧑‍🍳":1269,"🧑‍🎓":1257,"🧑‍🎤":1287,"🧑‍🎨":1290,"🧑‍🏫":1260,"🧑‍🏭":1275,"🧑‍💻":1284,"🧑‍💼":1278,"🧑‍🔧":1272,"🧑‍🔬":1281,"🧑‍🚀":1296,"🧑‍🚒":1299,"🧑‍🤝‍🧑":1442,"🧑‍🦯":1370,"🧑‍🦰":1212,"🧑‍🦱":1214,"🧑‍🦲":1218,"🧑‍🦳":1216,"🧑‍🦼":1373,"🧑‍🦽":1376,"🧑‍⚕":1254,"🧑‍⚖":1263,"🧑‍✈":1293,"🧑":1202,"🧒":1199,"🧓":1221,"🧔":1205,"🧕":1320,"🧖‍♀":1390,"🧖‍♂":1389,"🧖":1388,"🧗‍♀":1393,"🧗‍♂":1392,"🧗":1391,"🧘‍♀":1439,"🧘‍♂":1438,"🧘":1437,"🧙‍♀":1336,"🧙‍♂":1335,"🧙":1334,"🧚‍♀":1339,"🧚‍♂":1338,"🧚":1337,"🧛‍♀":1342,"🧛‍♂":1341,"🧛":1340,"🧜‍♀":1345,"🧜‍♂":1344,"🧜":1343,"🧝‍♀":1348,"🧝‍♂":1347,"🧝":1346,"🧞‍♀":1351,"🧞‍♂":1350,"🧞":1349,"🧟‍♀":1354,"🧟‍♂":1353,"🧟":1352,"🧠":1191,"🧡":1128,"🧢":638,"🧣":69,"🧤":610,"🧥":611,"🧦":612,"🧧":516,"🧨":55,"🧩":565,"🧪":6202,"🧫":6203,"🧬":6204,"🧭":47,"🧮":687,"🧯":6228,"🧰":6199,"🧱":420,"🧲":6200,"🧳":4132,"🧴":6221,"🧵":578,"🧶":579,"🧷":6222,"🧸":566,"🧹":6223,"🧺":6224,"🧻":6225,"🧼":6226,"🧽":6227,"🧾":6128,"🧿":560,"🩰":632,"🩱":616,"🩲":617,"🩳":618,"🩸":6209,"🩹":6211,"🩺":6212,"🪀":556,"🪁":557,"🪂":4122,"🪐":4180,"🪑":6216,"🪒":6220,"🪓":6182,"🪔":6103,"🪕":667,"‼":6355,"⁉":6356,"™":6364,"ℹ":6389,"↔":6269,"↕":6268,"↖":6267,"↗":6261,"↘":6263,"↙":6265,"↩":6270,"↪":6271,"⌚":4135,"⌛":4133,"⌨":680,"⏏":6323,"⏩":6310,"⏪":6314,"⏫":6317,"⏬":6319,"⏭":6311,"⏮":6315,"⏯":6312,"⏰":4136,"⏱":4137,"⏲":4138,"⏳":4134,"⏸":6320,"⏹":6321,"⏺":6322,"Ⓜ":6391,"▪":6439,"▫":6440,"▶":6309,"◀":6313,"◻":6436,"◼":6435,"◽":6438,"◾":6437,"☀":4177,"☁":4185,"☂":4200,"☃":4205,"☄":4207,"☎":671,"☑":6341,"☔":4201,"☕":3101,"☘":2123,"☝":1167,"☠":194,"☢":6258,"☣":6259,"☦":6288,"☪":6289,"☮":6290,"☯":6286,"☸":6285,"☹":166,"☺":119,"♈":6293,"♉":6294,"♊":6295,"♋":6296,"♌":6297,"♍":6298,"♎":6299,"♏":6300,"♐":6301,"♑":6302,"♒":6303,"♓":6304,"♟":571,"♠":567,"♣":570,"♥":568,"♦":569,"♨":457,"♻":6334,"♾":6333,"♿":6237,"⚒":6184,"⚓":4110,"⚔":6187,"⚖":6195,"⚗":6201,"⚙":6193,"⚛":6282,"⚜":6335,"⚠":6247,"⚡":4203,"⚪":6425,"⚫":6424,"⚰":6231,"⚱":6232,"⚽":528,"⚾":529,"⛄":4206,"⛅":4186,"⛈":4187,"⛎":6305,"⛏":6183,"⛑":639,"⛓":6198,"⛔":6249,"⛩":445,"⛪":441,"⛰":49,"⛱":4202,"⛲":447,"⛳":547,"⛴":4115,"⛵":4111,"⛷":1396,"⛸":548,"⛹‍♀":1412,"⛹‍♂":1411,"⛹":1410,"⛺":448,"⛽":4104,"✂":6171,"✅":6340,"✈":4118,"✉":6132,"✊":1170,"✋":1153,"✌":1157,"✍":1180,"✏":6145,"✒":6146,"✔":6342,"✖":6343,"✝":6287,"✡":6284,"✨":56,"✳":6352,"✴":6353,"❄":4204,"❇":6354,"❌":6344,"❎":6345,"❓":6357,"❔":6358,"❕":6359,"❗":6360,"❣":1125,"❤":1127,"➕":6346,"➖":6347,"➗":6348,"➡":6262,"➰":6349,"➿":6350,"⤴":6272,"⤵":6273,"⬅":6266,"⬆":6260,"⬇":6264,"⬛":6433,"⬜":6434,"⭐":4181,"⭕":6339,"〰":6361,"〽":6351,"㊗":6413,"㊙":6414,"🎅🏻":0,"🎅🏼":0,"🎅🏽":0,"🎅🏾":0,"🎅🏿":0,"🏂🏻":0,"🏂🏼":0,"🏂🏽":0,"🏂🏾":0,"🏂🏿":0,"🏃🏻‍♀":0,"🏃🏼‍♀":0,"🏃🏽‍♀":0,"🏃🏾‍♀":0,"🏃🏿‍♀":0,"🏃🏻‍♂":0,"🏃🏼‍♂":0,"🏃🏽‍♂":0,"🏃🏾‍♂":0,"🏃🏿‍♂":0,"🏃🏻":0,"🏃🏼":0,"🏃🏽":0,"🏃🏾":0,"🏃🏿":0,"🏄🏻‍♀":0,"🏄🏼‍♀":0,"🏄🏽‍♀":0,"🏄🏾‍♀":0,"🏄🏿‍♀":0,"🏄🏻‍♂":0,"🏄🏼‍♂":0,"🏄🏽‍♂":0,"🏄🏾‍♂":0,"🏄🏿‍♂":0,"🏄🏻":0,"🏄🏼":0,"🏄🏽":0,"🏄🏾":0,"🏄🏿":0,"🏇🏻":0,"🏇🏼":0,"🏇🏽":0,"🏇🏾":0,"🏇🏿":0,"🏊🏻‍♀":0,"🏊🏼‍♀":0,"🏊🏽‍♀":0,"🏊🏾‍♀":0,"🏊🏿‍♀":0,"🏊🏻‍♂":0,"🏊🏼‍♂":0,"🏊🏽‍♂":0,"🏊🏾‍♂":0,"🏊🏿‍♂":0,"🏊🏻":0,"🏊🏼":0,"🏊🏽":0,"🏊🏾":0,"🏊🏿":0,"🏋🏻‍♀":0,"🏋🏼‍♀":0,"🏋🏽‍♀":0,"🏋🏾‍♀":0,"🏋🏿‍♀":0,"🏋🏻‍♂":0,"🏋🏼‍♂":0,"🏋🏽‍♂":0,"🏋🏾‍♂":0,"🏋🏿‍♂":0,"🏋🏻":0,"🏋🏼":0,"🏋🏽":0,"🏋🏾":0,"🏋🏿":0,"🏌🏻‍♀":0,"🏌🏼‍♀":0,"🏌🏽‍♀":0,"🏌🏾‍♀":0,"🏌🏿‍♀":0,"🏌🏻‍♂":0,"🏌🏼‍♂":0,"🏌🏽‍♂":0,"🏌🏾‍♂":0,"🏌🏿‍♂":0,"🏌🏻":0,"🏌🏼":0,"🏌🏽":0,"🏌🏾":0,"🏌🏿":0,"👂🏻":0,"👂🏼":0,"👂🏽":0,"👂🏾":0,"👂🏿":0,"👃🏻":0,"👃🏼":0,"👃🏽":0,"👃🏾":0,"👃🏿":0,"👆🏻":0,"👆🏼":0,"👆🏽":0,"👆🏾":0,"👆🏿":0,"👇🏻":0,"👇🏼":0,"👇🏽":0,"👇🏾":0,"👇🏿":0,"👈🏻":0,"👈🏼":0,"👈🏽":0,"👈🏾":0,"👈🏿":0,"👉🏻":0,"👉🏼":0,"👉🏽":0,"👉🏾":0,"👉🏿":0,"👊🏻":0,"👊🏼":0,"👊🏽":0,"👊🏾":0,"👊🏿":0,"👋🏻":0,"👋🏼":0,"👋🏽":0,"👋🏾":0,"👋🏿":0,"👌🏻":0,"👌🏼":0,"👌🏽":0,"👌🏾":0,"👌🏿":0,"👍🏻":0,"👍🏼":0,"👍🏽":0,"👍🏾":0,"👍🏿":0,"👎🏻":0,"👎🏼":0,"👎🏽":0,"👎🏾":0,"👎🏿":0,"👏🏻":0,"👏🏼":0,"👏🏽":0,"👏🏾":0,"👏🏿":0,"👐🏻":0,"👐🏼":0,"👐🏽":0,"👐🏾":0,"👐🏿":0,"👦🏻":0,"👦🏼":0,"👦🏽":0,"👦🏾":0,"👦🏿":0,"👧🏻":0,"👧🏼":0,"👧🏽":0,"👧🏾":0,"👧🏿":0,"👨🏻‍🌾":0,"👨🏼‍🌾":0,"👨🏽‍🌾":0,"👨🏾‍🌾":0,"👨🏿‍🌾":0,"👨🏻‍🍳":0,"👨🏼‍🍳":0,"👨🏽‍🍳":0,"👨🏾‍🍳":0,"👨🏿‍🍳":0,"👨🏻‍🎓":0,"👨🏼‍🎓":0,"👨🏽‍🎓":0,"👨🏾‍🎓":0,"👨🏿‍🎓":0,"👨🏻‍🎤":0,"👨🏼‍🎤":0,"👨🏽‍🎤":0,"👨🏾‍🎤":0,"👨🏿‍🎤":0,"👨🏻‍🎨":0,"👨🏼‍🎨":0,"👨🏽‍🎨":0,"👨🏾‍🎨":0,"👨🏿‍🎨":0,"👨🏻‍🏫":0,"👨🏼‍🏫":0,"👨🏽‍🏫":0,"👨🏾‍🏫":0,"👨🏿‍🏫":0,"👨🏻‍🏭":0,"👨🏼‍🏭":0,"👨🏽‍🏭":0,"👨🏾‍🏭":0,"👨🏿‍🏭":0,"👨🏻‍💻":0,"👨🏼‍💻":0,"👨🏽‍💻":0,"👨🏾‍💻":0,"👨🏿‍💻":0,"👨🏻‍💼":0,"👨🏼‍💼":0,"👨🏽‍💼":0,"👨🏾‍💼":0,"👨🏿‍💼":0,"👨🏻‍🔧":0,"👨🏼‍🔧":0,"👨🏽‍🔧":0,"👨🏾‍🔧":0,"👨🏿‍🔧":0,"👨🏻‍🔬":0,"👨🏼‍🔬":0,"👨🏽‍🔬":0,"👨🏾‍🔬":0,"👨🏿‍🔬":0,"👨🏻‍🚀":0,"👨🏼‍🚀":0,"👨🏽‍🚀":0,"👨🏾‍🚀":0,"👨🏿‍🚀":0,"👨🏻‍🚒":0,"👨🏼‍🚒":0,"👨🏽‍🚒":0,"👨🏾‍🚒":0,"👨🏿‍🚒":0,"👨🏻‍🦯":0,"👨🏼‍🦯":0,"👨🏽‍🦯":0,"👨🏾‍🦯":0,"👨🏿‍🦯":0,"👨🏻‍🦰":0,"👨🏼‍🦰":0,"👨🏽‍🦰":0,"👨🏾‍🦰":0,"👨🏿‍🦰":0,"👨🏻‍🦱":0,"👨🏼‍🦱":0,"👨🏽‍🦱":0,"👨🏾‍🦱":0,"👨🏿‍🦱":0,"👨🏻‍🦲":0,"👨🏼‍🦲":0,"👨🏽‍🦲":0,"👨🏾‍🦲":0,"👨🏿‍🦲":0,"👨🏻‍🦳":0,"👨🏼‍🦳":0,"👨🏽‍🦳":0,"👨🏾‍🦳":0,"👨🏿‍🦳":0,"👨🏻‍🦼":0,"👨🏼‍🦼":0,"👨🏽‍🦼":0,"👨🏾‍🦼":0,"👨🏿‍🦼":0,"👨🏻‍🦽":0,"👨🏼‍🦽":0,"👨🏽‍🦽":0,"👨🏾‍🦽":0,"👨🏿‍🦽":0,"👨🏻‍⚕":0,"👨🏼‍⚕":0,"👨🏽‍⚕":0,"👨🏾‍⚕":0,"👨🏿‍⚕":0,"👨🏻‍⚖":0,"👨🏼‍⚖":0,"👨🏽‍⚖":0,"👨🏾‍⚖":0,"👨🏿‍⚖":0,"👨🏻‍✈":0,"👨🏼‍✈":0,"👨🏽‍✈":0,"👨🏾‍✈":0,"👨🏿‍✈":0,"👨🏻":0,"👨🏼":0,"👨🏽":0,"👨🏾":0,"👨🏿":0,"👩🏻‍🌾":0,"👩🏼‍🌾":0,"👩🏽‍🌾":0,"👩🏾‍🌾":0,"👩🏿‍🌾":0,"👩🏻‍🍳":0,"👩🏼‍🍳":0,"👩🏽‍🍳":0,"👩🏾‍🍳":0,"👩🏿‍🍳":0,"👩🏻‍🎓":0,"👩🏼‍🎓":0,"👩🏽‍🎓":0,"👩🏾‍🎓":0,"👩🏿‍🎓":0,"👩🏻‍🎤":0,"👩🏼‍🎤":0,"👩🏽‍🎤":0,"👩🏾‍🎤":0,"👩🏿‍🎤":0,"👩🏻‍🎨":0,"👩🏼‍🎨":0,"👩🏽‍🎨":0,"👩🏾‍🎨":0,"👩🏿‍🎨":0,"👩🏻‍🏫":0,"👩🏼‍🏫":0,"👩🏽‍🏫":0,"👩🏾‍🏫":0,"👩🏿‍🏫":0,"👩🏻‍🏭":0,"👩🏼‍🏭":0,"👩🏽‍🏭":0,"👩🏾‍🏭":0,"👩🏿‍🏭":0,"👩🏻‍💻":0,"👩🏼‍💻":0,"👩🏽‍💻":0,"👩🏾‍💻":0,"👩🏿‍💻":0,"👩🏻‍💼":0,"👩🏼‍💼":0,"👩🏽‍💼":0,"👩🏾‍💼":0,"👩🏿‍💼":0,"👩🏻‍🔧":0,"👩🏼‍🔧":0,"👩🏽‍🔧":0,"👩🏾‍🔧":0,"👩🏿‍🔧":0,"👩🏻‍🔬":0,"👩🏼‍🔬":0,"👩🏽‍🔬":0,"👩🏾‍🔬":0,"👩🏿‍🔬":0,"👩🏻‍🚀":0,"👩🏼‍🚀":0,"👩🏽‍🚀":0,"👩🏾‍🚀":0,"👩🏿‍🚀":0,"👩🏻‍🚒":0,"👩🏼‍🚒":0,"👩🏽‍🚒":0,"👩🏾‍🚒":0,"👩🏿‍🚒":0,"👩🏻‍🦯":0,"👩🏼‍🦯":0,"👩🏽‍🦯":0,"👩🏾‍🦯":0,"👩🏿‍🦯":0,"👩🏻‍🦰":0,"👩🏼‍🦰":0,"👩🏽‍🦰":0,"👩🏾‍🦰":0,"👩🏿‍🦰":0,"👩🏻‍🦱":0,"👩🏼‍🦱":0,"👩🏽‍🦱":0,"👩🏾‍🦱":0,"👩🏿‍🦱":0,"👩🏻‍🦲":0,"👩🏼‍🦲":0,"👩🏽‍🦲":0,"👩🏾‍🦲":0,"👩🏿‍🦲":0,"👩🏻‍🦳":0,"👩🏼‍🦳":0,"👩🏽‍🦳":0,"👩🏾‍🦳":0,"👩🏿‍🦳":0,"👩🏻‍🦼":0,"👩🏼‍🦼":0,"👩🏽‍🦼":0,"👩🏾‍🦼":0,"👩🏿‍🦼":0,"👩🏻‍🦽":0,"👩🏼‍🦽":0,"👩🏽‍🦽":0,"👩🏾‍🦽":0,"👩🏿‍🦽":0,"👩🏻‍⚕":0,"👩🏼‍⚕":0,"👩🏽‍⚕":0,"👩🏾‍⚕":0,"👩🏿‍⚕":0,"👩🏻‍⚖":0,"👩🏼‍⚖":0,"👩🏽‍⚖":0,"👩🏾‍⚖":0,"👩🏿‍⚖":0,"👩🏻‍✈":0,"👩🏼‍✈":0,"👩🏽‍✈":0,"👩🏾‍✈":0,"👩🏿‍✈":0,"👩🏻":0,"👩🏼":0,"👩🏽":0,"👩🏾":0,"👩🏿":0,"👫🏻":0,"👫🏼":0,"👫🏽":0,"👫🏾":0,"👫🏿":0,"👩🏻‍🤝‍👨🏼":0,"👩🏻‍🤝‍👨🏽":0,"👩🏻‍🤝‍👨🏾":0,"👩🏻‍🤝‍👨🏿":0,"👩🏼‍🤝‍👨🏻":0,"👩🏼‍🤝‍👨🏽":0,"👩🏼‍🤝‍👨🏾":0,"👩🏼‍🤝‍👨🏿":0,"👩🏽‍🤝‍👨🏻":0,"👩🏽‍🤝‍👨🏼":0,"👩🏽‍🤝‍👨🏾":0,"👩🏽‍🤝‍👨🏿":0,"👩🏾‍🤝‍👨🏻":0,"👩🏾‍🤝‍👨🏼":0,"👩🏾‍🤝‍👨🏽":0,"👩🏾‍🤝‍👨🏿":0,"👩🏿‍🤝‍👨🏻":0,"👩🏿‍🤝‍👨🏼":0,"👩🏿‍🤝‍👨🏽":0,"👩🏿‍🤝‍👨🏾":0,"👬🏻":0,"👬🏼":0,"👬🏽":0,"👬🏾":0,"👬🏿":0,"👨🏻‍🤝‍👨🏼":0,"👨🏻‍🤝‍👨🏽":0,"👨🏻‍🤝‍👨🏾":0,"👨🏻‍🤝‍👨🏿":0,"👨🏼‍🤝‍👨🏻":0,"👨🏼‍🤝‍👨🏽":0,"👨🏼‍🤝‍👨🏾":0,"👨🏼‍🤝‍👨🏿":0,"👨🏽‍🤝‍👨🏻":0,"👨🏽‍🤝‍👨🏼":0,"👨🏽‍🤝‍👨🏾":0,"👨🏽‍🤝‍👨🏿":0,"👨🏾‍🤝‍👨🏻":0,"👨🏾‍🤝‍👨🏼":0,"👨🏾‍🤝‍👨🏽":0,"👨🏾‍🤝‍👨🏿":0,"👨🏿‍🤝‍👨🏻":0,"👨🏿‍🤝‍👨🏼":0,"👨🏿‍🤝‍👨🏽":0,"👨🏿‍🤝‍👨🏾":0,"👭🏻":0,"👭🏼":0,"👭🏽":0,"👭🏾":0,"👭🏿":0,"👩🏻‍🤝‍👩🏼":0,"👩🏻‍🤝‍👩🏽":0,"👩🏻‍🤝‍👩🏾":0,"👩🏻‍🤝‍👩🏿":0,"👩🏼‍🤝‍👩🏻":0,"👩🏼‍🤝‍👩🏽":0,"👩🏼‍🤝‍👩🏾":0,"👩🏼‍🤝‍👩🏿":0,"👩🏽‍🤝‍👩🏻":0,"👩🏽‍🤝‍👩🏼":0,"👩🏽‍🤝‍👩🏾":0,"👩🏽‍🤝‍👩🏿":0,"👩🏾‍🤝‍👩🏻":0,"👩🏾‍🤝‍👩🏼":0,"👩🏾‍🤝‍👩🏽":0,"👩🏾‍🤝‍👩🏿":0,"👩🏿‍🤝‍👩🏻":0,"👩🏿‍🤝‍👩🏼":0,"👩🏿‍🤝‍👩🏽":0,"👩🏿‍🤝‍👩🏾":0,"👮🏻‍♀":0,"👮🏼‍♀":0,"👮🏽‍♀":0,"👮🏾‍♀":0,"👮🏿‍♀":0,"👮🏻‍♂":0,"👮🏼‍♂":0,"👮🏽‍♂":0,"👮🏾‍♂":0,"👮🏿‍♂":0,"👮🏻":0,"👮🏼":0,"👮🏽":0,"👮🏾":0,"👮🏿":0,"👰🏻":0,"👰🏼":0,"👰🏽":0,"👰🏾":0,"👰🏿":0,"👱🏻‍♀":0,"👱🏼‍♀":0,"👱🏽‍♀":0,"👱🏾‍♀":0,"👱🏿‍♀":0,"👱🏻‍♂":0,"👱🏼‍♂":0,"👱🏽‍♂":0,"👱🏾‍♂":0,"👱🏿‍♂":0,"👱🏻":0,"👱🏼":0,"👱🏽":0,"👱🏾":0,"👱🏿":0,"👲🏻":0,"👲🏼":0,"👲🏽":0,"👲🏾":0,"👲🏿":0,"👳🏻‍♀":0,"👳🏼‍♀":0,"👳🏽‍♀":0,"👳🏾‍♀":0,"👳🏿‍♀":0,"👳🏻‍♂":0,"👳🏼‍♂":0,"👳🏽‍♂":0,"👳🏾‍♂":0,"👳🏿‍♂":0,"👳🏻":0,"👳🏼":0,"👳🏽":0,"👳🏾":0,"👳🏿":0,"👴🏻":0,"👴🏼":0,"👴🏽":0,"👴🏾":0,"👴🏿":0,"👵🏻":0,"👵🏼":0,"👵🏽":0,"👵🏾":0,"👵🏿":0,"👶🏻":0,"👶🏼":0,"👶🏽":0,"👶🏾":0,"👶🏿":0,"👷🏻‍♀":0,"👷🏼‍♀":0,"👷🏽‍♀":0,"👷🏾‍♀":0,"👷🏿‍♀":0,"👷🏻‍♂":0,"👷🏼‍♂":0,"👷🏽‍♂":0,"👷🏾‍♂":0,"👷🏿‍♂":0,"👷🏻":0,"👷🏼":0,"👷🏽":0,"👷🏾":0,"👷🏿":0,"👸🏻":0,"👸🏼":0,"👸🏽":0,"👸🏾":0,"👸🏿":0,"👼🏻":0,"👼🏼":0,"👼🏽":0,"👼🏾":0,"👼🏿":0,"💁🏻‍♀":0,"💁🏼‍♀":0,"💁🏽‍♀":0,"💁🏾‍♀":0,"💁🏿‍♀":0,"💁🏻‍♂":0,"💁🏼‍♂":0,"💁🏽‍♂":0,"💁🏾‍♂":0,"💁🏿‍♂":0,"💁🏻":0,"💁🏼":0,"💁🏽":0,"💁🏾":0,"💁🏿":0,"💂🏻‍♀":0,"💂🏼‍♀":0,"💂🏽‍♀":0,"💂🏾‍♀":0,"💂🏿‍♀":0,"💂🏻‍♂":0,"💂🏼‍♂":0,"💂🏽‍♂":0,"💂🏾‍♂":0,"💂🏿‍♂":0,"💂🏻":0,"💂🏼":0,"💂🏽":0,"💂🏾":0,"💂🏿":0,"💃🏻":0,"💃🏼":0,"💃🏽":0,"💃🏾":0,"💃🏿":0,"💅🏻":0,"💅🏼":0,"💅🏽":0,"💅🏾":0,"💅🏿":0,"💆🏻‍♀":0,"💆🏼‍♀":0,"💆🏽‍♀":0,"💆🏾‍♀":0,"💆🏿‍♀":0,"💆🏻‍♂":0,"💆🏼‍♂":0,"💆🏽‍♂":0,"💆🏾‍♂":0,"💆🏿‍♂":0,"💆🏻":0,"💆🏼":0,"💆🏽":0,"💆🏾":0,"💆🏿":0,"💇🏻‍♀":0,"💇🏼‍♀":0,"💇🏽‍♀":0,"💇🏾‍♀":0,"💇🏿‍♀":0,"💇🏻‍♂":0,"💇🏼‍♂":0,"💇🏽‍♂":0,"💇🏾‍♂":0,"💇🏿‍♂":0,"💇🏻":0,"💇🏼":0,"💇🏽":0,"💇🏾":0,"💇🏿":0,"💪🏻":0,"💪🏼":0,"💪🏽":0,"💪🏾":0,"💪🏿":0,"🕴🏻":0,"🕴🏼":0,"🕴🏽":0,"🕴🏾":0,"🕴🏿":0,"🕵🏻‍♀":0,"🕵🏼‍♀":0,"🕵🏽‍♀":0,"🕵🏾‍♀":0,"🕵🏿‍♀":0,"🕵🏻‍♂":0,"🕵🏼‍♂":0,"🕵🏽‍♂":0,"🕵🏾‍♂":0,"🕵🏿‍♂":0,"🕵🏻":0,"🕵🏼":0,"🕵🏽":0,"🕵🏾":0,"🕵🏿":0,"🕺🏻":0,"🕺🏼":0,"🕺🏽":0,"🕺🏾":0,"🕺🏿":0,"🖐🏻":0,"🖐🏼":0,"🖐🏽":0,"🖐🏾":0,"🖐🏿":0,"🖕🏻":0,"🖕🏼":0,"🖕🏽":0,"🖕🏾":0,"🖕🏿":0,"🖖🏻":0,"🖖🏼":0,"🖖🏽":0,"🖖🏾":0,"🖖🏿":0,"🙅🏻‍♀":0,"🙅🏼‍♀":0,"🙅🏽‍♀":0,"🙅🏾‍♀":0,"🙅🏿‍♀":0,"🙅🏻‍♂":0,"🙅🏼‍♂":0,"🙅🏽‍♂":0,"🙅🏾‍♂":0,"🙅🏿‍♂":0,"🙅🏻":0,"🙅🏼":0,"🙅🏽":0,"🙅🏾":0,"🙅🏿":0,"🙆🏻‍♀":0,"🙆🏼‍♀":0,"🙆🏽‍♀":0,"🙆🏾‍♀":0,"🙆🏿‍♀":0,"🙆🏻‍♂":0,"🙆🏼‍♂":0,"🙆🏽‍♂":0,"🙆🏾‍♂":0,"🙆🏿‍♂":0,"🙆🏻":0,"🙆🏼":0,"🙆🏽":0,"🙆🏾":0,"🙆🏿":0,"🙇🏻‍♀":0,"🙇🏼‍♀":0,"🙇🏽‍♀":0,"🙇🏾‍♀":0,"🙇🏿‍♀":0,"🙇🏻‍♂":0,"🙇🏼‍♂":0,"🙇🏽‍♂":0,"🙇🏾‍♂":0,"🙇🏿‍♂":0,"🙇🏻":0,"🙇🏼":0,"🙇🏽":0,"🙇🏾":0,"🙇🏿":0,"🙋🏻‍♀":0,"🙋🏼‍♀":0,"🙋🏽‍♀":0,"🙋🏾‍♀":0,"🙋🏿‍♀":0,"🙋🏻‍♂":0,"🙋🏼‍♂":0,"🙋🏽‍♂":0,"🙋🏾‍♂":0,"🙋🏿‍♂":0,"🙋🏻":0,"🙋🏼":0,"🙋🏽":0,"🙋🏾":0,"🙋🏿":0,"🙌🏻":0,"🙌🏼":0,"🙌🏽":0,"🙌🏾":0,"🙌🏿":0,"🙍🏻‍♀":0,"🙍🏼‍♀":0,"🙍🏽‍♀":0,"🙍🏾‍♀":0,"🙍🏿‍♀":0,"🙍🏻‍♂":0,"🙍🏼‍♂":0,"🙍🏽‍♂":0,"🙍🏾‍♂":0,"🙍🏿‍♂":0,"🙍🏻":0,"🙍🏼":0,"🙍🏽":0,"🙍🏾":0,"🙍🏿":0,"🙎🏻‍♀":0,"🙎🏼‍♀":0,"🙎🏽‍♀":0,"🙎🏾‍♀":0,"🙎🏿‍♀":0,"🙎🏻‍♂":0,"🙎🏼‍♂":0,"🙎🏽‍♂":0,"🙎🏾‍♂":0,"🙎🏿‍♂":0,"🙎🏻":0,"🙎🏼":0,"🙎🏽":0,"🙎🏾":0,"🙎🏿":0,"🙏🏻":0,"🙏🏼":0,"🙏🏽":0,"🙏🏾":0,"🙏🏿":0,"🚣🏻‍♀":0,"🚣🏼‍♀":0,"🚣🏽‍♀":0,"🚣🏾‍♀":0,"🚣🏿‍♀":0,"🚣🏻‍♂":0,"🚣🏼‍♂":0,"🚣🏽‍♂":0,"🚣🏾‍♂":0,"🚣🏿‍♂":0,"🚣🏻":0,"🚣🏼":0,"🚣🏽":0,"🚣🏾":0,"🚣🏿":0,"🚴🏻‍♀":0,"🚴🏼‍♀":0,"🚴🏽‍♀":0,"🚴🏾‍♀":0,"🚴🏿‍♀":0,"🚴🏻‍♂":0,"🚴🏼‍♂":0,"🚴🏽‍♂":0,"🚴🏾‍♂":0,"🚴🏿‍♂":0,"🚴🏻":0,"🚴🏼":0,"🚴🏽":0,"🚴🏾":0,"🚴🏿":0,"🚵🏻‍♀":0,"🚵🏼‍♀":0,"🚵🏽‍♀":0,"🚵🏾‍♀":0,"🚵🏿‍♀":0,"🚵🏻‍♂":0,"🚵🏼‍♂":0,"🚵🏽‍♂":0,"🚵🏾‍♂":0,"🚵🏿‍♂":0,"🚵🏻":0,"🚵🏼":0,"🚵🏽":0,"🚵🏾":0,"🚵🏿":0,"🚶🏻‍♀":0,"🚶🏼‍♀":0,"🚶🏽‍♀":0,"🚶🏾‍♀":0,"🚶🏿‍♀":0,"🚶🏻‍♂":0,"🚶🏼‍♂":0,"🚶🏽‍♂":0,"🚶🏾‍♂":0,"🚶🏿‍♂":0,"🚶🏻":0,"🚶🏼":0,"🚶🏽":0,"🚶🏾":0,"🚶🏿":0,"🛀🏻":0,"🛀🏼":0,"🛀🏽":0,"🛀🏾":0,"🛀🏿":0,"🛌🏻":0,"🛌🏼":0,"🛌🏽":0,"🛌🏾":0,"🛌🏿":0,"🤏🏻":0,"🤏🏼":0,"🤏🏽":0,"🤏🏾":0,"🤏🏿":0,"🤘🏻":0,"🤘🏼":0,"🤘🏽":0,"🤘🏾":0,"🤘🏿":0,"🤙🏻":0,"🤙🏼":0,"🤙🏽":0,"🤙🏾":0,"🤙🏿":0,"🤚🏻":0,"🤚🏼":0,"🤚🏽":0,"🤚🏾":0,"🤚🏿":0,"🤛🏻":0,"🤛🏼":0,"🤛🏽":0,"🤛🏾":0,"🤛🏿":0,"🤜🏻":0,"🤜🏼":0,"🤜🏽":0,"🤜🏾":0,"🤜🏿":0,"🤞🏻":0,"🤞🏼":0,"🤞🏽":0,"🤞🏾":0,"🤞🏿":0,"🤟🏻":0,"🤟🏼":0,"🤟🏽":0,"🤟🏾":0,"🤟🏿":0,"🤦🏻‍♀":0,"🤦🏼‍♀":0,"🤦🏽‍♀":0,"🤦🏾‍♀":0,"🤦🏿‍♀":0,"🤦🏻‍♂":0,"🤦🏼‍♂":0,"🤦🏽‍♂":0,"🤦🏾‍♂":0,"🤦🏿‍♂":0,"🤦🏻":0,"🤦🏼":0,"🤦🏽":0,"🤦🏾":0,"🤦🏿":0,"🤰🏻":0,"🤰🏼":0,"🤰🏽":0,"🤰🏾":0,"🤰🏿":0,"🤱🏻":0,"🤱🏼":0,"🤱🏽":0,"🤱🏾":0,"🤱🏿":0,"🤲🏻":0,"🤲🏼":0,"🤲🏽":0,"🤲🏾":0,"🤲🏿":0,"🤳🏻":0,"🤳🏼":0,"🤳🏽":0,"🤳🏾":0,"🤳🏿":0,"🤴🏻":0,"🤴🏼":0,"🤴🏽":0,"🤴🏾":0,"🤴🏿":0,"🤵🏻":0,"🤵🏼":0,"🤵🏽":0,"🤵🏾":0,"🤵🏿":0,"🤶🏻":0,"🤶🏼":0,"🤶🏽":0,"🤶🏾":0,"🤶🏿":0,"🤷🏻‍♀":0,"🤷🏼‍♀":0,"🤷🏽‍♀":0,"🤷🏾‍♀":0,"🤷🏿‍♀":0,"🤷🏻‍♂":0,"🤷🏼‍♂":0,"🤷🏽‍♂":0,"🤷🏾‍♂":0,"🤷🏿‍♂":0,"🤷🏻":0,"🤷🏼":0,"🤷🏽":0,"🤷🏾":0,"🤷🏿":0,"🤸🏻‍♀":0,"🤸🏼‍♀":0,"🤸🏽‍♀":0,"🤸🏾‍♀":0,"🤸🏿‍♀":0,"🤸🏻‍♂":0,"🤸🏼‍♂":0,"🤸🏽‍♂":0,"🤸🏾‍♂":0,"🤸🏿‍♂":0,"🤸🏻":0,"🤸🏼":0,"🤸🏽":0,"🤸🏾":0,"🤸🏿":0,"🤹🏻‍♀":0,"🤹🏼‍♀":0,"🤹🏽‍♀":0,"🤹🏾‍♀":0,"🤹🏿‍♀":0,"🤹🏻‍♂":0,"🤹🏼‍♂":0,"🤹🏽‍♂":0,"🤹🏾‍♂":0,"🤹🏿‍♂":0,"🤹🏻":0,"🤹🏼":0,"🤹🏽":0,"🤹🏾":0,"🤹🏿":0,"🤽🏻‍♀":0,"🤽🏼‍♀":0,"🤽🏽‍♀":0,"🤽🏾‍♀":0,"🤽🏿‍♀":0,"🤽🏻‍♂":0,"🤽🏼‍♂":0,"🤽🏽‍♂":0,"🤽🏾‍♂":0,"🤽🏿‍♂":0,"🤽🏻":0,"🤽🏼":0,"🤽🏽":0,"🤽🏾":0,"🤽🏿":0,"🤾🏻‍♀":0,"🤾🏼‍♀":0,"🤾🏽‍♀":0,"🤾🏾‍♀":0,"🤾🏿‍♀":0,"🤾🏻‍♂":0,"🤾🏼‍♂":0,"🤾🏽‍♂":0,"🤾🏾‍♂":0,"🤾🏿‍♂":0,"🤾🏻":0,"🤾🏼":0,"🤾🏽":0,"🤾🏾":0,"🤾🏿":0,"🦵🏻":0,"🦵🏼":0,"🦵🏽":0,"🦵🏾":0,"🦵🏿":0,"🦶🏻":0,"🦶🏼":0,"🦶🏽":0,"🦶🏾":0,"🦶🏿":0,"🦸🏻‍♀":0,"🦸🏼‍♀":0,"🦸🏽‍♀":0,"🦸🏾‍♀":0,"🦸🏿‍♀":0,"🦸🏻‍♂":0,"🦸🏼‍♂":0,"🦸🏽‍♂":0,"🦸🏾‍♂":0,"🦸🏿‍♂":0,"🦸🏻":0,"🦸🏼":0,"🦸🏽":0,"🦸🏾":0,"🦸🏿":0,"🦹🏻‍♀":0,"🦹🏼‍♀":0,"🦹🏽‍♀":0,"🦹🏾‍♀":0,"🦹🏿‍♀":0,"🦹🏻‍♂":0,"🦹🏼‍♂":0,"🦹🏽‍♂":0,"🦹🏾‍♂":0,"🦹🏿‍♂":0,"🦹🏻":0,"🦹🏼":0,"🦹🏽":0,"🦹🏾":0,"🦹🏿":0,"🦻🏻":0,"🦻🏼":0,"🦻🏽":0,"🦻🏾":0,"🦻🏿":0,"🧍🏻‍♀":0,"🧍🏼‍♀":0,"🧍🏽‍♀":0,"🧍🏾‍♀":0,"🧍🏿‍♀":0,"🧍🏻‍♂":0,"🧍🏼‍♂":0,"🧍🏽‍♂":0,"🧍🏾‍♂":0,"🧍🏿‍♂":0,"🧍🏻":0,"🧍🏼":0,"🧍🏽":0,"🧍🏾":0,"🧍🏿":0,"🧎🏻‍♀":0,"🧎🏼‍♀":0,"🧎🏽‍♀":0,"🧎🏾‍♀":0,"🧎🏿‍♀":0,"🧎🏻‍♂":0,"🧎🏼‍♂":0,"🧎🏽‍♂":0,"🧎🏾‍♂":0,"🧎🏿‍♂":0,"🧎🏻":0,"🧎🏼":0,"🧎🏽":0,"🧎🏾":0,"🧎🏿":0,"🧏🏻‍♀":0,"🧏🏼‍♀":0,"🧏🏽‍♀":0,"🧏🏾‍♀":0,"🧏🏿‍♀":0,"🧏🏻‍♂":0,"🧏🏼‍♂":0,"🧏🏽‍♂":0,"🧏🏾‍♂":0,"🧏🏿‍♂":0,"🧏🏻":0,"🧏🏼":0,"🧏🏽":0,"🧏🏾":0,"🧏🏿":0,"🧑🏻‍🌾":0,"🧑🏼‍🌾":0,"🧑🏽‍🌾":0,"🧑🏾‍🌾":0,"🧑🏿‍🌾":0,"🧑🏻‍🍳":0,"🧑🏼‍🍳":0,"🧑🏽‍🍳":0,"🧑🏾‍🍳":0,"🧑🏿‍🍳":0,"🧑🏻‍🎓":0,"🧑🏼‍🎓":0,"🧑🏽‍🎓":0,"🧑🏾‍🎓":0,"🧑🏿‍🎓":0,"🧑🏻‍🎤":0,"🧑🏼‍🎤":0,"🧑🏽‍🎤":0,"🧑🏾‍🎤":0,"🧑🏿‍🎤":0,"🧑🏻‍🎨":0,"🧑🏼‍🎨":0,"🧑🏽‍🎨":0,"🧑🏾‍🎨":0,"🧑🏿‍🎨":0,"🧑🏻‍🏫":0,"🧑🏼‍🏫":0,"🧑🏽‍🏫":0,"🧑🏾‍🏫":0,"🧑🏿‍🏫":0,"🧑🏻‍🏭":0,"🧑🏼‍🏭":0,"🧑🏽‍🏭":0,"🧑🏾‍🏭":0,"🧑🏿‍🏭":0,"🧑🏻‍💻":0,"🧑🏼‍💻":0,"🧑🏽‍💻":0,"🧑🏾‍💻":0,"🧑🏿‍💻":0,"🧑🏻‍💼":0,"🧑🏼‍💼":0,"🧑🏽‍💼":0,"🧑🏾‍💼":0,"🧑🏿‍💼":0,"🧑🏻‍🔧":0,"🧑🏼‍🔧":0,"🧑🏽‍🔧":0,"🧑🏾‍🔧":0,"🧑🏿‍🔧":0,"🧑🏻‍🔬":0,"🧑🏼‍🔬":0,"🧑🏽‍🔬":0,"🧑🏾‍🔬":0,"🧑🏿‍🔬":0,"🧑🏻‍🚀":0,"🧑🏼‍🚀":0,"🧑🏽‍🚀":0,"🧑🏾‍🚀":0,"🧑🏿‍🚀":0,"🧑🏻‍🚒":0,"🧑🏼‍🚒":0,"🧑🏽‍🚒":0,"🧑🏾‍🚒":0,"🧑🏿‍🚒":0,"🧑🏻‍🤝‍🧑🏻":0,"🧑🏻‍🤝‍🧑🏼":0,"🧑🏻‍🤝‍🧑🏽":0,"🧑🏻‍🤝‍🧑🏾":0,"🧑🏻‍🤝‍🧑🏿":0,"🧑🏼‍🤝‍🧑🏻":0,"🧑🏼‍🤝‍🧑🏼":0,"🧑🏼‍🤝‍🧑🏽":0,"🧑🏼‍🤝‍🧑🏾":0,"🧑🏼‍🤝‍🧑🏿":0,"🧑🏽‍🤝‍🧑🏻":0,"🧑🏽‍🤝‍🧑🏼":0,"🧑🏽‍🤝‍🧑🏽":0,"🧑🏽‍🤝‍🧑🏾":0,"🧑🏽‍🤝‍🧑🏿":0,"🧑🏾‍🤝‍🧑🏻":0,"🧑🏾‍🤝‍🧑🏼":0,"🧑🏾‍🤝‍🧑🏽":0,"🧑🏾‍🤝‍🧑🏾":0,"🧑🏾‍🤝‍🧑🏿":0,"🧑🏿‍🤝‍🧑🏻":0,"🧑🏿‍🤝‍🧑🏼":0,"🧑🏿‍🤝‍🧑🏽":0,"🧑🏿‍🤝‍🧑🏾":0,"🧑🏿‍🤝‍🧑🏿":0,"🧑🏻‍🦯":0,"🧑🏼‍🦯":0,"🧑🏽‍🦯":0,"🧑🏾‍🦯":0,"🧑🏿‍🦯":0,"🧑🏻‍🦰":0,"🧑🏼‍🦰":0,"🧑🏽‍🦰":0,"🧑🏾‍🦰":0,"🧑🏿‍🦰":0,"🧑🏻‍🦱":0,"🧑🏼‍🦱":0,"🧑🏽‍🦱":0,"🧑🏾‍🦱":0,"🧑🏿‍🦱":0,"🧑🏻‍🦲":0,"🧑🏼‍🦲":0,"🧑🏽‍🦲":0,"🧑🏾‍🦲":0,"🧑🏿‍🦲":0,"🧑🏻‍🦳":0,"🧑🏼‍🦳":0,"🧑🏽‍🦳":0,"🧑🏾‍🦳":0,"🧑🏿‍🦳":0,"🧑🏻‍🦼":0,"🧑🏼‍🦼":0,"🧑🏽‍🦼":0,"🧑🏾‍🦼":0,"🧑🏿‍🦼":0,"🧑🏻‍🦽":0,"🧑🏼‍🦽":0,"🧑🏽‍🦽":0,"🧑🏾‍🦽":0,"🧑🏿‍🦽":0,"🧑🏻‍⚕":0,"🧑🏼‍⚕":0,"🧑🏽‍⚕":0,"🧑🏾‍⚕":0,"🧑🏿‍⚕":0,"🧑🏻‍⚖":0,"🧑🏼‍⚖":0,"🧑🏽‍⚖":0,"🧑🏾‍⚖":0,"🧑🏿‍⚖":0,"🧑🏻‍✈":0,"🧑🏼‍✈":0,"🧑🏽‍✈":0,"🧑🏾‍✈":0,"🧑🏿‍✈":0,"🧑🏻":0,"🧑🏼":0,"🧑🏽":0,"🧑🏾":0,"🧑🏿":0,"🧒🏻":0,"🧒🏼":0,"🧒🏽":0,"🧒🏾":0,"🧒🏿":0,"🧓🏻":0,"🧓🏼":0,"🧓🏽":0,"🧓🏾":0,"🧓🏿":0,"🧔🏻":0,"🧔🏼":0,"🧔🏽":0,"🧔🏾":0,"🧔🏿":0,"🧕🏻":0,"🧕🏼":0,"🧕🏽":0,"🧕🏾":0,"🧕🏿":0,"🧖🏻‍♀":0,"🧖🏼‍♀":0,"🧖🏽‍♀":0,"🧖🏾‍♀":0,"🧖🏿‍♀":0,"🧖🏻‍♂":0,"🧖🏼‍♂":0,"🧖🏽‍♂":0,"🧖🏾‍♂":0,"🧖🏿‍♂":0,"🧖🏻":0,"🧖🏼":0,"🧖🏽":0,"🧖🏾":0,"🧖🏿":0,"🧗🏻‍♀":0,"🧗🏼‍♀":0,"🧗🏽‍♀":0,"🧗🏾‍♀":0,"🧗🏿‍♀":0,"🧗🏻‍♂":0,"🧗🏼‍♂":0,"🧗🏽‍♂":0,"🧗🏾‍♂":0,"🧗🏿‍♂":0,"🧗🏻":0,"🧗🏼":0,"🧗🏽":0,"🧗🏾":0,"🧗🏿":0,"🧘🏻‍♀":0,"🧘🏼‍♀":0,"🧘🏽‍♀":0,"🧘🏾‍♀":0,"🧘🏿‍♀":0,"🧘🏻‍♂":0,"🧘🏼‍♂":0,"🧘🏽‍♂":0,"🧘🏾‍♂":0,"🧘🏿‍♂":0,"🧘🏻":0,"🧘🏼":0,"🧘🏽":0,"🧘🏾":0,"🧘🏿":0,"🧙🏻‍♀":0,"🧙🏼‍♀":0,"🧙🏽‍♀":0,"🧙🏾‍♀":0,"🧙🏿‍♀":0,"🧙🏻‍♂":0,"🧙🏼‍♂":0,"🧙🏽‍♂":0,"🧙🏾‍♂":0,"🧙🏿‍♂":0,"🧙🏻":0,"🧙🏼":0,"🧙🏽":0,"🧙🏾":0,"🧙🏿":0,"🧚🏻‍♀":0,"🧚🏼‍♀":0,"🧚🏽‍♀":0,"🧚🏾‍♀":0,"🧚🏿‍♀":0,"🧚🏻‍♂":0,"🧚🏼‍♂":0,"🧚🏽‍♂":0,"🧚🏾‍♂":0,"🧚🏿‍♂":0,"🧚🏻":0,"🧚🏼":0,"🧚🏽":0,"🧚🏾":0,"🧚🏿":0,"🧛🏻‍♀":0,"🧛🏼‍♀":0,"🧛🏽‍♀":0,"🧛🏾‍♀":0,"🧛🏿‍♀":0,"🧛🏻‍♂":0,"🧛🏼‍♂":0,"🧛🏽‍♂":0,"🧛🏾‍♂":0,"🧛🏿‍♂":0,"🧛🏻":0,"🧛🏼":0,"🧛🏽":0,"🧛🏾":0,"🧛🏿":0,"🧜🏻‍♀":0,"🧜🏼‍♀":0,"🧜🏽‍♀":0,"🧜🏾‍♀":0,"🧜🏿‍♀":0,"🧜🏻‍♂":0,"🧜🏼‍♂":0,"🧜🏽‍♂":0,"🧜🏾‍♂":0,"🧜🏿‍♂":0,"🧜🏻":0,"🧜🏼":0,"🧜🏽":0,"🧜🏾":0,"🧜🏿":0,"🧝🏻‍♀":0,"🧝🏼‍♀":0,"🧝🏽‍♀":0,"🧝🏾‍♀":0,"🧝🏿‍♀":0,"🧝🏻‍♂":0,"🧝🏼‍♂":0,"🧝🏽‍♂":0,"🧝🏾‍♂":0,"🧝🏿‍♂":0,"🧝🏻":0,"🧝🏼":0,"🧝🏽":0,"🧝🏾":0,"🧝🏿":0,"☝🏻":0,"☝🏼":0,"☝🏽":0,"☝🏾":0,"☝🏿":0,"⛹🏻‍♀":0,"⛹🏼‍♀":0,"⛹🏽‍♀":0,"⛹🏾‍♀":0,"⛹🏿‍♀":0,"⛹🏻‍♂":0,"⛹🏼‍♂":0,"⛹🏽‍♂":0,"⛹🏾‍♂":0,"⛹🏿‍♂":0,"⛹🏻":0,"⛹🏼":0,"⛹🏽":0,"⛹🏾":0,"⛹🏿":0,"✊🏻":0,"✊🏼":0,"✊🏽":0,"✊🏾":0,"✊🏿":0,"✋🏻":0,"✋🏼":0,"✋🏽":0,"✋🏾":0,"✋🏿":0,"✌🏻":0,"✌🏼":0,"✌🏽":0,"✌🏾":0,"✌🏿":0,"✍🏻":0,"✍🏼":0,"✍🏽":0,"✍🏾":0,"✍🏿":0},LatinizeMap:{"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","ẞ":"SS","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj","ſ":"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ß":"ss","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x","Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"","Ф":"F","Ы":"I","В":"V","А":"A","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"","б":"b","ю":"yu"},TLD:["abogado","ac","academy","accountants","active","actor","ad","adult","ae","aero","af","ag","agency","ai","airforce","al","allfinanz","alsace","am","amsterdam","an","android","ao","apartments","aq","aquarelle","ar","archi","army","arpa","as","asia","associates","at","attorney","au","auction","audio","autos","aw","ax","axa","az","ba","band","bank","bar","barclaycard","barclays","bargains","bayern","bb","bd","be","beer","berlin","best","bf","bg","bh","bi","bid","bike","bingo","bio","biz","bj","black","blackfriday","bloomberg","blue","bm","bmw","bn","bnpparibas","bo","boo","boutique","br","brussels","bs","bt","budapest","build","builders","business","buzz","bv","bw","by","bz","bzh","ca","cab","cal","camera","camp","cancerresearch","canon","capetown","capital","caravan","cards","care","career","careers","cartier","casa","cash","cat","catering","cc","cd","center","ceo","cern","cf","cg","ch","channel","chat","cheap","christmas","chrome","church","ci","citic","city","ck","cl","claims","cleaning","click","clinic","clothing","club","cm","cn","co","coach","codes","coffee","college","cologne","com","community","company","computer","condos","construction","consulting","contractors","cooking","cool","coop","country","cr","credit","creditcard","cricket","crs","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cz","dabur","dad","dance","dating","day","dclk","de","deals","degree","delivery","democrat","dental","dentist","desi","design","dev","diamonds","diet","digital","direct","directory","discount","dj","dk","dm","dnp","do","docs","domains","doosan","durban","dvag","dz","eat","ec","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","equipment","er","es","esq","estate","et","eu","eurovision","eus","events","everbank","exchange","expert","exposed","fail","farm","fashion","feedback","fi","finance","financial","firmdale","fish","fishing","fit","fitness","fj","fk","flights","florist","flowers","flsmidth","fly","fm","fo","foo","forsale","foundation","fr","frl","frogans","fund","furniture","futbol","ga","gal","gallery","garden","gb","gbiz","gd","ge","gent","gf","gg","ggee","gh","gi","gift","gifts","gives","gl","glass","gle","global","globo","gm","gmail","gmo","gmx","gn","goog","google","gop","gov","gp","gq","gr","graphics","gratis","green","gripe","gs","gt","gu","guide","guitars","guru","gw","gy","hamburg","hangout","haus","healthcare","help","here","hermes","hiphop","hiv","hk","hm","hn","holdings","holiday","homes","horse","host","hosting","house","how","hr","ht","hu","ibm","id","ie","ifm","il","im","immo","immobilien","in","industries","info","ing","ink","institute","insure","int","international","investments","io","iq","ir","irish","is","it","iwc","jcb","je","jetzt","jm","jo","jobs","joburg","jp","juegos","kaufen","kddi","ke","kg","kh","ki","kim","kitchen","kiwi","km","kn","koeln","kp","kr","krd","kred","kw","ky","kyoto","kz","la","lacaixa","land","lat","latrobe","lawyer","lb","lc","lds","lease","legal","lgbt","li","lidl","life","lighting","limited","limo","link","lk","loans","london","lotte","lotto","lr","ls","lt","ltda","lu","luxe","luxury","lv","ly","ma","madrid","maison","management","mango","market","marketing","marriott","mc","md","me","media","meet","melbourne","meme","memorial","menu","mg","mh","miami","mil","mini","mk","ml","mm","mn","mo","mobi","moda","moe","monash","money","mormon","mortgage","moscow","motorcycles","mov","mp","mq","mr","ms","mt","mu","museum","mv","mw","mx","my","mz","na","nagoya","name","navy","nc","ne","net","network","neustar","new","nexus","nf","ng","ngo","nhk","ni","nico","ninja","nl","no","np","nr","nra","nrw","ntt","nu","nyc","nz","okinawa","om","one","ong","onl","ooo","org","organic","osaka","otsuka","ovh","pa","paris","partners","parts","party","pe","pf","pg","ph","pharmacy","photo","photography","photos","physio","pics","pictures","pink","pizza","pk","pl","place","plumbing","pm","pn","pohl","poker","porn","post","pr","praxi","press","pro","prod","productions","prof","properties","property","ps","pt","pub","pw","py","qa","qpon","quebec","re","realtor","recipes","red","rehab","reise","reisen","reit","ren","rentals","repair","report","republican","rest","restaurant","reviews","rich","rio","rip","ro","rocks","rodeo","rs","rsvp","ru","ruhr","rw","ryukyu","sa","saarland","sale","samsung","sarl","saxo","sb","sc","sca","scb","schmidt","schule","schwarz","science","scot","sd","se","services","sew","sexy","sg","sh","shiksha","shoes","shriram","si","singles","sj","sk","sky","sl","sm","sn","so","social","software","sohu","solar","solutions","soy","space","spiegel","sr","st","style","su","supplies","supply","support","surf","surgery","suzuki","sv","sx","sy","sydney","systems","sz","taipei","tatar","tattoo","tax","tc","td","technology","tel","temasek","tennis","tf","tg","th","tienda","tips","tires","tirol","tj","tk","tl","tm","tn","to","today","tokyo","tools","top","toshiba","town","toys","tp","tr","trade","training","travel","trust","tt","tui","tv","tw","tz","ua","ug","uk","university","uno","uol","us","uy","uz","va","vacations","vc","ve","vegas","ventures","versicherung","vet","vg","vi","viajes","video","villas","vision","vlaanderen","vn","vodka","vote","voting","voto","voyage","vu","wales","wang","watch","webcam","website","wed","wedding","wf","whoswho","wien","wiki","williamhill","wme","work","works","world","ws","wtc","wtf","佛山","集团","在线","한국","ভারত","八卦","موقع","公益","公司","移动","我爱你","москва","қаз","онлайн","сайт","срб","淡马锡","орг","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","中文网","中信","中国","中國","谷歌","భారత్","ලංකා","ભારત","भारत","网店","संगठन","网络","укр","香港","台湾","台灣","手机","мон","الجزائر","عمان","ایران","امارات","بازار","الاردن","بھارت","المغرب","السعودية","مليسيا","شبكة","გე","机构","组织机构","ไทย","سورية","рус","рф","تونس","みんな","グーグル","世界","ਭਾਰਤ","网址","游戏","vermögensberater","vermögensberatung","企业","مصر","قطر","广东","இலங்கை","இந்தியா","新加坡","فلسطين","政务","xxx","xyz","yachts","yandex","ye","yoga","yokohama","youtube","yt","za","zip","zm","zone","zuerich","zw"],Countries:[{phoneCode:"7 840",code:"AB",name:"Abkhazia",pattern:"",emoji:""},{phoneCode:"93",code:"AF",name:"Afghanistan",pattern:"93 XXX XXX XXX",emoji:"🇦🇫"},{phoneCode:"358 18",code:"AX",name:"Aland Islands",pattern:"",emoji:"🇦🇽"},{phoneCode:"355",code:"AL",name:"Albania",pattern:"355 XX XXX XXXX",emoji:"🇦🇱"},{phoneCode:"213",code:"DZ",name:"Algeria",pattern:"213 XXX XX XX XX",emoji:"🇩🇿"},{phoneCode:"1 684",code:"AS",name:"American Samoa",pattern:"1684 XXX XXXX",emoji:"🇦🇸"},{phoneCode:"376",code:"AD",name:"Andorra",pattern:"376 XX XX XX",emoji:"🇦🇩"},{phoneCode:"244",code:"AO",name:"Angola",pattern:"244 XXX XXX XXX",emoji:"🇦🇴"},{phoneCode:"1 264",code:"AI",name:"Anguilla",pattern:"1264 XXX XXXX",emoji:"🇦🇮"},{phoneCode:"1 268",code:"AG",name:"Antigua & Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"54",code:"AR",name:"Argentina",pattern:"",emoji:"🇦🇷"},{phoneCode:"374",code:"AM",name:"Armenia",pattern:"374 XX XXX XXX",emoji:"🇦🇲"},{phoneCode:"297",code:"AW",name:"Aruba",pattern:"297 XXX XXXX",emoji:"🇦🇼"},{phoneCode:"247",code:"SH",name:"Ascension",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"61",code:"AU",name:"Australia",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"672",code:"AU",name:"Australian External Territories",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"43",code:"AT",name:"Austria",pattern:"",emoji:"🇦🇹"},{phoneCode:"994",code:"AZ",name:"Azerbaijan",pattern:"994 XX XXX XX XX",emoji:"🇦🇿"},{phoneCode:"1 242",code:"BS",name:"Bahamas",pattern:"1242 XXX XXXX",emoji:"🇧🇸"},{phoneCode:"973",code:"BH",name:"Bahrain",pattern:"973 XXXX XXXX",emoji:"🇧🇭"},{phoneCode:"880",code:"BD",name:"Bangladesh",pattern:"",emoji:"🇧🇩"},{phoneCode:"1 246",code:"BB",name:"Barbados",pattern:"1246 XXX XXXX",emoji:"🇧🇧"},{phoneCode:"1 268",code:"AG",name:"Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"375",code:"BY",name:"Belarus",pattern:"375 XX XXX XXXX",emoji:"🇧🇾"},{phoneCode:"32",code:"BE",name:"Belgium",pattern:"32 XXX XX XX XX",emoji:"🇧🇪"},{phoneCode:"501",code:"BZ",name:"Belize",pattern:"",emoji:"🇧🇿"},{phoneCode:"229",code:"BJ",name:"Benin",pattern:"229 XX XXX XXX",emoji:"🇧🇯"},{phoneCode:"1 441",code:"BM",name:"Bermuda",pattern:"1441 XXX XXXX",emoji:"🇧🇲"},{phoneCode:"975",code:"BT",name:"Bhutan",pattern:"",emoji:"🇧🇹"},{phoneCode:"591",code:"BO",name:"Bolivia",pattern:"591 X XXX XXXX",emoji:"🇧🇴"},{phoneCode:"599 7",code:"BQ",name:"Caribbean Netherlands",pattern:"",emoji:"🇧🇶"},{phoneCode:"387",code:"BA",name:"Bosnia & Herzegovina",pattern:"",emoji:"🇧🇦"},{phoneCode:"267",code:"BW",name:"Botswana",pattern:"267 XX XXX XXX",emoji:"🇧🇼"},{phoneCode:"55",code:"BR",name:"Brazil",pattern:"55 XX XXXXX XXXX",emoji:"🇧🇷"},{phoneCode:"246",code:"IO",name:"British Indian Ocean Territory",pattern:"246 XXX XXXX",emoji:"🇮🇴"},{phoneCode:"1 284",code:"VG",name:"British Virgin Islands",pattern:"1284 XXX XXXX",emoji:"🇻🇬"},{phoneCode:"673",code:"BN",name:"Brunei",pattern:"673 XXX XXXX",emoji:"🇧🇳"},{phoneCode:"359",code:"BG",name:"Bulgaria",pattern:"",emoji:"🇧🇬"},{phoneCode:"226",code:"BF",name:"Burkina Faso",pattern:"226 XX XX XX XX",emoji:"🇧🇫"},{phoneCode:"95",code:"MM",name:"Myanmar (Burma)",pattern:"",emoji:"🇲🇲"},{phoneCode:"257",code:"BI",name:"Burundi",pattern:"257 XX XX XXXX",emoji:"🇧🇮"},{phoneCode:"855",code:"KH",name:"Cambodia",pattern:"",emoji:"🇰🇭"},{phoneCode:"237",code:"CM",name:"Cameroon",pattern:"237 XXXX XXXX",emoji:"🇨🇲"},{phoneCode:"1",code:"CA",name:"Canada",pattern:"1 XXX XXX XXXX",emoji:"🇨🇦"},{phoneCode:"238",code:"CV",name:"Cape Verde",pattern:"238 XXX XXXX",emoji:"🇨🇻"},{phoneCode:"1 345",code:"KY",name:"Cayman Islands",pattern:"1345 XXX XXXX",emoji:"🇰🇾"},{phoneCode:"236",code:"CF",name:"Central African Republic",pattern:"236 XX XX XX XX",emoji:"🇨🇫"},{phoneCode:"235",code:"TD",name:"Chad",pattern:"235 XX XX XX XX",emoji:"🇹🇩"},{phoneCode:"56",code:"CL",name:"Chile",pattern:"56 X XXXX XXXX",emoji:"🇨🇱"},{phoneCode:"86",code:"CN",name:"China",pattern:"86 XXX XXXX XXXX",emoji:"🇨🇳"},{phoneCode:"61",code:"CX",name:"Christmas Island",pattern:"",emoji:"🇨🇽"},{phoneCode:"61",code:"CC",name:"Cocos (Keeling) Islands",pattern:"",emoji:"🇨🇨"},{phoneCode:"57",code:"CO",name:"Colombia",pattern:"57 XXX XXX XXXX",emoji:"🇨🇴"},{phoneCode:"269",code:"KM",name:"Comoros",pattern:"269 XXX XXXX",emoji:"🇰🇲"},{phoneCode:"242",code:"CG",name:"Congo - Brazzaville",pattern:"242 XX XXX XXXX",emoji:"🇨🇬"},{phoneCode:"243",code:"CD",name:"Congo - Kinshasa",pattern:"243 XX XXX XXXX",emoji:"🇨🇩"},{phoneCode:"682",code:"CK",name:"Cook Islands",pattern:"",emoji:"🇨🇰"},{phoneCode:"506",code:"CR",name:"Costa Rica",pattern:"",emoji:"🇨🇷"},{phoneCode:"225",code:"CI",name:"Cote d’Ivoire",pattern:"225 XX XXX XXX",emoji:"🇨🇮"},{phoneCode:"385",code:"HR",name:"Croatia",pattern:"",emoji:"🇭🇷"},{phoneCode:"53",code:"CU",name:"Cuba",pattern:"53 XXXX XXXX",emoji:"🇨🇺"},{phoneCode:"599 9",code:"CW",name:"Curacao",pattern:"",emoji:"🇨🇼"},{phoneCode:"357",code:"CY",name:"Cyprus",pattern:"357 XXXX XXXX",emoji:"🇨🇾"},{phoneCode:"420",code:"CZ",name:"Czech Republic",pattern:"",emoji:"🇨🇿"},{phoneCode:"45",code:"DK",name:"Denmark",pattern:"45 XXXX XXXX",emoji:"🇩🇰"},{phoneCode:"246",code:"DG",name:"Diego Garcia",pattern:"",emoji:"🇩🇬"},{phoneCode:"253",code:"DJ",name:"Djibouti",pattern:"253 XX XX XX XX",emoji:"🇩🇯"},{phoneCode:"1 767",code:"DM",name:"Dominica",pattern:"1767 XXX XXXX",emoji:"🇩🇲"},{phoneCode:"1 809 and 1 829",code:"DO",name:"Dominican Republic",pattern:"1 XXX XXX XXXX",emoji:"🇩🇴"},{phoneCode:"670",code:"TL",name:"Timor-Leste",pattern:"",emoji:"🇹🇱"},{phoneCode:"593",code:"EC",name:"Ecuador",pattern:"",emoji:"🇪🇨"},{phoneCode:"20",code:"EG",name:"Egypt",pattern:"20 XX XXX XXXX",emoji:"🇪🇬"},{phoneCode:"503",code:"SV",name:"El Salvador",pattern:"503 XXXX XXXX",emoji:"🇸🇻"},{phoneCode:"240",code:"GQ",name:"Equatorial Guinea",pattern:"240 XXX XXX XXX",emoji:"🇬🇶"},{phoneCode:"291",code:"ER",name:"Eritrea",pattern:"291 X XXX XXX",emoji:"🇪🇷"},{phoneCode:"372",code:"EE",name:"Estonia",pattern:"",emoji:"🇪🇪"},{phoneCode:"251",code:"ET",name:"Ethiopia",pattern:"251 XX XXX XXXX",emoji:"🇪🇹"},{phoneCode:"500",code:"FK",name:"Falkland Islands",pattern:"",emoji:"🇫🇰"},{phoneCode:"298",code:"FO",name:"Faroe Islands",pattern:"298 XXX XXX",emoji:"🇫🇴"},{phoneCode:"679",code:"FJ",name:"Fiji",pattern:"",emoji:"🇫🇯"},{phoneCode:"358",code:"FI",name:"Finland",pattern:"",emoji:"🇫🇮"},{phoneCode:"33",code:"FR",name:"France",pattern:"33 X XX XX XX XX",emoji:"🇫🇷"},{phoneCode:"594",code:"GF",name:"French Guiana",pattern:"",emoji:"🇬🇫"},{phoneCode:"689",code:"PF",name:"French Polynesia",pattern:"",emoji:"🇵🇫"},{phoneCode:"241",code:"GA",name:"Gabon",pattern:"241 X XX XX XX",emoji:"🇬🇦"},{phoneCode:"220",code:"GM",name:"Gambia",pattern:"220 XXX XXXX",emoji:"🇬🇲"},{phoneCode:"995",code:"GE",name:"Georgia",pattern:"",emoji:"🇬🇪"},{phoneCode:"49",code:"DE",name:"Germany",pattern:"49 XXX XXXXXXXX",emoji:"🇩🇪"},{phoneCode:"233",code:"GH",name:"Ghana",pattern:"",emoji:"🇬🇭"},{phoneCode:"350",code:"GI",name:"Gibraltar",pattern:"350 XXXX XXXX",emoji:"🇬🇮"},{phoneCode:"30",code:"GR",name:"Greece",pattern:"30 XX XXXX XXXX",emoji:"🇬🇷"},{phoneCode:"299",code:"GL",name:"Greenland",pattern:"299 XXX XXX",emoji:"🇬🇱"},{phoneCode:"1 473",code:"GD",name:"Grenada",pattern:"1473 XXX XXXX",emoji:"🇬🇩"},{phoneCode:"590",code:"GP",name:"Guadeloupe",pattern:"",emoji:"🇬🇵"},{phoneCode:"1 671",code:"GU",name:"Guam",pattern:"1671 XXX XXXX",emoji:"🇬🇺"},{phoneCode:"502",code:"GT",name:"Guatemala",pattern:"502 X XXX XXXX",emoji:"🇬🇹"},{phoneCode:"44",code:"GG",name:"Guernsey",pattern:"",emoji:"🇬🇬"},{phoneCode:"224",code:"GN",name:"Guinea",pattern:"224 XXX XXX XXX",emoji:"🇬🇳"},{phoneCode:"245",code:"GW",name:"Guinea-Bissau",pattern:"245 XXX XXXX",emoji:"🇬🇼"},{phoneCode:"592",code:"GY",name:"Guyana",pattern:"",emoji:"🇬🇾"},{phoneCode:"509",code:"HT",name:"Haiti",pattern:"",emoji:"🇭🇹"},{phoneCode:"504",code:"HN",name:"Honduras",pattern:"504 XXXX XXXX",emoji:"🇭🇳"},{phoneCode:"852",code:"HK",name:"Hong Kong SAR China",pattern:"",emoji:"🇭🇰"},{phoneCode:"36",code:"HU",name:"Hungary",pattern:"36 XX XXX XXXX",emoji:"🇭🇺"},{phoneCode:"354",code:"IS",name:"Iceland",pattern:"354 XXX XXXX",emoji:"🇮🇸"},{phoneCode:"91",code:"IN",name:"India",pattern:"91 XXXXX XXXXX",emoji:"🇮🇳"},{phoneCode:"62",code:"ID",name:"Indonesia",pattern:"",emoji:"🇮🇩"},{phoneCode:"98",code:"IR",name:"Iran",pattern:"98 XXX XXX XXXX",emoji:"🇮🇷"},{phoneCode:"964",code:"IQ",name:"Iraq",pattern:"964 XXX XXX XXXX",emoji:"🇮🇶"},{phoneCode:"353",code:"IE",name:"Ireland",pattern:"353 XX XXX XXXX",emoji:"🇮🇪"},{phoneCode:"972",code:"IL",name:"Israel",pattern:"972 XX XXX XXXX",emoji:"🇮🇱"},{phoneCode:"39",code:"IT",name:"Italy",pattern:"39 XXX XXX XXXX",emoji:"🇮🇹"},{phoneCode:"1 876",code:"JM",name:"Jamaica",pattern:"1876 XXX XXXX",emoji:"🇯🇲"},{phoneCode:"47 79",code:"SJ",name:"Svalbard & Jan Mayen",pattern:"",emoji:"🇸🇯"},{phoneCode:"81",code:"JP",name:"Japan",pattern:"81 XX XXXX XXXX",emoji:"🇯🇵"},{phoneCode:"44",code:"JE",name:"Jersey",pattern:"",emoji:"🇯🇪"},{phoneCode:"962",code:"JO",name:"Jordan",pattern:"962 X XXXX XXXX",emoji:"🇯🇴"},{phoneCode:"7 7",code:"KZ",name:"Kazakhstan",pattern:"7 XXX XXX XX XX",emoji:"🇰🇿"},{phoneCode:"254",code:"KE",name:"Kenya",pattern:"254 XXX XXX XXX",emoji:"🇰🇪"},{phoneCode:"686",code:"KI",name:"Kiribati",pattern:"",emoji:"🇰🇮"},{phoneCode:"850",code:"KP",name:"North Korea",pattern:"",emoji:"🇰🇵"},{phoneCode:"82",code:"KR",name:"South Korea",pattern:"",emoji:"🇰🇷"},{phoneCode:"965",code:"KW",name:"Kuwait",pattern:"965 XXXX XXXX",emoji:"🇰🇼"},{phoneCode:"996",code:"KG",name:"Kyrgyzstan",pattern:"",emoji:"🇰🇬"},{phoneCode:"856",code:"LA",name:"Laos",pattern:"",emoji:"🇱🇦"},{phoneCode:"371",code:"LV",name:"Latvia",pattern:"371 XXX XXXXX",emoji:"🇱🇻"},{phoneCode:"961",code:"LB",name:"Lebanon",pattern:"",emoji:"🇱🇧"},{phoneCode:"266",code:"LS",name:"Lesotho",pattern:"266 XX XXX XXX",emoji:"🇱🇸"},{phoneCode:"231",code:"LR",name:"Liberia",pattern:"",emoji:"🇱🇷"},{phoneCode:"218",code:"LY",name:"Libya",pattern:"218 XX XXX XXXX",emoji:"🇱🇾"},{phoneCode:"423",code:"LI",name:"Liechtenstein",pattern:"",emoji:"🇱🇮"},{phoneCode:"370",code:"LT",name:"Lithuania",pattern:"370 XXX XXXXX",emoji:"🇱🇹"},{phoneCode:"352",code:"LU",name:"Luxembourg",pattern:"",emoji:"🇱🇺"},{phoneCode:"853",code:"MO",name:"Macau SAR China",pattern:"",emoji:"🇲🇴"},{phoneCode:"389",code:"MK",name:"Macedonia",pattern:"",emoji:"🇲🇰"},{phoneCode:"261",code:"MG",name:"Madagascar",pattern:"261 XX XX XXX XX",emoji:"🇲🇬"},{phoneCode:"265",code:"MW",name:"Malawi",pattern:"",emoji:"🇲🇼"},{phoneCode:"60",code:"MM",name:"Malaysia",pattern:"",emoji:"🇲🇲"},{phoneCode:"960",code:"MV",name:"Maldives",pattern:"",emoji:"🇲🇻"},{phoneCode:"223",code:"ML",name:"Mali",pattern:"223 XXXX XXXX",emoji:"🇲🇱"},{phoneCode:"356",code:"MT",name:"Malta",pattern:"356 XX XX XX XX",emoji:"🇲🇹"},{phoneCode:"692",code:"MH",name:"Marshall Islands",pattern:"",emoji:"🇲🇭"},{phoneCode:"596",code:"MQ",name:"Martinique",pattern:"",emoji:"🇲🇶"},{phoneCode:"222",code:"MR",name:"Mauritania",pattern:"222 XXXX XXXX",emoji:"🇲🇷"},{phoneCode:"230",code:"MU",name:"Mauritius",pattern:"",emoji:"🇲🇺"},{phoneCode:"262",code:"YT",name:"Mayotte",pattern:"",emoji:"🇾🇹"},{phoneCode:"52",code:"MX",name:"Mexico",pattern:"",emoji:"🇲🇽"},{phoneCode:"691",code:"FM",name:"Micronesia",pattern:"",emoji:"🇫🇲"},{phoneCode:"373",code:"MD",name:"Moldova",pattern:"373 XX XXX XXX",emoji:"🇲🇩"},{phoneCode:"377",code:"MC",name:"Monaco",pattern:"377 XXXX XXXX",emoji:"🇲🇨"},{phoneCode:"976",code:"MN",name:"Mongolia",pattern:"",emoji:"🇲🇳"},{phoneCode:"382",code:"ME",name:"Montenegro",pattern:"",emoji:"🇲🇪"},{phoneCode:"1 664",code:"MS",name:"Montserrat",pattern:"1664 XXX XXXX",emoji:"🇲🇸"},{phoneCode:"212",code:"MA",name:"Morocco",pattern:"212 XX XXX XXXX",emoji:"🇲🇦"},{phoneCode:"258",code:"MZ",name:"Mozambique",pattern:"258 XX XXX XXXX",emoji:"🇲🇿"},{phoneCode:"264",code:"NA",name:"Namibia",pattern:"264 XX XXX XXXX",emoji:"🇳🇦"},{phoneCode:"674",code:"NR",name:"Nauru",pattern:"",emoji:"🇳🇷"},{phoneCode:"977",code:"NP",name:"Nepal",pattern:"",emoji:"🇳🇵"},{phoneCode:"31",code:"NL",name:"Netherlands",pattern:"31 X XX XX XX XX",emoji:"🇳🇱"},{phoneCode:"687",code:"NC",name:"New Caledonia",pattern:"",emoji:"🇳🇨"},{phoneCode:"64",code:"NZ",name:"New Zealand",pattern:"",emoji:"🇳🇿"},{phoneCode:"505",code:"NI",name:"Nicaragua",pattern:"505 XXXX XXXX",emoji:"🇳🇮"},{phoneCode:"227",code:"NE",name:"Niger",pattern:"227 XX XX XX XX",emoji:"🇳🇪"},{phoneCode:"234",code:"NG",name:"Nigeria",pattern:"",emoji:"🇳🇬"},{phoneCode:"683",code:"NU",name:"Niue",pattern:"",emoji:"🇳🇺"},{phoneCode:"672",code:"NF",name:"Norfolk Island",pattern:"",emoji:"🇳🇫"},{phoneCode:"1 670",code:"MP",name:"Northern Mariana Islands",pattern:"1670 XXX XXXX",emoji:"🇲🇵"},{phoneCode:"47",code:"NO",name:"Norway",pattern:"47 XXXX XXXX",emoji:"🇳🇴"},{phoneCode:"968",code:"OM",name:"Oman",pattern:"968 XXXX XXXX",emoji:"🇴🇲"},{phoneCode:"92",code:"PK",name:"Pakistan",pattern:"92 XXX XXX XXXX",emoji:"🇵🇰"},{phoneCode:"680",code:"PW",name:"Palau",pattern:"",emoji:"🇵🇼"},{phoneCode:"970",code:"PS",name:"Palestinian Territories",pattern:"970 XXX XX XXXX",emoji:"🇵🇸"},{phoneCode:"507",code:"PA",name:"Panama",pattern:"507 XXXX XXXX",emoji:"🇵🇦"},{phoneCode:"675",code:"PG",name:"Papua New Guinea",pattern:"",emoji:"🇵🇬"},{phoneCode:"595",code:"PY",name:"Paraguay",pattern:"595 XXX XXX XXX",emoji:"🇵🇾"},{phoneCode:"51",code:"PE",name:"Peru",pattern:"51 XXX XXX XXX",emoji:"🇵🇪"},{phoneCode:"63",code:"PH",name:"Philippines",pattern:"63 XXX XXX XXXX",emoji:"🇵🇭"},{phoneCode:"64",code:"PN",name:"Pitcairn Islands",pattern:"",emoji:"🇵🇳"},{phoneCode:"48",code:"PL",name:"Poland",pattern:"48 XXX XXX XXX",emoji:"🇵🇱"},{phoneCode:"351",code:"PT",name:"Portugal",pattern:"351 X XXXX XXXX",emoji:"🇵🇹"},{phoneCode:"1 787 and 1 939",code:"PR",name:"Puerto Rico",pattern:"1 XXX XXX XXXX",emoji:"🇵🇷"},{phoneCode:"974",code:"QA",name:"Qatar",pattern:"",emoji:"🇶🇦"},{phoneCode:"262",code:"RE",name:"Reunion",pattern:"262 XXX XXX XXX",emoji:"🇷🇪"},{phoneCode:"40",code:"RO",name:"Romania",pattern:"40 XXX XXX XXX",emoji:"🇷🇴"},{phoneCode:"7",code:"RU",name:"Russia",pattern:"7 XXX XXX XX XX",emoji:"🇷🇺"},{phoneCode:"250",code:"RW",name:"Rwanda",pattern:"250 XXX XXX XXX",emoji:"🇷🇼"},{phoneCode:"590",code:"BL",name:"St. Barthelemy",pattern:"",emoji:"🇧🇱"},{phoneCode:"290",code:"SH",name:"St. Helena",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"1 869",code:"KN",name:"St. Kitts & Nevis",pattern:"1869 XXX XXXX",emoji:"🇰🇳"},{phoneCode:"1 758",code:"LC",name:"St. Lucia",pattern:"1758 XXX XXXX",emoji:"🇱🇨"},{phoneCode:"590",code:"MF",name:"St. Martin (France)",pattern:"",emoji:"🇲🇫"},{phoneCode:"508",code:"PM",name:"St. Pierre and Miquelon",pattern:"",emoji:"🇵🇲"},{phoneCode:"1 784",code:"VC",name:"St. Vincent and the Grenadines",pattern:"1784 XXX XXXX",emoji:"🇻🇨"},{phoneCode:"685",code:"WS",name:"Samoa",pattern:"",emoji:"🇼🇸"},{phoneCode:"378",code:"SM",name:"San Marino",pattern:"378 XXX XXX XXXX",emoji:"🇸🇲"},{phoneCode:"239",code:"ST",name:"São Tome & Principe",pattern:"239 XX XXXXX",emoji:"🇸🇹"},{phoneCode:"966",code:"SA",name:"Saudi Arabia",pattern:"",emoji:"🇸🇦"},{phoneCode:"221",code:"SN",name:"Senegal",pattern:"221 XX XXX XXXX",emoji:"🇸🇳"},{phoneCode:"381",code:"RS",name:"Serbia",pattern:"381 XX XXX XXXX",emoji:"🇷🇸"},{phoneCode:"248",code:"SC",name:"Seychelles",pattern:"248 X XX XX XX",emoji:"🇸🇨"},{phoneCode:"232",code:"SL",name:"Sierra Leone",pattern:"232 XX XXX XXX",emoji:"🇸🇱"},{phoneCode:"65",code:"SG",name:"Singapore",pattern:"65 XXXX XXXX",emoji:"🇸🇬"},{phoneCode:"599 3",code:"BQ",name:"Sint Eustatius",pattern:"",emoji:"🇧🇶"},{phoneCode:"1 721",code:"SX",name:"Sint Maarten",pattern:"1721 XXX XXXX",emoji:"🇸🇽"},{phoneCode:"421",code:"SK",name:"Slovakia",pattern:"",emoji:"🇸🇰"},{phoneCode:"386",code:"SI",name:"Slovenia",pattern:"",emoji:"🇸🇮"},{phoneCode:"677",code:"SB",name:"Solomon Islands",pattern:"",emoji:"🇸🇧"},{phoneCode:"252",code:"SO",name:"Somalia",pattern:"252 XX XXX XXX",emoji:"🇸🇴"},{phoneCode:"27",code:"ZA",name:"South Africa",pattern:"27 XX XXX XXXX",emoji:"🇿🇦"},{phoneCode:"500",code:"GS",name:"South Georgia & South Sandwich Islands",pattern:"",emoji:"🇬🇸"},{phoneCode:"995 34",code:"",name:"South Ossetia",pattern:"",emoji:""},{phoneCode:"211",code:"SS",name:"South Sudan",pattern:"211 XX XXX XXXX",emoji:"🇸🇸"},{phoneCode:"34",code:"ES",name:"Spain",pattern:"34 XXX XXX XXX",emoji:"🇪🇸"},{phoneCode:"94",code:"LK",name:"Sri Lanka",pattern:"94 XX XXX XXXX",emoji:"🇱🇰"},{phoneCode:"249",code:"SD",name:"Sudan",pattern:"249 XX XXX XXXX",emoji:"🇸🇩"},{phoneCode:"597",code:"SR",name:"Suriname",pattern:"597 XXX XXXX",emoji:"🇸🇷"},{phoneCode:"47 79",code:"SJ",name:"Svalbard",pattern:"",emoji:"🇸🇯"},{phoneCode:"268",code:"SZ",name:"Swaziland",pattern:"268 XXXX XXXX",emoji:"🇸🇿"},{phoneCode:"46",code:"SE",name:"Sweden",pattern:"46 XX XXX XXXX",emoji:"🇸🇪"},{phoneCode:"41",code:"CH",name:"Switzerland",pattern:"41 XX XXX XXXX",emoji:"🇨🇭"},{phoneCode:"963",code:"SY",name:"Syria",pattern:"",emoji:"🇸🇾"},{phoneCode:"886",code:"TW",name:"Taiwan",pattern:"",emoji:"🇹🇼"},{phoneCode:"992",code:"TJ",name:"Tajikistan",pattern:"",emoji:"🇹🇯"},{phoneCode:"255",code:"TZ",name:"Tanzania",pattern:"255 XX XXX XXXX",emoji:"🇹🇿"},{phoneCode:"66",code:"TH",name:"Thailand",pattern:"66 X XXXX XXXX",emoji:"🇹🇭"},{phoneCode:"228",code:"TG",name:"Togo",pattern:"228 XX XXX XXX",emoji:"🇹🇬"},{phoneCode:"690",code:"TK",name:"Tokelau",pattern:"",emoji:"🇹🇰"},{phoneCode:"676",code:"TO",name:"Tonga",pattern:"",emoji:"🇹🇴"},{phoneCode:"1 868",code:"TT",name:"Trinidad & Tobago",pattern:"1868 XXX XXXX",emoji:"🇹🇹"},{phoneCode:"216",code:"TN",name:"Tunisia",pattern:"216 XX XXX XXX",emoji:"🇹🇳"},{phoneCode:"90",code:"TR",name:"Turkey",pattern:"90 XXX XXX XXXX",emoji:"🇹🇷"},{phoneCode:"993",code:"TM",name:"Turkmenistan",pattern:"993 XX XXXXXX",emoji:"🇹🇲"},{phoneCode:"1 649",code:"TC",name:"Turks & Caicos Islands",pattern:"1649 XXX XXXX",emoji:"🇹🇨"},{phoneCode:"688",code:"TV",name:"Tuvalu",pattern:"",emoji:"🇹🇻"},{phoneCode:"256",code:"UG",name:"Uganda",pattern:"256 XX XXX XXXX",emoji:"🇺🇬"},{phoneCode:"380",code:"UA",name:"Ukraine",pattern:"380 XX XXX XX XX",emoji:"🇺🇦"},{phoneCode:"971",code:"AE",name:"United Arab Emirates",pattern:"971 XX XXX XXXX",emoji:"🇦🇪"},{phoneCode:"44",code:"GB",name:"United Kingdom",pattern:"44 XXXX XXXXXX",emoji:"🇬🇧"},{phoneCode:"1",code:"US",name:"United States",pattern:"1 XXX XXX XXXX",emoji:"🇺🇸"},{phoneCode:"598",code:"UY",name:"Uruguay",pattern:"598 XXXX XXXX",emoji:"🇺🇾"},{phoneCode:"1 340",code:"VI",name:"U.S. Virgin Islands",pattern:"1340 XXX XXXX",emoji:"🇻🇮"},{phoneCode:"998",code:"UZ",name:"Uzbekistan",pattern:"998 XX XXXXXXX",emoji:"🇺🇿"},{phoneCode:"678",code:"VU",name:"Vanuatu",pattern:"",emoji:"🇻🇺"},{phoneCode:"58",code:"VE",name:"Venezuela",pattern:"58 XXX XXX XXXX",emoji:"🇻🇪"},{phoneCode:"39 06 698",code:"VA",name:"Vatican City",pattern:"",emoji:"🇻🇦"},{phoneCode:"84",code:"VN",name:"Vietnam",pattern:"",emoji:"🇻🇳"},{phoneCode:"681",code:"WF",name:"Wallis & Futuna",pattern:"",emoji:"🇼🇫"},{phoneCode:"967",code:"YE",name:"Yemen",pattern:"967 XXX XXX XXX",emoji:"🇾🇪"},{phoneCode:"260",code:"ZM",name:"Zambia",pattern:"260 XX XXX XXXX",emoji:"🇿🇲"},{phoneCode:"255",code:"",name:"Zanzibar",pattern:"",emoji:""},{phoneCode:"263",code:"ZW",name:"Zimbabwe",pattern:"263 XX XXX XXXX",emoji:"🇿🇼"}]};window.Config=s,t.default=s},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(71));t.default=class{constructor(e,t,i,s){this.isAuthPage=t,this.onFirstMount=i,this.onMount=s,this.installed=!1,this.pageEl=document.body.getElementsByClassName(e)[0]}mount(...e){return s(this,void 0,void 0,(function*(){if(this.onMount&&this.onMount(...e),!this.installed){if(this.onFirstMount){let t=this.onFirstMount(...e);t instanceof Promise&&(yield t)}this.installed=!0}o.default.setPage(this)}))}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(1)),o=i(0),n=s(i(7)),r=s(i(4)),l=s(i(6));class d{constructor(){this.updatesState={pendingPtsUpdates:[],pendingSeqUpdates:{},syncPending:!1,syncLoading:!0},this.channelStates={},this.attached=!1}popPendingSeqUpdate(){var e=this.updatesState.seq+1,t=this.updatesState.pendingSeqUpdates[e];if(!t)return!1;for(var i=t.updates,s=0,a=i.length;s=this.updatesState.syncPending.seqAwaiting&&(this.updatesState.syncPending.ptsAwaiting?delete this.updatesState.syncPending.seqAwaiting:(clearTimeout(this.updatesState.syncPending.timeout),this.updatesState.syncPending=!1)),!0}popPendingPtsUpdate(e){var t=e?this.getChannelState(e):this.updatesState;if(!t.pendingPtsUpdates.length)return!1;t.pendingPtsUpdates.sort((e,t)=>e.pts-t.pts);for(var i,s=t.pts,a=!1,n=0,r=0,l=t.pendingPtsUpdates.length;r=i.pts&&(a=i.pts,n=r);if(!a)return!1;for(console.log(o.dT(),"pop pending pts updates",a,t.pendingPtsUpdates.slice(0,n+1)),t.pts=a,r=0;r<=n;r++)i=t.pendingPtsUpdates[r],this.saveUpdate(i);return t.pendingPtsUpdates.splice(0,n+1),!t.pendingPtsUpdates.length&&t.syncPending&&(t.syncPending.seqAwaiting?delete t.syncPending.ptsAwaiting:(clearTimeout(t.syncPending.timeout),t.syncPending=!1)),!0}forceGetDifference(){this.updatesState.syncLoading||this.getDifference()}processUpdateMessage(e){var t={date:e.date,seq:e.seq,seqStart:e.seq_start};switch(e._){case"updatesTooLong":case"new_session_created":this.forceGetDifference();break;case"updateShort":this.processUpdate(e.update,t);break;case"updateShortMessage":case"updateShortChatMessage":var i=2&e.flags,s=e.from_id||(i?o.$rootScope.myID:e.user_id),a=e.chat_id?-e.chat_id:i?e.user_id:o.$rootScope.myID;this.processUpdate({_:"updateNewMessage",message:{_:"message",flags:e.flags,pFlags:e.pFlags,id:e.id,from_id:s,to_id:n.default.getOutputPeer(a),date:e.date,message:e.message,fwd_from:e.fwd_from,reply_to_msg_id:e.reply_to_msg_id,entities:e.entities},pts:e.pts,pts_count:e.pts_count},t);break;case"updatesCombined":case"updates":r.default.saveApiUsers(e.users),l.default.saveApiChats(e.chats),e.updates.forEach(e=>{this.processUpdate(e,t)});break;default:console.warn(o.dT(),"Unknown update message",e)}}getDifference(){const e=this.updatesState;return e.syncLoading||(e.syncLoading=!0,e.pendingSeqUpdates={},e.pendingPtsUpdates=[]),e.syncPending&&(clearTimeout(e.syncPending.timeout),e.syncPending=!1),a.default.invokeApi("updates.getDifference",{pts:e.pts,date:e.date,qts:-1},{timeout:2147483647}).then(t=>{if("updates.differenceEmpty"==t._)return console.log(o.dT(),"apply empty diff",t.seq),e.date=t.date,e.seq=t.seq,e.syncLoading=!1,o.$rootScope.$broadcast("stateSynchronized"),!1;r.default.saveApiUsers(t.users),l.default.saveApiChats(t.chats),t.other_updates.forEach(e=>{switch(e._){case"updateChannelTooLong":case"updateNewChannelMessage":case"updateEditChannelMessage":return void this.processUpdate(e)}this.saveUpdate(e)}),t.new_messages.forEach(t=>{this.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts,pts_count:0})});const i=t.intermediate_state||t.state;e.seq=i.seq,e.pts=i.pts,e.date=i.date,"updates.differenceSlice"==t._?this.getDifference():(o.$rootScope.$broadcast("stateSynchronized"),e.syncLoading=!1)},()=>{e.syncLoading=!1})}getChannelDifference(e){var t=this.getChannelState(e);t.syncLoading||(t.syncLoading=!0,t.pendingPtsUpdates=[]),t.syncPending&&(clearTimeout(t.syncPending.timeout),t.syncPending=!1),a.default.invokeApi("updates.getChannelDifference",{channel:l.default.getChannelInput(e),filter:{_:"channelMessagesFilterEmpty"},pts:t.pts,limit:30},{timeout:2147483647}).then(i=>(t.pts=i.pts,"updates.channelDifferenceEmpty"==i._?(console.log(o.dT(),"apply channel empty diff",i),t.syncLoading=!1,o.$rootScope.$broadcast("stateSynchronized"),!1):"updates.channelDifferenceTooLong"==i._?(console.log(o.dT(),"channel diff too long",i),t.syncLoading=!1,delete this.channelStates[e],this.saveUpdate({_:"updateChannelReload",channel_id:e}),!1):(r.default.saveApiUsers(i.users),l.default.saveApiChats(i.chats),console.log(o.dT(),"applying",i.other_updates.length,"channel other updates"),i.other_updates.forEach(e=>{this.saveUpdate(e)}),console.log(o.dT(),"applying",i.new_messages.length,"channel new messages"),i.new_messages.forEach(e=>{this.saveUpdate({_:"updateNewChannelMessage",message:e,pts:t.pts,pts_count:0})}),console.log(o.dT(),"apply channel diff",t.pts),void("updates.channelDifference"!=i._||i.pFlags.final?(console.log(o.dT(),"finished channel get diff"),o.$rootScope.$broadcast("stateSynchronized"),t.syncLoading=!1):this.getChannelDifference(e)))),()=>{t.syncLoading=!1})}addChannelState(e,t){if(!t)throw new Error("Add channel state without pts "+e);return!(e in this.channelStates)&&(this.channelStates[e]={pts:t,pendingPtsUpdates:[],syncPending:!1,syncLoading:!1},!0)}getChannelState(e,t){return void 0===this.channelStates[e]&&this.addChannelState(e,t),this.channelStates[e]}processUpdate(e,t={}){var i=!1;switch(e._){case"updateNewChannelMessage":case"updateEditChannelMessage":i=-n.default.getPeerID(e.message.to_id);break;case"updateDeleteChannelMessages":i=e.channel_id;break;case"updateChannelTooLong":if(!((i=e.channel_id)in this.channelStates))return!1}var s,a,d=i?this.getChannelState(i,e.pts):this.updatesState;if(d.syncLoading)return!1;if("updateChannelTooLong"==e._)return(!d.lastPtsUpdateTime||d.lastPtsUpdateTime0&&!r.default.hasUser(u)&&(p="toPeer User")||u<0&&!l.default.hasChat(-u)&&(p="toPeer Chat"))return console.warn(o.dT(),"Not enough data for message update",u,p,c),i&&l.default.hasChat(i)?this.getChannelDifference(i):this.forceGetDifference(),!1}else if(i&&!l.default.hasChat(i))return!1;if(e.pts){if(d.pts+(e.pts_count||0){i?this.getChannelDifference(i):this.getDifference()},5e3)}),d.syncPending.ptsAwaiting=!0,!1;if(e.pts>d.pts)d.pts=e.pts,s=!0,d.lastPtsUpdateTime=o.tsNow();else if(e.pts_count)return!1;i&&t.date&&this.updatesState.date0){var m=t.seq,g=t.seqStart||m;if(g!=d.seq+1&&g>d.seq)return console.warn(o.dT(),"Seq hole",d,d.syncPending&&d.syncPending.seqAwaiting),void 0===d.pendingSeqUpdates[g]&&(d.pendingSeqUpdates[g]={seq:m,date:t.date,updates:[]}),d.pendingSeqUpdates[g].updates.push(e),d.syncPending||(d.syncPending={timeout:setTimeout(()=>{this.getDifference()},5e3)}),(!d.syncPending.seqAwaiting||d.syncPending.seqAwaiting{this.updatesState.seq=e.seq,this.updatesState.pts=e.pts,this.updatesState.date=e.date,setTimeout(()=>{this.updatesState.syncLoading=!1},1e3)}))}}t.ApiUpdatesManager=d,t.default=new d},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(10),n=a(i(74)),r=a(i(26)),l=a(i(1)),d=i(13),c=a(i(42));class u{constructor(){this.cachedSavePromises={},this.cachedDownloadPromises={},this.cachedDownloads={},this.downloadPulls={},this.downloadActives={},this.log=d.logger("AFM")}downloadRequest(e,t,i){void 0===this.downloadPulls[e]&&(this.downloadPulls[e]=[],this.downloadActives[e]=0);var s=this.downloadPulls[e];let a=new Promise((e,a)=>{s.push({cb:t,deferred:{resolve:e,reject:a},activeDelta:i})});return setTimeout(()=>{this.downloadCheck(e)},0),a}downloadCheck(e){var t=this.downloadPulls[e],i="upload"==e?11:5;if(this.downloadActives[e]>=i||!t||!t.length)return!1;var s=t.shift(),a=s.activeDelta||1;this.downloadActives[e]+=a,s.cb().then(t=>{this.downloadActives[e]-=a,this.downloadCheck(e),s.deferred.resolve(t)},t=>{t&&this.log.error("downloadCheck error:",t),this.downloadActives[e]-=a,this.downloadCheck(e),s.deferred.reject(t)})}getFileName(e,t){switch(e._){case"inputDocumentFileLocation":{let i=(e.file_name||"").split("."),s=i[i.length-1]||"";1!=(null==t?void 0:t.stickerType)||c.default.isSupported()||(s+=".png");let a=e.thumb_size?"_"+e.thumb_size:"";return(i[0]?i[0]+"_":"")+e.id+a+(s?"."+s:s)}default:{e.volume_id||e.file_reference||this.log.trace("Empty location",e);let i="jpg";return 1!=(null==t?void 0:t.stickerType)||c.default.isSupported()||(i+=".png"),e.volume_id?e.volume_id+"_"+e.local_id+"."+i:e.id+"_"+e.access_hash+"."+i}}}getTempFileName(e){var t=e.size||-1;return"_temp"+o.nextRandomInt(4294967295)+"_"+t}getCachedFile(e){if(!e)return!1;var t=this.getFileName(e);return this.cachedDownloads[t]||!1}getFileStorage(){return n.default}saveSmallFile(e,t){var i=this.getFileName(e);return this.cachedSavePromises[i]||(this.cachedSavePromises[i]=this.getFileStorage().saveFile(i,t).then(e=>this.cachedDownloads[i]=e,e=>{delete this.cachedSavePromises[i]})),this.cachedSavePromises[i]}downloadSmallFile(e,t={}){if(!r.default.isAvailable())return Promise.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});let i=!1;1!=t.stickerType||c.default.isSupported()||(i=!0,t.mimeType="image/png");let s=t.dcID||e.dc_id,a=t.mimeType||"image/jpeg",o=this.getFileName(e,t),n=this.cachedSavePromises[o]||this.cachedDownloadPromises[o];if(n)return n;let d=this.getFileStorage();return this.cachedDownloadPromises[o]=d.getFile(o).then(e=>this.cachedDownloads[o]=e).catch(()=>{let t=this.downloadRequest(s,()=>{let t=e;t._&&"fileLocation"!=t._||(t=Object.assign({},e,{_:"inputFileLocation"}));let i={flags:0,location:t,offset:0,limit:1048576};return l.default.invokeApi("upload.getFile",i,{dcID:s,fileDownload:!0,noErrorBox:!0})},s);return d.getFileWriter(o,a).then(e=>t.then(t=>{return(s=t.bytes,i?c.default.convertToPng(s):Promise.resolve(s)).then(t=>r.default.write(e,t).then(()=>this.cachedDownloads[o]=e.finalize()));var s}))})}getDownloadedFile(e,t){var i=this.getFileStorage(),s="string"!=typeof e?this.getFileName(e):e;return i.getFile(s,t)}downloadFile(e,t,i,a={}){if(!r.default.isAvailable())return Promise.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});let o=!1;1!=a.stickerType||c.default.isSupported()||(a.toFileEntry||i>524288?delete a.stickerType:(o=!0,a.mimeType="image/png"));let n=this.getFileName(t,a),u=a.toFileEntry||null,h=this.cachedSavePromises[n]||this.cachedDownloadPromises[n],p=this.getFileStorage();if(h)return u?h.then(e=>r.default.copy(e,u)):i?h.then(s=>s.sizethis.downloadFile(e,t,i,a)).catch(()=>this.downloadFile(e,t,i,a))):s):h;let m=d.deferredPromise();var g,f=!1,b=!1,v=a.mimeType||"image/jpeg",y=e=>{m.reject(e),y=()=>{},!g||e&&"DOWNLOAD_CANCELED"==e.type||g.truncate(0)};return p.getFile(n,i).then(e=>s(this,void 0,void 0,(function*(){if(e.size{m.resolve()},y):m.resolve(this.cachedDownloads[n]=e)}))).catch(()=>{var s=u?Promise.resolve(u):p.getFileWriter(n,v);s.then(s=>{g=s;var d,h,p=a.limitPart||524288,v=0,w=Promise.resolve();if(s.length){if((v=s.length)>=i)return void(u?m.resolve():m.resolve(this.cachedDownloads[n]=s.finalize()));s.seek(v),m.notify({done:v,total:i})}for(d=v;d{a.resolve=e,a.reject=t}),Object.assign(h,a),((a,d,h,g)=>{this.downloadRequest(e,()=>f?Promise.resolve():l.default.invokeApi("upload.getFile",{flags:0,location:t,offset:d,limit:p},{dcID:e,fileDownload:!0,singleInRequest:"safari"in window}),e).then(e=>{g.then(()=>{return f?Promise.resolve():(t=e.bytes,o?c.default.convertToPng(t):Promise.resolve(t)).then(e=>r.default.write(s,e).then(()=>{h.resolve()},y).then(()=>{a?(b=!0,u?m.resolve():m.resolve(this.cachedDownloads[n]=s.finalize())):m.notify({done:d+p,total:i})}));var t})},y)})(d+p>=i,d,h,w),w=h}})}),m.cancel=()=>{f||b||(f=!0,delete this.cachedDownloadPromises[n],y({type:"DOWNLOAD_CANCELED"}),u&&u.abort())},u||(this.cachedDownloadPromises[n]=m),m}deleteFile(e){return this.log("will delete file:",e),delete this.cachedDownloadPromises[e],delete this.cachedDownloads[e],delete this.cachedSavePromises[e],this.getFileStorage().deleteFile(e)}uploadFile(e){var t=e.size,i=t>=10485760,s=!1,a=!1,n=0,r=262144,d=2;t>67108864?(r=524288,d=4):t<102400&&(r=32768,d=1);var c=Math.ceil(t/r),u=[o.nextRandomInt(4294967295),o.nextRandomInt(4294967295)],h=0,p={_:i?"inputFileBig":"inputFile",id:u,parts:c,name:e instanceof File?e.name:"",md5_checksum:""};let m={notify:e=>{}},g=new Promise((e,t)=>{if(c>3e3)return t({type:"FILE_TOO_BIG"});m.resolve=e,m.reject=t});if(Object.assign(g,m),c>3e3)return g;let f=e=>{this.log.error("Up Error",e),g.reject(e),s=!0,f=()=>{}},b=i?"upload.saveBigFilePart":"upload.saveFilePart";for(let i=0;inew Promise((d,h)=>{var m=new FileReader,v=e.slice(i,i+r);m.onloadend=e=>{s?h():e.target.readyState==FileReader.DONE?l.default.invokeApi(b,{file_id:u,file_part:o,file_total_parts:c,bytes:e.target.result},{startMaxLength:r+256,fileUpload:!0,singleInRequest:!0}).then(e=>{n++,d(),n>=c?(g.resolve(p),a=!0):g.notify({done:n*r,total:t})},f):this.log.error("wrong readyState!")},m.readAsArrayBuffer(v)}),d)}return g.cancel=()=>{this.log("cancel upload",s,a),s||a||(s=!0,f({type:"UPLOAD_CANCELED"}))},g}}t.ApiFileManager=u,t.default=new u},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:location.search.indexOf("http=1")>0,ssl:location.search.indexOf("ssl=1")>0||"https:"==location.protocol&&-1==location.search.indexOf("ssl=0"),multipleConnections:!0}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=i(2);const n=new(s(i(18)).default)("page-chats",!1,()=>Promise.resolve().then(()=>a(i(15))).then(()=>{Promise.resolve().then(()=>a(i(31))),Array.from(document.getElementsByClassName("btn-menu-toggle")).forEach(e=>{e.addEventListener("click",t=>{if(!e.classList.contains("btn-menu-toggle"))return!1;let i=e.querySelector(".btn-menu");t.cancelBubble=!0,e.classList.contains("menu-open")?(e.classList.remove("menu-open"),i.classList.remove("active")):o.openBtnMenu(i)})})}));t.default=n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class s{constructor(){this.channelLocals={},this.channelsByLocals={},this.channelCurLocal=0,this.fullMsgIDModulus=4294967296}getFullMessageID(e,t){if(!t||e<=0)return e;e=this.getMessageLocalID(e);var i=this.channelLocals[t];return i||(i=++this.channelCurLocal*this.fullMsgIDModulus,this.channelsByLocals[i]=t,this.channelLocals[t]=i),i+e}getMessageIDInfo(e){if(e\n \n \n \n ',t?this.preloader.innerHTML+='\n \n \n \n ':this.preloader.classList.add("preloader-swing"),this.circle=this.preloader.firstElementChild.firstElementChild.firstElementChild,e&&this.attach(e),this.cancelable&&this.preloader.addEventListener("click",()=>{this.promise&&this.promise.cancel&&(this.promise.cancel(),this.detach())})}attach(e,t=!0,i,s=!0){if(i){this.promise=i;let e=--this.tempID,t=()=>{e==this.tempID&&this.detach(),i.notify=null};i.then(t,t),i.notify=t=>{if(e!=this.tempID)return;console.log("preloader download",i,t);let s=t.done/t.total*100;this.setProgress(s)}}this.cancelable&&t&&this.setProgress(0),this.detached=!1,window.requestAnimationFrame(()=>{this.detached||(this.detached=!1,e[s?"append":"prepend"](this.preloader))})}detach(){this.detached=!0,this.preloader.parentElement&&window.requestAnimationFrame(()=>{this.detached&&(this.detached=!0,this.preloader.parentElement&&this.preloader.parentElement.removeChild(this.preloader))})}setProgress(e){if(!s.isInDOM(this.circle))return;if(0==e)return void(this.circle.style.strokeDasharray="");let t=this.circle.getTotalLength();console.log("setProgress",e/100*t),this.circle.style.strokeDasharray=Math.max(5,e/100*t)+", 200"}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(15)),r=a(i(7)),l=a(i(5)),d=a(i(4)),c=i(3),u=i(2),h=a(i(9)),p=i(13),m=a(i(6)),g=a(i(29)),f=i(45);class b{constructor(e){this.attachTo=e,this.element=document.getElementById("dialogs-contextmenu"),this.buttons={},u.parseMenuButtonsTo(this.buttons,this.element.children);const t=e=>{var t,i;let s=null;try{s=o.findUpTag(e.target,"LI")}catch(e){}if(!s)return;if(e.preventDefault(),this.element.classList.contains("active"))return!1;e.cancelBubble=!0,this.selectedID=+s.getAttribute("data-peerID");const a=l.default.getDialogByPeerID(this.selectedID)[0],n=a.peerID!=o.$rootScope.myID;if(n){const e=this.buttons.archive;let t="";1==a.folder_id?(t="Unarchive chat",e.classList.remove("tgico-archive")):(t="Archive chat",e.classList.add("tgico-archive")),e.innerText=t,this.buttons.archive.style.display=""}else this.buttons.archive.style.display="none";{const e=this.buttons.pin;let i="";(null===(t=a.pFlags)||void 0===t?void 0:t.pinned)?(i="Unpin from top",e.classList.remove("tgico-pin")):(i="Pin to top",e.classList.add("tgico-pin")),e.innerText=i}if(n){const e=this.buttons.mute;let t="";a.notify_settings&&a.notify_settings.mute_until>(Date.now()/1e3|0)?(t="Enable notifications",e.classList.remove("tgico-mute")):(t="Disable notifications",e.classList.add("tgico-mute")),e.innerText=t,this.buttons.mute.style.display=""}else this.buttons.mute.style.display="none";{const e=this.buttons.unread;let t="";(null===(i=a.pFlags)||void 0===i?void 0:i.unread_mark)?(t="Mark as read",e.classList.add("tgico-message")):(t="Mark as unread",e.classList.remove("tgico-message")),e.innerText=t}let d="";r.default.isMegagroup(this.selectedID)?(d="Leave group",this.peerType="megagroup"):r.default.isChannel(this.selectedID)?(d="Leave channel",this.peerType="channel"):this.selectedID<0?(d="Delete and leave",this.peerType="group"):(d="Delete chat",this.peerType=this.selectedID==o.$rootScope.myID?"saved":"chat"),this.buttons.delete.innerText=d,s.classList.add("menu-open"),u.positionMenu(e,this.element),u.openBtnMenu(this.element,()=>{s.classList.remove("menu-open")})};this.attachTo.forEach(e=>{e.addEventListener("contextmenu",t)}),this.buttons.archive.addEventListener("click",()=>{let e=l.default.getDialogByPeerID(this.selectedID)[0];e&&l.default.editPeerFolders([e.peerID],+!e.folder_id)}),this.buttons.pin.addEventListener("click",()=>{l.default.toggleDialogPin(this.selectedID)}),this.buttons.mute.addEventListener("click",()=>{n.default.mutePeer(this.selectedID)}),this.buttons.unread.addEventListener("click",()=>{l.default.markDialogUnread(this.selectedID)}),this.buttons.delete.addEventListener("click",()=>{let e,t,i,s=r.default.getPeerTitle(this.selectedID,!1,!0),a=e=>{l.default.flushHistory(this.selectedID,e)};switch(this.peerType){case"channel":e="Leave Channel?",t="Are you sure you want to leave this channel?",i=[{text:"LEAVE "+s,isDanger:!0,callback:()=>a(!0)}];break;case"megagroup":e="Leave Group?",t="Are you sure you want to leave this group?",i=[{text:"LEAVE "+s,isDanger:!0,callback:()=>a(!0)}];break;case"chat":e="Delete Chat?",t=`Are you sure you want to delete chat with ${s}?`,i=[{text:"DELETE FOR ME AND "+s,isDanger:!0,callback:()=>a(!1)},{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>a(!0)}];break;case"saved":e="Delete Saved Messages?",t="Are you sure you want to delete all your saved messages?",i=[{text:"DELETE SAVED MESSAGES",isDanger:!0,callback:()=>a(!1)}];break;case"group":e="Delete and leave Group?",t=`Are you sure you want to delete all message history and leave ${s}?`,i=[{text:"DELETE AND LEAVE "+s,isDanger:!0,callback:()=>a(!0)}]}i.push({text:"CANCEL",isCancel:!0}),new f.PopupPeer("popup-delete-chat",{peerID:this.selectedID,title:e,description:t,buttons:i}).show()})}}class v{constructor(){this.chatList=document.getElementById("dialogs"),this.chatListArchived=document.getElementById("dialogs-archived"),this.doms={},this.domsArchived={},this.lastActiveListElement=null,this.rippleCallback=null,this.lastClickID=0,this.lastGoodClickID=0,this.chatsArchivedContainer=document.getElementById("chats-archived-container"),this.chatsContainer=document.getElementById("chats-container"),this.loadedAll=!1,this.loadedArchivedAll=!1,this.scroll=null,this.scrollArchived=null,this.log=p.logger("DIALOGS"),this.contextMenu=new b([this.chatList,this.chatListArchived]),this.chatsPreloader=u.putPreloader(null,!0),this.pinnedDelimiter=document.createElement("div"),this.pinnedDelimiter.classList.add("pinned-delimiter"),this.pinnedDelimiter.appendChild(document.createElement("span")),this.scroll=new h.default(this.chatsContainer,"y","CL",this.chatList,500),this.scroll.setVirtualContainer(this.chatList),this.scroll.onScrolledBottom=this.onChatsScroll.bind(this),this.scrollArchived=new h.default(this.chatsArchivedContainer,"y","CLA",this.chatListArchived,500),this.scrollArchived.setVirtualContainer(this.chatListArchived),this.scrollArchived.onScrolledBottom=this.onChatsArchivedScroll.bind(this),this.setListClickListener(this.chatList),this.setListClickListener(this.chatListArchived),window.addEventListener("resize",()=>{setTimeout(()=>{this.onChatsArchivedScroll()},0)}),o.$rootScope.$on("user_update",e=>{let t=e.detail,i=d.default.getUser(t),s=l.default.getDialogByPeerID(i.id)[0];if(s&&!d.default.isBot(s.peerID)&&s.peerID!=o.$rootScope.myID){let e=i.status&&"userStatusOnline"==i.status._,t=this.getDialogDom(s.peerID);t&&(e?t.avatarEl.classList.add("is-online"):t.avatarEl.classList.remove("is-online"))}n.default.peerID==i.id&&n.default.setPeerStatus()}),o.$rootScope.$on("dialog_top",e=>{let t=e.detail;this.setLastMessage(t),this.setDialogPosition(t),this.setPinnedDelimiter()}),o.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID,i=l.default.getDialogByPeerID(t)[0];i&&this.setLastMessage(i)}),o.$rootScope.$on("dialogs_multiupdate",e=>{let t=e.detail;for(let e in t){let i=t[e];i.peerID in this.doms||this.addDialog(i),this.setLastMessage(i),this.setDialogPosition(i)}this.setPinnedDelimiter()}),o.$rootScope.$on("dialog_drop",e=>{let{peerID:t,dialog:i}=e.detail,s=this.getDialogDom(t);s&&(s.listEl.remove(),delete this.doms[t],(1==i.folder_id?this.scrollArchived:this.scroll).reorder())}),o.$rootScope.$on("dialog_unread",e=>{let t=e.detail,i=l.default.getDialogByPeerID(t.peerID)[0];i&&(this.setUnreadMessages(i),i.peerID==n.default.peerID&&n.default.updateUnreadByDialog(i))}),o.$rootScope.$on("peer_changed",e=>{let t=e.detail,i=this.lastActiveListElement&&+this.lastActiveListElement.getAttribute("data-peerID");if(this.lastActiveListElement&&i!=t&&(this.lastActiveListElement.classList.remove("active"),this.lastActiveListElement=null),i!=t){let e=this.getDialogDom(t);e&&(this.lastActiveListElement=e.listEl,e.listEl.classList.add("active"))}}),l.default.loaded.then(()=>{this.loadDialogs().then(e=>{this.setPinnedDelimiter(),this.loadDialogs(!0)})})}loadDialogs(e=!1){return s(this,void 0,void 0,(function*(){if(this.loadDialogsPromise)return this.loadDialogsPromise;(e?this.chatsArchivedContainer:this.chatsContainer).append(this.chatsPreloader);let t=l.default.dialogsStorage[+e]||[],i=0;for(let e=t.length-1;e>=0;--e){let s=t[e];if(this.getDialogDom(s.peerID)){i=s.index;break}}try{console.time("getDialogs time");let t=50;this.loadDialogsPromise=l.default.getConversations("",i,t,+e);let s=yield this.loadDialogsPromise;console.timeEnd("getDialogs time"),s&&s.dialogs&&s.dialogs.length&&s.dialogs.forEach(e=>{this.addDialog(e)}),s.dialogs.length&&(e?this.scrollArchived.length!=s.count:this.scroll.length!=s.count)||(e?this.loadedArchivedAll=!0:this.loadedAll=!0),this.log("getDialogs "+t+" dialogs by offset:",i,s,this.scroll.length,e),this.scroll.onScroll()}catch(e){this.log.error(e)}this.chatsPreloader.remove(),this.loadDialogsPromise=void 0}))}onChatsScroll(){this.loadedAll||this.loadDialogsPromise||this.loadDialogs()}onChatsArchivedScroll(){this.loadedArchivedAll||this.loadDialogsPromise||this.loadDialogs(!0)}setListClickListener(e,t){e.addEventListener("click",e=>{o.cancelEvent(e),console.log("dialogs click list");let i=e.target,s=i.classList.contains("rp")?i:o.findUpClassName(i,"rp");if(!s)return;s=s.parentElement;let a,r=this.lastActiveListElement==s;if(this.lastActiveListElement&&!r&&this.lastActiveListElement.classList.remove("active"),s){t&&t();let e=+s.getAttribute("data-peerID"),i=+s.dataset.mid||void 0;r||(s.classList.add("active"),this.lastActiveListElement=s),a=n.default.setPeer(e,i)}else a=n.default.setPeer(0)},{capture:!0})}setDialogPosition(e){let t=l.default.getDialogByPeerID(e.peerID)[1],i=this.getDialogDom(e.peerID),s=o.whichChild(i.listEl);if((1==e.folder_id&&this.chatList==i.listEl.parentElement||0==e.folder_id&&this.chatListArchived==i.listEl.parentElement)&&(s=65535),s==t)return;st?a.insertBefore(i.listEl,a.children[t]):a.append(i.listEl),(1==e.folder_id?this.scrollArchived:this.scroll).reorder(),this.log("setDialogPosition:",e,i,t)}setPinnedDelimiter(){var e,t;let i=-1,s=l.default.dialogsStorage[0];for(let t of s)(null===(e=t.pFlags)||void 0===e?void 0:e.pinned)&&i++;let a=null!==(t=this.pinnedDelimiter.parentElement&&o.whichChild(this.pinnedDelimiter.parentElement))&&void 0!==t?t:-1;if(i==a)return;let n=this.chatList.children,r=[];if(-1!=a&&n.length>a){let e=n[a];r.push(e)}if(-1!=i&&n.length>i){let e=n[i];r.push(e),e.append(this.pinnedDelimiter)}else this.pinnedDelimiter.remove();r.forEach(e=>{this.scroll.updateElement(e)})}setLastMessage(e,t,i,s){if(t||(t=l.default.getMessage(e.top_message)),i||(i=this.getDialogDom(e.peerID)),"messageEmpty"==t._)return i.lastMessageSpan.innerHTML="",i.lastTimeSpan.innerHTML="",void delete i.listEl.dataset.mid;let a=e.peer,n=e.peerID;if(s&&t.message){let e,a=l.default.getRichReplyText(t,""),n=t.message,r=c.RichTextProcessor.parseEntities(n.replace(/\n/g," "),{noLinebreakers:!0}),d=new RegExp(o.escapeRegExp(s),"gi");r||(r=[]);let u=!1;for(;null!==(e=d.exec(n));)r.push({_:"messageEntityHighlight",length:s.length,offset:e.index}),u=!0;u&&r.sort((e,t)=>e.offset-t.offset);let h=c.RichTextProcessor.wrapRichText(n,{noLinebreakers:!0,entities:r,noTextFormat:!0});i.lastMessageSpan.innerHTML=a+h}else t.deleted?i.lastMessageSpan.innerHTML="":i.lastMessageSpan.innerHTML=t.rReply;if("peerUser"!=a._&&n!=-t.from_id){let e=d.default.getUser(t.from_id);if(e&&e.id){let t=document.createElement("b"),s="";s=e.id==o.$rootScope.myID?"You":e.first_name||e.last_name||e.username,t.innerHTML=c.RichTextProcessor.wrapRichText(s,{noLinebreakers:!0})+": ",i.lastMessageSpan.prepend(t)}}if(t.deleted)i.lastTimeSpan.innerHTML="";else{let e="",s=t.date,a=Date.now()/1e3,o=new Date(1e3*t.date);if(a-s<86400)e=("0"+o.getHours()).slice(-2)+":"+("0"+o.getMinutes()).slice(-2);else if(a-s<604800){e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(1e3*s).getDay()]}else{e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][o.getMonth()]+" "+("0"+o.getDate()).slice(-2)}i.lastTimeSpan.innerHTML=e}(this.doms[n]||this.domsArchived[n])==i?this.setUnreadMessages(e):i.listEl.dataset.mid=t.mid}setUnreadMessages(e){let t=this.getDialogDom(e.peerID),i=l.default.getMessage(e.top_message);if("messageEmpty"!=i._&&!i.deleted&&i.from_id==o.$rootScope.myID&&i.peerID!=o.$rootScope.myID&&e.read_outbox_max_id){i.pFlags&&i.pFlags.unread?(t.statusSpan.classList.remove("tgico-checks"),t.statusSpan.classList.add("tgico-check")):(t.statusSpan.classList.remove("tgico-check"),t.statusSpan.classList.add("tgico-checks"))}else t.statusSpan.classList.remove("tgico-check","tgico-checks");if(t.unreadMessagesSpan.innerText="",t.unreadMessagesSpan.classList.remove("tgico-pinnedchat"),e.unread_count||e.pFlags.unread_mark?(t.unreadMessagesSpan.innerText=""+(e.unread_count||" "),t.unreadMessagesSpan.classList.add(new Date(1e3*e.notify_settings.mute_until)>new Date?"unread-muted":"unread")):e.pFlags.pinned&&0==e.folder_id&&(t.unreadMessagesSpan.classList.remove("unread","unread-muted"),t.unreadMessagesSpan.classList.add("tgico-pinnedchat")),1==e.folder_id){let e=Object.keys(this.domsArchived).map(e=>+e).reduce((e,t)=>{let i=l.default.getDialogByPeerID(t)[0];return i?e+i.unread_count:e},0);o.$rootScope.$broadcast("dialogs_archived_unread",{count:e})}}getDialogDom(e){return this.doms[e]||this.domsArchived[e]}addDialog(e,t,i=!0,s=!0,a=!1){let n;if("number"==typeof e){let t=l.default.getDialogByPeerID(e)[0];t||(t={peerID:e,pFlags:{}}),n=t}else n=e;let c=n.peerID;if((this.doms[c]||this.domsArchived[c])&&!t)return;let h=r.default.getPeerTitle(c,!1,a),p=new g.default;if(p.setAttribute("dialog","1"),p.setAttribute("peer",""+c),p.classList.add("dialog-avatar"),i&&c!=o.$rootScope.myID&&n.peer){switch(n.peer._){case"peerUser":let e=d.default.getUser(c);e.status&&"userStatusOnline"==e.status._&&p.classList.add("is-online")}}let f=document.createElement("div");f.classList.add("user-caption");let b=document.createElement("span");if(b.classList.add("user-title"),c<0){let e=m.default.getChat(-c);e&&e.pFlags&&e.pFlags.verified&&b.classList.add("is-verified")}else{let e=d.default.getUser(c);e&&e.pFlags&&e.pFlags.verified&&b.classList.add("is-verified")}c==o.$rootScope.myID&&(h=a?"Saved":"Saved Messages"),b.innerHTML=h;let v=document.createElement("span");v.classList.add("user-last-message");let y=document.createElement("div");y.classList.add("rp"),y.append(p,f),s&&u.ripple(y);let w=document.createElement("li");w.append(y),w.setAttribute("data-peerID",""+c);let x=document.createElement("span");x.classList.add("message-status");let _=document.createElement("span");_.classList.add("message-time");let k=document.createElement("span"),M=document.createElement("p"),D=document.createElement("span");D.append(x,_),M.append(b,D);let S=document.createElement("p");S.append(v,k),f.append(M,S);let E={avatarEl:p,captionDiv:f,titleSpan:b,statusSpan:x,lastTimeSpan:_,unreadMessagesSpan:k,lastMessageSpan:v,containerEl:y,listEl:w};return t?t.append(w):(n.folder_id&&1==n.folder_id?(this.scrollArchived.append(w),this.domsArchived[n.peerID]=E):(this.scroll.append(w),this.doms[n.peerID]=E),this.setLastMessage(n)),{dom:E,dialog:n}}setTyping(e,t){let i=this.getDialogDom(e.peerID),s="";if(e.peerID<0){let e=t.rFirstName||t.username;if(!e)return;s=e+" "}let a=document.createElement("i");s+="typing...",a.innerHTML=s,i.lastMessageSpan.innerHTML="",i.lastMessageSpan.append(a),i.lastMessageSpan.classList.add("user-typing")}unsetTyping(e){let t=this.getDialogDom(e.peerID);t.lastMessageSpan.classList.remove("user-typing"),this.setLastMessage(e,null,t)}}t.AppDialogsManager=v,t.default=new v},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=i(10);t.default=new class{constructor(){this.blobSupported=!0;try{a.blobConstruct([],"")}catch(e){this.blobSupported=!1}}isAvailable(){return this.blobSupported}copy(e,t){return this.write(t,e).then(()=>(console.log("copy success"),t),e=>{console.error("copy error 1:",e);try{t.truncate(0)}catch(e){console.error("copy error",e)}return Promise.reject(e)})}write(e,t){return t.file?t.file(t=>e.write(t)):t instanceof Blob?new Promise((i,s)=>{let a=new FileReader;a.onload=function(t){let a=t.target.result,o=new Uint8Array(a);e.write(o).then(i,s)},a.readAsArrayBuffer(t)}):e.write(t)}chooseSaveFile(e,t,i,s){throw new Error("no writer")}getFakeFileWriter(e,t){var i=[];return{write:e=>s(this,void 0,void 0,(function*(){if(!this.blobSupported)throw!1;i.push(e)})),truncate:()=>{i=[]},finalize:()=>{var s=a.blobConstruct(i,e);return t&&t(s),s}}}download(e,t,i){if(window.navigator&&void 0!==navigator.msSaveBlob)return window.navigator.msSaveBlob(e,i),!1;if(window.navigator&&"getDeviceStorage"in navigator){var s="sdcard";switch(t.split("/")[0]){case"video":s="videos";break;case"audio":s="music";break;case"image":s="pictures"}var a=navigator.getDeviceStorage(s).addNamed(e,"telegram/"+i);return a.onsuccess=function(){console.log("Device storage save result",this.result)},void(a.onerror=()=>{})}let o=URL.createObjectURL(e);var n=document.createElementNS("http://www.w3.org/1999/xhtml","a");n.href=o,n.download=i,n.dataset&&(n.dataset.downloadurl=["video/quicktime",i,o].join(":")),n.style.position="absolute",n.style.top="1px",n.style.left="1px",document.body.append(n);try{var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(r)}catch(e){console.error("Download click error",e);try{n.click()}catch(e){window.open(o,"_blank")}}setTimeout(()=>{n.remove()},100)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(17));class o{createIndex(){return{shortIndexes:{},fullTexts:{}}}cleanSearchText(e,t=!0){const i="%"==e.charAt(0);return e=e.replace(o.badCharsRe,"").replace(o.trimRe,""),t&&(e=e.replace(/[^A-Za-z0-9]/g,e=>{const t=a.default.LatinizeMap[e];return void 0!==t?t:e})),e=e.toLowerCase(),i&&(e="%"+e),e}cleanUsername(e){return e&&e.toLowerCase()||""}indexObject(e,t,i){if(void 0!==i.fullTexts[e])return!1;if(!(t=this.cleanSearchText(t)).length)return!1;const s=i.shortIndexes;i.fullTexts[e]=t,t.split(" ").forEach(t=>{let i,a,o=Math.min(t.length,3);for(a=1;a<=o;a++)i=t.substr(0,a),void 0===s[i]?s[i]=[e]:s[i].push(e)})}search(e,t){const i=t.shortIndexes,s=t.fullTexts,a=(e=this.cleanSearchText(e)).split(" ");let o,n,r,l,d,c=!1;for(n=0;no.length)&&(c=o)}for(o={},r=0;r,<]+/g,o.trimRe=/^\s+|\s$/g,t.default=new o},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(12)),o=i(0);class n{constructor(){this.timestampNow=o.tsNow(!0),this.midnightNoOffset=this.timestampNow-this.timestampNow%86400,this.midnightOffseted=new Date,this.midnightOffset=this.midnightNoOffset-Math.floor(+this.midnightOffseted/1e3),this.serverTimeOffset=0,this.timeParams={midnightOffset:this.midnightOffset,serverTimeOffset:this.serverTimeOffset},this.midnightOffseted.setHours(0),this.midnightOffseted.setMinutes(0),this.midnightOffseted.setSeconds(0),a.default.get("server_time_offset").then(e=>{e&&(this.serverTimeOffset=e,this.timeParams.serverTimeOffset=e)})}}t.ServerTimeManager=n,t.default=new n},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(16));i(0).$rootScope.$on("avatar_update",e=>{let t=e.detail;a.default.removeFromAvatarsCache(t),Array.from(document.querySelectorAll('avatar-element[peer="'+t+'"]')).forEach(e=>{console.log("updating avatar:",e),e.update()})});class o extends HTMLElement{constructor(){super(),this.isDialog=!1}connectedCallback(){this.isDialog=!!this.getAttribute("dialog")}disconnectedCallback(){}static get observedAttributes(){return["peer","dialog","peer-title"]}attributeChangedCallback(e,t,i){"peer"==e?(this.peerID=+i,this.update()):"peer-title"==e?this.peerTitle=i:"dialog"==e&&(this.isDialog=!!i)}update(){a.default.putPhoto(this,this.peerID,this.isDialog,this.peerTitle)}adoptedCallback(){}}t.default=o,customElements.define("avatar-element",o)},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e=5,t=!0){this.parallelLimit=e,this.lazyLoadMedia=[],this.loadingMedia=0,this.tempID=0,this.lockPromise=null,this.unlockResolve=null,this.log=console.log.bind(console,"[LL]:"),this.debug=!1,t&&(this.observer=new IntersectionObserver(e=>{if(!this.lockPromise)for(let t of e)if(t.isIntersecting){let e=t.target,i=this.lazyLoadMedia.findAndSplice(t=>t.div==e);i&&(i.wasSeen=!0,this.lazyLoadMedia.unshift(i),this.processQueue(i))}}))}clear(){this.tempID--,this.lazyLoadMedia.length=0,this.loadingMedia=0,this.observer&&this.observer.disconnect()}length(){return this.lazyLoadMedia.length+this.loadingMedia}lock(){this.lockPromise||(this.lockPromise=new Promise((e,t)=>{this.unlockResolve=e}))}unlock(){this.unlockResolve&&(this.lockPromise=null,this.unlockResolve(),this.unlockResolve=null)}processQueue(e){return s(this,void 0,void 0,(function*(){if(!(this.parallelLimit>0&&this.loadingMedia>=this.parallelLimit)&&(e?this.lazyLoadMedia.findAndSplice(t=>t==e):e=this.lazyLoadMedia.findAndSplice(e=>e.wasSeen),e)){this.loadingMedia++;let t=this.tempID;this.debug&&this.log("will load media",this.lockPromise,e);try{if(this.lockPromise){let e=performance.now();yield this.lockPromise,this.debug&&this.log("waited lock:",performance.now()-e)}yield e.load()}catch(t){console.error("loadMediaQueue error:",t,e)}t==this.tempID&&this.loadingMedia--,this.debug&&this.log("loaded media"),this.lazyLoadMedia.length&&this.processQueue()}}))}addElement(e){e.wasSeen?this.processQueue(e):(e.wasSeen=!1,this.observer&&this.observer.observe(e.div))}push(e){this.lazyLoadMedia.push(e),this.addElement(e)}unshift(e){this.lazyLoadMedia.unshift(e),this.addElement(e)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),console.log("Services included!");const a=s(i(4)),o=s(i(6)),n=s(i(23)),r=s(i(19)),l=s(i(8)),d=s(i(25)),c=s(i(5)),u=s(i(16)),h=s(i(15)),p=s(i(7)),m=s(i(39)),g=s(i(11)),f=s(i(36)),b=s(i(48)),v=s(i(37));t.appUsersManager=a.default,t.appChatsManager=o.default,t.appMessagesIDsManager=n.default,t.apiUpdatesManager=r.default,t.appPhotosManager=l.default,t.appMessagesManager=c.default,t.appProfileManager=u.default,t.appImManager=h.default,t.appPeersManager=p.default,t.appStickersManager=m.default,t.appDocsManager=g.default,t.appSidebarRight=f.default,t.appSidebarLeft=b.default,t.appMediaViewer=v.default,t.appDialogsManager=d.default,window.Services={appUsersManager:t.appUsersManager,appChatsManager:t.appChatsManager,apiUpdatesManager:t.apiUpdatesManager,appMessagesManager:t.appMessagesManager,appPeersManager:t.appPeersManager,appProfileManager:t.appProfileManager,appPhotosManager:t.appPhotosManager,appDocsManager:t.appDocsManager,appDialogsManager:t.appDialogsManager,appImManager:t.appImManager,appStickersManager:t.appStickersManager,appSidebarRight:t.appSidebarRight,appSidebarLeft:t.appSidebarLeft,appMediaViewer:t.appMediaViewer}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=a(i(8)),r=a(i(1)),l=a(i(14)),d=a(i(11)),c=i(0),u=a(i(24)),h=o(i(46)),p=i(3),m=i(2),g=a(i(5)),f=i(51),b=a(i(77)),v=a(i(42));function y({doc:e,container:t,message:i,boxWidth:a,boxHeight:o,withTail:r,isOut:l,middleware:c,lazyLoadQueue:p}){let g;if(r)g=M(e,i,t,a,o,l);else{if(a||o)(!t.firstElementChild||"IMG"!=t.firstElementChild.tagName&&"VIDEO"!=t.firstElementChild.tagName)&&n.default.setAttachmentSize(e,t,a,o);else{let i=e.thumbs;!e.downloaded&&i&&i[0].bytes&&n.default.setAttachmentPreview(i[0].bytes,t,!1)}g=t.lastElementChild,g&&"IMG"==g.tagName||t.append(g=new Image)}let f,b,v=document.createElement("video"),y=document.createElement("source");if(v.append(y),r){let e=g.parentElement;v.width=+e.getAttributeNS(null,"width"),v.height=+e.getAttributeNS(null,"height"),e.append(v)}else t.append(v);"round"!=e.type&&(f=document.createElement("span"),f.classList.add("video-time"),t.append(f),"gif"!=e.type?(f.innerText=(e.duration+"").toHHMMSS(!1),b=document.createElement("span"),b.classList.add("video-play","tgico-largeplay","btn-circle","position-center"),t.append(b)):f.innerText="GIF");let w=()=>s(this,void 0,void 0,(function*(){if(i.media.preloader)i.media.preloader.attach(t,void 0,void 0,!1);else if(!e.downloaded){let i=new u.default(t,!0),s=d.default.downloadDoc(e);i.attach(t,!0,s,!1),yield s}if(!c||c())if(console.log("loaded doc:",e,e.url,t),m.renderImageFromUrl(y,e.url),y.type=e.mime_type,v.append(y),g&&g.parentElement&&g.remove(),"gif"==e.type)v.autoplay=!0,v.loop=!0,v.play();else if("round"==e.type){v.dataset.ckin="circle",v.dataset.overlay="1";new h.default(v)}}));if(e.size>=2e7&&!e.downloaded){let e=document.createElement("div");e.classList.add("download");let i=document.createElement("span");return i.classList.add("btn-circle","tgico-download"),e.append(i),e.addEventListener("click",()=>{e.remove(),w()}),void t.prepend(e)}return e.downloaded?w():p.push({div:t,load:w,wasSeen:!0})}t.wrapVideo=y;let w=e=>{const t=new Date(1e3*e);return["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()]+" "+t.getDate()+", "+t.getFullYear()+" at "+t.getHours()+":"+("0"+t.getMinutes()).slice(-2)};function x(e,t=!1){let i=document.createElement("div");i.classList.add("audio"),console.log("wrapAudio doc:",e);let s=String(0|e.duration).toHHMMSS(!0),a=e.audioTitle||e.file_name,o=e.audioPerformer?p.RichTextProcessor.wrapPlainText(e.audioPerformer):"";t?o+=(o?" · ":"")+w(e.date):o||(o="Unknown Artist"),i.innerHTML=`\n
\n
\n
\n
${a}
\n
${o}
\n
${s}
\n
\n `;let n,r,l,c=i.lastElementChild,m=i.querySelector(".audio-download"),g=()=>{r?(m.classList.remove("downloading"),r.cancel(),r=null):(n||(n=new u.default(null,!0)),r=d.default.downloadDoc(e.id),n.attach(m,!0,r),r.then(t=>{m.classList.remove("downloading"),m.remove();let s=document.createElement("audio"),a=document.createElement("source");a.src=e.url,a.type=e.mime_type,s.volume=1,l=new h.MediaProgressLine(s),i.removeEventListener("click",g);let o=i.querySelector(".audio-toggle"),n=i.querySelector(".audio-subtitle"),r=!1;o.addEventListener("click",()=>{r||(i.classList.add("audio-show-progress"),r=!0),n.innerHTML="",n.append(l.container),s.paused?(_&&_.classList.contains("tgico-largepause")&&_.click(),s.currentTime=0,s.play(),_=o,o.classList.remove("tgico-largeplay"),o.classList.add("tgico-largepause")):(s.pause(),o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"))}),s.addEventListener("ended",()=>{o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),c.innerText=String(0|s.currentTime).toHHMMSS(!0)}),s.style.display="none",s.append(a),i.append(s)}),m.classList.add("downloading"))};return i.addEventListener("click",g),i.click(),i}t.wrapDocument=function(e,t=!1,i=!1){if("voice"==e.type)return k(e,t);if("audio"==e.type)return x(e,t);let s=e.file_name?e.file_name.split("."):"",a="";a=s.length>1&&Array.isArray(s)?s.pop().toLowerCase():"file";let o=document.createElement("div");o.classList.add("document","ext-"+a);let n=a;"photo"==e.type&&(o.classList.add("photo"),n=``);let r=e.file_name||"Unknown.file",l=c.formatBytes(e.size);if(t&&(l+=" · "+w(e.date)),o.innerHTML=`\n
${n}
\n ${i?"":'
'}\n
${r}
\n
${l}
\n `,!i){let t,i,s=o.querySelector(".document-download");o.addEventListener("click",()=>{if(i)s.classList.remove("downloading"),i=null;else{if(s.classList.contains("downloading"))return;t||(t=new u.default(null,!0)),d.default.saveDocFile(e.id).then(e=>{i=e.promise,t.attach(s,!0,i),i.then(()=>{s.classList.remove("downloading"),s.remove()})}),s.classList.add("downloading")}})}return o},t.wrapAudio=x;let _=null;function k(e,t=!1){let i=document.createElement("div");i.classList.add("audio","is-voice");let s=e.duration,a=String(0|s).toHHMMSS(!0);i.innerHTML=`\n
\n
\n
${a}
\n `;let o,n,r=i.lastElementChild,l=i.querySelector(".audio-download"),c=document.createElementNS("http://www.w3.org/2000/svg","svg");c.classList.add("audio-waveform"),c.setAttributeNS(null,"width","190"),c.setAttributeNS(null,"height","23"),c.setAttributeNS(null,"viewBox","0 0 190 23"),i.insertBefore(c,i.lastElementChild);let h=e.attributes[0].waveform,p=0,m=0,g="";for(let e of h){if(p>0&&p%4==0){++p,++m;continue}let t=23*(e/255);t<2&&(t=2),g+=`\n \n `,++p}c.insertAdjacentHTML("beforeend",g);let f=i.querySelector(".audio-waveform"),b=()=>{n?(l.classList.remove("downloading"),n.cancel(),n=null):(o||(o=new u.default(null,!0)),n=d.default.downloadDoc(e.id),o.attach(l,!0,n),n.then(t=>{l.classList.remove("downloading"),l.remove();let s=document.createElement("audio"),a=document.createElement("source");a.src=e.url,a.type=e.mime_type,s.volume=1,i.removeEventListener("click",b);let o=i.querySelector(".audio-toggle"),n=0,d=0;o.addEventListener("click",()=>{s.paused?(_&&_.classList.contains("tgico-largepause")&&_.click(),s.currentTime=0,s.play(),_=o,o.classList.remove("tgico-largeplay"),o.classList.add("tgico-largepause"),Array.from(c.children).forEach(e=>e.classList.remove("active")),n=setInterval(()=>{d>c.childElementCount||isNaN(s.duration)?clearInterval(n):(r.innerText=String(0|s.currentTime).toHHMMSS(!0),d=Math.round(s.currentTime/s.duration*47),Array.from(c.children).slice(0,d+1).forEach(e=>e.classList.add("active")))},20)):(s.pause(),o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),clearInterval(n))}),s.addEventListener("ended",()=>{o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),clearInterval(n),Array.from(c.children).forEach(e=>e.classList.remove("active")),r.innerText=String(0|s.currentTime).toHHMMSS(!0)});let u=!1,h=!1;function p(e,t,i){let s=e.offsetX/190*t.duration;Array.from(c.children).forEach(e=>e.classList.remove("active")),d=Math.round(s/t.duration*47),Array.from(c.children).slice(0,d+1).forEach(e=>e.classList.add("active")),t.currentTime=s}f.addEventListener("mouseleave",e=>{u&&(s.play(),u=!1),h=!1}),f.addEventListener("mousemove",e=>{h=!0,u&&p(e,s,f)}),f.addEventListener("mousedown",e=>{e.preventDefault(),s.paused||(s.pause(),p(e,s,f),u=!0)}),f.addEventListener("mouseup",e=>{h&&u&&(s.play(),u=!1)}),f.addEventListener("click",e=>{s.paused||p(e,s,f)}),s.style.display="none",s.append(a),i.append(s)}),l.classList.add("downloading"))};return i.addEventListener("click",b),i.click(),i}function M(e,t,i,s,a,o){let r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("bubble__media-container",o?"is-out":"is-in");let l=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");n.default.setAttachmentSize("document"==e._?e:e.id,l,s,a);let d=+l.getAttributeNS(null,"width"),c=+l.getAttributeNS(null,"height");r.setAttributeNS(null,"width",""+d),r.setAttributeNS(null,"height",""+c);let u="clip"+t.mid;r.dataset.clipID=u;let h=document.createElementNS("http://www.w3.org/2000/svg","defs"),p="";t.message||(p+=o?`\n \n \n `:`\n \n \n `),h.innerHTML=`${p}`,i.style.width=parseInt(i.style.width)-9+"px",r.append(h,l),i.append(r);let m=l.firstElementChild;return m||l.append(m=new Image),m}function D(e,t,i,s=480,a=480,o=!0,r=!1,l,d,c=null){let h,p,g=n.default.getPhoto(e);if(o)h=M(g,t,i,s,a,r);else{if(c){let e=g.sizes;!g.downloaded&&e&&e[0].bytes&&n.default.setAttachmentPreview(e[0].bytes,i,!1)}else s&&a&&(c=n.default.setAttachmentSize(e,i,s,a,!1));h=i.lastElementChild,h&&"IMG"==h.tagName||i.append(h=new Image)}t.media.preloader?t.media.preloader.attach(i):g.downloaded||(p=new u.default(i,!1));let f=()=>{let t=n.default.preloadPhoto(e,c);return p&&p.attach(i,!0,t),t.then(()=>{d&&!d()||m.renderImageFromUrl(h||i,g.url)})};return g.downloaded?f():l.push({div:i,load:f,wasSeen:!0})}t.wrapVoiceMessage=k,t.wrapPhoto=D,t.wrapSticker=function({doc:e,div:t,middleware:i,lazyLoadQueue:a,group:o,play:u,onlyThumb:h,emoji:p}){let g=e.sticker;if(2!=g||l.default.loaded||l.default.loadLottieWorkers(),!g)throw console.error("wrong doc for wrapSticker!",e),new Error("wrong doc for wrapSticker!");t.dataset.docID=e.id;const f=p?c.getEmojiToneIndex(p):-1;if(e.thumbs&&!t.firstElementChild&&(!e.downloaded||2==g)){let s=e.thumbs[0];if(s.bytes){let a=new Image;if(v.default.isSupported()||e.stickerThumbConverted?(m.renderImageFromUrl(a,n.default.getPreviewURLFromThumb(s,!0)),t.append(a)):v.default.convertToPng(s.bytes).then(o=>{i&&!i()||(s.bytes=o,e.stickerThumbConverted=!0,t.childElementCount||m.renderImageFromUrl(a,n.default.getPreviewURLFromThumb(s,!0)).then(()=>{t.append(a)}))}),h)return Promise.resolve()}else if(!h&&2==g){let n=new Image,r=()=>d.default.downloadDocThumb(e,s.type).then(e=>{if(!n.parentElement||i&&!i())return;let s=m.renderImageFromUrl(n,e);l||s.then(()=>{t.append(n)})}),l=d.default.hasDownloadedThumb(e.id,s.type);l&&t.append(n),a&&!l?a.push({div:t,load:r,wasSeen:"chat"==o}):r()}}if(h&&e.thumbs){let s=e.thumbs[0],o=()=>d.default.downloadDocThumb(e,s.type).then(e=>{let s=new Image;m.renderImageFromUrl(s,e).then(()=>{i&&!i()||t.append(s)})});return a?(a.push({div:t,load:o}),Promise.resolve()):o()}let b=e.downloaded,y=()=>d.default.downloadDoc(e.id).then(a=>{if(!i||i())if(2==g){const e=new FileReader;e.addEventListener("loadend",e=>s(this,void 0,void 0,(function*(){const i=e.srcElement.result;let s=yield r.default.gzipUncompress(i,!0);(yield l.default.loadAnimationWorker({container:t,loop:!p,autoplay:!0,animationData:JSON.parse(s)},o,f)).addListener("ready",()=>{t.firstElementChild&&"IMG"==t.firstElementChild.tagName&&t.firstElementChild.remove()})}))),e.readAsArrayBuffer(a)}else if(1==g){let i=new Image;b||t.firstElementChild&&"IMG"==t.firstElementChild.tagName||(i.style.opacity="0",i.addEventListener("load",()=>{window.requestAnimationFrame(()=>{i.style.opacity=""})})),m.renderImageFromUrl(i,e.url).then(()=>{t.firstElementChild&&t.firstElementChild!=i&&t.firstElementChild.remove(),t.append(i)})}});return!a||e.downloaded&&2!=g?y():(a.push({div:t,load:y,wasSeen:"chat"==o&&2!=g}),Promise.resolve())},t.wrapReply=function(e,t,i){let s=document.createElement("div");s.classList.add("reply");let a=document.createElement("div");a.classList.add("reply-border");let o=document.createElement("div");o.classList.add("reply-content");let r=document.createElement("div");r.classList.add("reply-title");let l=document.createElement("div");l.classList.add("reply-subtitle"),r.innerHTML=e?p.RichTextProcessor.wrapEmojiText(e):"";let d=i&&i.media;if(d){if(l.innerHTML=i.rReply,d.photo||d.document&&-1!==["video"].indexOf(d.document.type)){let e=document.createElement("div");e.classList.add("reply-media");let t=d.photo||d.document,i=t.sizes||t.thumbs;i&&i[0].bytes&&n.default.setAttachmentPreview(i[0].bytes,e,!1,!0),n.default.preloadPhoto(t,n.default.choosePhotoSize(t,32,32)).then(()=>{m.renderImageFromUrl(e,"photo"==t._?t.url:n.default.getDocumentCachedThumb(t.id).url)}),o.append(e),s.classList.add("is-reply-media")}}else l.innerHTML=t?p.RichTextProcessor.wrapEmojiText(t):"";return o.append(r,l),s.append(a,o),s},t.wrapAlbum=function({groupID:e,attachmentDiv:t,middleware:i,uploading:s,lazyLoadQueue:a,isOut:o}){let r=[],l=g.default.groupedMessagesStorage[e];for(let e in l){let t=g.default.getMessage(+e),i=t.media.photo||t.media.document,s="photo"==i._?n.default.choosePhotoSize(i,480,480):{w:i.w,h:i.h};r.push({size:s,media:i,message:t})}let d=new f.Layouter(r.map(e=>({w:e.size.w,h:e.size.h})),451,100,2).layout();console.log("layout:",d,r.map(e=>({w:e.size.w,h:e.size.h})));for(let{geometry:e,sides:s}of d){let n=r.shift();if(!n){console.error("no item for layout!");continue}let{size:l,media:d,message:c}=n,u=document.createElement("div");u.classList.add("album-item"),u.dataset.mid=c.mid,u.style.width=e.width+"px",u.style.height=e.height+"px",u.style.top=e.y+"px",u.style.left=e.x+"px",s&f.RectPart.Right&&(t.style.width=e.width+e.x+"px"),s&f.RectPart.Bottom&&(t.style.height=e.height+e.y+"px"),s&f.RectPart.Left&&s&f.RectPart.Top&&(u.style.borderTopLeftRadius="inherit"),s&f.RectPart.Left&&s&f.RectPart.Bottom&&(u.style.borderBottomLeftRadius="inherit"),s&f.RectPart.Right&&s&f.RectPart.Top&&(u.style.borderTopRightRadius="inherit"),s&f.RectPart.Right&&s&f.RectPart.Bottom&&(u.style.borderBottomRightRadius="inherit"),"photo"==d._?D(d.id,c,u,0,0,!1,o,a,i,l):y({doc:c.media.document,container:u,message:c,boxWidth:0,boxHeight:0,withTail:!1,isOut:o,lazyLoadQueue:a,middleware:i}),t.append(u)}},t.wrapPoll=function(e,t){let i=new b.default;return i.setAttribute("poll-id",e),i.setAttribute("message-id",""+t),i}},,,function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(2),o=s(i(9)),n=i(3),r=s(i(17)),l=i(0),d=s(i(69)),c=s(i(83)),u=s(i(1)),h=s(i(18)),p=i(21);let m=null;const g=new h.default("page-sign",!0,()=>{p.Modes.test&&(r.default.Countries.push({name:"Test Country",phoneCode:"999 66",code:"TC",emoji:"🤔",pattern:"999 66 XXX XX"}),console.log("Added test country to list!"));const e=r.default.Countries.filter(e=>e.emoji).sort((e,t)=>e.name.localeCompare(t.name));let t="";var i=g.pageEl.querySelector('input[name="countryCode"]'),s=i.parentElement,h=document.createElement("div");h.classList.add("select-wrapper","z-depth-3");var f=document.createElement("ul");h.appendChild(f);new o.default(h);let b=!1;g.pageEl.querySelector(".a-qr").addEventListener("click",()=>{c.default.mount()}),i.addEventListener("focus",(function(a){b||(e.forEach(e=>{b=!0;let t=e.emoji,i=[];e.phoneCode.split(" and ").forEach(s=>{let a=document.createElement("li");var o=document.createElement("span");let r=n.RichTextProcessor.wrapRichText(t);a.appendChild(o),o.outerHTML=r,a.append(e.name);var l=document.createElement("span");l.classList.add("phone-code"),l.innerText="+"+s,a.appendChild(l),i.push(a),f.append(a)}),e.li=i}),f.addEventListener("mousedown",(function(e){let s=e.target;"LI"!=s.tagName&&(s=l.findUpTag(s,"LI"));let a=s.childNodes[1].textContent,o=s.querySelector(".phone-code").innerText;i.value=a,t=a,v.value=o,setTimeout(()=>v.focus(),0),console.log("clicked",e,a,o)}))),s.appendChild(h)})),i.addEventListener("blur",(function(e){s.removeChild(h),e.cancelBubble=!0}),{capture:!0}),i.addEventListener("keyup",(function(i){if(i.ctrlKey||"Control"==i.key)return!1;let s=this.value.toLowerCase(),a=[];if(e.forEach(e=>{let t=-1!==e.name.toLowerCase().indexOf(s);e.li.forEach(e=>e.style.display=t?"":"none"),t&&a.push(e)}),1==a.length&&1==a[0].li.length){if(a[0].name==t)return!1;console.log("clicking",a[0]);var o=document.createEvent("MouseEvents");return o.initEvent("mousedown",!0,!0),a[0].li[0].dispatchEvent(o),!1}0==a.length&&e.forEach(e=>{e.li.forEach(e=>e.style.display="")})})),g.pageEl.querySelector(".arrow-down").addEventListener("mousedown",(function(e){e.cancelBubble=!0,e.preventDefault(),i.matches(":focus")?i.blur():i.focus()}));e.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length);let v=g.pageEl.querySelector('input[name="phone"]');v.addEventListener("input",(function(e){this.classList.remove("error");let{formatted:s,country:o}=a.formatPhoneNumber(this.value);this.value=s?"+"+s:"",console.log(s,o);let n=o?o.name:"";n!=i.value&&(i.value=n,t=n),o&&this.value.length-1>=(o.pattern?o.pattern.length:9)?m.style.visibility="":m.style.visibility="hidden"})),v.addEventListener("keypress",(function(e){return this.value.length>=9&&"Enter"==e.key?m.click():/\D/.test(e.key)?(e.preventDefault(),!1):void 0})),m.addEventListener("click",(function(e){this.setAttribute("disabled","true"),this.textContent="PLEASE WAIT...",a.putPreloader(this);let t=v.value;u.default.invokeApi("auth.sendCode",{phone_number:t,api_id:p.App.id,api_hash:p.App.hash,settings:{_:"codeSettings",flags:0}}).then(e=>{console.log("got code",e),d.default.mount(Object.assign(e,{phone_number:t}))}).catch(e=>{switch(this.removeAttribute("disabled"),this.innerText="NEXT",e.type){case"PHONE_NUMBER_INVALID":v.classList.add("error");break;default:console.error("auth.sendCode error:",e),this.innerText=e.type}})}));u.default.invokeApi("help.getNearestDc").then(e=>(e.nearest_dc!=e.this_dc&&u.default.getNetworker(e.nearest_dc),e)).then(s=>{let a=e.find(e=>e.code==s.country);return a&&(i.value.length||v.value.length||(i.value=a.name,t=a.name,v.value="+"+a.phoneCode.split(" and ").shift())),console.log("woohoo",s,a)})},()=>{m||(m=g.pageEl.querySelector("button")),m.textContent="NEXT",m.removeAttribute("disabled")});t.default=g},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=i(2),r=a(i(9)),l=i(0),d=a(i(5)),c=a(i(8)),u=a(i(7)),h=a(i(4)),p=a(i(16)),m=i(3),g=i(13),f=a(i(15)),b=a(i(37)),v=a(i(30)),y=i(32),w=o(i(49)),x=a(i(38));let _=(e,t)=>{window.requestAnimationFrame(()=>{t.childElementCount>1&&t.firstElementChild.remove();let i=document.createElement("p");i.innerHTML=e,t.prepend(i),t.style.display=""})};t.default=new class{constructor(){this.sidebarEl=document.getElementById("column-right"),this.profileContainer=this.sidebarEl.querySelector(".profile-container"),this.profileContentEl=this.sidebarEl.querySelector(".profile-content"),this.contentContainer=this.sidebarEl.querySelector(".content-container"),this.profileElements={avatar:this.profileContentEl.querySelector(".profile-avatar"),name:this.profileContentEl.querySelector(".profile-name"),subtitle:this.profileContentEl.querySelector(".profile-subtitle"),bio:this.profileContentEl.querySelector(".profile-row-bio"),username:this.profileContentEl.querySelector(".profile-row-username"),phone:this.profileContentEl.querySelector(".profile-row-phone"),notificationsRow:this.profileContentEl.querySelector(".profile-row-notifications"),notificationsCheckbox:this.profileContentEl.querySelector("#profile-notifications"),notificationsStatus:this.profileContentEl.querySelector(".profile-row-notifications > p")},this.sharedMedia={contentMembers:this.profileContentEl.querySelector("#content-members"),contentMedia:this.profileContentEl.querySelector("#content-media"),contentDocuments:this.profileContentEl.querySelector("#content-docs"),contentLinks:this.profileContentEl.querySelector("#content-links"),contentAudio:this.profileContentEl.querySelector("#content-audio")},this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.sharedMediaTypes=["members","inputMessagesFilterPhotoVideo","inputMessagesFilterDocument","inputMessagesFilterUrl","inputMessagesFilterMusic"],this.sharedMediaType="",this.sharedMediaSelected=null,this.lazyLoadQueue=new v.default(5),this.historiesStorage={},this.usedFromHistory={},this.log=g.logger("SR"),this.peerID=0,this.scroll=null,this.prevTabID=-1,this.mediaDivsByIDs={},this.urlsToRevoke=[],this.searchContainer=this.sidebarEl.querySelector("#search-private-container"),this.searchCloseBtn=this.searchContainer.querySelector(".sidebar-close-button"),this.searchInput=document.getElementById("private-search"),this.privateSearch=new w.default(this.searchContainer.querySelector(".chats-container"),this.searchInput,{messages:new w.SearchGroup("Private Search","messages")}),this.loadMutex=Promise.resolve();let e=this.profileContentEl.querySelector(".content-container .tabs-container");this.profileTabs=this.profileContentEl.querySelector(".profile-tabs"),this.scroll=new r.default(this.profileContainer,"y","SR",void 0,400),this.scroll.onScrolledBottom=()=>{this.sharedMediaSelected&&this.sharedMediaSelected.childElementCount&&(this.log("onScrolledBottom will load media"),this.loadSidebarMedia(!0))},n.horizontalMenu(this.profileTabs,e,(e,t)=>{this.prevTabID!=e&&(this.sharedMediaType=this.sharedMediaTypes[e],this.sharedMediaSelected=t.firstElementChild,-1!=this.prevTabID&&this.profileTabs.offsetTop&&(this.scroll.scrollTop-=this.profileTabs.offsetTop),-1==this.prevTabID||this.sharedMediaSelected.childElementCount||this.loadSidebarMedia(!0),this.prevTabID=e)}),this.sidebarEl.querySelector(".sidebar-close-button").addEventListener("click",()=>{this.toggleSidebar(!1)}),this.searchCloseBtn.addEventListener("click",()=>{this.searchContainer.classList.remove("active"),this.privateSearch.reset()}),this.sharedMedia.contentMedia.addEventListener("click",e=>{let t=e.target,i=+t.dataset.mid;if(!i)return void this.log.warn("no messageID by click on target:",t);let s=d.default.getMessage(i),a=Object.keys(this.mediaDivsByIDs).map(e=>+e).sort((e,t)=>e-t),o=a.findIndex(e=>e==i),n=a.map(e=>({element:this.mediaDivsByIDs[e].firstElementChild,mid:e}));b.default.openMedia(s,t,!1,this.sidebarEl,n.slice(o+1).reverse(),n.slice(0,o).reverse(),!0)}),this.profileElements.notificationsCheckbox.addEventListener("change",()=>{f.default.mutePeer(this.peerID)})}beginSearch(){this.toggleSidebar(!0),this.searchContainer.classList.add("active"),this.privateSearch.beginSearch(this.peerID)}toggleSidebar(e){let t,i=this.sidebarEl.classList.contains("active");if(void 0!==e?e?i||(t=!0):i&&(t=!0):t=!0,!t)return Promise.resolve();let s=()=>{this.sidebarEl.classList.toggle("active",e)};return new Promise((t,i)=>{let a=[],o=new IntersectionObserver(i=>{for(let e of i){let t=e.target;e.isIntersecting||a.push({element:t,height:t.scrollHeight})}for(let e of a)e.element.style.minHeight=e.height+"px",e.element.firstElementChild.style.display="none",e.element.style.width="1px";o.disconnect(),s(),setTimeout(()=>{for(let e of a)e.element.style.minHeight="",e.element.style.width="",e.element.firstElementChild.style.display="";(0==e||this.sidebarEl.classList.contains("active")&&null==e)&&(x.default.close(),this.searchCloseBtn.click()),t()},200)});if(Object.keys(f.default.bubbles).length)for(let e in f.default.bubbles)o.observe(f.default.bubbles[e]);else s(),setTimeout(t,200)})}filterMessagesByType(e,t){let i=[];for(let t of e){let e=d.default.getMessage(t);e.media&&i.push(e)}let s=[];switch(t){case"inputMessagesFilterPhotoVideo":for(let e of i){let t=e.media.photo||e.media.document||e.media.webpage&&e.media.webpage.document;t&&("document"==t._&&"video"!=t.type||s.push(e))}break;case"inputMessagesFilterDocument":for(let e of i){if(!e.media.document||"voice"==e.media.document.type||"audio"==e.media.document.type)continue;let t=e.media.document;t.attributes&&t.attributes.find(e=>"documentAttributeSticker"==e._)||s.push(e)}break;case"inputMessagesFilterUrl":for(let e of i)e.media.webpage&&"webPageEmpty"!=e.media.webpage._&&s.push(e);break;case"inputMessagesFilterMusic":for(let e of i)e.media.document&&"audio"==e.media.document.type&&s.push(e)}return s}performSearchResult(e,t){return s(this,void 0,void 0,(function*(){let i,s=this.peerID,a=[],o=[];switch(t){case"inputMessagesFilterPhotoVideo":i=this.sharedMedia.contentMedia;for(let t of e){let e=t.media.photo||t.media.document||t.media.webpage&&t.media.webpage.document,i=document.createElement("div");i.classList.add("media-item");let r,d="photo"==e._,u=d?c.default.getPhoto(e.id):null;if(u)r=u.downloaded>0;else{let t=c.default.getDocumentCachedThumb(e.id);r=(null==t?void 0:t.downloaded)>0}let h=new Image;if(h.classList.add("media-image"),i.append(h),!d){let t=document.createElement("span");t.classList.add("video-time"),i.append(t),"gif"!=e.type?t.innerText=(e.duration+"").toHHMMSS(!1):t.innerText="GIF"}let p=()=>c.default.preloadPhoto(d?e.id:e,c.default.choosePhotoSize(e,200,200)).then(()=>{if(l.$rootScope.selectedPeerID!=s)return void this.log.warn("peer changed");let t=u&&u.url||c.default.getDocumentCachedThumb(e.id).url;t&&n.renderImageFromUrl(h,t)});h.dataset.mid=""+t.mid;let m=e.sizes||e.thumbs;if(r||m&&m[0].bytes){let t=new Promise((t,i)=>{h.addEventListener("load",()=>{clearTimeout(s),t()});let s=setTimeout(()=>{this.log("did not loaded",h,e,r,m),i()},1e3)});o.push(t)}r?p():(m&&m[0].bytes&&c.default.setAttachmentPreview(m[0].bytes,h,!1,!1),this.lazyLoadQueue.push({div:i,load:p})),a.push(i),this.mediaDivsByIDs[t.mid]=i}break;case"inputMessagesFilterDocument":i=this.sharedMedia.contentDocuments;for(let t of e){let e=y.wrapDocument(t.media.document,!0);a.push(e)}break;case"inputMessagesFilterUrl":i=this.sharedMedia.contentLinks;for(let t of e){let e=t.media.webpage,i=document.createElement("div"),o=document.createElement("div");if(o.classList.add("preview"),o.innerText=(e.title||e.description||e.url||e.display_url).slice(0,1),o.classList.add("empty"),e.photo){let t=()=>c.default.preloadPhoto(e.photo.id,c.default.choosePhotoSize(e.photo,60,60)).then(()=>{l.$rootScope.selectedPeerID==s?(o.classList.remove("empty"),o.innerText="",n.renderImageFromUrl(o,e.photo.url)):this.log.warn("peer changed")});this.lazyLoadQueue.push({div:o,load:t})}let r=e.rTitle||"",d=e.rDescription||"",u=m.RichTextProcessor.wrapRichText(e.url||"");r||(r=e.display_url.split("/",1)[0]),i.append(o),i.insertAdjacentHTML("beforeend",`\n
${r}
\n
${d}
\n
${u}
\n `),i.innerText.trim().length&&a.push(i)}break;case"inputMessagesFilterMusic":i=this.sharedMedia.contentAudio;for(let t of e){let e=y.wrapAudio(t.media.document,!0);a.push(e)}break;default:console.warn("death is my friend",e)}if(this.loadMutex&&o.push(this.loadMutex),a.length){if(o.length&&(yield Promise.all(o),this.peerID!=s))return void this.log.warn("peer changed");i.append(...a)}if(i){let e=i.parentElement;e.lastElementChild.classList.contains("preloader")&&e.lastElementChild.remove()}}))}loadSidebarMedia(e=!1){var t;this.log("loadSidebarMedia",e,this.peerID,this.loadSidebarMediaPromises);let i=this.peerID,s=e?[this.sharedMediaType]:this.sharedMediaTypes;if(s=s.filter(e=>!this.loadedAllMedia[e]),!s.length)return;let a=3*(c.default.windowH/130|0),o=null!==(t=this.historiesStorage[i])&&void 0!==t?t:this.historiesStorage[i]={},n=s.map(e=>{var t;if(this.loadSidebarMediaPromises[e])return this.loadSidebarMediaPromises[e];let s=null!==(t=o[e])&&void 0!==t?t:o[e]=[];if(s.length&&this.usedFromHistory[e]a){let e=t.length-a;t=t.slice(0,t.length-e),i-=e}return this.usedFromHistory[e]=i,t.length?this.performSearchResult(t,e):Promise.resolve()}let n=s[s.length-1]||0,r=!n&&d.default.historiesStorage[i]?d.default.historiesStorage[i].history.slice():[];return n=!n&&r.length?r[r.length-1]:n,this.log("loadSidebarMedia: search house of glass pre",e,r,n),this.loadSidebarMediaPromises[e]=d.default.getSearch(i,"",{_:e},n,a).then(t=>{if(r=r.concat(t.history),s.push(...r),this.log("loadSidebarMedia: search house of glass",e,t,r),l.$rootScope.selectedPeerID==i)return t.history.length{this.log.error("load error:",e)}).then(()=>{this.loadSidebarMediaPromises[e]=null})});return Promise.all(n)}cleanup(){this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.prevTabID=-1,this.mediaDivsByIDs={},this.lazyLoadQueue.clear(),this.sharedMediaTypes.forEach(e=>{this.usedFromHistory[e]=0}),this.sharedMediaType="inputMessagesFilterPhotoVideo"}cleanupHTML(){this.profileElements.bio.style.display="none",this.profileElements.phone.style.display="none",this.profileElements.username.style.display="none",this.profileElements.notificationsRow.style.display="",this.profileElements.notificationsCheckbox.checked=!0,this.profileElements.notificationsStatus.innerText="Enabled",this.urlsToRevoke.length&&(this.urlsToRevoke.forEach(e=>{URL.revokeObjectURL(e)}),this.urlsToRevoke.length=0),Object.keys(this.sharedMedia).forEach(e=>{if(this.sharedMedia[e].innerHTML="",!this.historiesStorage[this.peerID]||!this.historiesStorage[this.peerID][e]){let t=this.sharedMedia[e].parentElement;t.querySelector(".preloader")||n.putPreloader(t,!0)}}),this.profileTabs.firstElementChild.children[1].click()}setLoadMutex(e){this.loadMutex=e}setPeer(e){this.peerID=e,this.cleanup()}fillProfileElements(){let e=this.peerID=l.$rootScope.selectedPeerID;if(this.cleanupHTML(),this.profileElements.avatar.setAttribute("peer",""+e),e!=l.$rootScope.myID){u.default.getPeerUsername(e)&&_(u.default.getPeerUsername(e),this.profileElements.username);let t=d.default.getDialogByPeerID(e)[0];if(t){let e=!1;t.notify_settings&&t.notify_settings.mute_until&&(e=new Date(1e3*t.notify_settings.mute_until)>new Date),f.default.setMutedState(e)}}else window.requestAnimationFrame(()=>{this.profileElements.notificationsRow.style.display="none"});let t=this.profileTabs.firstElementChild.children[0];if(e>0){t.style.display="none";let i=h.default.getUser(e);i.phone&&e!=l.$rootScope.myID&&_(i.rPhone,this.profileElements.phone),p.default.getProfile(e,!0).then(t=>{this.peerID==e?(t.rAbout&&e!=l.$rootScope.myID&&_(t.rAbout,this.profileElements.bio),t.pinned_msg_id&&(f.default.pinnedMsgID=t.pinned_msg_id,d.default.wrapSingleMessage(t.pinned_msg_id))):this.log.warn("peer changed")})}else{t.style.display=u.default.isBroadcast(e)?"none":"";let i=u.default.getPeer(e);p.default.getChatFull(i.id).then(t=>{this.peerID==e?t.about&&_(m.RichTextProcessor.wrapRichText(t.about),this.profileElements.bio):this.log.warn("peer changed")})}}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(7)),n=a(i(8)),r=a(i(5)),l=i(3),d=i(13),c=a(i(24)),u=i(0),h=a(i(11)),p=a(i(46)),m=i(2),g=a(i(30)),f=a(i(38));class b{constructor(){this.wholeDiv=document.querySelector(".media-viewer-whole"),this.overlaysDiv=this.wholeDiv.firstElementChild,this.author={avatarEl:this.overlaysDiv.querySelector(".media-viewer-userpic"),nameEl:this.overlaysDiv.querySelector(".media-viewer-name"),date:this.overlaysDiv.querySelector(".media-viewer-date")},this.buttons={},this.content={container:this.overlaysDiv.querySelector(".media-viewer-media"),caption:this.overlaysDiv.querySelector(".media-viewer-caption"),mover:null},this.currentMessageID=0,this.preloader=null,this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.targetContainer=null,this.loadMore=null,this.peerID=0,this.loadMediaPromiseUp=null,this.loadMediaPromiseDown=null,this.loadedAllMediaUp=!1,this.loadedAllMediaDown=!1,this.reverse=!1,this.needLoadMore=!0,this.pageEl=document.getElementById("page-chats"),this.log=d.logger("AMV"),this.preloader=new c.default,this.lazyLoadQueue=new g.default(5,!1),m.parseMenuButtonsTo(this.buttons,this.wholeDiv.querySelectorAll("[class*='menu']")),this.onKeyDownBinded=this.onKeyDown.bind(this),this.buttons.close.addEventListener("click",e=>{u.cancelEvent(e),this.content.container.innerHTML="",this.content.container.firstElementChild&&URL.revokeObjectURL(this.content.container.firstElementChild.src),this.peerID=0,this.currentMessageID=0,this.lazyLoadQueue.clear(),this.setMoverToTarget(this.lastTarget,!0),this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.loadedAllMediaUp=this.loadedAllMediaDown=!1,this.loadMediaPromiseUp=this.loadMediaPromiseDown=null,f.default.close(),window.removeEventListener("keydown",this.onKeyDownBinded)}),this.buttons.prev.addEventListener("click",e=>{if(u.cancelEvent(e),this.setMoverPromise)return;let t=this.prevTargets.pop();t?(this.nextTargets.unshift({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.prev.style.display="none"}),this.buttons.next.addEventListener("click",e=>{if(u.cancelEvent(e),this.setMoverPromise)return;let t=this.nextTargets.shift();t?(this.prevTargets.push({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.next.style.display="none"}),this.buttons.download.addEventListener("click",()=>{let e=r.default.getMessage(this.currentMessageID);if(e.media.photo)n.default.downloadPhoto(e.media.photo.id);else{let t=null;t=e.media.webpage?e.media.webpage.document:e.media.document,t&&(console.log("will save document:",t),h.default.saveDocFile(t.id))}}),this.buttons.forward.addEventListener("click",()=>{f.default.init([this.currentMessageID])}),this.onClickBinded=e=>{u.cancelEvent(e);let t=e.target,i=null;["media-viewer-mover","media-viewer-buttons","media-viewer-author"].find(e=>{try{if(i=u.findUpClassName(t,e),i)return!0}catch(e){return!1}}),i&&"IMG"!=t.tagName&&"image"!=t.tagName||this.buttons.close.click()},this.wholeDiv.addEventListener("click",this.onClickBinded),this.setNewMover()}onKeyDown(e){"ArrowRight"==e.key?this.buttons.next.click():"ArrowLeft"==e.key&&this.buttons.prev.click()}setMoverToTarget(e,t=!1,i=0){var a;return s(this,void 0,void 0,(function*(){let s=this.content.mover;t||(s.innerHTML="");let o,r,l=0!==i,d=l?350:200;this.log("setMoverToTarget",e,t,l,i),e&&(e instanceof SVGImageElement||e.parentElement instanceof SVGForeignObjectElement?(o=u.findUpClassName(e,"attachment"),r=o.getBoundingClientRect()):(o=e.parentElement,r=e.getBoundingClientRect()));let c,h,p,m=this.content.container.getBoundingClientRect(),g="";if(l?(c=1===i?n.default.windowW:-m.width,h=m.top):(c=r.left,h=r.top),e instanceof HTMLImageElement||e instanceof HTMLVideoElement){if(s.firstElementChild&&s.firstElementChild.classList.contains("media-viewer-aspecter")){p=s.firstElementChild;let e=p.querySelector(".ckin__player");if(e){let t=e.firstElementChild;p.append(t),e.remove()}p.style.cssText||(s.classList.remove("active"),this.setFullAspect(p,m,r),s.offsetLeft,s.classList.add("active"))}else p=document.createElement("div"),p.classList.add("media-viewer-aspecter","disable-hover"),s.prepend(p);p.style.cssText=`width: ${r.width}px; height: ${r.height}px; transform: scale(${m.width/r.width}, ${m.height/r.height});`}g+=`translate(${c}px,${h}px) `,s.style.width=m.width+"px",s.style.height=m.height+"px";let f=r.width/m.width,b=r.height/m.height;l||(g+=`scale(${f},${b}) `);let v,y=window.getComputedStyle(o).getPropertyValue("border-radius"),w=u.fillPropertyValue(y);y=w.map(e=>parseInt(e)/f+"px").join(" "),l||(s.style.borderRadius=y),s.style.transform=g;let x=e.classList.contains("is-out");if(t)return e instanceof SVGSVGElement&&(v=s.querySelector("path"),v&&this.sizeTailPath(v,m,f,d,!1,x,y)),e.classList.contains("media-viewer-media")&&s.classList.add("hiding"),setTimeout(()=>{this.wholeDiv.classList.remove("active")},0),setTimeout(()=>{s.style.borderRadius=y,s.firstElementChild&&(s.firstElementChild.style.borderRadius=y)},d/2),void setTimeout(()=>{s.innerHTML="",s.classList.remove("moving","active","hiding"),s.style.display="none"},d);{let t,i;if("DIV"==e.tagName)e.firstElementChild&&(t=new Image,i=e.firstElementChild.src,s.append(t));else if(e instanceof HTMLImageElement)t=new Image,i=e.src;else if(e instanceof HTMLVideoElement){let s=t=document.createElement("video"),o=document.createElement("source");i=null===(a=e.querySelector("source"))||void 0===a?void 0:a.src,s.append(o)}else if(e instanceof SVGSVGElement){let t=e.dataset.clipID,i=t+"-mv",{width:a,height:o}=m,n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttributeNS(null,"width",""+a),n.setAttributeNS(null,"height",""+o),n.insertAdjacentHTML("beforeend",e.firstElementChild.outerHTML.replace(t,i)),n.insertAdjacentHTML("beforeend",e.lastElementChild.outerHTML.replace(t,i));let r=n.firstElementChild,l=r.firstElementChild.firstElementChild;if(l instanceof SVGUseElement){let e,t=l.getAttributeNS(null,"transform");t=t.replace(/translate\((.+?), (.+?)\) scale\((.+?), (.+?)\)/,(e,t,i,s,n)=>`translate(${t=2!=(t=+t)?a-2/f:2/f}, ${o}) scale(${+s/f}, ${+n/b})`),l.setAttributeNS(null,"transform",t),v=r.firstElementChild.lastElementChild;let i=y.split(" ").map(e=>parseInt(e));e=x?u.generatePathData(0,0,a-9/f,o,...i):u.generatePathData(9/f,0,a-9/f,o,...i),v.setAttributeNS(null,"d",e)}let d=n.lastElementChild;d.setAttributeNS(null,"width",""+m.width),d.setAttributeNS(null,"height",""+m.height),s.prepend(n)}p&&(p.style.borderRadius=y,p.append(t)),t=s.querySelector("video, img"),t instanceof HTMLImageElement?yield new Promise((e,s)=>{t.addEventListener("load",e),i&&(t.src=i)}):t instanceof HTMLVideoElement&&t.firstElementChild&&(t.firstElementChild.src||i)&&(yield new Promise((e,s)=>{t.addEventListener("loadeddata",e),i&&(t.firstElementChild.src=i)})),s.style.display="",window.requestAnimationFrame(()=>{s.classList.add(l?"moving":"active")})}yield new Promise(e=>window.requestAnimationFrame(e)),s.style.transform=`translate(${m.left}px,${m.top}px) scale(1,1)`,p&&this.setFullAspect(p,m,r),setTimeout(()=>{s.style.borderRadius="",s.firstElementChild&&(s.firstElementChild.style.borderRadius="")},d/2),s.dataset.timeout=""+setTimeout(()=>{s.classList.remove("moving"),p&&(s.querySelector("video")&&(s.classList.remove("active"),p.style.cssText="",s.offsetLeft),p.classList.remove("disable-hover")),s.classList.add("active"),delete s.dataset.timeout},d),v&&this.sizeTailPath(v,m,f,d,!0,x,y)}))}setFullAspect(e,t,i){let s,a=e.firstElementChild;a instanceof HTMLImageElement?s=a.naturalWidth/a.naturalHeight:a instanceof HTMLVideoElement&&(s=a.videoWidth/a.videoHeight);let{width:o,height:n}=i;s>0?o=n*s:n=o*s,e.style.cssText=`width: ${o}px; height: ${n}px; transform: scale(${t.width/o}, ${t.height/n});`}sizeTailPath(e,t,i,s,a,o,n){let r=Date.now(),{width:l,height:d}=t;s/=2;let c=n.split(" ").map(e=>parseInt(e)),h=()=>{let t=Date.now()-r,n=t/s;n>1&&(n=1),a&&(n=1-n);let p,m=c.map(e=>e*n);p=o?u.generatePathData(0,0,l-9/i*n,d,...m):u.generatePathData(9/i*n,0,l,d,...m),e.setAttributeNS(null,"d",p),t{let o=+a.slice(0,-2);return o=t?-s.width:i,e.replace(a,o+"px")});e.style.transform=a,setTimeout(()=>{e.remove()},350)}setNewMover(){let e=document.createElement("div");if(e.classList.add("media-viewer-mover"),this.content.mover){this.content.mover.parentElement.append(e)}else this.wholeDiv.append(e);return e.addEventListener("click",this.onClickBinded),this.content.mover=e}isElementVisible(e,t){let i=e.getBoundingClientRect(),s=t.getBoundingClientRect();return s.bottom>i.top&&s.top{if(this.peerID!=a)return void this.log.warn("peer changed");this.log("loaded more media by maxID:",s,t,e,this.reverse),t.history.length<50&&(e?this.loadedAllMediaDown=!0:this.loadedAllMediaUp=!0),(e?t.history.forEach:t.history.forEachReverse).call(t.history,t=>{let i=r.default.getMessage(t).media;if(!i||!(i.photo||i.document||i.webpage&&i.webpage.document))return;if("document"==i._&&"video"!=i.type)return;let s={element:null,mid:t};e?this.reverse?this.prevTargets.unshift(s):this.nextTargets.push(s):this.reverse?this.nextTargets.push(s):this.prevTargets.unshift(s)}),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none"},()=>{}).then(()=>{e?this.loadMediaPromiseDown=null:this.loadMediaPromiseUp=null});return e?this.loadMediaPromiseDown=o:this.loadMediaPromiseUp=o,o}updateMediaSource(e,t,i){let s=e.querySelector(i);m.renderImageFromUrl(s,t)}openMedia(e,t,i=!1,s,a=[],r=[],d=!0){if(this.setMoverPromise)return this.setMoverPromise;this.log("openMedia doc:",e);const c=e.media.photo||e.media.document||e.media.webpage.document||e.media.webpage.photo,g="video/mp4"==c.mime_type,f=!this.peerID;f&&(this.peerID=u.$rootScope.selectedPeerID,this.targetContainer=s,this.prevTargets=a,this.nextTargets=r,this.reverse=i,this.needLoadMore=d);let b=0;f||(b=this.reverse?this.currentMessageIDe.mid?1:-1),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none";const v=this.content.container;!t&&(t=v),this.currentMessageID=e.mid,this.lastTarget=t,this.needLoadMore&&(this.nextTargets.length<20&&this.loadMoreMedia(!this.reverse),this.prevTargets.length<20&&this.loadMoreMedia(this.reverse)),v.firstElementChild&&(v.innerHTML="");const y=new Date(1e3*c.date),w=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][y.getMonth()]+" "+y.getDate()+" at "+y.getHours()+":"+("0"+y.getMinutes()).slice(-2);this.author.date.innerText=w;const x=o.default.getPeerTitle(e.fromID);this.author.nameEl.innerHTML=x,e.message?this.content.caption.innerHTML=l.RichTextProcessor.wrapRichText(e.message,{entities:e.totalEntities}):this.content.caption.innerHTML="";let _=this.author.avatarEl;this.author.avatarEl=this.author.avatarEl.cloneNode(),this.author.avatarEl.setAttribute("peer",""+e.fromID),_.parentElement.replaceChild(this.author.avatarEl,_),0!==b?(this.moveTheMover(this.content.mover,1===b),this.setNewMover()):(window.addEventListener("keydown",this.onKeyDownBinded),this.wholeDiv.classList.add("active"));const k=this.content.mover,M=this.pageEl.scrollWidth-16,D=n.default.windowH-100,S=n.default.setAttachmentSize(g?c:c.id,v,M,D);let E;return E=g?this.setMoverToTarget(t,!1,b).then(()=>{let i=k.querySelector("video")||document.createElement("video"),s=i.firstElementChild||document.createElement("source");"gif"==c.type&&(i.autoplay=!0,i.loop=!0);let a=()=>{if("gif"!=c.type){i.dataset.ckin="default",i.dataset.overlay="1";new p.default(i,!0)}else i.play()};if(s&&s.src)a();else{let o=()=>{let o=h.default.downloadDoc(c);return this.preloader.attach(k,!0,o),o.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed video");let o=c.url;if(t instanceof SVGSVGElement)this.updateMediaSource(k,o,"source"),this.updateMediaSource(t,o,"source");else{let e=k.firstElementChild&&k.firstElementChild.classList.contains("media-viewer-aspecter")?k.firstElementChild:k,t=e.firstElementChild;t instanceof HTMLImageElement&&t.remove(),m.renderImageFromUrl(s,o),s.type=c.mime_type,s.parentElement||i.append(s),i.parentElement||e.prepend(i)}a()}),o};this.lazyLoadQueue.unshift({div:null,load:o,wasSeen:!0})}}):this.setMoverToTarget(t,!1,b).then(()=>{this.lazyLoadQueue.unshift({div:null,load:()=>{let i=n.default.preloadPhoto(c.id,S);return this.preloader.attach(k,!0,i),i.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed photo");let i=c.url;if(t instanceof SVGSVGElement)this.updateMediaSource(t,i,"img"),this.updateMediaSource(k,i,"img");else{let e=k.firstElementChild&&k.firstElementChild.classList.contains("media-viewer-aspecter")?k.firstElementChild:k,t=e.firstElementChild;t&&"IMG"==t.tagName||(t=new Image),m.renderImageFromUrl(t,i).then(()=>{e.append(t)})}this.preloader.detach()}).catch(e=>{this.log.error(e)}),i},wasSeen:!0})}),this.setMoverPromise=E.then(()=>{this.setMoverPromise=null})}}t.AppMediaViewer=b,t.default=new b},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(36)),o=s(i(5)),n=i(2),r=i(47);t.default=new class{constructor(){this.container=document.getElementById("forward-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.sendBtn=this.container.querySelector(".btn-circle"),this.msgIDs=[],this.closeBtn.addEventListener("click",this.close.bind(this)),this.sendBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(this.msgIDs.length&&e.length){this.sendBtn.classList.remove("tgico-send"),this.sendBtn.disabled=!0,n.putPreloader(this.sendBtn),this.selector.freezed=!0;let t=()=>{let i=e.splice(0,3).map(e=>o.default.forwardMessages(e,this.msgIDs));Promise.all(i).then(()=>{if(e.length)return t();this.closeBtn.click()})};t()}})}close(){this.cleanup(),this.container.classList.remove("active")}cleanup(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e){this.cleanup(),this.msgIDs=e,this.container.classList.add("active"),this.sendBtn.innerHTML="",this.sendBtn.classList.add("tgico-send"),this.sendBtn.disabled=!1,this.selector=new r.AppSelectPeers(this.container,e=>{e?this.sendBtn.classList.add("is-visible"):this.sendBtn.classList.remove("is-visible")},"dialogs",()=>{console.log("forward rendered:",this.container.querySelector(".selector ul").childElementCount),a.default.toggleSidebar(!0)})}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(12)),n=a(i(1)),r=a(i(20)),l=a(i(11));const d=new class{constructor(){this.documents={},this.stickerSets={},o.default.get("stickerSets").then(e=>{if(e){for(let t in e){let i=e[t];this.saveStickers(i.documents)}this.stickerSets=e}this.getStickerSet({id:"emoji",access_hash:""},{overwrite:!0})})}saveSticker(e){return this.documents[e.id]?this.documents[e.id]:(e=l.default.saveDoc(e),this.documents[e.id]=e,e)}saveStickers(e){e.forEach((t,i)=>{e[i]=this.saveSticker(t)})}getSticker(e){return this.documents[e]}getStickerSet(e,t={}){return s(this,void 0,void 0,(function*(){if(this.stickerSets[e.id]&&!t.overwrite)return this.stickerSets[e.id];let i=n.default.invokeApi("messages.getStickerSet",{stickerset:"emoji"==e.id?{_:"inputStickerSetAnimatedEmoji"}:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}),s=yield i;return this.saveStickerSet(s,e.id),s}))}getRecentStickers(){return s(this,void 0,void 0,(function*(){let e=yield n.default.invokeApi("messages.getRecentStickers",{flags:0,hash:0});return this.saveStickers(e.stickers),e}))}getAnimatedEmojiSticker(e){let t=this.stickerSets.emoji;return e=e.replace(/\ufe0f/g,"").replace(/🏻|🏼|🏽|🏾|🏿/g,""),t.documents.find(t=>t.stickerEmojiRaw==e)}saveStickerSet(e,t){this.stickerSets[t]={set:e.set,packs:e.packs,documents:e.documents},this.saveStickers(e.documents),this.saveSetsTimeout||(this.saveSetsTimeout=setTimeout(()=>{o.default.set({stickerSets:this.stickerSets}),this.saveSetsTimeout=0},0))}getStickerSetThumb(e){var t;let i=e.thumb,s=e.thumb_dc_id,a=null===(t=e.pFlags)||void 0===t?void 0:t.animated;return r.default.downloadFile(s,{_:"inputStickerSetThumb",stickerset:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash},volume_id:i.location.volume_id,local_id:i.location.local_id},i.size,{stickerType:a?2:1,mimeType:a?"application/x-tgsticker":"image/webp"})}cleanup(){return s(this,void 0,void 0,(function*(){yield o.default.remove("stickerSets")}))}};window.appStickersManager=d,t.default=d},,,function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=new class{constructor(){this.webpMachine=null,this.queue=[],this.testPromise=null,this.webpSupport=!1,this.testWebpSupport()}loadWebpHero(){if(this.loaded)return this.loaded;this.loaded=new Promise((e,t)=>s(this,void 0,void 0,(function*(){if(yield this.testWebpSupport())e();else{window.webpLoaded=()=>{console.log("webpHero loaded"),this.webpMachine=new window.WebpMachine,e()};let t=document.createElement("script");t.src="npm.webp-hero.chunk.js",t.async=!0,t.onload=window.webpLoaded,document.body.appendChild(t)}})))}convert(e){return this.webpMachine.decode(e)}processQueue(){return s(this,void 0,void 0,(function*(){if(this.busyPromise)return;this.busyPromise=Promise.resolve();let{bytes:e,callback:t}=this.queue.pop();this.loaded||this.loadWebpHero(),yield this.loaded,this.busyPromise=this.convert(e);let i=yield this.busyPromise;console.log("converted webp",i),t(i),this.busyPromise=null,this.queue.length&&this.processQueue()}))}testWebpSupport(){return this.testPromise?this.testPromise:this.testPromise=new Promise((e,t)=>{let i=new Image;i.src="data:image/webp;base64,UklGRi4AAABXRUJQVlA4TCEAAAAvAUAAEB8wAiMwAgSSNtse/cXjxyCCmrYNWPwmHRH9jwMA",i.onload=i.onerror=()=>{e(this.webpSupport=2===i.height)}})}isSupported(){return this.webpSupport}convertToPng(e){return console.warn("convertToPng!"),new Promise((t,i)=>{this.queue.push({bytes:e,callback:t}),this.processQueue()})}};window.appWebpManager=a,t.default=a},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=s(i(8)),n=s(i(11)),r=i(3);t.default=new class{constructor(){this.webpages={},this.pendingWebPages={},a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateWebPage":this.saveWebPage(t.webpage)}})}saveWebPage(e,t,i){e.photo&&"photo"===e.photo._?e.photo=o.default.savePhoto(e.photo,i):delete e.photo,e.document&&"document"===e.document._?e.document=n.default.saveDoc(e.document,i):("document"==e.type&&delete e.type,delete e.document);var s=e.site_name,l=e.title||e.author||s||"";s&&l==s&&delete e.site_name,l.length>100&&(l=l.substr(0,80)+"..."),e.rTitle=r.RichTextProcessor.wrapRichText(l,{noLinks:!0,noLinebreaks:!0});var d="";if("GitHub"==s){var c=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);c&&(d=c[0]+"/issues/{1}")}var u=e.description||"";if(u.length>180&&(u=u.substr(0,150).replace(/(\n|\s)+$/,"")+"..."),e.rDescription=r.RichTextProcessor.wrapRichText(u,{contextSite:s||"external",contextHashtag:d}),"photo"!=e.type&&"video"!=e.type&&"gif"!=e.type&&"document"!=e.type&&!e.description&&e.photo&&(e.type="photo"),t&&(void 0===this.pendingWebPages[e.id]&&(this.pendingWebPages[e.id]={}),this.pendingWebPages[e.id][t]=!0,this.webpages[e.id]=e),void 0===this.webpages[e.id]?this.webpages[e.id]=e:a.safeReplaceObject(this.webpages[e.id],e),!t&&void 0!==this.pendingWebPages[e.id]){var h=[];for(let t in this.pendingWebPages[e.id])h.push(t);a.$rootScope.$broadcast("webpage_updated",{id:e.id,msgs:h})}}getWebPage(e){return this.webpages[e]}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(3),o=s(i(5)),n=s(i(7)),r=s(i(1)),l=s(i(19)),d=i(0);const c=new class{constructor(){this.polls={},this.results={},d.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)})}handleUpdate(e){switch(e._){case"updateMessagePoll":{console.log("updateMessagePoll:",e);let t=this.polls[e.poll_id]||e.poll;if(!t)break;t=this.savePoll(t,e.results),d.$rootScope.$broadcast("poll_update",{poll:t,results:e.results});break}}}savePoll(e,t){let i=e.id;return this.polls[i]?(e=this.polls[i],this.saveResults(e,t),e):(this.polls[i]=e,e.rQuestion=a.RichTextProcessor.wrapEmojiText(e.question),e.rReply=a.RichTextProcessor.wrapEmojiText("📊")+" "+(e.rQuestion||"poll"),this.saveResults(e,t),e)}saveResults(e,t){var i;this.results[e.id]=t,e.chosenIndex=null!==(i=t&&t.results&&t.results.findIndex(e=>{var t;return null===(t=e.pFlags)||void 0===t?void 0:t.chosen}))&&void 0!==i?i:-1}getPoll(e){return{poll:this.polls[e],results:this.results[e]}}sendVote(e,t){let i=o.default.getMessage(e),s=i.media.poll,a=t.map(e=>s.answers[e].option),d=n.default.getInputPeerByID(i.peerID),c=i.id;return r.default.invokeApi("messages.sendVote",{peer:d,msg_id:c,options:a}).then(e=>{console.log("appPollsManager sendVote updates:",e),l.default.processUpdateMessage(e)})}};window.appPollsManager=c,t.default=c},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(29)),o=i(2);class n{constructor(e){this.element=document.createElement("div"),this.container=document.createElement("div"),this.header=document.createElement("div"),this.title=document.createElement("div"),this.element.classList.add("popup"),this.element.className="popup"+(e?" "+e:""),this.container.classList.add("popup-container","z-depth-1"),this.header.classList.add("popup-header"),this.title.classList.add("popup-title"),this.header.append(this.title),this.container.append(this.header),this.element.append(this.container)}show(){document.body.append(this.element),this.element.offsetWidth,this.element.classList.add("active")}destroy(){this.element.classList.remove("active"),setTimeout(()=>{this.element.remove()},1e3)}}t.PopupElement=n;t.PopupPeer=class extends n{constructor(e,t={}){super("popup-peer"+(e?" "+e:"")),this.className=e;let i=new a.default;i.setAttribute("dialog","1"),i.setAttribute("peer",""+t.peerID),i.classList.add("peer-avatar"),this.title.innerText=t.title||"",this.header.prepend(i);let s=document.createElement("p");s.classList.add("popup-description"),s.innerHTML=t.description;let n=document.createElement("div");n.classList.add("popup-buttons");let r=t.buttons.map(e=>{let t=document.createElement("button");return o.ripple(t),t.className="btn"+(e.isDanger?" danger":""),t.innerHTML=e.text,e.callback?t.addEventListener("click",()=>{e.callback(),this.destroy()}):e.isCancel&&t.addEventListener("click",()=>{this.destroy()}),t});n.append(...r),this.container.append(s,n)}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class s{constructor(e){this.media=e,this.duration=0,this.container=document.createElement("div"),this.container.classList.add("media-progress"),this.filled=document.createElement("div"),this.filled.classList.add("media-progress__filled");let t=this.seek=document.createElement("input");t.classList.add("media-progress__seek"),t.value="0",t.setAttribute("min","0"),t.setAttribute("max","0"),t.type="range",t.step="0.1",this.setSeekMax(),this.setListeners(),this.container.append(this.filled,t)}setSeekMax(){let e=this.seek;this.duration=this.media.duration,this.duration>0?e.setAttribute("max",""+1e3*this.duration):this.media.addEventListener("loadeddata",()=>{this.duration=this.media.duration,e.setAttribute("max",""+1e3*this.duration)})}setProgress(){let e=this.media.currentTime,t=e/this.duration;this.filled.style.transform="scaleX("+t+")",this.seek.value=""+1e3*e}setListeners(){let e=!1,t=0;this.media.addEventListener("ended",()=>{this.setProgress()}),this.media.addEventListener("play",()=>{let e=()=>{this.setProgress(),!this.media.paused&&window.requestAnimationFrame(e)};window.requestAnimationFrame(e)}),this.container.addEventListener("mousemove",t=>{e&&this.scrub(t)}),this.container.addEventListener("mousedown",i=>{this.scrub(i),t=setTimeout(()=>{!this.media.paused&&this.media.pause(),t=0},150),e=!0}),this.container.addEventListener("mouseup",()=>{t&&clearTimeout(t),this.media.paused&&this.media.play(),e=!1})}scrub(e){let t=e.offsetX/this.container.offsetWidth*this.duration;this.media.currentTime=t;let i=t/this.duration;i>1&&(i=1),i<0&&(i=0),this.filled.style.transform="scaleX("+i+")"}}t.MediaProgressLine=s;t.default=class{constructor(e,t=!1){var i;if(this.video=e,this.wrapper=document.createElement("div"),this.wrapper.classList.add("ckin__player"),e.parentNode.insertBefore(this.wrapper,e),this.wrapper.appendChild(e),this.skin=null!==(i=e.dataset.ckin)&&void 0!==i?i:"default",this.stylePlayer(),"default"==this.skin){let t=this.wrapper.querySelector(".default__controls.ckin__controls");this.progress=new s(e),t.prepend(this.progress.container)}t&&this.wrapper.querySelector(".toggle").click()}stylePlayer(){let e=this.wrapper,t=this.video,i=this.skin;e.classList.add(i);let s=this.buildControls();e.insertAdjacentHTML("beforeend",s);let a=0,o=0,n=0;if("default"===i){var r=e.querySelectorAll(".toggle"),l=e.querySelector(".fullscreen"),d=e.querySelector("#time-elapsed");(p=e.querySelector("#time-duration")).innerHTML=String(0|t.duration).toHHMMSS(),Array.from(r).forEach(e=>e.addEventListener("click",()=>{this.togglePlay()})),t.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{this.updateButton(r)}),t.addEventListener("pause",()=>{this.updateButton(r),clearInterval(a)}),t.addEventListener("dblclick",()=>this.toggleFullScreen(l)),l.addEventListener("click",e=>this.toggleFullScreen(l));let i=()=>this.onFullScreen();"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange".split(" ").forEach(t=>{e.addEventListener(t,i,!1)})}if("circle"===i){let i=document.createElement("div");i.classList.add("circle-time-left"),t.parentNode.insertBefore(i,t),i.innerHTML='
';var c=e.querySelector(".progress-ring__circle"),u=c.r.baseVal.value,h=2*Math.PI*u,p=e.querySelector(".circle-time"),m=e.querySelector(".iconVolume");c.style.strokeDasharray=h+" "+h,c.style.strokeDashoffset=""+h,c.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{m.style.display="none",a=setInterval(()=>{t.currentTime!=n&&(o=t.currentTime,n=t.currentTime);let e=h-o/t.duration*h;c.style.strokeDashoffset=""+e,t.paused&&clearInterval(a)},20)}),t.addEventListener("pause",()=>{m.style.display=""})}t.duration>0?p.innerHTML=String(Math.round(t.duration)).toHHMMSS():t.addEventListener("loadeddata",()=>{p.innerHTML=String(Math.round(t.duration)).toHHMMSS()}),t.addEventListener("timeupdate",()=>{"default"==i&&(d.innerHTML=String(0|t.currentTime).toHHMMSS()),a=this.handleProgress(p,h,c,a)})}togglePlay(e){return e?(this.video.pause(),void this.wrapper.classList.remove("is-playing")):!1===e?(this.video.play(),void this.wrapper.classList.add("is-playing")):(this.video[this.video.paused?"play":"pause"](),void(this.video.paused?this.wrapper.classList.remove("is-playing"):this.wrapper.classList.add("is-playing")))}handleProgress(e,t,i,s){let a=this.video,o=this.skin;clearInterval(s);let n=0,r=0;if("circle"===o){s=setInterval(()=>{a.currentTime!=r&&(n=a.currentTime,r=a.currentTime);let e=t-n/a.duration*t;i.style.strokeDashoffset=""+e,a.paused&&clearInterval(s)},20);let o=String(a.duration-a.currentTime|0).toHHMMSS();return"0"!=o&&(e.innerHTML=o),s}}buildControls(){let e=this.skin,t=[];return"default"===e?(t.push(''),t.push('
'),t.push('
'),t.push('
','
','
',''," / ",'',"
","
",'
'),t.push("
")):"circle"===e&&t.push('','',""),t.join("")}updateButton(e){let t=this.video.paused?"tgico-play":"tgico-pause";Array.from(e).forEach(e=>{e.classList.remove("tgico-play","tgico-pause"),e.classList.add(t)})}toggleFullScreen(e){let t=this.wrapper;document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?(t.classList.remove("ckin__fullscreen"),document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen(),e.classList.remove("tgico-smallscreen"),e.classList.add("tgico-fullscreen"),e.setAttribute("title","Full Screen")):(t.classList.add("ckin__fullscreen"),t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen(),e.classList.remove("tgico-fullscreen"),e.classList.add("tgico-smallscreen"),e.setAttribute("title","Exit Full Screen"))}onFullScreen(){null!==document.webkitFullscreenElement||this.wrapper.classList.remove("ckin__fullscreen")}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(9)),n=a(i(5)),r=i(0),l=a(i(25)),d=a(i(6)),c=a(i(4)),u=i(31),h=a(i(8));t.AppSelectPeers=class{constructor(e,t,i="dialogs",s){this.appendTo=e,this.onChange=t,this.peerType=i,this.container=document.createElement("div"),this.list=document.createElement("ul"),this.chatsContainer=document.createElement("div"),this.selectedContainer=document.createElement("div"),this.input=document.createElement("input"),this.selected={},this.freezed=!1,this.myID=r.$rootScope.myID,this.offsetIndex=0,this.query="",this.container.classList.add("selector");let a=document.createElement("div");a.classList.add("selector-search-container"),this.selectedContainer.classList.add("selector-search"),this.input.placeholder="contacts"==i?"Add People...":"Select chat",this.input.type="text",this.selectedContainer.append(this.input),a.append(this.selectedContainer),this.selectedScrollable=new o.default(a);let n=document.createElement("hr");this.chatsContainer.classList.add("chats-container"),this.chatsContainer.append(this.list),this.scrollable=new o.default(this.chatsContainer),this.scrollable.setVirtualContainer(this.list),this.list.addEventListener("click",e=>{let t=e.target;if(r.cancelEvent(e),this.freezed)return;if("LI"!=t.tagName&&(t=r.findUpTag(t,"LI")),!t)return;let i=+t.getAttribute("data-peerID");t.classList.toggle("active"),i in this.selected?this.remove(i):this.add(i);let s=t.querySelector("input");s.checked=!s.checked}),this.selectedContainer.addEventListener("click",e=>{if(this.freezed)return;let t=e.target;if(t=r.findUpClassName(t,"selector-user"),!t)return;let i=t.dataset.peerID;this.list.querySelector('[data-peerid="'+i+'"]').click()}),this.input.addEventListener("input",()=>{let e=this.input.value;this.query!=e&&("contacts"==this.peerType?this.cachedContacts=null:this.offsetIndex=0,this.promise=null,this.list.innerHTML="",this.query=e,console.log("selectPeers input:",this.query),this.getMoreResults())}),this.scrollable.onScrolledBottom=()=>{this.getMoreResults()},this.container.append(a,n,this.chatsContainer),e.append(this.container);let l=this.getMoreResults();s&&l.then(()=>{s()})}getMoreDialogs(){return s(this,void 0,void 0,(function*(){if(this.promise)return this.promise;const e=h.default.windowH/72*1.25|0;this.promise=n.default.getConversations(this.query,this.offsetIndex,e,0);let t=(yield this.promise).dialogs;if(!t.length)return;const i=t[t.length-1].index||0;t=t.filter(e=>e.peerID!=this.myID),this.offsetIndex||t.unshift({peerID:this.myID,pFlags:{}}),this.offsetIndex=i,this.renderResults(t.map(e=>e.peerID)),this.promise=null}))}getMoreContacts(){return s(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(this.cachedContacts||(this.promise=c.default.getContacts(this.query),this.cachedContacts=(yield this.promise).slice(),this.cachedContacts.findAndSplice(e=>e==this.myID),this.promise=null),this.cachedContacts.length){const e=h.default.windowH/72*1.25|0,t=this.cachedContacts.splice(0,e);this.renderResults(t)}}))}getMoreResults(){return"dialogs"==this.peerType?this.getMoreDialogs():this.getMoreContacts()}renderResults(e){console.log("will renderResults:",e),e.forEach(e=>{const{dom:t}=l.default.addDialog(e,this.scrollable,!1,!1);t.containerEl.insertAdjacentHTML("afterbegin",'
');let i="";e<0?i=d.default.getChatMembersString(-e):e==this.myID?i="chat with yourself":(i=c.default.getUserStatusString(e),"online"==i&&(i=`${i}`)),t.lastMessageSpan.innerHTML=i})}add(e){const t=document.createElement("div");t.classList.add("selector-user","scale-in"),t.dataset.peerID=""+e,this.selected[e]=t;const i=u.appPeersManager.getPeerTitle(e,!1,!0),s=document.createElement("avatar-element");s.classList.add("selector-user-avatar","tgico"),s.setAttribute("dialog","1"),s.setAttribute("peer",""+e),t.innerHTML=i,t.insertAdjacentElement("afterbegin",s),this.selectedContainer.insertBefore(t,this.input),this.selectedScrollable.scrollTop=this.selectedScrollable.scrollHeight,this.onChange&&this.onChange(Object.keys(this.selected).length)}remove(e){const t=this.selected[e];t.classList.remove("scale-in"),t.offsetWidth,t.classList.add("scale-out"),t.addEventListener("animationend",()=>{delete this.selected[e],t.remove(),this.onChange&&this.onChange(Object.keys(this.selected).length)},{once:!0})}getSelected(){return Object.keys(this.selected).map(e=>+e)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=s(i(25)),n=i(0),r=s(i(15)),l=s(i(1)),d=a(i(49)),c=i(2),u=s(i(4)),h=s(i(9)),p=s(i(8)),m=i(31),g=s(i(50)),f=s(i(6)),b=i(47),v=s(i(29)),y=s(i(16));v.default;const w=1,x=2,_=3,k=4,M=5,D=6,S=7;class E{constructor(){this.container=document.querySelector(".addmembers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.nextBtn=this.contentDiv.querySelector(".btn-corner"),this.nextBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(e.length){if(this.takeOut)return void this.takeOut(e);this.nextBtn.classList.remove("tgico-next"),this.nextBtn.disabled=!0,c.putPreloader(this.nextBtn),this.selector.freezed=!0,f.default.inviteToChannel(this.peerID,e).then(()=>{this.backBtn.click()})}})}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e,t,i,s){this.peerID=Math.abs(e),this.peerType=t,this.takeOut=s,this.onCloseAfterTimeout(),this.selector=new b.AppSelectPeers(this.contentDiv,i?null:e=>{e?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")},"contacts"),this.nextBtn.innerHTML="",this.nextBtn.disabled=!1,this.nextBtn.classList.add("tgico-next"),i?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible"),T.selectTab(k)}}class I{constructor(){this.container=document.querySelector(".new-channel-container"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.channelNameInput=this.container.querySelector(".new-channel-name"),this.channelDescriptionInput=this.container.querySelector(".new-channel-description"),this.nextBtn=this.container.querySelector(".btn-corner"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.channelNameInput.addEventListener("input",()=>{this.channelNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.channelNameInput.value,t=this.channelDescriptionInput.value;this.nextBtn.disabled=!0,f.default.createChannel(e,t).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),T.removeTabFromHistory(_),T.addMembersTab.init(e,"channel",!0)})})}onCloseAfterTimeout(){this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.channelNameInput.value="",this.channelDescriptionInput.value="",this.nextBtn.disabled=!1}}class X{constructor(){this.container=document.querySelector(".new-group-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.groupNameInput=this.container.querySelector(".new-group-name"),this.nextBtn=this.container.querySelector(".btn-corner"),this.searchGroup=new d.SearchGroup("","contacts",!0,"new-group-members disable-hover",!1),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.groupNameInput.addEventListener("input",()=>{this.groupNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.groupNameInput.value;this.nextBtn.disabled=!0,f.default.createChat(e,this.userIDs).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),T.selectTab(0)})});let e=document.createElement("div");e.classList.add("chats-container"),e.append(this.searchGroup.container);new h.default(e);this.contentDiv.append(e)}onClose(){}onCloseAfterTimeout(){this.searchGroup.clear(),this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.groupNameInput.value="",this.nextBtn.disabled=!1}init(e){this.userIDs=e,T.selectTab(M),this.userIDs.forEach(e=>{let{dom:t}=o.default.addDialog(e,this.searchGroup.list,!1,!1),i="";i=u.default.getUserStatusString(e),"online"==i&&(i=`${i}`),i&&(t.lastMessageSpan.innerHTML=i)}),this.searchGroup.nameEl.innerText=this.userIDs.length+" members",this.searchGroup.setActive()}}class P{constructor(){this.container=document.getElementById("contacts-container"),this.list=this.container.querySelector("#contacts"),this.input=this.container.querySelector("#contacts-search"),o.default.setListClickListener(this.list),this.scrollable=new h.default(this.list.parentElement);let e="";this.input.addEventListener("input",()=>{let t=this.input.value;e!=t&&(this.list.innerHTML="",this.openContacts(e=t))}),u.default.getContacts()}onClose(){let e=p.default.windowH/72*1.25|0;Array.from(this.list.children).slice(e).forEach(e=>e.remove())}onCloseAfterTimeout(){this.list.innerHTML="",this.input.value=""}openContacts(e){if(-1===T.historyTabIDs.indexOf(x)&&T.selectTab(x),this.promise)return this.promise;this.scrollable.onScrolledBottom=null,this.promise=u.default.getContacts(e).then(e=>{if(this.promise=null,T.historyTabIDs[T.historyTabIDs.length-1]!=x)return void console.warn("user closed contacts before it's loaded");(e=e.slice()).findAndSplice(e=>e==n.$rootScope.myID);let t=e.map(e=>{let t=u.default.getUser(e);return{user:t,status:u.default.getUserStatusForSort(t.status)}}).sort((e,t)=>t.status-e.status),i=()=>{let e=p.default.windowH/72*1.25|0;t.splice(0,e).forEach(({user:e})=>{let{dialog:t,dom:i}=o.default.addDialog(e.id,this.list,!1),s=u.default.getUserStatusString(e.id);i.lastMessageSpan.innerHTML="online"==s?`${s}`:s}),t.length||(i=void 0)};i(),this.scrollable.onScrolledBottom=()=>{i?i():this.scrollable.onScrolledBottom=null}})}}class L{constructor(){this.container=document.querySelector(".settings-container"),this.avatarElem=this.container.querySelector(".profile-avatar"),this.nameDiv=this.container.querySelector(".profile-name"),this.phoneDiv=this.container.querySelector(".profile-subtitle"),this.logOutBtn=this.container.querySelector(".menu-logout"),this.buttons={},c.parseMenuButtonsTo(this.buttons,this.container.querySelector(".profile-buttons").children),n.$rootScope.$on("user_auth",e=>{this.fillElements()}),this.logOutBtn.addEventListener("click",e=>{l.default.logOut()}),this.buttons.edit.addEventListener("click",()=>{T.selectTab(S),T.editProfileTab.fillElements()})}fillElements(){let e=u.default.getSelf();this.avatarElem.setAttribute("peer",""+e.id),this.nameDiv.innerHTML=e.rFullName||"",this.phoneDiv.innerHTML=e.rPhone||""}onClose(){}}class C{constructor(){this.container=document.querySelector(".edit-profile-container"),this.scrollWrapper=this.container.querySelector(".scroll-wrapper"),this.nextBtn=this.container.querySelector(".btn-corner"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.uploadAvatar=null,this.firstNameInput=this.container.querySelector(".firstname"),this.lastNameInput=this.container.querySelector(".lastname"),this.bioInput=this.container.querySelector(".bio"),this.userNameInput=this.container.querySelector(".username"),this.avatarElem=document.createElement("avatar-element"),this.profileUrlContainer=this.container.querySelector(".profile-url-container"),this.profileUrlAnchor=this.profileUrlContainer.lastElementChild,this.originalValues={firstName:"",lastName:"",userName:"",bio:""},this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e,this.handleChange(),this.avatarElem.remove()})}),this.avatarElem.classList.add("avatar-placeholder");let e=this.userNameInput.nextElementSibling;this.firstNameInput.addEventListener("input",()=>this.handleChange()),this.lastNameInput.addEventListener("input",()=>this.handleChange()),this.bioInput.addEventListener("input",()=>this.handleChange()),this.userNameInput.addEventListener("input",()=>{let t=this.userNameInput.value;return console.log("userNameInput:",t),t!=this.originalValues.userName&&t.length?(this.isUsernameValid(t)?this.userNameInput.classList.remove("valid","error"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"),this.userNameInput.classList.contains("error")?(this.setProfileUrl(),void this.handleChange()):void l.default.invokeApi("account.checkUsername",{username:t}).then(i=>{this.userNameInput.value==t&&(i?(this.userNameInput.classList.add("valid"),this.userNameInput.classList.remove("error"),e.innerText="Username is available"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is already taken"))},i=>{if(this.userNameInput.value==t)switch(i.type){case"USERNAME_INVALID":this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"}}).then(()=>{this.handleChange(),this.setProfileUrl()})):(this.userNameInput.classList.remove("valid","error"),e.innerText="Username (optional)",this.setProfileUrl(),void this.handleChange())}),this.nextBtn.addEventListener("click",()=>{this.nextBtn.disabled=!0;let e=[];e.push(y.default.updateProfile(this.firstNameInput.value,this.lastNameInput.value,this.bioInput.value).then(()=>{T.selectTab(0)},e=>{console.error("updateProfile error:",e)})),this.uploadAvatar&&e.push(this.uploadAvatar().then(e=>{y.default.uploadProfilePhoto(e)})),this.userNameInput.value!=this.originalValues.userName&&this.userNameInput.classList.contains("valid")&&e.push(y.default.updateUsername(this.userNameInput.value)),Promise.race(e).then(()=>{this.nextBtn.disabled=!1},()=>{this.nextBtn.disabled=!1})});new h.default(this.scrollWrapper,"y")}fillElements(){var e,t,i;let s=u.default.getSelf();this.firstNameInput.value=this.originalValues.firstName=null!==(e=s.first_name)&&void 0!==e?e:"",this.lastNameInput.value=this.originalValues.lastName=null!==(t=s.last_name)&&void 0!==t?t:"",this.userNameInput.value=this.originalValues.userName=null!==(i=s.username)&&void 0!==i?i:"",this.userNameInput.classList.remove("valid","error"),this.userNameInput.nextElementSibling.innerHTML="Username (optional)",y.default.getProfile(s.id).then(e=>{e.rAbout&&(this.bioInput.value=this.originalValues.bio=e.rAbout)}),this.avatarElem.setAttribute("peer",""+n.$rootScope.myID),this.avatarElem.parentElement||this.canvas.parentElement.append(this.avatarElem),this.uploadAvatar=null,this.setProfileUrl()}isUsernameValid(e){return(e.length>=5&&e.length<=32||!e.length)&&/^[a-zA-Z0-9_]*$/.test(e)}isChanged(){return!!this.uploadAvatar||this.firstNameInput.value!=this.originalValues.firstName||this.lastNameInput.value!=this.originalValues.lastName||this.userNameInput.value!=this.originalValues.userName&&!this.userNameInput.classList.contains("error")||this.bioInput.value!=this.originalValues.bio}setProfileUrl(){if(this.userNameInput.classList.contains("error")||!this.userNameInput.value.length)this.profileUrlContainer.style.display="none";else{this.profileUrlContainer.style.display="";let e="https://t.me/"+this.userNameInput.value;this.profileUrlAnchor.innerText=e,this.profileUrlAnchor.href=e}}handleChange(){this.isChanged()?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}onCloseAfterTimeout(){this.nextBtn.classList.remove("is-visible")}}const T=new class{constructor(){this.sidebarEl=document.getElementById("column-left"),this.toolsBtn=this.sidebarEl.querySelector(".sidebar-tools-button"),this.backBtn=this.sidebarEl.querySelector(".sidebar-back-button"),this.searchContainer=this.sidebarEl.querySelector("#search-container"),this.searchInput=document.getElementById("global-search"),this.menuEl=this.toolsBtn.querySelector(".btn-menu"),this.buttons={},this.newBtnMenu=this.sidebarEl.querySelector("#new-menu"),this.newButtons={},this.newChannelTab=new I,this.addMembersTab=new E,this.contactsTab=new P,this.newGroupTab=new X,this.settingsTab=new L,this.editProfileTab=new C,this.tabs={[_]:this.newChannelTab,[x]:this.contactsTab,[k]:this.addMembersTab,[M]:this.newGroupTab,[D]:this.settingsTab,[S]:this.editProfileTab},this.searchGroups={contacts:new d.SearchGroup("Contacts and Chats","contacts"),globalContacts:new d.SearchGroup("Global Search","contacts"),messages:new d.SearchGroup("Global Search","messages"),people:new d.SearchGroup("People","contacts",!1,"search-group-people"),recent:new d.SearchGroup("Recent","contacts",!1,"search-group-recent")},this.globalSearch=new d.default(this.searchContainer,this.searchInput,this.searchGroups),this.historyTabIDs=[];let e=document.createElement("div");e.classList.add("search-group-scrollable"),e.append(this.searchGroups.people.list),this.searchGroups.people.container.append(e);new h.default(e,"x");c.parseMenuButtonsTo(this.buttons,this.menuEl.children),c.parseMenuButtonsTo(this.newButtons,this.newBtnMenu.firstElementChild.children),this.archivedCount=this.buttons.archived.querySelector(".archived-count"),this.buttons.saved.addEventListener("click",e=>{setTimeout(()=>{o.default.getDialogDom(r.default.myID);r.default.setPeer(r.default.myID)},0)}),this.buttons.archived.addEventListener("click",e=>{this.selectTab(w)}),this.buttons.contacts.addEventListener("click",e=>{this.contactsTab.openContacts()}),this.buttons.settings.addEventListener("click",()=>{this.settingsTab.fillElements(),this.selectTab(D)}),this.searchInput.addEventListener("focus",e=>{this.toolsBtn.classList.remove("active"),this.backBtn.classList.add("active"),this.searchContainer.classList.remove("hide"),this.searchContainer.offsetWidth,this.searchContainer.classList.add("active")}),this.backBtn.addEventListener("click",e=>{o.default.chatsArchivedContainer.classList.remove("active"),this.toolsBtn.classList.add("active"),this.backBtn.classList.remove("active"),this.searchContainer.classList.remove("active"),setTimeout(()=>{this.searchContainer.classList.add("hide"),this.globalSearch.reset(),this.searchGroups.people.setActive()},150)}),this.newButtons.channel.addEventListener("click",e=>{this.selectTab(_)}),[this.newButtons.group,this.buttons.newGroup].forEach(e=>{e.addEventListener("click",e=>{this.addMembersTab.init(0,"chat",!1,e=>{this.newGroupTab.init(e)})})}),n.$rootScope.$on("dialogs_archived_unread",e=>{this.archivedCount.innerText=""+e.detail.count}),this._selectTab=c.horizontalMenu(null,this.sidebarEl.querySelector(".sidebar-slider"),null,null,420),this._selectTab(0);let t=()=>{console.log("sidebar-close-button click:",this.historyTabIDs);let e=this.historyTabIDs.pop();this.onCloseTab(e),this._selectTab(this.historyTabIDs[this.historyTabIDs.length-1]||0)};Array.from(this.sidebarEl.querySelectorAll(".sidebar-close-button")).forEach(e=>{e.addEventListener("click",t)}),u.default.getTopPeers().then(e=>{console.log("got top categories:",e);let t=e[0];t&&t.peers&&t.peers.forEach(e=>{let t=m.appPeersManager.getPeerID(e.peer),{dialog:i,dom:s}=o.default.addDialog(t,this.searchGroups.people.list,!1,!0,!0);this.searchGroups.people.setActive()})})}selectTab(e){this.historyTabIDs.push(e),this._selectTab(e)}removeTabFromHistory(e){this.historyTabIDs.findAndSplice(t=>t==e),this.onCloseTab(e)}onCloseTab(e){let t=this.tabs[e];t&&("onClose"in t&&t.onClose(),"onCloseAfterTimeout"in t&&setTimeout(()=>{t.onCloseAfterTimeout()},420))}};window.appSidebarLeft=T,t.default=T},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(25)),o=s(i(9)),n=s(i(23)),r=s(i(4)),l=s(i(7)),d=s(i(5)),c=i(0),u=i(2),h=s(i(6));t.SearchGroup=class{constructor(e,t,i=!0,s,o=!0){this.name=e,this.type=t,this.clearable=i,this.list=document.createElement("ul"),this.container=document.createElement("div"),s&&(this.container.className=s),this.nameEl=document.createElement("div"),this.nameEl.classList.add("search-group__name"),this.nameEl.innerText=e,this.container.classList.add("search-group","search-group-"+t),this.container.append(this.nameEl,this.list),this.container.style.display="none",o&&a.default.setListClickListener(this.list)}clear(){this.container.style.display="none",this.clearable&&(this.list.innerHTML="")}setActive(){this.container.style.display=""}};t.default=class{constructor(e,t,i){this.container=e,this.searchInput=t,this.searchGroups=i,this.minMsgID=0,this.loadedCount=0,this.foundCount=0,this.offsetRate=0,this.searchPromise=null,this.searchTimeout=0,this.query="",this.listsContainer=null,this.peerID=0,this.scrollable=new o.default(this.container),this.listsContainer=this.scrollable.container;for(let e in this.searchGroups)this.listsContainer.append(this.searchGroups[e].container);this.searchInput.addEventListener("input",e=>{let t=this.searchInput.value;t.trim()&&(this.query=t,this.reset(!1),this.searchMore())}),this.scrollable.onScrolledBottom=()=>{this.query.trim()&&(this.searchTimeout||(this.searchTimeout=setTimeout(()=>{this.searchMore(),this.searchTimeout=0},0)))}}reset(e=!0){e&&(this.searchInput.value="",this.query="",this.peerID=0),this.minMsgID=0,this.loadedCount=0,this.foundCount=0,this.offsetRate=0;for(let e in this.searchGroups)this.searchGroups[e].clear();this.searchPromise=null}beginSearch(e){e&&(this.peerID=e),this.searchInput.focus()}searchMore(){if(this.searchPromise)return this.searchPromise;let e=this.query;if(!e.trim())return;if(0!=this.loadedCount&&this.loadedCount>=this.foundCount)return Promise.resolve();let t=n.default.getMessageIDInfo(this.minMsgID)[0];return this.peerID||t||r.default.searchContacts(e,20).then(t=>{if(this.searchInput.value!=e)return;let i=(t,i,s=!1)=>{t.forEach(t=>{let o=l.default.getPeerID(t),n=l.default.getPeer(o),p=d.default.getDialogByPeerID(o)[0];p||(p={peerID:o,pFlags:{},peer:n});let{dialog:m,dom:g}=a.default.addDialog(p,i.list,!1);if(s&&(n.participants_count||n.participants)){let t=new RegExp(`(${c.escapeRegExp(e)})`,"gi");g.titleSpan.innerHTML=g.titleSpan.innerHTML.replace(t,"$1"),g.lastMessageSpan.innerText=h.default.getChatMembersString(-o)}else{let e=l.default.getPeerUsername(o);if(e)e="@"+e;else{let t=r.default.getUser(o);t&&t.phone&&(e="+"+u.formatPhoneNumber(t.phone).formatted)}g.lastMessageSpan.innerHTML=""+e+""}}),t.length?i.setActive():i.clear()};i(t.my_results,this.searchGroups.contacts,!0),i(t.results,this.searchGroups.globalContacts)}),this.searchPromise=d.default.getSearch(this.peerID,e,null,t,20,this.offsetRate).then(t=>{if(this.searchPromise=null,this.searchInput.value!=e)return;let{count:i,history:s,next_rate:o}=t;s[0]==this.minMsgID&&s.shift();let n=this.searchGroups.messages;n.setActive(),s.forEach(t=>{let i=d.default.getMessage(t),s=d.default.getDialogByPeerID(i.peerID)[0];s||(s={peerID:i.peerID,pFlags:{},peer:i.to_id});let{dialog:o,dom:r}=a.default.addDialog(s,n.list,!1);a.default.setLastMessage(o,i,r,e)}),this.minMsgID=s[s.length-1],this.offsetRate=o,this.loadedCount+=s.length,this.foundCount||(this.foundCount=i)}).catch(e=>{console.error("search error",e),this.searchPromise=null})}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(76)),o=s(i(20));class n{constructor(){this.container=document.getElementById("popup-avatar"),this.input=this.container.querySelector("input"),this.cropContainer=this.container.querySelector(".crop"),this.closeBtn=this.container.querySelector(".popup-close"),this.image=new Image,this.cropper={crop:()=>{},removeHandlers:()=>{}},this.container.style.display="",this.cropContainer.append(this.image),this.input.addEventListener("change",e=>{var t=e.target.files[0];if(t){var i=new FileReader;i.onload=e=>{var t=e.target.result;this.image=new Image,this.cropContainer.append(this.image),this.image.src=t,this.image.onload=()=>{this.container.classList.remove("hide"),this.container.offsetWidth,this.container.classList.add("active"),this.cropper=a.default(this.image,this.canvas),this.input.value=""}},i.readAsDataURL(t)}},!1),this.container.querySelector(".btn-crop").addEventListener("click",()=>{this.cropper.crop(),this.closeBtn.click(),this.canvas.toBlob(e=>{this.blob=e,this.darkenCanvas(),this.resolve()},"image/jpeg",1)}),this.closeBtn.addEventListener("click",()=>{setTimeout(()=>{this.cropper.removeHandlers(),this.image&&this.image.remove(),this.container.classList.add("hide")},200)})}resolve(){this.onCrop(()=>o.default.uploadFile(this.blob))}open(e,t){this.canvas=e,this.onCrop=t,this.input.click()}darkenCanvas(){let e=this.canvas.getContext("2d");e.fillStyle="rgba(0, 0, 0, 0.3)",e.fillRect(0,0,this.canvas.width,this.canvas.height)}}t.PopupAvatar=n,t.default=new n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RectPart={None:0,Top:1,Right:2,Bottom:4,Left:8};let s=(e,t)=>e.reduce((e,t)=>e+t,t);function a(e,t,i){return ei?i:e}class o{constructor(e,t,i,a,n=t){this.sizes=e,this.maxWidth=t,this.minWidth=i,this.spacing=a,this.maxHeight=n,this.count=e.length,this.ratios=o.countRatios(e),this.proportions=o.countProportions(this.ratios),this.averageRatio=s(this.ratios,1)/this.count,this.maxSizeRatio=t/this.maxHeight}layout(){return this.count?this.count>=5||this.ratios.find(e=>e>2)?new n(this.ratios,this.averageRatio,this.maxWidth,this.minWidth,this.spacing).layout():2==this.count?this.layoutTwo():3==this.count?this.layoutThree():this.layoutFour():[]}layoutTwo(){return"ww"==this.proportions&&this.averageRatio>1.4*this.maxSizeRatio&&this.ratios[1]-this.ratios[0]<.2?this.layoutTwoTopBottom():"ww"==this.proportions||"qq"==this.proportions?this.layoutTwoLeftRightEqual():this.layoutTwoLeftRight()}layoutThree(){return console.log("layoutThree:",this),"n"==this.proportions[0]?this.layoutThreeLeftAndOther():this.layoutThreeTopAndOther()}layoutFour(){return"w"==this.proportions[0]?this.layoutFourTopAndOther():this.layoutFourLeftAndOther()}layoutTwoTopBottom(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],(this.maxHeight-this.spacing)/2)));return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Bottom|t.RectPart.Right}]}layoutTwoLeftRightEqual(){const e=(this.maxWidth-this.spacing)/2,i=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],1*this.maxHeight)));return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:e+this.spacing,y:0,width:e,height:i},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutTwoLeftRight(){const e=Math.round(1.5*this.minWidth),i=Math.min(Math.round(Math.max(.4*(this.maxWidth-this.spacing),(this.maxWidth-this.spacing)/this.ratios[0]/(1/this.ratios[0]+1/this.ratios[1]))),this.maxWidth-this.spacing-e),s=this.maxWidth-i-this.spacing,a=Math.min(this.maxHeight,Math.round(Math.min(s/this.ratios[0],i/this.ratios[1])));return[{geometry:{x:0,y:0,width:s,height:a},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:s+this.spacing,y:0,width:i,height:a},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutThreeLeftAndOther(){const e=this.maxHeight,i=Math.round(Math.min((this.maxHeight-this.spacing)/2,this.ratios[1]*(this.maxWidth-this.spacing)/(this.ratios[2]+this.ratios[1]))),s=e-i-this.spacing,a=Math.max(this.minWidth,Math.round(Math.min((this.maxWidth-this.spacing)/2,Math.min(i*this.ratios[2],s*this.ratios[1])))),o=Math.min(Math.round(e*this.ratios[0]),this.maxWidth-this.spacing-a);return[{geometry:{x:0,y:0,width:o,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:o+this.spacing,y:0,width:a,height:s},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:o+this.spacing,y:s+this.spacing,width:a,height:i},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutThreeTopAndOther(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),s=(this.maxWidth-this.spacing)/2,a=Math.min(this.maxHeight-i-this.spacing,Math.round(Math.min(s/this.ratios[1],s/this.ratios[2]))),o=e-s-this.spacing;return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:s,height:a},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:s+this.spacing,y:i+this.spacing,width:o,height:a},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutFourTopAndOther(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),s=Math.round((this.maxWidth-2*this.spacing)/(this.ratios[1]+this.ratios[2]+this.ratios[3])),a=Math.max(this.minWidth,Math.round(Math.min(.4*(this.maxWidth-2*this.spacing),s*this.ratios[1]))),o=Math.round(Math.max(Math.max(1*this.minWidth,.33*(this.maxWidth-2*this.spacing)),s*this.ratios[3])),n=e-a-o-2*this.spacing,r=Math.min(this.maxHeight-i-this.spacing,s);return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:a,height:r},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:a+this.spacing,y:i+this.spacing,width:n,height:r},sides:t.RectPart.Bottom},{geometry:{x:a+this.spacing+n+this.spacing,y:i+this.spacing,width:o,height:r},sides:t.RectPart.Right|t.RectPart.Bottom}]}layoutFourLeftAndOther(){const e=this.maxHeight,i=Math.round(Math.min(e*this.ratios[0],.6*(this.maxWidth-this.spacing))),s=Math.round((this.maxHeight-2*this.spacing)/(1/this.ratios[1]+1/this.ratios[2]+1/this.ratios[3])),a=Math.round(s/this.ratios[1]),o=Math.round(s/this.ratios[2]),n=e-a-o-2*this.spacing,r=Math.max(this.minWidth,Math.min(this.maxWidth-i-this.spacing,s));return[{geometry:{x:0,y:0,width:i,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:i+this.spacing,y:0,width:r,height:a},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:i+this.spacing,y:a+this.spacing,width:r,height:o},sides:t.RectPart.Right},{geometry:{x:i+this.spacing,y:a+o+2*this.spacing,width:r,height:n},sides:t.RectPart.Bottom|t.RectPart.Right}]}static countRatios(e){return e.map(e=>e.w/e.h)}static countProportions(e){return e.map(e=>e>1.2?"w":e<.8?"n":"q").join("")}}t.Layouter=o;class n{constructor(e,t,i,s,a,o=4*i/3){this.averageRatio=t,this.maxWidth=i,this.minWidth=s,this.spacing=a,this.maxHeight=o,this.ratios=n.cropRatios(e,t),this.count=e.length}static cropRatios(e,t){return e.map(e=>t>1.1?a(e,1,2.75):a(e,.6667,1))}layout(){let e=new Array(this.count),i=[];const a=(e,t)=>{const i=this.ratios.slice(e,e+t),a=s(i,0);return(this.maxWidth-(t-1)*this.spacing)/a},o=e=>{let t=[],s=0;for(let i of e)t.push(a(s,i)),s+=i;i.push({lineCounts:e,heights:t})};for(let e=1;e!=this.count;++e){const t=this.count-e;e>3||t>3||o([e,t])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t){const i=this.count-e-t;e>3||t>(this.averageRatio<.85?4:3)||i>3||o([e,t,i])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t)for(let i=1;i!=this.count-e-t;++i){const s=this.count-e-t-i;e>3||t>3||i>3||s>3||o([e,t,i,s])}let n=null,r=0;for(const e of i){const{heights:t,lineCounts:i}=e,a=i.length,o=s(t,0)+this.spacing*(a-1),l=Math.min(...t),d=(Math.max(...t),l{for(let e=1;e!=a;++e)if(i[e-1]>i[e])return 1.5;return 1})(),u=Math.abs(o-this.maxHeight)*d*c;(!n||u{let e,t=0,i=!1;const s=l.pageEl.querySelector("button"),d=document.getElementById("password"),c=l.pageEl.querySelector(".toggle-visible");let u=e=>{s.removeAttribute("disabled"),e.type,s.innerText=e.type};return c.addEventListener("click",(function(s){i?(this.classList.remove("tgico-eye2"),d.setAttribute("type","password"),e.setDirection(1),t=49,e.play()):(this.classList.add("tgico-eye2"),d.setAttribute("type","text"),e.setDirection(-1),t=0,e.play()),i=!i})),s.addEventListener("click",(function(t){if(!d.value.length)return void d.classList.add("error");this.setAttribute("disabled","true");let i=d.value;this.textContent="PLEASE WAIT...",o.putPreloader(this),r.default.checkPassword(i).then(t=>{switch(console.log("passwordManager response:",t),t._){case"auth.authorization":r.default.setUserAuth({id:t.user.id}),a.default.mount(),e&&e.destroy();break;default:s.removeAttribute("disabled"),s.innerText=t._}}).catch(u)})),d.addEventListener("keypress",(function(e){if(this.classList.remove("error"),"Enter"==e.key)return s.click()})),Promise.all([n.default.loadLottieWorkers(),fetch("assets/img/TwoFactorSetupMonkeyClose.tgs").then(e=>e.arrayBuffer()).then(e=>r.default.gzipUncompress(e,!0)).then(e=>n.default.loadAnimationWorker({container:l.pageEl.querySelector(".auth-image"),loop:!1,autoplay:!1,animationData:JSON.parse(e),width:166,height:166})).then(i=>{e=i,e.addListener("enterFrame",i=>{(1==e.direction&&i>=t||-1==e.direction&&i<=t)&&(e.setSpeed(1),e.pause())}),t=49,e.play()})])});t.default=l},,function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0}),i(55),i(57),i(62),document.addEventListener("DOMContentLoaded",()=>s(void 0,void 0,void 0,(function*(){let e=(yield Promise.resolve().then(()=>a(i(12)))).default,t=yield e.get("user_auth");console.log("got auth:",t),-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i)&&document.body.classList.add("is-mac","emoji-supported");let s=t.id||0;s?(yield Promise.resolve().then(()=>a(i(22)))).default.mount():(yield Promise.resolve().then(()=>a(i(35)))).default.mount();let o=yield Promise.resolve().then(()=>a(i(0)));o.$rootScope.myID=s;let n=o.findUpClassName;Array.from(document.body.getElementsByClassName("popup-close")).forEach(e=>{let t=n(e,"popup");e.addEventListener("click",()=>{t.classList.remove("active")})});let r=(yield Promise.resolve().then(()=>a(i(2)))).ripple;Array.from(document.getElementsByClassName("rp")).forEach(e=>r(e))})))},function(e,t,i){var s=i(33),a=i(56);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){(t=i(34)(!1)).push([e.i,'/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:flex;align-items:center}.z-depth-0{box-shadow:none !important}.z-depth-1{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half{box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5{box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hide{display:none !important}.no-select{user-select:none}.center-align{text-align:center}a{text-decoration:none}html{line-height:1.5;font-weight:normal}h1,h2,h3,h4,h5,h6{line-height:1.3}em{font-style:italic}strong{font-weight:500}small{font-size:75%}\n',""]),e.exports=t},function(e,t,i){var s=i(33),a=i(58);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){var s=i(34),a=i(40),o=i(59),n=i(60),r=i(61);t=s(!1);var l=a(o),d=a(n),c=a(r);t.push([e.i,'.chats-container{position:relative}.chats-container .input-search{position:relative;width:100%;margin-left:22px;margin-right:4px}.chats-container .input-search input{background-color:rgba(112,117,121,0.08);border:2px solid transparent;height:44px;border-radius:22px;box-sizing:border-box;padding:0px 1.5rem 0 40px;-webkit-transition:all .15s ease-out;transition:all .15s ease-out;width:100%;font-size:16px}.chats-container .input-search input:focus{background-color:rgba(112,117,121,0);border:2px solid #4EA4F6}.chats-container .input-search input:focus+.tgico{color:#4EA4F6;opacity:1}.chats-container .input-search .tgico{position:absolute;left:12px;top:50%;transform:translateY(-50%);text-align:center;font-size:24px;color:#707579;opacity:.6;-webkit-transition:all .15s ease-out;transition:all .15s ease-out}.chats-container .input-search .tgico:before{vertical-align:middle}.chats-container ul{margin:0;display:flex;flex-direction:column;width:100%}.chats-container li{padding-bottom:4px;background-color:#fff}.chats-container li>.rp{height:72px;max-height:72px;border-radius:10px;display:flex;align-items:flex-start;flex-direction:row;position:relative;cursor:pointer;padding:9px 8.5px;margin:0px 8px 0px 7px;overflow:hidden}.chats-container li>.rp:hover{background:rgba(112,117,121,0.08)}.chats-container li.active>.rp,.chats-container li.menu-open>.rp{background:rgba(112,117,121,0.08)}.chats-container .pinned-delimiter{display:flex;padding:8px 0 4px}.chats-container .pinned-delimiter span{margin:0;width:100%;height:1px;background-color:#DADCE0}.chats-container p{margin:0;display:flex;justify-content:space-between;flex-direction:row;align-items:flex-start;height:27px}.chats-container p .user-title+span{font-size:.75rem;padding:1px 0px 0px 0px}.chats-container p .user-last-message+span:not(.tgico-pinnedchat){font-size:.9rem}.chats-container span{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;line-height:27px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chats-container .dialog-avatar{flex:0 0 auto}.chats-container .user-caption{max-width:100%;max-height:100%;overflow:hidden;color:#707579;flex:1 1 auto;padding:1px 3.5px 1px 9px}.chats-container .user-caption p:last-child{margin-top:-3px}.chats-container .user-title{max-width:82%}.chats-container .user-title img.emoji{vertical-align:top;margin-top:4px;width:18px;height:18px}.chats-container .user-title span.emoji{overflow:visible;margin:0;width:auto;font-size:14px;margin-top:-1.5px}.chats-container .user-title.is-verified:after{content:" ";background:url(/assets/img/icon-verified.svg);display:inline-block;width:20px;height:20px;vertical-align:text-bottom;margin-left:2px}.chats-container .user-last-message{max-width:86%}.chats-container .user-last-message img.emoji{width:20px;height:20px;margin-top:-3px}.chats-container .user-last-message span.emoji{font-size:1.2rem;margin:0 .125rem;overflow:visible;margin-top:-1.5px}.chats-container .user-title i,.chats-container .user-last-message i{font-style:normal;color:#50a2e9}.chats-container .message-status{margin-right:.1rem;margin-top:-.3rem}.chats-container .message-status[class*=" tgico-"]{color:#4DCD5E;font-size:1.25rem}.chats-container .message-status:before{vertical-align:middle}.chats-container .unread,.chats-container .unread-muted,.chats-container .tgico-pinnedchat{height:24px;text-align:center;line-height:24px;color:#fff;border-radius:12px;margin-top:4px;margin-right:-2px}.chats-container .unread,.chats-container .unread-muted{min-width:24px;padding:0 8px;font-weight:500}.chats-container .tgico-pinnedchat{width:24px;font-size:1.5rem}.chats-container .unread:empty,.chats-container .unread-muted:empty{visibility:hidden}.chats-container .unread{background:#4DCD5E}.chats-container .unread-muted,.chats-container .tgico-pinnedchat{background:#c5c9cc}.chats-container .search-group{width:100%;border-bottom:1px solid #DADCE0;padding:1rem 0 .5rem;margin-bottom:.5rem}.chats-container .search-group__name{color:#707579;padding:0 23px;padding-bottom:1rem;font-weight:500}.chats-container .search-group-contacts{padding:16px 0 7px}.chats-container .search-group-contacts .search-group__name{padding-bottom:17px}.chats-container .search-group:last-child{border-bottom:none}.contacts-container .dialog-avatar,.search-group-contacts .dialog-avatar{width:48px;height:48px}.contacts-container li,.search-group-contacts li{padding-bottom:4px;padding-top:2px}.contacts-container li>.rp,.search-group-contacts li>.rp{padding:9px 11.5px !important;height:66px}.contacts-container .user-caption,.search-group-contacts .user-caption{padding:1px 3.5px 1px 13px}.contacts-container .user-title,.contacts-container b,.contacts-container .user-last-message b,.search-group-contacts .user-title,.search-group-contacts b,.search-group-contacts .user-last-message b{font-weight:normal}.contacts-container p,.search-group-contacts p{height:24px}.contacts-container span.user-last-message,.search-group-contacts span.user-last-message{font-size:14px}#contacts-container .sidebar-header{margin-bottom:1px}#contacts-container .input-search{margin-left:16px}#bubble-contextmenu>div{padding:0 84px 0 16px}#topbar{width:100%;background-color:#fff;box-sizing:border-box;user-select:none;-webkit-user-select:none;display:flex;align-items:center;box-shadow:0 1px 2px 0 rgba(16,35,47,0.07);padding:.5rem 15px;flex:0 0 auto;min-height:61px;max-height:61px;border-bottom:1px solid #DADCE0}#topbar .chat-more-button{margin-left:8px}#topbar .chat-more-button .btn-menu{top:calc(100% + 7px)}#topbar .chat-info{flex-grow:1}#topbar .content{flex:1;padding-left:17px;line-height:1.6}#topbar .person{display:flex;align-items:center;cursor:pointer;margin-left:4px}#topbar .person:hover{background-color:transparent}#topbar .person .bottom{font-size:14px;line-height:18px;color:#707579}#topbar .person .bottom .online{color:#50a2e9}#topbar #im-avatar{width:44px;height:44px;line-height:44px}#chat-input{display:flex;align-items:center;width:100%;max-width:696px;padding-top:.35rem;padding-bottom:21px;justify-content:space-between;flex:0 0 auto;position:relative}#chat-input #input-message{background:none;border:none;width:100%;font-size:16px;padding:10px 9px;max-height:30rem;overflow-y:none;resize:none;border:none;outline:none;cursor:text}#chat-input [contenteditable=true]:empty:before{content:attr(data-placeholder);color:#a2acb4;display:block}#chat-input .btn-circle{flex:0 0 auto;font-size:1.5rem;line-height:1.5rem;color:#9e9e9e;background-color:#fff;align-self:flex-end}#chat-input .btn-circle.tgico-send{color:#50a2e9}#chat-input .os-scrollbar-handle{background:rgba(0,0,0,0.2)}#im-title{cursor:pointer}#im-title span.emoji{vertical-align:inherit}.chat-container{display:flex;width:100%;align-items:center;height:100vh;overflow:hidden;flex-direction:column;position:relative;background-image:url('+l+");background-size:cover;background-position:center center}.chat-container #chat-background-canvas{display:none}.chat-container .input-message{display:flex;align-items:center;flex-direction:column;width:calc(100% - 3.75rem);justify-content:center;background-color:#fff;border-radius:12px;border-bottom-right-radius:0;box-shadow:0 1px 2px 0 rgba(16,35,47,0.07);margin-right:9px;padding:4.5px .5rem;min-height:54px;max-height:30rem;caret-color:#4EA4F6;flex:1;position:relative}.chat-container .input-message:after{position:absolute;bottom:-1px;width:11px;height:20px;background-repeat:no-repeat repeat;content:'';background-size:11px 20px;right:-9px;background-image:url("+d+');transform:scaleX(-1)}.chat-container .input-message #attach-file.menu-open{color:#50a2e9;background-color:transparent}.chat-container .input-message #attach-file .btn-menu{padding:8px 0;right:-8px;bottom:calc(100% + 16px)}.chat-container .input-message #attach-file .btn-menu>div{padding:0 38px 0 16px}.chat-container .input-message>div{display:flex;justify-content:space-between;align-items:center;width:100%}.chat-container .input-message .reply-wrapper{justify-content:flex-start;overflow:hidden;transition:.2s all;height:0px}.chat-container .input-message .reply-wrapper.active{height:39px}.chat-container .input-message .reply-wrapper .reply{width:100%;margin-left:.5rem;min-height:35px}.chat-container .input-message .new-message-wrapper{align-items:flex-end}.chat-container .input-message .new-message-wrapper .btn-icon:before{vertical-align:bottom}.chat-container .input-message .input-message-container{width:1%;max-height:inherit;flex:1 1 auto;position:relative;overflow:hidden}.chat-container .input-message .input-message-container>.scrollable{position:relative}.chat-container .input-message .btn-icon{display:block;transition:.2s color;flex:0 0 auto;font-size:24px;line-height:24px;padding:10px 7px 9px 7.5px;color:#8d969c}.chat-container .input-message .btn-icon.active{color:#50a2e9}.chat-container .input-message .emoji{font-size:24px;height:24px;width:24px}.chat-container .pinned-message,.chat-container .reply{cursor:pointer;display:flex;flex-direction:row;align-items:center;overflow:hidden;box-sizing:border-box;width:187px;margin-right:1rem;max-height:35px;position:relative}.chat-container .pinned-message.is-reply-media .pinned-message-content,.chat-container .pinned-message.is-reply-media .reply-content,.chat-container .reply.is-reply-media .pinned-message-content,.chat-container .reply.is-reply-media .reply-content{padding-left:40px}.chat-container .pinned-message:hover,.chat-container .reply:hover{background-color:rgba(112,117,121,0.08)}.chat-container .pinned-message-border,.chat-container .reply-border{height:32px;border-radius:1px;min-width:2px;background:#50a2e9}.chat-container .pinned-message-content,.chat-container .reply-content{margin-left:8px;flex-grow:1;flex-shrink:1;overflow:hidden;pointer-events:none;position:relative;height:32px;display:flex;flex-direction:column;justify-content:space-between}.chat-container .pinned-message-title,.chat-container .reply-title{color:#50a2e9}.chat-container .pinned-message-title,.chat-container .pinned-message-subtitle,.chat-container .reply-title,.chat-container .reply-subtitle{font-size:14px;line-height:15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-container .pinned-message-subtitle,.chat-container .reply-subtitle{white-space:nowrap;color:#111}.chat-container .pinned-message-media,.chat-container .reply-media{height:32px;width:32px;border-radius:8px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.chat-container .pinned-message i,.chat-container .reply i{font-style:normal;color:#50a2e9}.chat-container .pinned-message img.emoji,.chat-container .reply img.emoji{height:16px;width:16px;vertical-align:top}.chat-container .pinned-message span.emoji,.chat-container .reply span.emoji{font-size:16px;vertical-align:unset}#bubbles{width:100%;height:100%;max-height:100%;flex:1 1 auto;overflow:hidden;position:relative;padding:0 .5rem}#bubbles>.scrollable{height:auto;display:block}#bubbles:not(.scrolled-down){-webkit-mask-image:-webkit-linear-gradient(bottom, transparent, #000 20px);mask-image:linear-gradient(0deg, transparent 0, #000 20px)}#bubbles:not(.scrolled-down) #bubbles-go-down{opacity:1}#bubbles .preloader{width:100%;height:100%}#bubbles .preloader svg{width:50px;height:50px}#bubbles .preloader-container .preloader-circular{background-color:rgba(0,0,0,0.35)}#bubbles-inner{width:100%;display:flex;flex-direction:column;flex-shrink:1;margin:0 auto;box-sizing:border-box;min-height:100%;justify-content:flex-end}#bubbles-inner.is-chat .is-in .bubble__container{margin-left:3rem}#bubbles-inner.is-channel:not(.is-chat) .bubble__container{max-width:100%}#bubbles-inner.is-channel:not(.is-chat):not(.has-rights){padding-bottom:55px}#bubbles-inner:not(.is-channel) .message,#bubbles-inner.is-chat .message{max-width:480px}#bubbles-inner.is-scrolling .is-sticky{opacity:1}#bubbles-go-down{position:absolute;background-color:#fff;border-radius:50%;width:3.25rem;height:3.25rem;color:#9e9e9e;font-size:30px;display:flex;align-items:center;justify-content:center;right:17.5px;bottom:17.5px;cursor:pointer;opacity:0;transition:.2s opacity;user-select:none;-webkit-user-select:none}#bubbles-go-down:before{margin-left:.75px}.popup.popup-delete-message .popup-header{margin-bottom:1rem}.popup .popup-buttons{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.popup .popup-buttons button{background:none;outline:none;border:none;padding:.5rem;text-transform:uppercase;transition:.2s;border-radius:8px;cursor:pointer;color:#50a2e9}.popup .popup-buttons button:hover{background-color:rgba(112,117,121,0.08)}.popup .popup-buttons button+button{margin-top:.5rem}@keyframes bubbleSelected{0%{opacity:0}25%{opacity:1}to{opacity:0}}.bubbles-date-group{position:relative}.bubbles-date-group .sticky_sentinel--top{height:5px;top:0}.bubble{padding-top:5px;max-width:696px;margin:0 auto;position:relative}.bubble.is-selected:after{position:absolute;left:-50%;top:0;height:100%;content:" ";background-color:rgba(0,132,255,0.3);animation:bubbleSelected 2s linear;z-index:1}.bubble.is-selected:not(.is-group-last):after{height:calc(100% + 5px)}.bubble.is-first-unread:before{content:"Unread messages";height:30px;margin-bottom:5px;margin-left:-50%;text-align:center;color:#538BCC;line-height:2.1;font-weight:500;font-size:15px;background-color:rgba(255,255,255,0.95)}.bubble.is-selected:after,.bubble.is-first-unread:before{width:200%;display:block}.bubble.is-date{position:-webkit-sticky;position:sticky;top:5px;z-index:3;pointer-events:none}.bubble.is-date.is-sticky{-webkit-transition:opacity .3s ease;transition:opacity .3s ease;opacity:0}.bubble__container{min-width:56px;max-width:85%;border-radius:12px;box-shadow:0 1px 2px 0 rgba(16,35,47,0.15);position:relative;display:flex;flex-direction:column-reverse;width:max-content;height:fit-content;z-index:2}.bubble__container>.user-avatar{position:absolute;left:-3rem;width:40px;height:40px;line-height:40px;bottom:0;font-size:1rem;cursor:pointer}.bubble.service{padding:5px 0}.bubble.service .bubble__container{margin:0 auto;max-width:100%}.bubble .goto-original{opacity:0;position:absolute;right:-46px;bottom:0;width:38px;height:38px;font-size:1.5rem;align-items:center;display:flex;justify-content:center;color:#fff;border-radius:50%;background:rgba(0,0,0,0.16);cursor:pointer;transition:.2s opacity}.bubble.is-group-last{padding-bottom:5px}.bubble:not(.forwarded):not(.is-group-first) .bubble__container>.name{display:none}.bubble:not(.forwarded):not(.is-group-first):not(.is-message-empty):not(.is-reply) .message{padding-top:6px}.bubble:not(.is-group-last) .bubble__container>.user-avatar{display:none}.bubble:not(.hide-name) .audio{margin:4px 0}.bubble .goto-original{opacity:1}.bubble .reply{width:auto}.bubble .reply .reply-content{height:auto;min-height:32px}.bubble.photo .bubble__container,.bubble.video .bubble__container{width:min-content}.bubble.photo .box.web,.bubble.video .box.web{max-width:100%}.bubble.webpage .time{float:none;width:0}.bubble img.emoji{height:18px;width:18px;margin:0 .05rem;vertical-align:bottom}.bubble span.emoji{height:auto;width:auto;overflow:visible;vertical-align:unset}.bubble.emoji-big{font-size:0}.bubble.emoji-big .bubble__container{background:none !important;box-shadow:none;line-height:1;user-select:none;-webkit-user-select:none}.bubble.emoji-big:not(.sticker) .attachment{padding-top:.5rem;padding-bottom:1.5rem;max-width:fit-content !important;max-height:fit-content !important}.bubble.emoji-big:not(.sticker) .attachment span.emoji{height:auto;width:auto}.bubble.emoji-big.sticker .bubble__container{max-width:140px !important;max-height:140px !important}.bubble.emoji-1x .attachment{font-size:96px}.bubble.emoji-1x .attachment img.emoji{height:64px;width:64px}.bubble.emoji-2x .attachment{font-size:64px}.bubble.emoji-2x .attachment img.emoji{height:48px;width:48px}.bubble.emoji-3x .attachment{font-size:52px}.bubble.emoji-3x .attachment img.emoji{height:32px;width:32px}.bubble.sticker .bubble__container,.bubble.round .bubble__container,.bubble.emoji-big .bubble__container{cursor:pointer;background:none !important;box-shadow:none}.bubble.sticker img,.bubble.round img,.bubble.emoji-big img{object-fit:contain}.bubble.sticker.is-message-empty .message,.bubble.round.is-message-empty .message,.bubble.emoji-big.is-message-empty .message{background-color:rgba(0,0,0,0.23)}.bubble.sticker .attachment{border-radius:0}.bubble.sticker .bubble__container{max-width:200px !important;max-height:200px !important}.bubble.round .attachment{max-width:200px !important;max-height:200px !important}.bubble.round .attachment img{border-radius:50%}.bubble:not(.is-message-empty) .attachment{border-bottom-left-radius:0;border-bottom-right-radius:0}.bubble:not(.emoji-big) .attachment{font-size:0}.bubble .attachment{max-width:100%;border-radius:inherit;overflow:hidden;display:flex;justify-content:center;position:relative}.bubble .attachment img,.bubble .attachment video{max-width:100%;cursor:pointer;opacity:1;transition:opacity .3s ease}.bubble .attachment .download{position:absolute;left:0;top:0;height:100%;width:100%;cursor:pointer;display:flex;justify-content:center;align-items:center}.bubble .attachment .download span{background-color:rgba(0,0,0,0.35);font-size:23px;color:#fff;text-align:center}.bubble .attachment .download ~ .video-play,.bubble .attachment .preloader-container ~ .video-play{display:none}.bubble:not(.sticker) .attachment{max-width:480px;max-height:480px;width:max-content}.bubble img:not(.emoji),.bubble video{object-fit:cover;width:100%;height:100%}.bubble.is-album .attachment{max-width:451px;max-height:none}.bubble.is-album .attachment .album-item{background-color:#000;background-size:cover;max-width:100%;cursor:pointer;position:absolute}.bubble.is-album .attachment .album-item img,.bubble.is-album .attachment .album-item video{border-radius:inherit}.bubble.round.video .attachment{max-height:200px;max-width:200px}.bubble .box,.bubble .reply{font-size:.95rem;margin:4px 4px 4px 6px;padding:4px;margin-bottom:-5px;border-radius:4px}.bubble .box.web,.bubble .reply.web{margin-top:-6px;max-width:100%;overflow:hidden}.bubble .box.web .preview,.bubble .reply.web .preview{max-height:400px;max-width:480px;border-radius:4px;margin-bottom:3px;overflow:hidden;user-select:none;-webkit-user-select:none;cursor:pointer;position:relative;width:max-content}.bubble .box.web .preview img,.bubble .box.web .preview video,.bubble .reply.web .preview img,.bubble .reply.web .preview video{max-width:100%}.bubble .box.web .title,.bubble .reply.web .title{letter-spacing:-0.2px;line-height:1.2;font-weight:500 !important}.bubble .box.web .name,.bubble .reply.web .name{letter-spacing:-0.3px;display:block}.bubble .box.web .name:hover,.bubble .reply.web .name:hover{text-decoration:underline}.bubble .box.web .text,.bubble .reply.web .text{overflow:hidden;text-overflow:ellipsis;line-height:1.2;letter-spacing:-0.3px;margin-top:2px;font-size:0.965rem}.bubble .box .quote,.bubble .reply .quote{padding-left:0.55rem;max-width:100%;overflow:hidden;width:100%}.bubble .box .text,.bubble .reply .text{line-height:1.2}.bubble .box .name,.bubble .box .reply-title,.bubble .reply .name,.bubble .reply .reply-title{font-weight:500 !important;display:inline !important}.bubble.is-square-photo .bubble__container{width:fit-content}.bubble.is-square-photo .box.web .quote{display:flex}.bubble.is-square-photo .box.web .preview{-webkit-box-ordinal-group:3;order:2;flex-shrink:0;max-width:5rem;max-height:5rem}.bubble.is-square-photo .box.web .quote-text{-webkit-box-ordinal-group:2;order:1;padding-right:1rem}.bubble.is-vertical-photo .bubble__container{width:fit-content}.bubble .reply{max-width:300px;margin-bottom:6px;margin-top:0;cursor:pointer}.bubble.is-reply.emoji-big .reply,.bubble.is-reply.sticker .reply{padding:10px;border-radius:12px;border:1px solid #ccc;max-width:300px;height:54px;max-height:54px;white-space:nowrap;position:absolute;top:0;margin-bottom:0}.bubble.is-reply.emoji-big .reply .reply-content,.bubble.is-reply.sticker .reply .reply-content{margin-top:0}.bubble.is-reply .reply-content{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bubble .message{font-size:16px;padding:0 .6rem 6px .6rem;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#000;line-height:21px;word-break:break-word}.bubble .message:last-child{padding-top:6px}.bubble .message .emoji{font-size:1.2rem}.bubble .message pre,.bubble .message code{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.bubble .message.audio-message{min-width:275px;max-width:275px !important;padding-top:8px !important;padding-left:8px !important}.bubble .message.audio-message .audio{justify-content:unset;max-width:none}.bubble .message.audio-message .audio-time{padding-bottom:7px}.bubble .message.audio-message .audio-time,.bubble .message.audio-message .audio-subtitle{color:#4fae4e;line-height:1.45;margin-top:0}.bubble .message.audio-message .audio-title{font-weight:500;margin-left:-1px}.bubble .message.audio-message .audio-details{margin-top:8px}.bubble .message.audio-message .audio-ico{font-size:2.15rem}.bubble .message.audio-message .media-progress{width:191px;margin:9px 0 9px}.bubble .message.audio-message .media-progress__filled{background-color:#47aa41;transform-origin:left;height:2px}.bubble .message.audio-message .media-progress__seek{height:2px;overflow:visible !important;background:rgba(124,195,107,0.52)}.bubble .message.audio-message .media-progress__seek::-webkit-slider-thumb{height:12px;width:12px;background:#47aa41}.bubble .message.audio-message .tgico-largeplay:before{content:"\\e929";margin-right:-2px}.bubble .message.audio-message .time{width:unset}.bubble .message.contact-message{min-width:200px;padding-left:8px}.bubble .message.contact-message .contact{display:flex;padding:2px 0;cursor:pointer}.bubble .message.contact-message .contact-avatar{color:#fff}.bubble .message.contact-message .contact-details{padding-left:12px;margin-top:8px}.bubble .message.contact-message .contact-name{font-size:1rem;font-weight:500}.bubble .message.contact-message .contact-number{font-size:14px;line-height:1.4}.bubble .message.contact-message .time{width:unset}.bubble .message.document-message{max-width:325px !important}.bubble .message.document-message .time{width:unset}.bubble .message.document-message .document{padding-left:66px;height:58px}.bubble .message.document-message .document-name{line-height:1.4;margin-top:1px;overflow:hidden;text-overflow:ellipsis}.bubble.is-message-empty .message{position:absolute;bottom:.1rem;right:.2rem;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0 .2rem;z-index:2}.bubble.is-message-empty .message .time{color:#fff;padding:0;display:flex;align-items:center;width:auto}.bubble.is-message-empty .message .time .inner{margin-bottom:0;position:relative;padding:0 2.5px;bottom:0}.bubble .time{font-size:.8rem;user-select:none;float:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:20px;line-height:20px}.bubble .time .inner{position:absolute;bottom:0;right:0;font-size:12px;display:flex;align-items:center;line-height:1}.bubble .time .inner i{font-size:1.15rem;margin-right:.4rem;margin-left:.1rem}.bubble .time .inner i.edited{overflow:visible;font-size:.8rem}.bubble span.video-time{position:absolute;top:3px;left:3px;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 6px;z-index:2;font-size:12px;color:white;display:flex;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none}.bubble span.video-play{background-color:rgba(0,0,0,0.35);color:#fff;text-align:center;font-size:34px;line-height:60px;cursor:pointer}.bubble.is-edited.channel-post .time{min-width:calc(5rem + 46px)}.bubble.channel-post .time{width:5rem}.bubble.is-edited .time{width:78px !important}.bubble.is-edited.emoji-big .time,.bubble.is-edited.sticker .time{width:81px !important}.bubble:not(.forwarded).hide-name .name,.bubble.emoji-big .name{display:none}.bubble .name{cursor:pointer}.bubble__container>.name{padding:5px .6rem 0 .6rem;font-weight:500 !important;color:#50a2e9;font-size:.9rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bubble:not(.webpage).photo .name,.bubble:not(.webpage).video .name{padding-bottom:6px}.bubble:not(.webpage).photo:not(.is-message-empty) .message,.bubble:not(.webpage).video:not(.is-message-empty) .message{padding-top:6px}.bubble:not(.webpage):not(.is-album):not(.sticker):not(.round):not(.emoji-big) .attachment,.bubble .album-item{background-color:#000}.bubble.hide-name:not(.is-reply):not(.is-message-empty) .message{padding-top:6px}.bubble:not(.sticker):not(.emoji-big).hide-name .reply,.bubble:not(.sticker):not(.emoji-big):not(.is-group-first) .reply,.bubble:not(.sticker):not(.emoji-big).is-out .reply{margin-top:6px}.bubble:not(.sticker):not(.emoji-big):not(.round).is-group-last .bubble__container:after{position:absolute;bottom:0;width:11px;height:20px;background-repeat:no-repeat no-repeat;content:\'\';background-size:11px 20px;background-position-y:1px}.bubble.photo.is-message-empty.is-group-last.is-group-last .bubble__container:after,.bubble.video:not(.round).is-message-empty.is-group-last.is-group-last .bubble__container:after{display:none}.bubble.photo.is-message-empty.is-group-last .attachment,.bubble.video:not(.round).is-message-empty.is-group-last .attachment{overflow:visible}.bubble__media-container{cursor:pointer}.bubble.service{align-self:center}.bubble.service .service-msg{color:#fff;background-color:rgba(0,0,0,0.24);font-size:14px;padding:0 8px;line-height:24px;border-radius:12px;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center}.bubble.service .service-msg .name{cursor:pointer;margin-right:5px}.bubble.service .service-msg img.emoji{margin-bottom:3px}.bubble-audio .time{width:unset !important}.bubble.is-in .bubble__container{margin-right:auto;background-color:#ffffff;border-radius:6px 12px 12px 6px}.bubble.is-in.is-group-first .bubble__container{border-radius:12px 12px 12px 6px}.bubble.is-in.is-group-last .bubble__container{border-radius:6px 12px 12px 0px}.bubble.is-in.is-group-last .bubble__container:after{left:-8.4px;background-image:url('+d+")}.bubble.is-in.is-group-first.is-group-last .bubble__container{border-radius:12px 12px 12px 0px}.bubble.is-in.forwarded .attachment,.bubble.is-in.is-reply .attachment,.bubble.is-in:not(.hide-name).is-message-empty .attachment{border-top-left-radius:0;border-top-right-radius:0}.bubble.is-in a{color:#50a2e9}.bubble.is-in .quote:hover,.bubble.is-in .reply:hover{background-color:rgba(112,117,121,0.08)}.bubble.is-in.is-reply.emoji-big .reply,.bubble.is-in.is-reply.sticker .reply{left:calc(100% + 10px);background-color:#fff}.bubble.is-in .quote{border-left:2px #50a2e9 solid}.bubble.is-in .quote *{overflow:hidden;text-overflow:ellipsis}.bubble.is-in .quote .name,.bubble.is-in .reply-title{color:#50a2e9}.bubble.is-in .time{color:#a3adb6;width:36px}.bubble.is-in .time .inner{padding:0 7px 0 5px;margin-bottom:4px}.bubble.is-in.photo.is-message-empty.is-group-last .attachment,.bubble.is-in.video:not(.round).is-message-empty.is-group-last .attachment{border-bottom-left-radius:0}.bubble.is-in.photo.is-message-empty.is-group-last .attachment .bubble__media-container,.bubble.is-in.video:not(.round).is-message-empty.is-group-last .attachment .bubble__media-container{margin-left:-9px}.bubble.is-in .audio-subtitle,.bubble.is-in .contact-number,.bubble.is-in .audio-time{color:#707579 !important}.bubble.is-in .message.audio-message .media-progress__seek{background:rgba(193,207,220,0.39)}.bubble.is-in .message.audio-message .media-progress__filled{background-color:#0089ff}.bubble.is-in .message.audio-message .media-progress input::-webkit-slider-thumb{background:#63a2e3}.bubble.is-out .bubble__container{margin-left:auto;background-color:#eeffde;border-radius:12px 6px 6px 12px}.bubble.is-out .bubble__container>.user-avatar{left:auto;right:-2.5rem}.bubble.is-out.is-group-first .bubble__container{border-radius:12px 12px 6px 12px}.bubble.is-out.is-group-last .bubble__container{border-radius:12px 6px 0px 12px}.bubble.is-out.is-group-last .bubble__container:after{right:-8.4px;background-image:url("+c+')}.bubble.is-out.is-group-first.is-group-last .bubble__container{border-radius:12px 12px 0px 12px}.bubble.is-out.forwarded .attachment,.bubble.is-out.is-reply .attachment{border-top-left-radius:0;border-top-right-radius:0}.bubble.is-out .quote:hover,.bubble.is-out .reply:hover{background-color:rgba(77,205,94,0.12)}.bubble.is-out.is-reply.emoji-big .box,.bubble.is-out.is-reply.emoji-big .reply,.bubble.is-out.is-reply.sticker .box,.bubble.is-out.is-reply.sticker .reply{background-color:#eeffde;right:calc(100% + 10px);border-color:rgba(77,205,94,0.12)}.bubble.is-out .quote{border-left:2px #50af4f solid}.bubble.is-out .reply-border{background-color:#50af4f}.bubble.is-out .quote .name,.bubble.is-out .reply-title{color:#50af4f}.bubble.is-out .time{color:#50af4f;width:50px;display:inline-block}.bubble.is-out .time .inner{padding:0 4px 0 4px;bottom:1px}.bubble.is-out .time .tgico:after{font-size:19px;vertical-align:middle;margin-left:1px}.bubble.is-out.forwarded .name{color:#50af4f}.bubble.is-out.is-read .time .tgico:after{content:""}.bubble.is-out.is-sent .time .tgico:after{content:""}.bubble.is-out.is-sending .time .tgico:after{content:""}.bubble.is-out.is-reply .name{display:none}.bubble.is-out.is-edited .time{width:85px}.bubble.is-out .document-ico:after{border-top-color:#eeffde;border-right-color:#eeffde}.bubble.is-out .audio-waveform rect{fill:#B8DDA9}.bubble.is-out .audio-waveform rect.active{fill:#68AB5A}.bubble.is-out .audio-time,.bubble.is-out .audio-subtitle{color:#68AB5A}.bubble.is-out .audio-toggle,.bubble.is-out .audio-download{background-color:#4FAE4E}.bubble.is-out.photo.is-message-empty.is-group-last .attachment,.bubble.is-out.video:not(.round).is-message-empty.is-group-last .attachment{border-bottom-right-radius:0}.bubble.is-out.photo.is-message-empty.is-group-last .attachment .bubble__media-container,.bubble.is-out.video:not(.round).is-message-empty.is-group-last .attachment .bubble__media-container{margin-right:-9px}.bubble.is-out .audio-subtitle,.bubble.is-out .contact-number,.bubble.is-out .document-size{color:#4FAE4E}.bubble.is-out poll-element .poll-desc,.bubble.is-out poll-element .poll-votes-count{color:#50af4f}.bubble.is-out poll-element .poll-line use{stroke:#4fae4e}.bubble.is-out poll-element .poll-answer-selected{background-color:#4fae4e}.bubble.is-out poll-element .poll-answer:hover .animation-ring{background-color:rgba(79,174,78,0.08)}.bubble.is-out poll-element .progress-ring__circle{stroke:#4fae4e}.reply-markup{position:absolute;width:100%}.reply-markup-row{margin-top:5px;overflow:hidden;height:40px;display:flex}.reply-markup-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.reply-markup-button{display:flex;justify-content:center;align-items:center;border-radius:6px;background-color:rgba(0,0,0,0.23);z-index:2;font-size:14px;user-select:none;text-align:center;color:white !important;outline:none;border:none;width:100%;cursor:pointer;position:relative;transition:background-color 0.35s ease}.reply-markup-button:hover{background-color:rgba(0,0,0,0.06)}.reply-markup-button+.reply-markup-button{margin-left:5px}.reply-markup-button.is-link:before{content:"";position:absolute;right:2px;top:2px;display:block;transform:rotate(-45deg)}poll-element{margin-top:-1px;display:block;min-width:280px}poll-element .poll-title{font-weight:500}poll-element .poll-desc{font-size:14px;color:#707579;margin-bottom:7px}poll-element .poll-answer{display:flex;position:relative;padding-bottom:20px;padding-left:34px;cursor:pointer}poll-element .poll-answer-text{margin-top:7px;margin-left:14px}poll-element .poll-answer-percents{position:absolute;left:0;top:0;opacity:0;font-weight:500;margin-top:7px;transition:.34s opacity;margin-left:-3px;text-align:right;width:40px}poll-element .poll-answer-selected{position:absolute;bottom:3px;left:26px;color:#fff;background:#50a2e9;border-radius:50%;height:12px;width:12px;font-size:11px;line-height:15px;opacity:0;animation:fadeIn .1s ease forwards;animation-direction:reverse;animation-delay:.24s}poll-element .poll-answer:hover .animation-ring{visibility:visible;transform:scale(1)}poll-element .poll-answer.is-voting .progress-ring__circle{stroke-dashoffset:-19.792;animation:pollAnswerRotate 0.65s linear infinite}poll-element .poll-votes-count{color:#707579;font-size:14px;margin-top:7px}poll-element .poll-line{height:35px;position:absolute;left:17.5px;bottom:2px;transition:stroke-dashoffset .34s linear, stroke-dasharray .34s linear;stroke-dashoffset:0;stroke-dasharray:0, 485.9}poll-element .poll-line use{stroke-width:4px;stroke-linecap:round;stroke:#50a2e9;fill:none}poll-element+.time{height:unset !important;padding-top:0px !important;padding-bottom:7px !important}poll-element .circle-hover{display:flex;justify-content:center;align-items:center;width:34px;height:34px;margin-left:5px;position:absolute;left:0;top:0;transform:scale(1);transition:.1s transform}poll-element .animation-ring{display:block;border-radius:50%;height:34px;width:34px;transition:transform 0.12s;background-color:#f4f4f4;transform:scale(0.1);visibility:hidden}poll-element .progress-ring{height:26px;width:26px;top:unset;left:unset}poll-element .progress-ring__circle{transform-origin:center;transform:rotate(-90deg);transition:stroke-dashoffset 0.15s;stroke-dasharray:56.5487, 56.5487;stroke-dashoffset:0;stroke-opacity:1;stroke-width:2;stroke:#8d969c;fill:transparent}poll-element.is-voted .circle-hover,poll-element.is-voted .animation-ring{transform:scale(0)}poll-element.is-voted .poll-answer-percents{opacity:1}poll-element.is-voted .poll-answer-selected{animation-direction:normal}poll-element.is-retracting .circle-hover{transition-delay:.24s}poll-element.is-retracting .animation-ring{transition-delay:.22s}@keyframes pollAnswerRotate{to{transform:rotate(270deg)}}.sidebar{background-color:#fff;overflow:hidden}.sidebar-left{border-right:1px solid #DADCE0}.sidebar-right{border-left:1px solid #DADCE0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:7.5px 16px;min-height:60px}.sidebar-header__title{flex:1;font-weight:500;padding-left:23px;font-size:20px}.sidebar-header .btn-icon+.btn-icon{margin-left:.5rem}.sidebar-close-button{padding-left:10px}.sidebar-content{width:100%;max-height:100%;height:100%;overflow:hidden;display:flex;position:relative}.sidebar-content>div{width:100%}#column-left{display:flex;flex-direction:column}#column-left #chats-container{max-height:100%;overflow:hidden;position:relative}#column-left .sidebar-slider{height:100%}#column-left .sidebar-header__btn-container{position:relative;width:39.75px;height:39px}#column-left .sidebar-header__btn-container>*{visibility:hidden;opacity:0;position:absolute;left:0;top:0;transition:.2s opacity;z-index:2}#column-left .sidebar-header__btn-container>*:before{transition:.2s transform;transform:rotate(180deg)}#column-left .sidebar-header__btn-container>*+*{margin-left:0 !important}#column-left .sidebar-header__btn-container>*.active{opacity:1;visibility:visible;color:#707579}#column-left .sidebar-header__btn-container>*.active:before{transform:rotate(0deg)}#column-left .sidebar-tools-button .btn-menu{width:217px}#column-left .sidebar-tools-button .btn-menu .archived-count{border-radius:12px;min-width:24px;padding:0 8px;height:24px;text-align:center;line-height:24px;color:#fff;font-weight:500;background-color:#c5c9cc;justify-self:flex-end;position:absolute;right:16px}#column-left .sidebar-tools-button .btn-menu .archived-count:empty{display:none}#column-left .search-group-people ul{display:flex;flex-direction:row;padding-left:4px;margin-top:-1px;padding-bottom:1px}#column-left .search-group-people li{margin-right:5px;padding:0}#column-left .search-group-people .rp{height:98px;max-height:98px;border-radius:10px;max-width:78px;width:78px;align-items:center;position:relative;display:flex;flex-direction:column;cursor:pointer;padding:12px 0 0 !important;overflow:hidden;margin:0}#column-left .search-group-people .dialog-avatar{width:54px;height:54px}#column-left .search-group-people .user-caption{max-width:65px;padding:2px 0px 9px;font-size:12px}#column-left .search-group-people .user-title{max-width:unset}#column-left .search-group-people .search-group-scrollable{position:relative}#column-left .search-group-people .search-group-scrollable>.scrollable{position:relative}#column-left .item-main .sidebar-content .btn-menu{bottom:calc(100% + 10px)}#column-left .item-main .sidebar-content:hover .btn-corner{transform:translateY(0px)}#column-left .item-main .sidebar-content:hover .btn-corner.menu-open:before{content:""}#search-container{transition:150ms ease-in-out opacity,150ms ease-in-out transform;transform:scale(1.1, 1.1);opacity:0;display:flex}#search-container.active{transform:scale(1, 1);transform-origin:center;opacity:1}.new-channel-container .sidebar-content,.new-group-container .sidebar-content,.edit-profile-container .sidebar-content{flex-direction:column}.new-channel-container .avatar-edit,.new-group-container .avatar-edit,.edit-profile-container .avatar-edit{width:120px;height:120px;margin:1px auto 32px;flex:0 0 auto}.new-channel-container .input-wrapper,.new-group-container .input-wrapper,.edit-profile-container .input-wrapper{width:380px;margin:0 auto;flex:0 0 auto}.new-channel-container .chats-container,.new-group-container .chats-container,.edit-profile-container .chats-container{flex:1 1 auto}.new-channel-container .caption,.new-group-container .caption,.edit-profile-container .caption{font-size:0.875rem;margin-top:14px;margin-left:23px;color:#707579}.new-group-members{padding:1.5rem 0 0.4375rem}.new-group-members .search-group__name{text-transform:capitalize}.settings-container .profile-button{display:flex;padding:1.125rem 0.625rem;height:3.5rem;line-height:1.4;border-radius:0.625rem;margin:0px 0.5rem 0px 0.4375rem}.settings-container .profile-button:hover{background:rgba(112,117,121,0.08);cursor:pointer}.settings-container .profile-button:before{font-size:24px;color:#707579;margin-left:0.375rem;margin-top:-0.0625rem}.settings-container .profile-button p{padding-left:2rem;user-select:none}.settings-container .profile-buttons{margin-top:.9375rem;width:100%}.edit-profile-container .caption{margin-top:1.063rem;margin-left:1.438rem;line-height:1.2;padding-bottom:1.438rem}.edit-profile-container .sidebar-left-h2{color:#707579;padding:0 1.438rem;padding-bottom:1.5rem;font-weight:500}.edit-profile-container hr{margin-bottom:1.5rem}.edit-profile-container .scroll-wrapper{width:100%}#column-right{width:0%;position:relative;transition:.2s ease-in-out}#column-right .sidebar-content{min-width:25vw}@media (min-width: 1680px){#column-right .sidebar-content{min-width:calc(1680px / 4 - 1px)}}#column-right:not(.active){border-left-width:0}#column-right.active{width:25%}#column-right .sidebar-header{flex:0 0 auto}#column-right #search-private-container .chats-container{position:relative;flex:1 1 auto}#column-right #forward-container{z-index:5}#column-right .sidebar-search{display:none}#column-right .sidebar-search.active{display:flex}.profile-content{display:flex;flex-direction:column;position:relative;width:100%}.profile-content [type="checkbox"]+span{padding-left:54px;margin-left:-54px}.profile-content-wrapper{flex:1 1 auto;display:flex;flex-direction:column;margin-bottom:36px}.profile-content .content-container{width:100%;max-width:100%;position:absolute;top:100%;min-height:calc(100vh - 100% - 60px);display:flex;flex-direction:column}.profile-container>.scrollable{display:flex;flex-direction:column}.profile-name{text-align:center;font-size:24px;line-height:1.4;font-weight:500}.profile-name span.emoji{vertical-align:inherit;min-width:min-content}.profile-subtitle{text-align:center;color:#707579;font-size:14px;margin-bottom:2px}.profile-subtitle.online{color:#50a2e9}.profile-row{display:flex;width:100%;flex-direction:column;padding-left:80px;padding-right:12px;position:relative;margin-top:31px;line-height:1.4}.profile-row:before{position:absolute;left:24px;font-size:24px;color:#707579}.profile-row p{color:#000;margin:0;font-size:1rem}.profile-row-bio .emoji{width:24px;height:24px}.profile-row-label{color:#707579 !important;font-size:14px !important}.profile-row-notifications{margin-top:29px;line-height:1.3}.profile-avatar{width:120px;height:120px;margin:1px auto 21px;font-size:4rem !important}.profile-avatar.tgico-avatar_deletedaccount{font-size:6rem}.profile-tabs{position:-webkit-sticky !important;position:sticky !important;top:0;z-index:2;background-color:#fff}.profile-tabs-content{min-height:calc(100% - 49px);flex:1 1 auto}.profile-tabs-content>div{position:relative}.profile-tabs-content .preloader{padding:0;position:absolute !important;height:100%}.profile-tabs-content .preloader>svg{height:50px;width:50px}.profile-tabs-content #content-media{width:100%;padding:7.5px;display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:1fr;grid-gap:3.5px}.profile-tabs-content #content-media .media-item{height:0;padding-bottom:100%;overflow:hidden;position:relative;cursor:pointer;background-color:#000}.profile-tabs-content #content-media .video-time{position:absolute;left:5px;top:4px;height:18px;border-radius:4px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 5px;z-index:2;font-size:12px;color:white}.profile-tabs-content #content-media .media-image{position:absolute;left:0;top:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-tabs-content #content-docs{padding:7px 20px}.profile-tabs-content #content-docs .document{padding-left:4rem;padding-right:1rem;height:calc(50px + 1.5rem)}.profile-tabs-content #content-docs .document-ico,.profile-tabs-content #content-docs .document-download{width:48px;height:48px}.profile-tabs-content #content-docs .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-links{padding:0 30px 15px 15px}.profile-tabs-content #content-links>div{display:flex;flex-direction:column;margin-top:20px;margin-left:5px;padding-bottom:2px;position:relative;padding-left:60px;overflow:hidden;min-height:58px}.profile-tabs-content #content-links>div .preview{height:48px;width:48px;border-radius:5px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.profile-tabs-content #content-links>div .preview.empty{display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;text-transform:uppercase;background-color:#50a2e9}.profile-tabs-content #content-links>div .url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-tabs-content #content-links .title{font-size:16px;margin-top:3px}.profile-tabs-content #content-links .subtitle{font-size:14px}.profile-tabs-content #content-audio{padding:20px 15px 15px 20px}.profile-tabs-content #content-audio>div{min-height:60px}.profile-tabs-content #content-audio .audio{padding-bottom:26px;padding-left:61px;max-width:368px;justify-content:unset}.profile-tabs-content #content-audio .audio-details{height:66px}.profile-tabs-content #content-audio .audio.audio-show-progress .audio-subtitle{overflow:visible}.profile-tabs-content #content-audio .audio-ico{width:48px;height:48px}.profile-tabs-content #content-audio .audio-ico.tgico-largeplay:before{margin-right:-1px}.profile-tabs-content #content-audio .audio-download{border-radius:50%;background-color:#50a2e9;align-items:center}.profile-tabs-content #content-audio .audio-toggle,.profile-tabs-content #content-audio .audio-download{font-size:1.9rem}.profile-tabs-content #content-audio .audio-title{font-size:1rem;color:#000;line-height:1.2;padding-top:5px;margin-top:0;margin-left:-1px}.profile-tabs-content #content-audio .audio-subtitle{font-size:14px;line-height:1.25;color:#707579;margin-left:-1px;margin-top:3px}.profile-tabs-content #content-audio .audio-time{margin-top:1px}.profile-tabs-content #content-audio .audio-title,.profile-tabs-content #content-audio .audio-subtitle{overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-audio .media-progress{margin:11px 0 8px}.profile-tabs-content #content-audio .media-progress__filled{background-color:#0089ff;transform-origin:left;height:2px}.profile-tabs-content #content-audio .media-progress__seek{height:2px;background:rgba(193,207,220,0.39)}.profile-tabs-content #content-audio .media-progress__seek::-webkit-slider-thumb{height:12px;width:12px}.media-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.88);display:flex;align-items:center;justify-content:center}.media-viewer-author{position:absolute;top:0;left:0;height:60px;padding:8px 8px 8px 80px;display:flex;flex-direction:column;justify-content:center;color:#8b8b8b;transition:.2s}.media-viewer-author:hover{color:#fff}.media-viewer-userpic{width:44px;height:44px;position:absolute;top:8px;left:20px}.media-viewer-name{font-weight:500}.media-viewer-date{font-size:15px}.media-viewer-buttons{position:absolute;top:0;right:0;display:flex;flex-flow:row nowrap;padding:8px}.media-viewer-buttons .btn-icon{margin:0 .25rem;transition:.2s}.media-viewer-buttons .btn-icon:hover{color:#fff}.media-viewer-content{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;max-height:100%;max-width:100%;overflow:hidden}.media-viewer-stub{flex:1}.media-viewer-container{align-self:center;position:relative;max-width:100%;max-height:100%;overflow:hidden;flex:1 1 auto;display:flex;align-items:center}.media-viewer-media{visibility:hidden}.media-viewer-caption{flex:1;text-align:center;color:#707579;transition:.2s;max-width:50vw;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.media-viewer-caption:hover{color:#fff}.media-viewer-switcher-left,.media-viewer-switcher-right{position:absolute;left:0;top:0;width:10rem;height:100%;cursor:pointer;z-index:5}.media-viewer-switcher-left:hover>span,.media-viewer-switcher-right:hover>span{opacity:1}.media-viewer-switcher-right{left:auto;right:0}.media-viewer-prev-button,.media-viewer-next-button{cursor:pointer;position:absolute;color:#fff;font-size:3rem;left:2rem;top:50%;transform:translateY(-50%) rotate(90deg);opacity:0;transition:.2s opacity;z-index:5}.media-viewer-next-button{left:auto;right:2rem;transform:translateY(-50%) rotate(-90deg)}.media-viewer-mover{position:fixed !important;z-index:4;display:flex;justify-content:center;align-items:center;min-height:auto !important;left:0;top:0;transform-origin:top left;overflow:hidden}.media-viewer-mover .ckin__player{width:100%;height:100%;position:absolute;left:0;top:0}.media-viewer-mover img,.media-viewer-mover video{width:100%;height:100%;user-select:none;object-fit:cover;opacity:1}.media-viewer-mover.active{transition:.2s transform}.media-viewer-mover.moving{transition:.35s transform ease}.media-viewer-mover.hiding img,.media-viewer-mover.hiding video{transition:.2s opacity;opacity:0}.media-viewer-aspecter{width:100%;height:100%;transform:scale(1);overflow:hidden;position:absolute}.media-viewer-mover.active .media-viewer-aspecter{transition:.2s all}.media-viewer-whole{top:0;left:0;width:100%;height:100%;position:fixed !important;display:block;z-index:4;visibility:hidden;transition:visibility 0s .2s}.media-viewer-whole.active{visibility:visible;transition-delay:0s}.media-viewer-whole.active .overlays{opacity:1;visibility:visible;-webkit-transition:opacity .2s 0s,visibility 0s 0s;-moz-transition:opacity .2s 0s,visibility 0s 0s;transition:opacity .2s 0s,visibility 0s 0s}.media-viewer-switchers{position:relative;width:1680px;height:100%;margin:0 auto}.overlays{top:0;left:0;width:100%;height:100%;position:fixed !important;background-color:rgba(0,0,0,0.2);z-index:4;opacity:0;visibility:hidden;-webkit-transition:opacity .2s 0s,visibility 0s .2s;-moz-transition:opacity .2s 0s,visibility 0s .2s;transition:opacity .2s 0s,visibility 0s .2s}.ckin__player{letter-spacing:0.02em}.ckin__overlay{position:relative}.ckin__overlay:before{background:radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.5) 100%)}.ckin__overlay--2:before{background:rgba(24,24,24,0.8)}.ckin__player.ckin__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0 !important;display:-ms-flexbox;display:flex}.ckin__player.ckin__fullscreen video{max-height:none;max-width:none;object-fit:contain}.default{border:0 solid rgba(0,0,0,0.2);box-shadow:0 0 20px rgba(0,0,0,0.2);position:relative;font-size:0;overflow:hidden;cursor:pointer}.default:before{content:\'\';position:absolute;top:0;left:0;bottom:0;right:0;transition:opacity .2s;opacity:1;visibility:visible}.default__title{position:absolute;left:20px;top:20px;z-index:1;font-size:24px;color:rgba(255,255,255,0.8);font-style:italic}.default__button{background:none;border:0;color:#fff;outline:0;padding:3px 10px 6px 10px;cursor:pointer;font-size:24px;line-height:1;display:flex;align-items:center}.default__button i{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.default__button--big{background:none;border:0;line-height:1;color:#fff;text-align:center;outline:0;padding:0;cursor:pointer;position:absolute;opacity:1;visibility:visible;top:50%;left:50%;-ms-transform:translate(-50%, -50%) scale(1);transform:translate(-50%, -50%) scale(1);font-size:64px;transition:all .2s;-ms-touch-action:manipulation;touch-action:manipulation}.default__slider{width:10px;height:30px}.default__controls{position:absolute;bottom:0;right:0;left:0;transition:all .3s;text-align:left;direction:ltr;border-radius:0 0 5px 5px;z-index:6}.default__gradient-bottom{height:49px;padding-top:93px;bottom:0;z-index:2;background-position:bottom;width:100%;position:absolute;background-repeat:repeat-x;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);-moz-transition:all .3s;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.default.is-playing .default__gradient-bottom{-ms-transform:translateY(50px);transform:translateY(50px)}.default.is-playing:hover .default__gradient-bottom{-ms-transform:translateY(0px);transform:translateY(0px)}.default.is-playing:before{opacity:0;visibility:hidden;-ms-transform:translate(-50%, -50%) scale(1.3);transform:translate(-50%, -50%) scale(1.3)}.default.is-playing .default__button--big{opacity:0;visibility:hidden}.default.is-playing .default__controls{-ms-transform:translateY(52px);transform:translateY(52px)}.default.is-playing:hover .default__controls{-ms-transform:translateY(0);transform:translateY(0)}.default .media-progress{margin:0 16px;height:5px;transition:height 0.3s;background:rgba(255,255,255,0.38);border-radius:4px;overflow:visible}.default .media-progress__filled{background:#63a2e3;transform-origin:left;border-radius:4px;height:5px;transform:scaleX(0)}@media (max-width: 480px){.ckin__player button{font-size:18px}}video::-webkit-media-controls-enclosure{display:none !important}.media-progress{position:relative;cursor:pointer}.media-progress input[type=range]{-webkit-appearance:none;-moz-appearance:none;background:transparent;height:4.5px;cursor:pointer;padding:0;outline:none}.media-progress input[type=range]:focus{outline:none}.media-progress input[type=range]:focus::-webkit-slider-runnable-track{background:transparent}.media-progress input[type=range]:focus::-moz-range-track{outline:none}.media-progress input[type=range]::-webkit-slider-runnable-track{width:100%;cursor:pointer;border-radius:1.3px;-webkit-appearance:none;transition:all 0.4s ease}.media-progress input[type=range]::-webkit-slider-thumb{height:15px;width:15px;border-radius:16px;background:#63a2e3;cursor:pointer;-webkit-appearance:none;margin-left:-1px}.media-progress input[type=range]::-moz-range-track{width:100%;height:8.4px;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:1.3px}.media-progress input[type=range]::-moz-range-thumb{height:14px;width:14px;border-radius:50px;border:1px solid #63a2e3;background:#63a2e3;cursor:pointer;margin-top:5px}.media-progress__seek{position:absolute;top:0;width:100%;cursor:pointer;margin:0}input[type=range]::-ms-track{visibility:hidden}input[type=range]::-ms-ticks{background:none;color:none;border:none}input[type=range]::-ms-thumb{visibility:hidden}input[type=range]::-ms-tooltip{visibility:hidden}.left-controls{display:flex;align-items:center}.right-controls{float:right}.bottom-controls{padding:3px 4px 0px 4px;display:flex;justify-content:space-between;align-items:center}.time{float:right;padding:7px 0px 9px 14px;font-size:15px;color:white}.circle .circle-time{color:#fff;font-size:13px;float:left}.circle .circle-time-left{position:absolute;top:3px;left:2px;border-radius:12px;background-color:rgba(0,0,0,0.23);padding:1px 7px 2px 7px;z-index:2;display:flex;align-items:center}video[data-ckin="circle"]{border-radius:50%;overflow:hidden}.progress-ring{position:absolute;top:0;left:0;cursor:pointer}.progress-ring__circle{transition:stroke-dashoffset}.ckin__player.circle{position:relative;width:200px;height:200px}.iconVolume{padding:0 1px 0 3px;display:flex;align-items:center;font-size:1.25rem;color:#fff}.emoji-dropdown{position:absolute;left:0;top:calc(-420px + -4px);display:flex;flex-direction:column;width:420px;height:420px;background:#fff;box-shadow:0px 5px 10px 5px rgba(16,35,47,0.14);border-radius:10px;z-index:3;display:flex;overflow:hidden;transition:all 0.2s ease-out;transform:scale(0);transform-origin:0 100%}.emoji-dropdown.active{transition:all 0.2s ease-in;transform:scale(1)}.emoji-dropdown>.menu-horizontal{padding:0px 58px 0px 58px;margin-top:2px}.emoji-dropdown>.menu-horizontal>li.active:after{left:29px;right:28px}.emoji-dropdown .emoji-container{width:100%;max-width:100%;overflow:hidden;height:100%}.emoji-dropdown .btn-icon{color:#8d969c}.emoji-dropdown .tabs-container{height:100%}.emoji-dropdown .tabs-container .category-title{position:sticky;top:0;font-size:.85rem;color:#707579;background:linear-gradient(to bottom, #fff 0, rgba(255,255,255,0.9) 60%, rgba(255,255,255,0) 100%);z-index:2;padding:.53333rem 6PX .66667rem;width:100%}.emoji-dropdown .tabs-container .emoji-category{padding-top:1px;position:relative}.emoji-dropdown .tabs-container .emoji-category .category-items{display:grid;grid-column-gap:2.44px;grid-template-columns:repeat(9, 1fr);font-size:2.25rem;line-height:2.25rem}.emoji-dropdown .tabs-container .emoji-category .category-items>*{margin:0;padding:4px 4px;line-height:inherit;border-radius:8px;cursor:pointer;user-select:none;-webkit-user-select:none;width:42px;height:42px}.emoji-dropdown .tabs-container .emoji-category .category-items>* .emoji{width:100%;height:100%}.emoji-dropdown .tabs-container .emoji-category .category-items>*:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .emoji-category:first-child{padding-top:5px}.emoji-dropdown .tabs-container .sticker-category{position:relative}.emoji-dropdown .tabs-container .sticker-category::after{content:"";flex:auto}.emoji-dropdown .tabs-container .sticker-category .category-items{width:100%;display:grid;grid-template-columns:repeat(5, 1fr);grid-column-gap:1px}.emoji-dropdown .tabs-container .sticker-category .category-items>div{width:80px;height:80px;display:flex;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none;padding:1px 2.5px;justify-content:center;border-radius:12px;padding:0}.emoji-dropdown .tabs-container .sticker-category .category-items>div:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .sticker-category .category-items>div>*{max-width:100%;max-height:100%}.emoji-dropdown .tabs-container>div{min-height:100%;flex-direction:column;height:100%}.emoji-dropdown .tabs-container>div>div:first-of-type{flex:1;padding:0}.emoji-dropdown .tabs-container .scrollable{padding:0 10px}.emoji-dropdown .emoji-padding .menu-horizontal{border-top:1px solid #dadce0}.emoji-dropdown .emoji-padding .menu-horizontal,.emoji-dropdown .stickers-padding .menu-horizontal{height:47px;border-bottom:none;padding:2px 2px 2px 2px;width:100%}.emoji-dropdown .emoji-padding .menu-horizontal li,.emoji-dropdown .stickers-padding .menu-horizontal li{padding:0;width:50px;height:50px;line-height:50px;display:flex;align-items:center}.emoji-dropdown .emoji-padding .menu-horizontal li.active:after,.emoji-dropdown .stickers-padding .menu-horizontal li.active:after{display:none}.emoji-dropdown #content-stickers .scrollable{padding:15px 5px 0}.emoji-dropdown .emoji-padding .menu-horizontal li,.emoji-dropdown .stickers-padding .menu-horizontal li{font-size:1.65rem}.emoji-dropdown .stickers-padding .menu-wrapper{padding:0;height:50px;max-width:100%;border-top:1px solid #dadce0}.emoji-dropdown .stickers-padding .menu-wrapper .menu-horizontal{width:100%;height:100%}.emoji-dropdown .stickers-padding li{flex:0 0 auto}.emoji-dropdown .stickers-padding li.active:not(.tgico-recent){background-color:rgba(112,117,121,0.08)}.emoji-dropdown .stickers-padding li>*{padding:.75rem;max-width:100%;max-height:100%;width:100%;height:100%}.emoji-dropdown #content-gifs .gifs-masonry{display:flex;flex-wrap:wrap}.emoji-dropdown #content-gifs .gifs-masonry>div{flex:1 0 auto;max-width:100%;height:100px;margin:2.5px;cursor:pointer;background:#000;position:relative}.emoji-dropdown #content-gifs .gifs-masonry>div video{object-fit:cover;width:100%;height:100%}div.scrollable::-webkit-scrollbar{width:0;height:0}div.scrollable::-webkit-scrollbar-thumb{width:0;height:0}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}.scrollable{width:100%;height:100%;overflow-y:hidden;overflow-x:hidden;max-height:100%;position:absolute;top:0px;left:0px;bottom:0px;right:0px}.scrollable.scrollable-x{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.scrollable.scrollable-y{overflow-y:auto;overflow-y:overlay;scrollbar-width:none;-ms-overflow-style:none}div.scrollable-y::-webkit-scrollbar{width:.375rem}::-webkit-scrollbar-thumb{opacity:0;transition:.2s ease-in-out}div.scrollable:hover::-webkit-scrollbar-thumb{height:200px;border-radius:10px;background-color:rgba(0,0,0,0.2);opacity:1}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}.menu-horizontal{color:#707579;border-bottom:1px solid #dadce0;position:relative}.menu-horizontal ul{width:100%;height:100%;margin:0;display:flex;justify-content:space-around;align-items:center;position:relative;z-index:2}.menu-horizontal li{display:inline-block;padding:.75rem 1rem;cursor:pointer;text-align:center;flex:1;user-select:none;font-size:1rem;font-weight:500}.menu-horizontal li.active{color:#50a2e9}.menu-horizontal__stripe{position:absolute;background:#50a2e9;left:-2px;transition:.3s transform, .3s width;bottom:-1px;height:4px;width:1px;transform:scaleX(1) translateX(0px);border-top-left-radius:2px;border-top-right-radius:2px;z-index:1}.tabs-container{min-width:100%;width:100%;display:flex;overflow-x:hidden}.tabs-container.animated{transition:.3s transform}.tabs-container>div{width:100%;max-width:100%;overflow:hidden;display:none}.tabs-container>div.active{display:flex;flex-direction:column}.tabs-container>div>div:not(.scroll-padding){width:100%;max-width:100%;position:relative}@keyframes scaleIn{0%{transform:scale(0.2)}to{transform:scale(1)}}.selector{height:100%;display:flex;flex-direction:column}.selector-search-container{flex:0 0 auto;position:relative;max-height:132px;overflow:hidden}.selector-search-container .scrollable{position:relative}.selector-search{padding:0 24px 0 24px;display:flex;flex-flow:wrap}.selector-search input{border:none;padding:7px 0px 19px 0px;outline:none;flex:1 1 auto}.selector-user{color:#000;background-color:rgba(112,117,121,0.08);font-size:16px;padding:0 17px 0px 0px;line-height:31px;margin-left:-4px;margin-right:12px;height:32px;margin-bottom:7px;border-radius:24px;user-select:none;flex:0 0 auto;transition:.2s all}.selector-user:hover{background-color:#fae2e3;cursor:pointer}.selector-user:hover .selector-user-avatar:after{opacity:1;transform:scaleX(-1) rotate(-90deg)}.selector-user.scale-in{animation:scaleIn .15s ease forwards}.selector-user.scale-out{animation:scaleIn .1s ease forwards;animation-direction:reverse}.selector-user-avatar{height:32px !important;width:32px !important;float:left;margin-right:8px;overflow:hidden;font-size:14px}.selector-user-avatar:after{position:absolute;content:"";left:0;top:0;background-color:#df3f40;height:100%;width:100%;z-index:2;font-size:23px;line-height:32px !important;opacity:0;transition:.2s opacity, .2s transform;transform:scaleX(-1) rotate(0deg)}.selector .chats-container{height:100%;flex:1 1 auto}.selector ul .dialog-avatar{height:48px;width:48px}.selector ul .user-caption{padding:1px 3.5px 1px 12px}.selector ul p{height:24px}.selector ul span.user-title{font-weight:normal}.selector ul span.user-last-message{font-size:14px}.selector ul li{padding-bottom:0}.selector ul li>.rp{margin:0px 9px 0px 8px;padding:12px 8.5px}.selector hr{margin:0 0 8px}.selector [type="checkbox"]+span{padding-left:calc(9px + 2.25rem)}.selector .checkbox{margin-top:11px;padding-left:11px}.popup{position:fixed !important;left:0;top:0;height:100%;max-width:none;width:100%;z-index:3;background-color:rgba(0,0,0,0.3);margin:0;padding:0;box-shadow:none;opacity:0;visibility:hidden;-webkit-transition:opacity 0.3s 0s, visibility 0s 0.3s;-moz-transition:opacity 0.3s 0s, visibility 0s 0.3s;transition:opacity 0.3s 0s, visibility 0s 0.3s;overflow:auto;display:flex;align-items:center;justify-content:center}.popup.active{opacity:1;visibility:visible;-webkit-transition:opacity 0.3s 0s, visibility 0s 0s;-moz-transition:opacity 0.3s 0s, visibility 0s 0s;transition:opacity 0.3s 0s, visibility 0s 0s}.popup.active .popup-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.popup-container{position:relative;border-radius:10px;background-color:#fff;padding:1rem;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px);backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;transition-property:transform;-webkit-transition-duration:0.3s;-moz-transition-duration:0.3s;transition-duration:0.3s}.popup-close{cursor:pointer;color:#707579;z-index:3;text-align:center;justify-self:center;line-height:1;transition:.2s}.popup-close:hover{color:#000}.popup-header{display:flex;margin-bottom:2rem;align-items:center}.popup-avatar .popup-container{max-width:600px;padding:15px 16px 16px 24px;overflow:hidden;display:flex;flex-direction:column}.popup-avatar .popup-container>button{position:absolute;bottom:20px;right:20px}.popup-avatar .popup-close{font-size:1.5rem;margin-top:4px}.popup-avatar .popup-header{margin-bottom:1px}.popup-avatar h6{font-size:1.25rem;text-align:left;margin:0;margin-left:2rem}.popup-avatar .crop{max-width:100%;max-height:100%;padding:24px 54px 46px 46px;border-radius:8px}.popup-avatar .crop>img{display:none}.popup-avatar .crop img{border-radius:8px}.popup-send-photo .popup-container{width:420px;max-width:420px;overflow:hidden;padding:12px 20px 32.5px}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo{max-height:320px;margin:0 auto}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo img{object-fit:contain}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo>div{display:flex;justify-content:center}.popup-send-photo .popup-container.is-album .popup-photo{margin:0 auto;position:relative}.popup-send-photo .popup-container.is-album .popup-photo>div{position:absolute}.popup-send-photo .popup-container.is-document .popup-photo img,.popup-send-photo .popup-container.is-document .popup-photo video,.popup-send-photo .popup-container.is-album .popup-photo img,.popup-send-photo .popup-container.is-album .popup-photo video{object-fit:cover;width:100%;height:100%}.popup-send-photo .popup-header{justify-content:space-between;align-items:center;margin-bottom:9px}.popup-send-photo .popup-header .btn-primary{width:79px;height:36px;font-size:14px;font-weight:normal;padding:0;padding-top:2px;margin-top:-3px;border-radius:10px}.popup-send-photo .popup-close{font-size:1.5rem;margin:-1px 0 0 -4px}.popup-send-photo .popup-title{flex:1;padding:0 2rem 0 1.5rem;margin:0;margin-top:-3px;font-size:1.25rem;font-weight:500}.popup-send-photo .popup-photo{max-width:380px;overflow:hidden;width:fit-content;border-radius:10px}.popup-send-photo .popup-photo .document{max-width:100%;overflow:hidden;cursor:default;padding-left:3.75rem;height:4.5rem}.popup-send-photo .popup-photo .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.popup-send-photo .popup-photo .document-ico{height:48px;width:48px;font-size:16px;font-weight:normal;line-height:11px;letter-spacing:0}.popup-send-photo .input-field{margin-top:1rem}.popup-send-photo .input-field::placeholder{color:#a2acb4}.popup-send-photo .input-field input{height:54px;font-size:1rem;padding:0 15px;border-radius:10px}.popup-send-photo .input-field input:focus{padding:0 14.5px}.popup-send-photo .input-field label{font-size:inherit;opacity:0}.popup-peer .popup-header{display:flex;margin-bottom:0.4375rem;align-items:center;padding:0.125rem 0.25rem}.popup-peer .popup-container{padding:1rem 1.5rem 0.75rem 1rem}.popup-peer .popup-title{padding-left:0.75rem;font-size:1.25rem;font-weight:500;margin-bottom:0.125rem;text-transform:capitalize}.popup-peer .popup-description{padding:0 0.25rem;margin-top:0;margin-bottom:1.625rem;min-width:15rem;max-width:fit-content}.popup-peer .popup-buttons{margin-right:-0.75rem}.popup-peer .popup-buttons .btn{font-weight:500}.popup-peer .popup-buttons .btn+.btn{margin-top:0.625rem}.popup-peer .peer-avatar{height:2rem;width:2rem}html,body{height:100%;width:100%}html{font-size:16px}a{color:#50a2e9}button,input,optgroup,select,textarea,html{font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}.whole{height:100vh;min-height:100vh;width:100%;margin:0 auto;max-width:1680px}.disable-hover,.disable-hover *{pointer-events:none !important}.container{margin:0 auto}h1,h2,h3,h4,h5,h6{font-weight:500}body.is-mac *{font-weight:normal !important}h4{font-size:2rem;margin:22px 0 14px;line-height:110%}input{caret-color:#4EA4F6}.subtitle{color:#707579;line-height:1.35}.page-authCode .auth-image{transform:translateY(12px)}.page-authCode .phone-wrapper{display:flex;align-items:center;justify-content:center}.page-authCode .phone-wrapper h4[contenteditable="true"]{padding:0 1rem;border:none;outline:none;padding:0 1rem;border-bottom:2px solid #4EA4F6}.page-authCode .phone-wrapper .phone.error{border-color:#E53935 !important}.page-authCode .subtitle{margin-top:0}.btn-icon{text-align:center;font-size:1.5rem;line-height:1.5rem;border-radius:50%;-webkit-transition:background-color .15s ease-out;transition:background-color .15s ease-out;color:#707579;cursor:pointer;background:none;border:none;padding:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.btn-icon.active{color:#50a2e9}.btn-icon:hover{background-color:rgba(112,117,121,0.08)}.btn-corner{position:absolute !important;bottom:20px;right:20px;transition:.2s ease;transform:translateY(calc(100% + 20px));z-index:3}.btn-corner.is-visible{transform:translateY(0px)}.danger{color:#E53935 !important}.btn-menu{visibility:hidden;position:absolute;background:#fff;box-shadow:0 5px 8px 1px rgba(0,0,0,0.24);z-index:3;top:100%;margin-top:8px;padding:9px 0;border-radius:10px;opacity:0;transform:scale(0.8);transition-property:opacity,transform,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);font-size:16px}.btn-menu.active{visibility:visible;opacity:1;transform:scale(1)}.btn-menu.bottom-left{right:0;top:100%;transform-origin:top right}.btn-menu.bottom-right{left:0;top:100%;transform-origin:top left}.btn-menu.top-left{top:initial;right:0;bottom:100%;transform-origin:bottom right}.btn-menu.top-right{top:initial;left:0;bottom:100%;transform-origin:bottom left}.btn-menu>div{display:flex;position:relative;padding:0 40px 0 20px;height:56px;cursor:pointer;background-position:16px center;background-size:24px 24px;background-repeat:no-repeat;color:#000;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-items:center}.btn-menu>div:hover{background-color:rgba(112,117,121,0.06)}.btn-menu>div:before{color:#707579;font-size:1.5rem;margin-right:32px}.btn-menu>div.danger:before{color:#E53935}#bubble-contextmenu,#dialogs-contextmenu{position:fixed;right:auto;bottom:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInFadeOut{0%{opacity:0}10%{opacity:1}50%{opacity:1}to{opacity:0}}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);padding:.5rem 1rem;background-color:rgba(0,0,0,0.66);color:#fff;font-size:1rem;border-radius:10px;animation:fadeInFadeOut 3s linear forwards}hr{width:100%;border:none;border-bottom:1px solid #DADCE0;margin:0 0 8px}avatar-element{color:#fff;width:54px;height:54px;line-height:54px;border-radius:50%;background-color:#50a2e9;text-align:center;font-size:1.25em;position:relative;user-select:none;display:flex;align-items:center;justify-content:center}avatar-element img{width:100%;height:100%;border-radius:inherit;user-select:none}avatar-element img.fade-in{animation:fadeIn .2s ease forwards}avatar-element[class*=" tgico-"]{line-height:52px;font-size:28px}avatar-element path{fill:white}avatar-element.is-online:after{position:absolute;content:" ";display:block;border-radius:50%;border:2px solid white;background-color:#0ac630;left:74%;top:73%;width:14px;height:14px}avatar-element.tgico-avatar_deletedaccount{font-size:3rem}.user-title,b{color:#000;font-weight:500}.user-last-message b{font-weight:400}.rp{position:relative}.c-ripple{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden;background:transparent;border-radius:inherit}.c-ripple__circle{background-color:rgba(0,0,0,0.08);display:block;position:absolute;transform:scale(0);border-radius:50%;animation:ripple-effect .7s forwards;transition:.35s opacity;overflow:hidden}.c-ripple__circle.hiding{opacity:0}@keyframes ripple-effect{0%{transform:scale(0)}to{transform:scale(2)}}.document{padding-left:4.5rem;height:70px}.document-ico{background-color:#50a2e9;border-radius:5px;line-height:10px}.document-ico:after{content:"";display:block;position:absolute;top:0;right:0;width:1.125rem;height:1.125rem;border-bottom-left-radius:.25rem;border-left:0.5625rem solid rgba(0,0,0,0.25);border-bottom:0.5625rem solid rgba(0,0,0,0.25);border-top:.5625rem solid #fff;border-right:.5625rem solid #fff}.document-ico,.document-download{font-weight:500;letter-spacing:1px;font-size:1.1rem;background-size:contain;overflow:hidden;text-overflow:ellipsis}.document-download{background-color:#50a2e9;border-radius:8px}.document.ext-zip .document-ico,.document.ext-zip .document-download{background-color:#FB8C00}.document.ext-pdf .document-ico,.document.ext-pdf .document-download{background-color:#DF3F40}.document.ext-apk .document-ico,.document.ext-apk .document-download{background-color:#43A047}.document:not(.photo) .document-ico{padding-top:1.5rem}.document.photo .document-ico{background:#000;border-radius:8px}.document.photo .document-ico:after{display:none}.document-name{white-space:nowrap;font-weight:500;line-height:1.3}.document-size{white-space:nowrap;color:#707579;font-size:14px;padding-right:32px;line-height:1.3}.document,.audio{display:flex;flex-direction:column;justify-content:center;cursor:pointer;position:relative}.document-ico,.document-download,.audio-ico,.audio-download{position:absolute;left:0;width:54px;height:54px;color:#fff;display:flex;justify-content:center}.document-download,.audio-download{z-index:1;align-items:center;font-size:24px;cursor:pointer}.document-download .tgico-download,.audio-download .tgico-download{transform:scale(1);transition:.2s scale}.document-download.downloading .tgico-download,.audio-download.downloading .tgico-download{transform:scale(0)}.document .preloader-container,.audio .preloader-container{width:42px;height:42px}.audio{position:relative;padding-left:67px;min-height:58px;max-width:244px;overflow:visible !important}.audio-toggle,.audio-download{border-radius:50%;background-color:#50a2e9;font-size:2.3rem;align-items:center}.audio-download{z-index:2}.audio-waveform{height:23px}.audio-waveform rect{fill:#CBCBCB}.audio-waveform rect.active{fill:#50a2e9}.audio-title{font-size:1rem;color:#000}.audio-time,.audio-subtitle{font-size:14px;color:#707579;margin-top:3px;margin-left:-1px}.audio-title,.audio:not(.audio-show-progress) .audio-subtitle{white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}#auth-pages{max-width:720px;overflow:hidden}#auth-pages .subtitle{margin:0}#auth-pages .input-wrapper{margin-top:49px}#auth-pages .tabs-container{height:100%;transform:translateX(0);width:100%}#auth-pages .tabs-container.animated{transition:.42s transform}#auth-pages .tabs-container>div:before,#auth-pages .tabs-container>div:after{content:" ";flex:1;min-height:3rem;width:100%}#auth-pages .tabs-container>div>div{height:810px;padding:0;flex:1 1 auto;display:flex;flex-direction:column}@media (max-height: 858px){#auth-pages{height:auto}}.page-sign .auth-image,.page-signUp .auth-image{width:10rem;height:10rem;margin-bottom:1.5rem}.page-sign .qr,.page-signQR .qr{margin-top:1.5rem}.page-sign p.qr-description,.page-signQR p.qr-description{color:#707579;line-height:1.85;text-align:left;margin-left:auto;margin-right:auto}.avatar-edit{position:relative;border-radius:50%;cursor:pointer;overflow:hidden}.avatar-edit-canvas{max-width:100%;max-height:100%;width:100%;height:100%;background-color:#50a2e9}.avatar-edit .tgico-cameraadd{position:absolute;font-size:48px;line-height:48px;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);z-index:2;color:#fff}.avatar-edit .avatar-placeholder{position:absolute;left:0;top:0;width:100%;height:100%;filter:brightness(0.7)}.page-signUp .auth-image{margin-top:10px;margin-bottom:14px}.input-wrapper{width:360px;margin:0 auto}.input-field{position:relative}.input-field .arrow-down{position:absolute;content:" ";top:50%;bottom:0;right:21px;cursor:pointer;height:0;width:0;border:solid #bdbdbd;border-radius:1px;border-width:0 2px 2px 0;display:inline-block;padding:5px;vertical-align:middle;z-index:2;margin-top:-9px;transform:rotate(45deg);-webkit-transform:rotate(45deg);transition:.2s all}.input-field label{position:absolute;color:#9e9e9e;left:1rem;right:auto;z-index:2;top:50%;transform:translateY(-50%);background-color:#fff;transition:.2s all, .1s opacity;display:inline-block;cursor:text}.input-field input{border:1px solid #DADCE0;border-radius:10px;padding:0 1rem;box-sizing:border-box;width:100%;height:54px;transition:.2s border-color;position:relative;z-index:1}.input-field input:focus{border-color:#4EA4F6;border-width:2px;padding:0 calc(1rem - 1px)}.input-field input:disabled{background-color:#fff;color:#000}.input-field input.error{border-color:#E53935}.input-field input.error+label{color:#E53935 !important}.input-field input.valid{border-color:#26962F}.input-field input.valid+label{color:#26962F !important}.input-field input:focus ~ .arrow-down{margin-top:-4px;transform:rotate(225deg);-webkit-transform:rotate(225deg);border-color:#4EA4F6}.input-field input:focus+label{color:#4EA4F6}.input-field input:focus+label,.input-field input:valid+label,.input-field input:disabled+label{top:-.5rem;transform:none;padding:0 5px;left:.75rem;font-size:0.75rem !important;opacity:1}.checkbox-field{margin:1.25rem 0;display:block;text-align:left;padding:0 19px;position:relative}[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="checkbox"]+span{position:relative;padding-left:calc(18px + 2.25rem);cursor:pointer;display:inline-block;height:25px;line-height:25px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:before,[type="checkbox"]+span:after{content:\'\';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s}[type="checkbox"]+span:before{border-radius:2px;z-index:1}[type="checkbox"]+span:after{height:18px;width:18px;z-index:0;border:2px solid #4EA4F6;border-radius:3px;top:50%;transform:translateY(-50%)}[type="checkbox"]:not(:checked)+span:before{width:0;height:0;border:2px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked+span:before{top:4px;left:-1px;width:8px;height:14px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:not(:checked)+span:after{background-color:transparent;border-color:#8d969c}[type="checkbox"]:checked+span:after{background-color:#4EA4F6}.input-wrapper>*+*{margin-top:1.5rem}.select-wrapper{max-height:23.5rem;position:absolute;width:100%;top:calc(100% + .5rem);left:0;overflow:hidden;background-color:#fff;z-index:3;border-radius:10px;display:flex;flex-direction:column;flex-wrap:wrap}.select-wrapper ul{margin:.5rem 0}.select-wrapper li{align-items:center;padding:0 1rem;justify-content:space-between;height:3.5rem;cursor:pointer;text-align:left;display:grid;grid-template-columns:calc(26px + 2rem) 1fr 50px}.select-wrapper li:hover{background-color:rgba(112,117,121,0.08)}.select-wrapper .emoji{height:26px;width:26px;font-size:26px;line-height:1}.select-wrapper .scrollable{position:relative}.phone-code{color:#9e9e9e;text-align:right}::placeholder{color:#a2acb4;opacity:1}:-ms-input-placeholder{color:#a2acb4}::-ms-input-placeholder{color:#a2acb4}input:focus,button:focus{outline:none}.auth-image{width:166px;height:166px;margin:0 auto 18px}.phone-edit{display:inline-block;width:24px;height:24px;margin-left:.4rem;opacity:.5;transition:.2s;cursor:pointer;font-size:1.5rem}.phone-edit:hover{opacity:1}.btn-primary{background:#50a2e9;color:#fff;border-radius:10px;width:100%;text-align:center;height:54px;border:none;font-weight:500;cursor:pointer;overflow:hidden;position:relative;padding:0}.btn-primary:hover{background:#2c8fe4}.btn-primary svg,.btn-primary use{height:calc(100% - 20px);right:15px;left:auto}.btn-primary.btn-circle .preloader-circular{height:calc(100% - 20px);right:auto;left:auto;margin:0;top:10px}.btn-primary.btn-circle .preloader-circular .preloader-path{stroke:#fff}.btn-menu-toggle{position:relative;overflow:visible !important;font-weight:normal !important}.btn-menu-toggle:not(.btn-primary).menu-open{background-color:rgba(112,117,121,0.08)}.preloader-circular{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.preloader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:white;stroke-width:3}.preloader-container{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:50px;height:50px}.preloader-container .you-spin-me-round{width:100%;height:100%;animation:rotate 2s linear infinite}.preloader-container .preloader-circular{animation:none;cursor:pointer;background-color:rgba(0,0,0,0.7);border-radius:50%;width:100%;height:100%}.preloader-container .preloader-path-new{stroke-dasharray:5, 200;stroke-dashoffset:0;transition:stroke-dasharray 400ms ease-in-out;stroke-linecap:round;stroke:white;stroke-width:1.5}.preloader-container.preloader-swing{cursor:default}.preloader-container.preloader-swing .preloader-circular{cursor:default}.preloader-container.preloader-swing .preloader-path-new{stroke-dasharray:1, 200;stroke-dashoffset:0;animation:dashNew 1.5s ease-in-out infinite}.preloader-container .preloader-close{cursor:pointer;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;color:#fff;stroke:#fff;width:34%;height:34%}.preloader-container .preloader-close:hover{background:none}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}@keyframes dashNew{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-286%}}.emoji{display:inline-block;max-width:100%;max-height:100%;vertical-align:middle;line-height:1em;font-size:1em;font-family:apple color emoji,segoe ui emoji,noto color emoji,android emoji,emojisymbols,emojione mozilla,twemoji mozilla,segoe ui symbol}img.emoji{width:18px;height:18px}.btn-circle{border-radius:50%;height:54px;width:54px;line-height:54px}.btn-circle path{fill:white}.overlay::selection{background:transparent}.crop-component::selection{background:transparent}.crop-image,.overlay>img{width:auto;height:auto;display:block;object-fit:contain;object-position:center}.crop-image{display:block;position:relative;pointer-events:none}.crop-component{position:relative;z-index:999;background-color:white;margin:0 auto;overflow:hidden}.crop-component>img{max-width:100%}.crop-component .crop-overlay-color{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);border-radius:8px}.overlay{position:absolute;left:50%;top:50%;z-index:999;margin-left:-100px;margin-top:-100px;width:200px;height:200px;overflow:hidden;box-sizing:content-box;border-radius:50%}.overlay:hover,.overlay:active{cursor:move}.overlay>img{position:absolute;display:block}[contenteditable]{-webkit-user-select:text;user-select:text}.justify-start{justify-content:flex-start !important}.position-center{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.sticky_sentinel{position:absolute;left:0;right:0;visibility:hidden;pointer-events:none}.page-chats{display:flex;max-height:100vh;min-height:100vh}.page-chats .avatar-edit .tgico-cameraadd{top:52%}.page-chats>div{height:100%;position:relative;min-height:100%;max-height:100%}.page-chats #column-left{width:25%}.page-chats .chat-container{background-color:#e6ebee;width:100%;flex:1}.page-chats .preloader{width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}.page-chats .preloader-path{stroke:#4EA4F6}.page-chats #search-container,.page-chats .sidebar-search{flex-direction:column;width:100%;max-height:100%;height:100%;overflow:hidden;position:absolute;left:0;top:0;z-index:3;background:#fff}@media (min-width: 1680px){.page-chats{border-top-width:0;border-bottom-width:0;border-left-width:1px;border-right-width:1px;border-style:solid;border-color:#DADCE0}}.page-password #password{padding-right:2.5rem}.page-password #password[type="password"]{font-size:2.25rem;padding-left:10px}.page-password .toggle-visible{position:absolute;right:.25rem;z-index:2;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#9e9e9e;cursor:pointer;transition:.2s;padding:.5rem}.page-password .toggle-visible:hover{color:#000}\n',""]),e.exports=t},function(e,t){e.exports="assets/img/camomile_blurred.jpg"},function(e,t){e.exports="assets/img/msg-tail-left.svg"},function(e,t){e.exports="assets/img/msg-tail-right.svg"},function(e,t,i){var s=i(33),a=i(63);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){var s=i(34),a=i(40),o=i(64),n=i(65),r=i(66),l=i(67);t=s(!1);var d=a(o),c=a(n),u=a(r),h=a(l);t.push([e.i,'@font-face{font-family:"tgico";src:url('+d+");src:url("+d+') format("embedded-opentype"),url('+c+') format("truetype"),url('+u+') format("woff"),url('+h+') format("svg");font-weight:normal;font-style:normal;font-display:block}[class^="tgico-"],.tgico:before,.tgico:after,[class*=" tgico-"]:before,[class*=" tgico-"]:after{font-family:"tgico" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tgico-check:before{content:""}.tgico-checks:before{content:""}.tgico-activesessions:before{content:"\\e902"}.tgico-add:before{content:"\\e903"}.tgico-addmember_filled:before{content:"\\e904"}.tgico-adduser:before{content:"\\e905"}.tgico-admin:before{content:"\\e906"}.tgico-animals:before{content:"\\e907"}.tgico-archive:before{content:"\\e908"}.tgico-attach:before{content:"\\e909"}.tgico-avatar_archivedchats:before{content:"\\e90a"}.tgico-avatar_deletedaccount:before{content:"\\e90b"}.tgico-avatar_savedmessages:before{content:"\\e90c"}.tgico-back:before{content:"\\e90d"}.tgico-bots:before{content:"\\e90e"}.tgico-calendar:before{content:"\\e90f"}.tgico-camera:before{content:"\\e910"}.tgico-cameraadd:before{content:"\\e911"}.tgico-car:before{content:"\\e912"}.tgico-channel:before{content:"\\e913"}.tgico-channelviews:before{content:"\\e914"}.tgico-chatsplaceholder:before{content:"\\e915"}.tgico-check1:before{content:"\\e916"}.tgico-checkbox:before{content:"\\e917"}.tgico-checkboxblock:before{content:"\\e918"}.tgico-checkboxempty:before{content:"\\e919"}.tgico-checkboxon:before{content:"\\e91a"}.tgico-close:before{content:""}.tgico-clouddownload:before{content:"\\e91c"}.tgico-colorize:before{content:"\\e91d"}.tgico-copy:before{content:"\\e91e"}.tgico-data:before{content:"\\e91f"}.tgico-delete:before{content:"\\e920"}.tgico-delete_filled:before{content:"\\e921"}.tgico-deleteleft:before{content:"\\e922"}.tgico-deleteuser:before{content:"\\e923"}.tgico-document:before{content:"\\e924"}.tgico-down:before{content:"\\e925"}.tgico-download:before{content:"\\e926"}.tgico-eats:before{content:"\\e927"}.tgico-edit:before{content:"\\e928"}.tgico-eye1:before{content:"\\e929"}.tgico-eye2:before{content:"\\e92a"}.tgico-favourites:before{content:"\\e92b"}.tgico-flag:before{content:"\\e92c"}.tgico-folder:before{content:"\\e92d"}.tgico-forward:before{content:"\\e92e"}.tgico-FullScreen:before{content:"\\e92f"}.tgico-gifs:before{content:"\\e930"}.tgico-group:before{content:"\\e931"}.tgico-help:before{content:"\\e932"}.tgico-info:before{content:"\\e933"}.tgico-info2:before{content:"\\e934"}.tgico-keyboard:before{content:"\\e935"}.tgico-lamp:before{content:"\\e936"}.tgico-language:before{content:"\\e937"}.tgico-largepause:before{content:"\\e938"}.tgico-largeplay:before{content:"\\e939"}.tgico-livelocation:before{content:"\\e93a"}.tgico-location:before{content:"\\e93b"}.tgico-lock:before{content:"\\e93c"}.tgico-logout:before{content:"\\e93d"}.tgico-menu:before{content:"\\e93e"}.tgico-message:before{content:"\\e93f"}.tgico-microphone:before{content:"\\e940"}.tgico-microphone2:before{content:"\\e941"}.tgico-minus:before{content:"\\e942"}.tgico-more:before{content:"\\e943"}.tgico-mute:before{content:"\\e944"}.tgico-muted:before{content:"\\e945"}.tgico-newchannel:before{content:"\\e946"}.tgico-newchat_filled:before{content:"\\e947"}.tgico-newgroup:before{content:"\\e948"}.tgico-newprivate:before{content:"\\e949"}.tgico-next:before{content:""}.tgico-noncontacts:before{content:"\\e94b"}.tgico-nosound:before{content:"\\e94c"}.tgico-pause:before{content:"\\e94d"}.tgico-permissions:before{content:"\\e94e"}.tgico-phone:before{content:"\\e94f"}.tgico-photo:before{content:"\\e950"}.tgico-pin:before{content:"\\e951"}.tgico-pinnedchat:before{content:"\\e952"}.tgico-play:before{content:"\\e953"}.tgico-poll:before{content:"\\e954"}.tgico-radiooff:before{content:"\\e955"}.tgico-radioon:before{content:"\\e956"}.tgico-readchats:before{content:"\\e957"}.tgico-recent:before{content:"\\e958"}.tgico-reply:before{content:"\\e959"}.tgico-revote:before{content:"\\e95a"}.tgico-savedmessages:before{content:"\\e95b"}.tgico-search:before{content:"\\e95c"}.tgico-send:before{content:"\\e95d"}.tgico-send2:before{content:"\\e95e"}.tgico-sending:before{content:""}.tgico-sendingerror:before{content:"\\e960"}.tgico-settings:before{content:"\\e961"}.tgico-smallscreen:before{content:"\\e962"}.tgico-smile:before{content:"\\e963"}.tgico-sport:before{content:"\\e964"}.tgico-stickers:before{content:"\\e965"}.tgico-stop:before{content:"\\e966"}.tgico-tip:before{content:"\\e967"}.tgico-unarchive:before{content:"\\e968"}.tgico-unlock:before{content:"\\e969"}.tgico-unmute:before{content:"\\e96a"}.tgico-unpin:before{content:"\\e96b"}.tgico-unread:before{content:"\\e96c"}.tgico-up:before{content:"\\e96d"}.tgico-user:before{content:"\\e96e"}.tgico-username:before{content:"\\e96f"}\n',""]),e.exports=t},function(e,t){e.exports="assets/fonts/tgico.eot"},function(e,t){e.exports="assets/fonts/tgico.ttf"},function(e,t){e.exports="assets/fonts/tgico.woff"},function(e,t){e.exports="assets/fonts/tgico.svg"},function(e,t,i){!function(){"use strict";e.exports={polyfill:function(){var e=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var i,s=e.HTMLElement||e.Element,a=468,o={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:s.prototype.scroll||l,scrollIntoView:s.prototype.scrollIntoView},n=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,r=(i=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(i)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==d(arguments[0])?p.call(e,t.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):o.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(d(arguments[0])?o.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):p.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},s.prototype.scroll=s.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==d(arguments[0])){var e=arguments[0].left,t=arguments[0].top;p.call(this,this,void 0===e?this.scrollLeft:~~e,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},s.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==d(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},s.prototype.scrollIntoView=function(){if(!0!==d(arguments[0])){var i=function(e){for(;e!==t.body&&!1===(s=c(i=e,"Y")&&u(i,"Y"),a=c(i,"X")&&u(i,"X"),s||a);)e=e.parentNode||e.host;var i,s,a;return e}(this),s=i.getBoundingClientRect(),a=this.getBoundingClientRect();i!==t.body?(p.call(this,i,i.scrollLeft+a.left-s.left,i.scrollTop+a.top-s.top),"fixed"!==e.getComputedStyle(i).position&&e.scrollBy({left:s.left,top:s.top,behavior:"smooth"})):e.scrollBy({left:a.left,top:a.top,behavior:"smooth"})}else o.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function l(e,t){this.scrollLeft=e,this.scrollTop=t}function d(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function c(e,t){return"Y"===t?e.clientHeight+r1?1:l,i=.5*(1-Math.cos(Math.PI*r)),s=t.startX+(t.x-t.startX)*i,o=t.startY+(t.y-t.startY)*i,t.method.call(t.scrollable,s,o),s===t.x&&o===t.y||e.requestAnimationFrame(h.bind(e,t))}function p(i,s,a){var r,d,c,u,p=n();i===t.body?(r=e,d=e.scrollX||e.pageXOffset,c=e.scrollY||e.pageYOffset,u=o.scroll):(r=i,d=i.scrollLeft,c=i.scrollTop,u=l),h({scrollable:r,method:u,startTime:p,startX:d,startY:c,x:s,y:a})}}}}()},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(35)),o=s(i(70)),n=s(i(22)),r=s(i(52)),l=s(i(14)),d=s(i(1)),c=s(i(18));i(21);let u=null;let h=null,p=null;const m=new c.default("page-authCode",!0,()=>{let e,t,i=0,s=0;const c=u.type.length,h=m.pageEl.querySelector("#code"),p=h.nextElementSibling,g=m.pageEl.querySelector(".phone-edit");h.focus(),g.addEventListener("click",(function(){return a.default.mount()}));let f=()=>{setTimeout(()=>{e&&e.destroy(),t&&t.destroy()},300)};h.addEventListener("input",(function(a){this.classList.remove("error"),this.value=this.value.replace(/\D/g,""),this.value.length>c&&(this.value=this.value.slice(0,c));let l,m=this.value.length;if(m==c)(e=>{h.setAttribute("disabled","true");let t={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,phone_code:e};console.log("invoking auth.signIn with params:",t),d.default.invokeApi("auth.signIn",t,{ignoreErrors:!0}).then(e=>{switch(console.log("auth.signIn response:",e),e._){case"auth.authorization":d.default.setUserAuth({id:e.user.id}),n.default.mount(),f();break;case"auth.authorizationSignUpRequired":console.log("Registration needed!"),o.default.mount({phone_number:u.phone_number,phone_code_hash:u.phone_code_hash}),f();break;default:h.innerText=e._}}).catch(e=>{switch(h.removeAttribute("disabled"),e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageAuthCode: SESSION_PASSWORD_NEEDED"),e.handled=!0,f(),r.default.mount();break;case"PHONE_CODE_EMPTY":case"PHONE_CODE_INVALID":h.classList.add("error"),p.innerText="Invalid Code";break;default:p.innerText=e.type}})})(this.value);else if(m==s)return;if(s=m,!e)return;m?(l=Math.round(Math.min(45,m)*(165/45)+11.33),t.canvas.style.display="none",e.canvas.style.display=""):l=0;let g=i>l?-1:1;console.log("keydown",m,l,g),e.setDirection(g),0!=i&&0==l&&e.setSpeed(7),i=l,e.play()}));let b=m.pageEl.querySelector(".auth-image");return Promise.all([l.default.loadLottieWorkers(),fetch("assets/img/TwoFactorSetupMonkeyIdle.tgs").then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(e=>l.default.loadAnimationWorker({container:b,loop:!0,autoplay:!0,animationData:JSON.parse(e),width:166,height:166})).then(e=>{t=e}),fetch("assets/img/TwoFactorSetupMonkeyTracking.tgs").then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(e=>l.default.loadAnimationWorker({container:b,loop:!1,autoplay:!1,animationData:JSON.parse(e),width:166,height:166})).then(s=>{e=s,h.value.length||(e.canvas.style.display="none"),e.addListener("enterFrame",s=>{console.log("enterFrame",s,i),(1==e.direction&&s>=i||-1==e.direction&&s<=i)&&(e.setSpeed(1),e.pause()),0==s&&0==i&&(e.curFrame=0,t&&(e.canvas.style.display="none",t.canvas.style.display="",t.restart()))})})])},e=>{switch(u=e,h||(h=m.pageEl.getElementsByClassName("phone")[0],p=m.pageEl.getElementsByClassName("sent-type")[0]),h.innerText=u.phone_number,u.type._){case"auth.sentCodeTypeSms":p.innerHTML="We have sent you an SMS
with the code.";break;case"auth.sentCodeTypeApp":p.innerHTML="We have sent you a message in Telegram
with the code.";break;case"auth.sentCodeTypeCall":p.innerHTML="We will call you and voice
the code.";break;default:p.innerHTML=`Please check everything
for a code (type: ${u.type._})`}});t.default=m},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(2),o=s(i(22)),n=s(i(1)),r=s(i(18)),l=s(i(50)),d=s(i(16));let c=null;const u=new r.default("page-signUp",!0,()=>{const e=u.pageEl,t=e.querySelector("#canvas-avatar");let i;e.querySelector(".auth-image").addEventListener("click",()=>{l.default.open(t,e=>{i=e})});const s=e.getElementsByClassName("fullName")[0];let r=function(e){let t=h.value||"",i=p.value||"",a=t||i?(t+" "+i).trim():"Your Name";s.innerText!=a&&(s.innerText=a),this.classList.remove("error")};const h=document.getElementById("name");h.addEventListener("input",r);const p=document.getElementById("lastName");p.addEventListener("input",r),document.getElementById("signUp").addEventListener("click",(function(e){if(this.setAttribute("disabled","true"),!h.value.length)return h.classList.add("error"),!1;let t=h.value,s=p.value,r={phone_number:c.phone_number,phone_code_hash:c.phone_code_hash,first_name:t,last_name:s};console.log("invoking auth.signUp with params:",r),this.textContent="PLEASE WAIT...",a.putPreloader(this),n.default.invokeApi("auth.signUp",r).then(e=>{switch(console.log("auth.signUp response:",e),e._){case"auth.authorization":n.default.setUserAuth({id:e.user.id}),new Promise((e,t)=>{if(!i)return console.log("User has not selected avatar"),e();console.log("invoking uploadFile..."),i().then(i=>{console.log("uploaded smthn",i),d.default.uploadProfilePhoto(i).then(e,t)},t)}).then(()=>{o.default.mount()},()=>{o.default.mount()});break;default:this.innerText=e._}}).catch(e=>{this.removeAttribute("disabled"),e.type,this.innerText=e.type})}))},e=>{c=e});t.default=u},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=i(2),n=s(i(14));const r=new class{constructor(){this.pageID=-1,this.pagesDiv=document.getElementById("auth-pages"),this.selectTab=o.horizontalMenu(null,this.pagesDiv.firstElementChild,null,null,420)}setPage(e){if(e.isAuthPage){this.pagesDiv.style.display="";let t=a.whichChild(e.pageEl);if(this.pageID==t)return;this.selectTab(t),-1!=this.pageID&&t>1&&n.default.loadLottieWorkers(),this.pageID=t}else this.pagesDiv.style.display="none",e.pageEl.style.display="",this.pageID=-1}};window.pagesManager=r,t.default=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(10);t.default=class{sha1Hash(e){return this.performTaskWorker("sha1-hash",e)}sha256Hash(e){return this.performTaskWorker("sha256-hash",e)}pbkdf2(e,t,i){return this.performTaskWorker("pbkdf2",e,t,i)}aesEncrypt(e,t,i){return this.performTaskWorker("aes-encrypt",s.convertToArrayBuffer(e),s.convertToArrayBuffer(t),s.convertToArrayBuffer(i))}aesDecrypt(e,t,i){return this.performTaskWorker("aes-decrypt",e,t,i).then(e=>s.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=s.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,i){return this.performTaskWorker("mod-pow",e,t,i)}gzipUncompress(e,t){return this.performTaskWorker("unzip",e,t)}}},function(e,t,i){e.exports=function(){return new Worker(i.p+"02eaa87b9ae14b0f67d2.worker.js")}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(10),o=s(i(26));const n=new class{constructor(){this.dbName="cachedFiles",this.dbStoreName="files",this.dbVersion=2,this.storageIsAvailable=!0,this.storeBlobsAvailable=!0,this.name="IndexedDB",this.openDatabase()}isAvailable(){return this.storageIsAvailable}openDatabase(){if(this.openDbPromise)return this.openDbPromise;var e;try{var t=indexedDB.open(this.dbName,this.dbVersion);if(e=e=>{e.createObjectStore(this.dbStoreName)},!t)throw new Error}catch(e){return console.error("error opening db",e.message),this.storageIsAvailable=!1,Promise.reject(e)}var i=!1;return setTimeout(()=>{i||t.onerror({type:"IDB_CREATE_TIMEOUT"})},3e3),this.openDbPromise=new Promise((s,a)=>{t.onsuccess=e=>{i=!0;var o=t.result;console.log("Opened IndexedDB"),o.onerror=e=>{this.storageIsAvailable=!1,console.error("Error creating/accessing IndexedDB database",e),a(e)},s(o)},t.onerror=e=>{i=!0,this.storageIsAvailable=!1,console.error("Error creating/accessing IndexedDB database",e),a(e)},t.onupgradeneeded=t=>{i=!0,console.warn("performing idb upgrade from",t.oldVersion,"to",t.newVersion);var s=t.target.result;1==t.oldVersion&&s.deleteObjectStore(this.dbStoreName),e(s)}})}deleteFile(e){return this.openDatabase().then(t=>{try{var i=t.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName);console.log("Delete file: `"+e+"`");var s=i.delete(e)}catch(e){return Promise.reject(e)}return new Promise((e,t)=>{s.onsuccess=function(t){console.log("deleted file",t),e()},s.onerror=function(e){t(e)}})})}saveFile(e,t){return this.openDatabase().then(i=>{if(!this.storeBlobsAvailable)return this.saveFileBase64(i,e,t);t instanceof Blob||(t=a.blobConstruct([t]));try{var s=i.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName).put(t,e)}catch(s){return this.storeBlobsAvailable?(this.storeBlobsAvailable=!1,this.saveFileBase64(i,e,t)):(this.storageIsAvailable=!1,Promise.reject(s))}return new Promise((e,i)=>{s.onsuccess=function(i){e(t)},s.onerror=function(e){i(e)}})})}saveFileBase64(e,t,i){if(this.getBlobSize(i)>10485760)return Promise.reject();if(!(i instanceof Blob)){var s="data:"+a.blobSafeMimeType(i.type||"image/jpeg")+";base64,"+a.bytesToBase64(i);return this.storagePutB64String(e,t,s).then(()=>i)}try{var o=new FileReader}catch(e){return this.storageIsAvailable=!1,Promise.reject()}let n=new Promise((s,a)=>{o.onloadend=()=>{this.storagePutB64String(e,t,o.result).then(()=>{s(i)},a)},o.onerror=a});try{o.readAsDataURL(i)}catch(e){return this.storageIsAvailable=!1,Promise.reject()}return n}storagePutB64String(e,t,i){try{var s=e.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName).put(i,t)}catch(e){return this.storageIsAvailable=!1,Promise.reject(e)}return new Promise((e,t)=>{s.onsuccess=function(t){e()},s.onerror=t})}getBlobSize(e){return e.size||e.byteLength||e.length}getFile(e,t){return this.openDatabase().then(t=>{var i=t.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).get(e);return new Promise((e,t)=>{i.onsuccess=function(i){var s=i.target.result;void 0===s?t():"string"==typeof s&&"data:"===s.substr(0,5)?e(a.dataUrlToBlob(s)):e(s)},i.onerror=t})})}getAllKeys(){return console.time("getAllEntries"),this.openDatabase().then(e=>{var t=e.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).getAllKeys();return new Promise((e,i)=>{t.onsuccess=function(t){var i=t.target.result;e(i),console.timeEnd("getAllEntries")},t.onerror=i})})}isFileExists(e){return console.time("isFileExists"),this.openDatabase().then(t=>{var i=t.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).openCursor(e);return new Promise((e,t)=>{i.onsuccess=function(t){var i=t.target.result;e(!!i),console.timeEnd("isFileExists")},i.onerror=t})})}getFileWriter(e,t){var i=o.default.getFakeFileWriter(t,t=>{this.saveFile(e,t)});return Promise.resolve(i)}};t.default=n},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(12)),o=i(21);class n{constructor(){this.disabled=o.Modes.test||-1==o.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;a.default.get("tgme_sync").then(t=>{var i=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>i)return!1;a.default.set({tgme_sync:{canRedirect:e,ts:i}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=n,t.telegramMeWebService=new n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var i,s,a,o={},n=1,r=0,l=0,d=0,c=0;function u(){if(e.dataset.isCrop)throw"image is already crop";e.dataset.isCrop="true",e.classList.add("crop-blur"),e.draggable=!1,(a=new Image).crossOrigin=e.crossOrigin,a.src=e.src,a.draggable=!1,t||(t=document.createElement("canvas")),(i=document.createElement("div")).classList.add("crop-component"),(s=document.createElement("div")).classList.add("overlay");let o=document.createElement("div");o.classList.add("crop-overlay-color"),i.appendChild(s),e.parentNode.appendChild(i),i.appendChild(a),i.appendChild(e),i.appendChild(o),s.appendChild(a),a.style.maxWidth=e.width+"px",h(e.offsetWidth/2-100,e.offsetHeight/2-100),s.addEventListener("mousedown",b,!1),s.addEventListener("touchstart",b,!1),s.addEventListener("wheel",f,!1),document.addEventListener("keypress",g,!1)}function h(e,t){r=-e*n,l=-t*n,a.style.top=-t+"px",a.style.left=-e+"px"}function p(e,t){let i=t+100+"px",a=e+100+"px";s.style.top=i,s.style.left=a}function m(e){e=e*Math.PI*2;var t,i,o,r,l,d,c=Math.floor(s.clientWidth+e),u=Math.floor(s.clientHeight+e),m=a.clientWidth,g=a.clientHeight;c<50||(c>m||(o=(t=s.offsetLeft-e/2)+c,r=(i=s.offsetTop-e/2)+u,t<0&&(t=0),i<0&&(i=0),o>m||r>g||(n=200/c,l=c,d=c,s.style.width=l+"px",s.style.height=d+"px",h(t,i),p(t,i))))}function g(e){switch(e.preventDefault(),String.fromCharCode(e.charCode)){case"+":m(4);break;case"-":m(-4)}}function f(e){e.preventDefault(),m(e.deltaY>0?1:-1)}function b(e){e.preventDefault(),e.stopPropagation(),function(e){o.container_width=s.offsetWidth,o.container_height=s.offsetHeight,o.container_left=s.offsetLeft,o.container_top=s.offsetTop,o.mouse_x=(e.clientX||e.pageX||e.touches&&e.touches[0].clientX)+window.scrollX,o.mouse_y=(e.clientY||e.pageY||e.touches&&e.touches[0].clientY)+window.scrollY}(e),document.addEventListener("mousemove",y),document.addEventListener("touchmove",y),document.addEventListener("mouseup",v),document.addEventListener("touchend",v)}function v(e){e.preventDefault(),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y)}function y(e){var t,i,n,r,l={x:0,y:0};e.preventDefault(),e.stopPropagation(),l.x=e.pageX||e.touches&&e.touches[0].pageX,l.y=e.pageY||e.touches&&e.touches[0].pageY,t=l.x-(o.mouse_x-o.container_left),i=l.y-(o.mouse_y-o.container_top),n=s.offsetWidth,r=s.offsetHeight,t<0?t=0:t>a.offsetWidth-n&&(t=a.offsetWidth-n),i<0?i=0:i>a.offsetHeight-r&&(i=a.offsetHeight-r),h(t,i),p(t,i)}return e.complete?u():e.onload=u,{crop:function(){d=a.width*n,c=a.height*n,t.width=200,t.height=200,t.getContext("2d").drawImage(a,r,l,d,c)},removeHandlers:function(){s.removeEventListener("mousedown",b),s.removeEventListener("touchstart",b),s.removeEventListener("wheel",f),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y),document.removeEventListener("keypress",g),i.remove(),s.remove(),a.remove()}}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(44)),o=i(3),n=i(0);let r=0;const l=[];n.$rootScope.$on("poll_update",e=>{let{poll:t,results:i}=e.detail;for(let e of l)if(e.id==t.id){e.element.performResults(i,t.chosenIndex)}});class d extends HTMLElement{constructor(){super(),this.maxOffset=-46.5,this.isQuiz=!1,this.isRetracted=!1,this.chosenIndex=-1}connectedCallback(){r||(r=document.getElementById("poll-line").getTotalLength(),console.log("line total length:",r));let e=this.getAttribute("poll-id"),{poll:t,results:i}=a.default.getPoll(e);l.push({id:e,element:this}),console.log("pollElement poll:",t,i);let s="";if(t.pFlags)if(t.pFlags.closed)s="Final results";else{t.pFlags.quiz&&(this.isQuiz=!0);let e=this.isQuiz?"Quiz":"Poll";s=(t.pFlags.public_voters?"Public":"Anonymous")+" "+e}let n=t.answers.map((e,t)=>`\n
\n
\n
\n \n \n \n
\n
\n
${o.RichTextProcessor.wrapEmojiText(e.text)}
\n \n
\n `).join("");this.innerHTML=`\n
${t.rQuestion}
\n
${s}
\n ${n}\n
\n `,this.answerDivs=Array.from(this.querySelectorAll(".poll-answer")),this.votersCountDiv=this.querySelector(".poll-votes-count"),this.svgLines=Array.from(this.querySelectorAll(".poll-line")),this.numberDivs=Array.from(this.querySelectorAll(".poll-answer-percents"));let d=this.getBoundingClientRect().width;this.maxLength=d+9+this.maxOffset+-13.7,-1!==t.chosenIndex?this.performResults(i,t.chosenIndex):(this.setVotersCount(i),this.addEventListener("click",this.clickHandler))}disconnectedCallback(){l.findAndSplice(e=>e.element==this)}static get observedAttributes(){return[]}attributeChangedCallback(e,t,i){}adoptedCallback(){}clickHandler(e){let t=n.findUpClassName(e.target,"poll-answer");if(!t)return;let i=+t.dataset.index;this.sendVote(i)}sendVote(e){let t=this.answerDivs[e];t.classList.add("is-voting");let i=+this.getAttribute("message-id");this.classList.add("disable-hover"),a.default.sendVote(i,[e]).then(()=>{t.classList.remove("is-voting"),this.classList.remove("disable-hover")})}performResults(e,t){if(this.chosenIndex!=t&&(this.isRetracted=-1!=this.chosenIndex&&-1==t,this.chosenIndex=t,this.isRetracted?this.addEventListener("click",this.clickHandler):this.removeEventListener("click",this.clickHandler)),-1!=this.chosenIndex||this.isRetracted){const i=e.results.map(t=>t.voters/e.total_voters*100);this.setResults(this.isRetracted?this.percents:i,t),this.percents=i,this.isRetracted=!1}this.setVotersCount(e)}setResults(e,t){if(this.svgLines.forEach(e=>e.style.display=""),-1!==t){let e=this.answerDivs[t];this.selectedSpan||(this.selectedSpan=document.createElement("span"),this.selectedSpan.classList.add("poll-answer-selected","tgico-check")),e.append(this.selectedSpan)}let i=Math.max(...e);if(this.maxLengths=e.map(e=>e/i*this.maxLength),this.isRetracted?this.svgLines.forEach((e,t)=>{this.setLineProgress(t,-1)}):this.svgLines.forEach((e,t)=>{e.getBoundingClientRect(),this.setLineProgress(t,1)}),(e=>{let t=e.reduce((e,t)=>e+Math.round(t),0);if(t>100){let i=t-100,s=e.length;for(let t=0;t=.5&&si&&(i=s,t=a)}if(-1==t)throw new Error("lol chto");e[t]+=1-i}}})(e=e.slice()),this.isRetracted)for(let t=9,i=0;t>=0;--t,++i)setTimeout(()=>{e.forEach((e,i)=>{let s=Math.round(e/10*t);this.numberDivs[i].innerText=s+"%"})},34*i);else for(let t=0;t<10;++t)setTimeout(()=>{e.forEach((e,i)=>{let s=Math.round(e/10*(t+1));this.numberDivs[i].innerText=s+"%"})},34*t);this.isRetracted?(this.classList.add("is-retracting"),this.classList.remove("is-voted"),setTimeout(()=>{this.classList.remove("is-retracting"),this.svgLines.forEach(e=>e.style.display="none")},340)):this.classList.add("is-voted")}setVotersCount(e){let t=e.total_voters||0,i=this.isQuiz?t>1||!t?"answers":"answer":t>1||!t?"votes":"vote";this.votersCountDiv.innerText=""+(e.total_voters?e.total_voters+" "+i:"No "+i)}setLineProgress(e,t){let i=this.svgLines[e];-1==t?(i.style.strokeDasharray="",i.style.strokeDashoffset=""):(i.style.strokeDasharray=t*this.maxLengths[e]+", 485.9",i.style.strokeDashoffset=""+t*this.maxOffset)}}t.default=d,customElements.define("poll-element",d)},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=s(i(9)),n=i(3),r=s(i(1)),l=s(i(43)),d=s(i(15)),c=i(0),u=i(32),h=s(i(5)),p=a(i(79)),m=s(i(14)),g=i(51);t.ChatInput=class{constructor(){this.pageEl=document.getElementById("page-chats"),this.messageInput=document.getElementById("input-message"),this.fileInput=document.getElementById("input-file"),this.inputMessageContainer=document.getElementsByClassName("input-message-container")[0],this.inputScroll=new o.default(this.inputMessageContainer),this.btnSend=document.getElementById("btn-send"),this.emoticonsDropdown=null,this.emoticonsTimeout=0,this.emoticonsLazyLoadQueue=null,this.lastUrl="",this.lastTimeType=0,this.attachMenu={},this.attachMediaPopUp={},this.replyElements={},this.willSendWebPage=null,this.replyToMsgID=0,this.editMsgID=0,this.noWebPage=!1,this.toggleEmoticons=this.pageEl.querySelector(".toggle-emoticons"),this.attachMenu.container=document.getElementById("attach-file"),this.attachMenu.media=this.attachMenu.container.querySelector(".menu-media"),this.attachMenu.document=this.attachMenu.container.querySelector(".menu-document"),this.attachMenu.poll=this.attachMenu.container.querySelector(".menu-poll"),this.attachMediaPopUp.container=this.pageEl.querySelector(".popup-send-photo"),this.attachMediaPopUp.titleEl=this.attachMediaPopUp.container.querySelector(".popup-title"),this.attachMediaPopUp.sendBtn=this.attachMediaPopUp.container.querySelector(".btn-primary"),this.attachMediaPopUp.mediaContainer=this.attachMediaPopUp.container.querySelector(".popup-photo"),this.attachMediaPopUp.captionInput=this.attachMediaPopUp.container.querySelector("input"),this.replyElements.container=this.pageEl.querySelector(".reply-wrapper"),this.replyElements.cancelBtn=this.replyElements.container.querySelector(".reply-cancel"),this.replyElements.titleEl=this.replyElements.container.querySelector(".reply-title"),this.replyElements.subtitleEl=this.replyElements.container.querySelector(".reply-subtitle"),this.messageInput.addEventListener("keydown",e=>{if("Enter"==e.key){if(e.shiftKey||e.ctrlKey||e.metaKey)return;this.sendMessage()}}),this.messageInput.addEventListener("input",e=>{let t=this.messageInput.innerText,i=n.RichTextProcessor.parseEntities(t).find(e=>"messageEntityUrl"==e._);if(i){let e=t.slice(i.offset,i.offset+i.length);this.lastUrl!=e&&(this.lastUrl=e,this.willSendWebPage=null,r.default.invokeApi("messages.getWebPage",{url:e,hash:0}).then(t=>{l.default.saveWebPage(t),this.lastUrl==e&&(console.log("got webpage: ",t),this.setTopInfo(t.site_name||t.title,t.description||t.url),this.replyToMsgID=0,this.noWebPage=!1,this.willSendWebPage=t)}))}if(t.trim()||this.serializeNodes(Array.from(this.messageInput.childNodes)).trim()){if(!this.btnSend.classList.contains("tgico-send")){this.btnSend.classList.add("tgico-send"),this.btnSend.classList.remove("tgico-microphone2");let e=Date.now();e-this.lastTimeType>=6e3&&(this.lastTimeType=e,d.default.setTyping("sendMessageTypingAction"))}}else this.messageInput.innerHTML="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"),d.default.setTyping("sendMessageCancelAction")}),n.RichTextProcessor.emojiSupported||this.messageInput.addEventListener("copy",e=>{const t=document.getSelection();let i=t.getRangeAt(0),s=i.commonAncestorContainer,a="",o=Array.from(s.childNodes).slice(i.startOffset,i.endOffset);a=o.length?this.serializeNodes(o):t.toString(),event.clipboardData.setData("text/plain",a),event.preventDefault()}),this.messageInput.addEventListener("paste",e=>{e.preventDefault();let t=(e.originalEvent||e).clipboardData.getData("text/plain");t=n.RichTextProcessor.wrapEmojiText(t),window.document.execCommand("insertHTML",!1,t)});let e=e=>new Promise((t,s)=>{let a={};a.file=e,console.log("selected file:",e,typeof e,i);let o=document.createElement("div");switch(i.type){case"media":{let i=0===e.type.indexOf("video/");if(o.classList.add("popup-item-media"),i){let i=document.createElement("video"),s=document.createElement("source");s.src=a.objectURL=URL.createObjectURL(e),i.autoplay=!1,i.controls=!1,i.onloadeddata=()=>{a.width=i.videoWidth,a.height=i.videoHeight,a.duration=Math.floor(i.duration),o.append(i),t(o)},i.append(s)}else{let i=new Image;i.src=a.objectURL=URL.createObjectURL(e),i.onload=()=>{a.width=i.naturalWidth,a.height=i.naturalHeight,o.append(i),t(o)}}break}case"document":{let i=u.wrapDocument({file:e,file_name:e.name||"",size:e.size,type:-1!==e.type.indexOf("image/")?"photo":"doc"},!1,!0);o.append(i),t(o);break}}i.sendFileDetails.push(a)}),t=t=>{this.fileInput.value="";let s=this.attachMediaPopUp.container.firstElementChild;if(s.classList.remove("is-media","is-document","is-album"),this.attachMediaPopUp.captionInput.value="",this.attachMediaPopUp.mediaContainer.innerHTML="",this.attachMediaPopUp.mediaContainer.style.width=this.attachMediaPopUp.mediaContainer.style.height="",i.sendFileDetails=[],(t=t.filter(e=>"media"!=i.type||["image/","video/"].find(t=>0===e.type.indexOf(t)))).length)if("document"==i.type)this.attachMediaPopUp.titleEl.innerText="Send "+(t.length>1?t.length+" Files":"File"),s.classList.add("is-document");else{s.classList.add("is-media");let e=0,i=0;t.forEach(t=>{0===t.type.indexOf("image/")?++e:0===t.type.indexOf("video/")&&++i}),e&&i?this.attachMediaPopUp.titleEl.innerText="Send Album":e?this.attachMediaPopUp.titleEl.innerText="Send "+(e>1?e+" Photos":"Photo"):i&&(this.attachMediaPopUp.titleEl.innerText="Send "+(i>1?i+" Videos":"Video"))}Promise.all(t.map(e)).then(e=>{if("media"==i.type)if(i.sendFileDetails.length>1){s.classList.add("is-album");let t=new g.Layouter(i.sendFileDetails.map(e=>({w:e.width,h:e.height})),380,100,4).layout();for(let{geometry:i,sides:s}of t){let t=e.shift();t.style.width=i.width+"px",t.style.height=i.height+"px",t.style.top=i.y+"px",t.style.left=i.x+"px",s&g.RectPart.Right&&(this.attachMediaPopUp.mediaContainer.style.width=i.width+i.x+"px"),s&g.RectPart.Bottom&&(this.attachMediaPopUp.mediaContainer.style.height=i.height+i.y+"px"),this.attachMediaPopUp.mediaContainer.append(t)}console.log("chatInput album layout:",t)}else{let t=i.sendFileDetails[0],s=e[0],{w:a,h:o}=c.calcImageInBox(t.width,t.height,380,320);s.style.width=a+"px",s.style.height=o+"px",this.attachMediaPopUp.mediaContainer.append(s)}else this.attachMediaPopUp.mediaContainer.append(...e);this.attachMediaPopUp.container.classList.add("active")})},i={sendFileDetails:[]};this.fileInput.addEventListener("change",e=>{let i=e.target.files;i.length&&t(Array.from(i))},!1),this.attachMenu.media.addEventListener("click",()=>{i.type="media",this.fileInput.click()}),this.attachMenu.document.addEventListener("click",()=>{i.type="document",this.fileInput.click()}),document.addEventListener("paste",e=>{if(d.default.peerID&&!this.attachMediaPopUp.container.classList.contains("active")){var s=(e.clipboardData||e.originalEvent.clipboardData).items;for(let a=0;a{this.attachMediaPopUp.container.classList.remove("active");let e=this.attachMediaPopUp.captionInput.value;i.isMedia="media"==i.type,console.log("will send files with options:",i);let t=d.default.peerID;if(i.sendFileDetails.length>1&&i.isMedia)h.default.sendAlbum(t,i.sendFileDetails.map(e=>e.file),Object.assign({caption:e,replyToMsgID:this.replyToMsgID},i));else{e&&i.sendFileDetails.length>1&&(h.default.sendText(t,e,{replyToMsgID:this.replyToMsgID}),e="",this.replyToMsgID=0);i.sendFileDetails.map(s=>{let a=h.default.sendFile(t,s.file,Object.assign({isMedia:i.isMedia,caption:e,replyToMsgID:this.replyToMsgID},s));return e="",this.replyToMsgID=0,a})}this.onMessageSent()}),this.btnSend.addEventListener("click",()=>{this.btnSend.classList.contains("tgico-send")&&this.sendMessage()});let s=0;this.toggleEmoticons.onmouseover=e=>{clearTimeout(this.emoticonsTimeout),this.emoticonsTimeout=setTimeout(()=>{if(this.emoticonsDropdown)this.emoticonsDropdown.style.display="",this.emoticonsDropdown.offsetLeft,this.emoticonsDropdown.classList.add("active"),this.emoticonsLazyLoadQueue.unlock(),clearTimeout(s);else{let e=p.default(this.pageEl,d.default,h.default,this.messageInput,this.toggleEmoticons,this.btnSend);this.emoticonsDropdown=e.dropdown,this.emoticonsLazyLoadQueue=e.lazyLoadQueue,this.toggleEmoticons.onmouseout=this.emoticonsDropdown.onmouseout=e=>{clearTimeout(this.emoticonsTimeout),this.emoticonsTimeout=setTimeout(()=>{this.emoticonsDropdown.classList.remove("active"),this.toggleEmoticons.classList.remove("active"),m.default.checkAnimations(!0,p.EMOTICONSSTICKERGROUP),this.emoticonsLazyLoadQueue.lock(),clearTimeout(s),s=setTimeout(()=>{this.emoticonsDropdown.style.display="none"},200)},200)},this.emoticonsDropdown.onmouseover=e=>{clearTimeout(this.emoticonsTimeout)}}this.toggleEmoticons.classList.add("active"),m.default.checkAnimations(!1,p.EMOTICONSSTICKERGROUP)},0)},this.replyElements.cancelBtn.addEventListener("click",()=>{if(this.replyElements.container.classList.remove("active"),this.replyToMsgID=0,this.editMsgID)if(this.willSendWebPage){let e=h.default.getMessage(this.editMsgID);this.setTopInfo("Editing",e.message)}else this.editMsgID=0,this.messageInput.innerHTML="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2");this.noWebPage=!0,this.willSendWebPage=null})}serializeNodes(e){return e.reduce((e,t)=>"object"==typeof t&&t.textContent?e+t.textContent:t.innerText?e+t.innerText:"IMG"==t.tagName&&t.classList&&t.classList.contains("emoji")?e+t.getAttribute("alt"):e,"")}onMessageSent(e=!0){let t=h.default.getDialogByPeerID(d.default.peerID)[0];t&&t.top_message&&h.default.readHistory(d.default.peerID,t.top_message),e&&(this.lastUrl="",this.editMsgID=0,this.replyToMsgID=0,this.noWebPage=!1,this.replyElements.container.classList.remove("active"),this.willSendWebPage=null,this.messageInput.innerText="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"))}sendMessage(){let e=c.getRichValue(this.messageInput);this.editMsgID?h.default.editMessage(this.editMsgID,e,{noWebPage:this.noWebPage}):h.default.sendText(d.default.peerID,e,{replyToMsgID:0==this.replyToMsgID?void 0:this.replyToMsgID,noWebPage:this.noWebPage,webPage:this.willSendWebPage}),this.onMessageSent()}setTopInfo(e,t,i,s){"DIV"==this.replyElements.container.lastElementChild.tagName&&(this.replyElements.container.lastElementChild.remove(),this.replyElements.container.append(u.wrapReply(e,t,s))),this.replyElements.container.classList.add("active"),void 0!==i&&(this.messageInput.innerHTML=i?n.RichTextProcessor.wrapRichText(i):"",this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"))}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(2),n=a(i(14)),r=a(i(9)),l=i(0),d=i(3),c=a(i(39)),u=a(i(1)),h=a(i(30)),p=i(32),m=a(i(11)),g=a(i(24)),f=a(i(17));t.EMOTICONSSTICKERGROUP="emoticons-dropdown";t.default=(e,i,a,b,v,y)=>{let w=e.querySelector(".emoji-dropdown");w.classList.add("active");let x=new h.default(5),_=e.querySelector(".emoji-container .tabs-container"),k=e.querySelector(".emoji-dropdown .emoji-tabs"),M=-1;o.horizontalMenu(k,_,e=>{n.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),M=e},()=>{1==M&&I?I():2==M&&X&&X(),n.default.checkAnimations(!1,t.EMOTICONSSTICKERGROUP)}),k.firstElementChild.children[0].click(),k.lastElementChild.style.cssText="width: 44.1719px; transform: translateX(88.5781px);";let D=(e,i,s,a)=>{e.addEventListener("click",(function(e){let a=e.target;a=l.findUpTag(a,"LI");let o=l.whichChild(a),r=i[o-1]||0;s.container.scrollTop=r,setTimeout(()=>{n.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP)},100)}))},S=(e,t,i,s,a)=>{let o=s.scrollTop;for(let s=0;s{let t=document.createElement("span"),i=d.RichTextProcessor.wrapRichText(e);i.includes("emoji")?(t.innerHTML=i,o.appendChild(t)):console.log(e,i,t,e.length,(new TextEncoder).encode(e))}),t[e]=s}let s=document.getElementById("content-emoji"),a=[0],o=1,n=s.nextElementSibling.firstElementChild,l=new r.default(s,"y","EMOJI",null);l.container.addEventListener("scroll",e=>{o=S(n,a,o,l.container)}),e.map(e=>{let i=t[e];return i||console.error("no div by category:",e),l.append(i),i}).forEach(e=>{a.push((a[a.length-1]||0)+e.scrollHeight)}),s.addEventListener("click",(function(e){let t=e.target;if("SPAN"!=t.tagName||t.classList.contains("emoji")){if("DIV"==t.tagName)return}else t=t.firstElementChild;b.innerHTML+=t.outerHTML,y.classList.add("tgico-send"),y.classList.remove("tgico-microphone2")})),D(n,a,l)}let E=e=>{let t=e.target;t=l.findUpTag(t,"DIV");let s=t.dataset.docID,o=m.default.getDoc(s);"documentEmpty"!=o._?(a.sendFile(i.peerID,o,{isMedia:!0}),i.chatInputC.onMessageSent(!1),w.classList.remove("active"),v.classList.remove("active")):console.warn("got no doc by id:",s)},I=()=>{let e=document.getElementById("content-stickers"),i=e.nextElementSibling,a=i.firstElementChild.firstElementChild,l=new r.default(i,"x"),d=document.createElement("div");d.classList.add("stickers-categories"),e.append(d),d.addEventListener("click",E);let h=[],m=0,g=(e,i,s,a)=>{let o=document.createElement("div");o.classList.add("category-items");let n=document.createElement("div");n.classList.add("category-title"),n.innerText=i,e.append(n,o),s.forEach(e=>{let i=document.createElement("div");p.wrapSticker({doc:e,div:i,lazyLoadQueue:x,group:t.EMOTICONSSTICKERGROUP,onlyThumb:!0}),o.append(i)}),a?b.prepend(e):b.append(e),m&&window.cancelAnimationFrame(m),m=window.requestAnimationFrame(()=>{m=0;let e=parseInt(window.getComputedStyle(b.container).getPropertyValue("padding-top"))||0;h.length=0,Array.from(b.splitUp.children).forEach((t,i)=>{h[i]=(h[i-1]||0)+t.scrollHeight+(0==i?e:0)})})},f=0,b=new r.default(e,"y","STICKERS",void 0,void 0,2);b.container.addEventListener("scroll",e=>{n.default.checkAnimations(),f=S(a,h,f,b.container,l)}),b.setVirtualContainer(d),D(a,h,b),I=null,Promise.all([c.default.getRecentStickers().then(e=>{let t=document.createElement("div");t.classList.add("sticker-category"),g(t,"Recent",e.stickers,!0)}),u.default.invokeApi("messages.getAllStickers",{hash:0}).then(e=>s(void 0,void 0,void 0,(function*(){let i=e;for(let e of i.sets){let i=document.createElement("div");i.classList.add("sticker-category");let r=document.createElement("li");r.classList.add("btn-icon"),a.append(r);let l=yield c.default.getStickerSet(e);l.set.thumb?c.default.getStickerSetThumb(l.set).then(e=>{if(l.set.pFlags.animated){const i=new FileReader;i.addEventListener("loadend",e=>s(void 0,void 0,void 0,(function*(){const i=e.srcElement.result;let s=yield u.default.gzipUncompress(i,!0);yield n.default.loadAnimationWorker({container:r,loop:!0,autoplay:!1,animationData:JSON.parse(s)},t.EMOTICONSSTICKERGROUP)}))),i.readAsArrayBuffer(e)}else{let t=new Image;o.renderImageFromUrl(t,URL.createObjectURL(e)),r.append(t)}}):p.wrapSticker({doc:l.documents[0],div:r,group:t.EMOTICONSSTICKERGROUP}),g(i,l.set.title,l.documents,!1)}})))])},X=()=>{let e=document.getElementById("content-gifs"),t=e.firstElementChild;t.addEventListener("click",E);new r.default(e,"y","GIFS",null);u.default.invokeApi("messages.getSavedGifs",{hash:0}).then(e=>{let i=e;console.log("getSavedGifs res:",i);i.gifs.forEach((e,t)=>{i.gifs[t]=m.default.saveDoc(e)});for(let e=0,s=i.gifs.length;e{let e=m.default.downloadDoc(s);return u.attach(c,!0,e),e.then(e=>{u.detach(),c.innerHTML=``}),e}})}}),X=void 0};return{dropdown:w,lazyLoadQueue:x}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(0);t.default=class{constructor(){this.bubblesByGroups=[],this.groups=[],this.newGroupDiff=120}removeBubble(e,t){let i=this.bubblesByGroups.findAndSplice(e=>e.mid==t);i&&i.group.length&&(i.group.findAndSplice(t=>t==e),i.group.length?this.updateGroup(i.group):this.groups.findAndSplice(e=>e==i.group))}addBubble(e,t,i){let a,o=t.date,n=t.fromID;if(n==s.$rootScope.myID&&s.$rootScope.selectedPeerID==s.$rootScope.myID&&t.fwdFromID==n&&(n=-n),this.bubblesByGroups.length)if(i){let t=this.bubblesByGroups[0];t.fromID==n&&t.timestamp-o{if(!(a instanceof SVGDefsElement))if(t)a.removeAttributeNS(null,"clip-path");else{let t,o,n=i.dataset.clipID,r=i.firstElementChild.firstElementChild.lastElementChild,l=+a.getAttributeNS(null,"width"),d=+a.getAttributeNS(null,"height"),c=e.classList.contains("is-out"),u=e.classList.contains("is-reply"),h="";e.classList.contains("forwarded")||u?t=o=0:c?(t=e.classList.contains("is-group-first")?12:6,o=12):(t=12,o=e.classList.contains("is-group-first")?12:6),h=c?s.generatePathData(0,0,l-9,d,o,t,0,12):s.generatePathData(9,0,l-9,d,o,t,12,0),r.setAttributeNS(null,"d",h),a.setAttributeNS(null,"clip-path","url(#"+n+")")}})}}updateGroup(e){if(!e.length)return;let t=e[0];if(1==e.length)return t.classList.add("is-group-first","is-group-last"),void this.setClipIfNeeded(t);t.classList.remove("is-group-last"),t.classList.add("is-group-first"),this.setClipIfNeeded(t,!0);let i=e.length-1;for(let t=1;tt.mid==e);t&&this.updateGroup(t.group)}cleanup(){this.bubblesByGroups=[],this.groups=[]}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(5)),o=s(i(1)),n=i(31),r=s(i(23)),l=i(2),d=i(3);class c{callbackButtonClick(e,t){let i=a.default.getMessage(e),s=a.default.getMessagePeer(i);return o.default.invokeApi("messages.getBotCallbackAnswer",{flags:1,peer:n.appPeersManager.getInputPeerByID(s),msg_id:r.default.getMessageLocalID(e),data:t.data},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{"string"==typeof e.message&&e.message.length&&l.toast(d.RichTextProcessor.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0})),console.log("callbackButtonClick callbackAnswer:",e)})}}t.AppInlineBotsManager=c;const u=new c;t.default=u},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.container=e,this.handler=t,this.observeHeaders(),this.observeElements()}observeHeaders(){this.headersObserver=new IntersectionObserver(e=>{for(const t of e){const e=t.boundingClientRect,i=t.target.parentElement,s=t.rootBounds;e.bottom=s.top&&e.bottom{let t=e.filter(e=>e.boundingClientRect.top<0).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];if(!t)return;let i=t.isIntersecting?t.target:t.target.nextElementSibling;this.handler(!0,i)},{root:this.container})}addSentinel(e,t){const i=document.createElement("div");return i.classList.add("sticky_sentinel",t),e.appendChild(i)}observeStickyHeaderChanges(e){const t=this.addSentinel(e,"sticky_sentinel--top");this.headersObserver.observe(t),this.elementsObserver.observe(e)}disconnect(){this.headersObserver.disconnect(),this.elementsObserver.disconnect()}unobserve(e,t){this.elementsObserver.unobserve(e),this.headersObserver.unobserve(t)}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=a(i(1)),r=a(i(18)),l=a(i(22)),d=a(i(52)),c=a(i(35)),u=i(21),h=i(10),p=a(i(28));let m;const g=new r.default("page-signQR",!0,()=>m,()=>{console.log("onMount"),m||(m=s(void 0,void 0,void 0,(function*(){const e=g.pageEl.querySelector(".auth-image");g.pageEl.querySelector(".a-qr").addEventListener("click",()=>{c.default.mount(),a=!0});const t=(yield Promise.all([Promise.resolve().then(()=>o(i(84)))]))[0].default;let a=!1;document.addEventListener("user_auth",()=>{a=!0,m=null},{once:!0});let r,f={ignoreErrors:!0};return()=>s(void 0,void 0,void 0,(function*(){for(a=!1;!a;)try{let i=yield n.default.invokeApi("auth.exportLoginToken",{api_id:u.App.id,api_hash:u.App.hash,except_ids:[]},{ignoreErrors:!0});if("auth.loginTokenMigrateTo"==i._&&(f.dcID||(f.dcID=i.dc_id,n.default.setBaseDcID(i.dc_id)),i=yield n.default.invokeApi("auth.importLoginToken",{token:i.token},f)),"auth.loginTokenSuccess"==i._){let e=i.authorization;n.default.setUserAuth({id:e.user.id}),l.default.mount();break}if(!r||!h.bytesCmp(r,i.token)){r=i.token;let s="tg://login?token="+h.bytesToBase64(i.token).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"");e.innerHTML="",new t({width:166,height:166,data:s,image:"assets/img/logo_padded.svg",dotsOptions:{color:"#000000",type:"rounded"},imageOptions:{imageSize:.75},backgroundOptions:{color:"#ffffff"},qrOptions:{errorCorrectionLevel:"L"}}).append(e)}let s=Date.now()/1e3,a=i.expires-s-p.default.serverTimeOffset;yield new Promise((e,t)=>setTimeout(e,a>5?5e3:1e3*a|0))}catch(e){switch(e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageSignQR: SESSION_PASSWORD_NEEDED"),e.handled=!0,d.default.mount(),a=!0,m=null;break;default:console.error("pageSignQR: default error:",e)}}}))}))),m.then(e=>{e()})});t.default=g}]); \ No newline at end of file + */Object.defineProperty(t,"__esModule",{value:!0});const s={Emoji:{"#⃣":6365,"*⃣":6366,"0⃣":6367,"1⃣":6368,"2⃣":6369,"3⃣":6370,"4⃣":6371,"5⃣":6372,"6⃣":6373,"7⃣":6374,"8⃣":6375,"9⃣":6376,"©":6362,"®":6363,"🀄":573,"🃏":572,"🅰":6383,"🅱":6385,"🅾":6394,"🅿":6396,"🆎":6384,"🆑":6386,"🆒":6387,"🆓":6388,"🆔":6390,"🆕":6392,"🆖":6393,"🆗":6395,"🆘":6397,"🆙":6398,"🆚":6399,"🇦🇨":78,"🇦🇩":79,"🇦🇪":710,"🇦🇫":711,"🇦🇬":712,"🇦🇮":713,"🇦🇱":714,"🇦🇲":715,"🇦🇴":716,"🇦🇶":717,"🇦🇷":718,"🇦🇸":719,"🇦🇹":720,"🇦🇺":721,"🇦🇼":722,"🇦🇽":723,"🇦🇿":724,"🇧🇦":725,"🇧🇧":726,"🇧🇩":727,"🇧🇪":728,"🇧🇫":729,"🇧🇬":730,"🇧🇭":731,"🇧🇮":732,"🇧🇯":733,"🇧🇱":734,"🇧🇲":735,"🇧🇳":736,"🇧🇴":737,"🇧🇶":738,"🇧🇷":739,"🇧🇸":740,"🇧🇹":741,"🇧🇻":742,"🇧🇼":743,"🇧🇾":744,"🇧🇿":745,"🇨🇦":746,"🇨🇨":747,"🇨🇩":748,"🇨🇫":749,"🇨🇬":750,"🇨🇭":751,"🇨🇮":752,"🇨🇰":753,"🇨🇱":754,"🇨🇲":755,"🇨🇳":756,"🇨🇴":757,"🇨🇵":758,"🇨🇷":759,"🇨🇺":760,"🇨🇻":761,"🇨🇼":762,"🇨🇽":763,"🇨🇾":764,"🇨🇿":765,"🇩🇪":766,"🇩🇬":767,"🇩🇯":768,"🇩🇰":769,"🇩🇲":770,"🇩🇴":771,"🇩🇿":772,"🇪🇦":773,"🇪🇨":774,"🇪🇪":775,"🇪🇬":776,"🇪🇭":777,"🇪🇷":778,"🇪🇸":779,"🇪🇹":780,"🇪🇺":781,"🇫🇮":782,"🇫🇯":783,"🇫🇰":784,"🇫🇲":785,"🇫🇴":786,"🇫🇷":787,"🇬🇦":788,"🇬🇧":789,"🇬🇩":790,"🇬🇪":791,"🇬🇫":792,"🇬🇬":793,"🇬🇭":794,"🇬🇮":795,"🇬🇱":796,"🇬🇲":797,"🇬🇳":798,"🇬🇵":799,"🇬🇶":7100,"🇬🇷":7101,"🇬🇸":7102,"🇬🇹":7103,"🇬🇺":7104,"🇬🇼":7105,"🇬🇾":7106,"🇭🇰":7107,"🇭🇲":7108,"🇭🇳":7109,"🇭🇷":7110,"🇭🇹":7111,"🇭🇺":7112,"🇮🇨":7113,"🇮🇩":7114,"🇮🇪":7115,"🇮🇱":7116,"🇮🇲":7117,"🇮🇳":7118,"🇮🇴":7119,"🇮🇶":7120,"🇮🇷":7121,"🇮🇸":7122,"🇮🇹":7123,"🇯🇪":7124,"🇯🇲":7125,"🇯🇴":7126,"🇯🇵":7127,"🇰🇪":7128,"🇰🇬":7129,"🇰🇭":7130,"🇰🇮":7131,"🇰🇲":7132,"🇰🇳":7133,"🇰🇵":7134,"🇰🇷":7135,"🇰🇼":7136,"🇰🇾":7137,"🇰🇿":7138,"🇱🇦":7139,"🇱🇧":7140,"🇱🇨":7141,"🇱🇮":7142,"🇱🇰":7143,"🇱🇷":7144,"🇱🇸":7145,"🇱🇹":7146,"🇱🇺":7147,"🇱🇻":7148,"🇱🇾":7149,"🇲🇦":7150,"🇲🇨":7151,"🇲🇩":7152,"🇲🇪":7153,"🇲🇫":7154,"🇲🇬":7155,"🇲🇭":7156,"🇲🇰":7157,"🇲🇱":7158,"🇲🇲":7159,"🇲🇳":7160,"🇲🇴":7161,"🇲🇵":7162,"🇲🇶":7163,"🇲🇷":7164,"🇲🇸":7165,"🇲🇹":7166,"🇲🇺":7167,"🇲🇻":7168,"🇲🇼":7169,"🇲🇽":7170,"🇲🇾":7171,"🇲🇿":7172,"🇳🇦":7173,"🇳🇨":7174,"🇳🇪":7175,"🇳🇫":7176,"🇳🇬":7177,"🇳🇮":7178,"🇳🇱":7179,"🇳🇴":7180,"🇳🇵":7181,"🇳🇷":7182,"🇳🇺":7183,"🇳🇿":7184,"🇴🇲":7185,"🇵🇦":7186,"🇵🇪":7187,"🇵🇫":7188,"🇵🇬":7189,"🇵🇭":7190,"🇵🇰":7191,"🇵🇱":7192,"🇵🇲":7193,"🇵🇳":7194,"🇵🇷":7195,"🇵🇸":7196,"🇵🇹":7197,"🇵🇼":7198,"🇵🇾":7199,"🇶🇦":7200,"🇷🇪":7201,"🇷🇴":7202,"🇷🇸":7203,"🇷🇺":7204,"🇷🇼":7205,"🇸🇦":7206,"🇸🇧":7207,"🇸🇨":7208,"🇸🇩":7209,"🇸🇪":7210,"🇸🇬":7211,"🇸🇭":7212,"🇸🇮":7213,"🇸🇯":7214,"🇸🇰":7215,"🇸🇱":7216,"🇸🇲":7217,"🇸🇳":7218,"🇸🇴":7219,"🇸🇷":7220,"🇸🇸":7221,"🇸🇹":7222,"🇸🇻":7223,"🇸🇽":7224,"🇸🇾":7225,"🇸🇿":7226,"🇹🇦":7227,"🇹🇨":7228,"🇹🇩":7229,"🇹🇫":7230,"🇹🇬":7231,"🇹🇭":7232,"🇹🇯":7233,"🇹🇰":7234,"🇹🇱":7235,"🇹🇲":7236,"🇹🇳":7237,"🇹🇴":7238,"🇹🇷":7239,"🇹🇹":7240,"🇹🇻":7241,"🇹🇼":7242,"🇹🇿":7243,"🇺🇦":7244,"🇺🇬":7245,"🇺🇲":7246,"🇺🇳":7247,"🇺🇸":7248,"🇺🇾":7249,"🇺🇿":7250,"🇻🇦":7251,"🇻🇨":7252,"🇻🇪":7253,"🇻🇬":7254,"🇻🇮":7255,"🇻🇳":7256,"🇻🇺":7257,"🇼🇫":7258,"🇼🇸":7259,"🇽🇰":7260,"🇾🇪":7261,"🇾🇹":7262,"🇿🇦":7263,"🇿🇲":7264,"🇿🇼":7265,"🈁":6400,"🈂":6401,"🈚":6407,"🈯":6404,"🈲":6408,"🈳":6412,"🈴":6411,"🈵":6416,"🈶":6403,"🈷":6402,"🈸":6410,"🈹":6406,"🈺":6415,"🉐":6405,"🉑":6409,"🌀":4197,"🌁":449,"🌂":4199,"🌃":450,"🌄":452,"🌅":453,"🌆":454,"🌇":455,"🌈":4198,"🌉":456,"🌊":4210,"🌋":410,"🌌":4184,"🌍":41,"🌎":42,"🌏":43,"🌐":44,"🌑":4164,"🌒":4165,"🌓":4166,"🌔":4167,"🌕":4168,"🌖":4169,"🌗":4170,"🌘":4171,"🌙":4172,"🌚":4173,"🌛":4174,"🌜":4175,"🌝":4178,"🌞":4179,"🌟":4182,"🌠":4183,"🌡":4176,"🌤":4188,"🌥":4189,"🌦":4190,"🌧":4191,"🌨":4192,"🌩":4193,"🌪":4194,"🌫":4195,"🌬":4196,"🌭":347,"🌮":349,"🌯":350,"🌰":331,"🌱":2116,"🌲":2117,"🌳":2118,"🌴":2119,"🌵":2120,"🌶":323,"🌷":2115,"🌸":2107,"🌹":2110,"🌺":2112,"🌻":2113,"🌼":2114,"🌽":322,"🌾":2121,"🌿":2122,"🍀":2124,"🍁":2125,"🍂":2126,"🍃":2127,"🍄":329,"🍅":316,"🍆":319,"🍇":31,"🍈":32,"🍉":33,"🍊":34,"🍋":35,"🍌":36,"🍍":37,"🍎":39,"🍏":310,"🍐":311,"🍑":312,"🍒":313,"🍓":314,"🍔":344,"🍕":346,"🍖":340,"🍗":341,"🍘":364,"🍙":365,"🍚":366,"🍛":367,"🍜":368,"🍝":369,"🍞":332,"🍟":345,"🍠":370,"🍡":376,"🍢":371,"🍣":372,"🍤":373,"🍥":374,"🍦":385,"🍧":386,"🍨":387,"🍩":388,"🍪":389,"🍫":394,"🍬":395,"🍭":396,"🍮":397,"🍯":398,"🍰":391,"🍱":363,"🍲":356,"🍳":354,"🍴":3118,"🍵":3102,"🍶":3103,"🍷":3105,"🍸":3106,"🍹":3107,"🍺":3108,"🍻":3109,"🍼":399,"🍽":3117,"🍾":3104,"🍿":359,"🎀":517,"🎁":518,"🎂":390,"🎃":51,"🎄":52,"🎅":1326,"🎆":53,"🎇":54,"🎈":57,"🎉":58,"🎊":59,"🎋":510,"🎌":73,"🎍":511,"🎎":512,"🎏":513,"🎐":514,"🎑":515,"🎒":625,"🎓":637,"🎖":522,"🎗":519,"🎙":656,"🎚":657,"🎛":658,"🎞":689,"🎟":520,"🎠":458,"🎡":459,"🎢":460,"🎣":549,"🎤":659,"🎥":688,"🎦":6324,"🎧":660,"🎨":577,"🎩":636,"🎪":462,"🎫":521,"🎬":691,"🎭":575,"🎮":561,"🎯":555,"🎰":563,"🎱":558,"🎲":564,"🎳":537,"🎴":574,"🎵":654,"🎶":655,"🎷":662,"🎸":663,"🎹":664,"🎺":665,"🎻":666,"🎼":653,"🎽":551,"🎾":535,"🎿":552,"🏀":531,"🏁":71,"🏂":1397,"🏃‍♀":1381,"🏃‍♂":1380,"🏃":1379,"🏄‍♀":1403,"🏄‍♂":1402,"🏄":1401,"🏅":524,"🏆":523,"🏇":1395,"🏈":533,"🏉":534,"🏊‍♀":1409,"🏊‍♂":1408,"🏊":1407,"🏋‍♀":1415,"🏋‍♂":1414,"🏋":1413,"🏌‍♀":1400,"🏌‍♂":1399,"🏌":1398,"🏍":492,"🏎":491,"🏏":538,"🏐":532,"🏑":539,"🏒":540,"🏓":542,"🏔":48,"🏕":412,"🏖":413,"🏗":419,"🏘":421,"🏙":451,"🏚":422,"🏛":418,"🏜":414,"🏝":415,"🏞":416,"🏟":417,"🏠":423,"🏡":424,"🏢":425,"🏣":426,"🏤":427,"🏥":428,"🏦":429,"🏧":6234,"🏨":430,"🏩":431,"🏪":432,"🏫":433,"🏬":434,"🏭":435,"🏮":6102,"🏯":436,"🏰":437,"🏳‍🌈":76,"🏳":75,"🏴‍☠":77,"🏴󠁧󠁢󠁥󠁮󠁧󠁿":7266,"🏴󠁧󠁢󠁳󠁣󠁴󠁿":7267,"🏴󠁧󠁢󠁷󠁬󠁳󠁿":7268,"🏴":74,"🏵":2109,"🏷":6120,"🏸":543,"🏹":6189,"🏺":3121,"🏻":81,"🏼":82,"🏽":83,"🏾":84,"🏿":85,"🐀":244,"🐁":243,"🐂":225,"🐃":226,"🐄":227,"🐅":217,"🐆":218,"🐇":247,"🐈":214,"🐉":282,"🐊":277,"🐋":286,"🐌":294,"🐍":280,"🐎":220,"🐏":232,"🐐":234,"🐑":233,"🐒":22,"🐓":262,"🐔":261,"🐕‍🦺":28,"🐕":26,"🐖":229,"🐗":230,"🐘":239,"🐙":292,"🐚":293,"🐛":296,"🐜":297,"🐝":298,"🐞":299,"🐟":288,"🐠":289,"🐡":290,"🐢":278,"🐣":263,"🐤":264,"🐥":265,"🐦":266,"🐧":267,"🐨":252,"🐩":29,"🐪":235,"🐫":236,"🐬":287,"🐭":242,"🐮":224,"🐯":216,"🐰":246,"🐱":213,"🐲":281,"🐳":285,"🐴":219,"🐵":21,"🐶":25,"🐷":228,"🐸":276,"🐹":245,"🐺":210,"🐻":251,"🐼":253,"🐽":231,"🐾":259,"🐿":248,"👀":1194,"👁‍🗨":1145,"👁":1195,"👂":1188,"👃":1190,"👄":1197,"👅":1196,"👆":1164,"👇":1166,"👈":1162,"👉":1163,"👊":1171,"👋":1150,"👌":1155,"👍":1168,"👎":1169,"👏":1174,"👐":1176,"👑":634,"👒":635,"👓":61,"👔":66,"👕":67,"👖":68,"👗":613,"👘":614,"👙":619,"👚":620,"👛":621,"👜":622,"👝":623,"👞":626,"👟":627,"👠":630,"👡":631,"👢":633,"👣":1483,"👤":1481,"👥":1482,"👦":1200,"👧":1201,"👨‍🌾":1267,"👨‍🍳":1270,"👨‍🎓":1258,"👨‍🎤":1288,"👨‍🎨":1291,"👨‍🏫":1261,"👨‍🏭":1276,"👨‍👦‍👦":1471,"👨‍👦":1470,"👨‍👧‍👦":1473,"👨‍👧‍👧":1474,"👨‍👧":1472,"👨‍👨‍👦":1460,"👨‍👨‍👦‍👦":1463,"👨‍👨‍👧":1461,"👨‍👨‍👧‍👦":1462,"👨‍👨‍👧‍👧":1464,"👨‍👩‍👦":1455,"👨‍👩‍👦‍👦":1458,"👨‍👩‍👧":1456,"👨‍👩‍👧‍👦":1457,"👨‍👩‍👧‍👧":1459,"👨‍💻":1285,"👨‍💼":1279,"👨‍🔧":1273,"👨‍🔬":1282,"👨‍🚀":1297,"👨‍🚒":1300,"👨‍🦯":1371,"👨‍🦰":1206,"👨‍🦱":1207,"👨‍🦲":1209,"👨‍🦳":1208,"👨‍🦼":1374,"👨‍🦽":1377,"👨‍⚕":1255,"👨‍⚖":1264,"👨‍✈":1294,"👨‍❤‍👨":1452,"👨‍❤‍💋‍👨":1448,"👨":1204,"👩‍🌾":1268,"👩‍🍳":1271,"👩‍🎓":1259,"👩‍🎤":1289,"👩‍🎨":1292,"👩‍🏫":1262,"👩‍🏭":1277,"👩‍👦‍👦":1476,"👩‍👦":1475,"👩‍👧‍👦":1478,"👩‍👧‍👧":1479,"👩‍👧":1477,"👩‍👩‍👦":1465,"👩‍👩‍👦‍👦":1468,"👩‍👩‍👧":1466,"👩‍👩‍👧‍👦":1467,"👩‍👩‍👧‍👧":1469,"👩‍💻":1286,"👩‍💼":1280,"👩‍🔧":1274,"👩‍🔬":1283,"👩‍🚀":1298,"👩‍🚒":1301,"👩‍🦯":1372,"👩‍🦰":1211,"👩‍🦱":1213,"👩‍🦲":1217,"👩‍🦳":1215,"👩‍🦼":1375,"👩‍🦽":1378,"👩‍⚕":1256,"👩‍⚖":1265,"👩‍✈":1295,"👩‍❤‍👨":1451,"👩‍❤‍👩":1453,"👩‍❤‍💋‍👨":1447,"👩‍❤‍💋‍👩":1449,"👩":1210,"👪":1454,"👫":1444,"👬":1445,"👭":1443,"👮‍♀":1304,"👮‍♂":1303,"👮":1302,"👯‍♀":1387,"👯‍♂":1386,"👯":1385,"👰":1322,"👱‍♀":1219,"👱‍♂":1220,"👱":1203,"👲":1319,"👳‍♀":1318,"👳‍♂":1317,"👳":1316,"👴":1222,"👵":1223,"👶":1198,"👷‍♀":1313,"👷‍♂":1312,"👷":1311,"👸":1315,"👹":197,"👺":198,"👻":199,"👼":1325,"👽":1100,"👾":1101,"👿":192,"💀":193,"💁‍♀":1238,"💁‍♂":1237,"💁":1236,"💂‍♀":1310,"💂‍♂":1309,"💂":1308,"💃":1382,"💄":641,"💅":1181,"💆‍♀":1357,"💆‍♂":1356,"💆":1355,"💇‍♀":1360,"💇‍♂":1359,"💇":1358,"💈":461,"💉":6208,"💊":6210,"💋":1115,"💌":1116,"💍":642,"💎":643,"💏":1446,"💐":2106,"💑":1450,"💒":438,"💓":1121,"💔":1126,"💕":1123,"💖":1119,"💗":1120,"💘":1117,"💙":1131,"💚":1130,"💛":1129,"💜":1132,"💝":1118,"💞":1122,"💟":1124,"💠":6447,"💡":6100,"💢":1137,"💣":1143,"💤":1149,"💥":1138,"💦":1140,"💧":4209,"💨":1141,"💩":195,"💪":1183,"💫":1139,"💬":1144,"💭":1148,"💮":2108,"💯":1136,"💰":6121,"💱":6130,"💲":6131,"💳":6127,"💴":6122,"💵":6123,"💶":6124,"💷":6125,"💸":6126,"💹":6129,"💺":4123,"💻":677,"💼":6152,"💽":683,"💾":684,"💿":685,"📀":686,"📁":6153,"📂":6154,"📃":6113,"📄":6115,"📅":6156,"📆":6157,"📇":6160,"📈":6161,"📉":6162,"📊":6163,"📋":6164,"📌":6165,"📍":6166,"📎":6167,"📏":6169,"📐":6170,"📑":6118,"📒":6112,"📓":6111,"📔":6104,"📕":6105,"📖":6106,"📗":6107,"📘":6108,"📙":6109,"📚":6110,"📛":6337,"📜":6114,"📝":6151,"📞":672,"📟":673,"📠":674,"📡":6207,"📢":648,"📣":649,"📤":6136,"📥":6137,"📦":6138,"📧":6133,"📨":6134,"📩":6135,"📪":6140,"📫":6139,"📬":6141,"📭":6142,"📮":6143,"📯":650,"📰":6116,"📱":669,"📲":670,"📳":6328,"📴":6329,"📵":6256,"📶":6327,"📷":693,"📸":694,"📹":695,"📺":692,"📻":661,"📼":696,"📽":690,"📿":640,"🔀":6306,"🔁":6307,"🔂":6308,"🔃":6274,"🔄":6275,"🔅":6325,"🔆":6326,"🔇":644,"🔈":645,"🔉":646,"🔊":647,"🔋":675,"🔌":676,"🔍":697,"🔎":698,"🔏":6177,"🔐":6178,"🔑":6179,"🔒":6175,"🔓":6176,"🔔":651,"🔕":652,"🔖":6119,"🔗":6197,"🔘":6448,"🔙":6276,"🔚":6277,"🔛":6278,"🔜":6279,"🔝":6280,"🔞":6257,"🔟":6377,"🔠":6378,"🔡":6379,"🔢":6380,"🔣":6381,"🔤":6382,"🔥":4208,"🔦":6101,"🔧":6191,"🔨":6181,"🔩":6192,"🔪":3120,"🔫":6188,"🔬":6205,"🔭":6206,"🔮":559,"🔯":6292,"🔰":6338,"🔱":6336,"🔲":6450,"🔳":6449,"🔴":6417,"🔵":6421,"🔶":6441,"🔷":6442,"🔸":6443,"🔹":6444,"🔺":6445,"🔻":6446,"🔼":6316,"🔽":6318,"🕉":6283,"🕊":268,"🕋":446,"🕌":442,"🕍":444,"🕎":6291,"🕐":4142,"🕑":4144,"🕒":4146,"🕓":4148,"🕔":4150,"🕕":4152,"🕖":4154,"🕗":4156,"🕘":4158,"🕙":4160,"🕚":4162,"🕛":4140,"🕜":4143,"🕝":4145,"🕞":4147,"🕟":4149,"🕠":4151,"🕡":4153,"🕢":4155,"🕣":4157,"🕤":4159,"🕥":4161,"🕦":4163,"🕧":4141,"🕯":699,"🕰":4139,"🕳":1142,"🕴":1384,"🕵‍♀":1307,"🕵‍♂":1306,"🕵":1305,"🕶":62,"🕷":2101,"🕸":2102,"🕹":562,"🕺":1383,"🖇":6168,"🖊":6148,"🖋":6147,"🖌":6149,"🖍":6150,"🖐":1152,"🖕":1165,"🖖":1154,"🖤":1134,"🖥":678,"🖨":679,"🖱":681,"🖲":682,"🖼":576,"🗂":6155,"🗃":6172,"🗄":6173,"🗑":6174,"🗒":6158,"🗓":6159,"🗜":6194,"🗝":6180,"🗞":6117,"🗡":6186,"🗣":1480,"🗨":1146,"🗯":1147,"🗳":6144,"🗺":45,"🗻":411,"🗼":439,"🗽":440,"🗾":46,"🗿":6233,"😀":11,"😁":14,"😂":18,"😃":12,"😄":13,"😅":16,"😆":15,"😇":113,"😈":191,"😉":111,"😊":112,"😋":122,"😌":142,"😍":115,"😎":160,"😏":137,"😐":134,"😑":135,"😒":138,"😓":183,"😔":143,"😕":163,"😖":180,"😗":118,"😘":117,"😙":121,"😚":120,"😛":123,"😜":124,"😝":126,"😞":182,"😟":164,"😠":189,"😡":188,"😢":177,"😣":181,"😤":187,"😥":176,"😦":172,"😧":173,"😨":174,"😩":184,"😪":144,"😫":185,"😬":140,"😭":178,"😮":167,"😯":168,"😰":175,"😱":179,"😲":169,"😳":170,"😴":146,"😵":156,"😶":136,"😷":147,"😸":1104,"😹":1105,"😺":1103,"😻":1106,"😼":1107,"😽":1108,"😾":1111,"😿":1110,"🙀":1109,"🙁":165,"🙂":19,"🙃":110,"🙄":139,"🙅‍♀":1232,"🙅‍♂":1231,"🙅":1230,"🙆‍♀":1235,"🙆‍♂":1234,"🙆":1233,"🙇‍♀":1247,"🙇‍♂":1246,"🙇":1245,"🙈":1112,"🙉":1113,"🙊":1114,"🙋‍♀":1241,"🙋‍♂":1240,"🙋":1239,"🙌":1175,"🙍‍♀":1226,"🙍‍♂":1225,"🙍":1224,"🙎‍♀":1229,"🙎‍♂":1228,"🙎":1227,"🙏":1179,"🚀":4129,"🚁":4124,"🚂":463,"🚃":464,"🚄":465,"🚅":466,"🚆":467,"🚇":468,"🚈":469,"🚉":470,"🚊":471,"🚋":474,"🚌":475,"🚍":476,"🚎":477,"🚏":4100,"🚐":478,"🚑":479,"🚒":480,"🚓":481,"🚔":482,"🚕":483,"🚖":484,"🚗":485,"🚘":486,"🚙":487,"🚚":488,"🚛":489,"🚜":490,"🚝":472,"🚞":473,"🚟":4125,"🚠":4126,"🚡":4127,"🚢":4117,"🚣‍♀":1406,"🚣‍♂":1405,"🚣":1404,"🚤":4113,"🚥":4106,"🚦":4107,"🚧":4109,"🚨":4105,"🚩":72,"🚪":6213,"🚫":6250,"🚬":6230,"🚭":6252,"🚮":6235,"🚯":6253,"🚰":6236,"🚱":6254,"🚲":497,"🚳":6251,"🚴‍♀":1418,"🚴‍♂":1417,"🚴":1416,"🚵‍♀":1421,"🚵‍♂":1420,"🚵":1419,"🚶‍♀":1363,"🚶‍♂":1362,"🚶":1361,"🚷":6255,"🚸":6248,"🚹":6238,"🚺":6239,"🚻":6240,"🚼":6241,"🚽":6217,"🚾":6242,"🚿":6218,"🛀":1440,"🛁":6219,"🛂":6243,"🛃":6244,"🛄":6245,"🛅":6246,"🛋":6215,"🛌":1441,"🛍":624,"🛎":4131,"🛏":6214,"🛐":6281,"🛑":4108,"🛒":6229,"🛕":443,"🛠":6185,"🛡":6190,"🛢":4103,"🛣":4101,"🛤":4102,"🛥":4116,"🛩":4119,"🛫":4120,"🛬":4121,"🛰":4128,"🛳":4114,"🛴":498,"🛵":493,"🛶":4112,"🛷":553,"🛸":4130,"🛹":499,"🛺":496,"🟠":6418,"🟡":6419,"🟢":6420,"🟣":6422,"🟤":6423,"🟥":6426,"🟦":6430,"🟧":6427,"🟨":6428,"🟩":6429,"🟪":6431,"🟫":6432,"🤍":1135,"🤎":1133,"🤏":1156,"🤐":132,"🤑":127,"🤒":148,"🤓":161,"🤔":131,"🤕":149,"🤖":1102,"🤗":128,"🤘":1160,"🤙":1161,"🤚":1151,"🤛":1172,"🤜":1173,"🤝":1178,"🤞":1158,"🤟":1159,"🤠":158,"🤡":196,"🤢":150,"🤣":17,"🤤":145,"🤥":141,"🤦‍♀":1250,"🤦‍♂":1249,"🤦":1248,"🤧":152,"🤨":133,"🤩":116,"🤪":125,"🤫":130,"🤬":190,"🤭":129,"🤮":151,"🤯":157,"🤰":1323,"🤱":1324,"🤲":1177,"🤳":1182,"🤴":1314,"🤵":1321,"🤶":1327,"🤷‍♀":1253,"🤷‍♂":1252,"🤷":1251,"🤸‍♀":1424,"🤸‍♂":1423,"🤸":1422,"🤹‍♀":1436,"🤹‍♂":1435,"🤹":1434,"🤺":1394,"🤼‍♀":1427,"🤼‍♂":1426,"🤼":1425,"🤽‍♀":1430,"🤽‍♂":1429,"🤽":1428,"🤾‍♀":1433,"🤾‍♂":1432,"🤾":1431,"🤿":550,"🥀":2111,"🥁":668,"🥂":3110,"🥃":3111,"🥄":3119,"🥅":546,"🥇":525,"🥈":526,"🥉":527,"🥊":544,"🥋":545,"🥌":554,"🥍":541,"🥎":530,"🥏":536,"🥐":333,"🥑":318,"🥒":324,"🥓":343,"🥔":320,"🥕":321,"🥖":334,"🥗":358,"🥘":355,"🥙":351,"🥚":353,"🥛":3100,"🥜":330,"🥝":315,"🥞":337,"🥟":377,"🥠":378,"🥡":379,"🥢":3116,"🥣":357,"🥤":3112,"🥥":317,"🥦":326,"🥧":393,"🥨":335,"🥩":342,"🥪":348,"🥫":362,"🥬":325,"🥭":38,"🥮":375,"🥯":336,"🥰":114,"🥱":186,"🥳":159,"🥴":155,"🥵":153,"🥶":154,"🥺":171,"🥻":615,"🥼":64,"🥽":63,"🥾":628,"🥿":629,"🦀":380,"🦁":215,"🦂":2103,"🦃":260,"🦄":221,"🦅":269,"🦆":270,"🦇":250,"🦈":291,"🦉":272,"🦊":211,"🦋":295,"🦌":223,"🦍":23,"🦎":279,"🦏":240,"🦐":382,"🦑":383,"🦒":238,"🦓":222,"🦔":249,"🦕":283,"🦖":284,"🦗":2100,"🦘":257,"🦙":237,"🦚":274,"🦛":241,"🦜":275,"🦝":212,"🦞":381,"🦟":2104,"🦠":2105,"🦡":258,"🦢":271,"🦥":254,"🦦":255,"🦧":24,"🦨":256,"🦩":273,"🦪":384,"🦮":27,"🦯":6196,"🦴":1193,"🦵":1186,"🦶":1187,"🦷":1192,"🦸‍♀":1330,"🦸‍♂":1329,"🦸":1328,"🦹‍♀":1333,"🦹‍♂":1332,"🦹":1331,"🦺":65,"🦻":1189,"🦼":495,"🦽":494,"🦾":1184,"🦿":1185,"🧀":339,"🧁":392,"🧂":361,"🧃":3113,"🧄":327,"🧅":328,"🧆":352,"🧇":338,"🧈":360,"🧉":3114,"🧊":3115,"🧍‍♀":1366,"🧍‍♂":1365,"🧍":1364,"🧎‍♀":1369,"🧎‍♂":1368,"🧎":1367,"🧏‍♀":1244,"🧏‍♂":1243,"🧏":1242,"🧐":162,"🧑‍🌾":1266,"🧑‍🍳":1269,"🧑‍🎓":1257,"🧑‍🎤":1287,"🧑‍🎨":1290,"🧑‍🏫":1260,"🧑‍🏭":1275,"🧑‍💻":1284,"🧑‍💼":1278,"🧑‍🔧":1272,"🧑‍🔬":1281,"🧑‍🚀":1296,"🧑‍🚒":1299,"🧑‍🤝‍🧑":1442,"🧑‍🦯":1370,"🧑‍🦰":1212,"🧑‍🦱":1214,"🧑‍🦲":1218,"🧑‍🦳":1216,"🧑‍🦼":1373,"🧑‍🦽":1376,"🧑‍⚕":1254,"🧑‍⚖":1263,"🧑‍✈":1293,"🧑":1202,"🧒":1199,"🧓":1221,"🧔":1205,"🧕":1320,"🧖‍♀":1390,"🧖‍♂":1389,"🧖":1388,"🧗‍♀":1393,"🧗‍♂":1392,"🧗":1391,"🧘‍♀":1439,"🧘‍♂":1438,"🧘":1437,"🧙‍♀":1336,"🧙‍♂":1335,"🧙":1334,"🧚‍♀":1339,"🧚‍♂":1338,"🧚":1337,"🧛‍♀":1342,"🧛‍♂":1341,"🧛":1340,"🧜‍♀":1345,"🧜‍♂":1344,"🧜":1343,"🧝‍♀":1348,"🧝‍♂":1347,"🧝":1346,"🧞‍♀":1351,"🧞‍♂":1350,"🧞":1349,"🧟‍♀":1354,"🧟‍♂":1353,"🧟":1352,"🧠":1191,"🧡":1128,"🧢":638,"🧣":69,"🧤":610,"🧥":611,"🧦":612,"🧧":516,"🧨":55,"🧩":565,"🧪":6202,"🧫":6203,"🧬":6204,"🧭":47,"🧮":687,"🧯":6228,"🧰":6199,"🧱":420,"🧲":6200,"🧳":4132,"🧴":6221,"🧵":578,"🧶":579,"🧷":6222,"🧸":566,"🧹":6223,"🧺":6224,"🧻":6225,"🧼":6226,"🧽":6227,"🧾":6128,"🧿":560,"🩰":632,"🩱":616,"🩲":617,"🩳":618,"🩸":6209,"🩹":6211,"🩺":6212,"🪀":556,"🪁":557,"🪂":4122,"🪐":4180,"🪑":6216,"🪒":6220,"🪓":6182,"🪔":6103,"🪕":667,"‼":6355,"⁉":6356,"™":6364,"ℹ":6389,"↔":6269,"↕":6268,"↖":6267,"↗":6261,"↘":6263,"↙":6265,"↩":6270,"↪":6271,"⌚":4135,"⌛":4133,"⌨":680,"⏏":6323,"⏩":6310,"⏪":6314,"⏫":6317,"⏬":6319,"⏭":6311,"⏮":6315,"⏯":6312,"⏰":4136,"⏱":4137,"⏲":4138,"⏳":4134,"⏸":6320,"⏹":6321,"⏺":6322,"Ⓜ":6391,"▪":6439,"▫":6440,"▶":6309,"◀":6313,"◻":6436,"◼":6435,"◽":6438,"◾":6437,"☀":4177,"☁":4185,"☂":4200,"☃":4205,"☄":4207,"☎":671,"☑":6341,"☔":4201,"☕":3101,"☘":2123,"☝":1167,"☠":194,"☢":6258,"☣":6259,"☦":6288,"☪":6289,"☮":6290,"☯":6286,"☸":6285,"☹":166,"☺":119,"♈":6293,"♉":6294,"♊":6295,"♋":6296,"♌":6297,"♍":6298,"♎":6299,"♏":6300,"♐":6301,"♑":6302,"♒":6303,"♓":6304,"♟":571,"♠":567,"♣":570,"♥":568,"♦":569,"♨":457,"♻":6334,"♾":6333,"♿":6237,"⚒":6184,"⚓":4110,"⚔":6187,"⚖":6195,"⚗":6201,"⚙":6193,"⚛":6282,"⚜":6335,"⚠":6247,"⚡":4203,"⚪":6425,"⚫":6424,"⚰":6231,"⚱":6232,"⚽":528,"⚾":529,"⛄":4206,"⛅":4186,"⛈":4187,"⛎":6305,"⛏":6183,"⛑":639,"⛓":6198,"⛔":6249,"⛩":445,"⛪":441,"⛰":49,"⛱":4202,"⛲":447,"⛳":547,"⛴":4115,"⛵":4111,"⛷":1396,"⛸":548,"⛹‍♀":1412,"⛹‍♂":1411,"⛹":1410,"⛺":448,"⛽":4104,"✂":6171,"✅":6340,"✈":4118,"✉":6132,"✊":1170,"✋":1153,"✌":1157,"✍":1180,"✏":6145,"✒":6146,"✔":6342,"✖":6343,"✝":6287,"✡":6284,"✨":56,"✳":6352,"✴":6353,"❄":4204,"❇":6354,"❌":6344,"❎":6345,"❓":6357,"❔":6358,"❕":6359,"❗":6360,"❣":1125,"❤":1127,"➕":6346,"➖":6347,"➗":6348,"➡":6262,"➰":6349,"➿":6350,"⤴":6272,"⤵":6273,"⬅":6266,"⬆":6260,"⬇":6264,"⬛":6433,"⬜":6434,"⭐":4181,"⭕":6339,"〰":6361,"〽":6351,"㊗":6413,"㊙":6414,"🎅🏻":0,"🎅🏼":0,"🎅🏽":0,"🎅🏾":0,"🎅🏿":0,"🏂🏻":0,"🏂🏼":0,"🏂🏽":0,"🏂🏾":0,"🏂🏿":0,"🏃🏻‍♀":0,"🏃🏼‍♀":0,"🏃🏽‍♀":0,"🏃🏾‍♀":0,"🏃🏿‍♀":0,"🏃🏻‍♂":0,"🏃🏼‍♂":0,"🏃🏽‍♂":0,"🏃🏾‍♂":0,"🏃🏿‍♂":0,"🏃🏻":0,"🏃🏼":0,"🏃🏽":0,"🏃🏾":0,"🏃🏿":0,"🏄🏻‍♀":0,"🏄🏼‍♀":0,"🏄🏽‍♀":0,"🏄🏾‍♀":0,"🏄🏿‍♀":0,"🏄🏻‍♂":0,"🏄🏼‍♂":0,"🏄🏽‍♂":0,"🏄🏾‍♂":0,"🏄🏿‍♂":0,"🏄🏻":0,"🏄🏼":0,"🏄🏽":0,"🏄🏾":0,"🏄🏿":0,"🏇🏻":0,"🏇🏼":0,"🏇🏽":0,"🏇🏾":0,"🏇🏿":0,"🏊🏻‍♀":0,"🏊🏼‍♀":0,"🏊🏽‍♀":0,"🏊🏾‍♀":0,"🏊🏿‍♀":0,"🏊🏻‍♂":0,"🏊🏼‍♂":0,"🏊🏽‍♂":0,"🏊🏾‍♂":0,"🏊🏿‍♂":0,"🏊🏻":0,"🏊🏼":0,"🏊🏽":0,"🏊🏾":0,"🏊🏿":0,"🏋🏻‍♀":0,"🏋🏼‍♀":0,"🏋🏽‍♀":0,"🏋🏾‍♀":0,"🏋🏿‍♀":0,"🏋🏻‍♂":0,"🏋🏼‍♂":0,"🏋🏽‍♂":0,"🏋🏾‍♂":0,"🏋🏿‍♂":0,"🏋🏻":0,"🏋🏼":0,"🏋🏽":0,"🏋🏾":0,"🏋🏿":0,"🏌🏻‍♀":0,"🏌🏼‍♀":0,"🏌🏽‍♀":0,"🏌🏾‍♀":0,"🏌🏿‍♀":0,"🏌🏻‍♂":0,"🏌🏼‍♂":0,"🏌🏽‍♂":0,"🏌🏾‍♂":0,"🏌🏿‍♂":0,"🏌🏻":0,"🏌🏼":0,"🏌🏽":0,"🏌🏾":0,"🏌🏿":0,"👂🏻":0,"👂🏼":0,"👂🏽":0,"👂🏾":0,"👂🏿":0,"👃🏻":0,"👃🏼":0,"👃🏽":0,"👃🏾":0,"👃🏿":0,"👆🏻":0,"👆🏼":0,"👆🏽":0,"👆🏾":0,"👆🏿":0,"👇🏻":0,"👇🏼":0,"👇🏽":0,"👇🏾":0,"👇🏿":0,"👈🏻":0,"👈🏼":0,"👈🏽":0,"👈🏾":0,"👈🏿":0,"👉🏻":0,"👉🏼":0,"👉🏽":0,"👉🏾":0,"👉🏿":0,"👊🏻":0,"👊🏼":0,"👊🏽":0,"👊🏾":0,"👊🏿":0,"👋🏻":0,"👋🏼":0,"👋🏽":0,"👋🏾":0,"👋🏿":0,"👌🏻":0,"👌🏼":0,"👌🏽":0,"👌🏾":0,"👌🏿":0,"👍🏻":0,"👍🏼":0,"👍🏽":0,"👍🏾":0,"👍🏿":0,"👎🏻":0,"👎🏼":0,"👎🏽":0,"👎🏾":0,"👎🏿":0,"👏🏻":0,"👏🏼":0,"👏🏽":0,"👏🏾":0,"👏🏿":0,"👐🏻":0,"👐🏼":0,"👐🏽":0,"👐🏾":0,"👐🏿":0,"👦🏻":0,"👦🏼":0,"👦🏽":0,"👦🏾":0,"👦🏿":0,"👧🏻":0,"👧🏼":0,"👧🏽":0,"👧🏾":0,"👧🏿":0,"👨🏻‍🌾":0,"👨🏼‍🌾":0,"👨🏽‍🌾":0,"👨🏾‍🌾":0,"👨🏿‍🌾":0,"👨🏻‍🍳":0,"👨🏼‍🍳":0,"👨🏽‍🍳":0,"👨🏾‍🍳":0,"👨🏿‍🍳":0,"👨🏻‍🎓":0,"👨🏼‍🎓":0,"👨🏽‍🎓":0,"👨🏾‍🎓":0,"👨🏿‍🎓":0,"👨🏻‍🎤":0,"👨🏼‍🎤":0,"👨🏽‍🎤":0,"👨🏾‍🎤":0,"👨🏿‍🎤":0,"👨🏻‍🎨":0,"👨🏼‍🎨":0,"👨🏽‍🎨":0,"👨🏾‍🎨":0,"👨🏿‍🎨":0,"👨🏻‍🏫":0,"👨🏼‍🏫":0,"👨🏽‍🏫":0,"👨🏾‍🏫":0,"👨🏿‍🏫":0,"👨🏻‍🏭":0,"👨🏼‍🏭":0,"👨🏽‍🏭":0,"👨🏾‍🏭":0,"👨🏿‍🏭":0,"👨🏻‍💻":0,"👨🏼‍💻":0,"👨🏽‍💻":0,"👨🏾‍💻":0,"👨🏿‍💻":0,"👨🏻‍💼":0,"👨🏼‍💼":0,"👨🏽‍💼":0,"👨🏾‍💼":0,"👨🏿‍💼":0,"👨🏻‍🔧":0,"👨🏼‍🔧":0,"👨🏽‍🔧":0,"👨🏾‍🔧":0,"👨🏿‍🔧":0,"👨🏻‍🔬":0,"👨🏼‍🔬":0,"👨🏽‍🔬":0,"👨🏾‍🔬":0,"👨🏿‍🔬":0,"👨🏻‍🚀":0,"👨🏼‍🚀":0,"👨🏽‍🚀":0,"👨🏾‍🚀":0,"👨🏿‍🚀":0,"👨🏻‍🚒":0,"👨🏼‍🚒":0,"👨🏽‍🚒":0,"👨🏾‍🚒":0,"👨🏿‍🚒":0,"👨🏻‍🦯":0,"👨🏼‍🦯":0,"👨🏽‍🦯":0,"👨🏾‍🦯":0,"👨🏿‍🦯":0,"👨🏻‍🦰":0,"👨🏼‍🦰":0,"👨🏽‍🦰":0,"👨🏾‍🦰":0,"👨🏿‍🦰":0,"👨🏻‍🦱":0,"👨🏼‍🦱":0,"👨🏽‍🦱":0,"👨🏾‍🦱":0,"👨🏿‍🦱":0,"👨🏻‍🦲":0,"👨🏼‍🦲":0,"👨🏽‍🦲":0,"👨🏾‍🦲":0,"👨🏿‍🦲":0,"👨🏻‍🦳":0,"👨🏼‍🦳":0,"👨🏽‍🦳":0,"👨🏾‍🦳":0,"👨🏿‍🦳":0,"👨🏻‍🦼":0,"👨🏼‍🦼":0,"👨🏽‍🦼":0,"👨🏾‍🦼":0,"👨🏿‍🦼":0,"👨🏻‍🦽":0,"👨🏼‍🦽":0,"👨🏽‍🦽":0,"👨🏾‍🦽":0,"👨🏿‍🦽":0,"👨🏻‍⚕":0,"👨🏼‍⚕":0,"👨🏽‍⚕":0,"👨🏾‍⚕":0,"👨🏿‍⚕":0,"👨🏻‍⚖":0,"👨🏼‍⚖":0,"👨🏽‍⚖":0,"👨🏾‍⚖":0,"👨🏿‍⚖":0,"👨🏻‍✈":0,"👨🏼‍✈":0,"👨🏽‍✈":0,"👨🏾‍✈":0,"👨🏿‍✈":0,"👨🏻":0,"👨🏼":0,"👨🏽":0,"👨🏾":0,"👨🏿":0,"👩🏻‍🌾":0,"👩🏼‍🌾":0,"👩🏽‍🌾":0,"👩🏾‍🌾":0,"👩🏿‍🌾":0,"👩🏻‍🍳":0,"👩🏼‍🍳":0,"👩🏽‍🍳":0,"👩🏾‍🍳":0,"👩🏿‍🍳":0,"👩🏻‍🎓":0,"👩🏼‍🎓":0,"👩🏽‍🎓":0,"👩🏾‍🎓":0,"👩🏿‍🎓":0,"👩🏻‍🎤":0,"👩🏼‍🎤":0,"👩🏽‍🎤":0,"👩🏾‍🎤":0,"👩🏿‍🎤":0,"👩🏻‍🎨":0,"👩🏼‍🎨":0,"👩🏽‍🎨":0,"👩🏾‍🎨":0,"👩🏿‍🎨":0,"👩🏻‍🏫":0,"👩🏼‍🏫":0,"👩🏽‍🏫":0,"👩🏾‍🏫":0,"👩🏿‍🏫":0,"👩🏻‍🏭":0,"👩🏼‍🏭":0,"👩🏽‍🏭":0,"👩🏾‍🏭":0,"👩🏿‍🏭":0,"👩🏻‍💻":0,"👩🏼‍💻":0,"👩🏽‍💻":0,"👩🏾‍💻":0,"👩🏿‍💻":0,"👩🏻‍💼":0,"👩🏼‍💼":0,"👩🏽‍💼":0,"👩🏾‍💼":0,"👩🏿‍💼":0,"👩🏻‍🔧":0,"👩🏼‍🔧":0,"👩🏽‍🔧":0,"👩🏾‍🔧":0,"👩🏿‍🔧":0,"👩🏻‍🔬":0,"👩🏼‍🔬":0,"👩🏽‍🔬":0,"👩🏾‍🔬":0,"👩🏿‍🔬":0,"👩🏻‍🚀":0,"👩🏼‍🚀":0,"👩🏽‍🚀":0,"👩🏾‍🚀":0,"👩🏿‍🚀":0,"👩🏻‍🚒":0,"👩🏼‍🚒":0,"👩🏽‍🚒":0,"👩🏾‍🚒":0,"👩🏿‍🚒":0,"👩🏻‍🦯":0,"👩🏼‍🦯":0,"👩🏽‍🦯":0,"👩🏾‍🦯":0,"👩🏿‍🦯":0,"👩🏻‍🦰":0,"👩🏼‍🦰":0,"👩🏽‍🦰":0,"👩🏾‍🦰":0,"👩🏿‍🦰":0,"👩🏻‍🦱":0,"👩🏼‍🦱":0,"👩🏽‍🦱":0,"👩🏾‍🦱":0,"👩🏿‍🦱":0,"👩🏻‍🦲":0,"👩🏼‍🦲":0,"👩🏽‍🦲":0,"👩🏾‍🦲":0,"👩🏿‍🦲":0,"👩🏻‍🦳":0,"👩🏼‍🦳":0,"👩🏽‍🦳":0,"👩🏾‍🦳":0,"👩🏿‍🦳":0,"👩🏻‍🦼":0,"👩🏼‍🦼":0,"👩🏽‍🦼":0,"👩🏾‍🦼":0,"👩🏿‍🦼":0,"👩🏻‍🦽":0,"👩🏼‍🦽":0,"👩🏽‍🦽":0,"👩🏾‍🦽":0,"👩🏿‍🦽":0,"👩🏻‍⚕":0,"👩🏼‍⚕":0,"👩🏽‍⚕":0,"👩🏾‍⚕":0,"👩🏿‍⚕":0,"👩🏻‍⚖":0,"👩🏼‍⚖":0,"👩🏽‍⚖":0,"👩🏾‍⚖":0,"👩🏿‍⚖":0,"👩🏻‍✈":0,"👩🏼‍✈":0,"👩🏽‍✈":0,"👩🏾‍✈":0,"👩🏿‍✈":0,"👩🏻":0,"👩🏼":0,"👩🏽":0,"👩🏾":0,"👩🏿":0,"👫🏻":0,"👫🏼":0,"👫🏽":0,"👫🏾":0,"👫🏿":0,"👩🏻‍🤝‍👨🏼":0,"👩🏻‍🤝‍👨🏽":0,"👩🏻‍🤝‍👨🏾":0,"👩🏻‍🤝‍👨🏿":0,"👩🏼‍🤝‍👨🏻":0,"👩🏼‍🤝‍👨🏽":0,"👩🏼‍🤝‍👨🏾":0,"👩🏼‍🤝‍👨🏿":0,"👩🏽‍🤝‍👨🏻":0,"👩🏽‍🤝‍👨🏼":0,"👩🏽‍🤝‍👨🏾":0,"👩🏽‍🤝‍👨🏿":0,"👩🏾‍🤝‍👨🏻":0,"👩🏾‍🤝‍👨🏼":0,"👩🏾‍🤝‍👨🏽":0,"👩🏾‍🤝‍👨🏿":0,"👩🏿‍🤝‍👨🏻":0,"👩🏿‍🤝‍👨🏼":0,"👩🏿‍🤝‍👨🏽":0,"👩🏿‍🤝‍👨🏾":0,"👬🏻":0,"👬🏼":0,"👬🏽":0,"👬🏾":0,"👬🏿":0,"👨🏻‍🤝‍👨🏼":0,"👨🏻‍🤝‍👨🏽":0,"👨🏻‍🤝‍👨🏾":0,"👨🏻‍🤝‍👨🏿":0,"👨🏼‍🤝‍👨🏻":0,"👨🏼‍🤝‍👨🏽":0,"👨🏼‍🤝‍👨🏾":0,"👨🏼‍🤝‍👨🏿":0,"👨🏽‍🤝‍👨🏻":0,"👨🏽‍🤝‍👨🏼":0,"👨🏽‍🤝‍👨🏾":0,"👨🏽‍🤝‍👨🏿":0,"👨🏾‍🤝‍👨🏻":0,"👨🏾‍🤝‍👨🏼":0,"👨🏾‍🤝‍👨🏽":0,"👨🏾‍🤝‍👨🏿":0,"👨🏿‍🤝‍👨🏻":0,"👨🏿‍🤝‍👨🏼":0,"👨🏿‍🤝‍👨🏽":0,"👨🏿‍🤝‍👨🏾":0,"👭🏻":0,"👭🏼":0,"👭🏽":0,"👭🏾":0,"👭🏿":0,"👩🏻‍🤝‍👩🏼":0,"👩🏻‍🤝‍👩🏽":0,"👩🏻‍🤝‍👩🏾":0,"👩🏻‍🤝‍👩🏿":0,"👩🏼‍🤝‍👩🏻":0,"👩🏼‍🤝‍👩🏽":0,"👩🏼‍🤝‍👩🏾":0,"👩🏼‍🤝‍👩🏿":0,"👩🏽‍🤝‍👩🏻":0,"👩🏽‍🤝‍👩🏼":0,"👩🏽‍🤝‍👩🏾":0,"👩🏽‍🤝‍👩🏿":0,"👩🏾‍🤝‍👩🏻":0,"👩🏾‍🤝‍👩🏼":0,"👩🏾‍🤝‍👩🏽":0,"👩🏾‍🤝‍👩🏿":0,"👩🏿‍🤝‍👩🏻":0,"👩🏿‍🤝‍👩🏼":0,"👩🏿‍🤝‍👩🏽":0,"👩🏿‍🤝‍👩🏾":0,"👮🏻‍♀":0,"👮🏼‍♀":0,"👮🏽‍♀":0,"👮🏾‍♀":0,"👮🏿‍♀":0,"👮🏻‍♂":0,"👮🏼‍♂":0,"👮🏽‍♂":0,"👮🏾‍♂":0,"👮🏿‍♂":0,"👮🏻":0,"👮🏼":0,"👮🏽":0,"👮🏾":0,"👮🏿":0,"👰🏻":0,"👰🏼":0,"👰🏽":0,"👰🏾":0,"👰🏿":0,"👱🏻‍♀":0,"👱🏼‍♀":0,"👱🏽‍♀":0,"👱🏾‍♀":0,"👱🏿‍♀":0,"👱🏻‍♂":0,"👱🏼‍♂":0,"👱🏽‍♂":0,"👱🏾‍♂":0,"👱🏿‍♂":0,"👱🏻":0,"👱🏼":0,"👱🏽":0,"👱🏾":0,"👱🏿":0,"👲🏻":0,"👲🏼":0,"👲🏽":0,"👲🏾":0,"👲🏿":0,"👳🏻‍♀":0,"👳🏼‍♀":0,"👳🏽‍♀":0,"👳🏾‍♀":0,"👳🏿‍♀":0,"👳🏻‍♂":0,"👳🏼‍♂":0,"👳🏽‍♂":0,"👳🏾‍♂":0,"👳🏿‍♂":0,"👳🏻":0,"👳🏼":0,"👳🏽":0,"👳🏾":0,"👳🏿":0,"👴🏻":0,"👴🏼":0,"👴🏽":0,"👴🏾":0,"👴🏿":0,"👵🏻":0,"👵🏼":0,"👵🏽":0,"👵🏾":0,"👵🏿":0,"👶🏻":0,"👶🏼":0,"👶🏽":0,"👶🏾":0,"👶🏿":0,"👷🏻‍♀":0,"👷🏼‍♀":0,"👷🏽‍♀":0,"👷🏾‍♀":0,"👷🏿‍♀":0,"👷🏻‍♂":0,"👷🏼‍♂":0,"👷🏽‍♂":0,"👷🏾‍♂":0,"👷🏿‍♂":0,"👷🏻":0,"👷🏼":0,"👷🏽":0,"👷🏾":0,"👷🏿":0,"👸🏻":0,"👸🏼":0,"👸🏽":0,"👸🏾":0,"👸🏿":0,"👼🏻":0,"👼🏼":0,"👼🏽":0,"👼🏾":0,"👼🏿":0,"💁🏻‍♀":0,"💁🏼‍♀":0,"💁🏽‍♀":0,"💁🏾‍♀":0,"💁🏿‍♀":0,"💁🏻‍♂":0,"💁🏼‍♂":0,"💁🏽‍♂":0,"💁🏾‍♂":0,"💁🏿‍♂":0,"💁🏻":0,"💁🏼":0,"💁🏽":0,"💁🏾":0,"💁🏿":0,"💂🏻‍♀":0,"💂🏼‍♀":0,"💂🏽‍♀":0,"💂🏾‍♀":0,"💂🏿‍♀":0,"💂🏻‍♂":0,"💂🏼‍♂":0,"💂🏽‍♂":0,"💂🏾‍♂":0,"💂🏿‍♂":0,"💂🏻":0,"💂🏼":0,"💂🏽":0,"💂🏾":0,"💂🏿":0,"💃🏻":0,"💃🏼":0,"💃🏽":0,"💃🏾":0,"💃🏿":0,"💅🏻":0,"💅🏼":0,"💅🏽":0,"💅🏾":0,"💅🏿":0,"💆🏻‍♀":0,"💆🏼‍♀":0,"💆🏽‍♀":0,"💆🏾‍♀":0,"💆🏿‍♀":0,"💆🏻‍♂":0,"💆🏼‍♂":0,"💆🏽‍♂":0,"💆🏾‍♂":0,"💆🏿‍♂":0,"💆🏻":0,"💆🏼":0,"💆🏽":0,"💆🏾":0,"💆🏿":0,"💇🏻‍♀":0,"💇🏼‍♀":0,"💇🏽‍♀":0,"💇🏾‍♀":0,"💇🏿‍♀":0,"💇🏻‍♂":0,"💇🏼‍♂":0,"💇🏽‍♂":0,"💇🏾‍♂":0,"💇🏿‍♂":0,"💇🏻":0,"💇🏼":0,"💇🏽":0,"💇🏾":0,"💇🏿":0,"💪🏻":0,"💪🏼":0,"💪🏽":0,"💪🏾":0,"💪🏿":0,"🕴🏻":0,"🕴🏼":0,"🕴🏽":0,"🕴🏾":0,"🕴🏿":0,"🕵🏻‍♀":0,"🕵🏼‍♀":0,"🕵🏽‍♀":0,"🕵🏾‍♀":0,"🕵🏿‍♀":0,"🕵🏻‍♂":0,"🕵🏼‍♂":0,"🕵🏽‍♂":0,"🕵🏾‍♂":0,"🕵🏿‍♂":0,"🕵🏻":0,"🕵🏼":0,"🕵🏽":0,"🕵🏾":0,"🕵🏿":0,"🕺🏻":0,"🕺🏼":0,"🕺🏽":0,"🕺🏾":0,"🕺🏿":0,"🖐🏻":0,"🖐🏼":0,"🖐🏽":0,"🖐🏾":0,"🖐🏿":0,"🖕🏻":0,"🖕🏼":0,"🖕🏽":0,"🖕🏾":0,"🖕🏿":0,"🖖🏻":0,"🖖🏼":0,"🖖🏽":0,"🖖🏾":0,"🖖🏿":0,"🙅🏻‍♀":0,"🙅🏼‍♀":0,"🙅🏽‍♀":0,"🙅🏾‍♀":0,"🙅🏿‍♀":0,"🙅🏻‍♂":0,"🙅🏼‍♂":0,"🙅🏽‍♂":0,"🙅🏾‍♂":0,"🙅🏿‍♂":0,"🙅🏻":0,"🙅🏼":0,"🙅🏽":0,"🙅🏾":0,"🙅🏿":0,"🙆🏻‍♀":0,"🙆🏼‍♀":0,"🙆🏽‍♀":0,"🙆🏾‍♀":0,"🙆🏿‍♀":0,"🙆🏻‍♂":0,"🙆🏼‍♂":0,"🙆🏽‍♂":0,"🙆🏾‍♂":0,"🙆🏿‍♂":0,"🙆🏻":0,"🙆🏼":0,"🙆🏽":0,"🙆🏾":0,"🙆🏿":0,"🙇🏻‍♀":0,"🙇🏼‍♀":0,"🙇🏽‍♀":0,"🙇🏾‍♀":0,"🙇🏿‍♀":0,"🙇🏻‍♂":0,"🙇🏼‍♂":0,"🙇🏽‍♂":0,"🙇🏾‍♂":0,"🙇🏿‍♂":0,"🙇🏻":0,"🙇🏼":0,"🙇🏽":0,"🙇🏾":0,"🙇🏿":0,"🙋🏻‍♀":0,"🙋🏼‍♀":0,"🙋🏽‍♀":0,"🙋🏾‍♀":0,"🙋🏿‍♀":0,"🙋🏻‍♂":0,"🙋🏼‍♂":0,"🙋🏽‍♂":0,"🙋🏾‍♂":0,"🙋🏿‍♂":0,"🙋🏻":0,"🙋🏼":0,"🙋🏽":0,"🙋🏾":0,"🙋🏿":0,"🙌🏻":0,"🙌🏼":0,"🙌🏽":0,"🙌🏾":0,"🙌🏿":0,"🙍🏻‍♀":0,"🙍🏼‍♀":0,"🙍🏽‍♀":0,"🙍🏾‍♀":0,"🙍🏿‍♀":0,"🙍🏻‍♂":0,"🙍🏼‍♂":0,"🙍🏽‍♂":0,"🙍🏾‍♂":0,"🙍🏿‍♂":0,"🙍🏻":0,"🙍🏼":0,"🙍🏽":0,"🙍🏾":0,"🙍🏿":0,"🙎🏻‍♀":0,"🙎🏼‍♀":0,"🙎🏽‍♀":0,"🙎🏾‍♀":0,"🙎🏿‍♀":0,"🙎🏻‍♂":0,"🙎🏼‍♂":0,"🙎🏽‍♂":0,"🙎🏾‍♂":0,"🙎🏿‍♂":0,"🙎🏻":0,"🙎🏼":0,"🙎🏽":0,"🙎🏾":0,"🙎🏿":0,"🙏🏻":0,"🙏🏼":0,"🙏🏽":0,"🙏🏾":0,"🙏🏿":0,"🚣🏻‍♀":0,"🚣🏼‍♀":0,"🚣🏽‍♀":0,"🚣🏾‍♀":0,"🚣🏿‍♀":0,"🚣🏻‍♂":0,"🚣🏼‍♂":0,"🚣🏽‍♂":0,"🚣🏾‍♂":0,"🚣🏿‍♂":0,"🚣🏻":0,"🚣🏼":0,"🚣🏽":0,"🚣🏾":0,"🚣🏿":0,"🚴🏻‍♀":0,"🚴🏼‍♀":0,"🚴🏽‍♀":0,"🚴🏾‍♀":0,"🚴🏿‍♀":0,"🚴🏻‍♂":0,"🚴🏼‍♂":0,"🚴🏽‍♂":0,"🚴🏾‍♂":0,"🚴🏿‍♂":0,"🚴🏻":0,"🚴🏼":0,"🚴🏽":0,"🚴🏾":0,"🚴🏿":0,"🚵🏻‍♀":0,"🚵🏼‍♀":0,"🚵🏽‍♀":0,"🚵🏾‍♀":0,"🚵🏿‍♀":0,"🚵🏻‍♂":0,"🚵🏼‍♂":0,"🚵🏽‍♂":0,"🚵🏾‍♂":0,"🚵🏿‍♂":0,"🚵🏻":0,"🚵🏼":0,"🚵🏽":0,"🚵🏾":0,"🚵🏿":0,"🚶🏻‍♀":0,"🚶🏼‍♀":0,"🚶🏽‍♀":0,"🚶🏾‍♀":0,"🚶🏿‍♀":0,"🚶🏻‍♂":0,"🚶🏼‍♂":0,"🚶🏽‍♂":0,"🚶🏾‍♂":0,"🚶🏿‍♂":0,"🚶🏻":0,"🚶🏼":0,"🚶🏽":0,"🚶🏾":0,"🚶🏿":0,"🛀🏻":0,"🛀🏼":0,"🛀🏽":0,"🛀🏾":0,"🛀🏿":0,"🛌🏻":0,"🛌🏼":0,"🛌🏽":0,"🛌🏾":0,"🛌🏿":0,"🤏🏻":0,"🤏🏼":0,"🤏🏽":0,"🤏🏾":0,"🤏🏿":0,"🤘🏻":0,"🤘🏼":0,"🤘🏽":0,"🤘🏾":0,"🤘🏿":0,"🤙🏻":0,"🤙🏼":0,"🤙🏽":0,"🤙🏾":0,"🤙🏿":0,"🤚🏻":0,"🤚🏼":0,"🤚🏽":0,"🤚🏾":0,"🤚🏿":0,"🤛🏻":0,"🤛🏼":0,"🤛🏽":0,"🤛🏾":0,"🤛🏿":0,"🤜🏻":0,"🤜🏼":0,"🤜🏽":0,"🤜🏾":0,"🤜🏿":0,"🤞🏻":0,"🤞🏼":0,"🤞🏽":0,"🤞🏾":0,"🤞🏿":0,"🤟🏻":0,"🤟🏼":0,"🤟🏽":0,"🤟🏾":0,"🤟🏿":0,"🤦🏻‍♀":0,"🤦🏼‍♀":0,"🤦🏽‍♀":0,"🤦🏾‍♀":0,"🤦🏿‍♀":0,"🤦🏻‍♂":0,"🤦🏼‍♂":0,"🤦🏽‍♂":0,"🤦🏾‍♂":0,"🤦🏿‍♂":0,"🤦🏻":0,"🤦🏼":0,"🤦🏽":0,"🤦🏾":0,"🤦🏿":0,"🤰🏻":0,"🤰🏼":0,"🤰🏽":0,"🤰🏾":0,"🤰🏿":0,"🤱🏻":0,"🤱🏼":0,"🤱🏽":0,"🤱🏾":0,"🤱🏿":0,"🤲🏻":0,"🤲🏼":0,"🤲🏽":0,"🤲🏾":0,"🤲🏿":0,"🤳🏻":0,"🤳🏼":0,"🤳🏽":0,"🤳🏾":0,"🤳🏿":0,"🤴🏻":0,"🤴🏼":0,"🤴🏽":0,"🤴🏾":0,"🤴🏿":0,"🤵🏻":0,"🤵🏼":0,"🤵🏽":0,"🤵🏾":0,"🤵🏿":0,"🤶🏻":0,"🤶🏼":0,"🤶🏽":0,"🤶🏾":0,"🤶🏿":0,"🤷🏻‍♀":0,"🤷🏼‍♀":0,"🤷🏽‍♀":0,"🤷🏾‍♀":0,"🤷🏿‍♀":0,"🤷🏻‍♂":0,"🤷🏼‍♂":0,"🤷🏽‍♂":0,"🤷🏾‍♂":0,"🤷🏿‍♂":0,"🤷🏻":0,"🤷🏼":0,"🤷🏽":0,"🤷🏾":0,"🤷🏿":0,"🤸🏻‍♀":0,"🤸🏼‍♀":0,"🤸🏽‍♀":0,"🤸🏾‍♀":0,"🤸🏿‍♀":0,"🤸🏻‍♂":0,"🤸🏼‍♂":0,"🤸🏽‍♂":0,"🤸🏾‍♂":0,"🤸🏿‍♂":0,"🤸🏻":0,"🤸🏼":0,"🤸🏽":0,"🤸🏾":0,"🤸🏿":0,"🤹🏻‍♀":0,"🤹🏼‍♀":0,"🤹🏽‍♀":0,"🤹🏾‍♀":0,"🤹🏿‍♀":0,"🤹🏻‍♂":0,"🤹🏼‍♂":0,"🤹🏽‍♂":0,"🤹🏾‍♂":0,"🤹🏿‍♂":0,"🤹🏻":0,"🤹🏼":0,"🤹🏽":0,"🤹🏾":0,"🤹🏿":0,"🤽🏻‍♀":0,"🤽🏼‍♀":0,"🤽🏽‍♀":0,"🤽🏾‍♀":0,"🤽🏿‍♀":0,"🤽🏻‍♂":0,"🤽🏼‍♂":0,"🤽🏽‍♂":0,"🤽🏾‍♂":0,"🤽🏿‍♂":0,"🤽🏻":0,"🤽🏼":0,"🤽🏽":0,"🤽🏾":0,"🤽🏿":0,"🤾🏻‍♀":0,"🤾🏼‍♀":0,"🤾🏽‍♀":0,"🤾🏾‍♀":0,"🤾🏿‍♀":0,"🤾🏻‍♂":0,"🤾🏼‍♂":0,"🤾🏽‍♂":0,"🤾🏾‍♂":0,"🤾🏿‍♂":0,"🤾🏻":0,"🤾🏼":0,"🤾🏽":0,"🤾🏾":0,"🤾🏿":0,"🦵🏻":0,"🦵🏼":0,"🦵🏽":0,"🦵🏾":0,"🦵🏿":0,"🦶🏻":0,"🦶🏼":0,"🦶🏽":0,"🦶🏾":0,"🦶🏿":0,"🦸🏻‍♀":0,"🦸🏼‍♀":0,"🦸🏽‍♀":0,"🦸🏾‍♀":0,"🦸🏿‍♀":0,"🦸🏻‍♂":0,"🦸🏼‍♂":0,"🦸🏽‍♂":0,"🦸🏾‍♂":0,"🦸🏿‍♂":0,"🦸🏻":0,"🦸🏼":0,"🦸🏽":0,"🦸🏾":0,"🦸🏿":0,"🦹🏻‍♀":0,"🦹🏼‍♀":0,"🦹🏽‍♀":0,"🦹🏾‍♀":0,"🦹🏿‍♀":0,"🦹🏻‍♂":0,"🦹🏼‍♂":0,"🦹🏽‍♂":0,"🦹🏾‍♂":0,"🦹🏿‍♂":0,"🦹🏻":0,"🦹🏼":0,"🦹🏽":0,"🦹🏾":0,"🦹🏿":0,"🦻🏻":0,"🦻🏼":0,"🦻🏽":0,"🦻🏾":0,"🦻🏿":0,"🧍🏻‍♀":0,"🧍🏼‍♀":0,"🧍🏽‍♀":0,"🧍🏾‍♀":0,"🧍🏿‍♀":0,"🧍🏻‍♂":0,"🧍🏼‍♂":0,"🧍🏽‍♂":0,"🧍🏾‍♂":0,"🧍🏿‍♂":0,"🧍🏻":0,"🧍🏼":0,"🧍🏽":0,"🧍🏾":0,"🧍🏿":0,"🧎🏻‍♀":0,"🧎🏼‍♀":0,"🧎🏽‍♀":0,"🧎🏾‍♀":0,"🧎🏿‍♀":0,"🧎🏻‍♂":0,"🧎🏼‍♂":0,"🧎🏽‍♂":0,"🧎🏾‍♂":0,"🧎🏿‍♂":0,"🧎🏻":0,"🧎🏼":0,"🧎🏽":0,"🧎🏾":0,"🧎🏿":0,"🧏🏻‍♀":0,"🧏🏼‍♀":0,"🧏🏽‍♀":0,"🧏🏾‍♀":0,"🧏🏿‍♀":0,"🧏🏻‍♂":0,"🧏🏼‍♂":0,"🧏🏽‍♂":0,"🧏🏾‍♂":0,"🧏🏿‍♂":0,"🧏🏻":0,"🧏🏼":0,"🧏🏽":0,"🧏🏾":0,"🧏🏿":0,"🧑🏻‍🌾":0,"🧑🏼‍🌾":0,"🧑🏽‍🌾":0,"🧑🏾‍🌾":0,"🧑🏿‍🌾":0,"🧑🏻‍🍳":0,"🧑🏼‍🍳":0,"🧑🏽‍🍳":0,"🧑🏾‍🍳":0,"🧑🏿‍🍳":0,"🧑🏻‍🎓":0,"🧑🏼‍🎓":0,"🧑🏽‍🎓":0,"🧑🏾‍🎓":0,"🧑🏿‍🎓":0,"🧑🏻‍🎤":0,"🧑🏼‍🎤":0,"🧑🏽‍🎤":0,"🧑🏾‍🎤":0,"🧑🏿‍🎤":0,"🧑🏻‍🎨":0,"🧑🏼‍🎨":0,"🧑🏽‍🎨":0,"🧑🏾‍🎨":0,"🧑🏿‍🎨":0,"🧑🏻‍🏫":0,"🧑🏼‍🏫":0,"🧑🏽‍🏫":0,"🧑🏾‍🏫":0,"🧑🏿‍🏫":0,"🧑🏻‍🏭":0,"🧑🏼‍🏭":0,"🧑🏽‍🏭":0,"🧑🏾‍🏭":0,"🧑🏿‍🏭":0,"🧑🏻‍💻":0,"🧑🏼‍💻":0,"🧑🏽‍💻":0,"🧑🏾‍💻":0,"🧑🏿‍💻":0,"🧑🏻‍💼":0,"🧑🏼‍💼":0,"🧑🏽‍💼":0,"🧑🏾‍💼":0,"🧑🏿‍💼":0,"🧑🏻‍🔧":0,"🧑🏼‍🔧":0,"🧑🏽‍🔧":0,"🧑🏾‍🔧":0,"🧑🏿‍🔧":0,"🧑🏻‍🔬":0,"🧑🏼‍🔬":0,"🧑🏽‍🔬":0,"🧑🏾‍🔬":0,"🧑🏿‍🔬":0,"🧑🏻‍🚀":0,"🧑🏼‍🚀":0,"🧑🏽‍🚀":0,"🧑🏾‍🚀":0,"🧑🏿‍🚀":0,"🧑🏻‍🚒":0,"🧑🏼‍🚒":0,"🧑🏽‍🚒":0,"🧑🏾‍🚒":0,"🧑🏿‍🚒":0,"🧑🏻‍🤝‍🧑🏻":0,"🧑🏻‍🤝‍🧑🏼":0,"🧑🏻‍🤝‍🧑🏽":0,"🧑🏻‍🤝‍🧑🏾":0,"🧑🏻‍🤝‍🧑🏿":0,"🧑🏼‍🤝‍🧑🏻":0,"🧑🏼‍🤝‍🧑🏼":0,"🧑🏼‍🤝‍🧑🏽":0,"🧑🏼‍🤝‍🧑🏾":0,"🧑🏼‍🤝‍🧑🏿":0,"🧑🏽‍🤝‍🧑🏻":0,"🧑🏽‍🤝‍🧑🏼":0,"🧑🏽‍🤝‍🧑🏽":0,"🧑🏽‍🤝‍🧑🏾":0,"🧑🏽‍🤝‍🧑🏿":0,"🧑🏾‍🤝‍🧑🏻":0,"🧑🏾‍🤝‍🧑🏼":0,"🧑🏾‍🤝‍🧑🏽":0,"🧑🏾‍🤝‍🧑🏾":0,"🧑🏾‍🤝‍🧑🏿":0,"🧑🏿‍🤝‍🧑🏻":0,"🧑🏿‍🤝‍🧑🏼":0,"🧑🏿‍🤝‍🧑🏽":0,"🧑🏿‍🤝‍🧑🏾":0,"🧑🏿‍🤝‍🧑🏿":0,"🧑🏻‍🦯":0,"🧑🏼‍🦯":0,"🧑🏽‍🦯":0,"🧑🏾‍🦯":0,"🧑🏿‍🦯":0,"🧑🏻‍🦰":0,"🧑🏼‍🦰":0,"🧑🏽‍🦰":0,"🧑🏾‍🦰":0,"🧑🏿‍🦰":0,"🧑🏻‍🦱":0,"🧑🏼‍🦱":0,"🧑🏽‍🦱":0,"🧑🏾‍🦱":0,"🧑🏿‍🦱":0,"🧑🏻‍🦲":0,"🧑🏼‍🦲":0,"🧑🏽‍🦲":0,"🧑🏾‍🦲":0,"🧑🏿‍🦲":0,"🧑🏻‍🦳":0,"🧑🏼‍🦳":0,"🧑🏽‍🦳":0,"🧑🏾‍🦳":0,"🧑🏿‍🦳":0,"🧑🏻‍🦼":0,"🧑🏼‍🦼":0,"🧑🏽‍🦼":0,"🧑🏾‍🦼":0,"🧑🏿‍🦼":0,"🧑🏻‍🦽":0,"🧑🏼‍🦽":0,"🧑🏽‍🦽":0,"🧑🏾‍🦽":0,"🧑🏿‍🦽":0,"🧑🏻‍⚕":0,"🧑🏼‍⚕":0,"🧑🏽‍⚕":0,"🧑🏾‍⚕":0,"🧑🏿‍⚕":0,"🧑🏻‍⚖":0,"🧑🏼‍⚖":0,"🧑🏽‍⚖":0,"🧑🏾‍⚖":0,"🧑🏿‍⚖":0,"🧑🏻‍✈":0,"🧑🏼‍✈":0,"🧑🏽‍✈":0,"🧑🏾‍✈":0,"🧑🏿‍✈":0,"🧑🏻":0,"🧑🏼":0,"🧑🏽":0,"🧑🏾":0,"🧑🏿":0,"🧒🏻":0,"🧒🏼":0,"🧒🏽":0,"🧒🏾":0,"🧒🏿":0,"🧓🏻":0,"🧓🏼":0,"🧓🏽":0,"🧓🏾":0,"🧓🏿":0,"🧔🏻":0,"🧔🏼":0,"🧔🏽":0,"🧔🏾":0,"🧔🏿":0,"🧕🏻":0,"🧕🏼":0,"🧕🏽":0,"🧕🏾":0,"🧕🏿":0,"🧖🏻‍♀":0,"🧖🏼‍♀":0,"🧖🏽‍♀":0,"🧖🏾‍♀":0,"🧖🏿‍♀":0,"🧖🏻‍♂":0,"🧖🏼‍♂":0,"🧖🏽‍♂":0,"🧖🏾‍♂":0,"🧖🏿‍♂":0,"🧖🏻":0,"🧖🏼":0,"🧖🏽":0,"🧖🏾":0,"🧖🏿":0,"🧗🏻‍♀":0,"🧗🏼‍♀":0,"🧗🏽‍♀":0,"🧗🏾‍♀":0,"🧗🏿‍♀":0,"🧗🏻‍♂":0,"🧗🏼‍♂":0,"🧗🏽‍♂":0,"🧗🏾‍♂":0,"🧗🏿‍♂":0,"🧗🏻":0,"🧗🏼":0,"🧗🏽":0,"🧗🏾":0,"🧗🏿":0,"🧘🏻‍♀":0,"🧘🏼‍♀":0,"🧘🏽‍♀":0,"🧘🏾‍♀":0,"🧘🏿‍♀":0,"🧘🏻‍♂":0,"🧘🏼‍♂":0,"🧘🏽‍♂":0,"🧘🏾‍♂":0,"🧘🏿‍♂":0,"🧘🏻":0,"🧘🏼":0,"🧘🏽":0,"🧘🏾":0,"🧘🏿":0,"🧙🏻‍♀":0,"🧙🏼‍♀":0,"🧙🏽‍♀":0,"🧙🏾‍♀":0,"🧙🏿‍♀":0,"🧙🏻‍♂":0,"🧙🏼‍♂":0,"🧙🏽‍♂":0,"🧙🏾‍♂":0,"🧙🏿‍♂":0,"🧙🏻":0,"🧙🏼":0,"🧙🏽":0,"🧙🏾":0,"🧙🏿":0,"🧚🏻‍♀":0,"🧚🏼‍♀":0,"🧚🏽‍♀":0,"🧚🏾‍♀":0,"🧚🏿‍♀":0,"🧚🏻‍♂":0,"🧚🏼‍♂":0,"🧚🏽‍♂":0,"🧚🏾‍♂":0,"🧚🏿‍♂":0,"🧚🏻":0,"🧚🏼":0,"🧚🏽":0,"🧚🏾":0,"🧚🏿":0,"🧛🏻‍♀":0,"🧛🏼‍♀":0,"🧛🏽‍♀":0,"🧛🏾‍♀":0,"🧛🏿‍♀":0,"🧛🏻‍♂":0,"🧛🏼‍♂":0,"🧛🏽‍♂":0,"🧛🏾‍♂":0,"🧛🏿‍♂":0,"🧛🏻":0,"🧛🏼":0,"🧛🏽":0,"🧛🏾":0,"🧛🏿":0,"🧜🏻‍♀":0,"🧜🏼‍♀":0,"🧜🏽‍♀":0,"🧜🏾‍♀":0,"🧜🏿‍♀":0,"🧜🏻‍♂":0,"🧜🏼‍♂":0,"🧜🏽‍♂":0,"🧜🏾‍♂":0,"🧜🏿‍♂":0,"🧜🏻":0,"🧜🏼":0,"🧜🏽":0,"🧜🏾":0,"🧜🏿":0,"🧝🏻‍♀":0,"🧝🏼‍♀":0,"🧝🏽‍♀":0,"🧝🏾‍♀":0,"🧝🏿‍♀":0,"🧝🏻‍♂":0,"🧝🏼‍♂":0,"🧝🏽‍♂":0,"🧝🏾‍♂":0,"🧝🏿‍♂":0,"🧝🏻":0,"🧝🏼":0,"🧝🏽":0,"🧝🏾":0,"🧝🏿":0,"☝🏻":0,"☝🏼":0,"☝🏽":0,"☝🏾":0,"☝🏿":0,"⛹🏻‍♀":0,"⛹🏼‍♀":0,"⛹🏽‍♀":0,"⛹🏾‍♀":0,"⛹🏿‍♀":0,"⛹🏻‍♂":0,"⛹🏼‍♂":0,"⛹🏽‍♂":0,"⛹🏾‍♂":0,"⛹🏿‍♂":0,"⛹🏻":0,"⛹🏼":0,"⛹🏽":0,"⛹🏾":0,"⛹🏿":0,"✊🏻":0,"✊🏼":0,"✊🏽":0,"✊🏾":0,"✊🏿":0,"✋🏻":0,"✋🏼":0,"✋🏽":0,"✋🏾":0,"✋🏿":0,"✌🏻":0,"✌🏼":0,"✌🏽":0,"✌🏾":0,"✌🏿":0,"✍🏻":0,"✍🏼":0,"✍🏽":0,"✍🏾":0,"✍🏿":0},LatinizeMap:{"Á":"A","Ă":"A","Ắ":"A","Ặ":"A","Ằ":"A","Ẳ":"A","Ẵ":"A","Ǎ":"A","Â":"A","Ấ":"A","Ậ":"A","Ầ":"A","Ẩ":"A","Ẫ":"A","Ä":"A","Ǟ":"A","Ȧ":"A","Ǡ":"A","Ạ":"A","Ȁ":"A","À":"A","Ả":"A","Ȃ":"A","Ā":"A","Ą":"A","Å":"A","Ǻ":"A","Ḁ":"A","Ⱥ":"A","Ã":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ḃ":"B","Ḅ":"B","Ɓ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","DZ":"DZ","DŽ":"DZ","É":"E","Ĕ":"E","Ě":"E","Ȩ":"E","Ḝ":"E","Ê":"E","Ế":"E","Ệ":"E","Ề":"E","Ể":"E","Ễ":"E","Ḙ":"E","Ë":"E","Ė":"E","Ẹ":"E","Ȅ":"E","È":"E","Ẻ":"E","Ȇ":"E","Ē":"E","Ḗ":"E","Ḕ":"E","Ę":"E","Ɇ":"E","Ẽ":"E","Ḛ":"E","Ꝫ":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"I","Ĭ":"I","Ǐ":"I","Î":"I","Ï":"I","Ḯ":"I","İ":"I","Ị":"I","Ȉ":"I","Ì":"I","Ỉ":"I","Ȋ":"I","Ī":"I","Į":"I","Ɨ":"I","Ĩ":"I","Ḭ":"I","Ꝺ":"D","Ꝼ":"F","Ᵹ":"G","Ꞃ":"R","Ꞅ":"S","Ꞇ":"T","Ꝭ":"IS","Ĵ":"J","Ɉ":"J","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","ẞ":"SS","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj","ſ":"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o","ȱ":"o","ọ":"o","ő":"o","ȍ":"o","ò":"o","ỏ":"o","ơ":"o","ớ":"o","ợ":"o","ờ":"o","ở":"o","ỡ":"o","ȏ":"o","ꝋ":"o","ꝍ":"o","ⱺ":"o","ō":"o","ṓ":"o","ṑ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","õ":"o","ṍ":"o","ṏ":"o","ȭ":"o","ƣ":"oi","ꝏ":"oo","ɛ":"e","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ß":"ss","ᴑ":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"tz","ú":"u","ŭ":"u","ǔ":"u","û":"u","ṷ":"u","ü":"u","ǘ":"u","ǚ":"u","ǜ":"u","ǖ":"u","ṳ":"u","ụ":"u","ű":"u","ȕ":"u","ù":"u","ủ":"u","ư":"u","ứ":"u","ự":"u","ừ":"u","ử":"u","ữ":"u","ȗ":"u","ū":"u","ṻ":"u","ų":"u","ᶙ":"u","ů":"u","ũ":"u","ṹ":"u","ṵ":"u","ᵫ":"ue","ꝸ":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","ᶌ":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x","Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"","Ф":"F","Ы":"I","В":"V","А":"A","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"","б":"b","ю":"yu"},TLD:["abogado","ac","academy","accountants","active","actor","ad","adult","ae","aero","af","ag","agency","ai","airforce","al","allfinanz","alsace","am","amsterdam","an","android","ao","apartments","aq","aquarelle","ar","archi","army","arpa","as","asia","associates","at","attorney","au","auction","audio","autos","aw","ax","axa","az","ba","band","bank","bar","barclaycard","barclays","bargains","bayern","bb","bd","be","beer","berlin","best","bf","bg","bh","bi","bid","bike","bingo","bio","biz","bj","black","blackfriday","bloomberg","blue","bm","bmw","bn","bnpparibas","bo","boo","boutique","br","brussels","bs","bt","budapest","build","builders","business","buzz","bv","bw","by","bz","bzh","ca","cab","cal","camera","camp","cancerresearch","canon","capetown","capital","caravan","cards","care","career","careers","cartier","casa","cash","cat","catering","cc","cd","center","ceo","cern","cf","cg","ch","channel","chat","cheap","christmas","chrome","church","ci","citic","city","ck","cl","claims","cleaning","click","clinic","clothing","club","cm","cn","co","coach","codes","coffee","college","cologne","com","community","company","computer","condos","construction","consulting","contractors","cooking","cool","coop","country","cr","credit","creditcard","cricket","crs","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cz","dabur","dad","dance","dating","day","dclk","de","deals","degree","delivery","democrat","dental","dentist","desi","design","dev","diamonds","diet","digital","direct","directory","discount","dj","dk","dm","dnp","do","docs","domains","doosan","durban","dvag","dz","eat","ec","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","equipment","er","es","esq","estate","et","eu","eurovision","eus","events","everbank","exchange","expert","exposed","fail","farm","fashion","feedback","fi","finance","financial","firmdale","fish","fishing","fit","fitness","fj","fk","flights","florist","flowers","flsmidth","fly","fm","fo","foo","forsale","foundation","fr","frl","frogans","fund","furniture","futbol","ga","gal","gallery","garden","gb","gbiz","gd","ge","gent","gf","gg","ggee","gh","gi","gift","gifts","gives","gl","glass","gle","global","globo","gm","gmail","gmo","gmx","gn","goog","google","gop","gov","gp","gq","gr","graphics","gratis","green","gripe","gs","gt","gu","guide","guitars","guru","gw","gy","hamburg","hangout","haus","healthcare","help","here","hermes","hiphop","hiv","hk","hm","hn","holdings","holiday","homes","horse","host","hosting","house","how","hr","ht","hu","ibm","id","ie","ifm","il","im","immo","immobilien","in","industries","info","ing","ink","institute","insure","int","international","investments","io","iq","ir","irish","is","it","iwc","jcb","je","jetzt","jm","jo","jobs","joburg","jp","juegos","kaufen","kddi","ke","kg","kh","ki","kim","kitchen","kiwi","km","kn","koeln","kp","kr","krd","kred","kw","ky","kyoto","kz","la","lacaixa","land","lat","latrobe","lawyer","lb","lc","lds","lease","legal","lgbt","li","lidl","life","lighting","limited","limo","link","lk","loans","london","lotte","lotto","lr","ls","lt","ltda","lu","luxe","luxury","lv","ly","ma","madrid","maison","management","mango","market","marketing","marriott","mc","md","me","media","meet","melbourne","meme","memorial","menu","mg","mh","miami","mil","mini","mk","ml","mm","mn","mo","mobi","moda","moe","monash","money","mormon","mortgage","moscow","motorcycles","mov","mp","mq","mr","ms","mt","mu","museum","mv","mw","mx","my","mz","na","nagoya","name","navy","nc","ne","net","network","neustar","new","nexus","nf","ng","ngo","nhk","ni","nico","ninja","nl","no","np","nr","nra","nrw","ntt","nu","nyc","nz","okinawa","om","one","ong","onl","ooo","org","organic","osaka","otsuka","ovh","pa","paris","partners","parts","party","pe","pf","pg","ph","pharmacy","photo","photography","photos","physio","pics","pictures","pink","pizza","pk","pl","place","plumbing","pm","pn","pohl","poker","porn","post","pr","praxi","press","pro","prod","productions","prof","properties","property","ps","pt","pub","pw","py","qa","qpon","quebec","re","realtor","recipes","red","rehab","reise","reisen","reit","ren","rentals","repair","report","republican","rest","restaurant","reviews","rich","rio","rip","ro","rocks","rodeo","rs","rsvp","ru","ruhr","rw","ryukyu","sa","saarland","sale","samsung","sarl","saxo","sb","sc","sca","scb","schmidt","schule","schwarz","science","scot","sd","se","services","sew","sexy","sg","sh","shiksha","shoes","shriram","si","singles","sj","sk","sky","sl","sm","sn","so","social","software","sohu","solar","solutions","soy","space","spiegel","sr","st","style","su","supplies","supply","support","surf","surgery","suzuki","sv","sx","sy","sydney","systems","sz","taipei","tatar","tattoo","tax","tc","td","technology","tel","temasek","tennis","tf","tg","th","tienda","tips","tires","tirol","tj","tk","tl","tm","tn","to","today","tokyo","tools","top","toshiba","town","toys","tp","tr","trade","training","travel","trust","tt","tui","tv","tw","tz","ua","ug","uk","university","uno","uol","us","uy","uz","va","vacations","vc","ve","vegas","ventures","versicherung","vet","vg","vi","viajes","video","villas","vision","vlaanderen","vn","vodka","vote","voting","voto","voyage","vu","wales","wang","watch","webcam","website","wed","wedding","wf","whoswho","wien","wiki","williamhill","wme","work","works","world","ws","wtc","wtf","佛山","集团","在线","한국","ভারত","八卦","موقع","公益","公司","移动","我爱你","москва","қаз","онлайн","сайт","срб","淡马锡","орг","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","中文网","中信","中国","中國","谷歌","భారత్","ලංකා","ભારત","भारत","网店","संगठन","网络","укр","香港","台湾","台灣","手机","мон","الجزائر","عمان","ایران","امارات","بازار","الاردن","بھارت","المغرب","السعودية","مليسيا","شبكة","გე","机构","组织机构","ไทย","سورية","рус","рф","تونس","みんな","グーグル","世界","ਭਾਰਤ","网址","游戏","vermögensberater","vermögensberatung","企业","مصر","قطر","广东","இலங்கை","இந்தியா","新加坡","فلسطين","政务","xxx","xyz","yachts","yandex","ye","yoga","yokohama","youtube","yt","za","zip","zm","zone","zuerich","zw"],Countries:[{phoneCode:"7 840",code:"AB",name:"Abkhazia",pattern:"",emoji:""},{phoneCode:"93",code:"AF",name:"Afghanistan",pattern:"93 XXX XXX XXX",emoji:"🇦🇫"},{phoneCode:"358 18",code:"AX",name:"Aland Islands",pattern:"",emoji:"🇦🇽"},{phoneCode:"355",code:"AL",name:"Albania",pattern:"355 XX XXX XXXX",emoji:"🇦🇱"},{phoneCode:"213",code:"DZ",name:"Algeria",pattern:"213 XXX XX XX XX",emoji:"🇩🇿"},{phoneCode:"1 684",code:"AS",name:"American Samoa",pattern:"1684 XXX XXXX",emoji:"🇦🇸"},{phoneCode:"376",code:"AD",name:"Andorra",pattern:"376 XX XX XX",emoji:"🇦🇩"},{phoneCode:"244",code:"AO",name:"Angola",pattern:"244 XXX XXX XXX",emoji:"🇦🇴"},{phoneCode:"1 264",code:"AI",name:"Anguilla",pattern:"1264 XXX XXXX",emoji:"🇦🇮"},{phoneCode:"1 268",code:"AG",name:"Antigua & Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"54",code:"AR",name:"Argentina",pattern:"",emoji:"🇦🇷"},{phoneCode:"374",code:"AM",name:"Armenia",pattern:"374 XX XXX XXX",emoji:"🇦🇲"},{phoneCode:"297",code:"AW",name:"Aruba",pattern:"297 XXX XXXX",emoji:"🇦🇼"},{phoneCode:"247",code:"SH",name:"Ascension",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"61",code:"AU",name:"Australia",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"672",code:"AU",name:"Australian External Territories",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"43",code:"AT",name:"Austria",pattern:"",emoji:"🇦🇹"},{phoneCode:"994",code:"AZ",name:"Azerbaijan",pattern:"994 XX XXX XX XX",emoji:"🇦🇿"},{phoneCode:"1 242",code:"BS",name:"Bahamas",pattern:"1242 XXX XXXX",emoji:"🇧🇸"},{phoneCode:"973",code:"BH",name:"Bahrain",pattern:"973 XXXX XXXX",emoji:"🇧🇭"},{phoneCode:"880",code:"BD",name:"Bangladesh",pattern:"",emoji:"🇧🇩"},{phoneCode:"1 246",code:"BB",name:"Barbados",pattern:"1246 XXX XXXX",emoji:"🇧🇧"},{phoneCode:"1 268",code:"AG",name:"Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"375",code:"BY",name:"Belarus",pattern:"375 XX XXX XXXX",emoji:"🇧🇾"},{phoneCode:"32",code:"BE",name:"Belgium",pattern:"32 XXX XX XX XX",emoji:"🇧🇪"},{phoneCode:"501",code:"BZ",name:"Belize",pattern:"",emoji:"🇧🇿"},{phoneCode:"229",code:"BJ",name:"Benin",pattern:"229 XX XXX XXX",emoji:"🇧🇯"},{phoneCode:"1 441",code:"BM",name:"Bermuda",pattern:"1441 XXX XXXX",emoji:"🇧🇲"},{phoneCode:"975",code:"BT",name:"Bhutan",pattern:"",emoji:"🇧🇹"},{phoneCode:"591",code:"BO",name:"Bolivia",pattern:"591 X XXX XXXX",emoji:"🇧🇴"},{phoneCode:"599 7",code:"BQ",name:"Caribbean Netherlands",pattern:"",emoji:"🇧🇶"},{phoneCode:"387",code:"BA",name:"Bosnia & Herzegovina",pattern:"",emoji:"🇧🇦"},{phoneCode:"267",code:"BW",name:"Botswana",pattern:"267 XX XXX XXX",emoji:"🇧🇼"},{phoneCode:"55",code:"BR",name:"Brazil",pattern:"55 XX XXXXX XXXX",emoji:"🇧🇷"},{phoneCode:"246",code:"IO",name:"British Indian Ocean Territory",pattern:"246 XXX XXXX",emoji:"🇮🇴"},{phoneCode:"1 284",code:"VG",name:"British Virgin Islands",pattern:"1284 XXX XXXX",emoji:"🇻🇬"},{phoneCode:"673",code:"BN",name:"Brunei",pattern:"673 XXX XXXX",emoji:"🇧🇳"},{phoneCode:"359",code:"BG",name:"Bulgaria",pattern:"",emoji:"🇧🇬"},{phoneCode:"226",code:"BF",name:"Burkina Faso",pattern:"226 XX XX XX XX",emoji:"🇧🇫"},{phoneCode:"95",code:"MM",name:"Myanmar (Burma)",pattern:"",emoji:"🇲🇲"},{phoneCode:"257",code:"BI",name:"Burundi",pattern:"257 XX XX XXXX",emoji:"🇧🇮"},{phoneCode:"855",code:"KH",name:"Cambodia",pattern:"",emoji:"🇰🇭"},{phoneCode:"237",code:"CM",name:"Cameroon",pattern:"237 XXXX XXXX",emoji:"🇨🇲"},{phoneCode:"1",code:"CA",name:"Canada",pattern:"1 XXX XXX XXXX",emoji:"🇨🇦"},{phoneCode:"238",code:"CV",name:"Cape Verde",pattern:"238 XXX XXXX",emoji:"🇨🇻"},{phoneCode:"1 345",code:"KY",name:"Cayman Islands",pattern:"1345 XXX XXXX",emoji:"🇰🇾"},{phoneCode:"236",code:"CF",name:"Central African Republic",pattern:"236 XX XX XX XX",emoji:"🇨🇫"},{phoneCode:"235",code:"TD",name:"Chad",pattern:"235 XX XX XX XX",emoji:"🇹🇩"},{phoneCode:"56",code:"CL",name:"Chile",pattern:"56 X XXXX XXXX",emoji:"🇨🇱"},{phoneCode:"86",code:"CN",name:"China",pattern:"86 XXX XXXX XXXX",emoji:"🇨🇳"},{phoneCode:"61",code:"CX",name:"Christmas Island",pattern:"",emoji:"🇨🇽"},{phoneCode:"61",code:"CC",name:"Cocos (Keeling) Islands",pattern:"",emoji:"🇨🇨"},{phoneCode:"57",code:"CO",name:"Colombia",pattern:"57 XXX XXX XXXX",emoji:"🇨🇴"},{phoneCode:"269",code:"KM",name:"Comoros",pattern:"269 XXX XXXX",emoji:"🇰🇲"},{phoneCode:"242",code:"CG",name:"Congo - Brazzaville",pattern:"242 XX XXX XXXX",emoji:"🇨🇬"},{phoneCode:"243",code:"CD",name:"Congo - Kinshasa",pattern:"243 XX XXX XXXX",emoji:"🇨🇩"},{phoneCode:"682",code:"CK",name:"Cook Islands",pattern:"",emoji:"🇨🇰"},{phoneCode:"506",code:"CR",name:"Costa Rica",pattern:"",emoji:"🇨🇷"},{phoneCode:"225",code:"CI",name:"Cote d’Ivoire",pattern:"225 XX XXX XXX",emoji:"🇨🇮"},{phoneCode:"385",code:"HR",name:"Croatia",pattern:"",emoji:"🇭🇷"},{phoneCode:"53",code:"CU",name:"Cuba",pattern:"53 XXXX XXXX",emoji:"🇨🇺"},{phoneCode:"599 9",code:"CW",name:"Curacao",pattern:"",emoji:"🇨🇼"},{phoneCode:"357",code:"CY",name:"Cyprus",pattern:"357 XXXX XXXX",emoji:"🇨🇾"},{phoneCode:"420",code:"CZ",name:"Czech Republic",pattern:"",emoji:"🇨🇿"},{phoneCode:"45",code:"DK",name:"Denmark",pattern:"45 XXXX XXXX",emoji:"🇩🇰"},{phoneCode:"246",code:"DG",name:"Diego Garcia",pattern:"",emoji:"🇩🇬"},{phoneCode:"253",code:"DJ",name:"Djibouti",pattern:"253 XX XX XX XX",emoji:"🇩🇯"},{phoneCode:"1 767",code:"DM",name:"Dominica",pattern:"1767 XXX XXXX",emoji:"🇩🇲"},{phoneCode:"1 809 and 1 829",code:"DO",name:"Dominican Republic",pattern:"1 XXX XXX XXXX",emoji:"🇩🇴"},{phoneCode:"670",code:"TL",name:"Timor-Leste",pattern:"",emoji:"🇹🇱"},{phoneCode:"593",code:"EC",name:"Ecuador",pattern:"",emoji:"🇪🇨"},{phoneCode:"20",code:"EG",name:"Egypt",pattern:"20 XX XXX XXXX",emoji:"🇪🇬"},{phoneCode:"503",code:"SV",name:"El Salvador",pattern:"503 XXXX XXXX",emoji:"🇸🇻"},{phoneCode:"240",code:"GQ",name:"Equatorial Guinea",pattern:"240 XXX XXX XXX",emoji:"🇬🇶"},{phoneCode:"291",code:"ER",name:"Eritrea",pattern:"291 X XXX XXX",emoji:"🇪🇷"},{phoneCode:"372",code:"EE",name:"Estonia",pattern:"",emoji:"🇪🇪"},{phoneCode:"251",code:"ET",name:"Ethiopia",pattern:"251 XX XXX XXXX",emoji:"🇪🇹"},{phoneCode:"500",code:"FK",name:"Falkland Islands",pattern:"",emoji:"🇫🇰"},{phoneCode:"298",code:"FO",name:"Faroe Islands",pattern:"298 XXX XXX",emoji:"🇫🇴"},{phoneCode:"679",code:"FJ",name:"Fiji",pattern:"",emoji:"🇫🇯"},{phoneCode:"358",code:"FI",name:"Finland",pattern:"",emoji:"🇫🇮"},{phoneCode:"33",code:"FR",name:"France",pattern:"33 X XX XX XX XX",emoji:"🇫🇷"},{phoneCode:"594",code:"GF",name:"French Guiana",pattern:"",emoji:"🇬🇫"},{phoneCode:"689",code:"PF",name:"French Polynesia",pattern:"",emoji:"🇵🇫"},{phoneCode:"241",code:"GA",name:"Gabon",pattern:"241 X XX XX XX",emoji:"🇬🇦"},{phoneCode:"220",code:"GM",name:"Gambia",pattern:"220 XXX XXXX",emoji:"🇬🇲"},{phoneCode:"995",code:"GE",name:"Georgia",pattern:"",emoji:"🇬🇪"},{phoneCode:"49",code:"DE",name:"Germany",pattern:"49 XXX XXXXXXXX",emoji:"🇩🇪"},{phoneCode:"233",code:"GH",name:"Ghana",pattern:"",emoji:"🇬🇭"},{phoneCode:"350",code:"GI",name:"Gibraltar",pattern:"350 XXXX XXXX",emoji:"🇬🇮"},{phoneCode:"30",code:"GR",name:"Greece",pattern:"30 XX XXXX XXXX",emoji:"🇬🇷"},{phoneCode:"299",code:"GL",name:"Greenland",pattern:"299 XXX XXX",emoji:"🇬🇱"},{phoneCode:"1 473",code:"GD",name:"Grenada",pattern:"1473 XXX XXXX",emoji:"🇬🇩"},{phoneCode:"590",code:"GP",name:"Guadeloupe",pattern:"",emoji:"🇬🇵"},{phoneCode:"1 671",code:"GU",name:"Guam",pattern:"1671 XXX XXXX",emoji:"🇬🇺"},{phoneCode:"502",code:"GT",name:"Guatemala",pattern:"502 X XXX XXXX",emoji:"🇬🇹"},{phoneCode:"44",code:"GG",name:"Guernsey",pattern:"",emoji:"🇬🇬"},{phoneCode:"224",code:"GN",name:"Guinea",pattern:"224 XXX XXX XXX",emoji:"🇬🇳"},{phoneCode:"245",code:"GW",name:"Guinea-Bissau",pattern:"245 XXX XXXX",emoji:"🇬🇼"},{phoneCode:"592",code:"GY",name:"Guyana",pattern:"",emoji:"🇬🇾"},{phoneCode:"509",code:"HT",name:"Haiti",pattern:"",emoji:"🇭🇹"},{phoneCode:"504",code:"HN",name:"Honduras",pattern:"504 XXXX XXXX",emoji:"🇭🇳"},{phoneCode:"852",code:"HK",name:"Hong Kong SAR China",pattern:"",emoji:"🇭🇰"},{phoneCode:"36",code:"HU",name:"Hungary",pattern:"36 XX XXX XXXX",emoji:"🇭🇺"},{phoneCode:"354",code:"IS",name:"Iceland",pattern:"354 XXX XXXX",emoji:"🇮🇸"},{phoneCode:"91",code:"IN",name:"India",pattern:"91 XXXXX XXXXX",emoji:"🇮🇳"},{phoneCode:"62",code:"ID",name:"Indonesia",pattern:"",emoji:"🇮🇩"},{phoneCode:"98",code:"IR",name:"Iran",pattern:"98 XXX XXX XXXX",emoji:"🇮🇷"},{phoneCode:"964",code:"IQ",name:"Iraq",pattern:"964 XXX XXX XXXX",emoji:"🇮🇶"},{phoneCode:"353",code:"IE",name:"Ireland",pattern:"353 XX XXX XXXX",emoji:"🇮🇪"},{phoneCode:"972",code:"IL",name:"Israel",pattern:"972 XX XXX XXXX",emoji:"🇮🇱"},{phoneCode:"39",code:"IT",name:"Italy",pattern:"39 XXX XXX XXXX",emoji:"🇮🇹"},{phoneCode:"1 876",code:"JM",name:"Jamaica",pattern:"1876 XXX XXXX",emoji:"🇯🇲"},{phoneCode:"47 79",code:"SJ",name:"Svalbard & Jan Mayen",pattern:"",emoji:"🇸🇯"},{phoneCode:"81",code:"JP",name:"Japan",pattern:"81 XX XXXX XXXX",emoji:"🇯🇵"},{phoneCode:"44",code:"JE",name:"Jersey",pattern:"",emoji:"🇯🇪"},{phoneCode:"962",code:"JO",name:"Jordan",pattern:"962 X XXXX XXXX",emoji:"🇯🇴"},{phoneCode:"7 7",code:"KZ",name:"Kazakhstan",pattern:"7 XXX XXX XX XX",emoji:"🇰🇿"},{phoneCode:"254",code:"KE",name:"Kenya",pattern:"254 XXX XXX XXX",emoji:"🇰🇪"},{phoneCode:"686",code:"KI",name:"Kiribati",pattern:"",emoji:"🇰🇮"},{phoneCode:"850",code:"KP",name:"North Korea",pattern:"",emoji:"🇰🇵"},{phoneCode:"82",code:"KR",name:"South Korea",pattern:"",emoji:"🇰🇷"},{phoneCode:"965",code:"KW",name:"Kuwait",pattern:"965 XXXX XXXX",emoji:"🇰🇼"},{phoneCode:"996",code:"KG",name:"Kyrgyzstan",pattern:"",emoji:"🇰🇬"},{phoneCode:"856",code:"LA",name:"Laos",pattern:"",emoji:"🇱🇦"},{phoneCode:"371",code:"LV",name:"Latvia",pattern:"371 XXX XXXXX",emoji:"🇱🇻"},{phoneCode:"961",code:"LB",name:"Lebanon",pattern:"",emoji:"🇱🇧"},{phoneCode:"266",code:"LS",name:"Lesotho",pattern:"266 XX XXX XXX",emoji:"🇱🇸"},{phoneCode:"231",code:"LR",name:"Liberia",pattern:"",emoji:"🇱🇷"},{phoneCode:"218",code:"LY",name:"Libya",pattern:"218 XX XXX XXXX",emoji:"🇱🇾"},{phoneCode:"423",code:"LI",name:"Liechtenstein",pattern:"",emoji:"🇱🇮"},{phoneCode:"370",code:"LT",name:"Lithuania",pattern:"370 XXX XXXXX",emoji:"🇱🇹"},{phoneCode:"352",code:"LU",name:"Luxembourg",pattern:"",emoji:"🇱🇺"},{phoneCode:"853",code:"MO",name:"Macau SAR China",pattern:"",emoji:"🇲🇴"},{phoneCode:"389",code:"MK",name:"Macedonia",pattern:"",emoji:"🇲🇰"},{phoneCode:"261",code:"MG",name:"Madagascar",pattern:"261 XX XX XXX XX",emoji:"🇲🇬"},{phoneCode:"265",code:"MW",name:"Malawi",pattern:"",emoji:"🇲🇼"},{phoneCode:"60",code:"MM",name:"Malaysia",pattern:"",emoji:"🇲🇲"},{phoneCode:"960",code:"MV",name:"Maldives",pattern:"",emoji:"🇲🇻"},{phoneCode:"223",code:"ML",name:"Mali",pattern:"223 XXXX XXXX",emoji:"🇲🇱"},{phoneCode:"356",code:"MT",name:"Malta",pattern:"356 XX XX XX XX",emoji:"🇲🇹"},{phoneCode:"692",code:"MH",name:"Marshall Islands",pattern:"",emoji:"🇲🇭"},{phoneCode:"596",code:"MQ",name:"Martinique",pattern:"",emoji:"🇲🇶"},{phoneCode:"222",code:"MR",name:"Mauritania",pattern:"222 XXXX XXXX",emoji:"🇲🇷"},{phoneCode:"230",code:"MU",name:"Mauritius",pattern:"",emoji:"🇲🇺"},{phoneCode:"262",code:"YT",name:"Mayotte",pattern:"",emoji:"🇾🇹"},{phoneCode:"52",code:"MX",name:"Mexico",pattern:"",emoji:"🇲🇽"},{phoneCode:"691",code:"FM",name:"Micronesia",pattern:"",emoji:"🇫🇲"},{phoneCode:"373",code:"MD",name:"Moldova",pattern:"373 XX XXX XXX",emoji:"🇲🇩"},{phoneCode:"377",code:"MC",name:"Monaco",pattern:"377 XXXX XXXX",emoji:"🇲🇨"},{phoneCode:"976",code:"MN",name:"Mongolia",pattern:"",emoji:"🇲🇳"},{phoneCode:"382",code:"ME",name:"Montenegro",pattern:"",emoji:"🇲🇪"},{phoneCode:"1 664",code:"MS",name:"Montserrat",pattern:"1664 XXX XXXX",emoji:"🇲🇸"},{phoneCode:"212",code:"MA",name:"Morocco",pattern:"212 XX XXX XXXX",emoji:"🇲🇦"},{phoneCode:"258",code:"MZ",name:"Mozambique",pattern:"258 XX XXX XXXX",emoji:"🇲🇿"},{phoneCode:"264",code:"NA",name:"Namibia",pattern:"264 XX XXX XXXX",emoji:"🇳🇦"},{phoneCode:"674",code:"NR",name:"Nauru",pattern:"",emoji:"🇳🇷"},{phoneCode:"977",code:"NP",name:"Nepal",pattern:"",emoji:"🇳🇵"},{phoneCode:"31",code:"NL",name:"Netherlands",pattern:"31 X XX XX XX XX",emoji:"🇳🇱"},{phoneCode:"687",code:"NC",name:"New Caledonia",pattern:"",emoji:"🇳🇨"},{phoneCode:"64",code:"NZ",name:"New Zealand",pattern:"",emoji:"🇳🇿"},{phoneCode:"505",code:"NI",name:"Nicaragua",pattern:"505 XXXX XXXX",emoji:"🇳🇮"},{phoneCode:"227",code:"NE",name:"Niger",pattern:"227 XX XX XX XX",emoji:"🇳🇪"},{phoneCode:"234",code:"NG",name:"Nigeria",pattern:"",emoji:"🇳🇬"},{phoneCode:"683",code:"NU",name:"Niue",pattern:"",emoji:"🇳🇺"},{phoneCode:"672",code:"NF",name:"Norfolk Island",pattern:"",emoji:"🇳🇫"},{phoneCode:"1 670",code:"MP",name:"Northern Mariana Islands",pattern:"1670 XXX XXXX",emoji:"🇲🇵"},{phoneCode:"47",code:"NO",name:"Norway",pattern:"47 XXXX XXXX",emoji:"🇳🇴"},{phoneCode:"968",code:"OM",name:"Oman",pattern:"968 XXXX XXXX",emoji:"🇴🇲"},{phoneCode:"92",code:"PK",name:"Pakistan",pattern:"92 XXX XXX XXXX",emoji:"🇵🇰"},{phoneCode:"680",code:"PW",name:"Palau",pattern:"",emoji:"🇵🇼"},{phoneCode:"970",code:"PS",name:"Palestinian Territories",pattern:"970 XXX XX XXXX",emoji:"🇵🇸"},{phoneCode:"507",code:"PA",name:"Panama",pattern:"507 XXXX XXXX",emoji:"🇵🇦"},{phoneCode:"675",code:"PG",name:"Papua New Guinea",pattern:"",emoji:"🇵🇬"},{phoneCode:"595",code:"PY",name:"Paraguay",pattern:"595 XXX XXX XXX",emoji:"🇵🇾"},{phoneCode:"51",code:"PE",name:"Peru",pattern:"51 XXX XXX XXX",emoji:"🇵🇪"},{phoneCode:"63",code:"PH",name:"Philippines",pattern:"63 XXX XXX XXXX",emoji:"🇵🇭"},{phoneCode:"64",code:"PN",name:"Pitcairn Islands",pattern:"",emoji:"🇵🇳"},{phoneCode:"48",code:"PL",name:"Poland",pattern:"48 XXX XXX XXX",emoji:"🇵🇱"},{phoneCode:"351",code:"PT",name:"Portugal",pattern:"351 X XXXX XXXX",emoji:"🇵🇹"},{phoneCode:"1 787 and 1 939",code:"PR",name:"Puerto Rico",pattern:"1 XXX XXX XXXX",emoji:"🇵🇷"},{phoneCode:"974",code:"QA",name:"Qatar",pattern:"",emoji:"🇶🇦"},{phoneCode:"262",code:"RE",name:"Reunion",pattern:"262 XXX XXX XXX",emoji:"🇷🇪"},{phoneCode:"40",code:"RO",name:"Romania",pattern:"40 XXX XXX XXX",emoji:"🇷🇴"},{phoneCode:"7",code:"RU",name:"Russia",pattern:"7 XXX XXX XX XX",emoji:"🇷🇺"},{phoneCode:"250",code:"RW",name:"Rwanda",pattern:"250 XXX XXX XXX",emoji:"🇷🇼"},{phoneCode:"590",code:"BL",name:"St. Barthelemy",pattern:"",emoji:"🇧🇱"},{phoneCode:"290",code:"SH",name:"St. Helena",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"1 869",code:"KN",name:"St. Kitts & Nevis",pattern:"1869 XXX XXXX",emoji:"🇰🇳"},{phoneCode:"1 758",code:"LC",name:"St. Lucia",pattern:"1758 XXX XXXX",emoji:"🇱🇨"},{phoneCode:"590",code:"MF",name:"St. Martin (France)",pattern:"",emoji:"🇲🇫"},{phoneCode:"508",code:"PM",name:"St. Pierre and Miquelon",pattern:"",emoji:"🇵🇲"},{phoneCode:"1 784",code:"VC",name:"St. Vincent and the Grenadines",pattern:"1784 XXX XXXX",emoji:"🇻🇨"},{phoneCode:"685",code:"WS",name:"Samoa",pattern:"",emoji:"🇼🇸"},{phoneCode:"378",code:"SM",name:"San Marino",pattern:"378 XXX XXX XXXX",emoji:"🇸🇲"},{phoneCode:"239",code:"ST",name:"São Tome & Principe",pattern:"239 XX XXXXX",emoji:"🇸🇹"},{phoneCode:"966",code:"SA",name:"Saudi Arabia",pattern:"",emoji:"🇸🇦"},{phoneCode:"221",code:"SN",name:"Senegal",pattern:"221 XX XXX XXXX",emoji:"🇸🇳"},{phoneCode:"381",code:"RS",name:"Serbia",pattern:"381 XX XXX XXXX",emoji:"🇷🇸"},{phoneCode:"248",code:"SC",name:"Seychelles",pattern:"248 X XX XX XX",emoji:"🇸🇨"},{phoneCode:"232",code:"SL",name:"Sierra Leone",pattern:"232 XX XXX XXX",emoji:"🇸🇱"},{phoneCode:"65",code:"SG",name:"Singapore",pattern:"65 XXXX XXXX",emoji:"🇸🇬"},{phoneCode:"599 3",code:"BQ",name:"Sint Eustatius",pattern:"",emoji:"🇧🇶"},{phoneCode:"1 721",code:"SX",name:"Sint Maarten",pattern:"1721 XXX XXXX",emoji:"🇸🇽"},{phoneCode:"421",code:"SK",name:"Slovakia",pattern:"",emoji:"🇸🇰"},{phoneCode:"386",code:"SI",name:"Slovenia",pattern:"",emoji:"🇸🇮"},{phoneCode:"677",code:"SB",name:"Solomon Islands",pattern:"",emoji:"🇸🇧"},{phoneCode:"252",code:"SO",name:"Somalia",pattern:"252 XX XXX XXX",emoji:"🇸🇴"},{phoneCode:"27",code:"ZA",name:"South Africa",pattern:"27 XX XXX XXXX",emoji:"🇿🇦"},{phoneCode:"500",code:"GS",name:"South Georgia & South Sandwich Islands",pattern:"",emoji:"🇬🇸"},{phoneCode:"995 34",code:"",name:"South Ossetia",pattern:"",emoji:""},{phoneCode:"211",code:"SS",name:"South Sudan",pattern:"211 XX XXX XXXX",emoji:"🇸🇸"},{phoneCode:"34",code:"ES",name:"Spain",pattern:"34 XXX XXX XXX",emoji:"🇪🇸"},{phoneCode:"94",code:"LK",name:"Sri Lanka",pattern:"94 XX XXX XXXX",emoji:"🇱🇰"},{phoneCode:"249",code:"SD",name:"Sudan",pattern:"249 XX XXX XXXX",emoji:"🇸🇩"},{phoneCode:"597",code:"SR",name:"Suriname",pattern:"597 XXX XXXX",emoji:"🇸🇷"},{phoneCode:"47 79",code:"SJ",name:"Svalbard",pattern:"",emoji:"🇸🇯"},{phoneCode:"268",code:"SZ",name:"Swaziland",pattern:"268 XXXX XXXX",emoji:"🇸🇿"},{phoneCode:"46",code:"SE",name:"Sweden",pattern:"46 XX XXX XXXX",emoji:"🇸🇪"},{phoneCode:"41",code:"CH",name:"Switzerland",pattern:"41 XX XXX XXXX",emoji:"🇨🇭"},{phoneCode:"963",code:"SY",name:"Syria",pattern:"",emoji:"🇸🇾"},{phoneCode:"886",code:"TW",name:"Taiwan",pattern:"",emoji:"🇹🇼"},{phoneCode:"992",code:"TJ",name:"Tajikistan",pattern:"",emoji:"🇹🇯"},{phoneCode:"255",code:"TZ",name:"Tanzania",pattern:"255 XX XXX XXXX",emoji:"🇹🇿"},{phoneCode:"66",code:"TH",name:"Thailand",pattern:"66 X XXXX XXXX",emoji:"🇹🇭"},{phoneCode:"228",code:"TG",name:"Togo",pattern:"228 XX XXX XXX",emoji:"🇹🇬"},{phoneCode:"690",code:"TK",name:"Tokelau",pattern:"",emoji:"🇹🇰"},{phoneCode:"676",code:"TO",name:"Tonga",pattern:"",emoji:"🇹🇴"},{phoneCode:"1 868",code:"TT",name:"Trinidad & Tobago",pattern:"1868 XXX XXXX",emoji:"🇹🇹"},{phoneCode:"216",code:"TN",name:"Tunisia",pattern:"216 XX XXX XXX",emoji:"🇹🇳"},{phoneCode:"90",code:"TR",name:"Turkey",pattern:"90 XXX XXX XXXX",emoji:"🇹🇷"},{phoneCode:"993",code:"TM",name:"Turkmenistan",pattern:"993 XX XXXXXX",emoji:"🇹🇲"},{phoneCode:"1 649",code:"TC",name:"Turks & Caicos Islands",pattern:"1649 XXX XXXX",emoji:"🇹🇨"},{phoneCode:"688",code:"TV",name:"Tuvalu",pattern:"",emoji:"🇹🇻"},{phoneCode:"256",code:"UG",name:"Uganda",pattern:"256 XX XXX XXXX",emoji:"🇺🇬"},{phoneCode:"380",code:"UA",name:"Ukraine",pattern:"380 XX XXX XX XX",emoji:"🇺🇦"},{phoneCode:"971",code:"AE",name:"United Arab Emirates",pattern:"971 XX XXX XXXX",emoji:"🇦🇪"},{phoneCode:"44",code:"GB",name:"United Kingdom",pattern:"44 XXXX XXXXXX",emoji:"🇬🇧"},{phoneCode:"1",code:"US",name:"United States",pattern:"1 XXX XXX XXXX",emoji:"🇺🇸"},{phoneCode:"598",code:"UY",name:"Uruguay",pattern:"598 XXXX XXXX",emoji:"🇺🇾"},{phoneCode:"1 340",code:"VI",name:"U.S. Virgin Islands",pattern:"1340 XXX XXXX",emoji:"🇻🇮"},{phoneCode:"998",code:"UZ",name:"Uzbekistan",pattern:"998 XX XXXXXXX",emoji:"🇺🇿"},{phoneCode:"678",code:"VU",name:"Vanuatu",pattern:"",emoji:"🇻🇺"},{phoneCode:"58",code:"VE",name:"Venezuela",pattern:"58 XXX XXX XXXX",emoji:"🇻🇪"},{phoneCode:"39 06 698",code:"VA",name:"Vatican City",pattern:"",emoji:"🇻🇦"},{phoneCode:"84",code:"VN",name:"Vietnam",pattern:"",emoji:"🇻🇳"},{phoneCode:"681",code:"WF",name:"Wallis & Futuna",pattern:"",emoji:"🇼🇫"},{phoneCode:"967",code:"YE",name:"Yemen",pattern:"967 XXX XXX XXX",emoji:"🇾🇪"},{phoneCode:"260",code:"ZM",name:"Zambia",pattern:"260 XX XXX XXXX",emoji:"🇿🇲"},{phoneCode:"255",code:"",name:"Zanzibar",pattern:"",emoji:""},{phoneCode:"263",code:"ZW",name:"Zimbabwe",pattern:"263 XX XXX XXXX",emoji:"🇿🇼"}]};window.Config=s,t.default=s},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(71));t.default=class{constructor(e,t,i,s){this.isAuthPage=t,this.onFirstMount=i,this.onMount=s,this.installed=!1,this.pageEl=document.body.getElementsByClassName(e)[0]}mount(...e){return s(this,void 0,void 0,(function*(){if(this.onMount&&this.onMount(...e),!this.installed){if(this.onFirstMount){let t=this.onFirstMount(...e);t instanceof Promise&&(yield t)}this.installed=!0}o.default.setPage(this)}))}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(1)),o=i(0),n=s(i(7)),r=s(i(4)),l=s(i(6));class d{constructor(){this.updatesState={pendingPtsUpdates:[],pendingSeqUpdates:{},syncPending:!1,syncLoading:!0},this.channelStates={},this.attached=!1}popPendingSeqUpdate(){var e=this.updatesState.seq+1,t=this.updatesState.pendingSeqUpdates[e];if(!t)return!1;for(var i=t.updates,s=0,a=i.length;s=this.updatesState.syncPending.seqAwaiting&&(this.updatesState.syncPending.ptsAwaiting?delete this.updatesState.syncPending.seqAwaiting:(clearTimeout(this.updatesState.syncPending.timeout),this.updatesState.syncPending=!1)),!0}popPendingPtsUpdate(e){var t=e?this.getChannelState(e):this.updatesState;if(!t.pendingPtsUpdates.length)return!1;t.pendingPtsUpdates.sort((e,t)=>e.pts-t.pts);for(var i,s=t.pts,a=!1,n=0,r=0,l=t.pendingPtsUpdates.length;r=i.pts&&(a=i.pts,n=r);if(!a)return!1;for(console.log(o.dT(),"pop pending pts updates",a,t.pendingPtsUpdates.slice(0,n+1)),t.pts=a,r=0;r<=n;r++)i=t.pendingPtsUpdates[r],this.saveUpdate(i);return t.pendingPtsUpdates.splice(0,n+1),!t.pendingPtsUpdates.length&&t.syncPending&&(t.syncPending.seqAwaiting?delete t.syncPending.ptsAwaiting:(clearTimeout(t.syncPending.timeout),t.syncPending=!1)),!0}forceGetDifference(){this.updatesState.syncLoading||this.getDifference()}processUpdateMessage(e){var t={date:e.date,seq:e.seq,seqStart:e.seq_start};switch(e._){case"updatesTooLong":case"new_session_created":this.forceGetDifference();break;case"updateShort":this.processUpdate(e.update,t);break;case"updateShortMessage":case"updateShortChatMessage":var i=2&e.flags,s=e.from_id||(i?o.$rootScope.myID:e.user_id),a=e.chat_id?-e.chat_id:i?e.user_id:o.$rootScope.myID;this.processUpdate({_:"updateNewMessage",message:{_:"message",flags:e.flags,pFlags:e.pFlags,id:e.id,from_id:s,to_id:n.default.getOutputPeer(a),date:e.date,message:e.message,fwd_from:e.fwd_from,reply_to_msg_id:e.reply_to_msg_id,entities:e.entities},pts:e.pts,pts_count:e.pts_count},t);break;case"updatesCombined":case"updates":r.default.saveApiUsers(e.users),l.default.saveApiChats(e.chats),e.updates.forEach(e=>{this.processUpdate(e,t)});break;default:console.warn(o.dT(),"Unknown update message",e)}}getDifference(){const e=this.updatesState;return e.syncLoading||(e.syncLoading=!0,e.pendingSeqUpdates={},e.pendingPtsUpdates=[]),e.syncPending&&(clearTimeout(e.syncPending.timeout),e.syncPending=!1),a.default.invokeApi("updates.getDifference",{pts:e.pts,date:e.date,qts:-1},{timeout:2147483647}).then(t=>{if("updates.differenceEmpty"==t._)return console.log(o.dT(),"apply empty diff",t.seq),e.date=t.date,e.seq=t.seq,e.syncLoading=!1,o.$rootScope.$broadcast("stateSynchronized"),!1;r.default.saveApiUsers(t.users),l.default.saveApiChats(t.chats),t.other_updates.forEach(e=>{switch(e._){case"updateChannelTooLong":case"updateNewChannelMessage":case"updateEditChannelMessage":return void this.processUpdate(e)}this.saveUpdate(e)}),t.new_messages.forEach(t=>{this.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts,pts_count:0})});const i=t.intermediate_state||t.state;e.seq=i.seq,e.pts=i.pts,e.date=i.date,"updates.differenceSlice"==t._?this.getDifference():(o.$rootScope.$broadcast("stateSynchronized"),e.syncLoading=!1)},()=>{e.syncLoading=!1})}getChannelDifference(e){var t=this.getChannelState(e);t.syncLoading||(t.syncLoading=!0,t.pendingPtsUpdates=[]),t.syncPending&&(clearTimeout(t.syncPending.timeout),t.syncPending=!1),a.default.invokeApi("updates.getChannelDifference",{channel:l.default.getChannelInput(e),filter:{_:"channelMessagesFilterEmpty"},pts:t.pts,limit:30},{timeout:2147483647}).then(i=>(t.pts=i.pts,"updates.channelDifferenceEmpty"==i._?(console.log(o.dT(),"apply channel empty diff",i),t.syncLoading=!1,o.$rootScope.$broadcast("stateSynchronized"),!1):"updates.channelDifferenceTooLong"==i._?(console.log(o.dT(),"channel diff too long",i),t.syncLoading=!1,delete this.channelStates[e],this.saveUpdate({_:"updateChannelReload",channel_id:e}),!1):(r.default.saveApiUsers(i.users),l.default.saveApiChats(i.chats),console.log(o.dT(),"applying",i.other_updates.length,"channel other updates"),i.other_updates.forEach(e=>{this.saveUpdate(e)}),console.log(o.dT(),"applying",i.new_messages.length,"channel new messages"),i.new_messages.forEach(e=>{this.saveUpdate({_:"updateNewChannelMessage",message:e,pts:t.pts,pts_count:0})}),console.log(o.dT(),"apply channel diff",t.pts),void("updates.channelDifference"!=i._||i.pFlags.final?(console.log(o.dT(),"finished channel get diff"),o.$rootScope.$broadcast("stateSynchronized"),t.syncLoading=!1):this.getChannelDifference(e)))),()=>{t.syncLoading=!1})}addChannelState(e,t){if(!t)throw new Error("Add channel state without pts "+e);return!(e in this.channelStates)&&(this.channelStates[e]={pts:t,pendingPtsUpdates:[],syncPending:!1,syncLoading:!1},!0)}getChannelState(e,t){return void 0===this.channelStates[e]&&this.addChannelState(e,t),this.channelStates[e]}processUpdate(e,t={}){var i=!1;switch(e._){case"updateNewChannelMessage":case"updateEditChannelMessage":i=-n.default.getPeerID(e.message.to_id);break;case"updateDeleteChannelMessages":i=e.channel_id;break;case"updateChannelTooLong":if(!((i=e.channel_id)in this.channelStates))return!1}var s,a,d=i?this.getChannelState(i,e.pts):this.updatesState;if(d.syncLoading)return!1;if("updateChannelTooLong"==e._)return(!d.lastPtsUpdateTime||d.lastPtsUpdateTime0&&!r.default.hasUser(u)&&(p="toPeer User")||u<0&&!l.default.hasChat(-u)&&(p="toPeer Chat"))return console.warn(o.dT(),"Not enough data for message update",u,p,c),i&&l.default.hasChat(i)?this.getChannelDifference(i):this.forceGetDifference(),!1}else if(i&&!l.default.hasChat(i))return!1;if(e.pts){if(d.pts+(e.pts_count||0){i?this.getChannelDifference(i):this.getDifference()},5e3)}),d.syncPending.ptsAwaiting=!0,!1;if(e.pts>d.pts)d.pts=e.pts,s=!0,d.lastPtsUpdateTime=o.tsNow();else if(e.pts_count)return!1;i&&t.date&&this.updatesState.date0){var m=t.seq,g=t.seqStart||m;if(g!=d.seq+1&&g>d.seq)return console.warn(o.dT(),"Seq hole",d,d.syncPending&&d.syncPending.seqAwaiting),void 0===d.pendingSeqUpdates[g]&&(d.pendingSeqUpdates[g]={seq:m,date:t.date,updates:[]}),d.pendingSeqUpdates[g].updates.push(e),d.syncPending||(d.syncPending={timeout:setTimeout(()=>{this.getDifference()},5e3)}),(!d.syncPending.seqAwaiting||d.syncPending.seqAwaiting{this.updatesState.seq=e.seq,this.updatesState.pts=e.pts,this.updatesState.date=e.date,setTimeout(()=>{this.updatesState.syncLoading=!1},1e3)}))}}t.ApiUpdatesManager=d,t.default=new d},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(10),n=a(i(74)),r=a(i(26)),l=a(i(1)),d=i(13),c=a(i(42));class u{constructor(){this.cachedSavePromises={},this.cachedDownloadPromises={},this.cachedDownloads={},this.downloadPulls={},this.downloadActives={},this.log=d.logger("AFM")}downloadRequest(e,t,i){void 0===this.downloadPulls[e]&&(this.downloadPulls[e]=[],this.downloadActives[e]=0);var s=this.downloadPulls[e];let a=new Promise((e,a)=>{s.push({cb:t,deferred:{resolve:e,reject:a},activeDelta:i})});return setTimeout(()=>{this.downloadCheck(e)},0),a}downloadCheck(e){var t=this.downloadPulls[e],i="upload"==e?11:5;if(this.downloadActives[e]>=i||!t||!t.length)return!1;var s=t.shift(),a=s.activeDelta||1;this.downloadActives[e]+=a,s.cb().then(t=>{this.downloadActives[e]-=a,this.downloadCheck(e),s.deferred.resolve(t)},t=>{t&&this.log.error("downloadCheck error:",t),this.downloadActives[e]-=a,this.downloadCheck(e),s.deferred.reject(t)})}getFileName(e,t){switch(e._){case"inputDocumentFileLocation":{let i=(e.file_name||"").split("."),s=i[i.length-1]||"";1!=(null==t?void 0:t.stickerType)||c.default.isSupported()||(s+=".png");let a=e.thumb_size?"_"+e.thumb_size:"";return(i[0]?i[0]+"_":"")+e.id+a+(s?"."+s:s)}default:{e.volume_id||e.file_reference||this.log.trace("Empty location",e);let i="jpg";return 1!=(null==t?void 0:t.stickerType)||c.default.isSupported()||(i+=".png"),e.volume_id?e.volume_id+"_"+e.local_id+"."+i:e.id+"_"+e.access_hash+"."+i}}}getTempFileName(e){var t=e.size||-1;return"_temp"+o.nextRandomInt(4294967295)+"_"+t}getCachedFile(e){if(!e)return!1;var t=this.getFileName(e);return this.cachedDownloads[t]||!1}getFileStorage(){return n.default}saveSmallFile(e,t){var i=this.getFileName(e);return this.cachedSavePromises[i]||(this.cachedSavePromises[i]=this.getFileStorage().saveFile(i,t).then(e=>this.cachedDownloads[i]=e,e=>{delete this.cachedSavePromises[i]})),this.cachedSavePromises[i]}downloadSmallFile(e,t={}){if(!r.default.isAvailable())return Promise.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});let i=!1;1!=t.stickerType||c.default.isSupported()||(i=!0,t.mimeType="image/png");let s=t.dcID||e.dc_id,a=t.mimeType||"image/jpeg",o=this.getFileName(e,t),n=this.cachedSavePromises[o]||this.cachedDownloadPromises[o];if(n)return n;let d=this.getFileStorage();return this.cachedDownloadPromises[o]=d.getFile(o).then(e=>this.cachedDownloads[o]=e).catch(()=>{let t=this.downloadRequest(s,()=>{let t=e;t._&&"fileLocation"!=t._||(t=Object.assign({},e,{_:"inputFileLocation"}));let i={flags:0,location:t,offset:0,limit:1048576};return l.default.invokeApi("upload.getFile",i,{dcID:s,fileDownload:!0,noErrorBox:!0})},s);return d.getFileWriter(o,a).then(e=>t.then(t=>{return(s=t.bytes,i?c.default.convertToPng(s):Promise.resolve(s)).then(t=>r.default.write(e,t).then(()=>this.cachedDownloads[o]=e.finalize()));var s}))})}getDownloadedFile(e,t){var i=this.getFileStorage(),s="string"!=typeof e?this.getFileName(e):e;return i.getFile(s,t)}downloadFile(e,t,i,a={}){if(!r.default.isAvailable())return Promise.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});let o=!1;1!=a.stickerType||c.default.isSupported()||(a.toFileEntry||i>524288?delete a.stickerType:(o=!0,a.mimeType="image/png"));let n=this.getFileName(t,a),u=a.toFileEntry||null,h=this.cachedSavePromises[n]||this.cachedDownloadPromises[n],p=this.getFileStorage();if(h)return u?h.then(e=>r.default.copy(e,u)):i?h.then(s=>s.sizethis.downloadFile(e,t,i,a)).catch(()=>this.downloadFile(e,t,i,a))):s):h;let m=d.deferredPromise();var g,f=!1,b=!1,v=a.mimeType||"image/jpeg",y=e=>{m.reject(e),y=()=>{},!g||e&&"DOWNLOAD_CANCELED"==e.type||g.truncate(0)};return p.getFile(n,i).then(e=>s(this,void 0,void 0,(function*(){if(e.size{m.resolve()},y):m.resolve(this.cachedDownloads[n]=e)}))).catch(()=>{var s=u?Promise.resolve(u):p.getFileWriter(n,v);s.then(s=>{g=s;var d,h,p=a.limitPart||524288,v=0,w=Promise.resolve();if(s.length){if((v=s.length)>=i)return void(u?m.resolve():m.resolve(this.cachedDownloads[n]=s.finalize()));s.seek(v),m.notify({done:v,total:i})}for(d=v;d{a.resolve=e,a.reject=t}),Object.assign(h,a),((a,d,h,g)=>{this.downloadRequest(e,()=>f?Promise.resolve():l.default.invokeApi("upload.getFile",{flags:0,location:t,offset:d,limit:p},{dcID:e,fileDownload:!0,singleInRequest:"safari"in window}),e).then(e=>{g.then(()=>{return f?Promise.resolve():(t=e.bytes,o?c.default.convertToPng(t):Promise.resolve(t)).then(e=>r.default.write(s,e).then(()=>{h.resolve()},y).then(()=>{a?(b=!0,u?m.resolve():m.resolve(this.cachedDownloads[n]=s.finalize())):m.notify({done:d+p,total:i})}));var t})},y)})(d+p>=i,d,h,w),w=h}})}),m.cancel=()=>{f||b||(f=!0,delete this.cachedDownloadPromises[n],y({type:"DOWNLOAD_CANCELED"}),u&&u.abort())},u||(this.cachedDownloadPromises[n]=m),m}deleteFile(e){return this.log("will delete file:",e),delete this.cachedDownloadPromises[e],delete this.cachedDownloads[e],delete this.cachedSavePromises[e],this.getFileStorage().deleteFile(e)}uploadFile(e){var t=e.size,i=t>=10485760,s=!1,a=!1,n=0,r=262144,d=2;t>67108864?(r=524288,d=4):t<102400&&(r=32768,d=1);var c=Math.ceil(t/r),u=[o.nextRandomInt(4294967295),o.nextRandomInt(4294967295)],h=0,p={_:i?"inputFileBig":"inputFile",id:u,parts:c,name:e instanceof File?e.name:"",md5_checksum:""};let m={notify:e=>{}},g=new Promise((e,t)=>{if(c>3e3)return t({type:"FILE_TOO_BIG"});m.resolve=e,m.reject=t});if(Object.assign(g,m),c>3e3)return g;let f=e=>{this.log.error("Up Error",e),g.reject(e),s=!0,f=()=>{}},b=i?"upload.saveBigFilePart":"upload.saveFilePart";for(let i=0;inew Promise((d,h)=>{var m=new FileReader,v=e.slice(i,i+r);m.onloadend=e=>{s?h():e.target.readyState==FileReader.DONE?l.default.invokeApi(b,{file_id:u,file_part:o,file_total_parts:c,bytes:e.target.result},{startMaxLength:r+256,fileUpload:!0,singleInRequest:!0}).then(e=>{n++,d(),n>=c?(g.resolve(p),a=!0):g.notify({done:n*r,total:t})},f):this.log.error("wrong readyState!")},m.readAsArrayBuffer(v)}),d)}return g.cancel=()=>{this.log("cancel upload",s,a),s||a||(s=!0,f({type:"UPLOAD_CANCELED"}))},g}}t.ApiFileManager=u,t.default=new u},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:location.search.indexOf("http=1")>0,ssl:location.search.indexOf("ssl=1")>0||"https:"==location.protocol&&-1==location.search.indexOf("ssl=0"),multipleConnections:!0}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=i(2);const n=new(s(i(18)).default)("page-chats",!1,()=>Promise.resolve().then(()=>a(i(15))).then(()=>{Promise.resolve().then(()=>a(i(31))),Array.from(document.getElementsByClassName("btn-menu-toggle")).forEach(e=>{e.addEventListener("click",t=>{if(!e.classList.contains("btn-menu-toggle"))return!1;let i=e.querySelector(".btn-menu");t.cancelBubble=!0,e.classList.contains("menu-open")?(e.classList.remove("menu-open"),i.classList.remove("active")):o.openBtnMenu(i)})})}));t.default=n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class s{constructor(){this.channelLocals={},this.channelsByLocals={},this.channelCurLocal=0,this.fullMsgIDModulus=4294967296}getFullMessageID(e,t){if(!t||e<=0)return e;e=this.getMessageLocalID(e);var i=this.channelLocals[t];return i||(i=++this.channelCurLocal*this.fullMsgIDModulus,this.channelsByLocals[i]=t,this.channelLocals[t]=i),i+e}getMessageIDInfo(e){if(e\n \n \n \n ',t?this.preloader.innerHTML+='\n \n \n \n ':this.preloader.classList.add("preloader-swing"),this.circle=this.preloader.firstElementChild.firstElementChild.firstElementChild,e&&this.attach(e),this.cancelable&&this.preloader.addEventListener("click",()=>{this.promise&&this.promise.cancel&&(this.promise.cancel(),this.detach())})}attach(e,t=!0,i,s=!0){if(i){this.promise=i;let e=--this.tempID,t=()=>{e==this.tempID&&this.detach(),i.notify=null};i.then(t,t),i.notify=t=>{if(e!=this.tempID)return;console.log("preloader download",i,t);let s=t.done/t.total*100;this.setProgress(s)}}this.cancelable&&t&&this.setProgress(0),this.detached=!1,window.requestAnimationFrame(()=>{this.detached||(this.detached=!1,e[s?"append":"prepend"](this.preloader))})}detach(){this.detached=!0,this.preloader.parentElement&&window.requestAnimationFrame(()=>{this.detached&&(this.detached=!0,this.preloader.parentElement&&this.preloader.parentElement.removeChild(this.preloader))})}setProgress(e){if(!s.isInDOM(this.circle))return;if(0==e)return void(this.circle.style.strokeDasharray="");let t=this.circle.getTotalLength();console.log("setProgress",e/100*t),this.circle.style.strokeDasharray=Math.max(5,e/100*t)+", 200"}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(15)),r=a(i(7)),l=a(i(5)),d=a(i(4)),c=i(3),u=i(2),h=a(i(9)),p=i(13),m=a(i(6)),g=a(i(29)),f=i(45);class b{constructor(e){this.attachTo=e,this.element=document.getElementById("dialogs-contextmenu"),this.buttons={},u.parseMenuButtonsTo(this.buttons,this.element.children);const t=e=>{var t,i;let s=null;try{s=o.findUpTag(e.target,"LI")}catch(e){}if(!s)return;if(e.preventDefault(),this.element.classList.contains("active"))return!1;e.cancelBubble=!0,this.selectedID=+s.getAttribute("data-peerID");const a=l.default.getDialogByPeerID(this.selectedID)[0],n=a.peerID!=o.$rootScope.myID;if(n){const e=this.buttons.archive;let t="";1==a.folder_id?(t="Unarchive chat",e.classList.remove("tgico-archive")):(t="Archive chat",e.classList.add("tgico-archive")),e.innerText=t,this.buttons.archive.style.display=""}else this.buttons.archive.style.display="none";{const e=this.buttons.pin;let i="";(null===(t=a.pFlags)||void 0===t?void 0:t.pinned)?(i="Unpin from top",e.classList.remove("tgico-pin")):(i="Pin to top",e.classList.add("tgico-pin")),e.innerText=i}if(n){const e=this.buttons.mute;let t="";a.notify_settings&&a.notify_settings.mute_until>(Date.now()/1e3|0)?(t="Enable notifications",e.classList.remove("tgico-mute")):(t="Disable notifications",e.classList.add("tgico-mute")),e.innerText=t,this.buttons.mute.style.display=""}else this.buttons.mute.style.display="none";{const e=this.buttons.unread;let t="";(null===(i=a.pFlags)||void 0===i?void 0:i.unread_mark)?(t="Mark as read",e.classList.add("tgico-message")):(t="Mark as unread",e.classList.remove("tgico-message")),e.innerText=t}let d="";r.default.isMegagroup(this.selectedID)?(d="Leave group",this.peerType="megagroup"):r.default.isChannel(this.selectedID)?(d="Leave channel",this.peerType="channel"):this.selectedID<0?(d="Delete and leave",this.peerType="group"):(d="Delete chat",this.peerType=this.selectedID==o.$rootScope.myID?"saved":"chat"),this.buttons.delete.innerText=d,s.classList.add("menu-open"),u.positionMenu(e,this.element),u.openBtnMenu(this.element,()=>{s.classList.remove("menu-open")})};this.attachTo.forEach(e=>{e.addEventListener("contextmenu",t)}),this.buttons.archive.addEventListener("click",()=>{let e=l.default.getDialogByPeerID(this.selectedID)[0];e&&l.default.editPeerFolders([e.peerID],+!e.folder_id)}),this.buttons.pin.addEventListener("click",()=>{l.default.toggleDialogPin(this.selectedID)}),this.buttons.mute.addEventListener("click",()=>{n.default.mutePeer(this.selectedID)}),this.buttons.unread.addEventListener("click",()=>{l.default.markDialogUnread(this.selectedID)}),this.buttons.delete.addEventListener("click",()=>{let e,t,i,s=r.default.getPeerTitle(this.selectedID,!1,!0),a=e=>{l.default.flushHistory(this.selectedID,e)};switch(this.peerType){case"channel":e="Leave Channel?",t="Are you sure you want to leave this channel?",i=[{text:"LEAVE "+s,isDanger:!0,callback:()=>a(!0)}];break;case"megagroup":e="Leave Group?",t="Are you sure you want to leave this group?",i=[{text:"LEAVE "+s,isDanger:!0,callback:()=>a(!0)}];break;case"chat":e="Delete Chat?",t=`Are you sure you want to delete chat with ${s}?`,i=[{text:"DELETE FOR ME AND "+s,isDanger:!0,callback:()=>a(!1)},{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>a(!0)}];break;case"saved":e="Delete Saved Messages?",t="Are you sure you want to delete all your saved messages?",i=[{text:"DELETE SAVED MESSAGES",isDanger:!0,callback:()=>a(!1)}];break;case"group":e="Delete and leave Group?",t=`Are you sure you want to delete all message history and leave ${s}?`,i=[{text:"DELETE AND LEAVE "+s,isDanger:!0,callback:()=>a(!0)}]}i.push({text:"CANCEL",isCancel:!0}),new f.PopupPeer("popup-delete-chat",{peerID:this.selectedID,title:e,description:t,buttons:i}).show()})}}class v{constructor(){this.chatList=document.getElementById("dialogs"),this.chatListArchived=document.getElementById("dialogs-archived"),this.doms={},this.domsArchived={},this.lastActiveListElement=null,this.rippleCallback=null,this.lastClickID=0,this.lastGoodClickID=0,this.chatsArchivedContainer=document.getElementById("chats-archived-container"),this.chatsContainer=document.getElementById("chats-container"),this.loadedAll=!1,this.loadedArchivedAll=!1,this.scroll=null,this.scrollArchived=null,this.log=p.logger("DIALOGS"),this.contextMenu=new b([this.chatList,this.chatListArchived]),this.chatsPreloader=u.putPreloader(null,!0),this.pinnedDelimiter=document.createElement("div"),this.pinnedDelimiter.classList.add("pinned-delimiter"),this.pinnedDelimiter.appendChild(document.createElement("span")),this.scroll=new h.default(this.chatsContainer,"y","CL",this.chatList,500),this.scroll.setVirtualContainer(this.chatList),this.scroll.onScrolledBottom=this.onChatsScroll.bind(this),this.scrollArchived=new h.default(this.chatsArchivedContainer,"y","CLA",this.chatListArchived,500),this.scrollArchived.setVirtualContainer(this.chatListArchived),this.scrollArchived.onScrolledBottom=this.onChatsArchivedScroll.bind(this),this.setListClickListener(this.chatList),this.setListClickListener(this.chatListArchived),window.addEventListener("resize",()=>{setTimeout(()=>{this.onChatsArchivedScroll()},0)}),o.$rootScope.$on("user_update",e=>{let t=e.detail,i=d.default.getUser(t),s=l.default.getDialogByPeerID(i.id)[0];if(s&&!d.default.isBot(s.peerID)&&s.peerID!=o.$rootScope.myID){let e=i.status&&"userStatusOnline"==i.status._,t=this.getDialogDom(s.peerID);t&&(e?t.avatarEl.classList.add("is-online"):t.avatarEl.classList.remove("is-online"))}n.default.peerID==i.id&&n.default.setPeerStatus()}),o.$rootScope.$on("dialog_top",e=>{let t=e.detail;this.setLastMessage(t),this.setDialogPosition(t),this.setPinnedDelimiter()}),o.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID,i=l.default.getDialogByPeerID(t)[0];i&&this.setLastMessage(i)}),o.$rootScope.$on("dialogs_multiupdate",e=>{let t=e.detail;for(let e in t){let i=t[e];i.peerID in this.doms||this.addDialog(i),this.setLastMessage(i),this.setDialogPosition(i)}this.setPinnedDelimiter()}),o.$rootScope.$on("dialog_drop",e=>{let{peerID:t,dialog:i}=e.detail,s=this.getDialogDom(t);s&&(s.listEl.remove(),delete this.doms[t],(1==i.folder_id?this.scrollArchived:this.scroll).reorder())}),o.$rootScope.$on("dialog_unread",e=>{let t=e.detail,i=l.default.getDialogByPeerID(t.peerID)[0];i&&(this.setUnreadMessages(i),i.peerID==n.default.peerID&&n.default.updateUnreadByDialog(i))}),o.$rootScope.$on("peer_changed",e=>{let t=e.detail,i=this.lastActiveListElement&&+this.lastActiveListElement.getAttribute("data-peerID");if(this.lastActiveListElement&&i!=t&&(this.lastActiveListElement.classList.remove("active"),this.lastActiveListElement=null),i!=t){let e=this.getDialogDom(t);e&&(this.lastActiveListElement=e.listEl,e.listEl.classList.add("active"))}}),l.default.loaded.then(()=>{this.loadDialogs().then(e=>{this.setPinnedDelimiter(),this.loadDialogs(!0)})})}loadDialogs(e=!1){return s(this,void 0,void 0,(function*(){if(this.loadDialogsPromise)return this.loadDialogsPromise;(e?this.chatsArchivedContainer:this.chatsContainer).append(this.chatsPreloader);let t=l.default.dialogsStorage[+e]||[],i=0;for(let e=t.length-1;e>=0;--e){let s=t[e];if(this.getDialogDom(s.peerID)){i=s.index;break}}try{console.time("getDialogs time");let t=50;this.loadDialogsPromise=l.default.getConversations("",i,t,+e);let s=yield this.loadDialogsPromise;console.timeEnd("getDialogs time"),s&&s.dialogs&&s.dialogs.length&&s.dialogs.forEach(e=>{this.addDialog(e)}),s.dialogs.length&&(e?this.scrollArchived.length!=s.count:this.scroll.length!=s.count)||(e?this.loadedArchivedAll=!0:this.loadedAll=!0),this.log("getDialogs "+t+" dialogs by offset:",i,s,this.scroll.length,e),this.scroll.onScroll()}catch(e){this.log.error(e)}this.chatsPreloader.remove(),this.loadDialogsPromise=void 0}))}onChatsScroll(){this.loadedAll||this.loadDialogsPromise||this.loadDialogs()}onChatsArchivedScroll(){this.loadedArchivedAll||this.loadDialogsPromise||this.loadDialogs(!0)}setListClickListener(e,t){e.addEventListener("click",e=>{o.cancelEvent(e),console.log("dialogs click list");let i=e.target,s=i.classList.contains("rp")?i:o.findUpClassName(i,"rp");if(!s)return;s=s.parentElement;let a,r=this.lastActiveListElement==s;if(this.lastActiveListElement&&!r&&this.lastActiveListElement.classList.remove("active"),s){t&&t();let e=+s.getAttribute("data-peerID"),i=+s.dataset.mid||void 0;r||(s.classList.add("active"),this.lastActiveListElement=s),a=n.default.setPeer(e,i)}else a=n.default.setPeer(0)},{capture:!0})}setDialogPosition(e){let t=l.default.getDialogByPeerID(e.peerID)[1],i=this.getDialogDom(e.peerID),s=o.whichChild(i.listEl);if((1==e.folder_id&&this.chatList==i.listEl.parentElement||0==e.folder_id&&this.chatListArchived==i.listEl.parentElement)&&(s=65535),s==t)return;st?a.insertBefore(i.listEl,a.children[t]):a.append(i.listEl),(1==e.folder_id?this.scrollArchived:this.scroll).reorder(),this.log("setDialogPosition:",e,i,t)}setPinnedDelimiter(){var e,t;let i=-1,s=l.default.dialogsStorage[0];for(let t of s)(null===(e=t.pFlags)||void 0===e?void 0:e.pinned)&&i++;let a=null!==(t=this.pinnedDelimiter.parentElement&&o.whichChild(this.pinnedDelimiter.parentElement))&&void 0!==t?t:-1;if(i==a)return;let n=this.chatList.children,r=[];if(-1!=a&&n.length>a){let e=n[a];r.push(e)}if(-1!=i&&n.length>i){let e=n[i];r.push(e),e.append(this.pinnedDelimiter)}else this.pinnedDelimiter.remove();r.forEach(e=>{this.scroll.updateElement(e)})}setLastMessage(e,t,i,s){if(t||(t=l.default.getMessage(e.top_message)),i||(i=this.getDialogDom(e.peerID)),"messageEmpty"==t._)return i.lastMessageSpan.innerHTML="",i.lastTimeSpan.innerHTML="",void delete i.listEl.dataset.mid;let a=e.peer,n=e.peerID;if(s&&t.message){let e,a=l.default.getRichReplyText(t,""),n=t.message,r=c.RichTextProcessor.parseEntities(n.replace(/\n/g," "),{noLinebreakers:!0}),d=new RegExp(o.escapeRegExp(s),"gi");r||(r=[]);let u=!1;for(;null!==(e=d.exec(n));)r.push({_:"messageEntityHighlight",length:s.length,offset:e.index}),u=!0;u&&r.sort((e,t)=>e.offset-t.offset);let h=c.RichTextProcessor.wrapRichText(n,{noLinebreakers:!0,entities:r,noTextFormat:!0});i.lastMessageSpan.innerHTML=a+h}else t.deleted?i.lastMessageSpan.innerHTML="":i.lastMessageSpan.innerHTML=t.rReply;if("peerUser"!=a._&&n!=-t.from_id){let e=d.default.getUser(t.from_id);if(e&&e.id){let t=document.createElement("b"),s="";s=e.id==o.$rootScope.myID?"You":e.first_name||e.last_name||e.username,t.innerHTML=c.RichTextProcessor.wrapRichText(s,{noLinebreakers:!0})+": ",i.lastMessageSpan.prepend(t)}}if(t.deleted)i.lastTimeSpan.innerHTML="";else{let e="",s=t.date,a=Date.now()/1e3,o=new Date(1e3*t.date);if(a-s<86400)e=("0"+o.getHours()).slice(-2)+":"+("0"+o.getMinutes()).slice(-2);else if(a-s<604800){e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(1e3*s).getDay()]}else{e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][o.getMonth()]+" "+("0"+o.getDate()).slice(-2)}i.lastTimeSpan.innerHTML=e}(this.doms[n]||this.domsArchived[n])==i?this.setUnreadMessages(e):i.listEl.dataset.mid=t.mid}setUnreadMessages(e){let t=this.getDialogDom(e.peerID),i=l.default.getMessage(e.top_message);if("messageEmpty"!=i._&&!i.deleted&&i.from_id==o.$rootScope.myID&&i.peerID!=o.$rootScope.myID&&e.read_outbox_max_id){i.pFlags&&i.pFlags.unread?(t.statusSpan.classList.remove("tgico-checks"),t.statusSpan.classList.add("tgico-check")):(t.statusSpan.classList.remove("tgico-check"),t.statusSpan.classList.add("tgico-checks"))}else t.statusSpan.classList.remove("tgico-check","tgico-checks");if(t.unreadMessagesSpan.innerText="",t.unreadMessagesSpan.classList.remove("tgico-pinnedchat"),e.unread_count||e.pFlags.unread_mark?(t.unreadMessagesSpan.innerText=""+(e.unread_count||" "),t.unreadMessagesSpan.classList.add(new Date(1e3*e.notify_settings.mute_until)>new Date?"unread-muted":"unread")):e.pFlags.pinned&&0==e.folder_id&&(t.unreadMessagesSpan.classList.remove("unread","unread-muted"),t.unreadMessagesSpan.classList.add("tgico-pinnedchat")),1==e.folder_id){let e=Object.keys(this.domsArchived).map(e=>+e).reduce((e,t)=>{let i=l.default.getDialogByPeerID(t)[0];return i?e+i.unread_count:e},0);o.$rootScope.$broadcast("dialogs_archived_unread",{count:e})}}getDialogDom(e){return this.doms[e]||this.domsArchived[e]}addDialog(e,t,i=!0,s=!0,a=!1){let n;if("number"==typeof e){let t=l.default.getDialogByPeerID(e)[0];t||(t={peerID:e,pFlags:{}}),n=t}else n=e;let c=n.peerID;if((this.doms[c]||this.domsArchived[c])&&!t)return;let h=r.default.getPeerTitle(c,!1,a),p=new g.default;if(p.setAttribute("dialog","1"),p.setAttribute("peer",""+c),p.classList.add("dialog-avatar"),i&&c!=o.$rootScope.myID&&n.peer){switch(n.peer._){case"peerUser":let e=d.default.getUser(c);e.status&&"userStatusOnline"==e.status._&&p.classList.add("is-online")}}let f=document.createElement("div");f.classList.add("user-caption");let b=document.createElement("span");if(b.classList.add("user-title"),c<0){let e=m.default.getChat(-c);e&&e.pFlags&&e.pFlags.verified&&b.classList.add("is-verified")}else{let e=d.default.getUser(c);e&&e.pFlags&&e.pFlags.verified&&b.classList.add("is-verified")}c==o.$rootScope.myID&&(h=a?"Saved":"Saved Messages"),b.innerHTML=h;let v=document.createElement("span");v.classList.add("user-last-message");let y=document.createElement("div");y.classList.add("rp"),y.append(p,f),s&&u.ripple(y);let w=document.createElement("li");w.append(y),w.setAttribute("data-peerID",""+c);let x=document.createElement("span");x.classList.add("message-status");let _=document.createElement("span");_.classList.add("message-time");let k=document.createElement("span"),M=document.createElement("p"),D=document.createElement("span");D.append(x,_),M.append(b,D);let S=document.createElement("p");S.append(v,k),f.append(M,S);let E={avatarEl:p,captionDiv:f,titleSpan:b,statusSpan:x,lastTimeSpan:_,unreadMessagesSpan:k,lastMessageSpan:v,containerEl:y,listEl:w};return t?t.append(w):(n.folder_id&&1==n.folder_id?(this.scrollArchived.append(w),this.domsArchived[n.peerID]=E):(this.scroll.append(w),this.doms[n.peerID]=E),this.setLastMessage(n)),{dom:E,dialog:n}}setTyping(e,t){let i=this.getDialogDom(e.peerID),s="";if(e.peerID<0){let e=t.rFirstName||t.username;if(!e)return;s=e+" "}let a=document.createElement("i");s+="typing...",a.innerHTML=s,i.lastMessageSpan.innerHTML="",i.lastMessageSpan.append(a),i.lastMessageSpan.classList.add("user-typing")}unsetTyping(e){let t=this.getDialogDom(e.peerID);t.lastMessageSpan.classList.remove("user-typing"),this.setLastMessage(e,null,t)}}t.AppDialogsManager=v,t.default=new v},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=i(10);t.default=new class{constructor(){this.blobSupported=!0;try{a.blobConstruct([],"")}catch(e){this.blobSupported=!1}}isAvailable(){return this.blobSupported}copy(e,t){return this.write(t,e).then(()=>(console.log("copy success"),t),e=>{console.error("copy error 1:",e);try{t.truncate(0)}catch(e){console.error("copy error",e)}return Promise.reject(e)})}write(e,t){return t.file?t.file(t=>e.write(t)):t instanceof Blob?new Promise((i,s)=>{let a=new FileReader;a.onload=function(t){let a=t.target.result,o=new Uint8Array(a);e.write(o).then(i,s)},a.readAsArrayBuffer(t)}):e.write(t)}chooseSaveFile(e,t,i,s){throw new Error("no writer")}getFakeFileWriter(e,t){var i=[];return{write:e=>s(this,void 0,void 0,(function*(){if(!this.blobSupported)throw!1;i.push(e)})),truncate:()=>{i=[]},finalize:()=>{var s=a.blobConstruct(i,e);return t&&t(s),s}}}download(e,t,i){if(window.navigator&&void 0!==navigator.msSaveBlob)return window.navigator.msSaveBlob(e,i),!1;if(window.navigator&&"getDeviceStorage"in navigator){var s="sdcard";switch(t.split("/")[0]){case"video":s="videos";break;case"audio":s="music";break;case"image":s="pictures"}var a=navigator.getDeviceStorage(s).addNamed(e,"telegram/"+i);return a.onsuccess=function(){console.log("Device storage save result",this.result)},void(a.onerror=()=>{})}let o=URL.createObjectURL(e);var n=document.createElementNS("http://www.w3.org/1999/xhtml","a");n.href=o,n.download=i,n.dataset&&(n.dataset.downloadurl=["video/quicktime",i,o].join(":")),n.style.position="absolute",n.style.top="1px",n.style.left="1px",document.body.append(n);try{var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(r)}catch(e){console.error("Download click error",e);try{n.click()}catch(e){window.open(o,"_blank")}}setTimeout(()=>{n.remove()},100)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(17));class o{createIndex(){return{shortIndexes:{},fullTexts:{}}}cleanSearchText(e,t=!0){const i="%"==e.charAt(0);return e=e.replace(o.badCharsRe,"").replace(o.trimRe,""),t&&(e=e.replace(/[^A-Za-z0-9]/g,e=>{const t=a.default.LatinizeMap[e];return void 0!==t?t:e})),e=e.toLowerCase(),i&&(e="%"+e),e}cleanUsername(e){return e&&e.toLowerCase()||""}indexObject(e,t,i){if(void 0!==i.fullTexts[e])return!1;if(!(t=this.cleanSearchText(t)).length)return!1;const s=i.shortIndexes;i.fullTexts[e]=t,t.split(" ").forEach(t=>{let i,a,o=Math.min(t.length,3);for(a=1;a<=o;a++)i=t.substr(0,a),void 0===s[i]?s[i]=[e]:s[i].push(e)})}search(e,t){const i=t.shortIndexes,s=t.fullTexts,a=(e=this.cleanSearchText(e)).split(" ");let o,n,r,l,d,c=!1;for(n=0;no.length)&&(c=o)}for(o={},r=0;r,<]+/g,o.trimRe=/^\s+|\s$/g,t.default=new o},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(12)),o=i(0);class n{constructor(){this.timestampNow=o.tsNow(!0),this.midnightNoOffset=this.timestampNow-this.timestampNow%86400,this.midnightOffseted=new Date,this.midnightOffset=this.midnightNoOffset-Math.floor(+this.midnightOffseted/1e3),this.serverTimeOffset=0,this.timeParams={midnightOffset:this.midnightOffset,serverTimeOffset:this.serverTimeOffset},this.midnightOffseted.setHours(0),this.midnightOffseted.setMinutes(0),this.midnightOffseted.setSeconds(0),a.default.get("server_time_offset").then(e=>{e&&(this.serverTimeOffset=e,this.timeParams.serverTimeOffset=e)})}}t.ServerTimeManager=n,t.default=new n},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(16));i(0).$rootScope.$on("avatar_update",e=>{let t=e.detail;a.default.removeFromAvatarsCache(t),Array.from(document.querySelectorAll('avatar-element[peer="'+t+'"]')).forEach(e=>{console.log("updating avatar:",e),e.update()})});class o extends HTMLElement{constructor(){super(),this.isDialog=!1}connectedCallback(){this.isDialog=!!this.getAttribute("dialog")}disconnectedCallback(){}static get observedAttributes(){return["peer","dialog","peer-title"]}attributeChangedCallback(e,t,i){"peer"==e?(this.peerID=+i,this.update()):"peer-title"==e?this.peerTitle=i:"dialog"==e&&(this.isDialog=!!i)}update(){a.default.putPhoto(this,this.peerID,this.isDialog,this.peerTitle)}adoptedCallback(){}}t.default=o,customElements.define("avatar-element",o)},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e=5,t=!0){this.parallelLimit=e,this.lazyLoadMedia=[],this.loadingMedia=0,this.tempID=0,this.lockPromise=null,this.unlockResolve=null,this.log=console.log.bind(console,"[LL]:"),this.debug=!1,t&&(this.observer=new IntersectionObserver(e=>{if(!this.lockPromise)for(let t of e)if(t.isIntersecting){let e=t.target,i=this.lazyLoadMedia.findAndSplice(t=>t.div==e);i&&(i.wasSeen=!0,this.lazyLoadMedia.unshift(i),this.processQueue(i))}}))}clear(){this.tempID--,this.lazyLoadMedia.length=0,this.loadingMedia=0,this.observer&&this.observer.disconnect()}length(){return this.lazyLoadMedia.length+this.loadingMedia}lock(){this.lockPromise||(this.lockPromise=new Promise((e,t)=>{this.unlockResolve=e}))}unlock(){this.unlockResolve&&(this.lockPromise=null,this.unlockResolve(),this.unlockResolve=null)}processQueue(e){return s(this,void 0,void 0,(function*(){if(!(this.parallelLimit>0&&this.loadingMedia>=this.parallelLimit)&&(e?this.lazyLoadMedia.findAndSplice(t=>t==e):e=this.lazyLoadMedia.findAndSplice(e=>e.wasSeen),e)){this.loadingMedia++;let t=this.tempID;this.debug&&this.log("will load media",this.lockPromise,e);try{if(this.lockPromise){let e=performance.now();yield this.lockPromise,this.debug&&this.log("waited lock:",performance.now()-e)}yield e.load()}catch(t){console.error("loadMediaQueue error:",t,e)}t==this.tempID&&this.loadingMedia--,this.debug&&this.log("loaded media"),this.lazyLoadMedia.length&&this.processQueue()}}))}addElement(e){e.wasSeen?this.processQueue(e):(e.wasSeen=!1,this.observer&&this.observer.observe(e.div))}push(e){this.lazyLoadMedia.push(e),this.addElement(e)}unshift(e){this.lazyLoadMedia.unshift(e),this.addElement(e)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),console.log("Services included!");const a=s(i(4)),o=s(i(6)),n=s(i(23)),r=s(i(19)),l=s(i(8)),d=s(i(25)),c=s(i(5)),u=s(i(16)),h=s(i(15)),p=s(i(7)),m=s(i(39)),g=s(i(11)),f=s(i(36)),b=s(i(48)),v=s(i(37));t.appUsersManager=a.default,t.appChatsManager=o.default,t.appMessagesIDsManager=n.default,t.apiUpdatesManager=r.default,t.appPhotosManager=l.default,t.appMessagesManager=c.default,t.appProfileManager=u.default,t.appImManager=h.default,t.appPeersManager=p.default,t.appStickersManager=m.default,t.appDocsManager=g.default,t.appSidebarRight=f.default,t.appSidebarLeft=b.default,t.appMediaViewer=v.default,t.appDialogsManager=d.default,window.Services={appUsersManager:t.appUsersManager,appChatsManager:t.appChatsManager,apiUpdatesManager:t.apiUpdatesManager,appMessagesManager:t.appMessagesManager,appPeersManager:t.appPeersManager,appProfileManager:t.appProfileManager,appPhotosManager:t.appPhotosManager,appDocsManager:t.appDocsManager,appDialogsManager:t.appDialogsManager,appImManager:t.appImManager,appStickersManager:t.appStickersManager,appSidebarRight:t.appSidebarRight,appSidebarLeft:t.appSidebarLeft,appMediaViewer:t.appMediaViewer}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=a(i(8)),r=a(i(1)),l=a(i(14)),d=a(i(11)),c=i(0),u=a(i(24)),h=o(i(46)),p=i(3),m=i(2),g=a(i(5)),f=i(51),b=a(i(77)),v=a(i(42));function y({doc:e,container:t,message:i,boxWidth:a,boxHeight:o,withTail:r,isOut:l,middleware:c,lazyLoadQueue:p}){let g;if(r)g=M(e,i,t,a,o,l);else{if(a||o)(!t.firstElementChild||"IMG"!=t.firstElementChild.tagName&&"VIDEO"!=t.firstElementChild.tagName)&&n.default.setAttachmentSize(e,t,a,o);else{let i=e.thumbs;!e.downloaded&&i&&i[0].bytes&&n.default.setAttachmentPreview(i[0].bytes,t,!1)}g=t.lastElementChild,g&&"IMG"==g.tagName||t.append(g=new Image)}let f,b,v=document.createElement("video"),y=document.createElement("source");if(v.append(y),r){let e=g.parentElement;v.width=+e.getAttributeNS(null,"width"),v.height=+e.getAttributeNS(null,"height"),e.append(v)}else t.append(v);"round"!=e.type&&(f=document.createElement("span"),f.classList.add("video-time"),t.append(f),"gif"!=e.type?(f.innerText=(e.duration+"").toHHMMSS(!1),b=document.createElement("span"),b.classList.add("video-play","tgico-largeplay","btn-circle","position-center"),t.append(b)):f.innerText="GIF");let w=()=>s(this,void 0,void 0,(function*(){if(i.media.preloader)i.media.preloader.attach(t,void 0,void 0,!1);else if(!e.downloaded){let i=new u.default(t,!0),s=d.default.downloadDoc(e);i.attach(t,!0,s,!1),yield s}if(!c||c())if(console.log("loaded doc:",e,e.url,t),m.renderImageFromUrl(y,e.url),y.type=e.mime_type,v.append(y),g&&g.parentElement&&g.remove(),"gif"==e.type)v.autoplay=!0,v.loop=!0,v.play();else if("round"==e.type){v.dataset.ckin="circle",v.dataset.overlay="1";new h.default(v)}}));if(e.size>=2e7&&!e.downloaded){let e=document.createElement("div");e.classList.add("download");let i=document.createElement("span");return i.classList.add("btn-circle","tgico-download"),e.append(i),e.addEventListener("click",()=>{e.remove(),w()}),void t.prepend(e)}return e.downloaded?w():p.push({div:t,load:w,wasSeen:!0})}t.wrapVideo=y;let w=e=>{const t=new Date(1e3*e);return["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()]+" "+t.getDate()+", "+t.getFullYear()+" at "+t.getHours()+":"+("0"+t.getMinutes()).slice(-2)};function x(e,t=!1){let i=document.createElement("div");i.classList.add("audio"),console.log("wrapAudio doc:",e);let s=String(0|e.duration).toHHMMSS(!0),a=e.audioTitle||e.file_name,o=e.audioPerformer?p.RichTextProcessor.wrapPlainText(e.audioPerformer):"";t?o+=(o?" · ":"")+w(e.date):o||(o="Unknown Artist"),i.innerHTML=`\n
\n
\n
\n
${a}
\n
${o}
\n
${s}
\n
\n `;let n,r,l,c=i.lastElementChild,m=i.querySelector(".audio-download"),g=()=>{r?(m.classList.remove("downloading"),r.cancel(),r=null):(n||(n=new u.default(null,!0)),r=d.default.downloadDoc(e.id),n.attach(m,!0,r),r.then(t=>{m.classList.remove("downloading"),m.remove();let s=document.createElement("audio"),a=document.createElement("source");a.src=e.url,a.type=e.mime_type,s.volume=1,l=new h.MediaProgressLine(s),i.removeEventListener("click",g);let o=i.querySelector(".audio-toggle"),n=i.querySelector(".audio-subtitle"),r=!1;o.addEventListener("click",()=>{r||(i.classList.add("audio-show-progress"),r=!0),n.innerHTML="",n.append(l.container),s.paused?(_&&_.classList.contains("tgico-largepause")&&_.click(),s.currentTime=0,s.play(),_=o,o.classList.remove("tgico-largeplay"),o.classList.add("tgico-largepause")):(s.pause(),o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"))}),s.addEventListener("ended",()=>{o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),c.innerText=String(0|s.currentTime).toHHMMSS(!0)}),s.style.display="none",s.append(a),i.append(s)}),m.classList.add("downloading"))};return i.addEventListener("click",g),i.click(),i}t.wrapDocument=function(e,t=!1,i=!1){if("voice"==e.type)return k(e,t);if("audio"==e.type)return x(e,t);let s=e.file_name?e.file_name.split("."):"",a="";a=s.length>1&&Array.isArray(s)?s.pop().toLowerCase():"file";let o=document.createElement("div");o.classList.add("document","ext-"+a);let n=a;"photo"==e.type&&(o.classList.add("photo"),n=``);let r=e.file_name||"Unknown.file",l=c.formatBytes(e.size);if(t&&(l+=" · "+w(e.date)),o.innerHTML=`\n
${n}
\n ${i?"":'
'}\n
${r}
\n
${l}
\n `,!i){let t,i,s=o.querySelector(".document-download");o.addEventListener("click",()=>{if(i)s.classList.remove("downloading"),i=null;else{if(s.classList.contains("downloading"))return;t||(t=new u.default(null,!0)),d.default.saveDocFile(e.id).then(e=>{i=e.promise,t.attach(s,!0,i),i.then(()=>{s.classList.remove("downloading"),s.remove()})}),s.classList.add("downloading")}})}return o},t.wrapAudio=x;let _=null;function k(e,t=!1){let i=document.createElement("div");i.classList.add("audio","is-voice");let s=e.duration,a=String(0|s).toHHMMSS(!0);i.innerHTML=`\n
\n
\n
${a}
\n `;let o,n,r=i.lastElementChild,l=i.querySelector(".audio-download"),c=document.createElementNS("http://www.w3.org/2000/svg","svg");c.classList.add("audio-waveform"),c.setAttributeNS(null,"width","190"),c.setAttributeNS(null,"height","23"),c.setAttributeNS(null,"viewBox","0 0 190 23"),i.insertBefore(c,i.lastElementChild);let h=e.attributes[0].waveform,p=0,m=0,g="";for(let e of h){if(p>0&&p%4==0){++p,++m;continue}let t=23*(e/255);t<2&&(t=2),g+=`\n \n `,++p}c.insertAdjacentHTML("beforeend",g);let f=i.querySelector(".audio-waveform"),b=()=>{n?(l.classList.remove("downloading"),n.cancel(),n=null):(o||(o=new u.default(null,!0)),n=d.default.downloadDoc(e.id),o.attach(l,!0,n),n.then(t=>{l.classList.remove("downloading"),l.remove();let s=document.createElement("audio"),a=document.createElement("source");a.src=e.url,a.type=e.mime_type,s.volume=1,i.removeEventListener("click",b);let o=i.querySelector(".audio-toggle"),n=0,d=0;o.addEventListener("click",()=>{s.paused?(_&&_.classList.contains("tgico-largepause")&&_.click(),s.currentTime=0,s.play(),_=o,o.classList.remove("tgico-largeplay"),o.classList.add("tgico-largepause"),Array.from(c.children).forEach(e=>e.classList.remove("active")),n=setInterval(()=>{d>c.childElementCount||isNaN(s.duration)?clearInterval(n):(r.innerText=String(0|s.currentTime).toHHMMSS(!0),d=Math.round(s.currentTime/s.duration*47),Array.from(c.children).slice(0,d+1).forEach(e=>e.classList.add("active")))},20)):(s.pause(),o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),clearInterval(n))}),s.addEventListener("ended",()=>{o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),clearInterval(n),Array.from(c.children).forEach(e=>e.classList.remove("active")),r.innerText=String(0|s.currentTime).toHHMMSS(!0)});let u=!1,h=!1;function p(e,t,i){let s=e.offsetX/190*t.duration;Array.from(c.children).forEach(e=>e.classList.remove("active")),d=Math.round(s/t.duration*47),Array.from(c.children).slice(0,d+1).forEach(e=>e.classList.add("active")),t.currentTime=s}f.addEventListener("mouseleave",e=>{u&&(s.play(),u=!1),h=!1}),f.addEventListener("mousemove",e=>{h=!0,u&&p(e,s,f)}),f.addEventListener("mousedown",e=>{e.preventDefault(),s.paused||(s.pause(),p(e,s,f),u=!0)}),f.addEventListener("mouseup",e=>{h&&u&&(s.play(),u=!1)}),f.addEventListener("click",e=>{s.paused||p(e,s,f)}),s.style.display="none",s.append(a),i.append(s)}),l.classList.add("downloading"))};return i.addEventListener("click",b),i.click(),i}function M(e,t,i,s,a,o){let r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("bubble__media-container",o?"is-out":"is-in");let l=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");n.default.setAttachmentSize("document"==e._?e:e.id,l,s,a);let d=+l.getAttributeNS(null,"width"),c=+l.getAttributeNS(null,"height");r.setAttributeNS(null,"width",""+d),r.setAttributeNS(null,"height",""+c);let u="clip"+t.mid;r.dataset.clipID=u;let h=document.createElementNS("http://www.w3.org/2000/svg","defs"),p="";t.message||(p+=o?`\n \n \n `:`\n \n \n `),h.innerHTML=`${p}`,i.style.width=parseInt(i.style.width)-9+"px",r.append(h,l),i.append(r);let m=l.firstElementChild;return m||l.append(m=new Image),m}function D(e,t,i,s=480,a=480,o=!0,r=!1,l,d,c=null){let h,p,g=n.default.getPhoto(e);if(o)h=M(g,t,i,s,a,r);else{if(c){let e=g.sizes;!g.downloaded&&e&&e[0].bytes&&n.default.setAttachmentPreview(e[0].bytes,i,!1)}else s&&a&&(c=n.default.setAttachmentSize(e,i,s,a,!1));h=i.lastElementChild,h&&"IMG"==h.tagName||i.append(h=new Image)}t.media.preloader?t.media.preloader.attach(i):g.downloaded||(p=new u.default(i,!1));let f=()=>{let t=n.default.preloadPhoto(e,c);return p&&p.attach(i,!0,t),t.then(()=>{d&&!d()||m.renderImageFromUrl(h||i,g.url)})};return g.downloaded?f():l.push({div:i,load:f,wasSeen:!0})}t.wrapVoiceMessage=k,t.wrapPhoto=D,t.wrapSticker=function({doc:e,div:t,middleware:i,lazyLoadQueue:a,group:o,play:u,onlyThumb:h,emoji:p}){let g=e.sticker;if(2!=g||l.default.loaded||l.default.loadLottieWorkers(),!g)throw console.error("wrong doc for wrapSticker!",e),new Error("wrong doc for wrapSticker!");t.dataset.docID=e.id;const f=p?c.getEmojiToneIndex(p):-1;if(e.thumbs&&!t.firstElementChild&&(!e.downloaded||2==g)){let s=e.thumbs[0];if(s.bytes){let a=new Image;if(v.default.isSupported()||e.stickerThumbConverted?(m.renderImageFromUrl(a,n.default.getPreviewURLFromThumb(s,!0)),t.append(a)):v.default.convertToPng(s.bytes).then(o=>{i&&!i()||(s.bytes=o,e.stickerThumbConverted=!0,t.childElementCount||m.renderImageFromUrl(a,n.default.getPreviewURLFromThumb(s,!0)).then(()=>{t.append(a)}))}),h)return Promise.resolve()}else if(!h&&2==g){let n=new Image,r=()=>d.default.downloadDocThumb(e,s.type).then(e=>{if(!n.parentElement||i&&!i())return;let s=m.renderImageFromUrl(n,e);l||s.then(()=>{t.append(n)})}),l=d.default.hasDownloadedThumb(e.id,s.type);l&&t.append(n),a&&!l?a.push({div:t,load:r,wasSeen:"chat"==o}):r()}}if(h&&e.thumbs){let s=e.thumbs[0],o=()=>d.default.downloadDocThumb(e,s.type).then(e=>{let s=new Image;m.renderImageFromUrl(s,e).then(()=>{i&&!i()||t.append(s)})});return a?(a.push({div:t,load:o}),Promise.resolve()):o()}let b=e.downloaded,y=()=>d.default.downloadDoc(e.id).then(a=>{if(!i||i())if(2==g){const e=new FileReader;e.addEventListener("loadend",e=>s(this,void 0,void 0,(function*(){const i=e.srcElement.result;let s=yield r.default.gzipUncompress(i,!0);(yield l.default.loadAnimationWorker({container:t,loop:!p,autoplay:!0,animationData:JSON.parse(s)},o,f)).addListener("ready",()=>{t.firstElementChild&&"IMG"==t.firstElementChild.tagName&&t.firstElementChild.remove()})}))),e.readAsArrayBuffer(a)}else if(1==g){let i=new Image;b||t.firstElementChild&&"IMG"==t.firstElementChild.tagName||(i.style.opacity="0",i.addEventListener("load",()=>{window.requestAnimationFrame(()=>{i.style.opacity=""})})),m.renderImageFromUrl(i,e.url).then(()=>{t.firstElementChild&&t.firstElementChild!=i&&t.firstElementChild.remove(),t.append(i)})}});return!a||e.downloaded&&2!=g?y():(a.push({div:t,load:y,wasSeen:"chat"==o&&2!=g}),Promise.resolve())},t.wrapReply=function(e,t,i){let s=document.createElement("div");s.classList.add("reply");let a=document.createElement("div");a.classList.add("reply-border");let o=document.createElement("div");o.classList.add("reply-content");let r=document.createElement("div");r.classList.add("reply-title");let l=document.createElement("div");l.classList.add("reply-subtitle"),r.innerHTML=e?p.RichTextProcessor.wrapEmojiText(e):"";let d=i&&i.media;if(d){if(l.innerHTML=i.rReply,d.photo||d.document&&-1!==["video"].indexOf(d.document.type)){let e=document.createElement("div");e.classList.add("reply-media");let t=d.photo||d.document,i=t.sizes||t.thumbs;i&&i[0].bytes&&n.default.setAttachmentPreview(i[0].bytes,e,!1,!0),n.default.preloadPhoto(t,n.default.choosePhotoSize(t,32,32)).then(()=>{m.renderImageFromUrl(e,"photo"==t._?t.url:n.default.getDocumentCachedThumb(t.id).url)}),o.append(e),s.classList.add("is-reply-media")}}else l.innerHTML=t?p.RichTextProcessor.wrapEmojiText(t):"";return o.append(r,l),s.append(a,o),s},t.wrapAlbum=function({groupID:e,attachmentDiv:t,middleware:i,uploading:s,lazyLoadQueue:a,isOut:o}){let r=[],l=g.default.groupedMessagesStorage[e];for(let e in l){let t=g.default.getMessage(+e),i=t.media.photo||t.media.document,s="photo"==i._?n.default.choosePhotoSize(i,480,480):{w:i.w,h:i.h};r.push({size:s,media:i,message:t})}let d=new f.Layouter(r.map(e=>({w:e.size.w,h:e.size.h})),451,100,2).layout();console.log("layout:",d,r.map(e=>({w:e.size.w,h:e.size.h})));for(let{geometry:e,sides:s}of d){let n=r.shift();if(!n){console.error("no item for layout!");continue}let{size:l,media:d,message:c}=n,u=document.createElement("div");u.classList.add("album-item"),u.dataset.mid=c.mid,u.style.width=e.width+"px",u.style.height=e.height+"px",u.style.top=e.y+"px",u.style.left=e.x+"px",s&f.RectPart.Right&&(t.style.width=e.width+e.x+"px"),s&f.RectPart.Bottom&&(t.style.height=e.height+e.y+"px"),s&f.RectPart.Left&&s&f.RectPart.Top&&(u.style.borderTopLeftRadius="inherit"),s&f.RectPart.Left&&s&f.RectPart.Bottom&&(u.style.borderBottomLeftRadius="inherit"),s&f.RectPart.Right&&s&f.RectPart.Top&&(u.style.borderTopRightRadius="inherit"),s&f.RectPart.Right&&s&f.RectPart.Bottom&&(u.style.borderBottomRightRadius="inherit"),"photo"==d._?D(d.id,c,u,0,0,!1,o,a,i,l):y({doc:c.media.document,container:u,message:c,boxWidth:0,boxHeight:0,withTail:!1,isOut:o,lazyLoadQueue:a,middleware:i}),t.append(u)}},t.wrapPoll=function(e,t){let i=new b.default;return i.setAttribute("poll-id",e),i.setAttribute("message-id",""+t),i}},,,function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(2),o=s(i(9)),n=i(3),r=s(i(17)),l=i(0),d=s(i(69)),c=s(i(84)),u=s(i(1)),h=s(i(18)),p=i(21);let m=null;const g=new h.default("page-sign",!0,()=>{p.Modes.test&&(r.default.Countries.push({name:"Test Country",phoneCode:"999 66",code:"TC",emoji:"🤔",pattern:"999 66 XXX XX"}),console.log("Added test country to list!"));const e=r.default.Countries.filter(e=>e.emoji).sort((e,t)=>e.name.localeCompare(t.name));let t="";var i=g.pageEl.querySelector('input[name="countryCode"]'),s=i.parentElement,h=document.createElement("div");h.classList.add("select-wrapper","z-depth-3");var f=document.createElement("ul");h.appendChild(f);new o.default(h);let b=!1;g.pageEl.querySelector(".a-qr").addEventListener("click",()=>{c.default.mount()}),i.addEventListener("focus",(function(a){b||(e.forEach(e=>{b=!0;let t=e.emoji,i=[];e.phoneCode.split(" and ").forEach(s=>{let a=document.createElement("li");var o=document.createElement("span");let r=n.RichTextProcessor.wrapRichText(t);a.appendChild(o),o.outerHTML=r,a.append(e.name);var l=document.createElement("span");l.classList.add("phone-code"),l.innerText="+"+s,a.appendChild(l),i.push(a),f.append(a)}),e.li=i}),f.addEventListener("mousedown",(function(e){let s=e.target;"LI"!=s.tagName&&(s=l.findUpTag(s,"LI"));let a=s.childNodes[1].textContent,o=s.querySelector(".phone-code").innerText;i.value=a,t=a,v.value=o,setTimeout(()=>v.focus(),0),console.log("clicked",e,a,o)}))),s.appendChild(h)})),i.addEventListener("blur",(function(e){s.removeChild(h),e.cancelBubble=!0}),{capture:!0}),i.addEventListener("keyup",(function(i){if(i.ctrlKey||"Control"==i.key)return!1;let s=this.value.toLowerCase(),a=[];if(e.forEach(e=>{let t=-1!==e.name.toLowerCase().indexOf(s);e.li.forEach(e=>e.style.display=t?"":"none"),t&&a.push(e)}),1==a.length&&1==a[0].li.length){if(a[0].name==t)return!1;console.log("clicking",a[0]);var o=document.createEvent("MouseEvents");return o.initEvent("mousedown",!0,!0),a[0].li[0].dispatchEvent(o),!1}0==a.length&&e.forEach(e=>{e.li.forEach(e=>e.style.display="")})})),g.pageEl.querySelector(".arrow-down").addEventListener("mousedown",(function(e){e.cancelBubble=!0,e.preventDefault(),i.matches(":focus")?i.blur():i.focus()}));e.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length);let v=g.pageEl.querySelector('input[name="phone"]');v.addEventListener("input",(function(e){this.classList.remove("error");let{formatted:s,country:o}=a.formatPhoneNumber(this.value);this.value=s?"+"+s:"",console.log(s,o);let n=o?o.name:"";n!=i.value&&(i.value=n,t=n),o&&this.value.length-1>=(o.pattern?o.pattern.length:9)?m.style.visibility="":m.style.visibility="hidden"})),v.addEventListener("keypress",(function(e){return this.value.length>=9&&"Enter"==e.key?m.click():/\D/.test(e.key)?(e.preventDefault(),!1):void 0})),m.addEventListener("click",(function(e){this.setAttribute("disabled","true"),this.textContent="PLEASE WAIT...",a.putPreloader(this);let t=v.value;u.default.invokeApi("auth.sendCode",{phone_number:t,api_id:p.App.id,api_hash:p.App.hash,settings:{_:"codeSettings",flags:0}}).then(e=>{console.log("got code",e),d.default.mount(Object.assign(e,{phone_number:t}))}).catch(e=>{switch(this.removeAttribute("disabled"),this.innerText="NEXT",e.type){case"PHONE_NUMBER_INVALID":v.classList.add("error");break;default:console.error("auth.sendCode error:",e),this.innerText=e.type}})}));u.default.invokeApi("help.getNearestDc").then(e=>(e.nearest_dc!=e.this_dc&&u.default.getNetworker(e.nearest_dc),e)).then(s=>{let a=e.find(e=>e.code==s.country);return a&&(i.value.length||v.value.length||(i.value=a.name,t=a.name,v.value="+"+a.phoneCode.split(" and ").shift())),console.log("woohoo",s,a)})},()=>{m||(m=g.pageEl.querySelector("button")),m.textContent="NEXT",m.removeAttribute("disabled")});t.default=g},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=i(2),r=a(i(9)),l=i(0),d=a(i(5)),c=a(i(8)),u=a(i(7)),h=a(i(4)),p=a(i(16)),m=i(3),g=i(13),f=a(i(15)),b=a(i(37)),v=a(i(30)),y=i(32),w=o(i(49)),x=a(i(38));let _=(e,t)=>{window.requestAnimationFrame(()=>{t.childElementCount>1&&t.firstElementChild.remove();let i=document.createElement("p");i.innerHTML=e,t.prepend(i),t.style.display=""})};t.default=new class{constructor(){this.sidebarEl=document.getElementById("column-right"),this.profileContainer=this.sidebarEl.querySelector(".profile-container"),this.profileContentEl=this.sidebarEl.querySelector(".profile-content"),this.contentContainer=this.sidebarEl.querySelector(".content-container"),this.profileElements={avatar:this.profileContentEl.querySelector(".profile-avatar"),name:this.profileContentEl.querySelector(".profile-name"),subtitle:this.profileContentEl.querySelector(".profile-subtitle"),bio:this.profileContentEl.querySelector(".profile-row-bio"),username:this.profileContentEl.querySelector(".profile-row-username"),phone:this.profileContentEl.querySelector(".profile-row-phone"),notificationsRow:this.profileContentEl.querySelector(".profile-row-notifications"),notificationsCheckbox:this.profileContentEl.querySelector("#profile-notifications"),notificationsStatus:this.profileContentEl.querySelector(".profile-row-notifications > p")},this.sharedMedia={contentMembers:this.profileContentEl.querySelector("#content-members"),contentMedia:this.profileContentEl.querySelector("#content-media"),contentDocuments:this.profileContentEl.querySelector("#content-docs"),contentLinks:this.profileContentEl.querySelector("#content-links"),contentAudio:this.profileContentEl.querySelector("#content-audio")},this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.sharedMediaTypes=["members","inputMessagesFilterPhotoVideo","inputMessagesFilterDocument","inputMessagesFilterUrl","inputMessagesFilterMusic"],this.sharedMediaType="",this.sharedMediaSelected=null,this.lazyLoadQueue=new v.default(5),this.historiesStorage={},this.usedFromHistory={},this.log=g.logger("SR"),this.peerID=0,this.scroll=null,this.prevTabID=-1,this.mediaDivsByIDs={},this.urlsToRevoke=[],this.searchContainer=this.sidebarEl.querySelector("#search-private-container"),this.searchCloseBtn=this.searchContainer.querySelector(".sidebar-close-button"),this.searchInput=document.getElementById("private-search"),this.privateSearch=new w.default(this.searchContainer.querySelector(".chats-container"),this.searchInput,{messages:new w.SearchGroup("Private Search","messages")}),this.loadMutex=Promise.resolve();let e=this.profileContentEl.querySelector(".content-container .tabs-container");this.profileTabs=this.profileContentEl.querySelector(".profile-tabs"),this.scroll=new r.default(this.profileContainer,"y","SR",void 0,400),this.scroll.onScrolledBottom=()=>{this.sharedMediaSelected&&this.sharedMediaSelected.childElementCount&&(this.log("onScrolledBottom will load media"),this.loadSidebarMedia(!0))},n.horizontalMenu(this.profileTabs,e,(e,t)=>{this.prevTabID!=e&&(this.sharedMediaType=this.sharedMediaTypes[e],this.sharedMediaSelected=t.firstElementChild,-1!=this.prevTabID&&this.profileTabs.offsetTop&&(this.scroll.scrollTop-=this.profileTabs.offsetTop),-1==this.prevTabID||this.sharedMediaSelected.childElementCount||this.loadSidebarMedia(!0),this.prevTabID=e)}),this.sidebarEl.querySelector(".sidebar-close-button").addEventListener("click",()=>{this.toggleSidebar(!1)}),this.searchCloseBtn.addEventListener("click",()=>{this.searchContainer.classList.remove("active"),this.privateSearch.reset()}),this.sharedMedia.contentMedia.addEventListener("click",e=>{let t=e.target,i=+t.dataset.mid;if(!i)return void this.log.warn("no messageID by click on target:",t);let s=d.default.getMessage(i),a=Object.keys(this.mediaDivsByIDs).map(e=>+e).sort((e,t)=>e-t),o=a.findIndex(e=>e==i),n=a.map(e=>({element:this.mediaDivsByIDs[e].firstElementChild,mid:e}));b.default.openMedia(s,t,!1,this.sidebarEl,n.slice(o+1).reverse(),n.slice(0,o).reverse(),!0)}),this.profileElements.notificationsCheckbox.addEventListener("change",()=>{f.default.mutePeer(this.peerID)})}beginSearch(){this.toggleSidebar(!0),this.searchContainer.classList.add("active"),this.privateSearch.beginSearch(this.peerID)}toggleSidebar(e){let t,i=this.sidebarEl.classList.contains("active");if(void 0!==e?e?i||(t=!0):i&&(t=!0):t=!0,!t)return Promise.resolve();let s=()=>{this.sidebarEl.classList.toggle("active",e)};return new Promise((t,i)=>{let a=[],o=new IntersectionObserver(i=>{for(let e of i){let t=e.target;e.isIntersecting||a.push({element:t,height:t.scrollHeight})}for(let e of a)e.element.style.minHeight=e.height+"px",e.element.firstElementChild.style.display="none",e.element.style.width="1px";o.disconnect(),s(),setTimeout(()=>{for(let e of a)e.element.style.minHeight="",e.element.style.width="",e.element.firstElementChild.style.display="";(0==e||this.sidebarEl.classList.contains("active")&&null==e)&&(x.default.close(),this.searchCloseBtn.click()),t()},200)});if(Object.keys(f.default.bubbles).length)for(let e in f.default.bubbles)o.observe(f.default.bubbles[e]);else s(),setTimeout(t,200)})}filterMessagesByType(e,t){let i=[];for(let t of e){let e=d.default.getMessage(t);e.media&&i.push(e)}let s=[];switch(t){case"inputMessagesFilterPhotoVideo":for(let e of i){let t=e.media.photo||e.media.document||e.media.webpage&&e.media.webpage.document;t&&("document"==t._&&"video"!=t.type||s.push(e))}break;case"inputMessagesFilterDocument":for(let e of i){if(!e.media.document||"voice"==e.media.document.type||"audio"==e.media.document.type)continue;let t=e.media.document;t.attributes&&t.attributes.find(e=>"documentAttributeSticker"==e._)||s.push(e)}break;case"inputMessagesFilterUrl":for(let e of i)e.media.webpage&&"webPageEmpty"!=e.media.webpage._&&s.push(e);break;case"inputMessagesFilterMusic":for(let e of i)e.media.document&&"audio"==e.media.document.type&&s.push(e)}return s}performSearchResult(e,t){return s(this,void 0,void 0,(function*(){let i,s=this.peerID,a=[],o=[];switch(t){case"inputMessagesFilterPhotoVideo":i=this.sharedMedia.contentMedia;for(let t of e){let e=t.media.photo||t.media.document||t.media.webpage&&t.media.webpage.document,i=document.createElement("div");i.classList.add("media-item");let r,d="photo"==e._,u=d?c.default.getPhoto(e.id):null;if(u)r=u.downloaded>0;else{let t=c.default.getDocumentCachedThumb(e.id);r=(null==t?void 0:t.downloaded)>0}let h=new Image;if(h.classList.add("media-image"),i.append(h),!d){let t=document.createElement("span");t.classList.add("video-time"),i.append(t),"gif"!=e.type?t.innerText=(e.duration+"").toHHMMSS(!1):t.innerText="GIF"}let p=()=>c.default.preloadPhoto(d?e.id:e,c.default.choosePhotoSize(e,200,200)).then(()=>{if(l.$rootScope.selectedPeerID!=s)return void this.log.warn("peer changed");let t=u&&u.url||c.default.getDocumentCachedThumb(e.id).url;t&&n.renderImageFromUrl(h,t)});h.dataset.mid=""+t.mid;let m=e.sizes||e.thumbs;if(r||m&&m[0].bytes){let t=new Promise((t,i)=>{h.addEventListener("load",()=>{clearTimeout(s),t()});let s=setTimeout(()=>{this.log("did not loaded",h,e,r,m),i()},1e3)});o.push(t)}r?p():(m&&m[0].bytes&&c.default.setAttachmentPreview(m[0].bytes,h,!1,!1),this.lazyLoadQueue.push({div:i,load:p})),a.push(i),this.mediaDivsByIDs[t.mid]=i}break;case"inputMessagesFilterDocument":i=this.sharedMedia.contentDocuments;for(let t of e){let e=y.wrapDocument(t.media.document,!0);a.push(e)}break;case"inputMessagesFilterUrl":i=this.sharedMedia.contentLinks;for(let t of e){let e=t.media.webpage,i=document.createElement("div"),o=document.createElement("div");if(o.classList.add("preview"),o.innerText=(e.title||e.description||e.url||e.display_url).slice(0,1),o.classList.add("empty"),e.photo){let t=()=>c.default.preloadPhoto(e.photo.id,c.default.choosePhotoSize(e.photo,60,60)).then(()=>{l.$rootScope.selectedPeerID==s?(o.classList.remove("empty"),o.innerText="",n.renderImageFromUrl(o,e.photo.url)):this.log.warn("peer changed")});this.lazyLoadQueue.push({div:o,load:t})}let r=e.rTitle||"",d=e.rDescription||"",u=m.RichTextProcessor.wrapRichText(e.url||"");r||(r=e.display_url.split("/",1)[0]),i.append(o),i.insertAdjacentHTML("beforeend",`\n
${r}
\n
${d}
\n
${u}
\n `),i.innerText.trim().length&&a.push(i)}break;case"inputMessagesFilterMusic":i=this.sharedMedia.contentAudio;for(let t of e){let e=y.wrapAudio(t.media.document,!0);a.push(e)}break;default:console.warn("death is my friend",e)}if(this.loadMutex&&o.push(this.loadMutex),a.length){if(o.length&&(yield Promise.all(o),this.peerID!=s))return void this.log.warn("peer changed");i.append(...a)}if(i){let e=i.parentElement;e.lastElementChild.classList.contains("preloader")&&e.lastElementChild.remove()}}))}loadSidebarMedia(e=!1){var t;this.log("loadSidebarMedia",e,this.peerID,this.loadSidebarMediaPromises);let i=this.peerID,s=e?[this.sharedMediaType]:this.sharedMediaTypes;if(s=s.filter(e=>!this.loadedAllMedia[e]),!s.length)return;let a=3*(c.default.windowH/130|0),o=null!==(t=this.historiesStorage[i])&&void 0!==t?t:this.historiesStorage[i]={},n=s.map(e=>{var t;if(this.loadSidebarMediaPromises[e])return this.loadSidebarMediaPromises[e];let s=null!==(t=o[e])&&void 0!==t?t:o[e]=[];if(s.length&&this.usedFromHistory[e]a){let e=t.length-a;t=t.slice(0,t.length-e),i-=e}return this.usedFromHistory[e]=i,t.length?this.performSearchResult(t,e):Promise.resolve()}let n=s[s.length-1]||0,r=!n&&d.default.historiesStorage[i]?d.default.historiesStorage[i].history.slice():[];return n=!n&&r.length?r[r.length-1]:n,this.log("loadSidebarMedia: search house of glass pre",e,r,n),this.loadSidebarMediaPromises[e]=d.default.getSearch(i,"",{_:e},n,a).then(t=>{if(r=r.concat(t.history),s.push(...r),this.log("loadSidebarMedia: search house of glass",e,t,r),l.$rootScope.selectedPeerID==i)return t.history.length{this.log.error("load error:",e)}).then(()=>{this.loadSidebarMediaPromises[e]=null})});return Promise.all(n)}cleanup(){this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.prevTabID=-1,this.mediaDivsByIDs={},this.lazyLoadQueue.clear(),this.sharedMediaTypes.forEach(e=>{this.usedFromHistory[e]=0}),this.sharedMediaType="inputMessagesFilterPhotoVideo"}cleanupHTML(){this.profileElements.bio.style.display="none",this.profileElements.phone.style.display="none",this.profileElements.username.style.display="none",this.profileElements.notificationsRow.style.display="",this.profileElements.notificationsCheckbox.checked=!0,this.profileElements.notificationsStatus.innerText="Enabled",this.urlsToRevoke.length&&(this.urlsToRevoke.forEach(e=>{URL.revokeObjectURL(e)}),this.urlsToRevoke.length=0),Object.keys(this.sharedMedia).forEach(e=>{if(this.sharedMedia[e].innerHTML="",!this.historiesStorage[this.peerID]||!this.historiesStorage[this.peerID][e]){let t=this.sharedMedia[e].parentElement;t.querySelector(".preloader")||n.putPreloader(t,!0)}}),this.profileTabs.firstElementChild.children[1].click()}setLoadMutex(e){this.loadMutex=e}setPeer(e){this.peerID=e,this.cleanup()}fillProfileElements(){let e=this.peerID=l.$rootScope.selectedPeerID;if(this.cleanupHTML(),this.profileElements.avatar.setAttribute("peer",""+e),e!=l.$rootScope.myID){u.default.getPeerUsername(e)&&_(u.default.getPeerUsername(e),this.profileElements.username);let t=d.default.getDialogByPeerID(e)[0];if(t){let e=!1;t.notify_settings&&t.notify_settings.mute_until&&(e=new Date(1e3*t.notify_settings.mute_until)>new Date),f.default.setMutedState(e)}}else window.requestAnimationFrame(()=>{this.profileElements.notificationsRow.style.display="none"});let t=this.profileTabs.firstElementChild.children[0];if(e>0){t.style.display="none";let i=h.default.getUser(e);i.phone&&e!=l.$rootScope.myID&&_(i.rPhone,this.profileElements.phone),p.default.getProfile(e,!0).then(t=>{this.peerID==e?(t.rAbout&&e!=l.$rootScope.myID&&_(t.rAbout,this.profileElements.bio),t.pinned_msg_id&&(f.default.pinnedMsgID=t.pinned_msg_id,d.default.wrapSingleMessage(t.pinned_msg_id))):this.log.warn("peer changed")})}else{t.style.display=u.default.isBroadcast(e)?"none":"";let i=u.default.getPeer(e);p.default.getChatFull(i.id).then(t=>{this.peerID==e?t.about&&_(m.RichTextProcessor.wrapRichText(t.about),this.profileElements.bio):this.log.warn("peer changed")})}}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(7)),n=a(i(8)),r=a(i(5)),l=i(3),d=i(13),c=a(i(24)),u=i(0),h=a(i(11)),p=a(i(46)),m=i(2),g=a(i(30)),f=a(i(38));class b{constructor(){this.wholeDiv=document.querySelector(".media-viewer-whole"),this.overlaysDiv=this.wholeDiv.firstElementChild,this.author={avatarEl:this.overlaysDiv.querySelector(".media-viewer-userpic"),nameEl:this.overlaysDiv.querySelector(".media-viewer-name"),date:this.overlaysDiv.querySelector(".media-viewer-date")},this.buttons={},this.content={container:this.overlaysDiv.querySelector(".media-viewer-media"),caption:this.overlaysDiv.querySelector(".media-viewer-caption"),mover:null},this.currentMessageID=0,this.preloader=null,this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.targetContainer=null,this.loadMore=null,this.peerID=0,this.loadMediaPromiseUp=null,this.loadMediaPromiseDown=null,this.loadedAllMediaUp=!1,this.loadedAllMediaDown=!1,this.reverse=!1,this.needLoadMore=!0,this.pageEl=document.getElementById("page-chats"),this.log=d.logger("AMV"),this.preloader=new c.default,this.lazyLoadQueue=new g.default(5,!1),m.parseMenuButtonsTo(this.buttons,this.wholeDiv.querySelectorAll("[class*='menu']")),this.onKeyDownBinded=this.onKeyDown.bind(this),this.buttons.close.addEventListener("click",e=>{u.cancelEvent(e),this.content.container.innerHTML="",this.content.container.firstElementChild&&URL.revokeObjectURL(this.content.container.firstElementChild.src),this.peerID=0,this.currentMessageID=0,this.lazyLoadQueue.clear(),this.setMoverToTarget(this.lastTarget,!0),this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.loadedAllMediaUp=this.loadedAllMediaDown=!1,this.loadMediaPromiseUp=this.loadMediaPromiseDown=null,f.default.close(),window.removeEventListener("keydown",this.onKeyDownBinded)}),this.buttons.prev.addEventListener("click",e=>{if(u.cancelEvent(e),this.setMoverPromise)return;let t=this.prevTargets.pop();t?(this.nextTargets.unshift({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.prev.style.display="none"}),this.buttons.next.addEventListener("click",e=>{if(u.cancelEvent(e),this.setMoverPromise)return;let t=this.nextTargets.shift();t?(this.prevTargets.push({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.next.style.display="none"}),this.buttons.download.addEventListener("click",()=>{let e=r.default.getMessage(this.currentMessageID);if(e.media.photo)n.default.downloadPhoto(e.media.photo.id);else{let t=null;t=e.media.webpage?e.media.webpage.document:e.media.document,t&&(console.log("will save document:",t),h.default.saveDocFile(t.id))}}),this.buttons.forward.addEventListener("click",()=>{f.default.init([this.currentMessageID])}),this.onClickBinded=e=>{u.cancelEvent(e);let t=e.target,i=null;["media-viewer-mover","media-viewer-buttons","media-viewer-author"].find(e=>{try{if(i=u.findUpClassName(t,e),i)return!0}catch(e){return!1}}),i&&"IMG"!=t.tagName&&"image"!=t.tagName||this.buttons.close.click()},this.wholeDiv.addEventListener("click",this.onClickBinded),this.setNewMover()}onKeyDown(e){"ArrowRight"==e.key?this.buttons.next.click():"ArrowLeft"==e.key&&this.buttons.prev.click()}setMoverToTarget(e,t=!1,i=0){var a;return s(this,void 0,void 0,(function*(){let s=this.content.mover;t||(s.innerHTML="");let o,r,l=0!==i,d=l?350:200;this.log("setMoverToTarget",e,t,l,i),e&&(e instanceof SVGImageElement||e.parentElement instanceof SVGForeignObjectElement?(o=u.findUpClassName(e,"attachment"),r=o.getBoundingClientRect()):(o=e.parentElement,r=e.getBoundingClientRect()));let c,h,p,m=this.content.container.getBoundingClientRect(),g="";if(l?(c=1===i?n.default.windowW:-m.width,h=m.top):(c=r.left,h=r.top),e instanceof HTMLImageElement||e instanceof HTMLVideoElement){if(s.firstElementChild&&s.firstElementChild.classList.contains("media-viewer-aspecter")){p=s.firstElementChild;let e=p.querySelector(".ckin__player");if(e){let t=e.firstElementChild;p.append(t),e.remove()}p.style.cssText||(s.classList.remove("active"),this.setFullAspect(p,m,r),s.offsetLeft,s.classList.add("active"))}else p=document.createElement("div"),p.classList.add("media-viewer-aspecter","disable-hover"),s.prepend(p);p.style.cssText=`width: ${r.width}px; height: ${r.height}px; transform: scale(${m.width/r.width}, ${m.height/r.height});`}g+=`translate(${c}px,${h}px) `,s.style.width=m.width+"px",s.style.height=m.height+"px";let f=r.width/m.width,b=r.height/m.height;l||(g+=`scale(${f},${b}) `);let v,y=window.getComputedStyle(o).getPropertyValue("border-radius"),w=u.fillPropertyValue(y);y=w.map(e=>parseInt(e)/f+"px").join(" "),l||(s.style.borderRadius=y),s.style.transform=g;let x=e.classList.contains("is-out");if(t)return e instanceof SVGSVGElement&&(v=s.querySelector("path"),v&&this.sizeTailPath(v,m,f,d,!1,x,y)),e.classList.contains("media-viewer-media")&&s.classList.add("hiding"),setTimeout(()=>{this.wholeDiv.classList.remove("active")},0),setTimeout(()=>{s.style.borderRadius=y,s.firstElementChild&&(s.firstElementChild.style.borderRadius=y)},d/2),void setTimeout(()=>{s.innerHTML="",s.classList.remove("moving","active","hiding"),s.style.display="none"},d);{let t,i;if("DIV"==e.tagName)e.firstElementChild&&(t=new Image,i=e.firstElementChild.src,s.append(t));else if(e instanceof HTMLImageElement)t=new Image,i=e.src;else if(e instanceof HTMLVideoElement){let s=t=document.createElement("video"),o=document.createElement("source");i=null===(a=e.querySelector("source"))||void 0===a?void 0:a.src,s.append(o)}else if(e instanceof SVGSVGElement){let t=e.dataset.clipID,i=t+"-mv",{width:a,height:o}=m,n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttributeNS(null,"width",""+a),n.setAttributeNS(null,"height",""+o),n.insertAdjacentHTML("beforeend",e.firstElementChild.outerHTML.replace(t,i)),n.insertAdjacentHTML("beforeend",e.lastElementChild.outerHTML.replace(t,i));let r=n.firstElementChild,l=r.firstElementChild.firstElementChild;if(l instanceof SVGUseElement){let e,t=l.getAttributeNS(null,"transform");t=t.replace(/translate\((.+?), (.+?)\) scale\((.+?), (.+?)\)/,(e,t,i,s,n)=>`translate(${t=2!=(t=+t)?a-2/f:2/f}, ${o}) scale(${+s/f}, ${+n/b})`),l.setAttributeNS(null,"transform",t),v=r.firstElementChild.lastElementChild;let i=y.split(" ").map(e=>parseInt(e));e=x?u.generatePathData(0,0,a-9/f,o,...i):u.generatePathData(9/f,0,a-9/f,o,...i),v.setAttributeNS(null,"d",e)}let d=n.lastElementChild;d.setAttributeNS(null,"width",""+m.width),d.setAttributeNS(null,"height",""+m.height),s.prepend(n)}p&&(p.style.borderRadius=y,p.append(t)),t=s.querySelector("video, img"),t instanceof HTMLImageElement?yield new Promise((e,s)=>{t.addEventListener("load",e),i&&(t.src=i)}):t instanceof HTMLVideoElement&&t.firstElementChild&&(t.firstElementChild.src||i)&&(yield new Promise((e,s)=>{t.addEventListener("loadeddata",e),i&&(t.firstElementChild.src=i)})),s.style.display="",window.requestAnimationFrame(()=>{s.classList.add(l?"moving":"active")})}yield new Promise(e=>window.requestAnimationFrame(e)),s.style.transform=`translate(${m.left}px,${m.top}px) scale(1,1)`,p&&this.setFullAspect(p,m,r),setTimeout(()=>{s.style.borderRadius="",s.firstElementChild&&(s.firstElementChild.style.borderRadius="")},d/2),s.dataset.timeout=""+setTimeout(()=>{s.classList.remove("moving"),p&&(s.querySelector("video")&&(s.classList.remove("active"),p.style.cssText="",s.offsetLeft),p.classList.remove("disable-hover")),s.classList.add("active"),delete s.dataset.timeout},d),v&&this.sizeTailPath(v,m,f,d,!0,x,y)}))}setFullAspect(e,t,i){let s,a=e.firstElementChild;a instanceof HTMLImageElement?s=a.naturalWidth/a.naturalHeight:a instanceof HTMLVideoElement&&(s=a.videoWidth/a.videoHeight);let{width:o,height:n}=i;s>0?o=n*s:n=o*s,e.style.cssText=`width: ${o}px; height: ${n}px; transform: scale(${t.width/o}, ${t.height/n});`}sizeTailPath(e,t,i,s,a,o,n){let r=Date.now(),{width:l,height:d}=t;s/=2;let c=n.split(" ").map(e=>parseInt(e)),h=()=>{let t=Date.now()-r,n=t/s;n>1&&(n=1),a&&(n=1-n);let p,m=c.map(e=>e*n);p=o?u.generatePathData(0,0,l-9/i*n,d,...m):u.generatePathData(9/i*n,0,l,d,...m),e.setAttributeNS(null,"d",p),t{let o=+a.slice(0,-2);return o=t?-s.width:i,e.replace(a,o+"px")});e.style.transform=a,setTimeout(()=>{e.remove()},350)}setNewMover(){let e=document.createElement("div");if(e.classList.add("media-viewer-mover"),this.content.mover){this.content.mover.parentElement.append(e)}else this.wholeDiv.append(e);return e.addEventListener("click",this.onClickBinded),this.content.mover=e}isElementVisible(e,t){let i=e.getBoundingClientRect(),s=t.getBoundingClientRect();return s.bottom>i.top&&s.top{if(this.peerID!=a)return void this.log.warn("peer changed");this.log("loaded more media by maxID:",s,t,e,this.reverse),t.history.length<50&&(e?this.loadedAllMediaDown=!0:this.loadedAllMediaUp=!0),(e?t.history.forEach:t.history.forEachReverse).call(t.history,t=>{let i=r.default.getMessage(t).media;if(!i||!(i.photo||i.document||i.webpage&&i.webpage.document))return;if("document"==i._&&"video"!=i.type)return;let s={element:null,mid:t};e?this.reverse?this.prevTargets.unshift(s):this.nextTargets.push(s):this.reverse?this.nextTargets.push(s):this.prevTargets.unshift(s)}),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none"},()=>{}).then(()=>{e?this.loadMediaPromiseDown=null:this.loadMediaPromiseUp=null});return e?this.loadMediaPromiseDown=o:this.loadMediaPromiseUp=o,o}updateMediaSource(e,t,i){let s=e.querySelector(i);m.renderImageFromUrl(s,t)}openMedia(e,t,i=!1,s,a=[],r=[],d=!0){if(this.setMoverPromise)return this.setMoverPromise;this.log("openMedia doc:",e);const c=e.media.photo||e.media.document||e.media.webpage.document||e.media.webpage.photo,g="video/mp4"==c.mime_type,f=!this.peerID;f&&(this.peerID=u.$rootScope.selectedPeerID,this.targetContainer=s,this.prevTargets=a,this.nextTargets=r,this.reverse=i,this.needLoadMore=d);let b=0;f||(b=this.reverse?this.currentMessageIDe.mid?1:-1),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none";const v=this.content.container;!t&&(t=v),this.currentMessageID=e.mid,this.lastTarget=t,this.needLoadMore&&(this.nextTargets.length<20&&this.loadMoreMedia(!this.reverse),this.prevTargets.length<20&&this.loadMoreMedia(this.reverse)),v.firstElementChild&&(v.innerHTML="");const y=new Date(1e3*c.date),w=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][y.getMonth()]+" "+y.getDate()+" at "+y.getHours()+":"+("0"+y.getMinutes()).slice(-2);this.author.date.innerText=w;const x=o.default.getPeerTitle(e.fromID);this.author.nameEl.innerHTML=x,e.message?this.content.caption.innerHTML=l.RichTextProcessor.wrapRichText(e.message,{entities:e.totalEntities}):this.content.caption.innerHTML="";let _=this.author.avatarEl;this.author.avatarEl=this.author.avatarEl.cloneNode(),this.author.avatarEl.setAttribute("peer",""+e.fromID),_.parentElement.replaceChild(this.author.avatarEl,_),0!==b?(this.moveTheMover(this.content.mover,1===b),this.setNewMover()):(window.addEventListener("keydown",this.onKeyDownBinded),this.wholeDiv.classList.add("active"));const k=this.content.mover,M=this.pageEl.scrollWidth-16,D=n.default.windowH-100,S=n.default.setAttachmentSize(g?c:c.id,v,M,D);let E;return E=g?this.setMoverToTarget(t,!1,b).then(()=>{let i=k.querySelector("video")||document.createElement("video"),s=i.firstElementChild||document.createElement("source");"gif"==c.type&&(i.autoplay=!0,i.loop=!0);let a=()=>{if("gif"!=c.type){i.dataset.ckin="default",i.dataset.overlay="1";new p.default(i,!0)}else i.play()};if(s&&s.src)a();else{let o=()=>{let o=h.default.downloadDoc(c);return this.preloader.attach(k,!0,o),o.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed video");let o=c.url;if(t instanceof SVGSVGElement)this.updateMediaSource(k,o,"source"),this.updateMediaSource(t,o,"source");else{let e=k.firstElementChild&&k.firstElementChild.classList.contains("media-viewer-aspecter")?k.firstElementChild:k,t=e.firstElementChild;t instanceof HTMLImageElement&&t.remove(),m.renderImageFromUrl(s,o),s.type=c.mime_type,s.parentElement||i.append(s),i.parentElement||e.prepend(i)}a()}),o};this.lazyLoadQueue.unshift({div:null,load:o,wasSeen:!0})}}):this.setMoverToTarget(t,!1,b).then(()=>{this.lazyLoadQueue.unshift({div:null,load:()=>{let i=n.default.preloadPhoto(c.id,S);return this.preloader.attach(k,!0,i),i.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed photo");let i=c.url;if(t instanceof SVGSVGElement)this.updateMediaSource(t,i,"img"),this.updateMediaSource(k,i,"img");else{let e=k.firstElementChild&&k.firstElementChild.classList.contains("media-viewer-aspecter")?k.firstElementChild:k,t=e.firstElementChild;t&&"IMG"==t.tagName||(t=new Image),m.renderImageFromUrl(t,i).then(()=>{e.append(t)})}this.preloader.detach()}).catch(e=>{this.log.error(e)}),i},wasSeen:!0})}),this.setMoverPromise=E.then(()=>{this.setMoverPromise=null})}}t.AppMediaViewer=b,t.default=new b},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(36)),o=s(i(5)),n=i(2),r=i(47);t.default=new class{constructor(){this.container=document.getElementById("forward-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.sendBtn=this.container.querySelector(".btn-circle"),this.msgIDs=[],this.closeBtn.addEventListener("click",this.close.bind(this)),this.sendBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(this.msgIDs.length&&e.length){this.sendBtn.classList.remove("tgico-send"),this.sendBtn.disabled=!0,n.putPreloader(this.sendBtn),this.selector.freezed=!0;let t=()=>{let i=e.splice(0,3).map(e=>o.default.forwardMessages(e,this.msgIDs));Promise.all(i).then(()=>{if(e.length)return t();this.closeBtn.click()})};t()}})}close(){this.cleanup(),this.container.classList.remove("active")}cleanup(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e){this.cleanup(),this.msgIDs=e,this.container.classList.add("active"),this.sendBtn.innerHTML="",this.sendBtn.classList.add("tgico-send"),this.sendBtn.disabled=!1,this.selector=new r.AppSelectPeers(this.container,e=>{e?this.sendBtn.classList.add("is-visible"):this.sendBtn.classList.remove("is-visible")},"dialogs",()=>{console.log("forward rendered:",this.container.querySelector(".selector ul").childElementCount),a.default.toggleSidebar(!0)})}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(12)),n=a(i(1)),r=a(i(20)),l=a(i(11));const d=new class{constructor(){this.documents={},this.stickerSets={},o.default.get("stickerSets").then(e=>{if(e){for(let t in e){let i=e[t];this.saveStickers(i.documents)}this.stickerSets=e}this.getStickerSet({id:"emoji",access_hash:""},{overwrite:!0})})}saveSticker(e){return this.documents[e.id]?this.documents[e.id]:(e=l.default.saveDoc(e),this.documents[e.id]=e,e)}saveStickers(e){e.forEach((t,i)=>{e[i]=this.saveSticker(t)})}getSticker(e){return this.documents[e]}getStickerSet(e,t={}){return s(this,void 0,void 0,(function*(){if(this.stickerSets[e.id]&&!t.overwrite)return this.stickerSets[e.id];let i=n.default.invokeApi("messages.getStickerSet",{stickerset:"emoji"==e.id?{_:"inputStickerSetAnimatedEmoji"}:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}),s=yield i;return this.saveStickerSet(s,e.id),s}))}getRecentStickers(){return s(this,void 0,void 0,(function*(){let e=yield n.default.invokeApi("messages.getRecentStickers",{flags:0,hash:0});return this.saveStickers(e.stickers),e}))}getAnimatedEmojiSticker(e){let t=this.stickerSets.emoji;return e=e.replace(/\ufe0f/g,"").replace(/🏻|🏼|🏽|🏾|🏿/g,""),t.documents.find(t=>t.stickerEmojiRaw==e)}saveStickerSet(e,t){this.stickerSets[t]={set:e.set,packs:e.packs,documents:e.documents},this.saveStickers(e.documents),this.saveSetsTimeout||(this.saveSetsTimeout=setTimeout(()=>{o.default.set({stickerSets:this.stickerSets}),this.saveSetsTimeout=0},0))}getStickerSetThumb(e){var t;let i=e.thumb,s=e.thumb_dc_id,a=null===(t=e.pFlags)||void 0===t?void 0:t.animated;return r.default.downloadFile(s,{_:"inputStickerSetThumb",stickerset:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash},volume_id:i.location.volume_id,local_id:i.location.local_id},i.size,{stickerType:a?2:1,mimeType:a?"application/x-tgsticker":"image/webp"})}cleanup(){return s(this,void 0,void 0,(function*(){yield o.default.remove("stickerSets")}))}};window.appStickersManager=d,t.default=d},,,function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=new class{constructor(){this.webpMachine=null,this.queue=[],this.testPromise=null,this.webpSupport=!1,this.testWebpSupport()}loadWebpHero(){if(this.loaded)return this.loaded;this.loaded=new Promise((e,t)=>s(this,void 0,void 0,(function*(){if(yield this.testWebpSupport())e();else{window.webpLoaded=()=>{console.log("webpHero loaded"),this.webpMachine=new window.WebpMachine,e()};let t=document.createElement("script");t.src="npm.webp-hero.chunk.js",t.async=!0,t.onload=window.webpLoaded,document.body.appendChild(t)}})))}convert(e){return this.webpMachine.decode(e)}processQueue(){return s(this,void 0,void 0,(function*(){if(this.busyPromise)return;this.busyPromise=Promise.resolve();let{bytes:e,callback:t}=this.queue.pop();this.loaded||this.loadWebpHero(),yield this.loaded,this.busyPromise=this.convert(e);let i=yield this.busyPromise;console.log("converted webp",i),t(i),this.busyPromise=null,this.queue.length&&this.processQueue()}))}testWebpSupport(){return this.testPromise?this.testPromise:this.testPromise=new Promise((e,t)=>{let i=new Image;i.src="data:image/webp;base64,UklGRi4AAABXRUJQVlA4TCEAAAAvAUAAEB8wAiMwAgSSNtse/cXjxyCCmrYNWPwmHRH9jwMA",i.onload=i.onerror=()=>{e(this.webpSupport=2===i.height)}})}isSupported(){return this.webpSupport}convertToPng(e){return console.warn("convertToPng!"),new Promise((t,i)=>{this.queue.push({bytes:e,callback:t}),this.processQueue()})}};window.appWebpManager=a,t.default=a},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=s(i(8)),n=s(i(11)),r=i(3);t.default=new class{constructor(){this.webpages={},this.pendingWebPages={},a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateWebPage":this.saveWebPage(t.webpage)}})}saveWebPage(e,t,i){e.photo&&"photo"===e.photo._?e.photo=o.default.savePhoto(e.photo,i):delete e.photo,e.document&&"document"===e.document._?e.document=n.default.saveDoc(e.document,i):("document"==e.type&&delete e.type,delete e.document);var s=e.site_name,l=e.title||e.author||s||"";s&&l==s&&delete e.site_name,l.length>100&&(l=l.substr(0,80)+"..."),e.rTitle=r.RichTextProcessor.wrapRichText(l,{noLinks:!0,noLinebreaks:!0});var d="";if("GitHub"==s){var c=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);c&&(d=c[0]+"/issues/{1}")}var u=e.description||"";if(u.length>180&&(u=u.substr(0,150).replace(/(\n|\s)+$/,"")+"..."),e.rDescription=r.RichTextProcessor.wrapRichText(u,{contextSite:s||"external",contextHashtag:d}),"photo"!=e.type&&"video"!=e.type&&"gif"!=e.type&&"document"!=e.type&&!e.description&&e.photo&&(e.type="photo"),t&&(void 0===this.pendingWebPages[e.id]&&(this.pendingWebPages[e.id]={}),this.pendingWebPages[e.id][t]=!0,this.webpages[e.id]=e),void 0===this.webpages[e.id]?this.webpages[e.id]=e:a.safeReplaceObject(this.webpages[e.id],e),!t&&void 0!==this.pendingWebPages[e.id]){var h=[];for(let t in this.pendingWebPages[e.id])h.push(t);a.$rootScope.$broadcast("webpage_updated",{id:e.id,msgs:h})}}getWebPage(e){return this.webpages[e]}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(3),o=s(i(5)),n=s(i(7)),r=s(i(1)),l=s(i(19)),d=i(0);const c=new class{constructor(){this.polls={},this.results={},d.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)})}handleUpdate(e){switch(e._){case"updateMessagePoll":{console.log("updateMessagePoll:",e);let t=this.polls[e.poll_id]||e.poll;if(!t)break;t=this.savePoll(t,e.results),d.$rootScope.$broadcast("poll_update",{poll:t,results:e.results});break}}}savePoll(e,t){let i=e.id;return this.polls[i]?(e=this.polls[i],this.saveResults(e,t),e):(this.polls[i]=e,e.rQuestion=a.RichTextProcessor.wrapEmojiText(e.question),e.rReply=a.RichTextProcessor.wrapEmojiText("📊")+" "+(e.rQuestion||"poll"),this.saveResults(e,t),e)}saveResults(e,t){var i;this.results[e.id]=t,e.chosenIndex=null!==(i=t&&t.results&&t.results.findIndex(e=>{var t;return null===(t=e.pFlags)||void 0===t?void 0:t.chosen}))&&void 0!==i?i:-1}getPoll(e){return{poll:this.polls[e],results:this.results[e]}}sendVote(e,t){let i=o.default.getMessage(e),s=i.media.poll,a=t.map(e=>s.answers[e].option),d=n.default.getInputPeerByID(i.peerID),c=i.id;return r.default.invokeApi("messages.sendVote",{peer:d,msg_id:c,options:a}).then(e=>{console.log("appPollsManager sendVote updates:",e),l.default.processUpdateMessage(e)})}};window.appPollsManager=c,t.default=c},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(29)),o=i(2);class n{constructor(e){this.element=document.createElement("div"),this.container=document.createElement("div"),this.header=document.createElement("div"),this.title=document.createElement("div"),this.element.classList.add("popup"),this.element.className="popup"+(e?" "+e:""),this.container.classList.add("popup-container","z-depth-1"),this.header.classList.add("popup-header"),this.title.classList.add("popup-title"),this.header.append(this.title),this.container.append(this.header),this.element.append(this.container)}show(){document.body.append(this.element),this.element.offsetWidth,this.element.classList.add("active")}destroy(){this.element.classList.remove("active"),setTimeout(()=>{this.element.remove()},1e3)}}t.PopupElement=n;t.PopupPeer=class extends n{constructor(e,t={}){super("popup-peer"+(e?" "+e:"")),this.className=e;let i=new a.default;i.setAttribute("dialog","1"),i.setAttribute("peer",""+t.peerID),i.classList.add("peer-avatar"),this.title.innerText=t.title||"",this.header.prepend(i);let s=document.createElement("p");s.classList.add("popup-description"),s.innerHTML=t.description;let n=document.createElement("div");n.classList.add("popup-buttons");let r=t.buttons.map(e=>{let t=document.createElement("button");return o.ripple(t),t.className="btn"+(e.isDanger?" danger":""),t.innerHTML=e.text,e.callback?t.addEventListener("click",()=>{e.callback(),this.destroy()}):e.isCancel&&t.addEventListener("click",()=>{this.destroy()}),t});n.append(...r),this.container.append(s,n)}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class s{constructor(e){this.media=e,this.duration=0,this.container=document.createElement("div"),this.container.classList.add("media-progress"),this.filled=document.createElement("div"),this.filled.classList.add("media-progress__filled");let t=this.seek=document.createElement("input");t.classList.add("media-progress__seek"),t.value="0",t.setAttribute("min","0"),t.setAttribute("max","0"),t.type="range",t.step="0.1",this.setSeekMax(),this.setListeners(),this.container.append(this.filled,t)}setSeekMax(){let e=this.seek;this.duration=this.media.duration,this.duration>0?e.setAttribute("max",""+1e3*this.duration):this.media.addEventListener("loadeddata",()=>{this.duration=this.media.duration,e.setAttribute("max",""+1e3*this.duration)})}setProgress(){let e=this.media.currentTime,t=e/this.duration;this.filled.style.transform="scaleX("+t+")",this.seek.value=""+1e3*e}setListeners(){let e=!1,t=0;this.media.addEventListener("ended",()=>{this.setProgress()}),this.media.addEventListener("play",()=>{let e=()=>{this.setProgress(),!this.media.paused&&window.requestAnimationFrame(e)};window.requestAnimationFrame(e)}),this.container.addEventListener("mousemove",t=>{e&&this.scrub(t)}),this.container.addEventListener("mousedown",i=>{this.scrub(i),t=setTimeout(()=>{!this.media.paused&&this.media.pause(),t=0},150),e=!0}),this.container.addEventListener("mouseup",()=>{t&&clearTimeout(t),this.media.paused&&this.media.play(),e=!1})}scrub(e){let t=e.offsetX/this.container.offsetWidth*this.duration;this.media.currentTime=t;let i=t/this.duration;i>1&&(i=1),i<0&&(i=0),this.filled.style.transform="scaleX("+i+")"}}t.MediaProgressLine=s;t.default=class{constructor(e,t=!1){var i;if(this.video=e,this.wrapper=document.createElement("div"),this.wrapper.classList.add("ckin__player"),e.parentNode.insertBefore(this.wrapper,e),this.wrapper.appendChild(e),this.skin=null!==(i=e.dataset.ckin)&&void 0!==i?i:"default",this.stylePlayer(),"default"==this.skin){let t=this.wrapper.querySelector(".default__controls.ckin__controls");this.progress=new s(e),t.prepend(this.progress.container)}t&&this.wrapper.querySelector(".toggle").click()}stylePlayer(){let e=this.wrapper,t=this.video,i=this.skin;e.classList.add(i);let s=this.buildControls();e.insertAdjacentHTML("beforeend",s);let a=0,o=0,n=0;if("default"===i){var r=e.querySelectorAll(".toggle"),l=e.querySelector(".fullscreen"),d=e.querySelector("#time-elapsed");(p=e.querySelector("#time-duration")).innerHTML=String(0|t.duration).toHHMMSS(),Array.from(r).forEach(e=>e.addEventListener("click",()=>{this.togglePlay()})),t.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{this.updateButton(r)}),t.addEventListener("pause",()=>{this.updateButton(r),clearInterval(a)}),t.addEventListener("dblclick",()=>this.toggleFullScreen(l)),l.addEventListener("click",e=>this.toggleFullScreen(l));let i=()=>this.onFullScreen();"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange".split(" ").forEach(t=>{e.addEventListener(t,i,!1)})}if("circle"===i){let i=document.createElement("div");i.classList.add("circle-time-left"),t.parentNode.insertBefore(i,t),i.innerHTML='
';var c=e.querySelector(".progress-ring__circle"),u=c.r.baseVal.value,h=2*Math.PI*u,p=e.querySelector(".circle-time"),m=e.querySelector(".iconVolume");c.style.strokeDasharray=h+" "+h,c.style.strokeDashoffset=""+h,c.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{m.style.display="none",a=setInterval(()=>{t.currentTime!=n&&(o=t.currentTime,n=t.currentTime);let e=h-o/t.duration*h;c.style.strokeDashoffset=""+e,t.paused&&clearInterval(a)},20)}),t.addEventListener("pause",()=>{m.style.display=""})}t.duration>0?p.innerHTML=String(Math.round(t.duration)).toHHMMSS():t.addEventListener("loadeddata",()=>{p.innerHTML=String(Math.round(t.duration)).toHHMMSS()}),t.addEventListener("timeupdate",()=>{"default"==i&&(d.innerHTML=String(0|t.currentTime).toHHMMSS()),a=this.handleProgress(p,h,c,a)})}togglePlay(e){return e?(this.video.pause(),void this.wrapper.classList.remove("is-playing")):!1===e?(this.video.play(),void this.wrapper.classList.add("is-playing")):(this.video[this.video.paused?"play":"pause"](),void(this.video.paused?this.wrapper.classList.remove("is-playing"):this.wrapper.classList.add("is-playing")))}handleProgress(e,t,i,s){let a=this.video,o=this.skin;clearInterval(s);let n=0,r=0;if("circle"===o){s=setInterval(()=>{a.currentTime!=r&&(n=a.currentTime,r=a.currentTime);let e=t-n/a.duration*t;i.style.strokeDashoffset=""+e,a.paused&&clearInterval(s)},20);let o=String(a.duration-a.currentTime|0).toHHMMSS();return"0"!=o&&(e.innerHTML=o),s}}buildControls(){let e=this.skin,t=[];return"default"===e?(t.push(''),t.push('
'),t.push('
'),t.push('
','
','
',''," / ",'',"
","
",'
'),t.push("
")):"circle"===e&&t.push('','',""),t.join("")}updateButton(e){let t=this.video.paused?"tgico-play":"tgico-pause";Array.from(e).forEach(e=>{e.classList.remove("tgico-play","tgico-pause"),e.classList.add(t)})}toggleFullScreen(e){let t=this.wrapper;document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?(t.classList.remove("ckin__fullscreen"),document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen(),e.classList.remove("tgico-smallscreen"),e.classList.add("tgico-fullscreen"),e.setAttribute("title","Full Screen")):(t.classList.add("ckin__fullscreen"),t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen(),e.classList.remove("tgico-fullscreen"),e.classList.add("tgico-smallscreen"),e.setAttribute("title","Exit Full Screen"))}onFullScreen(){null!==document.webkitFullscreenElement||this.wrapper.classList.remove("ckin__fullscreen")}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(9)),n=a(i(5)),r=i(0),l=a(i(25)),d=a(i(6)),c=a(i(4)),u=i(31),h=a(i(8));t.AppSelectPeers=class{constructor(e,t,i="dialogs",s){this.appendTo=e,this.onChange=t,this.peerType=i,this.container=document.createElement("div"),this.list=document.createElement("ul"),this.chatsContainer=document.createElement("div"),this.selectedContainer=document.createElement("div"),this.input=document.createElement("input"),this.selected={},this.freezed=!1,this.myID=r.$rootScope.myID,this.offsetIndex=0,this.query="",this.container.classList.add("selector");let a=document.createElement("div");a.classList.add("selector-search-container"),this.selectedContainer.classList.add("selector-search"),this.input.placeholder="contacts"==i?"Add People...":"Select chat",this.input.type="text",this.selectedContainer.append(this.input),a.append(this.selectedContainer),this.selectedScrollable=new o.default(a);let n=document.createElement("hr");this.chatsContainer.classList.add("chats-container"),this.chatsContainer.append(this.list),this.scrollable=new o.default(this.chatsContainer),this.scrollable.setVirtualContainer(this.list),this.list.addEventListener("click",e=>{let t=e.target;if(r.cancelEvent(e),this.freezed)return;if("LI"!=t.tagName&&(t=r.findUpTag(t,"LI")),!t)return;let i=+t.getAttribute("data-peerID");t.classList.toggle("active"),i in this.selected?this.remove(i):this.add(i);let s=t.querySelector("input");s.checked=!s.checked}),this.selectedContainer.addEventListener("click",e=>{if(this.freezed)return;let t=e.target;if(t=r.findUpClassName(t,"selector-user"),!t)return;let i=t.dataset.peerID;this.list.querySelector('[data-peerid="'+i+'"]').click()}),this.input.addEventListener("input",()=>{let e=this.input.value;this.query!=e&&("contacts"==this.peerType?this.cachedContacts=null:this.offsetIndex=0,this.promise=null,this.list.innerHTML="",this.query=e,console.log("selectPeers input:",this.query),this.getMoreResults())}),this.scrollable.onScrolledBottom=()=>{this.getMoreResults()},this.container.append(a,n,this.chatsContainer),e.append(this.container);let l=this.getMoreResults();s&&l.then(()=>{s()})}getMoreDialogs(){return s(this,void 0,void 0,(function*(){if(this.promise)return this.promise;const e=h.default.windowH/72*1.25|0;this.promise=n.default.getConversations(this.query,this.offsetIndex,e,0);let t=(yield this.promise).dialogs;if(!t.length)return;const i=t[t.length-1].index||0;t=t.filter(e=>e.peerID!=this.myID),this.offsetIndex||t.unshift({peerID:this.myID,pFlags:{}}),this.offsetIndex=i,this.renderResults(t.map(e=>e.peerID)),this.promise=null}))}getMoreContacts(){return s(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(this.cachedContacts||(this.promise=c.default.getContacts(this.query),this.cachedContacts=(yield this.promise).slice(),this.cachedContacts.findAndSplice(e=>e==this.myID),this.promise=null),this.cachedContacts.length){const e=h.default.windowH/72*1.25|0,t=this.cachedContacts.splice(0,e);this.renderResults(t)}}))}getMoreResults(){return"dialogs"==this.peerType?this.getMoreDialogs():this.getMoreContacts()}renderResults(e){console.log("will renderResults:",e),e.forEach(e=>{const{dom:t}=l.default.addDialog(e,this.scrollable,!1,!1);t.containerEl.insertAdjacentHTML("afterbegin",'
');let i="";e<0?i=d.default.getChatMembersString(-e):e==this.myID?i="chat with yourself":(i=c.default.getUserStatusString(e),"online"==i&&(i=`${i}`)),t.lastMessageSpan.innerHTML=i})}add(e){const t=document.createElement("div");t.classList.add("selector-user","scale-in"),t.dataset.peerID=""+e,this.selected[e]=t;const i=u.appPeersManager.getPeerTitle(e,!1,!0),s=document.createElement("avatar-element");s.classList.add("selector-user-avatar","tgico"),s.setAttribute("dialog","1"),s.setAttribute("peer",""+e),t.innerHTML=i,t.insertAdjacentElement("afterbegin",s),this.selectedContainer.insertBefore(t,this.input),this.selectedScrollable.scrollTop=this.selectedScrollable.scrollHeight,this.onChange&&this.onChange(Object.keys(this.selected).length)}remove(e){const t=this.selected[e];t.classList.remove("scale-in"),t.offsetWidth,t.classList.add("scale-out"),t.addEventListener("animationend",()=>{delete this.selected[e],t.remove(),this.onChange&&this.onChange(Object.keys(this.selected).length)},{once:!0})}getSelected(){return Object.keys(this.selected).map(e=>+e)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=s(i(25)),n=i(0),r=s(i(15)),l=s(i(1)),d=a(i(49)),c=i(2),u=s(i(4)),h=s(i(9)),p=s(i(8)),m=i(31),g=s(i(50)),f=s(i(6)),b=i(47),v=s(i(29)),y=s(i(16));v.default;const w=1,x=2,_=3,k=4,M=5,D=6,S=7;class E{constructor(){this.container=document.querySelector(".addmembers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.nextBtn=this.contentDiv.querySelector(".btn-corner"),this.nextBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(e.length){if(this.takeOut)return void this.takeOut(e);this.nextBtn.classList.remove("tgico-next"),this.nextBtn.disabled=!0,c.putPreloader(this.nextBtn),this.selector.freezed=!0,f.default.inviteToChannel(this.peerID,e).then(()=>{this.backBtn.click()})}})}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e,t,i,s){this.peerID=Math.abs(e),this.peerType=t,this.takeOut=s,this.onCloseAfterTimeout(),this.selector=new b.AppSelectPeers(this.contentDiv,i?null:e=>{e?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")},"contacts"),this.nextBtn.innerHTML="",this.nextBtn.disabled=!1,this.nextBtn.classList.add("tgico-next"),i?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible"),T.selectTab(k)}}class I{constructor(){this.container=document.querySelector(".new-channel-container"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.channelNameInput=this.container.querySelector(".new-channel-name"),this.channelDescriptionInput=this.container.querySelector(".new-channel-description"),this.nextBtn=this.container.querySelector(".btn-corner"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.channelNameInput.addEventListener("input",()=>{this.channelNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.channelNameInput.value,t=this.channelDescriptionInput.value;this.nextBtn.disabled=!0,f.default.createChannel(e,t).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),T.removeTabFromHistory(_),T.addMembersTab.init(e,"channel",!0)})})}onCloseAfterTimeout(){this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.channelNameInput.value="",this.channelDescriptionInput.value="",this.nextBtn.disabled=!1}}class P{constructor(){this.container=document.querySelector(".new-group-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.groupNameInput=this.container.querySelector(".new-group-name"),this.nextBtn=this.container.querySelector(".btn-corner"),this.searchGroup=new d.SearchGroup("","contacts",!0,"new-group-members disable-hover",!1),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.groupNameInput.addEventListener("input",()=>{this.groupNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.groupNameInput.value;this.nextBtn.disabled=!0,f.default.createChat(e,this.userIDs).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),T.selectTab(0)})});let e=document.createElement("div");e.classList.add("chats-container"),e.append(this.searchGroup.container);new h.default(e);this.contentDiv.append(e)}onClose(){}onCloseAfterTimeout(){this.searchGroup.clear(),this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.groupNameInput.value="",this.nextBtn.disabled=!1}init(e){this.userIDs=e,T.selectTab(M),this.userIDs.forEach(e=>{let{dom:t}=o.default.addDialog(e,this.searchGroup.list,!1,!1),i="";i=u.default.getUserStatusString(e),"online"==i&&(i=`${i}`),i&&(t.lastMessageSpan.innerHTML=i)}),this.searchGroup.nameEl.innerText=this.userIDs.length+" members",this.searchGroup.setActive()}}class X{constructor(){this.container=document.getElementById("contacts-container"),this.list=this.container.querySelector("#contacts"),this.input=this.container.querySelector("#contacts-search"),o.default.setListClickListener(this.list),this.scrollable=new h.default(this.list.parentElement);let e="";this.input.addEventListener("input",()=>{let t=this.input.value;e!=t&&(this.list.innerHTML="",this.openContacts(e=t))}),u.default.getContacts()}onClose(){let e=p.default.windowH/72*1.25|0;Array.from(this.list.children).slice(e).forEach(e=>e.remove())}onCloseAfterTimeout(){this.list.innerHTML="",this.input.value=""}openContacts(e){if(-1===T.historyTabIDs.indexOf(x)&&T.selectTab(x),this.promise)return this.promise;this.scrollable.onScrolledBottom=null,this.promise=u.default.getContacts(e).then(e=>{if(this.promise=null,T.historyTabIDs[T.historyTabIDs.length-1]!=x)return void console.warn("user closed contacts before it's loaded");(e=e.slice()).findAndSplice(e=>e==n.$rootScope.myID);let t=e.map(e=>{let t=u.default.getUser(e);return{user:t,status:u.default.getUserStatusForSort(t.status)}}).sort((e,t)=>t.status-e.status),i=()=>{let e=p.default.windowH/72*1.25|0;t.splice(0,e).forEach(({user:e})=>{let{dialog:t,dom:i}=o.default.addDialog(e.id,this.list,!1),s=u.default.getUserStatusString(e.id);i.lastMessageSpan.innerHTML="online"==s?`${s}`:s}),t.length||(i=void 0)};i(),this.scrollable.onScrolledBottom=()=>{i?i():this.scrollable.onScrolledBottom=null}})}}class L{constructor(){this.container=document.querySelector(".settings-container"),this.avatarElem=this.container.querySelector(".profile-avatar"),this.nameDiv=this.container.querySelector(".profile-name"),this.phoneDiv=this.container.querySelector(".profile-subtitle"),this.logOutBtn=this.container.querySelector(".menu-logout"),this.buttons={},c.parseMenuButtonsTo(this.buttons,this.container.querySelector(".profile-buttons").children),n.$rootScope.$on("user_auth",e=>{this.fillElements()}),this.logOutBtn.addEventListener("click",e=>{l.default.logOut()}),this.buttons.edit.addEventListener("click",()=>{T.selectTab(S),T.editProfileTab.fillElements()})}fillElements(){let e=u.default.getSelf();this.avatarElem.setAttribute("peer",""+e.id),this.nameDiv.innerHTML=e.rFullName||"",this.phoneDiv.innerHTML=e.rPhone||""}onClose(){}}class C{constructor(){this.container=document.querySelector(".edit-profile-container"),this.scrollWrapper=this.container.querySelector(".scroll-wrapper"),this.nextBtn=this.container.querySelector(".btn-corner"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.uploadAvatar=null,this.firstNameInput=this.container.querySelector(".firstname"),this.lastNameInput=this.container.querySelector(".lastname"),this.bioInput=this.container.querySelector(".bio"),this.userNameInput=this.container.querySelector(".username"),this.avatarElem=document.createElement("avatar-element"),this.profileUrlContainer=this.container.querySelector(".profile-url-container"),this.profileUrlAnchor=this.profileUrlContainer.lastElementChild,this.originalValues={firstName:"",lastName:"",userName:"",bio:""},this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e,this.handleChange(),this.avatarElem.remove()})}),this.avatarElem.classList.add("avatar-placeholder");let e=this.userNameInput.nextElementSibling;this.firstNameInput.addEventListener("input",()=>this.handleChange()),this.lastNameInput.addEventListener("input",()=>this.handleChange()),this.bioInput.addEventListener("input",()=>this.handleChange()),this.userNameInput.addEventListener("input",()=>{let t=this.userNameInput.value;return console.log("userNameInput:",t),t!=this.originalValues.userName&&t.length?(this.isUsernameValid(t)?this.userNameInput.classList.remove("valid","error"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"),this.userNameInput.classList.contains("error")?(this.setProfileUrl(),void this.handleChange()):void l.default.invokeApi("account.checkUsername",{username:t}).then(i=>{this.userNameInput.value==t&&(i?(this.userNameInput.classList.add("valid"),this.userNameInput.classList.remove("error"),e.innerText="Username is available"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is already taken"))},i=>{if(this.userNameInput.value==t)switch(i.type){case"USERNAME_INVALID":this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"}}).then(()=>{this.handleChange(),this.setProfileUrl()})):(this.userNameInput.classList.remove("valid","error"),e.innerText="Username (optional)",this.setProfileUrl(),void this.handleChange())}),this.nextBtn.addEventListener("click",()=>{this.nextBtn.disabled=!0;let e=[];e.push(y.default.updateProfile(this.firstNameInput.value,this.lastNameInput.value,this.bioInput.value).then(()=>{T.selectTab(0)},e=>{console.error("updateProfile error:",e)})),this.uploadAvatar&&e.push(this.uploadAvatar().then(e=>{y.default.uploadProfilePhoto(e)})),this.userNameInput.value!=this.originalValues.userName&&this.userNameInput.classList.contains("valid")&&e.push(y.default.updateUsername(this.userNameInput.value)),Promise.race(e).then(()=>{this.nextBtn.disabled=!1},()=>{this.nextBtn.disabled=!1})});new h.default(this.scrollWrapper,"y")}fillElements(){var e,t,i;let s=u.default.getSelf();this.firstNameInput.value=this.originalValues.firstName=null!==(e=s.first_name)&&void 0!==e?e:"",this.lastNameInput.value=this.originalValues.lastName=null!==(t=s.last_name)&&void 0!==t?t:"",this.userNameInput.value=this.originalValues.userName=null!==(i=s.username)&&void 0!==i?i:"",this.userNameInput.classList.remove("valid","error"),this.userNameInput.nextElementSibling.innerHTML="Username (optional)",y.default.getProfile(s.id).then(e=>{e.rAbout&&(this.bioInput.value=this.originalValues.bio=e.rAbout)}),this.avatarElem.setAttribute("peer",""+n.$rootScope.myID),this.avatarElem.parentElement||this.canvas.parentElement.append(this.avatarElem),this.uploadAvatar=null,this.setProfileUrl()}isUsernameValid(e){return(e.length>=5&&e.length<=32||!e.length)&&/^[a-zA-Z0-9_]*$/.test(e)}isChanged(){return!!this.uploadAvatar||this.firstNameInput.value!=this.originalValues.firstName||this.lastNameInput.value!=this.originalValues.lastName||this.userNameInput.value!=this.originalValues.userName&&!this.userNameInput.classList.contains("error")||this.bioInput.value!=this.originalValues.bio}setProfileUrl(){if(this.userNameInput.classList.contains("error")||!this.userNameInput.value.length)this.profileUrlContainer.style.display="none";else{this.profileUrlContainer.style.display="";let e="https://t.me/"+this.userNameInput.value;this.profileUrlAnchor.innerText=e,this.profileUrlAnchor.href=e}}handleChange(){this.isChanged()?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}onCloseAfterTimeout(){this.nextBtn.classList.remove("is-visible")}}const T=new class{constructor(){this.sidebarEl=document.getElementById("column-left"),this.toolsBtn=this.sidebarEl.querySelector(".sidebar-tools-button"),this.backBtn=this.sidebarEl.querySelector(".sidebar-back-button"),this.searchContainer=this.sidebarEl.querySelector("#search-container"),this.searchInput=document.getElementById("global-search"),this.menuEl=this.toolsBtn.querySelector(".btn-menu"),this.buttons={},this.newBtnMenu=this.sidebarEl.querySelector("#new-menu"),this.newButtons={},this.newChannelTab=new I,this.addMembersTab=new E,this.contactsTab=new X,this.newGroupTab=new P,this.settingsTab=new L,this.editProfileTab=new C,this.tabs={[_]:this.newChannelTab,[x]:this.contactsTab,[k]:this.addMembersTab,[M]:this.newGroupTab,[D]:this.settingsTab,[S]:this.editProfileTab},this.searchGroups={contacts:new d.SearchGroup("Contacts and Chats","contacts"),globalContacts:new d.SearchGroup("Global Search","contacts"),messages:new d.SearchGroup("Global Search","messages"),people:new d.SearchGroup("People","contacts",!1,"search-group-people"),recent:new d.SearchGroup("Recent","contacts",!1,"search-group-recent")},this.globalSearch=new d.default(this.searchContainer,this.searchInput,this.searchGroups),this.historyTabIDs=[];let e=document.createElement("div");e.classList.add("search-group-scrollable"),e.append(this.searchGroups.people.list),this.searchGroups.people.container.append(e);new h.default(e,"x");c.parseMenuButtonsTo(this.buttons,this.menuEl.children),c.parseMenuButtonsTo(this.newButtons,this.newBtnMenu.firstElementChild.children),this.archivedCount=this.buttons.archived.querySelector(".archived-count"),this.buttons.saved.addEventListener("click",e=>{setTimeout(()=>{o.default.getDialogDom(r.default.myID);r.default.setPeer(r.default.myID)},0)}),this.buttons.archived.addEventListener("click",e=>{this.selectTab(w)}),this.buttons.contacts.addEventListener("click",e=>{this.contactsTab.openContacts()}),this.buttons.settings.addEventListener("click",()=>{this.settingsTab.fillElements(),this.selectTab(D)}),this.searchInput.addEventListener("focus",e=>{this.toolsBtn.classList.remove("active"),this.backBtn.classList.add("active"),this.searchContainer.classList.remove("hide"),this.searchContainer.offsetWidth,this.searchContainer.classList.add("active")}),this.backBtn.addEventListener("click",e=>{o.default.chatsArchivedContainer.classList.remove("active"),this.toolsBtn.classList.add("active"),this.backBtn.classList.remove("active"),this.searchContainer.classList.remove("active"),setTimeout(()=>{this.searchContainer.classList.add("hide"),this.globalSearch.reset(),this.searchGroups.people.setActive()},150)}),this.newButtons.channel.addEventListener("click",e=>{this.selectTab(_)}),[this.newButtons.group,this.buttons.newGroup].forEach(e=>{e.addEventListener("click",e=>{this.addMembersTab.init(0,"chat",!1,e=>{this.newGroupTab.init(e)})})}),n.$rootScope.$on("dialogs_archived_unread",e=>{this.archivedCount.innerText=""+e.detail.count}),this._selectTab=c.horizontalMenu(null,this.sidebarEl.querySelector(".sidebar-slider"),null,null,420),this._selectTab(0);let t=()=>{console.log("sidebar-close-button click:",this.historyTabIDs);let e=this.historyTabIDs.pop();this.onCloseTab(e),this._selectTab(this.historyTabIDs[this.historyTabIDs.length-1]||0)};Array.from(this.sidebarEl.querySelectorAll(".sidebar-close-button")).forEach(e=>{e.addEventListener("click",t)}),u.default.getTopPeers().then(e=>{console.log("got top categories:",e);let t=e[0];t&&t.peers&&t.peers.forEach(e=>{let t=m.appPeersManager.getPeerID(e.peer),{dialog:i,dom:s}=o.default.addDialog(t,this.searchGroups.people.list,!1,!0,!0);this.searchGroups.people.setActive()})})}selectTab(e){this.historyTabIDs.push(e),this._selectTab(e)}removeTabFromHistory(e){this.historyTabIDs.findAndSplice(t=>t==e),this.onCloseTab(e)}onCloseTab(e){let t=this.tabs[e];t&&("onClose"in t&&t.onClose(),"onCloseAfterTimeout"in t&&setTimeout(()=>{t.onCloseAfterTimeout()},420))}};window.appSidebarLeft=T,t.default=T},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(25)),o=s(i(9)),n=s(i(23)),r=s(i(4)),l=s(i(7)),d=s(i(5)),c=i(0),u=i(2),h=s(i(6));t.SearchGroup=class{constructor(e,t,i=!0,s,o=!0){this.name=e,this.type=t,this.clearable=i,this.list=document.createElement("ul"),this.container=document.createElement("div"),s&&(this.container.className=s),this.nameEl=document.createElement("div"),this.nameEl.classList.add("search-group__name"),this.nameEl.innerText=e,this.container.classList.add("search-group","search-group-"+t),this.container.append(this.nameEl,this.list),this.container.style.display="none",o&&a.default.setListClickListener(this.list)}clear(){this.container.style.display="none",this.clearable&&(this.list.innerHTML="")}setActive(){this.container.style.display=""}};t.default=class{constructor(e,t,i){this.container=e,this.searchInput=t,this.searchGroups=i,this.minMsgID=0,this.loadedCount=0,this.foundCount=0,this.offsetRate=0,this.searchPromise=null,this.searchTimeout=0,this.query="",this.listsContainer=null,this.peerID=0,this.scrollable=new o.default(this.container),this.listsContainer=this.scrollable.container;for(let e in this.searchGroups)this.listsContainer.append(this.searchGroups[e].container);this.searchInput.addEventListener("input",e=>{let t=this.searchInput.value;t.trim()&&(this.query=t,this.reset(!1),this.searchMore())}),this.scrollable.onScrolledBottom=()=>{this.query.trim()&&(this.searchTimeout||(this.searchTimeout=setTimeout(()=>{this.searchMore(),this.searchTimeout=0},0)))}}reset(e=!0){e&&(this.searchInput.value="",this.query="",this.peerID=0),this.minMsgID=0,this.loadedCount=0,this.foundCount=0,this.offsetRate=0;for(let e in this.searchGroups)this.searchGroups[e].clear();this.searchPromise=null}beginSearch(e){e&&(this.peerID=e),this.searchInput.focus()}searchMore(){if(this.searchPromise)return this.searchPromise;let e=this.query;if(!e.trim())return;if(0!=this.loadedCount&&this.loadedCount>=this.foundCount)return Promise.resolve();let t=n.default.getMessageIDInfo(this.minMsgID)[0];return this.peerID||t||r.default.searchContacts(e,20).then(t=>{if(this.searchInput.value!=e)return;let i=(t,i,s=!1)=>{t.forEach(t=>{let o=l.default.getPeerID(t),n=l.default.getPeer(o),p=d.default.getDialogByPeerID(o)[0];p||(p={peerID:o,pFlags:{},peer:n});let{dialog:m,dom:g}=a.default.addDialog(p,i.list,!1);if(s&&(n.participants_count||n.participants)){let t=new RegExp(`(${c.escapeRegExp(e)})`,"gi");g.titleSpan.innerHTML=g.titleSpan.innerHTML.replace(t,"$1"),g.lastMessageSpan.innerText=h.default.getChatMembersString(-o)}else{let e=l.default.getPeerUsername(o);if(e)e="@"+e;else{let t=r.default.getUser(o);t&&t.phone&&(e="+"+u.formatPhoneNumber(t.phone).formatted)}g.lastMessageSpan.innerHTML=""+e+""}}),t.length?i.setActive():i.clear()};i(t.my_results,this.searchGroups.contacts,!0),i(t.results,this.searchGroups.globalContacts)}),this.searchPromise=d.default.getSearch(this.peerID,e,null,t,20,this.offsetRate).then(t=>{if(this.searchPromise=null,this.searchInput.value!=e)return;let{count:i,history:s,next_rate:o}=t;s[0]==this.minMsgID&&s.shift();let n=this.searchGroups.messages;n.setActive(),s.forEach(t=>{let i=d.default.getMessage(t),s=d.default.getDialogByPeerID(i.peerID)[0];s||(s={peerID:i.peerID,pFlags:{},peer:i.to_id});let{dialog:o,dom:r}=a.default.addDialog(s,n.list,!1);a.default.setLastMessage(o,i,r,e)}),this.minMsgID=s[s.length-1],this.offsetRate=o,this.loadedCount+=s.length,this.foundCount||(this.foundCount=i)}).catch(e=>{console.error("search error",e),this.searchPromise=null})}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(76)),o=s(i(20));class n{constructor(){this.container=document.getElementById("popup-avatar"),this.input=this.container.querySelector("input"),this.cropContainer=this.container.querySelector(".crop"),this.closeBtn=this.container.querySelector(".popup-close"),this.image=new Image,this.cropper={crop:()=>{},removeHandlers:()=>{}},this.container.style.display="",this.cropContainer.append(this.image),this.input.addEventListener("change",e=>{var t=e.target.files[0];if(t){var i=new FileReader;i.onload=e=>{var t=e.target.result;this.image=new Image,this.cropContainer.append(this.image),this.image.src=t,this.image.onload=()=>{this.container.classList.remove("hide"),this.container.offsetWidth,this.container.classList.add("active"),this.cropper=a.default(this.image,this.canvas),this.input.value=""}},i.readAsDataURL(t)}},!1),this.container.querySelector(".btn-crop").addEventListener("click",()=>{this.cropper.crop(),this.closeBtn.click(),this.canvas.toBlob(e=>{this.blob=e,this.darkenCanvas(),this.resolve()},"image/jpeg",1)}),this.closeBtn.addEventListener("click",()=>{setTimeout(()=>{this.cropper.removeHandlers(),this.image&&this.image.remove(),this.container.classList.add("hide")},200)})}resolve(){this.onCrop(()=>o.default.uploadFile(this.blob))}open(e,t){this.canvas=e,this.onCrop=t,this.input.click()}darkenCanvas(){let e=this.canvas.getContext("2d");e.fillStyle="rgba(0, 0, 0, 0.3)",e.fillRect(0,0,this.canvas.width,this.canvas.height)}}t.PopupAvatar=n,t.default=new n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RectPart={None:0,Top:1,Right:2,Bottom:4,Left:8};let s=(e,t)=>e.reduce((e,t)=>e+t,t);function a(e,t,i){return ei?i:e}class o{constructor(e,t,i,a,n=t){this.sizes=e,this.maxWidth=t,this.minWidth=i,this.spacing=a,this.maxHeight=n,this.count=e.length,this.ratios=o.countRatios(e),this.proportions=o.countProportions(this.ratios),this.averageRatio=s(this.ratios,1)/this.count,this.maxSizeRatio=t/this.maxHeight}layout(){return this.count?this.count>=5||this.ratios.find(e=>e>2)?new n(this.ratios,this.averageRatio,this.maxWidth,this.minWidth,this.spacing).layout():2==this.count?this.layoutTwo():3==this.count?this.layoutThree():this.layoutFour():[]}layoutTwo(){return"ww"==this.proportions&&this.averageRatio>1.4*this.maxSizeRatio&&this.ratios[1]-this.ratios[0]<.2?this.layoutTwoTopBottom():"ww"==this.proportions||"qq"==this.proportions?this.layoutTwoLeftRightEqual():this.layoutTwoLeftRight()}layoutThree(){return console.log("layoutThree:",this),"n"==this.proportions[0]?this.layoutThreeLeftAndOther():this.layoutThreeTopAndOther()}layoutFour(){return"w"==this.proportions[0]?this.layoutFourTopAndOther():this.layoutFourLeftAndOther()}layoutTwoTopBottom(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],(this.maxHeight-this.spacing)/2)));return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Bottom|t.RectPart.Right}]}layoutTwoLeftRightEqual(){const e=(this.maxWidth-this.spacing)/2,i=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],1*this.maxHeight)));return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:e+this.spacing,y:0,width:e,height:i},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutTwoLeftRight(){const e=Math.round(1.5*this.minWidth),i=Math.min(Math.round(Math.max(.4*(this.maxWidth-this.spacing),(this.maxWidth-this.spacing)/this.ratios[0]/(1/this.ratios[0]+1/this.ratios[1]))),this.maxWidth-this.spacing-e),s=this.maxWidth-i-this.spacing,a=Math.min(this.maxHeight,Math.round(Math.min(s/this.ratios[0],i/this.ratios[1])));return[{geometry:{x:0,y:0,width:s,height:a},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:s+this.spacing,y:0,width:i,height:a},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutThreeLeftAndOther(){const e=this.maxHeight,i=Math.round(Math.min((this.maxHeight-this.spacing)/2,this.ratios[1]*(this.maxWidth-this.spacing)/(this.ratios[2]+this.ratios[1]))),s=e-i-this.spacing,a=Math.max(this.minWidth,Math.round(Math.min((this.maxWidth-this.spacing)/2,Math.min(i*this.ratios[2],s*this.ratios[1])))),o=Math.min(Math.round(e*this.ratios[0]),this.maxWidth-this.spacing-a);return[{geometry:{x:0,y:0,width:o,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:o+this.spacing,y:0,width:a,height:s},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:o+this.spacing,y:s+this.spacing,width:a,height:i},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutThreeTopAndOther(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),s=(this.maxWidth-this.spacing)/2,a=Math.min(this.maxHeight-i-this.spacing,Math.round(Math.min(s/this.ratios[1],s/this.ratios[2]))),o=e-s-this.spacing;return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:s,height:a},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:s+this.spacing,y:i+this.spacing,width:o,height:a},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutFourTopAndOther(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),s=Math.round((this.maxWidth-2*this.spacing)/(this.ratios[1]+this.ratios[2]+this.ratios[3])),a=Math.max(this.minWidth,Math.round(Math.min(.4*(this.maxWidth-2*this.spacing),s*this.ratios[1]))),o=Math.round(Math.max(Math.max(1*this.minWidth,.33*(this.maxWidth-2*this.spacing)),s*this.ratios[3])),n=e-a-o-2*this.spacing,r=Math.min(this.maxHeight-i-this.spacing,s);return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:a,height:r},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:a+this.spacing,y:i+this.spacing,width:n,height:r},sides:t.RectPart.Bottom},{geometry:{x:a+this.spacing+n+this.spacing,y:i+this.spacing,width:o,height:r},sides:t.RectPart.Right|t.RectPart.Bottom}]}layoutFourLeftAndOther(){const e=this.maxHeight,i=Math.round(Math.min(e*this.ratios[0],.6*(this.maxWidth-this.spacing))),s=Math.round((this.maxHeight-2*this.spacing)/(1/this.ratios[1]+1/this.ratios[2]+1/this.ratios[3])),a=Math.round(s/this.ratios[1]),o=Math.round(s/this.ratios[2]),n=e-a-o-2*this.spacing,r=Math.max(this.minWidth,Math.min(this.maxWidth-i-this.spacing,s));return[{geometry:{x:0,y:0,width:i,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:i+this.spacing,y:0,width:r,height:a},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:i+this.spacing,y:a+this.spacing,width:r,height:o},sides:t.RectPart.Right},{geometry:{x:i+this.spacing,y:a+o+2*this.spacing,width:r,height:n},sides:t.RectPart.Bottom|t.RectPart.Right}]}static countRatios(e){return e.map(e=>e.w/e.h)}static countProportions(e){return e.map(e=>e>1.2?"w":e<.8?"n":"q").join("")}}t.Layouter=o;class n{constructor(e,t,i,s,a,o=4*i/3){this.averageRatio=t,this.maxWidth=i,this.minWidth=s,this.spacing=a,this.maxHeight=o,this.ratios=n.cropRatios(e,t),this.count=e.length}static cropRatios(e,t){return e.map(e=>t>1.1?a(e,1,2.75):a(e,.6667,1))}layout(){let e=new Array(this.count),i=[];const a=(e,t)=>{const i=this.ratios.slice(e,e+t),a=s(i,0);return(this.maxWidth-(t-1)*this.spacing)/a},o=e=>{let t=[],s=0;for(let i of e)t.push(a(s,i)),s+=i;i.push({lineCounts:e,heights:t})};for(let e=1;e!=this.count;++e){const t=this.count-e;e>3||t>3||o([e,t])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t){const i=this.count-e-t;e>3||t>(this.averageRatio<.85?4:3)||i>3||o([e,t,i])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t)for(let i=1;i!=this.count-e-t;++i){const s=this.count-e-t-i;e>3||t>3||i>3||s>3||o([e,t,i,s])}let n=null,r=0;for(const e of i){const{heights:t,lineCounts:i}=e,a=i.length,o=s(t,0)+this.spacing*(a-1),l=Math.min(...t),d=(Math.max(...t),l{for(let e=1;e!=a;++e)if(i[e-1]>i[e])return 1.5;return 1})(),u=Math.abs(o-this.maxHeight)*d*c;(!n||u{let e,t=0,i=!1;const s=l.pageEl.querySelector("button"),d=document.getElementById("password"),c=l.pageEl.querySelector(".toggle-visible");let u=e=>{s.removeAttribute("disabled"),e.type,s.innerText=e.type};return c.addEventListener("click",(function(s){i?(this.classList.remove("tgico-eye2"),d.setAttribute("type","password"),e.setDirection(1),t=49,e.play()):(this.classList.add("tgico-eye2"),d.setAttribute("type","text"),e.setDirection(-1),t=0,e.play()),i=!i})),s.addEventListener("click",(function(t){if(!d.value.length)return void d.classList.add("error");this.setAttribute("disabled","true");let i=d.value;this.textContent="PLEASE WAIT...",o.putPreloader(this),r.default.checkPassword(i).then(t=>{switch(console.log("passwordManager response:",t),t._){case"auth.authorization":r.default.setUserAuth({id:t.user.id}),a.default.mount(),e&&e.destroy();break;default:s.removeAttribute("disabled"),s.innerText=t._}}).catch(u)})),d.addEventListener("keypress",(function(e){if(this.classList.remove("error"),"Enter"==e.key)return s.click()})),Promise.all([n.default.loadLottieWorkers(),fetch("assets/img/TwoFactorSetupMonkeyClose.tgs").then(e=>e.arrayBuffer()).then(e=>r.default.gzipUncompress(e,!0)).then(e=>n.default.loadAnimationWorker({container:l.pageEl.querySelector(".auth-image"),loop:!1,autoplay:!1,animationData:JSON.parse(e),width:166,height:166})).then(i=>{e=i,e.addListener("enterFrame",i=>{(1==e.direction&&i>=t||-1==e.direction&&i<=t)&&(e.setSpeed(1),e.pause())}),t=49,e.play()})])});t.default=l},,function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0}),i(55),i(57),i(62),document.addEventListener("DOMContentLoaded",()=>s(void 0,void 0,void 0,(function*(){let e=(yield Promise.resolve().then(()=>a(i(12)))).default,t=yield e.get("user_auth");console.log("got auth:",t),-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i)&&document.body.classList.add("is-mac","emoji-supported");let s=t.id||0;s?(yield Promise.resolve().then(()=>a(i(22)))).default.mount():(yield Promise.resolve().then(()=>a(i(35)))).default.mount();let o=yield Promise.resolve().then(()=>a(i(0)));o.$rootScope.myID=s;let n=o.findUpClassName;Array.from(document.body.getElementsByClassName("popup-close")).forEach(e=>{let t=n(e,"popup");e.addEventListener("click",()=>{t.classList.remove("active")})});let r=(yield Promise.resolve().then(()=>a(i(2)))).ripple;Array.from(document.getElementsByClassName("rp")).forEach(e=>r(e))})))},function(e,t,i){var s=i(33),a=i(56);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){(t=i(34)(!1)).push([e.i,'/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:flex;align-items:center}.z-depth-0{box-shadow:none !important}.z-depth-1{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half{box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5{box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hide{display:none !important}.no-select{user-select:none}.center-align{text-align:center}a{text-decoration:none}html{line-height:1.5;font-weight:normal}h1,h2,h3,h4,h5,h6{line-height:1.3}em{font-style:italic}strong{font-weight:500}small{font-size:75%}\n',""]),e.exports=t},function(e,t,i){var s=i(33),a=i(58);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){var s=i(34),a=i(40),o=i(59),n=i(60),r=i(61);t=s(!1);var l=a(o),d=a(n),c=a(r);t.push([e.i,'.chats-container{position:relative}.chats-container .input-search{position:relative;width:100%;margin-left:22px;margin-right:4px}.chats-container .input-search input{background-color:rgba(112,117,121,0.08);border:2px solid transparent;height:44px;border-radius:22px;box-sizing:border-box;padding:0px 1.5rem 0 40px;-webkit-transition:all .15s ease-out;transition:all .15s ease-out;width:100%;font-size:16px}.chats-container .input-search input:focus{background-color:rgba(112,117,121,0);border:2px solid #4EA4F6}.chats-container .input-search input:focus+.tgico{color:#4EA4F6;opacity:1}.chats-container .input-search .tgico{position:absolute;left:12px;top:50%;transform:translateY(-50%);text-align:center;font-size:24px;color:#707579;opacity:.6;-webkit-transition:all .15s ease-out;transition:all .15s ease-out}.chats-container .input-search .tgico:before{vertical-align:middle}.chats-container ul{margin:0;display:flex;flex-direction:column;width:100%}.chats-container li{padding-bottom:4px;background-color:#fff}.chats-container li>.rp{height:72px;max-height:72px;border-radius:10px;display:flex;align-items:flex-start;flex-direction:row;position:relative;cursor:pointer;padding:9px 8.5px;margin:0px 8px 0px 7px;overflow:hidden}.chats-container li>.rp:hover{background:rgba(112,117,121,0.08)}.chats-container li.active>.rp,.chats-container li.menu-open>.rp{background:rgba(112,117,121,0.08)}.chats-container .pinned-delimiter{display:flex;padding:8px 0 4px}.chats-container .pinned-delimiter span{margin:0;width:100%;height:1px;background-color:#DADCE0}.chats-container p{margin:0;display:flex;justify-content:space-between;flex-direction:row;align-items:flex-start;height:27px}.chats-container p .user-title+span{font-size:.75rem;padding:1px 0px 0px 0px}.chats-container p .user-last-message+span:not(.tgico-pinnedchat){font-size:.9rem}.chats-container span{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;line-height:27px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chats-container .dialog-avatar{flex:0 0 auto}.chats-container .user-caption{max-width:100%;max-height:100%;overflow:hidden;color:#707579;flex:1 1 auto;padding:1px 3.5px 1px 9px}.chats-container .user-caption p:last-child{margin-top:-3px}.chats-container .user-title{max-width:82%}.chats-container .user-title img.emoji{vertical-align:top;margin-top:4px;width:18px;height:18px}.chats-container .user-title span.emoji{overflow:visible;margin:0;width:auto;font-size:14px;margin-top:-1.5px}.chats-container .user-title.is-verified:after{content:" ";background:url(/assets/img/icon-verified.svg);display:inline-block;width:20px;height:20px;vertical-align:text-bottom;margin-left:2px}.chats-container .user-last-message{max-width:86%}.chats-container .user-last-message img.emoji{width:20px;height:20px;margin-top:-3px}.chats-container .user-last-message span.emoji{font-size:1.2rem;margin:0 .125rem;overflow:visible;margin-top:-1.5px}.chats-container .user-title i,.chats-container .user-last-message i{font-style:normal;color:#50a2e9}.chats-container .message-status{margin-right:.1rem;margin-top:-.3rem}.chats-container .message-status[class*=" tgico-"]{color:#4DCD5E;font-size:1.25rem}.chats-container .message-status:before{vertical-align:middle}.chats-container .unread,.chats-container .unread-muted,.chats-container .tgico-pinnedchat{height:24px;text-align:center;line-height:24px;color:#fff;border-radius:12px;margin-top:4px;margin-right:-2px}.chats-container .unread,.chats-container .unread-muted{min-width:24px;padding:0 8px;font-weight:500}.chats-container .tgico-pinnedchat{width:24px;font-size:1.5rem}.chats-container .unread:empty,.chats-container .unread-muted:empty{visibility:hidden}.chats-container .unread{background:#4DCD5E}.chats-container .unread-muted,.chats-container .tgico-pinnedchat{background:#c5c9cc}.chats-container .search-group{width:100%;border-bottom:1px solid #DADCE0;padding:1rem 0 .5rem;margin-bottom:.5rem}.chats-container .search-group__name{color:#707579;padding:0 23px;padding-bottom:1rem;font-weight:500}.chats-container .search-group-contacts{padding:16px 0 7px}.chats-container .search-group-contacts .search-group__name{padding-bottom:17px}.chats-container .search-group:last-child{border-bottom:none}.contacts-container .dialog-avatar,.search-group-contacts .dialog-avatar{width:48px;height:48px}.contacts-container li,.search-group-contacts li{padding-bottom:4px;padding-top:2px}.contacts-container li>.rp,.search-group-contacts li>.rp{padding:9px 11.5px !important;height:66px}.contacts-container .user-caption,.search-group-contacts .user-caption{padding:1px 3.5px 1px 13px}.contacts-container .user-title,.contacts-container b,.contacts-container .user-last-message b,.search-group-contacts .user-title,.search-group-contacts b,.search-group-contacts .user-last-message b{font-weight:normal}.contacts-container p,.search-group-contacts p{height:24px}.contacts-container span.user-last-message,.search-group-contacts span.user-last-message{font-size:14px}#contacts-container .sidebar-header{margin-bottom:1px}#contacts-container .input-search{margin-left:16px}#bubble-contextmenu>div{padding:0 84px 0 16px}#topbar{width:100%;background-color:#fff;box-sizing:border-box;user-select:none;-webkit-user-select:none;display:flex;align-items:center;box-shadow:0 1px 2px 0 rgba(16,35,47,0.07);padding:.5rem 15px;flex:0 0 auto;min-height:61px;max-height:61px;border-bottom:1px solid #DADCE0}#topbar .chat-more-button{margin-left:8px}#topbar .chat-more-button .btn-menu{top:calc(100% + 7px)}#topbar .chat-info{flex-grow:1}#topbar .content{flex:1;padding-left:17px;line-height:1.6}#topbar .person{display:flex;align-items:center;cursor:pointer;margin-left:4px}#topbar .person:hover{background-color:transparent}#topbar .person .bottom{font-size:14px;line-height:18px;color:#707579}#topbar .person .bottom .online{color:#50a2e9}#topbar #im-avatar{width:44px;height:44px;line-height:44px}#chat-input{display:flex;align-items:center;width:100%;max-width:696px;padding-top:.35rem;padding-bottom:21px;justify-content:space-between;flex:0 0 auto;position:relative}#chat-input #input-message{background:none;border:none;width:100%;font-size:16px;padding:10px 9px;max-height:30rem;overflow-y:none;resize:none;border:none;outline:none;cursor:text}#chat-input [contenteditable=true]:empty:before{content:attr(data-placeholder);color:#a2acb4;display:block}#chat-input .btn-circle{flex:0 0 auto;font-size:1.5rem;line-height:1.5rem;color:#9e9e9e;background-color:#fff;align-self:flex-end}#chat-input .btn-circle.tgico-send{color:#50a2e9}#chat-input .os-scrollbar-handle{background:rgba(0,0,0,0.2)}#im-title{cursor:pointer}#im-title span.emoji{vertical-align:inherit}.chat-container{display:flex;width:100%;align-items:center;height:100vh;overflow:hidden;flex-direction:column;position:relative;background-image:url('+l+");background-size:cover;background-position:center center}.chat-container #chat-background-canvas{display:none}.chat-container .input-message{display:flex;align-items:center;flex-direction:column;width:calc(100% - 3.75rem);justify-content:center;background-color:#fff;border-radius:12px;border-bottom-right-radius:0;box-shadow:0 1px 2px 0 rgba(16,35,47,0.07);margin-right:9px;padding:4.5px .5rem;min-height:54px;max-height:30rem;caret-color:#4EA4F6;flex:1;position:relative}.chat-container .input-message:after{position:absolute;bottom:-1px;width:11px;height:20px;background-repeat:no-repeat repeat;content:'';background-size:11px 20px;right:-9px;background-image:url("+d+');transform:scaleX(-1)}.chat-container .input-message #attach-file.menu-open{color:#50a2e9;background-color:transparent}.chat-container .input-message #attach-file .btn-menu{padding:8px 0;right:-8px;bottom:calc(100% + 16px)}.chat-container .input-message #attach-file .btn-menu>div{padding:0 38px 0 16px}.chat-container .input-message>div{display:flex;justify-content:space-between;align-items:center;width:100%}.chat-container .input-message .reply-wrapper{justify-content:flex-start;overflow:hidden;transition:.2s all;height:0px}.chat-container .input-message .reply-wrapper.active{height:39px}.chat-container .input-message .reply-wrapper .reply{width:100%;margin-left:.5rem;min-height:35px}.chat-container .input-message .new-message-wrapper{align-items:flex-end}.chat-container .input-message .new-message-wrapper .btn-icon:before{vertical-align:bottom}.chat-container .input-message .input-message-container{width:1%;max-height:inherit;flex:1 1 auto;position:relative;overflow:hidden}.chat-container .input-message .input-message-container>.scrollable{position:relative}.chat-container .input-message .btn-icon{display:block;transition:.2s color;flex:0 0 auto;font-size:24px;line-height:24px;padding:10px 7px 9px 7.5px;color:#8d969c}.chat-container .input-message .btn-icon.active{color:#50a2e9}.chat-container .input-message .emoji{font-size:24px;height:24px;width:24px}.chat-container .pinned-message,.chat-container .reply{cursor:pointer;display:flex;flex-direction:row;align-items:center;overflow:hidden;box-sizing:border-box;width:187px;margin-right:1rem;max-height:35px;position:relative}.chat-container .pinned-message.is-reply-media .pinned-message-content,.chat-container .pinned-message.is-reply-media .reply-content,.chat-container .reply.is-reply-media .pinned-message-content,.chat-container .reply.is-reply-media .reply-content{padding-left:40px}.chat-container .pinned-message:hover,.chat-container .reply:hover{background-color:rgba(112,117,121,0.08)}.chat-container .pinned-message-border,.chat-container .reply-border{height:32px;border-radius:1px;min-width:2px;background:#50a2e9}.chat-container .pinned-message-content,.chat-container .reply-content{margin-left:8px;flex-grow:1;flex-shrink:1;overflow:hidden;pointer-events:none;position:relative;height:32px;display:flex;flex-direction:column;justify-content:space-between}.chat-container .pinned-message-title,.chat-container .reply-title{color:#50a2e9}.chat-container .pinned-message-title,.chat-container .pinned-message-subtitle,.chat-container .reply-title,.chat-container .reply-subtitle{font-size:14px;line-height:15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-container .pinned-message-subtitle,.chat-container .reply-subtitle{white-space:nowrap;color:#111}.chat-container .pinned-message-media,.chat-container .reply-media{height:32px;width:32px;border-radius:8px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.chat-container .pinned-message i,.chat-container .reply i{font-style:normal;color:#50a2e9}.chat-container .pinned-message img.emoji,.chat-container .reply img.emoji{height:16px;width:16px;vertical-align:top}.chat-container .pinned-message span.emoji,.chat-container .reply span.emoji{font-size:16px;vertical-align:unset}#bubbles{width:100%;height:100%;max-height:100%;flex:1 1 auto;overflow:hidden;position:relative;padding:0 .5rem}#bubbles>.scrollable{height:auto;display:block}#bubbles:not(.scrolled-down){-webkit-mask-image:-webkit-linear-gradient(bottom, transparent, #000 20px);mask-image:linear-gradient(0deg, transparent 0, #000 20px)}#bubbles:not(.scrolled-down) #bubbles-go-down{opacity:1}#bubbles .preloader{width:100%;height:100%}#bubbles .preloader svg{width:50px;height:50px}#bubbles .preloader-container .preloader-circular{background-color:rgba(0,0,0,0.35)}#bubbles-inner{width:100%;display:flex;flex-direction:column;flex-shrink:1;margin:0 auto;box-sizing:border-box;min-height:100%;justify-content:flex-end}#bubbles-inner.is-chat .is-in .bubble__container{margin-left:3rem}#bubbles-inner.is-channel:not(.is-chat) .bubble__container{max-width:100%}#bubbles-inner.is-channel:not(.is-chat):not(.has-rights){padding-bottom:55px}#bubbles-inner:not(.is-channel) .message,#bubbles-inner.is-chat .message{max-width:480px}#bubbles-inner.is-scrolling .is-sticky{opacity:1}#bubbles-go-down{position:absolute;background-color:#fff;border-radius:50%;width:3.25rem;height:3.25rem;color:#9e9e9e;font-size:30px;display:flex;align-items:center;justify-content:center;right:17.5px;bottom:17.5px;cursor:pointer;opacity:0;transition:.2s opacity;user-select:none;-webkit-user-select:none}#bubbles-go-down:before{margin-left:.75px}.popup.popup-delete-message .popup-header{margin-bottom:1rem}.popup .popup-buttons{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.popup .popup-buttons button{background:none;outline:none;border:none;padding:.5rem;text-transform:uppercase;transition:.2s;border-radius:8px;cursor:pointer;color:#50a2e9}.popup .popup-buttons button:hover{background-color:rgba(112,117,121,0.08)}.popup .popup-buttons button+button{margin-top:.5rem}@keyframes bubbleSelected{0%{opacity:0}25%{opacity:1}to{opacity:0}}.bubbles-date-group{position:relative}.bubbles-date-group .sticky_sentinel--top{height:5px;top:0}.bubble{padding-top:5px;max-width:696px;margin:0 auto;position:relative}.bubble.is-selected:after{position:absolute;left:-50%;top:0;height:100%;content:" ";background-color:rgba(0,132,255,0.3);animation:bubbleSelected 2s linear;z-index:1}.bubble.is-selected:not(.is-group-last):after{height:calc(100% + 5px)}.bubble.is-first-unread:before{content:"Unread messages";height:30px;margin-bottom:5px;margin-left:-50%;text-align:center;color:#538BCC;line-height:2.1;font-weight:500;font-size:15px;background-color:rgba(255,255,255,0.95)}.bubble.is-selected:after,.bubble.is-first-unread:before{width:200%;display:block}.bubble.is-date{position:-webkit-sticky;position:sticky;top:5px;z-index:3;pointer-events:none}.bubble.is-date.is-sticky{-webkit-transition:opacity .3s ease;transition:opacity .3s ease;opacity:0}.bubble__container{min-width:56px;max-width:85%;border-radius:12px;box-shadow:0 1px 2px 0 rgba(16,35,47,0.15);position:relative;display:flex;flex-direction:column-reverse;width:max-content;height:fit-content;z-index:2}.bubble__container>.user-avatar{position:absolute;left:-3rem;width:40px;height:40px;line-height:40px;bottom:0;font-size:1rem;cursor:pointer}.bubble.service{padding:5px 0}.bubble.service .bubble__container{margin:0 auto;max-width:100%}.bubble .goto-original{opacity:0;position:absolute;right:-46px;bottom:0;width:38px;height:38px;font-size:1.5rem;align-items:center;display:flex;justify-content:center;color:#fff;border-radius:50%;background:rgba(0,0,0,0.16);cursor:pointer;transition:.2s opacity}.bubble.is-group-last{padding-bottom:5px}.bubble:not(.forwarded):not(.is-group-first) .bubble__container>.name{display:none}.bubble:not(.forwarded):not(.is-group-first):not(.is-message-empty):not(.is-reply) .message{padding-top:6px}.bubble:not(.is-group-last) .bubble__container>.user-avatar{display:none}.bubble:not(.hide-name) .audio{margin:4px 0}.bubble .goto-original{opacity:1}.bubble .reply{width:auto}.bubble .reply .reply-content{height:auto;min-height:32px}.bubble.photo .bubble__container,.bubble.video .bubble__container{width:min-content}.bubble.photo .box.web,.bubble.video .box.web{max-width:100%}.bubble.webpage .time{float:none;width:0}.bubble img.emoji{height:18px;width:18px;margin:0 .05rem;vertical-align:bottom}.bubble span.emoji{height:auto;width:auto;overflow:visible;vertical-align:unset}.bubble.emoji-big{font-size:0}.bubble.emoji-big .bubble__container{background:none !important;box-shadow:none;line-height:1;user-select:none;-webkit-user-select:none}.bubble.emoji-big:not(.sticker) .attachment{padding-top:.5rem;padding-bottom:1.5rem;max-width:fit-content !important;max-height:fit-content !important}.bubble.emoji-big:not(.sticker) .attachment span.emoji{height:auto;width:auto}.bubble.emoji-big.sticker .bubble__container{max-width:140px !important;max-height:140px !important}.bubble.emoji-1x .attachment{font-size:96px}.bubble.emoji-1x .attachment img.emoji{height:64px;width:64px}.bubble.emoji-2x .attachment{font-size:64px}.bubble.emoji-2x .attachment img.emoji{height:48px;width:48px}.bubble.emoji-3x .attachment{font-size:52px}.bubble.emoji-3x .attachment img.emoji{height:32px;width:32px}.bubble.sticker .bubble__container,.bubble.round .bubble__container,.bubble.emoji-big .bubble__container{cursor:pointer;background:none !important;box-shadow:none}.bubble.sticker img,.bubble.round img,.bubble.emoji-big img{object-fit:contain}.bubble.sticker.is-message-empty .message,.bubble.round.is-message-empty .message,.bubble.emoji-big.is-message-empty .message{background-color:rgba(0,0,0,0.23)}.bubble.sticker .attachment{border-radius:0}.bubble.sticker .bubble__container{max-width:200px !important;max-height:200px !important}.bubble.round .attachment{max-width:200px !important;max-height:200px !important}.bubble.round .attachment img{border-radius:50%}.bubble:not(.is-message-empty) .attachment{border-bottom-left-radius:0;border-bottom-right-radius:0}.bubble:not(.emoji-big) .attachment{font-size:0}.bubble .attachment{max-width:100%;border-radius:inherit;overflow:hidden;display:flex;justify-content:center;position:relative}.bubble .attachment img,.bubble .attachment video{max-width:100%;cursor:pointer;opacity:1;transition:opacity .3s ease}.bubble .attachment .download{position:absolute;left:0;top:0;height:100%;width:100%;cursor:pointer;display:flex;justify-content:center;align-items:center}.bubble .attachment .download span{background-color:rgba(0,0,0,0.35);font-size:23px;color:#fff;text-align:center}.bubble .attachment .download ~ .video-play,.bubble .attachment .preloader-container ~ .video-play{display:none}.bubble:not(.sticker) .attachment{max-width:480px;max-height:480px;width:max-content}.bubble img:not(.emoji),.bubble video{object-fit:cover;width:100%;height:100%}.bubble.is-album .attachment{max-width:451px;max-height:none}.bubble.is-album .attachment .album-item{background-color:#000;background-size:cover;max-width:100%;cursor:pointer;position:absolute}.bubble.is-album .attachment .album-item img,.bubble.is-album .attachment .album-item video{border-radius:inherit}.bubble.round.video .attachment{max-height:200px;max-width:200px}.bubble .box,.bubble .reply{font-size:.95rem;margin:4px 4px 4px 6px;padding:4px;margin-bottom:-5px;border-radius:4px}.bubble .box.web,.bubble .reply.web{margin-top:-6px;max-width:100%;overflow:hidden}.bubble .box.web .preview,.bubble .reply.web .preview{max-height:400px;max-width:480px;border-radius:4px;margin-bottom:3px;overflow:hidden;user-select:none;-webkit-user-select:none;cursor:pointer;position:relative;width:max-content}.bubble .box.web .preview img,.bubble .box.web .preview video,.bubble .reply.web .preview img,.bubble .reply.web .preview video{max-width:100%}.bubble .box.web .title,.bubble .reply.web .title{letter-spacing:-0.2px;line-height:1.2;font-weight:500 !important}.bubble .box.web .name,.bubble .reply.web .name{letter-spacing:-0.3px;display:block}.bubble .box.web .name:hover,.bubble .reply.web .name:hover{text-decoration:underline}.bubble .box.web .text,.bubble .reply.web .text{overflow:hidden;text-overflow:ellipsis;line-height:1.2;letter-spacing:-0.3px;margin-top:2px;font-size:0.965rem}.bubble .box .quote,.bubble .reply .quote{padding-left:0.55rem;max-width:100%;overflow:hidden;width:100%}.bubble .box .text,.bubble .reply .text{line-height:1.2}.bubble .box .name,.bubble .box .reply-title,.bubble .reply .name,.bubble .reply .reply-title{font-weight:500 !important;display:inline !important}.bubble.is-square-photo .bubble__container{width:fit-content}.bubble.is-square-photo .box.web .quote{display:flex}.bubble.is-square-photo .box.web .preview{-webkit-box-ordinal-group:3;order:2;flex-shrink:0;max-width:5rem;max-height:5rem}.bubble.is-square-photo .box.web .quote-text{-webkit-box-ordinal-group:2;order:1;padding-right:1rem}.bubble.is-vertical-photo .bubble__container{width:fit-content}.bubble .reply{max-width:300px;margin-bottom:6px;margin-top:0;cursor:pointer}.bubble.is-reply.emoji-big .reply,.bubble.is-reply.sticker .reply{padding:10px;border-radius:12px;border:1px solid #ccc;max-width:300px;height:54px;max-height:54px;white-space:nowrap;position:absolute;top:0;margin-bottom:0}.bubble.is-reply.emoji-big .reply .reply-content,.bubble.is-reply.sticker .reply .reply-content{margin-top:0}.bubble.is-reply .reply-content{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bubble .message{font-size:16px;padding:0 .6rem 6px .6rem;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#000;line-height:21px;word-break:break-word}.bubble .message:last-child{padding-top:6px}.bubble .message .emoji{font-size:1.2rem}.bubble .message pre,.bubble .message code{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.bubble .message.audio-message{min-width:275px;max-width:275px !important;padding-top:8px !important;padding-left:8px !important}.bubble .message.audio-message .audio{justify-content:unset;max-width:none}.bubble .message.audio-message .audio-time{padding-bottom:7px}.bubble .message.audio-message .audio-time,.bubble .message.audio-message .audio-subtitle{color:#4fae4e;line-height:1.45;margin-top:0}.bubble .message.audio-message .audio-title{font-weight:500;margin-left:-1px}.bubble .message.audio-message .audio-details{margin-top:8px}.bubble .message.audio-message .audio-ico{font-size:2.15rem}.bubble .message.audio-message .media-progress{width:191px;margin:9px 0 9px}.bubble .message.audio-message .media-progress__filled{background-color:#47aa41;transform-origin:left;height:2px}.bubble .message.audio-message .media-progress__seek{height:2px;overflow:visible !important;background:rgba(124,195,107,0.52)}.bubble .message.audio-message .media-progress__seek::-webkit-slider-thumb{height:12px;width:12px;background:#47aa41}.bubble .message.audio-message .tgico-largeplay:before{content:"\\e929";margin-right:-2px}.bubble .message.audio-message .time{width:unset}.bubble .message.contact-message{min-width:200px;padding-left:8px}.bubble .message.contact-message .contact{display:flex;padding:2px 0;cursor:pointer}.bubble .message.contact-message .contact-avatar{color:#fff}.bubble .message.contact-message .contact-details{padding-left:12px;margin-top:8px}.bubble .message.contact-message .contact-name{font-size:1rem;font-weight:500}.bubble .message.contact-message .contact-number{font-size:14px;line-height:1.4}.bubble .message.contact-message .time{width:unset}.bubble .message.document-message{max-width:325px !important}.bubble .message.document-message .time{width:unset}.bubble .message.document-message .document{padding-left:66px;height:58px}.bubble .message.document-message .document-name{line-height:1.4;margin-top:1px;overflow:hidden;text-overflow:ellipsis}.bubble.is-message-empty .message{position:absolute;bottom:.1rem;right:.2rem;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0 .2rem;z-index:2}.bubble.is-message-empty .message .time{color:#fff;padding:0;display:flex;align-items:center;width:auto}.bubble.is-message-empty .message .time .inner{margin-bottom:0;position:relative;padding:0 2.5px;bottom:0}.bubble .time{font-size:.8rem;user-select:none;float:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:20px;line-height:20px}.bubble .time .inner{position:absolute;bottom:0;right:0;font-size:12px;display:flex;align-items:center;line-height:1}.bubble .time .inner i{font-size:1.15rem;margin-right:.4rem;margin-left:.1rem}.bubble .time .inner i.edited{overflow:visible;font-size:.8rem}.bubble span.video-time{position:absolute;top:3px;left:3px;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 6px;z-index:2;font-size:12px;color:white;display:flex;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none}.bubble span.video-play{background-color:rgba(0,0,0,0.35);color:#fff;text-align:center;font-size:34px;line-height:60px;cursor:pointer}.bubble.is-edited.channel-post .time{min-width:calc(5rem + 46px)}.bubble.channel-post .time{width:5rem}.bubble.is-edited .time{width:78px !important}.bubble.is-edited.emoji-big .time,.bubble.is-edited.sticker .time{width:81px !important}.bubble:not(.forwarded).hide-name .name,.bubble.emoji-big .name{display:none}.bubble .name{cursor:pointer}.bubble__container>.name{padding:5px .6rem 0 .6rem;font-weight:500 !important;color:#50a2e9;font-size:.9rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bubble:not(.webpage).photo .name,.bubble:not(.webpage).video .name{padding-bottom:6px}.bubble:not(.webpage).photo:not(.is-message-empty) .message,.bubble:not(.webpage).video:not(.is-message-empty) .message{padding-top:6px}.bubble:not(.webpage):not(.is-album):not(.sticker):not(.round):not(.emoji-big) .attachment,.bubble .album-item{background-color:#000}.bubble.hide-name:not(.is-reply):not(.is-message-empty) .message{padding-top:6px}.bubble:not(.sticker):not(.emoji-big).hide-name .reply,.bubble:not(.sticker):not(.emoji-big):not(.is-group-first) .reply,.bubble:not(.sticker):not(.emoji-big).is-out .reply{margin-top:6px}.bubble:not(.sticker):not(.emoji-big):not(.round).is-group-last .bubble__container:after{position:absolute;bottom:0;width:11px;height:20px;background-repeat:no-repeat no-repeat;content:\'\';background-size:11px 20px;background-position-y:1px}.bubble.photo.is-message-empty.is-group-last.is-group-last .bubble__container:after,.bubble.video:not(.round).is-message-empty.is-group-last.is-group-last .bubble__container:after{display:none}.bubble.photo.is-message-empty.is-group-last .attachment,.bubble.video:not(.round).is-message-empty.is-group-last .attachment{overflow:visible}.bubble__media-container{cursor:pointer}.bubble.service{align-self:center}.bubble.service .service-msg{color:#fff;background-color:rgba(0,0,0,0.24);font-size:14px;padding:0 8px;line-height:24px;border-radius:12px;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center}.bubble.service .service-msg .name{cursor:pointer;margin-right:5px}.bubble.service .service-msg img.emoji{margin-bottom:3px}.bubble-audio .time{width:unset !important}.bubble.is-in .bubble__container{margin-right:auto;background-color:#ffffff;border-radius:6px 12px 12px 6px}.bubble.is-in.is-group-first .bubble__container{border-radius:12px 12px 12px 6px}.bubble.is-in.is-group-last .bubble__container{border-radius:6px 12px 12px 0px}.bubble.is-in.is-group-last .bubble__container:after{left:-8.4px;background-image:url('+d+")}.bubble.is-in.is-group-first.is-group-last .bubble__container{border-radius:12px 12px 12px 0px}.bubble.is-in.forwarded .attachment,.bubble.is-in.is-reply .attachment,.bubble.is-in:not(.hide-name).is-message-empty .attachment{border-top-left-radius:0;border-top-right-radius:0}.bubble.is-in a{color:#50a2e9}.bubble.is-in .quote:hover,.bubble.is-in .reply:hover{background-color:rgba(112,117,121,0.08)}.bubble.is-in.is-reply.emoji-big .reply,.bubble.is-in.is-reply.sticker .reply{left:calc(100% + 10px);background-color:#fff}.bubble.is-in .quote{border-left:2px #50a2e9 solid}.bubble.is-in .quote *{overflow:hidden;text-overflow:ellipsis}.bubble.is-in .quote .name,.bubble.is-in .reply-title{color:#50a2e9}.bubble.is-in .time{color:#a3adb6;width:36px}.bubble.is-in .time .inner{padding:0 7px 0 5px;margin-bottom:4px}.bubble.is-in.photo.is-message-empty.is-group-last .attachment,.bubble.is-in.video:not(.round).is-message-empty.is-group-last .attachment{border-bottom-left-radius:0}.bubble.is-in.photo.is-message-empty.is-group-last .attachment .bubble__media-container,.bubble.is-in.video:not(.round).is-message-empty.is-group-last .attachment .bubble__media-container{margin-left:-9px}.bubble.is-in .audio-subtitle,.bubble.is-in .contact-number,.bubble.is-in .audio-time{color:#707579 !important}.bubble.is-in .message.audio-message .media-progress__seek{background:rgba(193,207,220,0.39)}.bubble.is-in .message.audio-message .media-progress__filled{background-color:#0089ff}.bubble.is-in .message.audio-message .media-progress input::-webkit-slider-thumb{background:#63a2e3}.bubble.is-out .bubble__container{margin-left:auto;background-color:#eeffde;border-radius:12px 6px 6px 12px}.bubble.is-out .bubble__container>.user-avatar{left:auto;right:-2.5rem}.bubble.is-out.is-group-first .bubble__container{border-radius:12px 12px 6px 12px}.bubble.is-out.is-group-last .bubble__container{border-radius:12px 6px 0px 12px}.bubble.is-out.is-group-last .bubble__container:after{right:-8.4px;background-image:url("+c+')}.bubble.is-out.is-group-first.is-group-last .bubble__container{border-radius:12px 12px 0px 12px}.bubble.is-out.forwarded .attachment,.bubble.is-out.is-reply .attachment{border-top-left-radius:0;border-top-right-radius:0}.bubble.is-out .quote:hover,.bubble.is-out .reply:hover{background-color:rgba(77,205,94,0.12)}.bubble.is-out.is-reply.emoji-big .box,.bubble.is-out.is-reply.emoji-big .reply,.bubble.is-out.is-reply.sticker .box,.bubble.is-out.is-reply.sticker .reply{background-color:#eeffde;right:calc(100% + 10px);border-color:rgba(77,205,94,0.12)}.bubble.is-out .quote{border-left:2px #50af4f solid}.bubble.is-out .reply-border{background-color:#50af4f}.bubble.is-out .quote .name,.bubble.is-out .reply-title{color:#50af4f}.bubble.is-out .time{color:#50af4f;width:50px;display:inline-block}.bubble.is-out .time .inner{padding:0 4px 0 4px;bottom:1px}.bubble.is-out .time .tgico:after{font-size:19px;vertical-align:middle;margin-left:1px}.bubble.is-out.forwarded .name{color:#50af4f}.bubble.is-out.is-read .time .tgico:after{content:""}.bubble.is-out.is-sent .time .tgico:after{content:""}.bubble.is-out.is-sending .time .tgico:after{content:""}.bubble.is-out.is-reply .name{display:none}.bubble.is-out.is-edited .time{width:85px}.bubble.is-out .document-ico:after{border-top-color:#eeffde;border-right-color:#eeffde}.bubble.is-out .audio-waveform rect{fill:#B8DDA9}.bubble.is-out .audio-waveform rect.active{fill:#68AB5A}.bubble.is-out .audio-time,.bubble.is-out .audio-subtitle{color:#68AB5A}.bubble.is-out .audio-toggle,.bubble.is-out .audio-download{background-color:#4FAE4E}.bubble.is-out.photo.is-message-empty.is-group-last .attachment,.bubble.is-out.video:not(.round).is-message-empty.is-group-last .attachment{border-bottom-right-radius:0}.bubble.is-out.photo.is-message-empty.is-group-last .attachment .bubble__media-container,.bubble.is-out.video:not(.round).is-message-empty.is-group-last .attachment .bubble__media-container{margin-right:-9px}.bubble.is-out .audio-subtitle,.bubble.is-out .contact-number,.bubble.is-out .document-size{color:#4FAE4E}.bubble.is-out poll-element .poll-desc,.bubble.is-out poll-element .poll-votes-count{color:#50af4f}.bubble.is-out poll-element .poll-line use{stroke:#4fae4e}.bubble.is-out poll-element .poll-answer-selected{background-color:#4fae4e}.bubble.is-out poll-element .poll-answer:hover .animation-ring{background-color:rgba(79,174,78,0.08)}.bubble.is-out poll-element .progress-ring__circle{stroke:#4fae4e}.reply-markup{position:absolute;width:100%}.reply-markup-row{margin-top:5px;overflow:hidden;height:40px;display:flex}.reply-markup-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.reply-markup-button{display:flex;justify-content:center;align-items:center;border-radius:6px;background-color:rgba(0,0,0,0.23);z-index:2;font-size:14px;user-select:none;text-align:center;color:white !important;outline:none;border:none;width:100%;cursor:pointer;position:relative;transition:background-color 0.35s ease}.reply-markup-button:hover{background-color:rgba(0,0,0,0.06)}.reply-markup-button+.reply-markup-button{margin-left:5px}.reply-markup-button.is-link:before{content:"";position:absolute;right:2px;top:2px;display:block;transform:rotate(-45deg)}poll-element{margin-top:-1px;display:block;min-width:280px}poll-element .poll-title{font-weight:500}poll-element .poll-desc{font-size:14px;color:#707579;margin-bottom:7px}poll-element .poll-answer{display:flex;position:relative;padding-bottom:20px;padding-left:34px;cursor:pointer}poll-element .poll-answer-text{margin-top:7px;margin-left:14px}poll-element .poll-answer-percents{position:absolute;left:0;top:0;opacity:0;font-weight:500;margin-top:7px;transition:.34s opacity;margin-left:-3px;text-align:right;width:40px}poll-element .poll-answer-selected{position:absolute;bottom:3px;left:26px;color:#fff;background:#50a2e9;border-radius:50%;height:12px;width:12px;font-size:11px;line-height:15px;opacity:0;animation:fadeIn .1s ease forwards;animation-direction:reverse;animation-delay:.24s}poll-element .poll-answer:hover .animation-ring{visibility:visible;transform:scale(1)}poll-element .poll-answer.is-voting .progress-ring__circle{stroke-dashoffset:-19.792;animation:pollAnswerRotate 0.65s linear infinite}poll-element .poll-votes-count{color:#707579;font-size:14px;margin-top:7px}poll-element .poll-line{height:35px;position:absolute;left:17.5px;bottom:2px;transition:stroke-dashoffset .34s linear, stroke-dasharray .34s linear;stroke-dashoffset:0;stroke-dasharray:0, 485.9}poll-element .poll-line use{stroke-width:4px;stroke-linecap:round;stroke:#50a2e9;fill:none}poll-element+.time{height:unset !important;padding-top:0px !important;padding-bottom:7px !important}poll-element .circle-hover{display:flex;justify-content:center;align-items:center;width:34px;height:34px;margin-left:5px;position:absolute;left:0;top:0;transform:scale(1);transition:.1s transform}poll-element .animation-ring{display:block;border-radius:50%;height:34px;width:34px;transition:transform 0.12s;background-color:#f4f4f4;transform:scale(0.1);visibility:hidden}poll-element .progress-ring{height:26px;width:26px;top:unset;left:unset}poll-element .progress-ring__circle{transform-origin:center;transform:rotate(-90deg);transition:stroke-dashoffset 0.15s;stroke-dasharray:56.5487, 56.5487;stroke-dashoffset:0;stroke-opacity:1;stroke-width:2;stroke:#8d969c;fill:transparent}poll-element.is-voted .circle-hover,poll-element.is-voted .animation-ring{transform:scale(0)}poll-element.is-voted .poll-answer-percents{opacity:1}poll-element.is-voted .poll-answer-selected{animation-direction:normal}poll-element.is-retracting .circle-hover{transition-delay:.24s}poll-element.is-retracting .animation-ring{transition-delay:.22s}@keyframes pollAnswerRotate{to{transform:rotate(270deg)}}.sidebar{background-color:#fff;overflow:hidden}.sidebar-left{border-right:1px solid #DADCE0}.sidebar-right{border-left:1px solid #DADCE0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:7.5px 16px;min-height:60px}.sidebar-header__title{flex:1;font-weight:500;padding-left:23px;font-size:20px}.sidebar-header .btn-icon+.btn-icon{margin-left:.5rem}.sidebar-close-button{padding-left:10px}.sidebar-content{width:100%;max-height:100%;height:100%;overflow:hidden;display:flex;position:relative}.sidebar-content>div{width:100%}#column-left{display:flex;flex-direction:column}#column-left #chats-container{max-height:100%;overflow:hidden;position:relative}#column-left .sidebar-slider{height:100%}#column-left .sidebar-header__btn-container{position:relative;width:39.75px;height:39px}#column-left .sidebar-header__btn-container>*{visibility:hidden;opacity:0;position:absolute;left:0;top:0;transition:.2s opacity;z-index:2}#column-left .sidebar-header__btn-container>*:before{transition:.2s transform;transform:rotate(180deg)}#column-left .sidebar-header__btn-container>*+*{margin-left:0 !important}#column-left .sidebar-header__btn-container>*.active{opacity:1;visibility:visible;color:#707579}#column-left .sidebar-header__btn-container>*.active:before{transform:rotate(0deg)}#column-left .sidebar-tools-button .btn-menu{width:217px}#column-left .sidebar-tools-button .btn-menu .archived-count{border-radius:12px;min-width:24px;padding:0 8px;height:24px;text-align:center;line-height:24px;color:#fff;font-weight:500;background-color:#c5c9cc;justify-self:flex-end;position:absolute;right:16px}#column-left .sidebar-tools-button .btn-menu .archived-count:empty{display:none}#column-left .search-group-people ul{display:flex;flex-direction:row;padding-left:4px;margin-top:-1px;padding-bottom:1px}#column-left .search-group-people li{margin-right:5px;padding:0}#column-left .search-group-people .rp{height:98px;max-height:98px;border-radius:10px;max-width:78px;width:78px;align-items:center;position:relative;display:flex;flex-direction:column;cursor:pointer;padding:12px 0 0 !important;overflow:hidden;margin:0}#column-left .search-group-people .dialog-avatar{width:54px;height:54px}#column-left .search-group-people .user-caption{max-width:65px;padding:2px 0px 9px;font-size:12px}#column-left .search-group-people .user-title{max-width:unset}#column-left .search-group-people .search-group-scrollable{position:relative}#column-left .search-group-people .search-group-scrollable>.scrollable{position:relative}#column-left .item-main .sidebar-content .btn-menu{bottom:calc(100% + 10px)}#column-left .item-main .sidebar-content:hover .btn-corner{transform:translateY(0px)}#column-left .item-main .sidebar-content:hover .btn-corner.menu-open:before{content:""}#search-container{transition:150ms ease-in-out opacity,150ms ease-in-out transform;transform:scale(1.1, 1.1);opacity:0;display:flex}#search-container.active{transform:scale(1, 1);transform-origin:center;opacity:1}.new-channel-container .sidebar-content,.new-group-container .sidebar-content,.edit-profile-container .sidebar-content{flex-direction:column}.new-channel-container .avatar-edit,.new-group-container .avatar-edit,.edit-profile-container .avatar-edit{width:120px;height:120px;margin:1px auto 32px;flex:0 0 auto}.new-channel-container .input-wrapper,.new-group-container .input-wrapper,.edit-profile-container .input-wrapper{width:380px;margin:0 auto;flex:0 0 auto}.new-channel-container .chats-container,.new-group-container .chats-container,.edit-profile-container .chats-container{flex:1 1 auto}.new-channel-container .caption,.new-group-container .caption,.edit-profile-container .caption{font-size:0.875rem;margin-top:14px;margin-left:23px;color:#707579}.new-group-members{padding:1.5rem 0 0.4375rem}.new-group-members .search-group__name{text-transform:capitalize}.settings-container .profile-button{display:flex;padding:1.125rem 0.625rem;height:3.5rem;line-height:1.4;border-radius:0.625rem;margin:0px 0.5rem 0px 0.4375rem}.settings-container .profile-button:hover{background:rgba(112,117,121,0.08);cursor:pointer}.settings-container .profile-button:before{font-size:24px;color:#707579;margin-left:0.375rem;margin-top:-0.0625rem}.settings-container .profile-button p{padding-left:2rem;user-select:none}.settings-container .profile-buttons{margin-top:.9375rem;width:100%}.edit-profile-container .caption{margin-top:1.063rem;margin-left:1.438rem;line-height:1.2;padding-bottom:1.438rem}.edit-profile-container .sidebar-left-h2{color:#707579;padding:0 1.438rem;padding-bottom:1.5rem;font-weight:500}.edit-profile-container hr{margin-bottom:1.5rem}.edit-profile-container .scroll-wrapper{width:100%}#column-right{width:0%;position:relative;transition:.2s ease-in-out}#column-right .sidebar-content{min-width:25vw}@media (min-width: 1680px){#column-right .sidebar-content{min-width:calc(1680px / 4 - 1px)}}#column-right:not(.active){border-left-width:0}#column-right.active{width:25%}#column-right .sidebar-header{flex:0 0 auto}#column-right #search-private-container .chats-container{position:relative;flex:1 1 auto}#column-right #forward-container{z-index:5}#column-right .sidebar-search{display:none}#column-right .sidebar-search.active{display:flex}.profile-content{display:flex;flex-direction:column;position:relative;width:100%}.profile-content [type="checkbox"]+span{padding-left:54px;margin-left:-54px}.profile-content-wrapper{flex:1 1 auto;display:flex;flex-direction:column;margin-bottom:36px}.profile-content .content-container{width:100%;max-width:100%;position:absolute;top:100%;min-height:calc(100vh - 100% - 60px);display:flex;flex-direction:column}.profile-container>.scrollable{display:flex;flex-direction:column}.profile-name{text-align:center;font-size:24px;line-height:1.4;font-weight:500}.profile-name span.emoji{vertical-align:inherit;min-width:min-content}.profile-subtitle{text-align:center;color:#707579;font-size:14px;margin-bottom:2px}.profile-subtitle.online{color:#50a2e9}.profile-row{display:flex;width:100%;flex-direction:column;padding-left:80px;padding-right:12px;position:relative;margin-top:31px;line-height:1.4}.profile-row:before{position:absolute;left:24px;font-size:24px;color:#707579}.profile-row p{color:#000;margin:0;font-size:1rem}.profile-row-bio .emoji{width:24px;height:24px}.profile-row-label{color:#707579 !important;font-size:14px !important}.profile-row-notifications{margin-top:29px;line-height:1.3}.profile-avatar{width:120px;height:120px;margin:1px auto 21px;font-size:4rem !important}.profile-avatar.tgico-avatar_deletedaccount{font-size:6rem}.profile-tabs{position:-webkit-sticky !important;position:sticky !important;top:0;z-index:2;background-color:#fff}.profile-tabs-content{min-height:calc(100% - 49px);flex:1 1 auto}.profile-tabs-content>div{position:relative}.profile-tabs-content .preloader{padding:0;position:absolute !important;height:100%}.profile-tabs-content .preloader>svg{height:50px;width:50px}.profile-tabs-content #content-media{width:100%;padding:7.5px;display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:1fr;grid-gap:3.5px}.profile-tabs-content #content-media .media-item{height:0;padding-bottom:100%;overflow:hidden;position:relative;cursor:pointer;background-color:#000}.profile-tabs-content #content-media .video-time{position:absolute;left:5px;top:4px;height:18px;border-radius:4px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 5px;z-index:2;font-size:12px;color:white}.profile-tabs-content #content-media .media-image{position:absolute;left:0;top:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-tabs-content #content-docs{padding:7px 20px}.profile-tabs-content #content-docs .document{padding-left:4rem;padding-right:1rem;height:calc(50px + 1.5rem)}.profile-tabs-content #content-docs .document-ico,.profile-tabs-content #content-docs .document-download{width:48px;height:48px}.profile-tabs-content #content-docs .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-links{padding:0 30px 15px 15px}.profile-tabs-content #content-links>div{display:flex;flex-direction:column;margin-top:20px;margin-left:5px;padding-bottom:2px;position:relative;padding-left:60px;overflow:hidden;min-height:58px}.profile-tabs-content #content-links>div .preview{height:48px;width:48px;border-radius:5px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.profile-tabs-content #content-links>div .preview.empty{display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;text-transform:uppercase;background-color:#50a2e9}.profile-tabs-content #content-links>div .url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-tabs-content #content-links .title{font-size:16px;margin-top:3px}.profile-tabs-content #content-links .subtitle{font-size:14px}.profile-tabs-content #content-audio{padding:20px 15px 15px 20px}.profile-tabs-content #content-audio>div{min-height:60px}.profile-tabs-content #content-audio .audio{padding-bottom:26px;padding-left:61px;max-width:368px;justify-content:unset}.profile-tabs-content #content-audio .audio-details{height:66px}.profile-tabs-content #content-audio .audio.audio-show-progress .audio-subtitle{overflow:visible}.profile-tabs-content #content-audio .audio-ico{width:48px;height:48px}.profile-tabs-content #content-audio .audio-ico.tgico-largeplay:before{margin-right:-1px}.profile-tabs-content #content-audio .audio-download{border-radius:50%;background-color:#50a2e9;align-items:center}.profile-tabs-content #content-audio .audio-toggle,.profile-tabs-content #content-audio .audio-download{font-size:1.9rem}.profile-tabs-content #content-audio .audio-title{font-size:1rem;color:#000;line-height:1.2;padding-top:5px;margin-top:0;margin-left:-1px}.profile-tabs-content #content-audio .audio-subtitle{font-size:14px;line-height:1.25;color:#707579;margin-left:-1px;margin-top:3px}.profile-tabs-content #content-audio .audio-time{margin-top:1px}.profile-tabs-content #content-audio .audio-title,.profile-tabs-content #content-audio .audio-subtitle{overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-audio .media-progress{margin:11px 0 8px}.profile-tabs-content #content-audio .media-progress__filled{background-color:#0089ff;transform-origin:left;height:2px}.profile-tabs-content #content-audio .media-progress__seek{height:2px;background:rgba(193,207,220,0.39)}.profile-tabs-content #content-audio .media-progress__seek::-webkit-slider-thumb{height:12px;width:12px}.media-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.88);display:flex;align-items:center;justify-content:center}.media-viewer-author{position:absolute;top:0;left:0;height:60px;padding:8px 8px 8px 80px;display:flex;flex-direction:column;justify-content:center;color:#8b8b8b;transition:.2s}.media-viewer-author:hover{color:#fff}.media-viewer-userpic{width:44px;height:44px;position:absolute;top:8px;left:20px}.media-viewer-name{font-weight:500}.media-viewer-date{font-size:15px}.media-viewer-buttons{position:absolute;top:0;right:0;display:flex;flex-flow:row nowrap;padding:8px}.media-viewer-buttons .btn-icon{margin:0 .25rem;transition:.2s}.media-viewer-buttons .btn-icon:hover{color:#fff}.media-viewer-content{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;max-height:100%;max-width:100%;overflow:hidden}.media-viewer-stub{flex:1}.media-viewer-container{align-self:center;position:relative;max-width:100%;max-height:100%;overflow:hidden;flex:1 1 auto;display:flex;align-items:center}.media-viewer-media{visibility:hidden}.media-viewer-caption{flex:1;text-align:center;color:#707579;transition:.2s;max-width:50vw;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.media-viewer-caption:hover{color:#fff}.media-viewer-switcher-left,.media-viewer-switcher-right{position:absolute;left:0;top:0;width:10rem;height:100%;cursor:pointer;z-index:5}.media-viewer-switcher-left:hover>span,.media-viewer-switcher-right:hover>span{opacity:1}.media-viewer-switcher-right{left:auto;right:0}.media-viewer-prev-button,.media-viewer-next-button{cursor:pointer;position:absolute;color:#fff;font-size:3rem;left:2rem;top:50%;transform:translateY(-50%) rotate(90deg);opacity:0;transition:.2s opacity;z-index:5}.media-viewer-next-button{left:auto;right:2rem;transform:translateY(-50%) rotate(-90deg)}.media-viewer-mover{position:fixed !important;z-index:4;display:flex;justify-content:center;align-items:center;min-height:auto !important;left:0;top:0;transform-origin:top left;overflow:hidden}.media-viewer-mover .ckin__player{width:100%;height:100%;position:absolute;left:0;top:0}.media-viewer-mover img,.media-viewer-mover video{width:100%;height:100%;user-select:none;object-fit:cover;opacity:1}.media-viewer-mover.active{transition:.2s transform}.media-viewer-mover.moving{transition:.35s transform ease}.media-viewer-mover.hiding img,.media-viewer-mover.hiding video{transition:.2s opacity;opacity:0}.media-viewer-aspecter{width:100%;height:100%;transform:scale(1);overflow:hidden;position:absolute}.media-viewer-mover.active .media-viewer-aspecter{transition:.2s all}.media-viewer-whole{top:0;left:0;width:100%;height:100%;position:fixed !important;display:block;z-index:4;visibility:hidden;transition:visibility 0s .2s}.media-viewer-whole.active{visibility:visible;transition-delay:0s}.media-viewer-whole.active .overlays{opacity:1;visibility:visible;-webkit-transition:opacity .2s 0s,visibility 0s 0s;-moz-transition:opacity .2s 0s,visibility 0s 0s;transition:opacity .2s 0s,visibility 0s 0s}.media-viewer-switchers{position:relative;width:1680px;height:100%;margin:0 auto}.overlays{top:0;left:0;width:100%;height:100%;position:fixed !important;background-color:rgba(0,0,0,0.2);z-index:4;opacity:0;visibility:hidden;-webkit-transition:opacity .2s 0s,visibility 0s .2s;-moz-transition:opacity .2s 0s,visibility 0s .2s;transition:opacity .2s 0s,visibility 0s .2s}.ckin__player{letter-spacing:0.02em}.ckin__overlay{position:relative}.ckin__overlay:before{background:radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.5) 100%)}.ckin__overlay--2:before{background:rgba(24,24,24,0.8)}.ckin__player.ckin__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0 !important;display:-ms-flexbox;display:flex}.ckin__player.ckin__fullscreen video{max-height:none;max-width:none;object-fit:contain}.default{border:0 solid rgba(0,0,0,0.2);box-shadow:0 0 20px rgba(0,0,0,0.2);position:relative;font-size:0;overflow:hidden;cursor:pointer}.default:before{content:\'\';position:absolute;top:0;left:0;bottom:0;right:0;transition:opacity .2s;opacity:1;visibility:visible}.default__title{position:absolute;left:20px;top:20px;z-index:1;font-size:24px;color:rgba(255,255,255,0.8);font-style:italic}.default__button{background:none;border:0;color:#fff;outline:0;padding:3px 10px 6px 10px;cursor:pointer;font-size:24px;line-height:1;display:flex;align-items:center}.default__button i{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.default__button--big{background:none;border:0;line-height:1;color:#fff;text-align:center;outline:0;padding:0;cursor:pointer;position:absolute;opacity:1;visibility:visible;top:50%;left:50%;-ms-transform:translate(-50%, -50%) scale(1);transform:translate(-50%, -50%) scale(1);font-size:64px;transition:all .2s;-ms-touch-action:manipulation;touch-action:manipulation}.default__slider{width:10px;height:30px}.default__controls{position:absolute;bottom:0;right:0;left:0;transition:all .3s;text-align:left;direction:ltr;border-radius:0 0 5px 5px;z-index:6}.default__gradient-bottom{height:49px;padding-top:93px;bottom:0;z-index:2;background-position:bottom;width:100%;position:absolute;background-repeat:repeat-x;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);-moz-transition:all .3s;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.default.is-playing .default__gradient-bottom{-ms-transform:translateY(50px);transform:translateY(50px)}.default.is-playing:hover .default__gradient-bottom{-ms-transform:translateY(0px);transform:translateY(0px)}.default.is-playing:before{opacity:0;visibility:hidden;-ms-transform:translate(-50%, -50%) scale(1.3);transform:translate(-50%, -50%) scale(1.3)}.default.is-playing .default__button--big{opacity:0;visibility:hidden}.default.is-playing .default__controls{-ms-transform:translateY(52px);transform:translateY(52px)}.default.is-playing:hover .default__controls{-ms-transform:translateY(0);transform:translateY(0)}.default .media-progress{margin:0 16px;height:5px;transition:height 0.3s;background:rgba(255,255,255,0.38);border-radius:4px;overflow:visible}.default .media-progress__filled{background:#63a2e3;transform-origin:left;border-radius:4px;height:5px;transform:scaleX(0)}@media (max-width: 480px){.ckin__player button{font-size:18px}}video::-webkit-media-controls-enclosure{display:none !important}.media-progress{position:relative;cursor:pointer}.media-progress input[type=range]{-webkit-appearance:none;-moz-appearance:none;background:transparent;height:4.5px;cursor:pointer;padding:0;outline:none}.media-progress input[type=range]:focus{outline:none}.media-progress input[type=range]:focus::-webkit-slider-runnable-track{background:transparent}.media-progress input[type=range]:focus::-moz-range-track{outline:none}.media-progress input[type=range]::-webkit-slider-runnable-track{width:100%;cursor:pointer;border-radius:1.3px;-webkit-appearance:none;transition:all 0.4s ease}.media-progress input[type=range]::-webkit-slider-thumb{height:15px;width:15px;border-radius:16px;background:#63a2e3;cursor:pointer;-webkit-appearance:none;margin-left:-1px}.media-progress input[type=range]::-moz-range-track{width:100%;height:8.4px;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:1.3px}.media-progress input[type=range]::-moz-range-thumb{height:14px;width:14px;border-radius:50px;border:1px solid #63a2e3;background:#63a2e3;cursor:pointer;margin-top:5px}.media-progress__seek{position:absolute;top:0;width:100%;cursor:pointer;margin:0}input[type=range]::-ms-track{visibility:hidden}input[type=range]::-ms-ticks{background:none;color:none;border:none}input[type=range]::-ms-thumb{visibility:hidden}input[type=range]::-ms-tooltip{visibility:hidden}.left-controls{display:flex;align-items:center}.right-controls{float:right}.bottom-controls{padding:3px 4px 0px 4px;display:flex;justify-content:space-between;align-items:center}.time{float:right;padding:7px 0px 9px 14px;font-size:15px;color:white}.circle .circle-time{color:#fff;font-size:13px;float:left}.circle .circle-time-left{position:absolute;top:3px;left:2px;border-radius:12px;background-color:rgba(0,0,0,0.23);padding:1px 7px 2px 7px;z-index:2;display:flex;align-items:center}video[data-ckin="circle"]{border-radius:50%;overflow:hidden}.progress-ring{position:absolute;top:0;left:0;cursor:pointer}.progress-ring__circle{transition:stroke-dashoffset}.ckin__player.circle{position:relative;width:200px;height:200px}.iconVolume{padding:0 1px 0 3px;display:flex;align-items:center;font-size:1.25rem;color:#fff}.emoji-dropdown{position:absolute;left:0;top:calc(-420px + -4px);display:flex;flex-direction:column;width:420px;height:420px;background:#fff;box-shadow:0px 5px 10px 5px rgba(16,35,47,0.14);border-radius:10px;z-index:3;display:flex;overflow:hidden;transition:all 0.2s ease-out;transform:scale(0);transform-origin:0 100%}.emoji-dropdown.active{transition:all 0.2s ease-in;transform:scale(1)}.emoji-dropdown>.menu-horizontal{padding:0px 58px 0px 58px;margin-top:2px}.emoji-dropdown>.menu-horizontal>li.active:after{left:29px;right:28px}.emoji-dropdown .emoji-container{width:100%;max-width:100%;overflow:hidden;height:100%}.emoji-dropdown .btn-icon{color:#8d969c}.emoji-dropdown .tabs-container{height:100%}.emoji-dropdown .tabs-container .category-title{position:sticky;top:0;font-size:.85rem;color:#707579;background:linear-gradient(to bottom, #fff 0, rgba(255,255,255,0.9) 60%, rgba(255,255,255,0) 100%);z-index:2;padding:.53333rem 6PX .66667rem;width:100%}.emoji-dropdown .tabs-container .emoji-category{padding-top:1px;position:relative}.emoji-dropdown .tabs-container .emoji-category .category-items{display:grid;grid-column-gap:2.44px;grid-template-columns:repeat(9, 1fr);font-size:2.25rem;line-height:2.25rem}.emoji-dropdown .tabs-container .emoji-category .category-items>*{margin:0;padding:4px 4px;line-height:inherit;border-radius:8px;cursor:pointer;user-select:none;-webkit-user-select:none;width:42px;height:42px}.emoji-dropdown .tabs-container .emoji-category .category-items>* .emoji{width:100%;height:100%}.emoji-dropdown .tabs-container .emoji-category .category-items>*:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .emoji-category:first-child{padding-top:5px}.emoji-dropdown .tabs-container .sticker-category{position:relative}.emoji-dropdown .tabs-container .sticker-category::after{content:"";flex:auto}.emoji-dropdown .tabs-container .sticker-category .category-items{width:100%;display:grid;grid-template-columns:repeat(5, 1fr);grid-column-gap:1px}.emoji-dropdown .tabs-container .sticker-category .category-items>div{width:80px;height:80px;display:flex;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none;padding:1px 2.5px;justify-content:center;border-radius:12px;padding:0}.emoji-dropdown .tabs-container .sticker-category .category-items>div:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .sticker-category .category-items>div>*{max-width:100%;max-height:100%}.emoji-dropdown .tabs-container>div{min-height:100%;flex-direction:column;height:100%}.emoji-dropdown .tabs-container>div>div:first-of-type{flex:1;padding:0}.emoji-dropdown .tabs-container .scrollable{padding:0 10px}.emoji-dropdown .emoji-padding .menu-horizontal{border-top:1px solid #dadce0}.emoji-dropdown .emoji-padding .menu-horizontal,.emoji-dropdown .stickers-padding .menu-horizontal{height:47px;border-bottom:none;padding:2px 2px 2px 2px;width:100%}.emoji-dropdown .emoji-padding .menu-horizontal li,.emoji-dropdown .stickers-padding .menu-horizontal li{padding:0;width:50px;height:50px;line-height:50px;display:flex;align-items:center}.emoji-dropdown .emoji-padding .menu-horizontal li.active:after,.emoji-dropdown .stickers-padding .menu-horizontal li.active:after{display:none}.emoji-dropdown #content-stickers .scrollable{padding:15px 5px 0}.emoji-dropdown .emoji-padding .menu-horizontal li,.emoji-dropdown .stickers-padding .menu-horizontal li{font-size:1.65rem}.emoji-dropdown .stickers-padding .menu-wrapper{padding:0;height:50px;max-width:100%;border-top:1px solid #dadce0}.emoji-dropdown .stickers-padding .menu-wrapper .menu-horizontal{width:100%;height:100%}.emoji-dropdown .stickers-padding li{flex:0 0 auto}.emoji-dropdown .stickers-padding li.active:not(.tgico-recent){background-color:rgba(112,117,121,0.08)}.emoji-dropdown .stickers-padding li>*{padding:.75rem;max-width:100%;max-height:100%;width:100%;height:100%}.emoji-dropdown #content-gifs .gifs-masonry{display:flex;flex-wrap:wrap}.emoji-dropdown #content-gifs .gifs-masonry>div{flex:1 0 auto;max-width:100%;height:100px;margin:2.5px;cursor:pointer;background:#000;position:relative}.emoji-dropdown #content-gifs .gifs-masonry>div video{object-fit:cover;width:100%;height:100%}div.scrollable::-webkit-scrollbar{width:0;height:0}div.scrollable::-webkit-scrollbar-thumb{width:0;height:0}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}.scrollable{width:100%;height:100%;overflow-y:hidden;overflow-x:hidden;max-height:100%;position:absolute;top:0px;left:0px;bottom:0px;right:0px}.scrollable.scrollable-x{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.scrollable.scrollable-y{overflow-y:auto;overflow-y:overlay;scrollbar-width:none;-ms-overflow-style:none}div.scrollable-y::-webkit-scrollbar{width:.375rem}::-webkit-scrollbar-thumb{opacity:0;transition:.2s ease-in-out}div.scrollable:hover::-webkit-scrollbar-thumb{height:200px;border-radius:10px;background-color:rgba(0,0,0,0.2);opacity:1}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}.menu-horizontal{color:#707579;border-bottom:1px solid #dadce0;position:relative}.menu-horizontal ul{width:100%;height:100%;margin:0;display:flex;justify-content:space-around;align-items:center;position:relative;z-index:2}.menu-horizontal li{display:inline-block;padding:.75rem 1rem;cursor:pointer;text-align:center;flex:1;user-select:none;font-size:1rem;font-weight:500}.menu-horizontal li.active{color:#50a2e9}.menu-horizontal__stripe{position:absolute;background:#50a2e9;left:-2px;transition:.3s transform, .3s width;bottom:-1px;height:4px;width:1px;transform:scaleX(1) translateX(0px);border-top-left-radius:2px;border-top-right-radius:2px;z-index:1}.tabs-container{min-width:100%;width:100%;display:flex;overflow-x:hidden}.tabs-container.animated{transition:.3s transform}.tabs-container>div{width:100%;max-width:100%;overflow:hidden;display:none}.tabs-container>div.active{display:flex;flex-direction:column}.tabs-container>div>div:not(.scroll-padding){width:100%;max-width:100%;position:relative}@keyframes scaleIn{0%{transform:scale(0.2)}to{transform:scale(1)}}.selector{height:100%;display:flex;flex-direction:column}.selector-search-container{flex:0 0 auto;position:relative;max-height:132px;overflow:hidden}.selector-search-container .scrollable{position:relative}.selector-search{padding:0 24px 0 24px;display:flex;flex-flow:wrap}.selector-search input{border:none;padding:7px 0px 19px 0px;outline:none;flex:1 1 auto}.selector-user{color:#000;background-color:rgba(112,117,121,0.08);font-size:16px;padding:0 17px 0px 0px;line-height:31px;margin-left:-4px;margin-right:12px;height:32px;margin-bottom:7px;border-radius:24px;user-select:none;flex:0 0 auto;transition:.2s all}.selector-user:hover{background-color:#fae2e3;cursor:pointer}.selector-user:hover .selector-user-avatar:after{opacity:1;transform:scaleX(-1) rotate(-90deg)}.selector-user.scale-in{animation:scaleIn .15s ease forwards}.selector-user.scale-out{animation:scaleIn .1s ease forwards;animation-direction:reverse}.selector-user-avatar{height:32px !important;width:32px !important;float:left;margin-right:8px;overflow:hidden;font-size:14px}.selector-user-avatar:after{position:absolute;content:"";left:0;top:0;background-color:#df3f40;height:100%;width:100%;z-index:2;font-size:23px;line-height:32px !important;opacity:0;transition:.2s opacity, .2s transform;transform:scaleX(-1) rotate(0deg)}.selector .chats-container{height:100%;flex:1 1 auto}.selector ul .dialog-avatar{height:48px;width:48px}.selector ul .user-caption{padding:1px 3.5px 1px 12px}.selector ul p{height:24px}.selector ul span.user-title{font-weight:normal}.selector ul span.user-last-message{font-size:14px}.selector ul li{padding-bottom:0}.selector ul li>.rp{margin:0px 9px 0px 8px;padding:12px 8.5px}.selector hr{margin:0 0 8px}.selector [type="checkbox"]+span{padding-left:calc(9px + 2.25rem)}.selector .checkbox{margin-top:11px;padding-left:11px}.popup{position:fixed !important;left:0;top:0;height:100%;max-width:none;width:100%;z-index:3;background-color:rgba(0,0,0,0.3);margin:0;padding:0;box-shadow:none;opacity:0;visibility:hidden;-webkit-transition:opacity 0.3s 0s, visibility 0s 0.3s;-moz-transition:opacity 0.3s 0s, visibility 0s 0.3s;transition:opacity 0.3s 0s, visibility 0s 0.3s;overflow:auto;display:flex;align-items:center;justify-content:center}.popup.active{opacity:1;visibility:visible;-webkit-transition:opacity 0.3s 0s, visibility 0s 0s;-moz-transition:opacity 0.3s 0s, visibility 0s 0s;transition:opacity 0.3s 0s, visibility 0s 0s}.popup.active .popup-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.popup-container{position:relative;border-radius:10px;background-color:#fff;padding:1rem;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px);backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;transition-property:transform;-webkit-transition-duration:0.3s;-moz-transition-duration:0.3s;transition-duration:0.3s}.popup-close{cursor:pointer;color:#707579;z-index:3;text-align:center;justify-self:center;line-height:1;transition:.2s}.popup-close:hover{color:#000}.popup-header{display:flex;margin-bottom:2rem;align-items:center}.popup-avatar .popup-container{max-width:600px;padding:15px 16px 16px 24px;overflow:hidden;display:flex;flex-direction:column}.popup-avatar .popup-container>button{position:absolute;bottom:20px;right:20px}.popup-avatar .popup-close{font-size:1.5rem;margin-top:4px}.popup-avatar .popup-header{margin-bottom:1px}.popup-avatar h6{font-size:1.25rem;text-align:left;margin:0;margin-left:2rem}.popup-avatar .crop{max-width:100%;max-height:100%;padding:24px 54px 46px 46px;border-radius:8px}.popup-avatar .crop>img{display:none}.popup-avatar .crop img{border-radius:8px}.popup-send-photo .popup-container{width:420px;max-width:420px;overflow:hidden;padding:12px 20px 32.5px}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo{max-height:320px;margin:0 auto}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo img{object-fit:contain}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo>div{display:flex;justify-content:center}.popup-send-photo .popup-container.is-album .popup-photo{margin:0 auto;position:relative}.popup-send-photo .popup-container.is-album .popup-photo>div{position:absolute}.popup-send-photo .popup-container.is-document .popup-photo img,.popup-send-photo .popup-container.is-document .popup-photo video,.popup-send-photo .popup-container.is-album .popup-photo img,.popup-send-photo .popup-container.is-album .popup-photo video{object-fit:cover;width:100%;height:100%}.popup-send-photo .popup-header{justify-content:space-between;align-items:center;margin-bottom:9px}.popup-send-photo .popup-header .btn-primary{width:79px;height:36px;font-size:14px;font-weight:normal;padding:0;padding-top:2px;margin-top:-3px;border-radius:10px}.popup-send-photo .popup-close{font-size:1.5rem;margin:-1px 0 0 -4px}.popup-send-photo .popup-title{flex:1;padding:0 2rem 0 1.5rem;margin:0;margin-top:-3px;font-size:1.25rem;font-weight:500}.popup-send-photo .popup-photo{max-width:380px;overflow:hidden;width:fit-content;border-radius:10px}.popup-send-photo .popup-photo .document{max-width:100%;overflow:hidden;cursor:default;padding-left:3.75rem;height:4.5rem}.popup-send-photo .popup-photo .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.popup-send-photo .popup-photo .document-ico{height:48px;width:48px;font-size:16px;font-weight:normal;line-height:11px;letter-spacing:0}.popup-send-photo .input-field{margin-top:1rem}.popup-send-photo .input-field::placeholder{color:#a2acb4}.popup-send-photo .input-field input{height:54px;font-size:1rem;padding:0 15px;border-radius:10px}.popup-send-photo .input-field input:focus{padding:0 14.5px}.popup-send-photo .input-field label{font-size:inherit;opacity:0}.popup-peer .popup-header{display:flex;margin-bottom:0.4375rem;align-items:center;padding:0.125rem 0.25rem}.popup-peer .popup-container{padding:1rem 1.5rem 0.75rem 1rem}.popup-peer .popup-title{padding-left:0.75rem;font-size:1.25rem;font-weight:500;margin-bottom:0.125rem;text-transform:capitalize}.popup-peer .popup-description{padding:0 0.25rem;margin-top:0;margin-bottom:1.625rem;min-width:15rem;max-width:fit-content}.popup-peer .popup-buttons{margin-right:-0.75rem}.popup-peer .popup-buttons .btn{font-weight:500}.popup-peer .popup-buttons .btn+.btn{margin-top:0.625rem}.popup-peer .peer-avatar{height:2rem;width:2rem}html,body{height:100%;width:100%}html{font-size:16px}a{color:#50a2e9}button,input,optgroup,select,textarea,html{font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}.whole{height:100vh;min-height:100vh;width:100%;margin:0 auto;max-width:1680px}.disable-hover,.disable-hover *{pointer-events:none !important}.container{margin:0 auto}h1,h2,h3,h4,h5,h6{font-weight:500}body.is-mac *{font-weight:normal !important}h4{font-size:2rem;margin:22px 0 14px;line-height:110%}input{caret-color:#4EA4F6}.subtitle{color:#707579;line-height:1.35}.page-authCode .auth-image{transform:translateY(12px)}.page-authCode .phone-wrapper{display:flex;align-items:center;justify-content:center}.page-authCode .phone-wrapper h4[contenteditable="true"]{padding:0 1rem;border:none;outline:none;padding:0 1rem;border-bottom:2px solid #4EA4F6}.page-authCode .phone-wrapper .phone.error{border-color:#E53935 !important}.page-authCode .subtitle{margin-top:0}.btn-icon{text-align:center;font-size:1.5rem;line-height:1.5rem;border-radius:50%;-webkit-transition:background-color .15s ease-out;transition:background-color .15s ease-out;color:#707579;cursor:pointer;background:none;border:none;padding:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.btn-icon.active{color:#50a2e9}.btn-icon:hover{background-color:rgba(112,117,121,0.08)}.btn-corner{position:absolute !important;bottom:20px;right:20px;transition:.2s ease;transform:translateY(calc(100% + 20px));z-index:3}.btn-corner.is-visible{transform:translateY(0px)}.danger{color:#E53935 !important}.btn-menu{visibility:hidden;position:absolute;background:#fff;box-shadow:0 5px 8px 1px rgba(0,0,0,0.24);z-index:3;top:100%;margin-top:8px;padding:9px 0;border-radius:10px;opacity:0;transform:scale(0.8);transition-property:opacity,transform,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);font-size:16px}.btn-menu.active{visibility:visible;opacity:1;transform:scale(1)}.btn-menu.bottom-left{right:0;top:100%;transform-origin:top right}.btn-menu.bottom-right{left:0;top:100%;transform-origin:top left}.btn-menu.top-left{top:initial;right:0;bottom:100%;transform-origin:bottom right}.btn-menu.top-right{top:initial;left:0;bottom:100%;transform-origin:bottom left}.btn-menu>div{display:flex;position:relative;padding:0 40px 0 20px;height:56px;cursor:pointer;background-position:16px center;background-size:24px 24px;background-repeat:no-repeat;color:#000;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-items:center}.btn-menu>div:hover{background-color:rgba(112,117,121,0.06)}.btn-menu>div:before{color:#707579;font-size:1.5rem;margin-right:32px}.btn-menu>div.danger:before{color:#E53935}#bubble-contextmenu,#dialogs-contextmenu{position:fixed;right:auto;bottom:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInFadeOut{0%{opacity:0}10%{opacity:1}50%{opacity:1}to{opacity:0}}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);padding:.5rem 1rem;background-color:rgba(0,0,0,0.66);color:#fff;font-size:1rem;border-radius:10px;animation:fadeInFadeOut 3s linear forwards}hr{width:100%;border:none;border-bottom:1px solid #DADCE0;margin:0 0 8px}avatar-element{color:#fff;width:54px;height:54px;line-height:54px;border-radius:50%;background-color:#50a2e9;text-align:center;font-size:1.25em;position:relative;user-select:none;display:flex;align-items:center;justify-content:center}avatar-element img{width:100%;height:100%;border-radius:inherit;user-select:none}avatar-element img.fade-in{animation:fadeIn .2s ease forwards}avatar-element[class*=" tgico-"]{line-height:52px;font-size:28px}avatar-element path{fill:white}avatar-element.is-online:after{position:absolute;content:" ";display:block;border-radius:50%;border:2px solid white;background-color:#0ac630;left:74%;top:73%;width:14px;height:14px}avatar-element.tgico-avatar_deletedaccount{font-size:3rem}.user-title,b{color:#000;font-weight:500}.user-last-message b{font-weight:400}.rp{position:relative}.c-ripple{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden;background:transparent;border-radius:inherit}.c-ripple__circle{background-color:rgba(0,0,0,0.08);display:block;position:absolute;transform:scale(0);border-radius:50%;animation:ripple-effect .7s forwards;transition:.35s opacity;overflow:hidden}.c-ripple__circle.hiding{opacity:0}@keyframes ripple-effect{0%{transform:scale(0)}to{transform:scale(2)}}.document{padding-left:4.5rem;height:70px}.document-ico{background-color:#50a2e9;border-radius:5px;line-height:10px}.document-ico:after{content:"";display:block;position:absolute;top:0;right:0;width:1.125rem;height:1.125rem;border-bottom-left-radius:.25rem;border-left:0.5625rem solid rgba(0,0,0,0.25);border-bottom:0.5625rem solid rgba(0,0,0,0.25);border-top:.5625rem solid #fff;border-right:.5625rem solid #fff}.document-ico,.document-download{font-weight:500;letter-spacing:1px;font-size:1.1rem;background-size:contain;overflow:hidden;text-overflow:ellipsis}.document-download{background-color:#50a2e9;border-radius:8px}.document.ext-zip .document-ico,.document.ext-zip .document-download{background-color:#FB8C00}.document.ext-pdf .document-ico,.document.ext-pdf .document-download{background-color:#DF3F40}.document.ext-apk .document-ico,.document.ext-apk .document-download{background-color:#43A047}.document:not(.photo) .document-ico{padding-top:1.5rem}.document.photo .document-ico{background:#000;border-radius:8px}.document.photo .document-ico:after{display:none}.document-name{white-space:nowrap;font-weight:500;line-height:1.3}.document-size{white-space:nowrap;color:#707579;font-size:14px;padding-right:32px;line-height:1.3}.document,.audio{display:flex;flex-direction:column;justify-content:center;cursor:pointer;position:relative}.document-ico,.document-download,.audio-ico,.audio-download{position:absolute;left:0;width:54px;height:54px;color:#fff;display:flex;justify-content:center}.document-download,.audio-download{z-index:1;align-items:center;font-size:24px;cursor:pointer}.document-download .tgico-download,.audio-download .tgico-download{transform:scale(1);transition:.2s scale}.document-download.downloading .tgico-download,.audio-download.downloading .tgico-download{transform:scale(0)}.document .preloader-container,.audio .preloader-container{width:42px;height:42px}.audio{position:relative;padding-left:67px;min-height:58px;max-width:244px;overflow:visible !important}.audio-toggle,.audio-download{border-radius:50%;background-color:#50a2e9;font-size:2.3rem;align-items:center}.audio-download{z-index:2}.audio-waveform{height:23px}.audio-waveform rect{fill:#CBCBCB}.audio-waveform rect.active{fill:#50a2e9}.audio-title{font-size:1rem;color:#000}.audio-time,.audio-subtitle{font-size:14px;color:#707579;margin-top:3px;margin-left:-1px}.audio-title,.audio:not(.audio-show-progress) .audio-subtitle{white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}#auth-pages{max-width:720px;overflow:hidden}#auth-pages .subtitle{margin:0}#auth-pages .input-wrapper{margin-top:49px}#auth-pages .tabs-container{height:100%;transform:translateX(0);width:100%}#auth-pages .tabs-container.animated{transition:.42s transform}#auth-pages .tabs-container>div:before,#auth-pages .tabs-container>div:after{content:" ";flex:1;min-height:3rem;width:100%}#auth-pages .tabs-container>div>div{height:810px;padding:0;flex:1 1 auto;display:flex;flex-direction:column}@media (max-height: 858px){#auth-pages{height:auto}}.page-sign .auth-image,.page-signUp .auth-image{width:10rem;height:10rem;margin-bottom:1.5rem}.page-sign .qr,.page-signQR .qr{margin-top:1.5rem}.page-sign p.qr-description,.page-signQR p.qr-description{color:#707579;line-height:1.85;text-align:left;margin-left:auto;margin-right:auto}.avatar-edit{position:relative;border-radius:50%;cursor:pointer;overflow:hidden}.avatar-edit-canvas{max-width:100%;max-height:100%;width:100%;height:100%;background-color:#50a2e9}.avatar-edit .tgico-cameraadd{position:absolute;font-size:48px;line-height:48px;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);z-index:2;color:#fff}.avatar-edit .avatar-placeholder{position:absolute;left:0;top:0;width:100%;height:100%;filter:brightness(0.7)}.page-signUp .auth-image{margin-top:10px;margin-bottom:14px}.input-wrapper{width:360px;margin:0 auto}.input-field{position:relative}.input-field .arrow-down{position:absolute;content:" ";top:50%;bottom:0;right:21px;cursor:pointer;height:0;width:0;border:solid #bdbdbd;border-radius:1px;border-width:0 2px 2px 0;display:inline-block;padding:5px;vertical-align:middle;z-index:2;margin-top:-9px;transform:rotate(45deg);-webkit-transform:rotate(45deg);transition:.2s all}.input-field label{position:absolute;color:#9e9e9e;left:1rem;right:auto;z-index:2;top:50%;transform:translateY(-50%);background-color:#fff;transition:.2s all, .1s opacity;display:inline-block;cursor:text}.input-field input{border:1px solid #DADCE0;border-radius:10px;padding:0 1rem;box-sizing:border-box;width:100%;height:54px;transition:.2s border-color;position:relative;z-index:1}.input-field input:focus{border-color:#4EA4F6;border-width:2px;padding:0 calc(1rem - 1px)}.input-field input:disabled{background-color:#fff;color:#000}.input-field input.error{border-color:#E53935}.input-field input.error+label{color:#E53935 !important}.input-field input.valid{border-color:#26962F}.input-field input.valid+label{color:#26962F !important}.input-field input:focus ~ .arrow-down{margin-top:-4px;transform:rotate(225deg);-webkit-transform:rotate(225deg);border-color:#4EA4F6}.input-field input:focus+label{color:#4EA4F6}.input-field input:focus+label,.input-field input:valid+label,.input-field input:disabled+label{top:-.5rem;transform:none;padding:0 5px;left:.75rem;font-size:0.75rem !important;opacity:1}.checkbox-field{margin:1.25rem 0;display:block;text-align:left;padding:0 19px;position:relative}[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="checkbox"]+span{position:relative;padding-left:calc(18px + 2.25rem);cursor:pointer;display:inline-block;height:25px;line-height:25px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:before,[type="checkbox"]+span:after{content:\'\';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s}[type="checkbox"]+span:before{border-radius:2px;z-index:1}[type="checkbox"]+span:after{height:18px;width:18px;z-index:0;border:2px solid #4EA4F6;border-radius:3px;top:50%;transform:translateY(-50%)}[type="checkbox"]:not(:checked)+span:before{width:0;height:0;border:2px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked+span:before{top:4px;left:-1px;width:8px;height:14px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:not(:checked)+span:after{background-color:transparent;border-color:#8d969c}[type="checkbox"]:checked+span:after{background-color:#4EA4F6}.input-wrapper>*+*{margin-top:1.5rem}.select-wrapper{max-height:23.5rem;position:absolute;width:100%;top:calc(100% + .5rem);left:0;overflow:hidden;background-color:#fff;z-index:3;border-radius:10px;display:flex;flex-direction:column;flex-wrap:wrap}.select-wrapper ul{margin:.5rem 0}.select-wrapper li{align-items:center;padding:0 1rem;justify-content:space-between;height:3.5rem;cursor:pointer;text-align:left;display:grid;grid-template-columns:calc(26px + 2rem) 1fr 50px}.select-wrapper li:hover{background-color:rgba(112,117,121,0.08)}.select-wrapper .emoji{height:26px;width:26px;font-size:26px;line-height:1}.select-wrapper .scrollable{position:relative}.phone-code{color:#9e9e9e;text-align:right}::placeholder{color:#a2acb4;opacity:1}:-ms-input-placeholder{color:#a2acb4}::-ms-input-placeholder{color:#a2acb4}input:focus,button:focus{outline:none}.auth-image{width:166px;height:166px;margin:0 auto 18px}.phone-edit{display:inline-block;width:24px;height:24px;margin-left:.4rem;opacity:.5;transition:.2s;cursor:pointer;font-size:1.5rem}.phone-edit:hover{opacity:1}.btn-primary{background:#50a2e9;color:#fff;border-radius:10px;width:100%;text-align:center;height:54px;border:none;font-weight:500;cursor:pointer;overflow:hidden;position:relative;padding:0}.btn-primary:hover{background:#2c8fe4}.btn-primary svg,.btn-primary use{height:calc(100% - 20px);right:15px;left:auto}.btn-primary.btn-circle .preloader-circular{height:calc(100% - 20px);right:auto;left:auto;margin:0;top:10px}.btn-primary.btn-circle .preloader-circular .preloader-path{stroke:#fff}.btn-menu-toggle{position:relative;overflow:visible !important;font-weight:normal !important}.btn-menu-toggle:not(.btn-primary).menu-open{background-color:rgba(112,117,121,0.08)}.preloader-circular{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.preloader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:white;stroke-width:3}.preloader-container{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:50px;height:50px}.preloader-container .you-spin-me-round{width:100%;height:100%;animation:rotate 2s linear infinite}.preloader-container .preloader-circular{animation:none;cursor:pointer;background-color:rgba(0,0,0,0.7);border-radius:50%;width:100%;height:100%}.preloader-container .preloader-path-new{stroke-dasharray:5, 200;stroke-dashoffset:0;transition:stroke-dasharray 400ms ease-in-out;stroke-linecap:round;stroke:white;stroke-width:1.5}.preloader-container.preloader-swing{cursor:default}.preloader-container.preloader-swing .preloader-circular{cursor:default}.preloader-container.preloader-swing .preloader-path-new{stroke-dasharray:1, 200;stroke-dashoffset:0;animation:dashNew 1.5s ease-in-out infinite}.preloader-container .preloader-close{cursor:pointer;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;color:#fff;stroke:#fff;width:34%;height:34%}.preloader-container .preloader-close:hover{background:none}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}@keyframes dashNew{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-286%}}.emoji{display:inline-block;max-width:100%;max-height:100%;vertical-align:middle;line-height:1em;font-size:1em;font-family:apple color emoji,segoe ui emoji,noto color emoji,android emoji,emojisymbols,emojione mozilla,twemoji mozilla,segoe ui symbol}img.emoji{width:18px;height:18px}.btn-circle{border-radius:50%;height:54px;width:54px;line-height:54px}.btn-circle path{fill:white}.overlay::selection{background:transparent}.crop-component::selection{background:transparent}.crop-image,.overlay>img{width:auto;height:auto;display:block;object-fit:contain;object-position:center}.crop-image{display:block;position:relative;pointer-events:none}.crop-component{position:relative;z-index:999;background-color:white;margin:0 auto;overflow:hidden}.crop-component>img{max-width:100%}.crop-component .crop-overlay-color{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);border-radius:8px}.overlay{position:absolute;left:50%;top:50%;z-index:999;margin-left:-100px;margin-top:-100px;width:200px;height:200px;overflow:hidden;box-sizing:content-box;border-radius:50%}.overlay:hover,.overlay:active{cursor:move}.overlay>img{position:absolute;display:block}[contenteditable]{-webkit-user-select:text;user-select:text}.justify-start{justify-content:flex-start !important}.position-center{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.sticky_sentinel{position:absolute;left:0;right:0;visibility:hidden;pointer-events:none}.page-chats{display:flex;max-height:100vh;min-height:100vh}.page-chats .avatar-edit .tgico-cameraadd{top:52%}.page-chats>div{height:100%;position:relative;min-height:100%;max-height:100%}.page-chats #column-left{width:25%}.page-chats .chat-container{background-color:#e6ebee;width:100%;flex:1}.page-chats .preloader{width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}.page-chats .preloader-path{stroke:#4EA4F6}.page-chats #search-container,.page-chats .sidebar-search{flex-direction:column;width:100%;max-height:100%;height:100%;overflow:hidden;position:absolute;left:0;top:0;z-index:3;background:#fff}@media (min-width: 1680px){.page-chats{border-top-width:0;border-bottom-width:0;border-left-width:1px;border-right-width:1px;border-style:solid;border-color:#DADCE0}}.page-password #password{padding-right:2.5rem}.page-password #password[type="password"]{font-size:2.25rem;padding-left:10px}.page-password .toggle-visible{position:absolute;right:.25rem;z-index:2;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#9e9e9e;cursor:pointer;transition:.2s;padding:.5rem}.page-password .toggle-visible:hover{color:#000}\n',""]),e.exports=t},function(e,t){e.exports="assets/img/camomile_blurred.jpg"},function(e,t){e.exports="assets/img/msg-tail-left.svg"},function(e,t){e.exports="assets/img/msg-tail-right.svg"},function(e,t,i){var s=i(33),a=i(63);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){var s=i(34),a=i(40),o=i(64),n=i(65),r=i(66),l=i(67);t=s(!1);var d=a(o),c=a(n),u=a(r),h=a(l);t.push([e.i,'@font-face{font-family:"tgico";src:url('+d+");src:url("+d+') format("embedded-opentype"),url('+c+') format("truetype"),url('+u+') format("woff"),url('+h+') format("svg");font-weight:normal;font-style:normal;font-display:block}[class^="tgico-"],.tgico:before,.tgico:after,[class*=" tgico-"]:before,[class*=" tgico-"]:after{font-family:"tgico" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tgico-check:before{content:""}.tgico-checks:before{content:""}.tgico-activesessions:before{content:"\\e902"}.tgico-add:before{content:"\\e903"}.tgico-addmember_filled:before{content:"\\e904"}.tgico-adduser:before{content:"\\e905"}.tgico-admin:before{content:"\\e906"}.tgico-animals:before{content:"\\e907"}.tgico-archive:before{content:"\\e908"}.tgico-attach:before{content:"\\e909"}.tgico-avatar_archivedchats:before{content:"\\e90a"}.tgico-avatar_deletedaccount:before{content:"\\e90b"}.tgico-avatar_savedmessages:before{content:"\\e90c"}.tgico-back:before{content:"\\e90d"}.tgico-bots:before{content:"\\e90e"}.tgico-calendar:before{content:"\\e90f"}.tgico-camera:before{content:"\\e910"}.tgico-cameraadd:before{content:"\\e911"}.tgico-car:before{content:"\\e912"}.tgico-channel:before{content:"\\e913"}.tgico-channelviews:before{content:"\\e914"}.tgico-chatsplaceholder:before{content:"\\e915"}.tgico-check1:before{content:"\\e916"}.tgico-checkbox:before{content:"\\e917"}.tgico-checkboxblock:before{content:"\\e918"}.tgico-checkboxempty:before{content:"\\e919"}.tgico-checkboxon:before{content:"\\e91a"}.tgico-close:before{content:""}.tgico-clouddownload:before{content:"\\e91c"}.tgico-colorize:before{content:"\\e91d"}.tgico-copy:before{content:"\\e91e"}.tgico-data:before{content:"\\e91f"}.tgico-delete:before{content:"\\e920"}.tgico-delete_filled:before{content:"\\e921"}.tgico-deleteleft:before{content:"\\e922"}.tgico-deleteuser:before{content:"\\e923"}.tgico-document:before{content:"\\e924"}.tgico-down:before{content:"\\e925"}.tgico-download:before{content:"\\e926"}.tgico-eats:before{content:"\\e927"}.tgico-edit:before{content:"\\e928"}.tgico-eye1:before{content:"\\e929"}.tgico-eye2:before{content:"\\e92a"}.tgico-favourites:before{content:"\\e92b"}.tgico-flag:before{content:"\\e92c"}.tgico-folder:before{content:"\\e92d"}.tgico-forward:before{content:"\\e92e"}.tgico-FullScreen:before{content:"\\e92f"}.tgico-gifs:before{content:"\\e930"}.tgico-group:before{content:"\\e931"}.tgico-help:before{content:"\\e932"}.tgico-info:before{content:"\\e933"}.tgico-info2:before{content:"\\e934"}.tgico-keyboard:before{content:"\\e935"}.tgico-lamp:before{content:"\\e936"}.tgico-language:before{content:"\\e937"}.tgico-largepause:before{content:"\\e938"}.tgico-largeplay:before{content:"\\e939"}.tgico-livelocation:before{content:"\\e93a"}.tgico-location:before{content:"\\e93b"}.tgico-lock:before{content:"\\e93c"}.tgico-logout:before{content:"\\e93d"}.tgico-menu:before{content:"\\e93e"}.tgico-message:before{content:"\\e93f"}.tgico-microphone:before{content:"\\e940"}.tgico-microphone2:before{content:"\\e941"}.tgico-minus:before{content:"\\e942"}.tgico-more:before{content:"\\e943"}.tgico-mute:before{content:"\\e944"}.tgico-muted:before{content:"\\e945"}.tgico-newchannel:before{content:"\\e946"}.tgico-newchat_filled:before{content:"\\e947"}.tgico-newgroup:before{content:"\\e948"}.tgico-newprivate:before{content:"\\e949"}.tgico-next:before{content:""}.tgico-noncontacts:before{content:"\\e94b"}.tgico-nosound:before{content:"\\e94c"}.tgico-pause:before{content:"\\e94d"}.tgico-permissions:before{content:"\\e94e"}.tgico-phone:before{content:"\\e94f"}.tgico-photo:before{content:"\\e950"}.tgico-pin:before{content:"\\e951"}.tgico-pinnedchat:before{content:"\\e952"}.tgico-play:before{content:"\\e953"}.tgico-poll:before{content:"\\e954"}.tgico-radiooff:before{content:"\\e955"}.tgico-radioon:before{content:"\\e956"}.tgico-readchats:before{content:"\\e957"}.tgico-recent:before{content:"\\e958"}.tgico-reply:before{content:"\\e959"}.tgico-revote:before{content:"\\e95a"}.tgico-savedmessages:before{content:"\\e95b"}.tgico-search:before{content:"\\e95c"}.tgico-send:before{content:"\\e95d"}.tgico-send2:before{content:"\\e95e"}.tgico-sending:before{content:""}.tgico-sendingerror:before{content:"\\e960"}.tgico-settings:before{content:"\\e961"}.tgico-smallscreen:before{content:"\\e962"}.tgico-smile:before{content:"\\e963"}.tgico-sport:before{content:"\\e964"}.tgico-stickers:before{content:"\\e965"}.tgico-stop:before{content:"\\e966"}.tgico-tip:before{content:"\\e967"}.tgico-unarchive:before{content:"\\e968"}.tgico-unlock:before{content:"\\e969"}.tgico-unmute:before{content:"\\e96a"}.tgico-unpin:before{content:"\\e96b"}.tgico-unread:before{content:"\\e96c"}.tgico-up:before{content:"\\e96d"}.tgico-user:before{content:"\\e96e"}.tgico-username:before{content:"\\e96f"}\n',""]),e.exports=t},function(e,t){e.exports="assets/fonts/tgico.eot"},function(e,t){e.exports="assets/fonts/tgico.ttf"},function(e,t){e.exports="assets/fonts/tgico.woff"},function(e,t){e.exports="assets/fonts/tgico.svg"},function(e,t,i){!function(){"use strict";e.exports={polyfill:function(){var e=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var i,s=e.HTMLElement||e.Element,a=468,o={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:s.prototype.scroll||l,scrollIntoView:s.prototype.scrollIntoView},n=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,r=(i=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(i)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==d(arguments[0])?p.call(e,t.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):o.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(d(arguments[0])?o.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):p.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},s.prototype.scroll=s.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==d(arguments[0])){var e=arguments[0].left,t=arguments[0].top;p.call(this,this,void 0===e?this.scrollLeft:~~e,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},s.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==d(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},s.prototype.scrollIntoView=function(){if(!0!==d(arguments[0])){var i=function(e){for(;e!==t.body&&!1===(s=c(i=e,"Y")&&u(i,"Y"),a=c(i,"X")&&u(i,"X"),s||a);)e=e.parentNode||e.host;var i,s,a;return e}(this),s=i.getBoundingClientRect(),a=this.getBoundingClientRect();i!==t.body?(p.call(this,i,i.scrollLeft+a.left-s.left,i.scrollTop+a.top-s.top),"fixed"!==e.getComputedStyle(i).position&&e.scrollBy({left:s.left,top:s.top,behavior:"smooth"})):e.scrollBy({left:a.left,top:a.top,behavior:"smooth"})}else o.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function l(e,t){this.scrollLeft=e,this.scrollTop=t}function d(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function c(e,t){return"Y"===t?e.clientHeight+r1?1:l,i=.5*(1-Math.cos(Math.PI*r)),s=t.startX+(t.x-t.startX)*i,o=t.startY+(t.y-t.startY)*i,t.method.call(t.scrollable,s,o),s===t.x&&o===t.y||e.requestAnimationFrame(h.bind(e,t))}function p(i,s,a){var r,d,c,u,p=n();i===t.body?(r=e,d=e.scrollX||e.pageXOffset,c=e.scrollY||e.pageYOffset,u=o.scroll):(r=i,d=i.scrollLeft,c=i.scrollTop,u=l),h({scrollable:r,method:u,startTime:p,startX:d,startY:c,x:s,y:a})}}}}()},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(35)),o=s(i(70)),n=s(i(22)),r=s(i(52)),l=s(i(14)),d=s(i(1)),c=s(i(18));i(21);let u=null;let h=null,p=null;const m=new c.default("page-authCode",!0,()=>{let e,t,i=0,s=0;const c=u.type.length,h=m.pageEl.querySelector("#code"),p=h.nextElementSibling,g=m.pageEl.querySelector(".phone-edit");h.focus(),g.addEventListener("click",(function(){return a.default.mount()}));let f=()=>{setTimeout(()=>{e&&e.destroy(),t&&t.destroy()},300)};h.addEventListener("input",(function(a){this.classList.remove("error"),this.value=this.value.replace(/\D/g,""),this.value.length>c&&(this.value=this.value.slice(0,c));let l,m=this.value.length;if(m==c)(e=>{h.setAttribute("disabled","true");let t={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,phone_code:e};console.log("invoking auth.signIn with params:",t),d.default.invokeApi("auth.signIn",t,{ignoreErrors:!0}).then(e=>{switch(console.log("auth.signIn response:",e),e._){case"auth.authorization":d.default.setUserAuth({id:e.user.id}),n.default.mount(),f();break;case"auth.authorizationSignUpRequired":console.log("Registration needed!"),o.default.mount({phone_number:u.phone_number,phone_code_hash:u.phone_code_hash}),f();break;default:h.innerText=e._}}).catch(e=>{switch(h.removeAttribute("disabled"),e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageAuthCode: SESSION_PASSWORD_NEEDED"),e.handled=!0,f(),r.default.mount();break;case"PHONE_CODE_EMPTY":case"PHONE_CODE_INVALID":h.classList.add("error"),p.innerText="Invalid Code";break;default:p.innerText=e.type}})})(this.value);else if(m==s)return;if(s=m,!e)return;m?(l=Math.round(Math.min(45,m)*(165/45)+11.33),t.canvas.style.display="none",e.canvas.style.display=""):l=0;let g=i>l?-1:1;console.log("keydown",m,l,g),e.setDirection(g),0!=i&&0==l&&e.setSpeed(7),i=l,e.play()}));let b=m.pageEl.querySelector(".auth-image");return Promise.all([l.default.loadLottieWorkers(),fetch("assets/img/TwoFactorSetupMonkeyIdle.tgs").then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(e=>l.default.loadAnimationWorker({container:b,loop:!0,autoplay:!0,animationData:JSON.parse(e),width:166,height:166})).then(e=>{t=e}),fetch("assets/img/TwoFactorSetupMonkeyTracking.tgs").then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(e=>l.default.loadAnimationWorker({container:b,loop:!1,autoplay:!1,animationData:JSON.parse(e),width:166,height:166})).then(s=>{e=s,h.value.length||(e.canvas.style.display="none"),e.addListener("enterFrame",s=>{console.log("enterFrame",s,i),(1==e.direction&&s>=i||-1==e.direction&&s<=i)&&(e.setSpeed(1),e.pause()),0==s&&0==i&&(e.curFrame=0,t&&(e.canvas.style.display="none",t.canvas.style.display="",t.restart()))})})])},e=>{switch(u=e,h||(h=m.pageEl.getElementsByClassName("phone")[0],p=m.pageEl.getElementsByClassName("sent-type")[0]),h.innerText=u.phone_number,u.type._){case"auth.sentCodeTypeSms":p.innerHTML="We have sent you an SMS
with the code.";break;case"auth.sentCodeTypeApp":p.innerHTML="We have sent you a message in Telegram
with the code.";break;case"auth.sentCodeTypeCall":p.innerHTML="We will call you and voice
the code.";break;default:p.innerHTML=`Please check everything
for a code (type: ${u.type._})`}});t.default=m},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(2),o=s(i(22)),n=s(i(1)),r=s(i(18)),l=s(i(50)),d=s(i(16));let c=null;const u=new r.default("page-signUp",!0,()=>{const e=u.pageEl,t=e.querySelector("#canvas-avatar");let i;e.querySelector(".auth-image").addEventListener("click",()=>{l.default.open(t,e=>{i=e})});const s=e.getElementsByClassName("fullName")[0];let r=function(e){let t=h.value||"",i=p.value||"",a=t||i?(t+" "+i).trim():"Your Name";s.innerText!=a&&(s.innerText=a),this.classList.remove("error")};const h=document.getElementById("name");h.addEventListener("input",r);const p=document.getElementById("lastName");p.addEventListener("input",r),document.getElementById("signUp").addEventListener("click",(function(e){if(this.setAttribute("disabled","true"),!h.value.length)return h.classList.add("error"),!1;let t=h.value,s=p.value,r={phone_number:c.phone_number,phone_code_hash:c.phone_code_hash,first_name:t,last_name:s};console.log("invoking auth.signUp with params:",r),this.textContent="PLEASE WAIT...",a.putPreloader(this),n.default.invokeApi("auth.signUp",r).then(e=>{switch(console.log("auth.signUp response:",e),e._){case"auth.authorization":n.default.setUserAuth({id:e.user.id}),new Promise((e,t)=>{if(!i)return console.log("User has not selected avatar"),e();console.log("invoking uploadFile..."),i().then(i=>{console.log("uploaded smthn",i),d.default.uploadProfilePhoto(i).then(e,t)},t)}).then(()=>{o.default.mount()},()=>{o.default.mount()});break;default:this.innerText=e._}}).catch(e=>{this.removeAttribute("disabled"),e.type,this.innerText=e.type})}))},e=>{c=e});t.default=u},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=i(2),n=s(i(14));const r=new class{constructor(){this.pageID=-1,this.pagesDiv=document.getElementById("auth-pages"),this.selectTab=o.horizontalMenu(null,this.pagesDiv.firstElementChild,null,null,420)}setPage(e){if(e.isAuthPage){this.pagesDiv.style.display="";let t=a.whichChild(e.pageEl);if(this.pageID==t)return;this.selectTab(t),-1!=this.pageID&&t>1&&n.default.loadLottieWorkers(),this.pageID=t}else this.pagesDiv.style.display="none",e.pageEl.style.display="",this.pageID=-1}};window.pagesManager=r,t.default=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(10);t.default=class{sha1Hash(e){return this.performTaskWorker("sha1-hash",e)}sha256Hash(e){return this.performTaskWorker("sha256-hash",e)}pbkdf2(e,t,i){return this.performTaskWorker("pbkdf2",e,t,i)}aesEncrypt(e,t,i){return this.performTaskWorker("aes-encrypt",s.convertToArrayBuffer(e),s.convertToArrayBuffer(t),s.convertToArrayBuffer(i))}aesDecrypt(e,t,i){return this.performTaskWorker("aes-decrypt",e,t,i).then(e=>s.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=s.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,i){return this.performTaskWorker("mod-pow",e,t,i)}gzipUncompress(e,t){return this.performTaskWorker("unzip",e,t)}}},function(e,t,i){e.exports=function(){return new Worker(i.p+"02eaa87b9ae14b0f67d2.worker.js")}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(10),o=s(i(26));const n=new class{constructor(){this.dbName="cachedFiles",this.dbStoreName="files",this.dbVersion=2,this.storageIsAvailable=!0,this.storeBlobsAvailable=!0,this.name="IndexedDB",this.openDatabase()}isAvailable(){return this.storageIsAvailable}openDatabase(){if(this.openDbPromise)return this.openDbPromise;var e;try{var t=indexedDB.open(this.dbName,this.dbVersion);if(e=e=>{e.createObjectStore(this.dbStoreName)},!t)throw new Error}catch(e){return console.error("error opening db",e.message),this.storageIsAvailable=!1,Promise.reject(e)}var i=!1;return setTimeout(()=>{i||t.onerror({type:"IDB_CREATE_TIMEOUT"})},3e3),this.openDbPromise=new Promise((s,a)=>{t.onsuccess=e=>{i=!0;var o=t.result;console.log("Opened IndexedDB"),o.onerror=e=>{this.storageIsAvailable=!1,console.error("Error creating/accessing IndexedDB database",e),a(e)},s(o)},t.onerror=e=>{i=!0,this.storageIsAvailable=!1,console.error("Error creating/accessing IndexedDB database",e),a(e)},t.onupgradeneeded=t=>{i=!0,console.warn("performing idb upgrade from",t.oldVersion,"to",t.newVersion);var s=t.target.result;1==t.oldVersion&&s.deleteObjectStore(this.dbStoreName),e(s)}})}deleteFile(e){return this.openDatabase().then(t=>{try{var i=t.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName);console.log("Delete file: `"+e+"`");var s=i.delete(e)}catch(e){return Promise.reject(e)}return new Promise((e,t)=>{s.onsuccess=function(t){console.log("deleted file",t),e()},s.onerror=function(e){t(e)}})})}saveFile(e,t){return this.openDatabase().then(i=>{if(!this.storeBlobsAvailable)return this.saveFileBase64(i,e,t);t instanceof Blob||(t=a.blobConstruct([t]));try{var s=i.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName).put(t,e)}catch(s){return this.storeBlobsAvailable?(this.storeBlobsAvailable=!1,this.saveFileBase64(i,e,t)):(this.storageIsAvailable=!1,Promise.reject(s))}return new Promise((e,i)=>{s.onsuccess=function(i){e(t)},s.onerror=function(e){i(e)}})})}saveFileBase64(e,t,i){if(this.getBlobSize(i)>10485760)return Promise.reject();if(!(i instanceof Blob)){var s="data:"+a.blobSafeMimeType(i.type||"image/jpeg")+";base64,"+a.bytesToBase64(i);return this.storagePutB64String(e,t,s).then(()=>i)}try{var o=new FileReader}catch(e){return this.storageIsAvailable=!1,Promise.reject()}let n=new Promise((s,a)=>{o.onloadend=()=>{this.storagePutB64String(e,t,o.result).then(()=>{s(i)},a)},o.onerror=a});try{o.readAsDataURL(i)}catch(e){return this.storageIsAvailable=!1,Promise.reject()}return n}storagePutB64String(e,t,i){try{var s=e.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName).put(i,t)}catch(e){return this.storageIsAvailable=!1,Promise.reject(e)}return new Promise((e,t)=>{s.onsuccess=function(t){e()},s.onerror=t})}getBlobSize(e){return e.size||e.byteLength||e.length}getFile(e,t){return this.openDatabase().then(t=>{var i=t.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).get(e);return new Promise((e,t)=>{i.onsuccess=function(i){var s=i.target.result;void 0===s?t():"string"==typeof s&&"data:"===s.substr(0,5)?e(a.dataUrlToBlob(s)):e(s)},i.onerror=t})})}getAllKeys(){return console.time("getAllEntries"),this.openDatabase().then(e=>{var t=e.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).getAllKeys();return new Promise((e,i)=>{t.onsuccess=function(t){var i=t.target.result;e(i),console.timeEnd("getAllEntries")},t.onerror=i})})}isFileExists(e){return console.time("isFileExists"),this.openDatabase().then(t=>{var i=t.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).openCursor(e);return new Promise((e,t)=>{i.onsuccess=function(t){var i=t.target.result;e(!!i),console.timeEnd("isFileExists")},i.onerror=t})})}getFileWriter(e,t){var i=o.default.getFakeFileWriter(t,t=>{this.saveFile(e,t)});return Promise.resolve(i)}};t.default=n},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(12)),o=i(21);class n{constructor(){this.disabled=o.Modes.test||-1==o.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;a.default.get("tgme_sync").then(t=>{var i=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>i)return!1;a.default.set({tgme_sync:{canRedirect:e,ts:i}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=n,t.telegramMeWebService=new n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var i,s,a,o={},n=1,r=0,l=0,d=0,c=0;function u(){if(e.dataset.isCrop)throw"image is already crop";e.dataset.isCrop="true",e.classList.add("crop-blur"),e.draggable=!1,(a=new Image).crossOrigin=e.crossOrigin,a.src=e.src,a.draggable=!1,t||(t=document.createElement("canvas")),(i=document.createElement("div")).classList.add("crop-component"),(s=document.createElement("div")).classList.add("overlay");let o=document.createElement("div");o.classList.add("crop-overlay-color"),i.appendChild(s),e.parentNode.appendChild(i),i.appendChild(a),i.appendChild(e),i.appendChild(o),s.appendChild(a),a.style.maxWidth=e.width+"px",h(e.offsetWidth/2-100,e.offsetHeight/2-100),s.addEventListener("mousedown",b,!1),s.addEventListener("touchstart",b,!1),s.addEventListener("wheel",f,!1),document.addEventListener("keypress",g,!1)}function h(e,t){r=-e*n,l=-t*n,a.style.top=-t+"px",a.style.left=-e+"px"}function p(e,t){let i=t+100+"px",a=e+100+"px";s.style.top=i,s.style.left=a}function m(e){e=e*Math.PI*2;var t,i,o,r,l,d,c=Math.floor(s.clientWidth+e),u=Math.floor(s.clientHeight+e),m=a.clientWidth,g=a.clientHeight;c<50||(c>m||(o=(t=s.offsetLeft-e/2)+c,r=(i=s.offsetTop-e/2)+u,t<0&&(t=0),i<0&&(i=0),o>m||r>g||(n=200/c,l=c,d=c,s.style.width=l+"px",s.style.height=d+"px",h(t,i),p(t,i))))}function g(e){switch(e.preventDefault(),String.fromCharCode(e.charCode)){case"+":m(4);break;case"-":m(-4)}}function f(e){e.preventDefault(),m(e.deltaY>0?1:-1)}function b(e){e.preventDefault(),e.stopPropagation(),function(e){o.container_width=s.offsetWidth,o.container_height=s.offsetHeight,o.container_left=s.offsetLeft,o.container_top=s.offsetTop,o.mouse_x=(e.clientX||e.pageX||e.touches&&e.touches[0].clientX)+window.scrollX,o.mouse_y=(e.clientY||e.pageY||e.touches&&e.touches[0].clientY)+window.scrollY}(e),document.addEventListener("mousemove",y),document.addEventListener("touchmove",y),document.addEventListener("mouseup",v),document.addEventListener("touchend",v)}function v(e){e.preventDefault(),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y)}function y(e){var t,i,n,r,l={x:0,y:0};e.preventDefault(),e.stopPropagation(),l.x=e.pageX||e.touches&&e.touches[0].pageX,l.y=e.pageY||e.touches&&e.touches[0].pageY,t=l.x-(o.mouse_x-o.container_left),i=l.y-(o.mouse_y-o.container_top),n=s.offsetWidth,r=s.offsetHeight,t<0?t=0:t>a.offsetWidth-n&&(t=a.offsetWidth-n),i<0?i=0:i>a.offsetHeight-r&&(i=a.offsetHeight-r),h(t,i),p(t,i)}return e.complete?u():e.onload=u,{crop:function(){d=a.width*n,c=a.height*n,t.width=200,t.height=200,t.getContext("2d").drawImage(a,r,l,d,c)},removeHandlers:function(){s.removeEventListener("mousedown",b),s.removeEventListener("touchstart",b),s.removeEventListener("wheel",f),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y),document.removeEventListener("keypress",g),i.remove(),s.remove(),a.remove()}}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(44)),o=i(3),n=i(0);let r=0;const l=[];n.$rootScope.$on("poll_update",e=>{let{poll:t,results:i}=e.detail;for(let e of l)if(e.id==t.id){e.element.performResults(i,t.chosenIndex)}});class d extends HTMLElement{constructor(){super(),this.maxOffset=-46.5,this.isQuiz=!1,this.isRetracted=!1,this.chosenIndex=-1}connectedCallback(){r||(r=document.getElementById("poll-line").getTotalLength(),console.log("line total length:",r));let e=this.getAttribute("poll-id"),{poll:t,results:i}=a.default.getPoll(e);l.push({id:e,element:this}),console.log("pollElement poll:",t,i);let s="";if(t.pFlags)if(t.pFlags.closed)s="Final results";else{t.pFlags.quiz&&(this.isQuiz=!0);let e=this.isQuiz?"Quiz":"Poll";s=(t.pFlags.public_voters?"Public":"Anonymous")+" "+e}let n=t.answers.map((e,t)=>`\n
\n
\n
\n \n \n \n
\n
\n
${o.RichTextProcessor.wrapEmojiText(e.text)}
\n \n
\n `).join("");this.innerHTML=`\n
${t.rQuestion}
\n
${s}
\n ${n}\n
\n `,this.answerDivs=Array.from(this.querySelectorAll(".poll-answer")),this.votersCountDiv=this.querySelector(".poll-votes-count"),this.svgLines=Array.from(this.querySelectorAll(".poll-line")),this.numberDivs=Array.from(this.querySelectorAll(".poll-answer-percents"));let d=this.getBoundingClientRect().width;this.maxLength=d+9+this.maxOffset+-13.7,-1!==t.chosenIndex?this.performResults(i,t.chosenIndex):(this.setVotersCount(i),this.addEventListener("click",this.clickHandler))}disconnectedCallback(){l.findAndSplice(e=>e.element==this)}static get observedAttributes(){return[]}attributeChangedCallback(e,t,i){}adoptedCallback(){}clickHandler(e){let t=n.findUpClassName(e.target,"poll-answer");if(!t)return;let i=+t.dataset.index;this.sendVote(i)}sendVote(e){let t=this.answerDivs[e];t.classList.add("is-voting");let i=+this.getAttribute("message-id");this.classList.add("disable-hover"),a.default.sendVote(i,[e]).then(()=>{t.classList.remove("is-voting"),this.classList.remove("disable-hover")})}performResults(e,t){if(this.chosenIndex!=t&&(this.isRetracted=-1!=this.chosenIndex&&-1==t,this.chosenIndex=t,this.isRetracted?this.addEventListener("click",this.clickHandler):this.removeEventListener("click",this.clickHandler)),-1!=this.chosenIndex||this.isRetracted){const i=e.results.map(t=>t.voters/e.total_voters*100);this.setResults(this.isRetracted?this.percents:i,t),this.percents=i,this.isRetracted=!1}this.setVotersCount(e)}setResults(e,t){if(this.svgLines.forEach(e=>e.style.display=""),-1!==t){let e=this.answerDivs[t];this.selectedSpan||(this.selectedSpan=document.createElement("span"),this.selectedSpan.classList.add("poll-answer-selected","tgico-check")),e.append(this.selectedSpan)}let i=Math.max(...e);if(this.maxLengths=e.map(e=>e/i*this.maxLength),this.isRetracted?this.svgLines.forEach((e,t)=>{this.setLineProgress(t,-1)}):this.svgLines.forEach((e,t)=>{e.getBoundingClientRect(),this.setLineProgress(t,1)}),(e=>{let t=e.reduce((e,t)=>e+Math.round(t),0);if(t>100){let i=t-100,s=e.length;for(let t=0;t=.5&&si&&(i=s,t=a)}if(-1==t)throw new Error("lol chto");e[t]+=1-i}}})(e=e.slice()),this.isRetracted)for(let t=9,i=0;t>=0;--t,++i)setTimeout(()=>{e.forEach((e,i)=>{let s=Math.round(e/10*t);this.numberDivs[i].innerText=s+"%"})},34*i);else for(let t=0;t<10;++t)setTimeout(()=>{e.forEach((e,i)=>{let s=Math.round(e/10*(t+1));this.numberDivs[i].innerText=s+"%"})},34*t);this.isRetracted?(this.classList.add("is-retracting"),this.classList.remove("is-voted"),setTimeout(()=>{this.classList.remove("is-retracting"),this.svgLines.forEach(e=>e.style.display="none")},340)):this.classList.add("is-voted")}setVotersCount(e){let t=e.total_voters||0,i=this.isQuiz?t>1||!t?"answers":"answer":t>1||!t?"votes":"vote";this.votersCountDiv.innerText=""+(e.total_voters?e.total_voters+" "+i:"No "+i)}setLineProgress(e,t){let i=this.svgLines[e];-1==t?(i.style.strokeDasharray="",i.style.strokeDashoffset=""):(i.style.strokeDasharray=t*this.maxLengths[e]+", 485.9",i.style.strokeDashoffset=""+t*this.maxOffset)}}t.default=d,customElements.define("poll-element",d)},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=s(i(9)),n=i(3),r=s(i(1)),l=s(i(43)),d=s(i(15)),c=i(0),u=i(32),h=s(i(5)),p=a(i(79)),m=s(i(14)),g=i(51),f=s(i(80));console.log("Imported recorder!",f.default);t.ChatInput=class{constructor(){this.pageEl=document.getElementById("page-chats"),this.messageInput=document.getElementById("input-message"),this.fileInput=document.getElementById("input-file"),this.inputMessageContainer=document.getElementsByClassName("input-message-container")[0],this.inputScroll=new o.default(this.inputMessageContainer),this.btnSend=document.getElementById("btn-send"),this.emoticonsDropdown=null,this.emoticonsTimeout=0,this.emoticonsLazyLoadQueue=null,this.lastUrl="",this.lastTimeType=0,this.attachMenu={},this.attachMediaPopUp={},this.replyElements={},this.willSendWebPage=null,this.replyToMsgID=0,this.editMsgID=0,this.noWebPage=!1,this.toggleEmoticons=this.pageEl.querySelector(".toggle-emoticons"),this.attachMenu.container=document.getElementById("attach-file"),this.attachMenu.media=this.attachMenu.container.querySelector(".menu-media"),this.attachMenu.document=this.attachMenu.container.querySelector(".menu-document"),this.attachMenu.poll=this.attachMenu.container.querySelector(".menu-poll"),this.attachMediaPopUp.container=this.pageEl.querySelector(".popup-send-photo"),this.attachMediaPopUp.titleEl=this.attachMediaPopUp.container.querySelector(".popup-title"),this.attachMediaPopUp.sendBtn=this.attachMediaPopUp.container.querySelector(".btn-primary"),this.attachMediaPopUp.mediaContainer=this.attachMediaPopUp.container.querySelector(".popup-photo"),this.attachMediaPopUp.captionInput=this.attachMediaPopUp.container.querySelector("input"),this.replyElements.container=this.pageEl.querySelector(".reply-wrapper"),this.replyElements.cancelBtn=this.replyElements.container.querySelector(".reply-cancel"),this.replyElements.titleEl=this.replyElements.container.querySelector(".reply-title"),this.replyElements.subtitleEl=this.replyElements.container.querySelector(".reply-subtitle"),this.messageInput.addEventListener("keydown",e=>{if("Enter"==e.key){if(e.shiftKey||e.ctrlKey||e.metaKey)return;this.sendMessage()}}),this.messageInput.addEventListener("input",e=>{let t=this.messageInput.innerText,i=n.RichTextProcessor.parseEntities(t).find(e=>"messageEntityUrl"==e._);if(i){let e=t.slice(i.offset,i.offset+i.length);this.lastUrl!=e&&(this.lastUrl=e,this.willSendWebPage=null,r.default.invokeApi("messages.getWebPage",{url:e,hash:0}).then(t=>{l.default.saveWebPage(t),this.lastUrl==e&&(console.log("got webpage: ",t),this.setTopInfo(t.site_name||t.title,t.description||t.url),this.replyToMsgID=0,this.noWebPage=!1,this.willSendWebPage=t)}))}if(t.trim()||this.serializeNodes(Array.from(this.messageInput.childNodes)).trim()){if(!this.btnSend.classList.contains("tgico-send")){this.btnSend.classList.add("tgico-send"),this.btnSend.classList.remove("tgico-microphone2");let e=Date.now();e-this.lastTimeType>=6e3&&(this.lastTimeType=e,d.default.setTyping("sendMessageTypingAction"))}}else this.messageInput.innerHTML="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"),d.default.setTyping("sendMessageCancelAction")}),n.RichTextProcessor.emojiSupported||this.messageInput.addEventListener("copy",e=>{const t=document.getSelection();let i=t.getRangeAt(0),s=i.commonAncestorContainer,a="",o=Array.from(s.childNodes).slice(i.startOffset,i.endOffset);a=o.length?this.serializeNodes(o):t.toString(),event.clipboardData.setData("text/plain",a),event.preventDefault()}),this.messageInput.addEventListener("paste",e=>{e.preventDefault();let t=(e.originalEvent||e).clipboardData.getData("text/plain");t=n.RichTextProcessor.wrapEmojiText(t),window.document.execCommand("insertHTML",!1,t)});let e=e=>new Promise((t,s)=>{let a={};a.file=e,console.log("selected file:",e,typeof e,i);let o=document.createElement("div");switch(i.type){case"media":{let i=0===e.type.indexOf("video/");if(o.classList.add("popup-item-media"),i){let i=document.createElement("video"),s=document.createElement("source");s.src=a.objectURL=URL.createObjectURL(e),i.autoplay=!1,i.controls=!1,i.onloadeddata=()=>{a.width=i.videoWidth,a.height=i.videoHeight,a.duration=Math.floor(i.duration),o.append(i),t(o)},i.append(s)}else{let i=new Image;i.src=a.objectURL=URL.createObjectURL(e),i.onload=()=>{a.width=i.naturalWidth,a.height=i.naturalHeight,o.append(i),t(o)}}break}case"document":{let i=u.wrapDocument({file:e,file_name:e.name||"",size:e.size,type:-1!==e.type.indexOf("image/")?"photo":"doc"},!1,!0);o.append(i),t(o);break}}i.sendFileDetails.push(a)}),t=t=>{this.fileInput.value="";let s=this.attachMediaPopUp.container.firstElementChild;if(s.classList.remove("is-media","is-document","is-album"),this.attachMediaPopUp.captionInput.value="",this.attachMediaPopUp.mediaContainer.innerHTML="",this.attachMediaPopUp.mediaContainer.style.width=this.attachMediaPopUp.mediaContainer.style.height="",i.sendFileDetails=[],(t=t.filter(e=>"media"!=i.type||["image/","video/"].find(t=>0===e.type.indexOf(t)))).length)if("document"==i.type)this.attachMediaPopUp.titleEl.innerText="Send "+(t.length>1?t.length+" Files":"File"),s.classList.add("is-document");else{s.classList.add("is-media");let e=0,i=0;t.forEach(t=>{0===t.type.indexOf("image/")?++e:0===t.type.indexOf("video/")&&++i}),e&&i?this.attachMediaPopUp.titleEl.innerText="Send Album":e?this.attachMediaPopUp.titleEl.innerText="Send "+(e>1?e+" Photos":"Photo"):i&&(this.attachMediaPopUp.titleEl.innerText="Send "+(i>1?i+" Videos":"Video"))}Promise.all(t.map(e)).then(e=>{if("media"==i.type)if(i.sendFileDetails.length>1){s.classList.add("is-album");let t=new g.Layouter(i.sendFileDetails.map(e=>({w:e.width,h:e.height})),380,100,4).layout();for(let{geometry:i,sides:s}of t){let t=e.shift();t.style.width=i.width+"px",t.style.height=i.height+"px",t.style.top=i.y+"px",t.style.left=i.x+"px",s&g.RectPart.Right&&(this.attachMediaPopUp.mediaContainer.style.width=i.width+i.x+"px"),s&g.RectPart.Bottom&&(this.attachMediaPopUp.mediaContainer.style.height=i.height+i.y+"px"),this.attachMediaPopUp.mediaContainer.append(t)}console.log("chatInput album layout:",t)}else{let t=i.sendFileDetails[0],s=e[0],{w:a,h:o}=c.calcImageInBox(t.width,t.height,380,320);s.style.width=a+"px",s.style.height=o+"px",this.attachMediaPopUp.mediaContainer.append(s)}else this.attachMediaPopUp.mediaContainer.append(...e);this.attachMediaPopUp.container.classList.add("active")})},i={sendFileDetails:[]};this.fileInput.addEventListener("change",e=>{let i=e.target.files;i.length&&t(Array.from(i))},!1),this.attachMenu.media.addEventListener("click",()=>{i.type="media",this.fileInput.click()}),this.attachMenu.document.addEventListener("click",()=>{i.type="document",this.fileInput.click()}),document.addEventListener("paste",e=>{if(d.default.peerID&&!this.attachMediaPopUp.container.classList.contains("active")){var s=(e.clipboardData||e.originalEvent.clipboardData).items;for(let a=0;a{this.attachMediaPopUp.container.classList.remove("active");let e=this.attachMediaPopUp.captionInput.value;i.isMedia="media"==i.type,console.log("will send files with options:",i);let t=d.default.peerID;if(i.sendFileDetails.length>1&&i.isMedia)h.default.sendAlbum(t,i.sendFileDetails.map(e=>e.file),Object.assign({caption:e,replyToMsgID:this.replyToMsgID},i));else{e&&i.sendFileDetails.length>1&&(h.default.sendText(t,e,{replyToMsgID:this.replyToMsgID}),e="",this.replyToMsgID=0);i.sendFileDetails.map(s=>{let a=h.default.sendFile(t,s.file,Object.assign({isMedia:i.isMedia,caption:e,replyToMsgID:this.replyToMsgID},s));return e="",this.replyToMsgID=0,a})}this.onMessageSent()}),this.btnSend.addEventListener("click",()=>{this.btnSend.classList.contains("tgico-send")&&this.sendMessage()});let s=0;this.toggleEmoticons.onmouseover=e=>{clearTimeout(this.emoticonsTimeout),this.emoticonsTimeout=setTimeout(()=>{if(this.emoticonsDropdown)this.emoticonsDropdown.style.display="",this.emoticonsDropdown.offsetLeft,this.emoticonsDropdown.classList.add("active"),this.emoticonsLazyLoadQueue.unlock(),clearTimeout(s);else{let e=p.default(this.pageEl,d.default,h.default,this.messageInput,this.toggleEmoticons,this.btnSend);this.emoticonsDropdown=e.dropdown,this.emoticonsLazyLoadQueue=e.lazyLoadQueue,this.toggleEmoticons.onmouseout=this.emoticonsDropdown.onmouseout=e=>{clearTimeout(this.emoticonsTimeout),this.emoticonsTimeout=setTimeout(()=>{this.emoticonsDropdown.classList.remove("active"),this.toggleEmoticons.classList.remove("active"),m.default.checkAnimations(!0,p.EMOTICONSSTICKERGROUP),this.emoticonsLazyLoadQueue.lock(),clearTimeout(s),s=setTimeout(()=>{this.emoticonsDropdown.style.display="none"},200)},200)},this.emoticonsDropdown.onmouseover=e=>{clearTimeout(this.emoticonsTimeout)}}this.toggleEmoticons.classList.add("active"),m.default.checkAnimations(!1,p.EMOTICONSSTICKERGROUP)},0)},this.replyElements.cancelBtn.addEventListener("click",()=>{if(this.replyElements.container.classList.remove("active"),this.replyToMsgID=0,this.editMsgID)if(this.willSendWebPage){let e=h.default.getMessage(this.editMsgID);this.setTopInfo("Editing",e.message)}else this.editMsgID=0,this.messageInput.innerHTML="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2");this.noWebPage=!0,this.willSendWebPage=null})}serializeNodes(e){return e.reduce((e,t)=>"object"==typeof t&&t.textContent?e+t.textContent:t.innerText?e+t.innerText:"IMG"==t.tagName&&t.classList&&t.classList.contains("emoji")?e+t.getAttribute("alt"):e,"")}onMessageSent(e=!0){let t=h.default.getDialogByPeerID(d.default.peerID)[0];t&&t.top_message&&h.default.readHistory(d.default.peerID,t.top_message),e&&(this.lastUrl="",this.editMsgID=0,this.replyToMsgID=0,this.noWebPage=!1,this.replyElements.container.classList.remove("active"),this.willSendWebPage=null,this.messageInput.innerText="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"))}sendMessage(){let e=c.getRichValue(this.messageInput);this.editMsgID?h.default.editMessage(this.editMsgID,e,{noWebPage:this.noWebPage}):h.default.sendText(d.default.peerID,e,{replyToMsgID:0==this.replyToMsgID?void 0:this.replyToMsgID,noWebPage:this.noWebPage,webPage:this.willSendWebPage}),this.onMessageSent()}setTopInfo(e,t,i,s){"DIV"==this.replyElements.container.lastElementChild.tagName&&(this.replyElements.container.lastElementChild.remove(),this.replyElements.container.append(u.wrapReply(e,t,s))),this.replyElements.container.classList.add("active"),void 0!==i&&(this.messageInput.innerHTML=i?n.RichTextProcessor.wrapRichText(i):"",this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"))}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(2),n=a(i(14)),r=a(i(9)),l=i(0),d=i(3),c=a(i(39)),u=a(i(1)),h=a(i(30)),p=i(32),m=a(i(11)),g=a(i(24)),f=a(i(17));t.EMOTICONSSTICKERGROUP="emoticons-dropdown";t.default=(e,i,a,b,v,y)=>{let w=e.querySelector(".emoji-dropdown");w.classList.add("active");let x=new h.default(5),_=e.querySelector(".emoji-container .tabs-container"),k=e.querySelector(".emoji-dropdown .emoji-tabs"),M=-1;o.horizontalMenu(k,_,e=>{n.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),M=e},()=>{1==M&&I?I():2==M&&P&&P(),n.default.checkAnimations(!1,t.EMOTICONSSTICKERGROUP)}),k.firstElementChild.children[0].click(),k.lastElementChild.style.cssText="width: 44.1719px; transform: translateX(88.5781px);";let D=(e,i,s,a)=>{e.addEventListener("click",(function(e){let a=e.target;a=l.findUpTag(a,"LI");let o=l.whichChild(a),r=i[o-1]||0;s.container.scrollTop=r,setTimeout(()=>{n.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP)},100)}))},S=(e,t,i,s,a)=>{let o=s.scrollTop;for(let s=0;s{let t=document.createElement("span"),i=d.RichTextProcessor.wrapRichText(e);i.includes("emoji")?(t.innerHTML=i,o.appendChild(t)):console.log(e,i,t,e.length,(new TextEncoder).encode(e))}),t[e]=s}let s=document.getElementById("content-emoji"),a=[0],o=1,n=s.nextElementSibling.firstElementChild,l=new r.default(s,"y","EMOJI",null);l.container.addEventListener("scroll",e=>{o=S(n,a,o,l.container)}),e.map(e=>{let i=t[e];return i||console.error("no div by category:",e),l.append(i),i}).forEach(e=>{a.push((a[a.length-1]||0)+e.scrollHeight)}),s.addEventListener("click",(function(e){let t=e.target;if("SPAN"!=t.tagName||t.classList.contains("emoji")){if("DIV"==t.tagName)return}else t=t.firstElementChild;b.innerHTML+=t.outerHTML,y.classList.add("tgico-send"),y.classList.remove("tgico-microphone2")})),D(n,a,l)}let E=e=>{let t=e.target;t=l.findUpTag(t,"DIV");let s=t.dataset.docID,o=m.default.getDoc(s);"documentEmpty"!=o._?(a.sendFile(i.peerID,o,{isMedia:!0}),i.chatInputC.onMessageSent(!1),w.classList.remove("active"),v.classList.remove("active")):console.warn("got no doc by id:",s)},I=()=>{let e=document.getElementById("content-stickers"),i=e.nextElementSibling,a=i.firstElementChild.firstElementChild,l=new r.default(i,"x"),d=document.createElement("div");d.classList.add("stickers-categories"),e.append(d),d.addEventListener("click",E);let h=[],m=0,g=(e,i,s,a)=>{let o=document.createElement("div");o.classList.add("category-items");let n=document.createElement("div");n.classList.add("category-title"),n.innerText=i,e.append(n,o),s.forEach(e=>{let i=document.createElement("div");p.wrapSticker({doc:e,div:i,lazyLoadQueue:x,group:t.EMOTICONSSTICKERGROUP,onlyThumb:!0}),o.append(i)}),a?b.prepend(e):b.append(e),m&&window.cancelAnimationFrame(m),m=window.requestAnimationFrame(()=>{m=0;let e=parseInt(window.getComputedStyle(b.container).getPropertyValue("padding-top"))||0;h.length=0,Array.from(b.splitUp.children).forEach((t,i)=>{h[i]=(h[i-1]||0)+t.scrollHeight+(0==i?e:0)})})},f=0,b=new r.default(e,"y","STICKERS",void 0,void 0,2);b.container.addEventListener("scroll",e=>{n.default.checkAnimations(),f=S(a,h,f,b.container,l)}),b.setVirtualContainer(d),D(a,h,b),I=null,Promise.all([c.default.getRecentStickers().then(e=>{let t=document.createElement("div");t.classList.add("sticker-category"),g(t,"Recent",e.stickers,!0)}),u.default.invokeApi("messages.getAllStickers",{hash:0}).then(e=>s(void 0,void 0,void 0,(function*(){let i=e;for(let e of i.sets){let i=document.createElement("div");i.classList.add("sticker-category");let r=document.createElement("li");r.classList.add("btn-icon"),a.append(r);let l=yield c.default.getStickerSet(e);l.set.thumb?c.default.getStickerSetThumb(l.set).then(e=>{if(l.set.pFlags.animated){const i=new FileReader;i.addEventListener("loadend",e=>s(void 0,void 0,void 0,(function*(){const i=e.srcElement.result;let s=yield u.default.gzipUncompress(i,!0);yield n.default.loadAnimationWorker({container:r,loop:!0,autoplay:!1,animationData:JSON.parse(s)},t.EMOTICONSSTICKERGROUP)}))),i.readAsArrayBuffer(e)}else{let t=new Image;o.renderImageFromUrl(t,URL.createObjectURL(e)),r.append(t)}}):p.wrapSticker({doc:l.documents[0],div:r,group:t.EMOTICONSSTICKERGROUP}),g(i,l.set.title,l.documents,!1)}})))])},P=()=>{let e=document.getElementById("content-gifs"),t=e.firstElementChild;t.addEventListener("click",E);new r.default(e,"y","GIFS",null);u.default.invokeApi("messages.getSavedGifs",{hash:0}).then(e=>{let i=e;console.log("getSavedGifs res:",i);i.gifs.forEach((e,t)=>{i.gifs[t]=m.default.saveDoc(e)});for(let e=0,s=i.gifs.length;e{let e=m.default.downloadDoc(s);return u.attach(c,!0,e),e.then(e=>{u.detach(),c.innerHTML=``}),e}})}}),P=void 0};return{dropdown:w,lazyLoadQueue:x}}},function(e,t,i){"undefined"!=typeof self&&self,e.exports=function(e){var t={};function i(s){if(t[s])return t[s].exports;var a=t[s]={i:s,l:!1,exports:{}};return e[s].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=e,i.c=t,i.d=function(e,t,s){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)i.d(s,a,function(t){return e[t]}.bind(null,a));return s},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t,i){"use strict";(function(t){var i=t.AudioContext||t.webkitAudioContext,s=function(e){if(!s.isRecordingSupported())throw new Error("Recording is not supported in this browser");e||(e={}),this.state="inactive",this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderPath:"encoderWorker.min.js",encoderSampleRate:48e3,maxFramesPerPage:40,mediaTrackConstraints:!0,monitorGain:0,numberOfChannels:1,recordingGain:1,resampleQuality:3,streamPages:!1,reuseWorker:!1,wavBitDepth:16},e),this.encodedSamplePosition=0};s.isRecordingSupported=function(){return i&&t.navigator&&t.navigator.mediaDevices&&t.navigator.mediaDevices.getUserMedia&&t.WebAssembly},s.prototype.clearStream=function(){this.stream&&(this.stream.getTracks?this.stream.getTracks().forEach((function(e){e.stop()})):this.stream.stop(),delete this.stream),this.audioContext&&this.closeAudioContext&&(this.audioContext.close(),delete this.audioContext)},s.prototype.encodeBuffers=function(e){if("recording"===this.state){for(var t=[],i=0;i{this.encodeBuffers(e.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},s.prototype.initSourceNode=function(e){return e&&e.context?t.Promise.resolve(e):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(e=>(this.stream=e,this.audioContext.createMediaStreamSource(e)))},s.prototype.loadWorker=function(){this.encoder||(this.encoder=new t.Worker(this.config.encoderPath))},s.prototype.initWorker=function(){var e=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((t,i)=>{var s=i=>{switch(i.data.message){case"ready":t();break;case"page":this.encodedSamplePosition=i.data.samplePosition,e(i.data.page);break;case"done":this.encoder.removeEventListener("message",s),this.finish()}};this.encoder.addEventListener("message",s),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},s.prototype.pause=function(e){if("recording"===this.state){if(this.state="paused",e&&this.config.streamPages){var t=this.encoder;return new Promise((e,i)=>{var s=i=>{"flushed"===i.data.message&&(t.removeEventListener("message",s),this.onpause(),e())};t.addEventListener("message",s),t.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},s.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.onresume())},s.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},s.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},s.prototype.start=function(e){if("inactive"===this.state)return this.initAudioContext(e),this.initAudioGraph(),this.encodedSamplePosition=0,Promise.all([this.initSourceNode(e),this.initWorker()]).then(e=>{this.sourceNode=e[0],this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},s.prototype.stop=function(){if("inactive"!==this.state){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var e=this.encoder;return new Promise(t=>{var i=s=>{"done"===s.data.message&&(e.removeEventListener("message",i),t())};e.addEventListener("message",i),e.postMessage({command:"done"}),this.config.reuseWorker||e.postMessage({command:"close"})})}return Promise.resolve()},s.prototype.destroyWorker=function(){"inactive"===this.state&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},s.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length},s.prototype.streamPage=function(e){this.ondataavailable(e)},s.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,i){return e.set(i,t),t+i.length}),0),this.ondataavailable(e)}this.onstop(),this.config.reuseWorker||delete this.encoder},s.prototype.ondataavailable=function(){},s.prototype.onpause=function(){},s.prototype.onresume=function(){},s.prototype.onstart=function(){},s.prototype.onstop=function(){},e.exports=s}).call(this,i(1))},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i}])},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(0);t.default=class{constructor(){this.bubblesByGroups=[],this.groups=[],this.newGroupDiff=120}removeBubble(e,t){let i=this.bubblesByGroups.findAndSplice(e=>e.mid==t);i&&i.group.length&&(i.group.findAndSplice(t=>t==e),i.group.length?this.updateGroup(i.group):this.groups.findAndSplice(e=>e==i.group))}addBubble(e,t,i){let a,o=t.date,n=t.fromID;if(n==s.$rootScope.myID&&s.$rootScope.selectedPeerID==s.$rootScope.myID&&t.fwdFromID==n&&(n=-n),this.bubblesByGroups.length)if(i){let t=this.bubblesByGroups[0];t.fromID==n&&t.timestamp-o{if(!(a instanceof SVGDefsElement))if(t)a.removeAttributeNS(null,"clip-path");else{let t,o,n=i.dataset.clipID,r=i.firstElementChild.firstElementChild.lastElementChild,l=+a.getAttributeNS(null,"width"),d=+a.getAttributeNS(null,"height"),c=e.classList.contains("is-out"),u=e.classList.contains("is-reply"),h="";e.classList.contains("forwarded")||u?t=o=0:c?(t=e.classList.contains("is-group-first")?12:6,o=12):(t=12,o=e.classList.contains("is-group-first")?12:6),h=c?s.generatePathData(0,0,l-9,d,o,t,0,12):s.generatePathData(9,0,l-9,d,o,t,12,0),r.setAttributeNS(null,"d",h),a.setAttributeNS(null,"clip-path","url(#"+n+")")}})}}updateGroup(e){if(!e.length)return;let t=e[0];if(1==e.length)return t.classList.add("is-group-first","is-group-last"),void this.setClipIfNeeded(t);t.classList.remove("is-group-last"),t.classList.add("is-group-first"),this.setClipIfNeeded(t,!0);let i=e.length-1;for(let t=1;tt.mid==e);t&&this.updateGroup(t.group)}cleanup(){this.bubblesByGroups=[],this.groups=[]}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(5)),o=s(i(1)),n=i(31),r=s(i(23)),l=i(2),d=i(3);class c{callbackButtonClick(e,t){let i=a.default.getMessage(e),s=a.default.getMessagePeer(i);return o.default.invokeApi("messages.getBotCallbackAnswer",{flags:1,peer:n.appPeersManager.getInputPeerByID(s),msg_id:r.default.getMessageLocalID(e),data:t.data},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{"string"==typeof e.message&&e.message.length&&l.toast(d.RichTextProcessor.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0})),console.log("callbackButtonClick callbackAnswer:",e)})}}t.AppInlineBotsManager=c;const u=new c;t.default=u},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.container=e,this.handler=t,this.observeHeaders(),this.observeElements()}observeHeaders(){this.headersObserver=new IntersectionObserver(e=>{for(const t of e){const e=t.boundingClientRect,i=t.target.parentElement,s=t.rootBounds;e.bottom=s.top&&e.bottom{let t=e.filter(e=>e.boundingClientRect.top<0).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];if(!t)return;let i=t.isIntersecting?t.target:t.target.nextElementSibling;this.handler(!0,i)},{root:this.container})}addSentinel(e,t){const i=document.createElement("div");return i.classList.add("sticky_sentinel",t),e.appendChild(i)}observeStickyHeaderChanges(e){const t=this.addSentinel(e,"sticky_sentinel--top");this.headersObserver.observe(t),this.elementsObserver.observe(e)}disconnect(){this.headersObserver.disconnect(),this.elementsObserver.disconnect()}unobserve(e,t){this.elementsObserver.unobserve(e),this.headersObserver.unobserve(t)}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=a(i(1)),r=a(i(18)),l=a(i(22)),d=a(i(52)),c=a(i(35)),u=i(21),h=i(10),p=a(i(28));let m;const g=new r.default("page-signQR",!0,()=>m,()=>{console.log("onMount"),m||(m=s(void 0,void 0,void 0,(function*(){const e=g.pageEl.querySelector(".auth-image");g.pageEl.querySelector(".a-qr").addEventListener("click",()=>{c.default.mount(),a=!0});const t=(yield Promise.all([Promise.resolve().then(()=>o(i(85)))]))[0].default;let a=!1;document.addEventListener("user_auth",()=>{a=!0,m=null},{once:!0});let r,f={ignoreErrors:!0};return()=>s(void 0,void 0,void 0,(function*(){for(a=!1;!a;)try{let i=yield n.default.invokeApi("auth.exportLoginToken",{api_id:u.App.id,api_hash:u.App.hash,except_ids:[]},{ignoreErrors:!0});if("auth.loginTokenMigrateTo"==i._&&(f.dcID||(f.dcID=i.dc_id,n.default.setBaseDcID(i.dc_id)),i=yield n.default.invokeApi("auth.importLoginToken",{token:i.token},f)),"auth.loginTokenSuccess"==i._){let e=i.authorization;n.default.setUserAuth({id:e.user.id}),l.default.mount();break}if(!r||!h.bytesCmp(r,i.token)){r=i.token;let s="tg://login?token="+h.bytesToBase64(i.token).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"");e.innerHTML="",new t({width:166,height:166,data:s,image:"assets/img/logo_padded.svg",dotsOptions:{color:"#000000",type:"rounded"},imageOptions:{imageSize:.75},backgroundOptions:{color:"#ffffff"},qrOptions:{errorCorrectionLevel:"L"}}).append(e)}let s=Date.now()/1e3,a=i.expires-s-p.default.serverTimeOffset;yield new Promise((e,t)=>setTimeout(e,a>5?5e3:1e3*a|0))}catch(e){switch(e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageSignQR: SESSION_PASSWORD_NEEDED"),e.handled=!0,d.default.mount(),a=!0,m=null;break;default:console.error("pageSignQR: default error:",e)}}}))}))),m.then(e=>{e()})});t.default=g}]); \ No newline at end of file diff --git a/public/index.bundle.js.gz b/public/index.bundle.js.gz index 831e83fc..fd4c86a1 100644 Binary files a/public/index.bundle.js.gz and b/public/index.bundle.js.gz differ diff --git a/public/index_template.html b/public/index_template.html index 62bdaae1..d8cec082 100644 --- a/public/index_template.html +++ b/public/index_template.html @@ -542,9 +542,13 @@ +
+ 0:02,43 +
+ diff --git a/public/npm.webp-hero.chunk.js b/public/npm.webp-hero.chunk.js index 246be187..e828b0e3 100644 --- a/public/npm.webp-hero.chunk.js +++ b/public/npm.webp-hero.chunk.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{86:function(e,r,i){"use strict";i.r(r),function(e){function n(){var r,i=void 0!==i?i:{},n={};for(r in i)i.hasOwnProperty(r)&&(n[r]=i[r]);i.arguments=[],i.thisProgram="./this.program",i.quit=function(e,r){throw r},i.preRun=[],i.postRun=[];var t="";document.currentScript&&(t=document.currentScript.src),t=0!==t.indexOf("blob:")?t.substr(0,t.lastIndexOf("/")+1):"",i.read=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText}catch(r){var i=ae(e);if(i)return function(e){for(var r=[],i=0;i255&&(n&=255),r.push(String.fromCharCode(n))}return r.join("")}(i);throw r}},i.readAsync=function(e,r,i){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status||0==n.status&&n.response)r(n.response);else{var t=ae(e);t?r(t.buffer):i()}},n.onerror=i,n.send(null)},i.setWindowTitle=function(e){document.title=e};var o=i.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),a=i.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||o);for(r in n)n.hasOwnProperty(r)&&(i[r]=n[r]);n=void 0;function f(e){f.shown||(f.shown={}),f.shown[e]||(f.shown[e]=1,a(e))}new Array(0);var A=0,u=!1;function s(e,r){e||pe("Assertion failed: "+r)}function l(e){var r=i["_"+e];return s(r,"Cannot call unknown function "+e+", make sure it is exported"),r}function c(e,r,i,n,t){var o={string:function(e){var r=0;if(null!=e&&0!==e){var i=1+(e.length<<2);(function(e,r,i){b(e,k,r,i)})(e,r=de(i),i)}return r},array:function(e){var r=de(e.length);return function(e,r){w.set(e,r)}(e,r),r}};var a=l(e),f=[],A=0;if(n)for(var u=0;u=n);)++t;if(t-r>16&&e.subarray&&d)return d.decode(e.subarray(r,t));for(var o="";r>10,56320|1023&u)}}else o+=String.fromCharCode((31&a)<<6|f)}else o+=String.fromCharCode(a)}return o}function g(e,r){return e?v(k,e,r):""}function b(e,r,i,n){if(!(n>0))return 0;for(var t=i,o=i+n-1,a=0;a=55296&&f<=57343)f=65536+((1023&f)<<10)|1023&e.charCodeAt(++a);if(f<=127){if(i>=o)break;r[i++]=f}else if(f<=2047){if(i+1>=o)break;r[i++]=192|f>>6,r[i++]=128|63&f}else if(f<=65535){if(i+2>=o)break;r[i++]=224|f>>12,r[i++]=128|f>>6&63,r[i++]=128|63&f}else{if(i+3>=o)break;r[i++]=240|f>>18,r[i++]=128|f>>12&63,r[i++]=128|f>>6&63,r[i++]=128|63&f}}return r[i]=0,i-t}var h,w,k,m,C,p,I;"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");function y(e,r){return e%r>0&&(e+=r-e%r),e}function E(){i.HEAP8=w=new Int8Array(h),i.HEAP16=m=new Int16Array(h),i.HEAP32=C=new Int32Array(h),i.HEAPU8=k=new Uint8Array(h),i.HEAPU16=new Uint16Array(h),i.HEAPU32=p=new Uint32Array(h),i.HEAPF32=I=new Float32Array(h),i.HEAPF64=new Float64Array(h)}var D=10800,L=i.TOTAL_MEMORY||67108864;function x(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var n=r.func;"number"==typeof n?void 0===r.arg?i.dynCall_v(n):i.dynCall_vi(n,r.arg):n(void 0===r.arg?null:r.arg)}else r()}}L<5242880&&a("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+L+"! (TOTAL_STACK=5242880)"),h=i.buffer?i.buffer:new ArrayBuffer(L),E(),C[D>>2]=5253936;var S=[],B=[],M=[],F=[],_=!1;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var i=65535&e,n=65535&r;return i*n+((e>>>16)*n+i*(r>>>16)<<16)|0}),Math.clz32||(Math.clz32=function(e){var r=32,i=e>>16;return i&&(r-=16,e=i),(i=e>>8)&&(r-=8,e=i),(i=e>>4)&&(r-=4,e=i),(i=e>>2)&&(r-=2,e=i),(i=e>>1)?r-2:r-e}),Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)});var P=Math.abs,R=Math.ceil,T=Math.floor,G=Math.min,O=0,q=null,Y=null;function U(e){O++,i.monitorRunDependencies&&i.monitorRunDependencies(O)}function z(e){if(O--,i.monitorRunDependencies&&i.monitorRunDependencies(O),0==O&&(null!==q&&(clearInterval(q),q=null),Y)){var r=Y;Y=null,r()}}i.preloadedImages={},i.preloadedAudios={};var W=null,X="data:application/octet-stream;base64,";function Q(e){return String.prototype.startsWith?e.startsWith(X):0===e.indexOf(X)}W="data:application/octet-stream;base64,AAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f38AAAAAAAAAAPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AGAcXGSgGJykWGiYqOAU3ORUbNjolK0gER0kUHDU7RkokLFhFSzQ8A1dZEx1WWiMtRExVWzM9aAJnaRIeZmoiLlRcQ01lazI+eAF3eVNdER9kbEJOdnohL3V7MT9jbVJeAHR8QU8QIGJuMHN9UV9Acn5hb1Bxf2BwAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8AAAAAAAAAAAAAAAAAiguMC44LkguaC6oLygsKDIwMjA2MD4wTAAAAAAAAAAAREgABAgMEBRAGBwgJCgsMDQ4PAAAAAAAAAAAAAAAAADBS4Q2GGLMDy6xfd2piiBxVXDhoKLizFPj+hUpLuN1Jl/P8ZIkCVVwAAClK2sF+Dau3QFl9V5JUcsoZTmmM0zhl7gEMX3WhMlL2N1QyLLtasVeqD+cz9XPa7l9o4sxjdYMOmW7tpzBHxtnATzwVa0n6AxRPDPsaVDILmXMcy9cmBjfMb9h3uywqL3Z13cwlZGFUsyQVh30KqBQEIme/HhSDFbRW4wLlc2+xykRCTSYo+666c+3rUAr7tmodC9Q6DWg72zWDHggrlWvOd/DlgVG8O4V4lJSfADzt5ScAAAAAAAAEAAgADACAAIQAiACMAAABBAEIAQwBgAGEAYgBjAHneDBZc3F4mHCYs0B+qnYuRl+vRY9QVVJIm2c4Ogqr2r0RDZhyGhGjLMMVCq15GFDDGj4sQFWQRwomq9WQIhqqLjcTiKAhzkc/FAhyctAMCeJRKAtgtlQdECSGt1mJYmVqpZRIu2SCnW8gS1BCZqdjSj4o6oApNQmy8Y0aCGtKKxqSSaYxF51BJmmgMzQfc4BoTwwb2f9XEQdXREcscjMPuhcvKQ5utrcVEcJCLRlmxb0XEhZYWJOWKi4txM0rYbd1VSYjsz0nNchXGhUr6Ks4IjNocmYdXU0nHFWrOqVaYkAiFnTOFyIrpklrNiAaMwFRKx9EGWoWQKsk4XIiExVmhLwQTHw+Ek5fVTkyMDPBZSOf129ZLm88lB+s2+QVEm9wcU1Vs/8meHIoKgHE9dEKGW1YKx2MptUlK5o9Px6bQy1EAdFkUAgrmgEzGkeOTk4Q/4AixaspKAVm07cEAd0zMhGo0cAXGVKKHySrG6YmLOVDVzqpUnMaO7M/O1q0O6ZdSZooKBV0j9EiJ68vDxC3It8xLbcuESG3BmIPILc5LhYYgAE2ESVBIElzHIAXgM0oAwlzM8ASBt9XJQlzO01AFS9oNyzaCTY1guJAWkbNKCkXGjk2OXC4BSkmptUeIhqFmHQKIIYnEzXdGnIgSf8fCUHqAg8BdklLIAwzwP+gKzNYHyNDZlU3ulU4FRdvO80tJcA3JkZ8SWYBImJ9YipYaFV1r1JfVDVZgGRxZS1LT3svM4BRqwE5EQVHZjk1KTEmIQ15OUkaAVUpCkOKTW5aL3JzFQIKZv+mFwZlHRAKVYBlxBo5EgpmZtUiFCt1FA8ko4BEARpmPUclIjUf88BFPEcmSXcc3iVELYAiAS8L9as+ERNGklU3PkYlKyWaZKNVoAE/CVyIHEAgyVVLDwkJQP+4dxBWBhwFQP8Z+AE4CBGEif83dIA6DxRShzkaeSikMh+JmoUZI9ozZyyDg3sfBp5WKECHlOAtt4AWGhGD8JoOAdEtEBVbQN4HAcU4FSebPIoXZtVTDA02wP9ELxxVGlVVgIAgkqsSCwc/kKsEBPYjGwqSrqsMGoC+UCNjtFB+Ni1Vfi9XsDMpFCBlS4CLdpJ0gFU4KQ+w7FUlCT5HHhF3dv8REoplJjyKN0YrGo6SJBMeq/9hGxSKLT0+2wFRvEAgKRR1l44UFaNwEww9w4AwBBgAAAAAAAAAAAAAAAAAAf8C/gMEBv0F/Pv6B/kI+PcAAAAAAAAAAAAAAAAAAP///////////////////////////////////////////7D2////////////3/H8///////////5/f3////////////0/P//////////6v7+///////////9///////////////2/v//////////7/3+///////////+//7////////////4/v//////////+//+///////////////////////////9/v//////////+/7+///////////+//7////////////+/f/+////////+v/+//7////////+/////////////////////////////////////////////////////////9n/////////////4fzx/f///v/////q+vH6/f/9/v/////+////////////3/7+///////////u/f7+///////////4/v//////////+f7////////////////////////////9////////////9/7////////////////////////////9/v///////////P/////////////////////////////+/v///////////f/////////////////////////////+/f//////////+v/////////////+/////////////////////////////////////////////////////////7r7+v//////////6vv0/v/////////7+/P9/v/+///////9/v//////////7P3+///////////7/f3+/v/////////+/v///////////v7+///////////////////////////+/////////////v7////////////+/////////////////////////////v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j/////////////+v78/v/////////4/vn9///////////9/f//////////9v39///////////8/vv+/v/////////+/P//////////+P79///////////9//7+///////////7/v//////////9fv+///////////9/f7////////////7/f///////////P3+/////////////v/////////////8////////////+f/+//////////////7//////////////f//////////+v///////////////////////////////////////////v///////////////////////////4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP2I/v/k24CAgICAvYHy/+PV/9uAgIBqfuP81tH//4CAgAFi+P/s4v//gICAtYXu/t3q/5qAgIBOhsr3xrT/24CAgAG5+f/z/4CAgICAuJb3/+zggICAgIBNbtj/7OaAgICAgAFl+//x/4CAgICAqovx/OzR//+AgIAldMTz5P///4CAgAHM/v/1/4CAgICAz6D6/+6AgICAgIBmZ+f/06uAgICAgAGY/P/w/4CAgICAsYfz/+rhgICAgIBQgdP/wuCAgICAgAEB/4CAgICAgICA9gH/gICAgICAgID/gICAgICAgICAgMYj7d/Bu6KgkZs+gy3G3ayw3J383QFEL5LQlafdov/fgAGV8f/d4P//gICAuI3q/d7c/8eAgIBRY7XysL75yv//gAGB6P3WxfLE//+AY3nS+snG/8qAgIAXW6Pyqrv30v//gAHI9v/q/4CAgICAbbLx/+f1//+AgIAsgsn9zcD//4CAgAGE7/vb0f+lgICAXojh+9q+//+AgIAWZK71uqH/x4CAgAG2+f/o64CAgICAfI/x/+PqgICAgIAjTbX7wdP/zYCAgAGd9//s5///gICAeY3r/+Hj//+AgIAtY7z7w9n/4ICAgAEB+//V/4CAgICAywH4//+AgICAgICJAbH/4P+AgICAgP0J+PvP0P/AgICArw3g88G5+cb//4BJEavdobPsp//qgAFf9/3Ut///gICA71r0+tPR//+AgICbTcP4vMP//4CAgAEY7/va2//NgICAyTPb/8S6gICAgIBFLr7vydr/5ICAgAG/+///gICAgICA36X5/9X/gICAgICNfPj//4CAgICAgAEQ+P//gICAgICAviTm/+z/gICAgICVAf+AgICAgICAgAHi/4CAgICAgICA98D/gICAgICAgIDwgP+AgICAgICAgAGG/P//gICAgICA1T76//+AgICAgIA3Xf+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMoY1eu6v9yg8K//fia26Km45K7/u4A9Lorbl7Lwqv/YgAFw5vrHv/ef//+Apm3k/NPX/66AgIAnTaLorLT1sv//gAE03PbGx/nc//+AfEq/87fB+t3//4AYR4Lbmqrztv//gAG24fnb8P/ggICAlZbi/NjN/6uAgIAcbKryt8L+3///gAFR5vzMy//AgICAe2bR97zE/+mAgIAUX5nzpK3/y4CAgAHe+P/Y1YCAgICAqK/2/OvN//+AgIAvdNf/09T//4CAgAF57P3U1v//gICAjVTV/MnK/9uAgIAqUKDworn/zYCAgAEB/4CAgICAgICA9AH/gICAgICAgIDuAf+AgICAgICAgAQFBgcICQoKCwwNDg8QERESExQUFRUWFhcXGBkZGhscHR4fICEiIyQlJSYnKCkqKywtLi4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xMTU5PUFFSU1RVVldYWVtdX2BiZGVmaGpsbnBydHZ6fH6AgoSGiIqMj5GUl5qdBAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA8AD4AQABCAEQARgBIAEoATABOAFAAUgBUAFYAWABaAFwAXgBgAGIAZABmAGgAagBsAG4AcAByAHQAdwB6AH0AgACDAIYAiQCMAI8AkgCVAJgAmwCeAKEApACnAKoArQCxALUAuQC9AMEAxQDJAM0A0QDVANkA3QDhAOUA6gDvAPUA+QD+AAMBCAENARIBFwEcAQABBAgFAgMGCQwNCgcLDg+pIwAArSMAALIjAAC4IwAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGDAQAAIAIAAD/CQAA/wwAALAfAAC0HwAAuB8AALwfAADAHwAAxB8AAMgfAAABAAAAAQAAAAIAAAACAAAAAwAAAAQAAADkHwAA6B8AAPAfAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABQqAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExpYnJhcnkgdmVyc2lvbiBtaXNtYXRjaCEKAFVuYWJsZSB0byBzZXQgdmlkZW8gbW9kZSAoMzJicHAgJWR4JWQpIQoAVW5hYmxlIHRvIGNyZWF0ZSAlZHglZCBSR0JBIHN1cmZhY2UhCgBFcnJvciBkZWNvZGluZyBpbWFnZSAoJWQpCgACAwcDAwsDBAMEBAICBAQEAgEBCAcGBAQCAgIBAQEBAAIIQ291bGQgbm90IGRlY29kZSBhbHBoYSBkYXRhLgBGcmFtZSBzZXR1cCBmYWlsZWQAdGhyZWFkIGluaXRpYWxpemF0aW9uIGZhaWxlZC4Abm8gbWVtb3J5IGR1cmluZyBmcmFtZSBpbml0aWFsaXphdGlvbi4AUklGRgBXRUJQAFZQOFgAQUxQSABWUDggAFZQOEwAT0sAbnVsbCBWUDhJbyBwYXNzZWQgdG8gVlA4R2V0SGVhZGVycygpAFRydW5jYXRlZCBoZWFkZXIuAEluY29ycmVjdCBrZXlmcmFtZSBwYXJhbWV0ZXJzLgBGcmFtZSBub3QgZGlzcGxheWFibGUuAGNhbm5vdCBwYXJzZSBwaWN0dXJlIGhlYWRlcgBCYWQgY29kZSB3b3JkAGJhZCBwYXJ0aXRpb24gbGVuZ3RoAGNhbm5vdCBwYXJzZSBzZWdtZW50IGhlYWRlcgBjYW5ub3QgcGFyc2UgZmlsdGVyIGhlYWRlcgBjYW5ub3QgcGFyc2UgcGFydGl0aW9ucwBOb3QgYSBrZXkgZnJhbWUuAK2UjACwm4yHALSdjYaCAP7+8+bEsZmMhYKBAE5VTEwgVlA4SW8gcGFyYW1ldGVyIGluIFZQOERlY29kZSgpLgBQcmVtYXR1cmUgZW5kLW9mLXBhcnRpdGlvbjAgZW5jb3VudGVyZWQuAFByZW1hdHVyZSBlbmQtb2YtZmlsZSBlbmNvdW50ZXJlZC4AT3V0cHV0IGFib3J0ZWQuAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu";function N(r,i){if(Z.mainLoop.timingMode=r,Z.mainLoop.timingValue=i,!Z.mainLoop.func)return 1;if(0==r)Z.mainLoop.scheduler=function(){var e=0|Math.max(0,Z.mainLoop.tickStartTime+i-V());setTimeout(Z.mainLoop.runner,e)},Z.mainLoop.method="timeout";else if(1==r)Z.mainLoop.scheduler=function(){Z.requestAnimationFrame(Z.mainLoop.runner)},Z.mainLoop.method="rAF";else if(2==r){if(void 0===e){var n=[];addEventListener("message",(function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),n.shift()())}),!0),e=function(e){n.push(e),postMessage("setimmediate","*")}}Z.mainLoop.scheduler=function(){e(Z.mainLoop.runner)},Z.mainLoop.method="immediate"}return 0}function V(){pe()}function H(e,r,n,t,o){var f;i.noExitRuntime=!0,s(!Z.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Z.mainLoop.func=e,Z.mainLoop.arg=t,f=void 0!==t?function(){i.dynCall_vi(e,t)}:function(){i.dynCall_v(e)};var A=Z.mainLoop.currentlyRunningMainloop;if(Z.mainLoop.runner=function(){if(!u)if(Z.mainLoop.queue.length>0){var e=Date.now(),r=Z.mainLoop.queue.shift();if(r.func(r.arg),Z.mainLoop.remainingBlockers){var n=Z.mainLoop.remainingBlockers,t=n%1==0?n-1:Math.floor(n);r.counted?Z.mainLoop.remainingBlockers=t:(t+=.5,Z.mainLoop.remainingBlockers=(8*n+t)/9)}if(console.log('main loop blocker "'+r.name+'" took '+(Date.now()-e)+" ms"),Z.mainLoop.updateStatus(),A1&&Z.mainLoop.currentFrameNumber%Z.mainLoop.timingValue!=0?Z.mainLoop.scheduler():(0==Z.mainLoop.timingMode&&(Z.mainLoop.tickStartTime=V()),"timeout"===Z.mainLoop.method&&i.ctx&&(a("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Z.mainLoop.method=""),Z.mainLoop.runIter(f),A0?N(0,1e3/r):N(1,1),Z.mainLoop.scheduler()),n)throw"SimulateInfiniteLoop"}var Z={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Z.mainLoop.scheduler=null,Z.mainLoop.currentlyRunningMainloop++},resume:function(){Z.mainLoop.currentlyRunningMainloop++;var e=Z.mainLoop.timingMode,r=Z.mainLoop.timingValue,i=Z.mainLoop.func;Z.mainLoop.func=null,H(i,0,!1,Z.mainLoop.arg,!0),N(e,r),Z.mainLoop.scheduler()},updateStatus:function(){if(i.setStatus){var e=i.statusMessage||"Please wait...",r=Z.mainLoop.remainingBlockers,n=Z.mainLoop.expectedBlockers;r?r=6;){var a=n>>t-6&63;t-=6,i+=r[a]}return 2==t?(i+=r[(3&n)<<4],i+="=="):4==t&&(i+=r[(15&n)<<2],i+="="),i}(e),a(s))},s.src=u,Z.safeSetTimeout((function(){a(s)}),1e4)}};i.preloadPlugins.push(r);var n=i.canvas;n&&(n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock||n.webkitRequestPointerLock||n.msRequestPointerLock||function(){},n.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},n.exitPointerLock=n.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),i.elementPointerLock&&n.addEventListener("click",(function(e){!Z.pointerLock&&i.canvas.requestPointerLock&&(i.canvas.requestPointerLock(),e.preventDefault())}),!1))}function t(){Z.pointerLock=document.pointerLockElement===i.canvas||document.mozPointerLockElement===i.canvas||document.webkitPointerLockElement===i.canvas||document.msPointerLockElement===i.canvas}},createContext:function(e,r,n,t){if(r&&i.ctx&&e==i.canvas)return i.ctx;var o,a;if(r){var f={antialias:!1,alpha:!1,majorVersion:1};if(t)for(var A in t)f[A]=t[A];void 0!==$&&(a=$.createContext(e,f))&&(o=$.getContext(a).GLctx)}else o=e.getContext("2d");return o?(n&&(r||s(void 0===ee,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),i.ctx=o,r&&$.makeContextCurrent(a),i.useWebGL=r,Z.moduleContextCreatedCallbacks.forEach((function(e){e()})),Z.init()),o):null},destroyContext:function(e,r,i){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,r,n){Z.lockPointer=e,Z.resizeCanvas=r,Z.vrDevice=n,void 0===Z.lockPointer&&(Z.lockPointer=!0),void 0===Z.resizeCanvas&&(Z.resizeCanvas=!1),void 0===Z.vrDevice&&(Z.vrDevice=null);var t=i.canvas;function o(){Z.isFullscreen=!1;var e=t.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.exitFullscreen=Z.exitFullscreen,Z.lockPointer&&t.requestPointerLock(),Z.isFullscreen=!0,Z.resizeCanvas?Z.setFullscreenCanvasSize():Z.updateCanvasDimensions(t)):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Z.resizeCanvas?Z.setWindowedCanvasSize():Z.updateCanvasDimensions(t)),i.onFullScreen&&i.onFullScreen(Z.isFullscreen),i.onFullscreen&&i.onFullscreen(Z.isFullscreen)}Z.fullscreenHandlersInstalled||(Z.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var a=document.createElement("div");t.parentNode.insertBefore(a,t),a.appendChild(t),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?function(){a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(a.webkitRequestFullScreen?function(){a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),n?a.requestFullscreen({vrDisplay:n}):a.requestFullscreen()},requestFullScreen:function(e,r,i){return a("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Z.requestFullScreen=function(e,r,i){return Z.requestFullscreen(e,r,i)},Z.requestFullscreen(e,r,i)},exitFullscreen:function(){return!!Z.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(0===Z.nextRAF)Z.nextRAF=r+1e3/60;else for(;r+2>=Z.nextRAF;)Z.nextRAF+=1e3/60;var i=Math.max(Z.nextRAF-r,0);setTimeout(e,i)},requestAnimationFrame:function(e){"undefined"==typeof window?Z.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Z.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!u)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Z.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Z.allowAsyncCallbacks=!0,Z.queuedAsyncCallbacks.length>0){var e=Z.queuedAsyncCallbacks;Z.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Z.requestAnimationFrame((function(){u||(Z.allowAsyncCallbacks?e():Z.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,r){return i.noExitRuntime=!0,setTimeout((function(){u||(Z.allowAsyncCallbacks?e():Z.queuedAsyncCallbacks.push(e))}),r)},safeSetInterval:function(e,r){return i.noExitRuntime=!0,setInterval((function(){u||Z.allowAsyncCallbacks&&e()}),r)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Z.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Z.mouseMovementX=Z.mouseMovementY=0:(Z.mouseMovementX=Z.getMovementX(e),Z.mouseMovementY=Z.getMovementY(e)),void 0!==J?(Z.mouseX=J.mouseX+Z.mouseMovementX,Z.mouseY=J.mouseY+Z.mouseMovementY):(Z.mouseX+=Z.mouseMovementX,Z.mouseY+=Z.mouseMovementY);else{var r=i.canvas.getBoundingClientRect(),n=i.canvas.width,t=i.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var f=e.touch;if(void 0===f)return;var A=f.pageX-(o+r.left),u=f.pageY-(a+r.top),s={x:A*=n/r.width,y:u*=t/r.height};if("touchstart"===e.type)Z.lastTouches[f.identifier]=s,Z.touches[f.identifier]=s;else if("touchend"===e.type||"touchmove"===e.type){var l=Z.touches[f.identifier];l||(l=s),Z.lastTouches[f.identifier]=l,Z.touches[f.identifier]=s}return}var c=e.pageX-(o+r.left),d=e.pageY-(a+r.top);c*=n/r.width,d*=t/r.height,Z.mouseMovementX=c-Z.mouseX,Z.mouseMovementY=d-Z.mouseY,Z.mouseX=c,Z.mouseY=d}},asyncLoad:function(e,r,n,t){var o=t?"":"al "+e;i.readAsync(e,(function(i){s(i,'Loading data file "'+e+'" failed (no arrayBuffer).'),r(new Uint8Array(i)),o&&z()}),(function(r){if(!n)throw'Loading data file "'+e+'" failed.';n()})),o&&U()},resizeListeners:[],updateResizeListeners:function(){var e=i.canvas;Z.resizeListeners.forEach((function(r){r(e.width,e.height)}))},setCanvasSize:function(e,r,n){var t=i.canvas;Z.updateCanvasDimensions(t,e,r),n||Z.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(void 0!==J){var e=p[J.screen>>2];e|=8388608,C[J.screen>>2]=e}Z.updateCanvasDimensions(i.canvas),Z.updateResizeListeners()},setWindowedCanvasSize:function(){if(void 0!==J){var e=p[J.screen>>2];e&=-8388609,C[J.screen>>2]=e}Z.updateCanvasDimensions(i.canvas),Z.updateResizeListeners()},updateCanvasDimensions:function(e,r,n){r&&n?(e.widthNative=r,e.heightNative=n):(r=e.widthNative,n=e.heightNative);var t=r,o=n;if(i.forcedAspectRatio&&i.forcedAspectRatio>0&&(t/o1)return 0;if(r.buffer||(r.buffer=se(r.width*r.height*4),C[e+20>>2]=r.buffer),C[e+20>>2]=r.buffer,e==J.screen&&i.screenIsReadOnly&&r.image)return 0;if(J.defaults.discardOnLock){if(r.image||(r.image=r.ctx.createImageData(r.width,r.height)),!J.defaults.opaqueFrontBuffer)return}else r.image=r.ctx.getImageData(0,0,r.width,r.height);if(e==J.screen&&J.defaults.opaqueFrontBuffer)for(var n=r.image.data,t=n.length,o=0;o>2],y:C[e+4>>2],w:C[e+8>>2],h:C[e+12>>2]}},updateRect:function(e,r){C[e>>2]=r.x,C[e+4>>2]=r.y,C[e+8>>2]=r.w,C[e+12>>2]=r.h},intersectionOfRects:function(e,r){var i=Math.max(e.x,r.x),n=Math.max(e.y,r.y),t=Math.min(e.x+e.w,r.x+r.w),o=Math.min(e.y+e.h,r.y+r.h);return{x:i,y:n,w:Math.max(i,t)-i,h:Math.max(n,o)-n}},checkPixelFormat:function(e){},loadColorToCSSRGB:function(e){var r=C[e>>2];return"rgb("+(255&r)+","+(r>>8&255)+","+(r>>16&255)+")"},loadColorToCSSRGBA:function(e){var r=C[e>>2];return"rgba("+(255&r)+","+(r>>8&255)+","+(r>>16&255)+","+(r>>24&255)/255+")"},translateColorToCSSRGBA:function(e){return"rgba("+(255&e)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")"},translateRGBAToCSSRGBA:function(e,r,i,n){return"rgba("+(255&e)+","+(255&r)+","+(255&i)+","+(255&n)/255+")"},translateRGBAToColor:function(e,r,i,n){return e|r<<8|i<<16|n<<24},makeSurface:function(e,r,n,t,o,a,f,A,u){var s,l=1&(n=n||0),c=2097152&n,d=67108864&n,v=se(60),g=se(44),b=c?1:4,h=0;l||d||(h=se(e*r*4)),C[v>>2]=n,C[v+4>>2]=g,C[v+8>>2]=e,C[v+12>>2]=r,C[v+16>>2]=e*b,C[v+20>>2]=h,C[v+36>>2]=0,C[v+40>>2]=0,C[v+44>>2]=i.canvas.width,C[v+48>>2]=i.canvas.height,C[v+56>>2]=1,C[g>>2]=-2042224636,C[g+4>>2]=0,w[g+8>>0]=8*b,w[g+9>>0]=b,C[g+12>>2]=a||255,C[g+16>>2]=f||65280,C[g+20>>2]=A||16711680,C[g+24>>2]=u||4278190080,J.GL=J.GL||d,t?s=i.canvas:((s=J.canvasPool.length>0?J.canvasPool.pop():document.createElement("canvas")).width=e,s.height=r);var k={antialias:0!=J.glAttributes[13]&&J.glAttributes[14]>1,depth:J.glAttributes[6]>0,stencil:J.glAttributes[7]>0,alpha:J.glAttributes[3]>0},m=Z.createContext(s,d,t,k);return J.surfaces[v]={width:e,height:r,canvas:s,ctx:m,surf:v,buffer:h,pixelFormat:g,alpha:255,flags:n,locked:0,usePageCanvas:t,source:o,isFlagSet:function(e){return n&e}},v},copyIndexedColorData:function(e,r,n,t,o){if(e.colors){var a=i.canvas.width,f=i.canvas.height,A=r||0,u=n||0,s=(t||a-A)+A,l=(o||f-u)+u,c=e.buffer;e.image.data32||(e.image.data32=new Uint32Array(e.image.data.buffer));for(var d=e.image.data32,v=e.colors32,g=u;g>0]]}},freeSurface:function(e){var r=e+56,i=C[r>>2];if(i>1)C[r>>2]=i-1;else{var n=J.surfaces[e];!n.usePageCanvas&&n.canvas&&J.canvasPool.push(n.canvas),n.buffer&&ue(n.buffer),ue(n.pixelFormat),ue(e),J.surfaces[e]=null,e===J.screen&&(J.screen=null)}},blitSurface:function(e,r,i,n,t){var o,a,A,u,s=J.surfaces[e],l=J.surfaces[i];if(o=r?J.loadRect(r):{x:0,y:0,w:s.width,h:s.height},a=n?J.loadRect(n):{x:0,y:0,w:s.width,h:s.height},l.clipRect){var c=t&&0!==o.w?o.w/a.w:1,d=t&&0!==o.h?o.h/a.h:1;a=J.intersectionOfRects(l.clipRect,a),o.w=a.w*c,o.h=a.h*d,n&&J.updateRect(n,a)}if(t?(A=a.w,u=a.h):(A=o.w,u=o.h),0===o.w||0===o.h||0===A||0===u)return 0;var v=l.ctx.globalAlpha;return l.ctx.globalAlpha=s.alpha/255,l.ctx.drawImage(s.canvas,o.x,o.y,o.w,o.h,a.x,a.y,A,u),l.ctx.globalAlpha=v,i!=J.screen&&(f("WARNING: copying canvas data to memory for compatibility"),K(i),l.locked--),0},downFingers:{},savedKeydown:null,receiveEvent:function(e){function r(){for(var e in J.keyboardMap)J.events.push({type:"keyup",keyCode:J.keyboardMap[e]})}switch(e.type){case"touchstart":case"touchmove":e.preventDefault();var n=[];if("touchstart"===e.type)for(var t=0;t0?Math.max(s,1):Math.min(s,-1))>0?3:4;J.events.push({type:"mousedown",button:l,pageX:e.pageX,pageY:e.pageY}),J.events.push({type:"mouseup",button:l,pageX:e.pageX,pageY:e.pageY}),J.events.push({type:"wheel",deltaX:0,deltaY:s}),e.preventDefault();break;case"mousemove":if(1===J.DOMButtons[0]&&J.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),Z.pointerLock&&("mozMovementX"in e&&(e.movementX=e.mozMovementX,e.movementY=e.mozMovementY),0==e.movementX&&0==e.movementY))return void e.preventDefault();case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if("keydown"===e.type&&(J.unicode||J.textInput)&&8!==e.keyCode&&9!==e.keyCode||e.preventDefault(),"mousedown"==e.type)J.DOMButtons[e.button]=1,J.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}});else if("mouseup"==e.type){if(!J.DOMButtons[e.button])return;J.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),J.DOMButtons[e.button]=0}"keydown"===e.type||"mousedown"===e.type?J.canRequestFullscreen=!0:"keyup"!==e.type&&"mouseup"!==e.type||(J.isRequestingFullscreen&&(i.requestFullscreen(!0,!0),J.isRequestingFullscreen=!1),J.canRequestFullscreen=!1),"keypress"===e.type&&J.savedKeydown?(J.savedKeydown.keypressCharCode=e.charCode,J.savedKeydown=null):"keydown"===e.type&&(J.savedKeydown=e),("keypress"!==e.type||J.textInput)&&J.events.push(e);break;case"mouseout":for(t=0;t<3;t++)J.DOMButtons[t]&&(J.events.push({type:"mouseup",button:t,pageX:e.pageX,pageY:e.pageY}),J.DOMButtons[t]=0);e.preventDefault();break;case"focus":J.events.push(e),e.preventDefault();break;case"blur":J.events.push(e),r(),e.preventDefault();break;case"visibilitychange":J.events.push({type:"visibilitychange",visible:!document.hidden}),r(),e.preventDefault();break;case"unload":return void(Z.mainLoop.runner&&(J.events.push(e),Z.mainLoop.runner()));case"resize":J.events.push(e),e.preventDefault&&e.preventDefault()}J.events.length>=1e4&&(a("SDL event queue full, dropping events"),J.events=J.events.slice(0,1e4)),J.flushEventsToHandler()},lookupKeyCodeForEvent:function(e){var r=e.keyCode;return r>=65&&r<=90?r+=32:(r=J.keyCodes[e.keyCode]||e.keyCode,e.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&r>=1248&&r<=1251&&(r+=4)),r},handleEvent:function(e){if(!e.handled)switch(e.handled=!0,e.type){case"touchstart":case"touchend":case"touchmove":Z.calculateMouseEvent(e);break;case"keydown":case"keyup":var r="keydown"===e.type,i=J.lookupKeyCodeForEvent(e);w[J.keyboardState+i>>0]=r,J.modState=(w[J.keyboardState+1248>>0]?64:0)|(w[J.keyboardState+1249>>0]?1:0)|(w[J.keyboardState+1250>>0]?256:0)|(w[J.keyboardState+1252>>0]?128:0)|(w[J.keyboardState+1253>>0]?2:0)|(w[J.keyboardState+1254>>0]?512:0),r?J.keyboardMap[i]=e.keyCode:delete J.keyboardMap[i];break;case"mousedown":case"mouseup":"mousedown"==e.type?J.buttonState|=1<0;)if(!1!==J.makeCEvent(J.events.shift(),e))return 1;return 0}return J.events.length>0},makeCEvent:function(e,r){if("number"==typeof e)return le(r,e,28),void ue(e);switch(J.handleEvent(e),e.type){case"keydown":case"keyup":var n,t="keydown"===e.type,o=J.lookupKeyCodeForEvent(e);n=o>=1024?o-1024:J.scanCodes[o]||o,C[r>>2]=J.DOMEventToSDLEvent[e.type],w[r+8>>0]=t?1:0,w[r+9>>0]=0,C[r+12>>2]=n,C[r+16>>2]=o,m[r+20>>1]=J.modState,C[r+24>>2]=e.keypressCharCode||o;break;case"keypress":C[r>>2]=J.DOMEventToSDLEvent[e.type];for(var a=function(e,r,i){var n=i>0?i:function(e){for(var r=0,i=0;i=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++i)),n<=127?++r:r+=n<=2047?2:n<=65535?3:4}return r}(e)+1,t=new Array(n),o=b(e,t,0,t.length);r&&(t.length=o);return t}(String.fromCharCode(e.charCode)),f=0;f>0]=a[f];break;case"mousedown":case"mouseup":case"mousemove":if("mousemove"!=e.type){t="mousedown"===e.type;C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,C[r+8>>2]=0,C[r+12>>2]=0,w[r+16>>0]=e.button+1,w[r+17>>0]=t?1:0,C[r+20>>2]=Z.mouseX,C[r+24>>2]=Z.mouseY}else C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,C[r+8>>2]=0,C[r+12>>2]=0,C[r+16>>2]=J.buttonState,C[r+20>>2]=Z.mouseX,C[r+24>>2]=Z.mouseY,C[r+28>>2]=Z.mouseMovementX,C[r+32>>2]=Z.mouseMovementY;break;case"wheel":C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+16>>2]=e.deltaX,C[r+20>>2]=e.deltaY;break;case"touchstart":case"touchend":case"touchmove":var A=e.touch;if(!Z.touches[A.identifier])break;var u=i.canvas.width,s=i.canvas.height,l=Z.touches[A.identifier].x/u,c=Z.touches[A.identifier].y/s,d=l-Z.lastTouches[A.identifier].x/u,v=c-Z.lastTouches[A.identifier].y/s;if(void 0===A.deviceID&&(A.deviceID=J.TOUCH_DEFAULT_ID),0===d&&0===v&&"touchmove"===e.type)return!1;C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=j(),tempI64=[A.deviceID>>>0,(tempDouble=A.deviceID,+P(tempDouble)>=1?tempDouble>0?(0|G(+T(tempDouble/4294967296),4294967295))>>>0:~~+R((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],C[r+8>>2]=tempI64[0],C[r+12>>2]=tempI64[1],tempI64=[A.identifier>>>0,(tempDouble=A.identifier,+P(tempDouble)>=1?tempDouble>0?(0|G(+T(tempDouble/4294967296),4294967295))>>>0:~~+R((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],C[r+16>>2]=tempI64[0],C[r+20>>2]=tempI64[1],I[r+24>>2]=l,I[r+28>>2]=c,I[r+32>>2]=d,I[r+36>>2]=v,void 0!==A.force?I[r+40>>2]=A.force:I[r+40>>2]="touchend"==e.type?0:1;break;case"unload":C[r>>2]=J.DOMEventToSDLEvent[e.type];break;case"resize":C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=e.w,C[r+8>>2]=e.h;break;case"joystick_button_up":case"joystick_button_down":var g="joystick_button_up"===e.type?0:1;C[r>>2]=J.DOMEventToSDLEvent[e.type],w[r+4>>0]=e.index,w[r+5>>0]=e.button,w[r+6>>0]=g;break;case"joystick_axis_motion":C[r>>2]=J.DOMEventToSDLEvent[e.type],w[r+4>>0]=e.index,w[r+5>>0]=e.axis,C[r+8>>2]=J.joystickAxisValueConversion(e.value);break;case"focus":C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,w[r+8>>0]=12;break;case"blur":C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,w[r+8>>0]=13;break;case"visibilitychange":var h=e.visible?1:2;C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,w[r+8>>0]=h;break;default:throw"Unhandled SDL event: "+e.type}},makeFontString:function(e,r){return"'"!=r.charAt(0)&&'"'!=r.charAt(0)&&(r='"'+r+'"'),e+"px "+r+", serif"},estimateTextWidth:function(e,r){var i=e.size,n=J.makeFontString(i,e.name),t=J.ttfContext;t.save(),t.font=n;var o=0|t.measureText(r).width;return t.restore(),o},allocateChannels:function(e){if(!(J.numChannels&&J.numChannels>=e&&0!=e)){J.numChannels=e,J.channels=[];for(var r=0;r>1]/32768;else if(8==J.audio.format)for(a=0;a>0];o[a]=(f>=0?f-128:f+128)/128}else{if(33056!=J.audio.format)throw"Invalid SDL audio format "+J.audio.format+"!";for(a=0;a>2]}}},debugSurface:function(e){console.log("dumping surface "+[e.surf,e.source,e.width,e.height]);for(var r=e.ctx.getImageData(0,0,e.width,e.height).data,i=Math.min(e.width,e.height),n=0;n0},queryJoysticks:function(){for(var e in J.lastJoystickState){var r=J.getGamepad(e-1),i=J.lastJoystickState[e];if(void 0===r)return;if(null===r)return;if("number"!=typeof r.timestamp||r.timestamp!==i.timestamp||!r.timestamp){var n;for(n=0;ne&&e>=0?r[e]:null}};var $={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){$.miniTempBuffer=new Float32Array($.MINI_TEMP_BUFFER_SIZE);for(var e=0;e<$.MINI_TEMP_BUFFER_SIZE;e++)$.miniTempBufferViews[e]=$.miniTempBuffer.subarray(0,e+1)},recordError:function(e){$.lastError||($.lastError=e)},getNewId:function(e){for(var r=$.counter++,i=e.length;i>2]:-1;t+=g(C[i+4*o>>2],a<0?void 0:a)}return t},createContext:function(e,r){var i=e.getContext("webgl",r)||e.getContext("experimental-webgl",r);return i&&$.registerContext(i,r)},registerContext:function(e,r){var i=se(8),n={handle:i,attributes:r,version:r.majorVersion,GLctx:e};return n.cannotHandleOffsetsInUniformArrayViews=function(e){function r(r,i){var n=e.createShader(i);return e.shaderSource(n,r),e.compileShader(n),n}try{var i=e.createProgram();e.attachShader(i,r("attribute vec4 p;void main(){gl_Position=p;}",e.VERTEX_SHADER)),e.attachShader(i,r("precision lowp float;uniform vec4 u;void main(){gl_FragColor=u;}",e.FRAGMENT_SHADER)),e.linkProgram(i);var n=new Float32Array(8);n[4]=1,e.useProgram(i);var t=e.getUniformLocation(i,"u");return e.uniform4fv(t,n.subarray(4,8)),!e.getUniform(i,t)[0]}catch(e){return!1}}(),e.canvas&&(e.canvas.GLctxObject=n),$.contexts[i]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&$.initExtensions(n),i},makeContextCurrent:function(e){return $.currentContext=$.contexts[e],i.ctx=ee=$.currentContext&&$.currentContext.GLctx,!(e&&!ee)},getContext:function(e){return $.contexts[e]},deleteContext:function(e){$.currentContext===$.contexts[e]&&($.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget($.contexts[e].GLctx.canvas),$.contexts[e]&&$.contexts[e].GLctx.canvas&&($.contexts[e].GLctx.canvas.GLctxObject=void 0),ue($.contexts[e]),$.contexts[e]=null},initExtensions:function(e){if(e||(e=$.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;if(e.version<2){var i=r.getExtension("ANGLE_instanced_arrays");i&&(r.vertexAttribDivisor=function(e,r){i.vertexAttribDivisorANGLE(e,r)},r.drawArraysInstanced=function(e,r,n,t){i.drawArraysInstancedANGLE(e,r,n,t)},r.drawElementsInstanced=function(e,r,n,t,o){i.drawElementsInstancedANGLE(e,r,n,t,o)});var n=r.getExtension("OES_vertex_array_object");n&&(r.createVertexArray=function(){return n.createVertexArrayOES()},r.deleteVertexArray=function(e){n.deleteVertexArrayOES(e)},r.bindVertexArray=function(e){n.bindVertexArrayOES(e)},r.isVertexArray=function(e){return n.isVertexArrayOES(e)});var t=r.getExtension("WEBGL_draw_buffers");t&&(r.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query");var o=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"],a=r.getSupportedExtensions();a&&a.length>0&&r.getSupportedExtensions().forEach((function(e){-1!=o.indexOf(e)&&r.getExtension(e)}))}},populateUniformTable:function(e){for(var r=$.programs[e],i=$.programInfos[e]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1},n=i.uniforms,t=ee.getProgramParameter(r,35718),o=0;o>2]},getStr:function(){return g(re.get())},get64:function(){var e=re.get();re.get();return e},getZero:function(){re.get()}};function ie(){return w.length}function ne(e){try{var r=new ArrayBuffer(e);if(r.byteLength!=e)return!1;new Int8Array(r).set(w)}catch(e){return!1}return i._emscripten_replace_memory(r),w=new Int8Array(r),m=new Int16Array(r),C=new Int32Array(r),k=new Uint8Array(r),new Uint16Array(r),p=new Uint32Array(r),I=new Float32Array(r),new Float64Array(r),h=r,r}function te(e){var r=ie();if(e>2130706432)return!1;for(var i=Math.max(r,16777216);i>4,i=(15&t)<<4|(o=f.indexOf(e.charAt(u++)))>>2,n=(3&o)<<6|(a=f.indexOf(e.charAt(u++))),A+=String.fromCharCode(r),64!==o&&(A+=String.fromCharCode(i)),64!==a&&(A+=String.fromCharCode(n))}while(u>2]),o[i>>2]=0,o[e+2364>>2]=0,(e=0|o[(i=e+2344|0)>>2])?(U(0|o[(r=e+20|0)>>2]),o[r>>2]=0,Y(e),o[i>>2]=0):o[i>>2]=0}function Y(e){Jr(e|=0)}function U(e){(e|=0)&&(z(e),Y(e))}function z(e){var r=0,i=0,n=0;if(e|=0){Y(0|o[e+160>>2]),Y(0|o[e+172>>2]),W(0|o[e+168>>2]),X(e+124|0),X(e+136|0),i=(r=e+120|0)+56|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|i));if(Y(0|o[(r=e+16|0)>>2]),o[r>>2]=0,(0|o[(r=e+176|0)>>2])>0){i=0;do{Y(0|o[(n=e+180+(20*i|0)+16|0)>>2]),o[n>>2]=0,i=i+1|0}while((0|i)<(0|o[r>>2]))}o[r>>2]=0,o[e+260>>2]=0,Y(0|o[(r=e+264|0)>>2]),o[r>>2]=0,o[e+12>>2]=0}}function W(e){(e|=0)&&Y(e)}function X(e){(e|=0)&&(Y(0|o[e>>2]),o[e>>2]=0)}function Q(e,r,i,t){e|=0,i|=0,t|=0;var f,A,u,s,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0;if(f=0|o[(r|=0)>>2],(0|i)<0|(0|t)<1|(t+i|0)>(0|(u=0|o[(A=r+88|0)>>2])))return 0|0;s=e+2356|0;e:do{if(!(0|o[s>>2])){d=0|o[(c=e+2344|0)>>2];do{if(d)D=t,L=d,x=16;else{if(v=0|N(1,0,144),o[c>>2]=v,!v)return 0|0;if(v=0|o[r>>2],v=0|V(h=0|Li(0|(b=0|o[A>>2]),((0|b)<0)<<31>>31|0,0|v,((0|v)<0)<<31>>31|0),0|g(),1),o[e+2360>>2]=v,0|v&&(o[e+2364>>2]=v,o[e+2368>>2]=0,h=0|o[c>>2],k=(b=0|o[e+2348>>2])+1|0,m=(w=0|o[e+2352>>2])+-1|0,C=h+24|0,H(),o[h+136>>2]=v,o[h>>2]=o[r>>2],v=r+4|0,o[(p=h+4|0)>>2]=o[v>>2],w>>>0>=2)&&(w=3&n[b>>0],o[(I=h+8|0)>>2]=255&w,y=0|a[b>>0],o[h+12>>2]=y>>>2&3,E=(y=0|a[b>>0])>>>4&3,o[h+16>>2]=E,(255&w)<=1)&&!(E>>>0>1|(0|a[b>>0])>63)&&(Z(C,520),j(0,C),o[h+64>>2]=h,o[C>>2]=o[r>>2],o[h+28>>2]=o[v>>2],o[h+96>>2]=o[r+72>>2],o[h+100>>2]=o[r+76>>2],o[h+104>>2]=o[r+80>>2],o[h+108>>2]=o[r+84>>2],o[h+112>>2]=o[A>>2],0|(0|o[I>>2]?0|K(h,k,m):m>>>0>=(0|l(0|o[p>>2],0|o[h>>2]))>>>0&1))){if(m=0|o[c>>2],1==(0|o[m+16>>2])){D=u-i|0,L=m,x=16;break}o[e+2372>>2]=0,D=t,L=m,x=16;break}}}while(0);do{if(16==(0|x)){if(d=0|o[L>>2],m=0|o[L+112>>2],0|o[L+8>>2]){if(!(0|J(L,k=D+i|0)))break;S=k}else{if(h=0|o[(k=e+2368|0)>>2],p=0|l(d,i),I=1+(0|o[e+2348>>2])+p|0,C=(v=0|o[e+2364>>2])+p|0,E=(0|D)>0,b=0|o[(p=L+12|0)>>2])if(E){if(M=0|l(d,D+i+-1|0),$i[31&o[9472+(b<<2)>>2]](h,I,C,d),1!=(0|D)){y=I,B=C,_=1;do{y=y+d|0,P=B,B=B+d|0,$i[31&o[9472+(o[p>>2]<<2)>>2]](P,y,B,d),_=_+1|0}while((0|_)!=(0|D))}F=v+M|0}else F=h;else if(E){for(w=D+i+-1|0,y=I,B=0,M=C;Ti(0|M,0|y,0|d),(0|(B=B+1|0))!=(0|D);)y=y+d|0,M=M+d|0;F=v+(0|l(d,w))|0}else F=h;o[k>>2]=F,S=D+i|0}if((0|S)<(0|m)){if(!(0|o[s>>2]))break e}else o[s>>2]=1;if(0|(_=0|o[c>>2])&&(U(0|o[(d=_+20|0)>>2]),o[d>>2]=0,Y(_)),o[c>>2]=0,(0|(_=0|o[e+2372>>2]))<=0)break e;if(d=0|o[r+84>>2],0|$((B=(0|o[e+2364>>2])+(0|l(d,f))|0)+(y=0|o[r+76>>2])|0,(0|o[r+80>>2])-y|0,(0|o[A>>2])-d|0,f,_))break e}}while(0);return Y(0|o[(_=e+2360|0)>>2]),o[_>>2]=0,o[e+2364>>2]=0,0|(_=0|o[c>>2])&&(U(0|o[(d=_+20|0)>>2]),o[d>>2]=0,Y(_)),o[c>>2]=0,0|0}}while(0);return 0|((0|o[e+2364>>2])+(0|l(f,i))|0)}function N(e,r,i){var n,t,o=0;return n=0|Li(0|(i|=0),0,0|(e|=0),0|(r|=0)),t=0|g(),!(0==(0|e)&0==(0|r))&&(o=0|Fi(2147418112,0,0|e,0|r),(0|n)!=(0|n)|0!=(0|t)|(r=0|g())>>>0<0|0==(0|r)&o>>>0>>0)?0|0:0|(0|$r(e,i))}function V(e,r,i){var n,t,o=0;return n=0|Li(0|(i|=0),0,0|(e|=0),0|(r|=0)),t=0|g(),!(0==(0|e)&0==(0|r))&&(o=0|Fi(2147418112,0,0|e,0|r),(0|n)!=(0|n)|0!=(0|t)|(r=0|g())>>>0<0|0==(0|r)&o>>>0>>0)?0|0:0|(0|Kr(0|l(e,i)))}function H(){0|ri(10112)||(0|o[2034]&&(o[2368]=0,o[2369]=1,o[2370]=2,o[2371]=3,o[2364]=0,o[2365]=1,o[2366]=2,o[2367]=3),o[2034]=0,ii(10112))}function Z(e,r){if(512!=(-256&(r|=0)|0))return 0|0;if(!(e|=0))return 0|1;e=(r=e)+108|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|e));return 0|1}function j(e,r){e|=0,o[(r|=0)+44>>2]=4,o[r+48>>2]=5,o[r+52>>2]=5,o[r+40>>2]=e}function K(e,r,i){e|=0,r|=0,i|=0;var t,a,f,A,u=0,s=0,l=0,c=0;if(!(t=0|N(1,0,272)))return 0|0;if(o[t>>2]=0,o[t+4>>2]=2,Ce(),u=0|o[e>>2],o[(a=t+100|0)>>2]=u,l=0|o[(s=e+4|0)>>2],o[(f=t+104|0)>>2]=l,A=e+24|0,o[t+8>>2]=A,o[e+64>>2]=e,o[A>>2]=u,o[e+28>>2]=l,o[t>>2]=0,pe(t+24|0,r,i),!(0|Ie(0|o[e>>2],0|o[s>>2],1,t,0)))return z(t),Y(t),0|0;e:do{if(1==(0|o[t+176>>2])&&3==(0|o[t+180>>2])&&(0|o[t+120>>2])<=0){if((0|(s=0|o[t+164>>2]))>0){i=0|o[t+168>>2],r=0;do{if(0|n[o[i+(548*r|0)+4>>2]>>0]){c=14;break e}if(0|n[o[i+(548*r|0)+8>>2]>>0]){c=14;break e}if(0|n[o[i+(548*r|0)+12>>2]>>0]){c=14;break e}r=r+1|0}while((0|r)<(0|s))}o[e+132>>2]=1,s=0|o[a>>2],i=0|Li(0|(r=0|o[f>>2]),((0|r)<0)<<31>>31|0,0|s,((0|s)<0)<<31>>31|0),s=0|g(),o[t+20>>2]=0,r=0|V(i,s,1),o[t+16>>2]=r,r?c=17:(o[t>>2]=1,c=19)}else c=14}while(0);do{if(14==(0|c)){if(o[e+132>>2]=0,r=0|o[e>>2],s=0|o[a>>2],l=0|Li(0|(i=0|o[f>>2]),((0|i)<0)<<31>>31|0,0|s,((0|s)<0)<<31>>31|0),s=0|g(),i=65535&r,r=0|xi(0|(u=0|Pi(0|r,((0|r)<0)<<31>>31|0,4)),0|g(),0|i,0),s=0|V(u=0|xi(0|r,0|g(),0|l,0|s),0|g(),4),o[t+16>>2]=s,s){o[t+20>>2]=s+(l<<2)+(i<<2),c=17;break}o[t>>2]=1,o[t+20>>2]=0,c=19;break}}while(0);return 17==(0|c)?(o[e+20>>2]=t,0|1):19==(0|c)?(z(t),Y(t),0|0):0}function J(e,r){r|=0;var i,A,u,s,c,d,v,b,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0,qe=0,Ye=0;if(i=0|o[(e|=0)+20>>2],(0|o[i+108>>2])>=(0|r))return 0|1;if(0|o[(h=e+132|0)>>2])w=0|o[i+16>>2];else{if(ee(),e=0|o[i+16>>2],!(0|o[h>>2]))return 0|(0|te(i,e,0|o[i+100>>2],0|o[i+104>>2],r,1));w=e}e=0|o[i+100>>2],s=(A=0|o[(h=i+112|0)>>2])-(0|l(u=(0|A)/(0|e)|0,e))|0,c=i+24|0,d=0|l(0|o[i+104>>2],e),v=0|l(e,r),b=0|o[i+148>>2];e:do{if((0|A)<(0|v))if((m=0|o[(k=i+152|0)>>2])?(p=0|l(0|o[i+156>>2],m?u>>m:u),C=0|o[(0|o[i+160>>2])+(p+(m?s>>m:s)<<2)>>2]):C=0,0|o[(m=i+48|0)>>2])Ge=u,Oe=A,qe=m,me=73;else{for(I=i+44|0,y=i+160|0,E=i+156|0,D=i+40|0,L=i+36|0,x=u,S=s,B=A,M=(0|o[(p=i+168|0)>>2])+(548*C|0)|0;;){S&b?R=M:((F=0|o[k>>2])?(P=0|l(0|o[E>>2],F?x>>F:x),_=0|o[(0|o[y>>2])+(P+(F?S>>F:S)<<2)>>2]):_=0,R=(0|o[p>>2])+(548*_|0)|0),(0|(F=0|o[I>>2]))>31?(re(c),T=0|o[I>>2]):T=F,F=0|o[R>>2],P=0|_i(0|(G=0|o[(P=c)>>2]),0|(O=0|o[P+4>>2]),63&T|0),g(),(255&(Y=0|n[(P=F+((q=255&P)<<2)|0)>>0]))>8?(U=T+8|0,o[I>>2]=U,z=0|_i(0|G,0|O,63&U|0),g(),X=W=P+((0|f[F+(q<<2)+2>>1])<<2)+(((1<<(255&Y)-8)-1&z)<<2)|0,Q=0|n[W>>0],N=U):(X=P,Q=Y,N=T),Y=N+(255&Q)|0,o[I>>2]=Y,U=65535&(P=0|t[X+2>>1]);do{if((65535&P)<256)n[w+B>>0]=P,W=B+1|0,(0|(z=S+1|0))>=(0|e)?(0|x)<(0|r)&0==(15&(q=x+1|0)|0)?(ie(i,q),V=W,H=q,Z=0,j=R):(V=W,H=q,Z=0,j=R):(V=W,H=x,Z=z,j=R);else{if((65535&P)>=280){K=B,J=0,$=m;break e}if(W=(z=U+-258|0)>>1,(65535&P)<260?(oe=U+-256|0,ae=Y,fe=G,Ae=O):(z=(0|ne(c,W))+((65535&(1&P|2))<>2],fe=0|o[W>>2],Ae=0|o[W+4>>2]),W=oe+1|0,z=0|o[R+16>>2],q=0|_i(0|fe,0|Ae,63&ae|0),g(),(255&(ue=0|n[(q=z+((F=255&q)<<2)|0)>>0]))>8?(se=ae+8|0,o[I>>2]=se,le=0|_i(0|fe,0|Ae,63&se|0),g(),de=ce=q+((0|f[z+(F<<2)+2>>1])<<2)+(((1<<(255&ue)-8)-1&le)<<2)|0,ve=0|n[ce>>0],ge=se):(de=q,ve=ue,ge=ae),ue=ge+(255&ve)|0,o[I>>2]=ue,se=65535&(q=0|t[de+2>>1]),(0|ue)>31&&re(c),ce=(ue=se+-2|0)>>1,((be=(65535&q)<4?se:(0|ne(c,ce))+((1&se|2)<120?he=be+-119|0:(ce=0|a[3584+be>>0],he=(0|(se=(0|l(ce>>>4,e))+(8-(15&ce))|0))>1?se:1),(d-B|0)<(0|W)|(0|B)<(0|he)){K=B,J=0,$=m;break e}ce=(se=w+B|0)+(0-he)|0;r:do{if((0|W)>7){switch(0|he){case 1:q=0|n[ce>>0],we=0|l(255&q,16843009),ke=q;break;case 2:we=65537*(65535&(q=a[ce>>0]|a[ce+1>>0]<<8))|0,ke=255&q;break;case 4:we=q=a[ce>>0]|a[ce+1>>0]<<8|a[ce+2>>0]<<16|a[ce+3>>0]<<24,ke=255&q;break;default:me=54;break r}do{if(3&se){if(q=ce+1|0,ue=se+1|0,n[se>>0]=ke,le=we<<24|we>>>8,!(3&ue)){Ce=le,pe=oe,Ie=ue,ye=q,Ee=oe>>>2,me=48;break}for(F=q,q=ue,ue=le,le=oe;z=F,F=F+1|0,De=q,q=q+1|0,n[De>>0]=0|n[z>>0],ue=ue<<24|ue>>>8,Le=le+-1|0,3&q;)le=Le;(0|le)>4?(Ce=ue,pe=Le,Ie=q,ye=F,Ee=Le>>2,me=48):(xe=0,Se=Le,Be=q,Me=F)}else Ce=we,pe=W,Ie=se,ye=ce,Ee=W>>>2,me=48}while(0);if(48==(0|me)){me=0,z=0;do{o[Ie+(z<<2)>>2]=Ce,z=z+1|0}while((0|z)<(0|Ee));xe=z<<2,Se=pe,Be=Ie,Me=ye}if((0|xe)>=(0|Se))break;De=xe;do{n[Be+De>>0]=0|n[Me+De>>0],De=De+1|0}while((0|De)!=(0|Se))}else me=54}while(0);do{if(54==(0|me)){if(me=0,(0|he)>=(0|W)){Ti(0|se,0|ce,0|W);break}if((0|W)<=0)break;De=0;do{n[se+De>>0]=0|n[ce+De>>0],De=De+1|0}while((0|De)!=(0|W))}}while(0);if(ce=W+B|0,(0|(se=W+S|0))<(0|e))Fe=x,_e=se;else for(De=x,z=se;;){if(se=z-e|0,(0|De)<(0|r)&0==(15&(Pe=De+1|0)|0)&&ie(i,Pe),(0|se)<(0|e)){Fe=Pe,_e=se;break}De=Pe,z=se}if((0|ce)>=(0|v)|0==(_e&b|0)){V=ce,H=Fe,Z=_e,j=R;break}(z=0|o[k>>2])?(De=0|l(0|o[E>>2],z?Fe>>z:Fe),Re=0|o[(0|o[y>>2])+(De+(z?_e>>z:_e)<<2)>>2]):Re=0,V=ce,H=Fe,Z=_e,j=(0|o[p>>2])+(548*Re|0)|0}}while(0);if(0|o[m>>2])break;if(Te=(0|o[D>>2])==(0|o[L>>2])?(0|o[I>>2])>64&1:0,o[m>>2]=Te,!((0|V)<(0|v)&0==(0|Te))){Ge=H,Oe=V,qe=m,me=73;break e}x=H,S=Z,B=V,M=j}o[m>>2]=1,Ge=H,Oe=V,qe=m,me=73}else Ge=u,Oe=A,qe=i+48|0,me=73}while(0);return 73==(0|me)&&(ie(i,(0|Ge)>(0|r)?r:Ge),K=Oe,J=1,$=qe),Ye=0|o[$>>2]?1:(0|o[i+40>>2])==(0|o[i+36>>2])?(0|o[i+44>>2])>64&1:0,o[$>>2]=Ye,0|J&&!((0|d)>(0|K)&0!=(0|Ye))?(o[h>>2]=K,0|1):(o[i>>2]=0==(0|Ye)?3:5,0|0)}function $(e,r,i,o,A){o|=0;var u,s,c,d,v,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,U=0,z=0,W=0;if(u=O,O=O+256|0,g=u,b=(0|(A|=0))/25|0,A>>>0>100)return O=u,0|0;if(0==(0|(e|=0))|(0|(r|=0))<1|(0|(i|=0))<1)return O=u,0|0;if(A=r+-1|0,h=(1|b<<1)>(0|r)?A>>1:b,b=i+-1|0,h=0-(s=(1|h<<1)>(0|i)?b>>1:h)|0,(0|s)<=0)return O=u,0|1;if(!(c=0|V(1,0,(k=r<<1)+4094+(m=0|l((w=s<<1|1)+1|0,k))|0)))return O=u,0|0;for(Oi(0|(C=(d=c+((0|l(w,r))<<1)|0)+(0-r<<1)|0),0,0|k),v=c+m|0,m=0|l(w,w),Oi(0|g,0,256),w=0,p=e,I=255,y=0,E=0,D=255;;){L=0,x=I,S=y,B=D,M=E;do{x=(_=(0|B)>(0|(F=0|a[p+L>>0])))?F:x,B=_?F:B,S=(_=(0|M)<(0|F))?F:S,M=_?F:M,n[g+F>>0]=1,L=L+1|0}while((0|L)!=(0|r));if((0|(w=w+1|0))==(0|i))break;p=p+o|0,I=x,y=S,E=M,D=B}for(D=c,E=v+k|0,y=262144/(m>>>0)|0,m=-1,I=0,p=0,w=M-B|0;0|n[g+I>>0]?(B=p+1|0,(0|m)>-1?(P=I,R=B,T=(0|(M=I-m|0))<(0|w)?M:w):(P=I,R=B,T=w)):(P=m,R=p,T=w),256!=(0|(I=I+1|0));)m=P,p=R,w=T;w=E+2046|0,p=(E=T<<2)-(T=(p=12*T|0)>>2)|0,P=1;do{m=(G=(0|P)>(0|T)?(0|E)>(0|P)?(0|l(E-P|0,T))/(0|p)|0:0:P)>>2,t[w+(P<<1)>>1]=m,t[w+(0-P<<1)>>1]=0-m,P=P+1|0}while(1024!=(0|P));if(t[w>>1]=0,(0|R)>2&(0|h)<(0|i))for(R=(0|r)>0,P=(0|s)<0,G=r-s|0,p=s+-1|0,T=s+1|0,E=~s,m=d+(A<<1)|0,A=k+-2-s|0,k=h,h=e,I=e,e=D,g=C;;){if(C=g,g=e,R){B=0,M=0;do{L=(M=(65535&M)+(0|a[h+B>>0])|0)+(0|f[C+(B<<1)>>1])|0,F=g+(B<<1)|0,t[d+(B<<1)>>1]=L-(0|f[F>>1]),t[F>>1]=L,B=B+1|0}while((0|B)!=(0|r))}if(e=(0|(B=g+(r<<1)|0))==(0|d)?D:B,h=(0|k)>-1&(0|k)<(0|b)?h+o|0:h,(0|k)<(0|s))q=I;else{if(P)U=0;else{B=0;do{C=0|l((0|f[d+(s-B<<1)>>1])+(0|f[d+(p+B<<1)>>1])&65535,y),t[v+(B<<1)>>1]=C>>>16,B=B+1|0}while((0|B)!=(0|T));U=T}if((0|U)<(0|G)){B=U;do{C=0|l((0|f[d+(B+s<<1)>>1])-(0|f[d+(B+E<<1)>>1])&65535,y),t[v+(B<<1)>>1]=C>>>16,B=B+1|0}while((0|B)!=(0|G));z=G}else z=U;if((0|z)<(0|r)){B=z;do{C=0|l((f[m>>1]<<1)-(0|f[d+(A-B<<1)>>1])-(0|f[d+(B+E<<1)>>1])&65535,y),t[v+(B<<1)>>1]=C>>>16,B=B+1|0}while((0|B)!=(0|r))}if(R){B=0;do{(0|S)>(0|(M=0|a[(C=I+B|0)>>0]))&(0|x)<(0|M)&&(W=(L=(0|t[w+((0|f[v+(B<<1)>>1])-(M<<2)<<1)>>1])+M|0)>>>0>255?255+(L>>31&-255)|0:255&L,n[C>>0]=W),B=B+1|0}while((0|B)!=(0|r))}q=I+o|0}if((0|(k=k+1|0))==(0|i))break;I=q}return Y(c),O=u,0|1}function ee(){0|ri(9944)||(o[2028]=0,ii(9944))}function re(e){var r,i,n=0,t=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0;r=(e|=0)+16|0,n=0|o[(i=e+20|0)>>2];e:do{if((0|n)>7)for(t=e+8|0,f=0|o[e+12>>2],A=n,u=0|o[r>>2];;){if(u>>>0>=f>>>0){s=A;break e}if(c=0|_i(0|o[(l=e)>>2],0|o[l+4>>2],8),l=0|g(),o[(d=e)>>2]=c,o[d+4>>2]=l,d=0|Pi(0|a[(0|o[t>>2])+u>>0],0,56),v=0|g()|l,o[(l=e)>>2]=d|c,o[l+4>>2]=v,u=u+1|0,o[r>>2]=u,v=A+-8|0,o[i>>2]=v,(0|A)<=15){s=v;break}A=v}else s=n}while(0);0==(0|o[(n=e+24|0)>>2])&&((0|s)<65||(0|o[r>>2])!=(0|o[e+12>>2]))||(o[n>>2]=1,o[i>>2]=0)}function ie(e,r){r|=0;var i,n,t,a=0,f=0,A=0,u=0,s=0,c=0;if(a=0|o[(e|=0)+8>>2],f=0|o[a+40>>2],n=e+108|0,A=0|o[((0|o[(i=f+12|0)>>2])>>>0<2?a+84|0:n)>>2],(0|(s=(0|(u=0|o[n>>2]))<(0|A)?A:u))>=(0|r))return o[(e+116|0)>>2]=r,void(o[n>>2]=r);if(u=0|o[a>>2],a=(0|o[f+136>>2])+(0|l(u,s))|0,de(e+180|0,s,r,(0|o[e+16>>2])+(0|l(0|o[e+100>>2],s))|0,a),!(A=0|o[i>>2]))return o[(e+116|0)>>2]=r,void(o[n>>2]=r);if(t=f+140|0,f=0|l(u,r+-1-s|0),$i[31&o[9472+(A<<2)>>2]](0|o[t>>2],a,a,u),(0|(A=s+1|0))!=(0|r)){s=a,c=A;do{A=s,s=s+u|0,$i[31&o[9472+(o[i>>2]<<2)>>2]](A,s,s,u),c=c+1|0}while((0|c)!=(0|r))}o[t>>2]=a+f,o[(e+116|0)>>2]=r,o[n>>2]=r}function ne(e,r){var i,n,t,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,b=0,h=0;if(!((0|(r|=0))<25&0==(0|o[(i=(e|=0)+24|0)>>2])))return o[i>>2]=1,o[e+20>>2]=0,0|0;if(l=0|_i(0|(A=0|o[(f=e)>>2]),0|(u=0|o[f+4>>2]),63&(s=0|o[(f=e+20|0)>>2])|0),g(),n=o[3712+(r<<2)>>2]&l,l=s+r|0,o[f>>2]=l,r=e+16|0,(0|l)<=7)return 0|n;for(s=e+8|0,t=0|o[e+12>>2],c=0|o[r>>2],d=A,A=u,u=l;;){if(c>>>0>=t>>>0){v=u;break}if(l=0|_i(0|d,0|A,8),b=0|g(),o[(h=e)>>2]=l,o[h+4>>2]=b,d=(h=0|Pi(0|a[(0|o[s>>2])+c>>0],0,56))|l,A=0|g()|b,o[(b=e)>>2]=d,o[b+4>>2]=A,c=c+1|0,o[r>>2]=c,b=u+-8|0,o[f>>2]=b,(0|u)<=15){v=b;break}u=b}return(0|v)<65||(0|o[r>>2])!=(0|o[e+12>>2])||(o[i>>2]=1,o[f>>2]=0),0|n}function te(e,r,i,A,u,s){r|=0,i|=0,A|=0,u|=0,s|=0;var c,d,v,b,h,w,k,m,C,p,I,y,E,D,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,ie=0,te=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0,qe=0,Ye=0,Ue=0,ze=0,We=0,Xe=0,Qe=0,Ne=0,Ve=0,He=0,Ze=0,je=0,Ke=0,Je=0,$e=0,er=0,rr=0,ir=0,nr=0,tr=0,or=0,ar=0,fr=0,Ar=0,ur=0,sr=0,lr=0,cr=0,dr=0,vr=0,gr=0,br=0,hr=0,wr=0,kr=0,mr=0,Cr=0;b=(d=0|o[(c=(e|=0)+112|0)>>2])-(0|l(v=(0|d)/(0|i)|0,i))|0,h=e+24|0,w=r+(d<<2)|0,k=r+((0|l(A,i))<<2)|0,m=r+((A=0|l(u,i))<<2)|0,p=(L=0|o[(C=e+120|0)>>2])+280|0,I=0==(0|o[(x=e+56|0)>>2])?16777216:v,y=(0|L)>0,L=e+124|0,E=y?L:0,D=0|o[e+148>>2];e:do{if((0|d)<(0|A))for((S=0|o[e+152>>2])?(M=0|l(0|o[e+156>>2],S?v>>S:v),B=0|o[(0|o[e+160>>2])+(M+(S?b>>S:b)<<2)>>2]):B=0,S=r,M=e+64|0,F=e+96|0,_=e+152|0,P=e+136|0,R=e+168|0,T=e+160|0,G=e+156|0,O=e+44|0,q=0!=(0|s),Y=e+48|0,U=e+40|0,z=e+36|0,W=E+4|0,X=k,Q=0==(0|s),N=v,V=b,H=w,Z=w,j=I,K=(0|o[e+168>>2])+(548*B|0)|0;;){J=Z,(0|N)<(0|j)?$=j:(ee=H-S|0,o[M>>2]=o[h>>2],o[M+4>>2]=o[h+4>>2],o[M+8>>2]=o[h+8>>2],o[M+12>>2]=o[h+12>>2],o[M+16>>2]=o[h+16>>2],o[M+20>>2]=o[h+20>>2],o[M+24>>2]=o[h+24>>2],o[M+28>>2]=o[h+28>>2],o[F>>2]=ee>>2,(0|o[C>>2])>0&&oe(L,P),$=N+8|0),V&D?ae=K:((ee=0|o[_>>2])?(te=0|l(0|o[G>>2],ee?N>>ee:N),ie=0|o[(0|o[T>>2])+(te+(ee?V>>ee:V)<<2)>>2]):ie=0,ae=(0|o[R>>2])+(548*ie|0)|0);do{if(0|o[ae+28>>2])Fe=Z,_e=J,Pe=0|o[ae+24>>2],Ee=45;else{if((0|o[O>>2])>31&&re(h),0|o[ae+32>>2]){if(le=0|_i(0|(fe=0|o[(Ae=h)>>2]),0|(te=0|o[Ae+4>>2]),63&(Ae=0|o[O>>2])|0),g(),le=0|o[ae+36+((ue=63&le)<<3)>>2],ce=0|o[ae+36+(ue<<3)+4>>2],ue=le+Ae|0,(0|le)<256?(o[O>>2]=ue,o[H>>2]=ce,De=0):(o[O>>2]=ue+-256,De=ce),0|o[Y>>2]){Ce=N,pe=H,Ie=Y,ye=1,Ee=111;break e}if((0|o[U>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=H,Se=Y,Ee=108;break e}if(!De){Be=Z,Me=J,Ee=46;break}we=De,ke=fe,me=te}else{if(ee=0|o[ae>>2],ue=0|_i(0|(fe=0|o[(te=h)>>2]),0|(Ae=0|o[te+4>>2]),63&(te=0|o[O>>2])|0),g(),(255&(le=0|n[(ue=ee+((se=255&ue)<<2)|0)>>0]))>8?(ce=te+8|0,o[O>>2]=ce,de=0|_i(0|fe,0|Ae,63&ce|0),g(),ge=ve=ue+((0|f[ee+(se<<2)+2>>1])<<2)+(((1<<(255&le)-8)-1&de)<<2)|0,be=0|n[ve>>0],he=ce):(ge=ue,be=le,he=te),o[O>>2]=he+(255&be),0|o[Y>>2]){Ce=N,pe=H,Ie=Y,ye=1,Ee=111;break e}we=0|f[ge+2>>1],ke=fe,me=Ae}if((0|o[U>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=H,Se=Y,Ee=108;break e}if((0|we)<256){if(0|o[ae+20>>2]){Fe=Z,_e=J,Pe=o[ae+24>>2]|we<<8,Ee=45;break}if(te=0|o[ae+4>>2],ce=0|_i(0|ke,0|me,63&(fe=0|o[O>>2])|0),g(),(255&(le=0|n[(ce=te+((ue=255&ce)<<2)|0)>>0]))>8?(Ae=fe+8|0,o[O>>2]=Ae,ve=0|_i(0|ke,0|me,63&Ae|0),g(),Re=de=ce+((0|f[te+(ue<<2)+2>>1])<<2)+(((1<<(255&le)-8)-1&ve)<<2)|0,Te=0|n[de>>0],Ge=Ae):(Re=ce,Te=le,Ge=fe),fe=Ge+(255&Te)|0,o[O>>2]=fe,le=0|f[Re+2>>1],(0|fe)>31?(re(h),ce=h,Oe=0|o[O>>2],qe=0|o[ce>>2],Ye=0|o[ce+4>>2]):(Oe=fe,qe=ke,Ye=me),fe=0|o[ae+8>>2],ce=0|_i(0|qe,0|Ye,63&Oe|0),g(),(255&(de=0|n[(ce=fe+((Ae=255&ce)<<2)|0)>>0]))>8?(ve=Oe+8|0,o[O>>2]=ve,ue=0|_i(0|qe,0|Ye,63&ve|0),g(),Ue=te=ce+((0|f[fe+(Ae<<2)+2>>1])<<2)+(((1<<(255&de)-8)-1&ue)<<2)|0,ze=0|n[te>>0],We=ve):(Ue=ce,ze=de,We=Oe),de=We+(255&ze)|0,o[O>>2]=de,ce=0|f[Ue+2>>1],ve=0|o[ae+12>>2],te=0|_i(0|qe,0|Ye,63&de|0),g(),(255&(Ae=0|n[(te=ve+((ue=255&te)<<2)|0)>>0]))>8?(fe=de+8|0,o[O>>2]=fe,se=0|_i(0|qe,0|Ye,63&fe|0),g(),Xe=ee=te+((0|f[ve+(ue<<2)+2>>1])<<2)+(((1<<(255&Ae)-8)-1&se)<<2)|0,Qe=0|n[ee>>0],Ne=fe):(Xe=te,Qe=Ae,Ne=de),de=Ne+(255&Qe)|0,o[O>>2]=de,0|o[Y>>2]){Ce=N,pe=H,Ie=Y,ye=1,Ee=111;break e}if(!((0|de)<65||(0|o[U>>2])!=(0|o[z>>2]))){Le=N,xe=H,Se=Y,Ee=108;break e}Fe=Z,_e=J,Pe=le<<16|we<<8|ce|(0|f[Xe+2>>1])<<24,Ee=45;break}if((0|we)>=280){if((0|we)>=(0|p))break e;if(ce=we+-280|0,le=0|o[E>>2],Z>>>0>>0){Ae=(de=H+-1+(0-J)|0)>>>2,de=Z;do{te=0|o[de>>2],de=de+4|0,fe=0|o[W>>2],ee=0|l(te,506832829),o[le+((fe?ee>>>fe:ee)<<2)>>2]=te}while(de>>>0>>0);Ve=de=Z+4+(Ae<<2)|0,He=de}else Ve=Z,He=J;Fe=Ve,_e=He,Pe=0|o[le+(ce<<2)>>2],Ee=45;break}if(de=we+-256|0,ee=(te=we+-258|0)>>1,(0|we)<260?(Ze=de,je=ke,Ke=me):(Ze=te=(0|ne(h,ee))+((1&de|2)<>2],Ke=0|o[ee+4>>2]),ee=Ze+1|0,te=0|o[ae+16>>2],fe=0|_i(0|je,0|Ke,63&(de=0|o[O>>2])|0),g(),(255&(ue=0|n[(fe=te+((se=255&fe)<<2)|0)>>0]))>8?(ve=de+8|0,o[O>>2]=ve,Je=0|_i(0|je,0|Ke,63&ve|0),g(),er=$e=fe+((0|f[te+(se<<2)+2>>1])<<2)+(((1<<(255&ue)-8)-1&Je)<<2)|0,rr=0|n[$e>>0],ir=ve):(er=fe,rr=ue,ir=de),de=ir+(255&rr)|0,o[O>>2]=de,fe=65535&(ue=0|t[er+2>>1]),(0|de)>31&&re(h),ve=(de=fe+-2|0)>>1,((nr=(65535&ue)<4?fe:(0|ne(h,ve))+((1&fe|2)<120?tr=nr+-119|0:(ve=0|a[3584+nr>>0],tr=(0|(fe=(0|l(ve>>>4,i))+(8-(15&ve))|0))>1?fe:1),0|o[Y>>2]){Ce=N,pe=H,Ie=Y,ye=1,Ee=111;break e}if((0|o[U>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=H,Se=Y,Ee=108;break e}if(((ve=(fe=H)-S|0)>>2|0)<(0|tr))break e;if(((ve=X-fe|0)>>2|0)<(0|ee))break e;ve=H+(0-tr<<2)|0;do{if(0==(3&fe|0)&(0|ee)>3&(0|tr)<3){1==(0|tr)?(or=ue=0|o[ve>>2],ar=ue,fr=ue):(or=de=0|o[(ue=ve)>>2],ar=de,fr=0|o[ue+4>>2]),4&fe?(o[H>>2]=or,Ar=Ze,ur=H+4|0,sr=ve+4|0,lr=fr,cr=ar):(Ar=ee,ur=H,sr=ve,lr=ar,cr=fr),ue=Ar>>>1,de=0;do{o[($e=ur+(de<<3)|0)>>2]=lr,o[$e+4>>2]=cr,de=de+1|0}while(de>>>0>>0);if(ue=de<<1,!(1&Ar))break;o[ur+(ue<<2)>>2]=o[sr+(ue<<2)>>2]}else{if((0|tr)>=(0|ee)){Ti(0|H,0|ve,ee<<2|0);break}if((0|ee)<=0)break;ue=0;do{o[H+(ue<<2)>>2]=o[ve+(ue<<2)>>2],ue=ue+1|0}while((0|ue)!=(0|ee))}}while(0);ve=H+(ee<<2)|0,fe=ee+V|0;r:do{if((0|fe)<(0|i))dr=N,vr=fe;else{if(Q)for(ce=fe,le=N;;){if(ue=le+1|0,(0|(Ae=ce-i|0))<(0|i)){dr=ue,vr=Ae;break r}ce=Ae,le=ue}for(le=fe,ce=N;;){if(ue=le-i|0,(0|ce)<(0|u)&0==(15&(Ae=ce+1|0)|0)&&Ji[3&s](e,Ae),(0|ue)<(0|i)){dr=Ae,vr=ue;break}le=ue,ce=Ae}}}while(0);if(vr&D?((fe=0|o[_>>2])?(ee=0|l(0|o[G>>2],fe?dr>>fe:dr),br=0|o[(0|o[T>>2])+(ee+(fe?vr>>fe:vr)<<2)>>2]):br=0,gr=(0|o[R>>2])+(548*br|0)|0):gr=ae,!(y&Z>>>0>>0)){hr=ve,wr=dr,kr=vr,mr=gr,Cr=Z;break}fe=0|o[E>>2],ce=(ee=H+3+((Ze<<2)-J)|0)>>>2,ee=Z;do{le=0|o[ee>>2],ee=ee+4|0,Ae=0|o[W>>2],ue=0|l(le,506832829),o[fe+((Ae?ue>>>Ae:ue)<<2)>>2]=le}while(ee>>>0>>0);hr=ve,wr=dr,kr=vr,mr=gr,Cr=Z+4+(ce<<2)|0}}while(0);if(45==(0|Ee)&&(Ee=0,o[H>>2]=Pe,Be=Fe,Me=_e,Ee=46),46==(0|Ee))if(Ee=0,J=H+4|0,(0|(ee=V+1|0))>=(0|i))if(q&(0|N)<(0|u)&0==(15&(fe=N+1|0)|0)&&Ji[3&s](e,fe),y&Be>>>0>>0){for(le=0|o[E>>2],Ae=(ue=(Be>>>0>H>>>0?Be:H)+3+(0-Me)|0)>>>2,ue=Be;de=0|o[ue>>2],$e=0|o[W>>2],Je=0|l(de,506832829),o[le+(($e?Je>>>$e:Je)<<2)>>2]=de,ue>>>0>>0;)ue=ue+4|0;hr=J,wr=fe,kr=0,mr=ae,Cr=Be+4+(Ae<<2)|0}else hr=J,wr=fe,kr=0,mr=ae,Cr=Be;else hr=J,wr=N,kr=ee,mr=ae,Cr=Be;if(!(hr>>>0>>0)){Le=wr,xe=hr,Se=Y,Ee=108;break}N=wr,V=kr,H=hr,Z=Cr,j=$,K=mr}else Le=v,xe=w,Se=e+48|0,Ee=108}while(0);if(108==(0|Ee)&&(0|o[Se>>2]?(Ce=Le,pe=xe,Ie=Se,ye=1,Ee=111):(0|o[e+40>>2])==(0|o[e+36>>2])?(Ce=Le,pe=xe,Ie=Se,ye=(0|o[e+44>>2])>64&1,Ee=111):(Ce=Le,pe=xe,Ie=Se,ye=0,Ee=111)),111==(0|Ee)){if(o[Ie>>2]=ye,pe>>>0>>0&(1^((Ie=0==(0|ye))|0==(0|o[x>>2]))))return o[e>>2]=5,x=e+64|0,o[h>>2]=o[x>>2],o[h+4>>2]=o[x+4>>2],o[h+8>>2]=o[x+8>>2],o[h+12>>2]=o[x+12>>2],o[h+16>>2]=o[x+16>>2],o[h+20>>2]=o[x+20>>2],o[h+24>>2]=o[x+24>>2],o[h+28>>2]=o[x+28>>2],o[c>>2]=o[e+96>>2],(0|o[C>>2])<=0||oe(e+136|0,L),0|1;if(Ie)return 0|s&&Ji[3&s](e,(0|Ce)>(0|u)?u:Ce),o[e>>2]=0,Ce=pe-r|0,o[c>>2]=Ce>>2,0|1}return o[e>>2]=3,0|0}function oe(e,r){e|=0,Ti(0|o[(r|=0)>>2],0|o[e>>2],4<>2]|0)}function ae(e,r,i,t,a){r|=0,i|=0,t|=0,a|=0;var f,A,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0;switch(f=O,O=O+16|0,u=f,A=0|o[(s=(e|=0)+8|0)>>2],0|o[e>>2]){case 2:return function(e,r,i){e|=0,i|=0;var n=0,t=0,a=0;if((0|(r|=0))<=0)return;n=0;do{t=0|o[e+(n<<2)>>2],a=t>>>8&255,o[i+(n<<2)>>2]=(a<<16|a)+(16711935&t)&16711935|-16711936&t,n=n+1|0}while((0|n)!=(0|r))}(t,0|l(A,i-r|0),a),void(O=f);case 0:if(r)w=r,k=t,m=a,C=A+-1|0;else{if(d=(c=0|o[t>>2])+-16777216&-16711936|16711935&c,o[a>>2]=d,c=t+4|0,v=A+-1|0,g=a+4|0,(0|A)>1){b=0,h=d;do{h=(-16711936&(d=0|o[c+(b<<2)>>2]))+(-16711936&h)&-16711936|(16711935&d)+(16711935&h)&16711935,o[g+(b<<2)>>2]=h,b=b+1|0}while((0|b)!=(0|v))}w=1,k=t+(A<<2)|0,m=a+(A<<2)|0,C=v}h=(b=1<<(v=0|o[e+4>>2]))+-1|0,g=b+C|0,C=v?g>>>v:g;e:do{if((0|w)<(0|i)){if(g=0-A|0,c=0-b|0,(0|A)<=1)for(d=w,p=k,I=m;;){if(y=0|o[I+(g<<2)>>2],E=0|o[p>>2],o[I>>2]=(-16711936&E)+(-16711936&y)&-16711936|(16711935&E)+(16711935&y)&16711935,(0|(d=d+1|0))==(0|i))break e;p=p+(A<<2)|0,I=I+(A<<2)|0}for(I=(0|o[e+16>>2])+((0|l(C,v?w>>v:w))<<2)|0,p=w,d=k,y=m;;){for(E=0|o[y+(g<<2)>>2],D=0|o[d>>2],o[y>>2]=(-16711936&D)+(-16711936&E)&-16711936|(16711935&D)+(16711935&E)&16711935,E=1,D=I;L=0|o[D>>2],S=E,E=(0|(x=(E&c)+b|0))>(0|A)?A:x,B=y+(S<<2)|0,$i[31&o[9488+((L>>>8&15)<<2)>>2]](d+(S<<2)|0,B+(g<<2)|0,E-S|0,B),!((0|A)<=(0|x));)D=D+4|0;if((0|(D=p+1|0))==(0|i))break;I=0==(D&h|0)?I+(C<<2)|0:I,p=D,d=d+(A<<2)|0,y=y+(A<<2)|0}}}while(0);return(0|o[e+12>>2])==(0|i)||Ti(a+(0-A<<2)|0,a+((0|l(A,~r+i|0))<<2)|0,A<<2|0),void(O=f);case 1:if(k=A-(m=A&0-(h=1<<(C=0|o[e+4>>2])))|0,w=(b=h+-1|0)+A|0,v=C?w>>>C:w,(0|i)<=(0|r))return void(O=f);if(w=(0|o[e+16>>2])+((0|l(v,C?r>>C:r))<<2)|0,C=u+1|0,y=u+2|0,(0|m)<=0){for(d=(0|A)>0,p=a,I=w,g=r,c=t;n[u>>0]=0,n[u+1>>0]=0,n[u+2>>0]=0,d?(D=0|o[I>>2],n[u>>0]=D,n[C>>0]=D>>>8,n[y>>0]=D>>>16,Se(u,c,k,p),M=c+(k<<2)|0,F=p+(k<<2)|0):(M=c,F=p),(0|(D=g+1|0))!=(0|i);)p=F,I=0==(D&b|0)?I+(v<<2)|0:I,g=D,c=M;return void(O=f)}for(M=a,c=w,w=r,g=t;;){n[u>>0]=0,n[u+1>>0]=0,n[u+2>>0]=0,I=g+(m<<2)|0,F=c,p=g,d=M;do{D=F,F=F+4|0,E=0|o[D>>2],n[u>>0]=E,n[C>>0]=E>>>8,n[y>>0]=E>>>16,Se(u,p,h,d),p=p+(h<<2)|0,d=d+(h<<2)|0}while(p>>>0>>0);if(p>>>0<(g+(A<<2)|0)>>>0?(I=0|o[F>>2],n[u>>0]=I,n[C>>0]=I>>>8,n[y>>0]=I>>>16,Se(u,p,k,d),_=p+(k<<2)|0,P=d+(k<<2)|0):(_=p,P=d),(0|(I=w+1|0))==(0|i))break;M=P,c=0==(I&b|0)?c+(v<<2)|0:c,w=I,g=_}return void(O=f);case 3:if((0|t)==(0|a)&(0|(g=0|o[(_=e+4|0)>>2]))>0){if(v=A+-1+(1<>>g:v,w))<<2)|0),0|t,b<<2|0),b=0|o[_>>2],_=0|o[s>>2],s=0|o[e+16>>2],(0|(c=b?8>>>b:8))>=8)return Re(w,s,t,r,i,_),void(O=f);if(v=(1<(0|r)&(0|_)>0))return void(O=f);for(P=w,w=t,M=r;;){for(k=0,u=0,y=P,C=w;k&v?(R=u,T=y):(R=(h=0|o[y>>2])>>>8&255,T=y+4|0),o[C>>2]=o[s+((R&b)<<2)>>2],(0|(k=k+1|0))!=(0|_);)u=c?R>>>c:R,y=T,C=C+4|0;if((0|(M=M+1|0))==(0|i))break;P=T,w=w+(_<<2)|0}return void(O=f)}if(_=0|o[e+16>>2],(0|(e=g?8>>>g:8))>=8)return Re(t,_,a,r,i,A),void(O=f);if(w=(1<(0|r)&(0|A)>0))return void(O=f);for(T=t,t=a,a=r;;){for(r=0,P=0,M=T,R=t;r&w?(G=P,q=M):(G=(c=0|o[M>>2])>>>8&255,q=M+4|0),o[R>>2]=o[_+((G&g)<<2)>>2],(0|(r=r+1|0))!=(0|A);)P=e?G>>>e:G,M=q,R=R+4|0;if((0|(a=a+1|0))==(0|i))break;T=q,t=t+(A<<2)|0}return void(O=f);default:return void(O=f)}}function fe(e,r){r|=0;var i,n;return i=0|o[(e|=0)+32>>2],0|((0|(n=((0|o[e+24>>2])-1+i|0)/(0|i)|0))>(0|r)?r:n)}function Ae(e,r,i,n,t){e|=0,r|=0,i|=0,t|=0;var o=0,a=0;if(!((0|(n|=0))<=0))for(o=0,a=e;ve(a,i,t),(0|(o=o+1|0))!=(0|n);)a=a+r|0}function ue(e,r,i,n){n|=0;var t,a,f,A,u,s,c,d,v,g,b=0,h=0,w=0,k=0,m=0,C=0,p=0;if(t=(e|=0)+24|0,(0|(r|=0))<=0)return 0|(b=0);for(a=e+56|0,f=e+64|0,A=e+4|0,u=e+76|0,s=e+80|0,c=e+8|0,d=e+52|0,v=e+60|0,g=e+32|0,h=i|=0,i=0;;){if((0|o[f>>2])<(0|o[a>>2])&&(0|o[t>>2])<=0){b=i,w=12;break}if(0|o[A>>2]&&(k=0|o[u>>2],o[u>>2]=o[s>>2],o[s>>2]=k),ce(e,h),0==(0|o[A>>2])&&(0|l(0|o[d>>2],0|o[c>>2]))>0){k=0|o[s>>2],m=0|o[u>>2],C=0;do{o[(p=m+(C<<2)|0)>>2]=(0|o[p>>2])+(0|o[k+(C<<2)>>2]),C=C+1|0}while((0|C)<(0|l(0|o[d>>2],0|o[c>>2])))}if(o[v>>2]=1+(0|o[v>>2]),C=i+1|0,o[t>>2]=(0|o[t>>2])-(0|o[g>>2]),!((0|C)<(0|r))){b=C,w=12;break}h=h+n|0,i=C}return 12==(0|w)?0|b:0}function se(e){var r=0,i=0,t=0,a=0,f=0,A=0,u=0;if(!((0|o[(r=(e|=0)+24|0)>>2])>=1)){do{if(0|o[e+4>>2])ze(e);else{if(0|o[e+20>>2]){We(e);break}if(i=e+8|0,(0|l(0|o[(t=e+52|0)>>2],0|o[i>>2]))>0){f=e+68|0,A=0,u=0|o[(a=e+76|0)>>2];do{n[(0|o[f>>2])+A>>0]=o[u+(A<<2)>>2],u=0|o[a>>2],o[u+(A<<2)>>2]=0,A=A+1|0}while((0|A)<(0|l(0|o[t>>2],0|o[i>>2])))}}}while(0);o[r>>2]=(0|o[r>>2])+(0|o[e+28>>2]),o[(r=e+68|0)>>2]=(0|o[r>>2])+(0|o[e+72>>2]),o[(r=e+64|0)>>2]=1+(0|o[r>>2])}}function le(e,r,i,t){e|=0,r|=0,t|=0;var a=0,f=0,A=0,u=0;switch(0|(i|=0)){case 0:return void Me(e,r,t);case 1:return void Be(e,r,t);case 7:return Be(e,r,t),void he(t,0,r,1,0);case 2:return void Fe(e,r,t);case 3:return void Ti(0|t,0|e,r<<2|0);case 8:return Ti(0|t,0|e,r<<2|0),void he(t,0,r,1,0);case 4:if(a=e+(r<<2)|0,(0|r)<=0)return;for(f=t,A=e;u=0|Ri(0|o[A>>2]),A=A+4|0,n[f>>0]=u,n[f+1>>0]=u>>8,n[f+2>>0]=u>>16,n[f+3>>0]=u>>24,!(A>>>0>=a>>>0);)f=f+4|0;return;case 9:if(f=e+(r<<2)|0,(0|r)>0)for(a=t,A=e;u=0|Ri(0|o[A>>2]),A=A+4|0,n[a>>0]=u,n[a+1>>0]=u>>8,n[a+2>>0]=u>>16,n[a+3>>0]=u>>24,!(A>>>0>=f>>>0);)a=a+4|0;return void he(t,1,r,1,0);case 5:return void _e(e,r,t);case 10:return _e(e,r,t),void be(t,r,1,0);case 6:return void Pe(e,r,t);default:return}}function ce(e,r){return r|=0,0|o[(e|=0)>>2]?void function(e,r){r|=0;var i,n,t,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0;if(i=0|o[(e=e|0)+8>>2],n=0|l(0|o[e+52>>2],i),(0|i)<=0)return;t=e+36|0,f=e+44|0,A=e+80|0,u=e+40|0,e=0;do{if(s=0|o[t>>2],c=0|a[r+e>>0],d=e+i|0,v=(0|o[f>>2])>1?0|a[r+d>>0]:c,g=0|l(s,c),b=0|o[A>>2],o[b+(e<<2)>>2]=g,(0|d)<(0|n))for(g=c,c=s,s=d,h=v,w=d;d=c-(0|o[u>>2])|0,k=s+i|0,(0|d)<0?(m=0|o[t>>2],C=0|a[r+k>>0],p=h,I=m+d|0,y=k,E=m):(C=h,p=g,I=d,y=s,E=0|o[t>>2]),d=(0|l(E,C))+(0|l(p-C|0,I))|0,o[b+(w<<2)>>2]=d,!((0|(w=w+i|0))>=(0|n));)g=p,c=I,s=y,h=C;e=e+1|0}while((0|e)!=(0|i))}(e,r):void Xe(e,r)}function de(e,r,i,t,f){r|=0,i|=0,t|=0,f|=0;var A,u,s,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0;if(A=(l=0|o[(e|=0)+4>>2])?8>>>l:8,u=0|o[e+8>>2],s=0|o[e+16>>2],(0|A)>=8)!function(e,r,i,t,f,A){e|=0,r|=0,i|=0;var u=0,s=0,l=0,c=0;if(!((0|(t|=0))<(0|(f|=0))&(0|(A|=0))>0))return;u=t,t=e,e=i;for(;;){for(i=0,s=e,l=t,t=t+A|0;c=0|o[r+((0|a[l>>0])<<2)>>2],n[s>>0]=c>>>8,(0|(i=i+1|0))!=(0|A);)s=s+1|0,l=l+1|0;if((0|(u=u+1|0))==(0|f))break;e=e+A|0}}(t,s,f,r,i,u);else if(e=(1<0)for(c=t,t=f,f=r;;){for(r=0,d=0,v=c,g=t;d&e?(b=r,h=v):(b=0|a[v>>0],h=v+1|0),w=0|o[s+((b&l)<<2)>>2],n[g>>0]=w>>>8,(0|(d=d+1|0))!=(0|u);)r=A?b>>>A:b,v=h,g=g+1|0;if((0|(f=f+1|0))==(0|i))break;c=h,t=t+u|0}}function ve(e,r,i){e|=0,i|=0;var n=0,t=0,a=0,f=0,A=0,u=0;if(!((0|(r|=0))<=0))if(i){i=0;do{(n=0|o[(a=e+(i<<2)|0)>>2])>>>0<4278190080&&(u=n>>>0<16777216?0:(8388608+(0|l(A=4278190080/(n>>>24>>>0)|0,255&n))|0)>>>24|-16777216&n|(t=8388608+(0|l(A,n>>>8&255))|0)>>>24<<8|(8388608+(0|l(A,n>>>16&255))|0)>>>24<<16,o[a>>2]=u),i=i+1|0}while((0|i)!=(0|r))}else{i=0;do{(t=0|o[(n=e+(i<<2)|0)>>2])>>>0<4278190080&&(a=t>>>0<16777216?0:(8388608+(0|l(f=65793*(t>>>24)|0,255&t))|0)>>>24|-16777216&t|(8388608+(0|l(f,t>>>8&255))|0)>>>24<<8|(A=8388608+(0|l(f,t>>>16&255))|0)>>>24<<16,o[n>>2]=a),i=i+1|0}while((0|i)!=(0|r))}}function ge(e,r,i,t){e|=0,r|=0,t|=0;var o=0,f=0,A=0;if(!((0|(i|=0))<=0))if(t){t=0;do{switch((A=0|n[r+t>>0])<<24>>24){case-1:break;case 0:n[e+t>>0]=0;break;default:o=8388608+(0|l(4278190080/((255&A)>>>0)|0,0|a[(f=e+t|0)>>0]))|0,n[f>>0]=o>>>24}t=t+1|0}while((0|t)!=(0|i))}else{t=0;do{switch((o=0|n[r+t>>0])<<24>>24){case-1:break;case 0:n[e+t>>0]=0;break;default:A=8388608+(0|l(65793*(255&o)|0,0|a[(f=e+t|0)>>0]))|0,n[f>>0]=A>>>24}t=t+1|0}while((0|t)!=(0|i))}}function be(e,r,i,t){e|=0,t|=0;var o=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,g=0;if((0|(r|=0))>0&(0|(i|=0))>0)for(o=e,e=i;;){i=0;do{A=o+(f=i<<1)|0,c=4369*(255&(s=15&(f=0|n[(u=o+(1|f)|0)>>0])))|0,d=0|a[A>>0],v=0|l(c,240&d|d>>>4),g=0|l(d<<4&240|15&d,c),f=0|l(240&(d=255&f)|d>>>4,c),n[A>>0]=g>>>20&15|v>>>16&240,n[u>>0]=f>>>16&255&-16|s,i=i+1|0}while((0|i)!=(0|r));if(!((0|e)>1))break;o=o+t|0,e=e+-1|0}}function he(e,r,i,t,o){e|=0,r|=0,i|=0,o|=0;var f,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0;if(!((0|(t|=0))<=0||(r=1&(A=0!=(0|r)),f=A?0:3,(0|i)<=0)))for(A=e,e=t;;){t=e,e=e+-1|0,u=A+r|0,s=A+f|0,c=0;do{(v=0|n[s+(d=c<<2)>>0])<<24>>24!=-1&&(b=0|l(g=32897*(255&v)|0,0|a[(v=u+d|0)>>0]),n[v>>0]=b>>>23,v=0|l(g,0|a[(b=u+(1|d)|0)>>0]),n[b>>0]=v>>>23,d=0|l(g,0|a[(v=u+(2|d)|0)>>0]),n[v>>0]=d>>>23),c=c+1|0}while((0|c)!=(0|i));if((0|t)<=1)break;A=A+o|0}}function we(e,r,i,t,o,a){r|=0,a|=0;var f=0,A=0,u=0,s=0,l=0;if(!((0|(t|=0))>0&(0|(i|=0))>0))return 0|0;for(f=0,A=255,u=o|=0,o=e|=0;;){e=0,s=A;do{l=0|n[o+e>>0],n[u+(e<<2)>>0]=l,s=255&s&l,e=e+1|0}while((0|e)!=(0|i));if((0|(f=f+1|0))==(0|t))break;A=s,u=u+a|0,o=o+r|0}return 0|255!=(0|s)&1}function ke(e,r,i,t,o,a){r|=0,a|=0;var f=0,A=0,u=0,s=0,l=0;if(!((0|(t|=0))>0&(0|(i|=0))>0))return 0|1;for(f=0,A=-1,u=o|=0,o=e|=0;;){e=0,s=A;do{l=0|n[o+(e<<2)>>0],n[u+e>>0]=l,s&=l,e=e+1|0}while((0|e)!=(0|i));if((0|(f=f+1|0))==(0|t))break;A=s,u=u+a|0,o=o+r|0}return 0|s<<24>>24==-1&1}function me(e,r,i){e|=0,r|=0;var t=0,a=0;if(!((0|(i|=0))<=0)){t=0;do{a=0|o[e+(t<<2)>>2],n[r+t>>0]=a>>>8,t=t+1|0}while((0|t)!=(0|i))}}function Ce(){0|ri(9972)||(0|o[2029]&&(o[2388]=1,o[2389]=2,o[2390]=3,o[2391]=4,o[2392]=5,o[2393]=6,o[2394]=7,o[2395]=8,o[2396]=9,o[2397]=10,o[2398]=11,o[2399]=12,o[2400]=13,o[2401]=14,o[2402]=1,o[2403]=1,o[2420]=1,o[2421]=2,o[2422]=3,o[2423]=4,o[2424]=5,o[2425]=6,o[2426]=7,o[2427]=8,o[2428]=9,o[2429]=10,o[2430]=11,o[2431]=12,o[2432]=13,o[2433]=14,o[2434]=1,o[2435]=1,o[2372]=4,o[2373]=5,o[2374]=6,o[2375]=7,o[2376]=8,o[2377]=9,o[2378]=10,o[2379]=11,o[2380]=12,o[2381]=13,o[2382]=14,o[2383]=15,o[2384]=16,o[2385]=17,o[2386]=4,o[2387]=4,o[2404]=4,o[2405]=5,o[2406]=6,o[2407]=7,o[2408]=8,o[2409]=9,o[2410]=10,o[2411]=11,o[2412]=12,o[2413]=13,o[2414]=14,o[2415]=15,o[2416]=16,o[2417]=17,o[2418]=4,o[2419]=4),o[2029]=0,ii(9972))}function pe(e,r,i){r|=0,i|=0;var n=0,t=0,f=0,A=0,u=0,s=0,l=0;if(o[(e|=0)+12>>2]=i,o[(n=e)>>2]=0,o[n+4>>2]=0,o[e+20>>2]=0,o[e+24>>2]=0,n=i>>>0<8?i:8)for(i=0,A=0,u=0;;){if(l=(s=0|Pi(0|a[r+i>>0],0,i<<3|0))|A,s=0|g()|u,(i=i+1|0)>>>0>=n>>>0){t=l,f=s;break}A=l,u=s}else t=0,f=0;o[(u=e)>>2]=t,o[u+4>>2]=f,o[e+16>>2]=n,o[e+8>>2]=r}function Ie(e,r,i,A,u){e|=0,r|=0,u|=0;var s,c,d,v,b,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,U=0,z=0,Q=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0;s=O,O=O+16|0,c=s,d=(A|=0)+24|0,v=A+120|0,b=0!=(0|(i|=0));e:do{if(b)for(h=A+176|0,w=A+260|0,k=e;;){if(!(0|ne(d,1))){m=k,C=18;break e}if(p=0|o[h>>2],I=0|ne(d,2),(y=0|o[w>>2])&(E=1<>2]=y|E,o[A+180+(20*p|0)>>2]=I,o[(E=A+180+(20*p|0)+8|0)>>2]=k,o[(y=A+180+(20*p|0)+12|0)>>2]=r,o[(D=A+180+(20*p|0)+16|0)>>2]=0,o[h>>2]=1+(0|o[h>>2]),0|I){case 1:case 0:I=2+(0|ne(d,3))|0,o[A+180+(20*p|0)+4>>2]=I,x=(L=(1<>2])|0,S=L+(0|o[y>>2])|0,B=0|Ie(I?x>>>I:x,I?S>>>I:S,0,A,D),M=k;break;case 3:if(F=(0|(S=1+(0|ne(d,8))|0))>16?0:(0|S)>4?1:(0|S)>2?2:3,I=(0|o[E>>2])-1+(1<>>F:I,o[(I=A+180+(20*p|0)+4|0)>>2]=F,!(0|Ie(S,1,0,A,D))){C=73;break e}if(!(p=0|V(I=1<<((p=0|o[I>>2])?8>>>p:8),((0|I)<0)<<31>>31,4))){C=73;break e}if(x=0|o[D>>2],o[p>>2]=o[x>>2],y=S<<2,(0|S)>1)for(S=4;;){if(n[p+S>>0]=(0|a[p+(S+-4)>>0])+(0|a[x+S>>0]),!((0|(L=S+1|0))<(0|y))){_=L;break}S=L}else _=4;(0|(S=I<<2))>(0|_)&&Oi(p+_|0,0,S-_|0),Y(0|o[D>>2]),o[D>>2]=p,B=1,M=E;break;default:B=1,M=k}if(!B){C=73;break e}k=M}else m=e,C=18}while(0);do{if(18==(0|C)){if(0|ne(d,1)){if(!(((e=0|ne(d,4))+-1|0)>>>0<11)){o[A>>2]=3,R=0;break}P=e}else P=0;o[c>>2]=0,e=0|f[3824+(P<<1)>>1];do{if(0!=(0|i)&&0!=(0|ne(d,1)))if(_=(B=(1<<(M=2+(0|ne(d,3))|0))-1|0)+m|0,F=M?_>>>M:_,_=B+r|0,_=0|l(F,B=M?_>>>M:_),0|Ie(F,B,0,A,c)){if(o[A+152>>2]=M,M=(0|_)>0)for(B=0|o[c>>2],F=0,k=1;;){if(S=(w=0|o[(h=B+(F<<2)|0)>>2])>>>8&65535,o[h>>2]=S,h=(0|S)<(0|k)?k:S+1|0,(0|(F=F+1|0))==(0|_)){T=h;break}k=h}else T=1;if((0|T)>1e3|(0|T)>(0|l(m,r))){if(!(k=0|V(T,((0|T)<0)<<31>>31,4))){o[A>>2]=1,G=0,q=0,U=1,z=0,Q=0;break}if(Oi(0|k,-1,T<<2|0),M)for(F=0|o[c>>2],B=0,E=0;;){if(D=k+(o[(p=F+(E<<2)|0)>>2]<<2)|0,-1==(0|(I=0|o[D>>2]))?(o[D>>2]=B,H=B+1|0,Z=B):(H=B,Z=I),o[p>>2]=Z,(0|(E=E+1|0))==(0|_)){j=k,K=T,J=H,$=k,C=35;break}B=H}else j=k,K=T,J=0,$=k,C=35}else j=0,K=T,J=T,$=0,C=35}else G=0,q=0,U=1,z=0,Q=0;else j=0,K=1,J=1,$=0,C=35}while(0);e:do{if(35==(0|C))if(0|o[A+48>>2])G=0,q=0,U=1,z=0,Q=$;else{if(_=1<0)?(ee=(0|(E=(0|_)>-24?_+280|0:256))>40?E:40,re=0):(ee=280,re=0),E=0|N(ee,re,4),0==(0|(M=0|V(F=0|l(J,e),((0|F)<0)<<31>>31,4)))|0==(0|E)|0==(0|(F=0|ye(J)))){o[A>>2]=1,G=F,q=M,U=1,z=E,Q=$;break}if((0|K)>0)for(p=0==(0|j),I=_+280|0,D=(0|_)>-279,h=_+280|0,_=M,S=0;;){do{if(p)oe=S,C=49;else{if(-1==(0|(w=0|o[j+(S<<2)>>2]))){if(B){if(!(0|Ee(h,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(0|Ee(40,A,E,0)){ie=_;break}G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(280,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(0|Ee(40,A,E,0)){ie=_;break}G=F,q=M,U=1,z=E,Q=$;break e}oe=w,C=49}}while(0);do{if(49==(0|C)){if(C=0,o[(w=F+(548*oe|0)|0)>>2]=_,B){if(!(y=0|Ee(I,A,E,_))){G=F,q=M,U=1,z=E,Q=$;break e}if(x=0|a[_>>0],L=_+(y<<2)|0,y=0|o[E>>2],D)for(ae=1,fe=y;;){if(ue=(0|(Ae=0|o[E+(ae<<2)>>2]))>(0|fe)?Ae:fe,(0|(ae=ae+1|0))==(0|I)){se=ue;break}fe=ue}else se=y;if(o[F+(548*oe|0)+4>>2]=L,!(fe=0|Ee(256,A,E,L))){G=F,q=M,U=1,z=E,Q=$;break e}ue=x+(255&(ae=0|n[L>>0]))|0,Ae=L+(fe<<2)|0,fe=1,le=0|o[E>>2];do{le=(0|(ce=0|o[E+(fe<<2)>>2]))>(0|le)?ce:le,fe=fe+1|0}while(256!=(0|fe));if(fe=le+se|0,o[F+(548*oe|0)+8>>2]=Ae,!(L=0|Ee(256,A,E,Ae))){G=F,q=M,U=1,z=E,Q=$;break e}y=ae|(x=0|n[Ae>>0]),ce=ue+(255&x)|0,x=Ae+(L<<2)|0,L=1,de=0|o[E>>2];do{de=(0|(ve=0|o[E+(L<<2)>>2]))>(0|de)?ve:de,L=L+1|0}while(256!=(0|L));if(L=de+fe|0,o[F+(548*oe|0)+12>>2]=x,!(Ae=0|Ee(256,A,E,x))){G=F,q=M,U=1,z=E,Q=$;break e}ae=y|(ue=0|n[x>>0]),le=ce+(255&ue)|0,ue=x+(Ae<<2)|0,Ae=1,ve=0|o[E>>2];do{ve=(0|(ge=0|o[E+(Ae<<2)>>2]))>(0|ve)?ge:ve,Ae=Ae+1|0}while(256!=(0|Ae));if(o[F+(548*oe|0)+16>>2]=ue,!(Ae=0|Ee(40,A,E,ue))){G=F,q=M,U=1,z=E,Q=$;break e}be=ve+L|0,he=ae,we=le+(0|a[ue>>0])|0,ke=ue+(Ae<<2)|0}else{if(!(Ae=0|Ee(280,A,E,_))){G=F,q=M,U=1,z=E,Q=$;break e}x=0|a[_>>0],ce=_+(Ae<<2)|0,Ae=1,y=0|o[E>>2];do{y=(0|(fe=0|o[E+(Ae<<2)>>2]))>(0|y)?fe:y,Ae=Ae+1|0}while(Ae>>>0<280);if(o[F+(548*oe|0)+4>>2]=ce,!(Ae=0|Ee(256,A,E,ce))){G=F,q=M,U=1,z=E,Q=$;break e}le=x+(255&(ue=0|n[ce>>0]))|0,ae=ce+(Ae<<2)|0,Ae=1,L=0|o[E>>2];do{L=(0|(ve=0|o[E+(Ae<<2)>>2]))>(0|L)?ve:L,Ae=Ae+1|0}while(Ae>>>0<256);if(Ae=L+y|0,o[F+(548*oe|0)+8>>2]=ae,!(ce=0|Ee(256,A,E,ae))){G=F,q=M,U=1,z=E,Q=$;break e}ve=ue|(x=0|n[ae>>0]),fe=le+(255&x)|0,x=ae+(ce<<2)|0,ce=1,de=0|o[E>>2];do{de=(0|(ge=0|o[E+(ce<<2)>>2]))>(0|de)?ge:de,ce=ce+1|0}while(ce>>>0<256);if(ce=de+Ae|0,o[F+(548*oe|0)+12>>2]=x,!(ae=0|Ee(256,A,E,x))){G=F,q=M,U=1,z=E,Q=$;break e}ue=ve|(le=0|n[x>>0]),y=fe+(255&le)|0,le=x+(ae<<2)|0,ae=1,L=0|o[E>>2];do{L=(0|(ge=0|o[E+(ae<<2)>>2]))>(0|L)?ge:L,ae=ae+1|0}while(ae>>>0<256);if(o[F+(548*oe|0)+16>>2]=le,!(ae=0|Ee(40,A,E,le))){G=F,q=M,U=1,z=E,Q=$;break e}be=L+ce|0,he=ue,we=y+(0|a[le>>0])|0,ke=le+(ae<<2)|0}if(ae=he<<24>>24==0,o[F+(548*oe|0)+20>>2]=1&ae,o[(x=F+(548*oe|0)+28|0)>>2]=0,ae&&(ae=(0|f[2+(0|o[F+(548*oe|0)+4>>2])>>1])<<16|0|f[2+(0|o[F+(548*oe|0)+8>>2])>>1]|(0|f[2+(0|o[F+(548*oe|0)+12>>2])>>1])<<24,o[(fe=F+(548*oe|0)+24|0)>>2]=ae,0==(0|we))&&(65535&(ve=0|t[2+(0|o[w>>2])>>1]))<256){o[x>>2]=1,o[fe>>2]=(65535&ve)<<8|ae,o[F+(548*oe|0)+32>>2]=0,ie=ke;break}if(ae=(0|be)<6,o[F+(548*oe|0)+32>>2]=1&ae,ae){ae=F+(548*oe|0)+4|0,ve=F+(548*oe|0)+8|0,fe=F+(548*oe|0)+12|0,x=0|o[w>>2],Ae=0;do{de=F+(548*oe|0)+36+(Ae<<3)|0,(65535&(ge=(me=f[(ge=x+(Ae<<2)|0)>>1]|f[ge+2>>1]<<16)>>>16))>255?(o[de>>2]=255&me|256,o[F+(548*oe|0)+36+(Ae<<3)+4>>2]=ge):(Ce=F+(548*oe|0)+36+(Ae<<3)+4|0,pe=255&me,o[de>>2]=pe,me=ge<<8,o[Ce>>2]=me,ge=pe?Ae>>>pe:Ae,Le=0|o[ae>>2],xe=0|t[Le+(ge<<2)+2>>1],Le=pe+(Se=0|a[Le+(ge<<2)>>0])|0,o[de>>2]=Le,pe=(65535&xe)<<16|me,o[Ce>>2]=pe,me=Se?ge>>>Se:ge,ge=0|o[ve>>2],Se=0|t[ge+(me<<2)+2>>1],ge=Le+(xe=0|a[ge+(me<<2)>>0])|0,o[de>>2]=ge,Le=pe|65535&Se,o[Ce>>2]=Le,Se=xe?me>>>xe:me,me=0|o[fe>>2],xe=0|t[me+(Se<<2)+2>>1],o[de>>2]=ge+(0|a[me+(Se<<2)>>0]),o[Ce>>2]=(65535&xe)<<24|Le),Ae=Ae+1|0}while(64!=(0|Ae));ie=ke}else ie=ke}}while(0);if((0|(S=S+1|0))>=(0|K))break;_=ie}o[A+160>>2]=o[c>>2],o[A+164>>2]=J,o[A+168>>2]=F,o[A+172>>2]=M,G=F,q=M,U=0,z=E,Q=$}}while(0);if(Y(z),Y(Q),U){Y(0|o[c>>2]),Y(q),W(G),C=73;break}if((0|P)>0){if(o[v>>2]=1<>2]=1,R=0;break}}else o[v>>2]=0;if(e=0|o[A+152>>2],o[A+100>>2]=m,o[A+104>>2]=r,S=(_=(1<>2]=e?S>>>e:S,o[A+148>>2]=0==(0|e)?-1:_,b)o[A+4>>2]=1,Be=0;else{if(!(e=0|V(_=0|Li(0|m,((0|m)<0)<<31>>31|0,0|r,((0|r)<0)<<31>>31|0),0|g(),4))){o[A>>2]=1,R=0;break}if(!(0|te(A,e,m,r,r,0))){R=e;break}if(0|o[A+48>>2]){R=e;break}Be=e}if(0|u&&(o[u>>2]=Be),o[A+112>>2]=0,b)return O=s,0|1;Y(0|o[A+160>>2]),Y(0|o[A+172>>2]),W(0|o[A+168>>2]),X(A+124|0),X(A+136|0),Fe=(Me=v)+56|0;do{o[Me>>2]=0,Me=Me+4|0}while((0|Me)<(0|Fe));return O=s,0|1}}while(0);73==(0|C)&&(o[A>>2]=3,R=0),Y(R),Y(0|o[A+160>>2]),Y(0|o[A+172>>2]),W(0|o[A+168>>2]),X(A+124|0),X(A+136|0),Fe=(Me=v)+56|0;do{o[Me>>2]=0,Me=Me+4|0}while((0|Me)<(0|Fe));return O=s,0|0}function ye(e){return 0|V(e|=0,((0|e)<0)<<31>>31,548)}function Ee(e,r,i,n){e|=0,i|=0,n|=0;var f,A,u,s,l,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0;f=O,O=O+592|0,A=f+80|0,u=f,l=0|ne(s=(r|=0)+24|0,1),Oi(0|i,0,e<<2|0);e:do{if(l)c=0|ne(s,1),d=0==(0|ne(s,1)),v=i+((0|ne(s,d?1:8))<<2)|0,o[v>>2]=1,1==(0|c)?(c=i+((0|ne(s,8))<<2)|0,o[c>>2]=1,b=26):b=26;else{v=(c=u)+76|0;do{o[c>>2]=0,c=c+4|0}while((0|c)<(0|v));if((0|(c=4+(0|ne(s,4))|0))>19)return o[r>>2]=3,O=f,0|0;if((0|c)>0){v=0;do{d=0|ne(s,3),o[u+((0|a[3856+v>>0])<<2)>>2]=d,v=v+1|0}while((0|v)!=(0|c))}r:do{if(0|Le(A,7,u,19)){if(0|ne(s,1)){if((0|(c=2+(0|ne(s,2+((0|ne(s,3))<<1)|0))|0))>(0|e))break;h=c}else h=e;i:do{if((0|e)>0)for(c=r+44|0,v=0,d=8,w=h;;){if(!w)break i;if(w=w+-1|0,(0|(k=0|o[c>>2]))>31?(re(s),m=0|o[c>>2]):m=k,C=0|_i(0|o[(k=s)>>2],0|o[k+4>>2],63&m|0),g(),k=127&C,o[c>>2]=m+(0|a[A+(k<<2)>>0]),k=65535&(C=0|t[A+(k<<2)+2>>1]),(65535&C)>=16){if(I=0|a[8680+(p=k+-16|0)>>0],((y=(0|ne(s,0|a[8677+p>>0]))+I|0)+v|0)>(0|e))break r;if(I=C<<16>>16==16?d:0,(0|y)>0)for(p=y,y=v;;){if(E=y+1|0,o[i+(y<<2)>>2]=I,!((0|p)>1)){D=d,L=E;break}p=p+-1|0,y=E}else D=d,L=v}else o[i+(v<<2)>>2]=k,D=C<<16>>16==0?d:k,L=v+1|0;if((0|L)>=(0|e))break;v=L,d=D}}while(0);b=26;break e}}while(0);o[r>>2]=3}}while(0);return 26==(0|b)&&0==(0|o[r+48>>2])&&0|(b=0|Le(n,8,i,e))?(O=f,0|b):(o[r>>2]=3,O=f,0|0)}function De(e,r){e|=0;var i,n;return n=0|N(i=1<<(r|=0),((0|i)<0)<<31>>31,4),o[e>>2]=n,n?(o[e+4>>2]=32-r,o[e+8>>2]=r,0|1):0|0}function Le(e,r,i,n){e|=0,r|=0,i|=0,n|=0;var t,o,a=0,f=0,A=0;t=O,O=O+1024|0,o=t;do{if(e){if((0|n)<513){a=0|xe(e,r,i,n,o);break}(f=0|V(n,((0|n)<0)<<31>>31,2))?(A=0|xe(e,r,i,n,f),Y(f),a=A):a=0}else a=0|xe(0,r,i,n,0)}while(0);return O=t,0|a}function xe(e,r,i,a,A){e|=0,i|=0,a|=0,A|=0;var u,s,l,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0;u=O,O=O+128|0,c=u,l=1<<(r|=0),v=(d=s=u+64|0)+64|0;do{o[d>>2]=0,d=d+4|0}while((0|d)<(0|v));d=(0|a)>0;do{if(d){for(v=0;;){if((0|(g=0|o[i+(v<<2)>>2]))>15){b=0,h=69;break}if(o[(w=s+(g<<2)|0)>>2]=1+(0|o[w>>2]),(0|(v=v+1|0))>=(0|a)){h=5;break}}if(5==(0|h)){k=0|o[s>>2];break}if(69==(0|h))return O=u,0|b}else k=0}while(0);if((0|k)==(0|a))return O=u,0|(b=0);if(o[c+4>>2]=0,(0|(k=0|o[s+4>>2]))>2)return O=u,0|(b=0);if(o[c+8>>2]=k,(0|(v=0|o[s+8>>2]))>4)return O=u,0|(b=0);if(w=k+v|0,o[c+12>>2]=w,(0|(v=0|o[s+12>>2]))>8)return O=u,0|(b=0);if(g=w+v|0,o[c+16>>2]=g,(0|(v=0|o[s+16>>2]))>16)return O=u,0|(b=0);if(w=g+v|0,o[c+20>>2]=w,(0|(v=0|o[s+20>>2]))>32)return O=u,0|(b=0);if(g=w+v|0,o[c+24>>2]=g,(0|(v=0|o[s+24>>2]))>64)return O=u,0|(b=0);if(w=g+v|0,o[c+28>>2]=w,(0|(v=0|o[s+28>>2]))>128)return O=u,0|(b=0);if(g=w+v|0,o[c+32>>2]=g,(0|(v=0|o[s+32>>2]))>256)return O=u,0|(b=0);if(w=g+v|0,o[c+36>>2]=w,(0|(v=0|o[s+36>>2]))>512)return O=u,0|(b=0);if(g=w+v|0,o[c+40>>2]=g,(0|(v=0|o[s+40>>2]))>1024)return O=u,0|(b=0);if(w=g+v|0,o[c+44>>2]=w,(0|(v=0|o[s+44>>2]))>2048)return O=u,0|(b=0);if(g=w+v|0,o[c+48>>2]=g,(0|(v=0|o[s+48>>2]))>4096)return O=u,0|(b=0);if(w=g+v|0,o[c+52>>2]=w,(0|(v=0|o[s+52>>2]))>8192)return O=u,0|(b=0);if(g=w+v|0,o[c+56>>2]=g,(0|(v=0|o[s+56>>2]))>16384)return O=u,0|(b=0);if(w=g+v|0,o[(v=c+60|0)>>2]=w,d){if(A){d=0;do{(0|(m=0|o[i+(d<<2)>>2]))>0&&(m=0|o[(g=c+(m<<2)|0)>>2],o[g>>2]=m+1,t[A+(m<<1)>>1]=d),d=d+1|0}while((0|d)!=(0|a))}else{d=0;do{(0|(g=0|o[i+(d<<2)>>2]))>0&&(o[(m=c+(g<<2)|0)>>2]=1+(0|o[m>>2])),d=d+1|0}while((0|d)!=(0|a))}C=0|o[v>>2]}else C=w;if(1==(0|C)){if(!A)return O=u,0|(b=l);w=(0|f[A>>1])<<16,a=l;do{d=a,t[(c=e+((a=a+-1|0)<<2)|0)>>1]=w,t[c+2>>1]=w>>>16}while((0|d)>1);return O=u,0|(b=l)}if(w=l+-1|0,(0|r)>=1){d=(0|(a=2-k|0))<0;e:do{if(e){if(d)return O=u,0|(b=0);for(m=0,i=2,c=1,g=0,D=k,L=s+4|0,x=a,S=3;;){if((0|D)>0){B=255&c,M=1<>1])<<16|B,G=l;do{t[(q=R+((G=G-i|0)<<2)|0)>>1]=T,t[q+2>>1]=T>>>16}while((0|G)>0);for(G=M;G&F;)G>>>=1;_=_+1|0,F=0==(0|G)?F:(G+-1&F)+G|0,T=P,P=P+-1|0}while((0|T)>1);o[L>>2]=P,Y=F,U=_}else Y=m,U=g;if(M=c+1|0,(0|c)>=(0|r)){p=x,I=S,y=Y,E=U;break e}if((0|(x=(B=x<<1)-(D=0|o[s+(M<<2)>>2])|0))<0){b=0;break}m=Y,i<<=1,c=M,g=U,L=s+(M<<2)|0,S=B+S|0}return O=u,0|b}if(d)return O=u,0|(b=0);for(c=1,i=a,m=3;;){if((0|c)>=(0|r)){p=i,I=m,y=0,E=0;break e}if((0|(i=(g=i<<1)-(0|o[s+((c=c+1|0)<<2)>>2])|0))<0){b=0;break}m=g+m|0}return O=u,0|b}while(0);(0|r)<15?(z=p,W=I,X=y,Q=E,h=42):(N=l,V=I,H=C)}else z=1,W=1,X=0,Q=0,h=42;do{if(42==(0|h)){for(C=0!=(0|e),I=e,E=-1,y=e,p=l,U=l,Y=z,a=W,k=2,d=r,S=X,L=Q;;){if(g=d,a=(c=Y<<1)+a|0,(0|(Y=c-(m=0|o[(i=s+((d=d+1|0)<<2)|0)>>2])|0))<0){b=0,h=69;break}e:do{if(C&(0|m)>0){if(x=255&(c=d-r|0),D=1<=14)for(B=255&d,M=E,T=y,R=p,q=U,Z=S,j=L;;){(0|(K=Z&w))==(0|M)?(J=q,$=M,ee=T,re=R):(ie=T+(q<<2)|0,n[e+(K<<2)>>0]=B,ne=ie-I|0,t[e+(K<<2)+2>>1]=(ne>>>2)-K,J=D,$=K,ee=ie,re=D+R|0),ie=ee+((r?Z>>>r:Z)<<2)|0,K=(0|f[A+(j<<1)>>1])<<16|x,ne=J;do{t[(te=ie+((ne=ne-k|0)<<2)|0)>>1]=K,t[te+2>>1]=K>>>16}while((0|ne)>0);for(ne=c;ne&Z;)ne>>>=1;if(K=j+1|0,ie=0==(0|ne)?Z:(ne+-1&Z)+ne|0,te=0|o[i>>2],o[i>>2]=te+-1,!((0|te)>1)){oe=J,ae=$,fe=ee,Ae=re,ue=ie,se=K;break e}M=$,T=ee,R=re,q=J,Z=ie,j=K}for(j=E,Z=y,q=p,R=U,T=S,M=L,B=m;;){if((0|(G=T&w))==(0|j))le=R,ce=j,de=Z,ve=q;else{K=Z+(R<<2)|0,ie=D-B|0;r:do{if((0|ie)<1)ge=d;else for(te=d,be=ie;;){if(he=te+1|0,(0|te)>=14){ge=he;break r}if((0|(be=(be<<1)-(0|o[s+(he<<2)>>2])|0))<1){ge=he;break}te=he}}while(0);ie=1<>0]=ge,ne=K-I|0,t[e+(G<<2)+2>>1]=(ne>>>2)-G,le=ie,ce=G,de=K,ve=ie+q|0}ie=de+((r?T>>>r:T)<<2)|0,ne=(0|f[A+(M<<1)>>1])<<16|x,te=le;do{t[(be=ie+((te=te-k|0)<<2)|0)>>1]=ne,t[be+2>>1]=ne>>>16}while((0|te)>0);for(te=c;te&T;)te>>>=1;if(ne=M+1|0,ie=0==(0|te)?T:(te+-1&T)+te|0,B=(K=0|o[i>>2])+-1|0,o[i>>2]=B,(0|K)<=1){oe=le,ae=ce,fe=de,Ae=ve,ue=ie,se=ne;break}j=ce,Z=de,q=ve,R=le,T=ie,M=ne}}else oe=U,ae=E,fe=y,Ae=p,ue=S,se=L}while(0);if((0|g)>=14){h=67;break}E=ae,y=fe,p=Ae,U=oe,k<<=1,S=ue,L=se}if(67==(0|h)){N=Ae,V=a,H=0|o[v>>2];break}if(69==(0|h))return O=u,0|b}}while(0);return O=u,0|(b=(0|V)==((H<<1)-1|0)?N:0)}function Se(e,r,i,t){e|=0,r|=0,t|=0;var a,f,A,u=0,s=0,c=0,d=0,v=0;if(!((0|(i|=0))<=0)){a=0|n[e>>0],f=0|n[e+1>>0],A=0|n[e+2>>0],e=0;do{u=0|o[r+(e<<2)>>2],d=((s=0|l(c=(s=u<<16)>>24,a))>>5)+(u>>>16)|0,s=0|l(c,f),v=0|l((c=d<<24)>>24,A),o[t+(e<<2)>>2]=d<<16&16711680|-16711936&u|(s>>>5)+u+(v>>>5)&255,e=e+1|0}while((0|e)!=(0|i))}}function Be(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e>>>16,n[r+1>>0]=e>>>8,n[r+2>>0]=e,n[r+3>>0]=e>>>24,!(i>>>0>=t>>>0);)r=r+4|0}function Me(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e>>>16,n[r+1>>0]=e>>>8,n[r+2>>0]=e,!(i>>>0>=t>>>0);)r=r+3|0}function Fe(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e,n[r+1>>0]=e>>>8,n[r+2>>0]=e>>>16,!(i>>>0>=t>>>0);)r=r+3|0}function _e(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e>>>16&240|e>>>12&15,n[r+1>>0]=240&e|e>>>28,!(i>>>0>=t>>>0);)r=r+2|0}function Pe(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e>>>16&248|e>>>13&7,n[r+1>>0]=e>>>5&224|e>>>3&31,!(i>>>0>=t>>>0);)r=r+2|0}function Re(e,r,i,n,t,a){e|=0,r|=0,i|=0;var f=0,A=0,u=0,s=0;if((0|(n|=0))<(0|(t|=0))&(0|(a|=0))>0)for(f=n,n=e,e=i;;){for(i=0,A=e,u=n,n=n+(a<<2)|0;s=0|o[u>>2],o[A>>2]=o[r+((s>>>8&255)<<2)>>2],(0|(i=i+1|0))!=(0|a);)A=A+4|0,u=u+4|0;if((0|(f=f+1|0))==(0|t))break;e=e+(a<<2)|0}}function Te(e,r,i){e|=0,i|=0;var n,t,a,f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0;if(n=O,O=O+16|0,t=n+4|0,A=n,a=0|o[(r|=0)>>2],f=0|o[r+4>>2],u=0!=(0|e))if(s=(0|o[e+8>>2])>0,o[r+72>>2]=1&s,s){if(s=0|o[e+20>>2],l=0|o[e+24>>2],c=0|o[e+12>>2],d=0|o[e+16>>2],i=(v=i>>>0>10)?-2&c:c,((c=v?-2&d:d)+l|0)>(0|f)|(i+s|0)>(0|a)|(0|l)<1|(0|s)<1|(c|i|0)<0)return O=n,0|0;g=l,b=s,h=c,w=i}else g=f,b=a,h=0,w=0;else o[r+72>>2]=0,g=f,b=a,h=0,w=0;if(o[r+76>>2]=w,o[r+84>>2]=h,o[r+80>>2]=b+w,o[r+88>>2]=g+h,o[r+12>>2]=b,o[r+16>>2]=g,!u)return o[r+92>>2]=0,o[r+68>>2]=0,o[r+56>>2]=1,O=n,0|1;u=(0|o[e+28>>2])>0,o[(h=r+92|0)>>2]=1&u;do{if(u){if(o[t>>2]=o[e+32>>2],o[A>>2]=o[e+36>>2],0|Qe(b,g,t,A)){o[r+96>>2]=o[t>>2],o[r+100>>2]=o[A>>2],k=0==(0|o[h>>2]);break}return O=n,0|0}k=1}while(0);return o[(h=r+68|0)>>2]=0!=(0|o[e>>2])&1,o[(A=r+56|0)>>2]=0==(0|o[e+4>>2])&1,k?(O=n,0|1):(m=(0|o[r+96>>2])<(0|(3*a|0)/4)?(0|o[r+100>>2])<(0|(3*f|0)/4)&1:0,o[h>>2]=m,o[A>>2]=0,O=n,0|1)}function Ge(){0|ri(10084)||(0|o[2033]&&(o[2437]=1,o[2439]=2,o[2443]=1,o[2444]=2,o[2436]=3,o[2438]=4,o[2440]=5,o[2441]=6,o[2442]=7,o[2445]=5,o[2446]=6),o[2033]=0,ii(10084))}function Oe(e,r,i,n,t,a,f,A,u){i|=0,n|=0,a|=0,f|=0,A|=0,u|=0;var s,c=0,d=0;c=(0|(r|=0))<(0|(t|=0)),o[(e|=0)>>2]=1&c,s=(0|i)<(0|a),o[e+4>>2]=1&s,o[e+44>>2]=r,o[e+48>>2]=i,o[e+52>>2]=t,o[e+56>>2]=a,o[e+60>>2]=0,o[e+64>>2]=0,o[e+68>>2]=n,o[e+72>>2]=f,o[e+8>>2]=A,f=c?t+-1|0:r,o[e+36>>2]=f,n=c?r+-1|0:t,o[e+40>>2]=n,c||(c=0|Fi(0,1,0|n,((0|n)<0)<<31>>31|0),g(),o[e+12>>2]=c),n=(c=s<<31>>31)+i|0,o[e+28>>2]=n,i=c+a|0,o[e+32>>2]=i,c=e+24|0,s?(o[c>>2]=i,d=f):(o[c>>2]=n,c=(0|(f=0|Fi(0,0|a,0|(c=0|l(n,f)),((0|c)<0)<<31>>31|0)))==(0|f)&0==(0|g()),o[e+20>>2]=c?f:0,d=i),i=0|Fi(0,1,0|d,((0|d)<0)<<31>>31|0),g(),o[e+16>>2]=i,o[e+76>>2]=u,i=u+((0|l(A,t))<<2)|0,o[e+80>>2]=i,Oi(0|u,0,0|l(t<<3,A)),function(){if(0|ri(10056))return;o[2032]=0,ii(10056)}()}function qe(){0|ri(1e4)||(0|o[2030]&&(o[2468]=11,o[2469]=12,o[2470]=13,o[2471]=14,o[2472]=15,o[2473]=16,o[2474]=17,o[2475]=12,o[2476]=14,o[2477]=15,o[2478]=16),o[2030]=0,ii(1e4))}function Ye(e){var r,i,n,t=0,a=0,f=0,A=0;if(r=(e|=0)+24|0,i=e+56|0,(0|o[(n=e+64|0)>>2])>=(0|o[i>>2]))return 0|(t=0);for(a=0;;){if((0|o[r>>2])>0){t=a,f=5;break}if(se(e),A=a+1|0,!((0|o[n>>2])<(0|o[i>>2]))){t=A,f=5;break}a=A}return 5==(0|f)?0|t:0}function Ue(e,r,i,n,t,o,a){e|=0,r|=0,i|=0,n|=0,t|=0,a|=0;var f=0;if(!((0|(o|=0))<=0))for(f=e,e=i,i=0;ge(f,e,t,a),(0|(i=i+1|0))!=(0|o);)f=f+r|0,e=e+n|0}function ze(e){var r,i,t,a,f=0,A=0,u=0,s=0,c=0,d=0,v=0,b=0;if(r=0|o[(e|=0)+68>>2],i=0|o[e+76>>2],t=0|l(0|o[e+8>>2],0|o[e+52>>2]),a=0|o[e+80>>2],f=0|o[e+24>>2]){if(A=0|Fi(0,0-f|0,0|(u=0|o[e+32>>2]),((0|u)<0)<<31>>31|0),g(),(0|t)<=0)return;u=0-A|0,f=e+16|0,e=0;do{s=0|Li(0|o[a+(e<<2)>>2],0,0|u,0),c=0|g(),d=0|Li(0|A,0,0|o[i+(e<<2)>>2],0),v=0|g(),b=0|xi(0|s,0|c,-2147483648,0),xi(0|b,0|g(),0|d,0|v),xi(0|(d=0|Li(0|(v=0|g()),0,0|o[f>>2],0)),0|g(),-2147483648,0),d=0|g(),n[r+e>>0]=(0|d)>255?-1:255&d,e=e+1|0}while((0|e)!=(0|t))}else if(!((0|t)<=0)){A=e+16|0,u=0;do{xi(0|(s=0|Li(0|o[A>>2],0,0|o[a+(u<<2)>>2],0)),0|g(),-2147483648,0),s=0|g(),n[r+u>>0]=(0|s)>255?-1:255&s,u=u+1|0}while((0|u)!=(0|t))}}function We(e){var r,i,t,a,f,A=0,u=0,s=0,c=0,d=0;if(r=0|o[(e|=0)+68>>2],i=0|o[e+76>>2],t=0|l(0|o[e+8>>2],0|o[e+52>>2]),a=0|o[e+80>>2],A=(0|t)>0,f=0|l(0|o[e+24>>2],0-(0|o[e+16>>2])|0)){if(!A)return;A=e+20|0,e=0;do{Li(0|o[a+(e<<2)>>2],0,0|f,0),s=0|g(),xi(0|(c=0|Li((0|o[(u=i+(e<<2)|0)>>2])-s|0,0,0|o[A>>2],0)),0|g(),-2147483648,0),c=0|g(),n[r+e>>0]=(0|c)>255?-1:255&c,o[u>>2]=s,e=e+1|0}while((0|e)!=(0|t))}else if(A){u=e+20|0,s=0;do{c=i+(s<<2)|0,xi(0|(d=0|Li(0|o[u>>2],0,0|o[c>>2],0)),0|g(),-2147483648,0),d=0|g(),n[r+s>>0]=(0|d)>255?-1:255&d,o[c>>2]=0,s=s+1|0}while((0|s)!=(0|t))}}function Xe(e,r){r|=0;var i,t,a,f,A,u,s=0,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0;if(i=0|o[(e|=0)+8>>2],t=0|l(0|o[e+52>>2],i),!((0|i)<=0)){a=e+36|0,f=e+40|0,A=e+80|0,u=e+12|0,e=0;do{if((0|e)<(0|t))for(s=0,c=0,d=e,v=e;;){if(b=(0|o[a>>2])+s|0,h=0|o[f>>2],(0|b)>0){w=c,k=v,m=b;do{m=m-h|0,w=w+(255&(C=0|n[r+k>>0]))|0,k=k+i|0}while((0|m)>0);p=255&C,I=m,y=w,E=k}else p=0,I=b,y=c,E=v;if(D=0|l(p,0-I|0),L=(0|l(h,y))-D|0,o[(0|o[A>>2])+(d<<2)>>2]=L,xi(0|(L=0|Li(0|o[u>>2],0,0|D,0)),0|g(),-2147483648,0),c=0|g(),(0|(d=d+i|0))>=(0|t))break;s=I,v=E}e=e+1|0}while((0|e)!=(0|i))}}function Qe(e,r,i,n){e|=0,r|=0,n|=0;var t,a,f=0,A=0,u=0,s=0,l=0,c=0,d=0;return f=0|o[(i|=0)>>2],t=0|o[n>>2],A=((0|r)<0)<<31>>31,a=((0|e)<0)<<31>>31,(0|r)>0&0==(0|f)?(u=0|Li(0|t,((0|t)<0)<<31>>31|0,0|e,0|a),s=0|g(),l=0|xi(0|r,0|A,-1,-1),s=0|Fi(0|(0|xi(0|l,0|g(),0|u,0|s)),0|g(),0|r,0|A),g(),c=s):c=f,(0|e)>0&0==(0|t)?(f=0|Li(0|c,((0|c)<0)<<31>>31|0,0|r,0|A),A=0|g(),r=0|xi(0|e,0|a,-1,-1),A=0|Fi(0|(s=0|xi(0|r,0|g(),0|f,0|A)),0|g(),0|e,0|a),g(),d=A):d=t,(0|c)<1|(0|d)<1?0|0:(o[i>>2]=c,o[n>>2]=d,0|1)}function Ne(e,r,i,t){var a,f=0,A=0,u=0,s=0,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0;if(a=O,O=O+16|0,f=a+4|0,A=a,(0|(r|=0))<1|(0|(e|=0))<1|0==(0|(t|=0)))return O=a,0|2;if(u=0!=(0|(i|=0))){if(0|o[i+8>>2]){if(s=0|o[i+20>>2],c=0|o[i+24>>2],d=0|o[i+12>>2],(0|c)<1|(0|s)<1|((v=0|o[i+16>>2])|d|0)<0)return O=a,0|2;if(((-2&d)+s|0)>(0|e)|((-2&v)+c|0)>(0|r))return O=a,0|2;b=s,h=c}else b=e,h=r;if(0|o[i+28>>2]){if(o[f>>2]=o[i+32>>2],o[A>>2]=o[i+36>>2],c=0==(0|Qe(b,h,f,A)))return O=a,0|2;w=0|o[f>>2],k=0|o[A>>2]}else w=b,k=h}else w=e,k=r;if(o[t+4>>2]=w,o[(r=t+8|0)>>2]=k,(0|k)<1|(0|w)<1|(e=0|o[t>>2])>>>0>12)return O=a,0|2;do{if((0|o[t+12>>2])<1&&0==(0|o[(h=t+80|0)>>2])){if(b=((0|w)<0)<<31>>31,f=0|Li(255&(A=0|n[8683+e>>0])|0,0,0|w,0|b),(c=0|g())>>>0>0|0==(0|c)&f>>>0>4294967295)return O=a,0|2;if(c=0|Li(0|(f=0|l(w,255&A)),((0|f)<0)<<31>>31|0,0|k,0|(A=((0|k)<0)<<31>>31)),s=0|g(),(v=e>>>0>10)?(C=0|Li(0|(d=(w+1|0)/2|0),((0|d)<0)<<31>>31|0,0|(m=(k+1|0)/2|0),((0|m)<0)<<31>>31|0),m=0|g(),p=12==(0|e),I=0|Li(0|w,0|b,0|k,0|A),A=0|g(),y=d,E=p?w:0,D=C,L=m,x=p?I:0,S=p?A:0):(y=0,E=0,D=0,L=0,x=0,S=0),A=0|Pi(0|D,0|L,1),p=0|g(),I=0|xi(0|x,0|S,0|c,0|s),!(p=0|V(s=0|xi(0|I,0|g(),0|A,0|p),0|g(),1)))return O=a,0|1;if(o[h>>2]=p,o[t+16>>2]=p,!v){o[t+20>>2]=f,o[t+24>>2]=c;break}o[t+32>>2]=f,o[t+48>>2]=c,f=p+c|0,o[t+20>>2]=f,o[t+36>>2]=y,o[t+52>>2]=D,o[t+24>>2]=f+D,o[t+40>>2]=y,o[t+56>>2]=D,12==(0|e)&&(o[t+28>>2]=f+A),o[t+60>>2]=x,o[t+44>>2]=E}}while(0);return 0!=(0|(E=0|Ve(t)))|1^u?(O=a,0|E):0|o[i+48>>2]?(i=(0|o[r>>2])-1|0,(0|o[t>>2])>>>0<=10?(E=0|o[(r=t+20|0)>>2],u=0|l(E,i),o[(x=t+16|0)>>2]=(0|o[x>>2])+u,o[r>>2]=0-E,O=a,0|0):(r=0|o[(E=t+32|0)>>2],u=0|l(r,i),o[(x=t+16|0)>>2]=(0|o[x>>2])+u,o[E>>2]=0-r,r=i>>1,u=0|o[(E=t+36|0)>>2],x=0|l(u,r),o[(e=t+20|0)>>2]=(0|o[e>>2])+x,o[E>>2]=0-u,E=0|o[(u=t+40|0)>>2],x=0|l(E,r),o[(r=t+24|0)>>2]=(0|o[r>>2])+x,o[u>>2]=0-E,(u=0|o[(E=t+28|0)>>2])?(t=0|o[(x=t+44|0)>>2],r=u+(0|l(t,i))|0,o[E>>2]=r,o[x>>2]=0-t,O=a,0|0):(O=a,0|0))):(O=a,0|0)}function Ve(e){var r,i,n,t=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0;if(r=0|o[(e|=0)>>2],i=0|o[e+4>>2],n=0|o[e+8>>2],r>>>0>12)return 0|2;do{if(r>>>0>10){if(t=(i+1|0)/2|0,A=(0|(f=0|o[e+32>>2]))>-1?f:0-f|0,u=(0|(f=0|o[e+36>>2]))>-1?f:0-f|0,s=(0|(f=0|o[e+40>>2]))>-1?f:0-f|0,c=(0|(f=0|o[e+44>>2]))>-1?f:0-f|0,b=((0|i)<0)<<31>>31,h=0|xi(0|(v=0|Li(0|A,((0|A)<0)<<31>>31|0,0|(f=n+-1|0),0|(d=((0|f)<0)<<31>>31))),0|g(),0|i,0|b),v=0|g(),C=((0|t)<0)<<31>>31,p=0|xi(0|(m=0|Li(0|u,((0|u)<0)<<31>>31|0,0|(w=((n+1|0)/2|0)-1|0),0|(k=((0|w)<0)<<31>>31))),0|g(),0|t,0|C),m=0|g(),k=0|xi(0|(I=0|Li(0|s,((0|s)<0)<<31>>31|0,0|w,0|k)),0|g(),0|t,0|C),C=0|g(),I=0!=(0|o[e+24>>2])&0!=(0|o[e+20>>2])&0!=(0|o[e+16>>2])&(0|s)>=(0|t)&(0|u)>=(0|t)&(0|A)>=(0|i)&(v>>>0<0|(0==(0|v)?h>>>0<=(0|o[e+48>>2])>>>0:0))&(m>>>0<0|(0==(0|m)?p>>>0<=(0|o[e+52>>2])>>>0:0))&(C>>>0<0|(0==(0|C)?k>>>0<=(0|o[e+56>>2])>>>0:0)),12==(0|r)){if(d=0|xi(0|(k=0|Li(0|c,((0|c)<0)<<31>>31|0,0|f,0|d)),0|g(),0|i,0|b),b=0|g(),0!=(0|o[e+28>>2])&(0|c)>=(0|i)&I&(b>>>0<0|(0==(0|b)?d>>>0<=(0|o[e+60>>2])>>>0:0)))break;return 0|2}if(I)break;return 0|2}if(k=0|xi(0|(b=0|Li(0|(d=(0|(I=0|o[e+20>>2]))>-1?I:0-I|0),((0|d)<0)<<31>>31|0,0|(I=n+-1|0),((0|I)<0)<<31>>31|0)),0|(I=0|g()),0|(c=0|l(i,0|a[8683+r>>0])),((0|c)<0)<<31>>31|0),I=0|g(),!(0!=(0|o[e+16>>2])&(0|d)>=(0|c)&(I>>>0<0|(0==(0|I)?k>>>0<=(0|o[e+24>>2])>>>0:0))))return 0|2}while(0);return 0|0}function He(e,r){if(0==(0|(e|=0))|512!=(-256&(r|=0)|0))return 0|0;e=(r=e)+84|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|e));return 0|1}function Ze(e){var r;(e|=0)&&(r=e+80|0,(0|o[e+12>>2])<1&&Y(0|o[r>>2]),o[r>>2]=0)}function je(e,r){var i,n,t,f=0,A=0;if(i=(e|=0)+4|0,o[(r|=0)+4>>2]=o[i>>2],n=e+8|0,o[r+8>>2]=o[n>>2],0|Ve(r))return 0|2;if(t=0|o[e>>2],f=0|o[e+16>>2],t>>>0<=10)return A=0|l(0|o[i>>2],0|a[8683+t>>0]),Ke(f,0|o[e+20>>2],0|o[r+16>>2],0|o[r+20>>2],A,0|o[n>>2]),0|0;switch(Ke(f,0|o[e+32>>2],0|o[r+16>>2],0|o[r+32>>2],0|o[i>>2],0|o[n>>2]),Ke(0|o[e+20>>2],0|o[e+36>>2],0|o[r+20>>2],0|o[r+36>>2],(1+(0|o[i>>2])|0)/2|0,(1+(0|o[n>>2])|0)/2|0),Ke(0|o[e+24>>2],0|o[e+40>>2],0|o[r+24>>2],0|o[r+40>>2],(1+(0|o[i>>2])|0)/2|0,(1+(0|o[n>>2])|0)/2|0),0|(f=0|o[e>>2])){case 1:case 3:case 4:case 5:case 12:break;default:if((f+-7|0)>>>0>3)return 0|0}return Ke(0|o[e+28>>2],0|o[e+44>>2],0|o[r+28>>2],0|o[r+44>>2],0|o[i>>2],0|o[n>>2]),0|0}function Ke(e,r,i,n,t,o){e|=0,r|=0,i|=0,n|=0,t|=0;var a=0;if(!((0|(o|=0))<=0))for(a=o,o=e,e=i;Ti(0|e,0|o,0|t),(0|a)>1;)a=a+-1|0,o=o+r|0,e=e+n|0}function Je(e,r){r|=0;return(0|o[(e|=0)+12>>2])<=1?0|0:0|r&&((0|o[e>>2])-7|0)>>>0<4?0|0!=(0|o[r+8>>2])&1:0|0}function $e(e,r){r|=0;var i,n=0,t=0,f=0,A=0,u=0,s=0;if(e|=0){i=0|o[e+44>>2];do{if((0|i)>=0){if((0|i)<=100){if(!((0|(n=255*i|0))>99))break;t=(0|n)/100|0}else t=255;(0|(n=0|o[r+800>>2]))<12?(n=(0|l(t,0|a[8696+((0|n)>0?n:0)>>0]))>>3,o[r+804>>2]=n,f=n):f=0|o[r+804>>2],(0|(n=0|o[r+832>>2]))<12?(n=(0|l(t,0|a[8696+((0|n)>0?n:0)>>0]))>>3,o[r+836>>2]=n,A=n):A=0|o[r+836>>2],(0|(n=0|o[r+864>>2]))<12?(n=(0|l(t,0|a[8696+((0|n)>0?n:0)>>0]))>>3,o[r+868>>2]=n,u=n):u=0|o[r+868>>2],(0|(n=0|o[r+896>>2]))<12?(n=(0|l(t,0|a[8696+((0|n)>0?n:0)>>0]))>>3,o[r+900>>2]=n,s=n):s=0|o[r+900>>2],s|u|A|f|0&&(er(r+544|0,1),o[r+540>>2]=1)}}while(0);f=0|o[e+52>>2],o[(e=r+2372|0)>>2]=f,(0|f)>100?o[e>>2]=100:(0|f)>=0||(o[e>>2]=0)}}function er(e,r){r=+r;var i=0;Ti((e|=0)+8|0,3888,220),o[e>>2]=0,o[e+4>>2]=31,i=r<0?0:r>1?256:~~(256*r)>>>0,o[e+228>>2]=i}function rr(e,r){r|=0;var i,n=0,t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(n=(e|=0)+160|0,a=(0|o[e+2308>>2])>0&&(0|(t=0|o[e+2300>>2]))>=(0|o[e+300>>2])?(0|t)<=(0|o[e+308>>2]):0,t=1&a,!(0|o[(f=e+148|0)>>2]))return o[e+164>>2]=o[e+2300>>2],o[e+168>>2]=t,ir(e,n),0|(A=0|nr(e,r));if(i=e+124|0,!(1&(0|Vi[7&o[(u=8148)>>2]](i))))return 0|(A=0);u=r,r=(A=e+180|0)+108|0;do{o[A>>2]=o[u>>2],A=A+4|0,u=u+4|0}while((0|A)<(0|r));return u=e+152|0,o[n>>2]=o[u>>2],o[e+164>>2]=o[e+2300>>2],o[e+168>>2]=t,2==(0|o[f>>2])?(t=0|o[(f=e+176|0)>>2],A=e+2304|0,o[f>>2]=o[A>>2],o[A>>2]=t):ir(e,n),a?(n=0|o[(a=e+172|0)>>2],t=e+2260|0,o[a>>2]=o[t>>2],o[t>>2]=n,s=0|o[(8140+12|0)>>2],Ki[31&s](i),c=(0|(l=(0|o[u>>2])+1|0))==(0|(0|o[(e+156|0)>>2]))?0:l,o[u>>2]=c,1):(s=0|o[(8140+12|0)>>2],Ki[31&s](i),c=(0|(l=(0|o[u>>2])+1|0))==(0|(0|o[(e+156|0)>>2]))?0:l,o[u>>2]=c,1)}function ir(e,r){e|=0;var i,t,A,u,s,c,d,v,g,b,h,w,k,m,C,p,I,y,E,D,L,x,S,B,M,F,_,P,R,T,G,O,q,Y,U,z,W,X,Q,N,V,H,Z,j,K,J,$,ee,re,ie,ne,te,oe,ae,fe,Ae,ue,se,le,ce,de,ve,ge,be,he,we,ke,me,Ce,pe,Ie,ye,Ee,De,Le,xe,Se,Be,Me,Fe,_e,Pe,Re,Te,Ge,Oe,qe,Ye,Ue,ze,We,Xe,Qe,Ne,Ve,He,Ze,je,Ke,Je,$e,er,rr,ir,nr,tr,or,ar,fr,dr,vr,gr,br,hr,wr,kr,mr,Cr,pr,Ir,yr,Er,Dr,Lr=0,xr=0,Sr=0,Br=0,Mr=0,Fr=0,_r=0,Pr=0,Rr=0,Tr=0,Gr=0,Or=0,qr=0,Yr=0,Ur=0,zr=0,Wr=0,Xr=0;if(i=0|o[(r|=0)+4>>2],Lr=0|o[r>>2],t=(xr=0|o[e+2264>>2])+40|0,A=xr+584|0,n[xr+39>>0]=-127,n[xr+71>>0]=-127,n[xr+103>>0]=-127,n[xr+135>>0]=-127,n[xr+167>>0]=-127,n[xr+199>>0]=-127,n[xr+231>>0]=-127,n[xr+263>>0]=-127,n[xr+295>>0]=-127,n[xr+327>>0]=-127,n[xr+359>>0]=-127,n[xr+391>>0]=-127,n[xr+423>>0]=-127,n[xr+455>>0]=-127,n[xr+487>>0]=-127,n[xr+519>>0]=-127,u=xr+600|0,n[xr+583>>0]=-127,n[xr+599>>0]=-127,n[xr+615>>0]=-127,n[xr+631>>0]=-127,n[xr+647>>0]=-127,n[xr+663>>0]=-127,n[xr+679>>0]=-127,n[xr+695>>0]=-127,n[xr+711>>0]=-127,n[xr+727>>0]=-127,n[xr+743>>0]=-127,n[xr+759>>0]=-127,n[xr+775>>0]=-127,n[xr+791>>0]=-127,n[xr+807>>0]=-127,n[xr+823>>0]=-127,s=(0|i)>0)n[xr+567>>0]=-127,n[xr+551>>0]=-127,n[xr+7>>0]=-127;else{Br=(Sr=xr+7|0)+21|0;do{n[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|Br));Br=(Sr=xr+551|0)+9|0;do{n[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|Br));Br=(Sr=xr+567|0)+9|0;do{n[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|Br))}if(!((0|o[(c=e+288|0)>>2])<=0)){d=r+16|0,r=e+2252|0,v=xr+8|0,g=xr+552|0,b=xr+568|0,h=xr+24|0,w=xr+408|0,k=xr+280|0,m=xr+152|0,C=(Mr=0==(0|i))?6:5,p=Mr?4:0,Mr=e+292|0,I=xr+520|0,y=xr+808|0,E=xr+824|0,D=Lr<<4,L=e+2280|0,x=Lr<<3,Lr=e+2284|0,S=e+2268|0,B=e+2272|0,M=e+2276|0,e=xr+4|0,F=xr+20|0,_=xr+36|0,P=xr+52|0,R=xr+68|0,T=xr+84|0,G=xr+100|0,O=xr+116|0,q=xr+132|0,Y=xr+148|0,U=xr+164|0,z=xr+180|0,W=xr+196|0,X=xr+212|0,Q=xr+228|0,N=xr+244|0,V=xr+260|0,H=xr+276|0,Z=xr+292|0,j=xr+308|0,K=xr+324|0,J=xr+340|0,$=xr+356|0,ee=xr+372|0,re=xr+388|0,ie=xr+404|0,ne=xr+420|0,te=xr+436|0,oe=xr+452|0,ae=xr+468|0,fe=xr+484|0,Ae=xr+500|0,ue=xr+516|0,se=xr+532|0,le=xr+548|0,ce=xr+556|0,de=xr+564|0,ve=xr+572|0,ge=xr+580|0,be=xr+588|0,he=xr+596|0,we=xr+604|0,ke=xr+612|0,me=xr+620|0,Ce=xr+628|0,pe=xr+636|0,Ie=xr+644|0,ye=xr+652|0,Ee=xr+660|0,De=xr+668|0,Le=xr+676|0,xe=xr+684|0,Se=xr+692|0,Be=xr+700|0,Me=xr+708|0,Fe=xr+716|0,_e=xr+724|0,Pe=xr+732|0,Re=xr+740|0,Te=xr+748|0,Ge=xr+756|0,Oe=xr+764|0,qe=xr+772|0,Ye=xr+780|0,Ue=xr+788|0,ze=xr+796|0,We=xr+804|0,Xe=xr+812|0,Qe=xr+820|0,Ne=xr+828|0,Ve=xr+72|0,He=xr+104|0,Ze=xr+136|0,je=xr+168|0,Ke=xr+200|0,Je=xr+232|0,$e=xr+264|0,er=xr+296|0,rr=xr+328|0,ir=xr+360|0,nr=xr+392|0,tr=xr+424|0,or=xr+456|0,ar=xr+488|0,fr=xr+520|0,dr=xr+616|0,vr=xr+632|0,gr=xr+648|0,br=xr+664|0,hr=xr+680|0,wr=xr+696|0,kr=xr+712|0,mr=xr+728|0,Cr=xr+744|0,pr=xr+760|0,Ir=xr+776|0,yr=xr+792|0,Er=xr+808|0,Dr=xr+824|0,xr=0;do{if(Fr=0|o[d>>2],(_r=0==(0|xr))||(Pr=a[F>>0]|a[F+1>>0]<<8|a[F+2>>0]<<16|a[F+3>>0]<<24,n[e>>0]=Pr,n[e+1>>0]=Pr>>8,n[e+2>>0]=Pr>>16,n[e+3>>0]=Pr>>24,Pr=a[P>>0]|a[P+1>>0]<<8|a[P+2>>0]<<16|a[P+3>>0]<<24,n[_>>0]=Pr,n[_+1>>0]=Pr>>8,n[_+2>>0]=Pr>>16,n[_+3>>0]=Pr>>24,Pr=a[T>>0]|a[T+1>>0]<<8|a[T+2>>0]<<16|a[T+3>>0]<<24,n[R>>0]=Pr,n[R+1>>0]=Pr>>8,n[R+2>>0]=Pr>>16,n[R+3>>0]=Pr>>24,Pr=a[O>>0]|a[O+1>>0]<<8|a[O+2>>0]<<16|a[O+3>>0]<<24,n[G>>0]=Pr,n[G+1>>0]=Pr>>8,n[G+2>>0]=Pr>>16,n[G+3>>0]=Pr>>24,Pr=a[Y>>0]|a[Y+1>>0]<<8|a[Y+2>>0]<<16|a[Y+3>>0]<<24,n[q>>0]=Pr,n[q+1>>0]=Pr>>8,n[q+2>>0]=Pr>>16,n[q+3>>0]=Pr>>24,Pr=a[z>>0]|a[z+1>>0]<<8|a[z+2>>0]<<16|a[z+3>>0]<<24,n[U>>0]=Pr,n[U+1>>0]=Pr>>8,n[U+2>>0]=Pr>>16,n[U+3>>0]=Pr>>24,Pr=a[X>>0]|a[X+1>>0]<<8|a[X+2>>0]<<16|a[X+3>>0]<<24,n[W>>0]=Pr,n[W+1>>0]=Pr>>8,n[W+2>>0]=Pr>>16,n[W+3>>0]=Pr>>24,Pr=a[N>>0]|a[N+1>>0]<<8|a[N+2>>0]<<16|a[N+3>>0]<<24,n[Q>>0]=Pr,n[Q+1>>0]=Pr>>8,n[Q+2>>0]=Pr>>16,n[Q+3>>0]=Pr>>24,Pr=a[H>>0]|a[H+1>>0]<<8|a[H+2>>0]<<16|a[H+3>>0]<<24,n[V>>0]=Pr,n[V+1>>0]=Pr>>8,n[V+2>>0]=Pr>>16,n[V+3>>0]=Pr>>24,Pr=a[j>>0]|a[j+1>>0]<<8|a[j+2>>0]<<16|a[j+3>>0]<<24,n[Z>>0]=Pr,n[Z+1>>0]=Pr>>8,n[Z+2>>0]=Pr>>16,n[Z+3>>0]=Pr>>24,Pr=a[J>>0]|a[J+1>>0]<<8|a[J+2>>0]<<16|a[J+3>>0]<<24,n[K>>0]=Pr,n[K+1>>0]=Pr>>8,n[K+2>>0]=Pr>>16,n[K+3>>0]=Pr>>24,Pr=a[ee>>0]|a[ee+1>>0]<<8|a[ee+2>>0]<<16|a[ee+3>>0]<<24,n[$>>0]=Pr,n[$+1>>0]=Pr>>8,n[$+2>>0]=Pr>>16,n[$+3>>0]=Pr>>24,Pr=a[ie>>0]|a[ie+1>>0]<<8|a[ie+2>>0]<<16|a[ie+3>>0]<<24,n[re>>0]=Pr,n[re+1>>0]=Pr>>8,n[re+2>>0]=Pr>>16,n[re+3>>0]=Pr>>24,Pr=a[te>>0]|a[te+1>>0]<<8|a[te+2>>0]<<16|a[te+3>>0]<<24,n[ne>>0]=Pr,n[ne+1>>0]=Pr>>8,n[ne+2>>0]=Pr>>16,n[ne+3>>0]=Pr>>24,Pr=a[ae>>0]|a[ae+1>>0]<<8|a[ae+2>>0]<<16|a[ae+3>>0]<<24,n[oe>>0]=Pr,n[oe+1>>0]=Pr>>8,n[oe+2>>0]=Pr>>16,n[oe+3>>0]=Pr>>24,Pr=a[Ae>>0]|a[Ae+1>>0]<<8|a[Ae+2>>0]<<16|a[Ae+3>>0]<<24,n[fe>>0]=Pr,n[fe+1>>0]=Pr>>8,n[fe+2>>0]=Pr>>16,n[fe+3>>0]=Pr>>24,Pr=a[se>>0]|a[se+1>>0]<<8|a[se+2>>0]<<16|a[se+3>>0]<<24,n[ue>>0]=Pr,n[ue+1>>0]=Pr>>8,n[ue+2>>0]=Pr>>16,n[ue+3>>0]=Pr>>24,Pr=a[ce>>0]|a[ce+1>>0]<<8|a[ce+2>>0]<<16|a[ce+3>>0]<<24,n[le>>0]=Pr,n[le+1>>0]=Pr>>8,n[le+2>>0]=Pr>>16,n[le+3>>0]=Pr>>24,Pr=a[ve>>0]|a[ve+1>>0]<<8|a[ve+2>>0]<<16|a[ve+3>>0]<<24,n[de>>0]=Pr,n[de+1>>0]=Pr>>8,n[de+2>>0]=Pr>>16,n[de+3>>0]=Pr>>24,Pr=a[be>>0]|a[be+1>>0]<<8|a[be+2>>0]<<16|a[be+3>>0]<<24,n[ge>>0]=Pr,n[ge+1>>0]=Pr>>8,n[ge+2>>0]=Pr>>16,n[ge+3>>0]=Pr>>24,Pr=a[we>>0]|a[we+1>>0]<<8|a[we+2>>0]<<16|a[we+3>>0]<<24,n[he>>0]=Pr,n[he+1>>0]=Pr>>8,n[he+2>>0]=Pr>>16,n[he+3>>0]=Pr>>24,Pr=a[me>>0]|a[me+1>>0]<<8|a[me+2>>0]<<16|a[me+3>>0]<<24,n[ke>>0]=Pr,n[ke+1>>0]=Pr>>8,n[ke+2>>0]=Pr>>16,n[ke+3>>0]=Pr>>24,Pr=a[pe>>0]|a[pe+1>>0]<<8|a[pe+2>>0]<<16|a[pe+3>>0]<<24,n[Ce>>0]=Pr,n[Ce+1>>0]=Pr>>8,n[Ce+2>>0]=Pr>>16,n[Ce+3>>0]=Pr>>24,Pr=a[ye>>0]|a[ye+1>>0]<<8|a[ye+2>>0]<<16|a[ye+3>>0]<<24,n[Ie>>0]=Pr,n[Ie+1>>0]=Pr>>8,n[Ie+2>>0]=Pr>>16,n[Ie+3>>0]=Pr>>24,Pr=a[De>>0]|a[De+1>>0]<<8|a[De+2>>0]<<16|a[De+3>>0]<<24,n[Ee>>0]=Pr,n[Ee+1>>0]=Pr>>8,n[Ee+2>>0]=Pr>>16,n[Ee+3>>0]=Pr>>24,Pr=a[xe>>0]|a[xe+1>>0]<<8|a[xe+2>>0]<<16|a[xe+3>>0]<<24,n[Le>>0]=Pr,n[Le+1>>0]=Pr>>8,n[Le+2>>0]=Pr>>16,n[Le+3>>0]=Pr>>24,Pr=a[Be>>0]|a[Be+1>>0]<<8|a[Be+2>>0]<<16|a[Be+3>>0]<<24,n[Se>>0]=Pr,n[Se+1>>0]=Pr>>8,n[Se+2>>0]=Pr>>16,n[Se+3>>0]=Pr>>24,Pr=a[Fe>>0]|a[Fe+1>>0]<<8|a[Fe+2>>0]<<16|a[Fe+3>>0]<<24,n[Me>>0]=Pr,n[Me+1>>0]=Pr>>8,n[Me+2>>0]=Pr>>16,n[Me+3>>0]=Pr>>24,Pr=a[Pe>>0]|a[Pe+1>>0]<<8|a[Pe+2>>0]<<16|a[Pe+3>>0]<<24,n[_e>>0]=Pr,n[_e+1>>0]=Pr>>8,n[_e+2>>0]=Pr>>16,n[_e+3>>0]=Pr>>24,Pr=a[Te>>0]|a[Te+1>>0]<<8|a[Te+2>>0]<<16|a[Te+3>>0]<<24,n[Re>>0]=Pr,n[Re+1>>0]=Pr>>8,n[Re+2>>0]=Pr>>16,n[Re+3>>0]=Pr>>24,Pr=a[Oe>>0]|a[Oe+1>>0]<<8|a[Oe+2>>0]<<16|a[Oe+3>>0]<<24,n[Ge>>0]=Pr,n[Ge+1>>0]=Pr>>8,n[Ge+2>>0]=Pr>>16,n[Ge+3>>0]=Pr>>24,Pr=a[Ye>>0]|a[Ye+1>>0]<<8|a[Ye+2>>0]<<16|a[Ye+3>>0]<<24,n[qe>>0]=Pr,n[qe+1>>0]=Pr>>8,n[qe+2>>0]=Pr>>16,n[qe+3>>0]=Pr>>24,Pr=a[ze>>0]|a[ze+1>>0]<<8|a[ze+2>>0]<<16|a[ze+3>>0]<<24,n[Ue>>0]=Pr,n[Ue+1>>0]=Pr>>8,n[Ue+2>>0]=Pr>>16,n[Ue+3>>0]=Pr>>24,Pr=a[Xe>>0]|a[Xe+1>>0]<<8|a[Xe+2>>0]<<16|a[Xe+3>>0]<<24,n[We>>0]=Pr,n[We+1>>0]=Pr>>8,n[We+2>>0]=Pr>>16,n[We+3>>0]=Pr>>24,Pr=a[Ne>>0]|a[Ne+1>>0]<<8|a[Ne+2>>0]<<16|a[Ne+3>>0]<<24,n[Qe>>0]=Pr,n[Qe+1>>0]=Pr>>8,n[Qe+2>>0]=Pr>>16,n[Qe+3>>0]=Pr>>24),Rr=(Pr=0|o[r>>2])+(xr<<5)|0,Tr=0|o[Fr+(800*xr|0)+788>>2],s){Gr=Rr,Br=(Sr=v)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Yr=a[(qr=Or=Pr+(xr<<5)+16|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,Or=a[(qr=Or+4|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,n[(Ur=qr=g)>>0]=Yr,n[Ur+1>>0]=Yr>>8,n[Ur+2>>0]=Yr>>16,n[Ur+3>>0]=Yr>>24,n[(Yr=qr+4|0)>>0]=Or,n[Yr+1>>0]=Or>>8,n[Yr+2>>0]=Or>>16,n[Yr+3>>0]=Or>>24,qr=a[(Yr=Or=Pr+(xr<<5)+24|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Or=a[(Yr=Or+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,n[(Ur=Yr=b)>>0]=qr,n[Ur+1>>0]=qr>>8,n[Ur+2>>0]=qr>>16,n[Ur+3>>0]=qr>>24,n[(qr=Yr+4|0)>>0]=Or,n[qr+1>>0]=Or>>8,n[qr+2>>0]=Or>>16,n[qr+3>>0]=Or>>24}e:do{if(0|n[Fr+(800*xr|0)+768>>0]){do{if(s){if((0|xr)<((0|o[c>>2])-1|0)){qr=a[(Or=Rr+32|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,n[h>>0]=qr,n[h+1>>0]=qr>>8,n[h+2>>0]=qr>>16,n[h+3>>0]=qr>>24,Xr=qr;break}Oi(0|h,0|(qr=0|n[Pr+(xr<<5)+15>>0]),4),Xr=(qr=(Or=255&qr)<<8|Or)|qr<<16;break}Xr=0|o[h>>2]}while(0);for(o[w>>2]=Xr,o[k>>2]=Xr,o[m>>2]=Xr,qr=Tr,Or=0;;){switch(Yr=t+(0|f[4112+(Or<<1)>>1])|0,Ki[31&o[9376+((255&n[Fr+(800*xr|0)+769+Or>>0])<<2)>>2]](Yr),Wr=Fr+(800*xr|0)+(Or<<4<<1)|0,qr>>>30&3){case 3:Ar(Wr,Yr,0);break;case 2:sr(Wr,Yr);break;case 1:ur(Wr,Yr)}if(16==(0|(Or=Or+1|0)))break;qr<<=2}zr=_r?C:p}else if(Or=0|n[Fr+(800*xr|0)+769>>0],qr=_r?C:p,Ki[31&o[9344+((Or<<24>>24==0?qr:255&Or)<<2)>>2]](t),Tr)for(Or=Tr,Yr=0;;){switch(Ur=Fr+(800*xr|0)+(Yr<<4<<1)|0,Wr=t+(0|f[4112+(Yr<<1)>>1])|0,Or>>>30&3){case 3:Ar(Ur,Wr,0);break;case 2:sr(Ur,Wr);break;case 1:ur(Ur,Wr)}if(16==(0|(Yr=Yr+1|0))){zr=qr;break e}Or<<=2}else zr=qr}while(0);_r=0|o[Fr+(800*xr|0)+792>>2],Tr=0|n[Fr+(800*xr|0)+785>>0],Ki[31&o[(qr=9424+((Tr<<24>>24==0?zr:255&Tr)<<2)|0)>>2]](A),Ki[31&o[qr>>2]](u),qr=Fr+(800*xr|0)+512|0;do{if(255&_r|0){if(170&_r){lr(qr,A);break}cr(qr,A);break}}while(0);qr=Fr+(800*xr|0)+640|0;do{if(65280&_r|0){if(43520&_r){lr(qr,u);break}cr(qr,u);break}}while(0);if((0|i)<((0|o[Mr>>2])-1|0)){Gr=I,Br=(Sr=Rr)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));_r=a[(qr=Rr=y)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,Rr=a[(qr=Rr+4|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,n[(Fr=qr=Pr+(xr<<5)+16|0)>>0]=_r,n[Fr+1>>0]=_r>>8,n[Fr+2>>0]=_r>>16,n[Fr+3>>0]=_r>>24,n[(_r=qr+4|0)>>0]=Rr,n[_r+1>>0]=Rr>>8,n[_r+2>>0]=Rr>>16,n[_r+3>>0]=Rr>>24,qr=a[(_r=Rr=E)>>0]|a[_r+1>>0]<<8|a[_r+2>>0]<<16|a[_r+3>>0]<<24,Rr=a[(_r=Rr+4|0)>>0]|a[_r+1>>0]<<8|a[_r+2>>0]<<16|a[_r+3>>0]<<24,n[(Fr=_r=Pr+(xr<<5)+24|0)>>0]=qr,n[Fr+1>>0]=qr>>8,n[Fr+2>>0]=qr>>16,n[Fr+3>>0]=qr>>24,n[(qr=_r+4|0)>>0]=Rr,n[qr+1>>0]=Rr>>8,n[qr+2>>0]=Rr>>16,n[qr+3>>0]=Rr>>24}Rr=0|l(D,0|o[L>>2]),qr=0|o[Lr>>2],_r=(0|o[S>>2])+(xr<<4)+Rr|0,Rr=xr<<3,Fr=(0|o[B>>2])+Rr|0,Tr=(0|o[M>>2])+Rr|0,Gr=t,Br=(Sr=_r)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=Ve,Br=(Sr=_r+(0|o[L>>2])|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=He,Br=(Sr=_r+(o[L>>2]<<1)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=Ze,Br=(Sr=_r+(3*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=je,Br=(Sr=_r+(o[L>>2]<<2)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=Ke,Br=(Sr=_r+(5*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=Je,Br=(Sr=_r+(6*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=$e,Br=(Sr=_r+(7*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=er,Br=(Sr=_r+(o[L>>2]<<3)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=rr,Br=(Sr=_r+(9*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=ir,Br=(Sr=_r+(10*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=nr,Br=(Sr=_r+(11*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=tr,Br=(Sr=_r+(12*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=or,Br=(Sr=_r+(13*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=ar,Br=(Sr=_r+(14*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=fr,Br=(Sr=_r+(15*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Pr=Fr+(_r=0|l(qr,x))|0,Rr=Tr+_r|0,Yr=a[(Or=_r=A)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,n[(Wr=Or=Pr)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=u)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,n[(Wr=Yr=Rr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=dr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(0|o[Lr>>2])|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=vr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(0|o[Lr>>2])|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=gr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(o[Lr>>2]<<1)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=br)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(o[Lr>>2]<<1)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=hr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(3*(0|o[Lr>>2])|0)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=wr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(3*(0|o[Lr>>2])|0)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=kr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(o[Lr>>2]<<2)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=mr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(o[Lr>>2]<<2)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=Cr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(5*(0|o[Lr>>2])|0)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=pr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(5*(0|o[Lr>>2])|0)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=Ir)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(6*(0|o[Lr>>2])|0)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=yr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(6*(0|o[Lr>>2])|0)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=Er)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(7*(0|o[Lr>>2])|0)|0,n[(Pr=Or)>>0]=Yr,n[Pr+1>>0]=Yr>>8,n[Pr+2>>0]=Yr>>16,n[Pr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=Dr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(7*(0|o[Lr>>2])|0)|0,n[(Rr=Yr)>>0]=Or,n[Rr+1>>0]=Or>>8,n[Rr+2>>0]=Or>>16,n[Rr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,xr=xr+1|0}while((0|xr)<(0|o[c>>2]))}}function nr(e,r){r|=0;var i,t,f,A,u,s,c,d,v,g,b,h,w,k,m,C,p,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0;if(i=O,O=O+64|0,t=i,A=0|o[(f=(e|=0)+160|0)>>2],y=0|a[8708+(0|o[(I=e+2308|0)>>2])>>0],E=0|o[(u=e+2280|0)>>2],s=0|l(E,y),D=0|o[(c=e+2284|0)>>2],d=0|l(y>>>1,D),L=0|l(E,A<<4),E=0|l(D,A<<3),v=0-s|0,g=(0|o[(D=e+2268|0)>>2])+v+L|0,h=0-d|0,w=(0|o[(b=e+2272|0)>>2])+h+E|0,m=(0|o[(k=e+2276|0)>>2])+h+E|0,S=0==(0|(C=0|o[(x=e+164|0)>>2])),p=(0|C)>=((0|o[e+308>>2])-1|0),2==(0|o[e+148>>2])&&ir(e,f),0|o[e+168>>2]&&(0|(B=0|o[e+296>>2]))<(0|o[(M=e+304|0)>>2])){F=e+172|0,_=(0|o[x>>2])>0,x=B;do{B=0|o[f>>2],P=0|o[u>>2],R=0|o[F>>2],T=(0|o[D>>2])+(0|l(B<<4,P))+(x<<4)|0,G=0|a[R+(x<<2)+1>>0],Y=255&(q=0|n[R+(x<<2)>>0]);do{if(q<<24>>24){if(1==(0|o[I>>2])){if((0|x)>0&&kr(T,P,Y+4|0),0|n[(U=R+(x<<2)+2|0)>>0]&&Cr(T,P,Y),_&&wr(T,P,Y+4|0),!(0|n[U>>0]))break;mr(T,P,Y);break}if(U=0|o[c>>2],z=0|l(U,B<<3),W=x<<3,X=(0|o[b>>2])+z+W|0,N=(0|o[k>>2])+z+W|0,W=0|a[R+(x<<2)+3>>0],z=Y+4|0,(0|x)>0&&(gr(T,P,z,G,W),Ir(X,N,U,z,G,W)),0|n[(V=R+(x<<2)+2|0)>>0]&&(pr(T,P,Y,G,W),yr(X,N,U,Y,G,W)),_&&(dr(T,P,z,G,W),br(X,N,U,z,G,W)),!(0|n[V>>0]))break;vr(T,P,Y,G,W),hr(X,N,U,Y,G,W);break}}while(0);x=x+1|0}while((0|x)<(0|o[M>>2]))}if(0|o[e+540>>2]&&(0|(M=0|o[e+296>>2]))<(0|(_=0|o[(x=e+304|0)>>2])))for(I=e+176|0,F=e+544|0,G=e+548|0,Y=M,M=_;;){if(_=0|o[c>>2],P=(0|o[I>>2])+(800*Y|0)+796|0,(255&(T=0|n[P>>0]))>3){R=255&T,T=0|o[b>>2],B=0|l(o[f>>2]<<3,_),q=0|o[k>>2],W=0,U=0|o[F>>2],N=0|o[G>>2];do{V=(0|o[(X=e+552+(U<<2)|0)>>2])-(0|o[e+552+(N<<2)>>2])|0,o[X>>2]=2147483647&V,U=55==(0|(X=1+(0|o[F>>2])|0))?0:X,o[F>>2]=U,N=55==(0|(X=1+(0|o[G>>2])|0))?0:X,o[G>>2]=N,V=0|l((X=V<<1)>>24,R),n[t+W>>0]=128+(V>>>8),W=W+1|0}while(64!=(0|W));Er(t,T+B+(W=Y<<3)|0,_),R=0|a[P>>0],N=0,U=0|o[F>>2],V=0|o[G>>2];do{z=(0|o[(X=e+552+(U<<2)|0)>>2])-(0|o[e+552+(V<<2)>>2])|0,o[X>>2]=2147483647&z,U=55==(0|(X=1+(0|o[F>>2])|0))?0:X,o[F>>2]=U,V=55==(0|(X=1+(0|o[G>>2])|0))?0:X,o[G>>2]=V,z=0|l((X=z<<1)>>24,R),n[t+N>>0]=128+(z>>>8),N=N+1|0}while(64!=(0|N));Er(t,q+B+W|0,_),H=0|o[x>>2]}else H=M;if((0|(Y=Y+1|0))>=(0|H))break;M=H}if(0|o[(H=r+44|0)>>2]){if(M=C<<4,S?(o[r+20>>2]=(0|o[D>>2])+L,o[r+24>>2]=(0|o[b>>2])+E,Z=0,j=(0|o[k>>2])+E|0):(o[r+20>>2]=g,o[r+24>>2]=w,Z=M-y|0,j=m),o[r+28>>2]=j,M=(0|(j=M+16+(p?0:0-y|0)|0))>(0|(y=0|o[r+88>>2]))?y:j,o[(j=r+104|0)>>2]=0,0!=(0|o[e+2348>>2])&(0|M)>(0|Z)){if(y=0|Q(e,r,Z,M-Z|0),o[j>>2]=y,!y)return K=0|tr(e,3,8711),O=i,0|K;J=y}else J=0;(0|(y=0|o[r+84>>2]))>(0|Z)?(E=y-Z|0,L=0|l(0|o[u>>2],E),o[(S=r+20|0)>>2]=(0|o[S>>2])+L,L=0|l(0|o[c>>2],E>>1),o[(S=r+24|0)>>2]=(0|o[S>>2])+L,o[(S=r+28|0)>>2]=(0|o[S>>2])+L,J?(L=J+(0|l(0|o[r>>2],E))|0,o[j>>2]=L,$=y,ee=L):($=y,ee=0)):($=Z,ee=J),(0|M)>(0|$)?(J=0|o[r+76>>2],o[(Z=r+20|0)>>2]=(0|o[Z>>2])+J,Z=J>>1,o[(L=r+24|0)>>2]=(0|o[L>>2])+Z,o[(L=r+28|0)>>2]=(0|o[L>>2])+Z,0|ee&&(o[j>>2]=ee+J),o[r+8>>2]=$-y,o[r+12>>2]=(0|o[r+80>>2])-J,o[r+16>>2]=M-$,re=0|Vi[7&o[H>>2]](r)):re=1}else re=1;return p|(A+1|0)!=(0|o[e+156>>2])?(O=i,0|(K=re)):(Ti((0|o[D>>2])+v|0,g+(o[u>>2]<<4)|0,0|s),Ti((0|o[b>>2])+h|0,w+(o[c>>2]<<3)|0,0|d),Ti((0|o[k>>2])+h|0,m+(o[c>>2]<<3)|0,0|d),O=i,0|(K=re))}function tr(e,r,i){return r|=0,i|=0,0|o[(e|=0)>>2]||(o[e>>2]=r,o[e+8>>2]=i,o[e+4>>2]=0),0}function or(e,r){e|=0;var i=0,t=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0;if(0|(i=0|o[(r|=0)+48>>2])&&0==(0|Vi[7&i](r)))return tr(e,6,8740),0|(0|o[e>>2]);if(i=e+2308|0,0|o[r+68>>2]?(o[i>>2]=0,c=0,d=0,l=8):(t=0|o[i>>2],f=0|a[8708+t>>0],2==(0|t)?(o[e+296>>2]=0,A=f,u=2,s=e+300|0,l=11):(c=t,d=f,l=8)),8==(0|l)&&(i=(0|o[r+76>>2])-d|0,o[(f=e+296|0)>>2]=i>>4,t=(0|o[r+84>>2])-d|0,o[(v=e+300|0)>>2]=t>>4,(0|i)<0&&(o[f>>2]=0),(0|t)<0?(A=d,u=c,s=v,l=11):(g=d,b=c)),11==(0|l)&&(o[s>>2]=0,g=A,b=u),A=(g=(u=g+15|0)+(0|o[r+88>>2])|0)>>4,o[(g=e+308|0)>>2]=A,r=(s=u+(0|o[r+80>>2])|0)>>4,s=0|o[e+288>>2],o[e+304>>2]=(0|r)>(0|s)?s:r,(0|A)>(0|(r=0|o[e+292>>2]))&&(o[g>>2]=r),(0|b)<=0)return 0|0;b=e+60|0,r=e+68|0,g=e+72|0,A=e+64|0,s=e+88|0,u=e+112|0,l=0==(0|o[e+104>>2]),c=0;do{l?h=0|o[b>>2]:(d=0|n[e+120+c>>0],h=0|o[u>>2]?d:(0|o[b>>2])+d|0),0|o[r>>2]?(t=(0|(v=(0|(d=(0|o[g>>2])+h|0))<63?d:63))>0?v:0,(0|d)>0?(i=(f=(0|(v=0|o[A>>2]))>4?2:1)?t>>>f:t,f=9-v|0,i=(0|(w=(0|v)>0?(0|i)>(0|f)?f:i:t))>1?w:1,n[e+2312+(c<<3)+1>>0]=i,n[e+2312+(c<<3)+3>>0]=(0|t)>39?2:(0|t)>14&1,k=i+(t<<1)&255):k=0,n[e+2312+(c<<3)>>0]=k,n[e+2312+(c<<3)+2>>0]=0,i=(0|(d=(0|(t=(0|o[s>>2])+d|0))<63?t:63))>0?d:0,(0|t)>0?(w=(d=(0|(t=0|o[A>>2]))>4?2:1)?i>>>d:i,d=9-t|0,w=(0|(f=(0|t)>0?(0|w)>(0|d)?d:w:i))>1?f:1,n[e+2312+(c<<3)+5>>0]=w,n[e+2312+(c<<3)+7>>0]=(0|i)>39?2:(0|i)>14&1,m=w+(i<<1)&255):m=0):(w=(0|(i=(0|h)<63?h:63))>0?i:0,(0|h)>0?(d=(f=(0|(i=0|o[A>>2]))>4?2:1)?w>>>f:w,f=9-i|0,t=255&(d=(0|(t=(0|i)>0?(0|d)>(0|f)?f:d:w))>1?t:1),n[e+2312+(c<<3)+1>>0]=t,f=(0|w)>39?2:(0|w)>14&1,n[e+2312+(c<<3)+3>>0]=f,n[e+2312+(c<<3)+5>>0]=t,n[e+2312+(c<<3)+7>>0]=f,C=d+(w<<1)&255):C=0,n[e+2312+(c<<3)>>0]=C,n[e+2312+(c<<3)+2>>0]=0,m=C),n[e+2312+(c<<3)+4>>0]=m,n[e+2312+(c<<3)+6>>0]=1,c=c+1|0}while(4!=(0|c));return 0|0}function ar(e,r){r|=0;var i,n,t,A,u,s,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0;o[(i=(e|=0)+152|0)>>2]=0,c=e+148|0;do{if((0|o[c>>2])>0){if(0|Vi[7&o[(d=8144)>>2]](e+124|0)){o[e+136>>2]=e,o[e+140>>2]=e+180,o[e+132>>2]=20,d=(0|o[e+2308>>2])>0?3:2,o[e+156>>2]=d,v=d;break}if(0|tr(e,1,8759)){v=0|o[e+156>>2];break}return 0|0}o[e+156>>2]=1,v=1}while(0);if(n=(d=0|o[e+288>>2])<<2,b=d<<5,t=2+(d<<1)|0,w=0|o[(h=e+2308|0)>>2],k=0|o[c>>2],m=0|l((0|k)>0?2:1,n),C=(0|w)>0?m:0,m=0|l(800*d|0,2==(0|k)?2:1),A=0|l((3*((p=v<<4)+(0|a[8708+w>>0])|0)|0)/2|0,b),0|o[e+2348>>2]?(I=w=0|Li(0|f[e+50>>1],0,0|f[e+48>>1],0),y=0|g()):(I=0,y=0),w=0|xi(0|b,0,863,0),E=0|xi(0|w,0|g(),0|n,0),w=0|xi(0|E,0|g(),0|t,0),E=0|xi(0|w,0|g(),0|m,0),w=0|xi(0|E,0|g(),0|C,0),E=0|xi(0|w,0|g(),0|A,0),!((0|(w=0|xi(0|E,0|g(),0|I,0|y)))==(0|w)&0==(0|(E=0|g()))))return 0|0;u=e+2292|0,D=0|o[(s=e+2288|0)>>2];do{if(E>>>0>0|(0==(0|E)?w>>>0>(0|o[u>>2])>>>0:0)){if(Y(D),o[u>>2]=0,L=0|V(w,E,1),o[s>>2]=L,0|L){o[u>>2]=w,x=0|o[c>>2],S=L,B=13;break}if(0|tr(e,1,8789)){M=e+2276|0,F=e+2280|0,_=e+2284|0,P=e+2268|0,R=e+2272|0;break}return 0|0}x=k,S=D,B=13}while(0);return 13==(0|B)&&(o[(B=e+2244|0)>>2]=S,D=S+n|0,o[e+2252>>2]=D,b=(S=D+b|0)+2|0,o[e+2256>>2]=b,D=S+t|0,S=0==(0|C)?0:D,o[e+2260>>2]=S,o[e+160>>2]=0,o[e+172>>2]=(0|x)>0?S+(d<<2)|0:S,S=D+C+31&-32,o[e+2264>>2]=S,C=S+832|0,o[e+2304>>2]=C,o[(S=e+176|0)>>2]=C,2==(0|x)&&(o[S>>2]=C+(800*d|0)),S=C+m|0,m=d<<4,o[(C=e+2280|0)>>2]=m,x=d<<3,o[(d=e+2284|0)>>2]=x,D=0|a[8708+(0|o[h>>2])>>0],h=0|l(m,D),k=0|l(D>>>1,x),D=S+h|0,o[(h=e+2268|0)>>2]=D,c=D+(0|l(m,p))+k|0,o[(p=e+2272|0)>>2]=c,m=c+(0|l(v<<3,x))+k|0,o[(k=e+2276|0)>>2]=m,o[i>>2]=0,o[e+2364>>2]=0==(0|I)&0==(0|y)?0:S+A|0,Oi(b+-2|0,0,0|t),fr(e),Oi(0|o[B>>2],0,0|n),M=k,F=C,_=d,P=h,R=p),o[r+8>>2]=0,o[r+20>>2]=o[P>>2],o[r+24>>2]=o[R>>2],o[r+28>>2]=o[M>>2],o[r+32>>2]=o[F>>2],o[r+36>>2]=o[_>>2],o[r+104>>2]=0,function(){var e=0;if(0|ri(10140))return;0|o[2041]?(o[2344]=6,o[2345]=7,o[2346]=8,o[2348]=9,o[2350]=10,o[2347]=11,o[2349]=12,o[2351]=13,o[2352]=14,o[2353]=15,o[2336]=16,o[2337]=17,o[2338]=18,o[2339]=19,o[2340]=20,o[2341]=21,o[2342]=22,o[2356]=23,o[2357]=24,o[2358]=25,o[2359]=26,o[2360]=27,o[2361]=28,o[2362]=29,e=0|o[2485]):e=0;o[2041]=e,ii(10140)}(),0|1}function fr(e){var r;r=0|o[(e|=0)+2256>>2],n[r+-2>>0]=0,n[r+-1>>0]=0,o[e+2248>>2]=0,o[e+2296>>2]=0}function Ar(e,r,i){i|=0,xr(e|=0,r|=0),i&&xr(e+32|0,r+4|0)}function ur(e,r){r|=0;var i=0,o=0;i=(e=(i=4+(0|t[(e|=0)>>1])|0)>>3)+(0|a[r>>0])|0,n[r>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+1|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+2|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+3|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+32|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+33|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+34|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+35|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+64|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+65|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+66|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+67|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+96|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+97|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+98|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,r=e+(0|a[(i=r+99|0)>>0])|0,n[i>>0]=r>>>0>255?255+(r>>>31)|0:r}function sr(e,r){r|=0;var i=0,o=0,f=0,A=0,u=0,s=0,l=0,c=0;i=4+(0|t[(e|=0)>>1])|0,A=(f=35468*(o=0|t[e+8>>1])|0)>>16,u=((f=20091*o|0)>>16)+o|0,f=(e=35468*(o=0|t[e+2>>1])|0)>>16,s=((e=20091*o|0)>>16)+o|0,l=((e=(o=u+i|0)+s|0)>>3)+(0|a[r>>0])|0,n[r>>0]=l>>>0>255?255+(l>>>31)|0:l,c=((e=o+f|0)>>3)+(0|a[(l=r+1|0)>>0])|0,n[l>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((l=o-f|0)>>3)+(0|a[(c=r+2|0)>>0])|0,n[c>>0]=e>>>0>255?255+(e>>>31)|0:e,o=((c=o-s|0)>>3)+(0|a[(e=r+3|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,l=((c=s+(o=A+i|0)|0)>>3)+(0|a[(e=r+32|0)>>0])|0,n[e>>0]=l>>>0>255?255+(l>>>31)|0:l,c=((e=o+f|0)>>3)+(0|a[(l=r+33|0)>>0])|0,n[l>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((l=o-f|0)>>3)+(0|a[(c=r+34|0)>>0])|0,n[c>>0]=e>>>0>255?255+(e>>>31)|0:e,o=((c=o-s|0)>>3)+(0|a[(e=r+35|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,c=((e=s+(o=i-A|0)|0)>>3)+(0|a[(A=r+64|0)>>0])|0,n[A>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((A=o+f|0)>>3)+(0|a[(c=r+65|0)>>0])|0,n[c>>0]=e>>>0>255?255+(e>>>31)|0:e,A=((c=o-f|0)>>3)+(0|a[(e=r+66|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((e=o-s|0)>>3)+(0|a[(A=r+67|0)>>0])|0,n[A>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((i=(o=i-u|0)+s|0)>>3)+(0|a[(u=r+96|0)>>0])|0,n[u>>0]=A>>>0>255?255+(A>>>31)|0:A,i=((u=o+f|0)>>3)+(0|a[(A=r+97|0)>>0])|0,n[A>>0]=i>>>0>255?255+(i>>>31)|0:i,f=((A=o-f|0)>>3)+(0|a[(i=r+98|0)>>0])|0,n[i>>0]=f>>>0>255?255+(f>>>31)|0:f,f=r+99|0,s=((r=o-s|0)>>3)+(0|a[f>>0])|0,n[f>>0]=s>>>0>255?255+(s>>>31)|0:s}function lr(e,r){Ar(e|=0,r|=0,1),Ar(e+64|0,r+128|0,1)}function cr(e,r){r|=0;var i=0;0|t[(e|=0)>>1]&&ur(e,r),0|t[(i=e+32|0)>>1]&&ur(i,r+4|0),0|t[(i=e+64|0)>>1]&&ur(i,r+128|0),0|t[(i=e+96|0)>>1]&&ur(i,r+132|0)}function dr(e,r,i,n,t){Lr(e|=0,r|=0,1,16,i|=0,n|=0,t|=0)}function vr(e,r,i,n,t){var o,a;Dr(a=(e|=0)+(o=(r|=0)<<2)|0,r,1,16,i|=0,n|=0,t|=0),Dr(e=a+o|0,r,1,16,i,n,t),Dr(e+o|0,r,1,16,i,n,t)}function gr(e,r,i,n,t){Lr(e|=0,1,r|=0,16,i|=0,n|=0,t|=0)}function br(e,r,i,n,t,o){r|=0,Lr(e|=0,i|=0,1,8,n|=0,t|=0,o|=0),Lr(r,i,1,8,n,t,o)}function hr(e,r,i,n,t,o){r|=0;var a;Dr((e|=0)+(a=(i|=0)<<2)|0,i,1,8,n|=0,t|=0,o|=0),Dr(r+a|0,i,1,8,n,t,o)}function wr(e,r,i){e|=0;var t,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0;t=(i|=0)<<1|1,i=0|l(r|=0,-2),f=0-r|0,A=0|o[2027],u=0|o[2024],s=0|o[2025],c=0|o[2026],d=0;do{b=0|a[(g=(v=e+d|0)+f|0)>>0],h=0|a[v>>0],w=(0|a[v+i>>0])-(0|a[v+r>>0])|0,((a[A+(b-h)>>0]<<2)+(0|a[A+w>>0])|0)<=(0|t)&&(k=(3*(h-b|0)|0)+(0|n[u+w>>0])|0,m=0|n[s+((w=k+4|0)>>3)>>0],w=k+3|0,n[g>>0]=0|n[c+((0|n[s+(w>>3)>>0])+b)>>0],n[v>>0]=0|n[c+(h-m)>>0]),d=d+1|0}while(16!=(0|d))}function kr(e,r,i){e|=0,r|=0;var t,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0;t=(i|=0)<<1|1,i=0|o[2027],f=0|o[2024],A=0|o[2025],u=0|o[2026],s=0;do{c=e+(0|l(s,r))|0,v=0|a[(d=c+-1|0)>>0],g=0|a[c>>0],b=(0|a[c+-2>>0])-(0|a[c+1>>0])|0,((a[i+(v-g)>>0]<<2)+(0|a[i+b>>0])|0)<=(0|t)&&(h=(3*(g-v|0)|0)+(0|n[f+b>>0])|0,w=0|n[A+((b=h+4|0)>>3)>>0],b=h+3|0,n[d>>0]=0|n[u+((0|n[A+(b>>3)>>0])+v)>>0],n[c>>0]=0|n[u+(g-w)>>0]),s=s+1|0}while(16!=(0|s))}function mr(e,r,i){e|=0;var t,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0;d=(r|=0)<<2,t=(i|=0)<<1|1,i=0|l(r,-2),f=0-r|0,A=0|o[2027],u=0|o[2024],s=0|o[2025],c=0|o[2026],v=e+d|0,e=0;do{h=0|a[(b=(g=v+e|0)+f|0)>>0],w=0|a[g>>0],k=(0|a[g+i>>0])-(0|a[g+r>>0])|0,((a[A+(h-w)>>0]<<2)+(0|a[A+k>>0])|0)<=(0|t)&&(m=(3*(w-h|0)|0)+(0|n[u+k>>0])|0,C=0|n[s+((k=m+4|0)>>3)>>0],k=m+3|0,n[b>>0]=0|n[c+((0|n[s+(k>>3)>>0])+h)>>0],n[g>>0]=0|n[c+(w-C)>>0]),e=e+1|0}while(16!=(0|e));e=v+d|0,v=0;do{g=0|a[(w=(C=e+v|0)+f|0)>>0],h=0|a[C>>0],k=(0|a[C+i>>0])-(0|a[C+r>>0])|0,((a[A+(g-h)>>0]<<2)+(0|a[A+k>>0])|0)<=(0|t)&&(b=(3*(h-g|0)|0)+(0|n[u+k>>0])|0,m=0|n[s+((k=b+4|0)>>3)>>0],k=b+3|0,n[w>>0]=0|n[c+((0|n[s+(k>>3)>>0])+g)>>0],n[C>>0]=0|n[c+(h-m)>>0]),v=v+1|0}while(16!=(0|v));v=e+d|0,d=0;do{h=0|a[(m=(e=v+d|0)+f|0)>>0],C=0|a[e>>0],g=(0|a[e+i>>0])-(0|a[e+r>>0])|0,((a[A+(h-C)>>0]<<2)+(0|a[A+g>>0])|0)<=(0|t)&&(k=(3*(C-h|0)|0)+(0|n[u+g>>0])|0,w=0|n[s+((g=k+4|0)>>3)>>0],g=k+3|0,n[m>>0]=0|n[c+((0|n[s+(g>>3)>>0])+h)>>0],n[e>>0]=0|n[c+(C-w)>>0]),d=d+1|0}while(16!=(0|d))}function Cr(e,r,i){e|=0,r|=0;var t,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0;t=(i|=0)<<1|1,i=0|o[2027],f=0|o[2024],A=0|o[2025],u=0|o[2026],s=e+4|0,c=0;do{d=s+(0|l(c,r))|0,g=0|a[(v=d+-1|0)>>0],b=0|a[d>>0],h=(0|a[d+-2>>0])-(0|a[d+1>>0])|0,((a[i+(g-b)>>0]<<2)+(0|a[i+h>>0])|0)<=(0|t)&&(w=(3*(b-g|0)|0)+(0|n[f+h>>0])|0,k=0|n[A+((h=w+4|0)>>3)>>0],h=w+3|0,n[v>>0]=0|n[u+((0|n[A+(h>>3)>>0])+g)>>0],n[d>>0]=0|n[u+(b-k)>>0]),c=c+1|0}while(16!=(0|c));c=e+8|0,s=0;do{k=c+(0|l(s,r))|0,d=0|a[(b=k+-1|0)>>0],g=0|a[k>>0],h=(0|a[k+-2>>0])-(0|a[k+1>>0])|0,((a[i+(d-g)>>0]<<2)+(0|a[i+h>>0])|0)<=(0|t)&&(v=(3*(g-d|0)|0)+(0|n[f+h>>0])|0,w=0|n[A+((h=v+4|0)>>3)>>0],h=v+3|0,n[b>>0]=0|n[u+((0|n[A+(h>>3)>>0])+d)>>0],n[k>>0]=0|n[u+(g-w)>>0]),s=s+1|0}while(16!=(0|s));s=e+12|0,e=0;do{c=s+(0|l(e,r))|0,g=0|a[(w=c+-1|0)>>0],k=0|a[c>>0],d=(0|a[c+-2>>0])-(0|a[c+1>>0])|0,((a[i+(g-k)>>0]<<2)+(0|a[i+d>>0])|0)<=(0|t)&&(h=(3*(k-g|0)|0)+(0|n[f+d>>0])|0,b=0|n[A+((d=h+4|0)>>3)>>0],d=h+3|0,n[w>>0]=0|n[u+((0|n[A+(d>>3)>>0])+g)>>0],n[c>>0]=0|n[u+(k-b)>>0]),e=e+1|0}while(16!=(0|e))}function pr(e,r,i,n,t){Dr((e|=0)+4|0,1,r|=0,16,i|=0,n|=0,t|=0),Dr(e+8|0,1,r,16,i,n,t),Dr(e+12|0,1,r,16,i,n,t)}function Ir(e,r,i,n,t,o){r|=0,Lr(e|=0,1,i|=0,8,n|=0,t|=0,o|=0),Lr(r,1,i,8,n,t,o)}function yr(e,r,i,n,t,o){r|=0,Dr((e|=0)+4|0,1,i|=0,8,n|=0,t|=0,o|=0),Dr(r+4|0,1,i,8,n,t,o)}function Er(e,r,i){e|=0,r|=0;var t=0,o=0,f=0,A=0,u=0,s=0,l=0;if(1!=(0|(i|=0)))for(f=r,r=0,t=e;o=((e=(0|a[t>>0])-120|0)>>4)+(0|a[f>>0])|0,n[f>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[t+1>>0])-120|0)>>4)+(0|a[(e=f+1|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[t+2>>0])-120|0)>>4)+(0|a[(e=f+2|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[t+3>>0])-120|0)>>4)+(0|a[(e=f+3|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[t+4>>0])-120|0)>>4)+(0|a[(e=f+4|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[t+5>>0])-120|0)>>4)+(0|a[(e=f+5|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[t+6>>0])-120|0)>>4)+(0|a[(e=f+6|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[t+7>>0])-120|0)>>4)+(0|a[(e=f+7|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,8!=(0|(r=r+1|0));)f=f+i|0,t=t+8|0;else for(t=r,o=0,f=e,A=0|n[r+6>>0];s=((u=(0|a[f>>0])-120|0)>>4)+(0|a[t>>0])|0,n[t>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+1>>0])-120|0)>>4)+(0|a[(u=t+1|0)>>0])|0,n[u>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((l=(0|a[f+2>>0])-120|0)>>4)+(0|a[(u=t+2|0)>>0])|0,n[u>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+3>>0])-120|0)>>4)+(0|a[(u=t+3|0)>>0])|0,n[u>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((l=(0|a[f+4>>0])-120|0)>>4)+(0|a[(u=t+4|0)>>0])|0,n[u>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+5>>0])-120|0)>>4)+(0|a[(u=t+5|0)>>0])|0,n[u>>0]=l>>>0>255?255+(l>>>31)|0:l,u=((l=(0|a[f+6>>0])-120|0)>>4)+(255&A)|0,n[t+6>>0]=u>>>0>255?255+(u>>>31)|0:u,A=255&((s=((u=(0|a[f+7>>0])-120|0)>>4)+(0|a[(l=t+7|0)>>0])|0)>>>0>255?255+(s>>>31)|0:s),n[l>>0]=A,8!=(0|(o=o+1|0));)t=t+i|0,f=f+8|0}function Dr(e,r,i,t,f,A,u){e|=0,r|=0,i|=0,A|=0,u|=0;var s,c,d,v,g,b,h,w,k,m,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0;if(s=(f|=0)<<1|1,!((0|(t|=0))<=0))for(f=0|l(r,-3),c=0|l(r,-2),d=0-r|0,v=r<<1,g=3*r|0,b=0|o[2027],h=0|l(r,-4),w=0|o[2024],k=0|o[2025],m=0|o[2026],C=e,e=t;;){t=e,e=e+-1|0,p=0|a[C+f>>0],y=0|a[(I=C+c|0)>>0],D=0|a[(E=C+d|0)>>0],L=0|a[C>>0],S=0|a[(x=C+r|0)>>0],B=0|a[C+v>>0],M=0|a[C+g>>0],F=y-S|0;do{if(((a[b+(D-L)>>0]<<2)+(0|a[b+F>>0])|0)<=(0|s)&&(0|a[b+((0|a[C+h>>0])-p)>>0])<=(0|A)&&(0|a[b+(p-y)>>0])<=(0|A)&&(0|(_=0|a[b+(y-D)>>0]))<=(0|A)&&(0|a[b+(M-B)>>0])<=(0|A)&&(0|a[b+(B-S)>>0])<=(0|A)&&(0|(P=0|a[b+(S-L)>>0]))<=(0|A)){if(R=3*(L-D|0)|0,(0|_)>(0|u)|(0|P)>(0|u)){P=R+(0|n[w+F>>0])|0,T=0|n[k+((_=P+4|0)>>3)>>0],_=P+3|0,n[E>>0]=0|n[m+((0|n[k+(_>>3)>>0])+D)>>0],n[C>>0]=0|n[m+(L-T)>>0];break}_=0|n[k+((T=R+4|0)>>3)>>0],R=0|n[k+((T=R+3|0)>>3)>>0],P=(T=_+1|0)>>1,n[I>>0]=0|n[m+(P+y)>>0],n[E>>0]=0|n[m+(R+D)>>0],n[C>>0]=0|n[m+(L-_)>>0],n[x>>0]=0|n[m+(S-P)>>0];break}}while(0);if((0|t)<=1)break;C=C+i|0}}function Lr(e,r,i,t,f,A,u){e|=0,r|=0,i|=0,A|=0,u|=0;var s,c,d,v,g,b,h,w,k,m,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0;if(s=(f|=0)<<1|1,!((0|(t|=0))<=0))for(f=0|l(r,-3),c=0|l(r,-2),d=0-r|0,v=r<<1,g=3*r|0,b=0|o[2027],h=0|l(r,-4),w=0|o[2024],k=0|o[2025],m=0|o[2026],C=e,e=t;;){t=e,e=e+-1|0,I=0|a[(p=C+f|0)>>0],E=0|a[(y=C+c|0)>>0],L=0|a[(D=C+d|0)>>0],x=0|a[C>>0],B=0|a[(S=C+r|0)>>0],F=0|a[(M=C+v|0)>>0],_=0|a[C+g>>0],P=E-B|0;do{if(((a[b+(L-x)>>0]<<2)+(0|a[b+P>>0])|0)<=(0|s)&&(0|a[b+((0|a[C+h>>0])-I)>>0])<=(0|A)&&(0|a[b+(I-E)>>0])<=(0|A)&&(0|(R=0|a[b+(E-L)>>0]))<=(0|A)&&(0|a[b+(_-F)>>0])<=(0|A)&&(0|a[b+(F-B)>>0])<=(0|A)&&(0|(T=0|a[b+(B-x)>>0]))<=(0|A)){if(G=(3*(x-L|0)|0)+(0|n[w+P>>0])|0,(0|R)>(0|u)|(0|T)>(0|u)){R=0|n[k+((T=G+4|0)>>3)>>0],T=G+3|0,n[D>>0]=0|n[m+((0|n[k+(T>>3)>>0])+L)>>0],n[C>>0]=0|n[m+(x-R)>>0];break}T=(G=63+(27*(R=0|n[w+G>>0])|0)|0)>>7,O=(G=63+(18*R|0)|0)>>7,R=(G=63+(9*R|0)|0)>>7,n[p>>0]=0|n[m+(R+I)>>0],n[y>>0]=0|n[m+(O+E)>>0],n[D>>0]=0|n[m+(T+L)>>0],n[C>>0]=0|n[m+(x-T)>>0],n[S>>0]=0|n[m+(B-O)>>0],n[M>>0]=0|n[m+(F-R)>>0];break}}while(0);if((0|t)<=1)break;C=C+i|0}}function xr(e,r){r|=0;var i,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0;i=O,O=O+64|0,f=i,A=0|t[(e|=0)>>1],s=(u=0|t[e+16>>1])+A|0,l=A-u|0,v=((A=35468*(u=0|t[e+8>>1])|0)>>16)-(c=0|t[e+24>>1])-((d=20091*c|0)>>16)|0,c=((d=20091*u|0)>>16)+u+((A=35468*c|0)>>16)|0,o[f>>2]=c+s,o[(A=f+4|0)>>2]=v+l,o[f+8>>2]=l-v,o[f+12>>2]=s-c,c=0|t[e+2>>1],v=(s=0|t[e+18>>1])+c|0,l=c-s|0,g=((c=35468*(s=0|t[e+10>>1])|0)>>16)-(u=0|t[e+26>>1])-((d=20091*u|0)>>16)|0,c=(u=((d=20091*s|0)>>16)+s+((c=35468*u|0)>>16)|0)+v|0,o[f+16>>2]=c,o[f+20>>2]=g+l,o[f+24>>2]=l-g,o[f+28>>2]=v-u,u=0|t[e+4>>1],g=(v=0|t[e+20>>1])+u|0,l=u-v|0,b=((u=35468*(v=0|t[e+12>>1])|0)>>16)-(s=0|t[e+28>>1])-((d=20091*s|0)>>16)|0,u=(s=((d=20091*v|0)>>16)+v+((u=35468*s|0)>>16)|0)+g|0,o[f+32>>2]=u,o[f+36>>2]=b+l,o[f+40>>2]=l-b,o[f+44>>2]=g-s,s=0|t[e+6>>1],b=(g=0|t[e+22>>1])+s|0,l=s-g|0,d=((s=35468*(g=0|t[e+14>>1])|0)>>16)-(v=0|t[e+30>>1])-((e=20091*v|0)>>16)|0,s=(v=((e=20091*g|0)>>16)+g+((s=35468*v|0)>>16)|0)+b|0,o[f+48>>2]=s,g=d+l|0,o[f+52>>2]=g,o[f+56>>2]=l-d,o[f+60>>2]=b-v,b=(v=4+(0|o[f>>2])|0)+u|0,d=v-u|0,l=((u=35468*c|0)>>16)-s-((v=20091*s|0)>>16)|0,c=((u=(s=((v=20091*c|0)>>16)+c+((u=35468*s|0)>>16)|0)+b|0)>>3)+(0|a[r>>0])|0,n[r>>0]=c>>>0>255?255+(c>>>31)|0:c,v=((u=l+d|0)>>3)+(0|a[(c=r+1|0)>>0])|0,n[c>>0]=v>>>0>255?255+(v>>>31)|0:v,l=((c=d-l|0)>>3)+(0|a[(v=r+2|0)>>0])|0,n[v>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((v=b-s|0)>>3)+(0|a[(l=r+3|0)>>0])|0,n[l>>0]=s>>>0>255?255+(s>>>31)|0:s,s=r+32|0,v=(l=4+(0|o[A>>2])|0)+(A=0|o[f+36>>2])|0,b=l-A|0,d=((l=35468*(A=0|o[f+20>>2])|0)>>16)-g-((c=20091*g|0)>>16)|0,A=((l=(g=((c=20091*A|0)>>16)+A+((l=35468*g|0)>>16)|0)+v|0)>>3)+(0|a[s>>0])|0,n[s>>0]=A>>>0>255?255+(A>>>31)|0:A,l=((s=d+b|0)>>3)+(0|a[(A=r+33|0)>>0])|0,n[A>>0]=l>>>0>255?255+(l>>>31)|0:l,d=((A=b-d|0)>>3)+(0|a[(l=r+34|0)>>0])|0,n[l>>0]=d>>>0>255?255+(d>>>31)|0:d,g=((l=v-g|0)>>3)+(0|a[(d=r+35|0)>>0])|0,n[d>>0]=g>>>0>255?255+(g>>>31)|0:g,g=r+64|0,v=(d=4+(0|o[f+8>>2])|0)+(l=0|o[f+40>>2])|0,A=d-l|0,c=((d=35468*(l=0|o[f+24>>2])|0)>>16)-(b=0|o[f+56>>2])-((s=20091*b|0)>>16)|0,l=((d=(b=((s=20091*l|0)>>16)+l+((d=35468*b|0)>>16)|0)+v|0)>>3)+(0|a[g>>0])|0,n[g>>0]=l>>>0>255?255+(l>>>31)|0:l,d=((g=c+A|0)>>3)+(0|a[(l=r+65|0)>>0])|0,n[l>>0]=d>>>0>255?255+(d>>>31)|0:d,c=((l=A-c|0)>>3)+(0|a[(d=r+66|0)>>0])|0,n[d>>0]=c>>>0>255?255+(c>>>31)|0:c,b=((d=v-b|0)>>3)+(0|a[(c=r+67|0)>>0])|0,n[c>>0]=b>>>0>255?255+(b>>>31)|0:b,b=r+96|0,v=(c=4+(0|o[f+12>>2])|0)+(d=0|o[f+44>>2])|0,l=c-d|0,g=((c=35468*(d=0|o[f+28>>2])|0)>>16)-(A=0|o[f+60>>2])-((f=20091*A|0)>>16)|0,d=((c=(A=((f=20091*d|0)>>16)+d+((c=35468*A|0)>>16)|0)+v|0)>>3)+(0|a[b>>0])|0,n[b>>0]=d>>>0>255?255+(d>>>31)|0:d,c=((b=g+l|0)>>3)+(0|a[(d=r+97|0)>>0])|0,n[d>>0]=c>>>0>255?255+(c>>>31)|0:c,g=((d=l-g|0)>>3)+(0|a[(c=r+98|0)>>0])|0,n[c>>0]=g>>>0>255?255+(g>>>31)|0:g,g=r+99|0,A=((r=v-A|0)>>3)+(0|a[g>>0])|0,n[g>>0]=A>>>0>255?255+(A>>>31)|0:A,O=i}function Sr(e,r,i,n){r|=0;var t;if(0==(0|(e|=0))|0==(0|(i|=0))|512!=(-256&(n|=0)|0))return 0|2;t=(n=i)+40|0;do{o[n>>2]=0,n=n+4|0}while((0|n)<(0|t));return 0|(0|Br(e,r,i,i+4|0,i+8|0,i+12|0,i+16|0,0))}function Br(e,r,i,n,t,f,A,u){r|=0,i|=0,n|=0,t|=0,f|=0,A|=0,u|=0;var s,c,d,v,g,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0;if(s=O,O=O+16|0,d=s,v=e|=0,o[(c=s+4|0)>>2]=0,o[d>>2]=0,b=(g=0!=(0|u))?0|o[u+8>>2]:0,0==(0|e)|r>>>0<12)return O=s,0|(h=7);if(0|ai(e,8828,4))m=r,C=v,p=0,I=0;else{if(0|ai(e+8|0,8833,4))return O=s,0|(h=3);if(((w=(0|a[e+5>>0])<<8|0|a[e+4>>0]|((0|a[e+7>>0])<<8|0|a[e+6>>0])<<16)+-12|0)>>>0>4294967274)return O=s,0|(h=3);if((k=r+-12|0)>>>0<8|0!=(0|b)&w>>>0>(r+-8|0)>>>0)return O=s,0|(h=7);m=k,C=e+12|0,p=w,I=1}if(0|ai(w=C,8838,4))L=0,x=0,S=0,B=0,M=m,F=0,_=C,P=0,R=0;else{if(10!=((0|a[w+5>>0])<<8|0|a[w+4>>0]|((0|a[w+7>>0])<<8|0|a[w+6>>0])<<16|0))return O=s,0|(h=3);if(m>>>0<18)return O=s,0|(h=7);if(e=0|a[w+8>>0],k=1+((0|a[w+13>>0])<<8|0|a[w+12>>0]|(0|a[w+14>>0])<<16)|0,y=1+((0|a[w+16>>0])<<8|0|a[w+15>>0]|(0|a[w+17>>0])<<16)|0,E=0|l(k,y),!(D=0==(0|y))&&(0|(E>>>0)/((D?1:y)>>>0))!=(0|k))return O=s,0|(h=3);if(!I)return O=s,0|(h=3);L=e,x=1,S=y,B=k,M=m+-18|0,F=(D=2&e)>>>1,_=w+18|0,P=0!=(0|D),R=1}(C=0==(0|t))||(o[t>>2]=L>>>4&1),0|f&&(o[f>>2]=F),(f=0==(0|A))||(o[A>>2]=0),o[c>>2]=B,o[d>>2]=S,L=0==(0|u);e:do{if(L&R&P)ee=0;else{r:do{if(M>>>0>=4){I&0!=(0|x)?(T=_,G=25):0==(x|p|0)&&0==(0|ai(m=_,8843,4))?(T=m,G=25):(q=M,Y=_,U=0,z=0);i:do{if(25==(0|G)){if(M>>>0<8){W=0;break r}if(!p){for(m=T,D=M,w=_,k=0,y=0;;){if((e=(0|a[m+5>>0])<<8|0|a[m+4>>0]|((0|a[m+7>>0])<<8|0|a[m+6>>0])<<16)>>>0>4294967286){h=3;break}if(E=e+9&-2,!(0|ai(m,8848,4))){q=D,Y=w,U=k,z=y;break i}if(!(0|ai(m,8853,4))){q=D,Y=w,U=k,z=y;break i}if(D>>>0>>0){W=y;break r}if(Q=(X=0==(0|ai(m,8843,4)))?m+8|0:y,N=m+E|0,(V=D-E|0)>>>0<8){W=Q;break r}m=N,D=V,w=N,k=X?e:k,y=Q}return O=s,0|h}for(y=T,k=22,w=M,D=_,m=0,Q=0;;){if((e=(0|a[y+5>>0])<<8|0|a[y+4>>0]|((0|a[y+7>>0])<<8|0|a[y+6>>0])<<16)>>>0>4294967286){h=3,G=65;break}if((N=(X=e+9&-2)+k|0)>>>0>p>>>0){h=3,G=65;break}if(!(0|ai(y,8848,4))){q=w,Y=D,U=m,z=Q;break i}if(!(0|ai(y,8853,4))){q=w,Y=D,U=m,z=Q;break i}if(w>>>0>>0){W=Q;break r}if(E=(V=0==(0|ai(y,8843,4)))?y+8|0:Q,H=y+X|0,(Z=w-X|0)>>>0<8){W=E;break r}y=H,k=N,w=Z,D=H,m=V?e:m,Q=E}if(65==(0|G))return O=s,0|h}}while(0);if(D=1&(m=0==(0|ai(Q=Y,8853,4))),!(q>>>0<8)){if(m|0==(0|ai(Q,8848,4))){if(p>>>0>11&(m=(0|a[Q+5>>0])<<8|0|a[Q+4>>0]|((0|a[Q+7>>0])<<8|0|a[Q+6>>0])<<16)>>>0>(p+-12|0)>>>0)return O=s,0|(h=3);if(0!=(0|b)&m>>>0>(w=q+-8|0)>>>0){W=z;break}j=w,K=Q+8|0,J=m,$=D}else j=q,K=Y,J=q,$=0|Mr(Q,q);if(J>>>0>4294967286)return O=s,0|(h=3);if(f|0!=(0|F)||(o[A>>2]=0==(0|$)?1:2),$){if(j>>>0<5){W=z;break}if(!(0|_r(K,j,c,d,t)))return O=s,0|(h=3)}else{if(j>>>0<10){W=z;break}if(!(0|Fr(K,j,J,c,d)))return O=s,0|(h=3)}if(0|x&&((0|B)!=(0|o[c>>2])||(0|S)!=(0|o[d>>2])))return O=s,0|(h=3);if(!g){ee=z;break e}o[u>>2]=v,o[u+4>>2]=r,o[(Q=u+8|0)>>2]=0,o[Q+4>>2]=0,o[u+16>>2]=z,o[u+20>>2]=U,o[u+24>>2]=J,o[u+28>>2]=p,o[u+32>>2]=$,o[u+12>>2]=K-v,ee=z;break e}W=z}else W=0}while(0);if(!(L&0!=(0|x)))return O=s,0|(h=7);ee=W}}while(0);return C||(o[t>>2]=o[t>>2]|0!=(0|ee)),0|i&&(o[i>>2]=o[c>>2]),n?(o[n>>2]=o[d>>2],O=s,0|(h=0)):(O=s,0|(h=0))}function Mr(e,r){e|=0;return(r|=0)>>>0<=4||47!=(0|n[e>>0])?0|0:0|(0|a[e+4>>0])<32&1}function Fr(e,r,i,t,f){i|=0,t|=0,f|=0;var A,u,s;return 0==(0|(e|=0))|(r|=0)>>>0<10||-99!=(0|n[e+3>>0])||1!=(0|n[e+4>>0])||42!=(0|n[e+5>>0])?0|0:(r=0|a[e>>0],A=a[e+1>>0]<<8|r|a[e+2>>0]<<16,u=a[e+7>>0]<<8&16128|a[e+6>>0],s=a[e+9>>0]<<8&16128|a[e+8>>0],16==(25&r|0)&A>>>5>>>0>>0?0==(0|u)|0==(0|s)?0|0:(0|t&&(o[t>>2]=u),f?(o[f>>2]=s,0|1):0|1):0|0)}function _r(e,r,i,t,f){i|=0,t|=0,f|=0;var A,u,s=0,l=0;return A=O,O=O+32|0,u=A,0==(0|(e|=0))|(r|=0)>>>0<5||47!=(0|n[e>>0])||(0|a[e+4>>0])>31?(O=A,0|0):(pe(u,e,r),47==(0|ne(u,8))&&(r=1+(0|ne(u,14))|0,e=1+(0|ne(u,14))|0,s=0|ne(u,1),0==(0|ne(u,3)))&&0==(0|o[u+24>>2])?(0|i&&(o[i>>2]=r),0|t&&(o[t>>2]=e),f?(o[f>>2]=s,l=1):l=1):l=0,O=A,0|l)}function Pr(e,r){r|=0;var i,f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0;if(!(e|=0))return 0|0;if(o[e>>2]=0,o[(i=e+8|0)>>2]=8858,!r)return o[e>>2]=2,o[i>>2]=8861,o[e+4>>2]=0,0|0;if(u=0|o[r+64>>2],(s=0|o[r+60>>2])>>>0<4)return o[e>>2]=7,o[i>>2]=8898,o[e+4>>2]=0,0|0;if(l=0|a[u>>0],c=a[u+1>>0]<<8|l|a[u+2>>0]<<16,f=255&(1&l^1),n[(A=e+40|0)>>0]=f,d=l>>>1&7,n[e+41>>0]=d,v=l>>>4&1,n[e+42>>0]=v,l=c>>>5,o[(c=e+44|0)>>2]=l,(255&d)>3)return o[e>>2]=3,o[i>>2]=8916,o[e+4>>2]=0,0|0;if(!(v<<24>>24))return o[e>>2]=4,o[i>>2]=8947,o[e+4>>2]=0,0|0;v=u+3|0,d=s+-3|0;do{if(f<<24>>24){if(d>>>0<7)return o[e>>2]=7,o[i>>2]=8970,o[e+4>>2]=0,0|0;if(-99==(0|n[v>>0])&&1==(0|n[u+4>>0])&&42==(0|n[u+5>>0])){k=a[(w=u+7|0)>>0]<<8&16128|a[u+6>>0],t[e+48>>1]=k,m=0|n[w>>0],n[e+52>>0]=(255&m)>>>6,w=a[(m=u+9|0)>>0]<<8&16128|a[u+8>>0],t[e+50>>1]=w,C=0|n[m>>0],n[e+53>>0]=(255&C)>>>6,C=k+15|0,o[e+288>>2]=C>>>4,C=w+15|0,o[e+292>>2]=C>>>4,o[r>>2]=k,o[r+4>>2]=w,o[r+72>>2]=0,o[r+84>>2]=0,o[r+76>>2]=0,o[r+80>>2]=k,o[r+88>>2]=w,o[r+92>>2]=0,o[r+96>>2]=k,o[r+100>>2]=w,o[r+12>>2]=k,o[r+16>>2]=w,Ur(e+904|0),o[e+104>>2]=0,o[e+108>>2]=0,o[e+112>>2]=1,o[e+116>>2]=0,o[e+120>>2]=0,g=u+10|0,b=s+-10|0,h=0|o[c>>2];break}return o[e>>2]=3,o[i>>2]=8998,o[e+4>>2]=0,0|0}g=v,b=d,h=l}while(0);if(h>>>0>b>>>0)return 0|o[e>>2]||(o[e>>2]=7,o[i>>2]=9012,o[e+4>>2]=0),0|0;if(zr(s=e+12|0,g,h),c=g+(h=0|o[c>>2])|0,u=b-h|0,0|n[A>>0]&&(h=255&(0|Wr(s,1)),n[e+54>>0]=h,h=255&(0|Wr(s,1)),n[e+55>>0]=h),h=0|Wr(s,1),o[e+104>>2]=h,h?(h=0|Wr(s,1),o[(r=e+108|0)>>2]=h,0|Wr(s,1)&&(h=0|Wr(s,1),o[e+112>>2]=h,p=0|Wr(s,1)?255&(0|Xr(s,7)):0,n[e+116>>0]=p,I=0|Wr(s,1)?255&(0|Xr(s,7)):0,n[e+117>>0]=I,y=0|Wr(s,1)?255&(0|Xr(s,7)):0,n[e+118>>0]=y,E=0|Wr(s,1)?255&(0|Xr(s,7)):0,n[e+119>>0]=E,D=0|Wr(s,1)?255&(0|Xr(s,6)):0,n[e+120>>0]=D,L=0|Wr(s,1)?255&(0|Xr(s,6)):0,n[e+121>>0]=L,x=0|Wr(s,1)?255&(0|Xr(s,6)):0,n[e+122>>0]=x,S=0|Wr(s,1)?255&(0|Xr(s,6)):0,n[e+123>>0]=S),0|o[r>>2]&&(B=0|Wr(s,1)?255&(0|Wr(s,8)):-1,n[e+904>>0]=B,M=0|Wr(s,1)?255&(0|Wr(s,8)):-1,n[e+905>>0]=M,F=0|Wr(s,1)?255&(0|Wr(s,8)):-1,n[e+906>>0]=F)):o[e+108>>2]=0,0|o[(F=e+36|0)>>2])return 0|o[e>>2]||(o[e>>2]=3,o[i>>2]=9033,o[e+4>>2]=0),0|0;M=0|Wr(s,1),o[(B=e+56|0)>>2]=M,M=0|Wr(s,6),o[(r=e+60|0)>>2]=M,M=0|Wr(s,3),o[e+64>>2]=M,M=0|Wr(s,1),o[e+68>>2]=M;do{if(0|M&&0|Wr(s,1)){if(0|Wr(s,1)&&(S=0|Xr(s,6),o[e+72>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+76>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+80>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+84>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+88>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+92>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+96>>2]=S),!(0|Wr(s,1)))break;S=0|Xr(s,6),o[e+100>>2]=S}}while(0);if(_=0|o[r>>2]?0==(0|o[B>>2])?2:1:0,o[e+2308>>2]=_,0|o[F>>2])return 0|o[e>>2]||(o[e>>2]=3,o[i>>2]=9061,o[e+4>>2]=0),0|0;if(F=g+b|0,b=(1<<(0|Wr(s,2)))-1|0,o[e+312>>2]=b,u>>>0>=(g=3*b|0)>>>0){if(_=c+g|0,B=u-g|0,b)for(g=0,u=B,B=_,_=c;;){if(zr(e+316+(28*g|0)|0,B,r=(c=a[_+1>>0]<<8|a[_>>0]|a[_+2>>0]<<16)>>>0>u>>>0?u:c),c=B+r|0,M=u-r|0,(0|(g=g+1|0))==(0|b)){P=M,R=c;break}u=M,B=c,_=_+3|0}else P=B,R=_;if(zr(e+316+(28*b|0)|0,R,P),R>>>0>>0)return Qr(e),0|n[A>>0]?(Wr(s,1),Nr(s,e),o[e+4>>2]=1,0|1):(0|o[e>>2]||(o[e>>2]=4,o[i>>2]=9112,o[e+4>>2]=0),0|0);T=5}else T=7;return 0|o[e>>2]||(o[e>>2]=T,o[i>>2]=9088,o[e+4>>2]=0),0|0}function Rr(e,r){e|=0;var i,t,f,A,u,s,d,v,g,b,h,w,k,m,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0;if((0|o[(i=(r|=0)+288|0)>>2])<=0)return 0|1&0==(0|(0|o[(r+36|0)>>2]));t=r+2244|0,f=r+2248|0,A=r+2304|0,u=r+108|0,s=r+2236|0,d=r+904|0,v=e+4|0,g=e+8|0,b=r+2240|0,h=e+12|0,w=e+20|0,k=r+906|0,m=r+905|0,C=0;do{if(p=(0|o[t>>2])+(C<<2)|0,I=0|o[A>>2],0|o[u>>2]){E=0|a[d>>0],D=0|o[v>>2],L=0|o[g>>2];do{if((0|L)<0){if((x=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){S=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[h>>2]=x+3,x=0|Ri(0|S),o[e>>2]=o[e>>2]<<24|x>>>8,x=L+24|0,o[g>>2]=x,B=x;break}Yr(e),B=0|o[g>>2];break}B=L}while(0);if(x=(L=0|l(D,E))>>>8,L=0|o[e>>2],(S=(B?L>>>B:L)>>>0>x>>>0)?(M=L-(x+1<>2]=M,F=D-x|0,_=M):(F=x+1|0,_=L),x=B-(L=24^(0|c(0|F)))|0,o[g>>2]=x,M=(F<>2]=M,S){S=0|a[k>>0];do{if((0|x)<0){if((L=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){P=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[h>>2]=L+3,P=(L=0|Ri(0|P))>>>8|_<<24,o[e>>2]=P,L=x+24|0,o[g>>2]=L,R=P,T=L;break}Yr(e),R=0|o[e>>2],T=0|o[g>>2];break}R=_,T=x}while(0);(D=(T?R>>>T:R)>>>0>(E=(D=0|l(M,S))>>>8)>>>0)?(o[e>>2]=R-(E+1<>2]=T-E,o[v>>2]=(G<>0];do{if((0|x)<0){if((E=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){L=a[E>>0]|a[E+1>>0]<<8|a[E+2>>0]<<16|a[E+3>>0]<<24,o[h>>2]=E+3,L=(E=0|Ri(0|L))>>>8|_<<24,o[e>>2]=L,E=x+24|0,o[g>>2]=E,q=L,Y=E;break}Yr(e),q=0|o[e>>2],Y=0|o[g>>2];break}q=_,Y=x}while(0);(x=(Y?q>>>Y:q)>>>0>(S=(x=0|l(M,D))>>>8)>>>0)?(o[e>>2]=q-(S+1<>2]=Y-S,o[v>>2]=(U<>0]=y,0|o[s>>2]){x=0|a[b>>0],S=0|o[v>>2],E=0|o[g>>2];do{if((0|E)<0){if((L=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){P=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[h>>2]=L+3,L=0|Ri(0|P),o[e>>2]=o[e>>2]<<24|L>>>8,L=E+24|0,o[g>>2]=L,X=L;break}Yr(e),X=0|o[g>>2];break}X=E}while(0);M=(E=0|l(S,x))>>>8,E=0|o[e>>2],(D=(X?E>>>X:E)>>>0>M>>>0)?(o[e>>2]=E-(M+1<>2]=E,L=(Q<>2]=L,n[I+(800*C|0)+797>>0]=1&D,z=E,W=L}else z=0|o[g>>2],W=0|o[v>>2];do{if((0|z)<0){if((L=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){E=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[h>>2]=L+3,L=0|Ri(0|E),o[e>>2]=o[e>>2]<<24|L>>>8,L=z+24|0,o[g>>2]=L,N=L;break}Yr(e),N=0|o[g>>2];break}N=z}while(0);if(x=(S=145*W|0)>>>8,S=0|o[e>>2],(L=(N?S>>>N:S)>>>0>x>>>0)?(E=S-(x+1<>2]=E,V=W-x|0,H=E):(V=x+1|0,H=S),x=N-(S=24^(0|c(0|V)))|0,o[g>>2]=x,E=(V<>2]=E,n[I+(800*C|0)+768>>0]=1&(1^L),L){do{if((0|x)<0){if((L=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){S=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[h>>2]=L+3,S=(L=0|Ri(0|S))>>>8|H<<24,o[e>>2]=S,L=x+24|0,o[g>>2]=L,Z=S,j=L;break}Yr(e),Z=0|o[e>>2],j=0|o[g>>2];break}Z=H,j=x}while(0);if((x=(j?Z>>>j:Z)>>>0>(L=(x=156*E|0)>>>8)>>>0)?(S=Z-(L+1<>2]=S,K=E-L|0,J=S):(K=L+1|0,J=Z),S=j-(L=24^(0|c(0|K)))|0,o[g>>2]=S,D=(K<>2]=D,L=(0|S)<0,x){do{if(L){if((x=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){M=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[h>>2]=x+3,M=(x=0|Ri(0|M))>>>8|J<<24,o[e>>2]=M,x=S+24|0,o[g>>2]=x,$=M,ee=x;break}Yr(e),$=0|o[e>>2],ee=0|o[g>>2];break}$=J,ee=S}while(0);(x=(ee?$>>>ee:$)>>>0>(E=D>>>1&16777215)>>>0)?(o[e>>2]=$-(E+1<>2]=ee-E,o[v>>2]=(re<>2])>>>0<(0|o[w>>2])>>>0){E=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[h>>2]=x+3,E=(x=0|Ri(0|E))>>>8|J<<24,o[e>>2]=E,x=S+24|0,o[g>>2]=x,ne=E,te=x;break}Yr(e),ne=0|o[e>>2],te=0|o[g>>2];break}ne=J,te=S}while(0);(S=(te?ne>>>te:ne)>>>0>(L=(S=163*D|0)>>>8)>>>0)?(o[e>>2]=ne-(L+1<>2]=te-L,o[v>>2]=(oe<>0]=S,Oi(0|p,0|S,4),Oi(0|f,0|S,4)}else for(S=I+(800*C|0)+769|0,L=0;;){E=0,M=0|a[(x=r+2248+L|0)>>0];do{ae=0|a[(P=p+E|0)>>0],fe=0|a[4144+(90*ae|0)+(9*M|0)>>0],Ae=0|o[v>>2],ue=0|o[g>>2];do{if((0|ue)<0){if((se=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){le=a[se>>0]|a[se+1>>0]<<8|a[se+2>>0]<<16|a[se+3>>0]<<24,o[h>>2]=se+3,se=0|Ri(0|le),o[e>>2]=o[e>>2]<<24|se>>>8,se=ue+24|0,o[g>>2]=se,ce=se;break}Yr(e),ce=0|o[g>>2];break}ce=ue}while(0);if(se=(ue=0|l(Ae,fe))>>>8,ue=0|o[e>>2],de=1&(le=(ce?ue>>>ce:ue)>>>0>se>>>0),le?(le=ue-(se+1<>2]=le,ve=Ae-se|0,ge=le):(ve=se+1|0,ge=ue),se=ce-(ue=24^(0|c(0|ve)))|0,o[g>>2]=se,le=(ve<>2]=le,ue=0|n[5056+de>>0],1&(de?41706>>>de:41706)){for(de=ue,ue=se,se=ge,he=le;;){le=de<<1,we=0|a[4144+(90*ae|0)+(9*M|0)+de>>0];do{if((0|ue)<0){if((ke=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){me=a[ke>>0]|a[ke+1>>0]<<8|a[ke+2>>0]<<16|a[ke+3>>0]<<24,o[h>>2]=ke+3,me=(ke=0|Ri(0|me))>>>8|se<<24,o[e>>2]=me,ke=ue+24|0,o[g>>2]=ke,Ce=me,pe=ke;break}Yr(e),Ce=0|o[e>>2],pe=0|o[g>>2];break}Ce=se,pe=ue}while(0);if((ke=(pe?Ce>>>pe:Ce)>>>0>(me=(ke=0|l(he,we))>>>8)>>>0)?(Ie=Ce-(me+1<>2]=Ie,ye=he-me|0,Ee=Ie):(ye=me+1|0,Ee=Ce),ue=pe-(me=24^(0|c(0|ye)))|0,o[g>>2]=ue,he=(ye<>2]=he,De=0|n[5056+(me=le|1&ke)>>0],!(1&(me?41706>>>me:41706)))break;de=De<<24>>24,se=Ee}be=De<<24>>24}else be=ue;Le=255&(M=0-be|0),n[P>>0]=Le,E=E+1|0}while(4!=(0|E));if(E=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,n[S>>0]=E,n[S+1>>0]=E>>8,n[S+2>>0]=E>>16,n[S+3>>0]=E>>24,n[x>>0]=Le,4==(0|(L=L+1|0)))break;S=S+4|0}S=0|o[v>>2],L=0|o[g>>2];do{if((0|L)<0){if((p=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){D=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,o[h>>2]=p+3,p=0|Ri(0|D),o[e>>2]=o[e>>2]<<24|p>>>8,p=L+24|0,o[g>>2]=p,xe=p;break}Yr(e),xe=0|o[g>>2];break}xe=L}while(0);if(p=(L=142*S|0)>>>8,L=0|o[e>>2],(D=(xe?L>>>xe:L)>>>0>p>>>0)?(E=L-(p+1<>2]=E,Se=S-p|0,Be=E):(Se=p+1|0,Be=L),p=xe-(L=24^(0|c(0|Se)))|0,o[g>>2]=p,E=(Se<>2]=E,D){do{if((0|p)<0){if((D=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){L=a[D>>0]|a[D+1>>0]<<8|a[D+2>>0]<<16|a[D+3>>0]<<24,o[h>>2]=D+3,L=(D=0|Ri(0|L))>>>8|Be<<24,o[e>>2]=L,D=p+24|0,o[g>>2]=D,Me=L,Fe=D;break}Yr(e),Me=0|o[e>>2],Fe=0|o[g>>2];break}Me=Be,Fe=p}while(0);if((p=(Fe?Me>>>Fe:Me)>>>0>(S=(p=114*E|0)>>>8)>>>0)?(D=Me-(S+1<>2]=D,_e=E-S|0,Pe=D):(_e=S+1|0,Pe=Me),D=Fe-(S=24^(0|c(0|_e)))|0,o[g>>2]=D,L=(_e<>2]=L,p){do{if((0|D)<0){if((p=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){S=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,o[h>>2]=p+3,S=(p=0|Ri(0|S))>>>8|Pe<<24,o[e>>2]=S,p=D+24|0,o[g>>2]=p,Re=S,Te=p;break}Yr(e),Re=0|o[e>>2],Te=0|o[g>>2];break}Re=Pe,Te=D}while(0);(D=(Te?Re>>>Te:Re)>>>0>(E=(D=183*L|0)>>>8)>>>0)?(o[e>>2]=Re-(E+1<>2]=Te-E,o[v>>2]=(Ge<>0]=Oe,C=C+1|0}while((0|C)<(0|o[i>>2]));return 0|1&0==(0|(0|o[(r+36|0)>>2]))}function Tr(e,r){r|=0;var i,f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0;if(i=O,O=O+32|0,u=i,f=(s=0|o[(e|=0)+2256>>2])+((c=0|o[(l=e+2296|0)>>2])<<1)|0,A=0|o[e+2304>>2],0!=(0|o[e+2236>>2])&&(v=255&(d=0|n[A+(800*c|0)+797>>0]),d<<24>>24!=0))n[f>>0]=0,n[s+-2>>0]=0,0|n[A+(800*c|0)+768>>0]||(n[s+(c<<1)+1>>0]=0,n[s+-1>>0]=0),o[A+(800*c|0)+788>>2]=0,o[A+(800*c|0)+792>>2]=0,n[A+(800*c|0)+796>>0]=0,g=v;else{for(v=A+(800*c|0)|0,d=0|a[A+(800*c|0)+798>>0],Oi(0|v,0,768),0|n[A+(800*c|0)+768>>0]?(m=0,C=3):(o[u>>2]=0,o[u+4>>2]=0,o[u+8>>2]=0,o[u+12>>2]=0,o[u+16>>2]=0,o[u+20>>2]=0,o[u+24>>2]=0,o[u+28>>2]=0,b=s+(c<<1)+1|0,h=s+-1|0,k=(0|(w=0|ji[1&o[2549]](r,e+2032|0,(0|a[h>>0])+(0|a[b>>0])|0,e+776+(d<<5)+8|0,0,u)))>0&1,n[h>>0]=k,n[b>>0]=k,(0|w)>1?function(e,r){r|=0;var i,n,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0;i=O,O=O+64|0,a=i,f=0|t[(e|=0)>>1],u=(A=0|t[e+24>>1])+f|0,s=0|t[e+8>>1],c=(l=0|t[e+16>>1])+s|0,d=s-l|0,l=f-A|0,A=c+u|0,o[a>>2]=A,o[(f=a+32|0)>>2]=u-c,o[(c=a+16|0)>>2]=d+l,o[(u=a+48|0)>>2]=l-d,d=0|t[e+2>>1],s=(l=0|t[e+26>>1])+d|0,v=0|t[e+10>>1],b=(g=0|t[e+18>>1])+v|0,h=v-g|0,g=d-l|0,l=b+s|0,o[a+4>>2]=l,o[(d=a+36|0)>>2]=s-b,b=h+g|0,o[a+20>>2]=b,o[(s=a+52|0)>>2]=g-h,h=0|t[e+4>>1],v=(g=0|t[e+28>>1])+h|0,w=0|t[e+12>>1],m=(k=0|t[e+20>>1])+w|0,C=w-k|0,k=h-g|0,g=m+v|0,o[a+8>>2]=g,h=v-m|0,o[a+40>>2]=h,m=C+k|0,o[a+24>>2]=m,o[(v=a+56|0)>>2]=k-C,C=0|t[e+6>>1],w=(k=0|t[e+30>>1])+C|0,n=0|t[e+14>>1],e=(p=0|t[e+22>>1])+n|0,I=n-p|0,p=C-k|0,k=e+w|0,o[a+12>>2]=k,C=w-e|0,o[a+44>>2]=C,e=I+p|0,o[a+28>>2]=e,w=p-I|0,o[a+60>>2]=w,I=g+l|0,p=l-g|0,g=(a=A+3|0)-k|0,k=I+(A=a+k|0)|0,t[r>>1]=k>>>3,k=p+g|0,t[r+32>>1]=k>>>3,k=A-I|0,t[r+64>>1]=k>>>3,k=g-p|0,t[r+96>>1]=k>>>3,p=m+b|0,g=b-m|0,m=(k=3+(0|o[c>>2])|0)-e|0,e=p+(c=k+e|0)|0,t[r+128>>1]=e>>>3,e=g+m|0,t[r+160>>1]=e>>>3,e=c-p|0,t[r+192>>1]=e>>>3,e=m-g|0,t[r+224>>1]=e>>>3,f=(e=3+(0|o[f>>2])|0)+C|0,d=h+(g=0|o[d>>2])|0,m=g-h|0,h=e-C|0,C=d+f|0,t[r+256>>1]=C>>>3,C=m+h|0,t[r+288>>1]=C>>>3,C=f-d|0,t[r+320>>1]=C>>>3,C=h-m|0,t[r+352>>1]=C>>>3,u=(C=3+(0|o[u>>2])|0)+w|0,m=0|o[s>>2],v=(s=0|o[v>>2])+m|0,h=m-s|0,s=C-w|0,w=v+u|0,t[r+384>>1]=w>>>3,w=h+s|0,t[r+416>>1]=w>>>3,w=u-v|0,t[r+448>>1]=w>>>3,w=s-h|0,t[r+480>>1]=w>>>3,O=i}(u,v):(u=(w=3+(0|t[u>>1])|0)>>3&65535,t[A+(800*c|0)>>1]=u,t[A+(800*c|0)+32>>1]=u,t[A+(800*c|0)+64>>1]=u,t[A+(800*c|0)+96>>1]=u,t[A+(800*c|0)+128>>1]=u,t[A+(800*c|0)+160>>1]=u,t[A+(800*c|0)+192>>1]=u,t[A+(800*c|0)+224>>1]=u,t[A+(800*c|0)+256>>1]=u,t[A+(800*c|0)+288>>1]=u,t[A+(800*c|0)+320>>1]=u,t[A+(800*c|0)+352>>1]=u,t[A+(800*c|0)+384>>1]=u,t[A+(800*c|0)+416>>1]=u,t[A+(800*c|0)+448>>1]=u,t[A+(800*c|0)+480>>1]=u),m=1,C=0),u=e+1964+(68*C|0)|0,C=s+-2|0,s=e+776+(d<<5)|0,w=v,v=15&n[f>>0],k=15&n[C>>0],b=0,h=0;p=255&k,I=255&v,I=(E=(0|(y=0|ji[1&o[2549]](r,u,(1&p)+(1&I)|0,s,m,w)))>(0|m)&1)<<7|(D=I>>>1),L=0!=(0|t[w>>1])&1,x=w+32|0,I=(E=(0|(S=0|ji[1&o[2549]](r,u,(1&D)+E|0,s,m,x)))>(0|m)&1)<<7|(D=I>>>1),B=((0|S)>3?3:(0|S)>1?2:0!=(0|t[x>>1])&1)|((0|y)>3?12:(0|y)>1?8:L<<2),L=w+64|0,E=(0|(y=0|ji[1&o[2549]](r,u,(1&D)+E|0,s,m,L)))>(0|m)&1,D=I>>>1,I=((0|y)>3?3:(0|y)>1?2:0!=(0|t[L>>1])&1)|B<<2,B=w+96|0,L=E<<7|224&D,v=(255&(D=255&((E=((0|(y=0|ji[1&o[2549]](r,u,(1&D)+E|0,s,m,B)))>(0|m)&1)<<7)|L>>>1)))>>>4,M=E|p>>>1,b=I<<2|b<<8|((0|y)>3?3:(0|y)>1?2:0!=(0|t[B>>1])&1),4!=(0|(h=h+1|0));)w=w+128|0,k=255&M;k=A+(800*c|0)+512|0,w=e+2100|0,h=e+776+(d<<5)+16|0,m=0|a[f>>0],s=0|a[C>>0],B=(0|(u=0|ji[1&o[2549]](r,w,(s>>>4&1)+(m>>>4&1)|0,h,0,k)))>0&1,y=0!=(0|t[k>>1])&1,k=A+(800*c|0)+544|0,m=(0|(I=0|ji[1&o[2549]](r,w,(m>>>5&1)+B|0,h,0,k)))>0&1,p=((0|I)>3?3:(0|I)>1?2:0!=(0|t[k>>1])&1)|((0|u)>3?12:(0|u)>1?8:y<<2),y=A+(800*c|0)+576|0,B=(0|(u=0|ji[1&o[2549]](r,w,(s>>>5&1)+B|0,h,0,y)))>0&1,s=((0|u)>3?3:(0|u)>1?2:0!=(0|t[y>>1])&1)|p<<2,p=A+(800*c|0)+608|0,u=(0|(y=0|ji[1&o[2549]](r,w,B+m|0,h,0,p)))>0&1,k=((0|y)>3?3:(0|y)>1?2:0!=(0|t[p>>1])&1)|s<<2,s=A+(800*c|0)+640|0,p=0|a[f>>0],y=0|a[C>>0],E=(0|(I=0|ji[1&o[2549]](r,w,(y>>>6&1)+(p>>>6&1)|0,h,0,s)))>0&1,D=0!=(0|t[s>>1])&1,s=A+(800*c|0)+672|0,p=(0|(L=0|ji[1&o[2549]](r,w,(p>>>7)+E|0,h,0,s)))>0&1,x=((0|L)>3?3:(0|L)>1?2:0!=(0|t[s>>1])&1)|((0|I)>3?12:(0|I)>1?8:D<<2),D=A+(800*c|0)+704|0,E=(0|(I=0|ji[1&o[2549]](r,w,(y>>>7)+E|0,h,0,D)))>0&1,y=((0|I)>3?3:(0|I)>1?2:0!=(0|t[D>>1])&1)|x<<2,x=A+(800*c|0)+736|0,h=(0|(D=0|ji[1&o[2549]](r,w,E+p|0,h,0,x)))>0&1,w=k|(((0|D)>3?3:(0|D)>1?2:0!=(0|t[x>>1])&1)|y<<2)<<8,n[f>>0]=(u<<1|B)<<4|255&v|(h<<1|E)<<6,n[C>>0]=m<<4|M>>>4|u<<5|p<<6|h<<7,o[A+(800*c|0)+788>>2]=b,o[A+(800*c|0)+792>>2]=w,F=43690&w?0:255&o[e+776+(d<<5)+28>>2],n[A+(800*c|0)+796>>0]=F,g=0==(w|b|0)&1}return(0|o[e+2308>>2])<=0?(_=0|o[(r+24|0)>>2],O=i,0|1&0==(0|_)):(l=(b=0|o[e+2260>>2])+((w=0|o[l>>2])<<2)|0,F=e+2312+(a[A+(800*c|0)+798>>0]<<3)+(a[A+(800*c|0)+768>>0]<<2)|0,c=a[F>>0]|a[F+1>>0]<<8|a[F+2>>0]<<16|a[F+3>>0]<<24,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,n[(c=b+(w<<2)+2|0)>>0]=a[c>>0]|0==(0|g),_=0|o[(r+24|0)>>2],O=i,0|1&0==(0|_))}function Gr(){0|ri(10168)||(o[2042]=0,ii(10168))}function Or(e,r,i){e|=0,r|=0;var t=0,a=0,f=0;if(!((0|(i|=0))<=0)){t=0;do{f=1081344+(6420*(255&(a=0|o[e+(t<<2)>>2]))|0)+(16839*(a>>>16&255)|0)+(33059*(a>>>8&255)|0)|0,n[r+t>>0]=f>>>16,t=t+1|0}while((0|t)!=(0|i))}}function qr(e,r,i,t,f){e|=0,r|=0,i|=0,f|=0;var A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0;if(A=(t|=0)>>1,(0|t)>1)if(f)for(u=0;;){if(v=0|o[e+((g=u<<1)<<2)>>2],g=((d=0|o[e+((1|g)<<2)>>2])>>>15&510)+(v>>>15&510)|0,c=(d<<1&510)+(v<<1&510)|0,b=(d=(v=(0|l(s=(d>>>7&510)+(v>>>7&510)|0,-19081))+(0|l(g,-9719))+(28800*c|0)|0)+33685504|0)>>18,g=(c=(d=(0|l(s,-24116))+(28800*g|0)+(0|l(c,-4684))|0)+33685504|0)>>18,n[r+u>>0]=b>>>0<256?b:(0|v)<-33685504?0:255,n[i+u>>0]=g>>>0<256?g:(0|d)<-33685504?0:255,!((0|(d=u+1|0))<(0|A))){h=d;break}u=d}else for(u=0;;){if(c=0|o[e+((s=u<<1)<<2)>>2],s=((d=0|o[e+((1|s)<<2)>>2])>>>15&510)+(c>>>15&510)|0,g=(d<<1&510)+(c<<1&510)|0,b=(d=(c=(0|l(v=(d>>>7&510)+(c>>>7&510)|0,-19081))+(0|l(s,-9719))+(28800*g|0)|0)+33685504|0)>>18,s=(g=(d=(0|l(v,-24116))+(28800*s|0)+(0|l(g,-4684))|0)+33685504|0)>>18,v=(b>>>0<256?b:(0|c)<-33685504?0:255)+1+(0|a[(g=r+u|0)>>0])|0,n[g>>0]=v>>>1,g=(s>>>0<256?s:(0|d)<-33685504?0:255)+1+(0|a[(v=i+u|0)>>0])|0,n[v>>0]=g>>>1,!((0|(g=u+1|0))<(0|A))){h=g;break}u=g}else h=0;if(1&t)return e=(t=0|o[e+(h<<1<<2)>>2])>>>14&1020,A=t<<2&1020,d=(g=(d=(t=(0|l(u=t>>>6&1020,-19081))+(0|l(e,-9719))+(28800*A|0)|0)+33685504|0)>>18)>>>0<256?g:(0|t)<-33685504?0:255,A=(e=(A=(t=(0|l(u,-24116))+(28800*e|0)+(0|l(A,-4684))|0)+33685504|0)>>18)>>>0<256?e:(0|t)<-33685504?0:255,f?(n[r+h>>0]=d,void(n[i+h>>0]=A)):(t=d+1+(0|a[(f=r+h|0)>>0])|0,n[f>>0]=t>>>1,f=A+1+(0|a[(t=i+h|0)>>0])|0,void(n[t>>0]=f>>>1))}function Yr(e){var r=0,i=0,n=0;return(i=0|o[(r=(e|=0)+12|0)>>2])>>>0<(0|o[e+16>>2])>>>0?(o[(n=e+8|0)>>2]=8+(0|o[n>>2]),o[r>>2]=i+1,void(o[e>>2]=o[e>>2]<<8|0|a[i>>0])):0|o[(i=e+24|0)>>2]?void(o[e+8>>2]=0):(o[e>>2]=o[e>>2]<<8,o[(r=e+8|0)>>2]=8+(0|o[r>>2]),void(o[i>>2]=1))}function Ur(e){t[(e|=0)>>1]=65535,n[e+2>>0]=255}function zr(e,r,i){r|=0,i|=0;var n,t,f,A=0,u=0;return o[(e|=0)+4>>2]=254,o[e>>2]=0,o[(n=e+8|0)>>2]=-8,o[(t=e+24|0)>>2]=0,o[(f=e+12|0)>>2]=r,A=r+i|0,o[e+16>>2]=A,u=i>>>0>3?A+-4+1|0:r,o[e+20>>2]=u,u>>>0>r>>>0?(u=a[r>>0]|a[r+1>>0]<<8|a[r+2>>0]<<16|a[r+3>>0]<<24,o[f>>2]=r+3,A=0|Ri(0|u),o[e>>2]=A>>>8,void(o[n>>2]=16)):(0|i)>0?(o[n>>2]=0,o[f>>2]=r+1,void(o[e>>2]=a[r>>0])):(o[e>>2]=0,o[n>>2]=0,void(o[t>>2]=1))}function Wr(e,r){var i,n,t,f,A,u,s=0,l=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0;if((0|(r|=0))<=0)return 0|(s=0);for(i=(e|=0)+4|0,t=e+12|0,f=e+20|0,A=e+16|0,u=e+24|0,l=0,d=r,r=0|o[(n=e+8|0)>>2],v=0|o[i>>2];;){g=d,d=d+-1|0;do{if((0|r)<0){if((b=0|o[t>>2])>>>0<(0|o[f>>2])>>>0){h=a[b>>0]|a[b+1>>0]<<8|a[b+2>>0]<<16|a[b+3>>0]<<24,o[t>>2]=b+3,w=0|Ri(0|h),o[e>>2]=o[e>>2]<<24|w>>>8,w=r+24|0,o[n>>2]=w,k=w;break}if(b>>>0<(0|o[A>>2])>>>0){w=r+8|0,o[n>>2]=w,o[t>>2]=b+1,o[e>>2]=o[e>>2]<<8|0|a[b>>0],k=w;break}if(0|o[u>>2]){o[n>>2]=0,k=0;break}o[e>>2]=o[e>>2]<<8,w=r+8|0,o[n>>2]=w,o[u>>2]=1,k=w;break}k=r}while(0);if(w=v>>>1&16777215,b=0|o[e>>2],(h=(k?b>>>k:b)>>>0>w>>>0)?(o[e>>2]=b-(w+1<>2]=r,v=(m<>2]=v,w=(1&h)<>2]),v=0;do{t?v?(o[(h=e+776+(v<<5)|0)>>2]=o[i>>2],o[h+4>>2]=o[i+4>>2],o[h+8>>2]=o[i+8>>2],o[h+12>>2]=o[i+12>>2],o[h+16>>2]=o[i+16>>2],o[h+20>>2]=o[i+20>>2],o[h+24>>2]=o[i+24>>2],o[h+28>>2]=o[i+28>>2]):(g=r,b=16):(g=(0==(0|o[A>>2])?r:0)+(0|n[e+116+v>>0])|0,b=16),16==(0|b)&&(b=0,w=(0|(h=g+u|0))<127?h:127,o[e+776+(v<<5)>>2]=a[7200+((0|w)>0?w:0)>>0],w=(0|g)<127?g:127,o[e+776+(v<<5)+4>>2]=f[7328+(((0|w)>0?w:0)<<1)>>1],h=(0|(w=g+s|0))<127?w:127,o[e+776+(v<<5)+8>>2]=a[7200+((0|h)>0?h:0)>>0]<<1,h=101581*(0|f[7328+(((0|(w=(0|(h=g+l|0))<127?h:127))>0?w:0)<<1)>>1])|0,o[e+776+(v<<5)+12>>2]=h>>>0<524288?8:h>>>16,w=(0|(h=g+c|0))<117?h:117,o[e+776+(v<<5)+16>>2]=a[7200+((0|w)>0?w:0)>>0],h=(0|(w=g+d|0))<127?w:127,o[e+776+(v<<5)+20>>2]=f[7328+(((0|h)>0?h:0)<<1)>>1],o[e+776+(v<<5)+24>>2]=w),v=v+1|0}while(4!=(0|v))}function Nr(e,r){r|=0;var i,t,f,A,u=0,s=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0;i=(e|=0)+4|0,t=e+8|0,f=e+12|0,A=e+20|0,u=0;do{s=0;do{d=0;do{v=0|a[5088+(264*u|0)+(33*s|0)+d>>0],g=0|o[i>>2],b=0|o[t>>2];do{if((0|b)<0){if((h=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){w=a[h>>0]|a[h+1>>0]<<8|a[h+2>>0]<<16|a[h+3>>0]<<24,o[f>>2]=h+3,h=0|Ri(0|w),o[e>>2]=o[e>>2]<<24|h>>>8,h=b+24|0,o[t>>2]=h,k=h;break}Yr(e),k=0|o[t>>2];break}k=b}while(0);h=(b=0|l(g,v))>>>8,b=0|o[e>>2],(w=(k?b>>>k:b)>>>0>h>>>0)?(o[e>>2]=b-(h+1<>2]=k-h,o[i>>2]=(m<>0],n[r+907+(264*u|0)+(33*s|0)+d>>0]=C,d=d+1|0}while(11!=(0|d));d=0;do{w=0|a[5088+(264*u|0)+(33*s|0)+11+d>>0],h=0|o[i>>2],b=0|o[t>>2];do{if((0|b)<0){if((p=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){I=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,o[f>>2]=p+3,p=0|Ri(0|I),o[e>>2]=o[e>>2]<<24|p>>>8,p=b+24|0,o[t>>2]=p,y=p;break}Yr(e),y=0|o[t>>2];break}y=b}while(0);g=(b=0|l(h,w))>>>8,b=0|o[e>>2],(v=(y?b>>>y:b)>>>0>g>>>0)?(o[e>>2]=b-(g+1<>2]=y-g,o[i>>2]=(E<>0],n[r+907+(264*u|0)+(33*s|0)+11+d>>0]=D,d=d+1|0}while(11!=(0|d));d=0;do{v=0|a[5088+(264*u|0)+(33*s|0)+22+d>>0],g=0|o[i>>2],b=0|o[t>>2];do{if((0|b)<0){if((p=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){I=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,o[f>>2]=p+3,p=0|Ri(0|I),o[e>>2]=o[e>>2]<<24|p>>>8,p=b+24|0,o[t>>2]=p,L=p;break}Yr(e),L=0|o[t>>2];break}L=b}while(0);h=(b=0|l(g,v))>>>8,b=0|o[e>>2],(w=(L?b>>>L:b)>>>0>h>>>0)?(o[e>>2]=b-(h+1<>2]=L-h,o[i>>2]=(x<>0],n[r+907+(264*u|0)+(33*s|0)+22+d>>0]=S,d=d+1|0}while(11!=(0|d));s=s+1|0}while(8!=(0|s));s=r+907+(264*u|0)|0,o[r+1964+(68*u|0)>>2]=s,o[r+1964+(68*u|0)+4>>2]=r+907+(264*u|0)+33,o[r+1964+(68*u|0)+8>>2]=r+907+(264*u|0)+66,o[r+1964+(68*u|0)+12>>2]=r+907+(264*u|0)+99,d=r+907+(264*u|0)+198|0,o[r+1964+(68*u|0)+16>>2]=d,o[r+1964+(68*u|0)+20>>2]=r+907+(264*u|0)+132,o[r+1964+(68*u|0)+24>>2]=r+907+(264*u|0)+165,o[r+1964+(68*u|0)+28>>2]=d,o[r+1964+(68*u|0)+32>>2]=d,o[r+1964+(68*u|0)+36>>2]=d,o[r+1964+(68*u|0)+40>>2]=d,o[r+1964+(68*u|0)+44>>2]=d,o[r+1964+(68*u|0)+48>>2]=d,o[r+1964+(68*u|0)+52>>2]=d,o[r+1964+(68*u|0)+56>>2]=d,o[r+1964+(68*u|0)+60>>2]=r+907+(264*u|0)+231,o[r+1964+(68*u|0)+64>>2]=s,u=u+1|0}while(4!=(0|u));u=0|Wr(e,1),o[r+2236>>2]=u,u&&(u=255&(0|Wr(e,8)),n[r+2240>>0]=u)}function Vr(e,r){e|=0;var i,t,f,A=0,u=0,s=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0;A=0|a[(r|=0)+3>>0],t=0|o[(i=e+4|0)>>2],u=0|o[(f=e+8|0)>>2];do{if((0|u)<0){if((d=0|o[(s=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){v=a[d>>0]|a[d+1>>0]<<8|a[d+2>>0]<<16|a[d+3>>0]<<24,o[s>>2]=d+3,d=0|Ri(0|v),o[e>>2]=o[e>>2]<<24|d>>>8,d=u+24|0,o[f>>2]=d,g=d;break}Yr(e),g=0|o[f>>2];break}g=u}while(0);if(A=(u=0|l(t,A))>>>8,u=0|o[e>>2],(d=(g?u>>>g:u)>>>0>A>>>0)?(v=u-(A+1<>2]=v,b=t-A|0,h=v):(b=A+1|0,h=u),A=g-(u=24^(0|c(0|b)))|0,o[f>>2]=A,g=(b<>2]=g,!d){d=0|a[r+4>>0];do{if((0|A)<0){if((b=0|o[(u=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){v=a[b>>0]|a[b+1>>0]<<8|a[b+2>>0]<<16|a[b+3>>0]<<24,o[u>>2]=b+3,v=h<<24|(b=0|Ri(0|v))>>>8,o[e>>2]=v,b=A+24|0,o[f>>2]=b,w=v,k=b;break}Yr(e),w=0|o[e>>2],k=0|o[f>>2];break}w=h,k=A}while(0);if((b=(k?w>>>k:w)>>>0>(d=(b=0|l(g,d))>>>8)>>>0)?(v=w-(d+1<>2]=v,m=g-d|0,C=v):(m=d+1|0,C=w),d=k-(w=24^(0|c(0|m)))|0,o[f>>2]=d,k=(m<>2]=k,!b)return 0|2;b=0|a[r+5>>0];do{if((0|d)<0){if((m=0|o[(w=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){v=a[m>>0]|a[m+1>>0]<<8|a[m+2>>0]<<16|a[m+3>>0]<<24,o[w>>2]=m+3,v=C<<24|(m=0|Ri(0|v))>>>8,o[e>>2]=v,m=d+24|0,o[f>>2]=m,p=v,I=m;break}Yr(e),p=0|o[e>>2],I=0|o[f>>2];break}p=C,I=d}while(0);return(d=(I?p>>>I:p)>>>0>(b=(d=0|l(k,b))>>>8)>>>0)?(o[e>>2]=p-(b+1<>2]=I-b,o[i>>2]=(y<>0];do{if((0|A)<0){if((y=0|o[(b=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){I=a[y>>0]|a[y+1>>0]<<8|a[y+2>>0]<<16|a[y+3>>0]<<24,o[b>>2]=y+3,I=h<<24|(y=0|Ri(0|I))>>>8,o[e>>2]=I,y=A+24|0,o[f>>2]=y,E=I,D=y;break}Yr(e),E=0|o[e>>2],D=0|o[f>>2];break}E=h,D=A}while(0);if((A=(D?E>>>D:E)>>>0>(d=(A=0|l(g,d))>>>8)>>>0)?(h=E-(d+1<>2]=h,L=g-d|0,x=h):(L=d+1|0,x=E),d=D-(E=24^(0|c(0|L)))|0,o[f>>2]=d,D=(L<>2]=D,A){A=0|a[r+8>>0];do{if((0|d)<0){if((L=0|o[(E=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){h=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[E>>2]=L+3,h=x<<24|(L=0|Ri(0|h))>>>8,o[e>>2]=h,L=d+24|0,o[f>>2]=L,S=h,B=L;break}Yr(e),S=0|o[e>>2],B=0|o[f>>2];break}S=x,B=d}while(0);h=1&(L=(B?S>>>B:S)>>>0>(A=(L=0|l(D,A))>>>8)>>>0),L?(E=S-(A+1<>2]=E,M=D-A|0,F=E):(M=A+1|0,F=S),A=B-(S=24^(0|c(0|M)))|0,o[f>>2]=A,B=(M<>2]=B,S=0|a[r+(L?10:9)>>0];do{if((0|A)<0){if((M=0|o[(L=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){E=a[M>>0]|a[M+1>>0]<<8|a[M+2>>0]<<16|a[M+3>>0]<<24,o[L>>2]=M+3,E=F<<24|(M=0|Ri(0|E))>>>8,o[e>>2]=E,M=A+24|0,o[f>>2]=M,_=E,P=M;break}Yr(e),_=0|o[e>>2],P=0|o[f>>2];break}_=F,P=A}while(0);if((A=(P?_>>>P:_)>>>0>(S=(A=0|l(B,S))>>>8)>>>0)?(F=_-(S+1<>2]=F,R=B-S|0,T=F):(R=S+1|0,T=_),S=P-(_=24^(0|c(0|R)))|0,o[f>>2]=S,P=(R<<_)-1|0,o[i>>2]=P,A=0|o[7600+((_=h<<1|1&A)<<2)>>2],(h=0|n[A>>0])<<24>>24)for(R=e+12|0,F=e+20|0,B=A,A=0,M=h,h=S,S=T,T=P;;){P=255&M;do{if((0|h)<0){if((E=0|o[R>>2])>>>0<(0|o[F>>2])>>>0){L=a[E>>0]|a[E+1>>0]<<8|a[E+2>>0]<<16|a[E+3>>0]<<24,o[R>>2]=E+3,L=S<<24|(E=0|Ri(0|L))>>>8,o[e>>2]=L,E=h+24|0,o[f>>2]=E,O=L,q=E;break}Yr(e),O=0|o[e>>2],q=0|o[f>>2];break}O=S,q=h}while(0);if((E=(q?O>>>q:O)>>>0>(L=(E=0|l(T,P))>>>8)>>>0)?(g=O-(L+1<>2]=g,Y=T-L|0,U=g):(Y=L+1|0,U=O),h=q-(L=24^(0|c(0|Y)))|0,o[f>>2]=h,T=(Y<>2]=T,L=A<<1|1&E,!((M=0|n[(B=B+1|0)>>0])<<24>>24)){G=L;break}A=L,S=U}else G=0;return 0|(G+(8<<_|3)|0)}_=0|a[r+7>>0];do{if((0|d)<0){if((G=0|o[(r=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){U=a[G>>0]|a[G+1>>0]<<8|a[G+2>>0]<<16|a[G+3>>0]<<24,o[r>>2]=G+3,U=x<<24|(G=0|Ri(0|U))>>>8,o[e>>2]=U,G=d+24|0,o[f>>2]=G,z=U,W=G;break}Yr(e),z=0|o[e>>2],W=0|o[f>>2];break}z=x,W=d}while(0);if((d=(W?z>>>W:z)>>>0>(_=(d=0|l(D,_))>>>8)>>>0)?(x=z-(_+1<>2]=x,X=D-_|0,Q=x):(X=_+1|0,Q=z),_=W-(z=24^(0|c(0|X)))|0,o[f>>2]=_,W=(X<>2]=W,z=(0|_)<0,!d){do{if(z){if((X=0|o[(d=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){x=a[X>>0]|a[X+1>>0]<<8|a[X+2>>0]<<16|a[X+3>>0]<<24,o[d>>2]=X+3,x=Q<<24|(X=0|Ri(0|x))>>>8,o[e>>2]=x,X=_+24|0,o[f>>2]=X,N=x,V=X;break}Yr(e),N=0|o[e>>2],V=0|o[f>>2];break}N=Q,V=_}while(0);return(X=(V?N>>>V:N)>>>0>(x=(X=159*W|0)>>>8)>>>0)?(o[e>>2]=N-(x+1<>2]=V-x,o[i>>2]=(H<>2])>>>0<(0|o[e+20>>2])>>>0){H=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[X>>2]=x+3,H=Q<<24|(x=0|Ri(0|H))>>>8,o[e>>2]=H,x=_+24|0,o[f>>2]=x,Z=H,j=x;break}Yr(e),Z=0|o[e>>2],j=0|o[f>>2];break}Z=Q,j=_}while(0);(_=(j?Z>>>j:Z)>>>0>(Q=(_=165*W|0)>>>8)>>>0)?(z=Z-(Q+1<>2]=z,K=W-Q|0,J=z):(K=Q+1|0,J=Z),Q=j-(Z=24^(0|c(0|K)))|0,o[f>>2]=Q,j=(K<>2]=j,Z=7+((1&_)<<1)|0;do{if((0|Q)<0){if((K=0|o[(_=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){z=a[K>>0]|a[K+1>>0]<<8|a[K+2>>0]<<16|a[K+3>>0]<<24,o[_>>2]=K+3,z=J<<24|(K=0|Ri(0|z))>>>8,o[e>>2]=z,K=Q+24|0,o[f>>2]=K,$=z,ee=K;break}Yr(e),$=0|o[e>>2],ee=0|o[f>>2];break}$=J,ee=Q}while(0);return(Q=(ee?$>>>ee:$)>>>0>(J=(Q=145*j|0)>>>8)>>>0)?(o[e>>2]=$-(J+1<>2]=ee-J,o[i>>2]=(re<>2]||(o[e>>2]=2,o[e+8>>2]=9156,o[e+4>>2]=0),0|0;if(0==(0|o[(i=e+4|0)>>2])&&0==(0|Pr(e,r)))return 0|0;if(!(0|or(e,r))){e:do{if(0|ar(e,r)){o[(a=e+2300|0)>>2]=0,f=e+308|0;r:do{if((0|o[f>>2])>0){A=e+312|0,u=e+12|0,s=e+2296|0,l=e+288|0,c=e+2256|0,d=e+2248|0,v=0;i:for(;;){if(g=e+316+(28*(o[A>>2]&v)|0)|0,!(0|Rr(u,e))){b=12;break}if((0|o[s>>2])<(0|o[l>>2]))do{if(!(0|Tr(e,g))){b=17;break i}h=1+(0|o[s>>2])|0,o[s>>2]=h}while((0|h)<(0|o[l>>2]));if(g=0|o[c>>2],n[g+-2>>0]=0,n[g+-1>>0]=0,o[d>>2]=0,o[s>>2]=0,!(0|rr(e,r))){b=21;break}if(v=1+(0|o[a>>2])|0,o[a>>2]=v,(0|v)>=(0|o[f>>2]))break r}if(12==(0|b)){if(0|o[e>>2]){t=0;break e}o[e>>2]=7,o[e+8>>2]=9193,o[i>>2]=0,t=0;break e}if(17==(0|b)){if(0|o[e>>2]){t=0;break e}o[e>>2]=7,o[e+8>>2]=9234,o[i>>2]=0,t=0;break e}if(21==(0|b)){if(0|o[e>>2]){t=0;break e}o[e>>2]=6,o[e+8>>2]=9269,o[i>>2]=0,t=0;break e}}}while(0);if((0|o[e+148>>2])>0&&0==(0|Vi[7&o[(f=8148)>>2]](e+124|0))){t=0;break}t=1}else t=0}while(0);if(0|(b=(0|function(e,r){r|=0;var i=0;return i=(0|o[(e|=0)+148>>2])>0?0|Vi[7&o[8148>>2]](e+124|0):1,(e=0|o[r+52>>2])?(Ki[31&e](r),0|i):0|i}(e,r))&t))return o[i>>2]=0,0|b}return Ki[31&o[(b=8160)>>2]](e+124|0),q(e),Y(0|o[(b=e+2288|0)>>2]),o[b>>2]=0,o[e+2292>>2]=0,o[(b=e+12|0)>>2]=0,o[b+4>>2]=0,o[b+8>>2]=0,o[b+12>>2]=0,o[b+16>>2]=0,o[b+20>>2]=0,o[b+24>>2]=0,o[i>>2]=0,0|0}function Zr(e,r,i){e|=0,r|=0,i|=0;var n,t,a,f=0,A=0,u=0,s=0,c=0,d=0,v=0,b=0,h=0;if(n=O,O=O+160|0,f=n+148|0,A=n+144|0,t=n+36|0,o[(a=n)>>2]=e,o[(u=a+4|0)>>2]=r,o[a+8>>2]=1,o[A>>2]=0,s=0|Br(e,r,0,0,0,A,0,a),o[f>>2]=s,0|o[f>>2]?7==(0|o[f>>2])&0!=(0|o[A>>2])&&(c=4):0|o[A>>2]&&(c=4),4==(0|c)&&(o[f>>2]=4),0|(c=0|o[f>>2]))return O=n,0|(d=c);if(Z(t,520),c=0|o[a+12>>2],o[t+64>>2]=(0|o[a>>2])+c,o[t+60>>2]=(0|o[u>>2])-c,j(i,t),0|o[a+32>>2]){if(!(v=0|function(){var e;return(e=0|N(1,0,272))?(o[e>>2]=0,o[e+4>>2]=2,Ce(),0|e):0|0}()))return O=n,0|(d=1);h=0|function(e,r){var i,n=0,t=0;return(e|=0)?(r|=0)?(o[e+8>>2]=r,o[e>>2]=0,pe(i=e+24|0,0|o[r+64>>2],0|o[r+60>>2]),47==(0|ne(i,8))&&(n=1+(0|ne(i,14))|0,t=1+(0|ne(i,14))|0,ne(i,1),0==(0|ne(i,3)))&&0==(0|o[e+48>>2])?(o[e+4>>2]=2,o[r>>2]=n,o[r+4>>2]=t,0|Ie(n,t,1,e,0)?0|1:(z(e),0|0)):(o[e>>2]=3,z(e),0|0)):(o[e>>2]=2,0|0):0|0}(v,t)?(c=0|Ne(0|o[t>>2],0|o[t+4>>2],0|o[i+20>>2],0|o[i>>2]))||(0|function(e){var r,i,n,t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0;if(!(e|=0))return 0|0;r=0|o[e+8>>2],i=0|o[r+40>>2],n=e+4|0;e:do{if(0|o[n>>2]){if(o[(u=e+12|0)>>2]=o[i>>2],!(0|Te(0|o[i+20>>2],r,3))){o[e>>2]=2;break}if(s=0|o[r>>2],c=0|o[(l=e+100|0)>>2],b=0|Li(0|(v=0|o[(d=e+104|0)>>2]),((0|v)<0)<<31>>31|0,0|c,((0|c)<0)<<31>>31|0),c=0|g(),v=65535&s,s=0|xi(0|(h=0|Pi(0|s,((0|s)<0)<<31>>31|0,4)),0|g(),0|v,0),c=0|V(h=0|xi(0|s,0|g(),0|b,0|c),0|g(),4),o[(h=e+16|0)>>2]=c,!c){o[e>>2]=1,o[e+20>>2]=0;break}o[e+20>>2]=c+(b<<2)+(v<<2),v=r+92|0;do{if(0|o[v>>2]){if(b=0|o[r+12>>2],c=0|o[r+96>>2],s=0|o[r+16>>2],w=0|o[r+100>>2],C=0|xi(0|(m=0|Pi(0|c,0|(k=((0|c)<0)<<31>>31),5)),0|g(),84,0),p=0|V(k=0|xi(0|C,0|(0|g()),0|(p=0|Pi(0|c,0|k,2)),0|g()),0|g(),1)){if(o[e+264>>2]=p,o[e+268>>2]=p,Oe(p,b,s,(k=p+84|0)+m|0,c,w,0,4,k),0|o[v>>2]){A=13;break}A=12;break}o[e>>2]=1;break e}A=12}while(0);if(12==(0|A)&&(((v=0|o[o[u>>2]>>2])+-7|0)>>>0>3?I=v:A=13),13==(0|A)&&(ee(),I=0|o[o[u>>2]>>2]),I>>>0>10&&(Gr(),0|o[28+(0|o[u>>2])>>2])&&ee(),0|o[e+56>>2]&&(0|o[e+120>>2])>0&&0==(0|o[(v=e+136|0)>>2])&&0==(0|De(v,0|o[e+132>>2]))){o[e>>2]=1;break}o[n>>2]=0,t=h,a=l,f=d,A=23}else t=e+16|0,a=e+100|0,f=e+104|0,A=23}while(0);return 23==(0|A)&&0|te(e,0|o[t>>2],0|o[a>>2],0|o[f>>2],0|o[r+88>>2],2)?(o[i+16>>2]=o[e+116>>2],0|1):(z(e),0|0)}(v)?0:0|o[v>>2]):0|o[v>>2],U(v),b=h}else{if(!(c=0|function(){var e;return(e=0|N(1,0,2376))?(o[e>>2]=0,o[e+8>>2]=8858,8140,Ki[31&o[2035]](e+124|0),o[e+4>>2]=0,o[e+312>>2]=0,0|o[2549]||(o[2549]=1),0|e):0|e}()))return O=n,0|(d=1);o[c+2348>>2]=o[a+16>>2],o[c+2352>>2]=o[a+20>>2],0|Pr(c,t)?(u=t+4|0,f=i+20|0,(A=0|Ne(0|o[t>>2],0|o[u>>2],0|o[f>>2],0|o[i>>2]))?v=A:(s=0|function(e,r,i,n){return 0,i|=0,0,(e|=0)?0|(0==(0|o[e+40>>2])?0:(0|i)>511?2:0):0}(0|o[f>>2],0,0|o[t>>2],o[u>>2]),o[c+148>>2]=s,$e(0|o[f>>2],c),v=0|Hr(c,t)?0:0|o[c>>2])):v=0|o[c>>2],function(e){var r=0;(e|=0)&&(Ki[31&o[(r=8160)>>2]](e+124|0),q(e),Y(0|o[(r=e+2288|0)>>2]),o[r>>2]=0,o[e+2292>>2]=0,o[(r=e+12|0)>>2]=0,o[r+4>>2]=0,o[r+8>>2]=0,o[r+12>>2]=0,o[r+16>>2]=0,o[r+20>>2]=0,o[r+24>>2]=0,o[e+4>>2]=0,Y(e))}(c),b=v}return 0|b?(Ze(0|o[i>>2]),O=n,0|(d=b)):(b=0|o[i+20>>2])&&0|o[b+48>>2]?(d=0|function(e){var r,i,n=0,t=0,a=0,f=0;return(e|=0)?(r=(0|o[e+8>>2])-1|0,(0|o[e>>2])>>>0<=10?(t=0|o[(n=e+20|0)>>2],a=0|l(t,r),o[(f=e+16|0)>>2]=(0|o[f>>2])+a,o[n>>2]=0-t,0|0):(n=0|o[(t=e+32|0)>>2],a=0|l(n,r),o[(f=e+16|0)>>2]=(0|o[f>>2])+a,o[t>>2]=0-n,n=r>>1,a=0|o[(t=e+36|0)>>2],f=0|l(a,n),o[(i=e+20|0)>>2]=(0|o[i>>2])+f,o[t>>2]=0-a,t=0|o[(a=e+40|0)>>2],f=0|l(t,n),o[(n=e+24|0)>>2]=(0|o[n>>2])+f,o[a>>2]=0-t,(a=0|o[(t=e+28|0)>>2])?(e=0|o[(f=e+44|0)>>2],n=a+(0|l(e,r))|0,o[t>>2]=n,o[f>>2]=0-e,0|0):0|0)):0|2}(0|o[i>>2]),O=n,0|d):(O=n,0|(d=0))}function jr(e,r,i){e|=0,r|=0;var n,t,a,f=0,A=0,u=0,s=0,l=0,c=0,d=0;if(n=O,O=O+144|0,t=n+88|0,a=n,!(i|=0))return O=n,0|(f=2);e:do{if(e){s=(u=i)+40|0;do{o[u>>2]=0,u=u+4|0}while((0|u)<(0|s));switch(0|(c=0|Br(e,r,i,l=i+4|0,i+8|0,i+12|0,i+16|0,0))){case 0:break;case 7:return O=n,0|(f=3);default:A=c;break e}s=(u=t+4|0)+52|0;do{o[u>>2]=0,u=u+4|0}while((0|u)<(0|s));return o[t+20>>2]=i+124,u=i+40|0,o[t>>2]=u,0|Je(u,i)?(He(a,520),o[a>>2]=o[u>>2],o[a+4>>2]=o[i>>2],o[a+8>>2]=o[l>>2],o[t>>2]=a,d=(s=0|Zr(e,r,t))||0|je(a,u),Ze(a),O=n,0|(f=d)):(f=0|Zr(e,r,t),O=n,0|f)}A=2}while(0);return O=n,0|(f=A)}function Kr(e){e|=0;var r,i=0,n=0,t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0;r=O,O=O+16|0,i=r;do{if(e>>>0<245){if(t=(n=e>>>0<11?16:e+11&-8)>>>3,a=0|o[2550],3&(f=t?a>>>t:a)|0)return l=0|o[(s=(u=10240+((A=(1&f^1)+t|0)<<1<<2)|0)+8|0)>>2],(0|(d=0|o[(c=l+8|0)>>2]))==(0|u)?o[2550]=a&~(1<>2]=u,o[s>>2]=d),d=A<<3,o[l+4>>2]=3|d,o[(A=l+d+4|0)>>2]=1|o[A>>2],O=r,0|c;if(n>>>0>(c=0|o[2552])>>>0){if(0|f)return f=0|o[(l=(s=10240+((u=((A=(t=(d=(A=((d=f<>>12&16)?A>>>d:A)>>>5&8)|d|(t=(f=A?t>>>A:t)>>>2&4)|(f=(l=t?f>>>t:f)>>>1&2)|(l=(s=f?l>>>f:l)>>>1&1))+(l?s>>>l:s)|0)<<1<<2)|0)+8|0)>>2],(0|(d=0|o[(t=f+8|0)>>2]))==(0|s)?(A=a&~(1<>2]=s,o[l>>2]=d,v=a),u=(d=u<<3)-n|0,o[f+4>>2]=3|n,o[(l=f+n|0)+4>>2]=1|u,o[f+d>>2]=u,0|c&&(d=0|o[2555],s=10240+((f=c>>>3)<<1<<2)|0,v&(A=1<>2],b=A):(o[2550]=v|A,g=s,b=s+8|0),o[b>>2]=d,o[g+12>>2]=d,o[d+8>>2]=g,o[d+12>>2]=s),o[2552]=u,o[2555]=l,O=r,0|t;if(t=0|o[2551]){for(f=h=0|o[10504+(((l=(s=(u=(l=(t&0-t)-1|0)>>>12&16)?l>>>u:l)>>>5&8)|u|(s=(d=l?s>>>l:s)>>>2&4)|(d=(A=s?d>>>s:d)>>>1&2)|(A=(f=d?A>>>d:A)>>>1&1))+(A?f>>>A:f)<<2)>>2],A=h,d=(-8&o[h+4>>2])-n|0;;){if(h=0|o[f+16>>2])w=h;else{if(!(s=0|o[f+20>>2]))break;w=s}f=w,A=(s=(h=(-8&o[w+4>>2])-n|0)>>>0>>0)?w:A,d=s?h:d}if((f=A+n|0)>>>0>A>>>0){h=0|o[A+24>>2],s=0|o[A+12>>2];do{if((0|s)==(0|A)){if(l=0|o[(u=A+20|0)>>2])p=l,I=u;else{if(!(m=0|o[(k=A+16|0)>>2])){C=0;break}p=m,I=k}for(u=p,l=I;;){if(m=0|o[(k=u+20|0)>>2])D=m,L=k;else{if(!(E=0|o[(y=u+16|0)>>2]))break;D=E,L=y}u=D,l=L}o[l>>2]=0,C=u}else k=0|o[A+8>>2],o[k+12>>2]=s,o[s+8>>2]=k,C=s}while(0);do{if(0|h){if(s=0|o[A+28>>2],(0|A)==(0|o[(k=10504+(s<<2)|0)>>2])){if(o[k>>2]=C,!C){o[2551]=t&~(1<>2])==(0|A)?s:h+20|0)>>2]=C,!C)break;o[C+24>>2]=h,0|(s=0|o[A+16>>2])&&(o[C+16>>2]=s,o[s+24>>2]=C),0|(s=0|o[A+20>>2])&&(o[C+20>>2]=s,o[s+24>>2]=C)}}while(0);return d>>>0<16?(h=d+n|0,o[A+4>>2]=3|h,o[(t=A+h+4|0)>>2]=1|o[t>>2]):(o[A+4>>2]=3|n,o[f+4>>2]=1|d,o[f+d>>2]=d,0|c&&(t=0|o[2555],s=10240+((h=c>>>3)<<1<<2)|0,(k=1<>2],S=k):(o[2550]=k|a,x=s,S=s+8|0),o[S>>2]=t,o[x+12>>2]=t,o[t+8>>2]=x,o[t+12>>2]=s),o[2552]=d,o[2555]=f),O=r,0|(A+8|0)}B=n}else B=n}else B=n}else if(e>>>0<=4294967231)if(t=-8&(s=e+11|0),k=0|o[2551]){h=0-t|0,M=(m=s>>>8)?t>>>0>16777215?31:1&((s=(m=14-((E=(m=(s=m<<(y=(s=m+1048320|0)>>>16&8))+520192|0)>>>16&4)|y|(F=(s=(m=s<>>16&2))+((s=m<>>15)|0)+7|0)?t>>>s:t)|m<<1:0,m=0|o[10504+(M<<2)>>2];e:do{if(m)for(s=0,F=h,y=m,E=t<<(31==(0|M)?0:25-(M>>>1)|0),G=0;;){if((q=(-8&o[y+4>>2])-t|0)>>>0>>0){if(!q){Y=y,U=0,z=y,T=65;break e}W=y,X=q}else W=s,X=F;if(Q=0==(0|(q=0|o[y+20>>2]))|(0|q)==(0|(y=0|o[y+16+(E>>>31<<2)>>2]))?G:q,!y){_=Q,P=W,R=X,T=61;break}s=W,F=X,E<<=1,G=Q}else _=0,P=0,R=h,T=61}while(0);if(61==(0|T)){if(0==(0|_)&0==(0|P)){if(!(h=((m=2<>>12&16)?m>>>h:m)>>>5&8)|h|(n=(A=m?n>>>m:n)>>>2&4)|(A=(f=n?A>>>n:A)>>>1&2)|(f=(d=A?f>>>A:f)>>>1&1))+(f?d>>>f:d)<<2)>>2]}else N=P,V=_;V?(Y=N,U=R,z=V,T=65):(H=N,Z=R)}if(65==(0|T))for(d=Y,f=U,A=z;;){if(m=(h=(n=(-8&o[A+4>>2])-t|0)>>>0>>0)?n:f,n=h?A:d,!(j=(h=0|o[A+16>>2])||0|o[A+20>>2])){H=n,Z=m;break}d=n,f=m,A=j}if(0!=(0|H)&&Z>>>0<((0|o[2552])-t|0)>>>0&&(A=H+t|0)>>>0>H>>>0){f=0|o[H+24>>2],d=0|o[H+12>>2];do{if((0|d)==(0|H)){if(n=0|o[(m=H+20|0)>>2])J=n,$=m;else{if(!(a=0|o[(h=H+16|0)>>2])){K=0;break}J=a,$=h}for(m=J,n=$;;){if(a=0|o[(h=m+20|0)>>2])ee=a,re=h;else{if(!(G=0|o[(c=m+16|0)>>2]))break;ee=G,re=c}m=ee,n=re}o[n>>2]=0,K=m}else h=0|o[H+8>>2],o[h+12>>2]=d,o[d+8>>2]=h,K=d}while(0);do{if(f){if(d=0|o[H+28>>2],(0|H)==(0|o[(h=10504+(d<<2)|0)>>2])){if(o[h>>2]=K,!K){h=k&~(1<>2])==(0|H)?h:f+20|0)>>2]=K,!K){ie=k;break}o[K+24>>2]=f,0|(h=0|o[H+16>>2])&&(o[K+16>>2]=h,o[h+24>>2]=K),(h=0|o[H+20>>2])?(o[K+20>>2]=h,o[h+24>>2]=K,ie=k):ie=k}else ie=k}while(0);e:do{if(Z>>>0<16)k=Z+t|0,o[H+4>>2]=3|k,o[(f=H+k+4|0)>>2]=1|o[f>>2];else{if(o[H+4>>2]=3|t,o[A+4>>2]=1|Z,o[A+Z>>2]=Z,f=Z>>>3,Z>>>0<256){k=10240+(f<<1<<2)|0,(h=0|o[2550])&(d=1<>2],te=d):(o[2550]=h|d,ne=k,te=k+8|0),o[te>>2]=A,o[ne+12>>2]=A,o[A+8>>2]=ne,o[A+12>>2]=k;break}if(oe=(k=Z>>>8)?Z>>>0>16777215?31:1&((d=(k=14-((f=(k=(d=k<<(h=(d=k+1048320|0)>>>16&8))+520192|0)>>>16&4)|h|(a=(d=(k=d<>>16&2))+((d=k<>>15)|0)+7|0)?Z>>>d:Z)|k<<1:0,k=10504+(oe<<2)|0,o[A+28>>2]=oe,o[(d=A+16|0)+4>>2]=0,o[d>>2]=0,!(ie&(d=1<>2]=A,o[A+24>>2]=k,o[A+12>>2]=A,o[A+8>>2]=A;break}d=0|o[k>>2];r:do{if((-8&o[d+4>>2]|0)!=(0|Z)){for(k=Z<<(31==(0|oe)?0:25-(oe>>>1)|0),a=d;h=0|o[(fe=a+16+(k>>>31<<2)|0)>>2];){if((-8&o[h+4>>2]|0)==(0|Z)){ae=h;break r}k<<=1,a=h}o[fe>>2]=A,o[A+24>>2]=a,o[A+12>>2]=A,o[A+8>>2]=A;break e}ae=d}while(0);m=0|o[(d=ae+8|0)>>2],o[m+12>>2]=A,o[d>>2]=A,o[A+8>>2]=m,o[A+12>>2]=ae,o[A+24>>2]=0}}while(0);return O=r,0|(H+8|0)}B=t}else B=t;else B=-1}while(0);if((H=0|o[2552])>>>0>=B>>>0)return ae=H-B|0,fe=0|o[2555],ae>>>0>15?(Z=fe+B|0,o[2555]=Z,o[2552]=ae,o[Z+4>>2]=1|ae,o[fe+H>>2]=ae,o[fe+4>>2]=3|B):(o[2552]=0,o[2555]=0,o[fe+4>>2]=3|H,o[(ae=fe+H+4|0)>>2]=1|o[ae>>2]),O=r,0|(fe+8|0);if((fe=0|o[2553])>>>0>B>>>0)return ae=fe-B|0,o[2553]=ae,Z=(H=0|o[2556])+B|0,o[2556]=Z,o[Z+4>>2]=1|ae,o[H+4>>2]=3|B,O=r,0|(H+8|0);if(0|o[2668]?Ae=0|o[2670]:(o[2670]=4096,o[2669]=4096,o[2671]=-1,o[2672]=-1,o[2673]=0,o[2661]=0,o[2668]=-16&i^1431655768,Ae=4096),i=B+48|0,(Ae=(ae=Ae+(H=B+47|0)|0)&(Z=0-Ae|0))>>>0<=B>>>0)return O=r,0|0;if(0|(oe=0|o[2660])&&(ne=(ie=0|o[2658])+Ae|0)>>>0<=ie>>>0|ne>>>0>oe>>>0)return O=r,0|0;e:do{if(4&o[2661])ve=0,T=143;else{oe=0|o[2556];r:do{if(oe){for(ne=10648;!((ie=0|o[ne>>2])>>>0<=oe>>>0&&(ie+(0|o[ne+4>>2])|0)>>>0>oe>>>0);){if(!(ie=0|o[ne+8>>2])){T=128;break r}ne=ie}if((ie=ae-fe&Z)>>>0<2147483647)if((0|(te=0|qi(0|ie)))==((0|o[ne>>2])+(0|o[ne+4>>2])|0)){if(-1!=(0|te)){se=ie,le=te,T=145;break e}ue=ie}else ce=te,de=ie,T=136;else ue=0}else T=128}while(0);do{if(128==(0|T))if(-1!=(0|(oe=0|qi(0)))&&(t=oe,ie=(K=(0==((te=(ie=0|o[2669])+-1|0)&t|0)?0:(te+t&0-ie)-t|0)+Ae|0)+(t=0|o[2658])|0,K>>>0>B>>>0&K>>>0<2147483647)){if(0|(te=0|o[2660])&&ie>>>0<=t>>>0|ie>>>0>te>>>0){ue=0;break}if((0|(te=0|qi(0|K)))==(0|oe)){se=K,le=oe,T=145;break e}ce=te,de=K,T=136}else ue=0}while(0);do{if(136==(0|T)){if(K=0-de|0,!(i>>>0>de>>>0&de>>>0<2147483647&-1!=(0|ce))){if(-1==(0|ce)){ue=0;break}se=de,le=ce,T=145;break e}if((oe=H-de+(te=0|o[2670])&0-te)>>>0>=2147483647){se=de,le=ce,T=145;break e}if(-1==(0|qi(0|oe))){qi(0|K),ue=0;break}se=oe+de|0,le=ce,T=145;break e}}while(0);o[2661]=4|o[2661],ve=ue,T=143}}while(0);if(143==(0|T)&&Ae>>>0<2147483647&&!(-1==(0|(ue=0|qi(0|Ae)))|1^(de=(ce=(Ae=0|qi(0))-ue|0)>>>0>(B+40|0)>>>0)|ue>>>0>>0&-1!=(0|ue)&-1!=(0|Ae)^1)&&(se=de?ce:ve,le=ue,T=145),145==(0|T)){ue=(0|o[2658])+se|0,o[2658]=ue,ue>>>0>(0|o[2659])>>>0&&(o[2659]=ue),ue=0|o[2556];e:do{if(ue){for(ve=10648;;){if((0|le)==((ge=0|o[ve>>2])+(be=0|o[ve+4>>2])|0)){T=154;break}if(!(ce=0|o[ve+8>>2]))break;ve=ce}if(154==(0|T)&&(ce=ve+4|0,0==(8&o[ve+12>>2]|0))&&le>>>0>ue>>>0&ge>>>0<=ue>>>0){o[ce>>2]=be+se,de=ue+(Ae=0==(7&(de=ue+8|0)|0)?0:0-de&7)|0,H=(ce=(0|o[2553])+se|0)-Ae|0,o[2556]=de,o[2553]=H,o[de+4>>2]=1|H,o[ue+ce+4>>2]=40,o[2557]=o[2672];break}for(le>>>0<(0|o[2554])>>>0&&(o[2554]=le),ce=le+se|0,H=10648;;){if((0|o[H>>2])==(0|ce)){T=162;break}if(!(de=0|o[H+8>>2]))break;H=de}if(162==(0|T)&&0==(8&o[H+12>>2]|0)){o[H>>2]=le,o[(ve=H+4|0)>>2]=(0|o[ve>>2])+se,de=le+(0==(7&(ve=le+8|0)|0)?0:0-ve&7)|0,Ae=ce+(0==(7&(ve=ce+8|0)|0)?0:0-ve&7)|0,ve=de+B|0,i=Ae-de-B|0,o[de+4>>2]=3|B;r:do{if((0|ue)==(0|Ae))Z=(0|o[2553])+i|0,o[2553]=Z,o[2556]=ve,o[ve+4>>2]=1|Z;else{if((0|o[2555])==(0|Ae)){Z=(0|o[2552])+i|0,o[2552]=Z,o[2555]=ve,o[ve+4>>2]=1|Z,o[ve+Z>>2]=Z;break}if(1==(3&(Z=0|o[Ae+4>>2])|0)){fe=-8&Z,ae=Z>>>3;i:do{if(Z>>>0<256){if(oe=0|o[Ae+8>>2],(0|(K=0|o[Ae+12>>2]))==(0|oe)){o[2550]=o[2550]&~(1<>2]=K,o[K+8>>2]=oe;break}oe=0|o[Ae+24>>2],K=0|o[Ae+12>>2];do{if((0|K)==(0|Ae)){if(t=0|o[(ie=(te=Ae+16|0)+4|0)>>2])we=t,ke=ie;else{if(!(re=0|o[te>>2])){he=0;break}we=re,ke=te}for(ie=we,t=ke;;){if(re=0|o[(te=ie+20|0)>>2])me=re,Ce=te;else{if(!($=0|o[(ee=ie+16|0)>>2]))break;me=$,Ce=ee}ie=me,t=Ce}o[t>>2]=0,he=ie}else te=0|o[Ae+8>>2],o[te+12>>2]=K,o[K+8>>2]=te,he=K}while(0);if(!oe)break;a=10504+((K=0|o[Ae+28>>2])<<2)|0;do{if((0|o[a>>2])==(0|Ae)){if(o[a>>2]=he,0|he)break;o[2551]=o[2551]&~(1<>2])==(0|Ae)?te:oe+20|0)>>2]=he,!he)break i}while(0);if(o[he+24>>2]=oe,0|(a=0|o[(K=Ae+16|0)>>2])&&(o[he+16>>2]=a,o[a+24>>2]=he),!(a=0|o[K+4>>2]))break;o[he+20>>2]=a,o[a+24>>2]=he}while(0);pe=Ae+fe|0,Ie=fe+i|0}else pe=Ae,Ie=i;if(o[(ae=pe+4|0)>>2]=-2&o[ae>>2],o[ve+4>>2]=1|Ie,o[ve+Ie>>2]=Ie,ae=Ie>>>3,Ie>>>0<256){Z=10240+(ae<<1<<2)|0,(ne=0|o[2550])&(a=1<>2],Ee=a):(o[2550]=ne|a,ye=Z,Ee=Z+8|0),o[Ee>>2]=ve,o[ye+12>>2]=ve,o[ve+8>>2]=ye,o[ve+12>>2]=Z;break}Z=Ie>>>8;do{if(Z){if(Ie>>>0>16777215){De=31;break}De=1&((a=(ae=14-((K=(ae=(a=Z<<(ne=(a=Z+1048320|0)>>>16&8))+520192|0)>>>16&4)|ne|(te=(a=(ae=a<>>16&2))+((a=ae<>>15)|0)+7|0)?Ie>>>a:Ie)|ae<<1}else De=0}while(0);if(Z=10504+(De<<2)|0,o[ve+28>>2]=De,o[(fe=ve+16|0)+4>>2]=0,o[fe>>2]=0,!((fe=0|o[2551])&(ae=1<>2]=ve,o[ve+24>>2]=Z,o[ve+12>>2]=ve,o[ve+8>>2]=ve;break}ae=0|o[Z>>2];i:do{if((-8&o[ae+4>>2]|0)!=(0|Ie)){for(Z=Ie<<(31==(0|De)?0:25-(De>>>1)|0),fe=ae;a=0|o[(xe=fe+16+(Z>>>31<<2)|0)>>2];){if((-8&o[a+4>>2]|0)==(0|Ie)){Le=a;break i}Z<<=1,fe=a}o[xe>>2]=ve,o[ve+24>>2]=fe,o[ve+12>>2]=ve,o[ve+8>>2]=ve;break r}Le=ae}while(0);Z=0|o[(ae=Le+8|0)>>2],o[Z+12>>2]=ve,o[ae>>2]=ve,o[ve+8>>2]=Z,o[ve+12>>2]=Le,o[ve+24>>2]=0}}while(0);return O=r,0|(de+8|0)}for(ve=10648;!((i=0|o[ve>>2])>>>0<=ue>>>0&&(Se=i+(0|o[ve+4>>2])|0)>>>0>ue>>>0);)ve=0|o[ve+8>>2];i=(ve=(i=(ve=Se+-47|0)+(0==(7&(de=ve+8|0)|0)?0:0-de&7)|0)>>>0<(de=ue+16|0)>>>0?ue:i)+8|0,ce=le+(H=0==(7&(ce=le+8|0)|0)?0:0-ce&7)|0,Z=(Ae=se+-40|0)-H|0,o[2556]=ce,o[2553]=Z,o[ce+4>>2]=1|Z,o[le+Ae+4>>2]=40,o[2557]=o[2672],o[(Ae=ve+4|0)>>2]=27,o[i>>2]=o[2662],o[i+4>>2]=o[2663],o[i+8>>2]=o[2664],o[i+12>>2]=o[2665],o[2662]=le,o[2663]=se,o[2665]=0,o[2664]=i,i=ve+24|0;do{Z=i,o[(i=i+4|0)>>2]=7}while((Z+8|0)>>>0>>0);if((0|ve)!=(0|ue)){if(i=ve-ue|0,o[Ae>>2]=-2&o[Ae>>2],o[ue+4>>2]=1|i,o[ve>>2]=i,Z=i>>>3,i>>>0<256){ce=10240+(Z<<1<<2)|0,(H=0|o[2550])&(ae=1<>2],Me=ae):(o[2550]=H|ae,Be=ce,Me=ce+8|0),o[Me>>2]=ue,o[Be+12>>2]=ue,o[ue+8>>2]=Be,o[ue+12>>2]=ce;break}if(Fe=(ce=i>>>8)?i>>>0>16777215?31:1&((ae=(ce=14-((Z=(ce=(ae=ce<<(H=(ae=ce+1048320|0)>>>16&8))+520192|0)>>>16&4)|H|(oe=(ae=(ce=ae<>>16&2))+((ae=ce<>>15)|0)+7|0)?i>>>ae:i)|ce<<1:0,ce=10504+(Fe<<2)|0,o[ue+28>>2]=Fe,o[ue+20>>2]=0,o[de>>2]=0,!((ae=0|o[2551])&(oe=1<>2]=ue,o[ue+24>>2]=ce,o[ue+12>>2]=ue,o[ue+8>>2]=ue;break}oe=0|o[ce>>2];r:do{if((-8&o[oe+4>>2]|0)!=(0|i)){for(ce=i<<(31==(0|Fe)?0:25-(Fe>>>1)|0),ae=oe;H=0|o[(Pe=ae+16+(ce>>>31<<2)|0)>>2];){if((-8&o[H+4>>2]|0)==(0|i)){_e=H;break r}ce<<=1,ae=H}o[Pe>>2]=ue,o[ue+24>>2]=ae,o[ue+12>>2]=ue,o[ue+8>>2]=ue;break e}_e=oe}while(0);oe=0|o[(i=_e+8|0)>>2],o[oe+12>>2]=ue,o[i>>2]=ue,o[ue+8>>2]=oe,o[ue+12>>2]=_e,o[ue+24>>2]=0}}else 0==(0|(oe=0|o[2554]))|le>>>0>>0&&(o[2554]=le),o[2662]=le,o[2663]=se,o[2665]=0,o[2559]=o[2668],o[2558]=-1,o[2563]=10240,o[2562]=10240,o[2565]=10248,o[2564]=10248,o[2567]=10256,o[2566]=10256,o[2569]=10264,o[2568]=10264,o[2571]=10272,o[2570]=10272,o[2573]=10280,o[2572]=10280,o[2575]=10288,o[2574]=10288,o[2577]=10296,o[2576]=10296,o[2579]=10304,o[2578]=10304,o[2581]=10312,o[2580]=10312,o[2583]=10320,o[2582]=10320,o[2585]=10328,o[2584]=10328,o[2587]=10336,o[2586]=10336,o[2589]=10344,o[2588]=10344,o[2591]=10352,o[2590]=10352,o[2593]=10360,o[2592]=10360,o[2595]=10368,o[2594]=10368,o[2597]=10376,o[2596]=10376,o[2599]=10384,o[2598]=10384,o[2601]=10392,o[2600]=10392,o[2603]=10400,o[2602]=10400,o[2605]=10408,o[2604]=10408,o[2607]=10416,o[2606]=10416,o[2609]=10424,o[2608]=10424,o[2611]=10432,o[2610]=10432,o[2613]=10440,o[2612]=10440,o[2615]=10448,o[2614]=10448,o[2617]=10456,o[2616]=10456,o[2619]=10464,o[2618]=10464,o[2621]=10472,o[2620]=10472,o[2623]=10480,o[2622]=10480,o[2625]=10488,o[2624]=10488,i=le+(de=0==(7&(i=le+8|0)|0)?0:0-i&7)|0,ve=(oe=se+-40|0)-de|0,o[2556]=i,o[2553]=ve,o[i+4>>2]=1|ve,o[le+oe+4>>2]=40,o[2557]=o[2672]}while(0);if((le=0|o[2553])>>>0>B>>>0)return se=le-B|0,o[2553]=se,ue=(le=0|o[2556])+B|0,o[2556]=ue,o[ue+4>>2]=1|se,o[le+4>>2]=3|B,O=r,0|(le+8|0)}return o[(le=10696)>>2]=12,O=r,0|0}function Jr(e){var r,i=0,n=0,t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0;if(e|=0){i=e+-8|0,n=0|o[2554],r=i+(e=-8&(t=0|o[e+-4>>2]))|0;do{if(1&t)l=i,c=e,d=i;else{if(a=0|o[i>>2],!(3&t))return;if(A=a+e|0,(f=i+(0-a)|0)>>>0>>0)return;if((0|o[2555])==(0|f)){if(3!=(3&(s=0|o[(u=r+4|0)>>2])|0)){l=f,c=A,d=f;break}return o[2552]=A,o[u>>2]=-2&s,o[f+4>>2]=1|A,void(o[f+A>>2]=A)}if(s=a>>>3,a>>>0<256){if(a=0|o[f+8>>2],(0|(u=0|o[f+12>>2]))==(0|a)){o[2550]=o[2550]&~(1<>2]=u,o[u+8>>2]=a,l=f,c=A,d=f;break}a=0|o[f+24>>2],u=0|o[f+12>>2];do{if((0|u)==(0|f)){if(g=0|o[(v=(s=f+16|0)+4|0)>>2])w=g,k=v;else{if(!(b=0|o[s>>2])){h=0;break}w=b,k=s}for(v=w,g=k;;){if(b=0|o[(s=v+20|0)>>2])p=b,I=s;else{if(!(C=0|o[(m=v+16|0)>>2]))break;p=C,I=m}v=p,g=I}o[g>>2]=0,h=v}else s=0|o[f+8>>2],o[s+12>>2]=u,o[u+8>>2]=s,h=u}while(0);if(a){if(u=0|o[f+28>>2],(0|o[(s=10504+(u<<2)|0)>>2])==(0|f)){if(o[s>>2]=h,!h){o[2551]=o[2551]&~(1<>2])==(0|f)?u:a+20|0)>>2]=h,!h){l=f,c=A,d=f;break}o[h+24>>2]=a,0|(s=0|o[(u=f+16|0)>>2])&&(o[h+16>>2]=s,o[s+24>>2]=h),(s=0|o[u+4>>2])?(o[h+20>>2]=s,o[s+24>>2]=h,l=f,c=A,d=f):(l=f,c=A,d=f)}else l=f,c=A,d=f}}while(0);if(!(d>>>0>=r>>>0)&&1&(e=0|o[(i=r+4|0)>>2])){if(2&e)o[i>>2]=-2&e,o[l+4>>2]=1|c,o[d+c>>2]=c,S=c;else{if((0|o[2556])==(0|r)){if(h=(0|o[2553])+c|0,o[2553]=h,o[2556]=l,o[l+4>>2]=1|h,(0|l)!=(0|o[2555]))return;return o[2555]=0,void(o[2552]=0)}if((0|o[2555])==(0|r))return h=(0|o[2552])+c|0,o[2552]=h,o[2555]=d,o[l+4>>2]=1|h,void(o[d+h>>2]=h);h=(-8&e)+c|0,I=e>>>3;do{if(e>>>0<256){if(p=0|o[r+8>>2],(0|(k=0|o[r+12>>2]))==(0|p)){o[2550]=o[2550]&~(1<>2]=k,o[k+8>>2]=p;break}p=0|o[r+24>>2],k=0|o[r+12>>2];do{if((0|k)==(0|r)){if(t=0|o[(n=(w=r+16|0)+4|0)>>2])E=t,D=n;else{if(!(s=0|o[w>>2])){y=0;break}E=s,D=w}for(n=E,t=D;;){if(s=0|o[(w=n+20|0)>>2])L=s,x=w;else{if(!(b=0|o[(u=n+16|0)>>2]))break;L=b,x=u}n=L,t=x}o[t>>2]=0,y=n}else v=0|o[r+8>>2],o[v+12>>2]=k,o[k+8>>2]=v,y=k}while(0);if(0|p){if(k=0|o[r+28>>2],(0|o[(f=10504+(k<<2)|0)>>2])==(0|r)){if(o[f>>2]=y,!y){o[2551]=o[2551]&~(1<>2])==(0|r)?k:p+20|0)>>2]=y,!y)break;o[y+24>>2]=p,0|(f=0|o[(k=r+16|0)>>2])&&(o[y+16>>2]=f,o[f+24>>2]=y),0|(f=0|o[k+4>>2])&&(o[y+20>>2]=f,o[f+24>>2]=y)}}while(0);if(o[l+4>>2]=1|h,o[d+h>>2]=h,(0|l)==(0|o[2555]))return void(o[2552]=h);S=h}if(c=S>>>3,S>>>0<256)return d=10240+(c<<1<<2)|0,(e=0|o[2550])&(i=1<>2],M=i):(o[2550]=e|i,B=d,M=d+8|0),o[M>>2]=l,o[B+12>>2]=l,o[l+8>>2]=B,void(o[l+12>>2]=d);F=(d=S>>>8)?S>>>0>16777215?31:1&((B=(d=14-((i=(d=(B=d<<(M=(B=d+1048320|0)>>>16&8))+520192|0)>>>16&4)|M|(e=(B=(d=B<>>16&2))+((B=d<>>15)|0)+7|0)?S>>>B:S)|d<<1:0,d=10504+(F<<2)|0,o[l+28>>2]=F,o[l+20>>2]=0,o[l+16>>2]=0,B=0|o[2551],e=1<>2];r:do{if((-8&o[M+4>>2]|0)!=(0|S)){for(i=S<<(31==(0|F)?0:25-(F>>>1)|0),c=M;h=0|o[(P=c+16+(i>>>31<<2)|0)>>2];){if((-8&o[h+4>>2]|0)==(0|S)){_=h;break r}i<<=1,c=h}o[P>>2]=l,o[l+24>>2]=c,o[l+12>>2]=l,o[l+8>>2]=l;break e}_=M}while(0);p=0|o[(M=_+8|0)>>2],o[p+12>>2]=l,o[M>>2]=l,o[l+8>>2]=p,o[l+12>>2]=_,o[l+24>>2]=0}else o[2551]=B|e,o[d>>2]=l,o[l+24>>2]=d,o[l+12>>2]=l,o[l+8>>2]=l}while(0);if(l=(0|o[2558])-1|0,o[2558]=l,!(0|l)){for(l=10656;_=0|o[l>>2];)l=_+8|0;o[2558]=-1}}}}function $r(e,r){r|=0;var i=0,n=0;return(e|=0)?(i=0|l(r,e),n=(r|e)>>>0>65535?(0|(i>>>0)/(e>>>0))==(0|r)?i:-1:i):n=0,(i=0|Kr(n))&&3&o[i+-4>>2]?(Oi(0|i,0,0|n),0|i):0|i}function ei(e,r){return 0,0,0}function ri(e){return 0,0}function ii(e){return 0,0}function ni(e){return 0,0}function ti(e){var r=0;return(e|=0)>>>0>4294963200?(o[10696>>2]=0-e,r=-1):r=e,0|r}function oi(){return 10696}function ai(e,r,i){e|=0,r|=0,i|=0;var t=0,o=0,a=0,f=0,A=0,u=0;e:do{if(i){for(o=e,a=i,f=r;(A=0|n[o>>0])<<24>>24==(u=0|n[f>>0])<<24>>24;){if(!(a=a+-1|0)){t=0;break e}o=o+1|0,f=f+1|0}t=(255&A)-(255&u)|0}else t=0}while(0);return 0|t}function fi(e,r,i){e|=0;var t,a=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0;t=255&(r|=0),a=0!=(0|(i|=0));e:do{if(a&0!=(3&e|0))for(f=255&r,A=e,u=i;;){if((0|n[A>>0])==f<<24>>24){s=A,c=u,d=6;break e}if(!((b=0!=(0|(g=u+-1|0)))&0!=(3&(v=A+1|0)|0))){h=v,w=g,k=b,d=5;break}A=v,u=g}else h=e,w=i,k=a,d=5}while(0);5==(0|d)&&(k?(s=h,c=w,d=6):d=16);e:do{if(6==(0|d)){if(w=255&r,(0|n[s>>0])==w<<24>>24){if(c){m=s;break}d=16;break}h=0|l(t,16843009);r:do{if(c>>>0>3)for(k=s,a=c;;){if((-2139062144&(i=o[k>>2]^h)^-2139062144)&i+-16843009|0){C=a,p=k;break r}if(i=k+4|0,!((e=a+-4|0)>>>0>3)){I=i,y=e,d=11;break}k=i,a=e}else I=s,y=c,d=11}while(0);if(11==(0|d)){if(!y){d=16;break}C=y,p=I}for(h=p,a=C;;){if((0|n[h>>0])==w<<24>>24){m=h;break e}if(!(a=a+-1|0)){d=16;break}h=h+1|0}}}while(0);return 16==(0|d)&&(m=0),0|m}function Ai(e){return((e|=0)+-48|0)>>>0<10|0}function ui(e,r,i){e|=0,r|=0,i|=0;var t,a,f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0;t=O,O=O+224|0,a=t+208|0,f=t+80|0,u=t,l=(s=A=t+160|0)+40|0;do{o[s>>2]=0,s=s+4|0}while((0|s)<(0|l));return o[a>>2]=o[i>>2],(0|si(0,r,a,f,A))<0?c=-1:(d=(0|o[e+76>>2])>-1?0|li(e):0,s=32&(i=0|o[e>>2]),(0|n[e+74>>0])<1&&(o[e>>2]=-33&i),0|o[(i=e+48|0)>>2]?w=0|si(e,r,a,f,A):(v=0|o[(l=e+44|0)>>2],o[l>>2]=u,o[(g=e+28|0)>>2]=u,o[(b=e+20|0)>>2]=u,o[i>>2]=80,o[(h=e+16|0)>>2]=u+80,u=0|si(e,r,a,f,A),v?(Zi[15&o[e+36>>2]](e,0,0),k=0==(0|o[b>>2])?-1:u,o[l>>2]=v,o[i>>2]=0,o[h>>2]=0,o[g>>2]=0,o[b>>2]=0,w=k):w=u),A=0|o[e>>2],o[e>>2]=A|s,0|d&&ci(e),c=0==(32&A|0)?w:-1),O=t,0|c}function si(e,r,i,a,f){e|=0,r|=0,i|=0,a|=0,f|=0;var u,s,l,c,d,v,b,h,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0;u=O,O=O+64|0,l=u+40|0,w=u,c=u+48|0,d=u+60|0,o[(s=u+56|0)>>2]=r,r=0!=(0|e),b=v=w+40|0,h=w+39|0,w=c+4|0,k=0,m=0,C=0;e:for(;;){for(p=k,I=m;;){do{if((0|I)>-1){if((0|p)>(2147483647-I|0)){o[(y=10696)>>2]=75,E=-1;break}E=p+I|0;break}E=I}while(0);if(D=0|o[s>>2],!((y=0|n[D>>0])<<24>>24)){L=92;break e}x=y,y=D;r:for(;;){switch(x<<24>>24){case 37:L=10;break r;case 0:S=y;break r}B=y+1|0,o[s>>2]=B,x=0|n[B>>0],y=B}r:do{if(10==(0|L))for(L=0,x=y,B=y;;){if(37!=(0|n[B+1>>0])){S=x;break r}if(M=x+1|0,B=B+2|0,o[s>>2]=B,37!=(0|n[B>>0])){S=M;break}x=M}}while(0);if(p=S-D|0,r&&di(e,D,p),!p)break;I=E}if(I=0==(0|Ai(0|n[1+(0|o[s>>2])>>0])),p=0|o[s>>2],I||36!=(0|n[p+2>>0])?(F=-1,_=C,P=1):(F=(0|n[p+1>>0])-48|0,_=1,P=3),I=p+P|0,o[s>>2]=I,(y=((p=0|n[I>>0])<<24>>24)-32|0)>>>0>31|0==(1<>2]=B,(x=((M=0|n[B>>0])<<24>>24)-32|0)>>>0>31|0==(1<>24==42){if(0!=(0|Ai(0|n[G+1>>0]))&&(y=0|o[s>>2],36==(0|n[y+2>>0])))o[f+((0|n[(p=y+1|0)>>0])-48<<2)>>2]=10,q=0|o[a+((0|n[p>>0])-48<<3)>>2],Y=1,U=y+3|0;else{if(0|_){z=-1;break}r?(y=3+(0|o[i>>2])&-4,p=0|o[y>>2],o[i>>2]=y+4,W=p):W=0,q=W,Y=0,U=1+(0|o[s>>2])|0}o[s>>2]=U,X=(p=(0|q)<0)?0-q|0:q,Q=p?8192|R:R,N=Y,V=U}else{if((0|(p=0|vi(s)))<0){z=-1;break}X=p,Q=R,N=_,V=0|o[s>>2]}do{if(46==(0|n[V>>0])){if(42!=(0|n[(p=V+1|0)>>0])){o[s>>2]=p,H=p=0|vi(s),Z=0|o[s>>2];break}if(0|Ai(0|n[V+2>>0])&&(p=0|o[s>>2],36==(0|n[p+3>>0]))){o[f+((0|n[(y=p+2|0)>>0])-48<<2)>>2]=10,x=0|o[a+((0|n[y>>0])-48<<3)>>2],y=p+4|0,o[s>>2]=y,H=x,Z=y;break}if(0|N){z=-1;break e}r?(y=3+(0|o[i>>2])&-4,x=0|o[y>>2],o[i>>2]=y+4,j=x):j=0,x=2+(0|o[s>>2])|0,o[s>>2]=x,H=j,Z=x}else H=-1,Z=V}while(0);for(x=0,y=Z;;){if(((0|n[y>>0])-65|0)>>>0>57){z=-1;break e}if(p=y,y=y+1|0,o[s>>2]=y,((J=255&(K=0|n[(0|n[p>>0])-65+(7616+(58*x|0))>>0]))+-1|0)>>>0>=8)break;x=J}if(!(K<<24>>24)){z=-1;break}p=(0|F)>-1;do{if(K<<24>>24==19){if(p){z=-1;break e}L=54}else{if(p){o[f+(F<<2)>>2]=J,I=0|o[(B=a+(F<<3)|0)+4>>2],o[(M=l)>>2]=o[B>>2],o[M+4>>2]=I,L=54;break}if(!r){z=0;break e}gi(l,J,i),$=0|o[s>>2],L=55}}while(0);54==(0|L)&&(L=0,r?($=y,L=55):ee=0);r:do{if(55==(0|L)){L=0,I=0!=(0|x)&3==(15&(p=0|n[$+-1>>0])|0)?-33&p:p,p=-65537&Q,M=0==(8192&Q|0)?Q:p;i:do{switch(0|I){case 110:switch((255&x)<<24>>24){case 0:case 1:o[o[l>>2]>>2]=E,ee=0;break r;case 2:B=0|o[l>>2],o[B>>2]=E,o[B+4>>2]=((0|E)<0)<<31>>31,ee=0;break r;case 3:t[o[l>>2]>>1]=E,ee=0;break r;case 4:n[o[l>>2]>>0]=E,ee=0;break r;case 6:o[o[l>>2]>>2]=E,ee=0;break r;case 7:B=0|o[l>>2],o[B>>2]=E,o[B+4>>2]=((0|E)<0)<<31>>31,ee=0;break r;default:ee=0;break r}break;case 112:re=120,ie=H>>>0>8?H:8,ne=8|M,L=67;break;case 88:case 120:re=I,ie=H,ne=M,L=67;break;case 111:fe=B=0|hi(te=0|o[(B=l)>>2],oe=0|o[B+4>>2],v),Ae=0,ue=9285,se=0==(8&M|0)|(0|H)>(0|(ae=b-B|0))?H:ae+1|0,le=M,ce=te,de=oe,L=73;break;case 105:case 100:if(te=0|o[(oe=l)>>2],(0|(ae=0|o[oe+4>>2]))<0){oe=0|Si(0,0,0|te,0|ae),B=0|g(),o[(ve=l)>>2]=oe,o[ve+4>>2]=B,ge=1,be=9285,he=oe,we=B,L=72;break i}ge=0!=(2049&M|0)&1,be=0==(2048&M|0)?0==(1&M|0)?9285:9287:9286,he=te,we=ae,L=72;break i;case 117:ge=0,be=9285,he=0|o[(ae=l)>>2],we=0|o[ae+4>>2],L=72;break;case 99:n[h>>0]=o[l>>2],ke=h,me=0,Ce=9285,pe=1,Ie=p,ye=b;break;case 115:ke=te=0==(0|(ae=0|o[l>>2]))?9295:ae,me=0,Ce=9285,pe=(B=0==(0|(ae=0|fi(te,0,H))))?H:ae-te|0,Ie=p,ye=B?te+H|0:ae;break;case 67:o[c>>2]=o[l>>2],o[w>>2]=0,o[l>>2]=c,Ee=-1,L=79;break;case 83:H?(Ee=H,L=79):(ki(e,32,X,0,M),De=0,L=89);break;case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:ee=0|Ci(e,+A[l>>3],X,H,M,I);break r;default:ke=D,me=0,Ce=9285,pe=H,Ie=M,ye=b}}while(0);i:do{if(67==(0|L))L=0,fe=I=0|bi(p=0|o[(I=l)>>2],ae=0|o[I+4>>2],v,32&re),Ae=(te=0==(8&ne|0)|0==(0|p)&0==(0|ae))?0:2,ue=te?9285:9285+(re>>>4)|0,se=ie,le=ne,ce=p,de=ae,L=73;else if(72==(0|L))L=0,fe=0|wi(he,we,v),Ae=ge,ue=be,se=H,le=M,ce=he,de=we,L=73;else if(79==(0|L)){for(L=0,ae=0|o[l>>2],p=0;;){if(!(te=0|o[ae>>2])){Le=p;break}if((xe=(0|(I=0|mi(d,te)))<0)|I>>>0>(Ee-p|0)>>>0){L=83;break}if(!(Ee>>>0>(te=I+p|0)>>>0)){Le=te;break}ae=ae+4|0,p=te}if(83==(0|L)){if(L=0,xe){z=-1;break e}Le=p}if(ki(e,32,X,Le,M),Le)for(ae=0|o[l>>2],te=0;;){if(!(I=0|o[ae>>2])){De=Le,L=89;break i}if((0|(te=(B=0|mi(d,I))+te|0))>(0|Le)){De=Le,L=89;break i}if(di(e,d,B),te>>>0>=Le>>>0){De=Le,L=89;break}ae=ae+4|0}else De=0,L=89}}while(0);if(73==(0|L))L=0,p=b-fe+(1&(1^(ae=0!=(0|ce)|0!=(0|de))))|0,ke=(te=0!=(0|se)|ae)?fe:v,me=Ae,Ce=ue,pe=te?(0|se)>(0|p)?se:p:0,Ie=(0|se)>-1?-65537&le:le,ye=b;else if(89==(0|L)){L=0,ki(e,32,X,De,8192^M),ee=(0|X)>(0|De)?X:De;break}ki(e,32,B=(0|X)<(0|(ae=(te=(0|pe)<(0|(p=ye-ke|0))?p:pe)+me|0))?ae:X,ae,Ie),di(e,Ce,me),ki(e,48,B,ae,65536^Ie),ki(e,48,te,p,0),di(e,ke,p),ki(e,32,B,ae,8192^Ie),ee=B}}while(0);k=ee,m=E,C=N}e:do{if(92==(0|L))if(e)z=E;else if(C){for(N=1;m=0|o[f+(N<<2)>>2];){if(gi(a+(N<<3)|0,m,i),!((m=N+1|0)>>>0<10)){z=1;break e}N=m}for(m=N;;){if(0|o[f+(m<<2)>>2]){z=-1;break e}if((m=m+1|0)>>>0>=10){z=1;break}}}else z=0}while(0);return O=u,0|z}function li(e){return 0,1}function ci(e){0}function di(e,r,i){r|=0,i|=0,32&o[(e|=0)>>2]||Ei(r,i,e)}function vi(e){var r=0,i=0,t=0,a=0,f=0;if(0|Ai(0|n[o[(e|=0)>>2]>>0]))for(i=0;;){if(t=0|o[e>>2],a=(10*i|0)-48+(0|n[t>>0])|0,f=t+1|0,o[e>>2]=f,!(0|Ai(0|n[f>>0]))){r=a;break}i=a}else r=0;return 0|r}function gi(e,r,i){e|=0,r|=0,i|=0;var n=0,t=0,a=0,f=0,u=0;e:do{if(r>>>0<=20){switch(0|r){case 9:n=3+(0|o[i>>2])&-4,t=0|o[n>>2],o[i>>2]=n+4,o[e>>2]=t;break e;case 10:t=3+(0|o[i>>2])&-4,n=0|o[t>>2],o[i>>2]=t+4,o[(t=e)>>2]=n,o[t+4>>2]=((0|n)<0)<<31>>31;break e;case 11:n=3+(0|o[i>>2])&-4,t=0|o[n>>2],o[i>>2]=n+4,o[(n=e)>>2]=t,o[n+4>>2]=0;break e;case 12:n=7+(0|o[i>>2])&-8,a=0|o[(t=n)>>2],f=0|o[t+4>>2],o[i>>2]=n+8,o[(n=e)>>2]=a,o[n+4>>2]=f;break e;case 13:f=3+(0|o[i>>2])&-4,n=0|o[f>>2],o[i>>2]=f+4,f=(65535&n)<<16>>16,o[(n=e)>>2]=f,o[n+4>>2]=((0|f)<0)<<31>>31;break e;case 14:f=3+(0|o[i>>2])&-4,n=0|o[f>>2],o[i>>2]=f+4,o[(f=e)>>2]=65535&n,o[f+4>>2]=0;break e;case 15:f=3+(0|o[i>>2])&-4,n=0|o[f>>2],o[i>>2]=f+4,f=(255&n)<<24>>24,o[(n=e)>>2]=f,o[n+4>>2]=((0|f)<0)<<31>>31;break e;case 16:f=3+(0|o[i>>2])&-4,n=0|o[f>>2],o[i>>2]=f+4,o[(f=e)>>2]=255&n,o[f+4>>2]=0;break e;case 17:case 18:f=7+(0|o[i>>2])&-8,u=+A[f>>3],o[i>>2]=f+8,A[e>>3]=u;break e;default:break e}}}while(0)}function bi(e,r,i,t){i|=0,t|=0;var o=0,f=0;if(0==(0|(e|=0))&0==(0|(r|=0)))o=i;else for(f=i,i=r,r=e;;){if(n[(e=f+-1|0)>>0]=0|a[8080+(15&r)>>0]|t,0==(0|(r=0|_i(0|r,0|i,4)))&0==(0|(i=0|g()))){o=e;break}f=e}return 0|o}function hi(e,r,i){i|=0;var t=0,o=0;if(0==(0|(e|=0))&0==(0|(r|=0)))t=i;else for(o=i,i=r,r=e;;){if(n[(e=o+-1|0)>>0]=7&r|48,0==(0|(r=0|_i(0|r,0|i,3)))&0==(0|(i=0|g()))){t=e;break}o=e}return 0|t}function wi(e,r,i){i|=0;var t=0,o=0,a=0,f=0,A=0,u=0,s=0,l=0;if((r|=0)>>>0>0|0==(0|r)&(e|=0)>>>0>4294967295){t=i,o=e,a=r;do{A=0|Si(0|(r=o),0|(f=a),0|(0|Li(0|(o=0|Fi(0|o,0|a,10,0)),0|(a=0|g()),10,0)),0|g()),g(),n[(t=t+-1|0)>>0]=255&A|48}while(f>>>0>9|9==(0|f)&r>>>0>4294967295);u=o,s=t}else u=e,s=i;if(u)for(i=u,u=s;;){if(s=i,i=(i>>>0)/10|0,n[(e=u+-1|0)>>0]=s-(10*i|0)|48,s>>>0<10){l=e;break}u=e}else l=s;return 0|l}function ki(e,r,i,n,t){e|=0,r|=0;var o,a,f=0;if(o=O,O=O+256|0,a=o,(0|(i|=0))>(0|(n|=0))&0==(73728&(t|=0)|0)){if(Oi(0|a,r<<24>>24|0,0|((t=i-n|0)>>>0<256?t:256)),t>>>0>255){r=i-n|0,n=t;do{di(e,a,256),n=n+-256|0}while(n>>>0>255);f=255&r}else f=t;di(e,a,f)}O=o}function mi(e,r){r|=0;return 0|((e|=0)?0|yi(e,r,0):0)}function Ci(e,r,i,t,f,A){e|=0,r=+r,i|=0,t|=0,f|=0,A|=0;var u,s,c,d,v,b,h,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0;u=O,O=O+560|0,s=u+32|0,v=d=u,b=u+540|0,o[(c=u+536|0)>>2]=0,h=b+12|0,w=0|pi(r),(0|(k=0|g()))<0?(C=0|pi(m=-r),p=m,I=1,y=9302,E=0|g(),D=C):(p=r,I=0!=(2049&f|0)&1,y=0==(2048&f|0)?0==(1&f|0)?9303:9308:9305,E=k,D=w);do{if(!0&2146435072==(2146435072&E|0))w=0!=(32&A|0),ki(e,32,i,D=I+3|0,-65537&f),di(e,y,I),di(e,p!=p|!1?w?9329:9333:w?9321:9325,3),ki(e,32,i,D,8192^f),L=D;else{if((D=0!=(r=2*+Ii(p,c)))&&(o[c>>2]=(0|o[c>>2])-1),97==(0|(w=32|A))){C=0==(0|(k=32&A))?y:y+9|0,x=2|I,S=12-t|0;do{if(!(t>>>0>11|0==(0|S))){m=8,B=S;do{B=B+-1|0,m*=16}while(0!=(0|B));if(45==(0|n[C>>0])){M=-(m+(-r-m));break}M=r+m-m;break}M=r}while(0);for((0|(F=0|wi(B=(0|(S=0|o[c>>2]))<0?0-S|0:S,((0|B)<0)<<31>>31,h)))==(0|h)?(n[(B=b+11|0)>>0]=48,_=B):_=F,n[_+-1>>0]=43+(S>>31&2),n[(S=_+-2|0)>>0]=A+15,F=(0|t)<1,B=0==(8&f|0),P=d,R=M;T=~~R,G=P+1|0,n[P>>0]=k|a[8080+T>>0],R=16*(R-+(0|T)),1!=(G-v|0)||B&F&0==R?q=G:(n[G>>0]=46,q=P+2|0),0!=R;)P=q;P=q,0!=(0|t)&&(-2-v+P|0)<(0|t)?(Y=t+2+(F=h)-(B=S)|0,U=F,z=B):(Y=(B=h)-v-(F=S)+P|0,U=B,z=F),ki(e,32,i,F=Y+x|0,f),di(e,C,x),ki(e,48,i,F,65536^f),di(e,d,B=P-v|0),ki(e,48,Y-(B+(P=U-z|0))|0,0,0),di(e,S,P),ki(e,32,i,F,8192^f),L=F;break}F=(0|t)<0?6:t,D?(P=(0|o[c>>2])-28|0,o[c>>2]=P,W=268435456*r,X=P):(W=r,X=0|o[c>>2]),B=P=(0|X)<0?s:s+288|0,R=W;do{k=~~R>>>0,o[B>>2]=k,B=B+4|0,R=1e9*(R-+(k>>>0))}while(0!=R);if(D=P,(0|X)>0)for(S=P,x=B,C=X;;){if(k=(0|C)<29?C:29,(G=x+-4|0)>>>0>=S>>>0){T=G,G=0;do{H=0|Si(0|(N=0|xi(0|(Q=0|Pi(0|o[T>>2],0,0|k)),0|g(),0|G,0)),0|(Q=0|g()),0|(V=0|Li(0|(G=0|Fi(0|N,0|Q,1e9,0)),0|g(),1e9,0)),0|g()),g(),o[T>>2]=H,T=T+-4|0}while(T>>>0>=S>>>0);G?(o[(T=S+-4|0)>>2]=G,Z=T):Z=S}else Z=S;e:do{if(x>>>0>Z>>>0)for(T=x;;){if(0|o[(H=T+-4|0)>>2]){j=T;break e}if(!(H>>>0>Z>>>0)){j=H;break}T=H}else j=x}while(0);if(G=(0|o[c>>2])-k|0,o[c>>2]=G,!((0|G)>0)){K=Z,J=j,$=G;break}S=Z,x=j,C=G}else K=P,J=B,$=X;if((0|$)<0)for(C=1+((F+25|0)/9|0)|0,x=102==(0|w),S=K,G=J,T=$;;){if(V=(0|(H=0-T|0))<9?H:9,S>>>0>>0){H=(1<>>V:1e9,N=0,ee=S;do{re=0|o[ee>>2],o[ee>>2]=(V?re>>>V:re)+N,N=0|l(re&H,Q),ee=ee+4|0}while(ee>>>0>>0);ee=0==(0|o[S>>2])?S+4|0:S,N?(o[G>>2]=N,ie=G+4|0,ne=ee):(ie=G,ne=ee)}else ie=G,ne=0==(0|o[S>>2])?S+4|0:S;if(H=((Q=ie-(ee=x?P:ne)|0)>>2|0)>(0|C)?ee+(C<<2)|0:ie,T=(0|o[c>>2])+V|0,o[c>>2]=T,(0|T)>=0){te=ne,oe=H;break}S=ne,G=H}else te=K,oe=J;if(te>>>0>>0)if(S=9*((G=D-te|0)>>2)|0,(G=0|o[te>>2])>>>0<10)ae=S;else for(T=S,S=10;;){if(C=T+1|0,G>>>0<(S=10*S|0)>>>0){ae=C;break}T=C}else ae=0;if((0|(G=F-(102==(0|w)?0:ae)+(((S=0!=(0|F))&(T=103==(0|w)))<<31>>31)|0))<((9*((C=oe-D|0)>>2)|0)-9|0)){if(x=P+4+((G=(0|(C=G+9216|0))/9|0)+-1024<<2)|0,(0|(B=C-(9*G|0)|0))<8)for(G=B,B=10;;){if(C=10*B|0,!((0|G)<7)){fe=C;break}G=G+1|0,B=C}else fe=10;if((C=(x+4|0)==(0|oe))&0==(0|(w=(B=0|o[x>>2])-(0|l(G=(B>>>0)/(fe>>>0)|0,fe))|0)))de=x,ve=ae,ge=te;else if(m=0==(1&G|0)?9007199254740992:9007199254740994,R=w>>>0<(G=fe>>>1)>>>0?.5:C&(0|w)==(0|G)?1:1.5,I?(Ae=(G=45==(0|n[y>>0]))?-R:R,ue=G?-m:m):(Ae=R,ue=m),G=B-w|0,o[x>>2]=G,ue+Ae!=ue){if(w=G+fe|0,o[x>>2]=w,w>>>0>999999999)for(w=x,G=te;;){if(B=w+-4|0,o[w>>2]=0,B>>>0>>0?(o[(C=G+-4|0)>>2]=0,se=C):se=G,C=1+(0|o[B>>2])|0,o[B>>2]=C,!(C>>>0>999999999)){le=B,ce=se;break}w=B,G=se}else le=x,ce=te;if(w=9*((G=D-ce|0)>>2)|0,(G=0|o[ce>>2])>>>0<10)de=le,ve=w,ge=ce;else for(B=w,w=10;;){if(C=B+1|0,G>>>0<(w=10*w|0)>>>0){de=le,ve=C,ge=ce;break}B=C}}else de=x,ve=ae,ge=te;be=ve,he=oe>>>0>(B=de+4|0)>>>0?B:oe,we=ge}else be=ae,he=oe,we=te;B=0-be|0;e:do{if(he>>>0>we>>>0)for(w=he;;){if(0|o[(G=w+-4|0)>>2]){ke=w,me=1;break e}if(!(G>>>0>we>>>0)){ke=G,me=0;break}w=G}else ke=he,me=0}while(0);do{if(T){if((0|(x=F+(1&(1^S))|0))>(0|be)&(0|be)>-5?(Ce=A+-1|0,pe=x+-1-be|0):(Ce=A+-2|0,pe=x+-1|0),!(8&f)){if(me&&0!=(0|(x=0|o[ke+-4>>2])))if((x>>>0)%10|0)Ie=0;else for(w=0,V=10;;){if(N=w+1|0,0|(x>>>0)%((V=10*V|0)>>>0)){Ie=N;break}w=N}else Ie=9;if(V=(9*((w=ke-D|0)>>2)|0)-9|0,102==(32|Ce)){ye=Ce,Ee=(0|pe)<(0|(x=(0|(w=V-Ie|0))>0?w:0))?pe:x;break}ye=Ce,Ee=(0|pe)<(0|(V=(0|(x=V+be-Ie|0))>0?x:0))?pe:V;break}ye=Ce,Ee=pe}else ye=A,Ee=F}while(0);if(D=(F=0!=(0|Ee))?1:f>>>3&1,S=102==(32|ye))De=0,Le=(0|be)>0?be:0;else{if(V=0|wi(T=(0|be)<0?B:be,((0|T)<0)<<31>>31,h),((T=h)-V|0)<2)for(x=V;;){if(n[(w=x+-1|0)>>0]=48,!((T-w|0)<2)){xe=w;break}x=w}else xe=V;n[xe+-1>>0]=43+(be>>31&2),n[(x=xe+-2|0)>>0]=ye,De=x,Le=T-x|0}if(ki(e,32,i,x=I+1+Ee+D+Le|0,f),di(e,y,I),ki(e,48,i,x,65536^f),S){N=w=d+9|0,G=d+8|0,C=B=we>>>0>P>>>0?P:we;do{if(H=0|wi(0|o[C>>2],0,w),(0|C)==(0|B))(0|H)==(0|w)?(n[G>>0]=48,Se=G):Se=H;else if(H>>>0>d>>>0)for(Oi(0|d,48,H-v|0),ee=H;;){if(!((Q=ee+-1|0)>>>0>d>>>0)){Se=Q;break}ee=Q}else Se=H;di(e,Se,N-Se|0),C=C+4|0}while(C>>>0<=P>>>0);if(0==(8&f|0)&(1^F)||di(e,9337,1),C>>>0>>0&(0|Ee)>0)for(P=Ee,N=C;;){if((G=0|wi(0|o[N>>2],0,w))>>>0>d>>>0)for(Oi(0|d,48,G-v|0),B=G;;){if(!((S=B+-1|0)>>>0>d>>>0)){Be=S;break}B=S}else Be=G;if(di(e,Be,(0|P)<9?P:9),B=P+-9|0,!((N=N+4|0)>>>0>>0&(0|P)>9)){Me=B;break}P=B}else Me=Ee;ki(e,48,Me+9|0,9,0)}else{if(we>>>0<(P=me?ke:we+4|0)>>>0&(0|Ee)>-1)for(w=0==(8&f|0),C=N=d+9|0,F=0-v|0,B=d+8|0,H=Ee,S=we;;){(0|(D=0|wi(0|o[S>>2],0,N)))==(0|N)?(n[B>>0]=48,Fe=B):Fe=D;do{if((0|S)==(0|we)){if(D=Fe+1|0,di(e,Fe,1),w&(0|H)<1){_e=D;break}di(e,9337,1),_e=D}else{if(Fe>>>0<=d>>>0){_e=Fe;break}for(Oi(0|d,48,Fe+F|0),D=Fe;;){if(!((T=D+-1|0)>>>0>d>>>0)){_e=T;break}D=T}}}while(0);if(di(e,_e,(0|H)>(0|(G=C-_e|0))?G:H),!((S=S+4|0)>>>0

>>0&(0|(D=H-G|0))>-1)){Pe=D;break}H=D}else Pe=Ee;ki(e,48,Pe+18|0,18,0),di(e,De,h-De|0)}ki(e,32,i,x,8192^f),L=x}}while(0);return O=u,0|((0|L)<(0|i)?i:L)}function pi(e){e=+e;var r;return A[u>>3]=e,r=0|o[u>>2],v(0|o[u+4>>2]),0|r}function Ii(e,r){return+ +function e(r,i){r=+r,i|=0;var n,t,a,f=0,s=0,l=0,c=0;switch(A[u>>3]=r,n=0|o[u>>2],t=0|o[u+4>>2],a=0|_i(0|n,0|t,52),g(),2047&a){case 0:0!=r?(f=+e(0x10000000000000000*r,i),s=f,l=(0|o[i>>2])-64|0):(s=r,l=0),o[i>>2]=l,c=s;break;case 2047:c=r;break;default:o[i>>2]=(2047&a)-1022,o[u>>2]=n,o[u+4>>2]=-2146435073&t|1071644672,c=+A[u>>3]}return+c}(e=+e,r|=0)}function yi(e,r,i){e|=0,r|=0;var t=0;do{if(e){if(r>>>0<128){n[e>>0]=r,t=1;break}if(!(0|o[o[8488>>2]>>2])){if(57216==(-128&r|0)){n[e>>0]=r,t=1;break}o[10696>>2]=84,t=-1;break}if(r>>>0<2048){n[e>>0]=r>>>6|192,n[e+1>>0]=63&r|128,t=2;break}if(r>>>0<55296|57344==(-8192&r|0)){n[e>>0]=r>>>12|224,n[e+1>>0]=r>>>6&63|128,n[e+2>>0]=63&r|128,t=3;break}if((r+-65536|0)>>>0<1048576){n[e>>0]=r>>>18|240,n[e+1>>0]=r>>>12&63|128,n[e+2>>0]=r>>>6&63|128,n[e+3>>0]=63&r|128,t=4;break}o[10696>>2]=84,t=-1;break}t=1}while(0);return 0|t}function Ei(e,r,i){e|=0,r|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;(a=0|o[(t=(i|=0)+16|0)>>2])?(f=a,A=5):0|function(e){var r=0,i=0,t=0;i=0|n[(r=(e=e|0)+74|0)>>0],n[r>>0]=i+255|i,8&(i=0|o[e>>2])?(o[e>>2]=32|i,t=-1):(o[e+8>>2]=0,o[e+4>>2]=0,r=0|o[e+44>>2],o[e+28>>2]=r,o[e+20>>2]=r,o[e+16>>2]=r+(0|o[e+48>>2]),t=0);return 0|t}(i)?u=0:(f=0|o[t>>2],A=5);e:do{if(5==(0|A)){if(s=t=0|o[(a=i+20|0)>>2],(f-t|0)>>>0>>0){u=0|Zi[15&o[i+36>>2]](i,e,r);break}r:do{if((0|n[i+75>>0])<0|0==(0|r))l=0,c=e,d=r,v=s;else{for(t=r;10!=(0|n[e+(g=t+-1|0)>>0]);){if(!g){l=0,c=e,d=r,v=s;break r}t=g}if((g=0|Zi[15&o[i+36>>2]](i,e,t))>>>0>>0){u=g;break e}l=t,c=e+t|0,d=r-t|0,v=0|o[a>>2]}}while(0);Ti(0|v,0|c,0|d),o[a>>2]=(0|o[a>>2])+d,u=l+d|0}}while(0);return 0|u}function Di(e,r,i){e|=0,r|=0,i|=0;var n,t;return n=O,O=O+16|0,o[(t=n)>>2]=i,i=0|ui(e,r,t),O=n,0|i}function Li(e,r,i,n){r|=0,n|=0;var t,o;return i=0|function(e,r){var i,n,t,o=0;return e=((n=0|l(o=65535&(r|=0),i=65535&(e|=0)))>>>16)+(0|l(o,t=e>>>16))|0,r=0|l(o=r>>>16,i),0|(v((e>>>16)+(0|l(o,t))+(((65535&e)+r|0)>>>16)|0),e+r<<16|65535&n|0)}(t=e|=0,e=i|=0),o=0|g(),0|(v((0|l(r,e))+(0|l(n,t))+o|0&o|0),0|i)}function xi(e,r,i,n){var t;return 0|(v((r|=0)+(n|=0)+((t=(e|=0)+(i|=0)>>>0)>>>0>>0|0)>>>0|0),0|t)}function Si(e,r,i,n){return(r|=0)-(n|=0)>>>0,0|(v(0|r-n-((i|=0)>>>0>(e|=0)>>>0|0)>>>0),e-i>>>0|0)}function Bi(e){return 0|((e|=0)?31-(0|c(e^e-1))|0:32)}function Mi(e,r,i,n,t){t|=0;var a,f=0,A=0,u=0,s=0,l=0,d=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0;if(f=e|=0,a=i|=0,l=s=n|=0,!(u=A=r|=0))return d=0!=(0|t),l?d?(o[t>>2]=0|e,o[t+4>>2]=0&r,h=0,0|(v(0|(b=0)),h)):(h=0,0|(v(0|(b=0)),h)):(d&&(o[t>>2]=(f>>>0)%(a>>>0),o[t+4>>2]=0),h=(f>>>0)/(a>>>0)>>>0,0|(v(0|(b=0)),h));d=0==(0|l);do{if(a){if(!d){if((w=(0|c(0|l))-(0|c(0|u))|0)>>>0<=31){p=k=w+1|0,I=f>>>(k>>>0)&(C=w-31>>31)|u<<(m=31-w|0),y=u>>>(k>>>0)&C,E=0,D=f<>2]=0|e,o[t+4>>2]=A|0&r,h=0,0|(v(0|(b=0)),h)):(h=0,0|(v(0|(b=0)),h))}if((m=a-1|0)&a|0){p=C=33+(0|c(0|a))-(0|c(0|u))|0,I=(w=32-C|0)-1>>31&u>>>((x=C-32|0)>>>0)|(u<>>(C>>>0))&(S=x>>31),y=S&u>>>(C>>>0),E=f<<(k=64-C|0)&(L=w>>31),D=(u<>>(x>>>0))&L|f<>31;break}return 0|t&&(o[t>>2]=m&f,o[t+4>>2]=0),1==(0|a)?(h=0|e,0|(v(0|(b=A|0&r)),h)):(h=u<<32-(m=0|Bi(0|a))|f>>>(m>>>0)|0,0|(v(0|(b=u>>>(m>>>0)|0)),h))}if(d)return 0|t&&(o[t>>2]=(u>>>0)%(a>>>0),o[t+4>>2]=0),h=(u>>>0)/(a>>>0)>>>0,0|(v(0|(b=0)),h);if(!f)return 0|t&&(o[t>>2]=0,o[t+4>>2]=(u>>>0)%(l>>>0)),h=(u>>>0)/(l>>>0)>>>0,0|(v(0|(b=0)),h);if(!((m=l-1|0)&l))return 0|t&&(o[t>>2]=0|e,o[t+4>>2]=m&u|0&r),b=0,h=u>>>((0|Bi(0|l))>>>0),0|(v(0|b),h);if((m=(0|c(0|l))-(0|c(0|u))|0)>>>0<=30){p=C=m+1|0,I=u<<(w=31-m|0)|f>>>(C>>>0),y=u>>>(C>>>0),E=0,D=f<>2]=0|e,o[t+4>>2]=A|0&r,h=0,0|(v(0|(b=0)),h)):(h=0,0|(v(0|(b=0)),h))}while(0);if(p){n=0|xi(0|(r=0|i),0|(i=s|0&n),-1,-1),s=0|g(),A=D,D=E,E=y,y=I,I=p,p=0;do{e=A,A=D>>>31|A<<1,D=p|D<<1,Si(0|n,0|s,0|(f=y<<1|e>>>31|0),0|(e=y>>>31|E<<1|0)),p=1&(l=(u=0|g())>>31|((0|u)<0?-1:0)<<1),y=0|Si(0|f,0|e,l&r|0,(((0|u)<0?-1:0)>>31|((0|u)<0?-1:0)<<1)&i|0),E=0|g(),I=I-1|0}while(0!=(0|I));B=A,M=D,F=E,_=y,P=0,R=p}else B=D,M=E,F=y,_=I,P=0,R=0;return p=M,M=0,0|t&&(o[t>>2]=_,o[t+4>>2]=F),h=-2&(p<<1|0)|R,0|(v(0|(b=(0|p)>>>31|(B|M)<<1|0&(M<<1|p>>>31)|P)),h)}function Fi(e,r,i,n){return 0|Mi(e|=0,r|=0,i|=0,n|=0,0)}function _i(e,r,i){return e|=0,r|=0,(0|(i|=0))<32?(v(r>>>i|0),e>>>i|(r&(1<>>i-32|0)}function Pi(e,r,i){return e|=0,r|=0,(0|(i|=0))<32?(v(r<>>32-i|0),e<>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function Ti(e,r,i){e|=0,r|=0;var t,a,f=0;if((0|(i|=0))>=8192)return S(0|e,0|r,0|i),0|e;if(t=0|e,a=e+i|0,(3&e)==(3&r)){for(;3&e;){if(!i)return 0|t;n[e>>0]=0|n[r>>0],e=e+1|0,r=r+1|0,i=i-1|0}for(i=(f=-4&a|0)-64|0;(0|e)<=(0|i);)o[e>>2]=o[r>>2],o[e+4>>2]=o[r+4>>2],o[e+8>>2]=o[r+8>>2],o[e+12>>2]=o[r+12>>2],o[e+16>>2]=o[r+16>>2],o[e+20>>2]=o[r+20>>2],o[e+24>>2]=o[r+24>>2],o[e+28>>2]=o[r+28>>2],o[e+32>>2]=o[r+32>>2],o[e+36>>2]=o[r+36>>2],o[e+40>>2]=o[r+40>>2],o[e+44>>2]=o[r+44>>2],o[e+48>>2]=o[r+48>>2],o[e+52>>2]=o[r+52>>2],o[e+56>>2]=o[r+56>>2],o[e+60>>2]=o[r+60>>2],e=e+64|0,r=r+64|0;for(;(0|e)<(0|f);)o[e>>2]=o[r>>2],e=e+4|0,r=r+4|0}else for(f=a-4|0;(0|e)<(0|f);)n[e>>0]=0|n[r>>0],n[e+1>>0]=0|n[r+1>>0],n[e+2>>0]=0|n[r+2>>0],n[e+3>>0]=0|n[r+3>>0],e=e+4|0,r=r+4|0;for(;(0|e)<(0|a);)n[e>>0]=0|n[r>>0],e=e+1|0,r=r+1|0;return 0|t}function Gi(e,r,i){var t=0;if((0|(r|=0))<(0|(e|=0))&(0|e)<(r+(i|=0)|0)){for(t=e,r=r+i|0,e=e+i|0;(0|i)>0;)r=r-1|0,i=i-1|0,n[(e=e-1|0)>>0]=0|n[r>>0];e=t}else Ti(e,r,i);return 0|e}function Oi(e,r,i){r|=0;var t,a=0,f=0,A=0;if(t=(e|=0)+(i|=0)|0,r&=255,(0|i)>=67){for(;3&e;)n[e>>0]=r,e=e+1|0;for(f=r|r<<8|r<<16|r<<24,A=(a=-4&t|0)-64|0;(0|e)<=(0|A);)o[e>>2]=f,o[e+4>>2]=f,o[e+8>>2]=f,o[e+12>>2]=f,o[e+16>>2]=f,o[e+20>>2]=f,o[e+24>>2]=f,o[e+28>>2]=f,o[e+32>>2]=f,o[e+36>>2]=f,o[e+40>>2]=f,o[e+44>>2]=f,o[e+48>>2]=f,o[e+52>>2]=f,o[e+56>>2]=f,o[e+60>>2]=f,e=e+64|0;for(;(0|e)<(0|a);)o[e>>2]=f,e=e+4|0}for(;(0|e)<(0|t);)n[e>>0]=r,e=e+1|0;return t-i|0}function qi(e){var r,i;return(0|(e|=0))>0&(0|(i=(r=0|o[s>>2])+e|0))<(0|r)|(0|i)<0?(G(0|i),y(12),-1):(0|i)>(0|x())&&0==(0|B(0|i))?(y(12),-1):(o[s>>2]=i,0|r)}function Yi(e){return 0,d(0),0}function Ui(e,r){return 0,0,d(1),0}function zi(e,r,i){return 0,0,0,d(2),0}function Wi(e){d(4)}function Xi(e,r){d(5)}function Qi(e,r,i,n){d(6)}function Ni(e,r,i,n,t){d(7)}var Vi=[Yi,function(e){var r,i,n=0,t=0,a=0;switch(o[(r=(e|=0)+20|0)>>2]=0,0|(n=0|o[(i=e+4|0)>>2])){case 0:if(t=0|N(1,0,80),o[e>>2]=t,!t)return 0|0;do{if(!(0|ei(t,0))){if(0|F(0|(a=t+28|0),0)){ni(t);break}if(ri(t),0|R(t+76|0,0,6,0|e)){ii(t),ni(t),M(0|a);break}return o[i>>2]=1,ii(t),0|1}}while(0);return Y(t),o[e>>2]=0,0|0;case 1:return 0|n;default:if(!(n=0|o[e>>2]))return 0|1;if(ri(n),(0|o[i>>2])>>>0>=2){e=n+28|0;do{P(0|e,0|n)}while(1!=(0|o[i>>2]))}return ii(n),0|0==(0|o[r>>2])&1}return 0},function(e){var r,i=0,n=0;if(0|(r=0|o[(e|=0)>>2])){if(ri(r),(0|o[(i=e+4|0)>>2])>>>0>=2){n=r+28|0;do{P(0|n,0|r)}while(1!=(0|o[i>>2]))}ii(r)}return 0==(0|o[e+20>>2])|0},function(e){var r,i,n=0;return r=O,O=O+16|0,i=r,n=0|function(e){return 0|(e|=0)}(0|o[(e|=0)+60>>2]),o[i>>2]=n,n=0|ti(0|L(6,0|i)),O=r,0|n},function(e){var r,i,n;return r=0|o[(e|=0)+40>>2],(0|o[e+12>>2])<1||(0|o[e+16>>2])<1?0|0:(i=0|Hi[31&o[r+44>>2]](e,r),0|(n=0|o[r+48>>2])&&Zi[15&n](e,r,i),o[(e=r+16|0)>>2]=(0|o[e>>2])+i,0|1)},function(e){var r,i,n,t=0,a=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0;if(r=0|o[(e|=0)+40>>2],a=(t=0|o[o[r>>2]>>2])>>>0<11,u=(f=t+-1|0)>>>0<12&&0!=(1&((A=65535&f)?2077>>>A:2077))?1:(t+-7|0)>>>0<4,f=r+44|0,i=r+48|0,n=r+52|0,o[(A=r+40|0)>>2]=0,o[A+4>>2]=0,o[A+8>>2]=0,o[A+12>>2]=0,!(0|Te(0|o[r+20>>2],e,u?11:12)))return 0|0;if((t+-7|0)>>>0>3|1^u||Ge(),!(0|o[e+92>>2])){do{if(a){if(qe(),o[f>>2]=17,0|o[e+56>>2]){if(v=0|V(1,0,(-2&(d=(c=0|o[(s=e+12|0)>>2])+1|0))+c|0),o[A>>2]=v,v){o[r+4>>2]=v,c=v+(0|o[s>>2])|0,o[r+8>>2]=c,o[r+12>>2]=c+(d>>1),o[f>>2]=18,Ge();break}return 0|0}}else o[f>>2]=19}while(0);if(!u)return 0|1;switch(0|t){case 5:case 10:g=9;break;default:g=a?6:5}return o[i>>2]=g,a?(ee(),0|1):0|1}if(g=0|o[r>>2],d=(u=(t=0|o[g>>2])+-1|0)>>>0<12,!a)return b=d&&0!=(1&((a=65535&u)?2077>>>a:2077))?1:(t+-7|0)>>>0<4,v=(s=(a=0|o[e+96>>2])+1|0)>>1,w=(h=(c=0|o[e+100>>2])+1|0)>>1,m=(k=1+(0|o[(h=e+12|0)>>2])|0)>>1,p=(C=1+(0|o[(k=e+16|0)>>2])|0)>>1,E=0|V(1,0,(y=((s=(I=-2&s)<<1)+(C=a<<1)<<2)+(b?a<<3:0)|0)+(b?367:283)|0),o[A>>2]=E,E?(D=E+y+31&-32,o[r+24>>2]=D,o[(y=r+28|0)>>2]=D+84,o[(L=r+32|0)>>2]=D+168,o[(x=r+36|0)>>2]=b?D+252|0:0,Oe(D,0|o[h>>2],0|o[k>>2],0|o[g+16>>2],a,c,0|o[g+32>>2],1,E),D=E+(C<<2)|0,Oe(0|o[y>>2],m,p,0|o[g+20>>2],v,w,0|o[g+36>>2],1,D),Oe(0|o[L>>2],m,p,0|o[g+24>>2],v,w,0|o[g+40>>2],1,D+(I<<2)|0),o[f>>2]=16,b?(Oe(0|o[x>>2],0|o[h>>2],0|o[k>>2],0|o[g+28>>2],a,c,0|o[g+44>>2],1,D+(s<<2)|0),o[i>>2]=4,ee(),0|1):0|1):0|0;if(S=d&&0!=(1&((d=65535&u)?2077>>>d:2077))?1:(t+-7|0)>>>0<4,t=0|o[e+96>>2],d=0|o[e+100>>2],D=(s=1+(0|o[(u=e+12|0)>>2])|0)>>1,g=(e=1+(0|o[(s=e+16|0)>>2])|0)>>1,e=t<<1,c=6*t|0,k=0|V(1,0,(a=0|l(t,S?36:27))+(S?367:283)|0),o[A>>2]=k,!k)return 0|0;if(A=k+((S?t<<3:c)<<2)|0,h=k+a+31&-32,o[r+24>>2]=h,o[(a=r+28|0)>>2]=h+84,o[(x=r+32|0)>>2]=h+168,o[(b=r+36|0)>>2]=S?h+252|0:0,Oe(h,0|o[u>>2],0|o[s>>2],A,t,d,0,1,k),Oe(0|o[a>>2],D,g,A+t|0,t,d,0,1,k+(e<<2)|0),Oe(0|o[x>>2],D,g,A+e|0,t,d,0,1,k+(t<<2<<2)|0),o[f>>2]=15,function(){if(0|ri(10028))return;0|o[2031]&&(o[2453]=4,o[2455]=5,o[2452]=6,o[2454]=7,o[2456]=8,o[2457]=9,o[2458]=10,o[2459]=4,o[2460]=5,o[2461]=8,o[2462]=9);o[2031]=0,ii(10028)}(),!S)return 0|1;switch(Oe(0|o[b>>2],0|o[u>>2],0|o[s>>2],A+(3*t|0)|0,t,d,0,1,k+(c<<2)|0),o[i>>2]=3,0|o[o[r>>2]>>2]){case 10:case 5:B=7;break;default:B=8}return o[n>>2]=B,ee(),0|1},function(e){var r,i,n,t=0;i=(e|=0)+4|0,n=(r=0|o[e>>2])+28|0;e:for(;;){ri(r);r:for(;;){switch(0|o[i>>2]){case 0:break e;case 2:t=5;break r;case 1:break;default:t=7;break r}P(0|n,0|r)}5==(0|t)?(t=0,Ki[31&o[2039]](e),o[i>>2]=1,_(0|n),ii(r)):7==(0|t)&&(t=0,_(0|n),ii(r))}return _(0|n),ii(r),0},Yi],Hi=[Ui,function(e,r){return 0,0,-16777216},function(e,r){return 0,0|(e|=0)},function(e,r){return 0,0|o[(r|=0)>>2]},function(e,r){return 0,0|o[(r|=0)+4>>2]},function(e,r){return 0,0|o[(r|=0)+-4>>2]},function(e,r){var i,n,t;return e|=0,i=0|o[(r|=0)>>2],((e=(t=((r=(n=0|o[r+4>>2])^e)>>>1&2139062143)+(n&e)|0)^i)>>>1&2139062143)+(t&i)|0},function(e,r){var i;return e|=0,((r=(i=0|o[(r|=0)+-4>>2])^e)>>>1&2139062143)+(i&e)|0},function(e,r){var i;return e|=0,((r=(i=0|o[(r|=0)>>2])^e)>>>1&2139062143)+(i&e)|0},function(e,r){var i;return e|=0,e=0|o[(r|=0)+-4>>2],((r=(i=0|o[r>>2])^e)>>>1&2139062143)+(i&e)|0},function(e,r){var i;return e|=0,e=0|o[(r|=0)>>2],((r=(i=0|o[r+4>>2])^e)>>>1&2139062143)+(i&e)|0},function(e,r){e|=0;var i,n,t=0,a=0;return t=0|o[(r|=0)+-4>>2],a=0|o[r>>2],i=0|o[r+4>>2],n=((r=t^e)>>>1&2139062143)+(t&e)|0,((a=(t=((e=i^a)>>>1&2139062143)+(i&a)|0)^n)>>>1&2139062143)+(t&n)|0},function(e,r){e|=0;var i,n,t,a,f,A,u,s,l=0;return i=0|o[(r|=0)>>2],n=(e>>>24)-(r=(l=0|o[r+-4>>2])>>>24)|0,t=(i>>>24)-r|0,a=(e>>>16&255)-(r=l>>>16&255)|0,f=(i>>>16&255)-r|0,A=(e>>>8&255)-(r=l>>>8&255)|0,u=(i>>>8&255)-r|0,0|((((0|(l=(255&e)-(r=255&l)|0))>-1?l:0-l|0)-((0|(s=(255&i)-r|0))>-1?s:0-s|0)-((0|t)>-1?t:0-t|0)+((0|n)>-1?n:0-n|0)-((0|u)>-1?u:0-u|0)+((0|A)>-1?A:0-A|0)-((0|f)>-1?f:0-f|0)+((0|a)>-1?a:0-a|0)|0)<1?i:e)},function(e,r){var i,n,t,a,f;return e|=0,((r=((i=0|o[(r|=0)>>2])>>>24)+(e>>>24)-((n=0|o[r+-4>>2])>>>24)|0)>>>0<256?r:r>>>24^255)<<24|((f=(255&i)+(255&e)-(255&n)|0)>>>0<256?f:f>>>24^255)|((t=(i>>>16&255)+(e>>>16&255)-(n>>>16&255)|0)>>>0<256?t:t>>>24^255)<<16|((a=(i>>>8&255)+(e>>>8&255)-(n>>>8&255)|0)>>>0<256?a:a>>>24^255)<<8|0},function(e,r){e|=0;var i,n,t=0,a=0;return t=0|o[(r|=0)>>2],i=0|o[r+-4>>2],t=(((e=(a=((r=t^e)>>>1&2139062143)+(t&e)|0)>>>24)-(i>>>24)|0)/2|0)+e|0,r=(((e=a>>>16&255)-(i>>>16&255)|0)/2|0)+e|0,n=(((e=a>>>8&255)-(i>>>8&255)|0)/2|0)+e|0,(t>>>0<256?t:t>>>24^255)<<24|((a=(((e=255&a)-(255&i)|0)/2|0)+e|0)>>>0<256?a:a>>>24^255)|(r>>>0<256?r:r>>>24^255)<<16|(n>>>0<256?n:n>>>24^255)<<8|0},function(e,r){r|=0;var i,n,t,a,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0;if(n=(d=(i=0|o[(e|=0)+16>>2])+1|0)>>1,(0|i)<=0)return 0|(v=0);for(t=e+20|0,a=e+32|0,f=r+28|0,A=e+24|0,u=e+36|0,s=r+32|0,c=e+28|0,e=r+16|0,g=0,b=0,h=0,w=0|o[(d=r+24|0)>>2];;){k=0|o[a>>2],h=(0|ue(w,i-h|0,(0|o[t>>2])+(0|l(k,h))|0,k))+h|0,k=n-g|0,0|fe(0|o[f>>2],k)?(C=0|o[u>>2],p=0|ue(0|o[f>>2],k,(0|o[A>>2])+(0|l(C,g))|0,C),C=0|o[u>>2],ue(0|o[s>>2],k,(0|o[c>>2])+(0|l(C,g))|0,C),m=p+g|0):m=g,p=0|o[r>>2],C=0|o[9808+(o[p>>2]<<2)>>2],k=p+20|0,I=0|o[d>>2];e:do{if((0|o[I+64>>2])<(0|o[I+56>>2]))for(y=(0|o[p+16>>2])+(0|l(0|o[k>>2],(0|o[e>>2])+b|0))|0,E=0,D=I;;){if((0|o[D+24>>2])>0){L=E,x=D;break e}if(S=0|o[f>>2],(0|o[S+64>>2])>=(0|o[S+56>>2])){L=E,x=D;break e}if((0|o[S+24>>2])>0){L=E,x=D;break e}if(se(D),se(0|o[f>>2]),se(0|o[s>>2]),S=0|o[d>>2],en[31&C](0|o[S+68>>2],0|o[68+(0|o[f>>2])>>2],0|o[68+(0|o[s>>2])>>2],y,0|o[S+52>>2]),S=E+1|0,B=0|o[d>>2],!((0|o[B+64>>2])<(0|o[B+56>>2]))){L=S,x=B;break}y=y+(0|o[k>>2])|0,E=S,D=B}else L=0,x=I}while(0);if(I=L+b|0,(0|i)<=(0|h)){v=I;break}g=m,b=I,w=x}return 0|v},function(e,r){r|=0;var i=0,n=0,t=0,a=0,f=0,A=0,u=0,s=0;switch(t=(n=(i=0|o[(e|=0)+16>>2])+1|0)>>1,n=0|o[r+24>>2],0|(a=0|o[o[r>>2]>>2])){case 1:case 3:case 4:case 5:case 12:f=3;break;default:(a+-7|0)>>>0<=3&&(f=3)}if(3==(0|f)&&0|(f=0|o[e+104>>2])&&Ue(0|o[e+20>>2],0|o[e+32>>2],f,0|o[e>>2],0|o[e+12>>2],i,0),f=0|o[e+32>>2],!(a=(0|i)>0))return 0|0;A=0,u=i,i=0|o[e+20>>2];do{s=0|ue(n,u,i,f),i=i+(0|l(s,f))|0,u=u-s|0,A=(0|Ye(n))+A|0}while((0|u)>0);if(n=0|o[(u=e+36|0)>>2],f=0|o[r+28>>2],!a)return 0|A;a=t,i=0|o[e+24>>2];do{s=0|ue(f,a,i,n),i=i+(0|l(s,n))|0,a=a-s|0,Ye(f)}while((0|a)>0);a=0|o[u>>2],u=0|o[r+32>>2],r=t,t=0|o[e+28>>2];do{e=0|ue(u,r,t,a),t=t+(0|l(e,a))|0,r=r-e|0,Ye(u)}while((0|r)>0);return 0|A},function(e,r){var i,n,t;return e|=0,i=0|o[(r|=0)>>2],r=0|o[i+20>>2],n=(0|o[i+16>>2])+(0|l(r,0|o[e+8>>2]))|0,t=e+16|0,function(e,r,i,n,t,o,a,f,A,u){e|=0,r|=0,i|=0,n|=0,t|=0,o|=0,a|=0,f|=0,u|=0;var s=0,l=0;if((0|(A|=0))<=0)return;s=e,e=i,i=n,n=o,o=0;for(;en[31&u](s,e,i,n,f),l=0==(1&o|0),(0|(o=o+1|0))!=(0|A);)s=s+r|0,e=l?e:e+t|0,i=l?i:i+t|0,n=n+a|0}(0|o[e+20>>2],0|o[e+32>>2],0|o[e+24>>2],0|o[e+28>>2],0|o[e+36>>2],n,r,0|o[e+12>>2],0|o[t>>2],0|o[9872+(o[i>>2]<<2)>>2]),0|o[t>>2]},function(e,r){r|=0;var i,n,t,a,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0;if(d=0|o[(e|=0)+16>>2],v=0|o[r>>2],g=0|o[e+8>>2],b=0|o[(i=v+20|0)>>2],n=(0|o[v+16>>2])+(0|l(b,g))|0,t=0|o[9744+(o[v>>2]<<2)>>2],v=0|o[e+20>>2],h=0|o[e+24>>2],a=0|o[e+28>>2],f=r+8|0,A=r+12|0,u=g+d|0,c=((s=0|o[e+12>>2])+1|0)/2|0,g?(rn[7&t](0|o[r+4>>2],v,0|o[f>>2],0|o[A>>2],h,a,n+(0-b)|0,n,s),w=d+1|0):(rn[7&t](v,0,h,a,h,a,n,0,s),w=d),(0|(d=g+2|0))<(0|u))for(g=e+36|0,b=e+32|0,k=n,m=v,C=a,p=h,I=d;;){if(y=p+(d=0|o[g>>2])|0,E=C+d|0,D=k+((d=0|o[i>>2])<<1)|0,x=m+((L=0|o[b>>2])<<1)|0,rn[7&t](x+(0-L)|0,x,p,C,y,E,D+(0-d)|0,D,s),(0|(I=I+2|0))>=(0|u)){S=D,B=x,M=E,F=y,_=b;break}k=D,m=x,C=E,p=y}else S=n,B=v,M=a,F=h,_=e+32|0;return h=B+(0|o[_>>2])|0,((0|o[e+84>>2])+u|0)<(0|o[e+88>>2])?(Ti(0|o[r+4>>2],0|h,0|s),Ti(0|o[f>>2],0|F,0|c),Ti(0|o[A>>2],0|M,0|c),0|(w+-1|0)):(1&u|0||rn[7&t](h,0,F,M,F,M,S+(0|o[i>>2])|0,0,s),0|w)},function(e,r){e|=0;var i,n,t,a,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0;if(d=0|o[(r|=0)>>2],r=0|o[e+8>>2],i=d+32|0,n=(0|o[d+16>>2])+(0|l(0|o[i>>2],r))|0,v=r>>1,r=d+36|0,t=(0|o[d+20>>2])+(0|l(0|o[r>>2],v))|0,a=d+40|0,f=(0|o[d+24>>2])+(0|l(0|o[a>>2],v))|0,A=((v=0|o[e+12>>2])+1|0)/2|0,u=((g=0|o[(d=e+16|0)>>2])+1|0)/2|0,!(b=(0|g)>0))return 0|(0|o[d>>2]);if(c=e+32|0,Ti(0|n,0|o[(s=e+20|0)>>2],0|v),1!=(0|g)){h=1;do{Ti(0|(n+(0|l(0|o[i>>2],h))|0),(0|o[s>>2])+(0|l(0|o[c>>2],h))|0,0|v),h=h+1|0}while((0|h)!=(0|g))}if(!b)return 0|(0|o[d>>2]);b=e+24|0,g=e+36|0,h=e+28|0,e=0;do{Ti(0|(v=t+(0|l(0|o[r>>2],e))|0),(0|o[b>>2])+(0|l(0|o[g>>2],e))|0,0|A),Ti(0|(v=f+(0|l(0|o[a>>2],e))|0),(0|o[h>>2])+(0|l(0|o[g>>2],e))|0,0|A),e=e+1|0}while((0|e)<(0|u));return 0|(0|o[d>>2])},nr,Ui,Ui,Ui,Ui,Ui,Ui,Ui,Ui,Ui,Ui,Ui],Zi=[zi,function(e,r,i){r|=0,i|=0;var n,t,a,f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0;n=O,O=O+48|0,t=n+32|0,u=n+16|0,a=n,s=0|o[(f=(e|=0)+28|0)>>2],o[a>>2]=s,l=(0|o[(A=e+20|0)>>2])-s|0,o[a+4>>2]=l,o[a+8>>2]=r,o[a+12>>2]=i,r=l+i|0,l=e+60|0,o[u>>2]=o[l>>2],o[u+4>>2]=a,o[u+8>>2]=2,s=0|ti(0|D(146,0|u));e:do{if((0|r)!=(0|s)){for(u=2,c=r,d=a,v=s;!((0|v)<0);){if(c=c-v|0,w=u+((b=v>>>0>(g=0|o[d+4>>2])>>>0)<<31>>31)|0,k=v-(b?g:0)|0,o[(h=b?d+8|0:d)>>2]=(0|o[h>>2])+k,o[(g=h+4|0)>>2]=(0|o[g>>2])-k,o[t>>2]=o[l>>2],o[t+4>>2]=h,o[t+8>>2]=w,(0|c)==(0|(v=0|ti(0|D(146,0|t))))){m=3;break e}u=w,d=h}o[e+16>>2]=0,o[f>>2]=0,o[A>>2]=0,o[e>>2]=32|o[e>>2],C=2==(0|u)?0:i-(0|o[d+4>>2])|0}else m=3}while(0);return 3==(0|m)&&(m=0|o[e+44>>2],o[e+16>>2]=m+(0|o[e+48>>2]),e=m,o[f>>2]=e,o[A>>2]=e,C=i),O=n,0|C},function(e,r,i){e|=0,r|=0,i|=0;var n,t,a,f=0;return n=O,O=O+32|0,a=n+20|0,o[(t=n)>>2]=o[e+60>>2],o[t+4>>2]=0,o[t+8>>2]=r,o[t+12>>2]=a,o[t+16>>2]=i,(0|ti(0|E(140,0|t)))<0?(o[a>>2]=-1,f=-1):f=0|o[a>>2],O=n,0|f},function(e,r,i){r|=0,i|=0;var n,t,a,f,A,u,s,c=0,d=0,v=0,g=0;if(!(c=0|o[(n=(e|=0)+104|0)>>2]))return 0;if(t=0|o[r+36>>2],a=(0|o[r+16>>2])+i|0,(0|i)<=0)return 0;for(f=t+60|0,A=e+8|0,u=e+16|0,s=r+52|0,d=i,i=c;c=0|o[f>>2],v=0|o[A>>2],g=0|o[e>>2],ue(t,v-c+(0|o[u>>2])|0,i+(0|l(g,c-v|0))|0,g),!((0|(g=d-(0|Zi[15&o[s>>2]](r,a-d|0,d))|0))<=0);)d=g,i=0|o[n>>2];return 0},function(e,r,i){e|=0,i|=0;var n,t,a,f=0,A=0,u=0,s=0,c=0,d=0,v=0;if(f=0|o[(r|=0)>>2],A=0|o[f+28>>2],n=0|o[r+16>>2],u=0|o[(t=f+44|0)>>2],a=A+(0|l(u,n))|0,!(s=0|o[e+104>>2])){if(!A)return 0;if(A=0|o[e+96>>2],(0|i)<=0)return 0;for(c=a,d=0;Oi(0|c,-1,0|A),(0|(d=d+1|0))!=(0|i);)c=c+u|0;return 0}if(u=0|o[f+16>>2],f=0|o[(c=f+32|0)>>2],i=0|o[e>>2],d=0|o[e+16>>2],r=0|o[(e=r+36|0)>>2],(0|d)<=0)return 0;A=0,v=d,d=s;do{s=0|ue(r,v,d,i),d=d+(0|l(s,i))|0,v=v-s|0,A=(0|Ye(r))+A|0}while((0|v)>0);return(0|A)<=0||Ue(v=u+(0|l(f,n))|0,0|o[c>>2],a,0|o[t>>2],0|o[52+(0|o[e>>2])>>2],A,1),0},function(e,r,i){r|=0,i|=0;var n,t,a=0,f=0,A=0,u=0;if(i=0|o[(e|=0)+104>>2],a=0|o[r>>2],r=0|o[e+12>>2],n=0|o[e+16>>2],f=0|o[a+28>>2],a=0|o[(t=a+44|0)>>2],A=f+(0|l(a,0|o[e+8>>2]))|0,i){if((0|n)<=0)return 0;for(a=A,A=i,i=0;Ti(0|a,0|A,0|r),(0|(i=i+1|0))!=(0|n);)a=a+(0|o[t>>2])|0,A=A+(0|o[e>>2])|0;return 0}if(!((0|n)>0&0!=(0|f)))return 0;for(f=A,u=0;Oi(0|f,-1,0|r),(0|(u=u+1|0))!=(0|n);)f=f+a|0;return 0},function(e,r,i){r|=0,i|=0;var n,t,a,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0;return(i=0|o[(e|=0)+104>>2])?(n=0|o[e+12>>2],t=0|o[r>>2],f=1&(a=4==(0|(r=0|o[t>>2]))|9==(0|r)),A=0|o[e+8>>2],u=0|o[e+16>>2],0|o[e+56>>2]?(A?(v=u,g=A+-1|0,b=i+(0-(0|o[e>>2]))|0):(v=u+-1|0,g=0,b=i),s=(0|(h=u+A+(i=0|o[e+84>>2])|0))==(0|o[e+88>>2])?h-(i+g)|0:v,c=g,d=b):(s=u,c=A,d=i),g=0|o[(b=t+20|0)>>2],v=(0|o[t+16>>2])+(0|l(g,c))|0,(r+-7|0)>>>0>3|0==(0|we(d,0|o[e>>2],n,s,v+(a?0:3)|0,g))||he(v,f,n,s,0|o[b>>2]),0):0},function(e,r,i){r|=0,i|=0;var t,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0;if(t=(s=0|o[(e|=0)>>2])+20|0,f=(0|o[s+16>>2])+(0|l(0|o[t>>2],r))|0,e=0|o[(r=e+36|0)>>2],A=0|o[e+52>>2],u=((0|o[s>>2])-7|0)>>>0<4,(0|o[e+64>>2])>=(0|o[e+56>>2]))return 0|(c=0);if((0|A)<=0){for(s=0,d=e;;){if(!((0|s)<(0|i)&&(0|o[d+24>>2])<1)){c=s,v=13;break}if(se(d),g=s+1|0,d=0|o[r>>2],(0|o[d+64>>2])>=(0|o[d+56>>2])){c=g,v=13;break}s=g}if(13==(0|v))return 0|c}for(v=15,s=0,d=f+1|0,g=e;;){if(!((0|s)<(0|i)&&(0|o[g+24>>2])<1)){b=v,h=s;break}se(g),e=0,w=v;do{m=(k=0|a[(0|o[68+(0|o[r>>2])>>2])+e>>0])>>>4,n[(k=d+(e<<1)|0)>>0]=m|-16&n[k>>0]&255,w&=m,e=e+1|0}while((0|e)!=(0|A));if(e=s+1|0,g=0|o[r>>2],(0|o[g+64>>2])>=(0|o[g+56>>2])){b=w,h=e;break}v=w,s=e,d=d+(0|o[t>>2])|0}return u&15!=(0|b)?(be(f,A,h,0|o[t>>2]),0|(c=h)):0|(c=h)},function(e,r,i){r|=0,i|=0;var n,t,a,f,A,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0;if(u=0|o[(e|=0)>>2],s=0|o[(n=u+20|0)>>2],t=(0|o[u+16>>2])+(0|l(s,r))|0,a=1&(u=4==(0|(r=0|o[u>>2]))|9==(0|r)),f=(r+-7|0)>>>0<4,e=0|o[(r=e+36|0)>>2],A=0|o[e+52>>2],(0|o[e+64>>2])>=(0|o[e+56>>2]))return 0|0;for(c=0,d=0,v=t+(u?0:3)|0,u=e,e=s;;){if(!((0|d)<(0|i)&&(0|o[u+24>>2])<1)){g=c,b=d,h=e;break}if(se(u),s=0|we(0|o[68+(0|o[r>>2])>>2],0,A,1,v,0)|c,w=0|o[n>>2],k=d+1|0,u=0|o[r>>2],(0|o[u+64>>2])>=(0|o[u+56>>2])){g=s,b=k,h=w;break}c=s,d=k,v=v+w|0,e=w}return f&0!=(0|g)?(he(t,a,A,b,h),0|b):0|b},function(e,r,i){r|=0,i|=0;var t,f,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0;if(!(i=0|o[(e|=0)+104>>2]))return 0;if(t=0|o[e+12>>2],A=0|o[r>>2],r=0|o[A>>2],u=0|o[e+8>>2],f=0|o[e+16>>2],0|o[e+56>>2]?(u?(v=u+-1|0,g=f,b=i+(0-(0|o[e>>2]))|0):(v=0,g=f+-1|0,b=i),s=v,c=(0|(h=f+u+(i=0|o[e+84>>2])|0))==(0|o[e+88>>2])?h-(i+v)|0:g,d=b):(s=u,c=f,d=i),b=A+20|0,g=(0|o[A+16>>2])+(0|l(0|o[b>>2],s))|0,(0|c)<=0)return 0;if((0|t)<=0)return 0;for(s=0,A=15,v=g+1|0,i=d;;){d=0,w=A;do{u=(h=0|a[i+d>>0])>>>4,n[(h=v+(d<<1)|0)>>0]=u|-16&n[h>>0]&255,w&=u,d=d+1|0}while((0|d)!=(0|t));if(k=0|o[b>>2],(0|(s=s+1|0))==(0|c))break;A=w,v=v+k|0,i=i+(0|o[e>>2])|0}return(r+-7|0)>>>0>3|15==(0|w)||be(g,t,c,k),0},zi,zi,zi,zi,zi,zi],ji=[function(e,r,i,n,t,o){return 0,0,0,0,0,0,d(3),0},function(e,r,i,n,f,A){i|=0,n|=0,A|=0;var u,s,d,v,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0;if((0|(f|=0))>=16)return 0|(g=16);u=(e|=0)+4|0,s=e+8|0,d=e+12|0,v=e+20|0,b=(0|o[(r|=0)+(f<<2)>>2])+(11*i|0)|0,i=f,f=0|o[s>>2],h=0|o[u>>2];e:for(;;){w=0|a[b>>0];do{if((0|f)<0){if((k=0|o[d>>2])>>>0<(0|o[v>>2])>>>0){m=a[k>>0]|a[k+1>>0]<<8|a[k+2>>0]<<16|a[k+3>>0]<<24,o[d>>2]=k+3,k=0|Ri(0|m),o[e>>2]=o[e>>2]<<24|k>>>8,k=f+24|0,o[s>>2]=k,C=k;break}Yr(e),C=0|o[s>>2];break}C=f}while(0);if(m=(k=0|l(h,w))>>>8,k=0|o[e>>2],(p=(C?k>>>C:k)>>>0>m>>>0)?(I=k-(m+1<>2]=I,y=h-m|0,E=I):(y=m+1|0,E=k),m=C-(k=24^(0|c(0|y)))|0,o[s>>2]=m,I=(y<>2]=I,!p){g=i,D=37;break}for(p=b,k=i,L=m,m=E,x=I;;){I=0|a[p+1>>0];do{if((0|L)<0){if((S=0|o[d>>2])>>>0<(0|o[v>>2])>>>0){B=a[S>>0]|a[S+1>>0]<<8|a[S+2>>0]<<16|a[S+3>>0]<<24,o[d>>2]=S+3,B=m<<24|(S=0|Ri(0|B))>>>8,o[e>>2]=B,S=L+24|0,o[s>>2]=S,M=B,F=S;break}Yr(e),M=0|o[e>>2],F=0|o[s>>2];break}M=m,F=L}while(0);if((S=(F?M>>>F:M)>>>0>(B=(S=0|l(x,I))>>>8)>>>0)?(_=M-(B+1<>2]=_,P=x-B|0,R=_):(P=B+1|0,R=M),T=F-(B=24^(0|c(0|P)))|0,o[s>>2]=T,G=(P<>2]=G,O=k+1|0,S)break;if(16==(0|O)){g=16,D=37;break e}p=0|o[r+(O<<2)>>2],k=O,L=T,m=R,x=G}x=0|o[r+(O<<2)>>2],m=0|a[p+2>>0];do{if((0|T)<0){if((L=0|o[d>>2])>>>0<(0|o[v>>2])>>>0){w=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[d>>2]=L+3,w=R<<24|(L=0|Ri(0|w))>>>8,o[e>>2]=w,L=T+24|0,o[s>>2]=L,q=w,Y=L;break}Yr(e),q=0|o[e>>2],Y=0|o[s>>2];break}q=R,Y=T}while(0);(L=(Y?q>>>Y:q)>>>0>(w=(L=0|l(G,m))>>>8)>>>0)?(o[e>>2]=q-(w+1<>2]=S,o[u>>2]=(U<>2]):(z=1,W=x+11|0,X=S);do{if((0|X)<0){if((S=0|o[d>>2])>>>0<(0|o[v>>2])>>>0){L=a[S>>0]|a[S+1>>0]<<8|a[S+2>>0]<<16|a[S+3>>0]<<24,o[d>>2]=S+3,S=0|Ri(0|L),o[e>>2]=o[e>>2]<<24|S>>>8,S=X+24|0,o[s>>2]=S,Q=S;break}Yr(e),Q=0|o[s>>2];break}Q=X}while(0);if(p=(x=0|o[u>>2])>>>1,m=0|o[e>>2],L=(S=p-(Q?m>>>Q:m)|0)>>31,S=Q+-1|0,o[s>>2]=S,w=L+x|1,o[u>>2]=w,o[e>>2]=m-((L&p+1)<0&1)<<2)>>2])),t[A+((0|a[7584+k>>0])<<1)>>1]=p,!((0|k)<15)){g=16,D=37;break}b=W,i=O,f=S,h=w}return 37==(0|D)?0|g:0}],Ki=[Wi,function(e){o[(e|=0)>>2]=0,o[e+4>>2]=0,o[e+8>>2]=0,o[e+12>>2]=0,o[e+16>>2]=0,o[e+20>>2]=0},function(e){var r,i,n=0,t=0;if(r=0|o[(e|=0)>>2]){switch(ri(r),0|o[(i=e+4|0)>>2]){case 0:break;case 1:n=r+28|0,t=6;break;default:e=r+28|0;do{P(0|e,0|r)}while(1!=(0|o[i>>2]));n=e,t=6}6==(0|t)&&(o[i>>2]=2,_(0|n)),ii(r)}},function(e){var r,i=0;(i=0|o[(e|=0)+8>>2])&&(r=0==(0|Hi[31&i](0|o[e+12>>2],0|o[e+16>>2]))&1,o[(i=e+20|0)>>2]=o[i>>2]|r)},function(e){var r,i,n=0,t=0,a=0;if(r=0|o[(e|=0)>>2]){switch(ri(r),0|o[(i=e+4|0)>>2]){case 0:break;case 1:n=r+28|0,t=6;break;default:a=r+28|0;do{P(0|a,0|r)}while(1!=(0|o[i>>2]));n=a,t=6}6==(0|t)&&(o[i>>2]=0,_(0|n)),ii(r),T(0|o[r+76>>2],0),ni(r),M(r+28|0),Y(r),o[e>>2]=0}},function(e){var r;r=40+(0|o[(e|=0)+40>>2])|0,Y(0|o[r>>2]),o[r>>2]=0},function(e){var r;Oi(0|(e|=0),0|(r=(4+(0|a[e+-32>>0])+(0|a[e+-1>>0])+(0|a[e+-31>>0])+(0|a[e+31>>0])+(0|a[e+-30>>0])+(0|a[e+63>>0])+(0|a[e+-29>>0])+(0|a[e+95>>0])|0)>>>3&255),4),Oi(e+32|0,0|r,4),Oi(e+64|0,0|r,4),Oi(e+96|0,0|r,4)},function(e){e|=0;var r,i,t,f,A,u=0;u=(r=(0|o[2026])+(0-(0|a[e+-33>>0]))|0)+(0|a[e+-1>>0])|0,i=0|a[e+-32>>0],n[e>>0]=0|n[u+i>>0],t=0|a[e+-31>>0],n[e+1>>0]=0|n[u+t>>0],f=0|a[e+-30>>0],n[e+2>>0]=0|n[u+f>>0],A=0|a[e+-29>>0],n[e+3>>0]=0|n[u+A>>0],u=r+(0|a[e+31>>0])|0,n[e+32>>0]=0|n[u+i>>0],n[e+33>>0]=0|n[u+t>>0],n[e+34>>0]=0|n[u+f>>0],n[e+35>>0]=0|n[u+A>>0],u=r+(0|a[e+63>>0])|0,n[e+64>>0]=0|n[u+i>>0],n[e+65>>0]=0|n[u+t>>0],n[e+66>>0]=0|n[u+f>>0],n[e+67>>0]=0|n[u+A>>0],u=r+(0|a[e+95>>0])|0,n[e+96>>0]=0|n[u+i>>0],n[e+97>>0]=0|n[u+t>>0],n[e+98>>0]=0|n[u+f>>0],n[e+99>>0]=0|n[u+A>>0]},function(e){var r,i,t,o=0,f=0,A=0,u=0;o=0|a[(e|=0)+-32>>0],i=(A=(r=(f=0|a[e+-31>>0])+2|0)+(0|a[e+-33>>0])+(o<<1)|0)>>>2&255,f=(u=(t=(A=0|a[e+-30>>0])+2|0)+o+(f<<1)|0)>>>2&255,A=(o=r+(A<<1)+(u=0|a[e+-29>>0])|0)>>>2&255,u=(o=t+(u<<1)+(0|a[e+-28>>0])|0)>>>2&255,n[e>>0]=i,n[e+1>>0]=f,n[e+2>>0]=A,n[e+3>>0]=u,n[e+32>>0]=i,n[e+33>>0]=f,n[e+34>>0]=A,n[e+35>>0]=u,n[e+64>>0]=i,n[e+65>>0]=f,n[e+66>>0]=A,n[e+67>>0]=u,n[e+96>>0]=i,n[e+97>>0]=f,n[e+98>>0]=A,n[e+99>>0]=u},function(e){var r,i,t,o,f,A=0,u=0,s=0,l=0,c=0;A=0|a[(e|=0)+-1>>0],r=0|a[e+31>>0],u=0|a[e+63>>0],s=0|a[e+-33>>0],l=0|a[e+-32>>0],i=0|a[e+-31>>0],t=0|a[e+-30>>0],o=0|a[e+-29>>0],c=(f=r+2|0)+(u<<1)+(0|a[e+95>>0])|0,n[e+96>>0]=c>>>2,u=((c=A+2|0)+(r<<1)+u|0)>>>2&255,n[e+64>>0]=u,n[e+97>>0]=u,A=(u=f+(A<<1)+s|0)>>>2&255,n[e+32>>0]=A,n[e+65>>0]=A,n[e+98>>0]=A,c=(A=c+l+(s<<1)|0)>>>2&255,n[e>>0]=c,n[e+33>>0]=c,n[e+66>>0]=c,n[e+99>>0]=c,s=(c=s+2+i+(l<<1)|0)>>>2&255,n[e+1>>0]=s,n[e+34>>0]=s,n[e+67>>0]=s,l=(s=l+2+t+(i<<1)|0)>>>2&255,n[e+2>>0]=l,n[e+35>>0]=l,l=i+2+o+(t<<1)|0,n[e+3>>0]=l>>>2},function(e){var r,i,t,o,f=0,A=0,u=0,s=0,l=0;r=0|a[(e|=0)+-31>>0],f=0|a[e+-30>>0],A=0|a[e+-29>>0],u=0|a[e+-28>>0],s=0|a[e+-27>>0],i=0|a[e+-26>>0],t=0|a[e+-25>>0],l=(o=f+2|0)+(0|a[e+-32>>0])+(r<<1)|0,n[e>>0]=l>>>2,f=((l=A+2|0)+r+(f<<1)|0)>>>2&255,n[e+32>>0]=f,n[e+1>>0]=f,A=(f=o+(A<<1)+u|0)>>>2&255,n[e+64>>0]=A,n[e+33>>0]=A,n[e+2>>0]=A,l=(A=l+(u<<1)+s|0)>>>2&255,n[e+96>>0]=l,n[e+65>>0]=l,n[e+34>>0]=l,n[e+3>>0]=l,u=(l=u+2+(s<<1)+i|0)>>>2&255,n[e+97>>0]=u,n[e+66>>0]=u,n[e+35>>0]=u,s=(u=s+2+(i<<1)+t|0)>>>2&255,n[e+98>>0]=s,n[e+67>>0]=s,s=i+2+t+(t<<1)|0,n[e+99>>0]=s>>>2},function(e){var r,i,t=0,o=0,f=0,A=0,u=0;r=0|a[(e|=0)+-1>>0],t=0|a[e+31>>0],o=0|a[e+63>>0],f=0|a[e+95>>0],A=(i=t+2|0)+(0|a[e+-33>>0])+(r<<1)|0,u=0|l(A>>>2&255,16843009),n[e>>0]=u,n[e+1>>0]=u>>8,n[e+2>>0]=u>>16,n[e+3>>0]=u>>24,u=e+32|0,t=0|l(((A=o+2|0)+r+(t<<1)|0)>>>2&255,16843009),n[u>>0]=t,n[u+1>>0]=t>>8,n[u+2>>0]=t>>16,n[u+3>>0]=t>>24,t=e+64|0,o=0|l((u=i+(o<<1)+f|0)>>>2&255,16843009),n[t>>0]=o,n[t+1>>0]=o>>8,n[t+2>>0]=o>>16,n[t+3>>0]=o>>24,o=e+96|0,f=0|l((e=A+f+(f<<1)|0)>>>2&255,16843009),n[o>>0]=f,n[o+1>>0]=f>>8,n[o+2>>0]=f>>16,n[o+3>>0]=f>>24},function(e){var r,i,t,o,f,A=0,u=0,s=0,l=0,c=0;r=0|a[(e|=0)+-1>>0],i=0|a[e+31>>0],A=0|a[e+63>>0],u=0|a[e+-33>>0],s=0|a[e+-32>>0],t=0|a[e+-31>>0],o=0|a[e+-30>>0],f=0|a[e+-29>>0],c=((l=s+1|0)+u|0)>>>1&255,n[e+65>>0]=c,n[e>>0]=c,l=(c=l+t|0)>>>1&255,n[e+66>>0]=l,n[e+1>>0]=l,c=(l=t+1+o|0)>>>1&255,n[e+67>>0]=c,n[e+2>>0]=c,c=o+1+f|0,n[e+3>>0]=c>>>1,l=(c=r+2|0)+A+(i<<1)|0,n[e+96>>0]=l>>>2,A=(l=u+2|0)+i+(r<<1)|0,n[e+64>>0]=A>>>2,u=(A=c+(u<<1)+s|0)>>>2&255,n[e+97>>0]=u,n[e+32>>0]=u,l=(u=l+(s<<1)+t|0)>>>2&255,n[e+98>>0]=l,n[e+33>>0]=l,s=(l=s+2+(t<<1)+o|0)>>>2&255,n[e+99>>0]=s,n[e+34>>0]=s,s=t+2+(o<<1)+f|0,n[e+35>>0]=s>>>2},function(e){var r,i,t,o,f,A=0,u=0,s=0,l=0,c=0;A=0|a[(e|=0)+-32>>0],r=0|a[e+-31>>0],u=0|a[e+-30>>0],s=0|a[e+-29>>0],i=0|a[e+-28>>0],t=0|a[e+-27>>0],o=0|a[e+-26>>0],f=0|a[e+-25>>0],c=(l=r+1|0)+A|0,n[e>>0]=c>>>1,l=(c=l+u|0)>>>1&255,n[e+64>>0]=l,n[e+1>>0]=l,c=(l=u+1+s|0)>>>1&255,n[e+65>>0]=c,n[e+2>>0]=c,l=(c=s+1+i|0)>>>1&255,n[e+66>>0]=l,n[e+3>>0]=l,c=(l=u+2|0)+A+(r<<1)|0,n[e+32>>0]=c>>>2,u=(A=(c=s+2|0)+r+(u<<1)|0)>>>2&255,n[e+96>>0]=u,n[e+33>>0]=u,s=(u=l+(s<<1)+i|0)>>>2&255,n[e+97>>0]=s,n[e+34>>0]=s,c=(s=c+(i<<1)+t|0)>>>2&255,n[e+98>>0]=c,n[e+35>>0]=c,c=i+2+(t<<1)+o|0,n[e+67>>0]=c>>>2,c=t+2+(o<<1)+f|0,n[e+99>>0]=c>>>2},function(e){var r,i,t,o,f=0,A=0,u=0,s=0,l=0,c=0;r=0|a[(e|=0)+-1>>0],f=0|a[e+31>>0],i=0|a[e+63>>0],t=0|a[e+95>>0],A=0|a[e+-33>>0],u=0|a[e+-32>>0],s=0|a[e+-31>>0],o=0|a[e+-30>>0],c=((l=r+1|0)+A|0)>>>1&255,n[e+34>>0]=c,n[e>>0]=c,l=(c=l+f|0)>>>1&255,n[e+66>>0]=l,n[e+32>>0]=l,c=(l=f+1+i|0)>>>1&255,n[e+98>>0]=c,n[e+64>>0]=c,c=i+1+t|0,n[e+96>>0]=c>>>1,c=u+2+(s<<1)+o|0,n[e+3>>0]=c>>>2,c=A+2+(u<<1)+s|0,n[e+2>>0]=c>>>2,u=(s=(c=r+2|0)+(A<<1)+u|0)>>>2&255,n[e+35>>0]=u,n[e+1>>0]=u,A=(s=(u=f+2|0)+(r<<1)+A|0)>>>2&255,n[e+67>>0]=A,n[e+33>>0]=A,f=(A=c+i+(f<<1)|0)>>>2&255,n[e+99>>0]=f,n[e+65>>0]=f,f=u+t+(i<<1)|0,n[e+97>>0]=f>>>2},function(e){var r,i,t,o=0,f=0,A=0,u=0;r=0|a[(e|=0)+-1>>0],i=0|a[e+31>>0],o=0|a[e+63>>0],f=255&(t=0|n[e+95>>0]),u=(A=i+1|0)+r|0,n[e>>0]=u>>>1,A=(u=A+o|0)>>>1&255,n[e+32>>0]=A,n[e+2>>0]=A,u=(A=o+1+f|0)>>>1&255,n[e+64>>0]=u,n[e+34>>0]=u,A=(u=o+2|0)+r+(i<<1)|0,n[e+1>>0]=A>>>2,o=(A=f+2+i+(o<<1)|0)>>>2&255,n[e+33>>0]=o,n[e+3>>0]=o,f=(o=u+f+(f<<1)|0)>>>2&255,n[e+65>>0]=f,n[e+35>>0]=f,n[e+66>>0]=t,n[e+67>>0]=t,Oi(e+96|0,0|t,4)},function(e){var r;Oi(0|(e|=0),0|(r=(16+(0|a[e+-1>>0])+(0|a[e+-32>>0])+(0|a[e+31>>0])+(0|a[e+-31>>0])+(0|a[e+63>>0])+(0|a[e+-30>>0])+(0|a[e+95>>0])+(0|a[e+-29>>0])+(0|a[e+127>>0])+(0|a[e+-28>>0])+(0|a[e+159>>0])+(0|a[e+-27>>0])+(0|a[e+191>>0])+(0|a[e+-26>>0])+(0|a[e+223>>0])+(0|a[e+-25>>0])+(0|a[e+255>>0])+(0|a[e+-24>>0])+(0|a[e+287>>0])+(0|a[e+-23>>0])+(0|a[e+319>>0])+(0|a[e+-22>>0])+(0|a[e+351>>0])+(0|a[e+-21>>0])+(0|a[e+383>>0])+(0|a[e+-20>>0])+(0|a[e+415>>0])+(0|a[e+-19>>0])+(0|a[e+447>>0])+(0|a[e+-18>>0])+(0|a[e+479>>0])+(0|a[e+-17>>0])|0)>>>5&255),16),Oi(e+32|0,0|r,16),Oi(e+64|0,0|r,16),Oi(e+96|0,0|r,16),Oi(e+128|0,0|r,16),Oi(e+160|0,0|r,16),Oi(e+192|0,0|r,16),Oi(e+224|0,0|r,16),Oi(e+256|0,0|r,16),Oi(e+288|0,0|r,16),Oi(e+320|0,0|r,16),Oi(e+352|0,0|r,16),Oi(e+384|0,0|r,16),Oi(e+416|0,0|r,16),Oi(e+448|0,0|r,16),Oi(e+480|0,0|r,16)},function(e){var r,i,t,f,A,u,s,l,c,d,v,g,b,h,w,k,m,C=0,p=0;for(r=(e|=0)+-32|0,i=(0|o[2026])+(0-(0|a[e+-33>>0]))|0,t=e+-31|0,f=e+-30|0,A=e+-29|0,u=e+-28|0,s=e+-27|0,l=e+-26|0,c=e+-25|0,d=e+-24|0,v=e+-23|0,g=e+-22|0,b=e+-21|0,h=e+-20|0,w=e+-19|0,k=e+-18|0,m=e+-17|0,C=e,e=0;p=i+(0|a[C+-1>>0])|0,n[C>>0]=0|n[p+(0|a[r>>0])>>0],n[C+1>>0]=0|n[p+(0|a[t>>0])>>0],n[C+2>>0]=0|n[p+(0|a[f>>0])>>0],n[C+3>>0]=0|n[p+(0|a[A>>0])>>0],n[C+4>>0]=0|n[p+(0|a[u>>0])>>0],n[C+5>>0]=0|n[p+(0|a[s>>0])>>0],n[C+6>>0]=0|n[p+(0|a[l>>0])>>0],n[C+7>>0]=0|n[p+(0|a[c>>0])>>0],n[C+8>>0]=0|n[p+(0|a[d>>0])>>0],n[C+9>>0]=0|n[p+(0|a[v>>0])>>0],n[C+10>>0]=0|n[p+(0|a[g>>0])>>0],n[C+11>>0]=0|n[p+(0|a[b>>0])>>0],n[C+12>>0]=0|n[p+(0|a[h>>0])>>0],n[C+13>>0]=0|n[p+(0|a[w>>0])>>0],n[C+14>>0]=0|n[p+(0|a[k>>0])>>0],n[C+15>>0]=0|n[p+(0|a[m>>0])>>0],16!=(0|(e=e+1|0));)C=C+32|0},function(e){var r,i=0,t=0,o=0;t=r=(e|=0)+-32|0,o=(i=e)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+32|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+64|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+96|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+128|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+160|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+192|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+224|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+256|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+288|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+320|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+352|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+384|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+416|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+448|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+480|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o))},function(e){Oi(0|(e|=0),0|n[e+-1>>0],16),Oi(e+32|0,0|n[e+31>>0],16),Oi(e+64|0,0|n[e+63>>0],16),Oi(e+96|0,0|n[e+95>>0],16),Oi(e+128|0,0|n[e+127>>0],16),Oi(e+160|0,0|n[e+159>>0],16),Oi(e+192|0,0|n[e+191>>0],16),Oi(e+224|0,0|n[e+223>>0],16),Oi(e+256|0,0|n[e+255>>0],16),Oi(e+288|0,0|n[e+287>>0],16),Oi(e+320|0,0|n[e+319>>0],16),Oi(e+352|0,0|n[e+351>>0],16),Oi(e+384|0,0|n[e+383>>0],16),Oi(e+416|0,0|n[e+415>>0],16),Oi(e+448|0,0|n[e+447>>0],16),Oi(e+480|0,0|n[e+479>>0],16)},function(e){var r;Oi(0|(e|=0),0|(r=(8+(0|a[e+-1>>0])+(0|a[e+31>>0])+(0|a[e+63>>0])+(0|a[e+95>>0])+(0|a[e+127>>0])+(0|a[e+159>>0])+(0|a[e+191>>0])+(0|a[e+223>>0])+(0|a[e+255>>0])+(0|a[e+287>>0])+(0|a[e+319>>0])+(0|a[e+351>>0])+(0|a[e+383>>0])+(0|a[e+415>>0])+(0|a[e+447>>0])+(0|a[e+479>>0])|0)>>>4&255),16),Oi(e+32|0,0|r,16),Oi(e+64|0,0|r,16),Oi(e+96|0,0|r,16),Oi(e+128|0,0|r,16),Oi(e+160|0,0|r,16),Oi(e+192|0,0|r,16),Oi(e+224|0,0|r,16),Oi(e+256|0,0|r,16),Oi(e+288|0,0|r,16),Oi(e+320|0,0|r,16),Oi(e+352|0,0|r,16),Oi(e+384|0,0|r,16),Oi(e+416|0,0|r,16),Oi(e+448|0,0|r,16),Oi(e+480|0,0|r,16)},function(e){var r;Oi(0|(e|=0),0|(r=(8+(0|a[e+-32>>0])+(0|a[e+-31>>0])+(0|a[e+-30>>0])+(0|a[e+-29>>0])+(0|a[e+-28>>0])+(0|a[e+-27>>0])+(0|a[e+-26>>0])+(0|a[e+-25>>0])+(0|a[e+-24>>0])+(0|a[e+-23>>0])+(0|a[e+-22>>0])+(0|a[e+-21>>0])+(0|a[e+-20>>0])+(0|a[e+-19>>0])+(0|a[e+-18>>0])+(0|a[e+-17>>0])|0)>>>4&255),16),Oi(e+32|0,0|r,16),Oi(e+64|0,0|r,16),Oi(e+96|0,0|r,16),Oi(e+128|0,0|r,16),Oi(e+160|0,0|r,16),Oi(e+192|0,0|r,16),Oi(e+224|0,0|r,16),Oi(e+256|0,0|r,16),Oi(e+288|0,0|r,16),Oi(e+320|0,0|r,16),Oi(e+352|0,0|r,16),Oi(e+384|0,0|r,16),Oi(e+416|0,0|r,16),Oi(e+448|0,0|r,16),Oi(e+480|0,0|r,16)},function(e){var r=0,i=0;i=(r=e|=0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+32|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+64|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+96|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+128|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+160|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+192|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+224|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+256|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+288|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+320|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+352|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+384|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+416|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+448|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+480|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i))},function(e){var r;Oi(0|(e|=0),0|(r=(8+(0|a[e+-32>>0])+(0|a[e+-1>>0])+(0|a[e+-31>>0])+(0|a[e+31>>0])+(0|a[e+-30>>0])+(0|a[e+63>>0])+(0|a[e+-29>>0])+(0|a[e+95>>0])+(0|a[e+-28>>0])+(0|a[e+127>>0])+(0|a[e+-27>>0])+(0|a[e+159>>0])+(0|a[e+-26>>0])+(0|a[e+191>>0])+(0|a[e+-25>>0])+(0|a[e+223>>0])|0)>>>4&255),8),Oi(e+32|0,0|r,8),Oi(e+64|0,0|r,8),Oi(e+96|0,0|r,8),Oi(e+128|0,0|r,8),Oi(e+160|0,0|r,8),Oi(e+192|0,0|r,8),Oi(e+224|0,0|r,8)},function(e){var r,i,t,f,A,u,s,l,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0;r=(e|=0)+-32|0,d=(i=(0|o[2026])+(0-(0|a[e+-33>>0]))|0)+(0|a[e+-1>>0])|0,v=0|a[r>>0],n[e>>0]=0|n[d+v>>0],g=0|a[(t=e+-31|0)>>0],n[e+1>>0]=0|n[d+g>>0],b=0|a[(f=e+-30|0)>>0],n[e+2>>0]=0|n[d+b>>0],h=0|a[(A=e+-29|0)>>0],n[e+3>>0]=0|n[d+h>>0],w=0|a[(u=e+-28|0)>>0],n[e+4>>0]=0|n[d+w>>0],k=0|a[(s=e+-27|0)>>0],n[e+5>>0]=0|n[d+k>>0],m=0|a[(l=e+-26|0)>>0],n[e+6>>0]=0|n[d+m>>0],C=0|a[(c=e+-25|0)>>0],n[e+7>>0]=0|n[d+C>>0],d=i+(0|a[e+31>>0])|0,n[e+32>>0]=0|n[d+v>>0],n[e+33>>0]=0|n[d+g>>0],n[e+34>>0]=0|n[d+b>>0],n[e+35>>0]=0|n[d+h>>0],n[e+36>>0]=0|n[d+w>>0],n[e+37>>0]=0|n[d+k>>0],n[e+38>>0]=0|n[d+m>>0],n[e+39>>0]=0|n[d+C>>0],d=i+(0|a[e+63>>0])|0,n[e+64>>0]=0|n[d+v>>0],n[e+65>>0]=0|n[d+g>>0],n[e+66>>0]=0|n[d+b>>0],n[e+67>>0]=0|n[d+h>>0],n[e+68>>0]=0|n[d+w>>0],n[e+69>>0]=0|n[d+k>>0],n[e+70>>0]=0|n[d+m>>0],n[e+71>>0]=0|n[d+C>>0],C=i+(0|a[e+95>>0])|0,d=0|a[r>>0],n[e+96>>0]=0|n[C+d>>0],m=0|a[t>>0],n[e+97>>0]=0|n[C+m>>0],k=0|a[f>>0],n[e+98>>0]=0|n[C+k>>0],w=0|a[A>>0],n[e+99>>0]=0|n[C+w>>0],h=0|a[u>>0],n[e+100>>0]=0|n[C+h>>0],b=0|a[s>>0],n[e+101>>0]=0|n[C+b>>0],g=0|a[l>>0],n[e+102>>0]=0|n[C+g>>0],v=0|a[c>>0],n[e+103>>0]=0|n[C+v>>0],C=i+(0|a[e+127>>0])|0,n[e+128>>0]=0|n[C+d>>0],n[e+129>>0]=0|n[C+m>>0],n[e+130>>0]=0|n[C+k>>0],n[e+131>>0]=0|n[C+w>>0],n[e+132>>0]=0|n[C+h>>0],n[e+133>>0]=0|n[C+b>>0],n[e+134>>0]=0|n[C+g>>0],n[e+135>>0]=0|n[C+v>>0],v=i+(0|a[e+159>>0])|0,n[e+160>>0]=0|n[v+d>>0],n[e+161>>0]=0|n[v+m>>0],n[e+162>>0]=0|n[v+(0|a[f>>0])>>0],n[e+163>>0]=0|n[v+(0|a[A>>0])>>0],n[e+164>>0]=0|n[v+(0|a[u>>0])>>0],n[e+165>>0]=0|n[v+(0|a[s>>0])>>0],n[e+166>>0]=0|n[v+(0|a[l>>0])>>0],n[e+167>>0]=0|n[v+(0|a[c>>0])>>0],v=i+(0|a[e+191>>0])|0,n[e+192>>0]=0|n[v+(0|a[r>>0])>>0],n[e+193>>0]=0|n[v+(0|a[t>>0])>>0],n[e+194>>0]=0|n[v+(0|a[f>>0])>>0],n[e+195>>0]=0|n[v+(0|a[A>>0])>>0],n[e+196>>0]=0|n[v+(0|a[u>>0])>>0],n[e+197>>0]=0|n[v+(0|a[s>>0])>>0],n[e+198>>0]=0|n[v+(0|a[l>>0])>>0],n[e+199>>0]=0|n[v+(0|a[c>>0])>>0],v=i+(0|a[e+223>>0])|0,n[e+224>>0]=0|n[v+(0|a[r>>0])>>0],n[e+225>>0]=0|n[v+(0|a[t>>0])>>0],n[e+226>>0]=0|n[v+(0|a[f>>0])>>0],n[e+227>>0]=0|n[v+(0|a[A>>0])>>0],n[e+228>>0]=0|n[v+(0|a[u>>0])>>0],n[e+229>>0]=0|n[v+(0|a[s>>0])>>0],n[e+230>>0]=0|n[v+(0|a[l>>0])>>0],n[e+231>>0]=0|n[v+(0|a[c>>0])>>0]},function(e){var r=0,i=0,t=0,o=0;t=a[(i=r=(e|=0)+-32|0)>>0]|a[i+1>>0]<<8|a[i+2>>0]<<16|a[i+3>>0]<<24,r=a[(i=r+4|0)>>0]|a[i+1>>0]<<8|a[i+2>>0]<<16|a[i+3>>0]<<24,n[(o=i=e)>>0]=t,n[o+1>>0]=t>>8,n[o+2>>0]=t>>16,n[o+3>>0]=t>>24,n[(o=i+4|0)>>0]=r,n[o+1>>0]=r>>8,n[o+2>>0]=r>>16,n[o+3>>0]=r>>24,n[(i=o=e+32|0)>>0]=t,n[i+1>>0]=t>>8,n[i+2>>0]=t>>16,n[i+3>>0]=t>>24,n[(i=o+4|0)>>0]=r,n[i+1>>0]=r>>8,n[i+2>>0]=r>>16,n[i+3>>0]=r>>24,n[(o=i=e+64|0)>>0]=t,n[o+1>>0]=t>>8,n[o+2>>0]=t>>16,n[o+3>>0]=t>>24,n[(o=i+4|0)>>0]=r,n[o+1>>0]=r>>8,n[o+2>>0]=r>>16,n[o+3>>0]=r>>24,n[(i=o=e+96|0)>>0]=t,n[i+1>>0]=t>>8,n[i+2>>0]=t>>16,n[i+3>>0]=t>>24,n[(i=o+4|0)>>0]=r,n[i+1>>0]=r>>8,n[i+2>>0]=r>>16,n[i+3>>0]=r>>24,n[(o=i=e+128|0)>>0]=t,n[o+1>>0]=t>>8,n[o+2>>0]=t>>16,n[o+3>>0]=t>>24,n[(o=i+4|0)>>0]=r,n[o+1>>0]=r>>8,n[o+2>>0]=r>>16,n[o+3>>0]=r>>24,n[(i=o=e+160|0)>>0]=t,n[i+1>>0]=t>>8,n[i+2>>0]=t>>16,n[i+3>>0]=t>>24,n[(i=o+4|0)>>0]=r,n[i+1>>0]=r>>8,n[i+2>>0]=r>>16,n[i+3>>0]=r>>24,n[(o=i=e+192|0)>>0]=t,n[o+1>>0]=t>>8,n[o+2>>0]=t>>16,n[o+3>>0]=t>>24,n[(o=i+4|0)>>0]=r,n[o+1>>0]=r>>8,n[o+2>>0]=r>>16,n[o+3>>0]=r>>24,n[(e=o=e+224|0)>>0]=t,n[e+1>>0]=t>>8,n[e+2>>0]=t>>16,n[e+3>>0]=t>>24,n[(t=o+4|0)>>0]=r,n[t+1>>0]=r>>8,n[t+2>>0]=r>>16,n[t+3>>0]=r>>24},function(e){Oi(0|(e|=0),0|n[e+-1>>0],8),Oi(e+32|0,0|n[e+31>>0],8),Oi(e+64|0,0|n[e+63>>0],8),Oi(e+96|0,0|n[e+95>>0],8),Oi(e+128|0,0|n[e+127>>0],8),Oi(e+160|0,0|n[e+159>>0],8),Oi(e+192|0,0|n[e+191>>0],8),Oi(e+224|0,0|n[e+223>>0],8)},function(e){var r;Oi(0|(e|=0),0|(r=(4+(0|a[e+-1>>0])+(0|a[e+31>>0])+(0|a[e+63>>0])+(0|a[e+95>>0])+(0|a[e+127>>0])+(0|a[e+159>>0])+(0|a[e+191>>0])+(0|a[e+223>>0])|0)>>>3&255),8),Oi(e+32|0,0|r,8),Oi(e+64|0,0|r,8),Oi(e+96|0,0|r,8),Oi(e+128|0,0|r,8),Oi(e+160|0,0|r,8),Oi(e+192|0,0|r,8),Oi(e+224|0,0|r,8)},function(e){var r;Oi(0|(e|=0),0|(r=(4+(0|a[e+-32>>0])+(0|a[e+-31>>0])+(0|a[e+-30>>0])+(0|a[e+-29>>0])+(0|a[e+-28>>0])+(0|a[e+-27>>0])+(0|a[e+-26>>0])+(0|a[e+-25>>0])|0)>>>3&255),8),Oi(e+32|0,0|r,8),Oi(e+64|0,0|r,8),Oi(e+96|0,0|r,8),Oi(e+128|0,0|r,8),Oi(e+160|0,0|r,8),Oi(e+192|0,0|r,8),Oi(e+224|0,0|r,8)},function(e){var r=0,i=0;n[(i=r=e|=0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(i=r+4|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(r=i=e+32|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(r=i+4|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(i=r=e+64|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(i=r+4|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(r=i=e+96|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(r=i+4|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(i=r=e+128|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(i=r+4|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(r=i=e+160|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(r=i+4|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(i=r=e+192|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(i=r+4|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(e=i=e+224|0)>>0]=-2139062144,n[e+1>>0]=-8355712,n[e+2>>0]=-32640,n[e+3>>0]=-128,n[(e=i+4|0)>>0]=-2139062144,n[e+1>>0]=-8355712,n[e+2>>0]=-32640,n[e+3>>0]=-128},Wi,Wi],Ji=[Xi,function(e,r){var i,n,t,a,f,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0;if(n=(e|=0)+100|0,(0|(u=(r|=0)-(A=0|o[(i=e+108|0)>>2])|0))<=0)return o[(e+116|0)>>2]=r,void(o[i>>2]=r);for(s=0|o[n>>2],t=e+8|0,a=e+20|0,f=e+176|0,c=u,u=(0|o[e+16>>2])+((0|l(s,A))<<2)|0,d=A,v=A,A=s;;){if(s=(0|c)<16?c:16,g=0|o[t>>2],b=0|o[g+40>>2],h=0|o[g>>2],g=0|l(h,s),w=(0|o[b+136>>2])+(0|l(h,d))|0,k=0|o[a>>2],C=v+s|0,(0|(m=0|o[f>>2]))>0){if(ae(e+180+(20*(p=m+-1|0)|0)|0,v,C,u,k),1!=(0|m)){m=p;do{p=m,ae(e+180+(20*(m=m+-1|0)|0)|0,v,C,k,k)}while((0|p)>1)}}else(0|k)!=(0|u)&&Ti(0|k,0|u,0|l(s<<2,A));if(me(k,w,g),C=s+d|0,0|(p=0|o[(m=b+12|0)>>2])){if(y=0|o[(I=b+140|0)>>2],(0|c)>0){if(E=0|l(h,s+-1|0),$i[31&o[9472+(p<<2)>>2]](y,w,w,h),(0|(p=d+1|0))!=(0|C)){D=w,L=p;do{p=D,D=D+h|0,$i[31&o[9472+(o[m>>2]<<2)>>2]](p,D,D,h),L=L+1|0}while((0|L)!=(0|C))}x=w+E|0}else x=y;o[I>>2]=x}if(L=c-s|0,h=0|o[n>>2],(0|L)<=0)break;c=L,u=D=u+((0|l(h,s))<<2)|0,d=C,v=0|o[i>>2],A=h}o[(e+116|0)>>2]=r,o[i>>2]=r},function(e,r){var i,n,t,a=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0;if((0|(f=(r|=0)-(a=0|o[(i=(e|=0)+108|0)>>2])|0))<=0)o[i>>2]=r;else{if(A=0|o[e+100>>2],u=(0|o[e+16>>2])+((0|l(A,a))<<2)|0,n=0|o[e+8>>2],s=0|o[e+20>>2],t=o[n>>2]<<2,d=s,(0|(c=0|o[e+176>>2]))>0){if(ae(e+180+(20*(v=c+-1|0)|0)|0,a,r,u,d),1!=(0|c)){c=v;do{v=c,ae(e+180+(20*(c=c+-1|0)|0)|0,a,r,d,d)}while((0|v)>1)}}else(0|u)!=(0|d)&&Ti(0|s,0|u,0|l(f<<2,A));if(A=0|o[i>>2],(0|(u=(0|(f=0|o[n+88>>2]))<(0|r)?f:r))<=(0|(a=(d=(0|(f=0|o[n+84>>2]))>(0|A))?f:A)))o[i>>2]=r;else{if(c=s+(0|l(f-A|0,t))|0,v=(d?c:s)+((A=0|o[n+76>>2])<<2)|0,o[n+8>>2]=a-f,f=(0|o[n+80>>2])-A|0,o[n+12>>2]=f,A=u-a|0,o[n+16>>2]=A,u=0|o[(a=e+12|0)>>2],(s=0|o[u>>2])>>>0<=10){if(c=e+116|0,d=0|o[u+20>>2],g=(0|o[u+16>>2])+(0|l(d,0|o[c>>2]))|0,b=(0|A)>0,0|o[n+92>>2])if(b)for(b=e+268|0,k=0,w=0;;){h=v+(0|l(w,t))|0,C=g+(0|l(k,d))|0,p=A-w|0,I=0|fe(0|o[b>>2],p),Ae(h,t,0|o[44+(0|o[b>>2])>>2],I,0),w=(0|ue(0|o[b>>2],p,h,t))+w|0,h=0|o[b>>2],p=0|o[h+68>>2],I=0|o[h+52>>2],y=h+24|0,E=h+56|0,D=h+64|0;e:do{if((0|o[D>>2])<(0|o[E>>2]))for(L=0;;){if((0|o[y>>2])>0){x=L;break e}if(S=C+(0|l(L,d))|0,se(h),ve(p,I,1),le(p,I,s,S),S=L+1|0,!((0|o[D>>2])<(0|o[E>>2]))){x=S;break}L=S}else x=0}while(0);if(E=x+k|0,(0|w)>=(0|A)){m=E;break}k=E}else m=0;else if(b)for(h=A,w=v,k=g;;){if(le(w,f,s,k),!((0|h)>1)){m=A;break}h=h+-1|0,w=w+t|0,k=k+d|0}else m=A;return o[c>>2]=(0|o[c>>2])+m,void(o[i>>2]=r)}c=0|o[(m=e+116|0)>>2],k=(0|A)>0;e:do{if(0|o[n+92>>2])if(k)for(d=e+268|0,s=0,x=c,w=v;;){b=A-s|0,g=0|fe(0|o[d>>2],b),Ae(w,t,0|o[44+(0|o[d>>2])>>2],g,0),s=(0|ue(0|o[d>>2],b,w,t))+s|0,w=w+(0|l(g,t))|0,g=0|o[d>>2],b=0|o[g+68>>2],E=0|o[g+52>>2],D=g+24|0,I=g+56|0,p=g+64|0;r:do{if((0|o[p>>2])<(0|o[I>>2]))for(h=b+3|0,C=x,y=0;;){if((0|o[D>>2])>0){M=y;break r}if(se(g),ve(b,E,1),L=0|o[a>>2],Or(b,(0|o[L+16>>2])+(0|l(0|o[L+32>>2],C))|0,E),S=C>>1,qr(b,(0|o[L+20>>2])+(0|l(0|o[L+36>>2],S))|0,(0|o[L+24>>2])+(0|l(0|o[L+40>>2],S))|0,E,1&C^1),0|(S=0|o[L+28>>2])&&ke(h,0,E,1,S+(0|l(0|o[L+44>>2],C))|0,0),L=y+1|0,!((0|o[p>>2])<(0|o[I>>2]))){M=L;break}C=C+1|0,y=L}else M=0}while(0);if(I=M+x|0,(0|s)>=(0|A)){B=I;break}x=I}else B=c;else if(k)for(w=A,x=v,s=c,d=u;;){if(Or(x,(0|o[d+16>>2])+(0|l(0|o[d+32>>2],s))|0,f),b=s>>1,qr(x,g=(0|o[d+20>>2])+(0|l(0|o[d+36>>2],b))|0,(0|o[d+24>>2])+(0|l(0|o[d+40>>2],b))|0,f,1&s^1),0|(b=0|o[d+28>>2])&&ke(x+3|0,0,f,1,b+(0|l(0|o[d+44>>2],s))|0,0),b=s+1|0,(0|w)<=1){B=b;break e}w=w+-1|0,x=x+t|0,s=b,d=0|o[a>>2]}else B=c}while(0);o[m>>2]=B,o[i>>2]=r}}},Xi],$i=[Qi,function(e,r,i,t){r|=0,i|=0,t|=0;var o=0;if(o=(e|=0)?0|n[e>>0]:0,!((0|t)<=0)){e=o,o=0;do{e=(0|a[r+o>>0])+(255&e)&255,n[i+o>>0]=e,o=o+1|0}while((0|o)!=(0|t))}},function(e,r,i,t){r|=0,i|=0;var o=0,f=0,A=0;if(o=(0|(t|=0))>0,e|=0){if(!o)return;o=0;do{n[i+o>>0]=(0|a[r+o>>0])+(0|a[e+o>>0]),o=o+1|0}while((0|o)!=(0|t))}else if(o){f=0,A=0;do{f=(255&f)+(0|a[r+A>>0])|0,n[i+A>>0]=f,A=A+1|0}while((0|A)!=(0|t))}},function(e,r,i,t){r|=0,i|=0,t|=0;var o=0,f=0,A=0,u=0,s=0;if(e|=0){if(f=0|n[e>>0],!((0|t)<=0)&&(A=((o=(255&f)-(255&f)+(255&f)|0)>>>0<256?o:255+(o>>>31)|0)+(0|a[r>>0])|0,n[i>>0]=A,1!=(0|t))){o=1,u=A,A=f;do{u=((s=(255&u)-(255&(f=A))+(255&(A=0|n[e+o>>0]))|0)>>>0<256?s:255+(s>>>31)|0)+(0|a[r+o>>0])|0,n[i+o>>0]=u,o=o+1|0}while((0|o)!=(0|t))}}else{if((0|t)<=0)return;o=0,f=0;do{o=(255&o)+(0|a[r+f>>0])|0,n[i+f>>0]=o,f=f+1|0}while((0|f)!=(0|t))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0;if(!((0|(i|=0))<=0)){r=0;do{t=0|o[e+(r<<2)>>2],o[n+(r<<2)>>2]=t+-16777216&-16711936|16711935&t,r=r+1|0}while((0|r)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0;if(!((0|(i|=0))<=0)){r=0,t=0|o[n+-4>>2];do{t=(-16711936&(a=0|o[e+(r<<2)>>2]))+(-16711936&t)&-16711936|(16711935&a)+(16711935&t)&16711935,o[n+(r<<2)>>2]=t,r=r+1|0}while((0|r)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0;if(!((0|(i|=0))<=0)){t=0;do{a=0|o[r+(t<<2)>>2],f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0;if(!((0|(i|=0))<=0)){t=0;do{a=0|o[r+(t<<2)+4>>2],f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0;if(!((0|(i|=0))<=0)){t=0;do{a=0|o[r+(t<<2)+-4>>2],f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{A=0|o[(f=r+(t<<2)|0)>>2],a=(-16711936&(f=((u=(s=((f=(u=0|o[f+4>>2])^a)>>>1&2139062143)+(u&a)|0)^A)>>>1&2139062143)+(s&A)|0))+(-16711936&(A=0|o[e+(t<<2)>>2]))&-16711936|(16711935&f)+(16711935&A)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{a=(-16711936&(A=(((f=0|o[r+(t<<2)+-4>>2])^a)>>>1&2139062143)+(f&a)|0))+(-16711936&(f=0|o[e+(t<<2)>>2]))&-16711936|(16711935&A)+(16711935&f)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{a=(-16711936&(A=(((f=0|o[r+(t<<2)>>2])^a)>>>1&2139062143)+(f&a)|0))+(-16711936&(f=0|o[e+(t<<2)>>2]))&-16711936|(16711935&A)+(16711935&f)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0;if(!((0|(i|=0))<=0)){t=0;do{f=0|o[(a=r+(t<<2)|0)+-4>>2],u=((a=(A=0|o[a>>2])^f)>>>1&2139062143)+(A&f)|0,f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&u)+(-16711936&f)&-16711936|(16711935&u)+(16711935&f)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0;if(!((0|(i|=0))<=0)){t=0;do{f=0|o[(a=r+(t<<2)|0)>>2],u=((a=(A=0|o[a+4>>2])^f)>>>1&2139062143)+(A&f)|0,f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&u)+(-16711936&f)&-16711936|(16711935&u)+(16711935&f)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{A=0|o[(f=r+(t<<2)|0)+-4>>2],u=0|o[f>>2],s=0|o[f+4>>2],l=((f=A^a)>>>1&2139062143)+(A&a)|0,a=(-16711936&(s=((u=(f=((A=s^u)>>>1&2139062143)+(s&u)|0)^l)>>>1&2139062143)+(f&l)|0))+(-16711936&(l=0|o[e+(t<<2)>>2]))&-16711936|(16711935&s)+(16711935&l)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{A=0|o[(f=r+(t<<2)|0)>>2],s=(a>>>24)-(f=(u=0|o[f+-4>>2])>>>24)|0,l=(A>>>24)-f|0,c=(a>>>16&255)-(f=u>>>16&255)|0,d=(A>>>16&255)-f|0,v=(a>>>8&255)-(f=u>>>8&255)|0,g=(A>>>8&255)-f|0,a=(-16711936&(f=(((0|(u=(255&a)-(f=255&u)|0))>-1?u:0-u|0)-((0|(b=(255&A)-f|0))>-1?b:0-b|0)-((0|l)>-1?l:0-l|0)+((0|s)>-1?s:0-s|0)-((0|g)>-1?g:0-g|0)+((0|v)>-1?v:0-v|0)-((0|d)>-1?d:0-d|0)+((0|c)>-1?c:0-c|0)|0)<1?A:a))+(-16711936&(A=0|o[e+(t<<2)>>2]))&-16711936|(16711935&f)+(16711935&A)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{a=(-16711936&(u=((f=((A=0|o[(f=r+(t<<2)|0)>>2])>>>24)+(a>>>24)-((u=0|o[f+-4>>2])>>>24)|0)>>>0<256?f:f>>>24^255)<<24|((c=(255&A)+(255&a)-(255&u)|0)>>>0<256?c:c>>>24^255)|((s=(A>>>16&255)+(a>>>16&255)-(u>>>16&255)|0)>>>0<256?s:s>>>24^255)<<16|((l=(A>>>8&255)+(a>>>8&255)-(u>>>8&255)|0)>>>0<256?l:l>>>24^255)<<8))+(-16711936&(l=0|o[e+(t<<2)>>2]))&-16711936|(16711935&u)+(16711935&l)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{A=0|o[(f=r+(t<<2)|0)>>2],u=0|o[f+-4>>2],f=(((A=(s=((f=A^a)>>>1&2139062143)+(A&a)|0)>>>24)-(u>>>24)|0)/2|0)+A|0,l=(((A=s>>>16&255)-(u>>>16&255)|0)/2|0)+A|0,c=(((A=s>>>8&255)-(u>>>8&255)|0)/2|0)+A|0,a=(-16711936&(A=(f>>>0<256?f:f>>>24^255)<<24|((s=(((A=255&s)-(255&u)|0)/2|0)+A|0)>>>0<256?s:s>>>24^255)|(l>>>0<256?l:l>>>24^255)<<16|(c>>>0<256?c:c>>>24^255)<<8))+(-16711936&(c=0|o[e+(t<<2)>>2]))&-16711936|(16711935&A)+(16711935&c)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi],en=[Ni,function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f,A=0,u=0,s=0,l=0,c=0;if(n[(o|=0)>>0]=0|n[e>>0],A=e+1|0,u=o+1|0,f=r+-1|0,s=(0|r)>1){r=0;do{n[u+r>>0]=(0|a[A+r>>0])-(0|a[e+r>>0]),r=r+1|0}while((0|r)!=(0|f))}if(r=e+t|0,A=o+t|0,!((0|i)<=1))if(s)for(l=1,u=r,r=A,A=e;;){n[r>>0]=(0|a[u>>0])-(0|a[A>>0]),e=u+1|0,o=r+1|0,s=0;do{n[o+s>>0]=(0|a[e+s>>0])-(0|a[u+s>>0]),s=s+1|0}while((0|s)!=(0|f));if((0|(l=l+1|0))==(0|i))break;s=u,u=u+t|0,r=r+t|0,A=s}else for(s=1,o=r,u=A,l=e;n[u>>0]=(0|a[o>>0])-(0|a[l>>0]),(0|(s=s+1|0))!=(0|i);)c=o,o=o+t|0,u=u+t|0,l=c},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f,A=0,u=0,s=0;if(n[(o|=0)>>0]=0|n[e>>0],A=e+1|0,f=o+1|0,u=r+-1|0,(0|r)>1){s=0;do{n[f+s>>0]=(0|a[A+s>>0])-(0|a[e+s>>0]),s=s+1|0}while((0|s)!=(0|u))}if((0|r)>0&(0|i)>1){u=1,s=o,o=e;do{e=o,o=o+t|0,s=s+t|0,A=0;do{n[s+A>>0]=(0|a[o+A>>0])-(0|a[e+A>>0]),A=A+1|0}while((0|A)!=(0|r));u=u+1|0}while((0|u)!=(0|i))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0;if(n[(o|=0)>>0]=0|n[e>>0],f=e+1|0,A=o+1|0,u=r+-1|0,s=(0|r)>1){l=0;do{n[A+l>>0]=(0|a[f+l>>0])-(0|a[e+l>>0]),l=l+1|0}while((0|l)!=(0|u))}if(u=o+t|0,o=e+t|0,!((0|i)<=1))if(l=~t,s)for(c=1,A=u,u=o,o=e;;){n[A>>0]=(0|a[u>>0])-(0|a[o>>0]),e=1;do{f=(0|a[o+e>>0])+(0|a[u+(e+-1)>>0])-(0|a[u+(e+l)>>0])|0,n[A+e>>0]=(0|a[u+e>>0])-(f>>>0<256?f:255+(f>>>31)|0),e=e+1|0}while((0|e)!=(0|r));if((0|(c=c+1|0))==(0|i))break;e=u,A=A+t|0,u=u+t|0,o=e}else for(s=1,f=u,A=o,c=e;n[f>>0]=(0|a[A>>0])-(0|a[c>>0]),(0|(s=s+1|0))!=(0|i);)d=A,f=f+t|0,A=A+t|0,c=d},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){f=0;do{A=t+(f<<2)|0,u=0|a[r+f>>0],s=0|a[i+f>>0],d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)+-14234+((26149*s|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[A>>0]=d,v=(s=l+8708-((c=6419*u|0)>>>8)-((13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[A+1>>0]=v,g=(u=l+-17685+((s=33050*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[A+2>>0]=g,n[A+3>>0]=-1,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0;if(!((0|(o|=0))<=0)){f=0;do{A=t+(f<<2)|0,u=0|a[r+f>>0],s=0|a[i+f>>0],v=(d=(c=(l=19077*(0|a[e+f>>0])|0)>>>8)+-17685+((l=33050*u|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[A>>0]=v,g=(l=c+8708-((d=6419*u|0)>>>8)-((u=13320*s|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,n[A+1>>0]=g,b=(s=c+-14234+((l=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[A+2>>0]=b,n[A+3>>0]=-1,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[i+f>>0],s=t+(3*f|0)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)+-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[s>>0]=d,v=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[s+1>>0]=v,g=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s+2>>0]=g,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[i+f>>0],s=t+(3*f|0)|0,v=(d=(c=(l=19077*(0|a[e+f>>0])|0)>>>8)+-17685+((l=33050*A|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[s>>0]=v,g=(l=c+8708-((d=6419*A|0)>>>8)-((A=13320*u|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,n[s+1>>0]=g,b=(u=c+-14234+((l=26149*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[s+2>>0]=b,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){a=0;do{f=0|n[e+a>>0],A=0|n[r+a>>0],u=0|n[i+a>>0],n[(s=t+(a<<2)|0)>>0]=-1,l=255&A,A=255&u,d=(c=(f=(u=19077*(255&f)|0)>>>8)+-14234+((u=26149*A|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[s+1>>0]=d,v=(A=f+8708-((c=6419*l|0)>>>8)-((u=13320*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s+2>>0]=v,g=(l=f+-17685+((A=33050*l|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,n[s+3>>0]=g,a=a+1|0}while((0|a)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[i+f>>0],s=t+(f<<1)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)+-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,v=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,g=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s>>0]=v>>>4|240&d,n[s+1>>0]=15|g,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[i+f>>0],s=t+(f<<1)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)+-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,v=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,g=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s>>0]=v>>>5|248&d,n[s+1>>0]=g>>>3|v<<3&224,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0;if(f=(t|=0)+(3*(A=-2&(o|=0))|0)|0,A)for(A=r,r=t,t=i,i=e;;){if(e=0|a[A>>0],d=0|a[t>>0],h=(b=(g=(v=19077*(0|a[i>>0])|0)>>>8)+-14234+((v=26149*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[r>>0]=h,w=(d=g+8708-((b=6419*e|0)>>>8)-((v=13320*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[r+1>>0]=w,k=(e=g+-17685+((d=33050*e|0)>>>8)|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,n[r+2>>0]=k,e=0|a[A>>0],d=0|a[t>>0],m=(b=(v=(g=19077*(0|a[i+1>>0])|0)>>>8)+-14234+((g=26149*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[r+3>>0]=m,C=(d=v+8708-((b=6419*e|0)>>>8)-((g=13320*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[r+4>>0]=C,p=(e=v+-17685+((d=33050*e|0)>>>8)|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,n[r+5>>0]=p,e=i+2|0,d=A+1|0,v=t+1|0,(0|(r=r+6|0))==(0|f)){u=e,s=d,l=f,c=v;break}A=d,t=v,i=e}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],I=(i=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?i>>>6:255+(i>>31&-255)|0,n[l>>0]=I,y=(s=u+8708-((I=6419*o|0)>>>8)-((i=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[l+1>>0]=y,E=(o=u+-17685+((y=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,n[l+2>>0]=E)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0;if(A=(t|=0)+(f=(o|=0)<<2&-8)|0,f){for(v=2+((d=f+-8|0)>>>2)|0,d=r+(g=1+(d>>>3)|0)|0,b=r,r=t,h=i,w=e;k=0|a[b>>0],m=0|a[h>>0],y=(I=(p=(C=19077*(0|a[w>>0])|0)>>>8)+-14234+((C=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[r>>0]=y,E=(m=p+8708-((I=6419*k|0)>>>8)-((C=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[r+1>>0]=E,D=(k=p+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+2>>0]=D,n[r+3>>0]=-1,k=0|a[b>>0],m=0|a[h>>0],L=(I=(C=(p=19077*(0|a[w+1>>0])|0)>>>8)+-14234+((p=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[r+4>>0]=L,x=(m=C+8708-((I=6419*k|0)>>>8)-((p=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[r+5>>0]=x,S=(k=C+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+6>>0]=S,n[r+7>>0]=-1,(0|(r=r+8|0))!=(0|A);)b=b+1|0,h=h+1|0,w=w+2|0;u=e+v|0,s=d,l=t+f|0,c=i+g|0}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],B=(g=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[l>>0]=B,M=(s=u+8708-((B=6419*o|0)>>>8)-((g=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[l+1>>0]=M,F=(o=u+-17685+((M=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,n[l+2>>0]=F,n[l+3>>0]=-1)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0;if(f=(t|=0)+(3*(A=-2&(o|=0))|0)|0,A)for(A=r,r=t,t=i,i=e;;){if(e=0|a[A>>0],d=0|a[t>>0],h=(b=(g=(v=19077*(0|a[i>>0])|0)>>>8)+-17685+((v=33050*e|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[r>>0]=h,w=(v=g+8708-((b=6419*e|0)>>>8)-((e=13320*d|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[r+1>>0]=w,k=(d=g+-14234+((v=26149*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[r+2>>0]=k,d=0|a[A>>0],v=0|a[t>>0],m=(b=(e=(g=19077*(0|a[i+1>>0])|0)>>>8)+-17685+((g=33050*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[r+3>>0]=m,C=(g=e+8708-((b=6419*d|0)>>>8)-((d=13320*v|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[r+4>>0]=C,p=(v=e+-14234+((g=26149*v|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[r+5>>0]=p,v=i+2|0,g=A+1|0,e=t+1|0,(0|(r=r+6|0))==(0|f)){u=v,s=g,l=f,c=e;break}A=g,t=e,i=v}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],I=(i=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-17685+((c=33050*o|0)>>>8)|0)>>>0<16384?i>>>6:255+(i>>31&-255)|0,n[l>>0]=I,y=(i=u+8708-((I=6419*o|0)>>>8)-((o=13320*s|0)>>>8)|0)>>>0<16384?i>>>6:255+(i>>31&-255)|0,n[l+1>>0]=y,E=(s=u+-14234+((y=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[l+2>>0]=E)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0;if(A=(t|=0)+(f=(o|=0)<<2&-8)|0,f){for(v=2+((d=f+-8|0)>>>2)|0,d=r+(g=1+(d>>>3)|0)|0,b=r,r=t,h=i,w=e;k=0|a[b>>0],m=0|a[h>>0],y=(I=(p=(C=19077*(0|a[w>>0])|0)>>>8)+-17685+((C=33050*k|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[r>>0]=y,E=(C=p+8708-((I=6419*k|0)>>>8)-((k=13320*m|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[r+1>>0]=E,D=(m=p+-14234+((C=26149*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[r+2>>0]=D,n[r+3>>0]=-1,m=0|a[b>>0],C=0|a[h>>0],L=(I=(k=(p=19077*(0|a[w+1>>0])|0)>>>8)+-17685+((p=33050*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[r+4>>0]=L,x=(p=k+8708-((I=6419*m|0)>>>8)-((m=13320*C|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,n[r+5>>0]=x,S=(C=k+-14234+((p=26149*C|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[r+6>>0]=S,n[r+7>>0]=-1,(0|(r=r+8|0))!=(0|A);)b=b+1|0,h=h+1|0,w=w+2|0;u=e+v|0,s=d,l=t+f|0,c=i+g|0}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],B=(g=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-17685+((c=33050*o|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[l>>0]=B,M=(g=u+8708-((B=6419*o|0)>>>8)-((o=13320*s|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[l+1>>0]=M,F=(s=u+-14234+((M=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[l+2>>0]=F,n[l+3>>0]=-1)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var a,f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0;if(f=(t|=0)+(a=(o|=0)<<2&-8)|0,a){for(d=2+((c=a+-8|0)>>>2)|0,c=r+(v=1+(c>>>3)|0)|0,g=r,r=t,b=i,h=e;w=0|n[h>>0],k=0|n[g>>0],m=0|n[b>>0],n[r>>0]=-1,C=255&k,k=255&m,I=(p=(w=(m=19077*(255&w)|0)>>>8)+-14234+((m=26149*k|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,n[r+1>>0]=I,y=(k=w+8708-((p=6419*C|0)>>>8)-((m=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+2>>0]=y,E=(C=w+-17685+((k=33050*C|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[r+3>>0]=E,C=0|n[h+1>>0],k=0|n[g>>0],w=0|n[b>>0],n[r+4>>0]=-1,m=255&k,k=255&w,D=(p=(C=(w=19077*(255&C)|0)>>>8)+-14234+((w=26149*k|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,n[r+5>>0]=D,L=(k=C+8708-((p=6419*m|0)>>>8)-((w=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+6>>0]=L,x=(m=C+-17685+((k=33050*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[r+7>>0]=x,(0|(r=r+8|0))!=(0|f);)g=g+1|0,b=b+1|0,h=h+2|0;A=e+d|0,u=c,s=t+a|0,l=i+v|0}else A=e,u=r,s=t,l=i;1&o&&(o=0|n[A>>0],A=0|n[u>>0],u=0|n[l>>0],n[s>>0]=-1,l=255&A,A=255&u,S=(v=(o=(u=19077*(255&o)|0)>>>8)+-14234+((u=26149*A|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[s+1>>0]=S,B=(A=o+8708-((S=6419*l|0)>>>8)-((v=13320*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s+2>>0]=B,M=(l=o+-17685+((B=33050*l|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,n[s+3>>0]=M)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0;if(A=(t|=0)+(f=(o|=0)<<1&-4)|0,f){for(v=2+((d=f+-4|0)>>>1)|0,d=r+(g=1+(d>>>2)|0)|0,b=r,r=t,h=i,w=e;k=0|a[b>>0],m=0|a[h>>0],y=(I=(p=(C=19077*(0|a[w>>0])|0)>>>8)+-14234+((C=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,E=(m=p+8708-((I=6419*k|0)>>>8)-((C=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,D=(k=p+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r>>0]=E>>>4|240&y,n[r+1>>0]=15|D,k=0|a[b>>0],m=0|a[h>>0],L=(I=(C=(p=19077*(0|a[w+1>>0])|0)>>>8)+-14234+((p=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,x=(m=C+8708-((I=6419*k|0)>>>8)-((p=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,S=(k=C+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+2>>0]=x>>>4|240&L,n[r+3>>0]=15|S,(0|(r=r+4|0))!=(0|A);)b=b+1|0,h=h+1|0,w=w+2|0;u=e+v|0,s=d,l=t+f|0,c=i+g|0}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],B=(g=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,M=(s=u+8708-((g=6419*o|0)>>>8)-((c=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,F=(o=u+-17685+((s=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,n[l>>0]=M>>>4|240&B,n[l+1>>0]=15|F)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0;if(A=(t|=0)+(f=(o|=0)<<1&-4)|0,f){for(v=2+((d=f+-4|0)>>>1)|0,d=r+(g=1+(d>>>2)|0)|0,b=r,r=t,h=i,w=e;k=0|a[b>>0],m=0|a[h>>0],y=(I=(p=(C=19077*(0|a[w>>0])|0)>>>8)+-14234+((C=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,E=(m=p+8708-((I=6419*k|0)>>>8)-((C=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,D=(k=p+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r>>0]=E>>>5|248&y,n[r+1>>0]=D>>>3|E<<3&224,k=0|a[b>>0],m=0|a[h>>0],L=(I=(C=(p=19077*(0|a[w+1>>0])|0)>>>8)+-14234+((p=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,x=(m=C+8708-((I=6419*k|0)>>>8)-((p=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,S=(k=C+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+2>>0]=x>>>5|248&L,n[r+3>>0]=S>>>3|x<<3&224,(0|(r=r+4|0))!=(0|A);)b=b+1|0,h=h+1|0,w=w+2|0;u=e+v|0,s=d,l=t+f|0,c=i+g|0}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],B=(g=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,M=(s=u+8708-((g=6419*o|0)>>>8)-((c=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,F=(o=u+-17685+((s=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,n[l>>0]=M>>>5|248&B,n[l+1>>0]=F>>>3|M<<3&224)},Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni],rn=[function(e,r,i,n,t,o,a,f,A){d(8)},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18&255,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-14234+((g=26149*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A>>0]=m,C=(h=w+8708-((m=6419*b|0)>>>8)-((k=13320*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+1>>0]=C,p=(b=w+-17685+((C=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[A+2>>0]=p,n[A+3>>0]=-1,(p=0!=(0|r))&&(C=(b=d+131074+(3*v|0)|0)>>>2&255,w=b>>>18&255,h=(b=19077*(0|a[r>>0])|0)>>>8,I=(k=((b=26149*w|0)>>>8)-14234+h|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[u>>0]=I,y=(w=8708-((I=6419*C|0)>>>8)-((k=13320*w|0)>>>8)+h|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+1>>0]=y,E=(C=((y=33050*C|0)>>>8)-17685+h|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[u+2>>0]=E,n[u+3>>0]=-1),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(k=(w=(y=(C=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(h=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,I=(w=(k=w+(h+E<<1)|0)>>>3)+C|0,x=A+(g=(m=(b=v<<1)+-1|0)<<2)|0,S=(k=y+E|0)>>>1&255,B=k>>>17&255,_=(F=(M=(k=19077*(0|a[e+m>>0])|0)>>>8)+-14234+((k=26149*B|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[x>>0]=_,P=(B=M+8708-((F=6419*S|0)>>>8)-((k=13320*B|0)>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[x+1>>0]=P,R=(S=M+-17685+((B=33050*S|0)>>>8)|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x+2>>0]=R,n[x+3>>0]=-1,S=A+(x=v<<3)|0,B=I>>>1&255,M=I>>>17&255,k=(I=19077*(0|a[e+b>>0])|0)>>>8,T=(F=((I=26149*M|0)>>>8)-14234+k|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[S>>0]=T,G=(M=8708-((F=6419*B|0)>>>8)-((I=13320*M|0)>>>8)+k|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[S+1>>0]=G,O=(B=((M=33050*B|0)>>>8)-17685+k|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[S+2>>0]=O,n[S+3>>0]=-1,p&&(S=w+d|0,w=y+h|0,y=u+g|0,g=S>>>1&255,B=S>>>17&255,m=(S=19077*(0|a[r+m>>0])|0)>>>8,q=(k=((S=26149*B|0)>>>8)-14234+m|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[y>>0]=q,Y=(B=8708-((k=6419*g|0)>>>8)-((S=13320*B|0)>>>8)+m|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[y+1>>0]=Y,U=(g=((B=33050*g|0)>>>8)-17685+m|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[y+2>>0]=U,n[y+3>>0]=-1,y=u+x|0,x=w>>>1&255,g=w>>>17&255,b=(w=19077*(0|a[r+b>>0])|0)>>>8,z=(m=((w=26149*g|0)>>>8)-14234+b|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[y>>0]=z,W=(g=8708-((m=6419*x|0)>>>8)-((w=13320*g|0)>>>8)+b|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[y+1>>0]=W,X=(x=((g=33050*x|0)>>>8)-17685+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[y+2>>0]=X,n[y+3>>0]=-1),!((0|v)<(0|c))){D=C,L=h;break}E=C,d=h,v=v+1|0}1&s|0||(d=A+(v=l<<2)|0,A=(s=L+131074+(3*D|0)|0)>>>2&255,E=s>>>18&255,e=(s=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((s=26149*E|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[d>>0]=Q,N=(E=8708-((Q=6419*A|0)>>>8)-((c=13320*E|0)>>>8)+e|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,n[d+1>>0]=N,V=(A=((N=33050*A|0)>>>8)-17685+e|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[d+2>>0]=V,n[d+3>>0]=-1,p&&(p=D+131074+(3*L|0)|0,L=u+v|0,v=p>>>2&255,u=p>>>18&255,l=(p=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((p=26149*u|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[L>>0]=H,Z=(u=8708-((H=6419*v|0)>>>8)-((r=13320*u|0)>>>8)+l|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[L+1>>0]=Z,j=(v=((Z=33050*v|0)>>>8)-17685+l|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[L+2>>0]=j,n[L+3>>0]=-1))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18&255,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-17685+((g=33050*b|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A>>0]=m,C=(k=w+8708-((m=6419*b|0)>>>8)-((b=13320*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A+1>>0]=C,p=(h=w+-14234+((C=26149*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+2>>0]=p,n[A+3>>0]=-1,(p=0!=(0|r))&&(C=(h=d+131074+(3*v|0)|0)>>>2&255,w=h>>>18&255,k=(h=19077*(0|a[r>>0])|0)>>>8,I=(b=((h=33050*C|0)>>>8)-17685+k|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[u>>0]=I,y=(b=8708-((I=6419*C|0)>>>8)-((C=13320*w|0)>>>8)+k|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[u+1>>0]=y,E=(w=((y=26149*w|0)>>>8)-14234+k|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+2>>0]=E,n[u+3>>0]=-1),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(C=(b=(y=(w=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(k=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,I=(b=(C=b+(k+E<<1)|0)>>>3)+w|0,x=A+(g=(m=(h=v<<1)+-1|0)<<2)|0,S=(C=y+E|0)>>>1&255,B=C>>>17&255,_=(F=(M=(C=19077*(0|a[e+m>>0])|0)>>>8)+-17685+((C=33050*S|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[x>>0]=_,P=(C=M+8708-((F=6419*S|0)>>>8)-((S=13320*B|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[x+1>>0]=P,R=(B=M+-14234+((C=26149*B|0)>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[x+2>>0]=R,n[x+3>>0]=-1,B=A+(x=v<<3)|0,C=I>>>1&255,M=I>>>17&255,S=(I=19077*(0|a[e+h>>0])|0)>>>8,T=(F=((I=33050*C|0)>>>8)-17685+S|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[B>>0]=T,G=(I=8708-((F=6419*C|0)>>>8)-((C=13320*M|0)>>>8)+S|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[B+1>>0]=G,O=(M=((I=26149*M|0)>>>8)-14234+S|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[B+2>>0]=O,n[B+3>>0]=-1,p&&(B=b+d|0,b=y+k|0,y=u+g|0,g=B>>>1&255,M=B>>>17&255,m=(B=19077*(0|a[r+m>>0])|0)>>>8,q=(S=((B=33050*g|0)>>>8)-17685+m|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[y>>0]=q,Y=(B=8708-((S=6419*g|0)>>>8)-((g=13320*M|0)>>>8)+m|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[y+1>>0]=Y,U=(M=((B=26149*M|0)>>>8)-14234+m|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[y+2>>0]=U,n[y+3>>0]=-1,y=u+x|0,x=b>>>1&255,M=b>>>17&255,h=(b=19077*(0|a[r+h>>0])|0)>>>8,z=(m=((b=33050*x|0)>>>8)-17685+h|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[y>>0]=z,W=(b=8708-((m=6419*x|0)>>>8)-((x=13320*M|0)>>>8)+h|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[y+1>>0]=W,X=(M=((b=26149*M|0)>>>8)-14234+h|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[y+2>>0]=X,n[y+3>>0]=-1),!((0|v)<(0|c))){D=w,L=k;break}E=w,d=k,v=v+1|0}1&s|0||(d=A+(v=l<<2)|0,A=(s=L+131074+(3*D|0)|0)>>>2&255,E=s>>>18&255,e=(s=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((s=33050*A|0)>>>8)-17685+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[d>>0]=Q,N=(c=8708-((Q=6419*A|0)>>>8)-((A=13320*E|0)>>>8)+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[d+1>>0]=N,V=(E=((N=26149*E|0)>>>8)-14234+e|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,n[d+2>>0]=V,n[d+3>>0]=-1,p&&(p=D+131074+(3*L|0)|0,L=u+v|0,v=p>>>2&255,u=p>>>18&255,l=(p=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((p=33050*v|0)>>>8)-17685+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[L>>0]=H,Z=(r=8708-((H=6419*v|0)>>>8)-((v=13320*u|0)>>>8)+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[L+1>>0]=Z,j=(u=((Z=26149*u|0)>>>8)-14234+l|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[L+2>>0]=j,n[L+3>>0]=-1))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-14234+((g=26149*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A>>0]=m,C=(h=w+8708-((k=13320*h|0)>>>8)-((m=6419*b|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+1>>0]=C,p=(b=w+-17685+((C=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[A+2>>0]=p,(p=0!=(0|r))&&(C=(b=d+131074+(3*v|0)|0)>>>2&255,w=b>>>18,h=(b=19077*(0|a[r>>0])|0)>>>8,I=(m=((b=26149*w|0)>>>8)-14234+h|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[u>>0]=I,y=(w=8708-((m=13320*w|0)>>>8)-((I=6419*C|0)>>>8)+h|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+1>>0]=y,E=(C=((y=33050*C|0)>>>8)-17685+h|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[u+2>>0]=E),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(I=(w=(y=(C=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(h=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,m=(w=(I=w+(h+E<<1)|0)>>>3)+C|0,g=(I=y+E|0)>>>1&255,x=I>>>17,S=A+(I=3*(k=(b=v<<1)+-1|0)|0)|0,_=(F=(M=(B=19077*(0|a[e+k>>0])|0)>>>8)+-14234+((B=26149*x|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[S>>0]=_,P=(x=M+8708-((B=13320*x|0)>>>8)-((F=6419*g|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[S+1>>0]=P,R=(g=M+-17685+((x=33050*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[S+2>>0]=R,S=m>>>1&255,g=m>>>17,x=A+(m=6*v|0)|0,F=(M=19077*(0|a[e+b>>0])|0)>>>8,T=(B=((M=26149*g|0)>>>8)-14234+F|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[x>>0]=T,G=(g=8708-((M=13320*g|0)>>>8)-((B=6419*S|0)>>>8)+F|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[x+1>>0]=G,O=(S=((g=33050*S|0)>>>8)-17685+F|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x+2>>0]=O,p&&(x=w+d|0,w=y+h|0,y=x>>>1&255,S=x>>>17,x=u+I|0,k=(I=19077*(0|a[r+k>>0])|0)>>>8,q=(F=((I=26149*S|0)>>>8)-14234+k|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[x>>0]=q,Y=(S=8708-((I=13320*S|0)>>>8)-((F=6419*y|0)>>>8)+k|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x+1>>0]=Y,U=(y=((S=33050*y|0)>>>8)-17685+k|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,n[x+2>>0]=U,x=w>>>1&255,y=w>>>17,w=u+m|0,b=(m=19077*(0|a[r+b>>0])|0)>>>8,z=(k=((m=26149*y|0)>>>8)-14234+b|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[w>>0]=z,W=(y=8708-((m=13320*y|0)>>>8)-((k=6419*x|0)>>>8)+b|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,n[w+1>>0]=W,X=(x=((y=33050*x|0)>>>8)-17685+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[w+2>>0]=X),!((0|v)<(0|c))){D=C,L=h;break}E=C,d=h,v=v+1|0}1&s|0||(v=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=3*l|0)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[E>>0]=Q,N=(d=8708-((c=13320*d|0)>>>8)-((Q=6419*v|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[E+1>>0]=N,V=(v=((N=33050*v|0)>>>8)-17685+e|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[E+2>>0]=V,p&&(L=(p=D+131074+(3*L|0)|0)>>>2&255,D=p>>>18,p=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[p>>0]=H,Z=(D=8708-((r=13320*D|0)>>>8)-((H=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,n[p+1>>0]=Z,j=(L=((Z=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,n[p+2>>0]=j))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-17685+((g=33050*b|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A>>0]=m,m=6419*b|0,C=(k=w+8708-((b=13320*h|0)>>>8)-(m>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A+1>>0]=C,p=(h=w+-14234+((C=26149*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+2>>0]=p,(p=0!=(0|r))&&(C=(h=d+131074+(3*v|0)|0)>>>2&255,w=h>>>18,k=(h=19077*(0|a[r>>0])|0)>>>8,I=(m=((h=33050*C|0)>>>8)-17685+k|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[u>>0]=I,I=6419*C|0,y=(m=8708-((C=13320*w|0)>>>8)-(I>>>8)+k|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[u+1>>0]=y,E=(w=((y=26149*w|0)>>>8)-14234+k|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+2>>0]=E),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(I=(m=(y=(w=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(k=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,C=(m=(I=m+(k+E<<1)|0)>>>3)+w|0,g=(I=y+E|0)>>>1&255,x=I>>>17,S=A+(I=3*(b=(h=v<<1)+-1|0)|0)|0,_=(F=(M=(B=19077*(0|a[e+b>>0])|0)>>>8)+-17685+((B=33050*g|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[S>>0]=_,F=6419*g|0,P=(B=M+8708-((g=13320*x|0)>>>8)-(F>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[S+1>>0]=P,R=(x=M+-14234+((B=26149*x|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[S+2>>0]=R,S=C>>>1&255,x=C>>>17,B=A+(C=6*v|0)|0,F=(M=19077*(0|a[e+h>>0])|0)>>>8,T=(g=((M=33050*S|0)>>>8)-17685+F|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[B>>0]=T,g=6419*S|0,G=(M=8708-((S=13320*x|0)>>>8)-(g>>>8)+F|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[B+1>>0]=G,O=(x=((M=26149*x|0)>>>8)-14234+F|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[B+2>>0]=O,p&&(B=m+d|0,m=y+k|0,y=B>>>1&255,x=B>>>17,B=u+I|0,b=(I=19077*(0|a[r+b>>0])|0)>>>8,q=(F=((I=33050*y|0)>>>8)-17685+b|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[B>>0]=q,F=6419*y|0,Y=(I=8708-((y=13320*x|0)>>>8)-(F>>>8)+b|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[B+1>>0]=Y,U=(x=((I=26149*x|0)>>>8)-14234+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[B+2>>0]=U,B=m>>>1&255,x=m>>>17,m=u+C|0,h=(C=19077*(0|a[r+h>>0])|0)>>>8,z=(b=((C=33050*B|0)>>>8)-17685+h|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[m>>0]=z,b=6419*B|0,W=(C=8708-((B=13320*x|0)>>>8)-(b>>>8)+h|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[m+1>>0]=W,X=(x=((C=26149*x|0)>>>8)-14234+h|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[m+2>>0]=X),!((0|v)<(0|c))){D=w,L=k;break}E=w,d=k,v=v+1|0}1&s|0||(v=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=3*l|0)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=33050*v|0)>>>8)-17685+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[E>>0]=Q,Q=6419*v|0,N=(c=8708-((v=13320*d|0)>>>8)-(Q>>>8)+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[E+1>>0]=N,V=(d=((N=26149*d|0)>>>8)-14234+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[E+2>>0]=V,p&&(L=(p=D+131074+(3*L|0)|0)>>>2&255,D=p>>>18,p=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((s=33050*L|0)>>>8)-17685+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[p>>0]=H,H=6419*L|0,Z=(r=8708-((L=13320*D|0)>>>8)-(H>>>8)+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[p+1>>0]=Z,j=(D=((Z=26149*D|0)>>>8)-14234+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,n[p+2>>0]=j))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0,b=0|n[e>>0],n[A>>0]=-1,h=g>>>2&255,w=g>>>18&255,m=(k=(b=(g=19077*(255&b)|0)>>>8)+-14234+((g=26149*w|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A+1>>0]=m,C=(w=b+8708-((m=6419*h|0)>>>8)-((k=13320*w|0)>>>8)|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[A+2>>0]=C,p=(h=b+-17685+((C=33050*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+3>>0]=p,(p=0!=(0|r))&&(h=d+131074+(3*v|0)|0,C=0|n[r>>0],n[u>>0]=-1,b=h>>>2&255,w=h>>>18&255,C=(h=19077*(255&C)|0)>>>8,I=(k=((h=26149*w|0)>>>8)-14234+C|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[u+1>>0]=I,y=(w=8708-((I=6419*b|0)>>>8)-((k=13320*w|0)>>>8)+C|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+2>>0]=y,E=(b=((y=33050*b|0)>>>8)-17685+C|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[u+3>>0]=E),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(k=(w=(y=(b=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(C=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,w=(k=w+(C+E<<1)|0)>>>3,k=y+E|0,I=w+b|0,g=0|n[e+(m=(h=v<<1)+-1|0)>>0],n[(S=A+(x=m<<2)|0)>>0]=-1,B=k>>>1&255,M=k>>>17&255,_=(F=(g=(k=19077*(255&g)|0)>>>8)+-14234+((k=26149*M|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[S+1>>0]=_,P=(M=g+8708-((F=6419*B|0)>>>8)-((k=13320*M|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[S+2>>0]=P,R=(B=g+-17685+((M=33050*B|0)>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[S+3>>0]=R,S=0|n[e+h>>0],n[(M=A+(B=v<<3)|0)>>0]=-1,g=I>>>1&255,k=I>>>17&255,S=(I=19077*(255&S)|0)>>>8,T=(F=((I=26149*k|0)>>>8)-14234+S|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[M+1>>0]=T,G=(k=8708-((F=6419*g|0)>>>8)-((I=13320*k|0)>>>8)+S|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[M+2>>0]=G,O=(g=((k=33050*g|0)>>>8)-17685+S|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[M+3>>0]=O,p&&(M=w+d|0,w=y+C|0,y=0|n[r+m>>0],n[(m=u+x|0)>>0]=-1,x=M>>>1&255,g=M>>>17&255,y=(M=19077*(255&y)|0)>>>8,q=(S=((M=26149*g|0)>>>8)-14234+y|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[m+1>>0]=q,Y=(g=8708-((S=6419*x|0)>>>8)-((M=13320*g|0)>>>8)+y|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[m+2>>0]=Y,U=(x=((g=33050*x|0)>>>8)-17685+y|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[m+3>>0]=U,m=0|n[r+h>>0],n[(h=u+B|0)>>0]=-1,B=w>>>1&255,x=w>>>17&255,m=(w=19077*(255&m)|0)>>>8,z=(y=((w=26149*x|0)>>>8)-14234+m|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,n[h+1>>0]=z,W=(x=8708-((y=6419*B|0)>>>8)-((w=13320*x|0)>>>8)+m|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[h+2>>0]=W,X=(B=((x=33050*B|0)>>>8)-17685+m|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[h+3>>0]=X),!((0|v)<(0|c))){D=b,L=C;break}E=b,d=C,v=v+1|0}1&s|0||(s=L+131074+(3*D|0)|0,v=0|n[e+l>>0],n[(d=A+(e=l<<2)|0)>>0]=-1,A=s>>>2&255,E=s>>>18&255,v=(s=19077*(255&v)|0)>>>8,Q=(c=((s=26149*E|0)>>>8)-14234+v|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[d+1>>0]=Q,N=(E=8708-((Q=6419*A|0)>>>8)-((c=13320*E|0)>>>8)+v|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,n[d+2>>0]=N,V=(A=((N=33050*A|0)>>>8)-17685+v|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[d+3>>0]=V,p&&(p=D+131074+(3*L|0)|0,L=0|n[r+l>>0],n[(l=u+e|0)>>0]=-1,e=p>>>2&255,u=p>>>18&255,L=(p=19077*(255&L)|0)>>>8,H=(r=((p=26149*u|0)>>>8)-14234+L|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[l+1>>0]=H,Z=(u=8708-((H=6419*e|0)>>>8)-((r=13320*u|0)>>>8)+L|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[l+2>>0]=Z,j=(e=((Z=33050*e|0)>>>8)-17685+L|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,n[l+3>>0]=j))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-14234+((g=26149*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,C=(h=w+8708-((g=13320*h|0)>>>8)-((k=6419*b|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,p=(b=w+-17685+((h=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[A>>0]=C>>>4|240&m,n[A+1>>0]=15|p,(p=0!=(0|r))&&(C=(m=d+131074+(3*v|0)|0)>>>2&255,b=m>>>18,h=(m=19077*(0|a[r>>0])|0)>>>8,I=(w=((m=26149*b|0)>>>8)-14234+h|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,y=(b=8708-((m=13320*b|0)>>>8)-((w=6419*C|0)>>>8)+h|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,E=(C=((b=33050*C|0)>>>8)-17685+h|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[u>>0]=y>>>4|240&I,n[u+1>>0]=15|E),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(C=(b=(h=(C=(I=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(y=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(C<<1)|0)>>>3,w=(h=(b=h+(y+E<<1)|0)>>>3)+I|0,g=(b=C+E|0)>>>1&255,x=b>>>17,S=A+(b=(k=(m=v<<1)+-1|0)<<1)|0,_=(F=(M=(B=19077*(0|a[e+k>>0])|0)>>>8)+-14234+((B=26149*x|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,P=(x=M+8708-((B=13320*x|0)>>>8)-((F=6419*g|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,R=(g=M+-17685+((x=33050*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[S>>0]=P>>>4|240&_,n[S+1>>0]=15|R,S=w>>>1&255,g=w>>>17,x=A+(w=v<<2)|0,F=(M=19077*(0|a[e+m>>0])|0)>>>8,T=(B=((M=26149*g|0)>>>8)-14234+F|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,G=(g=8708-((M=13320*g|0)>>>8)-((B=6419*S|0)>>>8)+F|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,O=(S=((g=33050*S|0)>>>8)-17685+F|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x>>0]=G>>>4|240&T,n[x+1>>0]=15|O,p&&(x=h+d|0,h=C+y|0,C=x>>>1&255,S=x>>>17,x=u+b|0,k=(b=19077*(0|a[r+k>>0])|0)>>>8,q=(F=((b=26149*S|0)>>>8)-14234+k|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,Y=(S=8708-((b=13320*S|0)>>>8)-((F=6419*C|0)>>>8)+k|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,U=(C=((S=33050*C|0)>>>8)-17685+k|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[x>>0]=Y>>>4|240&q,n[x+1>>0]=15|U,x=h>>>1&255,C=h>>>17,h=u+w|0,m=(w=19077*(0|a[r+m>>0])|0)>>>8,z=(k=((w=26149*C|0)>>>8)-14234+m|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,W=(C=8708-((w=13320*C|0)>>>8)-((k=6419*x|0)>>>8)+m|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,X=(x=((C=33050*x|0)>>>8)-17685+m|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[h>>0]=W>>>4|240&z,n[h+1>>0]=15|X),!((0|v)<(0|c))){D=I,L=y;break}E=I,d=y,v=v+1|0}1&s|0||(v=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=l<<1)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,N=(d=8708-((A=13320*d|0)>>>8)-((c=6419*v|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,V=(v=((d=33050*v|0)>>>8)-17685+e|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[E>>0]=N>>>4|240&Q,n[E+1>>0]=15|V,p&&(L=(p=D+131074+(3*L|0)|0)>>>2&255,D=p>>>18,p=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,Z=(D=8708-((s=13320*D|0)>>>8)-((r=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,j=(L=((D=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,n[p>>0]=Z>>>4|240&H,n[p+1>>0]=15|j))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-14234+((g=26149*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,C=(h=w+8708-((g=13320*h|0)>>>8)-((k=6419*b|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,p=(b=w+-17685+((h=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[A>>0]=C>>>5|248&m,n[A+1>>0]=p>>>3|C<<3&224,(C=0!=(0|r))&&(m=(p=d+131074+(3*v|0)|0)>>>2&255,b=p>>>18,h=(p=19077*(0|a[r>>0])|0)>>>8,I=(w=((p=26149*b|0)>>>8)-14234+h|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,y=(b=8708-((p=13320*b|0)>>>8)-((w=6419*m|0)>>>8)+h|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,E=(m=((b=33050*m|0)>>>8)-17685+h|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[u>>0]=y>>>5|248&I,n[u+1>>0]=E>>>3|y<<3&224),(0|s)<3)D=d,L=v;else for(y=d,d=v,v=1;;){if(m=(b=(h=(m=(E=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+y+(I=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(m<<1)|0)>>>3,w=(h=(b=h+(I+y<<1)|0)>>>3)+E|0,g=(b=m+y|0)>>>1&255,x=b>>>17,S=A+(b=(k=(p=v<<1)+-1|0)<<1)|0,_=(F=(M=(B=19077*(0|a[e+k>>0])|0)>>>8)+-14234+((B=26149*x|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,P=(x=M+8708-((B=13320*x|0)>>>8)-((F=6419*g|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,R=(g=M+-17685+((x=33050*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[S>>0]=P>>>5|248&_,n[S+1>>0]=R>>>3|P<<3&224,S=w>>>1&255,g=w>>>17,x=A+(w=v<<2)|0,F=(M=19077*(0|a[e+p>>0])|0)>>>8,T=(B=((M=26149*g|0)>>>8)-14234+F|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,G=(g=8708-((M=13320*g|0)>>>8)-((B=6419*S|0)>>>8)+F|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,O=(S=((g=33050*S|0)>>>8)-17685+F|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x>>0]=G>>>5|248&T,n[x+1>>0]=O>>>3|G<<3&224,C&&(x=h+d|0,h=m+I|0,m=x>>>1&255,S=x>>>17,x=u+b|0,k=(b=19077*(0|a[r+k>>0])|0)>>>8,q=(F=((b=26149*S|0)>>>8)-14234+k|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,Y=(S=8708-((b=13320*S|0)>>>8)-((F=6419*m|0)>>>8)+k|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,U=(m=((S=33050*m|0)>>>8)-17685+k|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[x>>0]=Y>>>5|248&q,n[x+1>>0]=U>>>3|Y<<3&224,x=h>>>1&255,m=h>>>17,h=u+w|0,p=(w=19077*(0|a[r+p>>0])|0)>>>8,z=(k=((w=26149*m|0)>>>8)-14234+p|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,W=(m=8708-((w=13320*m|0)>>>8)-((k=6419*x|0)>>>8)+p|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,X=(x=((m=33050*x|0)>>>8)-17685+p|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[h>>0]=W>>>5|248&z,n[h+1>>0]=X>>>3|W<<3&224),!((0|v)<(0|c))){D=E,L=I;break}y=E,d=I,v=v+1|0}1&s|0||(v=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,y=A+(s=l<<1)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,N=(d=8708-((A=13320*d|0)>>>8)-((c=6419*v|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,V=(v=((d=33050*v|0)>>>8)-17685+e|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[y>>0]=N>>>5|248&Q,n[y+1>>0]=V>>>3|N<<3&224,C&&(L=(C=D+131074+(3*L|0)|0)>>>2&255,D=C>>>18,C=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,Z=(D=8708-((s=13320*D|0)>>>8)-((r=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,j=(L=((D=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,n[C>>0]=Z>>>5|248&H,n[C+1>>0]=j>>>3|Z<<3&224))}];return{_WebpToSDL:function(e,r){e|=0,r|=0;var i,n,t,a,f,A,u=0,s=0,c=0,d=0,v=0,g=0,y=0,E=0;if(i=O,O=O+224|0,n=i+16|0,t=i+8|0,a=i,A=(f=i+24|0)+40|0,!(0|function(e,r){if(0==(0|(e|=0))|512!=(-256&(r|=0)|0))return 0|0;return Oi(0|e,0,200),He(e+40|0,520),0|1}(f,520)))return function(e,r,i,n){e|=0,n|=0;var t,a,f=0,A=0,u=0;t=0|l(i=i|0,r=r|0),a=0==(0|r)?0:i,(0|o[n+76>>2])>-1?(i=0==(0|li(n)),f=0|Ei(e,t,n),i||ci(n),A=f):A=0|Ei(e,t,n);u=(0|A)==(0|t)?a:(A>>>0)/(r>>>0)|0}(8544,26,1,0|o[2043]),O=i,0|0;0|o[2484]||(k(32),o[2484]=1);do{if(0|Sr(e,r,f,520))v=0,g=0,y=0;else{if(u=f+4|0,!(s=0|C(0|o[f>>2],0|o[u>>2],32,0))){c=0|o[2043],d=0|o[u>>2],o[a>>2]=o[f>>2],o[a+4>>2]=d,Di(c,8571,a),v=0,g=0,y=0;break}if(!(c=0|b(0,0|o[f>>2],0|o[u>>2],32,255,65280,16711680,-16777216))){d=0|o[2043],E=0|o[u>>2],o[t>>2]=o[f>>2],o[t+4>>2]=E,Di(d,8612,t),v=0,g=s,y=0;break}if(m(0|c),o[A>>2]=1,o[f+44>>2]=o[c+8>>2],d=c+12|0,o[f+48>>2]=o[d>>2],o[f+56>>2]=o[c+20>>2],E=c+16|0,o[f+60>>2]=o[E>>2],u=0|l(0|o[d>>2],0|o[E>>2]),o[f+64>>2]=u,o[f+52>>2]=1,0|(u=0|jr(e,r,f))){E=0|o[2043],o[n>>2]=u,Di(E,8650,n),v=c,g=s,y=0;break}p(0|c),0|I(0|c,0,0|s,0)?(v=c,g=s,y=0):(v=c,g=s,y=0==(0|h(0|s))&1)}}while(0);return w(0|v),w(0|g),Ze(A),O=i,0|y},___errno_location:oi,___muldi3:Li,___udivdi3:Fi,_bitshift64Lshr:_i,_bitshift64Shl:Pi,_emscripten_replace_memory:function(e){return n=new Int8Array(e),a=new Uint8Array(e),t=new Int16Array(e),f=new Uint16Array(e),o=new Int32Array(e),new Float32Array(e),A=new Float64Array(e),i=e,!0},_free:Jr,_i64Add:xi,_i64Subtract:Si,_llvm_bswap_i32:Ri,_malloc:Kr,_memcpy:Ti,_memmove:Gi,_memset:Oi,_sbrk:qi,dynCall_ii:function(e,r){return r|=0,0|Vi[7&(e|=0)](0|r)},dynCall_iii:function(e,r,i){return r|=0,i|=0,0|Hi[31&(e|=0)](0|r,0|i)},dynCall_iiii:function(e,r,i,n){return r|=0,i|=0,n|=0,0|Zi[15&(e|=0)](0|r,0|i,0|n)},dynCall_iiiiiii:function(e,r,i,n,t,o,a){return r|=0,i|=0,n|=0,t|=0,o|=0,a|=0,0|ji[1&(e|=0)](0|r,0|i,0|n,0|t,0|o,0|a)},dynCall_vi:function(e,r){r|=0,Ki[31&(e|=0)](0|r)},dynCall_vii:function(e,r,i){r|=0,i|=0,Ji[3&(e|=0)](0|r,0|i)},dynCall_viiii:function(e,r,i,n,t){r|=0,i|=0,n|=0,t|=0,$i[31&(e|=0)](0|r,0|i,0|n,0|t)},dynCall_viiiii:function(e,r,i,n,t,o){r|=0,i|=0,n|=0,t|=0,o|=0,en[31&(e|=0)](0|r,0|i,0|n,0|t,0|o)},dynCall_viiiiiiiii:function(e,r,i,n,t,o,a,f,A,u){r|=0,i|=0,n|=0,t|=0,o|=0,a|=0,f|=0,A|=0,u|=0,rn[7&(e|=0)](0|r,0|i,0|n,0|t,0|o,0|a,0|f,0|A,0|u)},establishStackSpace:function(e,r){O=e|=0,r|=0},stackAlloc:function(e){var r;return r=O,O=(O=O+(e|=0)|0)+15&-16,0|r},stackRestore:function(e){O=e|=0},stackSave:function(){return 0|O}}}({Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Float32Array:Float32Array,Float64Array:Float64Array},{a:pe,b:function(e){A=e},c:function(){return A},d:function(e,r,i,n,t,o,a,f){return J.makeSurface(r,i,e,!1,"CreateRGBSurface",t,o,a,f)},e:function(e){},f:function(e){e&&J.freeSurface(e)},g:j,h:function(e){if(J.startTime=Date.now(),J.initFlags=e,!i.doNotCaptureKeyboard){var r=i.keyboardListeningElement||document;r.addEventListener("keydown",J.receiveEvent),r.addEventListener("keyup",J.receiveEvent),r.addEventListener("keypress",J.receiveEvent),window.addEventListener("focus",J.receiveEvent),window.addEventListener("blur",J.receiveEvent),document.addEventListener("visibilitychange",J.receiveEvent)}return window.addEventListener("unload",J.receiveEvent),J.keyboardState=se(65536),ce(J.keyboardState,0,65536),J.DOMEventToSDLEvent.keydown=768,J.DOMEventToSDLEvent.keyup=769,J.DOMEventToSDLEvent.keypress=771,J.DOMEventToSDLEvent.mousedown=1025,J.DOMEventToSDLEvent.mouseup=1026,J.DOMEventToSDLEvent.mousemove=1024,J.DOMEventToSDLEvent.wheel=1027,J.DOMEventToSDLEvent.touchstart=1792,J.DOMEventToSDLEvent.touchend=1793,J.DOMEventToSDLEvent.touchmove=1794,J.DOMEventToSDLEvent.unload=256,J.DOMEventToSDLEvent.resize=28673,J.DOMEventToSDLEvent.visibilitychange=512,J.DOMEventToSDLEvent.focus=512,J.DOMEventToSDLEvent.blur=512,J.DOMEventToSDLEvent.joystick_axis_motion=1536,J.DOMEventToSDLEvent.joystick_button_down=1539,J.DOMEventToSDLEvent.joystick_button_up=1540,0},i:K,j:function(e,r,n,t){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","DOMMouseScroll","mousewheel","wheel","mouseout"].forEach((function(e){i.canvas.addEventListener(e,J.receiveEvent,!0)}));var o=i.canvas;return 0==e&&0==r&&(e=o.width,r=o.height),J.addedResizeListener||(J.addedResizeListener=!0,Z.resizeListeners.push((function(e,r){J.settingVideoMode||J.receiveEvent({type:"resize",w:e,h:r})}))),J.settingVideoMode=!0,Z.setCanvasSize(e,r),J.settingVideoMode=!1,J.screen&&(J.freeSurface(J.screen),s(!J.screen)),J.GL&&(t|=67108864),J.screen=J.makeSurface(e,r,t,!0,"screen"),J.screen},k:function(e){s(!J.GL);var r=J.surfaces[e];if(r.locked&&!(--r.locked>0)){if(r.isFlagSet(2097152))J.copyIndexedColorData(r);else if(r.colors)for(var n=i.canvas.width,t=i.canvas.height,o=r.buffer,a=(c=r.image.data,r.colors),f=0;f>0];var l=A+4*u;c[l]=a[w],c[l+1]=a[w+1],c[l+2]=a[w+2]}o+=3*n}else{var c=r.image.data,d=r.buffer;s(d%4==0,"Invalid buffer offset: "+d);var v,g=d>>2,b=0,h=e==J.screen;if("undefined"!=typeof CanvasPixelArray&&c instanceof CanvasPixelArray)for(v=c.length;b>8&255,c[b+2]=w>>16&255,c[b+3]=h?255:w>>24&255,g++,b+=4}else{var m=new Uint32Array(c.buffer);if(h&&J.defaults.opaqueFrontBuffer){v=m.length,m.set(C.subarray(g,g+v));var p=new Uint8Array(c.buffer),I=3,y=I+4*v;if(v%8==0)for(;I>2]=e),e},n:function(e,r){re.varargs=r;try{var i=re.getStreamFromFD(),n=(re.get(),re.get()),t=re.get(),o=re.get(),a=n;return FS.llseek(i,a,o),C[t>>2]=i.position,i.getdents&&0===a&&0===o&&(i.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||pe(e),-e.errno}},o:function(e,r){re.varargs=r;try{for(var i=re.get(),n=re.get(),t=re.get(),o=0,a=0;a>2],A=C[n+(8*a+4)>>2],u=0;u0||(!function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),S.unshift(e);var e;x(S)}(),O>0||i.calledRun||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),r()}),1)):r()))}function pe(e){throw i.onAbort&&i.onAbort(e),void 0!==e?(o(e),a(e),e=JSON.stringify(e)):e="",u=!0,1,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(me.prototype=new Error,me.prototype.constructor=me,Y=function e(){i.calledRun||Ce(),i.calledRun||(Y=e)},i.run=Ce,i.abort=pe,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();i.noExitRuntime=!0,Ce(),this.Module=i,this.webpToSdl=i.cwrap("WebpToSDL","number",["array","number"]),this.setCanvas=function(e){i.canvas=e}}i.d(r,"Webp",(function(){return n}))}.call(this,i(87).setImmediate)}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{87:function(e,r,i){"use strict";i.r(r),function(e){function n(){var r,i=void 0!==i?i:{},n={};for(r in i)i.hasOwnProperty(r)&&(n[r]=i[r]);i.arguments=[],i.thisProgram="./this.program",i.quit=function(e,r){throw r},i.preRun=[],i.postRun=[];var t="";document.currentScript&&(t=document.currentScript.src),t=0!==t.indexOf("blob:")?t.substr(0,t.lastIndexOf("/")+1):"",i.read=function(e){try{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText}catch(r){var i=ae(e);if(i)return function(e){for(var r=[],i=0;i255&&(n&=255),r.push(String.fromCharCode(n))}return r.join("")}(i);throw r}},i.readAsync=function(e,r,i){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status||0==n.status&&n.response)r(n.response);else{var t=ae(e);t?r(t.buffer):i()}},n.onerror=i,n.send(null)},i.setWindowTitle=function(e){document.title=e};var o=i.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),a=i.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||o);for(r in n)n.hasOwnProperty(r)&&(i[r]=n[r]);n=void 0;function f(e){f.shown||(f.shown={}),f.shown[e]||(f.shown[e]=1,a(e))}new Array(0);var A=0,u=!1;function s(e,r){e||pe("Assertion failed: "+r)}function l(e){var r=i["_"+e];return s(r,"Cannot call unknown function "+e+", make sure it is exported"),r}function c(e,r,i,n,t){var o={string:function(e){var r=0;if(null!=e&&0!==e){var i=1+(e.length<<2);(function(e,r,i){b(e,k,r,i)})(e,r=de(i),i)}return r},array:function(e){var r=de(e.length);return function(e,r){w.set(e,r)}(e,r),r}};var a=l(e),f=[],A=0;if(n)for(var u=0;u=n);)++t;if(t-r>16&&e.subarray&&d)return d.decode(e.subarray(r,t));for(var o="";r>10,56320|1023&u)}}else o+=String.fromCharCode((31&a)<<6|f)}else o+=String.fromCharCode(a)}return o}function g(e,r){return e?v(k,e,r):""}function b(e,r,i,n){if(!(n>0))return 0;for(var t=i,o=i+n-1,a=0;a=55296&&f<=57343)f=65536+((1023&f)<<10)|1023&e.charCodeAt(++a);if(f<=127){if(i>=o)break;r[i++]=f}else if(f<=2047){if(i+1>=o)break;r[i++]=192|f>>6,r[i++]=128|63&f}else if(f<=65535){if(i+2>=o)break;r[i++]=224|f>>12,r[i++]=128|f>>6&63,r[i++]=128|63&f}else{if(i+3>=o)break;r[i++]=240|f>>18,r[i++]=128|f>>12&63,r[i++]=128|f>>6&63,r[i++]=128|63&f}}return r[i]=0,i-t}var h,w,k,m,C,p,I;"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");function y(e,r){return e%r>0&&(e+=r-e%r),e}function E(){i.HEAP8=w=new Int8Array(h),i.HEAP16=m=new Int16Array(h),i.HEAP32=C=new Int32Array(h),i.HEAPU8=k=new Uint8Array(h),i.HEAPU16=new Uint16Array(h),i.HEAPU32=p=new Uint32Array(h),i.HEAPF32=I=new Float32Array(h),i.HEAPF64=new Float64Array(h)}var D=10800,L=i.TOTAL_MEMORY||67108864;function x(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var n=r.func;"number"==typeof n?void 0===r.arg?i.dynCall_v(n):i.dynCall_vi(n,r.arg):n(void 0===r.arg?null:r.arg)}else r()}}L<5242880&&a("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+L+"! (TOTAL_STACK=5242880)"),h=i.buffer?i.buffer:new ArrayBuffer(L),E(),C[D>>2]=5253936;var S=[],B=[],M=[],F=[],_=!1;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var i=65535&e,n=65535&r;return i*n+((e>>>16)*n+i*(r>>>16)<<16)|0}),Math.clz32||(Math.clz32=function(e){var r=32,i=e>>16;return i&&(r-=16,e=i),(i=e>>8)&&(r-=8,e=i),(i=e>>4)&&(r-=4,e=i),(i=e>>2)&&(r-=2,e=i),(i=e>>1)?r-2:r-e}),Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)});var P=Math.abs,R=Math.ceil,T=Math.floor,G=Math.min,O=0,q=null,Y=null;function U(e){O++,i.monitorRunDependencies&&i.monitorRunDependencies(O)}function z(e){if(O--,i.monitorRunDependencies&&i.monitorRunDependencies(O),0==O&&(null!==q&&(clearInterval(q),q=null),Y)){var r=Y;Y=null,r()}}i.preloadedImages={},i.preloadedAudios={};var W=null,X="data:application/octet-stream;base64,";function Q(e){return String.prototype.startsWith?e.startsWith(X):0===e.indexOf(X)}W="data:application/octet-stream;base64,AAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f38AAAAAAAAAAPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDx8vP09fb3+Pn6+/z9/v8AAQIDBAUGBwgJCgsMDQ4PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAP/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AGAcXGSgGJykWGiYqOAU3ORUbNjolK0gER0kUHDU7RkokLFhFSzQ8A1dZEx1WWiMtRExVWzM9aAJnaRIeZmoiLlRcQ01lazI+eAF3eVNdER9kbEJOdnohL3V7MT9jbVJeAHR8QU8QIGJuMHN9UV9Acn5hb1Bxf2BwAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8AAAAAAAAAAAAAAAAAiguMC44LkguaC6oLygsKDIwMjA2MD4wTAAAAAAAAAAAREgABAgMEBRAGBwgJCgsMDQ4PAAAAAAAAAAAAAAAAADBS4Q2GGLMDy6xfd2piiBxVXDhoKLizFPj+hUpLuN1Jl/P8ZIkCVVwAAClK2sF+Dau3QFl9V5JUcsoZTmmM0zhl7gEMX3WhMlL2N1QyLLtasVeqD+cz9XPa7l9o4sxjdYMOmW7tpzBHxtnATzwVa0n6AxRPDPsaVDILmXMcy9cmBjfMb9h3uywqL3Z13cwlZGFUsyQVh30KqBQEIme/HhSDFbRW4wLlc2+xykRCTSYo+666c+3rUAr7tmodC9Q6DWg72zWDHggrlWvOd/DlgVG8O4V4lJSfADzt5ScAAAAAAAAEAAgADACAAIQAiACMAAABBAEIAQwBgAGEAYgBjAHneDBZc3F4mHCYs0B+qnYuRl+vRY9QVVJIm2c4Ogqr2r0RDZhyGhGjLMMVCq15GFDDGj4sQFWQRwomq9WQIhqqLjcTiKAhzkc/FAhyctAMCeJRKAtgtlQdECSGt1mJYmVqpZRIu2SCnW8gS1BCZqdjSj4o6oApNQmy8Y0aCGtKKxqSSaYxF51BJmmgMzQfc4BoTwwb2f9XEQdXREcscjMPuhcvKQ5utrcVEcJCLRlmxb0XEhZYWJOWKi4txM0rYbd1VSYjsz0nNchXGhUr6Ks4IjNocmYdXU0nHFWrOqVaYkAiFnTOFyIrpklrNiAaMwFRKx9EGWoWQKsk4XIiExVmhLwQTHw+Ek5fVTkyMDPBZSOf129ZLm88lB+s2+QVEm9wcU1Vs/8meHIoKgHE9dEKGW1YKx2MptUlK5o9Px6bQy1EAdFkUAgrmgEzGkeOTk4Q/4AixaspKAVm07cEAd0zMhGo0cAXGVKKHySrG6YmLOVDVzqpUnMaO7M/O1q0O6ZdSZooKBV0j9EiJ68vDxC3It8xLbcuESG3BmIPILc5LhYYgAE2ESVBIElzHIAXgM0oAwlzM8ASBt9XJQlzO01AFS9oNyzaCTY1guJAWkbNKCkXGjk2OXC4BSkmptUeIhqFmHQKIIYnEzXdGnIgSf8fCUHqAg8BdklLIAwzwP+gKzNYHyNDZlU3ulU4FRdvO80tJcA3JkZ8SWYBImJ9YipYaFV1r1JfVDVZgGRxZS1LT3svM4BRqwE5EQVHZjk1KTEmIQ15OUkaAVUpCkOKTW5aL3JzFQIKZv+mFwZlHRAKVYBlxBo5EgpmZtUiFCt1FA8ko4BEARpmPUclIjUf88BFPEcmSXcc3iVELYAiAS8L9as+ERNGklU3PkYlKyWaZKNVoAE/CVyIHEAgyVVLDwkJQP+4dxBWBhwFQP8Z+AE4CBGEif83dIA6DxRShzkaeSikMh+JmoUZI9ozZyyDg3sfBp5WKECHlOAtt4AWGhGD8JoOAdEtEBVbQN4HAcU4FSebPIoXZtVTDA02wP9ELxxVGlVVgIAgkqsSCwc/kKsEBPYjGwqSrqsMGoC+UCNjtFB+Ni1Vfi9XsDMpFCBlS4CLdpJ0gFU4KQ+w7FUlCT5HHhF3dv8REoplJjyKN0YrGo6SJBMeq/9hGxSKLT0+2wFRvEAgKRR1l44UFaNwEww9w4AwBBgAAAAAAAAAAAAAAAAAAf8C/gMEBv0F/Pv6B/kI+PcAAAAAAAAAAAAAAAAAAP///////////////////////////////////////////7D2////////////3/H8///////////5/f3////////////0/P//////////6v7+///////////9///////////////2/v//////////7/3+///////////+//7////////////4/v//////////+//+///////////////////////////9/v//////////+/7+///////////+//7////////////+/f/+////////+v/+//7////////+/////////////////////////////////////////////////////////9n/////////////4fzx/f///v/////q+vH6/f/9/v/////+////////////3/7+///////////u/f7+///////////4/v//////////+f7////////////////////////////9////////////9/7////////////////////////////9/v///////////P/////////////////////////////+/v///////////f/////////////////////////////+/f//////////+v/////////////+/////////////////////////////////////////////////////////7r7+v//////////6vv0/v/////////7+/P9/v/+///////9/v//////////7P3+///////////7/f3+/v/////////+/v///////////v7+///////////////////////////+/////////////v7////////////+/////////////////////////////v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////j/////////////+v78/v/////////4/vn9///////////9/f//////////9v39///////////8/vv+/v/////////+/P//////////+P79///////////9//7+///////////7/v//////////9fv+///////////9/f7////////////7/f///////////P3+/////////////v/////////////8////////////+f/+//////////////7//////////////f//////////+v///////////////////////////////////////////v///////////////////////////4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP2I/v/k24CAgICAvYHy/+PV/9uAgIBqfuP81tH//4CAgAFi+P/s4v//gICAtYXu/t3q/5qAgIBOhsr3xrT/24CAgAG5+f/z/4CAgICAuJb3/+zggICAgIBNbtj/7OaAgICAgAFl+//x/4CAgICAqovx/OzR//+AgIAldMTz5P///4CAgAHM/v/1/4CAgICAz6D6/+6AgICAgIBmZ+f/06uAgICAgAGY/P/w/4CAgICAsYfz/+rhgICAgIBQgdP/wuCAgICAgAEB/4CAgICAgICA9gH/gICAgICAgID/gICAgICAgICAgMYj7d/Bu6KgkZs+gy3G3ayw3J383QFEL5LQlafdov/fgAGV8f/d4P//gICAuI3q/d7c/8eAgIBRY7XysL75yv//gAGB6P3WxfLE//+AY3nS+snG/8qAgIAXW6Pyqrv30v//gAHI9v/q/4CAgICAbbLx/+f1//+AgIAsgsn9zcD//4CAgAGE7/vb0f+lgICAXojh+9q+//+AgIAWZK71uqH/x4CAgAG2+f/o64CAgICAfI/x/+PqgICAgIAjTbX7wdP/zYCAgAGd9//s5///gICAeY3r/+Hj//+AgIAtY7z7w9n/4ICAgAEB+//V/4CAgICAywH4//+AgICAgICJAbH/4P+AgICAgP0J+PvP0P/AgICArw3g88G5+cb//4BJEavdobPsp//qgAFf9/3Ut///gICA71r0+tPR//+AgICbTcP4vMP//4CAgAEY7/va2//NgICAyTPb/8S6gICAgIBFLr7vydr/5ICAgAG/+///gICAgICA36X5/9X/gICAgICNfPj//4CAgICAgAEQ+P//gICAgICAviTm/+z/gICAgICVAf+AgICAgICAgAHi/4CAgICAgICA98D/gICAgICAgIDwgP+AgICAgICAgAGG/P//gICAgICA1T76//+AgICAgIA3Xf+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMoY1eu6v9yg8K//fia26Km45K7/u4A9Lorbl7Lwqv/YgAFw5vrHv/ef//+Apm3k/NPX/66AgIAnTaLorLT1sv//gAE03PbGx/nc//+AfEq/87fB+t3//4AYR4Lbmqrztv//gAG24fnb8P/ggICAlZbi/NjN/6uAgIAcbKryt8L+3///gAFR5vzMy//AgICAe2bR97zE/+mAgIAUX5nzpK3/y4CAgAHe+P/Y1YCAgICAqK/2/OvN//+AgIAvdNf/09T//4CAgAF57P3U1v//gICAjVTV/MnK/9uAgIAqUKDworn/zYCAgAEB/4CAgICAgICA9AH/gICAgICAgIDuAf+AgICAgICAgAQFBgcICQoKCwwNDg8QERESExQUFRUWFhcXGBkZGhscHR4fICEiIyQlJSYnKCkqKywtLi4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xMTU5PUFFSU1RVVldYWVtdX2BiZGVmaGpsbnBydHZ6fH6AgoSGiIqMj5GUl5qdBAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA8AD4AQABCAEQARgBIAEoATABOAFAAUgBUAFYAWABaAFwAXgBgAGIAZABmAGgAagBsAG4AcAByAHQAdwB6AH0AgACDAIYAiQCMAI8AkgCVAJgAmwCeAKEApACnAKoArQCxALUAuQC9AMEAxQDJAM0A0QDVANkA3QDhAOUA6gDvAPUA+QD+AAMBCAENARIBFwEcAQABBAgFAgMGCQwNCgcLDg+pIwAArSMAALIjAAC4IwAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGDAQAAIAIAAD/CQAA/wwAALAfAAC0HwAAuB8AALwfAADAHwAAxB8AAMgfAAABAAAAAQAAAAIAAAACAAAAAwAAAAQAAADkHwAA6B8AAPAfAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAABQqAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExpYnJhcnkgdmVyc2lvbiBtaXNtYXRjaCEKAFVuYWJsZSB0byBzZXQgdmlkZW8gbW9kZSAoMzJicHAgJWR4JWQpIQoAVW5hYmxlIHRvIGNyZWF0ZSAlZHglZCBSR0JBIHN1cmZhY2UhCgBFcnJvciBkZWNvZGluZyBpbWFnZSAoJWQpCgACAwcDAwsDBAMEBAICBAQEAgEBCAcGBAQCAgIBAQEBAAIIQ291bGQgbm90IGRlY29kZSBhbHBoYSBkYXRhLgBGcmFtZSBzZXR1cCBmYWlsZWQAdGhyZWFkIGluaXRpYWxpemF0aW9uIGZhaWxlZC4Abm8gbWVtb3J5IGR1cmluZyBmcmFtZSBpbml0aWFsaXphdGlvbi4AUklGRgBXRUJQAFZQOFgAQUxQSABWUDggAFZQOEwAT0sAbnVsbCBWUDhJbyBwYXNzZWQgdG8gVlA4R2V0SGVhZGVycygpAFRydW5jYXRlZCBoZWFkZXIuAEluY29ycmVjdCBrZXlmcmFtZSBwYXJhbWV0ZXJzLgBGcmFtZSBub3QgZGlzcGxheWFibGUuAGNhbm5vdCBwYXJzZSBwaWN0dXJlIGhlYWRlcgBCYWQgY29kZSB3b3JkAGJhZCBwYXJ0aXRpb24gbGVuZ3RoAGNhbm5vdCBwYXJzZSBzZWdtZW50IGhlYWRlcgBjYW5ub3QgcGFyc2UgZmlsdGVyIGhlYWRlcgBjYW5ub3QgcGFyc2UgcGFydGl0aW9ucwBOb3QgYSBrZXkgZnJhbWUuAK2UjACwm4yHALSdjYaCAP7+8+bEsZmMhYKBAE5VTEwgVlA4SW8gcGFyYW1ldGVyIGluIFZQOERlY29kZSgpLgBQcmVtYXR1cmUgZW5kLW9mLXBhcnRpdGlvbjAgZW5jb3VudGVyZWQuAFByZW1hdHVyZSBlbmQtb2YtZmlsZSBlbmNvdW50ZXJlZC4AT3V0cHV0IGFib3J0ZWQuAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu";function N(r,i){if(Z.mainLoop.timingMode=r,Z.mainLoop.timingValue=i,!Z.mainLoop.func)return 1;if(0==r)Z.mainLoop.scheduler=function(){var e=0|Math.max(0,Z.mainLoop.tickStartTime+i-V());setTimeout(Z.mainLoop.runner,e)},Z.mainLoop.method="timeout";else if(1==r)Z.mainLoop.scheduler=function(){Z.requestAnimationFrame(Z.mainLoop.runner)},Z.mainLoop.method="rAF";else if(2==r){if(void 0===e){var n=[];addEventListener("message",(function(e){"setimmediate"!==e.data&&"setimmediate"!==e.data.target||(e.stopPropagation(),n.shift()())}),!0),e=function(e){n.push(e),postMessage("setimmediate","*")}}Z.mainLoop.scheduler=function(){e(Z.mainLoop.runner)},Z.mainLoop.method="immediate"}return 0}function V(){pe()}function H(e,r,n,t,o){var f;i.noExitRuntime=!0,s(!Z.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Z.mainLoop.func=e,Z.mainLoop.arg=t,f=void 0!==t?function(){i.dynCall_vi(e,t)}:function(){i.dynCall_v(e)};var A=Z.mainLoop.currentlyRunningMainloop;if(Z.mainLoop.runner=function(){if(!u)if(Z.mainLoop.queue.length>0){var e=Date.now(),r=Z.mainLoop.queue.shift();if(r.func(r.arg),Z.mainLoop.remainingBlockers){var n=Z.mainLoop.remainingBlockers,t=n%1==0?n-1:Math.floor(n);r.counted?Z.mainLoop.remainingBlockers=t:(t+=.5,Z.mainLoop.remainingBlockers=(8*n+t)/9)}if(console.log('main loop blocker "'+r.name+'" took '+(Date.now()-e)+" ms"),Z.mainLoop.updateStatus(),A1&&Z.mainLoop.currentFrameNumber%Z.mainLoop.timingValue!=0?Z.mainLoop.scheduler():(0==Z.mainLoop.timingMode&&(Z.mainLoop.tickStartTime=V()),"timeout"===Z.mainLoop.method&&i.ctx&&(a("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Z.mainLoop.method=""),Z.mainLoop.runIter(f),A0?N(0,1e3/r):N(1,1),Z.mainLoop.scheduler()),n)throw"SimulateInfiniteLoop"}var Z={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Z.mainLoop.scheduler=null,Z.mainLoop.currentlyRunningMainloop++},resume:function(){Z.mainLoop.currentlyRunningMainloop++;var e=Z.mainLoop.timingMode,r=Z.mainLoop.timingValue,i=Z.mainLoop.func;Z.mainLoop.func=null,H(i,0,!1,Z.mainLoop.arg,!0),N(e,r),Z.mainLoop.scheduler()},updateStatus:function(){if(i.setStatus){var e=i.statusMessage||"Please wait...",r=Z.mainLoop.remainingBlockers,n=Z.mainLoop.expectedBlockers;r?r=6;){var a=n>>t-6&63;t-=6,i+=r[a]}return 2==t?(i+=r[(3&n)<<4],i+="=="):4==t&&(i+=r[(15&n)<<2],i+="="),i}(e),a(s))},s.src=u,Z.safeSetTimeout((function(){a(s)}),1e4)}};i.preloadPlugins.push(r);var n=i.canvas;n&&(n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock||n.webkitRequestPointerLock||n.msRequestPointerLock||function(){},n.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},n.exitPointerLock=n.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),i.elementPointerLock&&n.addEventListener("click",(function(e){!Z.pointerLock&&i.canvas.requestPointerLock&&(i.canvas.requestPointerLock(),e.preventDefault())}),!1))}function t(){Z.pointerLock=document.pointerLockElement===i.canvas||document.mozPointerLockElement===i.canvas||document.webkitPointerLockElement===i.canvas||document.msPointerLockElement===i.canvas}},createContext:function(e,r,n,t){if(r&&i.ctx&&e==i.canvas)return i.ctx;var o,a;if(r){var f={antialias:!1,alpha:!1,majorVersion:1};if(t)for(var A in t)f[A]=t[A];void 0!==$&&(a=$.createContext(e,f))&&(o=$.getContext(a).GLctx)}else o=e.getContext("2d");return o?(n&&(r||s(void 0===ee,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),i.ctx=o,r&&$.makeContextCurrent(a),i.useWebGL=r,Z.moduleContextCreatedCallbacks.forEach((function(e){e()})),Z.init()),o):null},destroyContext:function(e,r,i){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,r,n){Z.lockPointer=e,Z.resizeCanvas=r,Z.vrDevice=n,void 0===Z.lockPointer&&(Z.lockPointer=!0),void 0===Z.resizeCanvas&&(Z.resizeCanvas=!1),void 0===Z.vrDevice&&(Z.vrDevice=null);var t=i.canvas;function o(){Z.isFullscreen=!1;var e=t.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.exitFullscreen=Z.exitFullscreen,Z.lockPointer&&t.requestPointerLock(),Z.isFullscreen=!0,Z.resizeCanvas?Z.setFullscreenCanvasSize():Z.updateCanvasDimensions(t)):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Z.resizeCanvas?Z.setWindowedCanvasSize():Z.updateCanvasDimensions(t)),i.onFullScreen&&i.onFullScreen(Z.isFullscreen),i.onFullscreen&&i.onFullscreen(Z.isFullscreen)}Z.fullscreenHandlersInstalled||(Z.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var a=document.createElement("div");t.parentNode.insertBefore(a,t),a.appendChild(t),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?function(){a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(a.webkitRequestFullScreen?function(){a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),n?a.requestFullscreen({vrDisplay:n}):a.requestFullscreen()},requestFullScreen:function(e,r,i){return a("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Z.requestFullScreen=function(e,r,i){return Z.requestFullscreen(e,r,i)},Z.requestFullscreen(e,r,i)},exitFullscreen:function(){return!!Z.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(0===Z.nextRAF)Z.nextRAF=r+1e3/60;else for(;r+2>=Z.nextRAF;)Z.nextRAF+=1e3/60;var i=Math.max(Z.nextRAF-r,0);setTimeout(e,i)},requestAnimationFrame:function(e){"undefined"==typeof window?Z.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Z.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!u)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Z.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Z.allowAsyncCallbacks=!0,Z.queuedAsyncCallbacks.length>0){var e=Z.queuedAsyncCallbacks;Z.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Z.requestAnimationFrame((function(){u||(Z.allowAsyncCallbacks?e():Z.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,r){return i.noExitRuntime=!0,setTimeout((function(){u||(Z.allowAsyncCallbacks?e():Z.queuedAsyncCallbacks.push(e))}),r)},safeSetInterval:function(e,r){return i.noExitRuntime=!0,setInterval((function(){u||Z.allowAsyncCallbacks&&e()}),r)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Z.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Z.mouseMovementX=Z.mouseMovementY=0:(Z.mouseMovementX=Z.getMovementX(e),Z.mouseMovementY=Z.getMovementY(e)),void 0!==J?(Z.mouseX=J.mouseX+Z.mouseMovementX,Z.mouseY=J.mouseY+Z.mouseMovementY):(Z.mouseX+=Z.mouseMovementX,Z.mouseY+=Z.mouseMovementY);else{var r=i.canvas.getBoundingClientRect(),n=i.canvas.width,t=i.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var f=e.touch;if(void 0===f)return;var A=f.pageX-(o+r.left),u=f.pageY-(a+r.top),s={x:A*=n/r.width,y:u*=t/r.height};if("touchstart"===e.type)Z.lastTouches[f.identifier]=s,Z.touches[f.identifier]=s;else if("touchend"===e.type||"touchmove"===e.type){var l=Z.touches[f.identifier];l||(l=s),Z.lastTouches[f.identifier]=l,Z.touches[f.identifier]=s}return}var c=e.pageX-(o+r.left),d=e.pageY-(a+r.top);c*=n/r.width,d*=t/r.height,Z.mouseMovementX=c-Z.mouseX,Z.mouseMovementY=d-Z.mouseY,Z.mouseX=c,Z.mouseY=d}},asyncLoad:function(e,r,n,t){var o=t?"":"al "+e;i.readAsync(e,(function(i){s(i,'Loading data file "'+e+'" failed (no arrayBuffer).'),r(new Uint8Array(i)),o&&z()}),(function(r){if(!n)throw'Loading data file "'+e+'" failed.';n()})),o&&U()},resizeListeners:[],updateResizeListeners:function(){var e=i.canvas;Z.resizeListeners.forEach((function(r){r(e.width,e.height)}))},setCanvasSize:function(e,r,n){var t=i.canvas;Z.updateCanvasDimensions(t,e,r),n||Z.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(void 0!==J){var e=p[J.screen>>2];e|=8388608,C[J.screen>>2]=e}Z.updateCanvasDimensions(i.canvas),Z.updateResizeListeners()},setWindowedCanvasSize:function(){if(void 0!==J){var e=p[J.screen>>2];e&=-8388609,C[J.screen>>2]=e}Z.updateCanvasDimensions(i.canvas),Z.updateResizeListeners()},updateCanvasDimensions:function(e,r,n){r&&n?(e.widthNative=r,e.heightNative=n):(r=e.widthNative,n=e.heightNative);var t=r,o=n;if(i.forcedAspectRatio&&i.forcedAspectRatio>0&&(t/o1)return 0;if(r.buffer||(r.buffer=se(r.width*r.height*4),C[e+20>>2]=r.buffer),C[e+20>>2]=r.buffer,e==J.screen&&i.screenIsReadOnly&&r.image)return 0;if(J.defaults.discardOnLock){if(r.image||(r.image=r.ctx.createImageData(r.width,r.height)),!J.defaults.opaqueFrontBuffer)return}else r.image=r.ctx.getImageData(0,0,r.width,r.height);if(e==J.screen&&J.defaults.opaqueFrontBuffer)for(var n=r.image.data,t=n.length,o=0;o>2],y:C[e+4>>2],w:C[e+8>>2],h:C[e+12>>2]}},updateRect:function(e,r){C[e>>2]=r.x,C[e+4>>2]=r.y,C[e+8>>2]=r.w,C[e+12>>2]=r.h},intersectionOfRects:function(e,r){var i=Math.max(e.x,r.x),n=Math.max(e.y,r.y),t=Math.min(e.x+e.w,r.x+r.w),o=Math.min(e.y+e.h,r.y+r.h);return{x:i,y:n,w:Math.max(i,t)-i,h:Math.max(n,o)-n}},checkPixelFormat:function(e){},loadColorToCSSRGB:function(e){var r=C[e>>2];return"rgb("+(255&r)+","+(r>>8&255)+","+(r>>16&255)+")"},loadColorToCSSRGBA:function(e){var r=C[e>>2];return"rgba("+(255&r)+","+(r>>8&255)+","+(r>>16&255)+","+(r>>24&255)/255+")"},translateColorToCSSRGBA:function(e){return"rgba("+(255&e)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")"},translateRGBAToCSSRGBA:function(e,r,i,n){return"rgba("+(255&e)+","+(255&r)+","+(255&i)+","+(255&n)/255+")"},translateRGBAToColor:function(e,r,i,n){return e|r<<8|i<<16|n<<24},makeSurface:function(e,r,n,t,o,a,f,A,u){var s,l=1&(n=n||0),c=2097152&n,d=67108864&n,v=se(60),g=se(44),b=c?1:4,h=0;l||d||(h=se(e*r*4)),C[v>>2]=n,C[v+4>>2]=g,C[v+8>>2]=e,C[v+12>>2]=r,C[v+16>>2]=e*b,C[v+20>>2]=h,C[v+36>>2]=0,C[v+40>>2]=0,C[v+44>>2]=i.canvas.width,C[v+48>>2]=i.canvas.height,C[v+56>>2]=1,C[g>>2]=-2042224636,C[g+4>>2]=0,w[g+8>>0]=8*b,w[g+9>>0]=b,C[g+12>>2]=a||255,C[g+16>>2]=f||65280,C[g+20>>2]=A||16711680,C[g+24>>2]=u||4278190080,J.GL=J.GL||d,t?s=i.canvas:((s=J.canvasPool.length>0?J.canvasPool.pop():document.createElement("canvas")).width=e,s.height=r);var k={antialias:0!=J.glAttributes[13]&&J.glAttributes[14]>1,depth:J.glAttributes[6]>0,stencil:J.glAttributes[7]>0,alpha:J.glAttributes[3]>0},m=Z.createContext(s,d,t,k);return J.surfaces[v]={width:e,height:r,canvas:s,ctx:m,surf:v,buffer:h,pixelFormat:g,alpha:255,flags:n,locked:0,usePageCanvas:t,source:o,isFlagSet:function(e){return n&e}},v},copyIndexedColorData:function(e,r,n,t,o){if(e.colors){var a=i.canvas.width,f=i.canvas.height,A=r||0,u=n||0,s=(t||a-A)+A,l=(o||f-u)+u,c=e.buffer;e.image.data32||(e.image.data32=new Uint32Array(e.image.data.buffer));for(var d=e.image.data32,v=e.colors32,g=u;g>0]]}},freeSurface:function(e){var r=e+56,i=C[r>>2];if(i>1)C[r>>2]=i-1;else{var n=J.surfaces[e];!n.usePageCanvas&&n.canvas&&J.canvasPool.push(n.canvas),n.buffer&&ue(n.buffer),ue(n.pixelFormat),ue(e),J.surfaces[e]=null,e===J.screen&&(J.screen=null)}},blitSurface:function(e,r,i,n,t){var o,a,A,u,s=J.surfaces[e],l=J.surfaces[i];if(o=r?J.loadRect(r):{x:0,y:0,w:s.width,h:s.height},a=n?J.loadRect(n):{x:0,y:0,w:s.width,h:s.height},l.clipRect){var c=t&&0!==o.w?o.w/a.w:1,d=t&&0!==o.h?o.h/a.h:1;a=J.intersectionOfRects(l.clipRect,a),o.w=a.w*c,o.h=a.h*d,n&&J.updateRect(n,a)}if(t?(A=a.w,u=a.h):(A=o.w,u=o.h),0===o.w||0===o.h||0===A||0===u)return 0;var v=l.ctx.globalAlpha;return l.ctx.globalAlpha=s.alpha/255,l.ctx.drawImage(s.canvas,o.x,o.y,o.w,o.h,a.x,a.y,A,u),l.ctx.globalAlpha=v,i!=J.screen&&(f("WARNING: copying canvas data to memory for compatibility"),K(i),l.locked--),0},downFingers:{},savedKeydown:null,receiveEvent:function(e){function r(){for(var e in J.keyboardMap)J.events.push({type:"keyup",keyCode:J.keyboardMap[e]})}switch(e.type){case"touchstart":case"touchmove":e.preventDefault();var n=[];if("touchstart"===e.type)for(var t=0;t0?Math.max(s,1):Math.min(s,-1))>0?3:4;J.events.push({type:"mousedown",button:l,pageX:e.pageX,pageY:e.pageY}),J.events.push({type:"mouseup",button:l,pageX:e.pageX,pageY:e.pageY}),J.events.push({type:"wheel",deltaX:0,deltaY:s}),e.preventDefault();break;case"mousemove":if(1===J.DOMButtons[0]&&J.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),Z.pointerLock&&("mozMovementX"in e&&(e.movementX=e.mozMovementX,e.movementY=e.mozMovementY),0==e.movementX&&0==e.movementY))return void e.preventDefault();case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if("keydown"===e.type&&(J.unicode||J.textInput)&&8!==e.keyCode&&9!==e.keyCode||e.preventDefault(),"mousedown"==e.type)J.DOMButtons[e.button]=1,J.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}});else if("mouseup"==e.type){if(!J.DOMButtons[e.button])return;J.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),J.DOMButtons[e.button]=0}"keydown"===e.type||"mousedown"===e.type?J.canRequestFullscreen=!0:"keyup"!==e.type&&"mouseup"!==e.type||(J.isRequestingFullscreen&&(i.requestFullscreen(!0,!0),J.isRequestingFullscreen=!1),J.canRequestFullscreen=!1),"keypress"===e.type&&J.savedKeydown?(J.savedKeydown.keypressCharCode=e.charCode,J.savedKeydown=null):"keydown"===e.type&&(J.savedKeydown=e),("keypress"!==e.type||J.textInput)&&J.events.push(e);break;case"mouseout":for(t=0;t<3;t++)J.DOMButtons[t]&&(J.events.push({type:"mouseup",button:t,pageX:e.pageX,pageY:e.pageY}),J.DOMButtons[t]=0);e.preventDefault();break;case"focus":J.events.push(e),e.preventDefault();break;case"blur":J.events.push(e),r(),e.preventDefault();break;case"visibilitychange":J.events.push({type:"visibilitychange",visible:!document.hidden}),r(),e.preventDefault();break;case"unload":return void(Z.mainLoop.runner&&(J.events.push(e),Z.mainLoop.runner()));case"resize":J.events.push(e),e.preventDefault&&e.preventDefault()}J.events.length>=1e4&&(a("SDL event queue full, dropping events"),J.events=J.events.slice(0,1e4)),J.flushEventsToHandler()},lookupKeyCodeForEvent:function(e){var r=e.keyCode;return r>=65&&r<=90?r+=32:(r=J.keyCodes[e.keyCode]||e.keyCode,e.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&r>=1248&&r<=1251&&(r+=4)),r},handleEvent:function(e){if(!e.handled)switch(e.handled=!0,e.type){case"touchstart":case"touchend":case"touchmove":Z.calculateMouseEvent(e);break;case"keydown":case"keyup":var r="keydown"===e.type,i=J.lookupKeyCodeForEvent(e);w[J.keyboardState+i>>0]=r,J.modState=(w[J.keyboardState+1248>>0]?64:0)|(w[J.keyboardState+1249>>0]?1:0)|(w[J.keyboardState+1250>>0]?256:0)|(w[J.keyboardState+1252>>0]?128:0)|(w[J.keyboardState+1253>>0]?2:0)|(w[J.keyboardState+1254>>0]?512:0),r?J.keyboardMap[i]=e.keyCode:delete J.keyboardMap[i];break;case"mousedown":case"mouseup":"mousedown"==e.type?J.buttonState|=1<0;)if(!1!==J.makeCEvent(J.events.shift(),e))return 1;return 0}return J.events.length>0},makeCEvent:function(e,r){if("number"==typeof e)return le(r,e,28),void ue(e);switch(J.handleEvent(e),e.type){case"keydown":case"keyup":var n,t="keydown"===e.type,o=J.lookupKeyCodeForEvent(e);n=o>=1024?o-1024:J.scanCodes[o]||o,C[r>>2]=J.DOMEventToSDLEvent[e.type],w[r+8>>0]=t?1:0,w[r+9>>0]=0,C[r+12>>2]=n,C[r+16>>2]=o,m[r+20>>1]=J.modState,C[r+24>>2]=e.keypressCharCode||o;break;case"keypress":C[r>>2]=J.DOMEventToSDLEvent[e.type];for(var a=function(e,r,i){var n=i>0?i:function(e){for(var r=0,i=0;i=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++i)),n<=127?++r:r+=n<=2047?2:n<=65535?3:4}return r}(e)+1,t=new Array(n),o=b(e,t,0,t.length);r&&(t.length=o);return t}(String.fromCharCode(e.charCode)),f=0;f>0]=a[f];break;case"mousedown":case"mouseup":case"mousemove":if("mousemove"!=e.type){t="mousedown"===e.type;C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,C[r+8>>2]=0,C[r+12>>2]=0,w[r+16>>0]=e.button+1,w[r+17>>0]=t?1:0,C[r+20>>2]=Z.mouseX,C[r+24>>2]=Z.mouseY}else C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,C[r+8>>2]=0,C[r+12>>2]=0,C[r+16>>2]=J.buttonState,C[r+20>>2]=Z.mouseX,C[r+24>>2]=Z.mouseY,C[r+28>>2]=Z.mouseMovementX,C[r+32>>2]=Z.mouseMovementY;break;case"wheel":C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+16>>2]=e.deltaX,C[r+20>>2]=e.deltaY;break;case"touchstart":case"touchend":case"touchmove":var A=e.touch;if(!Z.touches[A.identifier])break;var u=i.canvas.width,s=i.canvas.height,l=Z.touches[A.identifier].x/u,c=Z.touches[A.identifier].y/s,d=l-Z.lastTouches[A.identifier].x/u,v=c-Z.lastTouches[A.identifier].y/s;if(void 0===A.deviceID&&(A.deviceID=J.TOUCH_DEFAULT_ID),0===d&&0===v&&"touchmove"===e.type)return!1;C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=j(),tempI64=[A.deviceID>>>0,(tempDouble=A.deviceID,+P(tempDouble)>=1?tempDouble>0?(0|G(+T(tempDouble/4294967296),4294967295))>>>0:~~+R((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],C[r+8>>2]=tempI64[0],C[r+12>>2]=tempI64[1],tempI64=[A.identifier>>>0,(tempDouble=A.identifier,+P(tempDouble)>=1?tempDouble>0?(0|G(+T(tempDouble/4294967296),4294967295))>>>0:~~+R((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],C[r+16>>2]=tempI64[0],C[r+20>>2]=tempI64[1],I[r+24>>2]=l,I[r+28>>2]=c,I[r+32>>2]=d,I[r+36>>2]=v,void 0!==A.force?I[r+40>>2]=A.force:I[r+40>>2]="touchend"==e.type?0:1;break;case"unload":C[r>>2]=J.DOMEventToSDLEvent[e.type];break;case"resize":C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=e.w,C[r+8>>2]=e.h;break;case"joystick_button_up":case"joystick_button_down":var g="joystick_button_up"===e.type?0:1;C[r>>2]=J.DOMEventToSDLEvent[e.type],w[r+4>>0]=e.index,w[r+5>>0]=e.button,w[r+6>>0]=g;break;case"joystick_axis_motion":C[r>>2]=J.DOMEventToSDLEvent[e.type],w[r+4>>0]=e.index,w[r+5>>0]=e.axis,C[r+8>>2]=J.joystickAxisValueConversion(e.value);break;case"focus":C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,w[r+8>>0]=12;break;case"blur":C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,w[r+8>>0]=13;break;case"visibilitychange":var h=e.visible?1:2;C[r>>2]=J.DOMEventToSDLEvent[e.type],C[r+4>>2]=0,w[r+8>>0]=h;break;default:throw"Unhandled SDL event: "+e.type}},makeFontString:function(e,r){return"'"!=r.charAt(0)&&'"'!=r.charAt(0)&&(r='"'+r+'"'),e+"px "+r+", serif"},estimateTextWidth:function(e,r){var i=e.size,n=J.makeFontString(i,e.name),t=J.ttfContext;t.save(),t.font=n;var o=0|t.measureText(r).width;return t.restore(),o},allocateChannels:function(e){if(!(J.numChannels&&J.numChannels>=e&&0!=e)){J.numChannels=e,J.channels=[];for(var r=0;r>1]/32768;else if(8==J.audio.format)for(a=0;a>0];o[a]=(f>=0?f-128:f+128)/128}else{if(33056!=J.audio.format)throw"Invalid SDL audio format "+J.audio.format+"!";for(a=0;a>2]}}},debugSurface:function(e){console.log("dumping surface "+[e.surf,e.source,e.width,e.height]);for(var r=e.ctx.getImageData(0,0,e.width,e.height).data,i=Math.min(e.width,e.height),n=0;n0},queryJoysticks:function(){for(var e in J.lastJoystickState){var r=J.getGamepad(e-1),i=J.lastJoystickState[e];if(void 0===r)return;if(null===r)return;if("number"!=typeof r.timestamp||r.timestamp!==i.timestamp||!r.timestamp){var n;for(n=0;ne&&e>=0?r[e]:null}};var $={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:{},currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,init:function(){$.miniTempBuffer=new Float32Array($.MINI_TEMP_BUFFER_SIZE);for(var e=0;e<$.MINI_TEMP_BUFFER_SIZE;e++)$.miniTempBufferViews[e]=$.miniTempBuffer.subarray(0,e+1)},recordError:function(e){$.lastError||($.lastError=e)},getNewId:function(e){for(var r=$.counter++,i=e.length;i>2]:-1;t+=g(C[i+4*o>>2],a<0?void 0:a)}return t},createContext:function(e,r){var i=e.getContext("webgl",r)||e.getContext("experimental-webgl",r);return i&&$.registerContext(i,r)},registerContext:function(e,r){var i=se(8),n={handle:i,attributes:r,version:r.majorVersion,GLctx:e};return n.cannotHandleOffsetsInUniformArrayViews=function(e){function r(r,i){var n=e.createShader(i);return e.shaderSource(n,r),e.compileShader(n),n}try{var i=e.createProgram();e.attachShader(i,r("attribute vec4 p;void main(){gl_Position=p;}",e.VERTEX_SHADER)),e.attachShader(i,r("precision lowp float;uniform vec4 u;void main(){gl_FragColor=u;}",e.FRAGMENT_SHADER)),e.linkProgram(i);var n=new Float32Array(8);n[4]=1,e.useProgram(i);var t=e.getUniformLocation(i,"u");return e.uniform4fv(t,n.subarray(4,8)),!e.getUniform(i,t)[0]}catch(e){return!1}}(),e.canvas&&(e.canvas.GLctxObject=n),$.contexts[i]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&$.initExtensions(n),i},makeContextCurrent:function(e){return $.currentContext=$.contexts[e],i.ctx=ee=$.currentContext&&$.currentContext.GLctx,!(e&&!ee)},getContext:function(e){return $.contexts[e]},deleteContext:function(e){$.currentContext===$.contexts[e]&&($.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget($.contexts[e].GLctx.canvas),$.contexts[e]&&$.contexts[e].GLctx.canvas&&($.contexts[e].GLctx.canvas.GLctxObject=void 0),ue($.contexts[e]),$.contexts[e]=null},initExtensions:function(e){if(e||(e=$.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;if(e.version<2){var i=r.getExtension("ANGLE_instanced_arrays");i&&(r.vertexAttribDivisor=function(e,r){i.vertexAttribDivisorANGLE(e,r)},r.drawArraysInstanced=function(e,r,n,t){i.drawArraysInstancedANGLE(e,r,n,t)},r.drawElementsInstanced=function(e,r,n,t,o){i.drawElementsInstancedANGLE(e,r,n,t,o)});var n=r.getExtension("OES_vertex_array_object");n&&(r.createVertexArray=function(){return n.createVertexArrayOES()},r.deleteVertexArray=function(e){n.deleteVertexArrayOES(e)},r.bindVertexArray=function(e){n.bindVertexArrayOES(e)},r.isVertexArray=function(e){return n.isVertexArrayOES(e)});var t=r.getExtension("WEBGL_draw_buffers");t&&(r.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query");var o=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","EXT_frag_depth","WEBGL_draw_buffers","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","EXT_blend_minmax","EXT_shader_texture_lod","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_sRGB","WEBGL_compressed_texture_etc1","EXT_disjoint_timer_query","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_astc","EXT_color_buffer_float","WEBGL_compressed_texture_s3tc_srgb","EXT_disjoint_timer_query_webgl2"],a=r.getSupportedExtensions();a&&a.length>0&&r.getSupportedExtensions().forEach((function(e){-1!=o.indexOf(e)&&r.getExtension(e)}))}},populateUniformTable:function(e){for(var r=$.programs[e],i=$.programInfos[e]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1},n=i.uniforms,t=ee.getProgramParameter(r,35718),o=0;o>2]},getStr:function(){return g(re.get())},get64:function(){var e=re.get();re.get();return e},getZero:function(){re.get()}};function ie(){return w.length}function ne(e){try{var r=new ArrayBuffer(e);if(r.byteLength!=e)return!1;new Int8Array(r).set(w)}catch(e){return!1}return i._emscripten_replace_memory(r),w=new Int8Array(r),m=new Int16Array(r),C=new Int32Array(r),k=new Uint8Array(r),new Uint16Array(r),p=new Uint32Array(r),I=new Float32Array(r),new Float64Array(r),h=r,r}function te(e){var r=ie();if(e>2130706432)return!1;for(var i=Math.max(r,16777216);i>4,i=(15&t)<<4|(o=f.indexOf(e.charAt(u++)))>>2,n=(3&o)<<6|(a=f.indexOf(e.charAt(u++))),A+=String.fromCharCode(r),64!==o&&(A+=String.fromCharCode(i)),64!==a&&(A+=String.fromCharCode(n))}while(u>2]),o[i>>2]=0,o[e+2364>>2]=0,(e=0|o[(i=e+2344|0)>>2])?(U(0|o[(r=e+20|0)>>2]),o[r>>2]=0,Y(e),o[i>>2]=0):o[i>>2]=0}function Y(e){Jr(e|=0)}function U(e){(e|=0)&&(z(e),Y(e))}function z(e){var r=0,i=0,n=0;if(e|=0){Y(0|o[e+160>>2]),Y(0|o[e+172>>2]),W(0|o[e+168>>2]),X(e+124|0),X(e+136|0),i=(r=e+120|0)+56|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|i));if(Y(0|o[(r=e+16|0)>>2]),o[r>>2]=0,(0|o[(r=e+176|0)>>2])>0){i=0;do{Y(0|o[(n=e+180+(20*i|0)+16|0)>>2]),o[n>>2]=0,i=i+1|0}while((0|i)<(0|o[r>>2]))}o[r>>2]=0,o[e+260>>2]=0,Y(0|o[(r=e+264|0)>>2]),o[r>>2]=0,o[e+12>>2]=0}}function W(e){(e|=0)&&Y(e)}function X(e){(e|=0)&&(Y(0|o[e>>2]),o[e>>2]=0)}function Q(e,r,i,t){e|=0,i|=0,t|=0;var f,A,u,s,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0;if(f=0|o[(r|=0)>>2],(0|i)<0|(0|t)<1|(t+i|0)>(0|(u=0|o[(A=r+88|0)>>2])))return 0|0;s=e+2356|0;e:do{if(!(0|o[s>>2])){d=0|o[(c=e+2344|0)>>2];do{if(d)D=t,L=d,x=16;else{if(v=0|N(1,0,144),o[c>>2]=v,!v)return 0|0;if(v=0|o[r>>2],v=0|V(h=0|Li(0|(b=0|o[A>>2]),((0|b)<0)<<31>>31|0,0|v,((0|v)<0)<<31>>31|0),0|g(),1),o[e+2360>>2]=v,0|v&&(o[e+2364>>2]=v,o[e+2368>>2]=0,h=0|o[c>>2],k=(b=0|o[e+2348>>2])+1|0,m=(w=0|o[e+2352>>2])+-1|0,C=h+24|0,H(),o[h+136>>2]=v,o[h>>2]=o[r>>2],v=r+4|0,o[(p=h+4|0)>>2]=o[v>>2],w>>>0>=2)&&(w=3&n[b>>0],o[(I=h+8|0)>>2]=255&w,y=0|a[b>>0],o[h+12>>2]=y>>>2&3,E=(y=0|a[b>>0])>>>4&3,o[h+16>>2]=E,(255&w)<=1)&&!(E>>>0>1|(0|a[b>>0])>63)&&(Z(C,520),j(0,C),o[h+64>>2]=h,o[C>>2]=o[r>>2],o[h+28>>2]=o[v>>2],o[h+96>>2]=o[r+72>>2],o[h+100>>2]=o[r+76>>2],o[h+104>>2]=o[r+80>>2],o[h+108>>2]=o[r+84>>2],o[h+112>>2]=o[A>>2],0|(0|o[I>>2]?0|K(h,k,m):m>>>0>=(0|l(0|o[p>>2],0|o[h>>2]))>>>0&1))){if(m=0|o[c>>2],1==(0|o[m+16>>2])){D=u-i|0,L=m,x=16;break}o[e+2372>>2]=0,D=t,L=m,x=16;break}}}while(0);do{if(16==(0|x)){if(d=0|o[L>>2],m=0|o[L+112>>2],0|o[L+8>>2]){if(!(0|J(L,k=D+i|0)))break;S=k}else{if(h=0|o[(k=e+2368|0)>>2],p=0|l(d,i),I=1+(0|o[e+2348>>2])+p|0,C=(v=0|o[e+2364>>2])+p|0,E=(0|D)>0,b=0|o[(p=L+12|0)>>2])if(E){if(M=0|l(d,D+i+-1|0),$i[31&o[9472+(b<<2)>>2]](h,I,C,d),1!=(0|D)){y=I,B=C,_=1;do{y=y+d|0,P=B,B=B+d|0,$i[31&o[9472+(o[p>>2]<<2)>>2]](P,y,B,d),_=_+1|0}while((0|_)!=(0|D))}F=v+M|0}else F=h;else if(E){for(w=D+i+-1|0,y=I,B=0,M=C;Ti(0|M,0|y,0|d),(0|(B=B+1|0))!=(0|D);)y=y+d|0,M=M+d|0;F=v+(0|l(d,w))|0}else F=h;o[k>>2]=F,S=D+i|0}if((0|S)<(0|m)){if(!(0|o[s>>2]))break e}else o[s>>2]=1;if(0|(_=0|o[c>>2])&&(U(0|o[(d=_+20|0)>>2]),o[d>>2]=0,Y(_)),o[c>>2]=0,(0|(_=0|o[e+2372>>2]))<=0)break e;if(d=0|o[r+84>>2],0|$((B=(0|o[e+2364>>2])+(0|l(d,f))|0)+(y=0|o[r+76>>2])|0,(0|o[r+80>>2])-y|0,(0|o[A>>2])-d|0,f,_))break e}}while(0);return Y(0|o[(_=e+2360|0)>>2]),o[_>>2]=0,o[e+2364>>2]=0,0|(_=0|o[c>>2])&&(U(0|o[(d=_+20|0)>>2]),o[d>>2]=0,Y(_)),o[c>>2]=0,0|0}}while(0);return 0|((0|o[e+2364>>2])+(0|l(f,i))|0)}function N(e,r,i){var n,t,o=0;return n=0|Li(0|(i|=0),0,0|(e|=0),0|(r|=0)),t=0|g(),!(0==(0|e)&0==(0|r))&&(o=0|Fi(2147418112,0,0|e,0|r),(0|n)!=(0|n)|0!=(0|t)|(r=0|g())>>>0<0|0==(0|r)&o>>>0>>0)?0|0:0|(0|$r(e,i))}function V(e,r,i){var n,t,o=0;return n=0|Li(0|(i|=0),0,0|(e|=0),0|(r|=0)),t=0|g(),!(0==(0|e)&0==(0|r))&&(o=0|Fi(2147418112,0,0|e,0|r),(0|n)!=(0|n)|0!=(0|t)|(r=0|g())>>>0<0|0==(0|r)&o>>>0>>0)?0|0:0|(0|Kr(0|l(e,i)))}function H(){0|ri(10112)||(0|o[2034]&&(o[2368]=0,o[2369]=1,o[2370]=2,o[2371]=3,o[2364]=0,o[2365]=1,o[2366]=2,o[2367]=3),o[2034]=0,ii(10112))}function Z(e,r){if(512!=(-256&(r|=0)|0))return 0|0;if(!(e|=0))return 0|1;e=(r=e)+108|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|e));return 0|1}function j(e,r){e|=0,o[(r|=0)+44>>2]=4,o[r+48>>2]=5,o[r+52>>2]=5,o[r+40>>2]=e}function K(e,r,i){e|=0,r|=0,i|=0;var t,a,f,A,u=0,s=0,l=0,c=0;if(!(t=0|N(1,0,272)))return 0|0;if(o[t>>2]=0,o[t+4>>2]=2,Ce(),u=0|o[e>>2],o[(a=t+100|0)>>2]=u,l=0|o[(s=e+4|0)>>2],o[(f=t+104|0)>>2]=l,A=e+24|0,o[t+8>>2]=A,o[e+64>>2]=e,o[A>>2]=u,o[e+28>>2]=l,o[t>>2]=0,pe(t+24|0,r,i),!(0|Ie(0|o[e>>2],0|o[s>>2],1,t,0)))return z(t),Y(t),0|0;e:do{if(1==(0|o[t+176>>2])&&3==(0|o[t+180>>2])&&(0|o[t+120>>2])<=0){if((0|(s=0|o[t+164>>2]))>0){i=0|o[t+168>>2],r=0;do{if(0|n[o[i+(548*r|0)+4>>2]>>0]){c=14;break e}if(0|n[o[i+(548*r|0)+8>>2]>>0]){c=14;break e}if(0|n[o[i+(548*r|0)+12>>2]>>0]){c=14;break e}r=r+1|0}while((0|r)<(0|s))}o[e+132>>2]=1,s=0|o[a>>2],i=0|Li(0|(r=0|o[f>>2]),((0|r)<0)<<31>>31|0,0|s,((0|s)<0)<<31>>31|0),s=0|g(),o[t+20>>2]=0,r=0|V(i,s,1),o[t+16>>2]=r,r?c=17:(o[t>>2]=1,c=19)}else c=14}while(0);do{if(14==(0|c)){if(o[e+132>>2]=0,r=0|o[e>>2],s=0|o[a>>2],l=0|Li(0|(i=0|o[f>>2]),((0|i)<0)<<31>>31|0,0|s,((0|s)<0)<<31>>31|0),s=0|g(),i=65535&r,r=0|xi(0|(u=0|Pi(0|r,((0|r)<0)<<31>>31|0,4)),0|g(),0|i,0),s=0|V(u=0|xi(0|r,0|g(),0|l,0|s),0|g(),4),o[t+16>>2]=s,s){o[t+20>>2]=s+(l<<2)+(i<<2),c=17;break}o[t>>2]=1,o[t+20>>2]=0,c=19;break}}while(0);return 17==(0|c)?(o[e+20>>2]=t,0|1):19==(0|c)?(z(t),Y(t),0|0):0}function J(e,r){r|=0;var i,A,u,s,c,d,v,b,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0,qe=0,Ye=0;if(i=0|o[(e|=0)+20>>2],(0|o[i+108>>2])>=(0|r))return 0|1;if(0|o[(h=e+132|0)>>2])w=0|o[i+16>>2];else{if(ee(),e=0|o[i+16>>2],!(0|o[h>>2]))return 0|(0|te(i,e,0|o[i+100>>2],0|o[i+104>>2],r,1));w=e}e=0|o[i+100>>2],s=(A=0|o[(h=i+112|0)>>2])-(0|l(u=(0|A)/(0|e)|0,e))|0,c=i+24|0,d=0|l(0|o[i+104>>2],e),v=0|l(e,r),b=0|o[i+148>>2];e:do{if((0|A)<(0|v))if((m=0|o[(k=i+152|0)>>2])?(p=0|l(0|o[i+156>>2],m?u>>m:u),C=0|o[(0|o[i+160>>2])+(p+(m?s>>m:s)<<2)>>2]):C=0,0|o[(m=i+48|0)>>2])Ge=u,Oe=A,qe=m,me=73;else{for(I=i+44|0,y=i+160|0,E=i+156|0,D=i+40|0,L=i+36|0,x=u,S=s,B=A,M=(0|o[(p=i+168|0)>>2])+(548*C|0)|0;;){S&b?R=M:((F=0|o[k>>2])?(P=0|l(0|o[E>>2],F?x>>F:x),_=0|o[(0|o[y>>2])+(P+(F?S>>F:S)<<2)>>2]):_=0,R=(0|o[p>>2])+(548*_|0)|0),(0|(F=0|o[I>>2]))>31?(re(c),T=0|o[I>>2]):T=F,F=0|o[R>>2],P=0|_i(0|(G=0|o[(P=c)>>2]),0|(O=0|o[P+4>>2]),63&T|0),g(),(255&(Y=0|n[(P=F+((q=255&P)<<2)|0)>>0]))>8?(U=T+8|0,o[I>>2]=U,z=0|_i(0|G,0|O,63&U|0),g(),X=W=P+((0|f[F+(q<<2)+2>>1])<<2)+(((1<<(255&Y)-8)-1&z)<<2)|0,Q=0|n[W>>0],N=U):(X=P,Q=Y,N=T),Y=N+(255&Q)|0,o[I>>2]=Y,U=65535&(P=0|t[X+2>>1]);do{if((65535&P)<256)n[w+B>>0]=P,W=B+1|0,(0|(z=S+1|0))>=(0|e)?(0|x)<(0|r)&0==(15&(q=x+1|0)|0)?(ie(i,q),V=W,H=q,Z=0,j=R):(V=W,H=q,Z=0,j=R):(V=W,H=x,Z=z,j=R);else{if((65535&P)>=280){K=B,J=0,$=m;break e}if(W=(z=U+-258|0)>>1,(65535&P)<260?(oe=U+-256|0,ae=Y,fe=G,Ae=O):(z=(0|ne(c,W))+((65535&(1&P|2))<>2],fe=0|o[W>>2],Ae=0|o[W+4>>2]),W=oe+1|0,z=0|o[R+16>>2],q=0|_i(0|fe,0|Ae,63&ae|0),g(),(255&(ue=0|n[(q=z+((F=255&q)<<2)|0)>>0]))>8?(se=ae+8|0,o[I>>2]=se,le=0|_i(0|fe,0|Ae,63&se|0),g(),de=ce=q+((0|f[z+(F<<2)+2>>1])<<2)+(((1<<(255&ue)-8)-1&le)<<2)|0,ve=0|n[ce>>0],ge=se):(de=q,ve=ue,ge=ae),ue=ge+(255&ve)|0,o[I>>2]=ue,se=65535&(q=0|t[de+2>>1]),(0|ue)>31&&re(c),ce=(ue=se+-2|0)>>1,((be=(65535&q)<4?se:(0|ne(c,ce))+((1&se|2)<120?he=be+-119|0:(ce=0|a[3584+be>>0],he=(0|(se=(0|l(ce>>>4,e))+(8-(15&ce))|0))>1?se:1),(d-B|0)<(0|W)|(0|B)<(0|he)){K=B,J=0,$=m;break e}ce=(se=w+B|0)+(0-he)|0;r:do{if((0|W)>7){switch(0|he){case 1:q=0|n[ce>>0],we=0|l(255&q,16843009),ke=q;break;case 2:we=65537*(65535&(q=a[ce>>0]|a[ce+1>>0]<<8))|0,ke=255&q;break;case 4:we=q=a[ce>>0]|a[ce+1>>0]<<8|a[ce+2>>0]<<16|a[ce+3>>0]<<24,ke=255&q;break;default:me=54;break r}do{if(3&se){if(q=ce+1|0,ue=se+1|0,n[se>>0]=ke,le=we<<24|we>>>8,!(3&ue)){Ce=le,pe=oe,Ie=ue,ye=q,Ee=oe>>>2,me=48;break}for(F=q,q=ue,ue=le,le=oe;z=F,F=F+1|0,De=q,q=q+1|0,n[De>>0]=0|n[z>>0],ue=ue<<24|ue>>>8,Le=le+-1|0,3&q;)le=Le;(0|le)>4?(Ce=ue,pe=Le,Ie=q,ye=F,Ee=Le>>2,me=48):(xe=0,Se=Le,Be=q,Me=F)}else Ce=we,pe=W,Ie=se,ye=ce,Ee=W>>>2,me=48}while(0);if(48==(0|me)){me=0,z=0;do{o[Ie+(z<<2)>>2]=Ce,z=z+1|0}while((0|z)<(0|Ee));xe=z<<2,Se=pe,Be=Ie,Me=ye}if((0|xe)>=(0|Se))break;De=xe;do{n[Be+De>>0]=0|n[Me+De>>0],De=De+1|0}while((0|De)!=(0|Se))}else me=54}while(0);do{if(54==(0|me)){if(me=0,(0|he)>=(0|W)){Ti(0|se,0|ce,0|W);break}if((0|W)<=0)break;De=0;do{n[se+De>>0]=0|n[ce+De>>0],De=De+1|0}while((0|De)!=(0|W))}}while(0);if(ce=W+B|0,(0|(se=W+S|0))<(0|e))Fe=x,_e=se;else for(De=x,z=se;;){if(se=z-e|0,(0|De)<(0|r)&0==(15&(Pe=De+1|0)|0)&&ie(i,Pe),(0|se)<(0|e)){Fe=Pe,_e=se;break}De=Pe,z=se}if((0|ce)>=(0|v)|0==(_e&b|0)){V=ce,H=Fe,Z=_e,j=R;break}(z=0|o[k>>2])?(De=0|l(0|o[E>>2],z?Fe>>z:Fe),Re=0|o[(0|o[y>>2])+(De+(z?_e>>z:_e)<<2)>>2]):Re=0,V=ce,H=Fe,Z=_e,j=(0|o[p>>2])+(548*Re|0)|0}}while(0);if(0|o[m>>2])break;if(Te=(0|o[D>>2])==(0|o[L>>2])?(0|o[I>>2])>64&1:0,o[m>>2]=Te,!((0|V)<(0|v)&0==(0|Te))){Ge=H,Oe=V,qe=m,me=73;break e}x=H,S=Z,B=V,M=j}o[m>>2]=1,Ge=H,Oe=V,qe=m,me=73}else Ge=u,Oe=A,qe=i+48|0,me=73}while(0);return 73==(0|me)&&(ie(i,(0|Ge)>(0|r)?r:Ge),K=Oe,J=1,$=qe),Ye=0|o[$>>2]?1:(0|o[i+40>>2])==(0|o[i+36>>2])?(0|o[i+44>>2])>64&1:0,o[$>>2]=Ye,0|J&&!((0|d)>(0|K)&0!=(0|Ye))?(o[h>>2]=K,0|1):(o[i>>2]=0==(0|Ye)?3:5,0|0)}function $(e,r,i,o,A){o|=0;var u,s,c,d,v,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,U=0,z=0,W=0;if(u=O,O=O+256|0,g=u,b=(0|(A|=0))/25|0,A>>>0>100)return O=u,0|0;if(0==(0|(e|=0))|(0|(r|=0))<1|(0|(i|=0))<1)return O=u,0|0;if(A=r+-1|0,h=(1|b<<1)>(0|r)?A>>1:b,b=i+-1|0,h=0-(s=(1|h<<1)>(0|i)?b>>1:h)|0,(0|s)<=0)return O=u,0|1;if(!(c=0|V(1,0,(k=r<<1)+4094+(m=0|l((w=s<<1|1)+1|0,k))|0)))return O=u,0|0;for(Oi(0|(C=(d=c+((0|l(w,r))<<1)|0)+(0-r<<1)|0),0,0|k),v=c+m|0,m=0|l(w,w),Oi(0|g,0,256),w=0,p=e,I=255,y=0,E=0,D=255;;){L=0,x=I,S=y,B=D,M=E;do{x=(_=(0|B)>(0|(F=0|a[p+L>>0])))?F:x,B=_?F:B,S=(_=(0|M)<(0|F))?F:S,M=_?F:M,n[g+F>>0]=1,L=L+1|0}while((0|L)!=(0|r));if((0|(w=w+1|0))==(0|i))break;p=p+o|0,I=x,y=S,E=M,D=B}for(D=c,E=v+k|0,y=262144/(m>>>0)|0,m=-1,I=0,p=0,w=M-B|0;0|n[g+I>>0]?(B=p+1|0,(0|m)>-1?(P=I,R=B,T=(0|(M=I-m|0))<(0|w)?M:w):(P=I,R=B,T=w)):(P=m,R=p,T=w),256!=(0|(I=I+1|0));)m=P,p=R,w=T;w=E+2046|0,p=(E=T<<2)-(T=(p=12*T|0)>>2)|0,P=1;do{m=(G=(0|P)>(0|T)?(0|E)>(0|P)?(0|l(E-P|0,T))/(0|p)|0:0:P)>>2,t[w+(P<<1)>>1]=m,t[w+(0-P<<1)>>1]=0-m,P=P+1|0}while(1024!=(0|P));if(t[w>>1]=0,(0|R)>2&(0|h)<(0|i))for(R=(0|r)>0,P=(0|s)<0,G=r-s|0,p=s+-1|0,T=s+1|0,E=~s,m=d+(A<<1)|0,A=k+-2-s|0,k=h,h=e,I=e,e=D,g=C;;){if(C=g,g=e,R){B=0,M=0;do{L=(M=(65535&M)+(0|a[h+B>>0])|0)+(0|f[C+(B<<1)>>1])|0,F=g+(B<<1)|0,t[d+(B<<1)>>1]=L-(0|f[F>>1]),t[F>>1]=L,B=B+1|0}while((0|B)!=(0|r))}if(e=(0|(B=g+(r<<1)|0))==(0|d)?D:B,h=(0|k)>-1&(0|k)<(0|b)?h+o|0:h,(0|k)<(0|s))q=I;else{if(P)U=0;else{B=0;do{C=0|l((0|f[d+(s-B<<1)>>1])+(0|f[d+(p+B<<1)>>1])&65535,y),t[v+(B<<1)>>1]=C>>>16,B=B+1|0}while((0|B)!=(0|T));U=T}if((0|U)<(0|G)){B=U;do{C=0|l((0|f[d+(B+s<<1)>>1])-(0|f[d+(B+E<<1)>>1])&65535,y),t[v+(B<<1)>>1]=C>>>16,B=B+1|0}while((0|B)!=(0|G));z=G}else z=U;if((0|z)<(0|r)){B=z;do{C=0|l((f[m>>1]<<1)-(0|f[d+(A-B<<1)>>1])-(0|f[d+(B+E<<1)>>1])&65535,y),t[v+(B<<1)>>1]=C>>>16,B=B+1|0}while((0|B)!=(0|r))}if(R){B=0;do{(0|S)>(0|(M=0|a[(C=I+B|0)>>0]))&(0|x)<(0|M)&&(W=(L=(0|t[w+((0|f[v+(B<<1)>>1])-(M<<2)<<1)>>1])+M|0)>>>0>255?255+(L>>31&-255)|0:255&L,n[C>>0]=W),B=B+1|0}while((0|B)!=(0|r))}q=I+o|0}if((0|(k=k+1|0))==(0|i))break;I=q}return Y(c),O=u,0|1}function ee(){0|ri(9944)||(o[2028]=0,ii(9944))}function re(e){var r,i,n=0,t=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0;r=(e|=0)+16|0,n=0|o[(i=e+20|0)>>2];e:do{if((0|n)>7)for(t=e+8|0,f=0|o[e+12>>2],A=n,u=0|o[r>>2];;){if(u>>>0>=f>>>0){s=A;break e}if(c=0|_i(0|o[(l=e)>>2],0|o[l+4>>2],8),l=0|g(),o[(d=e)>>2]=c,o[d+4>>2]=l,d=0|Pi(0|a[(0|o[t>>2])+u>>0],0,56),v=0|g()|l,o[(l=e)>>2]=d|c,o[l+4>>2]=v,u=u+1|0,o[r>>2]=u,v=A+-8|0,o[i>>2]=v,(0|A)<=15){s=v;break}A=v}else s=n}while(0);0==(0|o[(n=e+24|0)>>2])&&((0|s)<65||(0|o[r>>2])!=(0|o[e+12>>2]))||(o[n>>2]=1,o[i>>2]=0)}function ie(e,r){r|=0;var i,n,t,a=0,f=0,A=0,u=0,s=0,c=0;if(a=0|o[(e|=0)+8>>2],f=0|o[a+40>>2],n=e+108|0,A=0|o[((0|o[(i=f+12|0)>>2])>>>0<2?a+84|0:n)>>2],(0|(s=(0|(u=0|o[n>>2]))<(0|A)?A:u))>=(0|r))return o[(e+116|0)>>2]=r,void(o[n>>2]=r);if(u=0|o[a>>2],a=(0|o[f+136>>2])+(0|l(u,s))|0,de(e+180|0,s,r,(0|o[e+16>>2])+(0|l(0|o[e+100>>2],s))|0,a),!(A=0|o[i>>2]))return o[(e+116|0)>>2]=r,void(o[n>>2]=r);if(t=f+140|0,f=0|l(u,r+-1-s|0),$i[31&o[9472+(A<<2)>>2]](0|o[t>>2],a,a,u),(0|(A=s+1|0))!=(0|r)){s=a,c=A;do{A=s,s=s+u|0,$i[31&o[9472+(o[i>>2]<<2)>>2]](A,s,s,u),c=c+1|0}while((0|c)!=(0|r))}o[t>>2]=a+f,o[(e+116|0)>>2]=r,o[n>>2]=r}function ne(e,r){var i,n,t,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,b=0,h=0;if(!((0|(r|=0))<25&0==(0|o[(i=(e|=0)+24|0)>>2])))return o[i>>2]=1,o[e+20>>2]=0,0|0;if(l=0|_i(0|(A=0|o[(f=e)>>2]),0|(u=0|o[f+4>>2]),63&(s=0|o[(f=e+20|0)>>2])|0),g(),n=o[3712+(r<<2)>>2]&l,l=s+r|0,o[f>>2]=l,r=e+16|0,(0|l)<=7)return 0|n;for(s=e+8|0,t=0|o[e+12>>2],c=0|o[r>>2],d=A,A=u,u=l;;){if(c>>>0>=t>>>0){v=u;break}if(l=0|_i(0|d,0|A,8),b=0|g(),o[(h=e)>>2]=l,o[h+4>>2]=b,d=(h=0|Pi(0|a[(0|o[s>>2])+c>>0],0,56))|l,A=0|g()|b,o[(b=e)>>2]=d,o[b+4>>2]=A,c=c+1|0,o[r>>2]=c,b=u+-8|0,o[f>>2]=b,(0|u)<=15){v=b;break}u=b}return(0|v)<65||(0|o[r>>2])!=(0|o[e+12>>2])||(o[i>>2]=1,o[f>>2]=0),0|n}function te(e,r,i,A,u,s){r|=0,i|=0,A|=0,u|=0,s|=0;var c,d,v,b,h,w,k,m,C,p,I,y,E,D,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,ie=0,te=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0,qe=0,Ye=0,Ue=0,ze=0,We=0,Xe=0,Qe=0,Ne=0,Ve=0,He=0,Ze=0,je=0,Ke=0,Je=0,$e=0,er=0,rr=0,ir=0,nr=0,tr=0,or=0,ar=0,fr=0,Ar=0,ur=0,sr=0,lr=0,cr=0,dr=0,vr=0,gr=0,br=0,hr=0,wr=0,kr=0,mr=0,Cr=0;b=(d=0|o[(c=(e|=0)+112|0)>>2])-(0|l(v=(0|d)/(0|i)|0,i))|0,h=e+24|0,w=r+(d<<2)|0,k=r+((0|l(A,i))<<2)|0,m=r+((A=0|l(u,i))<<2)|0,p=(L=0|o[(C=e+120|0)>>2])+280|0,I=0==(0|o[(x=e+56|0)>>2])?16777216:v,y=(0|L)>0,L=e+124|0,E=y?L:0,D=0|o[e+148>>2];e:do{if((0|d)<(0|A))for((S=0|o[e+152>>2])?(M=0|l(0|o[e+156>>2],S?v>>S:v),B=0|o[(0|o[e+160>>2])+(M+(S?b>>S:b)<<2)>>2]):B=0,S=r,M=e+64|0,F=e+96|0,_=e+152|0,P=e+136|0,R=e+168|0,T=e+160|0,G=e+156|0,O=e+44|0,q=0!=(0|s),Y=e+48|0,U=e+40|0,z=e+36|0,W=E+4|0,X=k,Q=0==(0|s),N=v,V=b,H=w,Z=w,j=I,K=(0|o[e+168>>2])+(548*B|0)|0;;){J=Z,(0|N)<(0|j)?$=j:(ee=H-S|0,o[M>>2]=o[h>>2],o[M+4>>2]=o[h+4>>2],o[M+8>>2]=o[h+8>>2],o[M+12>>2]=o[h+12>>2],o[M+16>>2]=o[h+16>>2],o[M+20>>2]=o[h+20>>2],o[M+24>>2]=o[h+24>>2],o[M+28>>2]=o[h+28>>2],o[F>>2]=ee>>2,(0|o[C>>2])>0&&oe(L,P),$=N+8|0),V&D?ae=K:((ee=0|o[_>>2])?(te=0|l(0|o[G>>2],ee?N>>ee:N),ie=0|o[(0|o[T>>2])+(te+(ee?V>>ee:V)<<2)>>2]):ie=0,ae=(0|o[R>>2])+(548*ie|0)|0);do{if(0|o[ae+28>>2])Fe=Z,_e=J,Pe=0|o[ae+24>>2],Ee=45;else{if((0|o[O>>2])>31&&re(h),0|o[ae+32>>2]){if(le=0|_i(0|(fe=0|o[(Ae=h)>>2]),0|(te=0|o[Ae+4>>2]),63&(Ae=0|o[O>>2])|0),g(),le=0|o[ae+36+((ue=63&le)<<3)>>2],ce=0|o[ae+36+(ue<<3)+4>>2],ue=le+Ae|0,(0|le)<256?(o[O>>2]=ue,o[H>>2]=ce,De=0):(o[O>>2]=ue+-256,De=ce),0|o[Y>>2]){Ce=N,pe=H,Ie=Y,ye=1,Ee=111;break e}if((0|o[U>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=H,Se=Y,Ee=108;break e}if(!De){Be=Z,Me=J,Ee=46;break}we=De,ke=fe,me=te}else{if(ee=0|o[ae>>2],ue=0|_i(0|(fe=0|o[(te=h)>>2]),0|(Ae=0|o[te+4>>2]),63&(te=0|o[O>>2])|0),g(),(255&(le=0|n[(ue=ee+((se=255&ue)<<2)|0)>>0]))>8?(ce=te+8|0,o[O>>2]=ce,de=0|_i(0|fe,0|Ae,63&ce|0),g(),ge=ve=ue+((0|f[ee+(se<<2)+2>>1])<<2)+(((1<<(255&le)-8)-1&de)<<2)|0,be=0|n[ve>>0],he=ce):(ge=ue,be=le,he=te),o[O>>2]=he+(255&be),0|o[Y>>2]){Ce=N,pe=H,Ie=Y,ye=1,Ee=111;break e}we=0|f[ge+2>>1],ke=fe,me=Ae}if((0|o[U>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=H,Se=Y,Ee=108;break e}if((0|we)<256){if(0|o[ae+20>>2]){Fe=Z,_e=J,Pe=o[ae+24>>2]|we<<8,Ee=45;break}if(te=0|o[ae+4>>2],ce=0|_i(0|ke,0|me,63&(fe=0|o[O>>2])|0),g(),(255&(le=0|n[(ce=te+((ue=255&ce)<<2)|0)>>0]))>8?(Ae=fe+8|0,o[O>>2]=Ae,ve=0|_i(0|ke,0|me,63&Ae|0),g(),Re=de=ce+((0|f[te+(ue<<2)+2>>1])<<2)+(((1<<(255&le)-8)-1&ve)<<2)|0,Te=0|n[de>>0],Ge=Ae):(Re=ce,Te=le,Ge=fe),fe=Ge+(255&Te)|0,o[O>>2]=fe,le=0|f[Re+2>>1],(0|fe)>31?(re(h),ce=h,Oe=0|o[O>>2],qe=0|o[ce>>2],Ye=0|o[ce+4>>2]):(Oe=fe,qe=ke,Ye=me),fe=0|o[ae+8>>2],ce=0|_i(0|qe,0|Ye,63&Oe|0),g(),(255&(de=0|n[(ce=fe+((Ae=255&ce)<<2)|0)>>0]))>8?(ve=Oe+8|0,o[O>>2]=ve,ue=0|_i(0|qe,0|Ye,63&ve|0),g(),Ue=te=ce+((0|f[fe+(Ae<<2)+2>>1])<<2)+(((1<<(255&de)-8)-1&ue)<<2)|0,ze=0|n[te>>0],We=ve):(Ue=ce,ze=de,We=Oe),de=We+(255&ze)|0,o[O>>2]=de,ce=0|f[Ue+2>>1],ve=0|o[ae+12>>2],te=0|_i(0|qe,0|Ye,63&de|0),g(),(255&(Ae=0|n[(te=ve+((ue=255&te)<<2)|0)>>0]))>8?(fe=de+8|0,o[O>>2]=fe,se=0|_i(0|qe,0|Ye,63&fe|0),g(),Xe=ee=te+((0|f[ve+(ue<<2)+2>>1])<<2)+(((1<<(255&Ae)-8)-1&se)<<2)|0,Qe=0|n[ee>>0],Ne=fe):(Xe=te,Qe=Ae,Ne=de),de=Ne+(255&Qe)|0,o[O>>2]=de,0|o[Y>>2]){Ce=N,pe=H,Ie=Y,ye=1,Ee=111;break e}if(!((0|de)<65||(0|o[U>>2])!=(0|o[z>>2]))){Le=N,xe=H,Se=Y,Ee=108;break e}Fe=Z,_e=J,Pe=le<<16|we<<8|ce|(0|f[Xe+2>>1])<<24,Ee=45;break}if((0|we)>=280){if((0|we)>=(0|p))break e;if(ce=we+-280|0,le=0|o[E>>2],Z>>>0>>0){Ae=(de=H+-1+(0-J)|0)>>>2,de=Z;do{te=0|o[de>>2],de=de+4|0,fe=0|o[W>>2],ee=0|l(te,506832829),o[le+((fe?ee>>>fe:ee)<<2)>>2]=te}while(de>>>0>>0);Ve=de=Z+4+(Ae<<2)|0,He=de}else Ve=Z,He=J;Fe=Ve,_e=He,Pe=0|o[le+(ce<<2)>>2],Ee=45;break}if(de=we+-256|0,ee=(te=we+-258|0)>>1,(0|we)<260?(Ze=de,je=ke,Ke=me):(Ze=te=(0|ne(h,ee))+((1&de|2)<>2],Ke=0|o[ee+4>>2]),ee=Ze+1|0,te=0|o[ae+16>>2],fe=0|_i(0|je,0|Ke,63&(de=0|o[O>>2])|0),g(),(255&(ue=0|n[(fe=te+((se=255&fe)<<2)|0)>>0]))>8?(ve=de+8|0,o[O>>2]=ve,Je=0|_i(0|je,0|Ke,63&ve|0),g(),er=$e=fe+((0|f[te+(se<<2)+2>>1])<<2)+(((1<<(255&ue)-8)-1&Je)<<2)|0,rr=0|n[$e>>0],ir=ve):(er=fe,rr=ue,ir=de),de=ir+(255&rr)|0,o[O>>2]=de,fe=65535&(ue=0|t[er+2>>1]),(0|de)>31&&re(h),ve=(de=fe+-2|0)>>1,((nr=(65535&ue)<4?fe:(0|ne(h,ve))+((1&fe|2)<120?tr=nr+-119|0:(ve=0|a[3584+nr>>0],tr=(0|(fe=(0|l(ve>>>4,i))+(8-(15&ve))|0))>1?fe:1),0|o[Y>>2]){Ce=N,pe=H,Ie=Y,ye=1,Ee=111;break e}if((0|o[U>>2])==(0|o[z>>2])&&(0|o[O>>2])>=65){Le=N,xe=H,Se=Y,Ee=108;break e}if(((ve=(fe=H)-S|0)>>2|0)<(0|tr))break e;if(((ve=X-fe|0)>>2|0)<(0|ee))break e;ve=H+(0-tr<<2)|0;do{if(0==(3&fe|0)&(0|ee)>3&(0|tr)<3){1==(0|tr)?(or=ue=0|o[ve>>2],ar=ue,fr=ue):(or=de=0|o[(ue=ve)>>2],ar=de,fr=0|o[ue+4>>2]),4&fe?(o[H>>2]=or,Ar=Ze,ur=H+4|0,sr=ve+4|0,lr=fr,cr=ar):(Ar=ee,ur=H,sr=ve,lr=ar,cr=fr),ue=Ar>>>1,de=0;do{o[($e=ur+(de<<3)|0)>>2]=lr,o[$e+4>>2]=cr,de=de+1|0}while(de>>>0>>0);if(ue=de<<1,!(1&Ar))break;o[ur+(ue<<2)>>2]=o[sr+(ue<<2)>>2]}else{if((0|tr)>=(0|ee)){Ti(0|H,0|ve,ee<<2|0);break}if((0|ee)<=0)break;ue=0;do{o[H+(ue<<2)>>2]=o[ve+(ue<<2)>>2],ue=ue+1|0}while((0|ue)!=(0|ee))}}while(0);ve=H+(ee<<2)|0,fe=ee+V|0;r:do{if((0|fe)<(0|i))dr=N,vr=fe;else{if(Q)for(ce=fe,le=N;;){if(ue=le+1|0,(0|(Ae=ce-i|0))<(0|i)){dr=ue,vr=Ae;break r}ce=Ae,le=ue}for(le=fe,ce=N;;){if(ue=le-i|0,(0|ce)<(0|u)&0==(15&(Ae=ce+1|0)|0)&&Ji[3&s](e,Ae),(0|ue)<(0|i)){dr=Ae,vr=ue;break}le=ue,ce=Ae}}}while(0);if(vr&D?((fe=0|o[_>>2])?(ee=0|l(0|o[G>>2],fe?dr>>fe:dr),br=0|o[(0|o[T>>2])+(ee+(fe?vr>>fe:vr)<<2)>>2]):br=0,gr=(0|o[R>>2])+(548*br|0)|0):gr=ae,!(y&Z>>>0>>0)){hr=ve,wr=dr,kr=vr,mr=gr,Cr=Z;break}fe=0|o[E>>2],ce=(ee=H+3+((Ze<<2)-J)|0)>>>2,ee=Z;do{le=0|o[ee>>2],ee=ee+4|0,Ae=0|o[W>>2],ue=0|l(le,506832829),o[fe+((Ae?ue>>>Ae:ue)<<2)>>2]=le}while(ee>>>0>>0);hr=ve,wr=dr,kr=vr,mr=gr,Cr=Z+4+(ce<<2)|0}}while(0);if(45==(0|Ee)&&(Ee=0,o[H>>2]=Pe,Be=Fe,Me=_e,Ee=46),46==(0|Ee))if(Ee=0,J=H+4|0,(0|(ee=V+1|0))>=(0|i))if(q&(0|N)<(0|u)&0==(15&(fe=N+1|0)|0)&&Ji[3&s](e,fe),y&Be>>>0>>0){for(le=0|o[E>>2],Ae=(ue=(Be>>>0>H>>>0?Be:H)+3+(0-Me)|0)>>>2,ue=Be;de=0|o[ue>>2],$e=0|o[W>>2],Je=0|l(de,506832829),o[le+(($e?Je>>>$e:Je)<<2)>>2]=de,ue>>>0>>0;)ue=ue+4|0;hr=J,wr=fe,kr=0,mr=ae,Cr=Be+4+(Ae<<2)|0}else hr=J,wr=fe,kr=0,mr=ae,Cr=Be;else hr=J,wr=N,kr=ee,mr=ae,Cr=Be;if(!(hr>>>0>>0)){Le=wr,xe=hr,Se=Y,Ee=108;break}N=wr,V=kr,H=hr,Z=Cr,j=$,K=mr}else Le=v,xe=w,Se=e+48|0,Ee=108}while(0);if(108==(0|Ee)&&(0|o[Se>>2]?(Ce=Le,pe=xe,Ie=Se,ye=1,Ee=111):(0|o[e+40>>2])==(0|o[e+36>>2])?(Ce=Le,pe=xe,Ie=Se,ye=(0|o[e+44>>2])>64&1,Ee=111):(Ce=Le,pe=xe,Ie=Se,ye=0,Ee=111)),111==(0|Ee)){if(o[Ie>>2]=ye,pe>>>0>>0&(1^((Ie=0==(0|ye))|0==(0|o[x>>2]))))return o[e>>2]=5,x=e+64|0,o[h>>2]=o[x>>2],o[h+4>>2]=o[x+4>>2],o[h+8>>2]=o[x+8>>2],o[h+12>>2]=o[x+12>>2],o[h+16>>2]=o[x+16>>2],o[h+20>>2]=o[x+20>>2],o[h+24>>2]=o[x+24>>2],o[h+28>>2]=o[x+28>>2],o[c>>2]=o[e+96>>2],(0|o[C>>2])<=0||oe(e+136|0,L),0|1;if(Ie)return 0|s&&Ji[3&s](e,(0|Ce)>(0|u)?u:Ce),o[e>>2]=0,Ce=pe-r|0,o[c>>2]=Ce>>2,0|1}return o[e>>2]=3,0|0}function oe(e,r){e|=0,Ti(0|o[(r|=0)>>2],0|o[e>>2],4<>2]|0)}function ae(e,r,i,t,a){r|=0,i|=0,t|=0,a|=0;var f,A,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0;switch(f=O,O=O+16|0,u=f,A=0|o[(s=(e|=0)+8|0)>>2],0|o[e>>2]){case 2:return function(e,r,i){e|=0,i|=0;var n=0,t=0,a=0;if((0|(r|=0))<=0)return;n=0;do{t=0|o[e+(n<<2)>>2],a=t>>>8&255,o[i+(n<<2)>>2]=(a<<16|a)+(16711935&t)&16711935|-16711936&t,n=n+1|0}while((0|n)!=(0|r))}(t,0|l(A,i-r|0),a),void(O=f);case 0:if(r)w=r,k=t,m=a,C=A+-1|0;else{if(d=(c=0|o[t>>2])+-16777216&-16711936|16711935&c,o[a>>2]=d,c=t+4|0,v=A+-1|0,g=a+4|0,(0|A)>1){b=0,h=d;do{h=(-16711936&(d=0|o[c+(b<<2)>>2]))+(-16711936&h)&-16711936|(16711935&d)+(16711935&h)&16711935,o[g+(b<<2)>>2]=h,b=b+1|0}while((0|b)!=(0|v))}w=1,k=t+(A<<2)|0,m=a+(A<<2)|0,C=v}h=(b=1<<(v=0|o[e+4>>2]))+-1|0,g=b+C|0,C=v?g>>>v:g;e:do{if((0|w)<(0|i)){if(g=0-A|0,c=0-b|0,(0|A)<=1)for(d=w,p=k,I=m;;){if(y=0|o[I+(g<<2)>>2],E=0|o[p>>2],o[I>>2]=(-16711936&E)+(-16711936&y)&-16711936|(16711935&E)+(16711935&y)&16711935,(0|(d=d+1|0))==(0|i))break e;p=p+(A<<2)|0,I=I+(A<<2)|0}for(I=(0|o[e+16>>2])+((0|l(C,v?w>>v:w))<<2)|0,p=w,d=k,y=m;;){for(E=0|o[y+(g<<2)>>2],D=0|o[d>>2],o[y>>2]=(-16711936&D)+(-16711936&E)&-16711936|(16711935&D)+(16711935&E)&16711935,E=1,D=I;L=0|o[D>>2],S=E,E=(0|(x=(E&c)+b|0))>(0|A)?A:x,B=y+(S<<2)|0,$i[31&o[9488+((L>>>8&15)<<2)>>2]](d+(S<<2)|0,B+(g<<2)|0,E-S|0,B),!((0|A)<=(0|x));)D=D+4|0;if((0|(D=p+1|0))==(0|i))break;I=0==(D&h|0)?I+(C<<2)|0:I,p=D,d=d+(A<<2)|0,y=y+(A<<2)|0}}}while(0);return(0|o[e+12>>2])==(0|i)||Ti(a+(0-A<<2)|0,a+((0|l(A,~r+i|0))<<2)|0,A<<2|0),void(O=f);case 1:if(k=A-(m=A&0-(h=1<<(C=0|o[e+4>>2])))|0,w=(b=h+-1|0)+A|0,v=C?w>>>C:w,(0|i)<=(0|r))return void(O=f);if(w=(0|o[e+16>>2])+((0|l(v,C?r>>C:r))<<2)|0,C=u+1|0,y=u+2|0,(0|m)<=0){for(d=(0|A)>0,p=a,I=w,g=r,c=t;n[u>>0]=0,n[u+1>>0]=0,n[u+2>>0]=0,d?(D=0|o[I>>2],n[u>>0]=D,n[C>>0]=D>>>8,n[y>>0]=D>>>16,Se(u,c,k,p),M=c+(k<<2)|0,F=p+(k<<2)|0):(M=c,F=p),(0|(D=g+1|0))!=(0|i);)p=F,I=0==(D&b|0)?I+(v<<2)|0:I,g=D,c=M;return void(O=f)}for(M=a,c=w,w=r,g=t;;){n[u>>0]=0,n[u+1>>0]=0,n[u+2>>0]=0,I=g+(m<<2)|0,F=c,p=g,d=M;do{D=F,F=F+4|0,E=0|o[D>>2],n[u>>0]=E,n[C>>0]=E>>>8,n[y>>0]=E>>>16,Se(u,p,h,d),p=p+(h<<2)|0,d=d+(h<<2)|0}while(p>>>0>>0);if(p>>>0<(g+(A<<2)|0)>>>0?(I=0|o[F>>2],n[u>>0]=I,n[C>>0]=I>>>8,n[y>>0]=I>>>16,Se(u,p,k,d),_=p+(k<<2)|0,P=d+(k<<2)|0):(_=p,P=d),(0|(I=w+1|0))==(0|i))break;M=P,c=0==(I&b|0)?c+(v<<2)|0:c,w=I,g=_}return void(O=f);case 3:if((0|t)==(0|a)&(0|(g=0|o[(_=e+4|0)>>2]))>0){if(v=A+-1+(1<>>g:v,w))<<2)|0),0|t,b<<2|0),b=0|o[_>>2],_=0|o[s>>2],s=0|o[e+16>>2],(0|(c=b?8>>>b:8))>=8)return Re(w,s,t,r,i,_),void(O=f);if(v=(1<(0|r)&(0|_)>0))return void(O=f);for(P=w,w=t,M=r;;){for(k=0,u=0,y=P,C=w;k&v?(R=u,T=y):(R=(h=0|o[y>>2])>>>8&255,T=y+4|0),o[C>>2]=o[s+((R&b)<<2)>>2],(0|(k=k+1|0))!=(0|_);)u=c?R>>>c:R,y=T,C=C+4|0;if((0|(M=M+1|0))==(0|i))break;P=T,w=w+(_<<2)|0}return void(O=f)}if(_=0|o[e+16>>2],(0|(e=g?8>>>g:8))>=8)return Re(t,_,a,r,i,A),void(O=f);if(w=(1<(0|r)&(0|A)>0))return void(O=f);for(T=t,t=a,a=r;;){for(r=0,P=0,M=T,R=t;r&w?(G=P,q=M):(G=(c=0|o[M>>2])>>>8&255,q=M+4|0),o[R>>2]=o[_+((G&g)<<2)>>2],(0|(r=r+1|0))!=(0|A);)P=e?G>>>e:G,M=q,R=R+4|0;if((0|(a=a+1|0))==(0|i))break;T=q,t=t+(A<<2)|0}return void(O=f);default:return void(O=f)}}function fe(e,r){r|=0;var i,n;return i=0|o[(e|=0)+32>>2],0|((0|(n=((0|o[e+24>>2])-1+i|0)/(0|i)|0))>(0|r)?r:n)}function Ae(e,r,i,n,t){e|=0,r|=0,i|=0,t|=0;var o=0,a=0;if(!((0|(n|=0))<=0))for(o=0,a=e;ve(a,i,t),(0|(o=o+1|0))!=(0|n);)a=a+r|0}function ue(e,r,i,n){n|=0;var t,a,f,A,u,s,c,d,v,g,b=0,h=0,w=0,k=0,m=0,C=0,p=0;if(t=(e|=0)+24|0,(0|(r|=0))<=0)return 0|(b=0);for(a=e+56|0,f=e+64|0,A=e+4|0,u=e+76|0,s=e+80|0,c=e+8|0,d=e+52|0,v=e+60|0,g=e+32|0,h=i|=0,i=0;;){if((0|o[f>>2])<(0|o[a>>2])&&(0|o[t>>2])<=0){b=i,w=12;break}if(0|o[A>>2]&&(k=0|o[u>>2],o[u>>2]=o[s>>2],o[s>>2]=k),ce(e,h),0==(0|o[A>>2])&&(0|l(0|o[d>>2],0|o[c>>2]))>0){k=0|o[s>>2],m=0|o[u>>2],C=0;do{o[(p=m+(C<<2)|0)>>2]=(0|o[p>>2])+(0|o[k+(C<<2)>>2]),C=C+1|0}while((0|C)<(0|l(0|o[d>>2],0|o[c>>2])))}if(o[v>>2]=1+(0|o[v>>2]),C=i+1|0,o[t>>2]=(0|o[t>>2])-(0|o[g>>2]),!((0|C)<(0|r))){b=C,w=12;break}h=h+n|0,i=C}return 12==(0|w)?0|b:0}function se(e){var r=0,i=0,t=0,a=0,f=0,A=0,u=0;if(!((0|o[(r=(e|=0)+24|0)>>2])>=1)){do{if(0|o[e+4>>2])ze(e);else{if(0|o[e+20>>2]){We(e);break}if(i=e+8|0,(0|l(0|o[(t=e+52|0)>>2],0|o[i>>2]))>0){f=e+68|0,A=0,u=0|o[(a=e+76|0)>>2];do{n[(0|o[f>>2])+A>>0]=o[u+(A<<2)>>2],u=0|o[a>>2],o[u+(A<<2)>>2]=0,A=A+1|0}while((0|A)<(0|l(0|o[t>>2],0|o[i>>2])))}}}while(0);o[r>>2]=(0|o[r>>2])+(0|o[e+28>>2]),o[(r=e+68|0)>>2]=(0|o[r>>2])+(0|o[e+72>>2]),o[(r=e+64|0)>>2]=1+(0|o[r>>2])}}function le(e,r,i,t){e|=0,r|=0,t|=0;var a=0,f=0,A=0,u=0;switch(0|(i|=0)){case 0:return void Me(e,r,t);case 1:return void Be(e,r,t);case 7:return Be(e,r,t),void he(t,0,r,1,0);case 2:return void Fe(e,r,t);case 3:return void Ti(0|t,0|e,r<<2|0);case 8:return Ti(0|t,0|e,r<<2|0),void he(t,0,r,1,0);case 4:if(a=e+(r<<2)|0,(0|r)<=0)return;for(f=t,A=e;u=0|Ri(0|o[A>>2]),A=A+4|0,n[f>>0]=u,n[f+1>>0]=u>>8,n[f+2>>0]=u>>16,n[f+3>>0]=u>>24,!(A>>>0>=a>>>0);)f=f+4|0;return;case 9:if(f=e+(r<<2)|0,(0|r)>0)for(a=t,A=e;u=0|Ri(0|o[A>>2]),A=A+4|0,n[a>>0]=u,n[a+1>>0]=u>>8,n[a+2>>0]=u>>16,n[a+3>>0]=u>>24,!(A>>>0>=f>>>0);)a=a+4|0;return void he(t,1,r,1,0);case 5:return void _e(e,r,t);case 10:return _e(e,r,t),void be(t,r,1,0);case 6:return void Pe(e,r,t);default:return}}function ce(e,r){return r|=0,0|o[(e|=0)>>2]?void function(e,r){r|=0;var i,n,t,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0;if(i=0|o[(e=e|0)+8>>2],n=0|l(0|o[e+52>>2],i),(0|i)<=0)return;t=e+36|0,f=e+44|0,A=e+80|0,u=e+40|0,e=0;do{if(s=0|o[t>>2],c=0|a[r+e>>0],d=e+i|0,v=(0|o[f>>2])>1?0|a[r+d>>0]:c,g=0|l(s,c),b=0|o[A>>2],o[b+(e<<2)>>2]=g,(0|d)<(0|n))for(g=c,c=s,s=d,h=v,w=d;d=c-(0|o[u>>2])|0,k=s+i|0,(0|d)<0?(m=0|o[t>>2],C=0|a[r+k>>0],p=h,I=m+d|0,y=k,E=m):(C=h,p=g,I=d,y=s,E=0|o[t>>2]),d=(0|l(E,C))+(0|l(p-C|0,I))|0,o[b+(w<<2)>>2]=d,!((0|(w=w+i|0))>=(0|n));)g=p,c=I,s=y,h=C;e=e+1|0}while((0|e)!=(0|i))}(e,r):void Xe(e,r)}function de(e,r,i,t,f){r|=0,i|=0,t|=0,f|=0;var A,u,s,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0;if(A=(l=0|o[(e|=0)+4>>2])?8>>>l:8,u=0|o[e+8>>2],s=0|o[e+16>>2],(0|A)>=8)!function(e,r,i,t,f,A){e|=0,r|=0,i|=0;var u=0,s=0,l=0,c=0;if(!((0|(t|=0))<(0|(f|=0))&(0|(A|=0))>0))return;u=t,t=e,e=i;for(;;){for(i=0,s=e,l=t,t=t+A|0;c=0|o[r+((0|a[l>>0])<<2)>>2],n[s>>0]=c>>>8,(0|(i=i+1|0))!=(0|A);)s=s+1|0,l=l+1|0;if((0|(u=u+1|0))==(0|f))break;e=e+A|0}}(t,s,f,r,i,u);else if(e=(1<0)for(c=t,t=f,f=r;;){for(r=0,d=0,v=c,g=t;d&e?(b=r,h=v):(b=0|a[v>>0],h=v+1|0),w=0|o[s+((b&l)<<2)>>2],n[g>>0]=w>>>8,(0|(d=d+1|0))!=(0|u);)r=A?b>>>A:b,v=h,g=g+1|0;if((0|(f=f+1|0))==(0|i))break;c=h,t=t+u|0}}function ve(e,r,i){e|=0,i|=0;var n=0,t=0,a=0,f=0,A=0,u=0;if(!((0|(r|=0))<=0))if(i){i=0;do{(n=0|o[(a=e+(i<<2)|0)>>2])>>>0<4278190080&&(u=n>>>0<16777216?0:(8388608+(0|l(A=4278190080/(n>>>24>>>0)|0,255&n))|0)>>>24|-16777216&n|(t=8388608+(0|l(A,n>>>8&255))|0)>>>24<<8|(8388608+(0|l(A,n>>>16&255))|0)>>>24<<16,o[a>>2]=u),i=i+1|0}while((0|i)!=(0|r))}else{i=0;do{(t=0|o[(n=e+(i<<2)|0)>>2])>>>0<4278190080&&(a=t>>>0<16777216?0:(8388608+(0|l(f=65793*(t>>>24)|0,255&t))|0)>>>24|-16777216&t|(8388608+(0|l(f,t>>>8&255))|0)>>>24<<8|(A=8388608+(0|l(f,t>>>16&255))|0)>>>24<<16,o[n>>2]=a),i=i+1|0}while((0|i)!=(0|r))}}function ge(e,r,i,t){e|=0,r|=0,t|=0;var o=0,f=0,A=0;if(!((0|(i|=0))<=0))if(t){t=0;do{switch((A=0|n[r+t>>0])<<24>>24){case-1:break;case 0:n[e+t>>0]=0;break;default:o=8388608+(0|l(4278190080/((255&A)>>>0)|0,0|a[(f=e+t|0)>>0]))|0,n[f>>0]=o>>>24}t=t+1|0}while((0|t)!=(0|i))}else{t=0;do{switch((o=0|n[r+t>>0])<<24>>24){case-1:break;case 0:n[e+t>>0]=0;break;default:A=8388608+(0|l(65793*(255&o)|0,0|a[(f=e+t|0)>>0]))|0,n[f>>0]=A>>>24}t=t+1|0}while((0|t)!=(0|i))}}function be(e,r,i,t){e|=0,t|=0;var o=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,g=0;if((0|(r|=0))>0&(0|(i|=0))>0)for(o=e,e=i;;){i=0;do{A=o+(f=i<<1)|0,c=4369*(255&(s=15&(f=0|n[(u=o+(1|f)|0)>>0])))|0,d=0|a[A>>0],v=0|l(c,240&d|d>>>4),g=0|l(d<<4&240|15&d,c),f=0|l(240&(d=255&f)|d>>>4,c),n[A>>0]=g>>>20&15|v>>>16&240,n[u>>0]=f>>>16&255&-16|s,i=i+1|0}while((0|i)!=(0|r));if(!((0|e)>1))break;o=o+t|0,e=e+-1|0}}function he(e,r,i,t,o){e|=0,r|=0,i|=0,o|=0;var f,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0;if(!((0|(t|=0))<=0||(r=1&(A=0!=(0|r)),f=A?0:3,(0|i)<=0)))for(A=e,e=t;;){t=e,e=e+-1|0,u=A+r|0,s=A+f|0,c=0;do{(v=0|n[s+(d=c<<2)>>0])<<24>>24!=-1&&(b=0|l(g=32897*(255&v)|0,0|a[(v=u+d|0)>>0]),n[v>>0]=b>>>23,v=0|l(g,0|a[(b=u+(1|d)|0)>>0]),n[b>>0]=v>>>23,d=0|l(g,0|a[(v=u+(2|d)|0)>>0]),n[v>>0]=d>>>23),c=c+1|0}while((0|c)!=(0|i));if((0|t)<=1)break;A=A+o|0}}function we(e,r,i,t,o,a){r|=0,a|=0;var f=0,A=0,u=0,s=0,l=0;if(!((0|(t|=0))>0&(0|(i|=0))>0))return 0|0;for(f=0,A=255,u=o|=0,o=e|=0;;){e=0,s=A;do{l=0|n[o+e>>0],n[u+(e<<2)>>0]=l,s=255&s&l,e=e+1|0}while((0|e)!=(0|i));if((0|(f=f+1|0))==(0|t))break;A=s,u=u+a|0,o=o+r|0}return 0|255!=(0|s)&1}function ke(e,r,i,t,o,a){r|=0,a|=0;var f=0,A=0,u=0,s=0,l=0;if(!((0|(t|=0))>0&(0|(i|=0))>0))return 0|1;for(f=0,A=-1,u=o|=0,o=e|=0;;){e=0,s=A;do{l=0|n[o+(e<<2)>>0],n[u+e>>0]=l,s&=l,e=e+1|0}while((0|e)!=(0|i));if((0|(f=f+1|0))==(0|t))break;A=s,u=u+a|0,o=o+r|0}return 0|s<<24>>24==-1&1}function me(e,r,i){e|=0,r|=0;var t=0,a=0;if(!((0|(i|=0))<=0)){t=0;do{a=0|o[e+(t<<2)>>2],n[r+t>>0]=a>>>8,t=t+1|0}while((0|t)!=(0|i))}}function Ce(){0|ri(9972)||(0|o[2029]&&(o[2388]=1,o[2389]=2,o[2390]=3,o[2391]=4,o[2392]=5,o[2393]=6,o[2394]=7,o[2395]=8,o[2396]=9,o[2397]=10,o[2398]=11,o[2399]=12,o[2400]=13,o[2401]=14,o[2402]=1,o[2403]=1,o[2420]=1,o[2421]=2,o[2422]=3,o[2423]=4,o[2424]=5,o[2425]=6,o[2426]=7,o[2427]=8,o[2428]=9,o[2429]=10,o[2430]=11,o[2431]=12,o[2432]=13,o[2433]=14,o[2434]=1,o[2435]=1,o[2372]=4,o[2373]=5,o[2374]=6,o[2375]=7,o[2376]=8,o[2377]=9,o[2378]=10,o[2379]=11,o[2380]=12,o[2381]=13,o[2382]=14,o[2383]=15,o[2384]=16,o[2385]=17,o[2386]=4,o[2387]=4,o[2404]=4,o[2405]=5,o[2406]=6,o[2407]=7,o[2408]=8,o[2409]=9,o[2410]=10,o[2411]=11,o[2412]=12,o[2413]=13,o[2414]=14,o[2415]=15,o[2416]=16,o[2417]=17,o[2418]=4,o[2419]=4),o[2029]=0,ii(9972))}function pe(e,r,i){r|=0,i|=0;var n=0,t=0,f=0,A=0,u=0,s=0,l=0;if(o[(e|=0)+12>>2]=i,o[(n=e)>>2]=0,o[n+4>>2]=0,o[e+20>>2]=0,o[e+24>>2]=0,n=i>>>0<8?i:8)for(i=0,A=0,u=0;;){if(l=(s=0|Pi(0|a[r+i>>0],0,i<<3|0))|A,s=0|g()|u,(i=i+1|0)>>>0>=n>>>0){t=l,f=s;break}A=l,u=s}else t=0,f=0;o[(u=e)>>2]=t,o[u+4>>2]=f,o[e+16>>2]=n,o[e+8>>2]=r}function Ie(e,r,i,A,u){e|=0,r|=0,u|=0;var s,c,d,v,b,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,U=0,z=0,Q=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0;s=O,O=O+16|0,c=s,d=(A|=0)+24|0,v=A+120|0,b=0!=(0|(i|=0));e:do{if(b)for(h=A+176|0,w=A+260|0,k=e;;){if(!(0|ne(d,1))){m=k,C=18;break e}if(p=0|o[h>>2],I=0|ne(d,2),(y=0|o[w>>2])&(E=1<>2]=y|E,o[A+180+(20*p|0)>>2]=I,o[(E=A+180+(20*p|0)+8|0)>>2]=k,o[(y=A+180+(20*p|0)+12|0)>>2]=r,o[(D=A+180+(20*p|0)+16|0)>>2]=0,o[h>>2]=1+(0|o[h>>2]),0|I){case 1:case 0:I=2+(0|ne(d,3))|0,o[A+180+(20*p|0)+4>>2]=I,x=(L=(1<>2])|0,S=L+(0|o[y>>2])|0,B=0|Ie(I?x>>>I:x,I?S>>>I:S,0,A,D),M=k;break;case 3:if(F=(0|(S=1+(0|ne(d,8))|0))>16?0:(0|S)>4?1:(0|S)>2?2:3,I=(0|o[E>>2])-1+(1<>>F:I,o[(I=A+180+(20*p|0)+4|0)>>2]=F,!(0|Ie(S,1,0,A,D))){C=73;break e}if(!(p=0|V(I=1<<((p=0|o[I>>2])?8>>>p:8),((0|I)<0)<<31>>31,4))){C=73;break e}if(x=0|o[D>>2],o[p>>2]=o[x>>2],y=S<<2,(0|S)>1)for(S=4;;){if(n[p+S>>0]=(0|a[p+(S+-4)>>0])+(0|a[x+S>>0]),!((0|(L=S+1|0))<(0|y))){_=L;break}S=L}else _=4;(0|(S=I<<2))>(0|_)&&Oi(p+_|0,0,S-_|0),Y(0|o[D>>2]),o[D>>2]=p,B=1,M=E;break;default:B=1,M=k}if(!B){C=73;break e}k=M}else m=e,C=18}while(0);do{if(18==(0|C)){if(0|ne(d,1)){if(!(((e=0|ne(d,4))+-1|0)>>>0<11)){o[A>>2]=3,R=0;break}P=e}else P=0;o[c>>2]=0,e=0|f[3824+(P<<1)>>1];do{if(0!=(0|i)&&0!=(0|ne(d,1)))if(_=(B=(1<<(M=2+(0|ne(d,3))|0))-1|0)+m|0,F=M?_>>>M:_,_=B+r|0,_=0|l(F,B=M?_>>>M:_),0|Ie(F,B,0,A,c)){if(o[A+152>>2]=M,M=(0|_)>0)for(B=0|o[c>>2],F=0,k=1;;){if(S=(w=0|o[(h=B+(F<<2)|0)>>2])>>>8&65535,o[h>>2]=S,h=(0|S)<(0|k)?k:S+1|0,(0|(F=F+1|0))==(0|_)){T=h;break}k=h}else T=1;if((0|T)>1e3|(0|T)>(0|l(m,r))){if(!(k=0|V(T,((0|T)<0)<<31>>31,4))){o[A>>2]=1,G=0,q=0,U=1,z=0,Q=0;break}if(Oi(0|k,-1,T<<2|0),M)for(F=0|o[c>>2],B=0,E=0;;){if(D=k+(o[(p=F+(E<<2)|0)>>2]<<2)|0,-1==(0|(I=0|o[D>>2]))?(o[D>>2]=B,H=B+1|0,Z=B):(H=B,Z=I),o[p>>2]=Z,(0|(E=E+1|0))==(0|_)){j=k,K=T,J=H,$=k,C=35;break}B=H}else j=k,K=T,J=0,$=k,C=35}else j=0,K=T,J=T,$=0,C=35}else G=0,q=0,U=1,z=0,Q=0;else j=0,K=1,J=1,$=0,C=35}while(0);e:do{if(35==(0|C))if(0|o[A+48>>2])G=0,q=0,U=1,z=0,Q=$;else{if(_=1<0)?(ee=(0|(E=(0|_)>-24?_+280|0:256))>40?E:40,re=0):(ee=280,re=0),E=0|N(ee,re,4),0==(0|(M=0|V(F=0|l(J,e),((0|F)<0)<<31>>31,4)))|0==(0|E)|0==(0|(F=0|ye(J)))){o[A>>2]=1,G=F,q=M,U=1,z=E,Q=$;break}if((0|K)>0)for(p=0==(0|j),I=_+280|0,D=(0|_)>-279,h=_+280|0,_=M,S=0;;){do{if(p)oe=S,C=49;else{if(-1==(0|(w=0|o[j+(S<<2)>>2]))){if(B){if(!(0|Ee(h,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(0|Ee(40,A,E,0)){ie=_;break}G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(280,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(!(0|Ee(256,A,E,0))){G=F,q=M,U=1,z=E,Q=$;break e}if(0|Ee(40,A,E,0)){ie=_;break}G=F,q=M,U=1,z=E,Q=$;break e}oe=w,C=49}}while(0);do{if(49==(0|C)){if(C=0,o[(w=F+(548*oe|0)|0)>>2]=_,B){if(!(y=0|Ee(I,A,E,_))){G=F,q=M,U=1,z=E,Q=$;break e}if(x=0|a[_>>0],L=_+(y<<2)|0,y=0|o[E>>2],D)for(ae=1,fe=y;;){if(ue=(0|(Ae=0|o[E+(ae<<2)>>2]))>(0|fe)?Ae:fe,(0|(ae=ae+1|0))==(0|I)){se=ue;break}fe=ue}else se=y;if(o[F+(548*oe|0)+4>>2]=L,!(fe=0|Ee(256,A,E,L))){G=F,q=M,U=1,z=E,Q=$;break e}ue=x+(255&(ae=0|n[L>>0]))|0,Ae=L+(fe<<2)|0,fe=1,le=0|o[E>>2];do{le=(0|(ce=0|o[E+(fe<<2)>>2]))>(0|le)?ce:le,fe=fe+1|0}while(256!=(0|fe));if(fe=le+se|0,o[F+(548*oe|0)+8>>2]=Ae,!(L=0|Ee(256,A,E,Ae))){G=F,q=M,U=1,z=E,Q=$;break e}y=ae|(x=0|n[Ae>>0]),ce=ue+(255&x)|0,x=Ae+(L<<2)|0,L=1,de=0|o[E>>2];do{de=(0|(ve=0|o[E+(L<<2)>>2]))>(0|de)?ve:de,L=L+1|0}while(256!=(0|L));if(L=de+fe|0,o[F+(548*oe|0)+12>>2]=x,!(Ae=0|Ee(256,A,E,x))){G=F,q=M,U=1,z=E,Q=$;break e}ae=y|(ue=0|n[x>>0]),le=ce+(255&ue)|0,ue=x+(Ae<<2)|0,Ae=1,ve=0|o[E>>2];do{ve=(0|(ge=0|o[E+(Ae<<2)>>2]))>(0|ve)?ge:ve,Ae=Ae+1|0}while(256!=(0|Ae));if(o[F+(548*oe|0)+16>>2]=ue,!(Ae=0|Ee(40,A,E,ue))){G=F,q=M,U=1,z=E,Q=$;break e}be=ve+L|0,he=ae,we=le+(0|a[ue>>0])|0,ke=ue+(Ae<<2)|0}else{if(!(Ae=0|Ee(280,A,E,_))){G=F,q=M,U=1,z=E,Q=$;break e}x=0|a[_>>0],ce=_+(Ae<<2)|0,Ae=1,y=0|o[E>>2];do{y=(0|(fe=0|o[E+(Ae<<2)>>2]))>(0|y)?fe:y,Ae=Ae+1|0}while(Ae>>>0<280);if(o[F+(548*oe|0)+4>>2]=ce,!(Ae=0|Ee(256,A,E,ce))){G=F,q=M,U=1,z=E,Q=$;break e}le=x+(255&(ue=0|n[ce>>0]))|0,ae=ce+(Ae<<2)|0,Ae=1,L=0|o[E>>2];do{L=(0|(ve=0|o[E+(Ae<<2)>>2]))>(0|L)?ve:L,Ae=Ae+1|0}while(Ae>>>0<256);if(Ae=L+y|0,o[F+(548*oe|0)+8>>2]=ae,!(ce=0|Ee(256,A,E,ae))){G=F,q=M,U=1,z=E,Q=$;break e}ve=ue|(x=0|n[ae>>0]),fe=le+(255&x)|0,x=ae+(ce<<2)|0,ce=1,de=0|o[E>>2];do{de=(0|(ge=0|o[E+(ce<<2)>>2]))>(0|de)?ge:de,ce=ce+1|0}while(ce>>>0<256);if(ce=de+Ae|0,o[F+(548*oe|0)+12>>2]=x,!(ae=0|Ee(256,A,E,x))){G=F,q=M,U=1,z=E,Q=$;break e}ue=ve|(le=0|n[x>>0]),y=fe+(255&le)|0,le=x+(ae<<2)|0,ae=1,L=0|o[E>>2];do{L=(0|(ge=0|o[E+(ae<<2)>>2]))>(0|L)?ge:L,ae=ae+1|0}while(ae>>>0<256);if(o[F+(548*oe|0)+16>>2]=le,!(ae=0|Ee(40,A,E,le))){G=F,q=M,U=1,z=E,Q=$;break e}be=L+ce|0,he=ue,we=y+(0|a[le>>0])|0,ke=le+(ae<<2)|0}if(ae=he<<24>>24==0,o[F+(548*oe|0)+20>>2]=1&ae,o[(x=F+(548*oe|0)+28|0)>>2]=0,ae&&(ae=(0|f[2+(0|o[F+(548*oe|0)+4>>2])>>1])<<16|0|f[2+(0|o[F+(548*oe|0)+8>>2])>>1]|(0|f[2+(0|o[F+(548*oe|0)+12>>2])>>1])<<24,o[(fe=F+(548*oe|0)+24|0)>>2]=ae,0==(0|we))&&(65535&(ve=0|t[2+(0|o[w>>2])>>1]))<256){o[x>>2]=1,o[fe>>2]=(65535&ve)<<8|ae,o[F+(548*oe|0)+32>>2]=0,ie=ke;break}if(ae=(0|be)<6,o[F+(548*oe|0)+32>>2]=1&ae,ae){ae=F+(548*oe|0)+4|0,ve=F+(548*oe|0)+8|0,fe=F+(548*oe|0)+12|0,x=0|o[w>>2],Ae=0;do{de=F+(548*oe|0)+36+(Ae<<3)|0,(65535&(ge=(me=f[(ge=x+(Ae<<2)|0)>>1]|f[ge+2>>1]<<16)>>>16))>255?(o[de>>2]=255&me|256,o[F+(548*oe|0)+36+(Ae<<3)+4>>2]=ge):(Ce=F+(548*oe|0)+36+(Ae<<3)+4|0,pe=255&me,o[de>>2]=pe,me=ge<<8,o[Ce>>2]=me,ge=pe?Ae>>>pe:Ae,Le=0|o[ae>>2],xe=0|t[Le+(ge<<2)+2>>1],Le=pe+(Se=0|a[Le+(ge<<2)>>0])|0,o[de>>2]=Le,pe=(65535&xe)<<16|me,o[Ce>>2]=pe,me=Se?ge>>>Se:ge,ge=0|o[ve>>2],Se=0|t[ge+(me<<2)+2>>1],ge=Le+(xe=0|a[ge+(me<<2)>>0])|0,o[de>>2]=ge,Le=pe|65535&Se,o[Ce>>2]=Le,Se=xe?me>>>xe:me,me=0|o[fe>>2],xe=0|t[me+(Se<<2)+2>>1],o[de>>2]=ge+(0|a[me+(Se<<2)>>0]),o[Ce>>2]=(65535&xe)<<24|Le),Ae=Ae+1|0}while(64!=(0|Ae));ie=ke}else ie=ke}}while(0);if((0|(S=S+1|0))>=(0|K))break;_=ie}o[A+160>>2]=o[c>>2],o[A+164>>2]=J,o[A+168>>2]=F,o[A+172>>2]=M,G=F,q=M,U=0,z=E,Q=$}}while(0);if(Y(z),Y(Q),U){Y(0|o[c>>2]),Y(q),W(G),C=73;break}if((0|P)>0){if(o[v>>2]=1<>2]=1,R=0;break}}else o[v>>2]=0;if(e=0|o[A+152>>2],o[A+100>>2]=m,o[A+104>>2]=r,S=(_=(1<>2]=e?S>>>e:S,o[A+148>>2]=0==(0|e)?-1:_,b)o[A+4>>2]=1,Be=0;else{if(!(e=0|V(_=0|Li(0|m,((0|m)<0)<<31>>31|0,0|r,((0|r)<0)<<31>>31|0),0|g(),4))){o[A>>2]=1,R=0;break}if(!(0|te(A,e,m,r,r,0))){R=e;break}if(0|o[A+48>>2]){R=e;break}Be=e}if(0|u&&(o[u>>2]=Be),o[A+112>>2]=0,b)return O=s,0|1;Y(0|o[A+160>>2]),Y(0|o[A+172>>2]),W(0|o[A+168>>2]),X(A+124|0),X(A+136|0),Fe=(Me=v)+56|0;do{o[Me>>2]=0,Me=Me+4|0}while((0|Me)<(0|Fe));return O=s,0|1}}while(0);73==(0|C)&&(o[A>>2]=3,R=0),Y(R),Y(0|o[A+160>>2]),Y(0|o[A+172>>2]),W(0|o[A+168>>2]),X(A+124|0),X(A+136|0),Fe=(Me=v)+56|0;do{o[Me>>2]=0,Me=Me+4|0}while((0|Me)<(0|Fe));return O=s,0|0}function ye(e){return 0|V(e|=0,((0|e)<0)<<31>>31,548)}function Ee(e,r,i,n){e|=0,i|=0,n|=0;var f,A,u,s,l,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0;f=O,O=O+592|0,A=f+80|0,u=f,l=0|ne(s=(r|=0)+24|0,1),Oi(0|i,0,e<<2|0);e:do{if(l)c=0|ne(s,1),d=0==(0|ne(s,1)),v=i+((0|ne(s,d?1:8))<<2)|0,o[v>>2]=1,1==(0|c)?(c=i+((0|ne(s,8))<<2)|0,o[c>>2]=1,b=26):b=26;else{v=(c=u)+76|0;do{o[c>>2]=0,c=c+4|0}while((0|c)<(0|v));if((0|(c=4+(0|ne(s,4))|0))>19)return o[r>>2]=3,O=f,0|0;if((0|c)>0){v=0;do{d=0|ne(s,3),o[u+((0|a[3856+v>>0])<<2)>>2]=d,v=v+1|0}while((0|v)!=(0|c))}r:do{if(0|Le(A,7,u,19)){if(0|ne(s,1)){if((0|(c=2+(0|ne(s,2+((0|ne(s,3))<<1)|0))|0))>(0|e))break;h=c}else h=e;i:do{if((0|e)>0)for(c=r+44|0,v=0,d=8,w=h;;){if(!w)break i;if(w=w+-1|0,(0|(k=0|o[c>>2]))>31?(re(s),m=0|o[c>>2]):m=k,C=0|_i(0|o[(k=s)>>2],0|o[k+4>>2],63&m|0),g(),k=127&C,o[c>>2]=m+(0|a[A+(k<<2)>>0]),k=65535&(C=0|t[A+(k<<2)+2>>1]),(65535&C)>=16){if(I=0|a[8680+(p=k+-16|0)>>0],((y=(0|ne(s,0|a[8677+p>>0]))+I|0)+v|0)>(0|e))break r;if(I=C<<16>>16==16?d:0,(0|y)>0)for(p=y,y=v;;){if(E=y+1|0,o[i+(y<<2)>>2]=I,!((0|p)>1)){D=d,L=E;break}p=p+-1|0,y=E}else D=d,L=v}else o[i+(v<<2)>>2]=k,D=C<<16>>16==0?d:k,L=v+1|0;if((0|L)>=(0|e))break;v=L,d=D}}while(0);b=26;break e}}while(0);o[r>>2]=3}}while(0);return 26==(0|b)&&0==(0|o[r+48>>2])&&0|(b=0|Le(n,8,i,e))?(O=f,0|b):(o[r>>2]=3,O=f,0|0)}function De(e,r){e|=0;var i,n;return n=0|N(i=1<<(r|=0),((0|i)<0)<<31>>31,4),o[e>>2]=n,n?(o[e+4>>2]=32-r,o[e+8>>2]=r,0|1):0|0}function Le(e,r,i,n){e|=0,r|=0,i|=0,n|=0;var t,o,a=0,f=0,A=0;t=O,O=O+1024|0,o=t;do{if(e){if((0|n)<513){a=0|xe(e,r,i,n,o);break}(f=0|V(n,((0|n)<0)<<31>>31,2))?(A=0|xe(e,r,i,n,f),Y(f),a=A):a=0}else a=0|xe(0,r,i,n,0)}while(0);return O=t,0|a}function xe(e,r,i,a,A){e|=0,i|=0,a|=0,A|=0;var u,s,l,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0;u=O,O=O+128|0,c=u,l=1<<(r|=0),v=(d=s=u+64|0)+64|0;do{o[d>>2]=0,d=d+4|0}while((0|d)<(0|v));d=(0|a)>0;do{if(d){for(v=0;;){if((0|(g=0|o[i+(v<<2)>>2]))>15){b=0,h=69;break}if(o[(w=s+(g<<2)|0)>>2]=1+(0|o[w>>2]),(0|(v=v+1|0))>=(0|a)){h=5;break}}if(5==(0|h)){k=0|o[s>>2];break}if(69==(0|h))return O=u,0|b}else k=0}while(0);if((0|k)==(0|a))return O=u,0|(b=0);if(o[c+4>>2]=0,(0|(k=0|o[s+4>>2]))>2)return O=u,0|(b=0);if(o[c+8>>2]=k,(0|(v=0|o[s+8>>2]))>4)return O=u,0|(b=0);if(w=k+v|0,o[c+12>>2]=w,(0|(v=0|o[s+12>>2]))>8)return O=u,0|(b=0);if(g=w+v|0,o[c+16>>2]=g,(0|(v=0|o[s+16>>2]))>16)return O=u,0|(b=0);if(w=g+v|0,o[c+20>>2]=w,(0|(v=0|o[s+20>>2]))>32)return O=u,0|(b=0);if(g=w+v|0,o[c+24>>2]=g,(0|(v=0|o[s+24>>2]))>64)return O=u,0|(b=0);if(w=g+v|0,o[c+28>>2]=w,(0|(v=0|o[s+28>>2]))>128)return O=u,0|(b=0);if(g=w+v|0,o[c+32>>2]=g,(0|(v=0|o[s+32>>2]))>256)return O=u,0|(b=0);if(w=g+v|0,o[c+36>>2]=w,(0|(v=0|o[s+36>>2]))>512)return O=u,0|(b=0);if(g=w+v|0,o[c+40>>2]=g,(0|(v=0|o[s+40>>2]))>1024)return O=u,0|(b=0);if(w=g+v|0,o[c+44>>2]=w,(0|(v=0|o[s+44>>2]))>2048)return O=u,0|(b=0);if(g=w+v|0,o[c+48>>2]=g,(0|(v=0|o[s+48>>2]))>4096)return O=u,0|(b=0);if(w=g+v|0,o[c+52>>2]=w,(0|(v=0|o[s+52>>2]))>8192)return O=u,0|(b=0);if(g=w+v|0,o[c+56>>2]=g,(0|(v=0|o[s+56>>2]))>16384)return O=u,0|(b=0);if(w=g+v|0,o[(v=c+60|0)>>2]=w,d){if(A){d=0;do{(0|(m=0|o[i+(d<<2)>>2]))>0&&(m=0|o[(g=c+(m<<2)|0)>>2],o[g>>2]=m+1,t[A+(m<<1)>>1]=d),d=d+1|0}while((0|d)!=(0|a))}else{d=0;do{(0|(g=0|o[i+(d<<2)>>2]))>0&&(o[(m=c+(g<<2)|0)>>2]=1+(0|o[m>>2])),d=d+1|0}while((0|d)!=(0|a))}C=0|o[v>>2]}else C=w;if(1==(0|C)){if(!A)return O=u,0|(b=l);w=(0|f[A>>1])<<16,a=l;do{d=a,t[(c=e+((a=a+-1|0)<<2)|0)>>1]=w,t[c+2>>1]=w>>>16}while((0|d)>1);return O=u,0|(b=l)}if(w=l+-1|0,(0|r)>=1){d=(0|(a=2-k|0))<0;e:do{if(e){if(d)return O=u,0|(b=0);for(m=0,i=2,c=1,g=0,D=k,L=s+4|0,x=a,S=3;;){if((0|D)>0){B=255&c,M=1<>1])<<16|B,G=l;do{t[(q=R+((G=G-i|0)<<2)|0)>>1]=T,t[q+2>>1]=T>>>16}while((0|G)>0);for(G=M;G&F;)G>>>=1;_=_+1|0,F=0==(0|G)?F:(G+-1&F)+G|0,T=P,P=P+-1|0}while((0|T)>1);o[L>>2]=P,Y=F,U=_}else Y=m,U=g;if(M=c+1|0,(0|c)>=(0|r)){p=x,I=S,y=Y,E=U;break e}if((0|(x=(B=x<<1)-(D=0|o[s+(M<<2)>>2])|0))<0){b=0;break}m=Y,i<<=1,c=M,g=U,L=s+(M<<2)|0,S=B+S|0}return O=u,0|b}if(d)return O=u,0|(b=0);for(c=1,i=a,m=3;;){if((0|c)>=(0|r)){p=i,I=m,y=0,E=0;break e}if((0|(i=(g=i<<1)-(0|o[s+((c=c+1|0)<<2)>>2])|0))<0){b=0;break}m=g+m|0}return O=u,0|b}while(0);(0|r)<15?(z=p,W=I,X=y,Q=E,h=42):(N=l,V=I,H=C)}else z=1,W=1,X=0,Q=0,h=42;do{if(42==(0|h)){for(C=0!=(0|e),I=e,E=-1,y=e,p=l,U=l,Y=z,a=W,k=2,d=r,S=X,L=Q;;){if(g=d,a=(c=Y<<1)+a|0,(0|(Y=c-(m=0|o[(i=s+((d=d+1|0)<<2)|0)>>2])|0))<0){b=0,h=69;break}e:do{if(C&(0|m)>0){if(x=255&(c=d-r|0),D=1<=14)for(B=255&d,M=E,T=y,R=p,q=U,Z=S,j=L;;){(0|(K=Z&w))==(0|M)?(J=q,$=M,ee=T,re=R):(ie=T+(q<<2)|0,n[e+(K<<2)>>0]=B,ne=ie-I|0,t[e+(K<<2)+2>>1]=(ne>>>2)-K,J=D,$=K,ee=ie,re=D+R|0),ie=ee+((r?Z>>>r:Z)<<2)|0,K=(0|f[A+(j<<1)>>1])<<16|x,ne=J;do{t[(te=ie+((ne=ne-k|0)<<2)|0)>>1]=K,t[te+2>>1]=K>>>16}while((0|ne)>0);for(ne=c;ne&Z;)ne>>>=1;if(K=j+1|0,ie=0==(0|ne)?Z:(ne+-1&Z)+ne|0,te=0|o[i>>2],o[i>>2]=te+-1,!((0|te)>1)){oe=J,ae=$,fe=ee,Ae=re,ue=ie,se=K;break e}M=$,T=ee,R=re,q=J,Z=ie,j=K}for(j=E,Z=y,q=p,R=U,T=S,M=L,B=m;;){if((0|(G=T&w))==(0|j))le=R,ce=j,de=Z,ve=q;else{K=Z+(R<<2)|0,ie=D-B|0;r:do{if((0|ie)<1)ge=d;else for(te=d,be=ie;;){if(he=te+1|0,(0|te)>=14){ge=he;break r}if((0|(be=(be<<1)-(0|o[s+(he<<2)>>2])|0))<1){ge=he;break}te=he}}while(0);ie=1<>0]=ge,ne=K-I|0,t[e+(G<<2)+2>>1]=(ne>>>2)-G,le=ie,ce=G,de=K,ve=ie+q|0}ie=de+((r?T>>>r:T)<<2)|0,ne=(0|f[A+(M<<1)>>1])<<16|x,te=le;do{t[(be=ie+((te=te-k|0)<<2)|0)>>1]=ne,t[be+2>>1]=ne>>>16}while((0|te)>0);for(te=c;te&T;)te>>>=1;if(ne=M+1|0,ie=0==(0|te)?T:(te+-1&T)+te|0,B=(K=0|o[i>>2])+-1|0,o[i>>2]=B,(0|K)<=1){oe=le,ae=ce,fe=de,Ae=ve,ue=ie,se=ne;break}j=ce,Z=de,q=ve,R=le,T=ie,M=ne}}else oe=U,ae=E,fe=y,Ae=p,ue=S,se=L}while(0);if((0|g)>=14){h=67;break}E=ae,y=fe,p=Ae,U=oe,k<<=1,S=ue,L=se}if(67==(0|h)){N=Ae,V=a,H=0|o[v>>2];break}if(69==(0|h))return O=u,0|b}}while(0);return O=u,0|(b=(0|V)==((H<<1)-1|0)?N:0)}function Se(e,r,i,t){e|=0,r|=0,t|=0;var a,f,A,u=0,s=0,c=0,d=0,v=0;if(!((0|(i|=0))<=0)){a=0|n[e>>0],f=0|n[e+1>>0],A=0|n[e+2>>0],e=0;do{u=0|o[r+(e<<2)>>2],d=((s=0|l(c=(s=u<<16)>>24,a))>>5)+(u>>>16)|0,s=0|l(c,f),v=0|l((c=d<<24)>>24,A),o[t+(e<<2)>>2]=d<<16&16711680|-16711936&u|(s>>>5)+u+(v>>>5)&255,e=e+1|0}while((0|e)!=(0|i))}}function Be(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e>>>16,n[r+1>>0]=e>>>8,n[r+2>>0]=e,n[r+3>>0]=e>>>24,!(i>>>0>=t>>>0);)r=r+4|0}function Me(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e>>>16,n[r+1>>0]=e>>>8,n[r+2>>0]=e,!(i>>>0>=t>>>0);)r=r+3|0}function Fe(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e,n[r+1>>0]=e>>>8,n[r+2>>0]=e>>>16,!(i>>>0>=t>>>0);)r=r+3|0}function _e(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e>>>16&240|e>>>12&15,n[r+1>>0]=240&e|e>>>28,!(i>>>0>=t>>>0);)r=r+2|0}function Pe(e,r,i){i|=0;var t;if(t=(e|=0)+((r|=0)<<2)|0,!((0|r)<=0))for(r=i,i=e;e=0|o[i>>2],i=i+4|0,n[r>>0]=e>>>16&248|e>>>13&7,n[r+1>>0]=e>>>5&224|e>>>3&31,!(i>>>0>=t>>>0);)r=r+2|0}function Re(e,r,i,n,t,a){e|=0,r|=0,i|=0;var f=0,A=0,u=0,s=0;if((0|(n|=0))<(0|(t|=0))&(0|(a|=0))>0)for(f=n,n=e,e=i;;){for(i=0,A=e,u=n,n=n+(a<<2)|0;s=0|o[u>>2],o[A>>2]=o[r+((s>>>8&255)<<2)>>2],(0|(i=i+1|0))!=(0|a);)A=A+4|0,u=u+4|0;if((0|(f=f+1|0))==(0|t))break;e=e+(a<<2)|0}}function Te(e,r,i){e|=0,i|=0;var n,t,a,f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0;if(n=O,O=O+16|0,t=n+4|0,A=n,a=0|o[(r|=0)>>2],f=0|o[r+4>>2],u=0!=(0|e))if(s=(0|o[e+8>>2])>0,o[r+72>>2]=1&s,s){if(s=0|o[e+20>>2],l=0|o[e+24>>2],c=0|o[e+12>>2],d=0|o[e+16>>2],i=(v=i>>>0>10)?-2&c:c,((c=v?-2&d:d)+l|0)>(0|f)|(i+s|0)>(0|a)|(0|l)<1|(0|s)<1|(c|i|0)<0)return O=n,0|0;g=l,b=s,h=c,w=i}else g=f,b=a,h=0,w=0;else o[r+72>>2]=0,g=f,b=a,h=0,w=0;if(o[r+76>>2]=w,o[r+84>>2]=h,o[r+80>>2]=b+w,o[r+88>>2]=g+h,o[r+12>>2]=b,o[r+16>>2]=g,!u)return o[r+92>>2]=0,o[r+68>>2]=0,o[r+56>>2]=1,O=n,0|1;u=(0|o[e+28>>2])>0,o[(h=r+92|0)>>2]=1&u;do{if(u){if(o[t>>2]=o[e+32>>2],o[A>>2]=o[e+36>>2],0|Qe(b,g,t,A)){o[r+96>>2]=o[t>>2],o[r+100>>2]=o[A>>2],k=0==(0|o[h>>2]);break}return O=n,0|0}k=1}while(0);return o[(h=r+68|0)>>2]=0!=(0|o[e>>2])&1,o[(A=r+56|0)>>2]=0==(0|o[e+4>>2])&1,k?(O=n,0|1):(m=(0|o[r+96>>2])<(0|(3*a|0)/4)?(0|o[r+100>>2])<(0|(3*f|0)/4)&1:0,o[h>>2]=m,o[A>>2]=0,O=n,0|1)}function Ge(){0|ri(10084)||(0|o[2033]&&(o[2437]=1,o[2439]=2,o[2443]=1,o[2444]=2,o[2436]=3,o[2438]=4,o[2440]=5,o[2441]=6,o[2442]=7,o[2445]=5,o[2446]=6),o[2033]=0,ii(10084))}function Oe(e,r,i,n,t,a,f,A,u){i|=0,n|=0,a|=0,f|=0,A|=0,u|=0;var s,c=0,d=0;c=(0|(r|=0))<(0|(t|=0)),o[(e|=0)>>2]=1&c,s=(0|i)<(0|a),o[e+4>>2]=1&s,o[e+44>>2]=r,o[e+48>>2]=i,o[e+52>>2]=t,o[e+56>>2]=a,o[e+60>>2]=0,o[e+64>>2]=0,o[e+68>>2]=n,o[e+72>>2]=f,o[e+8>>2]=A,f=c?t+-1|0:r,o[e+36>>2]=f,n=c?r+-1|0:t,o[e+40>>2]=n,c||(c=0|Fi(0,1,0|n,((0|n)<0)<<31>>31|0),g(),o[e+12>>2]=c),n=(c=s<<31>>31)+i|0,o[e+28>>2]=n,i=c+a|0,o[e+32>>2]=i,c=e+24|0,s?(o[c>>2]=i,d=f):(o[c>>2]=n,c=(0|(f=0|Fi(0,0|a,0|(c=0|l(n,f)),((0|c)<0)<<31>>31|0)))==(0|f)&0==(0|g()),o[e+20>>2]=c?f:0,d=i),i=0|Fi(0,1,0|d,((0|d)<0)<<31>>31|0),g(),o[e+16>>2]=i,o[e+76>>2]=u,i=u+((0|l(A,t))<<2)|0,o[e+80>>2]=i,Oi(0|u,0,0|l(t<<3,A)),function(){if(0|ri(10056))return;o[2032]=0,ii(10056)}()}function qe(){0|ri(1e4)||(0|o[2030]&&(o[2468]=11,o[2469]=12,o[2470]=13,o[2471]=14,o[2472]=15,o[2473]=16,o[2474]=17,o[2475]=12,o[2476]=14,o[2477]=15,o[2478]=16),o[2030]=0,ii(1e4))}function Ye(e){var r,i,n,t=0,a=0,f=0,A=0;if(r=(e|=0)+24|0,i=e+56|0,(0|o[(n=e+64|0)>>2])>=(0|o[i>>2]))return 0|(t=0);for(a=0;;){if((0|o[r>>2])>0){t=a,f=5;break}if(se(e),A=a+1|0,!((0|o[n>>2])<(0|o[i>>2]))){t=A,f=5;break}a=A}return 5==(0|f)?0|t:0}function Ue(e,r,i,n,t,o,a){e|=0,r|=0,i|=0,n|=0,t|=0,a|=0;var f=0;if(!((0|(o|=0))<=0))for(f=e,e=i,i=0;ge(f,e,t,a),(0|(i=i+1|0))!=(0|o);)f=f+r|0,e=e+n|0}function ze(e){var r,i,t,a,f=0,A=0,u=0,s=0,c=0,d=0,v=0,b=0;if(r=0|o[(e|=0)+68>>2],i=0|o[e+76>>2],t=0|l(0|o[e+8>>2],0|o[e+52>>2]),a=0|o[e+80>>2],f=0|o[e+24>>2]){if(A=0|Fi(0,0-f|0,0|(u=0|o[e+32>>2]),((0|u)<0)<<31>>31|0),g(),(0|t)<=0)return;u=0-A|0,f=e+16|0,e=0;do{s=0|Li(0|o[a+(e<<2)>>2],0,0|u,0),c=0|g(),d=0|Li(0|A,0,0|o[i+(e<<2)>>2],0),v=0|g(),b=0|xi(0|s,0|c,-2147483648,0),xi(0|b,0|g(),0|d,0|v),xi(0|(d=0|Li(0|(v=0|g()),0,0|o[f>>2],0)),0|g(),-2147483648,0),d=0|g(),n[r+e>>0]=(0|d)>255?-1:255&d,e=e+1|0}while((0|e)!=(0|t))}else if(!((0|t)<=0)){A=e+16|0,u=0;do{xi(0|(s=0|Li(0|o[A>>2],0,0|o[a+(u<<2)>>2],0)),0|g(),-2147483648,0),s=0|g(),n[r+u>>0]=(0|s)>255?-1:255&s,u=u+1|0}while((0|u)!=(0|t))}}function We(e){var r,i,t,a,f,A=0,u=0,s=0,c=0,d=0;if(r=0|o[(e|=0)+68>>2],i=0|o[e+76>>2],t=0|l(0|o[e+8>>2],0|o[e+52>>2]),a=0|o[e+80>>2],A=(0|t)>0,f=0|l(0|o[e+24>>2],0-(0|o[e+16>>2])|0)){if(!A)return;A=e+20|0,e=0;do{Li(0|o[a+(e<<2)>>2],0,0|f,0),s=0|g(),xi(0|(c=0|Li((0|o[(u=i+(e<<2)|0)>>2])-s|0,0,0|o[A>>2],0)),0|g(),-2147483648,0),c=0|g(),n[r+e>>0]=(0|c)>255?-1:255&c,o[u>>2]=s,e=e+1|0}while((0|e)!=(0|t))}else if(A){u=e+20|0,s=0;do{c=i+(s<<2)|0,xi(0|(d=0|Li(0|o[u>>2],0,0|o[c>>2],0)),0|g(),-2147483648,0),d=0|g(),n[r+s>>0]=(0|d)>255?-1:255&d,o[c>>2]=0,s=s+1|0}while((0|s)!=(0|t))}}function Xe(e,r){r|=0;var i,t,a,f,A,u,s=0,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0;if(i=0|o[(e|=0)+8>>2],t=0|l(0|o[e+52>>2],i),!((0|i)<=0)){a=e+36|0,f=e+40|0,A=e+80|0,u=e+12|0,e=0;do{if((0|e)<(0|t))for(s=0,c=0,d=e,v=e;;){if(b=(0|o[a>>2])+s|0,h=0|o[f>>2],(0|b)>0){w=c,k=v,m=b;do{m=m-h|0,w=w+(255&(C=0|n[r+k>>0]))|0,k=k+i|0}while((0|m)>0);p=255&C,I=m,y=w,E=k}else p=0,I=b,y=c,E=v;if(D=0|l(p,0-I|0),L=(0|l(h,y))-D|0,o[(0|o[A>>2])+(d<<2)>>2]=L,xi(0|(L=0|Li(0|o[u>>2],0,0|D,0)),0|g(),-2147483648,0),c=0|g(),(0|(d=d+i|0))>=(0|t))break;s=I,v=E}e=e+1|0}while((0|e)!=(0|i))}}function Qe(e,r,i,n){e|=0,r|=0,n|=0;var t,a,f=0,A=0,u=0,s=0,l=0,c=0,d=0;return f=0|o[(i|=0)>>2],t=0|o[n>>2],A=((0|r)<0)<<31>>31,a=((0|e)<0)<<31>>31,(0|r)>0&0==(0|f)?(u=0|Li(0|t,((0|t)<0)<<31>>31|0,0|e,0|a),s=0|g(),l=0|xi(0|r,0|A,-1,-1),s=0|Fi(0|(0|xi(0|l,0|g(),0|u,0|s)),0|g(),0|r,0|A),g(),c=s):c=f,(0|e)>0&0==(0|t)?(f=0|Li(0|c,((0|c)<0)<<31>>31|0,0|r,0|A),A=0|g(),r=0|xi(0|e,0|a,-1,-1),A=0|Fi(0|(s=0|xi(0|r,0|g(),0|f,0|A)),0|g(),0|e,0|a),g(),d=A):d=t,(0|c)<1|(0|d)<1?0|0:(o[i>>2]=c,o[n>>2]=d,0|1)}function Ne(e,r,i,t){var a,f=0,A=0,u=0,s=0,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0;if(a=O,O=O+16|0,f=a+4|0,A=a,(0|(r|=0))<1|(0|(e|=0))<1|0==(0|(t|=0)))return O=a,0|2;if(u=0!=(0|(i|=0))){if(0|o[i+8>>2]){if(s=0|o[i+20>>2],c=0|o[i+24>>2],d=0|o[i+12>>2],(0|c)<1|(0|s)<1|((v=0|o[i+16>>2])|d|0)<0)return O=a,0|2;if(((-2&d)+s|0)>(0|e)|((-2&v)+c|0)>(0|r))return O=a,0|2;b=s,h=c}else b=e,h=r;if(0|o[i+28>>2]){if(o[f>>2]=o[i+32>>2],o[A>>2]=o[i+36>>2],c=0==(0|Qe(b,h,f,A)))return O=a,0|2;w=0|o[f>>2],k=0|o[A>>2]}else w=b,k=h}else w=e,k=r;if(o[t+4>>2]=w,o[(r=t+8|0)>>2]=k,(0|k)<1|(0|w)<1|(e=0|o[t>>2])>>>0>12)return O=a,0|2;do{if((0|o[t+12>>2])<1&&0==(0|o[(h=t+80|0)>>2])){if(b=((0|w)<0)<<31>>31,f=0|Li(255&(A=0|n[8683+e>>0])|0,0,0|w,0|b),(c=0|g())>>>0>0|0==(0|c)&f>>>0>4294967295)return O=a,0|2;if(c=0|Li(0|(f=0|l(w,255&A)),((0|f)<0)<<31>>31|0,0|k,0|(A=((0|k)<0)<<31>>31)),s=0|g(),(v=e>>>0>10)?(C=0|Li(0|(d=(w+1|0)/2|0),((0|d)<0)<<31>>31|0,0|(m=(k+1|0)/2|0),((0|m)<0)<<31>>31|0),m=0|g(),p=12==(0|e),I=0|Li(0|w,0|b,0|k,0|A),A=0|g(),y=d,E=p?w:0,D=C,L=m,x=p?I:0,S=p?A:0):(y=0,E=0,D=0,L=0,x=0,S=0),A=0|Pi(0|D,0|L,1),p=0|g(),I=0|xi(0|x,0|S,0|c,0|s),!(p=0|V(s=0|xi(0|I,0|g(),0|A,0|p),0|g(),1)))return O=a,0|1;if(o[h>>2]=p,o[t+16>>2]=p,!v){o[t+20>>2]=f,o[t+24>>2]=c;break}o[t+32>>2]=f,o[t+48>>2]=c,f=p+c|0,o[t+20>>2]=f,o[t+36>>2]=y,o[t+52>>2]=D,o[t+24>>2]=f+D,o[t+40>>2]=y,o[t+56>>2]=D,12==(0|e)&&(o[t+28>>2]=f+A),o[t+60>>2]=x,o[t+44>>2]=E}}while(0);return 0!=(0|(E=0|Ve(t)))|1^u?(O=a,0|E):0|o[i+48>>2]?(i=(0|o[r>>2])-1|0,(0|o[t>>2])>>>0<=10?(E=0|o[(r=t+20|0)>>2],u=0|l(E,i),o[(x=t+16|0)>>2]=(0|o[x>>2])+u,o[r>>2]=0-E,O=a,0|0):(r=0|o[(E=t+32|0)>>2],u=0|l(r,i),o[(x=t+16|0)>>2]=(0|o[x>>2])+u,o[E>>2]=0-r,r=i>>1,u=0|o[(E=t+36|0)>>2],x=0|l(u,r),o[(e=t+20|0)>>2]=(0|o[e>>2])+x,o[E>>2]=0-u,E=0|o[(u=t+40|0)>>2],x=0|l(E,r),o[(r=t+24|0)>>2]=(0|o[r>>2])+x,o[u>>2]=0-E,(u=0|o[(E=t+28|0)>>2])?(t=0|o[(x=t+44|0)>>2],r=u+(0|l(t,i))|0,o[E>>2]=r,o[x>>2]=0-t,O=a,0|0):(O=a,0|0))):(O=a,0|0)}function Ve(e){var r,i,n,t=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0;if(r=0|o[(e|=0)>>2],i=0|o[e+4>>2],n=0|o[e+8>>2],r>>>0>12)return 0|2;do{if(r>>>0>10){if(t=(i+1|0)/2|0,A=(0|(f=0|o[e+32>>2]))>-1?f:0-f|0,u=(0|(f=0|o[e+36>>2]))>-1?f:0-f|0,s=(0|(f=0|o[e+40>>2]))>-1?f:0-f|0,c=(0|(f=0|o[e+44>>2]))>-1?f:0-f|0,b=((0|i)<0)<<31>>31,h=0|xi(0|(v=0|Li(0|A,((0|A)<0)<<31>>31|0,0|(f=n+-1|0),0|(d=((0|f)<0)<<31>>31))),0|g(),0|i,0|b),v=0|g(),C=((0|t)<0)<<31>>31,p=0|xi(0|(m=0|Li(0|u,((0|u)<0)<<31>>31|0,0|(w=((n+1|0)/2|0)-1|0),0|(k=((0|w)<0)<<31>>31))),0|g(),0|t,0|C),m=0|g(),k=0|xi(0|(I=0|Li(0|s,((0|s)<0)<<31>>31|0,0|w,0|k)),0|g(),0|t,0|C),C=0|g(),I=0!=(0|o[e+24>>2])&0!=(0|o[e+20>>2])&0!=(0|o[e+16>>2])&(0|s)>=(0|t)&(0|u)>=(0|t)&(0|A)>=(0|i)&(v>>>0<0|(0==(0|v)?h>>>0<=(0|o[e+48>>2])>>>0:0))&(m>>>0<0|(0==(0|m)?p>>>0<=(0|o[e+52>>2])>>>0:0))&(C>>>0<0|(0==(0|C)?k>>>0<=(0|o[e+56>>2])>>>0:0)),12==(0|r)){if(d=0|xi(0|(k=0|Li(0|c,((0|c)<0)<<31>>31|0,0|f,0|d)),0|g(),0|i,0|b),b=0|g(),0!=(0|o[e+28>>2])&(0|c)>=(0|i)&I&(b>>>0<0|(0==(0|b)?d>>>0<=(0|o[e+60>>2])>>>0:0)))break;return 0|2}if(I)break;return 0|2}if(k=0|xi(0|(b=0|Li(0|(d=(0|(I=0|o[e+20>>2]))>-1?I:0-I|0),((0|d)<0)<<31>>31|0,0|(I=n+-1|0),((0|I)<0)<<31>>31|0)),0|(I=0|g()),0|(c=0|l(i,0|a[8683+r>>0])),((0|c)<0)<<31>>31|0),I=0|g(),!(0!=(0|o[e+16>>2])&(0|d)>=(0|c)&(I>>>0<0|(0==(0|I)?k>>>0<=(0|o[e+24>>2])>>>0:0))))return 0|2}while(0);return 0|0}function He(e,r){if(0==(0|(e|=0))|512!=(-256&(r|=0)|0))return 0|0;e=(r=e)+84|0;do{o[r>>2]=0,r=r+4|0}while((0|r)<(0|e));return 0|1}function Ze(e){var r;(e|=0)&&(r=e+80|0,(0|o[e+12>>2])<1&&Y(0|o[r>>2]),o[r>>2]=0)}function je(e,r){var i,n,t,f=0,A=0;if(i=(e|=0)+4|0,o[(r|=0)+4>>2]=o[i>>2],n=e+8|0,o[r+8>>2]=o[n>>2],0|Ve(r))return 0|2;if(t=0|o[e>>2],f=0|o[e+16>>2],t>>>0<=10)return A=0|l(0|o[i>>2],0|a[8683+t>>0]),Ke(f,0|o[e+20>>2],0|o[r+16>>2],0|o[r+20>>2],A,0|o[n>>2]),0|0;switch(Ke(f,0|o[e+32>>2],0|o[r+16>>2],0|o[r+32>>2],0|o[i>>2],0|o[n>>2]),Ke(0|o[e+20>>2],0|o[e+36>>2],0|o[r+20>>2],0|o[r+36>>2],(1+(0|o[i>>2])|0)/2|0,(1+(0|o[n>>2])|0)/2|0),Ke(0|o[e+24>>2],0|o[e+40>>2],0|o[r+24>>2],0|o[r+40>>2],(1+(0|o[i>>2])|0)/2|0,(1+(0|o[n>>2])|0)/2|0),0|(f=0|o[e>>2])){case 1:case 3:case 4:case 5:case 12:break;default:if((f+-7|0)>>>0>3)return 0|0}return Ke(0|o[e+28>>2],0|o[e+44>>2],0|o[r+28>>2],0|o[r+44>>2],0|o[i>>2],0|o[n>>2]),0|0}function Ke(e,r,i,n,t,o){e|=0,r|=0,i|=0,n|=0,t|=0;var a=0;if(!((0|(o|=0))<=0))for(a=o,o=e,e=i;Ti(0|e,0|o,0|t),(0|a)>1;)a=a+-1|0,o=o+r|0,e=e+n|0}function Je(e,r){r|=0;return(0|o[(e|=0)+12>>2])<=1?0|0:0|r&&((0|o[e>>2])-7|0)>>>0<4?0|0!=(0|o[r+8>>2])&1:0|0}function $e(e,r){r|=0;var i,n=0,t=0,f=0,A=0,u=0,s=0;if(e|=0){i=0|o[e+44>>2];do{if((0|i)>=0){if((0|i)<=100){if(!((0|(n=255*i|0))>99))break;t=(0|n)/100|0}else t=255;(0|(n=0|o[r+800>>2]))<12?(n=(0|l(t,0|a[8696+((0|n)>0?n:0)>>0]))>>3,o[r+804>>2]=n,f=n):f=0|o[r+804>>2],(0|(n=0|o[r+832>>2]))<12?(n=(0|l(t,0|a[8696+((0|n)>0?n:0)>>0]))>>3,o[r+836>>2]=n,A=n):A=0|o[r+836>>2],(0|(n=0|o[r+864>>2]))<12?(n=(0|l(t,0|a[8696+((0|n)>0?n:0)>>0]))>>3,o[r+868>>2]=n,u=n):u=0|o[r+868>>2],(0|(n=0|o[r+896>>2]))<12?(n=(0|l(t,0|a[8696+((0|n)>0?n:0)>>0]))>>3,o[r+900>>2]=n,s=n):s=0|o[r+900>>2],s|u|A|f|0&&(er(r+544|0,1),o[r+540>>2]=1)}}while(0);f=0|o[e+52>>2],o[(e=r+2372|0)>>2]=f,(0|f)>100?o[e>>2]=100:(0|f)>=0||(o[e>>2]=0)}}function er(e,r){r=+r;var i=0;Ti((e|=0)+8|0,3888,220),o[e>>2]=0,o[e+4>>2]=31,i=r<0?0:r>1?256:~~(256*r)>>>0,o[e+228>>2]=i}function rr(e,r){r|=0;var i,n=0,t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(n=(e|=0)+160|0,a=(0|o[e+2308>>2])>0&&(0|(t=0|o[e+2300>>2]))>=(0|o[e+300>>2])?(0|t)<=(0|o[e+308>>2]):0,t=1&a,!(0|o[(f=e+148|0)>>2]))return o[e+164>>2]=o[e+2300>>2],o[e+168>>2]=t,ir(e,n),0|(A=0|nr(e,r));if(i=e+124|0,!(1&(0|Vi[7&o[(u=8148)>>2]](i))))return 0|(A=0);u=r,r=(A=e+180|0)+108|0;do{o[A>>2]=o[u>>2],A=A+4|0,u=u+4|0}while((0|A)<(0|r));return u=e+152|0,o[n>>2]=o[u>>2],o[e+164>>2]=o[e+2300>>2],o[e+168>>2]=t,2==(0|o[f>>2])?(t=0|o[(f=e+176|0)>>2],A=e+2304|0,o[f>>2]=o[A>>2],o[A>>2]=t):ir(e,n),a?(n=0|o[(a=e+172|0)>>2],t=e+2260|0,o[a>>2]=o[t>>2],o[t>>2]=n,s=0|o[(8140+12|0)>>2],Ki[31&s](i),c=(0|(l=(0|o[u>>2])+1|0))==(0|(0|o[(e+156|0)>>2]))?0:l,o[u>>2]=c,1):(s=0|o[(8140+12|0)>>2],Ki[31&s](i),c=(0|(l=(0|o[u>>2])+1|0))==(0|(0|o[(e+156|0)>>2]))?0:l,o[u>>2]=c,1)}function ir(e,r){e|=0;var i,t,A,u,s,c,d,v,g,b,h,w,k,m,C,p,I,y,E,D,L,x,S,B,M,F,_,P,R,T,G,O,q,Y,U,z,W,X,Q,N,V,H,Z,j,K,J,$,ee,re,ie,ne,te,oe,ae,fe,Ae,ue,se,le,ce,de,ve,ge,be,he,we,ke,me,Ce,pe,Ie,ye,Ee,De,Le,xe,Se,Be,Me,Fe,_e,Pe,Re,Te,Ge,Oe,qe,Ye,Ue,ze,We,Xe,Qe,Ne,Ve,He,Ze,je,Ke,Je,$e,er,rr,ir,nr,tr,or,ar,fr,dr,vr,gr,br,hr,wr,kr,mr,Cr,pr,Ir,yr,Er,Dr,Lr=0,xr=0,Sr=0,Br=0,Mr=0,Fr=0,_r=0,Pr=0,Rr=0,Tr=0,Gr=0,Or=0,qr=0,Yr=0,Ur=0,zr=0,Wr=0,Xr=0;if(i=0|o[(r|=0)+4>>2],Lr=0|o[r>>2],t=(xr=0|o[e+2264>>2])+40|0,A=xr+584|0,n[xr+39>>0]=-127,n[xr+71>>0]=-127,n[xr+103>>0]=-127,n[xr+135>>0]=-127,n[xr+167>>0]=-127,n[xr+199>>0]=-127,n[xr+231>>0]=-127,n[xr+263>>0]=-127,n[xr+295>>0]=-127,n[xr+327>>0]=-127,n[xr+359>>0]=-127,n[xr+391>>0]=-127,n[xr+423>>0]=-127,n[xr+455>>0]=-127,n[xr+487>>0]=-127,n[xr+519>>0]=-127,u=xr+600|0,n[xr+583>>0]=-127,n[xr+599>>0]=-127,n[xr+615>>0]=-127,n[xr+631>>0]=-127,n[xr+647>>0]=-127,n[xr+663>>0]=-127,n[xr+679>>0]=-127,n[xr+695>>0]=-127,n[xr+711>>0]=-127,n[xr+727>>0]=-127,n[xr+743>>0]=-127,n[xr+759>>0]=-127,n[xr+775>>0]=-127,n[xr+791>>0]=-127,n[xr+807>>0]=-127,n[xr+823>>0]=-127,s=(0|i)>0)n[xr+567>>0]=-127,n[xr+551>>0]=-127,n[xr+7>>0]=-127;else{Br=(Sr=xr+7|0)+21|0;do{n[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|Br));Br=(Sr=xr+551|0)+9|0;do{n[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|Br));Br=(Sr=xr+567|0)+9|0;do{n[Sr>>0]=127,Sr=Sr+1|0}while((0|Sr)<(0|Br))}if(!((0|o[(c=e+288|0)>>2])<=0)){d=r+16|0,r=e+2252|0,v=xr+8|0,g=xr+552|0,b=xr+568|0,h=xr+24|0,w=xr+408|0,k=xr+280|0,m=xr+152|0,C=(Mr=0==(0|i))?6:5,p=Mr?4:0,Mr=e+292|0,I=xr+520|0,y=xr+808|0,E=xr+824|0,D=Lr<<4,L=e+2280|0,x=Lr<<3,Lr=e+2284|0,S=e+2268|0,B=e+2272|0,M=e+2276|0,e=xr+4|0,F=xr+20|0,_=xr+36|0,P=xr+52|0,R=xr+68|0,T=xr+84|0,G=xr+100|0,O=xr+116|0,q=xr+132|0,Y=xr+148|0,U=xr+164|0,z=xr+180|0,W=xr+196|0,X=xr+212|0,Q=xr+228|0,N=xr+244|0,V=xr+260|0,H=xr+276|0,Z=xr+292|0,j=xr+308|0,K=xr+324|0,J=xr+340|0,$=xr+356|0,ee=xr+372|0,re=xr+388|0,ie=xr+404|0,ne=xr+420|0,te=xr+436|0,oe=xr+452|0,ae=xr+468|0,fe=xr+484|0,Ae=xr+500|0,ue=xr+516|0,se=xr+532|0,le=xr+548|0,ce=xr+556|0,de=xr+564|0,ve=xr+572|0,ge=xr+580|0,be=xr+588|0,he=xr+596|0,we=xr+604|0,ke=xr+612|0,me=xr+620|0,Ce=xr+628|0,pe=xr+636|0,Ie=xr+644|0,ye=xr+652|0,Ee=xr+660|0,De=xr+668|0,Le=xr+676|0,xe=xr+684|0,Se=xr+692|0,Be=xr+700|0,Me=xr+708|0,Fe=xr+716|0,_e=xr+724|0,Pe=xr+732|0,Re=xr+740|0,Te=xr+748|0,Ge=xr+756|0,Oe=xr+764|0,qe=xr+772|0,Ye=xr+780|0,Ue=xr+788|0,ze=xr+796|0,We=xr+804|0,Xe=xr+812|0,Qe=xr+820|0,Ne=xr+828|0,Ve=xr+72|0,He=xr+104|0,Ze=xr+136|0,je=xr+168|0,Ke=xr+200|0,Je=xr+232|0,$e=xr+264|0,er=xr+296|0,rr=xr+328|0,ir=xr+360|0,nr=xr+392|0,tr=xr+424|0,or=xr+456|0,ar=xr+488|0,fr=xr+520|0,dr=xr+616|0,vr=xr+632|0,gr=xr+648|0,br=xr+664|0,hr=xr+680|0,wr=xr+696|0,kr=xr+712|0,mr=xr+728|0,Cr=xr+744|0,pr=xr+760|0,Ir=xr+776|0,yr=xr+792|0,Er=xr+808|0,Dr=xr+824|0,xr=0;do{if(Fr=0|o[d>>2],(_r=0==(0|xr))||(Pr=a[F>>0]|a[F+1>>0]<<8|a[F+2>>0]<<16|a[F+3>>0]<<24,n[e>>0]=Pr,n[e+1>>0]=Pr>>8,n[e+2>>0]=Pr>>16,n[e+3>>0]=Pr>>24,Pr=a[P>>0]|a[P+1>>0]<<8|a[P+2>>0]<<16|a[P+3>>0]<<24,n[_>>0]=Pr,n[_+1>>0]=Pr>>8,n[_+2>>0]=Pr>>16,n[_+3>>0]=Pr>>24,Pr=a[T>>0]|a[T+1>>0]<<8|a[T+2>>0]<<16|a[T+3>>0]<<24,n[R>>0]=Pr,n[R+1>>0]=Pr>>8,n[R+2>>0]=Pr>>16,n[R+3>>0]=Pr>>24,Pr=a[O>>0]|a[O+1>>0]<<8|a[O+2>>0]<<16|a[O+3>>0]<<24,n[G>>0]=Pr,n[G+1>>0]=Pr>>8,n[G+2>>0]=Pr>>16,n[G+3>>0]=Pr>>24,Pr=a[Y>>0]|a[Y+1>>0]<<8|a[Y+2>>0]<<16|a[Y+3>>0]<<24,n[q>>0]=Pr,n[q+1>>0]=Pr>>8,n[q+2>>0]=Pr>>16,n[q+3>>0]=Pr>>24,Pr=a[z>>0]|a[z+1>>0]<<8|a[z+2>>0]<<16|a[z+3>>0]<<24,n[U>>0]=Pr,n[U+1>>0]=Pr>>8,n[U+2>>0]=Pr>>16,n[U+3>>0]=Pr>>24,Pr=a[X>>0]|a[X+1>>0]<<8|a[X+2>>0]<<16|a[X+3>>0]<<24,n[W>>0]=Pr,n[W+1>>0]=Pr>>8,n[W+2>>0]=Pr>>16,n[W+3>>0]=Pr>>24,Pr=a[N>>0]|a[N+1>>0]<<8|a[N+2>>0]<<16|a[N+3>>0]<<24,n[Q>>0]=Pr,n[Q+1>>0]=Pr>>8,n[Q+2>>0]=Pr>>16,n[Q+3>>0]=Pr>>24,Pr=a[H>>0]|a[H+1>>0]<<8|a[H+2>>0]<<16|a[H+3>>0]<<24,n[V>>0]=Pr,n[V+1>>0]=Pr>>8,n[V+2>>0]=Pr>>16,n[V+3>>0]=Pr>>24,Pr=a[j>>0]|a[j+1>>0]<<8|a[j+2>>0]<<16|a[j+3>>0]<<24,n[Z>>0]=Pr,n[Z+1>>0]=Pr>>8,n[Z+2>>0]=Pr>>16,n[Z+3>>0]=Pr>>24,Pr=a[J>>0]|a[J+1>>0]<<8|a[J+2>>0]<<16|a[J+3>>0]<<24,n[K>>0]=Pr,n[K+1>>0]=Pr>>8,n[K+2>>0]=Pr>>16,n[K+3>>0]=Pr>>24,Pr=a[ee>>0]|a[ee+1>>0]<<8|a[ee+2>>0]<<16|a[ee+3>>0]<<24,n[$>>0]=Pr,n[$+1>>0]=Pr>>8,n[$+2>>0]=Pr>>16,n[$+3>>0]=Pr>>24,Pr=a[ie>>0]|a[ie+1>>0]<<8|a[ie+2>>0]<<16|a[ie+3>>0]<<24,n[re>>0]=Pr,n[re+1>>0]=Pr>>8,n[re+2>>0]=Pr>>16,n[re+3>>0]=Pr>>24,Pr=a[te>>0]|a[te+1>>0]<<8|a[te+2>>0]<<16|a[te+3>>0]<<24,n[ne>>0]=Pr,n[ne+1>>0]=Pr>>8,n[ne+2>>0]=Pr>>16,n[ne+3>>0]=Pr>>24,Pr=a[ae>>0]|a[ae+1>>0]<<8|a[ae+2>>0]<<16|a[ae+3>>0]<<24,n[oe>>0]=Pr,n[oe+1>>0]=Pr>>8,n[oe+2>>0]=Pr>>16,n[oe+3>>0]=Pr>>24,Pr=a[Ae>>0]|a[Ae+1>>0]<<8|a[Ae+2>>0]<<16|a[Ae+3>>0]<<24,n[fe>>0]=Pr,n[fe+1>>0]=Pr>>8,n[fe+2>>0]=Pr>>16,n[fe+3>>0]=Pr>>24,Pr=a[se>>0]|a[se+1>>0]<<8|a[se+2>>0]<<16|a[se+3>>0]<<24,n[ue>>0]=Pr,n[ue+1>>0]=Pr>>8,n[ue+2>>0]=Pr>>16,n[ue+3>>0]=Pr>>24,Pr=a[ce>>0]|a[ce+1>>0]<<8|a[ce+2>>0]<<16|a[ce+3>>0]<<24,n[le>>0]=Pr,n[le+1>>0]=Pr>>8,n[le+2>>0]=Pr>>16,n[le+3>>0]=Pr>>24,Pr=a[ve>>0]|a[ve+1>>0]<<8|a[ve+2>>0]<<16|a[ve+3>>0]<<24,n[de>>0]=Pr,n[de+1>>0]=Pr>>8,n[de+2>>0]=Pr>>16,n[de+3>>0]=Pr>>24,Pr=a[be>>0]|a[be+1>>0]<<8|a[be+2>>0]<<16|a[be+3>>0]<<24,n[ge>>0]=Pr,n[ge+1>>0]=Pr>>8,n[ge+2>>0]=Pr>>16,n[ge+3>>0]=Pr>>24,Pr=a[we>>0]|a[we+1>>0]<<8|a[we+2>>0]<<16|a[we+3>>0]<<24,n[he>>0]=Pr,n[he+1>>0]=Pr>>8,n[he+2>>0]=Pr>>16,n[he+3>>0]=Pr>>24,Pr=a[me>>0]|a[me+1>>0]<<8|a[me+2>>0]<<16|a[me+3>>0]<<24,n[ke>>0]=Pr,n[ke+1>>0]=Pr>>8,n[ke+2>>0]=Pr>>16,n[ke+3>>0]=Pr>>24,Pr=a[pe>>0]|a[pe+1>>0]<<8|a[pe+2>>0]<<16|a[pe+3>>0]<<24,n[Ce>>0]=Pr,n[Ce+1>>0]=Pr>>8,n[Ce+2>>0]=Pr>>16,n[Ce+3>>0]=Pr>>24,Pr=a[ye>>0]|a[ye+1>>0]<<8|a[ye+2>>0]<<16|a[ye+3>>0]<<24,n[Ie>>0]=Pr,n[Ie+1>>0]=Pr>>8,n[Ie+2>>0]=Pr>>16,n[Ie+3>>0]=Pr>>24,Pr=a[De>>0]|a[De+1>>0]<<8|a[De+2>>0]<<16|a[De+3>>0]<<24,n[Ee>>0]=Pr,n[Ee+1>>0]=Pr>>8,n[Ee+2>>0]=Pr>>16,n[Ee+3>>0]=Pr>>24,Pr=a[xe>>0]|a[xe+1>>0]<<8|a[xe+2>>0]<<16|a[xe+3>>0]<<24,n[Le>>0]=Pr,n[Le+1>>0]=Pr>>8,n[Le+2>>0]=Pr>>16,n[Le+3>>0]=Pr>>24,Pr=a[Be>>0]|a[Be+1>>0]<<8|a[Be+2>>0]<<16|a[Be+3>>0]<<24,n[Se>>0]=Pr,n[Se+1>>0]=Pr>>8,n[Se+2>>0]=Pr>>16,n[Se+3>>0]=Pr>>24,Pr=a[Fe>>0]|a[Fe+1>>0]<<8|a[Fe+2>>0]<<16|a[Fe+3>>0]<<24,n[Me>>0]=Pr,n[Me+1>>0]=Pr>>8,n[Me+2>>0]=Pr>>16,n[Me+3>>0]=Pr>>24,Pr=a[Pe>>0]|a[Pe+1>>0]<<8|a[Pe+2>>0]<<16|a[Pe+3>>0]<<24,n[_e>>0]=Pr,n[_e+1>>0]=Pr>>8,n[_e+2>>0]=Pr>>16,n[_e+3>>0]=Pr>>24,Pr=a[Te>>0]|a[Te+1>>0]<<8|a[Te+2>>0]<<16|a[Te+3>>0]<<24,n[Re>>0]=Pr,n[Re+1>>0]=Pr>>8,n[Re+2>>0]=Pr>>16,n[Re+3>>0]=Pr>>24,Pr=a[Oe>>0]|a[Oe+1>>0]<<8|a[Oe+2>>0]<<16|a[Oe+3>>0]<<24,n[Ge>>0]=Pr,n[Ge+1>>0]=Pr>>8,n[Ge+2>>0]=Pr>>16,n[Ge+3>>0]=Pr>>24,Pr=a[Ye>>0]|a[Ye+1>>0]<<8|a[Ye+2>>0]<<16|a[Ye+3>>0]<<24,n[qe>>0]=Pr,n[qe+1>>0]=Pr>>8,n[qe+2>>0]=Pr>>16,n[qe+3>>0]=Pr>>24,Pr=a[ze>>0]|a[ze+1>>0]<<8|a[ze+2>>0]<<16|a[ze+3>>0]<<24,n[Ue>>0]=Pr,n[Ue+1>>0]=Pr>>8,n[Ue+2>>0]=Pr>>16,n[Ue+3>>0]=Pr>>24,Pr=a[Xe>>0]|a[Xe+1>>0]<<8|a[Xe+2>>0]<<16|a[Xe+3>>0]<<24,n[We>>0]=Pr,n[We+1>>0]=Pr>>8,n[We+2>>0]=Pr>>16,n[We+3>>0]=Pr>>24,Pr=a[Ne>>0]|a[Ne+1>>0]<<8|a[Ne+2>>0]<<16|a[Ne+3>>0]<<24,n[Qe>>0]=Pr,n[Qe+1>>0]=Pr>>8,n[Qe+2>>0]=Pr>>16,n[Qe+3>>0]=Pr>>24),Rr=(Pr=0|o[r>>2])+(xr<<5)|0,Tr=0|o[Fr+(800*xr|0)+788>>2],s){Gr=Rr,Br=(Sr=v)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Yr=a[(qr=Or=Pr+(xr<<5)+16|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,Or=a[(qr=Or+4|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,n[(Ur=qr=g)>>0]=Yr,n[Ur+1>>0]=Yr>>8,n[Ur+2>>0]=Yr>>16,n[Ur+3>>0]=Yr>>24,n[(Yr=qr+4|0)>>0]=Or,n[Yr+1>>0]=Or>>8,n[Yr+2>>0]=Or>>16,n[Yr+3>>0]=Or>>24,qr=a[(Yr=Or=Pr+(xr<<5)+24|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Or=a[(Yr=Or+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,n[(Ur=Yr=b)>>0]=qr,n[Ur+1>>0]=qr>>8,n[Ur+2>>0]=qr>>16,n[Ur+3>>0]=qr>>24,n[(qr=Yr+4|0)>>0]=Or,n[qr+1>>0]=Or>>8,n[qr+2>>0]=Or>>16,n[qr+3>>0]=Or>>24}e:do{if(0|n[Fr+(800*xr|0)+768>>0]){do{if(s){if((0|xr)<((0|o[c>>2])-1|0)){qr=a[(Or=Rr+32|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,n[h>>0]=qr,n[h+1>>0]=qr>>8,n[h+2>>0]=qr>>16,n[h+3>>0]=qr>>24,Xr=qr;break}Oi(0|h,0|(qr=0|n[Pr+(xr<<5)+15>>0]),4),Xr=(qr=(Or=255&qr)<<8|Or)|qr<<16;break}Xr=0|o[h>>2]}while(0);for(o[w>>2]=Xr,o[k>>2]=Xr,o[m>>2]=Xr,qr=Tr,Or=0;;){switch(Yr=t+(0|f[4112+(Or<<1)>>1])|0,Ki[31&o[9376+((255&n[Fr+(800*xr|0)+769+Or>>0])<<2)>>2]](Yr),Wr=Fr+(800*xr|0)+(Or<<4<<1)|0,qr>>>30&3){case 3:Ar(Wr,Yr,0);break;case 2:sr(Wr,Yr);break;case 1:ur(Wr,Yr)}if(16==(0|(Or=Or+1|0)))break;qr<<=2}zr=_r?C:p}else if(Or=0|n[Fr+(800*xr|0)+769>>0],qr=_r?C:p,Ki[31&o[9344+((Or<<24>>24==0?qr:255&Or)<<2)>>2]](t),Tr)for(Or=Tr,Yr=0;;){switch(Ur=Fr+(800*xr|0)+(Yr<<4<<1)|0,Wr=t+(0|f[4112+(Yr<<1)>>1])|0,Or>>>30&3){case 3:Ar(Ur,Wr,0);break;case 2:sr(Ur,Wr);break;case 1:ur(Ur,Wr)}if(16==(0|(Yr=Yr+1|0))){zr=qr;break e}Or<<=2}else zr=qr}while(0);_r=0|o[Fr+(800*xr|0)+792>>2],Tr=0|n[Fr+(800*xr|0)+785>>0],Ki[31&o[(qr=9424+((Tr<<24>>24==0?zr:255&Tr)<<2)|0)>>2]](A),Ki[31&o[qr>>2]](u),qr=Fr+(800*xr|0)+512|0;do{if(255&_r|0){if(170&_r){lr(qr,A);break}cr(qr,A);break}}while(0);qr=Fr+(800*xr|0)+640|0;do{if(65280&_r|0){if(43520&_r){lr(qr,u);break}cr(qr,u);break}}while(0);if((0|i)<((0|o[Mr>>2])-1|0)){Gr=I,Br=(Sr=Rr)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));_r=a[(qr=Rr=y)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,Rr=a[(qr=Rr+4|0)>>0]|a[qr+1>>0]<<8|a[qr+2>>0]<<16|a[qr+3>>0]<<24,n[(Fr=qr=Pr+(xr<<5)+16|0)>>0]=_r,n[Fr+1>>0]=_r>>8,n[Fr+2>>0]=_r>>16,n[Fr+3>>0]=_r>>24,n[(_r=qr+4|0)>>0]=Rr,n[_r+1>>0]=Rr>>8,n[_r+2>>0]=Rr>>16,n[_r+3>>0]=Rr>>24,qr=a[(_r=Rr=E)>>0]|a[_r+1>>0]<<8|a[_r+2>>0]<<16|a[_r+3>>0]<<24,Rr=a[(_r=Rr+4|0)>>0]|a[_r+1>>0]<<8|a[_r+2>>0]<<16|a[_r+3>>0]<<24,n[(Fr=_r=Pr+(xr<<5)+24|0)>>0]=qr,n[Fr+1>>0]=qr>>8,n[Fr+2>>0]=qr>>16,n[Fr+3>>0]=qr>>24,n[(qr=_r+4|0)>>0]=Rr,n[qr+1>>0]=Rr>>8,n[qr+2>>0]=Rr>>16,n[qr+3>>0]=Rr>>24}Rr=0|l(D,0|o[L>>2]),qr=0|o[Lr>>2],_r=(0|o[S>>2])+(xr<<4)+Rr|0,Rr=xr<<3,Fr=(0|o[B>>2])+Rr|0,Tr=(0|o[M>>2])+Rr|0,Gr=t,Br=(Sr=_r)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=Ve,Br=(Sr=_r+(0|o[L>>2])|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=He,Br=(Sr=_r+(o[L>>2]<<1)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=Ze,Br=(Sr=_r+(3*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=je,Br=(Sr=_r+(o[L>>2]<<2)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=Ke,Br=(Sr=_r+(5*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=Je,Br=(Sr=_r+(6*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=$e,Br=(Sr=_r+(7*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=er,Br=(Sr=_r+(o[L>>2]<<3)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=rr,Br=(Sr=_r+(9*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=ir,Br=(Sr=_r+(10*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=nr,Br=(Sr=_r+(11*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=tr,Br=(Sr=_r+(12*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=or,Br=(Sr=_r+(13*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=ar,Br=(Sr=_r+(14*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Gr=fr,Br=(Sr=_r+(15*(0|o[L>>2])|0)|0)+16|0;do{n[Sr>>0]=0|n[Gr>>0],Sr=Sr+1|0,Gr=Gr+1|0}while((0|Sr)<(0|Br));Pr=Fr+(_r=0|l(qr,x))|0,Rr=Tr+_r|0,Yr=a[(Or=_r=A)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,n[(Wr=Or=Pr)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=u)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,n[(Wr=Yr=Rr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=dr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(0|o[Lr>>2])|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=vr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(0|o[Lr>>2])|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=gr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(o[Lr>>2]<<1)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=br)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(o[Lr>>2]<<1)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=hr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(3*(0|o[Lr>>2])|0)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=wr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(3*(0|o[Lr>>2])|0)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=kr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(o[Lr>>2]<<2)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=mr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(o[Lr>>2]<<2)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=Cr)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(5*(0|o[Lr>>2])|0)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=pr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(5*(0|o[Lr>>2])|0)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=Ir)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(6*(0|o[Lr>>2])|0)|0,n[(Wr=Or)>>0]=Yr,n[Wr+1>>0]=Yr>>8,n[Wr+2>>0]=Yr>>16,n[Wr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=yr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(6*(0|o[Lr>>2])|0)|0,n[(Wr=Yr)>>0]=Or,n[Wr+1>>0]=Or>>8,n[Wr+2>>0]=Or>>16,n[Wr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,Yr=a[(Or=_r=Er)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,_r=a[(Or=_r+4|0)>>0]|a[Or+1>>0]<<8|a[Or+2>>0]<<16|a[Or+3>>0]<<24,Or=Pr+(7*(0|o[Lr>>2])|0)|0,n[(Pr=Or)>>0]=Yr,n[Pr+1>>0]=Yr>>8,n[Pr+2>>0]=Yr>>16,n[Pr+3>>0]=Yr>>24,n[(Yr=Or+4|0)>>0]=_r,n[Yr+1>>0]=_r>>8,n[Yr+2>>0]=_r>>16,n[Yr+3>>0]=_r>>24,Or=a[(Yr=_r=Dr)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,_r=a[(Yr=_r+4|0)>>0]|a[Yr+1>>0]<<8|a[Yr+2>>0]<<16|a[Yr+3>>0]<<24,Yr=Rr+(7*(0|o[Lr>>2])|0)|0,n[(Rr=Yr)>>0]=Or,n[Rr+1>>0]=Or>>8,n[Rr+2>>0]=Or>>16,n[Rr+3>>0]=Or>>24,n[(Or=Yr+4|0)>>0]=_r,n[Or+1>>0]=_r>>8,n[Or+2>>0]=_r>>16,n[Or+3>>0]=_r>>24,xr=xr+1|0}while((0|xr)<(0|o[c>>2]))}}function nr(e,r){r|=0;var i,t,f,A,u,s,c,d,v,g,b,h,w,k,m,C,p,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0;if(i=O,O=O+64|0,t=i,A=0|o[(f=(e|=0)+160|0)>>2],y=0|a[8708+(0|o[(I=e+2308|0)>>2])>>0],E=0|o[(u=e+2280|0)>>2],s=0|l(E,y),D=0|o[(c=e+2284|0)>>2],d=0|l(y>>>1,D),L=0|l(E,A<<4),E=0|l(D,A<<3),v=0-s|0,g=(0|o[(D=e+2268|0)>>2])+v+L|0,h=0-d|0,w=(0|o[(b=e+2272|0)>>2])+h+E|0,m=(0|o[(k=e+2276|0)>>2])+h+E|0,S=0==(0|(C=0|o[(x=e+164|0)>>2])),p=(0|C)>=((0|o[e+308>>2])-1|0),2==(0|o[e+148>>2])&&ir(e,f),0|o[e+168>>2]&&(0|(B=0|o[e+296>>2]))<(0|o[(M=e+304|0)>>2])){F=e+172|0,_=(0|o[x>>2])>0,x=B;do{B=0|o[f>>2],P=0|o[u>>2],R=0|o[F>>2],T=(0|o[D>>2])+(0|l(B<<4,P))+(x<<4)|0,G=0|a[R+(x<<2)+1>>0],Y=255&(q=0|n[R+(x<<2)>>0]);do{if(q<<24>>24){if(1==(0|o[I>>2])){if((0|x)>0&&kr(T,P,Y+4|0),0|n[(U=R+(x<<2)+2|0)>>0]&&Cr(T,P,Y),_&&wr(T,P,Y+4|0),!(0|n[U>>0]))break;mr(T,P,Y);break}if(U=0|o[c>>2],z=0|l(U,B<<3),W=x<<3,X=(0|o[b>>2])+z+W|0,N=(0|o[k>>2])+z+W|0,W=0|a[R+(x<<2)+3>>0],z=Y+4|0,(0|x)>0&&(gr(T,P,z,G,W),Ir(X,N,U,z,G,W)),0|n[(V=R+(x<<2)+2|0)>>0]&&(pr(T,P,Y,G,W),yr(X,N,U,Y,G,W)),_&&(dr(T,P,z,G,W),br(X,N,U,z,G,W)),!(0|n[V>>0]))break;vr(T,P,Y,G,W),hr(X,N,U,Y,G,W);break}}while(0);x=x+1|0}while((0|x)<(0|o[M>>2]))}if(0|o[e+540>>2]&&(0|(M=0|o[e+296>>2]))<(0|(_=0|o[(x=e+304|0)>>2])))for(I=e+176|0,F=e+544|0,G=e+548|0,Y=M,M=_;;){if(_=0|o[c>>2],P=(0|o[I>>2])+(800*Y|0)+796|0,(255&(T=0|n[P>>0]))>3){R=255&T,T=0|o[b>>2],B=0|l(o[f>>2]<<3,_),q=0|o[k>>2],W=0,U=0|o[F>>2],N=0|o[G>>2];do{V=(0|o[(X=e+552+(U<<2)|0)>>2])-(0|o[e+552+(N<<2)>>2])|0,o[X>>2]=2147483647&V,U=55==(0|(X=1+(0|o[F>>2])|0))?0:X,o[F>>2]=U,N=55==(0|(X=1+(0|o[G>>2])|0))?0:X,o[G>>2]=N,V=0|l((X=V<<1)>>24,R),n[t+W>>0]=128+(V>>>8),W=W+1|0}while(64!=(0|W));Er(t,T+B+(W=Y<<3)|0,_),R=0|a[P>>0],N=0,U=0|o[F>>2],V=0|o[G>>2];do{z=(0|o[(X=e+552+(U<<2)|0)>>2])-(0|o[e+552+(V<<2)>>2])|0,o[X>>2]=2147483647&z,U=55==(0|(X=1+(0|o[F>>2])|0))?0:X,o[F>>2]=U,V=55==(0|(X=1+(0|o[G>>2])|0))?0:X,o[G>>2]=V,z=0|l((X=z<<1)>>24,R),n[t+N>>0]=128+(z>>>8),N=N+1|0}while(64!=(0|N));Er(t,q+B+W|0,_),H=0|o[x>>2]}else H=M;if((0|(Y=Y+1|0))>=(0|H))break;M=H}if(0|o[(H=r+44|0)>>2]){if(M=C<<4,S?(o[r+20>>2]=(0|o[D>>2])+L,o[r+24>>2]=(0|o[b>>2])+E,Z=0,j=(0|o[k>>2])+E|0):(o[r+20>>2]=g,o[r+24>>2]=w,Z=M-y|0,j=m),o[r+28>>2]=j,M=(0|(j=M+16+(p?0:0-y|0)|0))>(0|(y=0|o[r+88>>2]))?y:j,o[(j=r+104|0)>>2]=0,0!=(0|o[e+2348>>2])&(0|M)>(0|Z)){if(y=0|Q(e,r,Z,M-Z|0),o[j>>2]=y,!y)return K=0|tr(e,3,8711),O=i,0|K;J=y}else J=0;(0|(y=0|o[r+84>>2]))>(0|Z)?(E=y-Z|0,L=0|l(0|o[u>>2],E),o[(S=r+20|0)>>2]=(0|o[S>>2])+L,L=0|l(0|o[c>>2],E>>1),o[(S=r+24|0)>>2]=(0|o[S>>2])+L,o[(S=r+28|0)>>2]=(0|o[S>>2])+L,J?(L=J+(0|l(0|o[r>>2],E))|0,o[j>>2]=L,$=y,ee=L):($=y,ee=0)):($=Z,ee=J),(0|M)>(0|$)?(J=0|o[r+76>>2],o[(Z=r+20|0)>>2]=(0|o[Z>>2])+J,Z=J>>1,o[(L=r+24|0)>>2]=(0|o[L>>2])+Z,o[(L=r+28|0)>>2]=(0|o[L>>2])+Z,0|ee&&(o[j>>2]=ee+J),o[r+8>>2]=$-y,o[r+12>>2]=(0|o[r+80>>2])-J,o[r+16>>2]=M-$,re=0|Vi[7&o[H>>2]](r)):re=1}else re=1;return p|(A+1|0)!=(0|o[e+156>>2])?(O=i,0|(K=re)):(Ti((0|o[D>>2])+v|0,g+(o[u>>2]<<4)|0,0|s),Ti((0|o[b>>2])+h|0,w+(o[c>>2]<<3)|0,0|d),Ti((0|o[k>>2])+h|0,m+(o[c>>2]<<3)|0,0|d),O=i,0|(K=re))}function tr(e,r,i){return r|=0,i|=0,0|o[(e|=0)>>2]||(o[e>>2]=r,o[e+8>>2]=i,o[e+4>>2]=0),0}function or(e,r){e|=0;var i=0,t=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0;if(0|(i=0|o[(r|=0)+48>>2])&&0==(0|Vi[7&i](r)))return tr(e,6,8740),0|(0|o[e>>2]);if(i=e+2308|0,0|o[r+68>>2]?(o[i>>2]=0,c=0,d=0,l=8):(t=0|o[i>>2],f=0|a[8708+t>>0],2==(0|t)?(o[e+296>>2]=0,A=f,u=2,s=e+300|0,l=11):(c=t,d=f,l=8)),8==(0|l)&&(i=(0|o[r+76>>2])-d|0,o[(f=e+296|0)>>2]=i>>4,t=(0|o[r+84>>2])-d|0,o[(v=e+300|0)>>2]=t>>4,(0|i)<0&&(o[f>>2]=0),(0|t)<0?(A=d,u=c,s=v,l=11):(g=d,b=c)),11==(0|l)&&(o[s>>2]=0,g=A,b=u),A=(g=(u=g+15|0)+(0|o[r+88>>2])|0)>>4,o[(g=e+308|0)>>2]=A,r=(s=u+(0|o[r+80>>2])|0)>>4,s=0|o[e+288>>2],o[e+304>>2]=(0|r)>(0|s)?s:r,(0|A)>(0|(r=0|o[e+292>>2]))&&(o[g>>2]=r),(0|b)<=0)return 0|0;b=e+60|0,r=e+68|0,g=e+72|0,A=e+64|0,s=e+88|0,u=e+112|0,l=0==(0|o[e+104>>2]),c=0;do{l?h=0|o[b>>2]:(d=0|n[e+120+c>>0],h=0|o[u>>2]?d:(0|o[b>>2])+d|0),0|o[r>>2]?(t=(0|(v=(0|(d=(0|o[g>>2])+h|0))<63?d:63))>0?v:0,(0|d)>0?(i=(f=(0|(v=0|o[A>>2]))>4?2:1)?t>>>f:t,f=9-v|0,i=(0|(w=(0|v)>0?(0|i)>(0|f)?f:i:t))>1?w:1,n[e+2312+(c<<3)+1>>0]=i,n[e+2312+(c<<3)+3>>0]=(0|t)>39?2:(0|t)>14&1,k=i+(t<<1)&255):k=0,n[e+2312+(c<<3)>>0]=k,n[e+2312+(c<<3)+2>>0]=0,i=(0|(d=(0|(t=(0|o[s>>2])+d|0))<63?t:63))>0?d:0,(0|t)>0?(w=(d=(0|(t=0|o[A>>2]))>4?2:1)?i>>>d:i,d=9-t|0,w=(0|(f=(0|t)>0?(0|w)>(0|d)?d:w:i))>1?f:1,n[e+2312+(c<<3)+5>>0]=w,n[e+2312+(c<<3)+7>>0]=(0|i)>39?2:(0|i)>14&1,m=w+(i<<1)&255):m=0):(w=(0|(i=(0|h)<63?h:63))>0?i:0,(0|h)>0?(d=(f=(0|(i=0|o[A>>2]))>4?2:1)?w>>>f:w,f=9-i|0,t=255&(d=(0|(t=(0|i)>0?(0|d)>(0|f)?f:d:w))>1?t:1),n[e+2312+(c<<3)+1>>0]=t,f=(0|w)>39?2:(0|w)>14&1,n[e+2312+(c<<3)+3>>0]=f,n[e+2312+(c<<3)+5>>0]=t,n[e+2312+(c<<3)+7>>0]=f,C=d+(w<<1)&255):C=0,n[e+2312+(c<<3)>>0]=C,n[e+2312+(c<<3)+2>>0]=0,m=C),n[e+2312+(c<<3)+4>>0]=m,n[e+2312+(c<<3)+6>>0]=1,c=c+1|0}while(4!=(0|c));return 0|0}function ar(e,r){r|=0;var i,n,t,A,u,s,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0;o[(i=(e|=0)+152|0)>>2]=0,c=e+148|0;do{if((0|o[c>>2])>0){if(0|Vi[7&o[(d=8144)>>2]](e+124|0)){o[e+136>>2]=e,o[e+140>>2]=e+180,o[e+132>>2]=20,d=(0|o[e+2308>>2])>0?3:2,o[e+156>>2]=d,v=d;break}if(0|tr(e,1,8759)){v=0|o[e+156>>2];break}return 0|0}o[e+156>>2]=1,v=1}while(0);if(n=(d=0|o[e+288>>2])<<2,b=d<<5,t=2+(d<<1)|0,w=0|o[(h=e+2308|0)>>2],k=0|o[c>>2],m=0|l((0|k)>0?2:1,n),C=(0|w)>0?m:0,m=0|l(800*d|0,2==(0|k)?2:1),A=0|l((3*((p=v<<4)+(0|a[8708+w>>0])|0)|0)/2|0,b),0|o[e+2348>>2]?(I=w=0|Li(0|f[e+50>>1],0,0|f[e+48>>1],0),y=0|g()):(I=0,y=0),w=0|xi(0|b,0,863,0),E=0|xi(0|w,0|g(),0|n,0),w=0|xi(0|E,0|g(),0|t,0),E=0|xi(0|w,0|g(),0|m,0),w=0|xi(0|E,0|g(),0|C,0),E=0|xi(0|w,0|g(),0|A,0),!((0|(w=0|xi(0|E,0|g(),0|I,0|y)))==(0|w)&0==(0|(E=0|g()))))return 0|0;u=e+2292|0,D=0|o[(s=e+2288|0)>>2];do{if(E>>>0>0|(0==(0|E)?w>>>0>(0|o[u>>2])>>>0:0)){if(Y(D),o[u>>2]=0,L=0|V(w,E,1),o[s>>2]=L,0|L){o[u>>2]=w,x=0|o[c>>2],S=L,B=13;break}if(0|tr(e,1,8789)){M=e+2276|0,F=e+2280|0,_=e+2284|0,P=e+2268|0,R=e+2272|0;break}return 0|0}x=k,S=D,B=13}while(0);return 13==(0|B)&&(o[(B=e+2244|0)>>2]=S,D=S+n|0,o[e+2252>>2]=D,b=(S=D+b|0)+2|0,o[e+2256>>2]=b,D=S+t|0,S=0==(0|C)?0:D,o[e+2260>>2]=S,o[e+160>>2]=0,o[e+172>>2]=(0|x)>0?S+(d<<2)|0:S,S=D+C+31&-32,o[e+2264>>2]=S,C=S+832|0,o[e+2304>>2]=C,o[(S=e+176|0)>>2]=C,2==(0|x)&&(o[S>>2]=C+(800*d|0)),S=C+m|0,m=d<<4,o[(C=e+2280|0)>>2]=m,x=d<<3,o[(d=e+2284|0)>>2]=x,D=0|a[8708+(0|o[h>>2])>>0],h=0|l(m,D),k=0|l(D>>>1,x),D=S+h|0,o[(h=e+2268|0)>>2]=D,c=D+(0|l(m,p))+k|0,o[(p=e+2272|0)>>2]=c,m=c+(0|l(v<<3,x))+k|0,o[(k=e+2276|0)>>2]=m,o[i>>2]=0,o[e+2364>>2]=0==(0|I)&0==(0|y)?0:S+A|0,Oi(b+-2|0,0,0|t),fr(e),Oi(0|o[B>>2],0,0|n),M=k,F=C,_=d,P=h,R=p),o[r+8>>2]=0,o[r+20>>2]=o[P>>2],o[r+24>>2]=o[R>>2],o[r+28>>2]=o[M>>2],o[r+32>>2]=o[F>>2],o[r+36>>2]=o[_>>2],o[r+104>>2]=0,function(){var e=0;if(0|ri(10140))return;0|o[2041]?(o[2344]=6,o[2345]=7,o[2346]=8,o[2348]=9,o[2350]=10,o[2347]=11,o[2349]=12,o[2351]=13,o[2352]=14,o[2353]=15,o[2336]=16,o[2337]=17,o[2338]=18,o[2339]=19,o[2340]=20,o[2341]=21,o[2342]=22,o[2356]=23,o[2357]=24,o[2358]=25,o[2359]=26,o[2360]=27,o[2361]=28,o[2362]=29,e=0|o[2485]):e=0;o[2041]=e,ii(10140)}(),0|1}function fr(e){var r;r=0|o[(e|=0)+2256>>2],n[r+-2>>0]=0,n[r+-1>>0]=0,o[e+2248>>2]=0,o[e+2296>>2]=0}function Ar(e,r,i){i|=0,xr(e|=0,r|=0),i&&xr(e+32|0,r+4|0)}function ur(e,r){r|=0;var i=0,o=0;i=(e=(i=4+(0|t[(e|=0)>>1])|0)>>3)+(0|a[r>>0])|0,n[r>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+1|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+2|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+3|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+32|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+33|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+34|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+35|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+64|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+65|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+66|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+67|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+96|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,o=e+(0|a[(i=r+97|0)>>0])|0,n[i>>0]=o>>>0>255?255+(o>>>31)|0:o,i=e+(0|a[(o=r+98|0)>>0])|0,n[o>>0]=i>>>0>255?255+(i>>>31)|0:i,r=e+(0|a[(i=r+99|0)>>0])|0,n[i>>0]=r>>>0>255?255+(r>>>31)|0:r}function sr(e,r){r|=0;var i=0,o=0,f=0,A=0,u=0,s=0,l=0,c=0;i=4+(0|t[(e|=0)>>1])|0,A=(f=35468*(o=0|t[e+8>>1])|0)>>16,u=((f=20091*o|0)>>16)+o|0,f=(e=35468*(o=0|t[e+2>>1])|0)>>16,s=((e=20091*o|0)>>16)+o|0,l=((e=(o=u+i|0)+s|0)>>3)+(0|a[r>>0])|0,n[r>>0]=l>>>0>255?255+(l>>>31)|0:l,c=((e=o+f|0)>>3)+(0|a[(l=r+1|0)>>0])|0,n[l>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((l=o-f|0)>>3)+(0|a[(c=r+2|0)>>0])|0,n[c>>0]=e>>>0>255?255+(e>>>31)|0:e,o=((c=o-s|0)>>3)+(0|a[(e=r+3|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,l=((c=s+(o=A+i|0)|0)>>3)+(0|a[(e=r+32|0)>>0])|0,n[e>>0]=l>>>0>255?255+(l>>>31)|0:l,c=((e=o+f|0)>>3)+(0|a[(l=r+33|0)>>0])|0,n[l>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((l=o-f|0)>>3)+(0|a[(c=r+34|0)>>0])|0,n[c>>0]=e>>>0>255?255+(e>>>31)|0:e,o=((c=o-s|0)>>3)+(0|a[(e=r+35|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,c=((e=s+(o=i-A|0)|0)>>3)+(0|a[(A=r+64|0)>>0])|0,n[A>>0]=c>>>0>255?255+(c>>>31)|0:c,e=((A=o+f|0)>>3)+(0|a[(c=r+65|0)>>0])|0,n[c>>0]=e>>>0>255?255+(e>>>31)|0:e,A=((c=o-f|0)>>3)+(0|a[(e=r+66|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((e=o-s|0)>>3)+(0|a[(A=r+67|0)>>0])|0,n[A>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((i=(o=i-u|0)+s|0)>>3)+(0|a[(u=r+96|0)>>0])|0,n[u>>0]=A>>>0>255?255+(A>>>31)|0:A,i=((u=o+f|0)>>3)+(0|a[(A=r+97|0)>>0])|0,n[A>>0]=i>>>0>255?255+(i>>>31)|0:i,f=((A=o-f|0)>>3)+(0|a[(i=r+98|0)>>0])|0,n[i>>0]=f>>>0>255?255+(f>>>31)|0:f,f=r+99|0,s=((r=o-s|0)>>3)+(0|a[f>>0])|0,n[f>>0]=s>>>0>255?255+(s>>>31)|0:s}function lr(e,r){Ar(e|=0,r|=0,1),Ar(e+64|0,r+128|0,1)}function cr(e,r){r|=0;var i=0;0|t[(e|=0)>>1]&&ur(e,r),0|t[(i=e+32|0)>>1]&&ur(i,r+4|0),0|t[(i=e+64|0)>>1]&&ur(i,r+128|0),0|t[(i=e+96|0)>>1]&&ur(i,r+132|0)}function dr(e,r,i,n,t){Lr(e|=0,r|=0,1,16,i|=0,n|=0,t|=0)}function vr(e,r,i,n,t){var o,a;Dr(a=(e|=0)+(o=(r|=0)<<2)|0,r,1,16,i|=0,n|=0,t|=0),Dr(e=a+o|0,r,1,16,i,n,t),Dr(e+o|0,r,1,16,i,n,t)}function gr(e,r,i,n,t){Lr(e|=0,1,r|=0,16,i|=0,n|=0,t|=0)}function br(e,r,i,n,t,o){r|=0,Lr(e|=0,i|=0,1,8,n|=0,t|=0,o|=0),Lr(r,i,1,8,n,t,o)}function hr(e,r,i,n,t,o){r|=0;var a;Dr((e|=0)+(a=(i|=0)<<2)|0,i,1,8,n|=0,t|=0,o|=0),Dr(r+a|0,i,1,8,n,t,o)}function wr(e,r,i){e|=0;var t,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0;t=(i|=0)<<1|1,i=0|l(r|=0,-2),f=0-r|0,A=0|o[2027],u=0|o[2024],s=0|o[2025],c=0|o[2026],d=0;do{b=0|a[(g=(v=e+d|0)+f|0)>>0],h=0|a[v>>0],w=(0|a[v+i>>0])-(0|a[v+r>>0])|0,((a[A+(b-h)>>0]<<2)+(0|a[A+w>>0])|0)<=(0|t)&&(k=(3*(h-b|0)|0)+(0|n[u+w>>0])|0,m=0|n[s+((w=k+4|0)>>3)>>0],w=k+3|0,n[g>>0]=0|n[c+((0|n[s+(w>>3)>>0])+b)>>0],n[v>>0]=0|n[c+(h-m)>>0]),d=d+1|0}while(16!=(0|d))}function kr(e,r,i){e|=0,r|=0;var t,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0;t=(i|=0)<<1|1,i=0|o[2027],f=0|o[2024],A=0|o[2025],u=0|o[2026],s=0;do{c=e+(0|l(s,r))|0,v=0|a[(d=c+-1|0)>>0],g=0|a[c>>0],b=(0|a[c+-2>>0])-(0|a[c+1>>0])|0,((a[i+(v-g)>>0]<<2)+(0|a[i+b>>0])|0)<=(0|t)&&(h=(3*(g-v|0)|0)+(0|n[f+b>>0])|0,w=0|n[A+((b=h+4|0)>>3)>>0],b=h+3|0,n[d>>0]=0|n[u+((0|n[A+(b>>3)>>0])+v)>>0],n[c>>0]=0|n[u+(g-w)>>0]),s=s+1|0}while(16!=(0|s))}function mr(e,r,i){e|=0;var t,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0;d=(r|=0)<<2,t=(i|=0)<<1|1,i=0|l(r,-2),f=0-r|0,A=0|o[2027],u=0|o[2024],s=0|o[2025],c=0|o[2026],v=e+d|0,e=0;do{h=0|a[(b=(g=v+e|0)+f|0)>>0],w=0|a[g>>0],k=(0|a[g+i>>0])-(0|a[g+r>>0])|0,((a[A+(h-w)>>0]<<2)+(0|a[A+k>>0])|0)<=(0|t)&&(m=(3*(w-h|0)|0)+(0|n[u+k>>0])|0,C=0|n[s+((k=m+4|0)>>3)>>0],k=m+3|0,n[b>>0]=0|n[c+((0|n[s+(k>>3)>>0])+h)>>0],n[g>>0]=0|n[c+(w-C)>>0]),e=e+1|0}while(16!=(0|e));e=v+d|0,v=0;do{g=0|a[(w=(C=e+v|0)+f|0)>>0],h=0|a[C>>0],k=(0|a[C+i>>0])-(0|a[C+r>>0])|0,((a[A+(g-h)>>0]<<2)+(0|a[A+k>>0])|0)<=(0|t)&&(b=(3*(h-g|0)|0)+(0|n[u+k>>0])|0,m=0|n[s+((k=b+4|0)>>3)>>0],k=b+3|0,n[w>>0]=0|n[c+((0|n[s+(k>>3)>>0])+g)>>0],n[C>>0]=0|n[c+(h-m)>>0]),v=v+1|0}while(16!=(0|v));v=e+d|0,d=0;do{h=0|a[(m=(e=v+d|0)+f|0)>>0],C=0|a[e>>0],g=(0|a[e+i>>0])-(0|a[e+r>>0])|0,((a[A+(h-C)>>0]<<2)+(0|a[A+g>>0])|0)<=(0|t)&&(k=(3*(C-h|0)|0)+(0|n[u+g>>0])|0,w=0|n[s+((g=k+4|0)>>3)>>0],g=k+3|0,n[m>>0]=0|n[c+((0|n[s+(g>>3)>>0])+h)>>0],n[e>>0]=0|n[c+(C-w)>>0]),d=d+1|0}while(16!=(0|d))}function Cr(e,r,i){e|=0,r|=0;var t,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0;t=(i|=0)<<1|1,i=0|o[2027],f=0|o[2024],A=0|o[2025],u=0|o[2026],s=e+4|0,c=0;do{d=s+(0|l(c,r))|0,g=0|a[(v=d+-1|0)>>0],b=0|a[d>>0],h=(0|a[d+-2>>0])-(0|a[d+1>>0])|0,((a[i+(g-b)>>0]<<2)+(0|a[i+h>>0])|0)<=(0|t)&&(w=(3*(b-g|0)|0)+(0|n[f+h>>0])|0,k=0|n[A+((h=w+4|0)>>3)>>0],h=w+3|0,n[v>>0]=0|n[u+((0|n[A+(h>>3)>>0])+g)>>0],n[d>>0]=0|n[u+(b-k)>>0]),c=c+1|0}while(16!=(0|c));c=e+8|0,s=0;do{k=c+(0|l(s,r))|0,d=0|a[(b=k+-1|0)>>0],g=0|a[k>>0],h=(0|a[k+-2>>0])-(0|a[k+1>>0])|0,((a[i+(d-g)>>0]<<2)+(0|a[i+h>>0])|0)<=(0|t)&&(v=(3*(g-d|0)|0)+(0|n[f+h>>0])|0,w=0|n[A+((h=v+4|0)>>3)>>0],h=v+3|0,n[b>>0]=0|n[u+((0|n[A+(h>>3)>>0])+d)>>0],n[k>>0]=0|n[u+(g-w)>>0]),s=s+1|0}while(16!=(0|s));s=e+12|0,e=0;do{c=s+(0|l(e,r))|0,g=0|a[(w=c+-1|0)>>0],k=0|a[c>>0],d=(0|a[c+-2>>0])-(0|a[c+1>>0])|0,((a[i+(g-k)>>0]<<2)+(0|a[i+d>>0])|0)<=(0|t)&&(h=(3*(k-g|0)|0)+(0|n[f+d>>0])|0,b=0|n[A+((d=h+4|0)>>3)>>0],d=h+3|0,n[w>>0]=0|n[u+((0|n[A+(d>>3)>>0])+g)>>0],n[c>>0]=0|n[u+(k-b)>>0]),e=e+1|0}while(16!=(0|e))}function pr(e,r,i,n,t){Dr((e|=0)+4|0,1,r|=0,16,i|=0,n|=0,t|=0),Dr(e+8|0,1,r,16,i,n,t),Dr(e+12|0,1,r,16,i,n,t)}function Ir(e,r,i,n,t,o){r|=0,Lr(e|=0,1,i|=0,8,n|=0,t|=0,o|=0),Lr(r,1,i,8,n,t,o)}function yr(e,r,i,n,t,o){r|=0,Dr((e|=0)+4|0,1,i|=0,8,n|=0,t|=0,o|=0),Dr(r+4|0,1,i,8,n,t,o)}function Er(e,r,i){e|=0,r|=0;var t=0,o=0,f=0,A=0,u=0,s=0,l=0;if(1!=(0|(i|=0)))for(f=r,r=0,t=e;o=((e=(0|a[t>>0])-120|0)>>4)+(0|a[f>>0])|0,n[f>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[t+1>>0])-120|0)>>4)+(0|a[(e=f+1|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[t+2>>0])-120|0)>>4)+(0|a[(e=f+2|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[t+3>>0])-120|0)>>4)+(0|a[(e=f+3|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[t+4>>0])-120|0)>>4)+(0|a[(e=f+4|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[t+5>>0])-120|0)>>4)+(0|a[(e=f+5|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,o=((A=(0|a[t+6>>0])-120|0)>>4)+(0|a[(e=f+6|0)>>0])|0,n[e>>0]=o>>>0>255?255+(o>>>31)|0:o,A=((o=(0|a[t+7>>0])-120|0)>>4)+(0|a[(e=f+7|0)>>0])|0,n[e>>0]=A>>>0>255?255+(A>>>31)|0:A,8!=(0|(r=r+1|0));)f=f+i|0,t=t+8|0;else for(t=r,o=0,f=e,A=0|n[r+6>>0];s=((u=(0|a[f>>0])-120|0)>>4)+(0|a[t>>0])|0,n[t>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+1>>0])-120|0)>>4)+(0|a[(u=t+1|0)>>0])|0,n[u>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((l=(0|a[f+2>>0])-120|0)>>4)+(0|a[(u=t+2|0)>>0])|0,n[u>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+3>>0])-120|0)>>4)+(0|a[(u=t+3|0)>>0])|0,n[u>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((l=(0|a[f+4>>0])-120|0)>>4)+(0|a[(u=t+4|0)>>0])|0,n[u>>0]=s>>>0>255?255+(s>>>31)|0:s,l=((s=(0|a[f+5>>0])-120|0)>>4)+(0|a[(u=t+5|0)>>0])|0,n[u>>0]=l>>>0>255?255+(l>>>31)|0:l,u=((l=(0|a[f+6>>0])-120|0)>>4)+(255&A)|0,n[t+6>>0]=u>>>0>255?255+(u>>>31)|0:u,A=255&((s=((u=(0|a[f+7>>0])-120|0)>>4)+(0|a[(l=t+7|0)>>0])|0)>>>0>255?255+(s>>>31)|0:s),n[l>>0]=A,8!=(0|(o=o+1|0));)t=t+i|0,f=f+8|0}function Dr(e,r,i,t,f,A,u){e|=0,r|=0,i|=0,A|=0,u|=0;var s,c,d,v,g,b,h,w,k,m,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0;if(s=(f|=0)<<1|1,!((0|(t|=0))<=0))for(f=0|l(r,-3),c=0|l(r,-2),d=0-r|0,v=r<<1,g=3*r|0,b=0|o[2027],h=0|l(r,-4),w=0|o[2024],k=0|o[2025],m=0|o[2026],C=e,e=t;;){t=e,e=e+-1|0,p=0|a[C+f>>0],y=0|a[(I=C+c|0)>>0],D=0|a[(E=C+d|0)>>0],L=0|a[C>>0],S=0|a[(x=C+r|0)>>0],B=0|a[C+v>>0],M=0|a[C+g>>0],F=y-S|0;do{if(((a[b+(D-L)>>0]<<2)+(0|a[b+F>>0])|0)<=(0|s)&&(0|a[b+((0|a[C+h>>0])-p)>>0])<=(0|A)&&(0|a[b+(p-y)>>0])<=(0|A)&&(0|(_=0|a[b+(y-D)>>0]))<=(0|A)&&(0|a[b+(M-B)>>0])<=(0|A)&&(0|a[b+(B-S)>>0])<=(0|A)&&(0|(P=0|a[b+(S-L)>>0]))<=(0|A)){if(R=3*(L-D|0)|0,(0|_)>(0|u)|(0|P)>(0|u)){P=R+(0|n[w+F>>0])|0,T=0|n[k+((_=P+4|0)>>3)>>0],_=P+3|0,n[E>>0]=0|n[m+((0|n[k+(_>>3)>>0])+D)>>0],n[C>>0]=0|n[m+(L-T)>>0];break}_=0|n[k+((T=R+4|0)>>3)>>0],R=0|n[k+((T=R+3|0)>>3)>>0],P=(T=_+1|0)>>1,n[I>>0]=0|n[m+(P+y)>>0],n[E>>0]=0|n[m+(R+D)>>0],n[C>>0]=0|n[m+(L-_)>>0],n[x>>0]=0|n[m+(S-P)>>0];break}}while(0);if((0|t)<=1)break;C=C+i|0}}function Lr(e,r,i,t,f,A,u){e|=0,r|=0,i|=0,A|=0,u|=0;var s,c,d,v,g,b,h,w,k,m,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0;if(s=(f|=0)<<1|1,!((0|(t|=0))<=0))for(f=0|l(r,-3),c=0|l(r,-2),d=0-r|0,v=r<<1,g=3*r|0,b=0|o[2027],h=0|l(r,-4),w=0|o[2024],k=0|o[2025],m=0|o[2026],C=e,e=t;;){t=e,e=e+-1|0,I=0|a[(p=C+f|0)>>0],E=0|a[(y=C+c|0)>>0],L=0|a[(D=C+d|0)>>0],x=0|a[C>>0],B=0|a[(S=C+r|0)>>0],F=0|a[(M=C+v|0)>>0],_=0|a[C+g>>0],P=E-B|0;do{if(((a[b+(L-x)>>0]<<2)+(0|a[b+P>>0])|0)<=(0|s)&&(0|a[b+((0|a[C+h>>0])-I)>>0])<=(0|A)&&(0|a[b+(I-E)>>0])<=(0|A)&&(0|(R=0|a[b+(E-L)>>0]))<=(0|A)&&(0|a[b+(_-F)>>0])<=(0|A)&&(0|a[b+(F-B)>>0])<=(0|A)&&(0|(T=0|a[b+(B-x)>>0]))<=(0|A)){if(G=(3*(x-L|0)|0)+(0|n[w+P>>0])|0,(0|R)>(0|u)|(0|T)>(0|u)){R=0|n[k+((T=G+4|0)>>3)>>0],T=G+3|0,n[D>>0]=0|n[m+((0|n[k+(T>>3)>>0])+L)>>0],n[C>>0]=0|n[m+(x-R)>>0];break}T=(G=63+(27*(R=0|n[w+G>>0])|0)|0)>>7,O=(G=63+(18*R|0)|0)>>7,R=(G=63+(9*R|0)|0)>>7,n[p>>0]=0|n[m+(R+I)>>0],n[y>>0]=0|n[m+(O+E)>>0],n[D>>0]=0|n[m+(T+L)>>0],n[C>>0]=0|n[m+(x-T)>>0],n[S>>0]=0|n[m+(B-O)>>0],n[M>>0]=0|n[m+(F-R)>>0];break}}while(0);if((0|t)<=1)break;C=C+i|0}}function xr(e,r){r|=0;var i,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0;i=O,O=O+64|0,f=i,A=0|t[(e|=0)>>1],s=(u=0|t[e+16>>1])+A|0,l=A-u|0,v=((A=35468*(u=0|t[e+8>>1])|0)>>16)-(c=0|t[e+24>>1])-((d=20091*c|0)>>16)|0,c=((d=20091*u|0)>>16)+u+((A=35468*c|0)>>16)|0,o[f>>2]=c+s,o[(A=f+4|0)>>2]=v+l,o[f+8>>2]=l-v,o[f+12>>2]=s-c,c=0|t[e+2>>1],v=(s=0|t[e+18>>1])+c|0,l=c-s|0,g=((c=35468*(s=0|t[e+10>>1])|0)>>16)-(u=0|t[e+26>>1])-((d=20091*u|0)>>16)|0,c=(u=((d=20091*s|0)>>16)+s+((c=35468*u|0)>>16)|0)+v|0,o[f+16>>2]=c,o[f+20>>2]=g+l,o[f+24>>2]=l-g,o[f+28>>2]=v-u,u=0|t[e+4>>1],g=(v=0|t[e+20>>1])+u|0,l=u-v|0,b=((u=35468*(v=0|t[e+12>>1])|0)>>16)-(s=0|t[e+28>>1])-((d=20091*s|0)>>16)|0,u=(s=((d=20091*v|0)>>16)+v+((u=35468*s|0)>>16)|0)+g|0,o[f+32>>2]=u,o[f+36>>2]=b+l,o[f+40>>2]=l-b,o[f+44>>2]=g-s,s=0|t[e+6>>1],b=(g=0|t[e+22>>1])+s|0,l=s-g|0,d=((s=35468*(g=0|t[e+14>>1])|0)>>16)-(v=0|t[e+30>>1])-((e=20091*v|0)>>16)|0,s=(v=((e=20091*g|0)>>16)+g+((s=35468*v|0)>>16)|0)+b|0,o[f+48>>2]=s,g=d+l|0,o[f+52>>2]=g,o[f+56>>2]=l-d,o[f+60>>2]=b-v,b=(v=4+(0|o[f>>2])|0)+u|0,d=v-u|0,l=((u=35468*c|0)>>16)-s-((v=20091*s|0)>>16)|0,c=((u=(s=((v=20091*c|0)>>16)+c+((u=35468*s|0)>>16)|0)+b|0)>>3)+(0|a[r>>0])|0,n[r>>0]=c>>>0>255?255+(c>>>31)|0:c,v=((u=l+d|0)>>3)+(0|a[(c=r+1|0)>>0])|0,n[c>>0]=v>>>0>255?255+(v>>>31)|0:v,l=((c=d-l|0)>>3)+(0|a[(v=r+2|0)>>0])|0,n[v>>0]=l>>>0>255?255+(l>>>31)|0:l,s=((v=b-s|0)>>3)+(0|a[(l=r+3|0)>>0])|0,n[l>>0]=s>>>0>255?255+(s>>>31)|0:s,s=r+32|0,v=(l=4+(0|o[A>>2])|0)+(A=0|o[f+36>>2])|0,b=l-A|0,d=((l=35468*(A=0|o[f+20>>2])|0)>>16)-g-((c=20091*g|0)>>16)|0,A=((l=(g=((c=20091*A|0)>>16)+A+((l=35468*g|0)>>16)|0)+v|0)>>3)+(0|a[s>>0])|0,n[s>>0]=A>>>0>255?255+(A>>>31)|0:A,l=((s=d+b|0)>>3)+(0|a[(A=r+33|0)>>0])|0,n[A>>0]=l>>>0>255?255+(l>>>31)|0:l,d=((A=b-d|0)>>3)+(0|a[(l=r+34|0)>>0])|0,n[l>>0]=d>>>0>255?255+(d>>>31)|0:d,g=((l=v-g|0)>>3)+(0|a[(d=r+35|0)>>0])|0,n[d>>0]=g>>>0>255?255+(g>>>31)|0:g,g=r+64|0,v=(d=4+(0|o[f+8>>2])|0)+(l=0|o[f+40>>2])|0,A=d-l|0,c=((d=35468*(l=0|o[f+24>>2])|0)>>16)-(b=0|o[f+56>>2])-((s=20091*b|0)>>16)|0,l=((d=(b=((s=20091*l|0)>>16)+l+((d=35468*b|0)>>16)|0)+v|0)>>3)+(0|a[g>>0])|0,n[g>>0]=l>>>0>255?255+(l>>>31)|0:l,d=((g=c+A|0)>>3)+(0|a[(l=r+65|0)>>0])|0,n[l>>0]=d>>>0>255?255+(d>>>31)|0:d,c=((l=A-c|0)>>3)+(0|a[(d=r+66|0)>>0])|0,n[d>>0]=c>>>0>255?255+(c>>>31)|0:c,b=((d=v-b|0)>>3)+(0|a[(c=r+67|0)>>0])|0,n[c>>0]=b>>>0>255?255+(b>>>31)|0:b,b=r+96|0,v=(c=4+(0|o[f+12>>2])|0)+(d=0|o[f+44>>2])|0,l=c-d|0,g=((c=35468*(d=0|o[f+28>>2])|0)>>16)-(A=0|o[f+60>>2])-((f=20091*A|0)>>16)|0,d=((c=(A=((f=20091*d|0)>>16)+d+((c=35468*A|0)>>16)|0)+v|0)>>3)+(0|a[b>>0])|0,n[b>>0]=d>>>0>255?255+(d>>>31)|0:d,c=((b=g+l|0)>>3)+(0|a[(d=r+97|0)>>0])|0,n[d>>0]=c>>>0>255?255+(c>>>31)|0:c,g=((d=l-g|0)>>3)+(0|a[(c=r+98|0)>>0])|0,n[c>>0]=g>>>0>255?255+(g>>>31)|0:g,g=r+99|0,A=((r=v-A|0)>>3)+(0|a[g>>0])|0,n[g>>0]=A>>>0>255?255+(A>>>31)|0:A,O=i}function Sr(e,r,i,n){r|=0;var t;if(0==(0|(e|=0))|0==(0|(i|=0))|512!=(-256&(n|=0)|0))return 0|2;t=(n=i)+40|0;do{o[n>>2]=0,n=n+4|0}while((0|n)<(0|t));return 0|(0|Br(e,r,i,i+4|0,i+8|0,i+12|0,i+16|0,0))}function Br(e,r,i,n,t,f,A,u){r|=0,i|=0,n|=0,t|=0,f|=0,A|=0,u|=0;var s,c,d,v,g,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0;if(s=O,O=O+16|0,d=s,v=e|=0,o[(c=s+4|0)>>2]=0,o[d>>2]=0,b=(g=0!=(0|u))?0|o[u+8>>2]:0,0==(0|e)|r>>>0<12)return O=s,0|(h=7);if(0|ai(e,8828,4))m=r,C=v,p=0,I=0;else{if(0|ai(e+8|0,8833,4))return O=s,0|(h=3);if(((w=(0|a[e+5>>0])<<8|0|a[e+4>>0]|((0|a[e+7>>0])<<8|0|a[e+6>>0])<<16)+-12|0)>>>0>4294967274)return O=s,0|(h=3);if((k=r+-12|0)>>>0<8|0!=(0|b)&w>>>0>(r+-8|0)>>>0)return O=s,0|(h=7);m=k,C=e+12|0,p=w,I=1}if(0|ai(w=C,8838,4))L=0,x=0,S=0,B=0,M=m,F=0,_=C,P=0,R=0;else{if(10!=((0|a[w+5>>0])<<8|0|a[w+4>>0]|((0|a[w+7>>0])<<8|0|a[w+6>>0])<<16|0))return O=s,0|(h=3);if(m>>>0<18)return O=s,0|(h=7);if(e=0|a[w+8>>0],k=1+((0|a[w+13>>0])<<8|0|a[w+12>>0]|(0|a[w+14>>0])<<16)|0,y=1+((0|a[w+16>>0])<<8|0|a[w+15>>0]|(0|a[w+17>>0])<<16)|0,E=0|l(k,y),!(D=0==(0|y))&&(0|(E>>>0)/((D?1:y)>>>0))!=(0|k))return O=s,0|(h=3);if(!I)return O=s,0|(h=3);L=e,x=1,S=y,B=k,M=m+-18|0,F=(D=2&e)>>>1,_=w+18|0,P=0!=(0|D),R=1}(C=0==(0|t))||(o[t>>2]=L>>>4&1),0|f&&(o[f>>2]=F),(f=0==(0|A))||(o[A>>2]=0),o[c>>2]=B,o[d>>2]=S,L=0==(0|u);e:do{if(L&R&P)ee=0;else{r:do{if(M>>>0>=4){I&0!=(0|x)?(T=_,G=25):0==(x|p|0)&&0==(0|ai(m=_,8843,4))?(T=m,G=25):(q=M,Y=_,U=0,z=0);i:do{if(25==(0|G)){if(M>>>0<8){W=0;break r}if(!p){for(m=T,D=M,w=_,k=0,y=0;;){if((e=(0|a[m+5>>0])<<8|0|a[m+4>>0]|((0|a[m+7>>0])<<8|0|a[m+6>>0])<<16)>>>0>4294967286){h=3;break}if(E=e+9&-2,!(0|ai(m,8848,4))){q=D,Y=w,U=k,z=y;break i}if(!(0|ai(m,8853,4))){q=D,Y=w,U=k,z=y;break i}if(D>>>0>>0){W=y;break r}if(Q=(X=0==(0|ai(m,8843,4)))?m+8|0:y,N=m+E|0,(V=D-E|0)>>>0<8){W=Q;break r}m=N,D=V,w=N,k=X?e:k,y=Q}return O=s,0|h}for(y=T,k=22,w=M,D=_,m=0,Q=0;;){if((e=(0|a[y+5>>0])<<8|0|a[y+4>>0]|((0|a[y+7>>0])<<8|0|a[y+6>>0])<<16)>>>0>4294967286){h=3,G=65;break}if((N=(X=e+9&-2)+k|0)>>>0>p>>>0){h=3,G=65;break}if(!(0|ai(y,8848,4))){q=w,Y=D,U=m,z=Q;break i}if(!(0|ai(y,8853,4))){q=w,Y=D,U=m,z=Q;break i}if(w>>>0>>0){W=Q;break r}if(E=(V=0==(0|ai(y,8843,4)))?y+8|0:Q,H=y+X|0,(Z=w-X|0)>>>0<8){W=E;break r}y=H,k=N,w=Z,D=H,m=V?e:m,Q=E}if(65==(0|G))return O=s,0|h}}while(0);if(D=1&(m=0==(0|ai(Q=Y,8853,4))),!(q>>>0<8)){if(m|0==(0|ai(Q,8848,4))){if(p>>>0>11&(m=(0|a[Q+5>>0])<<8|0|a[Q+4>>0]|((0|a[Q+7>>0])<<8|0|a[Q+6>>0])<<16)>>>0>(p+-12|0)>>>0)return O=s,0|(h=3);if(0!=(0|b)&m>>>0>(w=q+-8|0)>>>0){W=z;break}j=w,K=Q+8|0,J=m,$=D}else j=q,K=Y,J=q,$=0|Mr(Q,q);if(J>>>0>4294967286)return O=s,0|(h=3);if(f|0!=(0|F)||(o[A>>2]=0==(0|$)?1:2),$){if(j>>>0<5){W=z;break}if(!(0|_r(K,j,c,d,t)))return O=s,0|(h=3)}else{if(j>>>0<10){W=z;break}if(!(0|Fr(K,j,J,c,d)))return O=s,0|(h=3)}if(0|x&&((0|B)!=(0|o[c>>2])||(0|S)!=(0|o[d>>2])))return O=s,0|(h=3);if(!g){ee=z;break e}o[u>>2]=v,o[u+4>>2]=r,o[(Q=u+8|0)>>2]=0,o[Q+4>>2]=0,o[u+16>>2]=z,o[u+20>>2]=U,o[u+24>>2]=J,o[u+28>>2]=p,o[u+32>>2]=$,o[u+12>>2]=K-v,ee=z;break e}W=z}else W=0}while(0);if(!(L&0!=(0|x)))return O=s,0|(h=7);ee=W}}while(0);return C||(o[t>>2]=o[t>>2]|0!=(0|ee)),0|i&&(o[i>>2]=o[c>>2]),n?(o[n>>2]=o[d>>2],O=s,0|(h=0)):(O=s,0|(h=0))}function Mr(e,r){e|=0;return(r|=0)>>>0<=4||47!=(0|n[e>>0])?0|0:0|(0|a[e+4>>0])<32&1}function Fr(e,r,i,t,f){i|=0,t|=0,f|=0;var A,u,s;return 0==(0|(e|=0))|(r|=0)>>>0<10||-99!=(0|n[e+3>>0])||1!=(0|n[e+4>>0])||42!=(0|n[e+5>>0])?0|0:(r=0|a[e>>0],A=a[e+1>>0]<<8|r|a[e+2>>0]<<16,u=a[e+7>>0]<<8&16128|a[e+6>>0],s=a[e+9>>0]<<8&16128|a[e+8>>0],16==(25&r|0)&A>>>5>>>0>>0?0==(0|u)|0==(0|s)?0|0:(0|t&&(o[t>>2]=u),f?(o[f>>2]=s,0|1):0|1):0|0)}function _r(e,r,i,t,f){i|=0,t|=0,f|=0;var A,u,s=0,l=0;return A=O,O=O+32|0,u=A,0==(0|(e|=0))|(r|=0)>>>0<5||47!=(0|n[e>>0])||(0|a[e+4>>0])>31?(O=A,0|0):(pe(u,e,r),47==(0|ne(u,8))&&(r=1+(0|ne(u,14))|0,e=1+(0|ne(u,14))|0,s=0|ne(u,1),0==(0|ne(u,3)))&&0==(0|o[u+24>>2])?(0|i&&(o[i>>2]=r),0|t&&(o[t>>2]=e),f?(o[f>>2]=s,l=1):l=1):l=0,O=A,0|l)}function Pr(e,r){r|=0;var i,f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0;if(!(e|=0))return 0|0;if(o[e>>2]=0,o[(i=e+8|0)>>2]=8858,!r)return o[e>>2]=2,o[i>>2]=8861,o[e+4>>2]=0,0|0;if(u=0|o[r+64>>2],(s=0|o[r+60>>2])>>>0<4)return o[e>>2]=7,o[i>>2]=8898,o[e+4>>2]=0,0|0;if(l=0|a[u>>0],c=a[u+1>>0]<<8|l|a[u+2>>0]<<16,f=255&(1&l^1),n[(A=e+40|0)>>0]=f,d=l>>>1&7,n[e+41>>0]=d,v=l>>>4&1,n[e+42>>0]=v,l=c>>>5,o[(c=e+44|0)>>2]=l,(255&d)>3)return o[e>>2]=3,o[i>>2]=8916,o[e+4>>2]=0,0|0;if(!(v<<24>>24))return o[e>>2]=4,o[i>>2]=8947,o[e+4>>2]=0,0|0;v=u+3|0,d=s+-3|0;do{if(f<<24>>24){if(d>>>0<7)return o[e>>2]=7,o[i>>2]=8970,o[e+4>>2]=0,0|0;if(-99==(0|n[v>>0])&&1==(0|n[u+4>>0])&&42==(0|n[u+5>>0])){k=a[(w=u+7|0)>>0]<<8&16128|a[u+6>>0],t[e+48>>1]=k,m=0|n[w>>0],n[e+52>>0]=(255&m)>>>6,w=a[(m=u+9|0)>>0]<<8&16128|a[u+8>>0],t[e+50>>1]=w,C=0|n[m>>0],n[e+53>>0]=(255&C)>>>6,C=k+15|0,o[e+288>>2]=C>>>4,C=w+15|0,o[e+292>>2]=C>>>4,o[r>>2]=k,o[r+4>>2]=w,o[r+72>>2]=0,o[r+84>>2]=0,o[r+76>>2]=0,o[r+80>>2]=k,o[r+88>>2]=w,o[r+92>>2]=0,o[r+96>>2]=k,o[r+100>>2]=w,o[r+12>>2]=k,o[r+16>>2]=w,Ur(e+904|0),o[e+104>>2]=0,o[e+108>>2]=0,o[e+112>>2]=1,o[e+116>>2]=0,o[e+120>>2]=0,g=u+10|0,b=s+-10|0,h=0|o[c>>2];break}return o[e>>2]=3,o[i>>2]=8998,o[e+4>>2]=0,0|0}g=v,b=d,h=l}while(0);if(h>>>0>b>>>0)return 0|o[e>>2]||(o[e>>2]=7,o[i>>2]=9012,o[e+4>>2]=0),0|0;if(zr(s=e+12|0,g,h),c=g+(h=0|o[c>>2])|0,u=b-h|0,0|n[A>>0]&&(h=255&(0|Wr(s,1)),n[e+54>>0]=h,h=255&(0|Wr(s,1)),n[e+55>>0]=h),h=0|Wr(s,1),o[e+104>>2]=h,h?(h=0|Wr(s,1),o[(r=e+108|0)>>2]=h,0|Wr(s,1)&&(h=0|Wr(s,1),o[e+112>>2]=h,p=0|Wr(s,1)?255&(0|Xr(s,7)):0,n[e+116>>0]=p,I=0|Wr(s,1)?255&(0|Xr(s,7)):0,n[e+117>>0]=I,y=0|Wr(s,1)?255&(0|Xr(s,7)):0,n[e+118>>0]=y,E=0|Wr(s,1)?255&(0|Xr(s,7)):0,n[e+119>>0]=E,D=0|Wr(s,1)?255&(0|Xr(s,6)):0,n[e+120>>0]=D,L=0|Wr(s,1)?255&(0|Xr(s,6)):0,n[e+121>>0]=L,x=0|Wr(s,1)?255&(0|Xr(s,6)):0,n[e+122>>0]=x,S=0|Wr(s,1)?255&(0|Xr(s,6)):0,n[e+123>>0]=S),0|o[r>>2]&&(B=0|Wr(s,1)?255&(0|Wr(s,8)):-1,n[e+904>>0]=B,M=0|Wr(s,1)?255&(0|Wr(s,8)):-1,n[e+905>>0]=M,F=0|Wr(s,1)?255&(0|Wr(s,8)):-1,n[e+906>>0]=F)):o[e+108>>2]=0,0|o[(F=e+36|0)>>2])return 0|o[e>>2]||(o[e>>2]=3,o[i>>2]=9033,o[e+4>>2]=0),0|0;M=0|Wr(s,1),o[(B=e+56|0)>>2]=M,M=0|Wr(s,6),o[(r=e+60|0)>>2]=M,M=0|Wr(s,3),o[e+64>>2]=M,M=0|Wr(s,1),o[e+68>>2]=M;do{if(0|M&&0|Wr(s,1)){if(0|Wr(s,1)&&(S=0|Xr(s,6),o[e+72>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+76>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+80>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+84>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+88>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+92>>2]=S),0|Wr(s,1)&&(S=0|Xr(s,6),o[e+96>>2]=S),!(0|Wr(s,1)))break;S=0|Xr(s,6),o[e+100>>2]=S}}while(0);if(_=0|o[r>>2]?0==(0|o[B>>2])?2:1:0,o[e+2308>>2]=_,0|o[F>>2])return 0|o[e>>2]||(o[e>>2]=3,o[i>>2]=9061,o[e+4>>2]=0),0|0;if(F=g+b|0,b=(1<<(0|Wr(s,2)))-1|0,o[e+312>>2]=b,u>>>0>=(g=3*b|0)>>>0){if(_=c+g|0,B=u-g|0,b)for(g=0,u=B,B=_,_=c;;){if(zr(e+316+(28*g|0)|0,B,r=(c=a[_+1>>0]<<8|a[_>>0]|a[_+2>>0]<<16)>>>0>u>>>0?u:c),c=B+r|0,M=u-r|0,(0|(g=g+1|0))==(0|b)){P=M,R=c;break}u=M,B=c,_=_+3|0}else P=B,R=_;if(zr(e+316+(28*b|0)|0,R,P),R>>>0>>0)return Qr(e),0|n[A>>0]?(Wr(s,1),Nr(s,e),o[e+4>>2]=1,0|1):(0|o[e>>2]||(o[e>>2]=4,o[i>>2]=9112,o[e+4>>2]=0),0|0);T=5}else T=7;return 0|o[e>>2]||(o[e>>2]=T,o[i>>2]=9088,o[e+4>>2]=0),0|0}function Rr(e,r){e|=0;var i,t,f,A,u,s,d,v,g,b,h,w,k,m,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0,Re=0,Te=0,Ge=0,Oe=0;if((0|o[(i=(r|=0)+288|0)>>2])<=0)return 0|1&0==(0|(0|o[(r+36|0)>>2]));t=r+2244|0,f=r+2248|0,A=r+2304|0,u=r+108|0,s=r+2236|0,d=r+904|0,v=e+4|0,g=e+8|0,b=r+2240|0,h=e+12|0,w=e+20|0,k=r+906|0,m=r+905|0,C=0;do{if(p=(0|o[t>>2])+(C<<2)|0,I=0|o[A>>2],0|o[u>>2]){E=0|a[d>>0],D=0|o[v>>2],L=0|o[g>>2];do{if((0|L)<0){if((x=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){S=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[h>>2]=x+3,x=0|Ri(0|S),o[e>>2]=o[e>>2]<<24|x>>>8,x=L+24|0,o[g>>2]=x,B=x;break}Yr(e),B=0|o[g>>2];break}B=L}while(0);if(x=(L=0|l(D,E))>>>8,L=0|o[e>>2],(S=(B?L>>>B:L)>>>0>x>>>0)?(M=L-(x+1<>2]=M,F=D-x|0,_=M):(F=x+1|0,_=L),x=B-(L=24^(0|c(0|F)))|0,o[g>>2]=x,M=(F<>2]=M,S){S=0|a[k>>0];do{if((0|x)<0){if((L=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){P=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[h>>2]=L+3,P=(L=0|Ri(0|P))>>>8|_<<24,o[e>>2]=P,L=x+24|0,o[g>>2]=L,R=P,T=L;break}Yr(e),R=0|o[e>>2],T=0|o[g>>2];break}R=_,T=x}while(0);(D=(T?R>>>T:R)>>>0>(E=(D=0|l(M,S))>>>8)>>>0)?(o[e>>2]=R-(E+1<>2]=T-E,o[v>>2]=(G<>0];do{if((0|x)<0){if((E=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){L=a[E>>0]|a[E+1>>0]<<8|a[E+2>>0]<<16|a[E+3>>0]<<24,o[h>>2]=E+3,L=(E=0|Ri(0|L))>>>8|_<<24,o[e>>2]=L,E=x+24|0,o[g>>2]=E,q=L,Y=E;break}Yr(e),q=0|o[e>>2],Y=0|o[g>>2];break}q=_,Y=x}while(0);(x=(Y?q>>>Y:q)>>>0>(S=(x=0|l(M,D))>>>8)>>>0)?(o[e>>2]=q-(S+1<>2]=Y-S,o[v>>2]=(U<>0]=y,0|o[s>>2]){x=0|a[b>>0],S=0|o[v>>2],E=0|o[g>>2];do{if((0|E)<0){if((L=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){P=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[h>>2]=L+3,L=0|Ri(0|P),o[e>>2]=o[e>>2]<<24|L>>>8,L=E+24|0,o[g>>2]=L,X=L;break}Yr(e),X=0|o[g>>2];break}X=E}while(0);M=(E=0|l(S,x))>>>8,E=0|o[e>>2],(D=(X?E>>>X:E)>>>0>M>>>0)?(o[e>>2]=E-(M+1<>2]=E,L=(Q<>2]=L,n[I+(800*C|0)+797>>0]=1&D,z=E,W=L}else z=0|o[g>>2],W=0|o[v>>2];do{if((0|z)<0){if((L=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){E=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[h>>2]=L+3,L=0|Ri(0|E),o[e>>2]=o[e>>2]<<24|L>>>8,L=z+24|0,o[g>>2]=L,N=L;break}Yr(e),N=0|o[g>>2];break}N=z}while(0);if(x=(S=145*W|0)>>>8,S=0|o[e>>2],(L=(N?S>>>N:S)>>>0>x>>>0)?(E=S-(x+1<>2]=E,V=W-x|0,H=E):(V=x+1|0,H=S),x=N-(S=24^(0|c(0|V)))|0,o[g>>2]=x,E=(V<>2]=E,n[I+(800*C|0)+768>>0]=1&(1^L),L){do{if((0|x)<0){if((L=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){S=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[h>>2]=L+3,S=(L=0|Ri(0|S))>>>8|H<<24,o[e>>2]=S,L=x+24|0,o[g>>2]=L,Z=S,j=L;break}Yr(e),Z=0|o[e>>2],j=0|o[g>>2];break}Z=H,j=x}while(0);if((x=(j?Z>>>j:Z)>>>0>(L=(x=156*E|0)>>>8)>>>0)?(S=Z-(L+1<>2]=S,K=E-L|0,J=S):(K=L+1|0,J=Z),S=j-(L=24^(0|c(0|K)))|0,o[g>>2]=S,D=(K<>2]=D,L=(0|S)<0,x){do{if(L){if((x=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){M=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[h>>2]=x+3,M=(x=0|Ri(0|M))>>>8|J<<24,o[e>>2]=M,x=S+24|0,o[g>>2]=x,$=M,ee=x;break}Yr(e),$=0|o[e>>2],ee=0|o[g>>2];break}$=J,ee=S}while(0);(x=(ee?$>>>ee:$)>>>0>(E=D>>>1&16777215)>>>0)?(o[e>>2]=$-(E+1<>2]=ee-E,o[v>>2]=(re<>2])>>>0<(0|o[w>>2])>>>0){E=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[h>>2]=x+3,E=(x=0|Ri(0|E))>>>8|J<<24,o[e>>2]=E,x=S+24|0,o[g>>2]=x,ne=E,te=x;break}Yr(e),ne=0|o[e>>2],te=0|o[g>>2];break}ne=J,te=S}while(0);(S=(te?ne>>>te:ne)>>>0>(L=(S=163*D|0)>>>8)>>>0)?(o[e>>2]=ne-(L+1<>2]=te-L,o[v>>2]=(oe<>0]=S,Oi(0|p,0|S,4),Oi(0|f,0|S,4)}else for(S=I+(800*C|0)+769|0,L=0;;){E=0,M=0|a[(x=r+2248+L|0)>>0];do{ae=0|a[(P=p+E|0)>>0],fe=0|a[4144+(90*ae|0)+(9*M|0)>>0],Ae=0|o[v>>2],ue=0|o[g>>2];do{if((0|ue)<0){if((se=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){le=a[se>>0]|a[se+1>>0]<<8|a[se+2>>0]<<16|a[se+3>>0]<<24,o[h>>2]=se+3,se=0|Ri(0|le),o[e>>2]=o[e>>2]<<24|se>>>8,se=ue+24|0,o[g>>2]=se,ce=se;break}Yr(e),ce=0|o[g>>2];break}ce=ue}while(0);if(se=(ue=0|l(Ae,fe))>>>8,ue=0|o[e>>2],de=1&(le=(ce?ue>>>ce:ue)>>>0>se>>>0),le?(le=ue-(se+1<>2]=le,ve=Ae-se|0,ge=le):(ve=se+1|0,ge=ue),se=ce-(ue=24^(0|c(0|ve)))|0,o[g>>2]=se,le=(ve<>2]=le,ue=0|n[5056+de>>0],1&(de?41706>>>de:41706)){for(de=ue,ue=se,se=ge,he=le;;){le=de<<1,we=0|a[4144+(90*ae|0)+(9*M|0)+de>>0];do{if((0|ue)<0){if((ke=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){me=a[ke>>0]|a[ke+1>>0]<<8|a[ke+2>>0]<<16|a[ke+3>>0]<<24,o[h>>2]=ke+3,me=(ke=0|Ri(0|me))>>>8|se<<24,o[e>>2]=me,ke=ue+24|0,o[g>>2]=ke,Ce=me,pe=ke;break}Yr(e),Ce=0|o[e>>2],pe=0|o[g>>2];break}Ce=se,pe=ue}while(0);if((ke=(pe?Ce>>>pe:Ce)>>>0>(me=(ke=0|l(he,we))>>>8)>>>0)?(Ie=Ce-(me+1<>2]=Ie,ye=he-me|0,Ee=Ie):(ye=me+1|0,Ee=Ce),ue=pe-(me=24^(0|c(0|ye)))|0,o[g>>2]=ue,he=(ye<>2]=he,De=0|n[5056+(me=le|1&ke)>>0],!(1&(me?41706>>>me:41706)))break;de=De<<24>>24,se=Ee}be=De<<24>>24}else be=ue;Le=255&(M=0-be|0),n[P>>0]=Le,E=E+1|0}while(4!=(0|E));if(E=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,n[S>>0]=E,n[S+1>>0]=E>>8,n[S+2>>0]=E>>16,n[S+3>>0]=E>>24,n[x>>0]=Le,4==(0|(L=L+1|0)))break;S=S+4|0}S=0|o[v>>2],L=0|o[g>>2];do{if((0|L)<0){if((p=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){D=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,o[h>>2]=p+3,p=0|Ri(0|D),o[e>>2]=o[e>>2]<<24|p>>>8,p=L+24|0,o[g>>2]=p,xe=p;break}Yr(e),xe=0|o[g>>2];break}xe=L}while(0);if(p=(L=142*S|0)>>>8,L=0|o[e>>2],(D=(xe?L>>>xe:L)>>>0>p>>>0)?(E=L-(p+1<>2]=E,Se=S-p|0,Be=E):(Se=p+1|0,Be=L),p=xe-(L=24^(0|c(0|Se)))|0,o[g>>2]=p,E=(Se<>2]=E,D){do{if((0|p)<0){if((D=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){L=a[D>>0]|a[D+1>>0]<<8|a[D+2>>0]<<16|a[D+3>>0]<<24,o[h>>2]=D+3,L=(D=0|Ri(0|L))>>>8|Be<<24,o[e>>2]=L,D=p+24|0,o[g>>2]=D,Me=L,Fe=D;break}Yr(e),Me=0|o[e>>2],Fe=0|o[g>>2];break}Me=Be,Fe=p}while(0);if((p=(Fe?Me>>>Fe:Me)>>>0>(S=(p=114*E|0)>>>8)>>>0)?(D=Me-(S+1<>2]=D,_e=E-S|0,Pe=D):(_e=S+1|0,Pe=Me),D=Fe-(S=24^(0|c(0|_e)))|0,o[g>>2]=D,L=(_e<>2]=L,p){do{if((0|D)<0){if((p=0|o[h>>2])>>>0<(0|o[w>>2])>>>0){S=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,o[h>>2]=p+3,S=(p=0|Ri(0|S))>>>8|Pe<<24,o[e>>2]=S,p=D+24|0,o[g>>2]=p,Re=S,Te=p;break}Yr(e),Re=0|o[e>>2],Te=0|o[g>>2];break}Re=Pe,Te=D}while(0);(D=(Te?Re>>>Te:Re)>>>0>(E=(D=183*L|0)>>>8)>>>0)?(o[e>>2]=Re-(E+1<>2]=Te-E,o[v>>2]=(Ge<>0]=Oe,C=C+1|0}while((0|C)<(0|o[i>>2]));return 0|1&0==(0|(0|o[(r+36|0)>>2]))}function Tr(e,r){r|=0;var i,f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0;if(i=O,O=O+32|0,u=i,f=(s=0|o[(e|=0)+2256>>2])+((c=0|o[(l=e+2296|0)>>2])<<1)|0,A=0|o[e+2304>>2],0!=(0|o[e+2236>>2])&&(v=255&(d=0|n[A+(800*c|0)+797>>0]),d<<24>>24!=0))n[f>>0]=0,n[s+-2>>0]=0,0|n[A+(800*c|0)+768>>0]||(n[s+(c<<1)+1>>0]=0,n[s+-1>>0]=0),o[A+(800*c|0)+788>>2]=0,o[A+(800*c|0)+792>>2]=0,n[A+(800*c|0)+796>>0]=0,g=v;else{for(v=A+(800*c|0)|0,d=0|a[A+(800*c|0)+798>>0],Oi(0|v,0,768),0|n[A+(800*c|0)+768>>0]?(m=0,C=3):(o[u>>2]=0,o[u+4>>2]=0,o[u+8>>2]=0,o[u+12>>2]=0,o[u+16>>2]=0,o[u+20>>2]=0,o[u+24>>2]=0,o[u+28>>2]=0,b=s+(c<<1)+1|0,h=s+-1|0,k=(0|(w=0|ji[1&o[2549]](r,e+2032|0,(0|a[h>>0])+(0|a[b>>0])|0,e+776+(d<<5)+8|0,0,u)))>0&1,n[h>>0]=k,n[b>>0]=k,(0|w)>1?function(e,r){r|=0;var i,n,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0;i=O,O=O+64|0,a=i,f=0|t[(e|=0)>>1],u=(A=0|t[e+24>>1])+f|0,s=0|t[e+8>>1],c=(l=0|t[e+16>>1])+s|0,d=s-l|0,l=f-A|0,A=c+u|0,o[a>>2]=A,o[(f=a+32|0)>>2]=u-c,o[(c=a+16|0)>>2]=d+l,o[(u=a+48|0)>>2]=l-d,d=0|t[e+2>>1],s=(l=0|t[e+26>>1])+d|0,v=0|t[e+10>>1],b=(g=0|t[e+18>>1])+v|0,h=v-g|0,g=d-l|0,l=b+s|0,o[a+4>>2]=l,o[(d=a+36|0)>>2]=s-b,b=h+g|0,o[a+20>>2]=b,o[(s=a+52|0)>>2]=g-h,h=0|t[e+4>>1],v=(g=0|t[e+28>>1])+h|0,w=0|t[e+12>>1],m=(k=0|t[e+20>>1])+w|0,C=w-k|0,k=h-g|0,g=m+v|0,o[a+8>>2]=g,h=v-m|0,o[a+40>>2]=h,m=C+k|0,o[a+24>>2]=m,o[(v=a+56|0)>>2]=k-C,C=0|t[e+6>>1],w=(k=0|t[e+30>>1])+C|0,n=0|t[e+14>>1],e=(p=0|t[e+22>>1])+n|0,I=n-p|0,p=C-k|0,k=e+w|0,o[a+12>>2]=k,C=w-e|0,o[a+44>>2]=C,e=I+p|0,o[a+28>>2]=e,w=p-I|0,o[a+60>>2]=w,I=g+l|0,p=l-g|0,g=(a=A+3|0)-k|0,k=I+(A=a+k|0)|0,t[r>>1]=k>>>3,k=p+g|0,t[r+32>>1]=k>>>3,k=A-I|0,t[r+64>>1]=k>>>3,k=g-p|0,t[r+96>>1]=k>>>3,p=m+b|0,g=b-m|0,m=(k=3+(0|o[c>>2])|0)-e|0,e=p+(c=k+e|0)|0,t[r+128>>1]=e>>>3,e=g+m|0,t[r+160>>1]=e>>>3,e=c-p|0,t[r+192>>1]=e>>>3,e=m-g|0,t[r+224>>1]=e>>>3,f=(e=3+(0|o[f>>2])|0)+C|0,d=h+(g=0|o[d>>2])|0,m=g-h|0,h=e-C|0,C=d+f|0,t[r+256>>1]=C>>>3,C=m+h|0,t[r+288>>1]=C>>>3,C=f-d|0,t[r+320>>1]=C>>>3,C=h-m|0,t[r+352>>1]=C>>>3,u=(C=3+(0|o[u>>2])|0)+w|0,m=0|o[s>>2],v=(s=0|o[v>>2])+m|0,h=m-s|0,s=C-w|0,w=v+u|0,t[r+384>>1]=w>>>3,w=h+s|0,t[r+416>>1]=w>>>3,w=u-v|0,t[r+448>>1]=w>>>3,w=s-h|0,t[r+480>>1]=w>>>3,O=i}(u,v):(u=(w=3+(0|t[u>>1])|0)>>3&65535,t[A+(800*c|0)>>1]=u,t[A+(800*c|0)+32>>1]=u,t[A+(800*c|0)+64>>1]=u,t[A+(800*c|0)+96>>1]=u,t[A+(800*c|0)+128>>1]=u,t[A+(800*c|0)+160>>1]=u,t[A+(800*c|0)+192>>1]=u,t[A+(800*c|0)+224>>1]=u,t[A+(800*c|0)+256>>1]=u,t[A+(800*c|0)+288>>1]=u,t[A+(800*c|0)+320>>1]=u,t[A+(800*c|0)+352>>1]=u,t[A+(800*c|0)+384>>1]=u,t[A+(800*c|0)+416>>1]=u,t[A+(800*c|0)+448>>1]=u,t[A+(800*c|0)+480>>1]=u),m=1,C=0),u=e+1964+(68*C|0)|0,C=s+-2|0,s=e+776+(d<<5)|0,w=v,v=15&n[f>>0],k=15&n[C>>0],b=0,h=0;p=255&k,I=255&v,I=(E=(0|(y=0|ji[1&o[2549]](r,u,(1&p)+(1&I)|0,s,m,w)))>(0|m)&1)<<7|(D=I>>>1),L=0!=(0|t[w>>1])&1,x=w+32|0,I=(E=(0|(S=0|ji[1&o[2549]](r,u,(1&D)+E|0,s,m,x)))>(0|m)&1)<<7|(D=I>>>1),B=((0|S)>3?3:(0|S)>1?2:0!=(0|t[x>>1])&1)|((0|y)>3?12:(0|y)>1?8:L<<2),L=w+64|0,E=(0|(y=0|ji[1&o[2549]](r,u,(1&D)+E|0,s,m,L)))>(0|m)&1,D=I>>>1,I=((0|y)>3?3:(0|y)>1?2:0!=(0|t[L>>1])&1)|B<<2,B=w+96|0,L=E<<7|224&D,v=(255&(D=255&((E=((0|(y=0|ji[1&o[2549]](r,u,(1&D)+E|0,s,m,B)))>(0|m)&1)<<7)|L>>>1)))>>>4,M=E|p>>>1,b=I<<2|b<<8|((0|y)>3?3:(0|y)>1?2:0!=(0|t[B>>1])&1),4!=(0|(h=h+1|0));)w=w+128|0,k=255&M;k=A+(800*c|0)+512|0,w=e+2100|0,h=e+776+(d<<5)+16|0,m=0|a[f>>0],s=0|a[C>>0],B=(0|(u=0|ji[1&o[2549]](r,w,(s>>>4&1)+(m>>>4&1)|0,h,0,k)))>0&1,y=0!=(0|t[k>>1])&1,k=A+(800*c|0)+544|0,m=(0|(I=0|ji[1&o[2549]](r,w,(m>>>5&1)+B|0,h,0,k)))>0&1,p=((0|I)>3?3:(0|I)>1?2:0!=(0|t[k>>1])&1)|((0|u)>3?12:(0|u)>1?8:y<<2),y=A+(800*c|0)+576|0,B=(0|(u=0|ji[1&o[2549]](r,w,(s>>>5&1)+B|0,h,0,y)))>0&1,s=((0|u)>3?3:(0|u)>1?2:0!=(0|t[y>>1])&1)|p<<2,p=A+(800*c|0)+608|0,u=(0|(y=0|ji[1&o[2549]](r,w,B+m|0,h,0,p)))>0&1,k=((0|y)>3?3:(0|y)>1?2:0!=(0|t[p>>1])&1)|s<<2,s=A+(800*c|0)+640|0,p=0|a[f>>0],y=0|a[C>>0],E=(0|(I=0|ji[1&o[2549]](r,w,(y>>>6&1)+(p>>>6&1)|0,h,0,s)))>0&1,D=0!=(0|t[s>>1])&1,s=A+(800*c|0)+672|0,p=(0|(L=0|ji[1&o[2549]](r,w,(p>>>7)+E|0,h,0,s)))>0&1,x=((0|L)>3?3:(0|L)>1?2:0!=(0|t[s>>1])&1)|((0|I)>3?12:(0|I)>1?8:D<<2),D=A+(800*c|0)+704|0,E=(0|(I=0|ji[1&o[2549]](r,w,(y>>>7)+E|0,h,0,D)))>0&1,y=((0|I)>3?3:(0|I)>1?2:0!=(0|t[D>>1])&1)|x<<2,x=A+(800*c|0)+736|0,h=(0|(D=0|ji[1&o[2549]](r,w,E+p|0,h,0,x)))>0&1,w=k|(((0|D)>3?3:(0|D)>1?2:0!=(0|t[x>>1])&1)|y<<2)<<8,n[f>>0]=(u<<1|B)<<4|255&v|(h<<1|E)<<6,n[C>>0]=m<<4|M>>>4|u<<5|p<<6|h<<7,o[A+(800*c|0)+788>>2]=b,o[A+(800*c|0)+792>>2]=w,F=43690&w?0:255&o[e+776+(d<<5)+28>>2],n[A+(800*c|0)+796>>0]=F,g=0==(w|b|0)&1}return(0|o[e+2308>>2])<=0?(_=0|o[(r+24|0)>>2],O=i,0|1&0==(0|_)):(l=(b=0|o[e+2260>>2])+((w=0|o[l>>2])<<2)|0,F=e+2312+(a[A+(800*c|0)+798>>0]<<3)+(a[A+(800*c|0)+768>>0]<<2)|0,c=a[F>>0]|a[F+1>>0]<<8|a[F+2>>0]<<16|a[F+3>>0]<<24,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,n[(c=b+(w<<2)+2|0)>>0]=a[c>>0]|0==(0|g),_=0|o[(r+24|0)>>2],O=i,0|1&0==(0|_))}function Gr(){0|ri(10168)||(o[2042]=0,ii(10168))}function Or(e,r,i){e|=0,r|=0;var t=0,a=0,f=0;if(!((0|(i|=0))<=0)){t=0;do{f=1081344+(6420*(255&(a=0|o[e+(t<<2)>>2]))|0)+(16839*(a>>>16&255)|0)+(33059*(a>>>8&255)|0)|0,n[r+t>>0]=f>>>16,t=t+1|0}while((0|t)!=(0|i))}}function qr(e,r,i,t,f){e|=0,r|=0,i|=0,f|=0;var A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0;if(A=(t|=0)>>1,(0|t)>1)if(f)for(u=0;;){if(v=0|o[e+((g=u<<1)<<2)>>2],g=((d=0|o[e+((1|g)<<2)>>2])>>>15&510)+(v>>>15&510)|0,c=(d<<1&510)+(v<<1&510)|0,b=(d=(v=(0|l(s=(d>>>7&510)+(v>>>7&510)|0,-19081))+(0|l(g,-9719))+(28800*c|0)|0)+33685504|0)>>18,g=(c=(d=(0|l(s,-24116))+(28800*g|0)+(0|l(c,-4684))|0)+33685504|0)>>18,n[r+u>>0]=b>>>0<256?b:(0|v)<-33685504?0:255,n[i+u>>0]=g>>>0<256?g:(0|d)<-33685504?0:255,!((0|(d=u+1|0))<(0|A))){h=d;break}u=d}else for(u=0;;){if(c=0|o[e+((s=u<<1)<<2)>>2],s=((d=0|o[e+((1|s)<<2)>>2])>>>15&510)+(c>>>15&510)|0,g=(d<<1&510)+(c<<1&510)|0,b=(d=(c=(0|l(v=(d>>>7&510)+(c>>>7&510)|0,-19081))+(0|l(s,-9719))+(28800*g|0)|0)+33685504|0)>>18,s=(g=(d=(0|l(v,-24116))+(28800*s|0)+(0|l(g,-4684))|0)+33685504|0)>>18,v=(b>>>0<256?b:(0|c)<-33685504?0:255)+1+(0|a[(g=r+u|0)>>0])|0,n[g>>0]=v>>>1,g=(s>>>0<256?s:(0|d)<-33685504?0:255)+1+(0|a[(v=i+u|0)>>0])|0,n[v>>0]=g>>>1,!((0|(g=u+1|0))<(0|A))){h=g;break}u=g}else h=0;if(1&t)return e=(t=0|o[e+(h<<1<<2)>>2])>>>14&1020,A=t<<2&1020,d=(g=(d=(t=(0|l(u=t>>>6&1020,-19081))+(0|l(e,-9719))+(28800*A|0)|0)+33685504|0)>>18)>>>0<256?g:(0|t)<-33685504?0:255,A=(e=(A=(t=(0|l(u,-24116))+(28800*e|0)+(0|l(A,-4684))|0)+33685504|0)>>18)>>>0<256?e:(0|t)<-33685504?0:255,f?(n[r+h>>0]=d,void(n[i+h>>0]=A)):(t=d+1+(0|a[(f=r+h|0)>>0])|0,n[f>>0]=t>>>1,f=A+1+(0|a[(t=i+h|0)>>0])|0,void(n[t>>0]=f>>>1))}function Yr(e){var r=0,i=0,n=0;return(i=0|o[(r=(e|=0)+12|0)>>2])>>>0<(0|o[e+16>>2])>>>0?(o[(n=e+8|0)>>2]=8+(0|o[n>>2]),o[r>>2]=i+1,void(o[e>>2]=o[e>>2]<<8|0|a[i>>0])):0|o[(i=e+24|0)>>2]?void(o[e+8>>2]=0):(o[e>>2]=o[e>>2]<<8,o[(r=e+8|0)>>2]=8+(0|o[r>>2]),void(o[i>>2]=1))}function Ur(e){t[(e|=0)>>1]=65535,n[e+2>>0]=255}function zr(e,r,i){r|=0,i|=0;var n,t,f,A=0,u=0;return o[(e|=0)+4>>2]=254,o[e>>2]=0,o[(n=e+8|0)>>2]=-8,o[(t=e+24|0)>>2]=0,o[(f=e+12|0)>>2]=r,A=r+i|0,o[e+16>>2]=A,u=i>>>0>3?A+-4+1|0:r,o[e+20>>2]=u,u>>>0>r>>>0?(u=a[r>>0]|a[r+1>>0]<<8|a[r+2>>0]<<16|a[r+3>>0]<<24,o[f>>2]=r+3,A=0|Ri(0|u),o[e>>2]=A>>>8,void(o[n>>2]=16)):(0|i)>0?(o[n>>2]=0,o[f>>2]=r+1,void(o[e>>2]=a[r>>0])):(o[e>>2]=0,o[n>>2]=0,void(o[t>>2]=1))}function Wr(e,r){var i,n,t,f,A,u,s=0,l=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0;if((0|(r|=0))<=0)return 0|(s=0);for(i=(e|=0)+4|0,t=e+12|0,f=e+20|0,A=e+16|0,u=e+24|0,l=0,d=r,r=0|o[(n=e+8|0)>>2],v=0|o[i>>2];;){g=d,d=d+-1|0;do{if((0|r)<0){if((b=0|o[t>>2])>>>0<(0|o[f>>2])>>>0){h=a[b>>0]|a[b+1>>0]<<8|a[b+2>>0]<<16|a[b+3>>0]<<24,o[t>>2]=b+3,w=0|Ri(0|h),o[e>>2]=o[e>>2]<<24|w>>>8,w=r+24|0,o[n>>2]=w,k=w;break}if(b>>>0<(0|o[A>>2])>>>0){w=r+8|0,o[n>>2]=w,o[t>>2]=b+1,o[e>>2]=o[e>>2]<<8|0|a[b>>0],k=w;break}if(0|o[u>>2]){o[n>>2]=0,k=0;break}o[e>>2]=o[e>>2]<<8,w=r+8|0,o[n>>2]=w,o[u>>2]=1,k=w;break}k=r}while(0);if(w=v>>>1&16777215,b=0|o[e>>2],(h=(k?b>>>k:b)>>>0>w>>>0)?(o[e>>2]=b-(w+1<>2]=r,v=(m<>2]=v,w=(1&h)<>2]),v=0;do{t?v?(o[(h=e+776+(v<<5)|0)>>2]=o[i>>2],o[h+4>>2]=o[i+4>>2],o[h+8>>2]=o[i+8>>2],o[h+12>>2]=o[i+12>>2],o[h+16>>2]=o[i+16>>2],o[h+20>>2]=o[i+20>>2],o[h+24>>2]=o[i+24>>2],o[h+28>>2]=o[i+28>>2]):(g=r,b=16):(g=(0==(0|o[A>>2])?r:0)+(0|n[e+116+v>>0])|0,b=16),16==(0|b)&&(b=0,w=(0|(h=g+u|0))<127?h:127,o[e+776+(v<<5)>>2]=a[7200+((0|w)>0?w:0)>>0],w=(0|g)<127?g:127,o[e+776+(v<<5)+4>>2]=f[7328+(((0|w)>0?w:0)<<1)>>1],h=(0|(w=g+s|0))<127?w:127,o[e+776+(v<<5)+8>>2]=a[7200+((0|h)>0?h:0)>>0]<<1,h=101581*(0|f[7328+(((0|(w=(0|(h=g+l|0))<127?h:127))>0?w:0)<<1)>>1])|0,o[e+776+(v<<5)+12>>2]=h>>>0<524288?8:h>>>16,w=(0|(h=g+c|0))<117?h:117,o[e+776+(v<<5)+16>>2]=a[7200+((0|w)>0?w:0)>>0],h=(0|(w=g+d|0))<127?w:127,o[e+776+(v<<5)+20>>2]=f[7328+(((0|h)>0?h:0)<<1)>>1],o[e+776+(v<<5)+24>>2]=w),v=v+1|0}while(4!=(0|v))}function Nr(e,r){r|=0;var i,t,f,A,u=0,s=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0;i=(e|=0)+4|0,t=e+8|0,f=e+12|0,A=e+20|0,u=0;do{s=0;do{d=0;do{v=0|a[5088+(264*u|0)+(33*s|0)+d>>0],g=0|o[i>>2],b=0|o[t>>2];do{if((0|b)<0){if((h=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){w=a[h>>0]|a[h+1>>0]<<8|a[h+2>>0]<<16|a[h+3>>0]<<24,o[f>>2]=h+3,h=0|Ri(0|w),o[e>>2]=o[e>>2]<<24|h>>>8,h=b+24|0,o[t>>2]=h,k=h;break}Yr(e),k=0|o[t>>2];break}k=b}while(0);h=(b=0|l(g,v))>>>8,b=0|o[e>>2],(w=(k?b>>>k:b)>>>0>h>>>0)?(o[e>>2]=b-(h+1<>2]=k-h,o[i>>2]=(m<>0],n[r+907+(264*u|0)+(33*s|0)+d>>0]=C,d=d+1|0}while(11!=(0|d));d=0;do{w=0|a[5088+(264*u|0)+(33*s|0)+11+d>>0],h=0|o[i>>2],b=0|o[t>>2];do{if((0|b)<0){if((p=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){I=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,o[f>>2]=p+3,p=0|Ri(0|I),o[e>>2]=o[e>>2]<<24|p>>>8,p=b+24|0,o[t>>2]=p,y=p;break}Yr(e),y=0|o[t>>2];break}y=b}while(0);g=(b=0|l(h,w))>>>8,b=0|o[e>>2],(v=(y?b>>>y:b)>>>0>g>>>0)?(o[e>>2]=b-(g+1<>2]=y-g,o[i>>2]=(E<>0],n[r+907+(264*u|0)+(33*s|0)+11+d>>0]=D,d=d+1|0}while(11!=(0|d));d=0;do{v=0|a[5088+(264*u|0)+(33*s|0)+22+d>>0],g=0|o[i>>2],b=0|o[t>>2];do{if((0|b)<0){if((p=0|o[f>>2])>>>0<(0|o[A>>2])>>>0){I=a[p>>0]|a[p+1>>0]<<8|a[p+2>>0]<<16|a[p+3>>0]<<24,o[f>>2]=p+3,p=0|Ri(0|I),o[e>>2]=o[e>>2]<<24|p>>>8,p=b+24|0,o[t>>2]=p,L=p;break}Yr(e),L=0|o[t>>2];break}L=b}while(0);h=(b=0|l(g,v))>>>8,b=0|o[e>>2],(w=(L?b>>>L:b)>>>0>h>>>0)?(o[e>>2]=b-(h+1<>2]=L-h,o[i>>2]=(x<>0],n[r+907+(264*u|0)+(33*s|0)+22+d>>0]=S,d=d+1|0}while(11!=(0|d));s=s+1|0}while(8!=(0|s));s=r+907+(264*u|0)|0,o[r+1964+(68*u|0)>>2]=s,o[r+1964+(68*u|0)+4>>2]=r+907+(264*u|0)+33,o[r+1964+(68*u|0)+8>>2]=r+907+(264*u|0)+66,o[r+1964+(68*u|0)+12>>2]=r+907+(264*u|0)+99,d=r+907+(264*u|0)+198|0,o[r+1964+(68*u|0)+16>>2]=d,o[r+1964+(68*u|0)+20>>2]=r+907+(264*u|0)+132,o[r+1964+(68*u|0)+24>>2]=r+907+(264*u|0)+165,o[r+1964+(68*u|0)+28>>2]=d,o[r+1964+(68*u|0)+32>>2]=d,o[r+1964+(68*u|0)+36>>2]=d,o[r+1964+(68*u|0)+40>>2]=d,o[r+1964+(68*u|0)+44>>2]=d,o[r+1964+(68*u|0)+48>>2]=d,o[r+1964+(68*u|0)+52>>2]=d,o[r+1964+(68*u|0)+56>>2]=d,o[r+1964+(68*u|0)+60>>2]=r+907+(264*u|0)+231,o[r+1964+(68*u|0)+64>>2]=s,u=u+1|0}while(4!=(0|u));u=0|Wr(e,1),o[r+2236>>2]=u,u&&(u=255&(0|Wr(e,8)),n[r+2240>>0]=u)}function Vr(e,r){e|=0;var i,t,f,A=0,u=0,s=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0;A=0|a[(r|=0)+3>>0],t=0|o[(i=e+4|0)>>2],u=0|o[(f=e+8|0)>>2];do{if((0|u)<0){if((d=0|o[(s=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){v=a[d>>0]|a[d+1>>0]<<8|a[d+2>>0]<<16|a[d+3>>0]<<24,o[s>>2]=d+3,d=0|Ri(0|v),o[e>>2]=o[e>>2]<<24|d>>>8,d=u+24|0,o[f>>2]=d,g=d;break}Yr(e),g=0|o[f>>2];break}g=u}while(0);if(A=(u=0|l(t,A))>>>8,u=0|o[e>>2],(d=(g?u>>>g:u)>>>0>A>>>0)?(v=u-(A+1<>2]=v,b=t-A|0,h=v):(b=A+1|0,h=u),A=g-(u=24^(0|c(0|b)))|0,o[f>>2]=A,g=(b<>2]=g,!d){d=0|a[r+4>>0];do{if((0|A)<0){if((b=0|o[(u=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){v=a[b>>0]|a[b+1>>0]<<8|a[b+2>>0]<<16|a[b+3>>0]<<24,o[u>>2]=b+3,v=h<<24|(b=0|Ri(0|v))>>>8,o[e>>2]=v,b=A+24|0,o[f>>2]=b,w=v,k=b;break}Yr(e),w=0|o[e>>2],k=0|o[f>>2];break}w=h,k=A}while(0);if((b=(k?w>>>k:w)>>>0>(d=(b=0|l(g,d))>>>8)>>>0)?(v=w-(d+1<>2]=v,m=g-d|0,C=v):(m=d+1|0,C=w),d=k-(w=24^(0|c(0|m)))|0,o[f>>2]=d,k=(m<>2]=k,!b)return 0|2;b=0|a[r+5>>0];do{if((0|d)<0){if((m=0|o[(w=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){v=a[m>>0]|a[m+1>>0]<<8|a[m+2>>0]<<16|a[m+3>>0]<<24,o[w>>2]=m+3,v=C<<24|(m=0|Ri(0|v))>>>8,o[e>>2]=v,m=d+24|0,o[f>>2]=m,p=v,I=m;break}Yr(e),p=0|o[e>>2],I=0|o[f>>2];break}p=C,I=d}while(0);return(d=(I?p>>>I:p)>>>0>(b=(d=0|l(k,b))>>>8)>>>0)?(o[e>>2]=p-(b+1<>2]=I-b,o[i>>2]=(y<>0];do{if((0|A)<0){if((y=0|o[(b=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){I=a[y>>0]|a[y+1>>0]<<8|a[y+2>>0]<<16|a[y+3>>0]<<24,o[b>>2]=y+3,I=h<<24|(y=0|Ri(0|I))>>>8,o[e>>2]=I,y=A+24|0,o[f>>2]=y,E=I,D=y;break}Yr(e),E=0|o[e>>2],D=0|o[f>>2];break}E=h,D=A}while(0);if((A=(D?E>>>D:E)>>>0>(d=(A=0|l(g,d))>>>8)>>>0)?(h=E-(d+1<>2]=h,L=g-d|0,x=h):(L=d+1|0,x=E),d=D-(E=24^(0|c(0|L)))|0,o[f>>2]=d,D=(L<>2]=D,A){A=0|a[r+8>>0];do{if((0|d)<0){if((L=0|o[(E=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){h=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[E>>2]=L+3,h=x<<24|(L=0|Ri(0|h))>>>8,o[e>>2]=h,L=d+24|0,o[f>>2]=L,S=h,B=L;break}Yr(e),S=0|o[e>>2],B=0|o[f>>2];break}S=x,B=d}while(0);h=1&(L=(B?S>>>B:S)>>>0>(A=(L=0|l(D,A))>>>8)>>>0),L?(E=S-(A+1<>2]=E,M=D-A|0,F=E):(M=A+1|0,F=S),A=B-(S=24^(0|c(0|M)))|0,o[f>>2]=A,B=(M<>2]=B,S=0|a[r+(L?10:9)>>0];do{if((0|A)<0){if((M=0|o[(L=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){E=a[M>>0]|a[M+1>>0]<<8|a[M+2>>0]<<16|a[M+3>>0]<<24,o[L>>2]=M+3,E=F<<24|(M=0|Ri(0|E))>>>8,o[e>>2]=E,M=A+24|0,o[f>>2]=M,_=E,P=M;break}Yr(e),_=0|o[e>>2],P=0|o[f>>2];break}_=F,P=A}while(0);if((A=(P?_>>>P:_)>>>0>(S=(A=0|l(B,S))>>>8)>>>0)?(F=_-(S+1<>2]=F,R=B-S|0,T=F):(R=S+1|0,T=_),S=P-(_=24^(0|c(0|R)))|0,o[f>>2]=S,P=(R<<_)-1|0,o[i>>2]=P,A=0|o[7600+((_=h<<1|1&A)<<2)>>2],(h=0|n[A>>0])<<24>>24)for(R=e+12|0,F=e+20|0,B=A,A=0,M=h,h=S,S=T,T=P;;){P=255&M;do{if((0|h)<0){if((E=0|o[R>>2])>>>0<(0|o[F>>2])>>>0){L=a[E>>0]|a[E+1>>0]<<8|a[E+2>>0]<<16|a[E+3>>0]<<24,o[R>>2]=E+3,L=S<<24|(E=0|Ri(0|L))>>>8,o[e>>2]=L,E=h+24|0,o[f>>2]=E,O=L,q=E;break}Yr(e),O=0|o[e>>2],q=0|o[f>>2];break}O=S,q=h}while(0);if((E=(q?O>>>q:O)>>>0>(L=(E=0|l(T,P))>>>8)>>>0)?(g=O-(L+1<>2]=g,Y=T-L|0,U=g):(Y=L+1|0,U=O),h=q-(L=24^(0|c(0|Y)))|0,o[f>>2]=h,T=(Y<>2]=T,L=A<<1|1&E,!((M=0|n[(B=B+1|0)>>0])<<24>>24)){G=L;break}A=L,S=U}else G=0;return 0|(G+(8<<_|3)|0)}_=0|a[r+7>>0];do{if((0|d)<0){if((G=0|o[(r=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){U=a[G>>0]|a[G+1>>0]<<8|a[G+2>>0]<<16|a[G+3>>0]<<24,o[r>>2]=G+3,U=x<<24|(G=0|Ri(0|U))>>>8,o[e>>2]=U,G=d+24|0,o[f>>2]=G,z=U,W=G;break}Yr(e),z=0|o[e>>2],W=0|o[f>>2];break}z=x,W=d}while(0);if((d=(W?z>>>W:z)>>>0>(_=(d=0|l(D,_))>>>8)>>>0)?(x=z-(_+1<>2]=x,X=D-_|0,Q=x):(X=_+1|0,Q=z),_=W-(z=24^(0|c(0|X)))|0,o[f>>2]=_,W=(X<>2]=W,z=(0|_)<0,!d){do{if(z){if((X=0|o[(d=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){x=a[X>>0]|a[X+1>>0]<<8|a[X+2>>0]<<16|a[X+3>>0]<<24,o[d>>2]=X+3,x=Q<<24|(X=0|Ri(0|x))>>>8,o[e>>2]=x,X=_+24|0,o[f>>2]=X,N=x,V=X;break}Yr(e),N=0|o[e>>2],V=0|o[f>>2];break}N=Q,V=_}while(0);return(X=(V?N>>>V:N)>>>0>(x=(X=159*W|0)>>>8)>>>0)?(o[e>>2]=N-(x+1<>2]=V-x,o[i>>2]=(H<>2])>>>0<(0|o[e+20>>2])>>>0){H=a[x>>0]|a[x+1>>0]<<8|a[x+2>>0]<<16|a[x+3>>0]<<24,o[X>>2]=x+3,H=Q<<24|(x=0|Ri(0|H))>>>8,o[e>>2]=H,x=_+24|0,o[f>>2]=x,Z=H,j=x;break}Yr(e),Z=0|o[e>>2],j=0|o[f>>2];break}Z=Q,j=_}while(0);(_=(j?Z>>>j:Z)>>>0>(Q=(_=165*W|0)>>>8)>>>0)?(z=Z-(Q+1<>2]=z,K=W-Q|0,J=z):(K=Q+1|0,J=Z),Q=j-(Z=24^(0|c(0|K)))|0,o[f>>2]=Q,j=(K<>2]=j,Z=7+((1&_)<<1)|0;do{if((0|Q)<0){if((K=0|o[(_=e+12|0)>>2])>>>0<(0|o[e+20>>2])>>>0){z=a[K>>0]|a[K+1>>0]<<8|a[K+2>>0]<<16|a[K+3>>0]<<24,o[_>>2]=K+3,z=J<<24|(K=0|Ri(0|z))>>>8,o[e>>2]=z,K=Q+24|0,o[f>>2]=K,$=z,ee=K;break}Yr(e),$=0|o[e>>2],ee=0|o[f>>2];break}$=J,ee=Q}while(0);return(Q=(ee?$>>>ee:$)>>>0>(J=(Q=145*j|0)>>>8)>>>0)?(o[e>>2]=$-(J+1<>2]=ee-J,o[i>>2]=(re<>2]||(o[e>>2]=2,o[e+8>>2]=9156,o[e+4>>2]=0),0|0;if(0==(0|o[(i=e+4|0)>>2])&&0==(0|Pr(e,r)))return 0|0;if(!(0|or(e,r))){e:do{if(0|ar(e,r)){o[(a=e+2300|0)>>2]=0,f=e+308|0;r:do{if((0|o[f>>2])>0){A=e+312|0,u=e+12|0,s=e+2296|0,l=e+288|0,c=e+2256|0,d=e+2248|0,v=0;i:for(;;){if(g=e+316+(28*(o[A>>2]&v)|0)|0,!(0|Rr(u,e))){b=12;break}if((0|o[s>>2])<(0|o[l>>2]))do{if(!(0|Tr(e,g))){b=17;break i}h=1+(0|o[s>>2])|0,o[s>>2]=h}while((0|h)<(0|o[l>>2]));if(g=0|o[c>>2],n[g+-2>>0]=0,n[g+-1>>0]=0,o[d>>2]=0,o[s>>2]=0,!(0|rr(e,r))){b=21;break}if(v=1+(0|o[a>>2])|0,o[a>>2]=v,(0|v)>=(0|o[f>>2]))break r}if(12==(0|b)){if(0|o[e>>2]){t=0;break e}o[e>>2]=7,o[e+8>>2]=9193,o[i>>2]=0,t=0;break e}if(17==(0|b)){if(0|o[e>>2]){t=0;break e}o[e>>2]=7,o[e+8>>2]=9234,o[i>>2]=0,t=0;break e}if(21==(0|b)){if(0|o[e>>2]){t=0;break e}o[e>>2]=6,o[e+8>>2]=9269,o[i>>2]=0,t=0;break e}}}while(0);if((0|o[e+148>>2])>0&&0==(0|Vi[7&o[(f=8148)>>2]](e+124|0))){t=0;break}t=1}else t=0}while(0);if(0|(b=(0|function(e,r){r|=0;var i=0;return i=(0|o[(e|=0)+148>>2])>0?0|Vi[7&o[8148>>2]](e+124|0):1,(e=0|o[r+52>>2])?(Ki[31&e](r),0|i):0|i}(e,r))&t))return o[i>>2]=0,0|b}return Ki[31&o[(b=8160)>>2]](e+124|0),q(e),Y(0|o[(b=e+2288|0)>>2]),o[b>>2]=0,o[e+2292>>2]=0,o[(b=e+12|0)>>2]=0,o[b+4>>2]=0,o[b+8>>2]=0,o[b+12>>2]=0,o[b+16>>2]=0,o[b+20>>2]=0,o[b+24>>2]=0,o[i>>2]=0,0|0}function Zr(e,r,i){e|=0,r|=0,i|=0;var n,t,a,f=0,A=0,u=0,s=0,c=0,d=0,v=0,b=0,h=0;if(n=O,O=O+160|0,f=n+148|0,A=n+144|0,t=n+36|0,o[(a=n)>>2]=e,o[(u=a+4|0)>>2]=r,o[a+8>>2]=1,o[A>>2]=0,s=0|Br(e,r,0,0,0,A,0,a),o[f>>2]=s,0|o[f>>2]?7==(0|o[f>>2])&0!=(0|o[A>>2])&&(c=4):0|o[A>>2]&&(c=4),4==(0|c)&&(o[f>>2]=4),0|(c=0|o[f>>2]))return O=n,0|(d=c);if(Z(t,520),c=0|o[a+12>>2],o[t+64>>2]=(0|o[a>>2])+c,o[t+60>>2]=(0|o[u>>2])-c,j(i,t),0|o[a+32>>2]){if(!(v=0|function(){var e;return(e=0|N(1,0,272))?(o[e>>2]=0,o[e+4>>2]=2,Ce(),0|e):0|0}()))return O=n,0|(d=1);h=0|function(e,r){var i,n=0,t=0;return(e|=0)?(r|=0)?(o[e+8>>2]=r,o[e>>2]=0,pe(i=e+24|0,0|o[r+64>>2],0|o[r+60>>2]),47==(0|ne(i,8))&&(n=1+(0|ne(i,14))|0,t=1+(0|ne(i,14))|0,ne(i,1),0==(0|ne(i,3)))&&0==(0|o[e+48>>2])?(o[e+4>>2]=2,o[r>>2]=n,o[r+4>>2]=t,0|Ie(n,t,1,e,0)?0|1:(z(e),0|0)):(o[e>>2]=3,z(e),0|0)):(o[e>>2]=2,0|0):0|0}(v,t)?(c=0|Ne(0|o[t>>2],0|o[t+4>>2],0|o[i+20>>2],0|o[i>>2]))||(0|function(e){var r,i,n,t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0;if(!(e|=0))return 0|0;r=0|o[e+8>>2],i=0|o[r+40>>2],n=e+4|0;e:do{if(0|o[n>>2]){if(o[(u=e+12|0)>>2]=o[i>>2],!(0|Te(0|o[i+20>>2],r,3))){o[e>>2]=2;break}if(s=0|o[r>>2],c=0|o[(l=e+100|0)>>2],b=0|Li(0|(v=0|o[(d=e+104|0)>>2]),((0|v)<0)<<31>>31|0,0|c,((0|c)<0)<<31>>31|0),c=0|g(),v=65535&s,s=0|xi(0|(h=0|Pi(0|s,((0|s)<0)<<31>>31|0,4)),0|g(),0|v,0),c=0|V(h=0|xi(0|s,0|g(),0|b,0|c),0|g(),4),o[(h=e+16|0)>>2]=c,!c){o[e>>2]=1,o[e+20>>2]=0;break}o[e+20>>2]=c+(b<<2)+(v<<2),v=r+92|0;do{if(0|o[v>>2]){if(b=0|o[r+12>>2],c=0|o[r+96>>2],s=0|o[r+16>>2],w=0|o[r+100>>2],C=0|xi(0|(m=0|Pi(0|c,0|(k=((0|c)<0)<<31>>31),5)),0|g(),84,0),p=0|V(k=0|xi(0|C,0|(0|g()),0|(p=0|Pi(0|c,0|k,2)),0|g()),0|g(),1)){if(o[e+264>>2]=p,o[e+268>>2]=p,Oe(p,b,s,(k=p+84|0)+m|0,c,w,0,4,k),0|o[v>>2]){A=13;break}A=12;break}o[e>>2]=1;break e}A=12}while(0);if(12==(0|A)&&(((v=0|o[o[u>>2]>>2])+-7|0)>>>0>3?I=v:A=13),13==(0|A)&&(ee(),I=0|o[o[u>>2]>>2]),I>>>0>10&&(Gr(),0|o[28+(0|o[u>>2])>>2])&&ee(),0|o[e+56>>2]&&(0|o[e+120>>2])>0&&0==(0|o[(v=e+136|0)>>2])&&0==(0|De(v,0|o[e+132>>2]))){o[e>>2]=1;break}o[n>>2]=0,t=h,a=l,f=d,A=23}else t=e+16|0,a=e+100|0,f=e+104|0,A=23}while(0);return 23==(0|A)&&0|te(e,0|o[t>>2],0|o[a>>2],0|o[f>>2],0|o[r+88>>2],2)?(o[i+16>>2]=o[e+116>>2],0|1):(z(e),0|0)}(v)?0:0|o[v>>2]):0|o[v>>2],U(v),b=h}else{if(!(c=0|function(){var e;return(e=0|N(1,0,2376))?(o[e>>2]=0,o[e+8>>2]=8858,8140,Ki[31&o[2035]](e+124|0),o[e+4>>2]=0,o[e+312>>2]=0,0|o[2549]||(o[2549]=1),0|e):0|e}()))return O=n,0|(d=1);o[c+2348>>2]=o[a+16>>2],o[c+2352>>2]=o[a+20>>2],0|Pr(c,t)?(u=t+4|0,f=i+20|0,(A=0|Ne(0|o[t>>2],0|o[u>>2],0|o[f>>2],0|o[i>>2]))?v=A:(s=0|function(e,r,i,n){return 0,i|=0,0,(e|=0)?0|(0==(0|o[e+40>>2])?0:(0|i)>511?2:0):0}(0|o[f>>2],0,0|o[t>>2],o[u>>2]),o[c+148>>2]=s,$e(0|o[f>>2],c),v=0|Hr(c,t)?0:0|o[c>>2])):v=0|o[c>>2],function(e){var r=0;(e|=0)&&(Ki[31&o[(r=8160)>>2]](e+124|0),q(e),Y(0|o[(r=e+2288|0)>>2]),o[r>>2]=0,o[e+2292>>2]=0,o[(r=e+12|0)>>2]=0,o[r+4>>2]=0,o[r+8>>2]=0,o[r+12>>2]=0,o[r+16>>2]=0,o[r+20>>2]=0,o[r+24>>2]=0,o[e+4>>2]=0,Y(e))}(c),b=v}return 0|b?(Ze(0|o[i>>2]),O=n,0|(d=b)):(b=0|o[i+20>>2])&&0|o[b+48>>2]?(d=0|function(e){var r,i,n=0,t=0,a=0,f=0;return(e|=0)?(r=(0|o[e+8>>2])-1|0,(0|o[e>>2])>>>0<=10?(t=0|o[(n=e+20|0)>>2],a=0|l(t,r),o[(f=e+16|0)>>2]=(0|o[f>>2])+a,o[n>>2]=0-t,0|0):(n=0|o[(t=e+32|0)>>2],a=0|l(n,r),o[(f=e+16|0)>>2]=(0|o[f>>2])+a,o[t>>2]=0-n,n=r>>1,a=0|o[(t=e+36|0)>>2],f=0|l(a,n),o[(i=e+20|0)>>2]=(0|o[i>>2])+f,o[t>>2]=0-a,t=0|o[(a=e+40|0)>>2],f=0|l(t,n),o[(n=e+24|0)>>2]=(0|o[n>>2])+f,o[a>>2]=0-t,(a=0|o[(t=e+28|0)>>2])?(e=0|o[(f=e+44|0)>>2],n=a+(0|l(e,r))|0,o[t>>2]=n,o[f>>2]=0-e,0|0):0|0)):0|2}(0|o[i>>2]),O=n,0|d):(O=n,0|(d=0))}function jr(e,r,i){e|=0,r|=0;var n,t,a,f=0,A=0,u=0,s=0,l=0,c=0,d=0;if(n=O,O=O+144|0,t=n+88|0,a=n,!(i|=0))return O=n,0|(f=2);e:do{if(e){s=(u=i)+40|0;do{o[u>>2]=0,u=u+4|0}while((0|u)<(0|s));switch(0|(c=0|Br(e,r,i,l=i+4|0,i+8|0,i+12|0,i+16|0,0))){case 0:break;case 7:return O=n,0|(f=3);default:A=c;break e}s=(u=t+4|0)+52|0;do{o[u>>2]=0,u=u+4|0}while((0|u)<(0|s));return o[t+20>>2]=i+124,u=i+40|0,o[t>>2]=u,0|Je(u,i)?(He(a,520),o[a>>2]=o[u>>2],o[a+4>>2]=o[i>>2],o[a+8>>2]=o[l>>2],o[t>>2]=a,d=(s=0|Zr(e,r,t))||0|je(a,u),Ze(a),O=n,0|(f=d)):(f=0|Zr(e,r,t),O=n,0|f)}A=2}while(0);return O=n,0|(f=A)}function Kr(e){e|=0;var r,i=0,n=0,t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0;r=O,O=O+16|0,i=r;do{if(e>>>0<245){if(t=(n=e>>>0<11?16:e+11&-8)>>>3,a=0|o[2550],3&(f=t?a>>>t:a)|0)return l=0|o[(s=(u=10240+((A=(1&f^1)+t|0)<<1<<2)|0)+8|0)>>2],(0|(d=0|o[(c=l+8|0)>>2]))==(0|u)?o[2550]=a&~(1<>2]=u,o[s>>2]=d),d=A<<3,o[l+4>>2]=3|d,o[(A=l+d+4|0)>>2]=1|o[A>>2],O=r,0|c;if(n>>>0>(c=0|o[2552])>>>0){if(0|f)return f=0|o[(l=(s=10240+((u=((A=(t=(d=(A=((d=f<>>12&16)?A>>>d:A)>>>5&8)|d|(t=(f=A?t>>>A:t)>>>2&4)|(f=(l=t?f>>>t:f)>>>1&2)|(l=(s=f?l>>>f:l)>>>1&1))+(l?s>>>l:s)|0)<<1<<2)|0)+8|0)>>2],(0|(d=0|o[(t=f+8|0)>>2]))==(0|s)?(A=a&~(1<>2]=s,o[l>>2]=d,v=a),u=(d=u<<3)-n|0,o[f+4>>2]=3|n,o[(l=f+n|0)+4>>2]=1|u,o[f+d>>2]=u,0|c&&(d=0|o[2555],s=10240+((f=c>>>3)<<1<<2)|0,v&(A=1<>2],b=A):(o[2550]=v|A,g=s,b=s+8|0),o[b>>2]=d,o[g+12>>2]=d,o[d+8>>2]=g,o[d+12>>2]=s),o[2552]=u,o[2555]=l,O=r,0|t;if(t=0|o[2551]){for(f=h=0|o[10504+(((l=(s=(u=(l=(t&0-t)-1|0)>>>12&16)?l>>>u:l)>>>5&8)|u|(s=(d=l?s>>>l:s)>>>2&4)|(d=(A=s?d>>>s:d)>>>1&2)|(A=(f=d?A>>>d:A)>>>1&1))+(A?f>>>A:f)<<2)>>2],A=h,d=(-8&o[h+4>>2])-n|0;;){if(h=0|o[f+16>>2])w=h;else{if(!(s=0|o[f+20>>2]))break;w=s}f=w,A=(s=(h=(-8&o[w+4>>2])-n|0)>>>0>>0)?w:A,d=s?h:d}if((f=A+n|0)>>>0>A>>>0){h=0|o[A+24>>2],s=0|o[A+12>>2];do{if((0|s)==(0|A)){if(l=0|o[(u=A+20|0)>>2])p=l,I=u;else{if(!(m=0|o[(k=A+16|0)>>2])){C=0;break}p=m,I=k}for(u=p,l=I;;){if(m=0|o[(k=u+20|0)>>2])D=m,L=k;else{if(!(E=0|o[(y=u+16|0)>>2]))break;D=E,L=y}u=D,l=L}o[l>>2]=0,C=u}else k=0|o[A+8>>2],o[k+12>>2]=s,o[s+8>>2]=k,C=s}while(0);do{if(0|h){if(s=0|o[A+28>>2],(0|A)==(0|o[(k=10504+(s<<2)|0)>>2])){if(o[k>>2]=C,!C){o[2551]=t&~(1<>2])==(0|A)?s:h+20|0)>>2]=C,!C)break;o[C+24>>2]=h,0|(s=0|o[A+16>>2])&&(o[C+16>>2]=s,o[s+24>>2]=C),0|(s=0|o[A+20>>2])&&(o[C+20>>2]=s,o[s+24>>2]=C)}}while(0);return d>>>0<16?(h=d+n|0,o[A+4>>2]=3|h,o[(t=A+h+4|0)>>2]=1|o[t>>2]):(o[A+4>>2]=3|n,o[f+4>>2]=1|d,o[f+d>>2]=d,0|c&&(t=0|o[2555],s=10240+((h=c>>>3)<<1<<2)|0,(k=1<>2],S=k):(o[2550]=k|a,x=s,S=s+8|0),o[S>>2]=t,o[x+12>>2]=t,o[t+8>>2]=x,o[t+12>>2]=s),o[2552]=d,o[2555]=f),O=r,0|(A+8|0)}B=n}else B=n}else B=n}else if(e>>>0<=4294967231)if(t=-8&(s=e+11|0),k=0|o[2551]){h=0-t|0,M=(m=s>>>8)?t>>>0>16777215?31:1&((s=(m=14-((E=(m=(s=m<<(y=(s=m+1048320|0)>>>16&8))+520192|0)>>>16&4)|y|(F=(s=(m=s<>>16&2))+((s=m<>>15)|0)+7|0)?t>>>s:t)|m<<1:0,m=0|o[10504+(M<<2)>>2];e:do{if(m)for(s=0,F=h,y=m,E=t<<(31==(0|M)?0:25-(M>>>1)|0),G=0;;){if((q=(-8&o[y+4>>2])-t|0)>>>0>>0){if(!q){Y=y,U=0,z=y,T=65;break e}W=y,X=q}else W=s,X=F;if(Q=0==(0|(q=0|o[y+20>>2]))|(0|q)==(0|(y=0|o[y+16+(E>>>31<<2)>>2]))?G:q,!y){_=Q,P=W,R=X,T=61;break}s=W,F=X,E<<=1,G=Q}else _=0,P=0,R=h,T=61}while(0);if(61==(0|T)){if(0==(0|_)&0==(0|P)){if(!(h=((m=2<>>12&16)?m>>>h:m)>>>5&8)|h|(n=(A=m?n>>>m:n)>>>2&4)|(A=(f=n?A>>>n:A)>>>1&2)|(f=(d=A?f>>>A:f)>>>1&1))+(f?d>>>f:d)<<2)>>2]}else N=P,V=_;V?(Y=N,U=R,z=V,T=65):(H=N,Z=R)}if(65==(0|T))for(d=Y,f=U,A=z;;){if(m=(h=(n=(-8&o[A+4>>2])-t|0)>>>0>>0)?n:f,n=h?A:d,!(j=(h=0|o[A+16>>2])||0|o[A+20>>2])){H=n,Z=m;break}d=n,f=m,A=j}if(0!=(0|H)&&Z>>>0<((0|o[2552])-t|0)>>>0&&(A=H+t|0)>>>0>H>>>0){f=0|o[H+24>>2],d=0|o[H+12>>2];do{if((0|d)==(0|H)){if(n=0|o[(m=H+20|0)>>2])J=n,$=m;else{if(!(a=0|o[(h=H+16|0)>>2])){K=0;break}J=a,$=h}for(m=J,n=$;;){if(a=0|o[(h=m+20|0)>>2])ee=a,re=h;else{if(!(G=0|o[(c=m+16|0)>>2]))break;ee=G,re=c}m=ee,n=re}o[n>>2]=0,K=m}else h=0|o[H+8>>2],o[h+12>>2]=d,o[d+8>>2]=h,K=d}while(0);do{if(f){if(d=0|o[H+28>>2],(0|H)==(0|o[(h=10504+(d<<2)|0)>>2])){if(o[h>>2]=K,!K){h=k&~(1<>2])==(0|H)?h:f+20|0)>>2]=K,!K){ie=k;break}o[K+24>>2]=f,0|(h=0|o[H+16>>2])&&(o[K+16>>2]=h,o[h+24>>2]=K),(h=0|o[H+20>>2])?(o[K+20>>2]=h,o[h+24>>2]=K,ie=k):ie=k}else ie=k}while(0);e:do{if(Z>>>0<16)k=Z+t|0,o[H+4>>2]=3|k,o[(f=H+k+4|0)>>2]=1|o[f>>2];else{if(o[H+4>>2]=3|t,o[A+4>>2]=1|Z,o[A+Z>>2]=Z,f=Z>>>3,Z>>>0<256){k=10240+(f<<1<<2)|0,(h=0|o[2550])&(d=1<>2],te=d):(o[2550]=h|d,ne=k,te=k+8|0),o[te>>2]=A,o[ne+12>>2]=A,o[A+8>>2]=ne,o[A+12>>2]=k;break}if(oe=(k=Z>>>8)?Z>>>0>16777215?31:1&((d=(k=14-((f=(k=(d=k<<(h=(d=k+1048320|0)>>>16&8))+520192|0)>>>16&4)|h|(a=(d=(k=d<>>16&2))+((d=k<>>15)|0)+7|0)?Z>>>d:Z)|k<<1:0,k=10504+(oe<<2)|0,o[A+28>>2]=oe,o[(d=A+16|0)+4>>2]=0,o[d>>2]=0,!(ie&(d=1<>2]=A,o[A+24>>2]=k,o[A+12>>2]=A,o[A+8>>2]=A;break}d=0|o[k>>2];r:do{if((-8&o[d+4>>2]|0)!=(0|Z)){for(k=Z<<(31==(0|oe)?0:25-(oe>>>1)|0),a=d;h=0|o[(fe=a+16+(k>>>31<<2)|0)>>2];){if((-8&o[h+4>>2]|0)==(0|Z)){ae=h;break r}k<<=1,a=h}o[fe>>2]=A,o[A+24>>2]=a,o[A+12>>2]=A,o[A+8>>2]=A;break e}ae=d}while(0);m=0|o[(d=ae+8|0)>>2],o[m+12>>2]=A,o[d>>2]=A,o[A+8>>2]=m,o[A+12>>2]=ae,o[A+24>>2]=0}}while(0);return O=r,0|(H+8|0)}B=t}else B=t;else B=-1}while(0);if((H=0|o[2552])>>>0>=B>>>0)return ae=H-B|0,fe=0|o[2555],ae>>>0>15?(Z=fe+B|0,o[2555]=Z,o[2552]=ae,o[Z+4>>2]=1|ae,o[fe+H>>2]=ae,o[fe+4>>2]=3|B):(o[2552]=0,o[2555]=0,o[fe+4>>2]=3|H,o[(ae=fe+H+4|0)>>2]=1|o[ae>>2]),O=r,0|(fe+8|0);if((fe=0|o[2553])>>>0>B>>>0)return ae=fe-B|0,o[2553]=ae,Z=(H=0|o[2556])+B|0,o[2556]=Z,o[Z+4>>2]=1|ae,o[H+4>>2]=3|B,O=r,0|(H+8|0);if(0|o[2668]?Ae=0|o[2670]:(o[2670]=4096,o[2669]=4096,o[2671]=-1,o[2672]=-1,o[2673]=0,o[2661]=0,o[2668]=-16&i^1431655768,Ae=4096),i=B+48|0,(Ae=(ae=Ae+(H=B+47|0)|0)&(Z=0-Ae|0))>>>0<=B>>>0)return O=r,0|0;if(0|(oe=0|o[2660])&&(ne=(ie=0|o[2658])+Ae|0)>>>0<=ie>>>0|ne>>>0>oe>>>0)return O=r,0|0;e:do{if(4&o[2661])ve=0,T=143;else{oe=0|o[2556];r:do{if(oe){for(ne=10648;!((ie=0|o[ne>>2])>>>0<=oe>>>0&&(ie+(0|o[ne+4>>2])|0)>>>0>oe>>>0);){if(!(ie=0|o[ne+8>>2])){T=128;break r}ne=ie}if((ie=ae-fe&Z)>>>0<2147483647)if((0|(te=0|qi(0|ie)))==((0|o[ne>>2])+(0|o[ne+4>>2])|0)){if(-1!=(0|te)){se=ie,le=te,T=145;break e}ue=ie}else ce=te,de=ie,T=136;else ue=0}else T=128}while(0);do{if(128==(0|T))if(-1!=(0|(oe=0|qi(0)))&&(t=oe,ie=(K=(0==((te=(ie=0|o[2669])+-1|0)&t|0)?0:(te+t&0-ie)-t|0)+Ae|0)+(t=0|o[2658])|0,K>>>0>B>>>0&K>>>0<2147483647)){if(0|(te=0|o[2660])&&ie>>>0<=t>>>0|ie>>>0>te>>>0){ue=0;break}if((0|(te=0|qi(0|K)))==(0|oe)){se=K,le=oe,T=145;break e}ce=te,de=K,T=136}else ue=0}while(0);do{if(136==(0|T)){if(K=0-de|0,!(i>>>0>de>>>0&de>>>0<2147483647&-1!=(0|ce))){if(-1==(0|ce)){ue=0;break}se=de,le=ce,T=145;break e}if((oe=H-de+(te=0|o[2670])&0-te)>>>0>=2147483647){se=de,le=ce,T=145;break e}if(-1==(0|qi(0|oe))){qi(0|K),ue=0;break}se=oe+de|0,le=ce,T=145;break e}}while(0);o[2661]=4|o[2661],ve=ue,T=143}}while(0);if(143==(0|T)&&Ae>>>0<2147483647&&!(-1==(0|(ue=0|qi(0|Ae)))|1^(de=(ce=(Ae=0|qi(0))-ue|0)>>>0>(B+40|0)>>>0)|ue>>>0>>0&-1!=(0|ue)&-1!=(0|Ae)^1)&&(se=de?ce:ve,le=ue,T=145),145==(0|T)){ue=(0|o[2658])+se|0,o[2658]=ue,ue>>>0>(0|o[2659])>>>0&&(o[2659]=ue),ue=0|o[2556];e:do{if(ue){for(ve=10648;;){if((0|le)==((ge=0|o[ve>>2])+(be=0|o[ve+4>>2])|0)){T=154;break}if(!(ce=0|o[ve+8>>2]))break;ve=ce}if(154==(0|T)&&(ce=ve+4|0,0==(8&o[ve+12>>2]|0))&&le>>>0>ue>>>0&ge>>>0<=ue>>>0){o[ce>>2]=be+se,de=ue+(Ae=0==(7&(de=ue+8|0)|0)?0:0-de&7)|0,H=(ce=(0|o[2553])+se|0)-Ae|0,o[2556]=de,o[2553]=H,o[de+4>>2]=1|H,o[ue+ce+4>>2]=40,o[2557]=o[2672];break}for(le>>>0<(0|o[2554])>>>0&&(o[2554]=le),ce=le+se|0,H=10648;;){if((0|o[H>>2])==(0|ce)){T=162;break}if(!(de=0|o[H+8>>2]))break;H=de}if(162==(0|T)&&0==(8&o[H+12>>2]|0)){o[H>>2]=le,o[(ve=H+4|0)>>2]=(0|o[ve>>2])+se,de=le+(0==(7&(ve=le+8|0)|0)?0:0-ve&7)|0,Ae=ce+(0==(7&(ve=ce+8|0)|0)?0:0-ve&7)|0,ve=de+B|0,i=Ae-de-B|0,o[de+4>>2]=3|B;r:do{if((0|ue)==(0|Ae))Z=(0|o[2553])+i|0,o[2553]=Z,o[2556]=ve,o[ve+4>>2]=1|Z;else{if((0|o[2555])==(0|Ae)){Z=(0|o[2552])+i|0,o[2552]=Z,o[2555]=ve,o[ve+4>>2]=1|Z,o[ve+Z>>2]=Z;break}if(1==(3&(Z=0|o[Ae+4>>2])|0)){fe=-8&Z,ae=Z>>>3;i:do{if(Z>>>0<256){if(oe=0|o[Ae+8>>2],(0|(K=0|o[Ae+12>>2]))==(0|oe)){o[2550]=o[2550]&~(1<>2]=K,o[K+8>>2]=oe;break}oe=0|o[Ae+24>>2],K=0|o[Ae+12>>2];do{if((0|K)==(0|Ae)){if(t=0|o[(ie=(te=Ae+16|0)+4|0)>>2])we=t,ke=ie;else{if(!(re=0|o[te>>2])){he=0;break}we=re,ke=te}for(ie=we,t=ke;;){if(re=0|o[(te=ie+20|0)>>2])me=re,Ce=te;else{if(!($=0|o[(ee=ie+16|0)>>2]))break;me=$,Ce=ee}ie=me,t=Ce}o[t>>2]=0,he=ie}else te=0|o[Ae+8>>2],o[te+12>>2]=K,o[K+8>>2]=te,he=K}while(0);if(!oe)break;a=10504+((K=0|o[Ae+28>>2])<<2)|0;do{if((0|o[a>>2])==(0|Ae)){if(o[a>>2]=he,0|he)break;o[2551]=o[2551]&~(1<>2])==(0|Ae)?te:oe+20|0)>>2]=he,!he)break i}while(0);if(o[he+24>>2]=oe,0|(a=0|o[(K=Ae+16|0)>>2])&&(o[he+16>>2]=a,o[a+24>>2]=he),!(a=0|o[K+4>>2]))break;o[he+20>>2]=a,o[a+24>>2]=he}while(0);pe=Ae+fe|0,Ie=fe+i|0}else pe=Ae,Ie=i;if(o[(ae=pe+4|0)>>2]=-2&o[ae>>2],o[ve+4>>2]=1|Ie,o[ve+Ie>>2]=Ie,ae=Ie>>>3,Ie>>>0<256){Z=10240+(ae<<1<<2)|0,(ne=0|o[2550])&(a=1<>2],Ee=a):(o[2550]=ne|a,ye=Z,Ee=Z+8|0),o[Ee>>2]=ve,o[ye+12>>2]=ve,o[ve+8>>2]=ye,o[ve+12>>2]=Z;break}Z=Ie>>>8;do{if(Z){if(Ie>>>0>16777215){De=31;break}De=1&((a=(ae=14-((K=(ae=(a=Z<<(ne=(a=Z+1048320|0)>>>16&8))+520192|0)>>>16&4)|ne|(te=(a=(ae=a<>>16&2))+((a=ae<>>15)|0)+7|0)?Ie>>>a:Ie)|ae<<1}else De=0}while(0);if(Z=10504+(De<<2)|0,o[ve+28>>2]=De,o[(fe=ve+16|0)+4>>2]=0,o[fe>>2]=0,!((fe=0|o[2551])&(ae=1<>2]=ve,o[ve+24>>2]=Z,o[ve+12>>2]=ve,o[ve+8>>2]=ve;break}ae=0|o[Z>>2];i:do{if((-8&o[ae+4>>2]|0)!=(0|Ie)){for(Z=Ie<<(31==(0|De)?0:25-(De>>>1)|0),fe=ae;a=0|o[(xe=fe+16+(Z>>>31<<2)|0)>>2];){if((-8&o[a+4>>2]|0)==(0|Ie)){Le=a;break i}Z<<=1,fe=a}o[xe>>2]=ve,o[ve+24>>2]=fe,o[ve+12>>2]=ve,o[ve+8>>2]=ve;break r}Le=ae}while(0);Z=0|o[(ae=Le+8|0)>>2],o[Z+12>>2]=ve,o[ae>>2]=ve,o[ve+8>>2]=Z,o[ve+12>>2]=Le,o[ve+24>>2]=0}}while(0);return O=r,0|(de+8|0)}for(ve=10648;!((i=0|o[ve>>2])>>>0<=ue>>>0&&(Se=i+(0|o[ve+4>>2])|0)>>>0>ue>>>0);)ve=0|o[ve+8>>2];i=(ve=(i=(ve=Se+-47|0)+(0==(7&(de=ve+8|0)|0)?0:0-de&7)|0)>>>0<(de=ue+16|0)>>>0?ue:i)+8|0,ce=le+(H=0==(7&(ce=le+8|0)|0)?0:0-ce&7)|0,Z=(Ae=se+-40|0)-H|0,o[2556]=ce,o[2553]=Z,o[ce+4>>2]=1|Z,o[le+Ae+4>>2]=40,o[2557]=o[2672],o[(Ae=ve+4|0)>>2]=27,o[i>>2]=o[2662],o[i+4>>2]=o[2663],o[i+8>>2]=o[2664],o[i+12>>2]=o[2665],o[2662]=le,o[2663]=se,o[2665]=0,o[2664]=i,i=ve+24|0;do{Z=i,o[(i=i+4|0)>>2]=7}while((Z+8|0)>>>0>>0);if((0|ve)!=(0|ue)){if(i=ve-ue|0,o[Ae>>2]=-2&o[Ae>>2],o[ue+4>>2]=1|i,o[ve>>2]=i,Z=i>>>3,i>>>0<256){ce=10240+(Z<<1<<2)|0,(H=0|o[2550])&(ae=1<>2],Me=ae):(o[2550]=H|ae,Be=ce,Me=ce+8|0),o[Me>>2]=ue,o[Be+12>>2]=ue,o[ue+8>>2]=Be,o[ue+12>>2]=ce;break}if(Fe=(ce=i>>>8)?i>>>0>16777215?31:1&((ae=(ce=14-((Z=(ce=(ae=ce<<(H=(ae=ce+1048320|0)>>>16&8))+520192|0)>>>16&4)|H|(oe=(ae=(ce=ae<>>16&2))+((ae=ce<>>15)|0)+7|0)?i>>>ae:i)|ce<<1:0,ce=10504+(Fe<<2)|0,o[ue+28>>2]=Fe,o[ue+20>>2]=0,o[de>>2]=0,!((ae=0|o[2551])&(oe=1<>2]=ue,o[ue+24>>2]=ce,o[ue+12>>2]=ue,o[ue+8>>2]=ue;break}oe=0|o[ce>>2];r:do{if((-8&o[oe+4>>2]|0)!=(0|i)){for(ce=i<<(31==(0|Fe)?0:25-(Fe>>>1)|0),ae=oe;H=0|o[(Pe=ae+16+(ce>>>31<<2)|0)>>2];){if((-8&o[H+4>>2]|0)==(0|i)){_e=H;break r}ce<<=1,ae=H}o[Pe>>2]=ue,o[ue+24>>2]=ae,o[ue+12>>2]=ue,o[ue+8>>2]=ue;break e}_e=oe}while(0);oe=0|o[(i=_e+8|0)>>2],o[oe+12>>2]=ue,o[i>>2]=ue,o[ue+8>>2]=oe,o[ue+12>>2]=_e,o[ue+24>>2]=0}}else 0==(0|(oe=0|o[2554]))|le>>>0>>0&&(o[2554]=le),o[2662]=le,o[2663]=se,o[2665]=0,o[2559]=o[2668],o[2558]=-1,o[2563]=10240,o[2562]=10240,o[2565]=10248,o[2564]=10248,o[2567]=10256,o[2566]=10256,o[2569]=10264,o[2568]=10264,o[2571]=10272,o[2570]=10272,o[2573]=10280,o[2572]=10280,o[2575]=10288,o[2574]=10288,o[2577]=10296,o[2576]=10296,o[2579]=10304,o[2578]=10304,o[2581]=10312,o[2580]=10312,o[2583]=10320,o[2582]=10320,o[2585]=10328,o[2584]=10328,o[2587]=10336,o[2586]=10336,o[2589]=10344,o[2588]=10344,o[2591]=10352,o[2590]=10352,o[2593]=10360,o[2592]=10360,o[2595]=10368,o[2594]=10368,o[2597]=10376,o[2596]=10376,o[2599]=10384,o[2598]=10384,o[2601]=10392,o[2600]=10392,o[2603]=10400,o[2602]=10400,o[2605]=10408,o[2604]=10408,o[2607]=10416,o[2606]=10416,o[2609]=10424,o[2608]=10424,o[2611]=10432,o[2610]=10432,o[2613]=10440,o[2612]=10440,o[2615]=10448,o[2614]=10448,o[2617]=10456,o[2616]=10456,o[2619]=10464,o[2618]=10464,o[2621]=10472,o[2620]=10472,o[2623]=10480,o[2622]=10480,o[2625]=10488,o[2624]=10488,i=le+(de=0==(7&(i=le+8|0)|0)?0:0-i&7)|0,ve=(oe=se+-40|0)-de|0,o[2556]=i,o[2553]=ve,o[i+4>>2]=1|ve,o[le+oe+4>>2]=40,o[2557]=o[2672]}while(0);if((le=0|o[2553])>>>0>B>>>0)return se=le-B|0,o[2553]=se,ue=(le=0|o[2556])+B|0,o[2556]=ue,o[ue+4>>2]=1|se,o[le+4>>2]=3|B,O=r,0|(le+8|0)}return o[(le=10696)>>2]=12,O=r,0|0}function Jr(e){var r,i=0,n=0,t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0;if(e|=0){i=e+-8|0,n=0|o[2554],r=i+(e=-8&(t=0|o[e+-4>>2]))|0;do{if(1&t)l=i,c=e,d=i;else{if(a=0|o[i>>2],!(3&t))return;if(A=a+e|0,(f=i+(0-a)|0)>>>0>>0)return;if((0|o[2555])==(0|f)){if(3!=(3&(s=0|o[(u=r+4|0)>>2])|0)){l=f,c=A,d=f;break}return o[2552]=A,o[u>>2]=-2&s,o[f+4>>2]=1|A,void(o[f+A>>2]=A)}if(s=a>>>3,a>>>0<256){if(a=0|o[f+8>>2],(0|(u=0|o[f+12>>2]))==(0|a)){o[2550]=o[2550]&~(1<>2]=u,o[u+8>>2]=a,l=f,c=A,d=f;break}a=0|o[f+24>>2],u=0|o[f+12>>2];do{if((0|u)==(0|f)){if(g=0|o[(v=(s=f+16|0)+4|0)>>2])w=g,k=v;else{if(!(b=0|o[s>>2])){h=0;break}w=b,k=s}for(v=w,g=k;;){if(b=0|o[(s=v+20|0)>>2])p=b,I=s;else{if(!(C=0|o[(m=v+16|0)>>2]))break;p=C,I=m}v=p,g=I}o[g>>2]=0,h=v}else s=0|o[f+8>>2],o[s+12>>2]=u,o[u+8>>2]=s,h=u}while(0);if(a){if(u=0|o[f+28>>2],(0|o[(s=10504+(u<<2)|0)>>2])==(0|f)){if(o[s>>2]=h,!h){o[2551]=o[2551]&~(1<>2])==(0|f)?u:a+20|0)>>2]=h,!h){l=f,c=A,d=f;break}o[h+24>>2]=a,0|(s=0|o[(u=f+16|0)>>2])&&(o[h+16>>2]=s,o[s+24>>2]=h),(s=0|o[u+4>>2])?(o[h+20>>2]=s,o[s+24>>2]=h,l=f,c=A,d=f):(l=f,c=A,d=f)}else l=f,c=A,d=f}}while(0);if(!(d>>>0>=r>>>0)&&1&(e=0|o[(i=r+4|0)>>2])){if(2&e)o[i>>2]=-2&e,o[l+4>>2]=1|c,o[d+c>>2]=c,S=c;else{if((0|o[2556])==(0|r)){if(h=(0|o[2553])+c|0,o[2553]=h,o[2556]=l,o[l+4>>2]=1|h,(0|l)!=(0|o[2555]))return;return o[2555]=0,void(o[2552]=0)}if((0|o[2555])==(0|r))return h=(0|o[2552])+c|0,o[2552]=h,o[2555]=d,o[l+4>>2]=1|h,void(o[d+h>>2]=h);h=(-8&e)+c|0,I=e>>>3;do{if(e>>>0<256){if(p=0|o[r+8>>2],(0|(k=0|o[r+12>>2]))==(0|p)){o[2550]=o[2550]&~(1<>2]=k,o[k+8>>2]=p;break}p=0|o[r+24>>2],k=0|o[r+12>>2];do{if((0|k)==(0|r)){if(t=0|o[(n=(w=r+16|0)+4|0)>>2])E=t,D=n;else{if(!(s=0|o[w>>2])){y=0;break}E=s,D=w}for(n=E,t=D;;){if(s=0|o[(w=n+20|0)>>2])L=s,x=w;else{if(!(b=0|o[(u=n+16|0)>>2]))break;L=b,x=u}n=L,t=x}o[t>>2]=0,y=n}else v=0|o[r+8>>2],o[v+12>>2]=k,o[k+8>>2]=v,y=k}while(0);if(0|p){if(k=0|o[r+28>>2],(0|o[(f=10504+(k<<2)|0)>>2])==(0|r)){if(o[f>>2]=y,!y){o[2551]=o[2551]&~(1<>2])==(0|r)?k:p+20|0)>>2]=y,!y)break;o[y+24>>2]=p,0|(f=0|o[(k=r+16|0)>>2])&&(o[y+16>>2]=f,o[f+24>>2]=y),0|(f=0|o[k+4>>2])&&(o[y+20>>2]=f,o[f+24>>2]=y)}}while(0);if(o[l+4>>2]=1|h,o[d+h>>2]=h,(0|l)==(0|o[2555]))return void(o[2552]=h);S=h}if(c=S>>>3,S>>>0<256)return d=10240+(c<<1<<2)|0,(e=0|o[2550])&(i=1<>2],M=i):(o[2550]=e|i,B=d,M=d+8|0),o[M>>2]=l,o[B+12>>2]=l,o[l+8>>2]=B,void(o[l+12>>2]=d);F=(d=S>>>8)?S>>>0>16777215?31:1&((B=(d=14-((i=(d=(B=d<<(M=(B=d+1048320|0)>>>16&8))+520192|0)>>>16&4)|M|(e=(B=(d=B<>>16&2))+((B=d<>>15)|0)+7|0)?S>>>B:S)|d<<1:0,d=10504+(F<<2)|0,o[l+28>>2]=F,o[l+20>>2]=0,o[l+16>>2]=0,B=0|o[2551],e=1<>2];r:do{if((-8&o[M+4>>2]|0)!=(0|S)){for(i=S<<(31==(0|F)?0:25-(F>>>1)|0),c=M;h=0|o[(P=c+16+(i>>>31<<2)|0)>>2];){if((-8&o[h+4>>2]|0)==(0|S)){_=h;break r}i<<=1,c=h}o[P>>2]=l,o[l+24>>2]=c,o[l+12>>2]=l,o[l+8>>2]=l;break e}_=M}while(0);p=0|o[(M=_+8|0)>>2],o[p+12>>2]=l,o[M>>2]=l,o[l+8>>2]=p,o[l+12>>2]=_,o[l+24>>2]=0}else o[2551]=B|e,o[d>>2]=l,o[l+24>>2]=d,o[l+12>>2]=l,o[l+8>>2]=l}while(0);if(l=(0|o[2558])-1|0,o[2558]=l,!(0|l)){for(l=10656;_=0|o[l>>2];)l=_+8|0;o[2558]=-1}}}}function $r(e,r){r|=0;var i=0,n=0;return(e|=0)?(i=0|l(r,e),n=(r|e)>>>0>65535?(0|(i>>>0)/(e>>>0))==(0|r)?i:-1:i):n=0,(i=0|Kr(n))&&3&o[i+-4>>2]?(Oi(0|i,0,0|n),0|i):0|i}function ei(e,r){return 0,0,0}function ri(e){return 0,0}function ii(e){return 0,0}function ni(e){return 0,0}function ti(e){var r=0;return(e|=0)>>>0>4294963200?(o[10696>>2]=0-e,r=-1):r=e,0|r}function oi(){return 10696}function ai(e,r,i){e|=0,r|=0,i|=0;var t=0,o=0,a=0,f=0,A=0,u=0;e:do{if(i){for(o=e,a=i,f=r;(A=0|n[o>>0])<<24>>24==(u=0|n[f>>0])<<24>>24;){if(!(a=a+-1|0)){t=0;break e}o=o+1|0,f=f+1|0}t=(255&A)-(255&u)|0}else t=0}while(0);return 0|t}function fi(e,r,i){e|=0;var t,a=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0;t=255&(r|=0),a=0!=(0|(i|=0));e:do{if(a&0!=(3&e|0))for(f=255&r,A=e,u=i;;){if((0|n[A>>0])==f<<24>>24){s=A,c=u,d=6;break e}if(!((b=0!=(0|(g=u+-1|0)))&0!=(3&(v=A+1|0)|0))){h=v,w=g,k=b,d=5;break}A=v,u=g}else h=e,w=i,k=a,d=5}while(0);5==(0|d)&&(k?(s=h,c=w,d=6):d=16);e:do{if(6==(0|d)){if(w=255&r,(0|n[s>>0])==w<<24>>24){if(c){m=s;break}d=16;break}h=0|l(t,16843009);r:do{if(c>>>0>3)for(k=s,a=c;;){if((-2139062144&(i=o[k>>2]^h)^-2139062144)&i+-16843009|0){C=a,p=k;break r}if(i=k+4|0,!((e=a+-4|0)>>>0>3)){I=i,y=e,d=11;break}k=i,a=e}else I=s,y=c,d=11}while(0);if(11==(0|d)){if(!y){d=16;break}C=y,p=I}for(h=p,a=C;;){if((0|n[h>>0])==w<<24>>24){m=h;break e}if(!(a=a+-1|0)){d=16;break}h=h+1|0}}}while(0);return 16==(0|d)&&(m=0),0|m}function Ai(e){return((e|=0)+-48|0)>>>0<10|0}function ui(e,r,i){e|=0,r|=0,i|=0;var t,a,f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0;t=O,O=O+224|0,a=t+208|0,f=t+80|0,u=t,l=(s=A=t+160|0)+40|0;do{o[s>>2]=0,s=s+4|0}while((0|s)<(0|l));return o[a>>2]=o[i>>2],(0|si(0,r,a,f,A))<0?c=-1:(d=(0|o[e+76>>2])>-1?0|li(e):0,s=32&(i=0|o[e>>2]),(0|n[e+74>>0])<1&&(o[e>>2]=-33&i),0|o[(i=e+48|0)>>2]?w=0|si(e,r,a,f,A):(v=0|o[(l=e+44|0)>>2],o[l>>2]=u,o[(g=e+28|0)>>2]=u,o[(b=e+20|0)>>2]=u,o[i>>2]=80,o[(h=e+16|0)>>2]=u+80,u=0|si(e,r,a,f,A),v?(Zi[15&o[e+36>>2]](e,0,0),k=0==(0|o[b>>2])?-1:u,o[l>>2]=v,o[i>>2]=0,o[h>>2]=0,o[g>>2]=0,o[b>>2]=0,w=k):w=u),A=0|o[e>>2],o[e>>2]=A|s,0|d&&ci(e),c=0==(32&A|0)?w:-1),O=t,0|c}function si(e,r,i,a,f){e|=0,r|=0,i|=0,a|=0,f|=0;var u,s,l,c,d,v,b,h,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0;u=O,O=O+64|0,l=u+40|0,w=u,c=u+48|0,d=u+60|0,o[(s=u+56|0)>>2]=r,r=0!=(0|e),b=v=w+40|0,h=w+39|0,w=c+4|0,k=0,m=0,C=0;e:for(;;){for(p=k,I=m;;){do{if((0|I)>-1){if((0|p)>(2147483647-I|0)){o[(y=10696)>>2]=75,E=-1;break}E=p+I|0;break}E=I}while(0);if(D=0|o[s>>2],!((y=0|n[D>>0])<<24>>24)){L=92;break e}x=y,y=D;r:for(;;){switch(x<<24>>24){case 37:L=10;break r;case 0:S=y;break r}B=y+1|0,o[s>>2]=B,x=0|n[B>>0],y=B}r:do{if(10==(0|L))for(L=0,x=y,B=y;;){if(37!=(0|n[B+1>>0])){S=x;break r}if(M=x+1|0,B=B+2|0,o[s>>2]=B,37!=(0|n[B>>0])){S=M;break}x=M}}while(0);if(p=S-D|0,r&&di(e,D,p),!p)break;I=E}if(I=0==(0|Ai(0|n[1+(0|o[s>>2])>>0])),p=0|o[s>>2],I||36!=(0|n[p+2>>0])?(F=-1,_=C,P=1):(F=(0|n[p+1>>0])-48|0,_=1,P=3),I=p+P|0,o[s>>2]=I,(y=((p=0|n[I>>0])<<24>>24)-32|0)>>>0>31|0==(1<>2]=B,(x=((M=0|n[B>>0])<<24>>24)-32|0)>>>0>31|0==(1<>24==42){if(0!=(0|Ai(0|n[G+1>>0]))&&(y=0|o[s>>2],36==(0|n[y+2>>0])))o[f+((0|n[(p=y+1|0)>>0])-48<<2)>>2]=10,q=0|o[a+((0|n[p>>0])-48<<3)>>2],Y=1,U=y+3|0;else{if(0|_){z=-1;break}r?(y=3+(0|o[i>>2])&-4,p=0|o[y>>2],o[i>>2]=y+4,W=p):W=0,q=W,Y=0,U=1+(0|o[s>>2])|0}o[s>>2]=U,X=(p=(0|q)<0)?0-q|0:q,Q=p?8192|R:R,N=Y,V=U}else{if((0|(p=0|vi(s)))<0){z=-1;break}X=p,Q=R,N=_,V=0|o[s>>2]}do{if(46==(0|n[V>>0])){if(42!=(0|n[(p=V+1|0)>>0])){o[s>>2]=p,H=p=0|vi(s),Z=0|o[s>>2];break}if(0|Ai(0|n[V+2>>0])&&(p=0|o[s>>2],36==(0|n[p+3>>0]))){o[f+((0|n[(y=p+2|0)>>0])-48<<2)>>2]=10,x=0|o[a+((0|n[y>>0])-48<<3)>>2],y=p+4|0,o[s>>2]=y,H=x,Z=y;break}if(0|N){z=-1;break e}r?(y=3+(0|o[i>>2])&-4,x=0|o[y>>2],o[i>>2]=y+4,j=x):j=0,x=2+(0|o[s>>2])|0,o[s>>2]=x,H=j,Z=x}else H=-1,Z=V}while(0);for(x=0,y=Z;;){if(((0|n[y>>0])-65|0)>>>0>57){z=-1;break e}if(p=y,y=y+1|0,o[s>>2]=y,((J=255&(K=0|n[(0|n[p>>0])-65+(7616+(58*x|0))>>0]))+-1|0)>>>0>=8)break;x=J}if(!(K<<24>>24)){z=-1;break}p=(0|F)>-1;do{if(K<<24>>24==19){if(p){z=-1;break e}L=54}else{if(p){o[f+(F<<2)>>2]=J,I=0|o[(B=a+(F<<3)|0)+4>>2],o[(M=l)>>2]=o[B>>2],o[M+4>>2]=I,L=54;break}if(!r){z=0;break e}gi(l,J,i),$=0|o[s>>2],L=55}}while(0);54==(0|L)&&(L=0,r?($=y,L=55):ee=0);r:do{if(55==(0|L)){L=0,I=0!=(0|x)&3==(15&(p=0|n[$+-1>>0])|0)?-33&p:p,p=-65537&Q,M=0==(8192&Q|0)?Q:p;i:do{switch(0|I){case 110:switch((255&x)<<24>>24){case 0:case 1:o[o[l>>2]>>2]=E,ee=0;break r;case 2:B=0|o[l>>2],o[B>>2]=E,o[B+4>>2]=((0|E)<0)<<31>>31,ee=0;break r;case 3:t[o[l>>2]>>1]=E,ee=0;break r;case 4:n[o[l>>2]>>0]=E,ee=0;break r;case 6:o[o[l>>2]>>2]=E,ee=0;break r;case 7:B=0|o[l>>2],o[B>>2]=E,o[B+4>>2]=((0|E)<0)<<31>>31,ee=0;break r;default:ee=0;break r}break;case 112:re=120,ie=H>>>0>8?H:8,ne=8|M,L=67;break;case 88:case 120:re=I,ie=H,ne=M,L=67;break;case 111:fe=B=0|hi(te=0|o[(B=l)>>2],oe=0|o[B+4>>2],v),Ae=0,ue=9285,se=0==(8&M|0)|(0|H)>(0|(ae=b-B|0))?H:ae+1|0,le=M,ce=te,de=oe,L=73;break;case 105:case 100:if(te=0|o[(oe=l)>>2],(0|(ae=0|o[oe+4>>2]))<0){oe=0|Si(0,0,0|te,0|ae),B=0|g(),o[(ve=l)>>2]=oe,o[ve+4>>2]=B,ge=1,be=9285,he=oe,we=B,L=72;break i}ge=0!=(2049&M|0)&1,be=0==(2048&M|0)?0==(1&M|0)?9285:9287:9286,he=te,we=ae,L=72;break i;case 117:ge=0,be=9285,he=0|o[(ae=l)>>2],we=0|o[ae+4>>2],L=72;break;case 99:n[h>>0]=o[l>>2],ke=h,me=0,Ce=9285,pe=1,Ie=p,ye=b;break;case 115:ke=te=0==(0|(ae=0|o[l>>2]))?9295:ae,me=0,Ce=9285,pe=(B=0==(0|(ae=0|fi(te,0,H))))?H:ae-te|0,Ie=p,ye=B?te+H|0:ae;break;case 67:o[c>>2]=o[l>>2],o[w>>2]=0,o[l>>2]=c,Ee=-1,L=79;break;case 83:H?(Ee=H,L=79):(ki(e,32,X,0,M),De=0,L=89);break;case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:ee=0|Ci(e,+A[l>>3],X,H,M,I);break r;default:ke=D,me=0,Ce=9285,pe=H,Ie=M,ye=b}}while(0);i:do{if(67==(0|L))L=0,fe=I=0|bi(p=0|o[(I=l)>>2],ae=0|o[I+4>>2],v,32&re),Ae=(te=0==(8&ne|0)|0==(0|p)&0==(0|ae))?0:2,ue=te?9285:9285+(re>>>4)|0,se=ie,le=ne,ce=p,de=ae,L=73;else if(72==(0|L))L=0,fe=0|wi(he,we,v),Ae=ge,ue=be,se=H,le=M,ce=he,de=we,L=73;else if(79==(0|L)){for(L=0,ae=0|o[l>>2],p=0;;){if(!(te=0|o[ae>>2])){Le=p;break}if((xe=(0|(I=0|mi(d,te)))<0)|I>>>0>(Ee-p|0)>>>0){L=83;break}if(!(Ee>>>0>(te=I+p|0)>>>0)){Le=te;break}ae=ae+4|0,p=te}if(83==(0|L)){if(L=0,xe){z=-1;break e}Le=p}if(ki(e,32,X,Le,M),Le)for(ae=0|o[l>>2],te=0;;){if(!(I=0|o[ae>>2])){De=Le,L=89;break i}if((0|(te=(B=0|mi(d,I))+te|0))>(0|Le)){De=Le,L=89;break i}if(di(e,d,B),te>>>0>=Le>>>0){De=Le,L=89;break}ae=ae+4|0}else De=0,L=89}}while(0);if(73==(0|L))L=0,p=b-fe+(1&(1^(ae=0!=(0|ce)|0!=(0|de))))|0,ke=(te=0!=(0|se)|ae)?fe:v,me=Ae,Ce=ue,pe=te?(0|se)>(0|p)?se:p:0,Ie=(0|se)>-1?-65537&le:le,ye=b;else if(89==(0|L)){L=0,ki(e,32,X,De,8192^M),ee=(0|X)>(0|De)?X:De;break}ki(e,32,B=(0|X)<(0|(ae=(te=(0|pe)<(0|(p=ye-ke|0))?p:pe)+me|0))?ae:X,ae,Ie),di(e,Ce,me),ki(e,48,B,ae,65536^Ie),ki(e,48,te,p,0),di(e,ke,p),ki(e,32,B,ae,8192^Ie),ee=B}}while(0);k=ee,m=E,C=N}e:do{if(92==(0|L))if(e)z=E;else if(C){for(N=1;m=0|o[f+(N<<2)>>2];){if(gi(a+(N<<3)|0,m,i),!((m=N+1|0)>>>0<10)){z=1;break e}N=m}for(m=N;;){if(0|o[f+(m<<2)>>2]){z=-1;break e}if((m=m+1|0)>>>0>=10){z=1;break}}}else z=0}while(0);return O=u,0|z}function li(e){return 0,1}function ci(e){0}function di(e,r,i){r|=0,i|=0,32&o[(e|=0)>>2]||Ei(r,i,e)}function vi(e){var r=0,i=0,t=0,a=0,f=0;if(0|Ai(0|n[o[(e|=0)>>2]>>0]))for(i=0;;){if(t=0|o[e>>2],a=(10*i|0)-48+(0|n[t>>0])|0,f=t+1|0,o[e>>2]=f,!(0|Ai(0|n[f>>0]))){r=a;break}i=a}else r=0;return 0|r}function gi(e,r,i){e|=0,r|=0,i|=0;var n=0,t=0,a=0,f=0,u=0;e:do{if(r>>>0<=20){switch(0|r){case 9:n=3+(0|o[i>>2])&-4,t=0|o[n>>2],o[i>>2]=n+4,o[e>>2]=t;break e;case 10:t=3+(0|o[i>>2])&-4,n=0|o[t>>2],o[i>>2]=t+4,o[(t=e)>>2]=n,o[t+4>>2]=((0|n)<0)<<31>>31;break e;case 11:n=3+(0|o[i>>2])&-4,t=0|o[n>>2],o[i>>2]=n+4,o[(n=e)>>2]=t,o[n+4>>2]=0;break e;case 12:n=7+(0|o[i>>2])&-8,a=0|o[(t=n)>>2],f=0|o[t+4>>2],o[i>>2]=n+8,o[(n=e)>>2]=a,o[n+4>>2]=f;break e;case 13:f=3+(0|o[i>>2])&-4,n=0|o[f>>2],o[i>>2]=f+4,f=(65535&n)<<16>>16,o[(n=e)>>2]=f,o[n+4>>2]=((0|f)<0)<<31>>31;break e;case 14:f=3+(0|o[i>>2])&-4,n=0|o[f>>2],o[i>>2]=f+4,o[(f=e)>>2]=65535&n,o[f+4>>2]=0;break e;case 15:f=3+(0|o[i>>2])&-4,n=0|o[f>>2],o[i>>2]=f+4,f=(255&n)<<24>>24,o[(n=e)>>2]=f,o[n+4>>2]=((0|f)<0)<<31>>31;break e;case 16:f=3+(0|o[i>>2])&-4,n=0|o[f>>2],o[i>>2]=f+4,o[(f=e)>>2]=255&n,o[f+4>>2]=0;break e;case 17:case 18:f=7+(0|o[i>>2])&-8,u=+A[f>>3],o[i>>2]=f+8,A[e>>3]=u;break e;default:break e}}}while(0)}function bi(e,r,i,t){i|=0,t|=0;var o=0,f=0;if(0==(0|(e|=0))&0==(0|(r|=0)))o=i;else for(f=i,i=r,r=e;;){if(n[(e=f+-1|0)>>0]=0|a[8080+(15&r)>>0]|t,0==(0|(r=0|_i(0|r,0|i,4)))&0==(0|(i=0|g()))){o=e;break}f=e}return 0|o}function hi(e,r,i){i|=0;var t=0,o=0;if(0==(0|(e|=0))&0==(0|(r|=0)))t=i;else for(o=i,i=r,r=e;;){if(n[(e=o+-1|0)>>0]=7&r|48,0==(0|(r=0|_i(0|r,0|i,3)))&0==(0|(i=0|g()))){t=e;break}o=e}return 0|t}function wi(e,r,i){i|=0;var t=0,o=0,a=0,f=0,A=0,u=0,s=0,l=0;if((r|=0)>>>0>0|0==(0|r)&(e|=0)>>>0>4294967295){t=i,o=e,a=r;do{A=0|Si(0|(r=o),0|(f=a),0|(0|Li(0|(o=0|Fi(0|o,0|a,10,0)),0|(a=0|g()),10,0)),0|g()),g(),n[(t=t+-1|0)>>0]=255&A|48}while(f>>>0>9|9==(0|f)&r>>>0>4294967295);u=o,s=t}else u=e,s=i;if(u)for(i=u,u=s;;){if(s=i,i=(i>>>0)/10|0,n[(e=u+-1|0)>>0]=s-(10*i|0)|48,s>>>0<10){l=e;break}u=e}else l=s;return 0|l}function ki(e,r,i,n,t){e|=0,r|=0;var o,a,f=0;if(o=O,O=O+256|0,a=o,(0|(i|=0))>(0|(n|=0))&0==(73728&(t|=0)|0)){if(Oi(0|a,r<<24>>24|0,0|((t=i-n|0)>>>0<256?t:256)),t>>>0>255){r=i-n|0,n=t;do{di(e,a,256),n=n+-256|0}while(n>>>0>255);f=255&r}else f=t;di(e,a,f)}O=o}function mi(e,r){r|=0;return 0|((e|=0)?0|yi(e,r,0):0)}function Ci(e,r,i,t,f,A){e|=0,r=+r,i|=0,t|=0,f|=0,A|=0;var u,s,c,d,v,b,h,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0,K=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,Ae=0,ue=0,se=0,le=0,ce=0,de=0,ve=0,ge=0,be=0,he=0,we=0,ke=0,me=0,Ce=0,pe=0,Ie=0,ye=0,Ee=0,De=0,Le=0,xe=0,Se=0,Be=0,Me=0,Fe=0,_e=0,Pe=0;u=O,O=O+560|0,s=u+32|0,v=d=u,b=u+540|0,o[(c=u+536|0)>>2]=0,h=b+12|0,w=0|pi(r),(0|(k=0|g()))<0?(C=0|pi(m=-r),p=m,I=1,y=9302,E=0|g(),D=C):(p=r,I=0!=(2049&f|0)&1,y=0==(2048&f|0)?0==(1&f|0)?9303:9308:9305,E=k,D=w);do{if(!0&2146435072==(2146435072&E|0))w=0!=(32&A|0),ki(e,32,i,D=I+3|0,-65537&f),di(e,y,I),di(e,p!=p|!1?w?9329:9333:w?9321:9325,3),ki(e,32,i,D,8192^f),L=D;else{if((D=0!=(r=2*+Ii(p,c)))&&(o[c>>2]=(0|o[c>>2])-1),97==(0|(w=32|A))){C=0==(0|(k=32&A))?y:y+9|0,x=2|I,S=12-t|0;do{if(!(t>>>0>11|0==(0|S))){m=8,B=S;do{B=B+-1|0,m*=16}while(0!=(0|B));if(45==(0|n[C>>0])){M=-(m+(-r-m));break}M=r+m-m;break}M=r}while(0);for((0|(F=0|wi(B=(0|(S=0|o[c>>2]))<0?0-S|0:S,((0|B)<0)<<31>>31,h)))==(0|h)?(n[(B=b+11|0)>>0]=48,_=B):_=F,n[_+-1>>0]=43+(S>>31&2),n[(S=_+-2|0)>>0]=A+15,F=(0|t)<1,B=0==(8&f|0),P=d,R=M;T=~~R,G=P+1|0,n[P>>0]=k|a[8080+T>>0],R=16*(R-+(0|T)),1!=(G-v|0)||B&F&0==R?q=G:(n[G>>0]=46,q=P+2|0),0!=R;)P=q;P=q,0!=(0|t)&&(-2-v+P|0)<(0|t)?(Y=t+2+(F=h)-(B=S)|0,U=F,z=B):(Y=(B=h)-v-(F=S)+P|0,U=B,z=F),ki(e,32,i,F=Y+x|0,f),di(e,C,x),ki(e,48,i,F,65536^f),di(e,d,B=P-v|0),ki(e,48,Y-(B+(P=U-z|0))|0,0,0),di(e,S,P),ki(e,32,i,F,8192^f),L=F;break}F=(0|t)<0?6:t,D?(P=(0|o[c>>2])-28|0,o[c>>2]=P,W=268435456*r,X=P):(W=r,X=0|o[c>>2]),B=P=(0|X)<0?s:s+288|0,R=W;do{k=~~R>>>0,o[B>>2]=k,B=B+4|0,R=1e9*(R-+(k>>>0))}while(0!=R);if(D=P,(0|X)>0)for(S=P,x=B,C=X;;){if(k=(0|C)<29?C:29,(G=x+-4|0)>>>0>=S>>>0){T=G,G=0;do{H=0|Si(0|(N=0|xi(0|(Q=0|Pi(0|o[T>>2],0,0|k)),0|g(),0|G,0)),0|(Q=0|g()),0|(V=0|Li(0|(G=0|Fi(0|N,0|Q,1e9,0)),0|g(),1e9,0)),0|g()),g(),o[T>>2]=H,T=T+-4|0}while(T>>>0>=S>>>0);G?(o[(T=S+-4|0)>>2]=G,Z=T):Z=S}else Z=S;e:do{if(x>>>0>Z>>>0)for(T=x;;){if(0|o[(H=T+-4|0)>>2]){j=T;break e}if(!(H>>>0>Z>>>0)){j=H;break}T=H}else j=x}while(0);if(G=(0|o[c>>2])-k|0,o[c>>2]=G,!((0|G)>0)){K=Z,J=j,$=G;break}S=Z,x=j,C=G}else K=P,J=B,$=X;if((0|$)<0)for(C=1+((F+25|0)/9|0)|0,x=102==(0|w),S=K,G=J,T=$;;){if(V=(0|(H=0-T|0))<9?H:9,S>>>0>>0){H=(1<>>V:1e9,N=0,ee=S;do{re=0|o[ee>>2],o[ee>>2]=(V?re>>>V:re)+N,N=0|l(re&H,Q),ee=ee+4|0}while(ee>>>0>>0);ee=0==(0|o[S>>2])?S+4|0:S,N?(o[G>>2]=N,ie=G+4|0,ne=ee):(ie=G,ne=ee)}else ie=G,ne=0==(0|o[S>>2])?S+4|0:S;if(H=((Q=ie-(ee=x?P:ne)|0)>>2|0)>(0|C)?ee+(C<<2)|0:ie,T=(0|o[c>>2])+V|0,o[c>>2]=T,(0|T)>=0){te=ne,oe=H;break}S=ne,G=H}else te=K,oe=J;if(te>>>0>>0)if(S=9*((G=D-te|0)>>2)|0,(G=0|o[te>>2])>>>0<10)ae=S;else for(T=S,S=10;;){if(C=T+1|0,G>>>0<(S=10*S|0)>>>0){ae=C;break}T=C}else ae=0;if((0|(G=F-(102==(0|w)?0:ae)+(((S=0!=(0|F))&(T=103==(0|w)))<<31>>31)|0))<((9*((C=oe-D|0)>>2)|0)-9|0)){if(x=P+4+((G=(0|(C=G+9216|0))/9|0)+-1024<<2)|0,(0|(B=C-(9*G|0)|0))<8)for(G=B,B=10;;){if(C=10*B|0,!((0|G)<7)){fe=C;break}G=G+1|0,B=C}else fe=10;if((C=(x+4|0)==(0|oe))&0==(0|(w=(B=0|o[x>>2])-(0|l(G=(B>>>0)/(fe>>>0)|0,fe))|0)))de=x,ve=ae,ge=te;else if(m=0==(1&G|0)?9007199254740992:9007199254740994,R=w>>>0<(G=fe>>>1)>>>0?.5:C&(0|w)==(0|G)?1:1.5,I?(Ae=(G=45==(0|n[y>>0]))?-R:R,ue=G?-m:m):(Ae=R,ue=m),G=B-w|0,o[x>>2]=G,ue+Ae!=ue){if(w=G+fe|0,o[x>>2]=w,w>>>0>999999999)for(w=x,G=te;;){if(B=w+-4|0,o[w>>2]=0,B>>>0>>0?(o[(C=G+-4|0)>>2]=0,se=C):se=G,C=1+(0|o[B>>2])|0,o[B>>2]=C,!(C>>>0>999999999)){le=B,ce=se;break}w=B,G=se}else le=x,ce=te;if(w=9*((G=D-ce|0)>>2)|0,(G=0|o[ce>>2])>>>0<10)de=le,ve=w,ge=ce;else for(B=w,w=10;;){if(C=B+1|0,G>>>0<(w=10*w|0)>>>0){de=le,ve=C,ge=ce;break}B=C}}else de=x,ve=ae,ge=te;be=ve,he=oe>>>0>(B=de+4|0)>>>0?B:oe,we=ge}else be=ae,he=oe,we=te;B=0-be|0;e:do{if(he>>>0>we>>>0)for(w=he;;){if(0|o[(G=w+-4|0)>>2]){ke=w,me=1;break e}if(!(G>>>0>we>>>0)){ke=G,me=0;break}w=G}else ke=he,me=0}while(0);do{if(T){if((0|(x=F+(1&(1^S))|0))>(0|be)&(0|be)>-5?(Ce=A+-1|0,pe=x+-1-be|0):(Ce=A+-2|0,pe=x+-1|0),!(8&f)){if(me&&0!=(0|(x=0|o[ke+-4>>2])))if((x>>>0)%10|0)Ie=0;else for(w=0,V=10;;){if(N=w+1|0,0|(x>>>0)%((V=10*V|0)>>>0)){Ie=N;break}w=N}else Ie=9;if(V=(9*((w=ke-D|0)>>2)|0)-9|0,102==(32|Ce)){ye=Ce,Ee=(0|pe)<(0|(x=(0|(w=V-Ie|0))>0?w:0))?pe:x;break}ye=Ce,Ee=(0|pe)<(0|(V=(0|(x=V+be-Ie|0))>0?x:0))?pe:V;break}ye=Ce,Ee=pe}else ye=A,Ee=F}while(0);if(D=(F=0!=(0|Ee))?1:f>>>3&1,S=102==(32|ye))De=0,Le=(0|be)>0?be:0;else{if(V=0|wi(T=(0|be)<0?B:be,((0|T)<0)<<31>>31,h),((T=h)-V|0)<2)for(x=V;;){if(n[(w=x+-1|0)>>0]=48,!((T-w|0)<2)){xe=w;break}x=w}else xe=V;n[xe+-1>>0]=43+(be>>31&2),n[(x=xe+-2|0)>>0]=ye,De=x,Le=T-x|0}if(ki(e,32,i,x=I+1+Ee+D+Le|0,f),di(e,y,I),ki(e,48,i,x,65536^f),S){N=w=d+9|0,G=d+8|0,C=B=we>>>0>P>>>0?P:we;do{if(H=0|wi(0|o[C>>2],0,w),(0|C)==(0|B))(0|H)==(0|w)?(n[G>>0]=48,Se=G):Se=H;else if(H>>>0>d>>>0)for(Oi(0|d,48,H-v|0),ee=H;;){if(!((Q=ee+-1|0)>>>0>d>>>0)){Se=Q;break}ee=Q}else Se=H;di(e,Se,N-Se|0),C=C+4|0}while(C>>>0<=P>>>0);if(0==(8&f|0)&(1^F)||di(e,9337,1),C>>>0>>0&(0|Ee)>0)for(P=Ee,N=C;;){if((G=0|wi(0|o[N>>2],0,w))>>>0>d>>>0)for(Oi(0|d,48,G-v|0),B=G;;){if(!((S=B+-1|0)>>>0>d>>>0)){Be=S;break}B=S}else Be=G;if(di(e,Be,(0|P)<9?P:9),B=P+-9|0,!((N=N+4|0)>>>0>>0&(0|P)>9)){Me=B;break}P=B}else Me=Ee;ki(e,48,Me+9|0,9,0)}else{if(we>>>0<(P=me?ke:we+4|0)>>>0&(0|Ee)>-1)for(w=0==(8&f|0),C=N=d+9|0,F=0-v|0,B=d+8|0,H=Ee,S=we;;){(0|(D=0|wi(0|o[S>>2],0,N)))==(0|N)?(n[B>>0]=48,Fe=B):Fe=D;do{if((0|S)==(0|we)){if(D=Fe+1|0,di(e,Fe,1),w&(0|H)<1){_e=D;break}di(e,9337,1),_e=D}else{if(Fe>>>0<=d>>>0){_e=Fe;break}for(Oi(0|d,48,Fe+F|0),D=Fe;;){if(!((T=D+-1|0)>>>0>d>>>0)){_e=T;break}D=T}}}while(0);if(di(e,_e,(0|H)>(0|(G=C-_e|0))?G:H),!((S=S+4|0)>>>0

>>0&(0|(D=H-G|0))>-1)){Pe=D;break}H=D}else Pe=Ee;ki(e,48,Pe+18|0,18,0),di(e,De,h-De|0)}ki(e,32,i,x,8192^f),L=x}}while(0);return O=u,0|((0|L)<(0|i)?i:L)}function pi(e){e=+e;var r;return A[u>>3]=e,r=0|o[u>>2],v(0|o[u+4>>2]),0|r}function Ii(e,r){return+ +function e(r,i){r=+r,i|=0;var n,t,a,f=0,s=0,l=0,c=0;switch(A[u>>3]=r,n=0|o[u>>2],t=0|o[u+4>>2],a=0|_i(0|n,0|t,52),g(),2047&a){case 0:0!=r?(f=+e(0x10000000000000000*r,i),s=f,l=(0|o[i>>2])-64|0):(s=r,l=0),o[i>>2]=l,c=s;break;case 2047:c=r;break;default:o[i>>2]=(2047&a)-1022,o[u>>2]=n,o[u+4>>2]=-2146435073&t|1071644672,c=+A[u>>3]}return+c}(e=+e,r|=0)}function yi(e,r,i){e|=0,r|=0;var t=0;do{if(e){if(r>>>0<128){n[e>>0]=r,t=1;break}if(!(0|o[o[8488>>2]>>2])){if(57216==(-128&r|0)){n[e>>0]=r,t=1;break}o[10696>>2]=84,t=-1;break}if(r>>>0<2048){n[e>>0]=r>>>6|192,n[e+1>>0]=63&r|128,t=2;break}if(r>>>0<55296|57344==(-8192&r|0)){n[e>>0]=r>>>12|224,n[e+1>>0]=r>>>6&63|128,n[e+2>>0]=63&r|128,t=3;break}if((r+-65536|0)>>>0<1048576){n[e>>0]=r>>>18|240,n[e+1>>0]=r>>>12&63|128,n[e+2>>0]=r>>>6&63|128,n[e+3>>0]=63&r|128,t=4;break}o[10696>>2]=84,t=-1;break}t=1}while(0);return 0|t}function Ei(e,r,i){e|=0,r|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;(a=0|o[(t=(i|=0)+16|0)>>2])?(f=a,A=5):0|function(e){var r=0,i=0,t=0;i=0|n[(r=(e=e|0)+74|0)>>0],n[r>>0]=i+255|i,8&(i=0|o[e>>2])?(o[e>>2]=32|i,t=-1):(o[e+8>>2]=0,o[e+4>>2]=0,r=0|o[e+44>>2],o[e+28>>2]=r,o[e+20>>2]=r,o[e+16>>2]=r+(0|o[e+48>>2]),t=0);return 0|t}(i)?u=0:(f=0|o[t>>2],A=5);e:do{if(5==(0|A)){if(s=t=0|o[(a=i+20|0)>>2],(f-t|0)>>>0>>0){u=0|Zi[15&o[i+36>>2]](i,e,r);break}r:do{if((0|n[i+75>>0])<0|0==(0|r))l=0,c=e,d=r,v=s;else{for(t=r;10!=(0|n[e+(g=t+-1|0)>>0]);){if(!g){l=0,c=e,d=r,v=s;break r}t=g}if((g=0|Zi[15&o[i+36>>2]](i,e,t))>>>0>>0){u=g;break e}l=t,c=e+t|0,d=r-t|0,v=0|o[a>>2]}}while(0);Ti(0|v,0|c,0|d),o[a>>2]=(0|o[a>>2])+d,u=l+d|0}}while(0);return 0|u}function Di(e,r,i){e|=0,r|=0,i|=0;var n,t;return n=O,O=O+16|0,o[(t=n)>>2]=i,i=0|ui(e,r,t),O=n,0|i}function Li(e,r,i,n){r|=0,n|=0;var t,o;return i=0|function(e,r){var i,n,t,o=0;return e=((n=0|l(o=65535&(r|=0),i=65535&(e|=0)))>>>16)+(0|l(o,t=e>>>16))|0,r=0|l(o=r>>>16,i),0|(v((e>>>16)+(0|l(o,t))+(((65535&e)+r|0)>>>16)|0),e+r<<16|65535&n|0)}(t=e|=0,e=i|=0),o=0|g(),0|(v((0|l(r,e))+(0|l(n,t))+o|0&o|0),0|i)}function xi(e,r,i,n){var t;return 0|(v((r|=0)+(n|=0)+((t=(e|=0)+(i|=0)>>>0)>>>0>>0|0)>>>0|0),0|t)}function Si(e,r,i,n){return(r|=0)-(n|=0)>>>0,0|(v(0|r-n-((i|=0)>>>0>(e|=0)>>>0|0)>>>0),e-i>>>0|0)}function Bi(e){return 0|((e|=0)?31-(0|c(e^e-1))|0:32)}function Mi(e,r,i,n,t){t|=0;var a,f=0,A=0,u=0,s=0,l=0,d=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0;if(f=e|=0,a=i|=0,l=s=n|=0,!(u=A=r|=0))return d=0!=(0|t),l?d?(o[t>>2]=0|e,o[t+4>>2]=0&r,h=0,0|(v(0|(b=0)),h)):(h=0,0|(v(0|(b=0)),h)):(d&&(o[t>>2]=(f>>>0)%(a>>>0),o[t+4>>2]=0),h=(f>>>0)/(a>>>0)>>>0,0|(v(0|(b=0)),h));d=0==(0|l);do{if(a){if(!d){if((w=(0|c(0|l))-(0|c(0|u))|0)>>>0<=31){p=k=w+1|0,I=f>>>(k>>>0)&(C=w-31>>31)|u<<(m=31-w|0),y=u>>>(k>>>0)&C,E=0,D=f<>2]=0|e,o[t+4>>2]=A|0&r,h=0,0|(v(0|(b=0)),h)):(h=0,0|(v(0|(b=0)),h))}if((m=a-1|0)&a|0){p=C=33+(0|c(0|a))-(0|c(0|u))|0,I=(w=32-C|0)-1>>31&u>>>((x=C-32|0)>>>0)|(u<>>(C>>>0))&(S=x>>31),y=S&u>>>(C>>>0),E=f<<(k=64-C|0)&(L=w>>31),D=(u<>>(x>>>0))&L|f<>31;break}return 0|t&&(o[t>>2]=m&f,o[t+4>>2]=0),1==(0|a)?(h=0|e,0|(v(0|(b=A|0&r)),h)):(h=u<<32-(m=0|Bi(0|a))|f>>>(m>>>0)|0,0|(v(0|(b=u>>>(m>>>0)|0)),h))}if(d)return 0|t&&(o[t>>2]=(u>>>0)%(a>>>0),o[t+4>>2]=0),h=(u>>>0)/(a>>>0)>>>0,0|(v(0|(b=0)),h);if(!f)return 0|t&&(o[t>>2]=0,o[t+4>>2]=(u>>>0)%(l>>>0)),h=(u>>>0)/(l>>>0)>>>0,0|(v(0|(b=0)),h);if(!((m=l-1|0)&l))return 0|t&&(o[t>>2]=0|e,o[t+4>>2]=m&u|0&r),b=0,h=u>>>((0|Bi(0|l))>>>0),0|(v(0|b),h);if((m=(0|c(0|l))-(0|c(0|u))|0)>>>0<=30){p=C=m+1|0,I=u<<(w=31-m|0)|f>>>(C>>>0),y=u>>>(C>>>0),E=0,D=f<>2]=0|e,o[t+4>>2]=A|0&r,h=0,0|(v(0|(b=0)),h)):(h=0,0|(v(0|(b=0)),h))}while(0);if(p){n=0|xi(0|(r=0|i),0|(i=s|0&n),-1,-1),s=0|g(),A=D,D=E,E=y,y=I,I=p,p=0;do{e=A,A=D>>>31|A<<1,D=p|D<<1,Si(0|n,0|s,0|(f=y<<1|e>>>31|0),0|(e=y>>>31|E<<1|0)),p=1&(l=(u=0|g())>>31|((0|u)<0?-1:0)<<1),y=0|Si(0|f,0|e,l&r|0,(((0|u)<0?-1:0)>>31|((0|u)<0?-1:0)<<1)&i|0),E=0|g(),I=I-1|0}while(0!=(0|I));B=A,M=D,F=E,_=y,P=0,R=p}else B=D,M=E,F=y,_=I,P=0,R=0;return p=M,M=0,0|t&&(o[t>>2]=_,o[t+4>>2]=F),h=-2&(p<<1|0)|R,0|(v(0|(b=(0|p)>>>31|(B|M)<<1|0&(M<<1|p>>>31)|P)),h)}function Fi(e,r,i,n){return 0|Mi(e|=0,r|=0,i|=0,n|=0,0)}function _i(e,r,i){return e|=0,r|=0,(0|(i|=0))<32?(v(r>>>i|0),e>>>i|(r&(1<>>i-32|0)}function Pi(e,r,i){return e|=0,r|=0,(0|(i|=0))<32?(v(r<>>32-i|0),e<>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function Ti(e,r,i){e|=0,r|=0;var t,a,f=0;if((0|(i|=0))>=8192)return S(0|e,0|r,0|i),0|e;if(t=0|e,a=e+i|0,(3&e)==(3&r)){for(;3&e;){if(!i)return 0|t;n[e>>0]=0|n[r>>0],e=e+1|0,r=r+1|0,i=i-1|0}for(i=(f=-4&a|0)-64|0;(0|e)<=(0|i);)o[e>>2]=o[r>>2],o[e+4>>2]=o[r+4>>2],o[e+8>>2]=o[r+8>>2],o[e+12>>2]=o[r+12>>2],o[e+16>>2]=o[r+16>>2],o[e+20>>2]=o[r+20>>2],o[e+24>>2]=o[r+24>>2],o[e+28>>2]=o[r+28>>2],o[e+32>>2]=o[r+32>>2],o[e+36>>2]=o[r+36>>2],o[e+40>>2]=o[r+40>>2],o[e+44>>2]=o[r+44>>2],o[e+48>>2]=o[r+48>>2],o[e+52>>2]=o[r+52>>2],o[e+56>>2]=o[r+56>>2],o[e+60>>2]=o[r+60>>2],e=e+64|0,r=r+64|0;for(;(0|e)<(0|f);)o[e>>2]=o[r>>2],e=e+4|0,r=r+4|0}else for(f=a-4|0;(0|e)<(0|f);)n[e>>0]=0|n[r>>0],n[e+1>>0]=0|n[r+1>>0],n[e+2>>0]=0|n[r+2>>0],n[e+3>>0]=0|n[r+3>>0],e=e+4|0,r=r+4|0;for(;(0|e)<(0|a);)n[e>>0]=0|n[r>>0],e=e+1|0,r=r+1|0;return 0|t}function Gi(e,r,i){var t=0;if((0|(r|=0))<(0|(e|=0))&(0|e)<(r+(i|=0)|0)){for(t=e,r=r+i|0,e=e+i|0;(0|i)>0;)r=r-1|0,i=i-1|0,n[(e=e-1|0)>>0]=0|n[r>>0];e=t}else Ti(e,r,i);return 0|e}function Oi(e,r,i){r|=0;var t,a=0,f=0,A=0;if(t=(e|=0)+(i|=0)|0,r&=255,(0|i)>=67){for(;3&e;)n[e>>0]=r,e=e+1|0;for(f=r|r<<8|r<<16|r<<24,A=(a=-4&t|0)-64|0;(0|e)<=(0|A);)o[e>>2]=f,o[e+4>>2]=f,o[e+8>>2]=f,o[e+12>>2]=f,o[e+16>>2]=f,o[e+20>>2]=f,o[e+24>>2]=f,o[e+28>>2]=f,o[e+32>>2]=f,o[e+36>>2]=f,o[e+40>>2]=f,o[e+44>>2]=f,o[e+48>>2]=f,o[e+52>>2]=f,o[e+56>>2]=f,o[e+60>>2]=f,e=e+64|0;for(;(0|e)<(0|a);)o[e>>2]=f,e=e+4|0}for(;(0|e)<(0|t);)n[e>>0]=r,e=e+1|0;return t-i|0}function qi(e){var r,i;return(0|(e|=0))>0&(0|(i=(r=0|o[s>>2])+e|0))<(0|r)|(0|i)<0?(G(0|i),y(12),-1):(0|i)>(0|x())&&0==(0|B(0|i))?(y(12),-1):(o[s>>2]=i,0|r)}function Yi(e){return 0,d(0),0}function Ui(e,r){return 0,0,d(1),0}function zi(e,r,i){return 0,0,0,d(2),0}function Wi(e){d(4)}function Xi(e,r){d(5)}function Qi(e,r,i,n){d(6)}function Ni(e,r,i,n,t){d(7)}var Vi=[Yi,function(e){var r,i,n=0,t=0,a=0;switch(o[(r=(e|=0)+20|0)>>2]=0,0|(n=0|o[(i=e+4|0)>>2])){case 0:if(t=0|N(1,0,80),o[e>>2]=t,!t)return 0|0;do{if(!(0|ei(t,0))){if(0|F(0|(a=t+28|0),0)){ni(t);break}if(ri(t),0|R(t+76|0,0,6,0|e)){ii(t),ni(t),M(0|a);break}return o[i>>2]=1,ii(t),0|1}}while(0);return Y(t),o[e>>2]=0,0|0;case 1:return 0|n;default:if(!(n=0|o[e>>2]))return 0|1;if(ri(n),(0|o[i>>2])>>>0>=2){e=n+28|0;do{P(0|e,0|n)}while(1!=(0|o[i>>2]))}return ii(n),0|0==(0|o[r>>2])&1}return 0},function(e){var r,i=0,n=0;if(0|(r=0|o[(e|=0)>>2])){if(ri(r),(0|o[(i=e+4|0)>>2])>>>0>=2){n=r+28|0;do{P(0|n,0|r)}while(1!=(0|o[i>>2]))}ii(r)}return 0==(0|o[e+20>>2])|0},function(e){var r,i,n=0;return r=O,O=O+16|0,i=r,n=0|function(e){return 0|(e|=0)}(0|o[(e|=0)+60>>2]),o[i>>2]=n,n=0|ti(0|L(6,0|i)),O=r,0|n},function(e){var r,i,n;return r=0|o[(e|=0)+40>>2],(0|o[e+12>>2])<1||(0|o[e+16>>2])<1?0|0:(i=0|Hi[31&o[r+44>>2]](e,r),0|(n=0|o[r+48>>2])&&Zi[15&n](e,r,i),o[(e=r+16|0)>>2]=(0|o[e>>2])+i,0|1)},function(e){var r,i,n,t=0,a=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0;if(r=0|o[(e|=0)+40>>2],a=(t=0|o[o[r>>2]>>2])>>>0<11,u=(f=t+-1|0)>>>0<12&&0!=(1&((A=65535&f)?2077>>>A:2077))?1:(t+-7|0)>>>0<4,f=r+44|0,i=r+48|0,n=r+52|0,o[(A=r+40|0)>>2]=0,o[A+4>>2]=0,o[A+8>>2]=0,o[A+12>>2]=0,!(0|Te(0|o[r+20>>2],e,u?11:12)))return 0|0;if((t+-7|0)>>>0>3|1^u||Ge(),!(0|o[e+92>>2])){do{if(a){if(qe(),o[f>>2]=17,0|o[e+56>>2]){if(v=0|V(1,0,(-2&(d=(c=0|o[(s=e+12|0)>>2])+1|0))+c|0),o[A>>2]=v,v){o[r+4>>2]=v,c=v+(0|o[s>>2])|0,o[r+8>>2]=c,o[r+12>>2]=c+(d>>1),o[f>>2]=18,Ge();break}return 0|0}}else o[f>>2]=19}while(0);if(!u)return 0|1;switch(0|t){case 5:case 10:g=9;break;default:g=a?6:5}return o[i>>2]=g,a?(ee(),0|1):0|1}if(g=0|o[r>>2],d=(u=(t=0|o[g>>2])+-1|0)>>>0<12,!a)return b=d&&0!=(1&((a=65535&u)?2077>>>a:2077))?1:(t+-7|0)>>>0<4,v=(s=(a=0|o[e+96>>2])+1|0)>>1,w=(h=(c=0|o[e+100>>2])+1|0)>>1,m=(k=1+(0|o[(h=e+12|0)>>2])|0)>>1,p=(C=1+(0|o[(k=e+16|0)>>2])|0)>>1,E=0|V(1,0,(y=((s=(I=-2&s)<<1)+(C=a<<1)<<2)+(b?a<<3:0)|0)+(b?367:283)|0),o[A>>2]=E,E?(D=E+y+31&-32,o[r+24>>2]=D,o[(y=r+28|0)>>2]=D+84,o[(L=r+32|0)>>2]=D+168,o[(x=r+36|0)>>2]=b?D+252|0:0,Oe(D,0|o[h>>2],0|o[k>>2],0|o[g+16>>2],a,c,0|o[g+32>>2],1,E),D=E+(C<<2)|0,Oe(0|o[y>>2],m,p,0|o[g+20>>2],v,w,0|o[g+36>>2],1,D),Oe(0|o[L>>2],m,p,0|o[g+24>>2],v,w,0|o[g+40>>2],1,D+(I<<2)|0),o[f>>2]=16,b?(Oe(0|o[x>>2],0|o[h>>2],0|o[k>>2],0|o[g+28>>2],a,c,0|o[g+44>>2],1,D+(s<<2)|0),o[i>>2]=4,ee(),0|1):0|1):0|0;if(S=d&&0!=(1&((d=65535&u)?2077>>>d:2077))?1:(t+-7|0)>>>0<4,t=0|o[e+96>>2],d=0|o[e+100>>2],D=(s=1+(0|o[(u=e+12|0)>>2])|0)>>1,g=(e=1+(0|o[(s=e+16|0)>>2])|0)>>1,e=t<<1,c=6*t|0,k=0|V(1,0,(a=0|l(t,S?36:27))+(S?367:283)|0),o[A>>2]=k,!k)return 0|0;if(A=k+((S?t<<3:c)<<2)|0,h=k+a+31&-32,o[r+24>>2]=h,o[(a=r+28|0)>>2]=h+84,o[(x=r+32|0)>>2]=h+168,o[(b=r+36|0)>>2]=S?h+252|0:0,Oe(h,0|o[u>>2],0|o[s>>2],A,t,d,0,1,k),Oe(0|o[a>>2],D,g,A+t|0,t,d,0,1,k+(e<<2)|0),Oe(0|o[x>>2],D,g,A+e|0,t,d,0,1,k+(t<<2<<2)|0),o[f>>2]=15,function(){if(0|ri(10028))return;0|o[2031]&&(o[2453]=4,o[2455]=5,o[2452]=6,o[2454]=7,o[2456]=8,o[2457]=9,o[2458]=10,o[2459]=4,o[2460]=5,o[2461]=8,o[2462]=9);o[2031]=0,ii(10028)}(),!S)return 0|1;switch(Oe(0|o[b>>2],0|o[u>>2],0|o[s>>2],A+(3*t|0)|0,t,d,0,1,k+(c<<2)|0),o[i>>2]=3,0|o[o[r>>2]>>2]){case 10:case 5:B=7;break;default:B=8}return o[n>>2]=B,ee(),0|1},function(e){var r,i,n,t=0;i=(e|=0)+4|0,n=(r=0|o[e>>2])+28|0;e:for(;;){ri(r);r:for(;;){switch(0|o[i>>2]){case 0:break e;case 2:t=5;break r;case 1:break;default:t=7;break r}P(0|n,0|r)}5==(0|t)?(t=0,Ki[31&o[2039]](e),o[i>>2]=1,_(0|n),ii(r)):7==(0|t)&&(t=0,_(0|n),ii(r))}return _(0|n),ii(r),0},Yi],Hi=[Ui,function(e,r){return 0,0,-16777216},function(e,r){return 0,0|(e|=0)},function(e,r){return 0,0|o[(r|=0)>>2]},function(e,r){return 0,0|o[(r|=0)+4>>2]},function(e,r){return 0,0|o[(r|=0)+-4>>2]},function(e,r){var i,n,t;return e|=0,i=0|o[(r|=0)>>2],((e=(t=((r=(n=0|o[r+4>>2])^e)>>>1&2139062143)+(n&e)|0)^i)>>>1&2139062143)+(t&i)|0},function(e,r){var i;return e|=0,((r=(i=0|o[(r|=0)+-4>>2])^e)>>>1&2139062143)+(i&e)|0},function(e,r){var i;return e|=0,((r=(i=0|o[(r|=0)>>2])^e)>>>1&2139062143)+(i&e)|0},function(e,r){var i;return e|=0,e=0|o[(r|=0)+-4>>2],((r=(i=0|o[r>>2])^e)>>>1&2139062143)+(i&e)|0},function(e,r){var i;return e|=0,e=0|o[(r|=0)>>2],((r=(i=0|o[r+4>>2])^e)>>>1&2139062143)+(i&e)|0},function(e,r){e|=0;var i,n,t=0,a=0;return t=0|o[(r|=0)+-4>>2],a=0|o[r>>2],i=0|o[r+4>>2],n=((r=t^e)>>>1&2139062143)+(t&e)|0,((a=(t=((e=i^a)>>>1&2139062143)+(i&a)|0)^n)>>>1&2139062143)+(t&n)|0},function(e,r){e|=0;var i,n,t,a,f,A,u,s,l=0;return i=0|o[(r|=0)>>2],n=(e>>>24)-(r=(l=0|o[r+-4>>2])>>>24)|0,t=(i>>>24)-r|0,a=(e>>>16&255)-(r=l>>>16&255)|0,f=(i>>>16&255)-r|0,A=(e>>>8&255)-(r=l>>>8&255)|0,u=(i>>>8&255)-r|0,0|((((0|(l=(255&e)-(r=255&l)|0))>-1?l:0-l|0)-((0|(s=(255&i)-r|0))>-1?s:0-s|0)-((0|t)>-1?t:0-t|0)+((0|n)>-1?n:0-n|0)-((0|u)>-1?u:0-u|0)+((0|A)>-1?A:0-A|0)-((0|f)>-1?f:0-f|0)+((0|a)>-1?a:0-a|0)|0)<1?i:e)},function(e,r){var i,n,t,a,f;return e|=0,((r=((i=0|o[(r|=0)>>2])>>>24)+(e>>>24)-((n=0|o[r+-4>>2])>>>24)|0)>>>0<256?r:r>>>24^255)<<24|((f=(255&i)+(255&e)-(255&n)|0)>>>0<256?f:f>>>24^255)|((t=(i>>>16&255)+(e>>>16&255)-(n>>>16&255)|0)>>>0<256?t:t>>>24^255)<<16|((a=(i>>>8&255)+(e>>>8&255)-(n>>>8&255)|0)>>>0<256?a:a>>>24^255)<<8|0},function(e,r){e|=0;var i,n,t=0,a=0;return t=0|o[(r|=0)>>2],i=0|o[r+-4>>2],t=(((e=(a=((r=t^e)>>>1&2139062143)+(t&e)|0)>>>24)-(i>>>24)|0)/2|0)+e|0,r=(((e=a>>>16&255)-(i>>>16&255)|0)/2|0)+e|0,n=(((e=a>>>8&255)-(i>>>8&255)|0)/2|0)+e|0,(t>>>0<256?t:t>>>24^255)<<24|((a=(((e=255&a)-(255&i)|0)/2|0)+e|0)>>>0<256?a:a>>>24^255)|(r>>>0<256?r:r>>>24^255)<<16|(n>>>0<256?n:n>>>24^255)<<8|0},function(e,r){r|=0;var i,n,t,a,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0;if(n=(d=(i=0|o[(e|=0)+16>>2])+1|0)>>1,(0|i)<=0)return 0|(v=0);for(t=e+20|0,a=e+32|0,f=r+28|0,A=e+24|0,u=e+36|0,s=r+32|0,c=e+28|0,e=r+16|0,g=0,b=0,h=0,w=0|o[(d=r+24|0)>>2];;){k=0|o[a>>2],h=(0|ue(w,i-h|0,(0|o[t>>2])+(0|l(k,h))|0,k))+h|0,k=n-g|0,0|fe(0|o[f>>2],k)?(C=0|o[u>>2],p=0|ue(0|o[f>>2],k,(0|o[A>>2])+(0|l(C,g))|0,C),C=0|o[u>>2],ue(0|o[s>>2],k,(0|o[c>>2])+(0|l(C,g))|0,C),m=p+g|0):m=g,p=0|o[r>>2],C=0|o[9808+(o[p>>2]<<2)>>2],k=p+20|0,I=0|o[d>>2];e:do{if((0|o[I+64>>2])<(0|o[I+56>>2]))for(y=(0|o[p+16>>2])+(0|l(0|o[k>>2],(0|o[e>>2])+b|0))|0,E=0,D=I;;){if((0|o[D+24>>2])>0){L=E,x=D;break e}if(S=0|o[f>>2],(0|o[S+64>>2])>=(0|o[S+56>>2])){L=E,x=D;break e}if((0|o[S+24>>2])>0){L=E,x=D;break e}if(se(D),se(0|o[f>>2]),se(0|o[s>>2]),S=0|o[d>>2],en[31&C](0|o[S+68>>2],0|o[68+(0|o[f>>2])>>2],0|o[68+(0|o[s>>2])>>2],y,0|o[S+52>>2]),S=E+1|0,B=0|o[d>>2],!((0|o[B+64>>2])<(0|o[B+56>>2]))){L=S,x=B;break}y=y+(0|o[k>>2])|0,E=S,D=B}else L=0,x=I}while(0);if(I=L+b|0,(0|i)<=(0|h)){v=I;break}g=m,b=I,w=x}return 0|v},function(e,r){r|=0;var i=0,n=0,t=0,a=0,f=0,A=0,u=0,s=0;switch(t=(n=(i=0|o[(e|=0)+16>>2])+1|0)>>1,n=0|o[r+24>>2],0|(a=0|o[o[r>>2]>>2])){case 1:case 3:case 4:case 5:case 12:f=3;break;default:(a+-7|0)>>>0<=3&&(f=3)}if(3==(0|f)&&0|(f=0|o[e+104>>2])&&Ue(0|o[e+20>>2],0|o[e+32>>2],f,0|o[e>>2],0|o[e+12>>2],i,0),f=0|o[e+32>>2],!(a=(0|i)>0))return 0|0;A=0,u=i,i=0|o[e+20>>2];do{s=0|ue(n,u,i,f),i=i+(0|l(s,f))|0,u=u-s|0,A=(0|Ye(n))+A|0}while((0|u)>0);if(n=0|o[(u=e+36|0)>>2],f=0|o[r+28>>2],!a)return 0|A;a=t,i=0|o[e+24>>2];do{s=0|ue(f,a,i,n),i=i+(0|l(s,n))|0,a=a-s|0,Ye(f)}while((0|a)>0);a=0|o[u>>2],u=0|o[r+32>>2],r=t,t=0|o[e+28>>2];do{e=0|ue(u,r,t,a),t=t+(0|l(e,a))|0,r=r-e|0,Ye(u)}while((0|r)>0);return 0|A},function(e,r){var i,n,t;return e|=0,i=0|o[(r|=0)>>2],r=0|o[i+20>>2],n=(0|o[i+16>>2])+(0|l(r,0|o[e+8>>2]))|0,t=e+16|0,function(e,r,i,n,t,o,a,f,A,u){e|=0,r|=0,i|=0,n|=0,t|=0,o|=0,a|=0,f|=0,u|=0;var s=0,l=0;if((0|(A|=0))<=0)return;s=e,e=i,i=n,n=o,o=0;for(;en[31&u](s,e,i,n,f),l=0==(1&o|0),(0|(o=o+1|0))!=(0|A);)s=s+r|0,e=l?e:e+t|0,i=l?i:i+t|0,n=n+a|0}(0|o[e+20>>2],0|o[e+32>>2],0|o[e+24>>2],0|o[e+28>>2],0|o[e+36>>2],n,r,0|o[e+12>>2],0|o[t>>2],0|o[9872+(o[i>>2]<<2)>>2]),0|o[t>>2]},function(e,r){r|=0;var i,n,t,a,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0;if(d=0|o[(e|=0)+16>>2],v=0|o[r>>2],g=0|o[e+8>>2],b=0|o[(i=v+20|0)>>2],n=(0|o[v+16>>2])+(0|l(b,g))|0,t=0|o[9744+(o[v>>2]<<2)>>2],v=0|o[e+20>>2],h=0|o[e+24>>2],a=0|o[e+28>>2],f=r+8|0,A=r+12|0,u=g+d|0,c=((s=0|o[e+12>>2])+1|0)/2|0,g?(rn[7&t](0|o[r+4>>2],v,0|o[f>>2],0|o[A>>2],h,a,n+(0-b)|0,n,s),w=d+1|0):(rn[7&t](v,0,h,a,h,a,n,0,s),w=d),(0|(d=g+2|0))<(0|u))for(g=e+36|0,b=e+32|0,k=n,m=v,C=a,p=h,I=d;;){if(y=p+(d=0|o[g>>2])|0,E=C+d|0,D=k+((d=0|o[i>>2])<<1)|0,x=m+((L=0|o[b>>2])<<1)|0,rn[7&t](x+(0-L)|0,x,p,C,y,E,D+(0-d)|0,D,s),(0|(I=I+2|0))>=(0|u)){S=D,B=x,M=E,F=y,_=b;break}k=D,m=x,C=E,p=y}else S=n,B=v,M=a,F=h,_=e+32|0;return h=B+(0|o[_>>2])|0,((0|o[e+84>>2])+u|0)<(0|o[e+88>>2])?(Ti(0|o[r+4>>2],0|h,0|s),Ti(0|o[f>>2],0|F,0|c),Ti(0|o[A>>2],0|M,0|c),0|(w+-1|0)):(1&u|0||rn[7&t](h,0,F,M,F,M,S+(0|o[i>>2])|0,0,s),0|w)},function(e,r){e|=0;var i,n,t,a,f,A,u,s,c,d=0,v=0,g=0,b=0,h=0;if(d=0|o[(r|=0)>>2],r=0|o[e+8>>2],i=d+32|0,n=(0|o[d+16>>2])+(0|l(0|o[i>>2],r))|0,v=r>>1,r=d+36|0,t=(0|o[d+20>>2])+(0|l(0|o[r>>2],v))|0,a=d+40|0,f=(0|o[d+24>>2])+(0|l(0|o[a>>2],v))|0,A=((v=0|o[e+12>>2])+1|0)/2|0,u=((g=0|o[(d=e+16|0)>>2])+1|0)/2|0,!(b=(0|g)>0))return 0|(0|o[d>>2]);if(c=e+32|0,Ti(0|n,0|o[(s=e+20|0)>>2],0|v),1!=(0|g)){h=1;do{Ti(0|(n+(0|l(0|o[i>>2],h))|0),(0|o[s>>2])+(0|l(0|o[c>>2],h))|0,0|v),h=h+1|0}while((0|h)!=(0|g))}if(!b)return 0|(0|o[d>>2]);b=e+24|0,g=e+36|0,h=e+28|0,e=0;do{Ti(0|(v=t+(0|l(0|o[r>>2],e))|0),(0|o[b>>2])+(0|l(0|o[g>>2],e))|0,0|A),Ti(0|(v=f+(0|l(0|o[a>>2],e))|0),(0|o[h>>2])+(0|l(0|o[g>>2],e))|0,0|A),e=e+1|0}while((0|e)<(0|u));return 0|(0|o[d>>2])},nr,Ui,Ui,Ui,Ui,Ui,Ui,Ui,Ui,Ui,Ui,Ui],Zi=[zi,function(e,r,i){r|=0,i|=0;var n,t,a,f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0;n=O,O=O+48|0,t=n+32|0,u=n+16|0,a=n,s=0|o[(f=(e|=0)+28|0)>>2],o[a>>2]=s,l=(0|o[(A=e+20|0)>>2])-s|0,o[a+4>>2]=l,o[a+8>>2]=r,o[a+12>>2]=i,r=l+i|0,l=e+60|0,o[u>>2]=o[l>>2],o[u+4>>2]=a,o[u+8>>2]=2,s=0|ti(0|D(146,0|u));e:do{if((0|r)!=(0|s)){for(u=2,c=r,d=a,v=s;!((0|v)<0);){if(c=c-v|0,w=u+((b=v>>>0>(g=0|o[d+4>>2])>>>0)<<31>>31)|0,k=v-(b?g:0)|0,o[(h=b?d+8|0:d)>>2]=(0|o[h>>2])+k,o[(g=h+4|0)>>2]=(0|o[g>>2])-k,o[t>>2]=o[l>>2],o[t+4>>2]=h,o[t+8>>2]=w,(0|c)==(0|(v=0|ti(0|D(146,0|t))))){m=3;break e}u=w,d=h}o[e+16>>2]=0,o[f>>2]=0,o[A>>2]=0,o[e>>2]=32|o[e>>2],C=2==(0|u)?0:i-(0|o[d+4>>2])|0}else m=3}while(0);return 3==(0|m)&&(m=0|o[e+44>>2],o[e+16>>2]=m+(0|o[e+48>>2]),e=m,o[f>>2]=e,o[A>>2]=e,C=i),O=n,0|C},function(e,r,i){e|=0,r|=0,i|=0;var n,t,a,f=0;return n=O,O=O+32|0,a=n+20|0,o[(t=n)>>2]=o[e+60>>2],o[t+4>>2]=0,o[t+8>>2]=r,o[t+12>>2]=a,o[t+16>>2]=i,(0|ti(0|E(140,0|t)))<0?(o[a>>2]=-1,f=-1):f=0|o[a>>2],O=n,0|f},function(e,r,i){r|=0,i|=0;var n,t,a,f,A,u,s,c=0,d=0,v=0,g=0;if(!(c=0|o[(n=(e|=0)+104|0)>>2]))return 0;if(t=0|o[r+36>>2],a=(0|o[r+16>>2])+i|0,(0|i)<=0)return 0;for(f=t+60|0,A=e+8|0,u=e+16|0,s=r+52|0,d=i,i=c;c=0|o[f>>2],v=0|o[A>>2],g=0|o[e>>2],ue(t,v-c+(0|o[u>>2])|0,i+(0|l(g,c-v|0))|0,g),!((0|(g=d-(0|Zi[15&o[s>>2]](r,a-d|0,d))|0))<=0);)d=g,i=0|o[n>>2];return 0},function(e,r,i){e|=0,i|=0;var n,t,a,f=0,A=0,u=0,s=0,c=0,d=0,v=0;if(f=0|o[(r|=0)>>2],A=0|o[f+28>>2],n=0|o[r+16>>2],u=0|o[(t=f+44|0)>>2],a=A+(0|l(u,n))|0,!(s=0|o[e+104>>2])){if(!A)return 0;if(A=0|o[e+96>>2],(0|i)<=0)return 0;for(c=a,d=0;Oi(0|c,-1,0|A),(0|(d=d+1|0))!=(0|i);)c=c+u|0;return 0}if(u=0|o[f+16>>2],f=0|o[(c=f+32|0)>>2],i=0|o[e>>2],d=0|o[e+16>>2],r=0|o[(e=r+36|0)>>2],(0|d)<=0)return 0;A=0,v=d,d=s;do{s=0|ue(r,v,d,i),d=d+(0|l(s,i))|0,v=v-s|0,A=(0|Ye(r))+A|0}while((0|v)>0);return(0|A)<=0||Ue(v=u+(0|l(f,n))|0,0|o[c>>2],a,0|o[t>>2],0|o[52+(0|o[e>>2])>>2],A,1),0},function(e,r,i){r|=0,i|=0;var n,t,a=0,f=0,A=0,u=0;if(i=0|o[(e|=0)+104>>2],a=0|o[r>>2],r=0|o[e+12>>2],n=0|o[e+16>>2],f=0|o[a+28>>2],a=0|o[(t=a+44|0)>>2],A=f+(0|l(a,0|o[e+8>>2]))|0,i){if((0|n)<=0)return 0;for(a=A,A=i,i=0;Ti(0|a,0|A,0|r),(0|(i=i+1|0))!=(0|n);)a=a+(0|o[t>>2])|0,A=A+(0|o[e>>2])|0;return 0}if(!((0|n)>0&0!=(0|f)))return 0;for(f=A,u=0;Oi(0|f,-1,0|r),(0|(u=u+1|0))!=(0|n);)f=f+a|0;return 0},function(e,r,i){r|=0,i|=0;var n,t,a,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0;return(i=0|o[(e|=0)+104>>2])?(n=0|o[e+12>>2],t=0|o[r>>2],f=1&(a=4==(0|(r=0|o[t>>2]))|9==(0|r)),A=0|o[e+8>>2],u=0|o[e+16>>2],0|o[e+56>>2]?(A?(v=u,g=A+-1|0,b=i+(0-(0|o[e>>2]))|0):(v=u+-1|0,g=0,b=i),s=(0|(h=u+A+(i=0|o[e+84>>2])|0))==(0|o[e+88>>2])?h-(i+g)|0:v,c=g,d=b):(s=u,c=A,d=i),g=0|o[(b=t+20|0)>>2],v=(0|o[t+16>>2])+(0|l(g,c))|0,(r+-7|0)>>>0>3|0==(0|we(d,0|o[e>>2],n,s,v+(a?0:3)|0,g))||he(v,f,n,s,0|o[b>>2]),0):0},function(e,r,i){r|=0,i|=0;var t,f,A,u,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0;if(t=(s=0|o[(e|=0)>>2])+20|0,f=(0|o[s+16>>2])+(0|l(0|o[t>>2],r))|0,e=0|o[(r=e+36|0)>>2],A=0|o[e+52>>2],u=((0|o[s>>2])-7|0)>>>0<4,(0|o[e+64>>2])>=(0|o[e+56>>2]))return 0|(c=0);if((0|A)<=0){for(s=0,d=e;;){if(!((0|s)<(0|i)&&(0|o[d+24>>2])<1)){c=s,v=13;break}if(se(d),g=s+1|0,d=0|o[r>>2],(0|o[d+64>>2])>=(0|o[d+56>>2])){c=g,v=13;break}s=g}if(13==(0|v))return 0|c}for(v=15,s=0,d=f+1|0,g=e;;){if(!((0|s)<(0|i)&&(0|o[g+24>>2])<1)){b=v,h=s;break}se(g),e=0,w=v;do{m=(k=0|a[(0|o[68+(0|o[r>>2])>>2])+e>>0])>>>4,n[(k=d+(e<<1)|0)>>0]=m|-16&n[k>>0]&255,w&=m,e=e+1|0}while((0|e)!=(0|A));if(e=s+1|0,g=0|o[r>>2],(0|o[g+64>>2])>=(0|o[g+56>>2])){b=w,h=e;break}v=w,s=e,d=d+(0|o[t>>2])|0}return u&15!=(0|b)?(be(f,A,h,0|o[t>>2]),0|(c=h)):0|(c=h)},function(e,r,i){r|=0,i|=0;var n,t,a,f,A,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0;if(u=0|o[(e|=0)>>2],s=0|o[(n=u+20|0)>>2],t=(0|o[u+16>>2])+(0|l(s,r))|0,a=1&(u=4==(0|(r=0|o[u>>2]))|9==(0|r)),f=(r+-7|0)>>>0<4,e=0|o[(r=e+36|0)>>2],A=0|o[e+52>>2],(0|o[e+64>>2])>=(0|o[e+56>>2]))return 0|0;for(c=0,d=0,v=t+(u?0:3)|0,u=e,e=s;;){if(!((0|d)<(0|i)&&(0|o[u+24>>2])<1)){g=c,b=d,h=e;break}if(se(u),s=0|we(0|o[68+(0|o[r>>2])>>2],0,A,1,v,0)|c,w=0|o[n>>2],k=d+1|0,u=0|o[r>>2],(0|o[u+64>>2])>=(0|o[u+56>>2])){g=s,b=k,h=w;break}c=s,d=k,v=v+w|0,e=w}return f&0!=(0|g)?(he(t,a,A,b,h),0|b):0|b},function(e,r,i){r|=0,i|=0;var t,f,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0;if(!(i=0|o[(e|=0)+104>>2]))return 0;if(t=0|o[e+12>>2],A=0|o[r>>2],r=0|o[A>>2],u=0|o[e+8>>2],f=0|o[e+16>>2],0|o[e+56>>2]?(u?(v=u+-1|0,g=f,b=i+(0-(0|o[e>>2]))|0):(v=0,g=f+-1|0,b=i),s=v,c=(0|(h=f+u+(i=0|o[e+84>>2])|0))==(0|o[e+88>>2])?h-(i+v)|0:g,d=b):(s=u,c=f,d=i),b=A+20|0,g=(0|o[A+16>>2])+(0|l(0|o[b>>2],s))|0,(0|c)<=0)return 0;if((0|t)<=0)return 0;for(s=0,A=15,v=g+1|0,i=d;;){d=0,w=A;do{u=(h=0|a[i+d>>0])>>>4,n[(h=v+(d<<1)|0)>>0]=u|-16&n[h>>0]&255,w&=u,d=d+1|0}while((0|d)!=(0|t));if(k=0|o[b>>2],(0|(s=s+1|0))==(0|c))break;A=w,v=v+k|0,i=i+(0|o[e>>2])|0}return(r+-7|0)>>>0>3|15==(0|w)||be(g,t,c,k),0},zi,zi,zi,zi,zi,zi],ji=[function(e,r,i,n,t,o){return 0,0,0,0,0,0,d(3),0},function(e,r,i,n,f,A){i|=0,n|=0,A|=0;var u,s,d,v,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0;if((0|(f|=0))>=16)return 0|(g=16);u=(e|=0)+4|0,s=e+8|0,d=e+12|0,v=e+20|0,b=(0|o[(r|=0)+(f<<2)>>2])+(11*i|0)|0,i=f,f=0|o[s>>2],h=0|o[u>>2];e:for(;;){w=0|a[b>>0];do{if((0|f)<0){if((k=0|o[d>>2])>>>0<(0|o[v>>2])>>>0){m=a[k>>0]|a[k+1>>0]<<8|a[k+2>>0]<<16|a[k+3>>0]<<24,o[d>>2]=k+3,k=0|Ri(0|m),o[e>>2]=o[e>>2]<<24|k>>>8,k=f+24|0,o[s>>2]=k,C=k;break}Yr(e),C=0|o[s>>2];break}C=f}while(0);if(m=(k=0|l(h,w))>>>8,k=0|o[e>>2],(p=(C?k>>>C:k)>>>0>m>>>0)?(I=k-(m+1<>2]=I,y=h-m|0,E=I):(y=m+1|0,E=k),m=C-(k=24^(0|c(0|y)))|0,o[s>>2]=m,I=(y<>2]=I,!p){g=i,D=37;break}for(p=b,k=i,L=m,m=E,x=I;;){I=0|a[p+1>>0];do{if((0|L)<0){if((S=0|o[d>>2])>>>0<(0|o[v>>2])>>>0){B=a[S>>0]|a[S+1>>0]<<8|a[S+2>>0]<<16|a[S+3>>0]<<24,o[d>>2]=S+3,B=m<<24|(S=0|Ri(0|B))>>>8,o[e>>2]=B,S=L+24|0,o[s>>2]=S,M=B,F=S;break}Yr(e),M=0|o[e>>2],F=0|o[s>>2];break}M=m,F=L}while(0);if((S=(F?M>>>F:M)>>>0>(B=(S=0|l(x,I))>>>8)>>>0)?(_=M-(B+1<>2]=_,P=x-B|0,R=_):(P=B+1|0,R=M),T=F-(B=24^(0|c(0|P)))|0,o[s>>2]=T,G=(P<>2]=G,O=k+1|0,S)break;if(16==(0|O)){g=16,D=37;break e}p=0|o[r+(O<<2)>>2],k=O,L=T,m=R,x=G}x=0|o[r+(O<<2)>>2],m=0|a[p+2>>0];do{if((0|T)<0){if((L=0|o[d>>2])>>>0<(0|o[v>>2])>>>0){w=a[L>>0]|a[L+1>>0]<<8|a[L+2>>0]<<16|a[L+3>>0]<<24,o[d>>2]=L+3,w=R<<24|(L=0|Ri(0|w))>>>8,o[e>>2]=w,L=T+24|0,o[s>>2]=L,q=w,Y=L;break}Yr(e),q=0|o[e>>2],Y=0|o[s>>2];break}q=R,Y=T}while(0);(L=(Y?q>>>Y:q)>>>0>(w=(L=0|l(G,m))>>>8)>>>0)?(o[e>>2]=q-(w+1<>2]=S,o[u>>2]=(U<>2]):(z=1,W=x+11|0,X=S);do{if((0|X)<0){if((S=0|o[d>>2])>>>0<(0|o[v>>2])>>>0){L=a[S>>0]|a[S+1>>0]<<8|a[S+2>>0]<<16|a[S+3>>0]<<24,o[d>>2]=S+3,S=0|Ri(0|L),o[e>>2]=o[e>>2]<<24|S>>>8,S=X+24|0,o[s>>2]=S,Q=S;break}Yr(e),Q=0|o[s>>2];break}Q=X}while(0);if(p=(x=0|o[u>>2])>>>1,m=0|o[e>>2],L=(S=p-(Q?m>>>Q:m)|0)>>31,S=Q+-1|0,o[s>>2]=S,w=L+x|1,o[u>>2]=w,o[e>>2]=m-((L&p+1)<0&1)<<2)>>2])),t[A+((0|a[7584+k>>0])<<1)>>1]=p,!((0|k)<15)){g=16,D=37;break}b=W,i=O,f=S,h=w}return 37==(0|D)?0|g:0}],Ki=[Wi,function(e){o[(e|=0)>>2]=0,o[e+4>>2]=0,o[e+8>>2]=0,o[e+12>>2]=0,o[e+16>>2]=0,o[e+20>>2]=0},function(e){var r,i,n=0,t=0;if(r=0|o[(e|=0)>>2]){switch(ri(r),0|o[(i=e+4|0)>>2]){case 0:break;case 1:n=r+28|0,t=6;break;default:e=r+28|0;do{P(0|e,0|r)}while(1!=(0|o[i>>2]));n=e,t=6}6==(0|t)&&(o[i>>2]=2,_(0|n)),ii(r)}},function(e){var r,i=0;(i=0|o[(e|=0)+8>>2])&&(r=0==(0|Hi[31&i](0|o[e+12>>2],0|o[e+16>>2]))&1,o[(i=e+20|0)>>2]=o[i>>2]|r)},function(e){var r,i,n=0,t=0,a=0;if(r=0|o[(e|=0)>>2]){switch(ri(r),0|o[(i=e+4|0)>>2]){case 0:break;case 1:n=r+28|0,t=6;break;default:a=r+28|0;do{P(0|a,0|r)}while(1!=(0|o[i>>2]));n=a,t=6}6==(0|t)&&(o[i>>2]=0,_(0|n)),ii(r),T(0|o[r+76>>2],0),ni(r),M(r+28|0),Y(r),o[e>>2]=0}},function(e){var r;r=40+(0|o[(e|=0)+40>>2])|0,Y(0|o[r>>2]),o[r>>2]=0},function(e){var r;Oi(0|(e|=0),0|(r=(4+(0|a[e+-32>>0])+(0|a[e+-1>>0])+(0|a[e+-31>>0])+(0|a[e+31>>0])+(0|a[e+-30>>0])+(0|a[e+63>>0])+(0|a[e+-29>>0])+(0|a[e+95>>0])|0)>>>3&255),4),Oi(e+32|0,0|r,4),Oi(e+64|0,0|r,4),Oi(e+96|0,0|r,4)},function(e){e|=0;var r,i,t,f,A,u=0;u=(r=(0|o[2026])+(0-(0|a[e+-33>>0]))|0)+(0|a[e+-1>>0])|0,i=0|a[e+-32>>0],n[e>>0]=0|n[u+i>>0],t=0|a[e+-31>>0],n[e+1>>0]=0|n[u+t>>0],f=0|a[e+-30>>0],n[e+2>>0]=0|n[u+f>>0],A=0|a[e+-29>>0],n[e+3>>0]=0|n[u+A>>0],u=r+(0|a[e+31>>0])|0,n[e+32>>0]=0|n[u+i>>0],n[e+33>>0]=0|n[u+t>>0],n[e+34>>0]=0|n[u+f>>0],n[e+35>>0]=0|n[u+A>>0],u=r+(0|a[e+63>>0])|0,n[e+64>>0]=0|n[u+i>>0],n[e+65>>0]=0|n[u+t>>0],n[e+66>>0]=0|n[u+f>>0],n[e+67>>0]=0|n[u+A>>0],u=r+(0|a[e+95>>0])|0,n[e+96>>0]=0|n[u+i>>0],n[e+97>>0]=0|n[u+t>>0],n[e+98>>0]=0|n[u+f>>0],n[e+99>>0]=0|n[u+A>>0]},function(e){var r,i,t,o=0,f=0,A=0,u=0;o=0|a[(e|=0)+-32>>0],i=(A=(r=(f=0|a[e+-31>>0])+2|0)+(0|a[e+-33>>0])+(o<<1)|0)>>>2&255,f=(u=(t=(A=0|a[e+-30>>0])+2|0)+o+(f<<1)|0)>>>2&255,A=(o=r+(A<<1)+(u=0|a[e+-29>>0])|0)>>>2&255,u=(o=t+(u<<1)+(0|a[e+-28>>0])|0)>>>2&255,n[e>>0]=i,n[e+1>>0]=f,n[e+2>>0]=A,n[e+3>>0]=u,n[e+32>>0]=i,n[e+33>>0]=f,n[e+34>>0]=A,n[e+35>>0]=u,n[e+64>>0]=i,n[e+65>>0]=f,n[e+66>>0]=A,n[e+67>>0]=u,n[e+96>>0]=i,n[e+97>>0]=f,n[e+98>>0]=A,n[e+99>>0]=u},function(e){var r,i,t,o,f,A=0,u=0,s=0,l=0,c=0;A=0|a[(e|=0)+-1>>0],r=0|a[e+31>>0],u=0|a[e+63>>0],s=0|a[e+-33>>0],l=0|a[e+-32>>0],i=0|a[e+-31>>0],t=0|a[e+-30>>0],o=0|a[e+-29>>0],c=(f=r+2|0)+(u<<1)+(0|a[e+95>>0])|0,n[e+96>>0]=c>>>2,u=((c=A+2|0)+(r<<1)+u|0)>>>2&255,n[e+64>>0]=u,n[e+97>>0]=u,A=(u=f+(A<<1)+s|0)>>>2&255,n[e+32>>0]=A,n[e+65>>0]=A,n[e+98>>0]=A,c=(A=c+l+(s<<1)|0)>>>2&255,n[e>>0]=c,n[e+33>>0]=c,n[e+66>>0]=c,n[e+99>>0]=c,s=(c=s+2+i+(l<<1)|0)>>>2&255,n[e+1>>0]=s,n[e+34>>0]=s,n[e+67>>0]=s,l=(s=l+2+t+(i<<1)|0)>>>2&255,n[e+2>>0]=l,n[e+35>>0]=l,l=i+2+o+(t<<1)|0,n[e+3>>0]=l>>>2},function(e){var r,i,t,o,f=0,A=0,u=0,s=0,l=0;r=0|a[(e|=0)+-31>>0],f=0|a[e+-30>>0],A=0|a[e+-29>>0],u=0|a[e+-28>>0],s=0|a[e+-27>>0],i=0|a[e+-26>>0],t=0|a[e+-25>>0],l=(o=f+2|0)+(0|a[e+-32>>0])+(r<<1)|0,n[e>>0]=l>>>2,f=((l=A+2|0)+r+(f<<1)|0)>>>2&255,n[e+32>>0]=f,n[e+1>>0]=f,A=(f=o+(A<<1)+u|0)>>>2&255,n[e+64>>0]=A,n[e+33>>0]=A,n[e+2>>0]=A,l=(A=l+(u<<1)+s|0)>>>2&255,n[e+96>>0]=l,n[e+65>>0]=l,n[e+34>>0]=l,n[e+3>>0]=l,u=(l=u+2+(s<<1)+i|0)>>>2&255,n[e+97>>0]=u,n[e+66>>0]=u,n[e+35>>0]=u,s=(u=s+2+(i<<1)+t|0)>>>2&255,n[e+98>>0]=s,n[e+67>>0]=s,s=i+2+t+(t<<1)|0,n[e+99>>0]=s>>>2},function(e){var r,i,t=0,o=0,f=0,A=0,u=0;r=0|a[(e|=0)+-1>>0],t=0|a[e+31>>0],o=0|a[e+63>>0],f=0|a[e+95>>0],A=(i=t+2|0)+(0|a[e+-33>>0])+(r<<1)|0,u=0|l(A>>>2&255,16843009),n[e>>0]=u,n[e+1>>0]=u>>8,n[e+2>>0]=u>>16,n[e+3>>0]=u>>24,u=e+32|0,t=0|l(((A=o+2|0)+r+(t<<1)|0)>>>2&255,16843009),n[u>>0]=t,n[u+1>>0]=t>>8,n[u+2>>0]=t>>16,n[u+3>>0]=t>>24,t=e+64|0,o=0|l((u=i+(o<<1)+f|0)>>>2&255,16843009),n[t>>0]=o,n[t+1>>0]=o>>8,n[t+2>>0]=o>>16,n[t+3>>0]=o>>24,o=e+96|0,f=0|l((e=A+f+(f<<1)|0)>>>2&255,16843009),n[o>>0]=f,n[o+1>>0]=f>>8,n[o+2>>0]=f>>16,n[o+3>>0]=f>>24},function(e){var r,i,t,o,f,A=0,u=0,s=0,l=0,c=0;r=0|a[(e|=0)+-1>>0],i=0|a[e+31>>0],A=0|a[e+63>>0],u=0|a[e+-33>>0],s=0|a[e+-32>>0],t=0|a[e+-31>>0],o=0|a[e+-30>>0],f=0|a[e+-29>>0],c=((l=s+1|0)+u|0)>>>1&255,n[e+65>>0]=c,n[e>>0]=c,l=(c=l+t|0)>>>1&255,n[e+66>>0]=l,n[e+1>>0]=l,c=(l=t+1+o|0)>>>1&255,n[e+67>>0]=c,n[e+2>>0]=c,c=o+1+f|0,n[e+3>>0]=c>>>1,l=(c=r+2|0)+A+(i<<1)|0,n[e+96>>0]=l>>>2,A=(l=u+2|0)+i+(r<<1)|0,n[e+64>>0]=A>>>2,u=(A=c+(u<<1)+s|0)>>>2&255,n[e+97>>0]=u,n[e+32>>0]=u,l=(u=l+(s<<1)+t|0)>>>2&255,n[e+98>>0]=l,n[e+33>>0]=l,s=(l=s+2+(t<<1)+o|0)>>>2&255,n[e+99>>0]=s,n[e+34>>0]=s,s=t+2+(o<<1)+f|0,n[e+35>>0]=s>>>2},function(e){var r,i,t,o,f,A=0,u=0,s=0,l=0,c=0;A=0|a[(e|=0)+-32>>0],r=0|a[e+-31>>0],u=0|a[e+-30>>0],s=0|a[e+-29>>0],i=0|a[e+-28>>0],t=0|a[e+-27>>0],o=0|a[e+-26>>0],f=0|a[e+-25>>0],c=(l=r+1|0)+A|0,n[e>>0]=c>>>1,l=(c=l+u|0)>>>1&255,n[e+64>>0]=l,n[e+1>>0]=l,c=(l=u+1+s|0)>>>1&255,n[e+65>>0]=c,n[e+2>>0]=c,l=(c=s+1+i|0)>>>1&255,n[e+66>>0]=l,n[e+3>>0]=l,c=(l=u+2|0)+A+(r<<1)|0,n[e+32>>0]=c>>>2,u=(A=(c=s+2|0)+r+(u<<1)|0)>>>2&255,n[e+96>>0]=u,n[e+33>>0]=u,s=(u=l+(s<<1)+i|0)>>>2&255,n[e+97>>0]=s,n[e+34>>0]=s,c=(s=c+(i<<1)+t|0)>>>2&255,n[e+98>>0]=c,n[e+35>>0]=c,c=i+2+(t<<1)+o|0,n[e+67>>0]=c>>>2,c=t+2+(o<<1)+f|0,n[e+99>>0]=c>>>2},function(e){var r,i,t,o,f=0,A=0,u=0,s=0,l=0,c=0;r=0|a[(e|=0)+-1>>0],f=0|a[e+31>>0],i=0|a[e+63>>0],t=0|a[e+95>>0],A=0|a[e+-33>>0],u=0|a[e+-32>>0],s=0|a[e+-31>>0],o=0|a[e+-30>>0],c=((l=r+1|0)+A|0)>>>1&255,n[e+34>>0]=c,n[e>>0]=c,l=(c=l+f|0)>>>1&255,n[e+66>>0]=l,n[e+32>>0]=l,c=(l=f+1+i|0)>>>1&255,n[e+98>>0]=c,n[e+64>>0]=c,c=i+1+t|0,n[e+96>>0]=c>>>1,c=u+2+(s<<1)+o|0,n[e+3>>0]=c>>>2,c=A+2+(u<<1)+s|0,n[e+2>>0]=c>>>2,u=(s=(c=r+2|0)+(A<<1)+u|0)>>>2&255,n[e+35>>0]=u,n[e+1>>0]=u,A=(s=(u=f+2|0)+(r<<1)+A|0)>>>2&255,n[e+67>>0]=A,n[e+33>>0]=A,f=(A=c+i+(f<<1)|0)>>>2&255,n[e+99>>0]=f,n[e+65>>0]=f,f=u+t+(i<<1)|0,n[e+97>>0]=f>>>2},function(e){var r,i,t,o=0,f=0,A=0,u=0;r=0|a[(e|=0)+-1>>0],i=0|a[e+31>>0],o=0|a[e+63>>0],f=255&(t=0|n[e+95>>0]),u=(A=i+1|0)+r|0,n[e>>0]=u>>>1,A=(u=A+o|0)>>>1&255,n[e+32>>0]=A,n[e+2>>0]=A,u=(A=o+1+f|0)>>>1&255,n[e+64>>0]=u,n[e+34>>0]=u,A=(u=o+2|0)+r+(i<<1)|0,n[e+1>>0]=A>>>2,o=(A=f+2+i+(o<<1)|0)>>>2&255,n[e+33>>0]=o,n[e+3>>0]=o,f=(o=u+f+(f<<1)|0)>>>2&255,n[e+65>>0]=f,n[e+35>>0]=f,n[e+66>>0]=t,n[e+67>>0]=t,Oi(e+96|0,0|t,4)},function(e){var r;Oi(0|(e|=0),0|(r=(16+(0|a[e+-1>>0])+(0|a[e+-32>>0])+(0|a[e+31>>0])+(0|a[e+-31>>0])+(0|a[e+63>>0])+(0|a[e+-30>>0])+(0|a[e+95>>0])+(0|a[e+-29>>0])+(0|a[e+127>>0])+(0|a[e+-28>>0])+(0|a[e+159>>0])+(0|a[e+-27>>0])+(0|a[e+191>>0])+(0|a[e+-26>>0])+(0|a[e+223>>0])+(0|a[e+-25>>0])+(0|a[e+255>>0])+(0|a[e+-24>>0])+(0|a[e+287>>0])+(0|a[e+-23>>0])+(0|a[e+319>>0])+(0|a[e+-22>>0])+(0|a[e+351>>0])+(0|a[e+-21>>0])+(0|a[e+383>>0])+(0|a[e+-20>>0])+(0|a[e+415>>0])+(0|a[e+-19>>0])+(0|a[e+447>>0])+(0|a[e+-18>>0])+(0|a[e+479>>0])+(0|a[e+-17>>0])|0)>>>5&255),16),Oi(e+32|0,0|r,16),Oi(e+64|0,0|r,16),Oi(e+96|0,0|r,16),Oi(e+128|0,0|r,16),Oi(e+160|0,0|r,16),Oi(e+192|0,0|r,16),Oi(e+224|0,0|r,16),Oi(e+256|0,0|r,16),Oi(e+288|0,0|r,16),Oi(e+320|0,0|r,16),Oi(e+352|0,0|r,16),Oi(e+384|0,0|r,16),Oi(e+416|0,0|r,16),Oi(e+448|0,0|r,16),Oi(e+480|0,0|r,16)},function(e){var r,i,t,f,A,u,s,l,c,d,v,g,b,h,w,k,m,C=0,p=0;for(r=(e|=0)+-32|0,i=(0|o[2026])+(0-(0|a[e+-33>>0]))|0,t=e+-31|0,f=e+-30|0,A=e+-29|0,u=e+-28|0,s=e+-27|0,l=e+-26|0,c=e+-25|0,d=e+-24|0,v=e+-23|0,g=e+-22|0,b=e+-21|0,h=e+-20|0,w=e+-19|0,k=e+-18|0,m=e+-17|0,C=e,e=0;p=i+(0|a[C+-1>>0])|0,n[C>>0]=0|n[p+(0|a[r>>0])>>0],n[C+1>>0]=0|n[p+(0|a[t>>0])>>0],n[C+2>>0]=0|n[p+(0|a[f>>0])>>0],n[C+3>>0]=0|n[p+(0|a[A>>0])>>0],n[C+4>>0]=0|n[p+(0|a[u>>0])>>0],n[C+5>>0]=0|n[p+(0|a[s>>0])>>0],n[C+6>>0]=0|n[p+(0|a[l>>0])>>0],n[C+7>>0]=0|n[p+(0|a[c>>0])>>0],n[C+8>>0]=0|n[p+(0|a[d>>0])>>0],n[C+9>>0]=0|n[p+(0|a[v>>0])>>0],n[C+10>>0]=0|n[p+(0|a[g>>0])>>0],n[C+11>>0]=0|n[p+(0|a[b>>0])>>0],n[C+12>>0]=0|n[p+(0|a[h>>0])>>0],n[C+13>>0]=0|n[p+(0|a[w>>0])>>0],n[C+14>>0]=0|n[p+(0|a[k>>0])>>0],n[C+15>>0]=0|n[p+(0|a[m>>0])>>0],16!=(0|(e=e+1|0));)C=C+32|0},function(e){var r,i=0,t=0,o=0;t=r=(e|=0)+-32|0,o=(i=e)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+32|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+64|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+96|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+128|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+160|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+192|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+224|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+256|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+288|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+320|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+352|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+384|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+416|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+448|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o));t=r,o=(i=e+480|0)+16|0;do{n[i>>0]=0|n[t>>0],i=i+1|0,t=t+1|0}while((0|i)<(0|o))},function(e){Oi(0|(e|=0),0|n[e+-1>>0],16),Oi(e+32|0,0|n[e+31>>0],16),Oi(e+64|0,0|n[e+63>>0],16),Oi(e+96|0,0|n[e+95>>0],16),Oi(e+128|0,0|n[e+127>>0],16),Oi(e+160|0,0|n[e+159>>0],16),Oi(e+192|0,0|n[e+191>>0],16),Oi(e+224|0,0|n[e+223>>0],16),Oi(e+256|0,0|n[e+255>>0],16),Oi(e+288|0,0|n[e+287>>0],16),Oi(e+320|0,0|n[e+319>>0],16),Oi(e+352|0,0|n[e+351>>0],16),Oi(e+384|0,0|n[e+383>>0],16),Oi(e+416|0,0|n[e+415>>0],16),Oi(e+448|0,0|n[e+447>>0],16),Oi(e+480|0,0|n[e+479>>0],16)},function(e){var r;Oi(0|(e|=0),0|(r=(8+(0|a[e+-1>>0])+(0|a[e+31>>0])+(0|a[e+63>>0])+(0|a[e+95>>0])+(0|a[e+127>>0])+(0|a[e+159>>0])+(0|a[e+191>>0])+(0|a[e+223>>0])+(0|a[e+255>>0])+(0|a[e+287>>0])+(0|a[e+319>>0])+(0|a[e+351>>0])+(0|a[e+383>>0])+(0|a[e+415>>0])+(0|a[e+447>>0])+(0|a[e+479>>0])|0)>>>4&255),16),Oi(e+32|0,0|r,16),Oi(e+64|0,0|r,16),Oi(e+96|0,0|r,16),Oi(e+128|0,0|r,16),Oi(e+160|0,0|r,16),Oi(e+192|0,0|r,16),Oi(e+224|0,0|r,16),Oi(e+256|0,0|r,16),Oi(e+288|0,0|r,16),Oi(e+320|0,0|r,16),Oi(e+352|0,0|r,16),Oi(e+384|0,0|r,16),Oi(e+416|0,0|r,16),Oi(e+448|0,0|r,16),Oi(e+480|0,0|r,16)},function(e){var r;Oi(0|(e|=0),0|(r=(8+(0|a[e+-32>>0])+(0|a[e+-31>>0])+(0|a[e+-30>>0])+(0|a[e+-29>>0])+(0|a[e+-28>>0])+(0|a[e+-27>>0])+(0|a[e+-26>>0])+(0|a[e+-25>>0])+(0|a[e+-24>>0])+(0|a[e+-23>>0])+(0|a[e+-22>>0])+(0|a[e+-21>>0])+(0|a[e+-20>>0])+(0|a[e+-19>>0])+(0|a[e+-18>>0])+(0|a[e+-17>>0])|0)>>>4&255),16),Oi(e+32|0,0|r,16),Oi(e+64|0,0|r,16),Oi(e+96|0,0|r,16),Oi(e+128|0,0|r,16),Oi(e+160|0,0|r,16),Oi(e+192|0,0|r,16),Oi(e+224|0,0|r,16),Oi(e+256|0,0|r,16),Oi(e+288|0,0|r,16),Oi(e+320|0,0|r,16),Oi(e+352|0,0|r,16),Oi(e+384|0,0|r,16),Oi(e+416|0,0|r,16),Oi(e+448|0,0|r,16),Oi(e+480|0,0|r,16)},function(e){var r=0,i=0;i=(r=e|=0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+32|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+64|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+96|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+128|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+160|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+192|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+224|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+256|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+288|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+320|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+352|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+384|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+416|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+448|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i));i=(r=e+480|0)+16|0;do{n[r>>0]=128,r=r+1|0}while((0|r)<(0|i))},function(e){var r;Oi(0|(e|=0),0|(r=(8+(0|a[e+-32>>0])+(0|a[e+-1>>0])+(0|a[e+-31>>0])+(0|a[e+31>>0])+(0|a[e+-30>>0])+(0|a[e+63>>0])+(0|a[e+-29>>0])+(0|a[e+95>>0])+(0|a[e+-28>>0])+(0|a[e+127>>0])+(0|a[e+-27>>0])+(0|a[e+159>>0])+(0|a[e+-26>>0])+(0|a[e+191>>0])+(0|a[e+-25>>0])+(0|a[e+223>>0])|0)>>>4&255),8),Oi(e+32|0,0|r,8),Oi(e+64|0,0|r,8),Oi(e+96|0,0|r,8),Oi(e+128|0,0|r,8),Oi(e+160|0,0|r,8),Oi(e+192|0,0|r,8),Oi(e+224|0,0|r,8)},function(e){var r,i,t,f,A,u,s,l,c,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0;r=(e|=0)+-32|0,d=(i=(0|o[2026])+(0-(0|a[e+-33>>0]))|0)+(0|a[e+-1>>0])|0,v=0|a[r>>0],n[e>>0]=0|n[d+v>>0],g=0|a[(t=e+-31|0)>>0],n[e+1>>0]=0|n[d+g>>0],b=0|a[(f=e+-30|0)>>0],n[e+2>>0]=0|n[d+b>>0],h=0|a[(A=e+-29|0)>>0],n[e+3>>0]=0|n[d+h>>0],w=0|a[(u=e+-28|0)>>0],n[e+4>>0]=0|n[d+w>>0],k=0|a[(s=e+-27|0)>>0],n[e+5>>0]=0|n[d+k>>0],m=0|a[(l=e+-26|0)>>0],n[e+6>>0]=0|n[d+m>>0],C=0|a[(c=e+-25|0)>>0],n[e+7>>0]=0|n[d+C>>0],d=i+(0|a[e+31>>0])|0,n[e+32>>0]=0|n[d+v>>0],n[e+33>>0]=0|n[d+g>>0],n[e+34>>0]=0|n[d+b>>0],n[e+35>>0]=0|n[d+h>>0],n[e+36>>0]=0|n[d+w>>0],n[e+37>>0]=0|n[d+k>>0],n[e+38>>0]=0|n[d+m>>0],n[e+39>>0]=0|n[d+C>>0],d=i+(0|a[e+63>>0])|0,n[e+64>>0]=0|n[d+v>>0],n[e+65>>0]=0|n[d+g>>0],n[e+66>>0]=0|n[d+b>>0],n[e+67>>0]=0|n[d+h>>0],n[e+68>>0]=0|n[d+w>>0],n[e+69>>0]=0|n[d+k>>0],n[e+70>>0]=0|n[d+m>>0],n[e+71>>0]=0|n[d+C>>0],C=i+(0|a[e+95>>0])|0,d=0|a[r>>0],n[e+96>>0]=0|n[C+d>>0],m=0|a[t>>0],n[e+97>>0]=0|n[C+m>>0],k=0|a[f>>0],n[e+98>>0]=0|n[C+k>>0],w=0|a[A>>0],n[e+99>>0]=0|n[C+w>>0],h=0|a[u>>0],n[e+100>>0]=0|n[C+h>>0],b=0|a[s>>0],n[e+101>>0]=0|n[C+b>>0],g=0|a[l>>0],n[e+102>>0]=0|n[C+g>>0],v=0|a[c>>0],n[e+103>>0]=0|n[C+v>>0],C=i+(0|a[e+127>>0])|0,n[e+128>>0]=0|n[C+d>>0],n[e+129>>0]=0|n[C+m>>0],n[e+130>>0]=0|n[C+k>>0],n[e+131>>0]=0|n[C+w>>0],n[e+132>>0]=0|n[C+h>>0],n[e+133>>0]=0|n[C+b>>0],n[e+134>>0]=0|n[C+g>>0],n[e+135>>0]=0|n[C+v>>0],v=i+(0|a[e+159>>0])|0,n[e+160>>0]=0|n[v+d>>0],n[e+161>>0]=0|n[v+m>>0],n[e+162>>0]=0|n[v+(0|a[f>>0])>>0],n[e+163>>0]=0|n[v+(0|a[A>>0])>>0],n[e+164>>0]=0|n[v+(0|a[u>>0])>>0],n[e+165>>0]=0|n[v+(0|a[s>>0])>>0],n[e+166>>0]=0|n[v+(0|a[l>>0])>>0],n[e+167>>0]=0|n[v+(0|a[c>>0])>>0],v=i+(0|a[e+191>>0])|0,n[e+192>>0]=0|n[v+(0|a[r>>0])>>0],n[e+193>>0]=0|n[v+(0|a[t>>0])>>0],n[e+194>>0]=0|n[v+(0|a[f>>0])>>0],n[e+195>>0]=0|n[v+(0|a[A>>0])>>0],n[e+196>>0]=0|n[v+(0|a[u>>0])>>0],n[e+197>>0]=0|n[v+(0|a[s>>0])>>0],n[e+198>>0]=0|n[v+(0|a[l>>0])>>0],n[e+199>>0]=0|n[v+(0|a[c>>0])>>0],v=i+(0|a[e+223>>0])|0,n[e+224>>0]=0|n[v+(0|a[r>>0])>>0],n[e+225>>0]=0|n[v+(0|a[t>>0])>>0],n[e+226>>0]=0|n[v+(0|a[f>>0])>>0],n[e+227>>0]=0|n[v+(0|a[A>>0])>>0],n[e+228>>0]=0|n[v+(0|a[u>>0])>>0],n[e+229>>0]=0|n[v+(0|a[s>>0])>>0],n[e+230>>0]=0|n[v+(0|a[l>>0])>>0],n[e+231>>0]=0|n[v+(0|a[c>>0])>>0]},function(e){var r=0,i=0,t=0,o=0;t=a[(i=r=(e|=0)+-32|0)>>0]|a[i+1>>0]<<8|a[i+2>>0]<<16|a[i+3>>0]<<24,r=a[(i=r+4|0)>>0]|a[i+1>>0]<<8|a[i+2>>0]<<16|a[i+3>>0]<<24,n[(o=i=e)>>0]=t,n[o+1>>0]=t>>8,n[o+2>>0]=t>>16,n[o+3>>0]=t>>24,n[(o=i+4|0)>>0]=r,n[o+1>>0]=r>>8,n[o+2>>0]=r>>16,n[o+3>>0]=r>>24,n[(i=o=e+32|0)>>0]=t,n[i+1>>0]=t>>8,n[i+2>>0]=t>>16,n[i+3>>0]=t>>24,n[(i=o+4|0)>>0]=r,n[i+1>>0]=r>>8,n[i+2>>0]=r>>16,n[i+3>>0]=r>>24,n[(o=i=e+64|0)>>0]=t,n[o+1>>0]=t>>8,n[o+2>>0]=t>>16,n[o+3>>0]=t>>24,n[(o=i+4|0)>>0]=r,n[o+1>>0]=r>>8,n[o+2>>0]=r>>16,n[o+3>>0]=r>>24,n[(i=o=e+96|0)>>0]=t,n[i+1>>0]=t>>8,n[i+2>>0]=t>>16,n[i+3>>0]=t>>24,n[(i=o+4|0)>>0]=r,n[i+1>>0]=r>>8,n[i+2>>0]=r>>16,n[i+3>>0]=r>>24,n[(o=i=e+128|0)>>0]=t,n[o+1>>0]=t>>8,n[o+2>>0]=t>>16,n[o+3>>0]=t>>24,n[(o=i+4|0)>>0]=r,n[o+1>>0]=r>>8,n[o+2>>0]=r>>16,n[o+3>>0]=r>>24,n[(i=o=e+160|0)>>0]=t,n[i+1>>0]=t>>8,n[i+2>>0]=t>>16,n[i+3>>0]=t>>24,n[(i=o+4|0)>>0]=r,n[i+1>>0]=r>>8,n[i+2>>0]=r>>16,n[i+3>>0]=r>>24,n[(o=i=e+192|0)>>0]=t,n[o+1>>0]=t>>8,n[o+2>>0]=t>>16,n[o+3>>0]=t>>24,n[(o=i+4|0)>>0]=r,n[o+1>>0]=r>>8,n[o+2>>0]=r>>16,n[o+3>>0]=r>>24,n[(e=o=e+224|0)>>0]=t,n[e+1>>0]=t>>8,n[e+2>>0]=t>>16,n[e+3>>0]=t>>24,n[(t=o+4|0)>>0]=r,n[t+1>>0]=r>>8,n[t+2>>0]=r>>16,n[t+3>>0]=r>>24},function(e){Oi(0|(e|=0),0|n[e+-1>>0],8),Oi(e+32|0,0|n[e+31>>0],8),Oi(e+64|0,0|n[e+63>>0],8),Oi(e+96|0,0|n[e+95>>0],8),Oi(e+128|0,0|n[e+127>>0],8),Oi(e+160|0,0|n[e+159>>0],8),Oi(e+192|0,0|n[e+191>>0],8),Oi(e+224|0,0|n[e+223>>0],8)},function(e){var r;Oi(0|(e|=0),0|(r=(4+(0|a[e+-1>>0])+(0|a[e+31>>0])+(0|a[e+63>>0])+(0|a[e+95>>0])+(0|a[e+127>>0])+(0|a[e+159>>0])+(0|a[e+191>>0])+(0|a[e+223>>0])|0)>>>3&255),8),Oi(e+32|0,0|r,8),Oi(e+64|0,0|r,8),Oi(e+96|0,0|r,8),Oi(e+128|0,0|r,8),Oi(e+160|0,0|r,8),Oi(e+192|0,0|r,8),Oi(e+224|0,0|r,8)},function(e){var r;Oi(0|(e|=0),0|(r=(4+(0|a[e+-32>>0])+(0|a[e+-31>>0])+(0|a[e+-30>>0])+(0|a[e+-29>>0])+(0|a[e+-28>>0])+(0|a[e+-27>>0])+(0|a[e+-26>>0])+(0|a[e+-25>>0])|0)>>>3&255),8),Oi(e+32|0,0|r,8),Oi(e+64|0,0|r,8),Oi(e+96|0,0|r,8),Oi(e+128|0,0|r,8),Oi(e+160|0,0|r,8),Oi(e+192|0,0|r,8),Oi(e+224|0,0|r,8)},function(e){var r=0,i=0;n[(i=r=e|=0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(i=r+4|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(r=i=e+32|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(r=i+4|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(i=r=e+64|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(i=r+4|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(r=i=e+96|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(r=i+4|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(i=r=e+128|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(i=r+4|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(r=i=e+160|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(r=i+4|0)>>0]=-2139062144,n[r+1>>0]=-8355712,n[r+2>>0]=-32640,n[r+3>>0]=-128,n[(i=r=e+192|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(i=r+4|0)>>0]=-2139062144,n[i+1>>0]=-8355712,n[i+2>>0]=-32640,n[i+3>>0]=-128,n[(e=i=e+224|0)>>0]=-2139062144,n[e+1>>0]=-8355712,n[e+2>>0]=-32640,n[e+3>>0]=-128,n[(e=i+4|0)>>0]=-2139062144,n[e+1>>0]=-8355712,n[e+2>>0]=-32640,n[e+3>>0]=-128},Wi,Wi],Ji=[Xi,function(e,r){var i,n,t,a,f,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0;if(n=(e|=0)+100|0,(0|(u=(r|=0)-(A=0|o[(i=e+108|0)>>2])|0))<=0)return o[(e+116|0)>>2]=r,void(o[i>>2]=r);for(s=0|o[n>>2],t=e+8|0,a=e+20|0,f=e+176|0,c=u,u=(0|o[e+16>>2])+((0|l(s,A))<<2)|0,d=A,v=A,A=s;;){if(s=(0|c)<16?c:16,g=0|o[t>>2],b=0|o[g+40>>2],h=0|o[g>>2],g=0|l(h,s),w=(0|o[b+136>>2])+(0|l(h,d))|0,k=0|o[a>>2],C=v+s|0,(0|(m=0|o[f>>2]))>0){if(ae(e+180+(20*(p=m+-1|0)|0)|0,v,C,u,k),1!=(0|m)){m=p;do{p=m,ae(e+180+(20*(m=m+-1|0)|0)|0,v,C,k,k)}while((0|p)>1)}}else(0|k)!=(0|u)&&Ti(0|k,0|u,0|l(s<<2,A));if(me(k,w,g),C=s+d|0,0|(p=0|o[(m=b+12|0)>>2])){if(y=0|o[(I=b+140|0)>>2],(0|c)>0){if(E=0|l(h,s+-1|0),$i[31&o[9472+(p<<2)>>2]](y,w,w,h),(0|(p=d+1|0))!=(0|C)){D=w,L=p;do{p=D,D=D+h|0,$i[31&o[9472+(o[m>>2]<<2)>>2]](p,D,D,h),L=L+1|0}while((0|L)!=(0|C))}x=w+E|0}else x=y;o[I>>2]=x}if(L=c-s|0,h=0|o[n>>2],(0|L)<=0)break;c=L,u=D=u+((0|l(h,s))<<2)|0,d=C,v=0|o[i>>2],A=h}o[(e+116|0)>>2]=r,o[i>>2]=r},function(e,r){var i,n,t,a=0,f=0,A=0,u=0,s=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0;if((0|(f=(r|=0)-(a=0|o[(i=(e|=0)+108|0)>>2])|0))<=0)o[i>>2]=r;else{if(A=0|o[e+100>>2],u=(0|o[e+16>>2])+((0|l(A,a))<<2)|0,n=0|o[e+8>>2],s=0|o[e+20>>2],t=o[n>>2]<<2,d=s,(0|(c=0|o[e+176>>2]))>0){if(ae(e+180+(20*(v=c+-1|0)|0)|0,a,r,u,d),1!=(0|c)){c=v;do{v=c,ae(e+180+(20*(c=c+-1|0)|0)|0,a,r,d,d)}while((0|v)>1)}}else(0|u)!=(0|d)&&Ti(0|s,0|u,0|l(f<<2,A));if(A=0|o[i>>2],(0|(u=(0|(f=0|o[n+88>>2]))<(0|r)?f:r))<=(0|(a=(d=(0|(f=0|o[n+84>>2]))>(0|A))?f:A)))o[i>>2]=r;else{if(c=s+(0|l(f-A|0,t))|0,v=(d?c:s)+((A=0|o[n+76>>2])<<2)|0,o[n+8>>2]=a-f,f=(0|o[n+80>>2])-A|0,o[n+12>>2]=f,A=u-a|0,o[n+16>>2]=A,u=0|o[(a=e+12|0)>>2],(s=0|o[u>>2])>>>0<=10){if(c=e+116|0,d=0|o[u+20>>2],g=(0|o[u+16>>2])+(0|l(d,0|o[c>>2]))|0,b=(0|A)>0,0|o[n+92>>2])if(b)for(b=e+268|0,k=0,w=0;;){h=v+(0|l(w,t))|0,C=g+(0|l(k,d))|0,p=A-w|0,I=0|fe(0|o[b>>2],p),Ae(h,t,0|o[44+(0|o[b>>2])>>2],I,0),w=(0|ue(0|o[b>>2],p,h,t))+w|0,h=0|o[b>>2],p=0|o[h+68>>2],I=0|o[h+52>>2],y=h+24|0,E=h+56|0,D=h+64|0;e:do{if((0|o[D>>2])<(0|o[E>>2]))for(L=0;;){if((0|o[y>>2])>0){x=L;break e}if(S=C+(0|l(L,d))|0,se(h),ve(p,I,1),le(p,I,s,S),S=L+1|0,!((0|o[D>>2])<(0|o[E>>2]))){x=S;break}L=S}else x=0}while(0);if(E=x+k|0,(0|w)>=(0|A)){m=E;break}k=E}else m=0;else if(b)for(h=A,w=v,k=g;;){if(le(w,f,s,k),!((0|h)>1)){m=A;break}h=h+-1|0,w=w+t|0,k=k+d|0}else m=A;return o[c>>2]=(0|o[c>>2])+m,void(o[i>>2]=r)}c=0|o[(m=e+116|0)>>2],k=(0|A)>0;e:do{if(0|o[n+92>>2])if(k)for(d=e+268|0,s=0,x=c,w=v;;){b=A-s|0,g=0|fe(0|o[d>>2],b),Ae(w,t,0|o[44+(0|o[d>>2])>>2],g,0),s=(0|ue(0|o[d>>2],b,w,t))+s|0,w=w+(0|l(g,t))|0,g=0|o[d>>2],b=0|o[g+68>>2],E=0|o[g+52>>2],D=g+24|0,I=g+56|0,p=g+64|0;r:do{if((0|o[p>>2])<(0|o[I>>2]))for(h=b+3|0,C=x,y=0;;){if((0|o[D>>2])>0){M=y;break r}if(se(g),ve(b,E,1),L=0|o[a>>2],Or(b,(0|o[L+16>>2])+(0|l(0|o[L+32>>2],C))|0,E),S=C>>1,qr(b,(0|o[L+20>>2])+(0|l(0|o[L+36>>2],S))|0,(0|o[L+24>>2])+(0|l(0|o[L+40>>2],S))|0,E,1&C^1),0|(S=0|o[L+28>>2])&&ke(h,0,E,1,S+(0|l(0|o[L+44>>2],C))|0,0),L=y+1|0,!((0|o[p>>2])<(0|o[I>>2]))){M=L;break}C=C+1|0,y=L}else M=0}while(0);if(I=M+x|0,(0|s)>=(0|A)){B=I;break}x=I}else B=c;else if(k)for(w=A,x=v,s=c,d=u;;){if(Or(x,(0|o[d+16>>2])+(0|l(0|o[d+32>>2],s))|0,f),b=s>>1,qr(x,g=(0|o[d+20>>2])+(0|l(0|o[d+36>>2],b))|0,(0|o[d+24>>2])+(0|l(0|o[d+40>>2],b))|0,f,1&s^1),0|(b=0|o[d+28>>2])&&ke(x+3|0,0,f,1,b+(0|l(0|o[d+44>>2],s))|0,0),b=s+1|0,(0|w)<=1){B=b;break e}w=w+-1|0,x=x+t|0,s=b,d=0|o[a>>2]}else B=c}while(0);o[m>>2]=B,o[i>>2]=r}}},Xi],$i=[Qi,function(e,r,i,t){r|=0,i|=0,t|=0;var o=0;if(o=(e|=0)?0|n[e>>0]:0,!((0|t)<=0)){e=o,o=0;do{e=(0|a[r+o>>0])+(255&e)&255,n[i+o>>0]=e,o=o+1|0}while((0|o)!=(0|t))}},function(e,r,i,t){r|=0,i|=0;var o=0,f=0,A=0;if(o=(0|(t|=0))>0,e|=0){if(!o)return;o=0;do{n[i+o>>0]=(0|a[r+o>>0])+(0|a[e+o>>0]),o=o+1|0}while((0|o)!=(0|t))}else if(o){f=0,A=0;do{f=(255&f)+(0|a[r+A>>0])|0,n[i+A>>0]=f,A=A+1|0}while((0|A)!=(0|t))}},function(e,r,i,t){r|=0,i|=0,t|=0;var o=0,f=0,A=0,u=0,s=0;if(e|=0){if(f=0|n[e>>0],!((0|t)<=0)&&(A=((o=(255&f)-(255&f)+(255&f)|0)>>>0<256?o:255+(o>>>31)|0)+(0|a[r>>0])|0,n[i>>0]=A,1!=(0|t))){o=1,u=A,A=f;do{u=((s=(255&u)-(255&(f=A))+(255&(A=0|n[e+o>>0]))|0)>>>0<256?s:255+(s>>>31)|0)+(0|a[r+o>>0])|0,n[i+o>>0]=u,o=o+1|0}while((0|o)!=(0|t))}}else{if((0|t)<=0)return;o=0,f=0;do{o=(255&o)+(0|a[r+f>>0])|0,n[i+f>>0]=o,f=f+1|0}while((0|f)!=(0|t))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0;if(!((0|(i|=0))<=0)){r=0;do{t=0|o[e+(r<<2)>>2],o[n+(r<<2)>>2]=t+-16777216&-16711936|16711935&t,r=r+1|0}while((0|r)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0;if(!((0|(i|=0))<=0)){r=0,t=0|o[n+-4>>2];do{t=(-16711936&(a=0|o[e+(r<<2)>>2]))+(-16711936&t)&-16711936|(16711935&a)+(16711935&t)&16711935,o[n+(r<<2)>>2]=t,r=r+1|0}while((0|r)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0;if(!((0|(i|=0))<=0)){t=0;do{a=0|o[r+(t<<2)>>2],f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0;if(!((0|(i|=0))<=0)){t=0;do{a=0|o[r+(t<<2)+4>>2],f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0;if(!((0|(i|=0))<=0)){t=0;do{a=0|o[r+(t<<2)+-4>>2],f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&f)+(-16711936&a)&-16711936|(16711935&f)+(16711935&a)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{A=0|o[(f=r+(t<<2)|0)>>2],a=(-16711936&(f=((u=(s=((f=(u=0|o[f+4>>2])^a)>>>1&2139062143)+(u&a)|0)^A)>>>1&2139062143)+(s&A)|0))+(-16711936&(A=0|o[e+(t<<2)>>2]))&-16711936|(16711935&f)+(16711935&A)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{a=(-16711936&(A=(((f=0|o[r+(t<<2)+-4>>2])^a)>>>1&2139062143)+(f&a)|0))+(-16711936&(f=0|o[e+(t<<2)>>2]))&-16711936|(16711935&A)+(16711935&f)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{a=(-16711936&(A=(((f=0|o[r+(t<<2)>>2])^a)>>>1&2139062143)+(f&a)|0))+(-16711936&(f=0|o[e+(t<<2)>>2]))&-16711936|(16711935&A)+(16711935&f)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0;if(!((0|(i|=0))<=0)){t=0;do{f=0|o[(a=r+(t<<2)|0)+-4>>2],u=((a=(A=0|o[a>>2])^f)>>>1&2139062143)+(A&f)|0,f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&u)+(-16711936&f)&-16711936|(16711935&u)+(16711935&f)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0;if(!((0|(i|=0))<=0)){t=0;do{f=0|o[(a=r+(t<<2)|0)>>2],u=((a=(A=0|o[a+4>>2])^f)>>>1&2139062143)+(A&f)|0,f=0|o[e+(t<<2)>>2],o[n+(t<<2)>>2]=(-16711936&u)+(-16711936&f)&-16711936|(16711935&u)+(16711935&f)&16711935,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{A=0|o[(f=r+(t<<2)|0)+-4>>2],u=0|o[f>>2],s=0|o[f+4>>2],l=((f=A^a)>>>1&2139062143)+(A&a)|0,a=(-16711936&(s=((u=(f=((A=s^u)>>>1&2139062143)+(s&u)|0)^l)>>>1&2139062143)+(f&l)|0))+(-16711936&(l=0|o[e+(t<<2)>>2]))&-16711936|(16711935&s)+(16711935&l)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{A=0|o[(f=r+(t<<2)|0)>>2],s=(a>>>24)-(f=(u=0|o[f+-4>>2])>>>24)|0,l=(A>>>24)-f|0,c=(a>>>16&255)-(f=u>>>16&255)|0,d=(A>>>16&255)-f|0,v=(a>>>8&255)-(f=u>>>8&255)|0,g=(A>>>8&255)-f|0,a=(-16711936&(f=(((0|(u=(255&a)-(f=255&u)|0))>-1?u:0-u|0)-((0|(b=(255&A)-f|0))>-1?b:0-b|0)-((0|l)>-1?l:0-l|0)+((0|s)>-1?s:0-s|0)-((0|g)>-1?g:0-g|0)+((0|v)>-1?v:0-v|0)-((0|d)>-1?d:0-d|0)+((0|c)>-1?c:0-c|0)|0)<1?A:a))+(-16711936&(A=0|o[e+(t<<2)>>2]))&-16711936|(16711935&f)+(16711935&A)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{a=(-16711936&(u=((f=((A=0|o[(f=r+(t<<2)|0)>>2])>>>24)+(a>>>24)-((u=0|o[f+-4>>2])>>>24)|0)>>>0<256?f:f>>>24^255)<<24|((c=(255&A)+(255&a)-(255&u)|0)>>>0<256?c:c>>>24^255)|((s=(A>>>16&255)+(a>>>16&255)-(u>>>16&255)|0)>>>0<256?s:s>>>24^255)<<16|((l=(A>>>8&255)+(a>>>8&255)-(u>>>8&255)|0)>>>0<256?l:l>>>24^255)<<8))+(-16711936&(l=0|o[e+(t<<2)>>2]))&-16711936|(16711935&u)+(16711935&l)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},function(e,r,i,n){e|=0,r|=0,n|=0;var t=0,a=0,f=0,A=0,u=0,s=0,l=0,c=0;if(!((0|(i|=0))<=0)){t=0,a=0|o[n+-4>>2];do{A=0|o[(f=r+(t<<2)|0)>>2],u=0|o[f+-4>>2],f=(((A=(s=((f=A^a)>>>1&2139062143)+(A&a)|0)>>>24)-(u>>>24)|0)/2|0)+A|0,l=(((A=s>>>16&255)-(u>>>16&255)|0)/2|0)+A|0,c=(((A=s>>>8&255)-(u>>>8&255)|0)/2|0)+A|0,a=(-16711936&(A=(f>>>0<256?f:f>>>24^255)<<24|((s=(((A=255&s)-(255&u)|0)/2|0)+A|0)>>>0<256?s:s>>>24^255)|(l>>>0<256?l:l>>>24^255)<<16|(c>>>0<256?c:c>>>24^255)<<8))+(-16711936&(c=0|o[e+(t<<2)>>2]))&-16711936|(16711935&A)+(16711935&c)&16711935,o[n+(t<<2)>>2]=a,t=t+1|0}while((0|t)!=(0|i))}},Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi,Qi],en=[Ni,function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f,A=0,u=0,s=0,l=0,c=0;if(n[(o|=0)>>0]=0|n[e>>0],A=e+1|0,u=o+1|0,f=r+-1|0,s=(0|r)>1){r=0;do{n[u+r>>0]=(0|a[A+r>>0])-(0|a[e+r>>0]),r=r+1|0}while((0|r)!=(0|f))}if(r=e+t|0,A=o+t|0,!((0|i)<=1))if(s)for(l=1,u=r,r=A,A=e;;){n[r>>0]=(0|a[u>>0])-(0|a[A>>0]),e=u+1|0,o=r+1|0,s=0;do{n[o+s>>0]=(0|a[e+s>>0])-(0|a[u+s>>0]),s=s+1|0}while((0|s)!=(0|f));if((0|(l=l+1|0))==(0|i))break;s=u,u=u+t|0,r=r+t|0,A=s}else for(s=1,o=r,u=A,l=e;n[u>>0]=(0|a[o>>0])-(0|a[l>>0]),(0|(s=s+1|0))!=(0|i);)c=o,o=o+t|0,u=u+t|0,l=c},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f,A=0,u=0,s=0;if(n[(o|=0)>>0]=0|n[e>>0],A=e+1|0,f=o+1|0,u=r+-1|0,(0|r)>1){s=0;do{n[f+s>>0]=(0|a[A+s>>0])-(0|a[e+s>>0]),s=s+1|0}while((0|s)!=(0|u))}if((0|r)>0&(0|i)>1){u=1,s=o,o=e;do{e=o,o=o+t|0,s=s+t|0,A=0;do{n[s+A>>0]=(0|a[o+A>>0])-(0|a[e+A>>0]),A=A+1|0}while((0|A)!=(0|r));u=u+1|0}while((0|u)!=(0|i))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0;if(n[(o|=0)>>0]=0|n[e>>0],f=e+1|0,A=o+1|0,u=r+-1|0,s=(0|r)>1){l=0;do{n[A+l>>0]=(0|a[f+l>>0])-(0|a[e+l>>0]),l=l+1|0}while((0|l)!=(0|u))}if(u=o+t|0,o=e+t|0,!((0|i)<=1))if(l=~t,s)for(c=1,A=u,u=o,o=e;;){n[A>>0]=(0|a[u>>0])-(0|a[o>>0]),e=1;do{f=(0|a[o+e>>0])+(0|a[u+(e+-1)>>0])-(0|a[u+(e+l)>>0])|0,n[A+e>>0]=(0|a[u+e>>0])-(f>>>0<256?f:255+(f>>>31)|0),e=e+1|0}while((0|e)!=(0|r));if((0|(c=c+1|0))==(0|i))break;e=u,A=A+t|0,u=u+t|0,o=e}else for(s=1,f=u,A=o,c=e;n[f>>0]=(0|a[A>>0])-(0|a[c>>0]),(0|(s=s+1|0))!=(0|i);)d=A,f=f+t|0,A=A+t|0,c=d},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){f=0;do{A=t+(f<<2)|0,u=0|a[r+f>>0],s=0|a[i+f>>0],d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)+-14234+((26149*s|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[A>>0]=d,v=(s=l+8708-((c=6419*u|0)>>>8)-((13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[A+1>>0]=v,g=(u=l+-17685+((s=33050*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[A+2>>0]=g,n[A+3>>0]=-1,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0;if(!((0|(o|=0))<=0)){f=0;do{A=t+(f<<2)|0,u=0|a[r+f>>0],s=0|a[i+f>>0],v=(d=(c=(l=19077*(0|a[e+f>>0])|0)>>>8)+-17685+((l=33050*u|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[A>>0]=v,g=(l=c+8708-((d=6419*u|0)>>>8)-((u=13320*s|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,n[A+1>>0]=g,b=(s=c+-14234+((l=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[A+2>>0]=b,n[A+3>>0]=-1,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[i+f>>0],s=t+(3*f|0)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)+-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[s>>0]=d,v=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[s+1>>0]=v,g=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s+2>>0]=g,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[i+f>>0],s=t+(3*f|0)|0,v=(d=(c=(l=19077*(0|a[e+f>>0])|0)>>>8)+-17685+((l=33050*A|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[s>>0]=v,g=(l=c+8708-((d=6419*A|0)>>>8)-((A=13320*u|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,n[s+1>>0]=g,b=(u=c+-14234+((l=26149*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[s+2>>0]=b,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var a=0,f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){a=0;do{f=0|n[e+a>>0],A=0|n[r+a>>0],u=0|n[i+a>>0],n[(s=t+(a<<2)|0)>>0]=-1,l=255&A,A=255&u,d=(c=(f=(u=19077*(255&f)|0)>>>8)+-14234+((u=26149*A|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[s+1>>0]=d,v=(A=f+8708-((c=6419*l|0)>>>8)-((u=13320*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s+2>>0]=v,g=(l=f+-17685+((A=33050*l|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,n[s+3>>0]=g,a=a+1|0}while((0|a)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[i+f>>0],s=t+(f<<1)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)+-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,v=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,g=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s>>0]=v>>>4|240&d,n[s+1>>0]=15|g,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0,t|=0;var f=0,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0;if(!((0|(o|=0))<=0)){f=0;do{A=0|a[r+f>>0],u=0|a[i+f>>0],s=t+(f<<1)|0,d=(c=(l=(19077*(0|a[e+f>>0])|0)>>>8)+-14234+((26149*u|0)>>>8)|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,v=(u=l+8708-((c=6419*A|0)>>>8)-((13320*u|0)>>>8)|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,g=(A=l+-17685+((u=33050*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s>>0]=v>>>5|248&d,n[s+1>>0]=g>>>3|v<<3&224,f=f+1|0}while((0|f)!=(0|o))}},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0;if(f=(t|=0)+(3*(A=-2&(o|=0))|0)|0,A)for(A=r,r=t,t=i,i=e;;){if(e=0|a[A>>0],d=0|a[t>>0],h=(b=(g=(v=19077*(0|a[i>>0])|0)>>>8)+-14234+((v=26149*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[r>>0]=h,w=(d=g+8708-((b=6419*e|0)>>>8)-((v=13320*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[r+1>>0]=w,k=(e=g+-17685+((d=33050*e|0)>>>8)|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,n[r+2>>0]=k,e=0|a[A>>0],d=0|a[t>>0],m=(b=(v=(g=19077*(0|a[i+1>>0])|0)>>>8)+-14234+((g=26149*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[r+3>>0]=m,C=(d=v+8708-((b=6419*e|0)>>>8)-((g=13320*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[r+4>>0]=C,p=(e=v+-17685+((d=33050*e|0)>>>8)|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,n[r+5>>0]=p,e=i+2|0,d=A+1|0,v=t+1|0,(0|(r=r+6|0))==(0|f)){u=e,s=d,l=f,c=v;break}A=d,t=v,i=e}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],I=(i=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?i>>>6:255+(i>>31&-255)|0,n[l>>0]=I,y=(s=u+8708-((I=6419*o|0)>>>8)-((i=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[l+1>>0]=y,E=(o=u+-17685+((y=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,n[l+2>>0]=E)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0;if(A=(t|=0)+(f=(o|=0)<<2&-8)|0,f){for(v=2+((d=f+-8|0)>>>2)|0,d=r+(g=1+(d>>>3)|0)|0,b=r,r=t,h=i,w=e;k=0|a[b>>0],m=0|a[h>>0],y=(I=(p=(C=19077*(0|a[w>>0])|0)>>>8)+-14234+((C=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[r>>0]=y,E=(m=p+8708-((I=6419*k|0)>>>8)-((C=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[r+1>>0]=E,D=(k=p+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+2>>0]=D,n[r+3>>0]=-1,k=0|a[b>>0],m=0|a[h>>0],L=(I=(C=(p=19077*(0|a[w+1>>0])|0)>>>8)+-14234+((p=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[r+4>>0]=L,x=(m=C+8708-((I=6419*k|0)>>>8)-((p=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[r+5>>0]=x,S=(k=C+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+6>>0]=S,n[r+7>>0]=-1,(0|(r=r+8|0))!=(0|A);)b=b+1|0,h=h+1|0,w=w+2|0;u=e+v|0,s=d,l=t+f|0,c=i+g|0}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],B=(g=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[l>>0]=B,M=(s=u+8708-((B=6419*o|0)>>>8)-((g=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[l+1>>0]=M,F=(o=u+-17685+((M=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,n[l+2>>0]=F,n[l+3>>0]=-1)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0;if(f=(t|=0)+(3*(A=-2&(o|=0))|0)|0,A)for(A=r,r=t,t=i,i=e;;){if(e=0|a[A>>0],d=0|a[t>>0],h=(b=(g=(v=19077*(0|a[i>>0])|0)>>>8)+-17685+((v=33050*e|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[r>>0]=h,w=(v=g+8708-((b=6419*e|0)>>>8)-((e=13320*d|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[r+1>>0]=w,k=(d=g+-14234+((v=26149*d|0)>>>8)|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[r+2>>0]=k,d=0|a[A>>0],v=0|a[t>>0],m=(b=(e=(g=19077*(0|a[i+1>>0])|0)>>>8)+-17685+((g=33050*d|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[r+3>>0]=m,C=(g=e+8708-((b=6419*d|0)>>>8)-((d=13320*v|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[r+4>>0]=C,p=(v=e+-14234+((g=26149*v|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[r+5>>0]=p,v=i+2|0,g=A+1|0,e=t+1|0,(0|(r=r+6|0))==(0|f)){u=v,s=g,l=f,c=e;break}A=g,t=e,i=v}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],I=(i=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-17685+((c=33050*o|0)>>>8)|0)>>>0<16384?i>>>6:255+(i>>31&-255)|0,n[l>>0]=I,y=(i=u+8708-((I=6419*o|0)>>>8)-((o=13320*s|0)>>>8)|0)>>>0<16384?i>>>6:255+(i>>31&-255)|0,n[l+1>>0]=y,E=(s=u+-14234+((y=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[l+2>>0]=E)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0;if(A=(t|=0)+(f=(o|=0)<<2&-8)|0,f){for(v=2+((d=f+-8|0)>>>2)|0,d=r+(g=1+(d>>>3)|0)|0,b=r,r=t,h=i,w=e;k=0|a[b>>0],m=0|a[h>>0],y=(I=(p=(C=19077*(0|a[w>>0])|0)>>>8)+-17685+((C=33050*k|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[r>>0]=y,E=(C=p+8708-((I=6419*k|0)>>>8)-((k=13320*m|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[r+1>>0]=E,D=(m=p+-14234+((C=26149*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[r+2>>0]=D,n[r+3>>0]=-1,m=0|a[b>>0],C=0|a[h>>0],L=(I=(k=(p=19077*(0|a[w+1>>0])|0)>>>8)+-17685+((p=33050*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[r+4>>0]=L,x=(p=k+8708-((I=6419*m|0)>>>8)-((m=13320*C|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,n[r+5>>0]=x,S=(C=k+-14234+((p=26149*C|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[r+6>>0]=S,n[r+7>>0]=-1,(0|(r=r+8|0))!=(0|A);)b=b+1|0,h=h+1|0,w=w+2|0;u=e+v|0,s=d,l=t+f|0,c=i+g|0}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],B=(g=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-17685+((c=33050*o|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[l>>0]=B,M=(g=u+8708-((B=6419*o|0)>>>8)-((o=13320*s|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[l+1>>0]=M,F=(s=u+-14234+((M=26149*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,n[l+2>>0]=F,n[l+3>>0]=-1)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var a,f,A=0,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0;if(f=(t|=0)+(a=(o|=0)<<2&-8)|0,a){for(d=2+((c=a+-8|0)>>>2)|0,c=r+(v=1+(c>>>3)|0)|0,g=r,r=t,b=i,h=e;w=0|n[h>>0],k=0|n[g>>0],m=0|n[b>>0],n[r>>0]=-1,C=255&k,k=255&m,I=(p=(w=(m=19077*(255&w)|0)>>>8)+-14234+((m=26149*k|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,n[r+1>>0]=I,y=(k=w+8708-((p=6419*C|0)>>>8)-((m=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+2>>0]=y,E=(C=w+-17685+((k=33050*C|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[r+3>>0]=E,C=0|n[h+1>>0],k=0|n[g>>0],w=0|n[b>>0],n[r+4>>0]=-1,m=255&k,k=255&w,D=(p=(C=(w=19077*(255&C)|0)>>>8)+-14234+((w=26149*k|0)>>>8)|0)>>>0<16384?p>>>6:255+(p>>31&-255)|0,n[r+5>>0]=D,L=(k=C+8708-((p=6419*m|0)>>>8)-((w=13320*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+6>>0]=L,x=(m=C+-17685+((k=33050*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[r+7>>0]=x,(0|(r=r+8|0))!=(0|f);)g=g+1|0,b=b+1|0,h=h+2|0;A=e+d|0,u=c,s=t+a|0,l=i+v|0}else A=e,u=r,s=t,l=i;1&o&&(o=0|n[A>>0],A=0|n[u>>0],u=0|n[l>>0],n[s>>0]=-1,l=255&A,A=255&u,S=(v=(o=(u=19077*(255&o)|0)>>>8)+-14234+((u=26149*A|0)>>>8)|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[s+1>>0]=S,B=(A=o+8708-((S=6419*l|0)>>>8)-((v=13320*A|0)>>>8)|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[s+2>>0]=B,M=(l=o+-17685+((B=33050*l|0)>>>8)|0)>>>0<16384?l>>>6:255+(l>>31&-255)|0,n[s+3>>0]=M)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0;if(A=(t|=0)+(f=(o|=0)<<1&-4)|0,f){for(v=2+((d=f+-4|0)>>>1)|0,d=r+(g=1+(d>>>2)|0)|0,b=r,r=t,h=i,w=e;k=0|a[b>>0],m=0|a[h>>0],y=(I=(p=(C=19077*(0|a[w>>0])|0)>>>8)+-14234+((C=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,E=(m=p+8708-((I=6419*k|0)>>>8)-((C=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,D=(k=p+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r>>0]=E>>>4|240&y,n[r+1>>0]=15|D,k=0|a[b>>0],m=0|a[h>>0],L=(I=(C=(p=19077*(0|a[w+1>>0])|0)>>>8)+-14234+((p=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,x=(m=C+8708-((I=6419*k|0)>>>8)-((p=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,S=(k=C+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+2>>0]=x>>>4|240&L,n[r+3>>0]=15|S,(0|(r=r+4|0))!=(0|A);)b=b+1|0,h=h+1|0,w=w+2|0;u=e+v|0,s=d,l=t+f|0,c=i+g|0}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],B=(g=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,M=(s=u+8708-((g=6419*o|0)>>>8)-((c=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,F=(o=u+-17685+((s=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,n[l>>0]=M>>>4|240&B,n[l+1>>0]=15|F)},function(e,r,i,t,o){e|=0,r|=0,i|=0;var f,A,u=0,s=0,l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0;if(A=(t|=0)+(f=(o|=0)<<1&-4)|0,f){for(v=2+((d=f+-4|0)>>>1)|0,d=r+(g=1+(d>>>2)|0)|0,b=r,r=t,h=i,w=e;k=0|a[b>>0],m=0|a[h>>0],y=(I=(p=(C=19077*(0|a[w>>0])|0)>>>8)+-14234+((C=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,E=(m=p+8708-((I=6419*k|0)>>>8)-((C=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,D=(k=p+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r>>0]=E>>>5|248&y,n[r+1>>0]=D>>>3|E<<3&224,k=0|a[b>>0],m=0|a[h>>0],L=(I=(C=(p=19077*(0|a[w+1>>0])|0)>>>8)+-14234+((p=26149*m|0)>>>8)|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,x=(m=C+8708-((I=6419*k|0)>>>8)-((p=13320*m|0)>>>8)|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,S=(k=C+-17685+((m=33050*k|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[r+2>>0]=x>>>5|248&L,n[r+3>>0]=S>>>3|x<<3&224,(0|(r=r+4|0))!=(0|A);)b=b+1|0,h=h+1|0,w=w+2|0;u=e+v|0,s=d,l=t+f|0,c=i+g|0}else u=e,s=r,l=t,c=i;1&o&&(o=0|a[s>>0],s=0|a[c>>0],B=(g=(u=(c=19077*(0|a[u>>0])|0)>>>8)+-14234+((c=26149*s|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,M=(s=u+8708-((g=6419*o|0)>>>8)-((c=13320*s|0)>>>8)|0)>>>0<16384?s>>>6:255+(s>>31&-255)|0,F=(o=u+-17685+((s=33050*o|0)>>>8)|0)>>>0<16384?o>>>6:255+(o>>31&-255)|0,n[l>>0]=M>>>5|248&B,n[l+1>>0]=F>>>3|M<<3&224)},Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni],rn=[function(e,r,i,n,t,o,a,f,A){d(8)},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18&255,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-14234+((g=26149*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A>>0]=m,C=(h=w+8708-((m=6419*b|0)>>>8)-((k=13320*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+1>>0]=C,p=(b=w+-17685+((C=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[A+2>>0]=p,n[A+3>>0]=-1,(p=0!=(0|r))&&(C=(b=d+131074+(3*v|0)|0)>>>2&255,w=b>>>18&255,h=(b=19077*(0|a[r>>0])|0)>>>8,I=(k=((b=26149*w|0)>>>8)-14234+h|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[u>>0]=I,y=(w=8708-((I=6419*C|0)>>>8)-((k=13320*w|0)>>>8)+h|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+1>>0]=y,E=(C=((y=33050*C|0)>>>8)-17685+h|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[u+2>>0]=E,n[u+3>>0]=-1),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(k=(w=(y=(C=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(h=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,I=(w=(k=w+(h+E<<1)|0)>>>3)+C|0,x=A+(g=(m=(b=v<<1)+-1|0)<<2)|0,S=(k=y+E|0)>>>1&255,B=k>>>17&255,_=(F=(M=(k=19077*(0|a[e+m>>0])|0)>>>8)+-14234+((k=26149*B|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[x>>0]=_,P=(B=M+8708-((F=6419*S|0)>>>8)-((k=13320*B|0)>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[x+1>>0]=P,R=(S=M+-17685+((B=33050*S|0)>>>8)|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x+2>>0]=R,n[x+3>>0]=-1,S=A+(x=v<<3)|0,B=I>>>1&255,M=I>>>17&255,k=(I=19077*(0|a[e+b>>0])|0)>>>8,T=(F=((I=26149*M|0)>>>8)-14234+k|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[S>>0]=T,G=(M=8708-((F=6419*B|0)>>>8)-((I=13320*M|0)>>>8)+k|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[S+1>>0]=G,O=(B=((M=33050*B|0)>>>8)-17685+k|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[S+2>>0]=O,n[S+3>>0]=-1,p&&(S=w+d|0,w=y+h|0,y=u+g|0,g=S>>>1&255,B=S>>>17&255,m=(S=19077*(0|a[r+m>>0])|0)>>>8,q=(k=((S=26149*B|0)>>>8)-14234+m|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[y>>0]=q,Y=(B=8708-((k=6419*g|0)>>>8)-((S=13320*B|0)>>>8)+m|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[y+1>>0]=Y,U=(g=((B=33050*g|0)>>>8)-17685+m|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[y+2>>0]=U,n[y+3>>0]=-1,y=u+x|0,x=w>>>1&255,g=w>>>17&255,b=(w=19077*(0|a[r+b>>0])|0)>>>8,z=(m=((w=26149*g|0)>>>8)-14234+b|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[y>>0]=z,W=(g=8708-((m=6419*x|0)>>>8)-((w=13320*g|0)>>>8)+b|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[y+1>>0]=W,X=(x=((g=33050*x|0)>>>8)-17685+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[y+2>>0]=X,n[y+3>>0]=-1),!((0|v)<(0|c))){D=C,L=h;break}E=C,d=h,v=v+1|0}1&s|0||(d=A+(v=l<<2)|0,A=(s=L+131074+(3*D|0)|0)>>>2&255,E=s>>>18&255,e=(s=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((s=26149*E|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[d>>0]=Q,N=(E=8708-((Q=6419*A|0)>>>8)-((c=13320*E|0)>>>8)+e|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,n[d+1>>0]=N,V=(A=((N=33050*A|0)>>>8)-17685+e|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[d+2>>0]=V,n[d+3>>0]=-1,p&&(p=D+131074+(3*L|0)|0,L=u+v|0,v=p>>>2&255,u=p>>>18&255,l=(p=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((p=26149*u|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[L>>0]=H,Z=(u=8708-((H=6419*v|0)>>>8)-((r=13320*u|0)>>>8)+l|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[L+1>>0]=Z,j=(v=((Z=33050*v|0)>>>8)-17685+l|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[L+2>>0]=j,n[L+3>>0]=-1))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18&255,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-17685+((g=33050*b|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A>>0]=m,C=(k=w+8708-((m=6419*b|0)>>>8)-((b=13320*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A+1>>0]=C,p=(h=w+-14234+((C=26149*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+2>>0]=p,n[A+3>>0]=-1,(p=0!=(0|r))&&(C=(h=d+131074+(3*v|0)|0)>>>2&255,w=h>>>18&255,k=(h=19077*(0|a[r>>0])|0)>>>8,I=(b=((h=33050*C|0)>>>8)-17685+k|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[u>>0]=I,y=(b=8708-((I=6419*C|0)>>>8)-((C=13320*w|0)>>>8)+k|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[u+1>>0]=y,E=(w=((y=26149*w|0)>>>8)-14234+k|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+2>>0]=E,n[u+3>>0]=-1),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(C=(b=(y=(w=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(k=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,I=(b=(C=b+(k+E<<1)|0)>>>3)+w|0,x=A+(g=(m=(h=v<<1)+-1|0)<<2)|0,S=(C=y+E|0)>>>1&255,B=C>>>17&255,_=(F=(M=(C=19077*(0|a[e+m>>0])|0)>>>8)+-17685+((C=33050*S|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[x>>0]=_,P=(C=M+8708-((F=6419*S|0)>>>8)-((S=13320*B|0)>>>8)|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[x+1>>0]=P,R=(B=M+-14234+((C=26149*B|0)>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[x+2>>0]=R,n[x+3>>0]=-1,B=A+(x=v<<3)|0,C=I>>>1&255,M=I>>>17&255,S=(I=19077*(0|a[e+h>>0])|0)>>>8,T=(F=((I=33050*C|0)>>>8)-17685+S|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[B>>0]=T,G=(I=8708-((F=6419*C|0)>>>8)-((C=13320*M|0)>>>8)+S|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[B+1>>0]=G,O=(M=((I=26149*M|0)>>>8)-14234+S|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[B+2>>0]=O,n[B+3>>0]=-1,p&&(B=b+d|0,b=y+k|0,y=u+g|0,g=B>>>1&255,M=B>>>17&255,m=(B=19077*(0|a[r+m>>0])|0)>>>8,q=(S=((B=33050*g|0)>>>8)-17685+m|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[y>>0]=q,Y=(B=8708-((S=6419*g|0)>>>8)-((g=13320*M|0)>>>8)+m|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[y+1>>0]=Y,U=(M=((B=26149*M|0)>>>8)-14234+m|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[y+2>>0]=U,n[y+3>>0]=-1,y=u+x|0,x=b>>>1&255,M=b>>>17&255,h=(b=19077*(0|a[r+h>>0])|0)>>>8,z=(m=((b=33050*x|0)>>>8)-17685+h|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[y>>0]=z,W=(b=8708-((m=6419*x|0)>>>8)-((x=13320*M|0)>>>8)+h|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[y+1>>0]=W,X=(M=((b=26149*M|0)>>>8)-14234+h|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[y+2>>0]=X,n[y+3>>0]=-1),!((0|v)<(0|c))){D=w,L=k;break}E=w,d=k,v=v+1|0}1&s|0||(d=A+(v=l<<2)|0,A=(s=L+131074+(3*D|0)|0)>>>2&255,E=s>>>18&255,e=(s=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((s=33050*A|0)>>>8)-17685+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[d>>0]=Q,N=(c=8708-((Q=6419*A|0)>>>8)-((A=13320*E|0)>>>8)+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[d+1>>0]=N,V=(E=((N=26149*E|0)>>>8)-14234+e|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,n[d+2>>0]=V,n[d+3>>0]=-1,p&&(p=D+131074+(3*L|0)|0,L=u+v|0,v=p>>>2&255,u=p>>>18&255,l=(p=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((p=33050*v|0)>>>8)-17685+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[L>>0]=H,Z=(r=8708-((H=6419*v|0)>>>8)-((v=13320*u|0)>>>8)+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[L+1>>0]=Z,j=(u=((Z=26149*u|0)>>>8)-14234+l|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[L+2>>0]=j,n[L+3>>0]=-1))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-14234+((g=26149*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A>>0]=m,C=(h=w+8708-((k=13320*h|0)>>>8)-((m=6419*b|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+1>>0]=C,p=(b=w+-17685+((C=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[A+2>>0]=p,(p=0!=(0|r))&&(C=(b=d+131074+(3*v|0)|0)>>>2&255,w=b>>>18,h=(b=19077*(0|a[r>>0])|0)>>>8,I=(m=((b=26149*w|0)>>>8)-14234+h|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[u>>0]=I,y=(w=8708-((m=13320*w|0)>>>8)-((I=6419*C|0)>>>8)+h|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+1>>0]=y,E=(C=((y=33050*C|0)>>>8)-17685+h|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[u+2>>0]=E),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(I=(w=(y=(C=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(h=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,m=(w=(I=w+(h+E<<1)|0)>>>3)+C|0,g=(I=y+E|0)>>>1&255,x=I>>>17,S=A+(I=3*(k=(b=v<<1)+-1|0)|0)|0,_=(F=(M=(B=19077*(0|a[e+k>>0])|0)>>>8)+-14234+((B=26149*x|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[S>>0]=_,P=(x=M+8708-((B=13320*x|0)>>>8)-((F=6419*g|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[S+1>>0]=P,R=(g=M+-17685+((x=33050*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[S+2>>0]=R,S=m>>>1&255,g=m>>>17,x=A+(m=6*v|0)|0,F=(M=19077*(0|a[e+b>>0])|0)>>>8,T=(B=((M=26149*g|0)>>>8)-14234+F|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[x>>0]=T,G=(g=8708-((M=13320*g|0)>>>8)-((B=6419*S|0)>>>8)+F|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[x+1>>0]=G,O=(S=((g=33050*S|0)>>>8)-17685+F|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x+2>>0]=O,p&&(x=w+d|0,w=y+h|0,y=x>>>1&255,S=x>>>17,x=u+I|0,k=(I=19077*(0|a[r+k>>0])|0)>>>8,q=(F=((I=26149*S|0)>>>8)-14234+k|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[x>>0]=q,Y=(S=8708-((I=13320*S|0)>>>8)-((F=6419*y|0)>>>8)+k|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x+1>>0]=Y,U=(y=((S=33050*y|0)>>>8)-17685+k|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,n[x+2>>0]=U,x=w>>>1&255,y=w>>>17,w=u+m|0,b=(m=19077*(0|a[r+b>>0])|0)>>>8,z=(k=((m=26149*y|0)>>>8)-14234+b|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[w>>0]=z,W=(y=8708-((m=13320*y|0)>>>8)-((k=6419*x|0)>>>8)+b|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,n[w+1>>0]=W,X=(x=((y=33050*x|0)>>>8)-17685+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[w+2>>0]=X),!((0|v)<(0|c))){D=C,L=h;break}E=C,d=h,v=v+1|0}1&s|0||(v=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=3*l|0)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[E>>0]=Q,N=(d=8708-((c=13320*d|0)>>>8)-((Q=6419*v|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[E+1>>0]=N,V=(v=((N=33050*v|0)>>>8)-17685+e|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[E+2>>0]=V,p&&(L=(p=D+131074+(3*L|0)|0)>>>2&255,D=p>>>18,p=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[p>>0]=H,Z=(D=8708-((r=13320*D|0)>>>8)-((H=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,n[p+1>>0]=Z,j=(L=((Z=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,n[p+2>>0]=j))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-17685+((g=33050*b|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A>>0]=m,m=6419*b|0,C=(k=w+8708-((b=13320*h|0)>>>8)-(m>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A+1>>0]=C,p=(h=w+-14234+((C=26149*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+2>>0]=p,(p=0!=(0|r))&&(C=(h=d+131074+(3*v|0)|0)>>>2&255,w=h>>>18,k=(h=19077*(0|a[r>>0])|0)>>>8,I=(m=((h=33050*C|0)>>>8)-17685+k|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[u>>0]=I,I=6419*C|0,y=(m=8708-((C=13320*w|0)>>>8)-(I>>>8)+k|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[u+1>>0]=y,E=(w=((y=26149*w|0)>>>8)-14234+k|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+2>>0]=E),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(I=(m=(y=(w=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(k=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,C=(m=(I=m+(k+E<<1)|0)>>>3)+w|0,g=(I=y+E|0)>>>1&255,x=I>>>17,S=A+(I=3*(b=(h=v<<1)+-1|0)|0)|0,_=(F=(M=(B=19077*(0|a[e+b>>0])|0)>>>8)+-17685+((B=33050*g|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[S>>0]=_,F=6419*g|0,P=(B=M+8708-((g=13320*x|0)>>>8)-(F>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[S+1>>0]=P,R=(x=M+-14234+((B=26149*x|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[S+2>>0]=R,S=C>>>1&255,x=C>>>17,B=A+(C=6*v|0)|0,F=(M=19077*(0|a[e+h>>0])|0)>>>8,T=(g=((M=33050*S|0)>>>8)-17685+F|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[B>>0]=T,g=6419*S|0,G=(M=8708-((S=13320*x|0)>>>8)-(g>>>8)+F|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[B+1>>0]=G,O=(x=((M=26149*x|0)>>>8)-14234+F|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[B+2>>0]=O,p&&(B=m+d|0,m=y+k|0,y=B>>>1&255,x=B>>>17,B=u+I|0,b=(I=19077*(0|a[r+b>>0])|0)>>>8,q=(F=((I=33050*y|0)>>>8)-17685+b|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[B>>0]=q,F=6419*y|0,Y=(I=8708-((y=13320*x|0)>>>8)-(F>>>8)+b|0)>>>0<16384?I>>>6:255+(I>>31&-255)|0,n[B+1>>0]=Y,U=(x=((I=26149*x|0)>>>8)-14234+b|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[B+2>>0]=U,B=m>>>1&255,x=m>>>17,m=u+C|0,h=(C=19077*(0|a[r+h>>0])|0)>>>8,z=(b=((C=33050*B|0)>>>8)-17685+h|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[m>>0]=z,b=6419*B|0,W=(C=8708-((B=13320*x|0)>>>8)-(b>>>8)+h|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[m+1>>0]=W,X=(x=((C=26149*x|0)>>>8)-14234+h|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[m+2>>0]=X),!((0|v)<(0|c))){D=w,L=k;break}E=w,d=k,v=v+1|0}1&s|0||(v=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=3*l|0)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=33050*v|0)>>>8)-17685+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[E>>0]=Q,Q=6419*v|0,N=(c=8708-((v=13320*d|0)>>>8)-(Q>>>8)+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[E+1>>0]=N,V=(d=((N=26149*d|0)>>>8)-14234+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,n[E+2>>0]=V,p&&(L=(p=D+131074+(3*L|0)|0)>>>2&255,D=p>>>18,p=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((s=33050*L|0)>>>8)-17685+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[p>>0]=H,H=6419*L|0,Z=(r=8708-((L=13320*D|0)>>>8)-(H>>>8)+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[p+1>>0]=Z,j=(D=((Z=26149*D|0)>>>8)-14234+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,n[p+2>>0]=j))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0,b=0|n[e>>0],n[A>>0]=-1,h=g>>>2&255,w=g>>>18&255,m=(k=(b=(g=19077*(255&b)|0)>>>8)+-14234+((g=26149*w|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[A+1>>0]=m,C=(w=b+8708-((m=6419*h|0)>>>8)-((k=13320*w|0)>>>8)|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[A+2>>0]=C,p=(h=b+-17685+((C=33050*h|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,n[A+3>>0]=p,(p=0!=(0|r))&&(h=d+131074+(3*v|0)|0,C=0|n[r>>0],n[u>>0]=-1,b=h>>>2&255,w=h>>>18&255,C=(h=19077*(255&C)|0)>>>8,I=(k=((h=26149*w|0)>>>8)-14234+C|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[u+1>>0]=I,y=(w=8708-((I=6419*b|0)>>>8)-((k=13320*w|0)>>>8)+C|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,n[u+2>>0]=y,E=(b=((y=33050*b|0)>>>8)-17685+C|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[u+3>>0]=E),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(y=(k=(w=(y=(b=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(C=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(y<<1)|0)>>>3,w=(k=w+(C+E<<1)|0)>>>3,k=y+E|0,I=w+b|0,g=0|n[e+(m=(h=v<<1)+-1|0)>>0],n[(S=A+(x=m<<2)|0)>>0]=-1,B=k>>>1&255,M=k>>>17&255,_=(F=(g=(k=19077*(255&g)|0)>>>8)+-14234+((k=26149*M|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[S+1>>0]=_,P=(M=g+8708-((F=6419*B|0)>>>8)-((k=13320*M|0)>>>8)|0)>>>0<16384?M>>>6:255+(M>>31&-255)|0,n[S+2>>0]=P,R=(B=g+-17685+((M=33050*B|0)>>>8)|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[S+3>>0]=R,S=0|n[e+h>>0],n[(M=A+(B=v<<3)|0)>>0]=-1,g=I>>>1&255,k=I>>>17&255,S=(I=19077*(255&S)|0)>>>8,T=(F=((I=26149*k|0)>>>8)-14234+S|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,n[M+1>>0]=T,G=(k=8708-((F=6419*g|0)>>>8)-((I=13320*k|0)>>>8)+S|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,n[M+2>>0]=G,O=(g=((k=33050*g|0)>>>8)-17685+S|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[M+3>>0]=O,p&&(M=w+d|0,w=y+C|0,y=0|n[r+m>>0],n[(m=u+x|0)>>0]=-1,x=M>>>1&255,g=M>>>17&255,y=(M=19077*(255&y)|0)>>>8,q=(S=((M=26149*g|0)>>>8)-14234+y|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[m+1>>0]=q,Y=(g=8708-((S=6419*x|0)>>>8)-((M=13320*g|0)>>>8)+y|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[m+2>>0]=Y,U=(x=((g=33050*x|0)>>>8)-17685+y|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[m+3>>0]=U,m=0|n[r+h>>0],n[(h=u+B|0)>>0]=-1,B=w>>>1&255,x=w>>>17&255,m=(w=19077*(255&m)|0)>>>8,z=(y=((w=26149*x|0)>>>8)-14234+m|0)>>>0<16384?y>>>6:255+(y>>31&-255)|0,n[h+1>>0]=z,W=(x=8708-((y=6419*B|0)>>>8)-((w=13320*x|0)>>>8)+m|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[h+2>>0]=W,X=(B=((x=33050*B|0)>>>8)-17685+m|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,n[h+3>>0]=X),!((0|v)<(0|c))){D=b,L=C;break}E=b,d=C,v=v+1|0}1&s|0||(s=L+131074+(3*D|0)|0,v=0|n[e+l>>0],n[(d=A+(e=l<<2)|0)>>0]=-1,A=s>>>2&255,E=s>>>18&255,v=(s=19077*(255&v)|0)>>>8,Q=(c=((s=26149*E|0)>>>8)-14234+v|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,n[d+1>>0]=Q,N=(E=8708-((Q=6419*A|0)>>>8)-((c=13320*E|0)>>>8)+v|0)>>>0<16384?E>>>6:255+(E>>31&-255)|0,n[d+2>>0]=N,V=(A=((N=33050*A|0)>>>8)-17685+v|0)>>>0<16384?A>>>6:255+(A>>31&-255)|0,n[d+3>>0]=V,p&&(p=D+131074+(3*L|0)|0,L=0|n[r+l>>0],n[(l=u+e|0)>>0]=-1,e=p>>>2&255,u=p>>>18&255,L=(p=19077*(255&L)|0)>>>8,H=(r=((p=26149*u|0)>>>8)-14234+L|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,n[l+1>>0]=H,Z=(u=8708-((H=6419*e|0)>>>8)-((r=13320*u|0)>>>8)+L|0)>>>0<16384?u>>>6:255+(u>>31&-255)|0,n[l+2>>0]=Z,j=(e=((Z=33050*e|0)>>>8)-17685+L|0)>>>0<16384?e>>>6:255+(e>>31&-255)|0,n[l+3>>0]=j))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-14234+((g=26149*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,C=(h=w+8708-((g=13320*h|0)>>>8)-((k=6419*b|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,p=(b=w+-17685+((h=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[A>>0]=C>>>4|240&m,n[A+1>>0]=15|p,(p=0!=(0|r))&&(C=(m=d+131074+(3*v|0)|0)>>>2&255,b=m>>>18,h=(m=19077*(0|a[r>>0])|0)>>>8,I=(w=((m=26149*b|0)>>>8)-14234+h|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,y=(b=8708-((m=13320*b|0)>>>8)-((w=6419*C|0)>>>8)+h|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,E=(C=((b=33050*C|0)>>>8)-17685+h|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[u>>0]=y>>>4|240&I,n[u+1>>0]=15|E),(0|s)<3)D=d,L=v;else for(E=d,d=v,v=1;;){if(C=(b=(h=(C=(I=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+E+(y=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(C<<1)|0)>>>3,w=(h=(b=h+(y+E<<1)|0)>>>3)+I|0,g=(b=C+E|0)>>>1&255,x=b>>>17,S=A+(b=(k=(m=v<<1)+-1|0)<<1)|0,_=(F=(M=(B=19077*(0|a[e+k>>0])|0)>>>8)+-14234+((B=26149*x|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,P=(x=M+8708-((B=13320*x|0)>>>8)-((F=6419*g|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,R=(g=M+-17685+((x=33050*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[S>>0]=P>>>4|240&_,n[S+1>>0]=15|R,S=w>>>1&255,g=w>>>17,x=A+(w=v<<2)|0,F=(M=19077*(0|a[e+m>>0])|0)>>>8,T=(B=((M=26149*g|0)>>>8)-14234+F|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,G=(g=8708-((M=13320*g|0)>>>8)-((B=6419*S|0)>>>8)+F|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,O=(S=((g=33050*S|0)>>>8)-17685+F|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x>>0]=G>>>4|240&T,n[x+1>>0]=15|O,p&&(x=h+d|0,h=C+y|0,C=x>>>1&255,S=x>>>17,x=u+b|0,k=(b=19077*(0|a[r+k>>0])|0)>>>8,q=(F=((b=26149*S|0)>>>8)-14234+k|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,Y=(S=8708-((b=13320*S|0)>>>8)-((F=6419*C|0)>>>8)+k|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,U=(C=((S=33050*C|0)>>>8)-17685+k|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,n[x>>0]=Y>>>4|240&q,n[x+1>>0]=15|U,x=h>>>1&255,C=h>>>17,h=u+w|0,m=(w=19077*(0|a[r+m>>0])|0)>>>8,z=(k=((w=26149*C|0)>>>8)-14234+m|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,W=(C=8708-((w=13320*C|0)>>>8)-((k=6419*x|0)>>>8)+m|0)>>>0<16384?C>>>6:255+(C>>31&-255)|0,X=(x=((C=33050*x|0)>>>8)-17685+m|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[h>>0]=W>>>4|240&z,n[h+1>>0]=15|X),!((0|v)<(0|c))){D=I,L=y;break}E=I,d=y,v=v+1|0}1&s|0||(v=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,E=A+(s=l<<1)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,N=(d=8708-((A=13320*d|0)>>>8)-((c=6419*v|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,V=(v=((d=33050*v|0)>>>8)-17685+e|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[E>>0]=N>>>4|240&Q,n[E+1>>0]=15|V,p&&(L=(p=D+131074+(3*L|0)|0)>>>2&255,D=p>>>18,p=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,Z=(D=8708-((s=13320*D|0)>>>8)-((r=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,j=(L=((D=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,n[p>>0]=Z>>>4|240&H,n[p+1>>0]=15|j))},function(e,r,i,t,o,f,A,u,s){e|=0,r|=0,i|=0,o|=0,f|=0,A|=0,u|=0;var l=0,c=0,d=0,v=0,g=0,b=0,h=0,w=0,k=0,m=0,C=0,p=0,I=0,y=0,E=0,D=0,L=0,x=0,S=0,B=0,M=0,F=0,_=0,P=0,R=0,T=0,G=0,O=0,q=0,Y=0,U=0,z=0,W=0,X=0,Q=0,N=0,V=0,H=0,Z=0,j=0;if(c=(l=(s|=0)+-1|0)>>1,b=(g=131074+(3*(d=(0|a[(t|=0)>>0])<<16|0|a[i>>0])|0)+(v=(0|a[f>>0])<<16|0|a[o>>0])|0)>>>2&255,h=g>>>18,m=(k=(w=(g=19077*(0|a[e>>0])|0)>>>8)+-14234+((g=26149*h|0)>>>8)|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,C=(h=w+8708-((g=13320*h|0)>>>8)-((k=6419*b|0)>>>8)|0)>>>0<16384?h>>>6:255+(h>>31&-255)|0,p=(b=w+-17685+((h=33050*b|0)>>>8)|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,n[A>>0]=C>>>5|248&m,n[A+1>>0]=p>>>3|C<<3&224,(C=0!=(0|r))&&(m=(p=d+131074+(3*v|0)|0)>>>2&255,b=p>>>18,h=(p=19077*(0|a[r>>0])|0)>>>8,I=(w=((p=26149*b|0)>>>8)-14234+h|0)>>>0<16384?w>>>6:255+(w>>31&-255)|0,y=(b=8708-((p=13320*b|0)>>>8)-((w=6419*m|0)>>>8)+h|0)>>>0<16384?b>>>6:255+(b>>31&-255)|0,E=(m=((b=33050*m|0)>>>8)-17685+h|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[u>>0]=y>>>5|248&I,n[u+1>>0]=E>>>3|y<<3&224),(0|s)<3)D=d,L=v;else for(y=d,d=v,v=1;;){if(m=(b=(h=(m=(E=(0|a[t+v>>0])<<16|0|a[i+v>>0])+d|0)+524296+y+(I=(0|a[f+v>>0])<<16|0|a[o+v>>0])|0)+(m<<1)|0)>>>3,w=(h=(b=h+(I+y<<1)|0)>>>3)+E|0,g=(b=m+y|0)>>>1&255,x=b>>>17,S=A+(b=(k=(p=v<<1)+-1|0)<<1)|0,_=(F=(M=(B=19077*(0|a[e+k>>0])|0)>>>8)+-14234+((B=26149*x|0)>>>8)|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,P=(x=M+8708-((B=13320*x|0)>>>8)-((F=6419*g|0)>>>8)|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,R=(g=M+-17685+((x=33050*g|0)>>>8)|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,n[S>>0]=P>>>5|248&_,n[S+1>>0]=R>>>3|P<<3&224,S=w>>>1&255,g=w>>>17,x=A+(w=v<<2)|0,F=(M=19077*(0|a[e+p>>0])|0)>>>8,T=(B=((M=26149*g|0)>>>8)-14234+F|0)>>>0<16384?B>>>6:255+(B>>31&-255)|0,G=(g=8708-((M=13320*g|0)>>>8)-((B=6419*S|0)>>>8)+F|0)>>>0<16384?g>>>6:255+(g>>31&-255)|0,O=(S=((g=33050*S|0)>>>8)-17685+F|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,n[x>>0]=G>>>5|248&T,n[x+1>>0]=O>>>3|G<<3&224,C&&(x=h+d|0,h=m+I|0,m=x>>>1&255,S=x>>>17,x=u+b|0,k=(b=19077*(0|a[r+k>>0])|0)>>>8,q=(F=((b=26149*S|0)>>>8)-14234+k|0)>>>0<16384?F>>>6:255+(F>>31&-255)|0,Y=(S=8708-((b=13320*S|0)>>>8)-((F=6419*m|0)>>>8)+k|0)>>>0<16384?S>>>6:255+(S>>31&-255)|0,U=(m=((S=33050*m|0)>>>8)-17685+k|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,n[x>>0]=Y>>>5|248&q,n[x+1>>0]=U>>>3|Y<<3&224,x=h>>>1&255,m=h>>>17,h=u+w|0,p=(w=19077*(0|a[r+p>>0])|0)>>>8,z=(k=((w=26149*m|0)>>>8)-14234+p|0)>>>0<16384?k>>>6:255+(k>>31&-255)|0,W=(m=8708-((w=13320*m|0)>>>8)-((k=6419*x|0)>>>8)+p|0)>>>0<16384?m>>>6:255+(m>>31&-255)|0,X=(x=((m=33050*x|0)>>>8)-17685+p|0)>>>0<16384?x>>>6:255+(x>>31&-255)|0,n[h>>0]=W>>>5|248&z,n[h+1>>0]=X>>>3|W<<3&224),!((0|v)<(0|c))){D=E,L=I;break}y=E,d=I,v=v+1|0}1&s|0||(v=(s=L+131074+(3*D|0)|0)>>>2&255,d=s>>>18,y=A+(s=l<<1)|0,e=(A=19077*(0|a[e+l>>0])|0)>>>8,Q=(c=((A=26149*d|0)>>>8)-14234+e|0)>>>0<16384?c>>>6:255+(c>>31&-255)|0,N=(d=8708-((A=13320*d|0)>>>8)-((c=6419*v|0)>>>8)+e|0)>>>0<16384?d>>>6:255+(d>>31&-255)|0,V=(v=((d=33050*v|0)>>>8)-17685+e|0)>>>0<16384?v>>>6:255+(v>>31&-255)|0,n[y>>0]=N>>>5|248&Q,n[y+1>>0]=V>>>3|N<<3&224,C&&(L=(C=D+131074+(3*L|0)|0)>>>2&255,D=C>>>18,C=u+s|0,l=(s=19077*(0|a[r+l>>0])|0)>>>8,H=(r=((s=26149*D|0)>>>8)-14234+l|0)>>>0<16384?r>>>6:255+(r>>31&-255)|0,Z=(D=8708-((s=13320*D|0)>>>8)-((r=6419*L|0)>>>8)+l|0)>>>0<16384?D>>>6:255+(D>>31&-255)|0,j=(L=((D=33050*L|0)>>>8)-17685+l|0)>>>0<16384?L>>>6:255+(L>>31&-255)|0,n[C>>0]=Z>>>5|248&H,n[C+1>>0]=j>>>3|Z<<3&224))}];return{_WebpToSDL:function(e,r){e|=0,r|=0;var i,n,t,a,f,A,u=0,s=0,c=0,d=0,v=0,g=0,y=0,E=0;if(i=O,O=O+224|0,n=i+16|0,t=i+8|0,a=i,A=(f=i+24|0)+40|0,!(0|function(e,r){if(0==(0|(e|=0))|512!=(-256&(r|=0)|0))return 0|0;return Oi(0|e,0,200),He(e+40|0,520),0|1}(f,520)))return function(e,r,i,n){e|=0,n|=0;var t,a,f=0,A=0,u=0;t=0|l(i=i|0,r=r|0),a=0==(0|r)?0:i,(0|o[n+76>>2])>-1?(i=0==(0|li(n)),f=0|Ei(e,t,n),i||ci(n),A=f):A=0|Ei(e,t,n);u=(0|A)==(0|t)?a:(A>>>0)/(r>>>0)|0}(8544,26,1,0|o[2043]),O=i,0|0;0|o[2484]||(k(32),o[2484]=1);do{if(0|Sr(e,r,f,520))v=0,g=0,y=0;else{if(u=f+4|0,!(s=0|C(0|o[f>>2],0|o[u>>2],32,0))){c=0|o[2043],d=0|o[u>>2],o[a>>2]=o[f>>2],o[a+4>>2]=d,Di(c,8571,a),v=0,g=0,y=0;break}if(!(c=0|b(0,0|o[f>>2],0|o[u>>2],32,255,65280,16711680,-16777216))){d=0|o[2043],E=0|o[u>>2],o[t>>2]=o[f>>2],o[t+4>>2]=E,Di(d,8612,t),v=0,g=s,y=0;break}if(m(0|c),o[A>>2]=1,o[f+44>>2]=o[c+8>>2],d=c+12|0,o[f+48>>2]=o[d>>2],o[f+56>>2]=o[c+20>>2],E=c+16|0,o[f+60>>2]=o[E>>2],u=0|l(0|o[d>>2],0|o[E>>2]),o[f+64>>2]=u,o[f+52>>2]=1,0|(u=0|jr(e,r,f))){E=0|o[2043],o[n>>2]=u,Di(E,8650,n),v=c,g=s,y=0;break}p(0|c),0|I(0|c,0,0|s,0)?(v=c,g=s,y=0):(v=c,g=s,y=0==(0|h(0|s))&1)}}while(0);return w(0|v),w(0|g),Ze(A),O=i,0|y},___errno_location:oi,___muldi3:Li,___udivdi3:Fi,_bitshift64Lshr:_i,_bitshift64Shl:Pi,_emscripten_replace_memory:function(e){return n=new Int8Array(e),a=new Uint8Array(e),t=new Int16Array(e),f=new Uint16Array(e),o=new Int32Array(e),new Float32Array(e),A=new Float64Array(e),i=e,!0},_free:Jr,_i64Add:xi,_i64Subtract:Si,_llvm_bswap_i32:Ri,_malloc:Kr,_memcpy:Ti,_memmove:Gi,_memset:Oi,_sbrk:qi,dynCall_ii:function(e,r){return r|=0,0|Vi[7&(e|=0)](0|r)},dynCall_iii:function(e,r,i){return r|=0,i|=0,0|Hi[31&(e|=0)](0|r,0|i)},dynCall_iiii:function(e,r,i,n){return r|=0,i|=0,n|=0,0|Zi[15&(e|=0)](0|r,0|i,0|n)},dynCall_iiiiiii:function(e,r,i,n,t,o,a){return r|=0,i|=0,n|=0,t|=0,o|=0,a|=0,0|ji[1&(e|=0)](0|r,0|i,0|n,0|t,0|o,0|a)},dynCall_vi:function(e,r){r|=0,Ki[31&(e|=0)](0|r)},dynCall_vii:function(e,r,i){r|=0,i|=0,Ji[3&(e|=0)](0|r,0|i)},dynCall_viiii:function(e,r,i,n,t){r|=0,i|=0,n|=0,t|=0,$i[31&(e|=0)](0|r,0|i,0|n,0|t)},dynCall_viiiii:function(e,r,i,n,t,o){r|=0,i|=0,n|=0,t|=0,o|=0,en[31&(e|=0)](0|r,0|i,0|n,0|t,0|o)},dynCall_viiiiiiiii:function(e,r,i,n,t,o,a,f,A,u){r|=0,i|=0,n|=0,t|=0,o|=0,a|=0,f|=0,A|=0,u|=0,rn[7&(e|=0)](0|r,0|i,0|n,0|t,0|o,0|a,0|f,0|A,0|u)},establishStackSpace:function(e,r){O=e|=0,r|=0},stackAlloc:function(e){var r;return r=O,O=(O=O+(e|=0)|0)+15&-16,0|r},stackRestore:function(e){O=e|=0},stackSave:function(){return 0|O}}}({Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Float32Array:Float32Array,Float64Array:Float64Array},{a:pe,b:function(e){A=e},c:function(){return A},d:function(e,r,i,n,t,o,a,f){return J.makeSurface(r,i,e,!1,"CreateRGBSurface",t,o,a,f)},e:function(e){},f:function(e){e&&J.freeSurface(e)},g:j,h:function(e){if(J.startTime=Date.now(),J.initFlags=e,!i.doNotCaptureKeyboard){var r=i.keyboardListeningElement||document;r.addEventListener("keydown",J.receiveEvent),r.addEventListener("keyup",J.receiveEvent),r.addEventListener("keypress",J.receiveEvent),window.addEventListener("focus",J.receiveEvent),window.addEventListener("blur",J.receiveEvent),document.addEventListener("visibilitychange",J.receiveEvent)}return window.addEventListener("unload",J.receiveEvent),J.keyboardState=se(65536),ce(J.keyboardState,0,65536),J.DOMEventToSDLEvent.keydown=768,J.DOMEventToSDLEvent.keyup=769,J.DOMEventToSDLEvent.keypress=771,J.DOMEventToSDLEvent.mousedown=1025,J.DOMEventToSDLEvent.mouseup=1026,J.DOMEventToSDLEvent.mousemove=1024,J.DOMEventToSDLEvent.wheel=1027,J.DOMEventToSDLEvent.touchstart=1792,J.DOMEventToSDLEvent.touchend=1793,J.DOMEventToSDLEvent.touchmove=1794,J.DOMEventToSDLEvent.unload=256,J.DOMEventToSDLEvent.resize=28673,J.DOMEventToSDLEvent.visibilitychange=512,J.DOMEventToSDLEvent.focus=512,J.DOMEventToSDLEvent.blur=512,J.DOMEventToSDLEvent.joystick_axis_motion=1536,J.DOMEventToSDLEvent.joystick_button_down=1539,J.DOMEventToSDLEvent.joystick_button_up=1540,0},i:K,j:function(e,r,n,t){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","DOMMouseScroll","mousewheel","wheel","mouseout"].forEach((function(e){i.canvas.addEventListener(e,J.receiveEvent,!0)}));var o=i.canvas;return 0==e&&0==r&&(e=o.width,r=o.height),J.addedResizeListener||(J.addedResizeListener=!0,Z.resizeListeners.push((function(e,r){J.settingVideoMode||J.receiveEvent({type:"resize",w:e,h:r})}))),J.settingVideoMode=!0,Z.setCanvasSize(e,r),J.settingVideoMode=!1,J.screen&&(J.freeSurface(J.screen),s(!J.screen)),J.GL&&(t|=67108864),J.screen=J.makeSurface(e,r,t,!0,"screen"),J.screen},k:function(e){s(!J.GL);var r=J.surfaces[e];if(r.locked&&!(--r.locked>0)){if(r.isFlagSet(2097152))J.copyIndexedColorData(r);else if(r.colors)for(var n=i.canvas.width,t=i.canvas.height,o=r.buffer,a=(c=r.image.data,r.colors),f=0;f>0];var l=A+4*u;c[l]=a[w],c[l+1]=a[w+1],c[l+2]=a[w+2]}o+=3*n}else{var c=r.image.data,d=r.buffer;s(d%4==0,"Invalid buffer offset: "+d);var v,g=d>>2,b=0,h=e==J.screen;if("undefined"!=typeof CanvasPixelArray&&c instanceof CanvasPixelArray)for(v=c.length;b>8&255,c[b+2]=w>>16&255,c[b+3]=h?255:w>>24&255,g++,b+=4}else{var m=new Uint32Array(c.buffer);if(h&&J.defaults.opaqueFrontBuffer){v=m.length,m.set(C.subarray(g,g+v));var p=new Uint8Array(c.buffer),I=3,y=I+4*v;if(v%8==0)for(;I>2]=e),e},n:function(e,r){re.varargs=r;try{var i=re.getStreamFromFD(),n=(re.get(),re.get()),t=re.get(),o=re.get(),a=n;return FS.llseek(i,a,o),C[t>>2]=i.position,i.getdents&&0===a&&0===o&&(i.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||pe(e),-e.errno}},o:function(e,r){re.varargs=r;try{for(var i=re.get(),n=re.get(),t=re.get(),o=0,a=0;a>2],A=C[n+(8*a+4)>>2],u=0;u0||(!function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),S.unshift(e);var e;x(S)}(),O>0||i.calledRun||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),r()}),1)):r()))}function pe(e){throw i.onAbort&&i.onAbort(e),void 0!==e?(o(e),a(e),e=JSON.stringify(e)):e="",u=!0,1,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(me.prototype=new Error,me.prototype.constructor=me,Y=function e(){i.calledRun||Ce(),i.calledRun||(Y=e)},i.run=Ce,i.abort=pe,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();i.noExitRuntime=!0,Ce(),this.Module=i,this.webpToSdl=i.cwrap("WebpToSDL","number",["array","number"]),this.setCanvas=function(e){i.canvas=e}}i.d(r,"Webp",(function(){return n}))}.call(this,i(88).setImmediate)}}]); \ No newline at end of file diff --git a/public/npm.webp-hero.chunk.js.gz b/public/npm.webp-hero.chunk.js.gz index a936c0f8..995e13d8 100644 Binary files a/public/npm.webp-hero.chunk.js.gz and b/public/npm.webp-hero.chunk.js.gz differ diff --git a/public/vendors~index.chunk.js b/public/vendors~index.chunk.js index 5cfc4d6b..8f1c9a09 100644 --- a/public/vendors~index.chunk.js +++ b/public/vendors~index.chunk.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{33:function(t,r,e){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var t={};return function(r){if(void 0===t[r]){var e=document.querySelector(r);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[r]=e}return t[r]}}(),a=[];function u(t){for(var r=-1,e=0;e=7&&C(t),null==v&&(v=B(e,n,y)),A(v,r)},b=function(t,r){for(var e=-1;e<=7;e+=1)if(!(t+e<=-1||g<=t+e))for(var n=-1;n<=7;n+=1)r+n<=-1||g<=r+n||(a[t+e][r+n]=0<=e&&e<=6&&(0==n||6==n)||0<=n&&n<=6&&(0==e||6==e)||2<=e&&e<=4&&2<=n&&n<=4)},x=function(){for(var t=8;t>n&1);a[Math.floor(n/3)][n%3+g-8-3]=o}for(n=0;n<18;n+=1)o=!t&&1==(r>>n&1),a[n%3+g-8-3][Math.floor(n/3)]=o},k=function(t,r){for(var e=n<<3|r,o=i.getBCHTypeInfo(e),u=0;u<15;u+=1){var c=!t&&1==(o>>u&1);u<6?a[u][8]=c:u<8?a[u+1][8]=c:a[g-15+u][8]=c}for(u=0;u<15;u+=1)c=!t&&1==(o>>u&1),u<8?a[8][g-u-1]=c:u<9?a[8][15-u-1+1]=c:a[8][15-u-1]=c;a[g-8][8]=!t},A=function(t,r){for(var e=-1,n=g-1,o=7,u=0,c=i.getMaskFunction(r),f=g-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var s=0;s<2;s+=1)if(null==a[n][f-s]){var h=!1;u>>o&1)),c(n,f-s)&&(h=!h),a[n][f-s]=h,-1==(o-=1)&&(u+=1,o=7)}if((n+=e)<0||g<=n){n-=e,e=-e;break}}},B=function(t,r,e){for(var n=c.getRSBlocks(t,r),o=f(),a=0;a8*h)throw"code length overflow. ("+o.getLengthInBits()+">"+8*h+")";for(o.getLengthInBits()+4<=8*h&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;!(o.getLengthInBits()>=8*h||(o.put(236,8),o.getLengthInBits()>=8*h));)o.put(17,8);return function(t,r){for(var e=0,n=0,o=0,a=new Array(r.length),c=new Array(r.length),f=0;f=0?g.getAt(v):0}}var p=0;for(l=0;ln)&&(t=n,r=e)}return r}())},w.createTableTag=function(t,r){t=t||2;var e="";e+='',e+="";for(var n=0;n";for(var o=0;o';e+=""}return(e+="")+"
"},w.createSvgTag=function(t,r,e,n){var o={};"object"==typeof arguments[0]&&(t=(o=arguments[0]).cellSize,r=o.margin,e=o.alt,n=o.title),t=t||2,r=void 0===r?4*t:r,(e="string"==typeof e?{text:e}:e||{}).text=e.text||null,e.id=e.text?e.id||"qrcode-description":null,(n="string"==typeof n?{text:n}:n||{}).text=n.text||null,n.id=n.text?n.id||"qrcode-title":null;var i,a,u,c,f=w.getModuleCount()*t+2*r,s="";for(c="l"+t+",0 0,"+t+" -"+t+",0 0,-"+t+"z ",s+=''+_(n.text)+"":"",s+=e.text?''+_(e.text)+"":"",s+='',s+='"},w.createDataURL=function(t,r){t=t||2,r=void 0===r?4*t:r;var e=w.getModuleCount()*t+2*r,n=r,o=e-r;return p(e,e,(function(r,e){if(n<=r&&r"};var _=function(t){for(var r="",e=0;e":r+=">";break;case"&":r+="&";break;case'"':r+=""";break;default:r+=n}}return r};return w.createASCII=function(t,r){if((t=t||1)<2)return function(t){t=void 0===t?2:t;var r,e,n,o,i,a=1*w.getModuleCount()+2*t,u=t,c=a-t,f={"██":"█","█ ":"▀"," █":"▄"," ":" "},s={"██":"▀","█ ":"▀"," █":" "," ":" "},h="";for(r=0;r=c?s[i]:f[i];h+="\n"}return a%2&&t>0?h.substring(0,h.length-a-1)+Array(a+1).join("▀"):h.substring(0,h.length-1)}(r);t-=1,r=void 0===r?2*t:r;var e,n,o,i,a=w.getModuleCount()*t+2*r,u=r,c=a-r,f=Array(t+1).join("██"),s=Array(t+1).join(" "),h="",l="";for(e=0;e>>8),r.push(255&a)):r.push(n)}}return r}};var r,e,n,o={L:1,M:0,Q:3,H:2},i=(r=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],n=function(t){for(var r=0;0!=t;)r+=1,t>>>=1;return r},(e={}).getBCHTypeInfo=function(t){for(var r=t<<10;n(r)-n(1335)>=0;)r^=1335<=0;)r^=7973<5&&(e+=3+i-5)}for(n=0;n=256;)r-=255;return t[r]}}}();function u(t,r){if(void 0===t.length)throw t.length+"/"+r;var e=function(){for(var e=0;e>>7-r%8&1)},put:function(t,r){for(var n=0;n>>r-n-1&1))},getLengthInBits:function(){return r},putBit:function(e){var n=Math.floor(r/8);t.length<=n&&t.push(0),e&&(t[n]|=128>>>r%8),r+=1}};return e},s=function(t){var r=t,e={getMode:function(){return 1},getLength:function(t){return r.length},write:function(t){for(var e=r,o=0;o+2>>8&255)+(255&o),t.put(o,13),e+=2}if(e>>8)},writeBytes:function(t,e,n){e=e||0,n=n||t.length;for(var o=0;o0&&(r+=","),r+=t[e];return r+"]"}};return r},v=function(t){var r=t,e=0,n=0,o=0,i={read:function(){for(;o<8;){if(e>=r.length){if(0==o)return-1;throw"unexpected end of file./"+o}var t=r.charAt(e);if(e+=1,"="==t)return o=0,-1;t.match(/^\s$/)||(n=n<<6|a(t.charCodeAt(0)),o+=6)}var i=n>>>o-8&255;return o-=8,i}},a=function(t){if(65<=t&&t<=90)return t-65;if(97<=t&&t<=122)return t-97+26;if(48<=t&&t<=57)return t-48+52;if(43==t)return 62;if(47==t)return 63;throw"c:"+t};return i},p=function(t,r,e){for(var n=function(t,r){var e=t,n=r,o=new Array(t*r),i={setPixel:function(t,r,n){o[r*e+t]=n},write:function(t){t.writeString("GIF87a"),t.writeShort(e),t.writeShort(n),t.writeByte(128),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(255),t.writeByte(255),t.writeByte(255),t.writeString(","),t.writeShort(0),t.writeShort(0),t.writeShort(e),t.writeShort(n),t.writeByte(0);var r=a(2);t.writeByte(2);for(var o=0;r.length-o>255;)t.writeByte(255),t.writeBytes(r,o,255),o+=255;t.writeByte(r.length-o),t.writeBytes(r,o,r.length-o),t.writeByte(0),t.writeString(";")}},a=function(t){for(var r=1<>>o!=0)throw"length over";for(;e+o>=8;)r.writeByte(255&(t<>>=8-e,n=0,e=0;n|=t<0&&r.writeByte(n)}}}(c);f.write(r,n);var s=0,h=String.fromCharCode(o[s]);for(s+=1;s=6;)i(t>>>r-6),r-=6},o.flush=function(){if(r>0&&(i(t<<6-r),t=0,r=0),e%3!=0)for(var o=3-e%3,a=0;a>6,128|63&n):n<55296||n>=57344?r.push(224|n>>12,128|n>>6&63,128|63&n):(e++,n=65536+((1023&n)<<10|1023&t.charCodeAt(e)),r.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return r}(t)},void 0===(o="function"==typeof(n=function(){return i})?n.apply(r,[]):n)||(t.exports=o)},function(t,r,e){"use strict";e.r(r);var n={numeric:"Numeric",alphanumeric:"Alphanumeric",byte:"Byte",kanji:"Kanji"},o=function(){return(o=Object.assign||function(t){for(var r,e=1,n=arguments.length;en.width||o>n.height)throw"The canvas is too small.";for(var i=Math.min(n.width,n.height),a=Math.floor(i/o),u=Math.floor((n.width-o*a)/2),c=Math.floor((n.height-o*a)/2),s=new f({context:e,type:n.dotsOptions.type}),h=function(i){for(var f=function(f){return t&&!t(i,f)?"continue":l._qr.isDark(i,f)?(e.fillStyle=n.dotsOptions.color,void s.draw(u+i*a,c+f*a,a,(function(e,n){return!(i+e<0||f+n<0||i+e>=o||f+n>=o)&&!(t&&!t(i+e,f+n))&&!!r._qr&&r._qr.isDark(i+e,f+n)}))):"continue"},h=0;hn||o&&o=(i+g)/2||r<(i-v)/2||r>=(i+v)/2})),n.drawImage(h,f+(i*u-c)/2,s+(i*u-d)/2,c,d),r()},h.src=o.image}))},t}(),h={},l=0;l<=40;l++)h[l]=l;var d=h,g={L:"L",M:"M",Q:"Q",H:"H"},v={width:300,height:300,data:void 0,image:void 0,qrOptions:{typeNumber:d[0],mode:void 0,errorCorrectionLevel:g.Q},imageOptions:{hideBackgroundDots:!0,imageSize:.4},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{color:"#fff"}},p=e(0),y=e.n(p),w=function(){function t(t){this._options=t?u(v,t):v,this.update()}return t._clearContainer=function(t){t&&(t.innerHTML="")},t.prototype.update=function(r){t._clearContainer(this._container),this._options=r?u(this._options,r):this._options,this._options.data&&(this._qr=y()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return n.numeric;case/^[0-9A-Z $%*+\-.\/:]*$/.test(t):return n.alphanumeric;default:return n.byte}}(this._options.data)),this._qr.make(),this._canvas=new s(this._options),this._canvas.drawQR(this._qr),this.append(this._container))},t.prototype.append=function(t){if(t){if("function"!=typeof t.appendChild)throw"Container should be a single DOM node";this._canvas&&t.appendChild(this._canvas.getCanvas()),this._container=t}},t.prototype.download=function(t){var r,e,n;this._canvas&&(r=this._canvas.getCanvas().toDataURL(t?"image/"+t:void 0),e="qr."+(t||"png"),(n=document.createElement("a")).download=e,n.href=r,document.body.appendChild(n),n.click(),document.body.removeChild(n))},t}(),m={dots:"dots",rounded:"rounded",square:"square"};e.d(r,"dotTypes",(function(){return m})),e.d(r,"errorCorrectionLevels",(function(){return g})),e.d(r,"errorCorrectionPercents",(function(){return c})),e.d(r,"modes",(function(){return n})),e.d(r,"qrTypes",(function(){return d})),r.default=w}]).default}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{33:function(t,r,e){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var t={};return function(r){if(void 0===t[r]){var e=document.querySelector(r);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[r]=e}return t[r]}}(),a=[];function u(t){for(var r=-1,e=0;e=7&&C(t),null==v&&(v=B(e,n,y)),A(v,r)},b=function(t,r){for(var e=-1;e<=7;e+=1)if(!(t+e<=-1||g<=t+e))for(var n=-1;n<=7;n+=1)r+n<=-1||g<=r+n||(a[t+e][r+n]=0<=e&&e<=6&&(0==n||6==n)||0<=n&&n<=6&&(0==e||6==e)||2<=e&&e<=4&&2<=n&&n<=4)},x=function(){for(var t=8;t>n&1);a[Math.floor(n/3)][n%3+g-8-3]=o}for(n=0;n<18;n+=1)o=!t&&1==(r>>n&1),a[n%3+g-8-3][Math.floor(n/3)]=o},k=function(t,r){for(var e=n<<3|r,o=i.getBCHTypeInfo(e),u=0;u<15;u+=1){var c=!t&&1==(o>>u&1);u<6?a[u][8]=c:u<8?a[u+1][8]=c:a[g-15+u][8]=c}for(u=0;u<15;u+=1)c=!t&&1==(o>>u&1),u<8?a[8][g-u-1]=c:u<9?a[8][15-u-1+1]=c:a[8][15-u-1]=c;a[g-8][8]=!t},A=function(t,r){for(var e=-1,n=g-1,o=7,u=0,c=i.getMaskFunction(r),f=g-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var s=0;s<2;s+=1)if(null==a[n][f-s]){var h=!1;u>>o&1)),c(n,f-s)&&(h=!h),a[n][f-s]=h,-1==(o-=1)&&(u+=1,o=7)}if((n+=e)<0||g<=n){n-=e,e=-e;break}}},B=function(t,r,e){for(var n=c.getRSBlocks(t,r),o=f(),a=0;a8*h)throw"code length overflow. ("+o.getLengthInBits()+">"+8*h+")";for(o.getLengthInBits()+4<=8*h&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;!(o.getLengthInBits()>=8*h||(o.put(236,8),o.getLengthInBits()>=8*h));)o.put(17,8);return function(t,r){for(var e=0,n=0,o=0,a=new Array(r.length),c=new Array(r.length),f=0;f=0?g.getAt(v):0}}var p=0;for(l=0;ln)&&(t=n,r=e)}return r}())},w.createTableTag=function(t,r){t=t||2;var e="";e+='',e+="";for(var n=0;n";for(var o=0;o';e+=""}return(e+="")+"
"},w.createSvgTag=function(t,r,e,n){var o={};"object"==typeof arguments[0]&&(t=(o=arguments[0]).cellSize,r=o.margin,e=o.alt,n=o.title),t=t||2,r=void 0===r?4*t:r,(e="string"==typeof e?{text:e}:e||{}).text=e.text||null,e.id=e.text?e.id||"qrcode-description":null,(n="string"==typeof n?{text:n}:n||{}).text=n.text||null,n.id=n.text?n.id||"qrcode-title":null;var i,a,u,c,f=w.getModuleCount()*t+2*r,s="";for(c="l"+t+",0 0,"+t+" -"+t+",0 0,-"+t+"z ",s+=''+_(n.text)+"":"",s+=e.text?''+_(e.text)+"":"",s+='',s+='"},w.createDataURL=function(t,r){t=t||2,r=void 0===r?4*t:r;var e=w.getModuleCount()*t+2*r,n=r,o=e-r;return p(e,e,(function(r,e){if(n<=r&&r"};var _=function(t){for(var r="",e=0;e":r+=">";break;case"&":r+="&";break;case'"':r+=""";break;default:r+=n}}return r};return w.createASCII=function(t,r){if((t=t||1)<2)return function(t){t=void 0===t?2:t;var r,e,n,o,i,a=1*w.getModuleCount()+2*t,u=t,c=a-t,f={"██":"█","█ ":"▀"," █":"▄"," ":" "},s={"██":"▀","█ ":"▀"," █":" "," ":" "},h="";for(r=0;r=c?s[i]:f[i];h+="\n"}return a%2&&t>0?h.substring(0,h.length-a-1)+Array(a+1).join("▀"):h.substring(0,h.length-1)}(r);t-=1,r=void 0===r?2*t:r;var e,n,o,i,a=w.getModuleCount()*t+2*r,u=r,c=a-r,f=Array(t+1).join("██"),s=Array(t+1).join(" "),h="",l="";for(e=0;e>>8),r.push(255&a)):r.push(n)}}return r}};var r,e,n,o={L:1,M:0,Q:3,H:2},i=(r=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],n=function(t){for(var r=0;0!=t;)r+=1,t>>>=1;return r},(e={}).getBCHTypeInfo=function(t){for(var r=t<<10;n(r)-n(1335)>=0;)r^=1335<=0;)r^=7973<5&&(e+=3+i-5)}for(n=0;n=256;)r-=255;return t[r]}}}();function u(t,r){if(void 0===t.length)throw t.length+"/"+r;var e=function(){for(var e=0;e>>7-r%8&1)},put:function(t,r){for(var n=0;n>>r-n-1&1))},getLengthInBits:function(){return r},putBit:function(e){var n=Math.floor(r/8);t.length<=n&&t.push(0),e&&(t[n]|=128>>>r%8),r+=1}};return e},s=function(t){var r=t,e={getMode:function(){return 1},getLength:function(t){return r.length},write:function(t){for(var e=r,o=0;o+2>>8&255)+(255&o),t.put(o,13),e+=2}if(e>>8)},writeBytes:function(t,e,n){e=e||0,n=n||t.length;for(var o=0;o0&&(r+=","),r+=t[e];return r+"]"}};return r},v=function(t){var r=t,e=0,n=0,o=0,i={read:function(){for(;o<8;){if(e>=r.length){if(0==o)return-1;throw"unexpected end of file./"+o}var t=r.charAt(e);if(e+=1,"="==t)return o=0,-1;t.match(/^\s$/)||(n=n<<6|a(t.charCodeAt(0)),o+=6)}var i=n>>>o-8&255;return o-=8,i}},a=function(t){if(65<=t&&t<=90)return t-65;if(97<=t&&t<=122)return t-97+26;if(48<=t&&t<=57)return t-48+52;if(43==t)return 62;if(47==t)return 63;throw"c:"+t};return i},p=function(t,r,e){for(var n=function(t,r){var e=t,n=r,o=new Array(t*r),i={setPixel:function(t,r,n){o[r*e+t]=n},write:function(t){t.writeString("GIF87a"),t.writeShort(e),t.writeShort(n),t.writeByte(128),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(255),t.writeByte(255),t.writeByte(255),t.writeString(","),t.writeShort(0),t.writeShort(0),t.writeShort(e),t.writeShort(n),t.writeByte(0);var r=a(2);t.writeByte(2);for(var o=0;r.length-o>255;)t.writeByte(255),t.writeBytes(r,o,255),o+=255;t.writeByte(r.length-o),t.writeBytes(r,o,r.length-o),t.writeByte(0),t.writeString(";")}},a=function(t){for(var r=1<>>o!=0)throw"length over";for(;e+o>=8;)r.writeByte(255&(t<>>=8-e,n=0,e=0;n|=t<0&&r.writeByte(n)}}}(c);f.write(r,n);var s=0,h=String.fromCharCode(o[s]);for(s+=1;s=6;)i(t>>>r-6),r-=6},o.flush=function(){if(r>0&&(i(t<<6-r),t=0,r=0),e%3!=0)for(var o=3-e%3,a=0;a>6,128|63&n):n<55296||n>=57344?r.push(224|n>>12,128|n>>6&63,128|63&n):(e++,n=65536+((1023&n)<<10|1023&t.charCodeAt(e)),r.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return r}(t)},void 0===(o="function"==typeof(n=function(){return i})?n.apply(r,[]):n)||(t.exports=o)},function(t,r,e){"use strict";e.r(r);var n={numeric:"Numeric",alphanumeric:"Alphanumeric",byte:"Byte",kanji:"Kanji"},o=function(){return(o=Object.assign||function(t){for(var r,e=1,n=arguments.length;en.width||o>n.height)throw"The canvas is too small.";for(var i=Math.min(n.width,n.height),a=Math.floor(i/o),u=Math.floor((n.width-o*a)/2),c=Math.floor((n.height-o*a)/2),s=new f({context:e,type:n.dotsOptions.type}),h=function(i){for(var f=function(f){return t&&!t(i,f)?"continue":l._qr.isDark(i,f)?(e.fillStyle=n.dotsOptions.color,void s.draw(u+i*a,c+f*a,a,(function(e,n){return!(i+e<0||f+n<0||i+e>=o||f+n>=o)&&!(t&&!t(i+e,f+n))&&!!r._qr&&r._qr.isDark(i+e,f+n)}))):"continue"},h=0;hn||o&&o=(i+g)/2||r<(i-v)/2||r>=(i+v)/2})),n.drawImage(h,f+(i*u-c)/2,s+(i*u-d)/2,c,d),r()},h.src=o.image}))},t}(),h={},l=0;l<=40;l++)h[l]=l;var d=h,g={L:"L",M:"M",Q:"Q",H:"H"},v={width:300,height:300,data:void 0,image:void 0,qrOptions:{typeNumber:d[0],mode:void 0,errorCorrectionLevel:g.Q},imageOptions:{hideBackgroundDots:!0,imageSize:.4},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{color:"#fff"}},p=e(0),y=e.n(p),w=function(){function t(t){this._options=t?u(v,t):v,this.update()}return t._clearContainer=function(t){t&&(t.innerHTML="")},t.prototype.update=function(r){t._clearContainer(this._container),this._options=r?u(this._options,r):this._options,this._options.data&&(this._qr=y()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return n.numeric;case/^[0-9A-Z $%*+\-.\/:]*$/.test(t):return n.alphanumeric;default:return n.byte}}(this._options.data)),this._qr.make(),this._canvas=new s(this._options),this._canvas.drawQR(this._qr),this.append(this._container))},t.prototype.append=function(t){if(t){if("function"!=typeof t.appendChild)throw"Container should be a single DOM node";this._canvas&&t.appendChild(this._canvas.getCanvas()),this._container=t}},t.prototype.download=function(t){var r,e,n;this._canvas&&(r=this._canvas.getCanvas().toDataURL(t?"image/"+t:void 0),e="qr."+(t||"png"),(n=document.createElement("a")).download=e,n.href=r,document.body.appendChild(n),n.click(),document.body.removeChild(n))},t}(),m={dots:"dots",rounded:"rounded",square:"square"};e.d(r,"dotTypes",(function(){return m})),e.d(r,"errorCorrectionLevels",(function(){return g})),e.d(r,"errorCorrectionPercents",(function(){return c})),e.d(r,"modes",(function(){return n})),e.d(r,"qrTypes",(function(){return d})),r.default=w}]).default}}]); \ No newline at end of file diff --git a/public/vendors~index.chunk.js.gz b/public/vendors~index.chunk.js.gz index e8d14334..69053a5c 100644 Binary files a/public/vendors~index.chunk.js.gz and b/public/vendors~index.chunk.js.gz differ diff --git a/public/waveWorker.min.js b/public/waveWorker.min.js new file mode 100644 index 00000000..12c54ec2 --- /dev/null +++ b/public/waveWorker.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.WaveWorker=t():e.WaveWorker=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";(function(t){var r;t.onmessage=function(e){switch(e.data.command){case"encode":r&&r.record(e.data.buffers);break;case"done":r&&(r.requestData(),r=null);break;case"close":t.close();break;case"init":r=new n(e.data),t.postMessage({message:"ready"})}};var n=function(e){if(!(e=Object.assign({wavBitDepth:16},e)).wavSampleRate)throw new Error("wavSampleRate value is required to record. NOTE: Audio is not resampled!");if(-1===[8,16,24,32].indexOf(e.wavBitDepth))throw new Error("Only 8, 16, 24 and 32 bits per sample are supported");this.bitDepth=e.wavBitDepth,this.sampleRate=e.wavSampleRate,this.recordedBuffers=[],this.bytesPerSample=this.bitDepth/8};n.prototype.record=function(e){this.numberOfChannels=this.numberOfChannels||e.length;for(var t=e[0].length,r=new Uint8Array(t*this.numberOfChannels*this.bytesPerSample),n=0;n>8,r[a+2]=i>>16,r[a+3]=i>>24;break;case 3:i=8388607.5*i-.5,r[a]=i,r[a+1]=i>>8,r[a+2]=i>>16;break;case 2:i=32767.5*i-.5,r[a]=i,r[a+1]=i>>8;break;case 1:r[a]=127.5*(i+1);break;default:throw new Error("Only 8, 16, 24 and 32 bits per sample are supported")}}this.recordedBuffers.push(r)},n.prototype.requestData=function(){var e=this.recordedBuffers[0].length,r=this.recordedBuffers.length*e,n=new Uint8Array(44+r),s=new DataView(n.buffer);s.setUint32(0,1380533830,!1),s.setUint32(4,36+r,!0),s.setUint32(8,1463899717,!1),s.setUint32(12,1718449184,!1),s.setUint32(16,16,!0),s.setUint16(20,1,!0),s.setUint16(22,this.numberOfChannels,!0),s.setUint32(24,this.sampleRate,!0),s.setUint32(28,this.sampleRate*this.bytesPerSample*this.numberOfChannels,!0),s.setUint16(32,this.bytesPerSample*this.numberOfChannels,!0),s.setUint16(34,this.bitDepth,!0),s.setUint32(36,1684108385,!1),s.setUint32(40,r,!0);for(var a=0;arequestAnimationFrame(e)).then(()=>{const t=document.createElement("canvas");return this.webp.setCanvas(t),this.webp.webpToSdl(e,e.length),this.busy=!1,new Promise((e,n)=>{t.toBlob(t=>{let r=new FileReader;r.onload=t=>{e(new Uint8Array(t.target.result))},r.onerror=n,r.readAsArrayBuffer(t)},"image/png",1)})})}catch(e){throw this.busy=!1,e.name=o.name,e.message="failed to decode webp image: "+e.message,e}}}t.WebpMachine=i,window.WebpMachine=i},87:function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(88),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(53))},88:function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,o,i,a,c,u=1,s={},l=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){m(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){m(e.data)},r=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(o=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){m(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(m,0,e)}:(a="setImmediate$"+Math.random()+"$",c=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&m(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",c,!1):e.attachEvent("onmessage",c),r=function(t){e.postMessage(a+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;nrequestAnimationFrame(e)).then(()=>{const t=document.createElement("canvas");return this.webp.setCanvas(t),this.webp.webpToSdl(e,e.length),this.busy=!1,new Promise((e,n)=>{t.toBlob(t=>{let r=new FileReader;r.onload=t=>{e(new Uint8Array(t.target.result))},r.onerror=n,r.readAsArrayBuffer(t)},"image/png",1)})})}catch(e){throw this.busy=!1,e.name=o.name,e.message="failed to decode webp image: "+e.message,e}}}t.WebpMachine=i,window.WebpMachine=i},88:function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(89),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(53))},89:function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,o,i,a,c,u=1,s={},l=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){m(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){m(e.data)},r=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(o=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){m(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(m,0,e)}:(a="setImmediate$"+Math.random()+"$",c=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&m(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",c,!1):e.attachEvent("onmessage",c),r=function(t){e.postMessage(a+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n { if(this.btnSend.classList.contains('tgico-send')) { - this.sendMessage(); + if(this.recording) { + this.recorder.stop(); + } else { + this.sendMessage(); + } + } else { + this.recorder.start().then(() => { + this.recordCanceled = false; + this.btnSend.classList.add('tgico-send'); + this.inputContainer.classList.add('is-recording'); + this.recording = true; + + let startTime = Date.now(); + let r = () => { + if(!this.recording) return; + + let diff = Date.now() - startTime; + let ms = diff % 1000; + + let formatted = ('' + (diff / 1000)).toHHMMSS() + ',' + ('00' + Math.round(ms / 10)).slice(-2); + + this.recordTimeEl.innerText = formatted; + + window.requestAnimationFrame(r); + }; + + r(); + }).catch((e: Error) => { + console.error('Recorder start error:', e); + }); } }); + this.btnCancelRecord.addEventListener('click', () => { + this.recordCanceled = true; + this.recorder.stop(); + }); + + this.recorder.onstop = () => { + this.recording = false; + this.inputContainer.classList.remove('is-recording'); + this.btnSend.classList.remove('tgico-send'); + }; + + this.recorder.ondataavailable = (typedArray: Uint8Array) => { + if(this.recordCanceled) return; + + const dataBlob = new Blob([typedArray], {type: 'audio/ogg'}); + const fileName = new Date().toISOString() + ".opus"; + console.log('Recorder data received', typedArray, dataBlob); + + /* var url = URL.createObjectURL( dataBlob ); + + var audio = document.createElement('audio'); + audio.controls = true; + audio.src = url; + + var link = document.createElement('a'); + link.href = url; + link.download = fileName; + link.innerHTML = link.download; + + var li = document.createElement('li'); + li.appendChild(link); + li.appendChild(audio); + + document.body.append(li); + + return; */ + + let peerID = appImManager.peerID; + appMessagesManager.sendFile(peerID, dataBlob, { + isVoiceMessage: true, + duration: 0, + isMedia: true + }); + + /* const url = URL.createObjectURL(dataBlob); + + var audio = document.createElement('audio'); + audio.controls = true; + audio.src = url; + + var link = document.createElement('a'); + link.href = url; + link.download = fileName; + link.innerHTML = link.download; + + var li = document.createElement('li'); + li.appendChild(link); + li.appendChild(audio); + + recordingslist.appendChild(li); */ + }; + let emoticonsDisplayTimeout = 0; this.toggleEmoticons.onmouseover = (e) => { clearTimeout(this.emoticonsTimeout); diff --git a/src/lib/appManagers/appMessagesManager.ts b/src/lib/appManagers/appMessagesManager.ts index 63a1d64b..862bf540 100644 --- a/src/lib/appManagers/appMessagesManager.ts +++ b/src/lib/appManagers/appMessagesManager.ts @@ -597,6 +597,7 @@ export class AppMessagesManager { height: number, objectURL: string, isRoundMessage: boolean, + isVoiceMessage: boolean, duration: number, background: boolean }> = {}) { @@ -661,6 +662,25 @@ export class AppMessagesManager { attachType = 'audio'; apiFileName = 'audio.' + (fileType.split('/')[1] == 'ogg' ? 'ogg' : 'mp3'); actionName = 'sendMessageUploadAudioAction'; + + let flags = 0; + if(options.isVoiceMessage) { + flags |= 1 << 10; + flags |= 1 << 2; + } + + let attribute = { + _: 'documentAttributeAudio', + flags: flags, + pFlags: { // that's only for client, not going to telegram + voice: options.isVoiceMessage + }, + waveform: new Uint8Array([0, 0, 0, 0, 0, 0, 128, 35, 8, 25, 34, 132, 16, 66, 8, 0, 0, 0, 0, 0, 0, 0, 96, 60, 254, 255, 255, 79, 223, 255, 63, 183, 226, 107, 255, 255, 255, 255, 191, 188, 255, 255, 246, 255, 255, 255, 255, 63, 155, 117, 135, 24, 249, 191, 167, 51, 149, 0, 0, 0, 0, 0, 0]), + voice: options.isVoiceMessage, + duration: options.duration || 0, + }; + + attributes.push(attribute); } else if(fileType.indexOf('video/') === 0) { attachType = 'video'; apiFileName = 'video.mp4'; diff --git a/src/lib/opusProcessor.ts b/src/lib/opusProcessor.ts new file mode 100644 index 00000000..036cc841 --- /dev/null +++ b/src/lib/opusProcessor.ts @@ -0,0 +1,5 @@ +export class OpusProcessor { + +} + +export default new OpusProcessor(); \ No newline at end of file diff --git a/src/scss/partials/_chat.scss b/src/scss/partials/_chat.scss index 14447dcf..6f20be23 100644 --- a/src/scss/partials/_chat.scss +++ b/src/scss/partials/_chat.scss @@ -101,22 +101,83 @@ $time-background: rgba(0, 0, 0, .35); color: #a2acb4; display: block; /* For Firefox By Ariel Flesler */ } + + #btn-record-cancel { + visibility: hidden; + opacity: 0; + transition: width .1s .1s, margin-right .1s .1s, visibility 0s .1s, opacity .1s 0s; + padding: 0; + } - .btn-circle { + #btn-send { flex: 0 0 auto; - font-size: 1.5rem; - line-height: 1.5rem; color: #9e9e9e; - background-color: #fff; align-self: flex-end; - + &.tgico-send { color: $color-blue; } } + + #btn-record-cancel, #btn-send { + font-size: 1.5rem; + line-height: 1.5rem; + background-color: #fff; + } + + .record-time { + height: 44px; + line-height: 44px; + display: none; + + &:after { + content: " "; + width: 10px; + height: 10px; + background-color: #e53935; + border-radius: 50%; + margin: 0 .5rem; + display: inline-block; + animation: recordBlink 1.25s infinite; + } + } - .os-scrollbar-handle { - background: rgba(0, 0, 0, 0.2); + &.is-recording { + #btn-record-cancel { + opacity: 1; + visibility: visible; + margin-right: .5rem; + transition: width .1s, margin-right .1s, visibility 0s .1s, opacity .1s .1s; + } + + #attach-file { + display: none; + } + + .record-time { + display: block; + } + } + + &:not(.is-recording) { + #btn-record-cancel { + margin-right: 0; + width: 0px; + } + } +} + +@keyframes recordBlink { + 0% { + opacity: 1; + } + + 50% { + opacity: .2; + } + + 100% { + opacity: 1; } } diff --git a/src/scss/partials/_chatBubble.scss b/src/scss/partials/_chatBubble.scss index d7804ce9..1a212703 100644 --- a/src/scss/partials/_chatBubble.scss +++ b/src/scss/partials/_chatBubble.scss @@ -722,7 +722,7 @@ //} .tgico-largeplay:before { - content: "\e929"; + content: $tgico-largeplay; margin-right: -2px; } diff --git a/src/scss/partials/_fonts.scss b/src/scss/partials/_fonts.scss index b8d02a4c..535df67c 100644 --- a/src/scss/partials/_fonts.scss +++ b/src/scss/partials/_fonts.scss @@ -204,7 +204,7 @@ content: "\e938"; } .tgico-largeplay:before { - content: "\e939"; + content: $tgico-largeplay; } .tgico-livelocation:before { content: "\e93a"; diff --git a/src/scss/partials/_ico.scss b/src/scss/partials/_ico.scss index f729b540..183ff5d9 100644 --- a/src/scss/partials/_ico.scss +++ b/src/scss/partials/_ico.scss @@ -6,3 +6,4 @@ $tgico-checks: "\e901"; $tgico-sending: "\e95f"; $tgico-close: "\e91b"; $tgico-next: "\e94a"; +$tgico-largeplay: "\e939"; diff --git a/webpack.prod.js b/webpack.prod.js index 42069969..4fe3e86f 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -65,7 +65,8 @@ module.exports = merge(common, { || file.includes('.webmanifest') || file.includes('.wasm') || file.includes('rlottie') - || file.includes('pako')) return; + || file.includes('pako') + || file.includes('Worker.min.js')) return; let p = path.resolve(buildDir + file); if(!newlyCreatedAssets[file] && ['.gz', '.js'].find(ext => file.endsWith(ext)) !== undefined) {