@leofcoin/workers 1.5.44 → 1.6.0

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.
@@ -1,938 +1,21 @@
1
- import { F as FormatInterface, b as proto, c as proto$1, E as EasyWorker, j as jsonStringifyBigInt, f as jsonParseBigInt } from './worker-BDTWOCzS.js';
2
- import { ExecutionMeter, DEFAULT_CONTRACT_EXECUTION_UNITS, instrumentContractSource } from './execution-meter.js';
3
- import { createCryptoBridge, DeterministicCrypto } from './deterministic-crypto.js';
1
+ import { B as BinaryWorker, a as encodeValue } from './binary-worker-BxQdEW3s.js';
2
+ import { B as BinaryFormat, b as proto, j as jsonStringifyBigInt } from './proposal.proto-8zgMfutf.js';
3
+ import { instrumentContractSource, ExecutionMeter, DEFAULT_CONTRACT_EXECUTION_UNITS } from './execution-meter.js';
4
+ import { DeterministicCrypto, createCryptoBridge } from './deterministic-crypto.js';
4
5
 
5
- class ContractMessage extends FormatInterface {
6
+ class ContractMessage extends BinaryFormat {
6
7
  get messageName() {
7
8
  return 'ContractMessage';
8
9
  }
9
10
  constructor(buffer) {
10
11
  if (buffer instanceof ContractMessage)
11
12
  return buffer;
13
+ if (buffer && typeof buffer === 'object' && !(buffer instanceof Uint8Array) && typeof buffer.contract === 'string')
14
+ buffer = { ...buffer, contract: new TextEncoder().encode(buffer.contract) };
12
15
  super(buffer, proto, { name: 'contract-message' });
13
16
  }
14
17
  }
15
18
 
16
- class TransactionMessage extends FormatInterface {
17
- get messageName() {
18
- return 'TransactionMessage';
19
- }
20
- constructor(buffer) {
21
- if (buffer instanceof TransactionMessage)
22
- return buffer;
23
- const name = 'transaction-message';
24
- super(buffer, proto$1, { name });
25
- }
26
- beforeHashing(decoded) {
27
- decoded = super.beforeHashing(decoded);
28
- delete decoded.signature;
29
- delete decoded.priority;
30
- delete decoded.dependsOn;
31
- return decoded;
32
- }
33
- }
34
-
35
- /* Do NOT modify this file; see /src.ts/_admin/update-version.ts */
36
- /**
37
- * The current version of Ethers.
38
- */
39
- const version = "6.17.0";
40
-
41
- /**
42
- * Property helper functions.
43
- *
44
- * @_subsection api/utils:Properties [about-properties]
45
- */
46
- /**
47
- * Assigns the %%values%% to %%target%% as read-only values.
48
- *
49
- * It %%types%% is specified, the values are checked.
50
- */
51
- function defineProperties(target, values, types) {
52
- for (let key in values) {
53
- let value = values[key];
54
- Object.defineProperty(target, key, { enumerable: true, value, writable: false });
55
- }
56
- }
57
-
58
- /**
59
- * All errors in ethers include properties to ensure they are both
60
- * human-readable (i.e. ``.message``) and machine-readable (i.e. ``.code``).
61
- *
62
- * The [[isError]] function can be used to check the error ``code`` and
63
- * provide a type guard for the properties present on that error interface.
64
- *
65
- * @_section: api/utils/errors:Errors [about-errors]
66
- */
67
- function stringify(value, seen) {
68
- if (value == null) {
69
- return "null";
70
- }
71
- if (seen == null) {
72
- seen = new Set();
73
- }
74
- if (typeof (value) === "object") {
75
- if (seen.has(value)) {
76
- return "[Circular]";
77
- }
78
- seen.add(value);
79
- }
80
- if (Array.isArray(value)) {
81
- return "[ " + (value.map((v) => stringify(v, seen))).join(", ") + " ]";
82
- }
83
- if (value instanceof Uint8Array) {
84
- const HEX = "0123456789abcdef";
85
- let result = "0x";
86
- for (let i = 0; i < value.length; i++) {
87
- result += HEX[value[i] >> 4];
88
- result += HEX[value[i] & 0xf];
89
- }
90
- return result;
91
- }
92
- if (typeof (value) === "object" && typeof (value.toJSON) === "function") {
93
- return stringify(value.toJSON(), seen);
94
- }
95
- switch (typeof (value)) {
96
- case "boolean":
97
- case "number":
98
- case "symbol":
99
- return value.toString();
100
- case "bigint":
101
- return BigInt(value).toString();
102
- case "string":
103
- return JSON.stringify(value);
104
- case "object": {
105
- const keys = Object.keys(value);
106
- keys.sort();
107
- return "{ " + keys.map((k) => `${stringify(k, seen)}: ${stringify(value[k], seen)}`).join(", ") + " }";
108
- }
109
- }
110
- return `[ COULD NOT SERIALIZE ]`;
111
- }
112
- /**
113
- * Returns a new Error configured to the format ethers emits errors, with
114
- * the %%message%%, [[api:ErrorCode]] %%code%% and additional properties
115
- * for the corresponding EthersError.
116
- *
117
- * Each error in ethers includes the version of ethers, a
118
- * machine-readable [[ErrorCode]], and depending on %%code%%, additional
119
- * required properties. The error message will also include the %%message%%,
120
- * ethers version, %%code%% and all additional properties, serialized.
121
- */
122
- function makeError(message, code, info) {
123
- let shortMessage = message;
124
- {
125
- const details = [];
126
- if (info) {
127
- if ("message" in info || "code" in info || "name" in info) {
128
- throw new Error(`value will overwrite populated values: ${stringify(info)}`);
129
- }
130
- for (const key in info) {
131
- if (key === "shortMessage") {
132
- continue;
133
- }
134
- const value = (info[key]);
135
- // try {
136
- details.push(key + "=" + stringify(value));
137
- // } catch (error: any) {
138
- // console.log("MMM", error.message);
139
- // details.push(key + "=[could not serialize object]");
140
- // }
141
- }
142
- }
143
- details.push(`code=${code}`);
144
- details.push(`version=${version}`);
145
- if (details.length) {
146
- message += " (" + details.join(", ") + ")";
147
- }
148
- }
149
- let error;
150
- switch (code) {
151
- case "INVALID_ARGUMENT":
152
- error = new TypeError(message);
153
- break;
154
- case "NUMERIC_FAULT":
155
- case "BUFFER_OVERRUN":
156
- error = new RangeError(message);
157
- break;
158
- default:
159
- error = new Error(message);
160
- }
161
- defineProperties(error, { code });
162
- if (info) {
163
- Object.assign(error, info);
164
- }
165
- if (error.shortMessage == null) {
166
- defineProperties(error, { shortMessage });
167
- }
168
- return error;
169
- }
170
- /**
171
- * Throws an EthersError with %%message%%, %%code%% and additional error
172
- * %%info%% when %%check%% is falsish..
173
- *
174
- * @see [[api:makeError]]
175
- */
176
- function assert(check, message, code, info) {
177
- if (!check) {
178
- throw makeError(message, code, info);
179
- }
180
- }
181
- /**
182
- * A simple helper to simply ensuring provided arguments match expected
183
- * constraints, throwing if not.
184
- *
185
- * In TypeScript environments, the %%check%% has been asserted true, so
186
- * any further code does not need additional compile-time checks.
187
- */
188
- function assertArgument(check, message, name, value) {
189
- assert(check, message, "INVALID_ARGUMENT", { argument: name, value: value });
190
- }
191
- ["NFD", "NFC", "NFKD", "NFKC"].reduce((accum, form) => {
192
- try {
193
- // General test for normalize
194
- /* c8 ignore start */
195
- if ("test".normalize(form) !== "test") {
196
- throw new Error("bad");
197
- }
198
- ;
199
- /* c8 ignore stop */
200
- if (form === "NFD") {
201
- const check = String.fromCharCode(0xe9).normalize("NFD");
202
- const expected = String.fromCharCode(0x65, 0x0301);
203
- /* c8 ignore start */
204
- if (check !== expected) {
205
- throw new Error("broken");
206
- }
207
- /* c8 ignore stop */
208
- }
209
- accum.push(form);
210
- }
211
- catch (error) { }
212
- return accum;
213
- }, []);
214
- /**
215
- * Many classes use file-scoped values to guard the constructor,
216
- * making it effectively private. This facilitates that pattern
217
- * by ensuring the %%givenGaurd%% matches the file-scoped %%guard%%,
218
- * throwing if not, indicating the %%className%% if provided.
219
- */
220
- function assertPrivate(givenGuard, guard, className) {
221
- if (givenGuard !== guard) {
222
- let method = className, operation = "new";
223
- {
224
- method += ".";
225
- operation += " " + className;
226
- }
227
- assert(false, `private constructor; use ${method}from* methods`, "UNSUPPORTED_OPERATION", {
228
- operation
229
- });
230
- }
231
- }
232
-
233
- /**
234
- * Some data helpers.
235
- *
236
- *
237
- * @_subsection api/utils:Data Helpers [about-data]
238
- */
239
- function _getBytes(value, name, copy) {
240
- if (value instanceof Uint8Array) {
241
- return value;
242
- }
243
- if (typeof (value) === "string" && (value.length % 2) === 0 &&
244
- value.match(/^0x[0-9a-f]*$/i)) {
245
- const result = new Uint8Array((value.length - 2) / 2);
246
- let offset = 2;
247
- for (let i = 0; i < result.length; i++) {
248
- result[i] = parseInt(value.substring(offset, offset + 2), 16);
249
- offset += 2;
250
- }
251
- return result;
252
- }
253
- assertArgument(false, "invalid BytesLike value", name, value);
254
- }
255
- /**
256
- * Get a typed Uint8Array for %%value%%. If already a Uint8Array
257
- * the original %%value%% is returned; if a copy is required use
258
- * [[getBytesCopy]].
259
- *
260
- * @see: getBytesCopy
261
- */
262
- function getBytes(value, name) {
263
- return _getBytes(value, name);
264
- }
265
-
266
- /**
267
- * Some mathematic operations.
268
- *
269
- * @_subsection: api/utils:Math Helpers [about-maths]
270
- */
271
- const BN_0$1 = BigInt(0);
272
- const BN_1$1 = BigInt(1);
273
- //const BN_Max256 = (BN_1 << BigInt(256)) - BN_1;
274
- // IEEE 754 support 53-bits of mantissa
275
- const maxValue = 0x1fffffffffffff;
276
- /**
277
- * Convert %%value%% from a twos-compliment representation of %%width%%
278
- * bits to its value.
279
- *
280
- * If the highest bit is ``1``, the result will be negative.
281
- */
282
- function fromTwos(_value, _width) {
283
- const value = getUint(_value, "value");
284
- const width = BigInt(getNumber(_width, "width"));
285
- assert((value >> width) === BN_0$1, "overflow", "NUMERIC_FAULT", {
286
- operation: "fromTwos", fault: "overflow", value: _value
287
- });
288
- // Top bit set; treat as a negative value
289
- if (value >> (width - BN_1$1)) {
290
- const mask = (BN_1$1 << width) - BN_1$1;
291
- return -(((~value) & mask) + BN_1$1);
292
- }
293
- return value;
294
- }
295
- /**
296
- * Mask %%value%% with a bitmask of %%bits%% ones.
297
- */
298
- function mask(_value, _bits) {
299
- const value = getUint(_value, "value");
300
- const bits = BigInt(getNumber(_bits, "bits"));
301
- return value & ((BN_1$1 << bits) - BN_1$1);
302
- }
303
- /**
304
- * Gets a BigInt from %%value%%. If it is an invalid value for
305
- * a BigInt, then an ArgumentError will be thrown for %%name%%.
306
- */
307
- function getBigInt(value, name) {
308
- switch (typeof (value)) {
309
- case "bigint": return value;
310
- case "number":
311
- assertArgument(Number.isInteger(value), "underflow", name || "value", value);
312
- assertArgument(value >= -maxValue && value <= maxValue, "overflow", name || "value", value);
313
- return BigInt(value);
314
- case "string":
315
- try {
316
- if (value === "") {
317
- throw new Error("empty string");
318
- }
319
- if (value[0] === "-" && value[1] !== "-") {
320
- return -BigInt(value.substring(1));
321
- }
322
- return BigInt(value);
323
- }
324
- catch (e) {
325
- assertArgument(false, `invalid BigNumberish string: ${e.message}`, name || "value", value);
326
- }
327
- }
328
- assertArgument(false, "invalid BigNumberish value", name || "value", value);
329
- }
330
- /**
331
- * Returns %%value%% as a bigint, validating it is valid as a bigint
332
- * value and that it is positive.
333
- */
334
- function getUint(value, name) {
335
- const result = getBigInt(value, name);
336
- assert(result >= BN_0$1, "unsigned value cannot be negative", "NUMERIC_FAULT", {
337
- fault: "overflow", operation: "getUint", value
338
- });
339
- return result;
340
- }
341
- const Nibbles = "0123456789abcdef";
342
- /*
343
- * Converts %%value%% to a BigInt. If %%value%% is a Uint8Array, it
344
- * is treated as Big Endian data.
345
- */
346
- function toBigInt(value) {
347
- if (value instanceof Uint8Array) {
348
- let result = "0x0";
349
- for (const v of value) {
350
- result += Nibbles[v >> 4];
351
- result += Nibbles[v & 0x0f];
352
- }
353
- return BigInt(result);
354
- }
355
- return getBigInt(value);
356
- }
357
- /**
358
- * Gets a //number// from %%value%%. If it is an invalid value for
359
- * a //number//, then an ArgumentError will be thrown for %%name%%.
360
- */
361
- function getNumber(value, name) {
362
- switch (typeof (value)) {
363
- case "bigint":
364
- assertArgument(value >= -maxValue && value <= maxValue, "overflow", name || "value", value);
365
- return Number(value);
366
- case "number":
367
- assertArgument(Number.isInteger(value), "underflow", name || "value", value);
368
- assertArgument(value >= -maxValue && value <= maxValue, "overflow", name || "value", value);
369
- return value;
370
- case "string":
371
- try {
372
- if (value === "") {
373
- throw new Error("empty string");
374
- }
375
- return getNumber(BigInt(value), name);
376
- }
377
- catch (e) {
378
- assertArgument(false, `invalid numeric string: ${e.message}`, name || "value", value);
379
- }
380
- }
381
- assertArgument(false, "invalid numeric value", name || "value", value);
382
- }
383
-
384
- /**
385
- * The **FixedNumber** class permits using values with decimal places,
386
- * using fixed-pont math.
387
- *
388
- * Fixed-point math is still based on integers under-the-hood, but uses an
389
- * internal offset to store fractional components below, and each operation
390
- * corrects for this after each operation.
391
- *
392
- * @_section: api/utils/fixed-point-math:Fixed-Point Maths [about-fixed-point-math]
393
- */
394
- const BN_N1 = BigInt(-1);
395
- const BN_0 = BigInt(0);
396
- const BN_1 = BigInt(1);
397
- const BN_5 = BigInt(5);
398
- const _guard = {};
399
- // Constant to pull zeros from for multipliers
400
- let Zeros = "0000";
401
- while (Zeros.length < 80) {
402
- Zeros += Zeros;
403
- }
404
- // Returns a string "1" followed by decimal "0"s
405
- function getTens(decimals) {
406
- let result = Zeros;
407
- while (result.length < decimals) {
408
- result += result;
409
- }
410
- return BigInt("1" + result.substring(0, decimals));
411
- }
412
- function checkValue(val, format, safeOp) {
413
- const width = BigInt(format.width);
414
- if (format.signed) {
415
- const limit = (BN_1 << (width - BN_1));
416
- assert(safeOp == null || (val >= -limit && val < limit), "overflow", "NUMERIC_FAULT", {
417
- operation: safeOp, fault: "overflow", value: val
418
- });
419
- if (val > BN_0) {
420
- val = fromTwos(mask(val, width), width);
421
- }
422
- else {
423
- val = -fromTwos(mask(-val, width), width);
424
- }
425
- }
426
- else {
427
- const limit = (BN_1 << width);
428
- assert(safeOp == null || (val >= 0 && val < limit), "overflow", "NUMERIC_FAULT", {
429
- operation: safeOp, fault: "overflow", value: val
430
- });
431
- val = (((val % limit) + limit) % limit) & (limit - BN_1);
432
- }
433
- return val;
434
- }
435
- function getFormat(value) {
436
- if (typeof (value) === "number") {
437
- value = `fixed128x${value}`;
438
- }
439
- let signed = true;
440
- let width = 128;
441
- let decimals = 18;
442
- if (typeof (value) === "string") {
443
- // Parse the format string
444
- if (value === "fixed") ;
445
- else if (value === "ufixed") {
446
- signed = false;
447
- }
448
- else {
449
- const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);
450
- assertArgument(match, "invalid fixed format", "format", value);
451
- signed = (match[1] !== "u");
452
- width = parseInt(match[2]);
453
- decimals = parseInt(match[3]);
454
- }
455
- }
456
- else if (value) {
457
- // Extract the values from the object
458
- const v = value;
459
- const check = (key, type, defaultValue) => {
460
- if (v[key] == null) {
461
- return defaultValue;
462
- }
463
- assertArgument(typeof (v[key]) === type, "invalid fixed format (" + key + " not " + type + ")", "format." + key, v[key]);
464
- return v[key];
465
- };
466
- signed = check("signed", "boolean", signed);
467
- width = check("width", "number", width);
468
- decimals = check("decimals", "number", decimals);
469
- }
470
- assertArgument((width % 8) === 0, "invalid FixedNumber width (not byte aligned)", "format.width", width);
471
- assertArgument(decimals <= 80, "invalid FixedNumber decimals (too large)", "format.decimals", decimals);
472
- const name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals);
473
- return { signed, width, decimals, name };
474
- }
475
- function toString(val, decimals) {
476
- let negative = "";
477
- if (val < BN_0) {
478
- negative = "-";
479
- val *= BN_N1;
480
- }
481
- let str = val.toString();
482
- // No decimal point for whole values
483
- if (decimals === 0) {
484
- return (negative + str);
485
- }
486
- // Pad out to the whole component (including a whole digit)
487
- while (str.length <= decimals) {
488
- str = Zeros + str;
489
- }
490
- // Insert the decimal point
491
- const index = str.length - decimals;
492
- str = str.substring(0, index) + "." + str.substring(index);
493
- // Trim the whole component (leaving at least one 0)
494
- while (str[0] === "0" && str[1] !== ".") {
495
- str = str.substring(1);
496
- }
497
- // Trim the decimal component (leaving at least one 0)
498
- while (str[str.length - 1] === "0" && str[str.length - 2] !== ".") {
499
- str = str.substring(0, str.length - 1);
500
- }
501
- return (negative + str);
502
- }
503
- /**
504
- * A FixedNumber represents a value over its [[FixedFormat]]
505
- * arithmetic field.
506
- *
507
- * A FixedNumber can be used to perform math, losslessly, on
508
- * values which have decmial places.
509
- *
510
- * A FixedNumber has a fixed bit-width to store values in, and stores all
511
- * values internally by multiplying the value by 10 raised to the power of
512
- * %%decimals%%.
513
- *
514
- * If operations are performed that cause a value to grow too high (close to
515
- * positive infinity) or too low (close to negative infinity), the value
516
- * is said to //overflow//.
517
- *
518
- * For example, an 8-bit signed value, with 0 decimals may only be within
519
- * the range ``-128`` to ``127``; so ``-128 - 1`` will overflow and become
520
- * ``127``. Likewise, ``127 + 1`` will overflow and become ``-127``.
521
- *
522
- * Many operation have a normal and //unsafe// variant. The normal variant
523
- * will throw a [[NumericFaultError]] on any overflow, while the //unsafe//
524
- * variant will silently allow overflow, corrupting its value value.
525
- *
526
- * If operations are performed that cause a value to become too small
527
- * (close to zero), the value loses precison and is said to //underflow//.
528
- *
529
- * For example, a value with 1 decimal place may store a number as small
530
- * as ``0.1``, but the value of ``0.1 / 2`` is ``0.05``, which cannot fit
531
- * into 1 decimal place, so underflow occurs which means precision is lost
532
- * and the value becomes ``0``.
533
- *
534
- * Some operations have a normal and //signalling// variant. The normal
535
- * variant will silently ignore underflow, while the //signalling// variant
536
- * will thow a [[NumericFaultError]] on underflow.
537
- */
538
- class FixedNumber {
539
- /**
540
- * The specific fixed-point arithmetic field for this value.
541
- */
542
- format;
543
- #format;
544
- // The actual value (accounting for decimals)
545
- #val;
546
- // A base-10 value to multiple values by to maintain the magnitude
547
- #tens;
548
- /**
549
- * This is a property so console.log shows a human-meaningful value.
550
- *
551
- * @private
552
- */
553
- _value;
554
- // Use this when changing this file to get some typing info,
555
- // but then switch to any to mask the internal type
556
- //constructor(guard: any, value: bigint, format: _FixedFormat) {
557
- /**
558
- * @private
559
- */
560
- constructor(guard, value, format) {
561
- assertPrivate(guard, _guard, "FixedNumber");
562
- this.#val = value;
563
- this.#format = format;
564
- const _value = toString(value, format.decimals);
565
- defineProperties(this, { format: format.name, _value });
566
- this.#tens = getTens(format.decimals);
567
- }
568
- /**
569
- * If true, negative values are permitted, otherwise only
570
- * positive values and zero are allowed.
571
- */
572
- get signed() { return this.#format.signed; }
573
- /**
574
- * The number of bits available to store the value.
575
- */
576
- get width() { return this.#format.width; }
577
- /**
578
- * The number of decimal places in the fixed-point arithment field.
579
- */
580
- get decimals() { return this.#format.decimals; }
581
- /**
582
- * The value as an integer, based on the smallest unit the
583
- * [[decimals]] allow.
584
- */
585
- get value() { return this.#val; }
586
- #checkFormat(other) {
587
- assertArgument(this.format === other.format, "incompatible format; use fixedNumber.toFormat", "other", other);
588
- }
589
- #checkValue(val, safeOp) {
590
- /*
591
- const width = BigInt(this.width);
592
- if (this.signed) {
593
- const limit = (BN_1 << (width - BN_1));
594
- assert(safeOp == null || (val >= -limit && val < limit), "overflow", "NUMERIC_FAULT", {
595
- operation: <string>safeOp, fault: "overflow", value: val
596
- });
597
-
598
- if (val > BN_0) {
599
- val = fromTwos(mask(val, width), width);
600
- } else {
601
- val = -fromTwos(mask(-val, width), width);
602
- }
603
-
604
- } else {
605
- const masked = mask(val, width);
606
- assert(safeOp == null || (val >= 0 && val === masked), "overflow", "NUMERIC_FAULT", {
607
- operation: <string>safeOp, fault: "overflow", value: val
608
- });
609
- val = masked;
610
- }
611
- */
612
- val = checkValue(val, this.#format, safeOp);
613
- return new FixedNumber(_guard, val, this.#format);
614
- }
615
- #add(o, safeOp) {
616
- this.#checkFormat(o);
617
- return this.#checkValue(this.#val + o.#val, safeOp);
618
- }
619
- /**
620
- * Returns a new [[FixedNumber]] with the result of %%this%% added
621
- * to %%other%%, ignoring overflow.
622
- */
623
- addUnsafe(other) { return this.#add(other); }
624
- /**
625
- * Returns a new [[FixedNumber]] with the result of %%this%% added
626
- * to %%other%%. A [[NumericFaultError]] is thrown if overflow
627
- * occurs.
628
- */
629
- add(other) { return this.#add(other, "add"); }
630
- #sub(o, safeOp) {
631
- this.#checkFormat(o);
632
- return this.#checkValue(this.#val - o.#val, safeOp);
633
- }
634
- /**
635
- * Returns a new [[FixedNumber]] with the result of %%other%% subtracted
636
- * from %%this%%, ignoring overflow.
637
- */
638
- subUnsafe(other) { return this.#sub(other); }
639
- /**
640
- * Returns a new [[FixedNumber]] with the result of %%other%% subtracted
641
- * from %%this%%. A [[NumericFaultError]] is thrown if overflow
642
- * occurs.
643
- */
644
- sub(other) { return this.#sub(other, "sub"); }
645
- #mul(o, safeOp) {
646
- this.#checkFormat(o);
647
- return this.#checkValue((this.#val * o.#val) / this.#tens, safeOp);
648
- }
649
- /**
650
- * Returns a new [[FixedNumber]] with the result of %%this%% multiplied
651
- * by %%other%%, ignoring overflow and underflow (precision loss).
652
- */
653
- mulUnsafe(other) { return this.#mul(other); }
654
- /**
655
- * Returns a new [[FixedNumber]] with the result of %%this%% multiplied
656
- * by %%other%%. A [[NumericFaultError]] is thrown if overflow
657
- * occurs.
658
- */
659
- mul(other) { return this.#mul(other, "mul"); }
660
- /**
661
- * Returns a new [[FixedNumber]] with the result of %%this%% multiplied
662
- * by %%other%%. A [[NumericFaultError]] is thrown if overflow
663
- * occurs or if underflow (precision loss) occurs.
664
- */
665
- mulSignal(other) {
666
- this.#checkFormat(other);
667
- const value = this.#val * other.#val;
668
- assert((value % this.#tens) === BN_0, "precision lost during signalling mul", "NUMERIC_FAULT", {
669
- operation: "mulSignal", fault: "underflow", value: this
670
- });
671
- return this.#checkValue(value / this.#tens, "mulSignal");
672
- }
673
- #div(o, safeOp) {
674
- assert(o.#val !== BN_0, "division by zero", "NUMERIC_FAULT", {
675
- operation: "div", fault: "divide-by-zero", value: this
676
- });
677
- this.#checkFormat(o);
678
- return this.#checkValue((this.#val * this.#tens) / o.#val, safeOp);
679
- }
680
- /**
681
- * Returns a new [[FixedNumber]] with the result of %%this%% divided
682
- * by %%other%%, ignoring underflow (precision loss). A
683
- * [[NumericFaultError]] is thrown if overflow occurs.
684
- */
685
- divUnsafe(other) { return this.#div(other); }
686
- /**
687
- * Returns a new [[FixedNumber]] with the result of %%this%% divided
688
- * by %%other%%, ignoring underflow (precision loss). A
689
- * [[NumericFaultError]] is thrown if overflow occurs.
690
- */
691
- div(other) { return this.#div(other, "div"); }
692
- /**
693
- * Returns a new [[FixedNumber]] with the result of %%this%% divided
694
- * by %%other%%. A [[NumericFaultError]] is thrown if underflow
695
- * (precision loss) occurs.
696
- */
697
- divSignal(other) {
698
- assert(other.#val !== BN_0, "division by zero", "NUMERIC_FAULT", {
699
- operation: "div", fault: "divide-by-zero", value: this
700
- });
701
- this.#checkFormat(other);
702
- const value = (this.#val * this.#tens);
703
- assert((value % other.#val) === BN_0, "precision lost during signalling div", "NUMERIC_FAULT", {
704
- operation: "divSignal", fault: "underflow", value: this
705
- });
706
- return this.#checkValue(value / other.#val, "divSignal");
707
- }
708
- /**
709
- * Returns a comparison result between %%this%% and %%other%%.
710
- *
711
- * This is suitable for use in sorting, where ``-1`` implies %%this%%
712
- * is smaller, ``1`` implies %%this%% is larger and ``0`` implies
713
- * both are equal.
714
- */
715
- cmp(other) {
716
- let a = this.value, b = other.value;
717
- // Coerce a and b to the same magnitude
718
- const delta = this.decimals - other.decimals;
719
- if (delta > 0) {
720
- b *= getTens(delta);
721
- }
722
- else if (delta < 0) {
723
- a *= getTens(-delta);
724
- }
725
- // Comnpare
726
- if (a < b) {
727
- return -1;
728
- }
729
- if (a > b) {
730
- return 1;
731
- }
732
- return 0;
733
- }
734
- /**
735
- * Returns true if %%other%% is equal to %%this%%.
736
- */
737
- eq(other) { return this.cmp(other) === 0; }
738
- /**
739
- * Returns true if %%other%% is less than to %%this%%.
740
- */
741
- lt(other) { return this.cmp(other) < 0; }
742
- /**
743
- * Returns true if %%other%% is less than or equal to %%this%%.
744
- */
745
- lte(other) { return this.cmp(other) <= 0; }
746
- /**
747
- * Returns true if %%other%% is greater than to %%this%%.
748
- */
749
- gt(other) { return this.cmp(other) > 0; }
750
- /**
751
- * Returns true if %%other%% is greater than or equal to %%this%%.
752
- */
753
- gte(other) { return this.cmp(other) >= 0; }
754
- /**
755
- * Returns a new [[FixedNumber]] which is the largest **integer**
756
- * that is less than or equal to %%this%%.
757
- *
758
- * The decimal component of the result will always be ``0``.
759
- */
760
- floor() {
761
- let val = this.#val;
762
- if (this.#val < BN_0) {
763
- val -= this.#tens - BN_1;
764
- }
765
- val = (this.#val / this.#tens) * this.#tens;
766
- return this.#checkValue(val, "floor");
767
- }
768
- /**
769
- * Returns a new [[FixedNumber]] which is the smallest **integer**
770
- * that is greater than or equal to %%this%%.
771
- *
772
- * The decimal component of the result will always be ``0``.
773
- */
774
- ceiling() {
775
- let val = this.#val;
776
- if (this.#val > BN_0) {
777
- val += this.#tens - BN_1;
778
- }
779
- val = (this.#val / this.#tens) * this.#tens;
780
- return this.#checkValue(val, "ceiling");
781
- }
782
- /**
783
- * Returns a new [[FixedNumber]] with the decimal component
784
- * rounded up on ties at %%decimals%% places.
785
- */
786
- round(decimals) {
787
- if (decimals == null) {
788
- decimals = 0;
789
- }
790
- // Not enough precision to not already be rounded
791
- if (decimals >= this.decimals) {
792
- return this;
793
- }
794
- const delta = this.decimals - decimals;
795
- const bump = BN_5 * getTens(delta - 1);
796
- let value = this.value + bump;
797
- const tens = getTens(delta);
798
- value = (value / tens) * tens;
799
- checkValue(value, this.#format, "round");
800
- return new FixedNumber(_guard, value, this.#format);
801
- }
802
- /**
803
- * Returns true if %%this%% is equal to ``0``.
804
- */
805
- isZero() { return (this.#val === BN_0); }
806
- /**
807
- * Returns true if %%this%% is less than ``0``.
808
- */
809
- isNegative() { return (this.#val < BN_0); }
810
- /**
811
- * Returns the string representation of %%this%%.
812
- */
813
- toString() { return this._value; }
814
- /**
815
- * Returns a float approximation.
816
- *
817
- * Due to IEEE 754 precission (or lack thereof), this function
818
- * can only return an approximation and most values will contain
819
- * rounding errors.
820
- */
821
- toUnsafeFloat() { return parseFloat(this.toString()); }
822
- /**
823
- * Return a new [[FixedNumber]] with the same value but has had
824
- * its field set to %%format%%.
825
- *
826
- * This will throw if the value cannot fit into %%format%%.
827
- */
828
- toFormat(format) {
829
- return FixedNumber.fromString(this.toString(), format);
830
- }
831
- /**
832
- * Creates a new [[FixedNumber]] for %%value%% divided by
833
- * %%decimal%% places with %%format%%.
834
- *
835
- * This will throw a [[NumericFaultError]] if %%value%% (once adjusted
836
- * for %%decimals%%) cannot fit in %%format%%, either due to overflow
837
- * or underflow (precision loss).
838
- */
839
- static fromValue(_value, _decimals, _format) {
840
- const decimals = (_decimals == null) ? 0 : getNumber(_decimals);
841
- const format = getFormat(_format);
842
- let value = getBigInt(_value, "value");
843
- const delta = decimals - format.decimals;
844
- if (delta > 0) {
845
- const tens = getTens(delta);
846
- assert((value % tens) === BN_0, "value loses precision for format", "NUMERIC_FAULT", {
847
- operation: "fromValue", fault: "underflow", value: _value
848
- });
849
- value /= tens;
850
- }
851
- else if (delta < 0) {
852
- value *= getTens(-delta);
853
- }
854
- checkValue(value, format, "fromValue");
855
- return new FixedNumber(_guard, value, format);
856
- }
857
- /**
858
- * Creates a new [[FixedNumber]] for %%value%% with %%format%%.
859
- *
860
- * This will throw a [[NumericFaultError]] if %%value%% cannot fit
861
- * in %%format%%, either due to overflow or underflow (precision loss).
862
- */
863
- static fromString(_value, _format) {
864
- const match = _value.match(/^(-?)([0-9]*)\.?([0-9]*)$/);
865
- assertArgument(match && (match[2].length + match[3].length) > 0, "invalid FixedNumber string value", "value", _value);
866
- const format = getFormat(_format);
867
- let whole = (match[2] || "0"), decimal = (match[3] || "");
868
- // Pad out the decimals
869
- while (decimal.length < format.decimals) {
870
- decimal += Zeros;
871
- }
872
- // Check precision is safe
873
- assert(decimal.substring(format.decimals).match(/^0*$/), "too many decimals for format", "NUMERIC_FAULT", {
874
- operation: "fromString", fault: "underflow", value: _value
875
- });
876
- // Remove extra padding
877
- decimal = decimal.substring(0, format.decimals);
878
- const value = BigInt(match[1] + whole + decimal);
879
- checkValue(value, format, "fromString");
880
- return new FixedNumber(_guard, value, format);
881
- }
882
- /**
883
- * Creates a new [[FixedNumber]] with the big-endian representation
884
- * %%value%% with %%format%%.
885
- *
886
- * This will throw a [[NumericFaultError]] if %%value%% cannot fit
887
- * in %%format%% due to overflow.
888
- */
889
- static fromBytes(_value, _format) {
890
- let value = toBigInt(getBytes(_value, "value"));
891
- const format = getFormat(_format);
892
- if (format.signed) {
893
- value = fromTwos(value, format.width);
894
- }
895
- checkValue(value, format, "fromBytes");
896
- return new FixedNumber(_guard, value, format);
897
- }
898
- }
899
- //const f1 = FixedNumber.fromString("12.56", "fixed16x2");
900
- //const f2 = FixedNumber.fromString("0.3", "fixed16x2");
901
- //console.log(f1.divSignal(f2));
902
- //const BUMP = FixedNumber.from("0.5");
903
-
904
- /**
905
- * Most interactions with Ethereum requires integer values, which use
906
- * the smallest magnitude unit.
907
- *
908
- * For example, imagine dealing with dollars and cents. Since dollars
909
- * are divisible, non-integer values are possible, such as ``$10.77``.
910
- * By using the smallest indivisible unit (i.e. cents), the value can
911
- * be kept as the integer ``1077``.
912
- *
913
- * When receiving decimal input from the user (as a decimal string),
914
- * the value should be converted to an integer and when showing a user
915
- * a value, the integer value should be converted to a decimal string.
916
- *
917
- * This creates a clear distinction, between values to be used by code
918
- * (integers) and values used for display logic to users (decimals).
919
- *
920
- * The native unit in Ethereum, //ether// is divisible to 18 decimal places,
921
- * where each individual unit is called a //wei//.
922
- *
923
- * @_subsection api/utils:Unit Conversion [about-units]
924
- */
925
- /**
926
- * Converts %%value%% into a //decimal string//, assuming %%unit%% decimal
927
- * places. The %%unit%% may be the number of decimal places or the name of
928
- * a unit (e.g. ``"gwei"`` for 9 decimal places).
929
- *
930
- */
931
- function formatUnits(value, unit) {
932
- let decimals = 18;
933
- return FixedNumber.fromValue(value, decimals, { decimals, width: 512 }).toString();
934
- }
935
-
936
19
  const byteFormats = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
937
20
  const formatBytes = (bytes, decimals = 2) => {
938
21
  if (bytes === 0)
@@ -944,10 +27,10 @@ const formatBytes = (bytes, decimals = 2) => {
944
27
  return `${parseFloat((bytes / Math.pow(k, i)).toFixed(decimals))} ${byteFormats[i]}`;
945
28
  };
946
29
 
947
- var contractFactory$1 = "B3OGRUBSBGSASFXWDZUI6AYITY76PYQZS4O5UDWVLSW56X5CSWTQGTGQHUGU";
948
- var nativeToken$1 = "B3OGRUBSA5V74HIRRP6YPMZYDZ7YM3SR3MQX63XSYEZIZ7TWHBPDWRWVA2XA";
949
- var nameService$1 = "B3OGRUBSBXX7EPFWHGZQGGSWBMMK7ATOSDICOW5CCFP25OMZBTRMHYGM4KFF";
950
- var validators$1 = "B3OGRUBSBXLCYRTXG5SRL6XNINEJNAI7CLJBKSRCXY24GMFU5ZY7TXHAGJGT";
30
+ var contractFactory$1 = "B3OGRUBSARKAMWHZLZZAL5Y4SRUJOE4RIMQX4SELNLMTQVPBGFQXEF5RPPHV";
31
+ var nativeToken$1 = "B3OGRUBSBSWHYGNYT4O57EK7Q5ZNXYFR23CCS4EUQPQ34RU57V6ROQNLYIVN";
32
+ var nameService$1 = "B3OGRUBSB23VEDKVPQM5DYREJVI2XYMSQ44ZN3NQG445AZMASFMOUU4P7HLM";
33
+ var validators$1 = "B3OGRUBSBT6UD4G6V3KP7Z6G2DLMMOV5D5IFIZH2I3KD2CK6VFD3CYY2NCKV";
951
34
  var addresses$1 = {
952
35
  contractFactory: contractFactory$1,
953
36
  nativeToken: nativeToken$1,
@@ -966,10 +49,10 @@ var addresses = {
966
49
  validators: validators$2
967
50
  };
968
51
 
969
- var contractFactory = "237,198,141,3,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,162,51,99,108,97,115,115,32,77,101,116,97,123,35,99,114,101,97,116,111,114,59,35,99,114,101,97,116,101,100,65,116,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,115,116,97,116,101,46,99,114,101,97,116,111,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,115,116,97,116,101,46,99,114,101,97,116,101,100,65,116,41,58,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,116,104,105,115,46,35,99,114,101,97,116,111,114,44,99,114,101,97,116,101,100,65,116,58,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,103,101,116,32,99,114,101,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,111,114,125,103,101,116,32,99,114,101,97,116,101,100,65,116,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,99,108,97,115,115,32,80,117,98,108,105,99,86,111,116,105,110,103,32,101,120,116,101,110,100,115,32,77,101,116,97,123,35,118,111,116,101,115,59,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,59,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,61,49,55,50,56,101,53,59,35,118,111,116,101,78,111,110,99,101,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,118,111,116,101,115,61,115,116,97,116,101,46,118,111,116,101,115,44,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,115,116,97,116,101,46,118,111,116,105,110,103,68,105,115,97,98,108,101,100,44,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,118,111,116,101,78,111,110,99,101,63,63,79,98,106,101,99,116,46,107,101,121,115,40,115,116,97,116,101,46,118,111,116,101,115,63,63,123,125,41,46,108,101,110,103,116,104,41,41,58,40,116,104,105,115,46,35,118,111,116,101,115,61,123,125,44,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,33,49,44,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,61,48,110,41,125,103,101,116,32,118,111,116,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,118,111,116,101,115,125,125,103,101,116,32,118,111,116,105,110,103,68,117,114,97,116,105,111,110,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,125,103,101,116,32,118,111,116,105,110,103,68,105,115,97,98,108,101,100,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,118,111,116,101,115,58,116,104,105,115,46,35,118,111,116,101,115,44,118,111,116,105,110,103,68,105,115,97,98,108,101,100,58,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,44,118,111,116,105,110,103,68,117,114,97,116,105,111,110,58,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,118,111,116,101,78,111,110,99,101,58,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,125,125,103,101,116,32,105,110,80,114,111,103,114,101,115,115,40,41,123,114,101,116,117,114,110,32,79,98,106,101,99,116,46,101,110,116,114,105,101,115,40,116,104,105,115,46,35,118,111,116,101,115,41,46,102,105,108,116,101,114,40,40,91,105,100,44,118,111,116,101,93,41,61,62,33,118,111,116,101,46,102,105,110,105,115,104,101,100,41,46,109,97,112,40,40,91,105,100,44,118,111,116,101,93,41,61,62,40,123,46,46,46,118,111,116,101,44,105,100,58,105,100,125,41,41,125,99,114,101,97,116,101,86,111,116,101,40,116,105,116,108,101,44,100,101,115,99,114,105,112,116,105,111,110,44,101,110,100,84,105,109,101,44,109,101,116,104,111,100,44,97,114,103,115,61,91,93,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,32,116,111,32,99,114,101,97,116,101,32,97,32,118,111,116,101,34,41,59,99,111,110,115,116,32,105,100,61,40,43,43,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,41,46,116,111,83,116,114,105,110,103,40,41,59,116,104,105,115,46,35,118,111,116,101,115,91,105,100,93,61,123,116,105,116,108,101,58,116,105,116,108,101,44,100,101,115,99,114,105,112,116,105,111,110,58,100,101,115,99,114,105,112,116,105,111,110,44,109,101,116,104,111,100,58,109,101,116,104,111,100,44,101,110,100,84,105,109,101,58,101,110,100,84,105,109,101,44,97,114,103,115,58,97,114,103,115,125,125,35,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,95,99,97,110,86,111,116,101,63,46,40,41,125,35,98,101,102,111,114,101,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,95,98,101,102,111,114,101,86,111,116,101,63,46,40,41,125,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,73,100,41,123,108,101,116,32,97,103,114,101,101,61,79,98,106,101,99,116,46,118,97,108,117,101,115,40,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,114,101,115,117,108,116,115,41,46,102,105,108,116,101,114,40,114,101,115,117,108,116,61,62,49,61,61,61,114,101,115,117,108,116,41,44,100,105,115,97,103,114,101,101,61,79,98,106,101,99,116,46,118,97,108,117,101,115,40,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,114,101,115,117,108,116,115,41,46,102,105,108,116,101,114,40,114,101,115,117,108,116,61,62,48,61,61,61,114,101,115,117,108,116,41,59,97,103,114,101,101,46,108,101,110,103,116,104,62,100,105,115,97,103,114,101,101,46,108,101,110,103,116,104,38,38,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,101,110,111,117,103,104,86,111,116,101,115,38,38,116,104,105,115,91,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,109,101,116,104,111,100,93,40,46,46,46,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,97,114,103,115,41,44,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,102,105,110,105,115,104,101,100,61,33,48,125,97,115,121,110,99,32,118,111,116,101,40,118,111,116,101,73,100,44,118,111,116,101,41,123,105,102,40,48,33,61,61,40,118,111,116,101,61,78,117,109,98,101,114,40,118,111,116,101,41,41,38,38,46,53,33,61,61,118,111,116,101,38,38,49,33,61,61,118,111,116,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,105,110,118,97,108,105,100,32,118,111,116,101,32,118,97,108,117,101,32,36,123,118,111,116,101,125,96,41,59,105,102,40,33,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,78,111,116,104,105,110,103,32,102,111,117,110,100,32,102,111,114,32,36,123,118,111,116,101,73,100,125,96,41,59,99,111,110,115,116,32,101,110,100,101,100,61,68,97,116,101,46,110,111,119,40,41,62,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,101,110,100,84,105,109,101,59,105,102,40,101,110,100,101,100,38,38,33,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,102,105,110,105,115,104,101,100,38,38,116,104,105,115,46,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,73,100,41,44,101,110,100,101,100,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,111,116,105,110,103,32,97,108,114,101,97,100,121,32,101,110,100,101,100,34,41,59,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,32,116,111,32,118,111,116,101,34,41,59,97,119,97,105,116,32,116,104,105,115,46,35,98,101,102,111,114,101,86,111,116,101,40,41,44,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,91,109,115,103,46,115,101,110,100,101,114,93,61,118,111,116,101,125,35,100,105,115,97,98,108,101,86,111,116,105,110,103,40,41,123,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,33,48,125,100,105,115,97,98,108,101,86,111,116,105,110,103,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,100,105,115,97,98,108,101,32,118,111,116,105,110,103,34,44,34,87,97,114,110,105,110,103,32,116,104,105,115,32,100,105,115,97,98,108,101,115,32,97,108,108,32,118,111,116,105,110,103,32,102,101,97,116,117,114,101,115,32,102,111,114,101,118,101,114,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,100,105,115,97,98,108,101,86,111,116,105,110,103,34,44,91,93,41,125,95,115,121,110,99,40,41,123,102,111,114,40,99,111,110,115,116,32,118,111,116,101,32,111,102,32,116,104,105,115,46,105,110,80,114,111,103,114,101,115,115,41,118,111,116,101,46,101,110,100,84,105,109,101,60,68,97,116,101,46,110,111,119,40,41,38,38,116,104,105,115,46,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,46,105,100,41,125,125,99,108,97,115,115,32,84,111,107,101,110,82,101,99,101,105,118,101,114,32,101,120,116,101,110,100,115,32,80,117,98,108,105,99,86,111,116,105,110,103,123,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,59,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,59,35,116,111,107,101,110,82,101,99,101,105,118,101,114,59,35,118,111,116,101,84,121,112,101,61,34,116,114,97,110,115,102,101,114,34,59,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,98,117,114,110,115,44,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,61,115,116,97,116,101,46,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,115,116,97,116,101,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,41,44,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,115,116,97,116,101,46,118,111,116,101,84,121,112,101,41,58,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,61,109,115,103,46,99,111,110,116,114,97,99,116,44,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,66,105,103,73,110,116,40,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,41,44,98,117,114,110,115,38,38,40,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,34,98,117,114,110,34,41,41,125,103,101,116,32,116,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,125,103,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,125,103,101,116,32,116,111,107,101,110,82,101,99,101,105,118,101,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,116,111,107,101,110,82,101,99,101,105,118,101,114,58,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,111,107,101,110,84,111,82,101,99,101,105,118,101,58,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,58,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,118,111,116,101,84,121,112,101,58,116,104,105,115,46,35,118,111,116,101,84,121,112,101,125,125,97,115,121,110,99,35,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,97,108,97,110,99,101,79,102,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,62,61,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,125,97,115,121,110,99,32,95,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,125,97,115,121,110,99,35,98,101,102,111,114,101,86,111,116,101,40,41,123,114,101,116,117,114,110,34,98,117,114,110,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,63,109,115,103,46,99,97,108,108,40,116,104,105,115,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,117,114,110,34,44,91,116,104,105,115,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,58,109,115,103,46,99,97,108,108,40,116,104,105,115,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,97,115,121,110,99,32,95,98,101,102,111,114,101,86,111,116,101,40,41,123,97,119,97,105,116,32,116,104,105,115,46,35,98,101,102,111,114,101,86,111,116,101,40,41,125,97,115,121,110,99,32,95,112,97,121,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,97,115,121,110,99,32,95,98,117,114,110,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,117,114,110,34,44,91,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,35,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,97,100,100,114,101,115,115,41,123,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,97,100,100,114,101,115,115,125,35,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,97,109,111,117,110,116,41,123,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,97,109,111,117,110,116,125,35,99,104,97,110,103,101,86,111,116,101,84,121,112,101,40,116,121,112,101,41,123,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,116,121,112,101,125,35,103,101,116,84,111,107,101,110,115,79,117,116,40,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,34,116,114,97,110,115,102,101,114,34,44,91,114,101,99,101,105,118,101,114,44,97,109,111,117,110,116,93,41,125,97,115,121,110,99,32,99,104,97,110,103,101,86,111,116,101,84,121,112,101,40,116,121,112,101,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,105,102,40,34,116,114,97,110,115,102,101,114,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,38,38,97,119,97,105,116,32,116,104,105,115,46,35,98,97,108,97,110,99,101,40,41,62,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,116,32,116,111,107,101,110,115,32,111,117,116,32,102,105,114,115,116,32,111,114,32,116,104,101,121,32,98,101,32,108,111,115,116,32,102,111,114,101,118,101,114,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,97,109,111,117,110,116,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,86,111,116,101,84,121,112,101,34,44,91,116,121,112,101,93,41,125,103,101,116,84,111,107,101,110,115,79,117,116,40,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,119,105,116,104,100,114,97,119,32,97,108,108,32,116,111,107,101,110,115,34,44,96,119,105,116,104,100,114,97,119,32,97,108,108,32,116,111,107,101,110,115,32,116,111,32,36,123,114,101,99,101,105,118,101,114,125,96,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,103,101,116,84,111,107,101,110,115,79,117,116,34,44,91,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,93,41,125,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,97,109,111,117,110,116,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,91,93,41,125,35,98,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,97,108,97,110,99,101,79,102,34,44,91,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,93,41,125,97,115,121,110,99,32,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,105,102,40,48,110,33,61,61,97,119,97,105,116,32,116,104,105,115,46,35,98,97,108,97,110,99,101,40,41,38,38,34,116,114,97,110,115,102,101,114,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,116,32,116,111,107,101,110,115,32,111,117,116,32,102,105,114,115,116,32,111,114,32,116,104,101,121,32,98,101,32,108,111,115,116,32,102,111,114,101,118,101,114,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,84,111,82,101,99,101,105,118,101,32,116,111,32,97,32,110,101,119,32,97,100,100,114,101,115,115,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,34,44,91,93,41,125,125,99,108,97,115,115,32,70,97,99,116,111,114,121,32,101,120,116,101,110,100,115,32,84,111,107,101,110,82,101,99,101,105,118,101,114,123,35,110,97,109,101,61,34,76,101,111,102,99,111,105,110,67,111,110,116,114,97,99,116,70,97,99,116,111,114,121,34,59,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,61,66,105,103,73,110,116,40,48,41,59,35,99,111,110,116,114,97,99,116,115,61,91,93,59,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,115,116,97,116,101,41,123,115,117,112,101,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,33,48,44,115,116,97,116,101,41,44,115,116,97,116,101,38,38,40,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,61,115,116,97,116,101,46,99,111,110,116,114,97,99,116,115,44,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,61,115,116,97,116,101,46,116,111,116,97,108,67,111,110,116,114,97,99,116,115,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,116,111,116,97,108,67,111,110,116,114,97,99,116,115,58,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,44,99,111,110,116,114,97,99,116,115,58,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,125,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,99,111,110,116,114,97,99,116,115,40,41,123,114,101,116,117,114,110,91,46,46,46,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,93,125,103,101,116,32,116,111,116,97,108,67,111,110,116,114,97,99,116,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,125,105,115,82,101,103,105,115,116,101,114,101,100,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,125,35,105,115,67,114,101,97,116,111,114,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,97,100,100,114,101,115,115,44,34,99,114,101,97,116,111,114,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,125,105,115,67,114,101,97,116,111,114,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,105,115,67,114,101,97,116,111,114,40,97,100,100,114,101,115,115,41,125,97,115,121,110,99,32,114,101,103,105,115,116,101,114,67,111,110,116,114,97,99,116,40,97,100,100,114,101,115,115,41,123,105,102,40,33,97,119,97,105,116,32,116,104,105,115,46,105,115,67,114,101,97,116,111,114,40,97,100,100,114,101,115,115,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,89,111,117,32,100,111,110,39,116,32,111,119,110,32,116,104,97,116,32,99,111,110,116,114,97,99,116,34,41,59,105,102,40,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,108,114,101,97,100,121,32,114,101,103,105,115,116,101,114,101,100,34,41,59,97,119,97,105,116,32,116,104,105,115,46,95,112,97,121,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,44,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,43,61,49,110,44,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,125,10,10,114,101,116,117,114,110,32,70,97,99,116,111,114,121,89,91,34,66,51,79,71,82,85,66,83,65,53,86,55,52,72,73,82,82,80,54,89,80,77,90,89,68,90,55,89,77,51,83,82,51,77,81,88,54,51,88,83,89,69,90,73,90,55,84,87,72,66,80,68,87,82,87,86,65,50,88,65,34,44,34,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,93";
970
- var nativeToken = "237,198,141,3,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,166,65,99,108,97,115,115,32,77,101,116,97,123,35,99,114,101,97,116,111,114,59,35,99,114,101,97,116,101,100,65,116,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,115,116,97,116,101,46,99,114,101,97,116,111,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,115,116,97,116,101,46,99,114,101,97,116,101,100,65,116,41,58,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,116,104,105,115,46,35,99,114,101,97,116,111,114,44,99,114,101,97,116,101,100,65,116,58,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,103,101,116,32,99,114,101,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,111,114,125,103,101,116,32,99,114,101,97,116,101,100,65,116,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,99,108,97,115,115,32,82,111,108,101,115,32,101,120,116,101,110,100,115,32,77,101,116,97,123,35,114,111,108,101,115,61,123,79,87,78,69,82,58,91,93,44,77,73,78,84,58,91,93,44,66,85,82,78,58,91,93,125,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,105,102,40,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,46,114,111,108,101,115,41,123,105,102,40,33,40,115,116,97,116,101,46,114,111,108,101,115,32,105,110,115,116,97,110,99,101,111,102,32,79,98,106,101,99,116,41,41,116,104,114,111,119,32,110,101,119,32,84,121,112,101,69,114,114,111,114,40,34,101,120,112,101,99,116,101,100,32,114,111,108,101,115,32,116,111,32,98,101,32,97,110,32,111,98,106,101,99,116,34,41,59,116,104,105,115,46,35,114,111,108,101,115,61,123,46,46,46,115,116,97,116,101,46,114,111,108,101,115,125,125,101,108,115,101,32,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,114,111,108,101,115,58,116,104,105,115,46,114,111,108,101,115,125,125,103,101,116,32,114,111,108,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,111,108,101,115,125,125,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,114,101,116,117,114,110,33,33,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,38,38,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,125,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,103,114,97,110,116,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,114,101,118,111,107,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,105,102,40,34,79,87,78,69,82,34,61,61,61,114,111,108,101,38,38,49,61,61,61,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,108,101,110,103,116,104,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,116,108,101,97,115,116,32,111,110,101,32,111,119,110,101,114,32,105,115,32,110,101,101,100,101,100,33,34,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,115,112,108,105,99,101,40,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,100,101,120,79,102,40,97,100,100,114,101,115,115,41,41,125,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,125,99,108,97,115,115,32,84,111,107,101,110,32,101,120,116,101,110,100,115,32,82,111,108,101,115,123,35,110,97,109,101,59,35,115,121,109,98,111,108,59,35,104,111,108,100,101,114,115,61,48,110,59,35,98,97,108,97,110,99,101,115,61,123,125,59,35,97,112,112,114,111,118,97,108,115,61,123,125,59,35,100,101,99,105,109,97,108,115,61,49,56,59,35,116,111,116,97,108,83,117,112,112,108,121,61,48,110,59,99,111,110,115,116,114,117,99,116,111,114,40,110,97,109,101,44,115,121,109,98,111,108,44,100,101,99,105,109,97,108,115,61,49,56,44,115,116,97,116,101,41,123,105,102,40,33,110,97,109,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,97,109,101,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,33,115,121,109,98,111,108,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,115,121,109,98,111,108,32,117,110,100,101,102,105,110,101,100,34,41,59,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,98,97,108,97,110,99,101,115,61,40,98,97,108,97,110,99,101,115,61,62,123,99,111,110,115,116,32,95,98,97,108,97,110,99,101,115,61,123,125,59,102,111,114,40,99,111,110,115,116,32,97,100,100,114,101,115,115,32,105,110,32,98,97,108,97,110,99,101,115,41,95,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,66,105,103,73,110,116,40,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,41,59,114,101,116,117,114,110,32,95,98,97,108,97,110,99,101,115,125,41,40,115,116,97,116,101,46,98,97,108,97,110,99,101,115,41,44,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,61,40,97,112,112,114,111,118,97,108,115,61,62,123,99,111,110,115,116,32,95,97,112,112,114,111,118,97,108,115,61,123,125,59,102,111,114,40,99,111,110,115,116,32,111,119,110,101,114,32,105,110,32,97,112,112,114,111,118,97,108,115,41,123,95,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,61,123,125,59,102,111,114,40,99,111,110,115,116,32,111,112,101,114,97,116,111,114,32,105,110,32,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,41,95,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,61,66,105,103,73,110,116,40,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,41,125,114,101,116,117,114,110,32,95,97,112,112,114,111,118,97,108,115,125,41,40,115,116,97,116,101,46,97,112,112,114,111,118,97,108,115,41,44,116,104,105,115,46,35,104,111,108,100,101,114,115,61,66,105,103,73,110,116,40,115,116,97,116,101,46,104,111,108,100,101,114,115,41,44,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,66,105,103,73,110,116,40,115,116,97,116,101,46,116,111,116,97,108,83,117,112,112,108,121,41,41,58,40,116,104,105,115,46,35,110,97,109,101,61,110,97,109,101,44,116,104,105,115,46,35,115,121,109,98,111,108,61,115,121,109,98,111,108,44,116,104,105,115,46,35,100,101,99,105,109,97,108,115,61,100,101,99,105,109,97,108,115,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,104,111,108,100,101,114,115,58,116,104,105,115,46,104,111,108,100,101,114,115,44,98,97,108,97,110,99,101,115,58,116,104,105,115,46,98,97,108,97,110,99,101,115,44,97,112,112,114,111,118,97,108,115,58,123,46,46,46,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,125,44,116,111,116,97,108,83,117,112,112,108,121,58,116,104,105,115,46,116,111,116,97,108,83,117,112,112,108,121,125,125,103,101,116,32,116,111,116,97,108,83,117,112,112,108,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,115,121,109,98,111,108,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,115,121,109,98,111,108,125,103,101,116,32,104,111,108,100,101,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,104,111,108,100,101,114,115,125,103,101,116,32,98,97,108,97,110,99,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,98,97,108,97,110,99,101,115,125,125,103,101,116,32,97,112,112,114,111,118,97,108,115,40,41,123,114,101,116,117,114,110,32,79,98,106,101,99,116,46,102,114,111,109,69,110,116,114,105,101,115,40,79,98,106,101,99,116,46,101,110,116,114,105,101,115,40,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,41,46,109,97,112,40,40,91,111,119,110,101,114,44,97,112,112,114,111,118,97,108,115,93,41,61,62,91,111,119,110,101,114,44,123,46,46,46,97,112,112,114,111,118,97,108,115,125,93,41,41,125,103,101,116,32,100,101,99,105,109,97,108,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,100,101,99,105,109,97,108,115,125,109,105,110,116,40,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,77,73,78,84,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,105,102,40,33,116,111,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,100,100,114,101,115,115,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,43,97,109,111,117,110,116,44,116,104,105,115,46,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,98,117,114,110,40,102,114,111,109,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,66,85,82,78,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,45,97,109,111,117,110,116,44,116,104,105,115,46,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,102,114,111,109,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,102,114,111,109,44,97,109,111,117,110,116,41,125,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,102,114,111,109,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,100,100,114,101,115,115,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,33,116,111,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,100,100,114,101,115,115,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,97,109,111,117,110,116,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,33,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,102,114,111,109,93,124,124,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,102,114,111,109,93,60,97,109,111,117,110,116,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,34,41,125,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,123,48,110,61,61,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,63,116,104,105,115,46,35,104,111,108,100,101,114,115,45,61,49,110,58,48,110,33,61,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,38,38,48,110,61,61,61,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,38,38,40,116,104,105,115,46,35,104,111,108,100,101,114,115,43,61,49,110,41,125,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,97,100,100,114,101,115,115,44,97,109,111,117,110,116,41,123,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,124,124,40,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,48,110,41,59,99,111,110,115,116,32,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,59,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,43,97,109,111,117,110,116,44,116,104,105,115,46,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,125,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,97,100,100,114,101,115,115,44,97,109,111,117,110,116,41,123,99,111,110,115,116,32,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,59,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,45,97,109,111,117,110,116,44,116,104,105,115,46,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,125,98,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,109,115,103,46,115,101,110,100,101,114,93,63,63,48,110,125,98,97,108,97,110,99,101,79,102,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,63,63,48,110,125,115,101,116,65,112,112,114,111,118,97,108,40,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,114,101,116,117,114,110,32,116,104,105,115,46,97,112,112,114,111,118,101,40,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,125,97,112,112,114,111,118,101,40,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,99,111,110,115,116,32,111,119,110,101,114,61,109,115,103,46,115,101,110,100,101,114,59,105,102,40,33,111,112,101,114,97,116,111,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,111,112,101,114,97,116,111,114,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,112,112,114,111,118,97,108,32,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,124,124,40,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,61,123,125,41,44,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,61,97,109,111,117,110,116,125,97,112,112,114,111,118,101,100,40,111,119,110,101,114,44,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,114,101,116,117,114,110,40,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,63,46,91,111,112,101,114,97,116,111,114,93,63,63,48,110,41,61,61,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,125,97,108,108,111,119,97,110,99,101,40,111,119,110,101,114,44,111,112,101,114,97,116,111,114,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,63,46,91,111,112,101,114,97,116,111,114,93,63,63,48,110,125,35,116,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,102,114,111,109,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,116,114,97,110,115,102,101,114,40,116,111,44,97,109,111,117,110,116,41,123,116,104,105,115,46,35,116,114,97,110,115,102,101,114,40,109,115,103,46,115,101,110,100,101,114,44,116,111,44,97,109,111,117,110,116,41,125,116,114,97,110,115,102,101,114,70,114,111,109,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,59,99,111,110,115,116,32,111,112,101,114,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,97,108,108,111,119,97,110,99,101,61,116,104,105,115,46,97,108,108,111,119,97,110,99,101,40,102,114,111,109,44,111,112,101,114,97,116,111,114,41,59,105,102,40,97,108,108,111,119,97,110,99,101,60,97,109,111,117,110,116,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,97,108,108,111,119,97,110,99,101,34,41,59,116,104,105,115,46,35,116,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,102,114,111,109,93,91,111,112,101,114,97,116,111,114,93,61,97,108,108,111,119,97,110,99,101,45,97,109,111,117,110,116,125,125,99,111,110,115,116,32,77,79,78,69,84,65,82,89,95,80,79,76,73,67,89,95,65,85,84,72,79,82,73,84,89,61,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,59,99,108,97,115,115,32,76,101,111,102,99,111,105,110,32,101,120,116,101,110,100,115,32,84,111,107,101,110,123,35,116,97,114,103,101,116,83,117,112,112,108,121,59,35,105,110,105,116,105,97,108,83,117,112,112,108,121,59,99,111,110,115,116,114,117,99,116,111,114,40,116,97,114,103,101,116,83,117,112,112,108,121,44,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,44,97,108,108,111,99,97,116,105,111,110,115,61,91,93,44,114,101,115,116,111,114,101,100,83,116,97,116,101,41,123,99,111,110,115,116,32,108,101,103,97,99,121,83,116,97,116,101,61,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,38,38,34,111,98,106,101,99,116,34,61,61,116,121,112,101,111,102,32,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,38,38,33,65,114,114,97,121,46,105,115,65,114,114,97,121,40,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,41,63,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,58,118,111,105,100,32,48,44,115,116,97,116,101,61,114,101,115,116,111,114,101,100,83,116,97,116,101,124,124,108,101,103,97,99,121,83,116,97,116,101,44,105,110,105,116,105,97,108,83,117,112,112,108,121,61,115,116,97,116,101,63,66,105,103,73,110,116,40,115,116,97,116,101,46,105,110,105,116,105,97,108,83,117,112,112,108,121,63,63,115,116,97,116,101,46,116,111,116,97,108,83,117,112,112,108,121,41,58,66,105,103,73,110,116,40,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,41,59,105,102,40,115,117,112,101,114,40,34,76,101,111,102,99,111,105,110,34,44,34,76,70,67,34,44,49,56,44,115,116,97,116,101,124,124,40,40,105,110,105,116,105,97,108,83,117,112,112,108,121,44,97,108,108,111,99,97,116,105,111,110,115,41,61,62,123,105,102,40,40,105,110,105,116,105,97,108,83,117,112,112,108,121,61,66,105,103,73,110,116,40,105,110,105,116,105,97,108,83,117,112,112,108,121,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,105,110,105,116,105,97,108,32,115,117,112,112,108,121,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,33,65,114,114,97,121,46,105,115,65,114,114,97,121,40,97,108,108,111,99,97,116,105,111,110,115,41,124,124,48,61,61,61,97,108,108,111,99,97,116,105,111,110,115,46,108,101,110,103,116,104,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,110,101,115,105,115,32,97,108,108,111,99,97,116,105,111,110,115,32,97,114,101,32,114,101,113,117,105,114,101,100,34,41,59,99,111,110,115,116,32,98,97,108,97,110,99,101,115,61,123,125,59,108,101,116,32,97,108,108,111,99,97,116,101,100,61,48,110,59,102,111,114,40,99,111,110,115,116,32,97,108,108,111,99,97,116,105,111,110,32,111,102,91,46,46,46,97,108,108,111,99,97,116,105,111,110,115,93,46,115,111,114,116,40,40,108,101,102,116,44,114,105,103,104,116,41,61,62,108,101,102,116,46,97,100,100,114,101,115,115,46,108,111,99,97,108,101,67,111,109,112,97,114,101,40,114,105,103,104,116,46,97,100,100,114,101,115,115,41,41,41,123,105,102,40,33,97,108,108,111,99,97,116,105,111,110,46,97,100,100,114,101,115,115,124,124,118,111,105,100,32,48,33,61,61,98,97,108,97,110,99,101,115,91,97,108,108,111,99,97,116,105,111,110,46,97,100,100,114,101,115,115,93,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,105,110,118,97,108,105,100,32,111,114,32,100,117,112,108,105,99,97,116,101,32,103,101,110,101,115,105,115,32,97,100,100,114,101,115,115,34,41,59,99,111,110,115,116,32,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,108,108,111,99,97,116,105,111,110,46,97,109,111,117,110,116,41,59,105,102,40,97,109,111,117,110,116,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,110,101,115,105,115,32,97,108,108,111,99,97,116,105,111,110,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,98,97,108,97,110,99,101,115,91,97,108,108,111,99,97,116,105,111,110,46,97,100,100,114,101,115,115,93,61,97,109,111,117,110,116,44,97,108,108,111,99,97,116,101,100,43,61,97,109,111,117,110,116,125,105,102,40,97,108,108,111,99,97,116,101,100,33,61,61,105,110,105,116,105,97,108,83,117,112,112,108,121,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,103,101,110,101,115,105,115,32,97,108,108,111,99,97,116,105,111,110,115,32,109,117,115,116,32,101,113,117,97,108,32,105,110,105,116,105,97,108,32,115,117,112,112,108,121,58,32,101,120,112,101,99,116,101,100,32,36,123,105,110,105,116,105,97,108,83,117,112,112,108,121,125,44,32,103,111,116,32,36,123,97,108,108,111,99,97,116,101,100,125,96,41,59,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,109,115,103,46,115,101,110,100,101,114,44,99,114,101,97,116,101,100,65,116,58,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,44,114,111,108,101,115,58,123,79,87,78,69,82,58,91,109,115,103,46,115,101,110,100,101,114,93,44,77,73,78,84,58,91,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,93,44,66,85,82,78,58,91,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,93,125,44,104,111,108,100,101,114,115,58,66,105,103,73,110,116,40,79,98,106,101,99,116,46,107,101,121,115,40,98,97,108,97,110,99,101,115,41,46,108,101,110,103,116,104,41,44,98,97,108,97,110,99,101,115,58,98,97,108,97,110,99,101,115,44,97,112,112,114,111,118,97,108,115,58,123,125,44,116,111,116,97,108,83,117,112,112,108,121,58,105,110,105,116,105,97,108,83,117,112,112,108,121,125,125,41,40,105,110,105,116,105,97,108,83,117,112,112,108,121,44,97,108,108,111,99,97,116,105,111,110,115,41,41,44,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,61,115,116,97,116,101,63,66,105,103,73,110,116,40,115,116,97,116,101,46,116,97,114,103,101,116,83,117,112,112,108,121,41,58,66,105,103,73,110,116,40,116,97,114,103,101,116,83,117,112,112,108,121,41,44,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,61,105,110,105,116,105,97,108,83,117,112,112,108,121,44,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,116,97,114,103,101,116,32,115,117,112,112,108,121,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,60,61,48,110,124,124,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,62,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,105,110,105,116,105,97,108,32,115,117,112,112,108,121,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,32,97,110,100,32,110,111,116,32,101,120,99,101,101,100,32,116,97,114,103,101,116,32,115,117,112,112,108,121,34,41,125,103,101,116,32,116,97,114,103,101,116,83,117,112,112,108,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,125,103,101,116,32,105,110,105,116,105,97,108,83,117,112,112,108,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,34,76,101,111,102,99,111,105,110,34,125,103,101,116,32,115,121,109,98,111,108,40,41,123,114,101,116,117,114,110,34,76,70,67,34,125,103,101,116,32,100,101,99,105,109,97,108,115,40,41,123,114,101,116,117,114,110,32,49,56,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,105,110,105,116,105,97,108,83,117,112,112,108,121,58,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,44,116,97,114,103,101,116,83,117,112,112,108,121,58,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,125,125,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,34,77,73,78,84,34,61,61,61,114,111,108,101,124,124,34,66,85,82,78,34,61,61,61,114,111,108,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,112,114,111,116,111,99,111,108,32,109,111,110,101,116,97,114,121,32,114,111,108,101,115,32,97,114,101,32,105,109,109,117,116,97,98,108,101,34,41,59,114,101,116,117,114,110,32,115,117,112,101,114,46,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,34,77,73,78,84,34,61,61,61,114,111,108,101,124,124,34,66,85,82,78,34,61,61,61,114,111,108,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,112,114,111,116,111,99,111,108,32,109,111,110,101,116,97,114,121,32,114,111,108,101,115,32,97,114,101,32,105,109,109,117,116,97,98,108,101,34,41,59,114,101,116,117,114,110,32,115,117,112,101,114,46,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,109,105,110,116,40,116,111,44,97,109,111,117,110,116,41,123,105,102,40,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,33,61,61,109,115,103,46,115,101,110,100,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,111,110,108,121,32,116,104,101,32,109,111,110,101,116,97,114,121,32,112,114,111,116,111,99,111,108,32,109,97,121,32,109,105,110,116,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,109,105,110,116,32,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,116,104,105,115,46,116,111,116,97,108,83,117,112,112,108,121,43,97,109,111,117,110,116,62,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,109,105,110,116,32,101,120,99,101,101,100,115,32,116,97,114,103,101,116,32,115,117,112,112,108,121,34,41,59,114,101,116,117,114,110,32,115,117,112,101,114,46,109,105,110,116,40,116,111,44,97,109,111,117,110,116,41,125,98,117,114,110,40,102,114,111,109,44,97,109,111,117,110,116,41,123,105,102,40,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,33,61,61,109,115,103,46,115,101,110,100,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,111,110,108,121,32,116,104,101,32,109,111,110,101,116,97,114,121,32,112,114,111,116,111,99,111,108,32,109,97,121,32,98,117,114,110,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,98,117,114,110,32,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,116,104,105,115,46,98,97,108,97,110,99,101,79,102,40,102,114,111,109,41,60,97,109,111,117,110,116,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,34,41,59,114,101,116,117,114,110,32,115,117,112,101,114,46,98,117,114,110,40,102,114,111,109,44,97,109,111,117,110,116,41,125,125,10,10,114,101,116,117,114,110,32,76,101,111,102,99,111,105,110,169,1,91,34,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,44,34,53,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,44,91,123,34,97,100,100,114,101,115,115,34,58,34,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,34,44,34,97,109,111,117,110,116,34,58,34,53,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,125,93,93";
971
- var nameService = "237,198,141,3,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,173,52,99,108,97,115,115,32,77,101,116,97,123,35,99,114,101,97,116,111,114,59,35,99,114,101,97,116,101,100,65,116,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,115,116,97,116,101,46,99,114,101,97,116,111,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,115,116,97,116,101,46,99,114,101,97,116,101,100,65,116,41,58,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,116,104,105,115,46,35,99,114,101,97,116,111,114,44,99,114,101,97,116,101,100,65,116,58,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,103,101,116,32,99,114,101,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,111,114,125,103,101,116,32,99,114,101,97,116,101,100,65,116,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,99,108,97,115,115,32,80,117,98,108,105,99,86,111,116,105,110,103,32,101,120,116,101,110,100,115,32,77,101,116,97,123,35,118,111,116,101,115,59,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,59,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,61,49,55,50,56,101,53,59,35,118,111,116,101,78,111,110,99,101,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,118,111,116,101,115,61,115,116,97,116,101,46,118,111,116,101,115,44,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,115,116,97,116,101,46,118,111,116,105,110,103,68,105,115,97,98,108,101,100,44,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,118,111,116,101,78,111,110,99,101,63,63,79,98,106,101,99,116,46,107,101,121,115,40,115,116,97,116,101,46,118,111,116,101,115,63,63,123,125,41,46,108,101,110,103,116,104,41,41,58,40,116,104,105,115,46,35,118,111,116,101,115,61,123,125,44,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,33,49,44,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,61,48,110,41,125,103,101,116,32,118,111,116,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,118,111,116,101,115,125,125,103,101,116,32,118,111,116,105,110,103,68,117,114,97,116,105,111,110,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,125,103,101,116,32,118,111,116,105,110,103,68,105,115,97,98,108,101,100,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,118,111,116,101,115,58,116,104,105,115,46,35,118,111,116,101,115,44,118,111,116,105,110,103,68,105,115,97,98,108,101,100,58,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,44,118,111,116,105,110,103,68,117,114,97,116,105,111,110,58,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,118,111,116,101,78,111,110,99,101,58,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,125,125,103,101,116,32,105,110,80,114,111,103,114,101,115,115,40,41,123,114,101,116,117,114,110,32,79,98,106,101,99,116,46,101,110,116,114,105,101,115,40,116,104,105,115,46,35,118,111,116,101,115,41,46,102,105,108,116,101,114,40,40,91,105,100,44,118,111,116,101,93,41,61,62,33,118,111,116,101,46,102,105,110,105,115,104,101,100,41,46,109,97,112,40,40,91,105,100,44,118,111,116,101,93,41,61,62,40,123,46,46,46,118,111,116,101,44,105,100,58,105,100,125,41,41,125,99,114,101,97,116,101,86,111,116,101,40,116,105,116,108,101,44,100,101,115,99,114,105,112,116,105,111,110,44,101,110,100,84,105,109,101,44,109,101,116,104,111,100,44,97,114,103,115,61,91,93,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,32,116,111,32,99,114,101,97,116,101,32,97,32,118,111,116,101,34,41,59,99,111,110,115,116,32,105,100,61,40,43,43,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,41,46,116,111,83,116,114,105,110,103,40,41,59,116,104,105,115,46,35,118,111,116,101,115,91,105,100,93,61,123,116,105,116,108,101,58,116,105,116,108,101,44,100,101,115,99,114,105,112,116,105,111,110,58,100,101,115,99,114,105,112,116,105,111,110,44,109,101,116,104,111,100,58,109,101,116,104,111,100,44,101,110,100,84,105,109,101,58,101,110,100,84,105,109,101,44,97,114,103,115,58,97,114,103,115,125,125,35,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,95,99,97,110,86,111,116,101,63,46,40,41,125,35,98,101,102,111,114,101,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,95,98,101,102,111,114,101,86,111,116,101,63,46,40,41,125,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,73,100,41,123,108,101,116,32,97,103,114,101,101,61,79,98,106,101,99,116,46,118,97,108,117,101,115,40,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,114,101,115,117,108,116,115,41,46,102,105,108,116,101,114,40,114,101,115,117,108,116,61,62,49,61,61,61,114,101,115,117,108,116,41,44,100,105,115,97,103,114,101,101,61,79,98,106,101,99,116,46,118,97,108,117,101,115,40,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,114,101,115,117,108,116,115,41,46,102,105,108,116,101,114,40,114,101,115,117,108,116,61,62,48,61,61,61,114,101,115,117,108,116,41,59,97,103,114,101,101,46,108,101,110,103,116,104,62,100,105,115,97,103,114,101,101,46,108,101,110,103,116,104,38,38,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,101,110,111,117,103,104,86,111,116,101,115,38,38,116,104,105,115,91,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,109,101,116,104,111,100,93,40,46,46,46,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,97,114,103,115,41,44,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,102,105,110,105,115,104,101,100,61,33,48,125,97,115,121,110,99,32,118,111,116,101,40,118,111,116,101,73,100,44,118,111,116,101,41,123,105,102,40,48,33,61,61,40,118,111,116,101,61,78,117,109,98,101,114,40,118,111,116,101,41,41,38,38,46,53,33,61,61,118,111,116,101,38,38,49,33,61,61,118,111,116,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,105,110,118,97,108,105,100,32,118,111,116,101,32,118,97,108,117,101,32,36,123,118,111,116,101,125,96,41,59,105,102,40,33,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,78,111,116,104,105,110,103,32,102,111,117,110,100,32,102,111,114,32,36,123,118,111,116,101,73,100,125,96,41,59,99,111,110,115,116,32,101,110,100,101,100,61,68,97,116,101,46,110,111,119,40,41,62,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,101,110,100,84,105,109,101,59,105,102,40,101,110,100,101,100,38,38,33,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,102,105,110,105,115,104,101,100,38,38,116,104,105,115,46,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,73,100,41,44,101,110,100,101,100,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,111,116,105,110,103,32,97,108,114,101,97,100,121,32,101,110,100,101,100,34,41,59,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,32,116,111,32,118,111,116,101,34,41,59,97,119,97,105,116,32,116,104,105,115,46,35,98,101,102,111,114,101,86,111,116,101,40,41,44,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,91,109,115,103,46,115,101,110,100,101,114,93,61,118,111,116,101,125,35,100,105,115,97,98,108,101,86,111,116,105,110,103,40,41,123,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,33,48,125,100,105,115,97,98,108,101,86,111,116,105,110,103,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,100,105,115,97,98,108,101,32,118,111,116,105,110,103,34,44,34,87,97,114,110,105,110,103,32,116,104,105,115,32,100,105,115,97,98,108,101,115,32,97,108,108,32,118,111,116,105,110,103,32,102,101,97,116,117,114,101,115,32,102,111,114,101,118,101,114,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,100,105,115,97,98,108,101,86,111,116,105,110,103,34,44,91,93,41,125,95,115,121,110,99,40,41,123,102,111,114,40,99,111,110,115,116,32,118,111,116,101,32,111,102,32,116,104,105,115,46,105,110,80,114,111,103,114,101,115,115,41,118,111,116,101,46,101,110,100,84,105,109,101,60,68,97,116,101,46,110,111,119,40,41,38,38,116,104,105,115,46,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,46,105,100,41,125,125,99,108,97,115,115,32,84,111,107,101,110,82,101,99,101,105,118,101,114,32,101,120,116,101,110,100,115,32,80,117,98,108,105,99,86,111,116,105,110,103,123,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,59,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,59,35,116,111,107,101,110,82,101,99,101,105,118,101,114,59,35,118,111,116,101,84,121,112,101,61,34,116,114,97,110,115,102,101,114,34,59,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,98,117,114,110,115,44,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,61,115,116,97,116,101,46,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,115,116,97,116,101,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,41,44,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,115,116,97,116,101,46,118,111,116,101,84,121,112,101,41,58,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,61,109,115,103,46,99,111,110,116,114,97,99,116,44,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,66,105,103,73,110,116,40,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,41,44,98,117,114,110,115,38,38,40,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,34,98,117,114,110,34,41,41,125,103,101,116,32,116,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,125,103,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,125,103,101,116,32,116,111,107,101,110,82,101,99,101,105,118,101,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,116,111,107,101,110,82,101,99,101,105,118,101,114,58,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,111,107,101,110,84,111,82,101,99,101,105,118,101,58,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,58,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,118,111,116,101,84,121,112,101,58,116,104,105,115,46,35,118,111,116,101,84,121,112,101,125,125,97,115,121,110,99,35,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,97,108,97,110,99,101,79,102,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,62,61,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,125,97,115,121,110,99,32,95,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,125,97,115,121,110,99,35,98,101,102,111,114,101,86,111,116,101,40,41,123,114,101,116,117,114,110,34,98,117,114,110,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,63,109,115,103,46,99,97,108,108,40,116,104,105,115,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,117,114,110,34,44,91,116,104,105,115,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,58,109,115,103,46,99,97,108,108,40,116,104,105,115,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,97,115,121,110,99,32,95,98,101,102,111,114,101,86,111,116,101,40,41,123,97,119,97,105,116,32,116,104,105,115,46,35,98,101,102,111,114,101,86,111,116,101,40,41,125,97,115,121,110,99,32,95,112,97,121,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,97,115,121,110,99,32,95,98,117,114,110,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,117,114,110,34,44,91,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,35,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,97,100,100,114,101,115,115,41,123,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,97,100,100,114,101,115,115,125,35,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,97,109,111,117,110,116,41,123,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,97,109,111,117,110,116,125,35,99,104,97,110,103,101,86,111,116,101,84,121,112,101,40,116,121,112,101,41,123,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,116,121,112,101,125,35,103,101,116,84,111,107,101,110,115,79,117,116,40,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,34,116,114,97,110,115,102,101,114,34,44,91,114,101,99,101,105,118,101,114,44,97,109,111,117,110,116,93,41,125,97,115,121,110,99,32,99,104,97,110,103,101,86,111,116,101,84,121,112,101,40,116,121,112,101,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,105,102,40,34,116,114,97,110,115,102,101,114,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,38,38,97,119,97,105,116,32,116,104,105,115,46,35,98,97,108,97,110,99,101,40,41,62,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,116,32,116,111,107,101,110,115,32,111,117,116,32,102,105,114,115,116,32,111,114,32,116,104,101,121,32,98,101,32,108,111,115,116,32,102,111,114,101,118,101,114,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,97,109,111,117,110,116,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,86,111,116,101,84,121,112,101,34,44,91,116,121,112,101,93,41,125,103,101,116,84,111,107,101,110,115,79,117,116,40,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,119,105,116,104,100,114,97,119,32,97,108,108,32,116,111,107,101,110,115,34,44,96,119,105,116,104,100,114,97,119,32,97,108,108,32,116,111,107,101,110,115,32,116,111,32,36,123,114,101,99,101,105,118,101,114,125,96,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,103,101,116,84,111,107,101,110,115,79,117,116,34,44,91,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,93,41,125,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,97,109,111,117,110,116,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,91,93,41,125,35,98,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,97,108,97,110,99,101,79,102,34,44,91,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,93,41,125,97,115,121,110,99,32,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,105,102,40,48,110,33,61,61,97,119,97,105,116,32,116,104,105,115,46,35,98,97,108,97,110,99,101,40,41,38,38,34,116,114,97,110,115,102,101,114,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,116,32,116,111,107,101,110,115,32,111,117,116,32,102,105,114,115,116,32,111,114,32,116,104,101,121,32,98,101,32,108,111,115,116,32,102,111,114,101,118,101,114,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,84,111,82,101,99,101,105,118,101,32,116,111,32,97,32,110,101,119,32,97,100,100,114,101,115,115,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,34,44,91,93,41,125,125,99,108,97,115,115,32,78,97,109,101,83,101,114,118,105,99,101,32,101,120,116,101,110,100,115,32,84,111,107,101,110,82,101,99,101,105,118,101,114,123,35,110,97,109,101,61,34,76,101,111,102,99,111,105,110,78,97,109,101,83,101,114,118,105,99,101,34,59,35,114,101,103,105,115,116,114,121,61,123,125,59,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,114,101,103,105,115,116,114,121,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,101,103,105,115,116,114,121,125,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,114,101,103,105,115,116,114,121,58,116,104,105,115,46,35,114,101,103,105,115,116,114,121,125,125,99,111,110,115,116,114,117,99,116,111,114,40,102,97,99,116,111,114,121,65,100,100,114,101,115,115,44,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,118,97,108,105,100,97,116,111,114,65,100,100,114,101,115,115,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,115,116,97,116,101,41,123,115,117,112,101,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,33,48,44,115,116,97,116,101,41,44,115,116,97,116,101,63,116,104,105,115,46,35,114,101,103,105,115,116,114,121,61,115,116,97,116,101,46,114,101,103,105,115,116,114,121,58,40,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,76,101,111,102,99,111,105,110,67,111,110,116,114,97,99,116,70,97,99,116,111,114,121,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,109,115,103,46,99,111,110,116,114,97,99,116,125,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,76,101,111,102,99,111,105,110,84,111,107,101,110,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,116,111,107,101,110,84,111,82,101,99,101,105,118,101,125,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,76,101,111,102,99,111,105,110,86,97,108,105,100,97,116,111,114,115,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,118,97,108,105,100,97,116,111,114,65,100,100,114,101,115,115,125,41,125,97,115,121,110,99,32,112,117,114,99,104,97,115,101,78,97,109,101,40,110,97,109,101,44,97,100,100,114,101,115,115,41,123,105,102,40,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,97,109,101,32,97,108,114,101,97,100,121,32,114,101,103,105,115,116,101,114,101,100,34,41,59,97,119,97,105,116,32,116,104,105,115,46,95,112,97,121,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,97,100,100,114,101,115,115,125,125,108,111,111,107,117,112,40,110,97,109,101,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,125,116,114,97,110,115,102,101,114,79,119,110,101,114,115,104,105,112,40,110,97,109,101,44,116,111,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,61,116,111,125,99,104,97,110,103,101,65,100,100,114,101,115,115,40,110,97,109,101,44,97,100,100,114,101,115,115,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,97,100,100,114,101,115,115,61,97,100,100,114,101,115,115,125,125,10,10,114,101,116,117,114,110,32,78,97,109,101,83,101,114,118,105,99,101,215,1,91,34,66,51,79,71,82,85,66,83,66,71,83,65,83,70,88,87,68,90,85,73,54,65,89,73,84,89,55,54,80,89,81,90,83,52,79,53,85,68,87,86,76,83,87,53,54,88,53,67,83,87,84,81,71,84,71,81,72,85,71,85,34,44,34,66,51,79,71,82,85,66,83,65,53,86,55,52,72,73,82,82,80,54,89,80,77,90,89,68,90,55,89,77,51,83,82,51,77,81,88,54,51,88,83,89,69,90,73,90,55,84,87,72,66,80,68,87,82,87,86,65,50,88,65,34,44,34,66,51,79,71,82,85,66,83,66,88,76,67,89,82,84,88,71,53,83,82,76,54,88,78,73,78,69,74,78,65,73,55,67,76,74,66,75,83,82,67,88,89,50,52,71,77,70,85,53,90,89,55,84,88,72,65,71,74,71,84,34,44,34,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,93";
972
- var validators = "237,198,141,3,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,206,33,99,108,97,115,115,32,77,101,116,97,123,35,99,114,101,97,116,111,114,59,35,99,114,101,97,116,101,100,65,116,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,115,116,97,116,101,46,99,114,101,97,116,111,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,115,116,97,116,101,46,99,114,101,97,116,101,100,65,116,41,58,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,116,104,105,115,46,35,99,114,101,97,116,111,114,44,99,114,101,97,116,101,100,65,116,58,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,103,101,116,32,99,114,101,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,111,114,125,103,101,116,32,99,114,101,97,116,101,100,65,116,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,99,108,97,115,115,32,82,111,108,101,115,32,101,120,116,101,110,100,115,32,77,101,116,97,123,35,114,111,108,101,115,61,123,79,87,78,69,82,58,91,93,44,77,73,78,84,58,91,93,44,66,85,82,78,58,91,93,125,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,105,102,40,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,46,114,111,108,101,115,41,123,105,102,40,33,40,115,116,97,116,101,46,114,111,108,101,115,32,105,110,115,116,97,110,99,101,111,102,32,79,98,106,101,99,116,41,41,116,104,114,111,119,32,110,101,119,32,84,121,112,101,69,114,114,111,114,40,34,101,120,112,101,99,116,101,100,32,114,111,108,101,115,32,116,111,32,98,101,32,97,110,32,111,98,106,101,99,116,34,41,59,116,104,105,115,46,35,114,111,108,101,115,61,123,46,46,46,115,116,97,116,101,46,114,111,108,101,115,125,125,101,108,115,101,32,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,114,111,108,101,115,58,116,104,105,115,46,114,111,108,101,115,125,125,103,101,116,32,114,111,108,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,111,108,101,115,125,125,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,114,101,116,117,114,110,33,33,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,38,38,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,125,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,103,114,97,110,116,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,114,101,118,111,107,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,105,102,40,34,79,87,78,69,82,34,61,61,61,114,111,108,101,38,38,49,61,61,61,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,108,101,110,103,116,104,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,116,108,101,97,115,116,32,111,110,101,32,111,119,110,101,114,32,105,115,32,110,101,101,100,101,100,33,34,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,115,112,108,105,99,101,40,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,100,101,120,79,102,40,97,100,100,114,101,115,115,41,41,125,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,125,99,108,97,115,115,32,86,97,108,105,100,97,116,111,114,115,32,101,120,116,101,110,100,115,32,82,111,108,101,115,123,35,110,97,109,101,61,34,76,101,111,102,99,111,105,110,86,97,108,105,100,97,116,111,114,115,34,59,35,118,97,108,105,100,97,116,111,114,115,61,91,93,59,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,59,35,99,117,114,114,101,110,99,121,59,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,61,66,105,103,73,110,116,40,53,101,52,41,59,35,98,97,108,97,110,99,101,115,61,123,125,59,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,61,123,125,59,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,98,97,108,97,110,99,101,115,58,116,104,105,115,46,35,98,97,108,97,110,99,101,115,44,109,105,110,105,109,117,109,66,97,108,97,110,99,101,58,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,44,99,117,114,114,101,110,99,121,58,116,104,105,115,46,35,99,117,114,114,101,110,99,121,44,118,97,108,105,100,97,116,111,114,115,58,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,44,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,58,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,44,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,58,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,125,125,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,65,100,100,114,101,115,115,44,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,109,105,110,105,109,117,109,66,97,108,97,110,99,101,41,44,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,115,116,97,116,101,46,99,117,114,114,101,110,99,121,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,61,115,116,97,116,101,46,118,97,108,105,100,97,116,111,114,115,44,116,104,105,115,46,35,98,97,108,97,110,99,101,115,61,115,116,97,116,101,46,98,97,108,97,110,99,101,115,44,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,61,115,116,97,116,101,46,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,61,115,116,97,116,101,46,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,124,124,123,125,41,58,40,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,116,111,107,101,110,65,100,100,114,101,115,115,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,112,117,115,104,40,109,115,103,46,115,101,110,100,101,114,41,44,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,91,48,93,61,91,109,115,103,46,115,101,110,100,101,114,93,41,125,103,101,116,32,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,99,117,114,114,101,110,99,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,117,114,114,101,110,99,121,125,103,101,116,32,118,97,108,105,100,97,116,111,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,125,103,101,116,32,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,125,103,101,116,32,109,105,110,105,109,117,109,66,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,125,99,104,97,110,103,101,67,117,114,114,101,110,99,121,40,99,117,114,114,101,110,99,121,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,110,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,99,117,114,114,101,110,99,121,125,104,97,115,40,118,97,108,105,100,97,116,111,114,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,105,110,99,108,117,100,101,115,40,118,97,108,105,100,97,116,111,114,41,125,35,105,115,65,108,108,111,119,101,100,40,97,100,100,114,101,115,115,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,97,100,100,114,101,115,115,38,38,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,115,101,110,100,101,114,32,105,115,32,110,111,116,32,116,104,101,32,118,97,108,105,100,97,116,111,114,32,111,114,32,111,119,110,101,114,34,41,59,114,101,116,117,114,110,33,48,125,118,97,108,105,100,97,116,111,114,115,66,121,72,101,105,103,104,116,40,104,101,105,103,104,116,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,91,104,101,105,103,104,116,93,63,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,91,104,101,105,103,104,116,93,58,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,125,114,101,99,111,114,100,86,97,108,105,100,97,116,111,114,83,110,97,112,115,104,111,116,40,104,101,105,103,104,116,41,123,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,91,104,101,105,103,104,116,93,61,91,46,46,46,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,93,125,97,115,121,110,99,32,97,100,100,86,97,108,105,100,97,116,111,114,40,118,97,108,105,100,97,116,111,114,41,123,105,102,40,116,104,105,115,46,35,105,115,65,108,108,111,119,101,100,40,118,97,108,105,100,97,116,111,114,41,44,116,104,105,115,46,104,97,115,40,118,97,108,105,100,97,116,111,114,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,97,108,105,100,97,116,111,114,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,34,41,59,99,111,110,115,116,32,98,97,108,97,110,99,101,61,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,99,117,114,114,101,110,99,121,44,34,98,97,108,97,110,99,101,79,102,34,44,91,118,97,108,105,100,97,116,111,114,93,41,59,105,102,40,116,104,105,115,46,109,105,110,105,109,117,109,66,97,108,97,110,99,101,62,98,97,108,97,110,99,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,98,97,108,97,110,99,101,32,116,111,32,108,111,119,33,32,103,111,116,58,32,36,123,98,97,108,97,110,99,101,125,32,110,101,101,100,58,32,36,123,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,125,96,41,59,97,119,97,105,116,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,99,117,114,114,101,110,99,121,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,118,97,108,105,100,97,116,111,114,44,109,115,103,46,99,111,110,116,114,97,99,116,44,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,93,41,44,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,118,97,108,105,100,97,116,111,114,93,61,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,112,117,115,104,40,118,97,108,105,100,97,116,111,114,41,125,97,115,121,110,99,32,114,101,109,111,118,101,86,97,108,105,100,97,116,111,114,40,118,97,108,105,100,97,116,111,114,41,123,105,102,40,116,104,105,115,46,35,105,115,65,108,108,111,119,101,100,40,118,97,108,105,100,97,116,111,114,41,44,33,116,104,105,115,46,104,97,115,40,118,97,108,105,100,97,116,111,114,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,97,108,105,100,97,116,111,114,32,110,111,116,32,102,111,117,110,100,34,41,59,97,119,97,105,116,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,99,117,114,114,101,110,99,121,44,34,116,114,97,110,115,102,101,114,34,44,91,118,97,108,105,100,97,116,111,114,44,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,93,41,44,100,101,108,101,116,101,32,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,118,97,108,105,100,97,116,111,114,93,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,115,112,108,105,99,101,40,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,105,110,100,101,120,79,102,40,118,97,108,105,100,97,116,111,114,41,44,49,41,125,115,104,117,102,102,108,101,86,97,108,105,100,97,116,111,114,40,41,123,99,111,110,115,116,32,118,97,108,105,100,97,116,111,114,115,61,91,46,46,46,110,101,119,32,83,101,116,40,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,41,93,46,115,111,114,116,40,41,59,105,102,40,48,61,61,61,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,41,114,101,116,117,114,110,59,99,111,110,115,116,32,115,101,101,100,61,96,36,123,115,116,97,116,101,46,108,97,115,116,66,108,111,99,107,63,46,104,97,115,104,63,63,34,48,120,48,34,125,58,36,123,115,116,97,116,101,46,108,97,115,116,66,108,111,99,107,63,46,105,110,100,101,120,63,63,45,49,125,96,59,108,101,116,32,118,97,108,117,101,61,48,110,59,102,111,114,40,99,111,110,115,116,32,99,104,97,114,97,99,116,101,114,32,111,102,32,115,101,101,100,41,118,97,108,117,101,61,40,51,49,110,42,118,97,108,117,101,43,66,105,103,73,110,116,40,99,104,97,114,97,99,116,101,114,46,99,104,97,114,67,111,100,101,65,116,40,48,41,41,41,37,52,50,57,52,57,54,55,50,57,49,110,59,108,101,116,32,105,110,100,101,120,61,78,117,109,98,101,114,40,118,97,108,117,101,37,66,105,103,73,110,116,40,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,41,41,59,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,62,49,38,38,118,97,108,105,100,97,116,111,114,115,91,105,110,100,101,120,93,61,61,61,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,38,38,40,105,110,100,101,120,61,40,105,110,100,101,120,43,49,41,37,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,41,44,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,61,118,97,108,105,100,97,116,111,114,115,91,105,110,100,101,120,93,125,125,10,10,114,101,116,117,114,110,32,86,97,108,105,100,97,116,111,114,115,64,91,34,66,51,79,71,82,85,66,83,65,53,86,55,52,72,73,82,82,80,54,89,80,77,90,89,68,90,55,89,77,51,83,82,51,77,81,88,54,51,88,83,89,69,90,73,90,55,84,87,72,66,80,68,87,82,87,86,65,50,88,65,34,93";
52
+ var contractFactory = "237,198,141,3,76,70,67,1,9,3,7,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,8,162,51,99,108,97,115,115,32,77,101,116,97,123,35,99,114,101,97,116,111,114,59,35,99,114,101,97,116,101,100,65,116,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,115,116,97,116,101,46,99,114,101,97,116,111,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,115,116,97,116,101,46,99,114,101,97,116,101,100,65,116,41,58,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,116,104,105,115,46,35,99,114,101,97,116,111,114,44,99,114,101,97,116,101,100,65,116,58,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,103,101,116,32,99,114,101,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,111,114,125,103,101,116,32,99,114,101,97,116,101,100,65,116,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,99,108,97,115,115,32,80,117,98,108,105,99,86,111,116,105,110,103,32,101,120,116,101,110,100,115,32,77,101,116,97,123,35,118,111,116,101,115,59,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,59,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,61,49,55,50,56,101,53,59,35,118,111,116,101,78,111,110,99,101,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,118,111,116,101,115,61,115,116,97,116,101,46,118,111,116,101,115,44,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,115,116,97,116,101,46,118,111,116,105,110,103,68,105,115,97,98,108,101,100,44,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,118,111,116,101,78,111,110,99,101,63,63,79,98,106,101,99,116,46,107,101,121,115,40,115,116,97,116,101,46,118,111,116,101,115,63,63,123,125,41,46,108,101,110,103,116,104,41,41,58,40,116,104,105,115,46,35,118,111,116,101,115,61,123,125,44,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,33,49,44,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,61,48,110,41,125,103,101,116,32,118,111,116,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,118,111,116,101,115,125,125,103,101,116,32,118,111,116,105,110,103,68,117,114,97,116,105,111,110,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,125,103,101,116,32,118,111,116,105,110,103,68,105,115,97,98,108,101,100,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,118,111,116,101,115,58,116,104,105,115,46,35,118,111,116,101,115,44,118,111,116,105,110,103,68,105,115,97,98,108,101,100,58,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,44,118,111,116,105,110,103,68,117,114,97,116,105,111,110,58,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,118,111,116,101,78,111,110,99,101,58,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,125,125,103,101,116,32,105,110,80,114,111,103,114,101,115,115,40,41,123,114,101,116,117,114,110,32,79,98,106,101,99,116,46,101,110,116,114,105,101,115,40,116,104,105,115,46,35,118,111,116,101,115,41,46,102,105,108,116,101,114,40,40,91,105,100,44,118,111,116,101,93,41,61,62,33,118,111,116,101,46,102,105,110,105,115,104,101,100,41,46,109,97,112,40,40,91,105,100,44,118,111,116,101,93,41,61,62,40,123,46,46,46,118,111,116,101,44,105,100,58,105,100,125,41,41,125,99,114,101,97,116,101,86,111,116,101,40,116,105,116,108,101,44,100,101,115,99,114,105,112,116,105,111,110,44,101,110,100,84,105,109,101,44,109,101,116,104,111,100,44,97,114,103,115,61,91,93,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,32,116,111,32,99,114,101,97,116,101,32,97,32,118,111,116,101,34,41,59,99,111,110,115,116,32,105,100,61,40,43,43,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,41,46,116,111,83,116,114,105,110,103,40,41,59,116,104,105,115,46,35,118,111,116,101,115,91,105,100,93,61,123,116,105,116,108,101,58,116,105,116,108,101,44,100,101,115,99,114,105,112,116,105,111,110,58,100,101,115,99,114,105,112,116,105,111,110,44,109,101,116,104,111,100,58,109,101,116,104,111,100,44,101,110,100,84,105,109,101,58,101,110,100,84,105,109,101,44,97,114,103,115,58,97,114,103,115,125,125,35,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,95,99,97,110,86,111,116,101,63,46,40,41,125,35,98,101,102,111,114,101,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,95,98,101,102,111,114,101,86,111,116,101,63,46,40,41,125,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,73,100,41,123,108,101,116,32,97,103,114,101,101,61,79,98,106,101,99,116,46,118,97,108,117,101,115,40,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,114,101,115,117,108,116,115,41,46,102,105,108,116,101,114,40,114,101,115,117,108,116,61,62,49,61,61,61,114,101,115,117,108,116,41,44,100,105,115,97,103,114,101,101,61,79,98,106,101,99,116,46,118,97,108,117,101,115,40,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,114,101,115,117,108,116,115,41,46,102,105,108,116,101,114,40,114,101,115,117,108,116,61,62,48,61,61,61,114,101,115,117,108,116,41,59,97,103,114,101,101,46,108,101,110,103,116,104,62,100,105,115,97,103,114,101,101,46,108,101,110,103,116,104,38,38,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,101,110,111,117,103,104,86,111,116,101,115,38,38,116,104,105,115,91,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,109,101,116,104,111,100,93,40,46,46,46,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,97,114,103,115,41,44,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,102,105,110,105,115,104,101,100,61,33,48,125,97,115,121,110,99,32,118,111,116,101,40,118,111,116,101,73,100,44,118,111,116,101,41,123,105,102,40,48,33,61,61,40,118,111,116,101,61,78,117,109,98,101,114,40,118,111,116,101,41,41,38,38,46,53,33,61,61,118,111,116,101,38,38,49,33,61,61,118,111,116,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,105,110,118,97,108,105,100,32,118,111,116,101,32,118,97,108,117,101,32,36,123,118,111,116,101,125,96,41,59,105,102,40,33,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,78,111,116,104,105,110,103,32,102,111,117,110,100,32,102,111,114,32,36,123,118,111,116,101,73,100,125,96,41,59,99,111,110,115,116,32,101,110,100,101,100,61,68,97,116,101,46,110,111,119,40,41,62,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,101,110,100,84,105,109,101,59,105,102,40,101,110,100,101,100,38,38,33,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,102,105,110,105,115,104,101,100,38,38,116,104,105,115,46,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,73,100,41,44,101,110,100,101,100,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,111,116,105,110,103,32,97,108,114,101,97,100,121,32,101,110,100,101,100,34,41,59,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,32,116,111,32,118,111,116,101,34,41,59,97,119,97,105,116,32,116,104,105,115,46,35,98,101,102,111,114,101,86,111,116,101,40,41,44,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,91,109,115,103,46,115,101,110,100,101,114,93,61,118,111,116,101,125,35,100,105,115,97,98,108,101,86,111,116,105,110,103,40,41,123,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,33,48,125,100,105,115,97,98,108,101,86,111,116,105,110,103,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,100,105,115,97,98,108,101,32,118,111,116,105,110,103,34,44,34,87,97,114,110,105,110,103,32,116,104,105,115,32,100,105,115,97,98,108,101,115,32,97,108,108,32,118,111,116,105,110,103,32,102,101,97,116,117,114,101,115,32,102,111,114,101,118,101,114,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,100,105,115,97,98,108,101,86,111,116,105,110,103,34,44,91,93,41,125,95,115,121,110,99,40,41,123,102,111,114,40,99,111,110,115,116,32,118,111,116,101,32,111,102,32,116,104,105,115,46,105,110,80,114,111,103,114,101,115,115,41,118,111,116,101,46,101,110,100,84,105,109,101,60,68,97,116,101,46,110,111,119,40,41,38,38,116,104,105,115,46,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,46,105,100,41,125,125,99,108,97,115,115,32,84,111,107,101,110,82,101,99,101,105,118,101,114,32,101,120,116,101,110,100,115,32,80,117,98,108,105,99,86,111,116,105,110,103,123,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,59,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,59,35,116,111,107,101,110,82,101,99,101,105,118,101,114,59,35,118,111,116,101,84,121,112,101,61,34,116,114,97,110,115,102,101,114,34,59,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,98,117,114,110,115,44,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,61,115,116,97,116,101,46,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,115,116,97,116,101,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,41,44,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,115,116,97,116,101,46,118,111,116,101,84,121,112,101,41,58,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,61,109,115,103,46,99,111,110,116,114,97,99,116,44,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,66,105,103,73,110,116,40,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,41,44,98,117,114,110,115,38,38,40,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,34,98,117,114,110,34,41,41,125,103,101,116,32,116,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,125,103,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,125,103,101,116,32,116,111,107,101,110,82,101,99,101,105,118,101,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,116,111,107,101,110,82,101,99,101,105,118,101,114,58,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,111,107,101,110,84,111,82,101,99,101,105,118,101,58,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,58,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,118,111,116,101,84,121,112,101,58,116,104,105,115,46,35,118,111,116,101,84,121,112,101,125,125,97,115,121,110,99,35,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,97,108,97,110,99,101,79,102,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,62,61,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,125,97,115,121,110,99,32,95,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,125,97,115,121,110,99,35,98,101,102,111,114,101,86,111,116,101,40,41,123,114,101,116,117,114,110,34,98,117,114,110,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,63,109,115,103,46,99,97,108,108,40,116,104,105,115,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,117,114,110,34,44,91,116,104,105,115,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,58,109,115,103,46,99,97,108,108,40,116,104,105,115,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,97,115,121,110,99,32,95,98,101,102,111,114,101,86,111,116,101,40,41,123,97,119,97,105,116,32,116,104,105,115,46,35,98,101,102,111,114,101,86,111,116,101,40,41,125,97,115,121,110,99,32,95,112,97,121,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,97,115,121,110,99,32,95,98,117,114,110,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,117,114,110,34,44,91,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,35,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,97,100,100,114,101,115,115,41,123,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,97,100,100,114,101,115,115,125,35,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,97,109,111,117,110,116,41,123,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,97,109,111,117,110,116,125,35,99,104,97,110,103,101,86,111,116,101,84,121,112,101,40,116,121,112,101,41,123,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,116,121,112,101,125,35,103,101,116,84,111,107,101,110,115,79,117,116,40,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,34,116,114,97,110,115,102,101,114,34,44,91,114,101,99,101,105,118,101,114,44,97,109,111,117,110,116,93,41,125,97,115,121,110,99,32,99,104,97,110,103,101,86,111,116,101,84,121,112,101,40,116,121,112,101,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,105,102,40,34,116,114,97,110,115,102,101,114,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,38,38,97,119,97,105,116,32,116,104,105,115,46,35,98,97,108,97,110,99,101,40,41,62,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,116,32,116,111,107,101,110,115,32,111,117,116,32,102,105,114,115,116,32,111,114,32,116,104,101,121,32,98,101,32,108,111,115,116,32,102,111,114,101,118,101,114,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,97,109,111,117,110,116,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,86,111,116,101,84,121,112,101,34,44,91,116,121,112,101,93,41,125,103,101,116,84,111,107,101,110,115,79,117,116,40,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,119,105,116,104,100,114,97,119,32,97,108,108,32,116,111,107,101,110,115,34,44,96,119,105,116,104,100,114,97,119,32,97,108,108,32,116,111,107,101,110,115,32,116,111,32,36,123,114,101,99,101,105,118,101,114,125,96,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,103,101,116,84,111,107,101,110,115,79,117,116,34,44,91,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,93,41,125,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,97,109,111,117,110,116,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,91,93,41,125,35,98,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,97,108,97,110,99,101,79,102,34,44,91,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,93,41,125,97,115,121,110,99,32,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,105,102,40,48,110,33,61,61,97,119,97,105,116,32,116,104,105,115,46,35,98,97,108,97,110,99,101,40,41,38,38,34,116,114,97,110,115,102,101,114,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,116,32,116,111,107,101,110,115,32,111,117,116,32,102,105,114,115,116,32,111,114,32,116,104,101,121,32,98,101,32,108,111,115,116,32,102,111,114,101,118,101,114,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,84,111,82,101,99,101,105,118,101,32,116,111,32,97,32,110,101,119,32,97,100,100,114,101,115,115,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,34,44,91,93,41,125,125,99,108,97,115,115,32,70,97,99,116,111,114,121,32,101,120,116,101,110,100,115,32,84,111,107,101,110,82,101,99,101,105,118,101,114,123,35,110,97,109,101,61,34,76,101,111,102,99,111,105,110,67,111,110,116,114,97,99,116,70,97,99,116,111,114,121,34,59,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,61,66,105,103,73,110,116,40,48,41,59,35,99,111,110,116,114,97,99,116,115,61,91,93,59,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,115,116,97,116,101,41,123,115,117,112,101,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,33,48,44,115,116,97,116,101,41,44,115,116,97,116,101,38,38,40,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,61,115,116,97,116,101,46,99,111,110,116,114,97,99,116,115,44,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,61,115,116,97,116,101,46,116,111,116,97,108,67,111,110,116,114,97,99,116,115,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,116,111,116,97,108,67,111,110,116,114,97,99,116,115,58,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,44,99,111,110,116,114,97,99,116,115,58,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,125,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,99,111,110,116,114,97,99,116,115,40,41,123,114,101,116,117,114,110,91,46,46,46,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,93,125,103,101,116,32,116,111,116,97,108,67,111,110,116,114,97,99,116,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,125,105,115,82,101,103,105,115,116,101,114,101,100,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,125,35,105,115,67,114,101,97,116,111,114,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,97,100,100,114,101,115,115,44,34,99,114,101,97,116,111,114,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,125,105,115,67,114,101,97,116,111,114,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,105,115,67,114,101,97,116,111,114,40,97,100,100,114,101,115,115,41,125,97,115,121,110,99,32,114,101,103,105,115,116,101,114,67,111,110,116,114,97,99,116,40,97,100,100,114,101,115,115,41,123,105,102,40,33,97,119,97,105,116,32,116,104,105,115,46,105,115,67,114,101,97,116,111,114,40,97,100,100,114,101,115,115,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,89,111,117,32,100,111,110,39,116,32,111,119,110,32,116,104,97,116,32,99,111,110,116,114,97,99,116,34,41,59,105,102,40,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,108,114,101,97,100,121,32,114,101,103,105,115,116,101,114,101,100,34,41,59,97,119,97,105,116,32,116,104,105,115,46,95,112,97,121,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,44,116,104,105,115,46,35,116,111,116,97,108,67,111,110,116,114,97,99,116,115,43,61,49,110,44,116,104,105,115,46,35,99,111,110,116,114,97,99,116,115,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,125,10,10,114,101,116,117,114,110,32,70,97,99,116,111,114,121,9,2,7,60,66,51,79,71,82,85,66,83,66,83,87,72,89,71,78,89,84,52,79,53,55,69,75,55,81,53,90,78,88,89,70,82,50,51,67,67,83,52,69,85,81,80,81,51,52,82,85,53,55,86,54,82,79,81,78,76,89,73,86,78,7,22,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48";
53
+ var nativeToken = "237,198,141,3,76,70,67,1,9,3,7,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,8,166,65,99,108,97,115,115,32,77,101,116,97,123,35,99,114,101,97,116,111,114,59,35,99,114,101,97,116,101,100,65,116,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,115,116,97,116,101,46,99,114,101,97,116,111,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,115,116,97,116,101,46,99,114,101,97,116,101,100,65,116,41,58,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,116,104,105,115,46,35,99,114,101,97,116,111,114,44,99,114,101,97,116,101,100,65,116,58,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,103,101,116,32,99,114,101,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,111,114,125,103,101,116,32,99,114,101,97,116,101,100,65,116,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,99,108,97,115,115,32,82,111,108,101,115,32,101,120,116,101,110,100,115,32,77,101,116,97,123,35,114,111,108,101,115,61,123,79,87,78,69,82,58,91,93,44,77,73,78,84,58,91,93,44,66,85,82,78,58,91,93,125,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,105,102,40,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,46,114,111,108,101,115,41,123,105,102,40,33,40,115,116,97,116,101,46,114,111,108,101,115,32,105,110,115,116,97,110,99,101,111,102,32,79,98,106,101,99,116,41,41,116,104,114,111,119,32,110,101,119,32,84,121,112,101,69,114,114,111,114,40,34,101,120,112,101,99,116,101,100,32,114,111,108,101,115,32,116,111,32,98,101,32,97,110,32,111,98,106,101,99,116,34,41,59,116,104,105,115,46,35,114,111,108,101,115,61,123,46,46,46,115,116,97,116,101,46,114,111,108,101,115,125,125,101,108,115,101,32,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,114,111,108,101,115,58,116,104,105,115,46,114,111,108,101,115,125,125,103,101,116,32,114,111,108,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,111,108,101,115,125,125,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,114,101,116,117,114,110,33,33,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,38,38,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,125,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,103,114,97,110,116,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,114,101,118,111,107,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,105,102,40,34,79,87,78,69,82,34,61,61,61,114,111,108,101,38,38,49,61,61,61,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,108,101,110,103,116,104,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,116,108,101,97,115,116,32,111,110,101,32,111,119,110,101,114,32,105,115,32,110,101,101,100,101,100,33,34,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,115,112,108,105,99,101,40,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,100,101,120,79,102,40,97,100,100,114,101,115,115,41,41,125,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,125,99,108,97,115,115,32,84,111,107,101,110,32,101,120,116,101,110,100,115,32,82,111,108,101,115,123,35,110,97,109,101,59,35,115,121,109,98,111,108,59,35,104,111,108,100,101,114,115,61,48,110,59,35,98,97,108,97,110,99,101,115,61,123,125,59,35,97,112,112,114,111,118,97,108,115,61,123,125,59,35,100,101,99,105,109,97,108,115,61,49,56,59,35,116,111,116,97,108,83,117,112,112,108,121,61,48,110,59,99,111,110,115,116,114,117,99,116,111,114,40,110,97,109,101,44,115,121,109,98,111,108,44,100,101,99,105,109,97,108,115,61,49,56,44,115,116,97,116,101,41,123,105,102,40,33,110,97,109,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,97,109,101,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,33,115,121,109,98,111,108,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,115,121,109,98,111,108,32,117,110,100,101,102,105,110,101,100,34,41,59,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,98,97,108,97,110,99,101,115,61,40,98,97,108,97,110,99,101,115,61,62,123,99,111,110,115,116,32,95,98,97,108,97,110,99,101,115,61,123,125,59,102,111,114,40,99,111,110,115,116,32,97,100,100,114,101,115,115,32,105,110,32,98,97,108,97,110,99,101,115,41,95,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,66,105,103,73,110,116,40,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,41,59,114,101,116,117,114,110,32,95,98,97,108,97,110,99,101,115,125,41,40,115,116,97,116,101,46,98,97,108,97,110,99,101,115,41,44,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,61,40,97,112,112,114,111,118,97,108,115,61,62,123,99,111,110,115,116,32,95,97,112,112,114,111,118,97,108,115,61,123,125,59,102,111,114,40,99,111,110,115,116,32,111,119,110,101,114,32,105,110,32,97,112,112,114,111,118,97,108,115,41,123,95,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,61,123,125,59,102,111,114,40,99,111,110,115,116,32,111,112,101,114,97,116,111,114,32,105,110,32,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,41,95,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,61,66,105,103,73,110,116,40,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,41,125,114,101,116,117,114,110,32,95,97,112,112,114,111,118,97,108,115,125,41,40,115,116,97,116,101,46,97,112,112,114,111,118,97,108,115,41,44,116,104,105,115,46,35,104,111,108,100,101,114,115,61,66,105,103,73,110,116,40,115,116,97,116,101,46,104,111,108,100,101,114,115,41,44,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,66,105,103,73,110,116,40,115,116,97,116,101,46,116,111,116,97,108,83,117,112,112,108,121,41,41,58,40,116,104,105,115,46,35,110,97,109,101,61,110,97,109,101,44,116,104,105,115,46,35,115,121,109,98,111,108,61,115,121,109,98,111,108,44,116,104,105,115,46,35,100,101,99,105,109,97,108,115,61,100,101,99,105,109,97,108,115,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,104,111,108,100,101,114,115,58,116,104,105,115,46,104,111,108,100,101,114,115,44,98,97,108,97,110,99,101,115,58,116,104,105,115,46,98,97,108,97,110,99,101,115,44,97,112,112,114,111,118,97,108,115,58,123,46,46,46,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,125,44,116,111,116,97,108,83,117,112,112,108,121,58,116,104,105,115,46,116,111,116,97,108,83,117,112,112,108,121,125,125,103,101,116,32,116,111,116,97,108,83,117,112,112,108,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,115,121,109,98,111,108,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,115,121,109,98,111,108,125,103,101,116,32,104,111,108,100,101,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,104,111,108,100,101,114,115,125,103,101,116,32,98,97,108,97,110,99,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,98,97,108,97,110,99,101,115,125,125,103,101,116,32,97,112,112,114,111,118,97,108,115,40,41,123,114,101,116,117,114,110,32,79,98,106,101,99,116,46,102,114,111,109,69,110,116,114,105,101,115,40,79,98,106,101,99,116,46,101,110,116,114,105,101,115,40,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,41,46,109,97,112,40,40,91,111,119,110,101,114,44,97,112,112,114,111,118,97,108,115,93,41,61,62,91,111,119,110,101,114,44,123,46,46,46,97,112,112,114,111,118,97,108,115,125,93,41,41,125,103,101,116,32,100,101,99,105,109,97,108,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,100,101,99,105,109,97,108,115,125,109,105,110,116,40,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,77,73,78,84,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,105,102,40,33,116,111,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,100,100,114,101,115,115,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,43,97,109,111,117,110,116,44,116,104,105,115,46,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,98,117,114,110,40,102,114,111,109,44,97,109,111,117,110,116,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,66,85,82,78,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,61,116,104,105,115,46,35,116,111,116,97,108,83,117,112,112,108,121,45,97,109,111,117,110,116,44,116,104,105,115,46,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,102,114,111,109,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,102,114,111,109,44,97,109,111,117,110,116,41,125,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,105,102,40,33,102,114,111,109,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,100,100,114,101,115,115,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,33,116,111,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,100,100,114,101,115,115,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,97,109,111,117,110,116,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,33,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,102,114,111,109,93,124,124,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,102,114,111,109,93,60,97,109,111,117,110,116,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,34,41,125,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,123,48,110,61,61,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,63,116,104,105,115,46,35,104,111,108,100,101,114,115,45,61,49,110,58,48,110,33,61,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,38,38,48,110,61,61,61,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,38,38,40,116,104,105,115,46,35,104,111,108,100,101,114,115,43,61,49,110,41,125,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,97,100,100,114,101,115,115,44,97,109,111,117,110,116,41,123,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,124,124,40,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,48,110,41,59,99,111,110,115,116,32,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,59,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,43,97,109,111,117,110,116,44,116,104,105,115,46,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,125,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,97,100,100,114,101,115,115,44,97,109,111,117,110,116,41,123,99,111,110,115,116,32,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,59,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,61,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,45,97,109,111,117,110,116,44,116,104,105,115,46,35,117,112,100,97,116,101,72,111,108,100,101,114,115,40,97,100,100,114,101,115,115,44,112,114,101,118,105,111,117,115,66,97,108,97,110,99,101,41,125,98,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,109,115,103,46,115,101,110,100,101,114,93,63,63,48,110,125,98,97,108,97,110,99,101,79,102,40,97,100,100,114,101,115,115,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,97,100,100,114,101,115,115,93,63,63,48,110,125,115,101,116,65,112,112,114,111,118,97,108,40,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,114,101,116,117,114,110,32,116,104,105,115,46,97,112,112,114,111,118,101,40,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,125,97,112,112,114,111,118,101,40,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,99,111,110,115,116,32,111,119,110,101,114,61,109,115,103,46,115,101,110,100,101,114,59,105,102,40,33,111,112,101,114,97,116,111,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,111,112,101,114,97,116,111,114,32,117,110,100,101,102,105,110,101,100,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,112,112,114,111,118,97,108,32,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,124,124,40,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,61,123,125,41,44,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,91,111,112,101,114,97,116,111,114,93,61,97,109,111,117,110,116,125,97,112,112,114,111,118,101,100,40,111,119,110,101,114,44,111,112,101,114,97,116,111,114,44,97,109,111,117,110,116,41,123,114,101,116,117,114,110,40,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,63,46,91,111,112,101,114,97,116,111,114,93,63,63,48,110,41,61,61,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,125,97,108,108,111,119,97,110,99,101,40,111,119,110,101,114,44,111,112,101,114,97,116,111,114,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,111,119,110,101,114,93,63,46,91,111,112,101,114,97,116,111,114,93,63,63,48,110,125,35,116,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,44,116,104,105,115,46,35,98,101,102,111,114,101,84,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,100,101,99,114,101,97,115,101,66,97,108,97,110,99,101,40,102,114,111,109,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,105,110,99,114,101,97,115,101,66,97,108,97,110,99,101,40,116,111,44,97,109,111,117,110,116,41,125,116,114,97,110,115,102,101,114,40,116,111,44,97,109,111,117,110,116,41,123,116,104,105,115,46,35,116,114,97,110,115,102,101,114,40,109,115,103,46,115,101,110,100,101,114,44,116,111,44,97,109,111,117,110,116,41,125,116,114,97,110,115,102,101,114,70,114,111,109,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,123,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,59,99,111,110,115,116,32,111,112,101,114,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,97,108,108,111,119,97,110,99,101,61,116,104,105,115,46,97,108,108,111,119,97,110,99,101,40,102,114,111,109,44,111,112,101,114,97,116,111,114,41,59,105,102,40,97,108,108,111,119,97,110,99,101,60,97,109,111,117,110,116,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,97,108,108,111,119,97,110,99,101,34,41,59,116,104,105,115,46,35,116,114,97,110,115,102,101,114,40,102,114,111,109,44,116,111,44,97,109,111,117,110,116,41,44,116,104,105,115,46,35,97,112,112,114,111,118,97,108,115,91,102,114,111,109,93,91,111,112,101,114,97,116,111,114,93,61,97,108,108,111,119,97,110,99,101,45,97,109,111,117,110,116,125,125,99,111,110,115,116,32,77,79,78,69,84,65,82,89,95,80,79,76,73,67,89,95,65,85,84,72,79,82,73,84,89,61,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,59,99,108,97,115,115,32,76,101,111,102,99,111,105,110,32,101,120,116,101,110,100,115,32,84,111,107,101,110,123,35,116,97,114,103,101,116,83,117,112,112,108,121,59,35,105,110,105,116,105,97,108,83,117,112,112,108,121,59,99,111,110,115,116,114,117,99,116,111,114,40,116,97,114,103,101,116,83,117,112,112,108,121,44,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,44,97,108,108,111,99,97,116,105,111,110,115,61,91,93,44,114,101,115,116,111,114,101,100,83,116,97,116,101,41,123,99,111,110,115,116,32,108,101,103,97,99,121,83,116,97,116,101,61,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,38,38,34,111,98,106,101,99,116,34,61,61,116,121,112,101,111,102,32,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,38,38,33,65,114,114,97,121,46,105,115,65,114,114,97,121,40,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,41,63,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,58,118,111,105,100,32,48,44,115,116,97,116,101,61,114,101,115,116,111,114,101,100,83,116,97,116,101,124,124,108,101,103,97,99,121,83,116,97,116,101,44,105,110,105,116,105,97,108,83,117,112,112,108,121,61,115,116,97,116,101,63,66,105,103,73,110,116,40,115,116,97,116,101,46,105,110,105,116,105,97,108,83,117,112,112,108,121,63,63,115,116,97,116,101,46,116,111,116,97,108,83,117,112,112,108,121,41,58,66,105,103,73,110,116,40,105,110,105,116,105,97,108,83,117,112,112,108,121,79,114,83,116,97,116,101,41,59,105,102,40,115,117,112,101,114,40,34,76,101,111,102,99,111,105,110,34,44,34,76,70,67,34,44,49,56,44,115,116,97,116,101,124,124,40,40,105,110,105,116,105,97,108,83,117,112,112,108,121,44,97,108,108,111,99,97,116,105,111,110,115,41,61,62,123,105,102,40,40,105,110,105,116,105,97,108,83,117,112,112,108,121,61,66,105,103,73,110,116,40,105,110,105,116,105,97,108,83,117,112,112,108,121,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,105,110,105,116,105,97,108,32,115,117,112,112,108,121,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,33,65,114,114,97,121,46,105,115,65,114,114,97,121,40,97,108,108,111,99,97,116,105,111,110,115,41,124,124,48,61,61,61,97,108,108,111,99,97,116,105,111,110,115,46,108,101,110,103,116,104,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,110,101,115,105,115,32,97,108,108,111,99,97,116,105,111,110,115,32,97,114,101,32,114,101,113,117,105,114,101,100,34,41,59,99,111,110,115,116,32,98,97,108,97,110,99,101,115,61,123,125,59,108,101,116,32,97,108,108,111,99,97,116,101,100,61,48,110,59,102,111,114,40,99,111,110,115,116,32,97,108,108,111,99,97,116,105,111,110,32,111,102,91,46,46,46,97,108,108,111,99,97,116,105,111,110,115,93,46,115,111,114,116,40,40,108,101,102,116,44,114,105,103,104,116,41,61,62,108,101,102,116,46,97,100,100,114,101,115,115,46,108,111,99,97,108,101,67,111,109,112,97,114,101,40,114,105,103,104,116,46,97,100,100,114,101,115,115,41,41,41,123,105,102,40,33,97,108,108,111,99,97,116,105,111,110,46,97,100,100,114,101,115,115,124,124,118,111,105,100,32,48,33,61,61,98,97,108,97,110,99,101,115,91,97,108,108,111,99,97,116,105,111,110,46,97,100,100,114,101,115,115,93,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,105,110,118,97,108,105,100,32,111,114,32,100,117,112,108,105,99,97,116,101,32,103,101,110,101,115,105,115,32,97,100,100,114,101,115,115,34,41,59,99,111,110,115,116,32,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,108,108,111,99,97,116,105,111,110,46,97,109,111,117,110,116,41,59,105,102,40,97,109,111,117,110,116,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,110,101,115,105,115,32,97,108,108,111,99,97,116,105,111,110,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,98,97,108,97,110,99,101,115,91,97,108,108,111,99,97,116,105,111,110,46,97,100,100,114,101,115,115,93,61,97,109,111,117,110,116,44,97,108,108,111,99,97,116,101,100,43,61,97,109,111,117,110,116,125,105,102,40,97,108,108,111,99,97,116,101,100,33,61,61,105,110,105,116,105,97,108,83,117,112,112,108,121,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,103,101,110,101,115,105,115,32,97,108,108,111,99,97,116,105,111,110,115,32,109,117,115,116,32,101,113,117,97,108,32,105,110,105,116,105,97,108,32,115,117,112,112,108,121,58,32,101,120,112,101,99,116,101,100,32,36,123,105,110,105,116,105,97,108,83,117,112,112,108,121,125,44,32,103,111,116,32,36,123,97,108,108,111,99,97,116,101,100,125,96,41,59,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,109,115,103,46,115,101,110,100,101,114,44,99,114,101,97,116,101,100,65,116,58,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,44,114,111,108,101,115,58,123,79,87,78,69,82,58,91,109,115,103,46,115,101,110,100,101,114,93,44,77,73,78,84,58,91,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,93,44,66,85,82,78,58,91,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,93,125,44,104,111,108,100,101,114,115,58,66,105,103,73,110,116,40,79,98,106,101,99,116,46,107,101,121,115,40,98,97,108,97,110,99,101,115,41,46,108,101,110,103,116,104,41,44,98,97,108,97,110,99,101,115,58,98,97,108,97,110,99,101,115,44,97,112,112,114,111,118,97,108,115,58,123,125,44,116,111,116,97,108,83,117,112,112,108,121,58,105,110,105,116,105,97,108,83,117,112,112,108,121,125,125,41,40,105,110,105,116,105,97,108,83,117,112,112,108,121,44,97,108,108,111,99,97,116,105,111,110,115,41,41,44,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,61,115,116,97,116,101,63,66,105,103,73,110,116,40,115,116,97,116,101,46,116,97,114,103,101,116,83,117,112,112,108,121,41,58,66,105,103,73,110,116,40,116,97,114,103,101,116,83,117,112,112,108,121,41,44,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,61,105,110,105,116,105,97,108,83,117,112,112,108,121,44,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,116,97,114,103,101,116,32,115,117,112,112,108,121,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,60,61,48,110,124,124,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,62,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,105,110,105,116,105,97,108,32,115,117,112,112,108,121,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,32,97,110,100,32,110,111,116,32,101,120,99,101,101,100,32,116,97,114,103,101,116,32,115,117,112,112,108,121,34,41,125,103,101,116,32,116,97,114,103,101,116,83,117,112,112,108,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,125,103,101,116,32,105,110,105,116,105,97,108,83,117,112,112,108,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,34,76,101,111,102,99,111,105,110,34,125,103,101,116,32,115,121,109,98,111,108,40,41,123,114,101,116,117,114,110,34,76,70,67,34,125,103,101,116,32,100,101,99,105,109,97,108,115,40,41,123,114,101,116,117,114,110,32,49,56,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,105,110,105,116,105,97,108,83,117,112,112,108,121,58,116,104,105,115,46,35,105,110,105,116,105,97,108,83,117,112,112,108,121,44,116,97,114,103,101,116,83,117,112,112,108,121,58,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,125,125,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,34,77,73,78,84,34,61,61,61,114,111,108,101,124,124,34,66,85,82,78,34,61,61,61,114,111,108,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,112,114,111,116,111,99,111,108,32,109,111,110,101,116,97,114,121,32,114,111,108,101,115,32,97,114,101,32,105,109,109,117,116,97,98,108,101,34,41,59,114,101,116,117,114,110,32,115,117,112,101,114,46,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,34,77,73,78,84,34,61,61,61,114,111,108,101,124,124,34,66,85,82,78,34,61,61,61,114,111,108,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,112,114,111,116,111,99,111,108,32,109,111,110,101,116,97,114,121,32,114,111,108,101,115,32,97,114,101,32,105,109,109,117,116,97,98,108,101,34,41,59,114,101,116,117,114,110,32,115,117,112,101,114,46,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,109,105,110,116,40,116,111,44,97,109,111,117,110,116,41,123,105,102,40,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,33,61,61,109,115,103,46,115,101,110,100,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,111,110,108,121,32,116,104,101,32,109,111,110,101,116,97,114,121,32,112,114,111,116,111,99,111,108,32,109,97,121,32,109,105,110,116,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,109,105,110,116,32,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,116,104,105,115,46,116,111,116,97,108,83,117,112,112,108,121,43,97,109,111,117,110,116,62,116,104,105,115,46,35,116,97,114,103,101,116,83,117,112,112,108,121,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,109,105,110,116,32,101,120,99,101,101,100,115,32,116,97,114,103,101,116,32,115,117,112,112,108,121,34,41,59,114,101,116,117,114,110,32,115,117,112,101,114,46,109,105,110,116,40,116,111,44,97,109,111,117,110,116,41,125,98,117,114,110,40,102,114,111,109,44,97,109,111,117,110,116,41,123,105,102,40,34,108,101,111,102,99,111,105,110,58,112,114,111,116,111,99,111,108,58,109,111,110,101,116,97,114,121,45,112,111,108,105,99,121,58,118,49,34,33,61,61,109,115,103,46,115,101,110,100,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,111,110,108,121,32,116,104,101,32,109,111,110,101,116,97,114,121,32,112,114,111,116,111,99,111,108,32,109,97,121,32,98,117,114,110,34,41,59,105,102,40,40,97,109,111,117,110,116,61,66,105,103,73,110,116,40,97,109,111,117,110,116,41,41,60,61,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,98,117,114,110,32,97,109,111,117,110,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,34,41,59,105,102,40,116,104,105,115,46,98,97,108,97,110,99,101,79,102,40,102,114,111,109,41,60,97,109,111,117,110,116,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,109,111,117,110,116,32,101,120,99,101,101,100,115,32,98,97,108,97,110,99,101,34,41,59,114,101,116,117,114,110,32,115,117,112,101,114,46,98,117,114,110,40,102,114,111,109,44,97,109,111,117,110,116,41,125,125,10,10,114,101,116,117,114,110,32,76,101,111,102,99,111,105,110,9,3,7,28,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,7,26,53,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,9,1,10,2,7,97,100,100,114,101,115,115,7,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,6,97,109,111,117,110,116,7,26,53,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48";
54
+ var nameService = "237,198,141,3,76,70,67,1,9,3,7,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,8,173,52,99,108,97,115,115,32,77,101,116,97,123,35,99,114,101,97,116,111,114,59,35,99,114,101,97,116,101,100,65,116,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,115,116,97,116,101,46,99,114,101,97,116,111,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,115,116,97,116,101,46,99,114,101,97,116,101,100,65,116,41,58,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,116,104,105,115,46,35,99,114,101,97,116,111,114,44,99,114,101,97,116,101,100,65,116,58,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,103,101,116,32,99,114,101,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,111,114,125,103,101,116,32,99,114,101,97,116,101,100,65,116,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,99,108,97,115,115,32,80,117,98,108,105,99,86,111,116,105,110,103,32,101,120,116,101,110,100,115,32,77,101,116,97,123,35,118,111,116,101,115,59,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,59,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,61,49,55,50,56,101,53,59,35,118,111,116,101,78,111,110,99,101,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,118,111,116,101,115,61,115,116,97,116,101,46,118,111,116,101,115,44,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,115,116,97,116,101,46,118,111,116,105,110,103,68,105,115,97,98,108,101,100,44,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,118,111,116,101,78,111,110,99,101,63,63,79,98,106,101,99,116,46,107,101,121,115,40,115,116,97,116,101,46,118,111,116,101,115,63,63,123,125,41,46,108,101,110,103,116,104,41,41,58,40,116,104,105,115,46,35,118,111,116,101,115,61,123,125,44,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,33,49,44,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,61,48,110,41,125,103,101,116,32,118,111,116,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,118,111,116,101,115,125,125,103,101,116,32,118,111,116,105,110,103,68,117,114,97,116,105,111,110,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,125,103,101,116,32,118,111,116,105,110,103,68,105,115,97,98,108,101,100,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,118,111,116,101,115,58,116,104,105,115,46,35,118,111,116,101,115,44,118,111,116,105,110,103,68,105,115,97,98,108,101,100,58,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,44,118,111,116,105,110,103,68,117,114,97,116,105,111,110,58,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,118,111,116,101,78,111,110,99,101,58,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,125,125,103,101,116,32,105,110,80,114,111,103,114,101,115,115,40,41,123,114,101,116,117,114,110,32,79,98,106,101,99,116,46,101,110,116,114,105,101,115,40,116,104,105,115,46,35,118,111,116,101,115,41,46,102,105,108,116,101,114,40,40,91,105,100,44,118,111,116,101,93,41,61,62,33,118,111,116,101,46,102,105,110,105,115,104,101,100,41,46,109,97,112,40,40,91,105,100,44,118,111,116,101,93,41,61,62,40,123,46,46,46,118,111,116,101,44,105,100,58,105,100,125,41,41,125,99,114,101,97,116,101,86,111,116,101,40,116,105,116,108,101,44,100,101,115,99,114,105,112,116,105,111,110,44,101,110,100,84,105,109,101,44,109,101,116,104,111,100,44,97,114,103,115,61,91,93,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,32,116,111,32,99,114,101,97,116,101,32,97,32,118,111,116,101,34,41,59,99,111,110,115,116,32,105,100,61,40,43,43,116,104,105,115,46,35,118,111,116,101,78,111,110,99,101,41,46,116,111,83,116,114,105,110,103,40,41,59,116,104,105,115,46,35,118,111,116,101,115,91,105,100,93,61,123,116,105,116,108,101,58,116,105,116,108,101,44,100,101,115,99,114,105,112,116,105,111,110,58,100,101,115,99,114,105,112,116,105,111,110,44,109,101,116,104,111,100,58,109,101,116,104,111,100,44,101,110,100,84,105,109,101,58,101,110,100,84,105,109,101,44,97,114,103,115,58,97,114,103,115,125,125,35,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,95,99,97,110,86,111,116,101,63,46,40,41,125,35,98,101,102,111,114,101,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,95,98,101,102,111,114,101,86,111,116,101,63,46,40,41,125,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,73,100,41,123,108,101,116,32,97,103,114,101,101,61,79,98,106,101,99,116,46,118,97,108,117,101,115,40,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,114,101,115,117,108,116,115,41,46,102,105,108,116,101,114,40,114,101,115,117,108,116,61,62,49,61,61,61,114,101,115,117,108,116,41,44,100,105,115,97,103,114,101,101,61,79,98,106,101,99,116,46,118,97,108,117,101,115,40,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,114,101,115,117,108,116,115,41,46,102,105,108,116,101,114,40,114,101,115,117,108,116,61,62,48,61,61,61,114,101,115,117,108,116,41,59,97,103,114,101,101,46,108,101,110,103,116,104,62,100,105,115,97,103,114,101,101,46,108,101,110,103,116,104,38,38,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,101,110,111,117,103,104,86,111,116,101,115,38,38,116,104,105,115,91,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,109,101,116,104,111,100,93,40,46,46,46,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,97,114,103,115,41,44,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,102,105,110,105,115,104,101,100,61,33,48,125,97,115,121,110,99,32,118,111,116,101,40,118,111,116,101,73,100,44,118,111,116,101,41,123,105,102,40,48,33,61,61,40,118,111,116,101,61,78,117,109,98,101,114,40,118,111,116,101,41,41,38,38,46,53,33,61,61,118,111,116,101,38,38,49,33,61,61,118,111,116,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,105,110,118,97,108,105,100,32,118,111,116,101,32,118,97,108,117,101,32,36,123,118,111,116,101,125,96,41,59,105,102,40,33,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,78,111,116,104,105,110,103,32,102,111,117,110,100,32,102,111,114,32,36,123,118,111,116,101,73,100,125,96,41,59,99,111,110,115,116,32,101,110,100,101,100,61,68,97,116,101,46,110,111,119,40,41,62,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,101,110,100,84,105,109,101,59,105,102,40,101,110,100,101,100,38,38,33,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,46,102,105,110,105,115,104,101,100,38,38,116,104,105,115,46,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,73,100,41,44,101,110,100,101,100,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,111,116,105,110,103,32,97,108,114,101,97,100,121,32,101,110,100,101,100,34,41,59,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,32,116,111,32,118,111,116,101,34,41,59,97,119,97,105,116,32,116,104,105,115,46,35,98,101,102,111,114,101,86,111,116,101,40,41,44,116,104,105,115,46,35,118,111,116,101,115,91,118,111,116,101,73,100,93,91,109,115,103,46,115,101,110,100,101,114,93,61,118,111,116,101,125,35,100,105,115,97,98,108,101,86,111,116,105,110,103,40,41,123,116,104,105,115,46,35,118,111,116,105,110,103,68,105,115,97,98,108,101,100,61,33,48,125,100,105,115,97,98,108,101,86,111,116,105,110,103,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,100,105,115,97,98,108,101,32,118,111,116,105,110,103,34,44,34,87,97,114,110,105,110,103,32,116,104,105,115,32,100,105,115,97,98,108,101,115,32,97,108,108,32,118,111,116,105,110,103,32,102,101,97,116,117,114,101,115,32,102,111,114,101,118,101,114,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,35,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,100,105,115,97,98,108,101,86,111,116,105,110,103,34,44,91,93,41,125,95,115,121,110,99,40,41,123,102,111,114,40,99,111,110,115,116,32,118,111,116,101,32,111,102,32,116,104,105,115,46,105,110,80,114,111,103,114,101,115,115,41,118,111,116,101,46,101,110,100,84,105,109,101,60,68,97,116,101,46,110,111,119,40,41,38,38,116,104,105,115,46,35,101,110,100,86,111,116,105,110,103,40,118,111,116,101,46,105,100,41,125,125,99,108,97,115,115,32,84,111,107,101,110,82,101,99,101,105,118,101,114,32,101,120,116,101,110,100,115,32,80,117,98,108,105,99,86,111,116,105,110,103,123,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,59,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,59,35,116,111,107,101,110,82,101,99,101,105,118,101,114,59,35,118,111,116,101,84,121,112,101,61,34,116,114,97,110,115,102,101,114,34,59,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,98,117,114,110,115,44,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,61,115,116,97,116,101,46,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,115,116,97,116,101,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,41,44,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,115,116,97,116,101,46,118,111,116,101,84,121,112,101,41,58,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,61,109,115,103,46,99,111,110,116,114,97,99,116,44,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,66,105,103,73,110,116,40,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,41,44,98,117,114,110,115,38,38,40,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,34,98,117,114,110,34,41,41,125,103,101,116,32,116,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,125,103,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,125,103,101,116,32,116,111,107,101,110,82,101,99,101,105,118,101,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,116,111,107,101,110,82,101,99,101,105,118,101,114,58,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,111,107,101,110,84,111,82,101,99,101,105,118,101,58,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,58,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,118,111,116,101,84,121,112,101,58,116,104,105,115,46,35,118,111,116,101,84,121,112,101,125,125,97,115,121,110,99,35,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,97,108,97,110,99,101,79,102,34,44,91,109,115,103,46,115,101,110,100,101,114,93,41,62,61,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,125,97,115,121,110,99,32,95,99,97,110,86,111,116,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,125,97,115,121,110,99,35,98,101,102,111,114,101,86,111,116,101,40,41,123,114,101,116,117,114,110,34,98,117,114,110,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,63,109,115,103,46,99,97,108,108,40,116,104,105,115,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,117,114,110,34,44,91,116,104,105,115,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,58,109,115,103,46,99,97,108,108,40,116,104,105,115,46,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,97,115,121,110,99,32,95,98,101,102,111,114,101,86,111,116,101,40,41,123,97,119,97,105,116,32,116,104,105,115,46,35,98,101,102,111,114,101,86,111,116,101,40,41,125,97,115,121,110,99,32,95,112,97,121,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,97,115,121,110,99,32,95,98,117,114,110,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,117,114,110,34,44,91,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,93,41,125,35,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,97,100,100,114,101,115,115,41,123,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,61,97,100,100,114,101,115,115,125,35,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,97,109,111,117,110,116,41,123,116,104,105,115,46,35,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,61,97,109,111,117,110,116,125,35,99,104,97,110,103,101,86,111,116,101,84,121,112,101,40,116,121,112,101,41,123,116,104,105,115,46,35,118,111,116,101,84,121,112,101,61,116,121,112,101,125,35,103,101,116,84,111,107,101,110,115,79,117,116,40,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,41,123,114,101,116,117,114,110,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,44,34,116,114,97,110,115,102,101,114,34,44,91,114,101,99,101,105,118,101,114,44,97,109,111,117,110,116,93,41,125,97,115,121,110,99,32,99,104,97,110,103,101,86,111,116,101,84,121,112,101,40,116,121,112,101,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,105,102,40,34,116,114,97,110,115,102,101,114,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,38,38,97,119,97,105,116,32,116,104,105,115,46,35,98,97,108,97,110,99,101,40,41,62,48,110,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,116,32,116,111,107,101,110,115,32,111,117,116,32,102,105,114,115,116,32,111,114,32,116,104,101,121,32,98,101,32,108,111,115,116,32,102,111,114,101,118,101,114,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,97,109,111,117,110,116,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,86,111,116,101,84,121,112,101,34,44,91,116,121,112,101,93,41,125,103,101,116,84,111,107,101,110,115,79,117,116,40,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,119,105,116,104,100,114,97,119,32,97,108,108,32,116,111,107,101,110,115,34,44,96,119,105,116,104,100,114,97,119,32,97,108,108,32,116,111,107,101,110,115,32,116,111,32,36,123,114,101,99,101,105,118,101,114,125,96,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,103,101,116,84,111,107,101,110,115,79,117,116,34,44,91,97,109,111,117,110,116,44,114,101,99,101,105,118,101,114,93,41,125,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,97,109,111,117,110,116,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,84,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,34,44,91,93,41,125,35,98,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,35,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,34,98,97,108,97,110,99,101,79,102,34,44,91,116,104,105,115,46,35,116,111,107,101,110,82,101,99,101,105,118,101,114,93,41,125,97,115,121,110,99,32,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,123,105,102,40,33,116,104,105,115,46,35,99,97,110,86,111,116,101,40,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,32,97,108,108,111,119,101,100,34,41,59,105,102,40,48,110,33,61,61,97,119,97,105,116,32,116,104,105,115,46,35,98,97,108,97,110,99,101,40,41,38,38,34,116,114,97,110,115,102,101,114,34,61,61,61,116,104,105,115,46,35,118,111,116,101,84,121,112,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,103,101,116,32,116,111,107,101,110,115,32,111,117,116,32,102,105,114,115,116,32,111,114,32,116,104,101,121,32,98,101,32,108,111,115,116,32,102,111,114,101,118,101,114,34,41,59,116,104,105,115,46,99,114,101,97,116,101,86,111,116,101,40,34,99,104,97,110,103,101,32,116,104,101,32,116,111,107,101,110,32,116,111,32,114,101,99,101,105,118,101,34,44,34,115,101,116,32,116,111,107,101,110,84,111,82,101,99,101,105,118,101,32,116,111,32,97,32,110,101,119,32,97,100,100,114,101,115,115,34,44,68,97,116,101,46,110,111,119,40,41,43,116,104,105,115,46,118,111,116,105,110,103,68,117,114,97,116,105,111,110,44,34,35,99,104,97,110,103,101,84,111,107,101,110,84,111,82,101,99,101,105,118,101,34,44,91,93,41,125,125,99,108,97,115,115,32,78,97,109,101,83,101,114,118,105,99,101,32,101,120,116,101,110,100,115,32,84,111,107,101,110,82,101,99,101,105,118,101,114,123,35,110,97,109,101,61,34,76,101,111,102,99,111,105,110,78,97,109,101,83,101,114,118,105,99,101,34,59,35,114,101,103,105,115,116,114,121,61,123,125,59,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,114,101,103,105,115,116,114,121,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,101,103,105,115,116,114,121,125,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,114,101,103,105,115,116,114,121,58,116,104,105,115,46,35,114,101,103,105,115,116,114,121,125,125,99,111,110,115,116,114,117,99,116,111,114,40,102,97,99,116,111,114,121,65,100,100,114,101,115,115,44,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,118,97,108,105,100,97,116,111,114,65,100,100,114,101,115,115,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,115,116,97,116,101,41,123,115,117,112,101,114,40,116,111,107,101,110,84,111,82,101,99,101,105,118,101,44,116,111,107,101,110,65,109,111,117,110,116,84,111,82,101,99,101,105,118,101,44,33,48,44,115,116,97,116,101,41,44,115,116,97,116,101,63,116,104,105,115,46,35,114,101,103,105,115,116,114,121,61,115,116,97,116,101,46,114,101,103,105,115,116,114,121,58,40,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,76,101,111,102,99,111,105,110,67,111,110,116,114,97,99,116,70,97,99,116,111,114,121,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,109,115,103,46,99,111,110,116,114,97,99,116,125,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,76,101,111,102,99,111,105,110,84,111,107,101,110,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,116,111,107,101,110,84,111,82,101,99,101,105,118,101,125,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,46,76,101,111,102,99,111,105,110,86,97,108,105,100,97,116,111,114,115,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,118,97,108,105,100,97,116,111,114,65,100,100,114,101,115,115,125,41,125,97,115,121,110,99,32,112,117,114,99,104,97,115,101,78,97,109,101,40,110,97,109,101,44,97,100,100,114,101,115,115,41,123,105,102,40,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,97,109,101,32,97,108,114,101,97,100,121,32,114,101,103,105,115,116,101,114,101,100,34,41,59,97,119,97,105,116,32,116,104,105,115,46,95,112,97,121,84,111,107,101,110,84,111,82,101,99,101,105,118,101,40,41,44,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,61,123,111,119,110,101,114,58,109,115,103,46,115,101,110,100,101,114,44,97,100,100,114,101,115,115,58,97,100,100,114,101,115,115,125,125,108,111,111,107,117,112,40,110,97,109,101,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,125,116,114,97,110,115,102,101,114,79,119,110,101,114,115,104,105,112,40,110,97,109,101,44,116,111,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,61,116,111,125,99,104,97,110,103,101,65,100,100,114,101,115,115,40,110,97,109,101,44,97,100,100,114,101,115,115,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,111,119,110,101,114,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,103,105,115,116,114,121,91,110,97,109,101,93,46,97,100,100,114,101,115,115,61,97,100,100,114,101,115,115,125,125,10,10,114,101,116,117,114,110,32,78,97,109,101,83,101,114,118,105,99,101,9,4,7,60,66,51,79,71,82,85,66,83,65,82,75,65,77,87,72,90,76,90,90,65,76,53,89,52,83,82,85,74,79,69,52,82,73,77,81,88,52,83,69,76,78,76,77,84,81,86,80,66,71,70,81,88,69,70,53,82,80,80,72,86,7,60,66,51,79,71,82,85,66,83,66,83,87,72,89,71,78,89,84,52,79,53,55,69,75,55,81,53,90,78,88,89,70,82,50,51,67,67,83,52,69,85,81,80,81,51,52,82,85,53,55,86,54,82,79,81,78,76,89,73,86,78,7,60,66,51,79,71,82,85,66,83,66,84,54,85,68,52,71,54,86,51,75,80,55,90,54,71,50,68,76,77,77,79,86,53,68,53,73,70,73,90,72,50,73,51,75,68,50,67,75,54,86,70,68,51,67,89,89,50,78,67,75,86,7,22,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48";
55
+ var validators = "237,198,141,3,76,70,67,1,9,3,7,53,89,84,113,121,81,107,107,97,77,75,77,84,83,104,122,55,76,81,104,56,88,100,120,100,90,50,71,80,115,88,107,100,49,98,89,72,112,113,81,87,69,70,55,116,81,121,65,66,90,57,68,71,98,8,206,33,99,108,97,115,115,32,77,101,116,97,123,35,99,114,101,97,116,111,114,59,35,99,114,101,97,116,101,100,65,116,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,115,116,97,116,101,63,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,115,116,97,116,101,46,99,114,101,97,116,111,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,115,116,97,116,101,46,99,114,101,97,116,101,100,65,116,41,58,40,116,104,105,115,46,35,99,114,101,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,61,66,105,103,73,110,116,40,68,97,116,101,46,110,111,119,40,41,41,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,99,114,101,97,116,111,114,58,116,104,105,115,46,35,99,114,101,97,116,111,114,44,99,114,101,97,116,101,100,65,116,58,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,103,101,116,32,99,114,101,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,111,114,125,103,101,116,32,99,114,101,97,116,101,100,65,116,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,114,101,97,116,101,100,65,116,125,125,99,108,97,115,115,32,82,111,108,101,115,32,101,120,116,101,110,100,115,32,77,101,116,97,123,35,114,111,108,101,115,61,123,79,87,78,69,82,58,91,93,44,77,73,78,84,58,91,93,44,66,85,82,78,58,91,93,125,59,99,111,110,115,116,114,117,99,116,111,114,40,115,116,97,116,101,41,123,105,102,40,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,46,114,111,108,101,115,41,123,105,102,40,33,40,115,116,97,116,101,46,114,111,108,101,115,32,105,110,115,116,97,110,99,101,111,102,32,79,98,106,101,99,116,41,41,116,104,114,111,119,32,110,101,119,32,84,121,112,101,69,114,114,111,114,40,34,101,120,112,101,99,116,101,100,32,114,111,108,101,115,32,116,111,32,98,101,32,97,110,32,111,98,106,101,99,116,34,41,59,116,104,105,115,46,35,114,111,108,101,115,61,123,46,46,46,115,116,97,116,101,46,114,111,108,101,115,125,125,101,108,115,101,32,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,125,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,114,111,108,101,115,58,116,104,105,115,46,114,111,108,101,115,125,125,103,101,116,32,114,111,108,101,115,40,41,123,114,101,116,117,114,110,123,46,46,46,116,104,105,115,46,35,114,111,108,101,115,125,125,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,114,101,116,117,114,110,33,33,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,38,38,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,99,108,117,100,101,115,40,97,100,100,114,101,115,115,41,125,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,103,114,97,110,116,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,112,117,115,104,40,97,100,100,114,101,115,115,41,125,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,36,123,114,111,108,101,125,32,114,111,108,101,32,97,108,114,101,97,100,121,32,114,101,118,111,107,101,100,32,102,111,114,32,36,123,97,100,100,114,101,115,115,125,96,41,59,105,102,40,34,79,87,78,69,82,34,61,61,61,114,111,108,101,38,38,49,61,61,61,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,108,101,110,103,116,104,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,97,116,108,101,97,115,116,32,111,110,101,32,111,119,110,101,114,32,105,115,32,110,101,101,100,101,100,33,34,41,59,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,115,112,108,105,99,101,40,116,104,105,115,46,35,114,111,108,101,115,91,114,111,108,101,93,46,105,110,100,101,120,79,102,40,97,100,100,114,101,115,115,41,41,125,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,103,114,97,110,116,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,97,100,100,114,101,115,115,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,78,111,116,32,97,108,108,111,119,101,100,34,41,59,116,104,105,115,46,35,114,101,118,111,107,101,82,111,108,101,40,97,100,100,114,101,115,115,44,114,111,108,101,41,125,125,99,108,97,115,115,32,86,97,108,105,100,97,116,111,114,115,32,101,120,116,101,110,100,115,32,82,111,108,101,115,123,35,110,97,109,101,61,34,76,101,111,102,99,111,105,110,86,97,108,105,100,97,116,111,114,115,34,59,35,118,97,108,105,100,97,116,111,114,115,61,91,93,59,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,59,35,99,117,114,114,101,110,99,121,59,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,61,66,105,103,73,110,116,40,53,101,52,41,59,35,98,97,108,97,110,99,101,115,61,123,125,59,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,61,123,125,59,103,101,116,32,115,116,97,116,101,40,41,123,114,101,116,117,114,110,123,46,46,46,115,117,112,101,114,46,115,116,97,116,101,44,98,97,108,97,110,99,101,115,58,116,104,105,115,46,35,98,97,108,97,110,99,101,115,44,109,105,110,105,109,117,109,66,97,108,97,110,99,101,58,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,44,99,117,114,114,101,110,99,121,58,116,104,105,115,46,35,99,117,114,114,101,110,99,121,44,118,97,108,105,100,97,116,111,114,115,58,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,44,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,58,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,44,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,58,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,125,125,99,111,110,115,116,114,117,99,116,111,114,40,116,111,107,101,110,65,100,100,114,101,115,115,44,115,116,97,116,101,41,123,115,117,112,101,114,40,115,116,97,116,101,41,44,115,116,97,116,101,63,40,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,61,66,105,103,73,110,116,40,115,116,97,116,101,46,109,105,110,105,109,117,109,66,97,108,97,110,99,101,41,44,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,115,116,97,116,101,46,99,117,114,114,101,110,99,121,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,61,115,116,97,116,101,46,118,97,108,105,100,97,116,111,114,115,44,116,104,105,115,46,35,98,97,108,97,110,99,101,115,61,115,116,97,116,101,46,98,97,108,97,110,99,101,115,44,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,61,115,116,97,116,101,46,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,61,115,116,97,116,101,46,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,124,124,123,125,41,58,40,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,116,111,107,101,110,65,100,100,114,101,115,115,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,112,117,115,104,40,109,115,103,46,115,101,110,100,101,114,41,44,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,61,109,115,103,46,115,101,110,100,101,114,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,91,48,93,61,91,109,115,103,46,115,101,110,100,101,114,93,41,125,103,101,116,32,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,125,103,101,116,32,110,97,109,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,110,97,109,101,125,103,101,116,32,99,117,114,114,101,110,99,121,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,99,117,114,114,101,110,99,121,125,103,101,116,32,118,97,108,105,100,97,116,111,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,125,103,101,116,32,116,111,116,97,108,86,97,108,105,100,97,116,111,114,115,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,125,103,101,116,32,109,105,110,105,109,117,109,66,97,108,97,110,99,101,40,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,125,99,104,97,110,103,101,67,117,114,114,101,110,99,121,40,99,117,114,114,101,110,99,121,41,123,105,102,40,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,110,111,116,32,97,110,32,111,119,110,101,114,34,41,59,116,104,105,115,46,35,99,117,114,114,101,110,99,121,61,99,117,114,114,101,110,99,121,125,104,97,115,40,118,97,108,105,100,97,116,111,114,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,105,110,99,108,117,100,101,115,40,118,97,108,105,100,97,116,111,114,41,125,35,105,115,65,108,108,111,119,101,100,40,97,100,100,114,101,115,115,41,123,105,102,40,109,115,103,46,115,101,110,100,101,114,33,61,61,97,100,100,114,101,115,115,38,38,33,116,104,105,115,46,104,97,115,82,111,108,101,40,109,115,103,46,115,101,110,100,101,114,44,34,79,87,78,69,82,34,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,115,101,110,100,101,114,32,105,115,32,110,111,116,32,116,104,101,32,118,97,108,105,100,97,116,111,114,32,111,114,32,111,119,110,101,114,34,41,59,114,101,116,117,114,110,33,48,125,118,97,108,105,100,97,116,111,114,115,66,121,72,101,105,103,104,116,40,104,101,105,103,104,116,41,123,114,101,116,117,114,110,32,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,91,104,101,105,103,104,116,93,63,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,91,104,101,105,103,104,116,93,58,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,125,114,101,99,111,114,100,86,97,108,105,100,97,116,111,114,83,110,97,112,115,104,111,116,40,104,101,105,103,104,116,41,123,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,72,105,115,116,111,114,121,91,104,101,105,103,104,116,93,61,91,46,46,46,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,93,125,97,115,121,110,99,32,97,100,100,86,97,108,105,100,97,116,111,114,40,118,97,108,105,100,97,116,111,114,41,123,105,102,40,116,104,105,115,46,35,105,115,65,108,108,111,119,101,100,40,118,97,108,105,100,97,116,111,114,41,44,116,104,105,115,46,104,97,115,40,118,97,108,105,100,97,116,111,114,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,97,108,105,100,97,116,111,114,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,34,41,59,99,111,110,115,116,32,98,97,108,97,110,99,101,61,97,119,97,105,116,32,109,115,103,46,115,116,97,116,105,99,67,97,108,108,40,116,104,105,115,46,99,117,114,114,101,110,99,121,44,34,98,97,108,97,110,99,101,79,102,34,44,91,118,97,108,105,100,97,116,111,114,93,41,59,105,102,40,116,104,105,115,46,109,105,110,105,109,117,109,66,97,108,97,110,99,101,62,98,97,108,97,110,99,101,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,96,98,97,108,97,110,99,101,32,116,111,32,108,111,119,33,32,103,111,116,58,32,36,123,98,97,108,97,110,99,101,125,32,110,101,101,100,58,32,36,123,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,125,96,41,59,97,119,97,105,116,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,99,117,114,114,101,110,99,121,44,34,116,114,97,110,115,102,101,114,70,114,111,109,34,44,91,118,97,108,105,100,97,116,111,114,44,109,115,103,46,99,111,110,116,114,97,99,116,44,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,93,41,44,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,118,97,108,105,100,97,116,111,114,93,61,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,112,117,115,104,40,118,97,108,105,100,97,116,111,114,41,125,97,115,121,110,99,32,114,101,109,111,118,101,86,97,108,105,100,97,116,111,114,40,118,97,108,105,100,97,116,111,114,41,123,105,102,40,116,104,105,115,46,35,105,115,65,108,108,111,119,101,100,40,118,97,108,105,100,97,116,111,114,41,44,33,116,104,105,115,46,104,97,115,40,118,97,108,105,100,97,116,111,114,41,41,116,104,114,111,119,32,110,101,119,32,69,114,114,111,114,40,34,118,97,108,105,100,97,116,111,114,32,110,111,116,32,102,111,117,110,100,34,41,59,97,119,97,105,116,32,109,115,103,46,99,97,108,108,40,116,104,105,115,46,99,117,114,114,101,110,99,121,44,34,116,114,97,110,115,102,101,114,34,44,91,118,97,108,105,100,97,116,111,114,44,116,104,105,115,46,35,109,105,110,105,109,117,109,66,97,108,97,110,99,101,93,41,44,100,101,108,101,116,101,32,116,104,105,115,46,35,98,97,108,97,110,99,101,115,91,118,97,108,105,100,97,116,111,114,93,44,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,115,112,108,105,99,101,40,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,46,105,110,100,101,120,79,102,40,118,97,108,105,100,97,116,111,114,41,44,49,41,125,115,104,117,102,102,108,101,86,97,108,105,100,97,116,111,114,40,41,123,99,111,110,115,116,32,118,97,108,105,100,97,116,111,114,115,61,91,46,46,46,110,101,119,32,83,101,116,40,116,104,105,115,46,35,118,97,108,105,100,97,116,111,114,115,41,93,46,115,111,114,116,40,41,59,105,102,40,48,61,61,61,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,41,114,101,116,117,114,110,59,99,111,110,115,116,32,115,101,101,100,61,96,36,123,115,116,97,116,101,46,108,97,115,116,66,108,111,99,107,63,46,104,97,115,104,63,63,34,48,120,48,34,125,58,36,123,115,116,97,116,101,46,108,97,115,116,66,108,111,99,107,63,46,105,110,100,101,120,63,63,45,49,125,96,59,108,101,116,32,118,97,108,117,101,61,48,110,59,102,111,114,40,99,111,110,115,116,32,99,104,97,114,97,99,116,101,114,32,111,102,32,115,101,101,100,41,118,97,108,117,101,61,40,51,49,110,42,118,97,108,117,101,43,66,105,103,73,110,116,40,99,104,97,114,97,99,116,101,114,46,99,104,97,114,67,111,100,101,65,116,40,48,41,41,41,37,52,50,57,52,57,54,55,50,57,49,110,59,108,101,116,32,105,110,100,101,120,61,78,117,109,98,101,114,40,118,97,108,117,101,37,66,105,103,73,110,116,40,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,41,41,59,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,62,49,38,38,118,97,108,105,100,97,116,111,114,115,91,105,110,100,101,120,93,61,61,61,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,38,38,40,105,110,100,101,120,61,40,105,110,100,101,120,43,49,41,37,118,97,108,105,100,97,116,111,114,115,46,108,101,110,103,116,104,41,44,116,104,105,115,46,35,99,117,114,114,101,110,116,86,97,108,105,100,97,116,111,114,61,118,97,108,105,100,97,116,111,114,115,91,105,110,100,101,120,93,125,125,10,10,114,101,116,117,114,110,32,86,97,108,105,100,97,116,111,114,115,9,1,7,60,66,51,79,71,82,85,66,83,66,83,87,72,89,71,78,89,84,52,79,53,55,69,75,55,81,53,90,78,88,89,70,82,50,51,67,67,83,52,69,85,81,80,81,51,52,82,85,53,55,86,54,82,79,81,78,76,89,73,86,78";
973
56
  var bytecodes = {
974
57
  contractFactory: contractFactory,
975
58
  nativeToken: nativeToken,
@@ -980,130 +63,9 @@ var bytecodes = {
980
63
  const TRANSACTION_FEE_BYTES = 1024n;
981
64
  const TRANSACTION_FEE_UNIT = 10n;
982
65
  const MAX_TRANSACTION_BYTES = 32 * 1024;
983
- const MAX_BLOCK_TRANSACTION_BYTES = 128 * 1024;
984
- const MAX_BLOCK_TRANSACTIONS = 256;
985
66
  (BigInt(MAX_TRANSACTION_BYTES) / TRANSACTION_FEE_BYTES) * TRANSACTION_FEE_UNIT;
986
- const FEE_BASIS_POINTS = 10000n;
987
- const FEE_PROTOCOL_VERSION = '0.3.0';
988
- const MONETARY_POLICY_PROTOCOL_VERSION = '0.3.0';
989
67
  /** Reserved VM sender; deliberately not a wallet address. */
990
68
  const MONETARY_POLICY_AUTHORITY = 'leofcoin:protocol:monetary-policy:v1';
991
- const BLOCKS_PER_YEAR = 5256000n;
992
- const ANNUAL_ISSUANCE_BASIS_POINTS = 200n;
993
- const SUPPLY_FLOOR_BASIS_POINTS = 9500n;
994
- const MONETARY_FEE_BURN_BASIS_POINTS = 1000n;
995
- const parseProtocolVersion = (version) => {
996
- const match = /^(\d+)\.(\d+)\.(\d+)/.exec(version);
997
- return match ? [Number(match[1]), Number(match[2]), Number(match[3])] : undefined;
998
- };
999
- const supportsTransactionFees = (version) => {
1000
- const actual = parseProtocolVersion(version);
1001
- const required = parseProtocolVersion(FEE_PROTOCOL_VERSION);
1002
- if (!actual)
1003
- return false;
1004
- for (let index = 0; index < required.length; index += 1) {
1005
- if (actual[index] !== required[index])
1006
- return actual[index] > required[index];
1007
- }
1008
- return true;
1009
- };
1010
- const supportsMonetaryPolicy = (version) => {
1011
- const actual = parseProtocolVersion(version);
1012
- const required = parseProtocolVersion(MONETARY_POLICY_PROTOCOL_VERSION);
1013
- if (!actual)
1014
- return false;
1015
- for (let index = 0; index < required.length; index += 1) {
1016
- if (actual[index] !== required[index])
1017
- return actual[index] > required[index];
1018
- }
1019
- return true;
1020
- };
1021
- const calculateMonetaryPolicy = (totalSupply, targetSupply) => {
1022
- if (totalSupply < 0n || targetSupply <= 0n)
1023
- throw new Error('invalid monetary policy supply');
1024
- const floorSupply = (targetSupply * SUPPLY_FLOOR_BASIS_POINTS) / FEE_BASIS_POINTS;
1025
- if (totalSupply < floorSupply) {
1026
- const annualIssuance = (targetSupply * ANNUAL_ISSUANCE_BASIS_POINTS) / FEE_BASIS_POINTS;
1027
- const scheduled = annualIssuance / BLOCKS_PER_YEAR || 1n;
1028
- return { subsidy: scheduled < floorSupply - totalSupply ? scheduled : floorSupply - totalSupply, burnBasisPoints: 0n, floorSupply };
1029
- }
1030
- return {
1031
- subsidy: 0n,
1032
- burnBasisPoints: totalSupply >= targetSupply ? MONETARY_FEE_BURN_BASIS_POINTS : 0n,
1033
- floorSupply
1034
- };
1035
- };
1036
- const distributeAmount = (amount, addresses, rotation = 0) => {
1037
- const canonical = [...new Set(addresses)].sort();
1038
- if (canonical.length === 0)
1039
- throw new Error('cannot distribute without validators');
1040
- const count = BigInt(canonical.length);
1041
- const base = amount / count;
1042
- const remainder = Number(amount % count);
1043
- const result = new Map(canonical.map((address) => [address, base]));
1044
- for (let index = 0; index < remainder; index += 1) {
1045
- const address = canonical[(rotation + index) % canonical.length];
1046
- result.set(address, result.get(address) + 1n);
1047
- }
1048
- return result;
1049
- };
1050
- const feeRotationIndex = (transactionHash, validatorCount) => {
1051
- let value = 0n;
1052
- for (const character of transactionHash)
1053
- value = (value * 31n + BigInt(character.charCodeAt(0))) % 4294967291n;
1054
- return Number(value % BigInt(validatorCount));
1055
- };
1056
- const distributeTransactionFee = (fee, transactionHash, validatorAddresses, burnBasisPoints = 1000n) => {
1057
- const canonicalValidators = [...new Set(validatorAddresses)].sort();
1058
- if (canonicalValidators.length === 0)
1059
- throw new Error('cannot distribute transaction fee without validators');
1060
- if (fee < 0n)
1061
- throw new Error('transaction fee cannot be negative');
1062
- if (burnBasisPoints < 0n || burnBasisPoints > FEE_BASIS_POINTS)
1063
- throw new Error('invalid fee burn rate');
1064
- const burned = (fee * burnBasisPoints) / FEE_BASIS_POINTS;
1065
- const validatorPool = fee - burned;
1066
- const count = BigInt(canonicalValidators.length);
1067
- const base = validatorPool / count;
1068
- const remainder = Number(validatorPool % count);
1069
- const start = feeRotationIndex(transactionHash, canonicalValidators.length);
1070
- const validatorFees = new Map(canonicalValidators.map((validator) => [validator, base]));
1071
- for (let index = 0; index < remainder; index += 1) {
1072
- const validator = canonicalValidators[(start + index) % canonicalValidators.length];
1073
- validatorFees.set(validator, validatorFees.get(validator) + 1n);
1074
- }
1075
- const payments = [...validatorFees.entries()]
1076
- .filter(([, amount]) => amount > 0n)
1077
- .map(([to, amount]) => ({ to, amount }));
1078
- return { burned, validatorFees, payments };
1079
- };
1080
- const calculateFee = async (transaction, format = false) => {
1081
- transaction = await new TransactionMessage(transaction);
1082
- const encodedBytes = BigInt(transaction.encoded.length);
1083
- const units = (encodedBytes + TRANSACTION_FEE_BYTES - 1n) / TRANSACTION_FEE_BYTES;
1084
- const fee = units * TRANSACTION_FEE_UNIT;
1085
- return format ? formatUnits(fee.toString()) : fee;
1086
- };
1087
- const validateTransactionResourceLimits = async (transaction) => {
1088
- const message = await new TransactionMessage(transaction);
1089
- const size = message.encoded.length;
1090
- if (size > MAX_TRANSACTION_BYTES) {
1091
- throw new Error(`transaction exceeds ${MAX_TRANSACTION_BYTES} byte protocol limit: ${size}`);
1092
- }
1093
- return size;
1094
- };
1095
- const validateBlockResourceLimits = async (transactions) => {
1096
- if (transactions.length > MAX_BLOCK_TRANSACTIONS) {
1097
- throw new Error(`block exceeds ${MAX_BLOCK_TRANSACTIONS} transaction protocol limit`);
1098
- }
1099
- let size = 0;
1100
- for (const transaction of transactions)
1101
- size += await validateTransactionResourceLimits(transaction);
1102
- if (size > MAX_BLOCK_TRANSACTION_BYTES) {
1103
- throw new Error(`block transactions exceed ${MAX_BLOCK_TRANSACTION_BYTES} byte protocol limit: ${size}`);
1104
- }
1105
- return size;
1106
- };
1107
69
 
1108
70
  class LittlePubSub {
1109
71
  subscribers = new Map();
@@ -1200,7 +162,7 @@ class LittlePubSub {
1200
162
  }
1201
163
 
1202
164
  const pubsub = new LittlePubSub();
1203
- const worker = new EasyWorker();
165
+ const worker = new BinaryWorker();
1204
166
  const contractFactoryMessage = bytecodes.contractFactory;
1205
167
  const nativeTokenMessage = bytecodes.nativeToken;
1206
168
  const nameServiceMessage = bytecodes.nameService;
@@ -1218,6 +180,17 @@ let totalBlocks;
1218
180
  let blocks = [];
1219
181
  let contracts = {};
1220
182
  let contractDefinitions = {};
183
+ const readCodeCache = new Map();
184
+ let readCodeBytes = 0;
185
+ let readOnly = false;
186
+ let readBaseline;
187
+ const stateFingerprint = value => JSON.stringify(value, (_, item) => {
188
+ if (typeof item === 'bigint')
189
+ return { $bigint: item.toString() };
190
+ if (item && typeof item === 'object' && !Array.isArray(item))
191
+ return Object.fromEntries(Object.keys(item).sort().map(key => [key, item[key]]));
192
+ return item;
193
+ });
1221
194
  let activeMeter;
1222
195
  let activeTimestamp;
1223
196
  let activeCrypto;
@@ -1237,6 +210,8 @@ const createMessage = (sender = globalThis.peerid, contract) => {
1237
210
  contract,
1238
211
  sender,
1239
212
  call: async (targetOrParams, method, params = []) => {
213
+ if (readOnly)
214
+ throw new Error('Read-only contract queries cannot call mutating contracts');
1240
215
  const callParams = typeof targetOrParams === 'object'
1241
216
  ? targetOrParams
1242
217
  : { contract: targetOrParams, method, params };
@@ -1251,6 +226,8 @@ const createMessage = (sender = globalThis.peerid, contract) => {
1251
226
  }
1252
227
  },
1253
228
  staticCall: async (target, method, params = []) => {
229
+ if (!readOnly)
230
+ return askFor('staticCall', { snapshot: await _.snapshot(), contract: target, method, params, sender: contract });
1254
231
  const previousMessage = globalThis.msg;
1255
232
  globalThis.msg = createMessage(contract, target);
1256
233
  try {
@@ -1267,6 +244,8 @@ const createState = async () => ({
1267
244
  lastBlock
1268
245
  });
1269
246
  const debug = (message) => {
247
+ if (readOnly)
248
+ return;
1270
249
  worker.postMessage({
1271
250
  type: 'debug',
1272
251
  message
@@ -1297,7 +276,7 @@ const instantiateContract = async (hash, state) => {
1297
276
  const definition = contractDefinitions[hash];
1298
277
  if (!definition)
1299
278
  throw new Error(`missing contract definition for ${hash}`);
1300
- const params = [...definition.constructorParameters];
279
+ const params = cloneState(definition.constructorParameters);
1301
280
  if (state !== undefined)
1302
281
  params.push(cloneState(state));
1303
282
  globalThis.msg = createMessage(definition.creator, hash);
@@ -1374,9 +353,16 @@ const respond = (id, value) => {
1374
353
  id
1375
354
  });
1376
355
  };
1377
- const askFor = (question, input) => new Promise((resolve) => {
356
+ const askFor = (question, input) => new Promise((resolve, reject) => {
1378
357
  const id = globalThis.crypto.randomUUID();
1379
- pubsub.subscribe(id, resolve);
358
+ const onResponse = result => {
359
+ pubsub.unsubscribe(id, onResponse);
360
+ if (result.error)
361
+ reject(new Error(result.error));
362
+ else
363
+ resolve(result.input);
364
+ };
365
+ pubsub.subscribe(id, onResponse);
1380
366
  worker.postMessage({
1381
367
  type: 'ask',
1382
368
  question,
@@ -1385,7 +371,6 @@ const askFor = (question, input) => new Promise((resolve) => {
1385
371
  });
1386
372
  });
1387
373
  const resolveContract = (hash) => askFor('contract', hash);
1388
- const resolveTransaction = (hash) => askFor('transaction', hash);
1389
374
  const runTask = async (id, taskName, input) => {
1390
375
  try {
1391
376
  const result = await _[taskName](input);
@@ -1404,39 +389,7 @@ const queueTask = (id, taskName, input) => {
1404
389
  taskQueue = taskQueue.then(() => runTask(id, taskName, input));
1405
390
  };
1406
391
  const queueRead = (id, input) => {
1407
- taskQueue = taskQueue.then(async () => respond(id, await get(input)));
1408
- };
1409
- const _executeTransaction = async (transaction, validators, feesEnabled, burnBasisPoints) => {
1410
- const hash = await new TransactionMessage(transaction).hash();
1411
- if (latestTransactions.includes(hash)) {
1412
- throw new Error(`double transaction found: ${hash}`);
1413
- }
1414
- else {
1415
- latestTransactions.push(hash);
1416
- const { from, to, method, params, nonce } = transaction;
1417
- globalThis.msg = createMessage(from, to);
1418
- globalThis.state = await createState();
1419
- if (feesEnabled) {
1420
- const fee = BigInt(await calculateFee(transaction));
1421
- const { payments, burned } = distributeTransactionFee(fee, hash, validators, burnBasisPoints);
1422
- await _.collectFee({ from, payments, burned });
1423
- }
1424
- await _.execute({
1425
- contract: to,
1426
- method,
1427
- params,
1428
- executionSeed: hash,
1429
- executionTimestamp: Number(lastBlock.timestamp ?? transaction.timestamp ?? 0)
1430
- });
1431
- worker.postMessage({
1432
- type: 'transactionLoaded',
1433
- result: {
1434
- hash,
1435
- from,
1436
- nonce: String(nonce)
1437
- }
1438
- });
1439
- }
392
+ taskQueue = taskQueue.then(() => runTask(id, 'get', input));
1440
393
  };
1441
394
  const addToWantList = (hash) => {
1442
395
  worker.postMessage({
@@ -1445,12 +398,26 @@ const addToWantList = (hash) => {
1445
398
  });
1446
399
  };
1447
400
  const _ = {
401
+ get,
1448
402
  runContract: async ({ decoded, hash, encoded }, state) => {
1449
403
  const topLevelDeployment = !activeExecution;
1450
404
  try {
1451
405
  if (topLevelDeployment)
1452
406
  beginExecution(`deploy:${hash}`, Number(lastBlock.timestamp ?? 0));
1453
- const source = instrumentContractSource(new TextDecoder().decode(decoded.contract));
407
+ const cached = readOnly ? readCodeCache.get(hash) : undefined;
408
+ const source = cached?.source ?? instrumentContractSource(new TextDecoder().decode(decoded.contract));
409
+ if (readOnly && !cached) {
410
+ const size = encoded.byteLength + source.length * 2;
411
+ if (size <= 8 * 1024 * 1024) {
412
+ while (readCodeCache.size && (readCodeCache.size >= 128 || readCodeBytes + size > 8 * 1024 * 1024)) {
413
+ const oldest = readCodeCache.keys().next().value;
414
+ readCodeBytes -= readCodeCache.get(oldest).size;
415
+ readCodeCache.delete(oldest);
416
+ }
417
+ readCodeCache.set(hash, { decoded: cloneState(decoded), encoded: encoded.slice(), source, size });
418
+ readCodeBytes += size;
419
+ }
420
+ }
1454
421
  const func = new Function('__lfcMeter', 'Date', 'crypto', source);
1455
422
  const Contract = func(meterBridge, dateBridge, cryptoBridge);
1456
423
  if (activeExecution && !contractDefinitions[hash])
@@ -1464,12 +431,14 @@ const _ = {
1464
431
  debug(`loaded contract: ${hash} size: ${formatBytes(encoded.length)}`);
1465
432
  }
1466
433
  catch (e) {
1467
- console.log(e);
434
+ if (!readOnly)
435
+ console.log(e);
1468
436
  worker.postMessage({
1469
437
  type: 'contractError',
1470
438
  message: e.message,
1471
439
  hash
1472
440
  });
441
+ throw e;
1473
442
  }
1474
443
  finally {
1475
444
  if (topLevelDeployment) {
@@ -1479,6 +448,8 @@ const _ = {
1479
448
  }
1480
449
  },
1481
450
  execute: async ({ contract, method, params, sender, executionSeed, executionTimestamp, executionRandomness }) => {
451
+ if (readOnly)
452
+ throw new Error('Read-only worker cannot execute canonical transactions');
1482
453
  const topLevel = !activeExecution;
1483
454
  try {
1484
455
  if (topLevel) {
@@ -1551,6 +522,8 @@ const _ = {
1551
522
  }
1552
523
  },
1553
524
  collectFee: async ({ from, payments, burned = 0n }) => {
525
+ if (readOnly)
526
+ throw new Error('Read-only worker cannot collect fees');
1554
527
  burned = BigInt(burned);
1555
528
  const seed = `fee:${from}:${JSON.stringify(payments, jsonStringifyBigInt)}:${burned}`;
1556
529
  return runAtomicMutation(seed, nativeToken$2, () => {
@@ -1572,6 +545,8 @@ const _ = {
1572
545
  });
1573
546
  },
1574
547
  settleRewards: async ({ rewards }) => {
548
+ if (readOnly)
549
+ throw new Error('Read-only worker cannot mint rewards');
1575
550
  const seed = `rewards:${JSON.stringify(rewards, jsonStringifyBigInt)}`;
1576
551
  return runAtomicMutation(seed, nativeToken$2, () => {
1577
552
  globalThis.msg = createMessage(MONETARY_POLICY_AUTHORITY, nativeToken$2);
@@ -1586,13 +561,20 @@ const _ = {
1586
561
  });
1587
562
  },
1588
563
  init: async (message) => {
564
+ if (readOnly && !message.readOnly)
565
+ throw new Error('Read-only worker cannot become a canonical worker');
566
+ if (message.readOnly) {
567
+ readOnly = true;
568
+ contracts = {};
569
+ contractDefinitions = {};
570
+ activeExecution = undefined;
571
+ activeMeter = undefined;
572
+ activeCrypto = undefined;
573
+ }
1589
574
  let { peerid, fromState, state, info } = message;
1590
- if (info)
1591
- info = JSON.parse(info, jsonParseBigInt);
1592
- if (state)
1593
- state = JSON.parse(state, jsonParseBigInt);
575
+ if (readOnly)
576
+ readBaseline = stateFingerprint(state);
1594
577
  globalThis.peerid = peerid;
1595
- console.log({ fromState, info });
1596
578
  nativeCalls = BigInt(info?.nativeCalls ?? 0);
1597
579
  nativeMints = BigInt(info?.nativeMints ?? 0);
1598
580
  nativeBurns = BigInt(info?.nativeBurns ?? 0);
@@ -1604,15 +586,24 @@ const _ = {
1604
586
  totalBlocks = BigInt(info?.totalBlocks ?? 0);
1605
587
  if (fromState) {
1606
588
  if (message.lastBlock) {
1607
- lastBlock = JSON.parse(message.lastBlock, jsonParseBigInt);
589
+ lastBlock = message.lastBlock;
1608
590
  }
1609
591
  const setState = async (address, state) => {
592
+ if (readOnly && readCodeCache.has(address)) {
593
+ // Re-evaluate the cached instrumented source, never reuse a live class:
594
+ // static fields and lexical closure variables must not leak between reads.
595
+ const cached = readCodeCache.get(address);
596
+ await _.runContract({ hash: address, decoded: cached.decoded, encoded: cached.encoded }, state);
597
+ return;
598
+ }
1610
599
  const contractBytes = await resolveContract(address);
1611
- if (contractBytes === address) {
600
+ if (!contractBytes || contractBytes === address) {
1612
601
  addToWantList(address);
1613
- return;
602
+ throw new Error(`Checkpoint contract unavailable: ${address}`);
1614
603
  }
1615
604
  const contract = await new ContractMessage(contractBytes);
605
+ if (await contract.hash() !== address)
606
+ throw new Error(`Checkpoint contract hash mismatch: ${address}`);
1616
607
  await _.runContract({ hash: address, decoded: contract.decoded, encoded: contract.encoded }, state);
1617
608
  };
1618
609
  const entries = Object.entries(state);
@@ -1646,98 +637,48 @@ const _ = {
1646
637
  hash: await contractMessage.hash()
1647
638
  });
1648
639
  }
1649
- console.log({ blocks: message.blocks });
1650
- if (message.blocks?.length > 0) {
1651
- // let pre
1652
- // try {
1653
- // const importee = await import('url')
1654
- // const url = importee.default
1655
- // if (url) pre = url.fileURLToPath(new URL('.', import.meta.url))
1656
- // } catch {
1657
- // // browser env
1658
- // pre = './'
1659
- // }
1660
- // let _worker = await new EasyWorker(pre + './block-worker.js', {
1661
- // serialization: 'advanced',
1662
- // type: 'module'
1663
- // })
1664
- // blocks = await _worker.once(message.blocks)
1665
- // _worker = null
1666
- // blocks = unique(globalThis.blocks ? globalThis : [], blocks)
1667
- // for (let i = 0; i < blocks.length; i++) {
1668
- // }
1669
- blocks = message.blocks;
1670
- for (const block of blocks) {
1671
- // we only revalidate the latest 24 blocks
1672
- // every 24 blocks a snapshot is taken and stored in state
1673
- // this means contracts will be restored from this state
1674
- // this also means devs NEED to make sure the state can be restored
1675
- // on contract deploy an error will be thrown if state wasn't recoverable
1676
- if (block.index >= blocks.length - 24) {
1677
- const transactionCount = blocks[block.index].transactions.length;
1678
- latestTransactions.splice(-transactionCount, latestTransactions.length);
1679
- }
1680
- if (!block.loaded && !fromState) {
1681
- totalBlocks += 1n;
1682
- try {
1683
- const transactions = await Promise.all(block.transactions.map(async (transaction) => {
1684
- const message = new TransactionMessage(await resolveTransaction(transaction)).decode();
1685
- if (message === transaction) {
1686
- throw new Error(`nothing found for ${transaction}`);
1687
- }
1688
- return message;
1689
- }));
1690
- const validators = block.validators.map(({ address }) => address);
1691
- transactions.sort((a, b) => {
1692
- if (a.priority !== b.priority)
1693
- return a.priority ? -1 : 1;
1694
- const left = BigInt(a.nonce);
1695
- const right = BigInt(b.nonce);
1696
- return left < right ? -1 : left > right ? 1 : 0;
1697
- });
1698
- const feesEnabled = supportsTransactionFees(block.protocolVersion);
1699
- const monetaryPolicyEnabled = supportsMonetaryPolicy(block.protocolVersion);
1700
- if (monetaryPolicyEnabled)
1701
- await validateBlockResourceLimits(transactions);
1702
- const policy = monetaryPolicyEnabled
1703
- ? calculateMonetaryPolicy(BigInt(await get({ contract: nativeToken$2, method: 'totalSupply', params: [] })), BigInt(await get({ contract: nativeToken$2, method: 'targetSupply', params: [] })))
1704
- : { subsidy: 0n, burnBasisPoints: 1000n };
1705
- for (const transaction of transactions) {
1706
- await _executeTransaction(transaction, validators, feesEnabled, policy.burnBasisPoints);
1707
- }
1708
- if (monetaryPolicyEnabled && policy.subsidy > 0n) {
1709
- _.settleRewards({
1710
- rewards: [...distributeAmount(policy.subsidy, validators, Number(block.index) % validators.length)]
1711
- });
1712
- }
1713
- block.loaded = true;
1714
- worker.postMessage({
1715
- type: 'debug',
1716
- message: `loaded transactions for block: ${block.hash} @${block.index}`
1717
- });
1718
- }
1719
- catch (error) {
1720
- // just tell chain it's ready so we can get this node sync
1721
- // when a node connects this node will try to resolve the wantList
1722
- // this should result in the node beeing sync
1723
- if (error.message.includes('nothing found for'))
1724
- worker.postMessage({ type: 'machine-ready', lastBlock });
1725
- else
1726
- console.error(error);
1727
- }
1728
- }
1729
- }
1730
- if (blocks.length > 0) {
1731
- lastBlock = blocks[blocks.length - 1];
1732
- }
1733
- globalThis.blocks = blocks;
1734
- }
1735
640
  }
1736
- worker.postMessage({ type: 'machine-ready', lastBlock });
641
+ // Startup only restores a verified checkpoint. Unapplied blocks are executed
642
+ // by Chain's canonical application path, never by a second replay engine.
643
+ blocks = message.blocks ?? [];
644
+ if (!readOnly && (!Array.isArray(blocks) || blocks.length !== Number(lastBlock.index) + 1 ||
645
+ (blocks.length && blocks.at(-1)?.hash !== lastBlock.hash)))
646
+ throw new Error('Checkpoint history does not match tip');
647
+ for (let index = 0; index < blocks.length; index++) {
648
+ if (Number(blocks[index]?.index) !== index ||
649
+ blocks[index].previousHash !== (index ? blocks[index - 1].hash : '0x0'))
650
+ throw new Error('Invalid checkpoint history');
651
+ }
652
+ globalThis.blocks = blocks;
653
+ latestTransactions.splice(0, latestTransactions.length, ...blocks.slice(-24).flatMap(block => block.transactions));
654
+ return true;
655
+ },
656
+ read: async ({ contract, method, params, sender = 'leofcoin:read-only' }) => {
657
+ if (!readOnly)
658
+ throw new Error('Contract queries require a separate read-only worker');
659
+ globalThis.msg = createMessage(sender, contract);
660
+ beginExecution(`read:${contract}:${method}:${JSON.stringify(params, jsonStringifyBigInt)}`);
661
+ try {
662
+ const result = cloneState(await get({ contract, method, params }));
663
+ const snapshot = await _.snapshot();
664
+ if (stateFingerprint(snapshot.states) !== readBaseline)
665
+ throw new Error('Read-only call attempted to change contract state');
666
+ return result;
667
+ }
668
+ finally {
669
+ activeMeter = undefined;
670
+ activeCrypto = undefined;
671
+ globalThis.msg = undefined;
672
+ }
673
+ },
674
+ snapshot: async () => {
675
+ const states = {};
676
+ for (const address of Object.keys(contracts))
677
+ states[address] = cloneState(await get({ contract: address, method: 'state', params: [] }));
678
+ return { lastBlock: cloneState(lastBlock), states, info: { ...snapshotCounters(), totalBlocks } };
1737
679
  },
1738
680
  addLoadedBlock: (block) => {
1739
- const size = formatBytes(block.length);
1740
- block = JSON.parse(block, jsonParseBigInt);
681
+ const size = formatBytes(encodeValue(block).length);
1741
682
  const index = Number(block.index);
1742
683
  const tipIndex = Number(lastBlock.index);
1743
684
  if (!['number', 'bigint'].includes(typeof block.index) ||
@@ -1770,9 +711,9 @@ const _ = {
1770
711
  // todo validate here and deprecate addLoadedBlock
1771
712
  }
1772
713
  };
1773
- worker.onmessage(({ id, type, input }) => {
714
+ worker.onmessage(({ id, type, input, error }) => {
1774
715
  if (pubsub.hasSubscribers(id)) {
1775
- pubsub.publish(id, input);
716
+ pubsub.publish(id, { input, error });
1776
717
  return;
1777
718
  }
1778
719
  switch (type) {
@@ -1794,6 +735,9 @@ worker.onmessage(({ id, type, input }) => {
1794
735
  case 'settleRewards':
1795
736
  queueTask(id, 'settleRewards', input);
1796
737
  break;
738
+ case 'snapshot':
739
+ queueTask(id, 'snapshot', input);
740
+ break;
1797
741
  case 'contracts':
1798
742
  respond(id, contracts);
1799
743
  break;
@@ -1818,6 +762,9 @@ worker.onmessage(({ id, type, input }) => {
1818
762
  case 'get':
1819
763
  queueRead(id, input);
1820
764
  break;
765
+ case 'read':
766
+ queueTask(id, 'read', input);
767
+ break;
1821
768
  case 'totalContracts':
1822
769
  respond(id, Object.keys(contracts).length);
1823
770
  break;