Gazebo_simulation-Frontend/node_modules/webcrypto-shim/webcrypto-shim.min.js.map

1 line
37 KiB
Plaintext

{"version":3,"sources":["webcrypto-shim.js"],"names":["global","factory","define","amd","module","exports","self","this","Promise","_crypto","crypto","msCrypto","_subtle","subtle","webkitSubtle","_Crypto","Crypto","constructor","Object","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","navigator","userAgent","indexOf","isIE","isWebkit","oid2str","KoZIhvcNAQEB","str2oid","1.2.840.113549.1.1.1","forEach","m","_fn","a","b","c","ka","kx","ku","op","args","slice","call","arguments","alg","b2jwk","jwkAlg","key_ops","kty","filter","isPrvKeyUse","isPubKeyUse","k","jwk","ext","s2b","unescape","encodeURIComponent","JSON","stringify","buffer","jwk2b","_key","name","hash","length","SHA-1","SHA-256","SHA-384","SHA-512","importKey","getRandomValues","Uint8Array","modulusLength","generateKey","then","all","exportKey","publicKey","privateKey","keys","a2s","info","b2der","prv","shift","rsaComp","rsaKey","i","subarray","s2a","b2s","TypeError","pkcs2jwk","decrypt","apply","e","reject","res","rej","onabort","onerror","oncomplete","r","target","result","algorithm","search","publicExponent","encrypt","usages","type","key","set","unshift","push","der2b","tag","value","jwk2pkcs","d","byteLength","Error","tl","tagLength","AesGcmEncryptResult","ciphertext","t","_digest","digest","create","s","btoa","replace","atob","charCodeAt","ArrayBuffer","String","fromCharCode","toUpperCase","SyntaxError","HMAC","RSASSA-PKCS1-v1_5","RSAES-PKCS1-v1_5","","RSA-OAEP","AES-KW","128","192","256","AES-GCM","AES-CBC","parse","decodeURIComponent","escape","extractable","x","buf","ctx","pos","end","RangeError","rv","len","xlen","oid","toString","val","Array","splice","use","defineProperties","enumerable","undefined","u"],"mappings":"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","file":"webcrypto-shim.min.js","sourcesContent":["/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov <vybornov@gmail.com>\n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && ( m === 'encrypt' || m === 'decrypt' ) && b.algorithm.hash ) {\n args[0].hash = args[0].hash || b.algorithm.hash;\n }\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n"]}