This repository was archived by the owner on Jul 29, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathShadow Source with SRW distributions.ows
612 lines (612 loc) · 46.4 KB
/
Shadow Source with SRW distributions.ows
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
<?xml version='1.0' encoding='utf-8'?>
<scheme description="" title="Shadow Source with SRW distributions" version="2.0" working_directory="/Users/labx/Desktop/ALS-U_Examples" workspace_units="1">
<nodes>
<node id="0" name="Python Script" position="(79.0, 107.0)" project_name="OASYS1" qualified_name="oasys.widgets.tools.ow_python_script.OWPythonScript" title="Create SRW Undulator Source" version="" />
<node id="1" name="Geometrical Source" position="(80.0, 530.0)" project_name="OASYS1-ShadowOui" qualified_name="orangecontrib.shadow.widgets.sources.ow_geometrical_source.GeometricalSource" title="Geometrical Source" version="" />
<node id="2" name="Plot XY" position="(507.0, 192.0)" project_name="OASYS1-ShadowOui" qualified_name="orangecontrib.shadow.widgets.plots.ow_plot_xy.PlotXY" title="X', Z'" version="" />
<node id="3" name="Python Script" position="(262.0, 403.0)" project_name="OASYS1" qualified_name="oasys.widgets.tools.ow_python_script.OWPythonScript" title="Change Photon Phase Space" version="" />
<node id="4" name="Plot XY" position="(485.0, 541.0)" project_name="OASYS1-ShadowOui" qualified_name="orangecontrib.shadow.widgets.plots.ow_plot_xy.PlotXY" title="X,Z" version="" />
<node id="5" name="Plot XY" position="(712.0, 401.0)" project_name="OASYS1-ShadowOui" qualified_name="orangecontrib.shadow.widgets.plots.ow_plot_xy.PlotXY" title="X,Z at 100m" version="" />
<node id="6" name="Python Script" position="(78.0, 209.0)" project_name="OASYS1" qualified_name="oasys.widgets.tools.ow_python_script.OWPythonScript" title="Read Distributions from Saved Files" version="" />
<node id="7" name="Python Script" position="(83.0, 414.0)" project_name="OASYS1" qualified_name="oasys.widgets.tools.ow_python_script.OWPythonScript" title="Create Shadow Geometrical Source" version="" />
<node id="8" name="Python Script" position="(81.0, 631.0)" project_name="OASYS1" qualified_name="oasys.widgets.tools.ow_python_script.OWPythonScript" title="Read Distributions from Ascii files" version="" />
</nodes>
<links>
<link enabled="true" id="0" sink_channel="Input Beam" sink_node_id="4" source_channel="out_object" source_node_id="3" />
<link enabled="true" id="1" sink_channel="Input Beam" sink_node_id="2" source_channel="out_object" source_node_id="3" />
<link enabled="true" id="2" sink_channel="Input Beam" sink_node_id="5" source_channel="out_object" source_node_id="3" />
<link enabled="true" id="3" sink_channel="in_object_1" sink_node_id="3" source_channel="out_object" source_node_id="7" />
<link enabled="true" id="4" sink_channel="in_object_2" sink_node_id="3" source_channel="out_object" source_node_id="0" />
</links>
<annotations />
<thumbnail />
<node_properties>
<properties format="pickle" node_id="0">gAN9cQAoWAkAAABmb250X3NpemVxAUsEWBEAAABsaWJyYXJ5TGlzdFNvdXJjZXECXXEDY29hc3lz
LndpZGdldHMudG9vbHMub3dfcHl0aG9uX3NjcmlwdApTY3JpcHQKcQQpgXEFfXEGKFgGAAAAc2Ny
aXB0cQdYMSoAAGltcG9ydCBudW1weQpmcm9tIHNyd2xpYiBpbXBvcnQgKgpmcm9tIHNpbHguZ3Vp
LnBsb3QgaW1wb3J0IFBsb3QyRCwgSW1hZ2VWaWV3CgpudW1QZXIgPSA0MCAjIE51bWJlciBvZiBJ
RCBQZXJpb2RzICh3aXRob3V0IGNvdW50aW5nIGZvciB0ZXJtaW5hdGlvbnMKdW5kUGVyID0gMC4x
ICMgUGVyaW9kIExlbmd0aCBbbV0KS3YgPSAxLjkyICMgNDAwIGVWIDNyZCBoYXJtb25pYwpwaG90
b25fZW5lcmd5ID0gMzk5LjggIyAzcmQgaGFybW9uaWMKCmltcG9ydCBzY2lweS5jb25zdGFudHMg
YXMgY29kYXRhCmRlZiBtYWduZXRpY19maWVsZF9mcm9tX0soSywgcGVyaW9kX2xlbmd0aCk6CiAg
ICByZXR1cm4gSyAqIDIgKiBwaSAqIGNvZGF0YS5tX2UgKiBjb2RhdGEuYyAvIChjb2RhdGEuZSAq
IHBlcmlvZF9sZW5ndGgpCgoKZGVmIGNyZWF0ZVVuZHVsYXRvcihLdiwgdW5kUGVyLCBudW1QZXIp
OgogICAgIyoqKioqKioqKioqVW5kdWxhdG9yCiAgICBCeSA9IG1hZ25ldGljX2ZpZWxkX2Zyb21f
SyhLdiwgdW5kUGVyKSAjUGVhayBWZXJ0aWNhbCBmaWVsZCBbVF0KICAgIHByaW50KCJCeSBjYWxj
dWxhdGVkOiAiICsgc3RyKEJ5KSArICIgVCIpCiAgICBCeCA9IDAuMCAjUGVhayBWZXJ0aWNhbCBm
aWVsZCBbVF0KCiAgICBwaEJ5ID0gMCAjSW5pdGlhbCBQaGFzZSBvZiB0aGUgVmVydGljYWwgZmll
bGQgY29tcG9uZW50CiAgICBzQnkgPSAtMSAjU3ltbWV0cnkgb2YgdGhlIFZlcnRpY2FsIGZpZWxk
IGNvbXBvbmVudCB2cyBMb25naXR1ZGluYWwgcG9zaXRpb24KICAgIHhjSUQgPSAwICNUcmFuc3Zl
cnNlIENvb3JkaW5hdGVzIG9mIFVuZHVsYXRvciBDZW50ZXIgW21dCiAgICB5Y0lEID0gMAogICAg
emNJRCA9IDAgI0xvbmdpdHVkaW5hbCBDb29yZGluYXRlIG9mIFVuZHVsYXRvciBDZW50ZXIgW21d
CgogICAgdW5kID0gU1JXTE1hZ0ZsZFUoW1NSV0xNYWdGbGRIKDEsICdoJywgQngsIHBoQnksIHNC
eSwgMSksIFNSV0xNYWdGbGRIKDEsICd2JywgQnksIHBoQnksIHNCeSwgMSldLCB1bmRQZXIsIG51
bVBlcikgI1BsYW5hciBVbmR1bGF0b3IKICAgIG1hZ0ZsZENudCA9IFNSV0xNYWdGbGRDKFt1bmRd
LCBhcnJheSgnZCcsIFt4Y0lEXSksIGFycmF5KCdkJywgW3ljSURdKSwgYXJyYXkoJ2QnLCBbemNJ
RF0pKSAjQ29udGFpbmVyIG9mIGFsbCBGaWVsZCBFbGVtZW50cwoKICAgIHJldHVybiBtYWdGbGRD
bnQKCmRlZiBjcmVhdGVFbGVjdHJvbkJlYW0odW5kUGVyLCBudW1QZXIpOgogICAgIyoqKioqKioq
KioqRWxlY3Ryb24gQmVhbQogICAgZWxlY0JlYW0gPSBTUldMUGFydEJlYW0oKQoKICAgIGVsZWNC
ZWFtLnBhcnRTdGF0TW9tMS54ID0gMC4gI0luaXRpYWwgVHJhbnN2ZXJzZSBDb29yZGluYXRlcyAo
aW5pdGlhbCBMb25naXR1ZGluYWwgQ29vcmRpbmF0ZSB3aWxsIGJlIGRlZmluZWQgbGF0ZXIgb24p
IFttXQogICAgZWxlY0JlYW0ucGFydFN0YXRNb20xLnkgPSAwLiAjLTAuMDAwMjUKICAgICMgUm91
Z2hseSAhIGNoZWNrIQogICAgZWxlY0JlYW0ucGFydFN0YXRNb20xLnogPSAtMC41KnVuZFBlcioo
bnVtUGVyICsgOCkgI0luaXRpYWwgTG9uZ2l0dWRpbmFsIENvb3JkaW5hdGUgKHNldCBiZWZvcmUg
dGhlIElEKQogICAgZWxlY0JlYW0ucGFydFN0YXRNb20xLnhwID0gMC4gI0luaXRpYWwgUmVsYXRp
dmUgVHJhbnN2ZXJzZSBWZWxvY2l0aWVzCiAgICBlbGVjQmVhbS5wYXJ0U3RhdE1vbTEueXAgPSAw
LgogICAgZWxlY0JlYW0ucGFydFN0YXRNb20xLmdhbW1hID0gMi4vMC41MTA5OTg5MDIyMWUtMDMg
I1JlbGF0aXZlIEVuZXJneQoKICAgIGVsZWNCZWFtLklhdmcgPSAwLjMyICNBdmVyYWdlIEN1cnJl
bnQgW0FdCgogICAgIzJuZCBvcmRlciBzdGF0aXN0aWNhbCBtb21lbnRzCiAgICBlbGVjQmVhbS5h
clN0YXRNb20yWzBdID0gKDAuMjUyOWUtMykqKjIgIzwoeC14MCleMj4KICAgIGVsZWNCZWFtLmFy
U3RhdE1vbTJbMV0gPSAwCiAgICBlbGVjQmVhbS5hclN0YXRNb20yWzJdID0gKDAuMDI4ODFlLTMp
KioyICM8KHgnLXgnMCleMj4KICAgIGVsZWNCZWFtLmFyU3RhdE1vbTJbM10gPSAoMC4wMTg0NGUt
MykqKjIgIzwoeS15MCleMj4KICAgIGVsZWNCZWFtLmFyU3RhdE1vbTJbNF0gPSAwCiAgICBlbGVj
QmVhbS5hclN0YXRNb20yWzVdID0gKDUuMjM1ZS02KSoqMiAjPCh5Jy15JzApXjI+CiAgICAjIGVu
ZXJneSBzcHJlYWQKICAgIGVsZWNCZWFtLmFyU3RhdE1vbTJbMTBdID0gKDAuODBlLTAzKSoqMiAj
PChFLUUwKV4yPi9FMF4yCgogICAgcmV0dXJuIGVsZWNCZWFtCgpkZWYgY3JlYXRlSW5pdGlhbFdh
dmVmcm9udE1lc2hTb3VyY2VEaW1lbnNpb24oZWxlY0JlYW0pOgogICAgIyoqKioqKioqKioqKioq
KioqKiBJbml0aWFsIFdhdmVmcm9udAogICAgd2ZyID0gU1JXTFdmcigpICNGb3IgaW50ZW5zaXR5
IGRpc3RyaWJ1dGlvbiBhdCBmaXhlZCBwaG90b24gZW5lcmd5CiAgICB3ZnIuYWxsb2NhdGUoMSwg
MTAxLCAxMDEpICNOdW1iZXJzIG9mIHBvaW50cyB2cyBQaG90b24gRW5lcmd5LCBIb3Jpem9udGFs
IGFuZCBWZXJ0aWNhbCBQb3NpdGlvbnMKICAgIHdmci5tZXNoLnpTdGFydCA9IDEwLjAgI0xvbmdp
dHVkaW5hbCBQb3NpdGlvbiBbbV0gZnJvbSBDZW50ZXIgb2YgU3RyYWlnaHQgU2VjdGlvbiBhdCB3
aGljaCBTUiBoYXMgdG8gYmUgY2FsY3VsYXRlZAogICAgd2ZyLm1lc2guZVN0YXJ0ID0gcGhvdG9u
X2VuZXJneSAjSW5pdGlhbCBQaG90b24gRW5lcmd5IFtlVl0KICAgIHdmci5tZXNoLmVGaW4gPSB3
ZnIubWVzaC5lU3RhcnQgI0ZpbmFsIFBob3RvbiBFbmVyZ3kgW2VWXQoKICAgICNPQzogaXQgbWFr
ZXMgc2Vuc2UgdG8gY2hvb3NlIHRoZSBpbml0aWFsIHJhbmdlcyBlcXVhbCBvciBhIGJpdCBsYXJn
ZXIgdGhhdCB0aGUgZmlyc3QgYXBlcnR1cmUgb2YgdGhlIGJlYW1saW5lIChub3QgbXVjaCBsYXJn
ZXIpCgogICAgd2ZyLm1lc2gueFN0YXJ0ID0gLTAuNWUtMyAjLTAuMDAwMTUgI0luaXRpYWwgSG9y
aXpvbnRhbCBQb3NpdGlvbiBbbV0KICAgIHdmci5tZXNoLnhGaW4gPSAtMSAqIHdmci5tZXNoLnhT
dGFydCAjMC4wMDAxNSAjRmluYWwgSG9yaXpvbnRhbCBQb3NpdGlvbiBbbV0KICAgIHdmci5tZXNo
LnlTdGFydCA9IC0wLjVlLTMgIy0wLjAwMDE1ICNJbml0aWFsIFZlcnRpY2FsIFBvc2l0aW9uIFtt
XQogICAgd2ZyLm1lc2gueUZpbiA9IC0xICogd2ZyLm1lc2gueVN0YXJ0IzAuMDAwMTUgI0ZpbmFs
IFZlcnRpY2FsIFBvc2l0aW9uIFttXQoKICAgIHdmci5wYXJ0QmVhbSA9IGVsZWNCZWFtCgogICAg
cmV0dXJuIHdmcgoKZGVmIGNyZWF0ZUluaXRpYWxXYXZlZnJvbnRNZXNoQW5ndWxhckRpc3RyaWJ1
dGlvbihlbGVjQmVhbSk6CiAgICAjKioqKioqKioqKioqKioqKioqIEluaXRpYWwgV2F2ZWZyb250
CiAgICB3ZnIgPSBTUldMV2ZyKCkgI0ZvciBpbnRlbnNpdHkgZGlzdHJpYnV0aW9uIGF0IGZpeGVk
IHBob3RvbiBlbmVyZ3kKICAgIHdmci5hbGxvY2F0ZSgxLCAyMDEsIDEwMSkgI051bWJlcnMgb2Yg
cG9pbnRzIHZzIFBob3RvbiBFbmVyZ3ksIEhvcml6b250YWwgYW5kIFZlcnRpY2FsIFBvc2l0aW9u
cwogICAgd2ZyLm1lc2guelN0YXJ0ID0gMTAwLjAgI0xvbmdpdHVkaW5hbCBQb3NpdGlvbiBbbV0g
ZnJvbSBDZW50ZXIgb2YgU3RyYWlnaHQgU2VjdGlvbiBhdCB3aGljaCBTUiBoYXMgdG8gYmUgY2Fs
Y3VsYXRlZAogICAgd2ZyLm1lc2guZVN0YXJ0ID0gcGhvdG9uX2VuZXJneSAjSW5pdGlhbCBQaG90
b24gRW5lcmd5IFtlVl0KICAgIHdmci5tZXNoLmVGaW4gPSB3ZnIubWVzaC5lU3RhcnQgI0ZpbmFs
IFBob3RvbiBFbmVyZ3kgW2VWXQoKICAgICNPQzogaXQgbWFrZXMgc2Vuc2UgdG8gY2hvb3NlIHRo
ZSBpbml0aWFsIHJhbmdlcyBlcXVhbCBvciBhIGJpdCBsYXJnZXIgdGhhdCB0aGUgZmlyc3QgYXBl
cnR1cmUgb2YgdGhlIGJlYW1saW5lIChub3QgbXVjaCBsYXJnZXIpCgogICAgd2ZyLm1lc2gueFN0
YXJ0ID0gLTFlLTIgIy0wLjAwMDE1ICNJbml0aWFsIEhvcml6b250YWwgUG9zaXRpb24gW21dCiAg
ICB3ZnIubWVzaC54RmluID0gLTEgKiB3ZnIubWVzaC54U3RhcnQgIzAuMDAwMTUgI0ZpbmFsIEhv
cml6b250YWwgUG9zaXRpb24gW21dCiAgICB3ZnIubWVzaC55U3RhcnQgPSAtMC41ZS0yICMtMC4w
MDAxNSAjSW5pdGlhbCBWZXJ0aWNhbCBQb3NpdGlvbiBbbV0KICAgIHdmci5tZXNoLnlGaW4gPSAt
MSAqIHdmci5tZXNoLnlTdGFydCMwLjAwMDE1ICNGaW5hbCBWZXJ0aWNhbCBQb3NpdGlvbiBbbV0K
CiAgICB3ZnIucGFydEJlYW0gPSBlbGVjQmVhbQoKICAgIHJldHVybiB3ZnIKCmRlZiBjcmVhdGVD
YWxjdWxhdGlvblByZWNpc2lvblNldHRpbmdzKCk6CiAgICAjKioqKioqKioqKipQcmVjaXNpb24g
UGFyYW1ldGVycyBmb3IgU1IgY2FsY3VsYXRpb24KICAgIG1ldGggPSAxICNTUiBjYWxjdWxhdGlv
biBtZXRob2Q6IDAtICJtYW51YWwiLCAxLSAiYXV0by11bmR1bGF0b3IiLCAyLSAiYXV0by13aWdn
bGVyIgogICAgcmVsUHJlYyA9IDAuMDEgI3JlbGF0aXZlIHByZWNpc2lvbgogICAgelN0YXJ0SW50
ZWcgPSAwICNsb25naXR1ZGluYWwgcG9zaXRpb24gdG8gc3RhcnQgaW50ZWdyYXRpb24gKGVmZmVj
dGl2ZSBpZiA8IHpFbmRJbnRlZykKICAgIHpFbmRJbnRlZyA9IDAgI2xvbmdpdHVkaW5hbCBwb3Np
dGlvbiB0byBmaW5pc2ggaW50ZWdyYXRpb24gKGVmZmVjdGl2ZSBpZiA+IHpTdGFydEludGVnKQog
ICAgbnBUcmFqID0gMTAwMDAwICNOdW1iZXIgb2YgcG9pbnRzIGZvciB0cmFqZWN0b3J5IGNhbGN1
bGF0aW9uCiAgICB1c2VUZXJtaW4gPSAxICNVc2UgInRlcm1pbmF0aW5nIHRlcm1zIiAoaS5lLiBh
c3ltcHRvdGljIGV4cGFuc2lvbnMgYXQgelN0YXJ0SW50ZWcgYW5kIHpFbmRJbnRlZykgb3Igbm90
ICgxIG9yIDAgcmVzcGVjdGl2ZWx5KQogICAgYXJQcmVjUGFyU3BlYyA9IFttZXRoLCByZWxQcmVj
LCB6U3RhcnRJbnRlZywgekVuZEludGVnLCBucFRyYWosIHVzZVRlcm1pbiwgMF0KCiAgICByZXR1
cm4gYXJQcmVjUGFyU3BlYwoKZGVmIGNyZWF0ZUJlYW1saW5lU291cmNlRGltZW5zaW9uKHdmcik6
CiAgICAjKioqKioqKioqKioqKioqKiogT3B0aWNhbCBFbGVtZW50cyBhbmQgUHJvcGFnYXRpb24g
UGFyYW1ldGVycwoKICAgIGRpc3RTcmNMZW5zID0gd2ZyLm1lc2guelN0YXJ0CgogICAgZGlzdExl
bnNJbWcgPSBkaXN0U3JjTGVucyAjRGlzdGFuY2UgZnJvbSBsZW5zIHRvIGltYWdlIHBsYW5lCiAg
ICBmb2NMZW5ndGggPSBkaXN0U3JjTGVucypkaXN0TGVuc0ltZy8oZGlzdFNyY0xlbnMgKyBkaXN0
TGVuc0ltZykKCiAgICBvcExlbnMgPSBTUldMT3B0TChfRng9Zm9jTGVuZ3RoLCBfRnk9Zm9jTGVu
Z3RoKSAjVGhpbiBsZW5zCiAgICBvcERyaWZ0ID0gU1JXTE9wdEQoZGlzdExlbnNJbWcpICNEcmlm
dCBzcGFjZSBmcm9tIGxlbnMgdG8gaW1hZ2UgcGxhbmUKCiAgICAjUHJvcGFnYXRpb24gcGFyYW1h
dGVycyAoU1JXIHNwZWNpZmljKQogICAgI1gtcmF5IEJNIFNSIGNhc2U6IHByb3BhZ2F0aW9uIHdp
dGhvdXQgImF1dG8tcmVzaXppbmciCiAgICAjYW5kIHdpdGggc2VtaS1hbmFseXRpY2FsIHRyZWF0
bWVudCBvZiB0aGUgcXVhZHJhdGljIHBoYXNlIHRlcm1zLCB0byBzYXZlIG1lbW9yeQogICAgcHBM
ZW5zID0gIFswLCAwLCAxLiwgMCwgMCwgMS4wLCAxLjAsIDEuMCwgMS4wLCAwLCAwLCAwXQogICAg
cHBEcmlmdCA9IFswLCAwLCAxLiwgMSwgMCwgMS41LCA4LjAsIDAuNSwgOC4wLCAwLCAwLCAwXQoK
ICAgICMiQmVhbWxpbmUiIC0gQ29udGFpbmVyIG9mIE9wdGljYWwgRWxlbWVudHMgKHRvZ2V0aGVy
IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgd2F2ZWZyb250IHByb3BhZ2F0aW9uIGluc3RydWN0aW9u
cykKCiAgICBvcHRCTCA9IFNSV0xPcHRDKFtvcExlbnMsIG9wRHJpZnRdLAogICAgICAgICAgICAg
ICAgICAgICBbcHBMZW5zLCBwcERyaWZ0XSkKCiAgICByZXR1cm4gb3B0QkwKCiMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
CmRlZiB0cmFuc2Zvcm1fc3J3X2FycmF5KGFySSwgbWVzaCk6CiAgICBkaW1feCA9IG1lc2gubngK
ICAgIGRpbV95ID0gbWVzaC5ueQoKICAgIHhfY29vcmRpbmF0ZXMgPSBudW1weS5saW5zcGFjZSht
ZXNoLnhTdGFydCwgbWVzaC54RmluLCBkaW1feCkKICAgIHlfY29vcmRpbmF0ZXMgPSBudW1weS5s
aW5zcGFjZShtZXNoLnlTdGFydCwgbWVzaC55RmluLCBkaW1feSkKCiAgICBkYXRhID0gbnVtcHku
c3F1ZWV6ZShhckkpCiAgICBucF9hcnJheSA9IGRhdGEucmVzaGFwZSgoZGltX3ksIGRpbV94KSkK
ICAgIG5wX2FycmF5ID0gbnBfYXJyYXkudHJhbnNwb3NlKCkKIAogICAgcmV0dXJuIHhfY29vcmRp
bmF0ZXMsIHlfY29vcmRpbmF0ZXMsIG5wX2FycmF5CgpkZWYgcGxvdF8yRCh4LCB5LCBkYXRhLCB4
bGFiZWw9IlggW21dIiwgeWxhYmVsPSJZIFttXSIsIHRpdGxlPU5vbmUpOgogICAgeG1pbiwgeG1h
eCA9IHgubWluKCksIHgubWF4KCkKICAgIHltaW4sIHltYXggPSB5Lm1pbigpLCB5Lm1heCgpCgog
ICAgb3JpZ2luID0gKHhtaW4sIHltaW4pCiAgICBzY2FsZSA9IChhYnMoKHhtYXgteG1pbikvbGVu
KHgpKSwgYWJzKCh5bWF4LXltaW4pL2xlbih5KSkpCgogICAgIyBQeU1DQSBpbnZlcnRzIGF4aXMh
ISEhIGhpc3RvZ3JhbSBtdXN0IGJlIGNhbGN1bGF0ZWQgcmV2ZXJzZWQKICAgIGRhdGFfdG9fcGxv
dCA9IFtdCiAgICBmb3IgeV9pbmRleCBpbiByYW5nZSgwLCBsZW4oeSkpOgogICAgICAgIHhfdmFs
dWVzID0gW10KICAgICAgICBmb3IgeF9pbmRleCBpbiByYW5nZSgwLCBsZW4oeCkpOgogICAgICAg
ICAgICB4X3ZhbHVlcy5hcHBlbmQoZGF0YVt4X2luZGV4LCB5X2luZGV4XSkKCiAgICAgICAgeF92
YWx1ZXMucmV2ZXJzZSgpCgogICAgICAgIGRhdGFfdG9fcGxvdC5hcHBlbmQoeF92YWx1ZXMpCiAg
ICAKICAgIHBsb3RfY2FudmFzID0gSW1hZ2VWaWV3KCkKICAgIHBsb3RfY2FudmFzLnNldEdyYXBo
VGl0bGUodGl0bGUpCiAgICBwbG90X2NhbnZhcy50b29sQmFyKCkKICAgIAogICAgcGxvdF9jYW52
YXMuYWRkSW1hZ2UobnVtcHkuYXJyYXkoZGF0YV90b19wbG90KSwKICAgICAgICAgICAgICAgICAg
ICAgICAgIHhsYWJlbD14bGFiZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICB5bGFiZWw9eWxh
YmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgbGVnZW5kPSJkYXRhIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgIG9yaWdpbj1vcmlnaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICBzY2Fs
ZT1zY2FsZSwKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2U9VHJ1ZSkKCiAgICAKICAg
IHJldHVybiBwbG90X2NhbnZhcwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbWFnRmxkQ250ID0gY3JlYXRlVW5kdWxh
dG9yKEt2LCB1bmRQZXIsIG51bVBlcikKZWxlY0JlYW0gPSBjcmVhdGVFbGVjdHJvbkJlYW0odW5k
UGVyLCBudW1QZXIpCndmckFuZ0Rpc3QgPSBjcmVhdGVJbml0aWFsV2F2ZWZyb250TWVzaEFuZ3Vs
YXJEaXN0cmlidXRpb24oZWxlY0JlYW0pCndmclNvdURpbSA9IGNyZWF0ZUluaXRpYWxXYXZlZnJv
bnRNZXNoU291cmNlRGltZW5zaW9uKGVsZWNCZWFtKQpvcHRCTFNvdURpbSA9IGNyZWF0ZUJlYW1s
aW5lU291cmNlRGltZW5zaW9uKHdmclNvdURpbSkKCmFyUHJlY1BhclNwZWMgPSBjcmVhdGVDYWxj
dWxhdGlvblByZWNpc2lvblNldHRpbmdzKCkKCiMgVGhpcyBpcyB0aGUgY29udmVyZ2VuY2UgcGFy
YW1ldGVyLiBIaWdoZXIgaXMgbW9yZSBhY2N1cmF0ZSBidXQgc2xvd2VyISEKIyAwLjIgaXMgdXNl
ZCBpbiB0aGUgb3JpZ2luYWwgZXhhbXBsZS4gQnV0IEkgdGhpbmsgaXQgc2hvdWxkIGJlIGhpZ2hl
ci4gVGhlIGNhbGN1bGF0aW9uIG1heSB0aGVuIGhvd2V2ZXIgbmVlZCB0b28gbXVjaCBtZW1vcnku
CnNhbXBGYWN0TnhOeUZvclByb3AgPSAxLjAgIzAuNiAjc2FtcGxpbmcgZmFjdG9yIGZvciBhZGp1
c3RpbmcgbngsIG55IChlZmZlY3RpdmUgaWYgPiAwKQoKaWYoc3J3bF91dGlfcHJvY19pc19tYXN0
ZXIoKSk6CiAgICAKICAgICMgMSBjYWxjdWxhdGUgaW50ZW5zaXR5IGRpc3RyaWJ1dGlvbiBNRSBj
b252b2x1dGVkIGZvciBkaW1lbnNpb24gc2l6ZQogICAgCiAgICBwcmludCgnICAgUGVyZm9ybWlu
ZyBJbml0aWFsIFNpbmdsZS1FIEVsZWN0cmljIEZpZWxkIGNhbGN1bGF0aW9uIC4uLiAnLCBlbmQ9
JycpCiAgICBhclByZWNQYXJTcGVjWzZdID0gc2FtcEZhY3ROeE55Rm9yUHJvcCAjc2FtcGxpbmcg
ZmFjdG9yIGZvciBhZGp1c3RpbmcgbngsIG55IChlZmZlY3RpdmUgaWYgPiAwKQogICAgc3J3bC5D
YWxjRWxlY0ZpZWxkU1Iod2ZyU291RGltLCAwLCBtYWdGbGRDbnQsIGFyUHJlY1BhclNwZWMpCiAg
ICBwcmludCgnZG9uZScpCiAgICAgICAgCiAgICBwcmludCgnICAgU2ltdWxhdGluZyBFbGVjdHJp
YyBGaWVsZCBXYXZlZnJvbnQgUHJvcGFnYXRpb24gZm9yIFNvdXJjZSBEaW1lbnNpb24gLi4uICcs
IGVuZD0nJykKICAgIHNyd2wuUHJvcGFnRWxlY0ZpZWxkKHdmclNvdURpbSwgb3B0QkxTb3VEaW0p
CiAgICBwcmludCgnZG9uZScpCgogICAgcHJpbnQoJyAgIEV4dHJhY3RpbmcgSW50ZW5zaXR5IGZy
b20gdGhlIFByb3BhZ2F0ZWQgRWxlY3RyaWMgRmllbGQgZm9yIERpbSBOYXQgLi4uICcsIGVuZD0n
JykKICAgIGFySSA9IGFycmF5KCdmJywgWzBdKndmclNvdURpbS5tZXNoLm54KndmclNvdURpbS5t
ZXNoLm55KSAjImZsYXQiIDJEIGFycmF5IHRvIHRha2UgaW50ZW5zaXR5IGRhdGEKICAgIHNyd2wu
Q2FsY0ludEZyb21FbGVjRmllbGQoYXJJLCB3ZnJTb3VEaW0sIDYsIDEsIDMsIHdmclNvdURpbS5t
ZXNoLmVTdGFydCwgMCwgMCkgICAKICAgICAgIAogICAgc3J3bF91dGlfc2F2ZV9pbnRlbnNfYXNj
aWkoYXJJLCB3ZnJTb3VEaW0ubWVzaCwgImludGVuc2l0eV9zb3VyY2VfZGltZW5zaW9uLmRhdCIp
CiAgICBwcmludCgnZG9uZScpICAgIAogICAgCiAgICB4LCB6LCBpbnRlbnNpdHlfc291cmNlX2Rp
bWVuc2lvbiA9IHRyYW5zZm9ybV9zcndfYXJyYXkoYXJJLCB3ZnJTb3VEaW0ubWVzaCkgICAgCiAg
ICAgICAKICAgICMgMiBjYWxjdWxhdGUgaW50ZW5zaXR5IGRpc3RyaWJ1dGlvbiBNRSBjb252b2x1
dGVkIGF0IGZhciBmaWVsZCB0byBleHByZXNzIGl0IGluIGFuZ3VsYXIgY29vcmRpbmF0ZXMgCgog
ICAgcHJpbnQoJyAgIFBlcmZvcm1pbmcgSW5pdGlhbCBTaW5nbGUtRSBFbGVjdHJpYyBGaWVsZCBj
YWxjdWxhdGlvbiAuLi4gJywgZW5kPScnKQogICAgYXJQcmVjUGFyU3BlY1s2XSA9IHNhbXBGYWN0
TnhOeUZvclByb3AgI3NhbXBsaW5nIGZhY3RvciBmb3IgYWRqdXN0aW5nIG54LCBueSAoZWZmZWN0
aXZlIGlmID4gMCkKICAgIHNyd2wuQ2FsY0VsZWNGaWVsZFNSKHdmckFuZ0Rpc3QsIDAsIG1hZ0Zs
ZENudCwgYXJQcmVjUGFyU3BlYykKICAgIHByaW50KCdkb25lJykKCiAgICBwcmludCgnICAgRXh0
cmFjdGluZyBJbnRlbnNpdHkgTUUgQ29udiBmcm9tIHRoZSBDYWxjdWxhdGVkIEluaXRpYWwgRWxl
Y3RyaWMgRmllbGQgLi4uICcsIGVuZD0nJykKICAgIGFySSA9IGFycmF5KCdmJywgWzBdKndmckFu
Z0Rpc3QubWVzaC5ueCp3ZnJBbmdEaXN0Lm1lc2gubnkpICMiZmxhdCIgYXJyYXkgdG8gdGFrZSAy
RCBpbnRlbnNpdHkgZGF0YQogICAgc3J3bC5DYWxjSW50RnJvbUVsZWNGaWVsZChhckksIHdmckFu
Z0Rpc3QsIDYsIDEsIDMsIHdmckFuZ0Rpc3QubWVzaC5lU3RhcnQsIDAsIDApCiAgICBwcmludCgn
ZG9uZScpCiAgICBwcmludCgnICAgU2F2aW5nIHRoZSBJbml0aWFsIFdhdmVmcm9udCBJbnRlbnNp
dHkgaW50byBhIGZpbGUgLi4uICcsIGVuZD0nJykKICAgIAogICAgd2ZyQW5nRGlzdC5tZXNoLnhT
dGFydCAvPSB3ZnJBbmdEaXN0Lm1lc2guelN0YXJ0CiAgICB3ZnJBbmdEaXN0Lm1lc2gueEZpbiAv
PSB3ZnJBbmdEaXN0Lm1lc2guelN0YXJ0CiAgICB3ZnJBbmdEaXN0Lm1lc2gueVN0YXJ0IC89IHdm
ckFuZ0Rpc3QubWVzaC56U3RhcnQKICAgIHdmckFuZ0Rpc3QubWVzaC55RmluIC89IHdmckFuZ0Rp
c3QubWVzaC56U3RhcnQKICAgIAogICAgc3J3bF91dGlfc2F2ZV9pbnRlbnNfYXNjaWkoYXJJLCB3
ZnJBbmdEaXN0Lm1lc2gsICJpbnRlbnNpdHlfYW5ndWxhcl9kaXN0cmlidXRpb24uZGF0IikKICAg
IHByaW50KCdkb25lJykgICAgCiAgICAKICAgIHhfZmlyc3QsIHpfZmlyc3QsIGludGVuc2l0eV9h
bmd1bGFyX2Rpc3RyaWJ1dGlvbiA9IHRyYW5zZm9ybV9zcndfYXJyYXkoYXJJLCB3ZnJBbmdEaXN0
Lm1lc2gpICAgIAoKICAgIHBsb3RfY2FudmFzXzEgPSBwbG90XzJEKHgsIHosIGludGVuc2l0eV9z
b3VyY2VfZGltZW5zaW9uLCB4bGFiZWw9IlggW21dIiwgeWxhYmVsPSJaIFttXSIsIHRpdGxlPSJY
LFoiKQogICAgcGxvdF9jYW52YXNfMiA9IHBsb3RfMkQoeF9maXJzdCwgel9maXJzdCwgaW50ZW5z
aXR5X2FuZ3VsYXJfZGlzdHJpYnV0aW9uLCB4bGFiZWw9IlgnIFtyYWRdIiwgeWxhYmVsPSJaJyBb
cmFkXSIsIHRpdGxlPSJBbHBoYVgsIEFscGhhWiIpCiAgICBwbG90X2NhbnZhc18xLnNob3coKQog
ICAgcGxvdF9jYW52YXNfMi5zaG93KCkKCiAgICBvdXRwdXQgPSBbXQogICAgb3V0cHV0LmFwcGVu
ZCh4KQogICAgb3V0cHV0LmFwcGVuZCh6KQogICAgb3V0cHV0LmFwcGVuZChpbnRlbnNpdHlfc291
cmNlX2RpbWVuc2lvbikKICAgIG91dHB1dC5hcHBlbmQoeF9maXJzdCkKICAgIG91dHB1dC5hcHBl
bmQoel9maXJzdCkKICAgIG91dHB1dC5hcHBlbmQoaW50ZW5zaXR5X2FuZ3VsYXJfZGlzdHJpYnV0
aW9uKQogICAgICAgIApvdXRfb2JqZWN0ID0gb3V0cHV0CiAgICBxCFgEAAAAbmFtZXEJWBsAAABj
cmVhdGVfc3J3X3VuZHVsYXRvcl9zb3VyY2VxClgIAAAAZmlsZW5hbWVxC05YBQAAAGZsYWdzcQxL
AHViYVgSAAAAY3VycmVudFNjcmlwdEluZGV4cQ1LAFgMAAAAYXV0b19leGVjdXRlcQ6IWA0AAABz
cGxpdHRlclN0YXRlcQ9YeQAAAGInXHgwMFx4MDBceDAwXHhmZlx4MDBceDAwXHgwMFx4MDFceDAw
XHgwMFx4MDBceDAyXHgwMFx4MDBceDAyNVx4MDBceDAwXHgwMWBceDAxXHhmZlx4ZmZceGZmXHhm
Zlx4MDFceDAwXHgwMFx4MDBceDAyXHgwMCdxEFgTAAAAc2F2ZWRXaWRnZXRHZW9tZXRyeXERY3Np
cApfdW5waWNrbGVfdHlwZQpxElgMAAAAUHlRdDUuUXRDb3JlcRNYCgAAAFFCeXRlQXJyYXlxFEMy
AdnQywACAAAAAAAAAAAAFwAABo8AAAPnAAAAAAAAAC0AAAaPAAAD5wAAAAAAAAAAB4BxFYVxFodx
F1JxGHUu
</properties>
<properties format="pickle" node_id="1">gAN9cQAoWBEAAAB1c2VyX2RlZmluZWRfZmlsZXEBWBMAAABlbmVyZ3lfc3BlY3RydW0uZGF0cQJY
EQAAAHNpbmdsZV9saW5lX3ZhbHVlcQNHQHj8zMzMzM1YFQAAAGhvcml6b250YWxfZGl2X3hfcGx1
c3EERz6gxvegte2NWAcAAABzaWdtYV95cQVHP1BiTdLxqfxYFAAAAHVzZXJfZGVmaW5lZF9tYXhp
bXVtcQZHAAAAAAAAAABYGwAAAG1heF9udW1iZXJfb2ZfcmVqZWN0ZWRfcmF5c3EHSoCWmABYDQAA
AGxpbmVfdmFsdWVfMTBxCEcAAAAAAAAAAFgTAAAAcG9sYXJpemF0aW9uX2RlZ3JlZXEJRz/wAAAA
AAAAWA4AAABlbGxfc2VtaWF4aXNfenEKRz/JmZmZmZmaWAwAAABsaW5lX3ZhbHVlXzNxC0cAAAAA
AAAAAFgSAAAAaG9yaXpvbnRhbF9zaWdtYV94cQxHP1BiTdLxqfxYDAAAAGxpbmVfdmFsdWVfNnEN
RwAAAAAAAAAAWAkAAAB2aWV3X3R5cGVxDksCWBsAAABhbmd1bGFyX2Rpc3RyaWJ1dGlvbl9saW1p
dHNxD0sAWBQAAAB1c2VyX2RlZmluZWRfbWluaW11bXEQRwAAAAAAAAAAWBoAAABwaG90b25fZW5l
cmd5X2Rpc3RyaWJ1dGlvbnERSwBYDQAAAGdhdXNzX3NpZ21hX3hxEkc/UGJN0vGp/FgKAAAAbGlu
ZV9pbnRfNHETRwAAAAAAAAAAWBYAAABob3Jpem9udGFsX2xpbV94X21pbnVzcRRHPuT4tYjjaPFY
CgAAAHJlY3Rfd2lkdGhxFUc/uZmZmZmZmlgMAAAAbGluZV92YWx1ZV84cRZHAAAAAAAAAABYDAAA
AGxpbmVfdmFsdWVfN3EXRwAAAAAAAAAAWBQAAABhbmd1bGFyX2Rpc3RyaWJ1dGlvbnEYSwBYDAAA
AGxpbmVfdmFsdWVfNXEZRwAAAAAAAAAAWAwAAABsaW5lX3ZhbHVlXzFxGkdAj0AAAAAAAFgVAAAA
aG9yaXpvbnRhbF9saW1feF9wbHVzcRtHPuT4tYjjaPFYCgAAAGxpbmVfaW50XzNxHEcAAAAAAAAA
AFgQAAAAdmVydGljYWxfc2lnbWFfenEdRz8aNuLrHEMtWAoAAABsaW5lX2ludF82cR5HAAAAAAAA
AABYDgAAAGdhdXNzaWFuX3NpZ21hcR9HAAAAAAAAAABYEQAAAGZpbGVfdG9fd3JpdGVfb3V0cSBL
AFgQAAAAZ2F1c3NpYW5fbWF4aW11bXEhRwAAAAAAAAAAWA0AAABjb2hlcmVudF9iZWFtcSJLAFgM
AAAAbGluZV92YWx1ZV85cSNHAAAAAAAAAABYDAAAAHNwYXRpYWxfdHlwZXEkSwBYCwAAAGxpbmVf
aW50XzEwcSVHAAAAAAAAAABYEAAAAGdhdXNzaWFuX21pbmltdW1xJkcAAAAAAAAAAFgOAAAAZWxs
X3NlbWlheGlzX3hxJ0c/uZmZmZmZmlgPAAAAdW5pZm9ybV9tYXhpbXVtcShHQI+QAAAAAABYDgAA
AG51bWJlcl9vZl9yYXlzcSlNUMNYDwAAAG9wdGltaXplX3NvdXJjZXEqSwJYDAAAAHBvbGFyaXph
dGlvbnErSwFYCgAAAGxpbmVfaW50XzJxLEcAAAAAAAAAAFgMAAAAbGluZV92YWx1ZV80cS1HAAAA
AAAAAABYGwAAAGNvbmVfZXh0ZXJuYWxfaGFsZl9hcGVydHVyZXEuRwAAAAAAAAAAWAQAAABzZWVk
cS9Kh2JnAFgMAAAAbGluZV92YWx1ZV8ycTBHQI+QAAAAAABYFgAAAGdhdXNzaWFuX2NlbnRyYWxf
dmFsdWVxMUcAAAAAAAAAAFgTAAAAc2F2ZWRXaWRnZXRHZW9tZXRyeXEyY3NpcApfdW5waWNrbGVf
dHlwZQpxM1gMAAAAUHlRdDUuUXRDb3JlcTRYCgAAAFFCeXRlQXJyYXlxNUMyAdnQywACAAAAAABg
AAAAHAAABYcAAALtAAAAYAAAADIAAAWHAAAC7QAAAAAAAAAAB4BxNoVxN4dxOFJxOVgKAAAAbGlu
ZV9pbnRfNXE6RwAAAAAAAAAAWA8AAABudW1iZXJfb2ZfbGluZXNxO0sJWAUAAABkZXB0aHE8SwBY
DgAAAHNvdXJjZV9kZXB0aF95cT1HP8mZmZmZmZpYEwAAAHZlcnRpY2FsX2Rpdl96X3BsdXNxPkc+
1Pi1iONo8VgSAAAAb3B0aW1pemVfZmlsZV9uYW1lcT9YDQAAAE5PTkVTUEVDSUZJRURxQFgKAAAA
bGluZV9pbnRfMXFBRwAAAAAAAAAAWAoAAABsaW5lX2ludF84cUJHAAAAAAAAAABYCgAAAGxpbmVf
aW50XzlxQ0cAAAAAAAAAAFgNAAAAZ2F1c3Nfc2lnbWFfenFERz9QYk3S8an8WAUAAAB1bml0c3FF
SwBYEAAAAGlzX2F1dG9tYXRpY19ydW5xRohYCwAAAHJlY3RfaGVpZ2h0cUdHP8mZmZmZmZpYFgAA
AGhvcml6b250YWxfZGl2X3hfbWludXNxSEc+oMb3oLXtjVgPAAAAdW5pZm9ybV9taW5pbXVtcUlH
QI9AAAAAAABYCgAAAHBoYXNlX2RpZmZxSkcAAAAAAAAAAFgUAAAAdmVydGljYWxfbGltX3pfbWlu
dXNxS0c+5Pi1iONo8VgbAAAAY29uZV9pbnRlcm5hbF9oYWxmX2FwZXJ0dXJlcUxHAAAAAAAAAABY
CgAAAGxpbmVfaW50XzdxTUcAAAAAAAAAAFgTAAAAdmVydGljYWxfbGltX3pfcGx1c3FORz7k+LWI
42jxWBQAAAB2ZXJ0aWNhbF9kaXZfel9taW51c3FPRz7U+LWI42jxdS4=
</properties>
<properties format="pickle" node_id="2">gAN9cQAoWAsAAABrZWVwX3Jlc3VsdHEBSwBYCwAAAHhfcmFuZ2VfbWF4cQJHAAAAAAAAAABYEAAA
AGlzX2F1dG9tYXRpY19ydW5xA4hYBAAAAHJheXNxBEsBWBQAAABpc19jb252ZXJzaW9uX2FjdGl2
ZXEFSwFYCwAAAHlfcmFuZ2VfbWlucQZHAAAAAAAAAABYCwAAAHhfcmFuZ2VfbWlucQdHAAAAAAAA
AABYGAAAAGltYWdlX3BsYW5lX25ld19wb3NpdGlvbnEIR0AkAAAAAAAAWA4AAABjYXJ0ZXNpYW5f
YXhpc3EJSwFYDgAAAHhfY29sdW1uX2luZGV4cQpLA1gHAAAAeF9yYW5nZXELSwBYBQAAAHRpdGxl
cQxYBwAAACBYJywgWidxDVgHAAAAeV9yYW5nZXEOSwBYCwAAAHlfcmFuZ2VfbWF4cQ9HAAAAAAAA
AABYCwAAAGltYWdlX3BsYW5lcRBLAFgcAAAAaW1hZ2VfcGxhbmVfcmVsX2Fic19wb3NpdGlvbnER
SwBYDgAAAHlfY29sdW1uX2luZGV4cRJLBVgOAAAAbnVtYmVyX29mX2JpbnNxE0tkWBMAAAB3ZWln
aHRfY29sdW1uX2luZGV4cRRLF1gTAAAAc2F2ZWRXaWRnZXRHZW9tZXRyeXEVY3NpcApfdW5waWNr
bGVfdHlwZQpxFlgMAAAAUHlRdDUuUXRDb3JlcRdYCgAAAFFCeXRlQXJyYXlxGEMyAdnQywACAAAA
AAFGAAAAawAABm0AAAM8AAABRgAAAIEAAAZtAAADPAAAAAAAAAAABpBxGYVxGodxG1JxHHUu
</properties>
<properties format="pickle" node_id="3">gAN9cQAoWAkAAABmb250X3NpemVxAUsEWBEAAABsaWJyYXJ5TGlzdFNvdXJjZXECXXEDY29hc3lz
LndpZGdldHMudG9vbHMub3dfcHl0aG9uX3NjcmlwdApTY3JpcHQKcQQpgXEFfXEGKFgGAAAAc2Ny
aXB0cQdY4RIAAGltcG9ydCBudW1weQppbXBvcnQgc2NpcHkuc3RhdHMgYXMgc3RhdHMKZnJvbSBv
YXN5cy53aWRnZXRzIGltcG9ydCBjb25ncnVlbmNlCgppbXBvcnQgbWF0cGxvdGxpYgppbXBvcnQg
bWF0cGxvdGxpYi5weXBsb3QgYXMgcGx0CgptYXRwbG90bGliLnJjUGFyYW1zWydmaWd1cmUubWF4
X29wZW5fd2FybmluZyddID0gJzAnCgpjbGFzcyBEaXN0cmlidXRpb246CiAgICBQT1NJVElPTiA9
IDAKICAgIERJVkVSR0VOQ0UgPSAxCiAgICAKY2xhc3MgQXhpczoKICAgIFggPSAwCiAgICBaID0g
MQoKZGVmIGV4dHJhY3RfZGlzdHJpYnV0aW9uc19mcm9tX3Nydyhjb29yX3gsIGNvb3JfeSwgaW50
ZW5zaXR5KToKICAgIGRpc3RyaWJ1dGlvbl94ID0gW10KICAgIGRpc3RyaWJ1dGlvbl95ID0gW10K
CiAgICB0cnk6CiAgICAgICAgaGhfeCA9IGludGVuc2l0eS5zdW0oYXhpcz0xKQogICAgICAgIGho
X3kgPSBpbnRlbnNpdHkuc3VtKGF4aXM9MCkKCiAgICAgICAgZm9yIGluZGV4IGluIHJhbmdlKDAs
IGxlbihjb29yX3gpKTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgZGlzdHJpYnV0aW9uX3guYXBwZW5kKFtjb29yX3hbaW5kZXhdLCBoaF94W2luZGV4XV0pCiAg
ICAgICAgZm9yIGluZGV4IGluIHJhbmdlKDAsIGxlbihjb29yX3kpKTogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgZGlzdHJpYnV0aW9uX3kuYXBwZW5kKFtjb29y
X3lbaW5kZXhdLCBoaF95W2luZGV4XV0pCgogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CiAg
ICAgICAgcmFpc2UgRXhjZXB0aW9uKCJQcm9ibGVtcyBjcmVhdGluZyBkaXN0cmlidXRpb246IHsw
fSIuZm9ybWF0KGVycikpCiAgICBleGNlcHQ6CiAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJVbmV4
cGVjdGVkIGVycm9yIGNyZWF0aW5nIGRpc3RyaWJ1dGlvbjogIiwgc3lzLmV4Y19pbmZvKClbMF0p
CgogICAgcmV0dXJuIG51bXB5LmFycmF5KGRpc3RyaWJ1dGlvbl94KSwgbnVtcHkuYXJyYXkoZGlz
dHJpYnV0aW9uX3kpCgpkZWYgcmVzYW1wbGVfZGlzdHJpYnV0aW9uKHhfdmFsdWVzLCB5X3ZhbHVl
cywgbmV3X2RpbSk6CiAgICB4X21pbiA9IHhfdmFsdWVzWzBdCiAgICB4X21heCA9IHhfdmFsdWVz
W2xlbih4X3ZhbHVlcyktMV0KCiAgICBuZXdfeF92YWx1ZXMgPSB4X21pbiArIG51bXB5LmFyYW5n
ZSgwLCBuZXdfZGltKzEpICogKHhfbWF4LXhfbWluKS9uZXdfZGltCgogICAgcmV0dXJuIG5ld194
X3ZhbHVlcywgbnVtcHkuaW50ZXJwKG5ld194X3ZhbHVlcywgeF92YWx1ZXMsIHlfdmFsdWVzKQoK
ZGVmIHNhbXBsZV9mcm9tX2Rpc3RyaWJ1dGlvbihkaXN0cmlidXRpb24sIG5wb2ludHMpOgogICAg
eV92YWx1ZXMgPSBkaXN0cmlidXRpb25bOiwgMV0KICAgIHhfdmFsdWVzID0gZGlzdHJpYnV0aW9u
WzosIDBdCiAgIAogICAgY29lZmZpY2llbnQgPSAxLjAKICAgIGlmIGxlbih4X3ZhbHVlcykgPCAx
MDAwMDoKICAgICAgICBjb2VmZmljaWVudCA9IDEwMDAwLjAKICAgICAgICB4X3ZhbHVlcywgeV92
YWx1ZXMgPSByZXNhbXBsZV9kaXN0cmlidXRpb24oeF92YWx1ZXMqMTAwMDAsIHlfdmFsdWVzLCAx
MDAwMCkKCiAgCiAgICAjIG5vcm1hbGl6ZSBkaXN0cmlidXRpb24gZnVuY3Rpb24KICAgIHlfdmFs
dWVzIC89IG51bXB5Lm1heCh5X3ZhbHVlcykKICAgIHlfdmFsdWVzIC89IHlfdmFsdWVzLnN1bSgp
CgogICAgcmFuZG9tX2dlbmVyYXRvciA9IHN0YXRzLnJ2X2Rpc2NyZXRlKGE9bnVtcHkubWluKHhf
dmFsdWVzKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYj1udW1w
eS5tYXgoeF92YWx1ZXMpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBuYW1lPSd1c2VyX2RlZmluZWRfZGlzdHJpYnV0aW9uJywgdmFsdWVzPSh4X3ZhbHVlcywgeV92
YWx1ZXMpKQogICAgICAgICAgICAKICAgIHJldHVybiByYW5kb21fZ2VuZXJhdG9yLnJ2cyhzaXpl
PW5wb2ludHMpL2NvZWZmaWNpZW50CgoKZGVmIGdlbmVyYXRlX3VzZXJfZGVmaW5lZF9kaXN0cmli
dXRpb25fZnJvbV9zcncoYmVhbV9vdXQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb29yZF94LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb29yZF95LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnRlbnNpdHksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaXN0cmlidXRpb25fdHlwZT1EaXN0cmlidXRpb24uUE9TSVRJ
T04pOgogICAKICAgIG5ld19jb29yZF94ID0gbnVtcHkuYXJhbmdlKDAsIGxlbihjb29yZF94KSkK
ICAgIG5ld19jb29yZF95ID0gbnVtcHkuYXJhbmdlKDAsIGxlbihjb29yZF95KSkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgZGlzdHJpYnV0aW9uX3gsIGRpc3RyaWJ1dGlvbl95
ID0gZXh0cmFjdF9kaXN0cmlidXRpb25zX2Zyb21fc3J3KG5ld19jb29yZF94LCBuZXdfY29vcmRf
eSwgaW50ZW5zaXR5KQogICAgICAgIAogICAgc2FtcGxlZF94ID0gc2FtcGxlX2Zyb21fZGlzdHJp
YnV0aW9uKGRpc3RyaWJ1dGlvbl94LCBsZW4oYmVhbV9vdXQuX2JlYW0ucmF5cykpCiAgICBzYW1w
bGVkX3kgPSBzYW1wbGVfZnJvbV9kaXN0cmlidXRpb24oZGlzdHJpYnV0aW9uX3ksIGxlbihiZWFt
X291dC5fYmVhbS5yYXlzKSkKICAgIAogICAgbWluX3ZhbHVlX3ggPSBudW1weS5taW4oY29vcmRf
eCkKICAgIHN0ZXBfeCA9IG51bXB5LmFicyhjb29yZF94WzFdLWNvb3JkX3hbMF0pCiAgICBtaW5f
dmFsdWVfeSA9IG51bXB5Lm1pbihjb29yZF95KSAKICAgIHN0ZXBfeSA9IG51bXB5LmFicyhjb29y
ZF95WzFdLWNvb3JkX3lbMF0pCiAgICAKICAgIHByaW50KG1pbl92YWx1ZV94LCBzdGVwX3gsIG1p
bl92YWx1ZV95LCBzdGVwX3kpCiAgICAKICAgIGlmIGRpc3RyaWJ1dGlvbl90eXBlID09IERpc3Ry
aWJ1dGlvbi5QT1NJVElPTjoKICAgICAgICBiZWFtX291dC5fYmVhbS5yYXlzWzosIDBdID0gbWlu
X3ZhbHVlX3ggKyBzYW1wbGVkX3gqc3RlcF94CiAgICAgICAgYmVhbV9vdXQuX2JlYW0ucmF5c1s6
LCAyXSA9IG1pbl92YWx1ZV95ICsgc2FtcGxlZF95KnN0ZXBfeQoKICAgIGVsaWYgZGlzdHJpYnV0
aW9uX3R5cGUgPT0gRGlzdHJpYnV0aW9uLkRJVkVSR0VOQ0U6CiAgICAgICAgYWxwaGFfeCA9IG1p
bl92YWx1ZV94ICsgc2FtcGxlZF94KnN0ZXBfeAogICAgICAgIGFscGhhX3ogPSBtaW5fdmFsdWVf
eSArIHNhbXBsZWRfeSpzdGVwX3kKICAgICAgICAKICAgICAgICBiZWFtX291dC5fYmVhbS5yYXlz
WzosIDNdID0gIG51bXB5LmNvcyhhbHBoYV96KSpudW1weS5zaW4oYWxwaGFfeCkKICAgICAgICBi
ZWFtX291dC5fYmVhbS5yYXlzWzosIDRdID0gIG51bXB5LmNvcyhhbHBoYV96KSpudW1weS5jb3Mo
YWxwaGFfeCkgICAgICAgIAogICAgICAgIGJlYW1fb3V0Ll9iZWFtLnJheXNbOiwgNV0gPSAgbnVt
cHkuc2luKGFscGhhX3opCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKCmlmIChub3QgaW5fb2JqZWN0XzEgaXMgTm9uZSkgYW5kIChub3QgaW5fb2JqZWN0XzIgaXMg
Tm9uZSk6CgogICAgc2hhZG93X2JlYW0gPSBpbl9vYmplY3RfMQogICAgZGlzdHJpYnV0aW9ucyA9
IGluX29iamVjdF8yCiAgICAKICAgIHggPSBkaXN0cmlidXRpb25zWzBdCiAgICB6ID0gZGlzdHJp
YnV0aW9uc1sxXQogICAgaW50ZW5zaXR5X3NvdXJjZV9kaW1lbnNpb24gPSBkaXN0cmlidXRpb25z
WzJdCiAgICB4X2ZpcnN0ID0gZGlzdHJpYnV0aW9uc1szXQogICAgel9maXJzdCA9IGRpc3RyaWJ1
dGlvbnNbNF0KICAgIGludGVuc2l0eV9hbmd1bGFyX2Rpc3RyaWJ1dGlvbiA9IGRpc3RyaWJ1dGlv
bnNbNV0KCiAgICAjIFNXSVRDSCBGUk9NIFNSVyBNRVRFUlMgVE8gU0hBRE9XT1VJIFUuTS4KICAg
IHggPSB4KjEwMAogICAgeiA9IHoqMTAwCgogICAgZ2VuZXJhdGVfdXNlcl9kZWZpbmVkX2Rpc3Ry
aWJ1dGlvbl9mcm9tX3NydyhiZWFtX291dD1zaGFkb3dfYmVhbSwgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3JkX3g9eCwgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3JkX3k9eiwgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVuc2l0eT1pbnRlbnNpdHlf
c291cmNlX2RpbWVuc2lvbiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpc3RyaWJ1dGlvbl90eXBlPURpc3RyaWJ1dGlvbi5QT1NJVElPTikKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIGdlbmVyYXRlX3VzZXJf
ZGVmaW5lZF9kaXN0cmlidXRpb25fZnJvbV9zcncoYmVhbV9vdXQ9c2hhZG93X2JlYW0sIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29yZF94PXhfZmly
c3QsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29y
ZF95PXpfZmlyc3QsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRlbnNpdHk9aW50ZW5zaXR5X2FuZ3VsYXJfZGlzdHJpYnV0aW9uLCAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdHJpYnV0aW9uX3R5cGU9
RGlzdHJpYnV0aW9uLkRJVkVSR0VOQ0UpCgoKICAgIG91dF9vYmplY3QgPSBzaGFkb3dfYmVhbXEI
WAQAAABuYW1lcQlYGwAAAGNoYW5nZV9zb3VyY2VfcGhhc2Vfc3BhY2VfM3EKWAgAAABmaWxlbmFt
ZXELWD8AAAAvVXNlcnMvbGFieC9EZXNrdG9wL0FMUy1VX0V4YW1wbGVzL2NoYW5nZV9zb3VyY2Vf
cGhhc2Vfc3BhY2UucHlxDFgFAAAAZmxhZ3NxDUsAdWJhWBIAAABjdXJyZW50U2NyaXB0SW5kZXhx
DksAWAwAAABhdXRvX2V4ZWN1dGVxD4hYDQAAAHNwbGl0dGVyU3RhdGVxEFh/AAAAYidceDAwXHgw
MFx4MDBceGZmXHgwMFx4MDBceDAwXHgwMVx4MDBceDAwXHgwMFx4MDJceDAwXHgwMFx4MDNceDk1
XHgwMFx4MDBceDAwXHgwMFx4MDFceGZmXHhmZlx4ZmZceGZmXHgwMVx4MDBceDAwXHgwMFx4MDJc
eDAwJ3ERWBMAAABzYXZlZFdpZGdldEdlb21ldHJ5cRJjc2lwCl91bnBpY2tsZV90eXBlCnETWAwA
AABQeVF0NS5RdENvcmVxFFgKAAAAUUJ5dGVBcnJheXEVQzIB2dDLAAIAAAAAAAAAAAAXAAAGjwAA
A+cAAAAAAAAALQAABo8AAAPnAAAAAAAAAAAHgHEWhXEXh3EYUnEZdS4=
</properties>
<properties format="pickle" node_id="4">gAN9cQAoWAsAAABrZWVwX3Jlc3VsdHEBSwBYCwAAAHhfcmFuZ2VfbWF4cQJHAAAAAAAAAABYEAAA
AGlzX2F1dG9tYXRpY19ydW5xA4hYBAAAAHJheXNxBEsBWBQAAABpc19jb252ZXJzaW9uX2FjdGl2
ZXEFSwFYCwAAAHlfcmFuZ2VfbWlucQZHAAAAAAAAAABYCwAAAHhfcmFuZ2VfbWlucQdHAAAAAAAA
AABYGAAAAGltYWdlX3BsYW5lX25ld19wb3NpdGlvbnEIR0AkAAAAAAAAWA4AAABjYXJ0ZXNpYW5f
YXhpc3EJSwFYDgAAAHhfY29sdW1uX2luZGV4cQpLAFgHAAAAeF9yYW5nZXELSwBYBQAAAHRpdGxl
cQxYBQAAACBYLCBacQ1YBwAAAHlfcmFuZ2VxDksAWAsAAAB5X3JhbmdlX21heHEPRwAAAAAAAAAA
WAsAAABpbWFnZV9wbGFuZXEQSwBYHAAAAGltYWdlX3BsYW5lX3JlbF9hYnNfcG9zaXRpb25xEUsA
WA4AAAB5X2NvbHVtbl9pbmRleHESSwJYDgAAAG51bWJlcl9vZl9iaW5zcRNLZFgTAAAAd2VpZ2h0
X2NvbHVtbl9pbmRleHEUSxdYEwAAAHNhdmVkV2lkZ2V0R2VvbWV0cnlxFWNzaXAKX3VucGlja2xl
X3R5cGUKcRZYDAAAAFB5UXQ1LlF0Q29yZXEXWAoAAABRQnl0ZUFycmF5cRhDMgHZ0MsAAgAAAAAB
RgAAAGsAAAZtAAADPAAAAUYAAACBAAAGbQAAAzwAAAAAAAAAAAaQcRmFcRqHcRtScRx1Lg==
</properties>
<properties format="pickle" node_id="5">gAN9cQAoWAsAAABrZWVwX3Jlc3VsdHEBSwBYCwAAAHhfcmFuZ2VfbWF4cQJHAAAAAAAAAABYEAAA
AGlzX2F1dG9tYXRpY19ydW5xA4hYBAAAAHJheXNxBEsBWBQAAABpc19jb252ZXJzaW9uX2FjdGl2
ZXEFSwBYCwAAAHlfcmFuZ2VfbWlucQZHAAAAAAAAAABYCwAAAHhfcmFuZ2VfbWlucQdHAAAAAAAA
AABYGAAAAGltYWdlX3BsYW5lX25ld19wb3NpdGlvbnEIR0DDiAAAAAAAWA4AAABjYXJ0ZXNpYW5f
YXhpc3EJSwFYDgAAAHhfY29sdW1uX2luZGV4cQpLAFgHAAAAeF9yYW5nZXELSwBYBQAAAHRpdGxl
cQxYBQAAACBYLCBacQ1YBwAAAHlfcmFuZ2VxDksAWAsAAAB5X3JhbmdlX21heHEPRwAAAAAAAAAA
WAsAAABpbWFnZV9wbGFuZXEQSwBYHAAAAGltYWdlX3BsYW5lX3JlbF9hYnNfcG9zaXRpb25xEUsA
WA4AAAB5X2NvbHVtbl9pbmRleHESSwJYDgAAAG51bWJlcl9vZl9iaW5zcRNLZFgTAAAAd2VpZ2h0
X2NvbHVtbl9pbmRleHEUSxdYEwAAAHNhdmVkV2lkZ2V0R2VvbWV0cnlxFWNzaXAKX3VucGlja2xl
X3R5cGUKcRZYDAAAAFB5UXQ1LlF0Q29yZXEXWAoAAABRQnl0ZUFycmF5cRhDMgHZ0MsAAgAAAAAB
RgAAAGsAAAZtAAADPAAAAUYAAACBAAAGbQAAAzwAAAAAAAAAAAaQcRmFcRqHcRtScRx1Lg==
</properties>
<properties format="pickle" node_id="6">gAN9cQAoWAkAAABmb250X3NpemVxAUsEWBEAAABsaWJyYXJ5TGlzdFNvdXJjZXECXXEDY29hc3lz
LndpZGdldHMudG9vbHMub3dfcHl0aG9uX3NjcmlwdApTY3JpcHQKcQQpgXEFfXEGKFgGAAAAc2Ny
aXB0cQdYzA4AAGltcG9ydCBudW1weQpmcm9tIHNyd2xpYiBpbXBvcnQgKgpmcm9tIHNpbHguZ3Vp
LnBsb3QgaW1wb3J0IFBsb3QyRCwgSW1hZ2VWaWV3CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgY29waWVkIGZyb20g
U1JXJ3MgdXRpX3Bsb3RfY29tIGFuZCBzbGlnaHRseSAgbW9kaWZpZWQgKG5vIF9lbnVtKQpkZWYg
ZmlsZV9sb2FkKF9mbmFtZSwgX3JlYWRfbGFiZWxzPTEpOgogICAgbkxpbmVzSGVhZCA9IDExCiAg
ICBobHAgPSBbXQoKICAgIHdpdGggb3BlbihfZm5hbWUsJ3InKSBhcyBmOgogICAgICAgIGZvciBp
IGluIHJhbmdlKG5MaW5lc0hlYWQpOgogICAgICAgICAgICBobHAuYXBwZW5kKGYucmVhZGxpbmUo
KSkKCiAgICBuZSwgbngsIG55ID0gW2ludChobHBbaV0ucmVwbGFjZSgnIycsJycpLnNwbGl0KClb
MF0pIGZvciBpIGluIFszLDYsOV1dCiAgICBucyA9IDEKICAgIHRlc3RTdHIgPSBobHBbbkxpbmVz
SGVhZCAtIDFdCiAgICBpZiB0ZXN0U3RyWzBdID09ICcjJzoKICAgICAgICBucyA9IGludCh0ZXN0
U3RyLnJlcGxhY2UoJyMnLCcnKS5zcGxpdCgpWzBdKQoKICAgIGUwLGUxLHgwLHgxLHkwLHkxID0g
W2Zsb2F0KGhscFtpXS5yZXBsYWNlKCcjJywnJykuc3BsaXQoKVswXSkgZm9yIGkgaW4gWzEsMiw0
LDUsNyw4XV0KCiAgICBkYXRhID0gbnVtcHkuc3F1ZWV6ZShudW1weS5sb2FkdHh0KF9mbmFtZSwg
ZHR5cGU9bnVtcHkuZmxvYXQ2NCkpICNnZXQgZGF0YSBmcm9tIGZpbGUgKEMtYWxpZ25lZCBmbGF0
KQoKICAgIGFsbHJhbmdlID0gZTAsIGUxLCBuZSwgeDAsIHgxLCBueCwgeTAsIHkxLCBueQoKICAg
IGFyTGFiZWxzID0gWydQaG90b24gRW5lcmd5JywgJ0hvcml6b250YWwgUG9zaXRpb24nLCAnVmVy
dGljYWwgUG9zaXRpb24nLCAnSW50ZW5zaXR5J10KICAgIGFyVW5pdHMgPSBbJ2VWJywgJ20nLCAn
bScsICdwaC9zLy4xJWJ3L21tXjInXQoKICAgIGlmIF9yZWFkX2xhYmVsczoKCiAgICAgICAgYXJU
b2tlbnMgPSBobHBbMF0uc3BsaXQoJyBbJykKICAgICAgICBhckxhYmVsc1szXSA9IGFyVG9rZW5z
WzBdLnJlcGxhY2UoJyMnLCcnKQogICAgICAgIGFyVW5pdHNbM10gPSAnJzsKICAgICAgICBpZiBs
ZW4oYXJUb2tlbnMpID4gMToKICAgICAgICAgICAgYXJVbml0c1szXSA9IGFyVG9rZW5zWzFdLnNw
bGl0KCddICcpWzBdCgogICAgICAgIGZvciBpIGluIHJhbmdlKDMpOgogICAgICAgICAgICBhclRv
a2VucyA9IGhscFtpKjMgKyAxXS5zcGxpdCgpCiAgICAgICAgICAgIG5Ub2tlbnMgPSBsZW4oYXJU
b2tlbnMpCiAgICAgICAgICAgIG5Ub2tlbnNMYWJlbCA9IG5Ub2tlbnMgLSAzCiAgICAgICAgICAg
IG5Ub2tlbnNMYWJlbF9taV8xID0gblRva2Vuc0xhYmVsIC0gMQogICAgICAgICAgICBzdHJMYWJl
bCA9ICcnCiAgICAgICAgICAgIGZvciBqIGluIHJhbmdlKG5Ub2tlbnNMYWJlbCk6CiAgICAgICAg
ICAgICAgICBzdHJMYWJlbCArPSBhclRva2Vuc1tqICsgMl0KICAgICAgICAgICAgICAgIGlmIGog
PCBuVG9rZW5zTGFiZWxfbWlfMTogc3RyTGFiZWwgKz0gJyAnCiAgICAgICAgICAgIGFyTGFiZWxz
W2ldID0gc3RyTGFiZWwKICAgICAgICAgICAgYXJVbml0c1tpXSA9IGFyVG9rZW5zW25Ub2tlbnMg
LSAxXS5yZXBsYWNlKCdbJywnJykucmVwbGFjZSgnXScsJycpCgogICAgcmV0dXJuIGRhdGEsIE5v
bmUsIGFsbHJhbmdlLCBhckxhYmVscywgYXJVbml0cwoKZGVmIGxvYWROdW1weUZvcm1hdChmaWxl
bmFtZSk6CiAgICBkYXRhLCBkdW1wLCBhbGxyYW5nZSwgYXJMYWJlbHMsIGFyVW5pdHMgPSBmaWxl
X2xvYWQoZmlsZW5hbWUpCgogICAgZGltX3ggPSBhbGxyYW5nZVs1XQogICAgZGltX3kgPSBhbGxy
YW5nZVs4XQogICAgbnBfYXJyYXkgPSBkYXRhLnJlc2hhcGUoKGRpbV95LCBkaW1feCkpCiAgICBu
cF9hcnJheSA9IG5wX2FycmF5LnRyYW5zcG9zZSgpCiAgICB4X2Nvb3JkaW5hdGVzID0gbnVtcHku
bGluc3BhY2UoYWxscmFuZ2VbM10sIGFsbHJhbmdlWzRdLCBkaW1feCkKICAgIHlfY29vcmRpbmF0
ZXMgPSBudW1weS5saW5zcGFjZShhbGxyYW5nZVs2XSwgYWxscmFuZ2VbN10sIGRpbV95KQoKICAg
IHJldHVybiB4X2Nvb3JkaW5hdGVzLCB5X2Nvb3JkaW5hdGVzLCBucF9hcnJheQoKZGVmIHBsb3Rf
MkQoeCwgeSwgZGF0YSwgeGxhYmVsPSJYIFttXSIsIHlsYWJlbD0iWSBbbV0iLCB0aXRsZT1Ob25l
KToKICAgIHhtaW4sIHhtYXggPSB4Lm1pbigpLCB4Lm1heCgpCiAgICB5bWluLCB5bWF4ID0geS5t
aW4oKSwgeS5tYXgoKQoKICAgIG9yaWdpbiA9ICh4bWluLCB5bWluKQogICAgc2NhbGUgPSAoYWJz
KCh4bWF4LXhtaW4pL2xlbih4KSksIGFicygoeW1heC15bWluKS9sZW4oeSkpKQoKICAgICMgUHlN
Q0EgaW52ZXJ0cyBheGlzISEhISBoaXN0b2dyYW0gbXVzdCBiZSBjYWxjdWxhdGVkIHJldmVyc2Vk
CiAgICBkYXRhX3RvX3Bsb3QgPSBbXQogICAgZm9yIHlfaW5kZXggaW4gcmFuZ2UoMCwgbGVuKHkp
KToKICAgICAgICB4X3ZhbHVlcyA9IFtdCiAgICAgICAgZm9yIHhfaW5kZXggaW4gcmFuZ2UoMCwg
bGVuKHgpKToKICAgICAgICAgICAgeF92YWx1ZXMuYXBwZW5kKGRhdGFbeF9pbmRleCwgeV9pbmRl
eF0pCgogICAgICAgIHhfdmFsdWVzLnJldmVyc2UoKQoKICAgICAgICBkYXRhX3RvX3Bsb3QuYXBw
ZW5kKHhfdmFsdWVzKQogICAgCiAgICBwbG90X2NhbnZhcyA9IEltYWdlVmlldygpCiAgICBwbG90
X2NhbnZhcy5zZXRHcmFwaFRpdGxlKHRpdGxlKQogICAgcGxvdF9jYW52YXMudG9vbEJhcigpCiAg
ICAKICAgIHBsb3RfY2FudmFzLmFkZEltYWdlKG51bXB5LmFycmF5KGRhdGFfdG9fcGxvdCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICB4bGFiZWw9eGxhYmVsLAogICAgICAgICAgICAgICAgICAg
ICAgICAgeWxhYmVsPXlsYWJlbCwKICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ2VuZD0iZGF0
YSIsCiAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW49b3JpZ2luLAogICAgICAgICAgICAg
ICAgICAgICAgICAgc2NhbGU9c2NhbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNl
PVRydWUpCgogICAgCiAgICByZXR1cm4gcGxvdF9jYW52YXMKCgp4LCB6LCBpbnRlbnNpdHlfc291
cmNlX2RpbWVuc2lvbiA9IGxvYWROdW1weUZvcm1hdCgiaW50ZW5zaXR5X3NvdXJjZV9kaW1lbnNp
b24uZGF0IikgICAgCnhfZmlyc3QsIHpfZmlyc3QsIGludGVuc2l0eV9hbmd1bGFyX2Rpc3RyaWJ1
dGlvbiA9IGxvYWROdW1weUZvcm1hdCgiaW50ZW5zaXR5X2FuZ3VsYXJfZGlzdHJpYnV0aW9uLmRh
dCIpICAgIAoKcGxvdF9jYW52YXNfMSA9IHBsb3RfMkQoeCwgeiwgaW50ZW5zaXR5X3NvdXJjZV9k
aW1lbnNpb24sIHhsYWJlbD0iWCBbbV0iLCB5bGFiZWw9IlogW21dIiwgdGl0bGU9IlgsWiIpCnBs
b3RfY2FudmFzXzIgPSBwbG90XzJEKHhfZmlyc3QsIHpfZmlyc3QsIGludGVuc2l0eV9hbmd1bGFy
X2Rpc3RyaWJ1dGlvbiwgeGxhYmVsPSJYJyBbcmFkXSIsIHlsYWJlbD0iWicgW3JhZF0iLCB0aXRs
ZT0iQWxwaGFYLCBBbHBoYVoiKQpwbG90X2NhbnZhc18xLnNob3coKQpwbG90X2NhbnZhc18yLnNo
b3coKQoKb3V0cHV0ID0gW10Kb3V0cHV0LmFwcGVuZCh4KQpvdXRwdXQuYXBwZW5kKHopCm91dHB1
dC5hcHBlbmQoaW50ZW5zaXR5X3NvdXJjZV9kaW1lbnNpb24pCm91dHB1dC5hcHBlbmQoeF9maXJz
dCkKb3V0cHV0LmFwcGVuZCh6X2ZpcnN0KQpvdXRwdXQuYXBwZW5kKGludGVuc2l0eV9hbmd1bGFy
X2Rpc3RyaWJ1dGlvbikKCm91dF9vYmplY3QgPSBvdXRwdXQKcQhYBAAAAG5hbWVxCVgSAAAAcmVh
ZF9kaXN0cmlidXRpb25zcQpYCAAAAGZpbGVuYW1lcQtOWAUAAABmbGFnc3EMSwB1YmFYEgAAAGN1
cnJlbnRTY3JpcHRJbmRleHENSwBYDAAAAGF1dG9fZXhlY3V0ZXEOiFgNAAAAc3BsaXR0ZXJTdGF0
ZXEPWH8AAABiJ1x4MDBceDAwXHgwMFx4ZmZceDAwXHgwMFx4MDBceDAxXHgwMFx4MDBceDAwXHgw
Mlx4MDBceDAwXHgwM1x4OTVceDAwXHgwMFx4MDBceDAwXHgwMVx4ZmZceGZmXHhmZlx4ZmZceDAx
XHgwMFx4MDBceDAwXHgwMlx4MDAncRBYEwAAAHNhdmVkV2lkZ2V0R2VvbWV0cnlxEWNzaXAKX3Vu
cGlja2xlX3R5cGUKcRJYDAAAAFB5UXQ1LlF0Q29yZXETWAoAAABRQnl0ZUFycmF5cRRDMgHZ0MsA
AgAAAAAAAAAAABcAAAaPAAAD5wAAAAAAAAAtAAAGjwAAA+cAAAAAAAAAAAeAcRWFcRaHcRdScRh1
Lg==
</properties>
<properties format="pickle" node_id="7">gAN9cQAoWAkAAABmb250X3NpemVxAUsEWBEAAABsaWJyYXJ5TGlzdFNvdXJjZXECXXEDY29hc3lz
LndpZGdldHMudG9vbHMub3dfcHl0aG9uX3NjcmlwdApTY3JpcHQKcQQpgXEFfXEGKFgGAAAAc2Ny
aXB0cQdYrwkAAGltcG9ydCB4cmF5bGliCmZyb20gb3JhbmdlY29udHJpYi5zaGFkb3cud2lkZ2V0
cy5ndWkub3dfYXV0b21hdGljX2VsZW1lbnQgaW1wb3J0IEF1dG9tYXRpY0VsZW1lbnQKZnJvbSBv
cmFuZ2Vjb250cmliLnNoYWRvdy51dGlsLnNoYWRvd19vYmplY3RzIGltcG9ydCBTaGFkb3dCZWFt
LCAgU2hhZG93U291cmNlCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKIwojIFRoaXMgeHJheWxpYiBjYWxsIHByZXZlbnRzIGFuIGFub21h
bG91cyBiZWhhdmlvdXIgb2YKIyBTSEFET1cgZHVlIHRvIHNvbWUgdW5leHBsYWluZWQgcHl0aG9u
IHByb2JsZW0gKGFwcGFyZW50bHkgb24gdGhlIEMtYmluZGVyKS4KIyBJdCBoYXBwZW5zIHNvbWV0
aW1lcyBhZnRlciBpbnN0YWxsaW5nIG5ldyBub24tcGlwIGxpYnJhcmllcwojIEkgZG9uJ3Qga25v
dyBob3cgYW5kIHdoeSwgYnV0IHRoaXMgY2FsbCB0byB4cmF5bGliIHJlbW92ZXMgdGhlCiMgcHJv
YmxlbQojCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwoKZGVmIGZpeFdlaXJkU2hhZG93QnVnKCk6CiAgICBpZiBub3QgQXV0b21hdGljRWxl
bWVudC5pc193ZWlyZF9zaGFkb3dfYnVnX2ZpeGVkOgogICAgICAgIHRyeToKICAgICAgICAgICAg
eHJheWxpYi5SZWZyYWN0aXZlX0luZGV4X1JlKCJMYUI2IiwgMTAwMDAsIDQpCiAgICAgICAgZXhj
ZXB0OgogICAgICAgICAgICBwYXNzCgogICAgICAgIEF1dG9tYXRpY0VsZW1lbnQuaXNfd2VpcmRf
c2hhZG93X2J1Z19maXhlZCA9IFRydWUKCiMgV0VJUkQgTUVNT1JZIElOSVRJQUxJWkFUSU9OIEJZ
IEZPUlRSQU4uIEpVU1QgQSBGSVguCmRlZiBmaXhfSW50ZW5zaXR5KHBvbGFyaXphdGlvbiwgYmVh
bV9vdXQpOgogICAgaWYgcG9sYXJpemF0aW9uID09IDA6CiAgICAgICAgZm9yIGluZGV4IGluIHJh
bmdlKDAsIGxlbihiZWFtX291dC5fYmVhbS5yYXlzKSk6CiAgICAgICAgICAgIGJlYW1fb3V0Ll9i
ZWFtLnJheXNbaW5kZXgsIDE1XSA9IDAKICAgICAgICAgICAgYmVhbV9vdXQuX2JlYW0ucmF5c1tp
bmRleCwgMTZdID0gMAogICAgICAgICAgICBiZWFtX291dC5fYmVhbS5yYXlzW2luZGV4LCAxN10g
PSAwCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmZp
eFdlaXJkU2hhZG93QnVnKCkKCnNoYWRvd19zcmMgPSBTaGFkb3dTb3VyY2UuY3JlYXRlX3NyYygp
CgpzaGFkb3dfc3JjLnNyYy5OUE9JTlQgPSA1MDAwMCAgICAjIG51bWJlcl9vZl9yYXlzCnNoYWRv
d19zcmMuc3JjLklTVEFSMSA9IDIzNDIzNDIzICMgc2VlZAoKc2hhZG93X3NyYy5zcmMuRkdSSUQg
PSAwCnNoYWRvd19zcmMuc3JjLklET19WWCA9IDAKc2hhZG93X3NyYy5zcmMuSURPX1ZaID0gMApz
aGFkb3dfc3JjLnNyYy5JRE9fWF9TID0gMApzaGFkb3dfc3JjLnNyYy5JRE9fWV9TID0gMApzaGFk
b3dfc3JjLnNyYy5JRE9fWl9TID0gMAoKc2hhZG93X3NyYy5zcmMuRlNPVVIgPSAwICMgc3BhdGlh
bF90eXBlIChwb2ludCkKc2hhZG93X3NyYy5zcmMuRkRJU1RSID0gMSAjIGFuZ3VsYXJfZGlzdHJp
YnV0aW9uIChmbGF0KQoKc2hhZG93X3NyYy5zcmMuSERJVjEgPSAtMS4wZS02CnNoYWRvd19zcmMu
c3JjLkhESVYyID0gMS4wZS02CnNoYWRvd19zcmMuc3JjLlZESVYxID0gLTEuMGUtNgpzaGFkb3df
c3JjLnNyYy5WRElWMiA9IDEuMGUtNgogICAgCnNoYWRvd19zcmMuc3JjLkZTT1VSQ0VfREVQVEgg
PSAxICMgT0ZGCgpzaGFkb3dfc3JjLnNyYy5GX0NPTE9SID0gMSAjIHNpbmdsZSB2YWx1ZQpzaGFk
b3dfc3JjLnNyYy5GX1BIT1QgPSAwICMgZVYgLCAxIEFuZ3N0cm9tCgpzaGFkb3dfc3JjLnNyYy5Q
SDEgPSAzOTkuOAoKc2hhZG93X3NyYy5zcmMuRl9QT0xBUiA9IDEKc2hhZG93X3NyYy5zcmMuRl9D
T0hFUiA9IDAKc2hhZG93X3NyYy5zcmMuUE9MX0FOR0xFID0gMC4wCnNoYWRvd19zcmMuc3JjLlBP
TF9ERUcgPSAxLjAKCnNoYWRvd19zcmMuc3JjLkZfT1BEID0gMQpzaGFkb3dfc3JjLnNyYy5GX0JP
VU5EX1NPVVIgPSAwCgpwcmludCgiUnVubmluZyBTSEFET1ciKQoKd3JpdGVfYmVnaW5fZmlsZSA9
IDAKd3JpdGVfc3RhcnRfZmlsZSA9IDAKd3JpdGVfZW5kX2ZpbGUgPSAwCgpiZWFtX291dCA9IFNo
YWRvd0JlYW0udHJhY2VGcm9tU291cmNlKHNoYWRvd19zcmMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgd3JpdGVfYmVnaW5fZmlsZT13cml0ZV9iZWdpbl9maWxlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlX3N0YXJ0X2ZpbGU9d3JpdGVf
c3RhcnRfZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9l
bmRfZmlsZT13cml0ZV9lbmRfZmlsZSkKCmZpeF9JbnRlbnNpdHkoc2hhZG93X3NyYy5zcmMuRl9Q
T0xBUiwgYmVhbV9vdXQpCgpvdXRfb2JqZWN0ID0gYmVhbV9vdXRxCFgEAAAAbmFtZXEJWBQAAABj
cmVhdGVfc2hhZG93X3NvdXJjZXEKWAgAAABmaWxlbmFtZXELTlgFAAAAZmxhZ3NxDEsAdWJhWBIA
AABjdXJyZW50U2NyaXB0SW5kZXhxDUsAWAwAAABhdXRvX2V4ZWN1dGVxDohYDQAAAHNwbGl0dGVy
U3RhdGVxD1h/AAAAYidceDAwXHgwMFx4MDBceGZmXHgwMFx4MDBceDAwXHgwMVx4MDBceDAwXHgw
MFx4MDJceDAwXHgwMFx4MDNceDk1XHgwMFx4MDBceDAwXHgwMFx4MDFceGZmXHhmZlx4ZmZceGZm
XHgwMVx4MDBceDAwXHgwMFx4MDJceDAwJ3EQWBMAAABzYXZlZFdpZGdldEdlb21ldHJ5cRFjc2lw
Cl91bnBpY2tsZV90eXBlCnESWAwAAABQeVF0NS5RdENvcmVxE1gKAAAAUUJ5dGVBcnJheXEUQzIB
2dDLAAIAAAAAAAAAAAAXAAAGjwAAA+cAAAAAAAAALQAABo8AAAPnAAAAAAAAAAAHgHEVhXEWh3EX
UnEYdS4=
</properties>
<properties format="pickle" node_id="8">gAN9cQAoWAkAAABmb250X3NpemVxAUsEWBEAAABsaWJyYXJ5TGlzdFNvdXJjZXECXXEDY29hc3lz
LndpZGdldHMudG9vbHMub3dfcHl0aG9uX3NjcmlwdApTY3JpcHQKcQQpgXEFfXEGKFgGAAAAc2Ny
aXB0cQdYTg8AAGltcG9ydCBudW1weQpmcm9tIG51bXB5Lm1hdGxpYiBpbXBvcnQgcmVwbWF0CmZy
b20gc2NpcHkgaW1wb3J0IHN0YXRzCmZyb20gc2NpcHkuc2lnbmFsIGltcG9ydCBjb252b2x2ZTJk
CmZyb20gb2FzeXMud2lkZ2V0cyBpbXBvcnQgY29uZ3J1ZW5jZQpmcm9tIHNpbHguZ3VpLnBsb3Qg
aW1wb3J0IFBsb3QyRCwgSW1hZ2VWaWV3CgppbXBvcnQgbWF0cGxvdGxpYgppbXBvcnQgbWF0cGxv
dGxpYi5weXBsb3QgYXMgcGx0CgptYXRwbG90bGliLnJjUGFyYW1zWydmaWd1cmUubWF4X29wZW5f
d2FybmluZyddID0gJzAnCgoKCmNsYXNzIERpc3RyaWJ1dGlvbjoKICAgIFBPU0lUSU9OID0gMAog
ICAgRElWRVJHRU5DRSA9IDEKICAgIApjbGFzcyBBeGlzOgogICAgWCA9IDAKICAgIFogPSAxCgpk
ZWYgZXh0cmFjdF9kaXN0cmlidXRpb25fZnJvbV9maWxlKGRpc3RyaWJ1dGlvbl9maWxlX25hbWUp
OgogICAgZGlzdHJpYnV0aW9uID0gW10KCiAgICB0cnk6CiAgICAgICAgZGlzdHJpYnV0aW9uX2Zp
bGUgPSBvcGVuKGRpc3RyaWJ1dGlvbl9maWxlX25hbWUsICJyIikKCiAgICAgICAgcm93cyA9IGRp
c3RyaWJ1dGlvbl9maWxlLnJlYWRsaW5lcygpCgogICAgICAgIGZvciBpbmRleCBpbiByYW5nZSgw
LCBsZW4ocm93cykpOgogICAgICAgICAgICByb3cgPSByb3dzW2luZGV4XQoKICAgICAgICAgICAg
aWYgbm90IHJvdy5zdHJpcCgpID09ICIiOgogICAgICAgICAgICAgICAgdmFsdWVzID0gcm93LnNw
bGl0KCkKCiAgICAgICAgICAgICAgICBpZiBub3QgbGVuKHZhbHVlcykgPT0gMjogcmFpc2UgRXhj
ZXB0aW9uKCJNYWxmb3JtZWQgZmlsZSwgbXVzdCBiZTogPHZhbHVlPiA8c3BhY2VzPiA8ZnJlcXVl
bmN5PiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZh
bHVlID0gZmxvYXQodmFsdWVzWzBdLnN0cmlwKCkpCiAgICAgICAgICAgICAgICBmcmVxdWVuY3kg
PSBmbG9hdCh2YWx1ZXNbMV0uc3RyaXAoKSkKCiAgICAgICAgICAgICAgICBkaXN0cmlidXRpb24u
YXBwZW5kKFt2YWx1ZSwgZnJlcXVlbmN5XSkKCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycjoK
ICAgICAgICByYWlzZSBFeGNlcHRpb24oIlByb2JsZW1zIHJlYWRpbmcgZGlzdHJpYnV0aW9uIGZp
bGU6IHswfSIuZm9ybWF0KGVycikpCiAgICBleGNlcHQ6CiAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCJVbmV4cGVjdGVkIGVycm9yIHJlYWRpbmcgZGlzdHJpYnV0aW9uIGZpbGU6ICIsIHN5cy5leGNf
aW5mbygpWzBdKQoKICAgIHJldHVybiBudW1weS5hcnJheShkaXN0cmlidXRpb24pCgpkZWYgcGxv
dF8yRCh4LCB5LCBkYXRhLCB4bGFiZWw9IlggW21dIiwgeWxhYmVsPSJZIFttXSIsIHRpdGxlPU5v
bmUpOgogICAgeG1pbiwgeG1heCA9IHgubWluKCksIHgubWF4KCkKICAgIHltaW4sIHltYXggPSB5
Lm1pbigpLCB5Lm1heCgpCgogICAgb3JpZ2luID0gKHhtaW4sIHltaW4pCiAgICBzY2FsZSA9IChh
YnMoKHhtYXgteG1pbikvbGVuKHgpKSwgYWJzKCh5bWF4LXltaW4pL2xlbih5KSkpCgogICAgIyBQ
eU1DQSBpbnZlcnRzIGF4aXMhISEhIGhpc3RvZ3JhbSBtdXN0IGJlIGNhbGN1bGF0ZWQgcmV2ZXJz
ZWQKICAgIGRhdGFfdG9fcGxvdCA9IFtdCiAgICBmb3IgeV9pbmRleCBpbiByYW5nZSgwLCBsZW4o
eSkpOgogICAgICAgIHhfdmFsdWVzID0gW10KICAgICAgICBmb3IgeF9pbmRleCBpbiByYW5nZSgw
LCBsZW4oeCkpOgogICAgICAgICAgICB4X3ZhbHVlcy5hcHBlbmQoZGF0YVt4X2luZGV4LCB5X2lu
ZGV4XSkKCiAgICAgICAgeF92YWx1ZXMucmV2ZXJzZSgpCgogICAgICAgIGRhdGFfdG9fcGxvdC5h
cHBlbmQoeF92YWx1ZXMpCiAgICAKICAgIHBsb3RfY2FudmFzID0gSW1hZ2VWaWV3KCkKICAgIHBs
b3RfY2FudmFzLnNldEdyYXBoVGl0bGUodGl0bGUpCiAgICBwbG90X2NhbnZhcy50b29sQmFyKCkK
ICAgIAogICAgcGxvdF9jYW52YXMuYWRkSW1hZ2UobnVtcHkuYXJyYXkoZGF0YV90b19wbG90KSwK
ICAgICAgICAgICAgICAgICAgICAgICAgIHhsYWJlbD14bGFiZWwsCiAgICAgICAgICAgICAgICAg
ICAgICAgICB5bGFiZWw9eWxhYmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgbGVnZW5kPSJk
YXRhIiwKICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbj1vcmlnaW4sCiAgICAgICAgICAg
ICAgICAgICAgICAgICBzY2FsZT1zY2FsZSwKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxh
Y2U9VHJ1ZSkKCiAgICAKICAgIHJldHVybiBwbG90X2NhbnZhcwoKZGVmIGNvbWJpbmVfZGlzdHJp
YnV0aW9ucyhkaXN0cmlidXRpb25feCwgZGlzdHJpYnV0aW9uX3kpOgoKICAgIGNvb3JkX3ggPSBk
aXN0cmlidXRpb25feFs6LCAwXQogICAgY29vcmRfeSA9IGRpc3RyaWJ1dGlvbl95WzosIDBdCiAg
ICAgICAgICAgCiAgICBpbnRlbnNpdHlfeCA9IHJlcG1hdChkaXN0cmlidXRpb25feFs6LCAxXSwg
bGVuKGNvb3JkX3kpLCAxKS50cmFuc3Bvc2UoKSAKICAgIGludGVuc2l0eV95ID0gcmVwbWF0KGRp
c3RyaWJ1dGlvbl95WzosIDFdLCBsZW4oY29vcmRfeCksIDEpCiAgICAKICAgICNjb252b2x1dGVk
X2ludGVuc2l0eSA9IGNvbnZvbHZlMmQoaW50ZW5zaXR5X3gsIGludGVuc2l0eV95LCBib3VuZGFy
eT0nZmlsbCcsIG1vZGU9J3NhbWUnLCBmaWxsdmFsdWU9MCkKICAgICNjb252b2x1dGVkX2ludGVu
c2l0eSA9IG51bXB5LnNxcnQoaW50ZW5zaXR5X3gqKjIgKyBpbnRlbnNpdHlfeSoqMikKICAgIGNv
bnZvbHV0ZWRfaW50ZW5zaXR5ID0gbnVtcHkuc3FydChpbnRlbnNpdHlfeCppbnRlbnNpdHlfeSkK
ICAgICNjb252b2x1dGVkX2ludGVuc2l0eSA9IDAuNSooaW50ZW5zaXR5X3ggKyBpbnRlbnNpdHlf
eSkKCiAgICByZXR1cm4gY29vcmRfeCwgY29vcmRfeSwgY29udm9sdXRlZF9pbnRlbnNpdHkKCgp4
X3Bvc2l0aW9ucyA9IGV4dHJhY3RfZGlzdHJpYnV0aW9uX2Zyb21fZmlsZShkaXN0cmlidXRpb25f
ZmlsZV9uYW1lPSIuL3hfcG9zaXRpb25zLnR4dCIpCnpfcG9zaXRpb25zID0gZXh0cmFjdF9kaXN0
cmlidXRpb25fZnJvbV9maWxlKGRpc3RyaWJ1dGlvbl9maWxlX25hbWU9Ii4vel9wb3NpdGlvbnMu
dHh0IikKeF9kaXZlcmdlbmNlcyA9IGV4dHJhY3RfZGlzdHJpYnV0aW9uX2Zyb21fZmlsZShkaXN0
cmlidXRpb25fZmlsZV9uYW1lPSIuL3hfZGl2ZXJnZW5jZXMudHh0IikKel9kaXZlcmdlbmNlcyA9
IGV4dHJhY3RfZGlzdHJpYnV0aW9uX2Zyb21fZmlsZShkaXN0cmlidXRpb25fZmlsZV9uYW1lPSIu
L3pfZGl2ZXJnZW5jZXMudHh0IikKCngsIHosIGludGVuc2l0eV9zb3VyY2VfZGltZW5zaW9uID0g
Y29tYmluZV9kaXN0cmlidXRpb25zKHhfcG9zaXRpb25zLCB6X3Bvc2l0aW9ucykgIAp4X2ZpcnN0
LCB6X2ZpcnN0LCBpbnRlbnNpdHlfYW5ndWxhcl9kaXN0cmlidXRpb24gPSBjb21iaW5lX2Rpc3Ry
aWJ1dGlvbnMoeF9kaXZlcmdlbmNlcywgel9kaXZlcmdlbmNlcykgICAgCgpwbG90X2NhbnZhc18x
ID0gcGxvdF8yRCh4LCB6LCBpbnRlbnNpdHlfc291cmNlX2RpbWVuc2lvbiwgeGxhYmVsPSJYIFtt
XSIsIHlsYWJlbD0iWiBbbV0iLCB0aXRsZT0iWCxaIikKcGxvdF9jYW52YXNfMiA9IHBsb3RfMkQo
eF9maXJzdCwgel9maXJzdCwgaW50ZW5zaXR5X2FuZ3VsYXJfZGlzdHJpYnV0aW9uLCB4bGFiZWw9
IlgnIFtyYWRdIiwgeWxhYmVsPSJaJyBbcmFkXSIsIHRpdGxlPSJBbHBoYVgsIEFscGhhWiIpCnBs
b3RfY2FudmFzXzEuc2hvdygpCnBsb3RfY2FudmFzXzIuc2hvdygpCgpvdXRwdXQgPSBbXQpvdXRw
dXQuYXBwZW5kKHgpCm91dHB1dC5hcHBlbmQoeikKb3V0cHV0LmFwcGVuZChpbnRlbnNpdHlfc291
cmNlX2RpbWVuc2lvbikKb3V0cHV0LmFwcGVuZCh4X2ZpcnN0KQpvdXRwdXQuYXBwZW5kKHpfZmly
c3QpCm91dHB1dC5hcHBlbmQoaW50ZW5zaXR5X2FuZ3VsYXJfZGlzdHJpYnV0aW9uKQoKCnEIWAQA
AABuYW1lcQlYHgAAAGNyZWF0ZV9kaXN0cmlidXRpb25zX2Zyb20gZmlsZXEKWAgAAABmaWxlbmFt
ZXELTlgFAAAAZmxhZ3NxDEsAdWJhWBIAAABjdXJyZW50U2NyaXB0SW5kZXhxDUsAWAwAAABhdXRv
X2V4ZWN1dGVxDohYDQAAAHNwbGl0dGVyU3RhdGVxD1h/AAAAYidceDAwXHgwMFx4MDBceGZmXHgw
MFx4MDBceDAwXHgwMVx4MDBceDAwXHgwMFx4MDJceDAwXHgwMFx4MDNceDk1XHgwMFx4MDBceDAw
XHgwMFx4MDFceGZmXHhmZlx4ZmZceGZmXHgwMVx4MDBceDAwXHgwMFx4MDJceDAwJ3EQWBMAAABz
YXZlZFdpZGdldEdlb21ldHJ5cRFjc2lwCl91bnBpY2tsZV90eXBlCnESWAwAAABQeVF0NS5RdENv
cmVxE1gKAAAAUUJ5dGVBcnJheXEUQzIB2dDLAAIAAAAAAAAAAAAXAAAGjwAAA+cAAAAAAAAALQAA
Bo8AAAPnAAAAAAAAAAAHgHEVhXEWh3EXUnEYdS4=
</properties>
</node_properties>
</scheme>