pixel-priya 1.2.63 → 1.2.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_virtual/index10.js +2 -2
- package/lib/_virtual/index11.js +2 -2
- package/lib/_virtual/index12.js +2 -2
- package/lib/assets/icons/data_set.svg.js +6 -0
- package/lib/assets/icons/data_set.svg.js.map +1 -0
- package/lib/assets/icons/lambda_icon.svg.js +1 -1
- package/lib/assets/icons/lambda_icon.svg.js.map +1 -1
- package/lib/assets/icons/sause_lab_icon.svg.js +1 -1
- package/lib/assets/icons/sause_lab_icon.svg.js.map +1 -1
- package/lib/assets/icons/video_preview.svg.js +6 -0
- package/lib/assets/icons/video_preview.svg.js.map +1 -0
- package/lib/components/Button/Button.js +3 -3
- package/lib/components/Button/Button.js.map +1 -1
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js +66 -3
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js.map +1 -1
- package/lib/components/Comments/Comments.js +5 -3
- package/lib/components/Comments/Comments.js.map +1 -1
- package/lib/components/ConnectingBranch/BranchComponents/MachineInstances.js +2 -2
- package/lib/components/ConnectingBranch/BranchComponents/MachineInstances.js.map +1 -1
- package/lib/components/Drawer/Drawer.js +3 -1
- package/lib/components/Drawer/Drawer.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFile.js +3 -2
- package/lib/components/Excel/ExcelFile/ExcelFile.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js +15 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js.map +1 -1
- package/lib/components/FileDropzone/FileDropzone.js +4 -2
- package/lib/components/FileDropzone/FileDropzone.js.map +1 -1
- package/lib/components/FileDropzone/types.d.ts +2 -0
- package/lib/components/Icon/Icon.js +3 -1
- package/lib/components/Icon/Icon.js.map +1 -1
- package/lib/components/Icon/iconList.js +4 -0
- package/lib/components/Icon/iconList.js.map +1 -1
- package/lib/components/Icon/types.d.ts +1 -0
- package/lib/components/MediaViewerModal/MediaViewerModal.js +22 -1
- package/lib/components/MediaViewerModal/MediaViewerModal.js.map +1 -1
- package/lib/components/MediaViewerModal/type.d.ts +2 -0
- package/lib/components/NLPInput/NlpInput.js +0 -11
- package/lib/components/NLPInput/NlpInput.js.map +1 -1
- package/lib/components/SessionDropdown/SessionDropdown.js +3 -2
- package/lib/components/SessionDropdown/SessionDropdown.js.map +1 -1
- package/lib/components/SessionDropdown/type.d.ts +1 -0
- package/lib/components/SessionManager/SessionManager.js +28 -21
- package/lib/components/SessionManager/SessionManager.js.map +1 -1
- package/lib/components/SessionManager/types.d.ts +1 -0
- package/lib/components/Tooltip/Tooltip.js +19 -0
- package/lib/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/components/TruncatedTooltip/TruncatedTooltip.js +3 -0
- package/lib/components/TruncatedTooltip/TruncatedTooltip.js.map +1 -1
- package/lib/hooks/useFileDropzone.js +10 -3
- package/lib/hooks/useFileDropzone.js.map +1 -1
- package/lib/index.cjs +214 -5275
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +8 -1
- package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
- package/lib/styles.css +1 -1
- package/lib/styles.css.map +1 -1
- package/lib/utils/getEncryptedData/getEncryptedData.d.ts +1 -1
- package/lib/utils/getEncryptedData/getEncryptedData.js +17 -8
- package/lib/utils/getEncryptedData/getEncryptedData.js.map +1 -1
- package/package.json +2 -3
- package/lib/node_modules/jsencrypt/lib/JSEncrypt.js +0 -189
- package/lib/node_modules/jsencrypt/lib/JSEncrypt.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/JSEncryptRSAKey.js +0 -323
- package/lib/node_modules/jsencrypt/lib/JSEncryptRSAKey.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/index.js +0 -6
- package/lib/node_modules/jsencrypt/lib/index.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/asn1.js +0 -570
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/asn1.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/base64.js +0 -88
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/base64.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/hex.js +0 -66
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/hex.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/int10.js +0 -87
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/int10.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/base64.js +0 -65
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/base64.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js +0 -1700
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/prng4.js +0 -48
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/prng4.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/rng.js +0 -77
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/rng.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/rsa.js +0 -371
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/rsa.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/util.js +0 -61
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/util.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js +0 -1547
- package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/yahoo.js +0 -71
- package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/yahoo.js.map +0 -1
|
@@ -1,371 +0,0 @@
|
|
|
1
|
-
import { parseBigInt, BigInteger, nbi } from './jsbn.js';
|
|
2
|
-
import { SecureRandom } from './rng.js';
|
|
3
|
-
|
|
4
|
-
// Depends on jsbn.js and rng.js
|
|
5
|
-
// Version 1.1: support utf-8 encoding in pkcs1pad2
|
|
6
|
-
// convert a (hex) string to a bignum object
|
|
7
|
-
// function linebrk(s,n) {
|
|
8
|
-
// var ret = "";
|
|
9
|
-
// var i = 0;
|
|
10
|
-
// while(i + n < s.length) {
|
|
11
|
-
// ret += s.substring(i,i+n) + "\n";
|
|
12
|
-
// i += n;
|
|
13
|
-
// }
|
|
14
|
-
// return ret + s.substring(i,s.length);
|
|
15
|
-
// }
|
|
16
|
-
// function byte2Hex(b) {
|
|
17
|
-
// if(b < 0x10)
|
|
18
|
-
// return "0" + b.toString(16);
|
|
19
|
-
// else
|
|
20
|
-
// return b.toString(16);
|
|
21
|
-
// }
|
|
22
|
-
function pkcs1pad1(s, n) {
|
|
23
|
-
if (n < s.length + 22) {
|
|
24
|
-
console.error("Message too long for RSA");
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
var len = n - s.length - 6;
|
|
28
|
-
var filler = "";
|
|
29
|
-
for (var f = 0; f < len; f += 2) {
|
|
30
|
-
filler += "ff";
|
|
31
|
-
}
|
|
32
|
-
var m = "0001" + filler + "00" + s;
|
|
33
|
-
return parseBigInt(m, 16);
|
|
34
|
-
}
|
|
35
|
-
// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint
|
|
36
|
-
function pkcs1pad2(s, n) {
|
|
37
|
-
if (n < s.length + 11) {
|
|
38
|
-
// TODO: fix for utf-8
|
|
39
|
-
console.error("Message too long for RSA");
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
var ba = [];
|
|
43
|
-
var i = s.length - 1;
|
|
44
|
-
while (i >= 0 && n > 0) {
|
|
45
|
-
var c = s.charCodeAt(i--);
|
|
46
|
-
if (c < 128) {
|
|
47
|
-
// encode using utf-8
|
|
48
|
-
ba[--n] = c;
|
|
49
|
-
} else if (c > 127 && c < 2048) {
|
|
50
|
-
ba[--n] = c & 63 | 128;
|
|
51
|
-
ba[--n] = c >> 6 | 192;
|
|
52
|
-
} else {
|
|
53
|
-
ba[--n] = c & 63 | 128;
|
|
54
|
-
ba[--n] = c >> 6 & 63 | 128;
|
|
55
|
-
ba[--n] = c >> 12 | 224;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
ba[--n] = 0;
|
|
59
|
-
var rng = new SecureRandom();
|
|
60
|
-
var x = [];
|
|
61
|
-
while (n > 2) {
|
|
62
|
-
// random non-zero pad
|
|
63
|
-
x[0] = 0;
|
|
64
|
-
while (x[0] == 0) {
|
|
65
|
-
rng.nextBytes(x);
|
|
66
|
-
}
|
|
67
|
-
ba[--n] = x[0];
|
|
68
|
-
}
|
|
69
|
-
ba[--n] = 2;
|
|
70
|
-
ba[--n] = 0;
|
|
71
|
-
return new BigInteger(ba);
|
|
72
|
-
}
|
|
73
|
-
// "empty" RSA key constructor
|
|
74
|
-
var RSAKey = /** @class */function () {
|
|
75
|
-
function RSAKey() {
|
|
76
|
-
this.n = null;
|
|
77
|
-
this.e = 0;
|
|
78
|
-
this.d = null;
|
|
79
|
-
this.p = null;
|
|
80
|
-
this.q = null;
|
|
81
|
-
this.dmp1 = null;
|
|
82
|
-
this.dmq1 = null;
|
|
83
|
-
this.coeff = null;
|
|
84
|
-
}
|
|
85
|
-
//#region PROTECTED
|
|
86
|
-
// protected
|
|
87
|
-
// RSAKey.prototype.doPublic = RSADoPublic;
|
|
88
|
-
// Perform raw public operation on "x": return x^e (mod n)
|
|
89
|
-
RSAKey.prototype.doPublic = function (x) {
|
|
90
|
-
return x.modPowInt(this.e, this.n);
|
|
91
|
-
};
|
|
92
|
-
// RSAKey.prototype.doPrivate = RSADoPrivate;
|
|
93
|
-
// Perform raw private operation on "x": return x^d (mod n)
|
|
94
|
-
RSAKey.prototype.doPrivate = function (x) {
|
|
95
|
-
if (this.p == null || this.q == null) {
|
|
96
|
-
return x.modPow(this.d, this.n);
|
|
97
|
-
}
|
|
98
|
-
// TODO: re-calculate any missing CRT params
|
|
99
|
-
var xp = x.mod(this.p).modPow(this.dmp1, this.p);
|
|
100
|
-
var xq = x.mod(this.q).modPow(this.dmq1, this.q);
|
|
101
|
-
while (xp.compareTo(xq) < 0) {
|
|
102
|
-
xp = xp.add(this.p);
|
|
103
|
-
}
|
|
104
|
-
return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);
|
|
105
|
-
};
|
|
106
|
-
//#endregion PROTECTED
|
|
107
|
-
//#region PUBLIC
|
|
108
|
-
// RSAKey.prototype.setPublic = RSASetPublic;
|
|
109
|
-
// Set the public key fields N and e from hex strings
|
|
110
|
-
RSAKey.prototype.setPublic = function (N, E) {
|
|
111
|
-
if (N != null && E != null && N.length > 0 && E.length > 0) {
|
|
112
|
-
this.n = parseBigInt(N, 16);
|
|
113
|
-
this.e = parseInt(E, 16);
|
|
114
|
-
} else {
|
|
115
|
-
console.error("Invalid RSA public key");
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
// RSAKey.prototype.encrypt = RSAEncrypt;
|
|
119
|
-
// Return the PKCS#1 RSA encryption of "text" as an even-length hex string
|
|
120
|
-
RSAKey.prototype.encrypt = function (text) {
|
|
121
|
-
var maxLength = this.n.bitLength() + 7 >> 3;
|
|
122
|
-
var m = pkcs1pad2(text, maxLength);
|
|
123
|
-
if (m == null) {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
var c = this.doPublic(m);
|
|
127
|
-
if (c == null) {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
var h = c.toString(16);
|
|
131
|
-
var length = h.length;
|
|
132
|
-
// fix zero before result
|
|
133
|
-
for (var i = 0; i < maxLength * 2 - length; i++) {
|
|
134
|
-
h = "0" + h;
|
|
135
|
-
}
|
|
136
|
-
return h;
|
|
137
|
-
};
|
|
138
|
-
// RSAKey.prototype.setPrivate = RSASetPrivate;
|
|
139
|
-
// Set the private key fields N, e, and d from hex strings
|
|
140
|
-
RSAKey.prototype.setPrivate = function (N, E, D) {
|
|
141
|
-
if (N != null && E != null && N.length > 0 && E.length > 0) {
|
|
142
|
-
this.n = parseBigInt(N, 16);
|
|
143
|
-
this.e = parseInt(E, 16);
|
|
144
|
-
this.d = parseBigInt(D, 16);
|
|
145
|
-
} else {
|
|
146
|
-
console.error("Invalid RSA private key");
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
// RSAKey.prototype.setPrivateEx = RSASetPrivateEx;
|
|
150
|
-
// Set the private key fields N, e, d and CRT params from hex strings
|
|
151
|
-
RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {
|
|
152
|
-
if (N != null && E != null && N.length > 0 && E.length > 0) {
|
|
153
|
-
this.n = parseBigInt(N, 16);
|
|
154
|
-
this.e = parseInt(E, 16);
|
|
155
|
-
this.d = parseBigInt(D, 16);
|
|
156
|
-
this.p = parseBigInt(P, 16);
|
|
157
|
-
this.q = parseBigInt(Q, 16);
|
|
158
|
-
this.dmp1 = parseBigInt(DP, 16);
|
|
159
|
-
this.dmq1 = parseBigInt(DQ, 16);
|
|
160
|
-
this.coeff = parseBigInt(C, 16);
|
|
161
|
-
} else {
|
|
162
|
-
console.error("Invalid RSA private key");
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
// RSAKey.prototype.generate = RSAGenerate;
|
|
166
|
-
// Generate a new random private key B bits long, using public expt E
|
|
167
|
-
RSAKey.prototype.generate = function (B, E) {
|
|
168
|
-
var rng = new SecureRandom();
|
|
169
|
-
var qs = B >> 1;
|
|
170
|
-
this.e = parseInt(E, 16);
|
|
171
|
-
var ee = new BigInteger(E, 16);
|
|
172
|
-
for (;;) {
|
|
173
|
-
for (;;) {
|
|
174
|
-
this.p = new BigInteger(B - qs, 1, rng);
|
|
175
|
-
if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
for (;;) {
|
|
180
|
-
this.q = new BigInteger(qs, 1, rng);
|
|
181
|
-
if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {
|
|
182
|
-
break;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
if (this.p.compareTo(this.q) <= 0) {
|
|
186
|
-
var t = this.p;
|
|
187
|
-
this.p = this.q;
|
|
188
|
-
this.q = t;
|
|
189
|
-
}
|
|
190
|
-
var p1 = this.p.subtract(BigInteger.ONE);
|
|
191
|
-
var q1 = this.q.subtract(BigInteger.ONE);
|
|
192
|
-
var phi = p1.multiply(q1);
|
|
193
|
-
if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {
|
|
194
|
-
this.n = this.p.multiply(this.q);
|
|
195
|
-
this.d = ee.modInverse(phi);
|
|
196
|
-
this.dmp1 = this.d.mod(p1);
|
|
197
|
-
this.dmq1 = this.d.mod(q1);
|
|
198
|
-
this.coeff = this.q.modInverse(this.p);
|
|
199
|
-
break;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
// RSAKey.prototype.decrypt = RSADecrypt;
|
|
204
|
-
// Return the PKCS#1 RSA decryption of "ctext".
|
|
205
|
-
// "ctext" is an even-length hex string and the output is a plain string.
|
|
206
|
-
RSAKey.prototype.decrypt = function (ctext) {
|
|
207
|
-
var c = parseBigInt(ctext, 16);
|
|
208
|
-
var m = this.doPrivate(c);
|
|
209
|
-
if (m == null) {
|
|
210
|
-
return null;
|
|
211
|
-
}
|
|
212
|
-
return pkcs1unpad2(m, this.n.bitLength() + 7 >> 3);
|
|
213
|
-
};
|
|
214
|
-
// Generate a new random private key B bits long, using public expt E
|
|
215
|
-
RSAKey.prototype.generateAsync = function (B, E, callback) {
|
|
216
|
-
var rng = new SecureRandom();
|
|
217
|
-
var qs = B >> 1;
|
|
218
|
-
this.e = parseInt(E, 16);
|
|
219
|
-
var ee = new BigInteger(E, 16);
|
|
220
|
-
var rsa = this;
|
|
221
|
-
// These functions have non-descript names because they were originally for(;;) loops.
|
|
222
|
-
// I don't know about cryptography to give them better names than loop1-4.
|
|
223
|
-
var loop1 = function () {
|
|
224
|
-
var loop4 = function () {
|
|
225
|
-
if (rsa.p.compareTo(rsa.q) <= 0) {
|
|
226
|
-
var t = rsa.p;
|
|
227
|
-
rsa.p = rsa.q;
|
|
228
|
-
rsa.q = t;
|
|
229
|
-
}
|
|
230
|
-
var p1 = rsa.p.subtract(BigInteger.ONE);
|
|
231
|
-
var q1 = rsa.q.subtract(BigInteger.ONE);
|
|
232
|
-
var phi = p1.multiply(q1);
|
|
233
|
-
if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {
|
|
234
|
-
rsa.n = rsa.p.multiply(rsa.q);
|
|
235
|
-
rsa.d = ee.modInverse(phi);
|
|
236
|
-
rsa.dmp1 = rsa.d.mod(p1);
|
|
237
|
-
rsa.dmq1 = rsa.d.mod(q1);
|
|
238
|
-
rsa.coeff = rsa.q.modInverse(rsa.p);
|
|
239
|
-
setTimeout(function () {
|
|
240
|
-
callback();
|
|
241
|
-
}, 0); // escape
|
|
242
|
-
} else {
|
|
243
|
-
setTimeout(loop1, 0);
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
var loop3 = function () {
|
|
247
|
-
rsa.q = nbi();
|
|
248
|
-
rsa.q.fromNumberAsync(qs, 1, rng, function () {
|
|
249
|
-
rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) {
|
|
250
|
-
if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {
|
|
251
|
-
setTimeout(loop4, 0);
|
|
252
|
-
} else {
|
|
253
|
-
setTimeout(loop3, 0);
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
});
|
|
257
|
-
};
|
|
258
|
-
var loop2 = function () {
|
|
259
|
-
rsa.p = nbi();
|
|
260
|
-
rsa.p.fromNumberAsync(B - qs, 1, rng, function () {
|
|
261
|
-
rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) {
|
|
262
|
-
if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {
|
|
263
|
-
setTimeout(loop3, 0);
|
|
264
|
-
} else {
|
|
265
|
-
setTimeout(loop2, 0);
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
});
|
|
269
|
-
};
|
|
270
|
-
setTimeout(loop2, 0);
|
|
271
|
-
};
|
|
272
|
-
setTimeout(loop1, 0);
|
|
273
|
-
};
|
|
274
|
-
RSAKey.prototype.sign = function (text, digestMethod, digestName) {
|
|
275
|
-
var header = getDigestHeader(digestName);
|
|
276
|
-
var digest = header + digestMethod(text).toString();
|
|
277
|
-
var m = pkcs1pad1(digest, this.n.bitLength() / 4);
|
|
278
|
-
if (m == null) {
|
|
279
|
-
return null;
|
|
280
|
-
}
|
|
281
|
-
var c = this.doPrivate(m);
|
|
282
|
-
if (c == null) {
|
|
283
|
-
return null;
|
|
284
|
-
}
|
|
285
|
-
var h = c.toString(16);
|
|
286
|
-
if ((h.length & 1) == 0) {
|
|
287
|
-
return h;
|
|
288
|
-
} else {
|
|
289
|
-
return "0" + h;
|
|
290
|
-
}
|
|
291
|
-
};
|
|
292
|
-
RSAKey.prototype.verify = function (text, signature, digestMethod) {
|
|
293
|
-
var c = parseBigInt(signature, 16);
|
|
294
|
-
var m = this.doPublic(c);
|
|
295
|
-
if (m == null) {
|
|
296
|
-
return null;
|
|
297
|
-
}
|
|
298
|
-
var unpadded = m.toString(16).replace(/^1f+00/, "");
|
|
299
|
-
var digest = removeDigestHeader(unpadded);
|
|
300
|
-
return digest == digestMethod(text).toString();
|
|
301
|
-
};
|
|
302
|
-
return RSAKey;
|
|
303
|
-
}();
|
|
304
|
-
// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext
|
|
305
|
-
function pkcs1unpad2(d, n) {
|
|
306
|
-
var b = d.toByteArray();
|
|
307
|
-
var i = 0;
|
|
308
|
-
while (i < b.length && b[i] == 0) {
|
|
309
|
-
++i;
|
|
310
|
-
}
|
|
311
|
-
if (b.length - i != n - 1 || b[i] != 2) {
|
|
312
|
-
return null;
|
|
313
|
-
}
|
|
314
|
-
++i;
|
|
315
|
-
while (b[i] != 0) {
|
|
316
|
-
if (++i >= b.length) {
|
|
317
|
-
return null;
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
var ret = "";
|
|
321
|
-
while (++i < b.length) {
|
|
322
|
-
var c = b[i] & 255;
|
|
323
|
-
if (c < 128) {
|
|
324
|
-
// utf-8 decode
|
|
325
|
-
ret += String.fromCharCode(c);
|
|
326
|
-
} else if (c > 191 && c < 224) {
|
|
327
|
-
ret += String.fromCharCode((c & 31) << 6 | b[i + 1] & 63);
|
|
328
|
-
++i;
|
|
329
|
-
} else {
|
|
330
|
-
ret += String.fromCharCode((c & 15) << 12 | (b[i + 1] & 63) << 6 | b[i + 2] & 63);
|
|
331
|
-
i += 2;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
return ret;
|
|
335
|
-
}
|
|
336
|
-
// https://tools.ietf.org/html/rfc3447#page-43
|
|
337
|
-
var DIGEST_HEADERS = {
|
|
338
|
-
md2: "3020300c06082a864886f70d020205000410",
|
|
339
|
-
md5: "3020300c06082a864886f70d020505000410",
|
|
340
|
-
sha1: "3021300906052b0e03021a05000414",
|
|
341
|
-
sha224: "302d300d06096086480165030402040500041c",
|
|
342
|
-
sha256: "3031300d060960864801650304020105000420",
|
|
343
|
-
sha384: "3041300d060960864801650304020205000430",
|
|
344
|
-
sha512: "3051300d060960864801650304020305000440",
|
|
345
|
-
ripemd160: "3021300906052b2403020105000414"
|
|
346
|
-
};
|
|
347
|
-
function getDigestHeader(name) {
|
|
348
|
-
return DIGEST_HEADERS[name] || "";
|
|
349
|
-
}
|
|
350
|
-
function removeDigestHeader(str) {
|
|
351
|
-
for (var name_1 in DIGEST_HEADERS) {
|
|
352
|
-
if (DIGEST_HEADERS.hasOwnProperty(name_1)) {
|
|
353
|
-
var header = DIGEST_HEADERS[name_1];
|
|
354
|
-
var len = header.length;
|
|
355
|
-
if (str.substr(0, len) == header) {
|
|
356
|
-
return str.substr(len);
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
return str;
|
|
361
|
-
}
|
|
362
|
-
// Return the PKCS#1 RSA encryption of "text" as a Base64-encoded string
|
|
363
|
-
// function RSAEncryptB64(text) {
|
|
364
|
-
// var h = this.encrypt(text);
|
|
365
|
-
// if(h) return hex2b64(h); else return null;
|
|
366
|
-
// }
|
|
367
|
-
// public
|
|
368
|
-
// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;
|
|
369
|
-
|
|
370
|
-
export { RSAKey };
|
|
371
|
-
//# sourceMappingURL=rsa.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rsa.js","sources":["../../../../../../node_modules/jsencrypt/lib/lib/jsbn/rsa.js"],"sourcesContent":["// 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, nbi, parseBigInt } from \"./jsbn\";\nimport { SecureRandom } from \"./rng\";\n// function 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// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return parseBigInt(m, 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) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\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 = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\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 }\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 }\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 };\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 maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return 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 else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\n // Set the private key fields N, e, d and CRT params from hex strings\n RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\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 this.p = parseBigInt(P, 16);\n this.q = parseBigInt(Q, 16);\n this.dmp1 = parseBigInt(DP, 16);\n this.dmq1 = parseBigInt(DQ, 16);\n this.coeff = parseBigInt(C, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.generate = RSAGenerate;\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generate = function (B, E) {\n var rng = new SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new BigInteger(E, 16);\n for (;;) {\n for (;;) {\n this.p = new BigInteger(B - qs, 1, rng);\n if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\n break;\n }\n }\n for (;;) {\n this.q = new BigInteger(qs, 1, rng);\n if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\n break;\n }\n }\n if (this.p.compareTo(this.q) <= 0) {\n var t = this.p;\n this.p = this.q;\n this.q = t;\n }\n var p1 = this.p.subtract(BigInteger.ONE);\n var q1 = this.q.subtract(BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {\n this.n = this.p.multiply(this.q);\n this.d = ee.modInverse(phi);\n this.dmp1 = this.d.mod(p1);\n this.dmq1 = this.d.mod(q1);\n this.coeff = this.q.modInverse(this.p);\n break;\n }\n }\n };\n // RSAKey.prototype.decrypt = RSADecrypt;\n // Return the PKCS#1 RSA decryption of \"ctext\".\n // \"ctext\" is an even-length hex string and the output is a plain string.\n RSAKey.prototype.decrypt = function (ctext) {\n var c = parseBigInt(ctext, 16);\n var m = this.doPrivate(c);\n if (m == null) {\n return null;\n }\n return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\n };\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generateAsync = function (B, E, callback) {\n var rng = new SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new BigInteger(E, 16);\n var rsa = this;\n // These functions have non-descript names because they were originally for(;;) loops.\n // I don't know about cryptography to give them better names than loop1-4.\n var loop1 = function () {\n var loop4 = function () {\n if (rsa.p.compareTo(rsa.q) <= 0) {\n var t = rsa.p;\n rsa.p = rsa.q;\n rsa.q = t;\n }\n var p1 = rsa.p.subtract(BigInteger.ONE);\n var q1 = rsa.q.subtract(BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {\n rsa.n = rsa.p.multiply(rsa.q);\n rsa.d = ee.modInverse(phi);\n rsa.dmp1 = rsa.d.mod(p1);\n rsa.dmq1 = rsa.d.mod(q1);\n rsa.coeff = rsa.q.modInverse(rsa.p);\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(loop1, 0);\n }\n };\n var loop3 = function () {\n rsa.q = nbi();\n rsa.q.fromNumberAsync(qs, 1, rng, function () {\n rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\n setTimeout(loop4, 0);\n }\n else {\n setTimeout(loop3, 0);\n }\n });\n });\n };\n var loop2 = function () {\n rsa.p = nbi();\n rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\n rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\n setTimeout(loop3, 0);\n }\n else {\n setTimeout(loop2, 0);\n }\n });\n });\n };\n setTimeout(loop2, 0);\n };\n setTimeout(loop1, 0);\n };\n RSAKey.prototype.sign = function (text, digestMethod, digestName) {\n var header = getDigestHeader(digestName);\n var digest = header + digestMethod(text).toString();\n var m = pkcs1pad1(digest, this.n.bitLength() / 4);\n if (m == null) {\n return null;\n }\n var c = this.doPrivate(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n if ((h.length & 1) == 0) {\n return h;\n }\n else {\n return \"0\" + h;\n }\n };\n RSAKey.prototype.verify = function (text, signature, digestMethod) {\n var c = parseBigInt(signature, 16);\n var m = this.doPublic(c);\n if (m == null) {\n return null;\n }\n var unpadded = m.toString(16).replace(/^1f+00/, \"\");\n var digest = removeDigestHeader(unpadded);\n return digest == digestMethod(text).toString();\n };\n return RSAKey;\n}());\nexport { RSAKey };\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\nfunction pkcs1unpad2(d, n) {\n var b = d.toByteArray();\n var i = 0;\n while (i < b.length && b[i] == 0) {\n ++i;\n }\n if (b.length - i != n - 1 || b[i] != 2) {\n return null;\n }\n ++i;\n while (b[i] != 0) {\n if (++i >= b.length) {\n return null;\n }\n }\n var ret = \"\";\n while (++i < b.length) {\n var c = b[i] & 255;\n if (c < 128) { // utf-8 decode\n ret += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\n ++i;\n }\n else {\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\n i += 2;\n }\n }\n return ret;\n}\n// https://tools.ietf.org/html/rfc3447#page-43\nvar DIGEST_HEADERS = {\n md2: \"3020300c06082a864886f70d020205000410\",\n md5: \"3020300c06082a864886f70d020505000410\",\n sha1: \"3021300906052b0e03021a05000414\",\n sha224: \"302d300d06096086480165030402040500041c\",\n sha256: \"3031300d060960864801650304020105000420\",\n sha384: \"3041300d060960864801650304020205000430\",\n sha512: \"3051300d060960864801650304020305000440\",\n ripemd160: \"3021300906052b2403020105000414\"\n};\nfunction getDigestHeader(name) {\n return DIGEST_HEADERS[name] || \"\";\n}\nfunction removeDigestHeader(str) {\n for (var name_1 in DIGEST_HEADERS) {\n if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\n var header = DIGEST_HEADERS[name_1];\n var len = header.length;\n if (str.substr(0, len) == header) {\n return str.substr(len);\n }\n }\n }\n return str;\n}\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\n// function RSAEncryptB64(text) {\n// var h = this.encrypt(text);\n// if(h) return hex2b64(h); else return null;\n// }\n// public\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\n"],"names":["pkcs1pad1","s","n","length","console","error","len","filler","f","m","parseBigInt","pkcs1pad2","ba","i","c","charCodeAt","rng","SecureRandom","x","nextBytes","BigInteger","RSAKey","e","d","p","q","dmp1","dmq1","coeff","prototype","doPublic","modPowInt","doPrivate","modPow","xp","mod","xq","compareTo","add","subtract","multiply","setPublic","N","E","parseInt","encrypt","text","maxLength","bitLength","h","toString","setPrivate","D","setPrivateEx","P","Q","DP","DQ","C","generate","B","qs","ee","ONE","gcd","isProbablePrime","t","p1","q1","phi","modInverse","decrypt","ctext","pkcs1unpad2","generateAsync","callback","rsa","loop1","loop4","setTimeout","loop3","nbi","fromNumberAsync","gcda","r","loop2","sign","digestMethod","digestName","header","getDigestHeader","digest","verify","signature","unpadded","replace","removeDigestHeader","b","toByteArray","ret","String","fromCharCode","DIGEST_HEADERS","md2","md5","sha1","sha224","sha256","sha384","sha512","ripemd160","name","str","name_1","hasOwnProperty","substr"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
|
|
2
|
-
function int2char(n) {
|
|
3
|
-
return BI_RM.charAt(n);
|
|
4
|
-
}
|
|
5
|
-
//#region BIT_OPERATIONS
|
|
6
|
-
// (public) this & a
|
|
7
|
-
function op_and(x, y) {
|
|
8
|
-
return x & y;
|
|
9
|
-
}
|
|
10
|
-
// (public) this | a
|
|
11
|
-
function op_or(x, y) {
|
|
12
|
-
return x | y;
|
|
13
|
-
}
|
|
14
|
-
// (public) this ^ a
|
|
15
|
-
function op_xor(x, y) {
|
|
16
|
-
return x ^ y;
|
|
17
|
-
}
|
|
18
|
-
// (public) this & ~a
|
|
19
|
-
function op_andnot(x, y) {
|
|
20
|
-
return x & ~y;
|
|
21
|
-
}
|
|
22
|
-
// return index of lowest 1-bit in x, x < 2^31
|
|
23
|
-
function lbit(x) {
|
|
24
|
-
if (x == 0) {
|
|
25
|
-
return -1;
|
|
26
|
-
}
|
|
27
|
-
var r = 0;
|
|
28
|
-
if ((x & 0xffff) == 0) {
|
|
29
|
-
x >>= 16;
|
|
30
|
-
r += 16;
|
|
31
|
-
}
|
|
32
|
-
if ((x & 0xff) == 0) {
|
|
33
|
-
x >>= 8;
|
|
34
|
-
r += 8;
|
|
35
|
-
}
|
|
36
|
-
if ((x & 0xf) == 0) {
|
|
37
|
-
x >>= 4;
|
|
38
|
-
r += 4;
|
|
39
|
-
}
|
|
40
|
-
if ((x & 3) == 0) {
|
|
41
|
-
x >>= 2;
|
|
42
|
-
r += 2;
|
|
43
|
-
}
|
|
44
|
-
if ((x & 1) == 0) {
|
|
45
|
-
++r;
|
|
46
|
-
}
|
|
47
|
-
return r;
|
|
48
|
-
}
|
|
49
|
-
// return number of 1 bits in x
|
|
50
|
-
function cbit(x) {
|
|
51
|
-
var r = 0;
|
|
52
|
-
while (x != 0) {
|
|
53
|
-
x &= x - 1;
|
|
54
|
-
++r;
|
|
55
|
-
}
|
|
56
|
-
return r;
|
|
57
|
-
}
|
|
58
|
-
//#endregion BIT_OPERATIONS
|
|
59
|
-
|
|
60
|
-
export { cbit, int2char, lbit, op_and, op_andnot, op_or, op_xor };
|
|
61
|
-
//# sourceMappingURL=util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../../../node_modules/jsencrypt/lib/lib/jsbn/util.js"],"sourcesContent":["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 }\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 }\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"],"names":["BI_RM","int2char","n","charAt","op_and","x","y","op_or","op_xor","op_andnot","lbit","r","cbit"],"mappings":"AAAA,IAAIA,KAAK,GAAG,sCAAsC;AAC3C,SAASC,QAAQA,CAACC,CAAC,EAAE;AACxB,EAAA,OAAOF,KAAK,CAACG,MAAM,CAACD,CAAC,CAAC;AAC1B;AACA;AACA;AACO,SAASE,MAAMA,CAACC,CAAC,EAAEC,CAAC,EAAE;EACzB,OAAOD,CAAC,GAAGC,CAAC;AAChB;AACA;AACO,SAASC,KAAKA,CAACF,CAAC,EAAEC,CAAC,EAAE;EACxB,OAAOD,CAAC,GAAGC,CAAC;AAChB;AACA;AACO,SAASE,MAAMA,CAACH,CAAC,EAAEC,CAAC,EAAE;EACzB,OAAOD,CAAC,GAAGC,CAAC;AAChB;AACA;AACO,SAASG,SAASA,CAACJ,CAAC,EAAEC,CAAC,EAAE;EAC5B,OAAOD,CAAC,GAAG,CAACC,CAAC;AACjB;AACA;AACO,SAASI,IAAIA,CAACL,CAAC,EAAE;EACpB,IAAIA,CAAC,IAAI,CAAC,EAAE;AACR,IAAA,OAAO,EAAE;AACb,EAAA;EACA,IAAIM,CAAC,GAAG,CAAC;AACT,EAAA,IAAI,CAACN,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE;AACnBA,IAAAA,CAAC,KAAK,EAAE;AACRM,IAAAA,CAAC,IAAI,EAAE;AACX,EAAA;AACA,EAAA,IAAI,CAACN,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE;AACjBA,IAAAA,CAAC,KAAK,CAAC;AACPM,IAAAA,CAAC,IAAI,CAAC;AACV,EAAA;AACA,EAAA,IAAI,CAACN,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE;AAChBA,IAAAA,CAAC,KAAK,CAAC;AACPM,IAAAA,CAAC,IAAI,CAAC;AACV,EAAA;AACA,EAAA,IAAI,CAACN,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACdA,IAAAA,CAAC,KAAK,CAAC;AACPM,IAAAA,CAAC,IAAI,CAAC;AACV,EAAA;AACA,EAAA,IAAI,CAACN,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACd,IAAA,EAAEM,CAAC;AACP,EAAA;AACA,EAAA,OAAOA,CAAC;AACZ;AACA;AACO,SAASC,IAAIA,CAACP,CAAC,EAAE;EACpB,IAAIM,CAAC,GAAG,CAAC;EACT,OAAON,CAAC,IAAI,CAAC,EAAE;IACXA,CAAC,IAAIA,CAAC,GAAG,CAAC;AACV,IAAA,EAAEM,CAAC;AACP,EAAA;AACA,EAAA,OAAOA,CAAC;AACZ;AACA;;;;","x_google_ignoreList":[0]}
|