<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Hi Rick,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">
Albert Shahinyan is not on-site. He will probably get back with you later this evening (time change from Armenia), but he does have personnel he works with on-site. So any meeting with him will have to be coordinated ahead of schedule.<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">
Bogdan <font style="font-size:11pt" class="ContentPasted1" face="Calibri, sans-serif" color="#000000">
Wojtsekhowski</font> is in charge of the ECAL detector and has knowledge on the test they are setting up. If you have questions, he is a good source of information.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">
I am with the Detector Support Group, we are developing the controls and monitoring for the heaters which will be used in the annealing process.<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">
Regards,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0">
Marc<br>
</div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Rick Adrover <adrover@jlab.org><br>
<b>Sent:</b> Monday, December 5, 2022 11:05 AM<br>
<b>To:</b> Bert Manzlak <manzlak@jlab.org><br>
<b>Cc:</b> Marc Mcmullen <mcmullen@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; shahinya@jlab.org <shahinya@jlab.org><br>
<b>Subject:</b> Re: About heating</font>
<div> </div>
</div>
<div dir="ltr">
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Albert,</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Good Morning.  Could we get together to discuss your heater plan?</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div class="x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Thanks.</div>
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_Signature">
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Rick Adrover</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Environment, Safety and Health Division</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Electrical Safety</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Office:  757-269-5418</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Cell:  912-596-3893</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<img alt="" src="data:text/html;base64,PCFET0NUWVBFIGh0bWw+IDxodG1sIGRpcj1sdHIgeG1sbnM9aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCB0cmFuc2xhdGU9bm8+IDxoZWFkPiA8bWV0YSBjaGFyc2V0PXV0Zi04PiA8bWV0YSBodHRwLWVxdWl2PVgtVUEtQ29tcGF0aWJsZSBjb250ZW50PSJJRT1lZGdlIj4gPG1ldGEgaHR0cC1lcXVpdj1wcmFnbWEgY29udGVudD1uby1jYWNoZT4gPG1ldGEgbmFtZT12aWV3cG9ydCBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLHVzZXItc2NhbGFibGU9MCI+IDxtZXRhIG5hbWU9Z29vZ2xlIHZhbHVlPW5vdHJhbnNsYXRlPiA8bWV0YSBuYW1lPWZvcm1hdC1kZXRlY3Rpb24gY29udGVudD0idGVsZXBob25lPW5vIj4gPG1ldGEgbmFtZT1zY3JpcHRWZXIgY29udGVudD0yMDIyMTEyNDAwNy4wOD4gPG1ldGEgbmFtZT1waHlzaWNhbFJpbmcgY29udGVudD1XVz4gPG1ldGEgbmFtZT1lbnZpcm9ubWVudCBjb250ZW50PUdDQ01vZGVyYXRlPiA8bWV0YSBuYW1lPWJvb3RGbGlnaHRzIGNvbnRlbnQ9PiA8bWV0YSBuYW1lPWNkblVybCBjb250ZW50PS8vcmVzLmNkbi5vZmZpY2UubmV0Lz4gPG1ldGEgbmFtZT1iYWNrdXBDZG5VcmwgY29udGVudD0vL3Jlcy1nZW8uY2RuLm9mZmljZS5uZXQvPiA8bWV0YSBuYW1lPWNkbkNvbnRhaW5lciBjb250ZW50PW93YW1haWwvPiA8bWV0YSBuYW1lPWRldkNkblVybCBjb250ZW50PT4gPG1ldGEgbmFtZT1hcmlhVXJsIGNvbnRlbnQ9PiA8bWV0YSBuYW1lPWNvbXBhY3RBcmlhVXJsIGNvbnRlbnQ9PiA8bWV0YSBuYW1lPXdjc3NGcmFtZVVybCBjb250ZW50PWh0dHBzOi8vd2Vic2hlbGwuc3VpdGUub2ZmaWNlLmNvbT4gPG1ldGEgbmFtZT1zY3JpcHRQYXRoIGNvbnRlbnQ9c2NyaXB0cy8+IDxtZXRhIG5hbWU9b3dhSXNBdXRoZW50aWNhdGVkIGNvbnRlbnQ9T3dhSXNBdXRoZW50aWNhdGVkPiA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9L21haWwvZmF2aWNvbi5pY28gdHlwZT1pbWFnZS94LWljb24+IDxsaW5rIHJlbD1hcHBsZS10b3VjaC1pY29uIGhyZWY9Ly9yZXMuY2RuLm9mZmljZS5uZXQvYXNzZXRzL21haWwvcHdhL3YxL3BuZ3MvYXBwbGUtdG91Y2gtaWNvbi5wbmc+IDxub3NjcmlwdD5KYXZhU2NyaXB0IG11c3QgYmUgZW5hYmxlZC48L25vc2NyaXB0PiA8dGl0bGU+T3V0bG9vazwvdGl0bGU+IDxzdHlsZT5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidTZWdvZSBVSSBXZXN0RXVyb3BlYW4nO3NyYzpsb2NhbCgnU2Vnb2UgVUkgTGlnaHQnKSxsb2NhbCgnU2Vnb2UgV1AgTGlnaHQnKSx1cmwoLy9yZXMuY2RuLm9mZmljZS5uZXQvYXNzZXRzL21haWwvZm9udHMvdjEvZm9udHMvc2Vnb2V1aS1saWdodC5lb3Q/I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktbGlnaHQud29mZikgZm9ybWF0KCd3b2ZmJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktbGlnaHQudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Zm9udC13ZWlnaHQ6MTAwO2ZvbnQtc3R5bGU6bm9ybWFsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1NlZ29lIFVJIFdlc3RFdXJvcGVhbic7c3JjOmxvY2FsKCdTZWdvZSBVSScpLGxvY2FsKCdTZWdvZSBXUCcpLHVybCgvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9hc3NldHMvbWFpbC9mb250cy92MS9mb250cy9zZWdvZXVpLXJlZ3VsYXIuZW90PyNpZWZpeCkgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9hc3NldHMvbWFpbC9mb250cy92MS9mb250cy9zZWdvZXVpLXJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktcmVndWxhci50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9QGZvbnQtZmFjZXtmb250LWZhbWlseTonU2Vnb2UgVUkgV2VzdEV1cm9wZWFuJztzcmM6bG9jYWwoJ1NlZ29lIFVJIFNlbWlib2xkJyksbG9jYWwoJ1NlZ29lIFdQIFNlbWlib2xkJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktc2VtaWJvbGQuZW90PyNpZWZpeCkgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9hc3NldHMvbWFpbC9mb250cy92MS9mb250cy9zZWdvZXVpLXNlbWlib2xkLndvZmYpIGZvcm1hdCgnd29mZicpLHVybCgvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9hc3NldHMvbWFpbC9mb250cy92MS9mb250cy9zZWdvZXVpLXNlbWlib2xkLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXN0eWxlOm5vcm1hbH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidTZWdvZSBVSSBXZXN0RXVyb3BlYW4nO3NyYzpsb2NhbCgnU2Vnb2UgVUkgU2VtaWxpZ2h0JyksbG9jYWwoJ1NlZ29lIFdQIFNlbWlsaWdodCcpLHVybCgvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9hc3NldHMvbWFpbC9mb250cy92MS9mb250cy9zZWdvZXVpLXNlbWlsaWdodC5lb3Q/I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktc2VtaWxpZ2h0LndvZmYpIGZvcm1hdCgnd29mZicpLHVybCgvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9hc3NldHMvbWFpbC9mb250cy92MS9mb250cy9zZWdvZXVpLXNlbWlsaWdodC50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTtmb250LXdlaWdodDoyMDA7Zm9udC1zdHlsZTpub3JtYWx9QGZvbnQtZmFjZXtmb250LWZhbWlseTpGYWJyaWNNREwySWNvbnM7c3JjOnVybCgnLy9yZXMuY2RuLm9mZmljZS5uZXQvb3dhbWFpbC8yMDIyMTEyNDAwNy4wOC9yZXNvdXJjZXMvZm9udHMvbzM2NWljb25zLW1kbDIud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnLy9yZXMuY2RuLm9mZmljZS5uZXQvb3dhbWFpbC8yMDIyMTEyNDAwNy4wOC9yZXNvdXJjZXMvZm9udHMvbzM2NWljb25zLW1kbDIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5Om9mZmljZTM2NWljb25zO3NyYzp1cmwoJy8vcmVzLmNkbi5vZmZpY2UubmV0L293YW1haWwvMjAyMjExMjQwMDcuMDgvcmVzb3VyY2VzL2ZvbnRzL29mZmljZTM2NWljb25zLmVvdD8nKTtzcmM6dXJsKCcvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9vd2FtYWlsLzIwMjIxMTI0MDA3LjA4L3Jlc291cmNlcy9mb250cy9vZmZpY2UzNjVpY29ucy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnLy9yZXMuY2RuLm9mZmljZS5uZXQvb3dhbWFpbC8yMDIyMTEyNDAwNy4wOC9yZXNvdXJjZXMvZm9udHMvb2ZmaWNlMzY1aWNvbnMud29mZj8nKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy8vcmVzLmNkbi5vZmZpY2UubmV0L293YW1haWwvMjAyMjExMjQwMDcuMDgvcmVzb3VyY2VzL2ZvbnRzL29mZmljZTM2NWljb25zLnR0Zj8nKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9vd2FtYWlsLzIwMjIxMTI0MDA3LjA4L3Jlc291cmNlcy9mb250cy9vZmZpY2UzNjVpY29ucy5zdmc/I29mZmljZTM2NWljb25zJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9I3ByZWxvYWREaXZ7aGVpZ2h0OjFweDttYXJnaW4tYm90dG9tOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3Zpc2liaWxpdHk6aGlkZGVufSNsb2FkaW5nU2NyZWVue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6I2ZmZn0jbG9hZGluZ0xvZ297cG9zaXRpb246Zml4ZWQ7dG9wOmNhbGMoNTB2aCAtIDkwcHgpO2xlZnQ6Y2FsYyg1MHZ3IC0gOTBweCk7d2lkdGg6MTgwcHg7aGVpZ2h0OjE4MHB4fSNNU0xvZ297cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjM2cHg7bGVmdDpjYWxjKDUwdncgLSA1MHB4KX0uZGFyayAjbG9hZGluZ1NjcmVlbntiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9LmRhcmtOZXcgI2xvYWRpbmdTY3JlZW57YmFja2dyb3VuZC1jb2xvcjojMWYxZjFmfTwvc3R5bGU+IDxzY3JpcHQgbm9uY2U9SlROL09jKzdGQWlWUDlBTUJwN3Zidz09PnRyeXtpZigibG9jYWxTdG9yYWdlImluIHdpbmRvdyl7dmFyIHVzZXJOb3JtYWxpemVkVGhlbWU9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJVc2Vyc05vcm1hbGl6ZWRUaGVtZSIpO3VzZXJOb3JtYWxpemVkVGhlbWUmJi9cLmRhcmskLy50ZXN0KHVzZXJOb3JtYWxpemVkVGhlbWUpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZGFyayIpLHVzZXJOb3JtYWxpemVkVGhlbWUmJi9cLmRhcmtcLm5ldyQvLnRlc3QodXNlck5vcm1hbGl6ZWRUaGVtZSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkYXJrTmV3Iik7dmFyIHB3YWJhcmNvbG9yPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiUHdhVGhlbWUiKTtpZihwd2FiYXJjb2xvcil7dmFyIHRoZW1ldGFnPWRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCJ0aGVtZS1jb2xvciIpO3RoZW1ldGFnJiZ0aGVtZXRhZy5sZW5ndGgmJnRoZW1ldGFnWzBdLnNldEF0dHJpYnV0ZSgiY29udGVudCIscHdhYmFyY29sb3IpfX19Y2F0Y2goZSl7fTwvc2NyaXB0PiA8c2NyaXB0IG5vbmNlPUpUTi9PYys3RkFpVlA5QU1CcDd2Ync9PT5mdW5jdGlvbiBsb2dFcnJvcihvLG4scixlLGEsaSl7d2luZG93Lm93YUVycm9ySGFuZGxlcj93aW5kb3cub3dhRXJyb3JIYW5kbGVyKG8sbixyLGUsYSxpKTp3aW5kb3cub3dhQmFja2ZpbGxlZEVycm9ycy5wdXNoKGFyZ3VtZW50cyl9d2luZG93LkZhYnJpY0NvbmZpZz17Zm9udEJhc2VVcmw6bnVsbH0sd2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnM9W10sd2luZG93Lm9uZXJyb3I9bG9nRXJyb3IsIm9udW5oYW5kbGVkcmVqZWN0aW9uImluIHdpbmRvdyYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsKGZ1bmN0aW9uKG8pe3ZhciBuPW8mJm8ucmVhc29ufHwiW25vIHJlYXNvbiBnaXZlbl0iO24gaW5zdGFuY2VvZiBFcnJvcj9sb2dFcnJvcigiVW5oYW5kbGVkIFJlamVjdGlvbjogIituLCIiLDAsMCxuKTpuLnJlc3BvbnNlRXJyb3JNZXNzYWdlJiZuLmNhbGxzdGFja0F0UmVxdWVzdCYmbiBpbnN0YW5jZW9mIFJlc3BvbnNlP2xvZ0Vycm9yKG4ucmVzcG9uc2VFcnJvck1lc3NhZ2UsIiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsbi5jYWxsc3RhY2tBdFJlcXVlc3QpOmxvZ0Vycm9yKCJVbmhhbmRsZWQgUmVqZWN0aW9uOiAiKygic3RyaW5nIj09dHlwZW9mIG4/bjpKU09OLnN0cmluZ2lmeShuKSkpfSkpLHdpbmRvdy5vbmxvYWQ9ZnVuY3Rpb24oKXt0cnl7IXNlbGYuT3dhJiZzZWxmLmxvY2F0aW9uJiZzZWxmLmxvY2F0aW9uLnNlYXJjaCYmLTE9PXNlbGYubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoImd1bHAiKSYmd2luZG93LmxvY2F0aW9uLmFzc2lnbigiL293YS9hdXRoL2Zyb3dueS5hc3B4P2JyZXQ9ZmFpbCZlc3JjPUluZGV4UGFnZUluY29tcGxldGUmYXBwPU1haWwiKX1jYXRjaChvKXt9fTwvc2NyaXB0PiA8c2NyaXB0IG5vbmNlPUpUTi9PYys3RkFpVlA5QU1CcDd2Ync9PT50cnl7IWZ1bmN0aW9uKCl7aWYoIlBlcmZvcm1hbmNlTG9uZ1Rhc2tUaW1pbmciaW4gd2luZG93KXt2YXIgZT13aW5kb3cuX190dGk9e2U6W119O2Uubz1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoZnVuY3Rpb24obil7ZS5lPWUuZS5jb25jYXQobi5nZXRFbnRyaWVzKCkpfSkpLGUuby5vYnNlcnZlKHtlbnRyeVR5cGVzOlsibG9uZ3Rhc2siXX0pfX0oKX1jYXRjaChlKXt9PC9zY3JpcHQ+IDxzY3JpcHQgbm9uY2U9IkpUTi9PYys3RkFpVlA5QU1CcDd2Ync9PSI+LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgb3dhLm1haWxpbmRleC5qcy5MSUNFTlNFLnR4dCAqLwooKCk9Pnt2YXIgZSxuLHQscixvPXsxMzE1ODE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7ZzooKT0+byxBOigpPT5pfSk7dmFyIHI9dCg0ODMyMjkpO2NvbnN0IG89bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoMzkxOCksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg3MzExMiksdC5lKDE2MDI1KSx0LmUoMTg4MzgpLHQuZSgxNjgzMCksdC5lKDMzNjE1KSx0LmUoODk4NjQpLHQuZSgyMDIyNCksdC5lKDk1OTgpLHQuZSg3NTQ4MiksdC5lKDExMTAyKSx0LmUoNjkzOTApLHQuZSg2MjYwMCksdC5lKDI3OTQwKSx0LmUoNTk4OSksdC5lKDM2ODU2KSx0LmUoMTY3ODApXSkudGhlbih0LmJpbmQodCw0NjEwOTgpKSkpLGk9bmV3IHIuRUYobywoZT0+ZS5jYWxlbmRhckFwcENvbW1hbmRQcm9wcykpfSw0NTczODA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7XzooKT0+T30pO3ZhciByPXQoNDgzMjI5KTtjb25zdCBvPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDMyNTU3KSx0LmUoNzMxMTIpLHQuZSgxNjAyNSksdC5lKDE4ODM4KSx0LmUoNTYzMzcpLHQuZSgxNjgzMCksdC5lKDMzNjE1KSx0LmUoODk4NjQpLHQuZSgyMDIyNCksdC5lKDk1OTgpLHQuZSg3NTQ4MiksdC5lKDExMTAyKSx0LmUoNjkzOTApLHQuZSg0MjEwNiksdC5lKDI3OTQwKSx0LmUoNTk4OSksdC5lKDE2OTcpXSkudGhlbih0LmJpbmQodCwyNTUxMTUpKSkpLGk9bmV3IHIuXzUobywoZT0+ZS5nZXRNYWlsQm9vdHN0cmFwT3B0aW9ucykpO3ZhciBhPXQoMTMxNTgxKSxzPXQoNDI4OTEwKTtjb25zdCB1PW5ldyByLkhkKCgoKT0+e3tjb25zdCBlPVByb21pc2UuYWxsKFt0LmUoMjU2NzEpLHQuZSgzOTE4KSx0LmUoNTI2MzcpLHQuZSgzMjU1NyksdC5lKDczMTEyKSx0LmUoMTYwMjUpLHQuZSgxODgzOCksdC5lKDU2MzM3KSx0LmUoMTY4MzApLHQuZSgzMzYxNSksdC5lKDg5ODY0KSx0LmUoMjAyMjQpLHQuZSg3NTQ4MiksdC5lKDExMTAyKSx0LmUoNjkzOTApLHQuZSg2MjYwMCksdC5lKDkxOTkyKSx0LmUoMjc5NDApLHQuZSg1OTg5KSx0LmUoMTczNTIpXSkudGhlbih0LmJpbmQodCw2NDQxOTMpKTtyZXR1cm4oMCxzLmE0KSgiY2FsUHJlSW1wb3J0UmliYm9uIikmJmEuZy5pbXBvcnRNb2R1bGUoIkNhbGVuZGFyUmliYm9uIiksZX19KSksYz1uZXcgci5fNSh1LChlPT5lLmdldENhbGVuZGFyQm9vdHN0cmFwT3B0aW9ucykpLGw9bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoNTI2MzcpLHQuZSgzMjU1NyksdC5lKDU5ODkpLHQuZSg2OTgwOSksdC5lKDQ4MTM5KSx0LmUoMzY5MTUpLHQuZSgyNzY3MCksdC5lKDkwOTQxKSx0LmUoODk5MzQpLHQuZSg4NTIxNyksdC5lKDEzNjY5KSx0LmUoMTMxOTgpLHQuZSgzMzEyNiksdC5lKDY1MzUwKSx0LmUoODkwNjQpLHQuZSgyNjI4MSksdC5lKDY4MTA1KSx0LmUoNTc5NzApLHQuZSg5MDM5NyldKS50aGVuKHQuYmluZCh0LDI5NzQ0MikpKSksSD1uZXcgci5fNShsLChlPT5lLmdldFBlb3BsZUJvb3RzdHJhcE9wdGlvbnMpKSxkPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg3MzExMiksdC5lKDE2MDI1KSx0LmUoMTg4MzgpLHQuZSg1NjMzNyksdC5lKDE2ODMwKSx0LmUoMzM2MTUpLHQuZSg4OTg2NCksdC5lKDIwMjI0KSx0LmUoNzU0ODIpLHQuZSgxMTEwMiksdC5lKDY5MzkwKSx0LmUoNjI2MDApLHQuZSgyNzk0MCksdC5lKDU5ODkpLHQuZSg5OTQ1OCksdC5lKDU2ODQxKSx0LmUoMjA3MzMpXSkudGhlbih0LmJpbmQodCw4MzgyNzYpKSkpLFM9bmV3IHIuXzUoZCwoZT0+ZS5nZXRGaWxlc0Jvb3RzdHJhcE9wdGlvbnMpKSxmPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDMyNTU3KSx0LmUoNzMxMTIpLHQuZSgxNjAyNSksdC5lKDE4ODM4KSx0LmUoMTY4MzApLHQuZSgzMzYxNSksdC5lKDg5ODY0KSx0LmUoMjAyMjQpLHQuZSg5NTk4KSx0LmUoNzU0ODIpLHQuZSgxMTEwMiksdC5lKDY5MzkwKSx0LmUoMjc5NDApLHQuZSg1OTg5KSx0LmUoMzY4NTYpLHQuZSg1Mjc3MiksdC5lKDk1ODc1KV0pLnRoZW4odC5iaW5kKHQsOTQwMzU3KSkpKSxwPW5ldyByLl81KGYsKGU9PmUuZ2V0TWFpbERlZXBMaW5rQm9vdHN0cmFwT3B0aW9ucykpLEM9bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoMzkxOCksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg3MzExMiksdC5lKDE2MDI1KSx0LmUoMTg4MzgpLHQuZSgxNjgzMCksdC5lKDMzNjE1KSx0LmUoODk4NjQpLHQuZSgyMDIyNCksdC5lKDc1NDgyKSx0LmUoMTExMDIpLHQuZSg2OTM5MCksdC5lKDI3OTQwKSx0LmUoNTk4OSksdC5lKDE5OTY0KSx0LmUoNjk4MDkpLHQuZSg5MDk0MSksdC5lKDM2ODEyKV0pLnRoZW4odC5iaW5kKHQsNzkyODY2KSkpKSxBPW5ldyByLl81KEMsKGU9PmUuZ2V0QXBwSG9zdEJvb3RzdHJhcE9wdGlvbnMpKSxJPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDI3OTQwKSx0LmUoNTY4NDEpLHQuZSg5MDg4NSksdC5lKDk0MDQ0KSx0LmUoOTA5NDEpLHQuZSg4OTkzNCksdC5lKDcxODgzKSx0LmUoNDUyNjgpLHQuZSgxMzY2OSksdC5lKDEzMTk4KSx0LmUoMzMxMjYpLHQuZSg2NTM1MCksdC5lKDY3NzMxKSx0LmUoODkwNjQpLHQuZSgyNjI4MSksdC5lKDYxMDAyKSx0LmUoMTQyNDApXSkudGhlbih0LmJpbmQodCwzOTYyMykpKSksaD1uZXcgci5fNShJLChlPT5lLmdldENhbGVuZGFyRGVlcExpbmtCb290c3RyYXBPcHRpb25zKSksUj1uZXcgci5IZCgoKCk9PlByb21pc2UuYWxsKFt0LmUoMjU2NzEpLHQuZSgzOTE4KSx0LmUoNTI2MzcpLHQuZSgzMjU1NyksdC5lKDczMTEyKSx0LmUoMTYwMjUpLHQuZSgxODgzOCksdC5lKDE2ODMwKSx0LmUoMzM2MTUpLHQuZSg4OTg2NCksdC5lKDIwMjI0KSx0LmUoNzU0ODIpLHQuZSgxMTEwMiksdC5lKDY5MzkwKSx0LmUoNjI2MDApLHQuZSg5MTk5MiksdC5lKDI3OTQwKSx0LmUoNTk4OSksdC5lKDE5OTY0KSx0LmUoNThlMyldKS50aGVuKHQuYmluZCh0LDg2NTcyNCkpKSksdj1uZXcgci5fNShSLChlPT5lLmdldEdyb3Vwc0Jvb3RzdHJhcE9wdGlvbnMpKSxVPW5ldyByLl81KG5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDI3OTQwKSx0LmUoNTY4NDEpLHQuZSg5MDg4NSksdC5lKDk0MDQ0KSx0LmUoOTA5NDEpLHQuZSg4OTkzNCksdC5lKDcxODgzKSx0LmUoNDUyNjgpLHQuZSgxMzY2OSksdC5lKDEzMTk4KSx0LmUoMzMxMjYpLHQuZSg2NTM1MCksdC5lKDY3NzMxKSx0LmUoODkwNjQpLHQuZSgyNjI4MSksdC5lKDM3NDUxKSx0LmUoMTcwMjkpXSkudGhlbih0LmJpbmQodCw3NjU1NTYpKSkpLChlPT5lLmdldEV2ZW50aWZ5Qm9vdHN0cmFwT3B0aW9ucykpLG09bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoMzkxOCksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg3MzExMiksdC5lKDE2MDI1KSx0LmUoMTg4MzgpLHQuZSgxNjgzMCksdC5lKDMzNjE1KSx0LmUoODk4NjQpLHQuZSgyMDIyNCksdC5lKDc1NDgyKSx0LmUoMTExMDIpLHQuZSg2OTM5MCksdC5lKDI3OTQwKSx0LmUoNTk4OSksdC5lKDU2ODQxKSx0LmUoOTA4ODUpLHQuZSg5NDA0NCksdC5lKDE4OTEwKV0pLnRoZW4odC5iaW5kKHQsNjU0MDEpKSkpLE49KG5ldyByLl81KG0sKGU9PmUuYm9vdHN0cmFwKSksbmV3IHIuXzUobSwoZT0+ZS5nZXRNaWNyb3NvZnRQbGFjZXNCb290c3RyYXBPcHRpb25zKSkpO3ZhciBLPXQoNTc2NDQpLGc9dCg0Mzk2NjQpLHk9dCgxNTk4NjcpLHc9dCg2OTY3OTEpLGI9dCgxMzIzMzcpO2NvbnN0IEU9KDAseS5qaikod2luZG93LCJib290c3RyYXBSaWJib25JbXBvcnQiKSxrPUU/dy5jOnZvaWQgMCxPPXtNYWlsOntvcHRpb25zOmksc3RyYXRlZ2llczp7bWFpbFJpYmJvblByb3ZpZGVyOkU/Sy5mOnZvaWQgMCxyaWJib25Qcm92aWRlcjprLC4uLmZ1bmN0aW9uKCl7bGV0IGUsbix0LHI7dHJ5e3I9KDAscy5hNCkoInByZWxvYWRtYWlsbGlzdGl0ZW0iKT8oMCx5LnJWKSh3aW5kb3csImJvb3RzdHJhcE1haWxMaXN0SXRlbVZpZXdNb2RlIik6bnVsbH1jYXRjaChlKXtyPW51bGx9cmV0dXJuIjNjb2wiPT09cj8oZT1iLkJZLG49Yi5CKToic2x2Ij09PXI/dD1iLlh5Oih0PWIuWHksZT1iLkJZLG49Yi5CKSx7bWFpbExpc3RJdGVtQ29uZGVuc2VkVGhyZWVDb2x1bW5Qcm92aWRlcjplLG1haWxMaXN0SXRlbUZ1bGxUaHJlZUNvbHVtblByb3ZpZGVyOm4sbWFpbExpc3RJdGVtU2luZ2xlTGluZVZpZXdQcm92aWRlcjp0fX0oKX19LENhbGVuZGFyOntvcHRpb25zOmMsc3RyYXRlZ2llczp7Y2FsZW5kYXJSaWJib25Qcm92aWRlcjpFP2EuQTp2b2lkIDAscmliYm9uUHJvdmlkZXI6a319LFBlb3BsZTp7b3B0aW9uczpIfSxGaWxlc0h1Yjp7b3B0aW9uczpTfSxNYWlsRGVlcExpbms6e29wdGlvbnM6cH0sQXBwSG9zdDp7b3B0aW9uczpBfSxDYWxlbmRhckRlZXBMaW5rOntvcHRpb25zOmh9LEdyb3Vwczp7b3B0aW9uczp2LHN0cmF0ZWdpZXM6e2dyb3Vwc1JpYmJvblByb3ZpZGVyOkU/Zy5YOnZvaWQgMCxyaWJib25Qcm92aWRlcjprfX0sRXZlbnRpZnk6e29wdGlvbnM6VX0sTWljcm9zb2Z0UGxhY2VzOntvcHRpb25zOk59fX0sMjA4ODI5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0g6KCk9Pm99KTt2YXIgcj10KDMyMTkyMSk7ZnVuY3Rpb24gbyhlLG4pe3N3aXRjaChlKXtjYXNlIHIuWS5DYWxlbmRhckRlZXBMaW5rOnJldHVybiBuP3thcHA6ImNhbGVuZGFyRGVlcE9weCIsZXhwZWN0ZWRYQXBwTmFtZUhlYWRlcjoiQ2FsZW5kYXJEZWVwT3B4In06dm9pZCAwO2Nhc2Ugci5ZLk1haWw6Y2FzZSByLlkuQ2FsZW5kYXI6Y2FzZSByLlkuRmlsZXNIdWI6cmV0dXJue2FwcDoibWFpbCIsZXhwZWN0ZWRYQXBwTmFtZUhlYWRlcjoiTWFpbCJ9fX19LDY5Njc5MTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtnOigpPT5vLGM6KCk9Pml9KTt2YXIgcj10KDQ4MzIyOSk7Y29uc3Qgbz1uZXcgci5IZCgoKCk9PlByb21pc2UuYWxsKFt0LmUoMjU2NzEpLHQuZSg1MjYzNyksdC5lKDMyNTU3KSx0LmUoNzMxMTIpLHQuZSgxNjAyNSksdC5lKDE4ODM4KSx0LmUoMjAyMjQpLHQuZSg3NTQ4MiksdC5lKDY5MzkwKSx0LmUoNjI2MDApLHQuZSgyNzk0MCksdC5lKDU5ODkpLHQuZSg5OTQ1OCksdC5lKDU2ODQxKSx0LmUoNjQ4MjYpLHQuZSg5MDg4NSksdC5lKDk0MDQ0KSx0LmUoNjk4MDkpLHQuZSg5NjkyMSksdC5lKDkwMDQxKV0pLnRoZW4odC5iaW5kKHQsNTI0MjgxKSkpKSxpPW5ldyByLkVGKG8sKGU9PmUuQXBwUmliYm9uKSl9LDU3NjQ0NzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtBYzooKT0+SCxOOigpPT5jLFpBOigpPT5sfSk7dmFyIHI9dCg0MDQ4MDEpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsci5TKSgiR2V0QnBvc1NoZWxsSW5mb05hdkJhckRhdGEiLHt9LGUpfWZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5TKSgiR2V0QnBvc1NoZWxsSW5mb05hdkJhckRhdGFGb3JCb29raW5ncyIse30sZSl9dmFyIGE9dCg5MjE2NjUpO2xldCBzLHU7ZnVuY3Rpb24gYyhlLG4sdCl7aWYoIXMpe3M9KCJCb29raW5ncyI9PT1uP2k6bykoe2F1dGhOZWVkZWRPblVuQXV0aG9yaXplZDohdH0pLnRoZW4oKG49PigoMCxhLnkpKCJnZXRCcG9zTmF2QmFyRGF0YUFzeW5jIix7b3dhXzE6ZSxvd2FfMjoiRmV0Y2ggc3VjY2VlZGVkIn0se3Jpbmc6IkRvZ2Zvb2QifSksdT1uKSkpLmNhdGNoKChuPT4ocz12b2lkIDAsKDAsYS55KSgiZ2V0QnBvc05hdkJhckRhdGFBc3luYyIse293YV8xOmUsb3dhXzI6IkZldGNoIGZhaWx1cmUiLG93YV8zOm4ubWVzc2FnZSsiIC0gIituLnN0YWNrfSx7cmluZzoiRG9nZm9vZCJ9KSx1PW51bGwpKSl9cmV0dXJuIHN9ZnVuY3Rpb24gbCgpe3JldHVybiBzfWZ1bmN0aW9uIEgoKXtyZXR1cm4gdX19LDEwMjkxNjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtBYzooKT0+ci5BYyxOOigpPT5yLk4sWkE6KCk9PnIuWkF9KTt2YXIgcj10KDU3NjQ0Nyl9LDQzOTY2NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtYOigpPT5pfSk7dmFyIHI9dCg0ODMyMjkpO2NvbnN0IG89bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoMzkxOCksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg3MzExMiksdC5lKDE2MDI1KSx0LmUoMTg4MzgpLHQuZSg1NjMzNyksdC5lKDE2ODMwKSx0LmUoMzM2MTUpLHQuZSg4OTg2NCksdC5lKDIwMjI0KSx0LmUoOTU5OCksdC5lKDc1NDgyKSx0LmUoMTExMDIpLHQuZSg2OTM5MCksdC5lKDQyMTA2KSx0LmUoNjI2MDApLHQuZSg5MTk5MiksdC5lKDI4NTQ0KV0pLnRoZW4odC5iaW5kKHQsNzgxMTM4KSkpKSxpPW5ldyByLkVGKG8sKGU9PmUuZ3JvdXBzQXBwUmliYm9uUHJvcHMpKX0sNTc2NDQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7ZjooKT0+aX0pO3ZhciByPXQoNDgzMjI5KTtjb25zdCBvPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDMyNTU3KSx0LmUoNzMxMTIpLHQuZSgxNjAyNSksdC5lKDE4ODM4KSx0LmUoNTYzMzcpLHQuZSgxNjgzMCksdC5lKDMzNjE1KSx0LmUoODk4NjQpLHQuZSgyMDIyNCksdC5lKDc1NDgyKSx0LmUoMTExMDIpLHQuZSg2OTM5MCksdC5lKDQyMTA2KSx0LmUoNjI2MDApLHQuZSgyNzk0MCksdC5lKDU5ODkpLHQuZSgxNjUwKV0pLnRoZW4odC5iaW5kKHQsMjUzNjA0KSkpKSxpPW5ldyByLkVGKG8sKGU9PmUubWFpbEFwcFJpYmJvblByb3BzKSl9LDEzMjMzNzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtZdDooKT0+byxqMzooKT0+aSxCWTooKT0+YSxCOigpPT5zLFh5OigpPT51fSk7dmFyIHI9dCg0ODMyMjkpO2NvbnN0IG89bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoNTI2MzcpLHQuZSgzMjU1NyksdC5lKDczMTEyKSx0LmUoMTYwMjUpLHQuZSgxODgzOCksdC5lKDE2ODMwKSx0LmUoMzM2MTUpLHQuZSg4OTg2NCksdC5lKDIwMjI0KSx0LmUoOTU5OCksdC5lKDc1NDgyKSx0LmUoMTExMDIpLHQuZSg2OTM5MCksdC5lKDI3OTQwKSx0LmUoNTk4OSksdC5lKDE5OTY0KSx0LmUoOTQwNDQpLHQuZSg2OTgwOSksdC5lKDU0NzUzKV0pLnRoZW4odC5iaW5kKHQsOTU5MTQwKSkpKSxpPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg3MzExMiksdC5lKDE2MDI1KSx0LmUoMTg4MzgpLHQuZSgxNjgzMCksdC5lKDMzNjE1KSx0LmUoODk4NjQpLHQuZSgyMDIyNCksdC5lKDk1OTgpLHQuZSg3NTQ4MiksdC5lKDExMTAyKSx0LmUoNjkzOTApLHQuZSgyNzk0MCksdC5lKDU5ODkpLHQuZSgxOTk2NCksdC5lKDk0MDQ0KSx0LmUoNjk4MDkpLHQuZSg5NzgwMCldKS50aGVuKHQuYmluZCh0LDI5MDQwMSkpKSksYT1uZXcgci5FRihpLChlPT5lLk1haWxMaXN0SXRlbUNvbmRlbnNlZFRocmVlQ29sdW1uKSkscz1uZXcgci5FRihpLChlPT5lLk1haWxMaXN0SXRlbUZ1bGxUaHJlZUNvbHVtbikpLHU9bmV3IHIuRUYobywoZT0+ZS5NYWlsTGlzdEl0ZW1TaW5nbGVMaW5lVmlldykpfSwzMjU3OTQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7STooKT0+aX0pO3ZhciByPXQoNDgzMjI5KTtjb25zdCBvPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSgyNjI4MSksdC5lKDMxNTM5KSx0LmUoOTQyNzkpXSkudGhlbih0LmJpbmQodCwyMzE1MzkpKSkpLGk9bmV3IHIuRUYobywoZT0+ZS53ZWJSZXNvbHZlcnMpKX0sODY2NTAxOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3M6KCk9PnIsaDooKT0+b30pO2xldCByPSExO2Z1bmN0aW9uIG8oKXtyPSEwfX0sMjE2MDg1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2dBOigpPT5TLExfOigpPT5kLFdwOigpPT5ILERNOigpPT5jLGNKOigpPT5sLEhHOigpPT5yLkh9KTt2YXIgcj10KDIwODIwMCksbz10KDQ4NjczMiksaT10KDkzNzU5KSxhPXQoNzI1MTg4KTtmdW5jdGlvbiBzKGUsbix0LHIsbyxhLHMpe2lmKG4mJih0PygwLGkuVHopKG4scik6byYmYT8oMCxpLlNiKShuLG8sYCR7cn1fJHthfWApOnUobi5ldmVudE5hbWUscix0KSksZSl7aWYodClyZXR1cm4gdm9pZCBlLmFkZFRvUHJlZGVmaW5lZFdhdGVyZmFsbChyKTtpZihvJiZhKXJldHVybiB2b2lkIGUuYWRkVG9DdXN0b21XYXRlcmZhbGwobyxgJHtyfV8ke2F9YCxzKTt1KGUuZXZlbnROYW1lLHIsdCl9fWZ1bmN0aW9uIHUoZSxuLHQpe2EuZzQud2FybihgQWRkVGltaW5nVG9XYXRlcmZhbGxGYWlsZWQgZHA6ICR7ZX0uIGNoZWNrcG9pbnQ6ICR7bn0uIGlzUHJlZGVmaW5lZDogJHt0fWApfWFzeW5jIGZ1bmN0aW9uIGMoZSxuPW51bGwsdCl7dmFyIHIsYTtpZighZXx8ITE9PT0obnVsbD09bj92b2lkIDA6bi5pc0VuYWJsZWQpKXJldHVybiB0KHt9KTtjb25zdCB1PW51bGw9PWU/dm9pZCAwOmUuaXNQZXJmb3JtYW5jZURhdGFwb2ludCxjPWUsbD11P2U6Yy5kYXRhcG9pbnQ7cyhsLG51bGwsdSwiRGF0YV9TIixudWxsPT0ocj1udWxsPT1jP3ZvaWQgMDpjLmluZGV4ZXMpP3ZvaWQgMDpyWzBdLG51bGw9PWM/dm9pZCAwOmMubmFtZSxudWxsPT1uP3ZvaWQgMDpuLmRpc2NhcmRJZkRlZmluZWQpO2NvbnN0IEg9KDAsaS5JWCkobCk7SC5zZXR0aW5ncz17Li4uSC5zZXR0aW5ncywuLi5ufSxILmRhdGFTb3VyY2U9bnVsbDtjb25zdCBkPXtwZXJmRGF0YXBvaW50Okh9LFM9YXdhaXQgdChkKTtyZXR1cm4gbnVsbCE9PUguZGF0YVNvdXJjZXx8SC5kaWRFeGVjdXRlR3FsUXVlcnl8fChILmRhdGFTb3VyY2U9by5EYXRhU291cmNlLk5PX1FVRVJZKSxzKGwsbnVsbCx1LCJEYXRhX0UiLG51bGw9PShhPW51bGw9PWM/dm9pZCAwOmMuaW5kZXhlcyk/dm9pZCAwOmFbMV0sbnVsbD09Yz92b2lkIDA6Yy5uYW1lLG51bGw9PW4/dm9pZCAwOm4uZGlzY2FyZElmRGVmaW5lZCksKDAsaS5CXykobCxIKSxTfWFzeW5jIGZ1bmN0aW9uIGwoZSxuLHQsLi4ucil7dmFyIGEsdSxjLGwsSCxkLFMsZjtjb25zdCBwPSEoIWUud2ViV29ya2VyRGF0YXBvaW50JiYhZS5jdXN0b21XZWJXb3JrZXJEYXRhcG9pbnQpPyEhKG51bGw9PShhPWUud2ViV29ya2VyRGF0YXBvaW50KT92b2lkIDA6YS5pc1BlcmZEYXRhcG9pbnRPYmplY3QpOiEhKG51bGw9PSh1PWUuZGF0YXBvaW50KT92b2lkIDA6dS5pc1BlcmZvcm1hbmNlRGF0YXBvaW50KSxDPWUuY3VzdG9tRGF0YXBvaW50fHxlLmN1c3RvbVdlYldvcmtlckRhdGFwb2ludCxBPWUuZGF0YXBvaW50fHwobnVsbD09KGM9ZS5jdXN0b21EYXRhcG9pbnQpP3ZvaWQgMDpjLmRhdGFwb2ludCksST1lLndlYldvcmtlckRhdGFwb2ludHx8KG51bGw9PShsPWUuY3VzdG9tV2ViV29ya2VyRGF0YXBvaW50KT92b2lkIDA6bC5kYXRhcG9pbnQpO3MoQXx8bnVsbCxJfHxudWxsLHAsIk5ldHdvcmtfUyIsbnVsbD09KEg9bnVsbD09Qz92b2lkIDA6Qy5pbmRleGVzKT92b2lkIDA6SFtvLldhdGVyZmFsbE1hcHBpbmdzLk5FVFdPUktfUkVRVUVTVF9TVEFSVElOR10sbnVsbD09Qz92b2lkIDA6Qy5uYW1lLG51bGw9PW4/dm9pZCAwOm4uZGlzY2FyZElmRGVmaW5lZCk7Y29uc3QgaD1hd2FpdCB0LmFwcGx5KG51bGwsciksUj1vLkRhdGFTb3VyY2UuTkVUV09SSztyZXR1cm4gZS5kYXRhcG9pbnQ/ZS5kYXRhcG9pbnQuYWRkRGF0YVNvdXJjZShSKTplLmN1c3RvbURhdGFwb2ludD9lLmN1c3RvbURhdGFwb2ludC5kYXRhcG9pbnQuYWRkVG9DdXN0b21XYXRlcmZhbGwobnVsbD09KGQ9ZS5jdXN0b21EYXRhcG9pbnQuaW5kZXhlcyk/dm9pZCAwOmRbby5XYXRlcmZhbGxNYXBwaW5ncy5EQVRBX1NPVVJDRV0sYERhdGFTb3VyY2VfJHtlLmN1c3RvbURhdGFwb2ludC5uYW1lfWAsbnVsbD09bj92b2lkIDA6bi5kaXNjYXJkSWZEZWZpbmVkLFIpOmUud2ViV29ya2VyRGF0YXBvaW50P2Uud2ViV29ya2VyRGF0YXBvaW50LmRhdGFTb3VyY2U9UjoobnVsbD09KFM9ZS5jdXN0b21XZWJXb3JrZXJEYXRhcG9pbnQpP3ZvaWQgMDpTLmRhdGFwb2ludCkmJigwLGkuU2IpKGUuY3VzdG9tV2ViV29ya2VyRGF0YXBvaW50LmRhdGFwb2ludCxlLmN1c3RvbVdlYldvcmtlckRhdGFwb2ludC5pbmRleGVzW28uV2F0ZXJmYWxsTWFwcGluZ3MuREFUQV9TT1VSQ0VdLCJEYXRhU291cmNlIixSKSxzKEF8fG51bGwsSXx8bnVsbCxwLCJOZXR3b3JrX0UiLG51bGw9PShmPW51bGw9PUM/dm9pZCAwOkMuaW5kZXhlcyk/dm9pZCAwOmZbby5XYXRlcmZhbGxNYXBwaW5ncy5ORVRXT1JLX1JFUVVFU1RfRU5ERURdLG51bGw9PUM/dm9pZCAwOkMubmFtZSxudWxsPT1uP3ZvaWQgMDpuLmRpc2NhcmRJZkRlZmluZWQpLGh9ZnVuY3Rpb24gSChlLG4pe2QoZSksUyhlLG4pfWZ1bmN0aW9uIGQoZSl7ZS5hZGRUb1ByZWRlZmluZWRXYXRlcmZhbGwoIlJlbmRlcl9TIiwhMCl9ZnVuY3Rpb24gUyhlLG4sdCl7KDAsci5IKSgocj0+e2UuYWRkVG9QcmVkZWZpbmVkV2F0ZXJmYWxsKCJSZW5kZXJfRSIsITApLG58fGUuaGFzRW5kZWR8fGUuZW5kKCksdCYmdChyKX0pKX19LDIwODIwMDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtIOigpPT5vfSk7dmFyIHI9dCgzOTE2OSk7ZnVuY3Rpb24gbyhlKXsoMCxyLkpZKSgobj0+e3NldFRpbWVvdXQoKCgpPT57ZShuKX0pKX0pKX19LDQzNDAzNjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtwbDooKT0+SCxyVDooKT0+ZCxaRDooKT0+aSxDWjooKT0+YS5DLFVfOigpPT5TfSk7dmFyIHI9dCg3MjUxODgpO2xldCBvO2Z1bmN0aW9uIGkoKXtyZXR1cm4gbnVsbD09byYmKG89InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZudWxsIT1zZWxmLnBlcmZvcm1hbmNlJiZudWxsIT1zZWxmLnBlcmZvcm1hbmNlLnRpbWluZyYmbnVsbCE9c2VsZi5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uJiZudWxsIT1zZWxmLnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUpLG99dmFyIGE9dCgxODk3OTcpO2NvbnN0IHM9W10sdT1bXSxjPVtdO2xldCBsPSEwO2Z1bmN0aW9uIEgoZSxuKXsoMCxyLlNVKSgoKGUsbix0LG8pPT57bCYmKG49PXIuR3UuRXJyb3ImJnUucHVzaCh7bWVzc2FnZTplLGVycm9yOm99KSxzLnB1c2goe21lc3NhZ2U6ZSxsZXZlbDpuLGNvbXBvbmVudDp0fSkpfSkpLGUoZiksbihmKSxpKCkmJihzZWxmLnBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZT9zZWxmLnBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSg1MDApOnNlbGYucGVyZm9ybWFuY2Uud2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplJiZzZWxmLnBlcmZvcm1hbmNlLndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSg1MDApKX1mdW5jdGlvbiBkKGUpe2NvbnN0IG49KDAsYS5EKShlKTtyZXR1cm57dHJhY2VzOnMsZXJyb3JzOnUsbmV0d29yazpjLHVzYWdlOm59fWZ1bmN0aW9uIFMoKXtsPSExfWZ1bmN0aW9uIGYoKXtsJiZjLnB1c2goYXJndW1lbnRzKX19LDE4OTc5NzooZSxuLHQpPT57InVzZSBzdHJpY3QiO2xldCByO3QuZChuLHtDOigpPT5pLEQ6KCk9PmF9KTtjb25zdCBvPVtdO2Z1bmN0aW9uIGkoZSxuLHQpe3I/cihlLG4sdCk6by5wdXNoKHtuYW1lOmUsY3VzdG9tRGF0YTpufSl9ZnVuY3Rpb24gYShlKXtyZXR1cm4gcj1lLG99fSw0ODY3MzI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiJDb21tYW5kQmFyIj09PWV8fCJTaW1wbGlmaWVkUmliYm9uIj09PWV8fCJNdWx0aUxpbmVSaWJib24iPT09ZXx8IkNvbW1hbmRCYXJSaWJib24iPT09ZX10LmQobix7RGF0YVNvdXJjZTooKT0+aSxEYXRhcG9pbnRTdGF0dXM6KCk9Pm8sR1FMQ2hlY2twb2ludHM6KCk9PnMsV2F0ZXJmYWxsTWFwcGluZ3M6KCk9PmEsaXNDb21tYW5kaW5nVmlld0FjdGlvblNvdXJjZTooKT0+cn0pO3ZhciBvPShlPT4oZS5TdWNjZXNzPSJTdWNjZXNzIixlLlNlcnZlckVycm9yPSJTZXJ2ZXJFcnJvciIsZS5Vc2VyRXJyb3I9IlVzZXJFcnJvciIsZS5TZXJ2ZXJFeHBlY3RlZEVycm9yPSJTZXJ2ZXJFeHBlY3RlZEVycm9yIixlLkNsaWVudEVycm9yPSJDbGllbnRFcnJvciIsZS5SZXF1ZXN0Tm90Q29tcGxldGU9IlJlcXVlc3ROb3RDb21wbGV0ZSIsZS5UaW1lb3V0PSJUaW1lb3V0IixlLkJhY2tncm91bmRTdWNjZXNzPSJCYWNrZ3JvdW5kU3VjY2VzcyIsZSkpKG98fHt9KSxpPShlPT4oZS5ORVRXT1JLPSJORVRXT1JLIixlLk5FVFdPUktfR1FMPSJORVRXT1JLX0dRTCIsZS5ORVRXT1JLX0dBVEVXQVk9Ik5FVFdPUktfR0FURVdBWSIsZS5TRVJWSUNFX1dPUktFUj0iU0VSVklDRV9XT1JLRVIiLGUuSU5ERVhEQj0iSU5ERVhEQiIsZS5JTl9NRU1PUlk9IklOX01FTU9SWSIsZS5OT19RVUVSWT0iTk9fUVVFUlkiLGUpKShpfHx7fSksYT0oZT0+KGVbZS5ORVRXT1JLX1JFUVVFU1RfU1RBUlRJTkc9MF09Ik5FVFdPUktfUkVRVUVTVF9TVEFSVElORyIsZVtlLk5FVFdPUktfUkVRVUVTVF9FTkRFRD0xXT0iTkVUV09SS19SRVFVRVNUX0VOREVEIixlW2UuREFUQV9TT1VSQ0U9Ml09IkRBVEFfU09VUkNFIixlW2UuREFUQV9MT0FESU5HPTBdPSJEQVRBX0xPQURJTkciLGVbZS5EQVRBX0xPQURFRD0xXT0iREFUQV9MT0FERUQiLGVbZS5HUUxfQlJJREdFX1FVRVJZPTJdPSJHUUxfQlJJREdFX1FVRVJZIixlW2UuR1FMX0JSSURHRV9SRVNVTFQ9M109IkdRTF9CUklER0VfUkVTVUxUIixlW2UuR1FMX0JSSURHRV9FUlJPUj00XT0iR1FMX0JSSURHRV9FUlJPUiIsZVtlLkNPREVfTE9BRElORz0wXT0iQ09ERV9MT0FESU5HIixlW2UuQ09ERV9MT0FERUQ9MV09IkNPREVfTE9BREVEIixlKSkoYXx8e30pLHM9KGU9PihlLklEQl9RVUVSWV9NQVJLPSJJTkRFWERCX1FVRVJZIixlLklEQl9SRVNVTFRfTUFSSz0iSU5ERVhEQl9SRVNVTFQiLGUuSURCX0ZBTExCQUNLX01BUks9IklOREVYREJfRkFMTEJBQ0siLGUpKShzfHx7fSl9LDkzNzU5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2h6OigpPT5vLGtFOigpPT5kLEJfOigpPT5mLG9POigpPT5oLFNiOigpPT5zLGNzOigpPT5pLFR6OigpPT5hLElYOigpPT5TLGRaOigpPT5JLHV0OigpPT5SLGskOigpPT52LElwOigpPT51LEVNOigpPT5jLEJFOigpPT5ILGZDOigpPT5sfSk7dmFyIHI9dCg3MjUxODgpO2Z1bmN0aW9uIG8oZSxuLHQpeyhudWxsPT1lP3ZvaWQgMDplLmlzUGVyZkRhdGFwb2ludE9iamVjdCk/KGUuY3VzdG9tRGF0YXx8KGUuY3VzdG9tRGF0YT17fSksZS5jdXN0b21EYXRhW25dPXQpOmUmJnIuZzQud2FybihgSW52YWxpZFBlcmZEYXRhcG9pbnRPYmpQYXNzZWRUb0FkZEN1c3RvbURhdGE6IEtleTogJHtufS4gVmFsdWU6ICR7dH1gKX1mdW5jdGlvbiBpKGUsbix0KXsobnVsbD09ZT92b2lkIDA6ZS5pc1BlcmZEYXRhcG9pbnRPYmplY3QpJiYoZS53YXRlcmZhbGx8fChlLndhdGVyZmFsbD17fSksdD9zKGUsdCxuKTphKGUsbikpfWZ1bmN0aW9uIGEoZSxuKXtjb25zdCB0PUgoZSk7ZS53YXRlcmZhbGxbbChuKV09dC50b0ZpeGVkKCl9ZnVuY3Rpb24gcyhlLG4sdCxvKXtpZihlKXtjb25zdCByPUgoZSksaT1jKHQsdm9pZCAwPT09bz9yOm8pLGE9dShuKTtlLndhdGVyZmFsbFtsKGEpXT1pfWVsc2Ugci5nNC53YXJuKGBObyAncGVyZkRhdGFwb2ludE9iaicgd2FzIHBhc3NlZCB0byAnYWRkVG9DdXN0b21XYXRlcmZhbGwnIGZvciBjaGVja3BvaW50OiAke3R9YCl9ZnVuY3Rpb24gdShlKXtyZXR1cm5gQ3VzdG9tJHtlfWB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybmAke2V9fCR7Im51bWJlciI9PXR5cGVvZiBuP01hdGgucm91bmQobik6bn1gfWZ1bmN0aW9uIGwoZSl7cmV0dXJuYFdGXyR7ZX1gfWZ1bmN0aW9uIEgoZSl7cmV0dXJuIGU/RGF0ZS5ub3coKS1lLnN0YXJ0VGltZTowfWZ1bmN0aW9uIGQoZSxuLHQpe28oZSxgJHtufV8ke3R9YCxIKGUpKX1mdW5jdGlvbiBTKGUpe2NvbnN0IG49ZS5ldmVudE5hbWUsdD1lLmdldFN0YXJ0VGltZSgpO24mJnR8fCgwLHIuaFopKGBDYW4ndCBjb252ZXJ0IGRhdGFwb2ludCBuYW1lZCAke259IHRoYXQgaXMgbWlzc2luZyBhICJldmVudE5hbWUiIG9yICJzdGFydFRpbWUiLmApO3JldHVybntldmVudE5hbWU6bixzdGFydFRpbWU6dCxkYXRhU291cmNlOmUuZ2V0RGF0YVNvdXJjZSgpLHdhdGVyZmFsbDpwKGUucHJvcGVydGllcyksY3VzdG9tRGF0YTp7fSxzZXR0aW5nczp7ZGlzYWJsZUdRTFRpbWluZ3M6ITF9LGlzUGVyZkRhdGFwb2ludE9iamVjdDohMH19ZnVuY3Rpb24gZihlLG4sdCl7dmFyIG87aWYobi5kYXRhU291cmNlJiZlLmFkZERhdGFTb3VyY2Uobi5kYXRhU291cmNlKSxuLndhdGVyZmFsbClmb3IobGV0W2ksYV1vZiBPYmplY3QuZW50cmllcyhuLndhdGVyZmFsbCkpaWYoYSl7aWYoIShudWxsPT0obz1uLnNldHRpbmdzKT92b2lkIDA6by5kaXNjYXJkSWZEZWZpbmVkKSYmZS5nZXREYXRhKGkpJiYoMCxyLmhaKShgVGhlIFdhdGVyZmFsbCBjb2x1bW4gYWxyZWFkeSBleGlzdC4gQ29sdW1uOiAke2l9LiBEUDogJHtlLmV2ZW50TmFtZX1gKSx0KXtjb25zdCB0PWUuZ2V0U3RhcnRUaW1lKCkscj1uLnN0YXJ0VGltZTtpZih0JiZyKXtjb25zdFtlLG5dPWEuc3BsaXQoInwiKTthPWAke2V9fCR7ci10K051bWJlcihuKX1gfX1lLnByb3BlcnRpZXNbaV09YX1pZihuLmN1c3RvbURhdGEpZm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMobi5jdXN0b21EYXRhKSllLmFkZEN1c3RvbVByb3BlcnR5KHQsbi5jdXN0b21EYXRhW3RdKTtlLmRpZEV4ZWN1dGVHcWxRdWVyeT1lLmRpZEV4ZWN1dGVHcWxRdWVyeXx8bi5kaWRFeGVjdXRlR3FsUXVlcnl9ZnVuY3Rpb24gcChlKXtjb25zdCBuPSJXRl9Db2RlX1MiLHQ9IldGX0NvZGVfRSIscj0iV0ZfTmV0d29ya19TIixvPSJXRl9OZXR3b3JrX0UiLGk9e1tuXTplW25dLFt0XTplW3RdLFtyXTplW3JdLFtvXTplW29dfTtmb3IobGV0IG49MTtuPD0xMDtuKyspe2NvbnN0IHQ9YFdGX0N1c3RvbSR7bn1gO2lbdF09ZVt0XX1yZXR1cm4gaX12YXIgQz10KDg0MDI0NCksQT10KDc5NDUzMik7ZnVuY3Rpb24gSShlLG4pe3JldHVybntldmVudE5hbWU6ZSxvcHRpb25zOm4sc3RhcnRUaW1lOkRhdGUubm93KCksZGF0YVNvdXJjZTpudWxsLHdhdGVyZmFsbDp7fSxjdXN0b21EYXRhOnt9LHNldHRpbmdzOnt9LGlzUGVyZkRhdGFwb2ludE9iamVjdDohMH19ZnVuY3Rpb24gaChlLG4pe2UmJihlLm1haW5UaHJlYWRMb2dnaW5nRnVuY3Rpb249bil9ZnVuY3Rpb24gUihlLG4sdCxvLGkpe3ZhciBhOyhudWxsPT1lP3ZvaWQgMDplLmlzUGVyZkRhdGFwb2ludE9iamVjdCk/KGUuaGFzRW5kZWQ9ITAsKG51bGw9PWU/dm9pZCAwOmUuZW5kQXJndW1lbnRzKXx8KGUuZW5kQXJndW1lbnRzPXt9KSwobnVsbD09ZT92b2lkIDA6ZS5lbmRBcmd1bWVudHMuZHVyYXRpb24pfHwobj1EYXRlLm5vdygpLWUuc3RhcnRUaW1lKSxlLmVuZEFyZ3VtZW50cz17Li4uZS5lbmRBcmd1bWVudHMsZHVyYXRpb246bixvdmVycmlkZVN0YXR1czp0LGVycm9ySW46byxlcnJvclR5cGVJbjppfSwoMCxDLlNuKSgpP2Z1bmN0aW9uKGUpe2lmKCJwb3N0TWVzc2FnZSJpbiBzZWxmKXtjb25zdCBuPXtsb2dQZXJmb3JtYW5jZURhdGFwb2ludDplfTtzZWxmLnBvc3RNZXNzYWdlKG4pfWVsc2Ugci5nNC53YXJuKCJDYW4ndCBzZW5kIGxvZ1BlcmZvcm1hbmNlRGF0YXBvaW50IGV2ZW50IGZyb20gdGhpcyBXZWIgV29ya2VyLiBEb2VzIGlzIHRoZSB3ZWIgd29ya2VyIGluc3RhbmNlIHdyYXBwZWQgd2l0aCBgYW5hbHl0aWNzTGlzdGVuZXJgPyIpfShlKTplLm1haW5UaHJlYWRMb2dnaW5nRnVuY3Rpb24/ZS5tYWluVGhyZWFkTG9nZ2luZ0Z1bmN0aW9uKGUpOnIuZzQud2FybihgTm9NYWluVGhyZWFkTG9nZ2luZ0Z1bmN0aW9uUHJvdmlkZWQuIFlvdSBjYW4ndCBlbmQgYSBXZWJXb3JrZXJQZXJmRGF0YXBvaW50IG9uIHRoZSBtYWluIHRocmVhZCB3aXRob3V0IHNwZWNpZml5aW5nIGEgbG9nZ2luZyBmdW5jdGlvbi4gRXZlbnQ6ICR7ZS5ldmVudE5hbWV9YCkpOigwLHIucngpKGBXZWJXb3JrZXJQZXJmRGF0YXBvaW50QWxyZWFkeUVuZGVkIChkcDogJHtudWxsPT1lP3ZvaWQgMDplLmV2ZW50TmFtZX0sIGVuZFdpdGhFcnJvcjogJHtudWxsPT0oYT1udWxsPT1lP3ZvaWQgMDplLmVuZEFyZ3VtZW50cyk/dm9pZCAwOmEuZW5kV2l0aEVycm9yfSlgKX1mdW5jdGlvbiB2KGUsbix0LHIsbyl7ZS5lbmRBcmd1bWVudHN8fChlLmVuZEFyZ3VtZW50cz17fSksZS5lbmRBcmd1bWVudHMuZW5kV2l0aEVycm9yPSEwLFIoZSxvLG4sdCYmZnVuY3Rpb24oZSl7Y29uc3Qgbj17bmFtZTplLm5hbWUsbWVzc2FnZTplLm1lc3NhZ2UsZmlsZW5hbWU6ZS5maWxlbmFtZSxsaW5lbm86ZS5saW5lbm8sY29sbm86ZS5jb2xubyxkaWFnbm9zdGljSW5mbzplLmRpYWdub3N0aWNJbmZvLG5ldHdvcmtFcnJvcjplLm5ldHdvcmtFcnJvcixjb21wb25lbnQ6ZS5jb21wb25lbnQsc2NyaXB0RXZhbDplLnNjcmlwdEV2YWwsaHR0cFN0YXR1czplLmh0dHBTdGF0dXMsZXh0ZXJuYWw6ZS5leHRlcm5hbCxmZXRjaEVycm9yVHlwZTplLmZldGNoRXJyb3JUeXBlLHJldHJpYWJsZTplLnJldHJpYWJsZSxyZXBvcnRlZDplLnJlcG9ydGVkLHJlc3BvbnNlQ29kZTplLnJlc3BvbnNlQ29kZSxjb3JyZWxhdGlvblZlY3RvcjplLmNvcnJlbGF0aW9uVmVjdG9yLGNvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbklkLGhlYWRlcnM6ZS5oZWFkZXJzLGFkZFF1ZXVlOmUuYWRkUXVldWUsZXh0ZW5zaW9uczplLmV4dGVuc2lvbnMsbWFpbGJveDplLm1haWxib3h9O3JldHVybigwLEEuSCkobil9KHQpLHIpfX0sOTIxNjY1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3k6KCk9PmF9KTt2YXIgcj10KDM5MjU5Niksbz10KDkwNzYwMiksaT10KDg2NjUwMSk7ZnVuY3Rpb24gYShlLG4sdCl7cmV0dXJuKDAsby5TKSgpJiYhaS5zP25ldyBQcm9taXNlKChvPT57ci5XbS5pbXBvcnRBbmRFeGVjdXRlKGUsbix0KSxvKCl9KSk6ci5WaS5pbXBvcnRBbmRFeGVjdXRlKGUsbix0KX19LDM5MjU5NjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtTcTooKT0+aSxZdDooKT0+YSxfRjooKT0+cyxMeTooKT0+dSxSbTooKT0+YyxJbzooKT0+bCxwczooKT0+SCxSJDooKT0+ZCxGSDooKT0+UyxWaTooKT0+ZixIZjooKT0+cCxXbTooKT0+QyxpNzooKT0+QSxBVTooKT0+SSxPSzooKT0+aH0pO3ZhciByPXQoNDgzMjI5KTtjb25zdCBvPW5ldyByLm5JKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDE5OTY0KSx0LmUoNTM1MTUpLHQuZSgyNzg4NSksdC5lKDIzNjM3KSx0LmUoNDcwMzEpLHQuZSgyMzcwNyksdC5lKDg4NTE3KSx0LmUoMjYyODEpLHQuZSg0MzQxMSksdC5lKDUwODYwKV0pLnRoZW4odC5iaW5kKHQsMTk2NDgyKSkpLHttYXhGYWlsZWRSZXRyaWVzOjEwMH0pLGk9bmV3IHIuXzUobywoZT0+ZS5pbml0aWFsaXplQW5hbHl0aWNzKSksYT1uZXcgci5fNShvLChlPT5lLm9uZURTRmx1c2gpKSxzPW5ldyByLl81KG8sKGU9PmUuYWRkQ2FwYWJpbGl0eSkpLHU9bmV3IHIuXzUobywoZT0+ZS5sb2dEYXRhcG9pbnQpKSxjPW5ldyByLl81KG8sKGU9PmUubG9nUGVyZm9ybWFuY2VEYXRhcG9pbnQpKSxsPW5ldyByLl81KG8sKGU9PmUubG9nV2ViV29ya2VyUGVyZkRhdGFwb2ludE9uTWFpblRocmVhZCkpLEg9bmV3IHIuXzUobywoZT0+ZS5nZXRSZXNvdXJjZVRpbWluZ0ZvclVybCkpLGQ9bmV3IHIuXzUobywoZT0+ZS5sb2dBZGRpbnNDdXN0b21lckNvbnRlbnQpKSxTPW5ldyByLl81KG8sKGU9PmUubG9nQWRkaW5zVGVsZW1ldHJ5RXZlbnQpKSxmPW5ldyByLl81KG8sKGU9PmUubG9nVXNhZ2UpKSxwPW5ldyByLl81KG8sKGU9PmUudHJhY2tOZXR3b3JrUmVzcG9uc2UpKSxDPW5ldyByLl81KG8sKGU9PmUud29ya2VyTG9nVXNhZ2UpKSxBPW5ldyByLl81KG8sKGU9PmUud29ya2VyTG9nRGF0YXBvaW50KSksST1uZXcgci5fNShvLChlPT5lLmFuYWx5dGljc0xpc3RlbmVyKSksaD1uZXcgci5fNShvLChlPT5lLnJlZ2lzdGVyT3dzQ2FsbGJhY2tzKSl9LDQ4MzIyOTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtfNTooKT0+QSxIZDooKT0+RSxFRjooKT0+UyxuSTooKT0+SyxqUDooKT0+cCwkZTooKT0+YixxOTooKT0+eSx2NjooKT0+dSxfWDooKT0+QywkSjooKT0+YyxfYjooKT0+Tn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5yZXN1bHQ9ZX10aGVuKGUsbil7dHJ5e2NvbnN0IG49ZSh0aGlzLnJlc3VsdCk7cmV0dXJuKG51bGw9PSh0PW4pP3ZvaWQgMDp0LnRoZW4pJiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuP246UHJvbWlzZS5yZXNvbHZlKG4pfWNhdGNoKGUpe3JldHVybiBQcm9taXNlLnJlamVjdChlKX12YXIgdH1jYXRjaChlKXtyZXR1cm4gdGhpc310b1N0cmluZygpe3JldHVybiJRUCJ9fWxldCBvPTA7Y29uc3QgaT17fTtsZXQgYT17bWFya0ltcG9ydEFzTG9hZGVkOmU9PntpW2VdPSEwfSxpc0ltcG9ydExvYWRlZDplPT5pW2VdLGxvZ1VzYWdlOigpPT57fSxsb2dFcnJvcjooKT0+e30sdHJhY2U6KCk9Pnt9fTtmdW5jdGlvbiBzKCl7cmV0dXJuIGF9ZnVuY3Rpb24gdShlKXthPWV9ZnVuY3Rpb24gYygpe2EuZ292ZXJuPXZvaWQgMH12YXIgbD10KDk4NDYxMiksSD10KDQ4NjczMik7Y29uc3QgZD0vZnVuY3Rpb25ccypcKC4qXClccyp7XHMqcmV0dXJuIFteLl0qKFteO10qLiopfS87Y2xhc3MgU3tjb25zdHJ1Y3RvcihlLG4sdCl7dGhpcy5sYXp5TW9kdWxlPWUsdGhpcy5nZXR0ZXI9bix0aGlzLnNob3VsZEdvdmVybj10LHRoaXMucGVuZGluZ0ltcG9ydHM9MCx0aGlzLmltcG9ydD0oZSxuKT0+e2lmKCF0aGlzLmltcG9ydFByb21pc2Upe2NvbnN0IHQ9cygpO2xldCBvO3RyeXtpZihudWxsPT1uP3ZvaWQgMDpuLmV2ZW50TmFtZSluLmFkZFRvUHJlZGVmaW5lZFdhdGVyZmFsbCgiQ29kZV9TIiwhMCk7ZWxzZSBpZihuKXtjb25zdCBlPW47ZS5kYXRhcG9pbnQuYWRkVG9DdXN0b21XYXRlcmZhbGwoZS5pbmRleGVzW0guV2F0ZXJmYWxsTWFwcGluZ3MuQ09ERV9MT0FESU5HXSxgQ29kZV9TXyR7ZS5uYW1lfWAsITApfW89dGhpcy5sYXp5TW9kdWxlLmltcG9ydE1vZHVsZSh0aGlzLnNob3VsZEdvdmVybj8iTGF6eUdvdmVybkltcG9ydCI6IkxhenlJbXBvcnQiLGV8fCJMYXp5SW1wb3J0Iix0aGlzLmdldE5hbWUoKSksdGhpcy5pbXBvcnRQcm9taXNlPW8udGhlbigoZT0+e3ZhciBvO2lmKHRoaXMuaW1wb3J0VmFsdWU9dGhpcy5nZXR0ZXIoZSksdGhpcy5pbXBvcnRQcm9taXNlPShvPXRoaXMuaW1wb3J0VmFsdWUsbmV3IHIobykpLCgwLGwuc2opKCkmJnRoaXMubGF6eU1vZHVsZS5hZGRXYXRlcmZhbGxDaGVja3BvaW50KHRoaXMuZ2V0TmFtZSgpKSx0Lm1hcmtJbXBvcnRBc0xvYWRlZCh0aGlzLmlkKSxudWxsPT1uP3ZvaWQgMDpuLmV2ZW50TmFtZSluLmFkZFRvUHJlZGVmaW5lZFdhdGVyZmFsbCgiQ29kZV9FIiwhMCk7ZWxzZSBpZihuKXtjb25zdCBlPW47ZS5kYXRhcG9pbnQuYWRkVG9DdXN0b21XYXRlcmZhbGwoZS5pbmRleGVzW0guV2F0ZXJmYWxsTWFwcGluZ3MuQ09ERV9MT0FERURdLGBDb2RlX0VfJHtlLm5hbWV9YCwhMCl9cmV0dXJuIHRoaXMucGVuZGluZ0ltcG9ydHM9MCx0aGlzLmltcG9ydFZhbHVlfSkpLmNhdGNoKChlPT57dGhyb3cgdGhpcy5pbXBvcnRQcm9taXNlPXZvaWQgMCx0LmxvZ1VzYWdlKCJMYXp5SW1wb3J0RmFpbHVyZSIse21lc3NhZ2U6ZS5tZXNzYWdlLHBlbmRpbmdJbXBvcnRzOnRoaXMucGVuZGluZ0ltcG9ydHN9KSx0aGlzLnBlbmRpbmdJbXBvcnRzPTAsZX0pKX1jYXRjaChlKXt0aGlzLmltcG9ydFByb21pc2U9UHJvbWlzZS5yZWplY3QoZSl9fXJldHVybiB0aGlzLnBlbmRpbmdJbXBvcnRzKyssdGhpcy5pbXBvcnRQcm9taXNlfSx0aGlzLmlkPShvKyspLnRvU3RyaW5nKCl9ZGFuZ2Vyb3VzbHlJbXBvcnRTeW5jKCl7aWYoIXRoaXMuaXNMb2FkZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkltcG9ydCBpcyBub3QgYXZhaWxhYmxlIHlldC4iKTtyZXR1cm4gdGhpcy5pbXBvcnRWYWx1ZX10cnlJbXBvcnRGb3JSZW5kZXIoKXtpZihzKCkuaXNJbXBvcnRMb2FkZWQodGhpcy5pZCkpcmV0dXJuIHRoaXMuaW1wb3J0VmFsdWU7dGhpcy5pbXBvcnQoKX1pc0xvYWRlZCgpe3JldHVybiBzKCkuaXNJbXBvcnRMb2FkZWQodGhpcy5pZCl9Z2V0TmFtZSgpe2NvbnN0IGU9dGhpcy5nZXR0ZXIudG9TdHJpbmcoKTt0cnl7Y29uc3Qgbj1lLm1hdGNoKGQpO3JldHVybiBuJiZuLmxlbmd0aD4xP25bMV06ZX1jYXRjaChuKXtyZXR1cm4gZX19fWxldCBmO2Z1bmN0aW9uIHAoKXtjb25zdCBlPWY7cmV0dXJuIGY9bnVsbCxlfWZ1bmN0aW9uIEMoZSl7Zj1lfWNsYXNzIEEgZXh0ZW5kcyBTe2NvbnN0cnVjdG9yKGUsbix0KXtzdXBlcihlLG4pO2NvbnN0IHI9dGhpczt0aGlzLmltcG9ydEFuZEV4ZWN1dGU9ZnVuY3Rpb24oLi4uZSl7Y29uc3Qgbj0obnVsbD09dD92b2lkIDA6dC5jYXB0dXJlQnVuZGxlVGltZSk/RGF0ZS5ub3coKTpudWxsO3JldHVybiByLmltcG9ydCgiTGF6eUFjdGlvbiIsci5wZXJmRGF0YXBvaW50KS50aGVuKCh0PT57QyhuKTtjb25zdCByPXQuYXBwbHkobnVsbCxlKTtyZXR1cm4gQyhudWxsKSxyfSkpfSx0aGlzLmFkZFBlcmZEYXRhcG9pbnQ9ZT0+e3IucGVyZkRhdGFwb2ludD1lfX19dmFyIEk9dCg4NDAyNDQpLGg9dCg1NTk5MjUpO2Z1bmN0aW9uIFIoZSl7cmV0dXJuIHQucD1lLGV9bGV0IHY9W10sVT0hMTtmdW5jdGlvbiBtKGUsbil7Y29uc3R7Z292ZXJuOnR9PXMoKSxyPSgpPT50JiZuP3QoZSk6ZSgpO1U/cigpOnYucHVzaChyKX1mdW5jdGlvbiBOKCl7VT0hMDtmb3IodmFyIGU9MDtlPHYubGVuZ3RoO2UrKyl2W2VdKCk7dj1bXX1jbGFzcyBLe2NvbnN0cnVjdG9yKGUsbil7dGhpcy5pbXBvcnRDYWxsYmFjaz1lLHRoaXMub3B0aW9ucz1uLHRoaXMuaXNMb2FkZWQ9ITEsdGhpcy5hdHRlbXB0cz0wLHRoaXMuZmFpbGVkUmV0cmllcz0wLHRoaXMucGVuZGluZ0ltcG9ydHM9MCx0aGlzLmltcG9ydFdhdGVyZmFsbERhdGE9e319aW1wb3J0TW9kdWxlKGUsbix0KXtpZighdGhpcy5wcm9taXNlKXtjb25zdCByPW4/YGJlY3Vhc2Ugb2YgJHtufSAke3R9YDpgZGlyZWN0bHkgd2l0aCBzb3VyY2UgJHtlfWA7cygpLnRyYWNlKCJEb3dubG9hZGluZyBMYXp5TW9kdWxlICIrciksdGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKCgobix0KT0+e3ZhciByOygobnVsbD09KHI9dGhpcy5vcHRpb25zKT92b2lkIDA6ci5ydW5XaGVuKXx8bSkoKGFzeW5jKCk9Pnt2YXIgcjtjb25zdCBvPSEobnVsbD09KHI9dGhpcy5vcHRpb25zKT92b2lkIDA6ci5tYXhGYWlsZWRSZXRyaWVzKXx8dGhpcy5mYWlsZWRSZXRyaWVzPHRoaXMub3B0aW9ucy5tYXhGYWlsZWRSZXRyaWVzO2Zvcih0aGlzLmF0dGVtcHRzPTA7IXRoaXMuaXNMb2FkZWQmJnRoaXMuYXR0ZW1wdHM8NSYmbzspdHJ5e2F3YWl0IHRoaXMubG9hZE1vZHVsZShuLGUpfWNhdGNoKGUpe2F3YWl0IHRoaXMub25Mb2FkRmFpbGVkKGUsdCl9fSksIkxhenlJbXBvcnQiIT1lKX0pKX1yZXR1cm4gdGhpcy5pc0xvYWRlZHx8dGhpcy5wZW5kaW5nSW1wb3J0cysrLHRoaXMucHJvbWlzZX1nZXRJc0xvYWRlZCgpe3JldHVybiB0aGlzLmlzTG9hZGVkfWdldFVybChlKXtyZXR1cm4gNS1lPD0xPygwLEkuT0UpKCk6KDAsSS5ScykoKX1hc3luYyBsb2FkTW9kdWxlKGUsbil7dmFyIHQ7Y29uc3Qgcj1zZWxmLnBlcmZvcm1hbmNlLm5vdygpLG89dGhpcy5nZXRVcmwodGhpcy5hdHRlbXB0cysrKTtSKG8pO2NvbnN0IGk9dGhpcy5pbXBvcnRDYWxsYmFjaygpO1IoKDAsSS5ScykoKSk7Y29uc3QgYT1hd2FpdCBpLHU9ciYmc2VsZi5wZXJmb3JtYW5jZS5ub3coKS1yO2lmKHUmJncucHVzaCh7c3RhcnQ6cixkdXJhdGlvbjp1LGF0dGVtcHM6dGhpcy5hdHRlbXB0c30pLG51bGw9PSh0PXRoaXMub3B0aW9ucyk/dm9pZCAwOnQuaW5pdGlhbGl6ZXIpe3RoaXMub3B0aW9ucy5pbml0aWFsaXplcihhKSgpfWUoYSksKDAsbC5zaikoKSYmKHRoaXMuYWRkV2F0ZXJmYWxsQ2hlY2twb2ludCgibW9kdWxlIiksc2V0VGltZW91dCgoKCk9PntzKCkubG9nVXNhZ2UoIkxhenlNb2R1bGVJbXBvcnRzIix7ZW50cnlNb2R1bGVJZDp0aGlzLl9fZ2V0RW50cnlNb2R1bGVJZEZvckxvZ2dpbmcoKSwuLi50aGlzLmltcG9ydFdhdGVyZmFsbERhdGF9KSx0aGlzLmltcG9ydFdhdGVyZmFsbERhdGE9bnVsbH0pLDFlNCksIm9iamVjdCI9PXR5cGVvZiBhJiYiTGF6eUltcG9ydCIhPW4mJmcucHVzaChuKSksdGhpcy5pc0xvYWRlZD0hMCx0aGlzLnBlbmRpbmdJbXBvcnRzPTAsdGhpcy5hdHRlbXB0cz4xJiZzKCkubG9nVXNhZ2UoIkxhenlMb2FkU3VjY2Vzc0FmdGVyUmV0cnkiLHthdHRlbXB0czp0aGlzLmF0dGVtcHRzLnRvU3RyaW5nKCksdXJsOm99KX1hc3luYyBvbkxvYWRGYWlsZWQoZSxuKXtpZih0aGlzLmZhaWxlZFJldHJpZXMrKyxmdW5jdGlvbihlKXtyZXR1cm4hIWUucmVxdWVzdHx8KDAsSS5TbikoKSYmKCJOZXR3b3JrRXJyb3IiPT09ZS5uYW1lfHwxOT09PWUuY29kZSl9KGUpKWlmKHRoaXMuYXR0ZW1wdHM+PTUpe3MoKS5sb2dVc2FnZSgiTGF6eUxvYWRGYWlsdXJlIix7bWVzc2FnZTplLm1lc3NhZ2UscGVuZGluZ0ltcG9ydHM6dGhpcy5wZW5kaW5nSW1wb3J0c30pO2xldCB0PSJGYWlsZWQgdG8gbG9hZCBqYXZhc2NyaXB0LiI7ZS5odHRwU3RhdHVzJiYodCs9IlN0YXR1czoiK2UuaHR0cFN0YXR1cyk7Y29uc3Qgcj1uZXcgRXJyb3IodCk7ci5uZXR3b3JrRXJyb3I9ITAsci5kaWFnbm9zdGljSW5mbz1lLmRpYWdub3N0aWNJbmZvfHxlLm1lc3NhZ2Usci5yZXF1ZXN0PWUucmVxdWVzdCxuKHIpLHRoaXMucGVuZGluZ0ltcG9ydHM9MCx0aGlzLnByb21pc2U9dm9pZCAwfWVsc2UgdGhpcy5hdHRlbXB0cz4xJiZhd2FpdCgwLGguWikoMWUzKk1hdGgucG93KDIsdGhpcy5hdHRlbXB0cy0yKSk7ZWxzZSBlLnNjcmlwdEV2YWw9ITAscygpLmxvZ0Vycm9yKGUpLHRoaXMuaXNMb2FkZWQ9ITAsZS5yZXBvcnRlZD0hMCxuKGUpfV9fZ2V0RW50cnlNb2R1bGVJZEZvckxvZ2dpbmcoKXtjb25zdCBlPXRoaXMuaW1wb3J0Q2FsbGJhY2sudG9TdHJpbmcoKTt0cnl7Y29uc3Qgbj0vLipcLmJpbmRcKG51bGwsKFteKV0rKVwpLyx0PWUubWF0Y2gobik7cmV0dXJuIHQmJnQubGVuZ3RoPjE/dFsxXTplfWNhdGNoKG4pe3JldHVybiBlfX1hZGRXYXRlcmZhbGxDaGVja3BvaW50KGUpe3RoaXMuaW1wb3J0V2F0ZXJmYWxsRGF0YSYmdm9pZCAwPT09dGhpcy5pbXBvcnRXYXRlcmZhbGxEYXRhW2VdJiYodGhpcy5pbXBvcnRXYXRlcmZhbGxEYXRhW2VdPW51bGw9PXNlbGY/dm9pZCAwOnNlbGYucGVyZm9ybWFuY2Uubm93KCkpfX1sZXQgZz1bXTtmdW5jdGlvbiB5KCl7Y29uc3QgZT1nO3JldHVybiBnPVtdLGV9bGV0IHc9W107ZnVuY3Rpb24gYihlKXtjb25zdCBuPVsuLi53XTtyZXR1cm4gZSYmKHc9dy5maWx0ZXIoKG49Pm4uc3RhcnQrbi5kdXJhdGlvbj49ZSkpKSxufWNsYXNzIEUgZXh0ZW5kcyBLe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUse3J1bldoZW46ZT0+e2UoKX19KSx0aGlzLmlzQm9vdE1vZHVsZT0oKT0+ITB9fX0sNzA3MTM6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7Uno6KCk9PkUsTTY6KCk9PlMsTXE6KCk9PmgsR0c6KCk9PlUsJEI6KCk9PnYsVko6KCk9PlIsdDk6KCk9Pm0seGI6KCk9PkssT0U6KCk9PmcsUnM6KCk9Pk4sejY6KCk9PmQsZGI6KCk9PkksYUM6KCk9PkF9KTt2YXIgcj10KDE3NDg4NCksbz10KDY4NTM2OSksaT10KDk4NDYxMik7bGV0IGEscz0ib3dhbWFpbC8iO2Z1bmN0aW9uIHUoKXtpZighYSl7Y29uc3QgZT0iMiI9PSgwLHIubW4pKCJiTyIpO2xldCBuPWMoKStzLHQ9YyghMCkrcztjb25zdCBpPSgwLG8uWlApKCJiYXNlVXJsIik7KDAsci56bCkoKSYmaSYmKG49dD1pKSxhPXtQYWNrYWdlQmFzZVVybDplP3Q6bixFeHRyYVNldHRpbmdzOnt9LEJhY2t1cEJhc2VVcmw6ZT9uOnQsUmVzb3VyY2VzUGF0aDoiIixTY3JpcHRQYXRoOigwLHIucmMpKCk/IiI6InNjcmlwdHMvIn19cmV0dXJuIGF9ZnVuY3Rpb24gYyhlKXtjb25zdCBuPWU/MjoxO2xldCB0PSEwO2NvbnN0IHI9KDAsby5aUCkoInNjcmlwdFZlciIpO3ImJi0xPT09ci5pbmRleE9mKCIuIikmJih0PSExKTtjb25zdCBhPXQ/YHJlcy0ke259YDpgcmVzLSR7bn0tc2RmYDtyZXR1cm4iR2FsbGF0aW4iPT0oMCxpLnVEKSgpP2AvL291dGxvb2stJHtufS5jZG4ucGFydG5lci5vdXRsb29rLmNuL2A6YC8vJHthfS5jZG4ub2ZmaWNlLm5ldC9gfXZhciBsPXQoNDg5MDM0KTtjb25zdCBIPVtdO2Z1bmN0aW9uIGQoZSl7SC5wdXNoKGUpfWxldCBTLGYscCxDO2Z1bmN0aW9uIEEoZSl7U3x8KFM9ZSl9ZnVuY3Rpb24gSShlKXtmPWUsQShlKSxmdW5jdGlvbihlKXtmb3IoY29uc3QgbiBvZiBIKW4oZSl9KGUpfWZ1bmN0aW9uIGgoKXtyZXR1cm4gZn1mdW5jdGlvbiBSKCl7cmV0dXJuIGsoInNjcmlwdFZlciIpfWZ1bmN0aW9uIHYoKXtjb25zdCBlPWsoImNkblVybCIpO3JldHVybiB5KGUpP2U6YygpfWZ1bmN0aW9uIFUoKXtjb25zdCBlPWsoImJhY2t1cENkblVybCIpO3JldHVybiB5KGUpP2U6YyghMCl9ZnVuY3Rpb24gbSgpe2lmKHApcmV0dXJuIHA7Y29uc3QgZT1rKCJjZG5VcmwiKSxuPWsoImNkbkNvbnRhaW5lciIpLHQ9aygiZGV2Q2RuVXJsIik7cmV0dXJuIHkodCk/dDp5KGUpJiZ5KG4pP2UrbitSKCkrIi8iOk8odSgpLlBhY2thZ2VCYXNlVXJsKX1mdW5jdGlvbiBOKCl7cmV0dXJuIEUobSgpK3coKSl9ZnVuY3Rpb24gSygpe3JldHVybiBFKGAke20oKX1yZXNvdXJjZXMvYCl9ZnVuY3Rpb24gZygpe2lmKHApcmV0dXJuIHA7Y29uc3QgZT1rKCJiYWNrdXBDZG5VcmwiKSxuPWsoImNkbkNvbnRhaW5lciIpO2xldCB0PU8odSgpLkJhY2t1cEJhc2VVcmwpO3JldHVybiB5KGUpJiZ5KG4pJiYodD1lK24rUigpKyIvIiksRSh0KSt3KCl9ZnVuY3Rpb24geShlKXtyZXR1cm4gZSYmZS5pbmRleE9mKCIvIik+LTF9ZnVuY3Rpb24gdygpe2NvbnN0IGU9aygic2NyaXB0UGF0aCIpO3JldHVybiB5KGUpP2U6dSgpLlNjcmlwdFBhdGh9Y29uc3QgYj1uZXcgUmVnRXhwKCJeaHR0cHM/OiIpO2Z1bmN0aW9uIEUoZSl7dmFyIG47cmV0dXJuIGIudGVzdChlKXx8KHZvaWQgMD09PUMmJihDPShudWxsPT0obj0oMCxsLnkpKCkubG9jYXRpb24pP3ZvaWQgMDpuLnByb3RvY29sKXx8Imh0dHBzOiIpLGU9QytlKSxlfWZ1bmN0aW9uIGsoZSl7cmV0dXJuKDAsby5aUCkoZSl8fCIifWZ1bmN0aW9uIE8oZSl7cmV0dXJuIGUrKCgwLHIuemwpKCk/IiI6UigpKyIvIisoKDAsci5KSSkoImRlYnVnSnMiKT8iZGVidWcvIjoiIikpfX0sMTE0NDI5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2FmOigpPT5jLHdROigpPT5sfSk7dmFyIHI9dCgxODA4NzIpLG89dCg3MDcxMyksaT10KDE1OTg2Nyk7Y29uc3QgYT0iQm9vdFR5cGVTY3JpcHRWZXIiO2xldCBzLHU7YXN5bmMgZnVuY3Rpb24gYyhlKXtpZigoMCxyLlMpKCkpcmV0dXJuIlB3YSI7dHJ5e2NvbnN0IG49YCR7KDAsby54YikoKX1hbmFseXRpY3MtcGluZy5qc2A7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXtpZihuLmhlYWRlcnMuZ2V0KCJ4LXN3LWFjdGl2ZS1jYWNoZSIpKXJldHVybiB1PW4uaGVhZGVycy5nZXQoIngtc3ctdmVyc2lvbiIpLCJTd0NhY2hlIjtjb25zdCByPW4uaGVhZGVycy5nZXQoIkRhdGUiKTtpZihudWxsPT1yKXtjb25zdCBlPSgwLGkuclYpKHdpbmRvdyxhKT09dDtyZXR1cm4oMCxpLkxTKSh3aW5kb3csYSx0KSxlPyJCcm93c2VyQ2FjaGUiOiJOb0NhY2hlIn1jb25zdCBvPURhdGUucGFyc2Uocik7aWYoaXNOYU4obykpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkRGF0ZSIpO3JldHVybiBvLWU+LTFlMz8iTm9DYWNoZSI6IkJyb3dzZXJDYWNoZSJ9KGUsYXdhaXQgZmV0Y2gobiksbil9Y2F0Y2goZSl7cmV0dXJuIHM9ZSwiVW5rbm93biJ9fWZ1bmN0aW9uIGwoKXtyZXR1cm4gdX19LDc5NjMwMzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHt0VTooKT0+aSxOXzooKT0+cyxVUDooKT0+dSxfSDooKT0+YyxIRjooKT0+bCxLeDooKT0+SCx5XzooKT0+ZCxRMTooKT0+UyxQRTooKT0+Zn0pO3ZhciByPXQoMTE0NDI5KTtsZXQgbz17fTtmdW5jdGlvbiBpKGUpe2EoImZlIixlLCJYLUZFU2VydmVyIiksYSgiYmUiLGUsIlgtQkVTZXJ2ZXIiKSxhKCJ3c3ZlciIsZSwiWC1PV0EtVmVyc2lvbiIpLGEoImZvc3QiLGUsIngtb3dhLWZvcmVzdCIsKGU9PjA9PWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJwcm9kIik/Ik5BTVBSRDAxIjplLnN1YnN0cigwLGUuaW5kZXhPZigiLiIpKS50b1VwcGVyQ2FzZSgpKSksYSgiZGFnIixlLCJ4LW93YS1kYWciLChlPT5lLnRvVXBwZXJDYXNlKCkpKSwhby50ZSYmZSYmZS5oZWFkZXJzJiYoby50ZT1lLmhlYWRlcnMuZ2V0KCJYLU1TRWRnZS1SZWYiKT8iMSI6IjAiKX1mdW5jdGlvbiBhKGUsbix0LHIpe3ZhciBpLGE7aWYoIW9bZV0pe2NvbnN0IHM9bnVsbD09KGE9bnVsbD09KGk9bnVsbD09bj92b2lkIDA6bi5oZWFkZXJzKT92b2lkIDA6aS5nZXQpP3ZvaWQgMDphLmNhbGwoaSx0KTtvW2VdPXM/cj9yKHMpOnM6IlVua25vd24ifX1mdW5jdGlvbiBzKCl7cmV0dXJuIG8uYmV9ZnVuY3Rpb24gdSgpe3JldHVybiBvLmZlfWZ1bmN0aW9uIGMoKXtyZXR1cm4gby50ZX1mdW5jdGlvbiBsKCl7cmV0dXJuIG8ud3N2ZXJ9ZnVuY3Rpb24gSCgpe3JldHVybiBvLmRhZ31mdW5jdGlvbiBkKCl7cmV0dXJuIG8uZm9zdH1hc3luYyBmdW5jdGlvbiBTKCl7bGV0IGU9by5idDtyZXR1cm4hZSYmc2VsZi5wZXJmb3JtYW5jZSYmc2VsZi5wZXJmb3JtYW5jZS50aW1pbmcmJihlPW8uYnQ9YXdhaXQoMCxyLmFmKShzZWxmLnBlcmZvcm1hbmNlLnRpbWluZy5mZXRjaFN0YXJ0KSksZX1mdW5jdGlvbiBmKCl7cmV0dXJuIG99fSw3MzA3NDA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7YTooKT0+byxLOigpPT5pfSk7bGV0IHI9e307ZnVuY3Rpb24gbyhlKXtpZihlKXRyeXtyPUpTT04ucGFyc2UoZSl9Y2F0Y2goZSl7fXJldHVybiByfWZ1bmN0aW9uIGkoKXtyZXR1cm4gcn19LDg0NjA3MTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHt5OigpPT5hLG46KCk9PnN9KTt2YXIgcj10KDE1OTg2Nyk7Y29uc3Qgbz0iTG9naWNhbFJpbmciO2xldCBpO2Z1bmN0aW9uIGEoZSl7aT1lLCgwLHIuTFMpKHNlbGYsbyxlKX1mdW5jdGlvbiBzKCl7cmV0dXJuIGl8fChpPSgwLHIuclYpKHNlbGYsbykpLGl9fSwyOTA3Nzg6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7TTooKT0+YSxBOigpPT5zfSk7dmFyIHI9dCgxNzQ4ODQpO2NvbnN0IG89L1t4eV0vZztsZXQgaTtmdW5jdGlvbiBhKCl7cmV0dXJuIGl8fChpPSgwLHIubW4pKCJzZXNzaW9uSWQiKXx8Inh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCIucmVwbGFjZShvLChmdW5jdGlvbihlKXt2YXIgbj0xNipNYXRoLnJhbmRvbSgpfDA7cmV0dXJuKCJ4Ij09PWU/bjozJm58OCkudG9TdHJpbmcoMTYpfSkpKSxpfWZ1bmN0aW9uIHMoZSl7aT1lfX0sODQwMjQ0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3JUOigpPT5jLnJULE05OigpPT5jLk05LGN4OigpPT5jLmN4LGVJOigpPT5jLmVJLGttOigpPT5jLmttLEt5OigpPT5jLkt5LG5COigpPT5jLm5CLHNtOigpPT5jLnNtLEFPOigpPT5jLkFPLEZBOigpPT5jLkZBLG55OigpPT5jLm55LEJyOigpPT5jLkJyLEI1OigpPT5jLkI1LGdNOigpPT5jLmdNLE9IOigpPT5jLk9ILGY2OigpPT5jLmY2LCRiOigpPT5jLiRiLGl3OigpPT5jLml3LHZqOigpPT5jLnZqLFVWOigpPT5jLlVWLFpCOigpPT5jLlpCLHJIOigpPT5jLnJILFh0OigpPT5MLE1xOigpPT5yLk1xLE5fOigpPT5nLk5fLEdHOigpPT5yLkdHLFExOigpPT5nLlExLFA2OigpPT5ELHdpOigpPT5rLCRCOigpPT5yLiRCLGkyOigpPT51LFZKOigpPT5yLlZKLGVqOigpPT5CLmUsS3g6KCk9PmcuS3gsUEU6KCk9PmcuUEUscVY6KCk9Pk0uSyx5XzooKT0+Zy55XyxVUDooKT0+Zy5VUCx3WDooKT0+bSxyMDooKT0+TixGbDooKT0+Si5GLHN2OigpPT5GLEcwOigpPT5PLG5yOigpPT55Lm4sSEw6KCk9PmYsVzM6KCk9PlMsZHE6KCk9PkssdDk6KCk9PnIudDksT0U6KCk9PnIuT0UsUnM6KCk9PnIuUnMsSEY6KCk9PmcuSEYsTVE6KCk9PmwuTSxfSDooKT0+Zy5fSCxTbzooKT0+UC5TLENROigpPT5JLFNuOigpPT5XLlMsd2M6KCk9PncsYTc6KCk9Pk0uYSx6NjooKT0+ci56NiwkNjooKT0+eC4kLEI6KCk9PlUsS206KCk9PkouSyx0WTooKT0+VixEaDooKT0+cCxnVzooKT0+Q30pO3ZhciByPXQoNzA3MTMpLG89dCgxNTk4NjcpLGk9dCg0ODkwMzQpO2NvbnN0IGE9Ik93YUNsaWVudElkIjtsZXQgcz1udWxsO2Z1bmN0aW9uIHUoKXt2YXIgZTtpZighcyl7Y29uc3Qgbj0obnVsbD09KGU9KDAsaS55KSgpKT92b2lkIDA6ZS5jb29raWUpJiYoMCxpLnkpKCkuY29va2llLnNwbGl0KCJDbGllbnRJZD0iKVsxXSx0PW4mJm4uc3BsaXQoIjsiKVswXTt0PyhzPXQsInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJigwLG8uTFMpKHdpbmRvdyxhLHQpKTpzPSgwLG8uclYpKCgwLGkueSkoKSxhKX1yZXR1cm4gc312YXIgYz10KDY1NDc2MyksbD10KDI5MDc3OCk7bGV0IEgsZD0iKG5vbmUpIjtmdW5jdGlvbiBTKCl7cmV0dXJuIEh9ZnVuY3Rpb24gZigpe2lmKCFkKXRocm93IG5ldyBFcnJvcigiT3B4IGhhcyBub3QgcmVzcG9uZGVkIHdpdGggdGhlIGNvbmZpZyB5ZXQiKTtyZXR1cm4gZH1mdW5jdGlvbiBwKGUpe2Q9ZX1mdW5jdGlvbiBDKGUpe0g9ZS50aGVuKChlPT57Y29uc3Qgbj1lLnNlc3Npb25JZDtyZXR1cm4gbiYmKDAsbC5BKShuKSxlfSkpfXZhciBBPXQoMTc0ODg0KTtmdW5jdGlvbiBJKCl7dmFyIGUsbjtyZXR1cm4gMD09KG51bGw9PShuPW51bGw9PShlPSgwLGkueSkoKSk/dm9pZCAwOmUubG9jYXRpb24pP3ZvaWQgMDpuLnBhdGhuYW1lLmluZGV4T2YoIi9ob3N0ZWQiKSl9Y29uc3QgaD1bInRlYW1zIiwib3V0bG9vayIsIm91dGxvb2t3aW4zMiIsIm9mZmljZSJdLFI9WyJkZXNrdG9wIiwid2ViIl07bGV0IHY7ZnVuY3Rpb24gVShlLG4pe2NvbnN0IHQ9W2Mua20sYy5VVixjLnJILGMuQnIsYy4kYl07bGV0IHI7KDAsQS5KSSkoImhvc3RBcHAiKT9yPSgwLEEubW4pKCJob3N0QXBwIikudG9Mb3dlckNhc2UoKTooMCxBLkpJKSgidGVzdEhvc3RBcHAiKSYmKHI9KDAsQS5tbikoInRlc3RIb3N0QXBwIikudG9Mb3dlckNhc2UoKSksciYmdC5pbmNsdWRlcyhyKSYmKHY9cik7Y29uc3Qgbz1JKCk7aWYoIXYmJm8pe2NvbnN0IHQ9KG51bGw9PWU/dm9pZCAwOmUudG9Mb3dlckNhc2UoKSl8fCIiLHI9KG51bGw9PW4/dm9pZCAwOm4udG9Mb3dlckNhc2UoKSl8fCIiO2UmJmguaW5jbHVkZXModCkmJm4mJlIuaW5jbHVkZXMocik/InRlYW1zIj09dD92PWMuVVY6Im91dGxvb2t3aW4zMiI9PXQ/dj1jLnJIOiJvdXRsb29rIj09dD8iZGVza3RvcCI9PXI/dj1jLkJyOiJ3ZWIiPT1yJiYodj1jLiRiKTp2PWMua206dj1jLmttfX1mdW5jdGlvbiBtKCl7cmV0dXJuIHZ9ZnVuY3Rpb24gTigpe3JldHVybigwLEEuSkkpKCJuYXRpdmVWZXJzaW9uIil8fHIuTTY9PWMuQjU/Yy5CNTpJKCk/bSgpOmYoKX1mdW5jdGlvbiBLKCl7cmV0dXJuIi9vd2EifXZhciBnPXQoNzk2MzAzKSx5PXQoODQ2MDcxKTtmdW5jdGlvbiB3KCl7cmV0dXJuImV4Y2hhbmdlbGFicy5saXZlLWludC5jb20iPT09KDAsaS55KSgpLmxvY2F0aW9uLmhvc3R9bGV0IGIsRTtmdW5jdGlvbiBrKGUpe3ZhciBuLHQ7Y29uc3Qgcj0oMCxpLnkpKCksbz1yLmRvY3VtZW50O2lmKCFifHxlKXtjb25zdCBlPW51bGw9PShuPW51bGw9PW8/dm9pZCAwOm8uZG9jdW1lbnRFbGVtZW50KT92b2lkIDA6bi5jbGllbnRXaWR0aDtiPXIuaW5uZXJXaWR0aCYmZT9NYXRoLm1pbihyLmlubmVyV2lkdGgsZSk6ci5pbm5lcldpZHRofHxlfHwobnVsbD09KHQ9bnVsbD09bz92b2lkIDA6by5ib2R5KT92b2lkIDA6dC5jbGllbnRXaWR0aCl9cmV0dXJuIGJ8fDB9ZnVuY3Rpb24gTygpe3JldHVybiBFfHwiRGVza3RvcCJ9dmFyIHg9dCg4Mzg0MzEpLFA9dCgxODA4NzIpO2xldCBUO2Z1bmN0aW9uIEQoZSl7dmFyIG4sdCxyPSgwLGkueSkoKSxvPXIuZG9jdW1lbnQ7aWYoIVR8fGUpe2NvbnN0IGU9bnVsbD09KG49bnVsbD09bz92b2lkIDA6by5kb2N1bWVudEVsZW1lbnQpP3ZvaWQgMDpuLmNsaWVudEhlaWdodDtUPXIuaW5uZXJIZWlnaHQmJmU/TWF0aC5taW4oci5pbm5lckhlaWdodCxlKTpyLmlubmVySGVpZ2h0fHxlfHwobnVsbD09KHQ9bnVsbD09bz92b2lkIDA6by5ib2R5KT92b2lkIDA6dC5jbGllbnRIZWlnaHQpfXJldHVybiBUfHwwfXZhciBNPXQoNzMwNzQwKTtmdW5jdGlvbiBMKGUpe2NvbnN0IG49KDAsci5WSikoKTtyZXR1cm4hIShudWxsPT1lP3ZvaWQgMDplLnNvbWUoKGU9Pm5ldyBSZWdFeHAoYF4ke2V9JGApLnRlc3QobikpKSl9dmFyIEI9dCgxMDc1OTQpLFc9dCg5MDc2MDIpO2xldCBqO2Z1bmN0aW9uIEYoKXtyZXR1cm4hIWp9ZnVuY3Rpb24gVihlKXtqPWV9dmFyIEo9dCg5NjU1KX0sOTY1NTooZSxuLHQpPT57InVzZSBzdHJpY3QiO2xldCByO2Z1bmN0aW9uIG8oKXtyZXR1cm4hIXJ9ZnVuY3Rpb24gaShlKXtyPWV9dC5kKG4se0Y6KCk9Pm8sSzooKT0+aX0pfSwzNTkxNTA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7TzooKT0+b30pO2NvbnN0IHI9L1wvW2EtejAtOS5fJSstXStAW2EtejAtOS4tXStcLlthLXpdezIsfVwvLztmdW5jdGlvbiBvKGUpe3ZhciBuO3JldHVybiEhKG51bGw9PShuPW51bGw9PWU/dm9pZCAwOmUubG9jYXRpb24pP3ZvaWQgMDpuLmhyZWYpJiZyLnRlc3QoZS5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCkpfX0sMTgwODcyOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1M6KCk9Pm99KTt2YXIgcj10KDQ4OTAzNCk7ZnVuY3Rpb24gbygpe3JldHVybigwLHIueSkoKS5pc1B3YX19LDkwNzYwMjooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGV9dC5kKG4se1M6KCk9PnJ9KX0sODM4NDMxOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4seyQ6KCk9PnUsRDooKT0+bH0pO3ZhciByPXQoMjkwNzc4KTtjb25zdCBvPTIwNDgsaT1uZXcgUmVnRXhwKC8oW2EtekEtWjAtOStfXC4tXSspKEB8JTQwKShbXGRhLXpBLVpcLi1dKylcLihbYS16QS1aXC5dezIsNn0pLyksYT1uZXcgUmVnRXhwKC8oKHVzZXJcLylbYS16QS1aXSpcLykvZykscz1uZXcgUmVnRXhwKC8oKFw/YnJhbmNoPSlbYS16QS1aXSpcLSkvZyk7ZnVuY3Rpb24gdShlKXtpZihlKXtsZXQgbj0tMSx0PS0xO3RyeXtuPWUubGVuZ3RoLG4+byYmKGU9ZS5zdWJzdHJpbmcoMCxvKSksdD1lLmxlbmd0aCxlPWUuaW5kZXhPZigiPC9kaXY+Iik+LTF8fGUuaW5kZXhPZigiPC9zcGFuPiIpPi0xPyJET00gcHJlc2VudCI6ZnVuY3Rpb24oZSxuLHQpe3RyeXtlPWUuc3BsaXQoKDAsci5NKSgpKS5qb2luKCJSZXBsYWNlZFNlc3Npb25JZCIpfWNhdGNoKHIpe2U9YygiU2Vzc2lvbklkIixyLG4sdCl9cmV0dXJuIGV9KGU9ZnVuY3Rpb24oZSxuLHQpe3RyeXtsZXQgbj1udWxsO2Zvcig7bnVsbCE9PShuPWkuZXhlYyhlKSk7KWU9ZS5yZXBsYWNlKG5bMF0sIkVtYWlsUGlpIil9Y2F0Y2gocil7ZT1jKCJFbWFpbCIscixuLHQpfXJldHVybiBlfShlLG4sdCksbix0KX1jYXRjaChyKXtlPWMoIlVua25vd24iLHIsbix0KX19cmV0dXJuIG51bGwhPWU/ZTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm5gRXJyb3JTY3J1YmluZ1BpaV8ke2V9LiAke3IhPT1vJiZgT3JpZ2luYWwgVmFsdWUgTGVuZ3RoOiAke3R9LiBTdWJzdHJpbmcgVmFsdWUgTGVuZ3RoOiAke3J9LmB9IE9yaWdpbmFsIEVycm9yOiAke251bGw9PW4/dm9pZCAwOm4ubWVzc2FnZX0uIENhbGxzdGFjazogJHtudWxsPT1uP3ZvaWQgMDpuLnN0YWNrfWB9ZnVuY3Rpb24gbChlKXtpZihlKXtpZihlLmluZGV4T2YoIjpcXCIpPi0xKXtjb25zdCBuPWUuc3BsaXQoIlxcIik7blsyXT0iTG9jYWxQYXRoUGlpIixlPW4uam9pbigiXFwiKX1lbHNlIGlmKDA9PWUuaW5kZXhPZigiL2hvbWUvIil8fDA9PWUuaW5kZXhPZigiL1VzZXJzLyIpfHwwPT1lLmluZGV4T2YoIi9Wb2x1bWVzLyIpKXtjb25zdCBuPWUuc3BsaXQoIi8iKTtuWzJdPSJMb2NhbFBhdGhQaWkiLGU9bi5qb2luKCIvIil9ZS5pbmRleE9mKCIvdXNlci8iKT49MCYmKGU9ZS5yZXBsYWNlKGEsInVzZXIvVXNlclBpaS8iKSksZS5pbmRleE9mKCI/YnJhbmNoPSIpPj0wJiYoZT1lLnJlcGxhY2UocywiP2JyYW5jaD1Vc2VyUGlpLSIpKX1yZXR1cm4gZX19LDY1NDc2MzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtPSDooKT0+cixGQTooKT0+byxLeTooKT0+aSxNOTooKT0+YSxjeDooKT0+cyxmNjooKT0+dSxCNTooKT0+YyxnTTooKT0+bCx2ajooKT0+SCxlSTooKT0+ZCxzbTooKT0+UyxaQjooKT0+ZixySDooKT0+cCxVVjooKT0+QyxrbTooKT0+QSwkYjooKT0+SSxCcjooKT0+aCxyVDooKT0+UixuQjooKT0+dixueTooKT0+VSxpdzooKT0+bSxBTzooKT0+Tn0pO2NvbnN0IHI9Im91dGxvb2tkZXNrdG9wIixvPSJtYWNvdXRsb29rIixpPSJpb3NvdXRsb29rIixhPSJhbmRyb2lkb3V0bG9vayIscz0ib3V0bG9va2xpdGUiLHU9Im91dGxvb2tleHRlbnNpb24iLGM9Im5hdGl2ZSIsbD0ibzM2NXNoZWxsIixIPSJ0ZWFtcyIsZD0iYW5kcm9pZHRlYW1zIixTPSJpb3N0ZWFtcyIsZj0id2lkZ2V0IixwPSJ3aW4zMm91dGxvb2todWIiLEM9InRlYW1zaHViIixBPSJodWIiLEk9Im93YWh1YiIsaD0ibW9uYXJjaGh1YiIsUj0iYW5kcm9pZGh1YiIsdj0iaW9zb3V0bG9va2h1YiIsVT0ibWFjb3V0bG9va2h1YiIsbT0ic2hhcmVwb2ludCIsTj0ibG9vcGFwcCJ9LDEwNzU5NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtlOigpPT5pfSk7dmFyIHI9dCg0ODkwMzQpO2NvbnN0IG89LyglWzAtOUEtWl17Mn0pKy9nO2Z1bmN0aW9uIGkoZSl7Y29uc3Qgbj0oMCxyLnkpKCkuY29va2llLHQ9bj9uLnNwbGl0KCI7ICIpOltdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl0uc3BsaXQoIj0iKTtpZihyWzBdLnJlcGxhY2UobyxkZWNvZGVVUklDb21wb25lbnQpPT1lKXtsZXQgZT1yLnNsaWNlKDEpLmpvaW4oIj0iKTtyZXR1cm4nIic9PT1lLmNoYXJBdCgwKSYmKGU9ZS5zbGljZSgxLC0xKSksZS5yZXBsYWNlKG8sZGVjb2RlVVJJQ29tcG9uZW50KX19fX0sNjIzNzE2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3E6KCk9Pml9KTt2YXIgcj10KDkxOTc0KTtjb25zdCBvPVsiSW52YWxpZExpY2Vuc2UiLCJUZW5hbnRBY2Nlc3NCbG9ja2VkIiwiVXNlckhhc05vTWFpbGJveCIsIkFjY291bnREaXNhYmxlZCIsIkVycm9yTm9uRXhpc3RlbnRNYWlsYm94IiwiRXJyb3JNZXNzYWdlU2l6ZUV4Y2VlZGVkIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxyLmcpKG8sZSl9fSwzODYwNDk6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7bTooKT0+aX0pO3ZhciByPXQoOTE5NzQpO2NvbnN0IG89WyJvdXQgb2YgbWVtb3J5Iiwibm90IGVub3VnaCBzdG9yYWdlIiwibm90IGVub3VnaCBtZW1vcnkgcmVzb3VyY2VzIiwiZXNwYWNpbyBkZSBhbG1hY2VuYW1pZW50byBpbnN1ZmljaWVudGUiLCJpbnN1ZmZpc2FudGUgcG91ciBjZXR0ZSIsIm5vIGhheSBzdWZpY2llbnRlIGVzcGFjaW8gZGUgcGlsYSIsImVzcGFjZSBwaWxlIGluc3VmZmlzYW50IiwiTWVtb3JpYSBlc2F1cml0YSIsIk3DqW1vaXJlIGluc3VmZmlzYW50ZSIsIk1lbW9yaWEgaW5zdWZpY2llbnRlIiwiTWVtw7NyaWEgaW5zdWZpY2llbnRlIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxyLmcpKG8sZSl9fSwxNDQzMjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtlOigpPT5pfSk7dmFyIHI9dCg5MTk3NCk7Y29uc3Qgbz1bIjogU3ludGF4IGVycm9yIiwiU3ludGF4RXJyb3I6IiwiQSBuZXR3b3JrIGVycm9yIG9jY3VycmVkIiwiRmFpbGVkIHRvIGZldGNoIiwiTmV0d29ya0Vycm9yIiwiTmV0d29yayByZXF1ZXN0IGZhaWxlZCIsIkludGVybmV0IGNvbm5lY3Rpb24gYXBwZWFycyB0byBiZSIsIlRoZSBuZXR3b3JrIGNvbm5lY3Rpb24gd2FzIGxvc3QuIiwiQ291bGQgbm90IGNvbm5lY3QgdG8gdGhlIHNlcnZlciIsImNhbmNlbGxlZC4gVVJMOiIsIkVycm9yU2Vzc2lvblRpbWVvdXQiLCJMb2FkaW5nIGNodW5rICIsIlVuZXhwZWN0ZWQgc2VydmVyIHJlc3BvbnNlICgwKSIsIlVuZXhwZWN0ZWQgZW5kIG9mIEpTT04gaW5wdXQiLCJVbmV4cGVjdGVkIHRva2VuIiwiSW52YWxpZCBjaGFyYWN0ZXIiLCJVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dCIsIlRoZSBvcGVyYXRpb24gd2FzIGFib3J0ZWQiLCJGYWlsZWQgdG8gbG9hZCBqYXZhc2NyaXB0IiwiZGlzYWJsZUFsbFJlcXVlc3RzIiwiVGhlIHNlcnZpY2Ugd29ya2VyIG5hdmlnYXRpb24gcHJlbG9hZCByZXF1ZXN0IGZhaWxlZCBkdWUgdG8gYSBuZXR3b3JrIGVycm9yIiwiVHlwZUVycm9yOiBMb2FkIGZhaWxlZCJdO2Z1bmN0aW9uIGkoZSxuKXtyZXR1cm4oMCxyLmcpKG8sZSl8fChudWxsPT1uP3ZvaWQgMDpuLm5ldHdvcmtFcnJvcil8fCJDU1NfQ0hVTktfTE9BRF9GQUlMRUQiPT09KG51bGw9PW4/dm9pZCAwOm4uY29kZSl9fSw5MTk0MzM6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7dTooKT0+aX0pO3ZhciByPXQoOTE5NzQpO2NvbnN0IG89WyJjaHJvbWUtZXh0ZW5zaW9uOi8vIiwiZmlsZTovLy8iLCJidGdsc3MubmV0LyIsIigvVXNlcnMvIiwiKC9BcHBsaWNhdGlvbnMvIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxyLmcpKG8sZSl9fSw5MTk3NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSxuKXtyZXR1cm4hIW4mJmUuc29tZSgoZT0+bi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZS50b0xvd2VyQ2FzZSgpKT4tMSkpfXQuZChuLHtnOigpPT5yfSl9LDQwMDc1ODooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtwOigpPT5pfSk7dmFyIHI9dCg5MTk3NCk7Y29uc3Qgbz1bIk92ZXJCdWRnZXQiLCJUb29NYW55T2JqZWN0c09wZW5lZCIsIkVycm9yU2VydmVyQnVzeSIsIk1haWxib3hTdG9yZVVuYXZhaWxhYmxlIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxyLmcpKG8sZSl9fSwyNzA4Mzk6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7aTooKT0+aX0pO3ZhciByPXQoOTE5NzQpO2NvbnN0IG89WyJDb25uZWN0aW9uRmFpbGVkVHJhbnNpZW50IiwiU3RvcmFnZVRyYW5zaWVudCIsIk93YUxvY2tUcmFja2FibGVUaW1lb3V0IiwiTWFpbGJveEluVHJhbnNpdCIsIk1haWxib3hJbmZvU3RhbGUiLCJNYWlsYm94Q3Jvc3NTaXRlRmFpbG92ZXIiLCJPd2FMb2NrVGltZW91dCIsIkRDT3ZlcmxvYWRlZCIsIkVycm9ySW50ZXJuYWxTZXJ2ZXJUcmFuc2llbnRFcnJvciIsIkVycm9yUmlnaHRzTWFuYWdlbWVudFRyYW5zaWVudEV4Y2VwdGlvbiJdO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5nKShvLGUpfX0sMTU5ODY3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0xTOigpPT5vLHJWOigpPT5pLGNsOigpPT5hLGx6OigpPT5zLGttOigpPT51LGpqOigpPT5jLERYOigpPT5sfSk7dmFyIHI9dCg0ODkwMzQpO2Z1bmN0aW9uIG8oZSxuLHQpe2lmKGwoZSkpdHJ5e2UubG9jYWxTdG9yYWdlLnNldEl0ZW0obix0KX1jYXRjaChlKXt9fWZ1bmN0aW9uIGkoZSxuKXt2YXIgdDt0cnl7aWYobChlKSlyZXR1cm4gZS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShuKTt7Y29uc3QgZT0oMCxyLnkpKCk7cmV0dXJuIG51bGw9PSh0PW51bGw9PWU/dm9pZCAwOmUubG9jYWxTdG9yYWdlKT92b2lkIDA6dC5nZXRJdGVtKG4pfX1jYXRjaChlKXtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gYShlLG4pe2lmKGwoZSkpdHJ5e2UubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obil9Y2F0Y2goZSl7fX1mdW5jdGlvbiBzKGUpe2lmKGwoZSkpdHJ5e3JldHVybiBlLmxvY2FsU3RvcmFnZS5sZW5ndGh9Y2F0Y2goZSl7fXJldHVybiAwfWZ1bmN0aW9uIHUoZSxuKXtpZihsKGUpKXRyeXtyZXR1cm4gZS5sb2NhbFN0b3JhZ2Uua2V5KG4pfWNhdGNoKGUpe31yZXR1cm4gbnVsbH1mdW5jdGlvbiBjKGUsbil7cmV0dXJuIG51bGwhPT1pKGUsbil9ZnVuY3Rpb24gbChlKXt0cnl7cmV0dXJuIGUmJiEhZS5sb2NhbFN0b3JhZ2V9Y2F0Y2goZSl7cmV0dXJuITF9fX0sMTE3NzEwOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0s6KCk9PmF9KTt2YXIgcj10KDM5MTY5KTtjb25zdCBvPXt9LGk9ImxvY2FsZXMiO2Z1bmN0aW9uIGEoZSxuLHQpe3QmJigwLHIuaFkpKGkpO2xldCBhPW9bZV07cmV0dXJuIGE/dCYmKDAsci5FYikoaSk6KCgwLHIueUkpKCJsY19zIixufHwid3AiKSxhPWFzeW5jIGZ1bmN0aW9uKGUpe2xldCBuLHQ9ZTt1LmhhcyhlKT90PS9iTz1cZCsvLnRlc3QoZSk/ZTpgJHtlfSR7ZS5pbmNsdWRlcygiPyIpPyImIjoiPyJ9Yk89MWA6dS5hZGQoZSk7dHJ5e249YXdhaXQgZmV0Y2godCl9Y2F0Y2goZSl7dGhyb3cgYyhlLHQsITAsMCl9Y29uc3Qgcj1uLnN0YXR1cztpZigyMDAhPXIpdGhyb3cgYyhudWxsLHQscj49NTAwfHw0MDQ9PT1yfHw0MTg9PXIscik7bGV0IG87dHJ5e289YXdhaXQgbi50ZXh0KCk7Y29uc3QgdD1KU09OLnBhcnNlKG8pO3JldHVybiB1LmRlbGV0ZShlKSx0fWNhdGNoKGUpe3Rocm93IGMoZSx0LCExLHZvaWQgMCxvKX19KGUpLHQmJmEudGhlbigoKCk9PnsoMCxyLkViKShpKX0pKSxuJiYob1tlXT1hLGEuY2F0Y2goKCgpPT57ZGVsZXRlIG9bZV19KSkpKSxhfWNvbnN0IHM9ImJPPTEiLHU9bmV3IFNldDtmdW5jdGlvbiBjKGUsbix0LHIsbyl7Y29uc3QgaT1uZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGxvY2FsaXplZCBzdHJpbmdzIik7cmV0dXJuIHQ9dHx8ZSBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbnx8ZSBpbnN0YW5jZW9mIFR5cGVFcnJvcnx8IW4uaW5jbHVkZXMocyksaS5kaWFnbm9zdGljSW5mbz1KU09OLnN0cmluZ2lmeSh7dXJsOm4sc3RhdHVzOnIsaW5uZXJFcnJvcjpudWxsPT1lP3ZvaWQgMDplLm1lc3NhZ2UscmVzcG9uc2U6bz9vLmluZGV4T2YoJzxtZXRhIG5hbWU9InNjcmlwdFZlciIgJyk+LTE/ImluZGV4IHBhZ2UiOiJ1bmtub3duIjoibm9uZSJ9KSxpLnJlcXVlc3Q9bix0JiYoaS5uZXR3b3JrRXJyb3I9ITApLGkuaHR0cFN0YXR1cz1yLGl9fSwxODUyMDA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7S2Q6KCk9PnIuSyx6JDooKT0+by56JCxDWjooKT0+by5DWixOTzooKT0+by5OTyx3cDooKT0+aX0pO3ZhciByPXQoMTE3NzEwKSxvPXQoMzQ1MTY1KTtjb25zdCBpPSJPd2FMb2NhbGUifSwzNDUxNjU6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7eiQ6KCk9PnUsTk86KCk9PmMsQ1o6KCk9Pmx9KTt2YXIgcj10KDExNzcxMCksbz10KDE1OTg2NyksaT10KDg0MDI0NCk7Y29uc3QgYT0iT3dhUHJlbG9hZFN0cmluZ3MiO2xldCBzPVtdO2Z1bmN0aW9uIHUoZSl7dmFyIG47dHJ5e2NvbnN0IHQ9KDAsby5yVikoc2VsZiwoMCxpLk1xKSgpK2EpO2lmKHQpe2NvbnN0IG89SlNPTi5wYXJzZSh0KTtpZigobnVsbD09KG49b1swXSk/dm9pZCAwOm4uaW5kZXhPZigoMCxpLlZKKSgpKSk+LTEpZm9yKGNvbnN0IG4gb2YgbykoMCxyLkspKG4sZSl9fWNhdGNoKGUpe319ZnVuY3Rpb24gYyhlKXtzJiZzLnB1c2goZSl9ZnVuY3Rpb24gbCgpeygwLG8uTFMpKHNlbGYsKDAsaS5NcSkoKSthLEpTT04uc3RyaW5naWZ5KHMpKSxzPXZvaWQgMH19LDE5MTM4NzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtNXzooKT0+byx0TjooKT0+aSxyMDooKT0+cyxBWjooKT0+Y30pO2xldCByPSExO2Z1bmN0aW9uIG8oKXtyZXR1cm4gcn1mdW5jdGlvbiBpKGUpe3I9ZX1sZXQgYT0hMTtmdW5jdGlvbiBzKGUpe2E9ZX1sZXQgdT0hMTtmdW5jdGlvbiBjKGUpe3U9ZX19LDM0NDI4NTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtBazooKT0+YSxyNjooKT0+cyxGaDooKT0+dSwkczooKT0+YyxxUzooKT0+bCxvUTooKT0+SCxlRjooKT0+ZCx4azooKT0+UyxhZDooKT0+Zix6ZTooKT0+cCxHOigpPT5DLGw5OigpPT5BLEtFOigpPT5JLFl6OigpPT5oLFQ0OigpPT5SLGRPOigpPT52LGhEOigpPT5VLGZKOigpPT5tLE1fOigpPT5vLk1fLE5IOigpPT5OfSk7dmFyIHI9dCg0ODMyMjkpLG89dCgxOTEzODcpO2NvbnN0IGk9bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDYyMTg2KSx0LmUoMzk1NjcpXSkudGhlbih0LmJpbmQodCw2Mzk1NjcpKSkpLGE9bmV3IHIuXzUoaSwoZT0+ZS5nZXRBdXRoVG9rZW5Gcm9tTWV0YU9zSHViKSkscz1uZXcgci5fNShpLChlPT5lLmdldE93YUF1dGhUb2tlbkZyb21NZXRhT3NIdWIpKSx1PShuZXcgci5fNShpLChlPT5lLm9wZW5DYWxlbmRhckl0ZW0pKSxuZXcgci5fNShpLChlPT5lLmNvbXBvc2VNZWV0aW5nKSksbmV3IHIuXzUoaSwoZT0+ZS5vcGVuTWFpbEl0ZW0pKSksYz1uZXcgci5fNShpLChlPT5lLmNvbXBvc2VNYWlsKSksbD1uZXcgci5fNShpLChlPT5lLmV4ZWN1dGVEZWVwTGluaykpLEg9bmV3IHIuXzUoaSwoZT0+ZS5nZXRDb250ZXh0KSksZD0obmV3IHIuXzUoaSwoZT0+ZS5jaGVja0NhbGVuZGFyQ2FwYWJpbGl0eSkpLG5ldyByLl81KGksKGU9PmUuY2hlY2tNYWlsQ2FwYWJpbGl0eSkpLG5ldyByLl81KGksKGU9PmUuY2hlY2tEaWFsb2dDYXBhYmlsaXR5KSksbmV3IHIuXzUoaSwoZT0+ZS5pc0RhcmtUaGVtZSkpKSxTPShuZXcgci5fNShpLChlPT5lLmpvaW5UZWFtc01lZXRpbmcpKSxuZXcgci5fNShpLChlPT5lLm1vZGFsT3BlbmVkKSksbmV3IHIuXzUoaSwoZT0+ZS5zdWJtaXRUYXNrKSksbmV3IHIuXzUoaSwoZT0+ZS5ub3RpZnlTdWNjZXNzKSkpLGY9KG5ldyByLl81KGksKGU9PmUubm90aWZ5RmFpbHVyZSkpLG5ldyByLl81KGksKGU9PmUubm90aWZ5T3RoZXJGYWlsdXJlKSksbmV3IHIuXzUoaSwoZT0+ZS5ub3RpZnlBcHBMb2FkZWQpKSkscD0obmV3IHIuXzUoaSwoZT0+ZS5yZWdpc3RlcklzRGFya1RoZW1lT25DaGFuZ2VIYW5kbGVyKSksbmV3IHIuXzUoaSwoZT0+ZS5pbml0aWFsaXplTWV0YU9zQ2FwYWJpbGl0aWVzKSkpLEM9bmV3IHIuXzUoaSwoZT0+ZS5oYW5kbGVUaGVtZUNoYW5nZSkpLEE9bmV3IHIuXzUoaSwoZT0+ZS5pc01ldGFPc0FwcFNka0luaXRpYWxpemVkKSksST1uZXcgci5fNShpLChlPT5lLmluaXRpYWxpemVNZXRhT3NBcHBTZGspKSxoPW5ldyByLl81KGksKGU9PmUucmVnaXN0ZXJPbkxvYWRIYW5kbGVyKSksUj1uZXcgci5fNShpLChlPT5lLnJlZ2lzdGVyQmVmb3JlVW5sb2FkSGFuZGxlcikpLHY9bmV3IHIuXzUoaSwoZT0+ZS5zdGFydENhbGwpKSxVPW5ldyByLl81KGksKGU9PmUub3BlbkNoYXQpKSxtPW5ldyByLl81KGksKGU9PmUub3Blbkdyb3VwQ2hhdCkpLE49KG5ldyByLl81KGksKGU9PmUub3BlbikpLG5ldyByLl81KGksKGU9PmUuY2xvc2UpKSl9LDY4NTM2OTooZSxuLHQpPT57InVzZSBzdHJpY3QiO2xldCByO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIHJ8fChyPWkoKSkscltlXX1mdW5jdGlvbiBpKCl7Y29uc3QgZT1BcnJheS5mcm9tKHdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibWV0YSIpKSxuPXt9O2Zvcihjb25zdCB0IG9mIGUpblt0Lm5hbWVdPXQuY29udGVudDtyZXR1cm4gbn1mdW5jdGlvbiBhKGUpe3I9ZX10LmQobix7WlA6KCk9Pm8sUHY6KCk9PmkscGI6KCk9PmF9KX0sNzc4MDE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7d0I6KCk9PmEsY2c6KCk9PnMsYSQ6KCk9PnV9KTt2YXIgcj10KDY4NTM2OSk7ZnVuY3Rpb24gbyhlPSIiLG49IiIpe2lmKGUmJmUuaW5kZXhPZigiLyIpPi0xJiZuKXJldHVybiBlK259Y29uc3QgaT0iQ29sbGVjdG9yLzMuMC8iLGE9Ik9uZUNvbGxlY3Rvci8xLjAvIjtmdW5jdGlvbiBzKCl7cmV0dXJuIG8oKDAsci5aUCkoImFyaWFVcmwiKSxpKX1mdW5jdGlvbiB1KCl7cmV0dXJuIG8oKDAsci5aUCkoImFyaWFVcmwiKSxhKX19LDk4NDYxMjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtvSDooKT0+YSx1RDooKT0+cyxzajooKT0+YyxfQTooKT0+bH0pO3ZhciByPXQoNjg1MzY5KTtjb25zdCBvPVsiVW5rbm93biIsIldXIiwiRG9nZm9vZCIsIlNJUCIsIkJsYWNrRm9yZXN0IiwiRE9OTVQiLCJNU0lUIiwiR2FsbGF0aW4iLCJTREZWMiIsIlBEVCIsIlRERiIsIklUQVIiXSxpPVsiVW5rbm93biIsIkFHMDgiLCJBRzA5IiwiQmxhY2tGb3Jlc3QiLCJESVRBUiIsIkRvRCIsIkRvZ2Zvb2QiLCJHYWxsYXRpbiIsIkdDQ01vZGVyYXRlIiwiR2NjSGlnaCIsIkdvdkNsb3VkIiwiSVRBUiIsIlByb2QiXTtmdW5jdGlvbiBhKCl7Y29uc3QgZT0oKDAsci5aUCkoInBoeXNpY2FsUmluZyIpfHwiIikudG9Mb3dlckNhc2UoKTtyZXR1cm4gby5maWx0ZXIoKG49Pm4udG9Mb3dlckNhc2UoKT09PWUpKVswXXx8IlVua25vd24ifWZ1bmN0aW9uIHMoKXtjb25zdCBlPSgoMCxyLlpQKSgiZW52aXJvbm1lbnQiKXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGkuZmlsdGVyKChuPT5uLnRvTG93ZXJDYXNlKCk9PT1lKSlbMF18fCJVbmtub3duIn1sZXQgdTtmdW5jdGlvbiBjKCl7aWYodm9pZCAwPT09dSl7Y29uc3QgZT1hKCk7dT0iRG9nZm9vZCI9PWV8fCJTREZWMiI9PWV8fCJEb2dmb29kIj09cygpfXJldHVybiB1fWZ1bmN0aW9uIGwoKXtjb25zdCBlPXMoKTtyZXR1cm4iQUcwOCI9PWV8fCJBRzA5Ij09ZX19LDQyODkxMDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHthNDooKT0+aSxJTDooKT0+YX0pO3ZhciByPXQoNjg1MzY5KTtsZXQgbztmdW5jdGlvbiBpKGUpe3JldHVybiBhKCkuaW5kZXhPZihlKT4tMX1mdW5jdGlvbiBhKCl7aWYoIW8pe2NvbnN0IGU9KDAsci5aUCkoImJvb3RGbGlnaHRzIik7bz1lP2Uuc3BsaXQoIiwiKTpbXX1yZXR1cm4gb319LDM5MTY5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1JuOigpPT5ILHlJOigpPT5oLGJ6OigpPT5tLEFvOigpPT51LHBpOigpPT5kLE4kOigpPT5SLHhiOigpPT5TLGJkOigpPT5OLEViOigpPT5DLHQ4OigpPT5mLGhZOigpPT5wLEpZOigpPT52LFFxOigpPT5JfSk7dmFyIHI9dCg5ODQ2MTIpLG89dCgxNzQ4ODQpLGk9dCg3MjUxODgpO2NvbnN0IGE9bnVsbD09c2VsZj92b2lkIDA6c2VsZi5wZXJmb3JtYW5jZSxzPXt9O2Z1bmN0aW9uIHUoKXtyZXR1cm4gaS5nNC52ZXJib3NlKCJbQm9vdE1lbW9yeV0gZ2V0Qm9vdE1lbW9yeSAiK3MpLEpTT04uc3RyaW5naWZ5KHMpfWNvbnN0IGM9bnVsbD09c2VsZj92b2lkIDA6c2VsZi5wZXJmb3JtYW5jZSxsPXt9O2Z1bmN0aW9uIEgoZSl7KDAsby5KSSkoImJwbSIpJiZzZWxmLnBlcmZvcm1hbmNlLm1hcmsoZSksYyYmKGxbZV09TWF0aC5mbG9vcihwZXJmb3JtYW5jZS5ub3coKSksZnVuY3Rpb24oZSl7aWYoYSl7Y29uc3Qgbj1zZWxmLnBlcmZvcm1hbmNlO24ubWVtb3J5JiYoc1tlXT17c2l6ZTpuLm1lbW9yeS51c2VkSlNIZWFwU2l6ZX0pfX0oZSkpfWZ1bmN0aW9uIGQoKXt2YXIgZSxuO2NvbnN0IHQ9YyYmc2VsZi5wZXJmb3JtYW5jZS50aW1pbmc7aWYodCYmKGwuaW5fZT10LnJlc3BvbnNlRW5kLXQuZmV0Y2hTdGFydCwoMCxyLnNqKSgpKSl7Y29uc3Qgcj10Lm5hdmlnYXRpb25TdGFydCxvPWMmJihudWxsPT0obj1udWxsPT0oZT1zZWxmLnBlcmZvcm1hbmNlKT92b2lkIDA6ZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIikpP3ZvaWQgMDpuWzBdKSxpPShudWxsPT1vP3ZvaWQgMDpvLndvcmtlclN0YXJ0KXx8MCxhPVN0cmluZy5mcm9tQ2hhckNvZGUoLi4uW3QucmVkaXJlY3RTdGFydC1yLHQucmVkaXJlY3RFbmQtcix0LnVubG9hZEV2ZW50U3RhcnQtcix0LnVubG9hZEV2ZW50RW5kLXIsdC5mZXRjaFN0YXJ0LXIsdC5kb21haW5Mb29rdXBTdGFydC1yLHQuZG9tYWluTG9va3VwRW5kLXIsdC5jb25uZWN0U3RhcnQtcix0LnNlY3VyZUNvbm5lY3Rpb25TdGFydC1yLHQuY29ubmVjdEVuZC1yLHQucmVxdWVzdFN0YXJ0LXIsdC5yZXNwb25zZVN0YXJ0LXIsdC5yZXNwb25zZUVuZC1yLHQuZG9tTG9hZGluZy1yLHQuZG9tSW50ZXJhY3RpdmUtcix0LmRvbUNvbXBsZXRlLXIsdC5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydC1yLHQuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kLXIsdC5sb2FkRXZlbnRTdGFydC1yLHQubG9hZEV2ZW50RW5kLXIsaV0ubWFwKChlPT5NYXRoLm1pbihNYXRoLm1heChlLDApLDExMTQxMTEpKSkpO2wuZmw9YX1yZXR1cm4gSlNPTi5zdHJpbmdpZnkobCl9ZnVuY3Rpb24gUygpe2NvbnN0IGU9T2JqZWN0LmtleXMobCkuZmlsdGVyKChlPT5lLmluZGV4T2YoIl9lIik+LTEpKS5yZWR1Y2UoKChlLG4pPT57Y29uc3QgdD1uLnNwbGl0KCJfIilbMF0scj1sW3QrIl9zIl0sbz1sW3QrIl9lIl07cmV0dXJuIm51bWJlciI9PXR5cGVvZiByJiYibnVtYmVyIj09dHlwZW9mIG8mJihlW3RdPW8tciksZX0pLHt9KTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9ZnVuY3Rpb24gZihlLG4pe3JldHVybiBmdW5jdGlvbihlLG4sdCl7cmV0dXJuIGZ1bmN0aW9uKC4uLnIpe24oKTtsZXQgbz1lKC4uLnIpO3JldHVybihudWxsPT1vP3ZvaWQgMDpvLnRoZW4pP289by50aGVuKChlPT4odCgpLGUpKSk6dCgpLG99fShlLCgoKT0+cChuKSksKCgpPT5DKG4pKSl9ZnVuY3Rpb24gcChlKXtIKGAke2V9X3NgKX1mdW5jdGlvbiBDKGUpe2NvbnN0IG49YCR7ZX1fZWA7SChuKSwoMCxvLkpJKSgiYnBtIikmJnNlbGYucGVyZm9ybWFuY2UubWVhc3VyZShlLGAke2V9X3NgLG4pfWNvbnN0IEE9e307ZnVuY3Rpb24gSShlLG4pe2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCByPW5bdF0ua2V5O3ImJm5bdF0ucHJvbWlzZS50aGVuKChuPT57QVtlXT1yfSkpLmNhdGNoKCgoKT0+e30pKX1jb25zdCByPW4ubWFwKChlPT5lLnByb21pc2UpKTt0cnl7cmV0dXJuIFByb21pc2UuYWxsKHIpfWNhdGNoKGUpe2NvbnN0IHQ9e3BrOnR5cGVvZiBuLHB0OnR5cGVvZiByLHN0OnR5cGVvZiBzZWxmLlN5bWJvbCxzdGk6dHlwZW9mIFN5bWJvbC5pdGVyYXRvcn07dGhyb3cgbiYmKHQucGtsPW4ubGVuZ3RoKSxyJiYodC5wbD1yLmxlbmd0aCxTeW1ib2wuaXRlcmF0b3ImJih0LnBpPXR5cGVvZiByW1N5bWJvbC5pdGVyYXRvcl0pKSxlLmRpYWdub3N0aWNJbmZvPUpTT04uc3RyaW5naWZ5KHQpLGV9fWZ1bmN0aW9uIGgoZSxuKXtBW2VdfHwoQVtlXT1uKX1mdW5jdGlvbiBSKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KEEpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIHNlbGYuZG9jdW1lbnQmJiJ2aXNpYmxlIj09c2VsZi5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU/c2VsZi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7ZSghMCl9KSk6dm9pZCBlKCExKX1jb25zdCBVPXt9O2Z1bmN0aW9uIG0oZSxuKXtpZighVVtlXSYmIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiaW4gc2VsZiYmInN1cHBvcnRlZEVudHJ5VHlwZXMiaW4gc2VsZi5QZXJmb3JtYW5jZU9ic2VydmVyJiZzZWxmLlBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcy5zb21lKChuPT5uPT1lKSkpe2NvbnN0IG49W10sdD1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoZT0+e24ubWFwKChuPT5uKGUuZ2V0RW50cmllcygpKSkpfSkpO1VbZV09e29ic2VydmVyOnQsY2FsbGJhY2tzOm59LHQub2JzZXJ2ZSh7ZW50cnlUeXBlczpbZV19KX1jb25zdCB0PVVbZV07cmV0dXJuIHQmJnQuY2FsbGJhY2tzLnB1c2gobiksbnVsbD09dD92b2lkIDA6dC5vYnNlcnZlcn1mdW5jdGlvbiBOKCl7cmV0dXJuIHNlbGYucGVyZm9ybWFuY2U/c2VsZi5wZXJmb3JtYW5jZS5ub3coKTpEYXRlLm5vdygpfX0sMzI3MDM5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7bGV0IHI7ZnVuY3Rpb24gbyhlKXtyPWV9ZnVuY3Rpb24gaSgpe3JldHVybiByfXQuZChuLHtnOigpPT5vLEY6KCk9Pml9KX0sMTc0ODg0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se25NOigpPT5hLF9DOigpPT5zLG1uOigpPT51LEpJOigpPT5jLFdNOigpPT5ILGhqOigpPT5kLHJPOigpPT5mLFB6OigpPT5wLHJjOigpPT5DLHpsOigpPT5BfSk7dmFyIHI9dCg0ODkwMzQpO2xldCBvLGk9bnVsbDtmdW5jdGlvbiBhKGUpe3JldHVybiBlfHwoZT0oMCxyLnkpKCkubG9jYXRpb24pLGU9PT1sb2NhdGlvbj9pfHwoaT1sKGxvY2F0aW9uKSk6bChlKX1mdW5jdGlvbiBzKCl7aT1sKGxvY2F0aW9uKX1mdW5jdGlvbiB1KGUpe3JldHVybiBpP2lbZV06YSgpW2VdfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGk/ZSBpbiBpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhKCksZSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5zZWFyY2g/ZihlLnNlYXJjaC5zdWJzdHIoMSkpOnt9fWZ1bmN0aW9uIEgoKXtyZXR1cm4gb3x8KG89ZnVuY3Rpb24oKXtjb25zdCBlPXUoInNvdXJjZSIpO2lmKGUpe2NvbnN0IGU9ZChsb2NhdGlvbi5zZWFyY2gsInNvdXJjZSIpO2hpc3RvcnkucmVwbGFjZVN0YXRlKGhpc3Rvcnkuc3RhdGUsIi8iLGxvY2F0aW9uLnBhdGhuYW1lK2UpfXJldHVybiBlfSgpKX1mdW5jdGlvbiBkKGUsbil7Y29uc3QgdD1uZXcgUmVnRXhwKCIoXFw/fCYpIituKyI9XFx3KiY/IiwiZyIpO2xldCByPWUuc3BsaXQodCkuam9pbigiIik7Y29uc3Qgbz1yW3IubGVuZ3RoLTFdO3JldHVybiI/IiE9PW8mJiImIiE9PW98fChyPXIuc3Vic3RyKDAsci5sZW5ndGgtMSkpLHJ9Y29uc3QgUz0vXCsvZztmdW5jdGlvbiBmKGUpe2NvbnN0IG49e307aWYoInN0cmluZyI9PXR5cGVvZiBlJiZlLmxlbmd0aD4wKXtjb25zdCB0PWUuc3BsaXQoIiYiKSxyPXQubGVuZ3RoPjFlMz8xZTM6dC5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxyOysrZSl7Y29uc3Qgcj10W2VdLnJlcGxhY2UoUywiJTIwIikuc3BsaXQoIj0iKTtuW2RlY29kZVVSSUNvbXBvbmVudChyWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KHIuc2xpY2UoMSkuam9pbigiPSIpKX19cmV0dXJuIG59ZnVuY3Rpb24gcChlKXtyZXR1cm4gZT9PYmplY3Qua2V5cyhlKS5tYXAoKG49PmVuY29kZVVSSUNvbXBvbmVudChuKSsoZVtuXT8iPSIrZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pOiIiKSkpLmpvaW4oIiYiKToiIn1jb25zdCBDPSgpPT4iZ3VscCJpbihpfHxhKCkpLEE9KCk9Pntjb25zdCBlPWl8fGEoKTtyZXR1cm4iZ3VscCJpbiBlfHwhIWUuYnJhbmNofX0sNDA0ODAxOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1M6KCk9PmN9KTt2YXIgcj10KDYxOTQ3OSksbz10KDkxNTkwNiksaT10KDIwMzIxNyksYT10KDg0MDI0NCkscz10KDcyNTE4OCksdT10KDYzNDAwNyk7ZnVuY3Rpb24gYyhlLG4sdCl7cy5nNC5pbmZvKGBTZXJ2aWNlQWN0aW9uICR7ZX1gLCJzZXJ2aWNlIik7Y29uc3QgYz0oMCxvLmlFKSgpO2xldCBsO2lmKCgwLGkuWikoYywiQWNjdC1NYWtlU2VydmljZVJlcXVlc3RNYWlsYm94IixudWxsPT10P3ZvaWQgMDp0Lm1haWxib3hJbmZvKSxudWxsPT10P3ZvaWQgMDp0LmVuZHBvaW50KWw9dC5lbmRwb2ludDtlbHNle2w9YCR7KG51bGw9PXQ/dm9pZCAwOnQuY3VzdG9tQmFzZVVybCk/dC5jdXN0b21CYXNlVXJsU3ViUGF0aD90LmN1c3RvbUJhc2VVcmwuY29uY2F0KHQuY3VzdG9tQmFzZVVybFN1YlBhdGgpOnQuY3VzdG9tQmFzZVVybDoobnVsbD09dD92b2lkIDA6dC5jdXN0b21CYXNlVXJsU3ViUGF0aCk/Yy5iYXNlVXJsLmNvbmNhdCgiLyIrdC5jdXN0b21CYXNlVXJsU3ViUGF0aCk6Yy5iYXNlVXJsfS9zZXJ2aWNlLnN2Yz9hY3Rpb249JHtlfWB9cmV0dXJuKHZvaWQgMCE9PWMuaXNVc2VySWRsZSYmYy5pc1VzZXJJZGxlKCl8fDA9PShudWxsPT10P3ZvaWQgMDp0LmlzVXNlckFjdGl2aXR5KSkmJihsPSgwLHUuWikobCx7VUE6IjAifSkpLGw9KDAsdS5aKShsLHthcHA6KDAsYS5NcSkoKX0sITApLCgwLHIuWikoZSxsLDEsdCxuKX19LDYzOTI0MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtxOigpPT5pfSk7dmFyIHI9dCg5MTU5MDYpO2NvbnN0IG89IklkVHlwZSI7ZnVuY3Rpb24gaShlLG4pe3ZhciB0O2NvbnN0IG89KDAsci5pRSkoKTsiSW1tdXRhYmxlSWQiPT1uPyhudWxsPT0odD1vLmlzRmVhdHVyZUVuYWJsZWQpP3ZvaWQgMDp0LmNhbGwobywiZndrLWltbXV0YWJsZS1pZHMiKSkmJmEoZSxuKTphKGUsbil9ZnVuY3Rpb24gYShlLG4pe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHMoZSk/ZS5nZXQoInByZWZlciIpOmUucHJlZmVyfShlKTtpZighdHx8dC5pbmRleE9mKG8pPDApe2NvbnN0IHI9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbj9gJHtufSwgJHtlfWA6ZX0oYElkVHlwZT0iJHtufSJgLHQpO3MoZSk/ZS5zZXQoInByZWZlciIscik6ZS5wcmVmZXI9cn19ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWUuZ2V0JiYhIWUuc2V0fX0sNjUzNzY5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9Pm99KTt2YXIgcj10KDkxNTkwNik7ZnVuY3Rpb24gbyhlKXt2YXIgbjtjb25zdCB0PSgwLHIuaUUpKCk7aWYobnVsbD09KG49dC5pc0ZlYXR1cmVFbmFibGVkKT92b2lkIDA6bi5jYWxsKHQsImFkZGluLWV2ZXJ5TWVldGluZ09ubGluZSIpKXtjb25zdCBuPWZ1bmN0aW9uKGUpe2NvbnN0IG49J2V4Y2hhbmdlLmJlaGF2aW9yPSJJbmNsdWRlVGhpcmRQYXJ0eU9ubGluZU1lZXRpbmdQcm92aWRlcnMiJyx0PWkoZSk/ZS5nZXQoInByZWZlciIpOmUucHJlZmVyO3JldHVybiB0P2Ake3R9LCAke259YDpufShlKTtpKGUpP2Uuc2V0KCJwcmVmZXIiLG4pOmUucHJlZmVyPW59fWZ1bmN0aW9uIGkoZSl7cmV0dXJuISFlLmdldCYmISFlLnNldH19LDc5ODI1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3NfOigpPT5vLE56OigpPT5pLFhMOigpPT5hfSk7dmFyIHI9dCg4NDAyNDQpO2Z1bmN0aW9uIG8oZSl7bGV0IG49KDAsci5laikocygiWC1PV0EtQ0FOQVJZIixlKSk7Y29uc3QgdD0oMCxyLmVqKShzKCJYLU9XQS1DQU5BUlktUFJEIixlKSksbz0oMCxyLmVqKShzKCJYLU9XQS1DQU5BUlktQkYiLGUpKTtyZXR1cm4gbiYmMCE9bi5sZW5ndGg/KHQmJnQubGVuZ3RoPjAmJihuKz0iLCIrdCksbyYmby5sZW5ndGg+MCYmKG4rPSIsIitvKSxuKTpudWxsfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIG8oZSl8fCJYLU9XQS1DQU5BUllfY29va2llX2lzX251bGxfb3JfZW1wdHkifWZ1bmN0aW9uIGEoZSl7cmV0dXJuKDAsci5laikocygiWC1PV0EtQ0FOQVJZLURFQlVHIixlKSl9ZnVuY3Rpb24gcyhlLG4pe3JldHVybiBlKygobj1ufHwoMCxyLmVqKSgidGFyZ2V0U2VydmVyIikpPyJfIituLnRvTG9jYWxlTG93ZXJDYXNlKCk6IiIpfX0sMjAzMjE3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9Pml9KTt2YXIgcj10KDE4OTc5Nyksbz10KDk4NDYxMik7ZnVuY3Rpb24gaShlLG4sdCl7dmFyIGk7aWYoKDAsby5zaikoKSYmKG51bGw9PShpPWUuaXNGZWF0dXJlRW5hYmxlZCk/dm9pZCAwOmkuY2FsbChlLCJhY2N0LW1haWxib3hpbmZvLWlubmVycmluZy10ZWxlbWV0cnkiKSkpe2NvbnN0IGU9ISEobnVsbD09dD92b2lkIDA6dC50eXBlKSYmISEobnVsbD09dD92b2lkIDA6dC51c2VySWRlbnRpdHkpJiYhIShudWxsPT10P3ZvaWQgMDp0Lm1haWxib3hTbXRwQWRkcmVzcyksbz1lJiYhIShudWxsPT10P3ZvaWQgMDp0LnNvdXJjZUlkKSYmISEobnVsbD09dD92b2lkIDA6dC5tYWlsYm94UmFuayk7aWYoIWV8fCFvKXtjb25zdCBpPW5ldyBFcnJvcihuKTsoMCxyLkMpKG4se3Byb3ZpZGVkOmUsc3RvcmU6byx0eXBlOm51bGw9PXQ/dm9pZCAwOnQudHlwZSx1c2VySWQ6dHlwZW9mKG51bGw9PXQ/dm9pZCAwOnQudXNlcklkZW50aXR5KSxzbXRwOnR5cGVvZihudWxsPT10P3ZvaWQgMDp0Lm1haWxib3hTbXRwQWRkcmVzcyksc291cmNlSWQ6dHlwZW9mKG51bGw9PXQ/dm9pZCAwOnQuc291cmNlSWQpLHJhbms6dHlwZW9mKG51bGw9PXQ/dm9pZCAwOnQubWFpbGJveFJhbmspLHN0YWNrOmkuc3RhY2t9KX19fX0sOTE1OTA2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3FfOigpPT5pLGlFOigpPT5hfSk7Y29uc3Qgcj17YmFzZVVybDoiL293YSIsaXNGZWF0dXJlRW5hYmxlZDooKT0+ITEsdGltZW91dE1TOjllNCxkaXNhYmxlQWxsUmVxdWVzdHM6ITEsaXNSZXNvdXJjZVRva2VuUHJlZmV0Y2hFbmFibGVkOiExfTtsZXQgbz1yO2Z1bmN0aW9uIGkoZSl7bz17Li4ubywuLi5lfX1mdW5jdGlvbiBhKCl7cmV0dXJuIG99fSwxNDc2MDA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7dVk6KCk9PnIsJEY6KCk9Pkh9KTtjb25zdCByPSJNUy1DViIsbz0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsaT17bWF4Q29ycmVsYXRpb25WZWN0b3JMZW5ndGg6MTI3LGJhc2VMZW5ndGg6MjIsdmFsaWRhdGlvblBhdHRlcm46bmV3IFJlZ0V4cCgiXlsiK28rIl17MjJ9KC5bMC05XSspKyQiKX07dmFyIGE9IiIscz0wO2Z1bmN0aW9uIHUoKXtyZXR1cm4gYS5jb25jYXQoIi4iLHMudG9TdHJpbmcoKSl9ZnVuY3Rpb24gYygpe3JldHVybiEhbCh1KCkpJiZhLmxlbmd0aCsxKyhzKzErIiIpLmxlbmd0aDw9aS5tYXhDb3JyZWxhdGlvblZlY3Rvckxlbmd0aH1mdW5jdGlvbiBsKGUpe3JldHVybiBpLnZhbGlkYXRpb25QYXR0ZXJuLnRlc3QoZSkmJmUubGVuZ3RoPD1pLm1heENvcnJlbGF0aW9uVmVjdG9yTGVuZ3RofWZ1bmN0aW9uIEgoKXtyZXR1cm4gbCh1KCkpP2MoKT8ocys9MSx1KCkpOm51bGw6KGE9ZnVuY3Rpb24oKXtmb3IodmFyIGU9IiIsbj0wO248aS5iYXNlTGVuZ3RoO24rKyllKz1vLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqby5sZW5ndGgpKTtyZXR1cm4gZX0oKSxzPTAsbChlPXUoKSk/ZToiIik7dmFyIGV9fSw2OTg2NDE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7bkM6KCk9PmMsY0k6KCk9PmwscE06KCk9Pkh9KTt2YXIgcj10KDkxNTkwNiksbz10KDYzOTI0MiksaT10KDIwMzIxNyksYT10KDMwMzU3KSxzPXQoODQwMjQ0KSx1PXQoNjUzNzY5KTtjb25zdCBjPSJBdXRob3JpemF0aW9uIixsPSJYLU93YVdlYlNlc3Npb25UeXBlIjtmdW5jdGlvbiBIKGUsbix0LEgpe2NvbnN0IGQ9KDAsYS5OKSgpO2RbIlgtUmVxLVNvdXJjZSJdPSgwLHMuTXEpKCk7Y29uc3QgUz0oMCxyLmlFKSgpOygwLGkuWikoUywiQWNjdC1EZWZhdWx0SGVhZGVyc01haWxib3giLG4pLFMuaXNGZWF0dXJlRW5hYmxlZCgiZndrLXVzZUpzb25OZXRTZXJpYWxpemVyIikmJihkWyJYLVVzZUpzb25OZXRTZXJpYWxpemVyIl09IjEiKTtsZXQgZj1Qcm9taXNlLnJlc29sdmUoZCkscD1Qcm9taXNlLnJlc29sdmUodm9pZCAwKSxDPVByb21pc2UucmVzb2x2ZSgiIiksQT1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTtyZXR1cm4hZSYmUy5nZXRBdXRoVG9rZW4mJihwPVMuZ2V0QXV0aFRva2VuKHZvaWQgMCxuKSxTLmdldFdlYlNlc3Npb25UeXBlJiYoQz1TLmdldFdlYlNlc3Npb25UeXBlKG4pKSksIXQmJlMuZ2V0QW5jaG9yTWFpbGJveCYmKEE9Uy5nZXRBbmNob3JNYWlsYm94KG4pKSxmPVByb21pc2UuYWxsKFtwLEMsQV0pLnRoZW4oKChbZSxuLHRdKT0+KGUmJihkW2NdPWUsUy5nZXRXZWJTZXNzaW9uVHlwZSYmbiYmKGRbbF09bikpLHQmJihkWyJ4LWFuY2hvcm1haWxib3giXT10KSxkKSkpLCgwLG8ucSkoZCxudWxsIT1IP0g6IkltbXV0YWJsZUlkIiksKDAsdS5aKShkKSxmLmJlc3RFZmZvcnQ9ZCxmfX0sNDQ5ODQ5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9Pm99KTt2YXIgcj10KDY5ODY0MSk7ZnVuY3Rpb24gbyhlKXtjb25zdCBuPShlPWV8fHt9KS5oZWFkZXJzP25ldyBIZWFkZXJzKGUuaGVhZGVycyk6bmV3IEhlYWRlcnMsdD17Li4uZSxtZXRob2Q6ZS5tZXRob2R8fCJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczpufSxvPW51bGw9PW4/dm9pZCAwOm4uaGFzKCJBdXRob3JpemF0aW9uIiksaT1udWxsPT1uP3ZvaWQgMDpuLmhhcygieC1hbmNob3JtYWlsYm94Iik7cmV0dXJuKDAsci5wTSkobyxlLm1haWxib3hJbmZvLGksZS5jdXN0b21JZFR5cGUpLnRoZW4oKGU9PihPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT57bi5zZXQodCxlW3RdKX0pKSx0KSkpfX0sMTEwOTQ2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0M6KCk9PmF9KTt2YXIgcj10KDE3NDg4NCksbz10KDQ4OTAzNCk7bGV0IGk9ITE7ZnVuY3Rpb24gYShlKXtpZighaSl7aT0hMDtjb25zdCBuPSgwLG8ueSkoKS5sb2NhdGlvbix0PSgwLHIubk0pKG4pO2xldCBhPSExO2NvbnN0IHM9ZT9lLmdldCgiWC1PV0EtQ2xhaW1DaGFsbGVuZ2UiKTp2b2lkIDA7cyYmdC5jYyE9PXMmJih0LmNjPWRlY29kZVVSSUNvbXBvbmVudChzKSxhPSEwKSx2b2lkIDA9PT10LmF1dGhSZWRpcmVjdCYmKHQuYXV0aFJlZGlyZWN0PSJ0cnVlIixhPSEwKSxhJiYodC5zdGF0ZT0iMCIsbi5zZWFyY2g9Ij8iKygwLHIuUHopKHQpKX19fSw2MTk0Nzk6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+RCxrOigpPT5UfSk7dmFyIHI9dCgyMjY5MjUpLG89dCg5MTU5MDYpLGk9dCgyODg5MzEpLGE9dCg4NDAyNDQpO2xldCBzPW51bGwsdT1udWxsO2FzeW5jIGZ1bmN0aW9uIGMoZSl7bnVsbD09cyYmKCgwLGEuU24pKCl8fG51bGwhPXUmJkRhdGUubm93KCktdTw4MjhlNXx8KHU9RGF0ZS5ub3coKSxzPXNlbGYuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikscy5zZXRBdHRyaWJ1dGUoImlkIiwiYmFja2dyb3VuZGF1dGgiKSxzLnN0eWxlLmRpc3BsYXk9Im5vbmUiLCgwLGkuWikoe30sZSkudGhlbigoZT0+ezA9PWUuUmVzdWx0Q29kZSYmbnVsbCE9ZS5BdXRoZW50aWNhdGlvblVybCYmIiIhPWUuQXV0aGVudGljYXRpb25Vcmw/KHMmJihzZWxmLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocyksc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixsLCExKSxzLnNyYz1lLkF1dGhlbnRpY2F0aW9uVXJsKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe251bGwhPXMmJkgoKX0pLDZlNCkpOnM9bnVsbH0pKS5jYXRjaCgoZnVuY3Rpb24oKXtzPW51bGx9KSkpKX1mdW5jdGlvbiBsKGUpe2Uub3JpZ2luPT13aW5kb3cubG9jYXRpb24ub3JpZ2luJiZlLmRhdGEmJmUuZGF0YS5zcGxpdCYmKCJiYWNrZ3JvdW5kQXV0aFJlc3BvbnNlIj09ZS5kYXRhLnNwbGl0KCI6IilbMF0mJkgoKSl9ZnVuY3Rpb24gSCgpe3MmJih3aW5kb3cuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzKSxzPW51bGwsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGwpKX12YXIgZD10KDIwMjEyMSk7dmFyIFM9dCgxMTA5NDYpLGY9dCgxODk3OTcpLHA9dCg0ODkwMzQpO2xldCBDO2NvbnN0IEE9Ik5lZWRzQXV0aCI7ZnVuY3Rpb24gSShlLG4sdCxyKXtjb25zdCBpPWZ1bmN0aW9uKGUsbil7Y29uc3QgdD0oMCxvLmlFKSgpO2lmKDQwMT09ZS5zdGF0dXN8fDQ0MD09ZS5zdGF0dXMpe2lmKGZ1bmN0aW9uKGUpe3JldHVybiFlfHwhKDAsZC5aKShlKSYmITEhPT1lLmF1dGhOZWVkZWRPblVuQXV0aG9yaXplZH0obikpcmV0dXJuIHQub25BdXRoRmFpbGVkP3Qub25BdXRoRmFpbGVkKGUuaGVhZGVycyk6KDAsUy5DKShlLmhlYWRlcnMpLGUuc291cmNlPUEsQX1lbHNlIGlmKCFlLm9rKXJldHVybiA0MTI9PWUuc3RhdHVzJiZmdW5jdGlvbihlKXtpZihlJiYiNSI9PWUuZ2V0KCJYLU9XQS1FeHRlbmRlZEVycm9yQ29kZSIpKXtjb25zdCBuPWUuZ2V0KCJYLU9XQS1FeHRlbmRlZEVycm9yRGF0YSIpLHQ9ZS5nZXQoIlgtT1dBLUV4dGVuZGVkRXJyb3JNZXNzYWdlIik7IUMmJm4mJihDPSEwLCgwLGYuQykoIlJlYWN0SGlwUmVkaXJlY3QiLHtoaXBQYXRoOm4saGlwVHlwZTp0fSx7aXNDb3JlOiEwfSksKDAscC55KSgpLmxvY2F0aW9uLmhyZWY9bil9cmV0dXJuIEN9KGUuaGVhZGVycyk/KGUuc291cmNlPUEsQSk6ZS5oZWFkZXJzJiZlLmhlYWRlcnMuZ2V0KCJ4LW93YS1lcnJvciIpfHxlLnN0YXR1c1RleHQ7cmV0dXJuIG51bGx9KG4sdCk7aWYodC5yZXR1cm5GdWxsUmVzcG9uc2VPblN1Y2Nlc3MpcmV0dXJuIG4uY2FsbHN0YWNrQXRSZXF1ZXN0PXIsbi5yZXNwb25zZUVycm9yTWVzc2FnZT1gUmVxdWVzdEZhaWxlZDoke2V9IHdpdGggJHtuLnNvdXJjZX1gLGk/UHJvbWlzZS5yZWplY3Qobik6UHJvbWlzZS5yZXNvbHZlKG4pO2lmKGkpe2NvbnN0IHQ9aChlLGksbixyKTt0aHJvdyB0LnJlc3BvbnNlPW4sdH1yZXR1cm4gbnVsbCE9bi5oZWFkZXJzLmdldCgiWC1PV0EtU1RPIikmJmModCksdC5yZXR1cm5SZXNwb25zZUhlYWRlcnM/UHJvbWlzZS5yZXNvbHZlKG4pOm4uanNvbigpLmNhdGNoKCh0PT57dGhyb3cgaChlLG51bGw9PXQ/dm9pZCAwOnQubWVzc2FnZSxuLHIpfSkpfWZ1bmN0aW9uIGgoZSxuLHQscil7Y29uc3Qgbz1uZXcgRXJyb3IoYCR7ZX0gZmFpbGVkOiAke259YCk7cmV0dXJuIHImJihvLmRpYWdub3N0aWNJbmZvPXIpLG8uZmV0Y2hFcnJvclR5cGU9bj09QT8iQXV0aE5lZWRlZCI6IlNlcnZlckZhaWx1cmUiLG8uaHR0cFN0YXR1cz10LnN0YXR1cyxvfXZhciBSPXQoOTkzNDY0KSx2PXQoMjAzMjE3KSxVPXQoMzAzNTcpO2Z1bmN0aW9uIG0oZSxuKXsoMCxVLlkpKG4pLG4uc2V0KCJYLU9XQS1BdHRlbXB0IiwiIitlKX12YXIgTj10KDYyMjU1NSksSz10KDQ0OTg0OSksZz10KDkxMzE5NCkseT10KDE0NzYwMCk7dmFyIHc9dCg1MzM2OTQpLGI9dCg2OTg2NDEpLEU9dCg1NTk5MjUpLGs9dCgyMTYwODUpO2NvbnN0IE89MjtsZXQgeD0wO2NvbnN0IFA9e307ZnVuY3Rpb24gVChlKXtjb25zdCBuPXgrKztyZXR1cm4gUFtuXT1lLCgpPT57ZGVsZXRlIFBbbl19fWZ1bmN0aW9uIEQoZSxuLHQscixvKXtpZihudWxsPT1yP3ZvaWQgMDpyLnBlcmZEYXRhcG9pbnQpe2NvbnN0IGk9ci5wZXJmRGF0YXBvaW50O2lmKGkuZGF0YXBvaW50fHxpLmN1c3RvbURhdGFwb2ludHx8aS53ZWJXb3JrZXJEYXRhcG9pbnR8fGkuY3VzdG9tV2ViV29ya2VyRGF0YXBvaW50KXtjb25zdCBhPXtkaXNjYXJkSWZEZWZpbmVkOmkuZGlzY2FyZElmRGVmaW5lZHx8ITF9O3JldHVybigwLGsuY0opKHtkYXRhcG9pbnQ6aS5kYXRhcG9pbnQsY3VzdG9tRGF0YXBvaW50OmkuY3VzdG9tRGF0YXBvaW50LHdlYldvcmtlckRhdGFwb2ludDppLndlYldvcmtlckRhdGFwb2ludCxjdXN0b21XZWJXb3JrZXJEYXRhcG9pbnQ6aS5jdXN0b21XZWJXb3JrZXJEYXRhcG9pbnR9LGEsTSxlLG4sdCxyLG8pfX1yZXR1cm4gTShlLG4sdCxyLG8pfWFzeW5jIGZ1bmN0aW9uIE0oZSxuLHQsaSxzKXt2YXIgdSxjLGwsSCxTLGY7Y29uc3QgcD1hc3luYyBmdW5jdGlvbihlLG4sdCl7Y29uc3Qgcj0oMCxvLmlFKSgpO2lmKHIucHJlcGFyZVJlcXVlc3RPcHRpb25zKXtjb25zdCBuPXIucHJlcGFyZVJlcXVlc3RPcHRpb25zKGUpO24mJihlPW4udGhlbj9hd2FpdCBuOm4pfWNvbnN0IGk9YXdhaXQoMCxLLlopKGUpLHM9aS5oZWFkZXJzO2lmKHQmJnMuc2V0KCJBY3Rpb24iLHQpLHMuc2V0KCJYLU9XQS1Db3JyZWxhdGlvbklkIiwoMCxnLlopKCkpLHMuc2V0KCJYLU9XQS1TZXNzaW9uSWQiLCgwLGEuTVEpKCkpLG4pe3MuYXBwZW5kKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Iik7Y29uc3QgZT1KU09OLnN0cmluZ2lmeShuKSx0PWVuY29kZVVSSUNvbXBvbmVudChlKTtpLm5vRW1wdHlQb3N0fHx0Lmxlbmd0aD4yMDQ4P2kuYm9keT1lOihzLmFwcGVuZCgiWC1PV0EtVXJsUG9zdERhdGEiLHQpLGkuYm9keT12b2lkIDApfWlmKCFzLmhhcyh5LnVZKSl7Y29uc3QgZT0oMCx5LiRGKSgpO2UmJnMuYXBwZW5kKHkudVksZSl9cmV0dXJuIGl9KGkscyxlKSxDPW4rIiZuPSIrKDAsTi5aKSgpLEE9KDAsci5aKShDLHApO2xldCBoPWU7IlVwZGF0ZUl0ZW0iPT1lJiYoaD1lKyhudWxsPT0oZj1udWxsPT0oUz1udWxsPT0oSD1udWxsPT0obD1udWxsPT0oYz1udWxsPT0odT1udWxsPT1zP3ZvaWQgMDpzLkJvZHkpP3ZvaWQgMDp1Lkl0ZW1DaGFuZ2VzKT92b2lkIDA6Y1swXSk/dm9pZCAwOmwuVXBkYXRlcyk/dm9pZCAwOkhbMF0pP3ZvaWQgMDpTLlBhdGgpP3ZvaWQgMDpmLkZpZWxkVVJJKXx8IiIpO2Zvcihjb25zdCBlIG9mIE9iamVjdC52YWx1ZXMoUCkpZShBLGgsQyx0LHApO3JldHVybiBwLnRoZW4oKHI9Pntjb25zdCBhPW5ldyBFcnJvcihlKyJSZXF1ZXN0RmFpbGVkIikuc3RhY2sse3JldHJ5Q291bnQ6dT1PfT1yO3JldHVybiBBLnRoZW4oKGFzeW5jIGZ1bmN0aW9uKGMpe3ZhciBsLEg7bGV0IFM9ITEsZj1uO2lmKCghMD09PWF3YWl0KG51bGw9PShsPW51bGw9PXI/dm9pZCAwOnIuc2hvdWxkUmV0cnkpP3ZvaWQgMDpsLmNhbGwocixjLnN0YXR1cykpfHwoMCxSLlopKGMuc3RhdHVzKSkmJnQ8dSlpZihudWxsPT1yP3ZvaWQgMDpyLm9uQmVmb3JlUmV0cnkpe2NvbnN0IGU9YXdhaXQgci5vbkJlZm9yZVJldHJ5KGMpO2UmJihTPSEwLGUuZGVsYXkmJmF3YWl0KDAsRS5aKShlLmRlbGF5KSxlLmVuZHBvaW50JiYoZj1lLmVuZHBvaW50KSl9ZWxzZSBTPSEwO2lmKFMpe2lmKCgwLHcuWikoYy5zdGF0dXMpJiYhKDAsZC5aKShpKSl7Y29uc3QgZT0oMCxvLmlFKSgpOygwLHYuWikoZSwiQWNjdC1GZXRjaFdpdGhSZXRyeVYyTWFpbGJveEluZm8iLG51bGw9PWk/dm9pZCAwOmkubWFpbGJveEluZm8pLG51bGw9PShIPWUub25BdXRoRmFpbGVkKXx8SC5jYWxsKGUsYy5oZWFkZXJzLG51bGw9PWk/dm9pZCAwOmkubWFpbGJveEluZm8pO2NvbnN0IG49YXdhaXQgZS5nZXRBdXRoVG9rZW4oYy5oZWFkZXJzLG51bGw9PWk/dm9pZCAwOmkubWFpbGJveEluZm8pO2lmKG4pe2lmKHIuaGVhZGVycy5zZXQoYi5uQyxuKSxlLmdldFdlYlNlc3Npb25UeXBlKXtjb25zdCBuPWF3YWl0IGUuZ2V0V2ViU2Vzc2lvblR5cGUoKTtuJiZyLmhlYWRlcnMuc2V0KGIuY0ksbil9fWVsc2Ugci5oZWFkZXJzLmhhcyhiLm5DKSYmci5oZWFkZXJzLmRlbGV0ZShiLm5DKX1yZXR1cm4gbSgrK3Qsci5oZWFkZXJzKSxEKGUsZix0LHIscyl9cmV0dXJuIEkoZSxjLHIsYSl9KSwoZnVuY3Rpb24obyl7aWYoby5yZXRyaWFibGUmJnQ8dSlyZXR1cm4gbmV3IFByb21pc2UoKChvLGkpPT57c2V0VGltZW91dCgoYXN5bmMoKT0+e3RyeXttKCsrdCxyLmhlYWRlcnMpLG8oYXdhaXQgRChlLG4sdCxyLHMpKX1jYXRjaChuKXtjb25zdCB0PW47aWYodC5tZXNzYWdlKXRyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibWVzc2FnZSIse3ZhbHVlOmUrIjoiK3QubWVzc2FnZX0pfWNhdGNoKGUpe31pKHQpfX0pLDVlMyl9KSk7dGhyb3cgby5uZXR3b3JrRXJyb3I9ITAsb30pKX0pKX19LDkxMzE5NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoKXtyZXR1cm4gbygpK28oKSsiLSIrbygpKyItIitvKCkrIi0iK28oKSsiLSIrbygpK28oKStvKCl9ZnVuY3Rpb24gbygpe3JldHVybiBNYXRoLmZsb29yKDY1NTM2KigxK01hdGgucmFuZG9tKCkpKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpfXQuZChuLHtaOigpPT5yfSl9LDYyMjU1NTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7bGV0IHI9MDtmdW5jdGlvbiBvKCl7cmV0dXJuIHIrK319LDcxNDg0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se286KCk9Pml9KTt2YXIgcj10KDQ4OTAzNCksbz10KDg0MDI0NCk7ZnVuY3Rpb24gaShlKXtpZigoMCxvLlNuKSgpKXtjb25zdCBuPSgwLHIueSkoKS5sb2NhdGlvbi5vcmlnaW47ZT0ic3RyaW5nIj09dHlwZW9mIGU/bmV3IFVSTChlLG4pLnRvU3RyaW5nKCk6ey4uLmUsdXJsOm5ldyBVUkwoZS51cmwsbikudG9TdHJpbmcoKX19cmV0dXJuIGV9fSwyMDIxMjE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybihudWxsPT1lP3ZvaWQgMDplLmhlYWRlcnMpJiZudWxsIT1lLmhlYWRlcnMuZ2V0KCJYLU9XQS1FeHBsaWNpdExvZ29uVXNlciIpfXQuZChuLHtaOigpPT5yfSl9LDUzMzY5NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7dmFyIHI9dCg5MTU5MDYpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuISEoMCxyLmlFKSgpLmdldEF1dGhUb2tlbiYmKDQwMT09ZXx8NDQwPT1lKX19LDk5MzQ2NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7dmFyIHI9dCg1MzM2OTQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIDQ0OT09ZXx8NDA4PT1lfHw1MDI9PWV8fGU8MTAwfHxlPjU5OXx8KDAsci5aKShlKX19LDI4ODkzMTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7dmFyIHI9dCg0MDQ4MDEpO2Z1bmN0aW9uIG8oZSxuKXt2YXIgdDtyZXR1cm4gdm9pZCAwPT09ZXx8ZS5fX3R5cGV8fCh0PWUsZT17X190eXBlOiJBdXRoZW50aWNhdGlvblVybFJlcXVlc3Q6I0V4Y2hhbmdlIiwuLi50fSksKDAsci5TKSgiR2V0QXV0aGVudGljYXRpb25VcmwiLGUsbil9fSwzMDM1NzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtZOigpPT5pLE46KCk9PmF9KTt2YXIgcj10KDc5ODI1KSxvPXQoODQwMjQ0KTtmdW5jdGlvbiBpKGUpe2NvbnN0IG49YSgpO09iamVjdC5rZXlzKG4pLmZvckVhY2goKHQ9PntlLnNldCh0LG5bdF0pfSkpfWZ1bmN0aW9uIGEoKXtjb25zdCBlPSgwLG8uZWopKCJ0YXJnZXRTZXJ2ZXIiKSxuPXsiWC1PV0EtQ0FOQVJZIjooMCxyLk56KShlKX0sdD0oMCxyLlhMKShlKTtyZXR1cm4gdCYmKG5bIlgtT1dBLUNBTkFSWS1ERUJVRyJdPXQpLG59fSwyMjY5MjU6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+aX0pO3ZhciByPXQoOTE1OTA2KSxvPXQoNzE0ODQpO2Z1bmN0aW9uIGkoZSxuKXtyZXR1cm4gbi50aGVuP24udGhlbigobj0+YShlLG4pKSk6YShlLG4pfWZ1bmN0aW9uIGEoZSxuKXtlPSgwLG8ubykoZSk7Y29uc3QgdD0oMCxyLmlFKSgpO2lmKHQuZGlzYWJsZUFsbFJlcXVlc3RzKXtjb25zdCBuPW5ldyBFcnJvcigiU2VydmljZSByZXF1ZXN0IGJsb2NrZWQgYmVjYXVzZSBkaXNhYmxlQWxsUmVxdWVzdHMgaXMgZW5hYmxlZC4iKTtyZXR1cm4gbi5kaWFnbm9zdGljSW5mbz1gVVJMOiAke2V9YCxuLmZldGNoRXJyb3JUeXBlPSJSZXF1ZXN0Tm90Q29tcGxldGUiLG4ucmV0cmlhYmxlPSExLFByb21pc2UucmVqZWN0KG4pfXJldHVybiB0LnNlcnZpY2VBY3Rpb25UYXNrUXVldWU/dC5zZXJ2aWNlQWN0aW9uVGFza1F1ZXVlLmFkZCgoKCk9PnMoZSxuKSksbi5wcmlvcml0eSk6cyhlLG4pfWZ1bmN0aW9uIHMoZSxuKXtyZXR1cm4gbmV3IFByb21pc2UoKCh0LG8pPT57Y29uc3QgaT1uLnRpbWVvdXRNU3x8KDAsci5pRSkoKS50aW1lb3V0TVN8fC0xLGE9bjtsZXQgcz0wO2lmKGk+MCl7bGV0IHQ7IkFib3J0Q29udHJvbGxlciJpbiBzZWxmJiYodD1uZXcgQWJvcnRDb250cm9sbGVyLGEuc2lnbmFsPXQuc2lnbmFsKSxzPXNlbGYuc2V0VGltZW91dCgoKCk9PntpZih0KXQuYWJvcnQoKTtlbHNle2NvbnN0IHQ9bmV3IEVycm9yKGBTZXJ2aWNlIHJlcXVlc3Qgd291bGQgaGF2ZSB0aW1lZCBvdXQgYWZ0ZXIgJHtpfW1zIGlmIEFib3J0Q29udHJvbGxlciBpcyBhdmFpbGFibGUuYCk7aWYodC5kaWFnbm9zdGljSW5mbz1gVVJMOiAke2V9YCx0LmZldGNoRXJyb3JUeXBlPSJSZXF1ZXN0VGltZW91dCIsIW4udGltZW91dE1TKXRocm93IHQ7byh0KX19KSxpKX1mZXRjaChlLGEpLnRoZW4oKGU9PntzZWxmLmNsZWFyVGltZW91dChzKSx0KGUpfSkpLmNhdGNoKChuPT57Y29uc3QgdD1uO3QuZmV0Y2hFcnJvclR5cGU9IlJlcXVlc3ROb3RDb21wbGV0ZSIsdC5yZXRyaWFibGU9ITAsIkFib3J0RXJyb3IiPT09dC5uYW1lPyhPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibWVzc2FnZSIse3ZhbHVlOmBTZXJ2aWNlIHJlcXVlc3QgdGltZWQgb3V0IGFmdGVyICR7aX1tcy4gVVJMOiAke2V9YH0pLHQuZmV0Y2hFcnJvclR5cGU9IlJlcXVlc3RUaW1lb3V0Iik6dC5tZXNzYWdlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibWVzc2FnZSIse3ZhbHVlOmAke3QubWVzc2FnZX0uIFVSTDogJHtlfWB9KSxzZWxmLmNsZWFyVGltZW91dChzKSxvKHQpfSkpfSkpfX0sODgwMDQ1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se286KCk9PmF9KTtjb25zdCByPVsiL215ZGF5IiwiL2NhbGVuZGFyd2lkZ2V0IiwiL2luc2lnaHRzIl0sbz0iWC1NZXNzYWdlLUNvdW50IixpPSJYLUZvbGRlci1Db3VudCI7ZnVuY3Rpb24gYShlLG4sdCxhLHMpe2lmKGUuYXBwZW5kKCJYLUpzLUV4cGVyaW1lbnQiLCI1IiksbiYmMCE9bi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIi9tYWlsIikpe2UuYXBwZW5kKGksIjAiKSxlLmFwcGVuZChvLCIwIik7Y29uc3QgdD1uLnRvTG93ZXJDYXNlKCk7KDA9PXQuaW5kZXhPZigiL2NhbGVuZGFyIil8fDA9PXQuaW5kZXhPZigiL2hvc3RlZC9jYWxlbmRhciIpfHwwPT10LmluZGV4T2YoIi9vcHgiKSYmci5zb21lKChlPT50LmluY2x1ZGVzKGUpKSkpJiZlLmFwcGVuZCgiWC1DYWxlbmRhci1Gb2xkZXJzIiwiMSIpfWVsc2V7aWYodCl7Y29uc3Qgbj1hPzY1OjI5O2UuYXBwZW5kKG8sYCR7TWF0aC5mbG9vcigodC0yNTApL24pfWApfXMmJmUuYXBwZW5kKGkscyl9fX0sMzM2ODI5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se186KCk9Pm8saTooKT0+aX0pO3ZhciByPXQoMTU5ODY3KTtjb25zdCBvPSJzZG1wIjtmdW5jdGlvbiBpKCl7dHJ5e2NvbnN0IGU9KDAsci5yVikod2luZG93LG8pO3JldHVybiBlP0pTT04ucGFyc2UoZSkuSW5ib3hSZWFkaW5nUGFuZVBvc2l0aW9uOnZvaWQgMH1maW5hbGx5e3JldHVybn19fSwzMjYyNjA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsbix0LHIpe2NvbnN0IGk9d2luZG93LlJlc3BvbnNlJiZlIGluc3RhbmNlb2Ygd2luZG93LlJlc3BvbnNlP2Z1bmN0aW9uKGUpe2NvbnN0IG49bmV3IEVycm9yKCJCb290RXJyb3JGcm9tUmVzcG9uc2UiKTtyZXR1cm4gbi5yZXNwb25zZT1lLG59KGUpOiJzdHJpbmciPT10eXBlb2YgZT9uZXcgRXJyb3IoZSk6ZTtyZXR1cm4gbyhpLCJzb3VyY2UiLG4pLG8oaSwidXJsIix0KSxvKGksInN0YXR1cyIsciksaX1mdW5jdGlvbiBvKGUsbix0KXt2b2lkIDA9PT1lW25dJiYoZVtuXT10KX10LmQobix7WjooKT0+cn0pfSw5NjkyMzU6KCk9PnsidXNlIHN0cmljdCI7dHJ5e2lmKCJwZXJmb3JtYW5jZSJpbiB3aW5kb3c9PTEmJiJmdW5jdGlvbiIhPXR5cGVvZiB3aW5kb3cucGVyZm9ybWFuY2Uubm93KXt2YXIgZT1EYXRlLm5vdygpO3dpbmRvdy5wZXJmb3JtYW5jZS5ub3c9KCk9PkRhdGUubm93KCktZX19Y2F0Y2goZSl7ZSYmd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93Lm9uZXJyb3ImJndpbmRvdy5vbmVycm9yKCJQb2x5ZmlsbCBlcnJvciIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZSl9fSw3NTY1OTI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7bUw6KCk9PnMsbkQ6KCk9PnUsdUM6KCk9PmMsV0E6KCk9PmwsYVI6KCk9PkgsdWY6KCk9PmQsazM6KCk9PlN9KTt2YXIgcj10KDE1OTg2Nyksbz10KDQ4OTAzNCk7bGV0IGk7ZnVuY3Rpb24gYSgpe2lmKCFpKXtjb25zdCBlPSgwLHIuclYpKCgwLG8ueSkoKSwiQm9vdERpYWdub3N0aWNzIik7aWYoZSl0cnl7aT1KU09OLnBhcnNlKGUpfWNhdGNoKGUpe2k9e319ZWxzZSBpPXt9fXJldHVybiBpfWZ1bmN0aW9uIHMoZSl7dmFyIG47Y29uc3QgdD1udWxsPT0obj1lLm93YVVzZXJDb25maWcpP3ZvaWQgMDpuLlNlc3Npb25TZXR0aW5ncztyZXR1cm4gdCYmKGk9e3B1aWQ6dC5Vc2VyUHVpZCx0aWQ6dC5FeHRlcm5hbERpcmVjdG9yeVRlbmFudEd1aWQsbWJ4OnQuTWFpbGJveEd1aWQscHJlbTp0LklzUHJlbWl1bUNvbnN1bWVyTWFpbGJveD8iMSI6IjAiLGlzQ29uOjAhPXQuV2ViU2Vzc2lvblR5cGUsdXBuOnQuVXNlclByaW5jaXBhbE5hbWV9KSxpfWZ1bmN0aW9uIHUoKXtyZXR1cm4gYSgpLnB1aWR9ZnVuY3Rpb24gYygpe3JldHVybiBhKCkudGlkfWZ1bmN0aW9uIGwoKXtyZXR1cm4gYSgpLm1ieH1mdW5jdGlvbiBIKCl7cmV0dXJuIGEoKS5wcmVtfWZ1bmN0aW9uIGQoKXtyZXR1cm4gYSgpLmlzQ29ufWZ1bmN0aW9uIFMoKXtyZXR1cm4gYSgpLnVwbn19LDU1OTkyNTooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG5ldyBQcm9taXNlKChuPT5zZXRUaW1lb3V0KG4sZSkpKX10LmQobix7WjooKT0+cn0pfSw4NjY3Mjg6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7aTooKT0+c30pO3ZhciByPXQoODQwMjQ0KSxvPXQoMzkxNjkpLGk9dCg1MDk0OTYpO2NvbnN0IGE9e307YXN5bmMgZnVuY3Rpb24gcyhlLG4pe2lmKGZ1bmN0aW9uKGUpe3JldHVybiBpLnBXLmluY2x1ZGVzKGUpfShlKSlyZXR1cm4gbnVsbDtsZXQgdD1hW2VdO3JldHVybiB0fHwodD1hW2VdPShhc3luYygpPT57dHJ5e2NvbnN0IG49YXdhaXQgZmV0Y2goYCR7KDAsci50OSkoKX1yZXNvdXJjZXMvdGhlbWUvZmFicmljLmNvbG9yLnZhcmlhYmxlcy50aGVtZS4ke2UudG9Mb3dlckNhc2UoKX0uanNvbmApO3JldHVybiBhd2FpdCBuLmpzb24oKX1jYXRjaChlKXtyZXR1cm4gbnVsbH19KSgpLCgwLG8ueUkpKCJ0bV9zIixufHwibi9hIikpLHR9fSw5NjQ5MDg6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7aTooKT0+by5pLFU6KCk9PnJ9KTt2YXIgcj10KDUwOTQ5Niksbz10KDg2NjcyOCl9LDUwOTQ5NjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtTXzooKT0+cix2WTooKT0+byxjZzooKT0+aSxMXzooKT0+YSxKcjooKT0+cyxORjooKT0+dSxwVzooKT0+Y30pO2NvbnN0IHI9ImJhc2UiLG89YCR7cn0uZGFya2AsaT0iYmFzZXdpdGhvZmZpY2V0aGVtZXByZWZlcnJlZCIsYT0iY29udHJhc3QiLHM9IlVzZXJzTm9ybWFsaXplZFRoZW1lIix1PSJvZmZpY2VuZXV0cmFsIixjPVtyLG9dfSwzNjQ3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9Pm99KTt2YXIgcj0oZT0+KGVbZS5Ob25lPTBdPSJOb25lIixlW2UuRXJyb3I9MV09IkVycm9yIixlW2UuRGVidWdFcnJvcj0yXT0iRGVidWdFcnJvciIsZVtlLldhcm5pbmc9M109Ildhcm5pbmciLGVbZS5JbmZvPTRdPSJJbmZvIixlW2UuVmVyYm9zZT01XT0iVmVyYm9zZSIsZSkpKHJ8fHt9KTtjb25zdCBvPXJ9LDcyNTE4ODooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtmbjooKT0+byxHdTooKT0+YS5aLFpVOigpPT5yLlpVLHJ4OigpPT5yLnJ4LGhaOigpPT5yLmhaLGd2OigpPT5pLFNVOigpPT5yLlNVLGc0OigpPT5yLlpQfSk7dmFyIHI9dCg2NjIwMjQpO2NvbnN0IG89IltlbXB0eSBvbmVycm9yXSI7ZnVuY3Rpb24gaShlLG4sdCxpLGEscyl7aWYoZXx8YSl7aWYoYXx8KChhPW5ldyBFcnJvcihlKSkuc3RhY2s9c3x8byksLTEhPShlPWV8fGEubWVzc2FnZSkuaW5kZXhPZignInJlc3BvbnNlVGV4dCI6IjwhRE9DVFlQRScpKXtjb25zdCBuPWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmRleE9mKCI8IWRvY3R5cGUgaHRtbCIpLHQ9ZS5zdWJzdHJpbmcobikscj0tMSE9PXQudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmRleE9mKCI8L2h0bWw+XHJcbiIpP3QudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmRleE9mKCI8L2h0bWw+XHJcbiIpKzk6dC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluZGV4T2YoIjwvaHRtbD4iKSs3Oy0xIT09biYmLTEhPT1yJiYoZT1lLnN1YnN0cmluZygwLG4pKyJSZXBsYWNlZEdlbmVyaWNIVE1MRXJyb3JNZXNzYWdlIitlLnN1YnN0cmluZyhuK3IpKX1pZihPYmplY3QuaXNFeHRlbnNpYmxlKGEpKXRyeXtuJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiZmlsZW5hbWUiLHt2YWx1ZTpufSksIm51bWJlciI9PXR5cGVvZiB0JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwibGluZW5vIix7dmFsdWU6dH0pLCJudW1iZXIiPT10eXBlb2YgaSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImNvbG5vIix7dmFsdWU6aX0pfWNhdGNoKGUpe30obnVsbD09YT92b2lkIDA6YS5yZXBvcnRlZCl8fCgwLHIucngpKGUsYSl9fXZhciBhPXQoMzY0Nyl9LDY2MjAyNDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtTVTooKT0+YSxaVTooKT0+dSxyeDooKT0+YyxoWjooKT0+bCxaUDooKT0+ZH0pO3ZhciByPXQoMzY0Nyksbz10KDY3MjUxMSk7Y29uc3QgaT1bXTtmdW5jdGlvbiBhKGUpe2kucHVzaChlKX1mdW5jdGlvbiBzKGUsbix0LHIpe2kuZm9yRWFjaCgobz0+e28oZSxuLHQscil9KSl9ZnVuY3Rpb24gdShlLG4sdCl7SChyLlouRGVidWdFcnJvcixlLG4sdCl9ZnVuY3Rpb24gYyhlLG4sdCl7SChyLlouRXJyb3IsZSxuLHQpfWZ1bmN0aW9uIGwoZSxuLHQpe2lmKGMoZSxuLHQpLCJzdHJpbmciPT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoZSk7dGhyb3cgZXx8bmV3IEVycm9yKCJVbmtub3duRXJyb3IiKX1mdW5jdGlvbiBIKGUsbix0LHIpe3ZhciBpO2xldCBhLHU7InN0cmluZyI9PXR5cGVvZiBuPyh1PW4sYT0oMCxvLlcpKHQpfHxuZXcgRXJyb3IobikpOihhPSgwLG8uVykobil8fG58fG5ldyBFcnJvcigiVW5rbm93bkVycm9yIiksdT1hLm1lc3NhZ2UpLChudWxsPT0oaT1hLmVycm9yKT92b2lkIDA6aS5tZXNzYWdlKSYmYS5lcnJvci5zdGFjayYmKHU9YS5lcnJvci5tZXNzYWdlLGEuc3RhY2s9YS5lcnJvci5zdGFjayxhLm5hbWU9YS5lcnJvci5uYW1lKSxhLmNvbXBvbmVudD91PSJDT01QT05FTlQgRVJST1I6ICIrYS5tZXNzYWdlOmEuc2NyaXB0RXZhbCYmKHU9IkVWQUwgRVJST1I6ICIrYS5tZXNzYWdlKSxzKHV8fCIiLGUscixhKX1jb25zdCBkPXtpbmZvOmZ1bmN0aW9uKGUsbil7cyhlLHIuWi5JbmZvLG4pfSx3YXJuOmZ1bmN0aW9uKGUsbil7cyhlLHIuWi5XYXJuaW5nLG4pfSx2ZXJib3NlOmZ1bmN0aW9uKGUsbil7cyhlLHIuWi5WZXJib3NlLG4pfX19LDY3MjUxMTooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoIWUpcmV0dXJuO2NvbnN0IG49WyJHcmFwaHFsU2VydmVyRXJyb3IiXSx0PVsiR3JhcGhxbE5ldHdvcmtFcnJvciJdLHI9ZnVuY3Rpb24oZSl7dmFyIG47aWYoZS5ncmFwaFFMRXJyb3JzKWZvcihjb25zdCBuIG9mIGUuZ3JhcGhRTEVycm9ycylpZihuLmV4dGVuc2lvbnMmJk9iamVjdC5rZXlzKG4uZXh0ZW5zaW9ucykubGVuZ3RoPjApcmV0dXJuIG47cmV0dXJuIG51bGw9PShuPWUuZ3JhcGhRTEVycm9ycyk/dm9pZCAwOm5bMF19KGUpO3JldHVybiByPyhyLmV4dGVuc2lvbnMmJk9iamVjdC5rZXlzKHIuZXh0ZW5zaW9ucykuZm9yRWFjaCgoZT0+e2lmKG51bGwhPXIuZXh0ZW5zaW9uc1tlXSYmKHJbZV09ci5leHRlbnNpb25zW2VdKSwiY29kZSI9PWUpe2NvbnN0IG89ci5leHRlbnNpb25zW2VdO28mJihuLmluZGV4T2Yobyk+LTEmJihyLmZldGNoRXJyb3JUeXBlPSJTZXJ2ZXJGYWlsdXJlIiksdC5pbmRleE9mKG8pPi0xJiYoci5mZXRjaEVycm9yVHlwZT0iUmVxdWVzdE5vdENvbXBsZXRlIikpfX0pKSxyKTplfXQuZChuLHtXOigpPT5yfSl9LDQyNzM2MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7dmFyIHI9dCg4OTQ1NTIpO2Z1bmN0aW9uIG8oKXt2YXIgZTtjb25zdCBuPW51bGw9PShlPSgwLHIuSSkoKSk/dm9pZCAwOmUucGF0aG5hbWU7aWYobil7Y29uc3QgZT1uLnNwbGl0KCIvIikuZmlsdGVyKChlPT4hIWUpKTtyZXR1cm4gZVswXT9lWzBdLnRvTG93ZXJDYXNlKCk6bnVsbH1yZXR1cm4gbnVsbH19LDUzNjQ2MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7dmFyIHI9dCg1MzgyNTcpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsci5FKShlLFtyLmxnLHIuY3ddKX19LDYzNDAwNzooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSxuLHQpe249bnx8e307Y29uc3Qgcj10P09iamVjdC5rZXlzKG4pLmZpbHRlcigobj0+ZS5pbmRleE9mKGAmJHtufT1gKTwwJiZlLmluZGV4T2YoYD8ke259PWApPDApKTpPYmplY3Qua2V5cyhuKTtpZigwPT1yLmxlbmd0aClyZXR1cm4gZTtjb25zdCBvPS0xIT09ZS5pbmRleE9mKCI/Iik7ZSs9bz8iJiI6Ij8iO2NvbnN0IGk9ci5tYXAoKGU9PmAke2VuY29kZVVSSUNvbXBvbmVudChlKX09JHtlbmNvZGVVUklDb21wb25lbnQobltlXSl9YCkpLmpvaW4oIiYiKTtyZXR1cm4gZStpfXQuZChuLHtaOigpPT5yfSl9LDg5NDU1MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtJOigpPT5vfSk7dmFyIHI9dCg0ODkwMzQpO2Z1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLnkpKCkubG9jYXRpb259fSw1MzgyNTc6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7bGc6KCk9PmEsY3c6KCk9PnMsRTooKT0+dX0pO3ZhciByPXQoMjk5MjM2KSxvPXQoODk0NTUyKSxpPXQoNDI3MzYwKTtjb25zdCBhPWU9PjE9PWUubGVuZ3RoJiYhaXNOYU4ocGFyc2VJbnQoZSkpLHM9ZT0+ISFlLm1hdGNoKC8uK0AuKy8pO2Z1bmN0aW9uIHUoZSxuKXt2YXIgdDtsZXQgYT1lO2NvbnN0IHM9bnVsbD09KHQ9KDAsby5JKSgpKT92b2lkIDA6dC5wYXRobmFtZTtpZihzKXtjb25zdCBlPXMuc3BsaXQoIi8iKygwLGkuWikoKSsiLyIpWzFdO2lmKGUpe2NvbnN0IHQ9ZS5zcGxpdCgiLyIpWzBdO3QmJm4uZmlsdGVyKChlPT5lKHQpKSkubGVuZ3RoPjAmJihhPSgwLHIuWlApKGEsdCkpfX1yZXR1cm4oMCxyLmU3KShhKX19LDkyMzAyNDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vLEs6KCk9Pml9KTtsZXQgcj0hMTtmdW5jdGlvbiBvKCl7cmV0dXJuIHJ9ZnVuY3Rpb24gaShlKXtyPWV9fSwyOTkyMzY6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKC4uLmUpe3JldHVybiBlLmZpbHRlcigoZT0+ZSkpLm1hcChhKS5maWx0ZXIoKGU9PjAhPT1lLmxlbmd0aCkpLmpvaW4oIi8iKX1mdW5jdGlvbiBvKGUpe3JldHVybiBlP2UubGVuZ3RoPjAmJiIvIiE9PWVbMF0/Ii8iK2U6ZToiLyJ9ZnVuY3Rpb24gaShlKXtyZXR1cm4gZS5sZW5ndGg+MCYmIi8iIT09ZVtlLmxlbmd0aC0xXT9lKyIvIjplfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIGUucmVwbGFjZSgvXlwvKi8sIiIpLnJlcGxhY2UoL1wvKiQvLCIiKX10LmQobix7WlA6KCk9PnIsZTc6KCk9Pm8seHM6KCk9Pml9KX0sMzQwMzgwOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1M3OigpPT5vLlpQLGE2OigpPT51LmEsa0E6KCk9Pmkua0EsR0c6KCk9PmEsUnI6KCk9PmkuUnIsZ3M6KCk9PmkuZ3MsT1k6KCk9PnIuT1kseXA6KCk9PnIueXAsbmI6KCk9PnIubmIsbzI6KCk9PnIubzIsRmk6KCk9PnIuRmksRm86KCk9PnIuRm8sJFY6KCk9PnIuJFYsTDooKT0+ci5MLFY1OigpPT5yLlY1LEpzOigpPT5zLHJEOigpPT5yLnJELEVEOigpPT5yLkVEfSk7dmFyIHI9dCgzNTc4MzgpLG89dCg4OTExMTgpLGk9dCgxODUwNzApO2FzeW5jIGZ1bmN0aW9uIGEoKXtjb25zdCBlPWF3YWl0KDAsaS5ScikoKTtsZXQgbj0iIjtyZXR1cm4gbj0iV2luZG93cyI9PWUub3M/IjExIj09ZS5vc1ZlcnNpb24/IldpbmRvd3MgMTEgb3IgbGF0ZXIiOiIxMCI9PWUub3NWZXJzaW9uPyJXaW5kb3dzIDEwIjoiQmVmb3JlIFdpbmRvd3MgMTAiOiJOb3QgcnVubmluZyBvbiBXaW5kb3dzIixufWZ1bmN0aW9uIHMoZSl7Y29uc3R7YnJvd3NlclZlcnNpb246bn09KDAsby5aUCkoKTtpZihlLmxlbmd0aD5uLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZihuW3RdIT09ZVt0XSlyZXR1cm4gblt0XT5lW3RdO3JldHVybiEwfXZhciB1PXQoNjMwNzQ5KX0sMzU3ODM4OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1Y1OigpPT5pLEVEOigpPT5hLHJEOigpPT5zLCRWOigpPT51LE9ZOigpPT5jLEw6KCk9PmwseXA6KCk9PkgsbzI6KCk9PmQsbmI6KCk9PlMsRm86KCk9PmYsRmk6KCk9PnB9KTt2YXIgcj10KDg5MTExOCksbz10KDE4NTA3MCk7ZnVuY3Rpb24gaSgpe3JldHVybiJNYWMgT1MgWCI9PSgwLG8ua0EpKCl9ZnVuY3Rpb24gYSgpe3JldHVybiJXaW5kb3dzIj09PSgwLG8ua0EpKCl9YXN5bmMgZnVuY3Rpb24gcygpe2NvbnN0IGU9YXdhaXQoMCxvLlJyKSgpO3JldHVybiJXaW5kb3dzIj09PWUub3MmJiIxMSI9PT1lLm9zVmVyc2lvbn1mdW5jdGlvbiB1KCl7cmV0dXJuIkNocm9taXVtIE9TIj09KDAsby5rQSkoKX1mdW5jdGlvbiBjKCl7cmV0dXJuIkFuZHJvaWQiPT0oMCxvLmtBKSgpfWZ1bmN0aW9uIGwoKXtyZXR1cm4iaU9TIj09KDAsby5rQSkoKX1mdW5jdGlvbiBIKCl7cmV0dXJuIkNocm9tZSI9PT0oMCxyLlpQKSgpLmJyb3dzZXJ9ZnVuY3Rpb24gZCgpe3JldHVybiJGaXJlZm94Ij09PSgwLHIuWlApKCkuYnJvd3Nlcn1mdW5jdGlvbiBTKCl7cmV0dXJuIkVkZ2UgQW5haGVpbSI9PT0oMCxyLlpQKSgpLmJyb3dzZXJ9ZnVuY3Rpb24gZigpe3JldHVybiJTYWZhcmkiPT09KDAsci5aUCkoKS5icm93c2VyfWZ1bmN0aW9uIHAoKXtyZXR1cm4iT3BlcmEiPT09KDAsci5aUCkoKS5icm93c2VyfX0sODkxMTE4OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1pQOigpPT5pfSk7dmFyIHI9dCgzNjg5NjcpO2xldCBvO2Z1bmN0aW9uIGkoKXtyZXR1cm4gb3x8KG89ZnVuY3Rpb24oKXt2YXIgZSxuO2xldCB0LG89IlVua25vd24iO2NvbnN0IGk9KDAsci5aKSgpOy9PUFJcLy8udGVzdChpKT8obz0iT3BlcmEiLHQ9YShpLCJPUFIiKSk6L1BoYW50b21KUy8udGVzdChpKT9vPSJQaGFudG9tSlMiOi9FZGdlLy50ZXN0KGkpP289IkVkZ2UiOi9FZGcvLnRlc3QoaSl8fCJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYobnVsbD09KG49bnVsbD09KGU9bnVsbD09bmF2aWdhdG9yP3ZvaWQgMDpuYXZpZ2F0b3IudXNlckFnZW50RGF0YSk/dm9pZCAwOmUuYnJhbmRzKT92b2lkIDA6bi5zb21lKChlPT4iTWljcm9zb2Z0IEVkZ2UiPT0obnVsbD09ZT92b2lkIDA6ZS5icmFuZCkpKSk/KG89IkVkZ2UgQW5haGVpbSIsdD1hKGksIkVkZyIpKTovRWxlY3Ryb24vLnRlc3QoaSk/bz0iRWxlY3Ryb24iOi9DaHJvbWUvLnRlc3QoaSl8fC9DcmlPUy8udGVzdChpKT9vPSJDaHJvbWUiOi9UcmlkZW50Ly50ZXN0KGkpPyhvPSJNU0lFIix0PWZ1bmN0aW9uKGUpe2xldCBuPWUubWF0Y2goL01TSUUgKFtcZCxcLl0rKS8pO2lmKG4pcmV0dXJuIHMoblsxXSk7cmV0dXJuIG49ZS5tYXRjaCgvcnY6KFtcZCxcLl0rKS8pLG4/cyhuWzFdKTpbXX0oaSkpOi9GaXJlZm94Ly50ZXN0KGkpP289IkZpcmVmb3giOi9TYWZhcmkvLnRlc3QoaSl8fC9BcHBsZVdlYktpdC8udGVzdChpKT8obz0iU2FmYXJpIix0PWEoaSwiVmVyc2lvbiIpKTovU2t5cGVTaGVsbC8udGVzdChpKSYmKG89IlNreXBlU2hlbGwiKTtyZXR1cm57YnJvd3NlcjpvLGJyb3dzZXJWZXJzaW9uOnR8fGEoaSxvKX19KCkpLG99ZnVuY3Rpb24gYShlLG4pe2NvbnN0IHQ9ZS5tYXRjaChuZXcgUmVnRXhwKG4rIi8oW1xcZCxcXC5dKykiKSk7cmV0dXJuIHQ/cyh0WzFdKTpbXX1mdW5jdGlvbiBzKGUpe3JldHVybiBlLnNwbGl0KC9bXC4sXS8pLm1hcCgoZT0+cGFyc2VJbnQoZSkpKX19LDYzMDc0OTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHthOigpPT5hfSk7Y29uc3Qgcj17YXJjaGl0ZWN0dXJlOjEsYml0bmVzczoxLHBsYXRmb3JtVmVyc2lvbjoxLG1vZGVsOjF9O2xldCBvPW51bGwsaT0hMDthc3luYyBmdW5jdGlvbiBhKCl7dmFyIGU7aWYoaSYmKGk9ITEsbnVsbD09KGU9c2VsZi5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSk/dm9pZCAwOmUuZ2V0SGlnaEVudHJvcHlWYWx1ZXMpKXRyeXtvPWF3YWl0IHNlbGYubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMoT2JqZWN0LmtleXMocikpfWNhdGNoKGUpe31yZXR1cm4gb319LDE4NTA3MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtnczooKT0+dSxrQTooKT0+YyxScjooKT0+bH0pO3ZhciByPXQoMzY4OTY3KSxvPXQoNjMwNzQ5KTtjb25zdCBpPXs1LjE6IlhQIiwiNi4wIjoiVmlzdGEiLDYuMToiNyIsNi4yOiI4Iiw2LjM6IjguMSIsNi40OiIxMCIsIjEwLjAiOiIxMCJ9O2xldCBhLHM7ZnVuY3Rpb24gdSgpe3JldHVybiBhfHwoYT1mdW5jdGlvbigpe2xldCBlLG47Y29uc3QgdD0oMCxyLlopKCk7Lyhjcm9zKVxzW1x3XStccyhbXHdcLl0rXHcpL2kudGVzdCh0KT9lPSJDaHJvbWl1bSBPUyI6LyhpUGFkfGlQaG9uZXxpUG9kKSg/PS4qbGlrZSBNYWMgT1MgWCkvaS50ZXN0KHQpP2U9ImlPUyI6L2FuZHJvaWQvaS50ZXN0KHQpP2U9IkFuZHJvaWQiOi8obGludXh8am9saXxba3hsbl0/dWJ1bnR1fGRlYmlhbnxbb3Blbl0qc3VzZXxnZW50b298YXJjaHxzbGFja3dhcmV8ZmVkb3JhfG1hbmRyaXZhfGNlbnRvc3xwY2xpbnV4b3N8cmVkaGF0fHplbndhbGspL2kudGVzdCh0KT9lPSJMaW51eCI6LyhtYWNpbnRvc2h8bWFjIG9zIHgpL2kudGVzdCh0KT9lPSJNYWMgT1MgWCI6Lyh3aW5kb3dzfHdpbjMyKS9pLnRlc3QodCk/KGU9IldpbmRvd3MiLG49ZnVuY3Rpb24oZSl7dmFyIG47Y29uc3QgdD1lLm1hdGNoKG5ldyBSZWdFeHAoIldpbmRvd3MgTlQgKFtcXGQsLl0rKSIpKTtyZXR1cm4gdCYmbnVsbCE9KG49aVt0WzFdXSk/bjoiVW5rbm93biJ9KHQpKTplPSJVbmtub3duIjtyZXR1cm57b3M6ZSxvc1ZlcnNpb246bn19KCkpLGF9ZnVuY3Rpb24gYygpe3JldHVybiB1KCkub3N9YXN5bmMgZnVuY3Rpb24gbCgpe2lmKCFzKXtjb25zdCBlPXUoKTtpZigiV2luZG93cyI9PWUub3Mpe2NvbnN0IG49YXdhaXQoMCxvLmEpKCk7aWYobil7cGFyc2VJbnQobi5wbGF0Zm9ybVZlcnNpb24uc3BsaXQoIi4iKVswXSk+PTEzJiYoZS5vc1ZlcnNpb249IjExIil9fXM9ZX1yZXR1cm4gc319LDM2ODk2NzooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmbmF2aWdhdG9yLnVzZXJBZ2VudD9uYXZpZ2F0b3IudXNlckFnZW50OiIifXQuZChuLHtaOigpPT5yfSl9LDQ4OTAzNDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHt5OigpPT5pfSk7Y2xhc3MgcntnZXQgbG9jYXRpb24oKXtyZXR1cm4gd2luZG93LmxvY2F0aW9ufWdldCBpbm5lckhlaWdodCgpe3JldHVybiB3aW5kb3cuaW5uZXJIZWlnaHR9Z2V0IGlubmVyV2lkdGgoKXtyZXR1cm4gd2luZG93LmlubmVyV2lkdGh9Z2V0IGRvY3VtZW50KCl7cmV0dXJuIHdpbmRvdy5kb2N1bWVudH1nZXQgaXNQd2EoKXtyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlc31nZXQgY29va2llKCl7cmV0dXJuIHdpbmRvdy5kb2N1bWVudC5jb29raWV9Z2V0IGxvY2FsU3RvcmFnZSgpe3JldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlfWdldCBvcmlnaW4oKXtyZXR1cm4gd2luZG93Lm9yaWdpbn1nZXQgX2xvY1N0cmluZ3MoKXtyZXR1cm4gd2luZG93Ll9sb2NTdHJpbmdzfX1sZXQgbztmdW5jdGlvbiBpKCl7cmV0dXJuIG98fCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93fHwobz1uZXcgciksb319LDc5NDUzMjooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHZvaWQgMCE9PWU/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShlKSk6bnVsbH10LmQobix7SDooKT0+cn0pfSwzMjE5MjE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WTooKT0+cn0pO3ZhciByPShlPT4oZS5NYWlsPSJNYWlsIixlLkNhbGVuZGFyPSJDYWxlbmRhciIsZS5QZW9wbGU9IlBlb3BsZSIsZS5GaWxlc0h1Yj0iRmlsZXNIdWIiLGUuVGFza3M9IlRhc2tzIixlLkV2ZW50aWZ5PSJFdmVudGlmeSIsZS5QdWJsaXNoZWRDYWxlbmRhcj0iUHVibGlzaGVkQ2FsZW5kYXIiLGUuTWFpbERlZXBMaW5rPSJNYWlsRGVlcExpbmsiLGUuQXBwSG9zdD0iQXBwSG9zdCIsZS5DYWxlbmRhckRlZXBMaW5rPSJDYWxlbmRhckRlZXBMaW5rIixlLkdyb3Vwcz0iR3JvdXBzIixlLk1pY3Jvc29mdFBsYWNlcz0iTWljcm9zb2Z0UGxhY2VzIixlLkZlZWQ9IkZlZWQiLGUpKShyfHx7fSl9LDE5MTc4MzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtBOigpPT5vfSk7dmFyIHI9dCgzMjE5MjEpO2Z1bmN0aW9uIG8oKXt2YXIgZTtjb25zdCBuPW51bGw9PShlPW51bGw9PXdpbmRvdz92b2lkIDA6d2luZG93LmxvY2F0aW9uKT92b2lkIDA6ZS5wYXRobmFtZTtpZihuKXtjb25zdCBlPW4uc3BsaXQoIi8iKTtpZihpKCJtYWlsIixlKSlyZXR1cm4gci5ZLk1haWxEZWVwTGluaztpZihpKCJjYWxlbmRhciIsZSkpcmV0dXJuIHIuWS5DYWxlbmRhckRlZXBMaW5rO2lmKDA9PW4uaW5kZXhPZigiL2NhbGVuZGFyIil8fDA9PW4uaW5kZXhPZigiL2hvc3RlZC9jYWxlbmRhciIpKXJldHVybiByLlkuQ2FsZW5kYXI7aWYoMD09bi5pbmRleE9mKCIvcGVvcGxlIil8fDA9PW4uaW5kZXhPZigiL2hvc3RlZC9wZW9wbGUiKSlyZXR1cm4gci5ZLlBlb3BsZTtpZigwPT1uLmluZGV4T2YoIi9maWxlcyIpKXJldHVybiByLlkuRmlsZXNIdWI7aWYoMD09bi5pbmRleE9mKCIvaG9zdC8iKSlyZXR1cm4gci5ZLkFwcEhvc3Q7aWYoMD09bi5pbmRleE9mKCIvZ3JvdXBzIil8fDA9PW4uaW5kZXhPZigiL2hvc3RlZC9ncm91cHMiKSlyZXR1cm4gci5ZLkdyb3VwcztpZigwPT1uLmluZGV4T2YoIi9ldmVudGlmeSIpfHwwPT1uLmluZGV4T2YoIi9ob3N0ZWQvZXZlbnRpZnkiKSlyZXR1cm4gci5ZLkV2ZW50aWZ5O2lmKDA9PW4uaW5kZXhPZigiL3BsYWNlcyIpfHwwPT1uLmluZGV4T2YoIi9ob3N0ZWQvcGxhY2VzIikpcmV0dXJuIHIuWS5NaWNyb3NvZnRQbGFjZXN9cmV0dXJuIHIuWS5NYWlsfWZ1bmN0aW9uIGkoZSxuKXt2YXIgdCxyLG8saTtyZXR1cm4gblsxXT09ZSYmKDA9PShudWxsPT0odD1uWzJdKT92b2lkIDA6dC5pbmRleE9mKCJkZWVwbGluayIpKXx8MD09KG51bGw9PShyPW5bM10pP3ZvaWQgMDpyLmluZGV4T2YoImRlZXBsaW5rIikpKXx8Imhvc3RlZCI9PW5bMV0mJm5bMl09PWUmJigwPT0obnVsbD09KG89blszXSk/dm9pZCAwOm8uaW5kZXhPZigiZGVlcGxpbmsiKSl8fDA9PShudWxsPT0oaT1uWzRdKT92b2lkIDA6aS5pbmRleE9mKCJkZWVwbGluayIpKSl9fSw2MjEyNzY6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+UH0pO3ZhciByPXQoMzQ1MzYyKSxvPXQoOTIzODA2KSxpPXQoMTczNTk3KSxhPXQoODI2NDU0KSxzPXQoOTI5NTQxKSx1PXQoMzgyNzc4KSxjPXQoNDc2OTA1KSxsPXQoOTQ5NjcwKSxIPTUwMDtmdW5jdGlvbiBkKGUsbix0KXtuJiYoMCxzLmtKKShuKSYmbltpLlI1XT4wJiYobj1uLnNvcnQoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIGVbdS55aV0tblt1LnlpXX0pKSwoMCxzLnRPKShuLChmdW5jdGlvbihlKXtlW3UueWldPEgmJigwLHMuX3kpKCJDaGFubmVsIGhhcyBpbnZhbGlkIHByaW9yaXR5IC0gIitlW2kucFpdKX0pKSxlW2kuTVddKHtxdWV1ZTooMCxzLkZMKShuKSxjaGFpbjooMCxjLmpWKShuLHRbaS5UQ10sdCl9KSl9dmFyIFM9dCg3MzE3NDApLGY9dCgyMzU2MikscD10KDI5MjM5KSxDPXQoNjYyMzcyKSxBPXQoMzE3MTQwKSxJPXQoNzY2ODY0KSxoPXQoODAzMTQ1KSxSPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXt2YXIgdCxyLGE9ZS5jYWxsKHRoaXMpfHx0aGlzO2Z1bmN0aW9uIGMoKXt0PTAscj1bXX1yZXR1cm4gYS5pZGVudGlmaWVyPSJUZWxlbWV0cnlJbml0aWFsaXplclBsdWdpbiIsYS5wcmlvcml0eT0xOTksYygpLCgwLG8uWikobixhLChmdW5jdGlvbihlLG4pe2UuYWRkVGVsZW1ldHJ5SW5pdGlhbGl6ZXI9ZnVuY3Rpb24oZSl7dmFyIG49e2lkOnQrKyxmbjplfTtyZXR1cm4gcltpLk1XXShuKSx7cmVtb3ZlOmZ1bmN0aW9uKCl7KDAscy50TykociwoZnVuY3Rpb24oZSx0KXtpZihlLmlkPT09bi5pZClyZXR1cm4gcltpLmNiXSh0LDEpLC0xfSkpfX19LGVbdS5oTF09ZnVuY3Rpb24obix0KXtmb3IodmFyIG89ITEsYT1yW2kuUjVdLHU9MDt1PGE7Kyt1KXt2YXIgYz1yW3VdO2lmKGMpdHJ5e2lmKCExPT09Yy5mbltpLlpWXShudWxsLFtuXSkpe289ITA7YnJlYWt9fWNhdGNoKGUpeygwLEMua1ApKHRbaS5tY10oKSwxLDY0LCJPbmUgb2YgdGVsZW1ldHJ5IGluaXRpYWxpemVycyBmYWlsZWQsIHRlbGVtZXRyeSBpdGVtIHdpbGwgbm90IGJlIHNlbnQ6ICIrKDAscy5qaikoZSkse2V4Y2VwdGlvbjooMCxoLmVVKShlKX0sITApfX1vfHxlW2kudUxdKG4sdCl9LGVbaS5GM109ZnVuY3Rpb24oKXtjKCl9fSkpLGF9cmV0dXJuKDAsci5uZSkobixlKSxuLl9faWVEeW49MSxufShJLmkpLHY9dCg4NTE5MzApLFU9IlBsdWdpbnMgbXVzdCBwcm92aWRlIGluaXRpYWxpemUgbWV0aG9kIixtPSJTREsgaXMgc3RpbGwgdW5sb2FkaW5nLi4uIixOPXtsb2dnaW5nTGV2ZWxDb25zb2xlOjF9O2Z1bmN0aW9uIEsoZSxuKXtyZXR1cm4gbmV3IEEuSmsobil9ZnVuY3Rpb24gZyhlLG4pe3ZhciB0PSExO3JldHVybigwLHMudE8pKG4sKGZ1bmN0aW9uKG4pe2lmKG49PT1lKXJldHVybiB0PSEwLC0xfSkpLHR9dmFyIHk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7dmFyIG4sdCxJLGgseSx3LGIsRSxrLE8seCxQLFQsRCxNLEwsQixXLGosRixWPTA7KDAsby5aKShlLHRoaXMsKGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8oKXt0PSExLG49KDAscy5tbSkoITAse30sTiksZVtpLlRDXT1uLGVbaS5lWl09bmV3IEMuQVEobiksZVtpLmlDXT1bXSxNPW5ldyBSLEk9W10saD1udWxsLHk9bnVsbCx3PW51bGwsYj1udWxsLEU9bnVsbCxPPW51bGwsaz1bXSx4PW51bGwsUD1udWxsLFQ9bnVsbCxEPSExLEw9bnVsbCxCPSgwLGYuSikoIkFJQmFzZUNvcmUiLCEwKSxXPSgwLHYuWSkoKSxGPW51bGx9ZnVuY3Rpb24gSigpe3JldHVybigwLGMuQ0QpKHEoKSxuLGUpfWZ1bmN0aW9uIFoodCl7dmFyIHI9ZnVuY3Rpb24oZSxuLHQpe3ZhciByLG89W10sYT17fTtyZXR1cm4oMCxzLnRPKSh0LChmdW5jdGlvbih0KXsoKDAscy5sZSkodCl8fCgwLHMubGUpKHRbaS5WTF0pKSYmKDAscy5feSkoVSk7dmFyIHI9dFt1LnlpXSxjPXRbaS5wWl07dCYmciYmKCgwLHMubGUpKGFbcl0pP2Fbcl09YzooMCxDLmpWKShlLCJUd28gZXh0ZW5zaW9ucyBoYXZlIHNhbWUgcHJpb3JpdHkgIyIrcisiIC0gIithW3JdKyIsICIrYykpLCghcnx8cjxuKSYmb1tpLk1XXSh0KX0pKSwocj17YWxsOnR9KVt1Lm9WXT1vLHJ9KGVbaS5lWl0sSCxrKTtPPXJbdS5vVl0sRT1udWxsO3ZhciBvPXIuYWxsO2lmKFQ9KDAscy5GTCkoZnVuY3Rpb24oZSxuLHQpe3ZhciByPVtdO2lmKGUmJigwLHMudE8pKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBkKHIsZSx0KX0pKSxuKXt2YXIgbz1bXTsoMCxzLnRPKShuLChmdW5jdGlvbihlKXtlW3UueWldPkgmJm9baS5NV10oZSl9KSksZChyLG8sdCl9cmV0dXJuIHJ9KFAsbyxlKSkseCl7dmFyIGE9KDAscy5VQSkobyx4KTstMSE9PWEmJm9baS5jYl0oYSwxKSwtMSE9PShhPSgwLHMuVUEpKE8seCkpJiZPW2kuY2JdKGEsMSkseC5fc2V0UXVldWUoVCl9ZWxzZSB4PWZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gdCgpe3JldHVybigwLGMuQ0QpKG51bGwsbltpLlRDXSxuLG51bGwpfWZ1bmN0aW9uIHIoZSxuLHQscil7dmFyIG89ZT9lW2kuUjVdKzE6MTtmdW5jdGlvbiBhKCl7MD09LS1vJiYociYmcigpLHI9bnVsbCl9bz4wJiYoMCxzLnRPKShlLChmdW5jdGlvbihlKXtpZihlJiZlLnF1ZXVlW2kuUjVdPjApe3ZhciByPWUuY2hhaW4scz1uW2kuelZdKHIpO3NbaS5GY10oYSksdChzKX1lbHNlIG8tLX0pKSxhKCl9dmFyIG89ITEsYT17aWRlbnRpZmllcjoiQ2hhbm5lbENvbnRyb2xsZXJQbHVnaW4iLHByaW9yaXR5OkgsaW5pdGlhbGl6ZTpmdW5jdGlvbihuLHQscixhKXtvPSEwLCgwLHMudE8pKGUsKGZ1bmN0aW9uKGUpe2UmJmUucXVldWVbaS5SNV0+MCYmKDAsbC5iUCkoKDAsYy5DRCkoZS5jaGFpbixuLHQpLHIpfSkpfSxpc0luaXRpYWxpemVkOmZ1bmN0aW9uKCl7cmV0dXJuIG99LHByb2Nlc3NUZWxlbWV0cnk6ZnVuY3Rpb24obixvKXtyKGUsb3x8dCgpLChmdW5jdGlvbihlKXtlW2kudUxdKG4pfSksKGZ1bmN0aW9uKCl7b1tpLnVMXShuKX0pKX0sdXBkYXRlOmZ1bmN0aW9uKG4sdCl7dmFyIG89dHx8e3JlYXNvbjowfTtyZXR1cm4gcihlLG4sKGZ1bmN0aW9uKGUpe2VbaS51TF0obyl9KSwoZnVuY3Rpb24oKXtuW2kudUxdKG8pfSkpLCEwfSxwYXVzZTpmdW5jdGlvbigpe3IoZSx0KCksKGZ1bmN0aW9uKGUpe2UuaXRlcmF0ZSgoZnVuY3Rpb24oZSl7ZS5wYXVzZSYmZS5wYXVzZSgpfSkpfSksbnVsbCl9LHJlc3VtZTpmdW5jdGlvbigpe3IoZSx0KCksKGZ1bmN0aW9uKGUpe2UuaXRlcmF0ZSgoZnVuY3Rpb24oZSl7ZS5yZXN1bWUmJmUucmVzdW1lKCl9KSl9KSxudWxsKX0sdGVhcmRvd246ZnVuY3Rpb24obix0KXt2YXIgYT10fHx7cmVhc29uOjAsaXNBc3luYzohMX07cmV0dXJuIHIoZSxuLChmdW5jdGlvbihlKXtlW2kudUxdKGEpfSksKGZ1bmN0aW9uKCl7bltpLnVMXShhKSxvPSExfSkpLCEwfSxnZXRDaGFubmVsOmZ1bmN0aW9uKG4pe3ZhciB0PW51bGw7cmV0dXJuIGUmJmVbaS5SNV0+MCYmKDAscy50TykoZSwoZnVuY3Rpb24oZSl7aWYoZSYmZS5xdWV1ZVtpLlI1XT4wJiYoKDAscy50TykoZS5xdWV1ZSwoZnVuY3Rpb24oZSl7aWYoZVtpLnBaXT09PW4pcmV0dXJuIHQ9ZSwtMX0pKSx0KSlyZXR1cm4tMX0pKSx0fSxmbHVzaDpmdW5jdGlvbihuLG8sYSxzKXt2YXIgdT0xLGM9ITEsbD1udWxsO2Z1bmN0aW9uIEgoKXt1LS0sYyYmMD09PXUmJihsJiYoY2xlYXJUaW1lb3V0KGwpLGw9bnVsbCksbyYmbyhjKSxvPW51bGwpfXJldHVybiBzPXN8fDVlMyxyKGUsdCgpLChmdW5jdGlvbihlKXtlLml0ZXJhdGUoKGZ1bmN0aW9uKGUpe2lmKGVbaS5rTF0pe3UrKzt2YXIgdD0hMTtlW2kua0xdKG4sKGZ1bmN0aW9uKCl7dD0hMCxIKCl9KSxhKXx8dHx8KG4mJm51bGw9PWw/bD1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2w9bnVsbCxIKCl9KSxzKTpIKCkpfX0pKX0pLChmdW5jdGlvbigpe2M9ITAsSCgpfSkpLCEwfSxfc2V0UXVldWU6ZnVuY3Rpb24obil7ZT1ufX07cmV0dXJuIGF9KFQsZSk7b1tpLk1XXSh4KSxPW2kuTVddKHgpLGVbaS5pQ109KDAsbC5BQSkobykseFtpLlZMXShuLGUsbyksKDAsbC5iUCkoSigpLG8pLGVbaS5pQ109KDAscy5GTCkoKDAsbC5BQSkoT3x8W10pKS5zbGljZSgpLHQmJmZ1bmN0aW9uKG4pe3ZhciB0PSgwLGMueHkpKHEoKSxlKTtlLl91cGRhdGVIb29rJiYhMD09PWUuX3VwZGF0ZUhvb2sodCxuKXx8dFtpLnVMXShuKX0odCl9ZnVuY3Rpb24gWChuKXt2YXIgdCxyPW51bGwsbz1udWxsO3JldHVybigwLHMudE8pKGVbaS5pQ10sKGZ1bmN0aW9uKGUpe2lmKGVbaS5wWl09PT1uJiZlIT09eCYmZSE9PU0pcmV0dXJuIG89ZSwtMX0pKSwhbyYmeCYmKG89eC5nZXRDaGFubmVsKG4pKSxvJiYoKHQ9e3BsdWdpbjpvfSlbaS4kaF09ZnVuY3Rpb24oZSl7KDAsbC5PWSkobylbdS5tRV09IWV9LHQuaXNFbmFibGVkPWZ1bmN0aW9uKCl7dmFyIGU9KDAsbC5PWSkobyk7cmV0dXJuIWVbaS5maV0mJiFlW3UubUVdfSx0LnJlbW92ZT1mdW5jdGlvbihlLG4pe3ZhciB0O3ZvaWQgMD09PWUmJihlPSEwKTt2YXIgcj1bb10sYT0oKHQ9e3JlYXNvbjoxfSlbaS5kXT1lLHQpO1kocixhLChmdW5jdGlvbihlKXtlJiZaKHtyZWFzb246MzIscmVtb3ZlZDpyfSksbiYmbihlKX0pKX0scj10KSxyfWZ1bmN0aW9uIHEoKXtpZighRSl7dmFyIHQ9KE98fFtdKS5zbGljZSgpOy0xPT09KDAscy5VQSkodCxNKSYmdFtpLk1XXShNKSxFPSgwLGMualYpKCgwLGwuQUEpKHQpLG4sZSl9cmV0dXJuIEV9ZnVuY3Rpb24gWSh0LHIsbyl7aWYodCYmdFtpLlI1XT4wKXt2YXIgYT0oMCxjLmpWKSh0LG4sZSksdT0oMCxjLkJ0KShhLGUpO3VbaS5GY10oKGZ1bmN0aW9uKCl7dmFyIGU9ITEsbj1bXTsoMCxzLnRPKShrLChmdW5jdGlvbihyLG8pe2cocix0KT9lPSEwOm5baS5NV10ocil9KSksaz1uO3ZhciByPVtdO1AmJigoMCxzLnRPKShQLChmdW5jdGlvbihuLG8pe3ZhciBhPVtdOygwLHMudE8pKG4sKGZ1bmN0aW9uKG4pe2cobix0KT9lPSEwOmFbaS5NV10obil9KSkscltpLk1XXShhKX0pKSxQPXIpLG8mJm8oZSl9KSksdVtpLnVMXShyKX1lbHNlIG8oITEpfWZ1bmN0aW9uIHooKXt2YXIgdD1lW2kuZVpdP2VbaS5lWl0ucXVldWU6W107dCYmKCgwLHMudE8pKHQsKGZ1bmN0aW9uKHQpe3ZhciByLG89KChyPXt9KVtpLkldPUx8fCJJbnRlcm5hbE1lc3NhZ2VJZDogIit0W2kuR2NdLHIuaUtleT0oMCxzLnY0KShuW2kucCRdKSxyLnRpbWU9KDAscy5ZNikobmV3IERhdGUpLHIuYmFzZVR5cGU9Qy5sUS5kYXRhVHlwZSxyLmJhc2VEYXRhPXttZXNzYWdlOnRbaS5nVV19LHIpO2UudHJhY2sobyl9KSksdFtpLlI1XT0wKX1mdW5jdGlvbiBHKGUsbix0LHIpe3JldHVybiB4P3hbaS5rTF0oZSxuLHR8fDYscik6KG4mJm4oITEpLCEwKX1mdW5jdGlvbiBRKG4pe3ZhciB0PWVbaS5lWl07dD8oMCxDLmtQKSh0LDIsNzMsbik6KDAscy5feSkobil9bygpLGVbaS55bF09ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZVtpLlZMXT1mdW5jdGlvbihvLGEsYyxsKXtEJiYoMCxzLl95KShtKSxlW2kueWxdKCkmJigwLHMuX3kpKCJDb3JlIHNob3VsZCBub3QgYmUgaW5pdGlhbGl6ZWQgbW9yZSB0aGFuIG9uY2UiKSxuPW98fHt9LGVbaS5UQ109biwoMCxzLmxlKShvW2kucCRdKSYmKDAscy5feSkoIlBsZWFzZSBwcm92aWRlIGluc3RydW1lbnRhdGlvbiBrZXkiKSxoPWwsZS5fbm90aWZpY2F0aW9uTWFuYWdlcj1sLGZ1bmN0aW9uKCl7dmFyIGU9KDAscy52NCkobi5kaXNhYmxlRGJnRXh0KTshMD09PWUmJmomJihoW2kubjddKGopLGo9bnVsbCk7aCYmIWomJiEwIT09ZSYmKGo9KDAscC5wKShuKSxoW2kuZ10oaikpfSgpLGZ1bmN0aW9uKCl7dmFyIGU9KDAscy52NCkobi5lbmFibGVQZXJmTWdyKTshZSYmdyYmKHc9bnVsbCk7ZSYmKDAscy5xSykobix1LkROLEspfSgpLCgwLHMucUspKG4sdS5aaCx7fSkuTm90aWZpY2F0aW9uTWFuYWdlcj1oLGMmJihlW2kuZVpdPWMpO3ZhciBIPSgwLHMucUspKG4sdS5qcyxbXSk7KGs9W10pW2kuTVddLmFwcGx5KGssKDAsci4kaCkoKDAsci4kaCkoW10sYSwhMSksSCwhMSkpLFA9KDAscy5xSykobix1LlosW10pLFoobnVsbCksVCYmMCE9PVRbaS5SNV18fCgwLHMuX3kpKCJObyAiK3UuWisiIGF2YWlsYWJsZSIpLHQ9ITAsZS5yZWxlYXNlUXVldWUoKX0sZS5nZXRUcmFuc21pc3Npb25Db250cm9scz1mdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiBUJiYoMCxzLnRPKShULChmdW5jdGlvbihuKXtlW2kuTVddKG4ucXVldWUpfSkpLCgwLHMuRkwpKGUpfSxlLnRyYWNrPWZ1bmN0aW9uKHQpe3QuaUtleT10LmlLZXl8fG5baS5wJF0sdFtpLlpfXT10W2kuWl9dfHwoMCxzLlk2KShuZXcgRGF0ZSksdC52ZXI9dC52ZXJ8fCI0LjAiLCFEJiZlW2kueWxdKCk/SigpW2kudUxdKHQpOklbaS5NV10odCl9LGVbaS5TRF09SixlW2kudGJdPWZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIGh8fChoPSgwLGEucHUpKCgobj17fSlbaS5nXT1mdW5jdGlvbihlKXt9LG5baS5uN109ZnVuY3Rpb24oZSl7fSxuW3UudUNdPWZ1bmN0aW9uKGUpe30sblt1LiRGXT1mdW5jdGlvbihlLG4pe30sblt1LmZfXT1mdW5jdGlvbihlLG4pe30sbikpLGUuX25vdGlmaWNhdGlvbk1hbmFnZXI9aCksaH0sZVtpLmddPWZ1bmN0aW9uKGUpe2gmJmhbaS5nXShlKX0sZVtpLm43XT1mdW5jdGlvbihlKXtoJiZoW2kubjddKGUpfSxlLmdldENvb2tpZU1ncj1mdW5jdGlvbigpe3JldHVybiBifHwoYj0oMCxTLk56KShuLGVbaS5lWl0pKSxifSxlLnNldENvb2tpZU1ncj1mdW5jdGlvbihlKXtiPWV9LGVbdS5rbF09ZnVuY3Rpb24oKXtpZigheSYmIXcmJigwLHMudjQpKG4uZW5hYmxlUGVyZk1ncikpe3ZhciB0PSgwLHMudjQpKG5bdS5ETl0pOygwLHMubWYpKHQpJiYodz10KGUsZVtpLnRiXSgpKSl9cmV0dXJuIHl8fHd8fCgwLEEuajUpKCl9LGUuc2V0UGVyZk1ncj1mdW5jdGlvbihlKXt5PWV9LGUuZXZlbnRDbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gSVtpLlI1XX0sZS5yZWxlYXNlUXVldWU9ZnVuY3Rpb24oKXtpZih0JiZJW2kuUjVdPjApe3ZhciBlPUk7ST1bXSwoMCxzLnRPKShlLChmdW5jdGlvbihlKXtKKClbaS51TF0oZSl9KSl9fSxlLnBvbGxJbnRlcm5hbExvZ3M9ZnVuY3Rpb24oZSl7TD1lfHxudWxsO3ZhciB0PSgwLHMudjQpKG4uZGlhZ25vc3RpY0xvZ0ludGVydmFsKTtyZXR1cm4gdCYmdD4wfHwodD0xZTQpLFYmJmNsZWFySW50ZXJ2YWwoViksVj1zZXRJbnRlcnZhbCgoZnVuY3Rpb24oKXt6KCl9KSx0KX0sZVtpLkxTXT1mdW5jdGlvbigpe1YmJihjbGVhckludGVydmFsKFYpLFY9MCx6KCkpfSwoMCxzLlZiKShlLChmdW5jdGlvbigpe3JldHVybiBNfSksWyJhZGRUZWxlbWV0cnlJbml0aWFsaXplciJdKSxlLnVubG9hZD1mdW5jdGlvbihuLHIsYSl7dmFyIHU7dm9pZCAwPT09biYmKG49ITApLHR8fCgwLHMuX3kpKCJTREsgaXMgbm90IGluaXRpYWxpemVkIiksRCYmKDAscy5feSkobSk7dmFyIGw9KCh1PXtyZWFzb246NTB9KVtpLmRdPW4sdS5mbHVzaENvbXBsZXRlPSExLHUpLEg9KDAsYy5CdCkocSgpLGUpO2Z1bmN0aW9uIGQobil7bC5mbHVzaENvbXBsZXRlPW4sRD0hMCxXLnJ1bihILGwpLGVbaS5MU10oKSxIW2kudUxdKGwpfUhbaS5GY10oKGZ1bmN0aW9uKCl7bygpLHImJnIobCl9KSxlKSxHKG4sZCw2LGEpfHxkKCExKX0sZVtpLlRPXT1YLGUuYWRkUGx1Z2luPWZ1bmN0aW9uKGUsbix0LHIpe2lmKCFlKXJldHVybiByJiZyKCExKSx2b2lkIFEoVSk7dmFyIG89WChlW2kucFpdKTtpZihvJiYhbilyZXR1cm4gciYmcighMSksdm9pZCBRKCJQbHVnaW4gWyIrZVtpLnBaXSsiXSBpcyBhbHJlYWR5IGxvYWRlZCEiKTt2YXIgYT17cmVhc29uOjE2fTtmdW5jdGlvbiBzKG4pe2tbaS5NV10oZSksYS5hZGRlZD1bZV0sWihhKSxyJiZyKCEwKX1pZihvKXt2YXIgdT1bby5wbHVnaW5dO1kodSx7cmVhc29uOjIsaXNBc3luYzohIXR9LChmdW5jdGlvbihlKXtlPyhhLnJlbW92ZWQ9dSxhLnJlYXNvbnw9MzIscygpKTpyJiZyKCExKX0pKX1lbHNlIHMoKX0sZS5ldnROYW1lc3BhY2U9ZnVuY3Rpb24oKXtyZXR1cm4gQn0sZVtpLmtMXT1HLGUuZ2V0VHJhY2VDdHg9ZnVuY3Rpb24oZSl7cmV0dXJuIEZ8fChGPSgwLGwuWW4pKCkpLEZ9LGUuc2V0VHJhY2VDdHg9ZnVuY3Rpb24oZSl7Rj1lfHxudWxsfSwoMCxzLk9pKShlLCJhZGRVbmxvYWRDYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIFd9KSwiYWRkIil9KSl9cmV0dXJuIGUuX19pZUR5bj0xLGV9KCk7ZnVuY3Rpb24gdyhlLG4sdCxyKXsoMCxzLnRPKShlLChmdW5jdGlvbihlKXtpZihlJiZlW25dKWlmKHQpc2V0VGltZW91dCgoZnVuY3Rpb24oKXtyZXR1cm4gcihlKX0pLDApO2Vsc2UgdHJ5e3IoZSl9Y2F0Y2goZSl7fX0pKX12YXIgYj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobil7dGhpcy5saXN0ZW5lcnM9W107dmFyIHQ9ISEobnx8e30pLnBlcmZFdnRzU2VuZEFsbDsoMCxvLlopKGUsdGhpcywoZnVuY3Rpb24oZSl7ZVtpLmddPWZ1bmN0aW9uKG4pe2UubGlzdGVuZXJzW2kuTVddKG4pfSxlW2kubjddPWZ1bmN0aW9uKG4pe2Zvcih2YXIgdD0oMCxzLlVBKShlW2kuZEVdLG4pO3Q+LTE7KWUubGlzdGVuZXJzW2kuY2JdKHQsMSksdD0oMCxzLlVBKShlW2kuZEVdLG4pfSxlW3UudUNdPWZ1bmN0aW9uKG4pe3coZVtpLmRFXSx1LnVDLCEwLChmdW5jdGlvbihlKXtlW3UudUNdKG4pfSkpfSxlW3UuJEZdPWZ1bmN0aW9uKG4sdCl7dyhlW2kuZEVdLHUuJEYsITAsKGZ1bmN0aW9uKGUpe2VbdS4kRl0obix0KX0pKX0sZVt1LmZfXT1mdW5jdGlvbihuLHQpe3coZVtpLmRFXSx1LmZfLHQsKGZ1bmN0aW9uKGUpe2VbdS5mX10obix0KX0pKX0sZVt1LkMkXT1mdW5jdGlvbihuKXtuJiYoIXQmJm5baS5QTF0oKXx8dyhlW2kuZEVdLHUuQyQsITEsKGZ1bmN0aW9uKGUpe25baS5kXT9zZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBlW3UuQyRdKG4pfSksMCk6ZVt1LkMkXShuKX0pKSl9fSkpfXJldHVybiBlLl9faWVEeW49MSxlfSgpLEU9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3ZhciB0PWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4oMCxvLlopKG4sdCwoZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiB0KG4pe3ZhciB0PWVbaS50Yl0oKTt0JiZ0W3UuJEZdKFtuXSwyKX1lW2kuVkxdPWZ1bmN0aW9uKGUsdCxyLG8pe25baS5WTF0oZSx0LHJ8fG5ldyBDLkFRKGUpLG98fG5ldyBiKGUpKX0sZS50cmFjaz1mdW5jdGlvbihyKXsoMCxBLkxtKShlW3Uua2xdKCksKGZ1bmN0aW9uKCl7cmV0dXJuIkFwcEluc2lnaHRzQ29yZTp0cmFjayJ9KSwoZnVuY3Rpb24oKXtudWxsPT09ciYmKHQociksKDAscy5feSkoIkludmFsaWQgdGVsZW1ldHJ5IGl0ZW0iKSksZnVuY3Rpb24oZSl7KDAscy5sZSkoZVtpLkldKSYmKHQoZSksKDAscy5feSkoInRlbGVtZXRyeSBuYW1lIHJlcXVpcmVkIikpfShyKSxuLnRyYWNrKHIpfSksKGZ1bmN0aW9uKCl7cmV0dXJue2l0ZW06cn19KSwhci5zeW5jKX19KSksdH1yZXR1cm4oMCxyLm5lKShuLGUpLG4uX19pZUR5bj0xLG59KHkpLGs9dCg3MTgzNjYpLE89dCg2OTEyNTQpLHg9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3ZhciB0PWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gdC5wbHVnaW5WZXJzaW9uU3RyaW5nQXJyPVtdLCgwLG8uWikobix0LChmdW5jdGlvbihlLG4pe2UubG9nZ2VyJiZlLmxvZ2dlci5xdWV1ZXx8KGUubG9nZ2VyPW5ldyBDLkFRKHtsb2dnaW5nTGV2ZWxDb25zb2xlOjF9KSksZS5pbml0aWFsaXplPWZ1bmN0aW9uKHQscixvLGkpeygwLEEuTG0pKGUsKGZ1bmN0aW9uKCl7cmV0dXJuIkFwcEluc2lnaHRzQ29yZS5pbml0aWFsaXplIn0pLChmdW5jdGlvbigpe3ZhciBhPWUucGx1Z2luVmVyc2lvblN0cmluZ0FycjtpZih0KXt0LmVuZHBvaW50VXJsfHwodC5lbmRwb2ludFVybD1rLllUKTt2YXIgdT10LnByb3BlcnR5U3RvcmFnZU92ZXJyaWRlOyF1fHx1LmdldFByb3BlcnR5JiZ1LnNldFByb3BlcnR5fHwoMCxzLl95KSgiSW52YWxpZCBwcm9wZXJ0eSBzdG9yYWdlIG92ZXJyaWRlIHBhc3NlZC4iKSx0LmNoYW5uZWxzJiYoMCxzLnRPKSh0LmNoYW5uZWxzLChmdW5jdGlvbihlKXtlJiYoMCxzLnRPKShlLChmdW5jdGlvbihlKXtpZihlLmlkZW50aWZpZXImJmUudmVyc2lvbil7dmFyIG49ZS5pZGVudGlmaWVyKyI9IitlLnZlcnNpb247YS5wdXNoKG4pfX0pKX0pKX1lLmdldFdQYXJhbT1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnR8fHQuZW5hYmxlV1BhcmFtPzA6LTF9LHImJigwLHMudE8pKHIsKGZ1bmN0aW9uKGUpe2lmKGUmJmUuaWRlbnRpZmllciYmZS52ZXJzaW9uKXt2YXIgbj1lLmlkZW50aWZpZXIrIj0iK2UudmVyc2lvbjthLnB1c2gobil9fSkpLGUucGx1Z2luVmVyc2lvblN0cmluZz1hLmpvaW4oIjsiKSxlLnBsdWdpblZlcnNpb25TdHJpbmdBcnI9YTt0cnl7bi5pbml0aWFsaXplKHQscixvLGkpLGUucG9sbEludGVybmFsTG9ncygiSW50ZXJuYWxMb2ciKX1jYXRjaChuKXt2YXIgYz1lLmxvZ2dlcixsPSgwLGguZVUpKG4pOy0xIT09bC5pbmRleE9mKCJjaGFubmVscyIpJiYobCs9IlxuIC0gQ2hhbm5lbHMgbXVzdCBiZSBwcm92aWRlZCB0aHJvdWdoIGNvbmZpZy5jaGFubmVscyBvbmx5ISIpLCgwLEMua1ApKGMsMSw1MTQsIlNESyBJbml0aWFsaXphdGlvbiBGYWlsZWQgLSBubyB0ZWxlbWV0cnkgd2lsbCBiZSBzZW50OiAiK2wpfX0pLChmdW5jdGlvbigpe3JldHVybntjb25maWc6dCxleHRlbnNpb25zOnIsbG9nZ2VyOm8sbm90aWZpY2F0aW9uTWFuYWdlcjppfX0pKX0sZS50cmFjaz1mdW5jdGlvbih0KXsoMCxBLkxtKShlLChmdW5jdGlvbigpe3JldHVybiJBcHBJbnNpZ2h0c0NvcmUudHJhY2sifSksKGZ1bmN0aW9uKCl7dmFyIHI9dDtpZihyKXtyLnRpbWluZ3M9ci50aW1pbmdzfHx7fSxyLnRpbWluZ3MudHJhY2tTdGFydD0oMCxPLmhLKSgpLCgwLE8ucjcpKHIubGF0ZW5jeSl8fChyLmxhdGVuY3k9MSk7dmFyIG89ci5leHQ9ci5leHR8fHt9O28uc2RrPW8uc2RrfHx7fSxvLnNkay52ZXI9Ty52czt2YXIgaT1yLmJhc2VEYXRhPXIuYmFzZURhdGF8fHt9O2lbay5vNl09aVtrLm82XXx8e307dmFyIGE9aVtrLm82XTthW2sucDhdPWFbay5wOF18fGUucGx1Z2luVmVyc2lvblN0cmluZ3x8ay5xU31uLnRyYWNrKHIpfSksKGZ1bmN0aW9uKCl7cmV0dXJue2l0ZW06dH19KSwhdC5zeW5jKX19KSksdH1yZXR1cm4oMCxyLm5lKShuLGUpLG4uX19pZUR5bj0xLG59KEUpO2NvbnN0IFA9eH0sNzE4MzY2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3FTOigpPT5yLFlUOigpPT5vLHA4OigpPT5pLG82OigpPT5hfSk7dmFyIHI9IiIsbz0iaHR0cHM6Ly9icm93c2VyLmV2ZW50cy5kYXRhLm1pY3Jvc29mdC5jb20vT25lQ29sbGVjdG9yLzEuMC8iLGk9InZlcnNpb24iLGE9InByb3BlcnRpZXMifSw2OTEyNTQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7dnM6KCk9PlMsU246KCk9PkMsak06KCk9PkEscjc6KCk9PkkseWo6KCk9PmgsVnY6KCk9PlIsRG86KCk9PnYsY206KCk9PlUsbDc6KCk9Pm0saEs6KCk9Pk4saWY6KCk9PnksbUo6KCk9PmIsb3Q6KCk9PkV9KTt2YXIgcixvPXQoODAzMTQ1KSxpPXQoOTI5NTQxKSxhPXQoNzMxNzQwKSxzPXQoNjg1NTgzKSx1PXQoMjIxOTA4KSxjPXQoNzA2MDM4KSxsPXQoNzU1OTkyKSxIPXQoODI2NDU0KSxkPXQoNzE4MzY2KSxTPSIxRFMtV2ViLUpTLTMuMi43IixmPSJ3aXRoQ3JlZGVudGlhbHMiLHA9KChyPXt9KVswXT0wLHJbMl09NixyWzFdPTEsclszXT03LHJbNDA5OF09NixyWzQwOTddPTEscls0MDk5XT03LHIpO0Jvb2xlYW4oKDAsby5NZSkoKSksQm9vbGVhbigoMCxvLkpqKSgpKTtmdW5jdGlvbiBDKGUpe3JldHVybiEoZT09PWQucVN8fCgwLGkubGUpKGUpKX1mdW5jdGlvbiBBKGUpe2lmKGUpe3ZhciBuPWUuaW5kZXhPZigiLSIpO2lmKG4+LTEpcmV0dXJuIGUuc3Vic3RyaW5nKDAsbil9cmV0dXJuIGQucVN9ZnVuY3Rpb24gSShlKXtyZXR1cm4hIShlJiYoMCxpLmhqKShlKSYmZT49MSYmZTw9NCl9ZnVuY3Rpb24gaChlLG4sdCl7aWYoIW4mJiFDKG4pfHwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG51bGw7dmFyIHI9dHlwZW9mIG47aWYoInN0cmluZyI9PT1yfHwibnVtYmVyIj09PXJ8fCJib29sZWFuIj09PXJ8fCgwLGkua0opKG4pKW49e3ZhbHVlOm59O2Vsc2UgaWYoIm9iamVjdCIhPT1yfHx1LkNZLmNhbGwobiwidmFsdWUiKSl7aWYoKDAsaS5sZSkobi52YWx1ZSl8fG4udmFsdWU9PT1kLnFTfHwhKDAsaS5IRCkobi52YWx1ZSkmJiEoMCxpLmhqKShuLnZhbHVlKSYmISgwLGkuam4pKG4udmFsdWUpJiYhKDAsaS5rSikobi52YWx1ZSkpcmV0dXJuIG51bGx9ZWxzZSBuPXt2YWx1ZTp0P0pTT04uc3RyaW5naWZ5KG4pOm59O2lmKCgwLGkua0opKG4udmFsdWUpJiYhZyhuLnZhbHVlKSlyZXR1cm4gbnVsbDtpZighKDAsaS5sZSkobi5raW5kKSl7aWYoKDAsaS5rSikobi52YWx1ZSl8fCFLKG4ua2luZCkpcmV0dXJuIG51bGw7bi52YWx1ZT1uLnZhbHVlLnRvU3RyaW5nKCl9cmV0dXJuIG59ZnVuY3Rpb24gUihlLG4sdCl7dmFyIHI9LTE7aWYoISgwLGkubzgpKGUpKWlmKG4+MCYmKDMyPT09bj9yPTgxOTI6bjw9MTMmJihyPW48PDUpKSxmdW5jdGlvbihlKXtpZihlPj0wJiZlPD05KXJldHVybiEwO3JldHVybiExfSh0KSktMT09PXImJihyPTApLHJ8PXQ7ZWxzZXt2YXIgbz1wW3coZSldfHwtMTstMSE9PXImJi0xIT09bz9yfD1vOjY9PT1vJiYocj1vKX1yZXR1cm4gcn1mdW5jdGlvbiB2KGUsbix0KXt2YXIgcjtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9ITApLGUmJihyPWUuZ2V0KG4pLHQmJnImJmRlY29kZVVSSUNvbXBvbmVudCYmKHI9ZGVjb2RlVVJJQ29tcG9uZW50KHIpKSkscnx8ZC5xU31mdW5jdGlvbiBVKGUpe3ZvaWQgMD09PWUmJihlPSJEIik7dmFyIG49KDAscy5HVykoKTtyZXR1cm4iQiI9PT1lP249InsiK24rIn0iOiJQIj09PWU/bj0iKCIrbisiKSI6Ik4iPT09ZSYmKG49bi5yZXBsYWNlKC8tL2csZC5xUykpLG59ZnVuY3Rpb24gbShlLG4sdCxyLG8pe3ZhciBhPXt9LHM9ITEsYz0wLGw9YXJndW1lbnRzLmxlbmd0aCxIPU9iamVjdFt1LmhCXSxkPWFyZ3VtZW50cztmb3IoIltvYmplY3QgQm9vbGVhbl0iPT09SC50b1N0cmluZy5jYWxsKGRbMF0pJiYocz1kWzBdLGMrKyk7YzxsO2MrKyl7ZT1kW2NdOygwLGkuclcpKGUsKGZ1bmN0aW9uKGUsbil7cyYmbiYmKDAsaS5Lbikobik/KDAsaS5rSikobik/KGFbZV09YVtlXXx8W10sKDAsaS50TykobiwoZnVuY3Rpb24obix0KXtuJiYoMCxpLktuKShuKT9hW2VdW3RdPW0oITAsYVtlXVt0XSxuKTphW2VdW3RdPW59KSkpOmFbZV09bSghMCxhW2VdLG4pOmFbZV09bn0pKX1yZXR1cm4gYX12YXIgTj1zLkpqO2Z1bmN0aW9uIEsoZSl7cmV0dXJuIDA9PT1lfHxlPjAmJmU8PTEzfHwzMj09PWV9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gZS5sZW5ndGg+MH1mdW5jdGlvbiB5KGUsbil7dmFyIHQ9ZTt0LnRpbWluZ3M9dC50aW1pbmdzfHx7fSx0LnRpbWluZ3MucHJvY2Vzc1RlbGVtZXRyeVN0YXJ0PXQudGltaW5ncy5wcm9jZXNzVGVsZW1ldHJ5U3RhcnR8fHt9LHQudGltaW5ncy5wcm9jZXNzVGVsZW1ldHJ5U3RhcnRbbl09TigpfWZ1bmN0aW9uIHcoZSl7dmFyIG49MDtpZihudWxsIT1lKXt2YXIgdD10eXBlb2YgZTsic3RyaW5nIj09PXQ/bj0xOiJudW1iZXIiPT09dD9uPTI6ImJvb2xlYW4iPT09dD9uPTM6dD09PXUuZksmJihuPTQsKDAsaS5rSikoZSk/KG49NDA5NixlLmxlbmd0aD4wJiYobnw9dyhlWzBdKSkpOnUuQ1kuY2FsbChlLCJ2YWx1ZSIpJiYobj04MTkyfHcoZS52YWx1ZSkpKX1yZXR1cm4gbn11LmpBLHUuZkssdS5qQSxpLnRPLGkuVUEsaS5NcixpLlh6LGkuRlksaS5ZNixvLmIkLGkuSEQsaS5oaixpLmpuLGkubWYsaS5rSixpLktuLGkubmQsby5NRixpLlk2LG8uY3AsYS5wNyxhLlVZLGkubF8sYy5jOSxjLkliLGkuSWQsaS5yVyxpLlltLGkubzgsaS5sZSxpLm5yLGkubWYsaS5LbixpLkpfLGkua0osaS5WWixpLkhELGkuaGosaS5qbixpLlk2LGkudE8saS5VQSxpLk1yLGkuWHosaS5uZCxILnB1LGkuRlksaS5sXyxjLkliLGkubTYsby53MSxzLkdXLHMuSmosbC5wWixsLmF6LGwuX2wsbC5DTixsLkY2LHMuRE87ZnVuY3Rpb24gYigpe3JldHVybiEhKDAsby5hOCkoImNocm9tZSIpfWZ1bmN0aW9uIEUoZSxuLHQscixvLGkpe2Z1bmN0aW9uIGEoZSxuLHQpe3RyeXtlW25dPXR9Y2F0Y2goZSl7fX12b2lkIDA9PT1yJiYocj0hMSksdm9pZCAwPT09byYmKG89ITEpO3ZhciBzPW5ldyBYTUxIdHRwUmVxdWVzdDtyZXR1cm4gciYmYShzLCJNaWNyb3NvZnRfQXBwbGljYXRpb25JbnNpZ2h0c19CeXBhc3NBamF4SW5zdHJ1bWVudGF0aW9uIixyKSx0JiZhKHMsZix0KSxzLm9wZW4oZSxuLCFvKSx0JiZhKHMsZix0KSwhbyYmaSYmYShzLCJ0aW1lb3V0IixpKSxzfX0sOTgwMzc6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7b3c6KCk9PnIsamU6KCk9Pm8sZTI6KCk9Pml9KTt2YXIgcj0iUkVBTF9USU1FIixvPSJORUFSX1JFQUxfVElNRSIsaT0iQkVTVF9FRkZPUlQifSwxMDI0MDQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+aWV9KTt2YXIgcj10KDM0NTM2Miksbz10KDkyMzgwNiksaT0oMCx0KDQ4NTM2MikuQnkpKHtVbmtub3duOjAsTm9uUmV0cnlhYmxlU3RhdHVzOjEsSW52YWxpZEV2ZW50OjIsU2l6ZUxpbWl0RXhjZWVkZWQ6MyxLaWxsU3dpdGNoOjQsUXVldWVGdWxsOjV9KSxhPXQoMzE3MTQwKSxzPXQoNzA2MDM4KSx1PXQoMjM1NjIpLGM9dCg2OTEyNTQpLGw9dCg5Mjk1NDEpLEg9dCg4MDMxNDUpLGQ9dCg2NjIzNzIpLFM9dCg3NjY4NjQpLGY9dCg5ODAzNykscD0iUE9TVCIsQz0iZHJvcCIsQT0ic2VuZCIsST0icmVxdWV1ZSIsaD0icnNwRmFpbCIsUj0iYXBwbGljYXRpb24veC1qc29uLXN0cmVhbSIsdj0iY2FjaGUtY29udHJvbCIsVT0iY29udGVudC10eXBlIixtPSJraWxsLWR1cmF0aW9uIixOPSJ0aW1lLWRlbHRhLW1pbGxpcyIsSz0iY2xpZW50LXZlcnNpb24iLGc9ImNsaWVudC1pZCIseT0idGltZS1kZWx0YS10by1hcHBseS1taWxsaXMiLHc9InVwbG9hZC10aW1lIixiPSJhcGlrZXkiLEU9IkF1dGhNc2FEZXZpY2VUaWNrZXQiLGs9IkF1dGhYVG9rZW4iO2Z1bmN0aW9uIE8oZSl7dmFyIG49KGUuZXh0fHx7fSkuaW50d2ViO3JldHVybiBuJiYoMCxjLlNuKShuLm1zZnBjKT9uLm1zZnBjOm51bGx9ZnVuY3Rpb24geChlKXtmb3IodmFyIG49bnVsbCx0PTA7bnVsbD09PW4mJnQ8ZS5sZW5ndGg7dCsrKW49TyhlW3RdKTtyZXR1cm4gbn12YXIgUD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobix0KXt2YXIgcj10P1tdLmNvbmNhdCh0KTpbXSxvPXRoaXMsaT14KHIpO28uaUtleT1mdW5jdGlvbigpe3JldHVybiBufSxvLk1zZnBjPWZ1bmN0aW9uKCl7cmV0dXJuIGl8fCIifSxvLmNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIHIubGVuZ3RofSxvLmV2ZW50cz1mdW5jdGlvbigpe3JldHVybiByfSxvLmFkZEV2ZW50PWZ1bmN0aW9uKGUpe3JldHVybiEhZSYmKHIucHVzaChlKSxpfHwoaT1PKGUpKSwhMCl9LG8uc3BsaXQ9ZnVuY3Rpb24odCxvKXt2YXIgYTtpZih0PHIubGVuZ3RoKXt2YXIgcz1yLmxlbmd0aC10OygwLGwubGUpKG8pfHwocz1vPHM/bzpzKSxhPXIuc3BsaWNlKHQscyksaT14KHIpfXJldHVybiBuZXcgZShuLGEpfX1yZXR1cm4gZS5jcmVhdGU9ZnVuY3Rpb24obix0KXtyZXR1cm4gbmV3IGUobix0KX0sZX0oKTtjb25zdCBUPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe3ZhciBuPSEwLHQ9ITAscj0hMCxpPSJ1c2UtY29sbGVjdG9yLWRlbHRhIixhPSExOygwLG8uWikoZSx0aGlzLChmdW5jdGlvbihlKXtlLmFsbG93UmVxdWVzdFNlbmRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gbn0sZS5maXJzdFJlcXVlc3RTZW50PWZ1bmN0aW9uKCl7ciYmKHI9ITEsYXx8KG49ITEpKX0sZS5zaG91bGRBZGRDbG9ja1NrZXdIZWFkZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGUuZ2V0Q2xvY2tTa2V3SGVhZGVyVmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gaX0sZS5zZXRDbG9ja1NrZXc9ZnVuY3Rpb24oZSl7YXx8KGU/KGk9ZSx0PSEwLGE9ITApOnQ9ITEsbj0hMCl9fSkpfXJldHVybiBlLl9faWVEeW49MSxlfSgpO2NvbnN0IEQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7dmFyIG49e307KDAsby5aKShlLHRoaXMsKGZ1bmN0aW9uKGUpe2Uuc2V0S2lsbFN3aXRjaFRlbmFudHM9ZnVuY3Rpb24oZSx0KXtpZihlJiZ0KXRyeXt2YXIgcj0oYT1lLnNwbGl0KCIsIikscz1bXSxhJiYoMCxsLnRPKShhLChmdW5jdGlvbihlKXtzLnB1c2goKDAsbC5uZCkoZSkpfSkpLHMpO2lmKCJ0aGlzLXJlcXVlc3Qtb25seSI9PT10KXJldHVybiByO2Zvcih2YXIgbz0xZTMqcGFyc2VJbnQodCwxMCksaT0wO2k8ci5sZW5ndGg7KytpKW5bcltpXV09KDAsbC5tNikoKStvfWNhdGNoKGUpe3JldHVybltdfXZhciBhLHM7cmV0dXJuW119LGUuaXNUZW5hbnRLaWxsZWQ9ZnVuY3Rpb24oZSl7dmFyIHQ9bixyPSgwLGwubmQpKGUpO3JldHVybiB2b2lkIDAhPT10W3JdJiZ0W3JdPigwLGwubTYpKCl8fChkZWxldGUgdFtyXSwhMSl9fSkpfXJldHVybiBlLl9faWVEeW49MSxlfSgpO3ZhciBNPXQoMjIxOTA4KTtmdW5jdGlvbiBMKGUpe3ZhciBuLHQ9TWF0aC5mbG9vcigxMjAwKk1hdGgucmFuZG9tKCkpKzI0MDA7cmV0dXJuIG49TWF0aC5wb3coMixlKSp0LE1hdGgubWluKG4sNmU1KX12YXIgQixXPTJlNixqPU1hdGgubWluKFcsNjVlMyksRj0vXC4vLFY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKG4sdCxyLGkpe3ZhciBzPSJkYXRhIix1PSJiYXNlRGF0YSIsSD0hIWksZD10LFM9e307KDAsby5aKShlLHRoaXMsKGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSxuLG8saSxhLHMsdSl7KDAsbC5yVykoZSwoZnVuY3Rpb24oZSxmKXt2YXIgcD1udWxsO2lmKGZ8fCgwLGMuU24pKGYpKXt2YXIgQz1vLEE9ZSxJPWEsaD1uO2lmKEgmJiFpJiZGLnRlc3QoZSkpe3ZhciBSPWUuc3BsaXQoIi4iKSx2PVIubGVuZ3RoO2lmKHY+MSl7SSYmKEk9SS5zbGljZSgpKTtmb3IodmFyIFU9MDtVPHYtMTtVKyspe3ZhciBtPVJbVV07aD1oW21dPWhbbV18fHt9LEMrPSIuIittLEkmJkkucHVzaChtKX1BPVJbdi0xXX19dmFyIE49aSYmZnVuY3Rpb24oZSxuKXt2YXIgdD1TW2VdO3JldHVybiB2b2lkIDA9PT10JiYoZS5sZW5ndGg+PTcmJih0PSgwLGwueGUpKGUsImV4dC5tZXRhZGF0YSIpfHwoMCxsLnhlKShlLCJleHQud2ViIikpLFNbZV09dCksdH0oQyk7aWYocD0hTiYmZCYmZC5oYW5kbGVGaWVsZChDLEEpP2QudmFsdWUoQyxBLGYscik6KDAsYy55aikoQSxmLHIpKXt2YXIgSz1wLnZhbHVlO2lmKGhbQV09SyxzJiZzKEksQSxwKSx1JiYib2JqZWN0Ij09dHlwZW9mIEsmJiEoMCxsLmtKKShLKSl7dmFyIGc9STtnJiYoZz1nLnNsaWNlKCkpLnB1c2goQSksdChmLEssQysiLiIrQSxpLGcscyx1KX19fX0pKX1lLmNyZWF0ZVBheWxvYWQ9ZnVuY3Rpb24oZSxuLHQscixvLGkpe3JldHVybnthcGlLZXlzOltdLHBheWxvYWRCbG9iOiIiLG92ZXJmbG93Om51bGwsc2l6ZUV4Y2VlZDpbXSxmYWlsZWRFdnRzOltdLGJhdGNoZXM6W10sbnVtRXZlbnRzOjAscmV0cnlDbnQ6ZSxpc1RlYXJkb3duOm4saXNTeW5jOnQsaXNCZWFjb246cixzZW5kVHlwZTppLHNlbmRSZWFzb246b319LGUuYXBwZW5kUGF5bG9hZD1mdW5jdGlvbih0LHIsbyl7dmFyIGk9dCYmciYmIXQub3ZlcmZsb3c7cmV0dXJuIGkmJigwLGEuTG0pKG4sKGZ1bmN0aW9uKCl7cmV0dXJuIlNlcmlhbGl6ZXI6YXBwZW5kUGF5bG9hZCJ9KSwoZnVuY3Rpb24oKXtmb3IodmFyIG49ci5ldmVudHMoKSxpPXQucGF5bG9hZEJsb2IsYT10Lm51bUV2ZW50cyxzPSExLHU9W10sYz1bXSxIPXQuaXNCZWFjb24sZD1IPzY1ZTM6Mzk4NDU4OCxTPUg/ajpXLGY9MCxwPTA7ZjxuLmxlbmd0aDspe3ZhciBDPW5bZl07aWYoQyl7aWYoYT49byl7dC5vdmVyZmxvdz1yLnNwbGl0KGYpO2JyZWFrfXZhciBBPWUuZ2V0RXZlbnRCbG9iKEMpO2lmKEEmJkEubGVuZ3RoPD1TKXt2YXIgST1BLmxlbmd0aDtpZihpLmxlbmd0aCtJPmQpe3Qub3ZlcmZsb3c9ci5zcGxpdChmKTticmVha31pJiYoaSs9IlxuIiksaSs9QSwrK3A+MjAmJihpLnN1YnN0cigwLDEpLHA9MCkscz0hMCxhKyt9ZWxzZSBBP3UucHVzaChDKTpjLnB1c2goQyksbi5zcGxpY2UoZiwxKSxmLS19ZisrfWlmKHUmJnUubGVuZ3RoPjAmJnQuc2l6ZUV4Y2VlZC5wdXNoKFAuY3JlYXRlKHIuaUtleSgpLHUpKSxjJiZjLmxlbmd0aD4wJiZ0LmZhaWxlZEV2dHMucHVzaChQLmNyZWF0ZShyLmlLZXkoKSxjKSkscyl7dC5iYXRjaGVzLnB1c2gociksdC5wYXlsb2FkQmxvYj1pLHQubnVtRXZlbnRzPWE7dmFyIGg9ci5pS2V5KCk7LTE9PT0oMCxsLlVBKSh0LmFwaUtleXMsaCkmJnQuYXBpS2V5cy5wdXNoKGgpfX0pLChmdW5jdGlvbigpe3JldHVybntwYXlsb2FkOnQsdGhlQmF0Y2g6e2lLZXk6ci5pS2V5KCksZXZ0czpyLmV2ZW50cygpfSxtYXg6b319KSksaX0sZS5nZXRFdmVudEJsb2I9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybigwLGEuTG0pKG4sKGZ1bmN0aW9uKCl7cmV0dXJuIlNlcmlhbGl6ZXIuZ2V0RXZlbnRCbG9iIn0pLChmdW5jdGlvbigpe3ZhciBuPXt9O24ubmFtZT1lLm5hbWUsbi50aW1lPWUudGltZSxuLnZlcj1lLnZlcixuLmlLZXk9Im86IisoMCxjLmpNKShlLmlLZXkpO3ZhciByPXt9LG89ZS5leHQ7byYmKG4uZXh0PXIsKDAsbC5yVykobywoZnVuY3Rpb24oZSxuKXt0KG4scltlXT17fSwiZXh0LiIrZSwhMCxudWxsLG51bGwsITApfSkpKTt2YXIgaT1uLmRhdGE9e307aS5iYXNlVHlwZT1lLmJhc2VUeXBlO3ZhciBhPWkuYmFzZURhdGE9e307cmV0dXJuIHQoZS5iYXNlRGF0YSxhLHUsITEsW3VdLChmdW5jdGlvbihlLG4sdCl7SihyLGUsbix0KX0pLHRydWUpLHQoZS5kYXRhLGkscywhMSxbXSwoZnVuY3Rpb24oZSxuLHQpe0oocixlLG4sdCl9KSx0cnVlKSxKU09OLnN0cmluZ2lmeShuKX0pLChmdW5jdGlvbigpe3JldHVybntpdGVtOmV9fSkpfWNhdGNoKGUpe3JldHVybiBudWxsfX19KSl9cmV0dXJuIGUuX19pZUR5bj0xLGV9KCk7ZnVuY3Rpb24gSihlLG4sdCxyKXtpZihyJiZlKXt2YXIgbz0oMCxjLlZ2KShyLnZhbHVlLHIua2luZCxyLnByb3BlcnR5VHlwZSk7aWYobz4tMSl7dmFyIGk9ZS5tZXRhZGF0YTtpfHwoaT1lLm1ldGFkYXRhPXtmOnt9fSk7dmFyIGE9aS5mO2lmKGF8fChhPWkuZj17fSksbilmb3IodmFyIHM9MDtzPG4ubGVuZ3RoO3MrKyl7dmFyIHU9bltzXTthW3VdfHwoYVt1XT17Zjp7fX0pO3ZhciBIPWFbdV0uZjtIfHwoSD1hW3VdLmY9e30pLGE9SH1hPWFbdF09e30sKDAsbC5rSikoci52YWx1ZSk/YS5hPXt0Om99OmEudD1vfX19dmFyIFo9IiZOb1Jlc3BvbnNlQm9keT10cnVlIixYPSgoQj17fSlbMV09SSxCWzEwMF09SSxCWzIwMF09InNlbnQiLEJbODAwNF09QyxCWzgwMDNdPUMsQikscT17fSxZPXt9O2Z1bmN0aW9uIHooZSxuLHQpe3FbZV09biwhMSE9PXQmJihZW25dPWUpfWZ1bmN0aW9uIEcoZSl7dHJ5e3JldHVybiBlLnJlc3BvbnNlVGV4dH1jYXRjaChlKXt9cmV0dXJuIiJ9ZnVuY3Rpb24gUShlLG4pe3ZhciB0PSExO2lmKGUmJm4pe3ZhciByPSgwLGwuRlkpKGUpO2lmKHImJnIubGVuZ3RoPjApZm9yKHZhciBvPW4udG9Mb3dlckNhc2UoKSxpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBhPXJbaV07aWYoYSYmKDAsbC5ucikobixhKSYmYS50b0xvd2VyQ2FzZSgpPT09byl7dD0hMDticmVha319fXJldHVybiB0fWZ1bmN0aW9uIF8oZSxuLHQscil7biYmdCYmdC5sZW5ndGg+MCYmKHImJnFbbl0/KGUuaGRyc1txW25dXT10LGUudXNlSGRycz0hMCk6ZS51cmwrPSImIituKyI9Iit0KX1mdW5jdGlvbiAkKGUsbil7cmV0dXJuIG4mJigoMCxsLmhqKShuKT9lPVtuXS5jb25jYXQoZSk6KDAsbC5rSikobikmJihlPW4uY29uY2F0KGUpKSksZX16KEUsRSwhMSkseihLLEspLHooZywiQ2xpZW50LUlkIikseihiLGIpLHooeSx5KSx6KHcsdykseihrLGspO3ZhciBlZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobix0LHIsaSxzKXt0aGlzLl9yZXNwb25zZUhhbmRsZXJzPVtdO3ZhciB1LFMsZixJLEUsayxPLHgsUCxCPSI/Y29ycz10cnVlJiIrVS50b0xvd2VyQ2FzZSgpKyI9IitSLFc9bmV3IEQsaj0hMSxGPW5ldyBULEo9ITEscT0wLHo9ITAsZWU9W10sbmU9e30sdGU9W10scmU9bnVsbCxvZT0hMSxpZT0hMSxhZT0hMTsoMCxvLlopKGUsdGhpcywoZnVuY3Rpb24oZSl7dmFyIG89ITA7ZnVuY3Rpb24gVChlLG4pe2Zvcih2YXIgdD0wLHI9bnVsbCxvPTA7bnVsbD09ciYmbzxlLmxlbmd0aDspMT09PSh0PWVbb10pPygwLEguY3ApKCk/cj1EOigwLEguWjMpKCkmJihyPXVlKToyPT09dCYmKDAsSC5KTykobikmJighbnx8biYmIXgpP3I9c2U6SiYmMz09PXQmJigwLEguTUYpKCkmJihyPWxlKSxvKys7cmV0dXJuIHI/e190cmFuc3BvcnQ6dCxfaXNTeW5jOm4sc2VuZFBPU1Q6cn06bnVsbH1mdW5jdGlvbiBEKGUsbix0KXt2YXIgcj1uZXcgWERvbWFpblJlcXVlc3Q7ci5vcGVuKHAsZS51cmxTdHJpbmcpLGUudGltZW91dCYmKHIudGltZW91dD1lLnRpbWVvdXQpLHIub25sb2FkPWZ1bmN0aW9uKCl7dmFyIGU9RyhyKTtjZShuLDIwMCx7fSxlKSxVZShlKX0sci5vbmVycm9yPWZ1bmN0aW9uKCl7Y2Uobiw0MDAse30pfSxyLm9udGltZW91dD1mdW5jdGlvbigpe2NlKG4sNTAwLHt9KX0sci5vbnByb2dyZXNzPWZ1bmN0aW9uKCl7fSx0P3Iuc2VuZChlLmRhdGEpOnMuc2V0KChmdW5jdGlvbigpe3Iuc2VuZChlLmRhdGEpfSksMCl9ZnVuY3Rpb24gc2UoZSxuLHQpe3ZhciByLGk9ZS51cmxTdHJpbmcsYT0hMSx1PSExLGM9KChyPXtib2R5OmUuZGF0YSxtZXRob2Q6cH0pLk1pY3Jvc29mdF9BcHBsaWNhdGlvbkluc2lnaHRzX0J5cGFzc0FqYXhJbnN0cnVtZW50YXRpb249ITAscik7dCYmKGMua2VlcGFsaXZlPSEwLDI9PT1lLl9zZW5kUmVhc29uJiYoYT0hMCxpKz1aKSksbyYmKGMuY3JlZGVudGlhbHM9ImluY2x1ZGUiKSxlLmhlYWRlcnMmJigwLGwuRlkpKGUuaGVhZGVycykubGVuZ3RoPjAmJihjLmhlYWRlcnM9ZS5oZWFkZXJzKSxmZXRjaChpLGMpLnRoZW4oKGZ1bmN0aW9uKGUpe3ZhciB0PXt9LHI9IiIsbz1lLmhlYWRlcnM7byYmby5mb3JFYWNoKChmdW5jdGlvbihlLG4pe3Rbbl09ZX0pKSxlLmJvZHkmJmUudGV4dCgpLnRoZW4oKGZ1bmN0aW9uKGUpe3I9ZX0pKSx1fHwodT0hMCxjZShuLGUuc3RhdHVzLHQsciksVWUocikpfSkpLmNhdGNoKChmdW5jdGlvbihlKXt1fHwodT0hMCxjZShuLDAse30pKX0pKSxhJiYhdSYmKHU9ITAsY2UobiwyMDAse30pKSwhdSYmZS50aW1lb3V0PjAmJnMuc2V0KChmdW5jdGlvbigpe3V8fCh1PSEwLGNlKG4sNTAwLHt9KSl9KSxlLnRpbWVvdXQpfWZ1bmN0aW9uIHVlKGUsbix0KXt2YXIgcj1lLnVybFN0cmluZztmdW5jdGlvbiBpKGUsbix0KXtpZighZVt0XSYmbiYmbi5nZXRSZXNwb25zZUhlYWRlcil7dmFyIHI9bi5nZXRSZXNwb25zZUhlYWRlcih0KTtyJiYoZVt0XT0oMCxsLm5kKShyKSl9cmV0dXJuIGV9ZnVuY3Rpb24gYShlKXt2YXIgbj17fTtyZXR1cm4gZS5nZXRBbGxSZXNwb25zZUhlYWRlcnM/bj1mdW5jdGlvbihlKXt2YXIgbj17fTtpZigoMCxsLkhEKShlKSl7dmFyIHQ9KDAsbC5uZCkoZSkuc3BsaXQoL1tcclxuXSsvKTsoMCxsLnRPKSh0LChmdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lLmluZGV4T2YoIjogIik7aWYoLTEhPT10KXt2YXIgcj0oMCxsLm5kKShlLnN1YnN0cmluZygwLHQpKS50b0xvd2VyQ2FzZSgpLG89KDAsbC5uZCkoZS5zdWJzdHJpbmcodCsxKSk7bltyXT1vfWVsc2UgblsoMCxsLm5kKShlKV09MX19KSl9cmV0dXJuIG59KGUuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOihuPWkobixlLE4pLG49aShuLGUsbSksbj1pKG4sZSwia2lsbC1kdXJhdGlvbi1zZWNvbmRzIikpLG59ZnVuY3Rpb24gcyhlLHQpe2NlKG4sZS5zdGF0dXMsYShlKSx0KX10JiZlLmRpc2FibGVYaHJTeW5jJiYodD0hMSk7dmFyIHU9KDAsYy5vdCkocCxyLG8sITAsdCxlLnRpbWVvdXQpOygwLGwuclcpKGUuaGVhZGVycywoZnVuY3Rpb24oZSxuKXt1LnNldFJlcXVlc3RIZWFkZXIoZSxuKX0pKSx1Lm9ubG9hZD1mdW5jdGlvbigpe3ZhciBlPUcodSk7cyh1LGUpLFVlKGUpfSx1Lm9uZXJyb3I9ZnVuY3Rpb24oKXtzKHUpfSx1Lm9udGltZW91dD1mdW5jdGlvbigpe3ModSl9LHUuc2VuZChlLmRhdGEpfWZ1bmN0aW9uIGNlKGUsbix0LHIpe3RyeXtlKG4sdCxyKX1jYXRjaChlKXsoMCxkLmtQKShTLDIsNTE4LCgwLEguZVUpKGUpKX19ZnVuY3Rpb24gbGUoZSxuLHQpe3ZhciByPTIwMCxvPWUuX3RoZVBheWxvYWQsaT1lLnVybFN0cmluZytaO3RyeXt2YXIgYT0oMCxILmpXKSgpO2lmKCFhLnNlbmRCZWFjb24oaSxlLmRhdGEpKWlmKG8pe3ZhciBzPVtdOygwLGwudE8pKG8uYmF0Y2hlcywoZnVuY3Rpb24oZSl7aWYocyYmZSYmZS5jb3VudCgpPjApe2Zvcih2YXIgbj1lLmV2ZW50cygpLHQ9MDt0PG4ubGVuZ3RoO3QrKylpZighYS5zZW5kQmVhY29uKGkscmUuZ2V0RXZlbnRCbG9iKG5bdF0pKSl7cy5wdXNoKGUuc3BsaXQodCkpO2JyZWFrfX1lbHNlIHMucHVzaChlLnNwbGl0KDApKX0pKSxtZShzLDgwMDMsby5zZW5kVHlwZSwhMCl9ZWxzZSByPTB9Y2F0Y2goZSl7KDAsZC5qVikoUywiRmFpbGVkIHRvIHNlbmQgdGVsZW1ldHJ5IHVzaW5nIHNlbmRCZWFjb24gQVBJLiBFeDoiKygwLEguZVUpKGUpKSxyPTB9ZmluYWxseXtjZShuLHIse30sIiIpfX1mdW5jdGlvbiBIZShlKXtyZXR1cm4gMj09PWV8fDM9PT1lfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBpZSYmSGUoZSkmJihlPTIpLGV9ZnVuY3Rpb24gU2UoKXtyZXR1cm4haiYmcTx0fWZ1bmN0aW9uIGZlKCl7dmFyIGU9dGU7cmV0dXJuIHRlPVtdLGV9ZnVuY3Rpb24gcGUoZSxuLHQpe3ZhciByPSExO3JldHVybiBlJiZlLmxlbmd0aD4wJiYhaiYmZltuXSYmcmUmJihyPTAhPT1ufHxTZSgpJiYodD4wfHxGLmFsbG93UmVxdWVzdFNlbmRpbmcoKSkpLHJ9ZnVuY3Rpb24gQ2UoZSl7dmFyIG49e307cmV0dXJuIGUmJigwLGwudE8pKGUsKGZ1bmN0aW9uKGUsdCl7blt0XT17aUtleTplLmlLZXkoKSxldnRzOmUuZXZlbnRzKCl9fSkpLG59ZnVuY3Rpb24gQWUoZSx0LHIsbyxpKXtpZihlJiYwIT09ZS5sZW5ndGgpaWYoailtZShlLDEsbyk7ZWxzZXtvPWRlKG8pO3RyeXt2YXIgcz1lLHU9MCE9PW87KDAsYS5MbSkoSSwoZnVuY3Rpb24oKXtyZXR1cm4iSHR0cE1hbmFnZXI6X3NlbmRCYXRjaGVzIn0pLChmdW5jdGlvbihhKXthJiYoZT1lLnNsaWNlKDApKTtmb3IodmFyIHM9W10sbD1udWxsLEg9KDAsYy5oSykoKSxkPWZbb118fCh1P2ZbMV06ZlswXSksUz1kJiZkLl90cmFuc3BvcnQscD1QJiYoaWV8fEhlKG8pfHwzPT09U3x8ZC5faXNTeW5jJiYyPT09Uyk7cGUoZSxvLHQpOyl7dmFyIEM9ZS5zaGlmdCgpO0MmJkMuY291bnQoKT4wJiYoVy5pc1RlbmFudEtpbGxlZChDLmlLZXkoKSk/cy5wdXNoKEMpOihsPWx8fHJlLmNyZWF0ZVBheWxvYWQodCxyLHUscCxpLG8pLHJlLmFwcGVuZFBheWxvYWQobCxDLG4pP251bGwhPT1sLm92ZXJmbG93JiYoZT1bbC5vdmVyZmxvd10uY29uY2F0KGUpLGwub3ZlcmZsb3c9bnVsbCxSZShsLEgsKDAsYy5oSykoKSxpKSxIPSgwLGMuaEspKCksbD1udWxsKTooUmUobCxILCgwLGMuaEspKCksaSksSD0oMCxjLmhLKSgpLGU9W0NdLmNvbmNhdChlKSxsPW51bGwpKSl9bCYmUmUobCxILCgwLGMuaEspKCksaSksZS5sZW5ndGg+MCYmKHRlPWUuY29uY2F0KHRlKSksbWUocyw4MDA0LG8pfSksKGZ1bmN0aW9uKCl7cmV0dXJue2JhdGNoZXM6Q2UocykscmV0cnlDb3VudDp0LGlzVGVhcmRvd246cixpc1N5bmNocm9ub3VzOnUsc2VuZFJlYXNvbjppLHVzZVNlbmRCZWFjb246SGUobyksc2VuZFR5cGU6b319KSwhdSl9Y2F0Y2goZSl7KDAsZC5rUCkoUywyLDQ4LCJVbmV4cGVjdGVkIEV4Y2VwdGlvbiBzZW5kaW5nIGJhdGNoOiAiKygwLEguZVUpKGUpKX19fWZ1bmN0aW9uIEllKGUsbil7dmFyIHQ9e3VybDpCLGhkcnM6e30sdXNlSGRyczohMX07bj8odC5oZHJzPSgwLGMubDcpKHQuaGRycyxuZSksdC51c2VIZHJzPSgwLGwuRlkpKHQuaGRycykubGVuZ3RoPjApOigwLGwuclcpKG5lLChmdW5jdGlvbihlLG4pe1lbZV0/Xyh0LFlbZV0sbiwhMSk6KHQuaGRyc1tlXT1uLHQudXNlSGRycz0hMCl9KSksXyh0LGcsIk5PX0FVVEgiLG4pLF8odCxLLGMudnMsbik7dmFyIHI9IiI7KDAsbC50TykoZS5hcGlLZXlzLChmdW5jdGlvbihlKXtyLmxlbmd0aD4wJiYocis9IiwiKSxyKz1lfSkpLF8odCxiLHIsbiksXyh0LHcsKDAsbC5tNikoKS50b1N0cmluZygpLG4pO3ZhciBvPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wO248ZS5iYXRjaGVzLmxlbmd0aDtuKyspe3ZhciB0PWUuYmF0Y2hlc1tuXS5Nc2ZwYygpO2lmKHQpcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0KX1yZXR1cm4iIn0oZSk7aWYoKDAsYy5TbikobykmJih0LnVybCs9IiZleHQuaW50d2ViLm1zZnBjPSIrbyksRi5zaG91bGRBZGRDbG9ja1NrZXdIZWFkZXJzKCkmJl8odCx5LEYuZ2V0Q2xvY2tTa2V3SGVhZGVyVmFsdWUoKSxuKSxJLmdldFdQYXJhbSl7dmFyIGk9SS5nZXRXUGFyYW0oKTtpPj0wJiYodC51cmwrPSImdz0iK2kpfWZvcih2YXIgYT0wO2E8ZWUubGVuZ3RoO2ErKyl0LnVybCs9IiYiK2VlW2FdLm5hbWUrIj0iK2VlW2FdLnZhbHVlO3JldHVybiB0fWZ1bmN0aW9uIGhlKGUsbix0KXtlW25dPWVbbl18fHt9LGVbbl1bdS5pZGVudGlmaWVyXT10fWZ1bmN0aW9uIFJlKG4sdCxvLGkpe2lmKG4mJm4ucGF5bG9hZEJsb2ImJm4ucGF5bG9hZEJsb2IubGVuZ3RoPjApe3ZhciBzPSEhZS5zZW5kSG9vayxwPWZbbi5zZW5kVHlwZV07IUhlKG4uc2VuZFR5cGUpJiZuLmlzQmVhY29uJiYyPT09bi5zZW5kUmVhc29uJiYocD1mWzJdfHxmWzNdfHxwKTt2YXIgQz1hZTsobi5pc0JlYWNvbnx8Mz09PXAuX3RyYW5zcG9ydCkmJihDPSExKTt2YXIgQT1JZShuLEMpO0M9Q3x8QS51c2VIZHJzO3ZhciBoPSgwLGMuaEspKCk7KDAsYS5MbSkoSSwoZnVuY3Rpb24oKXtyZXR1cm4iSHR0cE1hbmFnZXI6X2RvUGF5bG9hZFNlbmQifSksKGZ1bmN0aW9uKCl7Zm9yKHZhciBmPTA7ZjxuLmJhdGNoZXMubGVuZ3RoO2YrKylmb3IodmFyIG09bi5iYXRjaGVzW2ZdLmV2ZW50cygpLE49MDtOPG0ubGVuZ3RoO04rKyl7dmFyIEs9bVtOXTtpZihvZSl7dmFyIGc9Sy50aW1pbmdzPUsudGltaW5nc3x8e307aGUoZywic2VuZEV2ZW50U3RhcnQiLGgpLGhlKGcsInNlcmlhbGl6YXRpb25TdGFydCIsdCksaGUoZywic2VyaWFsaXphdGlvbkNvbXBsZXRlZCIsbyl9Sy5zZW5kQXR0ZW1wdD4wP0suc2VuZEF0dGVtcHQrKzpLLnNlbmRBdHRlbXB0PTF9bWUobi5iYXRjaGVzLDFlMysoaXx8MCksbi5zZW5kVHlwZSwhMCk7dmFyIHk9e2RhdGE6bi5wYXlsb2FkQmxvYix1cmxTdHJpbmc6QS51cmwsaGVhZGVyczpBLmhkcnMsX3RoZVBheWxvYWQ6bixfc2VuZFJlYXNvbjppLHRpbWVvdXQ6ayxkaXNhYmxlWGhyU3luYzpPLGRpc2FibGVGZXRjaEtlZXBBbGl2ZTp4fTtDJiYoUSh5LmhlYWRlcnMsdil8fCh5LmhlYWRlcnNbImNhY2hlLWNvbnRyb2wiXT0ibm8tY2FjaGUsIG5vLXN0b3JlIiksUSh5LmhlYWRlcnMsVSl8fCh5LmhlYWRlcnNbImNvbnRlbnQtdHlwZSJdPVIpKTt2YXIgdz1udWxsO3AmJih3PWZ1bmN0aW9uKHQpe0YuZmlyc3RSZXF1ZXN0U2VudCgpO3ZhciBvPWZ1bmN0aW9uKHQsbyl7IWZ1bmN0aW9uKG4sdCxvLGkpe3ZhciBhPTllMyxzPW51bGwsSD0hMSxkPSExO3RyeXt2YXIgUz0hMDtpZih0eXBlb2YgbiE9PU0uakEpe2lmKHQpe0Yuc2V0Q2xvY2tTa2V3KHRbInRpbWUtZGVsdGEtbWlsbGlzIl0pO3ZhciBmPXRbImtpbGwtZHVyYXRpb24iXXx8dFsia2lsbC1kdXJhdGlvbi1zZWNvbmRzIl07KDAsbC50TykoVy5zZXRLaWxsU3dpdGNoVGVuYW50cyh0WyJraWxsLXRva2VucyJdLGYpLChmdW5jdGlvbihlKXsoMCxsLnRPKShvLmJhdGNoZXMsKGZ1bmN0aW9uKG4pe2lmKG4uaUtleSgpPT09ZSl7cz1zfHxbXTt2YXIgdD1uLnNwbGl0KDApO28ubnVtRXZlbnRzLT10LmNvdW50KCkscy5wdXNoKHQpfX0pKX0pKX1pZigyMDA9PW58fDIwND09bilyZXR1cm4gdm9pZChhPTIwMCk7KChDPW4pPj0zMDAmJkM8NTAwJiY0MDghPUMmJjQyOSE9Q3x8NTAxPT1DfHw1MDU9PUN8fG8ubnVtRXZlbnRzPD0wKSYmKFM9ITEpLGE9OWUzK24lMWUzfWlmKFMpe2E9MTAwO3ZhciBwPW8ucmV0cnlDbnQ7MD09PW8uc2VuZFR5cGUmJihwPHI/KEg9ITAsdmUoKGZ1bmN0aW9uKCl7MD09PW8uc2VuZFR5cGUmJnEtLSxBZShvLmJhdGNoZXMscCsxLG8uaXNUZWFyZG93bixpZT8yOm8uc2VuZFR5cGUsNSl9KSxpZSxMKHApKSk6KGQ9ITAsaWUmJihhPTgwMDEpKSl9fWZpbmFsbHl7SHx8KEYuc2V0Q2xvY2tTa2V3KCksZnVuY3Rpb24obix0LHIsbyl7dHJ5e28mJnUuX2JhY2tPZmZUcmFuc21pc3Npb24oKSwyMDA9PT10JiYob3x8bi5pc1N5bmN8fHUuX2NsZWFyQmFja09mZigpLGZ1bmN0aW9uKGUpe2lmKG9lKXt2YXIgbj0oMCxjLmhLKSgpOygwLGwudE8pKGUsKGZ1bmN0aW9uKGUpe2UmJmUuY291bnQoKT4wJiZmdW5jdGlvbihlLG4pe29lJiYoMCxsLnRPKShlLChmdW5jdGlvbihlKXtoZShlLnRpbWluZ3M9ZS50aW1pbmdzfHx7fSwic2VuZEV2ZW50Q29tcGxldGVkIixuKX0pKX0oZS5ldmVudHMoKSxuKX0pKX19KG4uYmF0Y2hlcykpLG1lKG4uYmF0Y2hlcyx0LG4uc2VuZFR5cGUsITApfWZpbmFsbHl7MD09PW4uc2VuZFR5cGUmJihxLS0sNSE9PXImJmUuc2VuZFF1ZXVlZFJlcXVlc3RzKG4uc2VuZFR5cGUscikpfX0obyxhLGksZCkpLG1lKHMsODAwNCxvLnNlbmRUeXBlKX12YXIgQ30odCxvLG4saSl9LGE9bi5pc1RlYXJkb3dufHxuLmlzU3luYzt0cnl7cC5zZW5kUE9TVCh0LG8sYSksZS5zZW5kTGlzdGVuZXImJmUuc2VuZExpc3RlbmVyKHksdCxhLG4uaXNCZWFjb24pfWNhdGNoKGUpeygwLGQualYpKFMsIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIHNlbmRpbmcgcGF5bG9hZC4gRXg6IisoMCxILmVVKShlKSksY2UobywwLHt9KX19KSwoMCxhLkxtKShJLChmdW5jdGlvbigpe3JldHVybiJIdHRwTWFuYWdlcjpfZG9QYXlsb2FkU2VuZC5zZW5kZXIifSksKGZ1bmN0aW9uKCl7aWYodylpZigwPT09bi5zZW5kVHlwZSYmcSsrLHMmJiFuLmlzQmVhY29uJiYzIT09cC5fdHJhbnNwb3J0KXt2YXIgdD17ZGF0YTp5LmRhdGEsdXJsU3RyaW5nOnkudXJsU3RyaW5nLGhlYWRlcnM6KDAsYy5sNykoe30seS5oZWFkZXJzKSx0aW1lb3V0OnkudGltZW91dCxkaXNhYmxlWGhyU3luYzp5LmRpc2FibGVYaHJTeW5jLGRpc2FibGVGZXRjaEtlZXBBbGl2ZTp5LmRpc2FibGVGZXRjaEtlZXBBbGl2ZX0scj0hMTsoMCxhLkxtKShJLChmdW5jdGlvbigpe3JldHVybiJIdHRwTWFuYWdlcjpfZG9QYXlsb2FkU2VuZC5zZW5kSG9vayJ9KSwoZnVuY3Rpb24oKXt0cnl7ZS5zZW5kSG9vayh0LChmdW5jdGlvbihlKXtyPSEwLHp8fGUuX3RoZVBheWxvYWR8fChlLl90aGVQYXlsb2FkPWUuX3RoZVBheWxvYWR8fHkuX3RoZVBheWxvYWQsZS5fc2VuZFJlYXNvbj1lLl9zZW5kUmVhc29ufHx5Ll9zZW5kUmVhc29uKSx3KGUpfSksbi5pc1N5bmN8fG4uaXNUZWFyZG93bil9Y2F0Y2goZSl7cnx8dyh5KX19KSl9ZWxzZSB3KHkpfSkpfSksKGZ1bmN0aW9uKCl7cmV0dXJue3RoZVBheWxvYWQ6bixzZXJpYWxpemF0aW9uU3RhcnQ6dCxzZXJpYWxpemF0aW9uQ29tcGxldGVkOm8sc2VuZFJlYXNvbjppfX0pLG4uaXNTeW5jKX1uLnNpemVFeGNlZWQmJm4uc2l6ZUV4Y2VlZC5sZW5ndGg+MCYmbWUobi5zaXplRXhjZWVkLDgwMDMsbi5zZW5kVHlwZSksbi5mYWlsZWRFdnRzJiZuLmZhaWxlZEV2dHMubGVuZ3RoPjAmJm1lKG4uZmFpbGVkRXZ0cyw4MDAyLG4uc2VuZFR5cGUpfWZ1bmN0aW9uIHZlKGUsbix0KXtuP2UoKTpzLnNldChlLHQpfWZ1bmN0aW9uIFVlKG4pe3ZhciB0PWUuX3Jlc3BvbnNlSGFuZGxlcnM7dHJ5e2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRyeXt0W3JdKG4pfWNhdGNoKGUpeygwLGQua1ApKFMsMSw1MTksIlJlc3BvbnNlIGhhbmRsZXIgZmFpbGVkOiAiK2UpfWlmKG4pe3ZhciBvPUpTT04ucGFyc2Uobik7KDAsYy5Tbikoby53ZWJSZXN1bHQpJiYoMCxjLlNuKShvLndlYlJlc3VsdC5tc2ZwYykmJkUuc2V0KCJNU0ZQQyIsby53ZWJSZXN1bHQubXNmcGMsMzE1MzZlMyl9fWNhdGNoKGUpe319ZnVuY3Rpb24gbWUoZSxuLHQscil7aWYoZSYmZS5sZW5ndGg+MCYmaSl7dmFyIG89aVtmdW5jdGlvbihlKXt2YXIgbj1YW2VdOygwLGMuU24pKG4pfHwobj0ib3RoIixlPj05ZTMmJmU8PTk5OTk/bj1oOmU+PThlMyYmZTw9ODk5OT9uPUM6ZT49MWUzJiZlPD0xOTk5JiYobj1BKSk7cmV0dXJuIG59KG4pXTtpZihvKXt2YXIgcz0wIT09dDsoMCxhLkxtKShJLChmdW5jdGlvbigpe3JldHVybiJIdHRwTWFuYWdlcjpfc2VuZEJhdGNoZXNOb3RpZmljYXRpb24ifSksKGZ1bmN0aW9uKCl7dmUoKGZ1bmN0aW9uKCl7dHJ5e28uY2FsbChpLGUsbixzLHQpfWNhdGNoKGUpeygwLGQua1ApKFMsMSw3NCwic2VuZCByZXF1ZXN0IG5vdGlmaWNhdGlvbiBmYWlsZWQ6ICIrZSl9fSkscnx8cywwKX0pLChmdW5jdGlvbigpe3JldHVybntiYXRjaGVzOkNlKGUpLHJlYXNvbjpuLGlzU3luYzpzLHNlbmRTeW5jOnIsc2VuZFR5cGU6dH19KSwhcyl9fX1lLmluaXRpYWxpemU9ZnVuY3Rpb24oZSxuLHQscixpKXt2YXIgYTtpfHwoaT17fSksQj1lK0IsYWU9ISEoMCxsLm84KShpLmF2b2lkT3B0aW9ucyl8fCFpLmF2b2lkT3B0aW9ucyxJPW4sRT1uLmdldENvb2tpZU1ncigpLG9lPSFJLmNvbmZpZy5kaXNhYmxlRXZlbnRUaW1pbmdzO3ZhciBzPSEhSS5jb25maWcuZW5hYmxlQ29tcG91bmRLZXk7Uz0odT10KS5kaWFnTG9nKCk7dmFyIGM9aS52YWx1ZVNhbml0aXplcixwPWkuc3RyaW5naWZ5T2JqZWN0czsoMCxsLm84KShpLmVuYWJsZUNvbXBvdW5kS2V5KXx8KHM9ISFpLmVuYWJsZUNvbXBvdW5kS2V5KSxrPWkueGhyVGltZW91dCxPPSEhaS5kaXNhYmxlWGhyU3luYyx4PSEhaS5kaXNhYmxlRmV0Y2hLZWVwQWxpdmUsSj0hKDAsSC5iJCkoKSxyZT1uZXcgVihJLGMscCxzKSwoMCxsLmxlKShpLnVzZVNlbmRCZWFjb24pfHwoSj0hIWkudXNlU2VuZEJlYWNvbik7dmFyIEM9cixBPWkuYWx3YXlzVXNlWGhyT3ZlcnJpZGU/cjpudWxsLGg9aS5hbHdheXNVc2VYaHJPdmVycmlkZT9yOm51bGwsUj1bMywyXTtpZighcil7ej0hMTt2YXIgdj0oMCxILmskKSgpO3YmJnYucHJvdG9jb2wmJiJmaWxlOiI9PT12LnByb3RvY29sLnRvTG93ZXJDYXNlKCkmJihvPSExKTt2YXIgVT1bXTsoMCxILmIkKSgpPyhVPVsyLDFdLFI9WzIsMSwzXSk6VT1bMSwyLDNdLChyPVQoVT0kKFUsaS50cmFuc3BvcnRzKSwhMSkpfHwoMCxkLmpWKShTLCJObyBhdmFpbGFibGUgdHJhbnNwb3J0IHRvIHNlbmQgZXZlbnRzIiksQz1UKFUsITApfUF8fChBPVQoUj0kKFIsaS51bmxvYWRUcmFuc3BvcnRzKSwhMCkpLFA9IXomJihKJiYoMCxILk1GKSgpfHwheCYmKDAsSC5KTykoITApKSwoYT17fSlbMF09cixhWzFdPUN8fFQoWzEsMiwzXSwhMCksYVsyXT1BfHxDfHxUKFsxXSwhMCksYVszXT1ofHxUKFsyLDNdLCEwKXx8Q3x8VChbMV0sITApLGY9YX0sZS5fZ2V0RGJnUGxnVGFyZ2V0cz1mdW5jdGlvbigpe3JldHVybltmWzBdLFcscmUsZl19LGUuYWRkUXVlcnlTdHJpbmdQYXJhbWV0ZXI9ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHQ9MDt0PGVlLmxlbmd0aDt0KyspaWYoZWVbdF0ubmFtZT09PWUpcmV0dXJuIHZvaWQoZWVbdF0udmFsdWU9bik7ZWUucHVzaCh7bmFtZTplLHZhbHVlOm59KX0sZS5hZGRIZWFkZXI9ZnVuY3Rpb24oZSxuKXtuZVtlXT1ufSxlLmNhblNlbmRSZXF1ZXN0PWZ1bmN0aW9uKCl7cmV0dXJuIFNlKCkmJkYuYWxsb3dSZXF1ZXN0U2VuZGluZygpfSxlLnNlbmRRdWV1ZWRSZXF1ZXN0cz1mdW5jdGlvbihlLG4peygwLGwubzgpKGUpJiYoZT0wKSxpZSYmKGU9ZGUoZSksbj0yKSxwZSh0ZSxlLDApJiZBZShmZSgpLDAsITEsZSxufHwwKX0sZS5pc0NvbXBsZXRlbHlJZGxlPWZ1bmN0aW9uKCl7cmV0dXJuIWomJjA9PT1xJiYwPT09dGUubGVuZ3RofSxlLnNldFVubG9hZGluZz1mdW5jdGlvbihlKXtpZT1lfSxlLmFkZEJhdGNoPWZ1bmN0aW9uKGUpe2lmKGUmJmUuY291bnQoKT4wKXtpZihXLmlzVGVuYW50S2lsbGVkKGUuaUtleSgpKSlyZXR1cm4hMTt0ZS5wdXNoKGUpfXJldHVybiEwfSxlLnRlYXJkb3duPWZ1bmN0aW9uKCl7dGUubGVuZ3RoPjAmJkFlKGZlKCksMCwhMCwyLDIpfSxlLnBhdXNlPWZ1bmN0aW9uKCl7aj0hMH0sZS5yZXN1bWU9ZnVuY3Rpb24oKXtqPSExLGUuc2VuZFF1ZXVlZFJlcXVlc3RzKDAsNCl9LGUuc2VuZFN5bmNocm9ub3VzQmF0Y2g9ZnVuY3Rpb24oZSxuLHQpe2UmJmUuY291bnQoKT4wJiYoKDAsbC5sZSkobikmJihuPTEpLGllJiYobj1kZShuKSx0PTIpLEFlKFtlXSwwLCExLG4sdHx8MCkpfX0pKX1yZXR1cm4gZS5fX2llRHluPTEsZX0oKTtmdW5jdGlvbiBuZShlLG4pe2Zvcih2YXIgdD1bXSxyPTI7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMl09YXJndW1lbnRzW3JdO3JldHVybiBzZXRUaW1lb3V0KGUsbix0KX1mdW5jdGlvbiB0ZShlKXtjbGVhclRpbWVvdXQoZSl9ZnVuY3Rpb24gcmUoZSxuKXtyZXR1cm57c2V0OmV8fG5lLGNsZWFyOm58fHRlfX12YXIgb2U9ImV2ZW50c0Rpc2NhcmRlZCI7Y29uc3QgaWU9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbigpe3ZhciB0LHI9ZS5jYWxsKHRoaXMpfHx0aGlzO3IuaWRlbnRpZmllcj0iUG9zdENoYW5uZWwiLHIucHJpb3JpdHk9MTAxMSxyLnZlcnNpb249IjMuMi43Ijt2YXIgUyxwLEMsQSxJLGgsUix2PSExLFU9W10sbT1udWxsLE49ITEsSz0wLGc9NTAwLHk9MCx3PTFlNCxiPXt9LGs9Zi5vdyxPPW51bGwseD1udWxsLFQ9MCxEPTAsTT17fSxCPS0xLFc9ITAsaj0hMSxGPTYsVj0yO3JldHVybigwLG8uWikobixyLChmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIHIoZSl7ImJlZm9yZXVubG9hZCIhPT0oZXx8KDAsSC5KaikoKS5ldmVudCkudHlwZSYmKGo9ITAscC5zZXRVbmxvYWRpbmcoaikpLFEoMiwyKX1mdW5jdGlvbiBvKGUpe2o9ITEscC5zZXRVbmxvYWRpbmcoail9ZnVuY3Rpb24gSihlLG4pe2lmKGUuc2VuZEF0dGVtcHR8fChlLnNlbmRBdHRlbXB0PTApLGUubGF0ZW5jeXx8KGUubGF0ZW5jeT0xKSxlLmV4dCYmZS5leHQudHJhY2UmJmRlbGV0ZSBlLmV4dC50cmFjZSxlLmV4dCYmZS5leHQudXNlciYmZS5leHQudXNlci5pZCYmZGVsZXRlIGUuZXh0LnVzZXIuaWQsVyYmKGMuaWYsZS5leHQ9KDAsbC5BeCkoZS5leHQpLGUuYmFzZURhdGEmJihlLmJhc2VEYXRhPSgwLGwuQXgpKGUuYmFzZURhdGEpKSxlLmRhdGEmJihlLmRhdGE9KDAsbC5BeCkoZS5kYXRhKSkpLGUuc3luYylpZihUfHxOKWUubGF0ZW5jeT0zLGUuc3luYz0hMTtlbHNlIGlmKHApcmV0dXJuIFcmJihlPSgwLGwuQXgpKGUpKSx2b2lkIHAuc2VuZFN5bmNocm9ub3VzQmF0Y2goUC5jcmVhdGUoZS5pS2V5LFtlXSksITA9PT1lLnN5bmM/MTplLnN5bmMsMyk7dmFyIHQ9ZS5sYXRlbmN5LHI9eSxvPXc7ND09PXQmJihyPUssbz1nKTt2YXIgYT0hMTtpZihyPG8pYT0hbmUoZSxuKTtlbHNle3ZhciBzPTEsdT0yMDs0PT09dCYmKHM9NCx1PTEpLGE9ITAsZnVuY3Rpb24oZSxuLHQscil7Zm9yKDt0PD1uOyl7dmFyIG89XyhlLG4sITApO2lmKG8mJm8uY291bnQoKT4wKXt2YXIgYT1vLnNwbGl0KDAscikscz1hLmNvdW50KCk7aWYocz4wKXJldHVybiA0PT09dD9LLT1zOnktPXMsZGUob2UsW2FdLGkuUXVldWVGdWxsKSwhMH10Kyt9cmV0dXJuIHRlKCksITF9KGUuaUtleSxlLmxhdGVuY3kscyx1KSYmKGE9IW5lKGUsbikpfWEmJkhlKG9lLFtlXSxpLlF1ZXVlRnVsbCl9ZnVuY3Rpb24gWihlLG4sdCl7dmFyIHI9aWUoZSxuLHQpO3JldHVybiBwLnNlbmRRdWV1ZWRSZXF1ZXN0cyhuLHQpLHJ9ZnVuY3Rpb24gWCgpe3JldHVybiB5PjB9ZnVuY3Rpb24gcSgpe2lmKEI+PTAmJmllKEIsMCxJKSYmcC5zZW5kUXVldWVkUmVxdWVzdHMoMCxJKSxLPjAmJiF4JiYhTil7dmFyIGU9YltrXVsyXTtlPj0wJiYoeD16KChmdW5jdGlvbigpe3g9bnVsbCxaKDQsMCwxKSxxKCl9KSxlKSl9dmFyIG49YltrXVsxXTshTyYmIW0mJm4+PTAmJiFOJiYoWCgpP089eigoZnVuY3Rpb24oKXtPPW51bGwsWigwPT09RD8zOjEsMCwxKSxEKyssRCU9MixxKCl9KSxuKTpEPTApfWZ1bmN0aW9uIFkoKXt0PW51bGwsdj0hMSxVPVtdLG09bnVsbCxOPSExLEs9MCxnPTUwMCx5PTAsdz0xZTQsYj17fSxrPWYub3csTz1udWxsLHg9bnVsbCxUPTAsRD0wLFM9bnVsbCxNPXt9LEM9dm9pZCAwLEE9MCxCPS0xLEk9bnVsbCxXPSEwLGo9ITEsRj02LFY9MixoPW51bGwsUj1yZSgpLHA9bmV3IGVlKDUwMCwyLDEse3JlcXVldWU6Y2Usc2VuZDpTZSxzZW50OmZlLGRyb3A6cGUscnNwRmFpbDpDZSxvdGg6QWV9LFIpLHVlKCksTVs0XT17YmF0Y2hlczpbXSxpS2V5TWFwOnt9fSxNWzNdPXtiYXRjaGVzOltdLGlLZXlNYXA6e319LE1bMl09e2JhdGNoZXM6W10saUtleU1hcDp7fX0sTVsxXT17YmF0Y2hlczpbXSxpS2V5TWFwOnt9fSxJZSgpfWZ1bmN0aW9uIHooZSxuKXswPT09biYmVCYmKG49MSk7dmFyIHQ9MWUzO3JldHVybiBUJiYodD1MKFQtMSkpLFIuc2V0KGUsbip0KX1mdW5jdGlvbiBHKCl7cmV0dXJuIG51bGwhPT1PJiYoUi5jbGVhcihPKSxPPW51bGwsRD0wLCEwKX1mdW5jdGlvbiBRKGUsbil7RygpLG0mJihSLmNsZWFyKG0pLG09bnVsbCksTnx8WigxLGUsbil9ZnVuY3Rpb24gXyhlLG4sdCl7dmFyIHI9TVtuXTtyfHwocj1NW249MV0pO3ZhciBvPXIuaUtleU1hcFtlXTtyZXR1cm4hbyYmdCYmKG89UC5jcmVhdGUoZSksci5iYXRjaGVzLnB1c2gobyksci5pS2V5TWFwW2VdPW8pLG99ZnVuY3Rpb24gJChuLHQpe3AuY2FuU2VuZFJlcXVlc3QoKSYmIVQmJihDPjAmJnk+QyYmKHQ9ITApLHQmJm51bGw9PW0mJmUuZmx1c2gobixudWxsLDIwKSl9ZnVuY3Rpb24gbmUoZSxuKXtXJiYoZT0oMCxsLkF4KShlKSk7dmFyIHQ9ZS5sYXRlbmN5LHI9XyhlLmlLZXksdCwhMCk7cmV0dXJuISFyLmFkZEV2ZW50KGUpJiYoNCE9PXQ/KHkrKyxuJiYwPT09ZS5zZW5kQXR0ZW1wdCYmJCghZS5zeW5jLEE+MCYmci5jb3VudCgpPj1BKSk6SysrLCEwKX1mdW5jdGlvbiB0ZSgpe2Zvcih2YXIgZT0wLG49MCx0PWZ1bmN0aW9uKHQpe3ZhciByPU1bdF07ciYmci5iYXRjaGVzJiYoMCxsLnRPKShyLmJhdGNoZXMsKGZ1bmN0aW9uKHIpezQ9PT10P2UrPXIuY291bnQoKTpuKz1yLmNvdW50KCl9KSl9LHI9MTtyPD00O3IrKyl0KHIpO3k9bixLPWV9ZnVuY3Rpb24gaWUobix0LHIpe3ZhciBvPSExLHM9MD09PXQ7cmV0dXJuIXN8fHAuY2FuU2VuZFJlcXVlc3QoKT8oMCxhLkxtKShlLmNvcmUsKGZ1bmN0aW9uKCl7cmV0dXJuIlBvc3RDaGFubmVsLl9xdWV1ZUJhdGNoZXMifSksKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9NDt0Pj1uOyl7dmFyIHI9TVt0XTtyJiZyLmJhdGNoZXMmJnIuYmF0Y2hlcy5sZW5ndGg+MCYmKCgwLGwudE8pKHIuYmF0Y2hlcywoZnVuY3Rpb24obil7cC5hZGRCYXRjaChuKT9vPW98fG4mJm4uY291bnQoKT4wOmU9ZS5jb25jYXQobi5ldmVudHMoKSksND09PXQ/Sy09bi5jb3VudCgpOnktPW4uY291bnQoKX0pKSxyLmJhdGNoZXM9W10sci5pS2V5TWFwPXt9KSx0LS19ZS5sZW5ndGg+MCYmSGUob2UsZSxpLktpbGxTd2l0Y2gpLG8mJkI+PW4mJihCPS0xLEk9MCl9KSwoZnVuY3Rpb24oKXtyZXR1cm57bGF0ZW5jeTpuLHNlbmRUeXBlOnQsc2VuZFJlYXNvbjpyfX0pLCFzKTooQj1CPj0wP01hdGgubWluKEIsbik6bixJPU1hdGgubWF4KEkscikpLG99ZnVuY3Rpb24gYWUoZSxuKXtaKDEsMCxuKSx0ZSgpLHNlKChmdW5jdGlvbigpe2UmJmUoKSxVLmxlbmd0aD4wP209eigoZnVuY3Rpb24oKXttPW51bGwsYWUoVS5zaGlmdCgpLG4pfSksMCk6KG09bnVsbCxxKCkpfSkpfWZ1bmN0aW9uIHNlKGUpe3AuaXNDb21wbGV0ZWx5SWRsZSgpP2UoKTptPXooKGZ1bmN0aW9uKCl7bT1udWxsLHNlKGUpfSksLjI1KX1mdW5jdGlvbiB1ZSgpeyhiPXt9KVtmLm93XT1bMiwxLDBdLGJbZi5qZV09WzYsMywwXSxiW2YuZTJdPVsxOCw5LDBdfWZ1bmN0aW9uIGNlKG4sdCl7dmFyIHI9W10sbz1GO2omJihvPVYpLCgwLGwudE8pKG4sKGZ1bmN0aW9uKG4pe24mJm4uY291bnQoKT4wJiYoMCxsLnRPKShuLmV2ZW50cygpLChmdW5jdGlvbihuKXtuJiYobi5zeW5jJiYobi5sYXRlbmN5PTQsbi5zeW5jPSExKSxuLnNlbmRBdHRlbXB0PG8/KCgwLGMuaWYpKG4sZS5pZGVudGlmaWVyKSxKKG4sITEpKTpyLnB1c2gobikpfSkpfSkpLHIubGVuZ3RoPjAmJkhlKG9lLHIsaS5Ob25SZXRyeWFibGVTdGF0dXMpLGomJlEoMiwyKX1mdW5jdGlvbiBsZShuLHQpe3ZhciByPWUuX25vdGlmaWNhdGlvbk1hbmFnZXJ8fHt9LG89cltuXTtpZihvKXRyeXtvLmFwcGx5KHIsdCl9Y2F0Y2godCl7KDAsZC5rUCkoZS5kaWFnTG9nKCksMSw3NCxuKyIgbm90aWZpY2F0aW9uIGZhaWxlZDogIit0KX19ZnVuY3Rpb24gSGUoZSxuKXtmb3IodmFyIHQ9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTJdPWFyZ3VtZW50c1tyXTtuJiZuLmxlbmd0aD4wJiZsZShlLFtuXS5jb25jYXQodCkpfWZ1bmN0aW9uIGRlKGUsbil7Zm9yKHZhciB0PVtdLHI9MjtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0yXT1hcmd1bWVudHNbcl07biYmbi5sZW5ndGg+MCYmKDAsbC50TykobiwoZnVuY3Rpb24obil7biYmbi5jb3VudCgpPjAmJmxlKGUsW24uZXZlbnRzKCldLmNvbmNhdCh0KSl9KSl9ZnVuY3Rpb24gU2UoZSxuLHQpe2UmJmUubGVuZ3RoPjAmJmxlKCJldmVudHNTZW5kUmVxdWVzdCIsW24+PTFlMyYmbjw9MTk5OT9uLTFlMzowLCEwIT09dF0pfWZ1bmN0aW9uIGZlKGUsbil7ZGUoImV2ZW50c1NlbnQiLGUsbikscSgpfWZ1bmN0aW9uIHBlKGUsbil7ZGUob2UsZSxuPj04ZTMmJm48PTg5OTk/bi04ZTM6aS5Vbmtub3duKX1mdW5jdGlvbiBDZShlKXtkZShvZSxlLGkuTm9uUmV0cnlhYmxlU3RhdHVzKSxxKCl9ZnVuY3Rpb24gQWUoZSxuKXtkZShvZSxlLGkuVW5rbm93bikscSgpfWZ1bmN0aW9uIEllKCl7QT10JiZ0LmRpc2FibGVBdXRvQmF0Y2hGbHVzaExpbWl0PzA6TWF0aC5tYXgoMTUwMCx3LzYpfVkoKSxlLl9nZXREYmdQbGdUYXJnZXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3BdfSxlLmluaXRpYWxpemU9ZnVuY3Rpb24oaSxILGQpeygwLGEuTG0pKEgsKGZ1bmN0aW9uKCl7cmV0dXJuIlBvc3RDaGFubmVsOmluaXRpYWxpemUifSksKGZ1bmN0aW9uKCl7dmFyIGE9SDtuLmluaXRpYWxpemUoaSxILGQpO3RyeXtILmFkZFVubG9hZENiO2g9KDAscy5qVSkoKDAsdS5KKShlLmlkZW50aWZpZXIpLEguZXZ0TmFtZXNwYWNlJiZILmV2dE5hbWVzcGFjZSgpKTt2YXIgZj1lLl9nZXRUZWxDdHgoKTtpLmV4dGVuc2lvbkNvbmZpZ1tlLmlkZW50aWZpZXJdPWkuZXh0ZW5zaW9uQ29uZmlnW2UuaWRlbnRpZmllcl18fHt9LHQ9Zi5nZXRFeHRDZmcoZS5pZGVudGlmaWVyKSxSPXJlKHQuc2V0VGltZW91dE92ZXJyaWRlLHQuY2xlYXJUaW1lb3V0T3ZlcnJpZGUpLFc9IXQuZGlzYWJsZU9wdGltaXplT2JqJiYoMCxjLm1KKSgpLGZ1bmN0aW9uKGUpe3ZhciBuPWUuZ2V0V1BhcmFtO2UuZ2V0V1BhcmFtPWZ1bmN0aW9uKCl7dmFyIGU9MDtyZXR1cm4gdC5pZ25vcmVNYzFNczBDb29raWVQcm9jZXNzaW5nJiYoZXw9MiksZXxuKCl9fShhKSx0LmV2ZW50c0xpbWl0SW5NZW0+MCYmKHc9dC5ldmVudHNMaW1pdEluTWVtKSx0LmltbWVkaWF0ZUV2ZW50TGltaXQ+MCYmKGc9dC5pbW1lZGlhdGVFdmVudExpbWl0KSx0LmF1dG9GbHVzaEV2ZW50c0xpbWl0PjAmJihDPXQuYXV0b0ZsdXNoRXZlbnRzTGltaXQpLCgwLGwuaGopKHQubWF4RXZlbnRSZXRyeUF0dGVtcHRzKSYmKEY9dC5tYXhFdmVudFJldHJ5QXR0ZW1wdHMpLCgwLGwuaGopKHQubWF4VW5sb2FkRXZlbnRSZXRyeUF0dGVtcHRzKSYmKFY9dC5tYXhVbmxvYWRFdmVudFJldHJ5QXR0ZW1wdHMpLEllKCksdC5odHRwWEhST3ZlcnJpZGUmJnQuaHR0cFhIUk92ZXJyaWRlLnNlbmRQT1NUJiYoUz10Lmh0dHBYSFJPdmVycmlkZSksKDAsYy5TbikoaS5hbm9uQ29va2llTmFtZSkmJnAuYWRkUXVlcnlTdHJpbmdQYXJhbWV0ZXIoImFub25ja25tIixpLmFub25Db29raWVOYW1lKSxwLnNlbmRIb29rPXQucGF5bG9hZFByZXByb2Nlc3NvcixwLnNlbmRMaXN0ZW5lcj10LnBheWxvYWRMaXN0ZW5lcjt2YXIgQT10Lm92ZXJyaWRlRW5kcG9pbnRVcmw/dC5vdmVycmlkZUVuZHBvaW50VXJsOmkuZW5kcG9pbnRVcmw7ZS5fbm90aWZpY2F0aW9uTWFuYWdlcj1pLmV4dGVuc2lvbkNvbmZpZy5Ob3RpZmljYXRpb25NYW5hZ2VyLHAuaW5pdGlhbGl6ZShBLGUuY29yZSxlLFMsdCk7dmFyIEk9aS5kaXNhYmxlUGFnZVVubG9hZEV2ZW50c3x8W107KDAscy5jOSkocixJLGgpLCgwLHMuVEopKHIsSSxoKSwoMCxzLm5EKShvLGkuZGlzYWJsZVBhZ2VTaG93RXZlbnRzLGgpfWNhdGNoKG4pe3Rocm93IGUuc2V0SW5pdGlhbGl6ZWQoITEpLG59fSksKGZ1bmN0aW9uKCl7cmV0dXJue2NvcmVDb25maWc6aSxjb3JlOkgsZXh0ZW5zaW9uczpkfX0pKX0sZS5wcm9jZXNzVGVsZW1ldHJ5PWZ1bmN0aW9uKG4scil7KDAsYy5pZikobixlLmlkZW50aWZpZXIpO3ZhciBvPShyPWUuX2dldFRlbEN0eChyKSkuZ2V0RXh0Q2ZnKGUuaWRlbnRpZmllciksaT0hIXQuZGlzYWJsZVRlbGVtZXRyeTtvJiYoaT1pfHwhIW8uZGlzYWJsZVRlbGVtZXRyeSk7dmFyIGE9bjtpfHx2fHwodC5vdmVycmlkZUluc3RydW1lbnRhdGlvbktleSYmKGEuaUtleT10Lm92ZXJyaWRlSW5zdHJ1bWVudGF0aW9uS2V5KSxvJiZvLm92ZXJyaWRlSW5zdHJ1bWVudGF0aW9uS2V5JiYoYS5pS2V5PW8ub3ZlcnJpZGVJbnN0cnVtZW50YXRpb25LZXkpLEooYSwhMCksaj9RKDIsMik6cSgpKSxlLnByb2Nlc3NOZXh0KGEscil9LGUuX2RvVGVhcmRvd249ZnVuY3Rpb24oZSxuKXtRKDIsMiksdj0hMCxwLnRlYXJkb3duKCksKDAscy5KQSkobnVsbCxoKSwoMCxzLkM5KShudWxsLGgpLCgwLHMuWWwpKG51bGwsaCksWSgpfSxlLnNldEV2ZW50UXVldWVMaW1pdHM9ZnVuY3Rpb24oZSxuKXt3PWU+MD9lOjFlNCxDPW4+MD9uOjAsSWUoKTt2YXIgdD15PmU7aWYoIXQmJkE+MClmb3IodmFyIHI9MTshdCYmcjw9MztyKyspe3ZhciBvPU1bcl07byYmby5iYXRjaGVzJiYoMCxsLnRPKShvLmJhdGNoZXMsKGZ1bmN0aW9uKGUpe2UmJmUuY291bnQoKT49QSYmKHQ9ITApfSkpfSQoITAsdCl9LGUucGF1c2U9ZnVuY3Rpb24oKXtHKCksTj0hMCxwLnBhdXNlKCl9LGUucmVzdW1lPWZ1bmN0aW9uKCl7Tj0hMSxwLnJlc3VtZSgpLHEoKX0sZS5hZGRSZXNwb25zZUhhbmRsZXI9ZnVuY3Rpb24oZSl7cC5fcmVzcG9uc2VIYW5kbGVycy5wdXNoKGUpfSxlLl9sb2FkVHJhbnNtaXRQcm9maWxlcz1mdW5jdGlvbihlKXtHKCksdWUoKSxrPWYub3cscSgpLCgwLGwuclcpKGUsKGZ1bmN0aW9uKGUsbil7dmFyIHQ9bi5sZW5ndGg7aWYodD49Mil7dmFyIHI9dD4yP25bMl06MDtpZihuLnNwbGljZSgwLHQtMiksblsxXTwwJiYoblswXT0tMSksblsxXT4wJiZuWzBdPjApe3ZhciBvPW5bMF0vblsxXTtuWzBdPU1hdGguY2VpbChvKSpuWzFdfXI+PTAmJm5bMV0+PTAmJnI+blsxXSYmKHI9blsxXSksbi5wdXNoKHIpLGJbZV09bn19KSl9LGUuZmx1c2g9ZnVuY3Rpb24oZSxuLHQpe2lmKHZvaWQgMD09PWUmJihlPSEwKSwhTilpZih0PXR8fDEsZSludWxsPT1tPyhHKCksaWUoMSwwLHQpLG09eigoZnVuY3Rpb24oKXttPW51bGwsYWUobix0KX0pLDApKTpVLnB1c2gobik7ZWxzZXt2YXIgcj1HKCk7WigxLDEsdCksbnVsbCE9biYmbigpLHImJnEoKX19LGUuc2V0TXNhQXV0aFRpY2tldD1mdW5jdGlvbihlKXtwLmFkZEhlYWRlcihFLGUpfSxlLmhhc0V2ZW50cz1YLGUuX3NldFRyYW5zbWl0UHJvZmlsZT1mdW5jdGlvbihlKXtrIT09ZSYmdm9pZCAwIT09YltlXSYmKEcoKSxrPWUscSgpKX0sZS5fYmFja09mZlRyYW5zbWlzc2lvbj1mdW5jdGlvbigpe1Q8NCYmKFQrKyxHKCkscSgpKX0sZS5fY2xlYXJCYWNrT2ZmPWZ1bmN0aW9uKCl7VCYmKFQ9MCxHKCkscSgpKX0sKDAsbC5sXykoZSwiX3NldFRpbWVvdXRPdmVycmlkZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFIuc2V0fSksKGZ1bmN0aW9uKGUpe1I9cmUoZSxSLmNsZWFyKX0pKSwoMCxsLmxfKShlLCJfY2xlYXJUaW1lb3V0T3ZlcnJpZGUiLChmdW5jdGlvbigpe3JldHVybiBSLmNsZWFyfSksKGZ1bmN0aW9uKGUpe1I9cmUoUi5zZXQsZSl9KSl9KSkscn1yZXR1cm4oMCxyLm5lKShuLGUpLG4uX19pZUR5bj0xLG59KFMuaSl9LDQ4NTM2MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtCeTooKT0+byxjYzooKT0+aX0pO3ZhciByPXQoOTI5NTQxKTtmdW5jdGlvbiBvKGUpe3ZhciBuPXt9O3JldHVybigwLHIuclcpKGUsKGZ1bmN0aW9uKGUsdCl7bltlXT10LG5bdF09ZX0pKSwoMCxyLl9BKShuKX1mdW5jdGlvbiBpKGUpe3ZhciBuPXt9O3JldHVybigwLHIuclcpKGUsKGZ1bmN0aW9uKGUsdCl7bltlXT10WzFdLG5bdFswXV09dFsxXX0pKSwoMCxyLl9BKShuKX19LDc2Njg2NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtpOigpPT5jfSk7dmFyIHI9dCg5MjM4MDYpLG89dCgxNzM1OTcpLGk9dCg5Mjk1NDEpLGE9dCgzODI3NzgpLHM9dCg0NzY5MDUpLHU9dCg4NTE5MzApLGM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7dmFyIG4sdCxjLGwsSCxkPXRoaXM7ZnVuY3Rpb24gUyhlKXt2b2lkIDA9PT1lJiYoZT1udWxsKTt2YXIgbj1lO2lmKCFuKXt2YXIgcj10fHwoMCxzLkNEKShudWxsLHt9LGRbYS5vVl0pO249YyYmYy5nZXRQbHVnaW4/cltvLnpWXShudWxsLGMuZ2V0UGx1Z2luKTpyW28uelZdKG51bGwsYyl9cmV0dXJuIG59ZnVuY3Rpb24gZihlLG4scil7ZSYmKDAsaS5zTykoZSxhLlpoLFtdLG51bGwsaS5sZSksIXImJm4mJihyPW5bby5TRF0oKVtvLlcyXSgpKTt2YXIgdT1jO2MmJmMuZ2V0UGx1Z2luJiYodT1jLmdldFBsdWdpbigpKSxkW2Eub1ZdPW4sdD0oMCxzLkNEKShyLGUsbix1KX1mdW5jdGlvbiBwKCl7bj0hMSxkW2Eub1ZdPW51bGwsdD1udWxsLGM9bnVsbCxIPVtdLGw9KDAsdS5ZKSgpfXAoKSwoMCxyLlopKGUsZCwoZnVuY3Rpb24oZSl7ZVtvLlZMXT1mdW5jdGlvbihlLHQscixvKXtmKGUsdCxvKSxuPSEwfSxlW28uZmldPWZ1bmN0aW9uKG4sdCl7dmFyIHIsdT1lW2Eub1ZdO2lmKHUmJighbnx8dT09PW5bYS5vVl0oKSkpe3ZhciBkLFM9ITEsZj1ufHwoMCxzLkJ0KShudWxsLHUsYyYmYy5nZXRQbHVnaW4/Yy5nZXRQbHVnaW4oKTpjKSxDPXR8fCgocj17cmVhc29uOjB9KVtvLmRdPSExLHIpO3JldHVybiBlW28uRjNdJiYhMD09PWVbby5GM10oZixDLEEpP2Q9ITA6QSgpLGR9ZnVuY3Rpb24gQSgpe2lmKCFTKXtTPSEwLGwucnVuKGYsdCk7dmFyIGU9SDtIPVtdLCgwLGkudE8pKGUsKGZ1bmN0aW9uKGUpe2Uucm0oKX0pKSwhMD09PWQmJmZbby51TF0oQykscCgpfX19LGVbby5UdV09ZnVuY3Rpb24obix0KXt2YXIgcj1lW2Eub1ZdO2lmKHImJighbnx8cj09PW5bYS5vVl0oKSkpe3ZhciBpLHU9ITEsbD1ufHwoMCxzLnh5KShudWxsLHIsYyYmYy5nZXRQbHVnaW4/Yy5nZXRQbHVnaW4oKTpjKSxIPXR8fHtyZWFzb246MH07cmV0dXJuIGUuX2RvVXBkYXRlJiYhMD09PWUuX2RvVXBkYXRlKGwsSCxkKT9pPSEwOmQoKSxpfWZ1bmN0aW9uIGQoKXt1fHwodT0hMCxmKGwuZ2V0Q2ZnKCksbC5jb3JlKCksbFtvLlcyXSgpKSl9fSxlLl9hZGRIb29rPWZ1bmN0aW9uKGUpe2UmJigoMCxpLmtKKShlKT9IPUguY29uY2F0KGUpOkhbby5NV10oZSkpfSwoMCxpLk9pKShlLCJfYWRkVW5sb2FkQ2IiLChmdW5jdGlvbigpe3JldHVybiBsfSksImFkZCIpfSkpLGRbby5tY109ZnVuY3Rpb24oZSl7cmV0dXJuIFMoZSlbby5tY10oKX0sZFtvLnlsXT1mdW5jdGlvbigpe3JldHVybiBufSxkLnNldEluaXRpYWxpemVkPWZ1bmN0aW9uKGUpe249ZX0sZFtvLkpkXT1mdW5jdGlvbihlKXtjPWV9LGRbby51TF09ZnVuY3Rpb24oZSxuKXtuP25bby51TF0oZSk6YyYmKDAsaS5tZikoY1thLmhMXSkmJmNbYS5oTF0oZSxudWxsKX0sZC5fZ2V0VGVsQ3R4PVN9cmV0dXJuIGUuX19pZUR5bj0xLGV9KCl9LDczMTc0MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtrajooKT0+QSxKUDooKT0+UixOejooKT0+dixwNzooKT0+VSxVWTooKT0+d30pO3ZhciByPXQoMTczNTk3KSxvPXQoNjYyMzcyKSxpPXQoODAzMTQ1KSxhPXQoOTI5NTQxKSxzPXQoMzgyNzc4KSx1PSJ0b0dNVFN0cmluZyIsYz0idG9VVENTdHJpbmciLGw9ImV4cGlyZXMiLEg9bnVsbCxkPW51bGwsUz1udWxsLGY9KDAsaS5NZSkoKSxwPXt9LEM9e307ZnVuY3Rpb24gQShlLG4pe3ZhciB0PXYuX2NrTWdyfHxDLl9ja01ncjtyZXR1cm4gdHx8KHQ9di5fY2tNZ3I9dihlLG4pLEMuX2NrTWdyPXQpLHR9ZnVuY3Rpb24gSShlKXtyZXR1cm4hZXx8ZS5pc0VuYWJsZWQoKX1mdW5jdGlvbiBoKGUsbil7cmV0dXJuISEobiYmZSYmKDAsYS5rSikoZS5pZ25vcmVDb29raWVzKSkmJi0xIT09ZS5pZ25vcmVDb29raWVzW3Iub3VdKG4pfWZ1bmN0aW9uIFIoZSxuKXt2YXIgdDtpZihlKXQ9ZS5nZXRDb29raWVNZ3IoKTtlbHNlIGlmKG4pe3ZhciBvPW5bci5Ma107dD1vLl9ja01ncj9vLl9ja01ncjp2KG4pfXJldHVybiB0fHwodD1BKG4sKGV8fHt9KVtyLmVaXSkpLHR9ZnVuY3Rpb24gdihlLG4pe3ZhciB0LG89ZnVuY3Rpb24oZSl7dmFyIG49ZVtyLkxrXT1lW3IuTGtdfHx7fTtpZigoMCxhLnNPKShuLCJkb21haW4iLGUuY29va2llRG9tYWluLGEuQlgsYS5sZSksKDAsYS5zTykobiwicGF0aCIsZS5jb29raWVQYXRofHwiLyIsbnVsbCxhLmxlKSwoMCxhLmxlKShuLmVuYWJsZWQpKXt2YXIgdD12b2lkIDA7KDAsYS5vOCkoZS5pc0Nvb2tpZVVzZURpc2FibGVkKXx8KHQ9IWUuaXNDb29raWVVc2VEaXNhYmxlZCksKDAsYS5vOCkoZS5kaXNhYmxlQ29va2llc1VzYWdlKXx8KHQ9IWUuZGlzYWJsZUNvb2tpZXNVc2FnZSksbi5lbmFibGVkPXR9cmV0dXJuIG59KGV8fEMpLEg9by5wYXRofHwiLyIsUz1vLmRvbWFpbixmPSExIT09by5lbmFibGVkLHA9KCh0PXtpc0VuYWJsZWQ6ZnVuY3Rpb24oKXt2YXIgZT1mJiZVKG4pLHQ9Qy5fY2tNZ3I7cmV0dXJuIGUmJnQmJnAhPT10JiYoZT1JKHQpKSxlfX0pW3IuJGhdPWZ1bmN0aW9uKGUpe2Y9ITEhPT1lfSx0LnNldD1mdW5jdGlvbihlLG4sdCxmLEMpe3ZhciBBPSExO2lmKEkocCkmJiFmdW5jdGlvbihlLG4pe3JldHVybiEhKG4mJmUmJigwLGEua0opKGUuYmxvY2tlZENvb2tpZXMpJiYtMSE9PWUuYmxvY2tlZENvb2tpZXNbci5vdV0obikpfHxoKGUsbil9KG8sZSkpe3ZhciBSPXt9LHY9KDAsYS5uZCkobnx8cy5xUyksVT12W3Iub3VdKCI7Iik7aWYoLTEhPT1VJiYodj0oMCxhLm5kKShuW3IuemNdKDAsVSkpLFI9bShuW3IuemNdKFUrMSkpKSwoMCxhLnNPKShSLCJkb21haW4iLGZ8fFMsYS5mUSxhLm84KSwhKDAsYS5sZSkodCkpe3ZhciBnPSgwLGkudzEpKCk7aWYoKDAsYS5vOCkoUi5leHBpcmVzKSl7dmFyIGI9KDAsYS5tNikoKSsxZTMqdDtpZihiPjApe3ZhciBFPW5ldyBEYXRlO0Uuc2V0VGltZShiKSwoMCxhLnNPKShSLGwsTihFLGc/dTpjKXx8TihFLGc/dTpjKXx8cy5xUyxhLmZRKX19Z3x8KDAsYS5zTykoUiwibWF4LWFnZSIscy5xUyt0LG51bGwsYS5vOCl9dmFyIGs9KDAsaS5rJCkoKTtrJiYiaHR0cHM6Ij09PWsucHJvdG9jb2wmJigoMCxhLnNPKShSLCJzZWN1cmUiLG51bGwsbnVsbCxhLm84KSxudWxsPT09ZCYmKGQ9IXcoKCgwLGkualcpKCl8fHt9KVtyLnFWXSkpLGQmJigwLGEuc08pKFIsIlNhbWVTaXRlIiwiTm9uZSIsbnVsbCxhLm84KSksKDAsYS5zTykoUiwicGF0aCIsQ3x8SCxudWxsLGEubzgpLChvLnNldENvb2tpZXx8eSkoZSxLKHYsUikpLEE9ITB9cmV0dXJuIEF9LHQuZ2V0PWZ1bmN0aW9uKGUpe3ZhciBuPXMucVM7cmV0dXJuIEkocCkmJiFoKG8sZSkmJihuPShvLmdldENvb2tpZXx8ZykoZSkpLG59LHQuZGVsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9ITE7cmV0dXJuIEkocCkmJih0PXAucHVyZ2UoZSxuKSksdH0sdC5wdXJnZT1mdW5jdGlvbihlLHQpe3ZhciByLGE9ITE7aWYoVShuKSl7dmFyIHU9KChyPXt9KS5wYXRoPXR8fCIvIixyLmV4cGlyZXM9IlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UIixyKTsoMCxpLncxKSgpfHwodVsibWF4LWFnZSJdPSIwIiksKG8uZGVsQ29va2llfHx5KShlLEsocy5xUyx1KSksYT0hMH1yZXR1cm4gYX0sdCk7cmV0dXJuIHAuX2NrTWdyPXAscH1mdW5jdGlvbiBVKGUpe2lmKG51bGw9PT1IKXtIPSExO3RyeXtIPXZvaWQgMCE9PShmfHx7fSkuY29va2llfWNhdGNoKG4peygwLG8ua1ApKGUsMiw2OCwiQ2Fubm90IGFjY2VzcyBkb2N1bWVudC5jb29raWUgLSAiKygwLGEuamopKG4pLHtleGNlcHRpb246KDAsaS5lVSkobil9KX19cmV0dXJuIEh9ZnVuY3Rpb24gbShlKXt2YXIgbj17fTtpZihlJiZlW3IuUjVdKXt2YXIgdD0oMCxhLm5kKShlKVtyLnc2XSgiOyIpOygwLGEudE8pKHQsKGZ1bmN0aW9uKGUpe2lmKGU9KDAsYS5uZCkoZXx8cy5xUykpe3ZhciB0PWVbci5vdV0oIj0iKTstMT09PXQ/bltlXT1udWxsOm5bKDAsYS5uZCkoZVtyLnpjXSgwLHQpKV09KDAsYS5uZCkoZVtyLnpjXSh0KzEpKX19KSl9cmV0dXJuIG59ZnVuY3Rpb24gTihlLG4pe3JldHVybigwLGEubWYpKGVbbl0pP2Vbbl0oKTpudWxsfWZ1bmN0aW9uIEsoZSxuKXt2YXIgdD1lfHxzLnFTO3JldHVybigwLGEuclcpKG4sKGZ1bmN0aW9uKGUsbil7dCs9IjsgIitlKygoMCxhLmxlKShuKT9zLnFTOiI9IituKX0pKSx0fWZ1bmN0aW9uIGcoZSl7dmFyIG49cy5xUztpZihmKXt2YXIgdD1mLmNvb2tpZXx8cy5xUztTIT09dCYmKHA9bSh0KSxTPXQpLG49KDAsYS5uZCkocFtlXXx8cy5xUyl9cmV0dXJuIG59ZnVuY3Rpb24geShlLG4pe2YmJihmLmNvb2tpZT1lKyI9IituKX1mdW5jdGlvbiB3KGUpe3JldHVybiEhKDAsYS5IRCkoZSkmJighKCEoMCxhLl9RKShlLCJDUFUgaVBob25lIE9TIDEyIikmJiEoMCxhLl9RKShlLCJpUGFkOyBDUFUgT1MgMTIiKSl8fCghISgoMCxhLl9RKShlLCJNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzE0IikmJigwLGEuX1EpKGUsIlZlcnNpb24vIikmJigwLGEuX1EpKGUsIlNhZmFyaSIpKXx8KCEoISgwLGEuX1EpKGUsIk1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTQiKXx8ISgwLGEuSWQpKGUsIkFwcGxlV2ViS2l0LzYwNS4xLjE1IChLSFRNTCwgbGlrZSBHZWNrbykiKSl8fCghKCEoMCxhLl9RKShlLCJDaHJvbWUvNSIpJiYhKDAsYS5fUSkoZSwiQ2hyb21lLzYiKSl8fCghKCEoMCxhLl9RKShlLCJVbnJlYWxFbmdpbmUiKXx8KDAsYS5fUSkoZSwiQ2hyb21lIikpfHwhKCEoMCxhLl9RKShlLCJVQ0Jyb3dzZXIvMTIiKSYmISgwLGEuX1EpKGUsIlVDQnJvd3Nlci8xMSIpKSkpKSkpfX0sNjg1NTgzOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0dXOigpPT5TLEpqOigpPT5mLERPOigpPT5wfSk7dmFyIHIsbz10KDgyNjQ1NCksaT10KDE3MzU5NyksYT10KDczMTc0MCkscz10KDgwMzE0NSksdT10KDcwNjAzOCksYz10KDkyOTU0MSksbD10KDM4Mjc3OCksSD10KDc1NTk5MiksZD1udWxsO2Z1bmN0aW9uIFMoKXt2YXIgZT1wKCk7cmV0dXJuIGVbaS56Y10oMCw4KSsiLSIrZVtpLnpjXSg4LDEyKSsiLSIrZVtpLnpjXSgxMiwxNikrIi0iK2VbaS56Y10oMTYsMjApKyItIitlW2kuemNdKDIwKX1mdW5jdGlvbiBmKCl7dmFyIGU9KDAscy5yKSgpO3JldHVybiBlJiZlLm5vdz9lLm5vdygpOigwLGMubTYpKCl9ZnVuY3Rpb24gcCgpe2Zvcih2YXIgZSxuPVsiMCIsIjEiLCIyIiwiMyIsIjQiLCI1IiwiNiIsIjciLCI4IiwiOSIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiJdLHQ9bC5xUyxyPTA7cjw0O3IrKyl0Kz1uWzE1JihlPSgwLEguX2wpKCkpXStuW2U+PjQmMTVdK25bZT4+OCYxNV0rbltlPj4xMiYxNV0rbltlPj4xNiYxNV0rbltlPj4yMCYxNV0rbltlPj4yNCYxNV0rbltlPj4yOCYxNV07dmFyIG89bls4KygzJigwLEguX2wpKCkpfDBdO3JldHVybiB0W2kuSm5dKDAsOCkrdFtpLkpuXSg5LDQpKyI0Iit0W2kuSm5dKDEzLDMpK28rdFtpLkpuXSgxNiwzKSt0W2kuSm5dKDE5LDEyKX12YXIgQz17X2NhblVzZUNvb2tpZXM6dm9pZCAwLGlzVHlwZW9mOmMuWW0saXNVbmRlZmluZWQ6Yy5vOCxpc051bGxPclVuZGVmaW5lZDpjLmxlLGhhc093blByb3BlcnR5OmMubnIsaXNGdW5jdGlvbjpjLm1mLGlzT2JqZWN0OmMuS24saXNEYXRlOmMuSl8saXNBcnJheTpjLmtKLGlzRXJyb3I6Yy5WWixpc1N0cmluZzpjLkhELGlzTnVtYmVyOmMuaGosaXNCb29sZWFuOmMuam4sdG9JU09TdHJpbmc6Yy5ZNixhcnJGb3JFYWNoOmMudE8sYXJySW5kZXhPZjpjLlVBLGFyck1hcDpjLk1yLGFyclJlZHVjZTpjLlh6LHN0clRyaW06Yy5uZCxvYmpDcmVhdGU6by5wdSxvYmpLZXlzOmMuRlksb2JqRGVmaW5lQWNjZXNzb3JzOmMubF8sYWRkRXZlbnRIYW5kbGVyOnUuSWIsZGF0ZU5vdzpjLm02LGlzSUU6cy53MSxkaXNhYmxlQ29va2llczpmdW5jdGlvbigpe0EoKVtpLiRoXSghMSl9LG5ld0d1aWQ6UyxwZXJmTm93OmYsbmV3SWQ6SC5wWixyYW5kb21WYWx1ZTpILmF6LHJhbmRvbTMyOkguX2wsbXdjUmFuZG9tU2VlZDpILkNOLG13Y1JhbmRvbTMyOkguRjYsZ2VuZXJhdGVXM0NJZDpwfTt1LnBaLHUucFosdS5wRCx1LnBEO2Z1bmN0aW9uIEEoZSxuKXt2YXIgdD0oMCxhLmtqKShlLG4pLG89Qy5fY2FuVXNlQ29va2llcztyZXR1cm4gbnVsbD09PWQmJihkPVtdLHI9bywoMCxjLmxfKShDLCJfY2FuVXNlQ29va2llcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSwoZnVuY3Rpb24oZSl7cj1lLCgwLGMudE8pKGQsKGZ1bmN0aW9uKG4pe25baS4kaF0oZSl9KSl9KSkpLC0xPT09KDAsYy5VQSkoZCx0KSYmZFtpLk1XXSh0KSwoMCxjLmpuKShvKSYmdFtpLiRoXShvKSwoMCxjLmpuKShyKSYmdFtpLiRoXShyKSx0fX0sMjM1NjI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7SjooKT0+ZixLOigpPT5wfSk7dmFyIHI9dCgyMjE5MDgpLG89dCgxNzM1OTcpLGk9dCg5Mjk1NDEpLGE9dCgzODI3NzgpLHM9dCg3NTU5OTIpLHU9ci5SSixjPSIyLjguOCIsbD0iLiIrKDAscy5wWikoNiksSD0wO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIDE9PT1lW28ueHZdfHw5PT09ZVtvLnh2XXx8IStlW28ueHZdfWZ1bmN0aW9uIFMoZSxuKXt2YXIgdD1uW2UuaWRdO2lmKCF0KXt0PXt9O3RyeXtkKG4pJiYoZnVuY3Rpb24oZSxuLHQpe2lmKHUpdHJ5e3JldHVybiB1KGUsbix7dmFsdWU6dCxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLCEwfWNhdGNoKGUpe31yZXR1cm4hMX0obixlLmlkLHQpfHwobltlLmlkXT10KSl9Y2F0Y2goZSl7fX1yZXR1cm4gdH1mdW5jdGlvbiBmKGUsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPSExKSwoMCxpLkdmKShlK0grKysobj8iLjIuOC44IjphLnFTKStsKX1mdW5jdGlvbiBwKGUpe3ZhciBuPXtpZDpmKCJfYWlEYXRhLSIrKGV8fGEucVMpKyIuIitjKSxhY2NlcHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGQoZSl9LGdldDpmdW5jdGlvbihlLHQscixvKXt2YXIgYT1lW24uaWRdO3JldHVybiBhP2FbKDAsaS5HZikodCldOihvJiYoKGE9UyhuLGUpKVsoMCxpLkdmKSh0KV09cikscil9LGtpbGw6ZnVuY3Rpb24oZSxuKXtpZihlJiZlW25dKXRyeXtkZWxldGUgZVtuXX1jYXRjaChlKXt9fX07cmV0dXJuIG59fSwyOTIzOTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtqOigpPT5jLHA6KCk9Pmx9KTt2YXIgcixvPXQoMTczNTk3KSxpPXQoODAzMTQ1KSxhPVsiZXZlbnRzU2VudCIsImV2ZW50c0Rpc2NhcmRlZCIsImV2ZW50c1NlbmRSZXF1ZXN0IiwicGVyZkV2ZW50Il0scz1udWxsO2Z1bmN0aW9uIHUoZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMscj1jKG4pO2lmKHIpe3ZhciBpPXIubGlzdGVuZXI7aSYmaVtlXSYmaVtlXVtvLlpWXShpLHQpfX19ZnVuY3Rpb24gYyhlKXt2YXIgbix0PXM7cmV0dXJuIHR8fCEwPT09ZS5kaXNhYmxlRGJnRXh0fHwodD1zfHwoKG49KDAsaS5hOCkoIk1pY3Jvc29mdCIpKSYmKHM9bi5BcHBsaWNhdGlvbkluc2lnaHRzKSxzKSksdD90LkNocm9tZURiZ0V4dDpudWxsfWZ1bmN0aW9uIGwoZSl7aWYoIXIpe3I9e307Zm9yKHZhciBuPTA7bjxhW28uUjVdO24rKylyW2Fbbl1dPXUoYVtuXSxlKX1yZXR1cm4gcn19LDY2MjM3MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtsUTooKT0+SCx2SDooKT0+ZCxBUTooKT0+UyxrUDooKT0+cCxqVjooKT0+Q30pO3ZhciByPXQoOTIzODA2KSxvPXQoMTczNTk3KSxpPXQoMjkyMzkpLGE9dCg4MDMxNDUpLHM9dCg5Mjk1NDEpLHU9dCgzODI3NzgpO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGU/JyInK2Vbby5pN10oL1wiL2csdS5xUykrJyInOnUucVN9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PSgwLGEuZHIpKCk7aWYodCl7dmFyIHI9ImxvZyI7dFtlXSYmKHI9ZSksKDAscy5tZikodFtyXSkmJnRbcl0obil9fXZhciBIPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLG4sdCxyKXt2b2lkIDA9PT10JiYodD0hMSk7dmFyIGk9dGhpcztpW28uR2NdPWUsaVtvLmdVXT0odD8iQUk6ICI6IkFJIChJbnRlcm5hbCk6ICIpK2U7dmFyIHM9dS5xUzsoMCxhLm5TKSgpJiYocz0oMCxhLnhBKSgpLnN0cmluZ2lmeShyKSk7dmFyIGw9KG4/IiBtZXNzYWdlOiIrYyhuKTp1LnFTKSsocj8iIHByb3BzOiIrYyhzKTp1LnFTKTtpW28uZ1VdKz1sfXJldHVybiBlLmRhdGFUeXBlPSJNZXNzYWdlRGF0YSIsZX0oKTtmdW5jdGlvbiBkKGUsbil7cmV0dXJuKGV8fHt9KVtvLmVaXXx8bmV3IFMobil9dmFyIFM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKG4pe3RoaXMuaWRlbnRpZmllcj0iRGlhZ25vc3RpY0xvZ2dlciIsdGhpcy5xdWV1ZT1bXTt2YXIgdCxjLGQsUyxmPTAscD17fTsoMCxyLlopKGUsdGhpcywoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihuLHQpe2lmKCEoZj49ZCkpe3ZhciByPSEwLGk9IkFJVFJfIit0W28uR2NdO2lmKHBbaV0/cj0hMTpwW2ldPSEwLHImJihuPD1jJiYoZS5xdWV1ZVtvLk1XXSh0KSxmKyssQygxPT09bj8iZXJyb3IiOiJ3YXJuIix0KSksZj09PWQpKXt2YXIgYT0iSW50ZXJuYWwgZXZlbnRzIHRocm90dGxlIGxpbWl0IHBlciBQYWdlVmlldyByZWFjaGVkIGZvciB0aGlzIGFwcC4iLHM9bmV3IEgoMjMsYSwhMSk7ZS5xdWV1ZVtvLk1XXShzKSwxPT09bj9lW3UueXNdKGEpOmVbdS5jTF0oYSl9fX1mdW5jdGlvbiBDKGUsdCl7dmFyIHI9KDAsaS5qKShufHx7fSk7ciYmcltvLm1jXSYmcltvLm1jXShlLHQpfSFmdW5jdGlvbihlKXt0PSgwLHMudjQpKGUubG9nZ2luZ0xldmVsQ29uc29sZSwwKSxjPSgwLHMudjQpKGUubG9nZ2luZ0xldmVsVGVsZW1ldHJ5LDEpLGQ9KDAscy52NCkoZS5tYXhNZXNzYWdlTGltaXQsMjUpLFM9KDAscy52NCkoZVtvLkZyXSwhMSl9KG58fHt9KSxlLmNvbnNvbGVMb2dnaW5nTGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZS50ZWxlbWV0cnlMb2dnaW5nTGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gY30sZS5tYXhJbnRlcm5hbE1lc3NhZ2VMaW1pdD1mdW5jdGlvbigpe3JldHVybiBkfSxlW28uRnJdPWZ1bmN0aW9uKCl7cmV0dXJuIFN9LGUudGhyb3dJbnRlcm5hbD1mdW5jdGlvbihuLGksYyxsLGQpe3ZvaWQgMD09PWQmJihkPSExKTt2YXIgZj1uZXcgSChpLGMsZCxsKTtpZihTKXRocm93KDAsYS5lVSkoZik7dmFyIEE9MT09PW4/dS55czp1LmNMO2lmKCgwLHMubzgpKGZbby5nVV0pKUMoInRocm93IisoMT09PW4/IkNyaXRpY2FsIjoiV2FybmluZyIpLGYpO2Vsc2V7aWYoZCl7dmFyIEk9K2Zbby5HY107IXBbSV0mJnQ+PW4mJihlW0FdKGZbby5nVV0pLHBbSV09ITApfWVsc2UgdD49biYmZVtBXShmW28uZ1VdKTtyKG4sZil9fSxlW3UuY0xdPWZ1bmN0aW9uKGUpe2woIndhcm4iLGUpLEMoIndhcm5pbmciLGUpfSxlW3UueXNdPWZ1bmN0aW9uKGUpe2woImVycm9yIixlKSxDKCJlcnJvciIsZSl9LGUucmVzZXRJbnRlcm5hbE1lc3NhZ2VDb3VudD1mdW5jdGlvbigpe2Y9MCxwPXt9fSxlW28uamtdPXJ9KSl9cmV0dXJuIGUuX19pZUR5bj0xLGV9KCk7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZXx8bmV3IFN9ZnVuY3Rpb24gcChlLG4sdCxyLG8saSl7dm9pZCAwPT09aSYmKGk9ITEpLGYoZSkudGhyb3dJbnRlcm5hbChuLHQscixvLGkpfWZ1bmN0aW9uIEMoZSxuKXtmKGUpW3UuY0xdKG4pfX0sODAzMTQ1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2E4OigpPT5oLEpqOigpPT52LE52OigpPT5VLE1lOigpPT5tLGpXOigpPT5LLGskOigpPT5nLGRyOigpPT55LHI6KCk9PncsblM6KCk9PmIseEE6KCk9PkUsTVg6KCk9PmssZ3o6KCk9Pk8sYiQ6KCk9PngsdzE6KCk9PlAsZVU6KCk9PlQsTUY6KCk9PkQsSk86KCk9Pk0sY3A6KCk9PkwsWjM6KCk9PkJ9KTt2YXIgcj10KDIyMTkwOCksbz10KDgyNjQ1NCksaT10KDE3MzU5NyksYT10KDkyOTU0MSkscz10KDM4Mjc3OCksdT0id2luZG93IixjPSJKU09OIixsPSJtc2llIixIPSJ0cmlkZW50LyIsZD0iWE1MSHR0cFJlcXVlc3QiLFM9bnVsbCxmPW51bGwscD0hMSxDPW51bGwsQT1udWxsO2Z1bmN0aW9uIEkoZSxuKXt2YXIgdD0hMTtpZihlKXt0cnl7aWYoISh0PW4gaW4gZSkpe3ZhciBvPWVbci5oQl07byYmKHQ9biBpbiBvKX19Y2F0Y2goZSl7fWlmKCF0KXRyeXt2YXIgaT1uZXcgZTt0PSEoMCxhLm84KShpW25dKX1jYXRjaChlKXt9fXJldHVybiB0fWZ1bmN0aW9uIGgoZSl7dmFyIG49KDAsby5SZCkoKTtyZXR1cm4gbiYmbltlXT9uW2VdOmU9PT11JiZSKCk/d2luZG93Om51bGx9ZnVuY3Rpb24gUigpe3JldHVybiBCb29sZWFuKHR5cGVvZiB3aW5kb3c9PT1yLmZLJiZ3aW5kb3cpfWZ1bmN0aW9uIHYoKXtyZXR1cm4gUigpP3dpbmRvdzpoKHUpfWZ1bmN0aW9uIFUoKXtyZXR1cm4gQm9vbGVhbih0eXBlb2YgZG9jdW1lbnQ9PT1yLmZLJiZkb2N1bWVudCl9ZnVuY3Rpb24gbSgpe3JldHVybiBVKCk/ZG9jdW1lbnQ6aCgiZG9jdW1lbnQiKX1mdW5jdGlvbiBOKCl7cmV0dXJuIEJvb2xlYW4odHlwZW9mIG5hdmlnYXRvcj09PXIuZksmJm5hdmlnYXRvcil9ZnVuY3Rpb24gSygpe3JldHVybiBOKCk/bmF2aWdhdG9yOmgoIm5hdmlnYXRvciIpfWZ1bmN0aW9uIGcoZSl7aWYoZSYmcCl7dmFyIG49aCgiX19tb2NrTG9jYXRpb24iKTtpZihuKXJldHVybiBufXJldHVybiB0eXBlb2YgbG9jYXRpb249PT1yLmZLJiZsb2NhdGlvbj9sb2NhdGlvbjpoKCJsb2NhdGlvbiIpfWZ1bmN0aW9uIHkoKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGUhPT1yLmpBP2NvbnNvbGU6aCgiY29uc29sZSIpfWZ1bmN0aW9uIHcoKXtyZXR1cm4gaCgicGVyZm9ybWFuY2UiKX1mdW5jdGlvbiBiKCl7cmV0dXJuIEJvb2xlYW4odHlwZW9mIEpTT049PT1yLmZLJiZKU09OfHxudWxsIT09aChjKSl9ZnVuY3Rpb24gRSgpe3JldHVybiBiKCk/SlNPTnx8aChjKTpudWxsfWZ1bmN0aW9uIGsoKXtyZXR1cm4gaCgiY3J5cHRvIil9ZnVuY3Rpb24gTygpe3JldHVybiBoKCJtc0NyeXB0byIpfWZ1bmN0aW9uIHgoKXt2YXIgZT1LKCk7cmV0dXJuISghZXx8IWUucHJvZHVjdCkmJiJSZWFjdE5hdGl2ZSI9PT1lLnByb2R1Y3R9ZnVuY3Rpb24gUCgpe3ZhciBlPUsoKTtpZihlJiYoZVtpLnFWXSE9PWZ8fG51bGw9PT1TKSl7dmFyIG49KChmPWVbaS5xVl0pfHxzLnFTKVtpLlQxXSgpO1M9KDAsYS5fUSkobixsKXx8KDAsYS5fUSkobixIKX1yZXR1cm4gU31mdW5jdGlvbiBUKGUpe3ZhciBuPU9iamVjdFtyLmhCXS50b1N0cmluZ1tpLl9TXShlKSx0PXMucVM7cmV0dXJuIltvYmplY3QgRXJyb3JdIj09PW4/dD0ieyBzdGFjazogJyIrZS5zdGFjaysiJywgbWVzc2FnZTogJyIrZS5tZXNzYWdlKyInLCBuYW1lOiAnIitlW2kuSV0rIiciOmIoKSYmKHQ9RSgpLnN0cmluZ2lmeShlKSksbit0fWZ1bmN0aW9uIEQoKXtyZXR1cm4gbnVsbD09PUEmJihBPU4oKSYmQm9vbGVhbihLKCkuc2VuZEJlYWNvbikpLEF9ZnVuY3Rpb24gTShlKXt2YXIgbj0hMTt0cnl7bj0hIWgoImZldGNoIik7dmFyIHQ9aCgiUmVxdWVzdCIpO24mJmUmJnQmJihuPUkodCwia2VlcGFsaXZlIikpfWNhdGNoKGUpe31yZXR1cm4gbn1mdW5jdGlvbiBMKCl7cmV0dXJuIG51bGw9PT1DJiYoQz10eXBlb2YgWERvbWFpblJlcXVlc3QhPT1yLmpBKSYmQigpJiYoQz1DJiYhSShoKGQpLCJ3aXRoQ3JlZGVudGlhbHMiKSksQ31mdW5jdGlvbiBCKCl7dmFyIGU9ITE7dHJ5e2U9ISFoKGQpfWNhdGNoKGUpe31yZXR1cm4gZX19LDcwNjAzODooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtqVTooKT0+ZyxwWjooKT0+YixwRDooKT0+RSxJYjooKT0+ayxjOTooKT0+UCxKQTooKT0+VCxUSjooKT0+RCxDOTooKT0+TSxuRDooKT0+TCxZbDooKT0+Qn0pO3ZhciByPXQoMTczNTk3KSxvPXQoMjM1NjIpLGk9dCg4MDMxNDUpLGE9dCg5Mjk1NDEpLHM9dCgzODI3NzgpLHU9ImV2ZW50cyIsYz0idmlzaWJpbGl0eWNoYW5nZSIsbD0icGFnZWhpZGUiLEg9InBhZ2VzaG93IixkPSJ1bmxvYWQiLFM9ImJlZm9yZXVubG9hZCIsZj0oMCxvLkopKCJhaUV2dFBhZ2VIaWRlIikscD0oMCxvLkopKCJhaUV2dFBhZ2VTaG93IiksQz0vXC5bXC5dKy9nLEE9L1tcLl0rJC8sST0xLGg9KDAsby5LKSgiZXZlbnRzIiksUj0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gdihlKXtyZXR1cm4gZSYmZVtyLmk3XT9lLnJlcGxhY2UoL15ccypcLip8XC4qXHMqJC9nLHMucVMpOmV9ZnVuY3Rpb24gVShlLG4pe3ZhciB0O2lmKG4pe3ZhciBvPXMucVM7KDAsYS5rSikobik/KG89cy5xUywoMCxhLnRPKShuLChmdW5jdGlvbihlKXsoZT12KGUpKSYmKCIuIiE9PWVbMF0mJihlPSIuIitlKSxvKz1lKX0pKSk6bz12KG4pLG8mJigiLiIhPT1vWzBdJiYobz0iLiIrbyksZT0oZXx8cy5xUykrbyl9dmFyIGk9Ui5leGVjKGV8fHMucVMpfHxbXTtyZXR1cm4odD17fSlbci5QNl09aVsxXSx0Lm5zPShpWzJdfHxzLnFTKS5yZXBsYWNlKEMsIi4iKS5yZXBsYWNlKEEscy5xUylbci53Nl0oIi4iKS5zb3J0KCkuam9pbigiLiIpLHR9ZnVuY3Rpb24gbShlLG4sdCl7dm9pZCAwPT09dCYmKHQ9ITApO3ZhciByPWguZ2V0KGUsdSx7fSx0KSxvPXJbbl07cmV0dXJuIG98fChvPXJbbl09W10pLG99ZnVuY3Rpb24gTihlLG4sdCxvKXtlJiZuJiZuW3IuUDZdJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyP2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihuW3IuUDZdLHQsbyk6ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK25bci5QNl0sdCkpfWZ1bmN0aW9uIEsoZSxuLHQsbyl7Zm9yKHZhciBpPW5bci5SNV07aS0tOyl7dmFyIGE9bltpXTthJiYodC5ucyYmdC5ucyE9PWEuZXZ0TmFtZS5uc3x8byYmIW8oYSl8fChOKGUsYS5ldnROYW1lLGFbci5Lbl0sYS5jYXB0dXJlKSxuW3IuY2JdKGksMSkpKX19ZnVuY3Rpb24gZyhlLG4pe3JldHVybiBuP1UoInh4IiwoMCxhLmtKKShuKT9bZV0uY29uY2F0KG4pOltlLG5dKS5uc1tyLnc2XSgiLiIpOmV9ZnVuY3Rpb24geShlLG4sdCxvLGkpe3ZhciBhO3ZvaWQgMD09PWkmJihpPSExKTt2YXIgcz0hMTtpZihlKXRyeXt2YXIgdT1VKG4sbyk7aWYocz1mdW5jdGlvbihlLG4sdCxvKXt2YXIgaT0hMTtyZXR1cm4gZSYmbiYmbltyLlA2XSYmdCYmKGUuYWRkRXZlbnRMaXN0ZW5lcj8oZS5hZGRFdmVudExpc3RlbmVyKG5bci5QNl0sdCxvKSxpPSEwKTplLmF0dGFjaEV2ZW50JiYoZS5hdHRhY2hFdmVudCgib24iK25bci5QNl0sdCksaT0hMCkpLGl9KGUsdSx0LGkpLHMmJmguYWNjZXB0KGUpKXt2YXIgYz0oKGE9e2d1aWQ6SSsrLGV2dE5hbWU6dX0pW3IuS25dPXQsYS5jYXB0dXJlPWksYSk7bShlLHUudHlwZSlbci5NV10oYyl9fWNhdGNoKGUpe31yZXR1cm4gc31mdW5jdGlvbiB3KGUsbix0LG8saSl7aWYodm9pZCAwPT09aSYmKGk9ITEpLGUpdHJ5e3ZhciBzPVUobixvKSxjPSExOyFmdW5jdGlvbihlLG4sdCl7aWYobltyLlA2XSlLKGUsbShlLG5bci5QNl0pLG4sdCk7ZWxzZXt2YXIgbz1oLmdldChlLHUse30pOygwLGEuclcpKG8sKGZ1bmN0aW9uKHIsbyl7SyhlLG8sbix0KX0pKSwwPT09KDAsYS5GWSkobylbci5SNV0mJmgua2lsbChlLHUpfX0oZSxzLChmdW5jdGlvbihlKXtyZXR1cm4hKCghcy5uc3x8dCkmJmVbci5Lbl0hPT10KSYmKGM9ITAsITApfSkpLGN8fE4oZSxzLHQsaSl9Y2F0Y2goZSl7fX1mdW5jdGlvbiBiKGUsbix0LHIpe3JldHVybiB2b2lkIDA9PT1yJiYocj0hMSkseShlLG4sdCxudWxsLHIpfWZ1bmN0aW9uIEUoZSxuLHQscil7dm9pZCAwPT09ciYmKHI9ITEpLHcoZSxuLHQsbnVsbCxyKX1mdW5jdGlvbiBrKGUsbix0KXt2YXIgcj0hMSxvPSgwLGkuSmopKCk7byYmKHI9eShvLGUsbix0KSxyPXkoby5ib2R5LGUsbix0KXx8cik7dmFyIGE9KDAsaS5NZSkoKTtyZXR1cm4gYSYmKHI9eShhLGUsbix0KXx8cikscn1mdW5jdGlvbiBPKGUsbix0LG8pe3ZhciBpPSExO3JldHVybiBuJiZlJiZlW3IuUjVdPjAmJigwLGEudE8pKGUsKGZ1bmN0aW9uKGUpe2UmJih0JiYtMSE9PSgwLGEuVUEpKHQsZSl8fChpPWsoZSxuLG8pfHxpKSl9KSksaX1mdW5jdGlvbiB4KGUsbix0KXtlJiYoMCxhLmtKKShlKSYmKDAsYS50TykoZSwoZnVuY3Rpb24oZSl7ZSYmZnVuY3Rpb24oZSxuLHQpe3ZhciByPSgwLGkuSmopKCk7ciYmKHcocixlLG4sdCksdyhyLmJvZHksZSxuLHQpKTt2YXIgbz0oMCxpLk1lKSgpO28mJncobyxlLG4sdCl9KGUsbix0KX0pKX1mdW5jdGlvbiBQKGUsbix0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQsbyl7dmFyIGk9ITE7cmV0dXJuIG4mJmUmJigwLGEua0opKGUpJiYhKGk9TyhlLG4sdCxvKSkmJnQmJnRbci5SNV0+MCYmKGk9TyhlLG4sbnVsbCxvKSksaX0oW1MsZCxsXSxlLG4sdCl9ZnVuY3Rpb24gVChlLG4pe3goW1MsZCxsXSxlLG4pfWZ1bmN0aW9uIEQoZSxuLHQpe3ZhciByPWcoZix0KSxvPU8oW2xdLGUsbixyKTtyZXR1cm4gbiYmLTEhPT0oMCxhLlVBKShuLGMpfHwobz1PKFtjXSwoZnVuY3Rpb24obil7dmFyIHQ9KDAsaS5NZSkoKTtlJiZ0JiYiaGlkZGVuIj09PXQudmlzaWJpbGl0eVN0YXRlJiZlKG4pfSksbixyKXx8byksIW8mJm4mJihvPUQoZSxudWxsLHQpKSxvfWZ1bmN0aW9uIE0oZSxuKXt2YXIgdD1nKGYsbik7eChbbF0sZSx0KSx4KFtjXSxudWxsLHQpfWZ1bmN0aW9uIEwoZSxuLHQpe3ZhciByPWcocCx0KSxvPU8oW0hdLGUsbixyKTtyZXR1cm4hKG89TyhbY10sKGZ1bmN0aW9uKG4pe3ZhciB0PSgwLGkuTWUpKCk7ZSYmdCYmInZpc2libGUiPT09dC52aXNpYmlsaXR5U3RhdGUmJmUobil9KSxuLHIpfHxvKSYmbiYmKG89TChlLG51bGwsdCkpLG99ZnVuY3Rpb24gQihlLG4pe3ZhciB0PWcocCxuKTt4KFtIXSxlLHQpLHgoW2NdLG51bGwsdCl9fSw5Mjk1NDE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WW06KCk9Pk4sbzg6KCk9PkssbGU6KCk9PmcsQlg6KCk9PnksbnI6KCk9PncsS246KCk9PmIsbWY6KCk9PkUsR2Y6KCk9Pmssclc6KCk9Pk8sSWQ6KCk9PngseGU6KCk9PlAsX1E6KCk9PlQsSl86KCk9PkQsa0o6KCk9Pk0sVlo6KCk9PkwsSEQ6KCk9PkIsaGo6KCk9Plcsam46KCk9PmosWTY6KCk9PlYsdE86KCk9PkosVUE6KCk9PlosTXI6KCk9PlgsWHo6KCk9PnEsbmQ6KCk9PlksRlk6KCk9PlEsbF86KCk9Pl8sX0E6KCk9PmVlLEZMOigpPT5uZSxtNjooKT0+dGUsamo6KCk9PnJlLHNPOigpPT5vZSxxSzooKT0+aWUsdjQ6KCk9PmFlLGZROigpPT5zZSxfeTooKT0+dWUsT2k6KCk9PmxlLFZiOigpPT5IZSxBeDooKT0+ZGUsbW06KCk9PlNlfSk7dmFyIHI9dCgyMjE5MDgpLG89dCg4MjY0NTQpLGk9dCgxNzM1OTcpLGE9dCgzODI3NzgpLHM9ImNvbnN0cnVjdG9yIix1PXIuUkosYz1yLlB3LmZyZWV6ZSxsPShyLlB3LnNlYWwsci5Qdy5rZXlzKSxIPVN0cmluZ1tyLmhCXSxkPUgudHJpbSxTPUguZW5kc1dpdGgsZj1ILnN0YXJ0c1dpdGgscD1EYXRlW3IuaEJdLnRvSVNPU3RyaW5nLEM9QXJyYXkuaXNBcnJheSxBPXIuVjQudG9TdHJpbmcsST1yLkNZLnRvU3RyaW5nLGg9SVtpLl9TXShyLlB3KSxSPS8tKFthLXpdKS9nLHY9LyhbXlx3XGRfJF0pL2csVT0vXihcZCtbXHdcZF8kXSkvLG09T2JqZWN0LmdldFByb3RvdHlwZU9mO2Z1bmN0aW9uIE4oZSxuKXtyZXR1cm4gdHlwZW9mIGU9PT1ufWZ1bmN0aW9uIEsoZSl7cmV0dXJuIHZvaWQgMD09PWV8fHR5cGVvZiBlPT09ci5qQX1mdW5jdGlvbiBnKGUpe3JldHVybiBudWxsPT09ZXx8SyhlKX1mdW5jdGlvbiB5KGUpe3JldHVybiFnKGUpfWZ1bmN0aW9uIHcoZSxuKXtyZXR1cm4hKCFlfHwhci5DWVtpLl9TXShlLG4pKX1mdW5jdGlvbiBiKGUpe3JldHVybiEoIWV8fHR5cGVvZiBlIT09ci5mSyl9ZnVuY3Rpb24gRShlKXtyZXR1cm4hKCFlfHx0eXBlb2YgZSE9PXIuY2IpfWZ1bmN0aW9uIGsoZSl7dmFyIG49ZTtyZXR1cm4gbiYmQihuKSYmKG49KG49KG49bltpLmk3XShSLChmdW5jdGlvbihlLG4pe3JldHVybiBuLnRvVXBwZXJDYXNlKCl9KSkpW2kuaTddKHYsIl8iKSlbaS5pN10oVSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4iXyIrbn0pKSksbn1mdW5jdGlvbiBPKGUsbil7aWYoZSlmb3IodmFyIHQgaW4gZSlyLkNZW2kuX1NdKGUsdCkmJm5baS5fU10oZSx0LGVbdF0pfWZ1bmN0aW9uIHgoZSxuKXt2YXIgdD0hMTtyZXR1cm4gZSYmbiYmISh0PWU9PT1uKSYmKHQ9Uz9lLmVuZHNXaXRoKG4pOmZ1bmN0aW9uKGUsbil7dmFyIHQ9ITEscj1uP25baS5SNV06MCxvPWU/ZVtpLlI1XTowO2lmKHImJm8mJm8+PXImJiEodD1lPT09bikpe2Zvcih2YXIgYT1vLTEscz1yLTE7cz49MDtzLS0pe2lmKGVbYV0hPW5bc10pcmV0dXJuITE7YS0tfXQ9ITB9cmV0dXJuIHR9KGUsbikpLHR9ZnVuY3Rpb24gUChlLG4pe3ZhciB0PSExO3JldHVybiBlJiZuJiYhKHQ9ZT09PW4pJiYodD1mP2Uuc3RhcnRzV2l0aChuKTpmdW5jdGlvbihlLG4pe3ZhciB0PSExLHI9bj9uW2kuUjVdOjA7aWYoZSYmciYmZVtpLlI1XT49ciYmISh0PWU9PT1uKSl7Zm9yKHZhciBvPTA7bzxyO28rKylpZihlW29dIT09bltvXSlyZXR1cm4hMTt0PSEwfXJldHVybiB0fShlLG4pKSx0fWZ1bmN0aW9uIFQoZSxuKXtyZXR1cm4hKCFlfHwhbikmJi0xIT09ZVtpLm91XShuKX1mdW5jdGlvbiBEKGUpe3JldHVybiEoIWV8fCJbb2JqZWN0IERhdGVdIiE9PUFbaS5fU10oZSkpfXZhciBNPUN8fGZ1bmN0aW9uKGUpe3JldHVybiEoIWV8fCJbb2JqZWN0IEFycmF5XSIhPT1BW2kuX1NdKGUpKX07ZnVuY3Rpb24gTChlKXtyZXR1cm4hKCFlfHwiW29iamVjdCBFcnJvcl0iIT09QVtpLl9TXShlKSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9ZnVuY3Rpb24gVyhlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV9ZnVuY3Rpb24gaihlKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBlfWZ1bmN0aW9uIEYoZSl7dmFyIG49ITE7aWYoZSYmIm9iamVjdCI9PXR5cGVvZiBlKXt2YXIgdD1tP20oZSk6ZnVuY3Rpb24oZSl7aWYoZSl7aWYobSlyZXR1cm4gbShlKTt2YXIgbj1lLl9fcHJvdG9fX3x8ZVtyLmhCXXx8ZS5jb25zdHJ1Y3RvcjtpZihuKXJldHVybiBufXJldHVybiBudWxsfShlKTt0Pyh0LmNvbnN0cnVjdG9yJiZyLkNZW2kuX1NdKHQscykmJih0PXQuY29uc3RydWN0b3IpLG49dHlwZW9mIHQ9PT1yLmNiJiZJW2kuX1NdKHQpPT09aCk6bj0hMH1yZXR1cm4gbn1mdW5jdGlvbiBWKGUpe2lmKGUpcmV0dXJuIHA/ZS50b0lTT1N0cmluZygpOmZ1bmN0aW9uKGUpe2lmKGUmJmUuZ2V0VVRDRnVsbFllYXIpe3ZhciBuPWZ1bmN0aW9uKGUpe3ZhciBuPVN0cmluZyhlKTtyZXR1cm4gMT09PW5baS5SNV0mJihuPSIwIituKSxufTtyZXR1cm4gZS5nZXRVVENGdWxsWWVhcigpKyItIituKGUuZ2V0VVRDTW9udGgoKSsxKSsiLSIrbihlLmdldFVUQ0RhdGUoKSkrIlQiK24oZS5nZXRVVENIb3VycygpKSsiOiIrbihlLmdldFVUQ01pbnV0ZXMoKSkrIjoiK24oZS5nZXRVVENTZWNvbmRzKCkpKyIuIitTdHJpbmcoKGUuZ2V0VVRDTWlsbGlzZWNvbmRzKCkvMWUzKS50b0ZpeGVkKDMpKS5zbGljZSgyLDUpKyJaIn19KGUpfWZ1bmN0aW9uIEooZSxuLHQpe3ZhciByPWVbaS5SNV07dHJ5e2Zvcih2YXIgbz0wO288ciYmKCEobyBpbiBlKXx8LTEhPT1uW2kuX1NdKHR8fGUsZVtvXSxvLGUpKTtvKyspO31jYXRjaChlKXt9fWZ1bmN0aW9uIFooZSxuLHQpe2lmKGUpe2lmKGUuaW5kZXhPZilyZXR1cm4gZS5pbmRleE9mKG4sdCk7dmFyIHI9ZVtpLlI1XSxvPXR8fDA7dHJ5e2Zvcih2YXIgYT1NYXRoLm1heChvPj0wP286ci1NYXRoLmFicyhvKSwwKTthPHI7YSsrKWlmKGEgaW4gZSYmZVthXT09PW4pcmV0dXJuIGF9Y2F0Y2goZSl7fX1yZXR1cm4tMX1mdW5jdGlvbiBYKGUsbix0KXt2YXIgcjtpZihlKXtpZihlLm1hcClyZXR1cm4gZS5tYXAobix0KTt2YXIgbz1lW2kuUjVdLGE9dHx8ZTtyPW5ldyBBcnJheShvKTt0cnl7Zm9yKHZhciBzPTA7czxvO3MrKylzIGluIGUmJihyW3NdPW5baS5fU10oYSxlW3NdLGUpKX1jYXRjaChlKXt9fXJldHVybiByfWZ1bmN0aW9uIHEoZSxuLHQpe3ZhciByO2lmKGUpe2lmKGUucmVkdWNlKXJldHVybiBlLnJlZHVjZShuLHQpO3ZhciBvPWVbaS5SNV0sYT0wO2lmKGFyZ3VtZW50c1tpLlI1XT49MylyPWFyZ3VtZW50c1syXTtlbHNle2Zvcig7YTxvJiYhKGEgaW4gZSk7KWErKztyPWVbYSsrXX1mb3IoO2E8bzspYSBpbiBlJiYocj1uKHIsZVthXSxhLGUpKSxhKyt9cmV0dXJuIHJ9ZnVuY3Rpb24gWShlKXtyZXR1cm4gZSYmKGU9ZCYmZS50cmltP2UudHJpbSgpOmVbaS5pN10/ZVtpLmk3XSgvXlxzK3xccyskL2csYS5xUyk6ZSksZX12YXIgej0he3RvU3RyaW5nOm51bGx9LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0b1N0cmluZyIpLEc9WyJ0b1N0cmluZyIsInRvTG9jYWxlU3RyaW5nIiwidmFsdWVPZiIsImhhc093blByb3BlcnR5IiwiaXNQcm90b3R5cGVPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiY29uc3RydWN0b3IiXTtmdW5jdGlvbiBRKGUpe3ZhciBuPXR5cGVvZiBlO2lmKG49PT1yLmNifHxuPT09ci5mSyYmbnVsbCE9PWV8fCgwLG8uWlUpKCJvYmpLZXlzIGNhbGxlZCBvbiBub24tb2JqZWN0IiksIXomJmwpcmV0dXJuIGwoZSk7dmFyIHQ9W107Zm9yKHZhciBhIGluIGUpZSYmci5DWVtpLl9TXShlLGEpJiZ0W2kuTVddKGEpO2lmKHopZm9yKHZhciBzPUdbaS5SNV0sdT0wO3U8czt1KyspZSYmci5DWVtpLl9TXShlLEdbdV0pJiZ0W2kuTVddKEdbdV0pO3JldHVybiB0fWZ1bmN0aW9uIF8oZSxuLHQscil7aWYodSl0cnl7dmFyIG89e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfTtyZXR1cm4gdCYmKG8uZ2V0PXQpLHImJihvLnNldD1yKSx1KGUsbixvKSwhMH1jYXRjaChlKXt9cmV0dXJuITF9ZnVuY3Rpb24gJChlKXtyZXR1cm4gZX1mdW5jdGlvbiBlZShlKXtyZXR1cm4gYyYmTyhlLChmdW5jdGlvbihlLG4peyhNKG4pfHxiKG4pKSYmYyhuKX0pKSxuZShlKX12YXIgbmU9Y3x8JDtmdW5jdGlvbiB0ZSgpe3ZhciBlPURhdGU7cmV0dXJuIGUubm93P2Uubm93KCk6KG5ldyBlKS5nZXRUaW1lKCl9ZnVuY3Rpb24gcmUoZSl7cmV0dXJuIEwoZSk/ZVtpLkldOmEucVN9ZnVuY3Rpb24gb2UoZSxuLHQscixvKXt2YXIgaT10O3JldHVybiBlJiYoKGk9ZVtuXSk9PT10fHxvJiYhbyhpKXx8ciYmIXIodCl8fChpPXQsZVtuXT1pKSksaX1mdW5jdGlvbiBpZShlLG4sdCl7dmFyIHI7cmV0dXJuIGU/IShyPWVbbl0pJiZnKHIpJiYocj1LKHQpP3t9OnQsZVtuXT1yKTpyPUsodCk/e306dCxyfWZ1bmN0aW9uIGFlKGUsbil7cmV0dXJuIGcoZSk/bjplfWZ1bmN0aW9uIHNlKGUpe3JldHVybiEhZX1mdW5jdGlvbiB1ZShlKXt0aHJvdyBuZXcgRXJyb3IoZSl9ZnVuY3Rpb24gY2UoZSxuKXt2YXIgdD1udWxsLHI9bnVsbDtyZXR1cm4gRShlKT90PWU6cj1lLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzO2lmKHQmJihyPXQoKSkscilyZXR1cm4gcltuXVtpLlpWXShyLGUpfX1mdW5jdGlvbiBsZShlLG4sdCxyLG8pe2UmJm4mJnQmJighMSE9PW98fEsoZVtuXSkpJiYoZVtuXT1jZSh0LHIpKX1mdW5jdGlvbiBIZShlLG4sdCxyKXtyZXR1cm4gZSYmbiYmYihlKSYmTSh0KSYmSih0LChmdW5jdGlvbih0KXtCKHQpJiZsZShlLHQsbix0LHIpfSkpLGV9ZnVuY3Rpb24gZGUoZSl7cmV0dXJuIGUmJnIucmwmJihlPSgwLHIuUHcpKCgwLHIucmwpKHt9LGUpKSksZX1mdW5jdGlvbiBTZShlLG4sdCxvLGEscyl7dmFyIHU9YXJndW1lbnRzLGM9dVswXXx8e30sbD11W2kuUjVdLEg9ITEsZD0xO2ZvcihsPjAmJmooYykmJihIPWMsYz11W2RdfHx7fSxkKyspLGIoYyl8fChjPXt9KTtkPGw7ZCsrKXt2YXIgUz11W2RdLGY9TShTKSxwPWIoUyk7Zm9yKHZhciBDIGluIFMpe3ZhciBBPWYmJkMgaW4gU3x8cCYmci5DWVtpLl9TXShTLEMpO2lmKEEpe3ZhciBJPVNbQ10saD12b2lkIDA7aWYoSCYmSSYmKChoPU0oSSkpfHxGKEkpKSl7dmFyIFI9Y1tDXTtoP00oUil8fChSPVtdKTpGKFIpfHwoUj17fSksST1TZShILFIsSSl9dm9pZCAwIT09SSYmKGNbQ109SSl9fX1yZXR1cm4gY319LDM4Mjc3ODooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtxUzooKT0+cixaOigpPT5vLG9WOigpPT5pLEROOigpPT5hLG1FOigpPT5zLFpoOigpPT51LGpzOigpPT5jLGhMOigpPT5sLHlpOigpPT5ILHVDOigpPT5kLCRGOigpPT5TLGZfOigpPT5mLEMkOigpPT5wLHlzOigpPT5DLGNMOigpPT5BLGtsOigpPT5JfSk7dmFyIHI9IiIsbz0iY2hhbm5lbHMiLGk9ImNvcmUiLGE9ImNyZWF0ZVBlcmZNZ3IiLHM9ImRpc2FibGVkIix1PSJleHRlbnNpb25Db25maWciLGM9ImV4dGVuc2lvbnMiLGw9InByb2Nlc3NUZWxlbWV0cnkiLEg9InByaW9yaXR5IixkPSJldmVudHNTZW50IixTPSJldmVudHNEaXNjYXJkZWQiLGY9ImV2ZW50c1NlbmRSZXF1ZXN0IixwPSJwZXJmRXZlbnQiLEM9ImVycm9yVG9Db25zb2xlIixBPSJ3YXJuVG9Db25zb2xlIixJPSJnZXRQZXJmTWdyIn0sMzE3MTQwOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0prOigpPT5jLExtOigpPT5ILGo1OigpPT5kfSk7dmFyIHI9dCg5MjM4MDYpLG89dCgxNzM1OTcpLGk9dCg5Mjk1NDEpLGE9dCgzODI3NzgpLHM9bnVsbCx1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShuLHQscil7dmFyIGEscz10aGlzLHU9ITE7KHMuc3RhcnQ9KDAsaS5tNikoKSxzW28uSV09bixzW28uZF09cixzW28uUExdPWZ1bmN0aW9uKCl7cmV0dXJuITF9LCgwLGkubWYpKHQpKSYmKHU9KDAsaS5sXykocywicGF5bG9hZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIWEmJigwLGkubWYpKHQpJiYoYT10KCksdD1udWxsKSxhfSkpKTtzW28uVF09ZnVuY3Rpb24obil7cmV0dXJuIG4/bj09PWUuUGFyZW50Q29udGV4dEtleXx8bj09PWUuQ2hpbGRyZW5Db250ZXh0S2V5P3Nbbl06KHMuY3R4fHx7fSlbbl06bnVsbH0sc1tvLnd1XT1mdW5jdGlvbihuLHQpe2lmKG4paWYobj09PWUuUGFyZW50Q29udGV4dEtleSlzW25dfHwoc1tvLlBMXT1mdW5jdGlvbigpe3JldHVybiEwfSksc1tuXT10O2Vsc2UgaWYobj09PWUuQ2hpbGRyZW5Db250ZXh0S2V5KXNbbl09dDtlbHNleyhzLmN0eD1zLmN0eHx8e30pW25dPXR9fSxzW28uS21dPWZ1bmN0aW9uKCl7dmFyIG49MCxyPXNbby5UXShlLkNoaWxkcmVuQ29udGV4dEtleSk7aWYoKDAsaS5rSikocikpZm9yKHZhciBhPTA7YTxyW28uUjVdO2ErKyl7dmFyIGM9clthXTtjJiYobis9Y1tvLlpfXSl9c1tvLlpfXT0oMCxpLm02KSgpLXMuc3RhcnQscy5leFRpbWU9c1tvLlpfXS1uLHNbby5LbV09ZnVuY3Rpb24oKXt9LCF1JiYoMCxpLm1mKSh0KSYmKHMucGF5bG9hZD10KCkpfX1yZXR1cm4gZS5QYXJlbnRDb250ZXh0S2V5PSJwYXJlbnQiLGUuQ2hpbGRyZW5Db250ZXh0S2V5PSJjaGlsZEV2dHMiLGV9KCksYz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobil7dGhpcy5jdHg9e30sKDAsci5aKShlLHRoaXMsKGZ1bmN0aW9uKGUpe2UuY3JlYXRlPWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gbmV3IHUoZSxuLHQpfSxlLmZpcmU9ZnVuY3Rpb24oZSl7ZSYmKGVbby5LbV0oKSxuJiYoMCxpLm1mKShuW2EuQyRdKSYmblthLkMkXShlKSl9LGVbby53dV09ZnVuY3Rpb24obix0KXtuJiYoKGUuY3R4PWUuY3R4fHx7fSlbbl09dCl9LGVbby5UXT1mdW5jdGlvbihuKXtyZXR1cm4oZS5jdHh8fHt9KVtuXX19KSl9cmV0dXJuIGUuX19pZUR5bj0xLGV9KCksbD0iQ29yZVV0aWxzLmRvUGVyZiI7ZnVuY3Rpb24gSChlLG4sdCxyLGkpe2lmKGUpe3ZhciBzPWU7aWYoc1thLmtsXSYmKHM9c1thLmtsXSgpKSxzKXt2YXIgYz12b2lkIDAsSD1zW28uVF0obCk7dHJ5e2lmKGM9cy5jcmVhdGUobigpLHIsaSkpe2lmKEgmJmNbby53dV0mJihjW28ud3VdKHUuUGFyZW50Q29udGV4dEtleSxIKSxIW28uVF0mJkhbby53dV0pKXt2YXIgZD1IW28uVF0odS5DaGlsZHJlbkNvbnRleHRLZXkpO2R8fChkPVtdLEhbby53dV0odS5DaGlsZHJlbkNvbnRleHRLZXksZCkpLGRbby5NV10oYyl9cmV0dXJuIHNbby53dV0obCxjKSx0KGMpfX1jYXRjaChlKXtjJiZjW28ud3VdJiZjW28ud3VdKCJleGNlcHRpb24iLGUpfWZpbmFsbHl7YyYmcy5maXJlKGMpLHNbby53dV0obCxIKX19fXJldHVybiB0KCl9ZnVuY3Rpb24gZCgpe3JldHVybiBzfX0sNDc2OTA1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0NEOigpPT5TLEJ0OigpPT5mLHh5OigpPT5wLGpWOigpPT5DfSk7dmFyIHI9dCgxNzM1OTcpLG89dCg2NjIzNzIpLGk9dCg4MDMxNDUpLGE9dCg5Mjk1NDEpLHM9dCgzODI3NzgpLHU9dCgzMTcxNDApLGM9dCg5NDk2NzApLGw9IlRlbGVtZXRyeVBsdWdpbkNoYWluIixIPTA7ZnVuY3Rpb24gZChlLG4sdCx1KXt2YXIgYz1udWxsLGw9W107bnVsbCE9PXUmJihjPXU/ZnVuY3Rpb24oZSxuLHQpe2Zvcig7ZTspe2lmKGVbci5UT10oKT09PXQpcmV0dXJuIGU7ZT1lW3IuVzJdKCl9cmV0dXJuIEMoW3RdLG5bci5UQ118fHt9LG4pfShlLHQsdSk6ZSk7dmFyIEg9e19uZXh0OmZ1bmN0aW9uKCl7dmFyIGU9YztpZihjPWU/ZVtyLlcyXSgpOm51bGwsIWUpe3ZhciBuPWw7biYmbltyLlI1XT4wJiYoKDAsYS50TykobiwoZnVuY3Rpb24oZSl7dHJ5e2UuZnVuY1tyLl9TXShlLnNlbGYsZS5hcmdzKX1jYXRjaChlKXsoMCxvLmtQKSh0W3IuZVpdLDIsNzMsIlVuZXhwZWN0ZWQgRXhjZXB0aW9uIGR1cmluZyBvbkNvbXBsZXRlIC0gIisoMCxpLmVVKShlKSl9fSkpLGw9W10pfXJldHVybiBlfSxjdHg6e2NvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZGlhZ0xvZzpmdW5jdGlvbigpe3JldHVybigwLG8udkgpKHQsbil9LGdldENmZzpmdW5jdGlvbigpe3JldHVybiBufSxnZXRFeHRDZmc6ZCxnZXRDb25maWc6ZnVuY3Rpb24oZSx0LHIpe3ZvaWQgMD09PXImJihyPSExKTt2YXIgbyxpPWQoZSxudWxsKTtpJiYhKDAsYS5sZSkoaVt0XSk/bz1pW3RdOm4mJiEoMCxhLmxlKShuW3RdKSYmKG89blt0XSk7cmV0dXJuKDAsYS5sZSkobyk/cjpvfSxoYXNOZXh0OmZ1bmN0aW9uKCl7cmV0dXJuISFjfSxnZXROZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LHNldE5leHQ6ZnVuY3Rpb24oZSl7Yz1lfSxpdGVyYXRlOmZ1bmN0aW9uKGUpe3ZhciBuO2Zvcig7bj1ILl9uZXh0KCk7KXt2YXIgdD1uW3IuVE9dKCk7dCYmZSh0KX19LG9uQ29tcGxldGU6ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHQ9W10sbz0yO288YXJndW1lbnRzLmxlbmd0aDtvKyspdFtvLTJdPWFyZ3VtZW50c1tvXTtlJiZsW3IuTVddKHtmdW5jOmUsc2VsZjooMCxhLm84KShuKT9ILmN0eDpuLGFyZ3M6dH0pfX19O2Z1bmN0aW9uIGQoZSx0LHIpe3ZhciBvO2lmKHZvaWQgMD09PXQmJih0PXt9KSx2b2lkIDA9PT1yJiYocj0wKSxuKXt2YXIgaT1uW3MuWmhdO2kmJmUmJihvPWlbZV0pfWlmKG8pe2lmKCgwLGEuS24pKHQpJiYwIT09cil7dmFyIHU9KDAsYS5tbSkoITAsdCxvKTtuJiYyPT09ciYmKDAsYS5yVykodCwoZnVuY3Rpb24oZSl7aWYoKDAsYS5sZSkodVtlXSkpe3ZhciB0PW5bZV07KDAsYS5sZSkodCl8fCh1W2VdPXQpfX0pKSxvPXV9fWVsc2Ugbz10O3JldHVybiBvfXJldHVybiBIfWZ1bmN0aW9uIFMoZSxuLHQsbyl7dmFyIGk9ZChlLG4sdCxvKSx1PWkuY3R4O3JldHVybiB1W3IudUxdPWZ1bmN0aW9uKGUpe3ZhciBuPWkuX25leHQoKTtyZXR1cm4gbiYmbltzLmhMXShlLHUpLCFufSx1W3IuelZdPWZ1bmN0aW9uKGUsbyl7cmV0dXJuIHZvaWQgMD09PWUmJihlPW51bGwpLCgwLGEua0opKGUpJiYoZT1DKGUsbix0LG8pKSxTKGV8fHVbci5XMl0oKSxuLHQsbyl9LHV9ZnVuY3Rpb24gZihlLG4sdCl7dmFyIG89bltyLlRDXXx8e30saT1kKGUsbyxuLHQpLHM9aS5jdHg7cmV0dXJuIHNbci51TF09ZnVuY3Rpb24oZSl7dmFyIG49aS5fbmV4dCgpO3JldHVybiBuJiZuLnVubG9hZChzLGUpLCFufSxzW3IuelZdPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PWUmJihlPW51bGwpLCgwLGEua0opKGUpJiYoZT1DKGUsbyxuLHQpKSxmKGV8fHNbci5XMl0oKSxuLHQpfSxzfWZ1bmN0aW9uIHAoZSxuLHQpe3ZhciBvPW5bci5UQ118fHt9LGk9ZChlLG8sbix0KS5jdHg7cmV0dXJuIGlbci51TF09ZnVuY3Rpb24oZSl7cmV0dXJuIGkuaXRlcmF0ZSgoZnVuY3Rpb24obil7KDAsYS5tZikobltyLlR1XSkmJm5bci5UdV0oaSxlKX0pKX0saVtyLnpWXT1mdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1udWxsKSwoMCxhLmtKKShlKSYmKGU9QyhlLG8sbix0KSkscChlfHxpW3IuVzJdKCksbix0KX0saX1mdW5jdGlvbiBDKGUsbix0LGQpe3ZhciBmPW51bGwscD0hZDtpZigoMCxhLmtKKShlKSYmZVtyLlI1XT4wKXt2YXIgQT1udWxsOygwLGEudE8pKGUsKGZ1bmN0aW9uKGUpe2lmKHB8fGQhPT1lfHwocD0hMCkscCYmZSYmKDAsYS5tZikoZVtzLmhMXSkpe3ZhciBDPWZ1bmN0aW9uKGUsbix0KXt2YXIgZCxmPW51bGwscD0oMCxhLm1mKShlW3MuaExdKSxDPSgwLGEubWYpKGVbci5KZF0pO2Q9ZT9lW3IucFpdKyItIitlW3MueWldKyItIitIKys6IlVua25vd24tMC0iK0grKzt2YXIgQT17Z2V0UGx1Z2luOmZ1bmN0aW9uKCl7cmV0dXJuIGV9LGdldE5leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gZn0scHJvY2Vzc1RlbGVtZXRyeTpSLHVubG9hZDp2LHVwZGF0ZTpVLF9pZDpkLF9zZXROZXh0OmZ1bmN0aW9uKGUpe2Y9ZX19O2Z1bmN0aW9uIEkoKXt2YXIgcjtyZXR1cm4gZSYmKDAsYS5tZikoZS5fZ2V0VGVsQ3R4KSYmKHI9ZS5fZ2V0VGVsQ3R4KCkpLHJ8fChyPVMoQSxuLHQpKSxyfWZ1bmN0aW9uIGgobix0LGEsYyxIKXt2YXIgUz0hMSxwPWU/ZVtyLnBaXTpsLEM9bi5faGFzUnVuO3JldHVybiBDfHwoQz1uLl9oYXNSdW49e30pLG4uc2V0TmV4dChmKSxlJiYoMCx1LkxtKShuW3Mub1ZdKCksKGZ1bmN0aW9uKCl7cmV0dXJuIHArIjoiK2F9KSwoZnVuY3Rpb24oKXtDW2RdPSEwO3RyeXt2YXIgZT1mP2YuX2lkOnMucVM7ZSYmKENbZV09ITEpLFM9dChuKX1jYXRjaChlKXt2YXIgdT0hZnx8Q1tmLl9pZF07dSYmKFM9ITApLGYmJnV8fCgwLG8ua1ApKG5bci5tY10oKSwxLDczLCJQbHVnaW4gWyIrcCsiXSBmYWlsZWQgZHVyaW5nICIrYSsiIC0gIisoMCxpLmVVKShlKSsiLCBydW4gZmxhZ3M6ICIrKDAsaS5lVSkoQykpfX0pLGMsSCksU31mdW5jdGlvbiBSKG4sdCl7ZnVuY3Rpb24gbyh0KXtpZighZXx8IXApcmV0dXJuITE7dmFyIG89KDAsYy5PWSkoZSk7cmV0dXJuIW9bci5maV0mJiFvW3MubUVdJiYoQyYmZVtyLkpkXShmKSxlW3MuaExdKG4sdCksITApfWgodD10fHxJKCksbywicHJvY2Vzc1RlbGVtZXRyeSIsKGZ1bmN0aW9uKCl7cmV0dXJue2l0ZW06bn19KSwhbi5zeW5jKXx8dFtyLnVMXShuKX1mdW5jdGlvbiB2KG4sdCl7ZnVuY3Rpb24gbygpe3ZhciBvPSExO2lmKGUpe3ZhciBpPSgwLGMuT1kpKGUpLGE9ZVtzLm9WXXx8aVtzLm9WXTshZXx8YSYmYSE9PW4uY29yZSgpfHxpW3IuZmldfHwoaVtzLm9WXT1udWxsLGlbci5maV09ITAsaVtyLnlsXT0hMSxlW3IuZmldJiYhMD09PWVbci5maV0obix0KSYmKG89ITApKX1yZXR1cm4gb31oKG4sbywidW5sb2FkIiwoZnVuY3Rpb24oKXt9KSx0W3IuZF0pfHxuW3IudUxdKHQpfWZ1bmN0aW9uIFUobix0KXtmdW5jdGlvbiBvKCl7dmFyIG89ITE7aWYoZSl7dmFyIGk9KDAsYy5PWSkoZSksYT1lW3Mub1ZdfHxpW3Mub1ZdOyFlfHxhJiZhIT09bi5jb3JlKCl8fGlbci5maV18fGVbci5UdV0mJiEwPT09ZVtyLlR1XShuLHQpJiYobz0hMCl9cmV0dXJuIG99aChuLG8sInVwZGF0ZSIsKGZ1bmN0aW9uKCl7fSksITEpfHxuW3IudUxdKHQpfXJldHVybigwLGEuRkwpKEEpfShlLG4sdCk7Znx8KGY9QyksQSYmQS5fc2V0TmV4dChDKSxBPUN9fSkpfXJldHVybiBkJiYhZj9DKFtkXSxuLHQpOmZ9fSw3NTU5OTI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7YXo6KCk9PmYsX2w6KCk9PnAsQ046KCk9PkMsRjY6KCk9PkEscFo6KCk9Pkl9KTt2YXIgcj10KDE3MzU5Nyksbz10KDgwMzE0NSksaT10KDkyOTU0MSksYT10KDM4Mjc3OCkscz00Mjk0OTY3Mjk2LHU9NDI5NDk2NzI5NSxjPSExLGw9MTIzNDU2Nzg5LEg9OTg3NjU0MzIxO2Z1bmN0aW9uIGQoZSl7ZTwwJiYoZT4+Pj0wKSxsPTEyMzQ1Njc4OStlJnUsSD05ODc2NTQzMjEtZSZ1LGM9ITB9ZnVuY3Rpb24gUygpe3RyeXt2YXIgZT0yMTQ3NDgzNjQ3JigwLGkubTYpKCk7ZCgoTWF0aC5yYW5kb20oKSpzXmUpK2UpfWNhdGNoKGUpe319ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT4wP01hdGguZmxvb3IocCgpL3UqKGUrMSkpPj4+MDowfWZ1bmN0aW9uIHAoZSl7dmFyIG49MCx0PSgwLG8uTVgpKCl8fCgwLG8uZ3opKCk7cmV0dXJuIHQmJnQuZ2V0UmFuZG9tVmFsdWVzJiYobj10LmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDMyQXJyYXkoMSkpWzBdJnUpLDA9PT1uJiYoMCxvLncxKSgpJiYoY3x8UygpLG49QSgpJnUpLDA9PT1uJiYobj1NYXRoLmZsb29yKHMqTWF0aC5yYW5kb20oKXwwKSksZXx8KG4+Pj49MCksbn1mdW5jdGlvbiBDKGUpe2U/ZChlKTpTKCl9ZnVuY3Rpb24gQShlKXt2YXIgbj0oKEg9MzY5NjkqKDY1NTM1JkgpKyhIPj4xNikmdSk8PDE2KSsoNjU1MzUmKGw9MThlMyooNjU1MzUmbCkrKGw+PjE2KSZ1KSk+Pj4wJnV8MDtyZXR1cm4gZXx8KG4+Pj49MCksbn1mdW5jdGlvbiBJKGUpe3ZvaWQgMD09PWUmJihlPTIyKTtmb3IodmFyIG49cCgpPj4+MCx0PTAsbz1hLnFTO29bci5SNV08ZTspdCsrLG8rPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIi5jaGFyQXQoNjMmbiksbj4+Pj02LDU9PT10JiYobj0ocCgpPDwyJjQyOTQ5NjcyOTV8MyZuKT4+PjAsdD0wKTtyZXR1cm4gb319LDk0OTY3MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtPWTooKT0+YyxiUDooKT0+bCxBQTooKT0+SCxZbjooKT0+ZH0pO3ZhciByPXQoMTczNTk3KSxvPXQoMjM1NjIpLGk9dCg5Mjk1NDEpLGE9dCgzODI3NzgpLHM9dCgxOTMwODIpLHU9KDAsby5LKSgicGx1Z2luIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gdS5nZXQoZSwic3RhdGUiLHt9LCEwKX1mdW5jdGlvbiBsKGUsbil7Zm9yKHZhciB0LG89W10scz1udWxsLHU9ZVtyLlcyXSgpO3U7KXt2YXIgbD11W3IuVE9dKCk7aWYobCl7cyYmKDAsaS5tZikoc1tyLkpkXSkmJigwLGkubWYpKGxbYS5oTF0pJiZzW3IuSmRdKGwpOygoMCxpLm1mKShsW3IueWxdKT9sW3IueWxdKCk6KHQ9YyhsKSlbci55bF0pfHxvW3IuTVddKGwpLHM9bCx1PXVbci5XMl0oKX19KDAsaS50TykobywoZnVuY3Rpb24obyl7dmFyIGk9ZVthLm9WXSgpO29bci5WTF0oZS5nZXRDZmcoKSxpLG4sZVtyLlcyXSgpKSx0PWMobyksb1thLm9WXXx8dFthLm9WXXx8KHRbYS5vVl09aSksdFtyLnlsXT0hMCxkZWxldGUgdFtyLmZpXX0pKX1mdW5jdGlvbiBIKGUpe3JldHVybiBlLnNvcnQoKGZ1bmN0aW9uKGUsbil7dmFyIHQ9MDtpZihuKXt2YXIgcj0oMCxpLm1mKShuW2EuaExdKTsoMCxpLm1mKShlW2EuaExdKT90PXI/ZVthLnlpXS1uW2EueWldOjE6ciYmKHQ9LTEpfWVsc2UgdD1lPzE6LTE7cmV0dXJuIHR9KSl9ZnVuY3Rpb24gZChlKXt2YXIgbj17fTtyZXR1cm57Z2V0TmFtZTpmdW5jdGlvbigpe3JldHVybiBuW3IuSV19LHNldE5hbWU6ZnVuY3Rpb24odCl7ZSYmZS5zZXROYW1lKHQpLG5bci5JXT10fSxnZXRUcmFjZUlkOmZ1bmN0aW9uKCl7cmV0dXJuIG5bci5uWV19LHNldFRyYWNlSWQ6ZnVuY3Rpb24odCl7ZSYmZS5zZXRUcmFjZUlkKHQpLCgwLHMuak4pKHQpJiYobltyLm5ZXT10KX0sZ2V0U3BhbklkOmZ1bmN0aW9uKCl7cmV0dXJuIG5bci5fZF19LHNldFNwYW5JZDpmdW5jdGlvbih0KXtlJiZlLnNldFNwYW5JZCh0KSwoMCxzLkxjKSh0KSYmKG5bci5fZF09dCl9LGdldFRyYWNlRmxhZ3M6ZnVuY3Rpb24oKXtyZXR1cm4gbltyLlQwXX0sc2V0VHJhY2VGbGFnczpmdW5jdGlvbih0KXtlJiZlLnNldFRyYWNlRmxhZ3ModCksbltyLlQwXT10fX19fSw4NTE5MzA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WTooKT0+c30pO3ZhciByPXQoMTczNTk3KSxvPXQoNjYyMzcyKSxpPXQoODAzMTQ1KSxhPXQoOTI5NTQxKTtmdW5jdGlvbiBzKCl7dmFyIGU9W107cmV0dXJue2FkZDpmdW5jdGlvbihuKXtuJiZlW3IuTVddKG4pfSxydW46ZnVuY3Rpb24obix0KXsoMCxhLnRPKShlLChmdW5jdGlvbihlKXt0cnl7ZShuLHQpfWNhdGNoKGUpeygwLG8ua1ApKG5bci5tY10oKSwyLDczLCJVbmV4cGVjdGVkIGVycm9yIGNhbGxpbmcgdW5sb2FkIGhhbmRsZXIgLSAiKygwLGkuZVUpKGUpKX19KSksZT1bXX19fX0sMTkzMDgyOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2pOOigpPT5zLExjOigpPT51fSk7dmFyIHI9dCgxNzM1OTcpLG89IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIixpPSIwMDAwMDAwMDAwMDAwMDAwIjtmdW5jdGlvbiBhKGUsbix0KXtyZXR1cm4hKCFlfHxlW3IuUjVdIT09bnx8ZT09PXQpJiYhIWUubWF0Y2goL15bXGRhLWZdKiQvKX1mdW5jdGlvbiBzKGUpe3JldHVybiBhKGUsMzIsbyl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gYShlLDE2LGkpfX0sMTczNTk3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1ZMOigpPT5yLEk6KCk9Pm8sdGI6KCk9PmkscFo6KCk9PmEsTVc6KCk9PnMseWw6KCk9PnUsVEM6KCk9PmMscCQ6KCk9PmwsZVo6KCk9PkgsUjU6KCk9PmQsWl86KCk9PlMsdUw6KCk9PmYsU0Q6KCk9PnAsZzooKT0+QyxuNzooKT0+QSxMUzooKT0+SSxGYzooKT0+aCxUTzooKT0+UixrTDooKT0+dixpQzooKT0+VSxjYjooKT0+bSxmaTooKT0+TixHYzooKT0+SyxnVTooKT0+ZyxkOigpPT55LEYzOigpPT53LFR1OigpPT5iLFcyOigpPT5FLG1jOigpPT5rLEpkOigpPT5PLHpWOigpPT54LExrOigpPT5QLG91OigpPT5ULHpjOigpPT5ELHFWOigpPT5NLHc2OigpPT5MLCRoOigpPT5CLEpuOigpPT5XLHh2OigpPT5qLFpWOigpPT5GLGk3OigpPT5WLEZyOigpPT5KLGprOigpPT5aLFQxOigpPT5YLF9TOigpPT5xLFA2OigpPT5ZLEtuOigpPT56LGRFOigpPT5HLFBMOigpPT5RLFQ6KCk9Pl8sd3U6KCk9PiQsS206KCk9PmVlLG5ZOigpPT5uZSxfZDooKT0+dGUsVDA6KCk9PnJlfSk7dmFyIHI9ImluaXRpYWxpemUiLG89Im5hbWUiLGk9ImdldE5vdGlmeU1nciIsYT0iaWRlbnRpZmllciIscz0icHVzaCIsdT0iaXNJbml0aWFsaXplZCIsYz0iY29uZmlnIixsPSJpbnN0cnVtZW50YXRpb25LZXkiLEg9ImxvZ2dlciIsZD0ibGVuZ3RoIixTPSJ0aW1lIixmPSJwcm9jZXNzTmV4dCIscD0iZ2V0UHJvY2Vzc1RlbENvbnRleHQiLEM9ImFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyIixBPSJyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lciIsST0ic3RvcFBvbGxpbmdJbnRlcm5hbExvZ3MiLGg9Im9uQ29tcGxldGUiLFI9ImdldFBsdWdpbiIsdj0iZmx1c2giLFU9Il9leHRlbnNpb25zIixtPSJzcGxpY2UiLE49InRlYXJkb3duIixLPSJtZXNzYWdlSWQiLGc9Im1lc3NhZ2UiLHk9ImlzQXN5bmMiLHc9Il9kb1RlYXJkb3duIixiPSJ1cGRhdGUiLEU9ImdldE5leHQiLGs9ImRpYWdMb2ciLE89InNldE5leHRQbHVnaW4iLHg9ImNyZWF0ZU5ldyIsUD0iY29va2llQ2ZnIixUPSJpbmRleE9mIixEPSJzdWJzdHJpbmciLE09InVzZXJBZ2VudCIsTD0ic3BsaXQiLEI9InNldEVuYWJsZWQiLFc9InN1YnN0ciIsaj0ibm9kZVR5cGUiLEY9ImFwcGx5IixWPSJyZXBsYWNlIixKPSJlbmFibGVEZWJ1Z0V4Y2VwdGlvbnMiLFo9ImxvZ0ludGVybmFsTWVzc2FnZSIsWD0idG9Mb3dlckNhc2UiLHE9ImNhbGwiLFk9InR5cGUiLHo9ImhhbmRsZXIiLEc9Imxpc3RlbmVycyIsUT0iaXNDaGlsZEV2dCIsXz0iZ2V0Q3R4IiwkPSJzZXRDdHgiLGVlPSJjb21wbGV0ZSIsbmU9InRyYWNlSWQiLHRlPSJzcGFuSWQiLHJlPSJ0cmFjZUZsYWdzIn0sMjIxOTA4OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2NiOigpPT5yLGZLOigpPT5vLGpBOigpPT5pLGhCOigpPT5hLGJPOigpPT5zLFB3OigpPT51LFY0OigpPT5jLHJsOigpPT5sLHl1OigpPT5ILFJKOigpPT5kLENZOigpPT5TfSk7dmFyIHI9ImZ1bmN0aW9uIixvPSJvYmplY3QiLGk9InVuZGVmaW5lZCIsYT0icHJvdG90eXBlIixzPSJoYXNPd25Qcm9wZXJ0eSIsdT1PYmplY3QsYz11W2FdLGw9dS5hc3NpZ24sSD11LmNyZWF0ZSxkPXUuZGVmaW5lUHJvcGVydHksUz1jW3NdfSw4MjY0NTQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7UmQ6KCk9PmksWlU6KCk9PmEscHU6KCk9PnN9KTt2YXIgcj10KDIyMTkwOCksbz1udWxsO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSEwKSxvJiZlfHwodHlwZW9mIGdsb2JhbFRoaXMhPT1yLmpBJiZnbG9iYWxUaGlzJiYobz1nbG9iYWxUaGlzKSx0eXBlb2Ygc2VsZiE9PXIuakEmJnNlbGYmJihvPXNlbGYpLHR5cGVvZiB3aW5kb3chPT1yLmpBJiZ3aW5kb3cmJihvPXdpbmRvdyksdHlwZW9mIHQuZyE9PXIuakEmJnQuZyYmKG89dC5nKSksb31mdW5jdGlvbiBhKGUpe3Rocm93IG5ldyBUeXBlRXJyb3IoZSl9ZnVuY3Rpb24gcyhlKXt2YXIgbj1yLnl1O2lmKG4pcmV0dXJuIG4oZSk7aWYobnVsbD09ZSlyZXR1cm57fTt2YXIgdD10eXBlb2YgZTtmdW5jdGlvbiBvKCl7fXJldHVybiB0IT09ci5mSyYmdCE9PXIuY2ImJmEoIk9iamVjdCBwcm90b3R5cGUgbWF5IG9ubHkgYmUgYW4gT2JqZWN0OiIrZSksb1tyLmhCXT1lLG5ldyBvfX0sMzQ1MzYyOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3VjOigpPT5pLG5lOigpPT5zLCRoOigpPT51fSk7dmFyIHI9dCgyMjE5MDgpLG89dCg4MjY0NTQpLGk9KCgoMCxvLlJkKSgpfHx7fSkuU3ltYm9sLCgoMCxvLlJkKSgpfHx7fSkuUmVmbGVjdCxyLnJsfHxmdW5jdGlvbihlKXtmb3IodmFyIG4sdD0xLG89YXJndW1lbnRzLmxlbmd0aDt0PG87dCsrKWZvcih2YXIgaSBpbiBuPWFyZ3VtZW50c1t0XSlyLlY0W3IuYk9dLmNhbGwobixpKSYmKGVbaV09bltpXSk7cmV0dXJuIGV9KSxhPWZ1bmN0aW9uKGUsbil7cmV0dXJuIGE9ci5Qdy5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLG4pe2UuX19wcm90b19fPW59fHxmdW5jdGlvbihlLG4pe2Zvcih2YXIgdCBpbiBuKW5bci5iT10odCkmJihlW3RdPW5bdF0pfSxhKGUsbil9O2Z1bmN0aW9uIHMoZSxuKXtmdW5jdGlvbiB0KCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXR5cGVvZiBuIT09ci5jYiYmbnVsbCE9PW4mJigwLG8uWlUpKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKG4pKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpLGEoZSxuKSxlW3IuaEJdPW51bGw9PT1uPygwLG8ucHUpKG4pOih0W3IuaEJdPW5bci5oQl0sbmV3IHQpfWZ1bmN0aW9uIHUoZSxuKXtmb3IodmFyIHQ9MCxyPW4ubGVuZ3RoLG89ZS5sZW5ndGg7dDxyO3QrKyxvKyspZVtvXT1uW3RdO3JldHVybiBlfX0sOTIzODA2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9Pkt9KTt2YXIgcj0iY29uc3RydWN0b3IiLG89InByb3RvdHlwZSIsaT0iZnVuY3Rpb24iLGE9Il9keW5DbGFzcyIscz0iX3Vua25vd25fIix1PSJfZHluX19wcm90b19fIixjPU9iamVjdCxsPWMuZ2V0UHJvdG90eXBlT2YsSD1jLmdldE93blByb3BlcnR5TmFtZXMsZD0wO2Z1bmN0aW9uIFMoZSxuKXtyZXR1cm4gZSYmYy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG4pfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIGUmJihlPT09Yy5wcm90b3R5cGV8fGU9PT1BcnJheS5wcm90b3R5cGUpfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIGYoZSl8fGU9PT1GdW5jdGlvbi5wcm90b3R5cGV9ZnVuY3Rpb24gQyhlKXt2YXIgbjtpZihlKXtpZihsKXJldHVybiBsKGUpO3ZhciB0PWUuX19wcm90b19ffHxlLnByb3RvdHlwZXx8KGUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGU6bnVsbCk7bj1lLl9keW5fX3Byb3RvX198fHQsUyhlLHUpfHwoZGVsZXRlIGUuX2R5bkluc3RQcm90byxuPWUuX2R5bl9fcHJvdG9fXz1lLl9keW5JbnN0UHJvdG98fGUuX2R5bl9fcHJvdG9fXyxlLl9keW5JbnN0UHJvdG89dCl9cmV0dXJuIG59ZnVuY3Rpb24gQShlLG4pe3ZhciB0PVtdO2lmKEgpdD1IKGUpO2Vsc2UgZm9yKHZhciByIGluIGUpInN0cmluZyI9PXR5cGVvZiByJiZTKGUscikmJnQucHVzaChyKTtpZih0JiZ0Lmxlbmd0aD4wKWZvcih2YXIgbz0wO288dC5sZW5ndGg7bysrKW4odFtvXSl9ZnVuY3Rpb24gSShlLG4sdCl7cmV0dXJuIG4hPT1yJiZ0eXBlb2YgZVtuXT09PWkmJih0fHxTKGUsbikpfWZ1bmN0aW9uIGgoZSl7dGhyb3cgbmV3IFR5cGVFcnJvcigiRHluYW1pY1Byb3RvOiAiK2UpfWZ1bmN0aW9uIFIoZSxuKXtmb3IodmFyIHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSlpZihlW3RdPT09bilyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiB2KGUsbix0LHIpe3ZhciBvPW51bGw7aWYoZSYmUyh0LGEpKXt2YXIgcz1lLl9keW5JbnN0RnVuY3N8fHt9O2lmKChvPShzW3QuX2R5bkNsYXNzXXx8e30pW25dKXx8aCgiTWlzc2luZyBbIituKyJdICIraSksIW8uX2R5bkluc3RDaGsmJiExIT09cy5fZHluSW5zdENoayl7Zm9yKHZhciB1PSFTKGUsbiksYz1DKGUpLGw9W107dSYmYyYmIXAoYykmJiFSKGwsYyk7KXt2YXIgSD1jW25dO2lmKEgpe3U9SD09PXI7YnJlYWt9bC5wdXNoKGMpLGM9QyhjKX10cnl7dSYmKGVbbl09byksby5fZHluSW5zdENoaz0xfWNhdGNoKGUpe3MuX2R5bkluc3RDaGs9ITF9fX1yZXR1cm4gb31mdW5jdGlvbiBVKGUsbix0KXt2YXIgcj1uW2VdO3JldHVybiByPT09dCYmKHI9QyhuKVtlXSksdHlwZW9mIHIhPT1pJiZoKCJbIitlKyJdIGlzIG5vdCBhICIraSkscn1mdW5jdGlvbiBtKGUsbix0LHIsbyl7aWYoIWYoZSkpe3ZhciBpPXQuX2R5bkluc3RGdW5jcz10Ll9keW5JbnN0RnVuY3N8fHt9LGE9aVtuXT1pW25dfHx7fTshMSE9PWkuX2R5bkluc3RDaGsmJihpLl9keW5JbnN0Q2hrPSEhbyksQSh0LChmdW5jdGlvbihuKXtJKHQsbiwhMSkmJnRbbl0hPT1yW25dJiYoYVtuXT10W25dLGRlbGV0ZSB0W25dLCghUyhlLG4pfHxlW25dJiYhZVtuXS5faXNEeW5Qcm94eSkmJihlW25dPWZ1bmN0aW9uKGUsbil7dmFyIHQ9ZnVuY3Rpb24oKXtyZXR1cm4odih0aGlzLG4sZSx0KXx8VShuLGUsdCkpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07cmV0dXJuIHQuX2lzRHluUHJveHk9MSx0fShlLG4pKSl9KSl9fWZ1bmN0aW9uIE4oZSxuKXtyZXR1cm4gUyhlLG8pP2UubmFtZXx8bnx8czooKGV8fHt9KS5jb25zdHJ1Y3Rvcnx8e30pLm5hbWV8fG58fHN9ZnVuY3Rpb24gSyhlLG4sdCxyKXtTKGUsbyl8fGgoInRoZUNsYXNzIGlzIGFuIGludmFsaWQgY2xhc3MgZGVmaW5pdGlvbi4iKTt2YXIgaT1lLnByb3RvdHlwZTsoZnVuY3Rpb24oZSxuKXtpZihsKXtmb3IodmFyIHQ9W10scj1DKG4pO3ImJiFwKHIpJiYhUih0LHIpOyl7aWYocj09PWUpcmV0dXJuITA7dC5wdXNoKHIpLHI9QyhyKX1yZXR1cm4hMX1yZXR1cm4hMH0pKGksbil8fGgoIlsiK04oZSkrIl0gaXMgbm90IGluIGNsYXNzIGhpZXJhcmNoeSBvZiBbIitOKG4pKyJdIik7dmFyIHM9bnVsbDtTKGksYSk/cz1pLl9keW5DbGFzczoocz0iX2R5bkNscyQiK04oZSwiXyIpKyIkIitkLGQrKyxpLl9keW5DbGFzcz1zKTt2YXIgdT1LLl9kZk9wdHMsYz0hIXUudXNlQmFzZUluc3Q7YyYmciYmdm9pZCAwIT09ci51c2VCYXNlSW5zdCYmKGM9ISFyLnVzZUJhc2VJbnN0KTt2YXIgSD1mdW5jdGlvbihlKXt2YXIgbj17fTtyZXR1cm4gQShlLChmdW5jdGlvbih0KXshblt0XSYmSShlLHQsITEpJiYoblt0XT1lW3RdKX0pKSxufShuKSxmPWZ1bmN0aW9uKGUsbix0LHIpe2Z1bmN0aW9uIG8oZSxuLHQpe3ZhciBvPW5bdF07aWYoby5faXNEeW5Qcm94eSYmcil7dmFyIGk9ZS5fZHluSW5zdEZ1bmNzfHx7fTshMSE9PWkuX2R5bkluc3RDaGsmJihvPShpW24uX2R5bkNsYXNzXXx8e30pW3RdfHxvKX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gby5hcHBseShlLGFyZ3VtZW50cyl9fXZhciBpPXt9O0EodCwoZnVuY3Rpb24oZSl7aVtlXT1vKG4sdCxlKX0pKTtmb3IodmFyIGE9QyhlKSxzPVtdO2EmJiFwKGEpJiYhUihzLGEpOylBKGEsKGZ1bmN0aW9uKGUpeyFpW2VdJiZJKGEsZSwhbCkmJihpW2VdPW8obixhLGUpKX0pKSxzLnB1c2goYSksYT1DKGEpO3JldHVybiBpfShpLG4sSCxjKTt0KG4sZik7dmFyIHY9ISFsJiYhIXUuc2V0SW5zdEZ1bmNzO3YmJnImJih2PSEhci5zZXRJbnN0RnVuY3MpLG0oaSxzLG4sSCwhMSE9PXYpfUsuX2RmT3B0cz17c2V0SW5zdEZ1bmNzOiEwLHVzZUJhc2VJbnN0OiEwfX0sMTM4NzI6ZnVuY3Rpb24oKXshZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2lmKCFlLmZldGNoKXt2YXIgbj0iVVJMU2VhcmNoUGFyYW1zImluIGUsdD0iU3ltYm9sImluIGUmJiJpdGVyYXRvciJpbiBTeW1ib2wscj0iRmlsZVJlYWRlciJpbiBlJiYiQmxvYiJpbiBlJiZmdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IEJsb2IsITB9Y2F0Y2goZSl7cmV0dXJuITF9fSgpLG89IkZvcm1EYXRhImluIGUsaT0iQXJyYXlCdWZmZXIiaW4gZTtpZihpKXZhciBhPVsiW29iamVjdCBJbnQ4QXJyYXldIiwiW29iamVjdCBVaW50OEFycmF5XSIsIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIiwiW29iamVjdCBJbnQxNkFycmF5XSIsIltvYmplY3QgVWludDE2QXJyYXldIiwiW29iamVjdCBJbnQzMkFycmF5XSIsIltvYmplY3QgVWludDMyQXJyYXldIiwiW29iamVjdCBGbG9hdDMyQXJyYXldIiwiW29iamVjdCBGbG9hdDY0QXJyYXldIl0scz1mdW5jdGlvbihlKXtyZXR1cm4gZSYmRGF0YVZpZXcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSl9LHU9QXJyYXlCdWZmZXIuaXNWaWV3fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmYS5pbmRleE9mKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSk+LTF9O2YucHJvdG90eXBlLmFwcGVuZD1mdW5jdGlvbihlLG4pe2U9SChlKSxuPWQobik7dmFyIHQ9dGhpcy5tYXBbZV07dHx8KHQ9W10sdGhpcy5tYXBbZV09dCksdC5wdXNoKG4pfSxmLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oZSl7ZGVsZXRlIHRoaXMubWFwW0goZSldfSxmLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5tYXBbSChlKV07cmV0dXJuIG4/blswXTpudWxsfSxmLnByb3RvdHlwZS5nZXRBbGw9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubWFwW0goZSldfHxbXX0sZi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eShIKGUpKX0sZi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGUsbil7dGhpcy5tYXBbSChlKV09W2QobildfSxmLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGUsbil7T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcy5tYXApLmZvckVhY2goKGZ1bmN0aW9uKHQpe3RoaXMubWFwW3RdLmZvckVhY2goKGZ1bmN0aW9uKHIpe2UuY2FsbChuLHIsdCx0aGlzKX0pLHRoaXMpfSksdGhpcyl9LGYucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKChmdW5jdGlvbihuLHQpe2UucHVzaCh0KX0pKSxTKGUpfSxmLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKChmdW5jdGlvbihuKXtlLnB1c2gobil9KSksUyhlKX0sZi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiB0aGlzLmZvckVhY2goKGZ1bmN0aW9uKG4sdCl7ZS5wdXNoKFt0LG5dKX0pKSxTKGUpfSx0JiYoZi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mLnByb3RvdHlwZS5lbnRyaWVzKTt2YXIgYz1bIkRFTEVURSIsIkdFVCIsIkhFQUQiLCJPUFRJT05TIiwiUE9TVCIsIlBVVCJdO1IucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBSKHRoaXMse2JvZHk6dGhpcy5fYm9keUluaXR9KX0saC5jYWxsKFIucHJvdG90eXBlKSxoLmNhbGwoVS5wcm90b3R5cGUpLFUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBVKHRoaXMuX2JvZHlJbml0LHtzdGF0dXM6dGhpcy5zdGF0dXMsc3RhdHVzVGV4dDp0aGlzLnN0YXR1c1RleHQsaGVhZGVyczpuZXcgZih0aGlzLmhlYWRlcnMpLHVybDp0aGlzLnVybH0pfSxVLmVycm9yPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IFUobnVsbCx7c3RhdHVzOjAsc3RhdHVzVGV4dDoiIn0pO3JldHVybiBlLnR5cGU9ImVycm9yIixlfTt2YXIgbD1bMzAxLDMwMiwzMDMsMzA3LDMwOF07VS5yZWRpcmVjdD1mdW5jdGlvbihlLG4pe2lmKC0xPT09bC5pbmRleE9mKG4pKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHN0YXR1cyBjb2RlIik7cmV0dXJuIG5ldyBVKG51bGwse3N0YXR1czpuLGhlYWRlcnM6e2xvY2F0aW9uOmV9fSl9LGUuSGVhZGVycz1mLGUuUmVxdWVzdD1SLGUuUmVzcG9uc2U9VSxlLmZldGNoPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LG8pe3ZhciBpPW5ldyBSKGUsbiksYT1uZXcgWE1MSHR0cFJlcXVlc3Q7YS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZSxuLHI9e3N0YXR1czphLnN0YXR1cyxzdGF0dXNUZXh0OmEuc3RhdHVzVGV4dCxoZWFkZXJzOihlPWEuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCl8fCIiLG49bmV3IGYsZS5zcGxpdCgiXHJcbiIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PWUuc3BsaXQoIjoiKSxyPXQuc2hpZnQoKS50cmltKCk7aWYocil7dmFyIG89dC5qb2luKCI6IikudHJpbSgpO24uYXBwZW5kKHIsbyl9fSkpLG4pfTtyLnVybD0icmVzcG9uc2VVUkwiaW4gYT9hLnJlc3BvbnNlVVJMOnIuaGVhZGVycy5nZXQoIlgtUmVxdWVzdC1VUkwiKTt2YXIgbz0icmVzcG9uc2UiaW4gYT9hLnJlc3BvbnNlOmEucmVzcG9uc2VUZXh0O3QobmV3IFUobyxyKSl9LGEub25lcnJvcj1mdW5jdGlvbigpe28obmV3IFR5cGVFcnJvcigiTmV0d29yayByZXF1ZXN0IGZhaWxlZCIpKX0sYS5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXtvKG5ldyBUeXBlRXJyb3IoIk5ldHdvcmsgcmVxdWVzdCBmYWlsZWQiKSl9LGEub3BlbihpLm1ldGhvZCxpLnVybCwhMCksImluY2x1ZGUiPT09aS5jcmVkZW50aWFscyYmKGEud2l0aENyZWRlbnRpYWxzPSEwKSwicmVzcG9uc2VUeXBlImluIGEmJnImJihhLnJlc3BvbnNlVHlwZT0iYmxvYiIpLGkuaGVhZGVycy5mb3JFYWNoKChmdW5jdGlvbihlLG4pe2Euc2V0UmVxdWVzdEhlYWRlcihuLGUpfSkpLGEuc2VuZCh2b2lkIDA9PT1pLl9ib2R5SW5pdD9udWxsOmkuX2JvZHlJbml0KX0pKX0sZS5mZXRjaC5wb2x5ZmlsbD0hMH1mdW5jdGlvbiBIKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSYmKGU9U3RyaW5nKGUpKSwvW15hLXowLTlcLSMkJSYnKisuXF5fYHx+XS9pLnRlc3QoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBjaGFyYWN0ZXIgaW4gaGVhZGVyIGZpZWxkIG5hbWUiKTtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlJiYoZT1TdHJpbmcoZSkpLGV9ZnVuY3Rpb24gUyhlKXt2YXIgbj17bmV4dDpmdW5jdGlvbigpe3ZhciBuPWUuc2hpZnQoKTtyZXR1cm57ZG9uZTp2b2lkIDA9PT1uLHZhbHVlOm59fX07cmV0dXJuIHQmJihuW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gbn0pLG59ZnVuY3Rpb24gZihlKXt0aGlzLm1hcD17fSxlIGluc3RhbmNlb2YgZj9lLmZvckVhY2goKGZ1bmN0aW9uKGUsbil7dGhpcy5hcHBlbmQobixlKX0pLHRoaXMpOmUmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3RoaXMuYXBwZW5kKG4sZVtuXSl9KSx0aGlzKX1mdW5jdGlvbiBwKGUpe2lmKGUuYm9keVVzZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBUeXBlRXJyb3IoIkFscmVhZHkgcmVhZCIpKTtlLmJvZHlVc2VkPSEwfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLHQpe2Uub25sb2FkPWZ1bmN0aW9uKCl7bihlLnJlc3VsdCl9LGUub25lcnJvcj1mdW5jdGlvbigpe3QoZS5lcnJvcil9fSkpfWZ1bmN0aW9uIEEoZSl7dmFyIG49bmV3IEZpbGVSZWFkZXIsdD1DKG4pO3JldHVybiBuLnJlYWRBc0FycmF5QnVmZmVyKGUpLHR9ZnVuY3Rpb24gSShlKXtpZihlLnNsaWNlKXJldHVybiBlLnNsaWNlKDApO3ZhciBuPW5ldyBVaW50OEFycmF5KGUuYnl0ZUxlbmd0aCk7cmV0dXJuIG4uc2V0KG5ldyBVaW50OEFycmF5KGUpKSxuLmJ1ZmZlcn1mdW5jdGlvbiBoKCl7cmV0dXJuIHRoaXMuYm9keVVzZWQ9ITEsdGhpcy5faW5pdEJvZHk9ZnVuY3Rpb24oZSl7aWYodGhpcy5fYm9keUluaXQ9ZSxlKWlmKCJzdHJpbmciPT10eXBlb2YgZSl0aGlzLl9ib2R5VGV4dD1lO2Vsc2UgaWYociYmQmxvYi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKSl0aGlzLl9ib2R5QmxvYj1lO2Vsc2UgaWYobyYmRm9ybURhdGEucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSkpdGhpcy5fYm9keUZvcm1EYXRhPWU7ZWxzZSBpZihuJiZVUkxTZWFyY2hQYXJhbXMucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSkpdGhpcy5fYm9keVRleHQ9ZS50b1N0cmluZygpO2Vsc2UgaWYoaSYmciYmcyhlKSl0aGlzLl9ib2R5QXJyYXlCdWZmZXI9SShlLmJ1ZmZlciksdGhpcy5fYm9keUluaXQ9bmV3IEJsb2IoW3RoaXMuX2JvZHlBcnJheUJ1ZmZlcl0pO2Vsc2V7aWYoIWl8fCFBcnJheUJ1ZmZlci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKSYmIXUoZSkpdGhyb3cgbmV3IEVycm9yKCJ1bnN1cHBvcnRlZCBCb2R5SW5pdCB0eXBlIik7dGhpcy5fYm9keUFycmF5QnVmZmVyPUkoZSl9ZWxzZSB0aGlzLl9ib2R5VGV4dD0iIjt0aGlzLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKXx8KCJzdHJpbmciPT10eXBlb2YgZT90aGlzLmhlYWRlcnMuc2V0KCJjb250ZW50LXR5cGUiLCJ0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgiKTp0aGlzLl9ib2R5QmxvYiYmdGhpcy5fYm9keUJsb2IudHlwZT90aGlzLmhlYWRlcnMuc2V0KCJjb250ZW50LXR5cGUiLHRoaXMuX2JvZHlCbG9iLnR5cGUpOm4mJlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlKSYmdGhpcy5oZWFkZXJzLnNldCgiY29udGVudC10eXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9VVRGLTgiKSl9LHImJih0aGlzLmJsb2I9ZnVuY3Rpb24oKXt2YXIgZT1wKHRoaXMpO2lmKGUpcmV0dXJuIGU7aWYodGhpcy5fYm9keUJsb2IpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5QmxvYik7aWYodGhpcy5fYm9keUFycmF5QnVmZmVyKXJldHVybiBQcm9taXNlLnJlc29sdmUobmV3IEJsb2IoW3RoaXMuX2JvZHlBcnJheUJ1ZmZlcl0pKTtpZih0aGlzLl9ib2R5Rm9ybURhdGEpdGhyb3cgbmV3IEVycm9yKCJjb3VsZCBub3QgcmVhZCBGb3JtRGF0YSBib2R5IGFzIGJsb2IiKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFt0aGlzLl9ib2R5VGV4dF0pKX0sdGhpcy5hcnJheUJ1ZmZlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9ib2R5QXJyYXlCdWZmZXI/cCh0aGlzKXx8UHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlBcnJheUJ1ZmZlcik6dGhpcy5ibG9iKCkudGhlbihBKX0pLHRoaXMudGV4dD1mdW5jdGlvbigpe3ZhciBlLG4sdCxyPXAodGhpcyk7aWYocilyZXR1cm4gcjtpZih0aGlzLl9ib2R5QmxvYilyZXR1cm4gZT10aGlzLl9ib2R5QmxvYixuPW5ldyBGaWxlUmVhZGVyLHQ9QyhuKSxuLnJlYWRBc1RleHQoZSksdDtpZih0aGlzLl9ib2R5QXJyYXlCdWZmZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZShmdW5jdGlvbihlKXtmb3IodmFyIG49bmV3IFVpbnQ4QXJyYXkoZSksdD1uZXcgQXJyYXkobi5sZW5ndGgpLHI9MDtyPG4ubGVuZ3RoO3IrKyl0W3JdPVN0cmluZy5mcm9tQ2hhckNvZGUobltyXSk7cmV0dXJuIHQuam9pbigiIil9KHRoaXMuX2JvZHlBcnJheUJ1ZmZlcikpO2lmKHRoaXMuX2JvZHlGb3JtRGF0YSl0aHJvdyBuZXcgRXJyb3IoImNvdWxkIG5vdCByZWFkIEZvcm1EYXRhIGJvZHkgYXMgdGV4dCIpO3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fYm9keVRleHQpfSxvJiYodGhpcy5mb3JtRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRleHQoKS50aGVuKHYpfSksdGhpcy5qc29uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGV4dCgpLnRoZW4oSlNPTi5wYXJzZSl9LHRoaXN9ZnVuY3Rpb24gUihlLG4pe3ZhciB0LHIsbz0obj1ufHx7fSkuYm9keTtpZigic3RyaW5nIj09dHlwZW9mIGUpdGhpcy51cmw9ZTtlbHNle2lmKGUuYm9keVVzZWQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQWxyZWFkeSByZWFkIik7dGhpcy51cmw9ZS51cmwsdGhpcy5jcmVkZW50aWFscz1lLmNyZWRlbnRpYWxzLG4uaGVhZGVyc3x8KHRoaXMuaGVhZGVycz1uZXcgZihlLmhlYWRlcnMpKSx0aGlzLm1ldGhvZD1lLm1ldGhvZCx0aGlzLm1vZGU9ZS5tb2RlLG98fG51bGw9PWUuX2JvZHlJbml0fHwobz1lLl9ib2R5SW5pdCxlLmJvZHlVc2VkPSEwKX1pZih0aGlzLmNyZWRlbnRpYWxzPW4uY3JlZGVudGlhbHN8fHRoaXMuY3JlZGVudGlhbHN8fCJvbWl0Iiwhbi5oZWFkZXJzJiZ0aGlzLmhlYWRlcnN8fCh0aGlzLmhlYWRlcnM9bmV3IGYobi5oZWFkZXJzKSksdGhpcy5tZXRob2Q9KHQ9bi5tZXRob2R8fHRoaXMubWV0aG9kfHwiR0VUIixyPXQudG9VcHBlckNhc2UoKSxjLmluZGV4T2Yocik+LTE/cjp0KSx0aGlzLm1vZGU9bi5tb2RlfHx0aGlzLm1vZGV8fG51bGwsdGhpcy5yZWZlcnJlcj1udWxsLCgiR0VUIj09PXRoaXMubWV0aG9kfHwiSEVBRCI9PT10aGlzLm1ldGhvZCkmJm8pdGhyb3cgbmV3IFR5cGVFcnJvcigiQm9keSBub3QgYWxsb3dlZCBmb3IgR0VUIG9yIEhFQUQgcmVxdWVzdHMiKTt0aGlzLl9pbml0Qm9keShvKX1mdW5jdGlvbiB2KGUpe3ZhciBuPW5ldyBGb3JtRGF0YTtyZXR1cm4gZS50cmltKCkuc3BsaXQoIiYiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lLnNwbGl0KCI9Iikscj10LnNoaWZ0KCkucmVwbGFjZSgvXCsvZywiICIpLG89dC5qb2luKCI9IikucmVwbGFjZSgvXCsvZywiICIpO24uYXBwZW5kKGRlY29kZVVSSUNvbXBvbmVudChyKSxkZWNvZGVVUklDb21wb25lbnQobykpfX0pKSxufWZ1bmN0aW9uIFUoZSxuKXtufHwobj17fSksdGhpcy50eXBlPSJkZWZhdWx0Iix0aGlzLnN0YXR1cz0ic3RhdHVzImluIG4/bi5zdGF0dXM6MjAwLHRoaXMub2s9dGhpcy5zdGF0dXM+PTIwMCYmdGhpcy5zdGF0dXM8MzAwLHRoaXMuc3RhdHVzVGV4dD0ic3RhdHVzVGV4dCJpbiBuP24uc3RhdHVzVGV4dDoiT0siLHRoaXMuaGVhZGVycz1uZXcgZihuLmhlYWRlcnMpLHRoaXMudXJsPW4udXJsfHwiIix0aGlzLl9pbml0Qm9keShlKX19KCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpfX0saT17fTtmdW5jdGlvbiBhKGUpe3ZhciBuPWlbZV07aWYodm9pZCAwIT09bilyZXR1cm4gbi5leHBvcnRzO3ZhciB0PWlbZV09e2lkOmUsbG9hZGVkOiExLGV4cG9ydHM6e319O3JldHVybiBvW2VdLmNhbGwodC5leHBvcnRzLHQsdC5leHBvcnRzLGEpLHQubG9hZGVkPSEwLHQuZXhwb3J0c31hLm09byxhLmFtZEQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoImRlZmluZSBjYW5ub3QgYmUgdXNlZCBpbmRpcmVjdCIpfSxhLmFtZE89e30sYS5GPXt9LGEuRT1lPT57T2JqZWN0LmtleXMoYS5GKS5tYXAoKG49PnthLkZbbl0oZSl9KSl9LGEubj1lPT57dmFyIG49ZSYmZS5fX2VzTW9kdWxlPygpPT5lLmRlZmF1bHQ6KCk9PmU7cmV0dXJuIGEuZChuLHthOm59KSxufSxuPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18sYS50PWZ1bmN0aW9uKHQscil7aWYoMSZyJiYodD10aGlzKHQpKSw4JnIpcmV0dXJuIHQ7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZ0KXtpZig0JnImJnQuX19lc01vZHVsZSlyZXR1cm4gdDtpZigxNiZyJiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuKXJldHVybiB0fXZhciBvPU9iamVjdC5jcmVhdGUobnVsbCk7YS5yKG8pO3ZhciBpPXt9O2U9ZXx8W251bGwsbih7fSksbihbXSksbihuKV07Zm9yKHZhciBzPTImciYmdDsib2JqZWN0Ij09dHlwZW9mIHMmJiF+ZS5pbmRleE9mKHMpO3M9bihzKSlPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzKS5mb3JFYWNoKChlPT5pW2VdPSgpPT50W2VdKSk7cmV0dXJuIGkuZGVmYXVsdD0oKT0+dCxhLmQobyxpKSxvfSxhLmQ9KGUsbik9Pntmb3IodmFyIHQgaW4gbilhLm8obix0KSYmIWEubyhlLHQpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOiEwLGdldDpuW3RdfSl9LGEuZj17fSxhLmU9ZT0+UHJvbWlzZS5hbGwoT2JqZWN0LmtleXMoYS5mKS5yZWR1Y2UoKChuLHQpPT4oYS5mW3RdKGUsbiksbikpLFtdKSksYS51PWU9PiJvd2EuIisoezEyNTY6IlJlYWRpbmdQYW5lQ29udmVyc2F0aW9uIiwxMzU4OiJPd2FEYXRhV29ya2VyIiwxNTYwOiJTY2hlZHVsaW5nQXNzaXN0YW50IiwxNjUwOiJNYWlsUmliYm9uIiwxNjk3OiJNYWlsQm9vdCIsMzkxODoidmVuLmdyYXBocWwiLDU1Mjc6Ik93YUFwb2xsb0V4ZWN1dGUiLDU1NDk6IkRldlRvb2xzIiw2NjMxOiJJdGVtUm93c1dlYiIsNjY5OToiVG9kb0xpc3QiLDY3NDA6IkNhbGVuZGFyRXZlbnROb3RpZmljYXRpb25zSWRiIiw5ODE4OiJTdWJzY3JpYmVUb1Jvd05vdGlmaWNhdGlvbnNXZWIiLDEwMTI0OiJTdWJzY3JpYmVUb0dyb3VwRm9sZGVySGllcmFyY2h5Tm90aWZpY2F0aW9uV2ViIiwxMTI4MzoiQWNjb3VudHMiLDExNTE2OiJNYWlsUm91dGVzIiwxMTc0MToiTm90aWZpY2F0aW9uIiwxMjM1MDoiRm9sZGVyV2ViIiwxMzg1MzoiQ2FsZW5kYXJQZWVrIiwxNDI0MDoiQ2FsZW5kYXJEZWVwQm9vdCIsMTQyODQ6IlNoYXJlZEJvb3QiLDE0MzIwOiJDaGFuZ2VNb2R1bGUiLDE0NDUyOiJSZWFkaW5nUGFuZVByaW50IiwxNDU1NjoiQXBwQmFyQ29udHJvbFF1ZXJ5V2ViIiwxNDkyMjoiUGVyc29uYVByZXNlbmNlQmFkZ2UiLDE1NDAxOiJQZW9wbGVGdW5jdGlvbmFsQm9vdCIsMTYzMTI6IkNhbGVuZGFyQ2xvdWRTZXR0aW5ncyIsMTY0NTg6IlBvcG91dCIsMTY2MDc6Ik93YURhdGFXb3JrZXJDbGllbnQiLDE2NzgwOiJDYWxlbmRhclJpYmJvbiIsMTcwMzM6Ikl0ZW1Sb3dzSWRiIiwxNzM1MjoiQ2FsZW5kYXJCb290IiwxODE0NToiQ2FsZW5kYXJDb21tYW5kaW5nT3JjaGVzdHJhdGlvbiIsMTg5MTA6IlBsYWNlc0Jvb3QiLDE4OTEyOiJjYWxlbmRhckV2ZW50c1F1ZXJ5SWRiIiwyMDAyMToiVGltZVBhbmVsIiwyMDczMzoiRmlsZXNCb290IiwyMTAzMToiT1dBT2ZmaWNlQnJhbmRJY29ucyIsMjI1NDI6IlRpbWVQYW5lbEV2ZW50RGV0YWlscyIsMjMzNjU6IkNhbGVuZGFyQm9vdHN0cmFwVXRpbHMiLDIzNzYxOiJPd2FBcHBCYXJUeXBlUG9saWNpZXMiLDI0NzcyOiJBZGRDYWxlbmRhcnNQYW5lIiwyNTA5NDoicGRmanNXb3JrZXIiLDI1MjU4OiJDYWxlbmRhclJlYWRpbmdQYW5lIiwyNTQxODoiQ2FsZW5kYXJHcm91cHNRdWVyeVdlYiIsMjU0MzM6Ik1haWxDb21wb3NlIiwyNTY3MToidmVuLmV4dGZyYW1ld29yayIsMjc5MjU6IkFwcEhvc3RGdW5jdGlvbmFsQm9vdCIsMjc5ODA6IkNoYXJtc0NhdGFsb2ciLDI4MjcxOiJMb2NhdGlvbkNhcmRPcHgiLDI4NTQ0OiJHcm91cHNSaWJib24iLDI5MjQ2OiJDYWxlbmRhck1vZHVsZU9yY2hlc3RyYXRpb24iLDMwOTkzOiJDYWxlbmRhckV2ZW50UXVlcnlXZWIiLDMxNjAyOiJjYWxlbmRhckV2ZW50UXVlcnlJZGIiLDMxOTUwOiJNYWlsQ29tcG9zZVJpYmJvbiIsMzI1NTc6InZlbi5mbHVlbnRJY29ucyIsMzQwMTc6IkNvbnZlcnNhdGlvblJvd3NJZGIiLDM0MTg4OiJxdWVyeUl0ZW1zV2ViIiwzNDkwMjoiQ2FsZW5kYXJJdGVtUGVlayIsMzY4MTI6IkFwcEhvc3RCb290IiwzODA2MjoiQ2FsZW5kYXJTdXJmYWNlSXRlbUNvbnRleHRNZW51cyIsMzg5NjQ6IlRpbWVQYW5lbENhbGVuZGFyIiwzOTAxMzoiVG9kb0NvbnRleHRNZW51Iiw0Mjk1NDoiUG9zdFNoYXJlZEJvb3QiLDQzMzUzOiJMb2NhdGlvbkNhcmQiLDQzNjk3OiJDb252ZXJzYXRpb25Ob2Rlc1dlYlJlc29sdmVyIiw0NDYwNDoiTWFpbENvbXBvc2VBY3Rpb25zIiw0NzAxNToiSXRlbXNJZGIiLDQ4MjQxOiJSb3dOb3RpZmljYXRpb25zSWRiIiw0OTA2MjoiT2ZmbGluZVN5bmNNYW5hZ2VyIiw1MDg2MDoiQW5hbHl0aWNzIiw1MTE5NDoiQ2FsZW5kYXJRdWlja0NvbXBvc2UiLDUxOTUwOiJGdWxsQ29tcG9zZVJpYmJvbiIsNTIyOTU6Ik1zYWxBdXRoIiw1MjYzNzoidmVuLmZsdWVudCIsNTMwNTg6Ikl0ZW1JZGIiLDU0NzIyOiJSZWFkaW5nUGFuZVJpYmJvbiIsNTQ3NTM6Ik1haWxMaXN0SXRlbVNpbmdsZUxpbmVWaWV3Iiw1NTY4MzoiQ2FsZW5kYXJNb2R1bGVTdGl0Y2hlcyIsNTY1NjE6Ik93YU0zNjVBY3F1aXNpdGlvbnNDYWNoZSIsNTY3NjY6IkZvbGRlckhpZXJhcmNoeVdlYiIsNTcwMTg6Ik1haWxTdG9yZUFjdGlvbnMiLDU4ZTM6Ikdyb3Vwc0Jvb3QiLDU4MTc1OiJPZmZsaW5lUmVzb2x2ZXJzIiw1ODcwNzoiQ29udmVyc2F0aW9uUm93c1dlYiIsNjAwNjc6IkNhbGVuZGFyQm9va2luZ3NTbG90cyIsNjA3NjM6IkNhbGVuZGFyQ2FyZCIsNjEwNDU6IkNvbnZlcnNhdGlvbk5vZGVzSWRiIiw2MTEyNjoicXVlcnlJdGVtV2ViIiw2MjI2MToiUmVsYXRlZENvbnRlbnQiLDYzODg5OiJQcmVzZW5jZVF1ZXJ5V2ViIiw2Mzk3MToiQ2FsZW5kYXJJdGVtQ29udGV4dE1lbnUiLDY0NTY3OiJDYWxlbmRhckZ1bmN0aW9uYWxCb290Iiw2NjMyNDoiT3dhQXBwQmFyQm9vdHN0cmFwIiw2NzA0NjoiQ2FsZW5kYXJSZWFkRm9ybUxpZmVjeWNsZSIsNjkzODU6Ik1haWxDb21tYW5kQWN0aW9ucyIsNjk0MTM6IlRpbWVQYW5lbENvbXBvc2UiLDcxMDQ2OiJDYWxlbmRhckJvYXJkUXVpY2tTd2l0Y2hlciIsNzE3MjM6IkFkZGlucyIsNzI0NTI6IkNvbnZlcnNhdGlvbklkYiIsNzQzMDE6IlJlYWRpbmdQYW5lIiw3NjExMjoiQ2FsZW5kYXJCb2FyZENvbnRleHRNZW51Iiw3NzMzMjoiVG9rZW5Qcm92aWRlckFzeW5jIiw3ODAwMToiUmVsYXRlZENvbnRlbnRJbnNpZ2h0c09weCIsNzkwMDk6IlJlYWRpbmdQYW5lSXRlbSIsNzk0MzA6IlN1YnNjcmliZVRvTm90aWZpY2F0aW9uQ2hhbm5lbFJlYWR5U3Vic2NyaXB0aW9uV2ViIiw3OTQ5MjoiQ2FsZW5kYXJHcm91cHNRdWVyeUlkYiIsODIzNzU6IkxvdHRpZUFuaW1hdGlvbiIsODI2MzA6IkNhbGVuZGFyQ29tcG9zZUZvcm1MaWZlY3ljbGUiLDgzOTUzOiJSb29tU2VsZWN0b3IiLDg0OTM4OiJDYWxlbmRhckJvYXJkIiw4NTgxNDoiQ2FsZW5kYXJFdmVudHNRdWVyeVdlYiIsODU4Mjk6Ik1haWxGdW5jdGlvbmFsQm9vdCIsODY2NzU6Ik9mZmxpbmVUaW1lWm9uZXMiLDg4MDc5OiJTaGFyZWRPcHhGdW5jdGlvbmFsQm9vdCIsODgxNzM6IkNhbGVuZGFyRm9ybXNQZXJmIiw4ODM0MDoiQ2FsZW5kYXJCb2FyZENhbnZhcyIsOTAwNDE6IkFwcFJpYmJvbiIsOTAzOTc6IlBlb3BsZUJvb3QiLDkxMzA2OiJDYWxlbmRhckZ1bGxDb21wb3NlIiw5MjI2MToiQ2FsZW5kYXJCb2FyZEFzc2V0cyIsOTQxODM6IkhpZXJhcmNoeU5vdGlmaWNhdGlvbnNXZWIiLDk0Mjc5OiJSZXNvbHZlcnNXZWIiLDk0NTI0OiJNYWlsTGlzdEl0ZW1Db250ZXh0TWVudSIsOTQ4OTQ6IkZvbGRlckhpZXJhcmNoeUlkYiIsOTUwNDE6IkNhbGVuZGFyRXZlbnROb3RpZmljYXRpb25zV2ViIiw5NTE2MDoiT3dhTm92YUNhY2hlIiw5NTg3NToiTWFpbERlZXBCb290Iiw5NjMzNDoicGFyc2VSZXNvbHZlSW5mbyIsOTcwODM6IlR4cCIsOTc4MDA6Ik1haWxMaXN0SXRlbVRocmVlQ29sdW1uVmlldyIsOTkzNjI6Ik9mZmxpbmVTZXNzaW9uRGF0YSJ9W2VdfHxlKSsiLmpzIixhLm1pbmlDc3NGPWU9PiJvd2EuIisoezEyNTY6IlJlYWRpbmdQYW5lQ29udmVyc2F0aW9uIiwxNTYwOiJTY2hlZHVsaW5nQXNzaXN0YW50IiwxNjUwOiJNYWlsUmliYm9uIiwxNjk3OiJNYWlsQm9vdCIsNjY5OToiVG9kb0xpc3QiLDExMjgzOiJBY2NvdW50cyIsMTM4NTM6IkNhbGVuZGFyUGVlayIsMTQyNDA6IkNhbGVuZGFyRGVlcEJvb3QiLDE0Mjg0OiJTaGFyZWRCb290IiwxNDQ1MjoiUmVhZGluZ1BhbmVQcmludCIsMTQ5MjI6IlBlcnNvbmFQcmVzZW5jZUJhZGdlIiwxNjc4MDoiQ2FsZW5kYXJSaWJib24iLDE3MzUyOiJDYWxlbmRhckJvb3QiLDE4MTQ1OiJDYWxlbmRhckNvbW1hbmRpbmdPcmNoZXN0cmF0aW9uIiwxODkxMDoiUGxhY2VzQm9vdCIsMjAwMjE6IlRpbWVQYW5lbCIsMjA3MzM6IkZpbGVzQm9vdCIsMjI1NDI6IlRpbWVQYW5lbEV2ZW50RGV0YWlscyIsMjQ3NzI6IkFkZENhbGVuZGFyc1BhbmUiLDI1MjU4OiJDYWxlbmRhclJlYWRpbmdQYW5lIiwyNTQzMzoiTWFpbENvbXBvc2UiLDI4MjcxOiJMb2NhdGlvbkNhcmRPcHgiLDI4NTQ0OiJHcm91cHNSaWJib24iLDI5MjQ2OiJDYWxlbmRhck1vZHVsZU9yY2hlc3RyYXRpb24iLDMxOTUwOiJNYWlsQ29tcG9zZVJpYmJvbiIsMzQ5MDI6IkNhbGVuZGFySXRlbVBlZWsiLDM2ODEyOiJBcHBIb3N0Qm9vdCIsMzg5NjQ6IlRpbWVQYW5lbENhbGVuZGFyIiwzOTAxMzoiVG9kb0NvbnRleHRNZW51Iiw0MzM1MzoiTG9jYXRpb25DYXJkIiw0NDYwNDoiTWFpbENvbXBvc2VBY3Rpb25zIiw1MTE5NDoiQ2FsZW5kYXJRdWlja0NvbXBvc2UiLDUxOTUwOiJGdWxsQ29tcG9zZVJpYmJvbiIsNTQ3MjI6IlJlYWRpbmdQYW5lUmliYm9uIiw1NDc1MzoiTWFpbExpc3RJdGVtU2luZ2xlTGluZVZpZXciLDU1NjgzOiJDYWxlbmRhck1vZHVsZVN0aXRjaGVzIiw1OGUzOiJHcm91cHNCb290Iiw2MDA2NzoiQ2FsZW5kYXJCb29raW5nc1Nsb3RzIiw2MDc2MzoiQ2FsZW5kYXJDYXJkIiw2MjI2MToiUmVsYXRlZENvbnRlbnQiLDYzOTcxOiJDYWxlbmRhckl0ZW1Db250ZXh0TWVudSIsNjcwNDY6IkNhbGVuZGFyUmVhZEZvcm1MaWZlY3ljbGUiLDY5Mzg1OiJNYWlsQ29tbWFuZEFjdGlvbnMiLDcxMDQ2OiJDYWxlbmRhckJvYXJkUXVpY2tTd2l0Y2hlciIsNzE3MjM6IkFkZGlucyIsNzQzMDE6IlJlYWRpbmdQYW5lIiw3NjExMjoiQ2FsZW5kYXJCb2FyZENvbnRleHRNZW51Iiw3ODAwMToiUmVsYXRlZENvbnRlbnRJbnNpZ2h0c09weCIsNzkwMDk6IlJlYWRpbmdQYW5lSXRlbSIsODI2MzA6IkNhbGVuZGFyQ29tcG9zZUZvcm1MaWZlY3ljbGUiLDgzOTUzOiJSb29tU2VsZWN0b3IiLDg0OTM4OiJDYWxlbmRhckJvYXJkIiw4NTgyOToiTWFpbEZ1bmN0aW9uYWxCb290Iiw4ODM0MDoiQ2FsZW5kYXJCb2FyZENhbnZhcyIsOTAwNDE6IkFwcFJpYmJvbiIsOTAzOTc6IlBlb3BsZUJvb3QiLDkxMzA2OiJDYWxlbmRhckZ1bGxDb21wb3NlIiw5MjI2MToiQ2FsZW5kYXJCb2FyZEFzc2V0cyIsOTQ1MjQ6Ik1haWxMaXN0SXRlbUNvbnRleHRNZW51Iiw5NTg3NToiTWFpbERlZXBCb290Iiw5NzA4MzoiVHhwIiw5NzgwMDoiTWFpbExpc3RJdGVtVGhyZWVDb2x1bW5WaWV3In1bZV18fGUpKyIuY3NzIixhLmc9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxhLmhtZD1lPT4oKGU9T2JqZWN0LmNyZWF0ZShlKSkuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiZXhwb3J0cyIse2VudW1lcmFibGU6ITAsc2V0OigpPT57dGhyb3cgbmV3IEVycm9yKCJFUyBNb2R1bGVzIG1heSBub3QgYXNzaWduIG1vZHVsZS5leHBvcnRzIG9yIGV4cG9ydHMuKiwgVXNlIEVTTSBleHBvcnQgc3ludGF4LCBpbnN0ZWFkOiAiK2UuaWQpfX0pLGUpLGEubz0oZSxuKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbiksdD17fSxyPSJPd2EuW25hbWVdOiIsYS5sPShlLG4sbyxpKT0+e2lmKHRbZV0pdFtlXS5wdXNoKG4pO2Vsc2V7dmFyIHMsdTtpZih2b2lkIDAhPT1vKWZvcih2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksbD0wO2w8Yy5sZW5ndGg7bCsrKXt2YXIgSD1jW2xdO2lmKEguZ2V0QXR0cmlidXRlKCJzcmMiKT09ZXx8SC5nZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIpPT1yK28pe3M9SDticmVha319c3x8KHU9ITAsKHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLmNoYXJzZXQ9InV0Zi04IixzLnRpbWVvdXQ9MTIwLGEubmMmJnMuc2V0QXR0cmlidXRlKCJub25jZSIsYS5uYykscy5zZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIscitvKSxzLnNyYz1lLDAhPT1zLnNyYy5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKHMuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLHMuaW50ZWdyaXR5PWEuc3JpSGFzaGVzW2ldLHMuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLHRbZV09W25dO3ZhciBkPShuLHIpPT57cy5vbmVycm9yPXMub25sb2FkPW51bGwsY2xlYXJUaW1lb3V0KFMpO3ZhciBvPXRbZV07aWYoZGVsZXRlIHRbZV0scy5wYXJlbnROb2RlJiZzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocyksbyYmby5mb3JFYWNoKChlPT5lKHIpKSksbilyZXR1cm4gbihyKX0sUz1zZXRUaW1lb3V0KGQuYmluZChudWxsLHZvaWQgMCx7dHlwZToidGltZW91dCIsdGFyZ2V0OnN9KSwxMmU0KTtzLm9uZXJyb3I9ZC5iaW5kKG51bGwscy5vbmVycm9yKSxzLm9ubG9hZD1kLmJpbmQobnVsbCxzLm9ubG9hZCksdSYmZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKX19LGEucj1lPT57InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZToiTW9kdWxlIn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sYS5ubWQ9ZT0+KGUucGF0aHM9W10sZS5jaGlsZHJlbnx8KGUuY2hpbGRyZW49W10pLGUpLGEucD0iLy9yZXMuY2RuLm9mZmljZS5uZXQvb3dhbWFpbC8yMDIyMTEyNDAwNy4wOC9zY3JpcHRzIixhLnNyaUhhc2hlcz17MTgyOiJzaGEzODQtaFlrSXVmMUovRFlxekx5MWZlL0RaajNtNnBXLzNaQkZtMHhlc3RDQi9jelg4S1VFNUg0RUszYm9IZDk4c2NoUCIsMzIzOiJzaGEzODQtNHpDbWVjM1dQbWEyY1FwL3dPbFkxMVBvd0FHQXRTZ24zYndrdWZzV2hrbnNCa2ZGLytMYVNBMDQxK1RPTG83MiIsMzczOiJzaGEzODQtck9aa1F3N1BwZ1VxbmloRTYwQlJkZkN4eXd0UGN6TjJORUZYRlNSMXN3RWtvNkw3YkJlYzB4aXRkWVdRT1h2RiIsNDIyOiJzaGEzODQtRS9zSElPK2VvNVFHend1alAvM0pYQzN5UUZwYVhYYnV4VUVLd3h0NXB5SXdNTHRPcnlCS3F1RWgvWFE5TTc2ZCIsNTQ1OiJzaGEzODQtZlJFZU5oUmxzM1dTYnFPcHpJMDMzWmUvS2wxM0ZrYVhzNWQvZ1dENWVOTnA3dHV2NHBSMVBmeWJFZ1RzQyttWCIsNjk3OiJzaGEzODQtYzh3a2NtSVVGSHVsMWRMMHRmaERueUVmRS9xOW9YV3FVUHVaZ2VWQTU1b1NPUFNzWUI4Q1NsSlJlcHFVY0xjNyIsNzE1OiJzaGEzODQtQzZtZS9wSlpibGZwOWxpZkdwRm50Uy9LeGJ0NzJER0s1MC80c3U1KzhjdW4rSGtRK0dPbDJyWnlhNVJNbWQ5SiIsNzE5OiJzaGEzODQtSFZ1a2Z1S0tJZjhpZGJ5dFduQmE2L3VtY1hNa0x1NytKVGYvbXArSDAwdGVvZDkzeG9uUllNeHQ0MHpucjBkKyIsNzc2OiJzaGEzODQtMk9hb3J0NnB2eGdtOXRUWXRFUGplMXJ5WldXRU9laXBsRlpuTHRsbktMS0pZbmpjZE1Ld1MrckprK0FJUmZMaiIsODgzOiJzaGEzODQteFRxVHY3OWY1ZHRUY1BWSThGV09jb1hFMjBHSE05ZDBtcXEybyswL000UG9XYzI4bTcyekxTbngvZEVwdmVVLyIsOTIwOiJzaGEzODQtTU9XdkoyanBwMUs1ais2dUl6WDFoYy8yQk4wcnNhNmR4S0NTNVBnMW91cENuc2FFUkJvRERJWXE0SVNVTGwyNCIsOTUzOiJzaGEzODQtaHhJbk1xbzNXY0swanVYV2RlQW5NbVRiYnBCdklDVjE3alc0UEZ0dU1JNFlzekRadmxwanc1YlRzcHRUSXVUNSIsOTYyOiJzaGEzODQtMmkzeVFOZ1Qxeml5V1BuaDYrMWlXcGpsQVd3cjIxS0xvd2dSV0NSeFphUW1xdjJTbW52dCt5azdOSys5MTdUUyIsOTg1OiJzaGEzODQtRTljNTNCUFIxYmpKL0ZpKzQ0a0pmU1lTcTNPc205UGJiVlU0eDVzeDk4SkIydEUxY0l5a2t0QzlRdDZPdW5lTiIsMTI1Njoic2hhMzg0LUNucEsyZ3pFdzZoaDAzVVhPenVKVWtpWTlJTkx4SUFUU2pLQ3FnRC9aUEI5WUlOeVQwM3MvVFZaL09jY0RCcTQiLDEzNTg6InNoYTM4NC1rS3RXSWQ2L3dSdVlHUXk3TzQwMmJPcXFlZ0c0VTMxWTQwd05BeVRtdDN1TDJ3UUVIMVdtSDNmVUxFcXRkeitjIiwxMzg4OiJzaGEzODQtVE0yOFpYem5OQnVaQXdqMVF0KzNhUkVPUGRUL0JOWjRuV2RlVEh0dlFYRVZUMGxhOVdxdzlwRTcycnpWZndOWiIsMTQ5OToic2hhMzg0LStFSUhnaVhyTEx1clZlaTU5ZGhiRFNtU2sycHFrVlRielFYTjF3c1F3OVlQNnFaM3dPM1ZXOXJoZFQzWWZPd2YiLDE1MzQ6InNoYTM4NC1QN053M2ErWGhDQ1NrbmtwY1oyOGhpMC80MnpTV09WcHVMRHVwUS8zRlhhNFVzUUlLQ2N5S2hiVGh5RUZuOFhBIiwxNTYwOiJzaGEzODQtRytia3NuWGgxTW5ZSkQ4THdWU3p0MktLZ1BrNElsdW0wSUdza0tHODR3MHUrL1V0dG5paGFTQlplaUg4VEtkZCIsMTU4MDoic2hhMzg0LXdqUENpRWJRcVBOeHdHazZhbWJpNzRPYzFiNjFyUWxUamxQTmxmSno4bFpUTjB5cFJUQ21lUXM2ZHFDbGV1YUQiLDE2NTA6InNoYTM4NC1JQXM1ejAzdnVFclZ3TXBSTk82VnE0Nld2MFJmKzFJZUU1blhlamdXcFZjMUJWSDNsdmVmblJRbnYxbUg3YWF2IiwxNjkxOiJzaGEzODQtUFlCYjllOVd2UW9YYXF5MWV0TER2MWh2WE1COVNSdjJ1UW5TcUtONWlaVFAvWkxjb0xrclNqRGdNaUpxZWF0bSIsMTY5Nzoic2hhMzg0LTVQRStNWi9jOU1WTU02NkJQR1gyYlBPdFc0OHdEN0F6NnF6a3VWd3dHV2FkcFNhQkZkdkxXcFowQWdGK3N5cDMiLDE3OTk6InNoYTM4NC0yWndaZUVVVCszZEJFbFIydnRBeFkwK3Q0YXh5UjNOcGozVFl3WTl0Q09mdUVIVXJFOC9oMjVhU1dFTlVvb2NSIiwxODYzOiJzaGEzODQtYit1bzQzVmNFakVnekI4UW84d1JTdC8yODFLZWZDbVk5TTJoSGlPb2llUGdNTVcweVJra3dhVW4wRGc1NytXSCIsMjA0Mzoic2hhMzg0LXNCcDFZcDlqd3Avam4yYjlwNnF6Q0NQc2FEUmxIUm0vcks4T0VTWE5EM0d2ZXlNWEJNZ21wYkxadTFyUzVhOC8iLDIxOTQ6InNoYTM4NC1OWE9tTmk5aFVvL214aEx1ZTlPY0ZVUGpSSC9peFBOWUppUHErUTZ1Q3BGb2dzQ0Z1RzI5OEM5OXEwcElSdHhyIiwyMjgzOiJzaGEzODQtSmtUVjMrR2pFTHpVcEpHMUJxeWZMbTFmVVFRRmRMdURhaWhCdlpMWFZaMEhZM1VQd0ZQeXhxUCtxWUk5aXkxRiIsMjM3OToic2hhMzg0LWJNMVNBZVh0eisrSFE5S2dsamt0N2E4ejJYSE5RMWtFV2tFSFdjN3IzT1FkTm9zQisrRmgyK0xqcklIUEgvbTAiLDI0Nzc6InNoYTM4NC1Ld3g4Skt6RDFvbDhpd2dLeUhOWW9vQ2pqMUcwNzJZZlZrTXR5d0haOFNOQkFTanJua3M5dCtjL2kyeDh2bjdzIiwyNDg2OiJzaGEzODQtd09UUWhPR0JHK2xPcDFKSWg1a29vaTNaWU5tWmYvYlQ1Tmx0c2JPNlFkeWZicmhzUnZrRUxsWk9yOWxHSzVhSSIsMjUxMzoic2hhMzg0LU8vWE0wY09jSVRwanZ4YnU0cXJRMlNjbEc0aElzaEJDN0hWOThzTEduOHllNDB2bEwzSHl2Zng2cmlxamQ3K0giLDI1ODk6InNoYTM4NC1iNkNBWWd2RFZFWHZwb0tXK1lTejJiWjJqTDhWZ1dEUmR0RHJHQmdmQ0RUNEdRVFFNaWRMMHRhT0hlRlZjNStsIiwyNjI0OiJzaGEzODQtWk9hcmFLQ3ZpVGxLc3FjRG5ReVNlNWJoR25DeE1MVFZQV1hHOTJBY1FRL3k5aEQ2bXAwQThBSTdxNVFrTHBJOCIsMjYzOToic2hhMzg0LUozTHVFVDNKa3UxQjlwOEViQWFoWEIxTjFaZnEzZ3lkZUU3ZkVzT0szSjYvazJleUxYeGVReTVJL2F2VmdyZXEiLDI2NzI6InNoYTM4NC1pTkdiekI1cnpFcDZYdDFjNU1qcVpwaDhsSDJESFZqVlpWQk4vOUl6N0IwdTJyUk5weWlhRnNBZWwreHgvbnp2IiwyODg2OiJzaGEzODQtZlRRZytqVk5iN2tkTmptcGlZbjQzeDFCV1E5NDRJaFFiQWdPZC9tRmt2MStvMFNPQ1hsU1JjVHFLdWJsWFlkcCIsMjk1NDoic2hhMzg0LXYwQkZWL3BMNk5CVExqRXB3eTY4U1R5WW4zS2hYanozOWFCRXlkQ0FRREprV0tKOGg4ZFg0ZWJWZUFWWmh0RDMiLDMwMDQ6InNoYTM4NC1kZFI4bkQ1MFg5MVIvZzFYSGpDVHdST3QvcFFXSFNNUDE5YXl0ckszNnFDc3NxY3Yza0liYS9MbC8rSnFhK05oIiwzMDg3OiJzaGEzODQtNk0wZ2ozOTVPYzBRNS9xK29iSDdqMHJjZVZsNzArWElEdC9FdXVHeGNzN2xXR3Vqc05OcDRFK0xWc2NnMllYViIsMzIyMzoic2hhMzg0LUFiaGwyeWlXZm1Ua3pTM1NPeHNoV2xxL1RFbjZCUm8xMFRUcHo2bE92cmR2QzFwOWZVM0ZGSlhSQUFPV0NkUWciLDMzNjA6InNoYTM4NC1mYUZQSk96b0NweWJacFhiYjhuYm9jYUdCZ3FzZDM2aDFiNVRnUXA5RWlXY1JYQjMrUFE4dVZnc2xsdEx1UTV2IiwzNTEyOiJzaGEzODQtaWFHbGwvNEZOdUZHYk9VRGtETVJqeWd5azdLcGQ5OXg2clg3TnlIUFRRNEpSVlN6RFlhRXFDMjRQb0wyNktWaSIsMzUxMzoic2hhMzg0LTNQUUF1bU5md2swTHBsMyt0R3AwbWsvTkM1bWk3dFBWeG51dkFGRnJHSUhWWnE3ZEFwdHlQY2tlQ0ljdy9LUkUiLDM1MzA6InNoYTM4NC02c3ptb0I4K0ZrOG5mNmNaNEtyWW1GU3Z2TDRtRkU2SmxaRGRmblZ1a0QwYVovTmxiRzVKSmQ1azFLb2E3SW5lIiwzNjIxOiJzaGEzODQtWVJKdVJlNWdPUXhNNDZSQUpiditKR01NL3V3a3A3VWhyZ2RxS0U2TVF4UmpWY0o5bzBMbFBqT1MxRnBoN3pPaSIsMzY3Nzoic2hhMzg0LW1aakcvbkZwc203UjhNalJaZ3dUekRweDRMaVVEUlZOa0NBc2xGSVRIMHllbU5XVEtVL2RFVFYrNGJEdU4yREgiLDM2Nzg6InNoYTM4NC1xV2xHcW9YUUZMVSs3bUZ1VzFuT3JiYkM0Nm96NUMxcndGQ0lhNzZOWFd6aGJ6QytCY2lxcWNmL0tiSHNKam5HIiwzODQ1OiJzaGEzODQtZTd1cXIwUmQ4V2dTem5aYW9ocnVmYytidXBYRzdON1VaZm1TbFl4QUdFdit3YUJncTRhYWhKM3pYSmFBa0J5cCIsMzg0Nzoic2hhMzg0LVltdG5wY2VQdGkyWmQ0bllNTERXejloeVF3NzBnR2Y4UTR4UVNkU0dVZjB6YU5FQUszZ2I4L3hXd1B0dFdXejgiLDM4OTQ6InNoYTM4NC1wTmova1ZHcFZtODdtbG1mN2pSVVRZNUNBU0hpSnJNT1pCd05xdGZ3Mll5bWlsZ2tycVJzT1NkTkZ3ODloUlM5IiwzOTE4OiJzaGEzODQtSXRTanpPYVorSDdrMU5OZ25IR1U0M05HNlBTTlFnaWcwQmJLNXdzbU5TUlJ3UTFOeEhuZ0x0MnBoOFNuWkVYOSIsNDAxOToic2hhMzg0LUNTUWRNYzZMWDIxd2JVVjNCU2JyWGl6RjFKV05vZ1RzMDhUemFxYUhZbU1YNlh1Um5FUmRrc2doUnVaSVdvRS8iLDQyNjU6InNoYTM4NC1ETXNKUkdwb2dSS0QxbnMzTmRwS2xMdUd1SGFZWC8zcGdOUWgwMDNOOE5jUktpTzVNRDJxYnFxWFpYL2hBVHNXIiw0NTQzOiJzaGEzODQtQk1uTU50Z2NwVHIwd1dmRXhzV2svd3A3VU5DZ2tYdFlRd283d2c2TE8wYkNFZXl1TGliMjdlRFpvN1hoTHg2dSIsNDU2OToic2hhMzg0LTBoSytPRXpZVTdsdWtBY3R0Z1lqUnN1YmsvUGxJaGsyYVJpNHErc0hWeGxZQWpmQ1VxVDJqZWFIQkNhS0FrL0IiLDQ2NzM6InNoYTM4NC05MGY1VUNCSU9aenNFUXVuNmdSalZmK2FzcExSSkJwREwvSGpNUnYweHE5MnY4RGt6ZkRyQUZ6Q0QxbjMvdWVkIiw0NzAwOiJzaGEzODQtSHZma3RFcWd0bGh0WjA4bDBCcENSY01YcjBYbHRqMlpacTlMSFZJd3ZBekp6RFNTSkFKMklZVE5Xb0kvVEY4SCIsNDg2OToic2hhMzg0LUNHT0NJcnVKSFZCVmNoUVpWbkVsL2VnVlN2TFRza3IxemNsRHdiU2JRT2YzTlJyUWZHOVdVc3duV29qaks4SisiLDQ4ODQ6InNoYTM4NC1lSDJWQklDcVVxVTRZMGdlbUkyR2tnR1NTNjBDQUFNZ1lrR1hLMEZPYjdOOTN1QTNoRHVDakRzM2FNbWdybEJLIiw1MDA2OiJzaGEzODQtSk9GalE3bkZ1M2NIVzBmMzVoWUxOQ1pOeU5qS2FsNTV6VTFsMW1ZdktXSDM1dlF1WGdTNlVJNUcwOTF0dnExbiIsNTAyNToic2hhMzg0LXcrVXNST0JVTmZiQzJGdFpiOWxCZVBuMXE0ZHJNL09ja3VxOVUrZGhaNVRiajdReGR6LzJWcXArTjg0VUZJRUUiLDUwNDM6InNoYTM4NC1JS1d2YTVsRC8ydCtpdGF6Y1NKa01ObDhvbkFBRUxEYkd0SFVCT3p0VjIwall5aVlyT0ZlWjhGRk51S3R2bFZCIiw1MTIxOiJzaGEzODQtdEh2c1lIQ2E0QU9RUU5YNnJGdWo0bGVkSGYxZjN4cWNsRnFCRUNvNE5DV29ZejI4ZVIycERHTk82MVpGdUlLeCIsNTIwNDoic2hhMzg0LW5jNmRwcHdneWhVYzE5N1V0T0VERVE4SjYzTUhFUjgxMjhUQk4rampNajEwaVhhRXlMb0IwUXFhZElyZ2RPZkIiLDUyNDA6InNoYTM4NC11a1h2VTNyRVh1MHV3dGZMN09YV1dqRlRTTHZ5WnMrcE9Ic3NoblRUb3RyUkxQZEt5VHBxRG9EWG5nNmJ0am50Iiw1Mjg2OiJzaGEzODQtb3NXK21uODFHVllMb2x1TW5qZDN2cWx0L01wVnRzNHN2RUdLOWNEN2I4S0pBL3IrK1g3YjNnM1VJczQ2eXF5RSIsNTQ0MToic2hhMzg0LS85eGo0RmZJa0lFUENnZmFDS1pyN0s2d1g4THh0Ymk1VmFhVzV5bjdsSUZHS0swMUd3WlJIQXdCeDVXSjF6cFQiLDU1MjY6InNoYTM4NC1CcnFQNjZrOUZ2Z2t2K2Jzak5NUDdTcG9SbWJJM08vN1d1Tjd2NkJtRlBUUzE4TFVrY25XbEFDL3hJQVZjMlhhIiw1NjE3OiJzaGEzODQtc2pOeWx4anpmL1EvOVZwdWU0SDdyK0tZeGc5Q21ESTZxRVloTzNuNnBxODhneHdpbk1KVGlFRkt0Ymw2dWRYVSIsNTY1ODoic2hhMzg0LTBTcWdTQWFzZ2lOaWJoUTN1NG1jREwwRVFlK3RGMHkybjRGYld0QUNXMGlJakhLVkFoQ2JCaGtWR1B3K2R2STMiLDU3MjY6InNoYTM4NC14LzhzL1NjNktGOW9tZjdnVDNKSm05YTg5ZjlWYy91MVJheXdrcWE4bHk5K3J2WmFwOWtEK1BqUkdDOE1UY0FRIiw1Nzc0OiJzaGEzODQtRkpvUnRoaEVLZ0YvU3hUcEkrV0FMeSswbThtSVltWk5FNHBYL0YxRmhnbWJjek9waXNsdWd5c3FBdThDMVFsNCIsNTg3MDoic2hhMzg0LXVUMGFPZXNPMWhoUmJGamx0YWQ3dDU0cmFCZmhLQ3ZnZ3ZiTWphUmdZT3o4WTBvTjBnZmM2aU81eDBVdVkxZmQiLDU5ODk6InNoYTM4NC1zMTVaUTl3UWQ3RzJxUGpnU0RFR1FVblhWQXArMWVlTjU4UmcyclZpZWdRYzRRMWE0Y0hlU0ZyVUNpV3V3cW1VIiw2MjAwOiJzaGEzODQtWmNMZ3B3bnlidnIwQVRGaHMzdkxEWGxxV1BvdThBNkJEcjNyNFV3M2xvaFNiQlFLSEhUd2Y5Q1Rqb1RpbTBoLyIsNjMxMzoic2hhMzg0LTVNU0RDT2ZBekw2MnBXR2RtcHB0aHJTN3RTQ1crV1kxbExZU2gyQkRBaEVyejFNa3pTTEpnZEZlZmw3OG9lZmgiLDYzNTg6InNoYTM4NC1WRUd3TWNCYXRQR2xFYzl6bjJBVGYvbVNydGQzZkFtRVBBZFpNWVM3eWpXYzZRNndyMkVhSW5oNWN4OXJ2cm1WIiw2NDUwOiJzaGEzODQtRnF1TGI1a2lyR2h3OHRvTEpsUDcyN0t6ejZhWklzRXhoNDN2L25tOW1VL1Jyc2RUL0hNbUg3cXJqaFhMcXZ0MCIsNjQ4MDoic2hhMzg0LWxvUEhYRUxMbHpKRkxmOTN6RUt5b2VJcXZHTElCNzNCNC81cGw0Nnh3cXd1WU5tUEdFNllaNFBHZ1duKytSTVUiLDY2OTk6InNoYTM4NC13bld3ZW53Q2pTKzZXWHdYTTJndDNtcHBHYzcvOVNicVV6TnNLeEl6ZnEzUzdHRjFhN0tWaEg5NGg1N0I4WE1ZIiw2NzAyOiJzaGEzODQtNDhHTHpQaDNCaFROZms4V1FHOWJCWW5lbG85WmorNkdFNi9nelBqb3JsRGYrSVFteTkwM3dSMjRRNlZRWGxqKyIsNjcxMjoic2hhMzg0LU9jOC9PQmYvM0FWa3htTnU5S0J0d05Tc2tYRmJZczYrSDZ2S0dSYU1ycTVMYnU5ZHVGVll2d3VETjJzei8zRTciLDY3NDA6InNoYTM4NC0yc3NMcC8wc3FxUDU2UUFyTytQdlROZ1MwekVmT1ZqN0hrS3o0TmpaR2xrUG94SnNpWmY3UlRIdXVEWFhaQzN1Iiw2NzgzOiJzaGEzODQtT2xsTU5RYXY5dm5RSW1LVmk1VUtyYi8xb3cwMFFPaUd1WnlLbC9FRWlWcHcraUw5YTNFSWh1VzlCb1hPbE15NCIsNjc4NDoic2hhMzg0LWUxd2lnL3dmMzlTTmplSUVhSEl5d2thVHhMQk9LWlZWTWw2N3ZvVW4zSUNkbzBnT0JSMVREay9qN1ZzMk40SE0iLDY4Mjc6InNoYTM4NC1FUzZsd2NuTU5vM3FCVHB0L0pGUlFHdVNWL3djeDV2ME5ieXRBTVZMMU9PNjA3RFVEQlp0anhGcUd6bjRiVTFhIiw2ODUzOiJzaGEzODQtZjB6UXJzMGRHcndnSHpmc1NLdVBiUFlsNDRRb3ArRnVHeXlLaVhFN1FwVnlPQ1JGTUNvMC90aUZFZlV0L2lTMyIsNjg5NDoic2hhMzg0LXhHWExxc3V3L2tJcmluclcwcjB4L2RMSk1MMkQ3c1luMkVOTHlIL3lqdXZtOG9icTU5anNMazNsQklKQ291aXEiLDY5NDE6InNoYTM4NC1HbER3QmJEcUsyQXcyYUhiam1id0haR2NFU2IzSHYyYWdSS1VXQmxNcDFmRnRiMFJoOEZpREhCL0xmbFRjSGYvIiw3MDM1OiJzaGEzODQtM2lFUWRwc01lcmFTN2kzVmNSYUN2SWVMM1ljeXhQa3BuK1doL1BuVk94Ti9BYWZERENlSVJNYjZ6cGZUU3RtdSIsNzA0Mzoic2hhMzg0LWc4Q2l6QWc4cHNiUmNtNHpFTmtYN21JNVlqYTBJQms4NUdhbDVrMWIwNEF2UjdoZnFvU0hyT05iRkMya0xOR2kiLDc0MDI6InNoYTM4NC1iZGdSMTc1ZDZRWlAwb0xweFBlUmJtc1o0cEROUEx4ZWJyUUFYTnlwL2VvVmJESWhVdXRuZlFnK2hBRkFqYnFCIiw3NjE4OiJzaGEzODQtaitDRHJaMlM0Si9kSmZuRHJPRU42ajl5UCtVVXM4aU5tVTROM1BINVg5aEFZUnhBZTNhenBoaE5OTExlQVhheiIsNzY1Mjoic2hhMzg0LVhGSGtZYmVkdmk2TlVUYzU3TWNzbWp2Qm9Fdzh2ZHplQ3lydGhwRUxTTHdaNDZ3akwvZmhvSkpxMzlpSkdFN1EiLDc4OTI6InNoYTM4NC1XeEVVbjhlWVdLOXVHQ2xPdkFKVG5EeVc3a0lHb3l0YUhOOS9hNzFFMGIvZFhVMXpHWStobmdkM2puM3V2SVQyIiw3OTU5OiJzaGEzODQta0pCT1hHQlZ0RDZIMTNJNkJqVy9ncm8wb2hVV3QzZE9nMjNKb0I5SEV6dVA2WUcxeHRNVGhpL3FSYUhET1VLUiIsODAwNToic2hhMzg0LXdzeGdxcnBsV1B1bFNCK2pTNVVhdkRyU01GMUZXNUZIWDdoN3pwdmNlRkdQOTFlTVZDVGROWkN2M2dHZTUxZ0giLDgwNjM6InNoYTM4NC1aQTQ3akdEWnp3c1hENzMwTGlvc242Q2EzTkhxYUdSZjdRbllCRkh5OXdSMlB2cWFRYTVEWFNTWTRYZXc3OXR0Iiw4MjA2OiJzaGEzODQtQ1NwNXFqaXNYNDVreUNMZFFlN3NSSFE3d2VHeUZuUjZPalkrSUJkdzM1QUVtM3F4Q2FpV0xEVmlzK2E1WlU1ViIsODIwNzoic2hhMzg0LXQ3Mk01KzNVVUx3Q1RXbWV4a0dBaGNnZTI2c25LbjJmVDFnMlNYWnZ5NS9MaXdDWHZ0Y2ZYY2V3SUdMZHNzTmgiLDgzNDc6InNoYTM4NC15UXNnbFpzMk9Mak1MZnJFaWFqdldydHBtU3JEbTN3alJ6UHdjSlVoMlNvY2RUWUdpRkV6UjBKMmxJc3JIQTR5Iiw4MzgxOiJzaGEzODQtUWZqYi9DU0w4NXUwWG5iS3d0enVoNnozUFR0d0NlUTUxdVluUFpUSDYraHYzOWg2M3pjcXFKQUdkRU5ybmQ2WSIsODYxNToic2hhMzg0LXQ1T1o4VWtzUis1Mlc1QVBUWGNSVUVxS2lZNzNQM1o2K2lRT2NWc0xPTVVDcU9qZGxnNHN4bXNMTWJuZjgzOWQiLDg5MTM6InNoYTM4NC00aTRRbnlUUitjL3g4YzgwSE1XZW5EK1M2ZTNJWXgyNUhzVE81NnBVblJVUzBIL0NsS1dnSkg3M0RPVmZWaWJrIiw5MjIyOiJzaGEzODQtb1dwVGRaK0tJSUhBR0NRM0prNW55OUh6VDhBajkwQlZ6aFNDbE5jVXNJWHNhM0VwdmVwaUVrRjlqdDFrQjVpViIsOTQxNDoic2hhMzg0LWFkYVFTU0ZzbHdXT0hxWnRWRlB4V1FuUEp3ZklNY2o0cHZLN0ZpU1hycEN2R01VWjhqNXd6VXdJY3pQSTYwSlAiLDk1NjM6InNoYTM4NC1EMnRrWkpJOEIxM1R0WWl0M2xQWUZpM09uUGMrYjBxU0RWR0NxUGtVcG81NERwMFBkdVAraTJMckNVNGJyT1lQIiw5NTk4OiJzaGEzODQtSE9kYkpPS25KdFFGQmFiTWdwOUtVL0xaZis2cEdQMFZGbFA1TTdyTVJlZC9GVGVSTjlud2dKdU90Q3M4QTQzZCIsOTYyMToic2hhMzg0LStXMEpLS1lNOGZLMVEyZE92cXhoSXVkVkhubjhrU0MwQ1lnbmFYanE3NzNWWlV2TjRIZW1mUmVDZU9FcWNTNSsiLDk2MjI6InNoYTM4NC1UWFB2cHpyTk1WSUtjQ1B4MjF5RERGNE9Id0QxeFh6TzlyQW9TK0YzNi9VSTVCdFY2RXFEN1krUVlhaVVyVldVIiw5NjI1OiJzaGEzODQta2tDbHBDMTZJV2o5eTdFaUM1aGFWcFNZbXk3Tm52K2lOTjE0NDhvNUFEZTN0K3F4aVdXdTdDTjdNMzBVRmUyOCIsOTY1MToic2hhMzg0LUxoR2NYZlVVc1pOcVJUVzFnckhlZjFSalU3cFZ6dG50T3dKczRkMWVRQWhoRXo5ZUNiRG1SQ3lSYmhUVUFmRm0iLDk3NTk6InNoYTM4NC1vNjdIQXdkOUlwTzMrekRkMllsdWpUd3RPOG54S2xoM2xWajVnVkpSbzNKYVduYnYxVWhrOUJUaUN5Zi8rVHh5Iiw5ODE4OiJzaGEzODQtbXg2ZjlyN002VEFMT1Y1UldobktWNW1FbDZGQW40eHBndkZGcXBtRENRYXorZmNvbzlFNGhScENXR3hDZGtjcyIsMTAwMDE6InNoYTM4NC01Z1g3NWJaWnVxWHZCMG5CQ0djV0RXcmtyb09VQ3V5elZOQkZvNDcyNHozSHc3NU5aMExFWDl2WCtqMjhlTGhhIiwxMDAxODoic2hhMzg0LWVucGhDcUZhem5YWW5qZHBrSHk5S1Y1UUl1YmdrMnc4ZnVlOUVSTC9hSi9FWms0OTE5UWMwREpwcWtxUFhNRVEiLDEwMDk5OiJzaGEzODQtcFdBaUp5aWszbEdNVFN3Z0ozVEh4dm05ZTlZVnJtaEZkWEFGSGJMcEljZHJsNVZpV3VFV2pxVHJUNkh3WjlOSSIsMTAxMjQ6InNoYTM4NC1xOFhZd3pOaVdDUEFKMEdkV1JNODJMaVVncVNqTU1wT1JrVDZlVnpDTVpVdVEwN1VqdVQvOW83aTkwdGlKaFJiIiwxMDE5MDoic2hhMzg0LXpkeW5aVVpPOTF4a2VaZ1dwY3VqZVBBUTJHRVdObFdNODhGTlM4a1BrdHVFa1ZXa1ZuRHBXMk5OS1VoSWxYTTciLDEwNTAxOiJzaGEzODQtWkpqL2gxd1YvWmZFbnQybU9IQ2VjWGpZNTRtbDRSU3F0RGFRVHNPNGVrd01GRVVqOUY2SFZ5WGhZSzdoYmFabiIsMTA2MTI6InNoYTM4NC1WcllwSW1jRFVzNUtSTUR4MjFOUmdlT1REK2k2ckdmS2pCaXdhcThmdk1MUVA4WSsvYmpJdmozQzA0N0lzZGc1IiwxMDc2NToic2hhMzg0LVovZTVSTzNPeG5IbkJXMVFPSG1EaUNoQ3I1eFV2V0Jub2gza3VTVHZnOHZCZlBDY2hndnRUR0xGSi9SaUQrNVciLDEwNzg4OiJzaGEzODQteGliSm5HWWJyUitUOE1ITEMwU1E2Q2s1bk5ZT2RjdityZFowQmxsZ3hXR3g0eWw1RkozNkdacW5CKy9NWXN1KyIsMTA4Mzc6InNoYTM4NC04akJPalpZUlg2TWdBRENBWlpTMGVGL1pZZG9qczhtc200RlMzVHlsakUyWU1zSlVwdkZWU3RrL0hOOTdDVkNIIiwxMDg3NDoic2hhMzg0LTVGSkd3RnFodkh5M29ybWxmN1B0KzhVRzZiSDVnc2RCUVBtUGRZelJIUFJjaURZSTVRcnJZb1ZWS2tFTTlBNnEiLDEwOTQxOiJzaGEzODQtTjM3V1VuT0tvbjE4bmdIWUsyNkRKb2Q2MHhDRXlxN2djL2pYSFdwRkl5RVMyREZDOXQzRytyQUJoNGl0M3dTdyIsMTA5NTc6InNoYTM4NC1QV3k1aUlObDh3NHA0dWo0b2d3MEtXUUlvR0c3OGJhWUxwM1JrZVdZZmFkYmZvdUk4bUhJWExUQW9Sa2xpOTNWIiwxMDk1ODoic2hhMzg0LVRMeVZEZGZhdmducmdHZkJtLzdkTEJVSUg3OVo1d0lObVNMK2U1ZDRjMTVabG1kdEpJdFF4OUt2NXpmRDNlWUciLDEwOTc4OiJzaGEzODQtckllREN1ZWk4Z2F4RW9OaWwvTHFJYzgxUmRaamRzbitsK2NGSldtVGt4TUdvTE9mTE1hUnFxb3FJUk8xRXFEayIsMTEwNTI6InNoYTM4NC1GNWhlaEFITUl2SUdadVJobHVIby82Qm16djJQcTFwVnhjd1VsK2VCRG9RQjNseWM4aHBIR3M2NWpuMzE3aVNBIiwxMTEwMjoic2hhMzg0LUxHZVQ2R0lqemdVMDY4aXkxeTJTQWU2ZGJraVVRbVl3d2gzZldjUjUzRjRyYlJlcG1XZjVWZERvdlRQODZ0QWwiLDExMTQ0OiJzaGEzODQtMjg0T3ROcXk3MjIwbzNvbHJmRXBwdWdkODNNTi9qNkJicGlUMTM1SEFtVWhGY3ptS2ROKzg5UG5lYnQrR1pzSyIsMTExNTQ6InNoYTM4NC1RY0ZaSzQ3SzdBWHJpS3phWVZGeDFGQ0VoNlZjZVVEMEt0R1R2ZzhKaVdSRmVLY2p2N1B4MENzOWo3amR1em9iIiwxMTI4Mzoic2hhMzg0LWlDYkI4WXp3WGRVSkhCQ2VUMWxQTjZHU0piU2NWdFpQT3Z1M29nRXp6UnZMZDk1K0Nvb09od2FsUFo4MTB5ejAiLDExNDQ5OiJzaGEzODQtUXdwU292TStDQ3F4amkvNFYyOHAyRGJvVmZOZExpOS9ZM2RRV2pqRGVXc0dHKzN2MHl1M3J4RVFrMkNvdzliaSIsMTE1MTY6InNoYTM4NC0xZWViZjVYd3AvWE1YOGJES0NHRVBPU0syMlFGSXNIVzFVN0V5WFkya3J0K3Q5UEZTckczbmU5d2Q3ZEo4OExMIiwxMTYxMDoic2hhMzg0LTlGanFqeVljeDN2alliUHRDTjA1cXNjQzRLa0htazZxb1JGOThOMmlIZW1TSFFuV0JHRTMxTUo3WTF1bFN5Y24iLDExNjc3OiJzaGEzODQtRHMvdXVwU293UDhjTUptcGtISU9pam1xZXNRaVNiQVZaZmlVRDQ0eGZPWjZhR3N4eDMwcE5GbmZTNnNNbFFYTyIsMTE3NDE6InNoYTM4NC0zTjVOTjQrWkV4dHdBWVdlbjNCY3poTnYyUmlOcWZNa3p1SDV5akw5VFh1NU44ZW0wV0dmMTRaMzd1b0RUVFZ3IiwxMTg0ODoic2hhMzg0LXBraTQ5cDdCTzNSbHdGL2xkR2NVVTQ2SmlBWDg3WEl4ci9tYTd1Rm1yN3hyODhoMW03YVdsZ2M2TGZFR0RZMUUiLDEyMzY0OiJzaGEzODQtVFVMdytMY0hZbjBKNHJuV1BKYitCQThuSnM5YlN5ck5rZ3lrMkpMblVLYWdYdzJLTDUybHVLL3FWT2ttcU00NCIsMTIzNjk6InNoYTM4NC0rQmxBNGh1OENIZ1ovcFJCSVJndTgwL3B1cjNEV005emdjSFpZdVI3MGlhb2ZnK0V1ZjRlaXRHYk9pdkVkeXdhIiwxMjQzNjoic2hhMzg0LVRtUmhzbmpjWC9aVWVvdnJmRlUyZlg2SWxDdC9hQWNQeE5VSnI1L2pmVTZvRHptNmRZUGszMlcxT2xjWWpsZWMiLDEyOTU4OiJzaGEzODQtcUNZWXplaU4rYXB3bktmb2Z0SmFZUVFMTjdNekNNb3FQODM4YlRBOTRhMnpnNTRLY0gwYmdiSVZlVU00UGM4RCIsMTMxNzA6InNoYTM4NC1LMWJ4aXlWbHpuMDAvMnpBdnE3Ky9Fbklya3NuTWtVOW1vY1lBR01SYjd4S1FsaWRJZXBmcVBvUWVpeStDNXB4IiwxMzE5ODoic2hhMzg0LXd0b1JvOTFBN0w5RERWZXorUG5WRm1QaHl4WmZBbzUzd3RZZWNjbTFqUmR1QlY0WVNMenVUL2RiaGJYUWk1RjUiLDEzMjMyOiJzaGEzODQtZ1VvQUpPSFhnREVucWFIRmNlYVJqVGtvZHVOSG40UlNvY2hHWGllUVkyMDFUMTJYQmI3Ymh1eDM3N2tmS2hqbiIsMTMyNjM6InNoYTM4NC1CcXhIWllMc0tYbTFzdVlRN3FMb1EvaWNjNEFkY3RJR3J4RVN3Y1J3ZjFVdzd4YVo1OWVXTUIyQjNKWG83VHVkIiwxMzI5Nzoic2hhMzg0LTMyeDBJcUxreEVEREcrSG1iUFcyMVF6S2VvNVVubG1JOHVRKzB5Rjc3SWdHajhqRXNNNzdKMHdMZ2lRUVVUM0ciLDEzMzgwOiJzaGEzODQteHJzTzZTWTJMRkhpd3Z4a1N2enFQWmUwYUtpbTV5a1ZsbmRVRWpWUzFNeEUxR01JMGdwYjBpLzczTHBwbzFGNCIsMTM0MDM6InNoYTM4NC1rVi95ODY5MHJzY3A5amRiUysvOUYvL21QcldrTFA2WEx0NWhFNGZQdU9TYzFaMmVUYVl0RlhkREdhRzF0em9LIiwxMzQyNzoic2hhMzg0LUh3Zi85dHlSVEIyRWFNNkJaMjQ5YWJ3VU1wZnk1ckZ3NkVKMFlHd0ZXdkp4OXpKdk5tWXRDYVhULzlRSFFCZkUiLDEzNjY5OiJzaGEzODQteFNWU2dhSWd0RmhIYzlueGUvb1JSMHQyMEVNUEZpU1VXV0RHUVNLYVlzc25LUnBYQU4xeEpOemlQaE5jNlVOQSIsMTM3NDk6InNoYTM4NC14c2lPM2JoZXhkaVU2eXFINitWQ2xmRkJJcjU5S3Jqc1hURVMyeXlmNlVOclBHRGJWRFV1MnROY1lkUTlSd012IiwxMzc3Mjoic2hhMzg0LTNBVG5MaHJkYkdNZFpHV21wR3REZmQ2TU5JMmNXd1lUMmVuU29BMWRxc3pUTlhtYkgxb3Rqc01TcHV4ZFAyN0wiLDEzNzgzOiJzaGEzODQteEMxeVFiYTZFQjY1b3RwZHZaa3hSemVxQ2NGRDFCSW5POS8zeTh5Szg3YzZ3YW5KQllTNHR0SDdwZFd6d2JrVSIsMTM4NTM6InNoYTM4NC1rMzZ1ei9aSThIWnowMHFDbDJwbW0vaEQrY1BXTVZybjU1VWQyenF0d1lZTXAzcms2cVV2N0x0UGdqQldROENhIiwxNDA0MToic2hhMzg0LVlaT0xoWjNOQlJBOHlOejdESG5YNGN3Umg2d0tIWjFiQ3k0Zmp3SW55bHQyNUhyRUtGT0ROL3Z1emlVRGtESzIiLDE0MDg0OiJzaGEzODQtakFZQnZXRDY0bVpQZUMrRE5peng0T3ljM29iUU1hRTBoc21nR0lsRXFJOU1WUFp3Nkh4dHRHaXFMUmUzeDBISCIsMTQyNDA6InNoYTM4NC13TGI1RVExQmsrTkdTWjFPYkR4S2dadUxkMlNFR2tON0grcmJmTjBackxuYmYrNExaK0VXdUszRGR2eU1hRGdlIiwxNDI4NDoic2hhMzg0LUdMNjJUbjZzazN2cmZhOWVZNGRnYXRnY3Qra2h1ZWZiS3JUVnh3bWRQSnFmRko1M0x0R2xhWm5abHc0ZmtJYkciLDE0Mjk3OiJzaGEzODQtQWVzNWJoRk93RDJwUHZ3UEtpVTVWQjRsMXR3VkdZUzNFNzZKOFYvWW5qNGpwaFJwNnoyWUxEZ0FTazFPUU9udiIsMTQzMjA6InNoYTM4NC1IekJPL1NLTjV6TlRUbGErTXhKZXBLOEh6Tzgzb2NlUURvdDFUeFNYZlVmTFlnQnk1VlZyUExYd3FNUHN3d0tIIiwxNDM0MToic2hhMzg0LXBaYlc4anJOek1MQkZDbVFLMUd3bTBFME1XNWlJRzhuQ0VkL05xcTJYSlRPZHNzRE42ZWVqS3piNk5kdWJCOU4iLDE0NDE0OiJzaGEzODQtUzFYaCt0QS94SWE2WmtuUUxYc3RMVHM3R0hWRXRmVnFES2I3LzBvMERaWUhaYnBWUGViNFI2SlY2ZTUzOW9IZiIsMTQ0NTI6InNoYTM4NC12ZGZ6YllyZzZrL3BNQmswdjJmb243OHRxWWl4T2twTzFFbE5vODFLUzVINTlPbERUTUMrbFFVaE1aQ05ENkt1IiwxNDU1Njoic2hhMzg0LWZHOHNyV0JtQ05kMDBDak9iWitkMEIzWDBwcnFaR0xpdlNaR1Q2S0U0R1czQ2R5UEFMb2dIMWpDb2Y0a3FrY00iLDE0NTYwOiJzaGEzODQtbGJzcGQ0clErem9MeUtxdFhtT3JMT2llVTkrekY1RmE1cDNxd0ZFc1dJTVNXV1hPYjBTM0U3a1JOa3ZqNnhQZiIsMTQ3NjE6InNoYTM4NC1uMUxOT2JrUldDWEhUeEw2YnU4UHlqTWRuZlgvUzNrVnlGcjdLL2RURXVaZGxRTStaemluY2F4UktERFJzZTBlIiwxNDc3MDoic2hhMzg0LXZOWmlUa0VqSnQvSXN0M1FkUCsxMjR4cjJuQWhUQlJIZm02enNJbDFRaUh2b1ZHNmMvRFhzYmtzY1ArQ3pabEEiLDE1MDUzOiJzaGEzODQtc2drNllGMnVVa0dDVnE3WkJ2bGlObFVpNE16L3I0Zld1L2dtME5hMFlLOG9uREU3ckk1aFYvWm5tYTkyN0ZaUyIsMTUzMTE6InNoYTM4NC1YRmNuMVlkZzRObVRONFd3TFJNTHZjY3JGcjR0S0lwSndYa1pzYTFCeFM5Y1J0bk1oT3dZcXdWQ2haanR0Mm1hIiwxNTQwMToic2hhMzg0LVpUTFd5eHczMEE2M1QyZGRIYVdTVDdOUkgyRG1lQVFkWFlYbEwrM3dzaENMOHdvUFRvYWxyV3podjZaT0tQaGgiLDE1NTAzOiJzaGEzODQtbVlNaE56YTdUbEdwRUpieTEranZhSTh0eERER2lYWHZna2lCSnpTeU5uQ3hMWHdSNTdQYUVEV3NDb0JaMFRJNyIsMTU2MTg6InNoYTM4NC1RZ2FEdlgzMEtmWm5hbkhIRmJKZ1FmMlgwamwrN0c5TGhOMWhVMWZESE5JRjl6cmpJOU9QQ1JpU1J5MWp3ZWY4IiwxNTcyMzoic2hhMzg0LUgydkxUaUtxWUQycWJyQy8xamtkNnlGeUNhMDM1K3cxWVUrdVY1a2JLT2tKMVNUK1dWUmhjZkwxZ0w0U3RkZGUiLDE1ODA5OiJzaGEzODQtTFNYTStjZmRMcVRramdmVGtrUFl0ZExNcVIzWnNZdGZCc2JhdU9JbVh5cGVoWkdQTVE0V2xlYlQwelF2UnZQRSIsMTU4Mzk6InNoYTM4NC1vUWlhbGNVTWI0d1J3TnUzWXJyK05qTlJOOVpzV3ZuQ3RkK2o0NktnekZ4VjFlRFVQOW50ZnFZSXloOGRKZmpuIiwxNTk3ODoic2hhMzg0LU9RQjZxRU55QzRZajVuQUJIMjVLcUgyMCtNUFhKUmFwM2xqZmh5WWNRaElaQS91YlBRbWxUUUJYLzBUUWVOZzgiLDE2MDI1OiJzaGEzODQtUXkxNWx2dEpmNXZkVlA1RTVndUt0ajNLYUtUalV4U1diaUdLK3NjUUROM1BNMkFmSVlESnhwS1FTcDJyY0JOOSIsMTYwNTc6InNoYTM4NC11NWZFNjlMaDJJK3FiRDlOK1JUZ1h1a0pOSVczcEJzRUJjeXlHUGtqT1hobVE2OHZtQ2cvcEJYQkI1VkpaZmNzIiwxNjEyNzoic2hhMzg0LVZLa3JhQ2Rpa200U2JocVYrVUo3SWZYWndyUlNxS1J6bmJJellsM2ROMHJwMmJtbTR2aFBIcTdjMlNrODkrMG8iLDE2MjI1OiJzaGEzODQteVE1bzRXRGlHcTJtN3pBRk8zUEZpckZnaE5nUSt5bENoNUd5ZkJwTW41Wnpia2hUWnJBMVFpOG05eGtJVHEzeSIsMTYzMTI6InNoYTM4NC10UXd1MFZVMFRhK2lJRUROa0JST3MxandTTTIxZlUwVGxabmZtTk1VcVhVL1dXc0sxMWtmNDlFWXZNYlFuN3JDIiwxNjM5Mjoic2hhMzg0LXBEZE5EMndhTzQySFNwRHJIQkhLRGkrd1lXRGUvZHJOKzhTWWZDZ0JqcHFQTzhmL1VzaWQvWU4yK3M4enlwOVIiLDE2NTUwOiJzaGEzODQtZVVBQW9JSUphd3duYVprbmprY0VpK3JMcENDVG9BYnpVQWJqbCtYUHdxTW1EZGFPVDJJVC9TUzFZZUhpTEZIbCIsMTY2MDc6InNoYTM4NC11WFZ5bVYzajJkd081SzdlemFKbEk4WFF2R0JoQ1FUNHdLRmRwbzB1UlpGSS94L0FURXdvaHpqOGZuQVpQajFvIiwxNjYxNDoic2hhMzg0LXU0SXA3NjFIN3Rucmk1RFZZK1ptdGxYRGh5ZUhBaWVDNnZrV0FBUmpvem9yL1ltaXpidWF2TVRROGwvL01XUnEiLDE2NzgwOiJzaGEzODQtdXlwMVRlT1g1Uk4wOStaUWVvVUwzOVVVcUVqMFE5b1pxUnE4aCtYejBQQVVmMUQ5WEl0ZlZxVlEvL3NxOUNZKyIsMTY3OTc6InNoYTM4NC1IZkJGcFJORWFZS1Z1Z1QwdVJPd1lZNUZqNGY1bUE2dVUzQmpUNFpSclh2akZTS2JaWjdOclZLU3NqckhueHQxIiwxNjgxMToic2hhMzg0LTBKekxZdTVvSXB3MjZjbVRxRXpFZ2x5dTVlZmRuMlZCZWFRTmpZaEx0aVVhWm9SaW1Ga0JiT0VPdjM5MDlYOG0iLDE2ODMwOiJzaGEzODQteit3U2VDWjd5Q3pvem13T3RUam1DcEhDRld3QWN2K1hWeHBiRE1UZHVVM29iZVRRU3pTY3psN2ZkYWQ2TCs5ZCIsMTY5MTI6InNoYTM4NC00VEVWUkE3TWM5VmNpcURSRmxoZmw3RGNaUDAzWk5kQkRBZlF2eGxiaERFeXdUZTNPTmZjelo4bmpvZkc0SDdsIiwxNjk4NToic2hhMzg0LXJqNlEwZWRMa3gzejFDcHBJc1gxYytGRWF2YUl0aWVSZStESFF0N3FlcUZhRVk3M3dvcGZ3YlIrb1VYYUhIQmEiLDE3MDA4OiJzaGEzODQtdGRpcDdibi9KUFlqdHRaeG9XOUMxVGt3clVrMlFDUUppNFhUWm1rWGN6MmNOaC9tN3N5d283cFJTTUlyOVJjZiIsMTcwMjk6InNoYTM4NC1wYUxNbUF2NVNFbUlEVkFPbnhmdGtXTFh2SVZFTi9FVXFpZWptTUJwZDdMN0NXZGVBdkZDVkVWZDRvNVpNZ3FBIiwxNzExNDoic2hhMzg0LUJHQXpmTmZ1SkdCNXJDQjF5NDFhOXFOcW9uYmhidm56QjdVMVNVUEl6NmkrOU5IZVlhVGRickFUS2hxSkhSR3MiLDE3MjE1OiJzaGEzODQtemk3bmt2eTArMmVDYUY2STY3azRhWGNGWnllMU9aM3hXSW1LQzlMOGVFcUQvVjFjTDFBUGFuSFRHSFZLMGxuZCIsMTczNTI6InNoYTM4NC1GczZBaFRiOWNGR0gzSVF6YUc0NVp4VDN4OVA5aUphQ0x4RXNSajJqdHRrNXZLYXhRMGhodmY4cS85STd5T1R2IiwxNzYwMDoic2hhMzg0LTFnNXgvQlhESjI2ejBkWVlkN0FNcm53bWV0YktuTmZ0Z1hwcFpEVTZqdG5VZ0ZuY3FHQjZWRTVnY3c2d2JUNVkiLDE3NjUzOiJzaGEzODQtNURxKzgxUnI4dlI2eFo0aE1TQkZoekJXWWJ5OUsvSXgrNnVaaWZiZDdjYnMvRzlyeWdvcWU2bm16VzZmNmEvaSIsMTc2ODM6InNoYTM4NC1IekxhL08zZEQ0YW5BeSt1Q2N2WFlGdC83M0lkS2VGVTRLQ2pydy9TNjVLR0hDYXF6YzNNWnN3YUZpWlZYWlBXIiwxNzc4NDoic2hhMzg0LWV5UEZGNHVGc0pDTWFoT0RWSFljcEFPVE5DWlE3QVhlYy90MG5ZOVdlWTVLTHVKd05uTXE1ZThIZzhlMmVSSVoiLDE3OTExOiJzaGEzODQtSXhoNXFIbStvSlFDMnVjRUEzNC9UTlI5Wjk5NHpCaUIrV0FsNXhCQUE1b2ZxeWhjNWQyaFYwcFZoL0hnZFFjQyIsMTc5OTU6InNoYTM4NC1wZWlaaGVkSWlXampJbUdHVElhRkVGUFBHeGtBZUYvSmhwa0l4bkJiRjRicks3TCtGOWlIZ3dUajUvOHVBazBaIiwxODAwNDoic2hhMzg0LTYyOG9qMUJ6MnN5eFhJL3dWWTVXYTVXb0FzZDlRSXZ6R0lKZVZ1NDFsNmY3bmlYa29xOXRpbk1GSlA3dTF4am4iLDE4MTQ1OiJzaGEzODQtRVFyc2ZBdlIxNkh5aVJFMnFGZWZmSEN4TnRUZkoyTDJ3czRBblBSR0FER2tIT3BQRGc3bnIyT0JicnBrVElwZiIsMTgxNTM6InNoYTM4NC0xTGt3SzdmNkVDcDlZOUppdDMrNGp6czlCM1ZnY2M0SUFkdldyY0czeDJnNjdQSWRXRHFVMC85NWZQSmtMYWkvIiwxODI2OToic2hhMzg0LVQ4a081NmlEK3NoaEZ4bjdhZHYxQ0lLS0J1cnpwZytuYzJ2cS9NblF2QnFpUVpVRTZ3ZDVtWG8yektXKzVFTXEiLDE4NDg2OiJzaGEzODQtSjZ2aWhPQjRlUC9UeXNiRTRoSnFDVWI2WG9HSnF3ZTU5VTVldzNyL21ROWF1Wlh4dDJPQTNPWDdleTFNUVVQaCIsMTg2MTQ6InNoYTM4NC0zbFJ3TjhPV1ltU2dDQjd5dDk5Y3lEaHE3MUh6TXp5MU1XMlQ3VXJBK1JqdSsxNUhkN3M1L1hkZUxSMEFFQm1nIiwxODY2MToic2hhMzg0LU9QMjRoL1RjblhMM3k3OTliRGNkTEQ5WUUySmxUbkoyeiswTklKQ0xPM0h4cUlvb3ZYb3NhdlQ5SDc1Z05VNEEiLDE4Njk2OiJzaGEzODQtUjduWHAvN1pndWRqVGh5SGhOdVBBSGJSVFlUMGMybXFBR2E2YnNPQ1Q3dnIzU05LY3RpeE1seWRiM2pBQVNySiIsMTg3Nzk6InNoYTM4NC1qWHVTZm54MlV0VmlXbGdTS2FqTkhCaVJhenpCU1MzYVl6UHJBRDB6dWM4d2lleDZ2Z3ArNGM1S3o0dXRFaVViIiwxODgzODoic2hhMzg0LTRmZUl0RlI3YWppMDRDWTlJdFp5THJ2UnBIVGJmQlJEL1pVRHBaemdtOWFtVWxtZml4d2lFanFqN1U0Sjh0NEIiLDE4ODk0OiJzaGEzODQtKzRpWkNScHJZN1gyTzhQSVpPcWhTTUNPS29KUGZXb2ZDaHVWRHloMjBxVlBnK2drck1OZStYOGNNNkdFSWZrbiIsMTg5MTA6InNoYTM4NC1aUEhvUXZySG9wOU9DTWV4aE1uTXdldkNaalQvVzl1L0JJeEdYbUdoV0draERLZ0toQ2hIcXQwbWdrd0RMVTFDIiwxODkxMjoic2hhMzg0LTRaMUJqMDI0N3M3VStlanZyVDVlTnZPbWFTYUYyZ1hHVG0ray90U3dXRFdqb055WGdsVEd2VXFLRjVjaW94Vk0iLDE5MDM1OiJzaGEzODQtL29mNHBGR1NQU0JkeUVmd3hCc0tLMmtzd2VSUXRJalBzWGk3Z2FLMDkzT3pWaTNENTkvV3JnbFVrb2NRUitFViIsMTk0OTQ6InNoYTM4NC0xby9DanBwMDN2ZGpGM05VRENyQWxHQVV6aTBFZzMvaEwvcVg5WncxQ0hmczY5LzBpZXlJcmQ2SkVkd3JOWlc2IiwxOTUwNToic2hhMzg0LXg2MjR0SHkzczJNdExuSitPUkI0NmVxWExjTU0xTkYyOVh0VUlHVzdLV2JScnRELzN1bnUvMndYKzdQcjNEb24iLDE5NjI0OiJzaGEzODQtSEFIYTVTRW9pR0FDQkxoYUJGbWI4RXlnRTFoaEJ1Y0p1Z3ppaEdGRmZQbFAwTlI0NW94WUVIbmJBOGJXdjlTciIsMTk2MzU6InNoYTM4NC1wTzg4aEtlYkgyQlBWcHFMcnM5RVVUanNxOFgrMUkweEdBdjlCOG5Ec3Rvcmc4elo5ZjVPZWdydFpRK21jZHRoIiwxOTc5OToic2hhMzg0LTMzaFhTcjZLY2dQYkZpZXZNZjRIc0gzUXYwc2luYzBMbjZBUmxLU1F6N1EwUXJNK3VNdi85L2xtQitmY283US8iLDE5ODY3OiJzaGEzODQtV1ZNQjBZVXJ5VDNBZ0Z4elBrYkdEL05tM3VWV0dhclR0ck1tMUFVZTY2dFo5WWF1RTBaYk1kTkFlZXBFYk9NdyIsMTk5MjQ6InNoYTM4NC1vTFZjeDJzZXpMMmY5Q0pPNEYvTWVoYnZFSnUvVHg3K0pNQVJNbmFjZEx6NC9rZERiRzJKc0kxUUtrbzJNbUlpIiwxOTk1NDoic2hhMzg0LXJrU3gxWGlRQVNaTnhrZ3lHRWtGZGd6K2JqUnY2VGFXNDVSa3o2cnRzamlTZ1dDSytJL3laV0VZeXAzUDFmWSsiLDE5OTY0OiJzaGEzODQtMTFhWTJRQWxPQXl4RkkxdURYdk9VNEhadXNsRjhYSzFLa2J2R2xhaDlKZHo5RzZWNC9yT1RUWkFDYzVBYytwbyIsMjAwMjE6InNoYTM4NC1RZ3BGVmU5alpTdko2L1FFTzlhM0lLZWdEWVRRTC9BZHFxRzZnVVEvY1Qwb241S3gxVHBTQUFkaVhSdGRVRUc5IiwyMDIyNDoic2hhMzg0LUYwWlpLK3dOQ3l3Q2FGb0thQ0RZbkxaOHNjQzJ2RVo5MEtNVkZXMmF3SkM4SWFsUWx3RVpFV3grdGhXTW5VSTkiLDIwMjcwOiJzaGEzODQtb3Y0aXh2SUJIOERxY0kyMGVYYVQ1MEJsbUgxaFhQaW5mWjltb1NveEd6Ky9zR3NNaFgrNll6K0dZT0hCWVE1MSIsMjAyNzI6InNoYTM4NC1pUGRqS3VsRFBDMWNqc1JRTGhtc1A3Yy93SlVwbkxwOGJqbC9UMjcrZkpueUpTY2JWK2FHMGEwSWhtaUxuc1RzIiwyMDQyMjoic2hhMzg0LVcvUlV1UmZXOC8zMkk3dkIvL0k4Rm51UW1EelpWSXprRVpkRnBBRTVPNzN2TlhBWlB0Z1ZZUnhkNHFDN3o0enAiLDIwNDQzOiJzaGEzODQtRm5WNFM4S01aWkgvZEN1TVcyNHFhMzZxQ1htbDNWZWQ2L0xSMUhPMWtlVTJRVTZweENBOXhSdEVCRUxVOVZwZCIsMjA0OTk6InNoYTM4NC1PMUxjdWs5T2lhbHVKODkzQ1BPVmR4a0k3ZE1URzFIUThVd3MrdWJlZ21HZEFwN2hUdEJ2b2I3bHN0eURTajQ2IiwyMDYyNjoic2hhMzg0LXBwTk5YRnVDbkZqQUFQSmtUcHllUWE2OTVRdmdLTlQ4dGJ6bUZmejJTOFlaMTZnamFKUCtKQlg5YmVsVG9ldUIiLDIwNzMzOiJzaGEzODQtWFlOSFdKSHFwTXZLZHg5WkNhUFQ5OFA4Y1M4NGEvS1dvTzA3MjlabS8rRG1aU042Vm9nTHFrUGF2R1dTQjVodyIsMjA4MjY6InNoYTM4NC1EU3ppN0lacjdad0p0QWtmbzlyYSs1dnEwL05aVVpDQnRpNk1PaXBFM2N2UHVJWGV3Y1c0bnZORitxWitHYWN1IiwyMDkxNzoic2hhMzg0LTdUZUdLQnpKL3RkS0xHZXIwakp3bzNpRS9CL2xPQUU0NFBqT3VCWEErRC82TGxQOUkvWUJ1SENHcHB6Y0VRZEoiLDIwOTIxOiJzaGEzODQtU1dFdEVWeDdtcTBFU2FHNmVKZFN0cFBZMFVsVzI0dFhNSFFaQzV4cVZWaDllaWNtQ1hjWmRzSTRsZWZnaVpMVCIsMjA5ODY6InNoYTM4NC1EZ2lDMzRsaGdpdE9VcXF1bHh5REZtdzlVRTBUQjM5RkpXUjhYNUpRbVB4UTVzVG44UUhaUWluRDNlZGZZdjlKIiwyMTA3MDoic2hhMzg0LTJjaitLYjRZMTF2OXY3WllvNE9jL3NrbWdnTkdKbVBYMkZEazc3TzJrMXBMOXpnMktUQjhxZlZRajhjWXBacDAiLDIxMTU0OiJzaGEzODQtaksrM3JGbFZ3M0xMMzUzSm9RSUFHeEE4SEVZM0dBNWpLYkxTY0tJSS95TllWdjg4TFVWVWVuZDRDRkJCRTN2cyIsMjEyNjA6InNoYTM4NC1za1J0VHZNUFdnQnhnVk4xWWhKSkdVbjllL1VzU0ZpNlQ4SUZPNURLQ0YwSGtka2xFa1YrYU9vRm1KSndKRzB3IiwyMTI2Mzoic2hhMzg0LXZQYnQ0bHNXb0R5aHo2VDluR0FUcUZaQ2hSVG5nMXg1UkE2YzZjVEFIaERTb0lMaURlakw0amJTZ3cxcmcrWkgiLDIxNTM5OiJzaGEzODQtQjZTUTdoRUN5TVNIMlQ4K1EwWHVGK05oeStCR0dUOFV1NVBId3RXdTlMZGR4MXdwMTlrbHJzTFhveHEvRzlXayIsMjE4MzU6InNoYTM4NC1XU1UyRzA4Ty9pcnpYSFVzQ0JVbEphQ0lqYzdJRTg3a0J6QWNnTlE2VG1MbHhyajNsMmR1L0ptZ2JYNWRsVjZVIiwyMTkzMzoic2hhMzg0LVdhSHlnQnZpQyt5M042STBlZ0I2MGtHdFg4Tk1sRlIrSlZkWjVCb0FndmJjZjUyS2VNT2dGTW82aTRxc3pyL0UiLDIyMDQzOiJzaGEzODQtaHJWRUx6ZGVtVm90SGJ1TDEwZUN6NVp3VEZTM2N5ZUE2QWpkN1NjSVQzUjRZUjNucXRVRm04QU9OZ1lDdnNnTyIsMjIxMzc6InNoYTM4NC1vbDlDelNxSWQ1RTA3RmNwSnFnblVvNlpOWFEzVS9VajV1dDZxcUZSdmFkQkcxWE9nbEZ1anpCa3h0UjI2bWgzIiwyMjIzMzoic2hhMzg0LXVHSDZRaXY5VTRZa0xkTWs0WWJTZ0lyYWExb1doa3ZJRG51Zm9yN1VwNzBJcXhwWXJzbVczNTVoOUNXY1lVblYiLDIyMzY4OiJzaGEzODQtVng1c1RXMWxZZXF1OWJxVG83bEpVSksrVUMxUW9yTHpESTM4RE1ydlRSVno0R0s1WDZ6ZXBBa3NzMkFmY0NkNyIsMjI1NDI6InNoYTM4NC1weDBqL0MrcGl1bldMVkp0Nm1ISkt3d3FLODd2YWlJdE9pVzNpaG9DTnVqa05YeFNlcGNqM3U2R01SOVF5UWJGIiwyMjU4Njoic2hhMzg0LUZlSmNRSG5yN0p5TDgxVTgxc05hQXhrSGN3ZEF0dGJiV3RVblNCcmhQYnNkSWFzMFNHU01VNEl0OEFvd2wzZmQiLDIyNjI0OiJzaGEzODQtOFp0VUdDYldxR1h4eldkTStDQmxBcEhRdWh0VXdZKzN3Wm1saGlKcWgyMkNIbHphVHplNUFRY3pYWlpUZHJqSCIsMjI2NTQ6InNoYTM4NC1tOEZOUmtJQjNkelhoUTI1UlJFSkY3QVRDa3NaY1BCT01CZ2JtdGsvWHVvY3duRWtzaFl5cWFsRCtkd1gyQXFHIiwyMjczMjoic2hhMzg0LTgrNUd2WFNNaFlVL3VWZUh1dWw2ZTRZSW82bXo5NkV5RU40NVdwK0s1aVRJbVJrd0ZCK09OVjJFWmQ0WmdXODkiLDIyODMzOiJzaGEzODQtbFgydWpXcVR6REJtWVliZXE1dmZnZG5Bd2xDSUlsRmhmd1MrTk1zT0VSTGJXcDBPSVdhRzdXdDJycEErY2llMiIsMjI5ODQ6InNoYTM4NC12WHJSaUZxcFMwUDRydjJFOG0yYUIzS3hxT1BwK3h5ejE4VzUrbzRaNkhlUHJpekRMZ3FZYm5Ma3ludHluNkNGIiwyMjk5Mzoic2hhMzg0LWxUTGtaaVFaSjZGSXNBcjNpcU9tRm5CS3RSWlJveFdDbXpKbmlFZmd1Y3VFdStlMzUxRlBlQnlzM2EvS2o2V1UiLDIzMDc3OiJzaGEzODQtT0VSejJ6YlU5T3FiVTk3ZERXQmxNYjRJR283S1ZJemxPb3BySFVteDF1aWVjUGZkMVg3L1FtUjRsSHF1a0dnMSIsMjMxNzA6InNoYTM4NC1xdlk0UjN1OW14cGNDVTU4TlppOWlLbzQwRWJmb2YrMFVWVVpLMW8ybEhKT2pyZ0lsRXlONEJMTDlIYUYrWWlOIiwyMzI2MToic2hhMzg0LWpueFFzRnVkZjBtbngrU0hPdkJDcmJJRVhhS1NqNFdhZFkvWUYwazhnZDhvbFpoSWN5RUYyTE1IQlNLbXcxeGQiLDIzMzIzOiJzaGEzODQtajlBeXg3TUw3TXhHSHdnU2hMV0s5VUdqRlFSR3BLQ2kwT29leVI5eEJvUG1oYWVUMW5RZnAxTVYyWDArSlF5diIsMjMzNjU6InNoYTM4NC1VZSt0K3h3UWRiOW5xajZpL3I1dG0ya3Bya3NqcVZPWjRLQzdBMEE0Wm1SUWpnck40M0orMzhjaDFwMlpSMGlpIiwyMzQzNToic2hhMzg0LW5KSW9wNHBVVUYzV0lqN2hES2NSZkFkNGFFYit3bGVtM0x3VEdRVzMxU1BaZjdFVkFFNEJwNjFJekdIbytrYUoiLDIzNjM3OiJzaGEzODQta3gvY3RWc2ZielRCLzdoU0JETnNYWXRsbUJub09WZVZkcnJua2ZoVUpJeVlGMVRER2hEVGViK09LZjBpRlliVyIsMjM2NjU6InNoYTM4NC1ybHVFeVhDUEkwQmEvd0RmTzdibFhVWmFCR1MyS0p2NTZxNEZoV2JoK3VWNTJtWE5GalYwNE8yRUpvLzc2elFOIiwyMzcwNzoic2hhMzg0LVFIckYrSkYyNGJhb1RqZ0xyKzJlZ1VKS1NqNmV4ZjBhaHpNdjU4dDlsSzMzeXJyRGQ2U0p6Z2l0cldJMzRkTUoiLDIzNzUwOiJzaGEzODQtTW0xbDRCZVA2azdIWUxLamNLeWV1c0NDaUxFTmNwdFZVM1VmMm92cSt6NWVCd1E5NTh6L1pRK3kwSHhSR25CRiIsMjM4NDE6InNoYTM4NC1wODRnbDBwWVo4R0dUQytvblZURDduRG4zN0pXWHpva0JsVFA4RFNJcm43bXVIZUdjNm5FNmJVRWpvdlZYL3oxIiwyMzg2NToic2hhMzg0LStlak50OG9abTRjcUpZUWhVeDhQdllEZ1RnZUJDcHhCb3NjMVp3UUxhT21jTTNLYmN2UFFWTng5Yk5HYytWUm0iLDI0MTMxOiJzaGEzODQtNGNtUjNGNkhEYWRvS09tYnRKNXViUFhlNmdzL2RnWDg5RXR2Nk9FNk8vRFBOR2xBbXJFOWRxblZFdnhLN2xCNiIsMjQxNjQ6InNoYTM4NC1nRm5YaHFiaE10MWR4clRWSmVzek00bXpXeG1RUVY4cjduTzhWYzZjbzdTYWtrVWQ4Nnptc2lzQzdiY00rMVc1IiwyNDM1ODoic2hhMzg0LVdZSlNSTGJmZ3BIbDhPbjlFR2NxbjdFNUZGKys4V2VFbG9KdnBCTHIrTkxRV2RYNy84WVpoMGhxRDZmdSs3ODIiLDI0NjAwOiJzaGEzODQtQ3M2VUhTMWliYzUxZUJwTVF3cDFEN3BtSFl3U2NoRk1oVysxdnhSVU1ZeHFHL2xzV2E1aFphZlMxOUVVM01QWSIsMjQ2MTg6InNoYTM4NC1MWE54SnNxWURXTXpzeitlM0NIeGcvSnRWUlpxUUxpc3hYUmVDcW41REhwdUh2dElGQjVpaFo3ZmUxdHN4ZU1OIiwyNDc3Mjoic2hhMzg0LURrdzNKaWVLSGVMb2pESHlNbVRQV3NZUmtienZia0QrbUlBTjhCSmQ0N2pWVUd4cVZuenRSaHFTR2c0ek5vMGEiLDI0ODUwOiJzaGEzODQtVzJ5LzFiOSsraytNc0lmc0d3NHd4QVZFVzU2TnNJRHpSMWk3aXI1Tk5iY2srVzN6dGlwUExJL1RuaTFNOTdQZCIsMjQ5Mzc6InNoYTM4NC1IRmd5RjdkMDFtd2tQMXdNZWJ1dWc3MHVJU0UrTFNCdm9aNERDR0lXclNGRkpoOEczNFJ0NUpaazJ4dnBKWFUwIiwyNTE1NDoic2hhMzg0LUtnRVNHdTdtdmErZ0prano5T1lRYmhsZG5QVUorSXVtNk1MMVNjdzlLdzVMMTE3SWhNd2hNakpQYklrMGhwNVAiLDI1MjU4OiJzaGEzODQtdk1tRDMwM1BHNTFiT0hPdmlVVUYweHBGTGRGRjJYZEwwSkFLZGNYaTZVaXlDSW01ZXk5Mkt2RmFsbTQrK2hWMCIsMjU0MTg6InNoYTM4NC1ldEE2STZvNy9jdXJQV20zeDBZU1J1NFRFTlZHTjFYWUhoWFF1UFdpeUxpa01iUTJURklqbzU0ZTZhOXcraUF0IiwyNTQzMzoic2hhMzg0LXcvVmczNDlBOUtIbEJDY0F2a3V5SE5qOEh3T0V6WmROVUEyTzJ5OTlhUGJjWit6ZW1aNXg5c3dxRUVKMEFBT0IiLDI1NDkxOiJzaGEzODQtUnY5eE53c1kyLzgzUGlYZ1kvV1dFNnlpenV6dnlWRWdncCtDTnJBYWc5VU9pek02Qk16R3pnc2dpaE1sZkRyQiIsMjU1MzA6InNoYTM4NC1JMTMvcS9XSEMzbFUxMlR5TWszSmMwajkwSlhORWsvTmF2RkNkZHFTSjFFQXpwM2psYTZKSUdYckdQd1BkUkZxIiwyNTU2Mzoic2hhMzg0LUwrZk5mRG84OHVmMSs5emc1M1dtc2hCT3k4TG5GaVV4c1BMNjY3SGtMQlFUQlhFU1lYc2Juc29Lbk5qWjhnQlAiLDI1NjY3OiJzaGEzODQtZVNpWWxZb21ZRjhNVXdJd1poRGRxREZJT1RYTERFZXFZZlEvanBPU0N0NEJqaDJobEV5VjZaaGpkaUdJemNRSCIsMjU2NzE6InNoYTM4NC1qemhnZktjR0JLUmgzSHBXTHFBQ2JpLzhrakVvNXlyQXZFQnFnT2h6U3FOOEhtdnRPbnE0bDg5QndkbHhkMzV0IiwyNTg1NDoic2hhMzg0LUM5Z1hYSXB1ZDZmeDc5djR1Yld0cmEvUmxhSlJnTzVONFdsWXJ4NGpJYjRCTXJpU1U3aXIxMXBmT21Fb2FhTm4iLDI2Mjc5OiJzaGEzODQtalUya1NwVDc5RmxHZnZmQTUxeDRWcytmNmI2K2Z1WEdQdVp1M3pSYUJ3Z0UzN0d0Qm5wSlkxQ3U1WFhyelcvYyIsMjYyODE6InNoYTM4NC1Od2Y5TzhyemxTQ2FWMFBZeHd1RWZ6ZXF6WnV4b0w0bEZZZU1FVVpZdWtiU3g2ZE9jUU5pNjNsdUU5RjY4SldMIiwyNjM3Njoic2hhMzg0LTB1TVpMZEtaWGw0SW9EVmYyUVhJUm1aWHM1V0N0aGVwQ1VqQ1g5SHRHclhDTDFQTmNiN3dqc2NQSjZNV0lQWG8iLDI2NTU4OiJzaGEzODQtL3dsa2lRZVRiRk5YRDIwQUc4NFQ3bmpZM0R5STh5M2FTYmIxakwzT1FwZEJVOE9mUUlqUVBUV1QybVMxY1puQyIsMjY2Mjg6InNoYTM4NC1wcmJFVC82MWRSU0dualNmMXBNY0pHRmJCcXFINHdqaTk3WkFBd1RBQ2h5Z0dQbTZwekx2NzdOVVhVYmNVbVJHIiwyNjYzMjoic2hhMzg0LVZQQWxWQm8yaE5TQ3k0Z0lQWEdDcHk1TzRNZFVLNnZia0xBR3VSZ2R6RWI2aHZCTDhBeXo3MkxHZ3hYeC9XdmUiLDI2OTYyOiJzaGEzODQtYmVyZU5yVXh1SUNucEl3QnBQQnRjMTkzR2crU0dmYUMwVzBYSGMraFkyc014T0t1QUg2WVQ1eFp0dUlpSTdkYiIsMjcyNjQ6InNoYTM4NC1aMkJZQWdrQW5wUlB4R25UVVBXeFd0aVZqclhPZXlNdzJvU3ZtTkxFcGVHSjNEYnhVU2xLM3BHemhJVzZYcWxIIiwyNzM4OToic2hhMzg0LUkzSEJPOXNZbWNldWJENTgxRHRCTmdBdUpvM09VM2hKSnJzRmp0enFHQjBLSDVJY21OM1g2L2pmaDdpRFJVMGgiLDI3NjcwOiJzaGEzODQtcXNEaVFzMnlDVXBZMit0bS8rT2hiRUh3YW5haE9SUzFDbzcwWFZtWUdrUnVUNURnZlRocXc1Z3k3amgwRjZiMiIsMjc3NTU6InNoYTM4NC1YT0pWbnBTdUtDL0V0eXk0UEI2SS8yNStIUWVEUWdMUXB2UGF0R05hNlJ2RTZwWituQzRGeUFPL3N0c1dOQ2NOIiwyNzgwMjoic2hhMzg0LWJkV2QvQkY3YUZ0dlFnM1ZTeVRYYUtrNHJMb2dvSU1KdmRkQWNMNXdZMEN6Y0tUQ21UL0d4OXRwcEVwUkhKcUYiLDI3ODg1OiJzaGEzODQtK1ZZZmRzY1ZLMkNVb2JCSDR5Ny9wSjdCaDBqNkp4em52Nmswa2JTRzhsbzR2c2R2bXlyK2U1YTlIL3hIMEtTVCIsMjc5MjU6InNoYTM4NC1tYjFLc2dDR0tNYTZKL3RQVkw2VDFPZEdsUWtGTTVUVGxxb2g3SUFjRUJ6bWN6VEJmaTJRWkNBRFNNS0hwdGU4IiwyNzk0MDoic2hhMzg0LXNsN25CV0NNdnBOVTRPVHRoaGdqK3lWaGExSzBOTlYrdGc1TE1UWDNHZ1JTRVBnZFlkODU3Y0ZwOHFBQ0NkUTEiLDI4MDYxOiJzaGEzODQtNVE2NE5JS3MxaGJXdW9nRUllT0VRR1diaWpMbDEzd2hsM0FFMElWYS9ibXUwS2t0WDVlK0xVT29FVVhIRldtVyIsMjgxNzI6InNoYTM4NC1OMDBLMVlBemVid2JlNDRBVHBIVFBseTNuUkhDazVPemJzYUkwTUZaWVd0K0xzZEF2VUtoL0hncVNEWTFHTklHIiwyODE4Mzoic2hhMzg0LWNrVWNGNGtZdFBJemhGZmFFWEphc3lhSHR2UTFEeGtSS0dQVGh3cU9MTDRHZERwYTMzOGtjUnNoWEo1NURXbnYiLDI4MjcxOiJzaGEzODQtWkhsUER3MFFaRjNyU3NkWmkwWFNkaUxOUStSS0d0cVlWOTVYTE9EdUZ5b2hPbnJVcjBrdC9aWWVicU5LVGN6RCIsMjgzMjc6InNoYTM4NC11ZTd6KzErQWRZNDZQK1I0WHRpZmE1VkZYemR3bis0azdNY2IwV2U0WVE4TDZVQkQreDlNTS9uQW9KREV3MGtkIiwyODM1ODoic2hhMzg0LWIxY1FFQnE0NjRSMWZFV1ZtQjhYK01wT0NrZzJ3UURiejZLK1JOK1lxSjc0dE9heEprUUl3ZUp4dFl2UzFTM2UiLDI4NDE3OiJzaGEzODQtRndLbmlGcnhReUg3V0VMd2tWWHpZelNiTjA3WUk4Q2k3eHczOWwwMnpOVG1CY0gyRnlYMFV2TXE0M2dlNFg2QSIsMjg1NDQ6InNoYTM4NC1sTzBWaWJuRk5YSUNtR0djR2Q1NDU0aTNFR1BWNVFLNWNKaTZEck5nLy9JWFVJbEFUL2dIWlYzSWRkQUFvZWV4IiwyODcxNzoic2hhMzg0LVRMd2VrUVRobkgzVFBzaCtSSmFsNUJTYS91UklQUXVSOUlBMENKRHAwSHhJZElSM3lWMWhuSmxFUElna080ekMiLDI4NzQxOiJzaGEzODQtUW9hS09mVE11aHY3SXVJZ3EzWkRPS1hKUzRORVlLS0p3cnhxd1hBRWhNbGd5RjNWcWU3S2xQVk9UdEZMbWZzViIsMjg3NTI6InNoYTM4NC16WFg3VmNMZXByK25MTERlMnFndCtRb28xaWYvVzgyTVdBd0x4YnhoWXZtRGNhTmRsd0RZSFJRM3Rsc2hLSkdxIiwyODc1NDoic2hhMzg0LWVONjIyWXdoVTFmNlhkc1kwajFSZ2phOGdVdC9WeEFZcGJzL3Evakg0VUtkZit0T0lpRXYyT0xGRDZ2c1dYNzUiLDI4NzY1OiJzaGEzODQtdmluNXdkUFUydXRkMm9LODNZdTVOSUs2Yy96RDZ2YUNxWnRPT2Q4Mk9nQWc2Y1ZPejkyT1V1ZXducUtNNjVVRyIsMjg3OTA6InNoYTM4NC1NeEhNMGNvMTRONXBFYy8wZUVYY1hmTmNCSnJrZURsSDA4Z0xWeXR4Z1EvSlR2VlJzKzlpY2pJQlVNUkpjNHNGIiwyODgwMzoic2hhMzg0LUhTbDdwaXZ3cWJvSzBOWElucEJFWDRUYkU4d3RPdHVnUjZDY1NjTWZWUmhxNFM3NFNOYVd6RnJDM3dXU0YzS28iLDI5MjQ2OiJzaGEzODQtbmV2NVFKaGZra0xpdzRyNU15UTY1RkdiYTFnSFltQTVwRmJteDRZZ25Nc2Z3VGUxVjlialZrSFBDQVpBU0V5cyIsMjkzODA6InNoYTM4NC1YYlhQL29NejZ4NFlZaktxbnJGd3hiN1BseGt1WHBobklBOEJ1L2p6U2c1L2U0Q2NYbGE3V3RYWUtwWlFEakx5IiwyOTQyODoic2hhMzg0LU5MSlg3TzlVcUpNQk5tOHQwekd1azdVY09YSFZYVlhWOTRScE1obFFaTU1XdVg2QjZOOTBoa0Uyc1RGSXlINmkiLDI5NDg2OiJzaGEzODQtbyt3aklJR2F0TENjbnp3WkpFeEhWbUJsT2o0Z0N2d01VZDNCRW1SZUVReFp5cnhNOFBnU0hiLzFrK1dQYjlwNCIsMjk2MzI6InNoYTM4NC0wc0VPVyt3K3h3RCt1VXdUc3d5MDB4dlpyY2MwRnR5N0RnTVMrbHcvdTFoNWl3VFl3QzJTTzNyNkY5RFFHeHZXIiwyOTY2MToic2hhMzg0LXRGNEdBbEJ5MUpGZ3dhS09walJIbVhJTE1KQlNYQWZkNjZvNS8wKzRYTUhvQjQvRXdoUlVGdTJtcUtGTWsydTYiLDMwMDQ1OiJzaGEzODQtYmtaTEYzSEEza1RCSUg0elliT1ZqWnhmeXE1K2dTanF3OVUzc1cvK2orYW1jQzBJOVp2MXo4THhxZHR3MGJHViIsMzAwNTM6InNoYTM4NC1hNGE2eittbWFvVHNqZ0NydDh4aSt6UGQvVTNrTkVXaHdZczQ1VSt5bFNKOXhiKzFnNjZTK2MwaGN6b2Z0Ym9EIiwzMDE1Mjoic2hhMzg0LUpSbzZ3NGFmYnQwVFZYRm5kREpKMDM4TjN0ZnZrVTVNME41Y1QxaDF0MG9ZMzl6UHNzdzZyRXJvZGNzTVgvZVUiLDMwMjU3OiJzaGEzODQtejg1ektkRnRlbUpadkxCRHNKRXlXUm4yWVA2eUNrZ0Q5bXJwcmFZY3AydTNyYXI1N252ZUlmcVc3NWhFWVlRTSIsMzA3NjI6InNoYTM4NC1hTjkrcnN3WVNZa295QzJNNVhyb0s5STFwNGlWeXo1SHdZODNlNDlYaHVTelFLMjRxVlJnSlpNQ3VTT2pZdVQwIiwzMDgwMzoic2hhMzg0LUNIN3ZOSzZSUC9UUTk1d3kydjdOejRqWlQ2L1NtTjZSdkhtdGdRRnBIY0JWdm9yNS9jUWFrbjI2bk1RTGQvclYiLDMwODA0OiJzaGEzODQtMDJ3Y2crRmpqdlhJVGMxN3N5L0tybkdLZDJKOUZzdFdwMjBuSVVOMUVpWDQ4dmptUDJESVZOL1lwN1VHY3FBZSIsMzA4ODc6InNoYTM4NC1xdnR1L1VpWXdqTnFFVkpUTTNhaVlyUFI4Q2c5dUFDeS9zWnBoTFpCOWhtRG9FMFpFM3ZOLzRvNzNmYXJlUHZ1IiwzMDk5Mzoic2hhMzg0LXpOclhZWDJrcEU2RFdKYkFyTTArVDdZalpoK1pwdDA1WEpQZVltY0NkWDBsUlYzbjBhMVp3dVhTdzBYc2h5VEoiLDMwOTk0OiJzaGEzODQtZjlGTkNSRjBpTjZiMUdqQlJlRS9say9mSUViVzR0MlRhbGlObWZqVWpQRnIrNlVvdlArNmUveDhxLzRiQVVHVCIsMzEwMDE6InNoYTM4NC1IYTVjOUVBaWRObStRRlBRSEpOWktZVVU3R1NYbzBYNjlXVmVEMGtqWHZHMjV0TlRXcU1GSitSeDhJcnR5QmgzIiwzMTAwODoic2hhMzg0LUJqc2twb0ExbUtOYmRyYW11RDlzNHZUdUdJeFY1eXZpN3NBaURlVUthSkZPYURTUnR5R3JEZ3d2MDdQQTdwaTkiLDMxMTU4OiJzaGEzODQtekdHWGF3dzMrVVJuTFVLRWFEbGNickVDRndFQUl2UE54bVVzTUFxc2xoOTNpMXduWjJjRSs5TE1lS3BCQTY1WCIsMzExNjA6InNoYTM4NC1vWklZSXpKQkl3LzJGZm53VHZJV3RhWVR6ckdlV1dWOEU3R203R3RaYWdTMHREWjBQdmxuNXFSUFJhMWlNWnlJIiwzMTE2Nzoic2hhMzg0LTBzdE4wU3hiN2JpRkxNVmdCaE9KVlNjN0xEVDlFWVAydGM2S3ZOcjBCbjBHaDhwdUJwbW1qcG5Ud1FYaFBVOHIiLDMxMzQ5OiJzaGEzODQtTkROMWE4RGN2S0xSWWRqTDF5UURHQWxGNHlnaUNlcU9ra3FNV3VxR1piMU1lbmhWUisxMjV0Q0ZMQTJRMWZuYiIsMzE0OTc6InNoYTM4NC13Q1RxeUJnMGNxOXowY1hibXUvZWduMjhtNnUwY1hNS25EVzFCTzBmaGRUSmxsWW9pWmVSVDZDZVYxMlhUNG1LIiwzMTUzODoic2hhMzg0LUhpSjN3SjdhMENROTdiY3hJcFhvUzQ3NXpBaHhTTGVXQi9KVktIZWJpZkJZenZpK0p3L2VxK2FyU0VBb2cwcVQiLDMxNTM5OiJzaGEzODQtOStTbE0vV0xrbGpSOElORUFyaU9HWkZ1ZGVKSlpWUGp2Ti9JaFNzd29lV1gvTE9yZkRhQUFrN3h6MWs3bWF1WCIsMzE2MDI6InNoYTM4NC1tZ1VjOWdvZEl3QnQwbnJsMmlGSHUxcGFRYjB0OUI0ZE9NTjBqdlcyeFRPbDhNakNaSGpxNUN4bHk3WmxjcERuIiwzMTYxMToic2hhMzg0LUk4VUxLanJhUTF0TFlXT0dML0k4RGdMc2NDWGw3OFRBRVowR1JwYkdWL1pQcWZJcDFwSnB3WG50YXVXUzVsMzUiLDMxNzAxOiJzaGEzODQtYjF6emFvYlZ3VmNvUUZ2ODl1eTN3RlVwTlludExvTUN1d0RGSVI0K2tsREJoUVFyUDA5S29nV0htbkJIdFVGdyIsMzE3ODM6InNoYTM4NC1weEFQT1hVOFhvUFlXdUtvZ0hPTjN2cVB4M1ZQbUM1VE05cm56VmNVTmk4YmRwdWVjQ2YrNmYxN0N6ODZsU3pmIiwzMTk1MDoic2hhMzg0LTJnZG9SYVlVVWJGRzBDR0hKeVJoM3M4My80elNyZkNaeHkvaTAyN3R4TitLTWhORnBIMEZTbklkZUtvT0pPaTIiLDMyMDE5OiJzaGEzODQtYk56djl4dThmRUNKZGpBdlIzb3ZXU3cxWHduR09BWFp1NjhZYlRWS2NlWHd4NCtJUDhuaXdXVENuSEtWRGtIUiIsMzIwODY6InNoYTM4NC1oZ3RjaHRFeURrQ2hMK0JheXArSTdtdXR6c28zNHdwZitLc0JZRTNGcW9lNEZRTkIrNDFhVWJTalJZM25zYUkzIiwzMjI3Nzoic2hhMzg0LTFCMU5pbitoeVBKWGFFa1ZkRDNIWXRMbUFPNWNrU2llTlpmWkZHaE5xZHpBaENZQTI1MHk4RzZNdm9raEFldEgiLDMyMzc1OiJzaGEzODQtenFUZ0FKOGhUV3EwQnN3SXBHVGZXVi9ya0tZa2V2L3AzQmd5TFpNZEZEMXFmSnNKczVQcEd3UUlFR1FuODl1WiIsMzIzODE6InNoYTM4NC03NUxidUlxc0JwUS9GalB3Z3VWRktCc2o3NzBGQnhwR0c3ZzZlTGdia2FNSGpTdFBFeE5hNHk1bGNOMXJNVEFpIiwzMjQwMDoic2hhMzg0LWlFMEI3WnpEOThMeldRZ01rSDdEdEIxc3lHZTZ3TFZlVGY1VUVtNEtSZ3F6MzdMMnY2elZvWDBjT3Z3MXVhdmoiLDMyNDU1OiJzaGEzODQtc1VlWHZIK3BLVGdaWXRDT21JQmQwVDhBUGdtdUg5WUp3djI2VTV0NFRPblhmRjNkeitNcnhJRVM5WVJ5RHIxRSIsMzI1MjM6InNoYTM4NC1YTTZNY01sb2lGUFNHdkwyU0hvNjI0NlF4WkF2T1Qydm9nNGpFdXYwZEdaMjlsQkRjdEM3YXArSHljS0Z5UnZ5IiwzMjU1Nzoic2hhMzg0LThYbSthaFZvSC9JdThuTFBBUmNVREdUQjZPZTlvUjkyUmpabldYL0V3RmVoaFI5bmNqTFZ4dGVQdDNwYVU5OUsiLDMyNjEwOiJzaGEzODQtaUsyWllzcWVOYXI4dHYyOWVkSnltY2pyc0kzRVBSWW4rU3gwZXRYMVp0dTJzN2ZIdEpMYk9QVjFNQmZ1ckRMcyIsMzI4NTI6InNoYTM4NC05aDAySXl0dHBlbmRTMUJwS1BMMWNzTHE3L0lCMnQyYk1KZHBuMHZWSGdBUnFYQ1Z3eUV1V2VxeXQrRFJJeVJFIiwzMjg3Mzoic2hhMzg0LXFGQk9UaGZHcTNNbkhqK2ZtK0Q2aWZ0TnFQTHVGdEd2VkxlSjB3aVpuSGkxRGdDQXQyVEFKM2lxVVQ1cjBMQVoiLDMyOTIyOiJzaGEzODQtMFVIL0lzL1YwQlZpb1NuaUlONUNHRlJYVXZDdWNQaCtILzd5OEJ6OXpaSmR6aWdCMno2N1QvY1FoNnVEYWVQTCIsMzI5NjE6InNoYTM4NC16ZEwvdWxmVGN5M0VTTmxGdjdRdUxYaFQwdVU5WWZseTVwZnpjbFF3cUxzLzJyN0d4Z3o0Rlh5QngxNFNLRjIvIiwzMzA4Mjoic2hhMzg0LURHVmF2U0xKeGVBbjllZ0lNSlFEMi9oeWVGYVNrazJvY3ZqOE1hSHF0clJqSGl6eGdIL1NTZWN4eERiU3FnSnQiLDMzMTI2OiJzaGEzODQtRy9QOXdzc1JoWlFUQ0dPZElUNXRaVSt0Sjd6OFI5L015SFUxMXVmVWszamFqVXhuVDZCOTJMUEF2UDRJUDV0TyIsMzMyMjY6InNoYTM4NC1hTmlrYUduWThKeWFwRlhIb1ZwQVpUYjhpVmhFNEJEU00wazRtZHhtbytoV1U5L3FQYkFtaTJWQ0hIcnFoVkllIiwzMzMzNDoic2hhMzg0LWtLNjRxQXoxZXRWQjJiRWR5dC9kR0wrWmVjcnFUT1poQ0VselNHY0ZuclVkNE5XN3BxN1l6dzBHQ3Z3dC8wUUoiLDMzMzcyOiJzaGEzODQtNUo4cHVSMzRyZU1yendHbFVqaXk3UjVzYWw4NTVKMnozbVZQaUFaZ08xVWtycFdiM1R6Z2k3VC9mVVBvSXR3YiIsMzMzODE6InNoYTM4NC1XVjdsL3BQdHNSN0VWRW5xUVA2RkoxNGtXVjA4V0h6d2padERjVHpFYzc5ODdUWW10Ri9jaWxhT281amwyRFp0IiwzMzM4ODoic2hhMzg0LUdXcURWVktmWm1vdi9pUDhlWm1TWG5NTkhIc2xSaGMvM1YyT2c1RXltTjZ1Rm5GVm1XdVQ1c296Z3pDQ2o2NFgiLDMzNDYzOiJzaGEzODQtL0t0T2MxWUJsdHRveWlqREJMeTlFWDJuQjQwMFMrRDhVbTMxNlhZbldZQUFSeDkvMjcyQlpNNUErUFpHVytxRSIsMzM0NzI6InNoYTM4NC1YYjhRTkUvcERBQXQveDUrOXRiWnNwOVNMaWZyVEpXem5yVGdET0JzL0ZSUmpUc294YXJKLzMxNjJ5ZXdIazhZIiwzMzQ4MToic2hhMzg0LWJiUTJuUjl2eGhKSEFseHlSRC9ORkZzdWRoM2dxREVWMUFsZDF5MExyMVA4dG93Rkk2QytQdUpEZXpzeUtNSFoiLDMzNDgyOiJzaGEzODQtaktRSXRLSEg2SDhSOGFlZnJ4dEljbmsyd3VqbnA2UHpYS002UjlkeEMxUE15RzZrV3V5eHdFYVEwWGtxNXBORyIsMzM2MTU6InNoYTM4NC1yU1JwR1orbHFYMFo2VHorYkZYQkRkaS9ZQjlOZGw1dEhPMTdzdzlzNGtxemlRV0t4SkxTZ2JMaktRSDlOaS9qIiwzMzYzNjoic2hhMzg0LWpYendWUkJ1V0J0VmFMMVUvc2J5b2ZveVZkUmE4VG1PWGlWK296bUc5bGJxQWxOTDIvZ2d2U0c3RVVkLzBWcGUiLDMzNzAzOiJzaGEzODQtNEV2b1ROUzZhbVlqSEtmZnQ3UTdKcXpKSFZpU0ZQbkI1UFloWWR6eDN3MzJpUTVySTdITHZYVWd3RFdFMTFEcSIsMzM3MzM6InNoYTM4NC1KVmNabEdtc3JyVzBBdlBaMnRCanljRWlYRno2cTdVRCtnVExyb2RvZURLQnRsOHJsZjk4eE1vUnBhYlluZWJvIiwzMzc1Njoic2hhMzg0LTZweERvZVZ5ZDZWWjdncDRxYWd0amErYkFaaFpLdi9JLzhBNHVDZUpYRTFldjA1ODczVk9SNkNhRmxLTkg2aXoiLDMzOTQzOiJzaGEzODQtandOZEZDenVlQmY3b2FQOC9Vc1k5UWRQS3VZcU1yUHBWeitMRTZzekxHZXJjZjlGdTNUcHl3TXZ4UEVmZUpLOCIsMzM5Nzk6InNoYTM4NC0zNXJpZ1R0ZlBSckpxZHRqaVRLRWQvUDZub2pjUnJvcldIY2l2Q0tvQm1DY0IwS01TSkIyRFRJMnVaQ21jNHVBIiwzMzk5NToic2hhMzg0LS9MQVJGS0QvSStwQUs3OHM2N3U1QmU3RVl4cFJ1YnBVbUxlYlpwYmRvUm5tc0JjZGM2cGxRNzZsS1BWYXYzSC8iLDM0MDIzOiJzaGEzODQta2oxNzVUZHdFS0JLc0lnSVFaaEJHMEJ6dzllOVJ1Ni81QzM0TTRiY3lsWTVCMkptUmpLYU9LbjBrc0Z4NDZvWCIsMzQwMzA6InNoYTM4NC1aNGk1anBaaE44Wm5iTzJBcVl2dVFVdzNRVDkxYkR4V0dqZmE0dFV5aXJHWXdrQ256NjI3d1JTSUpreVVTK1IvIiwzNDM0MDoic2hhMzg0LVNoazhLdUJsdkpGV3ZkazFsQmtYWUgwQ2VPdnIxMUF2REJsN2l3anJVVXhPZVdSWVl4TzZpVGhQUitZTW83YnoiLDM0MzQyOiJzaGEzODQteTQ5V0EwbmdQU2t4RGNNSlBJS2o0eDM2T0FzNTBKRFpqTVkvanc1ZytQakNDd244NWxlMFNTMVpLZWJ3MXNIbSIsMzQzNzI6InNoYTM4NC1lYys3bVJxYUU5THlVbFZ6NVlXdFZIZ1VCUFVJeitqSHZLQWZ3RUhNMi95dFBKdE1JaDdjclJ2TGNmbVU5dWVZIiwzNDM3Mzoic2hhMzg0LUdwRVRuTjdnUjlnaStKOU9DUG5mZzI2YjNGLzhacmhLN1JETzlqYzU0dkR2bGZwNGw1VHd4MGZVb0M3aXJvZUEiLDM0NDE1OiJzaGEzODQtL2tjRTd2TWVVQ2wvZmVKM0lsRkpzbGt3TnFhZWczV0lQc2dvWWlVa1ZaZklDU2FoMEZ2WmdqWjk5UWVXYWsvZSIsMzQ0OTI6InNoYTM4NC1iUk9IeU9lUWFoYmRLSm5pTWxrVUlQQWV6OWFMVW13MThPTWk0OTVJYzVsR0x1bjl4cGhpdDNSQ2RvOEFmK1FHIiwzNDU1Njoic2hhMzg0LXVFWFRkSkdNWHpXY1JkNVVXLzBPYXQzWHg0dnRiMDIrN1FnWEVSaW5UTkZOVHpwcVBSVGUzemp6NnQvZnhIYWciLDM0NjIzOiJzaGEzODQtNGo1OTdjR0Zic285QldHck04Wm4yaVBaOXNOQVlaR2pPZm5aWU1XaU5NVG5vTzRVQVJJekI4ZVozZU1lV2FWMSIsMzQ3NTE6InNoYTM4NC0zTDFKTWQrU1RkNDlQU1BKMHBmU25sMm1sZmxiZkVyYWFGQm5FM3NyTEluTmdFVFRtQ2oxcGpZVXJzY1g3QUp2IiwzNDg4OToic2hhMzg0LVNNR1k4Y21GdzRjWC82ZWFGTHl0czkyVStLWUc4UmlKS1ZtSUdESEx5SElhYkF4TnJrWlFLbTBVVDIwL3hSK20iLDM0OTAyOiJzaGEzODQtNUFLd1YvTUpsYXg0UXFVcVBESks2QkFDOWdoN1ZUZTM4UXZycHRmT1BZM3dseUtTVjM4QmZGY2ExZHpockxYRSIsMzQ5NjY6InNoYTM4NC1jaVJicXNPc2tKc2hiTHV4MjJLSG1SRHFmcTFSY0h1eC9XK25rb3JONUMveTc1OHptenl1bmRRbWg2L21UcHFLIiwzNTIwMjoic2hhMzg0LUFGSDVRWjJ1Z0Q0YUcyT3M2NFp5RHYrZ2UwLy9CdjBvQkdFRk5NMkFnVGZQY256aHV2M0hTY2ErcUt2ZitKWkoiLDM1MjI2OiJzaGEzODQtVUFMbnI5NW11SWozT2xaOWFzTTAyNEc0K0MyaktTei85L2NuY1d1ZnF0VS9nQ2ZyZnNTWXd5YllqRTJGMDNLeSIsMzUyNDI6InNoYTM4NC1NcjNGY2dNMitPaitlcllUa0U0STZUSjc5dnZPU0FNWjJZTmZlem1aMEE1S3NkY3ZVV2lKRFQ3OW9pekFKM29UIiwzNTQ0NToic2hhMzg0LUQ1a1k1eFN4Q1czVmUyeE0zdC9sQlNLT3dhdTZxelFrZFp0YWtGR1YvVVA1eVJzcVY0NGgrUnl4U3JmNWtFSDkiLDM1NDQ3OiJzaGEzODQtOWlJWE9VOW5HWllLQXFHTVVTelVyS0oxWm8yb1lSSTJjekFhUWg3Wmtrdk9rUmZJeERWNjV2MzJDMHRvcmt5RyIsMzU0NTI6InNoYTM4NC12c2NGZnl5Rzh1N0dPWHlvRWdCMnRkMXdmaW5HVmUrM2QvdXRDdkNpbHAvRXVxckM3Q0pnN2FRdHFBYnB2KzNRIiwzNTUwMjoic2hhMzg0LWVWVnZ0VGdNWE03UUtRcEgwNEQvVlBhdnNoRnFzcDcwUTA3cnRwZ3djWE14Y0JPTzJ1LzJXL2MxSVRGMjNKZ1kiLDM1NTE2OiJzaGEzODQtWHcrTWZYdjdHRTI1ckVIRklLNVkrOExNVkZQU0gzdWhmY1M5MCtCM0ZJUDV1RGpGRHQxMG5xZXhtWmV1NzhwdCIsMzU1NDI6InNoYTM4NC12QXVST2xvVkVjMlI3Szh4TmJFbTBqZnc3MHJVR3V6Z2FsUkNwQ3dxbzd1Nk1CNVFLK0tkUTRVck5Rek92SU16IiwzNTU3MDoic2hhMzg0LUJEaGZVNG5LZVNuaTlmaU1BdDhOMmp5am9McmI0K2xtWDhwejFlUkhTMlpQS1VNbXZ0VUQrTTdyUTQ4Y1V0NVYiLDM1NjExOiJzaGEzODQtNHRpcHFNYzRJOW5Sbnd1SkQ3eVo4VitURXJ2a1FHM1RxazdKRVRkNjVOMkQwRmw4cXJQekVScHY1UDlJNUdvOSIsMzU2ODQ6InNoYTM4NC1teTA2Qmk0WFhCKzVnWFJtVm4wd1ZoR0tRTGppandCT2Mvc0s0MGpMalBlRmEvZWljQU50d1hhTmNIamhzOVpEIiwzNTc3ODoic2hhMzg0LS92dElreWI4SkQreURlS28xQkE4ZFZQdTRpL2pzSk10bDZOWEVlM1JRa3dpSlRwZHh6c2gwbkd5MGk1N1BRT0UiLDM1ODA1OiJzaGEzODQtT1hkenI5OGU4TXljVnhVcWRZWnFhWjVpNlFSV0VoSGZkalJNZ3hoT2haUjV5bm42bmNXbU50NXBTcFUrMjBXaCIsMzU5MDY6InNoYTM4NC15Q3dVenJMNE5PemJCQkYramsrTmJUdFNvcHVJTUwrN3hJRjZKemNuRzdOeWU4U2J6bWNsSmVaRk9scUFwR0wwIiwzNjAxODoic2hhMzg0LTJQLzNsZEc4bDFUUnJqcHVNbFR6MTdwNFBLc2JQOFY2Y3IvS29vMWFPY2xzZ0ZGSnRGZTVkbnZKbUJlT2F2eHQiLDM2MTcyOiJzaGEzODQtVHR5RzJLdGE4UmpMTjlsWmhESXpRSkc2VzR0ZlhaRGp2Z01kTDFxS2kxZG9EVFpBaTNXUFNmdUhJdW4zSzZnYiIsMzYyMjY6InNoYTM4NC0yQzQ5NlROV0dqcVpWOVNYRGlMMnk2Q2owblBtdTZ4ZVJLR1FDR1dRRUFGRDlHUyttejMzTzdmL0U4WjhBRjNYIiwzNjI0MToic2hhMzg0LW1RVDNZcEJXOXY1c3lWR0JmVjdNVGxwdU03aXZZNklncEljMEw0MnRwblcwOWtFV3dkdHpKMEpjVFVuSGs3MEoiLDM2MzU4OiJzaGEzODQtUDdjaFNGeVZjTGk1b2VpL2pPNjl3bDIzMDkwR056U0p6QkRtQUNDZERyV3ZnSDRhT094OUxNcnJHQU5ydVVoRyIsMzY0MDY6InNoYTM4NC1Ic2JWQnhBT3JsR213WXVTQUhoNjhQUTVHTDR1cmg5bzk0VGFQaVdtUVloaXcxNlllYXJhWlhvZmE1RVBKTCtKIiwzNjU1NDoic2hhMzg0LU1mK1NGVlNOUTVkVHgwaWtKcGdOS3V3N1hFWDhkTHRMUVBPVFlkRzRld3YxcnNudldtMldMS2xUUHBpSHcyc1MiLDM2NTk5OiJzaGEzODQtSEVRbUowOExMQm80eFNVMnlORTZqdWFTcWcxdzd1eHlyc0lWekdOUjhCei9UeFh3NGZ4RzRIaDJvK0lrbnJ6ZSIsMzY3NTU6InNoYTM4NC0rR2FKejd1WXdJejlabXgxU3lkaGpvUUJ1ZTk3UGFPTUpSQmZ1Qmh2S0ZHb0JqMEtJSlNQK29jeUZIWCthd3dUIiwzNjc4NToic2hhMzg0LVNqMFZKMERUaWxwaldXUDRRMWZmN3dTRW1DWngyWWdZY2UzSVZyWDJXMFdIdU1JZDV5TDhKUTRFL2xOd0h1WjciLDM2ODEyOiJzaGEzODQtdGtUdGt5VzZleGhUekZrTExEKzRzNmRlRkZpYmk1Wkd3c0FtZmRYOU5EUEU4Y3dlUFlMSXBTL0tWWCtuZUtXNCIsMzY4NTY6InNoYTM4NC0xVUIrNnpoY1lFWm5GckRaemVBSXNGbk5ZaXJNbXQyYXpOV1RXc29qTXFBYUdBWnA1N3BkSnhHM3o4aU91RTluIiwzNjg5OToic2hhMzg0LW9hVEhqeUdPOVhpTno1bldnRlVVSjFkRC9pM3U3RlZjcU9CcngwSUhlZjhwQUJkb0xBTEFWYWtGaVE3eVNsd0YiLDM2OTE1OiJzaGEzODQtSzBYMXF1ZEo4WloyWU9nb1JPZ3JNZmxBZzlNc2MxRTNranc1eFhhbEVXQjFYU0dBb0s1UlpXNUgvZVRjNXJ5biIsMzcwNzM6InNoYTM4NC1pT3d3eUhtWW5iVE8zRmxrelA0aDhBcWMyUjZhZmNPRE00VE5LYmlJcVRoMjFKOGJiSVlkYU5WZnpxOVVYWW9IIiwzNzIwOToic2hhMzg0LU15Ri85elIzZ1pWUDIvRGdET20zVVB1Vjc1RWZtcVBJWk9yUS96YWRKMXhWTWd5cFl2YWFwbEFaMU9CdDZ1NmoiLDM3MjUxOiJzaGEzODQtTmlsR1o2a25vQkFlQ1JGemFOQTQxYmdXd1lxV3g2UWJMbHVCdFp1THR2aW9wOW95eTlnNjhqK3hjaWdYKzlTbCIsMzcyNjc6InNoYTM4NC1HMmxMR3o1STdjOHB0YitMMW4wdE9UVGx0WFdHbGNjRTVsLzk3dmJBQ0dtZDdka2crSXpRUXJFNWdsWWFlRlhEIiwzNzMxNjoic2hhMzg0LW1wZWpsbUVtclVFOVR5T3pFUU1GVmd0WEt3cmw1c2M3VVZLTVNPYXdmRVVFM0VTWE9uWUFLMHJuU0graEtDS1AiLDM3MzI3OiJzaGEzODQtVERnZGNUR2pGZ3A2aU8zTjgxN0tGTU9aL2NDRURwanBEdjBoSVpVRk9TcXlXc0UrYnVGdGtDcmNDV2QzVGV1ZyIsMzc0NTE6InNoYTM4NC1pNDhCOUs0V0NFWS9vUEF6OXVIMmtDeGtJNlJFeTBXdTJsNlFobE9KMFEvUDluenRQQ0d2aFlGQ1ZqdTdVMXBZIiwzNzQ2Nzoic2hhMzg0LWF2ejNGYnBXMnR5R2FQdldIYlBtVGlkeVd4cmV6TEh3V2taL2orb2ZlaDNRSUt3MDZPdFg3a21rYmI3Y05rVloiLDM3NjAxOiJzaGEzODQtYURCWlM2Q3g5Umkza3lTdkVaWEFuSVIyZnRWYnBiVmlLOEduZ0hCc1VtbHZ1aWxvM1RFZkZlLzExOWtYNHNmdyIsMzc2NTM6InNoYTM4NC1pU0Nla3ZjYkZaLzRIOVZ6eCtQZWN5MUV3VGpuTDFkOXd6OFE1bnNiOVNGekpBZjlGMGF5dytZcVZTUFVmMFlzIiwzNzcxNjoic2hhMzg0LTAreXcrT09HckZJQU9ETmpQU0JlaFRac21XZjd5a0FZN2g4QzliL29ZVXhtaGNTbEhiWWp2Y2R1RlNDeHlYWTgiLDM3NzU2OiJzaGEzODQtTGZMMEhYRG1WYU9HeW9nRGtDRnQyRUNpUjZyeFIwNXB6Y3pUWldrZXIzOW1CeEwzM0VxQVV3ZkNKaEpnVC9SaiIsMzc4MjQ6InNoYTM4NC12RGpCYkljd2R0TkY1eW43U0ZVVXRQT1p6RWdRMEZqajJSQUxKcjZ3REQ5V0orem1PTyt6THRlOGErNzBSZ2o2IiwzNzg2OToic2hhMzg0LXlTbDAwcWh0MkNiVlh4SStpNjZIK2RHbWpZeHBlK2hKa0lCZkNxalViSm5yWHdxR2l2OVNVS2sxcUpmV21lYk4iLDM3OTA1OiJzaGEzODQtelF3Ym1uZVk2Q2xGcjFxQ0xHeDVWdTFTdk1QMFdqQWhBZ2hOdFYvWERIS0JWSzR6bURVdUh6MWNWZVppdWJqciIsMzc5NjE6InNoYTM4NC1iRFArUWsrSUZFcW5QTnhVNFJRTFY2NTczSlZVZ1g1aTM2TkZvc0h5ZFVwYkMyOXF5cEl4dHhlRlBrek1KS0hkIiwzODAxODoic2hhMzg0LS9JaVZiYk4vTE9QcjVSd3p3ZzNld05tUDRYS3IwV1VXNlVtTmVMYzNLVzVIelJ0NVlNRHlVczEvWEFPcFM1cDAiLDM4MDYyOiJzaGEzODQtMU5BSUMzN2YzdmJxZUhETmpJR0pmQ0RyUGg3djY1ZFJIN3lCdU8yWklTeEZOK0NWdU5HTTZzcVZTQzFZcXJOciIsMzgxMzM6InNoYTM4NC1kaVNuM1NDdW1sK2xWRURzRVZiTGhsdjVobmg3NWs1dDR1cGhnWTgwVWFjUGkzeks3RHF1VDZtNkFrakpGYk9xIiwzODI4Mjoic2hhMzg0LUhYNXM2UEtpQTNKSjNtb2N3aHdLc2ZIY1AwdDA0MDkxc0lxMkxaNXg4NnNrcm9oR0V3bFltbHFsalRmTDVBd0siLDM4NDM2OiJzaGEzODQtbG14OVQ5R2sva1FOWm9DV0pMKzl0TEZwT0dRV0VlK3d5YkNteFFwcksra0hBVHh5N29NV2hHaUN4bkV2UzBpdyIsMzg5NjQ6InNoYTM4NC1PK29iY0JXdXdHTTRKVG5TclRycjROeGFvTVJpNVpJbDR3OUVRaHZQUzBBR0hPUjVScEtYZjZldmcvaU5QVXJ4IiwzOTAxMzoic2hhMzg0LUdYa2RqMUVnSFpva0hDQ2hLdXo5bkJQZ3FiMVlWem5ra3JhaEFKVkxTa0lzQ2ZLWnBzYUZqeGZGUXg5YmkwcXIiLDM5MDUyOiJzaGEzODQtYytrR3pITm1XVUx2OVFGZFNiRjlIYWhRenFjdXlPcEkrVllsNEo0U1FCa3FsS1JFeS9aYXJIUDlMTzhLVitQTyIsMzkxMTk6InNoYTM4NC0ybjNvSUVVeFJWdUwzYjIvMzUycmVuSXdobjRhd1pTRHZ0OE9pdGY5cWJoa2lTOHpEY2l4RkdmNnVZU3Flbm9QIiwzOTM0Njoic2hhMzg0LXI1R2xRRERyeURmbVoyL2g4dTNueHRqRzVBQ0pKb3I2SG1wTGZINkozY0p5R0IxU1Y1VVlhaFVHZVFFL0lESUgiLDM5NDgwOiJzaGEzODQtRjhQTTJLclZyTG9iazllM09LTE1oYjhtbC85YUlkVWgwSzBHR05Jdk9TWjNrK20xc1ZtM1I0SE5qRTZkcTFGWSIsMzk1Njc6InNoYTM4NC1VbmZIK1ZvK2d6OGhGendjVW13bUFNMURDMEVWU3lLOSswOE9GSzVnQTMxeUI5ekNnRGdQZ3lSWE5nWmhOWXlaIiwzOTY1MToic2hhMzg0LUMyWUlSVGJTanBSWlNPeUx3UWo5cHlVdk5sVDRWcXoyU0kzMlJad1NaRCt0MDQ4SThzSXI5R1V1UWFMREtheGQiLDM5ODYyOiJzaGEzODQtSGE1Z05ITzJDblY2M04vcWxWbVZ1ZURBUyt0aE1iZ0RxdFpUclgzN2MyU0Z6blBzaEpWSDByU3gzcUt2N3V6TyIsMzk5NTQ6InNoYTM4NC1KcVNHb0FSUHQ5U25OU2hkTWd0RjRvdU05SFJpejNUS0N6WDFlOC9nbFBBTEVWZlVydFRCWWl1WTlZZVN6NVRQIiwzOTk2ODoic2hhMzg0LUE1ZVV0UGNBVGVwR0dJa2dwNStqZnZpR1BjZ1ljZTBRRWRtbnY1eitsYXhVWXZwZDhUUk8ySExqTTd6TS9MbjMiLDM5OTg0OiJzaGEzODQtL1RScWR3TkdOdHdVN20zMmhHcWsvTmhUUWU1dlI5NkUyaU1KdDRpdUxzS24rbFRGWjhic3ArcnlGNGVXWVdHZiIsNDAxNzk6InNoYTM4NC10UjltM0RPaUd1R0lFTE5BQ0lYcFRLUko3TWlmc21rVFNlY3krTlE5RGxBbUFJb3FUR2p1UkVBeGtXeGpOaktrIiw0MDI0Mjoic2hhMzg0LXFsYjRJa2FlWkZlUFJ3ZWl5OUZjRTBuYnV6ZFpvakRBNWpROFg1VWxPc2o4YmtZYXM3bGdOSlUyVTBad1NKMmoiLDQwMzA4OiJzaGEzODQtSHBuTW56SEpaY0lyUHRwMGt5NlFmVWg2THo3N21WVGdxT3lQQzRiazNMdE1Pa28rQ2ZPN2REM0pxVWRDN1JpUCIsNDAzNDM6InNoYTM4NC16cThNN1NuekZ5KzUvT2NGRTF6NmNuSUtTRFE0RFV2Q2FVOFhwK3c3dzJDN2JRb1VuZFJ5MGcvMjFaNHg4NWt5Iiw0MDYwMjoic2hhMzg0LWpRWmVjYVlvNFBpZCtLby9JaWNOL3VDRDIwQjkvWWxNUHNSczJlLzZmNWJZVHZVanR3UGtyNGJnVUZoYVNxbVYiLDQwNjA3OiJzaGEzODQtT0tZMC9zMnloZm9jeTZXcDA0ZGJ1SkhQRk82RTJZc2VKU3l4bXZBbzF5Wk1rZmZsbC8vVE1XcmFtRkpwK3kvbSIsNDA2NDc6InNoYTM4NC1leS9xWGJlaGFhUkJkbHpQVjJFREhQQ0ZMYjlkSDZGUXdFd3Z4ZDhPRHZScGhjK24vM3psNU5LQi9PUXhwaW9BIiw0MDgzMDoic2hhMzg0LUFjeW1WR3V5ZFNkeXFDWmtqS294T1ZieUp6YllmTjd3WDVlT3J0NTVWTTRDZkpQbEVTbUVpb1NhSTB0M3ZsU20iLDQwODY2OiJzaGEzODQtaTVMVUdIeWExODV5K3IrWU45SmpnYWJsQWNwQkNCZmtQMm1DTTZSTXVETlFaUkNqVCtOQnF0QUFIS0FEUm9wcCIsNDEyNDk6InNoYTM4NC1wWkNMNy9xQUVkNHBleklXeUZkUGVzT2grT3NtR2pzdUpJaHU4Z1JoNW1pMGYvbVlZUG1Ua1pGQWJRaEEzU2lkIiw0MTMzMToic2hhMzg0LU4wUExtVUhhYUNIMmQ3bUJydWIxelhnUFg5cStFRGxXdkNPRFJISEZVRThESDg0L1VDSzVwNS9IVUpGME0zczAiLDQxNDY0OiJzaGEzODQtYWRua2Z1NlJqVEdnN1c1elZVVEQyQ2RGdkx4N0E4T1M0MVMzOW9GUVh5RWZjUDFzeWhRbElRNGNKNitvc3pxNSIsNDE0NzM6InNoYTM4NC1HUXQzWjYrU0c1S01PR1NpK1NkTWpudUh5YnZ1dzFyZHNIQ2ZVd2VSUVlsOTNTOU1DUXltMUQ4dEFnVm9yVUpkIiw0MTUwNzoic2hhMzg0LUFrc0dMNjJpVCt4QWxyRExlSGg4L0lEenhRRk1QOHpMcHpUdXV4eFk3dGNSajErcHZIS2xoVGt2aU1pbGtnWGUiLDQxNTI4OiJzaGEzODQtUWI2clVYVEtMakFSUk5OU1BIdUZqWERVSnQ2SnJMUmE3WG4ycDgyRFR4Wnk3dzkxYUUzeXFUUkt6QnNnUmY0VCIsNDE2NDc6InNoYTM4NC1zT3ZCSm9xL1VWUjBtUjVFa2w4cVpINUw4RUtqakQ4TGZFcUtrYWljV2lkcFFYdUZUb2s4a1d3WDBXY2plZjROIiw0MTkxMzoic2hhMzg0LXdUUE5nS3ZKUWEreUMzSnRlSkN0cmxOUTgxSkZuODRHZUdKVlp4U2tUVmsxVWRrOTBBd3JkSlY2UDV0cjlXZ2ciLDQyMDI2OiJzaGEzODQtNERMd2tNbmFoMkxITjQyaTNwcVBHYU1FTjNjc2VkNGFnNXFIS0hoajYwVnJpaEJadGJ2MGpOVTMvbmhPdFFpZyIsNDIwNDM6InNoYTM4NC1aNTBRK1UxV2dKcGcyYXhFOWVzYkYxQzJaZk9CYUdSamhxRTVWUm5Kb3BhclUwOWFHRE5WREJBOG9HZTVqVmtrIiw0MjA2ODoic2hhMzg0LTh0bFhDQkZ3RDI3K3pyeENJVmZQc0tmQmFQRGQ3NDh1aFJ1S1NaYmRNZkxVNU9yRlNFazRQTW5idHNLSUp4cDMiLDQyMTA2OiJzaGEzODQtYU01UmtQTEpJOXZxZ2t4dm9vMjNQdmt5S0dXMWNnaTlOdjdnM1hpaGp6WlYzMjFjbEZDUnV1bU5tNEIvQWV3TiIsNDIxMjc6InNoYTM4NC1STURrc0crTGtkYjdHZ2haWDdLeDlTVEd3OGJJWW9sY01wR2hYa2dMVWQraERxWjM5a2Npb0tQNVp4MVk2eWVQIiw0MjIxNjoic2hhMzg0LTFrSUw5U2RHdkp1LzlIclJvZlM4VmYyQnBPSytVZ1h5YXpWTEROeWxnM2FxbEtQRWZBRGFCWkQ3cHp2b0I3aFgiLDQyMjY1OiJzaGEzODQtc0xNZWNvaXRRMlAwd1JVcWN2R2c0MlF1cEtCY20wSVBqTDRkbmRZTnNjbEFHdWdOTDZqOVhsN3NXV0k0a2Q5RSIsNDI2OTQ6InNoYTM4NC1iWTB3QkVjaGpFdHRBSmhXQ3QxRE5CWE4yM0FIekV2L3FydmhQQm85WmFkMnpYZ3Q1QzBOSSsxWTZmUVRTanZiIiw0MjcwMzoic2hhMzg0LXc4Z0h3RGZFb3duNmlEQTVBL0RuVkVJaWpQMEdPT3Rxc3gzYWZLaWZaRHY0eE0zY2x0d0JXYmJnZEN6R3AydFAiLDQyNzA0OiJzaGEzODQtTm9Vd2tKMzRXNmNRYzVaeFRuSVNQcHhncjkzSjZvckdRQ0FJSStWM3o2ekJZRmJpUzF0THF4cEczUjZLT1J1SyIsNDI4OTU6InNoYTM4NC1FRWtIRWM1UUd4L1JoQmFQdko2cU5iRTA4SWtKck5QV2x6U2pLcEJLZUZ0ZGJnTDhOZlJ2OG00M2J6Rlpxa0ZhIiw0Mjk1NDoic2hhMzg0LWFjN1R1TUdUY0hzU1NIejZoZ2pPT0kwbURBblY5RnljQkxHeHRNUTR1Y0VjMkt2RUhsUmMrd0REelZ3UWVIZk8iLDQyOTU5OiJzaGEzODQtRlVEdWV3dEhKbm9FdGdHMkNwMTVxZGFXMlRKVGRKNThmemNDdGFYZ3JQa1NPQnN4dy8wQWlsSktqdyt2ajFtRCIsNDMzMTE6InNoYTM4NC1NNGdybkU1Tm91cjNtazdQcUFub2U2QnlaTGY2ZVlSaVVwU0VEeEJsU2hLUk4wT3pldUFudDNwV00xdnpocnc2Iiw0MzM1Mzoic2hhMzg0LXN4aXFpbkJIR0NKQ3czbTUxc1Q0U0V5V0ZZWCtHVnMwck9oZ0FCUGlLYmVjcUswL2x5Z205djRpNjlWU0JGTGsiLDQzNDA2OiJzaGEzODQtalE3WHpZeFlIdUpsYk5CNk43Q0gxNy8yUWhpdmNlY3VZTE5wRFcyRC82ZVYrQkJwQmdPWjBMdVFTUlAwK1FLWiIsNDM0MTE6InNoYTM4NC1CQWxheVdJM01OZDFOOHdzYU9EOUlOUmFkMTN2TENjTHBvajZjeDNUMUxRVzY0eDEvWjBFQmpIZHFCRU1MNWgzIiw0MzQzNDoic2hhMzg0LW9XRkZYVFFTS3dPdVhrKzVQYTQwbDBVT1J1d0xZOWwrMHVQSU5RNGtkZHp1eFVFcXg1K2NJRHpKeXNjaUE2RWYiLDQzNjk3OiJzaGEzODQteS9UblE0N2psWE9TZThDamN4eFNRVzAyNTg1d3VZdGZ5Rjc4ZnlNNHQ0VHd1ZVd0dmJxOTBmLzBBdVM1MXBnbyIsNDM3Nzg6InNoYTM4NC1mdXpRWmhtekpLSmdvL29XOGZTbUJER3FmZjMwbGs0a2l6dkdOYit4aTgrUGZhWDNyWVF6UWxHUmdnbHB6c0VpIiw0MzgxNzoic2hhMzg0LWJJY1NvWGVTMU5lZFhoaUx2a3M1M21DWmxsWU9TaWI1ZE53bnVTUldkYnNXTjd6d1I4UFBQQ3VEMVBMUWNJcmoiLDQzOTEzOiJzaGEzODQtOG8yVWNDek56UE0rZkFETEx2elZZK3MvSXl6THVDK1FoRlRzTmQvRDdVdG9NNlhPRVJTOUxGOFNsZ3FRbU1YciIsNDQxNzA6InNoYTM4NC1Ec0VyQ3dzR1MyOVprWDFhbUw2ZVFudkdXOTRMcnJqWTF1UjRua0tpQjRQU2FRMEEzMHN5blM1VC80Z1dTTktCIiw0NDIzNDoic2hhMzg0LVV6SWJKZnZoYnNHSkM0RUdicURsQXR5MFM3cUtXK1NjQWZDN1M2U2hEZVNtRWZIUEV6VGdZai9Yd2U2MCtQaDkiLDQ0Mjk2OiJzaGEzODQtb0tLUHFQYy8xdXhYWnlrZE5oSzRBYWFTbTFVakF0LzRBWVdhLzVWUGwrWDZSTlFhWnFIcHJlRGtqWDJ5eThVcSIsNDQzODM6InNoYTM4NC1SSlUwMnF6SzU5clBkeDY5YnRxc08xdDB1bStMT0tTMTFoc2x4WjltREY4U2ljTXZqU0JIOE15WXZSRHhhQ3ZnIiw0NDM5MToic2hhMzg0LUI0NWpwRmlPVjFOZUppdGRTelNFN3JVOWYzSW5YTmxKbGtsbWQybC9VS2JrY2QwbzdXTW8yNHk2SkZDODROS2giLDQ0NjA0OiJzaGEzODQtdmtFcjUyeG53Z25SNWNNdjBYc3c0V1d1TTlzSktRdHpyS0g3djB5bTNlOWJlOThyK1VwVEt4U2xja0owbFladCIsNDQ2MDU6InNoYTM4NC1zaDRnaU9mOFFaeDlYQ3FUWUtjWnJTVkpaU0tEOTdmcldxeDA3a3ROcG1tQ2R1SktTcjZRRzZSVlkvSmlEZ01hIiw0NDY1NDoic2hhMzg0LU92ZFBCMy9nTUNPQkNkWDJma014NmVISXJkWmk4OXlxS0FjVGh2MXMrQnVFV1BBSUY0UnVENXpoTEpSbmIwZG8iLDQ0Njg2OiJzaGEzODQtWDh5RWwrVng1Y05XMEd4QUxkbzVJNlB4eFZaWkpUcTRsWFRIaFBmeSs1MXRnbTN1RjRseUJRSjB4akhXRUFmOCIsNDQ2OTQ6InNoYTM4NC1lcm5OV1RNd3VHUmRBbFhQdnVnMnpEN1F4YnpzdHorWWlmSnJZUC9CNVQweE1KT0JqWlNhMkh3bnIyQ0RoTjdqIiw0NDczMDoic2hhMzg0LWNsWE5lR1RHWVRNN3daUVIwMCtNT2RVVm5SWHJ2c0ZuNFc4VHptenB0aHFkblE1b2hINTM0eWdRbm5lbkNkd3oiLDQ0NzYzOiJzaGEzODQtQlY2eEdrTW1FUlowSHJvL1Y4cFo0UjR6d0Vna0svWFBUaVRROHFhTnk4dnN4b3ZNREZXZVkxVmsvbEIySFgxeiIsNDQ4MTc6InNoYTM4NC1EeHdUZ2xlSzFGM3ZxUVFXY1B3aFBOV0RTR3FuVnhpQnowYWJaZHhPNXI3UnZ3dlVwMmZOcS9BQU9mNWRad0hjIiw0NDg0NDoic2hhMzg0LTRkZVplMXdvTDRCQlNoRFFkVGx6dUVPYlZqeXk3L24wdEpsMWtrbzBOZWF3bXNLYW81ODJSeHVrZVBzZlBpVzYiLDQ0ODU5OiJzaGEzODQtQnZCOHRqZ3pNOUc2YWYzQU1VTTJnYkVxUjdqNDRUL2dWOUVYUnZvL0xXYjVGOFlzK3I5M1Y3MXBLV1FKb3Z4OCIsNDQ4OTc6InNoYTM4NC14RTNRNmZ6WE42OXhMTzhVRm83aSt0aGVBWllwYzRUMGtRU1l0ZkJJbzk0T0UvQVV4d3VES0NGb0plOXNIK1M3Iiw0NDk4Mjoic2hhMzg0LTdGa0xZWWpzSis2d3k5OWxteHRXUlBVQW52WTkyVHhubXFucTE2UEordGpieTNHemd4eDBwdU4rYmljRDRPclUiLDQ1MDEwOiJzaGEzODQtVXhXVDZRbmtXNFgvT2lrbXpBUWRtK1cwRElPeXp0RGh6MVhqOGR2aWpOZlNnVWhqNEJoUDJZSlUveHpXVG43VyIsNDUwOTg6InNoYTM4NC00Y3RXK09DZk42V0NrVDFuVFBYSDcvSDF6bGdpdnllRk1md0lNT25McmI3RnlQMldhRzMrRDMvc3NQM2ovWExFIiw0NTE1Njoic2hhMzg0LWFWN2hvVFpTMW1iU3VCUUNxYStUZHVFOENuNW1nZG9hWU5PV2N1bUVJMzJ0QjFZRzNyVFV3Skw1MTgyUFZXU1AiLDQ1MjY4OiJzaGEzODQtSkt2clJYRlZjbk5TRXhYUmJBWFJDZS9TU3l3Wm9jcWFDSkxYc0NJVldZcGY2NFlqSjlDcU4vV0tuR2xMek1JWSIsNDUyOTA6InNoYTM4NC1GTmkvanJRY2pKU2JEcldIRlJXNUF2ZHJuWHBuMS9rUXBxYWU3bHQvQmdqUnhDR0NWdVRWUkc5ZDVLdjdZUzNJIiw0NTM0MToic2hhMzg0LXN4MWJjMmFWazBPckdrcm1EZWpOVVArbTBKSnplaURnOXk5b0l2ZDdrN0lqdUlSWEJJaCtQYnpSckt6bVpzelkiLDQ1NTM2OiJzaGEzODQtdVdWMTQ5Qjd6T1lMRWw4ZnJsWVhDdWxmUktMSm5qYmtJZGpiOHoxNUFGZytKN1E4eWlUcWFZNDBIVlZqTHphSyIsNDU2MDE6InNoYTM4NC1ra3U0VWpldVg4SWswTmRZa21IREN0dU5UT1hRZzdzeTVzWWVxYTdFNnJOYkllNG85a1pDL2tPUnUxN1VaRVIwIiw0NTczMToic2hhMzg0LWY4S2xOM2FQSmlxWi9CN0V0amZ4aFNQUFlaK0l6QTR4eUQ0dkpIbzZDdFEyTFlZa3BaRUV5RUpVeGM4UmJhaEgiLDQ1NzUxOiJzaGEzODQtWWIxNnJkNGp5eTJMbHZHV2RWOHJiZmwrSzNUM3RMZDBUUVNOUU5kY2lZL2w3YUE5ZzI3ZXQ4VlFXMFBCQkxGZiIsNDU4MjQ6InNoYTM4NC1NaXcwcFZmbWROTEhnRXN4Vk1XT1o5OWdzZFJER2l2Rk92Tm56UERtaExlQ1BvNHhWQU5ORkhVTWl3bWVJSElEIiw0NTk2ODoic2hhMzg0LWlSK0ZUTmZiaVBrYW01SGNOZ1QwcW1YVDhPTndpNXkvZVNpWDFxMDJObU8yNVFtVUdvbDNMb2xBZVJ0RHJhYlIiLDQ1OTc2OiJzaGEzODQtN1ArcmlFVzhwenJuL0h0V0hMNEw3TVpxK3ZFdnpaMFUvcXJpYUx1TEFNZWw2RER1aXc5c1pQUnZ2TFFKZFlhNSIsNDU5OTE6InNoYTM4NC1ESnNmM2FxbVA5L2haOXhVc21TaHBLSDZqZ0QrUVhWV0ZRZjhtRmlwU1BMKzhOajRFdCsxOEVHKzlTeGVtNWNCIiw0NjAzODoic2hhMzg0LTZyYlAyZTlhMWlWRWdYdE00NG85OEk2SGFWMFpUSUxRRGprV2lEQkVUa2FDbzRUWFRtOVhVMEdDdjlxbjFDNVUiLDQ2MjM3OiJzaGEzODQtdzlvd2kyUXMyNW9OMXBRcHp5cTlTVGM4ZW0vTHRVR1dSVG9rVkpncVNBN1ZFVzYwTFBnSXdXZzVCZFpISlJzSyIsNDYyNTI6InNoYTM4NC1lbjQ5a0k3NDNaRko0YmJWQkpzTjIrQytVaXY0djRwSW9OT0pZN285SDVlS3hjbDdCTEdEY3VISlJodlFkRXFmIiw0NjI1NDoic2hhMzg0LThVdG1jSEY2dmpxMkdmM202Y2FCK2FBWmlsdXVMd3Njc2NxdTVpNlVtVG80WlhuME83WEZUMDRTd2ZWSXJYbnMiLDQ2NDE3OiJzaGEzODQtaW9tQkJnUm1DUTBZSmlobHgrQUxTLzNtSS9MU1F6N1VJYVV1YlF2ZHpadERDeFhRWEpwdWxyczdFRnpaUisvVCIsNDY0NjU6InNoYTM4NC0xbUFEd2xCUUgwR3JpODdTVEdSSGMweVk2RHNHcEZNY3ZVNUVuS2FLc2haZkdqbkhHNUJCTnh4YXBTNlBpNmZBIiw0NjQ4Njoic2hhMzg0LVFMMDdiUnpaUVdqd1p4eUxBbFNscHNUYXlNYUl5WkdPQVNCTjlLUzBhVU1oNTVOR25ZNy9OTDBrVGphU09ENlgiLDQ2NTI1OiJzaGEzODQtaGp1eFBjdldSY2tEK25sVmxsZm84dXBEYWl0Y2FyYVNySWFCWGxQTU43T0l2cE5UTnZKeDJIczFvT1lrU1dESiIsNDY2MDk6InNoYTM4NC1pZmhtbGh2eCthWmR3aWg1QTY0K0EzWkNWYURUSVZxcXBRR1NaUS9MTFV0QUVhdHJXNENNZ0NKckRuVVluQm9RIiw0Njc2Mjoic2hhMzg0LXNmVG4rWDI3cUZxVnVUZGhYT3RCWDJtNE16LzY0bXdjZ2owY0crSnV4Q003UHlNK2pUTVNqL3hIYTJWM2UyQjciLDQ2OTU0OiJzaGEzODQtWE10Tm5pMzZZOS9PbHNPY1JrRVQ5bjk0TGlaQTNMb0RoU05kbHJHamJKaWhZMHBWbWdESmhmcmlVc3BXMU9YdSIsNDcwMDc6InNoYTM4NC1tN3hzS2pHbytiK2VWZjNBVTZHWnN1T2xsYWZ6NDgrczhsRkVkVGFHVXFYQ0tHSEM1NGdveGFpUGw2UkNualBPIiw0NzAxMzoic2hhMzg0LXI5UXRFKzQzdE42QmU3bUdpNUt5NzJwY0E0R1Y4UGpaNXlCeDJocldjTXVScTRQZktseE1PSzlpSkR3RUFtK1ciLDQ3MDE1OiJzaGEzODQtbFZPNkd3bWRhcllWOVBBOTliRXFzMUlWSGNQc1NMUWF0a2FQT0VmMmpENFFkc0JjMFQxaWFZcll3SGR2d3Q1bSIsNDcwMzE6InNoYTM4NC0yRHpIeUJOWXZUVDBvSkszbUlSY2QyQlFSSzIySkxBVGpQeXdKckFIN1pVeWhzVWlsSFNCQU1YSjZkYTZGUWhMIiw0NzA0OToic2hhMzg0LUUwME5rS2M5VGMrQWZhNzZoeW8zcmtyTDRXd1U3S0NSUHVqSjlibFhFVE9La2U3WERFK0FMSXdreHFLbCtkUXAiLDQ3MTc1OiJzaGEzODQtTFF3U010aXZVbXIyY3NENmRWL2w1by84OFp3QitCRWcwNmRHN0pyRTgxWWYvV2praHdHZkJadHFVbHdNMTdhZSIsNDcyMTA6InNoYTM4NC1aSEhNT09GUUthTDRMT2p6WDhSQzEyWXlJS3IvV3MxZXdZYmVIQXFRVG5rUVBhckpGSU5OOTg2LzF3Z0tVLzFoIiw0NzI1MDoic2hhMzg0LXlFRjlWZUlEa1hvWlR3QnNHUlRIYjVmaCs3d2xkTi8ycXFMZWg5TmZ3RUpGcGVUbjJ3MSs2eWNtODI4aXhtVTQiLDQ3NTkxOiJzaGEzODQtQkJuNUtjUDJ6YlhsVzRyMUpCeExvcktVWnNoM1VNS3I0dHBiSEtUS0pUMHNSR09XM09Hc1orYjFRZWliZ1ZLUCIsNDc3OTc6InNoYTM4NC1nMGZaSzBKODNhTGxhUG1obG9sV1JZMkRhYXJ1OG9nOERZYiszODRWQm1PekdnQ0VuZVY4MzZJelovUGsvOXZzIiw0NzgzODoic2hhMzg0LXNUN3lFcFFiT1hpbDZBQndsTDYydkFGQ1cvWGpOUjd5NlRkSDNmUHJYMHFncHF1cUlFR1BiK1UvVC9iVW5jUGsiLDQ3ODc4OiJzaGEzODQtNm94eGpUUzFOa0V0MGszWDN3Q2dTd0VBb3hPR0E5d2NaTVVHbjFRM3hRYWp4amdVOG51RHJmSFZPTkJEclRPMCIsNDgwMjU6InNoYTM4NC1hQndHZlRUWG0zLzJneXhHazh5c0dFdjNnRlhKVUM0V0JkUUdaWWdlRHdEcWZTcHVOVGVmYU9oVnh3d2VtdmovIiw0ODAyNzoic2hhMzg0LW5aWnh3ejlqY0lvWmJjQVM4dVNMaTlXcFh2ZUt3Nyt3U1pYYWRidS8zeFBUK01HaWhFY2Fwdlo4dkE4UVVLa1MiLDQ4MTM5OiJzaGEzODQtYWRMYUFkbzVXYzFFbWNVS3JaOHE4cEJVYzRpMmc2TDFaSDAzVUc0N2dtMWtNZU9TSzA2bjRuOUh6N0luM3BZdyIsNDgxNjU6InNoYTM4NC1GQ3NHOFBxREVWYng0Z2tiUldKWXUyV3JyUGZxVDhiYXQyYW9JOFQzZGFHcWhBemppSzBpT0tLK3dsaDZFMXpxIiw0ODIwNDoic2hhMzg0LTduUDI4c3BNTDA4bFAxTzN1ZnBWUUFVQ3IwVW9HMnh0YVJQQUt2cFh6bVFQdzhpSWlwMHlMUTdFVmk4eWhnSGUiLDQ4MzU3OiJzaGEzODQtc0NMd0I2UE1odi91REYvemtGMEhqdWpkeUw0S3kxVmpqZUtJbXVPZnFWRXgrVUN5NTFYSFhJOWdnU0JQK2F3YiIsNDgzOTA6InNoYTM4NC0xVnVzMXZ6S1NuTjRiV2hXaW4ySmZpRUZDdGFaam1qOGRPbzNkSWpMTmlSM3VidmRrUFIyN0h4U2tlZDhXemJUIiw0ODM5NToic2hhMzg0LUM0V0wxTThFK01DaXc2cGFKa3dYZzdXOFJLRWNuQjhUZFpJSFFFUVZ5Zk5ib2NEODNvdURJQmUzbEprU0MzZ3EiLDQ4NDE4OiJzaGEzODQtU0FmN25vTmhVU1FWZHA5QlBlYmUycTVidXRJSDNxZGZzOUVXUktMZjBrdmJIbmVsK0Vtb0gvaXFXYmhtNGxZeiIsNDg1NzE6InNoYTM4NC1zYmhBbFB2MS9iVnhnMHg2YXhVdHdwMHJ1Z25QOC9jSVlmMnZDTlh4b3VyeGNEb0pLQ0l4K0pFNk5WQUg2TU5BIiw0ODY0NToic2hhMzg0LW5LRG40SVJ5WlAvaVkreXE5VUxLemhaZStVd21HS3dlelR4dW5rYXhYNFFQOWIzV0RJeGY1S015TFdFZlR0eVgiLDQ4ODYxOiJzaGEzODQtY0FOTUVJMURXZ0hURlFITXFDNlhLR1hlOXpRN1hOMGdIQWFWaW1WdHdIUFQ4TWNXMWkrbGJMdmsydnRESlowRiIsNDg5NjM6InNoYTM4NC1nRlJhQ3FwR1k3UmxlTWNhVjI3RjlEZ1VVL2NHWVdwSHo3QjdpellnR0g0SlZ5Z1IxNHRITzJ3Vi9PbG1NNDE4Iiw0ODk4MToic2hhMzg0LTdtQ3BHWEpGcEpTdEZiRjhGUHExOG5GcndWYldaVnVTZ29uWU5qeDNPaVpRZ2tDcytHSUxQY091Tis5ai8yalIiLDQ4OTg2OiJzaGEzODQtcmJyekRNcmtWcVdjTSt1SnFWeEdNNktYcXZ4RTVBSlhyZU5HejRHU3FzRzhTalREYTIrZ3dVVWFzbzFMWVVFYiIsNDkwNjI6InNoYTM4NC1ndThmWUVSZXNKUml4WFdBUCtBYUUzRlFEZW9qTWJXQUdQcjgwYmMwYkZJQmlmeklnS3RTRU40QVVvdXhXVXB4Iiw0OTA5Mzoic2hhMzg0LXBPSk42M21nRnZ6aVlFdjF3WUhZZ3lmMTYzelcvNTNrZGFMWklpeFlCNklBTklUZ3ExT3pBRWQzalBHNkFwVkgiLDQ5MTY4OiJzaGEzODQtOW5Oa3hvRWM2LzFEWDlza2ptRXVVWGVPUXBiUVk0bXJkdTMrZzRQREZkeFBPS0t2Q3pUVHZmNlYyS2p4bHM0KyIsNDkyNTY6InNoYTM4NC1MTnF2Y2lIT0ZOeUc2RlZLdkwyMUNyb0NjSVFGbUdZekJUVUxGbFFabU52c2Irem1jSTRJajhnUHFBeVByYnE4Iiw0OTI3Mjoic2hhMzg0LTEvbnVNOU5nMTRLSm9IMUJkd240TXNSODgwcmE4UmlrOVBKWVBubVhkSDFEWmFIWFpNMFY0QjVIUG5sVlE5a0kiLDQ5MzgyOiJzaGEzODQtVzdMdXdaSXpQNkxnL0ZQN1UyVGlsVUxiM05IV0poUnVhOUJ6RFpDOHhCMHdNV1oyaHVzR1BWT1BSM0ZMeWdrTyIsNDk0NDg6InNoYTM4NC1oT1hOKytMK1hlZU1KNlRMUncvMjllM3F5VUd6SCtackN3b2lKSHVYQWZ4TUtqNEtmZUdXb3FOUGowdUM3a3oxIiw0OTUwMjoic2hhMzg0LTBGQjc3NGlpczZKVHF0T1o4bi8vTVFmMCt1N1VMbzR0UmRlR2dOZGZ0SDA4YzlVem4vWVBCenhpMlRzbmw3TkIiLDQ5NTIwOiJzaGEzODQtaytRTmhLSlhZb1RleXNRZlRSdjVPV2ozUkd1WjJaQTVwRnYwK3ZIRnk2Y1d5NU53cXdBT011ajVGcEhzK1hiTCIsNDk1NzI6InNoYTM4NC0wYVBDVTJvVnlIM2NVYnNxTmZFYUZjM1IxSjh1akdCS0Fhc2wvV045ejRNWWNOSmNScEFZZXo2NTNQZTkrZEp5Iiw0OTYxMDoic2hhMzg0LUh6R0Ivamh2VlNxUndYMXdORHpUTVAwQnlDMm9pV3FZODVMQVBhQmFIOGVuTzIxczJvU1NoK1FSVkNMblk3d0kiLDQ5NjIzOiJzaGEzODQtSzEzdHk2Y1FBbXJ5NXNYRldXdWZkb005VWJFM21BOGZZSTMvWFJhRWNsVEN3cmgxRktlZXNkRFI2dSs5QmRScyIsNDk2MzI6InNoYTM4NC1yQ1B2VklyeEpJaFdYQ3VGMzVpNW1malV4WEsvRmoxbjNwZjNrSWdiQXhXR1RGNVh1aTliNkFEaFVtWlJTZzRBIiw0OTkwNDoic2hhMzg0LWJObEdaSVFXZGdtTC9xZHZCRS93T2JSM0lYWGxuZGdCemtoMHpadzZVUisweXlPWDB5WldENEdLWjdLZmFUYUQiLDUwMDEyOiJzaGEzODQtV1BxL04xd3BSNEd4RDVsM3Fkc0tudHk2aWYrbzUwTUl3emYxc0RwOGFVMXpqRW5uaUJRS2xzczQ0MHlNbXljeSIsNTAxMzg6InNoYTM4NC1BUndZLzRPNEd4Tit6cmR1UE1FM1VsWldERDZPNUhLTE1yVExjd25VZTVsSHp0VWFPbjFUcnVGRFc3SDNEOWxqIiw1MDI1ODoic2hhMzg0LUQ4dURYbkR6RjZBNWErSHR3dk9uZFgySnpJQ2NRNlVEWkxqcjNudk1PQzhMT3Vud0MxWHFkclBma2hUOGQyTGQiLDUwMzYzOiJzaGEzODQtMFdzWXI4dXYxUXVITkdqNS82V3NzT05BRUVndUwvZjFRTVM0cG9tQ3I0dkIzVjBBYzNBQ1N6ZytYak1VT2xsaSIsNTA0NzM6InNoYTM4NC1KWDZxZVQvYWlMeEYzMXBpTlo0SGRFNEE5SGpTR2NnNkdhUEhwdkdzUEN5V0FLVUo5amV0bWZocmExSUVSeGdXIiw1MDU0OToic2hhMzg0LU5GeVFzOUVXQWxJcFp5eXdjTmNxdE80T05GZjZERk1mVVoyVzMreFlvVW1xc1RuVitDWEhObUo2NkMyT2hieTQiLDUwNTgwOiJzaGEzODQtRS9WTmZDc3Z1R3JXb3NMRXplaEh0aE84bDVBYVRySUxEWlZTOS9VQVEwMkd1K0pTbmVNTlJpMjRidEphQ0diLyIsNTA1OTg6InNoYTM4NC1EYkc5b2I1YXNabkRXV0VMUmRBbTNWekUzOWd4Z2lNZVBMWVFpd2lrREhHSkZLcmttNE9NQk1YdjVoRVp4WnY4Iiw1MDYwNzoic2hhMzg0LWFHZ0tEZU40MG9wWVZ4UFVoNXNqQzdHNmxmUHAwTUMvTU4xUFFoeTFvYzAzSUNkUkJZSVFKNUNyNStGQ2luWFAiLDUwNjc1OiJzaGEzODQtZkZkZ3NySCtMN0JIeFlGZXRFTmFDRHlIVlNWSGhFTnVNa3FKdDV6cllkWUV3cTJSWDgzaVFUS3RsbDJROXlFZSIsNTA3MjY6InNoYTM4NC1HTlN1dUxPenhJVDBYTzAzd3ZFWXVTd2dJMU1OZEswaHRTWFdmcnA4dVVNRjhnbDFjQWp6V2JkRWVROEFjTXFzIiw1MDczMDoic2hhMzg0LU5DYUZoRzViM2kzeE8xN2Y3ZnhRaFZ0THhCZ1d1RVh3RGdFQ2VFV05qa3JmUWR1S1hYaTBQdGRMa05odXU5eFgiLDUwODYwOiJzaGEzODQtV2haMXlMbXhYd0lDMXNwNGVja1BmVTR5MmIyUlZqVDhEUTRxbEtCUHJwQ05Nb2taTkUvUGUwcWI2MC85MXpKVSIsNTA4Njk6InNoYTM4NC10dnNvWndJSlR1YVUvT3g5ZmR0TUVYV1J3VmlMMm53VHZUb21lZ2l3aTM1dnBlTDVwZlZPNzVFREFvZ2tIWEQwIiw1MDg4NDoic2hhMzg0LXV6WUd2NEF3ZHp5NEx2V09BSVRmN3o2ejdid2xha2lrRzAyZEZRVWdacFpmQ0w1R2tZQm5BSUNUaG82RFNDN2siLDUwOTEwOiJzaGEzODQtekg3d3QvamlzREE3dkVEZ0V0OExrb3NKYTNReE5ZWFA2OFpyTjA0RU5jZ0NrTzZXU3hjSnhwckNpWkRCWktZayIsNTA5OTU6InNoYTM4NC0ydy9jclhtRC90NFVWS05hL2dqd1dpa0Z1WEhjRWF1aVJCZDZsRFlZdGk0amZLRWRTVERSSTBzcUFPMDNJZ1lGIiw1MTAwMzoic2hhMzg0LXFJNmpqT0s0TDNZc3NEMGpFSUZPZ2lGc0p2VlZaU2FEMTZZeGJ3ek9XdC9sMkV5M3lxcFk2bFUzaGtVN3JVbFoiLDUxMTM1OiJzaGEzODQtQXJlaldQYnJzb0NDQVlnOUxwVmc2WFhPdXZybU81c09tWEJJVS90bGx6SFV4VGY0clNzVFFONDRZWUs2aFprRiIsNTExOTQ6InNoYTM4NC1aOElOQURkVkozWXZyd2w0Ukc5T09pNWNOYUF4c25Jb2VObmlYTGVCM09GWENYWWFSclFrMHZPaG9Xb2dySHVHIiw1MTQzNToic2hhMzg0LSs4c1VCd2hYRTU1ZmJxOFF3ZHlCRmNZRFpRUjZOdVgvRGcySEcxNUpHcndKOUNzcllPMnp1ZkZsODFvODh2WlkiLDUxNTc4OiJzaGEzODQtRCt2TnN1MTRxdldNZzlSR21tUTdGc0tnaTA1NXdpaHMzYzVubGZzK3RQYXEybUlsS0NCWGhXdkp5c1ErWjZteiIsNTE2NjU6InNoYTM4NC1yWVVQQXNEZ0h2QTJFcVZzdDRDYWJoVnZvZi9peGs2NVJvSVRyOGdHaU9LcER5ZXUvR2RTUlpVL0wzRkp6dGswIiw1MTcwOToic2hhMzg0LXJ4Nzl4YkpxTjg3ZHRvNTRUUUpCWmZ6NkhYQlNBWUZRajRxVEpVMFMwa01Sd0FXVEZQYWUxQmZmNXhTVk1nSUsiLDUxNzgzOiJzaGEzODQtY0U1YlpzZmkwTmg4UWdyVjZsdDFlMDlLUmhyaENtQWIwVWx3U2E0MTRnSE1URHQ1Rzl4SmI4YlprNlpDQytITCIsNTE3ODk6InNoYTM4NC1CekFCeHBpcERrSmVHRi8xWDhadFJFZnZCYmpUQnVLQzJ5OWk4cDIxM2w0M0hJWmozamdmYU1rdTZrSWNaL2FYIiw1MTg3Mzoic2hhMzg0LU1UeWUvVDJBbTVxemJJS2x0M3JOQlFVZ0pTb3BTUjB5TnE0Y0V5aUE4SWlRRm9pL1Q4N25ndlhKczFOVGFSZ2MiLDUxODgzOiJzaGEzODQtUU8xanRFS0ZndVN0dG41SGx1dlBlMnBDZldGbVcxNjB2ejc2YlhFNU5aZGxpNFlEakZ1Q0RnWmlFSXZod0g0WCIsNTE4OTM6InNoYTM4NC1LdG5RS3VLYlFSbzFOeHV6eHNFL3VvZkU3bmkyWVBabnBLamx4ejlmR05jRndsTVorODBhbXpNUXRIL0RwMm11Iiw1MTk1MDoic2hhMzg0LVA1RnJPMVgwWE5pUE04Ym9LWk9IVHFOVlJEK010RWtwNzc0MmFiVHJMTWg4SHdxVzlkc2ZkeVBML2VodVZzeVAiLDUyMjY3OiJzaGEzODQtekNpbDI2c3ozUzhINFVzTVgyaUtaMFZDc0dJa0hNTktXK0RIYnVldU0rMjJGaEhnZ1VjUFFPcXFYekdyMWlwdCIsNTIzMjU6InNoYTM4NC1Sc0JZMlVHSkhEV3hKNXFZT2U0NlE5M3hqMmRyMEFINzdLMURtbFUzL3MrNjFTSTkwL0I5ZmphaFNUcnYwM05VIiw1MjQxNToic2hhMzg0LWd5TnRZcTUxM0hodU9oZnIrZGVtTWQ5Y1NyRXF1S0ovUDBjdlBLUEw2aSs0Qmx0ckRTSFdjQmpmV2V6cDZ1NVQiLDUyNDk4OiJzaGEzODQtT282d3JqMUZKb1hFbWFGMFcrd0Y0RjFnR3pkQTRzdVVMN0EyNWF0UWFjV1JtQVNTVUc2cDJRdW5tVjhZQzQvUSIsNTI1MTg6InNoYTM4NC1rNE1ZM1JLRWFUN0hVeXNDQXh1c0hDY1R2ZzhlSjVBeDN1bVpFeW5ERGF6RlJzN2FscHBRQmlzV2lQREh1SkUrIiw1MjU2MToic2hhMzg0LXBMZHFPTlJFSC9GWFRJQVhnNEJremF3aklBdFNYV3hFbEtqVng3TTVxd2h4L1k0QzFKeUFyNU9JR29hdGJlK3oiLDUyNjM3OiJzaGEzODQtZ1dUN2JjMEFUMDZuVVRYZDQxdmJzUTN3VzBJKysyYktOOW1yUitwL3l3MENNYm1aSkpySHg1YXJXOW8rNXR4eSIsNTI2NjA6InNoYTM4NC1ZeWZLQjB6Tm5sMDYya1ROcVlIQmVxblAyWkxNbUhiOXpRZHEwVFQ3dGpvai9hbVJSU2p5SC9Dek5ZVldocDIvIiw1MjcwMjoic2hhMzg0LWJnVVJpMEM4aCszaEtmRi9TNW1WaTdNR2Nsd0xhS01TSFE4bGIwcG1RUnB1MGZ2N3ZKNkd5S0NyYWZpckRSZkUiLDUyNzA5OiJzaGEzODQtU1d6THFlNENRQm1iMGRkblpLWDg1amVSWmxBaDBlVC9IWkZXaVlDTzNNNldxcU9PdzNqdmJHQzNkTG1TNHVjQyIsNTI3NzI6InNoYTM4NC02TDlRK0MzdnRWanQ2TXZpMHdEVE8xdlBZWkI3VXhmTVozVzh3UTJrVGEyLzVld3ZFcmhOVHhjQTZhY0krcDdmIiw1MzAxMToic2hhMzg0LUdZVnBndTB5RzhYeHlYZjJqTXZSdCs3SGU1YUtKQnZCS1N2WkdnVXBoc1B1c1hCWlF5dGs3MmsvZFZHNXpFZU0iLDUzMDI4OiJzaGEzODQtbUFUTWIzRGxCVU5oeFJ6cWJxL3V4OUQzVUFTWEduZ1IyQnI5V0taQ1NNbHlKd0JxaGtHQ1JPRE11SUE4V2tSMCIsNTMwNTg6InNoYTM4NC14RGtiWlZuNXNYWnMvY3VxYWhENkVwMEZiOUtITFJxOTlYWHVOeG56ckhGWVhkVmdEQ05xNEVXQ3dXTVBIeFlWIiw1MzM0NDoic2hhMzg0LTRCS1VEbXZkMHFobGl6RXU4VnNCV3dyOEh3TUU0Uno5SWpQbjVEdjNzMmNDSUhIanJEOXhnTmNaaTZ2ck55ZDYiLDUzNDA1OiJzaGEzODQtaDEyQ3pRNU5VK2FvbGhKS0ZoekdVSXg4aG9rN0p5SXVUM3lCc3dtY2tFaGw0aFl0NU1VbU1qc1pmSHRxMVhrVyIsNTM0NzE6InNoYTM4NC1QQ00yWjA4U2dDMkJXTjdsd2hFQ2IwaVFPaTg5RTZ6eG5PemJVc2VLeVEzSTJRMWFUb3FYSlZLNXBtMUlFbWt2Iiw1MzUxNToic2hhMzg0LVBFbDVNMG1DY0M5RzhTQnFlUVJ5ZkExdlhEVnVtMGlqakhvbzBKRDJpajdhdlgxYWdSa3J1Q3dTOUxWQkcwOXYiLDUzNzQzOiJzaGEzODQtUHRKd3R5amU1a3hDVGtwVGV1SDhGcEZnblhybkwyR2NtbDd6a3FPNXlHVUhUelltczNTd0Z4cVAyVWxabXY5TSIsNTM4NDM6InNoYTM4NC00dU9zQllrb3ZmY2swVHFMalp3RVZtMWVKS0pqTm4yVlVQUkZEeTJ2SnBoaTZrSU1OR1ZVbThMK3V4ZUxGVUtpIiw1Mzg0Njoic2hhMzg0LURGcDNlMWd1dlVSeWFYUnVKYnVXQnU0b0Rlb0JmS083VU51V1V1ZG9KbkV2UU5YTHp6UXlacGZsaDZvZ0Y0cFYiLDUzOTA0OiJzaGEzODQtekY2V1plVHd4RlkrdEVkMG1YTEZFa0p2bEFpanlyblRUbmlQdVhUSHduRWdQZHBseFdPYy8razNaMHpBempueCIsNTM5MjQ6InNoYTM4NC13SVgyWEgyOXlFaExaYWFKU1d4aVcrdW9mc1F3cjNEZ1pWYmNDN0ZhZ0t4SkplUjcwRGQrYnB4T0lEZjZEeTFqIiw1NDI3MToic2hhMzg0LW90QnVDSE0reHNBZFNzd1ZoYjB0bjVDdjF4N3A1OWdLTG01Y1AzV2owZVJOdCtzSVArTEZMYWdXQzU0UHo1ZzgiLDU0NDk0OiJzaGEzODQtTDVSeXFFZk01WDFXcTZJUXpQbG5TM1RoNDRIOVpRZzdRR0k5V2ZFZ2hubGdhbGh6RmlpcVdZVHgzdDdXUEM5aSIsNTQ2OTc6InNoYTM4NC12UTRnM3l4dUJGUWlUWWtlbjZpL3p1MlQwM1F4T1VIRXAxYVJWM2FjRFpUaXNhcTRhek00a21EdGlWOEJhcjZNIiw1NDcyMjoic2hhMzg0LTdzOHBBME5lQVNSMUxYTDZDTUl6bVFVaU1pM0dtaDJlcVZzZUUyUmVDYXVwNGcvcklsZU8vTlEvOHpjYXhQQmQiLDU0NzUzOiJzaGEzODQtbm1jZ1d3VjlIcFpaZCtzME9vdU5MbE5kRGtSRGRka3ZaVE1kdllkMldVbGJBRVFOUWt6SitYaElBNEtXSkVyNiIsNTQ3ODg6InNoYTM4NC01OFpkdmJxZ3hvVytKRGNLa28yQ1owaGhKUnFRUkF2MU1oNVN5eUhaRlZGbS9ka0wzNkkxQzMveHVxK0pqVUNJIiw1NDg2MDoic2hhMzg0LThlTkFJQTNyckpvOFJmNXBGc2hoSTNMeVRVNkh3NkF0eExxeVA4SWE5MHZMVnZDNFlwK2oxbkh5UkJPejBuWFoiLDU0OTY0OiJzaGEzODQtcE9VRGNDUFh5YzFhRmVscmV4WDRHaGtrYkJPckN4Q0VuOE0zZXlJdVEvRXd3cEdlL040UldUcmhTclRmOEEvUSIsNTQ5ODc6InNoYTM4NC16cFR2cFIxcC8wMEtRRFovZlFPWThYLzF3RU85MEFCUUJTQnpJdHFXN0ZrM0prY0lqcHdQZG1kUzBXaXM2d0lKIiw1NTE2Mzoic2hhMzg0LVIxck85RGlMSEZ0c2hHYVVINFZ6V3o0eGpGeXQ1Z2pDc1I4NjFtaFVHcEJzaUx1SE1BVlRzcG9lOWpXbGZzMVUiLDU1MzczOiJzaGEzODQtcnJuWFJsc1E1QXJDcENPOExZOUY0QnJOczRUVVRHOEJqbk5CeUErR1dmNG9uUDZGL2NZRUVjU0hBZFdDZVRaZCIsNTU0NDU6InNoYTM4NC00ajgvWDBEeUFObk5mR1I5ODQ0Y2Q0enJMT3FWaEoraHdSeDV1b2FSemVCZlV0aElScDVGT3BUbzNWUmw4MTJLIiw1NTY0MDoic2hhMzg0LXVqWElWVUZaQVNGV1piWFhBb1lWNTZ1U2VaVkxXTW03eFNtd2xLVXhLZ0lOT0xBRXkwd3RnMnN2UDA4YnlQRkgiLDU1NjgzOiJzaGEzODQtdXFoVjVHdElBZXBUNm1jSW1naGY4S2hTZVNzVEFTL0ZIWG5xcHdrdk1nYlZ5NThFRnZMUzBSSlJYWk1QaUc1OSIsNTU3MjE6InNoYTM4NC1kQmgxT3AwQldUUzQ5anZ5YlJoeVpwRjk5ak1GYWdoVCtnOGg2OFVMTDJBSkRoNURJbFA2QUVqaUFCa3pVaEpRIiw1NTc2MDoic2hhMzg0LXlaY2xzejFDdnJjeW5zV0dUalEwY3VwaEVSMFNJYTd5SjRJSEZsTDVSS3djbWdBNXlLUHhYRmRNdHlCWFJkQ2IiLDU1Nzg3OiJzaGEzODQtdmFSSmhRcjlTUGJwWnV3aDA4ZldjVUFoK0Z6Z0hpU3dZSlliRFBIYmVzd080SDNKb2pTLzdoQ0xqQ0w3eGh3WCIsNTU4NjA6InNoYTM4NC1pdnNHeXl1Q0MrV0pSTnIyY3NOTmJ5SVY1VEpva2tzaTBBVGVlSDFmQXZPcEpPQXE5TnV2M1k1SFlwWUFBcnhYIiw1NjExMToic2hhMzg0LWxlVHdOT2hUL3FoQXk4Vm1uSFBxL1FVZUtnR3ArenBUN0s2SEV6cUxIOFZaZ2FXL0lzSU0zVm5qTmxYVlh4cHQiLDU2MTY1OiJzaGEzODQtMlFUUTlnWEpSMDBDbWZRam9VSlN5elNBWTNuWU9sY3I3dkpTcEhMVWJGb3VuYjJBcFBqeWVZRjVWVWlIb3pRSyIsNTYyMDI6InNoYTM4NC1LcDN0K3FzVllQYTFkb3p5U3o2SjB3WkF5OGVDOTAzYWhCSE56SjdSZTM2TEhqdmdIMVhyaDNSMFhrYnZhNVNWIiw1NjI5Mzoic2hhMzg0LW9NSTdWS1NmN0dQY3VDYkQyT21VMWxGSEZsV3lHSVc5bjFCYkppSGhBeE9oamxhcFc5TlN4MU8rUHJ0OEtNem4iLDU2MzEwOiJzaGEzODQtVGsvK3Z0MGhWTXVPWlR2ZnB0bmJUWmdpV2M0TVlEcGRoeHJTWjhHMk43VE5vVmhTM0N2UEczVHM3aVNjbnFYZyIsNTYzMzc6InNoYTM4NC1ybk9UdWw2MVlDL0plU1BQam5uMDdsdHh2OUNmK1pWdmRBZFhUZzNmVm5qNEI4TTBnSmx3dmFqdTIwUUErY2lYIiw1NjM3Njoic2hhMzg0LVFNS0plc3VkdmZJK0p1SStCTGhCSTVyT3NMOE8yZHIrZ1IyQkd3T1diSWM2Tnl1dDRhT2d1UEoxdGE4bUxZdGkiLDU2NDQzOiJzaGEzODQtY3B0L05qUDdGOVRqbVB5dnhxZUk0VEhuVTdJT3g3bGNRNnZ3NnZEcFdWVU0rVW9tYWxkclgzVWxIUlF2U05SUCIsNTY1NjE6InNoYTM4NC1OeGxxdS9LOVNMRTNuU3YrNVFwVnpUaU5pZjdYT1J0a0JtUmlCVmxSaTZEaFBEWnFZU3VJekJxQTZqWEpIUHlxIiw1NjYyMzoic2hhMzg0LVNQL2RWb3VaRUhOSkZYWFo3WVVvYXFQQ3lrQ3Q3eFpHY2NIUlFJdjJjZFRDVXF4aVE4SGJlMzc3V2J6azd2eUIiLDU2Njk5OiJzaGEzODQtUDZWNEFFdkQ2bk9QS2FYanR5VDVHUjR6bzVkUkMwUkpHd3M2SDZSdXNhdXNHdUg0YjVQMUN0aUdzTHZrUFF4ViIsNTY3MzM6InNoYTM4NC1pd2NDR285bVZac2lneDZnaHRad3I2RHFLNnp3MGV1dno2elBWQlBFelF5UkgrSTlLbWl6cFZhckNSRy9uT3JrIiw1Njc4MDoic2hhMzg0LURUdThGTVNkOVMwL3V4NFZxS3FRNjlLbmhzaHV3L3Q2VkpnL1FuMmVOekpUYWRxN2k2cnpyckd4ZGlHWmJVUWQiLDU2ODQxOiJzaGEzODQta2VSNTFnYkRlZXZHRUJvcWV4cnlEb0w5WUQ1YUsvSmVjSUxKOTFHVlY4c0xvZWl5UVl4TVROQ3Q4cS9oS1ZVYyIsNTY5MjY6InNoYTM4NC0wWFpKZExpeUpLd0VRZHp0QmRPYkEvbjQ3VmZrVUxhS3F6OEVaQmNrVUNXRVNmZHdqbmFPdEFwSFdXZjV0QmpNIiw1Njk4Njoic2hhMzg0LTlIdys0aUhzcDFtKzNtSHRZT1hudHovMFBueUpjZjV2N3pqaml3N1FURWFvUGF3WGQyN3FTTGVmd1dwc01QRXciLDU3MDE4OiJzaGEzODQtN0Vaa3FxRGlrRS81RWNETG9kOFZENDVjcjA1SlJ4SlJka2lrV3hsRTdwVEVaTGloMitld0h0Ulh5d2ZvSDkwNCIsNTcwNjg6InNoYTM4NC1ESGJEOWZjS3d2d2JEODMyTlp3TzllMkRTTnFIMXFnRUllR1UrbHN2N0JBSmZLTGM4ZlZRT1lGN1RrT0x3cGE2Iiw1NzA4OToic2hhMzg0LXhhaW1VenJZSDJlUHhYajRDaEFzcWU4cVY1OXB1N2xEUTJGazlzbkxnRjMxTlNBalRYTS9CbmtucXd4bEY3T1UiLDU3MjY1OiJzaGEzODQtblppbjNLWS9aaTJNNDhGc3lQcnJzUWVmUG1TbXdLOGxqQngzRGJqZDQraWY0MVJSYTRKYzdqcGdFS0t3dDdUVSIsNTc0NTU6InNoYTM4NC03VHpCbEM2R0JDVVlzc1l0YTNuTFBlR2RVZEtTaVBFZnB1bEdiRVFlYVdpSkc4dk8yQW9oc0xvWTgySWd6NWk1Iiw1NzQ4NToic2hhMzg0LVR3S3pIdkE2L2pHUklmMWovY0dNdlcxV1ZGQ2hNeGZBL2wxRW9uSExGbTJjSkVaU2wxNzdUTVNqRDJYZC9qc2IiLDU3NDkzOiJzaGEzODQtZ09WQjgydzVQK3lDeFNUWDhyaWF6ZElsNTBIM0hOQmI1MjFtSC9RRFRGWDNwam1kTC9VZS9uYmxYczd4MVZSRCIsNTc1Mjk6InNoYTM4NC15RFZDb05kL09QdWN3MW9JVURaTnQrYnBIOU1yT1ZaY2JHMnhTUVhiU3VGTm5tOHZRR3NBSDNDbEVWS2x0c3F6Iiw1NzYyMjoic2hhMzg0LVQyYjdvbWsvQm5nL0pwb092SVkzNm5rbkcvQzZ4Szhad05RZmZjb2s0d05ob255UmxmS3g2SkdTZis2b2V4eHYiLDU3Njk5OiJzaGEzODQtVnpDQWYxb3ZYNnN2d0lnREFsUDFURThYSGRJRE9PMHdieTVha3JyTWEwRjdnTlFlTWdkaUpZV2NTZ1dqODZLbiIsNTc5NjY6InNoYTM4NC1aQytFaU0zUFRVc1Z3Vko5OXZwK2hCNFRLUEFGUytQWEZSekU4Kzc3QXpQa0hmVTFQc2J2VE5ITkliMUN6bUJQIiw1Nzk3MDoic2hhMzg0LUY0YXVaTHcyajZCVC9rL1FreE9FSVpVQjJvWS9lYlhSbk4rc1JPUURabGM4blRPdHhXSVFTVHROWC9iejBWcm8iLDU4ZTM6InNoYTM4NC1XKzJhanF2Qit1bzJTQmRiOEh5SjM1U0VRemdxMGhrZE82STJHb2UvK1VNTWQrN2J0SUd6N2cyN2xSQldZMGN3Iiw1ODE3NToic2hhMzg0LXFyMU1yK2FYOUNodVNFNWF2QTFBT2ltWjNhZ0p1c3B6VVFwb0tLZ2I2bE5URnRNTy9ySjIvSmNySHJNUmcxK1UiLDU4MzMyOiJzaGEzODQtem82VnIveTM3U2xEanNJV3k3ZjNxM0hTTkZqc0ZUL0s2VWJQQVFFRkg2RkJIYjg0b2xrTm1DeDRpRGNCdzFJYyIsNTg1NzE6InNoYTM4NC1WRVU5YjR3bHBGSEJQNzFEL0dybnpoMkVuQzBWUTc3SlNtYW5VRGxHZEdhbjRKOXZmaGFOa3BLMmV5eTVGQ2VpIiw1ODU3OToic2hhMzg0LVpJZWtlUExZV0h6M1BQNFh2REtDRXl6Rlo4T3ptbTVzejZwMGtQWGszcUFwS2d6R3M2OVhnMTVzRFlhS2JUVSsiLDU4ODEyOiJzaGEzODQtWHcrRUUzSUxyVzhXSisyMmhDTGFGTGgzYk8zYUwzSUdON3dKeVBvZFNxcFdiNDlZR0lHUGRudHF4VGJrdW03aCIsNTkwNzE6InNoYTM4NC1CRkd2NXBxK1VZVkhiaDdmVEtOZ0JZZlZEMEZaRzdpemYyUGIwOC84bnVMa1lCUUpNaC8zbUJIQ1hWNlhEcGsrIiw1OTEwODoic2hhMzg0LW5ZYUhuODUrUjhyLzYwVG4vV25IT1M1b0hBQlNRTlRuQ1NXYUhDbkh4ZnV5L0JSTWg3RjFNU2l5U21MRWpZM0UiLDU5MjA4OiJzaGEzODQtdUQyVGV6Z3JJWWV3cHptWUZpREZ6VXBKeGI5MTJWemJRZWJraXdCelBYdW9oalNiQkJGQ2NOd3V5UzFTVmpKSyIsNTkyMDk6InNoYTM4NC1wN00xNVNkWFpJZlJjWm9ydWh0eDMybVBsR0dmelJjMGdlbXUvZjc0YWh3YUZFMU43VjBydnNpaGdMVFpaampkIiw1OTM2MDoic2hhMzg0LVhGKzdXMStIWk1rWUlMdXhmaklyb3BiMGh1b3ZOcXlIRE9VZ29SaUF6SVV2S2V0REEwUWwwR1R1d0Jnc213ODYiLDU5NDcwOiJzaGEzODQtTTZNUFJRV2R0Y0t6T1lUUm1WblRqZmYrelNmSCtkYVFoNUtOZldsTzA3TTN5UG5yVVRrRkNWaVdWblRCNlNScyIsNTk1NDk6InNoYTM4NC16a1VxUW13ckp0c1pXZFNvWWF4b0FydnZVSW1jWHVzN0xmeHRlcmcvSEpTUVFxYkZ4aUFYSGFYYWR5TDJ2SVNSIiw1OTY2NToic2hhMzg0LUxnL3FOMGN4U3lCTk5BMVNMaStnSTJqKzMwbDc0TDJlY3NSSW1vNkN1M3JIbmdYcFZOWkVadWVmSEIzY0l3cmEiLDU5NzYzOiJzaGEzODQtc3c0Yk1BbXhlbVBhVHZ4ZlM4U0dod1BpT3pyRXhtcHpDa1FJRFduWm1RaUV4dWlEMTl6RkZYaEphVnF5bm05OSIsNTk5MjI6InNoYTM4NC04aXhJNUY5czRpMHA0akY2enF1dkpsSFR1Y1FGVWMzTmNBeWRBaTNCZjVyYmxvR1AxbStRc3owRUpZR25ybWpzIiw1OTkzNToic2hhMzg0LThpV1pjS3l0cnl1by90OTZBNzVaY3NsY0ZZdmZwZmVydkFNM2E5U3VzdmZoSTIvYXQ2bmI5Zjhnd1EwOG82QzUiLDU5OTY0OiJzaGEzODQtek9iMXU3YzRIN04yMnFRaXBvMUs1eFA2WWVlcG51emRqdE9KRGNZNjloZWdmVWVsOU1MSm1neHhFWFNETlRaUiIsNTk5NjY6InNoYTM4NC1Jd1QvTHk4Qm1kWHlyUU5oNlFYRHl0a1k3R2R4MHZUYmwzcERhVGhWSVhwZHBTNlRmZXBYU1JDdTduRTh5bUwvIiw2MDA2Nzoic2hhMzg0LTdJcGF4MDM2djY2ei9OMEc2aFpobDlvSkRPdHpPTERobUEwLzlnczVOSnFZeHc4dHk0OC9JR3VXUllLUCs5ak4iLDYwMTQzOiJzaGEzODQtL01xb1hvZnRnbWNYVEszWmNyQzZHN0pvK1l3RkpYQXRXS0RNaVl5UmFmdVZrcGFxMmVWb2RJNEdLbGJFSFpSdiIsNjAxNTY6InNoYTM4NC1mWTgvQlI3aTAwdGsvcFA1SWU1UHZjT2taa240RkVpZGZyNjlxbng1Zk8rbEhXckRmTThPaytBcTBNMjhTNGxhIiw2MDI4Mzoic2hhMzg0LUZWa01FODZDTHlIeDhiejhubTF2aDRzcG5CeGdOSUVlbGJhT1NjMy9ua0J1Z0dGbDVoaEc1b3JNeHJuY1h4YzEiLDYwNTk3OiJzaGEzODQtY0tURndrSW43d1pYY0NmTk5VaURuWkY4dWRCaWZzUXQ5WWRyU1huUi91czZueUtKUW5FQTNTNVZCakxiMi9IeCIsNjA2MzU6InNoYTM4NC1KUHMrWngvWTBhYURVcENRWk1tb1F6VkdiUWtJSGhnOHo1MFRCMEIrM3l5MUhTVml5VUNzY3ZaT3ZQdUp2UXZTIiw2MDY2Nzoic2hhMzg0LWlWOWhBRHQ1ZE9JaUZKbzBYQ0pKcEhZRWJlZFUvb2VKeTM0b3UvV3JkVkllbGF3a3lyNW1FVmxWNVhxa2M3L1YiLDYwNzYzOiJzaGEzODQtUXcxUm5WMmZhb0NRU25RVEcrTUhIV1ZFUDhZUDh5bFhrdkNiQW4wRzdEbWNETkxTK0ZGTVJQN0NvbnVQeHQ2OSIsNjA4Nzg6InNoYTM4NC1UR3puSXkzUjdjcW9HZ3JGbzVNd3g2eEp1ZEowK3djTlNabDMrSXUrMi9RcXlSY2Z4Z2Jheng0NlJJVjd4L25IIiw2MDkyNzoic2hhMzg0LU84NWNBUWE2TklaQXZ5eEpWOVlBU3oxbkRKR092UHViaHVnaUpScXFhQWxtWUV2TGp1M0sxajV0QUwvc21yWUQiLDYxMDAyOiJzaGEzODQtSW9YTEZmaks3ejQ1S2JTTzczaGU4WTVGS1lUMStDMnQrYkl0aW1IT3BVaU1ncVMvaEFjSFdaOFlQakQzVHMyQyIsNjEwNDU6InNoYTM4NC03RjA0blJSOVlqNFFFTkJSV24wL0thcnR6S2RBWk96bWZIMzdEaXl3WDZuM0Z6UlBhbSs4NVhQT2FudmlOLzFLIiw2MTIwNzoic2hhMzg0LVBYUlBOSEJnNjdyTVdJSEZDeE9ndEpsaDB3MTVBelQwZmlDMVBRekl4Zy8xNDJKci93bXYxZEhKcmcvTkoxQ1UiLDYxMjE5OiJzaGEzODQtejFkOGp0MVZyWDVCVExMRElYNnhYUlNBRjFJc2w5cTVNNFdYNWlQbVZ6WjdOWWNHcTVnWTBLVExYUlpROXhQcCIsNjEyNjY6InNoYTM4NC15ZHliNEtha2JoQWNuN0VXV2NJZ1IzYjUreUV2WUpNeUNzbHJSODIvbVpTRXNzdm4yR3JabTF1c1B6ZnFLWTRuIiw2MTU5Njoic2hhMzg0LWI5RFp3a0kzMkQxZXcrRjhTSE9tOE9CQVUyMWk2MUQ4SXJoNjBpMHdJcTUweG50RDB3KzdHK1lDRGJMQTFzd2QiLDYxNjI5OiJzaGEzODQtQ0hqNzYvRXZXOTRCdXRkeE5WMkJzYUxob0tya1lCc0RVSEZNK1Z0UFBIRExGVXh6cW12eEN5ejErQWRLZERwYiIsNjE2OTk6InNoYTM4NC03YUIxVmtENkh5WUwya0o0cFdyS295VHNRbFBsMHNGY0MzRHlNb0lKOUVPdzYzWm1lRVV0MzcvU1JaajNtUlpYIiw2MTcyMToic2hhMzg0LUs2cEhFTmMzU3JYQlE3MXViSEZlSFVnNi9KV3NLVTcyOU85M2JrdzVGYmlBYUVWcnJnLzYwbkVIRE5QTUZUQUsiLDYxNzkzOiJzaGEzODQtZkpmRU5xVHVwTmVHM0gwSDFnb2wzRE4ycDJDLzhSdlFOWXoveExnZEoySDJiQTd1UDJ4b21YRWdPMGF1T2JTdSIsNjE4Mjk6InNoYTM4NC01cURjQXo0UFRwRlBCd1h4eUNvZHcyVVB0dSs5Zm1CRWhLR0VOblFOcnRmU1V3T2cyTlV4RDFyclRybGUrWE1TIiw2MTk0MDoic2hhMzg0LSttak91bWFoTDk2bW0zRjNVSUNYSTVaeElicm5KaHRNUXR2REIxYzREYmRjazliMnFtbkVNZTNFMFZxaE9sVkwiLDYyMDQzOiJzaGEzODQtQVd5UlZtamV5anZreTBtemVaTHRaN3g0emhOeCtPRnRub2hqK1BqcllLVG1lZzJzbjRsVGhTTktCU0xHN0ZmMyIsNjIxMjI6InNoYTM4NC0yWDNCR2Z0WVg4NTRxbDNqc2NIcHhCZElPKzVlbkc2SHhFeU96RTA4S0cvT0NlZnpRNTRsblU5YWJqLzc2eFJNIiw2MjE4Njoic2hhMzg0LUxkcDFXejVXSERGSzBPcUtwcGo0d1VONjdpNWF0UDlPYnl1L1h4ZFErYk5ZTHJsckxkQzZqeHNOYXNyTzNSSXgiLDYyMTk5OiJzaGEzODQtc3NxYXc0TCtLS050WTJTRGRTY3g2clE3d0J6bVF6WDRpSzVCaDlhQWFBTnlZaVpuQ0dSZFlNd1NwL3lXZm9kZiIsNjIyMDA6InNoYTM4NC1rMksydTRyRmRvV3lQNEw3SmNUZTJ4RWY0S01BT1FVN2tKNUtkdzZnMVJmMm1JTHJqa1BTd3Y1YUxYdERXeDJ1Iiw2MjI2MToic2hhMzg0LTBMaVBGNkw0c3QzRi8xb1pnMWI1MzBMY2tVLzluOFp2QnhwUzFUL3E5a2Z1S3dNTkZ2KzlGdkI1TWE4Ty9ndisiLDYyMzA0OiJzaGEzODQtUVRGMlV3bE85NVZVdU5NSDRXZ2lVR2swVTZ5eUZWVUNncHhJdTV0UEZNbGVSMnUyVGllMWdLcVFteW9iRnNCVyIsNjI1MTM6InNoYTM4NC1LYVlhYjNmK0drMnlSU2ozV09Vb1hBQWtqUWxSQklHOWMrVjlKa3lmWFdHYUs4Q1ZTaUNXV0gyeXo4Mzl4WEYxIiw2MjU4Mzoic2hhMzg0LWtGVWE2OFdjWldvQ2M4S2h5bnEraUxpOHl3a2hhWFhac2JYeElJZitUU3p2bVJKdXpkR09nVkFKcEJWWnl2UnUiLDYyNjAwOiJzaGEzODQtR1BYRmx5VFFaWXI0a3RyZjdzY2lGSEZReldPZjg1Zlh6WkdONDI1MjQ0aWwrenB2TFJhYnFBelNLL3RweHdqdSIsNjI3Mjg6InNoYTM4NC12cG9KalFMb0t5RTNpSWNmWWExcmg5YlNGaFlxZERzbmYzZHZndXIwZ0hkQlZjaGtpV2VLYmFMVDYvVXBkN2tQIiw2MjgzNjoic2hhMzg0LUxmNW10TWJQN0RLblBNQ1dtMGtCZTlCT0drQlplN3MwV0tSUjZ2dG9WTngyZlN2ZlZjWEpxZTBXUGdBV0F4enUiLDYyODM5OiJzaGEzODQtYmdybDdOOTZoOFhpclVZRjdCQXh1Q21KSUZjb1d2bGhEYmNjQkpFMkU5eU5BQUVVN3AwVnpqVVBsYm15b0s2OSIsNjI5Mzk6InNoYTM4NC00eEdKNmZJK2R0SWZQS01sQUJzQTF6dzBTejlHUDhNdWxuQWZ4eGN3SFpUNW1nWWM1UjZ1RjZ5QnZWTUtEM2kvIiw2MzAwMzoic2hhMzg0LW14NHNUSXhWS1prTzNacm9XaFVvZWtBeUtMUmg4WmdwZHF1dGxiNlcxLzdIYk5sdTlyT2RIK0VWTGZvMm1JQXUiLDYzMTI3OiJzaGEzODQtamdVaEluRFY2aVhmMWlRWWdFbDJ6RkUxNDJIMHg3U1h6cjVXdzlIakRWVU9lS3ZHVUpvMTNxSXEzcjcrRlJ2dCIsNjMyMzU6InNoYTM4NC1sZlM3RHpGU2plalQ1T014bEhGZ3hpR1Z2ODdLNnVlNWI3QVVQV1JmZjBXbDBFa3FVMXB6REI1QXJNcTlqcVgwIiw2MzI3ODoic2hhMzg0LXVhNEdFYWpUcG43d2lDQkRCY1N0TVhNYnJpUStOYkozcHB0aXc4QUg1MkxxUGE4ejRRNFVOOVhJZTQ1Ni9jdmUiLDYzMzgxOiJzaGEzODQtRzlZNm9vVUFyNHpJd1p3WVNBL1J6bHd2WXNpQUt5aU1HN2g0cW1UTDE4VDlxT0g4QjlQWTNSZHU1bWpCYlVodCIsNjM0MzU6InNoYTM4NC1VOUtNRCswaitNOE01K3lLVU9BeGFqZVdBaTNPek1Qc3I2RFlpa21ubnVQd1hFTHpaWGY5R0J4OGNQb0tsdHNBIiw2MzQ3Mjoic2hhMzg0LXoyaThlZGFYcUpyZlJEalBMT1FrWmtFenFjb1FYdks2UEJxZ3NTUWt0c3pZYXFRenpkd2VGYkZwaWtTRzMyajUiLDYzNTE0OiJzaGEzODQtYnVLQ3NkS3RPY0NRRWZsdTdJcmhTd3BQSXFmQVU5cXVnR0wybVh3K0txTTNLanlBL1lKdEUwZlNsZ3dkQkpsWSIsNjM3ODM6InNoYTM4NC1FRnlPN05aMm9aV2ZDamZTbEJBWGZiWGREanZRYUo1eWxCQmJacFptdG4ycm1zNFhkUkNJQTR1L1pIV094dzhVIiw2MzgxNjoic2hhMzg0LURibTJ3MUQrbDNSdVhxcTdLcW1VenlJUVZ1OUpyMHhWS3BzUWRNSWxySGhwR1FIWVZDNGhTeTB3S3dPRFdBckIiLDYzODg5OiJzaGEzODQtd3hFcUo1bEUzQW82THdjdE5UTStTcWR2SnRoQktXOFlxUS9RL21LNGdpb0N5L09vR1VEUW9hSWU1a2VGS2NPMSIsNjM5NzE6InNoYTM4NC1RalduM2VidS8rZFlKamJQQ2kyeXBVQzJ0a1dQUmw0ZDRxM0d5RlZzQnVjN2QvUm5IVmYxNmFIZG9kMGlNRXRNIiw2Mzk4ODoic2hhMzg0LXJjTHRqVzFMN3BJdlN3TFRLR0IrTThrVmVwMDBURlkyWDlrL0g1OUkxbXBxUm1POU9ocWR0a21xWHV0VVpjM3ciLDY0MjMwOiJzaGEzODQtTEJiay9CanBNTkg1R1RoVkJ0YVJOdlhmMWZnNFJEdzI0bGduajRFeHh2REZhc1JWblFDN2tkZXhzVkszQTVncyIsNjQ1Njc6InNoYTM4NC13bzE4NkZ3K3FjbzRnb0s1MFk0b2tkU2VUM2JWTHUwUmRUWmJCc1RaZGV5S2RYRGtjaXJrbm9jN1BuMmpwdXFQIiw2NDY5MToic2hhMzg0LTRyWTk1WDJhcGRqazF3WUptMW5WYmg2Vm4wMlBLejBuU09GV0twall5RjNmY1pockRlNUxRTjhkUlV2dHRiQjQiLDY0ODI2OiJzaGEzODQtbFpzK25lVnl5Z0EzRGxSUmExOU5Da0g1dUJxWnNubUJiZDJ3S0xUR2RzejRHeHlBK3dmRFAra1JkL0ZDYU5XZSIsNjQ5MDk6InNoYTM4NC1HQ1duSXJab0VXWEhBcUFCazFZa08rdFpSclBHMTFrUS92Njgway9YOVllczFMNnJVNW1xMFkvSW9VcnErTy9PIiw2NDk2Mjoic2hhMzg0LXJISDFLUENhSkZpY2Vjek1lY1J2MWpEcmNTaFh2QWp2Ylh3c05pbWo2VWl0RFFHQisrN0w5bDNwWndPRFQzT00iLDY1MTI5OiJzaGEzODQtaGFaYmxjLytKUlRsN0V2N3RoeVRHNUpFYXVFYk1QMmo3Q3h1ZGs1cU1ndG9rd2IvaER1ZTNNcGtab3J0dGNtbyIsNjUyNDE6InNoYTM4NC1hdjlSS3ZBRVNwbEhTc0JBZnoyMkczMzkzVm96cjRZa1pYWW1hRlRTL1pZbWg1U1YyZVdwUDZUeXdjcWVJSXdFIiw2NTMyMToic2hhMzg0LTgyS1BDeElmUEdqQytYWkRqWXpuSzMzQ0NBdnFaNTU3VGxJOHVWclF5RkNrOUkvVW9MUkQ5c0tvT2hIZXQ5WVYiLDY1MzQ0OiJzaGEzODQtREVKbXoxSkpiNzdOWUQxUmdZSXRYbEs0c3QxVlNRdithMWN3MDdjSE1IRFg1TkJ1b0JrRHVwRmF6bXpscFJYdyIsNjUzNTA6InNoYTM4NC1iUVFmMHAxNkpObmg2b2tXNythRWlYbGEzZ0xGTE9UV2NSVjdFbXM1SFU5ZXpuMDZlZElzTkxHMHV3cFAwVGR3Iiw2NTQwMDoic2hhMzg0LXdUaGJxREl6Zm44K1NXcE5RZEdTWWpCSnhYMTZuV09wVXRVVy9mQ2RHS0ZDS3ZSRVVlT2tvelZ5MnJVa0hObDgiLDY1NTQ3OiJzaGEzODQteWxnWDNsd3d2VWk1U0t4Ky9sY2JuY1lKM0pPdVBvNUNZZWJoUDdtUjB2Ry91U1k4UlREMzQwTUJBWUZDUy8ycCIsNjU1NTA6InNoYTM4NC14ckozWElBZUpicXNUTGxzeWw2Ym9xYnFGODJMYXlCNVpvQWE0UldJcThQNllKS2ZueG4xUDRYQ0dJa2lVOWNWIiw2NTY5MDoic2hhMzg0LVNKRUx5Nk4vdm1wN2gveTVaeTVJUVgrenpjL3JNVlBRaEZDMk1taXNlcytpUElVRGg2cVFBSUJEbnJML2llV1AiLDY1NzQ5OiJzaGEzODQtZHg2dXNOR3p3QStMMWVleStpZzk0MW5sbHRzVXFvM09lV21hMWtwcGpkdGdzS2lRaHZ2U1g2SER2Mk5CWTdyVyIsNjU5MDk6InNoYTM4NC0reWlXU3ZGL3dYSUExcWwrenhoQjF1cEFybjQ0eHAxTkxlVUlhMzkwT1hPUWR3Q2VSMnBLZXBQdEYwMVF1dTB0Iiw2NjEyMjoic2hhMzg0LW1pRW5Nc1Rsa3RuL2FWcUl0L1EvdTFqdHZnMzAweXRYa0VJUytJSWpVbVN0cFFJLzI0TzNQaUJ6bHRic0hzR0siLDY2MjA3OiJzaGEzODQtc3R0Z2V1OEdrVUpBMjBCajV5WFpqL0FYbXFHa2ZWZHlkWXpiWG41ZGxTL1ozeXRZR05aWGpzL2Jlblc0MkY3bCIsNjYyOTQ6InNoYTM4NC1yYlNEc05PMXp6NENtdFdPdjYrYno1UlFNTnNpU21yVyt6ZUV6b1I5OUpXb1Q3Z2FqeVVXS01HcmRoaXc3bkVnIiw2NjI5Nzoic2hhMzg0LXJSQWl0dE95c1cyUzkzRW1iTzZKNWJBNVdacFg5dW15M1k5cWpjMkdDRkNNMlZYd1RveU1qOHhocmFOVi9FMXciLDY2MzI0OiJzaGEzODQtdVJBbk0xYjlxOEZVYWF2ZUxkK3VpZVFoMXQ4SzUyTDM0MWtlNG9jMHdHUDNySnliLzQ4K2JYVDIzaWRJZGtvVyIsNjY1Mzg6InNoYTM4NC1EQTJnc2xEYmdRS29NUU93WXFucHlEWE1yN05LUE1XN3E1NUQvVWtYRHY2UFpWdlh1b3Vnc3BxZmlTOUxCT0MrIiw2NjcxNzoic2hhMzg0LW5CSkYybHhSaTlNNkIyRERZdlE4c0wxcXhqeU1oRU8rWE82bnZHQlNib3BsT3NUWjVaVEtaeHdtaWxLdlVnVjMiLDY3MDAyOiJzaGEzODQtSnU5NG55eHBWM0lFUWo4MlFKK3QzeHdWdVJuOFJKWUV2WFI1YzhWRE9mZHIvUkNmQ1kxS0UvSUlDRFhwN1YyRCIsNjcwNDY6InNoYTM4NC05azMvcUJOankrTnhZT2k0MDhuaTIyUTZJNVNrNU5tc0ZYZ25FeWRMWDh2eVRLY1lMcXRFa2xPMXdmcHg0RVVKIiw2NzIxMjoic2hhMzg0LWlMbFE1Z2lDWXV0Y1JjbWt3ZC9sRUZubm0zM1FxNHVnRDl0anRnY093cFRtd0hEM0pIbU5DWTVwTkFTWFY5c3ciLDY3NDA3OiJzaGEzODQtQks1SjJQcGNIQ1ViMjJCYkttQzNTMklOOXZzN0dQL1VLdUJCYUpLQ1hwSk9LZGpTME9DMmhsVWhvRzA2MDl2TyIsNjc1MzM6InNoYTM4NC1xQkNPY1NHeUdJZ2pkTTVaUFB1TEZJNmNKcHdvOWtFbVk4T2tsakNidW9ZcFhLL2pvZHlKWHZlSWZrMkNPQmtUIiw2NzczMToic2hhMzg0LU52Y25RUS95WnVZQWkzVWFKQXJxR3RqUGszK3M3eGptcUFOY0FtejVCSXp2QnFXS1A4MTI5ZDRDNE1CU0ZnakMiLDY4MTA1OiJzaGEzODQtaHlPbUN0bVc3a1ZpVWl0d3JSem5xektGMVVuRGdyUGNxdGJoZTA2a1ZLeDFtblBMVTRQekFkVWdTMkdlck1iWiIsNjgyOTE6InNoYTM4NC1adEJhZXVmN0lzdXd5ZTRDVnJPTU1JYzE2TGxVcjZHUTZ3aDVkbm1kR0I2ZytaSlVLdVFJSTdzL0tDWWcrU0d1Iiw2ODM0OToic2hhMzg0LTllbkpNUGhpOE1BVmM1UUY5eklTKzVNdHp3SkJxOUJlbE5NcTBrd3NYdUFQR3ZIS3FDWW1vcjJrbkJoaVZ5T0ciLDY4Mzc3OiJzaGEzODQtNGRQSUFDeEY3TjFXWGpCeTNQVU1yMEdlN1pJWGkrUGNFNldQdGVyU1BtVEVzNE1OOVAxOURVQzVEcG9qeldHOCIsNjg0Mzg6InNoYTM4NC1xMmUyMHpMT2l1L29FUWdnVFF6MjNOalo3U1U4YmxrOGUrRTk2azR1RitSeU45S1R3V1E3eU90TWozcnR0ZThVIiw2ODYzNzoic2hhMzg0LXJLVnF6UEtBWUJzVEJxbndxR1Y5THpxRGMvMWFYdHdFRTF0bmE5T2hwVERjUkI0TG5BUlhuUVdIaWZmeWZLelgiLDY4NzA1OiJzaGEzODQtWXlkNVlOVm4xbUlaNXJSL0hVbVpZUXpnTHlacVJpcDRhKzdXODJqSms4QmVCeHhXZmxMN2ZXa3QwcytQMHh2WiIsNjg3NDQ6InNoYTM4NC1xc3ZxVC9qMzQxNzhMU3JxbDZrMUxBODZBNG5oaFJGcWJuSkt4QzNkb2lJUU5rUTFIWS9DSWZYVTM4cUZnTHZxIiw2ODc0NToic2hhMzg0LVRUc0dYMVNwNHRoSnhOTzBnSWFlcy93Zk5sWGlZUERSWFNsZzdIMnZhNmk5T2dqM0RXRXVVWks3am13MGFGdkIiLDY4ODQ5OiJzaGEzODQtZ28rdmllZUpZb0VZVjVKVDg5bHFLSDZGOWs0eEkzbTB5T3VvTmNkUDRKVnNzUlBIR2EvV0laUXZPNlRsMFI3ZSIsNjg5Njk6InNoYTM4NC1LWWk2UFRFSDFCdTJGa0RLUDJqQjdYK0wzallMYVpXemtueFdqeklMYjB2dzMxcVhRdFJCS0V3MzZQSWsyYzZxIiw2OTE2Nzoic2hhMzg0LVJzenppdlV5QkhmSW9mbS9HelY4NnhEUUsyOWtLellxNmZsZzVXRGNaV0l6UHE0M1RITm01TmJqWENGY1RhdVEiLDY5MjY2OiJzaGEzODQtNExWM1AzNVhFZU1ucGYxZHpseFZLa0FGZURXdHZSdjZmQmZnUUpOODFYZktrNWdRQmZrbTIwN2VoUnJuUHRvZiIsNjkzMTc6InNoYTM4NC12Nm5IbERCNlZoazJvNTJKclRMNWpCQUVPRUZWMnRPTWdIL2R2UzJIYis2Nk9MNWR0WWo2Q0JVOVlCc0NBdGF4Iiw2OTM4NToic2hhMzg0LVBDTW1laE5TZXNISHp6dFN0cVRXNWRVMVpmMGpmUXRoNGNlZm1OTFZvaFRWVFBTeVcycHlBYUJwbTlxSnFudTYiLDY5MzkwOiJzaGEzODQtTE9CVGlmVVZKME9SM2F6U202aHV1NFRMUXNzN0N1MWc1L0E5SjJhWHJpdWpuNWlXQ2tqNTYyNENhcm8rR1RzTiIsNjk0MTM6InNoYTM4NC12ZTlLcFV5cUlMVnVtUDRTUXlvVTFQNldMQ1l3aGdzUE55L2ZyV2ZoWjVmdlAzeHF6WjAvR0ZYRktVU0hHMnUzIiw2OTU2NDoic2hhMzg0LVVOdVpNM3NPWW5rdlViSHBlNUh0K2lwcmh4T2w3SWVLVTJ0ekY0aWxMNEdtVnpIalRtMWkzTlBLbHAwYW1LS04iLDY5NjI0OiJzaGEzODQtM0hrY21ldnFEbzUvaXZvclh4QVE1UGd2NmpkMFAvYkNJekcwa2RkU0JMem1FVjdrUHAwQ0ZGTCtSYyt4MU0rKyIsNjk2Mjk6InNoYTM4NC1EeGlHQk85blBNb20zTHUyNnRNcW90MFR4a3I1V0RYNytyM1F4UEIzU3NLdUxlU3oxckFwOTJzYVZQRVE0eFFNIiw2OTgwODoic2hhMzg0LS9LMDVKOWc3STJuTzhqVzFxejh6eW5jS25pRWRpR0x0by9PL0RjZlluc1NOTjZYZEF0K1ZudkgxUHdWelZrL0ciLDY5ODA5OiJzaGEzODQtbU5oRlJsTnRZbGtJTmFXRG1LSGJNNlQwS25vQWJsOVp1VTM1SHRvVmM1MXJwSi9TajFac3BEWkhSWHJZTWR5SSIsNjk4Mzc6InNoYTM4NC15bTE1cDVqVEQxVWdkbUpkaE1XQnUrU2ZURG11cEh2clROdkF1eDZvWTh5czFmWnZWOVJYb1puT0dWbjBqY1U4Iiw2OTk4Mjoic2hhMzg0LTNtck53ZGZjdkxuWE5vaXdMUnJWNExXYXh2L1ZSL3JaVWpQMFBtcjNBbU8wNWlscTY4b25GMDVQNGVNanU5RmQiLDcwMDUwOiJzaGEzODQtdjBUcjJOS1FOQTMwMWpmUVByeEhTV3pvTThqVmhmdXNRekQ0bHRqNDBsMW1COE12QnhpQXR3cUFoaUQ0WXVZZyIsNzAyMjg6InNoYTM4NC1ZOFhaZUpKWWNTQndWWGNUVVNGb3ZTYnNOOXRUaXJOU09GaUF2NTVUaGgxcC9obWlpYlJDV0VUNG8wN3VIQlI3Iiw3MDI3OToic2hhMzg0LVZpdlN6dHY4bGFnOGNQT0hoTkxCNGRsL3JFbWx4Z0JSVTV5aTdWQ2FaelNlRFBiYUhlM2lEK2NaazVTd2JnRHMiLDcwMzIwOiJzaGEzODQtYVhsUmlXWWFRd3puTU04S21YN1ZlSzBGS2pqcU5oeDlBcldXQW53cUdzNXMwNzBvb2dtcjlRV3ZNTWxBSjFnbyIsNzAzNDc6InNoYTM4NC1SUkpYQWpkK2c0SFJ6Q1BBaHRNdCt1eVUzd3ZRVWt3TUpJdndKano1SlJMRGh3ZjBXeG1weWJDc29WYVp1MWpkIiw3MDM4Nzoic2hhMzg0LXA4Wit1OVlCcndQRldFdkpIV3g3VVZiUUI0dy93NWVKS2RMSFdqekt3U1JsN2R2UEVzSnF6bnVFNWhqZVhBenMiLDcwNDI4OiJzaGEzODQtdlhQZ055czZWVXNlMkQ3WXZCQmMyK2JLcE1rT05sL2Zxd0lCYlhxZmJsTVljdXA0MTVwYmplZG5ZK2xoOEVhRSIsNzA0MzY6InNoYTM4NC12bjJpQkVjM3lRSGNQSUJGc0dhck9RMXJiVExqZnlwaGVhblN3cHNORkNVeE9NNFlFa1R4VnpUbWZ1UmVGMER6Iiw3MDUyODoic2hhMzg0LS9yai84MkpTR2Y5ck5HKzBrbFM1QnViZGdzaWpLL0lENVZROTNZZGNGZnZlWW5NdjdCNVhobDJkK0xXd1VYZCsiLDcwNTMxOiJzaGEzODQteVNsRTZlcVJTc0hJOEJRSGNGeXJsNVUxMHk4MGVLQkxGb0t6UWhOcHpDNnVxQkppeHR3SVNpTDgrRllnRjFVbiIsNzA1NDg6InNoYTM4NC1MaGhYR0xmb285WC9MV09mWnRLeWlKc20xU2dyUzBmbU9aUmVFZmJoTWdpb0t3QnlROVJ4TnIrMCtkQm5ONldlIiw3MDYwNToic2hhMzg0LVBrZE1SN2lDRjZ6dHV0QWc4Y294SmdXWCt1dW0xdkt5a2ZwRHd5VFZvcVhFTjJTei9RYWhtN3IzRHBVdTl4ejMiLDcwNzE2OiJzaGEzODQtRDBsNFpiYVhHcjRLb2pwS001ekpqVnA1ZWtxMkZMZEpSYW03cHNJb3VhbEs0YWgrZVlFOEVsR2dTV1lTZG8rNSIsNzA3NjQ6InNoYTM4NC1Wako3dWE3TnBzRmtLeUZEay9vbFlFSk1WY1B3TmJIaFpkT3hyYU5JcjBkdGVZenp1MWpxQmQxQnU1SmZWTlZCIiw3MDgxNjoic2hhMzg0LXIzZktHSVJrbytQa0JBZzdKWitaOTRoTWhMY2NpYVRQVlMyZFBldVBCRlhxcTB3R2Y0STF6UVY0NVR0MVZuSk8iLDcwODM2OiJzaGEzODQtaHZMNlhWUnNUSEl2UDB0dmY1SVpDdEhkd0lUcXpoSjZWR2JsZnlOUG9vTVUzd2Z4Rlp2LzBBcmNjWVdGbWp1UiIsNzEwMzg6InNoYTM4NC1LR290c1RPOVN6Kyt5L1NFSEMrWVVQcnBXbFVQai9GNnVHMTIyQ0xEL2psdGJ0R0RYb085R1pOcE9Pc0lLNmU1Iiw3MTE2ODoic2hhMzg0LXBydllITHdZNzF0a3RWQ1pFS0t1K2xXM05ZSFNIZC9Yd2plNExxWG5qanRCMldQK0ZxVU0zSnlGempocVlTbmQiLDcxMTk5OiJzaGEzODQtUVYvRDhBYlFieS8xSkFyb2NSeGVpOUhSQ25uQXBNcWlQT01vYjE1bnlhRkRUVnh0TEFOS3IwMEI4NVZOMXBacSIsNzEyMjA6InNoYTM4NC1jc1VzaU5WMTlKRTd4VFJnMHFiV2tFalNoMHl1NEwxdURUaCtGeWZXMTB4RXdtNTNQWE9sNmwvVW1UN1AzQjRuIiw3MTUxNToic2hhMzg0LThYc3VoNTJSVWNnelFTVXI1SkVuVFQxZHJucHExYlJrUkJTZys0M3lFeFZibVZwanVlbVlGa0NJN0Era3AwSWwiLDcxNjk2OiJzaGEzODQtQW9JcCt3bWlJMHVvc0paWndsVTNEWHlnYm9NVmt3OEhoZzY4T2R2eC80ZGpvQ1A5U2lsWS9UQWp4U1U3dmRDaiIsNzE3MjM6InNoYTM4NC1KTFBpN0xVc1ZRRFBTS0hZRzVIYXY0aW1ETGJmRFZydFh1YkptMU5kbnh2ODY3c044RmJ4dGcrdXNqQmZ4WVJ5Iiw3MTg4Mzoic2hhMzg0LTVndUFCSGJMWlNoblh4LzF6Zlk4MGM0dFZEWlQyVFBHalk1Tno4OW9HbStKRENuZW1abUwzSDdzU3VsVXlpclYiLDcxODkzOiJzaGEzODQtLzhPdWtPN0RObGJnazRMeWcrZXcyS0o1ZEJXSlJIcGl3cENPcm02a1dValc4b3J0bjNwTlc4Sm5LV3RsOEExbiIsNzE5NDQ6InNoYTM4NC0xUTJOWC94bHhad01kZlBWTTRoeXNkM2ZWVmRqNm43YTV2b2ZMQWlkVk5VVk5yQzBPUXQ0QVdYcmRrNnM0eDVSIiw3MjAyMToic2hhMzg0LVFQcmZ4eVJZK29XU3JYcGgyRjQxVDlFem1Za2NYQ3ROcjhMV1dSNDNmRmkwaTUyVmpta0tIL2l0Qk9kQVMrZUoiLDcyMDQ0OiJzaGEzODQtRFZRLzRGYXVjNy9jY2NIOEZBQ1hOMmgxU2phT3Bvdldoc2FmTGd6eVo5YmxHMHVLSVBEYnN2alJoeU04cHF4SCIsNzIxNDI6InNoYTM4NC04NXhibHgvamFwNExkRGYrMk52cE1Edkd1UEVVdEY0a2xvQVp5L3lQb3ZXUjN6dlJabGZvblhmKzJtT21sc1E5Iiw3MjE2NDoic2hhMzg0LVFIb1l1TTdoRDF1MVRhb0tkbmRtU0Z5YXdoc3E0M0owOFlVejUyMkRtM2ErTU5hRXBma3krUXBsaDIvSW9FcDIiLDcyMjY5OiJzaGEzODQtQWswK0x4ZUNxQ250RGllM3lEaFQrRzJCNk5sSWU0OVBXaWtLRTl6WVRHNGlHL0JNcEx1OWlkaGZBcUJrZm9SLyIsNzIzOTk6InNoYTM4NC1IUXloQjFqdVh6Y1BBMXJXQW0wKzNlUy8zekxPQi85SmhiZWpKYTVyVEc2R212ZUhjYzUvK0JDRmJReTc4djNzIiw3MjQxMzoic2hhMzg0LU51dklRTFFuV0NFa0FGSWRPOUhpUE5iOGtRckZGNEdwU3pMV2tVbWF2VU5pd1pmMlh5QklxOU9xVEtKOVlyS0oiLDcyNDQ5OiJzaGEzODQtU2dZM0hSMFFjYlFUV0JITHowVFB1Q1lIU2gxT1QzZjRpZTJyaGsya25LcjVEWU0zSlhoSno3d1cyaUFJRVA2QyIsNzI0NTI6InNoYTM4NC1jMHRpQ3p5eWtZQzk5ZURXK1d4SHhzY1U1QlNFbk5abDJPYmtySE1OR1IyaTFpNzZaQzl6VGVacGltRHVxSTU4Iiw3MjU2Mzoic2hhMzg0LS9HUGQwT0xxTktnT0tMZXpKYXYrMENYRHVTUjFqQVdQQThLZ1FFQktvOWl2TzJJa1M0Uk9QU2trS3Evc2pvUnoiLDcyNzYwOiJzaGEzODQtdFRtUW9yTFcxS3NXbkRQdGZzTzB1dnJwL1VQcDFPR2hsYWRYaTNhYVllem5BdGZNRHRzS0pRMkFrRG5iT1BXaiIsNzI5ODA6InNoYTM4NC05dzJlQlg2L1RWN3pES3hFMlRvZ2U0aitGY1YrUDFuLzVqb0Jiem5DK3ZaL1QycDhBSzd4YkNhOEFXVU1IMEs0Iiw3MzA3NDoic2hhMzg0LWsvTnpZQldSWFJRai9ITlJWdk5wQnB3YS9zc2F2RzRLaU5XSExTdUtFYzVyc0pZWm1qMVo1WXRBYU9aMkNaYlciLDczMTEyOiJzaGEzODQtNDlhUWcwRWpIWmtrblJlbS9BMDJmOFkyK1IraElkMUdyWVU4cGtOaS9sZDAzV2FaTGUvMHQ0QTFSSFBMdXhuViIsNzMzNDQ6InNoYTM4NC0xWk9MeVJ6SFRRYzhydGNQRnFPaUNBZFFlcC8yeElRWjA4eDVOc3ZDQ1QrSUh1dHowMnhXeUtscm5sbVJXOU5MIiw3MzQyMToic2hhMzg0LS9wMnJ4ODB3OTk1VFI3WFJ1ZFhIT2V5T2JuTFliVjgzR0VhZ0pvN3VDMXY5ZmVUMk91aklmVkE1akpRWHQ1ZjAiLDczNDg0OiJzaGEzODQtUlNiMFQwNm1EMHJEQUNYTXZ3VFAwNVdUNkFkL25MODVqaUZkdEszTmVaeEdaUmwweEozYmN6dnU5TUxEcGU5WiIsNzM1ODI6InNoYTM4NC1wbzBJZGRab1B2STRKTm91WUhFVzFvcWpIb0h0QStxcDZZRUhSN3hLYzVvc2NEaHltTlBCU1p6dWtmYmZXTzdpIiw3MzYzOToic2hhMzg0LVlKb0UvNkorNFB6U0VNQmZndlZ1Q25CT2ljWmEyd05SS0l6Q0dva1ZMbm1zY1pBd3pCSkM4cVVNZmpwWHhXMDUiLDczNzA2OiJzaGEzODQtVWtNcWJnNnd1TldzYmJQREQxZ2YrUmpXeG1qR0lYOU5sQUUwMnN1V09DR2xaTkJCQVFReGxLa0pUNDZvaDg0bSIsNzM5NjU6InNoYTM4NC11RmF5Y3VqZnZiR0Q3Vnh3ZEwrbUxVNWh2YnpybG1MMnYwRHZuKzd4SXVhUWthcmtwZ2p2Wi9jRWlRVFNOazk4Iiw3NDMwMToic2hhMzg0LW5aWUVFQXFRQkFjOW84QjJtT3loRUYvejhORlVQUEJDSk03L29wUWhoZ1lHZDN4a1N3cm1aWVRxTkJic2N5SisiLDc0NDIxOiJzaGEzODQtREhRM3IrQ3BpZ2UzbjJlT2N5RGswVjJFSHBHbnlRdUZGNjBuWGVNWlRtQWkvZUNmbjAxT05lWC9DUktyVlREdSIsNzQ0NTE6InNoYTM4NC1lbkxGeFN4WFlhS0JaNzJSZXQ1OXA2b0RnaEZIVUxuNEZYZlcyS0xMUWo3eDBkdVNZbGtGOWdRcFRmd1NBeTZ4Iiw3NDY4MToic2hhMzg0LXk5Z20vUVNXMDg2c25sQzFJSzBNOEFJRDgxdnVTazErMWgyS1RIdk1GN0kxL0pzSGFONmJRcCtkcnRQdk9VbkciLDc0NzM5OiJzaGEzODQtTHMyM3MvbFVFUjhNNG5FVmFSU1hOOHJRYWpaa1F6WEphSGQxVzcrWFM1clNtRFJBelo1YWUwUWZkOTlqMm1mVyIsNzQ4NzM6InNoYTM4NC0yN1NvV3BDdHhVR1JDWEdwT2dxQUYwcHJrOGY5WjdQaDJob1JTelBJNm5WczZDOEVVWW1oWTlXcVdGdFI2WVRQIiw3NDkyMToic2hhMzg0LWRIbWZVVmJNZVJla1pIdGt6Vm1XRWwrR1R2OVRFUEdWUzRIQ1pJTXdvRVo4WjRWRTJ6SUc2TjlJUlJvYTQxRCsiLDc1MTAwOiJzaGEzODQtbU4zZ3JsSzU5TVRnS2l0czNLYyt1di9ud0xETEhlMnRYajhMYXhWMk80WEV3MmhUR1d0YTBnQU1NL01UNnlaLyIsNzUxMjk6InNoYTM4NC1OanlUMXA1MCtqTVVGMm1jQjA1Y3dPTWcyYWtqVW1oWDRub3RGcmV1SVBVa0tCUFg0d1Rxc2tHaWR2Rlhuc3AwIiw3NTEzMjoic2hhMzg0LWVVa1hvZVJkSHZXb3hhTENkQjdkQWU1cnh1czVUNVpwOXZzaVFWVmw5WkExVlcrckFTb01FNGswRlNPU1c1R1IiLDc1MjM0OiJzaGEzODQtU21CTUdCcWZMRnlxZGtBQ0ZEUTZxUTMzRmZQa0lqYjY1blIrb3pyWmRuWGlKS2xLWUdMdXZzOUhEWXpDTWpFcCIsNzUyNjg6InNoYTM4NC1rbVpNV1hsV3RueW5hMjFsYytyc1NOUDFMQWxTdEtLL21mQm5qWlk2WVJ0MUJoVkxveDFkYkNoYTBBL1pucVRvIiw3NTQwNDoic2hhMzg0LXRIMlRXdVNtZ0lOOEdUalBKYjNjTENJclBhR1lQdlcyRllGOXA2VWN3OGR2MVhVNm5uNDhWSExwWk5DL1JjNTkiLDc1NDgyOiJzaGEzODQtRThJTk9EZWtFTW9WY3BkVkFUOUxhN3R0OW1QdGRiamQzSWRmTEcrR1hrRHQ4Yi9pV1dXS00zSE4vYm1hK25MTiIsNzU2ODU6InNoYTM4NC0zaDBxRVVzTUVNR2tZZDVFUGFuMjF4UjRpVFJuMlhvcUN0Q0FsbFhxSTBnUDhGdThVd09iV3dyYUR4MklzRGZNIiw3NTcwNToic2hhMzg0LTBValhXRlZONGJRSENQQkY4M3ZYTzhpcWdkRUx1eGRKb3M2eWRGQXhSNlBoYVBhNzEyZjh6UWFhMUV1NlZpZ3giLDc1NzM5OiJzaGEzODQtdHlEbkZKbk1VaTZEaXgxaC9tK0NNRE1WdHlKN3JSc0VPcXJIam12NUFjZTJkZjlTMnAyRUoyZ2RpdVJjUmJGeCIsNzU3NDI6InNoYTM4NC1jRytEM05ZVFptUXZpMHVtKzV5V0c0S1VZTVRManBVQmpEOCtaZUtpNXNtL3R0MHlBNzhocjlmU3ZxcEl1cnpsIiw3NTgwNzoic2hhMzg0LUtrMXppbU9VTWlFY3RGcVFpTnRRYW5yeWNLb1hUY2JjaERLR1NZUHVHZE5vS1JEUHkxSStUTndTZVlsb1MrN3EiLDc2MTEyOiJzaGEzODQtaFVWR3BCZkpXY0V4TTFlK1hrU1o5QXRIOXBTdjJOWG9TTHlNb1VQemk1elBqMHVydEtleEl0bWdpcFF4aHhaLyIsNzYzMTU6InNoYTM4NC1uQzc5ejIxMnc2ODFIVCt0NkhCZC80SG54SXFCUStsZ29FUmhKWHBMVUlOL21LZU8zQ1YxMk9zSXZOVFN1dEh6Iiw3NjM2MToic2hhMzg0LXBWWVZXMzdHZmZVZWU5b09nQWc5UzZHNHlKb0tobnZjMG9paUN1cVQ3dEJJMG40L0lwQkdqOWUxMkkraWw0aUkiLDc2MzcxOiJzaGEzODQtKzE1RHBoeFZnNzB3c0Y4dkVyQ0VyZklmQitqdjc0WVp6ZEVuS2FYZkYvNmpOeWNacmI3MmdjT1NpU1BReDJRWiIsNzYzODY6InNoYTM4NC1FemdyMTNDR0ZkdDZOaVVoTTVOQ3JFSkFkSmJQNkt1QVlTMHhaUUo3SFB3Y0kwSkd0aGJId3FGMDBVWUxlMERBIiw3NjUwMToic2hhMzg0LUFGR0VxOWhhRnZ4bXh1TXVSWTRCNzkwMkNUV0NLUW5SeFgvRVdUNkV2c05LUFUyWFMzQ0ZSVXpnT3Vvd1BxbDQiLDc2NTc1OiJzaGEzODQtcGY3L2xLblB1UlhBWVA0MWFWa28zQldrMTdNbEZOWXZrUG9HQXBFa2JOeUw5akFDc25wdnR1MUFpWHNQZk0xQyIsNzY2MDk6InNoYTM4NC1ieHFyanlBZHJidzNZUmVXdDhnQVJNdDN6VW1XMDZNbzF5MVZ1aE95b1RPREdELzlIMlFUdjJHeThzcU5vdWN2Iiw3NjYzNToic2hhMzg0LXRROG9Tb1ppYVVwdHJvL294VlMwVXFTWU41ZFNDTnQwb2RUUE5JYjI1eTJwSm1ZSDhUTzNSelRFV09GVmRQZk8iLDc2NzI0OiJzaGEzODQtTmlsT1ZvTi9MdjBWRFhVeGp2dnFsNUpOY3JBV21Jbll3YTEwc3ZSTEhRNGs4UEdJVHBjZldWU25PWSt5MXplLyIsNzY4MjY6InNoYTM4NC0xeFlGUDlUR3pCVUkxR1hCZG9YODZmTkEwTzJxWHUrT3FWZmQwTE9Zb2hDMmQyeEpCVVQ2YzYrU0VSS1V6SkJ1Iiw3NjgzNzoic2hhMzg0LWZQekpNU3k3MHRXOWlJQ2tVSEsvOGRweGJFeG1qOEpWLzdIZ3A3VWlDVXptY2pXTFp2N01MT2l1bExpZWY4OE0iLDc2ODgxOiJzaGEzODQtb0wwN2Q4MmFxOWhUMmpjWGdveFU0bWswbkliRTVnMlhvRUxmOE5tdW9vcXFLMzMrcHJQY0VtVHkwZUwwbFBwViIsNzcwNDQ6InNoYTM4NC1Fa2owdUJIOXpRbGdqWmNOdWFVVFpDT0xubWNCZjlub1gwU2x2TnJaR3MxeFE3eXRuMjRVbElSNDh4SktsSFBiIiw3NzA5MDoic2hhMzg0LVhtazFRUlk5UXVWOVhqSUpueUhDVFl5NGdCWkVBMW5pRFJYc1UxYjRyY0gvN2FkalAwMGxzM254OGJqeUsrakgiLDc3MjM3OiJzaGEzODQtM0s4dk9QRFVSQ1AvbkRJREliTFo4SzcvRU5VUlViVXp3TGpiOFdEa2dIVHUxSU5ZSEUyY2dDWUpJNE9ZTkgwWiIsNzczMzI6InNoYTM4NC01UXM1aHZyNGxBMkdVWUxPZk1PVWo0RWkvcmM2cEdPaHpsNy9tSCt2MG54OHgzNGtaYnU0SkVzVkd2alJVdkZSIiw3NzM2Mjoic2hhMzg0LXZXQWttdWQxcmo5bGlnTHBhSmFJMWhoYWhWRzdqZk1PTzJqbFI4SHU2K3BnVW5aalUrSlJzMVh3M0dDcEFSNkUiLDc3NDk1OiJzaGEzODQtUkl3RW5kbzlKdFEzbHk1ck9YVXpISVpTSEF6enBIbUdZdnZNdUQrKzArZWtJZktnazVaTUNaQ1ZQb2U4VmxKTiIsNzc0OTg6InNoYTM4NC1JTS9EdFlzREprVERBN0RHZDF0dUZoV3BvVmh5b0NDWTRDWVlmamZRZ0FYRjN4ajc0UFBKSE8rVGluT2xUdnRRIiw3NzUzNzoic2hhMzg0LVlhWUNMclhJMVRMR0ZGalVhdU53S2dDcmJzdzNjU0FMZ3RtQkhMZytJd2Mrcm93NjFBSGVVbEgzYURyNnhjSlEiLDc3NTg5OiJzaGEzODQtVnNFcjNwa2ZGL0l2MFZtMmRNS2tGUFhoWk1UZWVZK2dlTjNkUDIrRmlYNWM2UFV2dU9aU2hwMDJrekp4bXFESSIsNzc5NTU6InNoYTM4NC12UFZOWk5nZStDL0hXcWt5WStQdVd4cFNKdE5hdjV6ZlQ3Tk5aNTRhVU9VQ0JDNmlDTWV4N0MzVWd3MUc5VmluIiw3ODAwMToic2hhMzg0LUhsWmk4OWdXVUNtUmdUb05sUkhvQlBEZWl1Nm1jWWpLNGJVZTYyMGNGaHdKam5WMGxUaUpJa1ZwRXFoZ00rYkMiLDc4MDAyOiJzaGEzODQtRDJWR2tGMXE0R1drSk51OXFYRUFObXlSSmVpSjliTlhzeGpCV250RXIzaVJ5akpkbXdwdjNSd21kK3dhY2dLNyIsNzgwOTg6InNoYTM4NC1odXArU2pGL0ZDbVdiS2Y4STJJUElobTQ1RnRVVUIvRHJ4RzFRWEhXMXpTWS9zOHo2Z3FyanY1Q0tPQ1gyUVNSIiw3ODM5MDoic2hhMzg0LUZmaEN1UTZFamVuWUk0WmtNaVpFMTdDQ3ZVNitJUkJsYk1icnk0SEsvYzFrZUc4MGpJYThwYXlGNFY3dlZZNEwiLDc4NDUyOiJzaGEzODQtMkFtb08rL3h5aTB2bEIwOW5iSzBOa3hMZEVhZWFDQ1ladFRMY1IxZ3lvV0t6dndyUTljWmo1cUNNYldUd2xZTyIsNzg1MDA6InNoYTM4NC15R2VXTkFUc2twa1duVkNkbzZvNFJWUHhtaUwrdmM5NlloNkpZVHp1eTVIZ2ZGS3JKL3VjNHhVemVwZ3phcjBWIiw3ODUyNToic2hhMzg0LWo3TGg1clY3MnpsQyt3RFVtMEdua2c0TjRuVEhVKzFRR2hwVzA3OTEyTFBmMUZaRHBrSEthcXhNRDFqSllQWjUiLDc4NTY5OiJzaGEzODQtdnV5L0Fyc2g2R1pNN2Vyaks0SkhqWTRDa0RrcHNTTUYwT2VpUUgyZmc5OUhuSGNMUW9Lb2UrOTE0MXVaODB6RyIsNzg3NzE6InNoYTM4NC11THR5TzhENkhzY0h5WmFQcU9pbmRlbUI2a044NE4zNk14aUMzME0vWDJKRHMzLzUyRmNrLzJ2d1hxYXhtbWtlIiw3ODg2MToic2hhMzg0LThFbDdrN1BEMlVFQ25keE5RU04zNHI0b0pmMVZzRkcrSnNXZXllUHE0QnhOc2ZlSHo1Y0pzay9vbFJtMTJDRVkiLDc4OTA4OiJzaGEzODQtWjdSOFArbkRXVHB5WFczR2phVEZ4alg5WlREWHN0ZXM3RlVmbHo1SFlyelFqY0JBOXByTjhLV3d3clFwVDNKMCIsNzg5OTc6InNoYTM4NC1UaDV1VmpUekNJdXlvNjdqam1vbjRlY2NsU3RWMlJaVFNpOWFBY3dEWUNYbDZYVmdjZ3FFR2k4dWFnc2plWW9sIiw3OTAwOToic2hhMzg0LVBPeU9ZZ0g0cmZPL0Z4R0VtMGlheHR2bjBhOFQvdFhyTjl4bTgyc21PQzFpNUFZUEJBVHZuK3pJQ280bEVyRWoiLDc5MDEyOiJzaGEzODQtcjkxMjhiSC8rWU0vRXBMTzEzTnJVWktxM01kWUJNQktvVzAzQnFOVVczbkRYSWNmSFhPSnhBZWdpc3o0NDEwTCIsNzkyODI6InNoYTM4NC1nT09aNDdLcUZ4ejIyQVFlMEl3Uk05d2RMNTZCUmNjdnMxTWJwMVBjU2FIM2R1NlJjNExDOTZoN2R3aWZncXpPIiw3OTM3ODoic2hhMzg0LUhXdlFGT1NDQ0Rsb2pjT3RINnpGNUtyTUk0LzBIQ1lMcEZPSlBlcGQxQkN5WjNLQjQrVkk4cHNWRXI0aklCMDkiLDc5NDA0OiJzaGEzODQtUHdYcGt3eWs1WEZnejA0dXBZNHJvVGlZb3FGa1V6M1ZGNk1NZ0t0UTRKUDFaVGpwMmpOTVhCVWkzUXZ0Y3JjUyIsNzk0MzA6InNoYTM4NC14d2xaV0Y5ek5kU1JOdEJWS2VpalRlKzNQMmZqWDZCU1RFbEtDQU9tdmg1T1Noc1ZzQjlwdEpkTWs2QlVOdU1IIiw3OTQ5Mjoic2hhMzg0LTlyYXdDeTlUc2lDRkhHRWpJeWw0eHlrTXN5dDhCYi9GNjJDTUp3TlE2SEhGTm9FSkJIMkEvelVqZjBXVDl0SEUiLDc5NjgwOiJzaGEzODQtQzE5UFVkOE14ZXluaUh3bDlHVW9lZWFvdUhFbW5ZSWtISVpRbUdkMHlIdk1KVUxPZ3JoT1RncTlaZTBMenlJciIsNzk2OTA6InNoYTM4NC0yclR1Y3I5cEoxSGxwbFR3Q0xjM1QvL2FMMGlvM29vNEExTno2a2RhUW5LYWNqbERRREZVa3o3QUg4VFY5QmxRIiw3OTcxOToic2hhMzg0LVU3UXlSTFQ0c0FDdUM2OXovVkZuNWlneU1aZGZzaTM2aFhkOVN0S3BWQitKSzVlYm42Rm1KZ2tVSDFLUnlQa08iLDc5NzI2OiJzaGEzODQta255ZkdmUkR6QkZHdjI1T1hiR3ZBcnF6alBIWkhVVmcyMzRXR3gxVjdpMnIrbWNDZmREMEEyUW1FMlNHNkpFUyIsNzk4MjU6InNoYTM4NC1qTWdNbFEybjJDYjhocGJ6RWJHUU0rUzNEeUs2L1d4UFdoUXhmaVhlU2U3Wk9ZWUE5R3Bsa29POVBUY3o5SmI5Iiw3OTg2NToic2hhMzg0LXFjSVJwOVZWaXVIdUU1T1NpRTZzY3ZxYnRFTndJMnJpdGhJaEhVbUIrQS9rUVpmRVhnL0JoZmxoR2JURHA4UFIiLDc5ODgzOiJzaGEzODQtYlZqQVdGTWxZUklQR25mdTZlNGNlNmNHUGNsemxZTmo1NVpxUzRhL3VPWjBtL204WGgzdm93V3E0WHdMaVdhSyIsNzk5NTE6InNoYTM4NC1hSUs2djB0TFpJMENYWVg5d09WUEZmQWN2QXhIK3VaSTRqL1VMYUtoY2FMTm8zZGJhVXJ5Qkd3VUg4R3NVZVJrIiw3OTk3Nzoic2hhMzg0LUJra1hiS3pTVm5YSFN2Mk9NSVNMM1lqVmU4YmJKSE9qNE9jaGZiVlJFQXBNNkFtY1BMbjJxZFE3VEhFRGZER1oiLDgwMTY1OiJzaGEzODQtL2RIZUtLSW8zS2paTm55TFpEb1Z4MTlIcFNWNjBNQ04rQWdueVMrTmZZQTF2Vm15ZFBqekUzQmZMOHdYc2xiYyIsODAzMjI6InNoYTM4NC1PMWFhOEptamwxbGY2MVFIeG55OWdQa3VjOXY2KzRIQ0xRZytWZWwxY1dPSnJQRjR3SFozcVg4SENNVWJ0OWRuIiw4MDUxNToic2hhMzg0LWxtOHQ4bUtDK1dFMlhzNGJud05YdFNVZXRwanVzSmhDN083U0xtMHBYWjk5WlN5eElNVk5jQ3VpbWsrSzhybS8iLDgwNjExOiJzaGEzODQtSHFzMHB2WEZUYUFqdkdZV1VhQTZrTk83N3k5YXVwZUdKK3h2T3d4REtaRDJBZkxJbU1ZK3Z2dUFSOTZjdUtlaCIsODA2Mzk6InNoYTM4NC1XdERqVG9kWHZsa0F3ZUs5WFQ1YzAzckFXWEdHd3FGVlJRdG1vNUxtY2VjWVYzVlVNRDRSMUlTdTlnN2gzaGpDIiw4MDc0MToic2hhMzg0LVNkVXRGdTJxUFVmMk5aUmdSU2xuMWFwMGMxcS9PN1RuOHB0SWV4THdYSzN4eklpeHQzem5WSlU1cHJkcGJRQW8iLDgwODE5OiJzaGEzODQtRE03MmF0aFZTOG5TY0VMd0RRWlptejJTcjQvMVRnV1lDWGFFNllESlBNaVJjWlNkMytXQzQ1RGRTNmlobmxEUSIsODA5MzQ6InNoYTM4NC1QaHlrcE8xcVVzM21YZlBVSlN1OC9Pa1hiMG1WRlhsdm1xcVlJdjllZmQyMlcwR1VNdnJOa2hMK3RJc3U0KzZFIiw4MDk0NToic2hhMzg0LUJCcEp1U3FPMVdSWkV1YUlwY1VrMU5jQzZjUG45SFVBaTdxTHZ2ZVRTTGVWK0FiNEZkQ1R2eDhOcEV0QmdVbVIiLDgxMDA5OiJzaGEzODQtUmNiTE9Xd2Q5bXd6bjA4Z2tCYUVQOFNqaGF0NjZNSTVTWFFOT3JMTE9PSG1xQWtKVEZOdmlFUjFWMm85OStYSiIsODExNDQ6InNoYTM4NC1ETm1GMW9rZGpBd01LbDVsYWtiQzNvQm0xTjN2dGFDUDFydnhMZi9LRG8vMFpVakRuRHZWUXhIcEl3TWdQL09QIiw4MTE1NToic2hhMzg0LUlTYzZrSWpjVkphei90NGF4ZklaNTNhU2MwbE9HRGRQY1dVdEFvRlNEd0VlbXR5L0VXTEhTNERIWnNzeGFCMEgiLDgxMzYxOiJzaGEzODQtekkzeG5sVXBzdTh1Y2RSZjMwbmNxNGo3am1ubk0xMVBNZG5lbktrTkx2eEt0TjI2Z0I4OGJHNkJrNjkwTm5UZSIsODE0OTE6InNoYTM4NC1WUXBLVEVDVVpTb1RuaW9QZThXZXU4dHd5Ryt4cjRoTHNXd3RKbGt1a0pQTlIrTUtoQ3ZzZ2EyWEJ2YlU1QWhNIiw4MTUwNjoic2hhMzg0LUx4RWFVYTcwTTU1TXNnZnlMd1hqYmY2WW9CWmtIbC9OV0xXK2hacExvM2V5NFdIMW5OZDJweFVwOEF5aHAzY2EiLDgxNzEyOiJzaGEzODQtbGJHdVFKKzcvOVUrQ0hkVFNGUVJrZHZTNXVxb0JTV0w1WmszeVh0azdjQnN6empRRER3cGdTUWhHNy9waUQ1eSIsODE3ODU6InNoYTM4NC1STFZiR2Z2VVhwR0JsdUlSK2hUc1BJMGtNMUVGYm5TTGFHU3JucmJGc0Yyem9OSDVXZ3dmQjBKQVB0V1pQakp1Iiw4MTg4MDoic2hhMzg0LWNKQVhtZFEyRGFURHliZUQ0UTQ1STkzaFVncldrRGVlNWUxODV4Zi9pak9CYmxLVm9veTMxQjRZZHcxSFJlRXQiLDgxOTA5OiJzaGEzODQtS2tNY0ZmcHlhNXZFTUVGTDhKNFBWb1R3L2xzQ2NiZFVwRDZlWG9FVVBxVkNJM2RrRTBTOXZWb0U4OCsvQVo3dyIsODE5OTE6InNoYTM4NC1ZS2sydEMwRnoyOE9QVVlNaFJUUzAwOER0UFk1cTJjL2dYL1BteTBWbENZajhjQ3h1ck1WbXJJZk5YVkU4ZUhUIiw4MTk5Mjoic2hhMzg0LUtWdHJsMnNlNDZ1Uk1kRjFhRFNkSjRnTVdaUTFtOFh0ZG5SSnh5aWJEZlV2MkxkaUVaMzNpQlhXZVZwdC9FbmwiLDgyMDM1OiJzaGEzODQtSnVQUWFwNHM4WktNRXV5cU9wRFAxM1RCNi9FYnp4SmdaVUI1NUlJaUlWUG14c0tJZTYrdkdDQ3lPQUxKK3c0UyIsODIwNDc6InNoYTM4NC1LL0NtQW4zem0vWmpTL2ZGRTdzeDdJTTdsK3hQTTdtTnU1d1h0YWx2b21pVU4wUExTUXArenptL3dqUnlJaXNTIiw4MjA1ODoic2hhMzg0LUhVVmlkUTFFemtJNG9hcGc2cnd1RlplNG9uMlgyNkdKUFJkSnUzcHZTWVVoWlp4aEZZamVSTjBsNU1SOEUwb3kiLDgyMDc3OiJzaGEzODQteFlPbHpBQTlIcmhmbUYzMkFOR3p3anF0SU5iTzI4em5sclBQeFhjZWpCb3NWRzRhSDdMNnNGb0sxQTVrWjdXUiIsODIxMTc6InNoYTM4NC15UkxFUG5kU3NmOU9NaW1WRWgxY2Z0T1ZwQU9KR0x4UG8weVFQcmZDbDZ5SVU1bVY4MDBNZWd4OWJRU1pKNjJYIiw4MjM3Mzoic2hhMzg0LVF4Y3RNeUNZWDdjbG53eWQyVUNWWCtDTm1nQ1EwVlZ1NXp2cXlIS1pQNi83L09KZTV0L3VtdzhJUHRodW00QzEiLDgyNDQwOiJzaGEzODQtSnRlQzZVOTNkcXdoTzI4enMySGk1aHMxREVBWUoxVk1IaS9yN0YxZWFXU1U3NEswODREbHdDM1lpRzVWSEJOVCIsODI0NjI6InNoYTM4NC0wSE4wellnMUF5MksyS3RVMmZRQ3lBODR0c1g4dTFqNm5uNVY2U0doNkV2Qm9oOVFKMUZOdWova1hFY2l1WXFqIiw4MjQ2Nzoic2hhMzg0LURpUlgzL2ZubjlRN01nMGxTVGhCVWtHWTZBWXNmZC9LMEo1V2kvcGsvN1BpTll2eTl4Z25vTkFRNG5sTGxhc3QiLDgyNjMwOiJzaGEzODQtSnp0SUh5K0tqMnlUL3dnVVRoOXhrV2dRNXpwWW1FaWE0ZmljZmtTUHBhTVRyYmo0VUZUWmR2OCtGRkJPa2JBQyIsODI3MzM6InNoYTM4NC0vR1VObENoaUt6WTdyTXdTVndWZjV2RXVrUFphbkwyNy92YjFxNEZCM1hvdUNhSWdZQTRLTUNjOWJJalhnM1VWIiw4MzAwMjoic2hhMzg0LWJkQXVVajFMRmRWK1pZWkZJc29vclNKR0NNUXkxc0xKVVB6NVYxWUs2Y1lxTmtoUThIdk9SNGF4bnJRTW1IRkkiLDgzMDIzOiJzaGEzODQtckZwejk2bVRuNlZtaUlkSUpDcWg5SVVrUDRkRkpKUnhqckhWa0I0SzI1dDlKVTlOVnNUTk1DZkxYUWkrVkJPQyIsODMwNjM6InNoYTM4NC16b1JUNjd2MWlORnF6QktacFVlSHhZczE2bnhDZVlyWERna05aTWIwdTc3d0NZRG1teGRnckpWMWlRcGJyaG9kIiw4MzA3ODoic2hhMzg0LXorK2duLzdwU3Zra1ZXTHc5dGp3S0pMYkxOeDloMGJVZ2pUTlcrSDFSdzJmV05FMHlsOXpOeHg2UjFieWY2T2UiLDgzMjMxOiJzaGEzODQtVzRERW9lU1ZzUFNoblZOalp5aER6NXMwTXdQeitPWDYzblhGQlIvSkhadWExYStuTzVqQW9YbG1iR0JRcjBEYyIsODMyOTQ6InNoYTM4NC1Mekh0UlFkbGFubCtteXZHd29xRHRFWmFGZWNKaHlNNi9PNys3dHpCNHV1SDZjSDVQWUE4RWZLYkhnZkpVL1VJIiw4MzYzOToic2hhMzg0LThTRml0czRoSzZDY1gyQzROZi9KZVhCdXNEdWhlaGVWSlZ6U2pMYnpKS2U5MjhrZVVRQkRiZUR1eHprUFRCUlAiLDgzODQ1OiJzaGEzODQtUG5sSDl5SkF1TVd6VXF6UFU3NGI0VzVZS3hQOXRPdmR4T2JTSE9hUWxsOTN6aTVlZE1uWjBQdkRqdmRWWUhuNSIsODM4ODQ6InNoYTM4NC03MjBCdG9RYWZENkhvdHFENEZ6Vk9ZV0RDUUQvSStPUHJhTm5XR1A4bkhWREt2a0NWMVUwTG5WU3VjRVpxRzZjIiw4Mzg4NToic2hhMzg0LVR2MEg4d2I4MndETDFRSzk1V0tTNEV4LzBIb1pXaFd2VExzdWEyVTZadllYczhzaHdCUXNZOEdSd1B0YVNaMkEiLDgzOTUzOiJzaGEzODQtNllJL0owNVcwa2NHZUdPTlJ3KzkxQXpvYWZwRUw5b21BS08xWjBkaWprTmN4dzdpRXhqZ3BZeVRodnNwajF3cyIsODQwNDk6InNoYTM4NC1VemFPNUtQZkt6aW8yV29qVmF0RG5GSmZwNEs0aHBrcTFVMmthM09BVDgyZzdJZXArMC9hbXNYRGFaM0FXelRlIiw4NDA2NToic2hhMzg0LWFKcDJ5bjgyUERkRklrdmxQVU05RHE2UG9FUGMvR1Y0bnhpTFZJQ1owWGo3aE5ia1R5NUJkZldQTzZKVnNtN1AiLDg0MDY2OiJzaGEzODQtNlVuTlEvK1hFYUNZNDNtM1JOeWs1RUx1VW5xbEpoU1ZObVhieTZvOHFqK2JaaGh1L2labHRWc2huTW1Zd01UTCIsODQyMDE6InNoYTM4NC1IbmQ4NlFBV1lmOE5ZUWR2YjJLblNnTUcwUUp5MGpyTWI4bW11cVN4SnZSVGpQeThMTlQ3WUt3ZEJyKzNlWTVvIiw4NDkzODoic2hhMzg0LXpLOEd2c0pIMlpHaTF2eVBhQ21OaTl2ZmZ5cmxDRzNxSzhCcWNVS1QwVEZwVHFqRlc1QzFKZW5zUjBmSElYbHEiLDg1MDMwOiJzaGEzODQtWWNSblFlNFRyak9NNTI4RlpSdHF0djJzczhpNXBwUGV0MloyNGJ2ZUtkSjZ2RWx3MTd3Nk1NUlNsY1d2cGV3RCIsODUwNTQ6InNoYTM4NC1FR3gyQS9ON3VwbHEyYi9ENVFJM1lXbWZNOG9WNU5aOFI0NzlwTXhhTk5TZ3ZUUWNJWnNOU2REWmFSYTRzNE90Iiw4NTA2MToic2hhMzg0LW9qZGhyWmNxczMveWgySVRQbExSd3FqNHZxTkRUTzZDbGNuU3c5bWhHdkJ4SUNIWXprSDVqOERCcDVuUzdJajMiLDg1MTM4OiJzaGEzODQtczdSSHFOVWZkTzBKSGtPQllLOFM2NG1mVVJjZ2hzKzFubVFlVHJHVWFNa1ExK1lJb1pWU0ZPVWpzUjZSdjllYyIsODUyMTc6InNoYTM4NC1wdm5lUVJoL2s4M2IzaXEvb29qTTFxOEVhM3RPV0pYNEcxTlUrWDVTbVpPaDZBaGlxR3RXQVFjRzBBYjdVM0VyIiw4NTI1NDoic2hhMzg0LXYzcGVaSW9CR2NwYUxoOE1UNVY1U1drbzFNVElySVJlRnE0aDQ5S1kyYk1od1REQTZTL1J0VGsva0VDQ0xMOS8iLDg1MzgxOiJzaGEzODQtSzhvV0c1Y3QvaXExVGFnY0gyc1dHaUFuNWVVZnlXanQvUklHTXFucWhwYjZOVEdkaGgvbSswTjhyM2Q5Ly9yQiIsODU0MTQ6InNoYTM4NC02Rk56OHlrdUJhVW5IZjNmdklra2EzM2VXV3VzZEl6c1JpTTV0T3FlU1I1OFpQVHJjNTBHb0Yrdjk4c3g3b294Iiw4NTQyNjoic2hhMzg0LTNjRHlqUDJmMTBPWkxIUUQwVjZBeFVrMVJrbGF3NVlOdWVMSFNMcFY0Y2V0WkhONU9NZ0ZxWFl5djZjZE5CejkiLDg1NjE4OiJzaGEzODQtMjB0Z3llejhhcDBBM29xZ0RublZKQ1Bxc3RRTVNjVDJ5UzM0eSt6dkxZUWNwZXhJRWNOTlB2NVF4dXh1bXpZZyIsODU2NjM6InNoYTM4NC0rTWxQUDF4eHJoMXdZSVpmNnVwTWczZjlHeUQyOXRrRTBxRjFrZnhaaThwczMrZSs5TldrZFJhYVk2SisvUEs2Iiw4NTgxNDoic2hhMzg0LUp2VThGSFduVUhoaGozbndBVFNkWHcreHRMa3FLbklieEtwQncrSjZlSklydHZaYzdxMXJEbHdLM01vdHJBMUMiLDg1ODI5OiJzaGEzODQtYkw1OE9iK3IzODRIcHQvTCtIOGg5UTVtekFTUGJuT1lWdTJ0L3JySWJhdDdZRVBjdlllMXYycXVWVlFjTEhZSiIsODYxMTc6InNoYTM4NC1iM2R1cm9WcUp5SFB4SnN1WHJlbW53MW5jM1IyOGZRZXlSVmZhTHBzckJteEo1QUw2TWpFcndmS0h5cnVwZitBIiw4NjM4OToic2hhMzg0LVNPWnhKZUdSeEdYczFzRFp5S3dZZTBuYno0ZzdqVEp2dmJ0d2YwTTVSeG5KSWZ4eFVoYzFaYUtTM0RqeW9MVmsiLDg2NDE0OiJzaGEzODQtRklIdFdTM3hRVCtJZlI4Mk9WNCtLMEhsMjZ0VnE4cGdTai9RdGpIbFdLLzR1SXB5N3RybnlpbFBIVnE0Y3VhUSIsODcwNjE6InNoYTM4NC1OVHdYNTBXNDE5QTNDZ2VpeFJWWUxyUlJLSTgvOC9uV01tQ2pJcUhKSkl4bklIc1FERytjS3c1allmRTd3MWxlIiw4NzI5NDoic2hhMzg0LXVIaWRxREZRVTUzVmVQNVRuTjhNTmdSNVR0N1RmMnkvWmYzakovZHJRaFBBb2J0a3ZiNHpmenNXdzRGMm5raGciLDg3MzUyOiJzaGEzODQtTWtlZDJIZFVsbkhhYVBReGVTTjhOUUtHS2wyM2tFd0VHNHQ4VjlMaE9YZ3F5ZmFKYUJQRHhISGk1SE1va25wSSIsODc0ODM6InNoYTM4NC1lZWZjYmZIbEh3MitEZkV3VTlUTDltM2Vwek9oeWQyQ1VvaG1VMEtTclhtTzVRSjhnaHJnRmF4WDNLb2d0cjA5Iiw4NzY2NDoic2hhMzg0LTlmMUk1WW1WNE5KeGpVNHVYamk2N1d2NXJwOWJad3hsRWI4NUx2T1JnU25VK2hWUjE3aGJ5QkxTUnRjYjQ3QjQiLDg3Njg0OiJzaGEzODQtUlRXY1UvUXl5bGFWZTJ5dTViUjRXTUkzSU1LUEpIbFlvRVBYMDdubnBTWUtmaE5iNUN3QkM5Szc0MmRLM3ZWSyIsODc3NzE6InNoYTM4NC1UQzVYc1JDMEFDMitzRmIyZm1SUjVJNldHNEdEWG1oeU9UcEN5c2wxUHJQWGN6R1o3MTdXZ0pHcDZBcGlqVjh1Iiw4ODA3OToic2hhMzg0LXFZYmZsaWZ2cjlrd3M0UEtMMysxdGt2ZERSZ1lPZW0zUFJoRVNtamRKVW5FWmpxMVVUYlc1T3JjSXVKUUZ5VlgiLDg4MzQwOiJzaGEzODQtSUwvUnUzOFNlMGFzUjl5Mm93ZFZmWUJOZFYxNHE4WHlPTVB3bmlpem9Ucjk5K2p4R3R4TFNsSmxNalVnK2hQcSIsODg1MTc6InNoYTM4NC03Ujhpd1crVkQrcUxzLzk4WEE2bE5HeHoxRUVCblRrSFArNmo5dW1KcTdQT0FTTFlCemJ4a1JPVSttblRTRVVSIiw4ODYyMjoic2hhMzg0LUlVY2JDV3lVb2tOSW9uMW0zWll0VnF3cS90c0VoM2VQMEVxWHRSMlpLYW90TGVTYnluNU5pM0lUQTBjZHo4b3QiLDg4NzkwOiJzaGEzODQtWGIxaGphMHI4eVFmcTZRbm0wS2dRdWJnd2tGK2VJNzZoMWRDaTJ1S1Y4RjVwZlJaSVZSSTJqeUJid29ZbllXayIsODg5Mjg6InNoYTM4NC1hOTZwcjRneFQrT253UklkNnN2bmg3OGdYLzArQkE5aytkdWhmc0FiaTVCU0JvSC9IZ3RkQjkvSzNEOVpZQ3dVIiw4OTA2NDoic2hhMzg0LWNRU1VTa0RyZmdJa0Q2NDNXSUJoK0oyaUNoa3M5YWY4a3VFYnpQRHN2WkRSL0dvOGRyM1Bma3ZaUWwvcTR5SFEiLDg5MDk0OiJzaGEzODQtc3BOL1YveG5KT21oODNSZHFOTVRTNkZvTHh3enBjSnBpVU9PT25waitWdDFvNFhxM2VrOHBTSUN0bE5DdnF6RyIsODkyODE6InNoYTM4NC1aSU95R0tROHB4QUVrVU9tTXNRZVNFbXRDcW1heXlNQ3hTaGRKTG9Cemd1bWFHOU5sNTZlS2JScVFCVTRGS3dzIiw4OTI5Njoic2hhMzg0LUNSUGRiMEw1bU83M2pGa29OT053QldqYU1INHh2QVFJV25tMXB0SEVZWHF6VTJJckgzTW9OZ2p2L01MVWZNekMiLDg5MzcxOiJzaGEzODQtQ1Y5Z3Z4bjBTT0RmMlNNd1FkK2M4dVlmMTJWSGJNMExNTTI1RFBEakF1M0c3dDhCUjVVRXp2eTJUSDlhQW8xRSIsODk1MDY6InNoYTM4NC0xZnNrVGNlbjIyeUdMUU1qMjJvRHVHZG1DKzlYYnFNeWc1M1h3U21NME50UVlibGJDK0xhU2w0R2lvZVBUSlM2Iiw4OTU4NToic2hhMzg0LWU5VjgzZ3ZjY1g4ME9EQTFGei81Q1NkK1pnRnZVU1FHQmlBYjlZdkVaU3huamRqV1Y0V0wxdndQQW93RmJMbTkiLDg5NjU3OiJzaGEzODQtYWRqclRrcjNNUWxPdTk3TVppbklHbmFTQ29GQkk2T3h4aTA5QjdTeFFocDFaNkRETk9CcGNQMWlpaUxOdkRWMSIsODk3MTY6InNoYTM4NC05ZllIL1o0VnhOSld2MEsrVFFoeHRpc0x1M1hlbG93d2NJVXdyY0l6QzY4UWIwTW1KdmVMaDZPbDg2eFMwYkZWIiw4OTg2NDoic2hhMzg0LWppanRJMTB4TzVvK1FpNzZrTkMzcEg0eHo0NlJaUWxJZWxnU292TXlkSThOVHRqUkJ4S1cvMkxISFhoSm1OZkQiLDg5OTM0OiJzaGEzODQtUGFtZHpYZTRxV1laLzlxWm1tTmFPK0ljT1pubEhoYWJkd0ZFQ1hTRVlDZnE5NWJLckhUZXZ4OE14K25sRk02eSIsOTAwNDE6InNoYTM4NC1NYm81ME9LZnZRWERVYnJaSlFna3FnL1VWbWNpSmw0bnhFbU9wbjhRTGlRYU9WMkROZThZM2JseXJpSHBvVytwIiw5MDMyMToic2hhMzg0LWlUSElaZ0hDSWc0QzlGQytwMm45UXRwbU1MZ1d3Z0Q5Wm5TaFhZWllHWE1WRHVWZVU2bUIycHBOWUVVSm9BV3QiLDkwMzU3OiJzaGEzODQtY1h3SG9uNm5yN3JMVnpVV0UwdUs2cDU3czhSaktCYWtkOHM0MHVPMXlWVzhqYU10ZVVBNDNuWHcyZTNHMUFtMCIsOTAzOTc6InNoYTM4NC11VUROM1lwOG9XVEYzQzk5U0N0aGJuS2FmOE4zT1poOU5UeWR6Ymg1UnhhZFFNRlgzL0ljVmdXTTk1VEU2SGZ5Iiw5MDQwNzoic2hhMzg0LU91LzVSYjd6eEJqYThReVZWMTMrSCtuVE5mNmNzdVpLZXBuKzNTVVBiaUVOK0QxNWxDa2h2ejVGT1ZUd2ZxbXYiLDkwODYxOiJzaGEzODQtcXNIZTJPaDhJeE44U0tXVStHK2Y0WW11NzJ0WkRQMmYwc0haY2NBR0ZwYTEzTm5ORmQ1T1oxbXFSbTNJb0xreSIsOTA4ODU6InNoYTM4NC1SM1piWEs1VllDcjUvL0QzWW9CQmZ2bHBCbHJHMzlnSlNNeS91cUZYT09zcnJMZXg2cEluSzZ1L0srdVZ3aENJIiw5MDkwODoic2hhMzg0LXkxdkNrZ3J5UVRJZzdBa25TaEtFOWNLSWJVYzZvUTFTM2UxWmxFMyt6OHRubWcyaGhDQ1FtYXFqVFM3NkRKZUsiLDkwOTM1OiJzaGEzODQtNVVOT3NVaEtIdjhMTXlDeWRKUnBpNk5KZWxKd1N5ZGdwYWZ6aVIzVlE1YzQ3SHIxSjJKa2ptVWU4M0w4SmptUiIsOTA5NDE6InNoYTM4NC0rWVRqTk40UmlrM0xvbG1WV1B6a3JaNG5zQTZUTVFVeVZQcEo3WVlsK1c3eFZoekdmWkpmak9hRFZJY2U5OTZwIiw5MDk2NToic2hhMzg0LU9sTGhuYTNpa0lLSjUxQUFjMkpRZXJTaTV6WUF3MFY4d1J5S3ByU1kvcEIwWFN4RTkxSVEwTzZJTDlKRWxUWFUiLDkwOTc5OiJzaGEzODQtbkZSK3NYY25TSG9uZzJkWDBidnIyMjIrT0JWY1UzYXhlOE5oR3BzU1dZaGlzYnAvQ05naW9ObXArczVkRTJDWiIsOTEwODQ6InNoYTM4NC1ZOVNxcTMrd0lDSHNLWUNFMXNVNEI2U2VJQmFsdHZRU1RJQWxtM0s4VG41b1lxT0ZlaGdoSk03bVBtVGlwc0ZEIiw5MTMwNjoic2hhMzg0LVUrbmpBUXdNNmZJMHRkRU85Z2orelAxbjBvTnBzeStxYis3ZXNQNXoxOEZIL0pieFJlSllkZ010L29GSTFGenciLDkxNDI4OiJzaGEzODQtSW1CTFQwdmg1Z0xWRzhFa3ZiQnQyb0sxLzBZZmlzdkRNQ1d5VjdlYytpMzUxOS9sMTVKZGRWOUJXT2pZVHM1SCIsOTE0MzM6InNoYTM4NC0yOTV2WU9GRHQ5d1FwOHBYd0FJdHRZWnJpN0FJS0dqUGdoNmR1dEkwWHZQenFIZ1lEMXF1SXBHUWd2Nm5mTzZ5Iiw5MTU2Njoic2hhMzg0LVJXN3ZOOUNQeXRjK0krTGtkT29ubFdoOVF5VUNqeDNJMExvaVhNUVJjcUJ1Vmh3MDZFMzR5T2tiVWVRaTVtNDgiLDkxNjE3OiJzaGEzODQtN09IZGlwTmdnTmpTN3VyUEo5TUw2bGRWc3NKVFlIMi9QZEZ0bDgwUHNoY3FEZEFFTEhaRXZjR3RaVXRBQTkwbyIsOTE2Nzc6InNoYTM4NC15SG5ZN0JwR3ZSWWNHcERzdW8xVmlkMXluUldHOG82ZUI5TXFRQ0luNzhzSWcvWk05KzFkWVRSWnplT2JSN3J6Iiw5MTc5OToic2hhMzg0LVlvbkJrTUZHY2JNaEdRWGNYQjRiMldPeHc5WXowUTViR3FSRnkzQWpGQmxCaG9qdVF1TDRnWitGYVRZeTJENDIiLDkxODIzOiJzaGEzODQtdjBtc2wzeVg3aC9MMk5SSzFzZTBqdjE2MnFZeVFDZStuQTRuaEFBMVFGUk56WitXei9kTEpGTUVST2c1NVNvNiIsOTE4NDA6InNoYTM4NC16Q25HV0Z2NXEweXFKRm1aNURQWWNyQ1ZFTTV2Z2JEbFRsbXlCamhMazljeW9hemFQeVJ5aU1hVmpRMEUzV0hYIiw5MTg2Nzoic2hhMzg0LXdTbEl4cmVaQ3BscnE5MXVXenNiZFNWQlZwU29sTERtQnFDb0JqaVhPUi9iaE5zZWdlamY0a1lMbTBLOEhLRTkiLDkxOTMyOiJzaGEzODQtNFJPcnk4U1lleWRmU0tBcTNWZXRKUER2d0ZzbFQySGlrWDAzdUY1Zzhkdld0VWQ1YVRRMGlVUlF3RGFlVnlUWiIsOTE5ODQ6InNoYTM4NC1wczlYR3FxNDEzQVlnY05wQlBjL3FnRnlyU0QrWkhYYUkrd3Zqc0NzV0FXOTRPeTUvUXYvYU5ZalNuTUlGZVE0Iiw5MTk5Mjoic2hhMzg0LTVwV1E4S2FvS2YyRmQwVTc3a09aYStSVFFiUW9FV056YlB3VjM5dytmMnBVRXRrQTRYNjR2UHQ4K2t2eEhFdzQiLDkyMTM5OiJzaGEzODQtSWRqRlM5eW1RMGRnUytBUHpsUlNEdnQwSE8wVFJta1pJTklEaUQxV21KR3VFZVo4dGVwTUdGNkI5WDJrakM0ZCIsOTIxNTA6InNoYTM4NC1tZU9wUURHRWxwRlRRbU5xMjROdXRIRmFpNWdkMDZCbFBZRkNpc2lvR0NLTmJ6U2duMmI3WTAxSXp5RW9WVTNWIiw5MjE2Njoic2hhMzg0LXRNelZOY2pDSEtqOXYraWhPRWpjWGdLdzR1c1VkZGVJRTBEa3F1UzZsUVhQSHVxUERDVlRoNFdaT2dvczBlRXQiLDkyMTkzOiJzaGEzODQtZjQ5VkNibjQ0UlV0RE9ldWFvV0ZzSWlna2l3M3ZpVDU0NVRLTUtMSDVCK2IyV0x0ZFlwUW9mZXhPVUZOak42TCIsOTIyNjE6InNoYTM4NC1tUzBKNzgvSktXSGZZcVVQN0xHSVBZQS8yVDNxQk5Dc3VyTjFBRmxrN29xRkI0UmNQTmpkTnZSRGN1R2FRUGwrIiw5MjQ1ODoic2hhMzg0LWNRREUxVU5EdnIzZXpsSjNKbXRwSTBMOVFHRzQwOVpJekNmRFhicnhYRWszVTVJTmpiSm4xd2duTHdsS290OTMiLDkyNTE4OiJzaGEzODQtT0poQlJrOEVqV29pc0Z5cUJBa3A0cy9mWU9NK3JQZE82YWg0RXd0eFEwVzhXZkxCMXZQQ3BFd3JQUUJub1NOWiIsOTI3NTI6InNoYTM4NC04TGRDK3hzaGs3eFFLUmIxTVVOeFBwbUk5R0c5Um9kZ3JuTnd3NVB2VlFDek1MU1lBVnZkT0xISUo4bWdIUWZqIiw5Mjk2NToic2hhMzg0LU5jbWs4YzcyaVJCWlIraWdQTVEyUHFzVWhQdHlUTHJqZ0wxSGRnUHVWaDZzRTh3dnpNcWY3eTNXMlN0SUMyMUIiLDkzMDMyOiJzaGEzODQtZFBpVmdFZU9PdERHUmhKbjZqRjhjWTE0UHNIZDBMSHY3YXNkNmFnbDgwZ0xySzVTazQ5N25TTXVEdnZQczJGeSIsOTMxMzA6InNoYTM4NC1vSktTcHZmTUtPTGUzWHJtOWtmMDhyZlMxdGxOUk1hbkcxQlI1NkhKVE5rVDBIYlRNRTQxcVdTcHJCMzAzUnpDIiw5MzMzNzoic2hhMzg0LUNPUXhVZUNrWXNSNmlEZjhlNjVEQTJXK3d4Q082RjEzQWlRVFltZ204QWtoTFp1dWVkdFc0WDh4NXpMQlkrZWoiLDkzNDIyOiJzaGEzODQtbXdJMW93Y1ZYOHNtVTBKbXZibFRCd1RQTzExQ2d5S1BLMXMrQmRodVBtSGJRcUpIS2Z1dGl5cmVKcVVmR0tJSSIsOTM0NzI6InNoYTM4NC1EcGVDc1JIZEFtNTU3eERRRU9ULysxbENPOXJGYzlBZ0NQSDhoUmlEeEF6RnZoK2NwMDBuQ21kdXowY3YwQ0htIiw5MzczNjoic2hhMzg0LVlVV1BheUJDS25qbE1NOGFqdG82NDNpcFRUaEJUalhaT3l1M3VEUFZYOFJ4WUZmRWVSTFMzU3FDdUxKMHZaMmEiLDkzODMxOiJzaGEzODQtWWJUMG1pd2ZPaFhBQy91cE9yRnBQd3BoMzhyYmNnL1cyR08xR24yZVFJZXQzWVpuK1dXNm9WZ1hiZE1DeEgyNiIsOTM4NTQ6InNoYTM4NC1MMTBuYzZyTThxTTdmN3p3ekRBTmNCYlB2NEIzY1hpbVYwaU5lcCtUWks4VjZZNUlSbXZmcXhHRHo5UXc4OTZQIiw5MzkxMDoic2hhMzg0LVhVQWlWV0Y5Skg2R3B3ZDR0dkhXZ2dqU3ZZZDdraWw5K1UwSjFUNjRSdC9iWnd1RHMzWCs0bDZxUTBPcm5FdVYiLDk0MDQ0OiJzaGEzODQtc2xCQlBZUUJBSTlxTStqcEhNNm9XRjF4bno1UDg2ZndmdnpmSmtrS0dHeFRxbC81WmtrSlkyZ2VDWU5jaTFDRSIsOTQxNzI6InNoYTM4NC1aNkZ5bVVyTkxST2ordkp6ZnZVcDYwTE9UNUJsZVlQZ2k4bFZmWk81ZGlNcG1ENFNFUlU4WnY2SkJrUzhwL2xmIiw5NDE4Mzoic2hhMzg0LTBXbStPdGoxUFZaUGZnWmR3eGgzMXdjRnhBM0VSL3lxV0o2akhnQlUrUlZmRGR4am1lRUxDeHZZbTF0Y2pjZTQiLDk0MjEzOiJzaGEzODQtbk1GL1ozZGVteVNLNXdhVjYyUlk5NitUQWQ5Ni9YakJIN2FVWWRmaWlGaUpIb01JRTVvbGxFeVcyUGM5N1ZjLyIsOTQyNzk6InNoYTM4NC1teTFVbXFhZk9TVlMra293ZkxiU3l4VFdVRWx4MUNZN3QvcUFUVjNGalNlOWV0NmNGQS9GTytRM1BZU0lFQTBXIiw5NDMwODoic2hhMzg0LTQxdTZlVisxQUkxaHdncWZ1RUVQNFByaHhxR0pIT0NIeDdnL1A0ZUpQV1lJdkJvWEJrV1h2ZEdvaXZJalNEb28iLDk0MzE0OiJzaGEzODQtVHZQMkQrNVVsK2RpVzYvUGRBQmFqSDhqTDNFSmpXLzFDYUNBWHV5WDh6eEIwSmlPQmtBSTdBZTYrTXUweXlJLyIsOTQ0NjU6InNoYTM4NC1RMS8wZXhnY1FPdUJrZXh6N2RnR3M2R01PZ0wzOHpOT3JLNkY2ck1qR2hXUXVnaFNaVnZ3M3FTeDNSaHFYTldrIiw5NDUyMzoic2hhMzg0LWJGbmovd2RZeU0xOThPcjEvMCtTQjB1eFk2OTRleWhvVjZiQ1lhVFhmNUhYdnJwVFkyNStlT1QxRUZ3Unl2UjIiLDk0NTI0OiJzaGEzODQtNzBEbXNKdzNZZmVOQngrd1krdWV1VVcyTlR0VGhBbnhRZm9NOUduZDZLQURtM2RRMHJLWUl4OVpFclh4YkRzbCIsOTQ2MjY6InNoYTM4NC1zZGFiaE1SYWI2dGYxN1NUSHlBMzVqaE9hOVRLWDhuVVJLT3ZuTXJSMHBIU28ybjh2ejg1ZzhJcTNwOVZLY0VsIiw5NDc5Njoic2hhMzg0LWdZK0ZaK0w5d0U2Wnhnam02RnIvZ3Bkb0pPTEtZR0pXcVV5RkNlZmY4RGV5RCt3MGsyOXhSV2NJSUE4d2JvV2EiLDk0ODEyOiJzaGEzODQtOFpVOWEyVFRoVlZVMkxRSzdrYzRlS1JLSHc0RTVPZVVUaDFFNW1TWWtLUlF4QUE5MFlmdEVMY1dRY2I0SHp0QyIsOTQ4MTg6InNoYTM4NC1RQ1hMOER6ZGdkbHVXS3pWeExLQkdaRnU3UVBGcUIrSkZ2bW5xV3RURXFSemRMVzk3M09xNkhXeWpqYjJ3MVBXIiw5NTAxMDoic2hhMzg0LXY4aDcxNVVIWG05YzhuUU5qNU9jM3F3M0RSbTNKOHkxNVdndzNsanBHMGNUcFNkWHFGeWZQM0Y5OTF6MzY4NHAiLDk1MDQxOiJzaGEzODQtTXBKa0JIKzhpK1NJSnB4MFg0NmhBeDJFNnVkL2lvKzdXR1lNc3pDYm54M0hIZ1poY3FuMTRrVE9RcHZVOEZZaSIsOTUwNjU6InNoYTM4NC1ZNVVSTFhuaStnZ1hXSTYwemtjZWttVnprOHY0RDMvZDZOdS9DMmpCUXR3Rms1N3d4RktNMlF6cVBac1p2M2V6Iiw5NTA5Nzoic2hhMzg0LUlwZVZLci80SzdRZzQ4NnZiTFpTNXRXOHlxdExrNDJPTDJXU0hLaktmcmVsUVBEV0FZTFBNTkNOclZOcHZtYy8iLDk1MTU4OiJzaGEzODQtMFcwMGptUjRQTkljTEp6cXBWRHZNRysyN0o4MlRDRkE5cnFRb1AzZ2F1by9GemphUkVoL08wTzB3QW0xVEJZViIsOTUyNTQ6InNoYTM4NC13YTJ2dmhUdkcxUzM2T05ZVXM1L2hDSzNHNjgzM2pNYytXT2xHZkdBY0Y4ZzRNL1ErRFdVbm1tNVViSGRpNUJoIiw5NTI1Njoic2hhMzg0LW9jNDQvRzhRRHJoY0lQMGI0NkFvVWxKbGtDV3ErU20vTjZsWmJjdk93QUJGTThXMEpRNUl2eFdTVllyNFFMazMiLDk1Mzc0OiJzaGEzODQtdVpLSENlSVF2MGJIbnZYdUhzdmhBTzBxNWZ5N2RxTUxqSkR4R01rVGludUxVaytrd2NITzFIdkJvaWtuajRoRCIsOTU0MDQ6InNoYTM4NC1ad3F4QUJKWE92VWFyLzFHTENjNklqNDZpVUFTc2FmdGhpSjBZN29QN3BKd05DQnNvZkJTcHdpUUpScUxqRnVWIiw5NTQ2MDoic2hhMzg0LXZYNERKVkFoQmZ0SHRsMjdFdVU5OUFIRCtSKzh1eUlHenl1Sjl2eW9Hc2pNN3puNWZ1WEhGT2I3ZGVBZUxCVnoiLDk1NzUzOiJzaGEzODQtbmVZalk4MmFJdk5nNDNiYklSendKbW95bGh4TkdZTThUb1VjOFJlbStWRFluNlZyc1NZSGsvRis3eDRMSTc3WSIsOTU4NzU6InNoYTM4NC1LVlczWHpYcGR2R29mNlFQT0tCS0Z5Y3N0N2FtNEhoSi9GZGlrZVBaczVQMWRROHdieDE2b0hiZ1R2ZmFld1F4Iiw5NjA4MToic2hhMzg0LUpibExqK3JGS2R2UmYzSkNDNFBMZG1SbW1ZbFMvZ1U3RU9KOHZTc1pjSEYyRUNOUWc2aUlFWDV5RWk0WWE4RTIiLDk2MTU5OiJzaGEzODQtRDdTWUVmL1J1SkFhRkhKZjhMaXJyS1gvSjRNWjNIVjNwc3NPWFZvZTdTbTBSQ3ljb2JqbTFDZFJTTC90US9JTCIsOTYyMzA6InNoYTM4NC1QTDNnZXFBZ1ZBU1h4RlV3UVhBd3YxSmF3czZ5S3BTblhuN3RFbEZpeE1pN0pqYXFPcDlmTUFGK3J4OU9TNVVCIiw5NjM4ODoic2hhMzg0LTFwQnQ4M0c3TjJab1Y3QU1ZYTJCSXVycjdZTEFEdmFxRm53WS9sMXJ4NWV5L1JXclV5S3ZNY3g0MC9oQllsR3EiLDk2Mzk5OiJzaGEzODQtT3BpUVFSWndwM0ROU1l5a2ROeEVSRWZoSjMvQ1pmVExxODRFSkZjTHRsOUhzVSt1R3hycXRNdlBpZVNIWllqVCIsOTY2NDg6InNoYTM4NC1rdTRTWHFkeG1VV0hSa2VYajdwM29NUGlFSDhOaXBuRE44K0xaZHpvbTE3UzRMN1NOVzRFVmpLRlkwRThHemRsIiw5Njc1MToic2hhMzg0LXE2eHJnRzIwaVlzZHRrRXc0Y3Z3SmlSbzFRTmE2STUrMWZoZUtPYndpRmxpbjIrVEw1SjdYMnBzYWFLUk95cVoiLDk2OTIxOiJzaGEzODQtbGRMdlZ3bnJQaWFGTWQzd3JJQnorR2R2d1g1QU1YSW80UWwyUkR1b01ZYnZjYWZjUEx2aWNMNDNDWVBWNDVqRSIsOTcwODM6InNoYTM4NC1VckNuZ1YwUDI4VWRTRU1LM1Q5V1A2aklhZ3hkZ25JOG1qVFZTTGhma1BwSkdzTXlTaUc4QlRXWEVCdWllSHFHIiw5NzEyMjoic2hhMzg0LVJ1NHVIOXJ2dEZhL1VRdGpBYlhYS3lBVzJLMXYzR2Zaa2l2ekVnMDYzSGV1WFhoS0UyamxyREpxNGVSTjFSNzEiLDk3MzA1OiJzaGEzODQtNnJjbnVjUU8zNVN5VmlVV25QK3BjdHJWQldHS2RGZ2xqWTJuVDNSNWl4cVNuM2xzK0dQMU03RGFrQVpTWjFqOSIsOTczNTk6InNoYTM4NC1QOFpVTGZwbGhtZHdkVG1PMitQRnFQMEpndGQrRC9FRVkvdWNGYUM1MTNIQ29oSVJzQ2VEektSQmxiUklpTElwIiw5NzQ5MToic2hhMzg0LUQ1ZXJmYndEQi9yOE96Z3BJWnVybEVvRjRmM05kOG5pYXhBR0hvZTBuUkZqaDZlclh1b1orVDVPMmRoU2tXM1oiLDk3NDk1OiJzaGEzODQteFNmMTU5dVBMamhsc3dLQVZERldOV1B0WkRpVlBIZHNuOUwxcEtPZzZickduMllJalBINVVpN3JnT2NidmZTcCIsOTc3MzU6InNoYTM4NC12VUJwOWpWam1QSDJYNnhhbVR2OFN6VzB5cEJiNG1mMkJ2RUt2b2ZuRzNVMDR1NzQ4SHJvVk1JUG5vclRtV1JaIiw5NzgwMDoic2hhMzg0LTJGNnZXdElRZ0YvSisybC9rV25HMHR1UEtUS3ArbjZEamdubnl6RzBJZGpNcDBzZG5qbTJCV3RKdlIvYkNFRG4iLDk3OTg2OiJzaGEzODQtK1lDb2wwOXJjZ2xzNThJMEV5OXFpWXU4SmdvQ05aQXJZQk9ZVFNvNkhoZWw5YzJzTW9UMkVSbkFhaGl2UWxRcyIsOTgwMzg6InNoYTM4NC1uT3VxOXNiZ2FyNGtRb2IwZmhQSEMxYTdQZ0ZPY3JyaTA0aUZYeWlJdWtRUzRZeFdFblRBQWVvUk9TWEI3ZTN4Iiw5ODE3NToic2hhMzg0LTlVTVk3WHZyVUVDclo2amdLUlIwTjdLVXdBeGdhZ1pqNmxOdHpFbFEyUkNHNTJIdWZPdGluMGNHOG5DSWhYR3MiLDk4MTc5OiJzaGEzODQtZThEOVhENTJRQXlvSjVqS0lRYUEzY2ltZlpSUUpVNnNQT1pXMzgvVGpWamwxcXZMSytJRjBqZm1waW1GcHB1ciIsOTgxOTQ6InNoYTM4NC0vQkoyblF0aXZxaGFQTWpFNmxoUUczODdSQ3FmQkY2UGNKUmN1b1dGQ2x5MWxQL1dzd2NlZE5yWll6d09UUDdaIiw5ODI0OToic2hhMzg0LWxVZmM5UDlQY2orYjNLRURvakdGSGdXOXY3dExCTXh5cWRaZ2JqT0VjMEtBNGNHMlM0SGp4ZmlUWE9sVzVzcjUiLDk4NTcyOiJzaGEzODQta0RjVXZCVHZldy96R0JzdEhZaG1oaWE2S0lRVnRGNjk1ZmtsU3gwMXJxczlqTkYyZExrRVpLbmFjSFE5NmhPZCIsOTg1ODc6InNoYTM4NC00SndMbjRoelhTTDVCU3JGVUFZMHlHem9zdGxhSjk5R3hhVjVJamRtNkU2STBuclJZQ2ZadGM0ZTBRamdFWmtmIiw5ODYxMDoic2hhMzg0LW5iVE1wRkE0Nk9oZmU4elNtL0Z1MFdJVm9Sam53VmtXVWlQU0UrcVJWMEczYW5MdkxUOUkvbERVRWV4eHhiKzMiLDk4NjgzOiJzaGEzODQtYTcwNGJuK210U1BuTkRJUkxuU3lLSi95T3ZFR1JJTzg0WkYvelg1ZmFpQXJ4WTJJYytGWGVNZ290eWtuVythVCIsOTg3MTA6InNoYTM4NC1nOHpIRTg4MTF0V2lyQlRMazhadGdZVjBzSnRFZzFRTWZkTlJTdkFFU2Y0ZlFpbXBnRkY4ZXV0dFpLRUtUZFBuIiw5ODcyNjoic2hhMzg0LW8vU1pHelFLODBydzY2NlNDc2ZTbTVOT1dTTUYvV1krRlkzNnFtZWpka3RDZGxlVWZZK2ZyZVdiMFRFeVY4YVQiLDk4NzMwOiJzaGEzODQtWEtjSnJSRlI5ZUVPR1VpUlRKSUtKQlVLbUFtblh5RXpNM3RtQWM0Z1lZVU94eXlNWXFWVitJSzRzM3JFd0dvVCIsOTkyODg6InNoYTM4NC1IR3VUZUJUZjdiVjhZMUI5REd5ZG40NXBRaFE2Y1pPNVlSRXVXNENvc3VrVlY1ekZLYmFSMkpjTlR0QklUa0tmIiw5OTMwMjoic2hhMzg0LWhYcTNkelNtaHJva3RWNXZGL085cUJxbE9MNTNMR2lFR1NOT2lUTGdtMWVVTGRLR2tzSkpOcHNWR0Q4Y2hWYlAiLDk5MzYyOiJzaGEzODQtY3hDM1JQTnlsNUc0MnVJSGpHMHl3YTNzdXpKdzk2K1dMK1hCaXhqWTYwLzZKMTBTL0lVSHp3RGxZVzlzTzRZTiIsOTkzNjk6InNoYTM4NC1GcUNEUkd2aXkzU2RzaXU1dXdWbjhZUjZrUFVJYVpCOUkvNXozajQvWVROcm9kSlpMd2NTRnI3U1VlZWtid0szIiw5OTQ1ODoic2hhMzg0LTQyMlNJa1pOS3NsYVI3MWF3bmd2Y1pIdWp2U21GL2J4NFMrOFlQTVBFamdWKzNiQTFpOEhWOXJ2Mzc2c0sranoiLDk5NDgxOiJzaGEzODQtUWxJbWtBNXlDd05DY0g1MWhaeDgvVldVZnpvUHNkNzRXMGZmVFNWbXlwSkt6Tk5sdEZZMFRHUkUvTkNFdEIrUSIsOTk1NTY6InNoYTM4NC1hdnBrd1RuZHdQM1hlVU1oQjJ2dVppZnFoa2FrYmdtYmJpUkV2M0M3RldYMTFIY3VYMEhpVVVuRzdwYnU0Z0ZBIiw5OTkzMzoic2hhMzg0LWF4VFZFNkwrZWp2UXVlM2c5eVU0RHBDenR3Njh1SzNRMVA0YndYVTZKaExYa3dncVlHcy9FcU9XejZxOFZxcGEifTt2YXIgcz0idW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50fHwiQUcwOCIhPT0oZG9jdW1lbnQucXVlcnlTZWxlY3RvcigibWV0YVtuYW1lPSdlbnZpcm9ubWVudCddIikmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT0nZW52aXJvbm1lbnQnXSIpLmdldEF0dHJpYnV0ZSgiY29udGVudCIpKSYmIkFHMDkiIT09KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT0nZW52aXJvbm1lbnQnXSIpJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW25hbWU9J2Vudmlyb25tZW50J10iKS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKSk/W106WyIuLi9yZXNvdXJjZXMvbG9jYWxlLWNvbnNvbGlkYXRlZC9bbG9jYWxlXS9vd2EuY29uc29saWRhdGVkLm1haWxpbmRleC5qc29uIl0sdT1bXTtzZWxmLl9sb2NTdHJpbmdzPXthZGRMb2NzdHJpbmdBc3NldDpmdW5jdGlvbihlKXtyZXR1cm4gcy5wdXNoKGUpLFByb21pc2UuYWxsKHUubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gbi5oYW5kbGVyKGEucCtlLnJlcGxhY2UoL1xbbG9jYWxlXF0vZyxuLmxvY2FsZSkpfSkpKX0scmVnaXN0ZXJIYW5kbGVyOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHUucHVzaCh7bG9jYWxlOmUsaGFuZGxlcjpufSksUHJvbWlzZS5hbGwocy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBuKGEucCt0LnJlcGxhY2UoL1xbbG9jYWxlXF0vZyxlKSl9KSkpfSx1bnJlZ2lzdGVySGFuZGxlcjpmdW5jdGlvbihlLG4pe2Zvcih2YXIgdD0wO3Q8dTt0KyspaWYodVt0XS5sb2NhbGU9PT1lJiZ1LmhhbmRsZXI9PW4pcmV0dXJuIHZvaWQgdS5zcGxpY2UodCwxKX19O3ZhciBjLGwsSCxkPXs2NjI6NjYyLDY5Nzo2OTcsNzE1OjcxNSw5NjI6OTYyLDEyNTY6IlJlYWRpbmdQYW5lQ29udmVyc2F0aW9uIiwxMzU4OiJPd2FEYXRhV29ya2VyIiwxMzg4OjEzODgsMTQ1MDoxNDUwLDE0OTk6MTQ5OSwxNTYwOiJTY2hlZHVsaW5nQXNzaXN0YW50IiwxNTgwOjE1ODAsMTY1MDoiTWFpbFJpYmJvbiIsMTY5MToxNjkxLDE2OTc6Ik1haWxCb290IiwxNzc5OjE3NzksMTc5OToxNzk5LDIxOTQ6MjE5NCwyNTEzOjI1MTMsMjUzNToyNTM1LDI1ODk6MjU4OSwyNjcyOjI2NzIsMjg4NjoyODg2LDI5MTQ6MjkxNCwyOTU0OjI5NTQsMzAwNDozMDA0LDMwODc6MzA4NywzNDE0OjM0MTQsMzQyOTozNDI5LDM1MTM6MzUxMywzNjg0OjM2ODQsMzg0NTozODQ1LDM4OTQ6Mzg5NCw0MDE5OjQwMTksNDU2OTo0NTY5LDQ2OTU6NDY5NSw0NzAwOjQ3MDAsNTA3Njo1MDc2LDUyMDQ6NTIwNCw1NjA0OjU2MDQsNTY1ODo1NjU4LDU3MTI6NTcxMiw1Nzc0OjU3NzQsNTg3MDo1ODcwLDU5MDA6NTkwMCw2MjAwOjYyMDAsNjIwODo2MjA4LDYzMTM6NjMxMyw2Njk5OiJUb2RvTGlzdCIsNjcwMjo2NzAyLDY3MTI6NjcxMiw2Nzg0OjY3ODQsNjk0MTo2OTQxLDcwMzU6NzAzNSw3NjUyOjc2NTIsNzk1OTo3OTU5LDgwNzk6ODA3OSw4MTExOjgxMTEsODIwNzo4MjA3LDgzODE6ODM4MSw4NjE1Ojg2MTUsODgzMTo4ODMxLDg4NjM6ODg2Myw4OTEzOjg5MTMsOTE2Njo5MTY2LDkyMjI6OTIyMiw5NTY5Ojk1NjksOTYyMTo5NjIxLDk2MjI6OTYyMiw5NjUxOjk2NTEsOTc1OTo5NzU5LDEwMDAxOjEwMDAxLDEwMDE4OjEwMDE4LDEwMTAwOjEwMTAwLDEwMTkwOjEwMTkwLDEwNTAxOjEwNTAxLDEwNzg4OjEwNzg4LDEwOTQxOjEwOTQxLDEwOTc4OjEwOTc4LDExMDUyOjExMDUyLDExMTQ0OjExMTQ0LDExMTU0OjExMTU0LDExMTg3OjExMTg3LDExMjgzOiJBY2NvdW50cyIsMTEzNjE6MTEzNjEsMTE2MTA6MTE2MTAsMTE2OTM6MTE2OTMsMTE4NDg6MTE4NDgsMTI5NTg6MTI5NTgsMTMxNzA6MTMxNzAsMTMyMzI6MTMyMzIsMTMyODg6MTMyODgsMTMyOTc6MTMyOTcsMTMzODA6MTMzODAsMTM0MjE6MTM0MjEsMTM0Mjc6MTM0MjcsMTM1NTI6MTM1NTIsMTM1ODE6MTM1ODEsMTM2Nzk6MTM2NzksMTM4NTM6IkNhbGVuZGFyUGVlayIsMTQwNDE6MTQwNDEsMTQwNzE6MTQwNzEsMTQwODQ6MTQwODQsMTQxMDg6MTQxMDgsMTQyNDA6IkNhbGVuZGFyRGVlcEJvb3QiLDE0Mjg0OiJTaGFyZWRCb290IiwxNDMyMDoiQ2hhbmdlTW9kdWxlIiwxNDQxNDoxNDQxNCwxNDQ1MjoiUmVhZGluZ1BhbmVQcmludCIsMTQ1NjA6MTQ1NjAsMTQ2MTc6MTQ2MTcsMTQ3NjE6MTQ3NjEsMTQ3NzA6MTQ3NzAsMTUwNTM6MTUwNTMsMTU1MDM6MTU1MDMsMTU2MTg6MTU2MTgsMTU2MzU6MTU2MzUsMTU4MDk6MTU4MDksMTU5NTg6MTU5NTgsMTYwNTc6MTYwNTcsMTYxMTc6MTYxMTcsMTYxNjA6MTYxNjAsMTYzODM6MTYzODMsMTY0NTg6IlBvcG91dCIsMTY1NTA6MTY1NTAsMTY3ODA6IkNhbGVuZGFyUmliYm9uIiwxNjgxMToxNjgxMSwxNjkwMToxNjkwMSwxNzAyOToxNzAyOSwxNzA0MzoxNzA0MywxNzA3NDoxNzA3NCwxNzM1MjoiQ2FsZW5kYXJCb290IiwxNzY1MzoxNzY1MywxNzg3MDoxNzg3MCwxNzkxMToxNzkxMSwxNzk5NToxNzk5NSwxODE0NToiQ2FsZW5kYXJDb21tYW5kaW5nT3JjaGVzdHJhdGlvbiIsMTgyNjk6MTgyNjksMTg2OTY6MTg2OTYsMTg3Nzk6MTg3NzksMTg4NDk6MTg4NDksMTg4OTQ6MTg4OTQsMTg5MTA6IlBsYWNlc0Jvb3QiLDE4OTI1OjE4OTI1LDE5MDM1OjE5MDM1LDE5NDA4OjE5NDA4LDE5NDk0OjE5NDk0LDIwMDIxOiJUaW1lUGFuZWwiLDIwMjcwOjIwMjcwLDIwNDQzOjIwNDQzLDIwNjQxOjIwNjQxLDIwNzMzOiJGaWxlc0Jvb3QiLDIxMjI1OjIxMjI1LDIxNTM5OjIxNTM5LDIyMDQzOjIyMDQzLDIyMTM3OjIyMTM3LDIyMjMzOjIyMjMzLDIyNTQyOiJUaW1lUGFuZWxFdmVudERldGFpbHMiLDIyNTg2OjIyNTg2LDIyNjI0OjIyNjI0LDIyNjU0OjIyNjU0LDIyNzMyOjIyNzMyLDIyODMzOjIyODMzLDIyOTkzOjIyOTkzLDIzMTcwOjIzMTcwLDIzMTcxOjIzMTcxLDIzMjYxOjIzMjYxLDIzNDM1OjIzNDM1LDIzNjY1OjIzNjY1LDIzNzUwOjIzNzUwLDIzODQxOjIzODQxLDIzODgyOjIzODgyLDI0MzU4OjI0MzU4LDI0NjAwOjI0NjAwLDI0NjA4OjI0NjA4LDI0NjExOjI0NjExLDI0NzcyOiJBZGRDYWxlbmRhcnNQYW5lIiwyNDg1MDoyNDg1MCwyNDkzNzoyNDkzNywyNTE1NDoyNTE1NCwyNTI1ODoiQ2FsZW5kYXJSZWFkaW5nUGFuZSIsMjUzMjU6MjUzMjUsMjUzNTU6MjUzNTUsMjU0MzM6Ik1haWxDb21wb3NlIiwyNTQ5MToyNTQ5MSwyNTUzMDoyNTUzMCwyNTY2NzoyNTY2NywyNTk2OToyNTk2OSwyNjEyMToyNjEyMSwyNjM0MzoyNjM0MywyNjM3NjoyNjM3NiwyNjUwNzoyNjUwNywyNjU0MDoyNjU0MCwyNjYzMjoyNjYzMiwyNjYzNjoyNjYzNiwyNzM4OToyNzM4OSwyNzgwMjoyNzgwMiwyODE3MjoyODE3MiwyODE4MzoyODE4MywyODI3MToiTG9jYXRpb25DYXJkT3B4IiwyODQxNzoyODQxNywyODU0NDoiR3JvdXBzUmliYm9uIiwyODcxNzoyODcxNywyODc0MToyODc0MSwyODc1MjoyODc1MiwyODc1NDoyODc1NCwyODc2NToyODc2NSwyODc5MDoyODc5MCwyODgwMzoyODgwMywyODkzODoyODkzOCwyOTAzNzoyOTAzNywyOTI0NjoiQ2FsZW5kYXJNb2R1bGVPcmNoZXN0cmF0aW9uIiwyOTQyODoyOTQyOCwyOTYzMjoyOTYzMiwyOTY2MToyOTY2MSwzMDA0NTozMDA0NSwzMDE1MjozMDE1MiwzMDQwMzozMDQwMywzMDcxMjozMDcxMiwzMDc2MjozMDc2MiwzMDc5NjozMDc5NiwzMDgwNDozMDgwNCwzMDk5NDozMDk5NCwzMTAwMTozMTAwMSwzMTAwODozMTAwOCwzMTEwOTozMTEwOSwzMTE1ODozMTE1OCwzMTE2MDozMTE2MCwzMTE2NzozMTE2NywzMTM0OTozMTM0OSwzMTQ5MzozMTQ5MywzMTYxMTozMTYxMSwzMTY5NDozMTY5NCwzMTc4MzozMTc4MywzMTk1MDoiTWFpbENvbXBvc2VSaWJib24iLDMyMDE5OjMyMDE5LDMyMDg2OjMyMDg2LDMyMjIzOjMyMjIzLDMyMjc3OjMyMjc3LDMyMzc1OjMyMzc1LDMyMzgxOjMyMzgxLDMyNDAwOjMyNDAwLDMyNTIzOjMyNTIzLDMyNTcyOjMyNTcyLDMyNjEwOjMyNjEwLDMyNjU1OjMyNjU1LDMyNzU0OjMyNzU0LDMyODUyOjMyODUyLDMyODczOjMyODczLDMyOTIyOjMyOTIyLDMyOTYxOjMyOTYxLDMzMDgyOjMzMDgyLDMzMjI2OjMzMjI2LDMzMzM0OjMzMzM0LDMzMzgxOjMzMzgxLDMzMzg4OjMzMzg4LDMzNDcyOjMzNDcyLDMzNDkxOjMzNDkxLDMzNzAzOjMzNzAzLDMzNzMzOjMzNzMzLDMzOTE3OjMzOTE3LDMzOTQzOjMzOTQzLDMzOTcxOjMzOTcxLDMzOTc5OjMzOTc5LDM0MzczOjM0MzczLDM0ODg5OjM0ODg5LDM0OTAyOiJDYWxlbmRhckl0ZW1QZWVrIiwzNTUxNjozNTUxNiwzNTU3MDozNTU3MCwzNTYxMTozNTYxMSwzNjAxODozNjAxOCwzNjA1NDozNjA1NCwzNjI0MTozNjI0MSwzNjM1ODozNjM1OCwzNjQwNjozNjQwNiwzNjc1NTozNjc1NSwzNjc4NTozNjc4NSwzNjgxMjoiQXBwSG9zdEJvb3QiLDM2ODk5OjM2ODk5LDM3MjA5OjM3MjA5LDM3NDY3OjM3NDY3LDM3NTc2OjM3NTc2LDM3NjAxOjM3NjAxLDM3NjUzOjM3NjUzLDM3NzU2OjM3NzU2LDM3ODI5OjM3ODI5LDM4MDE4OjM4MDE4LDM4MDYyOiJDYWxlbmRhclN1cmZhY2VJdGVtQ29udGV4dE1lbnVzIiwzODEzMzozODEzMywzODY4MDozODY4MCwzODg1MjozODg1MiwzODk2NDoiVGltZVBhbmVsQ2FsZW5kYXIiLDM5MDEzOiJUb2RvQ29udGV4dE1lbnUiLDM5MDUyOjM5MDUyLDM5MTE5OjM5MTE5LDM5MzQxOjM5MzQxLDM5MzQ2OjM5MzQ2LDM5NDc5OjM5NDc5LDM5ODcyOjM5ODcyLDM5OTU0OjM5OTU0LDM5OTg0OjM5OTg0LDQwMTc5OjQwMTc5LDQwMjQyOjQwMjQyLDQwNjA3OjQwNjA3LDQwNjE0OjQwNjE0LDQwODY2OjQwODY2LDQwOTA5OjQwOTA5LDQxMjQ1OjQxMjQ1LDQxMjQ4OjQxMjQ4LDQxMjQ5OjQxMjQ5LDQxMjYyOjQxMjYyLDQxMzMxOjQxMzMxLDQxNDQzOjQxNDQzLDQxNTI4OjQxNTI4LDQxNzMyOjQxNzMyLDQxOTEzOjQxOTEzLDQxOTI2OjQxOTI2LDQyNjk0OjQyNjk0LDQyNzAzOjQyNzAzLDQyNzA0OjQyNzA0LDQyODk1OjQyODk1LDQyOTU5OjQyOTU5LDQzMDc4OjQzMDc4LDQzMzUzOiJMb2NhdGlvbkNhcmQiLDQzNDMwOjQzNDMwLDQzNDM0OjQzNDM0LDQzODA4OjQzODA4LDQ0MDIyOjQ0MDIyLDQ0MTcwOjQ0MTcwLDQ0MjM0OjQ0MjM0LDQ0Mjk2OjQ0Mjk2LDQ0MzkxOjQ0MzkxLDQ0NjA0OiJNYWlsQ29tcG9zZUFjdGlvbnMiLDQ0Njg2OjQ0Njg2LDQ0ODE3OjQ0ODE3LDQ0ODQ0OjQ0ODQ0LDQ0ODU5OjQ0ODU5LDQ0ODk3OjQ0ODk3LDQ0OTgyOjQ0OTgyLDQ1MDk4OjQ1MDk4LDQ1MjM3OjQ1MjM3LDQ1MjYxOjQ1MjYxLDQ1MjkwOjQ1MjkwLDQ1MzU3OjQ1MzU3LDQ1NzMxOjQ1NzMxLDQ1ODI0OjQ1ODI0LDQ1OTY4OjQ1OTY4LDQ2MTE2OjQ2MTE2LDQ2MTkwOjQ2MTkwLDQ2MjM3OjQ2MjM3LDQ2MjUyOjQ2MjUyLDQ2NzYyOjQ2NzYyLDQ2OTU0OjQ2OTU0LDQ3MDEzOjQ3MDEzLDQ3NTkxOjQ3NTkxLDQ3Nzk3OjQ3Nzk3LDQ3ODc4OjQ3ODc4LDQ4MDI1OjQ4MDI1LDQ4MDI3OjQ4MDI3LDQ4MDQxOjQ4MDQxLDQ4MzU3OjQ4MzU3LDQ4NjQ1OjQ4NjQ1LDQ4ODYxOjQ4ODYxLDQ4OTg2OjQ4OTg2LDQ5MDkzOjQ5MDkzLDQ5MTUyOjQ5MTUyLDQ5NDM4OjQ5NDM4LDQ5NDczOjQ5NDczLDQ5NDg4OjQ5NDg4LDQ5NTcyOjQ5NTcyLDQ5NjEzOjQ5NjEzLDQ5NjIzOjQ5NjIzLDQ5ODg1OjQ5ODg1LDUwMTM4OjUwMTM4LDUwMzYzOjUwMzYzLDUwNTQ5OjUwNTQ5LDUwNTk4OjUwNTk4LDUwNzMwOjUwNzMwLDUwODY5OjUwODY5LDUwOTEwOjUwOTEwLDUwOTk1OjUwOTk1LDUxMTk0OiJDYWxlbmRhclF1aWNrQ29tcG9zZSIsNTEzNzg6NTEzNzgsNTE3MDk6NTE3MDksNTE3ODM6NTE3ODMsNTE4ODM6NTE4ODMsNTE4OTM6NTE4OTMsNTE5NTA6IkZ1bGxDb21wb3NlUmliYm9uIiw1MTk4Mjo1MTk4Miw1MjAzMTo1MjAzMSw1MjExNjo1MjExNiw1MjI2Nzo1MjI2Nyw1MjMwMTo1MjMwMSw1MjQ0NDo1MjQ0NCw1MjQ5NTo1MjQ5NSw1MjUxODo1MjUxOCw1MjYzMDo1MjYzMCw1MjY2MDo1MjY2MCw1MjcwOTo1MjcwOSw1MzAyODo1MzAyOCw1MzQ3MTo1MzQ3MSw1Mzg0Mzo1Mzg0Myw1Mzg0Njo1Mzg0Niw1MzkwMTo1MzkwMSw1NDI3MTo1NDI3MSw1NDQ5NDo1NDQ5NCw1NDcyMjoiUmVhZGluZ1BhbmVSaWJib24iLDU0NzUzOiJNYWlsTGlzdEl0ZW1TaW5nbGVMaW5lVmlldyIsNTQ5ODc6NTQ5ODcsNTUzNTM6NTUzNTMsNTU0NDU6NTU0NDUsNTU1NTA6NTU1NTAsNTU2ODM6IkNhbGVuZGFyTW9kdWxlU3RpdGNoZXMiLDU1NzIxOjU1NzIxLDU2MTExOjU2MTExLDU2MjQ2OjU2MjQ2LDU2MjkzOjU2MjkzLDU2MzcyOjU2MzcyLDU2Mzc2OjU2Mzc2LDU2NTU4OjU2NTU4LDU2NTYxOiJPd2FNMzY1QWNxdWlzaXRpb25zQ2FjaGUiLDU2NTY2OjU2NTY2LDU2NzMzOjU2NzMzLDU2OTI2OjU2OTI2LDU3MDg5OjU3MDg5LDU3NDU1OjU3NDU1LDU3NDkzOjU3NDkzLDU4ZTM6Ikdyb3Vwc0Jvb3QiLDU4MzMyOjU4MzMyLDU4NTcxOjU4NTcxLDU4NTc5OjU4NTc5LDU4ODEyOjU4ODEyLDU5MDcxOjU5MDcxLDU5MjA4OjU5MjA4LDU5MjA5OjU5MjA5LDU5MjIxOjU5MjIxLDU5MzYwOjU5MzYwLDU5NDcwOjU5NDcwLDU5NjY1OjU5NjY1LDU5NzQwOjU5NzQwLDU5NzYzOjU5NzYzLDYwMDE4OjYwMDE4LDYwMDY3OiJDYWxlbmRhckJvb2tpbmdzU2xvdHMiLDYwMTQzOjYwMTQzLDYwNTk3OjYwNTk3LDYwNjY3OjYwNjY3LDYwNzYzOiJDYWxlbmRhckNhcmQiLDYwODc4OjYwODc4LDYxMjE5OjYxMjE5LDYxMzI3OjYxMzI3LDYxNDE4OjYxNDE4LDYxNzIxOjYxNzIxLDYxODI5OjYxODI5LDYxODY4OjYxODY4LDYyMDQzOjYyMDQzLDYyMjYxOiJSZWxhdGVkQ29udGVudCIsNjI1ODM6NjI1ODMsNjI4MzY6NjI4MzYsNjI4Mzk6NjI4MzksNjMxNDM6NjMxNDMsNjMyMzU6NjMyMzUsNjM0MzU6NjM0MzUsNjM1MTQ6NjM1MTQsNjM3ODM6NjM3ODMsNjM4ODM6NjM4ODMsNjM5NzE6IkNhbGVuZGFySXRlbUNvbnRleHRNZW51Iiw2NDE5NDo2NDE5NCw2NDI1Mjo2NDI1Miw2NDU0Njo2NDU0Niw2NDY5MTo2NDY5MSw2NTEyOTo2NTEyOSw2NTI0MTo2NTI0MSw2NTMyMTo2NTMyMSw2NTMzNDo2NTMzNCw2NTM0NDo2NTM0NCw2NTM4NDo2NTM4NCw2NTQwMDo2NTQwMCw2NTU1MDo2NTU1MCw2NTY5MDo2NTY5MCw2NTc0OTo2NTc0OSw2NjIwNzo2NjIwNyw2NjI5Nzo2NjI5Nyw2NjUzODo2NjUzOCw2NjcxNzo2NjcxNyw2Njc2OTo2Njc2OSw2NzIxMjo2NzIxMiw2NzI1Nzo2NzI1Nyw2NzQwNzo2NzQwNyw2NzUzMzo2NzUzMyw2ODIwNTo2ODIwNSw2ODI5MTo2ODI5MSw2ODM0OTo2ODM0OSw2ODM3Nzo2ODM3Nyw2ODQzODo2ODQzOCw2ODQ5NDo2ODQ5NCw2ODYwNzo2ODYwNyw2ODYzNzo2ODYzNyw2ODc0NTo2ODc0NSw2ODg0OTo2ODg0OSw2OTE2Nzo2OTE2Nyw2OTM4NToiTWFpbENvbW1hbmRBY3Rpb25zIiw2OTYyNDo2OTYyNCw2OTYyOTo2OTYyOSw2OTY1Mzo2OTY1Myw2OTgwODo2OTgwOCw2OTk4Mjo2OTk4Miw3MDM0Nzo3MDM0Nyw3MDM2OTo3MDM2OSw3MDM4Nzo3MDM4Nyw3MDQyODo3MDQyOCw3MDU0ODo3MDU0OCw3MDY2NTo3MDY2NSw3MDcxNjo3MDcxNiw3MDc2NDo3MDc2NCw3MDgxNjo3MDgxNiw3MDgzNjo3MDgzNiw3MTA0NjoiQ2FsZW5kYXJCb2FyZFF1aWNrU3dpdGNoZXIiLDcxMjIwOjcxMjIwLDcxNTE1OjcxNTE1LDcxNTU3OjcxNTU3LDcxNjcyOjcxNjcyLDcxNzE0OjcxNzE0LDcxNzIzOiJBZGRpbnMiLDcxNzQwOjcxNzQwLDcxODkzOjcxODkzLDcxOTI2OjcxOTI2LDcxOTQ0OjcxOTQ0LDcyNDEzOjcyNDEzLDcyNDQ5OjcyNDQ5LDcyNjQ0OjcyNjQ0LDczNDg0OjczNDg0LDczNTgyOjczNTgyLDczNjQ3OjczNjQ3LDczNzA2OjczNzA2LDc0MzAxOiJSZWFkaW5nUGFuZSIsNzQ0NTE6NzQ0NTEsNzQ2ODE6NzQ2ODEsNzQ5MjE6NzQ5MjEsNzUxMDA6NzUxMDAsNzUxMjk6NzUxMjksNzUyNjg6NzUyNjgsNzU0MDQ6NzU0MDQsNzU1NzI6NzU1NzIsNzU3NDk6NzU3NDksNzU4MDc6NzU4MDcsNzYxMDI6NzYxMDIsNzYxMTI6IkNhbGVuZGFyQm9hcmRDb250ZXh0TWVudSIsNzYxMjY6NzYxMjYsNzYzMTU6NzYzMTUsNzYzNjE6NzYzNjEsNzYzODY6NzYzODYsNzY1MDE6NzY1MDEsNzY1NzU6NzY1NzUsNzY2MzU6NzY2MzUsNzY4MjY6NzY4MjYsNzY4Mzc6NzY4MzcsNzY4NTc6NzY4NTcsNzY4ODE6NzY4ODEsNzczNjI6NzczNjIsNzc0OTg6Nzc0OTgsNzc1Mzc6Nzc1MzcsNzc1NDk6Nzc1NDksNzgwMDE6IlJlbGF0ZWRDb250ZW50SW5zaWdodHNPcHgiLDc4MzkwOjc4MzkwLDc4NTY5Ojc4NTY5LDc4ODYxOjc4ODYxLDc4OTk3Ojc4OTk3LDc5MDA5OiJSZWFkaW5nUGFuZUl0ZW0iLDc5MDEyOjc5MDEyLDc5MjgyOjc5MjgyLDc5NDA0Ojc5NDA0LDc5NjgwOjc5NjgwLDc5NzE5Ojc5NzE5LDc5NzI2Ojc5NzI2LDc5ODgzOjc5ODgzLDc5OTYzOjc5OTYzLDgwMTY1OjgwMTY1LDgwMzIyOjgwMzIyLDgwNDI5OjgwNDI5LDgwNTE1OjgwNTE1LDgwNzQxOjgwNzQxLDgwNzkzOjgwNzkzLDgwOTM0OjgwOTM0LDgxMDA5OjgxMDA5LDgxNTE3OjgxNTE3LDgxNTM2OjgxNTM2LDgxNzg1OjgxNzg1LDgxODgwOjgxODgwLDgyMDM1OjgyMDM1LDgyMDQ3OjgyMDQ3LDgyMDU4OjgyMDU4LDgyMDc3OjgyMDc3LDgyNDQwOjgyNDQwLDgyNDY3OjgyNDY3LDgzMDIzOjgzMDIzLDgzMDYzOjgzMDYzLDgzMjMxOjgzMjMxLDgzNzUwOjgzNzUwLDgzODQ1OjgzODQ1LDgzODg0OjgzODg0LDgzOTUzOiJSb29tU2VsZWN0b3IiLDg0MDA1Ojg0MDA1LDg0MDQ5Ojg0MDQ5LDg0MDY1Ojg0MDY1LDg0MjAxOjg0MjAxLDg0NTM0Ojg0NTM0LDg0NjkwOjg0NjkwLDg0OTM4OiJDYWxlbmRhckJvYXJkIiw4NTEzODo4NTEzOCw4NTIyMzo4NTIyMyw4NTMwMzo4NTMwMyw4NTQxNDo4NTQxNCw4NTgyOToiTWFpbEZ1bmN0aW9uYWxCb290Iiw4NjI1NTo4NjI1NSw4NjM4OTo4NjM4OSw4NjU2Nzo4NjU2Nyw4NjYxNzo4NjYxNyw4NjY4Njo4NjY4Niw4NzA2MTo4NzA2MSw4NzI5NDo4NzI5NCw4NzU1Nzo4NzU1Nyw4NzY2NDo4NzY2NCw4NzY4Njo4NzY4Niw4Nzc3MTo4Nzc3MSw4Nzc3Nzo4Nzc3Nyw4Nzc5MDo4Nzc5MCw4ODM0MDoiQ2FsZW5kYXJCb2FyZENhbnZhcyIsODg3OTA6ODg3OTAsODkwOTQ6ODkwOTQsODkyOTY6ODkyOTYsODkzNzE6ODkzNzEsODk1ODU6ODk1ODUsODk2MTk6ODk2MTksODk2NTc6ODk2NTcsODk2NzA6ODk2NzAsODk2OTU6ODk2OTUsOTAwNDE6IkFwcFJpYmJvbiIsOTAxMDg6OTAxMDgsOTAzMjE6OTAzMjEsOTAzNTc6OTAzNTcsOTAzOTc6IlBlb3BsZUJvb3QiLDkwNDUwOjkwNDUwLDkwODYxOjkwODYxLDkwOTY1OjkwOTY1LDkwOTc5OjkwOTc5LDkxMDg0OjkxMDg0LDkxMzA2OiJDYWxlbmRhckZ1bGxDb21wb3NlIiw5MTQzMzo5MTQzMyw5MTYxNzo5MTYxNyw5MTY3Nzo5MTY3Nyw5MTc5OTo5MTc5OSw5MTg2Nzo5MTg2Nyw5MTkzMjo5MTkzMiw5MTk4NDo5MTk4NCw5MjAxNDo5MjAxNCw5MjEzOTo5MjEzOSw5MjE1MDo5MjE1MCw5MjI2MToiQ2FsZW5kYXJCb2FyZEFzc2V0cyIsOTI1MTg6OTI1MTgsOTI1NTk6OTI1NTksOTI3NTI6OTI3NTIsOTI3NzM6OTI3NzMsOTMwMjE6OTMwMjEsOTMwMzI6OTMwMzIsOTMxOTY6OTMxOTYsOTM0MjI6OTM0MjIsOTM0NzI6OTM0NzIsOTQzMDg6OTQzMDgsOTQzMTQ6OTQzMTQsOTQ1MjQ6Ik1haWxMaXN0SXRlbUNvbnRleHRNZW51Iiw5NDYyNjo5NDYyNiw5NDc5Njo5NDc5Niw5NDgxMjo5NDgxMiw5NTAxMDo5NTAxMCw5NTA2NTo5NTA2NSw5NTEzNTo5NTEzNSw5NTE1ODo5NTE1OCw5NTI1NDo5NTI1NCw5NTI1Njo5NTI1Niw5NTY3MTo5NTY3MSw5NTg3NToiTWFpbERlZXBCb290Iiw5NjE1OTo5NjE1OSw5NjIzMDo5NjIzMCw5NjM4ODo5NjM4OCw5NjM5OTo5NjM5OSw5NjQ0Njo5NjQ0Niw5NjY0ODo5NjY0OCw5NzA4MzoiVHhwIiw5NzEyMjo5NzEyMiw5NzMwNTo5NzMwNSw5NzQ5NTo5NzQ5NSw5NzgwMDoiTWFpbExpc3RJdGVtVGhyZWVDb2x1bW5WaWV3Iiw5Nzg5Mzo5Nzg5Myw5ODAzODo5ODAzOCw5ODE3OTo5ODE3OSw5ODE5NDo5ODE5NCw5ODI0OTo5ODI0OSw5ODU3Mjo5ODU3Miw5ODczMDo5ODczMCw5OTI4ODo5OTI4OCw5OTMwMjo5OTMwMiw5OTQ4MTo5OTQ4MSw5OTUyMDo5OTUyMCw5OTU1Njo5OTU1Niw5OTkzMzo5OTkzM307YS5mLmNvbXBhdD0oZSxuKT0+eygidW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50fHwiQUcwOCIhPT0oZG9jdW1lbnQucXVlcnlTZWxlY3RvcigibWV0YVtuYW1lPSdlbnZpcm9ubWVudCddIikmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT0nZW52aXJvbm1lbnQnXSIpLmdldEF0dHJpYnV0ZSgiY29udGVudCIpKSYmIkFHMDkiIT09KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT0nZW52aXJvbm1lbnQnXSIpJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW25hbWU9J2Vudmlyb25tZW50J10iKS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKSkpJiZkW2VdJiZuLnB1c2goc2VsZi5fbG9jU3RyaW5ncy5hZGRMb2NzdHJpbmdBc3NldCgiLi4vcmVzb3VyY2VzL2xvY2FsZS9bbG9jYWxlXS9vd2EuW25hbWVdLmpzb24iLnJlcGxhY2UoL1xbbmFtZVxdL2csZFtlXXx8ZSkpKX0sInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5ib290c3RyYXBPcHRpb25zJiZ3aW5kb3cuYm9vdHN0cmFwT3B0aW9ucy5zY3JpcHRCYXNlVXJsJiYoYS5wPXdpbmRvdy5ib290c3RyYXBPcHRpb25zLnNjcmlwdEJhc2VVcmwpLGM9ZT0+bmV3IFByb21pc2UoKChuLHQpPT57dmFyIHI9YS5taW5pQ3NzRihlKSxvPWEucCtyO2lmKCgoZSxuKT0+e2Zvcih2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG89KGE9dFtyXSkuZ2V0QXR0cmlidXRlKCJkYXRhLWhyZWYiKXx8YS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZigic3R5bGVzaGVldCI9PT1hLnJlbCYmKG89PT1lfHxvPT09bikpcmV0dXJuIGF9dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIik7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyl7dmFyIGE7aWYoKG89KGE9aVtyXSkuZ2V0QXR0cmlidXRlKCJkYXRhLWhyZWYiKSk9PT1lfHxvPT09bilyZXR1cm4gYX19KShyLG8pKXJldHVybiBuKCk7KChlLG4sdCxyKT0+e3ZhciBvLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2kucmVsPSJzdHlsZXNoZWV0IixpLnR5cGU9InRleHQvY3NzIixpLm9uZXJyb3I9aS5vbmxvYWQ9bz0+e2lmKGkub25lcnJvcj1pLm9ubG9hZD1udWxsLCJsb2FkIj09PW8udHlwZSl0KCk7ZWxzZXt2YXIgYT1vJiYoImxvYWQiPT09by50eXBlPyJtaXNzaW5nIjpvLnR5cGUpLHM9byYmby50YXJnZXQmJm8udGFyZ2V0LmhyZWZ8fG4sdT1uZXcgRXJyb3IoIkxvYWRpbmcgQ1NTIGNodW5rICIrZSsiIGZhaWxlZC5cbigiK3MrIikiKTt1LmNvZGU9IkNTU19DSFVOS19MT0FEX0ZBSUxFRCIsdS50eXBlPWEsdS5yZXF1ZXN0PXMsaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpLHIodSl9fSxpLmhyZWY9biwwIT09aS5ocmVmLmluZGV4T2Yod2luZG93LmxvY2F0aW9uLm9yaWdpbisiLyIpJiYoaS5jcm9zc09yaWdpbj0iYW5vbnltb3VzIiksbz1pLHNlbGYuY3NzTGlua0FwcGVuZD9zZWxmLmNzc0xpbmtBcHBlbmQobyk6KHNlbGYuY3NzTGlua0NhY2hlZD1zZWxmLmNzc0xpbmtDYWNoZWR8fFtdLHNlbGYuY3NzTGlua0NhY2hlZC5wdXNoKG8pLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobykpfSkoZSxvLG4sdCl9KSksbD17ODYwODg6MCw3NDg3MzowLDIzNzA3OjAsNzIxNjQ6MH0sYS5mLm1pbmlDc3M9KGUsbik9PntsW2VdP24ucHVzaChsW2VdKTowIT09bFtlXSYmezE4MjoxLDY2MjoxLDY5NzoxLDkyMDoxLDEyNTY6MSwxMzg4OjEsMTQ5OToxLDE1NjA6MSwxNTgwOjEsMTY1MDoxLDE2OTc6MSwxNzc5OjEsMTc5OToxLDI1MTM6MSwyNTM1OjEsMjU4OToxLDI5MTQ6MSwzMDg3OjEsMzI1NzoxLDM0MTQ6MSwzNDI5OjEsMzUxMzoxLDM1NjY6MSwzNjg0OjEsMzg0MDoxLDM4NDU6MSw0MDE5OjEsNDE4MzoxLDQ3MDA6MSw1MDc2OjEsNTY1ODoxLDU3MjY6MSw1Nzc0OjEsNTg3MDoxLDYyMDA6MSw2MjA4OjEsNjY5OToxLDY3MDI6MSw2NzEyOjEsNjc4NDoxLDc5NTk6MSw4MDc5OjEsODExMToxLDgyMDc6MSw4MzgxOjEsODYxNToxLDg4MzE6MSw4ODYzOjEsOTE2NjoxLDk1Njk6MSw5NjIyOjEsOTY1MToxLDk3NTk6MSwxMDAwMToxLDEwMDE4OjEsMTAxOTA6MSwxMDUwMToxLDEwODg5OjEsMTA5NDE6MSwxMDk1NzoxLDEwOTc4OjEsMTEwNTI6MSwxMTE0NDoxLDExMTU0OjEsMTExODc6MSwxMTI4MzoxLDExMzYxOjEsMTE2MTA6MSwxMTY5MzoxLDExODQ4OjEsMTI1MTU6MSwxMzE3MDoxLDEzMjMyOjEsMTMyOTc6MSwxMzM4MDoxLDEzNDIxOjEsMTM0Mjc6MSwxMzY3OToxLDEzNzQ5OjEsMTM4NTM6MSwxNDA3MToxLDE0MDg0OjEsMTQxMDg6MSwxNDI0MDoxLDE0Mjg0OjEsMTQ0MTQ6MSwxNDQ1MjoxLDE0NjE3OjEsMTQ3NzA6MSwxNDkyMjoxLDE1NjE4OjEsMTU2MzU6MSwxNTgwOToxLDE1OTU4OjEsMTYxMTc6MSwxNjE2MDoxLDE2MzgzOjEsMTY1NTA6MSwxNjc4MDoxLDE2OTAxOjEsMTcwMjk6MSwxNzM1MjoxLDE3NjUzOjEsMTc4NzA6MSwxNzkxMToxLDE3OTMxOjEsMTc5OTU6MSwxODAwOToxLDE4MTQ1OjEsMTgyNjk6MSwxODc3OToxLDE4ODk0OjEsMTg5MTA6MSwxOTAzNToxLDE5NDk0OjEsMTk2ODY6MSwxOTg2NzoxLDIwMDIxOjEsMjA0MjI6MSwyMDQ0MzoxLDIwNjI2OjEsMjA2NDE6MSwyMDczMzoxLDIwOTIxOjEsMjA5NzA6MSwyMTUzOToxLDIyMDQzOjEsMjIyMzM6MSwyMjU0MjoxLDIyNTYzOjEsMjI1ODY6MSwyMjY1NDoxLDIyNzMyOjEsMjI4MzM6MSwyMzA3NzoxLDIzMTcwOjEsMjMyNjE6MSwyMzY2NToxLDI0MzU4OjEsMjQ2MDA6MSwyNDYwODoxLDI0NjExOjEsMjQ3NzI6MSwyNDg1MDoxLDI1MTU0OjEsMjUyNTg6MSwyNTMyNToxLDI1MzU1OjEsMjU0MzM6MSwyNTQ5MToxLDI1OTY5OjEsMjYxMjE6MSwyNjI3OToxLDI2MzQzOjEsMjY1NDA6MSwyNjYzMjoxLDI2NjM2OjEsMjc4MDI6MSwyODE3MjoxLDI4MjcxOjEsMjg0MTc6MSwyODU0NDoxLDI4NzUyOjEsMjg3NTQ6MSwyODc2NToxLDI4NzkwOjEsMjg4MDM6MSwyODkzODoxLDI5MDM3OjEsMjkyNDY6MSwyOTQyODoxLDI5NjMyOjEsMjk2NjE6MSwzMDA1MzoxLDMwMTUyOjEsMzA0MDM6MSwzMDcxMjoxLDMwNzYyOjEsMzA3OTY6MSwzMDgwNDoxLDMwOTk0OjEsMzEwMDg6MSwzMTE1ODoxLDMxMTYwOjEsMzExNjc6MSwzMTM0OToxLDMxNDkzOjEsMzE2MTE6MSwzMTY5NDoxLDMxNzgzOjEsMzE5NTA6MSwzMjAxOToxLDMyMjIzOjEsMzI1MjM6MSwzMjU3MjoxLDMyNjEwOjEsMzI3NTQ6MSwzMjg3MzoxLDMyODk2OjEsMzI5MjI6MSwzMjk2MToxLDMzMDgyOjEsMzMxMzI6MSwzMzIyNjoxLDMzMzgxOjEsMzM0ODI6MSwzMzQ5MToxLDMzOTE3OjEsMzM5NDM6MSwzNDI5MDoxLDM0NDE1OjEsMzQ3NTE6MSwzNDkwMjoxLDM0OTY2OjEsMzU1NzA6MSwzNjA1NDoxLDM2MjQxOjEsMzYzNTg6MSwzNjQwNjoxLDM2NzU1OjEsMzY4MTI6MSwzNzQ2NzoxLDM3NTc2OjEsMzc2MDE6MSwzNzY1MzoxLDM3NzExOjEsMzc3NTY6MSwzNzc3MToxLDM3OTYxOjEsMzgwMTg6MSwzODEzMzoxLDM4NjgwOjEsMzg5NjQ6MSwzOTAxMzoxLDM5MDUyOjEsMzkxMTk6MSwzOTM0MToxLDM5ODcyOjEsMzk5ODQ6MSw0MDI0MjoxLDQwMzQzOjEsNDA2MDc6MSw0MDg2NjoxLDQwOTA5OjEsNDEyNDg6MSw0MTI2MjoxLDQxNDQzOjEsNDE3MzI6MSw0MTkxMzoxLDQyMDY4OjEsNDIwODE6MSw0MjcwNDoxLDQyOTU5OjEsNDMwNzg6MSw0MzM1MzoxLDQzNDMwOjEsNDM0MzQ6MSw0NDAyMjoxLDQ0MTcwOjEsNDQyMzQ6MSw0NDI5NjoxLDQ0MzkxOjEsNDQ2MDQ6MSw0NDY4NjoxLDQ0NzYzOjEsNDQ4MTc6MSw0NDg0NDoxLDQ0ODU5OjEsNDUyNjE6MSw0NTM1NzoxLDQ1NzMxOjEsNDU4MjQ6MSw0NTk2ODoxLDQ2MTE2OjEsNDYyMzc6MSw0Njc2MjoxLDQ2OTU0OjEsNDcyNTA6MSw0NzQ5ODoxLDQ3NTkxOjEsNDc3OTc6MSw0Nzg3ODoxLDQ4MDI1OjEsNDgwMjc6MSw0ODM1NzoxLDQ4ODYxOjEsNDkxNTI6MSw0OTQzODoxLDQ5NDczOjEsNDk0ODg6MSw0OTU3MjoxLDQ5NjEzOjEsNDk2MjM6MSw0OTg4NToxLDUwMzYzOjEsNTA1OTg6MSw1MDY3NToxLDUwOTk1OjEsNTEwNzI6MSw1MTE5NDoxLDUxMjE4OjEsNTE3MDk6MSw1MTc4MzoxLDUxOTUwOjEsNTE5ODI6MSw1MjAzMToxLDUyMjY3OjEsNTIzMDE6MSw1MjQxNToxLDUyNDQ0OjEsNTI0OTU6MSw1MjYzMDoxLDUyNjYwOjEsNTMwMjg6MSw1MzQ3MToxLDUzODQzOjEsNTQ2OTc6MSw1NDcyMjoxLDU0NzUzOjEsNTQ5ODc6MSw1NTQ0NToxLDU1NTM0OjEsNTU2NDA6MSw1NTY4MzoxLDU1NzIxOjEsNTU3ODc6MSw1NjExMToxLDU2MjQ2OjEsNTYyOTM6MSw1NjM3MjoxLDU2Mzc2OjEsNTY1NTc6MSw1NjYyMzoxLDU2NzMzOjEsNTY5MjY6MSw1NzA4OToxLDU3MjM5OjEsNTc0NTU6MSw1NzQ5MzoxLDU4ZTM6MSw1ODMzMjoxLDU4NTcxOjEsNTg1Nzk6MSw1OTA3MToxLDU5MjA4OjEsNTkyMDk6MSw1OTQ3MDoxLDU5NzQwOjEsNjAwMTg6MSw2MDA2NzoxLDYwMTQzOjEsNjA1OTc6MSw2MDc2MzoxLDYwODc4OjEsNjEyMTk6MSw2MTMyNzoxLDYxNzIxOjEsNjE4Mjk6MSw2MTg2ODoxLDYyMDQzOjEsNjIyNjE6MSw2MjQyOToxLDYyNTgzOjEsNjI4Mzk6MSw2MzE0MzoxLDYzMzgxOjEsNjM0MzU6MSw2MzUxNDoxLDYzNzgzOjEsNjM5NzE6MSw2Mzk4ODoxLDY0MTk0OjEsNjQ2OTE6MSw2NDgzOToxLDY1MTI5OjEsNjUyNDE6MSw2NTMzNDoxLDY1NDAwOjEsNjU2OTA6MSw2NTc0OToxLDY2Mjk3OjEsNjY1Mzg6MSw2NzAxNToxLDY3MDQ2OjEsNjc0MDc6MSw2NzUzMzoxLDY4MjA1OjEsNjgyOTE6MSw2ODM0OToxLDY4Mzc3OjEsNjg0Mzg6MSw2ODYwNzoxLDY4ODQ5OjEsNjkxNjE6MSw2OTE2NzoxLDY5MjY2OjEsNjkzODU6MSw2OTYyNDoxLDY5NjI5OjEsNjk4MDg6MSw3MDI3OToxLDcwMzg3OjEsNzA1NDg6MSw3MDY2NToxLDcwNzY0OjEsNzA4MTY6MSw3MTA0NjoxLDcxMjIwOjEsNzE1MTU6MSw3MTY3MjoxLDcxNzE0OjEsNzE3MjM6MSw3MTg5MzoxLDcxOTI2OjEsNzE5NDQ6MSw3MjAyMToxLDcyMDQ0OjEsNzI0MTM6MSw3MjQ0OToxLDcyNjQ0OjEsNzMwNzQ6MSw3MzY0NzoxLDc0MzAxOjEsNzQ0NTE6MSw3NDY4MToxLDc0OTIxOjEsNzUxMjk6MSw3NTI2ODoxLDc1NDA0OjEsNzU3NDk6MSw3NjEwMjoxLDc2MTEyOjEsNzYzMTU6MSw3NjUwMToxLDc2NjM1OjEsNzY4MjY6MSw3Njg4MToxLDc3MzYyOjEsNzc0NzE6MSw3NzQ5NToxLDc3NDk4OjEsNzc1Mzc6MSw3NzU0OToxLDc4MDAxOjEsNzgzOTA6MSw3ODU2OToxLDc4OTk3OjEsNzkwMDk6MSw3OTQwNDoxLDc5NjgwOjEsNzk3MTk6MSw3OTg4MzoxLDc5OTYzOjEsODAxNjU6MSw4MDQyOToxLDgxNTM2OjEsODE3ODU6MSw4MTg4MDoxLDgxOTkxOjEsODIwMzU6MSw4MjA0NzoxLDgyMDU4OjEsODI0NDA6MSw4MjQ2NzoxLDgyNjMwOjEsODMwMDI6MSw4MzAyMzoxLDgzMDYzOjEsODMwNzg6MSw4MzIzMToxLDgzMjU4OjEsODMyOTQ6MSw4Mzg4NDoxLDgzOTUzOjEsODQwNDk6MSw4NDA1MjoxLDg0MDY1OjEsODQyMDE6MSw4NDUzNDoxLDg0NjkwOjEsODQ5Mzg6MSw4NTAzMDoxLDg1MTM4OjEsODUyMjM6MSw4NTI1NDoxLDg1MzU4OjEsODU1MDU6MSw4NTgyOToxLDg1ODg2OjEsODZlMzoxLDg2MjUxOjEsODYyNTU6MSw4NjM4OToxLDg2NTY3OjEsODcwNjE6MSw4NzI5NDoxLDg3NjY0OjEsODc3NzE6MSw4ODM0MDoxLDg5Njk1OjEsODk3MTY6MSw5MDA0MToxLDkwMzIxOjEsOTAzOTc6MSw5MDQ1MDoxLDkwOTY1OjEsOTEwODQ6MSw5MTMwNjoxLDkxNjE3OjEsOTE2Nzc6MSw5MTc5OToxLDkxOTMyOjEsOTE5ODQ6MSw5MjAxNDoxLDkyMTUwOjEsOTIyNjE6MSw5MjUxODoxLDkyNTU5OjEsOTI3NzM6MSw5MzQ3MjoxLDk0MzA4OjEsOTQzMTQ6MSw5NDM1MToxLDk0NTI0OjEsOTQ2MjY6MSw5NDc5NjoxLDk0ODEyOjEsOTUwMTA6MSw5NTA2NToxLDk1MTM1OjEsOTUxNTg6MSw5NTI1NDoxLDk1MjU2OjEsOTU2NzE6MSw5NTc2OToxLDk1ODc1OjEsOTYwODE6MSw5NjE1OToxLDk2MjMwOjEsOTYzODg6MSw5NjM5OToxLDk2NDQ2OjEsOTY2NDg6MSw5NzA4MzoxLDk3MTIyOjEsOTczMDU6MSw5NzQ5NToxLDk3ODAwOjEsOTc4OTM6MSw5Nzk4NjoxLDk4MTc5OjEsOTgxOTQ6MSw5ODM3ODoxLDk4NjgzOjEsOTg3MzA6MSw5OTI3NToxLDk5Mjg4OjEsOTkzMDI6MSw5OTUyMDoxLDk5OTMzOjF9W2VdJiZuLnB1c2gobFtlXT1jKGUpLnRoZW4oKCgpPT57bFtlXT0wfSksKG49Pnt0aHJvdyBkZWxldGUgbFtlXSxufSkpKX0sKCgpPT57dmFyIGU9ezg2MDg4OjAsNzQ4NzM6MCwyMzcwNzowLDcyMTY0OjB9O2EuZi5qPShuLHQpPT57dmFyIHI9YS5vKGUsbik/ZVtuXTp2b2lkIDA7aWYoMCE9PXIpaWYocil0LnB1c2goclsyXSk7ZWxzZSBpZigvXigxMDk1N3w1MjQxNXw1NzI2fDk4Mzc4KSQvLnRlc3QobikpZVtuXT0wO2Vsc2V7dmFyIG89bmV3IFByb21pc2UoKCh0LG8pPT5yPWVbbl09W3Qsb10pKTt0LnB1c2goclsyXT1vKTt2YXIgaT1hLnArYS51KG4pLHM9bmV3IEVycm9yO2EubChpLCh0PT57aWYoYS5vKGUsbikmJigwIT09KHI9ZVtuXSkmJihlW25dPXZvaWQgMCkscikpe3ZhciBvPXQmJigibG9hZCI9PT10LnR5cGU/Im1pc3NpbmciOnQudHlwZSksaT10JiZ0LnRhcmdldCYmdC50YXJnZXQuc3JjO3MubWVzc2FnZT0iTG9hZGluZyBjaHVuayAiK24rIiBmYWlsZWQuXG4oIitvKyI6ICIraSsiKSIscy5uYW1lPSJDaHVua0xvYWRFcnJvciIscy50eXBlPW8scy5yZXF1ZXN0PWksclsxXShzKX19KSwiY2h1bmstIituLG4pfX0sYS5GLmo9bj0+e2lmKCEoYS5vKGUsbikmJnZvaWQgMCE9PWVbbl18fC9eKDEwOTU3fDUyNDE1fDU3MjZ8OTgzNzgpJC8udGVzdChuKSkpe2Vbbl09bnVsbDt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7dC5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixhLm5jJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGEubmMpLHQucmVsPSJwcmVmZXRjaCIsdC5hcz0ic2NyaXB0Iix0LmhyZWY9YS5wK2EudShuKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfX07dmFyIG49KG4sdCk9Pnt2YXIgcixvLFtpLHMsdV09dCxjPTA7aWYoaS5zb21lKChuPT4wIT09ZVtuXSkpKXtmb3IociBpbiBzKWEubyhzLHIpJiYoYS5tW3JdPXNbcl0pO2lmKHUpdShhKX1mb3IobiYmbih0KTtjPGkubGVuZ3RoO2MrKylvPWlbY10sYS5vKGUsbykmJmVbb10mJmVbb11bMF0oKSxlW29dPTB9LHQ9c2VsZi53ZWJwYWNrQ2h1bmtPd2FfbmFtZV89c2VsZi53ZWJwYWNrQ2h1bmtPd2FfbmFtZV98fFtdO3QuZm9yRWFjaChuLmJpbmQobnVsbCwwKSksdC5wdXNoPW4uYmluZChudWxsLHQucHVzaC5iaW5kKHQpKX0pKCksSD17MTEyMTY6WzM2Njk2LDQ0MDddLDEyNDM2OlszODQwXSwxODQ4NjpbNTYzMzcsNDIxMDYsNzc0MzgsMzIzMzZdLDI4MzI3OlszODQwXSwyODQ4MDpbMzY2OTYsNDQwN10sMzgwMTg6WzM4NDBdLDQyMTI3OlszMjU1Nyw5OTQ1OCw4MTk5MiwzNzMxNiw4MzMyMF0sNDQ1OTY6WzY3ODQ0XSw2MDE0MzpbODU2MTgsMzY2OTYsMTEyMTYsNTQwNjVdLDk2MjMwOls4NTYxOCwzNjY5NiwxMTIxNl19LGEuZi5wcmVmZXRjaD0oZSxuKT0+UHJvbWlzZS5hbGwobikudGhlbigoKCk9Pnt2YXIgbj1IW2VdO0FycmF5LmlzQXJyYXkobikmJm4ubWFwKGEuRSl9KSk7dmFyIFM9e307KCgpPT57InVzZSBzdHJpY3QiO2EucihTKTt2YXIgZT1hKDg0MDI0NCk7YS5wPSgwLGUuUnMpKCk7YSg5NjkyMzUpLGEoMTM4NzIpO3ZhciBuPWEoNzk2MzAzKSx0PWEoMzI2MjYwKSxyPWEoNDA0ODAxKTtmdW5jdGlvbiBvKGUsbil7cmV0dXJuKG51bGw9PWU/dm9pZCAwOmUuaGVhZGVycykmJmUuaGVhZGVycy5nZXQobil9dmFyIGk9YSg2ODUzNjkpLHM9YSg3MDcxMyk7Y29uc3QgdT1bIlgtQ2FsY3VsYXRlZEJFVGFyZ2V0IiwiWC1PV0EtQ29ycmVsYXRpb25JZCIsIlgtTVNFZGdlLVJlZiIsImNvbnRlbnQtZW5jb2RpbmciLCJjb250ZW50LWxlbmd0aCIsImNvbnRlbnQtdHlwZSIsIlgtT1dBLVZlcnNpb24iLCJYLU9XQUVycm9yTWVzc2FnZUlEIiwieC1kaWFnaW5mbyIsIngtYmVza3UiLCJ4LW93YS1kaWFnbm9zdGljc2luZm8iLCJYLUNETi1Qcm92aWRlciJdO2xldCBjPSIiO2Z1bmN0aW9uIGwoZSxuKXtjKz1gJiR7ZX09JHtufWB9Y29uc3QgSD1bIlgtQkVTZXJ2ZXIiLCJYLUZFU2VydmVyIiwiWC1NU0VkZ2UtUmVmIl0sZD1bNDAzLDQwNCw1MDNdO2Z1bmN0aW9uIGYoZSl7bGV0IG49IiI7aWYoZS5zdGF0dXMpe2lmKG4rPWUuc3RhdHVzLGQuaW5kZXhPZihlLnN0YXR1cyk+LTEpe24rPSJ8Ijtmb3IobGV0IHQ9MDt0PEgubGVuZ3RoO3QrKyl7Y29uc3Qgcj1IW3RdO2lmKG8oZSxyKSl7bis9cjticmVha319fX1lbHNlIGUubmV0d29ya0Vycm9yP249Ik5ldHdvcmtSZXNwb25zZUVycm9yIjoobj0iVW5rbm93blJlc3BvbnNlRXJyb3IiLGwoImJyZXMiLE9iamVjdC5rZXlzKGUpLmpvaW4oInwiKSkpO3JldHVybiB0PW5ldyBFcnJvcihuKSxyPWUsdC5yZXNwb25zZT1yLHQuc3RhdHVzPXIuc3RhdHVzLHQ7dmFyIHQscn12YXIgcD1hKDE3NDg4NCk7Y29uc3QgQz17W2UuT0hdOiJvdXRsb29rX3dpbjMyIixbZS5ySF06Im91dGxvb2tfd2luMzIiLFtlLkt5XToib3V0bG9va19pb3MiLFtlLmN4XToib3V0bG9va19hbmRyb2lkIixbZS5NOV06Im91dGxvb2tfYW5kcm9pZCIsW2UuRkFdOiJvdXRsb29rX21hYyIsW2UuZUldOiJ0ZWFtc19hbmRyb2lkIixbZS5zbV06InRlYW1zX2lvcyIsW2UudmpdOiJ0ZWFtc19kZXNrdG9wIixbZS5pd106InNoYXJlcG9pbnQiLFtlLlpCXToid2luZG93cyIsW2UuZ01dOiJvMzY1c2hlbGwifTt2YXIgQT1hKDUzNjQ2MCksST1hKDM5MTY5KSxoPWEoMzI3MDM5KSxSPWEoMTE0NDI5KSx2PWEoNDg5MDM0KTtmdW5jdGlvbiBVKCl7bGV0IG49Ij8iO2NvbnN0IHQ9KDAsdi55KSgpLHI9KDAscC5uTSkod2luZG93LmxvY2F0aW9uKTtPYmplY3Qua2V5cyhyKS5mb3JFYWNoKChlPT57c3dpdGNoKGUpe2Nhc2UiYk8iOmNhc2UidmVyc2lvbiI6bis9YCR7ZX09JHtyW2VdfSZgO2JyZWFrO2RlZmF1bHQ6bis9YCR7ZX09dmFsJmB9fSkpO2xldCBvPSgwLGUuJDYpKHQubG9jYXRpb24uaG9zdCt0LmxvY2F0aW9uLnBhdGhuYW1lKyhuLmxlbmd0aD4xP24uc2xpY2UoMCwtMSk6IiIpKTtyZXR1cm4gbyYmby5sZW5ndGg+MTAwJiYobz1vLnN1YnN0cigwLDEwMCkpLG8/ZW5jb2RlVVJJQ29tcG9uZW50KG8pOnZvaWQgMH12YXIgbT1hKDk4NDYxMiksTj1hKDM1OTE1MCksSz1hKDM0MDM4MCksZz1hKDc1NjU5Mik7ZnVuY3Rpb24geShuLHQpe2NvbnN0IHI9KDAsSy5TNykoKSxvPSgwLEsuZ3MpKCksaT17QXBwTmFtZTooMCxlLk1xKSgpLFVzZXJBZ2VudDp3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCxFeHBsaWNpdExvZ29uOigwLE4uTykod2luZG93KSxQdWlkOigwLGcubkQpKCksVGVuYW50R3VpZDooMCxnLnVDKSgpLE1CWEd1aWQ6KDAsZy5XQSkoKSxJc1ByZW1pdW06KDAsZy5hUikoKSxDbGllbnRJZDooMCxlLmkyKSgpLFJlZlVybDpVKCksQ2xpZW50VmVyc2lvbjooMCxlLlZKKSgpLEJFU2VydmVyOihudWxsPT10P3ZvaWQgMDp0LmViZSl8fCgwLGUuTl8pKCksRkVTZXJ2ZXI6KG51bGw9PXQ/dm9pZCAwOnQuZWZlKXx8KDAsZS5VUCkoKSxUaHJvdWdoRWRnZTooMCxlLl9IKSgpLFNlcnZpY2VWZXJzaW9uOigwLGUuSEYpKCksRGFnOigwLGUuS3gpKCksRm9yZXN0OigwLGUueV8pKCksRGVwbG95UmluZzooMCxlLm5yKSgpLCJTZXNzaW9uLklkIjooMCxlLk1RKSgpLFBoeXNpY2FsUmluZzooMCxtLm9IKSgpLFZhcmlhbnRFbnY6KDAsbS51RCkoKSxCcm93c2VyTmFtZTpyLmJyb3dzZXIsSG9zdDooMCxlLnIwKSgpLEhvc3RWZXJzaW9uOigwLHAubW4pKCJuYXRpdmVWZXJzaW9uIiksQnJvd3NlclZlcnNpb246ci5icm93c2VyVmVyc2lvbi50b1N0cmluZygpLE9zTmFtZTpvLm9zLE9zVmVyc2lvbjpvLm9zVmVyc2lvbixSZXRyeVN0cmF0ZWd5OigwLHAubW4pKCJiTyIpLElzQ29uc3VtZXI6KDAsZy51ZikoKSxMYXlvdXQ6KDAsZS5HMCkoKX07cmV0dXJuIHQmJihpLkVycm9yVHlwZT10LmV0LGkuRXJyb3JTb3VyY2U9dC5lc3JjLGkuRXJyb3I9dC5lcnIsaS5FeHRyYUVycm9ySW5mbz0oMCxlLiQ2KSh0LmVzdGFjayksaS5TdGF0dXNDb2RlPXQuc3QsaS5SZXF1ZXN0SWQ9dC5yZXFpZCkse25hbWU6bixkYXRhOml9fWNvbnN0IHc9e29rOiJjbGllbnRzdGFydHVwc3VjY2VzcyIsZmFpbDoiY2xpZW50c3RhcnR1cGVycm9yIix0cmFuc2llbnQ6ImNsaWVudHN0YXJ0dXBlcnJvciJ9O2FzeW5jIGZ1bmN0aW9uIGIobix0LHIsYSl7dmFyIEg7bGV0IGQsUzt0cnl7ZD1hd2FpdCgwLGUuUTEpKCk7Y29uc3Qgbj0oMCxSLndRKSgpO2woInN3VmVyIixufHx0eXBlb2Ygbik7Y29uc3QgdD0oMCxlLlczKSgpO3QmJihTPWF3YWl0IHQpfWNhdGNoKGUpe31jb25zdCBmPVtrKHdbbl18fCJjbGllbnRzdGFydHVwb3RoZXIiLG4sdCxkLFMpXTtpZih3aW5kb3cub3dhQmFja2ZpbGxlZEVycm9ycylmb3IobGV0IGU9MDtlPHdpbmRvdy5vd2FCYWNrZmlsbGVkRXJyb3JzLmxlbmd0aDtlKyspZi5wdXNoKGsoImJvb3RldmFsZXJyb3IiLG4sdCxkLFMpKTtsZXQgcD0iIjsobnVsbD09YT92b2lkIDA6YS5kaWFnbm9zdGljSW5mbykmJihwKz1hLmRpYWdub3N0aWNJbmZvKSx3aW5kb3cub3dhQmFja2ZpbGxlZEVycm9ycyYmd2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnMubGVuZ3RoPjAmJihwKz0ifCIrd2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnMubWFwKEUpLmpvaW4oInwiKSkscCYmTyhmWzBdLCJEaWFnbm9zdGljcyIscCk7Y29uc3QgQz1udWxsPT0oSD13aW5kb3cucGVyZm9ybWFuY2UpP3ZvaWQgMDpILm5hdmlnYXRpb247cmV0dXJuIEMmJk8oZlswXSwiUmVkaXJlY3RDb3VudCIsQy5yZWRpcmVjdENvdW50KSwoMCxoLmcpKG51bGw9PXI/dm9pZCAwOnIucGx0KSxyJiYoci5zdGFydCYmTyhmWzBdLCJTdGFydFRpbWUiLERhdGUubm93KCktci5zdGFydCksTyhmWzBdLCJMb2FkVGltZSIsci5wbHQpKSxPKGZbMF0sIk1pc2NEYXRhIixmdW5jdGlvbihuLHQpe3ZhciByO2xldCBhPWAmdm09dHJ1ZSZzcD0keygwLHMuUnMpKCl9YDtuJiYoYSs9YCZlaGs9JHtuLmVoa30mbXNnPSR7bi5lbXNnfWApO2NvbnN0IGw9KDAsaS5aUCkoImJvb3RGbGlnaHRzIik7aWYobCYmKGErPSImYmY9IitsKSx0KXthKz0iJnJlcT0iKygwLGUuJDYpKGVuY29kZVVSSUNvbXBvbmVudCh0LnVybCkpO2ZvcihsZXQgZT0wO2U8dS5sZW5ndGg7ZSsrKXtjb25zdCBuPXVbZV0scj1vKHQsbik7ciYmKGErPWAmJHtufT0ke3J9YCl9YSs9IiZydD0iK3QudHlwZX1jb25zdCBIPW51bGw9PShyPXdpbmRvdy5wZXJmb3JtYW5jZSk/dm9pZCAwOnIubmF2aWdhdGlvbjtyZXR1cm4gSCYmKGErPWAmbnQ9JHtILnR5cGV9YCksYStjfSh0LG51bGw9PWE/dm9pZCAwOmEucmVzcG9uc2UpKSxPKGZbMF0sIlRpbWluZ3MiLCgwLEkucGkpKCkpLE8oZlswXSwiTWVtb3J5IiwoMCxJLkFvKSgpKSxmfWZ1bmN0aW9uIEUoZSl7bGV0IG49Im51bGwiO3JldHVybiBlJiYobj1lWzBdLCJmdW5jdGlvbiI9PXR5cGVvZiBlLmNhbGxlZSYmKG4rPSI6IitlLmNhbGxlZSgpKSksbn1mdW5jdGlvbiBrKG4sdCxyLG8saSl7Y29uc3QgYT15KG4scik7cmV0dXJuIGEuZGF0YS5Cb290UmVzdWx0PXQsYS5kYXRhLkJvdHRsZW5lY2tzPSgwLEkuTiQpKCksYS5kYXRhLkxheWVycz0oMCxJLnhiKSgpLE8oYSwiQm9vdFR5cGUiLG8pLGkmJihPKGEsIkhvc3RlZFNjZW5hcmlvIixpLmhvc3RlZFNjZW5hcmlvKSxPKGEsIkhvc3RUZWxlbWV0cnkiLCgwLGUuJDYpKGkuaG9zdFRlbGVtZXRyeSkpKSxhfWZ1bmN0aW9uIE8oZSxuLHQpe251bGwhPXQmJm51bGwhPXQmJihlLmRhdGFbbl09dCl9dmFyIHg9YSg2MjEyNzYpLFA9YSgxMDI0MDQpLFQ9YSg3NzgwMSk7bGV0IEQ7bGV0IE07ZnVuY3Rpb24gTChlKXt2YXIgbix0O2UubmFtZSxqKChudWxsPT0obj1udWxsPT1lP3ZvaWQgMDplLmRhdGEpP3ZvaWQgMDpuLkVycm9yU291cmNlKXx8IiIpLGooKG51bGw9PSh0PW51bGw9PWU/dm9pZCAwOmUuZGF0YSk/dm9pZCAwOnQuRXJyb3JUeXBlKXx8IiIpfWZ1bmN0aW9uIEIoZSxuKXtpZighRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Y29uc3QgdD0oMCxwLkpJKSgiZHAiKSxyPSEoMCxwLnpsKSgpO3JldHVybiBuZXcgUHJvbWlzZSgoYXN5bmMgbz0+e2NvbnN0IGk9d2luZG93LnNldFRpbWVvdXQobyxufHwzZTMpO3RyeXtjb25zdCBuPWF3YWl0IGU7aWYobilmb3IoY29uc3QgZSBvZiBuKXImJk0udHJhY2soZSksdCYmTChlKX1jYXRjaChlKXt9ZmluYWxseXt3aW5kb3cuY2xlYXJUaW1lb3V0KGkpLG8oKX19KSl9ZnVuY3Rpb24gVygpe2NvbnN0IGU9KDAsVC5hJCkoKTtpZihlKXJldHVybiBlO3N3aXRjaCgoMCxtLnVEKSgpKXtjYXNlIkdjY0hpZ2giOnJldHVybiJodHRwczovL3RiLnBpcGUuYXJpYS5taWNyb3NvZnQuY29tLyIrVC53QjtjYXNlIkRvRCI6cmV0dXJuImh0dHBzOi8vcGYucGlwZS5hcmlhLm1pY3Jvc29mdC5jb20vIitULndCO2RlZmF1bHQ6cmV0dXJufX1mdW5jdGlvbiBqKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2goZSl7cmV0dXJuIGUubWVzc2FnZX19Y29uc3QgRj1bIlgtT1dBLUVycm9yIiwiWC1BdXRoLUVycm9yIiwiWC1SZWRpci1FcnJvciIsIlgtSklULUVycm9yIl07ZnVuY3Rpb24gVihuKXtjb25zdCB0PXtlcnI6IlVua25vd24iLGVzcmM6IlJ1bnRpbWUifTtpZihuKXt0LmV0PW4udXJsPyJTZXJ2ZXJFcnJvciI6IkNsaWVudEVycm9yIixuLnNvdXJjZSYmKHQuZXNyYz1uLnNvdXJjZSksKG4ubmFtZXx8bi5tZXNzYWdlKSYmKHQuZXJyPWAke24ubmFtZX06ICR7bi5tZXNzYWdlfWApO2NvbnN0IHI9bnVsbD09bj92b2lkIDA6bi5yZXNwb25zZTt0LmVzdGFjaz1vKHIsIlgtSW5uZXJFeGNlcHRpb24iKXx8bi5zdGFjayx0LnN0PShudWxsPT1yP3ZvaWQgMDpyLnN0YXR1cyl8fChudWxsPT1uP3ZvaWQgMDpuLnN0YXR1cyk7Zm9yKGxldCBuPTA7bjxGLmxlbmd0aDtuKyspe2NvbnN0IGk9RltuXSxhPW8ocixpKTtpZihhKXt0LmVoaz1pLHQuZXJyPSgwLGUuJDYpKGEpO2JyZWFrfX1jb25zdCBpPW8ociwieC1tcy1kaWFnbm9zdGljcyIpO2kmJmwoIngtbXMtZGlhZ25vc3RpY3MiLGkpLHQuZWZlPW8ociwiWC1GRVNlcnZlciIpLHQuZWJlPW8ociwiWC1CRVNlcnZlciIpLHQuZXdzdmVyPW8ociwiWC1PV0EtVmVyc2lvbiIpLHQucmVxaWQ9byhyLCJyZXNwb25zZS1pZCIpLHQuZW1zZz1vKHIsIlgtT1dBRXJyb3JNZXNzYWdlSUQiKSx0LmVzdGFjayYmKHQuZXN0YWNrLmxlbmd0aD4xMDI0JiYodC5lc3RhY2s9ZnVuY3Rpb24oZSl7Y29uc3Qgbj1lLnNwbGl0KCJcbiIpO2ZvcihsZXQgZT0xO2U8bi5sZW5ndGg7ZSsrKWlmKG5bMF0hPW5bZV0pcmV0dXJuIG4uc2xpY2UoZS0xKS5qb2luKCJcbiIpO3JldHVybiBlfSh0LmVzdGFjaykpLHQuZXN0YWNrLmxlbmd0aD4xMDI0JiYodC5lc3RhY2s9dC5lc3RhY2suc3Vic3RyaW5nKDAsMTAyNCkpKX1yZXR1cm4gdH12YXIgSj1hKDkxOTc0KSxaPWEoNDAwNzU4KSxYPWEoNjIzNzE2KSxxPWEoMzg2MDQ5KSxZPWEoOTE5NDMzKSx6PWEoMjcwODM5KSxHPWEoMTQ0MzIpO2NvbnN0IFE9ezA6Im5ldHdvcmsiLDQwMToiYXV0aCIsNDExOiJleHRlcm5hbCIsNDQwOiJhdXRoIn0sXz1bIkV4cGlyZWRCdWlsZCIsIlBvaXNvbmVkQnVpbGQiXSwkPVsiT3dhSW52YWxpZFRpbWV6b25lRXhjZXB0aW9uIiwiT3dhSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbiIsIk93YUludmFsaWRVc2VyTGFuZ3VhZ2VFeGNlcHRpb24iXSxlZT1bIkFjY2Vzc0RlbmllZEV4Y2VwdGlvbiIsIk1haWxib3hVbmF2YWlsYWJsZUV4Y2VwdGlvbiIsIk93YUV4cGxpY2l0TG9nb25FeGNlcHRpb24iLCJPd2FBRE9iamVjdE5vdEZvdW5kRXhjZXB0aW9uIl07ZnVuY3Rpb24gbmUoZSxuKXtpZihudWxsPT1lP3ZvaWQgMDplLnJlc3VsdClyZXR1cm4gZS5yZXN1bHQ7Y29uc3QgdD1uLmVycjtpZigoMCxKLmcpKCQsdCkpcmV0dXJuImxhbmd0eiI7aWYoKDAsWi5wKSh0KSlyZXR1cm4idGhyb3R0bGUiO2lmKCgwLFgucSkodCkpcmV0dXJuImNvbmZpZ3VyYXRpb24iO2lmKCgwLHEubSkodCl8fGUmJigwLFkudSkoZS5zdGFjayl8fHdpbmRvdy5vd2FCYWNrZmlsbGVkRXJyb3JzJiZ3aW5kb3cub3dhQmFja2ZpbGxlZEVycm9ycy5maWx0ZXIoKGU9PigwLHEubSkoZVswXSkpKS5sZW5ndGg+MClyZXR1cm4ibWVtb3J5IjtpZihlKXtjb25zdCBuPWUucmVzcG9uc2U7aWYoKG51bGw9PW4/dm9pZCAwOm4udXJsKSYmbi51cmwudG9Mb3dlckNhc2UoKS5pbmRleE9mKCIvYXV0aC9lcnJvcmZlLmFzcHgiKT4tMSlyZXR1cm4iZXJyb3JmZSI7aWYoZS5yZXF1ZXN0KXJldHVybiJjZG5FcnJvciJ9Y29uc3Qgcj1uLmVzcmM7aWYociYmXy5pbmRleE9mKHIpPi0xKXJldHVybiByO2NvbnN0IG89bi5zdDtyZXR1cm4iSW5pdExvYyI9PXImJjAhPW8/ImZhaWwiOigwLE4uTykod2luZG93KSYmKDAsSi5nKShlZSx0KT8iYWNjZXNzRGVuaWVkIjooMCx6LmkpKHQpfHw1MDM9PW8/InRyYW5zaWVudCI6KDAsRy5lKSh0LGUpPyJuZXR3b3JrIjpRW29dfHwiZmFpbCJ9dmFyIHRlPWEoMjk5MjM2KSxyZT1hKDc5ODI1KSxvZT1hKDkxNTkwNik7YXN5bmMgZnVuY3Rpb24gaWUobixyKXt0cnl7Y29uc3QgdD1hd2FpdCBhc3luYyBmdW5jdGlvbihuLHQpe2xldCByPSJVVEMiO2lmKHdpbmRvdy5JbnRsJiYib2JqZWN0Ij09dHlwZW9mIHdpbmRvdy5JbnRsKXtjb25zdCBlPXdpbmRvdy5JbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCk7KG51bGw9PWU/dm9pZCAwOmUudGltZVpvbmUpJiYocj1lLnRpbWVab25lKX1jb25zdCBvPSgwLEEuWikoKDAsZS5kcSkoKSksaT0oMCx0ZS5lNykoKDAsdGUuWlApKG8sImxhbmcub3dhIikpLGE9bmV3IEhlYWRlcnMscz1gbG9jYWxlTmFtZT0ke3dpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2V9JnR6aWQ9JHtyfSZzYXZlTGFuZ3VhZ2VBbmRUaW1lem9uZT0xYCx1PSgwLG9lLmlFKSgpO3JldHVybiBhLmFwcGVuZCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiksYS5hcHBlbmQoIlgtT1dBLUNBTkFSWSIsKDAscmUuTnopKCkpLG4mJmEuYXBwZW5kKCJ4LWFuY2hvcm1haWxib3giLG4pLCF0JiZ1JiZ1LmdldEF1dGhUb2tlbiYmKHQ9YXdhaXQgdS5nZXRBdXRoVG9rZW4oKSksdCYmYS5hcHBlbmQoIkF1dGhvcml6YXRpb24iLHQpLGZldGNoKGkse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6YSxib2R5OnN9KX0obixyKSxvPXQuaGVhZGVycy5nZXQoIlgtT1dBLUVycm9yIik7aWYobyl0aHJvdyBuZXcgRXJyb3Iobyk7aWYodC5zdGF0dXM+PTQwMCl0aHJvdyBmKHQpO2F3YWl0IEIoYWUoImxhbmdwb3N0X3N1Y2Nlc3MiKSl9Y2F0Y2goZSl7Y29uc3Qgbj0oMCx0LlopKGUsIkxhbmdQb3N0Iix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsZS5zdGF0dXMpO2F3YWl0IEIoYWUoImxhbmdwb3N0X2Vycm9yIixWKG4pKSl9fWZ1bmN0aW9uIGFlKGUsbil7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbeShlLG4pXSl9ZnVuY3Rpb24gc2UoZSxuLHQpe2NvbnN0IHI9KDAscC5tbikoImJPIik7aWYodm9pZCAwIT09ciYmIjQiIT09cilyZXR1cm4gbnVsbDtpZih0JiYiU3RhcnR1cERhdGEiPT1uKXJldHVybiBudWxsO3N3aXRjaChlKXtjYXNlImxhbmd0eiI6cmV0dXJue3N0cmF0ZWd5OiIxIix3YWl0Rm9yOmllKCl9O2Nhc2UiYXV0aCI6cmV0dXJuKDAsb2UuaUUpKCkuZ2V0QXV0aFRva2VuJiYhdD97c3RyYXRlZ3k6IjEifTpudWxsO2Nhc2UidGhyb3R0bGUiOmNhc2UiZXJyb3JmZSI6Y2FzZSJhY2Nlc3NEZW5pZWQiOmNhc2UiY29uZmlndXJhdGlvbiI6cmV0dXJuIG51bGw7Y2FzZSJFeHBpcmVkQnVpbGQiOmNhc2UiUG9pc29uZWRCdWlsZCI6cmV0dXJuIjQiPT09cj9udWxsOntzdHJhdGVneToiNCJ9O2Nhc2UidHJhbnNpZW50IjpyZXR1cm57c3RyYXRlZ3k6IjEiLHRpbWVvdXQ6MWU0fTtkZWZhdWx0OnJldHVybntzdHJhdGVneToiSW5pdExvYyI9PW4/IjIiOiIxIn19fXZhciB1ZT1hKDU1OTkyNSk7YXN5bmMgZnVuY3Rpb24gY2UobixyKXtjb25zdCBvPSgwLHQuWikoZihyKSwiU3RhcnR1cERhdGEiLCgwLGUuJDYpKHIudXJsKSksaT1WKG8pLGE9c2UobmUobyxpKSxpLmVzcmMpO2lmKGEpcmV0dXJuIGF3YWl0IGZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gbCgiU3RhcnR1cERpZFJldHJ5IiwidCIpLEIoYihlLHR8fFYobiksdm9pZCAwLG4pKX0oInNlcnZlclJldHJ5IixvLGkpLGEud2FpdEZvciYmYXdhaXQgUHJvbWlzZS5yYWNlKFsoMCx1ZS5aKSgxZTQpLGEud2FpdEZvci5jYXRjaCgoKCk9Pnt9KSldKSx7ZW5kcG9pbnQ6YCR7bn0/Yk89MSZhcHA9JHsoMCxlLk1xKSgpfWAsZGVsYXk6YS50aW1lb3V0fX1mdW5jdGlvbiBsZShvLGksYSl7Y29uc3Qgcz0oMCxBLlopKCgwLGUuZHEpKCkpKyIvc3RhcnR1cGRhdGEuYXNoeCI7cmV0dXJuIG8uYXBwZW5kKCJ4LW93YS1ob3N0LWFwcCIsZnVuY3Rpb24oKXt2YXIgZTtjb25zdCBuPW51bGw9PShlPSgwLHAubW4pKCJob3N0QXBwIikpP3ZvaWQgMDplLnRvTG93ZXJDYXNlKCk7cmV0dXJuIENbbl18fCJ1bmtub3duIn0oKSksby5hcHBlbmQoIngtb3dhLWhvc3RlZC11eCIsZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbj93aW5kb3cubG9jYXRpb24ucGF0aG5hbWU6IiI7cmV0dXJuIGUuaW5kZXhPZigiL29weCIpPj0wfHxlLmluZGV4T2YoIi9ob3N0ZWQiKT49MD8idHJ1ZSI6ImZhbHNlIn0oKSksKDAsci5TKSgiU3RhcnR1cERhdGEiLHZvaWQgMCx7ZW5kcG9pbnQ6cyxoZWFkZXJzOm8scmV0dXJuRnVsbFJlc3BvbnNlT25TdWNjZXNzOiEwLHNob3VsZFJldHJ5OmU9PlByb21pc2UucmVzb2x2ZShmdW5jdGlvbihlKXtyZXR1cm4gMjA0PT1lfHw0MDQ9PWV8fGU+PTUwMH0oZSkpLG9uQmVmb3JlUmV0cnk6ZT0+Y2UocyxlKSxhdXRoTmVlZGVkT25VbkF1dGhvcml6ZWQ6ITEscmV0cnlDb3VudDo1fSkudGhlbigoZT0+e2lmKCgwLG4udFUpKGUpLCFlKXRocm93IG5ldyBFcnJvcigiTm9SZXNwb25zZSIpO2lmKDIwMCE9ZS5zdGF0dXMpdGhyb3cgZihlKTtyZXR1cm4gYShlLmhlYWRlcnMpLGUuanNvbigpLmNhdGNoKChlPT57dmFyIG47Y29uc3QgdD1uZXcgRXJyb3IoIkludmFsaWRKc29uIikscj10eXBlb2YgZTt0aHJvdyB0LmRpYWdub3N0aWNJbmZvPWBKc29uRXJyb3I9JHsic3RyaW5nIj09cj9lOihudWxsPT1lP3ZvaWQgMDplLm1lc3NhZ2UpfHxyfTtvbmxpbmU9JHtudWxsPT0obj1udWxsPT1zZWxmP3ZvaWQgMDpzZWxmLm5hdmlnYXRvcik/dm9pZCAwOm4ub25MaW5lfTtgLHR9KSl9KSwoZT0+e3Rocm93IGYoZSl9KSkudGhlbihpKS5jYXRjaCgoZT0+UHJvbWlzZS5yZWplY3QoKDAsdC5aKShlLCJTdGFydHVwRGF0YSIscywwKSkpKX12YXIgSGU9YSgxNTk4NjcpLGRlPWEoODgwMDQ1KSxTZT1hKDMzNjgyOSksZmU9YSg0MzQwMzYpO2NvbnN0IHBlPSJzZGZwIjtsZXQgQ2U9MCxBZT0wO2NvbnN0IEllPSgwLEkudDgpKChmdW5jdGlvbigpe2NvbnN0IG49bmV3IEhlYWRlcnMsdD0oMCxIZS5yVikod2luZG93LHBlKTt0JiYobi5zZXQoImZvbGRlclBhcmFtcyIsdCksQ2U9MSk7Y29uc3Qgcj0oMCxIZS5yVikod2luZG93LFNlLl8pO3ImJihuLnNldCgibWVzc2FnZVBhcmFtcyIsciksQWU9MSk7cmV0dXJuKDAsZGUubykobix3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsKDAsZS5QNikoKSwoMCxTZS5pKSgpLCgwLHAubW4pKCJpbml0aWFsZm9sZGVycyIpKSxsZShuLGhlLFJlKX0pLCJzZCIpO2Z1bmN0aW9uIGhlKGUpe3ZhciBuLHQscixvLGksYSxzLHUsYyxsO2lmKCEobnVsbD09KHQ9bnVsbD09KG49ZS5vd2FVc2VyQ29uZmlnKT92b2lkIDA6bi5TZXNzaW9uU2V0dGluZ3MpP3ZvaWQgMDp0LlVzZXJFbWFpbEFkZHJlc3MpKXtjb25zdCBuPSJBY2N0SW5pdC1Ob1VzZXJFbWFpbEFkZHJlc3MiLHQ9bmV3IEVycm9yKG4pOygwLGZlLkNaKShuLHtzdGFjazp0LnN0YWNrLHN0OnR5cGVvZiBlLHVjOnR5cGVvZiBlLm93YVVzZXJDb25maWcsc3M6dHlwZW9mKG51bGw9PShyPWUub3dhVXNlckNvbmZpZyk/dm9pZCAwOnIuU2Vzc2lvblNldHRpbmdzKSx1ZTp0eXBlb2YobnVsbD09KGk9bnVsbD09KG89ZS5vd2FVc2VyQ29uZmlnKT92b2lkIDA6by5TZXNzaW9uU2V0dGluZ3MpP3ZvaWQgMDppLlVzZXJFbWFpbEFkZHJlc3MpfSl9aWYoIShudWxsPT0ocz1udWxsPT0oYT1lLm93YVVzZXJDb25maWcpP3ZvaWQgMDphLlNlc3Npb25TZXR0aW5ncyk/dm9pZCAwOnMuTG9nb25FbWFpbEFkZHJlc3MpKXtjb25zdCBuPSJBY2N0SW5pdC1Ob0xvZ29uRW1haWxBZGRyZXNzIix0PW5ldyBFcnJvcihuKTsoMCxmZS5DWikobix7c3RhY2s6dC5zdGFjayxzdDp0eXBlb2YgZSx1Yzp0eXBlb2YgZS5vd2FVc2VyQ29uZmlnLHNzOnR5cGVvZihudWxsPT0odT1lLm93YVVzZXJDb25maWcpP3ZvaWQgMDp1LlNlc3Npb25TZXR0aW5ncyksdWU6dHlwZW9mKG51bGw9PShsPW51bGw9PShjPWUub3dhVXNlckNvbmZpZyk/dm9pZCAwOmMuU2Vzc2lvblNldHRpbmdzKT92b2lkIDA6bC5Mb2dvbkVtYWlsQWRkcmVzcyl9KX1lLmZvbGRlclBhcmFtcyYmKDAsSGUuTFMpKHdpbmRvdyxwZSxKU09OLnN0cmluZ2lmeShlLmZvbGRlclBhcmFtcykpLGUubWVzc2FnZVBhcmFtcyYmKDAsSGUuTFMpKHdpbmRvdyxTZS5fLEpTT04uc3RyaW5naWZ5KGUubWVzc2FnZVBhcmFtcykpO2NvbnN0IEg9KDAsZy5tTCkoZSk7cmV0dXJuKDAsSGUuTFMpKHdpbmRvdywiQm9vdERpYWdub3N0aWNzIixKU09OLnN0cmluZ2lmeShIKSksZX1mdW5jdGlvbiBSZShlKXtsZXQgbjtpZihlKXtjb25zdCB0PWUuZ2V0KCJ4LW93YS1zdGFydHVwLXByZWxvYWQiKTt0JiYoMCxJLnlJKSgic2RfcHIiLHQpO2NvbnN0IHI9ZS5nZXQoIngtb3dhLXN0YXJ0dXAtZGlhZyIpO3ImJihuPXBhcnNlSW50KHIpKX12ZShwZSxDZSxuLDQsMSksdmUoU2UuXyxBZSxuLDgsMil9ZnVuY3Rpb24gdmUoZSxuLHQscixvKXt0JiYoMCE9KHQmcik/bj0zOjAhPSh0Jm8pJiYobj0yKSwwIT0oMTYmdCkmJigwLEhlLmNsKSh3aW5kb3csZSkpLCgwLEkueUkpKGUsbil9dmFyIFVlPWEoNDI3MzYwKSxtZT1hKDYzNDAwNyksTmU9YSg4OTQ1NTIpO2NvbnN0IEtlPSJhdXRoUmVkaXJlY3QiO2Z1bmN0aW9uIGdlKG4sdCxyLG8saSxhKXtjb25zdCBzPSgwLHAubk0pKG4pLHU9c1t0XSE9PXI7aWYodSl7aWYodD09S2Upe2NvbnN0IGU9YT9hLmdldCgiWC1PV0EtQ2xhaW1DaGFsbGVuZ2UiKTp2b2lkIDA7ZSYmcy5jYyE9PWUmJihzLmNjPWRlY29kZVVSSUNvbXBvbmVudChlKSl9c1t0XT1yLG8mJihzLnNlc3Npb25JZD0oMCxlLk1RKSgpKTtjb25zdCB1PSgwLFVlLlopKCl8fCJtYWlsIjtsZXQgYz1gJHsoMCxBLlopKGAvJHt1fWApfS9gO2kmJihzLnN0YXRlPSIwIixjPWAke2Z1bmN0aW9uKGUpe3ZhciBuO2xldCB0PWU7Y29uc3Qgcj1udWxsPT0obj0oMCxOZS5JKSgpKT92b2lkIDA6bi5wYXRobmFtZTtpZihyKXtjb25zdCBlPSgwLFVlLlopKCl8fCIiLG49ci5zcGxpdCgiLyIpLmZpbHRlcigoZT0+ZSkpLG89bi5pbmRleE9mKGUucmVwbGFjZSgvXlwvK3xcLyskL2csIiIpKTtvPi0xJiZuLnNwbGljZShvLDEpO2NvbnN0IGk9bi5qb2luKCIvIik7dD0oMCx0ZS5aUCkodCxpKX1yZXR1cm4oMCx0ZS5lNykoKDAsdGUueHMpKHQpKX0oYC8ke3V9YCl9YCksbi5hc3NpZ24oKDAsbWUuWikoYyxzKSl9cmV0dXJuIHV9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIHNlbGYubG9jYXRpb24uYXNzaWduKGUpLCEwfXZhciB3ZT1hKDQyODkxMCk7ZnVuY3Rpb24gYmUoZSl7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gRWUobixlKSxufWZ1bmN0aW9uIEVlKGUsbil7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMobikpZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LG5bdF0pfWZ1bmN0aW9uIGtlKCl7Y29uc3Qgbj1bYFVUQyBEYXRlOiAkeyhuZXcgRGF0ZSkudG9JU09TdHJpbmcoKX1gLCJDbGllbnQgSWQ6ICIrKDAsZS5pMikoKSwiU2Vzc2lvbiBJZDogIisoMCxlLk1RKSgpLCJDbGllbnQgVmVyc2lvbjogIisoMCxlLlZKKSgpXSx0PSgwLHAubW4pKCJuYXRpdmVWZXJzaW9uIik7cmV0dXJuIHQmJm4ucHVzaCgiTmF0aXZlIEhvc3QgVmVyc2lvbjogIit0KSxufXZhciBPZT1hKDk2NDkwOCk7ZnVuY3Rpb24geGUoKXtsZXQgZT0iIjtyZXR1cm4gZT13aW5kb3cub3dhQmFja2ZpbGxlZEVycm9ycyYmd2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnMubGVuZ3RoPjA/IkJhY2sgRmlsbGVkIEVycm9yczogIit3aW5kb3cub3dhQmFja2ZpbGxlZEVycm9ycy5tYXAoUGUpLmpvaW4oInwiKToiQmFjayBGaWxsZWQgRXJyb3JzOiBOb25lIixlfWZ1bmN0aW9uIFBlKGUpe2xldCBuPSJudWxsIjtyZXR1cm4gZSYmKG49ZVswXSwiZnVuY3Rpb24iPT10eXBlb2YgZS5jYWxsZWUmJihuKz0iOiIrZS5jYWxsZWUoKSkpLG59Y29uc3QgVGU9ImJvb3RGYWlsdXJlQ291bnQiO2Z1bmN0aW9uIERlKCl7Y29uc3QgZT0oMCxIZS5yVikod2luZG93LFRlKTtyZXR1cm4gZT9wYXJzZUludChlKTowfWZ1bmN0aW9uIE1lKGUpeygwLEhlLkxTKSh3aW5kb3csVGUsZSsiIil9bGV0IExlO2NvbnN0IEJlPSJodHRwczovL3N1cHBvcnQub2ZmaWNlLmNvbSIsV2U9Imh0dHBzOi8vc3VwcG9ydC5vZmZpY2UuY29tL2NsaWVudC9yZXN1bHRzP0hlbHBJRD0xOTE4MjEiLGplPSJPd2FMb2NhbGUiLEZlPSJDYW50Qm9vdCI7ZnVuY3Rpb24gVmUobix0LHIsbyxpKXtjb25zdCBhPW51bGw9PW8/dm9pZCAwOm8uY29sbGVjdExvZ3NDYWxsYmFjayxzPW51bGw9PW8/dm9pZCAwOm8uY2xvc2VXaW5kb3dDYWxsYmFjayx1PW51bGw9PW8/dm9pZCAwOm8udXBkYXRlSG9zdENhbGxiYWNrLGM9a2UoKTt0LmJhY2tmaWxsZWRFcnJvcnM9eGUoKSxMZT17VGltZXN0YW1wSW5VdGM6KG5ldyBEYXRlKS50b1VUQ1N0cmluZygpLEJvb3RSZXN1bHQ6bixFcnJvckRpYWdub3N0aWNzOnQsQm9vdEVycm9yOnIsTWV0YWRhdGFEZXRhaWxzOmMsQm9vdEZhaWx1cmVDb3VudDpEZSgpfTtjb25zdCBsPWJlKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6IjIydnciLHRvcDoiMTV2aCJ9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGU9PmZ1bmN0aW9uKGUsbix0LHIsbyl7aWYoZS5vcmlnaW49PUJlKXtjb25zdCBpPWUuZGF0YTtpZighaS5zY2VuYXJpb3x8aS5zY2VuYXJpbz09RmUpe2lmKCJTdXBwb3J0SlNfdXBsb2FkRGlhZ25vc3RpY3NMb2dzVG9PRFMiPT1pLmFjdGlvbil7Y29uc3QgZT1pLnNlc3Npb25JZDtlJiZuJiZuKGUpfWlmKCJTdXBwb3J0SlNfR2V0VXNlckluZm8iPT1pLmFjdGlvbiYmZnVuY3Rpb24oZSl7Y29uc3Qgbj0oMCxnLmszKSgpO0plKGUsIk9uVXNlckluZm9BdmFpbGFibGUiLG4/e3VwbjpufTp7fSxuPyJTdWNjZXNzIjoiTm9VUE5Gb3VuZCIpfShlKSwiU3VwcG9ydEpTX0dldEJvb3RFcnJvckluZm8iPT1pLmFjdGlvbiYmZnVuY3Rpb24oZSl7SmUoZSwiT25Cb290RXJyb3JJbmZvQXZhaWxhYmxlIixMZT97ZXJyb3JJbmZvSnNvbjpMZX06e30sTGU/IlN1Y2Nlc3MiOiJOb0Jvb3RFcnJvckluZm9Gb3VuZCIpfShlKSwiU3VwcG9ydEpTX2hpZGVTdXBwb3J0UGFuZSI9PWkuYWN0aW9uJiZ0JiZ0KCksIlN1cHBvcnRKU19ydW5SZWNvdmVyeUFjdGlvbiI9PWkuYWN0aW9uJiYidXBkYXRlSG9zdCI9PWkucmVjb3ZlcnlBY3Rpb24mJnImJnIoKSwiU3VwcG9ydEpTX1JlZnJlc2hXaW5kb3ciPT1pLmFjdGlvbil7bGV0IGU9ITE7dHJ5e2U9IShudWxsPT1vP3ZvaWQgMDpvKCkpfWNhdGNoKGUpe31lfHxzZWxmLmxvY2F0aW9uLnJlbG9hZCgpfX19fShlLGEscyx1LGkpKSksZnVuY3Rpb24obil7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTt0LnNyYz1mdW5jdGlvbigpe2NvbnN0IG49KDAscC5tbikoIm5hdGl2ZVZlcnNpb24iKSx0PWZ1bmN0aW9uKCl7Y29uc3QgZT0oMCxIZS5yVikod2luZG93LGplKTtpZighZSlyZXR1cm4gd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZTtyZXR1cm4gZX0oKSxyPW4/Ik1PTkFSQ0giOiJPV0EiLG89KDAsZS5ucikoKSxpPXtBcHBOYW1lOnIsQXVkaWVuY2VHcm91cDpvfHwiUHJvZHVjdGlvbiIsTG9jYWxlOnQsUHJvZHVjdFZlcnNpb246bixTY2VuYXJpbzpGZSxUaGVtZUlkOlplKCksU2NoZW1hVmVyc2lvbjoiMiJ9O3JldHVybiBXZSsiJiIrKDAscC5QeikoaSl9KCksdC5pZD0ic3VwcG9ydE9uQm9vdEVycm9yIix0LmZyYW1lQm9yZGVyPSIwIix0LnNjcm9sbGluZz0iYXV0byIsdC5hbGxvdz0iZGlzcGxheS1jYXB0dXJlIixFZSh0LHt3aWR0aDoiNTV2dyIsaGVpZ2h0OiI3MHZoIn0pLG4uYXBwZW5kQ2hpbGQodCl9KGwpLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKS5hcHBlbmRDaGlsZChsKX1mdW5jdGlvbiBKZShlLG4sdCxyKXtlLnNvdXJjZS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7ZXZlbnQ6bixkYXRhOnQsZXJyb3I6cn0pLEJlKX1mdW5jdGlvbiBaZSgpe3ZhciBlPSgwLEhlLnJWKSh3aW5kb3csT2UuVS5Kcik7cmV0dXJuIGUmJmUuZW5kc1dpdGgoImRhcmsiKT8iNCI6IjAifWNvbnN0IFhlPSIjMDA3OEQ0IixxZT0iIzMzMyIsWWU9IkZld2VyIERldGFpbHMiLHplPSInU2Vnb2UgVUkgV2VzdEV1cm9wZWFuJywgJ1NlZ29lIFVJIFNlbWlib2xkJywgJ1NlZ29lIFdQIFNlbWlib2xkJywgJ1NlZ29lIFVJJywgJ1NlZ29lIFdQJywgVGFob21hLCBBcmlhbCwgc2Fucy1zZXJpZiciO2Z1bmN0aW9uIEdlKGUsbix0LHIsbyxpKXtjb25zdCBhPWJlKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6IjM0MHB4Iix0b3A6IjQwcHgifSkscz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9hZGluZ0xvZ28iKTtpZihzKXtzLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKS5mb3JFYWNoKChlPT57Y29uc3Qgbj1lO2dldENvbXB1dGVkU3R5bGUobikuYW5pbWF0aW9uJiZFZShuLHsiYW5pbWF0aW9uLWR1cmF0aW9uIjoiMHMifSl9KSkscy5yZW1vdmUoKTtFZShzLHtwb3NpdGlvbjoiaW5pdGlhbCIsd2lkdGg6IjU2cHgiLGhlaWdodDoiNTZweCIsIm1hcmdpbi1sZWZ0IjoiLTI4cHgiLHRyYW5zZm9ybToic2NhbGUoMC4yNSkifSksYS5hcHBlbmRDaGlsZChzKX1jb25zdCB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2FkaW5nU2NyZWVuIik7aWYodSYmdS5yZW1vdmUoKSwoMCx3ZS5hNCkoInN1cHBvcnRvbmJvb3QiKSYmZnVuY3Rpb24oKXtpZigoMCxIZS5EWCkod2luZG93KSl7Y29uc3QgZT0hKDAsSGUuamopKHdpbmRvdywib2Nwc2NvbnRhY3RzdXBwb3J0ZW5hYmxlZCIpfHwiMSI9PSgwLEhlLnJWKSh3aW5kb3csIm9jcHNjb250YWN0c3VwcG9ydGVuYWJsZWQiKSxuPSEoMCxIZS5qaikod2luZG93LCJvY3BzZGlhZ25vc3RpY3N0cm91Ymxlc2hvb3RpbmdlbmFibGVkIil8fCIxIj09KDAsSGUuclYpKHdpbmRvdywib2Nwc2RpYWdub3N0aWNzdHJvdWJsZXNob290aW5nZW5hYmxlZCIpO3JldHVybiBlfHxufXJldHVybiExfSgpKXRyeXtyZXR1cm4gdm9pZCBWZShlLG4sdCxyLG8pfWNhdGNoKGUpe31RZShhLHtmb250U2l6ZToiNDBweCIsY29sb3I6WGUsIm1hcmdpbi10b3AiOiIyOHB4In0sIlNvbWV0aGluZyB3ZW50IHdyb25nLiIpLFFlKGEse2ZvbnRTaXplOiIxNnB4IiwiZm9udC1mYW1pbHkiOnplLG1hcmdpbjoiMjBweCAwIiwiZm9udC13ZWlnaHQiOiI2MDAiLGNvbG9yOnFlfSwiUGxlYXNlIHRyeSB0aGUgcmVjb21tZW5kZWQgYWN0aW9uIGJlbG93LiIpO2NvbnN0IGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO0VlKGMse21hcmdpbjoiMCA0cHgiLCJmb250LXNpemUiOiIxNHB4IiwibGluZS1oZWlnaHQiOiIxOXB4In0pO2xldCBsPSJSZWZyZXNoIHRoZSBhcHBsaWNhdGlvbiI7Y29uc3QgSD1EZSgpOzI9PUg/bD0iUmVsb2FkIHRoZSBhcHBsaWNhdGlvbiI6Mz09SD9sPSJSZWxhdW5jaCB0aGUgYXBwbGljYXRpb24iOkg+PTQmJihsPSJSZXBhaXIgdGhlIGFwcGxpY2F0aW9uIiksYy5pbm5lclRleHQ9bDtjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO0VlKGQse2NvbG9yOiJ3aGl0ZSIsImJhY2tncm91bmQtY29sb3IiOlhlLGN1cnNvcjoicG9pbnRlciIscGFkZGluZzoiMCAxNnB4IiwibWluLXdpZHRoIjoiODBweCIsImJvcmRlci1yYWRpdXMiOiIycHgiLCJtaW4taGVpZ2h0IjoiMzJweCIsYm9yZGVyOiIxcHggc29saWQgIzAwNzhENCIsImZvbnQtd2VpZ2h0IjoiNjAwIiwiZm9udC1mYW1pbHkiOnplLCJsaW5lLWhlaWdodCI6IjE5cHgifSksZC5hcHBlbmRDaGlsZChjKSxhLmFwcGVuZENoaWxkKGQpO2NvbnN0IFM9UWUoYSx7Zm9udFNpemU6IjE0cHgiLGNvbG9yOlhlLGN1cnNvcjoicG9pbnRlciIsImZvbnQtZmFtaWx5Ijp6ZSwibGluZS1oZWlnaHQiOiIxOXB4IiwiZm9udC13ZWlnaHQiOiI2MDAiLG1hcmdpbjoiMjBweCAwIn0sWWUpO2xldCBmPWtlKCk7Zi5wdXNoKCJCb290UmVzdWx0OiAiK2UpLHQucmVxdWVzdCYmZi5wdXNoKCJGYWlsZWQgcmVzb3VyY2U6ICIrdC5yZXF1ZXN0KSxmLnB1c2goeGUoKSksZj1mLmNvbmNhdChPYmplY3Qua2V5cyhuKS5maWx0ZXIoKGU9Pm5bZV0pKS5tYXAoKGU9PmUrIjogIituW2VdKSkpO2NvbnN0IHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicHJlIik7cC5pbm5lclRleHQ9Zi5qb2luKCJcbiIpLEVlKHAse2NvbG9yOnFlLCJ1c2VyLXNlbGVjdCI6ImFsbCJ9KSxhLmFwcGVuZENoaWxkKHApLFMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+e2NvbnN0IGU9Uy5pbm5lclRleHQ9PVllO1MuaW5uZXJUZXh0PWU/Ik1vcmUgRGV0YWlscyI6WWUscC5zdHlsZS5kaXNwbGF5PWU/Im5vbmUiOiIifSkpLGQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+eyhudWxsPT1pP3ZvaWQgMDppKCkpfHxzZWxmLmxvY2F0aW9uLnJlbG9hZCgpfSkpLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKS5hcHBlbmRDaGlsZChhKX1mdW5jdGlvbiBRZShlLG4sdCl7Y29uc3Qgcj1iZShuKTtyZXR1cm4gdCYmKHIuaW5uZXJUZXh0PXQpLGUuYXBwZW5kQ2hpbGQocikscn1mdW5jdGlvbiBfZShuLHQscixvKXt2YXIgaSxhO2xldCBzPSExOyJsYW5ndHoiPT1uP3M9ZnVuY3Rpb24oZSl7bGV0IG49KDAsQS5aKSgiL293YSIpKyIvIjtyZXR1cm4iQ2FsZW5kYXIiPT1lfHwiTWluaUNhbGVuZGFyIj09ZT9uKz0iP3BhdGg9L2NhbGVuZGFyIjoiUGVvcGxlIiE9ZSYmIk1pbmlQZW9wbGUiIT1lfHwobis9Ij9wYXRoPS9wZW9wbGUiKSx5ZShuKX0oKDAsZS5NcSkoKSk6ImVycm9yZmUiPT1uJiYobnVsbD09KGk9dC5yZXNwb25zZSk/dm9pZCAwOmkudXJsKT9zPXllKHQucmVzcG9uc2UudXJsKToiYXV0aCI9PW4mJihzPWdlKGxvY2F0aW9uLEtlLCJ0cnVlIix2b2lkIDAsITAsbnVsbD09KGE9bnVsbD09dD92b2lkIDA6dC5yZXNwb25zZSk/dm9pZCAwOmEuaGVhZGVycykpLHN8fChudWxsPT1vfHxvKCksR2UobixyLHQpKX1jb25zdCAkZT17fTtmdW5jdGlvbiBlbihuLHQpe3ZhciByO2NvbnN0IG89KDAscC5uTSkod2luZG93LmxvY2F0aW9uKTtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cygkZSkpb1tlXT0kZVtlXTtudWxsPT0ocj10LmVkaXRRc3ApfHxyLmNhbGwodCxvKTtjb25zdCBpPW8uYk8hPT1uLnN0cmF0ZWd5O3ZhciBhLHM7cmV0dXJuIGkmJihvLmJPPW4uc3RyYXRlZ3ksby5zZXNzaW9uSWQ9KDAsZS5NUSkoKSxhPWA/JHsoMCxwLlB6KShvKX1gLChzPW4udGltZW91dHx8MCk+MD9zZXRUaW1lb3V0KCgoKT0+e3dpbmRvdy5sb2NhdGlvbi5zZWFyY2g9YX0pLHMpOndpbmRvdy5sb2NhdGlvbi5zZWFyY2g9YSksaX1mdW5jdGlvbiBubigpe3RyeXtpZigiY2FjaGVzImluIHNlbGYmJiJmdW5jdGlvbiI9PXR5cGVvZiBzZWxmLmNhY2hlcy5rZXlzKXtjb25zdCBlPXNlbGYuY2FjaGVzLmtleXMoKTtpZihlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXJldHVybiBlLmNhdGNoKCgoKT0+W10pKX19Y2F0Y2goZSl7fXJldHVybiBudWxsfWFzeW5jIGZ1bmN0aW9uIHRuKGUsbixyKXtpZigoMCxwLkpJKSgiYk8iKSlyZXR1cm47Y29uc3Qgbz1hd2FpdCBuLGk9YXdhaXQgZTtpZigibnVtYmVyIj09dHlwZW9mIG8mJihudWxsPT1pP3ZvaWQgMDppLmN1cnJlbnRFcG9jaEluTXMpJiZpLmN1cnJlbnRFcG9jaEluTXM+byl0aHJvdyBsKCJjZWltIixpLmN1cnJlbnRFcG9jaEluTXMpLGwoImV4cGlyYXRpb25EYXRlIixvKSxyJiZhc3luYyBmdW5jdGlvbihlKXtjb25zdCBuPW5uKCk7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgdD1hd2FpdCBuO2woImRlbENhY2hlcyIsdC5qb2luKCJ8IikpLFByb21pc2UuYWxsKHQuZmlsdGVyKChuPT4wPT1uLmluZGV4T2YoZSkpKS5tYXAoKGU9PnNlbGYuY2FjaGVzLmRlbGV0ZShlKSkpKS5jYXRjaCgoKCk9Pnt9KSl9KHIpLCgwLHQuWikobmV3IEVycm9yKCJFeHBpcmVkQnVpbGQiKSwiRXhwaXJlZEJ1aWxkIil9dmFyIHJuPWEoOTIzMDI0KTtjb25zdCBvbj0iZm1lIixhbj0oMCxJLnQ4KSgoYXN5bmMgZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIGwob24sIm5wIiksbnVsbDtjb25zdCB0PW5uKCk7aWYoIXQpcmV0dXJuIGwob24sIm5rIiksbnVsbDtjb25zdCByPShhd2FpdCB0KS5maWx0ZXIoKGU9PmUuaW5kZXhPZihuKT4tMSkpO2lmKHIubGVuZ3RoPDEpcmV0dXJuIGwob24sIm5jIiksbnVsbDtjb25zdCBvPSgwLGUuVkopKCk7Zm9yKGNvbnN0IGUgb2Ygcil7Y29uc3Qgbj1lLnNwbGl0KCJfIik7aWYoMz09bi5sZW5ndGgmJm89PW5bMV0pe2NvbnN0IGU9cGFyc2VJbnQoblsyXSk7aWYoIWlzTmFOKGUpKXJldHVybiBsKG9uLCJjbiIpLGUrMjU5MmU2fX1yZXR1cm4gbChvbiwibiIpLG51bGx9KSxvbik7dmFyIHNuPWEoNDgzMjI5KTtsZXQgdW47ZnVuY3Rpb24gY24obil7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByLG87dHJ5e3VuPURhdGUubm93KCksKDAsZS5NcSkoKXx8KDAscy5kYikobi5hcHApLCgwLHJuLkspKCEhbi5pc0RlZXBMaW5rKSxmdW5jdGlvbihlKXtpZihEPWUsRCl0cnl7TT1uZXcgeC5aO2NvbnN0IG49bmV3IFAuWix0PXt9LHI9e2luc3RydW1lbnRhdGlvbktleTplLGVuZHBvaW50VXJsOlcoKSxleHRlbnNpb25zOltuXSxleHRlbnNpb25Db25maWc6e1tuLmlkZW50aWZpZXJdOnR9fTtNLmluaXRpYWxpemUocixbXSl9Y2F0Y2goZSl7fX0obi5zdGFydHVwQXJpYVRva2VuKTtjb25zdCBpPW51bGw9PShyPW4ucnVuQmVmb3JlU3RhcnQpP3ZvaWQgMDpyLmNhbGwobixuKS5jYXRjaCgoZT0+e3Rocm93IGUuc291cmNlfHwoZS5zb3VyY2U9IkJlZm9yZUJvb3QiKSxlfSkpOygwLG9lLnFfKSh7YmFzZVVybDooMCxBLlopKCgwLGUuZHEpKCkpfSk7Y29uc3QgYT1uLm92ZXJyaWRlQm9vdFByb21pc2VzfHwoKCk9PkllKCkpLHU9aT9pLnRoZW4oYSk6YSgpLGM9KDAsSS50OCkoKCgpPT5uLmJvb3RzdHJhcC5pbXBvcnQoKSksIm1qcyIpKCksbD1uLmNhY2hlc1RvQ2xlYW4sSD1be3Byb21pc2U6dSxrZXk6InNkIn1dOyhudWxsPT0obz1uLmRpc2FibGVGZWF0dXJlKT92b2lkIDA6by51c2VTZXJ2aWNlV29ya2Vycyl8fEgucHVzaCh7cHJvbWlzZTp0bih1LGFuKGwpLGwpLGtleToidmMifSksSC5wdXNoKHtwcm9taXNlOmMsa2V5OiJqcyJ9KTtsZXQgZD1Qcm9taXNlLnJlc29sdmUoKTtjb25zdCBTPSgwLGUuVzMpKCksZj1uLnN0cmF0ZWdpZXMscD1uLm9wdGlvbnM7cCYmKEgucHVzaCh7cHJvbWlzZTooMCxJLnQ4KSgoKCk9PnAuaW1wb3J0KCkpLCJvanMiKSgpLGtleToib2pzIn0pLGQ9UHJvbWlzZS5hbGwoW3AuaW1wb3J0KCksU3x8UHJvbWlzZS5yZXNvbHZlKCldKS50aGVuKCgoW2VdKT0+ZSh1LGYpKSkpO2NvbnN0IEM9W2MsZF07aWYoUyYmQy5wdXNoKFMpLEgucHVzaCh7cHJvbWlzZTpQcm9taXNlLmFsbChDKS50aGVuKCgoW2Usbl0pPT57dHJ5e3JldHVybiBlLmFwcGx5KG51bGwsbj9bbl06W3UsZl0pfWNhdGNoKGUpe3Rocm93KDAsdC5aKShlLCJCb290c3RyYXAiKX19KSkuY2F0Y2goKGU9Pnt0aHJvdygwLHQuWikoZSwiU2NyaXB0Iil9KSksa2V5Om51bGx9KSxuLnJ1bkFmdGVyUmVxdWVzdHMmJm4ucnVuQWZ0ZXJSZXF1ZXN0cyh1KSxuLnN0cmF0ZWdpZXMpZm9yKGNvbnN0IGUgb2YgT2JqZWN0LnZhbHVlcyhuLnN0cmF0ZWdpZXMpKWUmJmUuaW1wb3J0KCk7cmV0dXJuKDAsSS5RcSkoInN0YXJ0IixIKX1jYXRjaChlKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoKDAsdC5aKShlLCJQcmVib290IikpfX0obikudGhlbigoKCk9Pnt2YXIgZTt0cnl7IWZ1bmN0aW9uKGUsbil7dmFyIHQ7QihiKCJvayIsdm9pZCAwLChudWxsPT0odD13aW5kb3cucGVyZm9ybWFuY2UpP3ZvaWQgMDp0Lm5vdykmJntzdGFydDpuLHBsdDplLndhc1VzZXJQcm9tcHRlZD8tMTpNYXRoLmZsb29yKHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSl9KSl9KG4sdW4pO2NvbnN0IHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvYWRpbmdTY3JlZW4iKTt0JiZ0LnBhcmVudE5vZGU9PWRvY3VtZW50LmJvZHkmJigoMCxJLlJuKSgibHNfZSIpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCkpLG51bGw9PShlPW4ub25Mb2FkZXJSZW1vdmVkKXx8ZS5jYWxsKG4pLCgwLHNuLl9iKSgpLE1lKDApfWNhdGNoKGUpe3Rocm93KDAsdC5aKShlLCJCb290Q29tcGxldGUiKX19KSkuY2F0Y2goKGU9PnshZnVuY3Rpb24oZSxuKXt2YXIgdDtjb25zdCByPVYoZSk7bGV0IG89bmUoZSxyKTtjb25zdCBpPShudWxsPT0odD1uLm92ZXJyaWRlUmV0cnlTdHJhdGVneSk/dm9pZCAwOnQuY2FsbChuLG8pKXx8c2UobyxyLmVzcmMsITApO2kmJihvPSJyZXRyeSIpLEIoYihvLHIsdm9pZCAwLGUpLGk/dm9pZCAwOjFlNCkudGhlbigoKCk9PntpJiZlbihpLG4pfHwobi5oYW5kbGVCb290RXJyb3J8fF9lKShvLGUscixuLm9uRmF0YWxCb290RXJyb3IpfSkpfShlLG4pfSkpfXZhciBsbj1hKDE4NTIwMCksSG49YSgxMDI5MTYpLGRuPWEoMzQ0Mjg1KSxTbj1hKDMyNTc5NCk7Y29uc3QgZm49InN0YXJ0Ijt2YXIgcG49YSgzMjE5MjEpLENuPWEoMjA4ODI5KTtjb25zdCBBbj1uZXcgc24uSGQoKCgpPT5Qcm9taXNlLmFsbChbYS5lKDI1NjcxKSxhLmUoMzkxOCksYS5lKDUyNjM3KSxhLmUoMzI1NTcpLGEuZSg3NTQ4MiksYS5lKDExMTAyKSxhLmUoNjkzOTApLGEuZSgyNzk0MCksYS5lKDU5ODkpLGEuZSg1Njg0MSksYS5lKDkwODg1KSxhLmUoOTQwNDQpLGEuZSg2OTgwOSksYS5lKDkwOTQxKSxhLmUoODE5OTIpLGEuZSgzNzMxNiksYS5lKDg5OTM0KSxhLmUoNzE4ODMpLGEuZSg0NTI2OCksYS5lKDE0Mjg0KV0pLnRoZW4oYS5iaW5kKGEsNjc3Mzc1KSkpKSxJbj1uZXcgc24uXzUoQW4sKGU9PmUuYXBwQm9vdHN0cmFwKSk7dmFyIGhuPWEoNDU3MzgwKTtuZXcgc24ubkkoKCgpPT5Qcm9taXNlLmFsbChbYS5lKDI1NjcxKSxhLmUoNTI2MzcpLGEuZSg4OTkzNCksYS5lKDI2MjgxKSxhLmUoNTc5NzApLGEuZSgxNDMyMCldKS50aGVuKGEuYmluZChhLDM1Njc4MikpKSkuaW1wb3J0TW9kdWxlKCJDaGFuZ2VNb2R1bGUiKTt2YXIgUm49YSgxOTE3ODMpO2NvbnN0IHZuPW5ldyBzbi5IZCgoKCk9PlByb21pc2UuYWxsKFthLmUoMjU2NzEpLGEuZSgzOTE4KSxhLmUoNDk1MjApLGEuZSg5NzM1OSksYS5lKDU0OTY0KSxhLmUoMTM2NjkpLGEuZSgxMzE5OCksYS5lKDI2MjgxKSxhLmUoMzY3OCksYS5lKDQ1NTM2KSxhLmUoNjEwMDIpLGEuZSgxNjM5MiksYS5lKDk5MzYyKV0pLnRoZW4oYS5iaW5kKGEsMzk5MDUyKSkpKSxVbj1uZXcgc24uXzUodm4sKGU9PmUuZ2V0T2ZmbGluZVNlc3Npb25EYXRhKSksbW49bj0+bj09cG4uWS5QZW9wbGUmJigwLGUuQ1EpKCk/e292ZXJyaWRlQm9vdFByb21pc2VzOigpPT5JZSgpLGxvYWRCcG9zOiExLGRpc2FibGVGZWF0dXJlOntsb2FkV2ViUmVzb2x2ZXJzOiEwLHVzZVNlcnZpY2VXb3JrZXJzOiEwLG9mZmxpbmVTZXNzaW9uRGF0YTohMH19Ont9O2Z1bmN0aW9uIE5uKCl7cmV0dXJuKDAsd2UuYTQpKCJvZmZsaW5lV2ViIil8fEtuKCl9ZnVuY3Rpb24gS24oKXtyZXR1cm4oMCx3ZS5hNCkoImRldi1ib290T2ZmbGluZSIpfWZ1bmN0aW9uIGduKCl7cmV0dXJuIXNlbGYubmF2aWdhdG9yLm9uTGluZX1mdW5jdGlvbiB5bihlLG4sdCxyPTUwMCl7cmV0dXJuIE5uKCk/Z24oKXx8S24oKT8oKDAsZmUuQ1opKCJSYWNlT2ZmbGluZSIse2w6ZX0pLHQoKSk6ZnVuY3Rpb24oZSxuKXtjb25zdCB0PURhdGUubm93KCk7cmV0dXJuIG5ldyBQcm9taXNlKCgocixvKT0+e2NvbnN0IGk9W10sYT1yPT57aS5wdXNoKHIpLGkubGVuZ3RoPT09ZS5sZW5ndGgmJigoMCxmZS5DWikoIlJhY2VFcnJvciIse2w6bix0OkRhdGUubm93KCktdCxlOmlbMF19KSxvKGlbMF0pKX07bGV0IHM9ITE7Y29uc3QgdT1lPT5vPT57cz8oMCxmZS5DWikoIlJhY2VQYXJ0aWNpcGFudCIse2w6bix0OkRhdGUubm93KCktdCxwOmV9KToocz0hMCwoMCxmZS5DWikoIlJhY2VGaW5pc2giLHtsOm4sdDpEYXRlLm5vdygpLXQscDplfSkscihvKSl9O2xldCBjPTE7Zm9yKGNvbnN0IG4gb2YgZSluLnRoZW4odShjKyspLGEpfSkpfShbbix3bih0KCkscildLGUpOm59ZnVuY3Rpb24gd24oZSxuPTUwMCl7cmV0dXJuIG48PTA/ZTpQcm9taXNlLmFsbChbZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLG4pKSldKS50aGVuKCgoW2VdKT0+ZSkpfWZ1bmN0aW9uIGJuKGUpeygwLG9lLnFfKSh7ZGlzYWJsZUFsbFJlcXVlc3RzOmV9KX1jb25zdCBFbj17UGVvcGxlOiI5MGMzMWU5ZjcwMmM0NTY0YjEyMDE2NzI0N2QzY2Q5Zi1kODk0YTRlNS03MmY0LTQyMjEtYWIwMC05NGUxMzU5ZGZiNjAtNzEzNyIsRmlsZXNIdWI6IjU2NDY4ZjY5OTFjMzQ4MDI5YzZiYmE0MDNiNDQ0NjA3LTdmNWQ2Y2QxLTdmYmUtNGFiMS1iZTAzLTNiMmI2YWViM2ViNC03Njk2In07IWFzeW5jIGZ1bmN0aW9uKG4sdCxyLG8saSl7dmFyIGE7Y29uc3Qgcz0oMCxSbi5BKSgpLHU9aG4uX1tzXTshZnVuY3Rpb24oKXt2YXIgZTtpZihLbigpKXJldHVybiBibighMCk7aWYoTm4oKSl7Ym4oZ24oKSk7Y29uc3Qgbj1udWxsPT0oZT1zZWxmLm5hdmlnYXRvcik/dm9pZCAwOmUuY29ubmVjdGlvbjtuP24uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoKCk9PntibihnbigpKX0pKToidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLCgoKT0+Ym4oITEpKSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLCgoKT0+Ym4oITApKSkpfX0oKTtjb25zdCBjPXthcHA6cyxzdGFydHVwQXJpYVRva2VuOkVuW3NdfHwiM2IxZWEwMTQ1MGJlNDhmMjk3NTlkODY4OTMxZTIyNWQtNzE2NzY4NWItZjZmZi00MjFjLWFhNjQtOGFlMTZmZTkyMTI4LTcyODMiLHJ1bkJlZm9yZVN0YXJ0Om4sb3ZlcnJpZGVCb290UHJvbWlzZXM6KCk9PnluKCJTZXNzaW9uRGF0YSIsSWUoKSwoKCk9PlVuLmltcG9ydEFuZEV4ZWN1dGUocykpKSxydW5BZnRlclJlcXVlc3RzOigpPT5mdW5jdGlvbihuKXt0cnl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT57ZG9jdW1lbnQuYm9keS5zdHlsZS5taW5XaWR0aD0iNDE4cHgifSkpLCgwLGUud2kpKCl9Y2F0Y2goZSl7fX0oKSxsb2FkQnBvczohMCxzdHJhdGVnaWVzOm8/ey4uLnUuc3RyYXRlZ2llcywuLi5vfTp1LnN0cmF0ZWdpZXMsYm9vdHN0cmFwOkluLG9wdGlvbnM6dS5vcHRpb25zLGlzRGVlcExpbms6cz09cG4uWS5NYWlsRGVlcExpbmt8fHM9PXBuLlkuQ2FsZW5kYXJEZWVwTGluayxvbkxvYWRlclJlbW92ZWQ6dCxoYW5kbGVCb290RXJyb3I6cixjYWNoZXNUb0NsZWFuOm51bGw9PShhPSgwLENuLkgpKHMpKT92b2lkIDA6YS5hcHAsZWRpdFFzcDppfTthd2FpdCBmdW5jdGlvbihuKXtpZigoMCxlLkNRKSgpKXtjb25zdCB0PW4ucnVuQmVmb3JlU3RhcnQ7bi5ydW5CZWZvcmVTdGFydD1uPT5kbi5LRS5pbXBvcnRBbmRFeGVjdXRlKCkudGhlbigoKCk9PmRuLnI2LmltcG9ydCgpLnRoZW4oKGU9PigoMCxvZS5xXykoe2dldEF1dGhUb2tlbjplfSksZG4uemUuaW1wb3J0QW5kRXhlY3V0ZSgpLGRuLm9RLmltcG9ydEFuZEV4ZWN1dGUoKSkpKS50aGVuKChyPT57dmFyIG8saSxhLHMsdSxjLGw7cmV0dXJuKDAsZS5CKShudWxsPT0oaT1udWxsPT0obz1udWxsPT1yP3ZvaWQgMDpyLmFwcCk/dm9pZCAwOm8uaG9zdCk/dm9pZCAwOmkubmFtZSxudWxsPT0ocz1udWxsPT0oYT1udWxsPT1yP3ZvaWQgMDpyLmFwcCk/dm9pZCAwOmEuaG9zdCk/dm9pZCAwOnMuY2xpZW50VHlwZSksKDAsb2UucV8pKHttZXRhT1NDb250ZXh0Ontsb2NhbGU6KG51bGw9PSh1PW51bGw9PXI/dm9pZCAwOnIuYXBwKT92b2lkIDA6dS5sb2NhbGUpfHwiZW4tdXMiLGhvc3ROYW1lOm51bGw9PShsPW51bGw9PShjPW51bGw9PXI/dm9pZCAwOnIuYXBwKT92b2lkIDA6Yy5ob3N0KT92b2lkIDA6bC5uYW1lfX0pLG51bGw9PXQ/dm9pZCAwOnQobil9KSkpKX1yZXR1cm4gY24oey4uLm4scnVuQWZ0ZXJSZXF1ZXN0czplPT57dmFyIHQscjsobnVsbD09KHQ9bi5kaXNhYmxlRmVhdHVyZSk/dm9pZCAwOnQubG9hZFdlYlJlc29sdmVycyl8fFNuLkkuaW1wb3J0KCk7Y29uc3Qgbz0oMCxIZS5yVikod2luZG93LE9lLlUuSnIpO28mJigwLE9lLmkpKG8sImxzIik7Y29uc3QgaT0oMCxIZS5yVikod2luZG93LGxuLndwKTtpJiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmxhbmc9aSksKDAsbG4ueiQpKCJscyIpLG4ubG9hZEJwb3MmJigoMCxyZS5zXykoKT8oMCxIbi5OKShmbixuLmFwcCwhMCk6ZS50aGVuKCgoKT0+KDAsSG4uTikoZm4sbi5hcHApKSkpLGUudGhlbigoKCk9PnsoMCxsbi56JCkoInNkIil9KSkuY2F0Y2goKCgpPT57fSkpLG51bGw9PShyPW4ucnVuQWZ0ZXJSZXF1ZXN0cyl8fHIuY2FsbChuLGUpfX0pfSh7Li4uYywuLi5tbihzKX0pfSgpfSkoKSwoc2VsZi5Pd2E9c2VsZi5Pd2F8fHt9KS5tYWlsaW5kZXg9U30pKCksc2VsZi5zY3JpcHRzTG9hZGVkPXNlbGYuc2NyaXB0c0xvYWRlZHx8e30sc2VsZi5zY3JpcHRzTG9hZGVkWyJvd2EubWFpbGluZGV4LmpzIl09MTs8L3NjcmlwdD48L2hlYWQ+IDxib2R5IGNsYXNzPSJtcy1mb250LXMgZGlzYWJsZVRleHRTZWxlY3Rpb24gbXMtRmFicmljLS1pc0ZvY3VzSGlkZGVuIj4gPGRpdiBpZD1wcmVsb2FkRGl2PiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J1NlZ29lIFVJIFdlc3RFdXJvcGVhbic7Zm9udC13ZWlnaHQ6MTAwIj50PC9zcGFuPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J1NlZ29lIFVJIFdlc3RFdXJvcGVhbic7Zm9udC13ZWlnaHQ6MjAwIj50PC9zcGFuPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J1NlZ29lIFVJIFdlc3RFdXJvcGVhbic7Zm9udC13ZWlnaHQ6NDAwIj50PC9zcGFuPiA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J1NlZ29lIFVJIFdlc3RFdXJvcGVhbic7Zm9udC13ZWlnaHQ6NjAwIj50PC9zcGFuPiA8L2Rpdj4gPGRpdiBpZD1hcHA+PC9kaXY+IDxkaXYgaWQ9bG9hZGluZ1NjcmVlbj4gPGRpdiBpZD1sb2FkaW5nTG9nbz4gPHN0eWxlPjpyb290ey0tczoxODBweDstLWVudlc6MTMwcHg7LS1lbnZIOjcxcHg7LS1jYWxXOjExOHB4Oy0tc3FXOmNhbGModmFyKC0tY2FsVykgLyAzKTstLXNxSDozN3B4Oy0tY2FsSEg6MjBweDstLWNhbEg6Y2FsYyh2YXIoLS1zcUgpICogMyArIHZhcigtLWNhbEhIKSk7LS1jYWxZOmNhbGModmFyKC0tY2FsSCkgKyAyMHB4KTstLWNhbFlFeHQ6Y2FsYyh2YXIoLS1jYWxIKSAtIDgwcHgpOy0tY2FsWU92ZXJFeHQ6Y2FsYyh2YXIoLS1jYWxIKSAtIDkycHgpOy0tZmxhcFM6OTZweDstLWZsYXBIOmNhbGMoMC41NSAqIHZhcigtLWVudkgpKTstLWZsYXBTY2FsZVk6Y2FsYyh2YXIoLS1mbGFwSCkgLyB2YXIoLS1mbGFwV2lkdGgpKTstLWR1cjo1c30jY29udGFpbmVye3dpZHRoOnZhcigtLXMpO2hlaWdodDp2YXIoLS1zKTthbmltYXRpb246Ym91bmNlIHZhcigtLWR1cikgaW5maW5pdGV9QGtleWZyYW1lcyBib3VuY2V7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTIuNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjIuNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoN3B4KX0zMi41JXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NzYuMSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9ODYle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDdweCl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19I2xvZ297aGVpZ2h0OjE3OXB4O3dpZHRoOjEzMHB4O292ZXJmbG93OmhpZGRlbjttYXJnaW4tdG9wOi01OXB4O21hcmdpbi1sZWZ0OjI1cHh9I2NvbnRhaW5lclNoYWRvd3twb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MTIwcHg7bGVmdDoyNXB4O3dpZHRoOnZhcigtLWVudlcpO2hlaWdodDp2YXIoLS1lbnZIKTtib3JkZXItcmFkaXVzOjAgMCA3cHggN3B4O2JveC1zaGFkb3c6cmdiYSgwLDAsMCwuMjUpIDAgNHB4IDVweDthbmltYXRpb246c2hhZG93LWZhZGUgdmFyKC0tZHVyKSBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNoYWRvdy1mYWRlezAle29wYWNpdHk6MH0yMS4yJXtvcGFjaXR5OjB9NDcle29wYWNpdHk6MX03MCV7b3BhY2l0eToxfTgwJXtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjB9fSNmbGFwQ29udGFpbmVye3dpZHRoOnZhcigtLWVudlcpO21hcmdpbi10b3A6MTc5cHh9I2Vme3dpZHRoOnZhcigtLWVudlcpO2hlaWdodDp2YXIoLS1lbnZIKTtib3JkZXItcmFkaXVzOjAgMCA3cHggN3B4O292ZXJmbG93OmhpZGRlbjttYXJnaW4tdG9wOi00MXB4fSNlZj4ubHt3aWR0aDoyODdweDtoZWlnaHQ6dmFyKC0tZW52SCk7YmFja2dyb3VuZDojMjhhOGVhO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE1M3B4LC03MHB4KSByb3RhdGUoMjhkZWcpfSNlZj4ucnt3aWR0aDoyODdweDtoZWlnaHQ6dmFyKC0tZW52SCk7YmFja2dyb3VuZDojMTQ5MGRmO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEyMHB4LDYzcHgpIHJvdGF0ZSgtMjhkZWcpfSNlYnt3aWR0aDp2YXIoLS1lbnZXKTtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kOiMxMjNiNmQ7bWFyZ2luLXRvcDotNzBweH0jY2Fse2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXA7d2lkdGg6dmFyKC0tY2FsVyk7aGVpZ2h0OnZhcigtLWNhbEgpO2JvcmRlci1yYWRpdXM6N3B4O292ZXJmbG93OmhpZGRlbjttYXJnaW46MCBhdXRvO21hcmdpbi10b3A6LTMwNnB4O2FuaW1hdGlvbjpjYWwtYm91bmNlIHZhcigtLWR1cikgaW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLjUsMCwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSh2YXIoLS1jYWxZRXh0KSkgc2NhbGVZKDEpfUBrZXlmcmFtZXMgY2FsLWJvdW5jZXswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSh2YXIoLS1jYWxZKSkgc2NhbGVZKDEpfTE2LjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFkpKSBzY2FsZVkoMSl9Mjgle3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFlPdmVyRXh0KSkgc2NhbGVZKDEpfTMxJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSh2YXIoLS1jYWxZRXh0KSkgc2NhbGVZKDEuMDUpfTMzJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSh2YXIoLS1jYWxZRXh0KSkgc2NhbGVZKC45Nil9MzQle3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFlFeHQpKSBzY2FsZVkoMSl9NjguNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkodmFyKC0tY2FsWUV4dCkpIHNjYWxlWSgxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjY2LC0wLjE2LDEsLTAuMjkpfTc2LjEle3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFkpKSBzY2FsZVkoMSl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSh2YXIoLS1jYWxZKSkgc2NhbGVZKDEpfX0jY2FsPi50e3dpZHRoOnZhcigtLWNhbFcpO2hlaWdodDpjYWxjKHZhcigtLWNhbEhIKSArIDFweCk7bWFyZ2luLWJvdHRvbTotMXB4O2JhY2tncm91bmQ6IzAzNThhN30jY2FsPi5ye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6dmFyKC0tY2FsVyk7aGVpZ2h0OnZhcigtLXNxSCl9LnN7d2lkdGg6dmFyKC0tc3FXKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcUgpICsgMXB4KX0uczF7YmFja2dyb3VuZDojMDA3OGQ0fS5zMntiYWNrZ3JvdW5kOiMyOGE4ZWF9LnMze2JhY2tncm91bmQ6IzUwZDlmZn0uczR7YmFja2dyb3VuZDojMDM2NGI4fS5zNXtiYWNrZ3JvdW5kOiMxNDQ0N2R9I29wZW5lZEZsYXB7d2lkdGg6dmFyKC0tZW52Vyk7aGVpZ2h0OjEwN3B4O2FuaW1hdGlvbjpvcGVuZWQtZmxhcC1zd2luZyB2YXIoLS1kdXIpIGluZmluaXRlO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMzIsMCwwLjY3LDApO3RyYW5zZm9ybS1vcmlnaW46dG9wO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02OHB4KSByb3RhdGUzZCgxLDAsMCwtMTgwZGVnKX1Aa2V5ZnJhbWVzIG9wZW5lZC1mbGFwLXN3aW5nezAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02OHB4KSByb3RhdGUzZCgxLDAsMCwtOTBkZWcpfTE0LjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02OHB4KSByb3RhdGUzZCgxLDAsMCwtOTBkZWcpfTE2LjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02OHB4KSByb3RhdGUzZCgxLDAsMCwtMTgwZGVnKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTY4cHgpIHJvdGF0ZTNkKDEsMCwwLC0xODBkZWcpfTc0JXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjhweCkgcm90YXRlM2QoMSwwLDAsLTE4MGRlZyl9NzYle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02OHB4KSByb3RhdGUzZCgxLDAsMCwtOTBkZWcpfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTY4cHgpIHJvdGF0ZTNkKDEsMCwwLC05MGRlZyl9fSNjbG9zZWRGbGFwe3dpZHRoOnZhcigtLWVudlcpO2FuaW1hdGlvbjpjbG9zZWQtZmxhcC1zd2luZyB2YXIoLS1kdXIpIGluZmluaXRlO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMzIsMCwwLjY3LDApO3RyYW5zZm9ybS1vcmlnaW46dG9wO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS1lbnZIKSkpIHJvdGF0ZTNkKDEsMCwwLDkwZGVnKX1Aa2V5ZnJhbWVzIGNsb3NlZC1mbGFwLXN3aW5nezAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS1lbnZIKSkpIHJvdGF0ZTNkKDEsMCwwLDApfTguNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLWVudkgpKSkgcm90YXRlM2QoMSwwLDAsMCl9MTQuNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLWVudkgpKSkgcm90YXRlM2QoMSwwLDAsOTBkZWcpfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tZW52SCkpKSByb3RhdGUzZCgxLDAsMCw5MGRlZyl9NzYle3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS1lbnZIKSkpIHJvdGF0ZTNkKDEsMCwwLDkwZGVnKX03NyV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLWVudkgpKSkgcm90YXRlM2QoMSwwLDAsMCl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tZW52SCkpKSByb3RhdGUzZCgxLDAsMCwwKX19I2ZtYXNre3dpZHRoOnZhcigtLWVudlcpO2hlaWdodDoxMDdweDtvdmVyZmxvdzpoaWRkZW59LmZsYXBUcmlhbmdsZXt3aWR0aDp2YXIoLS1mbGFwUyk7aGVpZ2h0OnZhcigtLWZsYXBTKTtiYWNrZ3JvdW5kOiM1MGQ5ZmY7bWFyZ2luOi00OHB4IGF1dG8gMCBhdXRvO2JvcmRlci1yYWRpdXM6N3B4O3RyYW5zZm9ybTpzY2FsZVkoLjYpIHJvdGF0ZSg0NWRlZyl9I29wZW5lZEZsYXAgLmZsYXBUcmlhbmdsZXtiYWNrZ3JvdW5kOiMxMjNiNmR9I2Nsb3NlZEZsYXAgLmZsYXBUcmlhbmdsZXtiYWNrZ3JvdW5kOiM1MGQ5ZmZ9PC9zdHlsZT4gPGRpdiBpZD1jb250YWluZXI+IDxkaXYgaWQ9Y29udGFpbmVyU2hhZG93PjwvZGl2PiA8ZGl2IGlkPWxvZ28+IDxkaXYgaWQ9ZmxhcENvbnRhaW5lcj4gPGRpdiBpZD1vcGVuZWRGbGFwPiA8ZGl2IGlkPWZtYXNrPjxkaXYgY2xhc3M9ZmxhcFRyaWFuZ2xlPjwvZGl2PjwvZGl2PiA8L2Rpdj4gPGRpdiBpZD1jYWw+IDxkaXYgY2xhc3M9dD48L2Rpdj4gPGRpdiBjbGFzcz1yPiA8ZGl2IGNsYXNzPSJzIHMxIj48L2Rpdj4gPGRpdiBjbGFzcz0icyBzMiI+PC9kaXY+IDxkaXYgY2xhc3M9InMgczMiPjwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1yPiA8ZGl2IGNsYXNzPSJzIHM0Ij48L2Rpdj4gPGRpdiBjbGFzcz0icyBzMSI+PC9kaXY+IDxkaXYgY2xhc3M9InMgczIiPjwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1yPiA8ZGl2IGNsYXNzPSJzIHM1Ij48L2Rpdj4gPGRpdiBjbGFzcz0icyBzNCI+PC9kaXY+IDxkaXYgY2xhc3M9InMgczEiPjwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGlkPWViPjwvZGl2PiA8ZGl2IGlkPWVmPiA8ZGl2IGNsYXNzPXI+PC9kaXY+IDxkaXYgY2xhc3M9bD48L2Rpdj4gPC9kaXY+IDxkaXYgaWQ9Y2xvc2VkRmxhcD4gPGRpdiBpZD1mbWFzaz48ZGl2IGNsYXNzPWZsYXBUcmlhbmdsZT48L2Rpdj48L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxzdmcgaWQ9TVNMb2dvIHdpZHRoPTk5IGhlaWdodD0yMiB4bWxucz1odHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zz4gPGcgZmlsbD1ub25lIGZpbGwtcnVsZT1ldmVub2RkPiA8cGF0aCBkPSJtMzQuNjQgMTIuMDctLjU4IDEuNjVoLS4wNGMtLjEtLjM5LS4yOC0uOTMtLjU2LTEuNjNsLTMuMTQtNy45aC0zLjA4djEyLjU2aDIuMDNWOS4wM2wtLjAzLTEuN2MtLjAxLS4zNC0uMDUtLjYtLjA2LS44MWguMDVjLjEuNDcuMi44My4yOCAxLjA3bDMuNzggOS4xNmgxLjQybDMuNzUtOS4yNGMuMDgtLjIxLjE3LS42Mi4yNS0xaC4wNWMtLjA1LjkyLS4xIDEuNzYtLjEgMi4yNnY3Ljk4aDIuMTdWNC4yaC0yLjk2bC0zLjIzIDcuODh6IiBmaWxsPSM3Mzc0NzQgLz4gPHBhdGggZD0iTTAgMjAuOTZoOTguMTVWMEgweiIvPiA8cGF0aCBmaWxsPSM3Mzc0NzQgZD0iTTQyLjg3IDE2Ljc1aDIuMTF2LTloLTIuMTF6bTEuMDgtMTIuODJjLS4zNSAwLS42Ni4xMi0uOS4zNWExLjE3IDEuMTcgMCAwIDAtLjM4Ljg4YzAgLjM1LjEyLjY0LjM3Ljg3LjI1LjIzLjU1LjM0LjkuMzRzLjY3LS4xMS45Mi0uMzRjLjI1LS4yMy4zOC0uNTIuMzgtLjg2IDAtLjM0LS4xMy0uNjQtLjM3LS44OGExLjI2IDEuMjYgMCAwIDAtLjkyLS4zNm04LjUzIDMuNzNhNS45IDUuOSAwIDAgMC0xLjE5LS4xMmMtLjk3IDAtMS44My4yLTIuNTcuNjItLjc0LjQtMS4zIDEtMS43IDEuNzRhNS41NyA1LjU3IDAgMCAwLS4wMSA0LjljLjM3LjcuOSAxLjIzIDEuNTggMS42LjY3LjM4IDEuNDUuNTcgMi4zMS41NyAxLjAxIDAgMS44Ny0uMiAyLjU2LS42bC4wMy0uMDJ2LTEuOTRsLS4xLjA3Yy0uMy4yMy0uNjUuNC0xLjAzLjU0YTMuMTIgMy4xMiAwIDAgMS0xLjAxLjJjLS44MyAwLTEuNS0uMjYtMS45OC0uNzhhMyAzIDAgMCAxLS43My0yLjE0YzAtLjkuMjUtMS42NS43Ni0yLjJhMi42IDIuNiAwIDAgMSAxLjk4LS44MWMuNyAwIDEuMzguMjMgMi4wMi43bC4wOS4wNlY4LjAxTDUzLjQ2IDhhMy41IDMuNSAwIDAgMC0uOTgtLjMzbTYuOTctLjA2YTIuMTcgMi4xNyAwIDAgMC0xLjQxLjVjLS4zNi4zLS42Mi43LS44MiAxLjIxaC0uMDJWNy43NWgtMi4xMnY5aDIuMTJ2LTQuNmMwLS43OC4xOC0xLjQzLjUzLTEuOTEuMzQtLjQ4LjgtLjczIDEuMzctLjczYTIuNSAyLjUgMCAwIDEgMS4xMy4zbC4wOS4wNlY3Ljc0bC0uMDQtLjAyYy0uMi0uMDgtLjQ3LS4xMi0uODMtLjEybTcuNDQgNi44N2MtLjQuNS0xIC43NS0xLjc4Ljc1cy0xLjQtLjI2LTEuODMtLjc3YTMuMjUgMy4yNSAwIDAgMS0uNjUtMi4xNmMwLS45Ni4yMi0xLjcuNjUtMi4yMmEyLjI0IDIuMjQgMCAwIDEgMS44LS43OGMuNzUgMCAxLjM0LjI1IDEuNzcuNzQuNDIuNS42NCAxLjI0LjY0IDIuMiAwIC45OC0uMiAxLjczLS42IDIuMjNNNjUuMiA3LjU0YTQuNyA0LjcgMCAwIDAtMy41IDEuMjkgNC44NCA0Ljg0IDAgMCAwLTEuMjcgMy41M2MwIDEuNC40MiAyLjU0IDEuMjQgMy4zNmE0LjQ4IDQuNDggMCAwIDAgMy4zMSAxLjI1YzEuNDQgMCAyLjYtLjQ0IDMuNDQtMS4zMWE0Ljg0IDQuODQgMCAwIDAgMS4yNi0zLjVjMC0xLjQzLS40LTIuNTctMS4xOC0zLjM5YTQuMzggNC4zOCAwIDAgMC0zLjMtMS4yM205LjE4IDMuOTNhNC42IDQuNiAwIDAgMS0xLjI3LS42Ni45My45MyAwIDAgMS0uMjYtLjdjMC0uMjUuMS0uNDYuMzMtLjYzLjIyLS4xNy41Mi0uMjYuOS0uMjZhMy43NCAzLjc0IDAgMCAxIDIuMDQuNmwuMS4wN1Y3LjkzbC0uMDQtLjAyYTQuNzEgNC43MSAwIDAgMC0uOTctLjI2IDUuOTMgNS45MyAwIDAgMC0xLjA1LS4xMWMtMS4wMSAwLTEuODUuMjUtMi40OS43NmEyLjQ1IDIuNDUgMCAwIDAtLjk2IDJjMCAuNDIuMDcuOC4yIDEuMTIuMTUuMzIuMzYuNi42NS44My4yOC4yNC43Mi40OCAxLjMuNzMuNDkuMi44NS4zNyAxLjA4LjUuMjMuMTQuMzkuMjcuNDguNC4wOS4xMi4xMy4zLjEzLjUgMCAuNjEtLjQ1LjktMS4zOC45YTMuOCAzLjggMCAwIDEtMS4xNy0uMiA0LjQyIDQuNDIgMCAwIDEtMS4yLS42MmwtLjEtLjA2djIuMDZsLjA0LjAyYTYuMDIgNi4wMiAwIDAgMCAyLjM1LjVjMS4xLS4wMSAxLjk4LS4yNyAyLjYyLS43OC42NS0uNTIuOTgtMS4yLjk4LTIuMDUgMC0uNi0uMTgtMS4xMi0uNTMtMS41NC0uMzQtLjQyLS45NC0uOC0xLjc4LTEuMTRtOS42OCAzYy0uNC41LTEgLjc1LTEuNzguNzUtLjc3IDAtMS4zOS0uMjYtMS44Mi0uNzdhMy4yNSAzLjI1IDAgMCAxLS42NS0yLjE2YzAtLjk2LjIyLTEuNy42NS0yLjIyYTIuMjQgMi4yNCAwIDAgMSAxLjgtLjc4Yy43NSAwIDEuMzQuMjUgMS43Ni43NC40My41LjY1IDEuMjQuNjUgMi4yIDAgLjk4LS4yIDEuNzMtLjYgMi4yM20tMS42OS02LjkyYTQuNyA0LjcgMCAwIDAtMy41IDEuMjkgNC44NCA0Ljg0IDAgMCAwLTEuMjcgMy41M2MwIDEuNC40MiAyLjU0IDEuMjQgMy4zNmE0LjQ4IDQuNDggMCAwIDAgMy4zMSAxLjI1YzEuNDQgMCAyLjYtLjQ0IDMuNDQtMS4zMWE0Ljg0IDQuODQgMCAwIDAgMS4yNi0zLjVjMC0xLjQzLS40LTIuNTctMS4xOS0zLjM5YTQuMzggNC4zOCAwIDAgMC0zLjI5LTEuMjNtMTUuNzcgMS45NFY3Ljc1SDk2VjUuMDdsLS4wNy4wMi0yLjAxLjYyaC0uMDR2Mi4wNEg5MC43VjYuNjJjMC0uNTMuMTItLjkzLjM1LTEuMi4yMy0uMjcuNTYtLjQuOTktLjQuMyAwIC42MS4wNy45My4yMWwuMDguMDRWMy40NUw5MyAzLjQzYy0uMy0uMS0uNy0uMTUtMS4yLS4xNS0uNjIgMC0xLjE5LjEzLTEuNjguNC0uNS4yNy0uODkuNjYtMS4xNiAxLjE1YTMuNDEgMy40MSAwIDAgMC0uNDEgMS42OHYxLjI0aC0xLjV2MS43M2gxLjV2Ny4yN2gyLjE0VjkuNDhoMy4xOHY0LjYyYzAgMS45LjkgMi44NyAyLjY3IDIuODdhNC4zNiA0LjM2IDAgMCAwIDEuNTctLjMxbC4wMy0uMDJWMTQuOWwtLjA5LjA2Yy0uMTIuMDctLjI2LjE0LS40My4xOC0uMTcuMDUtLjMxLjA4LS40Mi4wOC0uNDIgMC0uNzMtLjEyLS45Mi0uMzQtLjE5LS4yMi0uMjktLjYtLjI5LTEuMTVWOS40OGgyLjE1eiIvPiA8cGF0aCBmaWxsPSNGMDUxMjQgZD0iTTAgOS45Nmg5Ljk2VjBIMHoiLz4gPHBhdGggZmlsbD0jN0VCQjQyIGQ9Ik0xMSA5Ljk2aDkuOTVWMEgxMXoiLz4gPHBhdGggZmlsbD0jMzJBMERBIGQ9Ik0wIDIwLjk2aDkuOTZWMTFIMHoiLz4gPHBhdGggZmlsbD0jRkRCODEzIGQ9Ik0xMSAyMC45Nmg5Ljk1VjExSDExeiIvPiA8L2c+IDwvc3ZnPiA8L2Rpdj4gPC9ib2R5PiA8L2h0bWw+IA=="><img alt="" data-outlook-trace="F:2|T:2" src="cid:2787faaa-05ed-4d36-8c72-f33a5c580819"></div>
</div>
</div>
</div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Bert Manzlak <manzlak@jlab.org><br>
<b>Sent:</b> Monday, December 5, 2022 10:10 AM<br>
<b>To:</b> Rick Adrover <adrover@jlab.org><br>
<b>Cc:</b> Marc Mcmullen <mcmullen@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; shahinya@jlab.org <shahinya@jlab.org><br>
<b>Subject:</b> Fw: About heating</font>
<div> </div>
</div>
<div dir="ltr">
<div class="x_x_elementToProof"><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">Rick,</span></div>
<div class="x_x_elementToProof"><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)"><br>
</span></div>
<div class="x_x_elementToProof"><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">This project may be a good one to have a look at and talk with physics division personnel. 
<br>
</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Physics Division senior staff scientist: Bogdan  Wojtsekhowski, User: Albert <span class="x_x_value x_x_ContentPasted0">
Shahinyan and Senior staff engineer: Marc McMullen.</span></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
See message below.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
-- Bert<br>
</div>
<div id="x_x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Marc Mcmullen <mcmullen@jlab.org><br>
<b>Sent:</b> Monday, December 5, 2022 9:47 AM<br>
<b>To:</b> shahinya@jlab.org <shahinya@jlab.org><br>
<b>Cc:</b> Bogdan Wojtsekhowski <bogdanw@jlab.org>; Brian Eng <beng@jlab.org>; Jack Segal <segal@jlab.org>; Donald Jones <jonesdc@jlab.org>; dsg-halla_ecal@jlab.org <dsg-halla_ecal@jlab.org>; Bert Manzlak <manzlak@jlab.org>; Ed Folts <folts@jlab.org><br>
<b>Subject:</b> Re: About heating</font>
<div> </div>
</div>
<div dir="ltr">
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Hi Albert,</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
I am working on the basic monitoring and controls system (for 1 supermodule/heater) in the EEL building. Once I have a good test, I can then expand this for the whole system.</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
For your test I recommend you contact Bert Manzlak and the area safety warden for the building you will be testing in. They will probably want a HallA-List at the least. Also you should send them  the specification for the heaters.
<br>
</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
The 11 prototype heaters DSG procured can be applied to flange 1 of the supermodule. These are designed specifically for use on conductive surfaces (insulated). I can show one of your staff how I applied the heater on to the super module if they have not already
 done this.</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
I will keep everyone updated on the controls and monitoring testing.</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Marc</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<img class="x_x_x_w-2316 x_x_x_h-3088" size="1434755" style="max-width:100%" data-outlook-trace="F:4|T:4" src="cid:9ab239cc-f080-48b5-914a-26894a0bde77"><br>
</div>
<div class="x_x_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
<br>
</div>
<div id="x_x_x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_x_x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> shahinya@jlab.org <shahinya@jlab.org><br>
<b>Sent:</b> Saturday, December 3, 2022 12:17 AM<br>
<b>To:</b> Marc Mcmullen <mcmullen@jlab.org><br>
<b>Cc:</b> Bogdan Wojtsekhowski <bogdanw@jlab.org>; Brian Eng <beng@jlab.org>; Jack Segal <segal@jlab.org>; Donald Jones <jonesdc@jlab.org><br>
<b>Subject:</b> About heating</font>
<div> </div>
</div>
<div class="x_x_x_BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="x_x_x_PlainText">Hi Marc,<br>
<br>
Very soon we will be testing the new heater which you recommend.<br>
I plan to use the new heater only on the front dinner module.<br>
To heat the super modules on the side, use old heather.<br>
Heat the calorimeter around the perimeter also use old heater?<br>
When wrapping an aluminum bar on 3 super modules heater , it will be<br>
normal and safe and secure?<br>
How do you all think about it?<br>
<br>
Thank you,<br>
Albert<br>
<br>
<br>
</div>
</span></font></div>
</div>
</div>
</div>
</body>
</html>