UNPKG

superfalcon

Version:

Falcon and Ed25519 paired together as a single signing scheme

1 lines 1.23 MB
var superFalcon;(function(){var __webpack_modules__=[function(module,__unused_webpack_exports,__webpack_require__){var isNode=!1;try{isNode="node"===eval("global").process.release.name}catch(A){}var falcon=__webpack_require__(1),fastSHA512=__webpack_require__(2),sodium=__webpack_require__(5),sodiumUtil=__webpack_require__(4),nodeCrypto,Buffer;function hashWithAdditionalData(A,I,g){var C="string"==typeof I,B="string"==typeof A;return Promise.resolve().then((function(){if(A=sodiumUtil.from_string(A),g&&A.length!==fastSHA512.bytes)throw new Error("Invalid pre-hashed message.");return Promise.all([fastSHA512.baseHash(I?sodiumUtil.from_string(I):new Uint8Array(0),C),g?A:fastSHA512.baseHash(A,B)])})).then((function(A){var I=A[0],C=A[1],i=new Uint8Array(I.length+fastSHA512.bytes);return i.set(I),i.set(C,I.length),sodiumUtil.memzero(I),!B&&g||sodiumUtil.memzero(C),fastSHA512.baseHash(i,!0)}))}function deriveEncryptionKey(A,I){return isNode?new Promise((function(g,C){nodeCrypto.pbkdf2(Buffer.from(A),Buffer.from(I),aes.keyDerivation.iterations,aes.keyBytes,aes.keyDerivation.hashFunction,(function(A,I){A?C(A):g(I)}))})):Promise.resolve().then((function(){return crypto.subtle.importKey("raw",sodiumUtil.from_string(A),{name:aes.keyDerivation.algorithm},!1,["deriveKey"])})).then((function(A){return crypto.subtle.deriveKey({name:aes.keyDerivation.algorithm,salt:I,iterations:aes.keyDerivation.iterations,hash:{name:aes.keyDerivation.hashFunction}},A,{name:aes.algorithm,length:aes.keyBits},!1,["encrypt","decrypt"])}))}function encrypt(A,I){var g=Promise.resolve().then((function(){var A=isNode?nodeCrypto.randomBytes(aes.ivBytes):crypto.getRandomValues(new Uint8Array(aes.ivBytes)),g=isNode?nodeCrypto.randomBytes(aes.keyDerivation.saltBytes):crypto.getRandomValues(new Uint8Array(aes.keyDerivation.saltBytes));return Promise.all([A,g,deriveEncryptionKey(I,g)])})).then((function(A){return{iv:A[0],salt:A[1],key:A[2]}}));return isNode?g.then((function(I){var g=nodeCrypto.createCipheriv(aes.algorithm,I.key,I.iv),C=g.update(Buffer.from(A)),B=g.final(),i=g.getAuthTag(),r=new Uint8Array(Buffer.concat([I.iv,I.salt,C,B,i]));return sodiumUtil.memzero(I.iv),sodiumUtil.memzero(I.salt),sodiumUtil.memzero(I.key),sodiumUtil.memzero(C),sodiumUtil.memzero(B),sodiumUtil.memzero(i),r})):g.then((function(I){return Promise.all([I,crypto.subtle.encrypt({name:aes.algorithm,iv:I.iv,tagLength:aes.tagBits},I.key,A)])})).then((function(A){var I=A[0],g=new Uint8Array(A[1]),C=new Uint8Array(aes.ivBytes+aes.keyDerivation.saltBytes+g.length);return C.set(I.iv),C.set(I.salt,aes.ivBytes),C.set(g,aes.ivBytes+aes.keyDerivation.saltBytes),sodiumUtil.memzero(I.iv),sodiumUtil.memzero(I.salt),sodiumUtil.memzero(I.key),sodiumUtil.memzero(g),C}))}function decrypt(A,I){return Promise.resolve().then((function(){var g=new Uint8Array(A.buffer,A.byteOffset,aes.ivBytes),C=new Uint8Array(A.buffer,A.byteOffset+aes.ivBytes,aes.keyDerivation.saltBytes);return Promise.all([g,deriveEncryptionKey(I,C)])})).then((function(I){var g,C=I[0],B=I[1];if(isNode){var i=new Uint8Array(A.buffer,A.byteOffset+aes.ivBytes+aes.keyDerivation.saltBytes,A.length-aes.ivBytes-aes.keyDerivation.saltBytes-aes.tagBytes),r=new Uint8Array(A.buffer,A.byteOffset+A.length-aes.tagBytes,aes.tagBytes),a=nodeCrypto.createDecipheriv(aes.algorithm,Buffer.from(B),Buffer.from(C));a.setAuthTag(Buffer.from(r));var t=a.update(Buffer.from(i)),Q=a.final();g=Buffer.concat([t,Q]),sodiumUtil.memzero(t),sodiumUtil.memzero(Q)}else{i=new Uint8Array(A.buffer,A.byteOffset+aes.ivBytes+aes.keyDerivation.saltBytes,A.length-aes.ivBytes-aes.keyDerivation.saltBytes);g=crypto.subtle.decrypt({name:aes.algorithm,iv:C,tagLength:aes.tagBits},B,i)}return Promise.all([B,g])})).then((function(A){var I=A[0],g=A[1];return sodiumUtil.memzero(I),new Uint8Array(g)}))}isNode&&(nodeCrypto=eval("require")("crypto"),Buffer=eval("global.Buffer"));var aes={algorithm:isNode?"aes-256-gcm":"AES-GCM",ivBytes:12,keyBytes:32,keyBits:256,tagBytes:16,tagBits:128,keyDerivation:{algorithm:"PBKDF2",hashFunction:isNode?"sha512":"SHA-512",iterations:1e6,saltBytes:32}},publicKeyBytes,privateKeyBytes,bytes,falconBytes,initiated=Promise.all([falcon.publicKeyBytes,falcon.privateKeyBytes,falcon.bytes,sodium.ready]).then((function(A){falconBytes={publicKeyBytes:A[0],privateKeyBytes:A[1],bytes:A[2]},publicKeyBytes=sodium.crypto_sign_PUBLICKEYBYTES+falconBytes.publicKeyBytes,privateKeyBytes=sodium.crypto_sign_SECRETKEYBYTES+falconBytes.privateKeyBytes,bytes=sodium.crypto_sign_BYTES+falconBytes.bytes})),superFalcon={_sodiumUtil:sodiumUtil,publicKeyBytes:initiated.then((function(){return publicKeyBytes})),privateKeyBytes:initiated.then((function(){return privateKeyBytes})),bytes:initiated.then((function(){return bytes})),hashBytes:Promise.resolve(fastSHA512.bytes),hash:function(A,I){return fastSHA512.hash(A,I)},keyPair:function(){return initiated.then((function(){return Promise.all([sodium.crypto_sign_keypair(),falcon.keyPair()]).then((function(A){var I=A[0],g=A[1],C={keyType:"superfalcon",publicKey:new Uint8Array(publicKeyBytes),privateKey:new Uint8Array(privateKeyBytes)};return C.publicKey.set(I.publicKey),C.privateKey.set(I.privateKey),C.publicKey.set(g.publicKey,sodium.crypto_sign_PUBLICKEYBYTES),C.privateKey.set(g.privateKey,sodium.crypto_sign_SECRETKEYBYTES),sodiumUtil.memzero(g.privateKey),sodiumUtil.memzero(I.privateKey),sodiumUtil.memzero(g.publicKey),sodiumUtil.memzero(I.publicKey),C}))}))},sign:function(A,I,g){return initiated.then((function(){var C="string"==typeof A;return superFalcon.signDetached(A,I,g).then((function(I){A=sodiumUtil.from_string(A);var g=new Uint8Array(bytes+A.length);return g.set(I),g.set(A,bytes),C&&sodiumUtil.memzero(A),sodiumUtil.memzero(I),g})).catch((function(I){throw C&&sodiumUtil.memzero(A),I}))}))},signBase64:function(A,I,g){return initiated.then((function(){return superFalcon.sign(A,I,g).then((function(A){var I=sodiumUtil.to_base64(A);return sodiumUtil.memzero(A),I}))}))},signDetached:function(A,I,g,C){return initiated.then((function(){return hashWithAdditionalData(A,g,C).then((function(A){return Promise.all([A,sodium.crypto_sign_detached(A,new Uint8Array(I.buffer,I.byteOffset,sodium.crypto_sign_SECRETKEYBYTES)),falcon.signDetached(A,new Uint8Array(I.buffer,I.byteOffset+sodium.crypto_sign_SECRETKEYBYTES,falconBytes.privateKeyBytes))])})).then((function(A){var I=A[0],g=A[1],C=A[2],B=new Uint8Array(bytes);return B.set(g),B.set(C,sodium.crypto_sign_BYTES),sodiumUtil.memzero(I),sodiumUtil.memzero(C),sodiumUtil.memzero(g),B}))}))},signDetachedBase64:function(A,I,g,C){return initiated.then((function(){return superFalcon.signDetached(A,I,g,C).then((function(A){var I=sodiumUtil.to_base64(A);return sodiumUtil.memzero(A),I}))}))},open:function(A,I,g,C,B){return initiated.then((function(){var i="string"==typeof A;return Promise.resolve().then((function(){A=sodiumUtil.from_base64(A);var i=new Uint8Array(A.buffer,A.byteOffset,bytes),r=new Uint8Array(A.buffer,A.byteOffset+bytes,A.length-bytes);return Promise.all([r,superFalcon.verifyDetached(i,r,I,g,C,B)])})).then((function(I){var g=new Uint8Array(I[0]),C=B?I[1].hash:void 0,r=B?I[1].valid:I[1];if(i&&sodiumUtil.memzero(A),r)return B?{hash:C,message:g}:g;throw new Error("Failed to open SuperFalcon signed message.")})).catch((function(I){throw i&&sodiumUtil.memzero(A),I}))}))},openString:function(A,I,g,C,B){return initiated.then((function(){return superFalcon.open(A,I,g,C,B).then((function(A){var I=void 0;B&&(I=sodiumUtil.to_hex(A.hash),sodiumUtil.memzero(A.hash),A=A.message);var g=sodiumUtil.to_string(A);return sodiumUtil.memzero(A),B?{hash:I,message:g}:g}))}))},verifyDetached:function(A,I,g,C,B,i){return initiated.then((function(){var r="string"==typeof A;return hashWithAdditionalData(I,C).then((function(I){A=sodiumUtil.from_base64(A);var C=!1;"string"==typeof B&&B.length>0&&(B=sodiumUtil.from_hex(B),C=!0);var i=B instanceof Uint8Array&&B.length>0&&sodiumUtil.memcmp(I,B);C&&sodiumUtil.memzero(B);var r=i?void 0:g instanceof Uint8Array?Promise.resolve(g):superFalcon.importKeys(g).then((function(A){return A.publicKey}));return Promise.all([I,i||r.then((function(g){return sodium.crypto_sign_verify_detached(new Uint8Array(A.buffer,A.byteOffset,sodium.crypto_sign_BYTES),I,new Uint8Array(g.buffer,g.byteOffset,sodium.crypto_sign_PUBLICKEYBYTES))})),i||r.then((function(g){return falcon.verifyDetached(new Uint8Array(A.buffer,A.byteOffset+sodium.crypto_sign_BYTES,falconBytes.bytes),I,new Uint8Array(g.buffer,g.byteOffset+sodium.crypto_sign_PUBLICKEYBYTES,falconBytes.publicKeyBytes))}))])})).then((function(I){var g=I[0],C=I[1],B=I[2],a=C&&B;return r&&sodiumUtil.memzero(A),i?{hash:g,valid:a}:(sodiumUtil.memzero(g),a)})).catch((function(I){throw r&&sodiumUtil.memzero(A),I}))}))},exportKeys:function(A,I){return initiated.then((function(){if(!A.privateKey)return null;var g=new Uint8Array(sodium.crypto_sign_PUBLICKEYBYTES+sodium.crypto_sign_SECRETKEYBYTES),C=new Uint8Array(falconBytes.publicKeyBytes+falconBytes.privateKeyBytes),B=new Uint8Array(publicKeyBytes+privateKeyBytes);return g.set(new Uint8Array(A.publicKey.buffer,A.publicKey.byteOffset,sodium.crypto_sign_PUBLICKEYBYTES)),g.set(new Uint8Array(A.privateKey.buffer,A.privateKey.byteOffset,sodium.crypto_sign_SECRETKEYBYTES),sodium.crypto_sign_PUBLICKEYBYTES),C.set(new Uint8Array(A.publicKey.buffer,A.publicKey.byteOffset+sodium.crypto_sign_PUBLICKEYBYTES,falconBytes.publicKeyBytes)),C.set(new Uint8Array(A.privateKey.buffer,A.privateKey.byteOffset+sodium.crypto_sign_SECRETKEYBYTES,falconBytes.privateKeyBytes),falconBytes.publicKeyBytes),B.set(A.publicKey),B.set(A.privateKey,publicKeyBytes),null!=I&&I.length>0?Promise.all([encrypt(g,I),encrypt(C,I),encrypt(B,I)]).then((function(A){return sodiumUtil.memzero(B),sodiumUtil.memzero(C),sodiumUtil.memzero(g),A})):[g,C,B]})).then((function(A){if(!A)return{classical:null,combined:null,postQuantum:null};var I=A[0],g=A[1],C=A[2],B={classical:sodiumUtil.to_base64(I),combined:sodiumUtil.to_base64(C),postQuantum:sodiumUtil.to_base64(g)};return sodiumUtil.memzero(C),sodiumUtil.memzero(g),sodiumUtil.memzero(I),B})).then((function(I){return{private:I,public:{classical:sodiumUtil.to_base64(new Uint8Array(A.publicKey.buffer,A.publicKey.byteOffset,sodium.crypto_sign_PUBLICKEYBYTES)),combined:sodiumUtil.to_base64(A.publicKey),postQuantum:sodiumUtil.to_base64(new Uint8Array(A.publicKey.buffer,A.publicKey.byteOffset+sodium.crypto_sign_PUBLICKEYBYTES,falconBytes.publicKeyBytes))}}}))},importKeys:function(A,I){return initiated.then((function(){if(A.private&&"string"==typeof A.private.combined){var g=sodiumUtil.from_base64(A.private.combined);return null!=I&&I.length>0?Promise.all([decrypt(g,I)]):[g]}if(A.private&&"string"==typeof A.private.classical&&"string"==typeof A.private.postQuantum){var C=sodiumUtil.from_base64(A.private.classical),B=sodiumUtil.from_base64(A.private.postQuantum);return null==I||I.length<1?[C,B]:Promise.all([decrypt(C,"string"==typeof I?I:I.classical),decrypt(B,"string"==typeof I?I:I.postQuantum)])}return null})).then((function(A){var I={publicKey:new Uint8Array(publicKeyBytes),privateKey:null};if(!A)return I;if(I.privateKey=new Uint8Array(privateKeyBytes),1===A.length){var g=A[0];I.publicKey.set(new Uint8Array(g.buffer,g.byteOffset,publicKeyBytes)),I.privateKey.set(new Uint8Array(g.buffer,g.byteOffset+publicKeyBytes,privateKeyBytes))}else{var C=A[0],B=A[1];I.publicKey.set(new Uint8Array(C.buffer,C.byteOffset,sodium.crypto_sign_PUBLICKEYBYTES)),I.publicKey.set(new Uint8Array(B.buffer,B.byteOffset,falconBytes.publicKeyBytes),sodium.crypto_sign_PUBLICKEYBYTES),I.privateKey.set(new Uint8Array(C.buffer,C.byteOffset+sodium.crypto_sign_PUBLICKEYBYTES,sodium.crypto_sign_SECRETKEYBYTES)),I.privateKey.set(new Uint8Array(B.buffer,B.byteOffset+falconBytes.publicKeyBytes,falconBytes.privateKeyBytes),sodium.crypto_sign_SECRETKEYBYTES)}return I})).then((function(I){return I.privateKey||(A.public.combined?I.publicKey.set(sodiumUtil.from_base64(A.public.combined)):A.public.classical&&A.public.postQuantum&&(I.publicKey.set(sodiumUtil.from_base64(A.public.classical)),I.publicKey.set(sodiumUtil.from_base64(A.public.postQuantum),sodium.crypto_sign_PUBLICKEYBYTES))),I}))}};superFalcon.superFalcon=superFalcon,module.exports=superFalcon},function(module){var __dirname="/",falcon=function(){var A,I,g,B={};function Q(A,I){if(0===A)return I;throw new Error("Falcon error: "+A)}function C(A,I){return new Uint8Array(new Uint8Array(B.HEAPU8.buffer,A,I))}function E(A){try{B._free(A)}catch(A){setTimeout((function(){throw A}),0)}}B.ready=new Promise((function(A,I){function g(A){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},g(A)}(E={}).onAbort=I,E.onRuntimeInitialized=function(){try{E._falconjs_public_key_bytes(),A(E)}catch(A){I(A)}};var B,Q,C,E=void 0!==E?E:{},i=Object.assign({},E),f=[],D=function(A,I){throw I},o="object"==("undefined"==typeof window?"undefined":g(window)),n="function"==typeof importScripts,r="object"==("undefined"==typeof process?"undefined":g(process))&&"object"==g(process.versions)&&"string"==typeof process.versions.node,a="";if(r){var w,e;a=n?eval("require")("path").dirname(a)+"/":__dirname+"/";var F=function(){e||(w=eval("require")("fs"),e=eval("require")("path"))};B=function(A,I){var g=m(A);return g?I?g:g.toString():(F(),A=e.normalize(A),w.readFileSync(A,I?void 0:"utf8"))},C=function(A){var I=B(A,!0);return I.buffer||(I=new Uint8Array(I)),I},Q=function(A,I,g){var C=m(A);C&&I(C),F(),A=e.normalize(A),w.readFile(A,(function(A,C){A?g(A):I(C.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),f=process.argv.slice(2),module.exports=E,process.on("uncaughtException",(function(A){if(!(A instanceof l))throw A})),process.on("unhandledRejection",(function(A){throw A})),D=function(A,I){if(d())throw process.exitCode=A,I;var g;(g=I)instanceof l||t("exiting due to exception: "+g),process.exit(A)},E.inspect=function(){return"[Emscripten Module object]"}}else(o||n)&&(n?a=self.location.href:"undefined"!=typeof document&&document.currentScript&&(a=document.currentScript.src),a=0!==a.indexOf("blob:")?a.substr(0,a.replace(/[?#].*/,"").lastIndexOf("/")+1):"",B=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=m(A);if(g)return function(A){for(var I=[],g=0;g<A.length;g++){var C=A[g];C>255&&(X&&P(!1,"Character code "+C+" ("+String.fromCharCode(C)+") at offset "+g+" not in 0x00-0xFF."),C&=255),I.push(String.fromCharCode(C))}return I.join("")}(g);throw I}},n&&(C=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=m(A);if(g)return g;throw I}}),Q=function(A,I,g){var C=new XMLHttpRequest;C.open("GET",A,!0),C.responseType="arraybuffer",C.onload=function(){if(200==C.status||0==C.status&&C.response)I(C.response);else{var B=m(A);B?I(B.buffer):g()}},C.onerror=g,C.send(null)});E.print||console.log.bind(console);var h,t=E.printErr||console.warn.bind(console);Object.assign(E,i),i=null,E.arguments&&(f=E.arguments),E.thisProgram&&E.thisProgram,E.quit&&(D=E.quit),E.wasmBinary&&(h=E.wasmBinary);var c,y=E.noExitRuntime||!0;"object"!=("undefined"==typeof WebAssembly?"undefined":g(WebAssembly))&&M("no native wasm support detected");var s=!1;function P(A,I){A||M(I)}var S,G,U,R,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function H(A,I){return A?function(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.buffer&&k)return k.decode(A.subarray(I,B));for(var i="";I<B;){var r=A[I++];if(128&r){var a=63&A[I++];if(192!=(224&r)){var t=63&A[I++];if((r=224==(240&r)?(15&r)<<12|a<<6|t:(7&r)<<18|a<<12|t<<6|63&A[I++])<65536)i+=String.fromCharCode(r);else{var Q=r-65536;i+=String.fromCharCode(55296|Q>>10,56320|1023&Q)}}else i+=String.fromCharCode((31&r)<<6|a)}else i+=String.fromCharCode(r)}return i}(G,A,I):""}E.INITIAL_MEMORY;var N=[],u=[],J=[];function d(){return y}var Y=0,v=null,L=null;function M(A){throw E.onAbort&&E.onAbort(A),t(A="Aborted("+A+")"),s=!0,A+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(A)}var j,x,b="data:application/octet-stream;base64,";function q(A){return A.startsWith(b)}function z(A){return A.startsWith("file://")}function T(A){try{if(A==j&&h)return new Uint8Array(h);var I=m(A);if(I)return I;if(C)return C(A);throw"both async and sync fetching of the wasm failed"}catch(A){M(A)}}q(j="data:application/octet-stream;base64,AGFzbQEAAAABiwEUYAF/AGADf39/AGACf38AYAR/f39/AX9gAX8Bf2AEf39/fwBgAX4BfmADf39/AX9gAn5+AX5gBn9/f39/fwBgAn9/AX9gBX9/f39/AGAAAX9gAn9+AGAAAGACfn4Bf2AIf39/f39/f38AYAN/fn4Bf2ALf39/f39/f39/f38AYAl/f39/f35+fn4AAh8FAWEBYQAHAWEBYgAEAWEBYwABAWEBZAAAAWEBZQAFAz8+CAgGCAcCCQcGCQEJAgQGAQEPAAEKAAsLAAUBDQACAAMDABAABAYFAQ0OAAQKERIDEwsCBQACAQMDCgwMDA4EBQFwAQEBBQYBAYACgAIGCQF/AUGw+4EECwcxDAFmAgABZwAuAWgBAAFpADABagAvAWsAQgFsAEEBbQBAAW4APwFvAD4BcAA9AXEAPArP2gM+qQICBH4EfyAAIAGFQoCAgICAgICAgH+DIAFCGYhC////P4NCgICAwACEIgIgAEIZiEL///8/g0KAgIDAAIQiA34gAiAAQv///w+DIgR+IgJCGYinIAMgAUL///8PgyIFfiIDQhmIp2ogBCAFfiIEQhmIpyADp0H///8PcWogAqdB////D3FqIgZBGXZqrXwiAkI3iCIDpyAAQjSIp0H/D3EiByABQjSIp0H/D3EiCGpqQYAIayIJQR92rUIBfUIAIAhB/w9qIAdB/w9qcUELdq19g0IAIAN9IAIgBiAEp3JB////D3FB////D2pBGXathCIAQgGDIAJCAYiEIACFgyAAhYMiAEICiIQgCUEAIABCNoina3GtQjSGfEHIASAAp0EHcXZBAXGtfAv4AwIFfgZ/IABCACAAQv///////////wCDIAFC////////////AIN9IgJCAFetIABCP4iDIAJCP4iEfSAAIAGFgyIAhSICQjSIIgOnQf8PcSIHQf8PakELdq1CN4YgAkIDhkL4////////P4OEIAcgACABhSIAQjSIIgGnQf8PcSIJayIIQRp0QR91rCIEQoGAgIAQg0IBhSAIQR9xrSIFhkIBfSIGIABCA4ZC+P///////z+DIAlB/w9qQQt2rUI3hoRCACAIQTxIGyIAgyAGfCAAhCIAQiCIIACFIASDIACFIAWIIgBCACABIAOFQguIfSAAQgGGg318IgAgAEIghiAAQv////8PViIIGyIAIABCEIYgAEL///////8/ViIJGyIAIABCCIYgAEL//////////wBWIgobIgAgAEIEhiAAQv//////////D1YiCxsiACAAQgKGIABC//////////8/ViIMGyIAQgGGIACFIABCP4giAUIBfYMgAIUiAEL/A4NC/wN8IACEQgmIIAGnIAcgCEEFdGogCUEEdGogCkEDdGogC0ECdGogDEEBdGpqQThrIgdBH3atQv////////8/fIMiAEICiCACQoCAgICAgICAgH+DhCAHQQAgAEI2iKdrca1CNIZ8QcgBIACnQQdxdkEBca18C40CAgJ+Bn8gAEKAgICAgICAgIB/g0IAIABCP4cgAIUgAEI/iHwiACAAQiCGIABC/////w9WIgMbIgEgAUIQhiABQv///////z9WIgQbIgEgAUIIhiABQv//////////AFYiBRsiASABQgSGIAFC//////////8PViIGGyIBIAFCAoYgAUL//////////z9WIgcbIgFCAYYgAYUgAUI/iCICQgF9gyABhSIBQv8Dg0L/A3wgAYRCCYggAFAiCBsiAEICiIRCACAAQjaIfUK0CCAErUIEhkKeCEL+ByADG3wgBa1CA4Z8IAatQgKGfCAHrUIBhnwgAoQgCBuDQjSGfEHIASAAp0EHcXZBAXGtfAsUACAAIAFCgICAgICAgICAf4UQBguABAEDfyACQYAETwRAIAAgASACEAIgAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAAL2wICDn8IfkECIQQgAUECTwRAQQEhCkEBIAF0QQF2IgshBQNAIAVBAXYhBiAEBEBBASAEQQF2IgIgAkEBTRshDEEAIQcgBiEIQQAhAgNAIAIgBmogAksEQCAEIAdqQQR0QeAKaiIDKQMAIRQgAykDCCEVIAIhAwNAIAAgAyALakEDdGoiDSkDACERIAAgA0EDdGoiDikDACESIAAgAyAGaiIJIAtqQQN0aiIPKQMAIRAgACAJQQN0aiIJKQMAIhMgFBAFIBAgFRAFEAghFiATIBUQBSAQIBQQBRAGIRAgEiAWEAYhEyARIBAQBiEXIA4gEzcDACANIBc3AwAgEiAWEAghEiARIBAQCCERIAkgEjcDACAPIBE3AwAgA0EBaiIDIAhHDQALCyAFIAhqIQggAiAFaiECIAdBAWoiByAMRw0ACwsgBEEBdCEEIAYhBSAKQQFqIgogAUcNAAsLC8MDAg5/BH4gAwRAIAStIRYgBa0hF0EBIQlBASADdCIQIQgDQCAIIg5BAk8EQCAJIgpBAXQhCSAOQQF2IQggCgRAIAEgCmwhEUEBIAggCEEBTRshEkEAIQtBACEMA0AgACABIAtsQQJ0aiIFIBFBAnRqIQcgAiAIIAxqQQJ0ajUCACEVQQAhDwNAIAUgBygCACIGIAUoAgAiE2oiDSANIARrIg0gDUEASBs2AgAgByATIAZrIgZBH3UgBHEgBmqtIBV+IhQgF35C/////weDIBZ+IBR8Qh+IpyIGIAYgBGsiBiAGQQBIGzYCACAHIAFBAnQiBmohByAFIAZqIQUgD0EBaiIPIApHDQALIAkgC2ohCyAMQQFqIgwgEkcNAAsLIA5BBE8NAQsLIBBBfnEhAkGAgICAeCADdq0hFUEAIQcDQCAAIAA1AgAgFX4iFCAXfkL/////B4MgFn4gFHxCH4inIgMgAyAEayIDIANBAEgbNgIAIAAgAUECdCIDaiIAIAA1AgAgFX4iFCAXfkL/////B4MgFn4gFHxCH4inIgUgBSAEayIFIAVBAEgbNgIAIAAgA2ohACAHQQJqIgcgAkcNAAsLC+gCAQJ/AkAgACABRg0AIAEgACACaiIEa0EAIAJBAXRrTQRAIAAgASACEAkPCyAAIAFzQQNxIQMCQAJAIAAgAUkEQCADBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgAw0AIARBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsiAmogASACaigCADYCACACQQNLDQALCyACRQ0CA0AgACACQQFrIgJqIAEgAmotAAA6AAAgAg0ACwwCCyACQQNNDQADQCADIAEoAgA2AgAgAUEEaiEBIANBBGohAyACQQRrIgJBA0sNAAsLIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQQFrIgINAAsLIAAL4AECA34DfyAAQhmIQv///z+DQoCAgMAAhCIBIAF+IAEgAEL///8PgyICfiIBp0EBdEH+//8fcSACIAJ+IgJCGYinaiIEQRl2IAFCGIinQf7///8BcWqtfCIBQjeIIgOnIABCNIinQf8PcSIFQQF0akGACGsiBkEAIAZBH3atQgF9QgAgBUH/D2pBC3atfYNCACADfSABIAQgAqdyQf///w9xQf///w9qQRl2rYQiAEIBgyABQgGIhCAAhYMgAIWDIgBCNoina3GtQjSGIABCAoh8QcgBIACnQQdxdkEBca18C/gGAgV+A39BACAErSIIQQAgBEEBdGsgBEF9bCILIAtBAEgbrSIHIAd+IgYgBa0iB35C/////weDfiAGfEIfiKciBSAFIARrIgUgBUEASButIgYgBn4iBiAHfkL/////B4MgCH4gBnxCH4inIgUgBSAEayIFIAVBAEgbrSIGIAZ+IgYgB35C/////weDIAh+IAZ8Qh+IpyIFIAUgBGsiBSAFQQBIG60iBiAGfiIGIAd+Qv////8HgyAIfiAGfEIfiKciBSAFIARrIgUgBUEASButIgYgBn4iBiAHfkL/////B4MgCH4gBnxCH4inIgUgBSAEayIFIAVBAEgbIgVBAXFrIARxIAVqQQF2rSIKIAOtfiIGIAd+Qv////8HgyAIfiAGfEIfiKciAyADIARrIgMgA0EASBshBQJAIAJBCUsNACACQQFxBH8gBa0iBiAGfiIGIAd+Qv////8HgyAIfiAGfEIfiKciAyADIARrIgMgA0EASBshBSACQQFqBSACCyEDIAJBCUYNAANAIAWtIgYgBn4iBiAHfkL/////B4MgCH4gBnxCH4inIgUgBSAEayIFIAVBAEgbrSIGIAZ+IgYgB35C/////weDIAh+IAZ8Qh+IpyIFIAUgBGsiBSAFQQBIGyEFIANBAmoiA0EKRw0ACwsgBEECayENIAWtIQZBHiEDQYCAgIB4IARrIgUhCwNAIAutIgkgCX4iCSAHfkL/////B4MgCH4gCXxCH4inIgsgCyAEayILIAtBAEgbIgutIAZ+IgkgB35C/////weDIAh+IAl8Qh+IpyIMIAwgBGsiDCAMQQBIGyALIA0gAyIMdkEBcRshCyADQQFrIQMgDA0ACyAKIAutIgogB35C/////weDIAh+IAp8Qh+IpyIDIAMgBGsiAyADQQBIG61+IgogB35C/////weDIAh+IAp8Qh+IpyIDIAMgBGsiAyADQQBIG60hCkEKIAJrIQxBACEDIAUhCwNAIAAgAyAMdEEBdEHgvwFqLwEAQQJ0Ig1qIAs2AgAgASANaiAFNgIAIAWtIAp+IgkgB35C/////weDIAh+IAl8Qh+IpyIFIAUgBGsiBSAFQQBIGyEFIAutIAZ+IgkgB35C/////weDIAh+IAl8Qh+IpyILIAsgBGsiCyALQQBIGyELIANBAWoiAyACdkUNAAsLlQECBX4FfyACBEBBAUEBIAJ0QQF2IgkgCUEBTRshCkEAIQIDQCABIAIgCWpBA3QiCGopAwAhAyAAIAhqIggpAwAhBCAAIAJBA3QiC2oiDCkDACIFIAEgC2opAwAiBhAFIAQgAxAFEAghByAFIAMQBSAEIAYQBRAGIQMgDCAHNwMAIAggAzcDACACQQFqIgIgCkcNAAsLC6MLAgx/Bn4gBUGBsP//BzYCACABQQJPBEBBASEKA0AgCkEMbCIIQaCNAWooAgAiCa0hEyADBEBBACELQQBBACAJQQF0ayAJQX1sIgYgBkEASButIhIgEn4iEkECQQJBAkECIAlrIgYgCWxrIAZsIgYgCWxrIAZsIgYgCWxrIAZsIgYgCWxB/v///wdqIAZsQf////8Hca0iFH5C/////weDIBN+IBJ8Qh+IpyIGIAYgCWsiBiAGQQBIG60iEiASfiISIBR+Qv////8HgyATfiASfEIfiKciBiAGIAlrIgYgBkEASButIhIgEn4iEiAUfkL/////B4MgE34gEnxCH4inIgYgBiAJayIGIAZBAEgbrSISIBJ+IhIgFH5C/////weDIBN+IBJ8Qh+IpyIGIAYgCWsiBiAGQQBIG60iEiASfiISIBR+Qv////8HgyATfiASfEIfiKciBiAGIAlrIgYgBkEASBsiBkEBcWsgCXEgBmpBAXatIRYgCkF+cSEOIApBAXEhECAIQaiNAWo1AgAhFyAAIQYDQCAGIApBAnRqIhEoAgAhDEEAIQcgCiEIA0AgB60gFn4iEiAUfkL/////B4MgE34gEnxCH4inIgcgByAJayIHIAdBAEgbIAYgCEEBayIIQQJ0aigCACIHIAcgCWsiByAHQQBIG2oiByAHIAlrIgcgB0EASBshByAIDQALQQAhCCAMIAdrIgdBH3UgCXEgB2qtIBd+IhIgFH5C/////weDIBN+IBJ8Qh+IpyIHIAcgCWsiByAHQQBIG60hFUIAIRJBACEMIA0EQANAIAYgCEECdCIHaiIPIA81AgAgEkL/////D4N8IAUgB2o1AgAgFX58IhKnQf////8HcTYCACAGIAdBBHIiB2oiDyAPNQIAIBJCH4hC/////w+DfCAFIAdqNQIAIBV+fCISp0H/////B3E2AgAgEkIfiCESIAhBAmohCCAMQQJqIgwgDkcNAAsLIBEgEAR+IAYgCEECdCIIaiIHIAc1AgAgEkL/////D4N8IAUgCGo1AgAgFX58IhKnQf////8HcTYCACASQh+IBSASCz4CACAGIAJBAnRqIQYgC0EBaiILIANHDQALCyAKQQFxIQYCQCANRQRAQgAhEkEAIQkMAQsgCkF+cSEHQgAhEkEAIQlBACEIA0AgBSAJQQJ0IgtqIgwgDDUCACATfiASQv////8Pg3wiEqdB/////wdxNgIAIAUgC0EEcmoiCyALNQIAIBN+IBJCH4hC/////w+DfCISp0H/////B3E2AgAgEkIfiCESIAlBAmohCSAIQQJqIgggB0cNAAsLIAUgCkECdGogBgR+IAUgCUECdGoiCCAINQIAIBN+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ASAEIABrIgQNAAsLC9gCAQJ/AkAgAUUNACAAQQA6AAAgACABaiICQQFrQQA6AAAgAUEDSQ0AIABBADoAAiAAQQA6AAEgAkEDa0EAOgAAIAJBAmtBADoAACABQQdJDQAgAEEAOgADIAJBBGtBADoAACABQQlJDQAgAEEAIABrQQNxIgNqIgJBADYCACACIAEgA2tBfHEiA2oiAUEEa0EANgIAIANBCUkNACACQQA2AgggAkEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgA0EZSQ0AIAJBADYCGCACQQA2AhQgAkEANgIQIAJBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAyACQQRxQRhyIgNrIgFBIEkNACACIANqIQIDQCACQgA3AxggAkIANwMQIAJCADcDCCACQgA3AwAgAkEgaiECIAFBIGsiAUEfSw0ACwsgAAtNAgF+AX8gACgCACIAIAApA8gBIgGnQXhxaiICIAIpAwBCHyABQgOGhoU3AwAgAEIANwPIASAAIAApA4ABQoCAgICAgICAgH+FNwOAAQvqHAIFfiV/IAAgAkECdCISQaS+AWooAgAiGUEBIAF0IhVBAXYiJGxBAnQiAmoiJyACaiAAIBJBoL4BaigCACISQQggAXRsEAwiKCASIAF0QQJ0IgJqIikgAmoiGiAVQQJ0IgJqIhsgAmohE0EBICQgJEEBTRshK0EBIBIgEkEBTRshHyAVQXxxISwgFUEDcSEtIBVBAWshICADRSABQQFrIi4gAUlxIQ0DQCAaIBsgASAlQQxsIgJBpI0BaigCACACQaCNAWooAgAiDyAPQQIgD0ECIA9BAiAPQQIgD2siAmxrIAJsIgJsayACbCICbGsgAmwiAmxB/v///wdqIAJsQf////8HcSIhEA5BACAPrSIGQQAgD0EBdGsgD0F9bCICIAJBAEgbrSIFIAV+IgUgIa0iB35C/////weDfiAFfEIfiKciAiACIA9rIgIgAkEASButIgUgBX4iBSAHfkL/////B4MgBn4gBXxCH4inIgIgAiAPayICIAJBAEgbrSIFIAV+IgUgB35C/////weDIAZ+IAV8Qh+IpyICIAIgD2siAiACQQBIG60iBSAFfiIFIAd+Qv////8HgyAGfiAFfEIfiKciAiACIA9rIgIgAkEASButIgUgBX4iBSAHfkL/////B4MgBn4gBXxCH4inIgIgAiAPayICIAJBAEgbIiJBAXFrIRxBACEKICggJUECdCIqaiIjIQtBACEYICBBA0kiJkUEQANAIBMgCkECdCIOaiALKAIANgIAIBMgDkEEcmogCyASQQJ0IgxqIgIoAgA2AgAgEyAOQQhyaiACIAxqIgIoAgA2AgAgEyAOQQxyaiACIAxqIgIoAgA2AgAgAiAMaiELIApBBGohCiAYQQRqIhggLEcNAAsLQQAhDCABQQFLIh1FBEADQCATIApBAnRqIAsoAgA2AgAgCkEBaiEKIAsgEkECdGohCyAMQQFqIgwgLUcNAAsLIBUhAkEBIREgDQRAA0AgAiIOQQF2IQICQCARRQ0AIA5BAkkNAEEBIAIgAkEBTRshHkEAIRZBACEXA0AgEyAWQQJ0aiIKIAJBAnRqIQsgGiARIBdqQQJ0ajUCACEIQQAhDANAIAogCzUCACAIfiIFIAd+Qv////8HgyAGfiAFfEIfiKciFCAUIA9rIhQgFEEASBsiGCAKKAIAIhBqIhQgFCAPayIUIBRBAEgbNgIAIAsgECAYayIUQR91IA9xIBRqNgIAIAtBBGohCyAKQQRqIQogDEEBaiIMIB5HDQALIA4gFmohFiAXQQFqIhcgEUcNAAsLIBFBAXQiESAVSQ0ACwsgDyAccSAiakEBdiEcIAAgKmohFCABBEAgHK0hCEEAIQogFCELA0AgCyATIApBA3RqIgI1AgQgAjUCAH4iBSAHfkL/////B4MgBn4gBXxCH4inIgIgAiAPayICIAJBAEgbrSAIfiIFIAd+Qv////8HgyAGfiAFfEIfiKciAiACIA9rIgIgAkEASBs2AgAgCyAZQQJ0aiELIApBAWoiCiArRw0ACwsgAwRAICMgEiAbIAEgDyAhEAsLQQAhGEEAIQogKSAqaiIjIQtBACEMICZFBEADQCATIApBAnQiEGogCygCADYCACATIBBBBHJqIAsgEkECdCIOaiICKAIANgIAIBMgEEEIcmogAiAOaiICKAIANgIAIBMgEEEMcmogAiAOaiICKAIANgIAIAIgDmohCyAKQQRqIQogDEEEaiIMICxHDQALCyAdRQRAA0AgEyAKQQJ0aiALKAIANgIAIApBAWohCiALIBJBAnRqIQsgGEEBaiIYIC1HDQALC0EBIREgFSECIA0EQANAIAIiDkEBdiECAkAgEUUNACAOQQJJDQBBASACIAJBAU0bIR1BACEWQQAhFwNAIBMgFkECdGoiCiACQQJ0aiELIBogESAXakECdGo1AgAhCEEAIQwDQCAKIAs1AgAgCH4iBSAHfkL/////B4MgBn4gBXxCH4inIhAgECAPayIQIBBBAEgbIh4gCigCACIYaiIQIBAgD2siECAQQQBIGzYCACALIBggHmsiEEEfdSAPcSAQajYCACALQQRqIQsgCkEEaiEKIAxBAWoiDCAdRw0ACyAOIBZqIRYgF0EBaiIXIBFHDQALCyARQQF0IhEgFUkNAAsLICcgKmohAiABBEAgHK0hCEEAIQogAiELA0AgCyATIApBA3RqIgw1AgQgDDUCAH4iBSAHfkL/////B4MgBn4gBXxCH4inIgwgDCAPayIMIAxBAEgbrSAIfiIFIAd+Qv////8HgyAGfiAFfEIfiKciDCAMIA9rIgwgDEEASBs2AgAgCyAZQQJ0aiELIApBAWoiCiArRw0ACwsgAwRAICMgEiAbIAEgDyAhEAsLIARFBEAgFCAZIBsgLiAPICEQCyACIBkgGyAuIA8gIRALCyAlQQFqIiUgH0cNAAsgKCASIBIgFUEBIBoQECApIBIgEiAVQQEgGhAQIBIgGUkEQEEBICQgJEEBTRshHCABQQFrISYgEkEBayEfIBIhFANAQQEhCkGAgICAeCAUQQxsIg5BoI0BaigCACINayEgQQAgDa0iCUEAIA1BAXRrIA1BfWwiAiACQQBIG60iBSAFfiIFQQJBAkECQQIgDWsiAiANbGsgAmwiAiANbGsgAmwiAiANbGsgAmwiAiANbEH+////B2ogAmxB/////wdxIiKtIgZ+Qv////8Hg34gBXxCH4inIgIgAiANayICIAJBAEgbrSIFIAV+IgUgBn5C/////weDIAl+IAV8Qh+IpyICIAIgDWsiAiACQQBIG60iBSAFfiIFIAZ+Qv////8HgyAJfiAFfEIfiKciAiACIA1rIgIgAkEASButIgUgBX4iBSAGfkL/////B4MgCX4gBXxCH4inIgIgAiANayICIAJBAEgbrSIFIAV+IgUgBn5C/////weDIAl+IAV8Qh+IpyICIAIgDWsiAiACQQBIGyICQQFxayANcSACakEBdiIDIQxB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