-
Notifications
You must be signed in to change notification settings - Fork 163
/
Copy pathstdlib.ts
1252 lines (1252 loc) · 163 KB
/
stdlib.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
443
444
445
446
447
448
449
450
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
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
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
628
629
630
631
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
669
670
671
672
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
710
711
712
713
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
751
752
753
754
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
792
793
794
795
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
833
834
835
836
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
874
875
876
877
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
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
const files: Record<string, string> = {};
files["libs/config.tact"] =
"ZnVuIGdldENvbmZpZ0FkZHJlc3MoKTogQWRkcmVzcyB7CiAgICBsZXQgY2VsbDogQ2VsbCA9IGdldENvbmZpZ1BhcmFtKDApISE7CiAgICBsZXQgc2M6IFNsaWNlID0g" +
"Y2VsbC5iZWdpblBhcnNlKCk7CiAgICByZXR1cm4gbmV3QWRkcmVzcygtMSwgc2MubG9hZFVpbnQoMjU2KSk7Cn0KCmZ1biBnZXRFbGVjdG9yQWRkcmVzcygpOiBBZGRy" +
"ZXNzIHsKICAgIGxldCBjZWxsOiBDZWxsID0gZ2V0Q29uZmlnUGFyYW0oMSkhITsKICAgIGxldCBzYzogU2xpY2UgPSBjZWxsLmJlZ2luUGFyc2UoKTsKICAgIHJldHVy" +
"biBuZXdBZGRyZXNzKC0xLCBzYy5sb2FkVWludCgyNTYpKTsKfQ==";
files["libs/content.tact"] =
"ZnVuIGNyZWF0ZU9mZmNoYWluQ29udGVudChsaW5rOiBTdHJpbmcpOiBDZWxsIHsKICAgIGxldCBidWlsZGVyOiBTdHJpbmdCdWlsZGVyID0gYmVnaW5TdHJpbmdGcm9t" +
"QnVpbGRlcihiZWdpbkNlbGwoKS5zdG9yZVVpbnQoMHgwMSwgOCkpOwogICAgYnVpbGRlci5hcHBlbmQobGluayk7CiAgICByZXR1cm4gYnVpbGRlci50b0NlbGwoKTsK" +
"fQ==";
files["libs/deploy.tact"] =
"Cm1lc3NhZ2UgRGVwbG95IHsKICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7Cn0KCm1lc3NhZ2UgRGVwbG95T2sgewogICAgcXVlcnlJZDogSW50IGFzIHVpbnQ2NDsK" +
"fQoKdHJhaXQgRGVwbG95YWJsZSB3aXRoIEJhc2VUcmFpdCB7CiAgICByZWNlaXZlKGRlcGxveTogRGVwbG95KSB7CiAgICAgICAgc2VsZi5ub3RpZnkoRGVwbG95T2t7" +
"cXVlcnlJZDogZGVwbG95LnF1ZXJ5SWR9LnRvQ2VsbCgpKTsKICAgIH0KfQoKbWVzc2FnZSBGYWN0b3J5RGVwbG95IHsKICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7" +
"CiAgICBjYXNoYmFjazogQWRkcmVzczsKfQoKdHJhaXQgRmFjdG9yeURlcGxveWFibGUgd2l0aCBCYXNlVHJhaXQgIHsKICAgIHJlY2VpdmUoZGVwbG95OiBGYWN0b3J5" +
"RGVwbG95KSB7CiAgICAgICAgc2VsZi5mb3J3YXJkKGRlcGxveS5jYXNoYmFjaywgRGVwbG95T2t7cXVlcnlJZDogZGVwbG95LnF1ZXJ5SWR9LnRvQ2VsbCgpLCBmYWxz" +
"ZSwgbnVsbCk7CiAgICB9Cn0K";
files["libs/dns.fc"] =
"c2xpY2UgZG5zX3N0cmluZ190b19pbnRlcm5hbChzbGljZSBkb21haW4pIGlubGluZV9yZWYgewoKICAgIDs7IFNwZWNpYWwgY2FzZSBmb3Igcm9vdCBkb21haW4KICAg" +
"IGlmICgoZG9tYWluLnNsaWNlX2JpdHMoKSA9PSA4KSAmIChkb21haW4uc2xpY2VfcmVmcygpID09IDApKSB7CiAgICAgICAgaWYgKGRvbWFpbi5wcmVsb2FkX3VpbnQo" +
"OCkgPT0gNDYpIHsKICAgICAgICAgICAgcmV0dXJuIGJlZ2luX2NlbGwoKS5zdG9yZV91aW50KDAsIDgpLmVuZF9jZWxsKCkuYmVnaW5fcGFyc2UoKTsKICAgICAgICB9" +
"CiAgICB9CiAgICAKICAgIDs7IFNwbGl0IGRvbWFpbiBpbnRvIHNlZ21lbnRzCiAgICB0dXBsZSBzZWdtZW50cyA9IG51bGwoKTsKICAgIGJ1aWxkZXIgY3VycmVudCA9" +
"IGJlZ2luX2NlbGwoKTsKICAgIGludCBpc0N1cnJlbnRFbXB0eSA9IHRydWU7CiAgICBpbnQgaXNGaXJzdCA9IHRydWU7CiAgICBpbnQgaXNIeXBoZW4gPSBmYWxzZTsK" +
"ICAgIHNsaWNlIGNzID0gZG9tYWluOwogICAgaW50IGNvbnRpbnVlID0gdHJ1ZTsKICAgIGRvIHsKCiAgICAgICAgOzsgUHJlcGFyZSBmb3IgbG9hZGluZyBuZXh0IGNo" +
"YXJhY3RlcgogICAgICAgIGlmIChjcy5zbGljZV9iaXRzKCkgPT0gMCkgewogICAgICAgICAgICBpbnQgcmVmcyA9IGNzLnNsaWNlX3JlZnMoKTsKICAgICAgICAgICAg" +
"aWYgKHJlZnMgPT0gMSkgewogICAgICAgICAgICAgICAgY3MgPSBjc35sb2FkX3JlZigpLmJlZ2luX3BhcnNlKCk7CiAgICAgICAgICAgIH0gZWxzZWlmIChyZWZzID4g" +
"MSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG51bGwoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlID0gZmFsc2U7CiAgICAg" +
"ICAgICAgIH0KICAgICAgICAgICAgY29udGludWUgPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIDs7IENvbnRpbnVlIGxvYWRpbmcgbmV4dCBjaGFyYWN0ZXIKICAg" +
"ICAgICBpZiAoY29udGludWUpIHsKICAgICAgICAgICAgaW50IGNoYXIgPSBjc35sb2FkX3VpbnQoOCk7CiAgICAgICAgICAgIDs7IHdlIGNhbiBkbyBpdCBiZWNhdXNl" +
"IGFkZGl0aW9uYWwgVVRGLTggY2hhcmFjdGVyJ3Mgb2N0ZXRzID49IDEyOCAtLSBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzYyOS50eHQKICAgICAgICAgICAg" +
"aW50IGlzX2h5cGhlbiA9IChjaGFyID09IDQ1KTsKICAgICAgICAgICAgaW50IGlzX2RvdCAgPSAoY2hhciA9PSA0Nik7CiAgICAgICAgICAgIGludCB2YWxpZF9jaGFy" +
"ID0gaXNfaHlwaGVuIHwgaXNfZG90IHwgKChjaGFyID49IDQ4KSAmIChjaGFyIDw9IDU3KSkgfCAoKGNoYXIgPj0gOTcpICYgKGNoYXIgPD0gMTIyKSk7IDs7ICctJyBv" +
"ciAwLTkgb3IgYS16CiAgICAgICAgICAgIGlmICh+IHZhbGlkX2NoYXIgfCAoaXNGaXJzdCAmIGlzX2h5cGhlbikpIHsKICAgICAgICAgICAgICAgIHJldHVybiBudWxs" +
"KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaXNIeXBoZW4gPSBpc19oeXBoZW47CiAgICAgICAgICAgIGlmIChpc19kb3QpIHsKICAgICAgICAgICAgICAgIGlm" +
"IChpc0ZpcnN0IHwgaXNIeXBoZW4pIHsgOzsgRW1wdHkgb3IgZW5kcyB3aXRoIGh5cGhlbgogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsKCk7CiAgICAgICAg" +
"ICAgICAgICB9CiAgICAgICAgICAgICAgICBzZWdtZW50cyA9IGNvbnMoY3VycmVudCwgc2VnbWVudHMpOwogICAgICAgICAgICAgICAgY3VycmVudCA9IGJlZ2luX2Nl" +
"bGwoKTsKICAgICAgICAgICAgICAgIGlzSHlwaGVuID0gZmFsc2U7CiAgICAgICAgICAgICAgICBpc0ZpcnN0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGlzQ3VycmVu" +
"dEVtcHR5ID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlzRmlyc3QgPSBmYWxzZTsKICAgICAgICAgICAgICAgIGlzQ3VycmVudEVt" +
"cHR5ID0gZmFsc2U7CiAgICAgICAgICAgICAgICBjdXJyZW50fnN0b3JlX3VpbnQoY2hhciwgOCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgfSB1bnRpbCAo" +
"fiBjb250aW51ZSk7CiAgICBpZiAoaXNIeXBoZW4pIHsgOzsgZW5kcyB3aXRoIGh5cGhlbgogICAgICAgIHJldHVybiBudWxsKCk7CiAgICB9CiAgICBpZiAofiBpc0N1" +
"cnJlbnRFbXB0eSkgewogICAgICAgIHNlZ21lbnRzID0gY29ucyhjdXJyZW50LCBzZWdtZW50cyk7CiAgICB9CgogICAgOzsgQ29uY2F0ZW5hdGUgc2VnbWVudHMKICAg" +
"IGJ1aWxkZXIgcmVzID0gYmVnaW5fY2VsbCgpOwogICAgKGJ1aWxkZXIgYiwgdHVwbGUgdGFpbCkgPSB1bmNvbnMoc2VnbWVudHMpOwogICAgcmVzID0gcmVzLnN0b3Jl" +
"X2J1aWxkZXIoYik7CiAgICB3aGlsZSh+IG51bGw/KHRhaWwpKSB7CiAgICAgICAgKGIsIHRhaWwpID0gdW5jb25zKHRhaWwpOwogICAgICAgIHJlcyA9IHJlcy5zdG9y" +
"ZV91aW50KDAsIDgpOyA7OyBBZGQgXDAgc2VwYXJhdG9yCiAgICAgICAgcmVzID0gcmVzLnN0b3JlX2J1aWxkZXIoYik7CiAgICB9CiAgICByZXMgPSByZXMuc3RvcmVf" +
"dWludCgwLCA4KTsgOzsgQWRkIFwwIHNlcGFyYXRvcgogICAgcmV0dXJuIHJlcy5lbmRfY2VsbCgpLmJlZ2luX3BhcnNlKCk7Cn0KCmludCBkbnNfaW50ZXJuYWxfdmVy" +
"aWZ5KHNsaWNlIHNjKSBpbmxpbmVfcmVmIHsKICAgIGlmIChzYy5zbGljZV9yZWZzKCkgIT0gMCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIGludCBi" +
"aXRzID0gc2Muc2xpY2VfYml0cygpOwogICAgaWYgKGJpdHMgJSA4ICE9IDApIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBpZiAoYml0cyA9PSAwKSB7" +
"IDs7IENhc2UgZm9yIHJvb3QgZG9tYWluCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBpbnQgbGVuID0gYml0cyAvIDg7CiAgICBpbnQgY291bnRlciA9IDA7" +
"CiAgICBpbnQgaXNGaXJzdCA9IHRydWU7CiAgICBpbnQgaXNIeXBoZW4gPSBmYWxzZTsKICAgIHJlcGVhdChsZW4pIHsKICAgICAgICBpbnQgY2hhciA9IHNjfmxvYWRf" +
"dWludCg4KTsKICAgICAgICBpZiAoY2hhciA9PSAwKSB7CiAgICAgICAgICAgIGlmIChjb3VudGVyID09IDApIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK" +
"ICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoaXNIeXBoZW4pIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAg" +
"ICBjb3VudGVyID0gMDsKICAgICAgICAgICAgaXNIeXBoZW4gPSBmYWxzZTsKICAgICAgICAgICAgaXNGaXJzdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAg" +
"ICAgICAgaW50IGNoYXJJc0h5cGhlbiA9IChjaGFyID09IDQ1KTsKICAgICAgICAgICAgaW50IGlzVmFsaWQgPSBjaGFySXNIeXBoZW4gfCAoKGNoYXIgPj0gNDgpICYg" +
"KGNoYXIgPD0gNTcpKSB8ICgoY2hhciA+PSA5NykgJiAoY2hhciA8PSAxMjIpKTsKICAgICAgICAgICAgaWYgKH4gaXNWYWxpZCkgewogICAgICAgICAgICAgICAgcmV0" +
"dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChjaGFySXNIeXBoZW4gJiBpc0ZpcnN0KSAgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl" +
"OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlzSHlwaGVuID0gY2hhcklzSHlwaGVuOwogICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2U7CiAgICAgICAgICAgIGNv" +
"dW50ZXIgPSBjb3VudGVyICsgMTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gY291bnRlciA9PSAwICYgfiBpc0h5cGhlbjsKfQoKc2xpY2UgZG5zX2ludGVybmFs" +
"X25vcm1hbGl6ZShzbGljZSBzcmMpIGltcHVyZSBpbmxpbmVfcmVmIHsKICAgIHRocm93X3VubGVzcygxMzQsIHNyYy5zbGljZV9yZWZzKCkgPT0gMCk7IDs7IEludmFs" +
"aWQgYXJndW1lbnQgZXJyb3IKICAgIGJ1aWxkZXIgdGFyZ2V0ID0gYmVnaW5fY2VsbCgpOwogICAgcmVwZWF0KHNyYy5zbGljZV9iaXRzKCkgLyA4KSB7CiAgICAgICAg" +
"aW50IGNoYXIgPSBzcmN+bG9hZF91aW50KDgpOwoKICAgICAgICA7OyBiID0+IDYKICAgICAgICBpZiAoY2hhciA9PSA5OCkgewogICAgICAgICAgICBjaGFyID0gNTQ7" +
"CiAgICAgICAgfQoKICAgICAgICA7OyBnLCBxID0+IDkKICAgICAgICBpZiAoKGNoYXIgPT0gMTAzKSB8IChjaGFyID09IDExMykpIHsKICAgICAgICAgICAgY2hhciA9" +
"IDU3OyAgICAKICAgICAgICB9CgogICAgICAgIDs7IGwgPT4gMQogICAgICAgIGlmIChjaGFyID09IDEwOCkgewogICAgICAgICAgICBjaGFyID0gNDk7CiAgICAgICAg" +
"fQoKICAgICAgICA7OyBvID0+IDAKICAgICAgICBpZiAoY2hhciA9PSAxMTEpIHsKICAgICAgICAgICAgY2hhciA9IDQ4OwogICAgICAgIH0KCiAgICAgICAgOzsgcyA9" +
"PiA1CiAgICAgICAgaWYgKGNoYXIgPT0gMTE1KSB7CiAgICAgICAgICAgIGNoYXIgPSA1MzsKICAgICAgICB9CgogICAgICAgIDs7IHUgPT4gdgogICAgICAgIGlmIChj" +
"aGFyID09IDExNykgewogICAgICAgICAgICBjaGFyID0gMTE4OwogICAgICAgIH0KCiAgICAgICAgOzsgeiA9PiAyCiAgICAgICAgaWYgKGNoYXIgPT0gMTIyKSB7CiAg" +
"ICAgICAgICAgIGNoYXIgPSA1MDsKICAgICAgICB9CgogICAgICAgIHRhcmdldCA9IHRhcmdldC5zdG9yZV91aW50KGNoYXIsIDgpOwogICAgfQogICAgcmV0dXJuIHRh" +
"cmdldC5lbmRfY2VsbCgpLmJlZ2luX3BhcnNlKCk7Cn0K";
files["libs/dns.tact"] =
"aW1wb3J0ICIuL2Rucy5mYyI7CgpzdHJ1Y3QgRE5TUmVzb2x2ZVJlc3VsdCB7CiAgICBwcmVmaXg6IEludDsgCiAgICByZWNvcmQ6IENlbGw/OyAKfQoKQG5hbWUoZG5z" +
"X3N0cmluZ190b19pbnRlcm5hbCkKbmF0aXZlIGRuc1N0cmluZ1RvSW50ZXJuYWwoc3RyOiBTdHJpbmcpOiBTbGljZT87CgpAbmFtZShkbnNfaW50ZXJuYWxfbm9ybWFs" +
"aXplKQpuYXRpdmUgZG5zSW50ZXJuYWxOb3JtYWxpemUoc3JjOiBTbGljZSk6IFNsaWNlOwoKQG5hbWUoZG5zX2ludGVybmFsX3ZlcmlmeSkKbmF0aXZlIGRuc0ludGVy" +
"bmFsVmVyaWZ5KHN1YmRvbWFpbjogU2xpY2UpOiBCb29sOwoKZnVuIGRuc0V4dHJhY3RUb3BEb21haW5MZW5ndGgoc3ViZG9tYWluOiBTbGljZSk6IEludCB7CiAgICBs" +
"ZXQgaTogSW50ID0gMDsKICAgIGxldCBuZWVkQnJlYWs6IEJvb2wgPSBmYWxzZTsKICAgIGRvIHsKICAgICAgICBsZXQgY2hhcjogSW50ID0gc3ViZG9tYWluLmxvYWRV" +
"aW50KDgpOyAvLyB3ZSBkbyBub3QgY2hlY2sgZG9tYWluLmxlbmd0aCBiZWNhdXNlIGl0IE1VU1QgY29udGFpbnMgXDAgY2hhcmFjdGVyCiAgICAgICAgbmVlZEJyZWFr" +
"ID0gY2hhciA9PSAwOwogICAgICAgIGlmICghbmVlZEJyZWFrKSB7CiAgICAgICAgICAgIGkgPSBpICsgODsKICAgICAgICB9CiAgICB9IHVudGlsIChuZWVkQnJlYWsp" +
"OwogICAgcmVxdWlyZShpICE9IDAsICJJbnZhbGlkIEROUyBuYW1lIik7CiAgICByZXR1cm4gaTsKfQoKZnVuIGRuc0V4dHJhY3RUb3BEb21haW4oc3ViZG9tYWluOiBT" +
"bGljZSk6IFNsaWNlIHsKICAgIGxldCBsZW46IEludCA9IGRuc0V4dHJhY3RUb3BEb21haW5MZW5ndGgoc3ViZG9tYWluKTsKICAgIHJldHVybiBzdWJkb21haW4ubG9h" +
"ZEJpdHMobGVuKTsKfQoKZnVuIGRuc1Jlc29sdmVOZXh0KGFkZHJlc3M6IEFkZHJlc3MpOiBDZWxsIHsKICAgIHJldHVybiBiZWdpbkNlbGwoKQogICAgICAgIC5zdG9y" +
"ZVVpbnQoMHhiYTkzLCAxNikKICAgICAgICAuc3RvcmVBZGRyZXNzKGFkZHJlc3MpCiAgICAgICAgLmVuZENlbGwoKTsKfQoKZnVuIGRuc1Jlc29sdmVXYWxsZXQoYWRk" +
"cmVzczogQWRkcmVzcyk6IENlbGwgewogICAgcmV0dXJuIGJlZ2luQ2VsbCgpCiAgICAgICAgLnN0b3JlVWludCgweDlmZDMsIDE2KQogICAgICAgIC5zdG9yZUFkZHJl" +
"c3MoYWRkcmVzcykKICAgICAgICAuc3RvcmVVaW50KDAsIDgpCiAgICAgICAgLmVuZENlbGwoKTsKfQoKdHJhaXQgRE5TUmVzb2x2ZXIgewoKICAgIGdldCBmdW4gZG5z" +
"cmVzb2x2ZShzdWJkb21haW46IFNsaWNlLCBjYXRlZ29yeTogSW50KTogRE5TUmVzb2x2ZVJlc3VsdCB7CgogICAgICAgIC8vIE5vcm1hbGl6ZQogICAgICAgIGxldCBk" +
"ZWx0YTogSW50ID0gMDsKICAgICAgICBpZiAoc3ViZG9tYWluLnByZWxvYWRVaW50KDgpID09IDApIHsKICAgICAgICAgICAgc3ViZG9tYWluLmxvYWRVaW50KDgpOyAv" +
"LyBTa2lwIGZpcnN0IGJ5dGUKICAgICAgICAgICAgZGVsdGEgPSBkZWx0YSArIDg7CiAgICAgICAgfQoKICAgICAgICAvLyBDaGVja3MgY29ycmVjdG5lc3MKICAgICAg" +
"ICByZXF1aXJlKGRuc0ludGVybmFsVmVyaWZ5KHN1YmRvbWFpbiksICJJbnZhbGlkIEROUyBuYW1lIik7CgogICAgICAgIC8vIFJlc29sdmUKICAgICAgICBsZXQgcmVz" +
"OiBETlNSZXNvbHZlUmVzdWx0ID0gc2VsZi5kb1Jlc29sdmVETlMoc3ViZG9tYWluLCBjYXRlZ29yeSk7CiAgICAgICAgcmV0dXJuIEROU1Jlc29sdmVSZXN1bHR7cHJl" +
"Zml4OiByZXMucHJlZml4ICsgZGVsdGEsIHJlY29yZDogcmVzLnJlY29yZH07CiAgICB9CgogICAgdmlydHVhbCBmdW4gZG9SZXNvbHZlRE5TKHN1YmRvbWFpbjogU2xp" +
"Y2UsIGNhdGVnb3J5OiBJbnQpOiBETlNSZXNvbHZlUmVzdWx0IHsKICAgICAgICByZXR1cm4gRE5TUmVzb2x2ZVJlc3VsdHtwcmVmaXg6IHN1YmRvbWFpbi5iaXRzKCks" +
"IHJlY29yZDogbnVsbH07CiAgICB9Cn0=";
files["libs/ownable.tact"] =
"bWVzc2FnZSBDaGFuZ2VPd25lciB7CiAgICBxdWVyeUlkOiBJbnQgYXMgdWludDY0OwogICAgbmV3T3duZXI6IEFkZHJlc3M7Cn0KCm1lc3NhZ2UgQ2hhbmdlT3duZXJP" +
"ayB7CiAgICBxdWVyeUlkOiBJbnQgYXMgdWludDY0OwogICAgbmV3T3duZXI6IEFkZHJlc3M7Cn0KCkBpbnRlcmZhY2UoIm9yZy50b24ub3duYWJsZSIpCnRyYWl0IE93" +
"bmFibGUgd2l0aCBCYXNlVHJhaXQgewogICAgb3duZXI6IEFkZHJlc3M7CgogICAgZnVuIHJlcXVpcmVPd25lcigpIHsKICAgICAgICBuYXRpdmVUaHJvd1VubGVzcygx" +
"MzIsIHNlbmRlcigpID09IHNlbGYub3duZXIpOwogICAgfQoKICAgIGdldCBmdW4gb3duZXIoKTogQWRkcmVzcyB7CiAgICAgICAgcmV0dXJuIHNlbGYub3duZXI7CiAg" +
"ICB9Cn0KCkBpbnRlcmZhY2UoIm9yZy50b24ub3duYWJsZS50cmFuc2ZlcmFibGUudjIiKQp0cmFpdCBPd25hYmxlVHJhbnNmZXJhYmxlIHdpdGggT3duYWJsZSB7Cgog" +
"ICAgb3duZXI6IEFkZHJlc3M7CgogICAgcmVjZWl2ZShtc2c6IENoYW5nZU93bmVyKSB7CiAgICAgICAgCiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHNlbmRlciBpcyB0" +
"aGUgb3duZXIKICAgICAgICBzZWxmLnJlcXVpcmVPd25lcigpOwoKICAgICAgICAvLyBVcGRhdGUgb3duZXIKICAgICAgICBzZWxmLm93bmVyID0gbXNnLm5ld093bmVy" +
"OwoKICAgICAgICAvLyBSZXBseSByZXN1bHQKICAgICAgICBzZWxmLnJlcGx5KENoYW5nZU93bmVyT2t7IHF1ZXJ5SWQ6IG1zZy5xdWVyeUlkLCBuZXdPd25lcjptc2cu" +
"bmV3T3duZXIgfS50b0NlbGwoKSk7CiAgICB9Cn0K";
files["libs/stoppable.tact"] =
"aW1wb3J0ICIuL293bmFibGUiOwoKQGludGVyZmFjZSgib3JnLnRvbi5zdG9wcGFibGUiKQp0cmFpdCBTdG9wcGFibGUgd2l0aCBPd25hYmxlIHsKICAgIAogICAgc3Rv" +
"cHBlZDogQm9vbDsKICAgIG93bmVyOiBBZGRyZXNzOwoKICAgIGZ1biByZXF1aXJlTm90U3RvcHBlZCgpIHsKICAgICAgICByZXF1aXJlKCFzZWxmLnN0b3BwZWQsICJD" +
"b250cmFjdCBzdG9wcGVkIik7CiAgICB9CgogICAgZnVuIHJlcXVpcmVTdG9wcGVkKCkgewogICAgICAgIHJlcXVpcmUoc2VsZi5zdG9wcGVkLCAiQ29udHJhY3Qgbm90" +
"IHN0b3BwZWQiKTsKICAgIH0KCiAgICByZWNlaXZlKCJTdG9wIikgewogICAgICAgIHNlbGYucmVxdWlyZU93bmVyKCk7CiAgICAgICAgc2VsZi5yZXF1aXJlTm90U3Rv" +
"cHBlZCgpOwogICAgICAgIHNlbGYuc3RvcHBlZCA9IHRydWU7CiAgICAgICAgc2VsZi5yZXBseSgiU3RvcHBlZCIuYXNDb21tZW50KCkpOwogICAgfQoKICAgIGdldCBm" +
"dW4gc3RvcHBlZCgpOiBCb29sIHsKICAgICAgICByZXR1cm4gc2VsZi5zdG9wcGVkOwogICAgfQp9CgpAaW50ZXJmYWNlKCJvcmcudG9uLnJlc3VtYWJsZSIpCnRyYWl0" +
"IFJlc3VtYWJsZSB3aXRoIFN0b3BwYWJsZSB7CiAgICBzdG9wcGVkOiBCb29sOwogICAgb3duZXI6IEFkZHJlc3M7CgogICAgcmVjZWl2ZSgiUmVzdW1lIikgewogICAg" +
"ICAgIHNlbGYucmVxdWlyZU93bmVyKCk7CiAgICAgICAgc2VsZi5yZXF1aXJlU3RvcHBlZCgpOwogICAgICAgIHNlbGYuc3RvcHBlZCA9IGZhbHNlOwogICAgICAgIHNl" +
"bGYucmVwbHkoIlJlc3VtZWQiLmFzQ29tbWVudCgpKTsKICAgIH0KfQ==";
files["std/internal/base.tact"] =
"Ly8vIERlc2NyaWJlcyB0aGUgYmFzZSBsb2dpYyB0aGF0IGlzIGF2YWlsYWJsZSBpbiBhbGwgY29udHJhY3RzIGFuZCB0cmFpdHMgYnkgZGVmYXVsdC4KLy8vCi8vLyBU" +
"aGlzIHRyYWl0IGlzIGltcGxpY2l0bHkgaW5oZXJpdGVkIGJ5IGV2ZXJ5IG90aGVyIGNvbnRyYWN0IGFuZCB0cmFpdC4KLy8vIEl0IGNvbnRhaW5zIGEgbnVtYmVyIG9m" +
"IHRoZSBtb3N0IHVzZWZ1bCBpbnRlcm5hbCBmdW5jdGlvbnMgZm9yIGFueSBraW5kIG9mIGNvbnRyYWN0LAovLy8gYW5kIGEgY29uc3RhbnQgYHNlbGYuc3RvcmFnZVJl" +
"c2VydmVgIGFpbWVkIGF0IGFkdmFuY2VkIHVzZXJzIG9mIFRhY3QuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1iYXNlLwp0" +
"cmFpdCBCYXNlVHJhaXQgewogICAgLy8vIFRoZSBhbW91bnQgb2YgbmFub1RvbmNvaW5zIHRvIHJlc2VydmUgYmVmb3JlIGZvcndhcmRpbmcgYSBtZXNzYWdlIHdpdGgg" +
"CiAgICAvLy8gYFNlbmRSZW1haW5pbmdCYWxhbmNlYCBtb2RlLiBEZWZhdWx0IGlzIDAgKG5vIHJlc2VydmUpLgogICAgLy8vCiAgICAvLy8gYGBgdGFjdAogICAgLy8v" +
"IGNvbnRyYWN0IEFsbFlvdXJTdG9yYWdlQmVsb25nc1RvVXMgewogICAgLy8vICAgICAvLyBUaGlzIHdvdWxkIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgYHNlbGYuZm9y" +
"d2FyZCgpYCBmdW5jdGlvbiwKICAgIC8vLyAgICAgLy8gY2F1c2luZyBpdCB0byB0cnkgcmVzZXJ2aW5nIHRoaXMgYW1vdW50IG9mIG5hbm9Ub25jb2lucyBiZWZvcmUK" +
"ICAgIC8vLyAgICAgLy8gZm9yd2FyZGluZyBhIG1lc3NhZ2Ugd2l0aCBgU2VuZFJlbWFpbmluZ0JhbGFuY2VgIG1vZGUKICAgIC8vLyAgICAgb3ZlcnJpZGUgY29uc3Qg" +
"c3RvcmFnZVJlc2VydmU6IEludCA9IHRvbigiMC4xIik7CiAgICAvLy8gfQogICAgLy8vIGBgYAogICAgLy8vCiAgICAvLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1s" +
"YW5nLm9yZy9yZWYvY29yZS1iYXNlLyNzZWxmLWZvcndhcmQKICAgIHZpcnR1YWwgY29uc3Qgc3RvcmFnZVJlc2VydmU6IEludCA9IDA7CiAgICAKICAgIC8vLyBTZW5k" +
"cyBhIGJvdW5jZWFibGUgbWVzc2FnZSBiYWNrIHRvIHRoZSBzZW5kZXIgb2YgdGhlIGN1cnJlbnQgbWVzc2FnZS4KICAgIC8vLyBBbiBhbGlhcyBmdW5jdGlvbiB0byBj" +
"YWxsaW5nIHRoZSBgc2VsZi5mb3J3YXJkKClgIGZ1bmN0aW9uIHdpdGgKICAgIC8vLyB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czoKICAgIC8vLwogICAgLy8vIGBgYHRh" +
"Y3QKICAgIC8vLyBzZWxmLmZvcndhcmQoc2VuZGVyKCksIGJvZHksIHRydWUsIG51bGwpOwogICAgLy8vICAgICAgICAgICAgICDihpEgICAgICAgICDihpEgICAgIOKG" +
"kSAgICAg4oaRCiAgICAvLy8gICAgICAgICAgICAgIHwgICAgICAgICB8ICAgICB8ICAgICBpbml0OiBTdGF0ZUluaXQ/CiAgICAvLy8gICAgICAgICAgICAgIHwgICAg" +
"ICAgICB8ICAgICBib3VuY2U6IEJvb2wKICAgIC8vLyAgICAgICAgICAgICAgfCAgICAgICAgIGJvZHk6IENlbGw/CiAgICAvLy8gICAgICAgICAgICAgIHRvOiBBZGRy" +
"ZXNzCiAgICAvLy8gYGBgCiAgICB2aXJ0dWFsIGlubGluZSBmdW4gcmVwbHkoYm9keTogQ2VsbD8pIHsKICAgICAgICBzZWxmLmZvcndhcmQoc2VuZGVyKCksIGJvZHks" +
"IHRydWUsIG51bGwpOwogICAgfQoKICAgIC8vLyBTZW5kcyBhIG5vbi1ib3VuY2VhYmxlIG1lc3NhZ2UgYmFjayB0byB0aGUgc2VuZGVyIG9mIHRoZSBjdXJyZW50IG1l" +
"c3NhZ2UuCiAgICAvLy8gQW4gYWxpYXMgZnVuY3Rpb24gdG8gY2FsbGluZyB0aGUgYHNlbGYuZm9yd2FyZCgpYCBmdW5jdGlvbiB3aXRoCiAgICAvLy8gdGhlIGZvbGxv" +
"d2luZyBhcmd1bWVudHM6CiAgICAvLy8KICAgIC8vLyBgYGB0YWN0CiAgICAvLy8gc2VsZi5mb3J3YXJkKHNlbmRlcigpLCBib2R5LCBmYWxzZSwgbnVsbCk7CiAgICAv" +
"Ly8gICAgICAgICAgICAgIOKGkSAgICAgICAgIOKGkSAgICAg4oaRICAgICDihpEKICAgIC8vLyAgICAgICAgICAgICAgfCAgICAgICAgIHwgICAgIHwgICAgIGluaXQ6" +
"IFN0YXRlSW5pdD8KICAgIC8vLyAgICAgICAgICAgICAgfCAgICAgICAgIHwgICAgIGJvdW5jZTogQm9vbAogICAgLy8vICAgICAgICAgICAgICB8ICAgICAgICAgYm9k" +
"eTogQ2VsbD8KICAgIC8vLyAgICAgICAgICAgICAgdG86IEFkZHJlc3MKICAgIC8vLyBgYGAKICAgIHZpcnR1YWwgaW5saW5lIGZ1biBub3RpZnkoYm9keTogQ2VsbD8p" +
"IHsKICAgICAgICBzZWxmLmZvcndhcmQoc2VuZGVyKCksIGJvZHksIGZhbHNlLCBudWxsKTsKICAgIH0KCiAgICAvLy8gUXVldWVzIHRoZSBtZXNzYWdlIChib3VuY2Vh" +
"YmxlIG9yIG5vbi1ib3VuY2VhYmxlKSB0byBiZSBzZW50IHRvIHRoZSBzcGVjaWZpZWQgYWRkcmVzcyBgdG9gLgogICAgLy8vIE9wdGlvbmFsbHksIHlvdSBtYXkgcHJv" +
"dmlkZSBhIGBib2R5YCBvZiB0aGUgbWVzc2FnZSBhbmQgdGhlIGBpbml0YCBwYWNrYWdlIHdpdGggYGluaXRPZmAuCiAgICAvLy8gCiAgICAvLy8gV2hlbiBgc2VsZi5z" +
"dG9yYWdlUmVzZXJ2ZWAgY29uc3RhbnQgaXMgb3ZlcndyaXR0ZW4gdG8gYmUgZ3JlYXRlciB0aGFuIHplcm8sIGJlZm9yZSBzZW5kaW5nIGEKICAgIC8vLyBtZXNzYWdl" +
"IGl0IGFsc28gdHJpZXMgdG8gcmVzZXJ2ZSB0aGUgYHNlbGYuc3RvcmFnZVJlc2VydmVgIGFtb3VudCBvZiBuYW5vVG9uY29pbnMgZnJvbSB0aGUKICAgIC8vLyByZW1h" +
"aW5pbmcgYmFsYW5jZSBiZWZvcmUgbWFraW5nIHRoZSBzZW5kIGluIHRoZSBgU2VuZFJlbWFpbmluZ0JhbGFuY2VgICgxMjgpIG1vZGUuCiAgICAvLy8KICAgIC8vLyBJ" +
"biBjYXNlIHJlc2VydmF0aW9uIGF0dGVtcHQgZmFpbHMgYW5kIGluIHRoZSBkZWZhdWx0IGNhc2Ugd2l0aG91dCB0aGUgYXR0ZW1wdCwgdGhlIG1lc3NhZ2UgCiAgICAv" +
"Ly8gaXMgc2VudCB3aXRoIHRoZSBgU2VuZFJlbWFpbmluZ1ZhbHVlYCAoNjQpIG1vZGUgaW5zdGVhZC4KICAgIC8vLwogICAgLy8vID4gTm90ZSB0aGF0IGBzZWxmLmZv" +
"cndhcmQoKWAgbmV2ZXIgc2VuZHMgYWRkaXRpb25hbCBuYW5vVG9uY29pbnMgb24gdG9wIG9mIHdoYXTigJlzIGF2YWlsYWJsZSBvbiB0aGUgYmFsYW5jZS4KICAgIC8v" +
"LyA+IFRvIGJlIGFibGUgdG8gc2VuZCBtb3JlIG5hbm9Ub25jb2lucyB3aXRoIGEgc2luZ2xlIG1lc3NhZ2UsIHVzZSB0aGUgdGhlIGBzZW5kYCBmdW5jdGlvbi4KICAg" +
"IC8vLwogICAgLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYmFzZS8jc2VsZi1mb3J3YXJkIGZvciBleGFtcGxlcy4KICAgIHZpcnR1" +
"YWwgZnVuIGZvcndhcmQodG86IEFkZHJlc3MsIGJvZHk6IENlbGw/LCBib3VuY2U6IEJvb2wsIGluaXQ6IFN0YXRlSW5pdD8pIHsKICAgICAgICBsZXQgY29kZTogQ2Vs" +
"bD8gPSBudWxsOwogICAgICAgIGxldCBkYXRhOiBDZWxsPyA9IG51bGw7CiAgICAgICAgaWYgKGluaXQgIT0gbnVsbCkgewogICAgICAgICAgICBsZXQgaW5pdDI6IFN0" +
"YXRlSW5pdCA9IGluaXQhITsKICAgICAgICAgICAgY29kZSA9IGluaXQyLmNvZGU7CiAgICAgICAgICAgIGRhdGEgPSBpbml0Mi5kYXRhOwogICAgICAgIH0KCiAgICAg" +
"ICAgLy8gTG9jayBzdG9yYWdlIGlmIG5lZWRlZAogICAgICAgIGlmIChzZWxmLnN0b3JhZ2VSZXNlcnZlID4gMCkgeyAvLyBPcHRpbWl6ZWQgaW4gY29tcGlsZS10aW1l" +
"CiAgICAgICAgICAgIGxldCBjdHg6IENvbnRleHQgPSBjb250ZXh0KCk7CiAgICAgICAgICAgIGxldCBiYWxhbmNlOiBJbnQgPSBteUJhbGFuY2UoKTsKICAgICAgICAg" +
"ICAgbGV0IGJhbGFuY2VCZWZvcmVNZXNzYWdlOiBJbnQgPSBiYWxhbmNlIC0gY3R4LnZhbHVlOwogICAgICAgICAgICBpZiAoYmFsYW5jZUJlZm9yZU1lc3NhZ2UgPCBz" +
"ZWxmLnN0b3JhZ2VSZXNlcnZlKSB7CiAgICAgICAgICAgICAgICBuYXRpdmVSZXNlcnZlKHNlbGYuc3RvcmFnZVJlc2VydmUsIFJlc2VydmVFeGFjdCk7CiAgICAgICAg" +
"ICAgICAgICBzZW5kKFNlbmRQYXJhbWV0ZXJzewogICAgICAgICAgICAgICAgICAgIGJvdW5jZSwKICAgICAgICAgICAgICAgICAgICB0bywKICAgICAgICAgICAgICAg" +
"ICAgICB2YWx1ZTogMCwKICAgICAgICAgICAgICAgICAgICBtb2RlOiBTZW5kUmVtYWluaW5nQmFsYW5jZSB8IFNlbmRJZ25vcmVFcnJvcnMsCiAgICAgICAgICAgICAg" +
"ICAgICAgYm9keSwKICAgICAgICAgICAgICAgICAgICBjb2RlLAogICAgICAgICAgICAgICAgICAgIGRhdGEsCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAg" +
"ICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gSnVzdCBzZW5kIHdpdGggcmVtYWluaW5nIGJhbGFuY2UKICAgICAgICBzZW5kKFNl" +
"bmRQYXJhbWV0ZXJzewogICAgICAgICAgICBib3VuY2UsCiAgICAgICAgICAgIHRvLAogICAgICAgICAgICB2YWx1ZTogMCwKICAgICAgICAgICAgbW9kZTogU2VuZFJl" +
"bWFpbmluZ1ZhbHVlIHwgU2VuZElnbm9yZUVycm9ycywKICAgICAgICAgICAgYm9keSwKICAgICAgICAgICAgY29kZSwKICAgICAgICAgICAgZGF0YSwKICAgICAgICB9" +
"KTsKICAgIH0KfQo=";
files["std/internal/cells.tact"] =
"Ly8KLy8gQnVpbGRlcgovLwoKYXNtIGZ1biBiZWdpbkNlbGwoKTogQnVpbGRlciB7IE5FV0MgfQoKLy8gc3BlY2lhbCB0cmVhdG1lbnQgaW4gRnVuYyBjb21waWxlciwg" +
"c28gbm90IHJlcGxhY2VkIHdpdGggYXNtICJTVElYIgpAbmFtZShzdG9yZV9pbnQpCmV4dGVuZHMgbmF0aXZlIHN0b3JlSW50KHNlbGY6IEJ1aWxkZXIsIHZhbHVlOiBJ" +
"bnQsIGJpdHM6IEludCk6IEJ1aWxkZXI7CgovLyBzcGVjaWFsIHRyZWF0bWVudCBpbiBGdW5jIGNvbXBpbGVyLCBzbyBub3QgcmVwbGFjZWQgd2l0aCBhc20gIlNUVVgi" +
"CkBuYW1lKHN0b3JlX3VpbnQpCmV4dGVuZHMgbmF0aXZlIHN0b3JlVWludChzZWxmOiBCdWlsZGVyLCB2YWx1ZTogSW50LCBiaXRzOiBJbnQpOiBCdWlsZGVyOwoKQG5h" +
"bWUoX190YWN0X3N0b3JlX2Jvb2wpCmV4dGVuZHMgbmF0aXZlIHN0b3JlQm9vbChzZWxmOiBCdWlsZGVyLCB2YWx1ZTogQm9vbCk6IEJ1aWxkZXI7CgovLy8gRXh0ZW5z" +
"aW9uIGZ1bmN0aW9uIGZvciB0aGUgYEJ1aWxkZXJgLiBBbGlhcyB0byBgQnVpbGRlci5zdG9yZUJvb2woKWAuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNS4wLgovLy8K" +
"Ly8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8vLyAgICAgbGV0IGZpeno6IEJ1aWxkZXIg" +
"PSBiLnN0b3JlQml0KHRydWUpOyAgLy8gd3JpdGVzIDEKLy8vICAgICBsZXQgYnV6ejogQnVpbGRlciA9IGIuc3RvcmVCaXQoZmFsc2UpOyAvLyB3cml0ZXMgMAovLy8g" +
"fQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNidWlsZGVyc3RvcmViaXQKLy8vCkBuYW1lKF9fdGFj" +
"dF9zdG9yZV9ib29sKQpleHRlbmRzIG5hdGl2ZSBzdG9yZUJpdChzZWxmOiBCdWlsZGVyLCB2YWx1ZTogQm9vbCk6IEJ1aWxkZXI7CgovLy8gRXh0ZW5zaW9uIGZ1bmN0" +
"aW9uIGZvciB0aGUgYEJ1aWxkZXJgLgovLy8KLy8vIFN0b3JlcyAoc2VyaWFsaXplcykgYW4gdW5zaWduZWQgYEludGAgYHZhbHVlYCBpbiB0aGUgcmFuZ2UgZnJvbSAw" +
"IHRvIDJeMTIwIOKIkiAxIGluY2x1c2l2ZSBpbnRvIHRoZSBjb3B5IG9mIHRoZSBgQnVpbGRlcmAuIFRoZSBzZXJpYWxpemF0aW9uIG9mIGB2YWx1ZWAgY29uc2lzdHMg" +
"b2YgYSA0LWJpdCB1bnNpZ25lZCBiaWctZW5kaWFuIGludGVnZXIgYGxgLCB3aGljaCBpcyB0aGUgc21hbGxlc3QgaW50ZWdlciBgbGAg4omlIDAsIHN1Y2ggdGhhdCBg" +
"dmFsdWVgIDwgMl4oOCAqIGBsYCksIGZvbGxvd2VkIGJ5IGFuIDggKiBgbGAtYml0IHVuc2lnbmVkIGJpZy1lbmRpYW4gcmVwcmVzZW50YXRpb24gb2YgYHZhbHVlYC4g" +
"UmV0dXJucyB0aGF0IGNvcHkgb2YgdGhlIGBCdWlsZGVyYC4KLy8vCi8vLyBBdHRlbXB0cyB0byBzdG9yZSBhbiBvdXQtb2YtYm91bmRzIGB2YWx1ZWAgdGhyb3cgYW4g" +
"ZXhjZXB0aW9uIHdpdGggZXhpdCBjb2RlIDU6IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gVGhpcyBpcyB0aGUgbW9zdCBjb21tb24gd2F5" +
"IG9mIHN0b3JpbmcgbmFub1RvbmNvaW5zLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxs" +
"KCk7Ci8vLyAgICAgbGV0IGZpeno6IEJ1aWxkZXIgPSBiLnN0b3JlQ29pbnMoNDIpOwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1s" +
"YW5nLm9yZy9yZWYvY29yZS1jZWxscyNidWlsZGVyc3RvcmVjb2lucwovLy8KYXNtIGV4dGVuZHMgZnVuIHN0b3JlQ29pbnMoc2VsZjogQnVpbGRlciwgdmFsdWU6IElu" +
"dCk6IEJ1aWxkZXIgeyBTVFZBUlVJTlQxNiB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYEJ1aWxkZXJgLiBBbGlhcyB0byBgQnVpbGRlci5zdG9yZUNv" +
"aW5zKClgLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9" +
"IGJlZ2luQ2VsbCgpOwovLy8gICAgIGxldCBmaXp6OiBCdWlsZGVyID0gYi5zdG9yZVZhclVpbnQxNig0Mik7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAq" +
"IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZXZhcnVpbnQxNgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9y" +
"Zy9yZWYvY29yZS1jZWxscyNidWlsZGVyc3RvcmVjb2lucwovLy8KYXNtIGV4dGVuZHMgZnVuIHN0b3JlVmFyVWludDE2KHNlbGY6IEJ1aWxkZXIsIHZhbHVlOiBJbnQp" +
"OiBCdWlsZGVyIHsgU1RWQVJVSU5UMTYgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBCdWlsZGVyYC4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAu" +
"Ci8vLwovLy8gU2ltaWxhciB0byBgQnVpbGRlci5zdG9yZUNvaW5zKClgLCBidXQgd2l0aCBhIGRpZmZlcmVudCBgdmFsdWVgIHJhbmdlOiBmcm9tIC0yXjExOSB0byAy" +
"XjExOSAtIDEgaW5jbHVzaXZlLgovLy8KLy8vIEF0dGVtcHRzIHRvIHN0b3JlIGFuIG91dC1vZi1ib3VuZHMgYHZhbHVlYCB0aHJvdyBhbiBleGNlcHRpb24gd2l0aCBl" +
"eGl0IGNvZGUgNTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjog" +
"QnVpbGRlciA9IGJlZ2luQ2VsbCgpOwovLy8gICAgIGxldCBmaXp6OiBCdWlsZGVyID0gYi5zdG9yZVZhckludDE2KC00Mik7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBT" +
"ZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZXZhcmludDE2Ci8vLwphc20gZXh0ZW5kcyBmdW4gc3RvcmVWYXJJ" +
"bnQxNihzZWxmOiBCdWlsZGVyLCB2YWx1ZTogSW50KTogQnVpbGRlciB7IFNUVkFSSU5UMTYgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBCdWlsZGVy" +
"YC4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gU3RvcmVzIChzZXJpYWxpemVzKSBhbiB1bnNpZ25lZCBgSW50YCBgdmFsdWVgIGluIHRoZSByYW5n" +
"ZSBmcm9tIDAgdG8gMl4yNDgg4oiSIDEgaW5jbHVzaXZlIGludG8gdGhlIGNvcHkgb2YgdGhlIGBCdWlsZGVyYC4gVGhlIHNlcmlhbGl6YXRpb24gb2YgYHZhbHVlYCBj" +
"b25zaXN0cyBvZiBhIDUtYml0IHVuc2lnbmVkIGJpZy1lbmRpYW4gaW50ZWdlciBgbGAsIHdoaWNoIGlzIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIGBsYCDiiaUgMCwgc3Vj" +
"aCB0aGF0IGB2YWx1ZWAgPCAyXjggKiBgbGAsIGZvbGxvd2VkIGJ5IGFuIDggKiBgbGAtYml0IHVuc2lnbmVkIGJpZy1lbmRpYW4gcmVwcmVzZW50YXRpb24gb2YgYHZh" +
"bHVlYC4gUmV0dXJucyB0aGF0IGNvcHkgb2YgdGhlIGBCdWlsZGVyYC4KLy8vCi8vLyBBdHRlbXB0cyB0byBzdG9yZSBhbiBvdXQtb2YtYm91bmRzIGB2YWx1ZWAgdGhy" +
"b3cgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBjb2RlIDU6IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1w" +
"bGUoKSB7Ci8vLyAgICAgbGV0IGI6IEJ1aWxkZXIgPSBiZWdpbkNlbGwoKTsKLy8vICAgICBsZXQgZml6ejogQnVpbGRlciA9IGIuc3RvcmVWYXJVaW50MzIoNDIwMDAw" +
"KTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjYnVpbGRlcnN0b3JldmFydWludDMyCi8v" +
"Lwphc20gZXh0ZW5kcyBmdW4gc3RvcmVWYXJVaW50MzIoc2VsZjogQnVpbGRlciwgdmFsdWU6IEludCk6IEJ1aWxkZXIgeyBTVFZBUlVJTlQzMiB9CgovLy8gRXh0ZW5z" +
"aW9uIGZ1bmN0aW9uIGZvciB0aGUgYEJ1aWxkZXJgLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBTaW1pbGFyIHRvIGBCdWlsZGVyLnN0b3JlVmFy" +
"VWludDMyKClgLCBidXQgd2l0aCBhIGRpZmZlcmVudCBgdmFsdWVgIHJhbmdlOiBmcm9tIC0yXjI0NyB0byAyXjI0NyAtIDEgaW5jbHVzaXZlLgovLy8KLy8vIEF0dGVt" +
"cHRzIHRvIHN0b3JlIGFuIG91dC1vZi1ib3VuZHMgYHZhbHVlYCB0aHJvdyBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUgNTogYEludGVnZXIgb3V0IG9mIGV4cGVj" +
"dGVkIHJhbmdlYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2luQ2VsbCgpOwovLy8gICAgIGxl" +
"dCBmaXp6OiBCdWlsZGVyID0gYi5zdG9yZVZhckludDMyKC00MjAwMDApOwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9y" +
"Zy9yZWYvY29yZS1jZWxscyNidWlsZGVyc3RvcmV2YXJpbnQzMgovLy8KYXNtIGV4dGVuZHMgZnVuIHN0b3JlVmFySW50MzIoc2VsZjogQnVpbGRlciwgdmFsdWU6IElu" +
"dCk6IEJ1aWxkZXIgeyBTVFZBUklOVDMyIH0KCmFzbShjZWxsIHNlbGYpIGV4dGVuZHMgZnVuIHN0b3JlUmVmKHNlbGY6IEJ1aWxkZXIsIGNlbGw6IENlbGwpOiBCdWls" +
"ZGVyIHsgU1RSRUYgfQoKYXNtIGV4dGVuZHMgZnVuIHN0b3JlU2xpY2Uoc2VsZjogQnVpbGRlciwgY2VsbDogU2xpY2UpOiBCdWlsZGVyIHsgU1RTTElDRVIgfQoKLy8v" +
"IEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBCdWlsZGVyYC4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS41LjAuCi8vLwovLy8gQXBwZW5kcyBhbGwgZGF0YSBmcm9t" +
"IGEgYEJ1aWxkZXJgIGBjZWxsYCB0byB0aGUgY29weSBvZiB0aGUgYEJ1aWxkZXJgLiBSZXR1cm5zIHRoYXQgY29weS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhh" +
"bXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2luQ2VsbCgpLnN0b3JlQ29pbnMoNDIpOwovLy8gICAgIGxldCBmaXp6OiBCdWlsZGVyID0gYmVnaW5D" +
"ZWxsKCkuc3RvcmVCdWlsZGVyKGIpOwovLy8gICAgIGIuZW5kQ2VsbCgpID09IGZpenouZW5kQ2VsbCgpOyAvLyB0cnVlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6" +
"IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZWJ1aWxkZXIKLy8vCmFzbSBleHRlbmRzIGZ1biBzdG9yZUJ1aWxkZXIo" +
"c2VsZjogQnVpbGRlciwgY2VsbDogQnVpbGRlcik6IEJ1aWxkZXIgeyBTVEJSIH0KCkBuYW1lKF9fdGFjdF9zdG9yZV9hZGRyZXNzKQpleHRlbmRzIG5hdGl2ZSBzdG9y" +
"ZUFkZHJlc3Moc2VsZjogQnVpbGRlciwgYWRkcmVzczogQWRkcmVzcyk6IEJ1aWxkZXI7CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYEJ1aWxkZXJgLiBB" +
"dmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBJZiB0aGUgYGNlbGxgIGlzIG5vdCBgbnVsbGAsIHN0b3JlcyAxIGFzIGEgc2luZ2xlIGJpdCBhbmQgdGhl" +
"biByZWZlcmVuY2UgYGNlbGxgIGludG8gdGhlIGNvcHkgb2YgdGhlIGBCdWlsZGVyYC4gUmV0dXJucyB0aGF0IGNvcHkuCi8vLwovLy8gSWYgdGhlIGBjZWxsYCBpcyBg" +
"bnVsbGAsIG9ubHkgc3RvcmVzIDAgYXMgYSBzaW5nbGUgYml0IGludG8gdGhlIGNvcHkgb2YgdGhlIGBCdWlsZGVyYC4gUmV0dXJucyB0aGF0IGNvcHkuCi8vLwovLy8g" +
"QXMgYSBzaW5nbGUgYENlbGxgIGNhbiBzdG9yZSB1cCB0byA0IHJlZmVyZW5jZXMsIGF0dGVtcHRzIHRvIHN0b3JlIG1vcmUgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGgg" +
"ZXhpdCBjb2RlIDg6IGBDZWxsIG92ZXJmbG93YC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2lu" +
"Q2VsbCgpOwovLy8gICAgIGxldCBmaXp6OiBCdWlsZGVyID0gYgovLy8gICAgICAgICAuc3RvcmVNYXliZVJlZihlbXB0eUNlbGwoKSkgLy8gMSwgdGhlbiBlbXB0eSBj" +
"ZWxsCi8vLyAgICAgICAgIC5zdG9yZU1heWJlUmVmKG51bGwpOyAgICAgICAvLyAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxh" +
"bmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZW1heWJlcmVmCi8vLwphc20oY2VsbCBzZWxmKSBleHRlbmRzIGZ1biBzdG9yZU1heWJlUmVmKHNlbGY6IEJ1" +
"aWxkZXIsIGNlbGw6IENlbGw/KTogQnVpbGRlciB7IFNUT1BUUkVGIH0KCmFzbSBleHRlbmRzIGZ1biBlbmRDZWxsKHNlbGY6IEJ1aWxkZXIpOiBDZWxsIHsgRU5EQyB9" +
"Cgphc20gZXh0ZW5kcyBmdW4gcmVmcyhzZWxmOiBCdWlsZGVyKTogSW50IHsgQlJFRlMgfQoKYXNtIGV4dGVuZHMgZnVuIGJpdHMoc2VsZjogQnVpbGRlcik6IEludCB7" +
"IEJCSVRTIH0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIENvbXB1dGVz" +
"IGFuZCByZXR1cm5zIHRoZSBgSW50YCBkZXB0aCBvZiB0aGUgYEJ1aWxkZXJgLiBQcm9kdWNlcyAwIGlmIHRoZSBgQnVpbGRlcmAgaGFzIG5vIHJlZmVyZW5jZXMgc3Rv" +
"cmVkIHNvIGZhciwgb3RoZXJ3aXNlIDEgcGx1cyB0aGUgbWF4aW11bSBvZiB0aGUgZGVwdGhzIG9mIHRoZSByZWZlcmVuY2VkIGNlbGxzLgovLy8KLy8vIGBgYHRhY3QK" +
"Ly8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCkuc3RvcmVJbnQoNDIsIDcpOwovLy8gICAgIGxldCBkZXB0aDogSW50" +
"ID0gYi5kZXB0aCgpOyAvLyAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJk" +
"ZXB0aAovLy8KYXNtIGV4dGVuZHMgZnVuIGRlcHRoKHNlbGY6IEJ1aWxkZXIpOiBJbnQgeyBCREVQVEggfQoKLy8KLy8gU2xpY2UKLy8KCmFzbSBleHRlbmRzIGZ1biBi" +
"ZWdpblBhcnNlKHNlbGY6IENlbGwpOiBTbGljZSB7IENUT1MgfQoKYXNtKC0+IDEgMCkgZXh0ZW5kcyBtdXRhdGVzIGZ1biBsb2FkUmVmKHNlbGY6IFNsaWNlKTogQ2Vs" +
"bCB7IExEUkVGIH0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBQcmVsb2Fk" +
"cyB0aGUgbmV4dCByZWZlcmVuY2UgZnJvbSB0aGUgYFNsaWNlYCBhcyBhIGBDZWxsYC4gRG9lc24ndCBtb2RpZnkgdGhlIG9yaWdpbmFsIGBTbGljZWAuCi8vLwovLy8g" +
"QXR0ZW1wdHMgdG8gcHJlbG9hZCBzdWNoIHJlZmVyZW5jZSBgQ2VsbGAgd2hlbiBgU2xpY2VgIGRvZXNuJ3QgY29udGFpbiBpdCB0aHJvdyBhbiBleGNlcHRpb24gd2l0" +
"aCBleGl0IGNvZGUgODogYENlbGwgb3ZlcmZsb3dgLgovLy8KLy8vIEF0dGVtcHRzIHRvIHByZWxvYWQgbW9yZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucyB0aHJv" +
"dyBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUgOTogYENlbGwgdW5kZXJmbG93YC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZXMoKSB7Ci8vLyAgICAg" +
"bGV0IHMxOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlUmVmKGVtcHR5Q2VsbCgpKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IENlbGwgPSBzMS5wcmVsb2Fk" +
"UmVmKCk7IC8vIGRpZG4ndCBtb2RpZnkgczEKLy8vCi8vLyAgICAgbGV0IHMyOiBTbGljZSA9IGJlZ2luQ2VsbCgpCi8vLyAgICAgICAgIC5zdG9yZVJlZihlbXB0eUNl" +
"bGwoKSkKLy8vICAgICAgICAgLnN0b3JlUmVmKHMxLmFzQ2VsbCgpKQovLy8gICAgICAgICAuYXNTbGljZSgpOwovLy8gICAgIGxldCByZWYxOiBDZWxsID0gczIucHJl" +
"bG9hZFJlZigpOwovLy8gICAgIGxldCByZWYyOiBDZWxsID0gczIucHJlbG9hZFJlZigpOwovLy8gICAgIHJlZjEgPT0gcmVmMjsgLy8gdHJ1ZQovLy8gfQovLy8gYGBg" +
"Ci8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZXByZWxvYWRyZWYKLy8vICogaHR0cHM6Ly9kb2Nz" +
"LnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzCi8vLwphc20gZXh0ZW5kcyBmdW4gcHJlbG9hZFJlZihzZWxmOiBTbGljZSk6IENlbGwgeyBQTERSRUYgfQoKLy8g" +
"c3BlY2lhbCB0cmVhdG1lbnQgaW4gRnVuYyBjb21waWxlciwgc28gbm90IHJlcGxhY2VkIHdpdGggYXNtICJMRFNMSUNFWCIKQG5hbWUobG9hZF9iaXRzKQpleHRlbmRz" +
"IG11dGF0ZXMgbmF0aXZlIGxvYWRCaXRzKHNlbGY6IFNsaWNlLCBsOiBJbnQpOiBTbGljZTsKCi8vIHNwZWNpYWwgdHJlYXRtZW50IGluIEZ1bmMgY29tcGlsZXIsIHNv" +
"IG5vdCByZXBsYWNlZCB3aXRoIGFzbSAiUExEU0xJQ0VYIgpAbmFtZShwcmVsb2FkX2JpdHMpCmV4dGVuZHMgbmF0aXZlIHByZWxvYWRCaXRzKHNlbGY6IFNsaWNlLCBs" +
"OiBJbnQpOiBTbGljZTsKCi8vIHNwZWNpYWwgdHJlYXRtZW50IGluIEZ1bmMgY29tcGlsZXIsIHNvIG5vdCByZXBsYWNlZCB3aXRoIGFzbSAiTERJWCIKQG5hbWUobG9h" +
"ZF9pbnQpCmV4dGVuZHMgbXV0YXRlcyBuYXRpdmUgbG9hZEludChzZWxmOiBTbGljZSwgbDogSW50KTogSW50OwoKLy8gc3BlY2lhbCB0cmVhdG1lbnQgaW4gRnVuYyBj" +
"b21waWxlciwgc28gbm90IHJlcGxhY2VkIHdpdGggYXNtICJQTERJWCIKQG5hbWUocHJlbG9hZF9pbnQpCmV4dGVuZHMgbmF0aXZlIHByZWxvYWRJbnQoc2VsZjogU2xp" +
"Y2UsIGw6IEludCk6IEludDsKCi8vIHNwZWNpYWwgdHJlYXRtZW50IGluIEZ1bmMgY29tcGlsZXIsIHNvIG5vdCByZXBsYWNlZCB3aXRoIGFzbSAiTERVWCIKQG5hbWUo" +
"bG9hZF91aW50KQpleHRlbmRzIG11dGF0ZXMgbmF0aXZlIGxvYWRVaW50KHNlbGY6IFNsaWNlLCBsOiBJbnQpOiBJbnQ7CgovLyBzcGVjaWFsIHRyZWF0bWVudCBpbiBG" +
"dW5jIGNvbXBpbGVyLCBzbyBub3QgcmVwbGFjZWQgd2l0aCBhc20gIlBMRFVYIgpAbmFtZShwcmVsb2FkX3VpbnQpCmV4dGVuZHMgbmF0aXZlIHByZWxvYWRVaW50KHNl" +
"bGY6IFNsaWNlLCBsOiBJbnQpOiBJbnQ7Cgphc20oLT4gMSAwKSBleHRlbmRzIG11dGF0ZXMgZnVuIGxvYWRCb29sKHNlbGY6IFNsaWNlKTogQm9vbCB7IDEgTERJIH0K" +
"Ci8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgLiBBbGlhcyB0byBgU2xpY2UubG9hZEJvb2woKWAuIEF2YWlsYWJsZSBzaW5jZSBU" +
"YWN0IDEuNS4wLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlQm9vbCh0cnVl" +
"KS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEJvb2wgPSBzLmxvYWRCaXQoKTsgLy8gdHJ1ZQovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2Rv" +
"Y3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZWxvYWRiaXQKLy8vCmFzbSgtPiAxIDApIGV4dGVuZHMgbXV0YXRlcyBmdW4gbG9hZEJpdChzZWxmOiBT" +
"bGljZSk6IEJvb2wgeyAxIExESSB9CgovLy8gRXh0ZW5zaW9uIG11dGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYC4KLy8vCi8vLyBMb2FkcyBhbmQgcmV0dXJu" +
"cyBhIHNlcmlhbGl6ZWQgdW5zaWduZWQgYEludGAgdmFsdWUgaW4gdGhlIHJhbmdlIGZyb20gMCB0byAyXjEyMCAtIDEgaW5jbHVzaXZlIGZyb20gdGhlIGBTbGljZWAu" +
"IFRoaXMgdmFsdWUgdXN1YWxseSByZXByZXNlbnRzIHRoZSBhbW91bnQgaW4gbmFub1RvbmNvaW5zLgovLy8KLy8vIEF0dGVtcHRzIHRvIGxvYWQgc3VjaCBgSW50YCB3" +
"aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0IHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA4OiBgQ2VsbCBvdmVyZmxvd2AuCi8vLwovLy8gQXR0" +
"ZW1wdHMgdG8gbG9hZCBtb3JlIGRhdGEgdGhhbiBgU2xpY2VgIGNvbnRhaW5zIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA5OiBgQ2VsbCB1bmRlcmZs" +
"b3dgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlQ29pbnMoNDIpLmFzU2xp" +
"Y2UoKTsKLy8vICAgICBsZXQgZml6ejogSW50ID0gcy5sb2FkQ29pbnMoKTsgLy8gNDIKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3Qt" +
"bGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vsb2FkY29pbnMKLy8vCmFzbSggLT4gMSAwKSBleHRlbmRzIG11dGF0ZXMgZnVuIGxvYWRDb2lucyhzZWxmOiBTbGlj" +
"ZSk6IEludCB7IExEVkFSVUlOVDE2IH0KCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgLiBBbGlhcyB0byBgU2xpY2UubG9hZENv" +
"aW5zKClgLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBi" +
"ZWdpbkNlbGwoKS5zdG9yZVZhclVpbnQxNig0MikuYXNTbGljZSgpOwovLy8gICAgIGxldCBmaXp6OiBJbnQgPSBzLmxvYWRWYXJVaW50MTYoKTsgLy8gNDIKLy8vIH0K" +
"Ly8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vsb2FkdmFydWludDE2Ci8vLyAqIGh0" +
"dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlbG9hZGNvaW5zCi8vLwphc20oIC0+IDEgMCkgZXh0ZW5kcyBtdXRhdGVzIGZ1biBsb2Fk" +
"VmFyVWludDE2KHNlbGY6IFNsaWNlKTogSW50IHsgTERWQVJVSU5UMTYgfQoKLy8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAuIEF2" +
"YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIFNpbWlsYXIgdG8gYFNsaWNlLmxvYWRDb2lucygpYCwgYnV0IHdpdGggYSBkaWZmZXJlbnQgYHZhbHVlYCBy" +
"YW5nZTogZnJvbSAtMl4xMTkgdG8gMl4xMTkgLSAxIGluY2x1c2l2ZS4KLy8vCi8vLyBBdHRlbXB0cyB0byBsb2FkIHN1Y2ggYEludGAgd2hlbiBgU2xpY2VgIGRvZXNu" +
"J3QgY29udGFpbiBpdCB0aHJvdyBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUgODogYENlbGwgb3ZlcmZsb3dgLgovLy8KLy8vIEF0dGVtcHRzIHRvIGxvYWQgbW9y" +
"ZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucyB0aHJvdyBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUgOTogYENlbGwgdW5kZXJmbG93YC4KLy8vCi8vLyBgYGB0" +
"YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKS5zdG9yZVZhckludDE2KC00MikuYXNTbGljZSgpOwovLy8gICAg" +
"IGxldCBmaXp6OiBJbnQgPSBzLmxvYWRWYXJJbnQxNigpOyAvLyAtNDIKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcv" +
"cmVmL2NvcmUtY2VsbHMjc2xpY2Vsb2FkdmFyaW50MTYKLy8vCmFzbSggLT4gMSAwKSBleHRlbmRzIG11dGF0ZXMgZnVuIGxvYWRWYXJJbnQxNihzZWxmOiBTbGljZSk6" +
"IEludCB7IExEVkFSSU5UMTYgfQoKLy8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4w" +
"LgovLy8KLy8vIExvYWRzIGFuZCByZXR1cm5zIGEgc2VyaWFsaXplZCB1bnNpZ25lZCBgSW50YCB2YWx1ZSBpbiB0aGUgcmFuZ2UgZnJvbSAwIHRvIDJeMjQ4IOKIkiAx" +
"IGluY2x1c2l2ZSBmcm9tIHRoZSBgU2xpY2VgLgovLy8KLy8vIEF0dGVtcHRzIHRvIGxvYWQgc3VjaCBgSW50YCB3aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0" +
"IHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA4OiBgQ2VsbCBvdmVyZmxvd2AuCi8vLwovLy8gQXR0ZW1wdHMgdG8gbG9hZCBtb3JlIGRhdGEgdGhhbiBg" +
"U2xpY2VgIGNvbnRhaW5zIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA5OiBgQ2VsbCB1bmRlcmZsb3dgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBl" +
"eGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlVmFyVWludDMyKDQyMDAwMCkuYXNTbGljZSgpOwovLy8gICAgIGxldCBmaXp6" +
"OiBJbnQgPSBzLmxvYWRWYXJVaW50MzIoKTsgLy8gNDIwMDAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9j" +
"b3JlLWNlbGxzI3NsaWNlbG9hZHZhcnVpbnQzMgovLy8KYXNtKCAtPiAxIDApIGV4dGVuZHMgbXV0YXRlcyBmdW4gbG9hZFZhclVpbnQzMihzZWxmOiBTbGljZSk6IElu" +
"dCB7IExEVkFSVUlOVDMyIH0KCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4K" +
"Ly8vCi8vLyBTaW1pbGFyIHRvIGBTbGljZS5sb2FkVmFyVWludDMyKClgLCBidXQgd2l0aCBhIGRpZmZlcmVudCBgdmFsdWVgIHJhbmdlOiBmcm9tIC0yXjI0NyB0byAy" +
"XjI0NyAtIDEgaW5jbHVzaXZlLgovLy8KLy8vIEF0dGVtcHRzIHRvIGxvYWQgc3VjaCBgSW50YCB3aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0IHRocm93IGFu" +
"IGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA4OiBgQ2VsbCBvdmVyZmxvd2AuCi8vLwovLy8gQXR0ZW1wdHMgdG8gbG9hZCBtb3JlIGRhdGEgdGhhbiBgU2xpY2VgIGNv" +
"bnRhaW5zIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA5OiBgQ2VsbCB1bmRlcmZsb3dgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkg" +
"ewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlVmFySW50MzIoLTQyMDAwMCkuYXNTbGljZSgpOwovLy8gICAgIGxldCBmaXp6OiBJbnQgPSBz" +
"LmxvYWRWYXJJbnQzMigpOyAvLyAtNDIwMDAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxz" +
"I3NsaWNlbG9hZHZhcmludDMyCi8vLwphc20oIC0+IDEgMCkgZXh0ZW5kcyBtdXRhdGVzIGZ1biBsb2FkVmFySW50MzIoc2VsZjogU2xpY2UpOiBJbnQgeyBMRFZBUklO" +
"VDMyIH0KCkBuYW1lKF9fdGFjdF9sb2FkX2FkZHJlc3MpCmV4dGVuZHMgbXV0YXRlcyBuYXRpdmUgbG9hZEFkZHJlc3Moc2VsZjogU2xpY2UpOiBBZGRyZXNzOwoKYXNt" +
"IGV4dGVuZHMgbXV0YXRlcyBmdW4gc2tpcEJpdHMoc2VsZjogU2xpY2UsIGw6IEludCkgeyBTRFNLSVBGSVJTVCB9Cgphc20gZXh0ZW5kcyBmdW4gZW5kUGFyc2Uoc2Vs" +
"ZjogU2xpY2UpIHsgRU5EUyB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYC4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8g" +
"UHJlbG9hZHMgYWxsIGJ1dCB0aGUgbGFzdCAwIOKJpCBgbGVuYCDiiaQgMTAyMyBiaXRzIGZyb20gdGhlIGBTbGljZWAuCi8vLwovLy8gQXR0ZW1wdHMgdG8gc3BlY2lm" +
"eSBhbiBvdXQtb2YtYm91bmRzIGBsZW5gIHZhbHVlIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA1OiBgSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFu" +
"Z2VgLgovLy8KLy8vIEF0dGVtcHRzIHRvIHByZWxvYWQgbW9yZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucyB0aHJvdyBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNv" +
"ZGUgOTogYENlbGwgdW5kZXJmbG93YC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKS5z" +
"dG9yZUludCg0MiwgNykuYXNTbGljZSgpOwovLy8gICAgIGxldCBhbGxCdXRMYXN0Rml2ZTogU2xpY2UgPSBzLnNraXBMYXN0Qml0cyg1KTsgLy8gYWxsIGJ1dCBsYXN0" +
"IDUgYml0cywKLy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGkuZS4gb25seSBmaXJzdCAyCi8vLyB9Ci8vLyBg" +
"YGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlc2tpcGxhc3RiaXRzCi8vLwphc20gZXh0ZW5kcyBmdW4g" +
"c2tpcExhc3RCaXRzKHNlbGY6IFNsaWNlLCBsZW46IEludCk6IFNsaWNlIHsgU0RTS0lQTEFTVCB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNl" +
"YC4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gUHJlbG9hZHMgdGhlIGZpcnN0IDAg4omkIGBsZW5gIOKJpCAxMDIzIGJpdHMgZnJvbSB0aGUgYFNs" +
"aWNlYC4KLy8vCi8vLyBBdHRlbXB0cyB0byBzcGVjaWZ5IGFuIG91dC1vZi1ib3VuZHMgYGxlbmAgdmFsdWUgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBjb2Rl" +
"IDU6IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gQXR0ZW1wdHMgdG8gcHJlbG9hZCBtb3JlIGRhdGEgdGhhbiBgU2xpY2VgIGNvbnRhaW5z" +
"IHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA5OiBgQ2VsbCB1bmRlcmZsb3dgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8g" +
"ICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3KS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpcnN0Rml2ZTogU2xpY2UgPSBzLmZpcnN0" +
"Qml0cyg1KTsgLy8gZmlyc3QgNSBiaXRzCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBJbiBvcmRlciB0byByZWR1Y2UgZ2FzIHVzYWdlLCBwcmVmZXIgY2FsbGluZyBgU2xp" +
"Y2UucHJlbG9hZEJpdHMoKWAgb3ZlciB1c2luZyB0aGlzIGZ1bmN0aW9uIHNpbmNlIHRoZSBmb3JtZXIgaXMgbW9yZSBvcHRpbWl6ZWQuCi8vLwovLy8gU2VlOgovLy8g" +
"KiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZWZpcnN0Yml0cwovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYv" +
"Y29yZS1jZWxscyNzbGljZXByZWxvYWRiaXRzCi8vLwphc20gZXh0ZW5kcyBmdW4gZmlyc3RCaXRzKHNlbGY6IFNsaWNlLCBsZW46IEludCk6IFNsaWNlIHsgU0RDVVRG" +
"SVJTVCB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYC4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gUHJlbG9hZHMgdGhl" +
"IGxhc3QgMCDiiaQgYGxlbmAg4omkIDEwMjMgYml0cyBmcm9tIHRoZSBgU2xpY2VgLgovLy8KLy8vIEF0dGVtcHRzIHRvIHNwZWNpZnkgYW4gb3V0LW9mLWJvdW5kcyBg" +
"bGVuYCB2YWx1ZSB0aHJvdyBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUgNTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBBdHRlbXB0" +
"cyB0byBwcmVsb2FkIG1vcmUgZGF0YSB0aGFuIGBTbGljZWAgY29udGFpbnMgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBjb2RlIDk6IGBDZWxsIHVuZGVyZmxv" +
"d2AuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVJbnQoNDIsIDcpLmFzU2xp" +
"Y2UoKTsKLy8vICAgICBsZXQgbGFzdEZpdmU6IFNsaWNlID0gcy5sYXN0Qml0cyg1KTsgLy8gbGFzdCA1IGJpdHMKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0" +
"cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2VsYXN0Yml0cwovLy8KYXNtIGV4dGVuZHMgZnVuIGxhc3RCaXRzKHNlbGY6IFNsaWNlLCBs" +
"ZW46IEludCk6IFNsaWNlIHsgU0RDVVRMQVNUIH0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYu" +
"MC4KLy8vCi8vLyBDb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgYEludGAgZGVwdGggb2YgdGhlIGBTbGljZWAuIFByb2R1Y2VzIDAgaWYgdGhlIGBTbGljZWAgaGFzIG5v" +
"IHJlZmVyZW5jZXMsIG90aGVyd2lzZSAxIHBsdXMgdGhlIG1heGltdW0gb2YgdGhlIGRlcHRocyBvZiB0aGUgcmVmZXJlbmNlZCBjZWxscy4KLy8vCi8vLyBgYGB0YWN0" +
"Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKS5zdG9yZUludCg0MiwgNykuYXNTbGljZSgpOwovLy8gICAgIGxldCBk" +
"ZXB0aDogSW50ID0gcy5kZXB0aCgpOyAvLyAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxz" +
"I3NsaWNlZGVwdGgKLy8vCmFzbSBleHRlbmRzIGZ1biBkZXB0aChzZWxmOiBTbGljZSk6IEludCB7IFNERVBUSCB9CgovLwovLyBTbGljZSBzaXplCi8vCgphc20gZXh0" +
"ZW5kcyBmdW4gcmVmcyhzZWxmOiBTbGljZSk6IEludCB7IFNSRUZTIH0KCmFzbSBleHRlbmRzIGZ1biBiaXRzKHNlbGY6IFNsaWNlKTogSW50IHsgU0JJVFMgfQoKYXNt" +
"IGV4dGVuZHMgZnVuIGVtcHR5KHNlbGY6IFNsaWNlKTogQm9vbCB7IFNFTVBUWSB9Cgphc20gZXh0ZW5kcyBmdW4gZGF0YUVtcHR5KHNlbGY6IFNsaWNlKTogQm9vbCB7" +
"IFNERU1QVFkgfQoKYXNtIGV4dGVuZHMgZnVuIHJlZnNFbXB0eShzZWxmOiBTbGljZSk6IEJvb2wgeyBTUkVNUFRZIH0KCi8vCi8vIENvbnZlcnNpb25zCi8vCgppbmxp" +
"bmUgZXh0ZW5kcyBmdW4gYXNTbGljZShzZWxmOiBCdWlsZGVyKTogU2xpY2UgewogICAgcmV0dXJuIHNlbGYuZW5kQ2VsbCgpLmJlZ2luUGFyc2UoKTsKfQoKaW5saW5l" +
"IGV4dGVuZHMgZnVuIGFzU2xpY2Uoc2VsZjogQ2VsbCk6IFNsaWNlIHsKICAgIHJldHVybiBzZWxmLmJlZ2luUGFyc2UoKTsKfQoKaW5saW5lIGV4dGVuZHMgZnVuIGFz" +
"Q2VsbChzZWxmOiBTbGljZSk6IENlbGwgewogICAgcmV0dXJuIGJlZ2luQ2VsbCgpCiAgICAgICAgLnN0b3JlU2xpY2Uoc2VsZikKICAgICAgICAuZW5kQ2VsbCgpOwp9" +
"CgppbmxpbmUgZXh0ZW5kcyBmdW4gYXNDZWxsKHNlbGY6IEJ1aWxkZXIpOiBDZWxsIHsKICAgIHJldHVybiBzZWxmLmVuZENlbGwoKTsKfQoKYXNtIGZ1biBlbXB0eUNl" +
"bGwoKTogQ2VsbCB7CiAgICA8YiBiPiBQVVNIUkVGIC8vIFB1cmUgRmlmdDogIjxiIiBjcmVhdGVzIGEgYnVpbGRlciwgImI+IiB0dXJucyBpdCBpbnRvIGEgY2VsbCBh" +
"dCBjb21waWxlIHRpbWUKfQoKYXNtIGZ1biBlbXB0eVNsaWNlKCk6IFNsaWNlIHsKICAgIGJ7fSBQVVNIU0xJQ0UKfQoKLy8vIFN0cnVjdCBmb3IgaG9sZGluZyB2YWx1" +
"ZXMgY29tcHV0ZWQgYnkgdGhlIGBDZWxsLmNvbXB1dGVEYXRhU2l6ZSgpYCBhbmQgYFNsaWNlLmNvbXB1dGVEYXRhU2l6ZSgpYCBleHRlbnNpb24gZnVuY3Rpb25zLiBB" +
"dmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2NlbGxjb21w" +
"dXRlZGF0YXNpemUKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vjb21wdXRlZGF0YXNpemUKLy8vCnN0cnVjdCBEYXRh" +
"U2l6ZSB7CiAgICAvLy8gVGhlIHRvdGFsIG51bWJlciBvZiBuZXN0ZWQgY2VsbHMsIGluY2x1ZGluZyB0aGUgc3RhcnRpbmcgb25lLgogICAgY2VsbHM6IEludDsKCiAg" +
"ICAvLy8gVGhlIHRvdGFsIG51bWJlciBvZiBiaXRzIGluIGFsbCBuZXN0ZWQgY2VsbHMsIGluY2x1ZGluZyB0aGUgc3RhcnRpbmcgb25lLgogICAgYml0czogSW50OwoK" +
"ICAgIC8vLyBUaGUgdG90YWwgbnVtYmVyIG9mIHJlZnMgaW4gYWxsIG5lc3RlZCBjZWxscywgaW5jbHVkaW5nIHRoZSBzdGFydGluZyBvbmUuCiAgICByZWZzOiBJbnQ7" +
"Cn0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQ2VsbGAuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIENvbXB1dGVzIGFuZCByZXR1" +
"cm5zIHRoZSBudW1iZXIgb2YgZGlzdGluY3QgY2VsbHMsIGJpdHMgYW5kIHJlZnMgaW4gdGhlIGBDZWxsYCBieSB1c2luZyBhIGRlcHRoLWZpcnN0IHNlYXJjaCAoREZT" +
"KSBhbGdvcml0aG0sIHJlY3Vyc2l2ZWx5IHRyYXZlcnNpbmcgZWFjaCByZWZlcmVuY2VkIGNlbGwuIFRoaXMgZnVuY3Rpb24gaXMgY29tcHV0YXRpb25hbGx5IGV4cGVu" +
"c2l2ZSBhbmQgY2FuIGNvbnN1bWUgYSBsb3Qgb2YgZ2FzLiBJZiBgc2VsZmAgaXMgYG51bGxgLCByZXR1cm5zIGBEYXRhU2l6ZWAgd2l0aCBhbGwgZmllbGRzIHNldCB0" +
"byAwLgovLy8KLy8vIFRoZSByZXN1bHRzIGFyZSBwYWNrZWQgaW50byBhIGBEYXRhU2l6ZWAgU3RydWN0IGNvbnNpc3Rpbmcgb2Y6Ci8vLyAqIGBjZWxsczogSW50YCwg" +
"dGhlIHRvdGFsIG51bWJlciBvZiBuZXN0ZWQgY2VsbHMsIGluY2x1ZGluZyB0aGUgc3RhcnRpbmcgb25lCi8vLyAqIGBiaXRzOiBJbnRgLCB0aGUgdG90YWwgbnVtYmVy" +
"IG9mIGJpdHMgaW4gYWxsIG5lc3RlZCBjZWxscywgaW5jbHVkaW5nIHRoZSBzdGFydGluZyBvbmUKLy8vICogYHJlZnM6IEludGAsIHRoZSB0b3RhbCBudW1iZXIgb2Yg" +
"cmVmcyBpbiBhbGwgbmVzdGVkIGNlbGxzLCBpbmNsdWRpbmcgdGhlIHN0YXJ0aW5nIG9uZQovLy8KLy8vIElmIHRoZSBzcGVjaWZpZWQgYG1heENlbGxzYCB2YWx1ZSBp" +
"c24ndCBlbm91Z2ggdG8gdHJhdmVyc2UgYWxsIGNlbGxzIGluY2x1ZGluZyB0aGUgc3RhcnRpbmcgb25lLCBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUgOCBpcyB0" +
"aHJvd246IGBDZWxsIG92ZXJmbG93YC4KLy8vCi8vLyBBdHRlbXB0cyB0byBzcGVjaWZ5IGEgbmVnYXRpdmUgdmFsdWUgb2YgYG1heENlbGxzYCB0aHJvdyBhbiBleGNl" +
"cHRpb24gd2l0aCBleGl0IGNvZGUgNTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8v" +
"ICAgICBsZXQgYzogQ2VsbCA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3KS5zdG9yZVJlZihlbXB0eUNlbGwoKSkuZW5kQ2VsbCgpOwovLy8gICAgIHRyeSB7Ci8v" +
"LyAgICAgICAgIGxldCBkYXRhU2l6ZTogRGF0YVNpemUgPSBjLmNvbXB1dGVEYXRhU2l6ZSgyKTsKLy8vICAgICAgICAgZGF0YVNpemUuY2VsbHM7IC8vIDIKLy8vICAg" +
"ICAgICAgZGF0YVNpemUuYml0czsgIC8vIDcKLy8vICAgICAgICAgZGF0YVNpemUucmVmczsgIC8vIDEKLy8vICAgICB9IGNhdGNoIChleGl0Q29kZSkgewovLy8gICAg" +
"ICAgICAvLyBpZiBtYXhDZWxscyB3YXMgaW5zdWZmaWNpZW50IHRvIHRyYXZlcnNlIHRoZSBjZWxsCi8vLyAgICAgICAgIC8vIGFuZCBhbGwgb2YgaXRzIHJlZmVyZW5j" +
"ZXMsIHRoZSBleGl0Q29kZSBoZXJlIHdvdWxkIGJlIDgKLy8vICAgICB9Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3Jn" +
"L3JlZi9jb3JlLWNlbGxzI2NlbGxjb21wdXRlZGF0YXNpemUKLy8vCmFzbSBleHRlbmRzIGZ1biBjb21wdXRlRGF0YVNpemUoc2VsZjogQ2VsbD8sIG1heENlbGxzOiBJ" +
"bnQpOiBEYXRhU2l6ZSB7IENEQVRBU0laRSB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYC4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAu" +
"Ci8vLwovLy8gU2ltaWxhciB0byBgQ2VsbC5jb21wdXRlRGF0YVNpemUoKWAsIGJ1dCBkb2Vzbid0IHRha2UgaW50byBhY2NvdW50IHRoZSBjZWxsIHRoYXQgY29udGFp" +
"bnMgdGhlIGBTbGljZWAgaXRzZWxmLiBIb3dldmVyLCBhY2NvdW50cyBmb3IgaXRzIGJpdHMgYW5kIHJlZnMuCi8vLwovLy8gVGhlIHJlc3VsdHMgYXJlIHBhY2tlZCBp" +
"bnRvIGEgYERhdGFTaXplYCBTdHJ1Y3QgY29uc2lzdGluZyBvZjoKLy8vICogYGNlbGxzOiBJbnRgLCB0aGUgdG90YWwgbnVtYmVyIG9mIG5lc3RlZCBjZWxscywgaW5j" +
"bHVkaW5nIHRoZSBzdGFydGluZyBvbmUKLy8vICogYGJpdHM6IEludGAsIHRoZSB0b3RhbCBudW1iZXIgb2YgYml0cyBpbiBhbGwgbmVzdGVkIGNlbGxzLCBpbmNsdWRp" +
"bmcgdGhlIHN0YXJ0aW5nIG9uZQovLy8gKiBgcmVmczogSW50YCwgdGhlIHRvdGFsIG51bWJlciBvZiByZWZzIGluIGFsbCBuZXN0ZWQgY2VsbHMsIGluY2x1ZGluZyB0" +
"aGUgc3RhcnRpbmcgb25lCi8vLwovLy8gSWYgdGhlIHNwZWNpZmllZCBgbWF4Q2VsbHNgIHZhbHVlIGlzbid0IGVub3VnaCB0byB0cmF2ZXJzZSBhbGwgY2VsbHMgKipu" +
"b3QqKiBpbmNsdWRpbmcgdGhlIHN0YXJ0aW5nIG9uZSwgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBjb2RlIDggaXMgdGhyb3duOiBgQ2VsbCBvdmVyZmxvd2AuCi8vLwov" +
"Ly8gQXR0ZW1wdHMgdG8gc3BlY2lmeSBhIG5lZ2F0aXZlIHZhbHVlIG9mIGBtYXhDZWxsc2AgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBjb2RlIDU6IGBJbnRl" +
"Z2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxs" +
"KCkuc3RvcmVJbnQoNDIsIDcpLnN0b3JlUmVmKGVtcHR5Q2VsbCgpKS5hc1NsaWNlKCk7Ci8vLyAgICAgdHJ5IHsKLy8vICAgICAgICAgbGV0IGRhdGFTaXplOiBEYXRh" +
"U2l6ZSA9IHMuY29tcHV0ZURhdGFTaXplKDEpOwovLy8gICAgICAgICBkYXRhU2l6ZS5jZWxsczsgLy8gMQovLy8gICAgICAgICBkYXRhU2l6ZS5iaXRzOyAgLy8gNwov" +
"Ly8gICAgICAgICBkYXRhU2l6ZS5yZWZzOyAgLy8gMQovLy8gICAgIH0gY2F0Y2ggKGV4aXRDb2RlKSB7Ci8vLyAgICAgICAgIC8vIGlmIG1heENlbGxzIHdhcyBpbnN1" +
"ZmZpY2llbnQgdG8gdHJhdmVyc2UgdGhlIGNlbGwKLy8vICAgICAgICAgLy8gYW5kIGFsbCBvZiBpdHMgcmVmZXJlbmNlcywgdGhlIGV4aXRDb2RlIGhlcmUgd291bGQg" +
"YmUgOAovLy8gICAgIH0KLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vjb21wdXRl" +
"ZGF0YXNpemUKLy8vCmFzbSBleHRlbmRzIGZ1biBjb21wdXRlRGF0YVNpemUoc2VsZjogU2xpY2UsIG1heENlbGxzOiBJbnQpOiBEYXRhU2l6ZSB7IFNEQVRBU0laRSB9" +
"CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYENlbGxgLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBDb21wdXRlcyBhbmQgcmV0dXJu" +
"cyB0aGUgYEludGAgZGVwdGggb2YgdGhlIGBDZWxsYC4gUHJvZHVjZXMgMCBpZiB0aGUgYENlbGxgIGhhcyBubyByZWZlcmVuY2VzLCBvdGhlcndpc2UgMSBwbHVzIHRo" +
"ZSBtYXhpbXVtIG9mIHRoZSBkZXB0aHMgb2YgdGhlIHJlZmVyZW5jZWQgY2VsbHMuIElmIGMgaXMgbnVsbCwgcmV0dXJucyB6ZXJvLgovLy8KLy8vIGBgYHRhY3QKLy8v" +
"IGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBjOiBDZWxsID0gYmVnaW5DZWxsKCkuc3RvcmVJbnQoNDIsIDcpLmVuZENlbGwoKTsKLy8vICAgICBsZXQgZGVwdGg6" +
"IEludCA9IGMuZGVwdGgoKTsgLy8gMAovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNjZWxs" +
"ZGVwdGgKLy8vCmFzbSBleHRlbmRzIGZ1biBkZXB0aChzZWxmOiBDZWxsPyk6IEludCB7IENERVBUSCB9Cgo=";
files["std/internal/config.tact"] =
"YXNtIGZ1biBnZXRDb25maWdQYXJhbShpZDogSW50KTogQ2VsbD8geyBDT05GSUdPUFRQQVJBTSB9Cg==";
files["std/internal/context.tact"] =
"c3RydWN0IENvbnRleHQgewogICAgYm91bmNlZDogQm9vbDsKICAgIHNlbmRlcjogQWRkcmVzczsKICAgIHZhbHVlOiBJbnQ7CiAgICByYXc6IFNsaWNlOwp9CgpAbmFt" +
"ZShfX3RhY3RfY29udGV4dF9nZXQpCm5hdGl2ZSBjb250ZXh0KCk6IENvbnRleHQ7CgpAbmFtZShfX3RhY3RfY29udGV4dF9nZXRfc2VuZGVyKQpuYXRpdmUgc2VuZGVy" +
"KCk6IEFkZHJlc3M7CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYENvbnRleHRgIHN0cnVjdHVyZS4KLy8vCi8vLyBSZWFkcyBmb3J3YXJkIGZlZSBhbmQg" +
"cmV0dXJucyBpdCBhcyBgSW50YCBhbW91bnQgb2YgbmFub1RvbmNvaW5zLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBmd2RG" +
"ZWU6IEludCA9IGNvbnRleHQoKS5yZWFkRm9yd2FyZEZlZSgpOwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9y" +
"Zy9yZWYvY29yZS1hZHZhbmNlZCNjb250ZXh0cmVhZGZvcndhcmRmZWUKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjZ2V0" +
"b3JpZ2luYWxmd2RmZWUKLy8vCmFzbSBleHRlbmRzIGZ1biByZWFkRm9yd2FyZEZlZShzZWxmOiBDb250ZXh0KTogSW50IHsKICAgIC8vIE9ubHkgdGhlIHNlbGYucmF3" +
"IChDb250ZXh0LnJhdykgaXMgaW1wb3J0YW50LAogICAgLy8gc28gYWxsIHRoZSBvdGhlciBmaWVsZHMgYW5kIGxvYWRlZCB2YWx1ZXMgd2lsbCBiZSBkcm9wcGVkIGJ5" +
"IGBCTEtEUk9QMmAKICAgIC8vCiAgICAvLyBDb250ZXh0LnJhdyBzdGFydHMgYXQgdGhlIGRlc3Q6TXNnQWRkcmVzc0ludCwgZm9sbG93aW5nIHRoaXMgVEwtQiBzY2hl" +
"bWU6CiAgICAvLyBpbnRfbXNnX2luZm8kMAogICAgLy8gICBpaHJfZGlzYWJsZWQ6Qm9vbAogICAgLy8gICBib3VuY2U6Qm9vbAogICAgLy8gICBib3VuY2VkOkJvb2wK" +
"ICAgIC8vICAgc3JjOk1zZ0FkZHJlc3MKICAgIC8vICAgZGVzdDpNc2dBZGRyZXNzSW50IOKGkCBoZXJlIGlzIHRoZSBzdGFydAogICAgLy8gICB2YWx1ZTpDdXJyZW5j" +
"eUNvbGxlY3Rpb24KICAgIC8vICAgaWhyX2ZlZTpHcmFtcwogICAgLy8gICBmd2RfZmVlOkdyYW1zCiAgICAvLyAgIGNyZWF0ZWRfbHQ6dWludDY0CiAgICAvLyAgIGNy" +
"ZWF0ZWRfYXQ6dWludDMyCiAgICAvLyA9IENvbW1vbk1zZ0luZm9SZWxheGVkOwoKICAgIExETVNHQUREUiAgIC8vIGxvYWQgZGVzdDpNc2dBZGRyZXNzSW50CiAgICBM" +
"REdSQU1TICAgICAvLyBsb2FkIHZhbHVlOkN1cnJlbmN5Q29sbGVjdGlvbgogICAgT05FCiAgICBTRFNLSVBGSVJTVCAvLyBza2lwIGV4dHJhIGN1cnJlbmN5IGNvbGxl" +
"Y3Rpb24KICAgIExER1JBTVMgICAgIC8vIGxvYWQgaWhyX2ZlZQogICAgTERHUkFNUyAgICAgLy8gbG9hZCBmd2RfZmVlLCB3ZSdsbCBiZSB1c2luZyB0aGlzIQogICAg" +
"RFJPUCAgICAgICAgLy8gZHJvcCByZW1haW5pbmcgU2xpY2UgKHdpdGggY3JlYXRlZF9sdCBhbmQgY3JlYXRlZF9hdCkKCiAgICAvLyBUaGVyZSBhcmUgNyBlbnRyaWVz" +
"IG9uIHRoZSBzdGFjayDigJQgZmlyc3QgMyBmaWVsZHMgb2YgQ29udGV4dCBwbHVzIDQgbG9hZGVkIG9uZXMuCiAgICAvLyBUaGUgdG9wbW9zdCBpcyBmd2RfZmVlLCB3" +
"aGljaCBpcyB0aGUgb25seSBvbmUgd2UncmUgYWZ0ZXIsIHNvIGxldCdzIGRyb3AgNiBlbnRyaWVzIGJlbG93OgogICAgNiAxIEJMS0RST1AyIC8vIGRyb3AgdGhlIGxv" +
"YWRlZCB2YWx1ZXMgYXMgd2VsbCBhcyB0aGUgZmlyc3QgMyBmaWVsZHMgb2YgQ29udGV4dAoKICAgIFpFUk8gICAgICAgICAgICAgIC8vIG5vdCBtYXN0ZXJjaGFpbgog" +
"ICAgR0VUT1JJR0lOQUxGV0RGRUUgLy8gKGZ3ZF9mZWUgKiAyXjE2KSAvIGZpcnN0X2ZyYWMsIHdoZXJlCiAgICAgICAgICAgICAgICAgICAgICAvLyBmaXJzdF9mcmFj" +
"IGlzIGEgdmFsdWUgbGlzdGVkIGluIGNvbmZpZyBwYXJhbSAyNQogICAgICAgICAgICAgICAgICAgICAgLy8gb2YgdGhlIGJsb2NrY2hhaW46IGh0dHBzOi8vdG9uc2Nh" +
"bi5vcmcvY29uZmlnIzI1Cn0K";
files["std/internal/contract.tact"] =
"c3RydWN0IFN0YXRlSW5pdCB7CiAgICBjb2RlOiBDZWxsOwogICAgZGF0YTogQ2VsbDsKfQoKQG5hbWUoX190YWN0X2NvbXB1dGVfY29udHJhY3RfYWRkcmVzcykKbmF0" +
"aXZlIGNvbnRyYWN0QWRkcmVzc0V4dChjaGFpbjogSW50LCBjb2RlOiBDZWxsLCBkYXRhOiBDZWxsKTogQWRkcmVzczsKCmlubGluZSBmdW4gY29udHJhY3RBZGRyZXNz" +
"KHM6IFN0YXRlSW5pdCk6IEFkZHJlc3MgewogICAgcmV0dXJuIGNvbnRyYWN0QWRkcmVzc0V4dCgwLCBzLmNvZGUsIHMuZGF0YSk7Cn0KCkBuYW1lKF9fdGFjdF9hZGRy" +
"ZXNzX3RvX3NsaWNlKQpleHRlbmRzIG5hdGl2ZSBhc1NsaWNlKHNlbGY6IEFkZHJlc3MpOiBTbGljZTsKCkBuYW1lKF9fdGFjdF9jcmVhdGVfYWRkcmVzcykKbmF0aXZl" +
"IG5ld0FkZHJlc3MoY2hhaW46IEludCwgaGFzaDogSW50KTogQWRkcmVzczsKCmFzbSBmdW4gbXlBZGRyZXNzKCk6IEFkZHJlc3MgeyBNWUFERFIgfQoKYXNtIGZ1biBt" +
"eUJhbGFuY2UoKTogSW50IHsgQkFMQU5DRSBGSVJTVCB9CgovLy8gR2xvYmFsIGZ1bmN0aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBSZXR1" +
"cm5zIHRoZSBuYW5vVG9uY29pbiBgSW50YCBhbW91bnQgb2YgZ2FzIGNvbnN1bWVkIGJ5IFRWTSBpbiB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiBzbyBmYXIuIFRoZSBy" +
"ZXN1bHRpbmcgdmFsdWUgaW5jbHVkZXMgdGhlIGNvc3Qgb2YgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewov" +
"Ly8gICAgIGxldCBnYXM6IEludCA9IGdhc0NvbnN1bWVkKCk7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9j" +
"b3JlLWFkdmFuY2VkI2dhc2NvbnN1bWVkCi8vLwphc20gZnVuIGdhc0NvbnN1bWVkKCk6IEludCB7IEdBU0NPTlNVTUVEIH0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uIEF2" +
"YWlsYWJsZSBzaW5jZSBUYWN0IDEuNS4wLgovLy8KLy8vIFJldHVybnMgdGhlIG5hbm9Ub25jb2luIGBJbnRgIGFtb3VudCBvZiB0aGUgYWNjdW11bGF0ZWQgc3RvcmFn" +
"ZSBmZWUgZGVidC4gU3RvcmFnZSBmZWVzIGFyZSBkZWR1Y3RlZCBmcm9tIHRoZSBpbmNvbWluZyBtZXNzYWdlIHZhbHVlIGJlZm9yZSB0aGUgbmV3IGNvbnRyYWN0IGJh" +
"bGFuY2UgaXMgY2FsY3VsYXRlZC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgZGVidDogSW50ID0gbXlTdG9yYWdlRHVlKCk7" +
"Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWFkdmFuY2VkI215c3RvcmFnZWR1ZQovLy8KYXNtIGZ1" +
"biBteVN0b3JhZ2VEdWUoKTogSW50IHsgRFVFUEFZTUVOVCB9CgovLy8gR2xvYmFsIGZ1bmN0aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBD" +
"YWxjdWxhdGVzIGFuZCByZXR1cm5zIHRoZSBzdG9yYWdlIGZlZSBpbiBuYW5vVG9uY29pbnMgYEludGAgZm9yIHN0b3JpbmcgYSBjb250cmFjdCB3aXRoIGEgZ2l2ZW4g" +
"bnVtYmVyIG9mIGBjZWxsc2AgYW5kIGBiaXRzYCBmb3IgYSBudW1iZXIgb2YgYHNlY29uZHNgLiBVc2VzIHRoZSBwcmljZXMgb2YgdGhlIG1hc3RlcmNoYWluIGlmIGBp" +
"c01hc3RlcmNoYWluYCBpcyBgdHJ1ZWAsIG90aGVyd2lzZSB0aGUgcHJpY2VzIG9mIHRoZSBiYXNlY2hhaW4uIFRoZSBjdXJyZW50IHByaWNlcyBhcmUgb2J0YWluZWQg" +
"ZnJvbSB0aGUgY29uZmlnIHBhcmFtIDE4IG9mIFRPTiBCbG9ja2NoYWluLgovLy8KLy8vIE5vdGUsIHRoYXQgc3BlY2lmeWluZyB2YWx1ZXMgb2YgYGNlbGxzYCBhbmQg" +
"YGJpdHNgIGhpZ2hlciB0aGFuIHRoZWlyIG1heGltdW0gdmFsdWVzIGxpc3RlZCBpbiBhY2NvdW50IHN0YXRlIGxpbWl0cyAoYG1heF9hY2Nfc3RhdGVfY2VsbHNgIGFu" +
"ZCBgbWF4X2FjY19zdGF0ZV9iaXRzYCkgd2lsbCBoYXZlIHRoZSBzYW1lIHJlc3VsdCBhcyB3aXRoIHNwZWNpZnlpbmcgdGhlIGV4YWN0IGxpbWl0cy4gSW4gYWRkaXRp" +
"b24sIG1ha2Ugc3VyZSB5b3UgdGFrZSBpbnRvIGFjY291bnQgdGhlIGRlZHVwbGljYXRpb24gb2YgY2VsbHMgd2l0aCB0aGUgc2FtZSBoYXNoLgovLy8KLy8vIEF0dGVt" +
"cHRzIHRvIHNwZWNpZnkgbmVnYXRpdmUgbnVtYmVyIG9mIGBjZWxsc2AsIGBiaXRzYCBvciBgc2Vjb25kc2AgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBjb2Rl" +
"IDU6IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGZlZTogSW50ID0g" +
"Z2V0U3RvcmFnZUZlZSgxXzAwMCwgMV8wMDAsIDFfMDAwLCBmYWxzZSk7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxh" +
"bmcub3JnL3JlZi9jb3JlLWFkdmFuY2VkI2dldHN0b3JhZ2VmZWUKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjZ2V0c2lt" +
"cGxlc3RvcmFnZWZlZQovLy8KYXNtIGZ1biBnZXRTdG9yYWdlRmVlKGNlbGxzOiBJbnQsIGJpdHM6IEludCwgc2Vjb25kczogSW50LCBpc01hc3RlcmNoYWluOiBCb29s" +
"KTogSW50IHsgR0VUU1RPUkFHRUZFRSB9CgovLy8gR2xvYmFsIGZ1bmN0aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBDYWxjdWxhdGVzIGFu" +
"ZCByZXR1cm5zIHRoZSBjb21wdXRlIGZlZSBpbiBuYW5vVG9uY29pbnMgYEludGAgZm9yIGEgdHJhbnNhY3Rpb24gdGhhdCBjb25zdW1lZCBgZ2FzVXNlZGAgYW1vdW50" +
"IG9mIGdhcy4gVXNlcyB0aGUgcHJpY2VzIG9mIHRoZSBtYXN0ZXJjaGFpbiBpZiBgaXNNYXN0ZXJjaGFpbmAgaXMgYHRydWVgLCBvdGhlcndpc2UgdGhlIHByaWNlcyBv" +
"ZiB0aGUgYmFzZWNoYWluLiBUaGUgY3VycmVudCBwcmljZXMgYXJlIG9idGFpbmVkIGZyb20gdGhlIGNvbmZpZyBwYXJhbSAyMCBmb3IgdGhlIG1hc3RlcmNoYWluIGFu" +
"ZCBjb25maWcgcGFyYW0gMjEgZm9yIHRoZSBiYXNlY2hhaW4gb2YgVE9OIEJsb2NrY2hhaW4uCi8vLwovLy8gV2hlbiB0aGUgYGdhc1VzZWRgIGlzIGxlc3MgdGhhbiBh" +
"IGNlcnRhaW4gdGhyZXNob2xkIGNhbGxlZCBgZmxhdF9nYXNfbGltaXRgLCB0aGVyZSdzIGEgbWluaW11bSBwcmljZSB0byBwYXkgYmFzZWQgb24gdGhlIHZhbHVlIG9m" +
"IGBmbGF0X2dhc19wcmljZWAuIFRoZSBsZXNzIGdhcyBpcyB1c2VkIGJlbG93IHRoaXMgdGhyZXNob2xkLCB0aGUgaGlnaGVyIHRoZSBtaW5pbXVtIHByaWNlIHdpbGwg" +
"YmUuIFNlZSB0aGUgZXhhbXBsZSBmb3IgYGdldFNpbXBsZUNvbXB1dGVGZWUoKWAgdG8gZGVyaXZlIHRoYXQgdGhyZXNob2xkLgovLy8KLy8vIEF0dGVtcHRzIHRvIHNw" +
"ZWNpZnkgbmVnYXRpdmUgdmFsdWUgb2YgYGdhc1VzZWRgIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA1OiBgSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQg" +
"cmFuZ2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBmZWU6IEludCA9IGdldENvbXB1dGVGZWUoMV8wMDAsIGZhbHNlKTsK" +
"Ly8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjZ2V0Y29tcHV0ZWZlZQovLy8KYXNtIGZ1" +
"biBnZXRDb21wdXRlRmVlKGdhc1VzZWQ6IEludCwgaXNNYXN0ZXJjaGFpbjogQm9vbCk6IEludCB7IEdFVEdBU0ZFRSB9CgovLy8gR2xvYmFsIGZ1bmN0aW9uLiBBdmFp" +
"bGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBTaW1pbGFyIHRvIGBnZXRDb21wdXRlRmVlKClgLCBidXQgd2l0aG91dCB0aGUgYGZsYXRfZ2FzX3ByaWNlYCwg" +
"aS5lLiB3aXRob3V0IGEgbWluaW11bSBwcmljZSB0byBwYXkgaWYgdGhlIGBnYXNVc2VkYCBpcyBsZXNzIHRoYW4gYSBjZXJ0YWluIHRocmVzaG9sZCBjYWxsZWQgYGZs" +
"YXRfZ2FzX2xpbWl0YC4gQ2FsY3VsYXRlcyBhbmQgcmV0dXJucyBvbmx5IHRoZSBgZ2FzVXNlZGAgdGltZXMgdGhlIGN1cnJlbnQgZ2FzIHByaWNlLgovLy8KLy8vIEF0" +
"dGVtcHRzIHRvIHNwZWNpZnkgbmVnYXRpdmUgbnVtYmVyIG9mIGBjZWxsc2AsIGBiaXRzYCBvciBgc2Vjb25kc2AgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBj" +
"b2RlIDU6IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGZlZSA9IGdl" +
"dENvbXB1dGVGZWUoMCwgZmFsc2UpOwovLy8gICAgIGxldCBmZWVOb0ZsYXQgPSBnZXRTaW1wbGVDb21wdXRlRmVlKDAsIGZhbHNlKTsKLy8vICAgICBsZXQgbWF4Rmxh" +
"dFByaWNlID0gZmVlIC0gZmVlTm9GbGF0OwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1h" +
"ZHZhbmNlZCNnZXRzaW1wbGVzdG9yYWdlZmVlCi8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWFkdmFuY2VkI2dldHN0b3JhZ2VmZWUKLy8v" +
"CmFzbSBmdW4gZ2V0U2ltcGxlQ29tcHV0ZUZlZShnYXNVc2VkOiBJbnQsIGlzTWFzdGVyY2hhaW46IEJvb2wpOiBJbnQgeyBHRVRHQVNGRUVTSU1QTEUgfQoKLy8vIEds" +
"b2JhbCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS41LjAuCi8vLwovLy8gQ2FsY3VsYXRlcyBhbmQgcmV0dXJucyB0aGUgZm9yd2FyZCBmZWUgaW4gbmFu" +
"b1RvbmNvaW5zIGBJbnRgIGZvciBhbiBvdXRnb2luZyBtZXNzYWdlIGNvbnNpc3Rpbmcgb2YgYSBnaXZlbiBudW1iZXIgb2YgYGNlbGxzYCBhbmQgYGJpdHNgLiBVc2Vz" +
"IHRoZSBwcmljZXMgb2YgdGhlIG1hc3RlcmNoYWluIGlmIGBpc01hc3RlcmNoYWluYCBpcyBgdHJ1ZXs6dGFjdH1gLCBvdGhlcndpc2UgdGhlIHByaWNlcyBvZiB0aGUg" +
"YmFzZWNoYWluLiBUaGUgY3VycmVudCBwcmljZXMgYXJlIG9idGFpbmVkIGZyb20gdGhlIGNvbmZpZyBwYXJhbSAyNCBmb3IgdGhlIG1hc3RlcmNoYWluIGFuZCBjb25m" +
"aWcgcGFyYW0gMjUgZm9yIHRoZSBiYXNlY2hhaW4gb2YgVE9OIEJsb2NrY2hhaW4uCi8vLwovLy8gSWYgYm90aCB0aGUgc291cmNlIGFuZCB0aGUgZGVzdGluYXRpb24g" +
"YWRkcmVzc2VzIGFyZSBpbiB0aGUgYmFzZWNoYWluLCB0aGVuIHNwZWNpZnkgYGlzTWFzdGVyY2hhaW5gIGFzIGBmYWxzZWAuIE90aGVyd2lzZSwgc3BlY2lmeSBgdHJ1" +
"ZWAuCi8vLwovLy8gTm90ZSwgdGhhdCBzcGVjaWZ5aW5nIHZhbHVlcyBvZiBgY2VsbHNgIGFuZCBgYml0c2AgaGlnaGVyIHRoYW4gdGhlaXIgbWF4aW11bSB2YWx1ZXMg" +
"bGlzdGVkIGluIGFjY291bnQgc3RhdGUgbGltaXRzIChgbWF4X21zZ19jZWxsc2AgYW5kIGBtYXhfbXNnX2JpdHNgKSB3aWxsIGhhdmUgdGhlIHNhbWUgcmVzdWx0IGFz" +
"IHdpdGggc3BlY2lmeWluZyB0aGUgZXhhY3QgbGltaXRzLgovLy8KLy8vIEhvd2V2ZXIsIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlcyBvZiBgY2VsbHNgIGFuZCBgYml0" +
"c2AsIHRoaXMgZnVuY3Rpb24gYWx3YXlzIGFkZHMgdGhlIG1pbmltdW0gcHJpY2UgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGBsdW1wX3ByaWNlYC4gU2VlIHRoZSBleGFt" +
"cGxlIGZvciBbYGdldFNpbXBsZUZvcndhcmRGZWUoKXs6dGFjdH1gXSgjZ2V0c2ltcGxlZm9yd2FyZGZlZSkgdG8gZGVyaXZlIGl0LiBJbiBhZGRpdGlvbiwgbWFrZSBz" +
"dXJlIHlvdSB0YWtlIGludG8gYWNjb3VudCB0aGUgZGVkdXBsaWNhdGlvbiBvZiBjZWxscyB3aXRoIHRoZSBzYW1lIGhhc2gsIHNpbmNlIGZvciBleGFtcGxlIHRoZSBy" +
"b290IGNlbGwgYW5kIGl0cyBkYXRhIGJpdHMgZG9uJ3QgY291bnQgdG93YXJkcyB0aGUgZm9yd2FyZCBmZWUgYW5kIGFyZSBjb3ZlcmVkIGJ5IHRoZSBgbHVtcF9wcmlj" +
"ZWAuCi8vLwovLy8gQXR0ZW1wdHMgdG8gc3BlY2lmeSBuZWdhdGl2ZSBudW1iZXIgb2YgYGNlbGxzYCBvciBgYml0c2AgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGggZXhp" +
"dCBjb2RlIDU6IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGZlZTog" +
"SW50ID0gZ2V0Rm9yd2FyZEZlZSgxXzAwMCwgMV8wMDAsIGZhbHNlKTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFu" +
"Zy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjZ2V0Zm9yd2FyZGZlZQovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNnZXRzaW1w" +
"bGVmb3J3YXJkZmVlCi8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWFkdmFuY2VkI2dldG9yaWdpbmFsZndkZmVlCi8vLwphc20gZnVuIGdl" +
"dEZvcndhcmRGZWUoY2VsbHM6IEludCwgYml0czogSW50LCBpc01hc3RlcmNoYWluOiBCb29sKTogSW50IHsgR0VURk9SV0FSREZFRSB9CgovLy8gR2xvYmFsIGZ1bmN0" +
"aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBTaW1pbGFyIHRvIGBnZXRGb3J3YXJkRmVlKClgLCBidXQgd2l0aG91dCB0aGUgYGx1bXBfcHJp" +
"Y2VgLCBpLmUuIHdpdGhvdXQgdGhlIG1pbmltdW0gcHJpY2UgdG8gcGF5IHJlZ2FyZGxlc3Mgb2YgdGhlIGFtb3VudCBvZiBgY2VsbHNgIG9yIGBiaXRzYC4gQ2FsY3Vs" +
"YXRlcyBhbmQgcmV0dXJucyBvbmx5IHRoZSBgY2VsbHNgIHRpbWVzIHRoZSBjdXJyZW50IGNlbGwgcHJpY2UgcGx1cyBgYml0c2AgdGltZXMgdGhlIGN1cnJlbnQgYml0" +
"IHByaWNlLgovLy8KLy8vIEF0dGVtcHRzIHRvIHNwZWNpZnkgbmVnYXRpdmUgbnVtYmVyIG9mIGBjZWxsc2Agb3IgYGJpdHNgIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRo" +
"IGV4aXQgY29kZSA1OiBgSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBm" +
"ZWUgPSBnZXRGb3J3YXJkRmVlKDFfMDAwLCAxXzAwMCwgZmFsc2UpOwovLy8gICAgIGxldCBmZWVOb0x1bXAgPSBnZXRTaW1wbGVGb3J3YXJkRmVlKDFfMDAwLCAxXzAw" +
"MCwgZmFsc2UpOwovLy8gICAgIGxldCBsdW1wUHJpY2UgPSBmZWUgLSBmZWVOb0x1bXA7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9j" +
"cy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWFkdmFuY2VkI2dldHNpbXBsZWZvcndhcmRmZWUKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUt" +
"YWR2YW5jZWQjZ2V0Zm9yd2FyZGZlZQovLy8KYXNtIGZ1biBnZXRTaW1wbGVGb3J3YXJkRmVlKGNlbGxzOiBJbnQsIGJpdHM6IEludCwgaXNNYXN0ZXJjaGFpbjogQm9v" +
"bCk6IEludCB7IEdFVEZPUldBUkRGRUVTSU1QTEUgfQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS41LjAuCi8vLwovLy8gQ2FsY3Vs" +
"YXRlcyBhbmQgcmV0dXJucyB0aGUgc28tY2FsbGVkIF9vcmlnaW5hbF8gZm9yd2FyZCBmZWUgaW4gbmFub1RvbmNvaW5zIGBJbnRgIGZvciBhbiBvdXRnb2luZyBtZXNz" +
"YWdlIGJhc2VkIG9uIHRoZSBgZndkRmVlYCBvYnRhaW5lZCBmcm9tIHRoZSBpbmNvbWluZyBtZXNzYWdlLiBJZiBib3RoIHRoZSBzb3VyY2UgYW5kIHRoZSBkZXN0aW5h" +
"dGlvbiBhZGRyZXNzZXMgYXJlIGluIHRoZSBiYXNlY2hhaW4sIHRoZW4gc3BlY2lmeSBgaXNNYXN0ZXJjaGFpbmAgYXMgYGZhbHNlYC4gT3RoZXJ3aXNlLCBzcGVjaWZ5" +
"IGB0cnVlYC4KLy8vCi8vLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWZ1bCB3aGVuIHRoZSBvdXRnb2luZyBtZXNzYWdlIGRlcGVuZHMgaGVhdmlseSBvbiB0aGUgc3RydWN0" +
"dXJlIG9mIHRoZSBpbmNvbWluZyBtZXNzYWdlLCBzbyBtdWNoIHNvIHRoYXQgeW91IGNhbm5vdCBmdWxseSBwcmVkaWN0IHRoZSBmZWUgdXNpbmcgYGdldEZvcndhcmRG" +
"ZWUoKWAgYWxvbmUuIEV2ZW4gaWYgeW91IGNvdWxkLCBjYWxjdWxhdGluZyB0aGUgZXhhY3QgZmVlIHdpdGggbmFub1RvbmNvaW4tbGV2ZWwgcHJlY2lzaW9uIGNhbiBi" +
"ZSB2ZXJ5IGV4cGVuc2l2ZSwgc28gdGhlIGFwcHJveGltYXRlIHZhbHVlIGdpdmVuIGJ5IHRoaXMgZnVuY3Rpb24gaXMgb2Z0ZW4gZ29vZCBlbm91Z2guCi8vLwovLy8g" +
"QXR0ZW1wdHMgdG8gc3BlY2lmeSBhIG5lZ2F0aXZlIHZhbHVlIG9mIGBmd2RGZWVgIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA1OiBgSW50ZWdlciBv" +
"dXQgb2YgZXhwZWN0ZWQgcmFuZ2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBmd2RGZWU6IEludCA9IGNvbnRleHQoKS5y" +
"ZWFkRm9yd2FyZEZlZSgpOwovLy8gICAgIGxldCBvcmlnRmVlOiBJbnQgPSBnZXRPcmlnaW5hbEZ3ZEZlZShmZWUsIGZhbHNlKTsKLy8vIH0KLy8vIGBgYAovLy8KLy8v" +
"IFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjZ2V0b3JpZ2luYWxmd2RmZWUKLy8vICogaHR0cHM6Ly9kb2NzLnRh" +
"Y3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjZ2V0Zm9yd2FyZGZlZQovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNj" +
"b250ZXh0cmVhZGZvcndhcmRmZWUKLy8vCmFzbSBmdW4gZ2V0T3JpZ2luYWxGd2RGZWUoZndkRmVlOiBJbnQsIGlzTWFzdGVyY2hhaW46IEJvb2wpOiBJbnQgeyBHRVRP" +
"UklHSU5BTEZXREZFRSB9CgovLy8gU3RydWN0IHJlcHJlc2VudGluZyB0aGUgc3RhbmRhcmQgYWRkcmVzcyBvbiBUT04gQmxvY2tjaGFpbiB3aXRoIHNpZ25lZCA4LWJp" +
"dCBgd29ya2NoYWluYCBJRCBhbmQgYW4gdW5zaWduZWQgMjU2LWJpdCBgYWRkcmVzc2AgaW4gdGhlIHNwZWNpZmllZCBgd29ya2NoYWluYC4gQXZhaWxhYmxlIHNpbmNl" +
"IFRhY3QgMS41LjAuCi8vLwovLy8gQXQgdGhlIG1vbWVudCwgb25seSBgd29ya2NoYWluYCBJRHMgdXNlZCBvbiBUT04gYXJlIDAgb2YgdGhlIGJhc2VjaGFpbiBhbmQg" +
"LTEgb2YgdGhlIG1hc3RlcmNoYWluLgovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjcGFyc2VzdGRh" +
"ZGRyZXNzCi8vLyAqIGh0dHBzOi8vZ2l0aHViLmNvbS90b24tYmxvY2tjaGFpbi90b24vYmxvYi9tYXN0ZXIvY3J5cHRvL2Jsb2NrL2Jsb2NrLnRsYiNMMTA1LUwxMDYK" +
"Ly8vCnN0cnVjdCBTdGRBZGRyZXNzIHsKICAgIHdvcmtjaGFpbjogSW50IGFzIGludDg7CiAgICBhZGRyZXNzOiBJbnQgYXMgdWludDI1NjsKfQoKLy8vIFN0cnVjdCBy" +
"ZXByZXNlbnRpbmcgdGhlIGFkZHJlc3Mgb2YgdmFyaWFibGUgbGVuZ3RoIHdpdGggc2lnbmVkIDMyLWJpdCBgd29ya2NoYWluYCBJRCBhbmQgYSBgU2xpY2VgIGNvbnRh" +
"aW5pbmcgdW5zaWduZWQgYGFkZHJlc3NgIGluIHRoZSBzcGVjaWZpZWQgYHdvcmtjaGFpbmAuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNS4wLgovLy8KLy8vIFZhcmlh" +
"YmxlLWxlbmd0aCBhZGRyZXNzZXMgYXJlIGludGVuZGVkIGZvciBmdXR1cmUgZXh0ZW5zaW9ucywgYW5kIHdoaWxlIHZhbGlkYXRvcnMgbXVzdCBiZSByZWFkeSB0byBh" +
"Y2NlcHQgdGhlbSBpbiBpbmJvdW5kIG1lc3NhZ2VzLCB0aGUgc3RhbmRhcmQgKG5vbi12YXJpYWJsZSkgYWRkcmVzc2VzIGFyZSB1c2VkIHdoZW5ldmVyIHBvc3NpYmxl" +
"LgovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjcGFyc2V2YXJhZGRyZXNzCi8vLyAqIGh0dHBzOi8v" +
"Z2l0aHViLmNvbS90b24tYmxvY2tjaGFpbi90b24vYmxvYi9tYXN0ZXIvY3J5cHRvL2Jsb2NrL2Jsb2NrLnRsYiNMMTA3LUwxMDgKLy8vCnN0cnVjdCBWYXJBZGRyZXNz" +
"IHsKICAgIHdvcmtjaGFpbjogSW50IGFzIGludDMyOwogICAgYWRkcmVzczogU2xpY2U7Cn0KCi8vLyBBc3NlbWJseSBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRh" +
"Y3QgMS41LjAuCi8vLwovLy8gQ29udmVydHMgYSBgU2xpY2VgIGNvbnRhaW5pbmcgYW4gYWRkcmVzcyBpbnRvIHRoZSBgU3RkQWRkcmVzc2AgU3RydWN0IGFuZCByZXR1" +
"cm5zIGl0LgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBhZGRyID0gYWRkcmVzcygiRVFEdEZwRXdjRkFFY1JlNW1MVmgyTjZD" +
"MHgtX2hKRU03VzYxX0pMblNGNzRwNHEyIik7Ci8vLyAgICAgbGV0IHBhcnNlZEFkZHIgPSBwYXJzZVN0ZEFkZHJlc3MoYWRkci5hc1NsaWNlKCkpOwovLy8KLy8vICAg" +
"ICBwYXJzZWRBZGRyLndvcmtjaGFpbjsgLy8gMAovLy8gICAgIHBhcnNlZEFkZHIuYWRkcmVzczsgICAvLyAxMDcuLi4yODcKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNl" +
"ZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjcGFyc2VzdGRhZGRyZXNzCi8vLwphc20gZnVuIHBhcnNlU3RkQWRkcmVzcyhzbGlj" +
"ZTogU2xpY2UpOiBTdGRBZGRyZXNzIHsgUkVXUklURVNUREFERFIgfQoKLy8vIEFzc2VtYmx5IGZ1bmN0aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8v" +
"Ci8vLyBDb252ZXJ0cyBhIGBTbGljZWAgY29udGFpbmluZyBhbiBhZGRyZXNzIG9mIHZhcmlhYmxlIGxlbmd0aCBpbnRvIHRoZSBgVmFyQWRkcmVzc2AgU3RydWN0IGFu" +
"ZCByZXR1cm5zIGl0LgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCB2YXJBZGRyU2xpY2UgPSBiZWdpbkNlbGwoKQovLy8gICAg" +
"ICAgICAuc3RvcmVVaW50KDYsIDMpICAgICAvLyB0byByZWNvZ25pemUgdGhlIGZvbGxvd2luZyBhcyBhIFZhckFkZHJlc3MKLy8vICAgICAgICAgLnN0b3JlVWludCgx" +
"MjMsIDkpICAgLy8gbWFrZSBhZGRyZXNzIG9jY3VweSAxMjMgYml0cwovLy8gICAgICAgICAuc3RvcmVVaW50KDIzNCwgMzIpICAvLyBzcGVjaWZ5IHdvcmtjaGFpbiBJ" +
"RCBvZiAyMzQKLy8vICAgICAgICAgLnN0b3JlVWludCgzNDUsIDEyMykgLy8gc3BlY2lmeSBhZGRyZXNzIG9mIDM0NQovLy8gICAgICAgICAuYXNTbGljZSgpOwovLy8g" +
"ICAgIGxldCBwYXJzZWRWYXJBZGRyID0gcGFyc2VWYXJBZGRyZXNzKHZhckFkZHJTbGljZSk7Ci8vLwovLy8gICAgIHBhcnNlZFZhckFkZHIud29ya2NoYWluOyAgICAg" +
"ICAgICAgICAvLyAyMzQKLy8vICAgICBwYXJzZWRWYXJBZGRyLmFkZHJlc3M7ICAgICAgICAgICAgICAgLy8gQ1N7Q2VsbHswMDIuLi4yYjN9IGJpdHM6IDQ0Li4xNjc7" +
"IHJlZnM6IDAuLjB9Ci8vLyAgICAgcGFyc2VkVmFyQWRkci5hZGRyZXNzLmxvYWRVaW50KDEyMyk7IC8vIDM0NQovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRw" +
"czovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNwYXJzZXZhcmFkZHJlc3MKLy8vCmFzbSBmdW4gcGFyc2VWYXJBZGRyZXNzKHNsaWNlOiBTbGlj" +
"ZSk6IFZhckFkZHJlc3MgeyBSRVdSSVRFVkFSQUREUiB9CgovLy8gR2xvYmFsIGZ1bmN0aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBSZXR1" +
"cm5zIHRoZSBgSW50YCB2YWx1ZSBvZiB0aGUgbG9naWNhbCB0aW1lIG9mIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFt" +
"cGxlKCkgewovLy8gICAgIGxldCBsdDogSW50ID0gY3VyTHQoKTsKLy8vICAgICBuYXRpdmVSYW5kb21pemUobHQpOyAvLyBlcXVpdmFsZW50IHRvIGNhbGxpbmcgbmF0" +
"aXZlUmFuZG9taXplTHQoKQovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNj" +
"dXJsdAovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNuYXRpdmVyYW5kb21pemUKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3Qt" +
"bGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjbmF0aXZlcmFuZG9taXplbHQKLy8vCmFzbSBmdW4gY3VyTHQoKTogSW50IHsgTFRJTUUgfQoKLy8vIEdsb2JhbCBmdW5j" +
"dGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gUmV0dXJucyB0aGUgYEludGAgdmFsdWUgb2YgdGhlIHN0YXJ0aW5nIGxvZ2ljYWwgdGltZSBv" +
"ZiB0aGUgY3VycmVudCBibG9jay4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgdGltZTogSW50ID0gYmxvY2tMdCgpOwovLy8g" +
"fQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNibG9ja2x0Ci8vLwphc20gZnVuIGJsb2NrTHQo" +
"KTogSW50IHsgQkxPQ0tMVCB9CgovLy8gR2xvYmFsIGZ1bmN0aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBTZXRzIHRoZSBgZ2FzX2xpbWl0" +
"YCB0byB0aGUgYEludGAgYGxpbWl0YCBhbmQgcmVzZXRzIHRoZSBgZ2FzX2NyZWRpdGAgdG8gMC4gTm90ZSB0aGF0IHNwZWNpZnlpbmcgdGhlIGBsaW1pdGAgaGlnaGVy" +
"IHRoYW4gdGhlIG1heGltdW0gYWxsb3dlZCB2YWx1ZSBvZiAyXjYzIC0gMSB3aWxsIGhhdmUgdGhlIHNhbWUgcmVzdWx0IGFzIHdpdGggc3BlY2lmeWluZyB0aGF0IGV4" +
"YWN0IG1heGltdW0gb3IgY2FsbGluZyBgYWNjZXB0TWVzc2FnZSgpYC4KLy8vCi8vLyBBdHRlbXB0cyB0byBzcGVjaWZ5IGEgbmVnYXRpdmUgb3IgaW5zdWZmaWNpZW50" +
"IHZhbHVlIG9mIGBsaW1pdGAgd2lsbCBjYXVzZSBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUgLTE0OiBgT3V0IG9mIGdhcyBlcnJvcmAuCi8vLwovLy8gYGBgdGFj" +
"dAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgc2V0R2FzTGltaXQoNDIwMDApOwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1s" +
"YW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNzZXRnYXNsaW1pdAovLy8KYXNtIGZ1biBzZXRHYXNMaW1pdChsaW1pdDogSW50KSB7IFNFVEdBU0xJTUlUIH0KCi8vLyBH" +
"bG9iYWwgZnVuY3Rpb24uIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIEdlbmVyYXRlcyBhbmQgcmV0dXJucyBhbiB1bnNpZ25lZCAyNTYtYml0IGBJ" +
"bnRgIHNlZWQgZm9yIHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvci4gVGhlIHJlc3VsdGluZyBzZWVkIGlzIGNvbW1vbmx5IHVzZWQgd2l0aCB0aGUgYHNldFNlZWQo" +
"KWAgYW5kIGBuYXRpdmVSYW5kb21pemUoKWAgZnVuY3Rpb25zLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzZWVkOiBJbnQg" +
"PSBnZXRTZWVkKCk7Ci8vLyAgICAgc2V0U2VlZChzZWVkKTsgLy8gZnJvbSBub3cgb24gdGhlIHJlc3VsdHMgb2YgcHNldWRvcmFuZG9tIG51bWJlciBnZW5lcmF0b3IK" +
"Ly8vICAgICAgICAgICAgICAgICAgICAvLyBhcmUgY29tcGxldGVseSBkZXRlcm1pbmVkIGJ5IHRoZSBzZWVkLCB3aGljaCBjYW4gYmUgaGFuZHkgaW4gdGVzdHMsCi8v" +
"LyAgICAgICAgICAgICAgICAgICAgLy8gYnV0IG11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBjb2RlIQovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8g" +
"KiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNnZXRzZWVkCi8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3Jl" +
"LWFkdmFuY2VkI3NldHNlZWQKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjbmF0aXZlcmFuZG9taXplCi8vLwphc20gZnVu" +
"IGdldFNlZWQoKTogSW50IHsgUkFORFNFRUQgfQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gU2V0cyB0aGUg" +
"c2VlZCBvZiB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgdG8gdGhlIHVuc2lnbmVkIDI1Ni1iaXQgYEludGAgYHNlZWRgIHdoaWNoIGNhbiBiZSBvYnRhaW5lZCB3" +
"aXRoIHRoZSBgZ2V0U2VlZCgpYCBmdW5jdGlvbi4KLy8vCi8vLyBBdHRlbXB0cyB0byBzcGVjaWZ5IGEgbmVnYXRpdmUgdmFsdWUgb2YgYHNlZWRgIHRocm93IGFuIGV4" +
"Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA1OiBgSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewov" +
"Ly8gICAgIGxldCBzZWVkOiBJbnQgPSBnZXRTZWVkKCk7Ci8vLyAgICAgc2V0U2VlZChzZWVkKTsgLy8gZnJvbSBub3cgb24gdGhlIHJlc3VsdHMgb2YgcHNldWRvcmFu" +
"ZG9tIG51bWJlciBnZW5lcmF0b3IKLy8vICAgICAgICAgICAgICAgICAgICAvLyBhcmUgY29tcGxldGVseSBkZXRlcm1pbmVkIGJ5IHRoZSBzZWVkLCB3aGljaCBjYW4g" +
"YmUgaGFuZHkgaW4gdGVzdHMsCi8vLyAgICAgICAgICAgICAgICAgICAgLy8gYnV0IG11c3Qgbm90IGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBjb2RlIQovLy8gfQovLy8g" +
"YGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNzZXRzZWVkCi8vLyAqIGh0dHBzOi8vZG9jcy50" +
"YWN0LWxhbmcub3JnL3JlZi9jb3JlLWFkdmFuY2VkI2dldHNlZWQKLy8vCmFzbSBmdW4gc2V0U2VlZChzZWVkOiBJbnQpIHsgU0VUUkFORCB9CgovLy8gR2xvYmFsIGZ1" +
"bmN0aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBSZXR1cm5zIHRoZSBzbWFydCBjb250cmFjdCBjb2RlIGBDZWxsYCBvYnRhaW5lZCBmcm9t" +
"IHRoZSBgYzdgIHJlZ2lzdGVyLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBjb2RlOiBDZWxsID0gbXlDb2RlKCk7Ci8vLyB9" +
"Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWFkdmFuY2VkI215Y29kZQovLy8KYXNtIGZ1biBteUNvZGUoKTog" +
"Q2VsbCB7IE1ZQ09ERSB9Cg==";
files["std/internal/crypto.tact"] =
"YXNtIGV4dGVuZHMgZnVuIGhhc2goc2VsZjogQ2VsbCk6IEludCB7IEhBU0hDVSB9Cgphc20gZXh0ZW5kcyBmdW4gaGFzaChzZWxmOiBTbGljZSk6IEludCB7IEhBU0hT" +
"VSB9Cgphc20gZnVuIGNoZWNrU2lnbmF0dXJlKGhhc2g6IEludCwgc2lnbmF0dXJlOiBTbGljZSwgcHVibGljX2tleTogSW50KTogQm9vbCB7IENIS1NJR05VIH0KCmFz" +
"bSBmdW4gY2hlY2tEYXRhU2lnbmF0dXJlKGRhdGE6IFNsaWNlLCBzaWduYXR1cmU6IFNsaWNlLCBwdWJsaWNfa2V5OiBJbnQpOiBCb29sIHsgQ0hLU0lHTlMgfQo=";
files["std/internal/debug.tact"] =
"Ly8gdGhlc2UgYXJlIGJ1aWx0aW4gZnVuY3Rpb25zLCB0aGVzZSBnZXQgc3BlY2lhbCB0cmVhdG1lbnQgZnJvbSBGdW5DCi8vIGhlbmNlLCBubyBhc20gaGVyZQoKQG5h" +
"bWUodGhyb3cpCm5hdGl2ZSBuYXRpdmVUaHJvdyhjb2RlOiBJbnQpOwoKQG5hbWUodGhyb3dfaWYpCm5hdGl2ZSBuYXRpdmVUaHJvd0lmKGNvZGU6IEludCwgY29uZGl0" +
"aW9uOiBCb29sKTsKCkBuYW1lKHRocm93KQpuYXRpdmUgdGhyb3coY29kZTogSW50KTsKCkBuYW1lKHRocm93X3VubGVzcykKbmF0aXZlIG5hdGl2ZVRocm93VW5sZXNz" +
"KGNvZGU6IEludCwgY29uZGl0aW9uOiBCb29sKTs=";
files["std/internal/math.tact"] =
"Ly8gUHJlcGFyZSByYW5kb20KCi8vLyBHbG9iYWwgZnVuY3Rpb24uCi8vLwovLy8gUmFuZG9taXplcyB0aGUgcHNldWRvcmFuZG9tIG51bWJlciBnZW5lcmF0b3Igd2l0" +
"aCB0aGUgc3BlY2lmaWVkIHVuc2lnbmVkIDI1Ni1iaXQgYEludGAgYHhgIGJ5IG1peGluZyBpdCB3aXRoIHRoZSBjdXJyZW50IHNlZWQuIFRoZSBuZXcgc2VlZCBpcyB0" +
"aGUgdW5zaWduZWQgMjU2LWJpdCBgSW50YCB2YWx1ZSBvZiB0aGUgU0hBLTI1NiBoYXNoIG9mIGNvbmNhdGVuYXRlZCBvbGQgc2VlZCBhbmQgYHhgIGluIHRoZWlyIDMy" +
"LWJ5dGUgc3RyaW5ncyBiaWctZW5kaWFuIHJlcHJlc2VudGF0aW9uLgovLy8KLy8vIEF0dGVtcHRzIHRvIHNwZWNpZnkgYSBuZWdhdGl2ZSB2YWx1ZSBvZiBgeGAgdGhy" +
"b3cgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBjb2RlIDU6IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1w" +
"bGUoKSB7Ci8vLyAgICAgbmF0aXZlUmFuZG9taXplKDQyKTsgICAgICAgIC8vIG5vdywgcmFuZG9tIG51bWJlcnMgYXJlIGxlc3MgcHJlZGljdGFibGUKLy8vICAgICBs" +
"ZXQgaWRrOiBJbnQgPSByYW5kb21JbnQoKTsgLy8gPz8/LCBpdCdzIHJhbmRvbSwKLy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYnV0IHRoZSBz" +
"ZWVkIHdhcyBhZGp1c3RlZCBkZXRlcm1pbmlzdGljYWxseSEKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcv" +
"cmVmL2NvcmUtYWR2YW5jZWQjbmF0aXZlcmFuZG9taXplCi8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLXJhbmRvbSNyYW5kb21pbnQKLy8v" +
"CmFzbSBmdW4gbmF0aXZlUmFuZG9taXplKHg6IEludCkgeyBBRERSQU5EIH0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uCi8vLwovLy8gUmFuZG9taXplcyB0aGUgcmFuZG9t" +
"IG51bWJlciBnZW5lcmF0b3Igd2l0aCB0aGUgbG9naWNhbCB0aW1lIG9mIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiBFcXVpdmFsZW50IHRvIGNhbGxpbmcgYG5hdGl2" +
"ZVJhbmRvbWl6ZShjdXJMdCgpKWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbmF0aXZlUmFuZG9taXplTHQoKTsgICAgICAgIC8v" +
"IG5vdywgcmFuZG9tIG51bWJlcnMgYXJlIHVucHJlZGljdGFibGUgZm9yIHVzZXJzLAovLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBidXQgc3Rp" +
"bGwgbWF5IGJlIGFmZmVjdGVkIGJ5IHZhbGlkYXRvcnMgb3IgY29sbGF0b3JzCi8vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFzIHRoZXkgZGV0" +
"ZXJtaW5lIHRoZSBzZWVkIG9mIHRoZSBjdXJyZW50IGJsb2NrLgovLy8gICAgIGxldCBpZGs6IEludCA9IHJhbmRvbUludCgpOyAvLyA/Pz8sIGl0J3MgcmFuZG9tIQov" +
"Ly8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNuYXRpdmVyYW5kb21pemVsdAov" +
"Ly8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZHZhbmNlZCNuYXRpdmVyYW5kb21pemUKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5v" +
"cmcvcmVmL2NvcmUtYWR2YW5jZWQjY3VybHQKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtcmFuZG9tI3JhbmRvbWludAovLy8KYXNtIGZ1" +
"biBuYXRpdmVSYW5kb21pemVMdCgpIHsgTFRJTUUgQUREUkFORCB9CgovLy8gR2xvYmFsIGZ1bmN0aW9uLgovLy8KLy8vIFByZXBhcmVzIGEgcmFuZG9tIG51bWJlciBn" +
"ZW5lcmF0b3IgYnkgdXNpbmcgYG5hdGl2ZVJhbmRvbWl6ZUx0KClgLiBBdXRvbWF0aWNhbGx5IGNhbGxlZCBieSBgcmFuZG9tSW50KClgIGFuZCBgcmFuZG9tKClgIGZ1" +
"bmN0aW9ucy4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBuYXRpdmVQcmVwYXJlUmFuZG9tKCk7IC8vIHByZXBhcmUgdGhlIFJORwov" +
"Ly8gICAgIC8vIC4uLiBkbyB5b3VyIHJhbmRvbSB0aGluZ3MgLi4uCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcu" +
"b3JnL3JlZi9jb3JlLWFkdmFuY2VkI25hdGl2ZXByZXBhcmVyYW5kb20KLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWR2YW5jZWQjbmF0" +
"aXZlcmFuZG9taXplbHQKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtcmFuZG9tI3JhbmRvbWludAovLy8gKiBodHRwczovL2RvY3MudGFj" +
"dC1sYW5nLm9yZy9yZWYvY29yZS1yYW5kb20jcmFuZG9tCi8vLwpAbmFtZShfX3RhY3RfcHJlcGFyZV9yYW5kb20pCm5hdGl2ZSBuYXRpdmVQcmVwYXJlUmFuZG9tKCk7" +
"CgovLyBSYW5kb20KCi8vIEdlbmVyYXRlcyBhIG5ldyBwc2V1ZG8tcmFuZG9tIHVuc2lnbmVkIDI1Ni1iaXQgaW50ZWdlciB4LgovLyBUaGUgYWxnb3JpdGhtIGlzIGFz" +
"IGZvbGxvd3M6IGlmIHIgaXMgdGhlIG9sZCB2YWx1ZSBvZiB0aGUgcmFuZG9tIHNlZWQsCi8vIGNvbnNpZGVyZWQgYXMgYSAzMi1ieXRlIGFycmF5IChieSBjb25zdHJ1" +
"Y3RpbmcgdGhlIGJpZy1lbmRpYW4gcmVwcmVzZW50YXRpb24KLy8gb2YgYW4gdW5zaWduZWQgMjU2LWJpdCBpbnRlZ2VyKSwgdGhlbiBpdHMgc2hhNTEyKHIpIGlzIGNv" +
"bXB1dGVkOwovLyB0aGUgZmlyc3QgMzIgYnl0ZXMgb2YgdGhpcyBoYXNoIGFyZSBzdG9yZWQgYXMgdGhlIG5ldyB2YWx1ZSByJyBvZiB0aGUgcmFuZG9tIHNlZWQsCi8v" +
"IGFuZCB0aGUgcmVtYWluaW5nIDMyIGJ5dGVzIGFyZSByZXR1cm5lZCBhcyB0aGUgbmV4dCByYW5kb20gdmFsdWUgeC4KYXNtIGZ1biBuYXRpdmVSYW5kb20oKTogSW50" +
"IHsgUkFORFUyNTYgfQoKLy8gR2VuZXJhdGVzIGEgbmV3IHBzZXVkby1yYW5kb20gaW50ZWdlciB6IGluIHRoZSByYW5nZSAwLi5yYW5nZeKIkjEKLy8gKG9yIHJhbmdl" +
"Li7iiJIxLCBpZiByYW5nZSA8IDApLgovLyBNb3JlIHByZWNpc2VseSwgYW4gdW5zaWduZWQgcmFuZG9tIHZhbHVlIHggaXMgZ2VuZXJhdGVkIGFzIGluIGBuYXRpdmVS" +
"YW5kb21gOwovLyB0aGVuIHogOj0geCAqIHJhbmdlIC8gMl4yNTYgaXMgY29tcHV0ZWQuCmFzbSBmdW4gbmF0aXZlUmFuZG9tSW50ZXJ2YWwobWF4OiBJbnQpOiBJbnQg" +
"eyBSQU5EIH0KCmlubGluZSBmdW4gcmFuZG9tSW50KCk6IEludCB7CiAgICBuYXRpdmVQcmVwYXJlUmFuZG9tKCk7CiAgICByZXR1cm4gbmF0aXZlUmFuZG9tKCk7Cn0K" +
"CmlubGluZSBmdW4gcmFuZG9tKG1pbjogSW50LCBtYXg6IEludCk6IEludCB7CiAgICBuYXRpdmVQcmVwYXJlUmFuZG9tKCk7CiAgICByZXR1cm4gbWluICsgbmF0aXZl" +
"UmFuZG9tSW50ZXJ2YWwobWF4IC0gbWluKTsKfQoKLy8gTWF0aAoKLy8vIEdsb2JhbCBmdW5jdGlvbi4KLy8vCi8vLyBDb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgbWlu" +
"aW11bSBvZiB0d28gYEludGAgdmFsdWVzIGB4YCBhbmQgYHlgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlcygpIHsKLy8vICAgICBtaW4oMSwgMik7ICAg" +
"ICAgICAvLyAxCi8vLyAgICAgbWluKDIsIDIpOyAgICAgICAgLy8gMgovLy8gICAgIG1pbigwMDcsIDMpOyAgICAgIC8vIDMKLy8vICAgICBtaW4oMHg0NSwgM18wXzAp" +
"OyAvLyA2OSwgbmljZQovLy8gICAgIC8vICDihpEgICAgIOKGkQovLy8gICAgIC8vICA2OSAgICAzMDAKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9k" +
"b2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtbWF0aCNtaW4KLy8vCmFzbSBmdW4gbWluKHg6IEludCwgeTogSW50KTogSW50IHsgTUlOIH0KCi8vLyBHbG9iYWwgZnVu" +
"Y3Rpb24uCi8vLwovLy8gQ29tcHV0ZXMgYW5kIHJldHVybnMgdGhlIG1heGltdW0gb2YgdHdvIGBJbnRgIHZhbHVlcyBgeGAgYW5kIGB5YC4KLy8vCi8vLyBgYGB0YWN0" +
"Ci8vLyBmdW4gZXhhbXBsZXMoKSB7Ci8vLyAgICAgbWF4KDEsIDIpOyAgICAgICAgLy8gMgovLy8gICAgIG1heCgyLCAyKTsgICAgICAgIC8vIDIKLy8vICAgICBtYXgo" +
"MDA3LCAzKTsgICAgICAvLyA3Ci8vLyAgICAgbWF4KDB4NDUsIDNfMF8wKTsgLy8gMzAwCi8vLyAgICAgLy8gIOKGkSAgICAg4oaRCi8vLyAgICAgLy8gIDY5ICAgIDMw" +
"MAovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1tYXRoI21heAovLy8KYXNtIGZ1biBtYXgoeDogSW50" +
"LCB5OiBJbnQpOiBJbnQgeyBNQVggfQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4KLy8vCi8vLyBDb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgYWJzb2x1dGUgdmFsdWUgb2Yg" +
"dGhlIGBJbnRgIHZhbHVlIGB4YC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZXMoKSB7Ci8vLyAgICAgYWJzKDQyKTsgICAgICAgIC8vIDQyCi8vLyAgICAg" +
"YWJzKC00Mik7ICAgICAgIC8vIDQyCi8vLyAgICAgYWJzKC0oLSgtNDIpKSk7IC8vIDQyCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0" +
"LWxhbmcub3JnL3JlZi9jb3JlLW1hdGgjYWJzCi8vLwphc20gZnVuIGFicyh4OiBJbnQpOiBJbnQgeyBBQlMgfQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4KLy8vCi8vLyBS" +
"ZXR1cm5zIHRoZSBjdXJyZW50IFVuaXggdGltZS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgdGltZU9mZnNldDogSW50ID0g" +
"bm93KCkgKyAxMDAwOyAvLyB0aG91c2FuZCBzZWNvbmRzIGZyb20gbm93KCkKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5v" +
"cmcvcmVmL2NvcmUtY29tbW9uI25vdwovLy8KYXNtIGZ1biBub3coKTogSW50IHsgTk9XIH0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uCi8vLwovLy8gQ29tcHV0ZXMgYW5k" +
"IHJldHVybnMgdGhlIGxvZ2FyaXRobSBvZiBhIG51bWJlciBgbnVtYCA+IDAgdG8gdGhlIGJhc2UgYGJhc2VgIOKJpSAxLiBSZXN1bHRzIGFyZSByb3VuZGVkIGRvd24u" +
"Ci8vLwovLy8gQXR0ZW1wdHMgdG8gc3BlY2lmeSBhIG5vbi1wb3NpdGl2ZSBgbnVtYCB2YWx1ZSBvciBhIGBiYXNlYCBsZXNzIHRoYW4gMSB0aHJvdyBhbiBlcnJvciB3" +
"aXRoIGV4aXQgY29kZSA1OiBgSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlcygpIHsKLy8vICAgICBs" +
"b2coMTAwMCwgMTApOyAvLyAzLCBhcyAxMF4zIGlzIDEwMDAKLy8vICAgICAvLyAg4oaRICAgICDihpEgICAgICAgICAgICAg4oaRICAgICAgIOKGkQovLy8gICAgIC8v" +
"ICBudW0gICBiYXNlICAgICAgICAgIGJhc2UgICAgbnVtCi8vLwovLy8gICAgIGxvZygxMDAxLCAxMCk7ICAvLyAzCi8vLyAgICAgbG9nKDk5OSwgMTApOyAgIC8vIDIK" +
"Ly8vICAgICB0cnkgewovLy8gICAgICAgICBsb2coLTEwMDAsIDEwKTsgLy8gZXhpdCBjb2RlIDUgYmVjYXVzZSBvZiB0aGUgbm9uLXBvc2l0aXZlIG51bQovLy8gICAg" +
"IH0KLy8vICAgICBsb2coMTAyNCwgMik7ICAgLy8gMTAKLy8vICAgICB0cnkgewovLy8gICAgICAgICBsb2coMTAyNCwgLTIpOyAgLy8gZXhpdCBjb2RlIDUgYmVjYXVz" +
"ZSB0aGUgYmFzZSBpcyBsZXNzIHRoYW4gMQovLy8gICAgIH0KLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcv" +
"cmVmL2NvcmUtbWF0aCNsb2cKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtbWF0aCNsb2cyCi8vLwpAbmFtZShfX3RhY3RfbG9nKQpuYXRp" +
"dmUgbG9nKG51bTogSW50LCBiYXNlOiBJbnQpOiBJbnQ7CgovLy8gR2xvYmFsIGZ1bmN0aW9uLgovLy8KLy8vIFNpbWlsYXIgdG8gYGxvZygpYCwgYnV0IHNldHMgdGhl" +
"IGBiYXNlYCB0byAyLgovLy8KLy8vIEF0dGVtcHRzIHRvIHNwZWNpZnkgYSBub24tcG9zaXRpdmUgYG51bWAgdmFsdWUgdGhyb3cgYW4gZXJyb3Igd2l0aCBleGl0IGNv" +
"ZGUgNTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsb2cyKDEwMjQpOyAv" +
"LyAxMCwgYXMgMl4xMCBpcyAxMDI0Ci8vLyAgICAgLy8gICDihpEgICAgICAgICAgICAgICAg4oaRICAgICAgIOKGkQovLy8gICAgIC8vICAgbnVtICAgICAgICAgICAg" +
"ICBiYXNl4oKCICAgbnVtCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLW1hdGgjbG9nMgov" +
"Ly8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1tYXRoI2xvZwovLy8KYXNtIGZ1biBsb2cyKG51bTogSW50KTogSW50IHsgRFVQIDUgVEhST1dJ" +
"Rk5PVCBVQklUU0laRSBERUMgfQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4KLy8vCi8vLyBDb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgZXhwb25lbnRpYXRpb24gaW52b2x2" +
"aW5nIHR3byBudW1iZXJzOiB0aGUgYGJhc2VgIGFuZCB0aGUgZXhwb25lbnQgKG9yIF9wb3dlcl8pIGBleHBgLiBFeHBvbmVudCBgZXhwYCBtdXN0IGJlIG5vbi1uZWdh" +
"dGl2ZSwgb3RoZXJ3aXNlIGFuIGVycm9yIHdpdGggZXhpdCBjb2RlIDUgd2lsbCBiZSB0aHJvd246IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwov" +
"Ly8gVGhpcyBmdW5jdGlvbiB0cmllcyB0byByZXNvbHZlIGNvbnN0YW50IHZhbHVlcyBpbiBjb21waWxlLXRpbWUgd2hlbmV2ZXIgcG9zc2libGUuCi8vLwovLy8gYGBg" +
"dGFjdAovLy8gY29udHJhY3QgRXhhbXBsZSB7Ci8vLyAgICAgLy8gUGVyc2lzdGVudCBzdGF0ZSB2YXJpYWJsZXMKLy8vICAgICBwMjM6IEludCA9IHBvdygyLCAzKTsg" +
"Ly8gcmFpc2VzIDIgdG8gdGhlIDNyZCBwb3dlciwgd2hpY2ggaXMgOAovLy8gICAgIG9uZTogSW50ID0gcG93KDUsIDApOyAvLyByYWlzZXMgNSB0byB0aGUgcG93ZXIg" +
"MCwgd2hpY2ggYWx3YXlzIHByb2R1Y2VzIDEKLy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd29ya3MgYXQgY29tcGlsZS10aW1lIQovLy8KLy8vICAgICAv" +
"LyBJbnRlcm5hbCBtZXNzYWdlIHJlY2VpdmVyCi8vLyAgICAgcmVjZWl2ZSgpIHsKLy8vICAgICAgICAgcG93KHNlbGYucDIzLCBzZWxmLm9uZSArIDEpOyAvLyA2NCwg" +
"d29ya3MgYXQgcnVuLXRpbWUgdG9vIQovLy8gICAgICAgICB0cnkgewovLy8gICAgICAgICAgICAgcG93KDAsIC0xKTsgLy8gZXhpdCBjb2RlIDU6IEludGVnZXIgb3V0" +
"IG9mIGV4cGVjdGVkIHJhbmdlCi8vLyAgICAgICAgIH0KLy8vICAgICB9Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxh" +
"bmcub3JnL3JlZi9jb3JlLW1hdGgjcG93Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLW1hdGgjcG93MgovLy8KQG5hbWUoX190YWN0X3Bv" +
"dykKbmF0aXZlIHBvdyhiYXNlOiBJbnQsIGV4cDogSW50KTogSW50OwoKLy8vIEdsb2JhbCBmdW5jdGlvbi4KLy8vCi8vLyBTaW1pbGFyIHRvIGBwb3coKWAsIGJ1dCBz" +
"ZXRzIHRoZSBgYmFzZWAgdG8gMi4gRXhwb25lbnQgYGV4cGAgbXVzdCBiZSBub24tbmVnYXRpdmUsIG90aGVyd2lzZSBhbiBlcnJvciB3aXRoIGV4aXQgY29kZSA1IHdp" +
"bGwgYmUgdGhyb3duOiBgSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VgLgovLy8KLy8vIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVzb2x2ZSBjb25zdGFudCB2" +
"YWx1ZXMgaW4gY29tcGlsZS10aW1lIHdoZW5ldmVyIHBvc3NpYmxlLgovLy8KLy8vIGBgYHRhY3QKLy8vIGNvbnRyYWN0IEV4YW1wbGUgewovLy8gICAgIC8vIFBlcnNp" +
"c3RlbnQgc3RhdGUgdmFyaWFibGVzCi8vLyAgICAgcDIzOiBJbnQgPSBwb3cyKDMpOyAvLyByYWlzZXMgMiB0byB0aGUgM3JkIHBvd2VyLCB3aGljaCBpcyA4Ci8vLyAg" +
"ICAgb25lOiBJbnQgPSBwb3cyKDApOyAvLyByYWlzZXMgMiB0byB0aGUgcG93ZXIgMCwgd2hpY2ggYWx3YXlzIHByb2R1Y2VzIDEKLy8vICAgICAgICAgICAgICAgICAg" +
"ICAgICAgIC8vIHdvcmtzIGF0IGNvbXBpbGUtdGltZSEKLy8vCi8vLyAgICAgLy8gSW50ZXJuYWwgbWVzc2FnZSByZWNlaXZlciwgd2hpY2ggYWNjZXB0cyBtZXNzYWdl" +
"IEV4dE1zZwovLy8gICAgIHJlY2VpdmUoKSB7Ci8vLyAgICAgICAgIHBvdzIoc2VsZi5vbmUgKyAxKTsgLy8gNCwgd29ya3MgYXQgcnVuLXRpbWUgdG9vIQovLy8gICAg" +
"ICAgICB0cnkgewovLy8gICAgICAgICAgICAgcG93KC0xKTsgLy8gZXhpdCBjb2RlIDU6IEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlCi8vLyAgICAgICAgIH0K" +
"Ly8vICAgICB9Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLW1hdGgjcG93MgovLy8gKiBo" +
"dHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1tYXRoI3BvdwovLy8KYXNtIGZ1biBwb3cyKGV4cDogSW50KTogSW50IHsgUE9XMiB9CgovLy8gR2xvYmFs" +
"IGZ1bmN0aW9uLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBDb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgc2lnbiBvZiB0aGUgYEludGAgdmFsdWUg" +
"YHhgLiBQcm9kdWNlcyAxIGlmIHRoZSBgeGAgaXMgcG9zaXRpdmUsIC0xIGlmIHRoZSBgeGAgaXMgbmVnYXRpdmUsIGFuZCAwIGlmIHRoZSBgeGAgaXMgMC4KLy8vCi8v" +
"LyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZXMoKSB7Ci8vLyAgICAgc2lnbig0Mik7ICAgICAgICAvLyAxCi8vLyAgICAgc2lnbigtNDIpOyAgICAgICAvLyAtMQovLy8g" +
"ICAgIHNpZ24oLSgtNDIpKTsgICAgLy8gMQovLy8gICAgIHNpZ24oLSgtKC00MikpKTsgLy8gLTEKLy8vICAgICBzaWduKDApOyAgICAgICAgIC8vIDAKLy8vIH0KLy8v" +
"IGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtbWF0aCNzaWduCi8vLwphc20gZnVuIHNpZ24oeDogSW50KTogSW50IHsg" +
"U0dOIH0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIENvbXB1dGVzIGFuZCByZXR1cm5zIHRoZSByb3VuZGVk" +
"IHVwIHJlc3VsdCBvZiBkaXZpc2lvbiBvZiB0aGUgYEludGAgYHhgIGJ5IHRoZSBgSW50YCBgeWAuCi8vLwovLy8gQXR0ZW1wdHMgdG8gZGl2aWRlIGJ5IGB5YCBlcXVh" +
"bCB0byAwIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA0OiBgSW50ZWdlciBvdmVyZmxvd2AuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGVz" +
"KCkgewovLy8gICAgIGRpdmMoNCwgMik7ICAvLyAyCi8vLyAgICAgZGl2YygzLCAyKTsgIC8vIDIKLy8vICAgICBkaXZjKC00LCAyKTsgLy8gLTIKLy8vICAgICBkaXZj" +
"KC0zLCAyKTsgLy8gLTEKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtbWF0aCNkaXZjCi8vLwphc20g" +
"ZnVuIGRpdmMoeDogSW50LCB5OiBJbnQpOiBJbnQgeyBESVZDIH0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8v" +
"IENvbXB1dGVzIGFuZCByZXR1cm5zIHRoZSByb3VuZGVkIHVwIHJlc3VsdCBvZiBgKHggKiB5KSAvIHpgLgovLy8KLy8vIElmIHRoZSB2YWx1ZSBpbiBjYWxjdWxhdGlv" +
"biBnb2VzIGJleW9uZCB0aGUgcmFuZ2UgZnJvbSAtMl4yNTYgdG8gMl4yNTYgLSAxIGluY2x1c2l2ZSwgb3IgaWYgdGhlcmUncyBhbiBhdHRlbXB0IHRvIGRpdmlkZSBi" +
"eSBgemAgZXF1YWwgdG8gMCwgYW4gZXhjZXB0aW9uIHdpdGggZXhpdCBjb2RlIDQgaXMgdGhyb3duOiBgSW50ZWdlciBvdmVyZmxvd2AuCi8vLwovLy8gYGBgdGFjdAov" +
"Ly8gZnVuIGV4YW1wbGVzKCkgewovLy8gICAgIG11bGRpdmMoNCwgMSwgMik7ICAvLyAyCi8vLyAgICAgbXVsZGl2YygzLCAxLCAyKTsgIC8vIDIKLy8vICAgICBtdWxk" +
"aXZjKC00LCAxLCAyKTsgLy8gLTIKLy8vICAgICBtdWxkaXZjKC0zLCAxLCAyKTsgLy8gLTEKLy8vICAgICBtdWxkaXZjKC0zLCAwLCAyKTsgLy8gMAovLy8gICAgIG11" +
"bGRpdmMoLTMsIDAsIDApOyAvLyBFUlJPUiEgRXhpdCBjb2RlIDQ6IEludGVnZXIgb3ZlcmZsb3cKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2Nz" +
"LnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtbWF0aCNtdWxkaXZjCi8vLwphc20gZnVuIG11bGRpdmMoeDogSW50LCB5OiBJbnQsIHo6IEludCk6IEludCB7IE1VTERJVkMg" +
"fQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gQ29tcHV0ZXMgYW5kIHJldHVybnMgdGhlIHJvdW5kZWQgZG93" +
"biByZXN1bHQgb2YgYCh4ICogeSkgLyAyXnpgLiBJdCBpcyBhIG1vcmUgZ2FzLWVmZmljaWVudCBlcXVpdmFsZW50IG9mIGRvaW5nIHRoZSBiaXR3aXNlIHNoaWZ0IHJp" +
"Z2h0IG9uIHRoZSByZXN1bHQgb2YgbXVsdGlwbGljYXRpb24gb2YgYEludGAgYHhgIHRpbWVzIGBJbnRgIGB5YCwgd2hlcmUgYEludGAgYHpgIGlzIHRoZSByaWdodCBv" +
"cGVyYW5kIG9mIHRoZSBzaGlmdC4KLy8vCi8vLyBJZiB0aGUgdmFsdWUgaW4gY2FsY3VsYXRpb24gZ29lcyBiZXlvbmQgdGhlIHJhbmdlIGZyb20gLTJeMjU2IHRvIDJe" +
"MjU2IC0gMSBpbmNsdXNpdmUsIGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA0IGlzIHRocm93bjogYEludGVnZXIgb3ZlcmZsb3dgLgovLy8KLy8vIEF0dGVtcHRz" +
"IHRvIHNwZWNpZnkgYW55IHZhbHVlIG9mIGB6YCBvdXRzaWRlIHRoZSBpbmNsdXNpdmUgcmFuZ2UgZnJvbSAwIHRvIDI1NiB0aHJvdyBhbiBleGNlcHRpb24gd2l0aCBl" +
"eGl0IGNvZGUgNTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZXMoKSB7Ci8vLyAgICAgbXVsU2hp" +
"ZnRSaWdodCg1LCA1LCAyKTsgIC8vIDYKLy8vICAgICBtdWxTaGlmdFJpZ2h0KDUsIDUsIDEpOyAgLy8gMTIKLy8vICAgICBtdWxTaGlmdFJpZ2h0KDUsIDUsIDApOyAg" +
"Ly8gMjUKLy8vICAgICBtdWxTaGlmdFJpZ2h0KDUsIDUsIC0xKTsgLy8gRVJST1IhIEV4aXQgY29kZSA1OiBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZQovLy8g" +
"fQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1tYXRoI211bHNoaWZ0cmlnaHQKLy8vCmFzbSBmdW4gbXVsU2hp" +
"ZnRSaWdodCh4OiBJbnQsIHk6IEludCwgejogSW50KTogSW50IHsgTVVMUlNISUZUIH0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEu" +
"Ni4wLgovLy8KLy8vIFNpbWlsYXIgdG8gYG11bFNoaWZ0UmlnaHQoKWAsIGJ1dCBpbnN0ZWFkIG9mIHJvdW5kaW5nIGRvd24sIHRoZSByZXN1bHQgdmFsdWUgaXMgcm91" +
"bmRlZCB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLiBJZiB0aGVyZSBhcmUgdHdvIGVxdWFsbHkgY2xvc2UgaW50ZWdlcnMsIHJvdW5kaW5nIGlzIGRvbmUgdG93YXJkIHRo" +
"ZSBldmVuIG9uZS4KLy8vCi8vLyBJZiB0aGUgdmFsdWUgaW4gY2FsY3VsYXRpb24gZ29lcyBiZXlvbmQgdGhlIHJhbmdlIGZyb20gLTJeMjU2IHRvIDJeMjU2IC0gMSBp" +
"bmNsdXNpdmUsIGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA0IGlzIHRocm93bjogYEludGVnZXIgb3ZlcmZsb3dgLgovLy8KLy8vIEF0dGVtcHRzIHRvIHNwZWNp" +
"ZnkgYW55IHZhbHVlIG9mIGB6YCBvdXRzaWRlIHRoZSBpbmNsdXNpdmUgcmFuZ2UgZnJvbSAwIHRvIDI1NiB0aHJvdyBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUg" +
"NTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZXMoKSB7Ci8vLyAgICAgbXVsU2hpZnRSaWdodFJv" +
"dW5kKDUsIDUsIDIpOyAgLy8gNgovLy8gICAgIG11bFNoaWZ0UmlnaHRSb3VuZCg1LCA1LCAxKTsgIC8vIDEzCi8vLyAgICAgbXVsU2hpZnRSaWdodFJvdW5kKDUsIDUs" +
"IDApOyAgLy8gMjUKLy8vICAgICBtdWxTaGlmdFJpZ2h0Um91bmQoNSwgNSwgLTEpOyAvLyBFUlJPUiEgRXhpdCBjb2RlIDU6IEludGVnZXIgb3V0IG9mIGV4cGVjdGVk" +
"IHJhbmdlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLW1hdGgjbXVsc2hpZnRyaWdodHJvdW5kCi8v" +
"Lwphc20gZnVuIG11bFNoaWZ0UmlnaHRSb3VuZCh4OiBJbnQsIHk6IEludCwgejogSW50KTogSW50IHsgTVVMUlNISUZUUiB9CgovLy8gR2xvYmFsIGZ1bmN0aW9uLiBB" +
"dmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBTaW1pbGFyIHRvIGBtdWxTaGlmdFJpZ2h0KClgLCBidXQgaW5zdGVhZCBvZiByb3VuZGluZyBkb3duLCB0" +
"aGUgcmVzdWx0IHZhbHVlIGlzIHJvdW5kZWQgdXAuCi8vLwovLy8gSWYgdGhlIHZhbHVlIGluIGNhbGN1bGF0aW9uIGdvZXMgYmV5b25kIHRoZSByYW5nZSBmcm9tIC0y" +
"XjI1NiB0byAyXjI1NiAtIDEgaW5jbHVzaXZlLCBhbiBleGNlcHRpb24gd2l0aCBleGl0IGNvZGUgNCBpcyB0aHJvd246IGBJbnRlZ2VyIG92ZXJmbG93YC4KLy8vCi8v" +
"LyBBdHRlbXB0cyB0byBzcGVjaWZ5IGFueSB2YWx1ZSBvZiBgemAgb3V0c2lkZSB0aGUgaW5jbHVzaXZlIHJhbmdlIGZyb20gMCB0byAyNTYgdGhyb3cgYW4gZXhjZXB0" +
"aW9uIHdpdGggZXhpdCBjb2RlIDU6IGBJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGVzKCkgewovLy8g" +
"ICAgIG11bFNoaWZ0UmlnaHRDZWlsKDUsIDUsIDIpOyAgLy8gNwovLy8gICAgIG11bFNoaWZ0UmlnaHRDZWlsKDUsIDUsIDEpOyAgLy8gMTMKLy8vICAgICBtdWxTaGlm" +
"dFJpZ2h0Q2VpbCg1LCA1LCAwKTsgIC8vIDI1Ci8vLyAgICAgbXVsU2hpZnRSaWdodENlaWwoNSwgNSwgLTEpOyAvLyBFUlJPUiEgRXhpdCBjb2RlIDU6IEludGVnZXIg" +
"b3V0IG9mIGV4cGVjdGVkIHJhbmdlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLW1hdGgjbXVsc2hp" +
"ZnRyaWdodGNlaWwKLy8vCmFzbSBmdW4gbXVsU2hpZnRSaWdodENlaWwoeDogSW50LCB5OiBJbnQsIHo6IEludCk6IEludCB7IE1VTFJTSElGVEMgfQoKLy8vIEdsb2Jh" +
"bCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gQ29tcHV0ZXMgdGhlIHNxdWFyZSByb290IG9mIHRoZSBgSW50YCB2YWx1ZSBgbnVt" +
"YC4gUmV0dXJucyB0aGUgcmVzdWx0IHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlci4gSWYgdGhlcmUgYXJlIHR3byBlcXVhbGx5IGNsb3NlIGludGVnZXJzLCBy" +
"b3VuZGluZyBpcyBkb25lIHRvd2FyZCB0aGUgZXZlbiBvbmUuCi8vLwovLy8gQXR0ZW1wdHMgdG8gc3BlY2lmeSBhIG5lZ2F0aXZlIHZhbHVlIG9mIGBudW1gIHRocm93" +
"IGFuIGV4Y2VwdGlvbiB3aXRoIGV4aXQgY29kZSA1OiBgSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxl" +
"cygpIHsKLy8vICAgICBzcXJ0KDQpOyAgLy8gMgovLy8gICAgIHNxcnQoMyk7ICAvLyAyCi8vLyAgICAgc3FydCgyKTsgIC8vIDEKLy8vICAgICBzcXJ0KDEpOyAgLy8g" +
"MQovLy8gICAgIHNxcnQoMCk7ICAvLyAwCi8vLyAgICAgc3FydCgtMSk7IC8vIEVSUk9SISBFeGl0IGNvZGUgNTogSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2UK" +
"Ly8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtbWF0aCNzcXJ0Ci8vLwpmdW4gc3FydChudW06IEludCk6" +
"IEludCB7CiAgICBpZiAobnVtID09IDApIHsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICBsZXQgczogSW50ID0gbG9nMihudW0pOwogICAgbGV0IHg6IEludCA9" +
"IChzID09IDEgPyAobnVtIC0gMSkgLyAyICsgMSA6IDEgPDwgKChzICsgMSkgLyAyKSk7CgogICAgbGV0IHE6IEludCA9IDA7CgogICAgZG8gewogICAgICAgIHEgPSAo" +
"ZGl2YyhudW0sIHgpIC0geCkgLyAyOwogICAgICAgIHggKz0gcTsKICAgIH0gdW50aWwgKHEgPT0gMCk7CgogICAgcmV0dXJuIHg7Cn0K";
files["std/internal/primitives.tact"] =
"cHJpbWl0aXZlIEludDsKcHJpbWl0aXZlIEJvb2w7CnByaW1pdGl2ZSBCdWlsZGVyOwpwcmltaXRpdmUgU2xpY2U7CnByaW1pdGl2ZSBDZWxsOwpwcmltaXRpdmUgQWRk" +
"cmVzczsKcHJpbWl0aXZlIFN0cmluZzsKcHJpbWl0aXZlIFN0cmluZ0J1aWxkZXI7Cg==";
files["std/internal/reserve.tact"] =
"YXNtIGZ1biBuYXRpdmVSZXNlcnZlKGFtb3VudDogSW50LCBtb2RlOiBJbnQpIHsgUkFXUkVTRVJWRSB9Cgpjb25zdCBSZXNlcnZlRXhhY3Q6IEludCA9IDA7CmNvbnN0" +
"IFJlc2VydmVBbGxFeGNlcHQ6IEludCA9IDE7CmNvbnN0IFJlc2VydmVBdE1vc3Q6IEludCA9IDI7CmNvbnN0IFJlc2VydmVBZGRPcmlnaW5hbEJhbGFuY2U6IEludCA9" +
"IDQ7CmNvbnN0IFJlc2VydmVJbnZlcnRTaWduOiBJbnQgPSA4Owpjb25zdCBSZXNlcnZlQm91bmNlSWZBY3Rpb25GYWlsOiBJbnQgPSAxNjs=";
files["std/internal/send.tact"] =
"YXNtIGZ1biBuYXRpdmVTZW5kTWVzc2FnZShjZWxsOiBDZWxsLCBtb2RlOiBJbnQpIHsgU0VORFJBV01TRyB9Cgphc20gZnVuIG5hdGl2ZVNlbmRNZXNzYWdlUmV0dXJu" +
"Rm9yd2FyZEZlZShtc2c6IENlbGwsIG1vZGU6IEludCk6IEludCB7IFNFTkRNU0cgfQoKY29uc3QgU2VuZFJlbWFpbmluZ0JhbGFuY2U6IEludCA9IDEyODsKY29uc3Qg" +
"U2VuZFJlbWFpbmluZ1ZhbHVlOiBJbnQgPSA2NDsKY29uc3QgU2VuZERlZmF1bHRNb2RlOiBJbnQgPSAwOwpjb25zdCBTZW5kSWdub3JlRXJyb3JzOiBJbnQgPSAyOwpj" +
"b25zdCBTZW5kUGF5R2FzU2VwYXJhdGVseTogSW50ID0gMTsKY29uc3QgU2VuZERlc3Ryb3lJZlplcm86IEludCA9IDMyOwpjb25zdCBTZW5kQm91bmNlSWZBY3Rpb25G" +
"YWlsOiBJbnQgPSAxNjsKY29uc3QgU2VuZE9ubHlFc3RpbWF0ZUZlZTogSW50ID0gMTAyNDsKCnN0cnVjdCBTZW5kUGFyYW1ldGVycyB7CiAgICBib3VuY2U6IEJvb2wg" +
"PSB0cnVlOwogICAgdG86IEFkZHJlc3M7CiAgICB2YWx1ZTogSW50OwogICAgbW9kZTogSW50ID0gMDsKICAgIGJvZHk6IENlbGw/ID0gbnVsbDsKICAgIGNvZGU6IENl" +
"bGw/ID0gbnVsbDsKICAgIGRhdGE6IENlbGw/ID0gbnVsbDsKfQoKCi8vLyBHbG9iYWwgZnVuY3Rpb24uIFF1ZXVlcyB0aGUgbWVzc2FnZSB0byBiZSBzZW50IHVzaW5n" +
"IGEgYFNlbmRQYXJhbWV0ZXJzYCBTdHJ1Y3QuCi8vLwovLy8gQXR0ZW1wdHMgdG8gcXVldWUgbW9yZSB0aGFuIDI1NSBtZXNzYWdlcyB0aHJvdyBhbiBleGNlcHRpb24g" +
"d2l0aCBhbiBleGl0IGNvZGUgMzM6IGBBY3Rpb24gbGlzdCBpcyB0b28gbG9uZ2AuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgc2Vu" +
"ZChTZW5kUGFyYW1ldGVyc3sKLy8vICAgICAgICAgdG86IHNlbmRlcigpLCAgICAvLyBiYWNrIHRvIHRoZSBzZW5kZXIsCi8vLyAgICAgICAgIHZhbHVlOiB0b24oIjEi" +
"KSwgLy8gd2l0aCAxIFRvbmNvaW4gKDFfMDAwXzAwMF8wMDAgbmFub1RvbmNvaW4pLAovLy8gICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuZCBubyBtZXNzYWdl" +
"IGJvZHkKLy8vICAgICB9KTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY29tbW9uI3NlbmQKLy8v" +
"CmFzbSBmdW4gc2VuZChwYXJhbXM6IFNlbmRQYXJhbWV0ZXJzKSB7CiAgICAvLyBJbnN0cnVjdGlvbnMgYXJlIGdyb3VwZWQsIGFuZCB0aGUgc3RhY2sgc3RhdGVzIHRo" +
"ZXkgcHJvZHVjZSBhcyBhIGdyb3VwIGFyZSBzaG93biByaWdodCBhZnRlci4KICAgIC8vIEluIHRoZSBlbmQsIG91ciBtZXNzYWdlIENlbGwgc2hvdWxkIGhhdmUgdGhl" +
"IGZvbGxvd2luZyBUTC1CIHN0cnVjdHVyZToKICAgIC8vIG1lc3NhZ2UkXyB7WDpUeXBlfQogICAgLy8gICBpbmZvOkNvbW1vbk1zZ0luZm9SZWxheGVkCiAgICAvLyAg" +
"IGluaXQ6KE1heWJlIChFaXRoZXIgU3RhdGVJbml0IF5TdGF0ZUluaXQpKQogICAgLy8gICBib2R5OihFaXRoZXIgWCBeWCkKICAgIC8vID0gTWVzc2FnZVJlbGF4ZWQg" +
"WDsKCiAgICAvLyBHcm91cCAxOiBSZWFycmFuZ2VtZW50cwogICAgMyA0IEJMS1NXQVAKICAgIHMyIFhDSEcwCiAgICAvLyDihpIgU3RhY2sgc3RhdGUKICAgIC8vIHMw" +
"OiBgcGFyYW1zLmJvdW5jZWAKICAgIC8vIHMxOiBgcGFyYW1zLnRvYAogICAgLy8gczI6IGBwYXJhbXMudmFsdWVgCiAgICAvLyBzMzogYHBhcmFtcy5kYXRhYAogICAg" +
"Ly8gczQ6IGBwYXJhbXMuY29kZWAKICAgIC8vIHM1OiBgcGFyYW1zLmJvZHlgCiAgICAvLyBzNjogYHBhcmFtcy5tb2RlYAogICAgLy8gRm9yIGJyZXZpdHksIHRoZSAi" +
"cGFyYW1zIiBwcmVmaXggd2lsbCBiZSBvbWl0dGVkIGZyb20gbm93IG9uLgoKICAgIC8vIEdyb3VwIDI6IFN0b3JpbmcgdGhlIGBib3VuY2VgLCBgdG9gIGFuZCBgdmFs" +
"dWVgIGludG8gYSBCdWlsZGVyCiAgICBORVdDCiAgICBiezAxfSBTVFNMSUNFQ09OU1QgIC8vIHN0b3JlIHRhZyA9ICQwIGFuZCBpaHJfZGlzYWJsZWQgPSB0cnVlCiAg" +
"ICAxIFNUSSAgICAgICAgICAgICAgIC8vIHN0b3JlIGBib3VuY2VgCiAgICBiezAwMH0gU1RTTElDRUNPTlNUIC8vIHN0b3JlIGJvdW5jZWQgPSBmYWxzZSBhbmQgc3Jj" +
"ID0gYWRkcl9ub25lCiAgICBTVFNMSUNFICAgICAgICAgICAgIC8vIHN0b3JlIGB0b2AKICAgIFNXQVAKICAgIFNUR1JBTVMgICAgICAgICAgICAgLy8gc3RvcmUgYHZh" +
"bHVlYAogICAgMTA1IFBVU0hJTlQgICAgICAgICAvLyAxICsgNCArIDQgKyA2NCArIDMyCiAgICBTVFpFUk9FUyAgICAgICAgICAgIC8vIHN0b3JlIGN1cnJlbmN5X2Nv" +
"bGxlY3Rpb24sIGlocl9mZWUsIGZ3ZF9mZWUsIGNyZWF0ZWRfbHQgYW5kIGNyZWF0ZWRfYXQKICAgIC8vIOKGkiBTdGFjayBzdGF0ZQogICAgLy8gczA6IEJ1aWxkZXIK" +
"ICAgIC8vIHMxOiBgZGF0YWAKICAgIC8vIHMyOiBgY29kZWAKICAgIC8vIHMzOiBgYm9keWAKICAgIC8vIHM0OiBgbW9kZWAKCiAgICAvLyBHcm91cCAzOiBQbGFjaW5n" +
"IHRoZSBCdWlsZGVyIGFmdGVyIGNvZGUgYW5kIGRhdGEsIHRoZW4gY2hlY2tpbmcgdGhvc2UgZm9yIG51bGxhYmlsaXR5CiAgICBzMiBYQ0hHMAogICAgRFVQMgogICAg" +
"SVNOVUxMCiAgICBTV0FQCiAgICBJU05VTEwKICAgIE1VTCAvLyBub3RlIHRoYXQgLTEgKiAtMSB3cmFwcyBiYWNrIHRvIC0xCiAgICAvLyDihpIgU3RhY2sgc3RhdGUK" +
"ICAgIC8vIHMwOiAtMSAodHJ1ZSkgaWYgYGRhdGFgIGFuZCBgY29kZWAgYXJlIGJvdGggbnVsbCwgMCAoZmFsc2UpIG90aGVyd2lzZQogICAgLy8gczE6IGBjb2RlYAog" +
"ICAgLy8gczI6IGBkYXRhYAogICAgLy8gczM6IEJ1aWxkZXIKICAgIC8vIHM0OiBgYm9keWAKICAgIC8vIHM1OiBgbW9kZWAKCiAgICAvLyBHcm91cCA0OiBMZWZ0IGJy" +
"YW5jaCBvZiB0aGUgSUZFTFNFLCBleGVjdXRlZCBpZiBzMCBpcyAtMSAodHJ1ZSkKICAgIDx7CiAgICAgICAgRFJPUDIgLy8gZHJvcCBgZGF0YWAgYW5kIGBjb2RlYCwg" +
"c2luY2UgZWl0aGVyIG9mIHRob3NlIGlzIG51bGwKICAgICAgICBOVUxMICAvLyBwdXNoIGEgc2luZ2xlIG51bGwKICAgICAgICBTV0FQICAvLyBwbGFjZSBCdWlsZGVy" +
"IG9uIHRvcAogICAgfT4gUFVTSENPTlQKCiAgICAvLyBHcm91cCA0OiBSaWdodCBicmFuY2ggb2YgdGhlIElGRUxTRSwgZXhlY3V0ZWQgaWYgczAgaXMgMCAoZmFsc2Up" +
"CiAgICA8ewogICAgICAgIC8vIF8gc3BsaXRfZGVwdGg6KE1heWJlICgjIyA1KSkKICAgICAgICAvLyAgIHNwZWNpYWw6KE1heWJlIFRpY2tUb2NrKQogICAgICAgIC8v" +
"ICAgY29kZTooTWF5YmUgXkNlbGwpCiAgICAgICAgLy8gICBkYXRhOihNYXliZSBeQ2VsbCkKICAgICAgICAvLyAgIGxpYnJhcnk6KE1heWJlIF5DZWxsKQogICAgICAg" +
"IC8vID0gU3RhdGVJbml0OwogICAgICAgIE5FV0MgICAgICAgICAgICAgICAvLyBzdGFydCBjb21wb3NpbmcgU3RhdGVJbml0CiAgICAgICAgYnswMH0gU1RTTElDRUNP" +
"TlNUIC8vIHNwbGl0X2RlcHRoIGFuZCBzcGVjaWFsCiAgICAgICAgU1RESUNUICAgICAgICAgICAgIC8vIHN0b3JlIGNvZGUKICAgICAgICBTVERJQ1QgICAgICAgICAg" +
"ICAgLy8gc3RvcmUgZGF0YQogICAgICAgIGJ7MH0gU1RTTElDRUNPTlNUICAvLyBzdG9yZSBsaWJyYXJ5CiAgICAgICAgRU5EQyAgICAgICAgICAgICAgIC8vIGVuZCBj" +
"b21wb3NpbmcgU3RhdGVJbml0CiAgICAgICAgU1dBUCAgICAgICAgICAgICAgIC8vIHBsYWNlIEJ1aWxkZXIgb24gdG9wCiAgICAgICAgYnsxfSBTVFNMSUNFQ09OU1Qg" +
"IC8vIGFuIGV4dHJhIGJpdCBmb3Igc3RvcmluZyBTdGF0ZUluaXQgYXMgcmVmCiAgICB9PiBQVVNIQ09OVAoKICAgIC8vIEdyb3VwIDQ6IElGRUxTRSB0aGF0IGRvZXMg" +
"dGhlIGJyYW5jaGluZyBzaG93biBhYm92ZQogICAgSUZFTFNFCiAgICAvLyDihpIgU3RhY2sgc3RhdGUKICAgIC8vIHMwOiBCdWlsZGVyCiAgICAvLyBzMTogbnVsbCBv" +
"ciBTdGF0ZUluaXQKICAgIC8vIHMyOiBgYm9keWAKICAgIC8vIHMzOiBgbW9kZWAKCiAgICAvLyBHcm91cCA1OiBGaW5hbGl6aW5nIHRoZSBtZXNzYWdlCiAgICBTVERJ" +
"Q1QgLy8gc3RvcmUgU3RhdGVJbml0CiAgICBTVERJQ1QgLy8gc3RvcmUgYGJvZHlgIGFzIHJlZiB3aXRoIGFuIGV4dHJhIE1heWJlIGJpdCwgc2luY2UgYGJvZHlgIG1p" +
"Z2h0IGJlIG51bGwKICAgIEVOREMKICAgIC8vIOKGkiBTdGFjayBzdGF0ZQogICAgLy8gczA6IENlbGwKICAgIC8vIHMxOiBgbW9kZWAKCiAgICAvLyBHcm91cCA2OiBT" +
"ZW5kaW5nIHRoZSBtZXNzYWdlLCB3aXRoIGBtb2RlYCBvbiB0b3AKICAgIFNXQVAKICAgIFNFTkRSQVdNU0cgLy8gaHR0cHM6Ly9naXRodWIuY29tL3RhY3QtbGFuZy90" +
"YWN0L2lzc3Vlcy8xNTU4Cn0KCmlubGluZSBmdW4gZW1pdChib2R5OiBDZWxsKSB7CiAgICAvLyBleHRfb3V0X21zZ19pbmZvJDExIHNyYzpNc2dBZGRyZXNzSW50IGRl" +
"c3Q6TXNnQWRkcmVzc0V4dCBjcmVhdGVkX2x0OnVpbnQ2NCBjcmVhdGVkX2F0OnVpbnQzMgogICAgLy8gICAgICAgICAgICAgICAgICAgICBtYXliZTogc3RhdGVJbml0" +
"IChmYWxzZSkgYm9keVJlZjogYm9vbCAodHJ1ZSkKICAgIGxldCBjOiBDZWxsID0gYmVnaW5DZWxsKCkKICAgICAgICAuc3RvcmVVaW50KDE1MjExODA3MjAyNzM4NzUy" +
"ODE3OTYwNDM4NDY0NTEzLCAxMDQpCiAgICAgICAgLnN0b3JlUmVmKGJvZHkpCiAgICAgICAgLmVuZENlbGwoKTsKICAgIG5hdGl2ZVNlbmRNZXNzYWdlKGMsIDApOwp9" +
"Cgphc20gZnVuIGFjY2VwdE1lc3NhZ2UoKSB7IEFDQ0VQVCB9Cgphc20gZnVuIGNvbW1pdCgpIHsgQ09NTUlUIH0K";
files["std/internal/text.tact"] =
"Ly8KLy8gU3RyaW5nIGJ1aWxkZXIKLy8KCkBuYW1lKF9fdGFjdF9zdHJpbmdfYnVpbGRlcl9zdGFydF9zdHJpbmcpCm5hdGl2ZSBiZWdpblN0cmluZygpOiBTdHJpbmdC" +
"dWlsZGVyOwoKQG5hbWUoX190YWN0X3N0cmluZ19idWlsZGVyX3N0YXJ0X2NvbW1lbnQpCm5hdGl2ZSBiZWdpbkNvbW1lbnQoKTogU3RyaW5nQnVpbGRlcjsKCkBuYW1l" +
"KF9fdGFjdF9zdHJpbmdfYnVpbGRlcl9zdGFydF90YWlsX3N0cmluZykKbmF0aXZlIGJlZ2luVGFpbFN0cmluZygpOiBTdHJpbmdCdWlsZGVyOwoKQG5hbWUoX190YWN0" +
"X3N0cmluZ19idWlsZGVyX3N0YXJ0KQpuYXRpdmUgYmVnaW5TdHJpbmdGcm9tQnVpbGRlcihiOiBCdWlsZGVyKTogU3RyaW5nQnVpbGRlcjsKCkBuYW1lKF9fdGFjdF9z" +
"dHJpbmdfYnVpbGRlcl9hcHBlbmQpCmV4dGVuZHMgbXV0YXRlcyBuYXRpdmUgYXBwZW5kKHNlbGY6IFN0cmluZ0J1aWxkZXIsIHM6IFN0cmluZyk7CgpAbmFtZShfX3Rh" +
"Y3Rfc3RyaW5nX2J1aWxkZXJfYXBwZW5kX25vdF9tdXQpCmV4dGVuZHMgbmF0aXZlIGNvbmNhdChzZWxmOiBTdHJpbmdCdWlsZGVyLCBzOiBTdHJpbmcpOiBTdHJpbmdC" +
"dWlsZGVyOwoKQG5hbWUoX190YWN0X3N0cmluZ19idWlsZGVyX2VuZCkKZXh0ZW5kcyBuYXRpdmUgdG9DZWxsKHNlbGY6IFN0cmluZ0J1aWxkZXIpOiBDZWxsOwoKQG5h" +
"bWUoX190YWN0X3N0cmluZ19idWlsZGVyX2VuZF9zbGljZSkKZXh0ZW5kcyBuYXRpdmUgdG9TdHJpbmcoc2VsZjogU3RyaW5nQnVpbGRlcik6IFN0cmluZzsKCkBuYW1l" +
"KF9fdGFjdF9zdHJpbmdfYnVpbGRlcl9lbmRfc2xpY2UpCmV4dGVuZHMgbmF0aXZlIHRvU2xpY2Uoc2VsZjogU3RyaW5nQnVpbGRlcik6IFNsaWNlOwoKLy8KLy8gU3Ry" +
"aW5nIGNvbnZlcnNpb24KLy8KCkBuYW1lKF9fdGFjdF9pbnRfdG9fc3RyaW5nKQpleHRlbmRzIG5hdGl2ZSB0b1N0cmluZyhzZWxmOiBJbnQpOiBTdHJpbmc7CgpAbmFt" +
"ZShfX3RhY3RfZmxvYXRfdG9fc3RyaW5nKQpleHRlbmRzIG5hdGl2ZSB0b0Zsb2F0U3RyaW5nKHNlbGY6IEludCwgZGlnaXRzOiBJbnQpOiBTdHJpbmc7CgppbmxpbmUg" +
"ZXh0ZW5kcyBmdW4gdG9Db2luc1N0cmluZyhzZWxmOiBJbnQpOiBTdHJpbmcgewogICAgcmV0dXJuIHNlbGYudG9GbG9hdFN0cmluZyg5KTsKfQoKZXh0ZW5kcyBmdW4g" +
"YXNDb21tZW50KHNlbGY6IFN0cmluZyk6IENlbGwgewogICAgbGV0IGI6IFN0cmluZ0J1aWxkZXIgPSBiZWdpbkNvbW1lbnQoKTsKICAgIGIuYXBwZW5kKHNlbGYpOwog" +
"ICAgcmV0dXJuIGIudG9DZWxsKCk7Cn0KCkBuYW1lKF9fdGFjdF9zdHJfdG9fc2xpY2UpCmV4dGVuZHMgbmF0aXZlIGFzU2xpY2Uoc2VsZjogU3RyaW5nKTogU2xpY2U7" +
"CgpAbmFtZShfX3RhY3Rfc2xpY2VfdG9fc3RyKQpleHRlbmRzIG5hdGl2ZSBhc1N0cmluZyhzZWxmOiBTbGljZSk6IFN0cmluZzsKCmlubGluZSBleHRlbmRzIGZ1biBm" +
"cm9tQmFzZTY0KHNlbGY6IFN0cmluZyk6IFNsaWNlIHsKICAgIHJldHVybiBzZWxmLmFzU2xpY2UoKS5mcm9tQmFzZTY0KCk7Cn0KCmV4dGVuZHMgZnVuIGZyb21CYXNl" +
"NjQoc2VsZjogU2xpY2UpOiBTbGljZSB7CiAgICBsZXQgc2l6ZTogSW50ID0gc2VsZi5iaXRzKCkgLyA4OwogICAgbGV0IHJlc3VsdDogQnVpbGRlciA9IGJlZ2luQ2Vs" +
"bCgpOwoKICAgIHJlcGVhdCAoc2l6ZSkgewogICAgICAgIGxldCBjb2RlOiBJbnQgPSBzZWxmLmxvYWRVaW50KDgpOwogICAgICAgIGlmIChjb2RlID49IDY1ICYmIGNv" +
"ZGUgPD0gOTApIHsgLy8gQS1aCiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdG9yZVVpbnQoY29kZSAtIDY1LCA2KTsKICAgICAgICB9IGVsc2UgaWYgKGNvZGUg" +
"Pj0gOTcgJiYgY29kZSA8PSAxMjIpIHsgLy8gYS16CiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdG9yZVVpbnQoY29kZSAtICg5NyAtIDI2KSwgNik7CiAgICAg" +
"ICAgfSBlbHNlIGlmIChjb2RlID49IDQ4ICYmIGNvZGUgPD0gNTcpIHsgLy8gMC05CiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdG9yZVVpbnQoY29kZSArICg1" +
"MiAtIDQ4KSwgNik7CiAgICAgICAgfSBlbHNlIGlmIChjb2RlID09IDQ1IHx8IGNvZGUgPT0gNDMpIHsgLy8gLSBvciArCiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3Vs" +
"dC5zdG9yZVVpbnQoNjIsIDYpOwogICAgICAgIH0gZWxzZSBpZiAoY29kZSA9PSA5NSB8fCBjb2RlID09IDQ3KSB7IC8vIF8gb3IgLwogICAgICAgICAgICByZXN1bHQg" +
"PSByZXN1bHQuc3RvcmVVaW50KDYzLCA2KTsKICAgICAgICB9IGVsc2UgaWYgKGNvZGUgPT0gNjEpIHsgLy8gPQogICAgICAgICAgICAvLyBTa2lwCiAgICAgICAgfSBl" +
"bHNlIHsKICAgICAgICAgICAgdGhyb3coMTM0KTsKICAgICAgICB9CiAgICB9CgogICAgLy8gUGFkZGluZwogICAgbGV0IHRvdGFsOiBJbnQgPSByZXN1bHQuYml0cygp" +
"OwogICAgbGV0IHBhZGRpbmc6IEludCA9IHRvdGFsICUgODsKICAgIGlmIChwYWRkaW5nICE9IDApIHsKICAgICAgICBsZXQgczogU2xpY2UgPSByZXN1bHQuYXNTbGlj" +
"ZSgpOwogICAgICAgIHJldHVybiBzLmxvYWRCaXRzKHRvdGFsIC0gcGFkZGluZyk7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiByZXN1bHQuYXNTbGljZSgpOwog" +
"ICAgfQp9CgovLwovLyBBZGRyZXNzIGNvbnZlcnNpb24KLy8KCkBuYW1lKF9fdGFjdF9hZGRyZXNzX3RvX3VzZXJfZnJpZW5kbHkpCmV4dGVuZHMgbmF0aXZlIHRvU3Ry" +
"aW5nKHNlbGY6IEFkZHJlc3MpOiBTdHJpbmc7";
files["std/stdlib_ex.fc"] =
"Zm9yYWxsIFggLT4gdHVwbGUgX190YWN0X3NldCh0dXBsZSB4LCBYIHYsIGludCBpKSBhc20gIlNFVElOREVYVkFSUSI7CigpIF9fdGFjdF9ub3AoKSBhc20gIk5PUCI7" +
"CnNsaWNlIF9fdGFjdF9zdHJfdG9fc2xpY2Uoc2xpY2UgcykgYXNtICJOT1AiOwpzbGljZSBfX3RhY3Rfc2xpY2VfdG9fc3RyKHNsaWNlIHMpIGFzbSAiTk9QIjsKc2xp" +
"Y2UgX190YWN0X2FkZHJlc3NfdG9fc2xpY2Uoc2xpY2UgcykgYXNtICJOT1AiOwoKKCkgX190YWN0X3NoYV9wdXNoKHNsaWNlIGRhdGEpIGltcHVyZSBhc20gIk9ORSI7" +
"CmludCBfX3RhY3Rfc2hhX3Nob3VsZF9wcm9jZWVkKCkgYXNtICJPVkVSIFNSRUZTIDAgTkVRSU5UIjsKKCkgX190YWN0X3NoYV9vcGVyYXRlKCkgaW1wdXJlIGFzbSAi" +
"T1ZFUiBMRFJFRiBzMCBQT1AgQ1RPUyBzMCBzMSBYQ0hHIElOQyI7CmludCBfX3RhY3Rfc2hhX2hhc2hfZXh0KCkgYXNtICJIQVNIRVhUX1NIQTI1NiI7CgppbnQgX190" +
"YWN0X3NoYTI1NihzbGljZSBkYXRhKSB7CiAgICBfX3RhY3Rfc2hhX3B1c2goZGF0YSk7CiAgICB3aGlsZSAoX190YWN0X3NoYV9zaG91bGRfcHJvY2VlZCgpKSB7CiAg" +
"ICAgICAgX190YWN0X3NoYV9vcGVyYXRlKCk7CiAgICB9CiAgICByZXR1cm4gX190YWN0X3NoYV9oYXNoX2V4dCgpOwp9Cg==";
files["std/stdlib.fc"] =
"OzsgU3RhbmRhcmQgbGlicmFyeSBmb3IgZnVuQwo7OwoKey0KICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRPTiBGdW5DIFN0YW5kYXJkIExpYnJhcnkuCgogICAgRnVu" +
"QyBTdGFuZGFyZCBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAgIGl0IHVuZGVyIHRoZSB0ZXJt" +
"cyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0" +
"aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgRnVuQyBTdGFuZGFyZCBMaWJy" +
"YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl" +
"biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogICAg" +
"R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgotfQoKey0KICAjIFR1cGxlIG1hbmlwdWxhdGlvbiBwcmltaXRpdmVzCiAg" +
"VGhlIG5hbWVzIGFuZCB0aGUgdHlwZXMgYXJlIG1vc3RseSBzZWxmLWV4cGxhaW5pbmcuCiAgU2VlIFtwb2x5bW9yaGlzbSB3aXRoIGZvcmFsbF0oaHR0cHM6Ly90b24u" +
"b3JnL2RvY3MvIy9mdW5jL2Z1bmN0aW9ucz9pZD1wb2x5bW9ycGhpc20td2l0aC1mb3JhbGwpCiAgZm9yIG1vcmUgaW5mbyBvbiB0aGUgcG9seW1vcnBoaWMgZnVuY3Rp" +
"b25zLgoKICBOb3RlIHRoYXQgY3VycmVudGx5IHZhbHVlcyBvZiBhdG9taWMgdHlwZSBgdHVwbGVgIGNhbid0IGJlIGNhc3QgdG8gY29tcG9zaXRlIHR1cGxlIHR5cGUg" +
"KGUuZy4gYFtpbnQsIGNlbGxdYCkKICBhbmQgdmlzZSB2ZXJzYS4KLX0KCnstCiAgIyBMaXNwLXN0eWxlIGxpc3RzCgogIExpc3RzIGNhbiBiZSByZXByZXNlbnRlZCBh" +
"cyBuZXN0ZWQgMi1lbGVtZW50cyB0dXBsZXMuCiAgRW1wdHkgbGlzdCBpcyBjb252ZW50aW9uYWxseSByZXByZXNlbnRlZCBhcyBUVk0gYG51bGxgIHZhbHVlIChpdCBj" +
"YW4gYmUgb2J0YWluZWQgYnkgY2FsbGluZyBbbnVsbCgpXSkuCiAgRm9yIGV4YW1wbGUsIHR1cGxlIGAoMSwgKDIsICgzLCBudWxsKSkpYCByZXByZXNlbnRzIGxpc3Qg" +
"YFsxLCAyLCAzXWAuIEVsZW1lbnRzIG9mIGEgbGlzdCBjYW4gYmUgb2YgZGlmZmVyZW50IHR5cGVzLgotfQoKOzs7IEFkZHMgYW4gZWxlbWVudCB0byB0aGUgYmVnaW5u" +
"aW5nIG9mIGxpc3Atc3R5bGUgbGlzdC4KZm9yYWxsIFggLT4gdHVwbGUgY29ucyhYIGhlYWQsIHR1cGxlIHRhaWwpIGFzbSAiQ09OUyI7Cgo7OzsgRXh0cmFjdHMgdGhl" +
"IGhlYWQgYW5kIHRoZSB0YWlsIG9mIGxpc3Atc3R5bGUgbGlzdC4KZm9yYWxsIFggLT4gKFgsIHR1cGxlKSB1bmNvbnModHVwbGUgbGlzdCkgYXNtICJVTkNPTlMiOwoK" +
"Ozs7IEV4dHJhY3RzIHRoZSB0YWlsIGFuZCB0aGUgaGVhZCBvZiBsaXNwLXN0eWxlIGxpc3QuCmZvcmFsbCBYIC0+ICh0dXBsZSwgWCkgbGlzdF9uZXh0KHR1cGxlIGxp" +
"c3QpIGFzbSgtPiAxIDApICJVTkNPTlMiOwoKOzs7IFJldHVybnMgdGhlIGhlYWQgb2YgbGlzcC1zdHlsZSBsaXN0Lgpmb3JhbGwgWCAtPiBYIGNhcih0dXBsZSBsaXN0" +
"KSBhc20gIkNBUiI7Cgo7OzsgUmV0dXJucyB0aGUgdGFpbCBvZiBsaXNwLXN0eWxlIGxpc3QuCnR1cGxlIGNkcih0dXBsZSBsaXN0KSBhc20gIkNEUiI7Cgo7OzsgQ3Jl" +
"YXRlcyB0dXBsZSB3aXRoIHplcm8gZWxlbWVudHMuCnR1cGxlIGVtcHR5X3R1cGxlKCkgYXNtICJOSUwiOwoKOzs7IEFwcGVuZHMgYSB2YWx1ZSBgeGAgdG8gYSBgVHVw" +
"bGUgdCA9ICh4MSwgLi4uLCB4bilgLCBidXQgb25seSBpZiB0aGUgcmVzdWx0aW5nIGBUdXBsZSB0JyA9ICh4MSwgLi4uLCB4biwgeClgCjs7OyBpcyBvZiBsZW5ndGgg" +
"YXQgbW9zdCAyNTUuIE90aGVyd2lzZSB0aHJvd3MgYSB0eXBlIGNoZWNrIGV4Y2VwdGlvbi4KZm9yYWxsIFggLT4gdHVwbGUgdHB1c2godHVwbGUgdCwgWCB2YWx1ZSkg" +
"YXNtICJUUFVTSCI7CmZvcmFsbCBYIC0+ICh0dXBsZSwgKCkpIH50cHVzaCh0dXBsZSB0LCBYIHZhbHVlKSBhc20gIlRQVVNIIjsKCjs7OyBDcmVhdGVzIGEgdHVwbGUg" +
"b2YgbGVuZ3RoIG9uZSB3aXRoIGdpdmVuIGFyZ3VtZW50IGFzIGVsZW1lbnQuCmZvcmFsbCBYIC0+IFtYXSBzaW5nbGUoWCB4KSBhc20gIlNJTkdMRSI7Cgo7OzsgVW5w" +
"YWNrcyBhIHR1cGxlIG9mIGxlbmd0aCBvbmUKZm9yYWxsIFggLT4gWCB1bnNpbmdsZShbWF0gdCkgYXNtICJVTlNJTkdMRSI7Cgo7OzsgQ3JlYXRlcyBhIHR1cGxlIG9m" +
"IGxlbmd0aCB0d28gd2l0aCBnaXZlbiBhcmd1bWVudHMgYXMgZWxlbWVudHMuCmZvcmFsbCBYLCBZIC0+IFtYLCBZXSBwYWlyKFggeCwgWSB5KSBhc20gIlBBSVIiOwoK" +
"Ozs7IFVucGFja3MgYSB0dXBsZSBvZiBsZW5ndGggdHdvCmZvcmFsbCBYLCBZIC0+IChYLCBZKSB1bnBhaXIoW1gsIFldIHQpIGFzbSAiVU5QQUlSIjsKCjs7OyBDcmVh" +
"dGVzIGEgdHVwbGUgb2YgbGVuZ3RoIHRocmVlIHdpdGggZ2l2ZW4gYXJndW1lbnRzIGFzIGVsZW1lbnRzLgpmb3JhbGwgWCwgWSwgWiAtPiBbWCwgWSwgWl0gdHJpcGxl" +
"KFggeCwgWSB5LCBaIHopIGFzbSAiVFJJUExFIjsKCjs7OyBVbnBhY2tzIGEgdHVwbGUgb2YgbGVuZ3RoIHRocmVlCmZvcmFsbCBYLCBZLCBaIC0+IChYLCBZLCBaKSB1" +
"bnRyaXBsZShbWCwgWSwgWl0gdCkgYXNtICJVTlRSSVBMRSI7Cgo7OzsgQ3JlYXRlcyBhIHR1cGxlIG9mIGxlbmd0aCBmb3VyIHdpdGggZ2l2ZW4gYXJndW1lbnRzIGFz" +
"IGVsZW1lbnRzLgpmb3JhbGwgWCwgWSwgWiwgVyAtPiBbWCwgWSwgWiwgV10gdHVwbGU0KFggeCwgWSB5LCBaIHosIFcgdykgYXNtICI0IFRVUExFIjsKCjs7OyBVbnBh" +
"Y2tzIGEgdHVwbGUgb2YgbGVuZ3RoIGZvdXIKZm9yYWxsIFgsIFksIFosIFcgLT4gKFgsIFksIFosIFcpIHVudHVwbGU0KFtYLCBZLCBaLCBXXSB0KSBhc20gIjQgVU5U" +
"VVBMRSI7Cgo7OzsgUmV0dXJucyB0aGUgZmlyc3QgZWxlbWVudCBvZiBhIHR1cGxlICh3aXRoIHVua25vd24gZWxlbWVudCB0eXBlcykuCmZvcmFsbCBYIC0+IFggZmly" +
"c3QodHVwbGUgdCkgYXNtICJGSVJTVCI7Cgo7OzsgUmV0dXJucyB0aGUgc2Vjb25kIGVsZW1lbnQgb2YgYSB0dXBsZSAod2l0aCB1bmtub3duIGVsZW1lbnQgdHlwZXMp" +
"Lgpmb3JhbGwgWCAtPiBYIHNlY29uZCh0dXBsZSB0KSBhc20gIlNFQ09ORCI7Cgo7OzsgUmV0dXJucyB0aGUgdGhpcmQgZWxlbWVudCBvZiBhIHR1cGxlICh3aXRoIHVu" +
"a25vd24gZWxlbWVudCB0eXBlcykuCmZvcmFsbCBYIC0+IFggdGhpcmQodHVwbGUgdCkgYXNtICJUSElSRCI7Cgo7OzsgUmV0dXJucyB0aGUgZm91cnRoIGVsZW1lbnQg" +
"b2YgYSB0dXBsZSAod2l0aCB1bmtub3duIGVsZW1lbnQgdHlwZXMpLgpmb3JhbGwgWCAtPiBYIGZvdXJ0aCh0dXBsZSB0KSBhc20gIjMgSU5ERVgiOwoKOzs7IFJldHVy" +
"bnMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYSBwYWlyIHR1cGxlLgpmb3JhbGwgWCwgWSAtPiBYIHBhaXJfZmlyc3QoW1gsIFldIHApIGFzbSAiRklSU1QiOwoKOzs7IFJl" +
"dHVybnMgdGhlIHNlY29uZCBlbGVtZW50IG9mIGEgcGFpciB0dXBsZS4KZm9yYWxsIFgsIFkgLT4gWSBwYWlyX3NlY29uZChbWCwgWV0gcCkgYXNtICJTRUNPTkQiOwoK" +
"Ozs7IFJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYSB0cmlwbGUgdHVwbGUuCmZvcmFsbCBYLCBZLCBaIC0+IFggdHJpcGxlX2ZpcnN0KFtYLCBZLCBaXSBwKSBh" +
"c20gIkZJUlNUIjsKCjs7OyBSZXR1cm5zIHRoZSBzZWNvbmQgZWxlbWVudCBvZiBhIHRyaXBsZSB0dXBsZS4KZm9yYWxsIFgsIFksIFogLT4gWSB0cmlwbGVfc2Vjb25k" +
"KFtYLCBZLCBaXSBwKSBhc20gIlNFQ09ORCI7Cgo7OzsgUmV0dXJucyB0aGUgdGhpcmQgZWxlbWVudCBvZiBhIHRyaXBsZSB0dXBsZS4KZm9yYWxsIFgsIFksIFogLT4g" +
"WiB0cmlwbGVfdGhpcmQoW1gsIFksIFpdIHApIGFzbSAiVEhJUkQiOwoKCjs7OyBQdXNoIG51bGwgZWxlbWVudCAoY2FzdGVkIHRvIGdpdmVuIHR5cGUpCjs7OyBCeSB0" +
"aGUgVFZNIHR5cGUgYE51bGxgIEZ1bkMgcmVwcmVzZW50cyBhYnNlbmNlIG9mIGEgdmFsdWUgb2Ygc29tZSBhdG9taWMgdHlwZS4KOzs7IFNvIGBudWxsYCBjYW4gYWN0" +
"dWFsbHkgaGF2ZSBhbnkgYXRvbWljIHR5cGUuCmZvcmFsbCBYIC0+IFggbnVsbCgpIGFzbSAiUFVTSE5VTEwiOwoKOzs7IE1vdmVzIGEgdmFyaWFibGUgW3hdIHRvIHRo" +
"ZSB0b3Agb2YgdGhlIHN0YWNrCmZvcmFsbCBYIC0+IChYLCAoKSkgfmltcHVyZV90b3VjaChYIHgpIGltcHVyZSBhc20gIk5PUCI7CgoKCjs7OyBSZXR1cm5zIHRoZSBj" +
"dXJyZW50IFVuaXggdGltZSBhcyBhbiBJbnRlZ2VyCmludCBub3coKSBhc20gIk5PVyI7Cgo7OzsgUmV0dXJucyB0aGUgaW50ZXJuYWwgYWRkcmVzcyBvZiB0aGUgY3Vy" +
"cmVudCBzbWFydCBjb250cmFjdCBhcyBhIFNsaWNlIHdpdGggYSBgTXNnQWRkcmVzc0ludGAuCjs7OyBJZiBuZWNlc3NhcnksIGl0IGNhbiBiZSBwYXJzZWQgZnVydGhl" +
"ciB1c2luZyBwcmltaXRpdmVzIHN1Y2ggYXMgW3BhcnNlX3N0ZF9hZGRyXS4Kc2xpY2UgbXlfYWRkcmVzcygpIGFzbSAiTVlBRERSIjsKCjs7OyBSZXR1cm5zIHRoZSBi" +
"YWxhbmNlIG9mIHRoZSBzbWFydCBjb250cmFjdCBhcyBhIHR1cGxlIGNvbnNpc3Rpbmcgb2YgYW4gaW50Cjs7OyAoYmFsYW5jZSBpbiBuYW5vdG9uY29pbnMpIGFuZCBh" +
"IGBjZWxsYAo7OzsgKGEgZGljdGlvbmFyeSB3aXRoIDMyLWJpdCBrZXlzIHJlcHJlc2VudGluZyB0aGUgYmFsYW5jZSBvZiAiZXh0cmEgY3VycmVuY2llcyIpCjs7OyBh" +
"dCB0aGUgc3RhcnQgb2YgQ29tcHV0YXRpb24gUGhhc2UuCjs7OyBOb3RlIHRoYXQgUkFXIHByaW1pdGl2ZXMgc3VjaCBhcyBbc2VuZF9yYXdfbWVzc2FnZV0gZG8gbm90" +
"IHVwZGF0ZSB0aGlzIGZpZWxkLgpbaW50LCBjZWxsXSBnZXRfYmFsYW5jZSgpIGFzbSAiQkFMQU5DRSI7Cgo7OzsgUmV0dXJucyB0aGUgbG9naWNhbCB0aW1lIG9mIHRo" +
"ZSBjdXJyZW50IHRyYW5zYWN0aW9uLgppbnQgY3VyX2x0KCkgYXNtICJMVElNRSI7Cgo7OzsgUmV0dXJucyB0aGUgc3RhcnRpbmcgbG9naWNhbCB0aW1lIG9mIHRoZSBj" +
"dXJyZW50IGJsb2NrLgppbnQgYmxvY2tfbHQoKSBhc20gIkJMT0NLTFQiOwoKOzs7IENvbXB1dGVzIHRoZSByZXByZXNlbnRhdGlvbiBoYXNoIG9mIGEgYGNlbGxgIFtj" +
"XSBhbmQgcmV0dXJucyBpdCBhcyBhIDI1Ni1iaXQgdW5zaWduZWQgaW50ZWdlciBgeGAuCjs7OyBVc2VmdWwgZm9yIHNpZ25pbmcgYW5kIGNoZWNraW5nIHNpZ25hdHVy" +
"ZXMgb2YgYXJiaXRyYXJ5IGVudGl0aWVzIHJlcHJlc2VudGVkIGJ5IGEgdHJlZSBvZiBjZWxscy4KaW50IGNlbGxfaGFzaChjZWxsIGMpIGFzbSAiSEFTSENVIjsKCjs7" +
"OyBDb21wdXRlcyB0aGUgaGFzaCBvZiBhIGBzbGljZSBzYCBhbmQgcmV0dXJucyBpdCBhcyBhIDI1Ni1iaXQgdW5zaWduZWQgaW50ZWdlciBgeGAuCjs7OyBUaGUgcmVz" +
"dWx0IGlzIHRoZSBzYW1lIGFzIGlmIGFuIG9yZGluYXJ5IGNlbGwgY29udGFpbmluZyBvbmx5IGRhdGEgYW5kIHJlZmVyZW5jZXMgZnJvbSBgc2AgaGFkIGJlZW4gY3Jl" +
"YXRlZAo7OzsgYW5kIGl0cyBoYXNoIGNvbXB1dGVkIGJ5IFtjZWxsX2hhc2hdLgppbnQgc2xpY2VfaGFzaChzbGljZSBzKSBhc20gIkhBU0hTVSI7Cgo7OzsgQ29tcHV0" +
"ZXMgc2hhMjU2IG9mIHRoZSBkYXRhIGJpdHMgb2YgYHNsaWNlYCBbc10uIElmIHRoZSBiaXQgbGVuZ3RoIG9mIGBzYCBpcyBub3QgZGl2aXNpYmxlIGJ5IGVpZ2h0LAo7" +
"OzsgdGhyb3dzIGEgY2VsbCB1bmRlcmZsb3cgZXhjZXB0aW9uLiBUaGUgaGFzaCB2YWx1ZSBpcyByZXR1cm5lZCBhcyBhIDI1Ni1iaXQgdW5zaWduZWQgaW50ZWdlciBg" +
"eGAuCmludCBzdHJpbmdfaGFzaChzbGljZSBzKSBhc20gIlNIQTI1NlUiOwoKey0KICAjIFNpZ25hdHVyZSBjaGVja3MKLX0KCjs7OyBDaGVja3MgdGhlIEVkMjU1MTkt" +
"YHNpZ25hdHVyZWAgb2YgYSBgaGFzaGAgKGEgMjU2LWJpdCB1bnNpZ25lZCBpbnRlZ2VyLCB1c3VhbGx5IGNvbXB1dGVkIGFzIHRoZSBoYXNoIG9mIHNvbWUgZGF0YSkK" +
"Ozs7IHVzaW5nIFtwdWJsaWNfa2V5XSAoYWxzbyByZXByZXNlbnRlZCBieSBhIDI1Ni1iaXQgdW5zaWduZWQgaW50ZWdlcikuCjs7OyBUaGUgc2lnbmF0dXJlIG11c3Qg" +
"Y29udGFpbiBhdCBsZWFzdCA1MTIgZGF0YSBiaXRzOyBvbmx5IHRoZSBmaXJzdCA1MTIgYml0cyBhcmUgdXNlZC4KOzs7IFRoZSByZXN1bHQgaXMgYOKIkjFgIGlmIHRo" +
"ZSBzaWduYXR1cmUgaXMgdmFsaWQsIGAwYCBvdGhlcndpc2UuCjs7OyBOb3RlIHRoYXQgYENIS1NJR05VYCBjcmVhdGVzIGEgMjU2LWJpdCBzbGljZSB3aXRoIHRoZSBo" +
"YXNoIGFuZCBjYWxscyBgQ0hLU0lHTlNgLgo7OzsgVGhhdCBpcywgaWYgW2hhc2hdIGlzIGNvbXB1dGVkIGFzIHRoZSBoYXNoIG9mIHNvbWUgZGF0YSwgdGhlc2UgZGF0" +
"YSBhcmUgaGFzaGVkIHR3aWNlLAo7OzsgdGhlIHNlY29uZCBoYXNoaW5nIG9jY3VycmluZyBpbnNpZGUgYENIS1NJR05TYC4KaW50IGNoZWNrX3NpZ25hdHVyZShpbnQg" +
"aGFzaCwgc2xpY2Ugc2lnbmF0dXJlLCBpbnQgcHVibGljX2tleSkgYXNtICJDSEtTSUdOVSI7Cgo7OzsgQ2hlY2tzIHdoZXRoZXIgW3NpZ25hdHVyZV0gaXMgYSB2YWxp" +
"ZCBFZDI1NTE5LXNpZ25hdHVyZSBvZiB0aGUgZGF0YSBwb3J0aW9uIG9mIGBzbGljZSBkYXRhYCB1c2luZyBgcHVibGljX2tleWAsCjs7OyBzaW1pbGFybHkgdG8gW2No" +
"ZWNrX3NpZ25hdHVyZV0uCjs7OyBJZiB0aGUgYml0IGxlbmd0aCBvZiBbZGF0YV0gaXMgbm90IGRpdmlzaWJsZSBieSBlaWdodCwgdGhyb3dzIGEgY2VsbCB1bmRlcmZs" +
"b3cgZXhjZXB0aW9uLgo7OzsgVGhlIHZlcmlmaWNhdGlvbiBvZiBFZDI1NTE5IHNpZ25hdHVyZXMgaXMgdGhlIHN0YW5kYXJkIG9uZSwKOzs7IHdpdGggc2hhMjU2IHVz" +
"ZWQgdG8gcmVkdWNlIFtkYXRhXSB0byB0aGUgMjU2LWJpdCBudW1iZXIgdGhhdCBpcyBhY3R1YWxseSBzaWduZWQuCmludCBjaGVja19kYXRhX3NpZ25hdHVyZShzbGlj" +
"ZSBkYXRhLCBzbGljZSBzaWduYXR1cmUsIGludCBwdWJsaWNfa2V5KSBhc20gIkNIS1NJR05TIjsKCnstLS0KICAjIENvbXB1dGF0aW9uIG9mIGJvYyBzaXplCiAgVGhl" +
"IHByaW1pdGl2ZXMgYmVsb3cgbWF5IGJlIHVzZWZ1bCBmb3IgY29tcHV0aW5nIHN0b3JhZ2UgZmVlcyBvZiB1c2VyLXByb3ZpZGVkIGRhdGEuCi19Cgo7OzsgUmV0dXJu" +
"cyBgKHgsIHksIHosIC0xKWAgb3IgYChudWxsLCBudWxsLCBudWxsLCAwKWAuCjs7OyBSZWN1cnNpdmVseSBjb21wdXRlcyB0aGUgY291bnQgb2YgZGlzdGluY3QgY2Vs" +
"bHMgYHhgLCBkYXRhIGJpdHMgYHlgLCBhbmQgY2VsbCByZWZlcmVuY2VzIGB6YAo7OzsgaW4gdGhlIERBRyByb290ZWQgYXQgYGNlbGxgIFtjXSwgZWZmZWN0aXZlbHkg" +
"cmV0dXJuaW5nIHRoZSB0b3RhbCBzdG9yYWdlIHVzZWQgYnkgdGhpcyBEQUcgdGFraW5nIGludG8gYWNjb3VudAo7OzsgdGhlIGlkZW50aWZpY2F0aW9uIG9mIGVxdWFs" +
"IGNlbGxzLgo7OzsgVGhlIHZhbHVlcyBvZiBgeGAsIGB5YCwgYW5kIGB6YCBhcmUgY29tcHV0ZWQgYnkgYSBkZXB0aC1maXJzdCB0cmF2ZXJzYWwgb2YgdGhpcyBEQUcs" +
"Cjs7OyB3aXRoIGEgaGFzaCB0YWJsZSBvZiB2aXNpdGVkIGNlbGwgaGFzaGVzIHVzZWQgdG8gcHJldmVudCB2aXNpdHMgb2YgYWxyZWFkeS12aXNpdGVkIGNlbGxzLgo7" +
"OzsgVGhlIHRvdGFsIGNvdW50IG9mIHZpc2l0ZWQgY2VsbHMgYHhgIGNhbm5vdCBleGNlZWQgbm9uLW5lZ2F0aXZlIFttYXhfY2VsbHNdOwo7Ozsgb3RoZXJ3aXNlIHRo" +
"ZSBjb21wdXRhdGlvbiBpcyBhYm9ydGVkIGJlZm9yZSB2aXNpdGluZyB0aGUgYChtYXhfY2VsbHMgKyAxKWAtc3QgY2VsbCBhbmQKOzs7IGEgemVybyBmbGFnIGlzIHJl" +
"dHVybmVkIHRvIGluZGljYXRlIGZhaWx1cmUuIElmIFtjXSBpcyBgbnVsbGAsIHJldHVybnMgYHggPSB5ID0geiA9IDBgLgooaW50LCBpbnQsIGludCkgY29tcHV0ZV9k" +
"YXRhX3NpemUoY2VsbCBjLCBpbnQgbWF4X2NlbGxzKSBpbXB1cmUgYXNtICJDREFUQVNJWkUiOwoKOzs7IFNpbWlsYXIgdG8gW2NvbXB1dGVfZGF0YV9zaXplP10sIGJ1" +
"dCBhY2NlcHRpbmcgYSBgc2xpY2VgIFtzXSBpbnN0ZWFkIG9mIGEgYGNlbGxgLgo7OzsgVGhlIHJldHVybmVkIHZhbHVlIG9mIGB4YCBkb2VzIG5vdCB0YWtlIGludG8g" +
"YWNjb3VudCB0aGUgY2VsbCB0aGF0IGNvbnRhaW5zIHRoZSBgc2xpY2VgIFtzXSBpdHNlbGY7Cjs7OyBob3dldmVyLCB0aGUgZGF0YSBiaXRzIGFuZCB0aGUgY2VsbCBy" +
"ZWZlcmVuY2VzIG9mIFtzXSBhcmUgYWNjb3VudGVkIGZvciBpbiBgeWAgYW5kIGB6YC4KKGludCwgaW50LCBpbnQpIHNsaWNlX2NvbXB1dGVfZGF0YV9zaXplKHNsaWNl" +
"IHMsIGludCBtYXhfY2VsbHMpIGltcHVyZSBhc20gIlNEQVRBU0laRSI7Cgo7OzsgQSBub24tcXVpZXQgdmVyc2lvbiBvZiBbY29tcHV0ZV9kYXRhX3NpemU/XSB0aGF0" +
"IHRocm93cyBhIGNlbGwgb3ZlcmZsb3cgZXhjZXB0aW9uIChgOGApIG9uIGZhaWx1cmUuCihpbnQsIGludCwgaW50LCBpbnQpIGNvbXB1dGVfZGF0YV9zaXplPyhjZWxs" +
"IGMsIGludCBtYXhfY2VsbHMpIGFzbSAiQ0RBVEFTSVpFUSBOVUxMU1dBUElGTk9UMiBOVUxMU1dBUElGTk9UIjsKCjs7OyBBIG5vbi1xdWlldCB2ZXJzaW9uIG9mIFtz" +
"bGljZV9jb21wdXRlX2RhdGFfc2l6ZT9dIHRoYXQgdGhyb3dzIGEgY2VsbCBvdmVyZmxvdyBleGNlcHRpb24gKDgpIG9uIGZhaWx1cmUuCihpbnQsIGludCwgaW50LCBp" +
"bnQpIHNsaWNlX2NvbXB1dGVfZGF0YV9zaXplPyhjZWxsIGMsIGludCBtYXhfY2VsbHMpIGFzbSAiU0RBVEFTSVpFUSBOVUxMU1dBUElGTk9UMiBOVUxMU1dBUElGTk9U" +
"IjsKCjs7OyBUaHJvd3MgYW4gZXhjZXB0aW9uIHdpdGggZXhpdF9jb2RlIGV4Y25vIGlmIGNvbmQgaXMgbm90IDAgKGNvbW1lbnRlZCBzaW5jZSBpbXBsZW1lbnRlZCBp" +
"biBjb21waWxhdG9yKQo7OyAoKSB0aHJvd19pZihpbnQgZXhjbm8sIGludCBjb25kKSBpbXB1cmUgYXNtICJUSFJPV0FSR0lGIjsKCnstLQogICMgRGVidWcgcHJpbWl0" +
"aXZlcwogIE9ubHkgd29ya3MgZm9yIGxvY2FsIFRWTSBleGVjdXRpb24gd2l0aCBkZWJ1ZyBsZXZlbCB2ZXJib3NpdHkKLX0KOzs7IER1bXBzIHRoZSBzdGFjayAoYXQg" +
"bW9zdCB0aGUgdG9wIDI1NSB2YWx1ZXMpIGFuZCBzaG93cyB0aGUgdG90YWwgc3RhY2sgZGVwdGguCigpIGR1bXBfc3RhY2soKSBpbXB1cmUgYXNtICJEVU1QU1RLIjsK" +
"CnstCiAgIyBQZXJzaXN0ZW50IHN0b3JhZ2Ugc2F2ZSBhbmQgbG9hZAotfQoKOzs7IFJldHVybnMgdGhlIHBlcnNpc3RlbnQgY29udHJhY3Qgc3RvcmFnZSBjZWxsLiBJ" +
"dCBjYW4gYmUgcGFyc2VkIG9yIG1vZGlmaWVkIHdpdGggc2xpY2UgYW5kIGJ1aWxkZXIgcHJpbWl0aXZlcyBsYXRlci4KY2VsbCBnZXRfZGF0YSgpIGFzbSAiYzQgUFVT" +
"SCI7Cgo7OzsgU2V0cyBgY2VsbGAgW2NdIGFzIHBlcnNpc3RlbnQgY29udHJhY3QgZGF0YS4gWW91IGNhbiB1cGRhdGUgcGVyc2lzdGVudCBjb250cmFjdCBzdG9yYWdl" +
"IHdpdGggdGhpcyBwcmltaXRpdmUuCigpIHNldF9kYXRhKGNlbGwgYykgaW1wdXJlIGFzbSAiYzQgUE9QIjsKCnstCiAgIyBDb250aW51YXRpb24gcHJpbWl0aXZlcwot" +
"fQo7OzsgVXN1YWxseSBgYzNgIGhhcyBhIGNvbnRpbnVhdGlvbiBpbml0aWFsaXplZCBieSB0aGUgd2hvbGUgY29kZSBvZiB0aGUgY29udHJhY3QuIEl0IGlzIHVzZWQg" +
"Zm9yIGZ1bmN0aW9uIGNhbGxzLgo7OzsgVGhlIHByaW1pdGl2ZSByZXR1cm5zIHRoZSBjdXJyZW50IHZhbHVlIG9mIGBjM2AuCmNvbnQgZ2V0X2MzKCkgaW1wdXJlIGFz" +
"bSAiYzMgUFVTSCI7Cgo7OzsgVXBkYXRlcyB0aGUgY3VycmVudCB2YWx1ZSBvZiBgYzNgLiBVc3VhbGx5LCBpdCBpcyB1c2VkIGZvciB1cGRhdGluZyBzbWFydCBjb250" +
"cmFjdCBjb2RlIGluIHJ1bi10aW1lLgo7OzsgTm90ZSB0aGF0IGFmdGVyIGV4ZWN1dGlvbiBvZiB0aGlzIHByaW1pdGl2ZSB0aGUgY3VycmVudCBjb2RlCjs7OyAoYW5k" +
"IHRoZSBzdGFjayBvZiByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbHMpIHdvbid0IGNoYW5nZSwKOzs7IGJ1dCBhbnkgb3RoZXIgZnVuY3Rpb24gY2FsbCB3aWxsIHVzZSBh" +
"IGZ1bmN0aW9uIGZyb20gdGhlIG5ldyBjb2RlLgooKSBzZXRfYzMoY29udCBjKSBpbXB1cmUgYXNtICJjMyBQT1AiOwoKOzs7IFRyYW5zZm9ybXMgYSBgc2xpY2VgIFtz" +
"XSBpbnRvIGEgc2ltcGxlIG9yZGluYXJ5IGNvbnRpbnVhdGlvbiBgY2AsIHdpdGggYGMuY29kZSA9IHNgIGFuZCBhbiBlbXB0eSBzdGFjayBhbmQgc2F2ZWxpc3QuCmNv" +
"bnQgYmxlc3Moc2xpY2UgcykgaW1wdXJlIGFzbSAiQkxFU1MiOwoKey0tLQogICMgR2FzIHJlbGF0ZWQgcHJpbWl0aXZlcwotfQoKOzs7IFNldHMgY3VycmVudCBnYXMg" +
"bGltaXQgYGdsYCB0byBpdHMgbWF4aW1hbCBhbGxvd2VkIHZhbHVlIGBnbWAsIGFuZCByZXNldHMgdGhlIGdhcyBjcmVkaXQgYGdjYCB0byB6ZXJvLAo7OzsgZGVjcmVh" +
"c2luZyB0aGUgdmFsdWUgb2YgYGdyYCBieSBgZ2NgIGluIHRoZSBwcm9jZXNzLgo7OzsgSW4gb3RoZXIgd29yZHMsIHRoZSBjdXJyZW50IHNtYXJ0IGNvbnRyYWN0IGFn" +
"cmVlcyB0byBidXkgc29tZSBnYXMgdG8gZmluaXNoIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLgo7OzsgVGhpcyBhY3Rpb24gaXMgcmVxdWlyZWQgdG8gcHJvY2VzcyBl" +
"eHRlcm5hbCBtZXNzYWdlcywgd2hpY2ggYnJpbmcgbm8gdmFsdWUgKGhlbmNlIG5vIGdhcykgd2l0aCB0aGVtc2VsdmVzLgo7OzsKOzs7IEZvciBtb3JlIGRldGFpbHMg" +
"Y2hlY2sgW2FjY2VwdF9tZXNzYWdlIGVmZmVjdHNdKGh0dHBzOi8vdG9uLm9yZy9kb2NzLyMvc21hcnQtY29udHJhY3RzL2FjY2VwdCkuCigpIGFjY2VwdF9tZXNzYWdl" +
"KCkgaW1wdXJlIGFzbSAiQUNDRVBUIjsKCjs7OyBTZXRzIGN1cnJlbnQgZ2FzIGxpbWl0IGBnbGAgdG8gdGhlIG1pbmltdW0gb2YgbGltaXQgYW5kIGBnbWAsIGFuZCBy" +
"ZXNldHMgdGhlIGdhcyBjcmVkaXQgYGdjYCB0byB6ZXJvLgo7OzsgSWYgdGhlIGdhcyBjb25zdW1lZCBzbyBmYXIgKGluY2x1ZGluZyB0aGUgcHJlc2VudCBpbnN0cnVj" +
"dGlvbikgZXhjZWVkcyB0aGUgcmVzdWx0aW5nIHZhbHVlIG9mIGBnbGAsCjs7OyBhbiAodW5oYW5kbGVkKSBvdXQgb2YgZ2FzIGV4Y2VwdGlvbiBpcyB0aHJvd24gYmVm" +
"b3JlIHNldHRpbmcgbmV3IGdhcyBsaW1pdHMuCjs7OyBOb3RpY2UgdGhhdCBbc2V0X2dhc19saW1pdF0gd2l0aCBhbiBhcmd1bWVudCBgbGltaXQg4omlIDJeNjMg4oiS" +
"IDFgIGlzIGVxdWl2YWxlbnQgdG8gW2FjY2VwdF9tZXNzYWdlXS4KKCkgc2V0X2dhc19saW1pdChpbnQgbGltaXQpIGltcHVyZSBhc20gIlNFVEdBU0xJTUlUIjsKCjs7" +
"OyBDb21taXRzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHJlZ2lzdGVycyBgYzRgICjigJxwZXJzaXN0ZW50IGRhdGHigJ0pIGFuZCBgYzVgICjigJxhY3Rpb25z4oCdKQo7" +
"Ozsgc28gdGhhdCB0aGUgY3VycmVudCBleGVjdXRpb24gaXMgY29uc2lkZXJlZCDigJxzdWNjZXNzZnVs4oCdIHdpdGggdGhlIHNhdmVkIHZhbHVlcyBldmVuIGlmIGFu" +
"IGV4Y2VwdGlvbgo7OzsgaW4gQ29tcHV0YXRpb24gUGhhc2UgaXMgdGhyb3duIGxhdGVyLgooKSBjb21taXQoKSBpbXB1cmUgYXNtICJDT01NSVQiOwoKOzs7IE5vdCBp" +
"bXBsZW1lbnRlZAo7OzsgQ29tcHV0ZXMgdGhlIGFtb3VudCBvZiBnYXMgdGhhdCBjYW4gYmUgYm91Z2h0IGZvciBgYW1vdW50YCBuYW5vVE9OcywKOzs7IGFuZCBzZXRz" +
"IGBnbGAgYWNjb3JkaW5nbHkgaW4gdGhlIHNhbWUgd2F5IGFzIFtzZXRfZ2FzX2xpbWl0XS4KOzsoKSBidXlfZ2FzKGludCBhbW91bnQpIGltcHVyZSBhc20gIkJVWUdB" +
"UyI7Cgo7OzsgQ29tcHV0ZXMgdGhlIG1pbmltdW0gb2YgdHdvIGludGVnZXJzIFt4XSBhbmQgW3ldLgppbnQgbWluKGludCB4LCBpbnQgeSkgYXNtICJNSU4iOwoKOzs7" +
"IENvbXB1dGVzIHRoZSBtYXhpbXVtIG9mIHR3byBpbnRlZ2VycyBbeF0gYW5kIFt5XS4KaW50IG1heChpbnQgeCwgaW50IHkpIGFzbSAiTUFYIjsKCjs7OyBTb3J0cyB0" +
"d28gaW50ZWdlcnMuCihpbnQsIGludCkgbWlubWF4KGludCB4LCBpbnQgeSkgYXNtICJNSU5NQVgiOwoKOzs7IENvbXB1dGVzIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiBh" +
"biBpbnRlZ2VyIFt4XS4KaW50IGFicyhpbnQgeCkgYXNtICJBQlMiOwoKey0KICAjIFNsaWNlIHByaW1pdGl2ZXMKCiAgSXQgaXMgc2FpZCB0aGF0IGEgcHJpbWl0aXZl" +
"IF9sb2Fkc18gc29tZSBkYXRhLAogIGlmIGl0IHJldHVybnMgdGhlIGRhdGEgYW5kIHRoZSByZW1haW5kZXIgb2YgdGhlIHNsaWNlCiAgKHNvIGl0IGNhbiBhbHNvIGJl" +
"IHVzZWQgYXMgW21vZGlmeWluZyBtZXRob2RdKGh0dHBzOi8vdG9uLm9yZy9kb2NzLyMvZnVuYy9zdGF0ZW1lbnRzP2lkPW1vZGlmeWluZy1tZXRob2RzKSkuCgogIEl0" +
"IGlzIHNhaWQgdGhhdCBhIHByaW1pdGl2ZSBfcHJlbG9hZHNfIHNvbWUgZGF0YSwgaWYgaXQgcmV0dXJucyBvbmx5IHRoZSBkYXRhCiAgKGl0IGNhbiBiZSB1c2VkIGFz" +
"IFtub24tbW9kaWZ5aW5nIG1ldGhvZF0oaHR0cHM6Ly90b24ub3JnL2RvY3MvIy9mdW5jL3N0YXRlbWVudHM/aWQ9bm9uLW1vZGlmeWluZy1tZXRob2RzKSkuCgogIFVu" +
"bGVzcyBvdGhlcndpc2Ugc3RhdGVkLCBsb2FkaW5nIGFuZCBwcmVsb2FkaW5nIHByaW1pdGl2ZXMgcmVhZCB0aGUgZGF0YSBmcm9tIGEgcHJlZml4IG9mIHRoZSBzbGlj" +
"ZS4KLX0KCgo7OzsgQ29udmVydHMgYSBgY2VsbGAgW2NdIGludG8gYSBgc2xpY2VgLiBOb3RpY2UgdGhhdCBbY10gbXVzdCBiZSBlaXRoZXIgYW4gb3JkaW5hcnkgY2Vs" +
"bCwKOzs7IG9yIGFuIGV4b3RpYyBjZWxsIChzZWUgW1RWTS5wZGZdKGh0dHBzOi8vdG9uLWJsb2NrY2hhaW4uZ2l0aHViLmlvL2RvY3MvdHZtLnBkZiksIDMuMS4yKQo7" +
"Ozsgd2hpY2ggaXMgYXV0b21hdGljYWxseSBsb2FkZWQgdG8geWllbGQgYW4gb3JkaW5hcnkgY2VsbCBgYydgLCBjb252ZXJ0ZWQgaW50byBhIGBzbGljZWAgYWZ0ZXJ3" +
"YXJkcy4Kc2xpY2UgYmVnaW5fcGFyc2UoY2VsbCBjKSBhc20gIkNUT1MiOwoKOzs7IENoZWNrcyBpZiBbc10gaXMgZW1wdHkuIElmIG5vdCwgdGhyb3dzIGFuIGV4Y2Vw" +
"dGlvbi4KKCkgZW5kX3BhcnNlKHNsaWNlIHMpIGltcHVyZSBhc20gIkVORFMiOwoKOzs7IExvYWRzIHRoZSBmaXJzdCByZWZlcmVuY2UgZnJvbSB0aGUgc2xpY2UuCihz" +
"bGljZSwgY2VsbCkgbG9hZF9yZWYoc2xpY2UgcykgYXNtKC0+IDEgMCkgIkxEUkVGIjsKCjs7OyBQcmVsb2FkcyB0aGUgZmlyc3QgcmVmZXJlbmNlIGZyb20gdGhlIHNs" +
"aWNlLgpjZWxsIHByZWxvYWRfcmVmKHNsaWNlIHMpIGFzbSAiUExEUkVGIjsKCnstIEZ1bmN0aW9ucyBiZWxvdyBhcmUgY29tbWVudGVkIGJlY2F1c2UgYXJlIGltcGxl" +
"bWVudGVkIG9uIGNvbXBpbGF0b3IgbGV2ZWwgZm9yIG9wdGltaXNhdGlvbiAtfQoKOzs7IExvYWRzIGEgc2lnbmVkIFtsZW5dLWJpdCBpbnRlZ2VyIGZyb20gYSBzbGlj" +
"ZSBbc10uCjs7IChzbGljZSwgaW50KSB+bG9hZF9pbnQoc2xpY2UgcywgaW50IGxlbikgYXNtKHMgbGVuIC0+IDEgMCkgIkxESVgiOwoKOzs7IExvYWRzIGFuIHVuc2ln" +
"bmVkIFtsZW5dLWJpdCBpbnRlZ2VyIGZyb20gYSBzbGljZSBbc10uCjs7IChzbGljZSwgaW50KSB+bG9hZF91aW50KHNsaWNlIHMsIGludCBsZW4pIGFzbSggLT4gMSAw" +
"KSAiTERVWCI7Cgo7OzsgUHJlbG9hZHMgYSBzaWduZWQgW2xlbl0tYml0IGludGVnZXIgZnJvbSBhIHNsaWNlIFtzXS4KOzsgaW50IHByZWxvYWRfaW50KHNsaWNlIHMs" +
"IGludCBsZW4pIGFzbSAiUExESVgiOwoKOzs7IFByZWxvYWRzIGFuIHVuc2lnbmVkIFtsZW5dLWJpdCBpbnRlZ2VyIGZyb20gYSBzbGljZSBbc10uCjs7IGludCBwcmVs" +
"b2FkX3VpbnQoc2xpY2UgcywgaW50IGxlbikgYXNtICJQTERVWCI7Cgo7OzsgTG9hZHMgdGhlIGZpcnN0IGAwIOKJpCBsZW4g4omkIDEwMjNgIGJpdHMgZnJvbSBzbGlj" +
"ZSBbc10gaW50byBhIHNlcGFyYXRlIGBzbGljZSBzJydgLgo7OyAoc2xpY2UsIHNsaWNlKSBsb2FkX2JpdHMoc2xpY2UgcywgaW50IGxlbikgYXNtKHMgbGVuIC0+IDEg" +
"MCkgIkxEU0xJQ0VYIjsKCjs7OyBQcmVsb2FkcyB0aGUgZmlyc3QgYDAg4omkIGxlbiDiiaQgMTAyM2AgYml0cyBmcm9tIHNsaWNlIFtzXSBpbnRvIGEgc2VwYXJhdGUg" +
"YHNsaWNlIHMnJ2AuCjs7IHNsaWNlIHByZWxvYWRfYml0cyhzbGljZSBzLCBpbnQgbGVuKSBhc20gIlBMRFNMSUNFWCI7Cgo7OzsgTG9hZHMgc2VyaWFsaXplZCBhbW91" +
"bnQgb2YgVG9uQ29pbnMgKGFueSB1bnNpZ25lZCBpbnRlZ2VyIHVwIHRvIGAyXjEyMCAtIDFgKS4KKHNsaWNlLCBpbnQpIGxvYWRfZ3JhbXMoc2xpY2UgcykgYXNtKC0+" +
"IDEgMCkgIkxER1JBTVMiOwooc2xpY2UsIGludCkgbG9hZF9jb2lucyhzbGljZSBzKSBhc20oLT4gMSAwKSAiTERWQVJVSU5UMTYiOwoKKHNsaWNlLCBpbnQpIGxvYWRf" +
"dmFyaW50MTYoc2xpY2UgcykgYXNtKC0+IDEgMCkgIkxEVkFSSU5UMTYiOwooc2xpY2UsIGludCkgbG9hZF92YXJpbnQzMihzbGljZSBzKSBhc20oLT4gMSAwKSAiTERW" +
"QVJJTlQzMiI7CihzbGljZSwgaW50KSBsb2FkX3ZhcnVpbnQxNihzbGljZSBzKSBhc20oLT4gMSAwKSAiTERWQVJVSU5UMTYiOwooc2xpY2UsIGludCkgbG9hZF92YXJ1" +
"aW50MzIoc2xpY2UgcykgYXNtKC0+IDEgMCkgIkxEVkFSVUlOVDMyIjsKCjs7OyBSZXR1cm5zIGFsbCBidXQgdGhlIGZpcnN0IGAwIOKJpCBsZW4g4omkIDEwMjNgIGJp" +
"dHMgb2YgYHNsaWNlYCBbc10uCnNsaWNlIHNraXBfYml0cyhzbGljZSBzLCBpbnQgbGVuKSBhc20gIlNEU0tJUEZJUlNUIjsKKHNsaWNlLCAoKSkgfnNraXBfYml0cyhz" +
"bGljZSBzLCBpbnQgbGVuKSBhc20gIlNEU0tJUEZJUlNUIjsKCjs7OyBSZXR1cm5zIHRoZSBmaXJzdCBgMCDiiaQgbGVuIOKJpCAxMDIzYCBiaXRzIG9mIGBzbGljZWAg" +
"W3NdLgpzbGljZSBmaXJzdF9iaXRzKHNsaWNlIHMsIGludCBsZW4pIGFzbSAiU0RDVVRGSVJTVCI7Cgo7OzsgUmV0dXJucyBhbGwgYnV0IHRoZSBsYXN0IGAwIOKJpCBs" +
"ZW4g4omkIDEwMjNgIGJpdHMgb2YgYHNsaWNlYCBbc10uCnNsaWNlIHNraXBfbGFzdF9iaXRzKHNsaWNlIHMsIGludCBsZW4pIGFzbSAiU0RTS0lQTEFTVCI7CihzbGlj" +
"ZSwgKCkpIH5za2lwX2xhc3RfYml0cyhzbGljZSBzLCBpbnQgbGVuKSBhc20gIlNEU0tJUExBU1QiOwoKOzs7IFJldHVybnMgdGhlIGxhc3QgYDAg4omkIGxlbiDiiaQg" +
"MTAyM2AgYml0cyBvZiBgc2xpY2VgIFtzXS4Kc2xpY2Ugc2xpY2VfbGFzdChzbGljZSBzLCBpbnQgbGVuKSBhc20gIlNEQ1VUTEFTVCI7Cgo7OzsgTG9hZHMgYSBkaWN0" +
"aW9uYXJ5IGBEYCAoSGFzaE1hcEUpIGZyb20gYHNsaWNlYCBbc10uCjs7OyAocmV0dXJucyBgbnVsbGAgaWYgYG5vdGhpbmdgIGNvbnN0cnVjdG9yIGlzIHVzZWQpLgoo" +
"c2xpY2UsIGNlbGwpIGxvYWRfZGljdChzbGljZSBzKSBhc20oLT4gMSAwKSAiTERESUNUIjsKCjs7OyBQcmVsb2FkcyBhIGRpY3Rpb25hcnkgYERgIGZyb20gYHNsaWNl" +
"YCBbc10uCmNlbGwgcHJlbG9hZF9kaWN0KHNsaWNlIHMpIGFzbSAiUExERElDVCI7Cgo7OzsgTG9hZHMgYSBkaWN0aW9uYXJ5IGFzIFtsb2FkX2RpY3RdLCBidXQgcmV0" +
"dXJucyBvbmx5IHRoZSByZW1haW5kZXIgb2YgdGhlIHNsaWNlLgpzbGljZSBza2lwX2RpY3Qoc2xpY2UgcykgYXNtICJTS0lQRElDVCI7CihzbGljZSwgKCkpIH5za2lw" +
"X2RpY3Qoc2xpY2UgcykgYXNtICJTS0lQRElDVCI7Cgo7OzsgTG9hZHMgKE1heWJlIF5DZWxsKSBmcm9tIGBzbGljZWAgW3NdLgo7OzsgSW4gb3RoZXIgd29yZHMgbG9h" +
"ZHMgMSBiaXQgYW5kIGlmIGl0IGlzIHRydWUKOzs7IGxvYWRzIGZpcnN0IHJlZiBhbmQgcmV0dXJuIGl0IHdpdGggc2xpY2UgcmVtYWluZGVyCjs7OyBvdGhlcndpc2Ug" +
"cmV0dXJucyBgbnVsbGAgYW5kIHNsaWNlIHJlbWFpbmRlcgooc2xpY2UsIGNlbGwpIGxvYWRfbWF5YmVfcmVmKHNsaWNlIHMpIGFzbSgtPiAxIDApICJMRE9QVFJFRiI7" +
"Cgo7OzsgUHJlbG9hZHMgKE1heWJlIF5DZWxsKSBmcm9tIGBzbGljZWAgW3NdLgpjZWxsIHByZWxvYWRfbWF5YmVfcmVmKHNsaWNlIHMpIGFzbSAiUExET1BUUkVGIjsK" +
"Cgo7OzsgUmV0dXJucyB0aGUgZGVwdGggb2YgYGNlbGxgIFtjXS4KOzs7IElmIFtjXSBoYXMgbm8gcmVmZXJlbmNlcywgdGhlbiByZXR1cm4gYDBgOwo7Ozsgb3RoZXJ3" +
"aXNlIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyBvbmUgcGx1cyB0aGUgbWF4aW11bSBvZiBkZXB0aHMgb2YgY2VsbHMgcmVmZXJyZWQgdG8gZnJvbSBbY10uCjs7OyBJZiBb" +
"Y10gaXMgYSBgbnVsbGAgaW5zdGVhZCBvZiBhIGNlbGwsIHJldHVybnMgemVyby4KaW50IGNlbGxfZGVwdGgoY2VsbCBjKSBhc20gIkNERVBUSCI7CgoKey0KICAjIFNs" +
"aWNlIHNpemUgcHJpbWl0aXZlcwotfQoKOzs7IFJldHVybnMgdGhlIG51bWJlciBvZiByZWZlcmVuY2VzIGluIGBzbGljZWAgW3NdLgppbnQgc2xpY2VfcmVmcyhzbGlj" +
"ZSBzKSBhc20gIlNSRUZTIjsKCjs7OyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGF0YSBiaXRzIGluIGBzbGljZWAgW3NdLgppbnQgc2xpY2VfYml0cyhzbGljZSBzKSBh" +
"c20gIlNCSVRTIjsKCjs7OyBSZXR1cm5zIGJvdGggdGhlIG51bWJlciBvZiBkYXRhIGJpdHMgYW5kIHRoZSBudW1iZXIgb2YgcmVmZXJlbmNlcyBpbiBgc2xpY2VgIFtz" +
"XS4KKGludCwgaW50KSBzbGljZV9iaXRzX3JlZnMoc2xpY2UgcykgYXNtICJTQklUUkVGUyI7Cgo7OzsgQ2hlY2tzIHdoZXRoZXIgYSBgc2xpY2VgIFtzXSBpcyBlbXB0" +
"eSAoaS5lLiwgY29udGFpbnMgbm8gYml0cyBvZiBkYXRhIGFuZCBubyBjZWxsIHJlZmVyZW5jZXMpLgppbnQgc2xpY2VfZW1wdHk/KHNsaWNlIHMpIGFzbSAiU0VNUFRZ" +
"IjsKCjs7OyBDaGVja3Mgd2hldGhlciBgc2xpY2VgIFtzXSBoYXMgbm8gYml0cyBvZiBkYXRhLgppbnQgc2xpY2VfZGF0YV9lbXB0eT8oc2xpY2UgcykgYXNtICJTREVN" +
"UFRZIjsKCjs7OyBDaGVja3Mgd2hldGhlciBgc2xpY2VgIFtzXSBoYXMgbm8gcmVmZXJlbmNlcy4KaW50IHNsaWNlX3JlZnNfZW1wdHk/KHNsaWNlIHMpIGFzbSAiU1JF" +
"TVBUWSI7Cgo7OzsgUmV0dXJucyB0aGUgZGVwdGggb2YgYHNsaWNlYCBbc10uCjs7OyBJZiBbc10gaGFzIG5vIHJlZmVyZW5jZXMsIHRoZW4gcmV0dXJucyBgMGA7Cjs7" +
"OyBvdGhlcndpc2UgdGhlIHJldHVybmVkIHZhbHVlIGlzIG9uZSBwbHVzIHRoZSBtYXhpbXVtIG9mIGRlcHRocyBvZiBjZWxscyByZWZlcnJlZCB0byBmcm9tIFtzXS4K" +
"aW50IHNsaWNlX2RlcHRoKHNsaWNlIHMpIGFzbSAiU0RFUFRIIjsKCnstCiAgIyBCdWlsZGVyIHNpemUgcHJpbWl0aXZlcwotfQoKOzs7IFJldHVybnMgdGhlIG51bWJl" +
"ciBvZiBjZWxsIHJlZmVyZW5jZXMgYWxyZWFkeSBzdG9yZWQgaW4gYGJ1aWxkZXJgIFtiXQppbnQgYnVpbGRlcl9yZWZzKGJ1aWxkZXIgYikgYXNtICJCUkVGUyI7Cgo7" +
"OzsgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRhdGEgYml0cyBhbHJlYWR5IHN0b3JlZCBpbiBgYnVpbGRlcmAgW2JdLgppbnQgYnVpbGRlcl9iaXRzKGJ1aWxkZXIgYikg" +
"YXNtICJCQklUUyI7Cgo7OzsgUmV0dXJucyB0aGUgZGVwdGggb2YgYGJ1aWxkZXJgIFtiXS4KOzs7IElmIG5vIGNlbGwgcmVmZXJlbmNlcyBhcmUgc3RvcmVkIGluIFti" +
"XSwgdGhlbiByZXR1cm5zIDA7Cjs7OyBvdGhlcndpc2UgdGhlIHJldHVybmVkIHZhbHVlIGlzIG9uZSBwbHVzIHRoZSBtYXhpbXVtIG9mIGRlcHRocyBvZiBjZWxscyBy" +
"ZWZlcnJlZCB0byBmcm9tIFtiXS4KaW50IGJ1aWxkZXJfZGVwdGgoYnVpbGRlciBiKSBhc20gIkJERVBUSCI7Cgp7LQogICMgQnVpbGRlciBwcmltaXRpdmVzCiAgSXQg" +