sandstone-proxy
Version:
An experimental web proxy utilizing sandboxed iframes and no service worker.
20 lines • 1.96 MB
JavaScript
/*!
* ading2210/sandstone - A web proxy using sandboxed iframes
* Copyright (C) 2024 ading2210
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* Source code: https://github.com/ading2210/sandstone
* License: https://github.com/ading2210/sandstone/blob/main/LICENSE
*/var A={d:(g,B)=>{for(var Q in B)A.o(B,Q)&&!A.o(g,Q)&&Object.defineProperty(g,Q,{enumerable:!0,get:B[Q]})},o:(A,g)=>Object.prototype.hasOwnProperty.call(A,g),r:A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})}},g={};A.d(g,{p_:()=>Q,GB:()=>c,Nm:()=>B,rE:()=>M});var B={};A.r(B),A.d(B,{clean_ws_connections:()=>R,session:()=>t,set_websocket:()=>s,ws_connections:()=>a});var Q={};A.r(Q),A.d(Q,{ProxyFrame:()=>l,iframes:()=>h,local_storage:()=>y,persist_storage_key:()=>Y});let I=null;const C={},E={};let D=null,o=()=>{};class i{constructor(A=null){this.target=null,this.extra_targets=[],this.msg_callback=this.handle_msg.bind(this),this.onmessage=()=>{},A&&this.set_target(A)}set_target(A){this.target&&this.target.removeEventListener("message",this.msg_callback);for(let A of this.extra_targets)A.removeEventListener("message",this.msg_callback);this.target=A,this.extra_targets=[],this.target.addEventListener("message",this.msg_callback)}add_extra_target(A){A.addEventListener("message",this.msg_callback),this.extra_targets.push(A)}handle_msg(A){this.onmessage(A,this)}postMessage(...A){this.target.postMessage(...A)}}async function G(A,g){let B=A.data,Q=A.source||A.currentTarget;if(void 0!==B.type)if(console.log(`RPC ${I} got`,B),"procedure"===B.type){let A=await async function(A){if(!C[A.procedure])return;let g;try{g={value:await C[A.procedure](...A.arguments),success:!0}}catch(A){console.error(A),g={value:A,success:!1}}return{type:"reply",id:A.id,content:g}}(B);if(!Q)return;A&&Q.postMessage(A,{targetOrigin:"*"})}else if("reply"===B.type)!function(A){E[A.id]&&(E[A.id](A.content),delete E[A.id])}(B);else if("attach"===B.type){let Q=A.ports[0];"frame"===I?D.postMessage(B,{targetOrigin:"*",transfer:[Q]}):(g.add_extra_target(Q),Q.start())}}function w(A,g){return function(){return async function(A,g,B){globalThis.HTMLIFrameElement&&A instanceof globalThis.HTMLIFrameElement&&(A=A.contentWindow||A);let Q={type:"procedure",id:Math.random()+"",procedure:g,arguments:B};return await new Promise(((g,B)=>{E[Q.id]=A=>{A.success?g(A.value):B(A.value)},console.log(`RPC ${I} sending`,Q),A.postMessage(Q,{targetOrigin:"*"})}))}(A,g,[...arguments])}}function e(A){let g=A.stack;return A.stack||(g=new Error(A).stack),g.includes(A)||(g=A+"\n\n"+g),g}self.parent===globalThis&&"function"!=typeof globalThis.importScripts||(D=new i,D.onmessage=G,self.addEventListener("message",(function(A){let g=A.data,B=A.ports[0];if("ping"!==g.type)"set_host"===g.type&&B&&(D.target?D.add_extra_target(B):(D.set_target(B),o()),B.start());else{let g={type:"pong",id:Math.random()+""};A.source.postMessage(g,"*")}})));const c=function(){var A=void 0!==A?A:{},g=Object.assign({},A),B=[],Q="./this.program",I=(A,g)=>{throw g},C="object"==typeof window,E="function"==typeof importScripts,D="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,o=!C&&!D&&!E;if(A.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var i,G,w,e="";if(o){if("object"==typeof process&&"function"==typeof require||"object"==typeof window||"function"==typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");"undefined"!=typeof read&&(i=function(A){const g=ig(A);return g?Dg(g):read(A)}),w=function(A){let g;return g=ig(A),g||("function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(g=read(A,"binary"),k("object"==typeof g),g))},G=function(A,g,B){setTimeout((()=>g(w(A))),0)},"undefined"!=typeof scriptArgs?B=scriptArgs:void 0!==arguments&&(B=arguments),"function"==typeof quit&&(I=(A,g)=>{if(QA)throw g;!function(A){if(A instanceof IB)return;let g=A;A&&"object"==typeof A&&A.stack&&(g=[A,A.stack]),t("exiting due to exception: "+g)}(g),quit(A)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)}else{if(!C&&!E)throw new Error("environment detection error");if(E?e=self.location.href:"undefined"!=typeof document&&document.currentScript&&(e=document.currentScript.src),e=0!==e.indexOf("blob:")?e.substr(0,e.replace(/[?#].*/,"").lastIndexOf("/")+1):"","object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");i=A=>{try{var g=new XMLHttpRequest;return g.open("GET",A,!1),g.send(null),g.responseText}catch(g){var B=ig(A);if(B)return Dg(B);throw g}},E&&(w=A=>{try{var g=new XMLHttpRequest;return g.open("GET",A,!1),g.responseType="arraybuffer",g.send(null),new Uint8Array(g.response)}catch(g){var B=ig(A);if(B)return B;throw g}}),G=(A,g,B)=>{var Q=new XMLHttpRequest;Q.open("GET",A,!0),Q.responseType="arraybuffer",Q.onload=()=>{if(200==Q.status||0==Q.status&&Q.response)g(Q.response);else{var I=ig(A);I?g(I.buffer):B()}},Q.onerror=B,Q.send(null)},A=>document.title=A}var c,a=A.print||console.log.bind(console),t=A.printErr||console.warn.bind(console);Object.assign(A,g),g=null,c="fetchSettings",Object.getOwnPropertyDescriptor(A,c)&&wA("`Module."+c+"` was supplied but `"+c+"` not included in INCOMING_MODULE_JS_API"),A.arguments&&(B=A.arguments),N("arguments","arguments_"),A.thisProgram&&(Q=A.thisProgram),N("thisProgram","thisProgram"),A.quit&&(I=A.quit),N("quit","quit_"),k(void 0===A.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),k(void 0===A.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),k(void 0===A.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),k(void 0===A.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),k(void 0===A.read,"Module.read option was removed (modify read_ in JS)"),k(void 0===A.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),k(void 0===A.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),k(void 0===A.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),k(void 0===A.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),N("read","read_"),N("readAsync","readAsync"),N("readBinary","readBinary"),N("setWindowTitle","setWindowTitle"),k(!D,"node environment detected but not enabled at build time. Add 'node' to `-s ENVIRONMENT` to enable."),k(!o,"shell environment detected but not enabled at build time. Add 'shell' to `-s ENVIRONMENT` to enable.");function s(A){s.shown||(s.shown={}),s.shown[A]||(s.shown[A]=1,t(A))}var F,R=[];function N(g,B){Object.getOwnPropertyDescriptor(A,g)||Object.defineProperty(A,g,{configurable:!0,get:function(){wA("Module."+g+" has been replaced with plain "+B+" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}})}function h(A,g){var B="'"+A+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";return g&&(B+=". Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"),B}function Y(g,B){Object.getOwnPropertyDescriptor(A,g)||(A[g]=()=>wA(h(g,B)))}var y,l=0;A.wasmBinary&&(y=A.wasmBinary),N("wasmBinary","wasmBinary");var M;A.noExitRuntime;N("noExitRuntime","noExitRuntime"),"object"!=typeof WebAssembly&&wA("no native wasm support detected");var U,n=!1;function k(A,g){A||wA("Assertion failed"+(g?": "+g:""))}var J=0,d=1;function L(A,g){var B;return k("number"==typeof g,"allocate no longer takes a type argument"),k("number"!=typeof A,"allocate no longer takes a number as arg0"),B=g==d?BB(A.length):tg(A.length),A.subarray||A.slice||(A=new Uint8Array(A)),K.set(A,B),B}var Z="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function H(A,g,B){for(var Q=g+B,I=g;A[I]&&!(I>=Q);)++I;if(I-g>16&&A.subarray&&Z)return Z.decode(A.subarray(g,I));for(var C="";g<I;){var E=A[g++];if(128&E){var D=63&A[g++];if(192!=(224&E)){var o=63&A[g++];if(224==(240&E)?E=(15&E)<<12|D<<6|o:(240!=(248&E)&&s("Invalid UTF-8 leading byte 0x"+E.toString(16)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),E=(7&E)<<18|D<<12|o<<6|63&A[g++]),E<65536)C+=String.fromCharCode(E);else{var i=E-65536;C+=String.fromCharCode(55296|i>>10,56320|1023&i)}}else C+=String.fromCharCode((31&E)<<6|D)}else C+=String.fromCharCode(E)}return C}function b(A,g){return A?H(K,A,g):""}function r(A,g,B,Q){if(!(Q>0))return 0;for(var I=B,C=B+Q-1,E=0;E<A.length;++E){var D=A.charCodeAt(E);if(D>=55296&&D<=57343)D=65536+((1023&D)<<10)|1023&A.charCodeAt(++E);if(D<=127){if(B>=C)break;g[B++]=D}else if(D<=2047){if(B+1>=C)break;g[B++]=192|D>>6,g[B++]=128|63&D}else if(D<=65535){if(B+2>=C)break;g[B++]=224|D>>12,g[B++]=128|D>>6&63,g[B++]=128|63&D}else{if(B+3>=C)break;D>1114111&&s("Invalid Unicode code point 0x"+D.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),g[B++]=240|D>>18,g[B++]=128|D>>12&63,g[B++]=128|D>>6&63,g[B++]=128|63&D}}return g[B]=0,B-I}function S(A,g,B){return k("number"==typeof B,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),r(A,K,g,B)}function W(A){for(var g=0,B=0;B<A.length;++B){var Q=A.charCodeAt(B);Q>=55296&&Q<=57343&&(Q=65536+((1023&Q)<<10)|1023&A.charCodeAt(++B)),Q<=127?++g:g+=Q<=2047?2:Q<=65535?3:4}return g}var p,m,K,V,u,X,x;"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");function f(A){var g=W(A)+1,B=tg(g);return B&&r(A,m,B,g),B}function q(A,g){k(A.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),m.set(A,g)}function T(g){p=g,A.HEAP8=m=new Int8Array(g),A.HEAP16=V=new Int16Array(g),A.HEAP32=X=new Int32Array(g),A.HEAPU8=K=new Uint8Array(g),A.HEAPU16=u=new Uint16Array(g),A.HEAPU32=x=new Uint32Array(g),A.HEAPF32=new Float32Array(g),A.HEAPF64=new Float64Array(g)}var v=5242880;A.TOTAL_STACK&&k(v===A.TOTAL_STACK,"the stack size can no longer be determined at runtime");var j,z=A.INITIAL_MEMORY||16777216;function O(){var A=$g();k(!(3&A)),X[A+4>>2]=34821223,X[A+8>>2]=2310721022,X[0]=1668509029}function P(){if(!n){var A=$g(),g=x[A+4>>2],B=x[A+8>>2];34821223==g&&2310721022==B||wA("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+B.toString(16)+" 0x"+g.toString(16)),1668509029!==X[0]&&wA("Runtime error: The application has corrupted its heap memory area (address zero)!")}}N("INITIAL_MEMORY","INITIAL_MEMORY"),k(z>=v,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+z+"! (TOTAL_STACK="+v+")"),k("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),k(!A.wasmMemory,"Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"),k(16777216==z,"Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"),function(){var A=new Int16Array(1),g=new Int8Array(A.buffer);if(A[0]=25459,115!==g[0]||99!==g[1])throw"Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)"}();var _=[],$=[],AA=[],gA=!1,BA=!1,QA=0;k(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),k(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var IA=0,CA=null,EA=null,DA={};function oA(A){for(var g=A;;){if(!DA[A])return A;A=g+Math.random()}}function iA(g){IA++,A.monitorRunDependencies&&A.monitorRunDependencies(IA),g?(k(!DA[g]),DA[g]=1,null===CA&&"undefined"!=typeof setInterval&&(CA=setInterval((function(){if(n)return clearInterval(CA),void(CA=null);var A=!1;for(var g in DA)A||(A=!0,t("still waiting on run dependencies:")),t("dependency: "+g);A&&t("(end of list)")}),1e4))):t("warning: run dependency added without ID")}function GA(g){if(IA--,A.monitorRunDependencies&&A.monitorRunDependencies(IA),g?(k(DA[g]),delete DA[g]):t("warning: run dependency removed without ID"),0==IA&&(null!==CA&&(clearInterval(CA),CA=null),EA)){var B=EA;EA=null,B()}}function wA(g){throw A.onAbort&&A.onAbort(g),t(g="Aborted("+g+")"),n=!0,U=1,new WebAssembly.RuntimeError(g)}A.preloadedImages={},A.preloadedAudios={};var eA,cA,aA,tA,sA="data:application/octet-stream;base64,";function FA(A){return A.startsWith(sA)}function RA(g,B){return function(){var Q=g,I=B;return B||(I=A.asm),k(gA,"native function `"+Q+"` called before runtime initialization"),k(!BA,"native function `"+Q+"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),I[g]||k(I[g],"exported native function `"+Q+"` not found"),I[g].apply(null,arguments)}}function NA(A){try{if(A==eA&&y)return new Uint8Array(y);var g=ig(A);if(g)return g;if(w)return w(A);throw"both async and sync fetching of the wasm failed"}catch(A){wA(A)}}function hA(){var g={env:Gg,wasi_snapshot_preview1:Gg};function B(g,B){var Q,I=g.exports;A.asm=I,k(M=A.asm.memory,"memory not found in wasm exports"),T(M.buffer),k(j=A.asm.__indirect_function_table,"table not found in wasm exports"),Q=A.asm.__wasm_call_ctors,$.unshift(Q),GA("wasm-instantiate")}iA("wasm-instantiate");var Q=A;function I(g){k(A===Q,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),Q=null,B(g.instance)}function D(A){return(y||!C&&!E||"function"!=typeof fetch?Promise.resolve().then((function(){return NA(eA)})):fetch(eA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+eA+"'";return A.arrayBuffer()})).catch((function(){return NA(eA)}))).then((function(A){return WebAssembly.instantiate(A,g)})).then((function(A){return A})).then(A,(function(A){t("failed to asynchronously prepare wasm: "+A),eA.startsWith("file://")&&t("warning: Loading from a file URI ("+eA+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),wA(A)}))}if(A.instantiateWasm)try{return A.instantiateWasm(g,B)}catch(A){return t("Module.instantiateWasm callback failed with error: "+A),!1}return y||"function"!=typeof WebAssembly.instantiateStreaming||FA(eA)||"function"!=typeof fetch?D(I):fetch(eA,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,g).then(I,(function(A){return t("wasm streaming compile failed: "+A),t("falling back to ArrayBuffer instantiation"),D(I)}))})),{}}function YA(g){for(;g.length>0;){var B=g.shift();if("function"!=typeof B){var Q=B.func;"number"==typeof Q?void 0===B.arg?lA(Q)():lA(Q)(B.arg):Q(void 0===B.arg?null:B.arg)}else B(A)}}function yA(A){return A.replace(/\b_Z[\w\d_]+/g,(function(A){var g,B=(g=A,s("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),g);return A===B?A:B+" ["+A+"]"}))}function lA(A){return j.get(A)}function MA(A,g){j.set(A,g)}FA(eA="data:application/octet-stream;base64,AGFzbQEAAAABywM7YAF/AGABfwF/YAJ/fwF/YAN/f38Bf2AEf39/fwF/YAJ/fwBgBX9/f39/AX9gA39/fwBgBn9/f39/fwF/YAABf2AEf39/fwBgB39/f39/f38Bf2AFf39/f38AYAJ/fwF+YAh/f39/f39/fwF/YAAAYAN/fn8Bf2ADf39+AX9gA39+fwF+YAl/f39/f39/f38Bf2AGf39/f39/AGAHf39/f39/fwBgBX9+fn5+AGACf34AYAJ/fgF/YAF/AX5gCH9/f39+fn9/AX9gCH9/f39/f39/AGACfn8Bf2ALf39/f39/f39/f38Bf2AEf35+fwBgA39/fwF+YAJ+fgF+YAF+AX9gCn9/f39/f39/f38Bf2AJf39/f39/f39/AGAGf3x/f39/AX9gCH9/f39/fn5/AX9gBH9/f34AYAR/f39+AX9gBn9+f39/fwF/YAN/fn8AYAV/fn5+fgF/YAV/fHx8fAF/YAZ/f39+fn8AYA5/f39/f39/f39/f39/fwBgAAF+YAN+f38Bf2ACfn8AYAF8AX5gA39+fgBgAX8BfGAEfn5+fgF/YAN+fn4Bf2ACf3wAYAJ+fgF8YAR/f39+AX5gAnx/AXxgA39/fgACzQgvA2VudgtnZXRhZGRyaW5mbwAEA2VudgR0aW1lAAEDZW52DWludm9rZV9paWlpaWkACANlbnYLc2V0VGVtcFJldDAAAANlbnYLZ2V0VGVtcFJldDAACQNlbnYLaW52b2tlX3ZpaWkACgNlbnYJaW52b2tlX2lpAAIDZW52BWFsYXJtAAEDZW52CWludm9rZV92aQAFA2VudghzdHJmdGltZQAEA2Vudg1jbG9ja19nZXR0aW1lAAIDZW52DGdldHRpbWVvZmRheQACA2Vudg1fX2Fzc2VydF9mYWlsAAoDZW52EV9fc3lzY2FsbF9mY250bDY0AAMDZW52D19fc3lzY2FsbF9pb2N0bAADFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAARZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3JlYWQABBZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX3dyaXRlAAQDZW52CV90enNldF9qcwAHA2VudgpfZ210aW1lX2pzAAUDZW52Dl9fc3lzY2FsbF9vcGVuAAMDZW52EV9fc3lzY2FsbF9mc3RhdDY0AAIDZW52EF9fc3lzY2FsbF9zdGF0NjQAAgNlbnYRX19zeXNjYWxsX2xzdGF0NjQAAgNlbnYTX19zeXNjYWxsX2ZzdGF0YXQ2NAAEFndhc2lfc25hcHNob3RfcHJldmlldzERZW52aXJvbl9zaXplc19nZXQAAhZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxC2Vudmlyb25fZ2V0AAIDZW52Dl9fc3lzY2FsbF9waXBlAAEDZW52Dl9fc3lzY2FsbF9wb2xsAAMDZW52GGVtc2NyaXB0ZW5fY29uc29sZV9lcnJvcgAAA2VudhRfX3N5c2NhbGxfZ2V0ZGVudHM2NAADA2VudhBfX3N5c2NhbGxfdW5saW5rAAEDZW52D19fc3lzY2FsbF9ybWRpcgABA2VudhBfX3N5c2NhbGxfcmVuYW1lAAIDZW52FF9fc3lzY2FsbF9fbmV3c2VsZWN0AAYDZW52FmVtc2NyaXB0ZW5fcmVzaXplX2hlYXAAAQNlbnYZX2Vtc2NyaXB0ZW5fdGhyb3dfbG9uZ2ptcAAPA2Vudg5fX3N5c2NhbGxfYmluZAAIA2VudhFfX3N5c2NhbGxfY29ubmVjdAAIA2VudhVfX3N5c2NhbGxfZ2V0c29ja25hbWUACANlbnYUX19zeXNjYWxsX2dldHNvY2tvcHQACANlbnYSX19zeXNjYWxsX3JlY3Zmcm9tAAgDZW52EF9fc3lzY2FsbF9zZW5kdG8ACANlbnYQX19zeXNjYWxsX3NvY2tldAAIA2VudhFfX2NhbGxfc2lnaGFuZGxlcgAFA2VudgppbnZva2VfamlpAAMWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrAAYDvBC6EA8AAAAAAQUFCgAAAQIHAQoHBQADBAMDBQUAAAIDAwIDAQEFAAQFBwUFBAoBBAMFAwcCAgYGBgoCBQIfHwIEAgUFBQQFAwcCBgoFBAUEBQUCJSYCAAMMBwIIBgMCBgUFAwYIAwcFBAUGBgICAgUCCAYCAQIBAgcFBgIEAQYICgoHCgoFBQQFAgMMBwIIBgYDBgYHBgUFBAEFCgcAAAoMBQcAAAEBAQEBBAEEBQQABAMFBAgEBAAAAAUCAwYDAwIFAAQFAAMCAgcCCAEHBgYDBgYDAwgEDgoEAgADBAsAAwAEAgAAAgMKBwcKCgcHBwkCAAQbAAEABwEBAwIAAAEFAgEJBQAAAwEKCwIIDwkPCQcEAgQEAAwFBAcDAAAHAQMEBQEYAwEABgcCAwMECAEGAgIFDwAPBQAFAgkAAAMnBQIAAwIFAwUGAgQFBAIGAwIGBQYFAwQGAxACAgoIBAMCAwQECAEBAgUCCAMBBgIDAwMDCwADAAAFAwMIBwACAgUFAAQDAgUDBwIICwEEBgYHBgUDAgYBAgQFAgUDAwYDCAQDDgQDAwQBBwQAFAAEBQsACAYDBAUCBQUACAIGBQIIBQ0AAAcBAAQEBAwEBQUKBwUABQEAAAAHAAMCKAECAQMDAgICABAEEAAEAwEAEAEDBAMLBAMBBgMDAwEZAwIIBQINEQICAAIEAgQEAgICAgcCAAADBAIAKQEFAAMABQUBAgAHBwQFBQICAgICAAQCAgcDBAUHBQAFARgAAAMBAQICAQIAFxcHBwUSGBcgBxcgHAMCAwICAQYBAQQBAQEBIRERAAIGCAUAAQQECwQBBgQCBQAAAAEFBgICAQgNEQQFGAICARkBAQYYBgIIAhECAgICCAgNCAINEQICAwMCAwMBBwUFBQICAQAFAAQFBQwHBgYCAgMDAQECAwcHAgICAgIBAQIEAA0NDQMEAAIBBgEBAQAAAAUDAQUDAwcBAgEGAgUEAgICAwgDAwkAAAEEBgQDAQEBAQEABBoGBywGAQMIAwcCAwIGGgEHBQMDBQAFIgUBAwcHAgcAAQEJDwIEAgMCBAMCBQQGAgYBBAMDBQUDAgICAgAFCQkAAAYBAgEABwIABgkEAgIBAQAFBQAEBQMHAggGBgMGAgEBCQICAwcCBQYGAQMCBAIEAwMEBAkBAQEBAQEUDBQVDAwMDAUBAQIBCgwCAgIDAQYCAgIBAQEBAQUAAAECAQEHAQAAAAUABAMDAQEBAQEBAAEZAAIBAQADAQEBAAEBAwEABQUBBwEDAQEBAQADAQEBBQIBAQECAAIACwsOAQEUDAoFAwMDBAEAAQABAQEFBAEAAwEBAgIBAQUFAQEEAQEBAQYBAQEBAgMBAQQDAgIBAQMDAwMBAQECBAIBAQEBAQQBBgAAAQEIAgQFAwMEAQMBCAEBAwEBBAEBAwEDAwQBAgETAQsLIgYEAQYFAAsGAQEDAgEBAwEBAAELAQEEDgQBAQECAAUBBhQCAQICAQQGAQwBBAECAQEBAAEBAwYABQMEAwMDAwMABAQDAAEEBgEBAwIDAwMAAAICAgECAwEBAQMDAwMCAwIDAwMCAgICAwMEAwMDBAMGCAMEBgMBAgMCBQEKBwQMARsCBgEjFQAAAgIEBQwABAQBBAgGHQQBEwEDAQAAAgQGAgcDAgEBBwMHAwcDAwsAAAMDCAQIBQADCgobCgMAAAMHBAQICwgLAwMJAAQICwsDAwkABAgLCwMDAwkAAwMEAwkAAwkABAgDAwkAAwMECAMDAAMJAAMDAwMJAAgDAwkAAwwAAAIEBAMAAAAABQICBwcCAwgDCAMCAgQECAgGAAIAAwgDCAEBAAAAAAABAAIBAQgEAwQICAgCAggFBAYCBQQEBAIEBAQBBAQDAwQDBgIBLQEBAQEBAQEBAQcFBwcHBwMAAAMEBQQEBwgIAB0BAAACAwEDAgQBAQMDAgEAAAEFAwIEFwgLAwEIBgAAAAECAgEBAQgCCA4TEwIDBAMDAwMDAwQEAQQBAQgTDg4ECQAFAQEIEwQJAAUBAQECAxMKAQYBAwIIBAQIAwUFLgMKDQECAgEBAAEBAwQDAQMDAQIAAAACAwMIAQMECgIJAQEDBAkCBAQJAQMCAwYGAwECAwQDAQYDAwQGAgECAgEBAgIBHC8wIQEBAgMAAAUBBQMCAwMIAQEAAgMGBAgDAAEDBgIGAQsIBgsIBQMCAAAFAgUDAgQAAAUCBQMCBAAAAgMAAwYDBAMDAQMGBAMBAQIDAgADAAAAAwMCBAICAgIABAMCAgMBAAIBAQICAQIAAgUCBwEJCQExAgMDAgIBCAMFAQADBAMGAwQBBgIGAwMCAgcAAgEFASMCAAUAAAIBAQIAAQAABwEDAQIAAQUFBQUFBQcCBQUBBQMCCgAFBQABCAMCBgACAAIFAwYCAgMDBQIBAQECAQcCAAsCBAEEAgMCBAMCAwMDBAEDAQECAwICAgICAwIDAwgDBQUBAQQEAgECAgMBAAACBAIEAwICAgAGAQoAAAEAAAUFBQUCBQMDAgUDAw0DAgEBAwQAAAEyAQECAgIDAwMBAgIDBAABMxY0NR4WBQQDBTYeFhYPCQkJCQABFhYFBTcJDwoBAgUBBAQGAAUJAAoFBQACAwUJAQIEAAAJAgISAwMBAQEBAQACAQEDAQEPAAEBAwIHBBAQAwQZAQECAwAUFAEBAQQEAwICAwEDAwQEBAMKDAUbBQEHAQECAAMEAwMCEgIBAgIXARYeCg0DOAMCADkGCwcBChwMAiQFAzoDAQkAAgIFAwEBAwYGHQYHAwQIAREMAAQFAXAA2AMFBwEBgAKAgAIGEwN/AUGA298CC38BQQALfwFBAAsH9wc3Bm1lbW9yeQIAEV9fd2FzbV9jYWxsX2N0b3JzAC8KZ2V0X2NhY2VydADUDwZtYWxsb2MAjxAJaW5pdF9jdXJsANUPEGh0dHBfc2V0X29wdGlvbnMA1g8EZnJlZQDVEBNodHRwX3NldF9jb29raWVfamFyANkPDWh0dHBfZ2V0X2luZm8A2g8OY3JlYXRlX3JlcXVlc3QA3Q8PcmVxdWVzdF9jbGVhbnVwAN4PEXJlcXVlc3Rfc2V0X3Byb3h5AN8PDnNlc3Npb25fY3JlYXRlAOAPD3Nlc3Npb25fcGVyZm9ybQDhDxNzZXNzaW9uX3NldF9vcHRpb25zAOIPE3Nlc3Npb25fYWRkX3JlcXVlc3QA4w8Sc2Vzc2lvbl9nZXRfYWN0aXZlAFAWc2Vzc2lvbl9yZW1vdmVfcmVxdWVzdADkDw9zZXNzaW9uX2NsZWFudXAA5Q8QcmVjdl9mcm9tX3NvY2tldADmDw5zZW5kX3RvX3NvY2tldADnDxZ0bHNfc29ja2V0X3NldF9vcHRpb25zAOgPC2dldF92ZXJzaW9uAOkPDWdldF9lcnJvcl9zdHIA6g8TcmVjdl9mcm9tX3dlYnNvY2tldADrDxFzZW5kX3RvX3dlYnNvY2tldADsDw9jbG9zZV93ZWJzb2NrZXQA7Q8Vd2Vic29ja2V0X3NldF9vcHRpb25zAO4PD2dldF9yZXN1bHRfc2l6ZQBQEWdldF9yZXN1bHRfYnVmZmVyAMsCD2dldF9yZXN1bHRfY29kZQBPEWdldF9yZXN1bHRfY2xvc2VkAPIDFWdldF9yZXN1bHRfYnl0ZXNfbGVmdACABBJnZXRfcmVzdWx0X2lzX3RleHQA1wYQX19lcnJub19sb2NhdGlvbgDvDwVudG9ocwCWEBlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQAFaHRvbnMAlhAKc2F2ZVNldGptcADBDwVodG9ubACVEAxfX3N0ZGlvX2V4aXQAgRAFcmFpc2UA2xAIc2V0VGhyZXcA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KAJIIAQQpQEgACgCSBDOBAJ/QQAhBQNAAkAgBCgCFCAFSwR/IAQgBWotABgiAkEBdEEEcSACQQFxciILRQ0BIAQgBUECdGooAgAhDAJ/AkACQCABKAIEIgJBAEgNACACIQYDQCAGQQBMDQEgASgCACIJIAZBAWsiBkEDdGooAgAgDEcNAAsgCSAGQQN0aiICIAIvAQQgC3I7AQQMAQsgASgCCCACTQRAQRsgASgCCEHkAGoiBkEIQbDCFCgCABECACICBH8gAiABKAIAIAEoAghBA3QQsA8hCSABLQAMIgJBAXEEQCABKAIAQaTCFCgCABEAACABLQAMIQILIAEgBjYCCCABIAk2AgAgASACQQFyOgAMQQAFQRsLDQIaIAEoAgQhAgsgASgCACACQQN0aiIGIAs7AQQgBiAMNgIAIAEgAkEBajYCBAtBAAtFDQFBGwVBAAsMAgsgBUEBaiEFDAALAAsiBQRAIAEQjwUMAwUgCCgCDCEIDAELAAsAC0EAIQULIARBIGokACAFIgJFBEAgASgCACABKAIEIApB6AcgCkHoB0gbrBCOBRoLIAEQjwUgAUHgAGokACACRQ0BCwsgABA4CwsLIANBIGokACAAEDggACgCSCIBIAEoAoABEOUCIAcQOSAHQZABaiQAIAAoAkgiAUEANgKQASABQQA2AogBIABByABqEIAGCyAAEMgCIABBADYCTAsLEgAgAEEAQZABELIPQQE6AIwBC0QBAX8jAEEQayIBJAAgACABEM4CAn8DQEEAIAEQzwIiAEUNARogACgCECgCACIARQ0ACyAAKAIECyEAIAFBEGokACAAC3cBAn8CQCABKAIAIgNFDQAgACABEDsiAkUgAiADR3INACABEP4DIAEgASgC2ARB/////35xNgLYBCADKAIMQQEgABtFBEAgACACQRRqIAIoAhAQxgILIAEgASgC2ARB/////35xNgLYBCAAIAAoAhhBAWs2AhgLCyUAIAEtAIwBIABB/gtqKAEAQRd2QQFxRwRAIAEQOSAAIAEQRgsL3QMBA38jAEEQayIFJAAgBUEAOgAPAkBBACACKAKABSADGw0AIAIgAigC2ARB////b3FBgICAEEEAIAItANkFQQBHIANyIgMbcjYC2AQCQAJAIAMEQCAFQQE6AA8MAQsgASACENMEIAEgAiAFQQ9qED8g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