{ "name": "Factory", "desc": "", "methods": [ { "name": "createApplication", "desc": "createApplication method called at creation", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } }, { "name": "createPool", "desc": "Deploy the pool contract, compiled teal of the contract\nmust be loaded in dexPoolContractApprovalProgram", "args": [ { "name": "payMBR", "type": "pay" }, { "name": "type", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "createVault", "args": [ { "name": "payMBR", "type": "pay" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "initPool", "desc": "Initialize the pool with the given assets & weights", "args": [ { "name": "poolID", "type": "uint64", "desc": "Pool App ID" }, { "name": "type", "type": "uint64" }, { "name": "assetIds", "type": "uint64[]" }, { "name": "weights", "type": "uint64[]" }, { "name": "coverMBR", "type": "pay" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "opUp", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "MANAGER_writePoolContractProgram", "desc": "*******************", "args": [ { "name": "offset", "type": "uint64" }, { "name": "data", "type": "byte[]" }, { "name": "type", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getPool", "readonly": true, "args": [ { "name": "assetIds", "type": "uint64[]" }, { "name": "weights", "type": "uint64[]" } ], "returns": { "type": "(uint64,uint64,uint64[],uint64[])", "struct": "Pool" }, "actions": { "create": [], "call": [ "NoOp" ] } } ], "arcs": [ 4, 56 ], "structs": { "Pool": [ { "name": "type", "type": "uint64" }, { "name": "id", "type": "uint64" }, { "name": "assets", "type": "uint64[]" }, { "name": "weights", "type": "uint64[]" } ] }, "state": { "schema": { "global": { "bytes": 1, "ints": 0 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": { "manager": { "key": "bWFuYWdlcg==", "keyType": "AVMBytes", "valueType": "address" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": { "dexPoolContractApprovalProgram": { "keyType": "uint64", "valueType": "AVMBytes", "prefix": "pool_approval_program_page_" }, "vaultPoolContractApprovalProgram": { "keyType": "uint64", "valueType": "AVMBytes", "prefix": "vault_pool_approval_program_page_" }, "pools": { "keyType": "byte[32]", "valueType": "Pool", "prefix": "pools_" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 1, "source": "contracts/Factory.algo.ts:21", "pc": [ 0 ] }, { "teal": 2, "source": "contracts/Factory.algo.ts:21", "pc": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ] }, { "teal": 3, "source": "contracts/Factory.algo.ts:21", "pc": [ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442 ] }, { "teal": 15, "source": "contracts/Factory.algo.ts:21", "pc": [ 443, 444 ] }, { "teal": 16, "source": "contracts/Factory.algo.ts:21", "pc": [ 445 ] }, { "teal": 17, "source": "contracts/Factory.algo.ts:21", "pc": [ 446 ] }, { "teal": 18, "source": "contracts/Factory.algo.ts:21", "pc": [ 447 ] }, { "teal": 19, "source": "contracts/Factory.algo.ts:21", "pc": [ 448, 449 ] }, { "teal": 20, "source": "contracts/Factory.algo.ts:21", "pc": [ 450 ] }, { "teal": 21, "source": "contracts/Factory.algo.ts:21", "pc": [ 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476 ] }, { "teal": 25, "source": "contracts/Factory.algo.ts:21", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 477 ] }, { "teal": 30, "source": "contracts/Factory.algo.ts:41", "pc": [ 478, 479, 480 ] }, { "teal": 31, "source": "contracts/Factory.algo.ts:41", "pc": [ 481 ] }, { "teal": 32, "source": "contracts/Factory.algo.ts:41", "pc": [ 482 ] }, { "teal": 38, "source": "contracts/Factory.algo.ts:41", "pc": [ 483, 484, 485 ] }, { "teal": 42, "source": "contracts/Factory.algo.ts:43", "pc": [ 486, 487 ] }, { "teal": 43, "source": "contracts/Factory.algo.ts:43", "pc": [ 488, 489, 490 ] }, { "teal": 44, "source": "contracts/Factory.algo.ts:43", "pc": [ 491, 492 ] }, { "teal": 45, "source": "contracts/Factory.algo.ts:43", "pc": [ 493 ] }, { "teal": 46, "source": "contracts/Factory.algo.ts:43", "pc": [ 494 ] }, { "teal": 47, "source": "contracts/Factory.algo.ts:41", "pc": [ 495 ] }, { "teal": 52, "source": "contracts/Factory.algo.ts:50", "pc": [ 496, 497, 498 ] }, { "teal": 53, "source": "contracts/Factory.algo.ts:50", "pc": [ 499 ] }, { "teal": 56, "source": "contracts/Factory.algo.ts:50", "pc": [ 500, 501 ] }, { "teal": 57, "source": "contracts/Factory.algo.ts:50", "pc": [ 502 ] }, { "teal": 58, "source": "contracts/Factory.algo.ts:50", "pc": [ 503 ] }, { "teal": 59, "source": "contracts/Factory.algo.ts:50", "pc": [ 504 ] }, { "teal": 60, "source": "contracts/Factory.algo.ts:50", "pc": [ 505, 506 ] }, { "teal": 61, "source": "contracts/Factory.algo.ts:50", "pc": [ 507 ] }, { "teal": 62, "source": "contracts/Factory.algo.ts:50", "pc": [ 508 ] }, { "teal": 65, "source": "contracts/Factory.algo.ts:50", "errorMessage": "argument 1 (payMBR) for createPool must be a pay transaction", "pc": [ 509 ] }, { "teal": 68, "source": "contracts/Factory.algo.ts:50", "pc": [ 510, 511, 512 ] }, { "teal": 69, "source": "contracts/Factory.algo.ts:50", "pc": [ 513 ] }, { "teal": 70, "source": "contracts/Factory.algo.ts:50", "pc": [ 514 ] }, { "teal": 77, "source": "contracts/Factory.algo.ts:50", "pc": [ 515, 516, 517 ] }, { "teal": 80, "source": "contracts/Factory.algo.ts:50", "pc": [ 518 ] }, { "teal": 81, "source": "contracts/Factory.algo.ts:50", "pc": [ 519 ] }, { "teal": 89, "source": "contracts/Factory.algo.ts:52", "pc": [ 520, 521 ] }, { "teal": 90, "source": "contracts/Factory.algo.ts:53", "pc": [ 522, 523 ] }, { "teal": 91, "source": "contracts/Factory.algo.ts:53", "pc": [ 524, 525 ] }, { "teal": 92, "source": "contracts/Factory.algo.ts:53", "pc": [ 526 ] }, { "teal": 95, "source": "contracts/Factory.algo.ts:53", "errorMessage": "transaction verification failed: {\"txn\":\"payMBR\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 527 ] }, { "teal": 98, "source": "contracts/Factory.algo.ts:52", "pc": [ 528, 529 ] }, { "teal": 99, "source": "contracts/Factory.algo.ts:54", "pc": [ 530, 531 ] }, { "teal": 100, "source": "contracts/Factory.algo.ts:54", "pc": [ 532, 533 ] }, { "teal": 101, "source": "contracts/Factory.algo.ts:54", "pc": [ 534 ] }, { "teal": 104, "source": "contracts/Factory.algo.ts:54", "errorMessage": "transaction verification failed: {\"txn\":\"payMBR\",\"field\":\"amount\",\"expected\":\"MBR_CREATE_POOL\"}", "pc": [ 535 ] }, { "teal": 109, "source": "contracts/Factory.algo.ts:57", "pc": [ 536, 537 ] }, { "teal": 110, "source": "contracts/Factory.algo.ts:57", "pc": [ 538 ] }, { "teal": 111, "source": "contracts/Factory.algo.ts:57", "pc": [ 539 ] }, { "teal": 112, "source": "contracts/Factory.algo.ts:57", "pc": [ 540, 541, 542 ] }, { "teal": 117, "source": "contracts/Factory.algo.ts:58", "pc": [ 543 ] }, { "teal": 118, "source": "contracts/Factory.algo.ts:58", "pc": [ 544, 545 ] }, { "teal": 123, "source": "contracts/Factory.algo.ts:58", "pc": [ 546, 547 ] }, { "teal": 124, "source": "contracts/Factory.algo.ts:58", "pc": [ 548 ] }, { "teal": 125, "source": "contracts/Factory.algo.ts:58", "pc": [ 549 ] }, { "teal": 126, "source": "contracts/Factory.algo.ts:58", "pc": [ 550, 551, 552 ] }, { "teal": 131, "source": "contracts/Factory.algo.ts:59", "pc": [ 553 ] }, { "teal": 132, "source": "contracts/Factory.algo.ts:59", "pc": [ 554, 555 ] }, { "teal": 133, "source": "contracts/Factory.algo.ts:59", "pc": [ 556 ] }, { "teal": 134, "source": "contracts/Factory.algo.ts:59", "pc": [ 557 ] }, { "teal": 135, "source": "contracts/Factory.algo.ts:59", "pc": [ 558 ] }, { "teal": 136, "source": "contracts/Factory.algo.ts:59", "pc": [ 559 ] }, { "teal": 137, "source": "contracts/Factory.algo.ts:59", "pc": [ 560 ] }, { "teal": 138, "source": "contracts/Factory.algo.ts:59", "pc": [ 561 ] }, { "teal": 139, "source": "contracts/Factory.algo.ts:59", "pc": [ 562, 563, 564 ] }, { "teal": 144, "source": "contracts/Factory.algo.ts:60", "pc": [ 565 ] }, { "teal": 145, "source": "contracts/Factory.algo.ts:60", "pc": [ 566, 567 ] }, { "teal": 146, "source": "contracts/Factory.algo.ts:60", "pc": [ 568 ] }, { "teal": 147, "source": "contracts/Factory.algo.ts:60", "pc": [ 569 ] }, { "teal": 148, "source": "contracts/Factory.algo.ts:60", "pc": [ 570 ] }, { "teal": 149, "source": "contracts/Factory.algo.ts:60", "pc": [ 571 ] }, { "teal": 150, "source": "contracts/Factory.algo.ts:60", "pc": [ 572 ] }, { "teal": 151, "source": "contracts/Factory.algo.ts:60", "pc": [ 573 ] }, { "teal": 152, "source": "contracts/Factory.algo.ts:60", "pc": [ 574 ] }, { "teal": 159, "source": "contracts/Factory.algo.ts:58", "pc": [ 575, 576 ] }, { "teal": 160, "source": "contracts/Factory.algo.ts:58", "pc": [ 577 ] }, { "teal": 161, "source": "contracts/Factory.algo.ts:58", "pc": [ 578 ] }, { "teal": 162, "source": "contracts/Factory.algo.ts:58", "pc": [ 579, 580 ] }, { "teal": 163, "source": "contracts/Factory.algo.ts:58", "pc": [ 581, 582, 583 ] }, { "teal": 186, "source": "contracts/Factory.algo.ts:64", "pc": [ 584 ] }, { "teal": 187, "source": "contracts/Factory.algo.ts:64", "pc": [ 585 ] }, { "teal": 188, "source": "contracts/Factory.algo.ts:64", "pc": [ 586, 587 ] }, { "teal": 192, "source": "contracts/Factory.algo.ts:65", "pc": [ 588 ] }, { "teal": 193, "source": "contracts/Factory.algo.ts:65", "pc": [ 589, 590 ] }, { "teal": 206, "source": "contracts/Factory.algo.ts:67", "pc": [ 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627 ] }, { "teal": 207, "source": "contracts/Factory.algo.ts:67", "pc": [ 628 ] }, { "teal": 210, "source": "contracts/Factory.algo.ts:67", "errorMessage": "box value does not exist: this.dexPoolContractApprovalProgram(0).value", "pc": [ 629 ] }, { "teal": 211, "source": "contracts/Factory.algo.ts:67", "pc": [ 630, 631 ] }, { "teal": 212, "source": "contracts/Factory.algo.ts:68", "pc": [ 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668 ] }, { "teal": 213, "source": "contracts/Factory.algo.ts:68", "pc": [ 669 ] }, { "teal": 216, "source": "contracts/Factory.algo.ts:68", "errorMessage": "box value does not exist: this.dexPoolContractApprovalProgram(1).value", "pc": [ 670 ] }, { "teal": 217, "source": "contracts/Factory.algo.ts:68", "pc": [ 671, 672 ] }, { "teal": 218, "source": "contracts/Factory.algo.ts:69", "pc": [ 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709 ] }, { "teal": 219, "source": "contracts/Factory.algo.ts:69", "pc": [ 710 ] }, { "teal": 222, "source": "contracts/Factory.algo.ts:69", "errorMessage": "box value does not exist: this.dexPoolContractApprovalProgram(2).value", "pc": [ 711 ] }, { "teal": 223, "source": "contracts/Factory.algo.ts:69", "pc": [ 712, 713 ] }, { "teal": 224, "source": "contracts/Factory.algo.ts:70", "pc": [ 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750 ] }, { "teal": 225, "source": "contracts/Factory.algo.ts:70", "pc": [ 751 ] }, { "teal": 228, "source": "contracts/Factory.algo.ts:70", "errorMessage": "box value does not exist: this.dexPoolContractApprovalProgram(3).value", "pc": [ 752 ] }, { "teal": 229, "source": "contracts/Factory.algo.ts:70", "pc": [ 753, 754 ] }, { "teal": 230, "source": "contracts/Factory.algo.ts:71", "pc": [ 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791 ] }, { "teal": 231, "source": "contracts/Factory.algo.ts:71", "pc": [ 792 ] }, { "teal": 234, "source": "contracts/Factory.algo.ts:71", "errorMessage": "box value does not exist: this.dexPoolContractApprovalProgram(4).value", "pc": [ 793 ] }, { "teal": 235, "source": "contracts/Factory.algo.ts:71", "pc": [ 794, 795 ] }, { "teal": 236, "source": "contracts/Factory.algo.ts:72", "pc": [ 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832 ] }, { "teal": 237, "source": "contracts/Factory.algo.ts:72", "pc": [ 833 ] }, { "teal": 240, "source": "contracts/Factory.algo.ts:72", "errorMessage": "box value does not exist: this.dexPoolContractApprovalProgram(5).value", "pc": [ 834 ] }, { "teal": 241, "source": "contracts/Factory.algo.ts:72", "pc": [ 835, 836 ] }, { "teal": 242, "source": "contracts/Factory.algo.ts:73", "pc": [ 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873 ] }, { "teal": 243, "source": "contracts/Factory.algo.ts:73", "pc": [ 874 ] }, { "teal": 246, "source": "contracts/Factory.algo.ts:73", "errorMessage": "box value does not exist: this.dexPoolContractApprovalProgram(6).value", "pc": [ 875 ] }, { "teal": 247, "source": "contracts/Factory.algo.ts:73", "pc": [ 876, 877 ] }, { "teal": 248, "source": "contracts/Factory.algo.ts:74", "pc": [ 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914 ] }, { "teal": 249, "source": "contracts/Factory.algo.ts:74", "pc": [ 915 ] }, { "teal": 252, "source": "contracts/Factory.algo.ts:74", "errorMessage": "box value does not exist: this.dexPoolContractApprovalProgram(7).value", "pc": [ 916 ] }, { "teal": 253, "source": "contracts/Factory.algo.ts:74", "pc": [ 917, 918 ] }, { "teal": 257, "source": "contracts/Factory.algo.ts:76", "pc": [ 919, 920 ] }, { "teal": 258, "source": "contracts/Factory.algo.ts:76", "pc": [ 921, 922 ] }, { "teal": 262, "source": "contracts/Factory.algo.ts:77", "pc": [ 923, 924 ] }, { "teal": 263, "source": "contracts/Factory.algo.ts:77", "pc": [ 925, 926 ] }, { "teal": 267, "source": "contracts/Factory.algo.ts:78", "pc": [ 927, 928 ] }, { "teal": 268, "source": "contracts/Factory.algo.ts:78", "pc": [ 929, 930 ] }, { "teal": 272, "source": "contracts/Factory.algo.ts:79", "pc": [ 931, 932 ] }, { "teal": 273, "source": "contracts/Factory.algo.ts:79", "pc": [ 933, 934 ] }, { "teal": 277, "source": "contracts/Factory.algo.ts:80", "pc": [ 935 ] }, { "teal": 278, "source": "contracts/Factory.algo.ts:80", "pc": [ 936, 937 ] }, { "teal": 282, "source": "contracts/Factory.algo.ts:81", "pc": [ 938, 939 ] }, { "teal": 283, "source": "contracts/Factory.algo.ts:81", "pc": [ 940, 941 ] }, { "teal": 284, "source": "contracts/Factory.algo.ts:81", "pc": [ 942, 943 ] }, { "teal": 287, "source": "contracts/Factory.algo.ts:64", "pc": [ 944 ] }, { "teal": 288, "source": "contracts/Factory.algo.ts:57", "pc": [ 945, 946, 947 ] }, { "teal": 293, "source": "contracts/Factory.algo.ts:84", "pc": [ 948 ] }, { "teal": 294, "source": "contracts/Factory.algo.ts:84", "pc": [ 949, 950 ] }, { "teal": 299, "source": "contracts/Factory.algo.ts:84", "pc": [ 951, 952 ] }, { "teal": 300, "source": "contracts/Factory.algo.ts:84", "pc": [ 953 ] }, { "teal": 301, "source": "contracts/Factory.algo.ts:84", "pc": [ 954 ] }, { "teal": 302, "source": "contracts/Factory.algo.ts:84", "pc": [ 955, 956, 957 ] }, { "teal": 307, "source": "contracts/Factory.algo.ts:85", "pc": [ 958 ] }, { "teal": 308, "source": "contracts/Factory.algo.ts:85", "pc": [ 959, 960 ] }, { "teal": 309, "source": "contracts/Factory.algo.ts:85", "pc": [ 961 ] }, { "teal": 310, "source": "contracts/Factory.algo.ts:85", "pc": [ 962 ] }, { "teal": 311, "source": "contracts/Factory.algo.ts:85", "pc": [ 963 ] }, { "teal": 312, "source": "contracts/Factory.algo.ts:85", "pc": [ 964 ] }, { "teal": 313, "source": "contracts/Factory.algo.ts:85", "pc": [ 965 ] }, { "teal": 314, "source": "contracts/Factory.algo.ts:85", "pc": [ 966 ] }, { "teal": 315, "source": "contracts/Factory.algo.ts:85", "pc": [ 967, 968, 969 ] }, { "teal": 320, "source": "contracts/Factory.algo.ts:86", "pc": [ 970 ] }, { "teal": 321, "source": "contracts/Factory.algo.ts:86", "pc": [ 971, 972 ] }, { "teal": 322, "source": "contracts/Factory.algo.ts:86", "pc": [ 973 ] }, { "teal": 323, "source": "contracts/Factory.algo.ts:86", "pc": [ 974 ] }, { "teal": 324, "source": "contracts/Factory.algo.ts:86", "pc": [ 975 ] }, { "teal": 325, "source": "contracts/Factory.algo.ts:86", "pc": [ 976 ] }, { "teal": 326, "source": "contracts/Factory.algo.ts:86", "pc": [ 977 ] }, { "teal": 327, "source": "contracts/Factory.algo.ts:86", "pc": [ 978 ] }, { "teal": 328, "source": "contracts/Factory.algo.ts:86", "pc": [ 979 ] }, { "teal": 335, "source": "contracts/Factory.algo.ts:84", "pc": [ 980, 981 ] }, { "teal": 336, "source": "contracts/Factory.algo.ts:84", "pc": [ 982 ] }, { "teal": 337, "source": "contracts/Factory.algo.ts:84", "pc": [ 983 ] }, { "teal": 338, "source": "contracts/Factory.algo.ts:84", "pc": [ 984, 985 ] }, { "teal": 339, "source": "contracts/Factory.algo.ts:84", "pc": [ 986, 987, 988 ] }, { "teal": 362, "source": "contracts/Factory.algo.ts:90", "pc": [ 989 ] }, { "teal": 363, "source": "contracts/Factory.algo.ts:90", "pc": [ 990 ] }, { "teal": 364, "source": "contracts/Factory.algo.ts:90", "pc": [ 991, 992 ] }, { "teal": 368, "source": "contracts/Factory.algo.ts:91", "pc": [ 993 ] }, { "teal": 369, "source": "contracts/Factory.algo.ts:91", "pc": [ 994, 995 ] }, { "teal": 382, "source": "contracts/Factory.algo.ts:93", "pc": [ 996, 997 ] }, { "teal": 383, "source": "contracts/Factory.algo.ts:93", "pc": [ 998 ] }, { "teal": 386, "source": "contracts/Factory.algo.ts:93", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(0).value", "pc": [ 999 ] }, { "teal": 387, "source": "contracts/Factory.algo.ts:93", "pc": [ 1000, 1001 ] }, { "teal": 388, "source": "contracts/Factory.algo.ts:94", "pc": [ 1002, 1003 ] }, { "teal": 389, "source": "contracts/Factory.algo.ts:94", "pc": [ 1004 ] }, { "teal": 392, "source": "contracts/Factory.algo.ts:94", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(1).value", "pc": [ 1005 ] }, { "teal": 393, "source": "contracts/Factory.algo.ts:94", "pc": [ 1006, 1007 ] }, { "teal": 394, "source": "contracts/Factory.algo.ts:95", "pc": [ 1008, 1009 ] }, { "teal": 395, "source": "contracts/Factory.algo.ts:95", "pc": [ 1010 ] }, { "teal": 398, "source": "contracts/Factory.algo.ts:95", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(2).value", "pc": [ 1011 ] }, { "teal": 399, "source": "contracts/Factory.algo.ts:95", "pc": [ 1012, 1013 ] }, { "teal": 400, "source": "contracts/Factory.algo.ts:96", "pc": [ 1014, 1015 ] }, { "teal": 401, "source": "contracts/Factory.algo.ts:96", "pc": [ 1016 ] }, { "teal": 404, "source": "contracts/Factory.algo.ts:96", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(3).value", "pc": [ 1017 ] }, { "teal": 405, "source": "contracts/Factory.algo.ts:96", "pc": [ 1018, 1019 ] }, { "teal": 406, "source": "contracts/Factory.algo.ts:97", "pc": [ 1020, 1021 ] }, { "teal": 407, "source": "contracts/Factory.algo.ts:97", "pc": [ 1022 ] }, { "teal": 410, "source": "contracts/Factory.algo.ts:97", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(4).value", "pc": [ 1023 ] }, { "teal": 411, "source": "contracts/Factory.algo.ts:97", "pc": [ 1024, 1025 ] }, { "teal": 412, "source": "contracts/Factory.algo.ts:98", "pc": [ 1026, 1027 ] }, { "teal": 413, "source": "contracts/Factory.algo.ts:98", "pc": [ 1028 ] }, { "teal": 416, "source": "contracts/Factory.algo.ts:98", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(5).value", "pc": [ 1029 ] }, { "teal": 417, "source": "contracts/Factory.algo.ts:98", "pc": [ 1030, 1031 ] }, { "teal": 418, "source": "contracts/Factory.algo.ts:99", "pc": [ 1032, 1033 ] }, { "teal": 419, "source": "contracts/Factory.algo.ts:99", "pc": [ 1034 ] }, { "teal": 422, "source": "contracts/Factory.algo.ts:99", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(6).value", "pc": [ 1035 ] }, { "teal": 423, "source": "contracts/Factory.algo.ts:99", "pc": [ 1036, 1037 ] }, { "teal": 424, "source": "contracts/Factory.algo.ts:100", "pc": [ 1038, 1039 ] }, { "teal": 425, "source": "contracts/Factory.algo.ts:100", "pc": [ 1040 ] }, { "teal": 428, "source": "contracts/Factory.algo.ts:100", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(7).value", "pc": [ 1041 ] }, { "teal": 429, "source": "contracts/Factory.algo.ts:100", "pc": [ 1042, 1043 ] }, { "teal": 433, "source": "contracts/Factory.algo.ts:102", "pc": [ 1044, 1045 ] }, { "teal": 434, "source": "contracts/Factory.algo.ts:102", "pc": [ 1046, 1047 ] }, { "teal": 438, "source": "contracts/Factory.algo.ts:103", "pc": [ 1048, 1049 ] }, { "teal": 439, "source": "contracts/Factory.algo.ts:103", "pc": [ 1050, 1051 ] }, { "teal": 443, "source": "contracts/Factory.algo.ts:104", "pc": [ 1052, 1053 ] }, { "teal": 444, "source": "contracts/Factory.algo.ts:104", "pc": [ 1054, 1055 ] }, { "teal": 448, "source": "contracts/Factory.algo.ts:105", "pc": [ 1056, 1057 ] }, { "teal": 449, "source": "contracts/Factory.algo.ts:105", "pc": [ 1058, 1059 ] }, { "teal": 453, "source": "contracts/Factory.algo.ts:106", "pc": [ 1060 ] }, { "teal": 454, "source": "contracts/Factory.algo.ts:106", "pc": [ 1061, 1062 ] }, { "teal": 458, "source": "contracts/Factory.algo.ts:107", "pc": [ 1063, 1064 ] }, { "teal": 459, "source": "contracts/Factory.algo.ts:107", "pc": [ 1065, 1066 ] }, { "teal": 460, "source": "contracts/Factory.algo.ts:107", "pc": [ 1067, 1068 ] }, { "teal": 463, "source": "contracts/Factory.algo.ts:90", "pc": [ 1069 ] }, { "teal": 466, "source": "contracts/Factory.algo.ts:50", "pc": [ 1070 ] }, { "teal": 471, "source": "contracts/Factory.algo.ts:112", "pc": [ 1071, 1072 ] }, { "teal": 472, "source": "contracts/Factory.algo.ts:112", "pc": [ 1073 ] }, { "teal": 473, "source": "contracts/Factory.algo.ts:112", "pc": [ 1074 ] }, { "teal": 474, "source": "contracts/Factory.algo.ts:112", "pc": [ 1075 ] }, { "teal": 475, "source": "contracts/Factory.algo.ts:112", "pc": [ 1076, 1077 ] }, { "teal": 476, "source": "contracts/Factory.algo.ts:112", "pc": [ 1078 ] }, { "teal": 477, "source": "contracts/Factory.algo.ts:112", "pc": [ 1079 ] }, { "teal": 480, "source": "contracts/Factory.algo.ts:112", "errorMessage": "argument 0 (payMBR) for createVault must be a pay transaction", "pc": [ 1080 ] }, { "teal": 483, "source": "contracts/Factory.algo.ts:112", "pc": [ 1081, 1082, 1083 ] }, { "teal": 484, "source": "contracts/Factory.algo.ts:112", "pc": [ 1084 ] }, { "teal": 485, "source": "contracts/Factory.algo.ts:112", "pc": [ 1085 ] }, { "teal": 489, "source": "contracts/Factory.algo.ts:112", "pc": [ 1086, 1087, 1088 ] }, { "teal": 492, "source": "contracts/Factory.algo.ts:112", "pc": [ 1089 ] }, { "teal": 500, "source": "contracts/Factory.algo.ts:114", "pc": [ 1090, 1091 ] }, { "teal": 501, "source": "contracts/Factory.algo.ts:115", "pc": [ 1092, 1093 ] }, { "teal": 502, "source": "contracts/Factory.algo.ts:115", "pc": [ 1094, 1095 ] }, { "teal": 503, "source": "contracts/Factory.algo.ts:115", "pc": [ 1096 ] }, { "teal": 506, "source": "contracts/Factory.algo.ts:115", "errorMessage": "transaction verification failed: {\"txn\":\"payMBR\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 1097 ] }, { "teal": 509, "source": "contracts/Factory.algo.ts:114", "pc": [ 1098, 1099 ] }, { "teal": 510, "source": "contracts/Factory.algo.ts:116", "pc": [ 1100, 1101 ] }, { "teal": 511, "source": "contracts/Factory.algo.ts:116", "pc": [ 1102, 1103 ] }, { "teal": 512, "source": "contracts/Factory.algo.ts:116", "pc": [ 1104 ] }, { "teal": 515, "source": "contracts/Factory.algo.ts:116", "errorMessage": "transaction verification failed: {\"txn\":\"payMBR\",\"field\":\"amount\",\"expected\":\"MBR_CREATE_VAULT\"}", "pc": [ 1105 ] }, { "teal": 519, "source": "contracts/Factory.algo.ts:118", "pc": [ 1106 ] }, { "teal": 520, "source": "contracts/Factory.algo.ts:118", "pc": [ 1107, 1108 ] }, { "teal": 525, "source": "contracts/Factory.algo.ts:118", "pc": [ 1109, 1110 ] }, { "teal": 526, "source": "contracts/Factory.algo.ts:118", "pc": [ 1111 ] }, { "teal": 527, "source": "contracts/Factory.algo.ts:118", "pc": [ 1112 ] }, { "teal": 528, "source": "contracts/Factory.algo.ts:118", "pc": [ 1113, 1114, 1115 ] }, { "teal": 533, "source": "contracts/Factory.algo.ts:119", "pc": [ 1116 ] }, { "teal": 534, "source": "contracts/Factory.algo.ts:119", "pc": [ 1117, 1118 ] }, { "teal": 535, "source": "contracts/Factory.algo.ts:119", "pc": [ 1119 ] }, { "teal": 536, "source": "contracts/Factory.algo.ts:119", "pc": [ 1120 ] }, { "teal": 537, "source": "contracts/Factory.algo.ts:119", "pc": [ 1121 ] }, { "teal": 538, "source": "contracts/Factory.algo.ts:119", "pc": [ 1122 ] }, { "teal": 539, "source": "contracts/Factory.algo.ts:119", "pc": [ 1123 ] }, { "teal": 540, "source": "contracts/Factory.algo.ts:119", "pc": [ 1124 ] }, { "teal": 541, "source": "contracts/Factory.algo.ts:119", "pc": [ 1125, 1126, 1127 ] }, { "teal": 546, "source": "contracts/Factory.algo.ts:120", "pc": [ 1128 ] }, { "teal": 547, "source": "contracts/Factory.algo.ts:120", "pc": [ 1129, 1130 ] }, { "teal": 548, "source": "contracts/Factory.algo.ts:120", "pc": [ 1131 ] }, { "teal": 549, "source": "contracts/Factory.algo.ts:120", "pc": [ 1132 ] }, { "teal": 550, "source": "contracts/Factory.algo.ts:120", "pc": [ 1133 ] }, { "teal": 551, "source": "contracts/Factory.algo.ts:120", "pc": [ 1134 ] }, { "teal": 552, "source": "contracts/Factory.algo.ts:120", "pc": [ 1135 ] }, { "teal": 553, "source": "contracts/Factory.algo.ts:120", "pc": [ 1136 ] }, { "teal": 554, "source": "contracts/Factory.algo.ts:120", "pc": [ 1137 ] }, { "teal": 561, "source": "contracts/Factory.algo.ts:118", "pc": [ 1138, 1139 ] }, { "teal": 562, "source": "contracts/Factory.algo.ts:118", "pc": [ 1140 ] }, { "teal": 563, "source": "contracts/Factory.algo.ts:118", "pc": [ 1141 ] }, { "teal": 564, "source": "contracts/Factory.algo.ts:118", "pc": [ 1142, 1143 ] }, { "teal": 565, "source": "contracts/Factory.algo.ts:118", "pc": [ 1144, 1145, 1146 ] }, { "teal": 588, "source": "contracts/Factory.algo.ts:124", "pc": [ 1147 ] }, { "teal": 589, "source": "contracts/Factory.algo.ts:124", "pc": [ 1148 ] }, { "teal": 590, "source": "contracts/Factory.algo.ts:124", "pc": [ 1149, 1150 ] }, { "teal": 594, "source": "contracts/Factory.algo.ts:125", "pc": [ 1151 ] }, { "teal": 595, "source": "contracts/Factory.algo.ts:125", "pc": [ 1152, 1153 ] }, { "teal": 608, "source": "contracts/Factory.algo.ts:127", "pc": [ 1154, 1155 ] }, { "teal": 609, "source": "contracts/Factory.algo.ts:127", "pc": [ 1156 ] }, { "teal": 612, "source": "contracts/Factory.algo.ts:127", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(0).value", "pc": [ 1157 ] }, { "teal": 613, "source": "contracts/Factory.algo.ts:127", "pc": [ 1158, 1159 ] }, { "teal": 614, "source": "contracts/Factory.algo.ts:128", "pc": [ 1160, 1161 ] }, { "teal": 615, "source": "contracts/Factory.algo.ts:128", "pc": [ 1162 ] }, { "teal": 618, "source": "contracts/Factory.algo.ts:128", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(1).value", "pc": [ 1163 ] }, { "teal": 619, "source": "contracts/Factory.algo.ts:128", "pc": [ 1164, 1165 ] }, { "teal": 620, "source": "contracts/Factory.algo.ts:129", "pc": [ 1166, 1167 ] }, { "teal": 621, "source": "contracts/Factory.algo.ts:129", "pc": [ 1168 ] }, { "teal": 624, "source": "contracts/Factory.algo.ts:129", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(2).value", "pc": [ 1169 ] }, { "teal": 625, "source": "contracts/Factory.algo.ts:129", "pc": [ 1170, 1171 ] }, { "teal": 626, "source": "contracts/Factory.algo.ts:130", "pc": [ 1172, 1173 ] }, { "teal": 627, "source": "contracts/Factory.algo.ts:130", "pc": [ 1174 ] }, { "teal": 630, "source": "contracts/Factory.algo.ts:130", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(3).value", "pc": [ 1175 ] }, { "teal": 631, "source": "contracts/Factory.algo.ts:130", "pc": [ 1176, 1177 ] }, { "teal": 632, "source": "contracts/Factory.algo.ts:131", "pc": [ 1178, 1179 ] }, { "teal": 633, "source": "contracts/Factory.algo.ts:131", "pc": [ 1180 ] }, { "teal": 636, "source": "contracts/Factory.algo.ts:131", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(4).value", "pc": [ 1181 ] }, { "teal": 637, "source": "contracts/Factory.algo.ts:131", "pc": [ 1182, 1183 ] }, { "teal": 638, "source": "contracts/Factory.algo.ts:132", "pc": [ 1184, 1185 ] }, { "teal": 639, "source": "contracts/Factory.algo.ts:132", "pc": [ 1186 ] }, { "teal": 642, "source": "contracts/Factory.algo.ts:132", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(5).value", "pc": [ 1187 ] }, { "teal": 643, "source": "contracts/Factory.algo.ts:132", "pc": [ 1188, 1189 ] }, { "teal": 644, "source": "contracts/Factory.algo.ts:133", "pc": [ 1190, 1191 ] }, { "teal": 645, "source": "contracts/Factory.algo.ts:133", "pc": [ 1192 ] }, { "teal": 648, "source": "contracts/Factory.algo.ts:133", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(6).value", "pc": [ 1193 ] }, { "teal": 649, "source": "contracts/Factory.algo.ts:133", "pc": [ 1194, 1195 ] }, { "teal": 650, "source": "contracts/Factory.algo.ts:134", "pc": [ 1196, 1197 ] }, { "teal": 651, "source": "contracts/Factory.algo.ts:134", "pc": [ 1198 ] }, { "teal": 654, "source": "contracts/Factory.algo.ts:134", "errorMessage": "box value does not exist: this.vaultPoolContractApprovalProgram(7).value", "pc": [ 1199 ] }, { "teal": 655, "source": "contracts/Factory.algo.ts:134", "pc": [ 1200, 1201 ] }, { "teal": 659, "source": "contracts/Factory.algo.ts:136", "pc": [ 1202, 1203 ] }, { "teal": 660, "source": "contracts/Factory.algo.ts:136", "pc": [ 1204, 1205 ] }, { "teal": 664, "source": "contracts/Factory.algo.ts:137", "pc": [ 1206, 1207 ] }, { "teal": 665, "source": "contracts/Factory.algo.ts:137", "pc": [ 1208, 1209 ] }, { "teal": 669, "source": "contracts/Factory.algo.ts:138", "pc": [ 1210, 1211 ] }, { "teal": 670, "source": "contracts/Factory.algo.ts:138", "pc": [ 1212, 1213 ] }, { "teal": 674, "source": "contracts/Factory.algo.ts:139", "pc": [ 1214, 1215 ] }, { "teal": 675, "source": "contracts/Factory.algo.ts:139", "pc": [ 1216, 1217 ] }, { "teal": 679, "source": "contracts/Factory.algo.ts:140", "pc": [ 1218 ] }, { "teal": 680, "source": "contracts/Factory.algo.ts:140", "pc": [ 1219, 1220 ] }, { "teal": 684, "source": "contracts/Factory.algo.ts:141", "pc": [ 1221, 1222 ] }, { "teal": 685, "source": "contracts/Factory.algo.ts:141", "pc": [ 1223, 1224 ] }, { "teal": 686, "source": "contracts/Factory.algo.ts:141", "pc": [ 1225, 1226 ] }, { "teal": 689, "source": "contracts/Factory.algo.ts:124", "pc": [ 1227 ] }, { "teal": 690, "source": "contracts/Factory.algo.ts:112", "pc": [ 1228 ] }, { "teal": 695, "source": "contracts/Factory.algo.ts:153", "pc": [ 1229, 1230 ] }, { "teal": 698, "source": "contracts/Factory.algo.ts:153", "pc": [ 1231, 1232 ] }, { "teal": 699, "source": "contracts/Factory.algo.ts:153", "pc": [ 1233 ] }, { "teal": 700, "source": "contracts/Factory.algo.ts:153", "pc": [ 1234 ] }, { "teal": 701, "source": "contracts/Factory.algo.ts:153", "pc": [ 1235 ] }, { "teal": 702, "source": "contracts/Factory.algo.ts:153", "pc": [ 1236, 1237 ] }, { "teal": 703, "source": "contracts/Factory.algo.ts:153", "pc": [ 1238 ] }, { "teal": 704, "source": "contracts/Factory.algo.ts:153", "pc": [ 1239 ] }, { "teal": 707, "source": "contracts/Factory.algo.ts:153", "errorMessage": "argument 0 (coverMBR) for initPool must be a pay transaction", "pc": [ 1240 ] }, { "teal": 710, "source": "contracts/Factory.algo.ts:153", "pc": [ 1241, 1242, 1243 ] }, { "teal": 711, "source": "contracts/Factory.algo.ts:153", "pc": [ 1244, 1245, 1246 ] }, { "teal": 714, "source": "contracts/Factory.algo.ts:153", "pc": [ 1247, 1248, 1249 ] }, { "teal": 715, "source": "contracts/Factory.algo.ts:153", "pc": [ 1250, 1251, 1252 ] }, { "teal": 718, "source": "contracts/Factory.algo.ts:153", "pc": [ 1253, 1254, 1255 ] }, { "teal": 719, "source": "contracts/Factory.algo.ts:153", "pc": [ 1256 ] }, { "teal": 722, "source": "contracts/Factory.algo.ts:153", "pc": [ 1257, 1258, 1259 ] }, { "teal": 723, "source": "contracts/Factory.algo.ts:153", "pc": [ 1260 ] }, { "teal": 726, "source": "contracts/Factory.algo.ts:153", "pc": [ 1261, 1262, 1263 ] }, { "teal": 727, "source": "contracts/Factory.algo.ts:153", "pc": [ 1264 ] }, { "teal": 728, "source": "contracts/Factory.algo.ts:153", "pc": [ 1265 ] }, { "teal": 729, "source": "contracts/Factory.algo.ts:153", "pc": [ 1266 ] }, { "teal": 730, "source": "contracts/Factory.algo.ts:153", "pc": [ 1267 ] }, { "teal": 731, "source": "contracts/Factory.algo.ts:153", "pc": [ 1268 ] }, { "teal": 742, "source": "contracts/Factory.algo.ts:153", "pc": [ 1269, 1270, 1271 ] }, { "teal": 745, "source": "contracts/Factory.algo.ts:153", "pc": [ 1272 ] }, { "teal": 746, "source": "contracts/Factory.algo.ts:153", "pc": [ 1273 ] }, { "teal": 754, "source": "contracts/Factory.algo.ts:154", "pc": [ 1274, 1275 ] }, { "teal": 755, "source": "contracts/Factory.algo.ts:155", "pc": [ 1276, 1277 ] }, { "teal": 756, "source": "contracts/Factory.algo.ts:155", "pc": [ 1278, 1279 ] }, { "teal": 757, "source": "contracts/Factory.algo.ts:155", "pc": [ 1280, 1281 ] }, { "teal": 758, "source": "contracts/Factory.algo.ts:155", "pc": [ 1282 ] }, { "teal": 759, "source": "contracts/Factory.algo.ts:155", "pc": [ 1283 ] }, { "teal": 762, "source": "contracts/Factory.algo.ts:155", "errorMessage": "transaction verification failed: {\"txn\":\"coverMBR\",\"field\":\"receiver\",\"expected\":\"poolID.address\"}", "pc": [ 1284 ] }, { "teal": 765, "source": "contracts/Factory.algo.ts:154", "pc": [ 1285, 1286 ] }, { "teal": 766, "source": "contracts/Factory.algo.ts:156", "pc": [ 1287, 1288 ] }, { "teal": 767, "source": "contracts/Factory.algo.ts:156", "pc": [ 1289, 1290, 1291, 1292 ] }, { "teal": 768, "source": "contracts/Factory.algo.ts:156", "pc": [ 1293 ] }, { "teal": 771, "source": "contracts/Factory.algo.ts:156", "errorMessage": "transaction verification failed: {\"txn\":\"coverMBR\",\"field\":\"amount\",\"expected\":\"MBR_INIT_POOL\"}", "pc": [ 1294 ] }, { "teal": 775, "source": "contracts/Factory.algo.ts:158", "pc": [ 1295, 1296 ] }, { "teal": 776, "source": "contracts/Factory.algo.ts:158", "pc": [ 1297 ] }, { "teal": 777, "source": "contracts/Factory.algo.ts:158", "pc": [ 1298 ] }, { "teal": 778, "source": "contracts/Factory.algo.ts:158", "pc": [ 1299 ] }, { "teal": 779, "source": "contracts/Factory.algo.ts:158", "pc": [ 1300, 1301 ] }, { "teal": 780, "source": "contracts/Factory.algo.ts:158", "pc": [ 1302 ] }, { "teal": 783, "source": "contracts/Factory.algo.ts:158", "errorMessage": "At least 2 tokens needed", "pc": [ 1303 ] }, { "teal": 787, "source": "contracts/Factory.algo.ts:159", "pc": [ 1304, 1305 ] }, { "teal": 788, "source": "contracts/Factory.algo.ts:159", "pc": [ 1306 ] }, { "teal": 789, "source": "contracts/Factory.algo.ts:159", "pc": [ 1307 ] }, { "teal": 790, "source": "contracts/Factory.algo.ts:159", "pc": [ 1308 ] }, { "teal": 791, "source": "contracts/Factory.algo.ts:159", "pc": [ 1309, 1310, 1311 ] }, { "teal": 792, "source": "contracts/Factory.algo.ts:159", "pc": [ 1312 ] }, { "teal": 795, "source": "contracts/Factory.algo.ts:159", "errorMessage": "Maximum of 128 assets per pool", "pc": [ 1313 ] }, { "teal": 799, "source": "contracts/Factory.algo.ts:160", "pc": [ 1314, 1315 ] }, { "teal": 800, "source": "contracts/Factory.algo.ts:160", "pc": [ 1316 ] }, { "teal": 801, "source": "contracts/Factory.algo.ts:160", "pc": [ 1317 ] }, { "teal": 802, "source": "contracts/Factory.algo.ts:160", "pc": [ 1318 ] }, { "teal": 803, "source": "contracts/Factory.algo.ts:160", "pc": [ 1319, 1320 ] }, { "teal": 804, "source": "contracts/Factory.algo.ts:160", "pc": [ 1321 ] }, { "teal": 805, "source": "contracts/Factory.algo.ts:160", "pc": [ 1322 ] }, { "teal": 806, "source": "contracts/Factory.algo.ts:160", "pc": [ 1323 ] }, { "teal": 807, "source": "contracts/Factory.algo.ts:160", "pc": [ 1324 ] }, { "teal": 810, "source": "contracts/Factory.algo.ts:160", "errorMessage": "Weights and Assets length must be the same", "pc": [ 1325 ] }, { "teal": 814, "source": "contracts/Factory.algo.ts:161", "pc": [ 1326, 1327 ] }, { "teal": 815, "source": "contracts/Factory.algo.ts:161", "pc": [ 1328, 1329, 1330 ] }, { "teal": 818, "source": "contracts/Factory.algo.ts:161", "errorMessage": "Assets must be ordered by ID", "pc": [ 1331 ] }, { "teal": 823, "source": "contracts/Factory.algo.ts:163", "pc": [ 1332, 1333 ] }, { "teal": 824, "source": "contracts/Factory.algo.ts:163", "pc": [ 1334 ] }, { "teal": 825, "source": "contracts/Factory.algo.ts:163", "pc": [ 1335 ] }, { "teal": 826, "source": "contracts/Factory.algo.ts:163", "pc": [ 1336, 1337, 1338 ] }, { "teal": 831, "source": "contracts/Factory.algo.ts:164", "pc": [ 1339, 1340 ] }, { "teal": 832, "source": "contracts/Factory.algo.ts:164", "pc": [ 1341, 1342 ] }, { "teal": 833, "source": "contracts/Factory.algo.ts:164", "pc": [ 1343, 1344, 1345 ] }, { "teal": 834, "source": "contracts/Factory.algo.ts:164", "pc": [ 1346, 1347 ] }, { "teal": 838, "source": "contracts/Factory.algo.ts:165", "pc": [ 1348, 1349 ] }, { "teal": 839, "source": "contracts/Factory.algo.ts:165", "pc": [ 1350, 1351 ] }, { "teal": 840, "source": "contracts/Factory.algo.ts:165", "pc": [ 1352 ] }, { "teal": 841, "source": "contracts/Factory.algo.ts:165", "pc": [ 1353 ] }, { "teal": 842, "source": "contracts/Factory.algo.ts:165", "pc": [ 1354 ] }, { "teal": 843, "source": "contracts/Factory.algo.ts:165", "pc": [ 1355 ] }, { "teal": 844, "source": "contracts/Factory.algo.ts:165", "pc": [ 1356 ] }, { "teal": 847, "source": "contracts/Factory.algo.ts:165", "errorMessage": "This pool already exists", "pc": [ 1357 ] }, { "teal": 851, "source": "contracts/Factory.algo.ts:166", "pc": [ 1358, 1359 ] }, { "teal": 852, "source": "contracts/Factory.algo.ts:166", "pc": [ 1360, 1361 ] }, { "teal": 853, "source": "contracts/Factory.algo.ts:166", "pc": [ 1362 ] }, { "teal": 854, "source": "contracts/Factory.algo.ts:166", "pc": [ 1363 ] }, { "teal": 855, "source": "contracts/Factory.algo.ts:166", "pc": [ 1364 ] }, { "teal": 856, "source": "contracts/Factory.algo.ts:166", "pc": [ 1365 ] }, { "teal": 857, "source": "contracts/Factory.algo.ts:166", "pc": [ 1366 ] }, { "teal": 858, "source": "contracts/Factory.algo.ts:166", "pc": [ 1367 ] }, { "teal": 859, "source": "contracts/Factory.algo.ts:166", "pc": [ 1368, 1369, 1370, 1371 ] }, { "teal": 860, "source": "contracts/Factory.algo.ts:166", "pc": [ 1372, 1373 ] }, { "teal": 861, "source": "contracts/Factory.algo.ts:166", "pc": [ 1374 ] }, { "teal": 862, "source": "contracts/Factory.algo.ts:166", "pc": [ 1375, 1376, 1377 ] }, { "teal": 863, "source": "contracts/Factory.algo.ts:166", "pc": [ 1378, 1379 ] }, { "teal": 864, "source": "contracts/Factory.algo.ts:166", "pc": [ 1380 ] }, { "teal": 865, "source": "contracts/Factory.algo.ts:166", "pc": [ 1381, 1382, 1383 ] }, { "teal": 866, "source": "contracts/Factory.algo.ts:166", "pc": [ 1384, 1385 ] }, { "teal": 867, "source": "contracts/Factory.algo.ts:166", "pc": [ 1386 ] }, { "teal": 868, "source": "contracts/Factory.algo.ts:166", "pc": [ 1387 ] }, { "teal": 869, "source": "contracts/Factory.algo.ts:166", "pc": [ 1388 ] }, { "teal": 870, "source": "contracts/Factory.algo.ts:166", "pc": [ 1389 ] }, { "teal": 871, "source": "contracts/Factory.algo.ts:166", "pc": [ 1390 ] }, { "teal": 872, "source": "contracts/Factory.algo.ts:166", "pc": [ 1391, 1392, 1393 ] }, { "teal": 873, "source": "contracts/Factory.algo.ts:166", "pc": [ 1394 ] }, { "teal": 874, "source": "contracts/Factory.algo.ts:166", "pc": [ 1395 ] }, { "teal": 875, "source": "contracts/Factory.algo.ts:166", "pc": [ 1396, 1397, 1398 ] }, { "teal": 876, "source": "contracts/Factory.algo.ts:166", "pc": [ 1399, 1400 ] }, { "teal": 877, "source": "contracts/Factory.algo.ts:166", "pc": [ 1401 ] }, { "teal": 878, "source": "contracts/Factory.algo.ts:166", "pc": [ 1402 ] }, { "teal": 879, "source": "contracts/Factory.algo.ts:166", "pc": [ 1403 ] }, { "teal": 880, "source": "contracts/Factory.algo.ts:166", "pc": [ 1404 ] }, { "teal": 881, "source": "contracts/Factory.algo.ts:166", "pc": [ 1405 ] }, { "teal": 882, "source": "contracts/Factory.algo.ts:166", "pc": [ 1406, 1407, 1408 ] }, { "teal": 883, "source": "contracts/Factory.algo.ts:166", "pc": [ 1409 ] }, { "teal": 884, "source": "contracts/Factory.algo.ts:166", "pc": [ 1410 ] }, { "teal": 885, "source": "contracts/Factory.algo.ts:166", "pc": [ 1411, 1412, 1413 ] }, { "teal": 886, "source": "contracts/Factory.algo.ts:166", "pc": [ 1414 ] }, { "teal": 887, "source": "contracts/Factory.algo.ts:166", "pc": [ 1415 ] }, { "teal": 888, "source": "contracts/Factory.algo.ts:166", "pc": [ 1416 ] }, { "teal": 893, "source": "contracts/Factory.algo.ts:169", "pc": [ 1417 ] }, { "teal": 894, "source": "contracts/Factory.algo.ts:169", "pc": [ 1418, 1419 ] }, { "teal": 899, "source": "contracts/Factory.algo.ts:171", "pc": [ 1420, 1421 ] }, { "teal": 900, "source": "contracts/Factory.algo.ts:171", "pc": [ 1422 ] }, { "teal": 901, "source": "contracts/Factory.algo.ts:171", "pc": [ 1423 ] }, { "teal": 902, "source": "contracts/Factory.algo.ts:171", "pc": [ 1424, 1425, 1426 ] }, { "teal": 910, "source": "contracts/Factory.algo.ts:172", "pc": [ 1427 ] }, { "teal": 911, "source": "contracts/Factory.algo.ts:172", "pc": [ 1428 ] }, { "teal": 912, "source": "contracts/Factory.algo.ts:172", "pc": [ 1429, 1430 ] }, { "teal": 913, "source": "contracts/Factory.algo.ts:172", "pc": [ 1431, 1432, 1433, 1434, 1435, 1436 ] }, { "teal": 914, "source": "contracts/Factory.algo.ts:172", "pc": [ 1437, 1438 ] }, { "teal": 918, "source": "contracts/Factory.algo.ts:173", "pc": [ 1439, 1440 ] }, { "teal": 919, "source": "contracts/Factory.algo.ts:173", "pc": [ 1441, 1442 ] }, { "teal": 923, "source": "contracts/Factory.algo.ts:174", "pc": [ 1443, 1444 ] }, { "teal": 924, "source": "contracts/Factory.algo.ts:174", "pc": [ 1445 ] }, { "teal": 925, "source": "contracts/Factory.algo.ts:174", "pc": [ 1446 ] }, { "teal": 926, "source": "contracts/Factory.algo.ts:174", "pc": [ 1447 ] }, { "teal": 927, "source": "contracts/Factory.algo.ts:174", "pc": [ 1448 ] }, { "teal": 928, "source": "contracts/Factory.algo.ts:174", "pc": [ 1449 ] }, { "teal": 929, "source": "contracts/Factory.algo.ts:174", "pc": [ 1450, 1451, 1452 ] }, { "teal": 930, "source": "contracts/Factory.algo.ts:174", "pc": [ 1453 ] }, { "teal": 931, "source": "contracts/Factory.algo.ts:174", "pc": [ 1454 ] }, { "teal": 932, "source": "contracts/Factory.algo.ts:174", "pc": [ 1455, 1456 ] }, { "teal": 933, "source": "contracts/Factory.algo.ts:174", "pc": [ 1457, 1458 ] }, { "teal": 934, "source": "contracts/Factory.algo.ts:174", "pc": [ 1459 ] }, { "teal": 935, "source": "contracts/Factory.algo.ts:174", "pc": [ 1460 ] }, { "teal": 936, "source": "contracts/Factory.algo.ts:174", "pc": [ 1461 ] }, { "teal": 937, "source": "contracts/Factory.algo.ts:174", "pc": [ 1462 ] }, { "teal": 938, "source": "contracts/Factory.algo.ts:174", "pc": [ 1463 ] }, { "teal": 939, "source": "contracts/Factory.algo.ts:174", "pc": [ 1464, 1465, 1466 ] }, { "teal": 940, "source": "contracts/Factory.algo.ts:174", "pc": [ 1467 ] }, { "teal": 941, "source": "contracts/Factory.algo.ts:174", "pc": [ 1468 ] }, { "teal": 942, "source": "contracts/Factory.algo.ts:174", "pc": [ 1469, 1470 ] }, { "teal": 943, "source": "contracts/Factory.algo.ts:174", "pc": [ 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480 ] }, { "teal": 944, "source": "contracts/Factory.algo.ts:174", "pc": [ 1481, 1482 ] }, { "teal": 945, "source": "contracts/Factory.algo.ts:174", "pc": [ 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492 ] }, { "teal": 946, "source": "contracts/Factory.algo.ts:174", "pc": [ 1493, 1494 ] }, { "teal": 949, "source": "contracts/Factory.algo.ts:172", "pc": [ 1495 ] }, { "teal": 950, "source": "contracts/Factory.algo.ts:172", "pc": [ 1496, 1497 ] }, { "teal": 953, "source": "contracts/Factory.algo.ts:172", "pc": [ 1498 ] }, { "teal": 954, "source": "contracts/Factory.algo.ts:172", "pc": [ 1499, 1500 ] }, { "teal": 955, "source": "contracts/Factory.algo.ts:172", "pc": [ 1501 ] }, { "teal": 956, "source": "contracts/Factory.algo.ts:172", "pc": [ 1502 ] }, { "teal": 957, "source": "contracts/Factory.algo.ts:172", "pc": [ 1503, 1504 ] }, { "teal": 958, "source": "contracts/Factory.algo.ts:172", "pc": [ 1505, 1506, 1507 ] }, { "teal": 959, "source": "contracts/Factory.algo.ts:172", "pc": [ 1508 ] }, { "teal": 960, "source": "contracts/Factory.algo.ts:172", "pc": [ 1509, 1510 ] }, { "teal": 961, "source": "contracts/Factory.algo.ts:171", "pc": [ 1511, 1512, 1513 ] }, { "teal": 966, "source": "contracts/Factory.algo.ts:176", "pc": [ 1514, 1515 ] }, { "teal": 967, "source": "contracts/Factory.algo.ts:176", "pc": [ 1516 ] }, { "teal": 968, "source": "contracts/Factory.algo.ts:176", "pc": [ 1517 ] }, { "teal": 969, "source": "contracts/Factory.algo.ts:176", "pc": [ 1518, 1519, 1520 ] }, { "teal": 977, "source": "contracts/Factory.algo.ts:177", "pc": [ 1521 ] }, { "teal": 978, "source": "contracts/Factory.algo.ts:177", "pc": [ 1522 ] }, { "teal": 979, "source": "contracts/Factory.algo.ts:177", "pc": [ 1523, 1524 ] }, { "teal": 980, "source": "contracts/Factory.algo.ts:177", "pc": [ 1525, 1526, 1527, 1528, 1529, 1530 ] }, { "teal": 981, "source": "contracts/Factory.algo.ts:177", "pc": [ 1531, 1532 ] }, { "teal": 985, "source": "contracts/Factory.algo.ts:178", "pc": [ 1533, 1534 ] }, { "teal": 986, "source": "contracts/Factory.algo.ts:178", "pc": [ 1535, 1536 ] }, { "teal": 990, "source": "contracts/Factory.algo.ts:179", "pc": [ 1537, 1538 ] }, { "teal": 991, "source": "contracts/Factory.algo.ts:179", "pc": [ 1539 ] }, { "teal": 992, "source": "contracts/Factory.algo.ts:179", "pc": [ 1540 ] }, { "teal": 993, "source": "contracts/Factory.algo.ts:179", "pc": [ 1541 ] }, { "teal": 994, "source": "contracts/Factory.algo.ts:179", "pc": [ 1542 ] }, { "teal": 995, "source": "contracts/Factory.algo.ts:179", "pc": [ 1543 ] }, { "teal": 996, "source": "contracts/Factory.algo.ts:179", "pc": [ 1544, 1545, 1546 ] }, { "teal": 997, "source": "contracts/Factory.algo.ts:179", "pc": [ 1547 ] }, { "teal": 998, "source": "contracts/Factory.algo.ts:179", "pc": [ 1548 ] }, { "teal": 999, "source": "contracts/Factory.algo.ts:179", "pc": [ 1549, 1550 ] }, { "teal": 1000, "source": "contracts/Factory.algo.ts:179", "pc": [ 1551, 1552 ] }, { "teal": 1001, "source": "contracts/Factory.algo.ts:179", "pc": [ 1553 ] }, { "teal": 1002, "source": "contracts/Factory.algo.ts:179", "pc": [ 1554 ] }, { "teal": 1003, "source": "contracts/Factory.algo.ts:179", "pc": [ 1555 ] }, { "teal": 1004, "source": "contracts/Factory.algo.ts:179", "pc": [ 1556 ] }, { "teal": 1005, "source": "contracts/Factory.algo.ts:179", "pc": [ 1557 ] }, { "teal": 1006, "source": "contracts/Factory.algo.ts:179", "pc": [ 1558, 1559, 1560 ] }, { "teal": 1007, "source": "contracts/Factory.algo.ts:179", "pc": [ 1561 ] }, { "teal": 1008, "source": "contracts/Factory.algo.ts:179", "pc": [ 1562 ] }, { "teal": 1009, "source": "contracts/Factory.algo.ts:179", "pc": [ 1563, 1564 ] }, { "teal": 1012, "source": "contracts/Factory.algo.ts:177", "pc": [ 1565 ] }, { "teal": 1013, "source": "contracts/Factory.algo.ts:177", "pc": [ 1566, 1567 ] }, { "teal": 1016, "source": "contracts/Factory.algo.ts:177", "pc": [ 1568 ] }, { "teal": 1017, "source": "contracts/Factory.algo.ts:177", "pc": [ 1569, 1570 ] }, { "teal": 1018, "source": "contracts/Factory.algo.ts:177", "pc": [ 1571 ] }, { "teal": 1019, "source": "contracts/Factory.algo.ts:177", "pc": [ 1572 ] }, { "teal": 1020, "source": "contracts/Factory.algo.ts:177", "pc": [ 1573, 1574 ] }, { "teal": 1021, "source": "contracts/Factory.algo.ts:177", "pc": [ 1575, 1576, 1577 ] }, { "teal": 1022, "source": "contracts/Factory.algo.ts:177", "pc": [ 1578 ] }, { "teal": 1023, "source": "contracts/Factory.algo.ts:177", "pc": [ 1579, 1580 ] }, { "teal": 1028, "source": "contracts/Factory.algo.ts:183", "pc": [ 1581, 1582 ] }, { "teal": 1031, "source": "contracts/Factory.algo.ts:153", "pc": [ 1583, 1584 ] }, { "teal": 1034, "source": "contracts/Factory.algo.ts:153", "pc": [ 1585, 1586 ] }, { "teal": 1035, "source": "contracts/Factory.algo.ts:153", "pc": [ 1587 ] }, { "teal": 1040, "source": "contracts/Factory.algo.ts:186", "pc": [ 1588, 1589, 1590 ] }, { "teal": 1041, "source": "contracts/Factory.algo.ts:186", "pc": [ 1591 ] }, { "teal": 1042, "source": "contracts/Factory.algo.ts:186", "pc": [ 1592 ] }, { "teal": 1046, "source": "contracts/Factory.algo.ts:186", "pc": [ 1593, 1594, 1595 ] }, { "teal": 1047, "source": "contracts/Factory.algo.ts:186", "pc": [ 1596 ] }, { "teal": 1052, "source": "contracts/Factory.algo.ts:194", "pc": [ 1597, 1598, 1599 ] }, { "teal": 1053, "source": "contracts/Factory.algo.ts:194", "pc": [ 1600 ] }, { "teal": 1056, "source": "contracts/Factory.algo.ts:194", "pc": [ 1601, 1602, 1603 ] }, { "teal": 1057, "source": "contracts/Factory.algo.ts:194", "pc": [ 1604, 1605, 1606 ] }, { "teal": 1060, "source": "contracts/Factory.algo.ts:194", "pc": [ 1607, 1608, 1609 ] }, { "teal": 1061, "source": "contracts/Factory.algo.ts:194", "pc": [ 1610 ] }, { "teal": 1064, "source": "contracts/Factory.algo.ts:194", "pc": [ 1611, 1612, 1613 ] }, { "teal": 1065, "source": "contracts/Factory.algo.ts:194", "pc": [ 1614 ] }, { "teal": 1066, "source": "contracts/Factory.algo.ts:194", "pc": [ 1615 ] }, { "teal": 1074, "source": "contracts/Factory.algo.ts:194", "pc": [ 1616, 1617, 1618 ] }, { "teal": 1077, "source": "contracts/Factory.algo.ts:194", "pc": [ 1619 ] }, { "teal": 1081, "source": "contracts/Factory.algo.ts:195", "pc": [ 1620, 1621, 1622 ] }, { "teal": 1085, "source": "contracts/Factory.algo.ts:196", "pc": [ 1623, 1624 ] }, { "teal": 1086, "source": "contracts/Factory.algo.ts:196", "pc": [ 1625, 1626 ] }, { "teal": 1087, "source": "contracts/Factory.algo.ts:196", "pc": [ 1627 ] }, { "teal": 1088, "source": "contracts/Factory.algo.ts:196", "pc": [ 1628 ] }, { "teal": 1089, "source": "contracts/Factory.algo.ts:196", "pc": [ 1629 ] }, { "teal": 1090, "source": "contracts/Factory.algo.ts:196", "pc": [ 1630, 1631 ] }, { "teal": 1091, "source": "contracts/Factory.algo.ts:196", "pc": [ 1632 ] }, { "teal": 1092, "source": "contracts/Factory.algo.ts:196", "pc": [ 1633, 1634 ] }, { "teal": 1097, "source": "contracts/Factory.algo.ts:198", "pc": [ 1635, 1636 ] }, { "teal": 1098, "source": "contracts/Factory.algo.ts:198", "pc": [ 1637 ] }, { "teal": 1099, "source": "contracts/Factory.algo.ts:198", "pc": [ 1638 ] }, { "teal": 1100, "source": "contracts/Factory.algo.ts:198", "pc": [ 1639, 1640, 1641 ] }, { "teal": 1105, "source": "contracts/Factory.algo.ts:199", "pc": [ 1642 ] }, { "teal": 1106, "source": "contracts/Factory.algo.ts:199", "pc": [ 1643, 1644 ] }, { "teal": 1107, "source": "contracts/Factory.algo.ts:199", "pc": [ 1645 ] }, { "teal": 1108, "source": "contracts/Factory.algo.ts:199", "pc": [ 1646 ] }, { "teal": 1109, "source": "contracts/Factory.algo.ts:199", "pc": [ 1647 ] }, { "teal": 1110, "source": "contracts/Factory.algo.ts:199", "pc": [ 1648 ] }, { "teal": 1111, "source": "contracts/Factory.algo.ts:199", "pc": [ 1649 ] }, { "teal": 1112, "source": "contracts/Factory.algo.ts:199", "pc": [ 1650, 1651 ] }, { "teal": 1113, "source": "contracts/Factory.algo.ts:199", "pc": [ 1652 ] }, { "teal": 1114, "source": "contracts/Factory.algo.ts:198", "pc": [ 1653, 1654, 1655 ] }, { "teal": 1119, "source": "contracts/Factory.algo.ts:200", "pc": [ 1656, 1657 ] }, { "teal": 1120, "source": "contracts/Factory.algo.ts:200", "pc": [ 1658 ] }, { "teal": 1121, "source": "contracts/Factory.algo.ts:200", "pc": [ 1659 ] }, { "teal": 1122, "source": "contracts/Factory.algo.ts:200", "pc": [ 1660, 1661, 1662 ] }, { "teal": 1127, "source": "contracts/Factory.algo.ts:201", "pc": [ 1663 ] }, { "teal": 1128, "source": "contracts/Factory.algo.ts:201", "pc": [ 1664, 1665 ] }, { "teal": 1129, "source": "contracts/Factory.algo.ts:201", "pc": [ 1666 ] }, { "teal": 1130, "source": "contracts/Factory.algo.ts:201", "pc": [ 1667 ] }, { "teal": 1131, "source": "contracts/Factory.algo.ts:201", "pc": [ 1668 ] }, { "teal": 1132, "source": "contracts/Factory.algo.ts:201", "pc": [ 1669 ] }, { "teal": 1133, "source": "contracts/Factory.algo.ts:201", "pc": [ 1670 ] }, { "teal": 1134, "source": "contracts/Factory.algo.ts:201", "pc": [ 1671, 1672 ] }, { "teal": 1135, "source": "contracts/Factory.algo.ts:201", "pc": [ 1673 ] }, { "teal": 1138, "source": "contracts/Factory.algo.ts:194", "pc": [ 1674 ] }, { "teal": 1146, "source": "contracts/Factory.algo.ts:209", "pc": [ 1675, 1676, 1677 ] }, { "teal": 1150, "source": "contracts/Factory.algo.ts:210", "pc": [ 1678, 1679 ] }, { "teal": 1151, "source": "contracts/Factory.algo.ts:210", "pc": [ 1680, 1681 ] }, { "teal": 1152, "source": "contracts/Factory.algo.ts:210", "pc": [ 1682 ] }, { "teal": 1153, "source": "contracts/Factory.algo.ts:210", "pc": [ 1683 ] }, { "teal": 1156, "source": "contracts/Factory.algo.ts:210", "errorMessage": "only the manager can call this method", "pc": [ 1684 ] }, { "teal": 1157, "source": "contracts/Factory.algo.ts:209", "pc": [ 1685 ] }, { "teal": 1161, "source": "contracts/Factory.algo.ts:213", "pc": [ 1686, 1687, 1688 ] }, { "teal": 1164, "source": "contracts/Factory.algo.ts:213", "pc": [ 1689 ] }, { "teal": 1168, "source": "contracts/Factory.algo.ts:214", "pc": [ 1690 ] }, { "teal": 1169, "source": "contracts/Factory.algo.ts:214", "pc": [ 1691, 1692 ] }, { "teal": 1174, "source": "contracts/Factory.algo.ts:214", "pc": [ 1693, 1694 ] }, { "teal": 1175, "source": "contracts/Factory.algo.ts:214", "pc": [ 1695, 1696 ] }, { "teal": 1176, "source": "contracts/Factory.algo.ts:214", "pc": [ 1697 ] }, { "teal": 1177, "source": "contracts/Factory.algo.ts:214", "pc": [ 1698 ] }, { "teal": 1178, "source": "contracts/Factory.algo.ts:214", "pc": [ 1699 ] }, { "teal": 1179, "source": "contracts/Factory.algo.ts:214", "pc": [ 1700 ] }, { "teal": 1180, "source": "contracts/Factory.algo.ts:214", "pc": [ 1701, 1702, 1703 ] }, { "teal": 1185, "source": "contracts/Factory.algo.ts:215", "pc": [ 1704, 1705 ] }, { "teal": 1186, "source": "contracts/Factory.algo.ts:215", "pc": [ 1706, 1707 ] }, { "teal": 1187, "source": "contracts/Factory.algo.ts:215", "pc": [ 1708 ] }, { "teal": 1188, "source": "contracts/Factory.algo.ts:215", "pc": [ 1709, 1710 ] }, { "teal": 1189, "source": "contracts/Factory.algo.ts:215", "pc": [ 1711 ] }, { "teal": 1190, "source": "contracts/Factory.algo.ts:215", "pc": [ 1712 ] }, { "teal": 1191, "source": "contracts/Factory.algo.ts:215", "pc": [ 1713 ] }, { "teal": 1192, "source": "contracts/Factory.algo.ts:215", "pc": [ 1714, 1715 ] }, { "teal": 1193, "source": "contracts/Factory.algo.ts:215", "pc": [ 1716 ] }, { "teal": 1194, "source": "contracts/Factory.algo.ts:215", "pc": [ 1717 ] }, { "teal": 1195, "source": "contracts/Factory.algo.ts:215", "pc": [ 1718 ] }, { "teal": 1196, "source": "contracts/Factory.algo.ts:215", "pc": [ 1719 ] }, { "teal": 1197, "source": "contracts/Factory.algo.ts:215", "pc": [ 1720, 1721 ] }, { "teal": 1198, "source": "contracts/Factory.algo.ts:215", "pc": [ 1722, 1723 ] }, { "teal": 1199, "source": "contracts/Factory.algo.ts:215", "pc": [ 1724 ] }, { "teal": 1200, "source": "contracts/Factory.algo.ts:215", "pc": [ 1725, 1726 ] }, { "teal": 1201, "source": "contracts/Factory.algo.ts:215", "pc": [ 1727 ] }, { "teal": 1202, "source": "contracts/Factory.algo.ts:215", "pc": [ 1728 ] }, { "teal": 1203, "source": "contracts/Factory.algo.ts:215", "pc": [ 1729 ] }, { "teal": 1204, "source": "contracts/Factory.algo.ts:215", "pc": [ 1730 ] }, { "teal": 1205, "source": "contracts/Factory.algo.ts:215", "pc": [ 1731 ] }, { "teal": 1206, "source": "contracts/Factory.algo.ts:215", "pc": [ 1732, 1733 ] }, { "teal": 1207, "source": "contracts/Factory.algo.ts:215", "pc": [ 1734 ] }, { "teal": 1208, "source": "contracts/Factory.algo.ts:215", "pc": [ 1735 ] }, { "teal": 1209, "source": "contracts/Factory.algo.ts:215", "pc": [ 1736 ] }, { "teal": 1210, "source": "contracts/Factory.algo.ts:215", "pc": [ 1737 ] }, { "teal": 1211, "source": "contracts/Factory.algo.ts:215", "pc": [ 1738 ] }, { "teal": 1212, "source": "contracts/Factory.algo.ts:215", "pc": [ 1739, 1740, 1741 ] }, { "teal": 1217, "source": "contracts/Factory.algo.ts:216", "pc": [ 1742 ] }, { "teal": 1218, "source": "contracts/Factory.algo.ts:216", "pc": [ 1743, 1744, 1745 ] }, { "teal": 1225, "source": "contracts/Factory.algo.ts:214", "pc": [ 1746, 1747 ] }, { "teal": 1226, "source": "contracts/Factory.algo.ts:214", "pc": [ 1748 ] }, { "teal": 1227, "source": "contracts/Factory.algo.ts:214", "pc": [ 1749 ] }, { "teal": 1228, "source": "contracts/Factory.algo.ts:214", "pc": [ 1750, 1751 ] }, { "teal": 1229, "source": "contracts/Factory.algo.ts:214", "pc": [ 1752, 1753, 1754 ] }, { "teal": 1234, "source": "contracts/Factory.algo.ts:219", "pc": [ 1755 ] }, { "teal": 1238, "source": "contracts/Factory.algo.ts:213", "pc": [ 1756, 1757 ] }, { "teal": 1239, "source": "contracts/Factory.algo.ts:213", "pc": [ 1758 ] }, { "teal": 1243, "source": "contracts/Factory.algo.ts:222", "pc": [ 1759, 1760, 1761 ] }, { "teal": 1246, "source": "contracts/Factory.algo.ts:222", "pc": [ 1762 ] }, { "teal": 1247, "source": "contracts/Factory.algo.ts:222", "pc": [ 1763 ] }, { "teal": 1251, "source": "contracts/Factory.algo.ts:223", "pc": [ 1764 ] }, { "teal": 1252, "source": "contracts/Factory.algo.ts:223", "pc": [ 1765, 1766 ] }, { "teal": 1256, "source": "contracts/Factory.algo.ts:225", "pc": [ 1767 ] }, { "teal": 1257, "source": "contracts/Factory.algo.ts:225", "pc": [ 1768, 1769 ] }, { "teal": 1262, "source": "contracts/Factory.algo.ts:225", "pc": [ 1770, 1771 ] }, { "teal": 1263, "source": "contracts/Factory.algo.ts:225", "pc": [ 1772, 1773 ] }, { "teal": 1264, "source": "contracts/Factory.algo.ts:225", "pc": [ 1774 ] }, { "teal": 1265, "source": "contracts/Factory.algo.ts:225", "pc": [ 1775 ] }, { "teal": 1266, "source": "contracts/Factory.algo.ts:225", "pc": [ 1776 ] }, { "teal": 1267, "source": "contracts/Factory.algo.ts:225", "pc": [ 1777 ] }, { "teal": 1268, "source": "contracts/Factory.algo.ts:225", "pc": [ 1778, 1779, 1780 ] }, { "teal": 1272, "source": "contracts/Factory.algo.ts:226", "pc": [ 1781, 1782 ] }, { "teal": 1273, "source": "contracts/Factory.algo.ts:226", "pc": [ 1783, 1784 ] }, { "teal": 1274, "source": "contracts/Factory.algo.ts:226", "pc": [ 1785, 1786 ] }, { "teal": 1275, "source": "contracts/Factory.algo.ts:226", "pc": [ 1787 ] }, { "teal": 1276, "source": "contracts/Factory.algo.ts:226", "pc": [ 1788, 1789 ] }, { "teal": 1277, "source": "contracts/Factory.algo.ts:226", "pc": [ 1790 ] }, { "teal": 1278, "source": "contracts/Factory.algo.ts:226", "pc": [ 1791 ] }, { "teal": 1279, "source": "contracts/Factory.algo.ts:226", "pc": [ 1792 ] }, { "teal": 1280, "source": "contracts/Factory.algo.ts:226", "pc": [ 1793, 1794 ] }, { "teal": 1281, "source": "contracts/Factory.algo.ts:226", "pc": [ 1795 ] }, { "teal": 1282, "source": "contracts/Factory.algo.ts:226", "pc": [ 1796 ] }, { "teal": 1283, "source": "contracts/Factory.algo.ts:226", "pc": [ 1797 ] }, { "teal": 1284, "source": "contracts/Factory.algo.ts:226", "pc": [ 1798 ] }, { "teal": 1285, "source": "contracts/Factory.algo.ts:226", "pc": [ 1799 ] }, { "teal": 1286, "source": "contracts/Factory.algo.ts:226", "pc": [ 1800 ] }, { "teal": 1287, "source": "contracts/Factory.algo.ts:226", "pc": [ 1801, 1802 ] }, { "teal": 1291, "source": "contracts/Factory.algo.ts:227", "pc": [ 1803, 1804 ] }, { "teal": 1292, "source": "contracts/Factory.algo.ts:227", "pc": [ 1805, 1806 ] }, { "teal": 1293, "source": "contracts/Factory.algo.ts:227", "pc": [ 1807, 1808 ] }, { "teal": 1294, "source": "contracts/Factory.algo.ts:227", "pc": [ 1809 ] }, { "teal": 1295, "source": "contracts/Factory.algo.ts:227", "pc": [ 1810, 1811 ] }, { "teal": 1296, "source": "contracts/Factory.algo.ts:227", "pc": [ 1812 ] }, { "teal": 1297, "source": "contracts/Factory.algo.ts:227", "pc": [ 1813 ] }, { "teal": 1298, "source": "contracts/Factory.algo.ts:227", "pc": [ 1814 ] }, { "teal": 1299, "source": "contracts/Factory.algo.ts:227", "pc": [ 1815, 1816 ] }, { "teal": 1300, "source": "contracts/Factory.algo.ts:227", "pc": [ 1817 ] }, { "teal": 1301, "source": "contracts/Factory.algo.ts:227", "pc": [ 1818 ] }, { "teal": 1302, "source": "contracts/Factory.algo.ts:227", "pc": [ 1819 ] }, { "teal": 1303, "source": "contracts/Factory.algo.ts:227", "pc": [ 1820 ] }, { "teal": 1304, "source": "contracts/Factory.algo.ts:227", "pc": [ 1821 ] }, { "teal": 1305, "source": "contracts/Factory.algo.ts:227", "pc": [ 1822 ] }, { "teal": 1306, "source": "contracts/Factory.algo.ts:227", "pc": [ 1823, 1824 ] }, { "teal": 1311, "source": "contracts/Factory.algo.ts:225", "pc": [ 1825, 1826 ] }, { "teal": 1312, "source": "contracts/Factory.algo.ts:225", "pc": [ 1827 ] }, { "teal": 1313, "source": "contracts/Factory.algo.ts:225", "pc": [ 1828 ] }, { "teal": 1314, "source": "contracts/Factory.algo.ts:225", "pc": [ 1829, 1830 ] }, { "teal": 1315, "source": "contracts/Factory.algo.ts:225", "pc": [ 1831, 1832, 1833 ] }, { "teal": 1320, "source": "contracts/Factory.algo.ts:230", "pc": [ 1834, 1835 ] }, { "teal": 1321, "source": "contracts/Factory.algo.ts:230", "pc": [ 1836 ] }, { "teal": 1324, "source": "contracts/Factory.algo.ts:222", "pc": [ 1837, 1838 ] }, { "teal": 1327, "source": "contracts/Factory.algo.ts:222", "pc": [ 1839, 1840 ] }, { "teal": 1328, "source": "contracts/Factory.algo.ts:222", "pc": [ 1841 ] }, { "teal": 1333, "source": "contracts/Factory.algo.ts:233", "pc": [ 1842, 1843 ] }, { "teal": 1336, "source": "contracts/Factory.algo.ts:234", "pc": [ 1844, 1845, 1846 ] }, { "teal": 1337, "source": "contracts/Factory.algo.ts:234", "pc": [ 1847, 1848, 1849 ] }, { "teal": 1340, "source": "contracts/Factory.algo.ts:234", "pc": [ 1850, 1851, 1852 ] }, { "teal": 1341, "source": "contracts/Factory.algo.ts:234", "pc": [ 1853, 1854, 1855 ] }, { "teal": 1344, "source": "contracts/Factory.algo.ts:233", "pc": [ 1856, 1857, 1858 ] }, { "teal": 1345, "source": "contracts/Factory.algo.ts:233", "pc": [ 1859 ] }, { "teal": 1346, "source": "contracts/Factory.algo.ts:233", "pc": [ 1860 ] }, { "teal": 1347, "source": "contracts/Factory.algo.ts:233", "pc": [ 1861 ] }, { "teal": 1348, "source": "contracts/Factory.algo.ts:233", "pc": [ 1862 ] }, { "teal": 1352, "source": "contracts/Factory.algo.ts:233", "pc": [ 1863, 1864, 1865 ] }, { "teal": 1355, "source": "contracts/Factory.algo.ts:233", "pc": [ 1866 ] }, { "teal": 1359, "source": "contracts/Factory.algo.ts:235", "pc": [ 1867, 1868 ] }, { "teal": 1360, "source": "contracts/Factory.algo.ts:235", "pc": [ 1869, 1870 ] }, { "teal": 1361, "source": "contracts/Factory.algo.ts:235", "pc": [ 1871, 1872, 1873 ] }, { "teal": 1362, "source": "contracts/Factory.algo.ts:235", "pc": [ 1874, 1875 ] }, { "teal": 1366, "source": "contracts/Factory.algo.ts:236", "pc": [ 1876, 1877 ] }, { "teal": 1367, "source": "contracts/Factory.algo.ts:236", "pc": [ 1878, 1879 ] }, { "teal": 1368, "source": "contracts/Factory.algo.ts:236", "pc": [ 1880 ] }, { "teal": 1369, "source": "contracts/Factory.algo.ts:236", "pc": [ 1881 ] }, { "teal": 1372, "source": "contracts/Factory.algo.ts:236", "errorMessage": "box value does not exist: this.pools(hash).value", "pc": [ 1882 ] }, { "teal": 1375, "source": "contracts/Factory.algo.ts:233", "pc": [ 1883, 1884 ] }, { "teal": 1376, "source": "contracts/Factory.algo.ts:233", "pc": [ 1885 ] }, { "teal": 1379, "source": "contracts/Factory.algo.ts:21", "pc": [ 1886, 1887 ] }, { "teal": 1380, "source": "contracts/Factory.algo.ts:21", "pc": [ 1888, 1889, 1890 ] }, { "teal": 1381, "source": "contracts/Factory.algo.ts:21", "pc": [ 1891 ] }, { "teal": 1382, "source": "contracts/Factory.algo.ts:21", "pc": [ 1892, 1893, 1894 ] }, { "teal": 1383, "source": "contracts/Factory.algo.ts:21", "pc": [ 1895, 1896, 1897, 1898 ] }, { "teal": 1386, "source": "contracts/Factory.algo.ts:21", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 1899 ] }, { "teal": 1389, "source": "contracts/Factory.algo.ts:21", "pc": [ 1900, 1901, 1902, 1903, 1904, 1905 ] }, { "teal": 1390, "source": "contracts/Factory.algo.ts:21", "pc": [ 1906, 1907, 1908, 1909, 1910, 1911 ] }, { "teal": 1391, "source": "contracts/Factory.algo.ts:21", "pc": [ 1912, 1913, 1914, 1915, 1916, 1917 ] }, { "teal": 1392, "source": "contracts/Factory.algo.ts:21", "pc": [ 1918, 1919, 1920, 1921, 1922, 1923 ] }, { "teal": 1393, "source": "contracts/Factory.algo.ts:21", "pc": [ 1924, 1925, 1926, 1927, 1928, 1929 ] }, { "teal": 1394, "source": "contracts/Factory.algo.ts:21", "pc": [ 1930, 1931, 1932, 1933, 1934, 1935 ] }, { "teal": 1395, "source": "contracts/Factory.algo.ts:21", "pc": [ 1936, 1937, 1938 ] }, { "teal": 1396, "source": "contracts/Factory.algo.ts:21", "pc": [ 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952 ] }, { "teal": 1399, "source": "contracts/Factory.algo.ts:21", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 1953 ] }, { "teal": 1402, "source": "contracts/Factory.algo.ts:21", "pc": [ 1954, 1955, 1956 ] }, { "teal": 1403, "source": "contracts/Factory.algo.ts:21", "pc": [ 1957, 1958 ] }, { "teal": 1404, "source": "contracts/Factory.algo.ts:21", "pc": [ 1959, 1960 ] }, { "teal": 1405, "source": "contracts/Factory.algo.ts:21", "pc": [ 1961 ] }, { "teal": 1406, "source": "contracts/Factory.algo.ts:21", "pc": [ 1962, 1963 ] }, { "teal": 1407, "source": "contracts/Factory.algo.ts:21", "pc": [ 1964, 1965 ] }, { "teal": 1408, "source": "contracts/Factory.algo.ts:21", "pc": [ 1966 ] }, { "teal": 1411, "source": "contracts/Factory.algo.ts:21", "pc": [ 1967, 1968, 1969 ] }, { "teal": 1412, "source": "contracts/Factory.algo.ts:21", "pc": [ 1970, 1971 ] }, { "teal": 1413, "source": "contracts/Factory.algo.ts:21", "pc": [ 1972, 1973 ] }, { "teal": 1414, "source": "contracts/Factory.algo.ts:21", "pc": [ 1974 ] }, { "teal": 1415, "source": "contracts/Factory.algo.ts:21", "pc": [ 1975, 1976 ] }, { "teal": 1416, "source": "contracts/Factory.algo.ts:21", "pc": [ 1977, 1978 ] }, { "teal": 1417, "source": "contracts/Factory.algo.ts:21", "pc": [ 1979 ] }, { "teal": 1418, "source": "contracts/Factory.algo.ts:21", "pc": [ 1980 ] }, { "teal": 1419, "source": "contracts/Factory.algo.ts:21", "pc": [ 1981, 1982 ] }, { "teal": 1420, "source": "contracts/Factory.algo.ts:21", "pc": [ 1983 ] }, { "teal": 1421, "source": "contracts/Factory.algo.ts:21", "pc": [ 1984 ] }, { "teal": 1422, "source": "contracts/Factory.algo.ts:21", "pc": [ 1985 ] }, { "teal": 1423, "source": "contracts/Factory.algo.ts:21", "pc": [ 1986, 1987, 1988 ] }, { "teal": 1424, "source": "contracts/Factory.algo.ts:21", "pc": [ 1989, 1990 ] }, { "teal": 1425, "source": "contracts/Factory.algo.ts:21", "pc": [ 1991, 1992 ] }, { "teal": 1426, "source": "contracts/Factory.algo.ts:21", "pc": [ 1993 ] }, { "teal": 1427, "source": "contracts/Factory.algo.ts:21", "pc": [ 1994 ] }, { "teal": 1428, "source": "contracts/Factory.algo.ts:21", "pc": [ 1995, 1996 ] }, { "teal": 1429, "source": "contracts/Factory.algo.ts:21", "pc": [ 1997, 1998 ] }, { "teal": 1430, "source": "contracts/Factory.algo.ts:21", "pc": [ 1999, 2000 ] }, { "teal": 1431, "source": "contracts/Factory.algo.ts:21", "pc": [ 2001, 2002 ] }, { "teal": 1432, "source": "contracts/Factory.algo.ts:21", "pc": [ 2003 ] } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMCA2IDIgMyA0IDEwMDAwMCA0MDk2CmJ5dGVjYmxvY2sgMHggMHg3NjYxNzU2Yzc0NWY3MDZmNmY2YzVmNjE3MDcwNzI2Zjc2NjE2YzVmNzA3MjZmNjc3MjYxNmQ1ZjcwNjE2NzY1NWYgMHhiODQ0N2IzNiAweDcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZiAweDcwNmY2ZjZjNzM1ZiAweDBhIDB4NzY2MTc1NmM3NDVmNzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwMCAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDEgMHg3NjYxNzU2Yzc0NWY3MDZmNmY2YzVmNjE3MDcwNzI2Zjc2NjE2YzVmNzA3MjZmNjc3MjYxNmQ1ZjcwNjE2NzY1NWYwMDAwMDAwMDAwMDAwMDAyIDB4NzY2MTc1NmM3NDVmNzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwMyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDQgMHg3NjYxNzU2Yzc0NWY3MDZmNmY2YzVmNjE3MDcwNzI2Zjc2NjE2YzVmNzA3MjZmNjc3MjYxNmQ1ZjcwNjE2NzY1NWYwMDAwMDAwMDAwMDAwMDA1IDB4NzY2MTc1NmM3NDVmNzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwNiAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDcgMHg2ZDYxNmU2MTY3NjU3MiAweDE1MWY3Yzc1CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNi4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDMgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZAovLwovLyBjcmVhdGVBcHBsaWNhdGlvbiBtZXRob2QgY2FsbGVkIGF0IGNyZWF0aW9uCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czo0MwoJLy8gdGhpcy5tYW5hZ2VyLnZhbHVlID0gdGhpcy5hcHAuY3JlYXRvcgoJYnl0ZWMgMTQgLy8gICJtYW5hZ2VyIgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYXBwX3BhcmFtc19nZXQgQXBwQ3JlYXRvcgoJcG9wCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjcmVhdGVQb29sKHBheSx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZVBvb2w6CgkvLyB0eXBlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBwYXlNQlI6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAxIChwYXlNQlIpIGZvciBjcmVhdGVQb29sIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgY3JlYXRlUG9vbChwYXksdWludDY0KXZvaWQKCWNhbGxzdWIgY3JlYXRlUG9vbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlUG9vbChwYXlNQlI6IFBheVR4biwgdHlwZTogdWludDY0KTogdm9pZAovLwovLyBEZXBsb3kgdGhlIHBvb2wgY29udHJhY3QsIGNvbXBpbGVkIHRlYWwgb2YgdGhlIGNvbnRyYWN0Ci8vIG11c3QgYmUgbG9hZGVkIGluIGRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbQpjcmVhdGVQb29sOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6NTIKCS8vIHZlcmlmeVBheVR4bihwYXlNQlIsIHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiBNQlJfQ1JFQVRFX1BPT0wsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHBheU1CUjogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXlNQlIiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwYXlNQlI6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglpbnRjIDcgLy8gMTAwMDAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5TUJSIiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6Ik1CUl9DUkVBVEVfUE9PTCJ9Cglhc3NlcnQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czo1NwoJLy8gdHlwZSA9PT0gREVYX1BPT0xfVFlQRQoJZnJhbWVfZGlnIC0yIC8vIHR5cGU6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6NTgKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgODsgaSArPSAxKQoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6NTgKCS8vIGkgPCA4CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyA4Cgk8CglieiAqZm9yXzBfZW5kCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6NTkKCS8vICF0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbShpKS5leGlzdHMKCWJ5dGVjIDMgLy8gICJwb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8iCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czo2MAoJLy8gdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oaSkudmFsdWUgPSAnJwoJYnl0ZWMgMyAvLyAgInBvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXyIKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZWMgMCAvLyAgIiIKCWJveF9wdXQKCippZjFfZW5kOgoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czo1OAoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6NjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgICAgb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcCwKCS8vICAgICAgICAgYXBwcm92YWxQcm9ncmFtOiBbCgkvLyAgICAgICAgICAgdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMCkudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMSkudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMikudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMykudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNCkudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNSkudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNikudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNykudmFsdWUsCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICAgIGNsZWFyU3RhdGVQcm9ncmFtOiBEZXhQb29sLmNsZWFyUHJvZ3JhbSgpLAoJLy8gICAgICAgICBnbG9iYWxOdW1VaW50OiBEZXhQb29sLnNjaGVtYS5nbG9iYWwubnVtVWludCwKCS8vICAgICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEZXhQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgICBleHRyYVByb2dyYW1QYWdlczogMywKCS8vICAgICAgICAgYXBwbGljYXRpb25BcmdzOiBbbWV0aG9kKCdjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCcpXSwKCS8vICAgICAgICAgZmVlOiBwYXlNQlIuYW1vdW50LAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6NjUKCS8vIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AKCWludGMgMiAvLyAgTm9PcAoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjY2CgkvLyBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgICB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSgwKS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSgxKS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSgyKS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSgzKS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg0KS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg1KS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg2KS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg3KS52YWx1ZSwKCS8vICAgICAgICAgXQoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwMAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMCkudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwMQoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMSkudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwMgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMikudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwMwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMykudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwNAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNCkudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwNQoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNSkudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwNgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNikudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwNwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5kZXhQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNykudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6NzYKCS8vIGNsZWFyU3RhdGVQcm9ncmFtOiBEZXhQb29sLmNsZWFyUHJvZ3JhbSgpCglieXRlYyA1IC8vIDB4MGEKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjc3CgkvLyBnbG9iYWxOdW1VaW50OiBEZXhQb29sLnNjaGVtYS5nbG9iYWwubnVtVWludAoJcHVzaGludCAxMQoJaXR4bl9maWVsZCBHbG9iYWxOdW1VaW50CgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czo3OAoJLy8gZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEZXhQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCglpbnRjIDYgLy8gNAoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjc5CgkvLyBleHRyYVByb2dyYW1QYWdlczogMwoJaW50YyA1IC8vIDMKCWl0eG5fZmllbGQgRXh0cmFQcm9ncmFtUGFnZXMKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjgwCgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFttZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkJyldCglieXRlYyAyIC8vICBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjgxCgkvLyBmZWU6IHBheU1CUi5hbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwYXlNQlI6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6ODQKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgODsgaSArPSAxKQoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCipmb3JfMToKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6ODQKCS8vIGkgPCA4CglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgMSAvLyA4Cgk8CglieiAqZm9yXzFfZW5kCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6ODUKCS8vICF0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKGkpLmV4aXN0cwoJYnl0ZWMgMSAvLyAgInZhdWx0X3Bvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXyIKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjg2CgkvLyB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKGkpLnZhbHVlID0gJycKCWJ5dGVjIDEgLy8gICJ2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8iCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZHVwCglib3hfZGVsCglwb3AKCWJ5dGVjIDAgLy8gICIiCglib3hfcHV0CgoqaWYyX2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6ODQKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjkwCgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICAgIHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMCkudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSgxKS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDIpLnZhbHVlLAoJLy8gICAgICAgICAgIHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMykudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg0KS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDUpLnZhbHVlLAoJLy8gICAgICAgICAgIHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNikudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg3KS52YWx1ZSwKCS8vICAgICAgICAgXSwKCS8vICAgICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IEFzc2V0VmF1bHQuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICAgIGdsb2JhbE51bVVpbnQ6IEFzc2V0VmF1bHQuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IEFzc2V0VmF1bHQuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICAgIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzLAoJLy8gICAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFttZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkJyldLAoJLy8gICAgICAgICBmZWU6IHBheU1CUi5hbW91bnQsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czo5MQoJLy8gb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcAoJaW50YyAyIC8vICBOb09wCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6OTIKCS8vIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICAgIHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMCkudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSgxKS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDIpLnZhbHVlLAoJLy8gICAgICAgICAgIHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMykudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg0KS52YWx1ZSwKCS8vICAgICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDUpLnZhbHVlLAoJLy8gICAgICAgICAgIHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNikudmFsdWUsCgkvLyAgICAgICAgICAgdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg3KS52YWx1ZSwKCS8vICAgICAgICAgXQoJYnl0ZWMgNiAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDAKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMCkudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgNyAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDEKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMSkudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgOCAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMikudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgOSAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDMKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMykudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgMTAgLy8gMHg3NjYxNzU2Yzc0NWY3MDZmNmY2YzVmNjE3MDcwNzI2Zjc2NjE2YzVmNzA3MjZmNjc3MjYxNmQ1ZjcwNjE2NzY1NWYwMDAwMDAwMDAwMDAwMDA0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDQpLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWJ5dGVjIDExIC8vIDB4NzY2MTc1NmM3NDVmNzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwNQoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg1KS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCglieXRlYyAxMiAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDYKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNikudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgMTMgLy8gMHg3NjYxNzU2Yzc0NWY3MDZmNmY2YzVmNjE3MDcwNzI2Zjc2NjE2YzVmNzA3MjZmNjc3MjYxNmQ1ZjcwNjE2NzY1NWYwMDAwMDAwMDAwMDAwMDA3Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDcpLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjEwMgoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IEFzc2V0VmF1bHQuY2xlYXJQcm9ncmFtKCkKCWJ5dGVjIDUgLy8gMHgwYQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTAzCgkvLyBnbG9iYWxOdW1VaW50OiBBc3NldFZhdWx0LnNjaGVtYS5nbG9iYWwubnVtVWludAoJaW50YyA2IC8vIDQKCWl0eG5fZmllbGQgR2xvYmFsTnVtVWludAoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTA0CgkvLyBnbG9iYWxOdW1CeXRlU2xpY2U6IEFzc2V0VmF1bHQuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCWludGMgNCAvLyAyCglpdHhuX2ZpZWxkIEdsb2JhbE51bUJ5dGVTbGljZQoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTA1CgkvLyBleHRyYVByb2dyYW1QYWdlczogMwoJaW50YyA1IC8vIDMKCWl0eG5fZmllbGQgRXh0cmFQcm9ncmFtUGFnZXMKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjEwNgoJLy8gYXBwbGljYXRpb25BcmdzOiBbbWV0aG9kKCdjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCcpXQoJYnl0ZWMgMiAvLyAgbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxMDcKCS8vIGZlZTogcGF5TUJSLmFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheU1CUjogUGF5VHhuCglndHhucyBBbW91bnQKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIGNyZWF0ZVZhdWx0KHBheSl2b2lkCiphYmlfcm91dGVfY3JlYXRlVmF1bHQ6CgkvLyBwYXlNQlI6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXlNQlIpIGZvciBjcmVhdGVWYXVsdCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGNyZWF0ZVZhdWx0KHBheSl2b2lkCgljYWxsc3ViIGNyZWF0ZVZhdWx0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjcmVhdGVWYXVsdChwYXlNQlI6IFBheVR4bik6IHZvaWQKY3JlYXRlVmF1bHQ6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTE0CgkvLyB2ZXJpZnlQYXlUeG4ocGF5TUJSLCB7CgkvLyAgICAgICByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFtb3VudDogTUJSX0NSRUFURV9WQVVMVCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcGF5TUJSOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBheU1CUiIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheU1CUjogUGF5VHhuCglndHhucyBBbW91bnQKCWludGMgNyAvLyAxMDAwMDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwYXlNQlIiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiTUJSX0NSRUFURV9WQVVMVCJ9Cglhc3NlcnQKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjExOAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCA4OyBpICs9IDEpCglpbnRjIDIgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxMTgKCS8vIGkgPCA4CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyA4Cgk8CglieiAqZm9yXzJfZW5kCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTE5CgkvLyAhdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbShpKS5leGlzdHMKCWJ5dGVjIDEgLy8gICJ2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8iCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxMjAKCS8vIHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oaSkudmFsdWUgPSAnJwoJYnl0ZWMgMSAvLyAgInZhdWx0X3Bvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXyIKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZWMgMCAvLyAgIiIKCWJveF9wdXQKCippZjNfZW5kOgoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxMTgKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjEyNAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcCwKCS8vICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDApLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDEpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDIpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDMpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDQpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDUpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDYpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDcpLnZhbHVlLAoJLy8gICAgICAgXSwKCS8vICAgICAgIGNsZWFyU3RhdGVQcm9ncmFtOiBBc3NldFZhdWx0LmNsZWFyUHJvZ3JhbSgpLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogQXNzZXRWYXVsdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IEFzc2V0VmF1bHQuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UsCgkvLyAgICAgICBleHRyYVByb2dyYW1QYWdlczogMywKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogW21ldGhvZCgnY3JlYXRlQXBwbGljYXRpb24oKXZvaWQnKV0sCgkvLyAgICAgICBmZWU6IHBheU1CUi5hbW91bnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTI1CgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDIgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxMjYKCS8vIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDApLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDEpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDIpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDMpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDQpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDUpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDYpLnZhbHVlLAoJLy8gICAgICAgICB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDcpLnZhbHVlLAoJLy8gICAgICAgXQoJYnl0ZWMgNiAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDAKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMCkudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgNyAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDEKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMSkudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgOCAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMikudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgOSAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDMKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oMykudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgMTAgLy8gMHg3NjYxNzU2Yzc0NWY3MDZmNmY2YzVmNjE3MDcwNzI2Zjc2NjE2YzVmNzA3MjZmNjc3MjYxNmQ1ZjcwNjE2NzY1NWYwMDAwMDAwMDAwMDAwMDA0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDQpLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWJ5dGVjIDExIC8vIDB4NzY2MTc1NmM3NDVmNzA2ZjZmNmM1ZjYxNzA3MDcyNmY3NjYxNmM1ZjcwNzI2ZjY3NzI2MTZkNWY3MDYxNjc2NTVmMDAwMDAwMDAwMDAwMDAwNQoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy52YXVsdFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbSg1KS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCglieXRlYyAxMiAvLyAweDc2NjE3NTZjNzQ1ZjcwNmY2ZjZjNWY2MTcwNzA3MjZmNzY2MTZjNWY3MDcyNmY2NzcyNjE2ZDVmNzA2MTY3NjU1ZjAwMDAwMDAwMDAwMDAwMDYKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMudmF1bHRQb29sQ29udHJhY3RBcHByb3ZhbFByb2dyYW0oNikudmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgMTMgLy8gMHg3NjYxNzU2Yzc0NWY3MDZmNmY2YzVmNjE3MDcwNzI2Zjc2NjE2YzVmNzA3MjZmNjc3MjYxNmQ1ZjcwNjE2NzY1NWYwMDAwMDAwMDAwMDAwMDA3Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKDcpLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjEzNgoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IEFzc2V0VmF1bHQuY2xlYXJQcm9ncmFtKCkKCWJ5dGVjIDUgLy8gMHgwYQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTM3CgkvLyBnbG9iYWxOdW1VaW50OiBBc3NldFZhdWx0LnNjaGVtYS5nbG9iYWwubnVtVWludAoJaW50YyA2IC8vIDQKCWl0eG5fZmllbGQgR2xvYmFsTnVtVWludAoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTM4CgkvLyBnbG9iYWxOdW1CeXRlU2xpY2U6IEFzc2V0VmF1bHQuc2NoZW1hLmdsb2JhbC5udW1CeXRlU2xpY2UKCWludGMgNCAvLyAyCglpdHhuX2ZpZWxkIEdsb2JhbE51bUJ5dGVTbGljZQoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTM5CgkvLyBleHRyYVByb2dyYW1QYWdlczogMwoJaW50YyA1IC8vIDMKCWl0eG5fZmllbGQgRXh0cmFQcm9ncmFtUGFnZXMKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE0MAoJLy8gYXBwbGljYXRpb25BcmdzOiBbbWV0aG9kKCdjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCcpXQoJYnl0ZWMgMiAvLyAgbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxNDEKCS8vIGZlZTogcGF5TUJSLmFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheU1CUjogUGF5VHhuCglndHhucyBBbW91bnQKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBpbml0UG9vbCh1aW50NjQsdWludDY0LHVpbnQ2NFtdLHVpbnQ2NFtdLHBheSl1aW50NjQKKmFiaV9yb3V0ZV9pbml0UG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMTUgLy8gMHgxNTFmN2M3NQoKCS8vIGNvdmVyTUJSOiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAoY292ZXJNQlIpIGZvciBpbml0UG9vbCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyB3ZWlnaHRzOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJZXh0cmFjdCAyIDAKCgkvLyBhc3NldElkczogdWludDY0W10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWV4dHJhY3QgMiAwCgoJLy8gdHlwZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gcG9vbElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGluaXRQb29sKHVpbnQ2NCx1aW50NjQsdWludDY0W10sdWludDY0W10scGF5KXVpbnQ2NAoJY2FsbHN1YiBpbml0UG9vbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGluaXRQb29sKHBvb2xJRDogQXBwSUQsIHR5cGU6IHVpbnQ2NCwgYXNzZXRJZHM6IEFzc2V0SURbXSwgd2VpZ2h0czogdWludDY0W10sIGNvdmVyTUJSOiBQYXlUeG4pOiBBc3NldElECi8vCi8vIEluaXRpYWxpemUgdGhlIHBvb2wgd2l0aCB0aGUgZ2l2ZW4gYXNzZXRzICYgd2VpZ2h0cwovLyBAcGFyYW0ge0FwcElEfSBwb29sSUQgLSBQb29sIEFwcCBJRAovLyBAcGFyYW0gdHlwZQovLyBAcGFyYW0ge0Fzc2V0SURbXX0gYXNzZXRJZHMKLy8gQHBhcmFtIHt1aW50NjRbXX0gd2VpZ2h0cwovLyBAcGFyYW0gY292ZXJNQlIKaW5pdFBvb2w6Cglwcm90byA1IDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxNTQKCS8vIHZlcmlmeVBheVR4bihjb3Zlck1CUiwgewoJLy8gICAgICAgcmVjZWl2ZXI6IHBvb2xJRC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiBNQlJfSU5JVF9QT09MLCAvLyBAdG9kbyBnbG9iYWxzLmFzc2V0T3B0SW5NaW5CYWxhbmNlICogYXNzZXRJZHMubGVuZ3RoICsgZ2xvYmFscy5hc3NldENyZWF0ZU1pbkJhbGFuY2UsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC01IC8vIGNvdmVyTUJSOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbElEOiBBcHBJRAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiY292ZXJNQlIiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJwb29sSUQuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTUgLy8gY292ZXJNQlI6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglwdXNoaW50IDEwMDAwMDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJjb3Zlck1CUiIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJNQlJfSU5JVF9QT09MIn0KCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTU4CgkvLyBhc3NlcnQoYXNzZXRJZHMubGVuZ3RoID49IDIsICdBdCBsZWFzdCAyIHRva2VucyBuZWVkZWQnKQoJZnJhbWVfZGlnIC0zIC8vIGFzc2V0SWRzOiBBc3NldElEW10KCWxlbgoJaW50YyAxIC8vIDgKCS8KCWludGMgNCAvLyAyCgk+PQoKCS8vIEF0IGxlYXN0IDIgdG9rZW5zIG5lZWRlZAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxNTkKCS8vIGFzc2VydChhc3NldElkcy5sZW5ndGggPD0gMTI4LCAnTWF4aW11bSBvZiAxMjggYXNzZXRzIHBlciBwb29sJykKCWZyYW1lX2RpZyAtMyAvLyBhc3NldElkczogQXNzZXRJRFtdCglsZW4KCWludGMgMSAvLyA4CgkvCglwdXNoaW50IDEyOAoJPD0KCgkvLyBNYXhpbXVtIG9mIDEyOCBhc3NldHMgcGVyIHBvb2wKCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTYwCgkvLyBhc3NlcnQoYXNzZXRJZHMubGVuZ3RoID09PSB3ZWlnaHRzLmxlbmd0aCwgJ1dlaWdodHMgYW5kIEFzc2V0cyBsZW5ndGggbXVzdCBiZSB0aGUgc2FtZScpCglmcmFtZV9kaWcgLTMgLy8gYXNzZXRJZHM6IEFzc2V0SURbXQoJbGVuCglpbnRjIDEgLy8gOAoJLwoJZnJhbWVfZGlnIC00IC8vIHdlaWdodHM6IHVpbnQ2NFtdCglsZW4KCWludGMgMSAvLyA4CgkvCgk9PQoKCS8vIFdlaWdodHMgYW5kIEFzc2V0cyBsZW5ndGggbXVzdCBiZSB0aGUgc2FtZQoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxNjEKCS8vIGFzc2VydCh0aGlzLmxpc3RJc09yZGVyZWQoYXNzZXRJZHMpLCAnQXNzZXRzIG11c3QgYmUgb3JkZXJlZCBieSBJRCcpCglmcmFtZV9kaWcgLTMgLy8gYXNzZXRJZHM6IEFzc2V0SURbXQoJY2FsbHN1YiBsaXN0SXNPcmRlcmVkCgoJLy8gQXNzZXRzIG11c3QgYmUgb3JkZXJlZCBieSBJRAoJYXNzZXJ0CgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTYzCgkvLyB0eXBlID09PSBERVhfUE9PTF9UWVBFCglmcmFtZV9kaWcgLTIgLy8gdHlwZTogdWludDY0CglpbnRjIDAgLy8gMQoJPT0KCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE2NAoJLy8gaGFzaCA9IHRoaXMuZ2V0UG9vbEhhc2goYXNzZXRJZHMsIHdlaWdodHMpCglmcmFtZV9kaWcgLTQgLy8gd2VpZ2h0czogdWludDY0W10KCWZyYW1lX2RpZyAtMyAvLyBhc3NldElkczogQXNzZXRJRFtdCgljYWxsc3ViIGdldFBvb2xIYXNoCglmcmFtZV9idXJ5IDAgLy8gaGFzaDogYnl0ZVszMl0KCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE2NQoJLy8gYXNzZXJ0KCF0aGlzLnBvb2xzKGhhc2gpLmV4aXN0cywgJ1RoaXMgcG9vbCBhbHJlYWR5IGV4aXN0cycpCglieXRlYyA0IC8vICAicG9vbHNfIgoJZnJhbWVfZGlnIDAgLy8gaGFzaDogYnl0ZVszMl0KCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gVGhpcyBwb29sIGFscmVhZHkgZXhpc3RzCglhc3NlcnQKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE2NgoJLy8gdGhpcy5wb29scyhoYXNoKS52YWx1ZSA9IHsgaWQ6IHBvb2xJRCwgdHlwZTogdHlwZSwgYXNzZXRzOiBhc3NldElkcywgd2VpZ2h0czogd2VpZ2h0cyB9CglieXRlYyA0IC8vICAicG9vbHNfIgoJZnJhbWVfZGlnIDAgLy8gaGFzaDogYnl0ZVszMl0KCWNvbmNhdAoJZHVwCglib3hfZGVsCglwb3AKCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDE0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMiAvLyB0eXBlOiB1aW50NjQKCWl0b2IKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sSUQ6IEFwcElECglpdG9iCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTMgLy8gYXNzZXRJZHM6IEFzc2V0SURbXQoJZHVwCglsZW4KCWludGMgMSAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC00IC8vIHdlaWdodHM6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWJveF9wdXQKCippZjRfZW5kOgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxNjkKCS8vIExQVG9rZW5JRDogQXNzZXRJRCA9IEFzc2V0SUQuemVyb0luZGV4CglpbnRjIDIgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIExQVG9rZW5JRDogQXNzZXRJRAoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE3MQoJLy8gdHlwZSA9PT0gREVYX1BPT0xfVFlQRQoJZnJhbWVfZGlnIC0yIC8vIHR5cGU6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCT09CglieiAqaWY1X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE3MgoJLy8gTFBUb2tlbklEID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIERleFBvb2wucHJvdG90eXBlLmJvb3RzdHJhcCwgQXNzZXRJRD4oewoJLy8gICAgICAgICBhcHBsaWNhdGlvbklEOiBwb29sSUQsCgkvLyAgICAgICAgIG1ldGhvZEFyZ3M6IFthc3NldElkcywgd2VpZ2h0cywgMjAsIDVdLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NWJlMzdkMjAgLy8gbWV0aG9kICJib290c3RyYXAodWludDY0W10sdWludDY0W10sdWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTczCgkvLyBhcHBsaWNhdGlvbklEOiBwb29sSUQKCWZyYW1lX2RpZyAtMSAvLyBwb29sSUQ6IEFwcElECglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE3NAoJLy8gbWV0aG9kQXJnczogW2Fzc2V0SWRzLCB3ZWlnaHRzLCAyMCwgNV0KCWZyYW1lX2RpZyAtMyAvLyBhc3NldElkczogQXNzZXRJRFtdCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTQgLy8gd2VpZ2h0czogdWludDY0W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMTQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA1CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMiAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAwIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIExQVG9rZW5JRDogQXNzZXRJRAoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTc2CgkvLyB0eXBlID09PSBWQVVMVF9QT09MX1RZUEUKCWZyYW1lX2RpZyAtMiAvLyB0eXBlOiB1aW50NjQKCWludGMgMiAvLyAwCgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxNzcKCS8vIExQVG9rZW5JRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBBc3NldFZhdWx0LnByb3RvdHlwZS5ib290c3RyYXAsIEFzc2V0SUQ+KHsKCS8vICAgICAgICAgYXBwbGljYXRpb25JRDogcG9vbElELAoJLy8gICAgICAgICBtZXRob2RBcmdzOiBbYXNzZXRJZHMsIHdlaWdodHNdLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4ZTYzNWZkYjUgLy8gbWV0aG9kICJib290c3RyYXAodWludDY0W10sdWludDY0W10pdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE3OAoJLy8gYXBwbGljYXRpb25JRDogcG9vbElECglmcmFtZV9kaWcgLTEgLy8gcG9vbElEOiBBcHBJRAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxNzkKCS8vIG1ldGhvZEFyZ3M6IFthc3NldElkcywgd2VpZ2h0c10KCWZyYW1lX2RpZyAtMyAvLyBhc3NldElkczogQXNzZXRJRFtdCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTQgLy8gd2VpZ2h0czogdWludDY0W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDIgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMCAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBMUFRva2VuSUQ6IEFzc2V0SUQKCippZjVfZW5kOgoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoxODMKCS8vIHJldHVybiBMUFRva2VuSUQ7CglmcmFtZV9kaWcgMSAvLyBMUFRva2VuSUQ6IEFzc2V0SUQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIG9wVXAoKXZvaWQKKmFiaV9yb3V0ZV9vcFVwOgoJLy8gZXhlY3V0ZSBvcFVwKCl2b2lkCgljYWxsc3ViIG9wVXAKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9wVXAoKTogdm9pZApvcFVwOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIE1BTkFHRVJfd3JpdGVQb29sQ29udHJhY3RQcm9ncmFtKHVpbnQ2NCxieXRlW10sdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9NQU5BR0VSX3dyaXRlUG9vbENvbnRyYWN0UHJvZ3JhbToKCS8vIHR5cGU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgTUFOQUdFUl93cml0ZVBvb2xDb250cmFjdFByb2dyYW0odWludDY0LGJ5dGVbXSx1aW50NjQpdm9pZAoJY2FsbHN1YiBNQU5BR0VSX3dyaXRlUG9vbENvbnRyYWN0UHJvZ3JhbQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gTUFOQUdFUl93cml0ZVBvb2xDb250cmFjdFByb2dyYW0ob2Zmc2V0OiB1aW50NjQsIGRhdGE6IGJ5dGVzLCB0eXBlOiB1aW50NjQpOiB2b2lkCi8vCi8vICoqKioqKioqKioqKioqKioqKioKLy8gTUFOQUdFUgovLyAqKioqKioqKioqKioqKioqKioqCk1BTkFHRVJfd3JpdGVQb29sQ29udHJhY3RQcm9ncmFtOgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE5NQoJLy8gdGhpcy5hc3NlcnRJc01hbmFnZXIoKQoJY2FsbHN1YiBhc3NlcnRJc01hbmFnZXIKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjE5NgoJLy8gcGFnZUluZGV4ID0gKG9mZnNldCArIDQwOTYgLSAxKSAvIDQwOTYKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQ6IHVpbnQ2NAoJaW50YyA4IC8vIDQwOTYKCSsKCWludGMgMCAvLyAxCgktCglpbnRjIDggLy8gNDA5NgoJLwoJZnJhbWVfYnVyeSAwIC8vIHBhZ2VJbmRleDogdWludDY0CgoJLy8gKmlmNl9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTk4CgkvLyB0eXBlID09PSBERVhfUE9PTF9UWVBFCglmcmFtZV9kaWcgLTMgLy8gdHlwZTogdWludDY0CglpbnRjIDAgLy8gMQoJPT0KCWJ6ICppZjZfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY2X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MTk5CgkvLyB0aGlzLmRleFBvb2xDb250cmFjdEFwcHJvdmFsUHJvZ3JhbShwYWdlSW5kZXgpLnZhbHVlID0gZGF0YQoJYnl0ZWMgMyAvLyAgInBvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXyIKCWZyYW1lX2RpZyAwIC8vIHBhZ2VJbmRleDogdWludDY0CglpdG9iCgljb25jYXQKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgLTIgLy8gZGF0YTogYnl0ZXMKCWJveF9wdXQKCWIgKmlmNl9lbmQKCippZjZfZWxzZWlmMV9jb25kaXRpb246CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIwMAoJLy8gdHlwZSA9PT0gVkFVTFRfUE9PTF9UWVBFCglmcmFtZV9kaWcgLTMgLy8gdHlwZTogdWludDY0CglpbnRjIDIgLy8gMAoJPT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9lbHNlaWYxX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MjAxCgkvLyB0aGlzLnZhdWx0UG9vbENvbnRyYWN0QXBwcm92YWxQcm9ncmFtKHBhZ2VJbmRleCkudmFsdWUgPSBkYXRhCglieXRlYyAxIC8vICAidmF1bHRfcG9vbF9hcHByb3ZhbF9wcm9ncmFtX3BhZ2VfIgoJZnJhbWVfZGlnIDAgLy8gcGFnZUluZGV4OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBkYXRhOiBieXRlcwoJYm94X3B1dAoKKmlmNl9lbmQ6CglyZXRzdWIKCi8vIGFzc2VydElzTWFuYWdlcigpOiB2b2lkCi8vCi8vICoqKioqKioqKioqKioqKioqKioKLy8gU1VCUk9VVElORVMKLy8gKioqKioqKioqKioqKioqKioqKgphc3NlcnRJc01hbmFnZXI6Cglwcm90byAwIDAKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIxMAoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy5tYW5hZ2VyLnZhbHVlLCAnb25seSB0aGUgbWFuYWdlciBjYW4gY2FsbCB0aGlzIG1ldGhvZCcpCgl0eG4gU2VuZGVyCglieXRlYyAxNCAvLyAgIm1hbmFnZXIiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyBvbmx5IHRoZSBtYW5hZ2VyIGNhbiBjYWxsIHRoaXMgbWV0aG9kCglhc3NlcnQKCXJldHN1YgoKLy8gbGlzdElzT3JkZXJlZChhc3NldElkczogQXNzZXRJRFtdKTogYm9vbGVhbgpsaXN0SXNPcmRlcmVkOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIxNAoJLy8gZm9yIChsZXQgaSA9IDE7IGkgPCBhc3NldElkcy5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzM6CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIxNAoJLy8gaSA8IGFzc2V0SWRzLmxlbmd0aAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXRJZHM6IEFzc2V0SURbXQoJbGVuCglpbnRjIDEgLy8gOAoJLwoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIxNQoJLy8gYXNzZXRJZHNbaV0gPCBhc3NldElkc1tpIC0gMV0KCWZyYW1lX2RpZyAtMSAvLyBhc3NldElkczogQXNzZXRJRFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vICBpbml0aWFsIG9mZnNldAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDEgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglpbnRjIDEgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBhc3NldElkczogQXNzZXRJRFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vICBpbml0aWFsIG9mZnNldAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJLQoJaW50YyAxIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50YyAxIC8vIDgKCWV4dHJhY3QzCglidG9pCgk8CglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL0ZhY3RvcnkuYWxnby50czoyMTYKCS8vIHJldHVybiBmYWxzZTsKCWludGMgMiAvLyAwCgliICpsaXN0SXNPcmRlcmVkKnJldHVybgoKKmlmN19lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIxNAoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMwoKKmZvcl8zX2VuZDoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MjE5CgkvLyByZXR1cm4gdHJ1ZTsKCWludGMgMCAvLyAxCgoqbGlzdElzT3JkZXJlZCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0UG9vbEhhc2goYXNzZXRJZHM6IEFzc2V0SURbXSwgd2VpZ2h0czogdWludDY0W10pOiBieXRlczMyCmdldFBvb2xIYXNoOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MjIzCgkvLyBwYXJ0czogYnl0ZXMgPSAnJwoJYnl0ZWMgMCAvLyAgIiIKCWZyYW1lX2J1cnkgMCAvLyBwYXJ0czogYnl0ZXMKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIyNQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBhc3NldElkcy5sZW5ndGg7IGkgKz0gMSkKCWludGMgMiAvLyAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzQ6CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIyNQoJLy8gaSA8IGFzc2V0SWRzLmxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXRJZHM6IEFzc2V0SURbXQoJbGVuCglpbnRjIDEgLy8gOAoJLwoJPAoJYnogKmZvcl80X2VuZAoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MjI2CgkvLyBwYXJ0cyArPSBpdG9iKGFzc2V0SWRzW2ldKQoJZnJhbWVfZGlnIDAgLy8gcGFydHM6IGJ5dGVzCglmcmFtZV9kaWcgLTEgLy8gYXNzZXRJZHM6IEFzc2V0SURbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAgaW5pdGlhbCBvZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50YyAxIC8vIDgKCWV4dHJhY3QzCglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBwYXJ0czogYnl0ZXMKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIyNwoJLy8gcGFydHMgKz0gaXRvYih3ZWlnaHRzW2ldKQoJZnJhbWVfZGlnIDAgLy8gcGFydHM6IGJ5dGVzCglmcmFtZV9kaWcgLTIgLy8gd2VpZ2h0czogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgMSAvLyA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWludGMgMSAvLyA4CglleHRyYWN0MwoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcGFydHM6IGJ5dGVzCgoqZm9yXzRfY29udGludWU6CgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIyNQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGNvbnRyYWN0cy9GYWN0b3J5LmFsZ28udHM6MjMwCgkvLyByZXR1cm4gc2hhNTEyXzI1NihwYXJ0cyk7CglmcmFtZV9kaWcgMCAvLyBwYXJ0czogYnl0ZXMKCXNoYTUxMl8yNTYKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGdldFBvb2wodWludDY0W10sdWludDY0W10pKHVpbnQ2NCx1aW50NjQsdWludDY0W10sdWludDY0W10pCiphYmlfcm91dGVfZ2V0UG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMTUgLy8gMHgxNTFmN2M3NQoKCS8vIHdlaWdodHM6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIGFzc2V0SWRzOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGdldFBvb2wodWludDY0W10sdWludDY0W10pKHVpbnQ2NCx1aW50NjQsdWludDY0W10sdWludDY0W10pCgljYWxsc3ViIGdldFBvb2wKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnZXRQb29sKGFzc2V0SWRzOiBBc3NldElEW10sIHdlaWdodHM6IHVpbnQ2NFtdKTogUG9vbApnZXRQb29sOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIzNQoJLy8gaGFzaCA9IHRoaXMuZ2V0UG9vbEhhc2goYXNzZXRJZHMsIHdlaWdodHMpCglmcmFtZV9kaWcgLTIgLy8gd2VpZ2h0czogdWludDY0W10KCWZyYW1lX2RpZyAtMSAvLyBhc3NldElkczogQXNzZXRJRFtdCgljYWxsc3ViIGdldFBvb2xIYXNoCglmcmFtZV9idXJ5IDAgLy8gaGFzaDogYnl0ZVszMl0KCgkvLyBjb250cmFjdHMvRmFjdG9yeS5hbGdvLnRzOjIzNgoJLy8gcmV0dXJuIHRoaXMucG9vbHMoaGFzaCkudmFsdWU7CglieXRlYyA0IC8vICAicG9vbHNfIgoJZnJhbWVfZGlnIDAgLy8gaGFzaDogYnl0ZVszMl0KCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wb29scyhoYXNoKS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXR4biBOdW1BcHBBcmdzCglieiAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCglieXRlYyAyIC8vICBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjkwY2NkMGMgLy8gbWV0aG9kICJjcmVhdGVQb29sKHBheSx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDkyMzI5YzQ1IC8vIG1ldGhvZCAiY3JlYXRlVmF1bHQocGF5KXZvaWQiCglwdXNoYnl0ZXMgMHg3NjNkMWFjMiAvLyBtZXRob2QgImluaXRQb29sKHVpbnQ2NCx1aW50NjQsdWludDY0W10sdWludDY0W10scGF5KXVpbnQ2NCIKCXB1c2hieXRlcyAweDg1NGRlZGUwIC8vIG1ldGhvZCAib3BVcCgpdm9pZCIKCXB1c2hieXRlcyAweGZhMDVlYjFmIC8vIG1ldGhvZCAiTUFOQUdFUl93cml0ZVBvb2xDb250cmFjdFByb2dyYW0odWludDY0LGJ5dGVbXSx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweGRlYWMxOTk0IC8vIG1ldGhvZCAiZ2V0UG9vbCh1aW50NjRbXSx1aW50NjRbXSkodWludDY0LHVpbnQ2NCx1aW50NjRbXSx1aW50NjRbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZVBvb2wgKmFiaV9yb3V0ZV9jcmVhdGVWYXVsdCAqYWJpX3JvdXRlX2luaXRQb29sICphYmlfcm91dGVfb3BVcCAqYWJpX3JvdXRlX01BTkFHRVJfd3JpdGVQb29sQ29udHJhY3RQcm9ncmFtICphYmlfcm91dGVfZ2V0UG9vbAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { "approval": "CiAJAQgABgIDBKCNBoAgJhAAIXZhdWx0X3Bvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXwS4RHs2G3Bvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXwZwb29sc18BCil2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAAACl2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAAASl2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAAAil2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAAAyl2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAABCl2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAABSl2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAABil2YXVsdF9wb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAABwdtYW5hZ2VyBBUffHUxGBQlCzEZCI0MBY8AAAAAAAAAAAAABYEAAAAAAAAAAAAAAIgAAiJDigAAJw42MgByB0hniTYaARcxFiIJSTgQIhJEiAACIkOKAgAoSYv/OAcyChJEi/84CCEHEkSL/iISQQGVJIwAiwAjDEEAHyuLABZQvUxIFEEACiuLABZQSbxIKL+LACIIjABC/9qxJbIQJLIZgCNwb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAAAL5EskCAI3Bvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXwAAAAAAAAABvkSyQIAjcG9vbF9hcHByb3ZhbF9wcm9ncmFtX3BhZ2VfAAAAAAAAAAK+RLJAgCNwb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAAA75EskCAI3Bvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXwAAAAAAAAAEvkSyQIAjcG9vbF9hcHByb3ZhbF9wcm9ncmFtX3BhZ2VfAAAAAAAAAAW+RLJAgCNwb29sX2FwcHJvdmFsX3Byb2dyYW1fcGFnZV8AAAAAAAAABr5EskCAI3Bvb2xfYXBwcm92YWxfcHJvZ3JhbV9wYWdlXwAAAAAAAAAHvkSyQCcFsh+BC7I0IQayNSEFsjgqshqL/zgIsgGzQgB6JIwBiwEjDEEAHymLARZQvUxIFEEACimLARZQSbxIKL+LASIIjAFC/9qxJbIQJLIZJwa+RLJAJwe+RLJAJwi+RLJAJwm+RLJAJwq+RLJAJwu+RLJAJwy+RLJAJw2+RLJAJwWyHyEGsjQhBLI1IQWyOCqyGov/OAiyAbOJMRYiCUk4ECISRIgAAiJDigEAKIv/OAcyChJEi/84CCEHEkQkjACLACMMQQAfKYsAFlC9TEgUQQAKKYsAFlBJvEgov4sAIgiMAEL/2rElshAkshknBr5EskAnB75EskAnCL5EskAnCb5EskAnCr5EskAnC75EskAnDL5EskAnDb5EskAnBbIfIQayNCEEsjUhBbI4KrIai/84CLIBs4knDzEWIglJOBAiEkQ2GgRXAgA2GgNXAgA2GgIXNhoBF4gABRZQsCJDigUBKEmL+zgHi/9yCEgSRIv7OAiBwIQ9EkSL/RUjCiEED0SL/RUjCoGAAQ5Ei/0VIwqL/BUjChJEi/2IAWNEi/4iEkEATov8i/2IAZ2MACcEiwBQvUxIFEQnBIsAUEm8SCgogAIAFIv+FogCQIv/FogCOov9SRUjChZXBgJMUIgCOIv8SRUjChZXBgJMUIgCKUhQvySMAYv+IhJBAFexJbIQgARb430gshqL/7IYi/1JFSMKFlcGAkxQshqL/EkVIwoWVwYCTFCyGoAIAAAAAAAAABSyGoAIAAAAAAAAAAWyGiSyAbO0OyIJxTpXBAAXjAFCAEOL/iQSQQA8sSWyEIAE5jX9tbIai/+yGIv9SRUjChZXBgJMULIai/xJFSMKFlcGAkxQshoksgGztDsiCcU6VwQAF4wBiwGMAEYBiYgAAiJDigAAiTYaAxc2GgJXAgA2GgEXiAACIkOKAwAoiAA0i/8hCAgiCSEICowAi/0iEkEADiuLABZQSbxIi/6/QgASi/0kEkEACymLABZQSbxIi/6/iYoAADEAJw5kEkSJigEBKCKMAIsAi/8VIwoMQQAzi/81/ySLACMLCDT/TCNYF4v/Nf8kiwAiCSMLCDT/TCNYFwxBAAQkQgAKiwAiCIwAQv/CIowAiYoCAShJKIwAJIwBiwGL/xUjCgxBADWLAIv/Nf8kiwEjCwg0/0wjWBcWUIwAiwCL/jX/JIsBIwsINP9MI1gXFlCMAIsBIgiMAUL/wIsAA4wARgGJJw82GgJXAgA2GgFXAgCIAARQsCJDigIBKIv+i/+I/42MACcEiwBQvkSMAIkxG0H6eyo2GgCOAfpzAIAEKQzNDIAEkjKcRYAEdj0awoAEhU3t4IAE+gXrH4AE3qwZlDYaAI4G+k/8jv0s/pP+nP+RAIoEA4v8i/9Qi/2L/omKBAOL/Iv+UIz8i/9JFYv+FwgWVwYCjP6L/UxQjP2L/Iv9i/6J", "clear": "Cg==" }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 6, "patch": 0, "commitHash": "0915527b" } } }