You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					1379 lines
				
				360 KiB
			
		
		
			
		
	
	
					1379 lines
				
				360 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								{
							 | 
						||
| 
								 | 
							
								  "errors": [
							 | 
						||
| 
								 | 
							
								    "./lib/jsbn/rsa.ts\n[tsl] ERROR in /home/corax/source/jsencrypt/lib/jsbn/rsa.ts(11,10)\n      TS6133: 'linebrk' is declared but its value is never read.",
							 | 
						||
| 
								 | 
							
								    "./lib/jsbn/rsa.ts\n[tsl] ERROR in /home/corax/source/jsencrypt/lib/jsbn/rsa.ts(21,10)\n      TS6133: 'byte2Hex' is declared but its value is never read."
							 | 
						||
| 
								 | 
							
								  ],
							 | 
						||
| 
								 | 
							
								  "warnings": [],
							 | 
						||
| 
								 | 
							
								  "version": "3.10.0",
							 | 
						||
| 
								 | 
							
								  "hash": "aec46fc65c33ce497959",
							 | 
						||
| 
								 | 
							
								  "time": 1411,
							 | 
						||
| 
								 | 
							
								  "publicPath": "",
							 | 
						||
| 
								 | 
							
								  "assetsByChunkName": {
							 | 
						||
| 
								 | 
							
								    "main": "bundle.js"
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								  "assets": [
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "name": "bundle.js",
							 | 
						||
| 
								 | 
							
								      "size": 541848,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "chunkNames": [
							 | 
						||
| 
								 | 
							
								        "main"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "emitted": true,
							 | 
						||
| 
								 | 
							
								      "isOverSizeLimit": true
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  ],
							 | 
						||
| 
								 | 
							
								  "filteredAssets": 0,
							 | 
						||
| 
								 | 
							
								  "entrypoints": {
							 | 
						||
| 
								 | 
							
								    "main": {
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [
							 | 
						||
| 
								 | 
							
								        "bundle.js"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "isOverSizeLimit": true
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								  "chunks": [
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 0,
							 | 
						||
| 
								 | 
							
								      "rendered": true,
							 | 
						||
| 
								 | 
							
								      "initial": true,
							 | 
						||
| 
								 | 
							
								      "entry": true,
							 | 
						||
| 
								 | 
							
								      "extraAsync": false,
							 | 
						||
| 
								 | 
							
								      "size": 158532,
							 | 
						||
| 
								 | 
							
								      "names": [
							 | 
						||
| 
								 | 
							
								        "main"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "files": [
							 | 
						||
| 
								 | 
							
								        "bundle.js"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "hash": "b6a3b215b0fe567a1af4",
							 | 
						||
| 
								 | 
							
								      "parents": [],
							 | 
						||
| 
								 | 
							
								      "modules": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 0,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								          "index": 5,
							 | 
						||
| 
								 | 
							
								          "index2": 3,
							 | 
						||
| 
								 | 
							
								          "size": 46027,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "issuerId": 4,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 48,
							 | 
						||
| 
								 | 
							
								            "building": 944,
							 | 
						||
| 
								 | 
							
								            "dependencies": 1
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 4,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../lib/jsbn/jsbn",
							 | 
						||
| 
								 | 
							
								              "loc": "5:0-45"
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 7,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								              "module": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "./jsbn",
							 | 
						||
| 
								 | 
							
								              "loc": "4:0-49"
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 12,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								              "module": "./lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../jsbn/jsbn",
							 | 
						||
| 
								 | 
							
								              "loc": "4:0-40"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "BigInteger",
							 | 
						||
| 
								 | 
							
								            "parseBigInt"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "BigInteger",
							 | 
						||
| 
								 | 
							
								            "Classic",
							 | 
						||
| 
								 | 
							
								            "Montgomery",
							 | 
						||
| 
								 | 
							
								            "nbi",
							 | 
						||
| 
								 | 
							
								            "parseBigInt",
							 | 
						||
| 
								 | 
							
								            "intAt",
							 | 
						||
| 
								 | 
							
								            "nbv",
							 | 
						||
| 
								 | 
							
								            "nbits"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 2,
							 | 
						||
| 
								 | 
							
								          "source": "// Copyright (c) 2005  Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\nimport { cbit, int2char, lbit, op_and, op_andnot, op_or, op_xor } from \"./util\";\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n    function BigInteger(a, b, c) {\n        if (a != null)\n            if (\"number\" == typeof a)\n                this.fromNumber(a, b, c);\n            else if (b == null && \"string\" != typeof a)\n                this.fromString(a, 256);\n            else\n                this.fromString(a, b);\n    }\n    //#region PUBLIC\n    // BigInteger.prototype.toString = bnToString;\n    // (public) return string representation in given radix\n    BigInteger.prototype.toString = function (b) {\n        if (this.s < 0) {\n            return \"-\" + this.negate().toString(b);\n        }\n        var k;\n        if (b == 16)\n            k = 4;\n        else if (b == 8)\n            k = 3;\n        else if (b == 2)\n            k = 1;\n        else if (b == 32)\n            k = 5;\n        else if (b == 4)\n            k = 2;\n        else\n            return this.toRadix(b);\n        var km = (1 << k) - 1, d, m = false, r = \"\", i = this.t;\n        var p = this.DB - (i * this.DB) % k;\n        if (i-- > 0) {\n            if (p < this.DB && (d = this[i] >> p) > 0) {\n                m = true;\n                r = int2char(d);\n            }\n            while (i >= 0) {\n                if (p < k) {\n                    d = (this[i] & ((1 << p) - 1)) << (k - p);\n                    d |= this[--i] >> (p += this.DB - k);\n                }\n                else {\n                    d = (this[i] >> (p -= k)) & km;\n                    if (p <= 0) {\n                        p += this.DB;\n                        --i;\n                    }\n                }\n                if (d > 0)\n                    m = true;\n                if (m)\n                    r += int2char(d);\n            }\n        }\n        return m ? r : \"0\";\n    };\n    // BigInteger.prototype.negate = bnNegate;\n    // (public) -this\n    BigInteger.prototype.negate = function () { var r = nbi(); BigInteger.ZERO.subTo(this, r); return r; };\n    // BigInteger.prototype.abs = bnAbs;\n    // (public) |this|\n    BigInteger.prototype.abs = function () { return (this.s < 0) ? this.negate() : this; };\n    // BigInteger.prototype.compareTo = bnCompareTo;\n    // (public) return + if this > a, - if this < a, 0 if equal\n    BigInteger.prototype.compareTo = function (a) {\n        var r = this.s - a.s;\n        if (r != 0)\n            return r;\n        var i = this.t;\n        r = i - a.t;\n        if (r != 0)\n            return (this.s < 0) ? -r : r;\n        while (--i >= 0)\n            if ((r = this[i] - a[i]) != 0)\n                return r;\n        return 0;\n    };\n    // BigInteger.prototype.bitLength = bnBitLength;\n    // (public) return the number of bits in \"this\"\n    BigInte
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 1,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/util.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/jsbn/util.ts",
							 | 
						||
| 
								 | 
							
								          "index": 6,
							 | 
						||
| 
								 | 
							
								          "index2": 2,
							 | 
						||
| 
								 | 
							
								          "size": 1045,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								          "issuerId": 2,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 156,
							 | 
						||
| 
								 | 
							
								            "building": 20
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 0,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								              "module": "./lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "./util",
							 | 
						||
| 
								 | 
							
								              "loc": "5:0-80"
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 2,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								              "module": "./lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "./util",
							 | 
						||
| 
								 | 
							
								              "loc": "1:0-34"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "cbit",
							 | 
						||
| 
								 | 
							
								            "int2char",
							 | 
						||
| 
								 | 
							
								            "lbit",
							 | 
						||
| 
								 | 
							
								            "op_and",
							 | 
						||
| 
								 | 
							
								            "op_andnot",
							 | 
						||
| 
								 | 
							
								            "op_or",
							 | 
						||
| 
								 | 
							
								            "op_xor"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "int2char",
							 | 
						||
| 
								 | 
							
								            "op_and",
							 | 
						||
| 
								 | 
							
								            "op_or",
							 | 
						||
| 
								 | 
							
								            "op_xor",
							 | 
						||
| 
								 | 
							
								            "op_andnot",
							 | 
						||
| 
								 | 
							
								            "lbit",
							 | 
						||
| 
								 | 
							
								            "cbit"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 3,
							 | 
						||
| 
								 | 
							
								          "source": "var BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nexport function int2char(n) {\n    return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nexport function op_and(x, y) {\n    return x & y;\n}\n// (public) this | a\nexport function op_or(x, y) {\n    return x | y;\n}\n// (public) this ^ a\nexport function op_xor(x, y) {\n    return x ^ y;\n}\n// (public) this & ~a\nexport function op_andnot(x, y) {\n    return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nexport function lbit(x) {\n    if (x == 0)\n        return -1;\n    var r = 0;\n    if ((x & 0xffff) == 0) {\n        x >>= 16;\n        r += 16;\n    }\n    if ((x & 0xff) == 0) {\n        x >>= 8;\n        r += 8;\n    }\n    if ((x & 0xf) == 0) {\n        x >>= 4;\n        r += 4;\n    }\n    if ((x & 3) == 0) {\n        x >>= 2;\n        r += 2;\n    }\n    if ((x & 1) == 0)\n        ++r;\n    return r;\n}\n// return number of 1 bits in x\nexport function cbit(x) {\n    var r = 0;\n    while (x != 0) {\n        x &= x - 1;\n        ++r;\n    }\n    return r;\n}\n//#endregion BIT_OPERATIONS \n"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 2,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								          "index": 12,
							 | 
						||
| 
								 | 
							
								          "index2": 10,
							 | 
						||
| 
								 | 
							
								          "size": 1966,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "issuerId": 4,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 48,
							 | 
						||
| 
								 | 
							
								            "building": 789
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 4,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../lib/jsbn/base64",
							 | 
						||
| 
								 | 
							
								              "loc": "7:0-43"
							 | 
						||
| 
								 | 
							
								            },
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 4,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../lib/jsbn/base64",
							 | 
						||
| 
								 | 
							
								              "loc": "8:0-44"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "b64tohex",
							 | 
						||
| 
								 | 
							
								            "hex2b64"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "hex2b64",
							 | 
						||
| 
								 | 
							
								            "b64tohex",
							 | 
						||
| 
								 | 
							
								            "b64toBA"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 2,
							 | 
						||
| 
								 | 
							
								          "source": "import { int2char } from \"./util\";\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nexport function hex2b64(h) {\n    var i;\n    var c;\n    var ret = \"\";\n    for (i = 0; i + 3 <= h.length; i += 3) {\n        c = parseInt(h.substring(i, i + 3), 16);\n        ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n    }\n    if (i + 1 == h.length) {\n        c = parseInt(h.substring(i, i + 1), 16);\n        ret += b64map.charAt(c << 2);\n    }\n    else if (i + 2 == h.length) {\n        c = parseInt(h.substring(i, i + 2), 16);\n        ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n    }\n    while ((ret.length & 3) > 0)\n        ret += b64pad;\n    return ret;\n}\n// convert a base64 string to hex\nexport function b64tohex(s) {\n    var ret = \"\";\n    var i;\n    var k = 0; // b64 state, 0-3\n    var slop;\n    for (i = 0; i < s.length; ++i) {\n        if (s.charAt(i) == b64pad)\n            break;\n        var v = b64map.indexOf(s.charAt(i));\n        if (v < 0)\n            continue;\n        if (k == 0) {\n            ret += int2char(v >> 2);\n            slop = v & 3;\n            k = 1;\n        }\n        else if (k == 1) {\n            ret += int2char((slop << 2) | (v >> 4));\n            slop = v & 0xf;\n            k = 2;\n        }\n        else if (k == 2) {\n            ret += int2char(slop);\n            ret += int2char(v >> 2);\n            slop = v & 3;\n            k = 3;\n        }\n        else {\n            ret += int2char((slop << 2) | (v >> 4));\n            ret += int2char(v & 0xf);\n            k = 0;\n        }\n    }\n    if (k == 1)\n        ret += int2char(slop << 2);\n    return ret;\n}\n// convert a base64 string to a byte/number array\nexport function b64toBA(s) {\n    //piggyback on b64tohex for now, optimize later\n    var h = b64tohex(s);\n    var i;\n    var a = new Array();\n    for (i = 0; 2 * i < h.length; ++i) {\n        a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n    }\n    return a;\n}\n"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 3,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "name": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "index": 0,
							 | 
						||
| 
								 | 
							
								          "index2": 12,
							 | 
						||
| 
								 | 
							
								          "size": 12539,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": null,
							 | 
						||
| 
								 | 
							
								          "issuerId": null,
							 | 
						||
| 
								 | 
							
								          "issuerName": null,
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 16,
							 | 
						||
| 
								 | 
							
								            "building": 17
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [],
							 | 
						||
| 
								 | 
							
								          "usedExports": true,
							 | 
						||
| 
								 | 
							
								          "providedExports": [],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 0,
							 | 
						||
| 
								 | 
							
								          "source": "import {JSEncrypt} from \"../src/jsencrypt\";\n\nvar keySizes = [128, 256, 512, 1024, 2048];\n\nvar pbkeys = [\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MCwwDQYJKoZIhvcNAQEBBQADGwAwGAIRAMfE82X6tlpNK7Bxbhg6nEECAwEAAQ==\\n\" +\n  \"-----END PUBLIC KEY-----\",\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAMLw0mRGv5KF+P0LsgNvfrM5AJdVBWqr\\n\" +\n  \"Q6Bf2gES5gwPAgMBAAE=\\n\" +\n  \"-----END PUBLIC KEY-----\",\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKEpu21RDTXxEly55HdkVV9SlFL3Hgpl\\n\" +\n  \"i6+IohAsnaqFnApsKi1R7fAd3tBLmeHV2tlxYIogtxpzfpcc+QBVDx8CAwEAAQ==\\n\" +\n  \"-----END PUBLIC KEY-----\",\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5LO5xVlO9g4PL1xdWudnihIAP\\n\" +\n  \"bMsixr396bIbBIwKBul98UWQ3UALbqByq2bXVuoIbl48UokxOVstenGCyyo026NF\\n\" +\n  \"h3Fg6Cnvj9ptvbmqk2i3eTOBrt+e26Z1sepsnQL5OojiVIbrWwS6v1pFCXpnnLLv\\n\" +\n  \"yy6GPt/kftbhazH3oQIDAQAB\\n\" +\n  \"-----END PUBLIC KEY-----\",\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtKrsFSnzYl19m5wTwYdu\\n\" +\n  \"/r1UVZJV+zkAFud6+XTInAy8HbCR9n59H9+54P+Af/fUE6rvEPc4H09Z63vQzIGM\\n\" +\n  \"iL6GlqzMmptv/KRDIhj7Mk3MXomvEVfUsXrz5IpO0lf6NSeGhz4PGZUkHZ30VRx3\\n\" +\n  \"Jd/a0KIhgftZHxzmMsh8iB/n781B18pCP2eOPTF+5gRCaW+0fVPBlb/mBlg8MJrd\\n\" +\n  \"ScGCAReQ9NfTq8slJ0aO1NWaaRRANPQcCMljnTIK1ssyXBaSHKfoWeGx141mWMRx\\n\" +\n  \"/LxyZ13Zc3lqgmICiKFqMrQl5UeV1IUXYpj5hO9f60LGpZVHDqqo/JdF3+VAheaf\\n\" +\n  \"QwIDAQAB\\n\" +\n  \"-----END PUBLIC KEY-----\"\n];\n\nvar prkeys = [\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MGMCAQACEQDHxPNl+rZaTSuwcW4YOpxBAgMBAAECEQCqk6mhsmpyv17fK1dPeD3h\\n\" +\n  \"AgkA9Lo1aGRom0sCCQDQ+JpqE6KDIwIJAKstyIfBnA3rAggOsWwqCTdkAQIIOP95\\n\" +\n  \"RV9y2iQ=\\n\" +\n  \"-----END RSA PRIVATE KEY-----\\n\",\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MIGqAgEAAiEAwvDSZEa/koX4/QuyA29+szkAl1UFaqtDoF/aARLmDA8CAwEAAQIh\\n\" +\n  \"AME2Z5Ez/hR/7PUBboKxM2U7hSaavytvocBdQjLvOUWhAhEA8HgiLHRk9KjJ2hp0\\n\" +\n  \"5q3BfQIRAM+H7dYUXRnKXjYoqiKueXsCEGnaaCirf/lXB6vzs3wMBr0CEHT2Xwzw\\n\" +\n  \"nSgT7dUIRhsVylECEFQRGFtZcKRmL8lqTBwECWI=\\n\" +\n  \"-----END RSA PRIVATE KEY-----\\n\",\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MIIBOQIBAAJBAKEpu21RDTXxEly55HdkVV9SlFL3Hgpli6+IohAsnaqFnApsKi1R\\n\" +\n  \"7fAd3tBLmeHV2tlxYIogtxpzfpcc+QBVDx8CAwEAAQJAFn0VS07JEiLelhPWfpaA\\n\" +\n  \"lzmVuvICvh6nXEormygupBGiIPSXfIsTFid26yxt9wu4JHeRF0lq+Ozo55XpBQED\\n\" +\n  \"4QIhAM0E7ikuEa2bDsR2hQJhIz3SvzzyhE5dJcqFjRtKtMQvAiEAyT0C0gUyqCdN\\n\" +\n  \"YuRON1T7FUffarMdQXR+8tgRkhoCeBECID+ZKfAoVF+QXDJhub0VOQNyntRfPt+4\\n\" +\n  \"UYLTjwRKVm0NAiBuOCtuSoiHTxd0naU1aycmbboxn67bZeoOKkfdZL+LcQIgK6Xh\\n\" +\n  \"1wb9I/sNYv9ByJEGBNJRwtUEZrk5babLEdkUq90=\\n\" +\n  \"-----END RSA PRIVATE KEY-----\\n\",\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MIICXgIBAAKBgQC5LO5xVlO9g4PL1xdWudnihIAPbMsixr396bIbBIwKBul98UWQ\\n\" +\n  \"3UALbqByq2bXVuoIbl48UokxOVstenGCyyo026NFh3Fg6Cnvj9ptvbmqk2i3eTOB\\n\" +\n  \"rt+e26Z1sepsnQL5OojiVIbrWwS6v1pFCXpnnLLvyy6GPt/kftbhazH3oQIDAQAB\\n\" +\n  \"AoGAA+EiGbPCS10e/L1D2uhH3UwDVs9jrhXV0yT7Oz+sI2WjrKTKXU+VUOf/aoeW\\n\" +\n  \"vvouKwEM7lyYTTSzaU+AY0oYVzv7HN9hWoVwi0NoPpd4V1RFfFb4+4DmXh+NZS7E\\n\" +\n  \"DX9+WY435Yc9Qj7uHoc8EoRk3QfWaZTXd69b/9tS4Yy/tnECQQDxHsSe7Qxd+6tf\\n\" +\n  \"/f4eO+bENCxIMbPU8GPWQCvq9eT9Av2I0LTTchmlhG1TSatq62zq+Unef8M/IOBs\\n\" +\n  \"j5z3issdAkEAxJpYiuAVXulViUOLdS3QX72owIQLxpFBAKQ9cPTafqc47ms4Swy2\\n\" +\n  \"FCa4MZfTJXrDX5pur+PNeP/ce6xZN5DzVQJBAJI1kgy8uU8UGKswnTNAJ4K6EFAG\\n\" +\n  \"s4Ff82orp3XmfWBeu9aGl9/PxHV1g8WJWoSPFZC2cXCWEJLrIKszun7wjpECQQCs\\n\" +\n  \"Z+mjh1RWUepHn+rozE9B1jDo+iLVc8V8CYszxhThIkWjlnTcI358d2PpYYmxAVHZ\\n\" +\n  \"QbU1G2CxbjZsYbwvJTatAkEAspmMlIyKWgrQkLJ4rbPespMJCGe6VYharl1Qc5CF\\n\" +\n  \"/2SgKSCuLfhA/Cur0nO3dxt6XJijk/r3+j+8L/m+wqud+A==\\n\" +\n  \"-----END RSA PRIVATE KEY-----\\n\",\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MIIEpAIBAAKCAQEAtKrsFSnzYl19m5wTwYdu/r1UVZJV+zkAFud6+XTInAy8HbCR\\n\" +\n  \"9n59H9+54P+Af/fUE6rvEPc4H09Z63vQzIGMiL6GlqzMmptv/KRDIhj7Mk3MXomv\
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 4,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "name": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "index": 1,
							 | 
						||
| 
								 | 
							
								          "index2": 11,
							 | 
						||
| 
								 | 
							
								          "size": 16124,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "issuerId": 3,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 2,
							 | 
						||
| 
								 | 
							
								            "building": 11
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 3,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								              "module": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../src/jsencrypt",
							 | 
						||
| 
								 | 
							
								              "loc": "1:0-43"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "JSEncrypt"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "JSEncrypt"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 1,
							 | 
						||
| 
								 | 
							
								          "source": "import {ASN1} from \"../lib/asn1js/asn1\";\nimport {RSAKey} from \"../lib/jsbn/rsa\";\nimport {Base64} from \"../lib/asn1js/base64\";\nimport {Hex} from \"../lib/asn1js/hex\";\nimport {parseBigInt} from \"../lib/jsbn/jsbn\";\nimport {KJUR} from \"../lib/jsrsasign/asn1-1.0\";\nimport {hex2b64} from \"../lib/jsbn/base64\";\nimport {b64tohex} from \"../lib/jsbn/base64\";\n\n/**\n * Retrieve the hexadecimal value (as a string) of the current ASN.1 element\n * @returns {string}\n * @public\n */\nASN1.prototype.getHexStringValue = function () {\n  var hexString = this.toHexString();\n  var offset = this.header * 2;\n  var length = this.length * 2;\n  return hexString.substr(offset, length);\n};\n\n/**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n *   algorithm       AlgorithmIdentifier,\n *   PublicKey       BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n *   algorithm       OBJECT IDENTIFIER,     the OID of the enc algorithm\n *   parameters      ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n *   modulus           INTEGER,  -- n\n *   publicExponent    INTEGER   -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\nRSAKey.prototype.parseKey = function (pem) {\n  try {\n    var modulus = 0;\n    var public_exponent = 0;\n    var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n    var der = reHex.test(pem) ? Hex.decode(pem) : Base64.unarmor(pem);\n    var asn1 = ASN1.decode(der);\n\n    //Fixes a bug with OpenSSL 1.0+ private keys\n    if(asn1.sub.length === 3){\n        asn1 = asn1.sub[2].sub[0];\n    }\n    if (asn1.sub.length === 9) {\n\n      // Parse the private key.\n      modulus = asn1.sub[1].getHexStringValue(); //bigint\n      this.n = parseBigInt(modulus, 16);\n\n      public_exponent = asn1.sub[2].getHexStringValue(); //int\n      this.e = parseInt(public_exponent, 16);\n\n      var private_exponent = asn1.sub[3].getHexStringValue(); //bigint\n      this.d = parseBigInt(private_exponent, 16);\n\n      var prime1 = asn1.sub[4].getHexStringValue(); //bigint\n      this.p = parseBigInt(prime1, 16);\n\n      var prime2 = asn1.sub[5].getHexStringValue(); //bigint\n      this.q = parseBigInt(prime2, 16);\n\n      var exponent1 = asn1.sub[6].getHexStringValue(); //bigint\n      this.dmp1 = parseBigInt(exponent1, 16);\n\n      var exponent2 = asn1.sub[7].getHexStringValue(); //bigint\n      this.dmq1 = parseBigInt(exponent2, 16);\n\n      var coefficient = asn1.sub[8].getHexStringValue(); //bigint\n      this.coeff = parseBigInt(coefficient, 16);\n\n    }\n    else if (asn1.sub.length === 2) {\n\n      // Parse the public key.\n      var bit_string = asn1.sub[1];\n      var sequence = bit_string.sub[0];\n\n      modulus = sequence.sub[0].getHexStringValue();\n      this.n = parseBigInt(modulus, 16);\n      public_exponent = sequence.sub[1].getHexStringValue();\n      this.e = parseInt(public_exponent, 16);\n\n    }\n    else {\n      return false;\n    }\n    return true;\n  }\n  catch (ex) {\n    return false;\n  }\n};\n\n/**\n * Translate rsa parameters in a hex encoded string representing the rsa key.\n *\n * The translation follow the ASN.1 notation :\n * RSAPrivateKey ::= SEQUENCE {\n *   version           Version,\n *   modulus           INTEGER,  -- n\n *   publicExponent    INTEGER,  -- e\n *   privateExp
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 5,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								          "index": 2,
							 | 
						||
| 
								 | 
							
								          "index2": 1,
							 | 
						||
| 
								 | 
							
								          "size": 19813,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "issuerId": 4,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 33,
							 | 
						||
| 
								 | 
							
								            "building": 707
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 4,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../lib/asn1js/asn1",
							 | 
						||
| 
								 | 
							
								              "loc": "1:0-40"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "ASN1"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "Stream",
							 | 
						||
| 
								 | 
							
								            "ASN1"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 2,
							 | 
						||
| 
								 | 
							
								          "source": "// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\nimport { Int10 } from \"./int10\";\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n    if (str.length > len) {\n        str = str.substring(0, len) + ellipsis;\n    }\n    return str;\n}\nvar Stream = /** @class */ (function () {\n    function Stream(enc, pos) {\n        this.hexDigits = \"0123456789ABCDEF\";\n        if (enc instanceof Stream) {\n            this.enc = enc.enc;\n            this.pos = enc.pos;\n        }\n        else {\n            // enc should be an array or a binary string\n            this.enc = enc;\n            this.pos = pos;\n        }\n    }\n    Stream.prototype.get = function (pos) {\n        if (pos === undefined) {\n            pos = this.pos++;\n        }\n        if (pos >= this.enc.length) {\n            throw new Error(\"Requesting byte offset \" + pos + \" on a stream of length \" + this.enc.length);\n        }\n        return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n    };\n    Stream.prototype.hexByte = function (b) {\n        return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n    };\n    Stream.prototype.hexDump = function (start, end, raw) {\n        var s = \"\";\n        for (var i = start; i < end; ++i) {\n            s += this.hexByte(this.get(i));\n            if (raw !== true) {\n                switch (i & 0xF) {\n                    case 0x7:\n                        s += \"  \";\n                        break;\n                    case 0xF:\n                        s += \"\\n\";\n                        break;\n                    default:\n                        s += \" \";\n                }\n            }\n        }\n        return s;\n    };\n    Stream.prototype.isASCII = function (start, end) {\n        for (var i = start; i < end; ++i) {\n            var c = this.get(i);\n            if (c < 32 || c > 176) {\n                return false;\n            }\n        }\n        return true;\n    };\n    Stream.prototype.parseStringISO = function (start, end) {\n        var s = \"\";\n        for (var i = start; i < end; ++i) {\n            s += String.fromCharCode(this.get(i));\n        }\n        return s;\n    };\n    Stream.prototype.parseStringUTF = function (start, end) {\n        var s = \"\";\n        for (var i = start; i < end;) {\n            var c = this.get(i++);\n            if (c < 128) {\n                s += String.fromCharCode(c);\n            }\n            else if ((c > 191) && (c < 224)) {\n                s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n            }\n            else {\n                s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n            }\n        }\n        return s;\n    };\n    Str
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 6,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/int10.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/asn1js/int10.ts",
							 | 
						||
| 
								 | 
							
								          "index": 3,
							 | 
						||
| 
								 | 
							
								          "index2": 0,
							 | 
						||
| 
								 | 
							
								          "size": 2793,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								          "issuerId": 5,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 253,
							 | 
						||
| 
								 | 
							
								            "building": 30
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 5,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								              "module": "./lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "./int10",
							 | 
						||
| 
								 | 
							
								              "loc": "16:0-32"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "Int10"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "Int10"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 3,
							 | 
						||
| 
								 | 
							
								          "source": "// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n    function Int10(value) {\n        this.buf = [+value || 0];\n    }\n    Int10.prototype.mulAdd = function (m, c) {\n        // assert(m <= 256)\n        var b = this.buf;\n        var l = b.length;\n        var i;\n        var t;\n        for (i = 0; i < l; ++i) {\n            t = b[i] * m + c;\n            if (t < max) {\n                c = 0;\n            }\n            else {\n                c = 0 | (t / max);\n                t -= c * max;\n            }\n            b[i] = t;\n        }\n        if (c > 0) {\n            b[i] = c;\n        }\n    };\n    Int10.prototype.sub = function (c) {\n        // assert(m <= 256)\n        var b = this.buf;\n        var l = b.length;\n        var i;\n        var t;\n        for (i = 0; i < l; ++i) {\n            t = b[i] - c;\n            if (t < 0) {\n                t += max;\n                c = 1;\n            }\n            else {\n                c = 0;\n            }\n            b[i] = t;\n        }\n        while (b[b.length - 1] === 0) {\n            b.pop();\n        }\n    };\n    Int10.prototype.toString = function (base) {\n        if ((base || 10) != 10) {\n            throw new Error(\"only base 10 is supported\");\n        }\n        var b = this.buf;\n        var s = b[b.length - 1].toString();\n        for (var i = b.length - 2; i >= 0; --i) {\n            s += (max + b[i]).toString().substring(1);\n        }\n        return s;\n    };\n    Int10.prototype.valueOf = function () {\n        var b = this.buf;\n        var v = 0;\n        for (var i = b.length - 1; i >= 0; --i) {\n            v = v * max + b[i];\n        }\n        return v;\n    };\n    Int10.prototype.simplify = function () {\n        var b = this.buf;\n        return (b.length == 1) ? b[0] : this;\n    };\n    return Int10;\n}());\nexport { Int10 };\n"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 7,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "index": 4,
							 | 
						||
| 
								 | 
							
								          "index2": 6,
							 | 
						||
| 
								 | 
							
								          "size": 7707,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "issuerId": 4,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 48,
							 | 
						||
| 
								 | 
							
								            "building": 780,
							 | 
						||
| 
								 | 
							
								            "dependencies": 0
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 2,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 4,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../lib/jsbn/rsa",
							 | 
						||
| 
								 | 
							
								              "loc": "2:0-39"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "RSAKey"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "RSAKey"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 2,
							 | 
						||
| 
								 | 
							
								          "source": "// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\nimport { BigInteger, parseBigInt } from \"./jsbn\";\nimport { SecureRandom } from \"./rng\";\nfunction linebrk(s, n) {\n    var ret = \"\";\n    var i = 0;\n    while (i + n < s.length) {\n        ret += s.substring(i, i + n) + \"\\n\";\n        i += n;\n    }\n    return ret + s.substring(i, s.length);\n}\nfunction byte2Hex(b) {\n    if (b < 0x10)\n        return \"0\" + b.toString(16);\n    else\n        return b.toString(16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n    if (n < s.length + 11) {\n        console.error(\"Message too long for RSA\");\n        return null;\n    }\n    var ba = new Array();\n    var i = s.length - 1;\n    while (i >= 0 && n > 0) {\n        var c = s.charCodeAt(i--);\n        if (c < 128) {\n            ba[--n] = c;\n        }\n        else if ((c > 127) && (c < 2048)) {\n            ba[--n] = (c & 63) | 128;\n            ba[--n] = (c >> 6) | 192;\n        }\n        else {\n            ba[--n] = (c & 63) | 128;\n            ba[--n] = ((c >> 6) & 63) | 128;\n            ba[--n] = (c >> 12) | 224;\n        }\n    }\n    ba[--n] = 0;\n    var rng = new SecureRandom();\n    var x = new Array();\n    while (n > 2) {\n        x[0] = 0;\n        while (x[0] == 0)\n            rng.nextBytes(x);\n        ba[--n] = x[0];\n    }\n    ba[--n] = 2;\n    ba[--n] = 0;\n    return new BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n    function RSAKey() {\n        this.n = null;\n        this.e = 0;\n        this.d = null;\n        this.p = null;\n        this.q = null;\n        this.dmp1 = null;\n        this.dmq1 = null;\n        this.coeff = null;\n    }\n    //#region PROTECTED\n    // protected\n    // RSAKey.prototype.doPublic = RSADoPublic;\n    // Perform raw public operation on \"x\": return x^e (mod n)\n    RSAKey.prototype.doPublic = function (x) {\n        return x.modPowInt(this.e, this.n);\n    };\n    // RSAKey.prototype.doPrivate = RSADoPrivate;\n    // Perform raw private operation on \"x\": return x^d (mod n)\n    RSAKey.prototype.doPrivate = function (x) {\n        if (this.p == null || this.q == null)\n            return x.modPow(this.d, this.n);\n        // TODO: re-calculate any missing CRT params\n        var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n        var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n        while (xp.compareTo(xq) < 0)\n            xp = xp.add(this.p);\n        return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n    };\n    //#endregion PROTECTED\n    //#region PUBLIC\n    // RSAKey.prototype.setPublic = RSASetPublic;\n    // Set the public key fields N and e from hex strings\n    RSAKey.prototype.setPublic = function (N, E) {\n        if (N != null && E != null && N.length > 0 && E.length > 0) {\n            this.n = parseBigInt(N, 16);\n            this.e = parseInt(E, 16);\n        }\n        else\n            console.error(\"Invalid RSA public key\");\n    };\n    // RSAKey.prototype.encrypt = RSAEncrypt;\n    // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n    RSAKey.prototype.encrypt = function (text) {\n        var m = pkcs1pad2(text, (this.n.bitLength() + 7) >> 3);\n        if (m == null)\n            return null;\n        var c = this.doPublic(m);\n        if (c == null)\n            return null;\n        var h = c.toString(16);\n        if ((h.length & 1) == 0)\n            return h;\n        else\n            return \"0\" + h;\n    };\n    // RSAKey.prototype.setPrivate = RSASetPrivate;\n    // Set the private key fields N, e, and d from hex strings\n    RSAKey.prototype.setPrivate = function (N, E, D) {\n        if (N != null && E != null && N.length > 0 && E.length > 0) {\n            this.n = parseBigInt(N, 16);\n            this.e = parseInt(E, 16);\n            this.d = parseBigInt(D, 16);\n        }\n      
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 8,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								          "index": 7,
							 | 
						||
| 
								 | 
							
								          "index2": 5,
							 | 
						||
| 
								 | 
							
								          "size": 2618,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "issuerId": 7,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 165,
							 | 
						||
| 
								 | 
							
								            "building": 16
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 7,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								              "module": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "./rng",
							 | 
						||
| 
								 | 
							
								              "loc": "5:0-37"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "SecureRandom"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "SecureRandom"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 3,
							 | 
						||
| 
								 | 
							
								          "source": "// Random number generator - requires a PRNG backend, e.g. prng4.js\nimport { prng_newstate, rng_psize } from \"./prng4\";\nvar rng_state;\nvar rng_pool;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n    rng_pool = [];\n    rng_pptr = 0;\n    var t = void 0;\n    if (window.crypto && window.crypto.getRandomValues) {\n        // Extract entropy (2048 bits) from RNG if available\n        var z = new Uint32Array(256);\n        window.crypto.getRandomValues(z);\n        for (t = 0; t < z.length; ++t) {\n            rng_pool[rng_pptr++] = z[t] & 255;\n        }\n    }\n    // Use mouse events for entropy, if we do not have enough entropy by the time\n    // we need it, entropy will be generated by Math.random.\n    var onMouseMoveListener_1 = function (ev) {\n        this.count = this.count || 0;\n        if (this.count >= 256 || rng_pptr >= rng_psize) {\n            if (window.removeEventListener) {\n                window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n            }\n            else if (window.detachEvent) {\n                window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n            }\n            return;\n        }\n        try {\n            var mouseCoordinates = ev.x + ev.y;\n            rng_pool[rng_pptr++] = mouseCoordinates & 255;\n            this.count += 1;\n        }\n        catch (e) {\n            // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n        }\n    };\n    if (window.addEventListener) {\n        window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n    }\n    else if (window.attachEvent) {\n        window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n    }\n}\nfunction rng_get_byte() {\n    if (rng_state == null) {\n        rng_state = prng_newstate();\n        // At this point, we may not have collected enough entropy.  If not, fall back to Math.random\n        while (rng_pptr < rng_psize) {\n            var random = Math.floor(65536 * Math.random());\n            rng_pool[rng_pptr++] = random & 255;\n        }\n        rng_state.init(rng_pool);\n        for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n            rng_pool[rng_pptr] = 0;\n        }\n        rng_pptr = 0;\n    }\n    // TODO: allow reseeding after first request\n    return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n    function SecureRandom() {\n    }\n    SecureRandom.prototype.nextBytes = function (ba) {\n        for (var i = 0; i < ba.length; ++i) {\n            ba[i] = rng_get_byte();\n        }\n    };\n    return SecureRandom;\n}());\nexport { SecureRandom };\n"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 9,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/prng4.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/jsbn/prng4.ts",
							 | 
						||
| 
								 | 
							
								          "index": 8,
							 | 
						||
| 
								 | 
							
								          "index2": 4,
							 | 
						||
| 
								 | 
							
								          "size": 1320,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								          "issuerId": 8,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 14,
							 | 
						||
| 
								 | 
							
								            "building": 4
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 8,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								              "module": "./lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "./prng4",
							 | 
						||
| 
								 | 
							
								              "loc": "2:0-51"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "prng_newstate",
							 | 
						||
| 
								 | 
							
								            "rng_psize"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "Arcfour",
							 | 
						||
| 
								 | 
							
								            "prng_newstate",
							 | 
						||
| 
								 | 
							
								            "rng_psize"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 4,
							 | 
						||
| 
								 | 
							
								          "source": "// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n    function Arcfour() {\n        this.i = 0;\n        this.j = 0;\n        this.S = [];\n    }\n    //Arcfour.prototype.init = ARC4init;\n    // Initialize arcfour context from key, an array of ints, each from [0..255]\n    Arcfour.prototype.init = function (key) {\n        var i, j, t;\n        for (i = 0; i < 256; ++i)\n            this.S[i] = i;\n        j = 0;\n        for (i = 0; i < 256; ++i) {\n            j = (j + this.S[i] + key[i % key.length]) & 255;\n            t = this.S[i];\n            this.S[i] = this.S[j];\n            this.S[j] = t;\n        }\n        this.i = 0;\n        this.j = 0;\n    };\n    // Arcfour.prototype.next = ARC4next;\n    Arcfour.prototype.next = function () {\n        var t;\n        this.i = (this.i + 1) & 255;\n        this.j = (this.j + this.S[this.i]) & 255;\n        t = this.S[this.i];\n        this.S[this.i] = this.S[this.j];\n        this.S[this.j] = t;\n        return this.S[(t + this.S[this.i]) & 255];\n    };\n    return Arcfour;\n}());\nexport { Arcfour };\n// Plug in your RNG constructor here\nexport function prng_newstate() {\n    return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nexport var rng_psize = 256;\n"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 10,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/base64.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/asn1js/base64.ts",
							 | 
						||
| 
								 | 
							
								          "index": 9,
							 | 
						||
| 
								 | 
							
								          "index2": 7,
							 | 
						||
| 
								 | 
							
								          "size": 2887,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "issuerId": 4,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 47,
							 | 
						||
| 
								 | 
							
								            "building": 703
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 4,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../lib/asn1js/base64",
							 | 
						||
| 
								 | 
							
								              "loc": "3:0-44"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "Base64"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "Base64"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 2,
							 | 
						||
| 
								 | 
							
								          "source": "// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nexport var Base64 = {\n    decode: function (a) {\n        var i;\n        if (decoder === undefined) {\n            var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n            decoder = [];\n            for (i = 0; i < 64; ++i)\n                decoder[b64.charAt(i)] = i;\n            for (i = 0; i < ignore.length; ++i)\n                decoder[ignore.charAt(i)] = -1;\n        }\n        var out = [];\n        var bits = 0, char_count = 0;\n        for (i = 0; i < a.length; ++i) {\n            var c = a.charAt(i);\n            if (c == '=')\n                break;\n            c = decoder[c];\n            if (c == -1)\n                continue;\n            if (c === undefined)\n                throw 'Illegal character at offset ' + i;\n            bits |= c;\n            if (++char_count >= 4) {\n                out[out.length] = (bits >> 16);\n                out[out.length] = (bits >> 8) & 0xFF;\n                out[out.length] = bits & 0xFF;\n                bits = 0;\n                char_count = 0;\n            }\n            else {\n                bits <<= 6;\n            }\n        }\n        switch (char_count) {\n            case 1:\n                throw \"Base64 encoding incomplete: at least 2 bits missing\";\n            case 2:\n                out[out.length] = (bits >> 10);\n                break;\n            case 3:\n                out[out.length] = (bits >> 16);\n                out[out.length] = (bits >> 8) & 0xFF;\n                break;\n        }\n        return out;\n    },\n    re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n    unarmor: function (a) {\n        var m = Base64.re.exec(a);\n        if (m) {\n            if (m[1])\n                a = m[1];\n            else if (m[2])\n                a = m[2];\n            else\n                throw \"RegExp out of sync\";\n        }\n        return Base64.decode(a);\n    }\n};\n"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 11,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/hex.ts",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/asn1js/hex.ts",
							 | 
						||
| 
								 | 
							
								          "index": 10,
							 | 
						||
| 
								 | 
							
								          "index2": 8,
							 | 
						||
| 
								 | 
							
								          "size": 2303,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "issuerId": 4,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 48,
							 | 
						||
| 
								 | 
							
								            "building": 747
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 4,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../lib/asn1js/hex",
							 | 
						||
| 
								 | 
							
								              "loc": "4:0-38"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "Hex"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "Hex"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 2,
							 | 
						||
| 
								 | 
							
								          "source": "// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nexport var Hex = {\n    decode: function (a) {\n        var i;\n        if (decoder === undefined) {\n            var hex = \"0123456789ABCDEF\";\n            var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n            decoder = {};\n            for (i = 0; i < 16; ++i) {\n                decoder[hex.charAt(i)] = i;\n            }\n            hex = hex.toLowerCase();\n            for (i = 10; i < 16; ++i) {\n                decoder[hex.charAt(i)] = i;\n            }\n            for (i = 0; i < ignore.length; ++i) {\n                decoder[ignore.charAt(i)] = -1;\n            }\n        }\n        var out = [];\n        var bits = 0;\n        var char_count = 0;\n        for (i = 0; i < a.length; ++i) {\n            var c = a.charAt(i);\n            if (c == \"=\") {\n                break;\n            }\n            c = decoder[c];\n            if (c == -1) {\n                continue;\n            }\n            if (c === undefined) {\n                throw new Error(\"Illegal character at offset \" + i);\n            }\n            bits |= c;\n            if (++char_count >= 2) {\n                out[out.length] = bits;\n                bits = 0;\n                char_count = 0;\n            }\n            else {\n                bits <<= 4;\n            }\n        }\n        if (char_count) {\n            throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n        }\n        return out;\n    }\n};\n"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "id": 12,
							 | 
						||
| 
								 | 
							
								          "identifier": "/home/corax/source/jsencrypt/lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								          "name": "./lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								          "index": 11,
							 | 
						||
| 
								 | 
							
								          "index2": 9,
							 | 
						||
| 
								 | 
							
								          "size": 41390,
							 | 
						||
| 
								 | 
							
								          "cacheable": true,
							 | 
						||
| 
								 | 
							
								          "built": true,
							 | 
						||
| 
								 | 
							
								          "optional": false,
							 | 
						||
| 
								 | 
							
								          "prefetched": false,
							 | 
						||
| 
								 | 
							
								          "chunks": [
							 | 
						||
| 
								 | 
							
								            0
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "assets": [],
							 | 
						||
| 
								 | 
							
								          "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "issuerId": 4,
							 | 
						||
| 
								 | 
							
								          "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "profile": {
							 | 
						||
| 
								 | 
							
								            "factory": 4,
							 | 
						||
| 
								 | 
							
								            "building": 26,
							 | 
						||
| 
								 | 
							
								            "dependencies": 18
							 | 
						||
| 
								 | 
							
								          },
							 | 
						||
| 
								 | 
							
								          "failed": false,
							 | 
						||
| 
								 | 
							
								          "errors": 0,
							 | 
						||
| 
								 | 
							
								          "warnings": 0,
							 | 
						||
| 
								 | 
							
								          "reasons": [
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								              "moduleId": 4,
							 | 
						||
| 
								 | 
							
								              "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								              "type": "harmony import",
							 | 
						||
| 
								 | 
							
								              "userRequest": "../lib/jsrsasign/asn1-1.0",
							 | 
						||
| 
								 | 
							
								              "loc": "6:0-47"
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "usedExports": [
							 | 
						||
| 
								 | 
							
								            "KJUR"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "providedExports": [
							 | 
						||
| 
								 | 
							
								            "JSX",
							 | 
						||
| 
								 | 
							
								            "KJUR"
							 | 
						||
| 
								 | 
							
								          ],
							 | 
						||
| 
								 | 
							
								          "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								          "depth": 2,
							 | 
						||
| 
								 | 
							
								          "source": "/*! asn1-1.0.2.js (c) 2013 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n\nimport {BigInteger} from \"../jsbn/jsbn\";\nexport const JSX = {};\nJSX.env = JSX.env || {};\n\nconst L = JSX, OP = Object.prototype, FUNCTION_TOSTRING = '[object Function]',ADD = [\"toString\", \"valueOf\"];\n\nJSX.env.parseUA = function(agent) {\n\n    var numberify = function(s) {\n        var c = 0;\n        return parseFloat(s.replace(/\\./g, function() {\n            return (c++ == 1) ? '' : '.';\n        }));\n    },\n\n    nav = navigator,\n    o = {\n        ie: 0,\n        opera: 0,\n        gecko: 0,\n        webkit: 0,\n        chrome: 0,\n        mobile: null,\n        air: 0,\n        ipad: 0,\n        iphone: 0,\n        ipod: 0,\n        ios: null,\n        android: 0,\n        webos: 0,\n        caja: nav && nav.cajaVersion,\n        secure: false,\n        os: null\n\n    },\n\n    ua = agent || (navigator && navigator.userAgent),\n    loc = window && window.location,\n    href = loc && loc.href,\n    m;\n\n    o.secure = href && (href.toLowerCase().indexOf(\"https\") === 0);\n\n    if (ua) {\n\n        if ((/windows|win32/i).test(ua)) {\n            o.os = 'windows';\n        } else if ((/macintosh/i).test(ua)) {\n            o.os = 'macintosh';\n        } else if ((/rhino/i).test(ua)) {\n            o.os = 'rhino';\n        }\n        if ((/KHTML/).test(ua)) {\n            o.webkit = 1;\n        }\n        m = ua.match(/AppleWebKit\\/([^\\s]*)/);\n        if (m && m[1]) {\n            o.webkit = numberify(m[1]);\n            if (/ Mobile\\//.test(ua)) {\n                o.mobile = 'Apple'; // iPhone or iPod Touch\n                m = ua.match(/OS ([^\\s]*)/);\n                if (m && m[1]) {\n                    m = numberify(m[1].replace('_', '.'));\n                }\n                o.ios = m;\n                o.ipad = o.ipod = o.iphone = 0;\n                m = ua.match(/iPad|iPod|iPhone/);\n                if (m && m[0]) {\n                    o[m[0].toLowerCase()] = o.ios;\n                }\n            } else {\n                m = ua.match(/NokiaN[^\\/]*|Android \\d\\.\\d|webOS\\/\\d\\.\\d/);\n                if (m) {\n                    o.mobile = m[0];\n                }\n                if (/webOS/.test(ua)) {\n                    o.mobile = 'WebOS';\n                    m = ua.match(/webOS\\/([^\\s]*);/);\n                    if (m && m[1]) {\n                        o.webos = numberify(m[1]);\n                    }\n                }\n                if (/ Android/.test(ua)) {\n                    o.mobile = 'Android';\n                    m = ua.match(/Android ([^\\s]*);/);\n                    if (m && m[1]) {\n                        o.android = numberify(m[1]);\n                    }\n                }\n            }\n            m = ua.match(/Chrome\\/([^\\s]*)/);\n            if (m && m[1]) {\n                o.chrome = numberify(m[1]); // Chrome\n            } else {\n                m = ua.match(/AdobeAIR\\/([^\\s]*)/);\n                if (m) {\n                    o.air = m[0]; // Adobe AIR 1.0 or better\n                }\n            }\n        }\n        if (!o.webkit) {\n            m = ua.match(/Opera[\\s\\/]([^\\s]*)/);\n            if (m && m[1]) {\n                o.opera = numberify(m[1]);\n                m = ua.match(/Version\\/([^\\s]*)/);\n                if (m && m[1]) {\n                    o.opera = numberify(m[1]); // opera 10+\n                }\n                m = ua.match(/Opera Mini[^;]*/);\n                if (m) {\n                    o.mobile = m[0]; // ex: Opera Mini/2.0.4509/1316\n                }\n            } else { // not opera or webkit\n                m = ua.match(/MSIE\\s([^;]*)/);\n                if (m && m[1]) {\n                    o.ie = numberify(m[1]);\n                } else { // not opera, webkit, or ie\n                    m = ua.match(/Gecko\\/([^\\s]*)/);\n                    if (m) {\n                        o.gecko = 1; // Gecko detected, look for revision\n                        m = ua.match(/rv:([^\\s\\)]*)/);\n      
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "filteredModules": 0,
							 | 
						||
| 
								 | 
							
								      "origins": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 3,
							 | 
						||
| 
								 | 
							
								          "module": "/home/corax/source/jsencrypt/test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "loc": "",
							 | 
						||
| 
								 | 
							
								          "name": "main",
							 | 
						||
| 
								 | 
							
								          "reasons": []
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ]
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  ],
							 | 
						||
| 
								 | 
							
								  "modules": [
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 0,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								      "index": 5,
							 | 
						||
| 
								 | 
							
								      "index2": 3,
							 | 
						||
| 
								 | 
							
								      "size": 46027,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "issuerId": 4,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 48,
							 | 
						||
| 
								 | 
							
								        "building": 944,
							 | 
						||
| 
								 | 
							
								        "dependencies": 1
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 4,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../lib/jsbn/jsbn",
							 | 
						||
| 
								 | 
							
								          "loc": "5:0-45"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 7,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "module": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "./jsbn",
							 | 
						||
| 
								 | 
							
								          "loc": "4:0-49"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 12,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								          "module": "./lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../jsbn/jsbn",
							 | 
						||
| 
								 | 
							
								          "loc": "4:0-40"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "BigInteger",
							 | 
						||
| 
								 | 
							
								        "parseBigInt"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "BigInteger",
							 | 
						||
| 
								 | 
							
								        "Classic",
							 | 
						||
| 
								 | 
							
								        "Montgomery",
							 | 
						||
| 
								 | 
							
								        "nbi",
							 | 
						||
| 
								 | 
							
								        "parseBigInt",
							 | 
						||
| 
								 | 
							
								        "intAt",
							 | 
						||
| 
								 | 
							
								        "nbv",
							 | 
						||
| 
								 | 
							
								        "nbits"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 2,
							 | 
						||
| 
								 | 
							
								      "source": "// Copyright (c) 2005  Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\nimport { cbit, int2char, lbit, op_and, op_andnot, op_or, op_xor } from \"./util\";\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n    function BigInteger(a, b, c) {\n        if (a != null)\n            if (\"number\" == typeof a)\n                this.fromNumber(a, b, c);\n            else if (b == null && \"string\" != typeof a)\n                this.fromString(a, 256);\n            else\n                this.fromString(a, b);\n    }\n    //#region PUBLIC\n    // BigInteger.prototype.toString = bnToString;\n    // (public) return string representation in given radix\n    BigInteger.prototype.toString = function (b) {\n        if (this.s < 0) {\n            return \"-\" + this.negate().toString(b);\n        }\n        var k;\n        if (b == 16)\n            k = 4;\n        else if (b == 8)\n            k = 3;\n        else if (b == 2)\n            k = 1;\n        else if (b == 32)\n            k = 5;\n        else if (b == 4)\n            k = 2;\n        else\n            return this.toRadix(b);\n        var km = (1 << k) - 1, d, m = false, r = \"\", i = this.t;\n        var p = this.DB - (i * this.DB) % k;\n        if (i-- > 0) {\n            if (p < this.DB && (d = this[i] >> p) > 0) {\n                m = true;\n                r = int2char(d);\n            }\n            while (i >= 0) {\n                if (p < k) {\n                    d = (this[i] & ((1 << p) - 1)) << (k - p);\n                    d |= this[--i] >> (p += this.DB - k);\n                }\n                else {\n                    d = (this[i] >> (p -= k)) & km;\n                    if (p <= 0) {\n                        p += this.DB;\n                        --i;\n                    }\n                }\n                if (d > 0)\n                    m = true;\n                if (m)\n                    r += int2char(d);\n            }\n        }\n        return m ? r : \"0\";\n    };\n    // BigInteger.prototype.negate = bnNegate;\n    // (public) -this\n    BigInteger.prototype.negate = function () { var r = nbi(); BigInteger.ZERO.subTo(this, r); return r; };\n    // BigInteger.prototype.abs = bnAbs;\n    // (public) |this|\n    BigInteger.prototype.abs = function () { return (this.s < 0) ? this.negate() : this; };\n    // BigInteger.prototype.compareTo = bnCompareTo;\n    // (public) return + if this > a, - if this < a, 0 if equal\n    BigInteger.prototype.compareTo = function (a) {\n        var r = this.s - a.s;\n        if (r != 0)\n            return r;\n        var i = this.t;\n        r = i - a.t;\n        if (r != 0)\n            return (this.s < 0) ? -r : r;\n        while (--i >= 0)\n            if ((r = this[i] - a[i]) != 0)\n                return r;\n        return 0;\n    };\n    // BigInteger.prototype.bitLength = bnBitLength;\n    // (public) return the number of bits in \"this\"\n    BigInteger.
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 1,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/util.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/jsbn/util.ts",
							 | 
						||
| 
								 | 
							
								      "index": 6,
							 | 
						||
| 
								 | 
							
								      "index2": 2,
							 | 
						||
| 
								 | 
							
								      "size": 1045,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								      "issuerId": 2,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 156,
							 | 
						||
| 
								 | 
							
								        "building": 20
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 0,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								          "module": "./lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./lib/jsbn/jsbn.ts",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "./util",
							 | 
						||
| 
								 | 
							
								          "loc": "5:0-80"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 2,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								          "module": "./lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "./util",
							 | 
						||
| 
								 | 
							
								          "loc": "1:0-34"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "cbit",
							 | 
						||
| 
								 | 
							
								        "int2char",
							 | 
						||
| 
								 | 
							
								        "lbit",
							 | 
						||
| 
								 | 
							
								        "op_and",
							 | 
						||
| 
								 | 
							
								        "op_andnot",
							 | 
						||
| 
								 | 
							
								        "op_or",
							 | 
						||
| 
								 | 
							
								        "op_xor"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "int2char",
							 | 
						||
| 
								 | 
							
								        "op_and",
							 | 
						||
| 
								 | 
							
								        "op_or",
							 | 
						||
| 
								 | 
							
								        "op_xor",
							 | 
						||
| 
								 | 
							
								        "op_andnot",
							 | 
						||
| 
								 | 
							
								        "lbit",
							 | 
						||
| 
								 | 
							
								        "cbit"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 3,
							 | 
						||
| 
								 | 
							
								      "source": "var BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nexport function int2char(n) {\n    return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nexport function op_and(x, y) {\n    return x & y;\n}\n// (public) this | a\nexport function op_or(x, y) {\n    return x | y;\n}\n// (public) this ^ a\nexport function op_xor(x, y) {\n    return x ^ y;\n}\n// (public) this & ~a\nexport function op_andnot(x, y) {\n    return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nexport function lbit(x) {\n    if (x == 0)\n        return -1;\n    var r = 0;\n    if ((x & 0xffff) == 0) {\n        x >>= 16;\n        r += 16;\n    }\n    if ((x & 0xff) == 0) {\n        x >>= 8;\n        r += 8;\n    }\n    if ((x & 0xf) == 0) {\n        x >>= 4;\n        r += 4;\n    }\n    if ((x & 3) == 0) {\n        x >>= 2;\n        r += 2;\n    }\n    if ((x & 1) == 0)\n        ++r;\n    return r;\n}\n// return number of 1 bits in x\nexport function cbit(x) {\n    var r = 0;\n    while (x != 0) {\n        x &= x - 1;\n        ++r;\n    }\n    return r;\n}\n//#endregion BIT_OPERATIONS \n"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 2,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/jsbn/base64.ts",
							 | 
						||
| 
								 | 
							
								      "index": 12,
							 | 
						||
| 
								 | 
							
								      "index2": 10,
							 | 
						||
| 
								 | 
							
								      "size": 1966,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "issuerId": 4,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 48,
							 | 
						||
| 
								 | 
							
								        "building": 789
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 4,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../lib/jsbn/base64",
							 | 
						||
| 
								 | 
							
								          "loc": "7:0-43"
							 | 
						||
| 
								 | 
							
								        },
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 4,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../lib/jsbn/base64",
							 | 
						||
| 
								 | 
							
								          "loc": "8:0-44"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "b64tohex",
							 | 
						||
| 
								 | 
							
								        "hex2b64"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "hex2b64",
							 | 
						||
| 
								 | 
							
								        "b64tohex",
							 | 
						||
| 
								 | 
							
								        "b64toBA"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 2,
							 | 
						||
| 
								 | 
							
								      "source": "import { int2char } from \"./util\";\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nexport function hex2b64(h) {\n    var i;\n    var c;\n    var ret = \"\";\n    for (i = 0; i + 3 <= h.length; i += 3) {\n        c = parseInt(h.substring(i, i + 3), 16);\n        ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n    }\n    if (i + 1 == h.length) {\n        c = parseInt(h.substring(i, i + 1), 16);\n        ret += b64map.charAt(c << 2);\n    }\n    else if (i + 2 == h.length) {\n        c = parseInt(h.substring(i, i + 2), 16);\n        ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n    }\n    while ((ret.length & 3) > 0)\n        ret += b64pad;\n    return ret;\n}\n// convert a base64 string to hex\nexport function b64tohex(s) {\n    var ret = \"\";\n    var i;\n    var k = 0; // b64 state, 0-3\n    var slop;\n    for (i = 0; i < s.length; ++i) {\n        if (s.charAt(i) == b64pad)\n            break;\n        var v = b64map.indexOf(s.charAt(i));\n        if (v < 0)\n            continue;\n        if (k == 0) {\n            ret += int2char(v >> 2);\n            slop = v & 3;\n            k = 1;\n        }\n        else if (k == 1) {\n            ret += int2char((slop << 2) | (v >> 4));\n            slop = v & 0xf;\n            k = 2;\n        }\n        else if (k == 2) {\n            ret += int2char(slop);\n            ret += int2char(v >> 2);\n            slop = v & 3;\n            k = 3;\n        }\n        else {\n            ret += int2char((slop << 2) | (v >> 4));\n            ret += int2char(v & 0xf);\n            k = 0;\n        }\n    }\n    if (k == 1)\n        ret += int2char(slop << 2);\n    return ret;\n}\n// convert a base64 string to a byte/number array\nexport function b64toBA(s) {\n    //piggyback on b64tohex for now, optimize later\n    var h = b64tohex(s);\n    var i;\n    var a = new Array();\n    for (i = 0; 2 * i < h.length; ++i) {\n        a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n    }\n    return a;\n}\n"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 3,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								      "name": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								      "index": 0,
							 | 
						||
| 
								 | 
							
								      "index2": 12,
							 | 
						||
| 
								 | 
							
								      "size": 12539,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": null,
							 | 
						||
| 
								 | 
							
								      "issuerId": null,
							 | 
						||
| 
								 | 
							
								      "issuerName": null,
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 16,
							 | 
						||
| 
								 | 
							
								        "building": 17
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [],
							 | 
						||
| 
								 | 
							
								      "usedExports": true,
							 | 
						||
| 
								 | 
							
								      "providedExports": [],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 0,
							 | 
						||
| 
								 | 
							
								      "source": "import {JSEncrypt} from \"../src/jsencrypt\";\n\nvar keySizes = [128, 256, 512, 1024, 2048];\n\nvar pbkeys = [\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MCwwDQYJKoZIhvcNAQEBBQADGwAwGAIRAMfE82X6tlpNK7Bxbhg6nEECAwEAAQ==\\n\" +\n  \"-----END PUBLIC KEY-----\",\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAMLw0mRGv5KF+P0LsgNvfrM5AJdVBWqr\\n\" +\n  \"Q6Bf2gES5gwPAgMBAAE=\\n\" +\n  \"-----END PUBLIC KEY-----\",\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKEpu21RDTXxEly55HdkVV9SlFL3Hgpl\\n\" +\n  \"i6+IohAsnaqFnApsKi1R7fAd3tBLmeHV2tlxYIogtxpzfpcc+QBVDx8CAwEAAQ==\\n\" +\n  \"-----END PUBLIC KEY-----\",\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5LO5xVlO9g4PL1xdWudnihIAP\\n\" +\n  \"bMsixr396bIbBIwKBul98UWQ3UALbqByq2bXVuoIbl48UokxOVstenGCyyo026NF\\n\" +\n  \"h3Fg6Cnvj9ptvbmqk2i3eTOBrt+e26Z1sepsnQL5OojiVIbrWwS6v1pFCXpnnLLv\\n\" +\n  \"yy6GPt/kftbhazH3oQIDAQAB\\n\" +\n  \"-----END PUBLIC KEY-----\",\n  \"-----BEGIN PUBLIC KEY-----\\n\" +\n  \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtKrsFSnzYl19m5wTwYdu\\n\" +\n  \"/r1UVZJV+zkAFud6+XTInAy8HbCR9n59H9+54P+Af/fUE6rvEPc4H09Z63vQzIGM\\n\" +\n  \"iL6GlqzMmptv/KRDIhj7Mk3MXomvEVfUsXrz5IpO0lf6NSeGhz4PGZUkHZ30VRx3\\n\" +\n  \"Jd/a0KIhgftZHxzmMsh8iB/n781B18pCP2eOPTF+5gRCaW+0fVPBlb/mBlg8MJrd\\n\" +\n  \"ScGCAReQ9NfTq8slJ0aO1NWaaRRANPQcCMljnTIK1ssyXBaSHKfoWeGx141mWMRx\\n\" +\n  \"/LxyZ13Zc3lqgmICiKFqMrQl5UeV1IUXYpj5hO9f60LGpZVHDqqo/JdF3+VAheaf\\n\" +\n  \"QwIDAQAB\\n\" +\n  \"-----END PUBLIC KEY-----\"\n];\n\nvar prkeys = [\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MGMCAQACEQDHxPNl+rZaTSuwcW4YOpxBAgMBAAECEQCqk6mhsmpyv17fK1dPeD3h\\n\" +\n  \"AgkA9Lo1aGRom0sCCQDQ+JpqE6KDIwIJAKstyIfBnA3rAggOsWwqCTdkAQIIOP95\\n\" +\n  \"RV9y2iQ=\\n\" +\n  \"-----END RSA PRIVATE KEY-----\\n\",\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MIGqAgEAAiEAwvDSZEa/koX4/QuyA29+szkAl1UFaqtDoF/aARLmDA8CAwEAAQIh\\n\" +\n  \"AME2Z5Ez/hR/7PUBboKxM2U7hSaavytvocBdQjLvOUWhAhEA8HgiLHRk9KjJ2hp0\\n\" +\n  \"5q3BfQIRAM+H7dYUXRnKXjYoqiKueXsCEGnaaCirf/lXB6vzs3wMBr0CEHT2Xwzw\\n\" +\n  \"nSgT7dUIRhsVylECEFQRGFtZcKRmL8lqTBwECWI=\\n\" +\n  \"-----END RSA PRIVATE KEY-----\\n\",\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MIIBOQIBAAJBAKEpu21RDTXxEly55HdkVV9SlFL3Hgpli6+IohAsnaqFnApsKi1R\\n\" +\n  \"7fAd3tBLmeHV2tlxYIogtxpzfpcc+QBVDx8CAwEAAQJAFn0VS07JEiLelhPWfpaA\\n\" +\n  \"lzmVuvICvh6nXEormygupBGiIPSXfIsTFid26yxt9wu4JHeRF0lq+Ozo55XpBQED\\n\" +\n  \"4QIhAM0E7ikuEa2bDsR2hQJhIz3SvzzyhE5dJcqFjRtKtMQvAiEAyT0C0gUyqCdN\\n\" +\n  \"YuRON1T7FUffarMdQXR+8tgRkhoCeBECID+ZKfAoVF+QXDJhub0VOQNyntRfPt+4\\n\" +\n  \"UYLTjwRKVm0NAiBuOCtuSoiHTxd0naU1aycmbboxn67bZeoOKkfdZL+LcQIgK6Xh\\n\" +\n  \"1wb9I/sNYv9ByJEGBNJRwtUEZrk5babLEdkUq90=\\n\" +\n  \"-----END RSA PRIVATE KEY-----\\n\",\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MIICXgIBAAKBgQC5LO5xVlO9g4PL1xdWudnihIAPbMsixr396bIbBIwKBul98UWQ\\n\" +\n  \"3UALbqByq2bXVuoIbl48UokxOVstenGCyyo026NFh3Fg6Cnvj9ptvbmqk2i3eTOB\\n\" +\n  \"rt+e26Z1sepsnQL5OojiVIbrWwS6v1pFCXpnnLLvyy6GPt/kftbhazH3oQIDAQAB\\n\" +\n  \"AoGAA+EiGbPCS10e/L1D2uhH3UwDVs9jrhXV0yT7Oz+sI2WjrKTKXU+VUOf/aoeW\\n\" +\n  \"vvouKwEM7lyYTTSzaU+AY0oYVzv7HN9hWoVwi0NoPpd4V1RFfFb4+4DmXh+NZS7E\\n\" +\n  \"DX9+WY435Yc9Qj7uHoc8EoRk3QfWaZTXd69b/9tS4Yy/tnECQQDxHsSe7Qxd+6tf\\n\" +\n  \"/f4eO+bENCxIMbPU8GPWQCvq9eT9Av2I0LTTchmlhG1TSatq62zq+Unef8M/IOBs\\n\" +\n  \"j5z3issdAkEAxJpYiuAVXulViUOLdS3QX72owIQLxpFBAKQ9cPTafqc47ms4Swy2\\n\" +\n  \"FCa4MZfTJXrDX5pur+PNeP/ce6xZN5DzVQJBAJI1kgy8uU8UGKswnTNAJ4K6EFAG\\n\" +\n  \"s4Ff82orp3XmfWBeu9aGl9/PxHV1g8WJWoSPFZC2cXCWEJLrIKszun7wjpECQQCs\\n\" +\n  \"Z+mjh1RWUepHn+rozE9B1jDo+iLVc8V8CYszxhThIkWjlnTcI358d2PpYYmxAVHZ\\n\" +\n  \"QbU1G2CxbjZsYbwvJTatAkEAspmMlIyKWgrQkLJ4rbPespMJCGe6VYharl1Qc5CF\\n\" +\n  \"/2SgKSCuLfhA/Cur0nO3dxt6XJijk/r3+j+8L/m+wqud+A==\\n\" +\n  \"-----END RSA PRIVATE KEY-----\\n\",\n  \"-----BEGIN RSA PRIVATE KEY-----\\n\" +\n  \"MIIEpAIBAAKCAQEAtKrsFSnzYl19m5wTwYdu/r1UVZJV+zkAFud6+XTInAy8HbCR\\n\" +\n  \"9n59H9+54P+Af/fUE6rvEPc4H09Z63vQzIGMiL6GlqzMmptv/KRDIhj7Mk3MXomv\\n\"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 4,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "name": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "index": 1,
							 | 
						||
| 
								 | 
							
								      "index2": 11,
							 | 
						||
| 
								 | 
							
								      "size": 16124,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								      "issuerId": 3,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 2,
							 | 
						||
| 
								 | 
							
								        "building": 11
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 3,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "module": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./test/test.rsa.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../src/jsencrypt",
							 | 
						||
| 
								 | 
							
								          "loc": "1:0-43"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "JSEncrypt"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "JSEncrypt"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 1,
							 | 
						||
| 
								 | 
							
								      "source": "import {ASN1} from \"../lib/asn1js/asn1\";\nimport {RSAKey} from \"../lib/jsbn/rsa\";\nimport {Base64} from \"../lib/asn1js/base64\";\nimport {Hex} from \"../lib/asn1js/hex\";\nimport {parseBigInt} from \"../lib/jsbn/jsbn\";\nimport {KJUR} from \"../lib/jsrsasign/asn1-1.0\";\nimport {hex2b64} from \"../lib/jsbn/base64\";\nimport {b64tohex} from \"../lib/jsbn/base64\";\n\n/**\n * Retrieve the hexadecimal value (as a string) of the current ASN.1 element\n * @returns {string}\n * @public\n */\nASN1.prototype.getHexStringValue = function () {\n  var hexString = this.toHexString();\n  var offset = this.header * 2;\n  var length = this.length * 2;\n  return hexString.substr(offset, length);\n};\n\n/**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n *   algorithm       AlgorithmIdentifier,\n *   PublicKey       BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n *   algorithm       OBJECT IDENTIFIER,     the OID of the enc algorithm\n *   parameters      ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n *   modulus           INTEGER,  -- n\n *   publicExponent    INTEGER   -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\nRSAKey.prototype.parseKey = function (pem) {\n  try {\n    var modulus = 0;\n    var public_exponent = 0;\n    var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n    var der = reHex.test(pem) ? Hex.decode(pem) : Base64.unarmor(pem);\n    var asn1 = ASN1.decode(der);\n\n    //Fixes a bug with OpenSSL 1.0+ private keys\n    if(asn1.sub.length === 3){\n        asn1 = asn1.sub[2].sub[0];\n    }\n    if (asn1.sub.length === 9) {\n\n      // Parse the private key.\n      modulus = asn1.sub[1].getHexStringValue(); //bigint\n      this.n = parseBigInt(modulus, 16);\n\n      public_exponent = asn1.sub[2].getHexStringValue(); //int\n      this.e = parseInt(public_exponent, 16);\n\n      var private_exponent = asn1.sub[3].getHexStringValue(); //bigint\n      this.d = parseBigInt(private_exponent, 16);\n\n      var prime1 = asn1.sub[4].getHexStringValue(); //bigint\n      this.p = parseBigInt(prime1, 16);\n\n      var prime2 = asn1.sub[5].getHexStringValue(); //bigint\n      this.q = parseBigInt(prime2, 16);\n\n      var exponent1 = asn1.sub[6].getHexStringValue(); //bigint\n      this.dmp1 = parseBigInt(exponent1, 16);\n\n      var exponent2 = asn1.sub[7].getHexStringValue(); //bigint\n      this.dmq1 = parseBigInt(exponent2, 16);\n\n      var coefficient = asn1.sub[8].getHexStringValue(); //bigint\n      this.coeff = parseBigInt(coefficient, 16);\n\n    }\n    else if (asn1.sub.length === 2) {\n\n      // Parse the public key.\n      var bit_string = asn1.sub[1];\n      var sequence = bit_string.sub[0];\n\n      modulus = sequence.sub[0].getHexStringValue();\n      this.n = parseBigInt(modulus, 16);\n      public_exponent = sequence.sub[1].getHexStringValue();\n      this.e = parseInt(public_exponent, 16);\n\n    }\n    else {\n      return false;\n    }\n    return true;\n  }\n  catch (ex) {\n    return false;\n  }\n};\n\n/**\n * Translate rsa parameters in a hex encoded string representing the rsa key.\n *\n * The translation follow the ASN.1 notation :\n * RSAPrivateKey ::= SEQUENCE {\n *   version           Version,\n *   modulus           INTEGER,  -- n\n *   publicExponent    INTEGER,  -- e\n *   privateExponen
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 5,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								      "index": 2,
							 | 
						||
| 
								 | 
							
								      "index2": 1,
							 | 
						||
| 
								 | 
							
								      "size": 19813,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "issuerId": 4,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 33,
							 | 
						||
| 
								 | 
							
								        "building": 707
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 4,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../lib/asn1js/asn1",
							 | 
						||
| 
								 | 
							
								          "loc": "1:0-40"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "ASN1"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "Stream",
							 | 
						||
| 
								 | 
							
								        "ASN1"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 2,
							 | 
						||
| 
								 | 
							
								      "source": "// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\nimport { Int10 } from \"./int10\";\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n    if (str.length > len) {\n        str = str.substring(0, len) + ellipsis;\n    }\n    return str;\n}\nvar Stream = /** @class */ (function () {\n    function Stream(enc, pos) {\n        this.hexDigits = \"0123456789ABCDEF\";\n        if (enc instanceof Stream) {\n            this.enc = enc.enc;\n            this.pos = enc.pos;\n        }\n        else {\n            // enc should be an array or a binary string\n            this.enc = enc;\n            this.pos = pos;\n        }\n    }\n    Stream.prototype.get = function (pos) {\n        if (pos === undefined) {\n            pos = this.pos++;\n        }\n        if (pos >= this.enc.length) {\n            throw new Error(\"Requesting byte offset \" + pos + \" on a stream of length \" + this.enc.length);\n        }\n        return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n    };\n    Stream.prototype.hexByte = function (b) {\n        return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n    };\n    Stream.prototype.hexDump = function (start, end, raw) {\n        var s = \"\";\n        for (var i = start; i < end; ++i) {\n            s += this.hexByte(this.get(i));\n            if (raw !== true) {\n                switch (i & 0xF) {\n                    case 0x7:\n                        s += \"  \";\n                        break;\n                    case 0xF:\n                        s += \"\\n\";\n                        break;\n                    default:\n                        s += \" \";\n                }\n            }\n        }\n        return s;\n    };\n    Stream.prototype.isASCII = function (start, end) {\n        for (var i = start; i < end; ++i) {\n            var c = this.get(i);\n            if (c < 32 || c > 176) {\n                return false;\n            }\n        }\n        return true;\n    };\n    Stream.prototype.parseStringISO = function (start, end) {\n        var s = \"\";\n        for (var i = start; i < end; ++i) {\n            s += String.fromCharCode(this.get(i));\n        }\n        return s;\n    };\n    Stream.prototype.parseStringUTF = function (start, end) {\n        var s = \"\";\n        for (var i = start; i < end;) {\n            var c = this.get(i++);\n            if (c < 128) {\n                s += String.fromCharCode(c);\n            }\n            else if ((c > 191) && (c < 224)) {\n                s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n            }\n            else {\n                s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n            }\n        }\n        return s;\n    };\n    Stream.
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 6,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/int10.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/asn1js/int10.ts",
							 | 
						||
| 
								 | 
							
								      "index": 3,
							 | 
						||
| 
								 | 
							
								      "index2": 0,
							 | 
						||
| 
								 | 
							
								      "size": 2793,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								      "issuerId": 5,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 253,
							 | 
						||
| 
								 | 
							
								        "building": 30
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 5,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								          "module": "./lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./lib/asn1js/asn1.ts",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "./int10",
							 | 
						||
| 
								 | 
							
								          "loc": "16:0-32"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "Int10"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "Int10"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 3,
							 | 
						||
| 
								 | 
							
								      "source": "// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n    function Int10(value) {\n        this.buf = [+value || 0];\n    }\n    Int10.prototype.mulAdd = function (m, c) {\n        // assert(m <= 256)\n        var b = this.buf;\n        var l = b.length;\n        var i;\n        var t;\n        for (i = 0; i < l; ++i) {\n            t = b[i] * m + c;\n            if (t < max) {\n                c = 0;\n            }\n            else {\n                c = 0 | (t / max);\n                t -= c * max;\n            }\n            b[i] = t;\n        }\n        if (c > 0) {\n            b[i] = c;\n        }\n    };\n    Int10.prototype.sub = function (c) {\n        // assert(m <= 256)\n        var b = this.buf;\n        var l = b.length;\n        var i;\n        var t;\n        for (i = 0; i < l; ++i) {\n            t = b[i] - c;\n            if (t < 0) {\n                t += max;\n                c = 1;\n            }\n            else {\n                c = 0;\n            }\n            b[i] = t;\n        }\n        while (b[b.length - 1] === 0) {\n            b.pop();\n        }\n    };\n    Int10.prototype.toString = function (base) {\n        if ((base || 10) != 10) {\n            throw new Error(\"only base 10 is supported\");\n        }\n        var b = this.buf;\n        var s = b[b.length - 1].toString();\n        for (var i = b.length - 2; i >= 0; --i) {\n            s += (max + b[i]).toString().substring(1);\n        }\n        return s;\n    };\n    Int10.prototype.valueOf = function () {\n        var b = this.buf;\n        var v = 0;\n        for (var i = b.length - 1; i >= 0; --i) {\n            v = v * max + b[i];\n        }\n        return v;\n    };\n    Int10.prototype.simplify = function () {\n        var b = this.buf;\n        return (b.length == 1) ? b[0] : this;\n    };\n    return Int10;\n}());\nexport { Int10 };\n"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 7,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								      "index": 4,
							 | 
						||
| 
								 | 
							
								      "index2": 6,
							 | 
						||
| 
								 | 
							
								      "size": 7707,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "issuerId": 4,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 48,
							 | 
						||
| 
								 | 
							
								        "building": 780,
							 | 
						||
| 
								 | 
							
								        "dependencies": 0
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 2,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 4,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../lib/jsbn/rsa",
							 | 
						||
| 
								 | 
							
								          "loc": "2:0-39"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "RSAKey"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "RSAKey"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 2,
							 | 
						||
| 
								 | 
							
								      "source": "// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\nimport { BigInteger, parseBigInt } from \"./jsbn\";\nimport { SecureRandom } from \"./rng\";\nfunction linebrk(s, n) {\n    var ret = \"\";\n    var i = 0;\n    while (i + n < s.length) {\n        ret += s.substring(i, i + n) + \"\\n\";\n        i += n;\n    }\n    return ret + s.substring(i, s.length);\n}\nfunction byte2Hex(b) {\n    if (b < 0x10)\n        return \"0\" + b.toString(16);\n    else\n        return b.toString(16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n    if (n < s.length + 11) {\n        console.error(\"Message too long for RSA\");\n        return null;\n    }\n    var ba = new Array();\n    var i = s.length - 1;\n    while (i >= 0 && n > 0) {\n        var c = s.charCodeAt(i--);\n        if (c < 128) {\n            ba[--n] = c;\n        }\n        else if ((c > 127) && (c < 2048)) {\n            ba[--n] = (c & 63) | 128;\n            ba[--n] = (c >> 6) | 192;\n        }\n        else {\n            ba[--n] = (c & 63) | 128;\n            ba[--n] = ((c >> 6) & 63) | 128;\n            ba[--n] = (c >> 12) | 224;\n        }\n    }\n    ba[--n] = 0;\n    var rng = new SecureRandom();\n    var x = new Array();\n    while (n > 2) {\n        x[0] = 0;\n        while (x[0] == 0)\n            rng.nextBytes(x);\n        ba[--n] = x[0];\n    }\n    ba[--n] = 2;\n    ba[--n] = 0;\n    return new BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n    function RSAKey() {\n        this.n = null;\n        this.e = 0;\n        this.d = null;\n        this.p = null;\n        this.q = null;\n        this.dmp1 = null;\n        this.dmq1 = null;\n        this.coeff = null;\n    }\n    //#region PROTECTED\n    // protected\n    // RSAKey.prototype.doPublic = RSADoPublic;\n    // Perform raw public operation on \"x\": return x^e (mod n)\n    RSAKey.prototype.doPublic = function (x) {\n        return x.modPowInt(this.e, this.n);\n    };\n    // RSAKey.prototype.doPrivate = RSADoPrivate;\n    // Perform raw private operation on \"x\": return x^d (mod n)\n    RSAKey.prototype.doPrivate = function (x) {\n        if (this.p == null || this.q == null)\n            return x.modPow(this.d, this.n);\n        // TODO: re-calculate any missing CRT params\n        var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n        var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n        while (xp.compareTo(xq) < 0)\n            xp = xp.add(this.p);\n        return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n    };\n    //#endregion PROTECTED\n    //#region PUBLIC\n    // RSAKey.prototype.setPublic = RSASetPublic;\n    // Set the public key fields N and e from hex strings\n    RSAKey.prototype.setPublic = function (N, E) {\n        if (N != null && E != null && N.length > 0 && E.length > 0) {\n            this.n = parseBigInt(N, 16);\n            this.e = parseInt(E, 16);\n        }\n        else\n            console.error(\"Invalid RSA public key\");\n    };\n    // RSAKey.prototype.encrypt = RSAEncrypt;\n    // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n    RSAKey.prototype.encrypt = function (text) {\n        var m = pkcs1pad2(text, (this.n.bitLength() + 7) >> 3);\n        if (m == null)\n            return null;\n        var c = this.doPublic(m);\n        if (c == null)\n            return null;\n        var h = c.toString(16);\n        if ((h.length & 1) == 0)\n            return h;\n        else\n            return \"0\" + h;\n    };\n    // RSAKey.prototype.setPrivate = RSASetPrivate;\n    // Set the private key fields N, e, and d from hex strings\n    RSAKey.prototype.setPrivate = function (N, E, D) {\n        if (N != null && E != null && N.length > 0 && E.length > 0) {\n            this.n = parseBigInt(N, 16);\n            this.e = parseInt(E, 16);\n            this.d = parseBigInt(D, 16);\n        }\n        el
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 8,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								      "index": 7,
							 | 
						||
| 
								 | 
							
								      "index2": 5,
							 | 
						||
| 
								 | 
							
								      "size": 2618,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								      "issuerId": 7,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 165,
							 | 
						||
| 
								 | 
							
								        "building": 16
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 7,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "module": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./lib/jsbn/rsa.ts",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "./rng",
							 | 
						||
| 
								 | 
							
								          "loc": "5:0-37"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "SecureRandom"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "SecureRandom"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 3,
							 | 
						||
| 
								 | 
							
								      "source": "// Random number generator - requires a PRNG backend, e.g. prng4.js\nimport { prng_newstate, rng_psize } from \"./prng4\";\nvar rng_state;\nvar rng_pool;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n    rng_pool = [];\n    rng_pptr = 0;\n    var t = void 0;\n    if (window.crypto && window.crypto.getRandomValues) {\n        // Extract entropy (2048 bits) from RNG if available\n        var z = new Uint32Array(256);\n        window.crypto.getRandomValues(z);\n        for (t = 0; t < z.length; ++t) {\n            rng_pool[rng_pptr++] = z[t] & 255;\n        }\n    }\n    // Use mouse events for entropy, if we do not have enough entropy by the time\n    // we need it, entropy will be generated by Math.random.\n    var onMouseMoveListener_1 = function (ev) {\n        this.count = this.count || 0;\n        if (this.count >= 256 || rng_pptr >= rng_psize) {\n            if (window.removeEventListener) {\n                window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n            }\n            else if (window.detachEvent) {\n                window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n            }\n            return;\n        }\n        try {\n            var mouseCoordinates = ev.x + ev.y;\n            rng_pool[rng_pptr++] = mouseCoordinates & 255;\n            this.count += 1;\n        }\n        catch (e) {\n            // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n        }\n    };\n    if (window.addEventListener) {\n        window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n    }\n    else if (window.attachEvent) {\n        window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n    }\n}\nfunction rng_get_byte() {\n    if (rng_state == null) {\n        rng_state = prng_newstate();\n        // At this point, we may not have collected enough entropy.  If not, fall back to Math.random\n        while (rng_pptr < rng_psize) {\n            var random = Math.floor(65536 * Math.random());\n            rng_pool[rng_pptr++] = random & 255;\n        }\n        rng_state.init(rng_pool);\n        for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n            rng_pool[rng_pptr] = 0;\n        }\n        rng_pptr = 0;\n    }\n    // TODO: allow reseeding after first request\n    return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n    function SecureRandom() {\n    }\n    SecureRandom.prototype.nextBytes = function (ba) {\n        for (var i = 0; i < ba.length; ++i) {\n            ba[i] = rng_get_byte();\n        }\n    };\n    return SecureRandom;\n}());\nexport { SecureRandom };\n"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 9,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/prng4.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/jsbn/prng4.ts",
							 | 
						||
| 
								 | 
							
								      "index": 8,
							 | 
						||
| 
								 | 
							
								      "index2": 4,
							 | 
						||
| 
								 | 
							
								      "size": 1320,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								      "issuerId": 8,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 14,
							 | 
						||
| 
								 | 
							
								        "building": 4
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 8,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								          "module": "./lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./lib/jsbn/rng.ts",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "./prng4",
							 | 
						||
| 
								 | 
							
								          "loc": "2:0-51"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "prng_newstate",
							 | 
						||
| 
								 | 
							
								        "rng_psize"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "Arcfour",
							 | 
						||
| 
								 | 
							
								        "prng_newstate",
							 | 
						||
| 
								 | 
							
								        "rng_psize"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 4,
							 | 
						||
| 
								 | 
							
								      "source": "// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n    function Arcfour() {\n        this.i = 0;\n        this.j = 0;\n        this.S = [];\n    }\n    //Arcfour.prototype.init = ARC4init;\n    // Initialize arcfour context from key, an array of ints, each from [0..255]\n    Arcfour.prototype.init = function (key) {\n        var i, j, t;\n        for (i = 0; i < 256; ++i)\n            this.S[i] = i;\n        j = 0;\n        for (i = 0; i < 256; ++i) {\n            j = (j + this.S[i] + key[i % key.length]) & 255;\n            t = this.S[i];\n            this.S[i] = this.S[j];\n            this.S[j] = t;\n        }\n        this.i = 0;\n        this.j = 0;\n    };\n    // Arcfour.prototype.next = ARC4next;\n    Arcfour.prototype.next = function () {\n        var t;\n        this.i = (this.i + 1) & 255;\n        this.j = (this.j + this.S[this.i]) & 255;\n        t = this.S[this.i];\n        this.S[this.i] = this.S[this.j];\n        this.S[this.j] = t;\n        return this.S[(t + this.S[this.i]) & 255];\n    };\n    return Arcfour;\n}());\nexport { Arcfour };\n// Plug in your RNG constructor here\nexport function prng_newstate() {\n    return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nexport var rng_psize = 256;\n"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 10,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/base64.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/asn1js/base64.ts",
							 | 
						||
| 
								 | 
							
								      "index": 9,
							 | 
						||
| 
								 | 
							
								      "index2": 7,
							 | 
						||
| 
								 | 
							
								      "size": 2887,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "issuerId": 4,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 47,
							 | 
						||
| 
								 | 
							
								        "building": 703
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 4,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../lib/asn1js/base64",
							 | 
						||
| 
								 | 
							
								          "loc": "3:0-44"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "Base64"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "Base64"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 2,
							 | 
						||
| 
								 | 
							
								      "source": "// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nexport var Base64 = {\n    decode: function (a) {\n        var i;\n        if (decoder === undefined) {\n            var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n            decoder = [];\n            for (i = 0; i < 64; ++i)\n                decoder[b64.charAt(i)] = i;\n            for (i = 0; i < ignore.length; ++i)\n                decoder[ignore.charAt(i)] = -1;\n        }\n        var out = [];\n        var bits = 0, char_count = 0;\n        for (i = 0; i < a.length; ++i) {\n            var c = a.charAt(i);\n            if (c == '=')\n                break;\n            c = decoder[c];\n            if (c == -1)\n                continue;\n            if (c === undefined)\n                throw 'Illegal character at offset ' + i;\n            bits |= c;\n            if (++char_count >= 4) {\n                out[out.length] = (bits >> 16);\n                out[out.length] = (bits >> 8) & 0xFF;\n                out[out.length] = bits & 0xFF;\n                bits = 0;\n                char_count = 0;\n            }\n            else {\n                bits <<= 6;\n            }\n        }\n        switch (char_count) {\n            case 1:\n                throw \"Base64 encoding incomplete: at least 2 bits missing\";\n            case 2:\n                out[out.length] = (bits >> 10);\n                break;\n            case 3:\n                out[out.length] = (bits >> 16);\n                out[out.length] = (bits >> 8) & 0xFF;\n                break;\n        }\n        return out;\n    },\n    re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n    unarmor: function (a) {\n        var m = Base64.re.exec(a);\n        if (m) {\n            if (m[1])\n                a = m[1];\n            else if (m[2])\n                a = m[2];\n            else\n                throw \"RegExp out of sync\";\n        }\n        return Base64.decode(a);\n    }\n};\n"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 11,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/node_modules/ts-loader/index.js??ref--0-0!/home/corax/source/jsencrypt/lib/asn1js/hex.ts",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/asn1js/hex.ts",
							 | 
						||
| 
								 | 
							
								      "index": 10,
							 | 
						||
| 
								 | 
							
								      "index2": 8,
							 | 
						||
| 
								 | 
							
								      "size": 2303,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "issuerId": 4,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 48,
							 | 
						||
| 
								 | 
							
								        "building": 747
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 4,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../lib/asn1js/hex",
							 | 
						||
| 
								 | 
							
								          "loc": "4:0-38"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "Hex"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "Hex"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 2,
							 | 
						||
| 
								 | 
							
								      "source": "// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini <lapo@lapo.it>\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// \n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nexport var Hex = {\n    decode: function (a) {\n        var i;\n        if (decoder === undefined) {\n            var hex = \"0123456789ABCDEF\";\n            var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n            decoder = {};\n            for (i = 0; i < 16; ++i) {\n                decoder[hex.charAt(i)] = i;\n            }\n            hex = hex.toLowerCase();\n            for (i = 10; i < 16; ++i) {\n                decoder[hex.charAt(i)] = i;\n            }\n            for (i = 0; i < ignore.length; ++i) {\n                decoder[ignore.charAt(i)] = -1;\n            }\n        }\n        var out = [];\n        var bits = 0;\n        var char_count = 0;\n        for (i = 0; i < a.length; ++i) {\n            var c = a.charAt(i);\n            if (c == \"=\") {\n                break;\n            }\n            c = decoder[c];\n            if (c == -1) {\n                continue;\n            }\n            if (c === undefined) {\n                throw new Error(\"Illegal character at offset \" + i);\n            }\n            bits |= c;\n            if (++char_count >= 2) {\n                out[out.length] = bits;\n                bits = 0;\n                char_count = 0;\n            }\n            else {\n                bits <<= 4;\n            }\n        }\n        if (char_count) {\n            throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n        }\n        return out;\n    }\n};\n"
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      "id": 12,
							 | 
						||
| 
								 | 
							
								      "identifier": "/home/corax/source/jsencrypt/lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								      "name": "./lib/jsrsasign/asn1-1.0.js",
							 | 
						||
| 
								 | 
							
								      "index": 11,
							 | 
						||
| 
								 | 
							
								      "index2": 9,
							 | 
						||
| 
								 | 
							
								      "size": 41390,
							 | 
						||
| 
								 | 
							
								      "cacheable": true,
							 | 
						||
| 
								 | 
							
								      "built": true,
							 | 
						||
| 
								 | 
							
								      "optional": false,
							 | 
						||
| 
								 | 
							
								      "prefetched": false,
							 | 
						||
| 
								 | 
							
								      "chunks": [
							 | 
						||
| 
								 | 
							
								        0
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "assets": [],
							 | 
						||
| 
								 | 
							
								      "issuer": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "issuerId": 4,
							 | 
						||
| 
								 | 
							
								      "issuerName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								      "profile": {
							 | 
						||
| 
								 | 
							
								        "factory": 4,
							 | 
						||
| 
								 | 
							
								        "building": 26,
							 | 
						||
| 
								 | 
							
								        "dependencies": 18
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      "failed": false,
							 | 
						||
| 
								 | 
							
								      "errors": 0,
							 | 
						||
| 
								 | 
							
								      "warnings": 0,
							 | 
						||
| 
								 | 
							
								      "reasons": [
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								          "moduleId": 4,
							 | 
						||
| 
								 | 
							
								          "moduleIdentifier": "/home/corax/source/jsencrypt/src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "module": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "moduleName": "./src/jsencrypt.js",
							 | 
						||
| 
								 | 
							
								          "type": "harmony import",
							 | 
						||
| 
								 | 
							
								          "userRequest": "../lib/jsrsasign/asn1-1.0",
							 | 
						||
| 
								 | 
							
								          "loc": "6:0-47"
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "usedExports": [
							 | 
						||
| 
								 | 
							
								        "KJUR"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "providedExports": [
							 | 
						||
| 
								 | 
							
								        "JSX",
							 | 
						||
| 
								 | 
							
								        "KJUR"
							 | 
						||
| 
								 | 
							
								      ],
							 | 
						||
| 
								 | 
							
								      "optimizationBailout": [],
							 | 
						||
| 
								 | 
							
								      "depth": 2,
							 | 
						||
| 
								 | 
							
								      "source": "/*! asn1-1.0.2.js (c) 2013 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n\nimport {BigInteger} from \"../jsbn/jsbn\";\nexport const JSX = {};\nJSX.env = JSX.env || {};\n\nconst L = JSX, OP = Object.prototype, FUNCTION_TOSTRING = '[object Function]',ADD = [\"toString\", \"valueOf\"];\n\nJSX.env.parseUA = function(agent) {\n\n    var numberify = function(s) {\n        var c = 0;\n        return parseFloat(s.replace(/\\./g, function() {\n            return (c++ == 1) ? '' : '.';\n        }));\n    },\n\n    nav = navigator,\n    o = {\n        ie: 0,\n        opera: 0,\n        gecko: 0,\n        webkit: 0,\n        chrome: 0,\n        mobile: null,\n        air: 0,\n        ipad: 0,\n        iphone: 0,\n        ipod: 0,\n        ios: null,\n        android: 0,\n        webos: 0,\n        caja: nav && nav.cajaVersion,\n        secure: false,\n        os: null\n\n    },\n\n    ua = agent || (navigator && navigator.userAgent),\n    loc = window && window.location,\n    href = loc && loc.href,\n    m;\n\n    o.secure = href && (href.toLowerCase().indexOf(\"https\") === 0);\n\n    if (ua) {\n\n        if ((/windows|win32/i).test(ua)) {\n            o.os = 'windows';\n        } else if ((/macintosh/i).test(ua)) {\n            o.os = 'macintosh';\n        } else if ((/rhino/i).test(ua)) {\n            o.os = 'rhino';\n        }\n        if ((/KHTML/).test(ua)) {\n            o.webkit = 1;\n        }\n        m = ua.match(/AppleWebKit\\/([^\\s]*)/);\n        if (m && m[1]) {\n            o.webkit = numberify(m[1]);\n            if (/ Mobile\\//.test(ua)) {\n                o.mobile = 'Apple'; // iPhone or iPod Touch\n                m = ua.match(/OS ([^\\s]*)/);\n                if (m && m[1]) {\n                    m = numberify(m[1].replace('_', '.'));\n                }\n                o.ios = m;\n                o.ipad = o.ipod = o.iphone = 0;\n                m = ua.match(/iPad|iPod|iPhone/);\n                if (m && m[0]) {\n                    o[m[0].toLowerCase()] = o.ios;\n                }\n            } else {\n                m = ua.match(/NokiaN[^\\/]*|Android \\d\\.\\d|webOS\\/\\d\\.\\d/);\n                if (m) {\n                    o.mobile = m[0];\n                }\n                if (/webOS/.test(ua)) {\n                    o.mobile = 'WebOS';\n                    m = ua.match(/webOS\\/([^\\s]*);/);\n                    if (m && m[1]) {\n                        o.webos = numberify(m[1]);\n                    }\n                }\n                if (/ Android/.test(ua)) {\n                    o.mobile = 'Android';\n                    m = ua.match(/Android ([^\\s]*);/);\n                    if (m && m[1]) {\n                        o.android = numberify(m[1]);\n                    }\n                }\n            }\n            m = ua.match(/Chrome\\/([^\\s]*)/);\n            if (m && m[1]) {\n                o.chrome = numberify(m[1]); // Chrome\n            } else {\n                m = ua.match(/AdobeAIR\\/([^\\s]*)/);\n                if (m) {\n                    o.air = m[0]; // Adobe AIR 1.0 or better\n                }\n            }\n        }\n        if (!o.webkit) {\n            m = ua.match(/Opera[\\s\\/]([^\\s]*)/);\n            if (m && m[1]) {\n                o.opera = numberify(m[1]);\n                m = ua.match(/Version\\/([^\\s]*)/);\n                if (m && m[1]) {\n                    o.opera = numberify(m[1]); // opera 10+\n                }\n                m = ua.match(/Opera Mini[^;]*/);\n                if (m) {\n                    o.mobile = m[0]; // ex: Opera Mini/2.0.4509/1316\n                }\n            } else { // not opera or webkit\n                m = ua.match(/MSIE\\s([^;]*)/);\n                if (m && m[1]) {\n                    o.ie = numberify(m[1]);\n                } else { // not opera, webkit, or ie\n                    m = ua.match(/Gecko\\/([^\\s]*)/);\n                    if (m) {\n                        o.gecko = 1; // Gecko detected, look for revision\n                        m = ua.match(/rv:([^\\s\\)]*)/);\n          
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  ],
							 | 
						||
| 
								 | 
							
								  "filteredModules": 0,
							 | 
						||
| 
								 | 
							
								  "children": []
							 | 
						||
| 
								 | 
							
								}
							 |