UNPKG

@ofjansen/pcre2-wasm

Version:

PCRE2 (Perl Compatible Regular Expressions 2) compiled to WebAssembly for use in the browser

724 lines (605 loc) 398 kB
var libpcre2 = (function() { var _scriptDir = import.meta.url; return ( function(libpcre2) { libpcre2 = libpcre2 || {}; var Module = typeof libpcre2 !== "undefined" ? libpcre2 : {}; !function() { Module.loaded = new Promise(resolve => { Module.onRuntimeInitialized = resolve; }); }(); 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 = true; var ENVIRONMENT_IS_WORKER = false; if (Module["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 scriptDirectory = ""; function locateFile(path) { if (Module["locateFile"]) { return Module["locateFile"](path, scriptDirectory); } return scriptDirectory + path; } var read_, readAsync, readBinary, setWindowTitle; if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { scriptDirectory = self.location.href; } else if (document.currentScript) { scriptDirectory = document.currentScript.src; } if (_scriptDir) { scriptDirectory = _scriptDir; } if (scriptDirectory.indexOf("blob:") !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1); } else { scriptDirectory = ""; } if (!(typeof window === "object" || typeof importScripts === "function")) 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?)"); { read_ = function shell_read(url) { try { var xhr = new XMLHttpRequest(); xhr.open("GET", url, false); xhr.send(null); return xhr.responseText; } catch (err) { var data = tryParseAsDataURI(url); if (data) { return intArrayToString(data); } throw err; } }; if (ENVIRONMENT_IS_WORKER) { readBinary = function readBinary(url) { try { var xhr = new XMLHttpRequest(); xhr.open("GET", url, false); xhr.responseType = "arraybuffer"; xhr.send(null); return new Uint8Array(xhr.response); } catch (err) { var data = tryParseAsDataURI(url); if (data) { return data; } throw err; } }; } 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; } var data = tryParseAsDataURI(url); if (data) { onload(data.buffer); return; } onerror(); }; xhr.onerror = onerror; xhr.send(null); }; } setWindowTitle = function(title) { document.title = title; }; } else { throw new Error("environment detection error"); } 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 (!Object.getOwnPropertyDescriptor(Module, "arguments")) Object.defineProperty(Module, "arguments", { configurable: true, get: function() { abort("Module.arguments has been replaced with plain arguments_"); } }); if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; if (!Object.getOwnPropertyDescriptor(Module, "thisProgram")) Object.defineProperty(Module, "thisProgram", { configurable: true, get: function() { abort("Module.thisProgram has been replaced with plain thisProgram"); } }); if (Module["quit"]) quit_ = Module["quit"]; if (!Object.getOwnPropertyDescriptor(Module, "quit")) Object.defineProperty(Module, "quit", { configurable: true, get: function() { abort("Module.quit has been replaced with plain quit_"); } }); assert(typeof Module["memoryInitializerPrefixURL"] === "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); assert(typeof Module["pthreadMainPrefixURL"] === "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); assert(typeof Module["cdInitializerPrefixURL"] === "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); assert(typeof Module["filePackagePrefixURL"] === "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); assert(typeof Module["read"] === "undefined", "Module.read option was removed (modify read_ in JS)"); assert(typeof Module["readAsync"] === "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); assert(typeof Module["readBinary"] === "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); assert(typeof Module["setWindowTitle"] === "undefined", "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); if (!Object.getOwnPropertyDescriptor(Module, "read")) Object.defineProperty(Module, "read", { configurable: true, get: function() { abort("Module.read has been replaced with plain read_"); } }); if (!Object.getOwnPropertyDescriptor(Module, "readAsync")) Object.defineProperty(Module, "readAsync", { configurable: true, get: function() { abort("Module.readAsync has been replaced with plain readAsync"); } }); if (!Object.getOwnPropertyDescriptor(Module, "readBinary")) Object.defineProperty(Module, "readBinary", { configurable: true, get: function() { abort("Module.readBinary has been replaced with plain readBinary"); } }); stackSave = stackRestore = stackAlloc = function() { abort("cannot use the stack before compiled code is ready to run, and has provided stack access"); }; function warnOnce(text) { if (!warnOnce.shown) warnOnce.shown = {}; if (!warnOnce.shown[text]) { warnOnce.shown[text] = 1; err(text); } } var asm2wasmImports = { "f64-rem": function(x, y) { return x % y; }, "debugger": function() { debugger; } }; var functionPointers = new Array(0); var wasmBinary; if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; if (!Object.getOwnPropertyDescriptor(Module, "wasmBinary")) Object.defineProperty(Module, "wasmBinary", { configurable: true, get: function() { abort("Module.wasmBinary has been replaced with plain wasmBinary"); } }); var noExitRuntime; if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; if (!Object.getOwnPropertyDescriptor(Module, "noExitRuntime")) Object.defineProperty(Module, "noExitRuntime", { configurable: true, get: function() { abort("Module.noExitRuntime has been replaced with plain noExitRuntime"); } }); if (typeof WebAssembly !== "object") { abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead."); } var wasmMemory; var wasmTable = new WebAssembly.Table({ "initial": 4, "maximum": 4, "element": "anyfunc" }); var ABORT = false; var EXITSTATUS = 0; function assert(condition, text) { if (!condition) { abort("Assertion failed: " + text); } } function getCFunc(ident) { var func = Module["_" + ident]; assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); return func; } function ccall(ident, returnType, argTypes, args, opts) { var toC = { "string": function(str) { var ret = 0; if (str !== null && str !== undefined && str !== 0) { var len = (str.length << 2) + 1; ret = stackAlloc(len); stringToUTF8(str, ret, len); } return ret; }, "array": function(arr) { var ret = stackAlloc(arr.length); writeArrayToMemory(arr, ret); return ret; } }; function convertReturnValue(ret) { if (returnType === "string") return UTF8ToString(ret); if (returnType === "boolean") return Boolean(ret); return ret; } var func = getCFunc(ident); var cArgs = []; var stack = 0; assert(returnType !== "array", 'Return type should not be "array".'); if (args) { for (var i = 0; i < args.length; i++) { var converter = toC[argTypes[i]]; if (converter) { if (stack === 0) stack = stackSave(); cArgs[i] = converter(args[i]); } else { cArgs[i] = args[i]; } } } var ret = func.apply(null, cArgs); ret = convertReturnValue(ret); if (stack !== 0) stackRestore(stack); return ret; } function cwrap(ident, returnType, argTypes, opts) { return function() { return ccall(ident, returnType, argTypes, arguments, opts); }; } 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 < endPtr) { var u0 = u8Array[idx++]; if (!(u0 & 128)) { str += String.fromCharCode(u0); continue; } var u1 = u8Array[idx++] & 63; if ((u0 & 224) == 192) { str += String.fromCharCode((u0 & 31) << 6 | u1); continue; } var u2 = u8Array[idx++] & 63; if ((u0 & 240) == 224) { u0 = (u0 & 15) << 12 | u1 << 6 | u2; } else { if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte 0x" + u0.toString(16) + " encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!"); u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63; } if (u0 < 65536) { str += String.fromCharCode(u0); } else { var ch = u0 - 65536; str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); } } } return str; } function UTF8ToString(ptr, maxBytesToRead) { return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; } function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { if (!(maxBytesToWrite > 0)) return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; for (var i = 0; i < str.length; ++i) { var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) { var u1 = str.charCodeAt(++i); u = 65536 + ((u & 1023) << 10) | u1 & 1023; } if (u <= 127) { if (outIdx >= endIdx) break; outU8Array[outIdx++] = u; } else if (u <= 2047) { if (outIdx + 1 >= endIdx) break; outU8Array[outIdx++] = 192 | u >> 6; outU8Array[outIdx++] = 128 | u & 63; } else if (u <= 65535) { if (outIdx + 2 >= endIdx) break; outU8Array[outIdx++] = 224 | u >> 12; outU8Array[outIdx++] = 128 | u >> 6 & 63; outU8Array[outIdx++] = 128 | u & 63; } else { if (outIdx + 3 >= endIdx) break; if (u >= 2097152) warnOnce("Invalid Unicode code point 0x" + u.toString(16) + " encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF)."); outU8Array[outIdx++] = 240 | u >> 18; outU8Array[outIdx++] = 128 | u >> 12 & 63; outU8Array[outIdx++] = 128 | u >> 6 & 63; outU8Array[outIdx++] = 128 | u & 63; } } outU8Array[outIdx] = 0; return outIdx - startIdx; } function stringToUTF8(str, outPtr, maxBytesToWrite) { assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); } var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; function writeArrayToMemory(array, buffer) { assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); HEAP8.set(array, buffer); } 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 STACK_BASE = 116560, STACK_MAX = 5359440, DYNAMIC_BASE = 5359440, DYNAMICTOP_PTR = 116368; assert(STACK_BASE % 16 === 0, "stack must start aligned"); assert(DYNAMIC_BASE % 16 === 0, "heap must start aligned"); var TOTAL_STACK = 5242880; if (Module["TOTAL_STACK"]) assert(TOTAL_STACK === Module["TOTAL_STACK"], "the stack size can no longer be determined at runtime"); var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216; if (!Object.getOwnPropertyDescriptor(Module, "TOTAL_MEMORY")) Object.defineProperty(Module, "TOTAL_MEMORY", { configurable: true, get: function() { abort("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY"); } }); assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, "TOTAL_MEMORY should be larger than TOTAL_STACK, was " + INITIAL_TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); assert(typeof Int32Array !== "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, "JS engine does not provide full typed array support"); 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; assert(INITIAL_TOTAL_MEMORY % WASM_PAGE_SIZE === 0); updateGlobalBufferAndViews(buffer); HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; function writeStackCookie() { assert((STACK_MAX & 3) == 0); HEAPU32[(STACK_MAX >> 2) - 1] = 34821223; HEAPU32[(STACK_MAX >> 2) - 2] = 2310721022; HEAP32[0] = 1668509029; } function checkStackCookie() { var cookie1 = HEAPU32[(STACK_MAX >> 2) - 1]; var cookie2 = HEAPU32[(STACK_MAX >> 2) - 2]; if (cookie1 != 34821223 || cookie2 != 2310721022) { abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x" + cookie2.toString(16) + " " + cookie1.toString(16)); } if (HEAP32[0] !== 1668509029) abort("Runtime error: The application has corrupted its heap memory area (address zero)!"); } function abortStackOverflow(allocSize) { abort("Stack overflow! Attempted to allocate " + allocSize + " bytes on the stack, but stack has only " + (STACK_MAX - stackSave() + allocSize) + " bytes available!"); } (function() { var h16 = new Int16Array(1); var h8 = new Int8Array(h16.buffer); h16[0] = 25459; if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian!"; })(); function abortFnPtrError(ptr, sig) { var possibleSig = ""; for (var x in debug_tables) { var tbl = debug_tables[x]; if (tbl[ptr]) { possibleSig += 'as sig "' + x + '" pointing to function ' + tbl[ptr] + ", "; } } abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). This pointer might make sense in another type signature: " + possibleSig); } 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; var runtimeExited = 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() { checkStackCookie(); assert(!runtimeInitialized); runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); } function preMain() { checkStackCookie(); callRuntimeCallbacks(__ATMAIN__); } function postRun() { checkStackCookie(); 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); } assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); assert(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 runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; var runDependencyTracking = {}; function addRunDependency(id) { runDependencies++; if (Module["monitorRunDependencies"]) { Module["monitorRunDependencies"](runDependencies); } if (id) { assert(!runDependencyTracking[id]); runDependencyTracking[id] = 1; if (runDependencyWatcher === null && typeof setInterval !== "undefined") { runDependencyWatcher = setInterval(function() { if (ABORT) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; return; } var shown = false; for (var dep in runDependencyTracking) { if (!shown) { shown = true; err("still waiting on run dependencies:"); } err("dependency: " + dep); } if (shown) { err("(end of list)"); } }, 1e4); } } else { err("warning: run dependency added without ID"); } } function removeRunDependency(id) { runDependencies--; if (Module["monitorRunDependencies"]) { Module["monitorRunDependencies"](runDependencies); } if (id) { assert(runDependencyTracking[id]); delete runDependencyTracking[id]; } else { err("warning: run dependency removed without ID"); } 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; var output = "abort(" + what + ") at " + stackTrace(); what = output; // throw new WebAssembly.RuntimeError(what); } var FS = { error: function() { abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1"); }, init: function() { FS.error(); }, createDataFile: function() { FS.error(); }, createPreloadedFile: function() { FS.error(); }, createLazyFile: function() { FS.error(); }, open: function() { FS.error(); }, mkdev: function() { FS.error(); }, registerDevice: function() { FS.error(); }, analyzePath: function() { FS.error(); }, loadFilesFromDB: function() { FS.error(); }, ErrnoError: function ErrnoError() { FS.error(); } }; Module["FS_createDataFile"] = FS.createDataFile; Module["FS_createPreloadedFile"] = FS.createPreloadedFile; var dataURIPrefix = "data:application/octet-stream;base64,"; function isDataURI(filename) { return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0; } var wasmBinaryFile = "data:application/octet-stream;base64,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AQsLIA8kASAADwsgDyQBIAEL8wUBAX8gACAAKAIMIgIgAUGABGpqLAAAIAAsABRyOgAUIAAgAUGBBGogAmosAAAgACwAFXI6ABUgACABQYIEaiACaiwAACAALAAWcjoAFiAAIAFBgwRqIAJqLAAAIAAsABdyOgAXIAAgAUGEBGogAmosAAAgACwAGHI6ABggACABQYUEaiACaiwAACAALAAZcjoAGSAAIAIgAUGGBGpqLAAAIAAsABpyOgAaIAAgAiABQYcEamosAAAgACwAG3I6ABsgACACIAFBiARqaiwAACAALAAccjoAHCAAIAIgAUGJBGpqLAAAIAAsAB1yOgAdIAAgAiABQYoEamosAAAgACwAHnI6AB4gACACIAFBiwRqaiwAACAALAAfcjoAHyAAIAIgAUGMBGpqLAAAIAAsACByOgAgIAAgAiABQY0EamosAAAgACwAIXI6ACEgACACIAFBjgRqaiwAACAALAAicjoAIiAAIAAoAgwiAiABQY8EamosAAAgACwAI3I6ACMgACABQZAEaiACaiwAACAALAAkcjoAJCAAIAFBkQRqIAJqLAAAIAAsACVyOgAlIAAgAUGSBGogAmosAAAgACwAJnI6ACYgACABQZMEaiACaiwAACAALAAncjoAJyAAIAFBlARqIAJqLAAAIAAsAChyOgAoIAAgAUGVBGogAmosAAAgACwAKXI6ACkgACABQZYEaiACaiwAACAALAAqcjoAKiAAIAFBlwRqIAJqLAAAIAAsACtyOgArIAAgAUGYBGogAmosAAAgACwALHI6ACwgACABQZkEaiACaiwAACAALAAtcjoALSAAIAFBmgRqIAJqLAAAIAAsAC5yOgAuIAAgAUGbBGogAmosAAAgACwAL3I6AC8gACABQZwEaiACaiwAACAALAAwcjoAMCAAIAFBnQRqIAJqLAAAIAAsADFyOgAxIAAgACgCDCICIAFBngRqaiwAACAALAAycjoAMiAAIAIgAUGfBGpqLAAAIAAsADNyOgAzC9MGAQF/IAAgACwAFCAAKAIMIgIgAUGABGpqLAAAQX9zcjoAFCAAIAAsABUgAUGBBGogAmosAABBf3NyOgAVIAAgACwAFiABQYIEaiACaiwAAEF/c3I6ABYgACAALAAXIAFBgwRqIAJqLAAAQX9zcjoAFyAAIAAsABggAUGE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BgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAQIGBgYGBgYGAAAABgAGBgYGBgYEBgYGBgQBAQEBAQEGBgYFBgUGBQYFBgUGBgYGAwYLA0AgAC8BAkEBdCAAaiIALgEAIgFB+ABGDQALIAFB//8DcUGwywBqLQAAQQF0IABqIQAMBgsgAUH//wNxQbDLAGotAABBAXQgAGohAAwFCyAALwEGQQF0IABqIQAMBAsgAC8BBEEDakEBdCAAaiEADAMLIAAuAQRBlAFHDQEgAC8BAiIBQQF0IABqLgEAQfkARw0BIAFBAmpBAXQgAGohAAwCCyAALwECIAFB//8DcUGwywBqLQAAakEBdCAAaiEADAELCyAAC5gCAQR/IAAgAmohBCABQf8BcSEDIAJBwwBOBEADQCAAQQNxBEAgACADOgAAIABBAWohAAwBCwsgA0EIdCADciADQRB0ciADQRh0ciEBIARBfHEiBUFAaiEGA0AgACAGTARAIAAgATYCACAAIAE2AgQgACABNgIIIAAgATYCDCAAIAE2AhAgACABNgIUIAAgATYCGCAAIAE2AhwgACABNgIgIAAgATYCJCAAIAE2AiggACABNgIsIAAgATYCMCAAIAE2AjQgACABNgI4IAAgATYCPCAAQUBrIQAMAQsLA0AgACAFSARAIAAgATYCACAAQQRqIQAMAQsLCwNAIAAgBEgEQCAAIAM6AAAgAEEBaiEADAELCyAEIAJrC+sKAQR/IAFBAEchBiACQQBIBEAgACEBA0ACQCABLgEAIgVB//8DcSEEAkACQAJAAkACQAJAAkACQAJAAkAgBQ6iAQEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgFBQUFBQUGBgYFBQUGCAgICAgICAgICAgICAgCCAgICAgIAwgICAgIAAgICAgICAgICAgEBAgICAQECAgICAgICAgICAcIBwgHCAcIBwgLQSkhBAwJC0EqIQQMCAsgAS8BAkEBdCABaiEBDAYLIAEvAQZBAXQgAWohAQwFCyACIAEvAQRGBEAgASEDQSohBAwGCyAEQbDLAGotAABBAXQgAWohAQwECyABQQRqIAEgAS4BAkFxakEQdEEQdUH//wNxQQJIGyEBDAILIAFBBGoiBSABIAUuAQBBcWpBEHRBEHVB//8DcUECSBshAQwBCyABLwECQQF0IAFqIQELIARBsMsAai0AAEEBdCABaiEBIAYgBEFjakE4SXEEQCABQQJqIAEgAUF+ai4BAEGA+ANxQYCwA0YbIQELCwwBCwsgBEEpRgRAIAEPBSAEQSpGBEAgAw8LCwsgBkUEQANAAkAgAC4BACIDQf//A3EhAQJ/AkACQAJAAkACQAJAAkACQAJAIAMOogEACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQUFBQUFBgYGBQUFBggICAgICAgICAgICAgIAQgICAgICAIICAgICAMICAgICAgICAgIBAQICAgEBAgICAgICAgICAgHCAcIBwgHCAcIC0EAIQMMCQsgAC8BAkEBdCAAagwHCyAALwEGQQF0IABqDAYLIAFBsMsAai0AAEEBdCAAagwFCyACIAAvAQRGBEAgACEDDAYLIAFBsMsAai0AAEEBdCAAagwECyAAQQRqIAAgAC4BAkFxakEQdEEQdUH//wNxQQJIGyEADAILIABBBGoiAyAAIAMuAQBBcWpBEHRBEHVB//8DcUECSBshAAwBCyAALwECQQF0IABqIQALIAFBsMsAai0AAEEBdCAAagshAAwBCwsgAw8LA0ACQCAALgEAIgNB//8DcSEBAkACQAJAAkACQAJAAkACQAJAAkACQCADDqIBAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQYGBgUFBQYICAgICAgICAgICAgICAEICAgICAgCCAgICAgDCAgICAgICAgICAQECAgIBAQICAgICAgICAgIBwgHCAcIBwgHCAtBACEDDAoLIAAvAQJBAXQgAGohAAwICyAALwEGQQF0IABqIQAMBwsgAUGwywBqLQAAQQF0IABq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DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA