<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<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);" class="elementToProof">
Are the other connectors also rated for 2000 volts?</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="elementToProof">
<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="elementToProof">
I can't take credit. I believe it was Brian Eng that raised the issue.<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> Mark Jones <jones@jlab.org><br>
<b>Sent:</b> Friday, March 10, 2023 6:51 AM<br>
<b>To:</b> Rick Adrover <adrover@jlab.org>; Marc Mcmullen <mcmullen@jlab.org>; Chad Bailey <cbailey@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; Brian Eng <beng@jlab.org>; Mindy Leffel <leffel@jlab.org><br>
<b>Cc:</b> mayilyan@jlab.org <mayilyan@jlab.org>; Phillip Stanley <pstanley@jlab.org>; Albert Shahinyan <shahinya@jlab.org>; dsg-halla_expt@jlab.org <dsg-halla_expt@jlab.org>; Chris Cuevas <cuevas@jlab.org>; Jack Segal <segal@jlab.org><br>
<b>Subject:</b> Re: GEp HV patch panels</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)">
We had a meeting last Tuesday with Rick Adrover, Chris Cuevas and Jack Segal about the Fischer 27 pin connector.</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)">
Rick Adrover contacted Fischer and got clarification about the HV ratings. Rick is comfortable with using</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)">
these connectors for their intended  purpose. Rick has setup a database for non-NRTL equipment such</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)">
as these patch panels, so we will need to put the new patch panels in the database. I can work with 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)">
to put the old patch panels and the new patch panels in this database.</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)">
I would like to thank Mindy for raising this issue about the connectors. It was important to get this clarification</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)">
and determination of the applicability of  the Fischer 27 pin and plastic connectors for the intended HV usage.</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)">
Cheers,</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)">
         Mark</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> Rick Adrover <adrover@jlab.org><br>
<b>Sent:</b> Friday, March 3, 2023 8:48 AM<br>
<b>To:</b> Mark Jones <jones@jlab.org>; Marc Mcmullen <mcmullen@jlab.org>; Chad Bailey <cbailey@jlab.org>; Amrit Yegneswaran <yeg@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; Brian Eng <beng@jlab.org>; Mindy Leffel <leffel@jlab.org><br>
<b>Cc:</b> mayilyan@jlab.org <mayilyan@jlab.org>; Bonnie Rodriguez <bonnie@jlab.org>; Phillip Stanley <pstanley@jlab.org><br>
<b>Subject:</b> Re: GEp HV patch panels</font>
<div> </div>
</div>
<div dir="ltr">
<div class="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)">
<span class="x_x_elementToProof x_x_ContentPasted0" style="font-size:12pt; background-color:rgb(255,255,255)">Mark,</span>
<div class="x_x_elementToProof" style="font-size:12pt; background-color:rgb(255,255,255)">
<br class="x_x_ContentPasted0">
</div>
<span class="x_x_elementToProof x_x_ContentPasted0" style="font-size:12pt; background-color:rgb(255,255,255)">I spoke to Chris about the patch panels.  He concurs that some of the parts used are not rated for this application. 
</span>Specifically, this connector: <span class="x_x_ContentPasted1" style="font-size:12.0pt; color:black">
Fisher <span class="x_x_x_x_x_x_xcontentpasted0"><span class="x_x_ContentPasted1" style="background:white">D 107 Z051,</span></span></span> is only rated for 400V.  It is not clear to me who I need to speak to next.  I would like to speak to the equipment owner/designer
 so we can discuss the Lab's custom built equipment design criteria and to discuss our process for inspecting and approving custom built equipment.  Would you please point me in the right direction?</div>
<div class="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_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Thanks for you help.</div>
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_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+IDxtZXRhIG5hbWU9Z29vZ2xlIHZhbHVlPW5vdHJhbnNsYXRlPiA8bWV0YSBuYW1lPWZvcm1hdC1kZXRlY3Rpb24gY29udGVudD0idGVsZXBob25lPW5vIj4gPG1ldGEgbmFtZT1zY3JpcHRWZXIgY29udGVudD0yMDIzMDMwMzAwNi4wNT4gPG1ldGEgbmFtZT1waHlzaWNhbFJpbmcgY29udGVudD1XVz4gPG1ldGEgbmFtZT1lbnZpcm9ubWVudCBjb250ZW50PUdDQ01vZGVyYXRlPiA8bWV0YSBuYW1lPWJvb3RGbGlnaHRzIGNvbnRlbnQ9PiA8bWV0YSBuYW1lPWNkblVybCBjb250ZW50PS8vcmVzLmNkbi5vZmZpY2UubmV0Lz4gPG1ldGEgbmFtZT1iYWNrdXBDZG5VcmwgY29udGVudD0vL3Jlcy1nZW8uY2RuLm9mZmljZS5uZXQvPiA8bWV0YSBuYW1lPWNkbkNvbnRhaW5lciBjb250ZW50PW93YW1haWwvPiA8bWV0YSBuYW1lPWRldkNkblVybCBjb250ZW50PT4gPG1ldGEgbmFtZT1hcmlhVXJsIGNvbnRlbnQ9PiA8bWV0YSBuYW1lPXdlYlNlcnZlckZvcmVzdCBjb250ZW50PW5hbXByZDA5PiA8bWV0YSBuYW1lPXdlYlNlcnZlckNsaXF1ZSBjb250ZW50PUNMTkFNUFJEMDlQSFgwMT4gPG1ldGEgbmFtZT1jb21wYWN0QXJpYVVybCBjb250ZW50PT4gPG1ldGEgbmFtZT13Y3NzRnJhbWVVcmwgY29udGVudD1odHRwczovL3dlYnNoZWxsLnN1aXRlLm9mZmljZS5jb20+IDxtZXRhIG5hbWU9c2NyaXB0UGF0aCBjb250ZW50PXNjcmlwdHMvPiA8bWV0YSBuYW1lPW93YUlzQXV0aGVudGljYXRlZCBjb250ZW50PU93YUlzQXV0aGVudGljYXRlZD4gPG1ldGEgbmFtZT1qc1RpbWVzdGFtcCBjb250ZW50PTE2Nzg0NTYxMTg3Njc+IDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0vbWFpbC9mYXZpY29uLmljbyB0eXBlPWltYWdlL3gtaWNvbj4gPGxpbmsgcmVsPWFwcGxlLXRvdWNoLWljb24gaHJlZj0vL3Jlcy5jZG4ub2ZmaWNlLm5ldC9hc3NldHMvbWFpbC9wd2EvdjEvcG5ncy9hcHBsZS10b3VjaC1pY29uLnBuZz4gPG5vc2NyaXB0PkphdmFTY3JpcHQgbXVzdCBiZSBlbmFibGVkLjwvbm9zY3JpcHQ+IDx0aXRsZT5PdXRsb29rPC90aXRsZT4gPHN0eWxlPkBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1NlZ29lIFVJIFdlc3RFdXJvcGVhbic7c3JjOmxvY2FsKCdTZWdvZSBVSSBMaWdodCcpLGxvY2FsKCdTZWdvZSBXUCBMaWdodCcpLHVybCgvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9hc3NldHMvbWFpbC9mb250cy92MS9mb250cy9zZWdvZXVpLWxpZ2h0LmVvdD8jaWVmaXgpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoLy9yZXMuY2RuLm9mZmljZS5uZXQvYXNzZXRzL21haWwvZm9udHMvdjEvZm9udHMvc2Vnb2V1aS1saWdodC53b2ZmKSBmb3JtYXQoJ3dvZmYnKSx1cmwoLy9yZXMuY2RuLm9mZmljZS5uZXQvYXNzZXRzL21haWwvZm9udHMvdjEvZm9udHMvc2Vnb2V1aS1saWdodC50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTtmb250LXdlaWdodDoxMDA7Zm9udC1zdHlsZTpub3JtYWx9QGZvbnQtZmFjZXtmb250LWZhbWlseTonU2Vnb2UgVUkgV2VzdEV1cm9wZWFuJztzcmM6bG9jYWwoJ1NlZ29lIFVJJyksbG9jYWwoJ1NlZ29lIFdQJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktcmVndWxhci5lb3Q/I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktcmVndWxhci53b2ZmKSBmb3JtYXQoJ3dvZmYnKSx1cmwoLy9yZXMuY2RuLm9mZmljZS5uZXQvYXNzZXRzL21haWwvZm9udHMvdjEvZm9udHMvc2Vnb2V1aS1yZWd1bGFyLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidTZWdvZSBVSSBXZXN0RXVyb3BlYW4nO3NyYzpsb2NhbCgnU2Vnb2UgVUkgU2VtaWJvbGQnKSxsb2NhbCgnU2Vnb2UgV1AgU2VtaWJvbGQnKSx1cmwoLy9yZXMuY2RuLm9mZmljZS5uZXQvYXNzZXRzL21haWwvZm9udHMvdjEvZm9udHMvc2Vnb2V1aS1zZW1pYm9sZC5lb3Q/I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktc2VtaWJvbGQud29mZikgZm9ybWF0KCd3b2ZmJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktc2VtaWJvbGQudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc3R5bGU6bm9ybWFsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1NlZ29lIFVJIFdlc3RFdXJvcGVhbic7c3JjOmxvY2FsKCdTZWdvZSBVSSBTZW1pbGlnaHQnKSxsb2NhbCgnU2Vnb2UgV1AgU2VtaWxpZ2h0JyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktc2VtaWxpZ2h0LmVvdD8jaWVmaXgpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoLy9yZXMuY2RuLm9mZmljZS5uZXQvYXNzZXRzL21haWwvZm9udHMvdjEvZm9udHMvc2Vnb2V1aS1zZW1pbGlnaHQud29mZikgZm9ybWF0KCd3b2ZmJyksdXJsKC8vcmVzLmNkbi5vZmZpY2UubmV0L2Fzc2V0cy9tYWlsL2ZvbnRzL3YxL2ZvbnRzL3NlZ29ldWktc2VtaWxpZ2h0LnR0ZikgZm9ybWF0KCd0cnVldHlwZScpO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXN0eWxlOm5vcm1hbH1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkZhYnJpY01ETDJJY29ucztzcmM6dXJsKCcvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9vd2FtYWlsLzIwMjMwMzAzMDA2LjA1L3Jlc291cmNlcy9mb250cy9vMzY1aWNvbnMtbWRsMi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9vd2FtYWlsLzIwMjMwMzAzMDA2LjA1L3Jlc291cmNlcy9mb250cy9vMzY1aWNvbnMtbWRsMi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6b2ZmaWNlMzY1aWNvbnM7c3JjOnVybCgnLy9yZXMuY2RuLm9mZmljZS5uZXQvb3dhbWFpbC8yMDIzMDMwMzAwNi4wNS9yZXNvdXJjZXMvZm9udHMvb2ZmaWNlMzY1aWNvbnMuZW90PycpO3NyYzp1cmwoJy8vcmVzLmNkbi5vZmZpY2UubmV0L293YW1haWwvMjAyMzAzMDMwMDYuMDUvcmVzb3VyY2VzL2ZvbnRzL29mZmljZTM2NWljb25zLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcvL3Jlcy5jZG4ub2ZmaWNlLm5ldC9vd2FtYWlsLzIwMjMwMzAzMDA2LjA1L3Jlc291cmNlcy9mb250cy9vZmZpY2UzNjVpY29ucy53b2ZmPycpIGZvcm1hdCgnd29mZicpLHVybCgnLy9yZXMuY2RuLm9mZmljZS5uZXQvb3dhbWFpbC8yMDIzMDMwMzAwNi4wNS9yZXNvdXJjZXMvZm9udHMvb2ZmaWNlMzY1aWNvbnMudHRmPycpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy8vcmVzLmNkbi5vZmZpY2UubmV0L293YW1haWwvMjAyMzAzMDMwMDYuMDUvcmVzb3VyY2VzL2ZvbnRzL29mZmljZTM2NWljb25zLnN2Zz8jb2ZmaWNlMzY1aWNvbnMnKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbH0jcHJlbG9hZERpdntoZWlnaHQ6MXB4O21hcmdpbi1ib3R0b206LTFweDtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I2xvYWRpbmdTY3JlZW57cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZC1jb2xvcjojZmZmfSNsb2FkaW5nTG9nb3twb3NpdGlvbjpmaXhlZDt0b3A6Y2FsYyg1MHZoIC0gOTBweCk7bGVmdDpjYWxjKDUwdncgLSA5MHB4KTt3aWR0aDoxODBweDtoZWlnaHQ6MTgwcHh9I01TTG9nb3twb3NpdGlvbjpmaXhlZDtib3R0b206MzZweDtsZWZ0OmNhbGMoNTB2dyAtIDUwcHgpfS5kYXJrICNsb2FkaW5nU2NyZWVue2JhY2tncm91bmQtY29sb3I6IzMzM30uZGFya05ldyAjbG9hZGluZ1NjcmVlbntiYWNrZ3JvdW5kLWNvbG9yOiMxZjFmMWZ9PC9zdHlsZT4gPHNjcmlwdCBub25jZT1CREMxZUVVaUdKRlVQYXowaDE2U25nPT0+dHJ5e2lmKCJsb2NhbFN0b3JhZ2UiaW4gd2luZG93KXt2YXIgdXNlck5vcm1hbGl6ZWRUaGVtZT13aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oIlVzZXJzTm9ybWFsaXplZFRoZW1lIik7dXNlck5vcm1hbGl6ZWRUaGVtZSYmL1wuZGFyayQvLnRlc3QodXNlck5vcm1hbGl6ZWRUaGVtZSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkYXJrIiksdXNlck5vcm1hbGl6ZWRUaGVtZSYmL1wuZGFya1wubmV3JC8udGVzdCh1c2VyTm9ybWFsaXplZFRoZW1lKSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImRhcmtOZXciKTt2YXIgcHdhYmFyY29sb3I9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJQd2FUaGVtZSIpO2lmKHB3YWJhcmNvbG9yKXt2YXIgdGhlbWV0YWc9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoInRoZW1lLWNvbG9yIik7dGhlbWV0YWcmJnRoZW1ldGFnLmxlbmd0aCYmdGhlbWV0YWdbMF0uc2V0QXR0cmlidXRlKCJjb250ZW50Iixwd2FiYXJjb2xvcil9fX1jYXRjaChlKXt9PC9zY3JpcHQ+IDxzY3JpcHQgbm9uY2U9QkRDMWVFVWlHSkZVUGF6MGgxNlNuZz09PmZ1bmN0aW9uIGxvZ0Vycm9yKG8sbixyLGUsYSxpKXt3aW5kb3cub3dhRXJyb3JIYW5kbGVyP3dpbmRvdy5vd2FFcnJvckhhbmRsZXIobyxuLHIsZSxhLGkpOndpbmRvdy5vd2FCYWNrZmlsbGVkRXJyb3JzLnB1c2goYXJndW1lbnRzKX13aW5kb3cuRmFicmljQ29uZmlnPXtmb250QmFzZVVybDpudWxsfSx3aW5kb3cub3dhQmFja2ZpbGxlZEVycm9ycz1bXSx3aW5kb3cub25lcnJvcj1sb2dFcnJvciwib251bmhhbmRsZWRyZWplY3Rpb24iaW4gd2luZG93JiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5oYW5kbGVkcmVqZWN0aW9uIiwoZnVuY3Rpb24obyl7dmFyIG49byYmby5yZWFzb258fCJbbm8gcmVhc29uIGdpdmVuXSI7biBpbnN0YW5jZW9mIEVycm9yP2xvZ0Vycm9yKCJVbmhhbmRsZWQgUmVqZWN0aW9uOiAiK24sIiIsMCwwLG4pOm4ucmVzcG9uc2VFcnJvck1lc3NhZ2UmJm4uY2FsbHN0YWNrQXRSZXF1ZXN0JiZuIGluc3RhbmNlb2YgUmVzcG9uc2U/bG9nRXJyb3Iobi5yZXNwb25zZUVycm9yTWVzc2FnZSwiIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNhbGxzdGFja0F0UmVxdWVzdCk6bG9nRXJyb3IoIlVuaGFuZGxlZCBSZWplY3Rpb246ICIrKCJzdHJpbmciPT10eXBlb2Ygbj9uOkpTT04uc3RyaW5naWZ5KG4pKSl9KSksd2luZG93Lm9ubG9hZD1mdW5jdGlvbigpe3RyeXshc2VsZi5Pd2EmJnNlbGYubG9jYXRpb24mJnNlbGYubG9jYXRpb24uc2VhcmNoJiYtMT09c2VsZi5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigiZ3VscCIpJiZ3aW5kb3cubG9jYXRpb24uYXNzaWduKCIvb3dhL2F1dGgvZnJvd255LmFzcHg/YnJldD1mYWlsJmVzcmM9SW5kZXhQYWdlSW5jb21wbGV0ZSZhcHA9TWFpbCIpfWNhdGNoKG8pe319PC9zY3JpcHQ+IDxzY3JpcHQgbm9uY2U9QkRDMWVFVWlHSkZVUGF6MGgxNlNuZz09PnRyeXshZnVuY3Rpb24oKXtpZigiUGVyZm9ybWFuY2VMb25nVGFza1RpbWluZyJpbiB3aW5kb3cpe3ZhciBlPXdpbmRvdy5fX3R0aT17ZTpbXX07ZS5vPW5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChmdW5jdGlvbihuKXtlLmU9ZS5lLmNvbmNhdChuLmdldEVudHJpZXMoKSl9KSksZS5vLm9ic2VydmUoe2VudHJ5VHlwZXM6WyJsb25ndGFzayJdfSl9fSgpfWNhdGNoKGUpe308L3NjcmlwdD4gPHNjcmlwdCBub25jZT0iQkRDMWVFVWlHSkZVUGF6MGgxNlNuZz09Ij4vKiEgRm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gcGxlYXNlIHNlZSBvd2EubWFpbGluZGV4LmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciBlLG4sdCxyLG89ezczOTkwNzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtfOigpPT5LfSk7dmFyIHI9dCg2MDQxOTEpO2NvbnN0IG89bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoMzkxOCksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg3OTIzOCksdC5lKDE2MDI1KSx0LmUoMTg4MzgpLHQuZSg1NjMzNyksdC5lKDU1ODUwKSx0LmUoMzM2MTUpLHQuZSgxNzQ4MyksdC5lKDc1NDgyKSx0LmUoOTU5OCksdC5lKDgyMjcwKSx0LmUoNDIxMDYpLHQuZSg2MjYwMCksdC5lKDY3MTIyKSx0LmUoNzA3NzYpLHQuZSg3MzgyMCksdC5lKDE2OTcpXSkudGhlbih0LmJpbmQodCw3ODI3MSkpKSksaT1uZXcgci5fNShvLChlPT5lLmdldE1haWxCb290c3RyYXBPcHRpb25zKSksYT1uZXcgci5IZCgoKCk9PlByb21pc2UuYWxsKFt0LmUoMjU2NzEpLHQuZSgzOTE4KSx0LmUoNTI2MzcpLHQuZSgzMjU1NyksdC5lKDc5MjM4KSx0LmUoMTYwMjUpLHQuZSgxODgzOCksdC5lKDU2MzM3KSx0LmUoNTU4NTApLHQuZSgzMzYxNSksdC5lKDE3NDgzKSx0LmUoNzU0ODIpLHQuZSg5NTk4KSx0LmUoODIyNzApLHQuZSg2MjYwMCksdC5lKDY3MTIyKSx0LmUoOTE5OTIpLHQuZSg3MDc3NiksdC5lKDczODIwKSx0LmUoMTczNTIpXSkudGhlbih0LmJpbmQodCwyMjc5NTkpKSkpLHM9bmV3IHIuXzUoYSwoZT0+ZS5nZXRDYWxlbmRhckJvb3RzdHJhcE9wdGlvbnMpKSx1PW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg1OTg5KSx0LmUoOTQxNSksdC5lKDQ4MTM5KSx0LmUoMzY5MTUpLHQuZSgyNzY3MCksdC5lKDc0NjA2KSx0LmUoMzYxNDgpLHQuZSg3MjA3KSx0LmUoNDQ1ODYpLHQuZSg5NjIxOCksdC5lKDY3OTY2KSx0LmUoMjU3NiksdC5lKDczODY2KSx0LmUoNDcxMTMpLHQuZSg5NjY2MCksdC5lKDczMzIyKSx0LmUoOTAzOTcpXSkudGhlbih0LmJpbmQodCw5NTUyNTUpKSkpLGM9bmV3IHIuXzUodSwoZT0+ZS5nZXRQZW9wbGVCb290c3RyYXBPcHRpb25zKSksbD1uZXcgci5IZCgoKCk9PlByb21pc2UuYWxsKFt0LmUoMjU2NzEpLHQuZSg1MjYzNyksdC5lKDMyNTU3KSx0LmUoNzkyMzgpLHQuZSgxNjAyNSksdC5lKDE4ODM4KSx0LmUoNTYzMzcpLHQuZSg1NTg1MCksdC5lKDMzNjE1KSx0LmUoMTc0ODMpLHQuZSg3NTQ4MiksdC5lKDgyMjcwKSx0LmUoNjI2MDApLHQuZSg5MzY3NCksdC5lKDU5ODkpLHQuZSg5OTQ1OCksdC5lKDkxNTY2KSx0LmUoNzUxMDEpLHQuZSg5NDA0NCksdC5lKDIwNzMzKV0pLnRoZW4odC5iaW5kKHQsNzYyMzQpKSkpLEg9bmV3IHIuXzUobCwoZT0+ZS5nZXRGaWxlc0Jvb3RzdHJhcE9wdGlvbnMpKSxkPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDMyNTU3KSx0LmUoNzkyMzgpLHQuZSgxNjAyNSksdC5lKDE4ODM4KSx0LmUoNTU4NTApLHQuZSgzMzYxNSksdC5lKDE3NDgzKSx0LmUoNzU0ODIpLHQuZSg5NTk4KSx0LmUoODIyNzApLHQuZSg2NzEyMiksdC5lKDcwNzc2KSx0LmUoNzM4MjApLHQuZSg1Mjc3MiksdC5lKDkzNjc0KSx0LmUoMzY4NTYpLHQuZSg5NTg3NSldKS50aGVuKHQuYmluZCh0LDMwMjQyOSkpKSksZj1uZXcgci5fNShkLChlPT5lLmdldE1haWxEZWVwTGlua0Jvb3RzdHJhcE9wdGlvbnMpKSxTPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDMyNTU3KSx0LmUoNzkyMzgpLHQuZSgxNjAyNSksdC5lKDE4ODM4KSx0LmUoNTU4NTApLHQuZSgzMzYxNSksdC5lKDE3NDgzKSx0LmUoNzU0ODIpLHQuZSg4MjI3MCksdC5lKDkzNjc0KSx0LmUoNTk4OSksdC5lKDc1MTAxKSx0LmUoOTQxNSksdC5lKDc0NjA2KSx0LmUoMzczMjcpLHQuZSg5NDAxNCksdC5lKDM2ODEyKV0pLnRoZW4odC5iaW5kKHQsNzcyOTExKSkpKSxwPW5ldyByLl81KFMsKGU9PmUuZ2V0QXBwSG9zdEJvb3RzdHJhcE9wdGlvbnMpKSxDPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDkzNjc0KSx0LmUoOTQwNDQpLHQuZSg3MTc1MyksdC5lKDI4MjMxKSx0LmUoNzQ2MDYpLHQuZSgzNjE0OCksdC5lKDU2NjY5KSx0LmUoODYxOTIpLHQuZSg5NjIxOCksdC5lKDY3OTY2KSx0LmUoMjU3NiksdC5lKDczODY2KSx0LmUoNDcxMTMpLHQuZSg5NjY2MCksdC5lKDczMzIyKSx0LmUoNjI3NDMpLHQuZSgxNDI0MCldKS50aGVuKHQuYmluZCh0LDE4MzIyMykpKSksQT1uZXcgci5fNShDLChlPT5lLmdldENhbGVuZGFyRGVlcExpbmtCb290c3RyYXBPcHRpb25zKSksST1uZXcgci5IZCgoKCk9PlByb21pc2UuYWxsKFt0LmUoMjU2NzEpLHQuZSgzOTE4KSx0LmUoNTI2MzcpLHQuZSgzMjU1NyksdC5lKDc5MjM4KSx0LmUoMTYwMjUpLHQuZSgxODgzOCksdC5lKDU2MzM3KSx0LmUoNTU4NTApLHQuZSgzMzYxNSksdC5lKDE3NDgzKSx0LmUoNzU0ODIpLHQuZSg5NTk4KSx0LmUoODIyNzApLHQuZSg0MjEwNiksdC5lKDYyNjAwKSx0LmUoOTE5OTIpLHQuZSg2MjE5OSksdC5lKDcwNzc2KSx0LmUoNThlMyldKS50aGVuKHQuYmluZCh0LDg2OTEzNSkpKSksUj1uZXcgci5fNShJLChlPT5lLmdldEdyb3Vwc0Jvb3RzdHJhcE9wdGlvbnMpKSxoPW5ldyByLl81KG5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDkzNjc0KSx0LmUoOTQwNDQpLHQuZSg3MTc1MyksdC5lKDI4MjMxKSx0LmUoNzQ2MDYpLHQuZSgzNjE0OCksdC5lKDU2NjY5KSx0LmUoODYxOTIpLHQuZSg5NjIxOCksdC5lKDY3OTY2KSx0LmUoMjU3NiksdC5lKDczODY2KSx0LmUoNDcxMTMpLHQuZSg5NjY2MCksdC5lKDczMzIyKSx0LmUoNjI3NDMpLHQuZSg3ODUzMyldKS50aGVuKHQuYmluZCh0LDg0OTcxNCkpKSksKGU9PmUuZ2V0RXZlbnRpZnlCb290c3RyYXBPcHRpb25zKSksdj1uZXcgci5IZCgoKCk9PlByb21pc2UuYWxsKFt0LmUoMjU2NzEpLHQuZSgzOTE4KSx0LmUoNTI2MzcpLHQuZSgzMjU1NyksdC5lKDc5MjM4KSx0LmUoMTYwMjUpLHQuZSgxODgzOCksdC5lKDU1ODUwKSx0LmUoMzM2MTUpLHQuZSgxNzQ4MyksdC5lKDc1NDgyKSx0LmUoODIyNzApLHQuZSg5MTk5MiksdC5lKDcwNzc2KSx0LmUoNzM4MjApLHQuZSg5MzY3NCksdC5lKDU5ODkpLHQuZSg5NDA0NCksdC5lKDcxNzUzKSx0LmUoMTg5MTApXSkudGhlbih0LmJpbmQodCwyMDgzNjEpKSkpLG09KG5ldyByLl81KHYsKGU9PmUuYm9vdHN0cmFwKSksbmV3IHIuXzUodiwoZT0+ZS5nZXRNaWNyb3NvZnRQbGFjZXNCb290c3RyYXBPcHRpb25zKSkpO3ZhciBVPXQoNzg3MzI3KSxOPXQoNjkzNjk2KSxnPXQoODU0MTY5KTtjb25zdCBLPXtNYWlsOntvcHRpb25zOmksc3RyYXRlZ2llczp7Li4uZnVuY3Rpb24oKXtsZXQgZSxuLHQscjt0cnl7cj0oMCxOLmE0KSgicHJlbG9hZG1haWxsaXN0aXRlbSIpPygwLFUuclYpKHdpbmRvdywiYm9vdHN0cmFwTWFpbExpc3RJdGVtVmlld01vZGUiKTpudWxsfWNhdGNoKGUpe3I9bnVsbH1yZXR1cm4iM2NvbCI9PT1yPyhlPWcuQlksbj1nLkIpOiJzbHYiPT09cj90PWcuWHk6KHQ9Zy5YeSxlPWcuQlksbj1nLkIpLHttYWlsTGlzdEl0ZW1Db25kZW5zZWRUaHJlZUNvbHVtblByb3ZpZGVyOmUsbWFpbExpc3RJdGVtRnVsbFRocmVlQ29sdW1uUHJvdmlkZXI6bixtYWlsTGlzdEl0ZW1TaW5nbGVMaW5lVmlld1Byb3ZpZGVyOnR9fSgpfX0sQ2FsZW5kYXI6e29wdGlvbnM6c30sUGVvcGxlOntvcHRpb25zOmN9LEZpbGVzSHViOntvcHRpb25zOkh9LE1haWxEZWVwTGluazp7b3B0aW9uczpmfSxBcHBIb3N0OntvcHRpb25zOnB9LENhbGVuZGFyRGVlcExpbms6e29wdGlvbnM6QX0sR3JvdXBzOntvcHRpb25zOlJ9LEV2ZW50aWZ5OntvcHRpb25zOmh9LE1pY3Jvc29mdFBsYWNlczp7b3B0aW9uczptfX19LDk0NzUwMzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtIOigpPT5vfSk7dmFyIHI9dCg2MjQ0NSk7ZnVuY3Rpb24gbyhlLG4pe3N3aXRjaChlKXtjYXNlIHIuWS5DYWxlbmRhckRlZXBMaW5rOnJldHVybiBuP3thcHA6ImNhbGVuZGFyRGVlcE9weCIsZXhwZWN0ZWRYQXBwTmFtZUhlYWRlcjoiQ2FsZW5kYXJEZWVwT3B4In06dm9pZCAwO2Nhc2Ugci5ZLk1haWw6Y2FzZSByLlkuQ2FsZW5kYXI6Y2FzZSByLlkuRmlsZXNIdWI6cmV0dXJue2FwcDoibWFpbCIsZXhwZWN0ZWRYQXBwTmFtZUhlYWRlcjoiTWFpbCJ9fX19LDcxMzA5MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtBYzooKT0+SCxOOigpPT5jLFpBOigpPT5sfSk7dmFyIHI9dCg4Njk0MTcpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsci5TKSgiR2V0QnBvc1NoZWxsSW5mb05hdkJhckRhdGEiLHt9LGUpfWZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5TKSgiR2V0QnBvc1NoZWxsSW5mb05hdkJhckRhdGFGb3JCb29raW5ncyIse30sZSl9dmFyIGE9dCgxOTgzMTYpO2xldCBzLHU7ZnVuY3Rpb24gYyhlLG4sdCl7aWYoIXMpe3M9KCJCb29raW5ncyI9PT1uP2k6bykoe2F1dGhOZWVkZWRPblVuQXV0aG9yaXplZDohdH0pLnRoZW4oKG49PigoMCxhLnkpKCJnZXRCcG9zTmF2QmFyRGF0YUFzeW5jIix7b3dhXzE6ZSxvd2FfMjoiRmV0Y2ggc3VjY2VlZGVkIn0se3Jpbmc6IkRvZ2Zvb2QifSksdT1uKSkpLmNhdGNoKChuPT4ocz12b2lkIDAsKDAsYS55KSgiZ2V0QnBvc05hdkJhckRhdGFBc3luYyIse293YV8xOmUsb3dhXzI6IkZldGNoIGZhaWx1cmUiLG93YV8zOm4ubWVzc2FnZSsiIC0gIituLnN0YWNrfSx7cmluZzoiRG9nZm9vZCJ9KSx1PW51bGwpKSl9cmV0dXJuIHN9ZnVuY3Rpb24gbCgpe3JldHVybiBzfWZ1bmN0aW9uIEgoKXtyZXR1cm4gdX19LDMxMjg0NzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtBYzooKT0+ci5BYyxOOigpPT5yLk4sWkE6KCk9PnIuWkF9KTt2YXIgcj10KDcxMzA5Mil9LDg1NDE2OTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtZdDooKT0+byxqMzooKT0+aSxCWTooKT0+YSxCOigpPT5zLFh5OigpPT51fSk7dmFyIHI9dCg2MDQxOTEpO2NvbnN0IG89bmV3IHIuSGQoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoMzkxOCksdC5lKDUyNjM3KSx0LmUoMzI1NTcpLHQuZSg3OTIzOCksdC5lKDE2MDI1KSx0LmUoMTg4MzgpLHQuZSg1NTg1MCksdC5lKDMzNjE1KSx0LmUoMTc0ODMpLHQuZSg3NTQ4MiksdC5lKDk1OTgpLHQuZSg4MjI3MCksdC5lKDY3MTIyKSx0LmUoNzA3NzYpLHQuZSg3MzgyMCksdC5lKDkzNjc0KSx0LmUoNTk4OSksdC5lKDc1MTAxKSx0LmUoNTQ3NTMpXSkudGhlbih0LmJpbmQodCw1MjIzKSkpKSxpPW5ldyByLkhkKCgoKT0+UHJvbWlzZS5hbGwoW3QuZSgyNTY3MSksdC5lKDM5MTgpLHQuZSg1MjYzNyksdC5lKDMyNTU3KSx0LmUoNzkyMzgpLHQuZSgxNjAyNSksdC5lKDE4ODM4KSx0LmUoNTU4NTApLHQuZSgzMzYxNSksdC5lKDE3NDgzKSx0LmUoNzU0ODIpLHQuZSg5NTk4KSx0LmUoODIyNzApLHQuZSg2NzEyMiksdC5lKDcwNzc2KSx0LmUoNzM4MjApLHQuZSg5MzY3NCksdC5lKDU5ODkpLHQuZSg3NTEwMSksdC5lKDk3ODAwKV0pLnRoZW4odC5iaW5kKHQsMzcwMDg5KSkpKSxhPW5ldyByLkVGKGksKGU9PmUuTWFpbExpc3RJdGVtQ29uZGVuc2VkVGhyZWVDb2x1bW4pKSxzPW5ldyByLkVGKGksKGU9PmUuTWFpbExpc3RJdGVtRnVsbFRocmVlQ29sdW1uKSksdT1uZXcgci5FRihvLChlPT5lLk1haWxMaXN0SXRlbVNpbmdsZUxpbmVWaWV3KSl9LDgxNTYzOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0k6KCk9Pml9KTt2YXIgcj10KDYwNDE5MSk7Y29uc3Qgbz1uZXcgci5IZCgoKCk9PlByb21pc2UuYWxsKFt0LmUoMjU2NzEpLHQuZSgzOTE4KSx0LmUoNTI2MzcpLHQuZSgxNjE1NSksdC5lKDQ0NTg2KSx0LmUoNDIxOTApLHQuZSg2Nzk2NiksdC5lKDI1NzYpLHQuZSg3Mzg2NiksdC5lKDQ3MTEzKSx0LmUoOTY2NjApLHQuZSg5MjEwOSksdC5lKDk0Mjc5KV0pLnRoZW4odC5iaW5kKHQsODEwNzU1KSkpKSxpPW5ldyByLkVGKG8sKGU9PmUud2ViUmVzb2x2ZXJzKSl9LDg4Nzc3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3M6KCk9PnIsaDooKT0+b30pO2xldCByPSExO2Z1bmN0aW9uIG8oKXtyPSEwfX0sMzc0ODQ3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2dBOigpPT5mLExfOigpPT5kLFdwOigpPT5ILERNOigpPT5jLGNKOigpPT5sLEhHOigpPT5yLkh9KTt2YXIgcj10KDk3MDIzNiksbz10KDE3NjUyNiksaT10KDc3NDIyNiksYT10KDQyMjg2Nik7ZnVuY3Rpb24gcyhlLG4sdCxyLG8sYSxzLGMpe2lmKG4mJih0PygwLGkuVHopKG4scik6byYmYT8oMCxpLlNiKShuLG8sYCR7cn1fJHthfWApOnUobi5ldmVudE5hbWUscix0KSksZSl7aWYodClyZXR1cm4gdm9pZCBlLmFkZFRvUHJlZGVmaW5lZFdhdGVyZmFsbChyLHMsdm9pZCAwLGMpO2lmKG8mJmEpcmV0dXJuIHZvaWQgZS5hZGRUb0N1c3RvbVdhdGVyZmFsbChvLGAke3J9XyR7YX1gLHMpO3UoZS5ldmVudE5hbWUscix0KX19ZnVuY3Rpb24gdShlLG4sdCl7YS5nNC53YXJuKGBBZGRUaW1pbmdUb1dhdGVyZmFsbEZhaWxlZCBkcDogJHtlfS4gY2hlY2twb2ludDogJHtufS4gaXNQcmVkZWZpbmVkOiAke3R9YCl9YXN5bmMgZnVuY3Rpb24gYyhlLG49bnVsbCx0KXt2YXIgcixhO2lmKCFlfHwhMT09PShudWxsPT1uP3ZvaWQgMDpuLmlzRW5hYmxlZCkpcmV0dXJuIHQoe30pO2NvbnN0IHU9bnVsbD09ZT92b2lkIDA6ZS5pc1BlcmZvcm1hbmNlRGF0YXBvaW50LGM9ZSxsPXU/ZTpjLmRhdGFwb2ludDtzKGwsbnVsbCx1LCJEYXRhX1MiLG51bGw9PShyPW51bGw9PWM/dm9pZCAwOmMuaW5kZXhlcyk/dm9pZCAwOnJbMF0sbnVsbD09Yz92b2lkIDA6Yy5uYW1lLG51bGw9PW4/dm9pZCAwOm4uZGlzY2FyZElmRGVmaW5lZCk7Y29uc3QgSD0oMCxpLklYKShsKTtILnNldHRpbmdzPXsuLi5ILnNldHRpbmdzLC4uLm59LEguZGF0YVNvdXJjZT1udWxsO2NvbnN0IGQ9e3BlcmZEYXRhcG9pbnQ6SH0sZj1hd2FpdCB0KGQpO3JldHVybiBudWxsIT09SC5kYXRhU291cmNlfHxILmRpZEV4ZWN1dGVHcWxRdWVyeXx8KEguZGF0YVNvdXJjZT1vLkRhdGFTb3VyY2UuTk9fUVVFUlkpLHMobCxudWxsLHUsIkRhdGFfRSIsbnVsbD09KGE9bnVsbD09Yz92b2lkIDA6Yy5pbmRleGVzKT92b2lkIDA6YVsxXSxudWxsPT1jP3ZvaWQgMDpjLm5hbWUsbnVsbD09bj92b2lkIDA6bi5kaXNjYXJkSWZEZWZpbmVkKSwoMCxpLkJfKShsLEgpLGZ9YXN5bmMgZnVuY3Rpb24gbChlLG4sdCwuLi5yKXt2YXIgYSx1LGMsbCxILGQsZixTO2NvbnN0IHA9ISghZS53ZWJXb3JrZXJEYXRhcG9pbnQmJiFlLmN1c3RvbVdlYldvcmtlckRhdGFwb2ludCk/ISEobnVsbD09KGE9ZS53ZWJXb3JrZXJEYXRhcG9pbnQpP3ZvaWQgMDphLmlzUGVyZkRhdGFwb2ludE9iamVjdCk6ISEobnVsbD09KHU9ZS5kYXRhcG9pbnQpP3ZvaWQgMDp1LmlzUGVyZm9ybWFuY2VEYXRhcG9pbnQpLEM9ZS5jdXN0b21EYXRhcG9pbnR8fGUuY3VzdG9tV2ViV29ya2VyRGF0YXBvaW50LEE9ZS5kYXRhcG9pbnR8fChudWxsPT0oYz1lLmN1c3RvbURhdGFwb2ludCk/dm9pZCAwOmMuZGF0YXBvaW50KSxJPWUud2ViV29ya2VyRGF0YXBvaW50fHwobnVsbD09KGw9ZS5jdXN0b21XZWJXb3JrZXJEYXRhcG9pbnQpP3ZvaWQgMDpsLmRhdGFwb2ludCk7cyhBfHxudWxsLEl8fG51bGwscCwiTmV0d29ya19TIixudWxsPT0oSD1udWxsPT1DP3ZvaWQgMDpDLmluZGV4ZXMpP3ZvaWQgMDpIW28uV2F0ZXJmYWxsTWFwcGluZ3MuTkVUV09SS19SRVFVRVNUX1NUQVJUSU5HXSxudWxsPT1DP3ZvaWQgMDpDLm5hbWUsbnVsbD09bj92b2lkIDA6bi5kaXNjYXJkSWZEZWZpbmVkLChudWxsPT1yP3ZvaWQgMDpyWzBdKT9yWzBdOnZvaWQgMCk7Y29uc3QgUj1hd2FpdCB0LmFwcGx5KG51bGwsciksaD1vLkRhdGFTb3VyY2UuTkVUV09SSztyZXR1cm4gZS5kYXRhcG9pbnQ/ZS5kYXRhcG9pbnQuYWRkRGF0YVNvdXJjZShoKTplLmN1c3RvbURhdGFwb2ludD9lLmN1c3RvbURhdGFwb2ludC5kYXRhcG9pbnQuYWRkVG9DdXN0b21XYXRlcmZhbGwobnVsbD09KGQ9ZS5jdXN0b21EYXRhcG9pbnQuaW5kZXhlcyk/dm9pZCAwOmRbby5XYXRlcmZhbGxNYXBwaW5ncy5EQVRBX1NPVVJDRV0sYERhdGFTb3VyY2VfJHtlLmN1c3RvbURhdGFwb2ludC5uYW1lfWAsbnVsbD09bj92b2lkIDA6bi5kaXNjYXJkSWZEZWZpbmVkLGgpOmUud2ViV29ya2VyRGF0YXBvaW50P2Uud2ViV29ya2VyRGF0YXBvaW50LmRhdGFTb3VyY2U9aDoobnVsbD09KGY9ZS5jdXN0b21XZWJXb3JrZXJEYXRhcG9pbnQpP3ZvaWQgMDpmLmRhdGFwb2ludCkmJigwLGkuU2IpKGUuY3VzdG9tV2ViV29ya2VyRGF0YXBvaW50LmRhdGFwb2ludCxlLmN1c3RvbVdlYldvcmtlckRhdGFwb2ludC5pbmRleGVzW28uV2F0ZXJmYWxsTWFwcGluZ3MuREFUQV9TT1VSQ0VdLCJEYXRhU291cmNlIixoKSxzKEF8fG51bGwsSXx8bnVsbCxwLCJOZXR3b3JrX0UiLG51bGw9PShTPW51bGw9PUM/dm9pZCAwOkMuaW5kZXhlcyk/dm9pZCAwOlNbby5XYXRlcmZhbGxNYXBwaW5ncy5ORVRXT1JLX1JFUVVFU1RfRU5ERURdLG51bGw9PUM/dm9pZCAwOkMubmFtZSxudWxsPT1uP3ZvaWQgMDpuLmRpc2NhcmRJZkRlZmluZWQsKG51bGw9PXI/dm9pZCAwOnJbMF0pP3JbMF06dm9pZCAwKSxSfWZ1bmN0aW9uIEgoZSxuKXtkKGUpLGYoZSxuKX1mdW5jdGlvbiBkKGUpe2UuYWRkVG9QcmVkZWZpbmVkV2F0ZXJmYWxsKCJSZW5kZXJfUyIsITApfWZ1bmN0aW9uIGYoZSxuLHQpeygwLHIuSCkoKHI9PntlLmFkZFRvUHJlZGVmaW5lZFdhdGVyZmFsbCgiUmVuZGVyX0UiLCEwKSxufHxlLmhhc0VuZGVkfHxlLmVuZCgpLHQmJnQocil9KSl9fSw5NzAyMzY6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7SDooKT0+b30pO3ZhciByPXQoMjY5Mzk5KTtmdW5jdGlvbiBvKGUpeygwLHIuSlkpKChuPT57c2V0VGltZW91dCgoKCk9PntlKG4pfSkpfSkpfX0sMjMwNzU1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3BsOigpPT5ILHJUOigpPT5kLFpEOigpPT5pLENaOigpPT5hLkMsVV86KCk9PmZ9KTt2YXIgcj10KDQyMjg2Nik7bGV0IG87ZnVuY3Rpb24gaSgpe3JldHVybiBudWxsPT1vJiYobz0idW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJm51bGwhPXNlbGYucGVyZm9ybWFuY2UmJm51bGwhPXNlbGYucGVyZm9ybWFuY2UudGltaW5nJiZudWxsIT1zZWxmLnBlcmZvcm1hbmNlLm5hdmlnYXRpb24mJm51bGwhPXNlbGYucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSksb312YXIgYT10KDc3MjE5Nik7Y29uc3Qgcz1bXSx1PVtdLGM9W107bGV0IGw9ITA7ZnVuY3Rpb24gSChlLG4peygwLHIuU1UpKCgoZSxuLHQsbyk9PntsJiYobj09ci5HdS5FcnJvciYmdS5wdXNoKHttZXNzYWdlOmUsZXJyb3I6b30pLHMucHVzaCh7bWVzc2FnZTplLGxldmVsOm4sY29tcG9uZW50OnR9KSl9KSksZShTKSxuKFMpLGkoKSYmKHNlbGYucGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplP3NlbGYucGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKDUwMCk6c2VsZi5wZXJmb3JtYW5jZS53ZWJraXRTZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUmJnNlbGYucGVyZm9ybWFuY2Uud2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKDUwMCkpfWZ1bmN0aW9uIGQoZSl7Y29uc3Qgbj0oMCxhLkQpKGUpO3JldHVybnt0cmFjZXM6cyxlcnJvcnM6dSxuZXR3b3JrOmMsdXNhZ2U6bn19ZnVuY3Rpb24gZigpe2w9ITF9ZnVuY3Rpb24gUygpe2wmJmMucHVzaChhcmd1bWVudHMpfX0sNzcyMTk2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7bGV0IHI7dC5kKG4se0M6KCk9PmksRDooKT0+YX0pO2NvbnN0IG89W107ZnVuY3Rpb24gaShlLG4sdCl7cj9yKGUsbix0KTpvLnB1c2goe25hbWU6ZSxjdXN0b21EYXRhOm59KX1mdW5jdGlvbiBhKGUpe3JldHVybiByPWUsb319LDE3NjUyNjooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIkNvbW1hbmRCYXIiPT09ZXx8IlNpbXBsaWZpZWRSaWJib24iPT09ZXx8Ik11bHRpTGluZVJpYmJvbiI9PT1lfHwiQ29tbWFuZEJhclJpYmJvbiI9PT1lfXQuZChuLHtEYXRhU291cmNlOigpPT5pLERhdGFwb2ludFN0YXR1czooKT0+byxXYXRlcmZhbGxNYXBwaW5nczooKT0+YSxpc0NvbW1hbmRpbmdWaWV3QWN0aW9uU291cmNlOigpPT5yfSk7dmFyIG89KGU9PihlLlN1Y2Nlc3M9IlN1Y2Nlc3MiLGUuU2VydmVyRXJyb3I9IlNlcnZlckVycm9yIixlLlVzZXJFcnJvcj0iVXNlckVycm9yIixlLlNlcnZlckV4cGVjdGVkRXJyb3I9IlNlcnZlckV4cGVjdGVkRXJyb3IiLGUuQ2xpZW50RXJyb3I9IkNsaWVudEVycm9yIixlLlJlcXVlc3ROb3RDb21wbGV0ZT0iUmVxdWVzdE5vdENvbXBsZXRlIixlLlRpbWVvdXQ9IlRpbWVvdXQiLGUuQmFja2dyb3VuZFN1Y2Nlc3M9IkJhY2tncm91bmRTdWNjZXNzIixlKSkob3x8e30pLGk9KGU9PihlLk5FVFdPUks9Ik5FVFdPUksiLGUuTkVUV09SS19HUUw9Ik5FVFdPUktfR1FMIixlLk5FVFdPUktfR0FURVdBWT0iTkVUV09SS19HQVRFV0FZIixlLlNFUlZJQ0VfV09SS0VSPSJTRVJWSUNFX1dPUktFUiIsZS5JTkRFWERCPSJJTkRFWERCIixlLklOX01FTU9SWT0iSU5fTUVNT1JZIixlLk5PX1FVRVJZPSJOT19RVUVSWSIsZSkpKGl8fHt9KSxhPShlPT4oZVtlLk5FVFdPUktfUkVRVUVTVF9TVEFSVElORz0wXT0iTkVUV09SS19SRVFVRVNUX1NUQVJUSU5HIixlW2UuTkVUV09SS19SRVFVRVNUX0VOREVEPTFdPSJORVRXT1JLX1JFUVVFU1RfRU5ERUQiLGVbZS5EQVRBX1NPVVJDRT0yXT0iREFUQV9TT1VSQ0UiLGVbZS5EQVRBX0xPQURJTkc9MF09IkRBVEFfTE9BRElORyIsZVtlLkRBVEFfTE9BREVEPTFdPSJEQVRBX0xPQURFRCIsZVtlLkdRTF9CUklER0VfUVVFUlk9Ml09IkdRTF9CUklER0VfUVVFUlkiLGVbZS5HUUxfQlJJREdFX1JFU1VMVD0zXT0iR1FMX0JSSURHRV9SRVNVTFQiLGVbZS5HUUxfQlJJREdFX0VSUk9SPTRdPSJHUUxfQlJJREdFX0VSUk9SIixlW2UuQ09ERV9MT0FESU5HPTBdPSJDT0RFX0xPQURJTkciLGVbZS5DT0RFX0xPQURFRD0xXT0iQ09ERV9MT0FERUQiLGUpKShhfHx7fSl9LDUwOTA0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2g6KCk9PmF9KTt2YXIgcj10KDc0MDU0NSksbz10KDE5MzkzMyksaT10KDUzODY1Mik7ZnVuY3Rpb24gYSgpe2lmKCgwLHIuViQpKCkpcmV0dXJuImh0dHBzOi8vZXUtb2ZmaWNlLmV2ZW50cy5kYXRhLm1pY3Jvc29mdC5jb20vIitvLndCO2NvbnN0IGU9KDAsby5hJCkoKTtpZihlKXJldHVybiBlO2NvbnN0IG49KDAsaS51RCkoKTtyZXR1cm4iR2NjSGlnaCI9PT1uPyJodHRwczovL3RiLmV2ZW50cy5kYXRhLm1pY3Jvc29mdC5jb20vIitvLndCOiJEb0QiPT09bj8iaHR0cHM6Ly9wZi5ldmVudHMuZGF0YS5taWNyb3NvZnQuY29tLyIrby53Qjp2b2lkIDB9fSw3NzQyMjY6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7aHo6KCk9Pm8sQl86KCk9PmYsb086KCk9PkEsU2I6KCk9PnMsY3M6KCk9PmksVHo6KCk9PmEsSVg6KCk9PmQsZFo6KCk9PkMsdXQ6KCk9PkksayQ6KCk9PlIsSXA6KCk9PnUsRU06KCk9PmMsQkU6KCk9PkgsZkM6KCk9Pmx9KTt2YXIgcj10KDQyMjg2Nik7ZnVuY3Rpb24gbyhlLG4sdCl7KG51bGw9PWU/dm9pZCAwOmUuaXNQZXJmRGF0YXBvaW50T2JqZWN0KT8oZS5jdXN0b21EYXRhfHwoZS5jdXN0b21EYXRhPXt9KSxlLmN1c3RvbURhdGFbbl09dCk6ZSYmci5nNC53YXJuKGBJbnZhbGlkUGVyZkRhdGFwb2ludE9ialBhc3NlZFRvQWRkQ3VzdG9tRGF0YTogS2V5OiAke259LiBWYWx1ZTogJHt0fWApfWZ1bmN0aW9uIGkoZSxuLHQpeyhudWxsPT1lP3ZvaWQgMDplLmlzUGVyZkRhdGFwb2ludE9iamVjdCkmJihlLndhdGVyZmFsbHx8KGUud2F0ZXJmYWxsPXt9KSx0P3MoZSx0LG4pOmEoZSxuKSl9ZnVuY3Rpb24gYShlLG4pe2NvbnN0IHQ9SChlKTtlLndhdGVyZmFsbFtsKG4pXT10LnRvRml4ZWQoKX1mdW5jdGlvbiBzKGUsbix0LG8pe2lmKGUpe2NvbnN0IHI9SChlKSxpPWModCx2b2lkIDA9PT1vP3I6byksYT11KG4pO2Uud2F0ZXJmYWxsW2woYSldPWl9ZWxzZSByLmc0Lndhcm4oYE5vICdwZXJmRGF0YXBvaW50T2JqJyB3YXMgcGFzc2VkIHRvICdhZGRUb0N1c3RvbVdhdGVyZmFsbCcgZm9yIGNoZWNrcG9pbnQ6ICR7dH1gKX1mdW5jdGlvbiB1KGUpe3JldHVybmBDdXN0b20ke2V9YH1mdW5jdGlvbiBjKGUsbil7cmV0dXJuYCR7ZX18JHsibnVtYmVyIj09dHlwZW9mIG4/TWF0aC5yb3VuZChuKTpufWB9ZnVuY3Rpb24gbChlKXtyZXR1cm5gV0ZfJHtlfWB9ZnVuY3Rpb24gSChlKXtyZXR1cm4gZT9EYXRlLm5vdygpLWUuc3RhcnRUaW1lOjB9ZnVuY3Rpb24gZChlKXtjb25zdCBuPWUuZXZlbnROYW1lLHQ9ZS5nZXRTdGFydFRpbWUoKTtuJiZ0fHwoMCxyLmhaKShgQ2FuJ3QgY29udmVydCBkYXRhcG9pbnQgbmFtZWQgJHtufSB0aGF0IGlzIG1pc3NpbmcgYSAiZXZlbnROYW1lIiBvciAic3RhcnRUaW1lIi5gKTtyZXR1cm57ZXZlbnROYW1lOm4sc3RhcnRUaW1lOnQsZGF0YVNvdXJjZTplLmdldERhdGFTb3VyY2UoKSx3YXRlcmZhbGw6UyhlLnByb3BlcnRpZXMpLGN1c3RvbURhdGE6e30sc2V0dGluZ3M6e2Rpc2FibGVHUUxUaW1pbmdzOiExfSxpc1BlcmZEYXRhcG9pbnRPYmplY3Q6ITB9fWZ1bmN0aW9uIGYoZSxuLHQpe3ZhciBvO2lmKG4uZGF0YVNvdXJjZSYmZS5hZGREYXRhU291cmNlKG4uZGF0YVNvdXJjZSksbi53YXRlcmZhbGwpZm9yKGxldFtpLGFdb2YgT2JqZWN0LmVudHJpZXMobi53YXRlcmZhbGwpKWlmKGEpe2lmKCEobnVsbD09KG89bi5zZXR0aW5ncyk/dm9pZCAwOm8uZGlzY2FyZElmRGVmaW5lZCkmJmUuZ2V0RGF0YShpKSYmKDAsci5oWikoYFRoZSBXYXRlcmZhbGwgY29sdW1uIGFscmVhZHkgZXhpc3QuIENvbHVtbjogJHtpfS4gRFA6ICR7ZS5ldmVudE5hbWV9YCksdCl7Y29uc3QgdD1lLmdldFN0YXJ0VGltZSgpLHI9bi5zdGFydFRpbWU7aWYodCYmcil7Y29uc3RbZSxuXT1hLnNwbGl0KCJ8Iik7YT1gJHtlfXwke3ItdCtOdW1iZXIobil9YH19ZS5wcm9wZXJ0aWVzW2ldPWF9aWYobi5jdXN0b21EYXRhKWZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4uY3VzdG9tRGF0YSkpZS5hZGRDdXN0b21Qcm9wZXJ0eSh0LG4uY3VzdG9tRGF0YVt0XSk7ZS5kaWRFeGVjdXRlR3FsUXVlcnk9ZS5kaWRFeGVjdXRlR3FsUXVlcnl8fG4uZGlkRXhlY3V0ZUdxbFF1ZXJ5fWZ1bmN0aW9uIFMoZSl7Y29uc3Qgbj0iV0ZfQ29kZV9TIix0PSJXRl9Db2RlX0UiLHI9IldGX05ldHdvcmtfUyIsbz0iV0ZfTmV0d29ya19FIixpPXtbbl06ZVtuXSxbdF06ZVt0XSxbcl06ZVtyXSxbb106ZVtvXX07Zm9yKGxldCBuPTE7bjw9MTA7bisrKXtjb25zdCB0PWBXRl9DdXN0b20ke259YDtpW3RdPWVbdF19cmV0dXJuIGl9dmFyIHA9dCg3NDA1NDUpO2Z1bmN0aW9uIEMoZSxuKXtyZXR1cm57ZXZlbnROYW1lOmUsb3B0aW9uczpuLHN0YXJ0VGltZTpEYXRlLm5vdygpLGRhdGFTb3VyY2U6bnVsbCx3YXRlcmZhbGw6e30sY3VzdG9tRGF0YTp7fSxzZXR0aW5nczp7fSxpc1BlcmZEYXRhcG9pbnRPYmplY3Q6ITB9fWZ1bmN0aW9uIEEoZSxuKXtlJiYoZS5tYWluVGhyZWFkTG9nZ2luZ0Z1bmN0aW9uPW4pfWZ1bmN0aW9uIEkoZSxuLHQsbyxpKXt2YXIgYTsobnVsbD09ZT92b2lkIDA6ZS5pc1BlcmZEYXRhcG9pbnRPYmplY3QpPyhlLmhhc0VuZGVkPSEwLChudWxsPT1lP3ZvaWQgMDplLmVuZEFyZ3VtZW50cyl8fChlLmVuZEFyZ3VtZW50cz17fSksKG51bGw9PWU/dm9pZCAwOmUuZW5kQXJndW1lbnRzLmR1cmF0aW9uKXx8KG49RGF0ZS5ub3coKS1lLnN0YXJ0VGltZSksZS5lbmRBcmd1bWVudHM9ey4uLmUuZW5kQXJndW1lbnRzLGR1cmF0aW9uOm4sb3ZlcnJpZGVTdGF0dXM6dCxlcnJvckluOm8sZXJyb3JUeXBlSW46aX0sKDAscC5TbikoKT9mdW5jdGlvbihlKXtpZigicG9zdE1lc3NhZ2UiaW4gc2VsZil7Y29uc3Qgbj17bG9nUGVyZm9ybWFuY2VEYXRhcG9pbnQ6ZX07c2VsZi5wb3N0TWVzc2FnZShuKX1lbHNlIHIuZzQud2FybigiQ2FuJ3Qgc2VuZCBsb2dQZXJmb3JtYW5jZURhdGFwb2ludCBldmVudCBmcm9tIHRoaXMgV2ViIFdvcmtlci4gRG9lcyBpcyB0aGUgd2ViIHdvcmtlciBpbnN0YW5jZSB3cmFwcGVkIHdpdGggYGFuYWx5dGljc0xpc3RlbmVyYD8iKX0oZSk6ZS5tYWluVGhyZWFkTG9nZ2luZ0Z1bmN0aW9uP2UubWFpblRocmVhZExvZ2dpbmdGdW5jdGlvbihlKTpyLmc0Lndhcm4oYE5vTWFpblRocmVhZExvZ2dpbmdGdW5jdGlvblByb3ZpZGVkLiBZb3UgY2FuJ3QgZW5kIGEgV2ViV29ya2VyUGVyZkRhdGFwb2ludCBvbiB0aGUgbWFpbiB0aHJlYWQgd2l0aG91dCBzcGVjaWZpeWluZyBhIGxvZ2dpbmcgZnVuY3Rpb24uIEV2ZW50OiAke2UuZXZlbnROYW1lfWApKTooMCxyLnJ4KShgV2ViV29ya2VyUGVyZkRhdGFwb2ludEFscmVhZHlFbmRlZCAoZHA6ICR7bnVsbD09ZT92b2lkIDA6ZS5ldmVudE5hbWV9LCBlbmRXaXRoRXJyb3I6ICR7bnVsbD09KGE9bnVsbD09ZT92b2lkIDA6ZS5lbmRBcmd1bWVudHMpP3ZvaWQgMDphLmVuZFdpdGhFcnJvcn0pYCl9ZnVuY3Rpb24gUihlLG4sdCxyLG8pe2UuZW5kQXJndW1lbnRzfHwoZS5lbmRBcmd1bWVudHM9e30pLGUuZW5kQXJndW1lbnRzLmVuZFdpdGhFcnJvcj0hMCxJKGUsbyxuLHQmJmZ1bmN0aW9uKGUpe2NvbnN0IG49e25hbWU6ZS5uYW1lLG1lc3NhZ2U6ZS5tZXNzYWdlLGZpbGVuYW1lOmUuZmlsZW5hbWUsbGluZW5vOmUubGluZW5vLGNvbG5vOmUuY29sbm8sZGlhZ25vc3RpY0luZm86ZS5kaWFnbm9zdGljSW5mbyxuZXR3b3JrRXJyb3I6ZS5uZXR3b3JrRXJyb3IsY29tcG9uZW50OmUuY29tcG9uZW50LHNjcmlwdEV2YWw6ZS5zY3JpcHRFdmFsLGh0dHBTdGF0dXM6ZS5odHRwU3RhdHVzLGV4dGVybmFsOmUuZXh0ZXJuYWwsZmV0Y2hFcnJvclR5cGU6ZS5mZXRjaEVycm9yVHlwZSxyZXRyaWFibGU6ZS5yZXRyaWFibGUscmVwb3J0ZWQ6ZS5yZXBvcnRlZCxyZXNwb25zZUNvZGU6ZS5yZXNwb25zZUNvZGUsY29ycmVsYXRpb25WZWN0b3I6ZS5jb3JyZWxhdGlvblZlY3Rvcixjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb25JZCxoZWFkZXJzOmUuaGVhZGVycyxhZGRRdWV1ZTplLmFkZFF1ZXVlLGV4dGVuc2lvbnM6ZS5leHRlbnNpb25zLG1haWxib3g6ZS5tYWlsYm94fTtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShuKSl9KHQpLHIpfX0sMTk4MzE2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3k6KCk9PmF9KTt2YXIgcj10KDk1OTEyNyksbz10KDkxMzgwNCksaT10KDg4Nzc3KTtmdW5jdGlvbiBhKGUsbix0KXtyZXR1cm4oMCxvLlMpKCkmJiFpLnM/bmV3IFByb21pc2UoKG89PntyLldtLmltcG9ydEFuZEV4ZWN1dGUoZSxuLHQpLG8oKX0pKTpyLlZpLmltcG9ydEFuZEV4ZWN1dGUoZSxuLHQpfX0sOTU5MTI3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1NxOigpPT5pLFl0OigpPT5hLF9GOigpPT5zLEx5OigpPT51LFJtOigpPT5jLElvOigpPT5sLHBzOigpPT5ILFIkOigpPT5kLEZIOigpPT5mLFZpOigpPT5TLEhmOigpPT5wLFdtOigpPT5DLGk3OigpPT5BLEFVOigpPT5JfSk7dmFyIHI9dCg2MDQxOTEpO2NvbnN0IG89bmV3IHIubkkoKCgpPT5Qcm9taXNlLmFsbChbdC5lKDI1NjcxKSx0LmUoNzUxMDEpLHQuZSg1MzUxNSksdC5lKDQ5MDA2KSx0LmUoMjM2MzcpLHQuZSg2NTE0NSksdC5lKDY0ODM3KSx0LmUoNTM0ODApLHQuZSg3Mzg2NiksdC5lKDQ3MTEzKSx0LmUoODA2NDkpLHQuZSg1MDg2MCldKS50aGVuKHQuYmluZCh0LDU4NjExNCkpKSx7bWF4RmFpbGVkUmV0cmllczoxMDB9KSxpPW5ldyByLl81KG8sKGU9PmUuaW5pdGlhbGl6ZUFuYWx5dGljcykpLGE9bmV3IHIuXzUobywoZT0+ZS5vbmVEU0ZsdXNoKSkscz1uZXcgci5fNShvLChlPT5lLmFkZENhcGFiaWxpdHkpKSx1PW5ldyByLl81KG8sKGU9PmUubG9nRGF0YXBvaW50KSksYz1uZXcgci5fNShvLChlPT5lLmxvZ1BlcmZvcm1hbmNlRGF0YXBvaW50KSksbD1uZXcgci5fNShvLChlPT5lLmxvZ1dlYldvcmtlclBlcmZEYXRhcG9pbnRPbk1haW5UaHJlYWQpKSxIPW5ldyByLl81KG8sKGU9PmUuZ2V0UmVzb3VyY2VUaW1pbmdGb3JVcmwpKSxkPW5ldyByLl81KG8sKGU9PmUubG9nQWRkaW5zQ3VzdG9tZXJDb250ZW50KSksZj1uZXcgci5fNShvLChlPT5lLmxvZ0FkZGluc1RlbGVtZXRyeUV2ZW50KSksUz1uZXcgci5fNShvLChlPT5lLmxvZ1VzYWdlKSkscD1uZXcgci5fNShvLChlPT5lLnRyYWNrTmV0d29ya1Jlc3BvbnNlKSksQz1uZXcgci5fNShvLChlPT5lLndvcmtlckxvZ1VzYWdlKSksQT1uZXcgci5fNShvLChlPT5lLndvcmtlckxvZ0RhdGFwb2ludCkpLEk9bmV3IHIuXzUobywoZT0+ZS5hbmFseXRpY3NMaXN0ZW5lcikpO25ldyByLl81KG8sKGU9PmUucmVnaXN0ZXJPd3NDYWxsYmFja3MpKX0sNjA0MTkxOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se181OigpPT5BLEhkOigpPT5FLEVGOigpPT5mLG5JOigpPT5nLGpQOigpPT5wLCRlOigpPT5iLHE5OigpPT55LHY2OigpPT51LF9YOigpPT5DLCRKOigpPT5jLF9iOigpPT5OfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLnJlc3VsdD1lfXRoZW4oZSxuKXt0cnl7Y29uc3Qgbj1lKHRoaXMucmVzdWx0KTtyZXR1cm4obnVsbD09KHQ9bik/dm9pZCAwOnQudGhlbikmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4/bjpQcm9taXNlLnJlc29sdmUobil9Y2F0Y2goZSl7cmV0dXJuIFByb21pc2UucmVqZWN0KGUpfXZhciB0fWNhdGNoKGUpe3JldHVybiB0aGlzfXRvU3RyaW5nKCl7cmV0dXJuIlFQIn19bGV0IG89MDtjb25zdCBpPXt9O2xldCBhPXttYXJrSW1wb3J0QXNMb2FkZWQ6ZT0+e2lbZV09ITB9LGlzSW1wb3J0TG9hZGVkOmU9PmlbZV0sbG9nVXNhZ2U6KCk9Pnt9LGxvZ0Vycm9yOigpPT57fSx0cmFjZTooKT0+e319O2Z1bmN0aW9uIHMoKXtyZXR1cm4gYX1mdW5jdGlvbiB1KGUpe2E9ZX1mdW5jdGlvbiBjKCl7YS5nb3Zlcm49dm9pZCAwfXZhciBsPXQoNTM4NjUyKSxIPXQoMTc2NTI2KTtjb25zdCBkPS9mdW5jdGlvblxzKlwoLipcKVxzKntccypyZXR1cm4gW14uXSooW147XSouKil9LztjbGFzcyBme2NvbnN0cnVjdG9yKGUsbix0KXt0aGlzLmxhenlNb2R1bGU9ZSx0aGlzLmdldHRlcj1uLHRoaXMuc2hvdWxkR292ZXJuPXQsdGhpcy5wZW5kaW5nSW1wb3J0cz0wLHRoaXMuaW1wb3J0PShlLG4pPT57aWYoIXRoaXMuaW1wb3J0UHJvbWlzZSl7Y29uc3QgdD1zKCk7bGV0IG87dHJ5e2lmKG51bGw9PW4/dm9pZCAwOm4uZXZlbnROYW1lKW4uYWRkVG9QcmVkZWZpbmVkV2F0ZXJmYWxsKCJDb2RlX1MiLCEwKTtlbHNlIGlmKG4pe2NvbnN0IGU9bjtlLmRhdGFwb2ludC5hZGRUb0N1c3RvbVdhdGVyZmFsbChlLmluZGV4ZXNbSC5XYXRlcmZhbGxNYXBwaW5ncy5DT0RFX0xPQURJTkddLGBDb2RlX1NfJHtlLm5hbWV9YCwhMCl9bz10aGlzLmxhenlNb2R1bGUuaW1wb3J0TW9kdWxlKHRoaXMuc2hvdWxkR292ZXJuPyJMYXp5R292ZXJuSW1wb3J0IjoiTGF6eUltcG9ydCIsZXx8IkxhenlJbXBvcnQiLHRoaXMuZ2V0TmFtZSgpKSx0aGlzLmltcG9ydFByb21pc2U9by50aGVuKChlPT57dmFyIG87aWYodGhpcy5pbXBvcnRWYWx1ZT10aGlzLmdldHRlcihlKSx0aGlzLmltcG9ydFByb21pc2U9KG89dGhpcy5pbXBvcnRWYWx1ZSxuZXcgcihvKSksKDAsbC5zaikoKSYmdGhpcy5sYXp5TW9kdWxlLmFkZFdhdGVyZmFsbENoZWNrcG9pbnQodGhpcy5nZXROYW1lKCkpLHQubWFya0ltcG9ydEFzTG9hZGVkKHRoaXMuaWQpLG51bGw9PW4/dm9pZCAwOm4uZXZlbnROYW1lKW4uYWRkVG9QcmVkZWZpbmVkV2F0ZXJmYWxsKCJDb2RlX0UiLCEwKTtlbHNlIGlmKG4pe2NvbnN0IGU9bjtlLmRhdGFwb2ludC5hZGRUb0N1c3RvbVdhdGVyZmFsbChlLmluZGV4ZXNbSC5XYXRlcmZhbGxNYXBwaW5ncy5DT0RFX0xPQURFRF0sYENvZGVfRV8ke2UubmFtZX1gLCEwKX1yZXR1cm4gdGhpcy5wZW5kaW5nSW1wb3J0cz0wLHRoaXMuaW1wb3J0VmFsdWV9KSkuY2F0Y2goKGU9Pnt0aHJvdyB0aGlzLmltcG9ydFByb21pc2U9dm9pZCAwLHQubG9nVXNhZ2UoIkxhenlJbXBvcnRGYWlsdXJlIix7bWVzc2FnZTplLm1lc3NhZ2UscGVuZGluZ0ltcG9ydHM6dGhpcy5wZW5kaW5nSW1wb3J0c30pLHRoaXMucGVuZGluZ0ltcG9ydHM9MCxlfSkpfWNhdGNoKGUpe3RoaXMuaW1wb3J0UHJvbWlzZT1Qcm9taXNlLnJlamVjdChlKX19cmV0dXJuIHRoaXMucGVuZGluZ0ltcG9ydHMrKyx0aGlzLmltcG9ydFByb21pc2V9LHRoaXMuaWQ9KG8rKykudG9TdHJpbmcoKX1kYW5nZXJvdXNseUltcG9ydFN5bmMoKXtpZighdGhpcy5pc0xvYWRlZCgpKXRocm93IG5ldyBFcnJvcigiSW1wb3J0IGlzIG5vdCBhdmFpbGFibGUgeWV0LiIpO3JldHVybiB0aGlzLmltcG9ydFZhbHVlfXRyeUltcG9ydEZvclJlbmRlcigpe2lmKHMoKS5pc0ltcG9ydExvYWRlZCh0aGlzLmlkKSlyZXR1cm4gdGhpcy5pbXBvcnRWYWx1ZTt0aGlzLmltcG9ydCgpfWlzTG9hZGVkKCl7cmV0dXJuIHMoKS5pc0ltcG9ydExvYWRlZCh0aGlzLmlkKX1nZXROYW1lKCl7Y29uc3QgZT10aGlzLmdldHRlci50b1N0cmluZygpO3RyeXtjb25zdCBuPWUubWF0Y2goZCk7cmV0dXJuIG4mJm4ubGVuZ3RoPjE/blsxXTplfWNhdGNoKG4pe3JldHVybiBlfX19bGV0IFM7ZnVuY3Rpb24gcCgpe2NvbnN0IGU9UztyZXR1cm4gUz1udWxsLGV9ZnVuY3Rpb24gQyhlKXtTPWV9Y2xhc3MgQSBleHRlbmRzIGZ7Y29uc3RydWN0b3IoZSxuLHQpe3N1cGVyKGUsbik7Y29uc3Qgcj10aGlzO3RoaXMuaW1wb3J0QW5kRXhlY3V0ZT1mdW5jdGlvbiguLi5lKXtjb25zdCBuPShudWxsPT10P3ZvaWQgMDp0LmNhcHR1cmVCdW5kbGVUaW1lKT9EYXRlLm5vdygpOm51bGw7cmV0dXJuIHIuaW1wb3J0KCJMYXp5QWN0aW9uIixyLnBlcmZEYXRhcG9pbnQpLnRoZW4oKHQ9PntDKG4pO2NvbnN0IHI9dC5hcHBseShudWxsLGUpO3JldHVybiBDKG51bGwpLHJ9KSl9LHRoaXMuYWRkUGVyZkRhdGFwb2ludD1lPT57ci5wZXJmRGF0YXBvaW50PWV9fX12YXIgST10KDc0MDU0NSksUj10KDE4MDM4Nyk7ZnVuY3Rpb24gaChlKXtyZXR1cm4gdC5wPWUsZX1sZXQgdj1bXSxtPSExO2Z1bmN0aW9uIFUoZSxuKXtjb25zdHtnb3Zlcm46dH09cygpLHI9KCk9PnQmJm4/dChlKTplKCk7bT9yKCk6di5wdXNoKHIpfWZ1bmN0aW9uIE4oKXttPSEwO2Zvcih2YXIgZT0wO2U8di5sZW5ndGg7ZSsrKXZbZV0oKTt2PVtdfWNsYXNzIGd7Y29uc3RydWN0b3IoZSxuKXt0aGlzLmltcG9ydENhbGxiYWNrPWUsdGhpcy5vcHRpb25zPW4sdGhpcy5pc0xvYWRlZD0hMSx0aGlzLmF0dGVtcHRzPTAsdGhpcy5mYWlsZWRSZXRyaWVzPTAsdGhpcy5wZW5kaW5nSW1wb3J0cz0wLHRoaXMuaW1wb3J0V2F0ZXJmYWxsRGF0YT17fX1pbXBvcnRNb2R1bGUoZSxuLHQpe2lmKCF0aGlzLnByb21pc2Upe2NvbnN0IHI9bj9gYmVjdWFzZSBvZiAke259ICR7dH1gOmBkaXJlY3RseSB3aXRoIHNvdXJjZSAke2V9YDtzKCkudHJhY2UoIkRvd25sb2FkaW5nIExhenlNb2R1bGUgIityKSx0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKChuLHQpPT57dmFyIHI7KChudWxsPT0ocj10aGlzLm9wdGlvbnMpP3ZvaWQgMDpyLnJ1bldoZW4pfHxVKSgoYXN5bmMoKT0+e3ZhciByO2NvbnN0IG89IShudWxsPT0ocj10aGlzLm9wdGlvbnMpP3ZvaWQgMDpyLm1heEZhaWxlZFJldHJpZXMpfHx0aGlzLmZhaWxlZFJldHJpZXM8dGhpcy5vcHRpb25zLm1heEZhaWxlZFJldHJpZXM7Zm9yKHRoaXMuYXR0ZW1wdHM9MDshdGhpcy5pc0xvYWRlZCYmdGhpcy5hdHRlbXB0czw1JiZvOyl0cnl7YXdhaXQgdGhpcy5sb2FkTW9kdWxlKG4sZSl9Y2F0Y2goZSl7YXdhaXQgdGhpcy5vbkxvYWRGYWlsZWQoZSx0KX19KSwiTGF6eUltcG9ydCIhPWUpfSkpfXJldHVybiB0aGlzLmlzTG9hZGVkfHx0aGlzLnBlbmRpbmdJbXBvcnRzKyssdGhpcy5wcm9taXNlfWdldElzTG9hZGVkKCl7cmV0dXJuIHRoaXMuaXNMb2FkZWR9Z2V0VXJsKGUpe3JldHVybiA1LWU8PTE/KDAsSS5PRSkoKTooMCxJLlJzKSgpfWFzeW5jIGxvYWRNb2R1bGUoZSxuKXt2YXIgdDtjb25zdCByPXNlbGYucGVyZm9ybWFuY2Uubm93KCksbz10aGlzLmdldFVybCh0aGlzLmF0dGVtcHRzKyspO2gobyk7Y29uc3QgaT10aGlzLmltcG9ydENhbGxiYWNrKCk7aCgoMCxJLlJzKSgpKTtjb25zdCBhPWF3YWl0IGksdT1yJiZzZWxmLnBlcmZvcm1hbmNlLm5vdygpLXI7aWYodSYmdy5wdXNoKHtzdGFydDpyLGR1cmF0aW9uOnUsYXR0ZW1wczp0aGlzLmF0dGVtcHRzfSksbnVsbD09KHQ9dGhpcy5vcHRpb25zKT92b2lkIDA6dC5pbml0aWFsaXplcil7dGhpcy5vcHRpb25zLmluaXRpYWxpemVyKGEpKCl9ZShhKSwoMCxsLnNqKSgpJiYodGhpcy5hZGRXYXRlcmZhbGxDaGVja3BvaW50KCJtb2R1bGUiKSxzZXRUaW1lb3V0KCgoKT0+e3MoKS5sb2dVc2FnZSgiTGF6eU1vZHVsZUltcG9ydHMiLHtlbnRyeU1vZHVsZUlkOnRoaXMuX19nZXRFbnRyeU1vZHVsZUlkRm9yTG9nZ2luZygpLC4uLnRoaXMuaW1wb3J0V2F0ZXJmYWxsRGF0YX0pLHRoaXMuaW1wb3J0V2F0ZXJmYWxsRGF0YT1udWxsfSksMWU0KSwib2JqZWN0Ij09dHlwZW9mIGEmJiJMYXp5SW1wb3J0IiE9biYmSy5wdXNoKG4pKSx0aGlzLmlzTG9hZGVkPSEwLHRoaXMucGVuZGluZ0ltcG9ydHM9MCx0aGlzLmF0dGVtcHRzPjEmJnMoKS5sb2dVc2FnZSgiTGF6eUxvYWRTdWNjZXNzQWZ0ZXJSZXRyeSIse2F0dGVtcHRzOnRoaXMuYXR0ZW1wdHMudG9TdHJpbmcoKSx1cmw6b30pfWFzeW5jIG9uTG9hZEZhaWxlZChlLG4pe2lmKHRoaXMuZmFpbGVkUmV0cmllcysrLGZ1bmN0aW9uKGUpe3JldHVybiEhZS5yZXF1ZXN0fHwoMCxJLlNuKSgpJiYoIk5ldHdvcmtFcnJvciI9PT1lLm5hbWV8fDE5PT09ZS5jb2RlKX0oZSkpaWYodGhpcy5hdHRlbXB0cz49NSl7cygpLmxvZ1VzYWdlKCJMYXp5TG9hZEZhaWx1cmUiLHttZXNzYWdlOmUubWVzc2FnZSxwZW5kaW5nSW1wb3J0czp0aGlzLnBlbmRpbmdJbXBvcnRzfSk7bGV0IHQ9IkZhaWxlZCB0byBsb2FkIGphdmFzY3JpcHQuIjtlLmh0dHBTdGF0dXMmJih0Kz0iU3RhdHVzOiIrZS5odHRwU3RhdHVzKTtjb25zdCByPW5ldyBFcnJvcih0KTtyLm5ldHdvcmtFcnJvcj0hMCxyLmRpYWdub3N0aWNJbmZvPWUuZGlhZ25vc3RpY0luZm98fGUubWVzc2FnZSxyLnJlcXVlc3Q9ZS5yZXF1ZXN0LG4ociksdGhpcy5wZW5kaW5nSW1wb3J0cz0wLHRoaXMucHJvbWlzZT12b2lkIDB9ZWxzZSB0aGlzLmF0dGVtcHRzPjEmJmF3YWl0KDAsUi5aKSgxZTMqTWF0aC5wb3coMix0aGlzLmF0dGVtcHRzLTIpKTtlbHNlIGUuc2NyaXB0RXZhbD0hMCxzKCkubG9nRXJyb3IoZSksdGhpcy5pc0xvYWRlZD0hMCxlLnJlcG9ydGVkPSEwLG4oZSl9X19nZXRFbnRyeU1vZHVsZUlkRm9yTG9nZ2luZygpe2NvbnN0IGU9dGhpcy5pbXBvcnRDYWxsYmFjay50b1N0cmluZygpO3RyeXtjb25zdCBuPS8uKlwuYmluZFwobnVsbCwoW14pXSspXCkvLHQ9ZS5tYXRjaChuKTtyZXR1cm4gdCYmdC5sZW5ndGg+MT90WzFdOmV9Y2F0Y2gobil7cmV0dXJuIGV9fWFkZFdhdGVyZmFsbENoZWNrcG9pbnQoZSl7dGhpcy5pbXBvcnRXYXRlcmZhbGxEYXRhJiZ2b2lkIDA9PT10aGlzLmltcG9ydFdhdGVyZmFsbERhdGFbZV0mJih0aGlzLmltcG9ydFdhdGVyZmFsbERhdGFbZV09bnVsbD09c2VsZj92b2lkIDA6c2VsZi5wZXJmb3JtYW5jZS5ub3coKSl9fWxldCBLPVtdO2Z1bmN0aW9uIHkoKXtjb25zdCBlPUs7cmV0dXJuIEs9W10sZX1sZXQgdz1bXTtmdW5jdGlvbiBiKGUpe2NvbnN0IG49Wy4uLnddO3JldHVybiBlJiYodz13LmZpbHRlcigobj0+bi5zdGFydCtuLmR1cmF0aW9uPj1lKSkpLG59Y2xhc3MgRSBleHRlbmRzIGd7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSx7cnVuV2hlbjplPT57ZSgpfX0pLHRoaXMuaXNCb290TW9kdWxlPSgpPT4hMH19fSw3MTgyMjQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7Uno6KCk9PncsTXE6KCk9PkEsR0c6KCk9PmgsJEI6KCk9PlIsVko6KCk9PkksdDk6KCk9PnYseGI6KCk9PlUsT0U6KCk9Pk4sUnM6KCk9Pm0sejY6KCk9PmQsZGI6KCk9PkN9KTt2YXIgcj10KDQ1ODgxNyksbz10KDc0NTM5OSksaT10KDUzODY1Mik7bGV0IGEscz0ib3dhbWFpbC8iO2Z1bmN0aW9uIHUoKXtpZighYSl7Y29uc3QgZT0iMiI9PSgwLHIubW4pKCJiTyIpO2xldCBuPWMoKStzLHQ9YyghMCkrcztjb25zdCBpPSgwLG8uWlApKCJiYXNlVXJsIik7KDAsci56bCkoKSYmaSYmKG49dD1pKSxhPXtQYWNrYWdlQmFzZVVybDplP3Q6bixFeHRyYVNldHRpbmdzOnt9LEJhY2t1cEJhc2VVcmw6ZT9uOnQsUmVzb3VyY2VzUGF0aDoiIixTY3JpcHRQYXRoOigwLHIucmMpKCk/IiI6InNjcmlwdHMvIn19cmV0dXJuIGF9ZnVuY3Rpb24gYyhlKXtjb25zdCBuPWU/MjoxO2xldCB0PSEwO2NvbnN0IHI9KDAsby5aUCkoInNjcmlwdFZlciIpO3ImJi0xPT09ci5pbmRleE9mKCIuIikmJih0PSExKTtjb25zdCBhPXQ/YHJlcy0ke259YDpgcmVzLSR7bn0tc2RmYDtyZXR1cm4iR2FsbGF0aW4iPT0oMCxpLnVEKSgpP2AvL291dGxvb2stJHtufS5jZG4ucGFydG5lci5vdXRsb29rLmNuL2A6YC8vJHthfS5jZG4ub2ZmaWNlLm5ldC9gfXZhciBsPXQoMTE3MDQ3KTtjb25zdCBIPVtdO2Z1bmN0aW9uIGQoZSl7SC5wdXNoKGUpfWxldCBmLFMscDtmdW5jdGlvbiBDKGUpe2Y9ZSxmdW5jdGlvbihlKXtmb3IoY29uc3QgbiBvZiBIKW4oZSl9KGUpfWZ1bmN0aW9uIEEoKXtyZXR1cm4gZn1mdW5jdGlvbiBJKCl7cmV0dXJuIGIoInNjcmlwdFZlciIpfWZ1bmN0aW9uIFIoKXtjb25zdCBlPWIoImNkblVybCIpO3JldHVybiBnKGUpP2U6YygpfWZ1bmN0aW9uIGgoKXtjb25zdCBlPWIoImJhY2t1cENkblVybCIpO3JldHVybiBnKGUpP2U6YyghMCl9ZnVuY3Rpb24gdigpe2lmKFMpcmV0dXJuIFM7Y29uc3QgZT1iKCJjZG5VcmwiKSxuPWIoImNkbkNvbnRhaW5lciIpLHQ9YigiZGV2Q2RuVXJsIik7cmV0dXJuIGcodCk/dDpnKGUpJiZnKG4pP2UrbitJKCkrIi8iOkUodSgpLlBhY2thZ2VCYXNlVXJsKX1mdW5jdGlvbiBtKCl7cmV0dXJuIHcodigpK0soKSl9ZnVuY3Rpb24gVSgpe3JldHVybiB3KGAke3YoKX1yZXNvdXJjZXMvYCl9ZnVuY3Rpb24gTigpe2lmKFMpcmV0dXJuIFM7Y29uc3QgZT1iKCJiYWNrdXBDZG5VcmwiKSxuPWIoImNkbkNvbnRhaW5lciIpO2xldCB0PUUodSgpLkJhY2t1cEJhc2VVcmwpO3JldHVybiBnKGUpJiZnKG4pJiYodD1lK24rSSgpKyIvIiksdyh0KStLKCl9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gZSYmZS5pbmRleE9mKCIvIik+LTF9ZnVuY3Rpb24gSygpe2NvbnN0IGU9Yigic2NyaXB0UGF0aCIpO3JldHVybiBnKGUpP2U6dSgpLlNjcmlwdFBhdGh9Y29uc3QgeT1uZXcgUmVnRXhwKCJeaHR0cHM/OiIpO2Z1bmN0aW9uIHcoZSl7dmFyIG47cmV0dXJuIHkudGVzdChlKXx8KHZvaWQgMD09PXAmJihwPShudWxsPT0obj0oMCxsLnkpKCkubG9jYXRpb24pP3ZvaWQgMDpuLnByb3RvY29sKXx8Imh0dHBzOiIpLGU9cCtlKSxlfWZ1bmN0aW9uIGIoZSl7cmV0dXJuKDAsby5aUCkoZSl8fCIifWZ1bmN0aW9uIEUoZSl7cmV0dXJuIGUrKCgwLHIuemwpKCk/IiI6SSgpKyIvIisoKDAsci5KSSkoImRlYnVnSnMiKT8iZGVidWcvIjoiIikpfX0sMTIzNTcyOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2FmOigpPT5ILHdROigpPT5kLHlGOigpPT5TfSk7dmFyIHI9dCg4OTIyMjgpLG89dCg3MTgyMjQpLGk9dCg3ODczMjcpLGE9dCgxMTcwNDcpLHM9dCg4MzgwMzEpO2NvbnN0IHU9IkJvb3RUeXBlU2NyaXB0VmVyIjtsZXQgYyxsO2FzeW5jIGZ1bmN0aW9uIEgoZSl7aWYoKDAsci5TKSgpKXJldHVybiJQd2EiO3RyeXtjb25zdCBuPWAkeygwLG8ueGIpKCl9YW5hbHl0aWNzLXBpbmcuanNgO3JldHVybiBmdW5jdGlvbihlLG4sdCl7aWYobi5oZWFkZXJzLmdldCgiWC1DRE4tUHJvdmlkZXIiKSl7Y29uc3QgZT1uLmhlYWRlcnMuZ2V0KCJYLUNETi1Qcm92aWRlciIpO251bGwhPWUmJihmPWUpfWlmKG4uaGVhZGVycy5nZXQocy5uMikpcmV0dXJuIGw9bi5oZWFkZXJzLmdldChzLlBLKSwiU3dDYWNoZSI7Y29uc3Qgcj1uLmhlYWRlcnMuZ2V0KCJEYXRlIik7aWYobnVsbD09cil7Y29uc3QgZT0oMCxpLnJWKSgoMCxhLnkpKCksdSk9PXQ7cmV0dXJuKDAsaS5MUykoKDAsYS55KSgpLHUsdCksZT8iQnJvd3NlckNhY2hlIjoiTm9DYWNoZSJ9Y29uc3Qgbz1EYXRlLnBhcnNlKHIpO2lmKGlzTmFOKG8pKXRocm93IG5ldyBFcnJvcigiSW52YWxpZERhdGUiKTtyZXR1cm4gby1lPi0xZTM/Ik5vQ2FjaGUiOiJCcm93c2VyQ2FjaGUifShlLGF3YWl0IGZldGNoKG4pLG4pfWNhdGNoKGUpe3JldHVybiBjPWUsIlVua25vd24ifX1mdW5jdGlvbiBkKCl7cmV0dXJuIGx9bGV0IGY9Im5vbmUiO2Z1bmN0aW9uIFMoKXtyZXR1cm4gZn19LDc2NzQ1NzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtGSzooKT0+YSxndzooKT0+cywkQzooKT0+dX0pO3ZhciByPXQoNDU4ODE3KSxvPXQoODE3NDE1KTtsZXQgaT17bmF0aXZlVmVyc2lvbjpudWxsLHNlc3Npb25JZDpudWxsfTtmdW5jdGlvbiBhKCl7cmV0dXJuIGkubmF0aXZlVmVyc2lvbnx8KDAsci5tbikoIm5hdGl2ZVZlcnNpb24iKX1mdW5jdGlvbiBzKCl7cmV0dXJuIGkuc2Vzc2lvbklkfWZ1bmN0aW9uIHUoZSxuKXtpPXtuYXRpdmVWZXJzaW9uOmV8fCgwLHIubW4pKCJuYXRpdmVWZXJzaW9uIiksc2Vzc2lvbklkOm58fCgwLG8uTSkoKX19fSwyMDQ5MjM6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7dFU6KCk9PmksTl86KCk9PnMsVVA6KCk9PnUsX0g6KCk9PmMsSEY6KCk9PmwsS3g6KCk9PkgseV86KCk9PmQsUTE6KCk9PmYsUEU6KCk9PlN9KTt2YXIgcj10KDEyMzU3Mik7bGV0IG89e307ZnVuY3Rpb24gaShlKXthKCJmZSIsZSwiWC1GRVNlcnZlciIpLGEoImJlIixlLCJYLUJFU2VydmVyIiksYSgid3N2ZXIiLGUsIlgtT1dBLVZlcnNpb24iKSxhKCJmb3N0IixlLCJ4LW93YS1mb3Jlc3QiLChlPT4wPT1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigicHJvZCIpPyJOQU1QUkQwMSI6ZS5zdWJzdHIoMCxlLmluZGV4T2YoIi4iKSkudG9VcHBlckNhc2UoKSkpLGEoImRhZyIsZSwieC1vd2EtZGFnIiwoZT0+ZS50b1VwcGVyQ2FzZSgpKSksIW8udGUmJmUmJmUuaGVhZGVycyYmKG8udGU9ZS5oZWFkZXJzLmdldCgiWC1NU0VkZ2UtUmVmIik/IjEiOiIwIil9ZnVuY3Rpb24gYShlLG4sdCxyKXt2YXIgaSxhO2lmKCFvW2VdKXtjb25zdCBzPW51bGw9PShhPW51bGw9PShpPW51bGw9PW4/dm9pZCAwOm4uaGVhZGVycyk/dm9pZCAwOmkuZ2V0KT92b2lkIDA6YS5jYWxsKGksdCk7b1tlXT1zP3I/cihzKTpzOiJVbmtub3duIn19ZnVuY3Rpb24gcygpe3JldHVybiBvLmJlfWZ1bmN0aW9uIHUoKXtyZXR1cm4gby5mZX1mdW5jdGlvbiBjKCl7cmV0dXJuIG8udGV9ZnVuY3Rpb24gbCgpe3JldHVybiBvLndzdmVyfWZ1bmN0aW9uIEgoKXtyZXR1cm4gby5kYWd9ZnVuY3Rpb24gZCgpe3JldHVybiBvLmZvc3R9YXN5bmMgZnVuY3Rpb24gZigpe2xldCBlPW8uYnQ7cmV0dXJuIWUmJnNlbGYucGVyZm9ybWFuY2UmJnNlbGYucGVyZm9ybWFuY2UudGltaW5nJiYoZT1vLmJ0PWF3YWl0KDAsci5hZikoc2VsZi5wZXJmb3JtYW5jZS50aW1pbmcuZmV0Y2hTdGFydCkpLGV9ZnVuY3Rpb24gUygpe3JldHVybiBvfX0sOTQyMTI5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2E6KCk9Pm8sSzooKT0+aX0pO2xldCByPXt9O2Z1bmN0aW9uIG8oZSl7aWYoZSl0cnl7cj1KU09OLnBhcnNlKGUpfWNhdGNoKGUpe31yZXR1cm4gcn1mdW5jdGlvbiBpKCl7cmV0dXJuIHJ9fSwzNTQwMjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHt5OigpPT5hLG46KCk9PnN9KTt2YXIgcj10KDc4NzMyNyk7Y29uc3Qgbz0iTG9naWNhbFJpbmciO2xldCBpO2Z1bmN0aW9uIGEoZSl7aSYmaT09PWV8fChpPWUsKDAsci5MUykoc2VsZixvLGUpKX1mdW5jdGlvbiBzKCl7cmV0dXJuIGl8fChpPSgwLHIuclYpKHNlbGYsbykpLGl9fSw4MTc0MTU6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7TTooKT0+cyxBOigpPT51fSk7dmFyIHI9dCg0NTg4MTcpLG89dCg3Njc0NTcpO2NvbnN0IGk9L1t4eV0vZztsZXQgYTtmdW5jdGlvbiBzKCl7cmV0dXJuIGF8fChhPSgwLG8uZ3cpKCl8fCgwLHIubW4pKCJzZXNzaW9uSWQiKXx8Inh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCIucmVwbGFjZShpLChmdW5jdGlvbihlKXt2YXIgbj0xNipNYXRoLnJhbmRvbSgpfDA7cmV0dXJuKCJ4Ij09PWU/bjozJm58OCkudG9TdHJpbmcoMTYpfSkpKSxhfWZ1bmN0aW9uIHUoZSl7YT1lfX0sNzQwNTQ1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3JUOigpPT5jLnJULE05OigpPT5jLk05LGN4OigpPT5jLmN4LGVJOigpPT5jLmVJLGttOigpPT5jLmttLEt5OigpPT5jLkt5LG5COigpPT5jLm5CLHNtOigpPT5jLnNtLEFPOigpPT5jLkFPLEZBOigpPT5jLkZBLG55OigpPT5jLm55LEJyOigpPT5jLkJyLEI1OigpPT5jLkI1LGdNOigpPT5jLmdNLE9IOigpPT5jLk9ILGY2OigpPT5jLmY2LCRiOigpPT5jLiRiLGl3OigpPT5jLml3LHZqOigpPT5jLnZqLFVWOigpPT5jLlVWLFpCOigpPT5jLlpCLHJIOigpPT5jLnJILFh0OigpPT5CLE1xOigpPT5yLk1xLE5fOigpPT55Lk5fLEdHOigpPT5yLkdHLFExOigpPT55LlExLFA2OigpPT5MLHdpOigpPT5rLCRCOigpPT5yLiRCLGkyOigpPT51LFZKOigpPT5yLlZKLGVqOigpPT5XLmUsS3g6KCk9PnkuS3gsZjooKT0+VixQRTooKT0+eS5QRSxxVjooKT0+TS5LLHlfOigpPT55LnlfLFVQOigpPT55LlVQLHdYOigpPT5VLHIwOigpPT5nLEZsOigpPT5xLkYsc3Y6KCk9PlosRzA6KCk9PngsbnI6KCk9PncubixGSzooKT0+Ti5GSyxITDooKT0+UyxXMzooKT0+ZixkcTooKT0+Syx0OTooKT0+ci50OSxPRTooKT0+ci5PRSxSczooKT0+ci5ScyxIRjooKT0+eS5IRixNUTooKT0+bC5NLF9IOigpPT55Ll9ILFYkOigpPT5ZLFNvOigpPT5QLlMsQ1E6KCk9PkksU246KCk9PkYuUyx3YzooKT0+YixhNzooKT0+TS5hLHo2OigpPT5yLno2LCQ2OigpPT5ULiQsQjooKT0+bSxLbTooKT0+cS5LLHRZOigpPT56LERoOigpPT5wLGdXOigpPT5DfSk7dmFyIHI9dCg3MTgyMjQpLG89dCg3ODczMjcpLGk9dCgxMTcwNDcpO2NvbnN0IGE9Ik93YUNsaWVudElkIjtsZXQgcz1udWxsO2Z1bmN0aW9uIHUoKXt2YXIgZTtpZighcyl7Y29uc3Qgbj0obnVsbD09KGU9KDAsaS55KSgpKT92b2lkIDA6ZS5jb29raWUpJiYoMCxpLnkpKCkuY29va2llLnNwbGl0KCJDbGllbnRJZD0iKVsxXSx0PW4mJm4uc3BsaXQoIjsiKVswXTt0PyhzPXQsInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJigwLG8uTFMpKHdpbmRvdyxhLHQpKTpzPSgwLG8uclYpKCgwLGkueSkoKSxhKX1yZXR1cm4gc312YXIgYz10KDU2NDQ5OCksbD10KDgxNzQxNSk7bGV0IEgsZD0iKG5vbmUpIjtmdW5jdGlvbiBmKCl7cmV0dXJuIEh9ZnVuY3Rpb24gUygpe2lmKCFkKXRocm93IG5ldyBFcnJvcigiT3B4IGhhcyBub3QgcmVzcG9uZGVkIHdpdGggdGhlIGNvbmZpZyB5ZXQiKTtyZXR1cm4gZH1mdW5jdGlvbiBwKGUpe2Q9ZX1mdW5jdGlvbiBDKGUpe0g9ZS50aGVuKChlPT57Y29uc3Qgbj1lLnNlc3Npb25JZDtyZXR1cm4gbiYmKDAsbC5BKShuKSxlfSkpfXZhciBBPXQoNDU4ODE3KTtmdW5jdGlvbiBJKCl7dmFyIGUsbjtyZXR1cm4gMD09KG51bGw9PShuPW51bGw9PShlPSgwLGkueSkoKSk/dm9pZCAwOmUubG9jYXRpb24pP3ZvaWQgMDpuLnBhdGhuYW1lLmluZGV4T2YoIi9ob3N0ZWQiKSl9Y29uc3QgUj1bInRlYW1zIiwib3V0bG9vayIsIm91dGxvb2t3aW4zMiIsIm9mZmljZSJdLGg9WyJkZXNrdG9wIiwid2ViIl07bGV0IHY7ZnVuY3Rpb24gbShlLG4pe2NvbnN0IHQ9W2Mua20sYy5VVixjLnJILGMuQnIsYy4kYl07bGV0IHI7KDAsQS5KSSkoImhvc3RBcHAiKT9yPSgwLEEubW4pKCJob3N0QXBwIikudG9Mb3dlckNhc2UoKTooMCxBLkpJKSgidGVzdEhvc3RBcHAiKSYmKHI9KDAsQS5tbikoInRlc3RIb3N0QXBwIikudG9Mb3dlckNhc2UoKSksciYmdC5pbmNsdWRlcyhyKSYmKHY9cik7Y29uc3Qgbz1JKCk7aWYoIXYmJm8pe2NvbnN0IHQ9KG51bGw9PWU/dm9pZCAwOmUudG9Mb3dlckNhc2UoKSl8fCIiLHI9KG51bGw9PW4/dm9pZCAwOm4udG9Mb3dlckNhc2UoKSl8fCIiO2UmJlIuaW5jbHVkZXModCkmJm4mJmguaW5jbHVkZXMocik/InRlYW1zIj09dD92PWMuVVY6Im91dGxvb2t3aW4zMiI9PXQ/dj1jLnJIOiJvdXRsb29rIj09dD8iZGVza3RvcCI9PXI/dj1jLkJyOiJ3ZWIiPT1yJiYodj1jLiRiKTp2PWMua206dj1jLmttfX1mdW5jdGlvbiBVKCl7cmV0dXJuIHZ9dmFyIE49dCg3Njc0NTcpO2Z1bmN0aW9uIGcoKXtyZXR1cm4oMCxOLkZLKSgpP2MuQjU6SSgpP1UoKTpTKCl9ZnVuY3Rpb24gSygpe3JldHVybiIvb3dhIn12YXIgeT10KDIwNDkyMyksdz10KDM1NDAyKTtmdW5jdGlvbiBiKCl7cmV0dXJuImV4Y2hhbmdlbGFicy5saXZlLWludC5jb20iPT09KDAsaS55KSgpLmxvY2F0aW9uLmhvc3R9bGV0IEUsTztmdW5jdGlvbiBrKGUpe3ZhciBuLHQ7Y29uc3Qgcj0oMCxpLnkpKCksbz1yLmRvY3VtZW50O2lmKCFFfHxlKXtjb25zdCBlPW51bGw9PShuPW51bGw9PW8/dm9pZCAwOm8uZG9jdW1lbnRFbGVtZW50KT92b2lkIDA6bi5jbGllbnRXaWR0aDtFPXIuaW5uZXJXaWR0aCYmZT9NYXRoLm1pbihyLmlubmVyV2lkdGgsZSk6ci5pbm5lcldpZHRofHxlfHwobnVsbD09KHQ9bnVsbD09bz92b2lkIDA6by5ib2R5KT92b2lkIDA6dC5jbGllbnRXaWR0aCl9cmV0dXJuIEV8fDB9ZnVuY3Rpb24geCgpe3JldHVybiBPfHwiRGVza3RvcCJ9dmFyIFQ9dCgzNzgwOTEpLFA9dCg4OTIyMjgpO2xldCBEO2Z1bmN0aW9uIEwoZSl7dmFyIG4sdCxyPSgwLGkueSkoKSxvPXIuZG9jdW1lbnQ7aWYoIUR8fGUpe2NvbnN0IGU9bnVsbD09KG49bnVsbD09bz92b2lkIDA6by5kb2N1bWVudEVsZW1lbnQpP3ZvaWQgMDpuLmNsaWVudEhlaWdodDtEPXIuaW5uZXJIZWlnaHQmJmU/TWF0aC5taW4oci5pbm5lckhlaWdodCxlKTpyLmlubmVySGVpZ2h0fHxlfHwobnVsbD09KHQ9bnVsbD09bz92b2lkIDA6by5ib2R5KT92b2lkIDA6dC5jbGllbnRIZWlnaHQpfXJldHVybiBEfHwwfXZhciBNPXQoOTQyMTI5KTtmdW5jdGlvbiBCKGUpe2NvbnN0IG49KDAsci5WSikoKTtyZXR1cm4hIShudWxsPT1lP3ZvaWQgMDplLnNvbWUoKGU9Pm5ldyBSZWdFeHAoYF4ke2V9JGApLnRlc3QobikpKSl9dmFyIFc9dCgzODk3NDMpLEY9dCg5MTM4MDQpO2xldCBqO2Z1bmN0aW9uIFYoKXtyZXR1cm4gan1mdW5jdGlvbiBaKCl7cmV0dXJuISFqfWZ1bmN0aW9uIHooZSl7aj1lfXZhciBxPXQoNjUzMzYwKTtjb25zdCBYPVsiQ0hFIiwiRVVSIiwiREVVIiwiR0JSIiwiRlJBIiwiWkFGIiwiQVJFIiwiU1dFIiwiTk9SIiwiUUFUIiwiSVNSIiwiUE9MIiwiRVNQIiwiSVRBIiwiUk9VIiwiQVVUIl07ZnVuY3Rpb24gWSgpe2NvbnN0IGU9KDAseS55XykoKXx8IiIsbj0obnVsbD09ZT92b2lkIDA6ZS5sZW5ndGgpPjM/ZS5zdWJzdHJpbmcoMCwzKTplO3JldHVybiBYLmluZGV4T2Yobi50b1VwcGVyQ2FzZSgpKT49MH19LDY1MzM2MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO2xldCByO2Z1bmN0aW9uIG8oKXtyZXR1cm4hIXJ9ZnVuY3Rpb24gaShlKXtyPWV9dC5kKG4se0Y6KCk9Pm8sSzooKT0+aX0pfSw0NzE3MTA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7TzooKT0+b30pO2NvbnN0IHI9L1wvW2EtejAtOS5fJSstXStAW2EtejAtOS4tXStcLlthLXpdezIsfVwvLztmdW5jdGlvbiBvKGUpe3ZhciBuO3JldHVybiEhKG51bGw9PShuPW51bGw9PWU/dm9pZCAwOmUubG9jYXRpb24pP3ZvaWQgMDpuLmhyZWYpJiZyLnRlc3QoZS5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCkpfX0sODkyMjI4OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1M6KCk9Pm99KTt2YXIgcj10KDExNzA0Nyk7ZnVuY3Rpb24gbygpe3JldHVybigwLHIueSkoKS5pc1B3YX19LDkxMzgwNDooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGV9dC5kKG4se1M6KCk9PnJ9KX0sMzc4MDkxOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4seyQ6KCk9PnUsRDooKT0+bH0pO3ZhciByPXQoODE3NDE1KTtjb25zdCBvPTIwNDgsaT1uZXcgUmVnRXhwKC8oW2EtekEtWjAtOStfXC4tXSspKEB8JTQwKShbXGRhLXpBLVpcLi1dKylcLihbYS16QS1aXC5dezIsNn0pLyksYT1uZXcgUmVnRXhwKC8oKHVzZXJcLylbYS16QS1aXSpcLykvZykscz1uZXcgUmVnRXhwKC8oKFw/YnJhbmNoPSlbYS16QS1aXSpcLSkvZyk7ZnVuY3Rpb24gdShlKXtpZihlKXtsZXQgbj0tMSx0PS0xO3RyeXtuPWUubGVuZ3RoLG4+byYmKGU9ZS5zdWJzdHJpbmcoMCxvKSksdD1lLmxlbmd0aCxlPWUuaW5kZXhPZigiPC9kaXY+Iik+LTF8fGUuaW5kZXhPZigiPC9zcGFuPiIpPi0xPyJET00gcHJlc2VudCI6ZnVuY3Rpb24oZSxuLHQpe3RyeXtlPWUuc3BsaXQoKDAsci5NKSgpKS5qb2luKCJSZXBsYWNlZFNlc3Npb25JZCIpfWNhdGNoKHIpe2U9YygiU2Vzc2lvbklkIixyLG4sdCl9cmV0dXJuIGV9KGU9ZnVuY3Rpb24oZSxuLHQpe3RyeXtsZXQgbj1udWxsO2Zvcig7bnVsbCE9PShuPWkuZXhlYyhlKSk7KWU9ZS5yZXBsYWNlKG5bMF0sIkVtYWlsUGlpIil9Y2F0Y2gocil7ZT1jKCJFbWFpbCIscixuLHQpfXJldHVybiBlfShlLG4sdCksbix0KX1jYXRjaChyKXtlPWMoIlVua25vd24iLHIsbix0KX19cmV0dXJuIG51bGwhPWU/ZTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm5gRXJyb3JTY3J1YmluZ1BpaV8ke2V9LiAke3IhPT1vJiZgT3JpZ2luYWwgVmFsdWUgTGVuZ3RoOiAke3R9LiBTdWJzdHJpbmcgVmFsdWUgTGVuZ3RoOiAke3J9LmB9IE9yaWdpbmFsIEVycm9yOiAke251bGw9PW4/dm9pZCAwOm4ubWVzc2FnZX0uIENhbGxzdGFjazogJHtudWxsPT1uP3ZvaWQgMDpuLnN0YWNrfWB9ZnVuY3Rpb24gbChlKXtpZihlKXtpZihlLmluZGV4T2YoIjpcXCIpPi0xKXtjb25zdCBuPWUuc3BsaXQoIlxcIik7blsyXT0iTG9jYWxQYXRoUGlpIixlPW4uam9pbigiXFwiKX1lbHNlIGlmKDA9PWUuaW5kZXhPZigiL2hvbWUvIil8fDA9PWUuaW5kZXhPZigiL1VzZXJzLyIpfHwwPT1lLmluZGV4T2YoIi9Wb2x1bWVzLyIpKXtjb25zdCBuPWUuc3BsaXQoIi8iKTtuWzJdPSJMb2NhbFBhdGhQaWkiLGU9bi5qb2luKCIvIil9ZS5pbmRleE9mKCIvdXNlci8iKT49MCYmKGU9ZS5yZXBsYWNlKGEsInVzZXIvVXNlclBpaS8iKSksZS5pbmRleE9mKCI/YnJhbmNoPSIpPj0wJiYoZT1lLnJlcGxhY2UocywiP2JyYW5jaD1Vc2VyUGlpLSIpKX1yZXR1cm4gZX19LDU2NDQ5ODooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtPSDooKT0+cixGQTooKT0+byxLeTooKT0+aSxNOTooKT0+YSxjeDooKT0+cyxmNjooKT0+dSxCNTooKT0+YyxnTTooKT0+bCx2ajooKT0+SCxlSTooKT0+ZCxzbTooKT0+ZixaQjooKT0+UyxySDooKT0+cCxVVjooKT0+QyxrbTooKT0+QSwkYjooKT0+SSxCcjooKT0+UixyVDooKT0+aCxuQjooKT0+dixueTooKT0+bSxpdzooKT0+VSxBTzooKT0+Tn0pO2NvbnN0IHI9Im91dGxvb2tkZXNrdG9wIixvPSJtYWNvdXRsb29rIixpPSJpb3NvdXRsb29rIixhPSJhbmRyb2lkb3V0bG9vayIscz0ib3V0bG9va2xpdGUiLHU9Im91dGxvb2tleHRlbnNpb24iLGM9Im5hdGl2ZSIsbD0ibzM2NXNoZWxsIixIPSJ0ZWFtcyIsZD0iYW5kcm9pZHRlYW1zIixmPSJpb3N0ZWFtcyIsUz0id2lkZ2V0IixwPSJ3aW4zMm91dGxvb2todWIiLEM9InRlYW1zaHViIixBPSJodWIiLEk9Im93YWh1YiIsUj0ibW9uYXJjaGh1YiIsaD0iYW5kcm9pZGh1YiIsdj0iaW9zb3V0bG9va2h1YiIsbT0ibWFjb3V0bG9va2h1YiIsVT0ic2hhcmVwb2ludCIsTj0ibG9vcGFwcCJ9LDM4OTc0MzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtlOigpPT5pfSk7dmFyIHI9dCgxMTcwNDcpO2NvbnN0IG89LyglWzAtOUEtWl17Mn0pKy9nO2Z1bmN0aW9uIGkoZSl7Y29uc3Qgbj0oMCxyLnkpKCkuY29va2llLHQ9bj9uLnNwbGl0KCI7ICIpOltdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl0uc3BsaXQoIj0iKTtpZihyWzBdLnJlcGxhY2UobyxkZWNvZGVVUklDb21wb25lbnQpPT1lKXtsZXQgZT1yLnNsaWNlKDEpLmpvaW4oIj0iKTtyZXR1cm4nIic9PT1lLmNoYXJBdCgwKSYmKGU9ZS5zbGljZSgxLC0xKSksZS5yZXBsYWNlKG8sZGVjb2RlVVJJQ29tcG9uZW50KX19fX0sMzU1NTQ1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3E6KCk9Pml9KTt2YXIgcj10KDY5MDQ2KTtjb25zdCBvPVsiSW52YWxpZExpY2Vuc2UiLCJUZW5hbnRBY2Nlc3NCbG9ja2VkIiwiVXNlckhhc05vTWFpbGJveCIsIkFjY291bnREaXNhYmxlZCIsIkVycm9yTm9uRXhpc3RlbnRNYWlsYm94IiwiRXJyb3JNZXNzYWdlU2l6ZUV4Y2VlZGVkIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxyLmcpKG8sZSl9fSw3Mjc4MzU6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7bTooKT0+aX0pO3ZhciByPXQoNjkwNDYpO2NvbnN0IG89WyJvdXQgb2YgbWVtb3J5Iiwibm90IGVub3VnaCBzdG9yYWdlIiwibm90IGVub3VnaCBtZW1vcnkgcmVzb3VyY2VzIiwiZXNwYWNpbyBkZSBhbG1hY2VuYW1pZW50byBpbnN1ZmljaWVudGUiLCJpbnN1ZmZpc2FudGUgcG91ciBjZXR0ZSIsIm5vIGhheSBzdWZpY2llbnRlIGVzcGFjaW8gZGUgcGlsYSIsImVzcGFjZSBwaWxlIGluc3VmZmlzYW50IiwiTWVtb3JpYSBlc2F1cml0YSIsIk3DqW1vaXJlIGluc3VmZmlzYW50ZSIsIk1lbW9yaWEgaW5zdWZpY2llbnRlIiwiTWVtw7NyaWEgaW5zdWZpY2llbnRlIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxyLmcpKG8sZSl9fSw2MTU0NzA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7ZTooKT0+aX0pO3ZhciByPXQoNjkwNDYpO2NvbnN0IG89WyI6IFN5bnRheCBlcnJvciIsIlN5bnRheEVycm9yOiIsIkEgbmV0d29yayBlcnJvciBvY2N1cnJlZCIsIkZhaWxlZCB0byBmZXRjaCIsIk5ldHdvcmtFcnJvciIsIk5ldHdvcmsgcmVxdWVzdCBmYWlsZWQiLCJJbnRlcm5ldCBjb25uZWN0aW9uIGFwcGVhcnMgdG8gYmUiLCJUaGUgbmV0d29yayBjb25uZWN0aW9uIHdhcyBsb3N0LiIsIkNvdWxkIG5vdCBjb25uZWN0IHRvIHRoZSBzZXJ2ZXIiLCJjYW5jZWxsZWQuIFVSTDoiLCJFcnJvclNlc3Npb25UaW1lb3V0IiwiTG9hZGluZyBjaHVuayAiLCJVbmV4cGVjdGVkIHNlcnZlciByZXNwb25zZSAoMCkiLCJVbmV4cGVjdGVkIGVuZCBvZiBKU09OIGlucHV0IiwiVW5leHBlY3RlZCB0b2tlbiIsIkludmFsaWQgY2hhcmFjdGVyIiwiVW5leHBlY3RlZCBlbmQgb2YgaW5wdXQiLCJUaGUgb3BlcmF0aW9uIHdhcyBhYm9ydGVkIiwiRmFpbGVkIHRvIGxvYWQgamF2YXNjcmlwdCIsImRpc2FibGVBbGxSZXF1ZXN0cyIsIlRoZSBzZXJ2aWNlIHdvcmtlciBuYXZpZ2F0aW9uIHByZWxvYWQgcmVxdWVzdCBmYWlsZWQgZHVlIHRvIGEgbmV0d29yayBlcnJvciIsIlR5cGVFcnJvcjogTG9hZCBmYWlsZWQiLCJSZXF1ZXN0IGZhaWxlZCB0byBjb21wbGV0ZSJdO2Z1bmN0aW9uIGkoZSxuKXtyZXR1cm4oMCxyLmcpKG8sZSl8fChudWxsPT1uP3ZvaWQgMDpuLm5ldHdvcmtFcnJvcil8fCJDU1NfQ0hVTktfTE9BRF9GQUlMRUQiPT09KG51bGw9PW4/dm9pZCAwOm4uY29kZSl9fSwyODA0NTQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7dTooKT0+aX0pO3ZhciByPXQoNjkwNDYpO2NvbnN0IG89WyJjaHJvbWUtZXh0ZW5zaW9uOi8vIiwiZmlsZTovLy8iLCJidGdsc3MubmV0LyIsIigvVXNlcnMvIiwiKC9BcHBsaWNhdGlvbnMvIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxyLmcpKG8sZSl9fSw2OTA0NjooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSxuKXtyZXR1cm4hIW4mJmUuc29tZSgoZT0+bi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZS50b0xvd2VyQ2FzZSgpKT4tMSkpfXQuZChuLHtnOigpPT5yfSl9LDg1MjMxMzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtwOigpPT5pfSk7dmFyIHI9dCg2OTA0Nik7Y29uc3Qgbz1bIk92ZXJCdWRnZXQiLCJUb29NYW55T2JqZWN0c09wZW5lZCIsIkVycm9yU2VydmVyQnVzeSIsIk1haWxib3hTdG9yZVVuYXZhaWxhYmxlIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxyLmcpKG8sZSl9fSw5OTU1Mjc6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7aTooKT0+aX0pO3ZhciByPXQoNjkwNDYpO2NvbnN0IG89WyJDb25uZWN0aW9uRmFpbGVkVHJhbnNpZW50IiwiU3RvcmFnZVRyYW5zaWVudCIsIk93YUxvY2tUcmFja2FibGVUaW1lb3V0IiwiTWFpbGJveEluVHJhbnNpdCIsIk1haWxib3hJbmZvU3RhbGUiLCJNYWlsYm94Q3Jvc3NTaXRlRmFpbG92ZXIiLCJPd2FMb2NrVGltZW91dCIsIkRDT3ZlcmxvYWRlZCIsIkVycm9ySW50ZXJuYWxTZXJ2ZXJUcmFuc2llbnRFcnJvciIsIkVycm9yUmlnaHRzTWFuYWdlbWVudFRyYW5zaWVudEV4Y2VwdGlvbiJdO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5nKShvLGUpfX0sNzg3MzI3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3JWOigpPT5yLnJWLExTOigpPT5yLkxTLGNsOigpPT5yLmNsLGpqOigpPT5yLmpqLGx6OigpPT5yLmx6LGttOigpPT5yLmttLERYOigpPT5yLkRYLFAwOigpPT5vLlAwLFhsOigpPT5vLlhsfSk7dmFyIHI9dCgyMjczNTIpLG89dCgzNTg2OTUpfSwyMjczNTI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7TFM6KCk9PmEsclY6KCk9PnMsY2w6KCk9PnUsbHo6KCk9PmMsa206KCk9Pmwsamo6KCk9PkgsRFg6KCk9PmR9KTt2YXIgcj10KDExNzA0Nyksbz10KDY5MzY5Nik7Y29uc3QgaT0ib2xrLSI7ZnVuY3Rpb24gYShlLG4sdCl7dmFyIGE7Y29uc3Qgcz0oMCxvLmE0KSgibG9jYWxTdG9yYWdlT3dhUHJlZml4IiksdT1zP2krbjpuLGM9cz9uOmkrbjt0cnl7aWYoZChlKSllLmxvY2FsU3RvcmFnZS5zZXRJdGVtKHUsdCksZS5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShjKTtlbHNle2NvbnN0IGU9KDAsci55KSgpO251bGw9PShhPW51bGw9PWU/dm9pZCAwOmUubG9jYWxTdG9yYWdlKXx8YS5zZXRJdGVtKHUsdCl9fWNhdGNoKGUpe319ZnVuY3Rpb24gcyhlLG4pe3ZhciB0LGE7dHJ5e2NvbnN0IHM9KDAsby5hNCkoImxvY2FsU3RvcmFnZU93YVByZWZpeCIpLHU9cz9pK246bixjPXM/bjppK247aWYoZChlKSlyZXR1cm4gZS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh1KXx8ZS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShjKTt7Y29uc3QgZT0oMCxyLnkpKCk7cmV0dXJuKG51bGw9PSh0PW51bGw9PWU/dm9pZCAwOmUubG9jYWxTdG9yYWdlKT92b2lkIDA6dC5nZXRJdGVtKHUpKXx8KG51bGw9PShhPW51bGw9PWU/dm9pZCAwOmUubG9jYWxTdG9yYWdlKT92b2lkIDA6YS5nZXRJdGVtKGMpKX19Y2F0Y2goZSl7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHUoZSxuKXtpZihkKGUpKXRyeXtlLmxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pP2UubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obik6ZS5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShpK24pfWNhdGNoKGUpe319ZnVuY3Rpb24gYyhlKXtpZihkKGUpKXRyeXtyZXR1cm4gZS5sb2NhbFN0b3JhZ2UubGVuZ3RofWNhdGNoKGUpe31yZXR1cm4gMH1mdW5jdGlvbiBsKGUsbil7aWYoZChlKSl0cnl7Y29uc3QgdD1SZWdFeHAoIl5vbGstIikscj1lLmxvY2FsU3RvcmFnZS5rZXkobik7aWYocilyZXR1cm4gbnVsbD09cj92b2lkIDA6ci5yZXBsYWNlKHQsIiIpfWNhdGNoKGUpe31yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUsbil7cmV0dXJuIG51bGwhPT0ocyhlLG4pfHxzKGUsaStuKSl9ZnVuY3Rpb24gZChlKXt0cnl7cmV0dXJuIGUmJiEhZS5sb2NhbFN0b3JhZ2V9Y2F0Y2goZSl7cmV0dXJuITF9fX0sMzU4Njk1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1AwOigpPT5vLFhsOigpPT5pfSk7dmFyIHI9dCgyMjczNTIpO3QoNDIyODY2KTtmdW5jdGlvbiBvKGUsbil7KDAsci5MUykoc2VsZixlLG4pfWZ1bmN0aW9uIGkoZSl7KDAsci5jbCkoc2VsZixlKX19LDM1NDg0MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtLOigpPT5hfSk7dmFyIHI9dCgyNjkzOTkpO2NvbnN0IG89e30saT0ibG9jYWxlcyI7ZnVuY3Rpb24gYShlLG4sdCl7dCYmKDAsci5oWSkoaSk7bGV0IGE9b1tlXTtyZXR1cm4gYT90JiYoMCxyLkViKShpKTooKDAsci55SSkoImxjX3MiLG58fCJ3cCIpLGE9YXN5bmMgZnVuY3Rpb24oZSl7bGV0IG4sdD1lO3UuaGFzKGUpP3Q9L2JPPVxkKy8udGVzdChlKT9lOmAke2V9JHtlLmluY2x1ZGVzKCI/Iik/IiYiOiI/In1iTz0xYDp1LmFkZChlKTt0cnl7bj1hd2FpdCBmZXRjaCh0KX1jYXRjaChlKXt0aHJvdyBjKGUsdCwhMCwwKX1jb25zdCByPW4uc3RhdHVzO2lmKDIwMCE9cil0aHJvdyBjKG51bGwsdCxyPj01MDB8fDQwND09PXJ8fDQxOD09cixyKTtsZXQgbzt0cnl7bz1hd2FpdCBuLnRleHQoKTtjb25zdCB0PUpTT04ucGFyc2Uobyk7cmV0dXJuIHUuZGVsZXRlKGUpLHR9Y2F0Y2goZSl7dGhyb3cgYyhlLHQsITEsdm9pZCAwLG8pfX0oZSksdCYmYS50aGVuKCgoKT0+eygwLHIuRWIpKGkpfSkpLG4mJihvW2VdPWEsYS5jYXRjaCgoKCk9PntkZWxldGUgb1tlXX0pKSkpLGF9Y29uc3Qgcz0iYk89MSIsdT1uZXcgU2V0O2Z1bmN0aW9uIGMoZSxuLHQscixvKXtjb25zdCBpPW5ldyBFcnJvcigiRmFpbGVkIHRvIGxvYWQgbG9jYWxpemVkIHN0cmluZ3MiKTtyZXR1cm4gdD10fHxlIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9ufHxlIGluc3RhbmNlb2YgVHlwZUVycm9yfHwhbi5pbmNsdWRlcyhzKSxpLmRpYWdub3N0aWNJbmZvPUpTT04uc3RyaW5naWZ5KHt1cmw6bixzdGF0dXM6cixpbm5lckVycm9yOm51bGw9PWU/dm9pZCAwOmUubWVzc2FnZSxyZXNwb25zZTpvP28uaW5kZXhPZignPG1ldGEgbmFtZT0ic2NyaXB0VmVyIiAnKT4tMT8iaW5kZXggcGFnZSI6InVua25vd24iOiJub25lIn0pLGkucmVxdWVzdD1uLHQmJihpLm5ldHdvcmtFcnJvcj0hMCksaS5odHRwU3RhdHVzPXIsaX19LDIzMjIyNjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtLZDooKT0+ci5LLHokOigpPT5vLnokLENaOigpPT5vLkNaLE5POigpPT5vLk5PLHdwOigpPT5pfSk7dmFyIHI9dCgzNTQ4NDApLG89dCgxMzYzNjApO2NvbnN0IGk9Ik93YUxvY2FsZSJ9LDEzNjM2MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHt6JDooKT0+dSxOTzooKT0+YyxDWjooKT0+bH0pO3ZhciByPXQoMzU0ODQwKSxvPXQoNzg3MzI3KSxpPXQoNzQwNTQ1KTtjb25zdCBhPSJPd2FQcmVsb2FkU3RyaW5ncyI7bGV0IHM9W107ZnVuY3Rpb24gdShlKXt2YXIgbjt0cnl7Y29uc3QgdD0oMCxvLnJWKShzZWxmLCgwLGkuTXEpKCkrYSk7aWYodCl7Y29uc3Qgbz1KU09OLnBhcnNlKHQpO2lmKChudWxsPT0obj1vWzBdKT92b2lkIDA6bi5pbmRleE9mKCgwLGkuVkopKCkpKT4tMSlmb3IoY29uc3QgbiBvZiBvKSgwLHIuSykobixlKX19Y2F0Y2goZSl7fX1mdW5jdGlvbiBjKGUpe3MmJnMucHVzaChlKX1mdW5jdGlvbiBsKCl7KDAsby5MUykoc2VsZiwoMCxpLk1xKSgpK2EsSlNPTi5zdHJpbmdpZnkocykpLHM9dm9pZCAwfX0sMTU2MzM0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se01fOigpPT5vLHROOigpPT5pLHIwOigpPT5zLEFaOigpPT5jfSk7bGV0IHI9ITE7ZnVuY3Rpb24gbygpe3JldHVybiByfWZ1bmN0aW9uIGkoZSl7cj1lfWxldCBhPSExO2Z1bmN0aW9uIHMoZSl7YT1lfWxldCB1PSExO2Z1bmN0aW9uIGMoZSl7dT1lfX0sNjQ1MDUzOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0FrOigpPT5hLHI2OigpPT5zLEZoOigpPT51LCRzOigpPT5jLHFTOigpPT5sLG9ROigpPT5ILGVGOigpPT5kLHhrOigpPT5mLGFkOigpPT5TLHplOigpPT5wLEc6KCk9PkMsbDk6KCk9PkEsS0U6KCk9PkksWXo6KCk9PlIsVDQ6KCk9PmgsZE86KCk9PnYsaEQ6KCk9Pm0sZko6KCk9PlUsTV86KCk9Pm8uTV8sTkg6KCk9Pk59KTt2YXIgcj10KDYwNDE5MSksbz10KDE1NjMzNCk7Y29uc3QgaT1uZXcgci5IZCgoKCk9PlByb21pc2UuYWxsKFt0LmUoNjIxODYpLHQuZSg5MDE0MCldKS50aGVuKHQuYmluZCh0LDQ5MDE0MCkpKSksYT1uZXcgci5fNShpLChlPT5lLmdldEF1dGhUb2tlbkZyb21NZXRhT3NIdWIpKSxzPW5ldyByLl81KGksKGU9PmUuZ2V0T3dhQXV0aFRva2VuRnJvbU1ldGFPc0h1YikpLHU9KG5ldyByLl81KGksKGU9PmUub3BlbkNhbGVuZGFySXRlbSkpLG5ldyByLl81KGksKGU9PmUuY29tcG9zZU1lZXRpbmcpKSxuZXcgci5fNShpLChlPT5lLm9wZW5NYWlsSXRlbSkpKSxjPW5ldyByLl81KGksKGU9PmUuY29tcG9zZU1haWwpKSxsPW5ldyByLl81KGksKGU9PmUuZXhlY3V0ZURlZXBMaW5rKSksSD1uZXcgci5fNShpLChlPT5lLmdldENvbnRleHQpKSxkPShuZXcgci5fNShpLChlPT5lLmNoZWNrQ2FsZW5kYXJDYXBhYmlsaXR5KSksbmV3IHIuXzUoaSwoZT0+ZS5jaGVja01haWxDYXBhYmlsaXR5KSksbmV3IHIuXzUoaSwoZT0+ZS5jaGVja0RpYWxvZ0NhcGFiaWxpdHkpKSxuZXcgci5fNShpLChlPT5lLmlzRGFya1RoZW1lKSkpLGY9KG5ldyByLl81KGksKGU9PmUuam9pblRlYW1zTWVldGluZykpLG5ldyByLl81KGksKGU9PmUubW9kYWxPcGVuZWQpKSxuZXcgci5fNShpLChlPT5lLnN1Ym1pdFRhc2spKSxuZXcgci5fNShpLChlPT5lLm5vdGlmeVN1Y2Nlc3MpKSksUz0obmV3IHIuXzUoaSwoZT0+ZS5ub3RpZnlGYWlsdXJlKSksbmV3IHIuXzUoaSwoZT0+ZS5ub3RpZnlPdGhlckZhaWx1cmUpKSxuZXcgci5fNShpLChlPT5lLm5vdGlmeUFwcExvYWRlZCkpKSxwPShuZXcgci5fNShpLChlPT5lLnJlZ2lzdGVySXNEYXJrVGhlbWVPbkNoYW5nZUhhbmRsZXIpKSxuZXcgci5fNShpLChlPT5lLmluaXRpYWxpemVNZXRhT3NDYXBhYmlsaXRpZXMpKSksQz1uZXcgci5fNShpLChlPT5lLmhhbmRsZVRoZW1lQ2hhbmdlKSksQT1uZXcgci5fNShpLChlPT5lLmlzTWV0YU9zQXBwU2RrSW5pdGlhbGl6ZWQpKSxJPW5ldyByLl81KGksKGU9PmUuaW5pdGlhbGl6ZU1ldGFPc0FwcFNkaykpLFI9bmV3IHIuXzUoaSwoZT0+ZS5yZWdpc3Rlck9uTG9hZEhhbmRsZXIpKSxoPW5ldyByLl81KGksKGU9PmUucmVnaXN0ZXJCZWZvcmVVbmxvYWRIYW5kbGVyKSksdj1uZXcgci5fNShpLChlPT5lLnN0YXJ0Q2FsbCkpLG09bmV3IHIuXzUoaSwoZT0+ZS5vcGVuQ2hhdCkpLFU9bmV3IHIuXzUoaSwoZT0+ZS5vcGVuR3JvdXBDaGF0KSksTj0obmV3IHIuXzUoaSwoZT0+ZS5vcGVuKSksbmV3IHIuXzUoaSwoZT0+ZS5jbG9zZSkpKX0sNzQ1Mzk5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7bGV0IHI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gcnx8KHI9aSgpKSxyW2VdfWZ1bmN0aW9uIGkoKXtjb25zdCBlPUFycmF5LmZyb20od2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJtZXRhIikpLG49e307Zm9yKGNvbnN0IHQgb2YgZSluW3QubmFtZV09dC5jb250ZW50O3JldHVybiBufWZ1bmN0aW9uIGEoZSl7cj1lfXQuZChuLHtaUDooKT0+byxQdjooKT0+aSxwYjooKT0+YX0pfSwxOTM5MzM6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7d0I6KCk9PmEsY2c6KCk9PnMsYSQ6KCk9PnV9KTt2YXIgcj10KDc0NTM5OSk7ZnVuY3Rpb24gbyhlPSIiLG49IiIpe2lmKGUmJmUuaW5kZXhPZigiLyIpPi0xJiZuKXJldHVybiBlK259Y29uc3QgaT0iQ29sbGVjdG9yLzMuMC8iLGE9Ik9uZUNvbGxlY3Rvci8xLjAvIjtmdW5jdGlvbiBzKCl7cmV0dXJuIG8oKDAsci5aUCkoImFyaWFVcmwiKSxpKX1mdW5jdGlvbiB1KCl7cmV0dXJuIG8oKDAsci5aUCkoImFyaWFVcmwiKSxhKX19LDUzODY1MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtvSDooKT0+YSx1RDooKT0+cyxzajooKT0+YyxfQTooKT0+bH0pO3ZhciByPXQoNzQ1Mzk5KTtjb25zdCBvPVsiVW5rbm93biIsIldXIiwiRG9nZm9vZCIsIlNJUCIsIkJsYWNrRm9yZXN0IiwiRE9OTVQiLCJNU0lUIiwiR2FsbGF0aW4iLCJTREZWMiIsIlBEVCIsIlRERiIsIklUQVIiXSxpPVsiVW5rbm93biIsIkFHMDgiLCJBRzA5IiwiQmxhY2tGb3Jlc3QiLCJESVRBUiIsIkRvRCIsIkRvZ2Zvb2QiLCJHYWxsYXRpbiIsIkdDQ01vZGVyYXRlIiwiR2NjSGlnaCIsIkdvdkNsb3VkIiwiSVRBUiIsIlByb2QiXTtmdW5jdGlvbiBhKCl7Y29uc3QgZT0oKDAsci5aUCkoInBoeXNpY2FsUmluZyIpfHwiIikudG9Mb3dlckNhc2UoKTtyZXR1cm4gby5maWx0ZXIoKG49Pm4udG9Mb3dlckNhc2UoKT09PWUpKVswXXx8IlVua25vd24ifWZ1bmN0aW9uIHMoKXtjb25zdCBlPSgoMCxyLlpQKSgiZW52aXJvbm1lbnQiKXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGkuZmlsdGVyKChuPT5uLnRvTG93ZXJDYXNlKCk9PT1lKSlbMF18fCJVbmtub3duIn1sZXQgdTtmdW5jdGlvbiBjKCl7aWYodm9pZCAwPT09dSl7Y29uc3QgZT1hKCk7dT0iRG9nZm9vZCI9PWV8fCJTREZWMiI9PWV8fCJEb2dmb29kIj09cygpfXJldHVybiB1fWZ1bmN0aW9uIGwoKXtjb25zdCBlPXMoKTtyZXR1cm4iQUcwOCI9PWV8fCJBRzA5Ij09ZX19LDY5MzY5NjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHthNDooKT0+YSxJTDooKT0+cyxVNzooKT0+dX0pO3ZhciByPXQoNzQ1Mzk5KTtsZXQgbyxpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHMoKS5pbmRleE9mKGUpPi0xfWZ1bmN0aW9uIHMoKXtpZighbyl7Y29uc3QgZT0oMCxyLlpQKSgiYm9vdEZsaWdodHMiKTtvPWU/ZS5zcGxpdCgiLCIpLm1hcCgoZT0+ZS5zcGxpdCgiOiIpWzBdKSk6W119cmV0dXJuIG99ZnVuY3Rpb24gdSgpe2lmKCFpKXtjb25zdCBlPSgwLHIuWlApKCJib290RmxpZ2h0cyIpO2k9ZT9lLnNwbGl0KCIsIik6W119cmV0dXJuIGl9fSwyNjkzOTk6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7Um46KCk9PkgseUk6KCk9PnYsYno6KCk9PmcsQW86KCk9PnUsVlQ6KCk9PnAscGk6KCk9PmQsTiQ6KCk9Pm0seGI6KCk9PmYsYmQ6KCk9PkssRWI6KCk9PkksdDg6KCk9PkMsaFk6KCk9PkEsSlk6KCk9PlUsUXE6KCk9Pmh9KTt2YXIgcj10KDUzODY1Miksbz10KDQ1ODgxNyksaT10KDQyMjg2Nik7Y29uc3QgYT1udWxsPT1zZWxmP3ZvaWQgMDpzZWxmLnBlcmZvcm1hbmNlLHM9e307ZnVuY3Rpb24gdSgpe3JldHVybiBpLmc0LnZlcmJvc2UoIltCb290TWVtb3J5XSBnZXRCb290TWVtb3J5ICIrcyksSlNPTi5zdHJpbmdpZnkocyl9Y29uc3QgYz1udWxsPT1zZWxmP3ZvaWQgMDpzZWxmLnBlcmZvcm1hbmNlLGw9e307ZnVuY3Rpb24gSChlKXsoMCxvLkpJKSgiYnBtIikmJnNlbGYucGVyZm9ybWFuY2UubWFyayhlKSxjJiYobFtlXT1NYXRoLmZsb29yKHBlcmZvcm1hbmNlLm5vdygpKSxmdW5jdGlvbihlKXtpZihhKXtjb25zdCBuPXNlbGYucGVyZm9ybWFuY2U7bi5tZW1vcnkmJihzW2VdPXtzaXplOm4ubWVtb3J5LnVzZWRKU0hlYXBTaXplfSl9fShlKSl9ZnVuY3Rpb24gZCgpe3ZhciBlLG47Y29uc3QgdD1jJiZzZWxmLnBlcmZvcm1hbmNlLnRpbWluZztpZih0JiYobC5pbl9lPXQucmVzcG9uc2VFbmQtdC5mZXRjaFN0YXJ0LCgwLHIuc2opKCkpKXtjb25zdCByPXQubmF2aWdhdGlvblN0YXJ0LG89YyYmKG51bGw9PShuPW51bGw9PShlPXNlbGYucGVyZm9ybWFuY2UpP3ZvaWQgMDplLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKSk/dm9pZCAwOm5bMF0pLGk9KG51bGw9PW8/dm9pZCAwOm8ud29ya2VyU3RhcnQpfHwwLGE9U3RyaW5nLmZyb21DaGFyQ29kZSguLi5bdC5yZWRpcmVjdFN0YXJ0LXIsdC5yZWRpcmVjdEVuZC1yLHQudW5sb2FkRXZlbnRTdGFydC1yLHQudW5sb2FkRXZlbnRFbmQtcix0LmZldGNoU3RhcnQtcix0LmRvbWFpbkxvb2t1cFN0YXJ0LXIsdC5kb21haW5Mb29rdXBFbmQtcix0LmNvbm5lY3RTdGFydC1yLHQuc2VjdXJlQ29ubmVjdGlvblN0YXJ0LXIsdC5jb25uZWN0RW5kLXIsdC5yZXF1ZXN0U3RhcnQtcix0LnJlc3BvbnNlU3RhcnQtcix0LnJlc3BvbnNlRW5kLXIsdC5kb21Mb2FkaW5nLXIsdC5kb21JbnRlcmFjdGl2ZS1yLHQuZG9tQ29tcGxldGUtcix0LmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0LXIsdC5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQtcix0LmxvYWRFdmVudFN0YXJ0LXIsdC5sb2FkRXZlbnRFbmQtcixpXS5tYXAoKGU9Pk1hdGgubWluKE1hdGgubWF4KGUsMCksMTExNDExMSkpKSk7bC5mbD1hfXJldHVybiBKU09OLnN0cmluZ2lmeShsKX1mdW5jdGlvbiBmKCl7Y29uc3QgZT1PYmplY3Qua2V5cyhsKS5maWx0ZXIoKGU9PmUuaW5kZXhPZigiX2UiKT4tMSkpLnJlZHVjZSgoKGUsbik9Pntjb25zdCB0PW4uc3BsaXQoIl8iKVswXSxyPWxbdCsiX3MiXSxvPWxbdCsiX2UiXTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHImJiJudW1iZXIiPT10eXBlb2YgbyYmKGVbdF09by1yKSxlfSkse30pO3JldHVybiBKU09OLnN0cmluZ2lmeShlKX1sZXQgUz0ibm9uZSI7ZnVuY3Rpb24gcCgpe3ZhciBlLG47aWYoYyl7Y29uc3QgdD1udWxsPT0obj1udWxsPT0oZT1zZWxmLnBlcmZvcm1hbmNlKT92b2lkIDA6ZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpKT92b2lkIDA6blswXSxyPW51bGw9PXQ/dm9pZCAwOnQubmV4dEhvcFByb3RvY29sO251bGwhPXImJihTPXIpfXJldHVybiBTfWZ1bmN0aW9uIEMoZSxuKXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQpe3JldHVybiBmdW5jdGlvbiguLi5yKXtuKCk7bGV0IG89ZSguLi5yKTtyZXR1cm4obnVsbD09bz92b2lkIDA6by50aGVuKT9vPW8udGhlbigoZT0+KHQoKSxlKSkpOnQoKSxvfX0oZSwoKCk9PkEobikpLCgoKT0+SShuKSkpfWZ1bmN0aW9uIEEoZSl7SChgJHtlfV9zYCl9ZnVuY3Rpb24gSShlKXtjb25zdCBuPWAke2V9X2VgO0gobiksKDAsby5KSSkoImJwbSIpJiZzZWxmLnBlcmZvcm1hbmNlLm1lYXN1cmUoZSxgJHtlfV9zYCxuKX1jb25zdCBSPXt9O2Z1bmN0aW9uIGgoZSxuKXtmb3IodmFyIHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3Qgcj1uW3RdLmtleTtyJiZuW3RdLnByb21pc2UudGhlbigobj0+e1JbZV09cn0pKS5jYXRjaCgoKCk9Pnt9KSl9Y29uc3Qgcj1uLm1hcCgoZT0+ZS5wcm9taXNlKSk7dHJ5e3JldHVybiBQcm9taXNlLmFsbChyKX1jYXRjaChlKXtjb25zdCB0PXtwazp0eXBlb2YgbixwdDp0eXBlb2YgcixzdDp0eXBlb2Ygc2VsZi5TeW1ib2wsc3RpOnR5cGVvZiBTeW1ib2wuaXRlcmF0b3J9O3Rocm93IG4mJih0LnBrbD1uLmxlbmd0aCksciYmKHQucGw9ci5sZW5ndGgsU3ltYm9sLml0ZXJhdG9yJiYodC5waT10eXBlb2YgcltTeW1ib2wuaXRlcmF0b3JdKSksZS5kaWFnbm9zdGljSW5mbz1KU09OLnN0cmluZ2lmeSh0KSxlfX1mdW5jdGlvbiB2KGUsbil7UltlXXx8KFJbZV09bil9ZnVuY3Rpb24gbSgpe3JldHVybiBKU09OLnN0cmluZ2lmeShSKX1mdW5jdGlvbiBVKGUpe3JldHVybiBzZWxmLmRvY3VtZW50JiYidmlzaWJsZSI9PXNlbGYuZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3NlbGYucmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe2UoITApfSkpOnZvaWQgZSghMSl9Y29uc3QgTj17fTtmdW5jdGlvbiBnKGUsbil7aWYoIU5bZV0mJiJQZXJmb3JtYW5jZU9ic2VydmVyImluIHNlbGYmJiJzdXBwb3J0ZWRFbnRyeVR5cGVzImluIHNlbGYuUGVyZm9ybWFuY2VPYnNlcnZlciYmc2VsZi5QZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuc29tZSgobj0+bj09ZSkpKXtjb25zdCBuPVtdLHQ9bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGU9PntuLm1hcCgobj0+bihlLmdldEVudHJpZXMoKSkpKX0pKTtOW2VdPXtvYnNlcnZlcjp0LGNhbGxiYWNrczpufSx0Lm9ic2VydmUoe2VudHJ5VHlwZXM6W2VdfSl9Y29uc3QgdD1OW2VdO3JldHVybiB0JiZ0LmNhbGxiYWNrcy5wdXNoKG4pLG51bGw9PXQ/dm9pZCAwOnQub2JzZXJ2ZXJ9ZnVuY3Rpb24gSygpe3JldHVybiBzZWxmLnBlcmZvcm1hbmNlP3NlbGYucGVyZm9ybWFuY2Uubm93KCk6RGF0ZS5ub3coKX19LDMwNzI3NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO2xldCByO2Z1bmN0aW9uIG8oZSl7cj1lfWZ1bmN0aW9uIGkoKXtyZXR1cm4gcn10LmQobix7ZzooKT0+byxGOigpPT5pfSl9LDQ1ODgxNzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtuTTooKT0+YSxfQzooKT0+cyxtbjooKT0+dSxKSTooKT0+YyxXTTooKT0+SCxoajooKT0+ZCxyTzooKT0+UyxQejooKT0+cCxyYzooKT0+Qyx6bDooKT0+QX0pO3ZhciByPXQoMTE3MDQ3KTtsZXQgbyxpPW51bGw7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZXx8KGU9KDAsci55KSgpLmxvY2F0aW9uKSxlPT09bG9jYXRpb24/aXx8KGk9bChsb2NhdGlvbikpOmwoZSl9ZnVuY3Rpb24gcygpe2k9bChsb2NhdGlvbil9ZnVuY3Rpb24gdShlKXtyZXR1cm4gaT9pW2VdOmEoKVtlXX1mdW5jdGlvbiBjKGUpe3JldHVybiBpP2UgaW4gaTpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSgpLGUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJmUuc2VhcmNoP1MoZS5zZWFyY2guc3Vic3RyKDEpKTp7fX1mdW5jdGlvbiBIKCl7cmV0dXJuIG98fChvPWZ1bmN0aW9uKCl7Y29uc3QgZT11KCJzb3VyY2UiKTtpZihlKXtjb25zdCBlPWQobG9jYXRpb24uc2VhcmNoLCJzb3VyY2UiKTtoaXN0b3J5LnJlcGxhY2VTdGF0ZShoaXN0b3J5LnN0YXRlLCIvIixsb2NhdGlvbi5wYXRobmFtZStlKX1yZXR1cm4gZX0oKSl9ZnVuY3Rpb24gZChlLG4pe2NvbnN0IHQ9bmV3IFJlZ0V4cCgiKFxcP3wmKSIrbisiPVxcdyomPyIsImciKTtsZXQgcj1lLnNwbGl0KHQpLmpvaW4oIiIpO2NvbnN0IG89cltyLmxlbmd0aC0xXTtyZXR1cm4iPyIhPT1vJiYiJiIhPT1vfHwocj1yLnN1YnN0cigwLHIubGVuZ3RoLTEpKSxyfWNvbnN0IGY9L1wrL2c7ZnVuY3Rpb24gUyhlKXtjb25zdCBuPXt9O2lmKCJzdHJpbmciPT10eXBlb2YgZSYmZS5sZW5ndGg+MCl7Y29uc3QgdD1lLnNwbGl0KCImIikscj10Lmxlbmd0aD4xZTM/MWUzOnQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8cjsrK2Upe2NvbnN0IHI9dFtlXS5yZXBsYWNlKGYsIiUyMCIpLnNwbGl0KCI9Iik7bltkZWNvZGVVUklDb21wb25lbnQoclswXSldPWRlY29kZVVSSUNvbXBvbmVudChyLnNsaWNlKDEpLmpvaW4oIj0iKSl9fXJldHVybiBufWZ1bmN0aW9uIHAoZSl7cmV0dXJuIGU/T2JqZWN0LmtleXMoZSkubWFwKChuPT5lbmNvZGVVUklDb21wb25lbnQobikrKGVbbl0/Ij0iK2VuY29kZVVSSUNvbXBvbmVudChlW25dKToiIikpKS5qb2luKCImIik6IiJ9Y29uc3QgQz0oKT0+Imd1bHAiaW4oaXx8YSgpKSxBPSgpPT57Y29uc3QgZT1pfHxhKCk7cmV0dXJuImd1bHAiaW4gZXx8ISFlLmJyYW5jaH19LDg2OTQxNzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtTOigpPT5jfSk7dmFyIHI9dCgzMzY1Miksbz10KDg4NTE4OSksaT10KDI3MDA1NiksYT10KDc0MDU0NSkscz10KDQyMjg2NiksdT10KDU4ODM5OSk7ZnVuY3Rpb24gYyhlLG4sdCl7cy5nNC5pbmZvKGBTZXJ2aWNlQWN0aW9uICR7ZX1gLCJzZXJ2aWNlIik7Y29uc3QgYz0oMCxvLmlFKSgpO2xldCBsO2lmKCgwLGkuWikoYywiQWNjdC1NYWtlU2VydmljZVJlcXVlc3RNYWlsYm94IixudWxsPT10P3ZvaWQgMDp0Lm1haWxib3hJbmZvKSxudWxsPT10P3ZvaWQgMDp0LmVuZHBvaW50KWw9dC5lbmRwb2ludDtlbHNle2w9YCR7KG51bGw9PXQ/dm9pZCAwOnQuY3VzdG9tQmFzZVVybCk/dC5jdXN0b21CYXNlVXJsU3ViUGF0aD90LmN1c3RvbUJhc2VVcmwuY29uY2F0KHQuY3VzdG9tQmFzZVVybFN1YlBhdGgpOnQuY3VzdG9tQmFzZVVybDoobnVsbD09dD92b2lkIDA6dC5jdXN0b21CYXNlVXJsU3ViUGF0aCk/Yy5iYXNlVXJsLmNvbmNhdCgiLyIrdC5jdXN0b21CYXNlVXJsU3ViUGF0aCk6Yy5iYXNlVXJsfS9zZXJ2aWNlLnN2Yz9hY3Rpb249JHtlfWB9cmV0dXJuKHZvaWQgMCE9PWMuaXNVc2VySWRsZSYmYy5pc1VzZXJJZGxlKCl8fDA9PShudWxsPT10P3ZvaWQgMDp0LmlzVXNlckFjdGl2aXR5KSkmJihsPSgwLHUuWikobCx7VUE6IjAifSkpLGw9KDAsdS5aKShsLHthcHA6KDAsYS5NcSkoKX0sITApLCgwLHIuWikoZSxsLDEsdCxuKX19LDM3MDc4NDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtxOigpPT5pfSk7dmFyIHI9dCg4ODUxODkpO2NvbnN0IG89IklkVHlwZSI7ZnVuY3Rpb24gaShlLG4pe3ZhciB0O2NvbnN0IG89KDAsci5pRSkoKTsiSW1tdXRhYmxlSWQiPT1uPyhudWxsPT0odD1vLmlzRmVhdHVyZUVuYWJsZWQpP3ZvaWQgMDp0LmNhbGwobywiZndrLWltbXV0YWJsZS1pZHMiKSkmJmEoZSxuKTphKGUsbil9ZnVuY3Rpb24gYShlLG4pe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHMoZSk/ZS5nZXQoInByZWZlciIpOmUucHJlZmVyfShlKTtpZighdHx8dC5pbmRleE9mKG8pPDApe2NvbnN0IHI9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbj9gJHtufSwgJHtlfWA6ZX0oYElkVHlwZT0iJHtufSJgLHQpO3MoZSk/ZS5zZXQoInByZWZlciIscik6ZS5wcmVmZXI9cn19ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWUuZ2V0JiYhIWUuc2V0fX0sNjM1MjQ0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtjb25zdCBuPWZ1bmN0aW9uKGUpe2NvbnN0IG49J2V4Y2hhbmdlLmJlaGF2aW9yPSJJbmNsdWRlVGhpcmRQYXJ0eU9ubGluZU1lZXRpbmdQcm92aWRlcnMiJyx0PW8oZSk/ZS5nZXQoInByZWZlciIpOmUucHJlZmVyO3JldHVybiB0P2Ake3R9LCAke259YDpufShlKTtvKGUpP2Uuc2V0KCJwcmVmZXIiLG4pOmUucHJlZmVyPW59ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWUuZ2V0JiYhIWUuc2V0fXQuZChuLHtaOigpPT5yfSl9LDc2NDA1MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtzXzooKT0+byxOejooKT0+aSxYTDooKT0+YX0pO3ZhciByPXQoNzQwNTQ1KTtmdW5jdGlvbiBvKGUpe2xldCBuPSgwLHIuZWopKHMoIlgtT1dBLUNBTkFSWSIsZSkpO2NvbnN0IHQ9KDAsci5laikocygiWC1PV0EtQ0FOQVJZLVBSRCIsZSkpLG89KDAsci5laikocygiWC1PV0EtQ0FOQVJZLUJGIixlKSk7cmV0dXJuIG4mJjAhPW4ubGVuZ3RoPyh0JiZ0Lmxlbmd0aD4wJiYobis9IiwiK3QpLG8mJm8ubGVuZ3RoPjAmJihuKz0iLCIrbyksbik6bnVsbH1mdW5jdGlvbiBpKGUpe3JldHVybiBvKGUpfHwiWC1PV0EtQ0FOQVJZX2Nvb2tpZV9pc19udWxsX29yX2VtcHR5In1mdW5jdGlvbiBhKGUpe3JldHVybigwLHIuZWopKHMoIlgtT1dBLUNBTkFSWS1ERUJVRyIsZSkpfWZ1bmN0aW9uIHMoZSxuKXtyZXR1cm4gZSsoKG49bnx8KDAsci5laikoInRhcmdldFNlcnZlciIpKT8iXyIrbi50b0xvY2FsZUxvd2VyQ2FzZSgpOiIiKX19LDI3MDA1NjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5pfSk7dmFyIHI9dCg3NzIxOTYpLG89dCg1Mzg2NTIpO2Z1bmN0aW9uIGkoZSxuLHQpe3ZhciBpO2lmKCgwLG8uc2opKCkmJihudWxsPT0oaT1lLmlzRmVhdHVyZUVuYWJsZWQpP3ZvaWQgMDppLmNhbGwoZSwiYWNjdC1tYWlsYm94aW5mby1pbm5lcnJpbmctdGVsZW1ldHJ5IikpKXtjb25zdCBlPSEhKG51bGw9PXQ/dm9pZCAwOnQudHlwZSkmJiEhKG51bGw9PXQ/dm9pZCAwOnQudXNlcklkZW50aXR5KSYmISEobnVsbD09dD92b2lkIDA6dC5tYWlsYm94U210cEFkZHJlc3MpLG89ZSYmISEobnVsbD09dD92b2lkIDA6dC5zb3VyY2VJZCkmJiEhKG51bGw9PXQ/dm9pZCAwOnQubWFpbGJveFJhbmspO2lmKCFlfHwhbyl7Y29uc3QgaT1uZXcgRXJyb3Iobik7KDAsci5DKShuLHtwcm92aWRlZDplLHN0b3JlOm8sdHlwZTpudWxsPT10P3ZvaWQgMDp0LnR5cGUsdXNlcklkOnR5cGVvZihudWxsPT10P3ZvaWQgMDp0LnVzZXJJZGVudGl0eSksc210cDp0eXBlb2YobnVsbD09dD92b2lkIDA6dC5tYWlsYm94U210cEFkZHJlc3MpLHNvdXJjZUlkOnR5cGVvZihudWxsPT10P3ZvaWQgMDp0LnNvdXJjZUlkKSxyYW5rOnR5cGVvZihudWxsPT10P3ZvaWQgMDp0Lm1haWxib3hSYW5rKSxzdGFjazppLnN0YWNrfSl9fX19LDg4NTE4OTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtxXzooKT0+aSxpRTooKT0+YX0pO2NvbnN0IHI9e2Jhc2VVcmw6Ii9vd2EiLGlzRmVhdHVyZUVuYWJsZWQ6KCk9PiExLHRpbWVvdXRNUzo5ZTQsZGlzYWJsZUFsbFJlcXVlc3RzOiExLGlzUmVzb3VyY2VUb2tlblByZWZldGNoRW5hYmxlZDohMX07bGV0IG89cjtmdW5jdGlvbiBpKGUpe289ey4uLm8sLi4uZX19ZnVuY3Rpb24gYSgpe3JldHVybiBvfX0sMzMzMjcwOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3VZOigpPT5yLCRGOigpPT5IfSk7Y29uc3Qgcj0iTVMtQ1YiLG89IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLGk9e21heENvcnJlbGF0aW9uVmVjdG9yTGVuZ3RoOjEyNyxiYXNlTGVuZ3RoOjIyLHZhbGlkYXRpb25QYXR0ZXJuOm5ldyBSZWdFeHAoIl5bIitvKyJdezIyfSguWzAtOV0rKSskIil9O3ZhciBhPSIiLHM9MDtmdW5jdGlvbiB1KCl7cmV0dXJuIGEuY29uY2F0KCIuIixzLnRvU3RyaW5nKCkpfWZ1bmN0aW9uIGMoKXtyZXR1cm4hIWwodSgpKSYmYS5sZW5ndGgrMSsocysxKyIiKS5sZW5ndGg8PWkubWF4Q29ycmVsYXRpb25WZWN0b3JMZW5ndGh9ZnVuY3Rpb24gbChlKXtyZXR1cm4gaS52YWxpZGF0aW9uUGF0dGVybi50ZXN0KGUpJiZlLmxlbmd0aDw9aS5tYXhDb3JyZWxhdGlvblZlY3Rvckxlbmd0aH1mdW5jdGlvbiBIKCl7cmV0dXJuIGwodSgpKT9jKCk/KHMrPTEsdSgpKTpudWxsOihhPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPSIiLG49MDtuPGkuYmFzZUxlbmd0aDtuKyspZSs9by5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKm8ubGVuZ3RoKSk7cmV0dXJuIGV9KCkscz0wLGwoZT11KCkpP2U6IiIpO3ZhciBlfX0sNDg1OTg2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se25DOigpPT5jLGNJOigpPT5sLHBNOigpPT5IfSk7dmFyIHI9dCg4ODUxODkpLG89dCgzNzA3ODQpLGk9dCgyNzAwNTYpLGE9dCg3MjgyMikscz10KDc0MDU0NSksdT10KDYzNTI0NCk7Y29uc3QgYz0iQXV0aG9yaXphdGlvbiIsbD0iWC1Pd2FXZWJTZXNzaW9uVHlwZSI7ZnVuY3Rpb24gSChlLG4sdCxIKXtjb25zdCBkPSgwLGEuTikoKTtkWyJYLVJlcS1Tb3VyY2UiXT0oMCxzLk1xKSgpO2NvbnN0IGY9KDAsci5pRSkoKTsoMCxpLlopKGYsIkFjY3QtRGVmYXVsdEhlYWRlcnNNYWlsYm94IixuKSxmLmlzRmVhdHVyZUVuYWJsZWQoImZ3ay11c2VKc29uTmV0U2VyaWFsaXplciIpJiYoZFsiWC1Vc2VKc29uTmV0U2VyaWFsaXplciJdPSIxIik7bGV0IFM9UHJvbWlzZS5yZXNvbHZlKGQpLHA9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCksQz1Qcm9taXNlLnJlc29sdmUoIiIpLEE9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCk7cmV0dXJuIWUmJmYuZ2V0QXV0aFRva2VuJiYocD1mLmdldEF1dGhUb2tlbih2b2lkIDAsbiksZi5nZXRXZWJTZXNzaW9uVHlwZSYmKEM9Zi5nZXRXZWJTZXNzaW9uVHlwZShuKSkpLCF0JiZmLmdldEFuY2hvck1haWxib3gmJihBPWYuZ2V0QW5jaG9yTWFpbGJveChuKSksUz1Qcm9taXNlLmFsbChbcCxDLEFdKS50aGVuKCgoW2Usbix0XSk9PihlJiYoZFtjXT1lLGYuZ2V0V2ViU2Vzc2lvblR5cGUmJm4mJihkW2xdPW4pKSx0JiYoZFsieC1hbmNob3JtYWlsYm94Il09dCksZCkpKSwoMCxvLnEpKGQsbnVsbCE9SD9IOiJJbW11dGFibGVJZCIpLCgwLHUuWikoZCksUy5iZXN0RWZmb3J0PWQsU319LDc1MDE0MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7dmFyIHI9dCg0ODU5ODYpO2Z1bmN0aW9uIG8oZSl7Y29uc3Qgbj0oZT1lfHx7fSkuaGVhZGVycz9uZXcgSGVhZGVycyhlLmhlYWRlcnMpOm5ldyBIZWFkZXJzLHQ9ey4uLmUsbWV0aG9kOmUubWV0aG9kfHwiUE9TVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6bn0sbz1udWxsPT1uP3ZvaWQgMDpuLmhhcygiQXV0aG9yaXphdGlvbiIpLGk9bnVsbD09bj92b2lkIDA6bi5oYXMoIngtYW5jaG9ybWFpbGJveCIpO3JldHVybigwLHIucE0pKG8sZS5tYWlsYm94SW5mbyxpLGUuY3VzdG9tSWRUeXBlKS50aGVuKChlPT4oT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e24uc2V0KHQsZVt0XSl9KSksdCkpKX19LDI0NTM5NTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtDOigpPT5hfSk7dmFyIHI9dCg0NTg4MTcpLG89dCgxMTcwNDcpO2xldCBpPSExO2Z1bmN0aW9uIGEoZSl7aWYoIWkpe2k9ITA7Y29uc3Qgbj0oMCxvLnkpKCkubG9jYXRpb24sdD0oMCxyLm5NKShuKTtsZXQgYT0hMTtjb25zdCBzPWU/ZS5nZXQoIlgtT1dBLUNsYWltQ2hhbGxlbmdlIik6dm9pZCAwO3MmJnQuY2MhPT1zJiYodC5jYz1kZWNvZGVVUklDb21wb25lbnQocyksYT0hMCksdm9pZCAwPT09dC5hdXRoUmVkaXJlY3QmJih0LmF1dGhSZWRpcmVjdD0idHJ1ZSIsYT0hMCksYSYmKHQuc3RhdGU9IjAiLG4uc2VhcmNoPSI/IisoMCxyLlB6KSh0KSl9fX0sMzM2NTI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+RCxrOigpPT5QfSk7dmFyIHI9dCg5ODE1NzEpLG89dCg4ODUxODkpLGk9dCgyODMzMTEpLGE9dCg3NDA1NDUpO2xldCBzPW51bGwsdT1udWxsO2FzeW5jIGZ1bmN0aW9uIGMoZSl7bnVsbD09cyYmKCgwLGEuU24pKCl8fG51bGwhPXUmJkRhdGUubm93KCktdTw4MjhlNXx8KHU9RGF0ZS5ub3coKSxzPXNlbGYuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikscy5zZXRBdHRyaWJ1dGUoImlkIiwiYmFja2dyb3VuZGF1dGgiKSxzLnN0eWxlLmRpc3BsYXk9Im5vbmUiLCgwLGkuWikoe30sZSkudGhlbigoZT0+ezA9PWUuUmVzdWx0Q29kZSYmbnVsbCE9ZS5BdXRoZW50aWNhdGlvblVybCYmIiIhPWUuQXV0aGVudGljYXRpb25Vcmw/KHMmJihzZWxmLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocyksc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixsLCExKSxzLnNyYz1lLkF1dGhlbnRpY2F0aW9uVXJsKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe251bGwhPXMmJkgoKX0pLDZlNCkpOnM9bnVsbH0pKS5jYXRjaCgoZnVuY3Rpb24oKXtzPW51bGx9KSkpKX1mdW5jdGlvbiBsKGUpe2Uub3JpZ2luPT13aW5kb3cubG9jYXRpb24ub3JpZ2luJiZlLmRhdGEmJmUuZGF0YS5zcGxpdCYmKCJiYWNrZ3JvdW5kQXV0aFJlc3BvbnNlIj09ZS5kYXRhLnNwbGl0KCI6IilbMF0mJkgoKSl9ZnVuY3Rpb24gSCgpe3MmJih3aW5kb3cuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzKSxzPW51bGwsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGwpKX12YXIgZD10KDk3MDExMSk7dmFyIGY9dCgyNDUzOTUpLFM9dCg3NzIxOTYpLHA9dCgxMTcwNDcpO2xldCBDO2NvbnN0IEE9Ik5lZWRzQXV0aCI7ZnVuY3Rpb24gSShlLG4sdCxyKXtjb25zdCBpPWZ1bmN0aW9uKGUsbil7Y29uc3QgdD0oMCxvLmlFKSgpO2lmKDQwMT09ZS5zdGF0dXN8fDQ0MD09ZS5zdGF0dXMpe2lmKGZ1bmN0aW9uKGUpe3JldHVybiFlfHwhKDAsZC5aKShlKSYmITEhPT1lLmF1dGhOZWVkZWRPblVuQXV0aG9yaXplZH0obikpcmV0dXJuIHQub25BdXRoRmFpbGVkP3Qub25BdXRoRmFpbGVkKGUuaGVhZGVycyk6KDAsZi5DKShlLmhlYWRlcnMpLGUuc291cmNlPUEsQX1lbHNlIGlmKCFlLm9rKXJldHVybiA0MTI9PWUuc3RhdHVzJiZmdW5jdGlvbihlKXtpZihlJiYiNSI9PWUuZ2V0KCJYLU9XQS1FeHRlbmRlZEVycm9yQ29kZSIpKXtjb25zdCBuPWUuZ2V0KCJYLU9XQS1FeHRlbmRlZEVycm9yRGF0YSIpLHQ9ZS5nZXQoIlgtT1dBLUV4dGVuZGVkRXJyb3JNZXNzYWdlIik7IUMmJm4mJihDPSEwLCgwLFMuQykoIlJlYWN0SGlwUmVkaXJlY3QiLHtoaXBQYXRoOm4saGlwVHlwZTp0fSx7aXNDb3JlOiEwfSksKDAscC55KSgpLmxvY2F0aW9uLmhyZWY9bil9cmV0dXJuIEN9KGUuaGVhZGVycyk/KGUuc291cmNlPUEsQSk6ZS5oZWFkZXJzJiZlLmhlYWRlcnMuZ2V0KCJ4LW93YS1lcnJvciIpfHxlLnN0YXR1c1RleHQ7cmV0dXJuIG51bGx9KG4sdCk7aWYodC5yZXR1cm5GdWxsUmVzcG9uc2VPblN1Y2Nlc3MpcmV0dXJuIG4uY2FsbHN0YWNrQXRSZXF1ZXN0PXIsbi5yZXNwb25zZUVycm9yTWVzc2FnZT1gUmVxdWVzdEZhaWxlZDoke2V9IHdpdGggJHtuLnNvdXJjZX1gLGk/UHJvbWlzZS5yZWplY3Qobik6UHJvbWlzZS5yZXNvbHZlKG4pO2lmKGkpe2NvbnN0IHQ9UihlLGksbixyKTt0aHJvdyB0LnJlc3BvbnNlPW4sdH1yZXR1cm4gbnVsbCE9bi5oZWFkZXJzLmdldCgiWC1PV0EtU1RPIikmJmModCksdC5yZXR1cm5SZXNwb25zZUhlYWRlcnM/UHJvbWlzZS5yZXNvbHZlKG4pOm4uanNvbigpLmNhdGNoKCh0PT57dGhyb3cgUihlLG51bGw9PXQ/dm9pZCAwOnQubWVzc2FnZSxuLHIpfSkpfWZ1bmN0aW9uIFIoZSxuLHQscil7Y29uc3Qgbz1uZXcgRXJyb3IoYCR7ZX0gZmFpbGVkOiAke259YCk7cmV0dXJuIHImJihvLmRpYWdub3N0aWNJbmZvPXIpLG8uZmV0Y2hFcnJvclR5cGU9bj09QT8iQXV0aE5lZWRlZCI6IlNlcnZlckZhaWx1cmUiLG8uaHR0cFN0YXR1cz10LnN0YXR1cyxvfXZhciBoPXQoNjc4NzYpLHY9dCgyNzAwNTYpLG09dCg3MjgyMiksVT10KDMzMzI3MCk7ZnVuY3Rpb24gTihlLG4pe24uaGFzKFUudVkpJiZuLmRlbGV0ZShVLnVZKSwoMCxtLlkpKG4pLG4uc2V0KCJYLU9XQS1BdHRlbXB0IiwiIitlKX12YXIgZz10KDI3OTA3MSksSz10KDc1MDE0MikseT10KDU2MzE3NSk7dmFyIHc9dCg5Mzg4MjEpLGI9dCg0ODU5ODYpLEU9dCgxODAzODcpLE89dCgzNzQ4NDcpO2NvbnN0IGs9MjtsZXQgeD0wO2NvbnN0IFQ9e307ZnVuY3Rpb24gUChlKXtjb25zdCBuPXgrKztyZXR1cm4gVFtuXT1lLCgpPT57ZGVsZXRlIFRbbl19fWZ1bmN0aW9uIEQoZSxuLHQscixvKXtpZihudWxsPT1yP3ZvaWQgMDpyLnBlcmZEYXRhcG9pbnQpe2NvbnN0IGk9ci5wZXJmRGF0YXBvaW50O2lmKGkuZGF0YXBvaW50fHxpLmN1c3RvbURhdGFwb2ludHx8aS53ZWJXb3JrZXJEYXRhcG9pbnR8fGkuY3VzdG9tV2ViV29ya2VyRGF0YXBvaW50KXtjb25zdCBhPXtkaXNjYXJkSWZEZWZpbmVkOmkuZGlzY2FyZElmRGVmaW5lZHx8ITF9O3JldHVybigwLE8uY0opKHtkYXRhcG9pbnQ6aS5kYXRhcG9pbnQsY3VzdG9tRGF0YXBvaW50OmkuY3VzdG9tRGF0YXBvaW50LHdlYldvcmtlckRhdGFwb2ludDppLndlYldvcmtlckRhdGFwb2ludCxjdXN0b21XZWJXb3JrZXJEYXRhcG9pbnQ6aS5jdXN0b21XZWJXb3JrZXJEYXRhcG9pbnR9LGEsTCxlLG4sdCxyLG8pfX1yZXR1cm4gTChlLG4sdCxyLG8pfWFzeW5jIGZ1bmN0aW9uIEwoZSxuLHQsaSxzKXt2YXIgdSxjLGwsSCxmLFM7Y29uc3QgcD1hc3luYyBmdW5jdGlvbihlLG4sdCl7Y29uc3Qgcj0oMCxvLmlFKSgpO2lmKHIucHJlcGFyZVJlcXVlc3RPcHRpb25zKXtjb25zdCBuPXIucHJlcGFyZVJlcXVlc3RPcHRpb25zKGUpO24mJihlPW4udGhlbj9hd2FpdCBuOm4pfWNvbnN0IGk9YXdhaXQoMCxLLlopKGUpLHM9aS5oZWFkZXJzO2lmKHQmJnMuc2V0KCJBY3Rpb24iLHQpLHMuc2V0KCJYLU9XQS1Db3JyZWxhdGlvbklkIiwoMCx5LlopKCkpLHMuc2V0KCJYLU9XQS1TZXNzaW9uSWQiLCgwLGEuTVEpKCkpLHIuaXNGZWF0dXJlRW5hYmxlZCgiYXV0aC1wcm92ZW5hbmNlLU93c0FkZEhlYWRlciIpJiZzLnNldCgiWC1PV0EtUHJvdmVuYW5jZUlkIiwoMCx5LlopKCkpLG4pe3MuYXBwZW5kKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Iik7Y29uc3QgZT1KU09OLnN0cmluZ2lmeShuKSx0PWVuY29kZVVSSUNvbXBvbmVudChlKTtpLm5vRW1wdHlQb3N0fHx0Lmxlbmd0aD4yMDQ4P2kuYm9keT1lOihzLmFwcGVuZCgiWC1PV0EtVXJsUG9zdERhdGEiLHQpLGkuYm9keT12b2lkIDApfWlmKCFzLmhhcyhVLnVZKSl7Y29uc3QgZT0oMCxVLiRGKSgpO2UmJnMuYXBwZW5kKFUudVksZSl9cmV0dXJuIGl9KGkscyxlKSxDPW4rIiZuPSIrKDAsZy5aKSgpLEE9KDAsci5aKShDLHApO2xldCBSPWU7IlVwZGF0ZUl0ZW0iPT1lJiYoUj1lKyhudWxsPT0oUz1udWxsPT0oZj1udWxsPT0oSD1udWxsPT0obD1udWxsPT0oYz1udWxsPT0odT1udWxsPT1zP3ZvaWQgMDpzLkJvZHkpP3ZvaWQgMDp1Lkl0ZW1DaGFuZ2VzKT92b2lkIDA6Y1swXSk/dm9pZCAwOmwuVXBkYXRlcyk/dm9pZCAwOkhbMF0pP3ZvaWQgMDpmLlBhdGgpP3ZvaWQgMDpTLkZpZWxkVVJJKXx8IiIpO2Zvcihjb25zdCBlIG9mIE9iamVjdC52YWx1ZXMoVCkpZShBLFIsQyx0LHApO3JldHVybiBwLnRoZW4oKHI9Pntjb25zdCBhPW5ldyBFcnJvcihlKyJSZXF1ZXN0RmFpbGVkIikuc3RhY2sse3JldHJ5Q291bnQ6dT1rfT1yO3JldHVybiBBLnRoZW4oKGFzeW5jIGZ1bmN0aW9uKGMpe3ZhciBsLEg7bGV0IGY9ITEsUz1uO2lmKCghMD09PWF3YWl0KG51bGw9PShsPW51bGw9PXI/dm9pZCAwOnIuc2hvdWxkUmV0cnkpP3ZvaWQgMDpsLmNhbGwocixjLnN0YXR1cykpfHwoMCxoLlopKGMuc3RhdHVzKSkmJnQ8dSlpZihudWxsPT1yP3ZvaWQgMDpyLm9uQmVmb3JlUmV0cnkpe2NvbnN0IGU9YXdhaXQgci5vbkJlZm9yZVJldHJ5KGMpO2UmJihmPSEwLGUuZGVsYXkmJmF3YWl0KDAsRS5aKShlLmRlbGF5KSxlLmVuZHBvaW50JiYoUz1lLmVuZHBvaW50KSl9ZWxzZSBmPSEwO2lmKGYpe2lmKCgwLHcuWikoYy5zdGF0dXMpJiYhKDAsZC5aKShpKSl7Y29uc3QgZT0oMCxvLmlFKSgpOygwLHYuWikoZSwiQWNjdC1GZXRjaFdpdGhSZXRyeVYyTWFpbGJveEluZm8iLG51bGw9PWk/dm9pZCAwOmkubWFpbGJveEluZm8pLG51bGw9PShIPWUub25BdXRoRmFpbGVkKXx8SC5jYWxsKGUsYy5oZWFkZXJzLG51bGw9PWk/dm9pZCAwOmkubWFpbGJveEluZm8pO2NvbnN0IG49YXdhaXQgZS5nZXRBdXRoVG9rZW4oYy5oZWFkZXJzLG51bGw9PWk/dm9pZCAwOmkubWFpbGJveEluZm8pO2lmKG4pe2lmKHIuaGVhZGVycy5zZXQoYi5uQyxuKSxlLmdldFdlYlNlc3Npb25UeXBlKXtjb25zdCBuPWF3YWl0IGUuZ2V0V2ViU2Vzc2lvblR5cGUoKTtuJiZyLmhlYWRlcnMuc2V0KGIuY0ksbil9fWVsc2Ugci5oZWFkZXJzLmhhcyhiLm5DKSYmci5oZWFkZXJzLmRlbGV0ZShiLm5DKX1yZXR1cm4gTigrK3Qsci5oZWFkZXJzKSxEKGUsUyx0LHIscyl9cmV0dXJuIEkoZSxjLHIsYSl9KSwoZnVuY3Rpb24obyl7aWYoby5yZXRyaWFibGUmJnQ8dSlyZXR1cm4gbmV3IFByb21pc2UoKChvLGkpPT57c2V0VGltZW91dCgoYXN5bmMoKT0+e3RyeXtOKCsrdCxyLmhlYWRlcnMpLG8oYXdhaXQgRChlLG4sdCxyLHMpKX1jYXRjaChuKXtjb25zdCB0PW47aWYodC5tZXNzYWdlKXRyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibWVzc2FnZSIse3ZhbHVlOmUrIjoiK3QubWVzc2FnZX0pfWNhdGNoKGUpe31pKHQpfX0pLDVlMyl9KSk7dGhyb3cgby5uZXR3b3JrRXJyb3I9ITAsb30pKX0pKX19LDU2MzE3NTooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoKXtyZXR1cm4gbygpK28oKSsiLSIrbygpKyItIitvKCkrIi0iK28oKSsiLSIrbygpK28oKStvKCl9ZnVuY3Rpb24gbygpe3JldHVybiBNYXRoLmZsb29yKDY1NTM2KigxK01hdGgucmFuZG9tKCkpKS50b1N0cmluZygxNikuc3Vic3RyaW5nKDEpfXQuZChuLHtaOigpPT5yfSl9LDI3OTA3MTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7bGV0IHI9MDtmdW5jdGlvbiBvKCl7cmV0dXJuIHIrK319LDQ4NTI3NzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtvOigpPT5pfSk7dmFyIHI9dCgxMTcwNDcpLG89dCg3NDA1NDUpO2Z1bmN0aW9uIGkoZSl7aWYoKDAsby5TbikoKSl7Y29uc3Qgbj0oMCxyLnkpKCkubG9jYXRpb24ub3JpZ2luO2U9InN0cmluZyI9PXR5cGVvZiBlP25ldyBVUkwoZSxuKS50b1N0cmluZygpOnsuLi5lLHVybDpuZXcgVVJMKGUudXJsLG4pLnRvU3RyaW5nKCl9fXJldHVybiBlfX0sOTcwMTExOihlLG4sdCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4obnVsbD09ZT92b2lkIDA6ZS5oZWFkZXJzKSYmbnVsbCE9ZS5oZWFkZXJzLmdldCgiWC1PV0EtRXhwbGljaXRMb2dvblVzZXIiKX10LmQobix7WjooKT0+cn0pfSw5Mzg4MjE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+b30pO3ZhciByPXQoODg1MTg5KTtmdW5jdGlvbiBvKGUpe3JldHVybiEhKDAsci5pRSkoKS5nZXRBdXRoVG9rZW4mJig0MDE9PWV8fDQ0MD09ZSl9fSw2Nzg3NjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7dmFyIHI9dCg5Mzg4MjEpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIDQ0OT09ZXx8NDA4PT1lfHw1MDI9PWV8fGU8MTAwfHxlPjU5OXx8KDAsci5aKShlKX19LDI4MzMxMTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtaOigpPT5vfSk7dmFyIHI9dCg4Njk0MTcpO2Z1bmN0aW9uIG8oZSxuKXt2YXIgdDtyZXR1cm4gdm9pZCAwPT09ZXx8ZS5fX3R5cGV8fCh0PWUsZT17X190eXBlOiJBdXRoZW50aWNhdGlvblVybFJlcXVlc3Q6I0V4Y2hhbmdlIiwuLi50fSksKDAsci5TKSgiR2V0QXV0aGVudGljYXRpb25VcmwiLGUsbil9fSw3MjgyMjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtZOigpPT5pLE46KCk9PmF9KTt2YXIgcj10KDc2NDA1MCksbz10KDc0MDU0NSk7ZnVuY3Rpb24gaShlKXtjb25zdCBuPWEoKTtPYmplY3Qua2V5cyhuKS5mb3JFYWNoKCh0PT57ZS5zZXQodCxuW3RdKX0pKX1mdW5jdGlvbiBhKCl7Y29uc3QgZT0oMCxvLmVqKSgidGFyZ2V0U2VydmVyIiksbj17IlgtT1dBLUNBTkFSWSI6KDAsci5OeikoZSl9LHQ9KDAsci5YTCkoZSk7cmV0dXJuIHQmJihuWyJYLU9XQS1DQU5BUlktREVCVUciXT10KSxufX0sOTgxNTcxOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9Pml9KTt2YXIgcj10KDg4NTE4OSksbz10KDQ4NTI3Nyk7ZnVuY3Rpb24gaShlLG4pe3JldHVybiBuLnRoZW4/bi50aGVuKChuPT5hKGUsbikpKTphKGUsbil9ZnVuY3Rpb24gYShlLG4pe2U9KDAsby5vKShlKTtpZigoMCxyLmlFKSgpLmRpc2FibGVBbGxSZXF1ZXN0cyl7Y29uc3Qgbj1uZXcgRXJyb3IoIlNlcnZpY2UgcmVxdWVzdCBibG9ja2VkIGJlY2F1c2UgZGlzYWJsZUFsbFJlcXVlc3RzIGlzIGVuYWJsZWQuIik7cmV0dXJuIG4uZGlhZ25vc3RpY0luZm89YFVSTDogJHtlfWAsbi5mZXRjaEVycm9yVHlwZT0iUmVxdWVzdE5vdENvbXBsZXRlIixuLnJldHJpYWJsZT0hMSxQcm9taXNlLnJlamVjdChuKX1yZXR1cm4gbmV3IFByb21pc2UoKCh0LG8pPT57Y29uc3QgaT1uLnRpbWVvdXRNU3x8KDAsci5pRSkoKS50aW1lb3V0TVN8fC0xLGE9bjtsZXQgcz0wO2lmKGk+MCl7bGV0IHQ7IkFib3J0Q29udHJvbGxlciJpbiBzZWxmJiYodD1uZXcgQWJvcnRDb250cm9sbGVyLGEuc2lnbmFsPXQuc2lnbmFsKSxzPXNlbGYuc2V0VGltZW91dCgoKCk9PntpZih0KXQuYWJvcnQoKTtlbHNle2NvbnN0IHQ9bmV3IEVycm9yKGBTZXJ2aWNlIHJlcXVlc3Qgd291bGQgaGF2ZSB0aW1lZCBvdXQgYWZ0ZXIgJHtpfW1zIGlmIEFib3J0Q29udHJvbGxlciBpcyBhdmFpbGFibGUuYCk7aWYodC5kaWFnbm9zdGljSW5mbz1gVVJMOiAke2V9YCx0LmZldGNoRXJyb3JUeXBlPSJSZXF1ZXN0VGltZW91dCIsIW4udGltZW91dE1TKXRocm93IHQ7byh0KX19KSxpKX1mZXRjaChlLGEpLnRoZW4oKGU9PntzZWxmLmNsZWFyVGltZW91dChzKSx0KGUpfSkpLmNhdGNoKChuPT57Y29uc3QgdD1uO3QuZmV0Y2hFcnJvclR5cGU9IlJlcXVlc3ROb3RDb21wbGV0ZSIsdC5yZXRyaWFibGU9ITAsIkFib3J0RXJyb3IiPT09dC5uYW1lPyhPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibWVzc2FnZSIse3ZhbHVlOmBTZXJ2aWNlIHJlcXVlc3QgdGltZWQgb3V0IGFmdGVyICR7aX1tcy4gVVJMOiAke2V9YH0pLHQuZmV0Y2hFcnJvclR5cGU9IlJlcXVlc3RUaW1lb3V0Iik6dC5tZXNzYWdlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibWVzc2FnZSIse3ZhbHVlOmAke3QubWVzc2FnZX0uIFVSTDogJHtlfWB9KSxzZWxmLmNsZWFyVGltZW91dChzKSxvKHQpfSkpfSkpfX0sNDI1MjAzOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se286KCk9PmF9KTtjb25zdCByPVsiL215ZGF5IiwiL2NhbGVuZGFyd2lkZ2V0IiwiL2luc2lnaHRzIl0sbz0iWC1NZXNzYWdlLUNvdW50IixpPSJYLUZvbGRlci1Db3VudCI7ZnVuY3Rpb24gYShlLG4sdCxhLHMpe2lmKGUuYXBwZW5kKCJYLUpzLUV4cGVyaW1lbnQiLCI1IiksbiYmMCE9bi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIi9tYWlsIikpe2UuYXBwZW5kKGksIjAiKSxlLmFwcGVuZChvLCIwIik7Y29uc3QgdD1uLnRvTG93ZXJDYXNlKCk7KDA9PXQuaW5kZXhPZigiL2NhbGVuZGFyIil8fDA9PXQuaW5kZXhPZigiL2hvc3RlZC9jYWxlbmRhciIpfHwwPT10LmluZGV4T2YoIi9vcHgiKSYmci5zb21lKChlPT50LmluY2x1ZGVzKGUpKSkpJiZlLmFwcGVuZCgiWC1DYWxlbmRhci1Gb2xkZXJzIiwiMSIpfWVsc2V7aWYodCl7Y29uc3Qgbj1hPzY1OjI5O2UuYXBwZW5kKG8sYCR7TWF0aC5mbG9vcigodC0yNTApL24pfWApfXMmJmUuYXBwZW5kKGkscyl9fX0sOTgxMzkzOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se186KCk9Pm8saTooKT0+aX0pO3ZhciByPXQoNzg3MzI3KTtjb25zdCBvPSJzZG1wIjtmdW5jdGlvbiBpKCl7dHJ5e2NvbnN0IGU9KDAsci5yVikod2luZG93LG8pO3JldHVybiBlP0pTT04ucGFyc2UoZSkuSW5ib3hSZWFkaW5nUGFuZVBvc2l0aW9uOnZvaWQgMH1maW5hbGx5e3JldHVybn19fSw4MzgwMzE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7UEs6KCk9PnIsTV86KCk9Pm8sbjI6KCk9PmksSkQ6KCk9PmF9KTtjb25zdCByPSJ4LXN3LXZlcnNpb24iLG89Ingtc3ctY2FjaGUiLGk9Ingtc3ctYWN0aXZlLWNhY2hlIixhPSJ4LXN3LXJ1bnRpbWUtY2FjaGUifSw1MzkxNjE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsbix0LHIpe2NvbnN0IGk9d2luZG93LlJlc3BvbnNlJiZlIGluc3RhbmNlb2Ygd2luZG93LlJlc3BvbnNlP2Z1bmN0aW9uKGUpe2NvbnN0IG49bmV3IEVycm9yKCJCb290RXJyb3JGcm9tUmVzcG9uc2UiKTtyZXR1cm4gbi5yZXNwb25zZT1lLG59KGUpOiJzdHJpbmciPT10eXBlb2YgZT9uZXcgRXJyb3IoZSk6ZTtyZXR1cm4gbyhpLCJzb3VyY2UiLG4pLG8oaSwidXJsIix0KSxvKGksInN0YXR1cyIsciksaX1mdW5jdGlvbiBvKGUsbix0KXt2b2lkIDA9PT1lW25dJiYoZVtuXT10KX10LmQobix7WjooKT0+cn0pfSw3NjcxOigpPT57InVzZSBzdHJpY3QiO3RyeXtpZigicGVyZm9ybWFuY2UiaW4gd2luZG93PT0xJiYiZnVuY3Rpb24iIT10eXBlb2Ygd2luZG93LnBlcmZvcm1hbmNlLm5vdyl7dmFyIGU9RGF0ZS5ub3coKTt3aW5kb3cucGVyZm9ybWFuY2Uubm93PSgpPT5EYXRlLm5vdygpLWV9fWNhdGNoKGUpe2UmJndpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5vbmVycm9yJiZ3aW5kb3cub25lcnJvcigiUG9seWZpbGwgZXJyb3IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGUpfX0sNzU4MDU3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se21MOigpPT5zLG5EOigpPT51LHVDOigpPT5jLFdBOigpPT5sLGFSOigpPT5ILHVmOigpPT5kLGszOigpPT5mfSk7dmFyIHI9dCg3ODczMjcpLG89dCgxMTcwNDcpO2xldCBpO2Z1bmN0aW9uIGEoKXtpZighaSl7Y29uc3QgZT0oMCxyLnJWKSgoMCxvLnkpKCksIkJvb3REaWFnbm9zdGljcyIpO2lmKGUpdHJ5e2k9SlNPTi5wYXJzZShlKX1jYXRjaChlKXtpPXt9fWVsc2UgaT17fX1yZXR1cm4gaX1mdW5jdGlvbiBzKGUpe3ZhciBuO2NvbnN0IHQ9bnVsbD09KG49ZS5vd2FVc2VyQ29uZmlnKT92b2lkIDA6bi5TZXNzaW9uU2V0dGluZ3M7cmV0dXJuIHQmJihpPXtwdWlkOnQuVXNlclB1aWQsdGlkOnQuRXh0ZXJuYWxEaXJlY3RvcnlUZW5hbnRHdWlkLG1ieDp0Lk1haWxib3hHdWlkLHByZW06dC5Jc1ByZW1pdW1Db25zdW1lck1haWxib3g/IjEiOiIwIixpc0NvbjowIT10LldlYlNlc3Npb25UeXBlLHVwbjp0LlVzZXJQcmluY2lwYWxOYW1lfSksaX1mdW5jdGlvbiB1KCl7cmV0dXJuIGEoKS5wdWlkfWZ1bmN0aW9uIGMoKXtyZXR1cm4gYSgpLnRpZH1mdW5jdGlvbiBsKCl7cmV0dXJuIGEoKS5tYnh9ZnVuY3Rpb24gSCgpe3JldHVybiBhKCkucHJlbX1mdW5jdGlvbiBkKCl7cmV0dXJuIGEoKS5pc0Nvbn1mdW5jdGlvbiBmKCl7cmV0dXJuIGEoKS51cG59fSwxODAzODc6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsbix0KXtyZXR1cm4gbmV3IFByb21pc2UoKChyLG8pPT57c2V0VGltZW91dCh0P286cixlLG4pfSkpfXQuZChuLHtaOigpPT5yfSl9LDkyMjQ5MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtpOigpPT5zfSk7dmFyIHI9dCg3NDA1NDUpLG89dCgyNjkzOTkpLGk9dCg3ODU1NjIpO2NvbnN0IGE9e307YXN5bmMgZnVuY3Rpb24gcyhlLG4pe2lmKGZ1bmN0aW9uKGUpe3JldHVybiBpLnBXLmluY2x1ZGVzKGUpfShlKSlyZXR1cm4gbnVsbDtsZXQgdD1hW2VdO3JldHVybiB0fHwodD1hW2VdPShhc3luYygpPT57dHJ5e2NvbnN0IG49YXdhaXQgZmV0Y2goYCR7KDAsci50OSkoKX1yZXNvdXJjZXMvdGhlbWUvZmFicmljLmNvbG9yLnZhcmlhYmxlcy50aGVtZS4ke2UudG9Mb3dlckNhc2UoKX0uanNvbmApO3JldHVybiBhd2FpdCBuLmpzb24oKX1jYXRjaChlKXtyZXR1cm4gbnVsbH19KSgpLCgwLG8ueUkpKCJ0bV9zIixufHwibi9hIikpLHR9fSwzMjY4NjQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7aTooKT0+by5pLFU6KCk9PnJ9KTt2YXIgcj10KDc4NTU2Miksbz10KDkyMjQ5MCl9LDc4NTU2MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtTXzooKT0+cix2WTooKT0+byxjZzooKT0+aSxMXzooKT0+YSxKcjooKT0+cyxORjooKT0+dSxwVzooKT0+Y30pO2NvbnN0IHI9ImJhc2UiLG89YCR7cn0uZGFya2AsaT0iYmFzZXdpdGhvZmZpY2V0aGVtZXByZWZlcnJlZCIsYT0iY29udHJhc3QiLHM9IlVzZXJzTm9ybWFsaXplZFRoZW1lIix1PSJvZmZpY2VuZXV0cmFsIixjPVtyLG9dfSw2OTI1MDI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+b30pO3ZhciByPShlPT4oZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5FcnJvcj0xXT0iRXJyb3IiLGVbZS5EZWJ1Z0Vycm9yPTJdPSJEZWJ1Z0Vycm9yIixlW2UuV2FybmluZz0zXT0iV2FybmluZyIsZVtlLkluZm89NF09IkluZm8iLGVbZS5WZXJib3NlPTVdPSJWZXJib3NlIixlKSkocnx8e30pO2NvbnN0IG89cn0sNDIyODY2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2ZuOigpPT5vLEd1OigpPT5hLlosWlU6KCk9PnIuWlUscng6KCk9PnIucngsaFo6KCk9PnIuaFosZ3Y6KCk9PmksU1U6KCk9PnIuU1UsZzQ6KCk9PnIuWlB9KTt2YXIgcj10KDY0MjY5KTtjb25zdCBvPSJbZW1wdHkgb25lcnJvcl0iO2Z1bmN0aW9uIGkoZSxuLHQsaSxhLHMpe2lmKGV8fGEpe2lmKGF8fCgoYT1uZXcgRXJyb3IoZSkpLnN0YWNrPXN8fG8pLC0xIT0oZT1lfHxhLm1lc3NhZ2UpLmluZGV4T2YoJyJyZXNwb25zZVRleHQiOiI8IURPQ1RZUEUnKSl7Y29uc3Qgbj1lLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZigiPCFkb2N0eXBlIGh0bWwiKSx0PWUuc3Vic3RyaW5nKG4pLHI9LTEhPT10LnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZigiPC9odG1sPlxyXG4iKT90LnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZigiPC9odG1sPlxyXG4iKSs5OnQudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmRleE9mKCI8L2h0bWw+IikrNzstMSE9PW4mJi0xIT09ciYmKGU9ZS5zdWJzdHJpbmcoMCxuKSsiUmVwbGFjZWRHZW5lcmljSFRNTEVycm9yTWVzc2FnZSIrZS5zdWJzdHJpbmcobityKSl9aWYoT2JqZWN0LmlzRXh0ZW5zaWJsZShhKSl0cnl7biYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImZpbGVuYW1lIix7dmFsdWU6bn0pLCJudW1iZXIiPT10eXBlb2YgdCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImxpbmVubyIse3ZhbHVlOnR9KSwibnVtYmVyIj09dHlwZW9mIGkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJjb2xubyIse3ZhbHVlOml9KX1jYXRjaChlKXt9KG51bGw9PWE/dm9pZCAwOmEucmVwb3J0ZWQpfHwoMCxyLnJ4KShlLGEpfX12YXIgYT10KDY5MjUwMil9LDY0MjY5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1NVOigpPT5hLFpVOigpPT51LHJ4OigpPT5jLGhaOigpPT5sLFpQOigpPT5kfSk7dmFyIHI9dCg2OTI1MDIpLG89dCg0NTE5MzYpO2NvbnN0IGk9W107ZnVuY3Rpb24gYShlKXtpLnB1c2goZSl9ZnVuY3Rpb24gcyhlLG4sdCxyKXtpLmZvckVhY2goKG89PntvKGUsbix0LHIpfSkpfWZ1bmN0aW9uIHUoZSxuLHQpe0goci5aLkRlYnVnRXJyb3IsZSxuLHQpfWZ1bmN0aW9uIGMoZSxuLHQpe0goci5aLkVycm9yLGUsbix0KX1mdW5jdGlvbiBsKGUsbix0KXtpZihjKGUsbix0KSwic3RyaW5nIj09dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKGUpO3Rocm93IGV8fG5ldyBFcnJvcigiVW5rbm93bkVycm9yIil9ZnVuY3Rpb24gSChlLG4sdCxyKXt2YXIgaTtsZXQgYSx1OyJzdHJpbmciPT10eXBlb2Ygbj8odT1uLGE9KDAsby5XKSh0KXx8bmV3IEVycm9yKG4pKTooYT0oMCxvLlcpKG4pfHxufHxuZXcgRXJyb3IoIlVua25vd25FcnJvciIpLHU9YS5tZXNzYWdlKSwobnVsbD09KGk9YS5lcnJvcik/dm9pZCAwOmkubWVzc2FnZSkmJmEuZXJyb3Iuc3RhY2smJih1PWEuZXJyb3IubWVzc2FnZSxhLnN0YWNrPWEuZXJyb3Iuc3RhY2ssYS5uYW1lPWEuZXJyb3IubmFtZSksYS5jb21wb25lbnQ/dT0iQ09NUE9ORU5UIEVSUk9SOiAiK2EubWVzc2FnZTphLnNjcmlwdEV2YWwmJih1PSJFVkFMIEVSUk9SOiAiK2EubWVzc2FnZSkscyh1fHwiIixlLHIsYSl9Y29uc3QgZD17aW5mbzpmdW5jdGlvbihlLG4pe3MoZSxyLlouSW5mbyxuKX0sd2FybjpmdW5jdGlvbihlLG4pe3MoZSxyLlouV2FybmluZyxuKX0sdmVyYm9zZTpmdW5jdGlvbihlLG4pe3MoZSxyLlouVmVyYm9zZSxuKX19fSw0NTE5MzY6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe2lmKCFlKXJldHVybjtjb25zdCBuPVsiR3JhcGhxbFNlcnZlckVycm9yIl0sdD1bIkdyYXBocWxOZXR3b3JrRXJyb3IiXSxyPWZ1bmN0aW9uKGUpe3ZhciBuO2lmKGUuZ3JhcGhRTEVycm9ycylmb3IoY29uc3QgbiBvZiBlLmdyYXBoUUxFcnJvcnMpaWYobi5leHRlbnNpb25zJiZPYmplY3Qua2V5cyhuLmV4dGVuc2lvbnMpLmxlbmd0aD4wKXJldHVybiBuO3JldHVybiBudWxsPT0obj1lLmdyYXBoUUxFcnJvcnMpP3ZvaWQgMDpuWzBdfShlKTtyZXR1cm4gcj8oci5leHRlbnNpb25zJiZPYmplY3Qua2V5cyhyLmV4dGVuc2lvbnMpLmZvckVhY2goKGU9PntpZihudWxsIT1yLmV4dGVuc2lvbnNbZV0mJihyW2VdPXIuZXh0ZW5zaW9uc1tlXSksImNvZGUiPT1lKXtjb25zdCBvPXIuZXh0ZW5zaW9uc1tlXTtvJiYobi5pbmRleE9mKG8pPi0xJiYoci5mZXRjaEVycm9yVHlwZT0iU2VydmVyRmFpbHVyZSIpLHQuaW5kZXhPZihvKT4tMSYmKHIuZmV0Y2hFcnJvclR5cGU9IlJlcXVlc3ROb3RDb21wbGV0ZSIpKX19KSkscik6ZX10LmQobix7VzooKT0+cn0pfSwyNjA1NTY6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+b30pO3ZhciByPXQoNTc1MTEzKTtmdW5jdGlvbiBvKCl7dmFyIGU7Y29uc3Qgbj1udWxsPT0oZT0oMCxyLkkpKCkpP3ZvaWQgMDplLnBhdGhuYW1lO2lmKG4pe2NvbnN0IGU9bi5zcGxpdCgiLyIpLmZpbHRlcigoZT0+ISFlKSk7cmV0dXJuIGVbMF0/ZVswXS50b0xvd2VyQ2FzZSgpOm51bGx9cmV0dXJuIG51bGx9fSwzNjY5NTM6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WjooKT0+b30pO3ZhciByPXQoNzkxNDUpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsci5FKShlLFtyLmxnLHIuY3ddKX19LDU4ODM5OTooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSxuLHQpe249bnx8e307Y29uc3Qgcj10P09iamVjdC5rZXlzKG4pLmZpbHRlcigobj0+ZS5pbmRleE9mKGAmJHtufT1gKTwwJiZlLmluZGV4T2YoYD8ke259PWApPDApKTpPYmplY3Qua2V5cyhuKTtpZigwPT1yLmxlbmd0aClyZXR1cm4gZTtjb25zdCBvPS0xIT09ZS5pbmRleE9mKCI/Iik7ZSs9bz8iJiI6Ij8iO2NvbnN0IGk9ci5tYXAoKGU9PmAke2VuY29kZVVSSUNvbXBvbmVudChlKX09JHtlbmNvZGVVUklDb21wb25lbnQobltlXSl9YCkpLmpvaW4oIiYiKTtyZXR1cm4gZStpfXQuZChuLHtaOigpPT5yfSl9LDU3NTExMzooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtJOigpPT5vfSk7dmFyIHI9dCgxMTcwNDcpO2Z1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLnkpKCkubG9jYXRpb259fSw3OTE0NTooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtsZzooKT0+YSxjdzooKT0+cyxFOigpPT51fSk7dmFyIHI9dCg3MjY4NTMpLG89dCg1NzUxMTMpLGk9dCgyNjA1NTYpO2NvbnN0IGE9ZT0+MT09ZS5sZW5ndGgmJiFpc05hTihwYXJzZUludChlKSkscz1lPT4hIWUubWF0Y2goLy4rQC4rLyk7ZnVuY3Rpb24gdShlLG4pe3ZhciB0O2xldCBhPWU7Y29uc3Qgcz1udWxsPT0odD0oMCxvLkkpKCkpP3ZvaWQgMDp0LnBhdGhuYW1lO2lmKHMpe2NvbnN0IGU9cy5zcGxpdCgiLyIrKDAsaS5aKSgpKyIvIilbMV07aWYoZSl7Y29uc3QgdD1lLnNwbGl0KCIvIilbMF07dCYmbi5maWx0ZXIoKGU9PmUodCkpKS5sZW5ndGg+MCYmKGE9KDAsci5aUCkoYSx0KSl9fXJldHVybigwLHIuZTcpKGEpfX0sNjk5NzY2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9Pm8sSzooKT0+aX0pO2xldCByPSExO2Z1bmN0aW9uIG8oKXtyZXR1cm4gcn1mdW5jdGlvbiBpKGUpe3I9ZX19LDcyNjg1MzooZSxuLHQpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoLi4uZSl7cmV0dXJuIGUuZmlsdGVyKChlPT5lKSkubWFwKGEpLmZpbHRlcigoZT0+MCE9PWUubGVuZ3RoKSkuam9pbigiLyIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGU/ZS5sZW5ndGg+MCYmIi8iIT09ZVswXT8iLyIrZTplOiIvIn1mdW5jdGlvbiBpKGUpe3JldHVybiBlLmxlbmd0aD4wJiYiLyIhPT1lW2UubGVuZ3RoLTFdP2UrIi8iOmV9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZS5yZXBsYWNlKC9eXC8qLywiIikucmVwbGFjZSgvXC8qJC8sIiIpfXQuZChuLHtaUDooKT0+cixlNzooKT0+byx4czooKT0+aX0pfSw2Mjg4NDE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7Uzc6KCk9Pm8uWlAsYTY6KCk9PnUuYSxrQTooKT0+aS5rQSxHRzooKT0+YSxScjooKT0+aS5ScixnczooKT0+aS5ncyxPWTooKT0+ci5PWSx5cDooKT0+ci55cCxuYjooKT0+ci5uYixvMjooKT0+ci5vMixGaTooKT0+ci5GaSxGbzooKT0+ci5GbywkVjooKT0+ci4kVixMOigpPT5yLkwsVjU6KCk9PnIuVjUsSnM6KCk9PnMsckQ6KCk9PnIuckQsRUQ6KCk9PnIuRUR9KTt2YXIgcj10KDk0MDgxNyksbz10KDUzMDgyMyksaT10KDEyNTYxOSk7YXN5bmMgZnVuY3Rpb24gYSgpe2NvbnN0IGU9YXdhaXQoMCxpLlJyKSgpO2xldCBuPSIiO3JldHVybiBuPSJXaW5kb3dzIj09ZS5vcz8iMTEiPT1lLm9zVmVyc2lvbj8iV2luZG93cyAxMSBvciBsYXRlciI6IjEwIj09ZS5vc1ZlcnNpb24/IldpbmRvd3MgMTAiOiJCZWZvcmUgV2luZG93cyAxMCI6Ik5vdCBydW5uaW5nIG9uIFdpbmRvd3MiLG59ZnVuY3Rpb24gcyhlKXtjb25zdHticm93c2VyVmVyc2lvbjpufT0oMCxvLlpQKSgpO2lmKGUubGVuZ3RoPm4ubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKG5bdF0hPT1lW3RdKXJldHVybiBuW3RdPmVbdF07cmV0dXJuITB9dmFyIHU9dCg5NjI1MTUpfSw5NDA4MTc6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7VjU6KCk9PmksRUQ6KCk9PmEsckQ6KCk9PnMsJFY6KCk9PnUsT1k6KCk9PmMsTDooKT0+bCx5cDooKT0+SCxvMjooKT0+ZCxuYjooKT0+ZixGbzooKT0+UyxGaTooKT0+cH0pO3ZhciByPXQoNTMwODIzKSxvPXQoMTI1NjE5KTtmdW5jdGlvbiBpKCl7cmV0dXJuIk1hYyBPUyBYIj09KDAsby5rQSkoKX1mdW5jdGlvbiBhKCl7cmV0dXJuIldpbmRvd3MiPT09KDAsby5rQSkoKX1hc3luYyBmdW5jdGlvbiBzKCl7Y29uc3QgZT1hd2FpdCgwLG8uUnIpKCk7cmV0dXJuIldpbmRvd3MiPT09ZS5vcyYmIjExIj09PWUub3NWZXJzaW9ufWZ1bmN0aW9uIHUoKXtyZXR1cm4iQ2hyb21pdW0gT1MiPT0oMCxvLmtBKSgpfWZ1bmN0aW9uIGMoKXtyZXR1cm4iQW5kcm9pZCI9PSgwLG8ua0EpKCl9ZnVuY3Rpb24gbCgpe3JldHVybiJpT1MiPT0oMCxvLmtBKSgpfWZ1bmN0aW9uIEgoKXtyZXR1cm4iQ2hyb21lIj09PSgwLHIuWlApKCkuYnJvd3Nlcn1mdW5jdGlvbiBkKCl7cmV0dXJuIkZpcmVmb3giPT09KDAsci5aUCkoKS5icm93c2VyfWZ1bmN0aW9uIGYoKXtyZXR1cm4iRWRnZSBBbmFoZWltIj09PSgwLHIuWlApKCkuYnJvd3Nlcn1mdW5jdGlvbiBTKCl7cmV0dXJuIlNhZmFyaSI9PT0oMCxyLlpQKSgpLmJyb3dzZXJ9ZnVuY3Rpb24gcCgpe3JldHVybiJPcGVyYSI9PT0oMCxyLlpQKSgpLmJyb3dzZXJ9fSw1MzA4MjM6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WlA6KCk9Pml9KTt2YXIgcj10KDE1MTg5NSk7bGV0IG87ZnVuY3Rpb24gaSgpe3JldHVybiBvfHwobz1mdW5jdGlvbigpe3ZhciBlLG47bGV0IHQsbz0iVW5rbm93biI7Y29uc3QgaT0oMCxyLlopKCk7L09QUlwvLy50ZXN0KGkpPyhvPSJPcGVyYSIsdD1hKGksIk9QUiIpKTovUGhhbnRvbUpTLy50ZXN0KGkpP289IlBoYW50b21KUyI6L0VkZ2UvLnRlc3QoaSk/bz0iRWRnZSI6L0VkZy8udGVzdChpKXx8InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJihudWxsPT0obj1udWxsPT0oZT1udWxsPT1uYXZpZ2F0b3I/dm9pZCAwOm5hdmlnYXRvci51c2VyQWdlbnREYXRhKT92b2lkIDA6ZS5icmFuZHMpP3ZvaWQgMDpuLnNvbWUoKGU9PiJNaWNyb3NvZnQgRWRnZSI9PShudWxsPT1lP3ZvaWQgMDplLmJyYW5kKSkpKT8obz0iRWRnZSBBbmFoZWltIix0PWEoaSwiRWRnIikpOi9FbGVjdHJvbi8udGVzdChpKT9vPSJFbGVjdHJvbiI6L0Nocm9tZS8udGVzdChpKXx8L0NyaU9TLy50ZXN0KGkpP289IkNocm9tZSI6L1RyaWRlbnQvLnRlc3QoaSk/KG89Ik1TSUUiLHQ9ZnVuY3Rpb24oZSl7bGV0IG49ZS5tYXRjaCgvTVNJRSAoW1xkLFwuXSspLyk7aWYobilyZXR1cm4gcyhuWzFdKTtyZXR1cm4gbj1lLm1hdGNoKC9ydjooW1xkLFwuXSspLyksbj9zKG5bMV0pOltdfShpKSk6L0ZpcmVmb3gvLnRlc3QoaSk/bz0iRmlyZWZveCI6L1NhZmFyaS8udGVzdChpKXx8L0FwcGxlV2ViS2l0Ly50ZXN0KGkpPyhvPSJTYWZhcmkiLHQ9YShpLCJWZXJzaW9uIikpOi9Ta3lwZVNoZWxsLy50ZXN0KGkpJiYobz0iU2t5cGVTaGVsbCIpO3JldHVybnticm93c2VyOm8sYnJvd3NlclZlcnNpb246dHx8YShpLG8pfX0oKSksb31mdW5jdGlvbiBhKGUsbil7Y29uc3QgdD1lLm1hdGNoKG5ldyBSZWdFeHAobisiLyhbXFxkLFxcLl0rKSIpKTtyZXR1cm4gdD9zKHRbMV0pOltdfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGUuc3BsaXQoL1tcLixdLykubWFwKChlPT5wYXJzZUludChlKSkpfX0sOTYyNTE1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2E6KCk9PmF9KTtjb25zdCByPXthcmNoaXRlY3R1cmU6MSxiaXRuZXNzOjEscGxhdGZvcm1WZXJzaW9uOjEsbW9kZWw6MX07bGV0IG89bnVsbCxpPSEwO2FzeW5jIGZ1bmN0aW9uIGEoKXt2YXIgZTtpZihpJiYoaT0hMSxudWxsPT0oZT1zZWxmLm5hdmlnYXRvci51c2VyQWdlbnREYXRhKT92b2lkIDA6ZS5nZXRIaWdoRW50cm9weVZhbHVlcykpdHJ5e289YXdhaXQgc2VsZi5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5nZXRIaWdoRW50cm9weVZhbHVlcyhPYmplY3Qua2V5cyhyKSl9Y2F0Y2goZSl7fXJldHVybiBvfX0sMTI1NjE5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2dzOigpPT51LGtBOigpPT5jLFJyOigpPT5sfSk7dmFyIHI9dCgxNTE4OTUpLG89dCg5NjI1MTUpO2NvbnN0IGk9ezUuMToiWFAiLCI2LjAiOiJWaXN0YSIsNi4xOiI3Iiw2LjI6IjgiLDYuMzoiOC4xIiw2LjQ6IjEwIiwiMTAuMCI6IjEwIn07bGV0IGEscztmdW5jdGlvbiB1KCl7cmV0dXJuIGF8fChhPWZ1bmN0aW9uKCl7bGV0IGUsbjtjb25zdCB0PSgwLHIuWikoKTsvKGNyb3MpXHNbXHddK1xzKFtcd1wuXStcdykvaS50ZXN0KHQpP2U9IkNocm9taXVtIE9TIjovKGlQYWR8aVBob25lfGlQb2QpKD89LipsaWtlIE1hYyBPUyBYKS9pLnRlc3QodCk/ZT0iaU9TIjovYW5kcm9pZC9pLnRlc3QodCk/ZT0iQW5kcm9pZCI6LyhsaW51eHxqb2xpfFtreGxuXT91YnVudHV8ZGViaWFufFtvcGVuXSpzdXNlfGdlbnRvb3xhcmNofHNsYWNrd2FyZXxmZWRvcmF8bWFuZHJpdmF8Y2VudG9zfHBjbGludXhvc3xyZWRoYXR8emVud2FsaykvaS50ZXN0KHQpP2U9IkxpbnV4IjovKG1hY2ludG9zaHxtYWMgb3MgeCkvaS50ZXN0KHQpP2U9Ik1hYyBPUyBYIjovKHdpbmRvd3N8d2luMzIpL2kudGVzdCh0KT8oZT0iV2luZG93cyIsbj1mdW5jdGlvbihlKXt2YXIgbjtjb25zdCB0PWUubWF0Y2gobmV3IFJlZ0V4cCgiV2luZG93cyBOVCAoW1xcZCwuXSspIikpO3JldHVybiB0JiZudWxsIT0obj1pW3RbMV1dKT9uOiJVbmtub3duIn0odCkpOmU9IlVua25vd24iO3JldHVybntvczplLG9zVmVyc2lvbjpufX0oKSksYX1mdW5jdGlvbiBjKCl7cmV0dXJuIHUoKS5vc31hc3luYyBmdW5jdGlvbiBsKCl7aWYoIXMpe2NvbnN0IGU9dSgpO2lmKCJXaW5kb3dzIj09ZS5vcyl7Y29uc3Qgbj1hd2FpdCgwLG8uYSkoKTtpZihuKXtwYXJzZUludChuLnBsYXRmb3JtVmVyc2lvbi5zcGxpdCgiLiIpWzBdKT49MTMmJihlLm9zVmVyc2lvbj0iMTEiKX19cz1lfXJldHVybiBzfX0sMTUxODk1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZuYXZpZ2F0b3IudXNlckFnZW50P25hdmlnYXRvci51c2VyQWdlbnQ6IiJ9dC5kKG4se1o6KCk9PnJ9KX0sMTE3MDQ3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3k6KCk9Pml9KTtjbGFzcyBye2dldCBsb2NhdGlvbigpe3JldHVybiB3aW5kb3cubG9jYXRpb259Z2V0IGlubmVySGVpZ2h0KCl7cmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodH1nZXQgaW5uZXJXaWR0aCgpe3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aH1nZXQgZG9jdW1lbnQoKXtyZXR1cm4gd2luZG93LmRvY3VtZW50fWdldCBpc1B3YSgpe3JldHVybiB3aW5kb3cubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkiKS5tYXRjaGVzfWdldCBjb29raWUoKXtyZXR1cm4gd2luZG93LmRvY3VtZW50LmNvb2tpZX1nZXQgbG9jYWxTdG9yYWdlKCl7cmV0dXJuIHdpbmRvdy5sb2NhbFN0b3JhZ2V9Z2V0IG9yaWdpbigpe3JldHVybiB3aW5kb3cub3JpZ2lufWdldCBfbG9jU3RyaW5ncygpe3JldHVybiB3aW5kb3cuX2xvY1N0cmluZ3N9fWxldCBvO2Z1bmN0aW9uIGkoKXtyZXR1cm4gb3x8InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fChvPW5ldyByKSxvfX0sNjI0NDU6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WTooKT0+cn0pO3ZhciByPShlPT4oZS5NYWlsPSJNYWlsIixlLkNhbGVuZGFyPSJDYWxlbmRhciIsZS5QZW9wbGU9IlBlb3BsZSIsZS5GaWxlc0h1Yj0iRmlsZXNIdWIiLGUuVGFza3M9IlRhc2tzIixlLkV2ZW50aWZ5PSJFdmVudGlmeSIsZS5QdWJsaXNoZWRDYWxlbmRhcj0iUHVibGlzaGVkQ2FsZW5kYXIiLGUuTWFpbERlZXBMaW5rPSJNYWlsRGVlcExpbmsiLGUuQXBwSG9zdD0iQXBwSG9zdCIsZS5DYWxlbmRhckRlZXBMaW5rPSJDYWxlbmRhckRlZXBMaW5rIixlLkdyb3Vwcz0iR3JvdXBzIixlLk1pY3Jvc29mdFBsYWNlcz0iTWljcm9zb2Z0UGxhY2VzIixlLkZlZWQ9IkZlZWQiLGUuQWRkaXNvbj0iQWRkaXNvbiIsZSkpKHJ8fHt9KX0sOTYwMDczOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0E6KCk9Pm99KTt2YXIgcj10KDYyNDQ1KTtmdW5jdGlvbiBvKCl7dmFyIGU7Y29uc3Qgbj1udWxsPT0oZT1udWxsPT13aW5kb3c/dm9pZCAwOndpbmRvdy5sb2NhdGlvbik/dm9pZCAwOmUucGF0aG5hbWU7aWYobil7Y29uc3QgZT1uLnNwbGl0KCIvIik7aWYoaSgibWFpbCIsZSkpcmV0dXJuIHIuWS5NYWlsRGVlcExpbms7aWYoaSgiY2FsZW5kYXIiLGUpKXJldHVybiByLlkuQ2FsZW5kYXJEZWVwTGluaztpZigwPT1uLmluZGV4T2YoIi9jYWxlbmRhciIpfHwwPT1uLmluZGV4T2YoIi9ob3N0ZWQvY2FsZW5kYXIiKSlyZXR1cm4gci5ZLkNhbGVuZGFyO2lmKDA9PW4uaW5kZXhPZigiL3Blb3BsZSIpfHwwPT1uLmluZGV4T2YoIi9ob3N0ZWQvcGVvcGxlIikpcmV0dXJuIHIuWS5QZW9wbGU7aWYoMD09bi5pbmRleE9mKCIvZmlsZXMiKSlyZXR1cm4gci5ZLkZpbGVzSHViO2lmKDA9PW4uaW5kZXhPZigiL2hvc3QvIikpcmV0dXJuIHIuWS5BcHBIb3N0O2lmKDA9PW4uaW5kZXhPZigiL2dyb3VwcyIpfHwwPT1uLmluZGV4T2YoIi9ob3N0ZWQvZ3JvdXBzIikpcmV0dXJuIHIuWS5Hcm91cHM7aWYoMD09bi5pbmRleE9mKCIvZXZlbnRpZnkiKXx8MD09bi5pbmRleE9mKCIvaG9zdGVkL2V2ZW50aWZ5IikpcmV0dXJuIHIuWS5FdmVudGlmeTtpZigwPT1uLmluZGV4T2YoIi9wbGFjZXMiKXx8MD09bi5pbmRleE9mKCIvaG9zdGVkL3BsYWNlcyIpKXJldHVybiByLlkuTWljcm9zb2Z0UGxhY2VzfXJldHVybiByLlkuTWFpbH1mdW5jdGlvbiBpKGUsbil7dmFyIHQscixvLGk7cmV0dXJuIG5bMV09PWUmJigwPT0obnVsbD09KHQ9blsyXSk/dm9pZCAwOnQuaW5kZXhPZigiZGVlcGxpbmsiKSl8fDA9PShudWxsPT0ocj1uWzNdKT92b2lkIDA6ci5pbmRleE9mKCJkZWVwbGluayIpKSl8fCJob3N0ZWQiPT1uWzFdJiZuWzJdPT1lJiYoMD09KG51bGw9PShvPW5bM10pP3ZvaWQgMDpvLmluZGV4T2YoImRlZXBsaW5rIikpfHwwPT0obnVsbD09KGk9bls0XSk/dm9pZCAwOmkuaW5kZXhPZigiZGVlcGxpbmsiKSkpfX0sNjIxMjc2OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9PlR9KTt2YXIgcj10KDM0NTM2Miksbz10KDkyMzgwNiksaT10KDE3MzU5NyksYT10KDgyNjQ1NCkscz10KDkyOTU0MSksdT10KDM4Mjc3OCksYz10KDQ3NjkwNSksbD10KDk0OTY3MCksSD01MDA7ZnVuY3Rpb24gZChlLG4sdCl7biYmKDAscy5rSikobikmJm5baS5SNV0+MCYmKG49bi5zb3J0KChmdW5jdGlvbihlLG4pe3JldHVybiBlW3UueWldLW5bdS55aV19KSksKDAscy50TykobiwoZnVuY3Rpb24oZSl7ZVt1LnlpXTxIJiYoMCxzLl95KSgiQ2hhbm5lbCBoYXMgaW52YWxpZCBwcmlvcml0eSAtICIrZVtpLnBaXSl9KSksZVtpLk1XXSh7cXVldWU6KDAscy5GTCkobiksY2hhaW46KDAsYy5qVikobix0W2kuVENdLHQpfSkpfXZhciBmPXQoNzMxNzQwKSxTPXQoMjM1NjIpLHA9dCgyOTIzOSksQz10KDY2MjM3MiksQT10KDMxNzE0MCksST10KDc2Njg2NCksUj10KDgwMzE0NSksaD1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKCl7dmFyIHQscixhPWUuY2FsbCh0aGlzKXx8dGhpcztmdW5jdGlvbiBjKCl7dD0wLHI9W119cmV0dXJuIGEuaWRlbnRpZmllcj0iVGVsZW1ldHJ5SW5pdGlhbGl6ZXJQbHVnaW4iLGEucHJpb3JpdHk9MTk5LGMoKSwoMCxvLlopKG4sYSwoZnVuY3Rpb24oZSxuKXtlLmFkZFRlbGVtZXRyeUluaXRpYWxpemVyPWZ1bmN0aW9uKGUpe3ZhciBuPXtpZDp0KyssZm46ZX07cmV0dXJuIHJbaS5NV10obikse3JlbW92ZTpmdW5jdGlvbigpeygwLHMudE8pKHIsKGZ1bmN0aW9uKGUsdCl7aWYoZS5pZD09PW4uaWQpcmV0dXJuIHJbaS5jYl0odCwxKSwtMX0pKX19fSxlW3UuaExdPWZ1bmN0aW9uKG4sdCl7Zm9yKHZhciBvPSExLGE9cltpLlI1XSx1PTA7dTxhOysrdSl7dmFyIGM9clt1XTtpZihjKXRyeXtpZighMT09PWMuZm5baS5aVl0obnVsbCxbbl0pKXtvPSEwO2JyZWFrfX1jYXRjaChlKXsoMCxDLmtQKSh0W2kubWNdKCksMSw2NCwiT25lIG9mIHRlbGVtZXRyeSBpbml0aWFsaXplcnMgZmFpbGVkLCB0ZWxlbWV0cnkgaXRlbSB3aWxsIG5vdCBiZSBzZW50OiAiKygwLHMuamopKGUpLHtleGNlcHRpb246KDAsUi5lVSkoZSl9LCEwKX19b3x8ZVtpLnVMXShuLHQpfSxlW2kuRjNdPWZ1bmN0aW9uKCl7YygpfX0pKSxhfXJldHVybigwLHIubmUpKG4sZSksbi5fX2llRHluPTEsbn0oSS5pKSx2PXQoODUxOTMwKSxtPSJQbHVnaW5zIG11c3QgcHJvdmlkZSBpbml0aWFsaXplIG1ldGhvZCIsVT0iU0RLIGlzIHN0aWxsIHVubG9hZGluZy4uLiIsTj17bG9nZ2luZ0xldmVsQ29uc29sZToxfTtmdW5jdGlvbiBnKGUsbil7cmV0dXJuIG5ldyBBLkprKG4pfWZ1bmN0aW9uIEsoZSxuKXt2YXIgdD0hMTtyZXR1cm4oMCxzLnRPKShuLChmdW5jdGlvbihuKXtpZihuPT09ZSlyZXR1cm4gdD0hMCwtMX0pKSx0fXZhciB5PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe3ZhciBuLHQsSSxSLHksdyxiLEUsTyxrLHgsVCxQLEQsTCxNLEIsVyxGLGosVj0wOygwLG8uWikoZSx0aGlzLChmdW5jdGlvbihlKXtmdW5jdGlvbiBvKCl7dD0hMSxuPSgwLHMubW0pKCEwLHt9LE4pLGVbaS5UQ109bixlW2kuZVpdPW5ldyBDLkFRKG4pLGVbaS5pQ109W10sTD1uZXcgaCxJPVtdLFI9bnVsbCx5PW51bGwsdz1udWxsLGI9bnVsbCxFPW51bGwsaz1udWxsLE89W10seD1udWxsLFQ9bnVsbCxQPW51bGwsRD0hMSxNPW51bGwsQj0oMCxTLkopKCJBSUJhc2VDb3JlIiwhMCksVz0oMCx2LlkpKCksaj1udWxsfWZ1bmN0aW9uIFooKXtyZXR1cm4oMCxjLkNEKShYKCksbixlKX1mdW5jdGlvbiB6KHQpe3ZhciByPWZ1bmN0aW9uKGUsbix0KXt2YXIgcixvPVtdLGE9e307cmV0dXJuKDAscy50TykodCwoZnVuY3Rpb24odCl7KCgwLHMubGUpKHQpfHwoMCxzLmxlKSh0W2kuVkxdKSkmJigwLHMuX3kpKG0pO3ZhciByPXRbdS55aV0sYz10W2kucFpdO3QmJnImJigoMCxzLmxlKShhW3JdKT9hW3JdPWM6KDAsQy5qVikoZSwiVHdvIGV4dGVuc2lvbnMgaGF2ZSBzYW1lIHByaW9yaXR5ICMiK3IrIiAtICIrYVtyXSsiLCAiK2MpKSwoIXJ8fHI8bikmJm9baS5NV10odCl9KSksKHI9e2FsbDp0fSlbdS5vVl09byxyfShlW2kuZVpdLEgsTyk7az1yW3Uub1ZdLEU9bnVsbDt2YXIgbz1yLmFsbDtpZihQPSgwLHMuRkwpKGZ1bmN0aW9uKGUsbix0KXt2YXIgcj1bXTtpZihlJiYoMCxzLnRPKShlLChmdW5jdGlvbihlKXtyZXR1cm4gZChyLGUsdCl9KSksbil7dmFyIG89W107KDAscy50TykobiwoZnVuY3Rpb24oZSl7ZVt1LnlpXT5IJiZvW2kuTVddKGUpfSkpLGQocixvLHQpfXJldHVybiByfShULG8sZSkpLHgpe3ZhciBhPSgwLHMuVUEpKG8seCk7LTEhPT1hJiZvW2kuY2JdKGEsMSksLTEhPT0oYT0oMCxzLlVBKShrLHgpKSYma1tpLmNiXShhLDEpLHguX3NldFF1ZXVlKFApfWVsc2UgeD1mdW5jdGlvbihlLG4pe2Z1bmN0aW9uIHQoKXtyZXR1cm4oMCxjLkNEKShudWxsLG5baS5UQ10sbixudWxsKX1mdW5jdGlvbiByKGUsbix0LHIpe3ZhciBvPWU/ZVtpLlI1XSsxOjE7ZnVuY3Rpb24gYSgpezA9PS0tbyYmKHImJnIoKSxyPW51bGwpfW8+MCYmKDAscy50TykoZSwoZnVuY3Rpb24oZSl7aWYoZSYmZS5xdWV1ZVtpLlI1XT4wKXt2YXIgcj1lLmNoYWluLHM9bltpLnpWXShyKTtzW2kuRmNdKGEpLHQocyl9ZWxzZSBvLS19KSksYSgpfXZhciBvPSExLGE9e2lkZW50aWZpZXI6IkNoYW5uZWxDb250cm9sbGVyUGx1Z2luIixwcmlvcml0eTpILGluaXRpYWxpemU6ZnVuY3Rpb24obix0LHIsYSl7bz0hMCwoMCxzLnRPKShlLChmdW5jdGlvbihlKXtlJiZlLnF1ZXVlW2kuUjVdPjAmJigwLGwuYlApKCgwLGMuQ0QpKGUuY2hhaW4sbix0KSxyKX0pKX0saXNJbml0aWFsaXplZDpmdW5jdGlvbigpe3JldHVybiBvfSxwcm9jZXNzVGVsZW1ldHJ5OmZ1bmN0aW9uKG4sbyl7cihlLG98fHQoKSwoZnVuY3Rpb24oZSl7ZVtpLnVMXShuKX0pLChmdW5jdGlvbigpe29baS51TF0obil9KSl9LHVwZGF0ZTpmdW5jdGlvbihuLHQpe3ZhciBvPXR8fHtyZWFzb246MH07cmV0dXJuIHIoZSxuLChmdW5jdGlvbihlKXtlW2kudUxdKG8pfSksKGZ1bmN0aW9uKCl7bltpLnVMXShvKX0pKSwhMH0scGF1c2U6ZnVuY3Rpb24oKXtyKGUsdCgpLChmdW5jdGlvbihlKXtlLml0ZXJhdGUoKGZ1bmN0aW9uKGUpe2UucGF1c2UmJmUucGF1c2UoKX0pKX0pLG51bGwpfSxyZXN1bWU6ZnVuY3Rpb24oKXtyKGUsdCgpLChmdW5jdGlvbihlKXtlLml0ZXJhdGUoKGZ1bmN0aW9uKGUpe2UucmVzdW1lJiZlLnJlc3VtZSgpfSkpfSksbnVsbCl9LHRlYXJkb3duOmZ1bmN0aW9uKG4sdCl7dmFyIGE9dHx8e3JlYXNvbjowLGlzQXN5bmM6ITF9O3JldHVybiByKGUsbiwoZnVuY3Rpb24oZSl7ZVtpLnVMXShhKX0pLChmdW5jdGlvbigpe25baS51TF0oYSksbz0hMX0pKSwhMH0sZ2V0Q2hhbm5lbDpmdW5jdGlvbihuKXt2YXIgdD1udWxsO3JldHVybiBlJiZlW2kuUjVdPjAmJigwLHMudE8pKGUsKGZ1bmN0aW9uKGUpe2lmKGUmJmUucXVldWVbaS5SNV0+MCYmKCgwLHMudE8pKGUucXVldWUsKGZ1bmN0aW9uKGUpe2lmKGVbaS5wWl09PT1uKXJldHVybiB0PWUsLTF9KSksdCkpcmV0dXJuLTF9KSksdH0sZmx1c2g6ZnVuY3Rpb24obixvLGEscyl7dmFyIHU9MSxjPSExLGw9bnVsbDtmdW5jdGlvbiBIKCl7dS0tLGMmJjA9PT11JiYobCYmKGNsZWFyVGltZW91dChsKSxsPW51bGwpLG8mJm8oYyksbz1udWxsKX1yZXR1cm4gcz1zfHw1ZTMscihlLHQoKSwoZnVuY3Rpb24oZSl7ZS5pdGVyYXRlKChmdW5jdGlvbihlKXtpZihlW2kua0xdKXt1Kys7dmFyIHQ9ITE7ZVtpLmtMXShuLChmdW5jdGlvbigpe3Q9ITAsSCgpfSksYSl8fHR8fChuJiZudWxsPT1sP2w9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtsPW51bGwsSCgpfSkscyk6SCgpKX19KSl9KSwoZnVuY3Rpb24oKXtjPSEwLEgoKX0pKSwhMH0sX3NldFF1ZXVlOmZ1bmN0aW9uKG4pe2U9bn19O3JldHVybiBhfShQLGUpO29baS5NV10oeCksa1tpLk1XXSh4KSxlW2kuaUNdPSgwLGwuQUEpKG8pLHhbaS5WTF0obixlLG8pLCgwLGwuYlApKFooKSxvKSxlW2kuaUNdPSgwLHMuRkwpKCgwLGwuQUEpKGt8fFtdKSkuc2xpY2UoKSx0JiZmdW5jdGlvbihuKXt2YXIgdD0oMCxjLnh5KShYKCksZSk7ZS5fdXBkYXRlSG9vayYmITA9PT1lLl91cGRhdGVIb29rKHQsbil8fHRbaS51TF0obil9KHQpfWZ1bmN0aW9uIHEobil7dmFyIHQscj1udWxsLG89bnVsbDtyZXR1cm4oMCxzLnRPKShlW2kuaUNdLChmdW5jdGlvbihlKXtpZihlW2kucFpdPT09biYmZSE9PXgmJmUhPT1MKXJldHVybiBvPWUsLTF9KSksIW8mJngmJihvPXguZ2V0Q2hhbm5lbChuKSksbyYmKCh0PXtwbHVnaW46b30pW2kuJGhdPWZ1bmN0aW9uKGUpeygwLGwuT1kpKG8pW3UubUVdPSFlfSx0LmlzRW5hYmxlZD1mdW5jdGlvbigpe3ZhciBlPSgwLGwuT1kpKG8pO3JldHVybiFlW2kuZmldJiYhZVt1Lm1FXX0sdC5yZW1vdmU9ZnVuY3Rpb24oZSxuKXt2YXIgdDt2b2lkIDA9PT1lJiYoZT0hMCk7dmFyIHI9W29dLGE9KCh0PXtyZWFzb246MX0pW2kuZF09ZSx0KTtZKHIsYSwoZnVuY3Rpb24oZSl7ZSYmeih7cmVhc29uOjMyLHJlbW92ZWQ6cn0pLG4mJm4oZSl9KSl9LHI9dCkscn1mdW5jdGlvbiBYKCl7aWYoIUUpe3ZhciB0PShrfHxbXSkuc2xpY2UoKTstMT09PSgwLHMuVUEpKHQsTCkmJnRbaS5NV10oTCksRT0oMCxjLmpWKSgoMCxsLkFBKSh0KSxuLGUpfXJldHVybiBFfWZ1bmN0aW9uIFkodCxyLG8pe2lmKHQmJnRbaS5SNV0+MCl7dmFyIGE9KDAsYy5qVikodCxuLGUpLHU9KDAsYy5CdCkoYSxlKTt1W2kuRmNdKChmdW5jdGlvbigpe3ZhciBlPSExLG49W107KDAscy50TykoTywoZnVuY3Rpb24ocixvKXtLKHIsdCk/ZT0hMDpuW2kuTVddKHIpfSkpLE89bjt2YXIgcj1bXTtUJiYoKDAscy50TykoVCwoZnVuY3Rpb24obixvKXt2YXIgYT1bXTsoMCxzLnRPKShuLChmdW5jdGlvbihuKXtLKG4sdCk/ZT0hMDphW2kuTVddKG4pfSkpLHJbaS5NV10oYSl9KSksVD1yKSxvJiZvKGUpfSkpLHVbaS51TF0ocil9ZWxzZSBvKCExKX1mdW5jdGlvbiBKKCl7dmFyIHQ9ZVtpLmVaXT9lW2kuZVpdLnF1ZXVlOltdO3QmJigoMCxzLnRPKSh0LChmdW5jdGlvbih0KXt2YXIgcixvPSgocj17fSlbaS5JXT1NfHwiSW50ZXJuYWxNZXNzYWdlSWQ6ICIrdFtpLkdjXSxyLmlLZXk9KDAscy52NCkobltpLnAkXSksci50aW1lPSgwLHMuWTYpKG5ldyBEYXRlKSxyLmJhc2VUeXBlPUMubFEuZGF0YVR5cGUsci5iYXNlRGF0YT17bWVzc2FnZTp0W2kuZ1VdfSxyKTtlLnRyYWNrKG8pfSkpLHRbaS5SNV09MCl9ZnVuY3Rpb24gUShlLG4sdCxyKXtyZXR1cm4geD94W2kua0xdKGUsbix0fHw2LHIpOihuJiZuKCExKSwhMCl9ZnVuY3Rpb24gRyhuKXt2YXIgdD1lW2kuZVpdO3Q/KDAsQy5rUCkodCwyLDczLG4pOigwLHMuX3kpKG4pfW8oKSxlW2kueWxdPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGVbaS5WTF09ZnVuY3Rpb24obyxhLGMsbCl7RCYmKDAscy5feSkoVSksZVtpLnlsXSgpJiYoMCxzLl95KSgiQ29yZSBzaG91bGQgbm90IGJlIGluaXRpYWxpemVkIG1vcmUgdGhhbiBvbmNlIiksbj1vfHx7fSxlW2kuVENdPW4sKDAscy5sZSkob1tpLnAkXSkmJigwLHMuX3kpKCJQbGVhc2UgcHJvdmlkZSBpbnN0cnVtZW50YXRpb24ga2V5IiksUj1sLGUuX25vdGlmaWNhdGlvbk1hbmFnZXI9bCxmdW5jdGlvbigpe3ZhciBlPSgwLHMudjQpKG4uZGlzYWJsZURiZ0V4dCk7ITA9PT1lJiZGJiYoUltpLm43XShGKSxGPW51bGwpO1ImJiFGJiYhMCE9PWUmJihGPSgwLHAucCkobiksUltpLmddKEYpKX0oKSxmdW5jdGlvbigpe3ZhciBlPSgwLHMudjQpKG4uZW5hYmxlUGVyZk1ncik7IWUmJncmJih3PW51bGwpO2UmJigwLHMucUspKG4sdS5ETixnKX0oKSwoMCxzLnFLKShuLHUuWmgse30pLk5vdGlmaWNhdGlvbk1hbmFnZXI9UixjJiYoZVtpLmVaXT1jKTt2YXIgSD0oMCxzLnFLKShuLHUuanMsW10pOyhPPVtdKVtpLk1XXS5hcHBseShPLCgwLHIuJGgpKCgwLHIuJGgpKFtdLGEsITEpLEgsITEpKSxUPSgwLHMucUspKG4sdS5aLFtdKSx6KG51bGwpLFAmJjAhPT1QW2kuUjVdfHwoMCxzLl95KSgiTm8gIit1LlorIiBhdmFpbGFibGUiKSx0PSEwLGUucmVsZWFzZVF1ZXVlKCl9LGUuZ2V0VHJhbnNtaXNzaW9uQ29udHJvbHM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gUCYmKDAscy50TykoUCwoZnVuY3Rpb24obil7ZVtpLk1XXShuLnF1ZXVlKX0pKSwoMCxzLkZMKShlKX0sZS50cmFjaz1mdW5jdGlvbih0KXt0LmlLZXk9dC5pS2V5fHxuW2kucCRdLHRbaS5aX109dFtpLlpfXXx8KDAscy5ZNikobmV3IERhdGUpLHQudmVyPXQudmVyfHwiNC4wIiwhRCYmZVtpLnlsXSgpP1ooKVtpLnVMXSh0KTpJW2kuTVddKHQpfSxlW2kuU0RdPVosZVtpLnRiXT1mdW5jdGlvbigpe3ZhciBuO3JldHVybiBSfHwoUj0oMCxhLnB1KSgoKG49e30pW2kuZ109ZnVuY3Rpb24oZSl7fSxuW2kubjddPWZ1bmN0aW9uKGUpe30sblt1LnVDXT1mdW5jdGlvbihlKXt9LG5bdS4kRl09ZnVuY3Rpb24oZSxuKXt9LG5bdS5mX109ZnVuY3Rpb24oZSxuKXt9LG4pKSxlLl9ub3RpZmljYXRpb25NYW5hZ2VyPVIpLFJ9LGVbaS5nXT1mdW5jdGlvbihlKXtSJiZSW2kuZ10oZSl9LGVbaS5uN109ZnVuY3Rpb24oZSl7UiYmUltpLm43XShlKX0sZS5nZXRDb29raWVNZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gYnx8KGI9KDAsZi5OeikobixlW2kuZVpdKSksYn0sZS5zZXRDb29raWVNZ3I9ZnVuY3Rpb24oZSl7Yj1lfSxlW3Uua2xdPWZ1bmN0aW9uKCl7aWYoIXkmJiF3JiYoMCxzLnY0KShuLmVuYWJsZVBlcmZNZ3IpKXt2YXIgdD0oMCxzLnY0KShuW3UuRE5dKTsoMCxzLm1mKSh0KSYmKHc9dChlLGVbaS50Yl0oKSkpfXJldHVybiB5fHx3fHwoMCxBLmo1KSgpfSxlLnNldFBlcmZNZ3I9ZnVuY3Rpb24oZSl7eT1lfSxlLmV2ZW50Q250PWZ1bmN0aW9uKCl7cmV0dXJuIElbaS5SNV19LGUucmVsZWFzZVF1ZXVlPWZ1bmN0aW9uKCl7aWYodCYmSVtpLlI1XT4wKXt2YXIgZT1JO0k9W10sKDAscy50TykoZSwoZnVuY3Rpb24oZSl7WigpW2kudUxdKGUpfSkpfX0sZS5wb2xsSW50ZXJuYWxMb2dzPWZ1bmN0aW9uKGUpe009ZXx8bnVsbDt2YXIgdD0oMCxzLnY0KShuLmRpYWdub3N0aWNMb2dJbnRlcnZhbCk7cmV0dXJuIHQmJnQ+MHx8KHQ9MWU0KSxWJiZjbGVhckludGVydmFsKFYpLFY9c2V0SW50ZXJ2YWwoKGZ1bmN0aW9uKCl7SigpfSksdCl9LGVbaS5MU109ZnVuY3Rpb24oKXtWJiYoY2xlYXJJbnRlcnZhbChWKSxWPTAsSigpKX0sKDAscy5WYikoZSwoZnVuY3Rpb24oKXtyZXR1cm4gTH0pLFsiYWRkVGVsZW1ldHJ5SW5pdGlhbGl6ZXIiXSksZS51bmxvYWQ9ZnVuY3Rpb24obixyLGEpe3ZhciB1O3ZvaWQgMD09PW4mJihuPSEwKSx0fHwoMCxzLl95KSgiU0RLIGlzIG5vdCBpbml0aWFsaXplZCIpLEQmJigwLHMuX3kpKFUpO3ZhciBsPSgodT17cmVhc29uOjUwfSlbaS5kXT1uLHUuZmx1c2hDb21wbGV0ZT0hMSx1KSxIPSgwLGMuQnQpKFgoKSxlKTtmdW5jdGlvbiBkKG4pe2wuZmx1c2hDb21wbGV0ZT1uLEQ9ITAsVy5ydW4oSCxsKSxlW2kuTFNdKCksSFtpLnVMXShsKX1IW2kuRmNdKChmdW5jdGlvbigpe28oKSxyJiZyKGwpfSksZSksUShuLGQsNixhKXx8ZCghMSl9LGVbaS5UT109cSxlLmFkZFBsdWdpbj1mdW5jdGlvbihlLG4sdCxyKXtpZighZSlyZXR1cm4gciYmcighMSksdm9pZCBHKG0pO3ZhciBvPXEoZVtpLnBaXSk7aWYobyYmIW4pcmV0dXJuIHImJnIoITEpLHZvaWQgRygiUGx1Z2luIFsiK2VbaS5wWl0rIl0gaXMgYWxyZWFkeSBsb2FkZWQhIik7dmFyIGE9e3JlYXNvbjoxNn07ZnVuY3Rpb24gcyhuKXtPW2kuTVddKGUpLGEuYWRkZWQ9W2VdLHooYSksciYmcighMCl9aWYobyl7dmFyIHU9W28ucGx1Z2luXTtZKHUse3JlYXNvbjoyLGlzQXN5bmM6ISF0fSwoZnVuY3Rpb24oZSl7ZT8oYS5yZW1vdmVkPXUsYS5yZWFzb258PTMyLHMoKSk6ciYmcighMSl9KSl9ZWxzZSBzKCl9LGUuZXZ0TmFtZXNwYWNlPWZ1bmN0aW9uKCl7cmV0dXJuIEJ9LGVbaS5rTF09USxlLmdldFRyYWNlQ3R4PWZ1bmN0aW9uKGUpe3JldHVybiBqfHwoaj0oMCxsLlluKSgpKSxqfSxlLnNldFRyYWNlQ3R4PWZ1bmN0aW9uKGUpe2o9ZXx8bnVsbH0sKDAscy5PaSkoZSwiYWRkVW5sb2FkQ2IiLChmdW5jdGlvbigpe3JldHVybiBXfSksImFkZCIpfSkpfXJldHVybiBlLl9faWVEeW49MSxlfSgpO2Z1bmN0aW9uIHcoZSxuLHQscil7KDAscy50TykoZSwoZnVuY3Rpb24oZSl7aWYoZSYmZVtuXSlpZih0KXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIHIoZSl9KSwwKTtlbHNlIHRyeXtyKGUpfWNhdGNoKGUpe319KSl9dmFyIGI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKG4pe3RoaXMubGlzdGVuZXJzPVtdO3ZhciB0PSEhKG58fHt9KS5wZXJmRXZ0c1NlbmRBbGw7KDAsby5aKShlLHRoaXMsKGZ1bmN0aW9uKGUpe2VbaS5nXT1mdW5jdGlvbihuKXtlLmxpc3RlbmVyc1tpLk1XXShuKX0sZVtpLm43XT1mdW5jdGlvbihuKXtmb3IodmFyIHQ9KDAscy5VQSkoZVtpLmRFXSxuKTt0Pi0xOyllLmxpc3RlbmVyc1tpLmNiXSh0LDEpLHQ9KDAscy5VQSkoZVtpLmRFXSxuKX0sZVt1LnVDXT1mdW5jdGlvbihuKXt3KGVbaS5kRV0sdS51QywhMCwoZnVuY3Rpb24oZSl7ZVt1LnVDXShuKX0pKX0sZVt1LiRGXT1mdW5jdGlvbihuLHQpe3coZVtpLmRFXSx1LiRGLCEwLChmdW5jdGlvbihlKXtlW3UuJEZdKG4sdCl9KSl9LGVbdS5mX109ZnVuY3Rpb24obix0KXt3KGVbaS5kRV0sdS5mXyx0LChmdW5jdGlvbihlKXtlW3UuZl9dKG4sdCl9KSl9LGVbdS5DJF09ZnVuY3Rpb24obil7biYmKCF0JiZuW2kuUExdKCl8fHcoZVtpLmRFXSx1LkMkLCExLChmdW5jdGlvbihlKXtuW2kuZF0/c2V0VGltZW91dCgoZnVuY3Rpb24oKXtyZXR1cm4gZVt1LkMkXShuKX0pLDApOmVbdS5DJF0obil9KSkpfX0pKX1yZXR1cm4gZS5fX2llRHluPTEsZX0oKSxFPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXt2YXIgdD1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuKDAsby5aKShuLHQsKGZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gdChuKXt2YXIgdD1lW2kudGJdKCk7dCYmdFt1LiRGXShbbl0sMil9ZVtpLlZMXT1mdW5jdGlvbihlLHQscixvKXtuW2kuVkxdKGUsdCxyfHxuZXcgQy5BUShlKSxvfHxuZXcgYihlKSl9LGUudHJhY2s9ZnVuY3Rpb24ocil7KDAsQS5MbSkoZVt1LmtsXSgpLChmdW5jdGlvbigpe3JldHVybiJBcHBJbnNpZ2h0c0NvcmU6dHJhY2sifSksKGZ1bmN0aW9uKCl7bnVsbD09PXImJih0KHIpLCgwLHMuX3kpKCJJbnZhbGlkIHRlbGVtZXRyeSBpdGVtIikpLGZ1bmN0aW9uKGUpeygwLHMubGUpKGVbaS5JXSkmJih0KGUpLCgwLHMuX3kpKCJ0ZWxlbWV0cnkgbmFtZSByZXF1aXJlZCIpKX0ociksbi50cmFjayhyKX0pLChmdW5jdGlvbigpe3JldHVybntpdGVtOnJ9fSksIXIuc3luYyl9fSkpLHR9cmV0dXJuKDAsci5uZSkobixlKSxuLl9faWVEeW49MSxufSh5KSxPPXQoNzE4MzY2KSxrPXQoNjkxMjU0KSx4PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXt2YXIgdD1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIHQucGx1Z2luVmVyc2lvblN0cmluZ0Fycj1bXSwoMCxvLlopKG4sdCwoZnVuY3Rpb24oZSxuKXtlLmxvZ2dlciYmZS5sb2dnZXIucXVldWV8fChlLmxvZ2dlcj1uZXcgQy5BUSh7bG9nZ2luZ0xldmVsQ29uc29sZToxfSkpLGUuaW5pdGlhbGl6ZT1mdW5jdGlvbih0LHIsbyxpKXsoMCxBLkxtKShlLChmdW5jdGlvbigpe3JldHVybiJBcHBJbnNpZ2h0c0NvcmUuaW5pdGlhbGl6ZSJ9KSwoZnVuY3Rpb24oKXt2YXIgYT1lLnBsdWdpblZlcnNpb25TdHJpbmdBcnI7aWYodCl7dC5lbmRwb2ludFVybHx8KHQuZW5kcG9pbnRVcmw9Ty5ZVCk7dmFyIHU9dC5wcm9wZXJ0eVN0b3JhZ2VPdmVycmlkZTshdXx8dS5nZXRQcm9wZXJ0eSYmdS5zZXRQcm9wZXJ0eXx8KDAscy5feSkoIkludmFsaWQgcHJvcGVydHkgc3RvcmFnZSBvdmVycmlkZSBwYXNzZWQuIiksdC5jaGFubmVscyYmKDAscy50TykodC5jaGFubmVscywoZnVuY3Rpb24oZSl7ZSYmKDAscy50TykoZSwoZnVuY3Rpb24oZSl7aWYoZS5pZGVudGlmaWVyJiZlLnZlcnNpb24pe3ZhciBuPWUuaWRlbnRpZmllcisiPSIrZS52ZXJzaW9uO2EucHVzaChuKX19KSl9KSl9ZS5nZXRXUGFyYW09ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50fHx0LmVuYWJsZVdQYXJhbT8wOi0xfSxyJiYoMCxzLnRPKShyLChmdW5jdGlvbihlKXtpZihlJiZlLmlkZW50aWZpZXImJmUudmVyc2lvbil7dmFyIG49ZS5pZGVudGlmaWVyKyI9IitlLnZlcnNpb247YS5wdXNoKG4pfX0pKSxlLnBsdWdpblZlcnNpb25TdHJpbmc9YS5qb2luKCI7IiksZS5wbHVnaW5WZXJzaW9uU3RyaW5nQXJyPWE7dHJ5e24uaW5pdGlhbGl6ZSh0LHIsbyxpKSxlLnBvbGxJbnRlcm5hbExvZ3MoIkludGVybmFsTG9nIil9Y2F0Y2gobil7dmFyIGM9ZS5sb2dnZXIsbD0oMCxSLmVVKShuKTstMSE9PWwuaW5kZXhPZigiY2hhbm5lbHMiKSYmKGwrPSJcbiAtIENoYW5uZWxzIG11c3QgYmUgcHJvdmlkZWQgdGhyb3VnaCBjb25maWcuY2hhbm5lbHMgb25seSEiKSwoMCxDLmtQKShjLDEsNTE0LCJTREsgSW5pdGlhbGl6YXRpb24gRmFpbGVkIC0gbm8gdGVsZW1ldHJ5IHdpbGwgYmUgc2VudDogIitsKX19KSwoZnVuY3Rpb24oKXtyZXR1cm57Y29uZmlnOnQsZXh0ZW5zaW9uczpyLGxvZ2dlcjpvLG5vdGlmaWNhdGlvbk1hbmFnZXI6aX19KSl9LGUudHJhY2s9ZnVuY3Rpb24odCl7KDAsQS5MbSkoZSwoZnVuY3Rpb24oKXtyZXR1cm4iQXBwSW5zaWdodHNDb3JlLnRyYWNrIn0pLChmdW5jdGlvbigpe3ZhciByPXQ7aWYocil7ci50aW1pbmdzPXIudGltaW5nc3x8e30sci50aW1pbmdzLnRyYWNrU3RhcnQ9KDAsay5oSykoKSwoMCxrLnI3KShyLmxhdGVuY3kpfHwoci5sYXRlbmN5PTEpO3ZhciBvPXIuZXh0PXIuZXh0fHx7fTtvLnNkaz1vLnNka3x8e30sby5zZGsudmVyPWsudnM7dmFyIGk9ci5iYXNlRGF0YT1yLmJhc2VEYXRhfHx7fTtpW08ubzZdPWlbTy5vNl18fHt9O3ZhciBhPWlbTy5vNl07YVtPLnA4XT1hW08ucDhdfHxlLnBsdWdpblZlcnNpb25TdHJpbmd8fE8ucVN9bi50cmFjayhyKX0pLChmdW5jdGlvbigpe3JldHVybntpdGVtOnR9fSksIXQuc3luYyl9fSkpLHR9cmV0dXJuKDAsci5uZSkobixlKSxuLl9faWVEeW49MSxufShFKTtjb25zdCBUPXh9LDcxODM2NjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtxUzooKT0+cixZVDooKT0+byxwODooKT0+aSxvNjooKT0+YX0pO3ZhciByPSIiLG89Imh0dHBzOi8vYnJvd3Nlci5ldmVudHMuZGF0YS5taWNyb3NvZnQuY29tL09uZUNvbGxlY3Rvci8xLjAvIixpPSJ2ZXJzaW9uIixhPSJwcm9wZXJ0aWVzIn0sNjkxMjU0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se3ZzOigpPT5mLFNuOigpPT5DLGpNOigpPT5BLHI3OigpPT5JLHlqOigpPT5SLFZ2OigpPT5oLERvOigpPT52LGNtOigpPT5tLGw3OigpPT5VLGhLOigpPT5OLGlmOigpPT55LG1KOigpPT5iLG90OigpPT5FfSk7dmFyIHIsbz10KDgwMzE0NSksaT10KDkyOTU0MSksYT10KDczMTc0MCkscz10KDY4NTU4MyksdT10KDIyMTkwOCksYz10KDcwNjAzOCksbD10KDc1NTk5MiksSD10KDgyNjQ1NCksZD10KDcxODM2NiksZj0iMURTLVdlYi1KUy0zLjIuOCIsUz0id2l0aENyZWRlbnRpYWxzIixwPSgocj17fSlbMF09MCxyWzJdPTYsclsxXT0xLHJbM109NyxyWzQwOThdPTYscls0MDk3XT0xLHJbNDA5OV09NyxyKTtCb29sZWFuKCgwLG8uTWUpKCkpLEJvb2xlYW4oKDAsby5KaikoKSk7ZnVuY3Rpb24gQyhlKXtyZXR1cm4hKGU9PT1kLnFTfHwoMCxpLmxlKShlKSl9ZnVuY3Rpb24gQShlKXtpZihlKXt2YXIgbj1lLmluZGV4T2YoIi0iKTtpZihuPi0xKXJldHVybiBlLnN1YnN0cmluZygwLG4pfXJldHVybiBkLnFTfWZ1bmN0aW9uIEkoZSl7cmV0dXJuISEoZSYmKDAsaS5oaikoZSkmJmU+PTEmJmU8PTQpfWZ1bmN0aW9uIFIoZSxuLHQpe2lmKCFuJiYhQyhuKXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBudWxsO3ZhciByPXR5cGVvZiBuO2lmKCJzdHJpbmciPT09cnx8Im51bWJlciI9PT1yfHwiYm9vbGVhbiI9PT1yfHwoMCxpLmtKKShuKSluPXt2YWx1ZTpufTtlbHNlIGlmKCJvYmplY3QiIT09cnx8dS5DWS5jYWxsKG4sInZhbHVlIikpe2lmKCgwLGkubGUpKG4udmFsdWUpfHxuLnZhbHVlPT09ZC5xU3x8ISgwLGkuSEQpKG4udmFsdWUpJiYhKDAsaS5oaikobi52YWx1ZSkmJiEoMCxpLmpuKShuLnZhbHVlKSYmISgwLGkua0opKG4udmFsdWUpKXJldHVybiBudWxsfWVsc2Ugbj17dmFsdWU6dD9KU09OLnN0cmluZ2lmeShuKTpufTtpZigoMCxpLmtKKShuLnZhbHVlKSYmIUsobi52YWx1ZSkpcmV0dXJuIG51bGw7aWYoISgwLGkubGUpKG4ua2luZCkpe2lmKCgwLGkua0opKG4udmFsdWUpfHwhZyhuLmtpbmQpKXJldHVybiBudWxsO24udmFsdWU9bi52YWx1ZS50b1N0cmluZygpfXJldHVybiBufWZ1bmN0aW9uIGgoZSxuLHQpe3ZhciByPS0xO2lmKCEoMCxpLm84KShlKSlpZihuPjAmJigzMj09PW4/cj04MTkyOm48PTEzJiYocj1uPDw1KSksZnVuY3Rpb24oZSl7aWYoZT49MCYmZTw9OSlyZXR1cm4hMDtyZXR1cm4hMX0odCkpLTE9PT1yJiYocj0wKSxyfD10O2Vsc2V7dmFyIG89cFt3KGUpXXx8LTE7LTEhPT1yJiYtMSE9PW8/cnw9bzo2PT09byYmKHI9byl9cmV0dXJuIHJ9ZnVuY3Rpb24gdihlLG4sdCl7dmFyIHI7cmV0dXJuIHZvaWQgMD09PXQmJih0PSEwKSxlJiYocj1lLmdldChuKSx0JiZyJiZkZWNvZGVVUklDb21wb25lbnQmJihyPWRlY29kZVVSSUNvbXBvbmVudChyKSkpLHJ8fGQucVN9ZnVuY3Rpb24gbShlKXt2b2lkIDA9PT1lJiYoZT0iRCIpO3ZhciBuPSgwLHMuR1cpKCk7cmV0dXJuIkIiPT09ZT9uPSJ7IituKyJ9IjoiUCI9PT1lP249IigiK24rIikiOiJOIj09PWUmJihuPW4ucmVwbGFjZSgvLS9nLGQucVMpKSxufWZ1bmN0aW9uIFUoZSxuLHQscixvKXt2YXIgYT17fSxzPSExLGM9MCxsPWFyZ3VtZW50cy5sZW5ndGgsSD1PYmplY3RbdS5oQl0sZD1hcmd1bWVudHM7Zm9yKCJbb2JqZWN0IEJvb2xlYW5dIj09PUgudG9TdHJpbmcuY2FsbChkWzBdKSYmKHM9ZFswXSxjKyspO2M8bDtjKyspe2U9ZFtjXTsoMCxpLnJXKShlLChmdW5jdGlvbihlLG4pe3MmJm4mJigwLGkuS24pKG4pPygwLGkua0opKG4pPyhhW2VdPWFbZV18fFtdLCgwLGkudE8pKG4sKGZ1bmN0aW9uKG4sdCl7biYmKDAsaS5Lbikobik/YVtlXVt0XT1VKCEwLGFbZV1bdF0sbik6YVtlXVt0XT1ufSkpKTphW2VdPVUoITAsYVtlXSxuKTphW2VdPW59KSl9cmV0dXJuIGF9dmFyIE49cy5KajtmdW5jdGlvbiBnKGUpe3JldHVybiAwPT09ZXx8ZT4wJiZlPD0xM3x8MzI9PT1lfWZ1bmN0aW9uIEsoZSl7cmV0dXJuIGUubGVuZ3RoPjB9ZnVuY3Rpb24geShlLG4pe3ZhciB0PWU7dC50aW1pbmdzPXQudGltaW5nc3x8e30sdC50aW1pbmdzLnByb2Nlc3NUZWxlbWV0cnlTdGFydD10LnRpbWluZ3MucHJvY2Vzc1RlbGVtZXRyeVN0YXJ0fHx7fSx0LnRpbWluZ3MucHJvY2Vzc1RlbGVtZXRyeVN0YXJ0W25dPU4oKX1mdW5jdGlvbiB3KGUpe3ZhciBuPTA7aWYobnVsbCE9ZSl7dmFyIHQ9dHlwZW9mIGU7InN0cmluZyI9PT10P249MToibnVtYmVyIj09PXQ/bj0yOiJib29sZWFuIj09PXQ/bj0zOnQ9PT11LmZLJiYobj00LCgwLGkua0opKGUpPyhuPTQwOTYsZS5sZW5ndGg+MCYmKG58PXcoZVswXSkpKTp1LkNZLmNhbGwoZSwidmFsdWUiKSYmKG49ODE5Mnx3KGUudmFsdWUpKSl9cmV0dXJuIG59dS5qQSx1LmZLLHUuakEsaS50TyxpLlVBLGkuTXIsaS5YeixpLkZZLGkuWTYsby5iJCxpLkhELGkuaGosaS5qbixpLm1mLGkua0osaS5LbixpLm5kLG8uTUYsaS5ZNixvLmNwLGEucDcsYS5VWSxpLmxfLGMuYzksYy5JYixpLklkLGkuclcsaS5ZbSxpLm84LGkubGUsaS5ucixpLm1mLGkuS24saS5KXyxpLmtKLGkuVlosaS5IRCxpLmhqLGkuam4saS5ZNixpLnRPLGkuVUEsaS5NcixpLlh6LGkubmQsSC5wdSxpLkZZLGkubF8sYy5JYixpLm02LG8udzEscy5HVyxzLkpqLGwucFosbC5heixsLl9sLGwuQ04sbC5GNixzLkRPO2Z1bmN0aW9uIGIoKXtyZXR1cm4hISgwLG8uYTgpKCJjaHJvbWUiKX1mdW5jdGlvbiBFKGUsbix0LHIsbyxpKXtmdW5jdGlvbiBhKGUsbix0KXt0cnl7ZVtuXT10fWNhdGNoKGUpe319dm9pZCAwPT09ciYmKHI9ITEpLHZvaWQgMD09PW8mJihvPSExKTt2YXIgcz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIHImJmEocywiTWljcm9zb2Z0X0FwcGxpY2F0aW9uSW5zaWdodHNfQnlwYXNzQWpheEluc3RydW1lbnRhdGlvbiIsciksdCYmYShzLFMsdCkscy5vcGVuKGUsbiwhbyksdCYmYShzLFMsdCksIW8mJmkmJmEocywidGltZW91dCIsaSksc319LDk4MDM3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se293OigpPT5yLGplOigpPT5vLGUyOigpPT5pfSk7dmFyIHI9IlJFQUxfVElNRSIsbz0iTkVBUl9SRUFMX1RJTUUiLGk9IkJFU1RfRUZGT1JUIn0sMTAyNDA0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1o6KCk9PmFlfSk7dmFyIHI9dCgzNDUzNjIpLG89dCg5MjM4MDYpLGk9KDAsdCg0ODUzNjIpLkJ5KSh7VW5rbm93bjowLE5vblJldHJ5YWJsZVN0YXR1czoxLEludmFsaWRFdmVudDoyLFNpemVMaW1pdEV4Y2VlZGVkOjMsS2lsbFN3aXRjaDo0LFF1ZXVlRnVsbDo1fSksYT10KDMxNzE0MCkscz10KDcwNjAzOCksdT10KDIzNTYyKSxjPXQoNjkxMjU0KSxsPXQoOTI5NTQxKSxIPXQoODAzMTQ1KSxkPXQoNjYyMzcyKSxmPXQoNzY2ODY0KSxTPXQoOTgwMzcpLHA9IiIsQz0iUE9TVCIsQT0iZHJvcCIsST0ic2VuZCIsUj0icmVxdWV1ZSIsaD0icnNwRmFpbCIsdj0iYXBwbGljYXRpb24veC1qc29uLXN0cmVhbSIsbT0iY2FjaGUtY29udHJvbCIsVT0iY29udGVudC10eXBlIixOPSJraWxsLWR1cmF0aW9uIixnPSJ0aW1lLWRlbHRhLW1pbGxpcyIsSz0iY2xpZW50LXZlcnNpb24iLHk9ImNsaWVudC1pZCIsdz0idGltZS1kZWx0YS10by1hcHBseS1taWxsaXMiLGI9InVwbG9hZC10aW1lIixFPSJhcGlrZXkiLE89IkF1dGhNc2FEZXZpY2VUaWNrZXQiLGs9IkF1dGhYVG9rZW4iO2Z1bmN0aW9uIHgoZSl7dmFyIG49KGUuZXh0fHx7fSkuaW50d2ViO3JldHVybiBuJiYoMCxjLlNuKShuLm1zZnBjKT9uLm1zZnBjOm51bGx9ZnVuY3Rpb24gVChlKXtmb3IodmFyIG49bnVsbCx0PTA7bnVsbD09PW4mJnQ8ZS5sZW5ndGg7dCsrKW49eChlW3RdKTtyZXR1cm4gbn12YXIgUD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobix0KXt2YXIgcj10P1tdLmNvbmNhdCh0KTpbXSxvPXRoaXMsaT1UKHIpO28uaUtleT1mdW5jdGlvbigpe3JldHVybiBufSxvLk1zZnBjPWZ1bmN0aW9uKCl7cmV0dXJuIGl8fHB9LG8uY291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gci5sZW5ndGh9LG8uZXZlbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LG8uYWRkRXZlbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuISFlJiYoci5wdXNoKGUpLGl8fChpPXgoZSkpLCEwKX0sby5zcGxpdD1mdW5jdGlvbih0LG8pe3ZhciBhO2lmKHQ8ci5sZW5ndGgpe3ZhciBzPXIubGVuZ3RoLXQ7KDAsbC5sZSkobyl8fChzPW88cz9vOnMpLGE9ci5zcGxpY2UodCxzKSxpPVQocil9cmV0dXJuIG5ldyBlKG4sYSl9fXJldHVybiBlLmNyZWF0ZT1mdW5jdGlvbihuLHQpe3JldHVybiBuZXcgZShuLHQpfSxlfSgpO2NvbnN0IEQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7dmFyIG49ITAsdD0hMCxyPSEwLGk9InVzZS1jb2xsZWN0b3ItZGVsdGEiLGE9ITE7KDAsby5aKShlLHRoaXMsKGZ1bmN0aW9uKGUpe2UuYWxsb3dSZXF1ZXN0U2VuZGluZz1mdW5jdGlvbigpe3JldHVybiBufSxlLmZpcnN0UmVxdWVzdFNlbnQ9ZnVuY3Rpb24oKXtyJiYocj0hMSxhfHwobj0hMSkpfSxlLnNob3VsZEFkZENsb2NrU2tld0hlYWRlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZS5nZXRDbG9ja1NrZXdIZWFkZXJWYWx1ZT1mdW5jdGlvbigpe3JldHVybiBpfSxlLnNldENsb2NrU2tldz1mdW5jdGlvbihlKXthfHwoZT8oaT1lLHQ9ITAsYT0hMCk6dD0hMSxuPSEwKX19KSl9cmV0dXJuIGUuX19pZUR5bj0xLGV9KCk7Y29uc3QgTD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgbj17fTsoMCxvLlopKGUsdGhpcywoZnVuY3Rpb24oZSl7ZS5zZXRLaWxsU3dpdGNoVGVuYW50cz1mdW5jdGlvbihlLHQpe2lmKGUmJnQpdHJ5e3ZhciByPShhPWUuc3BsaXQoIiwiKSxzPVtdLGEmJigwLGwudE8pKGEsKGZ1bmN0aW9uKGUpe3MucHVzaCgoMCxsLm5kKShlKSl9KSkscyk7aWYoInRoaXMtcmVxdWVzdC1vbmx5Ij09PXQpcmV0dXJuIHI7Zm9yKHZhciBvPTFlMypwYXJzZUludCh0LDEwKSxpPTA7aTxyLmxlbmd0aDsrK2kpbltyW2ldXT0oMCxsLm02KSgpK299Y2F0Y2goZSl7cmV0dXJuW119dmFyIGEscztyZXR1cm5bXX0sZS5pc1RlbmFudEtpbGxlZD1mdW5jdGlvbihlKXt2YXIgdD1uLHI9KDAsbC5uZCkoZSk7cmV0dXJuIHZvaWQgMCE9PXRbcl0mJnRbcl0+KDAsbC5tNikoKXx8KGRlbGV0ZSB0W3JdLCExKX19KSl9cmV0dXJuIGUuX19pZUR5bj0xLGV9KCk7dmFyIE09dCgyMjE5MDgpO2Z1bmN0aW9uIEIoZSl7dmFyIG4sdD1NYXRoLmZsb29yKDEyMDAqTWF0aC5yYW5kb20oKSkrMjQwMDtyZXR1cm4gbj1NYXRoLnBvdygyLGUpKnQsTWF0aC5taW4obiw2ZTUpfXZhciBXLEY9MmU2LGo9TWF0aC5taW4oRiw2NWUzKSxWPS9cLi8sWj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobix0LHIsaSl7dmFyIHM9ImRhdGEiLHU9ImJhc2VEYXRhIixIPSEhaSxkPXQsZj17fTsoMCxvLlopKGUsdGhpcywoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLG4sbyxpLGEscyx1KXsoMCxsLnJXKShlLChmdW5jdGlvbihlLFMpe3ZhciBwPW51bGw7aWYoU3x8KDAsYy5TbikoUykpe3ZhciBDPW8sQT1lLEk9YSxSPW47aWYoSCYmIWkmJlYudGVzdChlKSl7dmFyIGg9ZS5zcGxpdCgiLiIpLHY9aC5sZW5ndGg7aWYodj4xKXtJJiYoST1JLnNsaWNlKCkpO2Zvcih2YXIgbT0wO208di0xO20rKyl7dmFyIFU9aFttXTtSPVJbVV09UltVXXx8e30sQys9Ii4iK1UsSSYmSS5wdXNoKFUpfUE9aFt2LTFdfX12YXIgTj1pJiZmdW5jdGlvbihlLG4pe3ZhciB0PWZbZV07cmV0dXJuIHZvaWQgMD09PXQmJihlLmxlbmd0aD49NyYmKHQ9KDAsbC54ZSkoZSwiZXh0Lm1ldGFkYXRhIil8fCgwLGwueGUpKGUsImV4dC53ZWIiKSksZltlXT10KSx0fShDKTtpZihwPSFOJiZkJiZkLmhhbmRsZUZpZWxkKEMsQSk/ZC52YWx1ZShDLEEsUyxyKTooMCxjLnlqKShBLFMscikpe3ZhciBnPXAudmFsdWU7aWYoUltBXT1nLHMmJnMoSSxBLHApLHUmJiJvYmplY3QiPT10eXBlb2YgZyYmISgwLGwua0opKGcpKXt2YXIgSz1JO0smJihLPUsuc2xpY2UoKSkucHVzaChBKSx0KFMsZyxDKyIuIitBLGksSyxzLHUpfX19fSkpfWUuY3JlYXRlUGF5bG9hZD1mdW5jdGlvbihlLG4sdCxyLG8saSl7cmV0dXJue2FwaUtleXM6W10scGF5bG9hZEJsb2I6cCxvdmVyZmxvdzpudWxsLHNpemVFeGNlZWQ6W10sZmFpbGVkRXZ0czpbXSxiYXRjaGVzOltdLG51bUV2ZW50czowLHJldHJ5Q250OmUsaXNUZWFyZG93bjpuLGlzU3luYzp0LGlzQmVhY29uOnIsc2VuZFR5cGU6aSxzZW5kUmVhc29uOm99fSxlLmFwcGVuZFBheWxvYWQ9ZnVuY3Rpb24odCxyLG8pe3ZhciBpPXQmJnImJiF0Lm92ZXJmbG93O3JldHVybiBpJiYoMCxhLkxtKShuLChmdW5jdGlvbigpe3JldHVybiJTZXJpYWxpemVyOmFwcGVuZFBheWxvYWQifSksKGZ1bmN0aW9uKCl7Zm9yKHZhciBuPXIuZXZlbnRzKCksaT10LnBheWxvYWRCbG9iLGE9dC5udW1FdmVudHMscz0hMSx1PVtdLGM9W10sSD10LmlzQmVhY29uLGQ9SD82NWUzOjM5ODQ1ODgsZj1IP2o6RixTPTAscD0wO1M8bi5sZW5ndGg7KXt2YXIgQz1uW1NdO2lmKEMpe2lmKGE+PW8pe3Qub3ZlcmZsb3c9ci5zcGxpdChTKTticmVha312YXIgQT1lLmdldEV2ZW50QmxvYihDKTtpZihBJiZBLmxlbmd0aDw9Zil7dmFyIEk9QS5sZW5ndGg7aWYoaS5sZW5ndGgrST5kKXt0Lm92ZXJmbG93PXIuc3BsaXQoUyk7YnJlYWt9aSYmKGkrPSJcbiIpLGkrPUEsKytwPjIwJiYoaS5zdWJzdHIoMCwxKSxwPTApLHM9ITAsYSsrfWVsc2UgQT91LnB1c2goQyk6Yy5wdXNoKEMpLG4uc3BsaWNlKFMsMSksUy0tfVMrK31pZih1JiZ1Lmxlbmd0aD4wJiZ0LnNpemVFeGNlZWQucHVzaChQLmNyZWF0ZShyLmlLZXkoKSx1KSksYyYmYy5sZW5ndGg+MCYmdC5mYWlsZWRFdnRzLnB1c2goUC5jcmVhdGUoci5pS2V5KCksYykpLHMpe3QuYmF0Y2hlcy5wdXNoKHIpLHQucGF5bG9hZEJsb2I9aSx0Lm51bUV2ZW50cz1hO3ZhciBSPXIuaUtleSgpOy0xPT09KDAsbC5VQSkodC5hcGlLZXlzLFIpJiZ0LmFwaUtleXMucHVzaChSKX19KSwoZnVuY3Rpb24oKXtyZXR1cm57cGF5bG9hZDp0LHRoZUJhdGNoOntpS2V5OnIuaUtleSgpLGV2dHM6ci5ldmVudHMoKX0sbWF4Om99fSkpLGl9LGUuZ2V0RXZlbnRCbG9iPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4oMCxhLkxtKShuLChmdW5jdGlvbigpe3JldHVybiJTZXJpYWxpemVyLmdldEV2ZW50QmxvYiJ9KSwoZnVuY3Rpb24oKXt2YXIgbj17fTtuLm5hbWU9ZS5uYW1lLG4udGltZT1lLnRpbWUsbi52ZXI9ZS52ZXIsbi5pS2V5PSJvOiIrKDAsYy5qTSkoZS5pS2V5KTt2YXIgcj17fSxvPWUuZXh0O28mJihuLmV4dD1yLCgwLGwuclcpKG8sKGZ1bmN0aW9uKGUsbil7dChuLHJbZV09e30sImV4dC4iK2UsITAsbnVsbCxudWxsLCEwKX0pKSk7dmFyIGk9bi5kYXRhPXt9O2kuYmFzZVR5cGU9ZS5iYXNlVHlwZTt2YXIgYT1pLmJhc2VEYXRhPXt9O3JldHVybiB0KGUuYmFzZURhdGEsYSx1LCExLFt1XSwoZnVuY3Rpb24oZSxuLHQpe3oocixlLG4sdCl9KSx0cnVlKSx0KGUuZGF0YSxpLHMsITEsW10sKGZ1bmN0aW9uKGUsbix0KXt6KHIsZSxuLHQpfSksdHJ1ZSksSlNPTi5zdHJpbmdpZnkobil9KSwoZnVuY3Rpb24oKXtyZXR1cm57aXRlbTplfX0pKX1jYXRjaChlKXtyZXR1cm4gbnVsbH19fSkpfXJldHVybiBlLl9faWVEeW49MSxlfSgpO2Z1bmN0aW9uIHooZSxuLHQscil7aWYociYmZSl7dmFyIG89KDAsYy5Wdikoci52YWx1ZSxyLmtpbmQsci5wcm9wZXJ0eVR5cGUpO2lmKG8+LTEpe3ZhciBpPWUubWV0YWRhdGE7aXx8KGk9ZS5tZXRhZGF0YT17Zjp7fX0pO3ZhciBhPWkuZjtpZihhfHwoYT1pLmY9e30pLG4pZm9yKHZhciBzPTA7czxuLmxlbmd0aDtzKyspe3ZhciB1PW5bc107YVt1XXx8KGFbdV09e2Y6e319KTt2YXIgSD1hW3VdLmY7SHx8KEg9YVt1XS5mPXt9KSxhPUh9YT1hW3RdPXt9LCgwLGwua0opKHIudmFsdWUpP2EuYT17dDpvfTphLnQ9b319fXZhciBxPSImTm9SZXNwb25zZUJvZHk9dHJ1ZSIsWD0oKFc9e30pWzFdPVIsV1sxMDBdPVIsV1syMDBdPSJzZW50IixXWzgwMDRdPUEsV1s4MDAzXT1BLFcpLFk9e30sSj17fTtmdW5jdGlvbiBRKGUsbix0KXtZW2VdPW4sITEhPT10JiYoSltuXT1lKX1mdW5jdGlvbiBHKGUpe3RyeXtyZXR1cm4gZS5yZXNwb25zZVRleHR9Y2F0Y2goZSl7fXJldHVybiBwfWZ1bmN0aW9uIF8oZSxuKXt2YXIgdD0hMTtpZihlJiZuKXt2YXIgcj0oMCxsLkZZKShlKTtpZihyJiZyLmxlbmd0aD4wKWZvcih2YXIgbz1uLnRvTG93ZXJDYXNlKCksaT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgYT1yW2ldO2lmKGEmJigwLGwubnIpKG4sYSkmJmEudG9Mb3dlckNhc2UoKT09PW8pe3Q9ITA7YnJlYWt9fX1yZXR1cm4gdH1mdW5jdGlvbiAkKGUsbix0LHIpe24mJnQmJnQubGVuZ3RoPjAmJihyJiZZW25dPyhlLmhkcnNbWVtuXV09dCxlLnVzZUhkcnM9ITApOmUudXJsKz0iJiIrbisiPSIrdCl9ZnVuY3Rpb24gZWUoZSxuKXtyZXR1cm4gbiYmKCgwLGwuaGopKG4pP2U9W25dLmNvbmNhdChlKTooMCxsLmtKKShuKSYmKGU9bi5jb25jYXQoZSkpKSxlfVEoTyxPLCExKSxRKEssSyksUSh5LCJDbGllbnQtSWQiKSxRKEUsRSksUSh3LHcpLFEoYixiKSxRKGssayk7dmFyIG5lPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShuLHQscixpLHMpe3RoaXMuX3Jlc3BvbnNlSGFuZGxlcnM9W107dmFyIHUsZixTLFIsTyxrLHgsVCxQLFcsRj0iP2NvcnM9dHJ1ZSYiK1UudG9Mb3dlckNhc2UoKSsiPSIrdixqPW5ldyBMLFY9ITEsej1uZXcgRCxZPSExLFE9MCxuZT0hMCx0ZT1bXSxyZT17fSxvZT1bXSxpZT1udWxsLGFlPSExLHNlPSExLHVlPSExOygwLG8uWikoZSx0aGlzLChmdW5jdGlvbihlKXt2YXIgbz0hMDtmdW5jdGlvbiBEKGUsbil7Zm9yKHZhciB0PTAscj1udWxsLG89MDtudWxsPT1yJiZvPGUubGVuZ3RoOykxPT09KHQ9ZVtvXSk/KDAsSC5jcCkoKT9yPUw6KDAsSC5aMykoKSYmKHI9bGUpOjI9PT10JiYoMCxILkpPKShuKSYmKCFufHxuJiYhVCk/cj1jZTpZJiYzPT09dCYmKDAsSC5NRikoKSYmKHI9ZGUpLG8rKztyZXR1cm4gcj97X3RyYW5zcG9ydDp0LF9pc1N5bmM6bixzZW5kUE9TVDpyfTpudWxsfWZ1bmN0aW9uIEwoZSxuLHQpe3ZhciByPW5ldyBYRG9tYWluUmVxdWVzdDtyLm9wZW4oQyxlLnVybFN0cmluZyksZS50aW1lb3V0JiYoci50aW1lb3V0PWUudGltZW91dCksci5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT1HKHIpO0hlKG4sMjAwLHt9LGUpLE5lKGUpfSxyLm9uZXJyb3I9ZnVuY3Rpb24oKXtIZShuLDQwMCx7fSl9LHIub250aW1lb3V0PWZ1bmN0aW9uKCl7SGUobiw1MDAse30pfSxyLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oKXt9LHQ/ci5zZW5kKGUuZGF0YSk6cy5zZXQoKGZ1bmN0aW9uKCl7ci5zZW5kKGUuZGF0YSl9KSwwKX1mdW5jdGlvbiBjZShlLG4sdCl7dmFyIHIsaT1lLnVybFN0cmluZyxhPSExLHU9ITEsYz0oKHI9e2JvZHk6ZS5kYXRhLG1ldGhvZDpDfSkuTWljcm9zb2Z0X0FwcGxpY2F0aW9uSW5zaWdodHNfQnlwYXNzQWpheEluc3RydW1lbnRhdGlvbj0hMCxyKTt0JiYoYy5rZWVwYWxpdmU9ITAsMj09PWUuX3NlbmRSZWFzb24mJihhPSEwLFcmJihpKz1xKSkpLG8mJihjLmNyZWRlbnRpYWxzPSJpbmNsdWRlIiksZS5oZWFkZXJzJiYoMCxsLkZZKShlLmhlYWRlcnMpLmxlbmd0aD4wJiYoYy5oZWFkZXJzPWUuaGVhZGVycyksZmV0Y2goaSxjKS50aGVuKChmdW5jdGlvbihlKXt2YXIgdD17fSxyPXAsbz1lLmhlYWRlcnM7byYmby5mb3JFYWNoKChmdW5jdGlvbihlLG4pe3Rbbl09ZX0pKSxlLmJvZHkmJmUudGV4dCgpLnRoZW4oKGZ1bmN0aW9uKGUpe3I9ZX0pKSx1fHwodT0hMCxIZShuLGUuc3RhdHVzLHQsciksTmUocikpfSkpLmNhdGNoKChmdW5jdGlvbihlKXt1fHwodT0hMCxIZShuLDAse30pKX0pKSxhJiYhdSYmKHU9ITAsSGUobiwyMDAse30pKSwhdSYmZS50aW1lb3V0PjAmJnMuc2V0KChmdW5jdGlvbigpe3V8fCh1PSEwLEhlKG4sNTAwLHt9KSl9KSxlLnRpbWVvdXQpfWZ1bmN0aW9uIGxlKGUsbix0KXt2YXIgcj1lLnVybFN0cmluZztmdW5jdGlvbiBpKGUsbix0KXtpZighZVt0XSYmbiYmbi5nZXRSZXNwb25zZUhlYWRlcil7dmFyIHI9bi5nZXRSZXNwb25zZUhlYWRlcih0KTtyJiYoZVt0XT0oMCxsLm5kKShyKSl9cmV0dXJuIGV9ZnVuY3Rpb24gYShlKXt2YXIgbj17fTtyZXR1cm4gZS5nZXRBbGxSZXNwb25zZUhlYWRlcnM/bj1mdW5jdGlvbihlKXt2YXIgbj17fTtpZigoMCxsLkhEKShlKSl7dmFyIHQ9KDAsbC5uZCkoZSkuc3BsaXQoL1tcclxuXSsvKTsoMCxsLnRPKSh0LChmdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lLmluZGV4T2YoIjogIik7aWYoLTEhPT10KXt2YXIgcj0oMCxsLm5kKShlLnN1YnN0cmluZygwLHQpKS50b0xvd2VyQ2FzZSgpLG89KDAsbC5uZCkoZS5zdWJzdHJpbmcodCsxKSk7bltyXT1vfWVsc2UgblsoMCxsLm5kKShlKV09MX19KSl9cmV0dXJuIG59KGUuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOihuPWkobixlLGcpLG49aShuLGUsTiksbj1pKG4sZSwia2lsbC1kdXJhdGlvbi1zZWNvbmRzIikpLG59ZnVuY3Rpb24gcyhlLHQpe0hlKG4sZS5zdGF0dXMsYShlKSx0KX10JiZlLmRpc2FibGVYaHJTeW5jJiYodD0hMSk7dmFyIHU9KDAsYy5vdCkoQyxyLG8sITAsdCxlLnRpbWVvdXQpOygwLGwuclcpKGUuaGVhZGVycywoZnVuY3Rpb24oZSxuKXt1LnNldFJlcXVlc3RIZWFkZXIoZSxuKX0pKSx1Lm9ubG9hZD1mdW5jdGlvbigpe3ZhciBlPUcodSk7cyh1LGUpLE5lKGUpfSx1Lm9uZXJyb3I9ZnVuY3Rpb24oKXtzKHUpfSx1Lm9udGltZW91dD1mdW5jdGlvbigpe3ModSl9LHUuc2VuZChlLmRhdGEpfWZ1bmN0aW9uIEhlKGUsbix0LHIpe3RyeXtlKG4sdCxyKX1jYXRjaChlKXsoMCxkLmtQKShmLDIsNTE4LCgwLEguZVUpKGUpKX19ZnVuY3Rpb24gZGUoZSxuLHQpe3ZhciByPTIwMCxvPWUuX3RoZVBheWxvYWQsaT1lLnVybFN0cmluZysoVz9xOnApO3RyeXt2YXIgYT0oMCxILmpXKSgpO2lmKCFhLnNlbmRCZWFjb24oaSxlLmRhdGEpKWlmKG8pe3ZhciBzPVtdOygwLGwudE8pKG8uYmF0Y2hlcywoZnVuY3Rpb24oZSl7aWYocyYmZSYmZS5jb3VudCgpPjApe2Zvcih2YXIgbj1lLmV2ZW50cygpLHQ9MDt0PG4ubGVuZ3RoO3QrKylpZighYS5zZW5kQmVhY29uKGksaWUuZ2V0RXZlbnRCbG9iKG5bdF0pKSl7cy5wdXNoKGUuc3BsaXQodCkpO2JyZWFrfX1lbHNlIHMucHVzaChlLnNwbGl0KDApKX0pKSxnZShzLDgwMDMsby5zZW5kVHlwZSwhMCl9ZWxzZSByPTB9Y2F0Y2goZSl7KDAsZC5qVikoZiwiRmFpbGVkIHRvIHNlbmQgdGVsZW1ldHJ5IHVzaW5nIHNlbmRCZWFjb24gQVBJLiBFeDoiKygwLEguZVUpKGUpKSxyPTB9ZmluYWxseXtIZShuLHIse30scCl9fWZ1bmN0aW9uIGZlKGUpe3JldHVybiAyPT09ZXx8Mz09PWV9ZnVuY3Rpb24gU2UoZSl7cmV0dXJuIHNlJiZmZShlKSYmKGU9MiksZX1mdW5jdGlvbiBwZSgpe3JldHVybiFWJiZRPHR9ZnVuY3Rpb24gQ2UoKXt2YXIgZT1vZTtyZXR1cm4gb2U9W10sZX1mdW5jdGlvbiBBZShlLG4sdCl7dmFyIHI9ITE7cmV0dXJuIGUmJmUubGVuZ3RoPjAmJiFWJiZTW25dJiZpZSYmKHI9MCE9PW58fHBlKCkmJih0PjB8fHouYWxsb3dSZXF1ZXN0U2VuZGluZygpKSkscn1mdW5jdGlvbiBJZShlKXt2YXIgbj17fTtyZXR1cm4gZSYmKDAsbC50TykoZSwoZnVuY3Rpb24oZSx0KXtuW3RdPXtpS2V5OmUuaUtleSgpLGV2dHM6ZS5ldmVudHMoKX19KSksbn1mdW5jdGlvbiBSZShlLHQscixvLGkpe2lmKGUmJjAhPT1lLmxlbmd0aClpZihWKWdlKGUsMSxvKTtlbHNle289U2Uobyk7dHJ5e3ZhciBzPWUsdT0wIT09bzsoMCxhLkxtKShSLChmdW5jdGlvbigpe3JldHVybiJIdHRwTWFuYWdlcjpfc2VuZEJhdGNoZXMifSksKGZ1bmN0aW9uKGEpe2EmJihlPWUuc2xpY2UoMCkpO2Zvcih2YXIgcz1bXSxsPW51bGwsSD0oMCxjLmhLKSgpLGQ9U1tvXXx8KHU/U1sxXTpTWzBdKSxmPWQmJmQuX3RyYW5zcG9ydCxwPVAmJihzZXx8ZmUobyl8fDM9PT1mfHxkLl9pc1N5bmMmJjI9PT1mKTtBZShlLG8sdCk7KXt2YXIgQz1lLnNoaWZ0KCk7QyYmQy5jb3VudCgpPjAmJihqLmlzVGVuYW50S2lsbGVkKEMuaUtleSgpKT9zLnB1c2goQyk6KGw9bHx8aWUuY3JlYXRlUGF5bG9hZCh0LHIsdSxwLGksbyksaWUuYXBwZW5kUGF5bG9hZChsLEMsbik/bnVsbCE9PWwub3ZlcmZsb3cmJihlPVtsLm92ZXJmbG93XS5jb25jYXQoZSksbC5vdmVyZmxvdz1udWxsLG1lKGwsSCwoMCxjLmhLKSgpLGkpLEg9KDAsYy5oSykoKSxsPW51bGwpOihtZShsLEgsKDAsYy5oSykoKSxpKSxIPSgwLGMuaEspKCksZT1bQ10uY29uY2F0KGUpLGw9bnVsbCkpKX1sJiZtZShsLEgsKDAsYy5oSykoKSxpKSxlLmxlbmd0aD4wJiYob2U9ZS5jb25jYXQob2UpKSxnZShzLDgwMDQsbyl9KSwoZnVuY3Rpb24oKXtyZXR1cm57YmF0Y2hlczpJZShzKSxyZXRyeUNvdW50OnQsaXNUZWFyZG93bjpyLGlzU3luY2hyb25vdXM6dSxzZW5kUmVhc29uOmksdXNlU2VuZEJlYWNvbjpmZShvKSxzZW5kVHlwZTpvfX0pLCF1KX1jYXRjaChlKXsoMCxkLmtQKShmLDIsNDgsIlVuZXhwZWN0ZWQgRXhjZXB0aW9uIHNlbmRpbmcgYmF0Y2g6ICIrKDAsSC5lVSkoZSkpfX19ZnVuY3Rpb24gaGUoZSxuKXt2YXIgdD17dXJsOkYsaGRyczp7fSx1c2VIZHJzOiExfTtuPyh0LmhkcnM9KDAsYy5sNykodC5oZHJzLHJlKSx0LnVzZUhkcnM9KDAsbC5GWSkodC5oZHJzKS5sZW5ndGg+MCk6KDAsbC5yVykocmUsKGZ1bmN0aW9uKGUsbil7SltlXT8kKHQsSltlXSxuLCExKToodC5oZHJzW2VdPW4sdC51c2VIZHJzPSEwKX0pKSwkKHQseSwiTk9fQVVUSCIsbiksJCh0LEssYy52cyxuKTt2YXIgcj1wOygwLGwudE8pKGUuYXBpS2V5cywoZnVuY3Rpb24oZSl7ci5sZW5ndGg+MCYmKHIrPSIsIikscis9ZX0pKSwkKHQsRSxyLG4pLCQodCxiLCgwLGwubTYpKCkudG9TdHJpbmcoKSxuKTt2YXIgbz1mdW5jdGlvbihlKXtmb3IodmFyIG49MDtuPGUuYmF0Y2hlcy5sZW5ndGg7bisrKXt2YXIgdD1lLmJhdGNoZXNbbl0uTXNmcGMoKTtpZih0KXJldHVybiBlbmNvZGVVUklDb21wb25lbnQodCl9cmV0dXJuIHB9KGUpO2lmKCgwLGMuU24pKG8pJiYodC51cmwrPSImZXh0LmludHdlYi5tc2ZwYz0iK28pLHouc2hvdWxkQWRkQ2xvY2tTa2V3SGVhZGVycygpJiYkKHQsdyx6LmdldENsb2NrU2tld0hlYWRlclZhbHVlKCksbiksUi5nZXRXUGFyYW0pe3ZhciBpPVIuZ2V0V1BhcmFtKCk7aT49MCYmKHQudXJsKz0iJnc9IitpKX1mb3IodmFyIGE9MDthPHRlLmxlbmd0aDthKyspdC51cmwrPSImIit0ZVthXS5uYW1lKyI9Iit0ZVthXS52YWx1ZTtyZXR1cm4gdH1mdW5jdGlvbiB2ZShlLG4sdCl7ZVtuXT1lW25dfHx7fSxlW25dW3UuaWRlbnRpZmllcl09dH1mdW5jdGlvbiBtZShuLHQsbyxpKXtpZihuJiZuLnBheWxvYWRCbG9iJiZuLnBheWxvYWRCbG9iLmxlbmd0aD4wKXt2YXIgcz0hIWUuc2VuZEhvb2sscD1TW24uc2VuZFR5cGVdOyFmZShuLnNlbmRUeXBlKSYmbi5pc0JlYWNvbiYmMj09PW4uc2VuZFJlYXNvbiYmKHA9U1syXXx8U1szXXx8cCk7dmFyIEM9dWU7KG4uaXNCZWFjb258fDM9PT1wLl90cmFuc3BvcnQpJiYoQz0hMSk7dmFyIEE9aGUobixDKTtDPUN8fEEudXNlSGRyczt2YXIgST0oMCxjLmhLKSgpOygwLGEuTG0pKFIsKGZ1bmN0aW9uKCl7cmV0dXJuIkh0dHBNYW5hZ2VyOl9kb1BheWxvYWRTZW5kIn0pLChmdW5jdGlvbigpe2Zvcih2YXIgUz0wO1M8bi5iYXRjaGVzLmxlbmd0aDtTKyspZm9yKHZhciBoPW4uYmF0Y2hlc1tTXS5ldmVudHMoKSxOPTA7TjxoLmxlbmd0aDtOKyspe3ZhciBnPWhbTl07aWYoYWUpe3ZhciBLPWcudGltaW5ncz1nLnRpbWluZ3N8fHt9O3ZlKEssInNlbmRFdmVudFN0YXJ0IixJKSx2ZShLLCJzZXJpYWxpemF0aW9uU3RhcnQiLHQpLHZlKEssInNlcmlhbGl6YXRpb25Db21wbGV0ZWQiLG8pfWcuc2VuZEF0dGVtcHQ+MD9nLnNlbmRBdHRlbXB0Kys6Zy5zZW5kQXR0ZW1wdD0xfWdlKG4uYmF0Y2hlcywxZTMrKGl8fDApLG4uc2VuZFR5cGUsITApO3ZhciB5PXtkYXRhOm4ucGF5bG9hZEJsb2IsdXJsU3RyaW5nOkEudXJsLGhlYWRlcnM6QS5oZHJzLF90aGVQYXlsb2FkOm4sX3NlbmRSZWFzb246aSx0aW1lb3V0OmssZGlzYWJsZVhoclN5bmM6eCxkaXNhYmxlRmV0Y2hLZWVwQWxpdmU6VH07QyYmKF8oeS5oZWFkZXJzLG0pfHwoeS5oZWFkZXJzWyJjYWNoZS1jb250cm9sIl09Im5vLWNhY2hlLCBuby1zdG9yZSIpLF8oeS5oZWFkZXJzLFUpfHwoeS5oZWFkZXJzWyJjb250ZW50LXR5cGUiXT12KSk7dmFyIHc9bnVsbDtwJiYodz1mdW5jdGlvbih0KXt6LmZpcnN0UmVxdWVzdFNlbnQoKTt2YXIgbz1mdW5jdGlvbih0LG8peyFmdW5jdGlvbihuLHQsbyxpKXt2YXIgYT05ZTMscz1udWxsLEg9ITEsZD0hMTt0cnl7dmFyIGY9ITA7aWYodHlwZW9mIG4hPT1NLmpBKXtpZih0KXt6LnNldENsb2NrU2tldyh0WyJ0aW1lLWRlbHRhLW1pbGxpcyJdKTt2YXIgUz10WyJraWxsLWR1cmF0aW9uIl18fHRbImtpbGwtZHVyYXRpb24tc2Vjb25kcyJdOygwLGwudE8pKGouc2V0S2lsbFN3aXRjaFRlbmFudHModFsia2lsbC10b2tlbnMiXSxTKSwoZnVuY3Rpb24oZSl7KDAsbC50Tykoby5iYXRjaGVzLChmdW5jdGlvbihuKXtpZihuLmlLZXkoKT09PWUpe3M9c3x8W107dmFyIHQ9bi5zcGxpdCgwKTtvLm51bUV2ZW50cy09dC5jb3VudCgpLHMucHVzaCh0KX19KSl9KSl9aWYoMjAwPT1ufHwyMDQ9PW4pcmV0dXJuIHZvaWQoYT0yMDApOygoQz1uKT49MzAwJiZDPDUwMCYmNDA4IT1DJiY0MjkhPUN8fDUwMT09Q3x8NTA1PT1DfHxvLm51bUV2ZW50czw9MCkmJihmPSExKSxhPTllMytuJTFlM31pZihmKXthPTEwMDt2YXIgcD1vLnJldHJ5Q250OzA9PT1vLnNlbmRUeXBlJiYocDxyPyhIPSEwLFVlKChmdW5jdGlvbigpezA9PT1vLnNlbmRUeXBlJiZRLS0sUmUoby5iYXRjaGVzLHArMSxvLmlzVGVhcmRvd24sc2U/MjpvLnNlbmRUeXBlLDUpfSksc2UsQihwKSkpOihkPSEwLHNlJiYoYT04MDAxKSkpfX1maW5hbGx5e0h8fCh6LnNldENsb2NrU2tldygpLGZ1bmN0aW9uKG4sdCxyLG8pe3RyeXtvJiZ1Ll9iYWNrT2ZmVHJhbnNtaXNzaW9uKCksMjAwPT09dCYmKG98fG4uaXNTeW5jfHx1Ll9jbGVhckJhY2tPZmYoKSxmdW5jdGlvbihlKXtpZihhZSl7dmFyIG49KDAsYy5oSykoKTsoMCxsLnRPKShlLChmdW5jdGlvbihlKXtlJiZlLmNvdW50KCk+MCYmZnVuY3Rpb24oZSxuKXthZSYmKDAsbC50TykoZSwoZnVuY3Rpb24oZSl7dmUoZS50aW1pbmdzPWUudGltaW5nc3x8e30sInNlbmRFdmVudENvbXBsZXRlZCIsbil9KSl9KGUuZXZlbnRzKCksbil9KSl9fShuLmJhdGNoZXMpKSxnZShuLmJhdGNoZXMsdCxuLnNlbmRUeXBlLCEwKX1maW5hbGx5ezA9PT1uLnNlbmRUeXBlJiYoUS0tLDUhPT1yJiZlLnNlbmRRdWV1ZWRSZXF1ZXN0cyhuLnNlbmRUeXBlLHIpKX19KG8sYSxpLGQpKSxnZShzLDgwMDQsby5zZW5kVHlwZSl9dmFyIEN9KHQsbyxuLGkpfSxhPW4uaXNUZWFyZG93bnx8bi5pc1N5bmM7dHJ5e3Auc2VuZFBPU1QodCxvLGEpLGUuc2VuZExpc3RlbmVyJiZlLnNlbmRMaXN0ZW5lcih5LHQsYSxuLmlzQmVhY29uKX1jYXRjaChlKXsoMCxkLmpWKShmLCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiBzZW5kaW5nIHBheWxvYWQuIEV4OiIrKDAsSC5lVSkoZSkpLEhlKG8sMCx7fSl9fSksKDAsYS5MbSkoUiwoZnVuY3Rpb24oKXtyZXR1cm4iSHR0cE1hbmFnZXI6X2RvUGF5bG9hZFNlbmQuc2VuZGVyIn0pLChmdW5jdGlvbigpe2lmKHcpaWYoMD09PW4uc2VuZFR5cGUmJlErKyxzJiYhbi5pc0JlYWNvbiYmMyE9PXAuX3RyYW5zcG9ydCl7dmFyIHQ9e2RhdGE6eS5kYXRhLHVybFN0cmluZzp5LnVybFN0cmluZyxoZWFkZXJzOigwLGMubDcpKHt9LHkuaGVhZGVycyksdGltZW91dDp5LnRpbWVvdXQsZGlzYWJsZVhoclN5bmM6eS5kaXNhYmxlWGhyU3luYyxkaXNhYmxlRmV0Y2hLZWVwQWxpdmU6eS5kaXNhYmxlRmV0Y2hLZWVwQWxpdmV9LHI9ITE7KDAsYS5MbSkoUiwoZnVuY3Rpb24oKXtyZXR1cm4iSHR0cE1hbmFnZXI6X2RvUGF5bG9hZFNlbmQuc2VuZEhvb2sifSksKGZ1bmN0aW9uKCl7dHJ5e2Uuc2VuZEhvb2sodCwoZnVuY3Rpb24oZSl7cj0hMCxuZXx8ZS5fdGhlUGF5bG9hZHx8KGUuX3RoZVBheWxvYWQ9ZS5fdGhlUGF5bG9hZHx8eS5fdGhlUGF5bG9hZCxlLl9zZW5kUmVhc29uPWUuX3NlbmRSZWFzb258fHkuX3NlbmRSZWFzb24pLHcoZSl9KSxuLmlzU3luY3x8bi5pc1RlYXJkb3duKX1jYXRjaChlKXtyfHx3KHkpfX0pKX1lbHNlIHcoeSl9KSl9KSwoZnVuY3Rpb24oKXtyZXR1cm57dGhlUGF5bG9hZDpuLHNlcmlhbGl6YXRpb25TdGFydDp0LHNlcmlhbGl6YXRpb25Db21wbGV0ZWQ6byxzZW5kUmVhc29uOml9fSksbi5pc1N5bmMpfW4uc2l6ZUV4Y2VlZCYmbi5zaXplRXhjZWVkLmxlbmd0aD4wJiZnZShuLnNpemVFeGNlZWQsODAwMyxuLnNlbmRUeXBlKSxuLmZhaWxlZEV2dHMmJm4uZmFpbGVkRXZ0cy5sZW5ndGg+MCYmZ2Uobi5mYWlsZWRFdnRzLDgwMDIsbi5zZW5kVHlwZSl9ZnVuY3Rpb24gVWUoZSxuLHQpe24/ZSgpOnMuc2V0KGUsdCl9ZnVuY3Rpb24gTmUobil7dmFyIHQ9ZS5fcmVzcG9uc2VIYW5kbGVyczt0cnl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspdHJ5e3Rbcl0obil9Y2F0Y2goZSl7KDAsZC5rUCkoZiwxLDUxOSwiUmVzcG9uc2UgaGFuZGxlciBmYWlsZWQ6ICIrZSl9aWYobil7dmFyIG89SlNPTi5wYXJzZShuKTsoMCxjLlNuKShvLndlYlJlc3VsdCkmJigwLGMuU24pKG8ud2ViUmVzdWx0Lm1zZnBjKSYmTy5zZXQoIk1TRlBDIixvLndlYlJlc3VsdC5tc2ZwYywzMTUzNmUzKX19Y2F0Y2goZSl7fX1mdW5jdGlvbiBnZShlLG4sdCxyKXtpZihlJiZlLmxlbmd0aD4wJiZpKXt2YXIgbz1pW2Z1bmN0aW9uKGUpe3ZhciBuPVhbZV07KDAsYy5Tbikobil8fChuPSJvdGgiLGU+PTllMyYmZTw9OTk5OT9uPWg6ZT49OGUzJiZlPD04OTk5P249QTplPj0xZTMmJmU8PTE5OTkmJihuPUkpKTtyZXR1cm4gbn0obildO2lmKG8pe3ZhciBzPTAhPT10OygwLGEuTG0pKFIsKGZ1bmN0aW9uKCl7cmV0dXJuIkh0dHBNYW5hZ2VyOl9zZW5kQmF0Y2hlc05vdGlmaWNhdGlvbiJ9KSwoZnVuY3Rpb24oKXtVZSgoZnVuY3Rpb24oKXt0cnl7by5jYWxsKGksZSxuLHMsdCl9Y2F0Y2goZSl7KDAsZC5rUCkoZiwxLDc0LCJzZW5kIHJlcXVlc3Qgbm90aWZpY2F0aW9uIGZhaWxlZDogIitlKX19KSxyfHxzLDApfSksKGZ1bmN0aW9uKCl7cmV0dXJue2JhdGNoZXM6SWUoZSkscmVhc29uOm4saXNTeW5jOnMsc2VuZFN5bmM6cixzZW5kVHlwZTp0fX0pLCFzKX19fWUuaW5pdGlhbGl6ZT1mdW5jdGlvbihlLG4sdCxyLGkpe3ZhciBhO2l8fChpPXt9KSxGPWUrRix1ZT0hISgwLGwubzgpKGkuYXZvaWRPcHRpb25zKXx8IWkuYXZvaWRPcHRpb25zLFI9bixPPW4uZ2V0Q29va2llTWdyKCksYWU9IVIuY29uZmlnLmRpc2FibGVFdmVudFRpbWluZ3M7dmFyIHM9ISFSLmNvbmZpZy5lbmFibGVDb21wb3VuZEtleTtmPSh1PXQpLmRpYWdMb2coKTt2YXIgYz1pLnZhbHVlU2FuaXRpemVyLHA9aS5zdHJpbmdpZnlPYmplY3RzOygwLGwubzgpKGkuZW5hYmxlQ29tcG91bmRLZXkpfHwocz0hIWkuZW5hYmxlQ29tcG91bmRLZXkpLGs9aS54aHJUaW1lb3V0LHg9ISFpLmRpc2FibGVYaHJTeW5jLFQ9ISFpLmRpc2FibGVGZXRjaEtlZXBBbGl2ZSxXPSExIT09aS5hZGROb1Jlc3BvbnNlLFk9ISgwLEguYiQpKCksaWU9bmV3IFooUixjLHAscyksKDAsbC5sZSkoaS51c2VTZW5kQmVhY29uKXx8KFk9ISFpLnVzZVNlbmRCZWFjb24pO3ZhciBDPXIsQT1pLmFsd2F5c1VzZVhock92ZXJyaWRlP3I6bnVsbCxJPWkuYWx3YXlzVXNlWGhyT3ZlcnJpZGU/cjpudWxsLGg9WzMsMl07aWYoIXIpe25lPSExO3ZhciB2PSgwLEguayQpKCk7diYmdi5wcm90b2NvbCYmImZpbGU6Ij09PXYucHJvdG9jb2wudG9Mb3dlckNhc2UoKSYmKG89ITEpO3ZhciBtPVtdOygwLEguYiQpKCk/KG09WzIsMV0saD1bMiwxLDNdKTptPVsxLDIsM10sKHI9RChtPWVlKG0saS50cmFuc3BvcnRzKSwhMSkpfHwoMCxkLmpWKShmLCJObyBhdmFpbGFibGUgdHJhbnNwb3J0IHRvIHNlbmQgZXZlbnRzIiksQz1EKG0sITApfUF8fChBPUQoaD1lZShoLGkudW5sb2FkVHJhbnNwb3J0cyksITApKSxQPSFuZSYmKFkmJigwLEguTUYpKCl8fCFUJiYoMCxILkpPKSghMCkpLChhPXt9KVswXT1yLGFbMV09Q3x8RChbMSwyLDNdLCEwKSxhWzJdPUF8fEN8fEQoWzFdLCEwKSxhWzNdPUl8fEQoWzIsM10sITApfHxDfHxEKFsxXSwhMCksUz1hfSxlLl9nZXREYmdQbGdUYXJnZXRzPWZ1bmN0aW9uKCl7cmV0dXJuW1NbMF0saixpZSxTXX0sZS5hZGRRdWVyeVN0cmluZ1BhcmFtZXRlcj1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD0wO3Q8dGUubGVuZ3RoO3QrKylpZih0ZVt0XS5uYW1lPT09ZSlyZXR1cm4gdm9pZCh0ZVt0XS52YWx1ZT1uKTt0ZS5wdXNoKHtuYW1lOmUsdmFsdWU6bn0pfSxlLmFkZEhlYWRlcj1mdW5jdGlvbihlLG4pe3JlW2VdPW59LGUuY2FuU2VuZFJlcXVlc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcGUoKSYmei5hbGxvd1JlcXVlc3RTZW5kaW5nKCl9LGUuc2VuZFF1ZXVlZFJlcXVlc3RzPWZ1bmN0aW9uKGUsbil7KDAsbC5vOCkoZSkmJihlPTApLHNlJiYoZT1TZShlKSxuPTIpLEFlKG9lLGUsMCkmJlJlKENlKCksMCwhMSxlLG58fDApfSxlLmlzQ29tcGxldGVseUlkbGU9ZnVuY3Rpb24oKXtyZXR1cm4hViYmMD09PVEmJjA9PT1vZS5sZW5ndGh9LGUuc2V0VW5sb2FkaW5nPWZ1bmN0aW9uKGUpe3NlPWV9LGUuYWRkQmF0Y2g9ZnVuY3Rpb24oZSl7aWYoZSYmZS5jb3VudCgpPjApe2lmKGouaXNUZW5hbnRLaWxsZWQoZS5pS2V5KCkpKXJldHVybiExO29lLnB1c2goZSl9cmV0dXJuITB9LGUudGVhcmRvd249ZnVuY3Rpb24oKXtvZS5sZW5ndGg+MCYmUmUoQ2UoKSwwLCEwLDIsMil9LGUucGF1c2U9ZnVuY3Rpb24oKXtWPSEwfSxlLnJlc3VtZT1mdW5jdGlvbigpe1Y9ITEsZS5zZW5kUXVldWVkUmVxdWVzdHMoMCw0KX0sZS5zZW5kU3luY2hyb25vdXNCYXRjaD1mdW5jdGlvbihlLG4sdCl7ZSYmZS5jb3VudCgpPjAmJigoMCxsLmxlKShuKSYmKG49MSksc2UmJihuPVNlKG4pLHQ9MiksUmUoW2VdLDAsITEsbix0fHwwKSl9fSkpfXJldHVybiBlLl9faWVEeW49MSxlfSgpO2Z1bmN0aW9uIHRlKGUsbil7Zm9yKHZhciB0PVtdLHI9MjtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0yXT1hcmd1bWVudHNbcl07cmV0dXJuIHNldFRpbWVvdXQoZSxuLHQpfWZ1bmN0aW9uIHJlKGUpe2NsZWFyVGltZW91dChlKX1mdW5jdGlvbiBvZShlLG4pe3JldHVybntzZXQ6ZXx8dGUsY2xlYXI6bnx8cmV9fXZhciBpZT0iZXZlbnRzRGlzY2FyZGVkIjtjb25zdCBhZT1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKCl7dmFyIHQscj1lLmNhbGwodGhpcyl8fHRoaXM7ci5pZGVudGlmaWVyPSJQb3N0Q2hhbm5lbCIsci5wcmlvcml0eT0xMDExLHIudmVyc2lvbj0iMy4yLjgiO3ZhciBmLHAsQyxBLEksUixoLHY9ITEsbT1bXSxVPW51bGwsTj0hMSxnPTAsSz01MDAseT0wLHc9MWU0LGI9e30sRT1TLm93LGs9bnVsbCx4PW51bGwsVD0wLEQ9MCxMPXt9LE09LTEsVz0hMCxGPSExLGo9NixWPTI7cmV0dXJuKDAsby5aKShuLHIsKGZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gcihlKXsiYmVmb3JldW5sb2FkIiE9PShlfHwoMCxILkpqKSgpLmV2ZW50KS50eXBlJiYoRj0hMCxwLnNldFVubG9hZGluZyhGKSksRygyLDIpfWZ1bmN0aW9uIG8oZSl7Rj0hMSxwLnNldFVubG9hZGluZyhGKX1mdW5jdGlvbiBaKGUsbil7aWYoZS5zZW5kQXR0ZW1wdHx8KGUuc2VuZEF0dGVtcHQ9MCksZS5sYXRlbmN5fHwoZS5sYXRlbmN5PTEpLGUuZXh0JiZlLmV4dC50cmFjZSYmZGVsZXRlIGUuZXh0LnRyYWNlLGUuZXh0JiZlLmV4dC51c2VyJiZlLmV4dC51c2VyLmlkJiZkZWxldGUgZS5leHQudXNlci5pZCxXJiYoYy5pZixlLmV4dD0oMCxsLkF4KShlLmV4dCksZS5iYXNlRGF0YSYmKGUuYmFzZURhdGE9KDAsbC5BeCkoZS5iYXNlRGF0YSkpLGUuZGF0YSYmKGUuZGF0YT0oMCxsLkF4KShlLmRhdGEpKSksZS5zeW5jKWlmKFR8fE4pZS5sYXRlbmN5PTMsZS5zeW5jPSExO2Vsc2UgaWYocClyZXR1cm4gVyYmKGU9KDAsbC5BeCkoZSkpLHZvaWQgcC5zZW5kU3luY2hyb25vdXNCYXRjaChQLmNyZWF0ZShlLmlLZXksW2VdKSwhMD09PWUuc3luYz8xOmUuc3luYywzKTt2YXIgdD1lLmxhdGVuY3kscj15LG89dzs0PT09dCYmKHI9ZyxvPUspO3ZhciBhPSExO2lmKHI8bylhPSFlZShlLG4pO2Vsc2V7dmFyIHM9MSx1PTIwOzQ9PT10JiYocz00LHU9MSksYT0hMCxmdW5jdGlvbihlLG4sdCxyKXtmb3IoO3Q8PW47KXt2YXIgbz1fKGUsbiwhMCk7aWYobyYmby5jb3VudCgpPjApe3ZhciBhPW8uc3BsaXQoMCxyKSxzPWEuY291bnQoKTtpZihzPjApcmV0dXJuIDQ9PT10P2ctPXM6eS09cyxkZShpZSxbYV0saS5RdWV1ZUZ1bGwpLCEwfXQrK31yZXR1cm4gdGUoKSwhMX0oZS5pS2V5LGUubGF0ZW5jeSxzLHUpJiYoYT0hZWUoZSxuKSl9YSYmSGUoaWUsW2VdLGkuUXVldWVGdWxsKX1mdW5jdGlvbiB6KGUsbix0KXt2YXIgcj1yZShlLG4sdCk7cmV0dXJuIHAuc2VuZFF1ZXVlZFJlcXVlc3RzKG4sdCkscn1mdW5jdGlvbiBxKCl7cmV0dXJuIHk+MH1mdW5jdGlvbiBYKCl7aWYoTT49MCYmcmUoTSwwLEkpJiZwLnNlbmRRdWV1ZWRSZXF1ZXN0cygwLEkpLGc+MCYmIXgmJiFOKXt2YXIgZT1iW0VdWzJdO2U+PTAmJih4PUooKGZ1bmN0aW9uKCl7eD1udWxsLHooNCwwLDEpLFgoKX0pLGUpKX12YXIgbj1iW0VdWzFdOyFrJiYhVSYmbj49MCYmIU4mJihxKCk/az1KKChmdW5jdGlvbigpe2s9bnVsbCx6KDA9PT1EPzM6MSwwLDEpLEQrKyxEJT0yLFgoKX0pLG4pOkQ9MCl9ZnVuY3Rpb24gWSgpe3Q9bnVsbCx2PSExLG09W10sVT1udWxsLE49ITEsZz0wLEs9NTAwLHk9MCx3PTFlNCxiPXt9LEU9Uy5vdyxrPW51bGwseD1udWxsLFQ9MCxEPTAsZj1udWxsLEw9e30sQz12b2lkIDAsQT0wLE09LTEsST1udWxsLFc9ITAsRj0hMSxqPTYsVj0yLFI9bnVsbCxoPW9lKCkscD1uZXcgbmUoNTAwLDIsMSx7cmVxdWV1ZTpjZSxzZW5kOmZlLHNlbnQ6U2UsZHJvcDpwZSxyc3BGYWlsOkNlLG90aDpBZX0saCksdWUoKSxMWzRdPXtiYXRjaGVzOltdLGlLZXlNYXA6e319LExbM109e2JhdGNoZXM6W10saUtleU1hcDp7fX0sTFsyXT17YmF0Y2hlczpbXSxpS2V5TWFwOnt9fSxMWzFdPXtiYXRjaGVzOltdLGlLZXlNYXA6e319LEllKCl9ZnVuY3Rpb24gSihlLG4pezA9PT1uJiZUJiYobj0xKTt2YXIgdD0xZTM7cmV0dXJuIFQmJih0PUIoVC0xKSksaC5zZXQoZSxuKnQpfWZ1bmN0aW9uIFEoKXtyZXR1cm4gbnVsbCE9PWsmJihoLmNsZWFyKGspLGs9bnVsbCxEPTAsITApfWZ1bmN0aW9uIEcoZSxuKXtRKCksVSYmKGguY2xlYXIoVSksVT1udWxsKSxOfHx6KDEsZSxuKX1mdW5jdGlvbiBfKGUsbix0KXt2YXIgcj1MW25dO3J8fChyPUxbbj0xXSk7dmFyIG89ci5pS2V5TWFwW2VdO3JldHVybiFvJiZ0JiYobz1QLmNyZWF0ZShlKSxyLmJhdGNoZXMucHVzaChvKSxyLmlLZXlNYXBbZV09byksb31mdW5jdGlvbiAkKG4sdCl7cC5jYW5TZW5kUmVxdWVzdCgpJiYhVCYmKEM+MCYmeT5DJiYodD0hMCksdCYmbnVsbD09VSYmZS5mbHVzaChuLG51bGwsMjApKX1mdW5jdGlvbiBlZShlLG4pe1cmJihlPSgwLGwuQXgpKGUpKTt2YXIgdD1lLmxhdGVuY3kscj1fKGUuaUtleSx0LCEwKTtyZXR1cm4hIXIuYWRkRXZlbnQoZSkmJig0IT09dD8oeSsrLG4mJjA9PT1lLnNlbmRBdHRlbXB0JiYkKCFlLnN5bmMsQT4wJiZyLmNvdW50KCk+PUEpKTpnKyssITApfWZ1bmN0aW9uIHRlKCl7Zm9yKHZhciBlPTAsbj0wLHQ9ZnVuY3Rpb24odCl7dmFyIHI9TFt0XTtyJiZyLmJhdGNoZXMmJigwLGwudE8pKHIuYmF0Y2hlcywoZnVuY3Rpb24ocil7ND09PXQ/ZSs9ci5jb3VudCgpOm4rPXIuY291bnQoKX0pKX0scj0xO3I8PTQ7cisrKXQocik7eT1uLGc9ZX1mdW5jdGlvbiByZShuLHQscil7dmFyIG89ITEscz0wPT09dDtyZXR1cm4hc3x8cC5jYW5TZW5kUmVxdWVzdCgpPygwLGEuTG0pKGUuY29yZSwoZnVuY3Rpb24oKXtyZXR1cm4iUG9zdENoYW5uZWwuX3F1ZXVlQmF0Y2hlcyJ9KSwoZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD00O3Q+PW47KXt2YXIgcj1MW3RdO3ImJnIuYmF0Y2hlcyYmci5iYXRjaGVzLmxlbmd0aD4wJiYoKDAsbC50Tykoci5iYXRjaGVzLChmdW5jdGlvbihuKXtwLmFkZEJhdGNoKG4pP289b3x8biYmbi5jb3VudCgpPjA6ZT1lLmNvbmNhdChuLmV2ZW50cygpKSw0PT09dD9nLT1uLmNvdW50KCk6eS09bi5jb3VudCgpfSkpLHIuYmF0Y2hlcz1bXSxyLmlLZXlNYXA9e30pLHQtLX1lLmxlbmd0aD4wJiZIZShpZSxlLGkuS2lsbFN3aXRjaCksbyYmTT49biYmKE09LTEsST0wKX0pLChmdW5jdGlvbigpe3JldHVybntsYXRlbmN5Om4sc2VuZFR5cGU6dCxzZW5kUmVhc29uOnJ9fSksIXMpOihNPU0+PTA/TWF0aC5taW4oTSxuKTpuLEk9TWF0aC5tYXgoSSxyKSksb31mdW5jdGlvbiBhZShlLG4pe3ooMSwwLG4pLHRlKCksc2UoKGZ1bmN0aW9uKCl7ZSYmZSgpLG0ubGVuZ3RoPjA/VT1KKChmdW5jdGlvbigpe1U9bnVsbCxhZShtLnNoaWZ0KCksbil9KSwwKTooVT1udWxsLFgoKSl9KSl9ZnVuY3Rpb24gc2UoZSl7cC5pc0NvbXBsZXRlbHlJZGxlKCk/ZSgpOlU9SigoZnVuY3Rpb24oKXtVPW51bGwsc2UoZSl9KSwuMjUpfWZ1bmN0aW9uIHVlKCl7KGI9e30pW1Mub3ddPVsyLDEsMF0sYltTLmplXT1bNiwzLDBdLGJbUy5lMl09WzE4LDksMF19ZnVuY3Rpb24gY2Uobix0KXt2YXIgcj1bXSxvPWo7RiYmKG89ViksKDAsbC50TykobiwoZnVuY3Rpb24obil7biYmbi5jb3VudCgpPjAmJigwLGwudE8pKG4uZXZlbnRzKCksKGZ1bmN0aW9uKG4pe24mJihuLnN5bmMmJihuLmxhdGVuY3k9NCxuLnN5bmM9ITEpLG4uc2VuZEF0dGVtcHQ8bz8oKDAsYy5pZikobixlLmlkZW50aWZpZXIpLFoobiwhMSkpOnIucHVzaChuKSl9KSl9KSksci5sZW5ndGg+MCYmSGUoaWUscixpLk5vblJldHJ5YWJsZVN0YXR1cyksRiYmRygyLDIpfWZ1bmN0aW9uIGxlKG4sdCl7dmFyIHI9ZS5fbm90aWZpY2F0aW9uTWFuYWdlcnx8e30sbz1yW25dO2lmKG8pdHJ5e28uYXBwbHkocix0KX1jYXRjaCh0KXsoMCxkLmtQKShlLmRpYWdMb2coKSwxLDc0LG4rIiBub3RpZmljYXRpb24gZmFpbGVkOiAiK3QpfX1mdW5jdGlvbiBIZShlLG4pe2Zvcih2YXIgdD1bXSxyPTI7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMl09YXJndW1lbnRzW3JdO24mJm4ubGVuZ3RoPjAmJmxlKGUsW25dLmNvbmNhdCh0KSl9ZnVuY3Rpb24gZGUoZSxuKXtmb3IodmFyIHQ9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTJdPWFyZ3VtZW50c1tyXTtuJiZuLmxlbmd0aD4wJiYoMCxsLnRPKShuLChmdW5jdGlvbihuKXtuJiZuLmNvdW50KCk+MCYmbGUoZSxbbi5ldmVudHMoKV0uY29uY2F0KHQpKX0pKX1mdW5jdGlvbiBmZShlLG4sdCl7ZSYmZS5sZW5ndGg+MCYmbGUoImV2ZW50c1NlbmRSZXF1ZXN0Iixbbj49MWUzJiZuPD0xOTk5P24tMWUzOjAsITAhPT10XSl9ZnVuY3Rpb24gU2UoZSxuKXtkZSgiZXZlbnRzU2VudCIsZSxuKSxYKCl9ZnVuY3Rpb24gcGUoZSxuKXtkZShpZSxlLG4+PThlMyYmbjw9ODk5OT9uLThlMzppLlVua25vd24pfWZ1bmN0aW9uIENlKGUpe2RlKGllLGUsaS5Ob25SZXRyeWFibGVTdGF0dXMpLFgoKX1mdW5jdGlvbiBBZShlLG4pe2RlKGllLGUsaS5Vbmtub3duKSxYKCl9ZnVuY3Rpb24gSWUoKXtBPXQmJnQuZGlzYWJsZUF1dG9CYXRjaEZsdXNoTGltaXQ/MDpNYXRoLm1heCgxNTAwLHcvNil9WSgpLGUuX2dldERiZ1BsZ1RhcmdldHM9ZnVuY3Rpb24oKXtyZXR1cm5bcF19LGUuaW5pdGlhbGl6ZT1mdW5jdGlvbihpLEgsZCl7KDAsYS5MbSkoSCwoZnVuY3Rpb24oKXtyZXR1cm4iUG9zdENoYW5uZWw6aW5pdGlhbGl6ZSJ9KSwoZnVuY3Rpb24oKXt2YXIgYT1IO24uaW5pdGlhbGl6ZShpLEgsZCk7dHJ5e0guYWRkVW5sb2FkQ2I7Uj0oMCxzLmpVKSgoMCx1LkopKGUuaWRlbnRpZmllciksSC5ldnROYW1lc3BhY2UmJkguZXZ0TmFtZXNwYWNlKCkpO3ZhciBTPWUuX2dldFRlbEN0eCgpO2kuZXh0ZW5zaW9uQ29uZmlnW2UuaWRlbnRpZmllcl09aS5leHRlbnNpb25Db25maWdbZS5pZGVudGlmaWVyXXx8e30sdD1TLmdldEV4dENmZyhlLmlkZW50aWZpZXIpLGg9b2UodC5zZXRUaW1lb3V0T3ZlcnJpZGUsdC5jbGVhclRpbWVvdXRPdmVycmlkZSksVz0hdC5kaXNhYmxlT3B0aW1pemVPYmomJigwLGMubUopKCksZnVuY3Rpb24oZSl7dmFyIG49ZS5nZXRXUGFyYW07ZS5nZXRXUGFyYW09ZnVuY3Rpb24oKXt2YXIgZT0wO3JldHVybiB0Lmlnbm9yZU1jMU1zMENvb2tpZVByb2Nlc3NpbmcmJihlfD0yKSxlfG4oKX19KGEpLHQuZXZlbnRzTGltaXRJbk1lbT4wJiYodz10LmV2ZW50c0xpbWl0SW5NZW0pLHQuaW1tZWRpYXRlRXZlbnRMaW1pdD4wJiYoSz10LmltbWVkaWF0ZUV2ZW50TGltaXQpLHQuYXV0b0ZsdXNoRXZlbnRzTGltaXQ+MCYmKEM9dC5hdXRvRmx1c2hFdmVudHNMaW1pdCksKDAsbC5oaikodC5tYXhFdmVudFJldHJ5QXR0ZW1wdHMpJiYoaj10Lm1heEV2ZW50UmV0cnlBdHRlbXB0cyksKDAsbC5oaikodC5tYXhVbmxvYWRFdmVudFJldHJ5QXR0ZW1wdHMpJiYoVj10Lm1heFVubG9hZEV2ZW50UmV0cnlBdHRlbXB0cyksSWUoKSx0Lmh0dHBYSFJPdmVycmlkZSYmdC5odHRwWEhST3ZlcnJpZGUuc2VuZFBPU1QmJihmPXQuaHR0cFhIUk92ZXJyaWRlKSwoMCxjLlNuKShpLmFub25Db29raWVOYW1lKSYmcC5hZGRRdWVyeVN0cmluZ1BhcmFtZXRlcigiYW5vbmNrbm0iLGkuYW5vbkNvb2tpZU5hbWUpLHAuc2VuZEhvb2s9dC5wYXlsb2FkUHJlcHJvY2Vzc29yLHAuc2VuZExpc3RlbmVyPXQucGF5bG9hZExpc3RlbmVyO3ZhciBBPXQub3ZlcnJpZGVFbmRwb2ludFVybD90Lm92ZXJyaWRlRW5kcG9pbnRVcmw6aS5lbmRwb2ludFVybDtlLl9ub3RpZmljYXRpb25NYW5hZ2VyPUguZ2V0Tm90aWZ5TWdyKCkscC5pbml0aWFsaXplKEEsZS5jb3JlLGUsZix0KTt2YXIgST1pLmRpc2FibGVQYWdlVW5sb2FkRXZlbnRzfHxbXTsoMCxzLmM5KShyLEksUiksKDAscy5USikocixJLFIpLCgwLHMubkQpKG8saS5kaXNhYmxlUGFnZVNob3dFdmVudHMsUil9Y2F0Y2gobil7dGhyb3cgZS5zZXRJbml0aWFsaXplZCghMSksbn19KSwoZnVuY3Rpb24oKXtyZXR1cm57Y29yZUNvbmZpZzppLGNvcmU6SCxleHRlbnNpb25zOmR9fSkpfSxlLnByb2Nlc3NUZWxlbWV0cnk9ZnVuY3Rpb24obixyKXsoMCxjLmlmKShuLGUuaWRlbnRpZmllcik7dmFyIG89KHI9ZS5fZ2V0VGVsQ3R4KHIpKS5nZXRFeHRDZmcoZS5pZGVudGlmaWVyKSxpPSEhdC5kaXNhYmxlVGVsZW1ldHJ5O28mJihpPWl8fCEhby5kaXNhYmxlVGVsZW1ldHJ5KTt2YXIgYT1uO2l8fHZ8fCh0Lm92ZXJyaWRlSW5zdHJ1bWVudGF0aW9uS2V5JiYoYS5pS2V5PXQub3ZlcnJpZGVJbnN0cnVtZW50YXRpb25LZXkpLG8mJm8ub3ZlcnJpZGVJbnN0cnVtZW50YXRpb25LZXkmJihhLmlLZXk9by5vdmVycmlkZUluc3RydW1lbnRhdGlvbktleSksWihhLCEwKSxGP0coMiwyKTpYKCkpLGUucHJvY2Vzc05leHQoYSxyKX0sZS5fZG9UZWFyZG93bj1mdW5jdGlvbihlLG4pe0coMiwyKSx2PSEwLHAudGVhcmRvd24oKSwoMCxzLkpBKShudWxsLFIpLCgwLHMuQzkpKG51bGwsUiksKDAscy5ZbCkobnVsbCxSKSxZKCl9LGUuc2V0RXZlbnRRdWV1ZUxpbWl0cz1mdW5jdGlvbihlLG4pe3c9ZT4wP2U6MWU0LEM9bj4wP246MCxJZSgpO3ZhciB0PXk+ZTtpZighdCYmQT4wKWZvcih2YXIgcj0xOyF0JiZyPD0zO3IrKyl7dmFyIG89TFtyXTtvJiZvLmJhdGNoZXMmJigwLGwudE8pKG8uYmF0Y2hlcywoZnVuY3Rpb24oZSl7ZSYmZS5jb3VudCgpPj1BJiYodD0hMCl9KSl9JCghMCx0KX0sZS5wYXVzZT1mdW5jdGlvbigpe1EoKSxOPSEwLHAucGF1c2UoKX0sZS5yZXN1bWU9ZnVuY3Rpb24oKXtOPSExLHAucmVzdW1lKCksWCgpfSxlLmFkZFJlc3BvbnNlSGFuZGxlcj1mdW5jdGlvbihlKXtwLl9yZXNwb25zZUhhbmRsZXJzLnB1c2goZSl9LGUuX2xvYWRUcmFuc21pdFByb2ZpbGVzPWZ1bmN0aW9uKGUpe1EoKSx1ZSgpLEU9Uy5vdyxYKCksKDAsbC5yVykoZSwoZnVuY3Rpb24oZSxuKXt2YXIgdD1uLmxlbmd0aDtpZih0Pj0yKXt2YXIgcj10PjI/blsyXTowO2lmKG4uc3BsaWNlKDAsdC0yKSxuWzFdPDAmJihuWzBdPS0xKSxuWzFdPjAmJm5bMF0+MCl7dmFyIG89blswXS9uWzFdO25bMF09TWF0aC5jZWlsKG8pKm5bMV19cj49MCYmblsxXT49MCYmcj5uWzFdJiYocj1uWzFdKSxuLnB1c2gociksYltlXT1ufX0pKX0sZS5mbHVzaD1mdW5jdGlvbihlLG4sdCl7aWYodm9pZCAwPT09ZSYmKGU9ITApLCFOKWlmKHQ9dHx8MSxlKW51bGw9PVU/KFEoKSxyZSgxLDAsdCksVT1KKChmdW5jdGlvbigpe1U9bnVsbCxhZShuLHQpfSksMCkpOm0ucHVzaChuKTtlbHNle3ZhciByPVEoKTt6KDEsMSx0KSxudWxsIT1uJiZuKCksciYmWCgpfX0sZS5zZXRNc2FBdXRoVGlja2V0PWZ1bmN0aW9uKGUpe3AuYWRkSGVhZGVyKE8sZSl9LGUuaGFzRXZlbnRzPXEsZS5fc2V0VHJhbnNtaXRQcm9maWxlPWZ1bmN0aW9uKGUpe0UhPT1lJiZ2b2lkIDAhPT1iW2VdJiYoUSgpLEU9ZSxYKCkpfSxlLl9iYWNrT2ZmVHJhbnNtaXNzaW9uPWZ1bmN0aW9uKCl7VDw0JiYoVCsrLFEoKSxYKCkpfSxlLl9jbGVhckJhY2tPZmY9ZnVuY3Rpb24oKXtUJiYoVD0wLFEoKSxYKCkpfSwoMCxsLmxfKShlLCJfc2V0VGltZW91dE92ZXJyaWRlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaC5zZXR9KSwoZnVuY3Rpb24oZSl7aD1vZShlLGguY2xlYXIpfSkpLCgwLGwubF8pKGUsIl9jbGVhclRpbWVvdXRPdmVycmlkZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGguY2xlYXJ9KSwoZnVuY3Rpb24oZSl7aD1vZShoLnNldCxlKX0pKX0pKSxyfXJldHVybigwLHIubmUpKG4sZSksbi5fX2llRHluPTEsbn0oZi5pKX0sNDg1MzYyOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0J5OigpPT5vLGNjOigpPT5pfSk7dmFyIHI9dCg5Mjk1NDEpO2Z1bmN0aW9uIG8oZSl7dmFyIG49e307cmV0dXJuKDAsci5yVykoZSwoZnVuY3Rpb24oZSx0KXtuW2VdPXQsblt0XT1lfSkpLCgwLHIuX0EpKG4pfWZ1bmN0aW9uIGkoZSl7dmFyIG49e307cmV0dXJuKDAsci5yVykoZSwoZnVuY3Rpb24oZSx0KXtuW2VdPXRbMV0sblt0WzBdXT10WzFdfSkpLCgwLHIuX0EpKG4pfX0sNzY2ODY0OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2k6KCk9PmN9KTt2YXIgcj10KDkyMzgwNiksbz10KDE3MzU5NyksaT10KDkyOTU0MSksYT10KDM4Mjc3OCkscz10KDQ3NjkwNSksdT10KDg1MTkzMCksYz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgbix0LGMsbCxILGQ9dGhpcztmdW5jdGlvbiBmKGUpe3ZvaWQgMD09PWUmJihlPW51bGwpO3ZhciBuPWU7aWYoIW4pe3ZhciByPXR8fCgwLHMuQ0QpKG51bGwse30sZFthLm9WXSk7bj1jJiZjLmdldFBsdWdpbj9yW28uelZdKG51bGwsYy5nZXRQbHVnaW4pOnJbby56Vl0obnVsbCxjKX1yZXR1cm4gbn1mdW5jdGlvbiBTKGUsbixyKXtlJiYoMCxpLnNPKShlLGEuWmgsW10sbnVsbCxpLmxlKSwhciYmbiYmKHI9bltvLlNEXSgpW28uVzJdKCkpO3ZhciB1PWM7YyYmYy5nZXRQbHVnaW4mJih1PWMuZ2V0UGx1Z2luKCkpLGRbYS5vVl09bix0PSgwLHMuQ0QpKHIsZSxuLHUpfWZ1bmN0aW9uIHAoKXtuPSExLGRbYS5vVl09bnVsbCx0PW51bGwsYz1udWxsLEg9W10sbD0oMCx1LlkpKCl9cCgpLCgwLHIuWikoZSxkLChmdW5jdGlvbihlKXtlW28uVkxdPWZ1bmN0aW9uKGUsdCxyLG8pe1MoZSx0LG8pLG49ITB9LGVbby5maV09ZnVuY3Rpb24obix0KXt2YXIgcix1PWVbYS5vVl07aWYodSYmKCFufHx1PT09blthLm9WXSgpKSl7dmFyIGQsZj0hMSxTPW58fCgwLHMuQnQpKG51bGwsdSxjJiZjLmdldFBsdWdpbj9jLmdldFBsdWdpbigpOmMpLEM9dHx8KChyPXtyZWFzb246MH0pW28uZF09ITEscik7cmV0dXJuIGVbby5GM10mJiEwPT09ZVtvLkYzXShTLEMsQSk/ZD0hMDpBKCksZH1mdW5jdGlvbiBBKCl7aWYoIWYpe2Y9ITAsbC5ydW4oUyx0KTt2YXIgZT1IO0g9W10sKDAsaS50TykoZSwoZnVuY3Rpb24oZSl7ZS5ybSgpfSkpLCEwPT09ZCYmU1tvLnVMXShDKSxwKCl9fX0sZVtvLlR1XT1mdW5jdGlvbihuLHQpe3ZhciByPWVbYS5vVl07aWYociYmKCFufHxyPT09blthLm9WXSgpKSl7dmFyIGksdT0hMSxsPW58fCgwLHMueHkpKG51bGwscixjJiZjLmdldFBsdWdpbj9jLmdldFBsdWdpbigpOmMpLEg9dHx8e3JlYXNvbjowfTtyZXR1cm4gZS5fZG9VcGRhdGUmJiEwPT09ZS5fZG9VcGRhdGUobCxILGQpP2k9ITA6ZCgpLGl9ZnVuY3Rpb24gZCgpe3V8fCh1PSEwLFMobC5nZXRDZmcoKSxsLmNvcmUoKSxsW28uVzJdKCkpKX19LGUuX2FkZEhvb2s9ZnVuY3Rpb24oZSl7ZSYmKCgwLGkua0opKGUpP0g9SC5jb25jYXQoZSk6SFtvLk1XXShlKSl9LCgwLGkuT2kpKGUsIl9hZGRVbmxvYWRDYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSwiYWRkIil9KSksZFtvLm1jXT1mdW5jdGlvbihlKXtyZXR1cm4gZihlKVtvLm1jXSgpfSxkW28ueWxdPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGQuc2V0SW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oZSl7bj1lfSxkW28uSmRdPWZ1bmN0aW9uKGUpe2M9ZX0sZFtvLnVMXT1mdW5jdGlvbihlLG4pe24/bltvLnVMXShlKTpjJiYoMCxpLm1mKShjW2EuaExdKSYmY1thLmhMXShlLG51bGwpfSxkLl9nZXRUZWxDdHg9Zn1yZXR1cm4gZS5fX2llRHluPTEsZX0oKX0sNzMxNzQwOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2tqOigpPT5BLEpQOigpPT5oLE56OigpPT52LHA3OigpPT5tLFVZOigpPT53fSk7dmFyIHI9dCgxNzM1OTcpLG89dCg2NjIzNzIpLGk9dCg4MDMxNDUpLGE9dCg5Mjk1NDEpLHM9dCgzODI3NzgpLHU9InRvR01UU3RyaW5nIixjPSJ0b1VUQ1N0cmluZyIsbD0iZXhwaXJlcyIsSD1udWxsLGQ9bnVsbCxmPW51bGwsUz0oMCxpLk1lKSgpLHA9e30sQz17fTtmdW5jdGlvbiBBKGUsbil7dmFyIHQ9di5fY2tNZ3J8fEMuX2NrTWdyO3JldHVybiB0fHwodD12Ll9ja01ncj12KGUsbiksQy5fY2tNZ3I9dCksdH1mdW5jdGlvbiBJKGUpe3JldHVybiFlfHxlLmlzRW5hYmxlZCgpfWZ1bmN0aW9uIFIoZSxuKXtyZXR1cm4hIShuJiZlJiYoMCxhLmtKKShlLmlnbm9yZUNvb2tpZXMpKSYmLTEhPT1lLmlnbm9yZUNvb2tpZXNbci5vdV0obil9ZnVuY3Rpb24gaChlLG4pe3ZhciB0O2lmKGUpdD1lLmdldENvb2tpZU1ncigpO2Vsc2UgaWYobil7dmFyIG89bltyLkxrXTt0PW8uX2NrTWdyP28uX2NrTWdyOnYobil9cmV0dXJuIHR8fCh0PUEobiwoZXx8e30pW3IuZVpdKSksdH1mdW5jdGlvbiB2KGUsbil7dmFyIHQsbz1mdW5jdGlvbihlKXt2YXIgbj1lW3IuTGtdPWVbci5Ma118fHt9O2lmKCgwLGEuc08pKG4sImRvbWFpbiIsZS5jb29raWVEb21haW4sYS5CWCxhLmxlKSwoMCxhLnNPKShuLCJwYXRoIixlLmNvb2tpZVBhdGh8fCIvIixudWxsLGEubGUpLCgwLGEubGUpKG4uZW5hYmxlZCkpe3ZhciB0PXZvaWQgMDsoMCxhLm84KShlLmlzQ29va2llVXNlRGlzYWJsZWQpfHwodD0hZS5pc0Nvb2tpZVVzZURpc2FibGVkKSwoMCxhLm84KShlLmRpc2FibGVDb29raWVzVXNhZ2UpfHwodD0hZS5kaXNhYmxlQ29va2llc1VzYWdlKSxuLmVuYWJsZWQ9dH1yZXR1cm4gbn0oZXx8QyksSD1vLnBhdGh8fCIvIixmPW8uZG9tYWluLFM9ITEhPT1vLmVuYWJsZWQscD0oKHQ9e2lzRW5hYmxlZDpmdW5jdGlvbigpe3ZhciBlPVMmJm0obiksdD1DLl9ja01ncjtyZXR1cm4gZSYmdCYmcCE9PXQmJihlPUkodCkpLGV9fSlbci4kaF09ZnVuY3Rpb24oZSl7Uz0hMSE9PWV9LHQuc2V0PWZ1bmN0aW9uKGUsbix0LFMsQyl7dmFyIEE9ITE7aWYoSShwKSYmIWZ1bmN0aW9uKGUsbil7cmV0dXJuISEobiYmZSYmKDAsYS5rSikoZS5ibG9ja2VkQ29va2llcykmJi0xIT09ZS5ibG9ja2VkQ29va2llc1tyLm91XShuKSl8fFIoZSxuKX0obyxlKSl7dmFyIGg9e30sdj0oMCxhLm5kKShufHxzLnFTKSxtPXZbci5vdV0oIjsiKTtpZigtMSE9PW0mJih2PSgwLGEubmQpKG5bci56Y10oMCxtKSksaD1VKG5bci56Y10obSsxKSkpLCgwLGEuc08pKGgsImRvbWFpbiIsU3x8ZixhLmZRLGEubzgpLCEoMCxhLmxlKSh0KSl7dmFyIEs9KDAsaS53MSkoKTtpZigoMCxhLm84KShoLmV4cGlyZXMpKXt2YXIgYj0oMCxhLm02KSgpKzFlMyp0O2lmKGI+MCl7dmFyIEU9bmV3IERhdGU7RS5zZXRUaW1lKGIpLCgwLGEuc08pKGgsbCxOKEUsSz91OmMpfHxOKEUsSz91OmMpfHxzLnFTLGEuZlEpfX1LfHwoMCxhLnNPKShoLCJtYXgtYWdlIixzLnFTK3QsbnVsbCxhLm84KX12YXIgTz0oMCxpLmskKSgpO08mJiJodHRwczoiPT09Ty5wcm90b2NvbCYmKCgwLGEuc08pKGgsInNlY3VyZSIsbnVsbCxudWxsLGEubzgpLG51bGw9PT1kJiYoZD0hdygoKDAsaS5qVykoKXx8e30pW3IucVZdKSksZCYmKDAsYS5zTykoaCwiU2FtZVNpdGUiLCJOb25lIixudWxsLGEubzgpKSwoMCxhLnNPKShoLCJwYXRoIixDfHxILG51bGwsYS5vOCksKG8uc2V0Q29va2llfHx5KShlLGcodixoKSksQT0hMH1yZXR1cm4gQX0sdC5nZXQ9ZnVuY3Rpb24oZSl7dmFyIG49cy5xUztyZXR1cm4gSShwKSYmIVIobyxlKSYmKG49KG8uZ2V0Q29va2llfHxLKShlKSksbn0sdC5kZWw9ZnVuY3Rpb24oZSxuKXt2YXIgdD0hMTtyZXR1cm4gSShwKSYmKHQ9cC5wdXJnZShlLG4pKSx0fSx0LnB1cmdlPWZ1bmN0aW9uKGUsdCl7dmFyIHIsYT0hMTtpZihtKG4pKXt2YXIgdT0oKHI9e30pLnBhdGg9dHx8Ii8iLHIuZXhwaXJlcz0iVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQiLHIpOygwLGkudzEpKCl8fCh1WyJtYXgtYWdlIl09IjAiKSwoby5kZWxDb29raWV8fHkpKGUsZyhzLnFTLHUpKSxhPSEwfXJldHVybiBhfSx0KTtyZXR1cm4gcC5fY2tNZ3I9cCxwfWZ1bmN0aW9uIG0oZSl7aWYobnVsbD09PUgpe0g9ITE7dHJ5e0g9dm9pZCAwIT09KFN8fHt9KS5jb29raWV9Y2F0Y2gobil7KDAsby5rUCkoZSwyLDY4LCJDYW5ub3QgYWNjZXNzIGRvY3VtZW50LmNvb2tpZSAtICIrKDAsYS5qaikobikse2V4Y2VwdGlvbjooMCxpLmVVKShuKX0pfX1yZXR1cm4gSH1mdW5jdGlvbiBVKGUpe3ZhciBuPXt9O2lmKGUmJmVbci5SNV0pe3ZhciB0PSgwLGEubmQpKGUpW3IudzZdKCI7Iik7KDAsYS50TykodCwoZnVuY3Rpb24oZSl7aWYoZT0oMCxhLm5kKShlfHxzLnFTKSl7dmFyIHQ9ZVtyLm91XSgiPSIpOy0xPT09dD9uW2VdPW51bGw6blsoMCxhLm5kKShlW3IuemNdKDAsdCkpXT0oMCxhLm5kKShlW3IuemNdKHQrMSkpfX0pKX1yZXR1cm4gbn1mdW5jdGlvbiBOKGUsbil7cmV0dXJuKDAsYS5tZikoZVtuXSk/ZVtuXSgpOm51bGx9ZnVuY3Rpb24gZyhlLG4pe3ZhciB0PWV8fHMucVM7cmV0dXJuKDAsYS5yVykobiwoZnVuY3Rpb24oZSxuKXt0Kz0iOyAiK2UrKCgwLGEubGUpKG4pP3MucVM6Ij0iK24pfSkpLHR9ZnVuY3Rpb24gSyhlKXt2YXIgbj1zLnFTO2lmKFMpe3ZhciB0PVMuY29va2llfHxzLnFTO2YhPT10JiYocD1VKHQpLGY9dCksbj0oMCxhLm5kKShwW2VdfHxzLnFTKX1yZXR1cm4gbn1mdW5jdGlvbiB5KGUsbil7UyYmKFMuY29va2llPWUrIj0iK24pfWZ1bmN0aW9uIHcoZSl7cmV0dXJuISEoMCxhLkhEKShlKSYmKCEoISgwLGEuX1EpKGUsIkNQVSBpUGhvbmUgT1MgMTIiKSYmISgwLGEuX1EpKGUsImlQYWQ7IENQVSBPUyAxMiIpKXx8KCEhKCgwLGEuX1EpKGUsIk1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTQiKSYmKDAsYS5fUSkoZSwiVmVyc2lvbi8iKSYmKDAsYS5fUSkoZSwiU2FmYXJpIikpfHwoISghKDAsYS5fUSkoZSwiTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xNCIpfHwhKDAsYS5JZCkoZSwiQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSIpKXx8KCEoISgwLGEuX1EpKGUsIkNocm9tZS81IikmJiEoMCxhLl9RKShlLCJDaHJvbWUvNiIpKXx8KCEoISgwLGEuX1EpKGUsIlVucmVhbEVuZ2luZSIpfHwoMCxhLl9RKShlLCJDaHJvbWUiKSl8fCEoISgwLGEuX1EpKGUsIlVDQnJvd3Nlci8xMiIpJiYhKDAsYS5fUSkoZSwiVUNCcm93c2VyLzExIikpKSkpKSl9fSw2ODU1ODM6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7R1c6KCk9PmYsSmo6KCk9PlMsRE86KCk9PnB9KTt2YXIgcixvPXQoODI2NDU0KSxpPXQoMTczNTk3KSxhPXQoNzMxNzQwKSxzPXQoODAzMTQ1KSx1PXQoNzA2MDM4KSxjPXQoOTI5NTQxKSxsPXQoMzgyNzc4KSxIPXQoNzU1OTkyKSxkPW51bGw7ZnVuY3Rpb24gZigpe3ZhciBlPXAoKTtyZXR1cm4gZVtpLnpjXSgwLDgpKyItIitlW2kuemNdKDgsMTIpKyItIitlW2kuemNdKDEyLDE2KSsiLSIrZVtpLnpjXSgxNiwyMCkrIi0iK2VbaS56Y10oMjApfWZ1bmN0aW9uIFMoKXt2YXIgZT0oMCxzLnIpKCk7cmV0dXJuIGUmJmUubm93P2Uubm93KCk6KDAsYy5tNikoKX1mdW5jdGlvbiBwKCl7Zm9yKHZhciBlLG49WyIwIiwiMSIsIjIiLCIzIiwiNCIsIjUiLCI2IiwiNyIsIjgiLCI5IiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIl0sdD1sLnFTLHI9MDtyPDQ7cisrKXQrPW5bMTUmKGU9KDAsSC5fbCkoKSldK25bZT4+NCYxNV0rbltlPj44JjE1XStuW2U+PjEyJjE1XStuW2U+PjE2JjE1XStuW2U+PjIwJjE1XStuW2U+PjI0JjE1XStuW2U+PjI4JjE1XTt2YXIgbz1uWzgrKDMmKDAsSC5fbCkoKSl8MF07cmV0dXJuIHRbaS5Kbl0oMCw4KSt0W2kuSm5dKDksNCkrIjQiK3RbaS5Kbl0oMTMsMykrbyt0W2kuSm5dKDE2LDMpK3RbaS5Kbl0oMTksMTIpfXZhciBDPXtfY2FuVXNlQ29va2llczp2b2lkIDAsaXNUeXBlb2Y6Yy5ZbSxpc1VuZGVmaW5lZDpjLm84LGlzTnVsbE9yVW5kZWZpbmVkOmMubGUsaGFzT3duUHJvcGVydHk6Yy5ucixpc0Z1bmN0aW9uOmMubWYsaXNPYmplY3Q6Yy5Lbixpc0RhdGU6Yy5KXyxpc0FycmF5OmMua0osaXNFcnJvcjpjLlZaLGlzU3RyaW5nOmMuSEQsaXNOdW1iZXI6Yy5oaixpc0Jvb2xlYW46Yy5qbix0b0lTT1N0cmluZzpjLlk2LGFyckZvckVhY2g6Yy50TyxhcnJJbmRleE9mOmMuVUEsYXJyTWFwOmMuTXIsYXJyUmVkdWNlOmMuWHosc3RyVHJpbTpjLm5kLG9iakNyZWF0ZTpvLnB1LG9iaktleXM6Yy5GWSxvYmpEZWZpbmVBY2Nlc3NvcnM6Yy5sXyxhZGRFdmVudEhhbmRsZXI6dS5JYixkYXRlTm93OmMubTYsaXNJRTpzLncxLGRpc2FibGVDb29raWVzOmZ1bmN0aW9uKCl7QSgpW2kuJGhdKCExKX0sbmV3R3VpZDpmLHBlcmZOb3c6UyxuZXdJZDpILnBaLHJhbmRvbVZhbHVlOkguYXoscmFuZG9tMzI6SC5fbCxtd2NSYW5kb21TZWVkOkguQ04sbXdjUmFuZG9tMzI6SC5GNixnZW5lcmF0ZVczQ0lkOnB9O3UucFosdS5wWix1LnBELHUucEQ7ZnVuY3Rpb24gQShlLG4pe3ZhciB0PSgwLGEua2opKGUsbiksbz1DLl9jYW5Vc2VDb29raWVzO3JldHVybiBudWxsPT09ZCYmKGQ9W10scj1vLCgwLGMubF8pKEMsIl9jYW5Vc2VDb29raWVzIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pLChmdW5jdGlvbihlKXtyPWUsKDAsYy50TykoZCwoZnVuY3Rpb24obil7bltpLiRoXShlKX0pKX0pKSksLTE9PT0oMCxjLlVBKShkLHQpJiZkW2kuTVddKHQpLCgwLGMuam4pKG8pJiZ0W2kuJGhdKG8pLCgwLGMuam4pKHIpJiZ0W2kuJGhdKHIpLHR9fSwyMzU2MjooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtKOigpPT5TLEs6KCk9PnB9KTt2YXIgcj10KDIyMTkwOCksbz10KDE3MzU5NyksaT10KDkyOTU0MSksYT10KDM4Mjc3OCkscz10KDc1NTk5MiksdT1yLlJKLGM9IjIuOC45IixsPSIuIisoMCxzLnBaKSg2KSxIPTA7ZnVuY3Rpb24gZChlKXtyZXR1cm4gMT09PWVbby54dl18fDk9PT1lW28ueHZdfHwhK2Vbby54dl19ZnVuY3Rpb24gZihlLG4pe3ZhciB0PW5bZS5pZF07aWYoIXQpe3Q9e307dHJ5e2QobikmJihmdW5jdGlvbihlLG4sdCl7aWYodSl0cnl7cmV0dXJuIHUoZSxuLHt2YWx1ZTp0LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksITB9Y2F0Y2goZSl7fXJldHVybiExfShuLGUuaWQsdCl8fChuW2UuaWRdPXQpKX1jYXRjaChlKXt9fXJldHVybiB0fWZ1bmN0aW9uIFMoZSxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49ITEpLCgwLGkuR2YpKGUrSCsrKyhuPyIuMi44LjkiOmEucVMpK2wpfWZ1bmN0aW9uIHAoZSl7dmFyIG49e2lkOlMoIl9haURhdGEtIisoZXx8YS5xUykrIi4iK2MpLGFjY2VwdDpmdW5jdGlvbihlKXtyZXR1cm4gZChlKX0sZ2V0OmZ1bmN0aW9uKGUsdCxyLG8pe3ZhciBhPWVbbi5pZF07cmV0dXJuIGE/YVsoMCxpLkdmKSh0KV06KG8mJigoYT1mKG4sZSkpWygwLGkuR2YpKHQpXT1yKSxyKX0sa2lsbDpmdW5jdGlvbihlLG4pe2lmKGUmJmVbbl0pdHJ5e2RlbGV0ZSBlW25dfWNhdGNoKGUpe319fTtyZXR1cm4gbn19LDI5MjM5OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2o6KCk9PmMscDooKT0+bH0pO3ZhciByLG89dCgxNzM1OTcpLGk9dCg4MDMxNDUpLGE9WyJldmVudHNTZW50IiwiZXZlbnRzRGlzY2FyZGVkIiwiZXZlbnRzU2VuZFJlcXVlc3QiLCJwZXJmRXZlbnQiXSxzPW51bGw7ZnVuY3Rpb24gdShlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cyxyPWMobik7aWYocil7dmFyIGk9ci5saXN0ZW5lcjtpJiZpW2VdJiZpW2VdW28uWlZdKGksdCl9fX1mdW5jdGlvbiBjKGUpe3ZhciBuLHQ9cztyZXR1cm4gdHx8ITA9PT1lLmRpc2FibGVEYmdFeHR8fCh0PXN8fCgobj0oMCxpLmE4KSgiTWljcm9zb2Z0IikpJiYocz1uLkFwcGxpY2F0aW9uSW5zaWdodHMpLHMpKSx0P3QuQ2hyb21lRGJnRXh0Om51bGx9ZnVuY3Rpb24gbChlKXtpZighcil7cj17fTtmb3IodmFyIG49MDtuPGFbby5SNV07bisrKXJbYVtuXV09dShhW25dLGUpfXJldHVybiByfX0sNjYyMzcyOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2xROigpPT5ILHZIOigpPT5kLEFROigpPT5mLGtQOigpPT5wLGpWOigpPT5DfSk7dmFyIHI9dCg5MjM4MDYpLG89dCgxNzM1OTcpLGk9dCgyOTIzOSksYT10KDgwMzE0NSkscz10KDkyOTU0MSksdT10KDM4Mjc3OCk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZT8nIicrZVtvLmk3XSgvXCIvZyx1LnFTKSsnIic6dS5xU31mdW5jdGlvbiBsKGUsbil7dmFyIHQ9KDAsYS5kcikoKTtpZih0KXt2YXIgcj0ibG9nIjt0W2VdJiYocj1lKSwoMCxzLm1mKSh0W3JdKSYmdFtyXShuKX19dmFyIEg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsbix0LHIpe3ZvaWQgMD09PXQmJih0PSExKTt2YXIgaT10aGlzO2lbby5HY109ZSxpW28uZ1VdPSh0PyJBSTogIjoiQUkgKEludGVybmFsKTogIikrZTt2YXIgcz11LnFTOygwLGEublMpKCkmJihzPSgwLGEueEEpKCkuc3RyaW5naWZ5KHIpKTt2YXIgbD0obj8iIG1lc3NhZ2U6IitjKG4pOnUucVMpKyhyPyIgcHJvcHM6IitjKHMpOnUucVMpO2lbby5nVV0rPWx9cmV0dXJuIGUuZGF0YVR5cGU9Ik1lc3NhZ2VEYXRhIixlfSgpO2Z1bmN0aW9uIGQoZSxuKXtyZXR1cm4oZXx8e30pW28uZVpdfHxuZXcgZihuKX12YXIgZj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobil7dGhpcy5pZGVudGlmaWVyPSJEaWFnbm9zdGljTG9nZ2VyIix0aGlzLnF1ZXVlPVtdO3ZhciB0LGMsZCxmLFM9MCxwPXt9OygwLHIuWikoZSx0aGlzLChmdW5jdGlvbihlKXtmdW5jdGlvbiByKG4sdCl7aWYoIShTPj1kKSl7dmFyIHI9ITAsaT0iQUlUUl8iK3Rbby5HY107aWYocFtpXT9yPSExOnBbaV09ITAsciYmKG48PWMmJihlLnF1ZXVlW28uTVddKHQpLFMrKyxDKDE9PT1uPyJlcnJvciI6Indhcm4iLHQpKSxTPT09ZCkpe3ZhciBhPSJJbnRlcm5hbCBldmVudHMgdGhyb3R0bGUgbGltaXQgcGVyIFBhZ2VWaWV3IHJlYWNoZWQgZm9yIHRoaXMgYXBwLiIscz1uZXcgSCgyMyxhLCExKTtlLnF1ZXVlW28uTVddKHMpLDE9PT1uP2VbdS55c10oYSk6ZVt1LmNMXShhKX19fWZ1bmN0aW9uIEMoZSx0KXt2YXIgcj0oMCxpLmopKG58fHt9KTtyJiZyW28ubWNdJiZyW28ubWNdKGUsdCl9IWZ1bmN0aW9uKGUpe3Q9KDAscy52NCkoZS5sb2dnaW5nTGV2ZWxDb25zb2xlLDApLGM9KDAscy52NCkoZS5sb2dnaW5nTGV2ZWxUZWxlbWV0cnksMSksZD0oMCxzLnY0KShlLm1heE1lc3NhZ2VMaW1pdCwyNSksZj0oMCxzLnY0KShlW28uRnJdLCExKX0obnx8e30pLGUuY29uc29sZUxvZ2dpbmdMZXZlbD1mdW5jdGlvbigpe3JldHVybiB0fSxlLnRlbGVtZXRyeUxvZ2dpbmdMZXZlbD1mdW5jdGlvbigpe3JldHVybiBjfSxlLm1heEludGVybmFsTWVzc2FnZUxpbWl0PWZ1bmN0aW9uKCl7cmV0dXJuIGR9LGVbby5Gcl09ZnVuY3Rpb24oKXtyZXR1cm4gZn0sZS50aHJvd0ludGVybmFsPWZ1bmN0aW9uKG4saSxjLGwsZCl7dm9pZCAwPT09ZCYmKGQ9ITEpO3ZhciBTPW5ldyBIKGksYyxkLGwpO2lmKGYpdGhyb3coMCxhLmVVKShTKTt2YXIgQT0xPT09bj91LnlzOnUuY0w7aWYoKDAscy5vOCkoU1tvLmdVXSkpQygidGhyb3ciKygxPT09bj8iQ3JpdGljYWwiOiJXYXJuaW5nIiksUyk7ZWxzZXtpZihkKXt2YXIgST0rU1tvLkdjXTshcFtJXSYmdD49biYmKGVbQV0oU1tvLmdVXSkscFtJXT0hMCl9ZWxzZSB0Pj1uJiZlW0FdKFNbby5nVV0pO3IobixTKX19LGVbdS5jTF09ZnVuY3Rpb24oZSl7bCgid2FybiIsZSksQygid2FybmluZyIsZSl9LGVbdS55c109ZnVuY3Rpb24oZSl7bCgiZXJyb3IiLGUpLEMoImVycm9yIixlKX0sZS5yZXNldEludGVybmFsTWVzc2FnZUNvdW50PWZ1bmN0aW9uKCl7Uz0wLHA9e319LGVbby5qa109cn0pKX1yZXR1cm4gZS5fX2llRHluPTEsZX0oKTtmdW5jdGlvbiBTKGUpe3JldHVybiBlfHxuZXcgZn1mdW5jdGlvbiBwKGUsbix0LHIsbyxpKXt2b2lkIDA9PT1pJiYoaT0hMSksUyhlKS50aHJvd0ludGVybmFsKG4sdCxyLG8saSl9ZnVuY3Rpb24gQyhlLG4pe1MoZSlbdS5jTF0obil9fSw4MDMxNDU6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7YTg6KCk9PlIsSmo6KCk9PnYsTnY6KCk9Pm0sTWU6KCk9PlUsalc6KCk9PmcsayQ6KCk9PkssZHI6KCk9PnkscjooKT0+dyxuUzooKT0+Yix4QTooKT0+RSxNWDooKT0+TyxnejooKT0+ayxiJDooKT0+eCx3MTooKT0+VCxlVTooKT0+UCxNRjooKT0+RCxKTzooKT0+TCxjcDooKT0+TSxaMzooKT0+Qn0pO3ZhciByPXQoMjIxOTA4KSxvPXQoODI2NDU0KSxpPXQoMTczNTk3KSxhPXQoOTI5NTQxKSxzPXQoMzgyNzc4KSx1PSJ3aW5kb3ciLGM9IkpTT04iLGw9Im1zaWUiLEg9InRyaWRlbnQvIixkPSJYTUxIdHRwUmVxdWVzdCIsZj1udWxsLFM9bnVsbCxwPSExLEM9bnVsbCxBPW51bGw7ZnVuY3Rpb24gSShlLG4pe3ZhciB0PSExO2lmKGUpe3RyeXtpZighKHQ9biBpbiBlKSl7dmFyIG89ZVtyLmhCXTtvJiYodD1uIGluIG8pfX1jYXRjaChlKXt9aWYoIXQpdHJ5e3ZhciBpPW5ldyBlO3Q9ISgwLGEubzgpKGlbbl0pfWNhdGNoKGUpe319cmV0dXJuIHR9ZnVuY3Rpb24gUihlKXt2YXIgbj0oMCxvLlJkKSgpO3JldHVybiBuJiZuW2VdP25bZV06ZT09PXUmJmgoKT93aW5kb3c6bnVsbH1mdW5jdGlvbiBoKCl7cmV0dXJuIEJvb2xlYW4odHlwZW9mIHdpbmRvdz09PXIuZksmJndpbmRvdyl9ZnVuY3Rpb24gdigpe3JldHVybiBoKCk/d2luZG93OlIodSl9ZnVuY3Rpb24gbSgpe3JldHVybiBCb29sZWFuKHR5cGVvZiBkb2N1bWVudD09PXIuZksmJmRvY3VtZW50KX1mdW5jdGlvbiBVKCl7cmV0dXJuIG0oKT9kb2N1bWVudDpSKCJkb2N1bWVudCIpfWZ1bmN0aW9uIE4oKXtyZXR1cm4gQm9vbGVhbih0eXBlb2YgbmF2aWdhdG9yPT09ci5mSyYmbmF2aWdhdG9yKX1mdW5jdGlvbiBnKCl7cmV0dXJuIE4oKT9uYXZpZ2F0b3I6UigibmF2aWdhdG9yIil9ZnVuY3Rpb24gSyhlKXtpZihlJiZwKXt2YXIgbj1SKCJfX21vY2tMb2NhdGlvbiIpO2lmKG4pcmV0dXJuIG59cmV0dXJuIHR5cGVvZiBsb2NhdGlvbj09PXIuZksmJmxvY2F0aW9uP2xvY2F0aW9uOlIoImxvY2F0aW9uIil9ZnVuY3Rpb24geSgpe3JldHVybiB0eXBlb2YgY29uc29sZSE9PXIuakE/Y29uc29sZTpSKCJjb25zb2xlIil9ZnVuY3Rpb24gdygpe3JldHVybiBSKCJwZXJmb3JtYW5jZSIpfWZ1bmN0aW9uIGIoKXtyZXR1cm4gQm9vbGVhbih0eXBlb2YgSlNPTj09PXIuZksmJkpTT058fG51bGwhPT1SKGMpKX1mdW5jdGlvbiBFKCl7cmV0dXJuIGIoKT9KU09OfHxSKGMpOm51bGx9ZnVuY3Rpb24gTygpe3JldHVybiBSKCJjcnlwdG8iKX1mdW5jdGlvbiBrKCl7cmV0dXJuIFIoIm1zQ3J5cHRvIil9ZnVuY3Rpb24geCgpe3ZhciBlPWcoKTtyZXR1cm4hKCFlfHwhZS5wcm9kdWN0KSYmIlJlYWN0TmF0aXZlIj09PWUucHJvZHVjdH1mdW5jdGlvbiBUKCl7dmFyIGU9ZygpO2lmKGUmJihlW2kucVZdIT09U3x8bnVsbD09PWYpKXt2YXIgbj0oKFM9ZVtpLnFWXSl8fHMucVMpW2kuVDFdKCk7Zj0oMCxhLl9RKShuLGwpfHwoMCxhLl9RKShuLEgpfXJldHVybiBmfWZ1bmN0aW9uIFAoZSl7dmFyIG49T2JqZWN0W3IuaEJdLnRvU3RyaW5nW2kuX1NdKGUpLHQ9cy5xUztyZXR1cm4iW29iamVjdCBFcnJvcl0iPT09bj90PSJ7IHN0YWNrOiAnIitlLnN0YWNrKyInLCBtZXNzYWdlOiAnIitlLm1lc3NhZ2UrIicsIG5hbWU6ICciK2VbaS5JXSsiJyI6YigpJiYodD1FKCkuc3RyaW5naWZ5KGUpKSxuK3R9ZnVuY3Rpb24gRCgpe3JldHVybiBudWxsPT09QSYmKEE9TigpJiZCb29sZWFuKGcoKS5zZW5kQmVhY29uKSksQX1mdW5jdGlvbiBMKGUpe3ZhciBuPSExO3RyeXtuPSEhUigiZmV0Y2giKTt2YXIgdD1SKCJSZXF1ZXN0Iik7biYmZSYmdCYmKG49SSh0LCJrZWVwYWxpdmUiKSl9Y2F0Y2goZSl7fXJldHVybiBufWZ1bmN0aW9uIE0oKXtyZXR1cm4gbnVsbD09PUMmJihDPXR5cGVvZiBYRG9tYWluUmVxdWVzdCE9PXIuakEpJiZCKCkmJihDPUMmJiFJKFIoZCksIndpdGhDcmVkZW50aWFscyIpKSxDfWZ1bmN0aW9uIEIoKXt2YXIgZT0hMTt0cnl7ZT0hIVIoZCl9Y2F0Y2goZSl7fXJldHVybiBlfX0sNzA2MDM4OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2pVOigpPT5LLHBaOigpPT5iLHBEOigpPT5FLEliOigpPT5PLGM5OigpPT5ULEpBOigpPT5QLFRKOigpPT5ELEM5OigpPT5MLG5EOigpPT5NLFlsOigpPT5CfSk7dmFyIHI9dCgxNzM1OTcpLG89dCgyMzU2MiksaT10KDgwMzE0NSksYT10KDkyOTU0MSkscz10KDM4Mjc3OCksdT0iZXZlbnRzIixjPSJ2aXNpYmlsaXR5Y2hhbmdlIixsPSJwYWdlaGlkZSIsSD0icGFnZXNob3ciLGQ9InVubG9hZCIsZj0iYmVmb3JldW5sb2FkIixTPSgwLG8uSikoImFpRXZ0UGFnZUhpZGUiKSxwPSgwLG8uSikoImFpRXZ0UGFnZVNob3ciKSxDPS9cLltcLl0rL2csQT0vW1wuXSskLyxJPTEsUj0oMCxvLkspKCJldmVudHMiKSxoPS9eKFteLl0qKSg/OlwuKC4rKXwpLztmdW5jdGlvbiB2KGUpe3JldHVybiBlJiZlW3IuaTddP2Vbci5pN10oL15bXHNcLl0rfCg/PVtcc1wuXSlbXC5cc10rJC9nLHMucVMpOmV9ZnVuY3Rpb24gbShlLG4pe3ZhciB0O2lmKG4pe3ZhciBvPXMucVM7KDAsYS5rSikobik/KG89cy5xUywoMCxhLnRPKShuLChmdW5jdGlvbihlKXsoZT12KGUpKSYmKCIuIiE9PWVbMF0mJihlPSIuIitlKSxvKz1lKX0pKSk6bz12KG4pLG8mJigiLiIhPT1vWzBdJiYobz0iLiIrbyksZT0oZXx8cy5xUykrbyl9dmFyIGk9aC5leGVjKGV8fHMucVMpfHxbXTtyZXR1cm4odD17fSlbci5QNl09aVsxXSx0Lm5zPShpWzJdfHxzLnFTKS5yZXBsYWNlKEMsIi4iKS5yZXBsYWNlKEEscy5xUylbci53Nl0oIi4iKS5zb3J0KCkuam9pbigiLiIpLHR9ZnVuY3Rpb24gVShlLG4sdCl7dm9pZCAwPT09dCYmKHQ9ITApO3ZhciByPVIuZ2V0KGUsdSx7fSx0KSxvPXJbbl07cmV0dXJuIG98fChvPXJbbl09W10pLG99ZnVuY3Rpb24gTihlLG4sdCxvKXtlJiZuJiZuW3IuUDZdJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyP2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihuW3IuUDZdLHQsbyk6ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK25bci5QNl0sdCkpfWZ1bmN0aW9uIGcoZSxuLHQsbyl7Zm9yKHZhciBpPW5bci5SNV07aS0tOyl7dmFyIGE9bltpXTthJiYodC5ucyYmdC5ucyE9PWEuZXZ0TmFtZS5uc3x8byYmIW8oYSl8fChOKGUsYS5ldnROYW1lLGFbci5Lbl0sYS5jYXB0dXJlKSxuW3IuY2JdKGksMSkpKX19ZnVuY3Rpb24gSyhlLG4pe3JldHVybiBuP20oInh4IiwoMCxhLmtKKShuKT9bZV0uY29uY2F0KG4pOltlLG5dKS5uc1tyLnc2XSgiLiIpOmV9ZnVuY3Rpb24geShlLG4sdCxvLGkpe3ZhciBhO3ZvaWQgMD09PWkmJihpPSExKTt2YXIgcz0hMTtpZihlKXRyeXt2YXIgdT1tKG4sbyk7aWYocz1mdW5jdGlvbihlLG4sdCxvKXt2YXIgaT0hMTtyZXR1cm4gZSYmbiYmbltyLlA2XSYmdCYmKGUuYWRkRXZlbnRMaXN0ZW5lcj8oZS5hZGRFdmVudExpc3RlbmVyKG5bci5QNl0sdCxvKSxpPSEwKTplLmF0dGFjaEV2ZW50JiYoZS5hdHRhY2hFdmVudCgib24iK25bci5QNl0sdCksaT0hMCkpLGl9KGUsdSx0LGkpLHMmJlIuYWNjZXB0KGUpKXt2YXIgYz0oKGE9e2d1aWQ6SSsrLGV2dE5hbWU6dX0pW3IuS25dPXQsYS5jYXB0dXJlPWksYSk7VShlLHUudHlwZSlbci5NV10oYyl9fWNhdGNoKGUpe31yZXR1cm4gc31mdW5jdGlvbiB3KGUsbix0LG8saSl7aWYodm9pZCAwPT09aSYmKGk9ITEpLGUpdHJ5e3ZhciBzPW0obixvKSxjPSExOyFmdW5jdGlvbihlLG4sdCl7aWYobltyLlA2XSlnKGUsVShlLG5bci5QNl0pLG4sdCk7ZWxzZXt2YXIgbz1SLmdldChlLHUse30pOygwLGEuclcpKG8sKGZ1bmN0aW9uKHIsbyl7ZyhlLG8sbix0KX0pKSwwPT09KDAsYS5GWSkobylbci5SNV0mJlIua2lsbChlLHUpfX0oZSxzLChmdW5jdGlvbihlKXtyZXR1cm4hKCghcy5uc3x8dCkmJmVbci5Lbl0hPT10KSYmKGM9ITAsITApfSkpLGN8fE4oZSxzLHQsaSl9Y2F0Y2goZSl7fX1mdW5jdGlvbiBiKGUsbix0LHIpe3JldHVybiB2b2lkIDA9PT1yJiYocj0hMSkseShlLG4sdCxudWxsLHIpfWZ1bmN0aW9uIEUoZSxuLHQscil7dm9pZCAwPT09ciYmKHI9ITEpLHcoZSxuLHQsbnVsbCxyKX1mdW5jdGlvbiBPKGUsbix0KXt2YXIgcj0hMSxvPSgwLGkuSmopKCk7byYmKHI9eShvLGUsbix0KSxyPXkoby5ib2R5LGUsbix0KXx8cik7dmFyIGE9KDAsaS5NZSkoKTtyZXR1cm4gYSYmKHI9eShhLGUsbix0KXx8cikscn1mdW5jdGlvbiBrKGUsbix0LG8pe3ZhciBpPSExO3JldHVybiBuJiZlJiZlW3IuUjVdPjAmJigwLGEudE8pKGUsKGZ1bmN0aW9uKGUpe2UmJih0JiYtMSE9PSgwLGEuVUEpKHQsZSl8fChpPU8oZSxuLG8pfHxpKSl9KSksaX1mdW5jdGlvbiB4KGUsbix0KXtlJiYoMCxhLmtKKShlKSYmKDAsYS50TykoZSwoZnVuY3Rpb24oZSl7ZSYmZnVuY3Rpb24oZSxuLHQpe3ZhciByPSgwLGkuSmopKCk7ciYmKHcocixlLG4sdCksdyhyLmJvZHksZSxuLHQpKTt2YXIgbz0oMCxpLk1lKSgpO28mJncobyxlLG4sdCl9KGUsbix0KX0pKX1mdW5jdGlvbiBUKGUsbix0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHQsbyl7dmFyIGk9ITE7cmV0dXJuIG4mJmUmJigwLGEua0opKGUpJiYhKGk9ayhlLG4sdCxvKSkmJnQmJnRbci5SNV0+MCYmKGk9ayhlLG4sbnVsbCxvKSksaX0oW2YsZCxsXSxlLG4sdCl9ZnVuY3Rpb24gUChlLG4pe3goW2YsZCxsXSxlLG4pfWZ1bmN0aW9uIEQoZSxuLHQpe3ZhciByPUsoUyx0KSxvPWsoW2xdLGUsbixyKTtyZXR1cm4gbiYmLTEhPT0oMCxhLlVBKShuLGMpfHwobz1rKFtjXSwoZnVuY3Rpb24obil7dmFyIHQ9KDAsaS5NZSkoKTtlJiZ0JiYiaGlkZGVuIj09PXQudmlzaWJpbGl0eVN0YXRlJiZlKG4pfSksbixyKXx8byksIW8mJm4mJihvPUQoZSxudWxsLHQpKSxvfWZ1bmN0aW9uIEwoZSxuKXt2YXIgdD1LKFMsbik7eChbbF0sZSx0KSx4KFtjXSxudWxsLHQpfWZ1bmN0aW9uIE0oZSxuLHQpe3ZhciByPUsocCx0KSxvPWsoW0hdLGUsbixyKTtyZXR1cm4hKG89ayhbY10sKGZ1bmN0aW9uKG4pe3ZhciB0PSgwLGkuTWUpKCk7ZSYmdCYmInZpc2libGUiPT09dC52aXNpYmlsaXR5U3RhdGUmJmUobil9KSxuLHIpfHxvKSYmbiYmKG89TShlLG51bGwsdCkpLG99ZnVuY3Rpb24gQihlLG4pe3ZhciB0PUsocCxuKTt4KFtIXSxlLHQpLHgoW2NdLG51bGwsdCl9fSw5Mjk1NDE6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WW06KCk9Pk4sbzg6KCk9PmcsbGU6KCk9PkssQlg6KCk9PnksbnI6KCk9PncsS246KCk9PmIsbWY6KCk9PkUsR2Y6KCk9Pk8sclc6KCk9PmssSWQ6KCk9PngseGU6KCk9PlQsX1E6KCk9PlAsSl86KCk9PkQsa0o6KCk9PkwsVlo6KCk9Pk0sSEQ6KCk9PkIsaGo6KCk9Plcsam46KCk9PkYsWTY6KCk9PlYsdE86KCk9PlosVUE6KCk9PnosTXI6KCk9PnEsWHo6KCk9PlgsbmQ6KCk9PlksRlk6KCk9PkcsbF86KCk9Pl8sX0E6KCk9PmVlLEZMOigpPT5uZSxtNjooKT0+dGUsamo6KCk9PnJlLHNPOigpPT5vZSxxSzooKT0+aWUsdjQ6KCk9PmFlLGZROigpPT5zZSxfeTooKT0+dWUsT2k6KCk9PmxlLFZiOigpPT5IZSxBeDooKT0+ZGUsbW06KCk9PmZlfSk7dmFyIHI9dCgyMjE5MDgpLG89dCg4MjY0NTQpLGk9dCgxNzM1OTcpLGE9dCgzODI3NzgpLHM9ImNvbnN0cnVjdG9yIix1PXIuUkosYz1yLlB3LmZyZWV6ZSxsPShyLlB3LnNlYWwsci5Qdy5rZXlzKSxIPVN0cmluZ1tyLmhCXSxkPUgudHJpbSxmPUguZW5kc1dpdGgsUz1ILnN0YXJ0c1dpdGgscD1EYXRlW3IuaEJdLnRvSVNPU3RyaW5nLEM9QXJyYXkuaXNBcnJheSxBPXIuVjQudG9TdHJpbmcsST1yLkNZLnRvU3RyaW5nLFI9SVtpLl9TXShyLlB3KSxoPS8tKFthLXpdKS9nLHY9LyhbXlx3XGRfJF0pL2csbT0vXihcZCtbXHdcZF8kXSkvLFU9T2JqZWN0LmdldFByb3RvdHlwZU9mO2Z1bmN0aW9uIE4oZSxuKXtyZXR1cm4gdHlwZW9mIGU9PT1ufWZ1bmN0aW9uIGcoZSl7cmV0dXJuIHZvaWQgMD09PWV8fHR5cGVvZiBlPT09ci5qQX1mdW5jdGlvbiBLKGUpe3JldHVybiBudWxsPT09ZXx8ZyhlKX1mdW5jdGlvbiB5KGUpe3JldHVybiFLKGUpfWZ1bmN0aW9uIHcoZSxuKXtyZXR1cm4hKCFlfHwhci5DWVtpLl9TXShlLG4pKX1mdW5jdGlvbiBiKGUpe3JldHVybiEoIWV8fHR5cGVvZiBlIT09ci5mSyl9ZnVuY3Rpb24gRShlKXtyZXR1cm4hKCFlfHx0eXBlb2YgZSE9PXIuY2IpfWZ1bmN0aW9uIE8oZSl7dmFyIG49ZTtyZXR1cm4gbiYmQihuKSYmKG49KG49KG49bltpLmk3XShoLChmdW5jdGlvbihlLG4pe3JldHVybiBuLnRvVXBwZXJDYXNlKCl9KSkpW2kuaTddKHYsIl8iKSlbaS5pN10obSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4iXyIrbn0pKSksbn1mdW5jdGlvbiBrKGUsbil7aWYoZSlmb3IodmFyIHQgaW4gZSlyLkNZW2kuX1NdKGUsdCkmJm5baS5fU10oZSx0LGVbdF0pfWZ1bmN0aW9uIHgoZSxuKXt2YXIgdD0hMTtyZXR1cm4gZSYmbiYmISh0PWU9PT1uKSYmKHQ9Zj9lLmVuZHNXaXRoKG4pOmZ1bmN0aW9uKGUsbil7dmFyIHQ9ITEscj1uP25baS5SNV06MCxvPWU/ZVtpLlI1XTowO2lmKHImJm8mJm8+PXImJiEodD1lPT09bikpe2Zvcih2YXIgYT1vLTEscz1yLTE7cz49MDtzLS0pe2lmKGVbYV0hPW5bc10pcmV0dXJuITE7YS0tfXQ9ITB9cmV0dXJuIHR9KGUsbikpLHR9ZnVuY3Rpb24gVChlLG4pe3ZhciB0PSExO3JldHVybiBlJiZuJiYhKHQ9ZT09PW4pJiYodD1TP2Uuc3RhcnRzV2l0aChuKTpmdW5jdGlvbihlLG4pe3ZhciB0PSExLHI9bj9uW2kuUjVdOjA7aWYoZSYmciYmZVtpLlI1XT49ciYmISh0PWU9PT1uKSl7Zm9yKHZhciBvPTA7bzxyO28rKylpZihlW29dIT09bltvXSlyZXR1cm4hMTt0PSEwfXJldHVybiB0fShlLG4pKSx0fWZ1bmN0aW9uIFAoZSxuKXtyZXR1cm4hKCFlfHwhbikmJi0xIT09ZVtpLm91XShuKX1mdW5jdGlvbiBEKGUpe3JldHVybiEoIWV8fCJbb2JqZWN0IERhdGVdIiE9PUFbaS5fU10oZSkpfXZhciBMPUN8fGZ1bmN0aW9uKGUpe3JldHVybiEoIWV8fCJbb2JqZWN0IEFycmF5XSIhPT1BW2kuX1NdKGUpKX07ZnVuY3Rpb24gTShlKXtyZXR1cm4hKCFlfHwiW29iamVjdCBFcnJvcl0iIT09QVtpLl9TXShlKSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9ZnVuY3Rpb24gVyhlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV9ZnVuY3Rpb24gRihlKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBlfWZ1bmN0aW9uIGooZSl7dmFyIG49ITE7aWYoZSYmIm9iamVjdCI9PXR5cGVvZiBlKXt2YXIgdD1VP1UoZSk6ZnVuY3Rpb24oZSl7aWYoZSl7aWYoVSlyZXR1cm4gVShlKTt2YXIgbj1lLl9fcHJvdG9fX3x8ZVtyLmhCXXx8ZS5jb25zdHJ1Y3RvcjtpZihuKXJldHVybiBufXJldHVybiBudWxsfShlKTt0Pyh0LmNvbnN0cnVjdG9yJiZyLkNZW2kuX1NdKHQscykmJih0PXQuY29uc3RydWN0b3IpLG49dHlwZW9mIHQ9PT1yLmNiJiZJW2kuX1NdKHQpPT09Uik6bj0hMH1yZXR1cm4gbn1mdW5jdGlvbiBWKGUpe2lmKGUpcmV0dXJuIHA/ZS50b0lTT1N0cmluZygpOmZ1bmN0aW9uKGUpe2lmKGUmJmUuZ2V0VVRDRnVsbFllYXIpe3ZhciBuPWZ1bmN0aW9uKGUpe3ZhciBuPVN0cmluZyhlKTtyZXR1cm4gMT09PW5baS5SNV0mJihuPSIwIituKSxufTtyZXR1cm4gZS5nZXRVVENGdWxsWWVhcigpKyItIituKGUuZ2V0VVRDTW9udGgoKSsxKSsiLSIrbihlLmdldFVUQ0RhdGUoKSkrIlQiK24oZS5nZXRVVENIb3VycygpKSsiOiIrbihlLmdldFVUQ01pbnV0ZXMoKSkrIjoiK24oZS5nZXRVVENTZWNvbmRzKCkpKyIuIitTdHJpbmcoKGUuZ2V0VVRDTWlsbGlzZWNvbmRzKCkvMWUzKS50b0ZpeGVkKDMpKS5zbGljZSgyLDUpKyJaIn19KGUpfWZ1bmN0aW9uIFooZSxuLHQpe3ZhciByPWVbaS5SNV07dHJ5e2Zvcih2YXIgbz0wO288ciYmKCEobyBpbiBlKXx8LTEhPT1uW2kuX1NdKHR8fGUsZVtvXSxvLGUpKTtvKyspO31jYXRjaChlKXt9fWZ1bmN0aW9uIHooZSxuLHQpe2lmKGUpe2lmKGUuaW5kZXhPZilyZXR1cm4gZS5pbmRleE9mKG4sdCk7dmFyIHI9ZVtpLlI1XSxvPXR8fDA7dHJ5e2Zvcih2YXIgYT1NYXRoLm1heChvPj0wP286ci1NYXRoLmFicyhvKSwwKTthPHI7YSsrKWlmKGEgaW4gZSYmZVthXT09PW4pcmV0dXJuIGF9Y2F0Y2goZSl7fX1yZXR1cm4tMX1mdW5jdGlvbiBxKGUsbix0KXt2YXIgcjtpZihlKXtpZihlLm1hcClyZXR1cm4gZS5tYXAobix0KTt2YXIgbz1lW2kuUjVdLGE9dHx8ZTtyPW5ldyBBcnJheShvKTt0cnl7Zm9yKHZhciBzPTA7czxvO3MrKylzIGluIGUmJihyW3NdPW5baS5fU10oYSxlW3NdLGUpKX1jYXRjaChlKXt9fXJldHVybiByfWZ1bmN0aW9uIFgoZSxuLHQpe3ZhciByO2lmKGUpe2lmKGUucmVkdWNlKXJldHVybiBlLnJlZHVjZShuLHQpO3ZhciBvPWVbaS5SNV0sYT0wO2lmKGFyZ3VtZW50c1tpLlI1XT49MylyPWFyZ3VtZW50c1syXTtlbHNle2Zvcig7YTxvJiYhKGEgaW4gZSk7KWErKztyPWVbYSsrXX1mb3IoO2E8bzspYSBpbiBlJiYocj1uKHIsZVthXSxhLGUpKSxhKyt9cmV0dXJuIHJ9ZnVuY3Rpb24gWShlKXtyZXR1cm4gZSYmKGU9ZCYmZS50cmltP2UudHJpbSgpOmVbaS5pN10/ZVtpLmk3XSgvXlxzK3woPz1ccylccyskL2csYS5xUyk6ZSksZX12YXIgSj0he3RvU3RyaW5nOm51bGx9LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0b1N0cmluZyIpLFE9WyJ0b1N0cmluZyIsInRvTG9jYWxlU3RyaW5nIiwidmFsdWVPZiIsImhhc093blByb3BlcnR5IiwiaXNQcm90b3R5cGVPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiY29uc3RydWN0b3IiXTtmdW5jdGlvbiBHKGUpe3ZhciBuPXR5cGVvZiBlO2lmKG49PT1yLmNifHxuPT09ci5mSyYmbnVsbCE9PWV8fCgwLG8uWlUpKCJvYmpLZXlzIGNhbGxlZCBvbiBub24tb2JqZWN0IiksIUomJmwpcmV0dXJuIGwoZSk7dmFyIHQ9W107Zm9yKHZhciBhIGluIGUpZSYmci5DWVtpLl9TXShlLGEpJiZ0W2kuTVddKGEpO2lmKEopZm9yKHZhciBzPVFbaS5SNV0sdT0wO3U8czt1KyspZSYmci5DWVtpLl9TXShlLFFbdV0pJiZ0W2kuTVddKFFbdV0pO3JldHVybiB0fWZ1bmN0aW9uIF8oZSxuLHQscil7aWYodSl0cnl7dmFyIG89e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfTtyZXR1cm4gdCYmKG8uZ2V0PXQpLHImJihvLnNldD1yKSx1KGUsbixvKSwhMH1jYXRjaChlKXt9cmV0dXJuITF9ZnVuY3Rpb24gJChlKXtyZXR1cm4gZX1mdW5jdGlvbiBlZShlKXtyZXR1cm4gYyYmayhlLChmdW5jdGlvbihlLG4peyhMKG4pfHxiKG4pKSYmYyhuKX0pKSxuZShlKX12YXIgbmU9Y3x8JDtmdW5jdGlvbiB0ZSgpe3ZhciBlPURhdGU7cmV0dXJuIGUubm93P2Uubm93KCk6KG5ldyBlKS5nZXRUaW1lKCl9ZnVuY3Rpb24gcmUoZSl7cmV0dXJuIE0oZSk/ZVtpLkldOmEucVN9ZnVuY3Rpb24gb2UoZSxuLHQscixvKXt2YXIgaT10O3JldHVybiBlJiYoKGk9ZVtuXSk9PT10fHxvJiYhbyhpKXx8ciYmIXIodCl8fChpPXQsZVtuXT1pKSksaX1mdW5jdGlvbiBpZShlLG4sdCl7dmFyIHI7cmV0dXJuIGU/IShyPWVbbl0pJiZLKHIpJiYocj1nKHQpP3t9OnQsZVtuXT1yKTpyPWcodCk/e306dCxyfWZ1bmN0aW9uIGFlKGUsbil7cmV0dXJuIEsoZSk/bjplfWZ1bmN0aW9uIHNlKGUpe3JldHVybiEhZX1mdW5jdGlvbiB1ZShlKXt0aHJvdyBuZXcgRXJyb3IoZSl9ZnVuY3Rpb24gY2UoZSxuKXt2YXIgdD1udWxsLHI9bnVsbDtyZXR1cm4gRShlKT90PWU6cj1lLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzO2lmKHQmJihyPXQoKSkscilyZXR1cm4gcltuXVtpLlpWXShyLGUpfX1mdW5jdGlvbiBsZShlLG4sdCxyLG8pe2UmJm4mJnQmJighMSE9PW98fGcoZVtuXSkpJiYoZVtuXT1jZSh0LHIpKX1mdW5jdGlvbiBIZShlLG4sdCxyKXtyZXR1cm4gZSYmbiYmYihlKSYmTCh0KSYmWih0LChmdW5jdGlvbih0KXtCKHQpJiZsZShlLHQsbix0LHIpfSkpLGV9ZnVuY3Rpb24gZGUoZSl7cmV0dXJuIGUmJnIucmwmJihlPSgwLHIuUHcpKCgwLHIucmwpKHt9LGUpKSksZX1mdW5jdGlvbiBmZShlLG4sdCxvLGEscyl7dmFyIHU9YXJndW1lbnRzLGM9dVswXXx8e30sbD11W2kuUjVdLEg9ITEsZD0xO2ZvcihsPjAmJkYoYykmJihIPWMsYz11W2RdfHx7fSxkKyspLGIoYyl8fChjPXt9KTtkPGw7ZCsrKXt2YXIgZj11W2RdLFM9TChmKSxwPWIoZik7Zm9yKHZhciBDIGluIGYpe3ZhciBBPVMmJkMgaW4gZnx8cCYmci5DWVtpLl9TXShmLEMpO2lmKEEpe3ZhciBJPWZbQ10sUj12b2lkIDA7aWYoSCYmSSYmKChSPUwoSSkpfHxqKEkpKSl7dmFyIGg9Y1tDXTtSP0woaCl8fChoPVtdKTpqKGgpfHwoaD17fSksST1mZShILGgsSSl9dm9pZCAwIT09SSYmKGNbQ109SSl9fX1yZXR1cm4gY319LDM4Mjc3ODooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtxUzooKT0+cixaOigpPT5vLG9WOigpPT5pLEROOigpPT5hLG1FOigpPT5zLFpoOigpPT51LGpzOigpPT5jLGhMOigpPT5sLHlpOigpPT5ILHVDOigpPT5kLCRGOigpPT5mLGZfOigpPT5TLEMkOigpPT5wLHlzOigpPT5DLGNMOigpPT5BLGtsOigpPT5JfSk7dmFyIHI9IiIsbz0iY2hhbm5lbHMiLGk9ImNvcmUiLGE9ImNyZWF0ZVBlcmZNZ3IiLHM9ImRpc2FibGVkIix1PSJleHRlbnNpb25Db25maWciLGM9ImV4dGVuc2lvbnMiLGw9InByb2Nlc3NUZWxlbWV0cnkiLEg9InByaW9yaXR5IixkPSJldmVudHNTZW50IixmPSJldmVudHNEaXNjYXJkZWQiLFM9ImV2ZW50c1NlbmRSZXF1ZXN0IixwPSJwZXJmRXZlbnQiLEM9ImVycm9yVG9Db25zb2xlIixBPSJ3YXJuVG9Db25zb2xlIixJPSJnZXRQZXJmTWdyIn0sMzE3MTQwOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0prOigpPT5jLExtOigpPT5ILGo1OigpPT5kfSk7dmFyIHI9dCg5MjM4MDYpLG89dCgxNzM1OTcpLGk9dCg5Mjk1NDEpLGE9dCgzODI3NzgpLHM9bnVsbCx1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShuLHQscil7dmFyIGEscz10aGlzLHU9ITE7KHMuc3RhcnQ9KDAsaS5tNikoKSxzW28uSV09bixzW28uZF09cixzW28uUExdPWZ1bmN0aW9uKCl7cmV0dXJuITF9LCgwLGkubWYpKHQpKSYmKHU9KDAsaS5sXykocywicGF5bG9hZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIWEmJigwLGkubWYpKHQpJiYoYT10KCksdD1udWxsKSxhfSkpKTtzW28uVF09ZnVuY3Rpb24obil7cmV0dXJuIG4/bj09PWUuUGFyZW50Q29udGV4dEtleXx8bj09PWUuQ2hpbGRyZW5Db250ZXh0S2V5P3Nbbl06KHMuY3R4fHx7fSlbbl06bnVsbH0sc1tvLnd1XT1mdW5jdGlvbihuLHQpe2lmKG4paWYobj09PWUuUGFyZW50Q29udGV4dEtleSlzW25dfHwoc1tvLlBMXT1mdW5jdGlvbigpe3JldHVybiEwfSksc1tuXT10O2Vsc2UgaWYobj09PWUuQ2hpbGRyZW5Db250ZXh0S2V5KXNbbl09dDtlbHNleyhzLmN0eD1zLmN0eHx8e30pW25dPXR9fSxzW28uS21dPWZ1bmN0aW9uKCl7dmFyIG49MCxyPXNbby5UXShlLkNoaWxkcmVuQ29udGV4dEtleSk7aWYoKDAsaS5rSikocikpZm9yKHZhciBhPTA7YTxyW28uUjVdO2ErKyl7dmFyIGM9clthXTtjJiYobis9Y1tvLlpfXSl9c1tvLlpfXT0oMCxpLm02KSgpLXMuc3RhcnQscy5leFRpbWU9c1tvLlpfXS1uLHNbby5LbV09ZnVuY3Rpb24oKXt9LCF1JiYoMCxpLm1mKSh0KSYmKHMucGF5bG9hZD10KCkpfX1yZXR1cm4gZS5QYXJlbnRDb250ZXh0S2V5PSJwYXJlbnQiLGUuQ2hpbGRyZW5Db250ZXh0S2V5PSJjaGlsZEV2dHMiLGV9KCksYz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUobil7dGhpcy5jdHg9e30sKDAsci5aKShlLHRoaXMsKGZ1bmN0aW9uKGUpe2UuY3JlYXRlPWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gbmV3IHUoZSxuLHQpfSxlLmZpcmU9ZnVuY3Rpb24oZSl7ZSYmKGVbby5LbV0oKSxuJiYoMCxpLm1mKShuW2EuQyRdKSYmblthLkMkXShlKSl9LGVbby53dV09ZnVuY3Rpb24obix0KXtuJiYoKGUuY3R4PWUuY3R4fHx7fSlbbl09dCl9LGVbby5UXT1mdW5jdGlvbihuKXtyZXR1cm4oZS5jdHh8fHt9KVtuXX19KSl9cmV0dXJuIGUuX19pZUR5bj0xLGV9KCksbD0iQ29yZVV0aWxzLmRvUGVyZiI7ZnVuY3Rpb24gSChlLG4sdCxyLGkpe2lmKGUpe3ZhciBzPWU7aWYoc1thLmtsXSYmKHM9c1thLmtsXSgpKSxzKXt2YXIgYz12b2lkIDAsSD1zW28uVF0obCk7dHJ5e2lmKGM9cy5jcmVhdGUobigpLHIsaSkpe2lmKEgmJmNbby53dV0mJihjW28ud3VdKHUuUGFyZW50Q29udGV4dEtleSxIKSxIW28uVF0mJkhbby53dV0pKXt2YXIgZD1IW28uVF0odS5DaGlsZHJlbkNvbnRleHRLZXkpO2R8fChkPVtdLEhbby53dV0odS5DaGlsZHJlbkNvbnRleHRLZXksZCkpLGRbby5NV10oYyl9cmV0dXJuIHNbby53dV0obCxjKSx0KGMpfX1jYXRjaChlKXtjJiZjW28ud3VdJiZjW28ud3VdKCJleGNlcHRpb24iLGUpfWZpbmFsbHl7YyYmcy5maXJlKGMpLHNbby53dV0obCxIKX19fXJldHVybiB0KCl9ZnVuY3Rpb24gZCgpe3JldHVybiBzfX0sNDc2OTA1OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se0NEOigpPT5mLEJ0OigpPT5TLHh5OigpPT5wLGpWOigpPT5DfSk7dmFyIHI9dCgxNzM1OTcpLG89dCg2NjIzNzIpLGk9dCg4MDMxNDUpLGE9dCg5Mjk1NDEpLHM9dCgzODI3NzgpLHU9dCgzMTcxNDApLGM9dCg5NDk2NzApLGw9IlRlbGVtZXRyeVBsdWdpbkNoYWluIixIPTA7ZnVuY3Rpb24gZChlLG4sdCx1KXt2YXIgYz1udWxsLGw9W107bnVsbCE9PXUmJihjPXU/ZnVuY3Rpb24oZSxuLHQpe2Zvcig7ZTspe2lmKGVbci5UT10oKT09PXQpcmV0dXJuIGU7ZT1lW3IuVzJdKCl9cmV0dXJuIEMoW3RdLG5bci5UQ118fHt9LG4pfShlLHQsdSk6ZSk7dmFyIEg9e19uZXh0OmZ1bmN0aW9uKCl7dmFyIGU9YztpZihjPWU/ZVtyLlcyXSgpOm51bGwsIWUpe3ZhciBuPWw7biYmbltyLlI1XT4wJiYoKDAsYS50TykobiwoZnVuY3Rpb24oZSl7dHJ5e2UuZnVuY1tyLl9TXShlLnNlbGYsZS5hcmdzKX1jYXRjaChlKXsoMCxvLmtQKSh0W3IuZVpdLDIsNzMsIlVuZXhwZWN0ZWQgRXhjZXB0aW9uIGR1cmluZyBvbkNvbXBsZXRlIC0gIisoMCxpLmVVKShlKSl9fSkpLGw9W10pfXJldHVybiBlfSxjdHg6e2NvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZGlhZ0xvZzpmdW5jdGlvbigpe3JldHVybigwLG8udkgpKHQsbil9LGdldENmZzpmdW5jdGlvbigpe3JldHVybiBufSxnZXRFeHRDZmc6ZCxnZXRDb25maWc6ZnVuY3Rpb24oZSx0LHIpe3ZvaWQgMD09PXImJihyPSExKTt2YXIgbyxpPWQoZSxudWxsKTtpJiYhKDAsYS5sZSkoaVt0XSk/bz1pW3RdOm4mJiEoMCxhLmxlKShuW3RdKSYmKG89blt0XSk7cmV0dXJuKDAsYS5sZSkobyk/cjpvfSxoYXNOZXh0OmZ1bmN0aW9uKCl7cmV0dXJuISFjfSxnZXROZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LHNldE5leHQ6ZnVuY3Rpb24oZSl7Yz1lfSxpdGVyYXRlOmZ1bmN0aW9uKGUpe3ZhciBuO2Zvcig7bj1ILl9uZXh0KCk7KXt2YXIgdD1uW3IuVE9dKCk7dCYmZSh0KX19LG9uQ29tcGxldGU6ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHQ9W10sbz0yO288YXJndW1lbnRzLmxlbmd0aDtvKyspdFtvLTJdPWFyZ3VtZW50c1tvXTtlJiZsW3IuTVddKHtmdW5jOmUsc2VsZjooMCxhLm84KShuKT9ILmN0eDpuLGFyZ3M6dH0pfX19O2Z1bmN0aW9uIGQoZSx0LHIpe3ZhciBvO2lmKHZvaWQgMD09PXQmJih0PXt9KSx2b2lkIDA9PT1yJiYocj0wKSxuKXt2YXIgaT1uW3MuWmhdO2kmJmUmJihvPWlbZV0pfWlmKG8pe2lmKCgwLGEuS24pKHQpJiYwIT09cil7dmFyIHU9KDAsYS5tbSkoITAsdCxvKTtuJiYyPT09ciYmKDAsYS5yVykodCwoZnVuY3Rpb24oZSl7aWYoKDAsYS5sZSkodVtlXSkpe3ZhciB0PW5bZV07KDAsYS5sZSkodCl8fCh1W2VdPXQpfX0pKSxvPXV9fWVsc2Ugbz10O3JldHVybiBvfXJldHVybiBIfWZ1bmN0aW9uIGYoZSxuLHQsbyl7dmFyIGk9ZChlLG4sdCxvKSx1PWkuY3R4O3JldHVybiB1W3IudUxdPWZ1bmN0aW9uKGUpe3ZhciBuPWkuX25leHQoKTtyZXR1cm4gbiYmbltzLmhMXShlLHUpLCFufSx1W3IuelZdPWZ1bmN0aW9uKGUsbyl7cmV0dXJuIHZvaWQgMD09PWUmJihlPW51bGwpLCgwLGEua0opKGUpJiYoZT1DKGUsbix0LG8pKSxmKGV8fHVbci5XMl0oKSxuLHQsbyl9LHV9ZnVuY3Rpb24gUyhlLG4sdCl7dmFyIG89bltyLlRDXXx8e30saT1kKGUsbyxuLHQpLHM9aS5jdHg7cmV0dXJuIHNbci51TF09ZnVuY3Rpb24oZSl7dmFyIG49aS5fbmV4dCgpO3JldHVybiBuJiZuLnVubG9hZChzLGUpLCFufSxzW3IuelZdPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PWUmJihlPW51bGwpLCgwLGEua0opKGUpJiYoZT1DKGUsbyxuLHQpKSxTKGV8fHNbci5XMl0oKSxuLHQpfSxzfWZ1bmN0aW9uIHAoZSxuLHQpe3ZhciBvPW5bci5UQ118fHt9LGk9ZChlLG8sbix0KS5jdHg7cmV0dXJuIGlbci51TF09ZnVuY3Rpb24oZSl7cmV0dXJuIGkuaXRlcmF0ZSgoZnVuY3Rpb24obil7KDAsYS5tZikobltyLlR1XSkmJm5bci5UdV0oaSxlKX0pKX0saVtyLnpWXT1mdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1udWxsKSwoMCxhLmtKKShlKSYmKGU9QyhlLG8sbix0KSkscChlfHxpW3IuVzJdKCksbix0KX0saX1mdW5jdGlvbiBDKGUsbix0LGQpe3ZhciBTPW51bGwscD0hZDtpZigoMCxhLmtKKShlKSYmZVtyLlI1XT4wKXt2YXIgQT1udWxsOygwLGEudE8pKGUsKGZ1bmN0aW9uKGUpe2lmKHB8fGQhPT1lfHwocD0hMCkscCYmZSYmKDAsYS5tZikoZVtzLmhMXSkpe3ZhciBDPWZ1bmN0aW9uKGUsbix0KXt2YXIgZCxTPW51bGwscD0oMCxhLm1mKShlW3MuaExdKSxDPSgwLGEubWYpKGVbci5KZF0pO2Q9ZT9lW3IucFpdKyItIitlW3MueWldKyItIitIKys6IlVua25vd24tMC0iK0grKzt2YXIgQT17Z2V0UGx1Z2luOmZ1bmN0aW9uKCl7cmV0dXJuIGV9LGdldE5leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gU30scHJvY2Vzc1RlbGVtZXRyeTpoLHVubG9hZDp2LHVwZGF0ZTptLF9pZDpkLF9zZXROZXh0OmZ1bmN0aW9uKGUpe1M9ZX19O2Z1bmN0aW9uIEkoKXt2YXIgcjtyZXR1cm4gZSYmKDAsYS5tZikoZS5fZ2V0VGVsQ3R4KSYmKHI9ZS5fZ2V0VGVsQ3R4KCkpLHJ8fChyPWYoQSxuLHQpKSxyfWZ1bmN0aW9uIFIobix0LGEsYyxIKXt2YXIgZj0hMSxwPWU/ZVtyLnBaXTpsLEM9bi5faGFzUnVuO3JldHVybiBDfHwoQz1uLl9oYXNSdW49e30pLG4uc2V0TmV4dChTKSxlJiYoMCx1LkxtKShuW3Mub1ZdKCksKGZ1bmN0aW9uKCl7cmV0dXJuIHArIjoiK2F9KSwoZnVuY3Rpb24oKXtDW2RdPSEwO3RyeXt2YXIgZT1TP1MuX2lkOnMucVM7ZSYmKENbZV09ITEpLGY9dChuKX1jYXRjaChlKXt2YXIgdT0hU3x8Q1tTLl9pZF07dSYmKGY9ITApLFMmJnV8fCgwLG8ua1ApKG5bci5tY10oKSwxLDczLCJQbHVnaW4gWyIrcCsiXSBmYWlsZWQgZHVyaW5nICIrYSsiIC0gIisoMCxpLmVVKShlKSsiLCBydW4gZmxhZ3M6ICIrKDAsaS5lVSkoQykpfX0pLGMsSCksZn1mdW5jdGlvbiBoKG4sdCl7ZnVuY3Rpb24gbyh0KXtpZighZXx8IXApcmV0dXJuITE7dmFyIG89KDAsYy5PWSkoZSk7cmV0dXJuIW9bci5maV0mJiFvW3MubUVdJiYoQyYmZVtyLkpkXShTKSxlW3MuaExdKG4sdCksITApfVIodD10fHxJKCksbywicHJvY2Vzc1RlbGVtZXRyeSIsKGZ1bmN0aW9uKCl7cmV0dXJue2l0ZW06bn19KSwhbi5zeW5jKXx8dFtyLnVMXShuKX1mdW5jdGlvbiB2KG4sdCl7ZnVuY3Rpb24gbygpe3ZhciBvPSExO2lmKGUpe3ZhciBpPSgwLGMuT1kpKGUpLGE9ZVtzLm9WXXx8aVtzLm9WXTshZXx8YSYmYSE9PW4uY29yZSgpfHxpW3IuZmldfHwoaVtzLm9WXT1udWxsLGlbci5maV09ITAsaVtyLnlsXT0hMSxlW3IuZmldJiYhMD09PWVbci5maV0obix0KSYmKG89ITApKX1yZXR1cm4gb31SKG4sbywidW5sb2FkIiwoZnVuY3Rpb24oKXt9KSx0W3IuZF0pfHxuW3IudUxdKHQpfWZ1bmN0aW9uIG0obix0KXtmdW5jdGlvbiBvKCl7dmFyIG89ITE7aWYoZSl7dmFyIGk9KDAsYy5PWSkoZSksYT1lW3Mub1ZdfHxpW3Mub1ZdOyFlfHxhJiZhIT09bi5jb3JlKCl8fGlbci5maV18fGVbci5UdV0mJiEwPT09ZVtyLlR1XShuLHQpJiYobz0hMCl9cmV0dXJuIG99UihuLG8sInVwZGF0ZSIsKGZ1bmN0aW9uKCl7fSksITEpfHxuW3IudUxdKHQpfXJldHVybigwLGEuRkwpKEEpfShlLG4sdCk7U3x8KFM9QyksQSYmQS5fc2V0TmV4dChDKSxBPUN9fSkpfXJldHVybiBkJiYhUz9DKFtkXSxuLHQpOlN9fSw3NTU5OTI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7YXo6KCk9PlMsX2w6KCk9PnAsQ046KCk9PkMsRjY6KCk9PkEscFo6KCk9Pkl9KTt2YXIgcj10KDE3MzU5Nyksbz10KDgwMzE0NSksaT10KDkyOTU0MSksYT10KDM4Mjc3OCkscz00Mjk0OTY3Mjk2LHU9NDI5NDk2NzI5NSxjPSExLGw9MTIzNDU2Nzg5LEg9OTg3NjU0MzIxO2Z1bmN0aW9uIGQoZSl7ZTwwJiYoZT4+Pj0wKSxsPTEyMzQ1Njc4OStlJnUsSD05ODc2NTQzMjEtZSZ1LGM9ITB9ZnVuY3Rpb24gZigpe3RyeXt2YXIgZT0yMTQ3NDgzNjQ3JigwLGkubTYpKCk7ZCgoTWF0aC5yYW5kb20oKSpzXmUpK2UpfWNhdGNoKGUpe319ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZT4wP01hdGguZmxvb3IocCgpL3UqKGUrMSkpPj4+MDowfWZ1bmN0aW9uIHAoZSl7dmFyIG49MCx0PSgwLG8uTVgpKCl8fCgwLG8uZ3opKCk7cmV0dXJuIHQmJnQuZ2V0UmFuZG9tVmFsdWVzJiYobj10LmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDMyQXJyYXkoMSkpWzBdJnUpLDA9PT1uJiYoMCxvLncxKSgpJiYoY3x8ZigpLG49QSgpJnUpLDA9PT1uJiYobj1NYXRoLmZsb29yKHMqTWF0aC5yYW5kb20oKXwwKSksZXx8KG4+Pj49MCksbn1mdW5jdGlvbiBDKGUpe2U/ZChlKTpmKCl9ZnVuY3Rpb24gQShlKXt2YXIgbj0oKEg9MzY5NjkqKDY1NTM1JkgpKyhIPj4xNikmdSk8PDE2KSsoNjU1MzUmKGw9MThlMyooNjU1MzUmbCkrKGw+PjE2KSZ1KSk+Pj4wJnV8MDtyZXR1cm4gZXx8KG4+Pj49MCksbn1mdW5jdGlvbiBJKGUpe3ZvaWQgMD09PWUmJihlPTIyKTtmb3IodmFyIG49cCgpPj4+MCx0PTAsbz1hLnFTO29bci5SNV08ZTspdCsrLG8rPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIi5jaGFyQXQoNjMmbiksbj4+Pj02LDU9PT10JiYobj0ocCgpPDwyJjQyOTQ5NjcyOTV8MyZuKT4+PjAsdD0wKTtyZXR1cm4gb319LDk0OTY3MDooZSxuLHQpPT57InVzZSBzdHJpY3QiO3QuZChuLHtPWTooKT0+YyxiUDooKT0+bCxBQTooKT0+SCxZbjooKT0+ZH0pO3ZhciByPXQoMTczNTk3KSxvPXQoMjM1NjIpLGk9dCg5Mjk1NDEpLGE9dCgzODI3NzgpLHM9dCgxOTMwODIpLHU9KDAsby5LKSgicGx1Z2luIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gdS5nZXQoZSwic3RhdGUiLHt9LCEwKX1mdW5jdGlvbiBsKGUsbil7Zm9yKHZhciB0LG89W10scz1udWxsLHU9ZVtyLlcyXSgpO3U7KXt2YXIgbD11W3IuVE9dKCk7aWYobCl7cyYmKDAsaS5tZikoc1tyLkpkXSkmJigwLGkubWYpKGxbYS5oTF0pJiZzW3IuSmRdKGwpOygoMCxpLm1mKShsW3IueWxdKT9sW3IueWxdKCk6KHQ9YyhsKSlbci55bF0pfHxvW3IuTVddKGwpLHM9bCx1PXVbci5XMl0oKX19KDAsaS50TykobywoZnVuY3Rpb24obyl7dmFyIGk9ZVthLm9WXSgpO29bci5WTF0oZS5nZXRDZmcoKSxpLG4sZVtyLlcyXSgpKSx0PWMobyksb1thLm9WXXx8dFthLm9WXXx8KHRbYS5vVl09aSksdFtyLnlsXT0hMCxkZWxldGUgdFtyLmZpXX0pKX1mdW5jdGlvbiBIKGUpe3JldHVybiBlLnNvcnQoKGZ1bmN0aW9uKGUsbil7dmFyIHQ9MDtpZihuKXt2YXIgcj0oMCxpLm1mKShuW2EuaExdKTsoMCxpLm1mKShlW2EuaExdKT90PXI/ZVthLnlpXS1uW2EueWldOjE6ciYmKHQ9LTEpfWVsc2UgdD1lPzE6LTE7cmV0dXJuIHR9KSl9ZnVuY3Rpb24gZChlKXt2YXIgbj17fTtyZXR1cm57Z2V0TmFtZTpmdW5jdGlvbigpe3JldHVybiBuW3IuSV19LHNldE5hbWU6ZnVuY3Rpb24odCl7ZSYmZS5zZXROYW1lKHQpLG5bci5JXT10fSxnZXRUcmFjZUlkOmZ1bmN0aW9uKCl7cmV0dXJuIG5bci5uWV19LHNldFRyYWNlSWQ6ZnVuY3Rpb24odCl7ZSYmZS5zZXRUcmFjZUlkKHQpLCgwLHMuak4pKHQpJiYobltyLm5ZXT10KX0sZ2V0U3BhbklkOmZ1bmN0aW9uKCl7cmV0dXJuIG5bci5fZF19LHNldFNwYW5JZDpmdW5jdGlvbih0KXtlJiZlLnNldFNwYW5JZCh0KSwoMCxzLkxjKSh0KSYmKG5bci5fZF09dCl9LGdldFRyYWNlRmxhZ3M6ZnVuY3Rpb24oKXtyZXR1cm4gbltyLlQwXX0sc2V0VHJhY2VGbGFnczpmdW5jdGlvbih0KXtlJiZlLnNldFRyYWNlRmxhZ3ModCksbltyLlQwXT10fX19fSw4NTE5MzA6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7WTooKT0+c30pO3ZhciByPXQoMTczNTk3KSxvPXQoNjYyMzcyKSxpPXQoODAzMTQ1KSxhPXQoOTI5NTQxKTtmdW5jdGlvbiBzKCl7dmFyIGU9W107cmV0dXJue2FkZDpmdW5jdGlvbihuKXtuJiZlW3IuTVddKG4pfSxydW46ZnVuY3Rpb24obix0KXsoMCxhLnRPKShlLChmdW5jdGlvbihlKXt0cnl7ZShuLHQpfWNhdGNoKGUpeygwLG8ua1ApKG5bci5tY10oKSwyLDczLCJVbmV4cGVjdGVkIGVycm9yIGNhbGxpbmcgdW5sb2FkIGhhbmRsZXIgLSAiKygwLGkuZVUpKGUpKX19KSksZT1bXX19fX0sMTkzMDgyOihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2pOOigpPT5zLExjOigpPT51fSk7dmFyIHI9dCgxNzM1OTcpLG89IjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIixpPSIwMDAwMDAwMDAwMDAwMDAwIjtmdW5jdGlvbiBhKGUsbix0KXtyZXR1cm4hKCFlfHxlW3IuUjVdIT09bnx8ZT09PXQpJiYhIWUubWF0Y2goL15bXGRhLWZdKiQvKX1mdW5jdGlvbiBzKGUpe3JldHVybiBhKGUsMzIsbyl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gYShlLDE2LGkpfX0sMTczNTk3OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se1ZMOigpPT5yLEk6KCk9Pm8sdGI6KCk9PmkscFo6KCk9PmEsTVc6KCk9PnMseWw6KCk9PnUsVEM6KCk9PmMscCQ6KCk9PmwsZVo6KCk9PkgsUjU6KCk9PmQsWl86KCk9PmYsdUw6KCk9PlMsU0Q6KCk9PnAsZzooKT0+QyxuNzooKT0+QSxMUzooKT0+SSxGYzooKT0+UixUTzooKT0+aCxrTDooKT0+dixpQzooKT0+bSxjYjooKT0+VSxmaTooKT0+TixHYzooKT0+ZyxnVTooKT0+SyxkOigpPT55LEYzOigpPT53LFR1OigpPT5iLFcyOigpPT5FLG1jOigpPT5PLEpkOigpPT5rLHpWOigpPT54LExrOigpPT5ULG91OigpPT5QLHpjOigpPT5ELHFWOigpPT5MLHc2OigpPT5NLCRoOigpPT5CLEpuOigpPT5XLHh2OigpPT5GLFpWOigpPT5qLGk3OigpPT5WLEZyOigpPT5aLGprOigpPT56LFQxOigpPT5xLF9TOigpPT5YLFA2OigpPT5ZLEtuOigpPT5KLGRFOigpPT5RLFBMOigpPT5HLFQ6KCk9Pl8sd3U6KCk9PiQsS206KCk9PmVlLG5ZOigpPT5uZSxfZDooKT0+dGUsVDA6KCk9PnJlfSk7dmFyIHI9ImluaXRpYWxpemUiLG89Im5hbWUiLGk9ImdldE5vdGlmeU1nciIsYT0iaWRlbnRpZmllciIscz0icHVzaCIsdT0iaXNJbml0aWFsaXplZCIsYz0iY29uZmlnIixsPSJpbnN0cnVtZW50YXRpb25LZXkiLEg9ImxvZ2dlciIsZD0ibGVuZ3RoIixmPSJ0aW1lIixTPSJwcm9jZXNzTmV4dCIscD0iZ2V0UHJvY2Vzc1RlbENvbnRleHQiLEM9ImFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyIixBPSJyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lciIsST0ic3RvcFBvbGxpbmdJbnRlcm5hbExvZ3MiLFI9Im9uQ29tcGxldGUiLGg9ImdldFBsdWdpbiIsdj0iZmx1c2giLG09Il9leHRlbnNpb25zIixVPSJzcGxpY2UiLE49InRlYXJkb3duIixnPSJtZXNzYWdlSWQiLEs9Im1lc3NhZ2UiLHk9ImlzQXN5bmMiLHc9Il9kb1RlYXJkb3duIixiPSJ1cGRhdGUiLEU9ImdldE5leHQiLE89ImRpYWdMb2ciLGs9InNldE5leHRQbHVnaW4iLHg9ImNyZWF0ZU5ldyIsVD0iY29va2llQ2ZnIixQPSJpbmRleE9mIixEPSJzdWJzdHJpbmciLEw9InVzZXJBZ2VudCIsTT0ic3BsaXQiLEI9InNldEVuYWJsZWQiLFc9InN1YnN0ciIsRj0ibm9kZVR5cGUiLGo9ImFwcGx5IixWPSJyZXBsYWNlIixaPSJlbmFibGVEZWJ1Z0V4Y2VwdGlvbnMiLHo9ImxvZ0ludGVybmFsTWVzc2FnZSIscT0idG9Mb3dlckNhc2UiLFg9ImNhbGwiLFk9InR5cGUiLEo9ImhhbmRsZXIiLFE9Imxpc3RlbmVycyIsRz0iaXNDaGlsZEV2dCIsXz0iZ2V0Q3R4IiwkPSJzZXRDdHgiLGVlPSJjb21wbGV0ZSIsbmU9InRyYWNlSWQiLHRlPSJzcGFuSWQiLHJlPSJ0cmFjZUZsYWdzIn0sMjIxOTA4OihlLG4sdCk9PnsidXNlIHN0cmljdCI7dC5kKG4se2NiOigpPT5yLGZLOigpPT5vLGpBOigpPT5pLGhCOigpPT5hLGJPOigpPT5zLFB3OigpPT51LFY0OigpPT5jLHJsOigpPT5sLHl1OigpPT5ILFJKOigpPT5kLENZOigpPT5mfSk7dmFyIHI9ImZ1bmN0aW9uIixvPSJvYmplY3QiLGk9InVuZGVmaW5lZCIsYT0icHJvdG90eXBlIixzPSJoYXNPd25Qcm9wZXJ0eSIsdT1PYmplY3QsYz11W2FdLGw9dS5hc3NpZ24sSD11LmNyZWF0ZSxkPXUuZGVmaW5lUHJvcGVydHksZj1jW3NdfSw4MjY0NTQ6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7UmQ6KCk9PmksWlU6KCk9PmEscHU6KCk9PnN9KTt2YXIgcj10KDIyMTkwOCksbz1udWxsO2Z1bmN0aW9uIGkoZSl7dm9pZCAwPT09ZSYmKGU9ITApO3ZhciBuPSExPT09ZT9udWxsOm87cmV0dXJuIG58fCh0eXBlb2YgZ2xvYmFsVGhpcyE9PXIuakEmJihuPWdsb2JhbFRoaXMpLG58fHR5cGVvZiBzZWxmPT09ci5qQXx8KG49c2VsZiksbnx8dHlwZW9mIHdpbmRvdz09PXIuakF8fChuPXdpbmRvdyksbnx8dHlwZW9mIHQuZz09PXIuakF8fChuPXQuZyksbz1uKSxufWZ1bmN0aW9uIGEoZSl7dGhyb3cgbmV3IFR5cGVFcnJvcihlKX1mdW5jdGlvbiBzKGUpe3ZhciBuPXIueXU7aWYobilyZXR1cm4gbihlKTtpZihudWxsPT1lKXJldHVybnt9O3ZhciB0PXR5cGVvZiBlO2Z1bmN0aW9uIG8oKXt9cmV0dXJuIHQhPT1yLmZLJiZ0IT09ci5jYiYmYSgiT2JqZWN0IHByb3RvdHlwZSBtYXkgb25seSBiZSBhbiBPYmplY3Q6IitlKSxvW3IuaEJdPWUsbmV3IG99fSwzNDUzNjI6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt0LmQobix7dWM6KCk9PmksbmU6KCk9PnMsJGg6KCk9PnV9KTt2YXIgcj10KDIyMTkwOCksbz10KDgyNjQ1NCksaT0oKCgwLG8uUmQpKCl8fHt9KS5TeW1ib2wsKCgwLG8uUmQpKCl8fHt9KS5SZWZsZWN0LHIucmx8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbix0PTEsbz1hcmd1bWVudHMubGVuZ3RoO3Q8bzt0KyspZm9yKHZhciBpIGluIG49YXJndW1lbnRzW3RdKXIuVjRbci5iT10uY2FsbChuLGkpJiYoZVtpXT1uW2ldKTtyZXR1cm4gZX0pLGE9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gYT1yLlB3LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsbil7ZS5fX3Byb3RvX189bn18fGZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0IGluIG4pbltyLmJPXSh0KSYmKGVbdF09blt0XSl9LGEoZSxuKX07ZnVuY3Rpb24gcyhlLG4pe2Z1bmN0aW9uIHQoKXt0aGlzLmNvbnN0cnVjdG9yPWV9dHlwZW9mIG4hPT1yLmNiJiZudWxsIT09biYmKDAsby5aVSkoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcobikrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIiksYShlLG4pLGVbci5oQl09bnVsbD09PW4/KDAsby5wdSkobik6KHRbci5oQl09bltyLmhCXSxuZXcgdCl9ZnVuY3Rpb24gdShlLG4pe2Zvcih2YXIgdD0wLHI9bi5sZW5ndGgsbz1lLmxlbmd0aDt0PHI7dCsrLG8rKyllW29dPW5bdF07cmV0dXJuIGV9fSw5MjM4MDY6KGUsbix0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcjt0LmQobix7WjooKT0+Yn0pO3ZhciBvPSJ1bmRlZmluZWQiLGk9ImNvbnN0cnVjdG9yIixhPSJwcm90b3R5cGUiLHM9ImZ1bmN0aW9uIix1PSJfZHluQ2xhc3MiLGM9Il91bmtub3duXyIsbD0iX2R5bl9fcHJvdG9fXyIsSD1PYmplY3QsZD1ILmdldFByb3RvdHlwZU9mLGY9SC5nZXRPd25Qcm9wZXJ0eU5hbWVzO3ZhciBTLHA9KHR5cGVvZiBnbG9iYWxUaGlzIT09byYmKFM9Z2xvYmFsVGhpcyksU3x8dHlwZW9mIHNlbGY9PT1vfHwoUz1zZWxmKSxTfHx0eXBlb2Ygd2luZG93PT09b3x8KFM9d2luZG93KSxTfHx0eXBlb2YgdC5nPT09b3x8KFM9dC5nKSxTfHx7fSksQz1wLl9fZHluUHJvdG8kR2JsfHwocC5fX2R5blByb3RvJEdibD17bzoocj17fSxyLnNldEluc3RGdW5jcz0hMCxyLnVzZUJhc2VJbnN0PSEwLHIpLG46MWUzfSk7ZnVuY3Rpb24gQShlLG4pe3JldHVybiBlJiZILnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbil9ZnVuY3Rpb24gSShlKXtyZXR1cm4gZSYmKGU9PT1ILnByb3RvdHlwZXx8ZT09PUFycmF5LnByb3RvdHlwZSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKXx8ZT09PUZ1bmN0aW9uLnByb3RvdHlwZX1mdW5jdGlvbiBoKGUpe3ZhciBuO2lmKGUpe2lmKGQpcmV0dXJuIGQoZSk7dmFyIHQ9ZS5fX3Byb3RvX198fGUucHJvdG90eXBlfHwoZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLnByb3RvdHlwZTpudWxsKTtuPWUuX2R5bl9fcHJvdG9fX3x8dCxBKGUsbCl8fChkZWxldGUgZS5fZHluSW5zdFByb3RvLG49ZS5fZHluX19wcm90b19fPWUuX2R5bkluc3RQcm90b3x8ZS5fZHluX19wcm90b19fLGUuX2R5bkluc3RQcm90bz10KX1yZXR1cm4gbn1mdW5jdGlvbiB2KGUsbil7dmFyIHQ9W107aWYoZil0PWYoZSk7ZWxzZSBmb3IodmFyIHIgaW4gZSkic3RyaW5nIj09dHlwZW9mIHImJkEoZSxyKSYmdC5wdXNoKHIpO2lmKHQmJnQubGVuZ3RoPjApZm9yKHZhciBvPTA7bzx0Lmxlbmd0aDtvKyspbih0W29dKX1mdW5jdGlvbiBtKGUsbix0KXtyZXR1cm4gbiE9PWkmJnR5cGVvZiBlW25dPT09cyYmKHR8fEEoZSxuKSl9ZnVuY3Rpb24gVShlKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJEeW5hbWljUHJvdG86ICIrZSl9ZnVuY3Rpb24gTihlLG4pe2Zvcih2YXIgdD1lLmxlbmd0aC0xO3Q+PTA7dC0tKWlmKGVbdF09PT1uKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGcoZSxuLHQscil7dmFyIG89bnVsbDtpZihlJiZBKHQsdSkpe3ZhciBpPWUuX2R5bkluc3RGdW5jc3x8e307aWYoKG89KGlbdC5fZHluQ2xhc3NdfHx7fSlbbl0pfHxVKCJNaXNzaW5nIFsiK24rIl0gIitzKSwhby5fZHluSW5zdENoayYmITEhPT1pLl9keW5JbnN0Q2hrKXtmb3IodmFyIGE9IUEoZSxuKSxjPWgoZSksbD1bXTthJiZjJiYhUihjKSYmIU4obCxjKTspe3ZhciBIPWNbbl07aWYoSCl7YT1IPT09cjticmVha31sLnB1c2goYyksYz1oKGMpfXRyeXthJiYoZVtuXT1vKSxvLl9keW5JbnN0Q2hrPTF9Y2F0Y2goZSl7aS5fZHluSW5zdENoaz0hMX19fXJldHVybiBvfWZ1bmN0aW9uIEsoZSxuLHQpe3ZhciByPW5bZV07cmV0dXJuIHI9PT10JiYocj1oKG4pW2VdKSx0eXBlb2YgciE9PXMmJlUoIlsiK2UrIl0gaXMgbm90IGEgIitzKSxyfWZ1bmN0aW9uIHkoZSxuLHQscixvKXtpZighSShlKSl7dmFyIGk9dC5fZHluSW5zdEZ1bmNzPXQuX2R5bkluc3RGdW5jc3x8e30sYT1pW25dPWlbbl18fHt9OyExIT09aS5fZHluSW5zdENoayYmKGkuX2R5bkluc3RDaGs9ISFvKSx2KHQsKGZ1bmN0aW9uKG4pe20odCxuLCExKSYmdFtuXSE9PXJbbl0mJihhW25dPXRbbl0sZGVsZXRlIHRbbl0sKCFBKGUsbil8fGVbbl0mJiFlW25dLl9pc0R5blByb3h5KSYmKGVbbl09ZnVuY3Rpb24oZSxuKXt2YXIgdD1mdW5jdGlvbigpe3JldHVybihnKHRoaXMsbixlLHQpfHxLKG4sZSx0KSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtyZXR1cm4gdC5faXNEeW5Qcm94eT0xLHR9KGUsbikpKX0pKX19ZnVuY3Rpb24gdyhlLG4pe3JldHVybiBBKGUsYSk/ZS5uYW1lfHxufHxjOigoZXx8e30pLmNvbnN0cnVjdG9yfHx7fSkubmFtZXx8bnx8Y31mdW5jdGlvbiBiKGUsbix0LHIpe0EoZSxhKXx8VSgidGhlQ2xhc3MgaXMgYW4gaW52YWxpZCBjbGFzcyBkZWZpbml0aW9uLiIpO3ZhciBvPWUucHJvdG90eXBlOyhmdW5jdGlvbihlLG4pe2lmKGQpe2Zvcih2YXIgdD1bXSxyPWgobik7ciYmIVIocikmJiFOKHQscik7KXtpZihyPT09ZSlyZXR1cm4hMDt0LnB1c2gocikscj1oKHIpfXJldHVybiExfXJldHVybiEwfSkobyxuKXx8VSgiWyIrdyhlKSsiXSBub3QgaW4gaGllcmFyY2h5IG9mIFsiK3cobikrIl0iKTt2YXIgaT1udWxsO0Eobyx1KT9pPW8uX2R5bkNsYXNzOihpPSJfZHluQ2xzJCIrdyhlLCJfIikrIiQiK0MubixDLm4rKyxvLl9keW5DbGFzcz1pKTt2YXIgcz1iLl9kZk9wdHMsYz0hIXMudXNlQmFzZUluc3Q7YyYmciYmdm9pZCAwIT09ci51c2VCYXNlSW5zdCYmKGM9ISFyLnVzZUJhc2VJbnN0KTt2YXIgbD1mdW5jdGlvbihlKXt2YXIgbj17fTtyZXR1cm4gdihlLChmdW5jdGlvbih0KXshblt0XSYmbShlLHQsITEpJiYoblt0XT1lW3RdKX0pKSxufShuKSxIPWZ1bmN0aW9uKGUsbix0LHIpe2Z1bmN0aW9uIG8oZSxuLHQpe3ZhciBvPW5bdF07aWYoby5faXNEeW5Qcm94eSYmcil7dmFyIGk9ZS5fZHluSW5zdEZ1bmNzfHx7fTshMSE9PWkuX2R5bkluc3RDaGsmJihvPShpW24uX2R5bkNsYXNzXXx8e30pW3RdfHxvKX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gby5hcHBseShlLGFyZ3VtZW50cyl9fXZhciBpPXt9O3YodCwoZnVuY3Rpb24oZSl7aVtlXT1vKG4sdCxlKX0pKTtmb3IodmFyIGE9aChlKSxzPVtdO2EmJiFSKGEpJiYhTihzLGEpOyl2KGEsKGZ1bmN0aW9uKGUpeyFpW2VdJiZtKGEsZSwhZCkmJihpW2VdPW8obixhLGUpKX0pKSxzLnB1c2goYSksYT1oKGEpO3JldHVybiBpfShvLG4sbCxjKTt0KG4sSCk7dmFyIGY9ISFkJiYhIXMuc2V0SW5zdEZ1bmNzO2YmJnImJihmPSEhci5zZXRJbnN0RnVuY3MpLHkobyxpLG4sbCwhMSE9PWYpfWIuX2RmT3B0cz1DLm99LDEzODcyOmZ1bmN0aW9uKCl7IWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtpZighZS5mZXRjaCl7dmFyIG49IlVSTFNlYXJjaFBhcmFtcyJpbiBlLHQ9IlN5bWJvbCJpbiBlJiYiaXRlcmF0b3IiaW4gU3ltYm9sLHI9IkZpbGVSZWFkZXIiaW4gZSYmIkJsb2IiaW4gZSYmZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iLCEwfWNhdGNoKGUpe3JldHVybiExfX0oKSxvPSJGb3JtRGF0YSJpbiBlLGk9IkFycmF5QnVmZmVyImluIGU7aWYoaSl2YXIgYT1bIltvYmplY3QgSW50OEFycmF5XSIsIltvYmplY3QgVWludDhBcnJheV0iLCJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSIsIltvYmplY3QgSW50MTZBcnJheV0iLCJbb2JqZWN0IFVpbnQxNkFycmF5XSIsIltvYmplY3QgSW50MzJBcnJheV0iLCJbb2JqZWN0IFVpbnQzMkFycmF5XSIsIltvYmplY3QgRmxvYXQzMkFycmF5XSIsIltvYmplY3QgRmxvYXQ2NEFycmF5XSJdLHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJkRhdGFWaWV3LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGUpfSx1PUFycmF5QnVmZmVyLmlzVmlld3x8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmEuaW5kZXhPZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpPi0xfTtTLnByb3RvdHlwZS5hcHBlbmQ9ZnVuY3Rpb24oZSxuKXtlPUgoZSksbj1kKG4pO3ZhciB0PXRoaXMubWFwW2VdO3R8fCh0PVtdLHRoaXMubWFwW2VdPXQpLHQucHVzaChuKX0sUy5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGUpe2RlbGV0ZSB0aGlzLm1hcFtIKGUpXX0sUy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMubWFwW0goZSldO3JldHVybiBuP25bMF06bnVsbH0sUy5wcm90b3R5cGUuZ2V0QWxsPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm1hcFtIKGUpXXx8W119LFMucHJvdG90eXBlLmhhcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5tYXAuaGFzT3duUHJvcGVydHkoSChlKSl9LFMucHJvdG90eXBlLnNldD1mdW5jdGlvbihlLG4pe3RoaXMubWFwW0goZSldPVtkKG4pXX0sUy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihlLG4pe09iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMubWFwKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0aGlzLm1hcFt0XS5mb3JFYWNoKChmdW5jdGlvbihyKXtlLmNhbGwobixyLHQsdGhpcyl9KSx0aGlzKX0pLHRoaXMpfSxTLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIHRoaXMuZm9yRWFjaCgoZnVuY3Rpb24obix0KXtlLnB1c2godCl9KSksZihlKX0sUy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIHRoaXMuZm9yRWFjaCgoZnVuY3Rpb24obil7ZS5wdXNoKG4pfSkpLGYoZSl9LFMucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5mb3JFYWNoKChmdW5jdGlvbihuLHQpe2UucHVzaChbdCxuXSl9KSksZihlKX0sdCYmKFMucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09Uy5wcm90b3R5cGUuZW50cmllcyk7dmFyIGM9WyJERUxFVEUiLCJHRVQiLCJIRUFEIiwiT1BUSU9OUyIsIlBPU1QiLCJQVVQiXTtoLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgaCh0aGlzLHtib2R5OnRoaXMuX2JvZHlJbml0fSl9LFIuY2FsbChoLnByb3RvdHlwZSksUi5jYWxsKG0ucHJvdG90eXBlKSxtLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgbSh0aGlzLl9ib2R5SW5pdCx7c3RhdHVzOnRoaXMuc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5zdGF0dXNUZXh0LGhlYWRlcnM6bmV3IFModGhpcy5oZWFkZXJzKSx1cmw6dGhpcy51cmx9KX0sbS5lcnJvcj1mdW5jdGlvbigpe3ZhciBlPW5ldyBtKG51bGwse3N0YXR1czowLHN0YXR1c1RleHQ6IiJ9KTtyZXR1cm4gZS50eXBlPSJlcnJvciIsZX07dmFyIGw9WzMwMSwzMDIsMzAzLDMwNywzMDhdO20ucmVkaXJlY3Q9ZnVuY3Rpb24oZSxuKXtpZigtMT09PWwuaW5kZXhPZihuKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBzdGF0dXMgY29kZSIpO3JldHVybiBuZXcgbShudWxsLHtzdGF0dXM6bixoZWFkZXJzOntsb2NhdGlvbjplfX0pfSxlLkhlYWRlcnM9UyxlLlJlcXVlc3Q9aCxlLlJlc3BvbnNlPW0sZS5mZXRjaD1mdW5jdGlvbihlLG4pe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxvKXt2YXIgaT1uZXcgaChlLG4pLGE9bmV3IFhNTEh0dHBSZXF1ZXN0O2Eub25sb2FkPWZ1bmN0aW9uKCl7dmFyIGUsbixyPXtzdGF0dXM6YS5zdGF0dXMsc3RhdHVzVGV4dDphLnN0YXR1c1RleHQsaGVhZGVyczooZT1hLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIixuPW5ldyBTLGUuc3BsaXQoIlxyXG4iKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCI6Iikscj10LnNoaWZ0KCkudHJpbSgpO2lmKHIpe3ZhciBvPXQuam9pbigiOiIpLnRyaW0oKTtuLmFwcGVuZChyLG8pfX0pKSxuKX07ci51cmw9InJlc3BvbnNlVVJMImluIGE/YS5yZXNwb25zZVVSTDpyLmhlYWRlcnMuZ2V0KCJYLVJlcXVlc3QtVVJMIik7dmFyIG89InJlc3BvbnNlImluIGE/YS5yZXNwb25zZTphLnJlc3BvbnNlVGV4dDt0KG5ldyBtKG8scikpfSxhLm9uZXJyb3I9ZnVuY3Rpb24oKXtvKG5ldyBUeXBlRXJyb3IoIk5ldHdvcmsgcmVxdWVzdCBmYWlsZWQiKSl9LGEub250aW1lb3V0PWZ1bmN0aW9uKCl7byhuZXcgVHlwZUVycm9yKCJOZXR3b3JrIHJlcXVlc3QgZmFpbGVkIikpfSxhLm9wZW4oaS5tZXRob2QsaS51cmwsITApLCJpbmNsdWRlIj09PWkuY3JlZGVudGlhbHMmJihhLndpdGhDcmVkZW50aWFscz0hMCksInJlc3BvbnNlVHlwZSJpbiBhJiZyJiYoYS5yZXNwb25zZVR5cGU9ImJsb2IiKSxpLmhlYWRlcnMuZm9yRWFjaCgoZnVuY3Rpb24oZSxuKXthLnNldFJlcXVlc3RIZWFkZXIobixlKX0pKSxhLnNlbmQodm9pZCAwPT09aS5fYm9keUluaXQ/bnVsbDppLl9ib2R5SW5pdCl9KSl9LGUuZmV0Y2gucG9seWZpbGw9ITB9ZnVuY3Rpb24gSChlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUmJihlPVN0cmluZyhlKSksL1teYS16MC05XC0jJCUmJyorLlxeX2B8fl0vaS50ZXN0KGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgY2hhcmFjdGVyIGluIGhlYWRlciBmaWVsZCBuYW1lIik7cmV0dXJuIGUudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBkKGUpe3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKGU9U3RyaW5nKGUpKSxlfWZ1bmN0aW9uIGYoZSl7dmFyIG49e25leHQ6ZnVuY3Rpb24oKXt2YXIgbj1lLnNoaWZ0KCk7cmV0dXJue2RvbmU6dm9pZCAwPT09bix2YWx1ZTpufX19O3JldHVybiB0JiYobltTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIG59KSxufWZ1bmN0aW9uIFMoZSl7dGhpcy5tYXA9e30sZSBpbnN0YW5jZW9mIFM/ZS5mb3JFYWNoKChmdW5jdGlvbihlLG4pe3RoaXMuYXBwZW5kKG4sZSl9KSx0aGlzKTplJiZPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKS5mb3JFYWNoKChmdW5jdGlvbihuKXt0aGlzLmFwcGVuZChuLGVbbl0pfSksdGhpcyl9ZnVuY3Rpb24gcChlKXtpZihlLmJvZHlVc2VkKXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgVHlwZUVycm9yKCJBbHJlYWR5IHJlYWQiKSk7ZS5ib2R5VXNlZD0hMH1mdW5jdGlvbiBDKGUpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obix0KXtlLm9ubG9hZD1mdW5jdGlvbigpe24oZS5yZXN1bHQpfSxlLm9uZXJyb3I9ZnVuY3Rpb24oKXt0KGUuZXJyb3IpfX0pKX1mdW5jdGlvbiBBKGUpe3ZhciBuPW5ldyBGaWxlUmVhZGVyLHQ9QyhuKTtyZXR1cm4gbi5yZWFkQXNBcnJheUJ1ZmZlcihlKSx0fWZ1bmN0aW9uIEkoZSl7aWYoZS5zbGljZSlyZXR1cm4gZS5zbGljZSgwKTt2YXIgbj1uZXcgVWludDhBcnJheShlLmJ5dGVMZW5ndGgpO3JldHVybiBuLnNldChuZXcgVWludDhBcnJheShlKSksbi5idWZmZXJ9ZnVuY3Rpb24gUigpe3JldHVybiB0aGlzLmJvZHlVc2VkPSExLHRoaXMuX2luaXRCb2R5PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX2JvZHlJbml0PWUsZSlpZigic3RyaW5nIj09dHlwZW9mIGUpdGhpcy5fYm9keVRleHQ9ZTtlbHNlIGlmKHImJkJsb2IucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSkpdGhpcy5fYm9keUJsb2I9ZTtlbHNlIGlmKG8mJkZvcm1EYXRhLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGUpKXRoaXMuX2JvZHlGb3JtRGF0YT1lO2Vsc2UgaWYobiYmVVJMU2VhcmNoUGFyYW1zLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGUpKXRoaXMuX2JvZHlUZXh0PWUudG9TdHJpbmcoKTtlbHNlIGlmKGkmJnImJnMoZSkpdGhpcy5fYm9keUFycmF5QnVmZmVyPUkoZS5idWZmZXIpLHRoaXMuX2JvZHlJbml0PW5ldyBCbG9iKFt0aGlzLl9ib2R5QXJyYXlCdWZmZXJdKTtlbHNle2lmKCFpfHwhQXJyYXlCdWZmZXIucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSkmJiF1KGUpKXRocm93IG5ldyBFcnJvcigidW5zdXBwb3J0ZWQgQm9keUluaXQgdHlwZSIpO3RoaXMuX2JvZHlBcnJheUJ1ZmZlcj1JKGUpfWVsc2UgdGhpcy5fYm9keVRleHQ9IiI7dGhpcy5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIil8fCgic3RyaW5nIj09dHlwZW9mIGU/dGhpcy5oZWFkZXJzLnNldCgiY29udGVudC10eXBlIiwidGV4dC9wbGFpbjtjaGFyc2V0PVVURi04Iik6dGhpcy5fYm9keUJsb2ImJnRoaXMuX2JvZHlCbG9iLnR5cGU/dGhpcy5oZWFkZXJzLnNldCgiY29udGVudC10eXBlIix0aGlzLl9ib2R5QmxvYi50eXBlKTpuJiZVUkxTZWFyY2hQYXJhbXMucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZSkmJnRoaXMuaGVhZGVycy5zZXQoImNvbnRlbnQtdHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PVVURi04IikpfSxyJiYodGhpcy5ibG9iPWZ1bmN0aW9uKCl7dmFyIGU9cCh0aGlzKTtpZihlKXJldHVybiBlO2lmKHRoaXMuX2JvZHlCbG9iKXJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5fYm9keUJsb2IpO2lmKHRoaXMuX2JvZHlBcnJheUJ1ZmZlcilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFt0aGlzLl9ib2R5QXJyYXlCdWZmZXJdKSk7aWYodGhpcy5fYm9keUZvcm1EYXRhKXRocm93IG5ldyBFcnJvcigiY291bGQgbm90IHJlYWQgRm9ybURhdGEgYm9keSBhcyBibG9iIik7cmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQmxvYihbdGhpcy5fYm9keVRleHRdKSl9LHRoaXMuYXJyYXlCdWZmZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYm9keUFycmF5QnVmZmVyP3AodGhpcyl8fFByb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpOnRoaXMuYmxvYigpLnRoZW4oQSl9KSx0aGlzLnRleHQ9ZnVuY3Rpb24oKXt2YXIgZSxuLHQscj1wKHRoaXMpO2lmKHIpcmV0dXJuIHI7aWYodGhpcy5fYm9keUJsb2IpcmV0dXJuIGU9dGhpcy5fYm9keUJsb2Isbj1uZXcgRmlsZVJlYWRlcix0PUMobiksbi5yZWFkQXNUZXh0KGUpLHQ7aWYodGhpcy5fYm9keUFycmF5QnVmZmVyKXJldHVybiBQcm9taXNlLnJlc29sdmUoZnVuY3Rpb24oZSl7Zm9yKHZhciBuPW5ldyBVaW50OEFycmF5KGUpLHQ9bmV3IEFycmF5KG4ubGVuZ3RoKSxyPTA7cjxuLmxlbmd0aDtyKyspdFtyXT1TdHJpbmcuZnJvbUNoYXJDb2RlKG5bcl0pO3JldHVybiB0LmpvaW4oIiIpfSh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpKTtpZih0aGlzLl9ib2R5Rm9ybURhdGEpdGhyb3cgbmV3IEVycm9yKCJjb3VsZCBub3QgcmVhZCBGb3JtRGF0YSBib2R5IGFzIHRleHQiKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlUZXh0KX0sbyYmKHRoaXMuZm9ybURhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50ZXh0KCkudGhlbih2KX0pLHRoaXMuanNvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRleHQoKS50aGVuKEpTT04ucGFyc2UpfSx0aGlzfWZ1bmN0aW9uIGgoZSxuKXt2YXIgdCxyLG89KG49bnx8e30pLmJvZHk7aWYoInN0cmluZyI9PXR5cGVvZiBlKXRoaXMudXJsPWU7ZWxzZXtpZihlLmJvZHlVc2VkKXRocm93IG5ldyBUeXBlRXJyb3IoIkFscmVhZHkgcmVhZCIpO3RoaXMudXJsPWUudXJsLHRoaXMuY3JlZGVudGlhbHM9ZS5jcmVkZW50aWFscyxuLmhlYWRlcnN8fCh0aGlzLmhlYWRlcnM9bmV3IFMoZS5oZWFkZXJzKSksdGhpcy5tZXRob2Q9ZS5tZXRob2QsdGhpcy5tb2RlPWUubW9kZSxvfHxudWxsPT1lLl9ib2R5SW5pdHx8KG89ZS5fYm9keUluaXQsZS5ib2R5VXNlZD0hMCl9aWYodGhpcy5jcmVkZW50aWFscz1uLmNyZWRlbnRpYWxzfHx0aGlzLmNyZWRlbnRpYWxzfHwib21pdCIsIW4uaGVhZGVycyYmdGhpcy5oZWFkZXJzfHwodGhpcy5oZWFkZXJzPW5ldyBTKG4uaGVhZGVycykpLHRoaXMubWV0aG9kPSh0PW4ubWV0aG9kfHx0aGlzLm1ldGhvZHx8IkdFVCIscj10LnRvVXBwZXJDYXNlKCksYy5pbmRleE9mKHIpPi0xP3I6dCksdGhpcy5tb2RlPW4ubW9kZXx8dGhpcy5tb2RlfHxudWxsLHRoaXMucmVmZXJyZXI9bnVsbCwoIkdFVCI9PT10aGlzLm1ldGhvZHx8IkhFQUQiPT09dGhpcy5tZXRob2QpJiZvKXRocm93IG5ldyBUeXBlRXJyb3IoIkJvZHkgbm90IGFsbG93ZWQgZm9yIEdFVCBvciBIRUFEIHJlcXVlc3RzIik7dGhpcy5faW5pdEJvZHkobyl9ZnVuY3Rpb24gdihlKXt2YXIgbj1uZXcgRm9ybURhdGE7cmV0dXJuIGUudHJpbSgpLnNwbGl0KCImIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9ZS5zcGxpdCgiPSIpLHI9dC5zaGlmdCgpLnJlcGxhY2UoL1wrL2csIiAiKSxvPXQuam9pbigiPSIpLnJlcGxhY2UoL1wrL2csIiAiKTtuLmFwcGVuZChkZWNvZGVVUklDb21wb25lbnQociksZGVjb2RlVVJJQ29tcG9uZW50KG8pKX19KSksbn1mdW5jdGlvbiBtKGUsbil7bnx8KG49e30pLHRoaXMudHlwZT0iZGVmYXVsdCIsdGhpcy5zdGF0dXM9InN0YXR1cyJpbiBuP24uc3RhdHVzOjIwMCx0aGlzLm9rPXRoaXMuc3RhdHVzPj0yMDAmJnRoaXMuc3RhdHVzPDMwMCx0aGlzLnN0YXR1c1RleHQ9InN0YXR1c1RleHQiaW4gbj9uLnN0YXR1c1RleHQ6Ik9LIix0aGlzLmhlYWRlcnM9bmV3IFMobi5oZWFkZXJzKSx0aGlzLnVybD1uLnVybHx8IiIsdGhpcy5faW5pdEJvZHkoZSl9fSgidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzKX19LGk9e307ZnVuY3Rpb24gYShlKXt2YXIgbj1pW2VdO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG4uZXhwb3J0czt2YXIgdD1pW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gb1tlXS5jYWxsKHQuZXhwb3J0cyx0LHQuZXhwb3J0cyxhKSx0LmxvYWRlZD0hMCx0LmV4cG9ydHN9YS5tPW8sYS5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sYS5hbWRPPXt9LGEuRj17fSxhLkU9ZT0+e09iamVjdC5rZXlzKGEuRikubWFwKChuPT57YS5GW25dKGUpfSkpfSxhLm49ZT0+e3ZhciBuPWUmJmUuX19lc01vZHVsZT8oKT0+ZS5kZWZhdWx0OigpPT5lO3JldHVybiBhLmQobix7YTpufSksbn0sbj1PYmplY3QuZ2V0UHJvdG90eXBlT2Y/ZT0+T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpOmU9PmUuX19wcm90b19fLGEudD1mdW5jdGlvbih0LHIpe2lmKDEmciYmKHQ9dGhpcyh0KSksOCZyKXJldHVybiB0O2lmKCJvYmplY3QiPT10eXBlb2YgdCYmdCl7aWYoNCZyJiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7aWYoMTYmciYmImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbilyZXR1cm4gdH12YXIgbz1PYmplY3QuY3JlYXRlKG51bGwpO2EucihvKTt2YXIgaT17fTtlPWV8fFtudWxsLG4oe30pLG4oW10pLG4obildO2Zvcih2YXIgcz0yJnImJnQ7Im9iamVjdCI9PXR5cGVvZiBzJiYhfmUuaW5kZXhPZihzKTtzPW4ocykpT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocykuZm9yRWFjaCgoZT0+aVtlXT0oKT0+dFtlXSkpO3JldHVybiBpLmRlZmF1bHQ9KCk9PnQsYS5kKG8saSksb30sYS5kPShlLG4pPT57Zm9yKHZhciB0IGluIG4pYS5vKG4sdCkmJiFhLm8oZSx0KSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7ZW51bWVyYWJsZTohMCxnZXQ6blt0XX0pfSxhLmY9e30sYS5lPWU9PlByb21pc2UuYWxsKE9iamVjdC5rZXlzKGEuZikucmVkdWNlKCgobix0KT0+KGEuZlt0XShlLG4pLG4pKSxbXSkpLGEudT1lPT4ib3dhLiIrKHsxMjU2OiJSZWFkaW5nUGFuZUNvbnZlcnNhdGlvbiIsMTU2MDoiU2NoZWR1bGluZ0Fzc2lzdGFudCIsMTY5NzoiTWFpbEJvb3QiLDM5MTg6InZlbi5ncmFwaHFsIiw0MDk3OiJNYWlsQ29tcG9zZVByb2plY3Rpb24iLDQ2NDE6IkFkZGluc01haWwiLDU1Mjc6Ik93YUFwb2xsb0V4ZWN1dGUiLDU1NDk6IkRldlRvb2xzIiw2NjMxOiJJdGVtUm93c1dlYiIsNjY5OToiVG9kb0xpc3QiLDY3ODM6IkNhbGVuZGFyUmVhZGluZ1BhbmVSaWJib24iLDk4MTg6IlN1YnNjcmliZVRvUm93Tm90aWZpY2F0aW9uc1dlYiIsMTAxMjQ6IlN1YnNjcmliZVRvR3JvdXBGb2xkZXJIaWVyYXJjaHlOb3RpZmljYXRpb25XZWIiLDExMjgzOiJBY2NvdW50cyIsMTE1MTY6Ik1haWxSb3V0ZXMiLDExNzQxOiJOb3RpZmljYXRpb24iLDEyMzUwOiJGb2xkZXJXZWIiLDEzODUzOiJDYWxlbmRhclBlZWsiLDE0MjQwOiJDYWxlbmRhckRlZXBCb290IiwxNDI4NDoiU2hhcmVkQm9vdCIsMTQzMjA6IkNoYW5nZU1vZHVsZSIsMTQ0NTI6IlJlYWRpbmdQYW5lUHJpbnQiLDE0NTU2OiJBcHBCYXJDb250cm9sUXVlcnlXZWIiLDE0OTIyOiJQZXJzb25hUHJlc2VuY2VCYWRnZSIsMTU0MDE6IlBlb3BsZUZ1bmN0aW9uYWxCb290IiwxNjMxMjoiQ2FsZW5kYXJDbG91ZFNldHRpbmdzIiwxNjQ1ODoiUG9wb3V0IiwxNjYwNzoiT3dhRGF0YVdvcmtlckNsaWVudCIsMTczNTI6IkNhbGVuZGFyQm9vdCIsMTgxNDU6IkNhbGVuZGFyQ29tbWFuZGluZ09yY2hlc3RyYXRpb24iLDE4OTEwOiJQbGFjZXNCb290IiwyMDAyMToiVGltZVBhbmVsIiwyMDczMzoiRmlsZXNCb290IiwyMTAzMToiT1dBT2ZmaWNlQnJhbmRJY29ucyIsMjI1MDU6IkNhbGVuZGFyUmVhZGluZ1BhbmVBY3Rpb25zIiwyMjU0MjoiVGltZVBhbmVsRXZlbnREZXRhaWxzIiwyMzM2NToiQ2FsZW5kYXJCb290c3RyYXBVdGlscyIsMjM0MTI6IkFkZGluc0NvcmUiLDIzNzYxOiJPd2FBcHBCYXJUeXBlUG9saWNpZXMiLDI0NzcyOiJBZGRDYWxlbmRhcnNQYW5lIiwyNTA5NDoicGRmanNXb3JrZXIiLDI1MjU4OiJDYWxlbmRhclJlYWRpbmdQYW5lIiwyNTQxODoiQ2FsZW5kYXJHcm91cHNRdWVyeVdlYiIsMjU0MzM6Ik1haWxDb21wb3NlIiwyNTY3MToidmVuLmV4dGZyYW1ld29yayIsMjc5MjU6IkFwcEhvc3RGdW5jdGlvbmFsQm9vdCIsMjc5ODA6IkNoYXJtc0NhdGFsb2ciLDI4MjcxOiJMb2NhdGlvbkNhcmRPcHgiLDI5MjQ2OiJDYWxlbmRhck1vZHVsZU9yY2hlc3RyYXRpb24iLDMwOTkzOiJDYWxlbmRhckV2ZW50UXVlcnlXZWIiLDMxODIyOiJNYWlsUmliYm9uQ29tcG9zZVByb2plY3Rpb24iLDMyNTU3OiJ2ZW4uZmx1ZW50SWNvbnMiLDM0MTg4OiJxdWVyeUl0ZW1zV2ViIiwzNDkwMjoiQ2FsZW5kYXJJdGVtUGVlayIsMzY4MTI6IkFwcEhvc3RCb290IiwzODA2MjoiQ2FsZW5kYXJTdXJmYWNlSXRlbUNvbnRleHRNZW51cyIsMzg5NjQ6IlRpbWVQYW5lbENhbGVuZGFyIiwzOTAxMzoiVG9kb0NvbnRleHRNZW51Iiw0Mjk1NDoiUG9zdFNoYXJlZEJvb3QiLDQzMzUzOiJMb2NhdGlvbkNhcmQiLDQzNjk3OiJDb252ZXJzYXRpb25Ob2Rlc1dlYlJlc29sdmVyIiw0NDYwNDoiTWFpbENvbXBvc2VBY3Rpb25zIiw1MDg2MDoiQW5hbHl0aWNzIiw1MTE5NDoiQ2FsZW5kYXJRdWlja0NvbXBvc2UiLDUyMjk1OiJNc2FsQXV0aCIsNTI2Mzc6InZlbi5mbHVlbnQiLDU0NzUzOiJNYWlsTGlzdEl0ZW1TaW5nbGVMaW5lVmlldyIsNTU2ODM6IkNhbGVuZGFyTW9kdWxlU3RpdGNoZXMiLDU2NTYxOiJPd2FNMzY1QWNxdWlzaXRpb25zQ2FjaGUiLDU2NzY2OiJGb2xkZXJIaWVyYXJjaHlXZWIiLDU3MDE4OiJNYWlsU3RvcmVBY3Rpb25zIiw1OGUzOiJHcm91cHNCb290Iiw1ODcwNzoiQ29udmVyc2F0aW9uUm93c1dlYiIsNjAwNjc6IkNhbGVuZGFyQm9va2luZ3NTbG90cyIsNjA3NjM6IkNhbGVuZGFyQ2FyZCIsNjExMjY6InF1ZXJ5SXRlbVdlYiIsNjIyNjE6IlJlbGF0ZWRDb250ZW50Iiw2Mzk3MToiQ2FsZW5kYXJJdGVtQ29udGV4dE1lbnUiLDY0NTY3OiJDYWxlbmRhckZ1bmN0aW9uYWxCb290Iiw2NjMyNDoiT3dhQXBwQmFyQm9vdHN0cmFwIiw2NzA0NjoiQ2FsZW5kYXJSZWFkRm9ybUxpZmVjeWNsZSIsNjc1ODc6IkNhbGVuZGFyQm9va2FibGVUaW1lU2hhcmVkIiw2OTM4NToiTWFpbENvbW1hbmRBY3Rpb25zIiw2OTQxMzoiVGltZVBhbmVsQ29tcG9zZSIsNzEwNDY6IkNhbGVuZGFyQm9hcmRRdWlja1N3aXRjaGVyIiw3MTcyMzoiQWRkaW5zIiw3MzExNjoiQ2FsZW5kYXJGdWxsQ29tcG9zZVJpYmJvbiIsNzQzMDE6IlJlYWRpbmdQYW5lIiw3NjExMjoiQ2FsZW5kYXJCb2FyZENvbnRleHRNZW51Iiw3NzMzMjoiVG9rZW5Qcm92aWRlckFzeW5jIiw3ODAwMToiUmVsYXRlZENvbnRlbnRJbnNpZ2h0c09weCIsNzkwMDk6IlJlYWRpbmdQYW5lSXRlbSIsNzk0MzA6IlN1YnNjcmliZVRvTm90aWZpY2F0aW9uQ2hhbm5lbFJlYWR5U3Vic2NyaXB0aW9uV2ViIiw4MTEyNDoiTWFpbFJpYmJvblJlYWRQcm9qZWN0aW9uIiw4MjM3NToiTG90dGllQW5pbWF0aW9uIiw4MjYzMDoiQ2FsZW5kYXJDb21wb3NlRm9ybUxpZmVjeWNsZSIsODM5NTM6IlJvb21TZWxlY3RvciIsODQ5Mzg6IkNhbGVuZGFyQm9hcmQiLDg1ODE0OiJDYWxlbmRhckV2ZW50c1F1ZXJ5V2ViIiw4NTgyOToiTWFpbEZ1bmN0aW9uYWxCb290Iiw4NjY3NToiT2ZmbGluZVRpbWVab25lcyIsODgwNzk6IlNoYXJlZE9weEZ1bmN0aW9uYWxCb290Iiw4ODE3MzoiQ2FsZW5kYXJGb3Jtc1BlcmYiLDkwMzk3OiJQZW9wbGVCb290Iiw5MTMwNjoiQ2FsZW5kYXJGdWxsQ29tcG9zZSIsOTIyNjE6IkNhbGVuZGFyQm9hcmRBc3NldHMiLDk0MTgzOiJIaWVyYXJjaHlOb3RpZmljYXRpb25zV2ViIiw5NDI3OToiUmVzb2x2ZXJzV2ViIiw5NDUyNDoiTWFpbExpc3RJdGVtQ29udGV4dE1lbnUiLDk1MDQxOiJDYWxlbmRhckV2ZW50Tm90aWZpY2F0aW9uc1dlYiIsOTUxNjA6Ik93YU5vdmFDYWNoZSIsOTU4NzU6Ik1haWxEZWVwQm9vdCIsOTYzMzQ6InBhcnNlUmVzb2x2ZUluZm8iLDk3MDgzOiJUeHAiLDk3ODAwOiJNYWlsTGlzdEl0ZW1UaHJlZUNvbHVtblZpZXciLDk5MzYyOiJPZmZsaW5lU2Vzc2lvbkRhdGEifVtlXXx8ZSkrIi5qcyIsYS5taW5pQ3NzRj1lPT4ib3dhLiIrKHsxMjU2OiJSZWFkaW5nUGFuZUNvbnZlcnNhdGlvbiIsMTU2MDoiU2NoZWR1bGluZ0Fzc2lzdGFudCIsMTY5NzoiTWFpbEJvb3QiLDQwOTc6Ik1haWxDb21wb3NlUHJvamVjdGlvbiIsNDY0MToiQWRkaW5zTWFpbCIsNjY5OToiVG9kb0xpc3QiLDY3ODM6IkNhbGVuZGFyUmVhZGluZ1BhbmVSaWJib24iLDExMjgzOiJBY2NvdW50cyIsMTM4NTM6IkNhbGVuZGFyUGVlayIsMTQyNDA6IkNhbGVuZGFyRGVlcEJvb3QiLDE0Mjg0OiJTaGFyZWRCb290IiwxNDQ1MjoiUmVhZGluZ1BhbmVQcmludCIsMTQ5MjI6IlBlcnNvbmFQcmVzZW5jZUJhZGdlIiwxNzM1MjoiQ2FsZW5kYXJCb290IiwxODE0NToiQ2FsZW5kYXJDb21tYW5kaW5nT3JjaGVzdHJhdGlvbiIsMTg5MTA6IlBsYWNlc0Jvb3QiLDIwMDIxOiJUaW1lUGFuZWwiLDIwNzMzOiJGaWxlc0Jvb3QiLDIyNTA1OiJDYWxlbmRhclJlYWRpbmdQYW5lQWN0aW9ucyIsMjI1NDI6IlRpbWVQYW5lbEV2ZW50RGV0YWlscyIsMjM0MTI6IkFkZGluc0NvcmUiLDI0NzcyOiJBZGRDYWxlbmRhcnNQYW5lIiwyNTI1ODoiQ2FsZW5kYXJSZWFkaW5nUGFuZSIsMjU0MzM6Ik1haWxDb21wb3NlIiwyODI3MToiTG9jYXRpb25DYXJkT3B4IiwyOTI0NjoiQ2FsZW5kYXJNb2R1bGVPcmNoZXN0cmF0aW9uIiwzMTgyMjoiTWFpbFJpYmJvbkNvbXBvc2VQcm9qZWN0aW9uIiwzNDkwMjoiQ2FsZW5kYXJJdGVtUGVlayIsMzY4MTI6IkFwcEhvc3RCb290IiwzODk2NDoiVGltZVBhbmVsQ2FsZW5kYXIiLDM5MDEzOiJUb2RvQ29udGV4dE1lbnUiLDQzMzUzOiJMb2NhdGlvbkNhcmQiLDQ0NjA0OiJNYWlsQ29tcG9zZUFjdGlvbnMiLDUxMTk0OiJDYWxlbmRhclF1aWNrQ29tcG9zZSIsNTQ3NTM6Ik1haWxMaXN0SXRlbVNpbmdsZUxpbmVWaWV3Iiw1NTY4MzoiQ2FsZW5kYXJNb2R1bGVTdGl0Y2hlcyIsNThlMzoiR3JvdXBzQm9vdCIsNjAwNjc6IkNhbGVuZGFyQm9va2luZ3NTbG90cyIsNjA3NjM6IkNhbGVuZGFyQ2FyZCIsNjIyNjE6IlJlbGF0ZWRDb250ZW50Iiw2Mzk3MToiQ2FsZW5kYXJJdGVtQ29udGV4dE1lbnUiLDY3MDQ2OiJDYWxlbmRhclJlYWRGb3JtTGlmZWN5Y2xlIiw2OTM4NToiTWFpbENvbW1hbmRBY3Rpb25zIiw3MTA0NjoiQ2FsZW5kYXJCb2FyZFF1aWNrU3dpdGNoZXIiLDczMTE2OiJDYWxlbmRhckZ1bGxDb21wb3NlUmliYm9uIiw3NDMwMToiUmVhZGluZ1BhbmUiLDc2MTEyOiJDYWxlbmRhckJvYXJkQ29udGV4dE1lbnUiLDc4MDAxOiJSZWxhdGVkQ29udGVudEluc2lnaHRzT3B4Iiw3OTAwOToiUmVhZGluZ1BhbmVJdGVtIiw4MTEyNDoiTWFpbFJpYmJvblJlYWRQcm9qZWN0aW9uIiw4MjYzMDoiQ2FsZW5kYXJDb21wb3NlRm9ybUxpZmVjeWNsZSIsODM5NTM6IlJvb21TZWxlY3RvciIsODQ5Mzg6IkNhbGVuZGFyQm9hcmQiLDg1ODI5OiJNYWlsRnVuY3Rpb25hbEJvb3QiLDkwMzk3OiJQZW9wbGVCb290Iiw5MTMwNjoiQ2FsZW5kYXJGdWxsQ29tcG9zZSIsOTIyNjE6IkNhbGVuZGFyQm9hcmRBc3NldHMiLDk0NTI0OiJNYWlsTGlzdEl0ZW1Db250ZXh0TWVudSIsOTU4NzU6Ik1haWxEZWVwQm9vdCIsOTcwODM6IlR4cCIsOTc4MDA6Ik1haWxMaXN0SXRlbVRocmVlQ29sdW1uVmlldyJ9W2VdfHxlKSsiLmNzcyIsYS5nPWZ1bmN0aW9uKCl7aWYoIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCksYS5obWQ9ZT0+KChlPU9iamVjdC5jcmVhdGUoZSkpLmNoaWxkcmVufHwoZS5jaGlsZHJlbj1bXSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImV4cG9ydHMiLHtlbnVtZXJhYmxlOiEwLHNldDooKT0+e3Rocm93IG5ldyBFcnJvcigiRVMgTW9kdWxlcyBtYXkgbm90IGFzc2lnbiBtb2R1bGUuZXhwb3J0cyBvciBleHBvcnRzLiosIFVzZSBFU00gZXhwb3J0IHN5bnRheCwgaW5zdGVhZDogIitlLmlkKX19KSxlKSxhLm89KGUsbik9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG4pLHQ9e30scj0iT3dhLltuYW1lXToiLGEubD0oZSxuLG8saSk9PntpZih0W2VdKXRbZV0ucHVzaChuKTtlbHNle3ZhciBzLHU7aWYodm9pZCAwIT09bylmb3IodmFyIGM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGw9MDtsPGMubGVuZ3RoO2wrKyl7dmFyIEg9Y1tsXTtpZihILmdldEF0dHJpYnV0ZSgic3JjIik9PWV8fEguZ2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siKT09citvKXtzPUg7YnJlYWt9fXN8fCh1PSEwLChzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKS5jaGFyc2V0PSJ1dGYtOCIscy50aW1lb3V0PTEyMCxhLm5jJiZzLnNldEF0dHJpYnV0ZSgibm9uY2UiLGEubmMpLHMuc2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siLHIrbykscy5zcmM9ZSwwIT09cy5zcmMuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihzLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxzLmludGVncml0eT1hLnNyaUhhc2hlc1tpXSxzLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSx0W2VdPVtuXTt2YXIgZD0obixyKT0+e3Mub25lcnJvcj1zLm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChmKTt2YXIgbz10W2VdO2lmKGRlbGV0ZSB0W2VdLHMucGFyZW50Tm9kZSYmcy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpLG8mJm8uZm9yRWFjaCgoZT0+ZShyKSkpLG4pcmV0dXJuIG4ocil9LGY9c2V0VGltZW91dChkLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDpzfSksMTJlNCk7cy5vbmVycm9yPWQuYmluZChudWxsLHMub25lcnJvcikscy5vbmxvYWQ9ZC5iaW5kKG51bGwscy5vbmxvYWQpLHUmJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyl9fSxhLnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LGEubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSxhLnA9Ii8vcmVzLmNkbi5vZmZpY2UubmV0L293YW1haWwvMjAyMzAzMDMwMDYuMDUvc2NyaXB0cyIsYS5zcmlIYXNoZXM9ezQyOiJzaGEzODQtWUkzdGEzNTREVGEvbzVFWjFYbW1LLzUrTnMzK2RsMEd4WEZxL1Z1TTByT04xT3Z0ZTBuR2ZWUlhqdmV5Uk5hcSIsNTc6InNoYTM4NC1SUy9YTFZSWHdyd0haRGdBTmkycjE1UmhZNlgxVG16K2dmMDBuempsVmxoSDZSRzFnQ1VHOWF1a1RhQWw2N3lLIiwyNDQ6InNoYTM4NC1VTHBtNCtkVjBvQUxXWjQwdkRrVlRNUEVJTGRWYWlzNmZ4ZmsvaDBkK0t0OC8yKyt6Q1R2UU80L2kvSGd0Skd5Iiw0ODc6InNoYTM4NC1CM2VSNGttU2d4eWVVb29INldCVzNMRzRrN0ttYjhqVDJRd0R5K24wUGRySjhIaDNyRzBPb29mRjMrQkdOL1JaIiw1NDU6InNoYTM4NC1mUkVlTmhSbHMzV1NicU9wekkwMzNaZS9LbDEzRmthWHM1ZC9nV0Q1ZU5OcDd0dXY0cFIxUGZ5YkVnVHNDK21YIiw2NzE6InNoYTM4NC1lQ1cwN25hV1g3bERzZ0FSdjhxeGpEUXdmcERGSS8wY3ZZQzNUNTgxV05XTEpWbG43SU9rdllic01iRWxxVnNiIiw3MTE6InNoYTM4NC1vTUxTQndsbm9kK2NmMnFkM1dLTENxU1BYT2tXcmpWckNpeEltdEVKNWZpcVppYVVsMEFPMU1vRUNlQnNRREY0Iiw3MTk6InNoYTM4NC1xL1ZxUGlEeU1hbE8zZXhNaXRNZjNnSWpjMkNRQ1J1bmF1K0M2c3FHRHJuUzFmdTdEaDREdmFKN0c1dVg2S3pWIiw3OTg6InNoYTM4NC1qc2JHR0d6cENjZUpIWE9wN3g2OTV6Q240bUNSbUJIcjljWGJMeGxLMGRMRm0vYWhnUmRIZEx0VW0zMyt3T2x0Iiw5MzQ6InNoYTM4NC1CcHE5Y3R6aTE4aXl6d0Q2RVE5R25TOEp4K00rM29PRDV6TjhOSHROUFF5SDFEUTlhZU9Ga0xZenM4YktXb2FZIiw5NzY6InNoYTM4NC1XaE1TbE01LzFmOWxlaFdjYTVmRFZaQzAvVFdwbzNKSkFZRTE3V1ZPSUdicUlWbHcycEJNd1grajVmRjNsY0tzIiw5ODc6InNoYTM4NC1QeXNaOEVYcDBQbUVKeDdVNjNsdVVGV0hyaERyVVZXTnV2T1E0a2k5YS9pY0hGbWp5a0M1dC9ObVBmam4rUmptIiwxMTMyOiJzaGEzODQtQ3lIOE5SVVFEVmxSbUo5eDhWNDgxRm9EMXFJNlV4d2JzUWR6ZnM0UXNGSFJuTWFrWXV4MEVwc3JKY3RRbjUrMiIsMTI1Njoic2hhMzg0LWNCdytFRG9mK3cwL0p2cWN4eHV3aDFMeXkyNUFiejNuakk5bU1SUWpQSFowOGhFN2EzSUlnbExhME5LYTdxVWEiLDEyNjU6InNoYTM4NC00STFEU2dmeDRyZExJa3RxR01Ybm5FYjhWZTJIRS90Mm4zQ1ZsWlROTEthb1NmMEVQT2UyQ3d3b0Q0bm9UdUpPIiwxNTYwOiJzaGEzODQtSlFWR04xcGdFTGVHYldJeVo1czd6MlpxY240M0VVRktHRmp4L1d2Y1RiTU0wWnVTd3RkUjcwWVlrTldhQTkxQyIsMTYwOToic2hhMzg0LTEvT2dTLzVqR2IyQXdTNEV2MnpsZDhLRnNEcFlHRGQwYUZ6clFJWnhyQ0kxdEdNWG5yNTdzaGs4Q1Bydy9nWC8iLDE2OTc6InNoYTM4NC14RW1FMVZVTjgzdG1lL1BuelFDb0pRaFlWeXBJa290b3NUUlRFam01M3JkeXlZdVBXSTBQSy9yOHZZU2NvNkRmIiwxNzczOiJzaGEzODQtTTFMK0YxN1Rzc0VqMlZGb1VjUGY0NXBvbjFFeEY2QlZ4elRQY3BybkNuT3FOOGdTNUdtZzF0c3VMVXAvNWpJYSIsMTc5MToic2hhMzg0LXFiUnlHdmI0cmE0ako2WVJ4aHh6NFE0bk5CUUdzZEFML0grckhMMGF5Rm1jZlhHMzlMcE9VbHczUGNHMk1GS2oiLDE4MDU6InNoYTM4NC1ubXU1aG9wZ2ZYZ2x2OGpxdE5ZZmJDZ1YzNUV5OUhQa0pUY2YxQ09GcXJvcWRDYlpjTTJWRy9kQ2c3M2Z2dHpEIiwxODU0OiJzaGEzODQtM0Q5ZWNieEFITDhEU2tjaHVUYjRmRW9IakxEMTFReWtkUHM3Nnl4RklrbTcvcFlLTWtRdlpYSVR6VitxU2lmQiIsMTg2Mzoic2hhMzg0LWw1SGgwMXliQ1dFZkxBaVhGQTloa3dITjRrbkkxMUl4dVFXZ0t4NzMvTG1PR3FTNzBuVmFEaWRrSlZCMWFGdXEiLDIwMDY6InNoYTM4NC1YSE4rd05vYlhSVVA3bkdPclpWQmc2MWYyNWFIK0NycitkQnNkck5jYXRaWEI3OERmWURqbXNzTlUzci9JNWFIIiwyMzA1OiJzaGEzODQtVHZiQzBnblhZajREY0VTMGM3NHlCUjN5R2ppcU9ER0NhVXZUUmtNZ3lMRmhwQXpvYUkwTm9lYkN1d1hubUdSdCIsMjM0Mzoic2hhMzg0LXE1VTdLSkR2bHVSSkplV1haNFBkTVJlVTl1UVYzdkxwUy9idmVhd1NMdVlMWFVrK0lIK3F0V1o4QTgrY0J6eTIiLDI0ODY6InNoYTM4NC13T1RRaE9HQkcrbE9wMUpJaDVrb29pM1pZTm1aZi9iVDVObHRzYk82UWR5ZmJyaHNSdmtFTGxaT3I5bEdLNWFJIiwyNTIzOiJzaGEzODQtQlNHYzZncGhTaUE0dlJlcUl0VkdvRGcwcVk4VXZrVk8wcWVCMm9uaVowWmJOZzliSUJPZTN5YjVNUUpBbXBiRSIsMjU3Njoic2hhMzg0LVcvU1R3dUU2OUc5TXRSRVFPeld2b0NPRFBYeHl0TE5EeFV1N21BcFJ5Y0w0OE5KVzdUMzRITFFLaStpNDhZYjkiLDI2MTc6InNoYTM4NC1TNjF2cW9xUWtGZ3E2bUE1YXgvOWZSWE9FaUVLRExLRVdaYUdWU05JcmE3bUNZQ0hiaEd0QUF4SHh2OFg5NWJMIiwyNjI0OiJzaGEzODQtWk9hcmFLQ3ZpVGxLc3FjRG5ReVNlNWJoR25DeE1MVFZQV1hHOTJBY1FRL3k5aEQ2bXAwQThBSTdxNVFrTHBJOCIsMjY0OToic2hhMzg0LVBsdDJ5ZUE3QlFKSDJQSm1qblFXMS9WOVlJcjFkNXl1MWg0Z05MMEtJZjE5YzdRVVVoR2ZMZEYzTC9pbWZ4dWciLDI3MDY6InNoYTM4NC1wTHFUWTlOWm9SL1NqOUQzaDh0UGhmcnRrZ1ZlZzRQOFo0QUxJSG05bGhhb2xWUEF3T3hxV1d1QWJ0NXRVZWNMIiwyODEwOiJzaGEzODQtSUk4U1pyM3JrcExrQ1RJTkpiN0l3T245WU10Q2xmc2RjSjlLd0x5bjJNTG5QcWVnbmFDRktySlkrcmZyMHpkcSIsMjk1MToic2hhMzg0LW1vQUFqSGVzNW1VNEpsMjdNSnhXVVpobUZMMzVnQnp1b2I2SFpoczd5MlVDV29JcmhSSXRRS1NYbi9SODFzTEsiLDI5OTA6InNoYTM4NC1mUmNETGxVaXB3Ni9mMTA3UFlyRjR5bzNudmZkQ0FLdmlTeU1ORUo0RTRwZEorOWJYUDlzaElEQ0dscnQxYUdJIiwzMDMzOiJzaGEzODQtenRvMkFlK1ozVm96bFBhbG14dk1YL2hraTM0U3FNajRLOFVabDlNSHhmY3ZoSmtxWi9SdUlmWEhnOG9wZHNRWiIsMzA0Nzoic2hhMzg0LXE1THBPMnRsY3J1MVBSK0ZkYlkwKzhqemQrNnVNQTllQTlxMmtRejNFenY1T1g4MnE3SFdHTUIyWUk5cUtKaXYiLDMxNDI6InNoYTM4NC1NZGt3eWNHRCs1dWxqanFqTEgrbS8vcGcvZ1R5bmkwYnFOaE1GNnhTMFZtdnBoTmRPMEZCcjVEdXM5cW80SURmIiwzMTQ5OiJzaGEzODQtQ0VOdDNEZFNML2hheTNlanYzNSttYTVwSmtpN0E4SE0yeTY2eWo1RjMyKzFmSWRhVkZMak1KTWppcUlrUjNDYiIsMzE3MToic2hhMzg0LTJUVGZiMjl5VUUwSmo0WUxkd1dNNlcxL1lRL1RPaUptVFN0K05mbWJ1UHBrSnpOVlhWbnl2RVo0MmtKdTIyQXMiLDMyMzM6InNoYTM4NC00MzZvR3pXQi8wTDJ3OHNQR0dzeTB3ek5ERmlqemI4SXFYMnpjeWQ0dW1STEpqcjg2UmVaQmxDSXA4YUdLellPIiwzMjM2OiJzaGEzODQtR1JhOHp5cGNrWm9RWUdLV21mQlJ0dXJqMGtoaXZYbysxdm84OHVyQ2Fwbm0yN1Y0cExTMTBFMlVMUW9adGRVNCIsMzQ4MToic2hhMzg0LUxLUmJwU0o0MjBDMGtkZ3NXMFdkcWRlMzg4RVJMTEFHOFFPeGlGbWFFc1NMaVZSTlRnb0pLOGExd21JYkRaVXMiLDM0ODI6InNoYTM4NC1HWlhvWHo2bG1WUWhnbzdkOEVnb3JnVXlERlRXS1JpNmo0MDlXNFhGZVJGMnI5Wmo4K1hiVHpLZ01SRVB2Z0taIiwzNjUwOiJzaGEzODQtTDczYWJ3VGlBemcvNkd6cTNtNCtmUEFaYWJQbUlJU2h2bGV6YmloYTBmalp4eTJ0SEt0eitKU2VlMVVBQzkwbiIsMzcxNjoic2hhMzg0LVRHRnYzK2FSTVlzVDhNQkwwbkNTV3hrOXVpQUNSL2hpT0pZTmE4YzZKOEpVcDM4M0FhOG9ScmNvNkUrRFo3Y3QiLDM3MjE6InNoYTM4NC13SVp4ZnJMajNDZ2JXNHl1cEtwblV5aEhac1NpRmpUVFVpN213TUtFVE9JWGVnQWIzdTgzYU01VUlYQTVGWkd0IiwzODI0OiJzaGEzODQtaDlSUXNkWGVTMmx5eC9Hb3pyRmRpR0lwSU9pTXE5aWhnTkNlL2dvL1RaNlNrdjhTUytZZlVGK1VpZmMwOFhUYSIsMzkxODoic2hhMzg0LUU3bmhNc0dFUnd3Yy9VWDhzRHJvaFcwdllPcFlOUDNlczhjUGV6eEYzK3N6YlJsSjllT3RyVUZTRWhMWldaUFkiLDM5MjE6InNoYTM4NC1RYlBkSjhlTkpDeEdrQXpKR0FtZS91Tk9RZXdpS0UvS1N2T0oxbGRVQSswemsxNFdxRjI5T1IzU2k3WUs4L0k1IiwzOTQ2OiJzaGEzODQtM2N5bnNmY3Z6endLYlNzYWcxazF6MFk1WmJ5cHZpTy9BUkVuRFRmZUJ6enNoaVNRa1NBNkQ2eXdsUVhCN00zaSIsNDA5Nzoic2hhMzg0LU40K1VoY1liUkdBZnlFVVFCZVAwY3Jkb3ppdXBwd0VVSll4TmcxNmZRL1dCSUQ0ZVlsOHhhV3crN2p0MlRGeUQiLDQxMzA6InNoYTM4NC1kOUlZR0dBRXpZRVFMcGNGNUFKNlFPSm9NOEhhMEM2NDI1WmpxRlBmVWVOeExQZHFGeVpXTGM2Rk5sZytHaFhGIiw0MjAwOiJzaGEzODQtV3ViRER5ZGdpQVA3SlFLbm02aTd2TUhVcTNnWlp5QkIydDBqeFlvMUtPMVFRZ0EvQWtoeWRVTklIRmYwUkthSyIsNDMwNDoic2hhMzg0LW4za1JrdnRMVjQyelU3aWVzOXdBTUdoVWRlcU5lR1pPRVBFaXdrL0dFais5QW5RdkIva0RwdjFvQkVXYUQwbDQiLDQzNjI6InNoYTM4NC1LeEpNS1pJN2p6MnpZWkxWQUFRSHFwSzVIVnArZXpTOG5IS2x3cFU5T005TUJoR0ZySUpHKzhwSXJJbk9mMTc0Iiw0MzkwOiJzaGEzODQtNUxTbDcyL2k1YTBLS1M4YmdQR250ZmZQcDY1VnVhU05GR3RMVEpYTjhyMUd0WE1QSjJYbXVGLzB1ZTJTcFhCKyIsNDU5MDoic2hhMzg0LVl2SkM0YlZmMW5KbE9aV0FiT1FCaEp0RUlQakc3a25ZdXUvUDY3V01LdFJpbEVJQk1NQ0NRaUtsRmNONzJVWTQiLDQ2NDE6InNoYTM4NC15OXZzTnk1bE9OVUMzNWFubjBHemh6VmxDUzEwZmFxLzdlRGRtdnNCWUtVMU1tdHdXcWU5KzBEZzFyUXRMdEhQIiw0NjY0OiJzaGEzODQtNWVSa2VkQnI3NFpPM2RoNVRLRWJNWGx3aWpKcDdyMVVmc0JjVlkwMU1Gek12cjRTUEY2UkhyNTMxTDNkUld3WCIsNDY2Njoic2hhMzg0LW1zYzdYZEJhZVRTb2N2NjBraS9FbzJQYWc4UHppa2txTlZpNE5ha0o1bnd0WGt6Z1M4VGdqekZYZE5wWmVYL28iLDQ2Njk6InNoYTM4NC15UlJVUlo1N3o1YWQ3azdWSmorcHZBSmpDU0lKYkFOWGNFN3RuNWloL2tZZ3BsNWhXV1U0TWJUVFM1RFcyZ1BhIiw0NjczOiJzaGEzODQtekI0VHRGNTFRUzVrMHFjSFZWRnpxNTNwTkZjeW51N1NSYXVYTFp1RzkzOTNzSE8vRkpYdWJDTUs0aitwcU4zRiIsNDc2MToic2hhMzg0LW9nblFidTJUVVJzWWNmWGRhbUpFZ2hicTRIaGZMTXFsc3ZEZytkRTRvTk1ybm01MVQ0YVd4bFhheTltcFpPeGkiLDQ4MDI6InNoYTM4NC1Bcmg1b1VoSy9jR0QvVm1pWloyQ3dtUUZlUWM4NmZxMU1XVWdBQzNVTTBrUHl1U0hacGpGekUyVmpkckg1emkvIiw0ODQwOiJzaGEzODQtZUl6czFRZjFEUDY1OFJ3OWE1a3ZodE5DVFRLK01OTVB3cXdSZmtDQUpwc2UvMUNUU0d4VDBMazlkenJmM1JJWiIsNDg1MDoic2hhMzg0LU5PZHJDMTZ4d1NWaXJLNlhjWGxYY3Uza2VHZER2VzJHNFMxREZrQmpldWNRTkRPcGZsUE1Rck85U3NrN2JUeTciLDQ5MTI6InNoYTM4NC0rNXpaQUlCU0VUQ1BZWGxDQTM1ekdJNGIwcUlVUTdQVERnZFMrdzlsVVc2NHQyYndUYm1SS1ZOdy9vY2xIV3YxIiw0OTE4OiJzaGEzODQtRG53amdEQm1IZUZsWWJZNVFBaWh1VFplQ2hzek9jcitRSnZrSUNpd0duaTRnd3RTZkgwNVRzUDBLZ1lZQk9PTSIsNDk1Njoic2hhMzg0LTQ0WW5QbTFHcDFSR2N6WityY3pTQk55RVVuQnltcFJGRmk1RkpDS1UxVmpHeDFWQ2c3YzdkVmN3WGJDV1B2cC8iLDUwMjU6InNoYTM4NC13K1VzUk9CVU5mYkMyRnRaYjlsQmVQbjFxNGRyTS9PY2t1cTlVK2RoWjVUYmo3UXhkei8yVnFwK044NFVGSUVFIiw1MDM1OiJzaGEzODQtazB3a0RpN1RhQmlZVHNCSkp6SEJmc2lSVkU1TXV6QmpFdVFFZDdvMFpHTXVWTVlPTmtCQUd1MllxY2lvUDg0dCIsNTEyMToic2hhMzg0LTgzYnpyL09KSEgyUzUwK0htQWpWRzhkSklWUHhoVG54QjFybWVqdzh0TDlqaEhKeVhRQ2UrN3RadUhFQnJqSGYiLDUxNDA6InNoYTM4NC1XTGZQbVdTTnh5SXhGWGhZbEtJalIrMHI2VExwQjVCbmtQTzhGRnVTMllSVXJNQlhGSzFQVmVvbzNSM2N1UVhHIiw1MTg5OiJzaGEzODQtVmFnSzE0VFR3d2VvNzhmblRVY3EyVXlBK3dEeVRiOWR1RFFnTmNUUkpCWW5yd0FLbHFuK1lsSnE5OEQ5TmpaLyIsNTI0MDoic2hhMzg0LVpaNVVHS0VLRU45SUNtZ0hFM1ZOMExyUGRaMWFyOG1iZkk4cnRqdk1RdWtwcTFwcEhIa2lDSnY1cTN3SlZOcXkiLDUyNDI6InNoYTM4NC1RQTJpZnhVY2hjT0NDTVQ3d1JhQmFTKzB3UURpc3BFakh0RE1XeTZ6QWRzdkJDZ2tjcnNET1o0WHc4YmxOZDEzIiw1MjY2OiJzaGEzODQtVVVGVldOQW1SU2dWQ3RkWTFIcjhqMUFJTDhEYXBXMllYTnluT0tkWVVHTGRLanBoQml6MmZ2T1NoWjlBZEVvQiIsNTI3MToic2hhMzg0LW9lc20xTnZXK2hTRHN5QUJrN0hZN2loUjNydlR4K25JTEkxdnEybEY3MkgxVmVrZy9vcnMyQlloc0l0S2tsNTMiLDUzNjQ6InNoYTM4NC1EZ0JkSmhYSUdKVEt2Nlo4ek1sNlBiRmZLNTVqWDZjWWFZenNKbFVPQ2hPM0tWSjdCWVF2MFlNcFRKbTFOc3c2Iiw1NDQxOiJzaGEzODQtb2tnbWZXRXl2TW9aRmdObXc0Wm9YenlyckQ0TzBDWFczUmV3RU1URkVVcXRVbHRFQXNmdW9LaHBqb1JxRUxtUiIsNTUyNjoic2hhMzg0LWw3dGNTVGlab1BVSUkwUmwxSmJmN3FsOXZaTE9nUVRMU2lUaXZUam52alk4cEpJMUNrakY2U0ZsNWd2R0l6ZjMiLDU1ODM6InNoYTM4NC1maWc0cVFjQUNTYWE2UjFUK0xPZzUrWlZ4cE11aFJsVkdqY0dnR0pxcHlZK0VEYU9UaVJMSnJSWkhqVDBCTWU0Iiw1NjY2OiJzaGEzODQtR1YzU3BBMXBuTnRPVFBSemRDNHJwdjdITFJYWTZUVlkxZU5lM3ltVjBZMnRYcDVVS3J4aTBlc25LdFRERGdBNCIsNTY4Nzoic2hhMzg0LTRnU0QrT1BCVDNSWXlDNHB5WFJtT2phSUFaZUY2NXBVQnA4d0dEOXJKZHpjMDA1OXBQOWVyTUNFdXNlNkQwZVYiLDU2OTY6InNoYTM4NC01SExPS2xqeFJ0aDVmQlZMT2JDc0M3aE9uM1RObGJKdnlDb3RaZVhQUk05a2ptWm9EOStJY1ZhOHYvVzBzak9sIiw1NzI1OiJzaGEzODQtcUh3SE0wY0wvaXNWb2xWa3IyT0VJSXp5ZEFjd1RVYitRSjZTK21mVUNCcmt0UmlTRFZaT0lmWG44Y3lyOWVYWiIsNTk1Mzoic2hhMzg0LS9DV29leUgxMlhOWEZSeHE4bDJrUTZPUE0walkvY3VEbDJJSXJHZHlRTDBET0dPVkpvcHljUHljaFpGbVJ6UVYiLDU5ODk6InNoYTM4NC1zMTVaUTl3UWQ3RzJxUGpnU0RFR1FVblhWQXArMWVlTjU4UmcyclZpZWdRYzRRMWE0Y0hlU0ZyVUNpV3V3cW1VIiw2MDEwOiJzaGEzODQta3FnKyswOFdZL2oyOHdPbWtyNS9ScTlzQkwrRDY1RlZEdDY4NFBiSWIzV2VDMkg5Snk2ajZRbTd0K0Y5ZWp3MyIsNjIzODoic2hhMzg0LUxuQWF2Z0ZXWTlLeHZRRTBVV3pLcmV5ZmZOZW9sMGpUcjY3UDU4Mjg5SjJFQi94dVFGZ2YwbzVVZWUzMW01T2oiLDYzNTg6InNoYTM4NC0wemw3M2JhTkJSTzNMU0lHYzNoc0lmRU05d1V5ZHUvM25BQmNqcHoxZ05NbVNHemlOVkdnZVE5RmdFUHNrZFErIiw2NDk5OiJzaGEzODQtb3h1UUpSTXRnSkZoajhqODVhY0Z4OWNtMGQwZ0M2MVVlSkxFYlhzamFjUzZCanZDU2ZBSmRJVWlwd3B4STdqNSIsNjU3Nzoic2hhMzg0LUZLN0pjL2FWZEpPVElNY3hTMFFUY1R5d3N0SXpkam8yRlpuYkxJcnZ5MTFKN3J6dU9LNWNjR24xT1VUbFpFZXoiLDY1OTE6InNoYTM4NC1aZlhaYlRJM09hamU0cnZ4cWQ4aWErVUkvUTV2SDVUU09PaERRenpJQ0NQanRDem16UG8ydnkvM29BOEJCdE4xIiw2NjAzOiJzaGEzODQtcGpxM3FrYU13WVlQcVJmN1R6MVRmd2YrdUE1OEp3WGhNVXRHcEVOSGJZeE05TTk3R1creDZURFZOQWZITVNiUyIsNjYzMjoic2hhMzg0LXVEalNVc3crN0hEYm54QXZoZUNRaEk4eFU3TFBGazRHOUxSVGxBcHJUdGZvblJaT3BLTStic1hkOE5BR3cybXIiLDY2OTk6InNoYTM4NC1GMzlUdmVQSnJPTWF0SVBWMnEzSEhLWHZvSk53RW5FbXg1bWlud3o3cFo5NVVDRTVKZ3BPVk8yWEJZWmtoWnZIIiw2NzExOiJzaGEzODQtZjBvcERUTysxMTdXM2hqdW1pT2w2Y3NlUEErcm84ZFVvZE9pcG4wRDM2bHJvblJTbnhKU0NQUWVyTFFtank1NyIsNjczOToic2hhMzg0LXpIUVlpRUplempCNzRjL3lxNmU3Z0lQeHYrRWM4QTNWRnRyMy96QzFFMEp0cXNGUGVEOC9tdG1JZzFlL2hBaXIiLDY3Nzc6InNoYTM4NC15R3lING9iTkZzREZoeGJia01aVVZJYnNCYjV4eTBOZ2FmbjdOREhRQ3dXQWw3WVpnWHB5cXIyVWlBTjBkVmhyIiw2NzgzOiJzaGEzODQtRktVL21STWZxc1NURXc5Z3NaT2VsN2M3UXhGRkNhbC9CdlBEdE90TGZ2dTJKeVZZUFFYOWlUMU5tOHZ3bjZIcyIsNjk0ODoic2hhMzg0LU1ncWZndmdPN0ZELzhxWFdVZ2YyT3grdDIvUTE1K3dTaDhoRGZxUGFFbDRzcXVhVWRLK0p0MFN2ai9lL1NBNnYiLDY5OTM6InNoYTM4NC1GMFFXSzRMQjBJT0xyMGZCVll4dEhRRFZkRXBuOWVGSmdEcTlROWIrZGY4Wm9UVHJnSGtGTHo4ZW5jYnBhUW9FIiw3MDQzOiJzaGEzODQtR3pzNkRPcC84Z3hNL2xHblBYdndWMUxUZm90SzZDRnl1aHZrcHlVeDJRWUxrTFYwb2lwNGl6SC9Vcmd4ZVhKRCIsNzE3NToic2hhMzg0LWhSNmRNZzQ2Ly9TN2ttK25XRHFabXdBaU90Ny9oK28wQ3k1NnJaWmVCY0JFN0R4ZVV5OEtEYUhHOElvOGlibFUiLDcyMDc6InNoYTM4NC1yVFl2dkxYYXpEMkRhUUdOTGF6a0pETmZqYTFROTBQNC8vaE5ERUkraGJ0VnUyd0g1WWFrdmNncHoxY3VNWG1XIiw3MjIxOiJzaGEzODQtNG1heEhHWFpPRzNHYjU0RDNGY3ZWOE9zNGlnQXA3VXhERXQ1Y2RveUlrY1lnQUdkQ3dYbXlNZ2V6SERub1ArMiIsNzI2Njoic2hhMzg0LXQyMmphR2dENXJYcGtHVDFjVWc4UWx5bHY3Smc2SXF0ZTMrMlpaVmVDU3hvZEplbGVUZ2g4eElvdGlza25jOVoiLDc0MDI6InNoYTM4NC1iZGdSMTc1ZDZRWlAwb0xweFBlUmJtc1o0cEROUEx4ZWJyUUFYTnlwL2VvVmJESWhVdXRuZlFnK2hBRkFqYnFCIiw3NDMwOiJzaGEzODQtemh0ZFZockgxY1BWL09xZ3NzV1ZGc0hMUnVDTCtqRGpkUHpManRueUI1MStsSnZERHl1M3VmMnRiSEZrMEFlTCIsNzY4Mzoic2hhMzg0LTl2TkZRNW1kWDlqTGhLNHpFTGZHRjd1eU11bmlIaS9RTVI0U0RKM0daQW5IMVA5ZUZBWTFrUGFOaEhpbklHWVciLDc3MzE6InNoYTM4NC1SaXVlWUpQSVJQY2graG8ybUpIOXlTck5jbDhlL3BoM2g4MTV1SWZlRUlhMTJPd0pHT1oyUkRabmRFcUJZOFVKIiw3ODE1OiJzaGEzODQtU09mVFBYd3RlckJ3a2J2NStqbUxTaWZMUUtLb0hlQjFBUkRmSk9ZZGQzWGpacmtNb1RwMW9sVEZNdThucGpMMyIsNzg3NDoic2hhMzg0LTMwRDROa2k0anlKOThBcXFxamc3ZSt1R3lMZ0tPcGM4OGVuUzZjbFZEclI0YXkzVURPSkYyc2dIL2dDalN2MjYiLDc4OTI6InNoYTM4NC1QWGpvMVVVQ1ZxeTVlZDdSL2NiU0NZd0FMbHVvaHAzR2ZZUG9jTDg5dGV4c2RYR0pyWEczQXkwNTZqMDExRWxQIiw3OTI4OiJzaGEzODQtaUpCVmMvTWw4Ty9mOU5OaEg2WW01M3FlWnRaQXF3UU9xTndlZUFhVCtCU3N3MTg4VTFQTTNabzg2cStvMFlodCIsODA2Mzoic2hhMzg0LVpBNDdqR0RaendzWEQ3MzBMaW9zbjZDYTNOSHFhR1JmN1FuWUJGSHk5d1IyUHZxYVFhNURYU1NZNFhldzc5dHQiLDgxMTM6InNoYTM4NC1pWk9XTzRRcjVwNjlFeENobCtPSm0rNDFOS2xJaUNCSVZQeVlsVzFKL3I4Rk5CZFJzY1dFTWtXYWFFWllra1VQIiw4MjkwOiJzaGEzODQtSnFFQXEvZ21YcEZLR0M0djVxT1REa01WRVpxY0pvRjN4eWVhT01XdE85OUI2aG9oZk5zZDRrVE80U3lrR1ZiTCIsODM2ODoic2hhMzg0LUN2Q2JpNmFqNjZja2xKd2JuWlpibWZZQ3lrUGk0YjVOWjYvbSt2Rk5aWFM2WWZMTUFoT3N4RGNYc2ZKZ0VJaysiLDgzOTE6InNoYTM4NC1wZ1VjR21TY0libkZTYWdBZ1RUN2g1ZVZXaktiRnkvMFJKMmRRT0xpSUJCb3I0Z2NabmhEb0hRY1ZVNmFnWCtsIiw4NDA5OiJzaGEzODQtS3FFRm5vanFiaFhJcHlENmFLUWdzUlV6SHFUR1JOZlptclEzejRXNTA1YkxYNXdBajBmYytRSlRBTnhRT2ZrMyIsODQ5ODoic2hhMzg0LXo1MHZGL0xqbVg0VXA3UmZqdW84cW5OZVhFeXF6ZDhValZzd1NiTktxZW1WV01mZTlueGlGWFpBbWdFQnhVdU8iLDg1NjM6InNoYTM4NC1XbWxWSG12RHQwZXdlYlZxcElZN2p2ZFhMdGM3THQrVmRhUnBYN3VnUXlrV2VnSVFlS3I1Z01jeFl5WUQ3TVRnIiw4NzU5OiJzaGEzODQtM05tRXYyUElWSVBWSWFLZmR5WVpTdDd2clczNWh1WXp3Y1ZDTHZNcFluZkovY00wcC9JU214YkNyM0NldlQwSyIsODgzNzoic2hhMzg0LUExZE5oUFNKUzFtOUQ4eVJTMmZZcUEvVTVZdWQ5MXYrMUJqMExPK3hEOW1DTzk3cnZGbHBFdHEzK0dpUUxnRGoiLDg5MTc6InNoYTM4NC1UN3Boa29lNFNIbWlNaE9yQVlNK05HcFl4bFdBRm5VeXhhQmQyemtiTnhtWFZIUlRTS1g4SmlJUXYweWtVRXlKIiw5MTA5OiJzaGEzODQtbC9zVmx3WmdJSUU1OVJPR2U2VEI3VWttYjJWek5XdGNhNHVodGNWdTRmQk84NzRPd3FGYkpXdFVzVTFwR09wVSIsOTEzODoic2hhMzg0LWNnZDJYZDFpQVJYYzI5VStoZitWRi93UnNlVlZSaHJqSDV4YURlRUVaRnVyQ1pVWm1XRFU5NFFIbHRTdDk2MzIiLDkzNTA6InNoYTM4NC1kLzkzU0pSNzZKU2svMGdRTlgzTlV2TXEyS3llZ0pZeEZ3TVBkdzBOVFBjNGZxajVSN3A0dmNuZnVXczc1MFJTIiw5MzU3OiJzaGEzODQtVWRlZVlTeEhQdkVyaEpTQUlLMlBScnhCZ0RldnQ5ODYyNTZpTzB3TGlocXpXblVPaXpmZEhjOU5NbHRuMDF2byIsOTM3Nzoic2hhMzg0LVp2YmsxWG5KNm1BUlZTd2EyN281cVRmRGZESGpFeENxd1prN1AzK3dHYmlXQVFoSGExdm9UQXFPcGRnbHV6WHoiLDk0MTU6InNoYTM4NC01eXg4QWlIMU5CdjNnK1JvT2ZOWUlwdFM4dnV6VHJKU05tT2M2bzJjZFp4SSt1MUdreDVYYXl2ZkZFRUF3Z1FKIiw5NTI4OiJzaGEzODQtc2Q0WUUzZFVEOXluS3hIQ2FIbnFpSE1ZQTk5ZTViZkFnRldPYk13M1I1cEJtZlRUZHFHZW1xaXVrMEs3S3RJSyIsOTU5ODoic2hhMzg0LUhPZGJKT0tuSnRRRkJhYk1ncDlLVS9MWmYrNnBHUDBWRmxQNU03ck1SZWQvRlRlUk45bndnSnVPdENzOEE0M2QiLDk1OTk6InNoYTM4NC1UNFdDY3ZkSU5pdlBIYU1tL2JBUTN3MGVFYlRCVFh4MW9pZmtVL21MQVZ6alFETVBhZjE2Y2V6M3MyWjE5NFpoIiw5NzEwOiJzaGEzODQtb1U1TExEVHQrVHhpZ3Nyanp2NVBnWnY3M0x4eWVNZzkwNXNabE1aUHNhQVllYWE4ZENoS09JZ2hnOUUzRDBnLyIsOTgxODoic2hhMzg0LUlpb0ozVDcxMGd6MUhBdWFobXkxTFJLREZHZlBwZTZFc2NDUXh4VUYrNmMvRzN6L0ZmTmNWcDhKWFo1RjE5NUkiLDk4Mjc6InNoYTM4NC1BcmZTMDZkdzJvbkJObVJXbGJJN29MOWtEZlZrMHdNcUV2ZGpMK1N6ajJoaXJpSkVnVnY5SDJvSWRtaG1uZ0F6Iiw5ODM2OiJzaGEzODQtVHdVZTNFZnRCTnNVbFdvWUZQOVc4TWVUcU1tRzdteEZaZ1g4TnR0dlN2VkNDQUh2OW44eGRWUldWcWxxOHRiayIsOTk5Mjoic2hhMzg0LWFzLzkwY1piUEViUHd0K1VUdEw1eWN2LzQrSVA5RXJXQlNVdjdYWXRYb3A4UnU0RkZWUGx2ZDl3RXY5akZiUm8iLDEwMDMzOiJzaGEzODQtN28xK0gxVjFXS0RIelYrTEI3eG8zTVUvdFpVZmdLSXg3V2R5aW1UeHpVcjgvbDhpV3VUcm9xUTNjVmY0OTRkWiIsMTAwNDA6InNoYTM4NC1rUUtKbS8zVDZyK3IwZXpTTFFxWUl4WGczQUxlTHVKZWRwMG45UkpHdXRHU2h2b3JPcXVRaDZmMWRZOFY1cDdLIiwxMDA2NDoic2hhMzg0LTZDMjZvOFBiRlhiSjZIK2FLMml4RFVCQVdobFBpMW5nYnJPbHl4K2FWaWlJMjUyUXB1QXUvRndFR083bDd1YkQiLDEwMTI0OiJzaGEzODQtOGU2SjByVzA4bHRpTENEK0RCOGU5UGk1Vmg4bE9tdnZZRDQxQjU0dG13bm1lQmJxZ1VldXd2V1V3Rmpnd2IycSIsMTAxNDY6InNoYTM4NC0zTFdqcE1YbUxYVmNROTBVcFNEZ2xVOTd3QXpCejYxMjdHRElNV0lwTGF2WWlRSUlmL0s4aFJ5eUd3dEdWMGpjIiwxMDE4Njoic2hhMzg0LU4ydkpyRWFWazFNbnFsM3lTMW9oVWNPd3EzbUFLSFhJMWgrN2p2MjZwbmVaejlLRUs2bG9IRytpUy8yREhIZXoiLDEwMzgyOiJzaGEzODQtWmRoRngwSjZUVXo0eGNDbGp2bWNiMzdYQ01uclB0Qm9WNlZ2dW5IMU5SNFlSaU9GZWpJcG1QbnExTHlxUitBOCIsMTA0MDk6InNoYTM4NC12RTV2N2pIa0QyRnNqNjIyRjB5VVJHbzM4ZVYvN0tmZkxabFhqMlhNSWFVY0FZLzJoenBad01nSHdXSm9aUzIxIiwxMDYzNzoic2hhMzg0LWEyd2xiQzQ2c0NsTTQzU29BRjhQMHJnMER4QWplWDFaMzR0UW9IMU14VnFuUHNzOFBoRnFjSytxekxDSit1Qm0iLDEwODc0OiJzaGEzODQtdVBsYjRNblpYcFJZcHdMaWJxazVWZjlCd3M4bnJFUktBd1o2cDl2eEdZUlluRml1WnJ0Q1F0T0ROem5IMWIrZiIsMTEwNzc6InNoYTM4NC1YQmY3MFQ0L0JPT2dHaFc2NVlPVEpGZHJ6VkhkUDUweFh5RHVRVHVTVjU0OGdzUEFVYTc0WXFOK1Z2RW9ZVHlpIiwxMTI4Mzoic2hhMzg0LXBrOHN5dVRDT2pUZHI1UlB1ZWZST3hKTmJ3b01aTU1lL0tDT2lEc2QyZDlnV0ZuNy9HY24zNEJxVlluMkFCN1IiLDExNDI2OiJzaGEzODQtbGovTXM1VE1wb215N3ljdGRRMmhsd0I3VFE3TXNzS2dBTWQvSkJkNi9xNWNod1pBNWxVczkwL2wvNlR1bWFhcSIsMTE1MTY6InNoYTM4NC1uQzFBUWNsN2ZLSjFWbElqVmlIVkt0TTIzMDBQUFdvTVMwUWlPdzBYMGN6L243Z2QrcW02SUVYS2xObGJQVkxJIiwxMTY3Nzoic2hhMzg0LUN2aDdIVHZzNC9ZUi92RDBoTzVPN0NYTmRpcElCTmg5clB4Y3JqV2YvcXZYWUI1dmRhNDhNVzlvSWhnQXpJQ0oiLDExNzQxOiJzaGEzODQtL2t2Y1pOcHdCS3hsTHJwN3R6Vk5FWEw3UlNhamxOc3N0RnEzWUdwSGxQcnBhU2ZGU3lDSnFDMTRvU0VOSVRMTCIsMTE3NzQ6InNoYTM4NC1jUFdXWHFEMFBxcU00R3dlLzdTbHJzME14YkRIOUVVbE81enFRaUdMbWt4c2U2enFxeWpKblFvVHpQWjdKVWV1IiwxMTkwNToic2hhMzg0LURqVXpqNUZjM0NkcDVKNHh6ai83OVZmN3RpWTZXWXltWjlZaDNBbzBzbmlCK1QyNFNzbkJXRlExa3hjaUxmVWEiLDEyMTQ5OiJzaGEzODQtZjhXZXpFWjJWUHErajlMMDFDZTRFTGNNYmdwWDYvMGxRR0RtQlc5VFRxS0VLUGxOTCtpMzhtOHU3MDlsS0N0RyIsMTIxNzg6InNoYTM4NC16TmFGZ0dKNzhyRDJIZnNINmJUZksvbmJHREZ4VmVuUVRlVzBqVGdCN1MyeHplTUUwMlVMQ0xEcGljODRZM24yIiwxMjM2NDoic2hhMzg0LXlGM2FzOVdXUU43WWVrb3Q3SFBFRlR5dkFvSkVWZng3TlBvakRBbWFxQTJsS1JrWkZKR0RMdzFlWEpOd25UVFMiLDEyNTI5OiJzaGEzODQtb09lc2ZNanltVmJiaEJhVVlkckozeUFOdVpwTjRDem5SdXZ0M29nVWZOMEZSYWZveDZWUTB5cGsvTUtBV2hTZiIsMTI3NDU6InNoYTM4NC0xZlZIdWJvV3E2QTRLV0pVOHR6dzBjZ0NDZEhGbVR4OWZJckhNYjFUNDcwVDBQdjBhb3hsYlVBU0YwRy9lUVpjIiwxMjc0Njoic2hhMzg0LWx4S2QvdC96N3pTZjZ5NW5qVUpPWU1xNTFUYXBJQ2EzVFRvMjNWbUNUbkkxRHdIand5UmN4K3h4dmFMSVRHOGYiLDEyNzgzOiJzaGEzODQtTTdRWW93andxUEhzMWlnaDY2ZXExU3QxUWRadkhybE9KcURERUMvWnQzOGg1dXdhd0RBK3JKa0ZmWkNDVU5HVSIsMTI5MTY6InNoYTM4NC16WlNGWjBXUHJWRUVGNkRCV3dqMUJ5MVhiVzhZUkpYelgvUnN1KzRJQ1VlODZNa3hXRW1VSWVDOXBpeFQwVStoIiwxMjk4ODoic2hhMzg0LVpQKzFIS1VWNW1mclg2WDJtS0piZW9IUE9DYlVxTERhRTdycEJocnlOWXJHdWZaVG9sOUlUTDN2WndpUmx1U0giLDEzMDkzOiJzaGEzODQtem1kRGJGbmZHYWwrRkROUkVQdWlLMnJ6WDF0VTgxMzNtdkZNR3U0Sk91MzVWZnA2NjZhaWJBMFNYbEhZSFV1byIsMTMyMTc6InNoYTM4NC1vTWtRWDJOM2RJb08zSmg1RXBQN3g4VFNVTDVIUFpIbGxaLzBPQnpuaEV2b2p3NExGbzJqOXRJVHY1NEx0andLIiwxMzI2Mzoic2hhMzg0LXB4MGdMWW9UUkJRdDRrNVZSWDUydml3WjJmUXZ3YjBTUFdVemttUCtnOUJVRWNVb1VDaEh1RUtKS01xTUswdFciLDEzMzA4OiJzaGEzODQtQnBRbmR1NWhMdkoyRVNyTGZPQjFhbVlsdEFhcmdSVGxlVzZmY3YxcWxzZEhISnRLKy9QdXA1N0hWei9HVEhXQiIsMTMzMzU6InNoYTM4NC1hS09INlhVbmcwMG5uc1c4UkRjZm9UZlpUVXdSaGlFR05PYWFVczJnSzZYd2RIeGhVZDBVVC9VaEtxc1FjL2dHIiwxMzMzNjoic2hhMzg0LWIvQ0VIVTVmdW5vdTV0UzVUNEdPYTJ4M0RyOUlTd2ZrVGZwOUxZNzEzTWwzcnluU3NiOXlIamErdXFpOWFucWoiLDEzMzY2OiJzaGEzODQtSms3Q0JPYm04V20waEF5cEJBTHFvekdMem1XYWZGdTY4aDNuOGhuOHJ5MnZpcGovOXNYMVhUTHJUY2cwWHFGTyIsMTM0OTA6InNoYTM4NC1LbStXeWFzQ1pJMlpvT0VTaTRXdkpKNGYvc09SdG9NMGlib01tYjFuN2hTUG9EWStqck9DTUVCenVycldpenpNIiwxMzY2MToic2hhMzg0LXdUd1hkWmg1eVpFWTFZcXdxMWpteVVRbTRhczU5OVdSM1h0TU1qZUszOWs4NEF2QzlzOHRhU292ZnBWVVRXZHgiLDEzODUzOiJzaGEzODQtdzkycHZkYlkwZUJTNVYvQTBaYUU4NmdodjUwOTM1T01Ubkk4UUpjbHJ1UzJ2cHEzcllXNHFIU0ZJcEU0NHQxMSIsMTQwMjU6InNoYTM4NC1oSlArSWh4T2IyZmNLVnFzREREakhjVEdaSnMxeDZiZmFnUDJjalcrM25reUpUcGdCZmhGQkozSjZNdGhuRU1SIiwxNDE5NToic2hhMzg0LXp2WVZZaHI2Zml0dndTNVBsVE9rYnZ5Wmt6SlRZVzYxTFRSWno1cDdZSVN5eFV0eFlVR2dRK1QwdTg0aG5mOFQiLDE0MjQwOiJzaGEzODQtZll3VStGeHFCdXdKRFkybjVBczVtS0dCQmdHMWNoTlhPb21qdENhTjhObHBVaHF2VGVBUzkwd0dENE5pR3lHNiIsMTQyODQ6InNoYTM4NC1Qc0FweUErNHpweHlaZzF4SWt1MzcxNmRNTllOU2Y5NllidExxSStjNmNyVTJVZEwwRzFKN1h5L3UySkYyL0FtIiwxNDMyMDoic2hhMzg0LW1pQTlnSWhyZVBEVzczQURyc2dNZEsxa05tV2loZUtZY1lOK2pHbVhLZ2FXRkJ2TC85TitjNjFQSXJCVkJjUFYiLDE0MzM1OiJzaGEzODQtbFVtQldtZWN0YmkyblRpNytycHp4UzFxcVBGYTVlUUppbnlZcGY5SEZkZEY4THUrWWEvamFicnJhMDNON2tqKyIsMTQ0NTI6InNoYTM4NC00OGVvY3hzKzg4aXZweG1YaFZoQU14UHJXVXlEK2ZQMmhvK203L3gxbHcvcFNqdjlYNzBzVWhhd0ZlMTljV1BoIiwxNDU1Njoic2hhMzg0LWF3QXFCdUExTmNuNy9JK3VJSE5ZZ01DWEVKTHJnVHFuc3o4djlweEI2VG1Kb05rcGdZWkgzR1ZWVEhXbWFPUkgiLDE0NTgxOiJzaGEzODQteDZKY09iVU9WMC8yblpzVkdNYzN0WmlxeVd4QkFKdU9qQ3gySGRocUxONkE5ZDhXMnVaT2Z6UHBwNUxUUzNibiIsMTQ3MDU6InNoYTM4NC1YdlhoWFNmem4xVUYzM0p0ZFJqN3llMnl2N3VWWUNxb002MEpRMFN4bWppaCt5K2tXTVNKenZUcHJuS05vbkZpIiwxNDgxMToic2hhMzg0LWloTFBLaEFPaitEeW1iQ3gwRk9oN0RQRHBhcGRrVVI4emVFWUdaZnVoV2ExNVhVQ3Zvb1hVWFVFejZKTWF0MEkiLDE1MDUyOiJzaGEzODQtNkljb3psOVlJTExocTVaZ2dBL3lETUlwclZKam1iY21vanJjSUhzR3Y4QnRxaGgvbHBxckFjL1FDWFczOEkyeSIsMTUxMTM6InNoYTM4NC1FS3VRMnRaK3EvWmM1WUJnRktFLys1ZHlma2wzS2dZYlI0QmZUNFhudjhKeHF6NjR6Ykk5SGtZU2JWZXdqYkt2IiwxNTEzMDoic2hhMzg0LStvQlhpRkltaWorV1VOejFWSm1iRk1vSVVDRHJ3ajVwekZGdjdIVXZTV0VSQWlqdyt1RmoxK0hlV0tvbldiYUMiLDE1MTM2OiJzaGEzODQtdFd5MEdTR0JTRHdXRjkwTGtCcHkxa0oyWnRFbkY5WjVSR2pYUkJMNTRMdnpNYi9NZ21kZGpQaFdOaFNhTzZndCIsMTUzMTE6InNoYTM4NC1pWlFrOERxT0cwdENjQUtqQThEUHpFdllwYVVBTlBNSmhpSFUvcVgxeUpjNHZCOGVkY2N0dXBxcU1lK0szV29nIiwxNTMyMzoic2hhMzg0LURRY1BRUVlyYkp5a05iYVpURExJc0pZZllseExGMGJKLy9FYlVnUHBkRFNhTHhWcmdoRDVvcVpLVjdLbjBraXYiLDE1NDAxOiJzaGEzODQtR1Y0cEhZZTg0YUdac1V5VllPdTlNQjlaNXJMVUs3MW52cHJTMER3cXBFMUpOZFFtOThaRFMwRGZCSWFNRFhCMCIsMTU0NTQ6InNoYTM4NC1UNkJyMnRSY0FibTFONmFIY2lUUHJJcHdQK1k0c2VlS0lCMjhMTDlDa0lzdmZsRVJKdncvZjF1SU9SZHlQMVVqIiwxNTc3Mzoic2hhMzg0LUNVTElPQms0M3ZqcHhOOGpoL3BvdDd1U1dNa2lnMVZwa1A0czlwL2FqK0JVMGtFNjkyMExuZmlLNG5DblJsSkkiLDE2MDEwOiJzaGEzODQtNTBCamo1amE0NmhiVXI0Ymk0MWdJbnhaWVRrQXc2SEl3OW05Ly9rQXZHYWhPMTAvWE11NWx3MUhpNUFRQ3N2bCIsMTYwMjU6InNoYTM4NC1CR29QZDVQaldjZmhiYkp1OXpIRklOcjZwTnFQbVNrNW1SQXpQTUd0VG5QYkhxT0ZWdmY3aU15TDBOOGpIOHlIIiwxNjA0NDoic2hhMzg0LWxpSEpNZC9WeGl1RDdZaEVOeUduZFAxRnhmQ0JOK0dmV1F1ajhsbzNEanlhWStBWXkyNUpxc2xoWlorcWl1Ym4iLDE2MDYyOiJzaGEzODQta3Awb2J3TkFDSHFOajNQcFRkUTZUVnp2QWdMUENibFNLSDd1S0swMkM1NW90ZUpvanpUUjZEUVVsSWY3akRVaCIsMTYxNTU6InNoYTM4NC1kQ2R3eE1TZzZkWEVZSHpqa3ZzTGV6VEp2WllRaTVGUS91MUVseU5ham5LZGN1a21qVzlDQlRTc1VTV3p6aS9IIiwxNjI1MToic2hhMzg0LXZRNVBnUUhyTGpUYWV0NE9HckRMdWtjaC80bHhSSEdJTlJ4NEo2QUpHM0oycFJwblVRanpOd2VsRzlNcWxFV0UiLDE2MzEyOiJzaGEzODQtOTNPUXJuaVp1ck05NDVjWEk4RW5rRkYxY2JSUFJXbGFrOGtzVFZuVXNCd0ZhWXlNVlpWQWw1THVJQWdtYnVMRiIsMTYzNDc6InNoYTM4NC02bmQzMnM1djJlQ2QrNlZ4ZmtTZW81QzA2OWhyR3BEQ29pcGE2KzcrZkZOanZiWWUyVWl4WitpZnFxVUNqRXh0IiwxNjQwNzoic2hhMzg0LXFhQktyMjVqTUZzbmdWeGlsTFJBYnl0TVVhMFVubXNVMDUyU3I5R1NNUlRIeXBGMHB3NHo4REJoQ1JmaE9zMzYiLDE2NTUxOiJzaGEzODQtNFZpclA1YU1wd3dpamdaWWtxODVreE50OHBwL1dRMUhDNjcyMnJFbm1EN3BhRmpKNE4yL3NCV29uVjh2aWRlRCIsMTY2MDc6InNoYTM4NC1TNm1vOGN0dXNTeFFPVHNZdUc4OVZrNXlzMnhraisraWhqcnlEdVZ5dUdYNWMxT3gyWjR1M05ZOXdWYkcxWFRjIiwxNjczODoic2hhMzg0LUVVUEtlS1h4NWZLT2pMbGx6Z2RmMnRHRnJzeW9UVUZ4TjQ1NmRSd1pNNG5PbU9oY2J3TnFqZldCZXIvRjd1R2UiLDE2OTEyOiJzaGEzODQtcVhXcWEwRjB3Z0lpVjFYaWxQUGZGcGQza0ptL3U5ZDk0RWxCeGNBclU5bUJrVmxZelRnWXhKaU4vMkZkMlpRUiIsMTcwNjY6InNoYTM4NC1kRU9EWkxGTE9IWmN0b2lPWW9ybm5zeHZPNWtxVGRzNTd4QU00T0RGOTF4OXQ4TnYwK2d2eThGYXJRVmJlQjAzIiwxNzE2ODoic2hhMzg0LTFMUk55Mk5jRm13U3RuTjIwYUFGTm1YM0VOM2xKRUhiL0thRlBYTnFwU0FMekVQbzhJeWZCZ2tjZ0hPa293UUoiLDE3MjE1OiJzaGEzODQtWDlWQS9WbkJpS3ZWRlVEYnVrd3BFMjFWL2l5UWVzVmxvaHVHUDJmNmRjQmF2b1Y3elpxZ3hUSWpseGFKYUtWMyIsMTcyOTk6InNoYTM4NC1DMDQzdjRob1pOTXEwdTVWN0kzZFBWKy9JaXFEcUp0NDdlNGdWK2xPblY0eVJFZXFBQWVId1gwRk5aVzA3SHdhIiwxNzM1Mjoic2hhMzg0LWZUWWFLdVNaUy9MYjdueFBweXV4THlLNkdqVXRHc0RrRGU0MC9sc0h5UDF3SFhBUmp4eDIvSzYwT2ZKTVpaL08iLDE3Mzg4OiJzaGEzODQtdG1yUHhuQStkS2lXU1p5UjBGQ2p3cDlCd0dlYW5VUUxUVjRVZ1JScW9lS0g0OHh0UVVIQ0ZkL1dydDN5cnJIViIsMTc0ODM6InNoYTM4NC0zdmgxMi82STEyeWVqTnhNeGRMd0JSVXcvYmxTM1lxZ2tmSTlQWGJlOVBaaW5hM05mMitvVkNGeEFHdURrRW90IiwxNzY2MDoic2hhMzg0LTh1Ri9LbURCMW5yUVMzZXZoUjJaWFN6Yi8xM0ZDVTdqT3g0SFF1eFRwdHdyM1FNUE9iWXNFVmh1UlNoZWpEa3EiLDE3Njc0OiJzaGEzODQtaGQybi92bE9HSDM2WnFNcC9KL0VqYTRXK0dlS2FTSzV1NU53TjRZeGg3VHYzbEQ1RGxpTWM2R2tMelVBemd0TSIsMTc3NjM6InNoYTM4NC1iVUFON1A4Z3ZGZTFWY3VKWEZlVENteXZDQUxsdjZFRWRCZENaWFE4VVM5WnZpM0R0R2ZBZEY5TDExOFdweldCIiwxNzg3MToic2hhMzg0LWJmRlZKMEZXUnRScS9INSsyL29yNWhVYUtadmhNWGtpZFpoN0kxeFp3QU1zdWIvckJhNzFiWDU3VmtPdkFqQmwiLDE3OTUyOiJzaGEzODQtRWpKejQ0Nlp4cUhCM3hFZVViNFhabkRIODBOTnJpazlKcHlHbVo5UEVZOVNkVzR5SDBKeTlPVW9xVGJZWmhBZCIsMTgxNDU6InNoYTM4NC1rcXU0aFA1RTYxWXgwRC9VeW13Z3FMbTlqcWE3R2w3U2daWmdMOVpwb1JOcnUrSzVidk0xc2dNZDlTb0pYT2tLIiwxODE1ODoic2hhMzg0LWFHYkJRemRFVWpFRjgwejRFb2ZsWGpwNDhVaWYrR3dBcjYzODViVmhaMkQ5dTVySlRtWmJtaGQ0ZWhaeUVyRXEiLDE4MjYzOiJzaGEzODQtYWhJYmxna3FoUnVVRUtJTUhaNjQvUXY5d2NnSGo3V2hnVmI4TElZMEQvTGUySzJPSUZJSmIyK3NXVi9KY1ZpaCIsMTgzNDU6InNoYTM4NC1CRnNzQkxLZWxOTk1ZbXphOVNMK2xxZWt6cWVGaysrOFRsMWFzemRydVBpbFZDSHB2ZHhRQklPd1F0d1hhdjhkIiwxODQxOToic2hhMzg0LU1kcXFmbzJNSFRqSjNGQVdWMUtRWlA2cUxXS1dEU2djcXJtb0UvcTZ6ckVCc2dBRXh6akYvUlEwTDlSRTJYQXEiLDE4NjAwOiJzaGEzODQtaUY0eXVRUEcySDk5TVhxaC9rR09LbmM1SzZlbnBiMUxaUWlGQjZhaHhCbjcvb21DbG91TVdBNzFpbGk0R3YxNSIsMTg3NTk6InNoYTM4NC1KSmJXdUFMcHVNaXhKME9WYWkxWm10MVFTTXhhWDRLck4vajQ3dWNUcTc1M2p0SU5tczJsS3JkL1dyVUhxVjM3IiwxODgzODoic2hhMzg0LU5jWTJhMHlHMUMreGpDa2EweTc3N1NXd0pISFVtUGVIRHRGSmprdnF0OU5yZlpDeGdHck0ycy9yaWxXeTlra3UiLDE4OTEwOiJzaGEzODQtdWNicWtPNWQ0K0tUa1l3c1JWdHJyci9Yalo3YXo5TjIwTTRHakIxYWtwajc1WUlJM216Vk5KMnZqMXJvWmZkTiIsMTg5Nzg6InNoYTM4NC14YnZQNU9GNVJKMHRjdVh1b3dmZVNNYmU0VzhtTVd0ZnVsbEZkL2gxaFpoMFVmZ0FyY0NMYzlBUGkya2x1VnNyIiwxOTAwNDoic2hhMzg0LWZiWXQ1Q1BLRmZtZ2M3dnl0MjJtSWUvblVVcGhpWTBlQXRidDZnckFNL05TYndlRWY4TnR5VUQ4MnY4Yk9qUnkiLDE5MTIxOiJzaGEzODQtOGRVOHdjWDhVU0E1LzhEOHRtQ3gxWml0NlJWQ2FrbXlOZ1gwUVl0OVpZOTlsbG5FSmZ5Mll2TWI3Y20zN1BRTCIsMTkxNDk6InNoYTM4NC1iRXlhZ3RTdEtNMGNlY1pjT3JxeUFPNzZoa3grNXE3aFF2MVdTZ0xrZG9HMmhPQzFGanlQUUpEbS8zTmFEL09GIiwxOTIxMjoic2hhMzg0LTVvM0doa1VuZjlLVDJtUDJMc2wybUZiYmZlaDV5WW11aHEyb0Zxb25VS2NoUXVKUlQ0NllpcTgyVlpsckNqd20iLDE5Njc5OiJzaGEzODQtNXFJL2ZVQWNNZVBKQldLSDl6aWdOUmFhcjhaTytjbWtPd2NBOGduK3dYSUJGZXdXd3JuQWpBR1ZYSWRQMUk5TyIsMTk3MTY6InNoYTM4NC1PalFFNTFVZjZZdEdtV0syOU9UalBGYWNZSXdpNnhkLzZ6Qm9wVW10UGpreGVOV3E5MlgwcllPWGVZWm9VUGhqIiwxOTkxMDoic2hhMzg0LTAzQ0k1NWRiUTNCaWJzTkFzcUl6ZTVrQ0tjZmdtZzlyanZ5L3VZOHJhSVRrNUN0LzI5Y2ZxSVdPYlgyQ3VEMHoiLDE5OTI0OiJzaGEzODQtdkNvUDZVR05QaXFodFVlc0FTRzRyd0pOSC8zMU5tc2Vpek91aTZ3MGhzQ2tVSjA4WWNpOHFUU1VEb2l4YVZleiIsMTk5OTM6InNoYTM4NC0vcjNJQjJveHRCUUhZNVZGTjg1OTFndkZoLzJ5TWZvK3BWdEozVnNkY1FoVmRLVHlXR0w3ckcrNUxtekd4YW9TIiwyMDAyMToic2hhMzg0LTRwMm0zS2p6NUdSNGhHN2g0aFNHdDZjUjZvd0xKQm9yNFFKWEszSkE5YUhNNTYvek9pQ2J5aTEvQ3ZaRDlFNUQiLDIwMDM3OiJzaGEzODQtTlJESFVQR0xHZjh6czNGV0tEZHVBQW5HL245ZEZwSDhlT1dHY2VvNW9hQ1ZEdGMvOGVoUlB4L2w2eFBWZnNMZSIsMjAxNTM6InNoYTM4NC10RWRsTG5keHZVMnlaZ0cwM0M1ZitRSmQwNjZUYjg0QllTNzF3UXN1Zmh5WjVSN2ZrNC9CMXNzR1YweXdJL2ZmIiwyMDE1Nzoic2hhMzg0LUhzcGR4b05sVXRGeVU4YjVGM1lucGM1N2dYQzZNNzdhWEhlMzY5bVJTbENkOTdESGR5V2ZsWnp1TkRmZ2NieGEiLDIwMzM1OiJzaGEzODQtY09xOXZDcVVER0RtaVBibEZmRWl6NzJuQktxalhpeWtxQkZGOVhId084WlJsRU5FNlJXN0YwOGU0amJ0eTJEOCIsMjAzMzg6InNoYTM4NC1iSEJVQ2hsOFNacUliSTFKVlhaMkp0Tk5vVmVtQm9PVW0yejhPQ0hFcEc3bGN0RmhMUHFNRmhYS1FDSTQ3MHc1IiwyMDQ1ODoic2hhMzg0LS9qZVBiOXoyM29ONjcyRjRYN28vZEZMZ1gzdFNtMWVTMkVlMWc1WG1pTGNkNnB3Z0FUZ203dTRNbGxvN05JS1QiLDIwNTEwOiJzaGEzODQtVURUbUdCNHArb2ZoWndLdzl5RVdyVnZpNHNBWlhUWnZ0Sld3WW5kcWxjb0NWbHRCa05LcXFSZmlCbHY5UWVsZyIsMjA3MDM6InNoYTM4NC1nOEVXaDBsSkUxaVgxT3VPcVJtYk5Mdmc5eXFRVWRYcm5PRXhnaDl5VHFNR1dvRmZVM1RBQlNlY29sVWhPVXdkIiwyMDczMzoic2hhMzg0LVNEaVJWaTNod3pmUUU4RXBLTElnS0lGVS93Y0ZRVllIVkVQRGpuWVdMb0RxaVpsVFRQeUJnTlJUWmgycjdvMzMiLDIwODE1OiJzaGEzODQteC84cy9TYzZLRjlvbWY3Z1QzSkptOWE4OWY5VmMvdTFSYXl3a3FhOGx5OStydlphcDlrRCtQalJHQzhNVGNBUSIsMjA4NDA6InNoYTM4NC1QMEFtc0xJMkpoSWUybk1ueUlHdm04M0ZhREJ1blRSd3grR2RGcjM5SFRpNnREb3hGTnUxOEhLMmVMRkZZb3dkIiwyMDg5Mjoic2hhMzg0LWlMaXRndHd4WkdoQzVTMGx1eVlWSG1QZnpzcmZ0Sm9yUU45OU9ZOEdDd0d5Rk5WS1QvR0l4c1g5eXR0a2lhaHMiLDIwOTA4OiJzaGEzODQtdU5SQXVCU3FKN0RodEVWRmxuR2RhcWNUQ1RKVzBJdUtVRVJSek9SeTlycnNIRlArM3NVaGhkVWtSRW0yRlpUSiIsMjExNTQ6InNoYTM4NC1qSyszckZsVnczTEwzNTNKb1FJQUd4QThIRVkzR0E1aktiTFNjS0lJL3lOWVZ2ODhMVVZVZW5kNENGQkJFM3ZzIiwyMTE2Nzoic2hhMzg0LXVpT0hGTnp3dWtkc3dJcWNoWGpJVkFzaU93b2I1ZzRBNnlIVUpWeSt3SFE5RmkyQnZIdG1Ud2djbzIra056blgiLDIxMjcyOiJzaGEzODQtODB3UXY0VjhPVTNxRzJ6cno3Z2VVR05DQ29GOTVwK2l4UkhaN1MxdkZPWG9jeXEwMzEvYTVVM1JFTlBWZElicyIsMjEzNTM6InNoYTM4NC1hNU9uQ0tlclhmcXdGWkNTVHpheVAzTWJVaXVQMTlIVWhJZk13aVRSMHFiL29HbnhORVE1WWdCVVpXK21GV3QrIiwyMTQzNjoic2hhMzg0LTQvVTBYVmIzSkRpaVQrOE1GL0trZWlFSUloLzNxTUtOSStvV0xuL3RJcFFsQS9IakhKYnBGb2dmM2F6MVVkUjIiLDIxNTU4OiJzaGEzODQtT05YcXB0Q2JNUEdQMUNMbEgzNUdHTUx4dDhIcE5CS3Bvd2piMUR3T0hKeFZCa081VXhHY0NSaEdwQXN2ZjlMZSIsMjE4MzU6InNoYTM4NC1XU1UyRzA4Ty9pcnpYSFVzQ0JVbEphQ0lqYzdJRTg3a0J6QWNnTlE2VG1MbHhyajNsMmR1L0ptZ2JYNWRsVjZVIiwyMTkzMzoic2hhMzg0LU9uVEVJNC80SFAzZTlJRnFUU0x4aVh5Qk1NL2EzcTFxUG5wMHpoY24vZTNlZlJmZFdxdEttUXdENzdvdjcrc1oiLDIxOTcyOiJzaGEzODQtTGV6ZWUrRXhKQUx3aE1jK3Bna3p1bURpclFJVEg1a2FLT3Uxck90UjdXMzZnOVJiVEpWeDdmcFltMzg2UkpzTCIsMjIxOTc6InNoYTM4NC1yOExXQzc2Um9FakF4NGVGUnBiVUhiYm5waU11UkdNaGwyaFZxT04zaVA3cEt5bi9SVHRzWk5MY2ZSaFNjemhiIiwyMjI3Mzoic2hhMzg0LW9mRWpwemFkcnhJa0ZINkNvUHhHQitKMjQzdVV2N0dDZ3N1dEpnOWtJcXQvV2VMU0Z3SXJLUWorUlVncnhuVjYiLDIyMzI2OiJzaGEzODQtZUZKV0NLTGVPUXpWdWZSS0ZsbnZWaTgyQzNlem1oSE1uY1RKWmc4YlVLTzd2dUR0SkZZbFhacERuU3pyWGJwQSIsMjI1MDU6InNoYTM4NC15d3o1RE8xSVRzYTFjRnd0SE1WUDdick5DbmNzKzRHQkJ3ZWZjdWdPaHUycXVjbHNCaTNxRE5NekhQSnZRZGN3IiwyMjUzNjoic2hhMzg0LWFIYkhhZmtYa3dnTnh5QnVTZzdqME1uSDByOTNaUlIzMmZlRk5uYm5UcTl1WlFOUWNHZjVDaVRMVnVLc1Z2TFEiLDIyNTQyOiJzaGEzODQtdytSSnROaVJvZUJTc3ljQ3RrcnBDTURMT0NSUXlFY1NpemhTZkRoNzBVTUFNeG9lRXNPRDlQWkcwYTNkMW16NyIsMjI3NzI6InNoYTM4NC1RTllUNnBMMGdndkpZeU8zS2RGOWpmandjMnI5RVFYTk9mbXFmU1RQbmhIM2VuVmFZT2UwSmhrM0thYk5IRUlNIiwyMzE1ODoic2hhMzg0LUFmT1FxQldwYnpEWUtyQ0R1dkxaRlcvZWsxK2dMWXBicktIb3AzU3htcW95OEF2TUx5QXRXU2VEZmJlS1hCZXEiLDIzMjI2OiJzaGEzODQtKzVGdG95cVl2UGJQQ2l1Zm01OEhaOEdDTDNUcDNYdGJzRC9QcWJTZFh4WkM3YUZOL2JLK2RHYXdUZDJqUElFVSIsMjMyOTg6InNoYTM4NC1EVG9RTWFtbTVIWnVkaGF1OGZCWEhIUVBOZnlNaGZZTWd5MnJBRmxPQkJFa2lVSUF3M0RoTjZBaDY4UWhUWVpFIiwyMzM2NToic2hhMzg0LWJtMlhvTW40aVgyQlNSK0dleDExODRkYzFoL21WbHN0QUt4S3RQSm54d3J2VURPdjdmU25VdGExeGM5VXpQb1AiLDIzNDEyOiJzaGEzODQtaDVLZno5bDZOY0I5ckVnQndLWVV4VXpsMlQ0aTh2M2hvS3NDb3Jmb1UzWTNKR0tGUDFJQktwQU1vYzh5eE5pRyIsMjM0NDQ6InNoYTM4NC1FRDFobWdMTXJrRTczeXV4WEdDR2pVaDlicFJod3JSbCtyMjgwdW8zU2dtQlVXRlpqNnhKZWltazdXV1dOdTRIIiwyMzQ1NToic2hhMzg0LVRhaGlXcDdBYmtacDRDZ2Q5dkZaVUh3QjF5TjhQRW1EZ0FYZ0hNa3BtaWNSakMwSE8rNWRKY1pEbVlRbXZlSG0iLDIzNDk5OiJzaGEzODQtbVowa1doQUV3elFSZ01PZHpHRzBNc2MvZlgwYTdiMkE1MTJQck5JUllVT05DeDlLRktReUptK2V3SHlWOUczWiIsMjM1ODc6InNoYTM4NC0xU3dhZmp3UFlZMzArNkNUMTQraGJHak5ma3JmRG5DR1FtUG96UnNkZlpXYUd6cDB4UkhSYW0wcEhYSStEMSs3IiwyMzYzNzoic2hhMzg0LU1MWU5KNGRSTXl5eEwyVmxkR2xrMnA1QXc0Z0dYVG1mdUlVV0JKVXNkY0NzVnE2NnpZN0xRZFdzOXpkRnE4YmUiLDIzNjkzOiJzaGEzODQtUEh1cDhYRldXVlRscVBZMWhZWGJqL2FOMlhiSVBwcFg5WXp5dGRXdVFRUlU3OE1HRWJXbGQyUFI2Sm0raXV3WSIsMjM3NTc6InNoYTM4NC1lUzI0YkxPRm5IRy9YN0FMQTJReEgrRGhvTHVQc2xSaGZGWUxsb0QrcnFlcnd3czF5TCtXRmcyb0VrVGdBZDh5IiwyMzgyOToic2hhMzg0LWNKeXp0VS9TMHlSLzhQbUpNeW9EZ1NnUStFL2tyYkRNS2NZNDFzUCtUdVJVcCtJUFpHSHk3d0VoaTVsVm1SSE0iLDIzOTYyOiJzaGEzODQtRUIwTHkrVU5NQWl0TGN2U2VENFRRQjdmVXlyMFQxZk1QSGZpTnNFeS9FbDRFcW9idHhKSnRYSFI5VC82cE1oaCIsMjQxNTM6InNoYTM4NC1iRWRSeVUveWV1RW9QWHRjVjlDUG1VTVVQem5TOXcvM0VUNU5sQnVYQlhLQWFxVlltTlJPd2dYNzF0VFhpc0NQIiwyNDIyNjoic2hhMzg0LVRBc0hZb1Jjcm8vMmhQenF0Z3J2TjRLQTRKL2lvYWpzckFRUkJRYjl5azdwclg1a0h5RFI2WXkyWjJiZjFBTDAiLDI0MjU3OiJzaGEzODQtMC81THl1RlU2QmhnYitKRWlEUzNGL1J5T292UlVlWTh4WE44aVFCcmpMLzBIWDNGa1dLRitYeXdzRDZRd2pjNyIsMjQzOTQ6InNoYTM4NC1XZlNqZnhZaWZKMzJSSXlZS0liNllaekFHRnFaU0JsQkdTWGVCUDN2QzA2ZHJ0VEliSUZGRXIxODF1Vm5OcE03IiwyNDUyODoic2hhMzg0LWVibklmUnN3SktDeVgzdVFucjBVaHNoNFQ2dGZZOWZ6TVJGQ3lqL2FUSjVZazVkUUxicndVTndGQk1jdFJ4c2kiLDI0NTQyOiJzaGEzODQtakNXYWdmTFRKUStMYWFSUUVKSVlvaGVieTNacndEbXR0YVdRbTBuSVhUVDhkWXRYamJ0QUo4YjlCK1FhcXM1TCIsMjQ3NDE6InNoYTM4NC1sMEo1NEloSGdLMkpCSXpSQlBuRWJvVHRjNHoyL29xZlZyWkYrcFNBaUhUcW5naHBSSkdJd2VBK0x4OC9jZE40IiwyNDc3Mjoic2hhMzg0LVpiNzh4eWNCV3F3enJoMHR0UDZKMk5ubGF5NEJDUWFrcHMrMUtWRjZrc21ZYld2cHFBL3doaFlkdWtwOTFmdloiLDI0ODk1OiJzaGEzODQtNGlNc1gyZVdGa2NhS3hKaDUrbHRsQlBUN1RIaXRQU2ptQlFncjJ6bFpWU1VvVmpFYmpuYnhwZENHREdOWnBNNSIsMjQ5NDM6InNoYTM4NC0rQllTRmU2bTBXT29KM1VFRERYRGRRa0x5c1BhMmMrd25tWW0zRWFFT25CdTRWZWx4ZkhCcFd0OUl2U1hpUDJzIiwyNTIwNjoic2hhMzg0LUdZeFVxeUtmRzZBN09PeFY1aGhxaGF3amQ5YzFDeVArZWZUR0IwaFhpeG9YTkRFSUVJRlo3MVg1cTZ4OVpCT2siLDI1MjU4OiJzaGEzODQtVGhwQzVFYklkZ1daTXoxYnk0MDVaVkZxYXJZUEVBcnJZYVdZQ1lLYWNuaC9OMkg4S2pFTkg4c1lhdVVOc2U1UCIsMjU0MTg6InNoYTM4NC03ZVpLWml6MUZHUXVEakVMZXZaWUxYdDFPcHVHYVNUaTRvMWZwVkJQVXhMSHp1KzZ4V1dQMmdyWFdNUitXUjlHIiwyNTQzMzoic2hhMzg0LTN3VkpDUW9pVHV6b0RHay9peFVzN1FJcmYxV1lrSjhPVCtmOXlwRlJlWlB6cWNNSW5iTllSN3hRN0hTaEx4S00iLDI1NTYxOiJzaGEzODQtUlRrZGk0eFp3ZVpyWG1FdkJKL3ZWcFhrNldWMXpRSHloRlYrV0JQQzdxcjQ5aWlGNytQem4ramVSNmdQTDNKRiIsMjU2MTA6InNoYTM4NC12eDlSRE5RY2I3ZzhjUGRseCtkU0dmdEpGOVhKZUpoSHpXVnlYby9iZVV1bWgwYmMweGg3Z0pVekJuNjkyU1BoIiwyNTY2Mzoic2hhMzg0LUFLbllZR1pUNVcxVFlXck43eGNvQmpGUzVTMG05YzIrMlIvRXg4aGFYSnlid01OSWNYWTNRS3pjdGVRTDlXZWwiLDI1NjcxOiJzaGEzODQtSTEzZFQxN3lDWVNBRkI1VnZnSENZejF6bytObXZ5SkNuMGVGNXpnYmhPVGZqdXdJbVpnL0l6WGc1NmJiTmNuaCIsMjU3MDc6InNoYTM4NC1vWmVmN1lLTytKYWNwMHVkZittZGp5K2htMmp2K2x3dS9HQkJLODJ1aTZUOEJMbHpSa0xBN2ZWUHN6bHZqY3l6IiwyNTc1Nzoic2hhMzg0LUxMUW5VTHdmR0Q4ZHhhd3NnNzJHL2NlU0VPNWIvZGNGZVBrOE5UWCt2bitFTkFJdS9QWko3SnFJY3Joc2JjYngiLDI1OTUzOiJzaGEzODQtR202YlpIaHRqbEdpN1JTazFWR1ZYTERkYUhtSDVCZGJ1MURGdE5JUW1yOWxkWnZHbGVOZWpyWmdzbWtKdEN4WiIsMjYwNDI6InNoYTM4NC1DbnlhSzRnQml4UzdDWnBWUDNEbnpidnp6Y0FoS2xoZmc0WW5YMG5xRFMveEVwVExoZHFGWG1uTlZqTXhUMFh3IiwyNjMyMDoic2hhMzg0LWhtb0ZLYUZ4TmsxNlRQVUluZ29CWUZ0QzQyYjllenJoMjBrOEh5SCtlaWFNdUxNSzVuNkNSZ0JGYzlmZGF1WFUiLDI2NTE0OiJzaGEzODQteGRJa2wxcmxhTkY1RndJdkw4YUMwUlVkNjQwaENVS3p6MFFqQ3FUdUJicjNueGZCTDZxQmhPNlRFQzNoMmd0NyIsMjY1NTI6InNoYTM4NC11d3Y0YXJPQ21nQm9ib2pTWGUxa21YWXJkNnRQVlhQR25oa3lQSy93NnhVWDBqcUZJcGJGU2IvaU5LOFlKNGd0IiwyNjU5Mjoic2hhMzg0LW84eFZqV29ENFU1bXBsUlUwNEhDY2gyakF3UGVLejl1Sy90ZjREWk45RDc1Z3VkY3ZPc09hOXg3SU5qYzB6SkUiLDI2NjAwOiJzaGEzODQtUDZmUXNlclZ0dUZGV3hFTzlFSVJpU2hUTWtQZVk5eWdENDFYbUQxY0o2VVM1VEdNNnlXdTdmb1FRZVlPS3Z5byIsMjY4ODQ6InNoYTM4NC1oWTZYZkVsc09rczVneHFyTFk3cEM3UDFuSzR1QUZtdk9Lc1ljaTFpdmVMdERTU0hnYjVEMkZBcmNjTGc2M0k1IiwyNzAxMzoic2hhMzg0LVJ4eWt2K1ViOWNpU1VpU0ZYTlMyb1A5Lzd2QklyZlk2TnNXV2hWQUx0eEtvdzZSRW90Zzd5dml4ZzgrcDErK0giLDI3Mjc2OiJzaGEzODQtU2N1a3hPaHY4UnlnaW9hRzhMd3M2SlhSSWxCc01TcWdJSUpHbnlNWUI0YnJZRktzNGd3azhZb25Xb08xRk1DNyIsMjczMDQ6InNoYTM4NC1PQk1vVmYzMW1rdE9VTnZEc0NzOHlZUlE2Mno1UkVXTUdiUExRdWE1UjJkM1dZcWxvKzM1TlZMTURxRTFodlV0IiwyNzM3NToic2hhMzg0LWRNUFp3S25jTDdUSjFvWVU0VzQzYk1IUi8yNElHME4rRk5kS3hOZlI5ZDE1aGtLRUxyZG83MlpzZEZ0dWVHMTgiLDI3NDYxOiJzaGEzODQtdytzb3VRZE1ZakRCZzU4ZE54YnJqb3JCWmJ4UGtIV3FZbXlOdUVLbEtHSFloUEhwUmsxelZxckpkb3RNbHhwcyIsMjc0ODE6InNoYTM4NC1RcnI1QUJkOHJYdStnNUNhN0poRzA3N1NpOEFVTC9ldkZyd1podTVrVkpqbUtoNGc0TG9yaVo1NExRRlAySXZqIiwyNzY3MDoic2hhMzg0LXFzRGlRczJ5Q1VwWTIrdG0vK09oYkVId2FuYWhPUlMxQ283MFhWbVlHa1J1VDVEZ2ZUaHF3NWd5N2poMEY2YjIiLDI3ODE3OiJzaGEzODQtc3BsbG5CUlQ2SHVyZjNUaE1ka0ZKY0wwTDRLVmx3UFh4S2kyZ0dOWjZGS3l6NjZWUHJZUDJ4dTFKZVJ0d1g2bCIsMjc4NDU6InNoYTM4NC1VV2E0S0JQU2x4OHg1NDN0RmZnVllHYXZLNStuUHVBSnhyYWNmWDhvNXpqSnZRNmpVay9JN1lVVmxsRmlkR2YvIiwyNzg3NToic2hhMzg0LXdSUEZuYUxUWWlpVDZBZmRncXJZTTVjelYwMXQ1cFFRV29oV2NOSlYwZ0I4WE05NStlRm0yY1pnTTUyYm5kQkIiLDI3OTI1OiJzaGEzODQtTWJSUTdlTU5rVm9NZU9xYkVNTmZFRlhqbklLZEE4U1VUS3lSZUNzdlFEZlRkdENFVk83aHhHRUVmK0pEMHlXZCIsMjc5NDA6InNoYTM4NC1NT2pIaVRiVW55TVVTeWdxemdwM3BUaS9ZTVZybGgxcVBnTnFoQ05VS2JzYThwNnhLVTcrV2YrYnI5NEplZHFlIiwyNzk0OToic2hhMzg0LUFabWEwV3R3K0t6QytLZldZdU1HeTQ2N1hxZzJQYXZmaXlMeUpNZzczMFUwUjMyMEdoWXJjckZOYU5udldDSlciLDI3OTkzOiJzaGEzODQtZi9OVThSWnNQNGNrU3V6ZnN5Z25WWVlEenFqNWh6bUZQYWwvV28xRUFOb0trallNNHVnTjdzYVR4cmJYTXJGNCIsMjgxNTI6InNoYTM4NC1YbW05MVFoenFwRjJsRkFBVldjYWs0a0xtV3I3bzBwL2hLZTVDYXJrTjZQL1RwWHJKUm5ielJ4TVVTekw2aUVyIiwyODIzMToic2hhMzg0LWh1UFdxN1VlU1hqR2RsM3FLTDh0Y3B0ZDFHUXdEWDJmc0dIUm1zVTAzVUZjNmNZemtMQzFPQUZNQ01wQ1g1QTAiLDI4MjcxOiJzaGEzODQtVjFyd1JYUVllRFM3YXp6ejVqNEYvMFAwd3ZSb1BHMlZmb2U0YXlxN3dnTURlNWExUVlzeUNzRVhjeFBJdWxscSIsMjgzNTg6InNoYTM4NC1FNG5oWit5N3BFNE00YzNxQUQ4QUFwcnBmQ2dBTFRJc0lEc1AzNjhhamoybzN1QkpqTXV5TEUwQ3Z1YjBBVStrIiwyODM3Mzoic2hhMzg0LWtvdityQU9mWWRwVGhNQWd3RGFLZ05tR1Q4czFFWHVnY1FaS01BQURkVDVmQ25RT0RXM0ErY1lRY0lPcldtdW4iLDI4MzgyOiJzaGEzODQtN2N6VEdqWnoxekMwVEJhZ2FYQlkrSlFuWHNrTS81OEhXQ013TDNUc3IxOFIySXhNRER1SndRRVdCeENNT3IrYyIsMjg0NDI6InNoYTM4NC1FVzhVcGhxdVQ1UmpFMWswSFRJQTYrT0dVdmpzNjNOczRzdkpIQ25CNG9KTEdzNDdrcFlZbDFoZjJHRnE0MVYrIiwyODQ5MDoic2hhMzg0LXkzbFVGTkVvZFBhRzlQaXRaK3lIQ2lqaSsyc09QdnZzNDlDSGFPZE0vZjFwUlJ6cWl4Y0VlMWt1QXRpWTZGZmoiLDI4NTM2OiJzaGEzODQtYzU3SFcxcFNDS2NvejV5T2MyNVJtdEZZdVMzQTJTbEFOVWpRQ3JMN2VCSk5Cc0Q0VjBRbGlRb05YblFCaDl4NiIsMjg4NzY6InNoYTM4NC1aUlNqYnlNL0t0V1JqSTIwbE9ON09nVzlIWDM2YTZxeHlmUno0UGVtMjduUEI2UWhkSnNqQlJrZ3JXWHJkbVd1IiwyOTEwMToic2hhMzg0LUFzYmZJbWgzNXZSNlFveUFzUjY4eHhDY29LZEJRZ1orTXVGcVA2SEk5YWpFcGRGcEdRYTMxaUMxK3ZCZHBId2giLDI5MTk5OiJzaGEzODQtM1FEbnZ4N1VMMkwwL2tUNEo5empQcFpzbVk4bXpkVWhTUGxYQ2JOdVZmK3JXNUF3dkgwdVJTdlc5WlBMWjRCaSIsMjkyMDM6InNoYTM4NC1DemtWbG56ZldSVS9xY0Q0U0RvcWpsdnhkTVhlMEhXQUxGeDJKbWVZbHZDSklaY2Fna2hRU1RzU21sTkZDaTVTIiwyOTI0Njoic2hhMzg0LUs3WExqUnNzSUJ5a0VHcjNtejhremFBL0xlVlJQVjNzTEt0M1E4Zzh0UzVLbHU2eXJhSHZjcXZubWVEbFJENEkiLDI5MjU2OiJzaGEzODQtQ0JrZWp2NkdWZU9BOCs0QlNuREFVVmp5OWFCWnBXVVJtdk1Kd3MrQnBkN24xTWQ0VUUxaUViUW1HWUQyUllkVSIsMjkzNzI6InNoYTM4NC04T0tIcDhwMUk5RDNNQmNtZkN2bHllRFJPSVNCMVRrMDBEeExETGxBOWdFWkk3WHE3YW14Mmg4MnZNVlRrUUtRIiwyOTM4MDoic2hhMzg0LVhiWFAvb016Nng0WVlqS3FuckZ3eGI3UGx4a3VYcGhuSUE4QnUvanpTZzUvZTRDY1hsYTdXdFhZS3BaUURqTHkiLDI5NDg2OiJzaGEzODQtVG5waVRTeSsvTkpwakNPTTJWOHlJTTdPUHM3YkNBNnpsd0luTDFFZDFsVERySW81eXJrajNaMFM0T3pManltcCIsMjk0OTE6InNoYTM4NC04Rk9HbmJrcWtFTzVqbkMvN0d6c1ltUFVNam9oSGQwSkNIWE9PWW5OR2c1aUd6UW12eUdtSHJBOVB4WW5vODMrIiwyOTU5Nzoic2hhMzg0LW5oVWdrM1lyNXY3ZndxMjc0dmRGUFZoaU4vNTBaOXNhbEZIQ2hFWlo1N3FUcVBtbjAvNmRiZXlWTVFhR1FsVWUiLDI5NjExOiJzaGEzODQtL2VtczFiYkRYU3ZoS3VBODhpWm1EOVpEam1kZGg0WHIvc3JHVkt2cSs2enRYTDNWQkNYRFVjMG9SZTlWa0VWdSIsMjk4NDM6InNoYTM4NC1FWUY4SnBKc3ZZWkZHVVhMYUw4QnAvbDVaV1JiRStNak9GdEpsS3FtMER3TkdHUXFveTZDRENvcjhhbDJmMFBOIiwyOTg2OToic2hhMzg0LU1ocmJkM1dpNUZTSTM0RURMblJkYkZqQjNvVkxhTE91eklOSFg3VkgzQUppNE83YTJZQTd2MVhlc0xBc1hYa0IiLDI5OTgwOiJzaGEzODQtVjNxWHN2UmxtbWVhWGwyUENNZTVqY2w1aEJtVCs4RE5aa1BBKyt5cnVwV1phV3Axajl1V0tUN2o0S2hDekxGWSIsMzAxMTA6InNoYTM4NC1UbGxXWTZkU0hOK0Z4M3JjTkxnTThoUVRIdTRVdER4djh6ekVpL2NZNjBialhLNHRjZGVTUUhBMktCUHIwNTk5IiwzMDIzMjoic2hhMzg0LTZOa3dna2RBbVBJUlBhc0VraDM3dWZVR3NFYkl2V3YzdEkwcUxJMXNEQmNSS1A5bTY2bVFUdlJoRkxTWXFsVzIiLDMwMjQ5OiJzaGEzODQtUndRMVNnRW1XcnhLa1RtS0k2Mzc5cHlDMksyenZHS2RYVG8xT1gxbnNCbVE5dGV1YTdYMlhUdm1OMXdHRk5meCIsMzA1MTk6InNoYTM4NC00NUhlZGoxbUJrN1RYMVNudnd4TTBYbUNMaWZ5d1UwQmJEbmwyMmk0dTEzWlg5T2JTU016dFpueWxTSE1MT3JWIiwzMDc2NDoic2hhMzg0LXhZdFBLeTFMNjVWc2szUUtOL1NPNjJqaU9VVWMvenA3bGpBL3BMcUd3Z0RiRnhPWmw1WTJ5TGVRVmg4UEdza3YiLDMwODI3OiJzaGEzODQtQTZWY3hVanJobWlkK1ppRHRmRjN2OERpY25VR0ZUS2lyQW1nSEl0NFJvUFRnNDNNb0g2NnVmNVR3TUcyS2VLZiIsMzA5NDk6InNoYTM4NC1lMCt4aTFpUG5sbzJ2b3BZWDh0VEh1Y2dmYWlCWjM0WmptTU1iNmpVRGFKQjFCL0l2WHhoVnpRaWZtSEcvTzVBIiwzMDk5Mzoic2hhMzg0LTBIeURqMDhFcFQ1TWRWK2pLbU9iNlZQcHFEeWtweVJ0enA1aVFpdEtHOWpzTVRSMFE4VE5CWHNqNnVadDJSeDQiLDMxMTY0OiJzaGEzODQtZUlxTXdRUWJXM1ZLU3RzOUlRL1BuT1BSdFFmYVU5TytsNEZ5Z3FhN3BEc3pSU3VyU3pKNkRFMDUxZE5qSXdCNSIsMzEyMTg6InNoYTM4NC1HeXEwUU5iaE5EMy9nYmtTclhwaDRPMlZzVDV3OUFrRTh4ODlNQmExd0VwQ1FuOVJLM2RiM0pYaytML1E5YldrIiwzMTQ3NToic2hhMzg0LUxKbmk2Sk5uR2hncjFuZmRpUm04emU2dHJkdGRyMGJiYWJrbU81KzJrZjhnSWs3MURKZXNxZURXNXppcUZ1MWYiLDMxNTM4OiJzaGEzODQtUDRaQWR5c1VqVWhYU3ZyaXJOS0d5TXgzWDJjVU1jaDFrUDRXNmY3ZVdYNTBjeU5UNUd5YmR4RG1SVUk0ZGtZdSIsMzE2ODI6InNoYTM4NC1UR1AwNm5FaVpnM0p3WkFvQ0xlUlpnaVhKNHU0WXBrTkQ1djdKcmxqM1JBS3dSRmM5NU1uQTNMek04d20vY1FLIiwzMTgyMjoic2hhMzg0LVlDalhINzZqZFpyUnIzYTRyUG5EV1JpMlo0VkFaZXlaM3IrdlNxWXlnTmhVMTZDdFFoWVFmN2R2bEljYXNaeWkiLDMxODMwOiJzaGEzODQtbm5McVV5cWpTTFA3dXp3NGZGZm1qVWU0TE9Hek1uTTJ5Y3pYS2ZLMHBNa0ZMYjAyZUQvNWRYSTAvUmd5OVB1bSIsMzE4NzY6InNoYTM4NC1TeWhlQkZvQXlQb1Mrd0tjT3gvRGF6Q1JwSFJoKzVmZG1IZkNoM1ZFMks5ZEx5ZVJ0c0VxRWN4UGw5VTVSc3pCIiwzMTkyMDoic2hhMzg0LTNPVEdMVFZXUFpEMUdiaTUvZUxic3dsWWJhL3JvdnQ3L3ArVUdzSUZwZld3MENNbjMrM3FMaE4zcUViWEl0djAiLDMyMDI3OiJzaGEzODQtcUhlSGk5QldaZ05KbTZVRERHc2ZiRGlIRWlpNHNManRDNUNFVDAySzFLVkdPSDBtRS9Fc0Uybi9VUW42ZDJkSSIsMzIxMDM6InNoYTM4NC14Vk9LMGZoM0pTcjRiU21CNVRXc09xNlp4M1UwWUp0a0JOUVNLVjBLQ2U4M3FobzdFYStzblZad3gyRFhEdWFsIiwzMjMwMToic2hhMzg0LTRueUQ5S2czWGF5OTZHbnFRNENRb0tkTGVZdlZna3JBczRtY1doNWhhK2N3NE9pL1RQVkJQdE5lblV6bnRPbC8iLDMyNTQ5OiJzaGEzODQtNHpkVEMwc1NMS1d6aUREeEM0Zmd4M2xyVUtaWTh3a2JqSlNQRjRqYWF5THRFSU5NbW1qc1dlalVqaWROenAycyIsMzI1NTc6InNoYTM4NC11ampnUHRGS3hFMldPUXhkenE1cHZpVHBvTWFlVGRRMndKM0RFTGhqR2pmSkJ5LytWZ3Vrb3M3OHNITEkxNlVXIiwzMjY3OToic2hhMzg0LVBmSW5QU2F2M0ZscTlQVkZSVUJMdFF1Mmw4bEVUaFkrbnhoVWhsT1pHUXdCQk9pZnA1cjVtMzZWdkg1THBRaDgiLDMyODEzOiJzaGEzODQtWm9EZzlGYy90cmpQbXE2SjA2UmlyRVE0RnlSNUQ0YUwvNElUUzBjMkFDY3JqSVFGTStSNmZJUjJTSnFPWitMQiIsMzI5Njc6InNoYTM4NC13TTlCUU1FNS9vMDJETnVtOW9OdFJTYzY0bi9JYlByTGVGanlpOTY0a1RMd09sRFMycEFxalJTNDBVVDY2a0F5IiwzMzAyOToic2hhMzg0LUltM2JEK093SnZjT0x0Z3l3SDIwZGdBTWVSOHZkY0IvVVFVWEo0Mk9qZk9tWmdPUnpsb3F4dE1HQWtzWlJjR20iLDMzMjAwOiJzaGEzODQtQ2xHK3dja25nL2ZaZmxYZzFhYkhjbXlGazZ0TTBId1pLelBCb0lYSkdyNUxmV3VXT1V2Q0hOYk9pekJnNGRjWSIsMzMyNTg6InNoYTM4NC1iMEZraUp5M2JVbjBJRldGbTYzaGt6VUdEWmgvOEhEU0p3aDJyVVZvbHp0K0V4TWFTV3VVQUVPcWlkalFKYkhWIiwzMzMwNjoic2hhMzg0LXB4UTQ0cEcwSmdJUlEzb3l2K2ZZYU5jSzVQRG8ydkphYUdFcUcwZnRxTTJJd3pWa1hqLzRPSEYrRFNNQkEyOWQiLDMzMzU4OiJzaGEzODQtMmM5U3BYQnlZOUNYUHBURXNLQXh0UnBkeURRdlBWR1dPY1BadXV4VUlwSTY4eGhjd0p6cE1oZE9nS0VZaGQ3NyIsMzM1MDE6InNoYTM4NC1JbisxOVlNNS9zNy8zRTl3Tms3dHF4MmdDSFFheFVXVkZSamExdUNOSmZ0VzRXcEQ0dmU3V3R3WnFoUDJiSXJKIiwzMzYxNToic2hhMzg0LVhSTlpjNm5zQVlCQ29OeFRQVllWRkROcWNGWEl5VmdhSVRkczFFekFzdnNuTWlvUnlSQ0VPYlpCK2RzY3IwaU4iLDMzNzEzOiJzaGEzODQtYkpxaTVUUEJDd3B4RXZySlVXR2ZZUzFUeHQwZktvVUxUZHdPVk9TT0ZRL2FtcmVYS0poY2NOV0M1RGoxdUhtZiIsMzM5NjU6InNoYTM4NC1SdUlrN3kzM0hRcnNKclFCNjZENkFjTEo5aTdQTVR1Vlgxb2ZkQkhOVzlUNWhYVFNIcm5GZWdRSHZjRHlYRVdpIiwzMzk5NToic2hhMzg0LUVaZVVnNXBWOUxyb2xadVkrdmtqRW1qbnVoVXZGR2NORnQ3akxGNkNjN1c0cFYvMGhkZ0JlcWZyRXN1TlVQMWEiLDM0MDAyOiJzaGEzODQtYUFnOUd2bjNXUzRGMFBKOVNlak1seVZjZGZqOGgwTFkzZjhPQVpjeFlsRHBQMDZuZmhwYzlyeFVJVldoRVpmbCIsMzQwMjM6InNoYTM4NC1rajE3NVRkd0VLQktzSWdJUVpoQkcwQnp3OWU5UnU2LzVDMzRNNGJjeWxZNUIySm1SakthT0tuMGtzRng0Nm9YIiwzNDE2NDoic2hhMzg0LWphUW1VWC9iVS9MK2FKaGthSUdaOTdTb1cvWW55cWlabk9SV25YUTRnTUJxVldmSjE1MUhvTFZudmNjK1RZV0wiLDM0MjcxOiJzaGEzODQtTktrclpnclJkQU5DbzJxRzVBUVAxbXJrQ3gvUUFnWDBuUWtJSXhkK1lhYm9sTTVZdDFNSmdvUGp2c0dwenNYdyIsMzQyOTI6InNoYTM4NC1MKzZjRHllKzRFanArdHNVbFpkZDlKNzF4ZW9LSXlKbFlSaHZ0NGNWdnR1WHZxM1Q2SktVRGx2NmZ2U2F5UUo1IiwzNDQ0NToic2hhMzg0LWFjV2poTGVhZmJTTlltWXFMZ1FOSU1SdDZxcEZrMENKU0t6YjBpeVlEWFo1bTlMdmpQMHdORnFsaCs4WGtaZWsiLDM0NTkzOiJzaGEzODQtcjJqRDZPbTdFekMwNUJiaWp6OFNqNFpORGp1SHZiV25Wa2xLNHhVL2hiaFZhcjVCQTUveU5UTW5pR281NTJBQyIsMzQ5MDI6InNoYTM4NC1wdGNTeUp6ZnN0S3BnUTg5UE5UMk1sUndXaUpTY3Npek9HZkM3SUFNWG1wYVdYbGt0RGs3MkhSbE5UQ2MwZVlVIiwzNDk3ODoic2hhMzg0LWdVSnY4K21iUFNmS1p3MHlMWVZXQzNxQUdOQ2RaZXh6RU9NWGhLYWZRMEtUWE5uRGRIakpBQkgrRXBQQnNxSzIiLDM1MDczOiJzaGEzODQtcFRPTkVoQWJYU1UxaVZlU2EvUmlmZEVvMkh6YkJvYnk2VEVoWGN0NnFKWUk3ZlRiT1l6bkF3Mm9TcHdUa1dNVCIsMzUyMTQ6InNoYTM4NC00QUZZYU1QbjFQYmp6ZzhtU2Zrb0pTbmo4YmsrcUNnUDJXbEo2MmRuRCtHdnZWL09objZDRGxHM1lvVXl4aWkxIiwzNTM0ODoic2hhMzg0LUEreVRVNmVwNFNpQzhsU1hsek9vQ0JJMVV0cTFuMXRJQlpBM3R4SHk5THVYSEFlNVBFOGpYcy81RSt3ekV3U2YiLDM1NDc5OiJzaGEzODQtVVNqM2Q1Ry9BaEhQb0dWL3JiTW1tRkdLbDdkWWl0YUErZkxtUXh2S3dneWZMRmVvb1dLaG82VnJ3NDNPRHNWcCIsMzU2NzQ6InNoYTM4NC1YQlJtcE1Kb2pWL1FhMHlsSHVIWDBtSCt5Y0xpTFF6MnRQMnYwOFJhaXdqL0tTeFIzMXhJU05HOFJUeFRrYjlPIiwzNTY4NDoic2hhMzg0LW15MDZCaTRYWEIrNWdYUm1WbjB3VmhHS1FMamlqd0JPYy9zSzQwakxqUGVGYS9laWNBTnR3WGFOY0hqaHM5WkQiLDM1Nzc4OiJzaGEzODQtUzh1SnMySFJ2SkFuVk13VERoanNIU1d0UUQ5MTkvTUczazRTdFUyOTljbTE3bGZ4Y3F0SnBJVjlFT3FOZUZGTiIsMzU4Mzg6InNoYTM4NC1YdjBiZU5TTG1EcFlDaGdNTTA1TFZDN0hOWHJ5L2tValk3ekdYYnExOXRyMlB4M0JxaytuZjEySThEcUpsdmpwIiwzNTkyMToic2hhMzg0LWpLRlBWQjYvdWVGZEVkMTVkVzdiUGtDKzVKWFZSeW1CbGtoQjZVUUdxTW5LWDl4OEdYMHovMGVzSnEyWHUxRjQiLDM1OTcwOiJzaGEzODQtalc4Smc0S1g5UStISC82c1lYZDQ2MXVLd3dSbHpYcEpDZTB5YUNvOGpGaWc3Nlh5YXRZWVVqVnFmWUcyNHRJWiIsMzU5OTQ6InNoYTM4NC1iZlVUcVRaSHJGVjk1VXNMa1VCZWhJQkpLU0JXWkpOYlNpOEtYSy9pNUEwbkRxVWlBQmZFNGVqTmJrMzhhWW9OIiwzNjA3Nzoic2hhMzg0LWNRSTMwcFhYcEVLWi9TR29TdCttaHdzenUxMmVoLzZxaXJkdUNsdDRKalNkSmUvaVgxVFZpVHRERjc0SnFHVFQiLDM2MTQ4OiJzaGEzODQtT1c1MzdPK1h2ckk1QkV0RDhaWTZPNjJQRkM2T3NocWZ6MVhhR2pOWnNKSm9HdWpBaVMzZWpoVzJBZ2ZLUUJGKyIsMzYyMjE6InNoYTM4NC1XRkEwN2tEcWcwYmt6R2RWbkw4eFRjTGtsTmtaL2srQUFrRXFRNzcvQWJxNWxZSFJIR1FBcFE4TmFsN0RqSEE4IiwzNjIzNToic2hhMzg0LUJ6UjZMdUdrQUhNS1c3eWhHWkpJWEZ6dGdyUTYvQkZlVFBZZVJSeHhTUWhpenhzY3BhVFRLdGtXNFBMbXp2eTAiLDM2MzE5OiJzaGEzODQtV1ZjWVJtQkxvbDFvTlNpeExzY0M4bmtmbmVUNS9tNFBwVlN2emQxRkhBRURMb1BqT1pkZFMxaERweGxRVlUwMiIsMzY2ODY6InNoYTM4NC1xbnE3cWU0ODN0T2F5WkdRMkJOTHA4dWF1UEtjQlNGbHI4bjlzYjN1cnZzN3Ziak82UDhkQ3JaKytaTHJEaEV4IiwzNjczNzoic2hhMzg0LWRYN2FkS3ROY1JHZHphMzZTR1dwMEh3TGczSkk2Q1dLWXh1emg5SnR2RkdGNWVTUlVjUDFXRWJkMnlxR3VEN0siLDM2ODEyOiJzaGEzODQtOWx3VDZyOEVjSXBjN1BSNFBSSWdWYUlzVnU1Yjd1R2VZL3h1MGhvY212QUVSOXF2OTRSWVFLMWV0c3AxOU9IaiIsMzY4NTU6InNoYTM4NC1oZWlVNFd0SjZGWTFORjRDWVZ1dGtVSHUyQmUyMHpkU1BVdW9VWWVLdXJXUjhBWEp5ekdvTWxVbncyUlJ2NTc2IiwzNjg1Njoic2hhMzg0LTFVQis2emhjWUVabkZyRFp6ZUFJc0ZuTllpck1tdDJhek5XVFdzb2pNcUFhR0FacDU3cGRKeEczejhpT3VFOW4iLDM2OTE1OiJzaGEzODQtSzBYMXF1ZEo4WloyWU9nb1JPZ3JNZmxBZzlNc2MxRTNranc1eFhhbEVXQjFYU0dBb0s1UlpXNUgvZVRjNXJ5biIsMzcwODk6InNoYTM4NC1qeGlhYkZ0UDErMHE4WHlkcGUzNTMxRHZyNlVyWXhYSHY2T05rcGpNdUpNV0h6TWt3czF6d0J4VzVyeFJrMlhCIiwzNzEwMToic2hhMzg0LTFua3ZJYU9TcEgxbVpES05LdEdMTDRZZmM0b0dTMXpQS3J1cUJUR0pLNWhoZkpON0FjMVlOdTVkc1BPVWhLZFEiLDM3MTM5OiJzaGEzODQtWXozek1JN2NwQjBYclNYdyt0cXFoQ1pqUVV3VnB4YUkvL3I2QU9LSlpQQ2xhNVFDT3hkMXg4dzhsb2trNmlCNCIsMzcxNTQ6InNoYTM4NC1FVjF2SldqTUlwWmcrdXRxVnhPaFNJREFJZkx1NkR0cGRLcnFLR0ZsL0NmSWJuU1lYSzdodDA4TGpYMVdDS3dMIiwzNzE3NDoic2hhMzg0LUFBejQ4UkxtNUNiQ1M1NjJEUGJLR3lneUtFUG5CV3IvT1hia05uLzFpa0dIOUFSNnVvWERHUmlEbWh1aHdzTnEiLDM3MzI3OiJzaGEzODQtcDlac2tkSjRvdUQxeFViVDlRMWU4dFRGZTBIQzg4c1J1b2wxRU9mS0Z5K0RiTHhlVlE1ZXdpNmY3V000d2MrOCIsMzczMjk6InNoYTM4NC1xNzdDMW15eDh0OFhJbTUyS2M4NStQRERTUDN6bThFUXpjTW83aG9QaC8wajJaOEhWUzI0ZWFRYW9mUG4yaXAzIiwzNzM2Njoic2hhMzg0LWRsV0VUQ2F2TnJ3OEQzVTFJOEhHb2d1OUo0SWpXQ0x4cWpvcng2SERET2hNVHh0UmZZSzhmU05ZR0hHNjJrNk8iLDM3MzY3OiJzaGEzODQtVXE3eUp0cmpUelZkaFlLbHlZdWQwa2daNnFxZlNYQWtLQmtJYVFLTlk1NHFnZmE2Y25CU0JNdVNqNGRyYnFSTSIsMzczNzg6InNoYTM4NC1jVzc0Zjd0NkNWeE03cGVmK3pxKzZHc01EM3NDdEtsRWV1Qmg4UTBBenJwNEVQRVNwcDQxQ2hFMkZwM3hFM0xLIiwzNzQ1Nzoic2hhMzg0LUFwWG8xM1dYZmVIc3lRdWZzTmFGVVBPNUhWT3ljQ3NubFIxZWMyakcvanZYZ25EMUNxdmdFeXN0UTA1RVFXcEkiLDM3NTE5OiJzaGEzODQtZXNTb1cyWjRhRnRnUkFENGE5aVBsT1hDZVpRMlkyS1pKSFA3NUZnR0ZwUllzcmJjdml5TldwQlhtT2ljR05YcSIsMzc1ODQ6InNoYTM4NC0rcnh2ZnY4RDhFTUUyY0NrTVZzUC83NW5jRlBlMUNlYmxkdmRDbDZvUDVrSlp3OUFmT3h4N0FBUXp1eFNlcDFTIiwzNzcxNjoic2hhMzg0LUh2ajg3Z21STExXNWNld1Q5dng3V2FvZWNoZUpmdno3cFBsemEwWkZObk5mWEwwaUdjaGdabkNjc1ViTllFeUgiLDM3OTIyOiJzaGEzODQta3crSk1SaXpaTlNrSUUrNjN2bzQ2TWNZYzZvUkRBVDhEUHhXdmtSSHZUTzZabElzVFZKS3Z2Qy93TVZJWDg2dSIsMzgwNjI6InNoYTM4NC1WOWNJaXp0SDkxb2pvVWhrMG9PczNOQW9aSk5iYldyaTJQbUZPK2dNV2FRZWNjYUszMmlBeGgvb3lMaDlNbHhWIiwzODI1Njoic2hhMzg0LWFySmFVMTZhcTB0TUlJYVl3NFlsdmcyVEpTYkFUZzJEZW9UYlJwcGw0SDRyRTdxY1NCY2hJSzFzUUhvaGhlN2UiLDM4Mjc1OiJzaGEzODQtVXBVNXlHSlpsMmhiL3M0ODFzVUo0VlQzc3dlRWZKWVlGNkJpcnc0R1ZrSWJhbEVPVmZSV0ZRQyszUzVBZWlFRCIsMzgyODI6InNoYTM4NC1uamtibE03RStvWVZEZ2RaTDlyTnFmUS9keFBXYmhZWDB6RnF2NHZySVJRVmVIVjBDeVhhM0FqOUhVRTBtY0VMIiwzODMxMToic2hhMzg0LTVmRlVxMklzdTd1RUJrV1lMc005UXZ0Y3dVQWNQd1V2WlphWU90cmwvNXgzeFo2dnVvdmdLM2dTQXFVUkZsMkwiLDM4NDUwOiJzaGEzODQtYzhqK0NkcjJMRXN6SXN5SDJlL05uS01pVC9PSWp6TGNmK3FkeWpJVHVFcFZVOWJOcjJ3VVMvMFN2YXFWUDZ4ViIsMzg2MzQ6InNoYTM4NC1OTWhpWnRDNmVrMkNCRkhBYXBHc2RpWW5aVnpmeUVZVG02cU5KTk9hWW5RQUlHTm81TFBKcVJkYW9ZcUpTeVVxIiwzODY4Njoic2hhMzg0LTZEWjdYNnpaUVUxQWl3UERJN3Z0RXhHdnJ4eXYwT0VvTmhIMTEwRzQwRkhuYTJSN0FEdThERE5wZEtYZFBBc2EiLDM4ODQ5OiJzaGEzODQtTVIzakw5QXZ4dTNjMVFpT3ZwNVlzL0tVc2RwT2RjRTBkcjJyZGpFYnA1bUdqWDd1ODVSdHdBRTJIK3ZQaGwvUCIsMzg5NTg6InNoYTM4NC1aYjQ0Y0JaZVc2dU1tdHF6QjZMQTRzS09xWDRnbUlWdjhPODBrOTFub2QzUlVINXArUDhha2h2WmpIUVFkdXg3IiwzODk2NDoic2hhMzg0LXFLS1h3MDFxajlzN3NWU2REd3J2NUs3M1BEMUJORU1YSDlHTkhkdGZOWDhuSXhMVXZZZkxrNWc1QnE3clZWWGsiLDM5MDEzOiJzaGEzODQtaTNkaCtBSTIxTllYWFpicDdnWTQ4R1lYSEtaNWxCelU4MjN4NFBIUlZpUm9DWHhvQndLVDdWaVc5ZEYrL0tRYiIsMzkxMjI6InNoYTM4NC1yeUJmUk4xU1Y0RkpuK041WXJ3ZnREU3oyM01TL2N1STFOYWdkd3hoMlc3Ykl2YjZkaWFjck9jdmYyVTBZcXVvIiwzOTEzMjoic2hhMzg0LUdQUFdJdHJUbUlWN2xkRmRzQXdVVjJEMHlKdUNSUEVkRnZ6Q1d5eUE0Ym5YVkxJQVBwSklYL2VYNGJILzc1TnQiLDM5MjA4OiJzaGEzODQtYmZGQVQ2ZU1YcytmOTV3SmFIeXk1VnNYUnZwUlcrSVVPMTdENGZRR1RkVFBsMGZEckFhNUt5MnBuWFJ6Ui9zQiIsMzkzNTA6InNoYTM4NC1uMXBZWFZjT09LNXVqczJjQ0VxR2tKQ1dNQjZSdlBpQjJYV1phc1VnVzZhZWZaWkdnbHl2VUxyOVBRQ2N3Y0JQIiwzOTQxMzoic2hhMzg0LVczZnRCZENDSGNyamp2bHJPbVhLVWZPenJ4RCtLZ2ZVeGZCZGxVKyt4WHQ0eitDOTRtbWpMRnNEN09tTkFuaTYiLDM5NDYxOiJzaGEzODQtN3k2b1liMmdIbllhY3JsRWhmMVhvd3ZxUFM5ek5sZHowUEZzeUo1eGdydWNPVjhpWWVNbUM5S0VDVGpiZ2lpaSIsMzk2NTk6InNoYTM4NC12aksxYTVZYUNGSk9zWStCSkFjbldqSUo3blNGelR5ZEZTdjFEN1pxb3BFeUhuOG1xRUZnZnBscE9DMnBwMXViIiwzOTY3Mzoic2hhMzg0LWp3Z0VzV0xGZ1ZnemZMdTF3RWxDa1BFQldVa0RocG1aZlZuUmRPMFEzNzhTV0tXQ2dXc0wvUUpIcGlhSlJDdHIiLDM5NzIxOiJzaGEzODQtcHdWb2lITTFZazNKeWNTcDB4ZHZXdVREdUFnY2VQWHB6amRJdUh2QUEyNWYvazNTTU1sVkY5dE9hRS91Q3dqSyIsMzk4OTE6InNoYTM4NC1xaXM0RkJQR21zeDVOSlp6aDgwK3RNMU9YUWdwczlVdWFWMFQxdG5zMFNOU2x0a0NFa1c3YUQwcVo4Z244OFd2IiwzOTk1ODoic2hhMzg0LWU2emc3UnRIcDRyTk1sc3NEMFUzSzlJYnpOeUF1YS9hbVpVQWZmclQzTEFmM3MycVd0WHpVZkxTNDJ1L08wQm4iLDM5OTYxOiJzaGEzODQtbitsaVRRTkUwZEJrT3ZwSll6YmhWYzBBYjM2NytZV3lsU1pkZHhIY0pTSTIva1ppaXJsYkdWMXFSNEU5Y09OdSIsNDAxMzg6InNoYTM4NC04SDllR1IvRlVCY3VidDVNblkveDhMaW5vd3JGU04xbVYwU3QrMldNZXBYVDI3SEFnRGNMNnR3dGdDQWFQR0x2Iiw0MDYzOToic2hhMzg0LXAwQXZSQk1YUHM0RFlKbHE4aUdwZWRNcUUvRk1RM2xWUEhXZXlBSVZLSnlHc05kNGlZM1pvVWZLRHpTVGFkSXUiLDQwNzk4OiJzaGEzODQtMGJHcTBvUTE4Y3Z2RUZCRTcwWTNIa0MrOGhFc0pJUjdJTlArcWF3SFVDd1piZzlQN0VkWUd2WHZtb0hVYzI1cCIsNDA4NTc6InNoYTM4NC1vaTVhdm5hNTE4UTJBeWV0VEVrbk40V0trd0l5Vzk2cncwTHFLZG16TDgvcGlMQWFGTmh0cUNHVXl3NmM2cUJSIiw0MDkyOToic2hhMzg0LWErb2lUK3J4WkpJV1pYSE0rYjI4aXlQclNQOGxFOXMyd0M2bDdTMmFONWhua1l6Z0xzQVdSTXo2bnlkM3ZTVHciLDQxMTYxOiJzaGEzODQtSjVLeXVobE5pOGdOd25lZytyMHBzd2lHaU5zRVB1NmJnV3hzaVRKTGFFd1NZVVQxZUhsOVNoaUFTZlgvTnZHNSIsNDE0MzU6InNoYTM4NC1HdW9kSitVQmpZYUs4UmpEdk9NS3MxWWdKODlTQ2tUWmlHV0RYc1FwWGpYQ3Urb2JRVGk4TDZHeDVkdHRSSVdCIiw0MTYyNToic2hhMzg0LWh2TnFxRWtsU2hCZHd2b1d6R05Gc00rUW1GbVk5cThPYWtqZ1pObXhmMTIyQmxJdmtzc2s2aVVrWTdPa3F1Vm0iLDQxNzE5OiJzaGEzODQtWjY5U0M2ZldndmNZTzl0bTlXeGZibDVIN1B1N3ZYbkNuY0hmNDVNVTJhTGdUTlhzSFZIdUFvZ3ozNDZRSFZDZCIsNDE4Mjc6InNoYTM4NC12akRwV1ZCY3BWLzE2Q1AvR0dMM3NML0dyRGdPU3dsUTAxb1dFZEUyMzdyb3dQNXdVZ1dlMDZpeEtqcC9BVEdzIiw0MTg2MToic2hhMzg0LXBoamd1WGRwa0dwRkcxUkpRTG1vOHN4b2M2Q0ppcEdEMU4vbHFOZXNUckdNRUtGV2V3NmRUMzA3azM1MmxFM2MiLDQyMTA2OiJzaGEzODQtMWRHQ3p0bDN3NG1hVDVOY242ZXVVbG9vQjZIVzlWRmIrYjhpbitzaG5qNmdGQTB3c25rNTNnYkNmSTBxMktPTyIsNDIxMjc6InNoYTM4NC12VGRSc05meHBMM1lHRlkyQ1dnTzVVWG40dUxsYW4zQVI3cEI2ektCa0dFcVFuV0lnSFZHS2Y1SzhHbzVTNWRjIiw0MjE5MDoic2hhMzg0LU5mWmlFaGowVHNSYmc1VHRlQzBsdHE5bzBvLzZTT0xEKzBmenFzd2xBN3dDMEkvQ2FYV3ZOODBEcWNmUU5zcGMiLDQyMzE0OiJzaGEzODQtcndRR01XSXYzOTdDeE1NRVFLQlZEelFMdXdkL1RpOW93bDU5bUluSHJaMlFXQ0svbEVkblZSS2hHSTBzZmxsUCIsNDIzOTk6InNoYTM4NC1RcFphMlFaV0NJUkVVcnlOVmJDOVR6dTVVSjBhRDdTUWgvSGM5Wk9tMTNEcHdXSjZDTXRIMFdRTEZsVHpQMzVFIiw0MjUyODoic2hhMzg0LVFKVkdrcm5WaE1wTGdsaGpnNkdaVWJIT3ZsR2pMdnJaekRTcEZhaEJ0TTIyOVFzTVF3R29YTWlvTUFaWllTOE0iLDQyNzc3OiJzaGEzODQtZzNob1hZdTZiS3QycFlJUkw4cVlXNFhBN1hFTEk0ODRLNXpTSG10Um1FSHllRW1ZVnJMRUdIbkpVSEpzM0tSbCIsNDI4Njg6InNoYTM4NC14Rmk1M2plSGhaWlJMWmJTUEU5TElQZUw4SEdPTWJ2SWtXcnFxOXlwV1cxSUxTMytlWVRhVGpoZ09CRHJSVnlKIiw0MjkwMDoic2hhMzg0LUN2b0V2aE9zUlgzYWhIODhocGpvMjRoaGJTR3FJeHByd2pKRTNOeVhOclk2d3FhOFFPY0lyMERlNjhtdU1IU1EiLDQyOTU0OiJzaGEzODQtS2x3OGU5bDYvL1pCUnhHbmxPY2FNY0Q4eURyYThpc1dWMHFpWDRKSzlwWThaWWhIclg0NmY0WkF2eHlNVGtlVyIsNDMwNzA6InNoYTM4NC1JZWFQeHNmV1Bkak9IZk9ITFhFcVVVdHNhMW51Nnl5Y3AyUWNxTjEydXFDTzZpWTNKVktDNUhiSUNSVkwyUDBDIiw0MzMxNDoic2hhMzg0LVUyM1hvdW5JWkxIRVNYbi85SlhTdlYrWFhkVWhxWVBTemxZN1UwSS8zY0pqWWFoQWZvVnpEWnZDVTk1dXlBSEsiLDQzMzUzOiJzaGEzODQtaklzakViQ0x2TDBwcFFmMVEwVHJxQis4cEZWRXJuejMvYkhDajYybzErVkFqSW1vTWthVVJ5eTMrZjBtNGtnZiIsNDM0MDY6InNoYTM4NC1WMmxKV2FaUEQweXAxY1k3QlBORFB0TW0wZFRxRUg0SU00eHlqeWp4SStTcGhNb1V2WldVLzZvVlZvaStHR05nIiw0MzU5Mjoic2hhMzg0LTNuemJ1TjdWajI3a21xN2xqOWVHRHpjSDBpck9tcmRuenFBZzZsVW1zTWVuZTVPYkJaYXpuRDZkM3d6SHpFZDUiLDQzNjE1OiJzaGEzODQtRzVINHNNRHhCcHFyanRMOERvWi9RR1pWdFVzRXJRa1VDZjdxWWw3a0p6cHVDVG5tSzExaTBBYVRuMDNBNjF0NiIsNDM2OTc6InNoYTM4NC1ia1FYWDlTQ2tEdmpKWFZ6VXBQZDNlRXpyaDJMbzVpWXU3aXIvSVRyYWo4SjltOWNiR2N0dWdxTEU5WWV5T0Y5Iiw0Mzc4OToic2hhMzg0LUxFMXZPVUtydGhLSHpUTEhBak13Qm5Cb2VvTHV5cHVZNnhsZkp2VC8zOGtONzdYYi9hMnd0eGV0OTh5a1JSM28iLDQzODkxOiJzaGEzODQtR3ZuczFlK1d3VVlIeXVtcHZ1anYrVjRkRjRleXpUQy9RRHB0OWNnWTIrbE5CY0s0V3lUQ1lzRHUvd0FRVHBKTSIsNDQwMDI6InNoYTM4NC1iNm0vMDlMNHJQYi9HRE1ZTTBacGd6eEcvUEVjaFRlUGdtd25pRlVqdlhjbW1iREMyaWMzenM1THVJTXE5ZDBxIiw0NDA4Mjoic2hhMzg0LVZ2dHkreGRnSVZCWCsrd2tzdHBjYTNnaGFiTVJpTTV3NDU4VENveklSWDJYS3ZCalNBa2JYamx2MmVGTVZQSFQiLDQ0MzM4OiJzaGEzODQtT05IWTlxUXp3WUZrblU2dXVFRUtrY0lWb2NoVkFQNUM4WmQyZ1piS3g4UHVzUFUrY2tQZThFaVlrWVZvWFZwbiIsNDQ1Njg6InNoYTM4NC10Vkt3K2p1RFJVMGhxV3dqN0MrVWFXYmlOS2ZtbnFtT1lGWThHdGFlU1RYUjg4Um1xZG9ZNlBCL2RUN0kvRUJqIiw0NDU4Njoic2hhMzg0LXI1WUpIR2JJRURMU254SENlZk5PaXl1WlVHczBJb0VnaG5zR3laZ3lJeDNuRkxWZXdST3VOakplNWovU2lNRjMiLDQ0NjA0OiJzaGEzODQtRWRpWFJtajVQQ2RmMkl0VHdndkZmcDlWVStYVnBybFNFdDV5ZHdmZVNmQkQ2RUVQSnJaUzFYN09YbWJnZTB3MiIsNDQ3MzA6InNoYTM4NC1jbFhOZUdUR1lUTTd3WlFSMDArTU9kVVZuUlhydnNGbjRXOFR6bXpwdGhxZG5RNW9oSDUzNHlnUW5uZW5DZHd6Iiw0NDc2Mzoic2hhMzg0LTdEd2hyeFZXMVJveDNwOXFGKzlJdWdHemFBZGllbmFKcmxERk1mZ3hJbXZUUUpaWGtOaStka2JsYXQ3Z09lTzYiLDQ0ODA5OiJzaGEzODQteTBiQ05MeFVueXF1YjJGK2F5ZU5XdGQ0bDhXYXM0L0QwVXRuN1RYNWtZdXFodFBPdkNyMFpsUTlIblJVVWtudyIsNDQ4MTU6InNoYTM4NC1EYitXT3NBVXc0MFg0WVcxd0JpdnkzQlZ6MU43ZGl4blIyeWplTWp6VWxxZUR0ZEg4N1dPdi9ScTRVZmpOUGIxIiw0NDkxMjoic2hhMzg0LTkwdFUwZXFjVkdUOXpnbU52N2FxSTlBRFpBcHhQRWs3ZC9XaEdqZkdHQVhlQ1lJVFE2OERwWTM2dGhhRCtMK3oiLDQ1MDg5OiJzaGEzODQtZVczakV1VnJ1QlZTdHhjc0p6WkFOVzZ4cTR5VzBPSEViVDVOcDZwWUd0TllwanJNNWExZ1BoRk1BYjNiMWt2aCIsNDUxNTY6InNoYTM4NC1Xam5hbnErVzRDUVlSM2Z5Q0FSTGZRMG1qQlFqbCsyNDViZGpDM01XczQvcHdSQ1FwbWIxZmh5WXl2VGdEVjBVIiw0NTE3OToic2hhMzg0LWJXOGsxTXQrMlVveHpBT0hBRTVQcFhOYWlZZk9XbTdHWDQwbVEwR3lIbUJWWXFjOVdJVWV3d0tWM3pjQjc0VnoiLDQ1Mjk3OiJzaGEzODQtVEhjNjVFNjcwa0FQMHlWVVdock53UTFNTElJa05pVU1xY3Ftc2pjOXpKUXBPcmFqb3lydHVDVkNNcEw5Tks4SCIsNDUzNzc6InNoYTM4NC0zbUhZUm5ub21DWlQ0dnd1b2M4Zk1XaUNraSsrRWxyaEUwdUdXYkIxTTZ5V1VYMTIvVGtkMEVBUVhSUWZHVXFBIiw0NTQzOToic2hhMzg0LXRwVzZ6RHNwcElMMU1mVFhXYmdWeDlUV0dPeCtWY0RFaWtXbjRpQkw2RUpxNWcyL3NaSHdIZ21jdkRCWk9VNDAiLDQ1NTUzOiJzaGEzODQtd0RCL2FOK214NEgwQnF5THFYbGxOOTBmWHVzSnNpMklKb1A3L0ZHcFZvY2VqSmZxbTRIQ1ZiMFVnTnFxYTdoMSIsNDU2MDE6InNoYTM4NC1DOHBFdUNQQjZROC8vdDk3YkZHei9FbXJPR091TDBEcEM1ZGlXa0MzeGdMSGtvNXVNM3ZrUUg2NjZOSWp0M3A5Iiw0NTgzNDoic2hhMzg0LUFqZktYMWpLQ0FyZDlZN25XTEVVSUxDZTdXZndsZWJqOVhnR2VXM1hRT3JJU1Vscm5Pd2VUNUNQQ2dpODRMTDgiLDQ2MDM0OiJzaGEzODQtL0hIdzUva2pqeHVjMHpkVUNYNlVZeE9sQWtKcURobHh3ZEtvcnRWSHRFV2JYTjJRejNBVFFneEdZNTB1eXNlZyIsNDYxMzY6InNoYTM4NC15cmg5ckFEeVU3OGlTQTZpQkxua2ZyaHV3SllTREdSYXVNWGFHblRzY3BBYlErdG1zZlBac3FKYy96bWNqbEpOIiw0NjIwMToic2hhMzg0LXp1OFRhMCtFQm9vZTVJMHF0bGtIZjdDZHd6NUkxa2ovTzF1cExpaC9yNGRFNjU4NGptMEloMTcxb0gyWUgrejYiLDQ2MzEzOiJzaGEzODQtRmZMZVVPSUZBdFFEVHRQUXVQTE1HTHNDblRXZ2NRdHF0R0xmS3BzM2FOWnN2T0hEaUdJK1Q5cTVIQmVPTHpMeiIsNDY3MjE6InNoYTM4NC1Kdk9jdGJuZVNhMVdHVFhOdlovM2JMSWhMOEwzcHlQcGsvU3NZQnZKdUhCbkVFM0FyL3NTL1A4eDhEdzF1V0lRIiw0Njg1Nzoic2hhMzg0LUx0Ny84QitoUnkyQk1NTVBTdVVKS253bkZlbDlzTTNNdWxZZ1MrK0dldlFHcEVSOHcyOGw2eitma2NubFZtcE8iLDQ2ODcxOiJzaGEzODQtY0hURHlKVGNROVF3czg2RUVFQThxVk5TOGZEaGl3REpmOE42OFByN01ES0JQTkt0N2wrM0t2TUo0RDVud3MyciIsNDY5NTE6InNoYTM4NC1GL0lzdWJvaEQrTWhoSC83Z0ZqK2RyZk1QQmFFcFlSWCtNTkcvRi9kQzRtZWJxa2EyOXJlK2k5dThnbk5qZGNmIiw0NzAwNzoic2hhMzg0LW5pcHM1bmM0cm1TYlR4cWpqUnRQd24xN1ZCZmhscm9wTUlROHBEbnJld281RlhqcnlhdmRYQnRTTy9Rbm4vQ1oiLDQ3MDQ5OiJzaGEzODQtV3RHMjhrZGJ1QU02ZzJlTWpqd3ErY0lMVUlpblZMRUZhVkJsbHdIa1IvMUxpYzVNd2o5amtuQlF1RzM0eFBGOSIsNDcwNzM6InNoYTM4NC1FbHJINnBaL2tMQ04rK0tVNlBYT2xYbGcyaXJSR0g3SXdBNTBXRXFsZjJBK2J4azIwOHhyUzBVMGRXUGViZFRQIiw0NzExMzoic2hhMzg0LXJudWxGOC94WWN2Q21pNFdNTXZ0YzZpTTl4d0xUcDVENHY0SFhSMklCLy82L2lJWGExNW01OUVhdUY4ZnZ3dGoiLDQ3MTQ5OiJzaGEzODQtS204Ukt0MXMzM3lBY1JQdjdsbUd5WXE2SkRVUHZyMi92U05ySGt2TG9mQmdZdVJhZ2RYcjR4MkkzWC9TSVVkNCIsNDcyMTA6InNoYTM4NC1QRWp1R2toOVMzemRoWWxaN21PM2hpWXNXRWdSeGhRMDN5aXQvcFdQbURLWXVnWHVmWUk3QnB0UmhYb2p6QnBMIiw0NzMwNToic2hhMzg0LU5LMmNzM1NOK25DTHdXTll2eXNteXBJTSt5TFBvZStzMlpQQVFOSUpoS3YyNG9NUDR4RkxVZGdrcDV6eFNiekIiLDQ3MzQ3OiJzaGEzODQtMThjZHIyRGxVQWw3T0xFdjVjR2ZybFQ1MFBMQ2J3UFhtZDNEUFd6WnJNUit0NUoxWUI2aS9MN0puS0dqN0xWQiIsNDc0OTM6InNoYTM4NC1pTU5HS0Q2SEhoY2sycVg5eWRKOGRnRVcwSjduUFZPRjhyS3g1ejZQaSsyekVoR21URE90aEkzVzdnVEJ4THY2Iiw0NzUyNDoic2hhMzg0LVFHbGVVNGFUbHpQVE81VmNBSkpIbHRwZm5vZmJUY3FtWFFuSE9TMWh4OVJmcW1JWEVYd0h6SWlxQTNnY3I1YWUiLDQ3NjY1OiJzaGEzODQtMDNoakVUbHZ0Y2hVZTcwOElKT2xIVCtxbjJJdU9PWmg5dFYrU1BPaW53Wm5SVW8wV1Y3MmpKTXhtMUo1UzZIRyIsNDgwMDU6InNoYTM4NC1jWEpHM0NLRkFHZHlNMlNQT3VEZVJLZ1JkZmdQOUxFRlF2R3VtR2ZzeWFqLzByRUMydEpPNDRjYit6R0JidU9MIiw0ODAzMjoic2hhMzg0LUpQeGJvYnc1Zmsvdld2Z0sybXhtOThhVmRaa1krS3hlbUJtYWVJbUZJTTR5cm9tQ1YrbnhWVGUyN245ZXdTQ2UiLDQ4MTEwOiJzaGEzODQtY1lwVzA0K1o3WkFBSkFwNkZyOGhXdEMyQTFwcWpkUE5BcFpBemdxQzdLYTYzbk50aUMrc00wWTNxRmpkL3NxViIsNDgxMzk6InNoYTM4NC1hZExhQWRvNVdjMUVtY1VLclo4cThwQlVjNGkyZzZMMVpIMDNVRzQ3Z20xa01lT1NLMDZuNG45SHo3SW4zcFl3Iiw0ODIwNDoic2hhMzg0LTdqVVVHVjlFM0s2Z1I1Y3ozTlg1bHp6Tm40SjJ0R09iakM3KzM5QjV4eDBqVURDYmJBa2JOYW8yZHoyU2JwN0QiLDQ4MjI5OiJzaGEzODQtUXNmZGxLRHYwQzRPU2dtVXAyb05DR2JaMkpMUVFqTnBCTTdqN3VTWEg3S01UNEhrOE1DVytqZ3FPcTIzTmQvOSIsNDgzNDU6InNoYTM4NC1hVTJIWlZFWERmdVJmczl3TUYxeCs4bk54Q0lXLzZUVnhMRlN5dTc0N1JjMXA0dnFkbFFDZk9jNDh0T3d6NFZuIiw0ODM1OToic2hhMzg0LTdlUHpqQml6MVVLa1RzaFY4WUpvQVllcmNVQnl0Q3NBakw3WUJuN1poblpEVGdLWnhsSEZ4NmVZS2ZpcWJVMU4iLDQ4Mzg2OiJzaGEzODQtUFhmeUhDd1ZkNjErV0RzeXlvdnkxeEliNUFYQWw1YjlxUCtEZk02MUQzVVduUG1QU2QzODBPZFdtUkZsbVh6aCIsNDg0NjU6InNoYTM4NC1vTmcrV0dJN1QvZWI0elE4OXBiZ2FRaEE5TnBGMDh4S3BlQ09PUVZ5bXdTQW5UZ1plQVJzQ1J5MWVCTDBYQW04Iiw0ODYxMzoic2hhMzg0LUFDeDY4V0o4dlpJa0phRnhYZzZCblI4VkZqMlJiWHNZbFlTZ1VJMWhnSmY1UDlyc2M3VEJTdVlyMGVyZnJCaUQiLDQ4ODcyOiJzaGEzODQtc1h2eTlHTkt5SVd2SXJPQVRBYzVNbExKTkFmdDcvWitNclhJVEVSaDVxeURlTEZuem5BaElQdVh1MVJzbDFCNSIsNDg4ODE6InNoYTM4NC13TGFVTDQ3Qy85VWx5TElVUmJoZnpUaVI2c29Xb0FZaEJwTVRrZ3pUclVKMStmb0Q0dGpIOXphSkpKY0o5bU1vIiw0ODkyMjoic2hhMzg0LUdxWGNsTVpaQkN3SGdRVjJta210a2dpS2lCUmY2bFBnd2pGTkJjRTloSVlxeklNeGprQXNaRHlScllkNU5YT3YiLDQ4OTYzOiJzaGEzODQtMW9UamoxdU1FcGFOUi9sdkhIcE5LQnRXaXdrdlk5aDVtNk5wWUZyM2s0S0l4c2REdzlUYkw3ZzEwR0NFVDBpMSIsNDkwMDY6InNoYTM4NC1zL1dGdlh1VTZXNXFEVWNTbTVyUC95cjF2ZjlML2RtdHRNVmU5bTNydzR4QXYwVXBsM0xvaGN2Smt5OFdkdGFmIiw0OTA5OToic2hhMzg0LTB6M0dIVTBxZk1qd1JCN096aWFlNjIxa2VsZnlEd3d2MUc5cnBZdUVadngveEI2ZXpCQ2NjZ1VWWlZ2WmZNV3ciLDQ5MTE1OiJzaGEzODQtT0lMTmQzM2QydUN3cDF4Zyt5U0JENmdOejlUWUZZQkhMTzNlbHVlYnMvc3JtOFZFcWd2VnZUeFBrdHdrbktJUyIsNDkxNjE6InNoYTM4NC0zODJiT240Ky9UZGhSTkxaS1ZvYit0TURJMVRhODNORnpxZG9WQmFsMWVicjl3djJ2NCtzNnZOcHdZRjdBUEwzIiw0OTE2ODoic2hhMzg0LTluTmt4b0VjNi8xRFg5c2tqbUV1VVhlT1FwYlFZNG1yZHUzK2c0UERGZHhQT0tLdkN6VFR2ZjZWMktqeGxzNCsiLDQ5MjQ3OiJzaGEzODQtOG9HYm82anpwU0pNelV1TjhQU3F2T1J2TlVPcXhvb3JzdHcwOCtwWmd5eGZvOGQzd2FMNDV1VFJmOXhNQ3B0MiIsNDk2MzI6InNoYTM4NC04YzZ6ZlFkbFYyTDRyZEZEUWM4dUtFMkNGTWtpN2taQjZRQlhkQnBIbUN5U0JLN3F3anVIWk1Wd25Db2RyZElpIiw0OTY5MToic2hhMzg0LTZySzJXRFV4YVdzNXdFWnp0RW52S3h5bnp4VGtPcTZ1RjVEd0RVdjdXem5aaXc2bGFjckllTTBWT1Y1WjVoUDciLDQ5OTA0OiJzaGEzODQtbFVkWlNmNG9zb0FsYVNTdjFseEZ1L25xVWVVaGdycVAyYitQMVpsRU1kSCtRWWhmM2t5N0NucE9EYkp6eG8rSSIsNDk5MTI6InNoYTM4NC02QUEvZlEwK3BMZ1hkbVEzelZ6Y24wYjY1YTY1UDJUUjlHQXpCZjY0QjFrVTF6WXE3bFNNcnZyTUdRUHFybURZIiw1MDAwMzoic2hhMzg0LWJuaEUzdFZoMGJlVUFXUXBNWUgwRzZpRGcwYTZzVGQraldnSTlLVGRUNDRBYldWMzlHUVVaVzFYbGtiQmRDdW8iLDUwMjgyOiJzaGEzODQtN2YvWFVZb2hrRUM2OTgrQWxjUHNVd1o3MEFFQmE3a0lJS25DTDl5LzJJRWNWYjRyakF2THUwbU0rRE1pekNtLyIsNTAzMDY6InNoYTM4NC1jTTJDcVJFeVI5SUNCc0sxQ2I5Sjh0TlRkYTRRYmtjVGNzWU85Tkg0T3R5UnFHOW9qdUpORHY5U0dTTEx6VlcvIiw1MDQ1Mzoic2hhMzg0LTVYRjJGdVpGL0c4ZWdONlFpY0FJdy9PRS9FSG03dE1TL3pjeDJuUG9ZOExBMkdrc1gxQXNpOTNpUTRqdlFUeG4iLDUwODYwOiJzaGEzODQtK1VXdGdSZUU4TzlCKy9LRDBtcE1GWlc2QTZ0NmwxREI5NGZhaE0vQkJDQjZuc2ptM29JREs3RkZCK0ZUcGdaYiIsNTA5MjM6InNoYTM4NC0rSnlPc2dGS2Nud1lMS2ZrZzFYWXd4V043d0sxdjVnU0crcUZVUTAzOHNseldVMHI4dXlOMDBlMDBndTdMdjhqIiw1MTA2Mzoic2hhMzg0LTZPWGJZanNHTm9kZnZReTdqaTJDZ2ZkSU1SUXRZTllIWWJXeG5rZGZEaFV3VzZyTzhFYlA1Q014MFVlYVVIcmciLDUxMTU2OiJzaGEzODQtcERMZU9GbmtaTmlqMGZPRitGcWoramxLRlZaTlpNRDNiTkJ3Nkk2ejYzOHo2b3RnWEk3MjVmTjY5RUQ4ZlBvSiIsNTExOTM6InNoYTM4NC1yeXE3V1prWjE3LzRGTENMUDFhRXY0WmFOQmI3MHZxYkJrRjZuVWNuc2N0cGZ0dWVXOXo2bkJCclJ1dkhSeGRLIiw1MTE5NDoic2hhMzg0LW5vY21hMmpZQmJrOGJ3aEY2VkVuV1NhQ0ZZRjRPZEJOcnFXVHgzRGhxamNUVkdBOGlWeC9zaWtzamxieGdtS3QiLDUxNDM1OiJzaGEzODQtMGVjU2tYZTRJQnlLS1U0UmVKbytpVFloL013L1lmZEtWQUh1dEprd0Y4VlErSDBLRzY1bDR0V0JWUnh4R2pJVyIsNTE2MjY6InNoYTM4NC1SOGNybzFWSXNoTWticGFpeDQrb1BsVWQvUDJNVVRscXdLY29YZUdDbTJuSXBwM0k5S3FCdkV0c1owRGJjckhUIiw1MTcyODoic2hhMzg0LXhxVGhjT1NNb2w3NzJBbnN2SVAxSEI3VUpzbkNERUhLT1h5TlptNHJRRVZqWW1QYlZic0NTdE0rZUJVZWI4bmMiLDUxNzg5OiJzaGEzODQtdm85cU82QmVTeTR3NGdGS3kyZzcvV3ZEaWtNekZEdkJuZzRtWkxUT3NaTkVqZFVVNjhyM2ZKT09pNHVoM0o5TiIsNTE4NzM6InNoYTM4NC1UdG1YL3Njbmdsdm9hUEYwM2xENUpPMTVFcmN3TE9ya24vRVB0UjNWZGI1YUd6di94U3ZnbWNTV3RacUJRNkFIIiw1MjEwMDoic2hhMzg0LVJJejFCQ1VaUldWUVYvcmlGNjZ6TjRRNUxpSGpYUFVKL0hkVS9EbzNJSEJoS2xSZGt5TFdvSm8yQ2lobXk2NE4iLDUyMTM3OiJzaGEzODQtblhUQWxCUnhQbExGRkRzRzg3Y3ZKMjQ1ME9qbDZYYTRiZ0VXSHVNejh2NHZtb3UzTlZvdUpQdTZ1dXc0SUxsSSIsNTIxNDY6InNoYTM4NC1ESW1GaVg3L2k3eWpZcVVVdFRXODIrT0ZBK2RnQkw5YkNCbnBGM2ZRMXo0M2dkR1hoV21GOEY2YWFGQW0vRTJvIiw1MjM4Nzoic2hhMzg0LVJaT213MHlOUXR2UnZMYi8yTWVqeTlOMXptVjc4ZFVDcDdVUEwzZXd2M2hUZitDeVNYb2xFV3cyQ2gxdXdMOGIiLDUyNDE1OiJzaGEzODQtUmtvYzA4MmREZlhma0V5Y3d0RmZNWXdqeFQrS1p2RFFIQTkwWDRzM3NsbmQrUGM3ZDVGTTlMMlBLaFpzMnZ2NyIsNTI0ODU6InNoYTM4NC16THpuUEZabk9WTFhpQk1JNkFvbmZDKyt4WDVITkI2aG9NaFRMejF4R2lJVHYzcTNDRmhJb0lrcWRTWVhNTERSIiw1MjUzMToic2hhMzg0LUVXNjNTcitoYW9KUmFCdENVNmJPLzQreEVuV1VieURsSkRBcUN5S1grRHo1eGVzMXZhWWhpTUFreTNpVzdOamEiLDUyNjM3OiJzaGEzODQtWUYyVHBlOGJtMXlxaTJCd01wMElFNFhLUlVUNlE4UnN5SGNlZWJ6SDAxQmEwK0ZFN3l2cUZEN3U3VFFLelRLbiIsNTI3NzI6InNoYTM4NC02TDlRK0MzdnRWanQ2TXZpMHdEVE8xdlBZWkI3VXhmTVozVzh3UTJrVGEyLzVld3ZFcmhOVHhjQTZhY0krcDdmIiw1MjgxNjoic2hhMzg0LVNNK0ZvSnBwNTlENnpMbzNDUTFCS3dYQisvckNDV3REdU9IdU5tR3AxcHhYRnQwczRITnhNcG1DT2ttblp6U3ciLDUyOTM3OiJzaGEzODQtbDVLOUEvSGg5SjMwK0JNZUpHTTJaRElnUFViNE1PQVFDMlBSZ2FDSzJYWXhBaTRadkJmR1NrV3B6S3YxNHRmbCIsNTI5OTc6InNoYTM4NC0yTSt2M3ZuZGpscHJlcEZzRi81ZCtKcS91NDZTclBBTkVGY09jNXRuSDgyaHBLUDBlMmdMd1ErTmxQNGwvQWxHIiw1MzAzNDoic2hhMzg0LW0xN0FGaVBPVWVFNDZRV2tuZ2Q0cUFhVmhpdVBQOTZHNldGN0djeDlBWktOOWNLWFVkMFVSQTBldnZTR1ZrS3YiLDUzMTQzOiJzaGEzODQtK0k3ZS91UE1xN3JMUUxDWUxISkZJS1BUamVDWVV0K2Q4V0ZuNHpNOFFXNGNMQkxLQWZ5SFVQZHF6S0d0YmhSTyIsNTMyMjE6InNoYTM4NC0zYmIzSkRBL2lVb29zTTdVbVYwbTJmUDBjYkZPeGlINGV0MHI0L3ZhVlBiaFRKWThIZ2FpR2FuNGJTSmVTR21IIiw1MzMzMzoic2hhMzg0LUl6NEk3bVYremNuYUFleVFCalRqVEltTGJzWE9jWHVBZnRqNWZ1TmhETS9mSGVsc1BhWGE0NkFCT2lPaDAwK28iLDUzMzQ0OiJzaGEzODQtUjhYS3N0WTFoTHJGZWE5eU9WbnJ3WHdLNVNML0xZbFBUcDhTK0xLcUNnbWhDOERMZTd1OUZhVDJLdVlvdGV6aCIsNTMzNTQ6InNoYTM4NC11Vkp4RU1CRXlUUkRIT2d4ZUJna21sOFpGTzBKTEZQQWZlYjB6MllxNk51SWZzdG0vZk5UeGRGZjlMVEhpaU5YIiw1MzQ3Mjoic2hhMzg0LS82TlpsQk14dlpVTnJxRTkzTzlkaWtDckdXanRpdjRCdUQyMVVJem1qSXlpWmpXVW9XZGxCK01NY3pXOFJtL1kiLDUzNDgwOiJzaGEzODQta0RBRDRBOElkZXZ1UjlYL1V4MG9XUkc4L0FOYTUrOU53RHJ3WThGY0psZHI0aSt0UjhOUm10RUxYSG9nM1ZrKyIsNTM1MTU6InNoYTM4NC1QRWw1TTBtQ2NDOUc4U0JxZVFSeWZBMXZYRFZ1bTBpampIb28wSkQyaWo3YXZYMWFnUmtydUN3UzlMVkJHMDl2Iiw1MzczNjoic2hhMzg0LW9CRHlSc2MrZ1ZMMmZxMEFkckFtSlZWY3FtUkFmVjkzUm43Q3Y4L1JmVGFDOUlwWWRKQ0xEaXNSQlo5UzNQMVYiLDUzNzcwOiJzaGEzODQtaG9SSDUvU2tnMWRmQ0w0M1Q0YlVDUjVqcDZXMjNvZE82QkR0bmVxM1JOK0tPY3NieThCZ00zaWdlbHBMcUdGaSIsNTM5NDI6InNoYTM4NC1aK0hNeDAyR1hlTThCcU9BL2lVUUgwM2hqWU90RHJOVU5GeWFDQlpmdzdIWlo4Z0JMZFdycm9aeUZZLzZSQ1NzIiw1Mzk4MDoic2hhMzg0LUhBc0NoWmZCaVhQRzJEMk8wMmNIMFhuRm9hYjBURndacnBiWnZQVmRDaElYUlM2ZVVXK0x1TUcwd2t5U214UlUiLDU0MDY3OiJzaGEzODQtMXorK0RjbmhkR1NiTUNUd0w3bUt4SHgyVnM1SW1hNVNNb3NGaGVaREkzQTdPYm0zRm50alFuNEtTUWlIeW5EdiIsNTQzMDc6InNoYTM4NC1mck01bDYxL09zSjRxTFc4TnVrRGRpT3AwZlVqSmlhUnFMZTZ4V2k2NlRGRGVHYkpSMWExM1dkdXpOUzFJaEJBIiw1NDM2ODoic2hhMzg0LXBqQSt5SEdwQVdOVklQUndyZ1JwRUt6NlBzOWNZTWR0bVdCbnRwNGlZbExZU1ZDYmhwY0V4amJLR210ZG13dlciLDU0MzgzOiJzaGEzODQtTzk3Qy9IR0xaalY2dnFNeGNEcUFOU1YvVlNWbkEwWUZlMTZKaDJoYlJvVldsK3NHbElSZ21sczlaRi8xek5PcyIsNTQ0Njk6InNoYTM4NC1XOUhWbTZTWWU3RWg1R0FmUXdZSHE2cndtS2ZHRlk1YlpjbWltTExPeTg2bTNMRVlWQzJUclpHZ1R3UzMzU1VHIiw1NDc0Mjoic2hhMzg0LThTdWt6bkVEVEErY3hYN1RkN3ZCbjRIenZxeWpUUHp3QmlXNTFwYjFrSWJKNVB4NnZCNFl6YnZJaDhrb3krRG0iLDU0NzUzOiJzaGEzODQtVTdoVjFpN3l3MHVrRjlMQmlSU0UrTlEvKzk1STYwenZjREl1SEEwd1Qvd1ZFaEV3N2ZFQ3JacnB6SUE1QzlFcCIsNTUwNjU6InNoYTM4NC1TTUZnby96UUZReHJkQkdWbjk1U0VPRU5qVnB6andZUmZvMDNORDVqdCtvaDNyOU9LU2IzbDkxS0tYTHB4YzZxIiw1NTE2Mzoic2hhMzg0LXJZTE45UzB5Z3hKZE1OSHdCdWwydEI5TXgrcTQyc0lkV0poY3FsSGJvYThSMWQ5bFVZMHVTVWk3bWozRkFmVUEiLDU1MzIzOiJzaGEzODQtY3MzUmFWR3Nid0h4K1oyL2ZPYUdDbkpmL05tTFAvRmFETVNoc1FKbkh6WUswdG5EWjFybGVlMGxhRUdSc0ROeiIsNTU2ODM6InNoYTM4NC1SMU45cXNCeGU4anZYcUlWVmIyZDN3cmdEUUJQckpqdFVkS1luVFczZkV6Q3o5dDFUUTJJcjdqc2wybGpsb2NYIiw1NTc0MToic2hhMzg0LW9MN2MrdXJIc00rYmNkd21NYUtPejVRWEZRWVNTdHVMYXhNMktmMWtnNVRwaWtoTUwrbnV1TGpkcXVCcVVhdFgiLDU1Nzg3OiJzaGEzODQtamY1eVVrWk05NG1ZN0N2ayt1a1k0OGFIT3BkQWZxSTdrb05LcmFYV1hLMGdHWDhXMmh1L0FEaTNIbVR3NnBsOCIsNTU4NTA6InNoYTM4NC05VmhHMlRVK0VMSk1Pb1EwR0QvTDM3eVMxejlPOWhNQjJwdlhMQ1FMWVo0Mk9GKzRwbkFqS0YyUnBrb1pCaGZGIiw1NjEyOToic2hhMzg0LVowNFppYnZ2QUR4Ulcva1BqME90ODNHRDJQSk1qUEVyeFVvQmhsNUhMdTRWSDJENTNYeFRUTjRkSVBRc2JaL1kiLDU2MTY5OiJzaGEzODQtTk9weWR1aFdDWWRiMkFrSHJUWDZWejZaeVlCTDFmbE0zY1pVMjlkejd0MkJrb1FsajJ0QmIxYVczUTluVnFtSCIsNTYxODQ6InNoYTM4NC1oTSttdVBnOWtNSit4OXBJTG9YNG5BanZ2RFYwUTI3OHZBVUVMOTFZVDV2NVhXQTZYa2FNelhCeW95TnNjRFdEIiw1NjI0ODoic2hhMzg0LU12NG9BK08vTW1Rc3o4T2xBNHJ6ZkR3OXN6QzVJM0FySXpUNTlTSVp3VG5Hb1BjaTIvQjNjTkY4S2E3RlhkUlciLDU2MjkxOiJzaGEzODQteHFObDVWVEN3TlVoTnpFM051SEMwbkdDeXluQUFSaUpyL2pVUENreHp1TjIwZkJqbk9uNDdLK1RWUGxqa0dvNyIsNTYzMzc6InNoYTM4NC0xbmdFY3I1R3JXbnUzNW4zSFVnbkdEZU5PK045Z3pMUGJVZVpjRFhDTHE5NWxvQnJaeFpDL0RSN2hma0pwcStKIiw1NjQ0Mzoic2hhMzg0LUZCUFRWRkN6b3VmeklRb3F5WlVpaGJuVng2QXVCeGh2UkdiSWFpdzl6STJEekxxYjFrMkZFa0E4UDAwQTFNS1kiLDU2NDcwOiJzaGEzODQtRTVKcEtGSG94WDBFTEgwQk5NU0YvWnA3b1RZdWtGRkYydnM2Z3lvM09EbzdIc3JOOExYSjRCMEVwSEpxaDJjcyIsNTY1MTI6InNoYTM4NC1sRXl6K3FGdDJLd2hueXhnR3NhQmF2MVZYNGs4VUZnblhEK3VlWVEzMzFmVDlnMHU4TDBpVzV6U0FMdmFRanZyIiw1NjU2MToic2hhMzg0LXdEcUd4LzdxYnN5WkMyUDRWMEMrWlBDQXhkZ1ljK3RQYTBWMENaWGZQdDd1VHNqeXZvWXM3MjhGd3VWdWE3K2siLDU2NTk2OiJzaGEzODQtV2hpWExyQ2g1c1N5citYNmF6T1NlK1dRQ2hGaEJEMTlmREgxcXZqVENtak51ZXpkdGJ2elJJVmw3cmVSeVBDUyIsNTY2MDY6InNoYTM4NC1rZS9YVHhBK0tCOUR5NEw4ZEVmSDZUQmtCNjRnUlB4dlI2VmI2b0pVMzc0d0o3M1M3Q3phTnBkWlZwck1vREwvIiw1NjY2OToic2hhMzg0LXZnRlFvSkdiKytGbzVpSUU5c2FoKzBVbXpFMnVGV25kN2pJa0xYbTZqcG9SbzAzOHQvUUgwMFlkMWhpN0ZWVTAiLDU2Njk1OiJzaGEzODQtOVErOXd6NW1zNXVzWGhHWUpuZDJDZERZMm13Uk1kQ0w4TDFOQ0QrczhMV084bjViRzQrUzR6MGhMR05jcHNyYiIsNTY3NDE6InNoYTM4NC1IS1pLRHo2Rmk5SUxoTHowSTgvQTF1YUFXWThYaEk5TjV1NWtlVU9HMEhtbVcwcXU5Qis0aHpycXNxQXNCUVhEIiw1Njc1Mjoic2hhMzg0LWgwaEtEb0hrc3NlL1ZyR3pjK28rMHk0OFZtcG1RK3JCV09vcGhxWmlNQ0lsa2JUbkhRL2NrWU02bnNUbkZTWk8iLDU2OTA2OiJzaGEzODQtUlVraEpERGdHY2liN08xbUtyeTdDd2FNNWhla2ozbzl2NmpqRm8ySllqZURPdmpWYVRJMXhYYWxUQU1yK0dyUyIsNTcwMTg6InNoYTM4NC1BWEw5S3lCS0syVnZkQlRjYmR6MEdOYnowbFM2Z01tV1l0bVFzU1grcDAzbEh2WUJSc2ZkbjZmRVJKYlhnK1lhIiw1NzE3NDoic2hhMzg0LWNXd2FtSUJKeEJpV3FRZFFvOW1lVHFWajVnc243eXBNQThvTmlEYk1IS05jZDcyUGh4REE5M1FSMkJIRXNRdWEiLDU3MTk4OiJzaGEzODQtZklMcW5oU2w4bkVFZG9tSVk0VWF1enZsbXdObzROZDNnc1UwVEtXazdqUjFscGJQTGFSdmdxSFNGU2krb1JtOCIsNTcyMTk6InNoYTM4NC1xaUVUeG1BVWxXd0NmdytVUHNqQVREOHhSelluczZtejBEYmhLWE9wS3o0ZmErZHNobEE0UXlweW13K2ExR3BMIiw1NzI2NToic2hhMzg0LW5aaW4zS1kvWmkyTTQ4RnN5UHJyc1FlZlBtU213SzhsakJ4M0RiamQ0K2lmNDFSUmE0SmM3anBnRUtLd3Q3VFUiLDU3NDA0OiJzaGEzODQtcWdKSDFrSy94WklXMFFkVktHU3dua29xcHFUdmNReXVPdGdzVGZGZXFlVTZtWEpzQWxOMXZwU2p1bzZQV3JoMSIsNTc2OTk6InNoYTM4NC1Cc2pjSTl0N2plMFVKNnlqazZpNHh0S0lIbkx6SUd5Y3IwWDd6ZHRPR1BLU2d4VzBsTk1HYkI1T3dLZ1hPUGUyIiw1NzczMDoic2hhMzg0LVM4U2E4MmswQU9JN0FNeGZ3YVc1TFJJUGRCUVJtd3hBaHpVVEpvdkFlUEp4RmJNcmF5K0RON1E0elphNm8rbGwiLDU3Nzg5OiJzaGEzODQtcHVNUDNiQ3hhMXpDZTNQUVkrQ0tvZXhHT2YyaTRMaWg1UWdQdzlvSFRrSjQ1QXdxYm95WEZadzMzdEYvSnp4aiIsNTc4NjI6InNoYTM4NC1Pd0lPSndCblNaN0ViTnlMbVJzNkNDakpYenpMS1BYVWsyRkhtdlJoc1RKeWxEcDFoYUpONm1TSG0yV2ROcThLIiw1OGUzOiJzaGEzODQtc3dwVWY5S204UXB5UE51aXV0dUNnejVaN0ZIekxGQUIyaWxsM05iMklJamhZNWh4ZFZxS3ZVd1A5ZW1vT2FLRCIsNTgxMTg6InNoYTM4NC1TZjBsc05NeXBiRUQzazErWkQ0UzIwQkhpdWhQVFZoVmFXKzVVNi9rd01oVE9zLzJPT3ZxRlR1TnRmaE9Well6Iiw1ODE5Mjoic2hhMzg0LWliRm4zUFdJd1JrSWQ5SkUvdlJuWndURDlMMitqS2NkMUp4aUluUjlyOUQ1RG9qQkNSVGcvUW4xSzh2T2pzRTgiLDU4MzI1OiJzaGEzODQtTU54Tk55c2Zrd3h0c041RERPNStodExDZVVnMlJkQ0JwQUlqam4vb1Nvc1VzaGw2THRLMkVxL0J5Rk9Vb0VlNiIsNTgzNDc6InNoYTM4NC1uWkdrbTAvOVUzYnFoVUR3RklnS3BXMzhTazUwZzRPZVR1eUtteXVicldQMDdvUHY3RWNQRENDR0x6YktnR2s5Iiw1ODYzODoic2hhMzg0LWM2OFpVaGliSEM0VDhCbEJRR0MzMnBzY3RPZVQ4Y3pUa21KQ0wvTHRBYW1yZmZ6b2czcUgvTklBZW5XMkp3bHkiLDU4ODQ3OiJzaGEzODQtbVU0UUpRV0RoWjMwMnhLa2hyYXRuMlY4MndSQ1pTRnBYanVCWGxIREc2ZnVhMjRyYWFqelNaY3J5U2JITlVieCIsNTkwMjU6InNoYTM4NC0zalljMnovcUJlWjdZbTZJaXp0Z1IwRkdnK3JzazNqek9kem8weWZjd2ZKSHBSdS9iUDVpeWpnZ3JCRUpMWG9uIiw1OTEwODoic2hhMzg0LXc0eGRNYVI5SXN1ck5zdVIzODRYVHEyZEVXazBOdFhubXBYMVcwakZoVlZNMVFpdlNXOFhzV244RkZ0aWhPWUoiLDU5MTMwOiJzaGEzODQtOHVYWGoyQnRrRjEvRmRucEsyeU9lQlRRWmZ3RVpFNXdmN1o4Y2ttc2pkbXN5by94UUplVVN3dWV6b0RoS2ZpNSIsNTkxNzg6InNoYTM4NC1iRTdMUFpJVG94MU1wMlI5Zk5kcW0wR0dYQXFQb1p2KzBkNVM1azA4c3FoWHZOakl4YVVuVlFPeDVhN1QrbmVwIiw1OTI1Nzoic2hhMzg0LTlpaEo2SHU1amdGTUxITDNTQ3U0b3hrQUZjaVJlb09tMlBXSkc2MWtXRVB5MkFHWDRBMERoTFlKZkx4ajlCTnMiLDU5MzY4OiJzaGEzODQtd0tsUXVEL3dFWU9aRTlpYk96R01kWGMxb3JIOFJTYmdTRVZrdTJpdmpYUnU2bUQwU2Q2NlRCeG90MGtMeFlhYSIsNTkzODI6InNoYTM4NC1tMzJybDk3ZDFsR0kzZC9WVGo1ZGpZWUpWdVJPNW5oTXNyMTJVa2xzNVdvbEg2U1Ric1M1a3VQd21aNG5NZStZIiw1OTYxODoic2hhMzg0LUFYa0MxaEdEOFZZWmlxUG5ySlZHM0xwaWwxb2ZSellwSStkTWt2dUR4Tm1MT3Z1MVRVTmpSZmRVM0RXcTJzTXEiLDU5NjMzOiJzaGEzODQtTGU2UERBNTRmZWFGblc2NnpZN0loSGpGck1JamNvK1NzeWs1M2wzNnR0VDRJbllwS0ZXbEN2WW9XZ3Z1bjkvUCIsNTk2NjA6InNoYTM4NC1PUVBkUFlZNmc2c3ljYkxkRFFleUhrYVU3TmdseVhiVkZFcFNodHNMN3FtV0pOQkhESTFrY0l2OUxmZkNWZkJRIiw1OTY3MDoic2hhMzg0LVhFK2xtaW1hazNwWnBFQWFsc0RoYjI3d0hTSy9qV2pOSmtjYVU5WmNsMnNCS2FHa014T0d6Q0R1M3ZpY2pYSXciLDU5NzA3OiJzaGEzODQtR0drQXh0YzJGNFIxZGlKdUpVTmNuU0QwZlhHa2Y5aFlKeTVmVHk4Sm5WekFBQm9RTER6RlE3TkpJTXl4L2pRayIsNTk3NTQ6InNoYTM4NC15dy9pN1RpQXhKWmZ6cmhkSHlORXhCWHRmMEtvc2JCWkNRODVXWUFhWGJieTMyd3pNMGJJSnlWc0N6V004SnZiIiw1OTgwODoic2hhMzg0LXFmdjZZZUtyY1YxbEYvcmtOME5GV2xmVmRNOXo2K05yQlFjWDlLZVk1NVlDZEFtd2VTTlR6Smd6a1hFa1ErK0siLDU5ODUzOiJzaGEzODQtMEc5STlSMGhoMTNReUxoYzBCMEtsM2RvdUtaWDliR0tSTnZnWjRlNHJlZkQrYkc5M3o5cmxscG9VM1lzT21QOCIsNTk4NjA6InNoYTM4NC1za3VKOUQ4a2Q0WHVmOTRSTzFUQ2ZvQ1BoeldzNjA4RHpnMmRHVndZRjFGVFhqbU10dU5BWTh2b1JxOHZFdGM4Iiw1OTg4OToic2hhMzg0LThEZTdVeVJXc3NCakxWYXkrcnRyYUlDa3VITHpPN1IzSXFwa0F5MS9LY0NlcGlMaWI3V1JmUWZYMVUxZHNMZkkiLDU5OTIyOiJzaGEzODQtRjZJeHhUUlc5TUR0aDQ4SE10bHdxQkttSk85WWFhZnV3ZmIrTEZVTk1WNE45eENDdXppdDJQUVZFcHozQnBkWiIsNTk5MzU6InNoYTM4NC04aVdaY0t5dHJ5dW8vdDk2QTc1WmNzbGNGWXZmcGZlcnZBTTNhOVN1c3ZmaEkyL2F0Nm5iOWY4Z3dRMDhvNkM1Iiw1OTk2NDoic2hhMzg0LXIrL1ZjRk42dElJYWh6RWtzMDlpVWk1LzNXTE1FRld6d1BWWXVodDNKbmpQMDNXdTdDMHJTb3lCNGdrSTNySDciLDU5OTY2OiJzaGEzODQtZVJDaXVkMDJTRlhqWHAzeUR1VWhjOXdWZ3hhQUdzU2QwS1dSLzBxM01jWFZsUTBUWjNyQ01QNkVVZUJaNXJZVyIsNjAwNjc6InNoYTM4NC1vMkJPK0lqenBHSHo4SDFLR240bWY0YnRxOXBkelpaYkMvR3NJMW55NGtpYVdSamRSbVh4bm9MTERUeTh5eWhUIiw2MDEzOToic2hhMzg0LWw0bmhyUTFXV0hiT204Uzh1T2lKV3JxS3kzUkIwSVo5eW1jczdIa2JlNCtIZVUyeUxWd01RY3psMDh2WmlzR1giLDYwMTU2OiJzaGEzODQtT1U5M3ZaZVQvWnNCbG9OTk5VRWdlbkJ6MGpFWGdvK3FtNVVZN0QvczZXbGMwSlZKdWtiK2RaTmE4N1FQcUYvciIsNjAyODM6InNoYTM4NC1GVmtNRTg2Q0x5SHg4Yno4bm0xdmg0c3BuQnhnTklFZWxiYU9TYzMvbmtCdWdHRmw1aGhHNW9yTXhybmNYeGMxIiw2MDQyNzoic2hhMzg0LVQ5aU8wWjk2aWxoTnhud0hzdC9xcVkwTm40cURlbnJVVjRlU09nNElBL2JsRUk2QklHQ3NUbjJxTmxUbWUyS0UiLDYwNTI2OiJzaGEzODQtWHU1eHVFTlI5bzFrb2V2YnQ3Z21DdFFOdkk0L05mY1NiSmVwRFNTVjJab2lWQUY2QTc5L0haejRVTlJ3ZlFDRyIsNjA1NjU6InNoYTM4NC1zOFdtcnp3OVV0WlZIUjZJUWY4OWhPSVowS0NUSkpUYTB4Yjk1dnBHS0pJSTZaTlZCN2VXYkVuczRYVkRYeHVMIiw2MDYzMzoic2hhMzg0LU5jaU41WFREUHJzTmhiNUduZXFDWTVqaWxPL2lDN3pEMGdJdHpXbC9EYWw2YW9tUmZZMGtiWG1NUE9Ja3lOdTYiLDYwNjM1OiJzaGEzODQtWWZTcHhsUWZWRG00OUtXcFE3aDBlcUJRVkhCc3hCMVliazRZVVN4eDk5YXp3U2pxTVNXbW8vVlF6aldnNEJ4VCIsNjA2NTk6InNoYTM4NC1tcFdYUUVZMnRISFZPNFBBeG1OaTlaWnhFV2NBWnBOTnlUbzFFVFE2a2Q3Q2JHM2tVRTlvN2NWUW5QT0dnZU5zIiw2MDc2Mzoic2hhMzg0LUg1cmtaR0V0RnB3QnU4U3RWQU9BZ09wem8zS1oweVJuNG5ZWi9WcmtlZzArYTFvZ042Sk45ZmJDT2FPbFBiRlEiLDYwODEyOiJzaGEzODQtenlEUzl6VlVlcGkxclNWTWp1eFZZeUJGSHg0SVZBbkora3E2QnZzcVd3Mkp3b0Z1Q09sSE1zVkxnQzlwLzhmZCIsNjA5MDY6InNoYTM4NC1FbGloYWkwTHd6aXlRdThjRzhXZ25tbXdjWEpjZ1o0azQveDdScmxRZXNOU05Sb1lHVjJuOExtLy9ldW9yUDZ1Iiw2MDkxMzoic2hhMzg0LUxJajZ2ek5CSGNsMGZUNGc3Z0pZN3NVQTRSckRxUSthUGIya2YwdVFxQ0J4SllvQUUzNlB0c0dIMW45ZVJhUnUiLDYwOTI3OiJzaGEzODQtTzg1Y0FRYTZOSVpBdnl4SlY5WUFTejFuREpHT3ZQdWJodWdpSlJxcWFBbG1ZRXZManUzSzFqNXRBTC9zbXJZRCIsNjExOTE6InNoYTM4NC1mMzRiTDQ0L21WMnhNNGROWmNVV25nNG15em41NnNkNDVlNldJbjB5UFh0UjJiMlh4RWo3SlpQeHE5VkhBM1RGIiw2MTQ5Njoic2hhMzg0LTh3UjllbXBza1hVaE1TRDRLNWRhREpONmRqM3pSdFZsOUdHanB0ZmMxMGFqMWs5TmJ4cUZ0cnlYVTJMM3pGelkiLDYxNzI5OiJzaGEzODQtcTgxb0I2Vys3elNGOTlZdXQ2RndwemlTYlgvNGo3U3NwY0tFdkh2UlpNM3lCdjBEY2ZxNUpFRE81ZGpFVEt2UCIsNjE5MzI6InNoYTM4NC0zWkRndnltRGt3WTNvQ1h1U29CaEdrbzQ4dnZMcnpneWdkZWdXYkV3MzJlcUNiTWFydHd1MHphdDBKNFAzRWNZIiw2MTkzNjoic2hhMzg0LVllcVk0UlBpN1VnWTZZS3ZuMXVvSUtEemJFMTZaalVRd2k5Z3FzUWNVRmhhUnRXSFNIYnRUMVBXS050QjAyTFIiLDYxOTU1OiJzaGEzODQtYk5LY3l0ZG10cnR4azIzYStwSFZ3N0VmU1FlRjdWTWpwc3BpMWlJdnpKSy9lbEdPSHpIZ2YwS2xORXdLZ2paQyIsNjE5ODA6InNoYTM4NC1TOEhtMmwwZlpIZDZvdDlkMnlvNHVSWFRNSFNFTzBLUUtYRERKVkc3ZjRXa0NqSnQrcmNzaGR5UE5wZmdIc3Q4Iiw2MjAzNzoic2hhMzg0LVpQeUZZMjk2WWkwbjZBTklsZHNjei9GbXN1dGkxTjdsM0E0bGR3WjhTL0tPU3d3Q1JSMlNkZW4xaVpCYkNXWEYiLDYyMTIyOiJzaGEzODQtMlgzQkdmdFlYODU0cWwzanNjSHB4QmRJTys1ZW5HNkh4RXlPekUwOEtHL09DZWZ6UTU0bG5VOWFiai83NnhSTSIsNjIxNDQ6InNoYTM4NC1LdHRlZ25WUDhQSXM3M2lWTXpabUpEYmtiZUNtaEpkbVYwV29WZEpHa2xKUDZvcnErK21wR2N5VUhhRUp0YkdBIiw2MjE0Njoic2hhMzg0LUdtRXBUQUIzbERUUmZuMHFIL3RYMVBSS2kxaXJPeXVrbU43N1c2c2hSRUhWUVNXZ1hDNFkwKzBzSm1SV0ZzU3MiLDYyMTg2OiJzaGEzODQtTGRwMVd6NVdIREZLME9xS3BwajR3VU42N2k1YXRQOU9ieXUvWHhkUStiTllMcmxyTGRDNmp4c05hc3JPM1JJeCIsNjIxOTk6InNoYTM4NC1wOXFhR3BReGtEejg3YnYzSkNNVTFIb2p5Vy9pbUN3YitlNXYra3hpN2x6Z2Z1R2N0V2JpV05ld0R3aG80QWxCIiw2MjIwMDoic2hhMzg0LTMwRU1LSXlwWURkVVR0WmtHVGt3MHBVU2tRTEd3Z2ZzZXArcThZb3VRc3ZoaWVGYnpNL0ZTV2ZRNW9ITkVHNk4iLDYyMjIyOiJzaGEzODQtbmZ5K3ErV0J6aTJnb0w5Q2NEQUVhTEdwTDdFMklQRytIVEdsVzFlOFZtekxLcktabTFtM0tnR3BLdjVBR3BNVCIsNjIyNjE6InNoYTM4NC0rS29jOWxDQWc5THF0Z2QzbEtpaHUwdmhoSjBlRUg5Zkw4WTZWekhKS2FOSGtoU3lRbUFROG90ZklEYXdOdHYyIiw2MjMwMDoic2hhMzg0LWRQTmZKeGY3NGxxbjAwRFI2dmorSGV4TnZUek0rbi9XMmNCVUd0UXFUMDRqZXBESWtEWjZqUXVlaWthYVI4cE4iLDYyNDE4OiJzaGEzODQtWGtNbnQ1amJjNmg3enB2V1M5dnZMbGRDREFnVkJsSEFtZTA2RXRlVU9IMnI0aU83aG1qSXFSR0YyTE1GZ1Y2LyIsNjI0NzQ6InNoYTM4NC1VNjQ4NnVYV1NPcGplV1Mrb0toZnpoQWQ0aVh3K1J3dFhKZjZpUHhrRnhYWWlKbHlmNTlBK1N6SzE5bWJhelhSIiw2MjUxNDoic2hhMzg0LXRjK05GUWV2SFdTSFRKTGRhNjNjUWRsYzdHQ2pCSVRLUnh4T2tRSUNFUFRCY1ZrV3N5aUYrbE5iNTFWVnhoMDUiLDYyNTQ1OiJzaGEzODQtWDRUdU9yOVdVWTlhTTI1Um0xRVNRTmtWV1A3UW0relc1U05wL01nZnBxa254Lzk0SVhYTGk3cGtrbkdTTGN1RyIsNjI1ODY6InNoYTM4NC1mcEpRWWRFbWQ1V2xLMlNTVmppRjQxa1o2YlpHM2pRd1dTN1hvbEoxbFNvQXFPdHB4V0FEcWZRZ2lNckRZM1JxIiw2MjYwMDoic2hhMzg0LUdQWEZseVRRWllyNGt0cmY3c2NpRkhGUXpXT2Y4NWZYelpHTjQyNTI0NGlsK3pwdkxSYWJxQXpTSy90cHh3anUiLDYyNjAyOiJzaGEzODQtbEZ1N0g2b0d0VmlWblFCbGRxV3FnR04wdC9ydkJWMmdrQ0c5cDdmNlp5RDFHWTcxc0x2MkZsUnVQTVVyR1J0RSIsNjI2MDg6InNoYTM4NC1Idk8vdUlEMTRUSVVLZGgyQ2NkWGxMb3ZnRkN0WVJBaUNlSHdDNTdoQlFzY1piMllGU1RmdW5iR1dFNXh3V1dtIiw2MjcyMjoic2hhMzg0LXdWcVdmU0czMjUrcFMzNzQxOWk2RGI3WHBnVmVVMWgxUU0yazRKVG52TW1Nb0FHOG9kdmppSVlNRkpRQmRMZ1UiLDYyNzI4OiJzaGEzODQteitLbDlZM2xoemppZE5IY2xIdWJsTVA1cEdLckQ4MWlZbGVuZi84V1RvbUdHVXozY3gyN1hxODdKRFM2NTRoUyIsNjI3NDM6InNoYTM4NC1DOTJJZEVZMzA5Tm9xbXVTQ0M3RFNiYTVBNSt1VFFXNURrS2dnajV6YjJUYzdzbjkyUmN5NFdEcDhyajNxdmp6Iiw2Mjk2OToic2hhMzg0LVNxekVIelV0MWFxRU4rTjBLeXdiZnV0VG11b05lbGtiTFA3eFdoM2VwbGUxSmhIREpxVzkyUVMxV05uSHNQVSsiLDYzMTI2OiJzaGEzODQtSTI3WjBtck9NN3BhT0dUNVptUm9VeEdHYnBYNncyUE9zVkdIeXBGMmJqU05lL2JsOTJCQlRIQ0g5WDdaZjk1OCIsNjMxNTA6InNoYTM4NC1wQjNjUFVLZXJsZnZHM3FwU0pHMkplMGRkSHJkMkpxWDJjMW5tblRXRVlMbk1KN29iTnNWS0c3aEZWM3BsUnFFIiw2MzQ0NToic2hhMzg0LXArVmpVdm9HaExKNmY1Y01jd3FnZVJOa2pZdUlqdkF6OWFEQ09MS2JxYWFQMU80K1dVczR1VjVxSUlHczluUTAiLDYzNjkzOiJzaGEzODQtNVBMWXZSSkVqSElTQmhzc0UvNWpPL3JUalBoWHI0T054T0tqdkE2UjlIVzRFajdxTDEzOXhTQnFwVnJ0eEpCSiIsNjM4MDY6InNoYTM4NC1BNndVZERiMFNFa0xpZVQ2K1NwR3lSa0pEeHdtVzZic0JETXA3SmxEVmxDWmZxRzd5cmdaa3FTV2xHVVM1TTJ2Iiw2MzgxNjoic2hhMzg0LXdBYUZhcHpBN3Q0aFJ0dkU1bktPUjhIS2JNK1hhRjBaY0c4VUhRSmdIS2hrV1h4NExXSDZlNVZzcTcxL2hyWjYiLDYzODM4OiJzaGEzODQtOVFCNDMrckNLNGV1WmhQRkxsQ3c4MDVFMFYzc3dTQU1NVWM2VVI1NVowWHU0b2VmNFQ3eFk2WTIrMlk2S3JzYSIsNjM4NTM6InNoYTM4NC1HMFNOZnBxK2lzMXE5bHV2R3ovSC8rL3VCdExpcGJ0LzlpN0lqTXBwQys2K1FDSG9iN3NpMTJ1Y0FMZlhkd1VUIiw2Mzk3MToic2hhMzg0LWVnNkhqK0RWVzJwaXpna1ZmckRqbEpkQllENUFJR0FpQTcwRVNFUGJwZWlWVVZ3NTlqWHVOS1BqN1ZqZzVDZDAiLDY0MzIxOiJzaGEzODQtQ09TVS9HbjlFbFcycDNzaHNVN09Jcm1paUgwakdTYTllTklXb3NVSGJGNnltWldwY0lKUnNDdVMzZW5BcGdkTSIsNjQzNjU6InNoYTM4NC1rb2V5eGZLMktCV09kQkFDSXZLdFJmOHVaYXBDcHh1RHVsN0pZNFdtMVptdE1IN1FOcklaS2duajQrWUxzaEtNIiw2NDQ0NToic2hhMzg0LWdMS0k5OTRNSzhLcG9qSW5vUW93OHZYaUhMMzI5TGwrSkJKY3h6SkFZUUhVUVFYRG5OUUUrUFdyRmMzUS84cTkiLDY0NTEwOiJzaGEzODQtb05HYjg1UC9rSlF5K3hoaTlaQXFqZ24yUDJwYXVYQStsb3hPV2NMVnRCQVZtdW1rbFNNRWJ6QlNQTURyQ0xhYiIsNjQ1Njc6InNoYTM4NC1Fa3JQZkx4YXpmYVBJRmJJdWt2cGI3dUJhYUYxVnRXcUNOZnRycXlvNndRcUF2bEU3aU1NTWZDQVJXaVFMbUFqIiw2NDY1Mjoic2hhMzg0LTBieGxDeUVjeGI0NklZOUYzWFczazN2eXRreEJRZ2JqcDI5UThYVE5WZlFDWk05TlQ2S3FlNlhTMk5qZHM0VlAiLDY0ODM3OiJzaGEzODQtU0hYN0lOS2dHak1zTlpkUnQrNEVPaHgxUXhFVnJ4NEJRQmtVbmRTNFBReTBBVTRpUjN4clNVMkhpcjRUWC9QSyIsNjQ4OTY6InNoYTM4NC02RzN3d0pqVW5JYlNqUFZEY0Z0cENiZmovMjh0YXlLdURXYVVmbjNFbnJ4WW94TzVwTDIvbXFMWGlaWmJFVEsxIiw2NDk2Mjoic2hhMzg0LW84SUwyWXVXWVpKN0tNUkRldEZOSjN0MHlIUE1WeWpJMXhvdjdQblMyQXlrbmZoNDN0cWw0dU9QUXRraEtzOEciLDY0OTg1OiJzaGEzODQtRVBuck5JOFlqRkxlUC84Y0dQTUJSQVlzS1cwTlBHWnRzaXRyQUNibTJYWm4rT2R2OE5sRjJxNTYwdjJsOUwrMCIsNjUwMjM6InNoYTM4NC05YVZZOWJDbzl3Qmx1WmNxYUQ1ZEt4SW5WVFYzelNYWXNKWW9TeFl2Tm5idXM3ZFhKeGh3bk1DNnlTRUMzc2NzIiw2NTA5NDoic2hhMzg0LUQxSVBzWWpyOUdrdnZQRzhCN0hIK3ZGTUk0UTNDYmhVMGFCZFpUUkV1U0YrWVhqOEZBZytWSGNIWVJFMnlyb08iLDY1MTQ1OiJzaGEzODQtOUNhVVZvbjFQQmxRN2xUUDdHZWhlaHArd2JUZjNRWkdSSjJOdVN4ZnFWMDJpOHcxeDdqR0hCODYwNkplSzFkMyIsNjUxODM6InNoYTM4NC1hd2JYNWJYcGoycW9PTTNVQm5iYk9Zb29xWjF4VUNKWFNaeW1mY3FPTVEvdTlqS09TS0dDL3d4cmsxZFFiYzlPIiw2NTIyNzoic2hhMzg0LVp3OFNlM2RqS2kwM0VIMTZVL2dJV3NpWXNnRnpQZCtGaUlvanpaZmt0R2RYUm9WVGlqL01MYWFLNURLdTl5MGkiLDY1MzMwOiJzaGEzODQtK2U3L1pVWEg4QWgyYmNtT0ROZWdUSENINVdqTTRENVZDS1RiN3NRc2JJZkZlV3FxRjlPOXJIQWJ4bmFwNk44aSIsNjU0Mzc6InNoYTM4NC01d3pZZnFMVlZRNWgyUUZibDVhdlp6M2V5WVpKbkt4ZXdINXVVQS96VWNHR3c5b2hyQzcwNnhuMjBmY0krM2tNIiw2NTY2MDoic2hhMzg0LXdSREY2cnRlcVVyYkJlMFcveWtOS2ZFc00rQUZnbXVraG15V0s1MHpqdjlzK21TVE95RDhyY1dkUTkvTXIrQzEiLDY1NzQ1OiJzaGEzODQtdTdCUFR4VURTbVZuV2sxR1A1bkhsU25zOFIxYmdVQnlWWUtoOFg1bkZWbkRLMnovYy9oT1lUTFFrNUErQWk1ZSIsNjU4NDQ6InNoYTM4NC1xd1MwcmFKK2J3VllDR3ZGVzRQMXo2WDVmc29IcWc3RW1EbE5HZTdyOWJ0QXppd3FWbk8yUjVoT3dqbFFjQlhIIiw2NTkzODoic2hhMzg0LUVmV0plODNMTWJzVFgxSFRaMjExOVg0RGZKUmY3Z1ZGVGwzdlBSK1pLV2V5a2pMNDdFVUdXS09BZnFjUVVWV20iLDY2MDMzOiJzaGEzODQtQUoreUlXS2JNWFl1eXpsYW45c3Q3a1pCTytvVGtPOW5sY1RlTEhnaFNoOW9MbGkyOGJuOGVCVitRL0tlS0hRMCIsNjYxMDA6InNoYTM4NC0vWE5QWFhlcnVaaXZkYXJMUU9rLzBpYmVsVVpMRmJFR0NiSWt0VDg2U0tiOEJyK1lMN1BkSjVhRUw2R3VlMFl3Iiw2NjE2ODoic2hhMzg0LWVPTlJoN1NHMFByeXNGV0wzU1B3RXJhTUJJZkNLelMwSjN6aWljSlEwbEZiUGVXRjRXNjd1MXV0MFVRZVJ4Z0ciLDY2MjA5OiJzaGEzODQteHhFN1h6Z0p0UUNBVmlVRVZ5aTBNZU80ZE5SMFJ4UzVweEQyQW5uL2lmYlhNMDBWZ2xHL2hvT00zTDcwM0c3VSIsNjYyNzM6InNoYTM4NC1LVlptY3NremZNUDJham03TUd0UFc2N1hVMUt2MjZrOTlpMUhMbFdEbTZOYm1Cd2RkSDE3clpLMlFFL2FKNjN6Iiw2NjMwNzoic2hhMzg0LW1ZWXhTOXpjNEY3aFVyRXVGVElYS1JrZERJSTNZSUhvYzVocmhyTWdqclFqTDdnRXB1b1o3WUZ1SWlGcVVrN2QiLDY2MzI0OiJzaGEzODQtaVVKNTBrZzcvbjFPdzVqQnhYbTQ3d3U4Y3dibURlU3hrU09VNjJZa29zYW9yREhScXNFMGZ3cGMwUlI2N25UcCIsNjY0NjY6InNoYTM4NC05aUJLK3FENG1rTlJWTmwxMjBwZDV4MGh2ekQ1ZnJDbVl6Q1dRZWFlK3ZWRGVSZ3cyN2NyMzU1MEJweUVJamNZIiw2NjQ4MToic2hhMzg0LWtpenhnRHY3eFFVU3FFZ09PaXViczlMdzFUbm4zcnNUSElPTUN1SW9wSW51NWdDdXl4YmxTY0F6UVp2cVJnb3AiLDY2NDkzOiJzaGEzODQtVHdXY0dDVzBxTmNqMjU5bmZ0YzZaWFp4TVQ3eXhyU1Y0RU1XRFVoUU0vbFMvK09uakZDTTZXMEpBZ3N5ZGxhbSIsNjY1MzI6InNoYTM4NC1NTlVaOVIzWU1GRlNkQTFVT09YdTlxOTZ0UjBoVGN1M0NKREJBT0xqWE0yQ2tpclJYRVZYOWNSTHlKVlJydE14Iiw2Njk5NToic2hhMzg0LVBRbG01V0o1ZzFxc0xvQ1R5OXNqQlBhc2lxSzQzaHJtWjZpMjFlczM2QUtnelp0WTh2b3kyakcrY1lhM0s3VTEiLDY3MDQ2OiJzaGEzODQtZkx2d3Zpcm0wUVRPWVdNMEptcmxYSnpNT1Y2NWhsYXhMRXZ3bkNKT0plR1poK3VwVkxkS09IM216ZUNmTUxBUyIsNjcxMjI6InNoYTM4NC1obytwYWQ2bFgzUDIwNGhIR1MyZ3QzcFRYQnJEWFJjRzBmTHNVNDNsK3ZaWHVkU3dhVzlZMEU4ZXNJV0d4OGp1Iiw2NzM2MDoic2hhMzg0LVkxZy9EeGRHQ3lxS0xmZ2xYSWdlS0x6M0ExaUdHWXJrcmtMUWRNNkJzMVpCc3Q4aFJ4SEV1M0EvMTJxRmRFaisiLDY3NTI4OiJzaGEzODQtZ2ZTMzFla1dlYWpxdnBGb3lyS0paa2hnSTFtTjZYTW84YlZsOHFBUDBRTFhydXc4Wjd6R1VvSlJlaGJzOFJXUCIsNjc1ODc6InNoYTM4NC1ENmlXSVkzd2RSN01CREVMa1FFY3lwZzdzeFkva1BWc1ZYYW56ZU9jMXFzRWhOSVlxNGI0QnI2TWI1bDc4dTJwIiw2NzcwNjoic2hhMzg0LUxiUExSRlQwN1lVcDU1ekt6TVVYTVZqeVpnTDM1Y1UxL1c1Tll1bCtvSFV5bHo3bjNnQjdlMGtoUTExb21Kd2ciLDY3ODQ3OiJzaGEzODQtcnJXbUJwbUtnU1pvOHQ5eGxuZzVNQm4vZkhUd3F3N1Q5bVowQ0dPVWNTdFU1azhRWWwxQ2xURjkzcjhaUGt0LyIsNjc4NjU6InNoYTM4NC0wYWVIOEhEa3pDUGowQTRiTThsVTJub2c0Rzc3R0tkT096UjlZeitJN0lNcWVVR1paUDUvL0c3TkMralVCMG0vIiw2Nzk2Njoic2hhMzg0LXM2TjJBU3hLSFJyWVppRUVDUlMyeGZMejlndW1Gdytxa0ZOTitDeXFpQko5ZjlWdGNhcVhoQ3FWWkM1UDlnUHAiLDY3OTkyOiJzaGEzODQtMGFITVZWMkJhZFFKblluUkZDenJWUXBnQ01OM1M2OHpDcHVXcjBOdEIvUlY5RFpZa1RyOFF5RlR1OGVCdmZQbiIsNjgxNTg6InNoYTM4NC1DMlF6cXZiVGNXd1hWU2k1UE5wZ0VNSEZzOUdiekhMejJ2cXpsMEYvbzE5cnlwZk9pcGFILzhCdWRmZHJpaVFpIiw2ODI5NDoic2hhMzg0LUtKbkk2OS9wTjVqV1pYY284dnMrajRIQXV1RDQySjlTdG9kMTdrNk1nY1o5Nys2d1NuMHd4RzltMWdvaXUreVQiLDY4NjEwOiJzaGEzODQtWFFOR3pZTFZXMkM2eWtUWHd2SCtDSUxPQmpUSGc2MG9iWmNlZUFLeFpoSG84NDVpZnRMMnBmMkVkNnMwNzQyUSIsNjg2NDA6InNoYTM4NC12RnJWU3ZMOVdwVlhXcmlOVGkwYTZpWU03eDg1QWFvcC9DeGpyRWZOYTZQRm8wR3BYQkRMMCtNOERlRmEyRnZ6Iiw2ODY2MToic2hhMzg0LTZ1K0xCN3R5allSVzlGREU5endDMjJXNjlEVW5FeW9QVTY2cnZ2WFdtZEhpZVMrVHVzakZFR1hkZTMvZXRDVTAiLDY4NzQ0OiJzaGEzODQtcXN2cVQvajM0MTc4TFNycWw2azFMQTg2QTRuaGhSRnFibkpLeEMzZG9pSVFOa1ExSFkvQ0lmWFUzOHFGZ0x2cSIsNjg4MTg6InNoYTM4NC01QnFSOFBiZVl0d0RocCsxb2t2eDBMTzhVekJkcXZ6L2hWdis4RkNDZDNEUTdNaUNWKytTTVEza1hYQ0Y2QUVXIiw2ODk5NDoic2hhMzg0LWh0NzFKZjNCc2NZUU9SblVyVS8yVDZ4dVkvSGxKMExUUlpQVFA4UWR5L2tUN2V6cVhJbjVveGVXS2gyaGllWVciLDY5MTM5OiJzaGEzODQtZW5ldWxxYkFrWlhwU1NhbTZPTGFhRDV5UzBlK3RnMXVySGtTdjd4SHJQeTRPQkFQUTkzUzRBWWRlRitvaWUvdSIsNjkyNjc6InNoYTM4NC14WXdTRDlHZW02UG51ZThQN25yQ0VPU0EzNDlYN01vU3NPUytJSmhXMUw3a3kxcnVUOUhHbmhPelJnNnEvbUNIIiw2OTM4Mjoic2hhMzg0LUYxNFdidm5FMnVzaEFoaklBbDY0NmUwbkIxRmVtQlFCKy9MaWpBTER6VjU1ZzJ1T1NSZ0lsSWIyOEZwWjBldU8iLDY5Mzg1OiJzaGEzODQtSjhwemhWVzdkb3lmVDZRby9hTHJhSGoweEtSODZxY2dsSjhPZnY3Rk0za3lPeWF4dElVNFRJWE5SSnlXTTczRSIsNjk0MTM6InNoYTM4NC1vVUNhR1J2Qm1raFRxY2NxRzFoU2RwVWU2VVZReW9rczFrQWYrUEhnOFhQYmJrL0NSdlJ3aUo3emJmVGRZU1d3Iiw2OTU1NDoic2hhMzg0LThSUkZWZlBWODM3Z1JRcnBXNU0rV3ErdVJMNU15RkNSYnE0UjRROWpqc1ZrNDJ2YlR2WTd3Q0pRU3E5Qy9ueTEiLDY5NjYxOiJzaGEzODQtU2hkQ012TzRGd3pRemdsYVNaMVRsQXNvellCNE5pOE5XRWIrTHk4bmN1RHdodDJQc0IxUWczU2l2dDdVazg3MCIsNjk2OTY6InNoYTM4NC03K1lYZmYvYmlGd1g3M3ptTkR2eWZjWS9BSEhJL0MrTnI2SEtnNVBpeWZ6Z0RFMlYvUFhDRHNYQVZpQ29BaHloIiw2OTc1Njoic2hhMzg0LVpVUklFM2YrdmhrUnVBdlBwSUNTNGNtUlZuTkhGUnQzZStlNEdXRE9QZlF3b1k4Uk96cmpNSWVUSnNRYklHRzkiLDY5ODQxOiJzaGEzODQtcDNLdDBNcUVnUjJzRG5oSDBGMjhSUnQrZG5DRlRibE9FamVRQTZYMW9uMWFTQ3ZVWWJyUXVSK2hBV0NwUWlPVSIsNjk5NTM6InNoYTM4NC1sbFNxL08yaGtRRmlaNjhvWHVuZU1QNGJJMjFITmtJeGVMUTVSaFJXMU1iZ1RTMU5UQmlXY0RDb25VTVhFcVpaIiw3MDE1Njoic2hhMzg0LXNjdnhkNUdLdWFPOEFsdEphc21PVmpQeS9iaFhRUTdmRGN2ajhZeUUvaW5pSjE3SnQzaGtXQ2pEV1lsclR0SXAiLDcwNDIwOiJzaGEzODQtVHRmaWRENUdSbU4xK1lQQVlZZ05VYjM0Z1VVZkQyT1hZUi9JcEpKTUtGZk16YkRFVU95djlEV1FlVHA4NDBOYyIsNzA0MzA6InNoYTM4NC1sWldYSFdIR2FOUGxWYkxaUk1HZEN2LzBzUzJqRzBJMCtrQzVFUTR4MFZ5d0l4WFlmY05Va3h1d1FVSFZQbGloIiw3MDQ3MToic2hhMzg0LWZtQmZkejg2dUpjN0ovck1tcTBnWm1KS0tPVlBYQ1VHT1EyYTdRcGV0OWR6VzZPV3BweUFCWUJyWEpqUnJuOWkiLDcwNDc0OiJzaGEzODQtMlFiZFN6U0NpaVIzYzdXZE93OXcwZDlpV2NJbWZGcUo0eGJNQVFWNW1ONHVXZWs1MFdoVkJuOEpTR3NDMkUyMSIsNzA2MDU6InNoYTM4NC1NSUVJZ2NWTEJ4dzhZRHNqTjE3ejVyeEFHTlpwQ011UDhtdUpEK09MWXUvTzkySEdSVEZxcUJKSjh6NTlzeVBlIiw3MDcxOToic2hhMzg0LVZPT0VKdm9WQzJLRTcyaHVyL3F0OE84THFzTTVIODlOVXpEcHF5WTZaYkJNemU0RUZBSDU1NWptU3l4dGZ5b1UiLDcwNzc2OiJzaGEzODQtT2p3RWhGN1Z0SWFQM29VQi80TWR3cWxaZmtycVV2eU5VMjdEQW0yQnVmNXJBZEk0MDlYbDNTYzRxUmxjYUlxQyIsNzA3ODI6InNoYTM4NC1pQXlnbkVjUjZjSFVaMk40ZUhGZmQ5NERUNVVESzR6RzVZRVJvVnd1TEowV1g0QlVNQUZYNklhOXRPaWsyQnlYIiw3MDgxMjoic2hhMzg0LW84clpBbCszZ3hVanZBRURhT2pqTVlGN3JQWWxPZGdvZThjUW9mbk5XZ2pkV3YzQUYyU0hvYTlYcHZITHVYZEYiLDcxMDg2OiJzaGEzODQtWnp1bUQ5MkRiNC9BOW1naEZTTkJ6aktvanJQZmYzeld5NGZ2djU2R2RVVnpSNXpmTk93Yk9RdVdxTWFKQVBsdyIsNzExNjg6InNoYTM4NC1rNUQ1cmk4NkZtV0szZHd6VjlVTUVsMWJ4QmM2MWUzcDI4QXhHR1BnY1V6RGI2VTBGTmJKNmZXNExsZGpjaTlxIiw3MTE4ODoic2hhMzg0LXNESzJFaHVFa0tORjBoRUNha2JJalQwdGVPU2RibTR1R0plMUxPU3dMVDlncUNtV3o0T0dvY3h3QXV3bGplY3giLDcxMzQ0OiJzaGEzODQtTUkyVjRxNVNyV1RackJZT2p6aWRsWDZMa3lIQ1hLSzIwYVBOZ05ZV3ZqdmlrTGN0clc1SHNJeVRYMk9EOW5iNyIsNzE2Njc6InNoYTM4NC1mU3ZUQ2RUK3hIQTNyRXBmSEVTb00xamkxQ2VDbm9yYmZJb3VaUzVMZVR4QVNsclBOOEh5Mnh2MnlXUG9qSWV5Iiw3MTY3MDoic2hhMzg0LUdFK2xkNWZJVnRobUhVbUZpbFFicEtnb1hBd2RuTnBuaFNiUlNtUGUwWE0zTVFUQU9tbVNWK0pqYXA4THJSbDciLDcxNjgyOiJzaGEzODQtWWRrcWZ0VGFkd1FJdnFPLzZMNHdyMjZjZ2o0MDhhVHY5V0o4WFhCUjcra012MHE4RWwrZE5nNE1DMldnZDYwOCIsNzE3MjE6InNoYTM4NC10TGx6RkN0MnVuY0ltSnUwZWhBUEJ2elZvRkJnMUZZVWcreFB1N1pmRXFhSGZyZ2JmeWpTbkcrVzJOaFg0ZXdtIiw3MTc1Mzoic2hhMzg0LVlSaHI4NzRPenQvbmU3eWNHTG91cmljclNMZjdnRjE2NzJlcWtESFVIMWxwb3llTXdoa0NFc2lNT21VYnRiRE4iLDcxODQ4OiJzaGEzODQtUkRtbDZWZjh3QmFTMVFIZ3hMWEx0eGo3bHVLQlQ3REdBVWd3U2NmMDF0a0VGL0kwU1VHejh1WXJuNnNCUzllWSIsNzE5MTI6InNoYTM4NC1EZjdZa3p2bHpiZXRmTjRxaFg1K0V2YURPL2llQVlic3B0R0U5N25lRC93RWEzdURNbFkvcllqYzhSTDJmd1Y3Iiw3MTkxNzoic2hhMzg0LTNtOHpQdVVBbER1ek9wUW4yd20rOERBZGZOT2NLRGoyTldIUnpDaEhKWnk2TUZENzBSUExXbWJhV1NheWlBNnoiLDcxOTY3OiJzaGEzODQtdTRxN3VvQnhVZmFxdUlJVHNSTjZWNHo0TmtvcUpENFFBeW4vTmtQdWV3VnJ0R2QzVGNCTHpHRnovYjlRdnl4bCIsNzE5ODI6InNoYTM4NC1PWWRZK0dPU21GZnJxOGExcm1YQ2ticG0zNHUyS2ZOVG1JcUoyd3pCN0p0TkMyU1pnWUVFanlqSHYzN1h2Qmc0Iiw3MjE0Mjoic2hhMzg0LXhPbzVlQVZWY1dRbmpYcnNIR21vMTBqUTZGbTkzdDVUUU9XM3dVZlg2T3RXKzdGUjJKSENQYmVuQXFOYjV2aUUiLDcyMjg1OiJzaGEzODQtb2U3d0ppZjBBUk8xNTkvZTVpVjJCYndRRjZiaGljU2VaWEVXTUdkOVJTUWpOOTRSQm5jeUhUZlo0WTd1akZ1ViIsNzIzNDI6InNoYTM4NC1TVDMzRFJycWdkL1VVaHMweGpzTmhUdkNqelhFWHBxdXdnb3g5NWVESndnSzRMZ0FSRk15WFFLb3c5S1BOK0tIIiw3MjM5OToic2hhMzg0LXY2NnR1anA5RWo2SkNGaEgvSVFEdGFvOU8waFQvSEVuSytndkhxWXcyZk42TVRUbFFYcGJweUFSRDl4YmVQMnoiLDcyNDUwOiJzaGEzODQtbzhOaEsxUDhhM2ppSXc2a0p1VDZnY2E3Yzdyalo4aVJTSTVIRlg5TUU4bTRSamU2SmFwQjVYMitUcjJBTnIvQiIsNzI2ODA6InNoYTM4NC1OL2tQM1NYcTdubEdnTFVLMzlpNUROT2g5cUMvLzN2R01HN0lZVEJTSU43Y1k1em9zbi9oWFNULzUvdWRHZzgzIiw3Mjc2MDoic2hhMzg0LUpzNEdDbmRta0tGTGpaRkk0TkhKNGhGN1I5S0o4a2ZlclppVDhWVlI1ZW9Xc250RGlwcXNWKzU0MTNLRHIvbDMiLDcyNzc4OiJzaGEzODQtUzA4TExGR0FhSnJaK0JEWGRsVnQrTW4xTFFuQlNXbnlPdWgrMzBZSzA1blRyR3o1Slplbnh4TFZnZmhmQ3YycSIsNzI3OTg6InNoYTM4NC05WHp5M09qckIzOTByUEV6OGpjL3BERHAxZEd1bkIycmYrcXBkZ3VBcWZmRVZOZTh4ejF6TnlCcFhabkd5UjY5Iiw3Mjk1Nzoic2hhMzg0LWwwYVQwNlNqYkpiUnVxR0F5d1dEWGhjbE5rUGtyVUgvZlV0YVlRV2hTWFNXOXBBOWZVbzl3eEZhaHAxeFNxZ3QiLDcyOTgwOiJzaGEzODQtRzNZS0Q4QU9VR2hnZ1F5QUVzK2J4UEFodXZJSVFEYzNpYWU4Nk9GOTU0RXJOWVJCSlE3V3Awd3RhRTZ5WjA3RCIsNzI5ODc6InNoYTM4NC1ySlNFSTQ3bnJ0TDBwNUdaSEIzVFluc0ZwMTdNMFM1WkZ4QW50cE0wWVd1L09YRlUxWHFhdWo1WURVakFXUVlnIiw3MzExNjoic2hhMzg0LUliSExtdDJaZ2R1UFNKeGd0RExhdmpVUmM1UjQ3ZDdXclBtRUR0Vnp5Ly9TSEhPNDZBVXlwOG5ubGRvWWI2VW0iLDczMzIyOiJzaGEzODQtSTZpSXJmdk83VjdxZ3UwWkd3TE5xUDlYQ2kxdkdmQmo1NDROL1E5MEZiR1hYSHpXY1VEd3pZZnBvMDN3MnFSWCIsNzM2OTc6InNoYTM4NC1EazVMYldIZUR0c3pWNjlNVWNXNVVDZTRJSHJERmNWaDBSSXIreVlOTmlTaGRJbGdacWJDWjBDWFFmOHJpajNpIiw3MzgwNzoic2hhMzg0LXlSRlE3Qk9aUUNhR1RnSkdFRTlpblRiRzk4VHdhR0VCVS94YXJSa3ZGa253eDJhYWx2TWVmQkpPa0VyWDA2Rm4iLDczODE0OiJzaGEzODQtaXlMUjBibGJ0TmlKYnY4NUt0REg3STRYcnFLYVJhVXYwNXAyNTIrVzF0QmtHckQ5cTVyem5CTVZuakN0QmJiRSIsNzM4MjA6InNoYTM4NC1IVXBmVG8yNzQrZU14eVpzKy95NTl1QWpFanFUS3VSckN4clYwVmtDY3phRCtuTHNpZTdmemlmNUw1TGN6VTh5Iiw3Mzg2Njoic2hhMzg0LWZTZ1AvOFJKbWE5LzlucCtLT3pmRy8wVUdPU3Q4Y01TRDdqTUNobE9qSm9zT0V0V2VpQlRFeTJZOEU3TkhneVoiLDc0MjI1OiJzaGEzODQtTEJPdE10ZWJGMUcyWnNpQnpmTlI3TTZaOHc4UW9Dc3RlaitoWDFNakZ0VUtxOWgxMmFDNlZkM1FSN1J1TzVkayIsNzQyODY6InNoYTM4NC1iYThZUTRDQkJWWGNETTNrOUtkWVhEdkd3VUhYYkZtWDRDR0d0dk5QYVNmNWNnQ003RlcrdVdNdmo4VkdmQi9DIiw3NDMwMToic2hhMzg0LURzVnNkYmJWYXcrcWVBUEdkalFsWWppNUhTdUh2OFJ4NGJOTGNNRU5GS1dyYnFhaGJDalBDaXlDdFhPMWdoV3ciLDc0NTg4OiJzaGEzODQtSkZTWXJLbzE0ZTBqR3FacFlTYmNDYzBydDdMUEJOWTBxc3EzeDFJTEhPK2dvQXNmVngvYXRkUGVJZnJaVjFjSSIsNzQ2MDY6InNoYTM4NC1hWlZabUJIbDhvUHdmRHlFSVdXRU92Q0sraGNpSXp4K1JrakpmaURDRDMvY25HQkp0ZEtpUzZoS3VxejZBUWJHIiw3NDY2Mzoic2hhMzg0LU5yRmtWNldQb3EwekJ6ZDhLcTl6YVNxSktFejU3elRzWGdwMmg3dmtTQlBZRDJZdkY1Z3Ezd1VSdEw4M1AxMnoiLDc0OTI4OiJzaGEzODQtSitCY0p3eUtDaHB4OXJLT0Q2V1V3QWxQcWxhNUlIVkFKSGE0TU50aktvVEQyVWVuckw2S1dia0c1aDErejlJciIsNzUwMzQ6InNoYTM4NC13UGFibDlER3BvN3dSY2IvTi9PQ25GbHYvelNUUkUrRUE0aEZ0TlpydmdkVTBvUkVzVnlORkZoYmZIQVlSeHBjIiw3NTEwMToic2hhMzg0LWNpNXdNR1BhWWJKeUJYZFkwUWoraWJCd2FNcEd5NlJveTJzcHFCM1dGUlhhYXhWazNIMjh5NnN0YnJkNmdZTFciLDc1MTA3OiJzaGEzODQtRkFaemhGRGRYeXEyODludEJteHZkWm1EUDZhQ3BEWTh5ZlNIdW10MXZib1NGNm8rY3d0ZWFkK1JNNERXY1J2KyIsNzUyNTU6InNoYTM4NC1ZVGVPaVpLZE5QR1d1bGYrWGd0MmYxbmRGZjZZWjFielRWaWhhSWJudnhQd0hyQzhFTGNHZ2Z6YUZQSVZvMDlUIiw3NTQ4Mjoic2hhMzg0LUU4SU5PRGVrRU1vVmNwZFZBVDlMYTd0dDltUHRkYmpkM0lkZkxHK0dYa0R0OGIvaVdXV0tNM0hOL2JtYStuTE4iLDc1NzQyOiJzaGEzODQtY0crRDNOWVRabVF2aTB1bSs1eVdHNEtVWU1UTGpwVUJqRDgrWmVLaTVzbS90dDB5QTc4aHI5ZlN2cXBJdXJ6bCIsNzU4NjE6InNoYTM4NC1DNldBaldLdVdZSGlGUFBiTlIyKzlhaXppbHdaU2xmeWxMYWlPZHF2cEhLVkVpdWYySzl1K245NlA2Qk1wT2M5Iiw3NTg2NToic2hhMzg0LUF0eVcwM0plRVp0Y2s2SGd0UWYvRzV5ZHcvQ2ZXazBHeitsQzU0L1VaS1pSb0dGRzYzdW5ORWRocVM3Mnh6Z3IiLDc1OTMxOiJzaGEzODQtSm1hVDFTUE9aQnJ5d1ljMlI0VTVnUjRkbkZkc25NemtBeVA3TlpScG9SYnkwNitHazdqZDNEbHVMZnRoZmdwaCIsNzU5ODY6InNoYTM4NC1xWmdDSUoyeEdLcURDeWszaTlhM1FUVDdKVFNLNEpTU0tHQStxSTJqNjRHRTdGbDlIVDRVZ04yTzMvSEZjekp5Iiw3NjExMjoic2hhMzg0LUdrMkw1VTFzWUxIN1hvdkRyQUplS0gzNHpWdk9PZWN6M0grQ0lPMVNZbXd1MFRyaU84Vm9paE9vU25LQ25ZemUiLDc2MjE0OiJzaGEzODQtTXJWVUFNMW5SS0I0ZUlpYjdMZG4wbTN1eTA3OHVPRTBxRnl3bS9GcmhKWHVnaTBsQUU0WXdRRk5VOWx3R0xLbCIsNzYyNDY6InNoYTM4NC1OZGtJTlVvc0lYVXBZTmw1WnE3VmJVeVpYVEpDcFNnVHJMb0Erb1NhcTlONmF6QWJ1REFyUXU0MDV5Mk92dGdKIiw3NjI1Njoic2hhMzg0LUlLMHBxZVVMWVhMOXpJYVN0cVgzMXFDK0hhMXRJS1N0SVBZZGQydFlkS25IV1Vid1Z6Wi9hd2VmOUxheEFiMU4iLDc2Mjk2OiJzaGEzODQtZkwvMVNMb3QrdmRIaU5CaVdyaWwyeHN0WnZSejI2bFNWaDY0VWdZYWs3aDFST2lJOXRzTVNuVjI1VUpaNUV4ZyIsNzYzNzE6InNoYTM4NC1ncCs0VWFpblZGUUVGY3ArbW5yUkxMQ2FzWmVPb1htZHl6aFVNbzkwbDlvdTRuVEpIR3FvdzdKeUdObTRrT3Z2Iiw3NjM4Mjoic2hhMzg0LVRtait0WnNxOTJXUElsTkIrKzdnR25GVThVa2loK0RxenhxNzIxN2M2Z0RvRTZGdERFTk5TbEJkYUUycHpacHkiLDc2NDk5OiJzaGEzODQtYUkyb1d5MmhVY2xsOVRYa0h1TG1lY1lBdXNoTFhFZEFjY0JUWmtoRS9Dc3JOWWp4NElSWUtiQjlSY1V0UHpndyIsNzY2MjY6InNoYTM4NC1XTE1XbGcvRXJsWXFwUC91TC9kMkloMGNOZk05TjhyZHI0NUhabjFLZW5CVGo0R3UwZDVodkwxSnZWRUFKL1AxIiw3NjY1MToic2hhMzg0LWpTUWZhUEUyWDlSeUp1OERPZ3AyQ1hYRVRrUXBOenM3NThJOXNLUVAxSTJrb1hCTTFDb1VucktxZHUxc0dLVGIiLDc2NjU4OiJzaGEzODQtS3FIMGp2dVJETSsyZU9mOERpdGRBMmwwNDNOYmI5cjRyeVJ2UXdzU0J4T0tsTzJBejdYNDFRdDBnVHdkMEZSSyIsNzY4ODY6InNoYTM4NC1XZHBCQjRVS3V4RG0rMW1WWjhPSFdnZ2tRcVM1UjR1eTN5cXhCM05Ga2lNNWdVakNVNEp1UW5BODI2M2ZxUjZ2Iiw3Njg5NDoic2hhMzg0LWJjenBHQ1N2UEF4c0pUVUJsUm03Sy8veUpiTEhyQUVOTkZ1SWxvVkRaQnZHamNpMDNrSG0xdUx6QXZJL2pjQ3giLDc2OTcyOiJzaGEzODQtcm93cXZVV28zQmxMRFkxbFB5MU1nUXpUN1B3bDZGODFzU29mdDIrUkYycDNYdER1MkU2VEo0T1MwcTR3emdzSSIsNzcwNDQ6InNoYTM4NC1JM0JOL0kvczArYUpqcUNZclY2VUNiVDJ0UkhabGRkSlBWaXltcHk1bHY0TjRSNmRQWW4rQ0pvSW5YVlVJVHpGIiw3NzE2Nzoic2hhMzg0LWZqMys5SjFXU213UGJNNjR4QWFCcmhqTEdpZDR0WWJ3OGRDZFRzSitCRTNLdjRaQW80enR2WUtyVS8vNjlQNkQiLDc3MjE4OiJzaGEzODQtc3pZR2svTXppNVhySG5RSXBCK1d6NU5VWXpEY2s4VUF3Zm5XWjIyYm5LWmpTN1hjSlFMQjVoNnFYcEVwRkxhUCIsNzcyMzc6InNoYTM4NC12c1p0OWFqcmxkZHNKU0w5UUpFcm9JQ0hPNUJ4UjE4REZjV1RQRFBjckM5SGc1bVg3UHN1dVRaU2RmNm8rVlBrIiw3NzM4Nzoic2hhMzg0LU93NUkwQjdYOG1iVVdpMk1tNEszazRqOUtOZ2FKMG5aTFJKdkhNTzh4SituRkJNMGo1TWtKUkxQMEI0UklpN1AiLDc3NjE1OiJzaGEzODQtMm5RR0xLYStzR090TC9DUTR4SDlXd0xnOUs5eGkwbUF0THJhendHeTZuOHFlZWNxaHc0WFVzdkJqVXlIMnhINyIsNzc2MzQ6InNoYTM4NC1haFZIcWpFY21Ud3ZqRGNWRU56eHlrM0hxWGFlMlI4S1lIczFEclNpWEFTN3hRZHFuZDRqa1FLbVdQZWRiOEo1Iiw3Nzc1Mzoic2hhMzg0LVFSV1cwU0l5OTJLRG5zd1QyNTZzbHlvMHlzRStLdlZtSTRCekMxdkVKYy92aDB4azNxdlFWVThPUUV5Sm9DUTMiLDc4MDAxOiJzaGEzODQtYk1ES0o5eEdxUW9IeTBOMjNmbmVySUJoR3MwVkluRFo3dmhyc3VrUlFjNE1iMnVqVW1zTDZGT2ZTZGkwSHZUTyIsNzgwOTg6InNoYTM4NC1ETmE3QVA2TUliWktRZ2lVbVhwLzlWQytNOUxUa2RqTW1rSUVHWUtHOFFKa2NSbUlLT2EwakZhMGo4NTdrblJSIiw3ODEwNToic2hhMzg0LWEvRkZiYUpMWEMwYWFrVnZCdVpCMU9SYStXZEhEVDZ5bmZJdHQvMHVSdkZwNFk1MUlpUDlYOEVnNm5ZZGgxaVciLDc4MjM0OiJzaGEzODQtWWdCK2p2T0RkNlpNSlFKa2tNZHVpeGFxaTdqL3pOQitXTksyeFRJQm9Jd1N6c1ZLRnM5aWZOenJvdW8yYjhCWSIsNzgyNTA6InNoYTM4NC1iZFRINXN3Sm5XcTJlZTNMZ2U1SjBEMVNUS1dXa3A0VjQxUGZXMXRKMEYzczhIdDcvZ3owNGZWdTVPOU5GYzZjIiw3ODUyNToic2hhMzg0LTk0dFFDeDIxSlV3KzJLMXA4ZUtwYzNROXBLOTBFM0crQWRoTjh3andTSFBFQXJna2lHUHlIVFlIVFVHTW85L3EiLDc4NTMzOiJzaGEzODQtOURxSmhMa2FqYUhTU2Y5UUIwUnJDaUNSZ0lXOEFyUjA1S3JwTFBEYTRidHRFQi9xZ0ZySjJHR2V5Sk9sT0dWYSIsNzg2ODY6InNoYTM4NC1LZ1N2aFF2dTU3RjZPSHNUVk5zMHhpYjMrM0NxWGNRTGs0bVB1Z1FrMU51S0I0SGt5M0U0c0hHaHB2TkVWbVFHIiw3ODcyNToic2hhMzg0LW5pdnlzK3pWbEw0L1RSVDZmSHYydkMrWlJiMTJ4b1hzS0JJMEEwSTRDa2JDTnJOY0Fkdmcwd0NoOHpCamRYUTQiLDc4NzM4OiJzaGEzODQtbm8wTTRBNmlwZVhuYVpSOVh5REhqSUlTNG9xUlZET2hrK1g0ZmxsTE1hdjZwTlVIVjBuZXlJczFkS01kWUJhVyIsNzg3ODU6InNoYTM4NC1NblpzZjcrQUVxRkFEUlo2RUMzYTh1L2VFcGxSY3dYdWw1QVdRbTdwRTR3YUFtVnlpRnBPNmIyamtiaW9XU0YzIiw3ODg0MDoic2hhMzg0LUp5cjl0cWtRbnlIRGcva2dOMDRGcktzV3Q1aHlEK21hMkJtMXBheHZZcUx4YjZvcmpTbGJaeWo1eFE4T21FcEgiLDc4OTM5OiJzaGEzODQtaUJaNVBod0poa2tVRDlSdFBUNE9wdmhtbi9mdHl3Vi9mZjdNR2JFZ0JnOHNCTWxqWTRENS91WERRbk0vL3JyMCIsNzg5OTc6InNoYTM4NC1udVB0K3lncXpKU0lScnZYekhmbTZaTGZOaERCTDBtbnBwZUxCQzI4ci9JTGpiZWNyRm1Xc2hCcHJBZytJQ2NNIiw3OTAwOToic2hhMzg0LTBrdVkzSitlTTYzY3FsTnJSTHJoU1VDU3JSUkZ4Sk5KaHhRRmNSVFo3ZkhZWGpwSGV2bEg1Q2E0cllaR1FOSlUiLDc5MjM4OiJzaGEzODQtK09hQlc5cjBJbFJxSmp6YmZoZkk0a1dIZnhhZWNPeGsySW0xTnRZb0lJaUZuTi84MVJ3YnhyR1R0KzRBUEpYcSIsNzkyNzE6InNoYTM4NC1OYmFuanlsd1JXUEJ6eTVDMzQ4alRnSTd3VFllYytlaDRhcmRLYnRUbmMybVphL1VFbE5wNkFrS3c3WnhCZGpiIiw3OTQ2Njoic2hhMzg0LVhDdkVUdytKaCsrYXo0STVBSHcwNEY4dm14czd2NXRJK29sNlZ6bDBQM0cyOFd2ZTlrdnhGc254cFljUTh0L3giLDc5NTI3OiJzaGEzODQtSHBkRjR2T2JIemNLRHpTQkFTMU5hMXlqd0kwWE1obUlBRmxlKzNJYkhJSGVyb0ZSQkdxaW1hSzdzSi9Iais1VSIsNzk1NDI6InNoYTM4NC1CWWZsaHp0dDJWSk9GVzJCZHZ0U3BKTjVPeExuR0YyWkZ0VnoreVd6ZzhsVmRma0pwRjgxcFhleWZCKzEyblo1Iiw3OTYxMjoic2hhMzg0LXFpOXdBYWpNZ2p3OWphckV4WkFYQUVjZTlxNlhDY1pMUHZ4WTBCYXRmdlMyUXZ3dHEwUGJJeDEvUU9NU0dMdUYiLDc5NjU3OiJzaGEzODQtbERvVjA0eFNocUMxWmpxOU92dU5kd1c5VmFzZE5UU3cyUDV4QUIxLzhTekF1ZGFTL3ZoN2N0dGh0Y2ZqenlIdSIsNzk4NTM6InNoYTM4NC1qVUdoTVRjeUVhSjA0T21NTjVHb3VSbHAzNS91TzMwN2xjL2lmZEJnQUpOblhhWVBaNUpCUVk2MlRVaWZiUHptIiw3OTk0Mzoic2hhMzg0LXZFSGhYMElxNE1vN2JvU25qRXd2Z0xHbjRNWFgwWnNVVGsvQ0JPL0g4V1NhT1l6MUhZSnVHSzI0YmxyOTdOK1oiLDc5OTYxOiJzaGEzODQtc05ONUJtT0wwNzZHdXBuamtwT0srd252eWRiY3FJVmtPMSt6dXNlSHdkZFFkb1RuL0FRNHY2bGE5bmxUaklIViIsODAwMDM6InNoYTM4NC1KM0xuZnFtRXVPK09mY3JhMXFCeURGS0Jnb0pweHVFT200MWhYYzF6djFvRVZxTTNSS1VMQ0FDeDNiZjk4aVV2Iiw4MDI1MToic2hhMzg0LUI4VDlmaEJLWkRtN0cxdVczaTZCVjZUSTZRVnZuNTNmcDJPckxEWUZIZjF2VTJzdGQ4YmJpb2xZeFRKd3hvSHEiLDgwMzI5OiJzaGEzODQtVnVEUWNEVlNHTWRSZThtWEdxKy94RWFoVVBrc3pYelExd3BHWjlsQXk2SXNQSm53K3J0TFp1a2REV2dvWmkrWCIsODA0Njk6InNoYTM4NC0rMnA4dmtYclpZbmFwUVpaZFljaEFEVWlEV2Y5Y0JPZkN6eHJDSk5WbU1XU3lKQWtxeHRZeERSbmNya2pZQVprIiw4MDU3NToic2hhMzg0LWIrWkRDL1E0YW5ocU43dkhrK21rYUtCT244bFhpZTNjRlZrdWs3NDVNSnB2dlRVZ0tlNDArblpLS1JtWk9KdkUiLDgwNjQ5OiJzaGEzODQtNkhCYkx4T0o4WGtOTXh2R0hYYlU2T1YyTlk4Z1I2cDdGa3VWUUsraEJjNkcwNUJTMkR3dEhvY2k2T3VrSEtlaCIsODA4Mjg6InNoYTM4NC1vNk1JaHVXc0JFY3lXdEphUXJ4bzNTVEw3VTBDY3NNWmtXK2RXc3JPaDBXSGQzaEtOUm54RU1DTFYzazd2eWF0Iiw4MDkyMjoic2hhMzg0LTBkSU9iRjV6U1VKODRqREU4TmpPSThpYTZTOXdhUTlGMXZhK3VxNCswMENCOHR2eVhQMm41VWpia00vM0ljdmUiLDgxMTI0OiJzaGEzODQtcWJzRmU5YUVxVU52RXFrdkxldk1NQmtmMVRiaWZOMzN0cit5akxsL3dpaEJvUVF4UDUxMnNubTJwWDRVOWcxUyIsODExMzU6InNoYTM4NC1wSkY5VG9DcTFOdGpJT0piRS90MEFENmFSWjM1WXBDYjQ4eHhESWdQd1dOYXpqMEJPY09MMXBGTkdremxWcFZYIiw4MTE0NDoic2hhMzg0LW5kd1ZJcUY1UFBna2UzY2tyeEFtTWZ1WWcwTXY1WEI0dHFEOTl2STlJdnVBS2p6VWhHejZqZWlQK0hTdTM0SzQiLDgxMTkyOiJzaGEzODQtQXRUZWlsZTEwVlhQM0FZL3BrZlBTaWhYTkpDUDVzV1Rad0N6aHd0YVlOMWREd1BJa1JhS1B5Vm0zV3lSR3JjaSIsODEyNTc6InNoYTM4NC1rakw5bjdPTkF0S3FweVlSK1VXOUJqYmV3TXhnemk4d0lVNFRqR3NOWm9LSmZ2RHAya004V3FENVNzOHlzMndmIiw4MTM1Mzoic2hhMzg0LUhKUWNkdk1rSVR3Vlh0UkplazBMZVc4d1d3cG9xc2xhdi9VRXBQdnI3U2tJdWJRbTEydkpaUUc5YXBkd3ExWXoiLDgxNTEzOiJzaGEzODQtOXB6L0VFNUpMNUxmQW5RaTJFaGtTRFBVYkNXTVgzdzl1aEZqRjJMME9wZEpLTWJ2SERXYmFPRklrQVFsL0dCTSIsODE1NTE6InNoYTM4NC1EQ1JjTW81bmFvTFZ5ZS9nTTlWRUNhL1ZYZEcrRXlyRjZKT0Q2d2UrUHM3YitqdWhoZmVKR3lSbmZHQ01aSGxBIiw4MTgwNToic2hhMzg0LTFSODNJNTlFeGpadEswNkF4em5sdTNDUDBUNE1IV3dJeHlodjN1NW92bVl4ci9zWm1LY3Qwbmp5ZkhmWlQxZU0iLDgxODYzOiJzaGEzODQtaVlycFlFdWRhclFxOGI4L2E1R1J6WW5wTit4elNoSUhvT0ZaVW44TnJ1T2FaakxkTXZUMFpBcTV0V3plWXBJWSIsODE5MDU6InNoYTM4NC0vMDBpRFdWTG00VWltWjNMeTZyS0RjZ0c4Y0h5UmcyV0IyMzJ3Z0hZQ1F4OVJYUUNuZXZhNDRxM0FrcG9mejBCIiw4MjAyNDoic2hhMzg0LTBicCtHdTdlYmlZY0UvWGl0dVY0VjV0eUFQRDVBVjZjT3FsOHZuWVRZaUI2M2FSMHFRVHpGZFNKZ01XdUkzelYiLDgyMTI5OiJzaGEzODQtZ2tZZ0J1elVSZGF6RUVTeU1iZmhhZGhYcmZHRjFLZlVSdlRyM2plbDRlMkxITW9rbFRDQlN2TFFURkxwZTNzRyIsODIxNTU6InNoYTM4NC16N1VaVGZSY2xsU0wzOEExdzhRYnBTbmFYdTdOSzQvaHlkVW53TGlVckFoQjNiR2FqNFNoYzJNdGxpaUZQVnQ3Iiw4MjIyMToic2hhMzg0LTREWFZDVXVlWkJXV0tJNDJPTXBEdlRaWkxZZWtlSzlEeEI2MTd5c0hkdkY4QWtwNzhGbTJLY3RWcUdLblgwR0kiLDgyMjQ1OiJzaGEzODQtTnFiVlBvRE1uYnJBN0hqNklMd0pOVElsaWM4d3FKb0ROemQxNy9aVllvSk5xWG1RNUxsWXRuVG1GUXB4bzBYRiIsODIyNzA6InNoYTM4NC1oMGloSjVNSzA4VGYzNi8zc0picjVYWkFqd09xdUo3ZytpUWxyaXVlMFBOZ3NkcFphVDk2ZVkrbmtrTGdTa2R2Iiw4MjM0OToic2hhMzg0LXJFWkxSUGQ4aTJ4QjZzZHRSc3kyY3NqaHN1d29Md01UWXdkNGJRbTU1UEFHbGRJanIxdThQMHJ6UDlYNWwyOVQiLDgyNDIxOiJzaGEzODQtbEt2ekRRYW5NUFIzd2FTdHVCaDFOeEUxb3JaUHlZNGIrTmp4OEJTM2RQRldUYjFxdlVRWnRZcnBscHdrSjcxMyIsODI0MjY6InNoYTM4NC1rM082dmpNMjhQVlcrZm1TelJmVTFZVk9TRDBtNFZXM1lXS3pHTi9KUG5yS2pHUHJPTk9SeE9QZXAyck0rOTRqIiw4MjYzMDoic2hhMzg0LVBPUzNYS3pqT2o0V2VSWU5tZFg3UCtoamdrQ21GWWErellnVUxTZDQxTGVmTDhoZmNFbzFaWWV4NStGbnJlOGIiLDgyODA1OiJzaGEzODQtUnRpbmtRUGMwZzhpa1pVNmk2c1FQMmFmak9IdXlUYmNhWTEySTUxNDNMRWY4RDlRaWZxY0RYb2NYWVJXclp4MiIsODI5NTY6InNoYTM4NC1seVJkaVhOdTJlS2RCTUtuWHAyNFNBYUFsdnU5andnTjRkM0wyU1hzM0h4OFQ0ODZ5SSttdjhQd0l0VTFOZC8rIiw4MzA4Mzoic2hhMzg0LXZuMkFwY05DS0RGL016SVJ6emxTWjd2MDAra2dtZ05yUTJUUzJRekhocXFFTmtyZ3lENGJTOU9TVTRIVUZMeGkiLDgzMTU4OiJzaGEzODQtK211RUx4bEc5dWVZN0gvUUYyL0QzRGpGUkZmT2JmU204L0RSV2xtV094SlBwYXVZamxVcFRTWldyT3ZWMkZvZiIsODMxNzM6InNoYTM4NC1LTllvczNrakxWdHVOM1l6K09NdGE2WkoreVZkK20zS2NnKzVVL2xZNDZzU05iK2Q2ZTBFeE13Ums2RDZUT3lUIiw4MzMwMToic2hhMzg0LWVXdklaUy8vUlJic3dWYnhGalc4VWtVV0RRa2YwSDJsVFNWS2Nudm9ZK3pGUUJXeko2MUc3ajlpWWZKSVVEYk4iLDgzMzU0OiJzaGEzODQtc2hCOEFaejBpb2M3TFRIZHNOelEwclVlS3ZGQUdBRUZSZW5QMThEQXMrZzA4cWJFR2tGR0lzWnhLeGF4WjJGayIsODM1MjI6InNoYTM4NC1RS2ZDTDhxMEI4Q0VYMDl2cmhxUllSUHBncFIvR0gwc0U0MjdwaWRxaFNSY2lrQzdCWktGVVEvandKRkVYcU9LIiw4MzUzNToic2hhMzg0LXBCd0g4d0IxdXZPdUVVSlpsWmh0dTZCcFFqV0hYbkdWbVRTVFlvd1oxemNmSW5UR2tKYmNRY0hJZHJEWXZnR0EiLDgzNTg3OiJzaGEzODQtU0hpQWZKUUk5TFNsTEo3S25KUkVxeFVsbjUraDdKUkp4eVhsa0NTNWE0M1RSVXFHRHVSeHRVR0kvWWFnMVk4ZCIsODM2MTg6InNoYTM4NC1CUzVJSllmckVMMnV0WWtrQ2lQNXAzcE1aQmdnb1R2bFFKVWM0bDEyT3U5YUY1b3dIMFROWDJKaGNUOHdVOW9IIiw4MzYzOToic2hhMzg0LThTRml0czRoSzZDY1gyQzROZi9KZVhCdXNEdWhlaGVWSlZ6U2pMYnpKS2U5MjhrZVVRQkRiZUR1eHprUFRCUlAiLDgzNjQ4OiJzaGEzODQtTTZyZGt0VzhIRUhpWGlRaUxQWVhNcnA2SjFmazJpeitucDhsaGpGblhxcTB5QUExYlVSRXV2M1dUSDhwMStpQSIsODM4NTA6InNoYTM4NC12Yzg0TFQ3eG9Hd00wcjlCMUNxN2xIdG1yVDE2RFM3YkJLcFVxZ2ZMK0VuSzQ1UTE2YU1IdXlQcmRmbVp2S3ZFIiw4Mzg1Mzoic2hhMzg0LWNhclJMNFRRTmtvVTFULzhERC9raUVaenFqN1Z0QkNRRHF3S2o0L3hhRSt5SVhZelp3Nlp3OTZBNEhuWGN1WXUiLDgzOTUzOiJzaGEzODQtNjJVMWdtdEFsR2hTUHhUQlNXSm90MXVreXVpNzlBMDF4K05UN1Q1aWNxWGgzRU5jNW05c1M4czh2ai8wMUgydSIsODM5NTY6InNoYTM4NC1vZHc2c2RiU1BYVVdST2c5bzRieVp4ZXlQVkdOVnpZMXhjVlNrc1RqV1h0Nlgza2lQWGlNbTdjNHNqcGdwNE8vIiw4NDA1Njoic2hhMzg0LUoxMDdiRHU4dkgrMDVNOEVHTzQ5cjNIWnd2MW5CT3NsTFV0S3VReTl0bUZ4cmg2NmlwTzB1aFcveTBVekJuVHYiLDg0MTg5OiJzaGEzODQtS1lNWGFwSUtTWVVENUxTWEFzbHFTTzhsWjAxL0pUN0t4RjREWGtoKzZrU2ZRbHl3K0FzSzZRZGxHQ2hKMUI2RyIsODQyNzk6InNoYTM4NC15eWpkQlExeXFjNEU5b3hNekFzVnNDUW1Bd3JxRy9CeUQwUFpmVGkvSFB3cC9TYWdWa1NHaGRJYWxBZ1pWVjl4Iiw4NDQyNDoic2hhMzg0LVQwNGYrUU1sTkF4dmxTTVNZTjRFc3UxL2crbm9yd2g2NlRQVlVKSnBSbGVyVjF0SGpJb2FNRVdHZm9ja2JITEEiLDg0Njc0OiJzaGEzODQtTTdyNU80VW1uMmorRGtoRDY3SUlQT0k3bWFkR1ZuS1VLQmdmeDBZSTRwc0w2T1pTQldhazlOVTByR3ZDeXpFMCIsODQ2ODk6InNoYTM4NC1jeWNGdWlySHZkbnVFYlJlMjgyMGEyaEsxVU5zeXd1YW04MUtUYmplV2tFclFuV0JLT3VXem5wTkFybko2cWc2Iiw4NDczMDoic2hhMzg0LStVOE5iUG5rTFNnbU9KNm81RUpGNC9MWHlrZWNNNlo4M04vVTNLS3NOenJCMGNzaDREYlB5RUd2dHdpaytsMk8iLDg0ODk2OiJzaGEzODQtbUlNKzVzYzdtYmxTdWlBZEtCc2puTTQxenNlWnRtSlczdE14M1duakNJZnA0aVMzeis1Q1FIS1p6QlBSdVVEbyIsODQ5Mzg6InNoYTM4NC1TaHlBZE5oZm9tWkpUb0NWSSs0aWsyTDNMNm9VZzYyVFJwMzJYOW5kUE16N3l4M3M0cnNNZTZabHk5cGR4UWNRIiw4NDk4Mjoic2hhMzg0LUlOZlcwMTBocVVEVCtKMDhpM0hZU1haS1lHZ003WFBuN1RvYmJUOE9VdVcyS3RXLzlpcWNPeURpSUdWKytmc2YiLDg1MDk1OiJzaGEzODQtcjV2QitnSkdWTGkyREJUd0puUndOaDZqazlSR0dadXBvV0JlemVUSUcwdW5UMzY1NkVTaG04aGhpOTVJSlpuVSIsODUxMDI6InNoYTM4NC1PZDNHbmkzMkxvRzBtMkt5WVNscWJoZDBkWEtuMEpZMittWXI0ZDNnc1RoWG5uZ1RyZTZ3UnBYajk1UUphSWV3Iiw4NTM4MToic2hhMzg0LUN1QVYxdis5SjJycm53QlhDcXdVN04rYmZPUldhbStKTGJlNmQ3Y0puVEdzeFBvZG5ndjAwY1RQT2hVajVvMzQiLDg1NDg1OiJzaGEzODQtNWxYdkJWK1hKMU1SRFlHMGJBZVp1Y0Z0czh5azRsRENnUHdlYWo4eGQ1enZxRXJOQWtCdXJLV2R2WUUya2FmRSIsODU1NTE6InNoYTM4NC1tYjRyKzVQU21EQ25tK0xYKytjUFFDN1ZiaFk1dnpFczI5cFlET25NeVd0NEwydEhDcG1HUTlkQ1psS2hHUDY1Iiw4NTYxODoic2hhMzg0LTIwdGd5ZXo4YXAwQTNvcWdEbm5WSkNQcXN0UU1TY1QyeVMzNHkrenZMWVFjcGV4SUVjTk5QdjVReHV4dW16WWciLDg1NjIxOiJzaGEzODQtVmFidlhHVll1RUpsOGd4elIyODhNT2QyTjhqcmd3Yk1xbTFPNVdyRzh4Q1NqcDV4d01UMHphdldyQ1JZTFY3dyIsODU3MzQ6InNoYTM4NC1WcU1NeDhHWXQwV1IydTVyS3pkM3ZTYzlKWC8rS1NMeExTcGdTNVEyZ21WTkUrRU5ObE03WWZLbDNlSjVLSkcvIiw4NTgyOToic2hhMzg0LUcvT0U5Ulc3ZkZvUnZ2VS9QQlBXbTRDODNNSHV3YVFqOUxMRCszZW5NQTVWa3IxM04yNEVhbDNHOHVPNW5vck0iLDg1ODg5OiJzaGEzODQtdnZNWVhnc1BxWlBqYXJjd2xsYU80d21TZHlLSTljaHAvczJTcmVrYjZvK2JBZVZsamFBbld5M0E2T0kyc2liQyIsODU5NTU6InNoYTM4NC10Wml4RW5nM2J6Tnc0NTZicG1sL1BMczhTQy9UWUJsZ2p0czhNRjVLY2lUWk1sQlVSUHZzRTNPL01FeDNqSWJ1Iiw4NTk2MToic2hhMzg0LVBKaExiRnpHbVdRUy8vcXRvMzNCMDEwcWcwVG42dzk2UWdHK05rNFhDRFNyMitYZnVFLytDYTZQZlB6Q1J3azMiLDg2MDA1OiJzaGEzODQtS0hCNFRISU53R2JwaXU0VmNKQnR3RWtBZXk3eFlNZ2x4bE41SGtWK0cyYmY2dXV4Q0J3UDZwQUo2ZVJmZHcyMiIsODYwOTg6InNoYTM4NC12RDFUYW8wamlDdjRoclJYeVF6RjQzQXU1TS9YTmFHc2UvalhDdUpJM1JZeUxxdlRZUGZCd2FFVE9GQ3lOV0RaIiw4NjEwNjoic2hhMzg0LTh3aytseWxKN09XdDVMOVQxYm9Sa2VrN01jb0Y4UCsxaDJSTDByMVVaOGo4SXhzaWpIZmh3dG1tYWd3TGlHV3IiLDg2MTI4OiJzaGEzODQtNmlFU1J5SVZpaVZRY2hPS3BEQzVtQzc3STh0RkZ0R3hjRFVVVWJ3ZmlIS1h1WEMweGYwcER6VmEwWGFJT3FBRSIsODYxNzc6InNoYTM4NC1tdU9HNFgyNCtUODJKSSs3MXpqTW5SMDdtNFc4ZG9WT2IyVTNiSWRleVArVHYrRk9FRER4VVY0VTF1T3pWbndtIiw4NjE5Mjoic2hhMzg0LTVLTEwxQTJYUzdCT3ZJSEJxOUdtU0kxeDFUWU1UcE55Y0JIY2pXOFdEbDdFY1BFc0ZvZEE5M2ZXOXFUM0VZS2giLDg2MzIxOiJzaGEzODQtMTVkMVFJdW03U2lXUVlJT0d5WHgzVEIzS3ZvNWU1M04vVmplTHU0YnNLMUIzWEFDczJIeUR4TU1oTElQSm1OKyIsODYzNDk6InNoYTM4NC1JNkc3SFFvY2dNNGx2YzZZRjNYSjA0ek1ya2padGJqV1VJRVgwOTFYU20wYTF1UVhneUZxWHVTWW16ZHREMjZzIiw4NjY3Njoic2hhMzg0LUk4cTV0djhpcFIzODNrcjY3TWozMytVbGNwTUE4UEN0NzRoQ2hSV3JWS1BtSXZPMkNLOTNRbDlteWJWeWJTTFciLDg2OTk0OiJzaGEzODQtQTd3T3FCLy8zM3BDeG1TcXdOV0tDVDhKNnBtQXV1TUh0WUliRkRLb29GY3phemJNbVhHTDg3Y2l5bHRUK3FRTyIsODcwOTg6InNoYTM4NC1WbFlDbTRQbDQwZDNhTUVkQ2NMc1d2dU5KVDNSaUFyM3Zma2VvOGRjZWlaU2lzQ2NmNi9KNkpEeERlUElzVzU4Iiw4NzIxODoic2hhMzg0LWsvYzd6ak4wanZpNGZoVmpxczNXRHlraVBTanRVYTNtWFM1VllBZFpycWJNNFEvQnhkQUNVZElKTFBaWEFDS1giLDg3NzgwOiJzaGEzODQteEtSRHJTT2x4Z2lDRko4OVRsOXVhckVsa1hRMVNUVTIxcEUrOCtvTzhGQy9rOGJ0S3Noc0FWU2s0K1UyWEJzaSIsODc4NDc6InNoYTM4NC1RVFlrQTJlRTRiempRL3VCNE5WanY1dzk5MEppMEdhZ1dwRTcyS0FkQlpZSmpyTGJZc0hDM1BUdXpVS0l4M0hIIiw4ODA3OToic2hhMzg0LWVnRllZUU5nc3AyRnpSbG1uQ3BqeG5xMjZpZzNNaTlIYWJnZVdCUm9DNmgyOU1lY1pWNjZvdyt1NGRDZktYZWwiLDg4MzIyOiJzaGEzODQtcDE3MTM1Syt5S0RVbHd4Vmd5WCtSbEpXWEJPcCtrd09zODNHdXZrbzhBUDVrUElkS1lySFhQaStXbnhIUzMxciIsODg0MDU6InNoYTM4NC1yaFFkaGdIRHFHZnRDQUFHc2p0NGllRHhUVEE3cXZMQkd6dFlJdTF5VlA4QjU0b0dKekJaamh3TS9sM3QwUjIvIiw4ODQ0NToic2hhMzg0LWpOd3k4WGpjSjQwKzc1RWpnUGMxbW9IY1pGV3NrZVJ5ajNOaUJQaVdGdHkxdEVqZGw0Zk80ekg0TWt2V0s4ZUsiLDg4NTAyOiJzaGEzODQtdnhNRDRodDJJTS9vYnl1K01QVk8yMFlmVHlLeGs1bDgxcU1NamhPZUx0Z21aSTVmbzJNeW5zb3pBdTJZc3JEcSIsODg2MDk6InNoYTM4NC1YUmFFZjdOdmtRVU1OL0YwZTBJY2E0Wm5CNUR1b0tuc0p3NUdaMnhJT2VxcmtLc0tnUW8vY1ZFa3pjNW1CWU9pIiw4ODkyODoic2hhMzg0LVQzZGFVd0ZDZ0gxdnowVll3TlpXbVNuR2ZTbCtoeUVWTVpRNzdyemM0d1Z5WHVzWWNNamM1cXZBNmhXa2NiTWIiLDg4OTM4OiJzaGEzODQtS0dsMTQ1SlVCdzY0L3lvTWlDdHJzby9kSzVFRklGZW1XQjBNWHlsNlBQMnlEQ290eTVFMXFSU2g0cGxHbXFBNiIsODkwMTU6InNoYTM4NC1nL2RHaUhTSmRhTEFCMXBtbG8xYm9TTUxZaHZSNGZJRHlUNjVKZFlsck9wZ0NJV0JicTIycURodEk5OW55UHVyIiw4OTA4MToic2hhMzg0LXJFdHkwT3NWT2t4WWJ1NzFFRDdZNGIxcElPWjl5Ui8wTGwyK1orMHQ0U1RCQlNwQVBDbHN4YVJTaWQ3b0ptZ3oiLDg5MTI1OiJzaGEzODQtTjBsOXNHL0drMjN6SGNwS1F5ZkN1WWo0U1UyZTUzbnN1V3pLTVJGaVF2d1lkWENEbmZ5R2s1VlNMbFRyME0xSiIsODkxODE6InNoYTM4NC05dS9OUGRqN1pVd2doYzlqWEc1VVdoZ0IweGhocFBpVW9BSVFKMXk5QTMyZFhmS2xBTTRiMkNqZHZEbUZhNStBIiw4OTI2NDoic2hhMzg0LVBLeHN6Zm9ZTGkyWGNHUHlpdmdacW9vYVJKTVJQZ3JlTk1nTUMvdkwzYTR2Y3ZCVDdlcFpxVmRrZ250WkU3MloiLDg5NDIwOiJzaGEzODQtQkcvUUYraXRGWnpMVjd4a250bXdSeUNqVDRaTGloVGdJNUU3dExPanlLYXgzcFg4NCtMVnZXcVMrOWE3eVpOMCIsODk0ODQ6InNoYTM4NC1BMy8vOGtZQmFNd3lzZGZIMnlVWURvOUJmUERIS0tTVjcxTkxEclNscnhBNmpRZjFrcHlNSGlVbmRSNzU1SmFmIiw4OTUwNjoic2hhMzg0LUpPbUZQVE5ZdnI1NWR0VGdhdGZ5TlZaamFDaEVXanM0QW1hbDhDV2ZwY2FTNDFtaUI2bDhUWXJyOHBxMUwrK0siLDg5NzY5OiJzaGEzODQtRWRDdEoyNCs0Q0FGL3Y3R0MxUjJwVFJROUllNmlwSVY5RHVOeW1tSXJIcTI0WW1MTTBxSTV6c3Q5aU50bmQxNSIsODk3ODA6InNoYTM4NC13QjhXY0ZoNzRXcERBSVpwQVpEdHBZU3gzZjNwOHljOHpIVVZPN1pMU1JyWUR1LzBTdmJyQXVTKzViUEpNcDEzIiw4OTc4ODoic2hhMzg0LWJuY1RMcmw3bFlKVGo0ei8ya0lFT01MTWlFMlBwR1d0K1R0Mmd1MjVZdys2c2ZDcExXbmYzM1J3ZmVyc3pVYW8iLDg5OTQ2OiJzaGEzODQtd1gxNkcrS0l2amFVT3lRSW9KRTU1OWcyOTVhMlljZGdDakY1eFBiRmlCVTduQVJUckpUcVJNaS9YeG00Vjh5LyIsOTAxNDA6InNoYTM4NC1XMXhmNEk1b3pML3lrRVEveDl0bDJnWHF4YWloZVR4YU56WVJJN29xNi9KV0RsOWJnRFBBQVptYThuMXZkWW1RIiw5MDE1Mjoic2hhMzg0LURHMzNmbk1SSVE1ejNZc1lZMEV2cUNMTkFrUWVZTFVRUm0vd2FpaGcyVTVPRUhtTk5jWDNjSGFXNHBTSEgyQnIiLDkwMTYwOiJzaGEzODQtc2NBckdaV2E3SFJoVU01M0g4MHJsNjJtVHFwYXBqNnJyWU4yWFZTWWFLbXpBNCt0bHJrRWZWWklwTEJDcVQ1OSIsOTAxOTU6InNoYTM4NC0rSFhWNlRJMHFOSHZxVXJsLzIvSHMzcGpwMEJ5Q1dnRkVXYkUzWkFSM244UjBVOG9wMHFlc0hrSTVjK2prSDNpIiw5MDIwNzoic2hhMzg0LVBBWGFnLy91QVRQaWt6c2J0L3RjbFF0VUhqR0s5eXJ0enhTWmhiM2dNbmhmYzVyc3U3S0x5YVY3V21mcWR6RjYiLDkwMjY5OiJzaGEzODQtTXRPYUtnK015bjl5UWx1dVhUK0Q3TVB4dXExdGw2Z2tqaCtkQmxTc1lMdmVzc3hzQk5VN1lNeGp2VHFTSlZPLyIsOTAzNjA6InNoYTM4NC1oNGV4T2x3Y3l1cVIxZzE1NDhrT1VDVEY3eTFvUm4yUENucytJYkFVbzdSK25PSU5SbHI1Zi94NFFWc0FUSkhtIiw5MDM4Mzoic2hhMzg0LW5WbFM2R2hBU2Rya2FiR1hsWERWK3BDRldtNk5IcXUwMWhyLzZRNWRJZlJtNXhnRndWakh4VmtXRVByOG9sVy8iLDkwMzk3OiJzaGEzODQtbHpWOWt4YTFUd2VGV0RNQkdWb21vK3ZZSEJ1RWUvcklpYW1RVEZudnBSczQxMkFCLzJidnhPSXZaZXhOSFpReCIsOTA1MjM6InNoYTM4NC16aER6ejB2Szk4MVptRVpIeEZJdXAraWZETndtWGozMDNQQmtmRy9KS0k2SEZIcnV0UHlEY3lVbzdhK2c3SSt3Iiw5MDU5MToic2hhMzg0LUQxOHdtZ0thT3lBclczeXB4UXRUTlZoR3BzUGhLQWJCTVpoVUVSQ2c0UXlyT3ZWbEIwcElOMmdFRy9hemZFbkwiLDkxMTMzOiJzaGEzODQtZmhDUDE2QnNGRGR2c2xuZVZxTlZTNWJ0eEtBTUxqWmhYNXNQVm5nbmJqZWVPV2o3Y24yS0x0VXZwcHNsZ09sVSIsOTExODA6InNoYTM4NC1VVngyRXA5K1JGdU9oU1BRc2pYbU9SZmdiMG4wYjRNOTM5aDhMbTIwQWF1Q1YvT1g4SS82ckxZVlFGemJPaTZiIiw5MTIwMToic2hhMzg0LXg0Z3lHcGRDRGRTR00xUUtpSk9aYVF4TStMeUtYUEp1ck82NFplV00yZUxuQlNHekQ4d2p1MGFhOFphZ2lFTC8iLDkxMzA2OiJzaGEzODQtYXhrVlVOVHVwclhXV3JIQnhrZ05WNjQxRWNXUyszYll0TitTY1k5UVlVWVVFaGNRZ2NHcTY5N2tRSWFPclEwciIsOTE0Mjg6InNoYTM4NC0vTHBMUjRaODRzcEJ2eXFJa3VWSThMV2JZMnhRS3JaSXVDQ2xEK3NhcEZpL3BpV1VCZisrajhBcFkvblpUZ3F3Iiw5MTU2Njoic2hhMzg0LW1FeC9LR0F0M0hjZkczc0JIcGJMZ3JudHZGeFZpaXpjTjRwdFdJdUlVdzE3SS9KbDRmQ2p6ZHhFSytXY0ZRWVIiLDkxNTk2OiJzaGEzODQtQnBjNWdMZ25hYWFrdVhZRTFKRWY5eFNoOUpXbTVIVFIyOExjVjNmTUJJM2VUVFdQcm1rMERFaHVQbzVrZUJicCIsOTE5OTI6InNoYTM4NC10ZVcvTmdDTmlWVys0SkFZcnh0WnE3dkZwQ2Q5THpjRllxcUZUOHhZdWNzL0dIVkNXUFYwdlR5Q1IxY3Vpc3RwIiw5MjA5Mjoic2hhMzg0LWMrMUFaQ3JTeGt5ZEZPbzdTRStIOFJXMnVEYVl1aTl2TDZGdVp5TVNza1lvUVNxR28wUTEwQnRydUNKcEN2dVMiLDkyMTA5OiJzaGEzODQtRGhRdnNROGZTODNYM3NLaVlKalErclhlNFFHMm5wRksrSk52VWFucEIzNXcxTUIxN1N1dTZhQUVFS1ZsTThHNiIsOTIxNDg6InNoYTM4NC1IMW1JekZOU05uaERJY3VUenVQWGdBUHI1QW9oejlleGFaTjI2MnJkNTJidzlCN0c2anBjWGNNbU9lZHpEdGNkIiw5MjE5Mzoic2hhMzg0LXRSRTNBTG9VK2lBL2NPaVBKb1dIQ1lLUElmT2xOUkNiczN1eWRPODZIMnlYdFQ1UWdJamtFS08zakY1enhLa3UiLDkyMjUzOiJzaGEzODQtU3BUaFpzSTk3TW1PbmJ5L0hrMUZlelpsWTFzcXhzSDVzV1YrODZ0L0xDUDRpeElTdkxrYzgrdDYrRGJpOTZGKyIsOTIyNjE6InNoYTM4NC1TdXo0aTFwbkEvQzc2d0greWNxTHBzSVBicHNQa1pSVWZZQndVMUJXb0I2WFBnbU15WmRYR0tXeG50MkliK3ozIiw5MjMwNjoic2hhMzg0LVMzMDVCYVNLZnRaUzZvbER0MFY5a2xEb3hQV1Z4bHFrSVc3VmhFRjE0MDRCcTZLbHlCVEVjK0ZjL1ZjN2lNNzMiLDkyMzYyOiJzaGEzODQtRlh3VnVVbkhHTklDOFdCQi9YR1gvQUNlMFRURGx1SHJxbGFoSXJKVVIydWEyaUh3UFFYcWJmNDBSd3lQeTVONyIsOTI0NTg6InNoYTM4NC1jUURFMVVORHZyM2V6bEozSm10cEkwTDlRR0c0MDlaSXpDZkRYYnJ4WEVrM1U1SU5qYkpuMXdnbkx3bEtvdDkzIiw5MjUzNDoic2hhMzg0LU5jV0FjMmJiUGs4b3VWY0lZK05sOE9UQ3JsekVqUVZQZldoR09KcmVQNDJBMUdPSkRTSXYxdWtXT1dacG9teDMiLDkyNTg3OiJzaGEzODQtVWNCS3ZleDdpT3J1dXVwSEhoM2JnOEJTcVdjVkVMeXp2NllIUG1xdk9EL0xzUnZtcmJ5cmhOMjJ3RTZETDJ5dCIsOTI3MDY6InNoYTM4NC0zQldxMHhodHZPMkNodnhCclA1cmFUN3U1OWlrNTJCb3Y3b3pEZ2lYcGQ1a3BRZ3Zlb3JJRzJKVWtOSmRNcjNsIiw5MjcyNjoic2hhMzg0LTdyUUZ0NjNZdVd6dVBjQUFUZjdwTU5Fc1NEYWFLV3p0c21vV05qaHBqTjNEd3lKRG1KY0R6cUZQeGVEMkplc0wiLDkyNzI5OiJzaGEzODQtOVY1TkpqOTZHMHE4TDQ3NzFsNG13ME11encyamhaN2t6QjJrS3BtckpSb1NLdHBzSndSNE5vTHdQOVkxcUJFViIsOTI3NTM6InNoYTM4NC1YSmwwRlhKUmxEU3R6c0M2VEFTK01UdDBQL2hYSGZsY1BleHE0M2ZTQTcvRndvVEU5OWt0aVp6WXU5a2lqSCtqIiw5Mjg1MToic2hhMzg0LWxDK1kwdy9xNDBjZWthODFOUjRzVnhPaW9USmtqbGtyWmgrMDFMVkRNUVBQZ21GMUs2QW1iMDkrMC85UTdxNHciLDkyODc2OiJzaGEzODQtdGxPSW15SzFNOENFTmJjUWNZWElmNTg1WGhZcXZuVEFmZWZUTWJmeXF1Qmp2T3B2aUR3c2NiaUhYQnJzS2c2ZyIsOTMwMTU6InNoYTM4NC15RXRDRlZPRFVCRkM2dkovRUFZYy9mZkQzaVRDMFVNZVZmQUZuNXZvY0xyem8yUWRLWXA3d3BUdC9qbStHbm41Iiw5MzIyNjoic2hhMzg0LXY1U3NxTVN3bnBUNnRHM1N3L0FUWGxIVWVzaTBiSHI1UW9zbkhiNGIxR3NIbTN6UFhEai9xSXU5b3FQMWNTalEiLDkzMjI3OiJzaGEzODQtYkJRTkluejNRNzFmbk1CWk1teU1mNjJXNlJwZ0VsNEwyQkx4bUtRcDgzeFdIYnh4d2VnSWZSVWZYUC81OWowQyIsOTMyOTY6InNoYTM4NC13OGJtM2dJN2xvU21hU1F4U1JhWVJEeUwrQlRzK2ViT0toeDVsTTNtK1UwaTVzTXIrZERLNng3amN4alFablBqIiw5MzQyMzoic2hhMzg0LTlET0toZVFoODlRV2lqeXFabjBadzBNRDVFUWQrOGRhdTg2SUwwam9oelorZ2dGS3NLL1ZmVG1jQm1RNXBIb2ciLDkzNDcyOiJzaGEzODQtVjFQRi93TnhTd3YraFM3NlZHTEp6UDZaYVd0Q3NvR28zcDVRcWprSGZ3bEwyY05jRUF1VFRrRnYwVEczNnVwRSIsOTM1OTU6InNoYTM4NC1IanpwY2FIeVgzRk42REFadXZVWnJ0V3k3VnBzeE9SdGtJdnhKcXZaNFRIdGtidGlCNFRnbkk5aTk0ekloMWt6Iiw5MzYzNDoic2hhMzg0LUxqRFZQOXhBNHl1aTVMK2pOM0k1aFNYKzZkTkNVRlhpby9KM1dzU3JkZElyZVphUTVPTmlrWFVlanRhYWpKQkQiLDkzNjc0OiJzaGEzODQtaVBabG00WVRSeU80bU1HTVdFYWJIYmZpOUh4OFRncXFoNDVzNVVmWTZIWFoybTMrOWZObldkVzU2NEMyUmcwdCIsOTM3NTY6InNoYTM4NC1qT3plSzlydkxHNzBPbG1RdDVtOCtIV2hJcDJabkNqRWcvQTNicHpHc0RSeE5BR1hOUnhHZXM4cG1WWHRHbUFDIiw5Mzc3NDoic2hhMzg0LWROM1VzRXQxdWRqdDZkalRpWVliVzhlZXFUT0JYY0UzSURsNWZaaXBwVEZiMkxUSmwvVHlQSTZvcVE5UFpqUDAiLDkzODU0OiJzaGEzODQtTDEwbmM2ck04cU03Zjd6d3pEQU5jQmJQdjRCM2NYaW1WMGlOZXArVFpLOFY2WTVJUm12ZnF4R0R6OVF3ODk2UCIsOTM5MzQ6InNoYTM4NC1LMTFiSzJqMVY2ZEY3cTBVT2dMa1RPSVpNTm9LRkkvTk5pNU9qejQxYmo3eUZzSWczV3JzS2dJZElzR3pOK0g4Iiw5NDAxNDoic2hhMzg0LXhRcVg5SGkvb1RDTTRtVmV5Y3pSc2NGZFpZZkpRbk5jL0lrN2JmanBoTzdGOS9NUmpZMFowOTIxaXFDNU9JTkwiLDk0MDQ0OiJzaGEzODQtc2xCQlBZUUJBSTlxTStqcEhNNm9XRjF4bno1UDg2ZndmdnpmSmtrS0dHeFRxbC81WmtrSlkyZ2VDWU5jaTFDRSIsOTQwNjQ6InNoYTM4NC1WSUFEQjkxa2xsNE13aHQ0S3ZtVTFVS1lwcERKOHBpZ1VuQmxoeXcxRjQ4QXF4d1RzajNDTUt2SE5TWXNjK2R5Iiw5NDE1MToic2hhMzg0LXNSdm5USGFDaHcwQ3JwZkFEbStQRXBkOEtzakJ2dUVFTVlsWW5pQ2RCR0M1T2RBL1RNSTZtdUZvZ0xVeGRjd1oiLDk0MTgzOiJzaGEzODQtcW91OXNRNFBvNHFzbDUybm1BT3cxQ2FTV3hlVEV0dFdZY2J0ckNRbHVkeHNxTnFrWkZWTXo5T0ZmeWxUbk1SdiIsOTQxOTU6InNoYTM4NC01djZZb1BMTEExVFFZVGMwZExhaDFhemRnWVY5ZjJPcDc2cEJQV0dIV2Y4SnJSQmJFSGdxMVEyOTNZSnhuNTJ2Iiw5NDI3OToic2hhMzg0LXVtbk1FcnFLTmY3YnNjRXpHRStsb2RQWUNQVDBmMzl3YnJvb21sSk94dFJpanI0MTRyTTErTmdCaGV2M3U0NkMiLDk0Mzg1OiJzaGEzODQtaVdTYU9ucHhBekY3TnRFbXhtSFVlOHA2cjlIYkJZYTU4RTFrWitDRlh2b0s3dmkwK2srRUJhRmFKNEd5NmI2WCIsOTQ0Njk6InNoYTM4NC1zWmU1NlM3TkdKSTZYR0Jnc2VsVUJBMlV3QnhYcGwySHRUYWkzVnNqbVk3QWsrQlBsem1mNXFSbWNENWRyL2paIiw5NDUyNDoic2hhMzg0LTRCZ1BpM3MxVDI3MktTKzBBYkJaQ0tEWlJJOTJjMTc2ZXdtRmY1Rko5bGdLMk4yYTlkZ1E2WElUKzFoM2hCOHYiLDk0NjMwOiJzaGEzODQtRDNqeVY5bHN1S1Jld1VtM0F5KzVWNS90S2kwU2UzNlFWZ0lsRE9kc2NlZFRHTDZocXdaY09KSGVQSHExWmxDZyIsOTQ3MTE6InNoYTM4NC01aHVkbzUwS1pzWDVnNGlTQ1ZFU3VpQTZ5UjhaalVuQUhuV2V2UFU3c3d6Vy9wdkhRQ3UveGI4RFNRbE1QY0RWIiw5NDgwMToic2hhMzg0LVJIVEtIbFIvNUJLdS80SWJpWnZNeFhQNnp6a0ZMK1Z3dlFoUWQ0WXE2K090V1JvZERvN01paG9XS09vVU9QdysiLDk0OTQ5OiJzaGEzODQtWllrSmtHcDcvdjRmT2g4SWhWdytBbVk3TzJ2VnhFV0ZvZjRPNXIvaVpsUHFJQ3hsVFhkNkRaQTI1b3dSZTdUdiIsOTUwNDE6InNoYTM4NC1TYklEbTBOOCsxUVBpNkczM29wcUd3WnZvYkFUaDA2Rlp5WmJwdjBWM0dXLysrV2IwWDhKeHphdC9seUh3TmQ5Iiw5NTEyMzoic2hhMzg0LVBCUk9qZGplUTI4MlZDSnhXR2FFeldlMzhlUXBNclRhckZocjFVbVM1c2RiY0NNdTl4Y0xoOERJbFEzcEsrZHciLDk1MTQyOiJzaGEzODQtOVR1ZENZSWNPS1RZbDVWSjQvcVUrT0lWQms0ZW8zeERBSDBGQ2JhVVZ0d3NHZWs5cHM3Z3FrQWoyVnBEdk9oQiIsOTUxNzE6InNoYTM4NC1jRzJiMTdXb2c0WTJiazZEdE1naGdMNTZzTDYzOWp0RkNQeDVScEZhYTdsQlFIbzY0WFpEbHJtT2hZK2o3cDREIiw5NTE4MToic2hhMzg0LTZuc3ppbXVQeGFLRjVTME5CSXk5TytKa1ZqU1d2R3REVnUzbEpMaWhtQWo3YVJycVl6enlKaW9WQ1A4RkU4bXAiLDk1MjMyOiJzaGEzODQtcXpLRjE3dzIyV1B2SDFpcGQ3Q1VaSHNabHlra3VlOE1XdXd4a0x5cG1ETU9WYThoWmpmL3JNbFZDU041ZHlYSSIsOTUzOTc6InNoYTM4NC01eFJVYzRUbHFHandXK2NtczFTdjNlYTk3VllnWVdIY2hCL2Nnak5nSzZReEZwL3pDbWtLNzlUd0dFem9HeUtqIiw5NTYwMToic2hhMzg0LXJ6MHAvbDZ5SjBZUFJ3TU5QL2NQdEdzb2k1M2l1aXhFdElLRVM2WjhXVHBXY3dXZWtxajc0TDRsdmt2clZBNm8iLDk1NjI2OiJzaGEzODQtOXUrN1NqNkxWa2ZxTFNEcWJJT2IvekNpSHU2Zkt6eXhrbGMvMGdEa3cycTAwQk1hVEJRM1I1Rjc3Qm9POWlsZCIsOTU2NTI6InNoYTM4NC13RjRlMGt2eTlQdUcwMEtycmRLNXhPaTVDN1JJditsaTY3OFBPSEVKVTdYWlhKVmFSZkpmWDFsUTBDWEl6d0VjIiw5NTcxNjoic2hhMzg0LVNXV0RjZjhhUXJHY25EeHVFbFZYUHk2TVRZUndXZU9sZTA3bVR6SVVaNFBGUGxyVFFaVXpWSXRoL0tpWmQwVm8iLDk1ODM4OiJzaGEzODQtMy85Rmk2dWZrc2xWcHlIcjNEVkhMT1M2c0taanJzaXc5Q1R1dStaeG52VHFuKzdlaURUaTBTbnhOZFJCZUJlNyIsOTU4NzU6InNoYTM4NC04elhRVEVmNFJHZ1o0WTZQNEZrdjB3eS81K21HSVAvYUd0ckt4U0tSRmNON25ZK0VQSnk5bVJHb01pOGdmNlIwIiw5NTg5OToic2hhMzg0LVl6OUorNFpNb1pIbHpPSnYrR0FoTkNOaG4ydllHSXVZb3FkL0ZIUDJ6eDVmRzRwUC9BdHpIOTQzUnFRN3N0K2ciLDk2MDcxOiJzaGEzODQtQkVBY2tKcFkxT29BZ0hNcldwL0ViRnhiL1lNbXl2RDdmWUtZVjVZZys1NjUxeGZkczRWUEphclRMTWNuUHN3ZiIsOTYyMTg6InNoYTM4NC13TTcrMlpFN2cwS3R5cmJVU3padTRGSzZrcEs5UE85TlRtVlNCczRON0lEaHJTZFY0VHY5ZTdJM3hKZkVpbTFXIiw5NjY2MDoic2hhMzg0LUJmcFB5cVk1L0paV24xcEtIaDczVDRZcHJPWWtVYUtRRzRaSjhRRUxnWklOTm1vdGF2Tm5zbDltOGZ2RDBhSDEiLDk2Nzc1OiJzaGEzODQtMHpOOWp0MU1HeGJxQktyTHhDdmZyYjRybTZMelRZMTB1ZktnVHZzZmtmWldMM1R2QlV0SHN0TEhJRGZ0ZG9pSSIsOTY4NDE6InNoYTM4NC01VnJWbS9rMExNZW01QzBYc0RTMWNGaTJOUjRaeWl2OExCVlUzdDQzdGMyeHh4Vi9mL3RxdHo1cGkyZHB2SnBnIiw5NjkxMzoic2hhMzg0LUR1SDdBSSt3MDEzUGpLTFFwMWlvTHFEMHZWWEVXN3Iyd1pFYjl6Z0hCZFY5TW8xSFdJZEJGcW1LbkN5Zk95TEciLDk2OTE4OiJzaGEzODQtdzkxc1NLS2gwMzFVb09ORStzUXRvcVBYekVpMWFGaXc4Z3kvckNwcEhZaTlXZ3kvZkJaOGhMNXUvVnI2SmZsRCIsOTY5MjE6InNoYTM4NC1vdzh5RFNKWmJvNlRkUXJzVU5sZXlWUHczanhNVC9LSkJySEk0MTN0L2thRWN1YVJXSk9XZ283aDE1SVJHSDFtIiw5Njk4Mjoic2hhMzg0LVJLelhrSWVuaDBEUVBxclFxV2w4NE9vMHlxSFBCb2cwSUFaSGpKTVduc2w0eUMrK1BuY1daQm80SXA5RmNJSzkiLDk3MDgzOiJzaGEzODQtRk5rWld4SExScEpGMkNsSlJLdi9TaXpzNEJRcG5yWUo3QnlyMHliNjQ2ZUFhOEtEN28rcHBXVWJQWnQ2bmQ0byIsOTcyMzI6InNoYTM4NC1jM1A2eFp6blFDOFF6NnNlM3BXQnVTaExheXVKd3VQV0hyeXY1cGN3TmZIMGN4Zml1YjVKdkhIMmhpRGk0SkpKIiw5NzMyMjoic2hhMzg0LUpKK010ODhXRlNYS3VaaFdtazk0NHlrZitFZTNXY3c5Nm93WXp2WUFGMTBidXFKSS94Q2hhNUV4NDNTSEJHbUQiLDk3MzU0OiJzaGEzODQtNjF1ZU01Q2hvaFlpOTBUZGFOWVBadXRZQUcraldLVGViYTlsUEJUY0dNb2ZDdmpzYUxJVkxUNTVZUUFhYUdsSyIsOTc1MzI6InNoYTM4NC1adW5BaTVCOFNUNEdTeFc5QUdydUtiQjlmTVNZSzFXUnMzZ2R4WlhRRmJsVGhwVHREcmpLYVdSSzJXc1FVeTRiIiw5NzYwMjoic2hhMzg0LVVLZDBkWDUwOUNwd0xyN2NUa1B6bmlGdzRBaEJ2YmFZRmNWRmlBZUJ6YU1LSVZpSTd5YXpOV0I2M3dCdnNWdVMiLDk3NzEzOiJzaGEzODQtRXFUK2kzbFVLUHVQMjd2Y21wVjVSeTN5a0Z2S1dVVEdtQjZXb2NCNU1yUGJIUnRoZU9CRS9DQVFrSkRRZk5NdSIsOTc3Mzc6InNoYTM4NC1zSEo5TVJiV1gycit2RTZDUnlGeFdHRzBaUU45ZVpsQTJjRVprMGJHcGlJS1BmSzJhckF3ZW5qQkFOYnZGRHBFIiw5NzgwMDoic2hhMzg0LXZJcDQraXVuYXBPQVRYdmhaMHdNTDl5eVdPVDgxWnpWQWlNWWZ6aUVBWC9rYjFOSnNXYWplWUxsOVZHS0YrODAiLDk3ODY2OiJzaGEzODQtQmE1QUNrRDQ2UXQ3Y3cyaVlNUXo1eGtnRDhkK09lY2FERHVxMG1SK3hZallMelpEaWdqZ3hLUzIzTmFOZjBCTSIsOTc4NzE6InNoYTM4NC1Tb1U1Y3hDS00yTE9hSEJBWkxyc0J1cDkzOFRUR2tHTWtHSnQxY1dwRUNHekU4SHBLcVRPU1QvTU5Td1RhcjlHIiw5Nzg5NToic2hhMzg0LTRWZjU4aHpqU0J0VnVEL0NDakU5bEJkdkJUcG4wSkxhK2N2Qms2bmsxM3F0eEhQbFpaRGFwWk81WnZka29zS3AiLDk3ODk3OiJzaGEzODQtaTBEeHlxQVZXMlJEQVZYMjFUQzk3QlU1dk9IUjNpUkFGUERZVStVNDNObm42MTdPZDU1Q3lUOG5wV01nMFNoZiIsOTg0ODU6InNoYTM4NC1sMi9RdmFrNEp6UFlQbExaZEkyT1N3YTMwNXYvaTlsbG5Fb1JaVW1MRTd4M1A2QTVWWlh2WHJkdUFpT0dkbEJSIiw5ODU5ODoic2hhMzg0LS9IWUR4SmdPVlNnTEVVcWIwVnN0bG1pOWQvZkQ3MEJaWk9tRmx2R1ZQVm53ZURqU2JGcG11UDkxVksyUHFmOUUiLDk4Njk5OiJzaGEzODQtUFd5NWlJTmw4dzRwNHVqNG9ndzBLV1FJb0dHNzhiYVlMcDNSa2VXWWZhZGJmb3VJOG1ISVhMVEFvUmtsaTkzViIsOTg3MTA6InNoYTM4NC1FaVdzeVh5YWtzemdNWDNFYWZEUFFtZWlNb1lnVTQ4blJ3REQrd0k4KzIvWG9HeUN4cFZuRjR0ZDVWTGtENE84Iiw5OTAzODoic2hhMzg0LXd4bE9jZ3hkeW1KTGRtUmZaQ1U3Kzh6UVZZWTl3dUdvY21yVEVWK3YvdUJFdmR4TE4wekY4QkI4QnlURW5uRHMiLDk5MjI0OiJzaGEzODQtcjFKeUxGUzh4SGk0QlVVbFQ2aUxPRzkwL2NVTjJMSGhzdnJ1OThQd01YK1hVVU9PVDF4Y2RiQjF0OHhvcmIvMiIsOTkzMzM6InNoYTM4NC1nMS8rU0t3cWZzbUJ1d3hVeWhxaWRTdW1Ra3FOdG1ndldSNWZoelgxWm5Fdkt0eS9HZmNvbktoTzlZK2s2c3ZCIiw5OTM2Mjoic2hhMzg0LUprWGpNcGgrZldxNXJXQnpoZkdma254OXdmQ3o3Q1lkVjJjSmNNVnpzNTBlaUIwcE5OS0VyQXhiOWo5SzJFMVMiLDk5NDE3OiJzaGEzODQtYk1nUjJPYkU1elBqbTBoVG1EOHhXejZBNzl3Qm9QQWFtd0ZjNWsySW1HakJ6eXIrSDZKR09UUVZZaGpHbEw5UyIsOTk0Mjk6InNoYTM4NC1UWmhqOXJ0SW1kbCtrYWcvWDBOWENNNmtISzFQTWJuZnVyS0NscHNETHZNOHU4VXFwdTJkU1FRcDRCY2VOL3NrIiw5OTQ1ODoic2hhMzg0LWozODR5cXZNTGpJRHE2ckNNYmxPMW5IS2hYWXN4b2VyYjdycm9JNXM2bkNrWWlPaHgxeEIzWnBzMFpWa1N3b0YiLDk5NTQ5OiJzaGEzODQtV05Ra1ZLNks0d2Fvd0xOcTFxMWNvMUZhdElNcnVMV3dHU0VYenl3RGxjZzA4NGcvVU9YNDBIWWdKMDBONy9hKyIsOTk1ODk6InNoYTM4NC13ckN4YmRLRHBObGtrRXU1TTFiN3I2YUhMTkpPMjBCbEJCWHcvMDNmZVZkbjgxVDhmcDBYZFdRbFcxV21LWEFSIiw5OTc1NDoic2hhMzg0LUNiQW1JMW5oc1NFanJmazE0TENoeW8vTVoxdDJZWjJuMVB3cEk4WXVFZ1RJRU93dGlyb1J2cjVXMzBXdDV1b3QiLDk5ODQ5OiJzaGEzODQtU1cyNThPRGZZUlJjZEx3dER2b2Nkdk1Kd2tIZU9vUFdSRnBwUFBHQU1waGhpOTNhcGRjWXRYOGdiVEpqbzZ4TyIsOTk4Njc6InNoYTM4NC1tSDIvbXdmWW9FNG16Tkpta0FHZ2NycGNSK1lBd3VIWGlpVy9oTFh5MVFraGV3MVZsbDR5bWRaVzBHMWVWVzBhIiw5OTkwMjoic2hhMzg0LUNmYnVKaHJMRG5yejM4NnRQWHFpd2E2TXJ1R0x6V1U1azR2bUwxeHBCNVRpTWwrMzRLcThsSThSd1IxaFpXWEsiLDk5OTgyOiJzaGEzODQtT09VSGtIcGNBMXQ4K2VGaDZKOTZjTmRxWkJXTVdQbExWVXNCOGx1NUVLa2JEbUQ5U256MEp1aWRmZlQ2M1NiZCIsOTk5OTU6InNoYTM4NC11aWdPOHVnZGxxK294SGJjdDZycVNOT245VXg2WW53cUQ4V3BMSEJKWkcxVFRUTmxGRjgvQUh4b2paZEZqRnpPIn07dmFyIHM9InVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudHx8IkFHMDgiIT09KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT0nZW52aXJvbm1lbnQnXSIpJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW25hbWU9J2Vudmlyb25tZW50J10iKS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKSkmJiJBRzA5IiE9PShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW25hbWU9J2Vudmlyb25tZW50J10iKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigibWV0YVtuYW1lPSdlbnZpcm9ubWVudCddIikuZ2V0QXR0cmlidXRlKCJjb250ZW50IikpP1tdOlsiLi4vcmVzb3VyY2VzL2xvY2FsZS1jb25zb2xpZGF0ZWQvW2xvY2FsZV0vb3dhLmNvbnNvbGlkYXRlZC5tYWlsaW5kZXguanNvbiJdLHU9W107c2VsZi5fbG9jU3RyaW5ncz17YWRkTG9jc3RyaW5nQXNzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHMucHVzaChlKSxQcm9taXNlLmFsbCh1Lm1hcCgoZnVuY3Rpb24obil7cmV0dXJuIG4uaGFuZGxlcihhLnArZS5yZXBsYWNlKC9cW2xvY2FsZVxdL2csbi5sb2NhbGUpKX0pKSl9LHJlZ2lzdGVySGFuZGxlcjpmdW5jdGlvbihlLG4pe3JldHVybiB1LnB1c2goe2xvY2FsZTplLGhhbmRsZXI6bn0pLFByb21pc2UuYWxsKHMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbihhLnArdC5yZXBsYWNlKC9cW2xvY2FsZVxdL2csZSkpfSkpKX0sdW5yZWdpc3RlckhhbmRsZXI6ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHQ9MDt0PHU7dCsrKWlmKHVbdF0ubG9jYWxlPT09ZSYmdS5oYW5kbGVyPT1uKXJldHVybiB2b2lkIHUuc3BsaWNlKHQsMSl9fTt2YXIgYyxsLEgsZD17NDI6NDIsMjEyOjIxMiw2NDE6NjQxLDcxMTo3MTEsOTc2Ojk3NiwxMTMyOjExMzIsMTI1NjoiUmVhZGluZ1BhbmVDb252ZXJzYXRpb24iLDE1NjA6IlNjaGVkdWxpbmdBc3Npc3RhbnQiLDE1ODY6MTU4NiwxNjk3OiJNYWlsQm9vdCIsMTg1NDoxODU0LDE5Mzc6MTkzNywxOTQ2OjE5NDYsMjAwNjoyMDA2LDIwMTc6MjAxNywyNjE3OjI2MTcsMjY0OToyNjQ5LDI3MDY6MjcwNiwyODEwOjI4MTAsMjk5MDoyOTkwLDMxNDI6MzE0MiwzNDgxOjM0ODEsMzcxNjozNzE2LDM5MjE6MzkyMSwzOTQ2OjM5NDYsNDA5NzoiTWFpbENvbXBvc2VQcm9qZWN0aW9uIiw0MjAwOjQyMDAsNDIwNjo0MjA2LDQzNjI6NDM2Miw0NDU4OjQ0NTgsNDU5MDo0NTkwLDQ1OTE6NDU5MSw0NjQxOiJBZGRpbnNNYWlsIiw0NjY0OjQ2NjQsNDY2OTo0NjY5LDQ3NjE6NDc2MSw0ODAyOjQ4MDIsNDg0MDo0ODQwLDQ5MTI6NDkxMiw0OTE4OjQ5MTgsNDk1Njo0OTU2LDUwMzU6NTAzNSw1MTIxOjUxMjEsNTE0MDo1MTQwLDUxODk6NTE4OSw1MjY2OjUyNjYsNTI3MTo1MjcxLDUzNjQ6NTM2NCw1NTgzOjU1ODMsNTY4Nzo1Njg3LDU4NjE6NTg2MSw1OTUzOjU5NTMsNjAxMDo2MDEwLDYyMzg6NjIzOCw2Njk5OiJUb2RvTGlzdCIsNjcxMTo2NzExLDY3Nzc6Njc3Nyw2NzgzOiJDYWxlbmRhclJlYWRpbmdQYW5lUmliYm9uIiw2OTE4OjY5MTgsNjk5Mzo2OTkzLDc0MzA6NzQzMCw3NTYwOjc1NjAsNzY1OTo3NjU5LDc2ODM6NzY4Myw3NzMxOjc3MzEsNzgxODo3ODE4LDc4NzQ6Nzg3NCw4MDUzOjgwNTMsODExMzo4MTEzLDgzNTU6ODM1NSw4MzY4OjgzNjgsODM5MTo4MzkxLDg0MDk6ODQwOSw4NDk4Ojg0OTgsODkwMzo4OTAzLDkxMzg6OTEzOCw5Mjk1OjkyOTUsOTM1MDo5MzUwLDkzNTc6OTM1Nyw5NDM5Ojk0MzksOTgyNzo5ODI3LDk4MzY6OTgzNiwxMDAzMzoxMDAzMywxMDE0NjoxMDE0NiwxMDI1NDoxMDI1NCwxMDYzNzoxMDYzNywxMTA3NzoxMTA3NywxMTE2ODoxMTE2OCwxMTI4MzoiQWNjb3VudHMiLDExNDI2OjExNDI2LDExNjE0OjExNjE0LDExNzc0OjExNzc0LDExOTA1OjExOTA1LDEyMDU3OjEyMDU3LDEyMTQ5OjEyMTQ5LDEyMTc4OjEyMTc4LDEyMjUyOjEyMjUyLDEyNzQ1OjEyNzQ1LDEyNzgzOjEyNzgzLDEyOTk1OjEyOTk1LDEzMDkzOjEzMDkzLDEzMzM1OjEzMzM1LDEzMzY2OjEzMzY2LDEzMzk1OjEzMzk1LDEzNDkwOjEzNDkwLDEzNTExOjEzNTExLDEzODUzOiJDYWxlbmRhclBlZWsiLDEzODcyOjEzODcyLDEzODgzOjEzODgzLDE0MDU5OjE0MDU5LDE0MTI2OjE0MTI2LDE0MTk1OjE0MTk1LDE0MjQwOiJDYWxlbmRhckRlZXBCb290IiwxNDI4NDoiU2hhcmVkQm9vdCIsMTQzMjA6IkNoYW5nZU1vZHVsZSIsMTQzMzU6MTQzMzUsMTQ0NTI6IlJlYWRpbmdQYW5lUHJpbnQiLDE0NzA1OjE0NzA1LDE0OTgwOjE0OTgwLDE1MTM2OjE1MTM2LDE1MzIzOjE1MzIzLDE1NzczOjE1NzczLDE2MDYyOjE2MDYyLDE2MjYxOjE2MjYxLDE2NDU4OiJQb3BvdXQiLDE2NTUxOjE2NTUxLDE2NTk5OjE2NTk5LDE2NzM4OjE2NzM4LDE3MDY2OjE3MDY2LDE3Mjk5OjE3Mjk5LDE3MzQwOjE3MzQwLDE3MzUyOiJDYWxlbmRhckJvb3QiLDE3NjYwOjE3NjYwLDE3Njc0OjE3Njc0LDE3NzYzOjE3NzYzLDE3ODcxOjE3ODcxLDE3OTI3OjE3OTI3LDE4MTQ1OiJDYWxlbmRhckNvbW1hbmRpbmdPcmNoZXN0cmF0aW9uIiwxODE1ODoxODE1OCwxODI0MjoxODI0MiwxODQxOToxODQxOSwxODc1OToxODc1OSwxODkxMDoiUGxhY2VzQm9vdCIsMTkwMDQ6MTkwMDQsMTkxMjE6MTkxMjEsMTkxNDk6MTkxNDksMTkxOTc6MTkxOTcsMTkyMTI6MTkyMTIsMTk1Mjg6MTk1MjgsMTk2Nzk6MTk2NzksMTk3MTY6MTk3MTYsMTk5MTA6MTk5MTAsMTk5MTI6MTk5MTIsMjAwMjE6IlRpbWVQYW5lbCIsMjAwMzc6MjAwMzcsMjAxNTM6MjAxNTMsMjAxNTc6MjAxNTcsMjAyNTc6MjAyNTcsMjAzMzU6MjAzMzUsMjAzMzg6MjAzMzgsMjA3MDM6MjA3MDMsMjA3MzM6IkZpbGVzQm9vdCIsMjA4NDA6MjA4NDAsMjA4OTI6MjA4OTIsMjA5MDg6MjA5MDgsMjEwMjg6MjEwMjgsMjEyNjY6MjEyNjYsMjEzNTM6MjEzNTMsMjEzODY6MjEzODYsMjE1NTc6MjE1NTcsMjE2MDY6MjE2MDYsMjE5NzI6MjE5NzIsMjIxOTc6MjIxOTcsMjIzMjY6MjIzMjYsMjI1MDU6IkNhbGVuZGFyUmVhZGluZ1BhbmVBY3Rpb25zIiwyMjUzNjoyMjUzNiwyMjU0MjoiVGltZVBhbmVsRXZlbnREZXRhaWxzIiwyMjY2MjoyMjY2MiwyMjcyMzoyMjcyMywyMjc3MjoyMjc3MiwyMzEzMzoyMzEzMywyMzI5ODoyMzI5OCwyMzQxMjoiQWRkaW5zQ29yZSIsMjM0NTU6MjM0NTUsMjM0OTk6MjM0OTksMjM1NDc6MjM1NDcsMjM2NDk6MjM2NDksMjM3NTc6MjM3NTcsMjM4Mjk6MjM4MjksMjM5NjI6MjM5NjIsMjQzODk6MjQzODksMjQ0OTU6MjQ0OTUsMjQ3MzM6MjQ3MzMsMjQ3NDE6MjQ3NDEsMjQ3NzI6IkFkZENhbGVuZGFyc1BhbmUiLDI0ODk1OjI0ODk1LDI1MjA2OjI1MjA2LDI1MjU4OiJDYWxlbmRhclJlYWRpbmdQYW5lIiwyNTQzMjoyNTQzMiwyNTQzMzoiTWFpbENvbXBvc2UiLDI1NjEwOjI1NjEwLDI1NzA3OjI1NzA3LDI1OTUzOjI1OTUzLDI2MDQyOjI2MDQyLDI2MzIwOjI2MzIwLDI2NTkyOjI2NTkyLDI3Mjc2OjI3Mjc2LDI3NDA1OjI3NDA1LDI3NDYxOjI3NDYxLDI3ODQ1OjI3ODQ1LDI3ODc1OjI3ODc1LDI3OTQwOjI3OTQwLDI3OTQ5OjI3OTQ5LDI3OTkzOjI3OTkzLDI4MTUyOjI4MTUyLDI4MjcxOiJMb2NhdGlvbkNhcmRPcHgiLDI4NTM2OjI4NTM2LDI4ODc2OjI4ODc2LDI5MTUyOjI5MTUyLDI5MTk5OjI5MTk5LDI5MjAzOjI5MjAzLDI5MjQ2OiJDYWxlbmRhck1vZHVsZU9yY2hlc3RyYXRpb24iLDI5MjU2OjI5MjU2LDI5NDM1OjI5NDM1LDI5NjExOjI5NjExLDI5NzcxOjI5NzcxLDI5ODQzOjI5ODQzLDI5ODY5OjI5ODY5LDMwMjM3OjMwMjM3LDMwNTE5OjMwNTE5LDMwNzY0OjMwNzY0LDMxNDc1OjMxNDc1LDMxODIyOiJNYWlsUmliYm9uQ29tcG9zZVByb2plY3Rpb24iLDMxODMwOjMxODMwLDMxODc2OjMxODc2LDMxOTQ4OjMxOTQ4LDMyMjQzOjMyMjQzLDMyNTQ5OjMyNTQ5LDMyNjc5OjMyNjc5LDMyOTY3OjMyOTY3LDMzMDI5OjMzMDI5LDMzMTU5OjMzMTU5LDMzMjAwOjMzMjAwLDMzMzU0OjMzMzU0LDMzMzU4OjMzMzU4LDMzNTAxOjMzNTAxLDMzODAzOjMzODAzLDM0MjcxOjM0MjcxLDM0MjkyOjM0MjkyLDM0MzcxOjM0MzcxLDM0NDQ1OjM0NDQ1LDM0NTkzOjM0NTkzLDM0NjU4OjM0NjU4LDM0OTAyOiJDYWxlbmRhckl0ZW1QZWVrIiwzNDk3ODozNDk3OCwzNTA3MzozNTA3MywzNTM0ODozNTM0OCwzNTU2MzozNTU2MywzNTgyNzozNTgyNywzNjIyMTozNjIyMSwzNjIyNTozNjIyNSwzNjIzNTozNjIzNSwzNjMxOTozNjMxOSwzNjY4NjozNjY4NiwzNjczNzozNjczNywzNjgxMjoiQXBwSG9zdEJvb3QiLDM3MTM5OjM3MTM5LDM3MzY3OjM3MzY3LDM3Mzc4OjM3Mzc4LDM3NDU3OjM3NDU3LDM3NTg0OjM3NTg0LDM3OTIyOjM3OTIyLDM4MDYyOiJDYWxlbmRhclN1cmZhY2VJdGVtQ29udGV4dE1lbnVzIiwzODEyNjozODEyNiwzODI1NjozODI1NiwzODI3NTozODI3NSwzODMxMTozODMxMSwzODQ4NTozODQ4NSwzODY4NjozODY4NiwzODg0OTozODg0OSwzODk2NDoiVGltZVBhbmVsQ2FsZW5kYXIiLDM5MDEzOiJUb2RvQ29udGV4dE1lbnUiLDM5MTMyOjM5MTMyLDM5MjA4OjM5MjA4LDM5MjQ5OjM5MjQ5LDM5MjU3OjM5MjU3LDM5MjY2OjM5MjY2LDM5NDEzOjM5NDEzLDM5NjczOjM5NjczLDQwMTM4OjQwMTM4LDQwMTc2OjQwMTc2LDQwMzUwOjQwMzUwLDQwNzk4OjQwNzk4LDQwOTI5OjQwOTI5LDQxMTYxOjQxMTYxLDQxNDM1OjQxNDM1LDQxNTE4OjQxNTE4LDQxODYxOjQxODYxLDQyMzE0OjQyMzE0LDQyNDcwOjQyNDcwLDQyNTI4OjQyNTI4LDQyNzc3OjQyNzc3LDQyNzk0OjQyNzk0LDQyODY4OjQyODY4LDQzMDcwOjQzMDcwLDQzMjE3OjQzMjE3LDQzMjc5OjQzMjc5LDQzMzE0OjQzMzE0LDQzMzUzOiJMb2NhdGlvbkNhcmQiLDQzNjU3OjQzNjU3LDQzNzg5OjQzNzg5LDQ0MDAyOjQ0MDAyLDQ0MDgyOjQ0MDgyLDQ0MzM4OjQ0MzM4LDQ0NDY0OjQ0NDY0LDQ0NTY4OjQ0NTY4LDQ0NjA0OiJNYWlsQ29tcG9zZUFjdGlvbnMiLDQ0ODA5OjQ0ODA5LDQ0ODE1OjQ0ODE1LDQ0ODkwOjQ0ODkwLDQ0OTEyOjQ0OTEyLDQ1MTc5OjQ1MTc5LDQ1Mzc3OjQ1Mzc3LDQ1NTUzOjQ1NTUzLDQ1ODM0OjQ1ODM0LDQ2MDM0OjQ2MDM0LDQ2MTM2OjQ2MTM2LDQ2MzEzOjQ2MzEzLDQ2OTUxOjQ2OTUxLDQ3MDczOjQ3MDczLDQ3MTQ5OjQ3MTQ5LDQ3NDkzOjQ3NDkzLDQ3NjY1OjQ3NjY1LDQ3NzgxOjQ3NzgxLDQ4MDMyOjQ4MDMyLDQ4MTg3OjQ4MTg3LDQ4MjI5OjQ4MjI5LDQ4MjcxOjQ4MjcxLDQ4MzE0OjQ4MzE0LDQ4MzU5OjQ4MzU5LDQ4NjEzOjQ4NjEzLDQ4NjM1OjQ4NjM1LDQ4ODcyOjQ4ODcyLDQ4OTU4OjQ4OTU4LDQ5MDk5OjQ5MDk5LDQ5MjQ3OjQ5MjQ3LDQ5NjkxOjQ5NjkxLDUwMDAzOjUwMDAzLDUwMzA2OjUwMzA2LDUwNDUzOjUwNDUzLDUwOTIzOjUwOTIzLDUxMDYzOjUxMDYzLDUxMTkzOjUxMTkzLDUxMTk0OiJDYWxlbmRhclF1aWNrQ29tcG9zZSIsNTE1MjM6NTE1MjMsNTE2MjY6NTE2MjYsNTE3Mjg6NTE3MjgsNTIwMjU6NTIwMjUsNTIxMzc6NTIxMzcsNTIxNDY6NTIxNDYsNTI1MzE6NTI1MzEsNTI1NDQ6NTI1NDQsNTI4MTY6NTI4MTYsNTI5Mzc6NTI5MzcsNTMwMzQ6NTMwMzQsNTMyMjE6NTMyMjEsNTMzMzM6NTMzMzMsNTM2ODY6NTM2ODYsNTM3NzA6NTM3NzAsNTM5NDI6NTM5NDIsNTM5ODA6NTM5ODAsNTQwNjc6NTQwNjcsNTQyMDI6NTQyMDIsNTQzODM6NTQzODMsNTQ0Njk6NTQ0NjksNTQ2MDc6NTQ2MDcsNTQ2NDU6NTQ2NDUsNTQ3NDI6NTQ3NDIsNTQ3NTM6Ik1haWxMaXN0SXRlbVNpbmdsZUxpbmVWaWV3Iiw1NTA2NTo1NTA2NSw1NTExMDo1NTExMCw1NTI4OTo1NTI4OSw1NTMyMzo1NTMyMyw1NTY4MzoiQ2FsZW5kYXJNb2R1bGVTdGl0Y2hlcyIsNTU3NDE6NTU3NDEsNTU3ODc6NTU3ODcsNTYxMjk6NTYxMjksNTYxNjk6NTYxNjksNTYxODQ6NTYxODQsNTYyNDg6NTYyNDgsNTY1MTI6NTY1MTIsNTY1NjE6Ik93YU0zNjVBY3F1aXNpdGlvbnNDYWNoZSIsNTY1OTY6NTY1OTYsNTY2OTU6NTY2OTUsNTY3NTI6NTY3NTIsNTY5MDY6NTY5MDYsNTczMzk6NTczMzksNTc0MDQ6NTc0MDQsNTc1Mjk6NTc1MjksNTc3MzA6NTc3MzAsNTc3ODk6NTc3ODksNThlMzoiR3JvdXBzQm9vdCIsNTgxOTI6NTgxOTIsNTgzNDc6NTgzNDcsNTgzODU6NTgzODUsNTg4NDc6NTg4NDcsNTkwMjU6NTkwMjUsNTkxNzg6NTkxNzgsNTkyNTc6NTkyNTcsNTkzODI6NTkzODIsNTk3MDc6NTk3MDcsNTk3NDY6NTk3NDYsNTk3NTQ6NTk3NTQsNTk4MDg6NTk4MDgsNTk4NTM6NTk4NTMsNTk5MjI6NTk5MjIsNjAwNjc6IkNhbGVuZGFyQm9va2luZ3NTbG90cyIsNjAyNjQ6NjAyNjQsNjA0Mjc6NjA0MjcsNjA1NjU6NjA1NjUsNjA2MTI6NjA2MTIsNjA2MzM6NjA2MzMsNjA3NjM6IkNhbGVuZGFyQ2FyZCIsNjA5MTM6NjA5MTMsNjEwNDI6NjEwNDIsNjEwOTU6NjEwOTUsNjExOTQ6NjExOTQsNjEyNzE6NjEyNzEsNjE0OTY6NjE0OTYsNjE3Mjk6NjE3MjksNjE3NDE6NjE3NDEsNjE5MDM6NjE5MDMsNjE5NDI6NjE5NDIsNjE5NTU6NjE5NTUsNjE5ODA6NjE5ODAsNjIwMzc6NjIwMzcsNjIwNTM6NjIwNTMsNjIxNDQ6NjIxNDQsNjIxNDY6NjIxNDYsNjIyMjI6NjIyMjIsNjIyNjE6IlJlbGF0ZWRDb250ZW50Iiw2MjQxODo2MjQxOCw2MjQ3NDo2MjQ3NCw2MjUxMTo2MjUxMSw2MjU0NTo2MjU0NSw2MjU4Njo2MjU4Niw2MjYwODo2MjYwOCw2MjcyMjo2MjcyMiw2MzEyNjo2MzEyNiw2MzE1MDo2MzE1MCw2MzQ4Mzo2MzQ4Myw2MzY1ODo2MzY1OCw2MzgzODo2MzgzOCw2Mzg1Mzo2Mzg1Myw2Mzk3MToiQ2FsZW5kYXJJdGVtQ29udGV4dE1lbnUiLDY0MjUyOjY0MjUyLDY0MzIxOjY0MzIxLDY0MzY1OjY0MzY1LDY0NDQ1OjY0NDQ1LDY0NTEwOjY0NTEwLDY0NTg1OjY0NTg1LDY0NjUyOjY0NjUyLDY0OTg1OjY0OTg1LDY1MTQwOjY1MTQwLDY1MTgzOjY1MTgzLDY1MzMwOjY1MzMwLDY1NDM3OjY1NDM3LDY1NDcyOjY1NDcyLDY1NjYwOjY1NjYwLDY1ODQ0OjY1ODQ0LDY2MDMzOjY2MDMzLDY2MTAwOjY2MTAwLDY2MTY4OjY2MTY4LDY2MjA5OjY2MjA5LDY2MzA3OjY2MzA3LDY2NDgxOjY2NDgxLDY2NzY4OjY2NzY4LDY3MzYwOjY3MzYwLDY3NTI4OjY3NTI4LDY3NTg3OiJDYWxlbmRhckJvb2thYmxlVGltZVNoYXJlZCIsNjc4NjU6Njc4NjUsNjc5OTI6Njc5OTIsNjgxNTg6NjgxNTgsNjgyOTQ6NjgyOTQsNjg0NjU6Njg0NjUsNjg1OTM6Njg1OTMsNjg2NDA6Njg2NDAsNjg2NjE6Njg2NjEsNjg3NDc6Njg3NDcsNjg5OTQ6Njg5OTQsNjkyNjc6NjkyNjcsNjkyNzY6NjkyNzYsNjkzODU6Ik1haWxDb21tYW5kQWN0aW9ucyIsNjk0NzQ6Njk0NzQsNjk1NDk6Njk1NDksNjk1NTQ6Njk1NTQsNjk2MDE6Njk2MDEsNjk2MzM6Njk2MzMsNjk3MDY6Njk3MDYsNjk4NDE6Njk4NDEsNjk5MTg6Njk5MTgsNzA0MzA6NzA0MzAsNzA0NzE6NzA0NzEsNzA2Nzg6NzA2NzgsNzA3ODI6NzA3ODIsNzEwNDY6IkNhbGVuZGFyQm9hcmRRdWlja1N3aXRjaGVyIiw3MTE4ODo3MTE4OCw3MTQxODo3MTQxOCw3MTQ4Nzo3MTQ4Nyw3MTY2Nzo3MTY2Nyw3MTY4Mjo3MTY4Miw3MTg0Nzo3MTg0Nyw3MTg0ODo3MTg0OCw3MTkxMjo3MTkxMiw3MTkxNzo3MTkxNyw3MTk2Nzo3MTk2Nyw3MTk4Mjo3MTk4Miw3MjM0Mjo3MjM0Miw3MjQ1MDo3MjQ1MCw3MjY4MDo3MjY4MCw3Mjc3ODo3Mjc3OCw3Mjc5ODo3Mjc5OCw3Mjk1Nzo3Mjk1Nyw3Mjk4Nzo3Mjk4Nyw3MzExNjoiQ2FsZW5kYXJGdWxsQ29tcG9zZVJpYmJvbiIsNzM4MDc6NzM4MDcsNzM5NTQ6NzM5NTQsNzQxMjA6NzQxMjAsNzQzMDE6IlJlYWRpbmdQYW5lIiw3NDY2Mzo3NDY2Myw3NDc5Mzo3NDc5Myw3NDkyODo3NDkyOCw3NTA4Njo3NTA4Niw3NTEwNzo3NTEwNyw3NTIyMzo3NTIyMyw3NTI1NTo3NTI1NSw3NTg2MTo3NTg2MSw3NTkzMTo3NTkzMSw3NTk4Njo3NTk4Niw3NjExMjoiQ2FsZW5kYXJCb2FyZENvbnRleHRNZW51Iiw3NjI0Njo3NjI0Niw3NjI1Njo3NjI1Niw3NjM4Mjo3NjM4Miw3NjQ5OTo3NjQ5OSw3Njg4Njo3Njg4Niw3Njk3Mjo3Njk3Miw3NzE2Nzo3NzE2Nyw3NzIxODo3NzIxOCw3NzM4Nzo3NzM4Nyw3NzYzNDo3NzYzNCw3Nzc1Mzo3Nzc1Myw3ODAwMToiUmVsYXRlZENvbnRlbnRJbnNpZ2h0c09weCIsNzgxNjE6NzgxNjEsNzgyNTA6NzgyNTAsNzg1MzM6Nzg1MzMsNzg3Mzg6Nzg3MzgsNzg3ODU6Nzg3ODUsNzg5Mzk6Nzg5MzksNzg5OTc6Nzg5OTcsNzkwMDk6IlJlYWRpbmdQYW5lSXRlbSIsNzkyMDM6NzkyMDMsNzkyNDk6NzkyNDksNzkyNzE6NzkyNzEsNzk1Mjc6Nzk1MjcsNzk4NDA6Nzk4NDAsNzk5NjE6Nzk5NjEsODAyNTE6ODAyNTEsODAzMjk6ODAzMjksODA4Mjg6ODA4MjgsODA5MjI6ODA5MjIsODExMjQ6Ik1haWxSaWJib25SZWFkUHJvamVjdGlvbiIsODEyMDY6ODEyMDYsODEyNTc6ODEyNTcsODEzNTM6ODEzNTMsODE1NTE6ODE1NTEsODE4MDU6ODE4MDUsODE4NjM6ODE4NjMsODIwMjQ6ODIwMjQsODIwMzg6ODIwMzgsODIyMjE6ODIyMjEsODIyNzI6ODIyNzIsODI0MjE6ODI0MjEsODI0NjY6ODI0NjYsODI4MDU6ODI4MDUsODMxNTg6ODMxNTgsODMyMDg6ODMyMDgsODMyODM6ODMyODMsODMzMDE6ODMzMDEsODMzNTQ6ODMzNTQsODM1MjI6ODM1MjIsODM1MzU6ODM1MzUsODM4MDM6ODM4MDMsODM4NTA6ODM4NTAsODM4NTM6ODM4NTMsODM5NTM6IlJvb21TZWxlY3RvciIsODQxODk6ODQxODksODQyNDU6ODQyNDUsODQyNzk6ODQyNzksODQ0MjQ6ODQ0MjQsODQ2NzQ6ODQ2NzQsODQ2ODk6ODQ2ODksODQ3MzA6ODQ3MzAsODQ5Mzg6IkNhbGVuZGFyQm9hcmQiLDg0OTg2Ojg0OTg2LDg1MDk1Ojg1MDk1LDg1MTE0Ojg1MTE0LDg1MTM5Ojg1MTM5LDg1NDg1Ojg1NDg1LDg1NTUxOjg1NTUxLDg1ODI5OiJNYWlsRnVuY3Rpb25hbEJvb3QiLDg1ODg5Ojg1ODg5LDg1OTYxOjg1OTYxLDg2MDA1Ojg2MDA1LDg2MDk4Ojg2MDk4LDg2NTU5Ojg2NTU5LDg2ODQ2Ojg2ODQ2LDg3MDk4Ojg3MDk4LDg3NTM5Ojg3NTM5LDg3NzgwOjg3NzgwLDg3ODM5Ojg3ODM5LDg4MzIyOjg4MzIyLDg4NDQ1Ojg4NDQ1LDg4NTAyOjg4NTAyLDg4NzY2Ojg4NzY2LDg4ODI1Ojg4ODI1LDg4ODU5Ojg4ODU5LDg4OTM4Ojg4OTM4LDg5MDE1Ojg5MDE1LDg5MTE3Ojg5MTE3LDg5MTIwOjg5MTIwLDg5MTI1Ojg5MTI1LDg5MjI1Ojg5MjI1LDg5MjY0Ojg5MjY0LDg5NDIwOjg5NDIwLDg5NDg0Ojg5NDg0LDg5Nzg4Ojg5Nzg4LDkwMTY1OjkwMTY1LDkwMTk1OjkwMTk1LDkwMjA3OjkwMjA3LDkwMzYwOjkwMzYwLDkwMzgzOjkwMzgzLDkwMzk3OiJQZW9wbGVCb290Iiw5MDU5MTo5MDU5MSw5MTE4MDo5MTE4MCw5MTMwNjoiQ2FsZW5kYXJGdWxsQ29tcG9zZSIsOTE0Mjc6OTE0MjcsOTE0MzM6OTE0MzMsOTE4MjA6OTE4MjAsOTIwMzE6OTIwMzEsOTIwOTI6OTIwOTIsOTIyNjE6IkNhbGVuZGFyQm9hcmRBc3NldHMiLDkyMzYyOjkyMzYyLDkyNzA2OjkyNzA2LDkyNzI2OjkyNzI2LDkyNzI5OjkyNzI5LDkyNzUzOjkyNzUzLDkzMTIzOjkzMTIzLDkzMjI3OjkzMjI3LDkzMjQyOjkzMjQyLDkzMjk2OjkzMjk2LDkzNDIzOjkzNDIzLDkzNDcyOjkzNDcyLDkzNTk1OjkzNTk1LDkzNjA0OjkzNjA0LDkzNzU4OjkzNzU4LDkzODMyOjkzODMyLDk0Mzg1Ojk0Mzg1LDk0NDAyOjk0NDAyLDk0NDY5Ojk0NDY5LDk0NTI0OiJNYWlsTGlzdEl0ZW1Db250ZXh0TWVudSIsOTQ2MzA6OTQ2MzAsOTQ4OTU6OTQ4OTUsOTUxMjM6OTUxMjMsOTUxNzE6OTUxNzEsOTUyMjI6OTUyMjIsOTU2MjY6OTU2MjYsOTU4Mzg6OTU4MzgsOTU4NDg6OTU4NDgsOTU4NzU6Ik1haWxEZWVwQm9vdCIsOTU4OTk6OTU4OTksOTYwNzE6OTYwNzEsOTYxODk6OTYxODksOTY2NDg6OTY2NDgsOTY3NzU6OTY3NzUsOTY4NDE6OTY4NDEsOTY5MTM6OTY5MTMsOTcwODM6IlR4cCIsOTcxNTE6OTcxNTEsOTcyMzI6OTcyMzIsOTczMjI6OTczMjIsOTczNTQ6OTczNTQsOTc2MDI6OTc2MDIsOTc3Mzc6OTc3MzcsOTc4MDA6Ik1haWxMaXN0SXRlbVRocmVlQ29sdW1uVmlldyIsOTc4MjM6OTc4MjMsOTc4OTU6OTc4OTUsOTc4OTc6OTc4OTcsOTc5Mjc6OTc5MjcsOTgwMDQ6OTgwMDQsOTgwMTc6OTgwMTcsOTgwODA6OTgwODAsOTgyOTI6OTgyOTIsOTg1OTI6OTg1OTIsOTg1OTg6OTg1OTgsOTg3OTY6OTg3OTYsOTkwMzg6OTkwMzgsOTkyMjQ6OTkyMjQsOTkzMzM6OTkzMzMsOTkzNDQ6OTkzNDQsOTk0Mjk6OTk0MjksOTk4Njc6OTk4NjcsOTk5MDI6OTk5MDIsOTk5OTU6OTk5OTV9O2EuZi5jb21wYXQ9KGUsbik9PnsoInVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudHx8IkFHMDgiIT09KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT0nZW52aXJvbm1lbnQnXSIpJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW25hbWU9J2Vudmlyb25tZW50J10iKS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKSkmJiJBRzA5IiE9PShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJtZXRhW25hbWU9J2Vudmlyb25tZW50J10iKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigibWV0YVtuYW1lPSdlbnZpcm9ubWVudCddIikuZ2V0QXR0cmlidXRlKCJjb250ZW50IikpKSYmZFtlXSYmbi5wdXNoKHNlbGYuX2xvY1N0cmluZ3MuYWRkTG9jc3RyaW5nQXNzZXQoIi4uL3Jlc291cmNlcy9sb2NhbGUvW2xvY2FsZV0vb3dhLltuYW1lXS5qc29uIi5yZXBsYWNlKC9cW25hbWVcXS9nLGRbZV18fGUpKSl9LCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZi5ib290c3RyYXBPcHRpb25zJiZzZWxmLmJvb3RzdHJhcE9wdGlvbnMuc2NyaXB0QmFzZVVybCYmKGEucD1zZWxmLmJvb3RzdHJhcE9wdGlvbnMuc2NyaXB0QmFzZVVybCksYz1lPT5uZXcgUHJvbWlzZSgoKG4sdCk9Pnt2YXIgcj1hLm1pbmlDc3NGKGUpLG89YS5wK3I7aWYoKChlLG4pPT57Zm9yKHZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz0oYT10W3JdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpfHxhLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKCJzdHlsZXNoZWV0Ij09PWEucmVsJiYobz09PWV8fG89PT1uKSlyZXR1cm4gYX12YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3R5bGUiKTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKXt2YXIgYTtpZigobz0oYT1pW3JdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKT09PWV8fG89PT1uKXJldHVybiBhfX0pKHIsbykpcmV0dXJuIG4oKTsoKGUsbix0LHIpPT57dmFyIG8saT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7aS5yZWw9InN0eWxlc2hlZXQiLGkudHlwZT0idGV4dC9jc3MiLGkub25lcnJvcj1pLm9ubG9hZD1vPT57aWYoaS5vbmVycm9yPWkub25sb2FkPW51bGwsImxvYWQiPT09by50eXBlKXQoKTtlbHNle3ZhciBhPW8mJigibG9hZCI9PT1vLnR5cGU/Im1pc3NpbmciOm8udHlwZSkscz1vJiZvLnRhcmdldCYmby50YXJnZXQuaHJlZnx8bix1PW5ldyBFcnJvcigiTG9hZGluZyBDU1MgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrcysiKSIpO3UuY29kZT0iQ1NTX0NIVU5LX0xPQURfRkFJTEVEIix1LnR5cGU9YSx1LnJlcXVlc3Q9cyxpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSkscih1KX19LGkuaHJlZj1uLDAhPT1pLmhyZWYuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihpLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxvPWksc2VsZi5jc3NMaW5rQXBwZW5kP3NlbGYuY3NzTGlua0FwcGVuZChvKTooc2VsZi5jc3NMaW5rQ2FjaGVkPXNlbGYuY3NzTGlua0NhY2hlZHx8W10sc2VsZi5jc3NMaW5rQ2FjaGVkLnB1c2gobyksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChvKSl9KShlLG8sbix0KX0pKSxsPXs4NjA4ODowLDI4NzMzOjB9LGEuZi5taW5pQ3NzPShlLG4pPT57bFtlXT9uLnB1c2gobFtlXSk6MCE9PWxbZV0mJnsyMTI6MSw3MTE6MSwxMTMyOjEsMTI1NjoxLDE1NjA6MSwxNTg2OjEsMTY5NzoxLDE4NTQ6MSwxOTQ2OjEsMjAxNzoxLDI1MjM6MSwyNjE3OjEsMjY0OToxLDI5OTA6MSwzMDMzOjEsMzE0MjoxLDM0ODE6MSwzOTIxOjEsNDA5NzoxLDQxMzA6MSw0MjAwOjEsNDIwNjoxLDQzNjI6MSw0NTkwOjEsNDU5MToxLDQ2NDE6MSw0NjY0OjEsNDc2MToxLDQ4MDI6MSw0OTU2OjEsNTAzNToxLDUxODk6MSw1MzY0OjEsNTY4NzoxLDU4NjE6MSw1OTUzOjEsNjIzODoxLDY2OTk6MSw2NzExOjEsNjc3NzoxLDY3ODM6MSw3MjY2OjEsNzQzMDoxLDc2ODM6MSw4MTEzOjEsODM1NToxLDgzNjg6MSw4MzkxOjEsODQwOToxLDg3NTk6MSw5MDA0OjEsOTM1MDoxLDk0Mzk6MSwxMDAzMzoxLDEwMTQ2OjEsMTA2Mzc6MSwxMTA3NzoxLDExMTY4OjEsMTEyODM6MSwxMTQyNjoxLDExNjE0OjEsMTE3NzQ6MSwxMTg2NjoxLDExOTA1OjEsMTE5NTc6MSwxMjA1NzoxLDEyMTQ5OjEsMTIxNzg6MSwxMjM1MjoxLDEyNTI5OjEsMTI3NDU6MSwxMjc4MzoxLDEyOTk1OjEsMTMzMzU6MSwxMzM2NjoxLDEzMzk1OjEsMTM0OTA6MSwxMzUxMToxLDEzODUzOjEsMTM4NzI6MSwxNDAyNToxLDE0MDU5OjEsMTQyNDA6MSwxNDI4NDoxLDE0NDUyOjEsMTQ5MjI6MSwxNDk4MDoxLDE1MTM2OjEsMTUzMjM6MSwxNTc3MzoxLDE2MjYxOjEsMTY1NTE6MSwxNjU5OToxLDE2NzM4OjEsMTcwNjY6MSwxNzM0MDoxLDE3MzUyOjEsMTc2NjA6MSwxNzY3NDoxLDE3ODcxOjEsMTgxNDU6MSwxODI0MjoxLDE4NzU5OjEsMTg5MTA6MSwxOTE5NzoxLDE5MjY2OjEsMTk1Mjg6MSwxOTY3OToxLDIwMDIxOjEsMjAwMzc6MSwyMDE1MzoxLDIwMTU3OjEsMjAyNTc6MSwyMDMzNToxLDIwMzM4OjEsMjA1MTA6MSwyMDczMzoxLDIwODE1OjEsMjA4OTI6MSwyMDkwODoxLDIxMTM2OjEsMjEyNjY6MSwyMTM1MzoxLDIxNTU3OjEsMjE1NTg6MSwyMTYwNjoxLDIxOTEyOjEsMjE5NzI6MSwyMjMyNjoxLDIyNTA1OjEsMjI1NDI6MSwyMjY2MjoxLDIyNzcyOjEsMjM0MTI6MSwyMzY0OToxLDIzNzU3OjEsMjM4Mjk6MSwyMzk2MjoxLDI0MDEwOjEsMjQzODk6MSwyNDM5NDoxLDI0NzMzOjEsMjQ3NDE6MSwyNDc3MjoxLDI0ODk1OjEsMjUyNTg6MSwyNTQzMzoxLDI1OTUzOjEsMjY1OTI6MSwyNzI3NjoxLDI3NDA1OjEsMjc0NjE6MSwyNzQ4MToxLDI4MTUyOjEsMjgyNzE6MSwyODUzNjoxLDI4ODc2OjEsMjkxNTI6MSwyOTE5OToxLDI5MjAzOjEsMjkyNDY6MSwyOTI1NjoxLDI5NzcxOjEsMjk4NDM6MSwyOTg2NDoxLDI5OTgwOjEsMzAyMzc6MSwzMDUxOToxLDMwNzY0OjEsMzE2OTQ6MSwzMTgyMjoxLDMxODc2OjEsMzE5MjA6MSwzMTk0ODoxLDMyMTY2OjEsMzIyNDM6MSwzMjMwMToxLDMyNjc5OjEsMzI4MTM6MSwzMjg5NjoxLDMyOTY3OjEsMzMwMjk6MSwzMzE1OToxLDMzMjAwOjEsMzMzNTg6MSwzMzUwMToxLDMzODAzOjEsMzQyNzE6MSwzNDM3MToxLDM0NDQ1OjEsMzQ1OTM6MSwzNDkwMjoxLDM0OTc4OjEsMzUwNzM6MSwzNTM0ODoxLDM1NTYzOjEsMzU5OTQ6MSwzNjExMjoxLDM2MjIxOjEsMzYyMjU6MSwzNjIzNToxLDM2Njg2OjEsMzY3Mzc6MSwzNjgxMjoxLDM3MzY3OjEsMzc5MjI6MSwzODEyNjoxLDM4MjU2OjEsMzgyNzU6MSwzODMxMToxLDM4NDUwOjEsMzg2MzQ6MSwzODg0OToxLDM4OTY0OjEsMzkwMTM6MSwzOTIwODoxLDM5MjQ5OjEsMzkyNTc6MSwzOTI2NjoxLDM5NDEzOjEsMzk2NzM6MSwzOTg3NjoxLDM5OTU4OjEsNDAxNzY6MSw0MDMyMjoxLDQwMzUwOjEsNDA2Mzk6MSw0MDkyOToxLDQxMTYxOjEsNDE0MzU6MSw0MTg2MToxLDQyMzE0OjEsNDI0NzA6MSw0MjUyODoxLDQyNzc3OjEsNDI3OTQ6MSw0Mjg2ODoxLDQzMjE3OjEsNDMzNTM6MSw0MzY1NzoxLDQzOTA2OjEsNDQwMDI6MSw0NDMzODoxLDQ0NDY0OjEsNDQ2MDQ6MSw0NDc2MzoxLDQ0ODA5OjEsNDQ4OTA6MSw0NDkxMjoxLDQ1MTc5OjEsNDUzNzc6MSw0NTQzOToxLDQ1ODM0OjEsNDYxMjE6MSw0NjEzNjoxLDQ2MjAxOjEsNDYzMTM6MSw0NjcxMzoxLDQ2ODU3OjEsNDY4OTg6MSw0NzA3MzoxLDQ3MTQ5OjEsNDc0OTM6MSw0NzY2NToxLDQ4MjI5OjEsNDgzMTQ6MSw0ODM1OToxLDQ4ODM0OjEsNDg5NTg6MSw0OTA5OToxLDQ5MjQ3OjEsNTAwMDM6MSw1MDMwNjoxLDUwOTIzOjEsNTExOTQ6MSw1MTYyNjoxLDUxNjkzOjEsNTE3Mjg6MSw1MjAwMjoxLDUyMDI1OjEsNTIxMzc6MSw1MjQxNToxLDUyNTMxOjEsNTI1Njg6MSw1MjgxNjoxLDUyOTM3OjEsNTMwMzQ6MSw1MzIyMToxLDUzNjg2OjEsNTM3MzY6MSw1Mzc3MDoxLDUzODg2OjEsNTM5NDI6MSw1Mzk4MDoxLDU0MjAyOjEsNTQ0Njk6MSw1NDY0NToxLDU0NzQyOjEsNTQ3NTM6MSw1NTExMDoxLDU1MzIzOjEsNTU2ODM6MSw1NTc0MToxLDU1Nzg3OjEsNTYxMjk6MSw1NjE2OToxLDU2MTg0OjEsNTYyNDg6MSw1NjUxMjoxLDU2NTk2OjEsNTY2OTU6MSw1Njc1MjoxLDU3MTc0OjEsNTczMzk6MSw1NzQwNDoxLDU3NTI5OjEsNTc3MzA6MSw1OGUzOjEsNTgxMTg6MSw1ODI5NDoxLDU4MzQ3OjEsNTgzODU6MSw1OTAyNToxLDU5MjU3OjEsNTk3MDc6MSw1OTc0NjoxLDU5ODA4OjEsNTk5MjI6MSw2MDA2NzoxLDYwMjY0OjEsNjAzMjQ6MSw2MDQyNzoxLDYwNTY1OjEsNjA3NjM6MSw2MTA0MjoxLDYxMDk1OjEsNjExOTE6MSw2MTE5NDoxLDYxNzI5OjEsNjE3NDE6MSw2MTkzMjoxLDYxOTU1OjEsNjIwMzc6MSw2MjA1MzoxLDYyMTQ0OjEsNjIxNDY6MSw2MjIyMjoxLDYyMjYxOjEsNjI0MTg6MSw2MjUxMToxLDYyNjA4OjEsNjI3MjI6MSw2MzE1MDoxLDYzMTYwOjEsNjM0ODM6MSw2MzYyMDoxLDYzNjU4OjEsNjM4NTM6MSw2Mzk3MToxLDY0MjUyOjEsNjQyNzA6MSw2NDMyMToxLDY0MzY1OjEsNjQ0NDU6MSw2NDUxMDoxLDY0NTg1OjEsNjQ2NTI6MSw2NDk4NToxLDY1MTgzOjEsNjUzMzA6MSw2NTY2MDoxLDY1ODQ0OjEsNjU5Mzg6MSw2NjEwMDoxLDY2MzA3OjEsNjY0ODE6MSw2NzA0NjoxLDY3MzYwOjEsNjc1Mjg6MSw2Nzg2NToxLDY3OTkyOjEsNjgxNTg6MSw2ODQ2NToxLDY4NjQwOjEsNjg2NjE6MSw2ODc0NzoxLDY5MjY3OjEsNjkzODU6MSw2OTQ3NDoxLDY5NTU0OjEsNjk2MDE6MSw2OTYzMzoxLDY5ODQxOjEsNjk5MTg6MSw3MDQ3MToxLDcxMDQ2OjEsNzExODg6MSw3MTQ4NzoxLDcxNjY3OjEsNzE2ODI6MSw3MTg0ODoxLDcxOTEyOjEsNzE5Njc6MSw3MTk4MjoxLDcyMzQyOjEsNzI0NTA6MSw3MjY2NzoxLDcyNzc4OjEsNzI3OTg6MSw3Mjk1NzoxLDcyOTg3OjEsNzMxMTY6MSw3MzY0NjoxLDczNjk3OjEsNzM4MDc6MSw3MzgxNDoxLDczOTU0OjEsNzQxMjA6MSw3NDMwMToxLDc0NjYzOjEsNzQ5Mjg6MSw3NTA4NjoxLDc1MTA3OjEsNzUxMTA6MSw3NTI1NToxLDc1ODYxOjEsNzYxMTI6MSw3NjI0NjoxLDc2NjU4OjEsNzY5NzI6MSw3NzE2NzoxLDc3Mzg3OjEsNzc2MTU6MSw3NzYzNDoxLDc4MDAxOjEsNzgxNjE6MSw3ODI1MDoxLDc4NTMzOjEsNzg3Mzg6MSw3ODc4NToxLDc4OTM5OjEsNzg5OTc6MSw3OTAwOToxLDc5MjAzOjEsNzkyNDk6MSw3OTI3MToxLDc5NDY2OjEsNzk1Mjc6MSw3OTY1NzoxLDc5ODQwOjEsNzk4NTM6MSw4MDAwMzoxLDgwMjUxOjEsODAzNDc6MSw4MDQ2OToxLDgwODI4OjEsODA5MjI6MSw4MTEyNDoxLDgxMjA2OjEsODEyNTc6MSw4MTM1MzoxLDgxODA1OjEsODE4NjM6MSw4MjQyMToxLDgyNDY2OjEsODI2MzA6MSw4MjgwNToxLDgzMjA4OjEsODMyODM6MSw4MzM1NDoxLDgzNDMzOjEsODM1MjI6MSw4MzUzNToxLDgzNjE4OjEsODM3NzI6MSw4Mzg1MzoxLDgzOTUzOjEsODQxODk6MSw4NDQyNDoxLDg0Njc0OjEsODQ3MzA6MSw4NDkzODoxLDg1MDk1OjEsODUxMDI6MSw4NTEzOToxLDg1NDg1OjEsODU1NTE6MSw4NTgyOToxLDg1OTYxOjEsODYxMjg6MSw4NjU1OToxLDg2ODQ2OjEsODc4Mzk6MSw4ODMyMjoxLDg4NDQ1OjEsODg2MTU6MSw4ODc2NjoxLDg5MDE1OjEsODkxMTc6MSw4OTEyMDoxLDg5MTI1OjEsODkyMjU6MSw4OTI2NDoxLDg5NDIwOjEsODk0ODQ6MSw4OTc4ODoxLDkwMTY1OjEsOTAxOTU6MSw5MDM4MzoxLDkwMzk3OjEsOTA1OTE6MSw5MTIwMToxLDkxMzA2OjEsOTE0Mjc6MSw5MTQzMzoxLDkxODIwOjEsOTIwOTI6MSw5MjE0ODoxLDkyMjYxOjEsOTIzNjI6MSw5MjcwNjoxLDkyNzI2OjEsOTI3Mjk6MSw5Mjc1MzoxLDkzMjI3OjEsOTMyOTY6MSw5MzQyMzoxLDkzNDcyOjEsOTM1Mzc6MSw5MzYwNDoxLDkzNzU4OjEsOTQzODU6MSw5NDUyNDoxLDk0ODAxOjEsOTQ4OTU6MSw5NTEyMzoxLDk1MTcxOjEsOTUyMjI6MSw5NTI3ODoxLDk1NjI2OjEsOTU4NDg6MSw5NTg3NToxLDk2MDcxOjEsOTYxODk6MSw5NjE5NjoxLDk2NjQ4OjEsOTY4NDE6MSw5NjkxMzoxLDk2OTgyOjEsOTcwODM6MSw5NzE1MToxLDk3MjMyOjEsOTczNTQ6MSw5NzQ2MzoxLDk3ODAwOjEsOTc4MjM6MSw5Nzg2NjoxLDk3ODk1OjEsOTc4OTc6MSw5NzkyNzoxLDk4MDA0OjEsOTgwODA6MSw5ODU5ODoxLDk4Njk5OjEsOTg3OTY6MSw5OTIyNDoxLDk5NTQ5OjEsOTk4Njc6MSw5OTkwMjoxLDk5OTk1OjF9W2VdJiZuLnB1c2gobFtlXT1jKGUpLnRoZW4oKCgpPT57bFtlXT0wfSksKG49Pnt0aHJvdyBkZWxldGUgbFtlXSxufSkpKX0sKCgpPT57dmFyIGU9ezg2MDg4OjAsMjg3MzM6MH07YS5mLmo9KG4sdCk9Pnt2YXIgcj1hLm8oZSxuKT9lW25dOnZvaWQgMDtpZigwIT09cilpZihyKXQucHVzaChyWzJdKTtlbHNlIGlmKC9eKCgyMDh8NTI0KTE1fDExODY2fDk4Njk5KSQvLnRlc3QobikpZVtuXT0wO2Vsc2V7dmFyIG89bmV3IFByb21pc2UoKCh0LG8pPT5yPWVbbl09W3Qsb10pKTt0LnB1c2goclsyXT1vKTt2YXIgaT1hLnArYS51KG4pLHM9bmV3IEVycm9yO2EubChpLCh0PT57aWYoYS5vKGUsbikmJigwIT09KHI9ZVtuXSkmJihlW25dPXZvaWQgMCkscikpe3ZhciBvPXQmJigibG9hZCI9PT10LnR5cGU/Im1pc3NpbmciOnQudHlwZSksaT10JiZ0LnRhcmdldCYmdC50YXJnZXQuc3JjO3MubWVzc2FnZT0iTG9hZGluZyBjaHVuayAiK24rIiBmYWlsZWQuXG4oIitvKyI6ICIraSsiKSIscy5uYW1lPSJDaHVua0xvYWRFcnJvciIscy50eXBlPW8scy5yZXF1ZXN0PWksclsxXShzKX19KSwiY2h1bmstIituLG4pfX0sYS5GLmo9bj0+e2lmKCEoYS5vKGUsbikmJnZvaWQgMCE9PWVbbl18fC9eKCgyMDh8NTI0KTE1fDExODY2fDk4Njk5KSQvLnRlc3QobikpKXtlW25dPW51bGw7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO3QuY3Jvc3NPcmlnaW49ImFub255bW91cyIsYS5uYyYmdC5zZXRBdHRyaWJ1dGUoIm5vbmNlIixhLm5jKSx0LnJlbD0icHJlZmV0Y2giLHQuYXM9InNjcmlwdCIsdC5ocmVmPWEucCthLnUobiksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0KX19O3ZhciBuPShuLHQpPT57dmFyIHIsbyxbaSxzLHVdPXQsYz0wO2lmKGkuc29tZSgobj0+MCE9PWVbbl0pKSl7Zm9yKHIgaW4gcylhLm8ocyxyKSYmKGEubVtyXT1zW3JdKTtpZih1KXUoYSl9Zm9yKG4mJm4odCk7YzxpLmxlbmd0aDtjKyspbz1pW2NdLGEubyhlLG8pJiZlW29dJiZlW29dWzBdKCksZVtvXT0wfSx0PXNlbGYud2VicGFja0NodW5rT3dhX25hbWVfPXNlbGYud2VicGFja0NodW5rT3dhX25hbWVffHxbXTt0LmZvckVhY2gobi5iaW5kKG51bGwsMCkpLHQucHVzaD1uLmJpbmQobnVsbCx0LnB1c2guYmluZCh0KSl9KSgpLEg9ezE1MzIzOls4NTYxOCwzNjY5Niw5MzQzNyw1NDA2NV0sMjg0ODA6WzM2Njk2LDQ0MDddLDQyMTI3OlszMjU1Nyw3MDc3Niw3MzgyMCw5OTQ1OCwzNTY3NV0sNDQ1OTY6WzY3ODQ0XSw1NjE2OTpbODU2MTgsMzY2OTYsOTM0MzddLDU5MzY4OlsyNDAxMF0sNjIyMjI6WzU0MDY1XSw4NDczMDpbMjQwMTBdLDkyMjUzOls0MjEwNiw5OTA4MiwzMjMzNl0sOTM0Mzc6WzM2Njk2LDQ0MDddLDk3ODcxOlsyNDAxMF19LGEuZi5wcmVmZXRjaD0oZSxuKT0+UHJvbWlzZS5hbGwobikudGhlbigoKCk9Pnt2YXIgbj1IW2VdO0FycmF5LmlzQXJyYXkobikmJm4ubWFwKGEuRSl9KSk7dmFyIGY9e307KCgpPT57InVzZSBzdHJpY3QiO2EucihmKTt2YXIgZT1hKDc0MDU0NSk7YS5wPSgwLGUuUnMpKCk7YSg3NjcxKSxhKDEzODcyKTt2YXIgbj1hKDIwNDkyMyksdD1hKDUzOTE2MSkscj1hKDg2OTQxNyk7ZnVuY3Rpb24gbyhlLG4pe3JldHVybihudWxsPT1lP3ZvaWQgMDplLmhlYWRlcnMpJiZlLmhlYWRlcnMuZ2V0KG4pfXZhciBpPWEoNjkzNjk2KSxzPWEoNzE4MjI0KTtjb25zdCB1PVsiWC1DYWxjdWxhdGVkQkVUYXJnZXQiLCJYLU9XQS1Db3JyZWxhdGlvbklkIiwiWC1NU0VkZ2UtUmVmIiwiY29udGVudC1lbmNvZGluZyIsImNvbnRlbnQtbGVuZ3RoIiwiY29udGVudC10eXBlIiwiWC1PV0EtVmVyc2lvbiIsIlgtT1dBRXJyb3JNZXNzYWdlSUQiLCJ4LWRpYWdpbmZvIiwieC1iZXNrdSIsIngtb3dhLWRpYWdub3N0aWNzaW5mbyIsIlgtQ0ROLVByb3ZpZGVyIl07bGV0IGM9IiI7ZnVuY3Rpb24gbChlLG4pe2MrPWAmJHtlfT0ke259YH1jb25zdCBIPVsiWC1CRVNlcnZlciIsIlgtRkVTZXJ2ZXIiLCJYLU1TRWRnZS1SZWYiXSxkPVs0MDMsNDA0LDUwM107ZnVuY3Rpb24gUyhlKXtsZXQgbj0iIjtpZihlLnN0YXR1cyl7aWYobis9ZS5zdGF0dXMsZC5pbmRleE9mKGUuc3RhdHVzKT4tMSl7bis9InwiO2ZvcihsZXQgdD0wO3Q8SC5sZW5ndGg7dCsrKXtjb25zdCByPUhbdF07aWYobyhlLHIpKXtuKz1yO2JyZWFrfX19fWVsc2UgZS5uZXR3b3JrRXJyb3I/bj0iTmV0d29ya1Jlc3BvbnNlRXJyb3IiOihuPSJVbmtub3duUmVzcG9uc2VFcnJvciIsbCgiYnJlcyIsT2JqZWN0LmtleXMoZSkuam9pbigifCIpKSk7cmV0dXJuIHQ9bmV3IEVycm9yKG4pLHI9ZSx0LnJlc3BvbnNlPXIsdC5zdGF0dXM9ci5zdGF0dXMsdDt2YXIgdCxyfWNvbnN0IHA9e1tlLk9IXToib3V0bG9va193aW4zMiIsW2UuckhdOiJvdXRsb29rX3dpbjMyIixbZS5LeV06Im91dGxvb2tfaW9zIixbZS5jeF06Im91dGxvb2tfYW5kcm9pZCIsW2UuTTldOiJvdXRsb29rX2FuZHJvaWQiLFtlLkZBXToib3V0bG9va19tYWMiLFtlLmVJXToidGVhbXNfYW5kcm9pZCIsW2Uuc21dOiJ0ZWFtc19pb3MiLFtlLnZqXToidGVhbXNfZGVza3RvcCIsW2UuVVZdOiJ0ZWFtc19kZXNrdG9wIixbZS5pd106InNoYXJlcG9pbnQiLFtlLlpCXToid2luZG93cyIsW2UuZ01dOiJvMzY1c2hlbGwifTt2YXIgQz1hKDM2Njk1MyksQT1hKDI2OTM5OSksST1hKDMwNzI3NCksUj1hKDEyMzU3MiksaD1hKDQ1ODgxNyksdj1hKDExNzA0Nyk7ZnVuY3Rpb24gbSgpe2xldCBuPSI/Ijtjb25zdCB0PSgwLHYueSkoKSxyPSgwLGgubk0pKHdpbmRvdy5sb2NhdGlvbik7T2JqZWN0LmtleXMocikuZm9yRWFjaCgoZT0+e3N3aXRjaChlKXtjYXNlImJPIjpjYXNlInZlcnNpb24iOm4rPWAke2V9PSR7cltlXX0mYDticmVhaztkZWZhdWx0Om4rPWAke2V9PXZhbCZgfX0pKTtsZXQgbz0oMCxlLiQ2KSh0LmxvY2F0aW9uLmhvc3QrdC5sb2NhdGlvbi5wYXRobmFtZSsobi5sZW5ndGg+MT9uLnNsaWNlKDAsLTEpOiIiKSk7cmV0dXJuIG8mJm8ubGVuZ3RoPjEwMCYmKG89by5zdWJzdHIoMCwxMDApKSxvP2VuY29kZVVSSUNvbXBvbmVudChvKTp2b2lkIDB9dmFyIFU9YSg1Mzg2NTIpLE49YSg0NzE3MTApLGc9YSg2Mjg4NDEpLEs9YSg3NTgwNTcpO2Z1bmN0aW9uIHkobix0KXtjb25zdCByPSgwLGcuUzcpKCksbz0oMCxnLmdzKSgpLGk9e0FwcE5hbWU6KDAsZS5NcSkoKSxVc2VyQWdlbnQ6d2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQsRXhwbGljaXRMb2dvbjooMCxOLk8pKHdpbmRvdyksUHVpZDooMCxLLm5EKSgpLFRlbmFudEd1aWQ6KDAsSy51QykoKSxNQlhHdWlkOigwLEsuV0EpKCksSXNQcmVtaXVtOigwLEsuYVIpKCksQ2xpZW50SWQ6KDAsZS5pMikoKSxSZWZVcmw6bSgpLENsaWVudFZlcnNpb246KDAsZS5WSikoKSxCRVNlcnZlcjoobnVsbD09dD92b2lkIDA6dC5lYmUpfHwoMCxlLk5fKSgpLEZFU2VydmVyOihudWxsPT10P3ZvaWQgMDp0LmVmZSl8fCgwLGUuVVApKCksVGhyb3VnaEVkZ2U6KDAsZS5fSCkoKSxTZXJ2aWNlVmVyc2lvbjooMCxlLkhGKSgpLERhZzooMCxlLkt4KSgpLEZvcmVzdDooMCxlLnlfKSgpLERlcGxveVJpbmc6KDAsZS5ucikoKSwiU2Vzc2lvbi5JZCI6KDAsZS5NUSkoKSxQaHlzaWNhbFJpbmc6KDAsVS5vSCkoKSxWYXJpYW50RW52OigwLFUudUQpKCksQnJvd3Nlck5hbWU6ci5icm93c2VyLEhvc3Q6KDAsZS5yMCkoKSxIb3N0VmVyc2lvbjooMCxlLkZLKSgpLEJyb3dzZXJWZXJzaW9uOnIuYnJvd3NlclZlcnNpb24udG9TdHJpbmcoKSxPc05hbWU6by5vcyxPc1ZlcnNpb246by5vc1ZlcnNpb24sUmV0cnlTdHJhdGVneTooMCxoLm1uKSgiYk8iKSxJc0NvbnN1bWVyOigwLEsudWYpKCksTGF5b3V0OigwLGUuRzApKCl9O3JldHVybiB0JiYoaS5FcnJvclR5cGU9dC5ldCxpLkVycm9yU291cmNlPXQuZXNyYyxpLkVycm9yPXQuZXJyLGkuRXh0cmFFcnJvckluZm89KDAsZS4kNikodC5lc3RhY2spLGkuU3RhdHVzQ29kZT10LnN0LGkuUmVxdWVzdElkPXQucmVxaWQpLHtuYW1lOm4sZGF0YTppfX1jb25zdCB3PXtvazoiY2xpZW50c3RhcnR1cHN1Y2Nlc3MiLGZhaWw6ImNsaWVudHN0YXJ0dXBlcnJvciIsdHJhbnNpZW50OiJjbGllbnRzdGFydHVwZXJyb3IifTthc3luYyBmdW5jdGlvbiBiKG4sdCxyLGEpe3ZhciBIO2xldCBkLGY7dHJ5e2Q9YXdhaXQoMCxlLlExKSgpO2NvbnN0IG49KDAsUi53USkoKTtsKCJzd1ZlciIsbnx8dHlwZW9mIG4pO2NvbnN0IHQ9KDAsZS5XMykoKTt0JiYoZj1hd2FpdCB0KTtsKCJjZG5Qcm92aWRlciIsKDAsUi55RikoKSk7bCgibmV4dEhvcFByb3RvY29sIiwoMCxBLlZUKSgpKX1jYXRjaChlKXt9Y29uc3QgUz1bTyh3W25dfHwiY2xpZW50c3RhcnR1cG90aGVyIixuLHQsZCxmKV07aWYod2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnMpZm9yKGxldCBlPTA7ZTx3aW5kb3cub3dhQmFja2ZpbGxlZEVycm9ycy5sZW5ndGg7ZSsrKVMucHVzaChPKCJib290ZXZhbGVycm9yIixuLHQsZCxmKSk7bGV0IHA9IiI7KG51bGw9PWE/dm9pZCAwOmEuZGlhZ25vc3RpY0luZm8pJiYocCs9YS5kaWFnbm9zdGljSW5mbyksd2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnMmJndpbmRvdy5vd2FCYWNrZmlsbGVkRXJyb3JzLmxlbmd0aD4wJiYocCs9InwiK3dpbmRvdy5vd2FCYWNrZmlsbGVkRXJyb3JzLm1hcChFKS5qb2luKCJ8IikpLHAmJmsoU1swXSwiRGlhZ25vc3RpY3MiLHApO2NvbnN0IEM9bnVsbD09KEg9d2luZG93LnBlcmZvcm1hbmNlKT92b2lkIDA6SC5uYXZpZ2F0aW9uO3JldHVybiBDJiZrKFNbMF0sIlJlZGlyZWN0Q291bnQiLEMucmVkaXJlY3RDb3VudCksKDAsSS5nKShudWxsPT1yP3ZvaWQgMDpyLnBsdCksciYmKHIuc3RhcnQmJmsoU1swXSwiU3RhcnRUaW1lIixEYXRlLm5vdygpLXIuc3RhcnQpLGsoU1swXSwiTG9hZFRpbWUiLHIucGx0KSksayhTWzBdLCJNaXNjRGF0YSIsZnVuY3Rpb24obix0KXt2YXIgcjtsZXQgYT1gJnZtPXRydWUmc3A9JHsoMCxzLlJzKSgpfWA7biYmKGErPWAmZWhrPSR7bi5laGt9Jm1zZz0ke24uZW1zZ31gKTtjb25zdCBsPSgwLGkuSUwpKCk7aWYobCYmbC5sZW5ndGg+MCYmKGErPSImYmY9IitsLmpvaW4oIiwiKSksdCl7YSs9IiZyZXE9IisoMCxlLiQ2KShlbmNvZGVVUklDb21wb25lbnQodC51cmwpKTtmb3IobGV0IGU9MDtlPHUubGVuZ3RoO2UrKyl7Y29uc3Qgbj11W2VdLHI9byh0LG4pO3ImJihhKz1gJiR7bn09JHtyfWApfWErPSImcnQ9Iit0LnR5cGV9Y29uc3QgSD1udWxsPT0ocj13aW5kb3cucGVyZm9ybWFuY2UpP3ZvaWQgMDpyLm5hdmlnYXRpb247cmV0dXJuIEgmJihhKz1gJm50PSR7SC50eXBlfWApLGErY30odCxudWxsPT1hP3ZvaWQgMDphLnJlc3BvbnNlKSksayhTWzBdLCJUaW1pbmdzIiwoMCxBLnBpKSgpKSxrKFNbMF0sIk1lbW9yeSIsKDAsQS5BbykoKSksU31mdW5jdGlvbiBFKGUpe2xldCBuPSJudWxsIjtyZXR1cm4gZSYmKG49ZVswXSwiZnVuY3Rpb24iPT10eXBlb2YgZS5jYWxsZWUmJihuKz0iOiIrZS5jYWxsZWUoKSkpLG59ZnVuY3Rpb24gTyhuLHQscixvLGkpe2NvbnN0IGE9eShuLHIpO3JldHVybiBhLmRhdGEuQm9vdFJlc3VsdD10LGEuZGF0YS5Cb3R0bGVuZWNrcz0oMCxBLk4kKSgpLGEuZGF0YS5MYXllcnM9KDAsQS54YikoKSxrKGEsIkJvb3RUeXBlIixvKSxpJiYoayhhLCJIb3N0ZWRTY2VuYXJpbyIsaS5ob3N0ZWRTY2VuYXJpbyksayhhLCJIb3N0VGVsZW1ldHJ5IiwoMCxlLiQ2KShpLmhvc3RUZWxlbWV0cnkpKSksYX1mdW5jdGlvbiBrKGUsbix0KXtudWxsIT10JiZudWxsIT10JiYoZS5kYXRhW25dPXQpfXZhciB4PWEoNjIxMjc2KSxUPWEoMTAyNDA0KSxQPWEoNTA5MDQpO2xldCBEO2xldCBMO2Z1bmN0aW9uIE0oZSl7dmFyIG4sdDtlLm5hbWUsVygobnVsbD09KG49bnVsbD09ZT92b2lkIDA6ZS5kYXRhKT92b2lkIDA6bi5FcnJvclNvdXJjZSl8fCIiKSxXKChudWxsPT0odD1udWxsPT1lP3ZvaWQgMDplLmRhdGEpP3ZvaWQgMDp0LkVycm9yVHlwZSl8fCIiKX1mdW5jdGlvbiBCKGUsbil7aWYoIUQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IHQ9KDAsaC5KSSkoImRwIikscj0hKDAsaC56bCkoKTtyZXR1cm4gbmV3IFByb21pc2UoKGFzeW5jIG89Pntjb25zdCBpPXdpbmRvdy5zZXRUaW1lb3V0KG8sbnx8M2UzKTt0cnl7Y29uc3Qgbj1hd2FpdCBlO2lmKG4pZm9yKGNvbnN0IGUgb2YgbilyJiZMLnRyYWNrKGUpLHQmJk0oZSl9Y2F0Y2goZSl7fWZpbmFsbHl7d2luZG93LmNsZWFyVGltZW91dChpKSxvKCl9fSkpfWZ1bmN0aW9uIFcoZSl7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtyZXR1cm4gZS5tZXNzYWdlfX1jb25zdCBGPVsiWC1PV0EtRXJyb3IiLCJYLUF1dGgtRXJyb3IiLCJYLVJlZGlyLUVycm9yIiwiWC1KSVQtRXJyb3IiXTtmdW5jdGlvbiBqKG4pe2NvbnN0IHQ9e2VycjoiVW5rbm93biIsZXNyYzoiUnVudGltZSJ9O2lmKG4pe3QuZXQ9bi51cmw/IlNlcnZlckVycm9yIjoiQ2xpZW50RXJyb3IiLG4uc291cmNlJiYodC5lc3JjPW4uc291cmNlKSwobi5uYW1lfHxuLm1lc3NhZ2UpJiYodC5lcnI9YCR7bi5uYW1lfTogJHtuLm1lc3NhZ2V9YCk7Y29uc3Qgcj1udWxsPT1uP3ZvaWQgMDpuLnJlc3BvbnNlO3QuZXN0YWNrPW8ociwiWC1Jbm5lckV4Y2VwdGlvbiIpfHxuLnN0YWNrLHQuc3Q9KG51bGw9PXI/dm9pZCAwOnIuc3RhdHVzKXx8KG51bGw9PW4/dm9pZCAwOm4uc3RhdHVzKTtmb3IobGV0IG49MDtuPEYubGVuZ3RoO24rKyl7Y29uc3QgaT1GW25dLGE9byhyLGkpO2lmKGEpe3QuZWhrPWksdC5lcnI9KDAsZS4kNikoYSk7YnJlYWt9fWNvbnN0IGk9byhyLCJ4LW1zLWRpYWdub3N0aWNzIik7aSYmbCgieC1tcy1kaWFnbm9zdGljcyIsaSksdC5lZmU9byhyLCJYLUZFU2VydmVyIiksdC5lYmU9byhyLCJYLUJFU2VydmVyIiksdC5ld3N2ZXI9byhyLCJYLU9XQS1WZXJzaW9uIiksdC5yZXFpZD1vKHIsInJlc3BvbnNlLWlkIiksdC5lbXNnPW8ociwiWC1PV0FFcnJvck1lc3NhZ2VJRCIpLHQuZXN0YWNrJiYodC5lc3RhY2subGVuZ3RoPjEwMjQmJih0LmVzdGFjaz1mdW5jdGlvbihlKXtjb25zdCBuPWUuc3BsaXQoIlxuIik7Zm9yKGxldCBlPTE7ZTxuLmxlbmd0aDtlKyspaWYoblswXSE9bltlXSlyZXR1cm4gbi5zbGljZShlLTEpLmpvaW4oIlxuIik7cmV0dXJuIGV9KHQuZXN0YWNrKSksdC5lc3RhY2subGVuZ3RoPjEwMjQmJih0LmVzdGFjaz10LmVzdGFjay5zdWJzdHJpbmcoMCwxMDI0KSkpfXJldHVybiB0fXZhciBWPWEoNjkwNDYpLFo9YSg4NTIzMTMpLHo9YSgzNTU1NDUpLHE9YSg3Mjc4MzUpLFg9YSgyODA0NTQpLFk9YSg5OTU1MjcpLEo9YSg2MTU0NzApO2NvbnN0IFE9ezA6Im5ldHdvcmsiLDQwMToiYXV0aCIsNDExOiJleHRlcm5hbCIsNDQwOiJhdXRoIn0sRz1bIkV4cGlyZWRCdWlsZCIsIlBvaXNvbmVkQnVpbGQiXSxfPVsiT3dhSW52YWxpZFRpbWV6b25lRXhjZXB0aW9uIiwiT3dhSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbiIsIk93YUludmFsaWRVc2VyTGFuZ3VhZ2VFeGNlcHRpb24iXSwkPVsiQWNjZXNzRGVuaWVkRXhjZXB0aW9uIiwiTWFpbGJveFVuYXZhaWxhYmxlRXhjZXB0aW9uIiwiT3dhRXhwbGljaXRMb2dvbkV4Y2VwdGlvbiIsIk93YUFET2JqZWN0Tm90Rm91bmRFeGNlcHRpb24iXTtmdW5jdGlvbiBlZShlLG4pe2lmKG51bGw9PWU/dm9pZCAwOmUucmVzdWx0KXJldHVybiBlLnJlc3VsdDtjb25zdCB0PW4uZXJyO2lmKCgwLFYuZykoXyx0KSlyZXR1cm4ibGFuZ3R6IjtpZigoMCxaLnApKHQpKXJldHVybiJ0aHJvdHRsZSI7aWYoKDAsei5xKSh0KSlyZXR1cm4iY29uZmlndXJhdGlvbiI7aWYoKDAscS5tKSh0KXx8ZSYmKDAsWC51KShlLnN0YWNrKXx8d2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnMmJndpbmRvdy5vd2FCYWNrZmlsbGVkRXJyb3JzLmZpbHRlcigoZT0+KDAscS5tKShlWzBdKSkpLmxlbmd0aD4wKXJldHVybiJtZW1vcnkiO2lmKGUpe2NvbnN0IG49ZS5yZXNwb25zZTtpZigobnVsbD09bj92b2lkIDA6bi51cmwpJiZuLnVybC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIi9hdXRoL2Vycm9yZmUuYXNweCIpPi0xKXJldHVybiJlcnJvcmZlIjtpZihlLnJlcXVlc3QpcmV0dXJuImNkbkVycm9yIn1jb25zdCByPW4uZXNyYztpZihyJiZHLmluZGV4T2Yocik+LTEpcmV0dXJuIHI7Y29uc3Qgbz1uLnN0O3JldHVybiJJbml0TG9jIj09ciYmMCE9bz8iZmFpbCI6KDAsTi5PKSh3aW5kb3cpJiYoMCxWLmcpKCQsdCk/ImFjY2Vzc0RlbmllZCI6KDAsWS5pKSh0KXx8NTAzPT1vPyJ0cmFuc2llbnQiOigwLEouZSkodCxlKT8ibmV0d29yayI6UVtvXXx8ImZhaWwifXZhciBuZT1hKDcyNjg1MyksdGU9YSg3NjQwNTApLHJlPWEoODg1MTg5KTthc3luYyBmdW5jdGlvbiBvZShuLHIpe3RyeXtjb25zdCB0PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKG4sdCl7bGV0IHI9IlVUQyI7aWYod2luZG93LkludGwmJiJvYmplY3QiPT10eXBlb2Ygd2luZG93LkludGwpe2NvbnN0IGU9d2luZG93LkludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKTsobnVsbD09ZT92b2lkIDA6ZS50aW1lWm9uZSkmJihyPWUudGltZVpvbmUpfWNvbnN0IG89KDAsQy5aKSgoMCxlLmRxKSgpKSxpPSgwLG5lLmU3KSgoMCxuZS5aUCkobywibGFuZy5vd2EiKSksYT1uZXcgSGVhZGVycyxzPWBsb2NhbGVOYW1lPSR7d2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZX0mdHppZD0ke3J9JnNhdmVMYW5ndWFnZUFuZFRpbWV6b25lPTFgLHU9KDAscmUuaUUpKCk7cmV0dXJuIGEuYXBwZW5kKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSxhLmFwcGVuZCgiWC1PV0EtQ0FOQVJZIiwoMCx0ZS5OeikoKSksbiYmYS5hcHBlbmQoIngtYW5jaG9ybWFpbGJveCIsbiksIXQmJnUmJnUuZ2V0QXV0aFRva2VuJiYodD1hd2FpdCB1LmdldEF1dGhUb2tlbigpKSx0JiZhLmFwcGVuZCgiQXV0aG9yaXphdGlvbiIsdCksZmV0Y2goaSx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczphLGJvZHk6c30pfShuLHIpLG89dC5oZWFkZXJzLmdldCgiWC1PV0EtRXJyb3IiKTtpZihvKXRocm93IG5ldyBFcnJvcihvKTtpZih0LnN0YXR1cz49NDAwKXRocm93IFModCk7YXdhaXQgQihpZSgibGFuZ3Bvc3Rfc3VjY2VzcyIpKX1jYXRjaChlKXtjb25zdCBuPSgwLHQuWikoZSwiTGFuZ1Bvc3QiLHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSxlLnN0YXR1cyk7YXdhaXQgQihpZSgibGFuZ3Bvc3RfZXJyb3IiLGoobikpKX19ZnVuY3Rpb24gaWUoZSxuKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFt5KGUsbildKX1mdW5jdGlvbiBhZShlLG4sdCl7Y29uc3Qgcj0oMCxoLm1uKSgiYk8iKTtpZih2b2lkIDAhPT1yJiYiNCIhPT1yKXJldHVybiBudWxsO2lmKHQmJiJTdGFydHVwRGF0YSI9PW4pcmV0dXJuIG51bGw7c3dpdGNoKGUpe2Nhc2UibGFuZ3R6IjpyZXR1cm57c3RyYXRlZ3k6IjEiLHdhaXRGb3I6b2UoKX07Y2FzZSJhdXRoIjpyZXR1cm4oMCxyZS5pRSkoKS5nZXRBdXRoVG9rZW4mJiF0P3tzdHJhdGVneToiMSJ9Om51bGw7Y2FzZSJ0aHJvdHRsZSI6Y2FzZSJlcnJvcmZlIjpjYXNlImFjY2Vzc0RlbmllZCI6Y2FzZSJjb25maWd1cmF0aW9uIjpyZXR1cm4gbnVsbDtjYXNlIkV4cGlyZWRCdWlsZCI6Y2FzZSJQb2lzb25lZEJ1aWxkIjpyZXR1cm4iNCI9PT1yP251bGw6e3N0cmF0ZWd5OiI0In07Y2FzZSJ0cmFuc2llbnQiOnJldHVybntzdHJhdGVneToiMSIsdGltZW91dDoxZTR9O2RlZmF1bHQ6cmV0dXJue3N0cmF0ZWd5OiJJbml0TG9jIj09bj8iMiI6IjEifX19dmFyIHNlPWEoMTgwMzg3KTthc3luYyBmdW5jdGlvbiB1ZShuLHIpe2NvbnN0IG89KDAsdC5aKShTKHIpLCJTdGFydHVwRGF0YSIsKDAsZS4kNikoci51cmwpKSxpPWoobyksYT1hZShlZShvLGkpLGkuZXNyYyk7aWYoYSlyZXR1cm4gYXdhaXQgZnVuY3Rpb24oZSxuLHQpe3JldHVybiBsKCJTdGFydHVwRGlkUmV0cnkiLCJ0IiksQihiKGUsdHx8aihuKSx2b2lkIDAsbikpfSgic2VydmVyUmV0cnkiLG8saSksYS53YWl0Rm9yJiZhd2FpdCBQcm9taXNlLnJhY2UoWygwLHNlLlopKDFlNCksYS53YWl0Rm9yLmNhdGNoKCgoKT0+e30pKV0pLHtlbmRwb2ludDpgJHtufT9iTz0xJmFwcD0keygwLGUuTXEpKCl9YCxkZWxheTphLnRpbWVvdXR9fWZ1bmN0aW9uIGNlKG8saSxhKXtjb25zdCBzPSgwLEMuWikoKDAsZS5kcSkoKSkrIi9zdGFydHVwZGF0YS5hc2h4IjtyZXR1cm4gby5hcHBlbmQoIngtb3dhLWhvc3QtYXBwIixmdW5jdGlvbigpe2NvbnN0IG49KDAsZS5yMCkoKTtyZXR1cm4gcFtuXXx8InVua25vd24ifSgpKSxvLmFwcGVuZCgieC1vd2EtaG9zdGVkLXV4IixmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uP3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZToiIjtyZXR1cm4gZS5pbmRleE9mKCIvb3B4Iik+PTB8fGUuaW5kZXhPZigiL2hvc3RlZCIpPj0wPyJ0cnVlIjoiZmFsc2UifSgpKSwoMCxyLlMpKCJTdGFydHVwRGF0YSIsdm9pZCAwLHtlbmRwb2ludDpzLGhlYWRlcnM6byxyZXR1cm5GdWxsUmVzcG9uc2VPblN1Y2Nlc3M6ITAsc2hvdWxkUmV0cnk6ZT0+UHJvbWlzZS5yZXNvbHZlKGZ1bmN0aW9uKGUpe3JldHVybiAyMDQ9PWV8fDQwND09ZXx8ZT49NTAwfShlKSksb25CZWZvcmVSZXRyeTplPT51ZShzLGUpLGF1dGhOZWVkZWRPblVuQXV0aG9yaXplZDohMSxyZXRyeUNvdW50OjV9KS50aGVuKChlPT57aWYoKDAsbi50VSkoZSksIWUpdGhyb3cgbmV3IEVycm9yKCJOb1Jlc3BvbnNlIik7aWYoMjAwIT1lLnN0YXR1cyl0aHJvdyBTKGUpO3JldHVybiBhKGUuaGVhZGVycyksZS5qc29uKCkuY2F0Y2goKGU9Pnt2YXIgbjtjb25zdCB0PW5ldyBFcnJvcigiSW52YWxpZEpzb24iKSxyPXR5cGVvZiBlO3Rocm93IHQuZGlhZ25vc3RpY0luZm89YEpzb25FcnJvcj0keyJzdHJpbmciPT1yP2U6KG51bGw9PWU/dm9pZCAwOmUubWVzc2FnZSl8fHJ9O29ubGluZT0ke251bGw9PShuPW51bGw9PXNlbGY/dm9pZCAwOnNlbGYubmF2aWdhdG9yKT92b2lkIDA6bi5vbkxpbmV9O2AsdH0pKX0pLChlPT57dGhyb3cgUyhlKX0pKS50aGVuKGkpLmNhdGNoKChlPT5Qcm9taXNlLnJlamVjdCgoMCx0LlopKGUsIlN0YXJ0dXBEYXRhIixzLDApKSkpfXZhciBsZT1hKDc4NzMyNyksSGU9YSg0MjUyMDMpLGRlPWEoOTgxMzkzKSxmZT1hKDIzMDc1NSk7Y29uc3QgU2U9InNkZnAiO2xldCBwZT0wLENlPTA7Y29uc3QgQWU9KDAsQS50OCkoKGZ1bmN0aW9uKCl7Y29uc3Qgbj1uZXcgSGVhZGVycyx0PSgwLGxlLnJWKSh3aW5kb3csU2UpO3QmJnZlKCJmb2xkZXJQYXJhbXMiLHQpJiYobi5zZXQoImZvbGRlclBhcmFtcyIsdCkscGU9MSk7Y29uc3Qgcj0oMCxsZS5yVikod2luZG93LGRlLl8pO3ImJnZlKCJtZXNzYWdlUGFyYW1zIixyKSYmKG4uc2V0KCJtZXNzYWdlUGFyYW1zIixyKSxDZT0xKTtjb25zdCBvPSgwLGkuVTcpKCk7aWYoby5sZW5ndGg+MCl7Y29uc3QgZT1vLmpvaW4oIiwiKTt2ZSgiWC1PV0EtYm9vdGZsaWdodHMiLGUpJiZuLnNldCgiWC1PV0EtYm9vdGZsaWdodHMiLGUpfXJldHVybigwLEhlLm8pKG4sd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLCgwLGUuUDYpKCksKDAsZGUuaSkoKSwoMCxoLm1uKSgiaW5pdGlhbGZvbGRlcnMiKSksY2UobixJZSxSZSl9KSwic2QiKTtmdW5jdGlvbiBJZShlKXt2YXIgbix0LHIsbyxpLGEscyx1LGMsbDtpZighKG51bGw9PSh0PW51bGw9PShuPWUub3dhVXNlckNvbmZpZyk/dm9pZCAwOm4uU2Vzc2lvblNldHRpbmdzKT92b2lkIDA6dC5Vc2VyRW1haWxBZGRyZXNzKSl7Y29uc3Qgbj0iQWNjdEluaXQtTm9Vc2VyRW1haWxBZGRyZXNzIix0PW5ldyBFcnJvcihuKTsoMCxmZS5DWikobix7c3RhY2s6dC5zdGFjayxzdDp0eXBlb2YgZSx1Yzp0eXBlb2YgZS5vd2FVc2VyQ29uZmlnLHNzOnR5cGVvZihudWxsPT0ocj1lLm93YVVzZXJDb25maWcpP3ZvaWQgMDpyLlNlc3Npb25TZXR0aW5ncyksdWU6dHlwZW9mKG51bGw9PShpPW51bGw9PShvPWUub3dhVXNlckNvbmZpZyk/dm9pZCAwOm8uU2Vzc2lvblNldHRpbmdzKT92b2lkIDA6aS5Vc2VyRW1haWxBZGRyZXNzKX0pfWlmKCEobnVsbD09KHM9bnVsbD09KGE9ZS5vd2FVc2VyQ29uZmlnKT92b2lkIDA6YS5TZXNzaW9uU2V0dGluZ3MpP3ZvaWQgMDpzLkxvZ29uRW1haWxBZGRyZXNzKSl7Y29uc3Qgbj0iQWNjdEluaXQtTm9Mb2dvbkVtYWlsQWRkcmVzcyIsdD1uZXcgRXJyb3Iobik7KDAsZmUuQ1opKG4se3N0YWNrOnQuc3RhY2ssc3Q6dHlwZW9mIGUsdWM6dHlwZW9mIGUub3dhVXNlckNvbmZpZyxzczp0eXBlb2YobnVsbD09KHU9ZS5vd2FVc2VyQ29uZmlnKT92b2lkIDA6dS5TZXNzaW9uU2V0dGluZ3MpLHVlOnR5cGVvZihudWxsPT0obD1udWxsPT0oYz1lLm93YVVzZXJDb25maWcpP3ZvaWQgMDpjLlNlc3Npb25TZXR0aW5ncyk/dm9pZCAwOmwuTG9nb25FbWFpbEFkZHJlc3MpfSl9ZS5mb2xkZXJQYXJhbXMmJigwLGxlLkxTKSh3aW5kb3csU2UsSlNPTi5zdHJpbmdpZnkoZS5mb2xkZXJQYXJhbXMpKSxlLm1lc3NhZ2VQYXJhbXMmJigwLGxlLkxTKSh3aW5kb3csZGUuXyxKU09OLnN0cmluZ2lmeShlLm1lc3NhZ2VQYXJhbXMpKTtjb25zdCBIPSgwLEsubUwpKGUpO3JldHVybigwLGxlLkxTKSh3aW5kb3csIkJvb3REaWFnbm9zdGljcyIsSlNPTi5zdHJpbmdpZnkoSCkpLGV9ZnVuY3Rpb24gUmUoZSl7bGV0IG47aWYoZSl7Y29uc3QgdD1lLmdldCgieC1vd2Etc3RhcnR1cC1wcmVsb2FkIik7dCYmKDAsQS55SSkoInNkX3ByIix0KTtjb25zdCByPWUuZ2V0KCJ4LW93YS1zdGFydHVwLWRpYWciKTtyJiYobj1wYXJzZUludChyKSl9aGUoU2UscGUsbiw0LDEpLGhlKGRlLl8sQ2Usbiw4LDIpfWZ1bmN0aW9uIGhlKGUsbix0LHIsbyl7dCYmKDAhPSh0JnIpP249MzowIT0odCZvKSYmKG49MiksMCE9KDE2JnQpJiYoMCxsZS5jbCkod2luZG93LGUpKSwoMCxBLnlJKShlLG4pfWZ1bmN0aW9uIHZlKGUsbil7cmV0dXJuIS9bXlx1MDAwMC1cdTAwZmZdL2cudGVzdChuKXx8KCgwLGZlLkNaKSgiSVNPODg1OVZhbGlkSGVhZGVyRm9yYm9vdEZsaWdodHMiLHtlcnJvckhlYWRlck5hbWU6ZSxlcnJvckhlYWRlclZhbHVlOm59LHtpc0NvcmU6ITB9KSwhMSl9dmFyIG1lPWEoMjYwNTU2KSxVZT1hKDU4ODM5OSksTmU9YSg1NzUxMTMpO2NvbnN0IGdlPSJhdXRoUmVkaXJlY3QiO2Z1bmN0aW9uIEtlKG4sdCxyLG8saSxhKXtjb25zdCBzPSgwLGgubk0pKG4pLHU9c1t0XSE9PXI7aWYodSl7aWYodD09Z2Upe2NvbnN0IGU9YT9hLmdldCgiWC1PV0EtQ2xhaW1DaGFsbGVuZ2UiKTp2b2lkIDA7ZSYmcy5jYyE9PWUmJihzLmNjPWRlY29kZVVSSUNvbXBvbmVudChlKSl9c1t0XT1yLG8mJihzLnNlc3Npb25JZD0oMCxlLk1RKSgpKTtjb25zdCB1PSgwLG1lLlopKCl8fCJtYWlsIjtsZXQgYz1gJHsoMCxDLlopKGAvJHt1fWApfS9gO2kmJihzLnN0YXRlPSIwIixjPWAke2Z1bmN0aW9uKGUpe3ZhciBuO2xldCB0PWU7Y29uc3Qgcj1udWxsPT0obj0oMCxOZS5JKSgpKT92b2lkIDA6bi5wYXRobmFtZTtpZihyKXtjb25zdCBlPSgwLG1lLlopKCl8fCIiLG49ci5zcGxpdCgiLyIpLmZpbHRlcigoZT0+ZSkpLG89bi5pbmRleE9mKGUucmVwbGFjZSgvXlwvK3xcLyskL2csIiIpKTtvPi0xJiZuLnNwbGljZShvLDEpO2NvbnN0IGk9bi5qb2luKCIvIik7dD0oMCxuZS5aUCkodCxpKX1yZXR1cm4oMCxuZS5lNykoKDAsbmUueHMpKHQpKX0oYC8ke3V9YCl9YCksbi5hc3NpZ24oKDAsVWUuWikoYyxzKSl9cmV0dXJuIHV9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIHNlbGYubG9jYXRpb24uYXNzaWduKGUpLCEwfWZ1bmN0aW9uIHdlKGUpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGJlKG4sZSksbn1mdW5jdGlvbiBiZShlLG4pe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4pKWUuc3R5bGUuc2V0UHJvcGVydHkodCxuW3RdKX1mdW5jdGlvbiBFZSgpe2NvbnN0IG49W2BVVEMgRGF0ZTogJHsobmV3IERhdGUpLnRvSVNPU3RyaW5nKCl9YCwiQ2xpZW50IElkOiAiKygwLGUuaTIpKCksIlNlc3Npb24gSWQ6ICIrKDAsZS5NUSkoKSwiQ2xpZW50IFZlcnNpb246ICIrKDAsZS5WSikoKV0sdD0oMCxlLkZLKSgpO3JldHVybiB0JiZuLnB1c2goIk5hdGl2ZSBIb3N0IFZlcnNpb246ICIrdCksbn12YXIgT2U9YSgzMjY4NjQpO2Z1bmN0aW9uIGtlKCl7bGV0IGU9IiI7cmV0dXJuIGU9d2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnMmJndpbmRvdy5vd2FCYWNrZmlsbGVkRXJyb3JzLmxlbmd0aD4wPyJCYWNrIEZpbGxlZCBFcnJvcnM6ICIrd2luZG93Lm93YUJhY2tmaWxsZWRFcnJvcnMubWFwKHhlKS5qb2luKCJ8Iik6IkJhY2sgRmlsbGVkIEVycm9yczogTm9uZSIsZX1mdW5jdGlvbiB4ZShlKXtsZXQgbj0ibnVsbCI7cmV0dXJuIGUmJihuPWVbMF0sImZ1bmN0aW9uIj09dHlwZW9mIGUuY2FsbGVlJiYobis9IjoiK2UuY2FsbGVlKCkpKSxufWNvbnN0IFRlPSJib290RmFpbHVyZUNvdW50IjtmdW5jdGlvbiBQZSgpe2NvbnN0IGU9KDAsbGUuclYpKHdpbmRvdyxUZSk7cmV0dXJuIGU/cGFyc2VJbnQoZSk6MH1mdW5jdGlvbiBEZShlKXsoMCxsZS5MUykod2luZG93LFRlLGUrIiIpfWxldCBMZTtjb25zdCBNZT0iaHR0cHM6Ly9zdXBwb3J0Lm9mZmljZS5jb20iLEJlPSJodHRwczovL3N1cHBvcnQub2ZmaWNlLmNvbS9jbGllbnQvcmVzdWx0cz9IZWxwSUQ9MTkxODIxIixXZT0iQ2FudEJvb3QiO2Z1bmN0aW9uIEZlKG4sdCxyLG8saSl7Y29uc3QgYT1udWxsPT1vP3ZvaWQgMDpvLmNvbGxlY3RMb2dzQ2FsbGJhY2sscz1udWxsPT1vP3ZvaWQgMDpvLmNsb3NlV2luZG93Q2FsbGJhY2ssdT1udWxsPT1vP3ZvaWQgMDpvLnVwZGF0ZUhvc3RDYWxsYmFjayxjPUVlKCk7dC5iYWNrZmlsbGVkRXJyb3JzPWtlKCksTGU9e1RpbWVzdGFtcEluVXRjOihuZXcgRGF0ZSkudG9VVENTdHJpbmcoKSxCb290UmVzdWx0Om4sRXJyb3JEaWFnbm9zdGljczp0LEJvb3RFcnJvcjpyLE1ldGFkYXRhRGV0YWlsczpjLEJvb3RGYWlsdXJlQ291bnQ6UGUoKX07Y29uc3QgbD13ZSh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiIyMnZ3Iix0b3A6IjE1dmgifSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChlPT5mdW5jdGlvbihlLG4sdCxyLG8pe2lmKGUub3JpZ2luPT1NZSl7Y29uc3QgaT1lLmRhdGE7aWYoIWkuc2NlbmFyaW98fGkuc2NlbmFyaW89PVdlKXtpZigiU3VwcG9ydEpTX3VwbG9hZERpYWdub3N0aWNzTG9nc1RvT0RTIj09aS5hY3Rpb24pe2NvbnN0IGU9aS5zZXNzaW9uSWQ7ZSYmbiYmbihlLGkub2RzRW5kcG9pbnQpfWlmKCJTdXBwb3J0SlNfR2V0VXNlckluZm8iPT1pLmFjdGlvbiYmZnVuY3Rpb24oZSl7Y29uc3Qgbj0oMCxLLmszKSgpO2plKGUsIk9uVXNlckluZm9BdmFpbGFibGUiLG4/e3VwbjpufTp7fSxuPyJTdWNjZXNzIjoiTm9VUE5Gb3VuZCIpfShlKSwiU3VwcG9ydEpTX0dldEJvb3RFcnJvckluZm8iPT1pLmFjdGlvbiYmZnVuY3Rpb24oZSl7amUoZSwiT25Cb290RXJyb3JJbmZvQXZhaWxhYmxlIixMZT97ZXJyb3JJbmZvSnNvbjpMZX06e30sTGU/IlN1Y2Nlc3MiOiJOb0Jvb3RFcnJvckluZm9Gb3VuZCIpfShlKSwiU3VwcG9ydEpTX2hpZGVTdXBwb3J0UGFuZSI9PWkuYWN0aW9uJiZ0JiZ0KCksIlN1cHBvcnRKU19ydW5SZWNvdmVyeUFjdGlvbiI9PWkuYWN0aW9uJiYidXBkYXRlSG9zdCI9PWkucmVjb3ZlcnlBY3Rpb24mJnImJnIoKSwiU3VwcG9ydEpTX1JlZnJlc2hXaW5kb3ciPT1pLmFjdGlvbil7bGV0IGU9ITE7dHJ5e2U9IShudWxsPT1vP3ZvaWQgMDpvKCkpfWNhdGNoKGUpe31lfHxzZWxmLmxvY2F0aW9uLnJlbG9hZCgpfX19fShlLGEscyx1LGkpKSksZnVuY3Rpb24obil7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTt0LnNyYz1mdW5jdGlvbigpe2NvbnN0IG49KDAsZS5GSykoKSx0PXtBcHBOYW1lOm4/Ik1PTkFSQ0giOiJPV0EiLEF1ZGllbmNlR3JvdXA6KDAsZS5ucikoKXx8IlByb2R1Y3Rpb24iLExvY2FsZTpaZSgpLFByb2R1Y3RWZXJzaW9uOm51bGwhPW4/bjoiIixTY2VuYXJpbzpXZSxUaGVtZUlkOlZlKCksU2NoZW1hVmVyc2lvbjoiMiJ9O3JldHVybiBCZSsiJiIrKDAsaC5QeikodCl9KCksdC5pZD0ic3VwcG9ydE9uQm9vdEVycm9yIix0LmZyYW1lQm9yZGVyPSIwIix0LnNjcm9sbGluZz0iYXV0byIsdC5hbGxvdz0iZGlzcGxheS1jYXB0dXJlIixiZSh0LHt3aWR0aDoiNTV2dyIsaGVpZ2h0OiI3MHZoIn0pLG4uYXBwZW5kQ2hpbGQodCl9KGwpLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKS5hcHBlbmRDaGlsZChsKX1mdW5jdGlvbiBqZShlLG4sdCxyKXtlLnNvdXJjZS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7ZXZlbnQ6bixkYXRhOnQsZXJyb3I6cn0pLE1lKX1mdW5jdGlvbiBWZSgpe3ZhciBlPSgwLGxlLnJWKSh3aW5kb3csT2UuVS5Kcik7cmV0dXJuIGUmJmUuZW5kc1dpdGgoImRhcmsiKT8iNCI6IjAifWZ1bmN0aW9uIFplKCl7Y29uc3QgZT0oMCxsZS5yVikod2luZG93LCJPd2FMb2NhbGUiKTtyZXR1cm4gZXx8d2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZX1jb25zdCB6ZT0iIzAwNzhENCIscWU9IiMzMzMiLFhlPSJGZXdlciBEZXRhaWxzIixZZT0iJ1NlZ29lIFVJIFdlc3RFdXJvcGVhbicsICdTZWdvZSBVSSBTZW1pYm9sZCcsICdTZWdvZSBXUCBTZW1pYm9sZCcsICdTZWdvZSBVSScsICdTZWdvZSBXUCcsIFRhaG9tYSwgQXJpYWwsIHNhbnMtc2VyaWYnIjtmdW5jdGlvbiBKZShlLG4sdCxyLG8sYSl7Y29uc3Qgcz13ZSh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiIzNDBweCIsdG9wOiI0MHB4In0pLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvYWRpbmdMb2dvIik7aWYodSl7dS5xdWVyeVNlbGVjdG9yQWxsKCIqIikuZm9yRWFjaCgoZT0+e2NvbnN0IG49ZTtnZXRDb21wdXRlZFN0eWxlKG4pLmFuaW1hdGlvbiYmYmUobix7ImFuaW1hdGlvbi1kdXJhdGlvbiI6IjBzIn0pfSkpLHUucmVtb3ZlKCk7YmUodSx7cG9zaXRpb246ImluaXRpYWwiLHdpZHRoOiI1NnB4IixoZWlnaHQ6IjU2cHgiLCJtYXJnaW4tbGVmdCI6Ii0yOHB4Iix0cmFuc2Zvcm06InNjYWxlKDAuMjUpIn0pLHMuYXBwZW5kQ2hpbGQodSl9Y29uc3QgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9hZGluZ1NjcmVlbiIpO2lmKGMmJmMucmVtb3ZlKCksKDAsaS5hNCkoInN1cHBvcnRvbmJvb3QiKSYmZnVuY3Rpb24oKXtpZigoMCxsZS5EWCkod2luZG93KSl7Y29uc3QgZT0hKDAsbGUuamopKHdpbmRvdywib2Nwc2NvbnRhY3RzdXBwb3J0ZW5hYmxlZCIpfHwiMSI9PSgwLGxlLnJWKSh3aW5kb3csIm9jcHNjb250YWN0c3VwcG9ydGVuYWJsZWQiKSxuPSEoMCxsZS5qaikod2luZG93LCJvY3BzZGlhZ25vc3RpY3N0cm91Ymxlc2hvb3RpbmdlbmFibGVkIil8fCIxIj09KDAsbGUuclYpKHdpbmRvdywib2Nwc2RpYWdub3N0aWNzdHJvdWJsZXNob290aW5nZW5hYmxlZCIpO3JldHVybiBlfHxufXJldHVybiExfSgpKXRyeXtyZXR1cm4gdm9pZCBGZShlLG4sdCxyLG8pfWNhdGNoKGUpe31RZShzLHtmb250U2l6ZToiNDBweCIsY29sb3I6emUsIm1hcmdpbi10b3AiOiIyOHB4In0sIlNvbWV0aGluZyB3ZW50IHdyb25nLiIpLFFlKHMse2ZvbnRTaXplOiIxNnB4IiwiZm9udC1mYW1pbHkiOlllLG1hcmdpbjoiMjBweCAwIiwiZm9udC13ZWlnaHQiOiI2MDAiLGNvbG9yOnFlfSwiUGxlYXNlIHRyeSB0aGUgcmVjb21tZW5kZWQgYWN0aW9uIGJlbG93LiIpO2NvbnN0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2JlKGwse21hcmdpbjoiMCA0cHgiLCJmb250LXNpemUiOiIxNHB4IiwibGluZS1oZWlnaHQiOiIxOXB4In0pO2xldCBIPSJSZWZyZXNoIHRoZSBhcHBsaWNhdGlvbiI7Y29uc3QgZD1QZSgpOzI9PWQ/SD0iUmVsb2FkIHRoZSBhcHBsaWNhdGlvbiI6Mz09ZD9IPSJSZWxhdW5jaCB0aGUgYXBwbGljYXRpb24iOmQ+PTQmJihIPSJSZXBhaXIgdGhlIGFwcGxpY2F0aW9uIiksbC5pbm5lclRleHQ9SDtjb25zdCBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpO2JlKGYse2NvbG9yOiJ3aGl0ZSIsImJhY2tncm91bmQtY29sb3IiOnplLGN1cnNvcjoicG9pbnRlciIscGFkZGluZzoiMCAxNnB4IiwibWluLXdpZHRoIjoiODBweCIsImJvcmRlci1yYWRpdXMiOiIycHgiLCJtaW4taGVpZ2h0IjoiMzJweCIsYm9yZGVyOiIxcHggc29saWQgIzAwNzhENCIsImZvbnQtd2VpZ2h0IjoiNjAwIiwiZm9udC1mYW1pbHkiOlllLCJsaW5lLWhlaWdodCI6IjE5cHgifSksZi5hcHBlbmRDaGlsZChsKSxzLmFwcGVuZENoaWxkKGYpO2NvbnN0IFM9UWUocyx7Zm9udFNpemU6IjE0cHgiLGNvbG9yOnplLGN1cnNvcjoicG9pbnRlciIsImZvbnQtZmFtaWx5IjpZZSwibGluZS1oZWlnaHQiOiIxOXB4IiwiZm9udC13ZWlnaHQiOiI2MDAiLG1hcmdpbjoiMjBweCAwIn0sWGUpO2xldCBwPUVlKCk7cC5wdXNoKCJCb290UmVzdWx0OiAiK2UpLHQucmVxdWVzdCYmcC5wdXNoKCJGYWlsZWQgcmVzb3VyY2U6ICIrdC5yZXF1ZXN0KSxwLnB1c2goa2UoKSkscD1wLmNvbmNhdChPYmplY3Qua2V5cyhuKS5maWx0ZXIoKGU9Pm5bZV0pKS5tYXAoKGU9PmUrIjogIituW2VdKSkpO2NvbnN0IEM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicHJlIik7Qy5pbm5lclRleHQ9cC5qb2luKCJcbiIpLGJlKEMse2NvbG9yOnFlLCJ1c2VyLXNlbGVjdCI6ImFsbCJ9KSxzLmFwcGVuZENoaWxkKEMpLFMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+e2NvbnN0IGU9Uy5pbm5lclRleHQ9PVhlO1MuaW5uZXJUZXh0PWU/Ik1vcmUgRGV0YWlscyI6WGUsQy5zdHlsZS5kaXNwbGF5PWU/Im5vbmUiOiIifSkpLGYuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+eyhudWxsPT1hP3ZvaWQgMDphKCkpfHxzZWxmLmxvY2F0aW9uLnJlbG9hZCgpfSkpLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKS5hcHBlbmRDaGlsZChzKX1mdW5jdGlvbiBRZShlLG4sdCl7Y29uc3Qgcj13ZShuKTtyZXR1cm4gdCYmKHIuaW5uZXJUZXh0PXQpLGUuYXBwZW5kQ2hpbGQocikscn1mdW5jdGlvbiBHZShuLHQscixvKXt2YXIgaSxhO2xldCBzPSExOyJsYW5ndHoiPT1uP3M9ZnVuY3Rpb24oZSl7bGV0IG49KDAsQy5aKSgiL293YSIpKyIvIjtyZXR1cm4iQ2FsZW5kYXIiPT1lfHwiTWluaUNhbGVuZGFyIj09ZT9uKz0iP3BhdGg9L2NhbGVuZGFyIjoiUGVvcGxlIiE9ZSYmIk1pbmlQZW9wbGUiIT1lfHwobis9Ij9wYXRoPS9wZW9wbGUiKSx5ZShuKX0oKDAsZS5NcSkoKSk6ImVycm9yZmUiPT1uJiYobnVsbD09KGk9dC5yZXNwb25zZSk/dm9pZCAwOmkudXJsKT9zPXllKHQucmVzcG9uc2UudXJsKToiYXV0aCI9PW4mJihzPUtlKGxvY2F0aW9uLGdlLCJ0cnVlIix2b2lkIDAsITAsbnVsbD09KGE9bnVsbD09dD92b2lkIDA6dC5yZXNwb25zZSk/dm9pZCAwOmEuaGVhZGVycykpLHN8fChudWxsPT1vfHxvKCksSmUobixyLHQpKX1jb25zdCBfZT17fTtmdW5jdGlvbiAkZShuLHQpe3ZhciByO2NvbnN0IG89KDAsaC5uTSkod2luZG93LmxvY2F0aW9uKTtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfZSkpb1tlXT1fZVtlXTtudWxsPT0ocj10LmVkaXRRc3ApfHxyLmNhbGwodCxvKTtjb25zdCBpPW8uYk8hPT1uLnN0cmF0ZWd5O3ZhciBhLHM7cmV0dXJuIGkmJihvLmJPPW4uc3RyYXRlZ3ksby5zZXNzaW9uSWQ9KDAsZS5NUSkoKSxhPWA/JHsoMCxoLlB6KShvKX1gLChzPW4udGltZW91dHx8MCk+MD9zZXRUaW1lb3V0KCgoKT0+e3dpbmRvdy5sb2NhdGlvbi5zZWFyY2g9YX0pLHMpOndpbmRvdy5sb2NhdGlvbi5zZWFyY2g9YSksaX12YXIgZW49YSg2OTk3NjYpLG5uPWEoNjA0MTkxKTtsZXQgdG47ZnVuY3Rpb24gcm4obil7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByO3RyeXt0bj1EYXRlLm5vdygpLCgwLGUuTXEpKCl8fCgwLHMuZGIpKG4uYXBwKSwoMCxlbi5LKSghIW4uaXNEZWVwTGluayksZnVuY3Rpb24oZSl7aWYoRD1lLEQpdHJ5e0w9bmV3IHguWjtjb25zdCBuPW5ldyBULlosdD17fSxyPXtpbnN0cnVtZW50YXRpb25LZXk6ZSxlbmRwb2ludFVybDooMCxQLmgpKCksZXh0ZW5zaW9uczpbbl0sZXh0ZW5zaW9uQ29uZmlnOntbbi5pZGVudGlmaWVyXTp0fX07TC5pbml0aWFsaXplKHIsW10pfWNhdGNoKGUpe319KG4uc3RhcnR1cEFyaWFUb2tlbik7Y29uc3Qgbz1udWxsPT0ocj1uLnJ1bkJlZm9yZVN0YXJ0KT92b2lkIDA6ci5jYWxsKG4sbikuY2F0Y2goKGU9Pnt0aHJvdyBlLnNvdXJjZXx8KGUuc291cmNlPSJCZWZvcmVCb290IiksZX0pKTsoMCxyZS5xXykoe2Jhc2VVcmw6KDAsQy5aKSgoMCxlLmRxKSgpKX0pO2NvbnN0IGk9bi5vdmVycmlkZUJvb3RQcm9taXNlc3x8KCgpPT5BZSgpKSxhPW8/by50aGVuKGkpOmkoKSx1PSgwLEEudDgpKCgoKT0+bi5ib290c3RyYXAuaW1wb3J0KCkpLCJtanMiKSgpLGM9W3twcm9taXNlOmEsa2V5OiJzZCJ9LHtwcm9taXNlOnUsa2V5OiJqcyJ9XTtsZXQgbD1Qcm9taXNlLnJlc29sdmUoKTtjb25zdCBIPSgwLGUuVzMpKCksZD1uLnN0cmF0ZWdpZXMsZj1uLm9wdGlvbnM7ZiYmKGMucHVzaCh7cHJvbWlzZTooMCxBLnQ4KSgoKCk9PmYuaW1wb3J0KCkpLCJvanMiKSgpLGtleToib2pzIn0pLGw9UHJvbWlzZS5hbGwoW2YuaW1wb3J0KCksSHx8UHJvbWlzZS5yZXNvbHZlKCldKS50aGVuKCgoW2VdKT0+ZShhLGQpKSkpO2NvbnN0IFM9W3UsbF07aWYoSCYmUy5wdXNoKEgpLGMucHVzaCh7cHJvbWlzZTpQcm9taXNlLmFsbChTKS50aGVuKCgoW2Usbl0pPT57dHJ5e3JldHVybiBlLmFwcGx5KG51bGwsbj9bbl06W2EsZF0pfWNhdGNoKGUpe3Rocm93KDAsdC5aKShlLCJCb290c3RyYXAiKX19KSkuY2F0Y2goKGU9Pnt0aHJvdygwLHQuWikoZSwiU2NyaXB0Iil9KSksa2V5Om51bGx9KSxuLnJ1bkFmdGVyUmVxdWVzdHMmJm4ucnVuQWZ0ZXJSZXF1ZXN0cyhhKSxuLnN0cmF0ZWdpZXMpZm9yKGNvbnN0IGUgb2YgT2JqZWN0LnZhbHVlcyhuLnN0cmF0ZWdpZXMpKWUmJmUuaW1wb3J0KCk7cmV0dXJuKDAsQS5RcSkoInN0YXJ0IixjKX1jYXRjaChlKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoKDAsdC5aKShlLCJQcmVib290IikpfX0obikudGhlbigoKCk9Pnt2YXIgZTt0cnl7IWZ1bmN0aW9uKGUsbil7dmFyIHQ7QihiKCJvayIsdm9pZCAwLChudWxsPT0odD13aW5kb3cucGVyZm9ybWFuY2UpP3ZvaWQgMDp0Lm5vdykmJntzdGFydDpuLHBsdDplLndhc1VzZXJQcm9tcHRlZD8tMTpNYXRoLmZsb29yKHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSl9KSl9KG4sdG4pO2NvbnN0IHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvYWRpbmdTY3JlZW4iKTt0JiZ0LnBhcmVudE5vZGU9PWRvY3VtZW50LmJvZHkmJigoMCxBLlJuKSgibHNfZSIpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCkpLG51bGw9PShlPW4ub25Mb2FkZXJSZW1vdmVkKXx8ZS5jYWxsKG4pLCgwLG5uLl9iKSgpLERlKDApfWNhdGNoKGUpe3Rocm93KDAsdC5aKShlLCJCb290Q29tcGxldGUiKX19KSkuY2F0Y2goKGU9PnshZnVuY3Rpb24oZSxuKXt2YXIgdDtjb25zdCByPWooZSk7bGV0IG89ZWUoZSxyKTtjb25zdCBpPShudWxsPT0odD1uLm92ZXJyaWRlUmV0cnlTdHJhdGVneSk/dm9pZCAwOnQuY2FsbChuLG8pKXx8YWUobyxyLmVzcmMsITApO2kmJihvPSJyZXRyeSIpLEIoYihvLHIsdm9pZCAwLGUpLGk/dm9pZCAwOjFlNCkudGhlbigoKCk9PntpJiYkZShpLG4pfHwobi5oYW5kbGVCb290RXJyb3J8fEdlKShvLGUscixuLm9uRmF0YWxCb290RXJyb3IpfSkpfShlLG4pfSkpfXZhciBvbj1hKDIzMjIyNiksYW49YSgzMTI4NDcpLHNuPWEoNjQ1MDUzKSx1bj1hKDgxNTYzKTtjb25zdCBjbj0ic3RhcnQiO3ZhciBsbj1hKDYyNDQ1KSxIbj1hKDk0NzUwMyk7Y29uc3QgZG49bmV3IG5uLkhkKCgoKT0+UHJvbWlzZS5hbGwoW2EuZSgyNTY3MSksYS5lKDM5MTgpLGEuZSg1MjYzNyksYS5lKDMyNTU3KSxhLmUoNzU0ODIpLGEuZSg4MjI3MCksYS5lKDcwNzc2KSxhLmUoNzM4MjApLGEuZSg5MzY3NCksYS5lKDU5ODkpLGEuZSg5NDA0NCksYS5lKDcxNzUzKSxhLmUoOTQxNSksYS5lKDI4MjMxKSxhLmUoNzQ2MDYpLGEuZSgzNjE0OCksYS5lKDU2NjY5KSxhLmUoNTk2NjApLGEuZSg4NjE5MiksYS5lKDE0Mjg0KV0pLnRoZW4oYS5iaW5kKGEsNjU4MSkpKSksZm49bmV3IG5uLl81KGRuLChlPT5lLmFwcEJvb3RzdHJhcCkpO3ZhciBTbj1hKDczOTkwNyk7bmV3IG5uLm5JKCgoKT0+UHJvbWlzZS5hbGwoW2EuZSgyNTY3MSksYS5lKDM5MTgpLGEuZSg1MjYzNyksYS5lKDM2MTQ4KSxhLmUoMjU3NiksYS5lKDczODY2KSxhLmUoNDcxMTMpLGEuZSg3MzMyMiksYS5lKDE0MzIwKV0pLnRoZW4oYS5iaW5kKGEsNDk5MjEzKSkpKS5pbXBvcnRNb2R1bGUoIkNoYW5nZU1vZHVsZSIpO3ZhciBwbj1hKDk2MDA3Myk7Y29uc3QgQ249bmV3IG5uLkhkKCgoKT0+UHJvbWlzZS5hbGwoW2EuZSgyNTY3MSksYS5lKDM5MTgpLGEuZSg1MjYzNyksYS5lKDkzNzcpLGEuZSg5NjIxOCksYS5lKDI1NzYpLGEuZSg3Mzg2NiksYS5lKDQ3MTEzKSxhLmUoOTY2NjApLGEuZSg5MzQpLGEuZSg5NTcxNiksYS5lKDk5MzYyKV0pLnRoZW4oYS5iaW5kKGEsNTQ5MDg4KSkpKSxBbj1uZXcgbm4uXzUoQ24sKGU9PmUuZ2V0T2ZmbGluZVNlc3Npb25EYXRhKSksSW49bj0+bj09bG4uWS5QZW9wbGUmJigwLGUuQ1EpKCk/e292ZXJyaWRlQm9vdFByb21pc2VzOigpPT5BZSgpLGxvYWRCcG9zOiExLGRpc2FibGVGZWF0dXJlOntsb2FkV2ViUmVzb2x2ZXJzOiEwLG9mZmxpbmVTZXNzaW9uRGF0YTohMH19Ont9O2Z1bmN0aW9uIFJuKCl7cmV0dXJuKDAsaS5hNCkoIm9mZmxpbmVXZWIiKXx8aG4oKX1mdW5jdGlvbiBobigpe3JldHVybigwLGkuYTQpKCJkZXYtYm9vdE9mZmxpbmUiKX1mdW5jdGlvbiB2bigpe3JldHVybiFzZWxmLm5hdmlnYXRvci5vbkxpbmV9ZnVuY3Rpb24gbW4oZSxuLHQscj01MDApe3JldHVybiBSbigpP3ZuKCl8fGhuKCk/KCgwLGZlLkNaKSgiUmFjZU9mZmxpbmUiLHtsOmV9KSx0KCkpOmZ1bmN0aW9uKGUsbil7Y29uc3QgdD1EYXRlLm5vdygpO3JldHVybiBuZXcgUHJvbWlzZSgoKHIsbyk9Pntjb25zdCBpPVtdLGE9cj0+e2kucHVzaChyKSxpLmxlbmd0aD09PWUubGVuZ3RoJiYoKDAsZmUuQ1opKCJSYWNlRXJyb3IiLHtsOm4sdDpEYXRlLm5vdygpLXQsZTppWzBdfSksbyhpWzBdKSl9O2xldCBzPSExO2NvbnN0IHU9ZT0+bz0+e3M/KDAsZmUuQ1opKCJSYWNlUGFydGljaXBhbnQiLHtsOm4sdDpEYXRlLm5vdygpLXQscDplfSk6KHM9ITAsKDAsZmUuQ1opKCJSYWNlRmluaXNoIix7bDpuLHQ6RGF0ZS5ub3coKS10LHA6ZX0pLHIobykpfTtsZXQgYz0xO2Zvcihjb25zdCBuIG9mIGUpbi50aGVuKHUoYysrKSxhKX0pKX0oW24oKSwoMCxzZS5aKShyLHQoKSldLGUpOm4oKX1mdW5jdGlvbiBVbihlKXsoMCxyZS5xXykoe2Rpc2FibGVBbGxSZXF1ZXN0czplfSl9Y29uc3QgTm49e1Blb3BsZToiOTBjMzFlOWY3MDJjNDU2NGIxMjAxNjcyNDdkM2NkOWYtZDg5NGE0ZTUtNzJmNC00MjIxLWFiMDAtOTRlMTM1OWRmYjYwLTcxMzciLEZpbGVzSHViOiI1NjQ2OGY2OTkxYzM0ODAyOWM2YmJhNDAzYjQ0NDYwNy03ZjVkNmNkMS03ZmJlLTRhYjEtYmUwMy0zYjJiNmFlYjNlYjQtNzY5NiJ9O2Z1bmN0aW9uIGduKCl7dHJ5e2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCgoKT0+e2RvY3VtZW50LmJvZHkuc3R5bGUubWluV2lkdGg9IjQxOHB4In0pKSwoMCxlLndpKSgpfWNhdGNoKGUpe319IWFzeW5jIGZ1bmN0aW9uKG4sdCxyLG8saSl7dmFyIGE7Y29uc3Qgcz0oMCxwbi5BKSgpLHU9U24uX1tzXTshZnVuY3Rpb24oKXt2YXIgZTtpZihobigpKXJldHVybiBVbighMCk7aWYoUm4oKSl7VW4odm4oKSk7Y29uc3Qgbj1udWxsPT0oZT1zZWxmLm5hdmlnYXRvcik/dm9pZCAwOmUuY29ubmVjdGlvbjtuP24uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoKCk9PntVbih2bigpKX0pKToidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLCgoKT0+VW4oITEpKSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLCgoKT0+VW4oITApKSkpfX0oKTtjb25zdCBjPXthcHA6cyxzdGFydHVwQXJpYVRva2VuOk5uW3NdfHwiM2IxZWEwMTQ1MGJlNDhmMjk3NTlkODY4OTMxZTIyNWQtNzE2NzY4NWItZjZmZi00MjFjLWFhNjQtOGFlMTZmZTkyMTI4LTcyODMiLHJ1bkJlZm9yZVN0YXJ0Om4sb3ZlcnJpZGVCb290UHJvbWlzZXM6KCk9Pm1uKCJTZXNzaW9uRGF0YSIsKCgpPT5BZSgpKSwoKCk9PkFuLmltcG9ydEFuZEV4ZWN1dGUocykpKSxydW5BZnRlclJlcXVlc3RzOmduLGxvYWRCcG9zOiEwLHN0cmF0ZWdpZXM6bz97Li4udS5zdHJhdGVnaWVzLC4uLm99OnUuc3RyYXRlZ2llcyxib290c3RyYXA6Zm4sb3B0aW9uczp1Lm9wdGlvbnMsaXNEZWVwTGluazpzPT1sbi5ZLk1haWxEZWVwTGlua3x8cz09bG4uWS5DYWxlbmRhckRlZXBMaW5rLG9uTG9hZGVyUmVtb3ZlZDp0LGhhbmRsZUJvb3RFcnJvcjpyLGNhY2hlc1RvQ2xlYW46bnVsbD09KGE9KDAsSG4uSCkocykpP3ZvaWQgMDphLmFwcCxlZGl0UXNwOml9O2F3YWl0IGZ1bmN0aW9uKG4pe2lmKCgwLGUuQ1EpKCkpe2NvbnN0IHQ9bi5ydW5CZWZvcmVTdGFydDtuLnJ1bkJlZm9yZVN0YXJ0PW49PnNuLktFLmltcG9ydEFuZEV4ZWN1dGUoKS50aGVuKCgoKT0+c24ucjYuaW1wb3J0KCkudGhlbigoZT0+KCgwLHJlLnFfKSh7Z2V0QXV0aFRva2VuOmV9KSxzbi56ZS5pbXBvcnRBbmRFeGVjdXRlKCksc24ub1EuaW1wb3J0QW5kRXhlY3V0ZSgpKSkpLnRoZW4oKHI9Pnt2YXIgbyxpLGEscyx1LGMsbDtyZXR1cm4oMCxlLkIpKG51bGw9PShpPW51bGw9PShvPW51bGw9PXI/dm9pZCAwOnIuYXBwKT92b2lkIDA6by5ob3N0KT92b2lkIDA6aS5uYW1lLG51bGw9PShzPW51bGw9PShhPW51bGw9PXI/dm9pZCAwOnIuYXBwKT92b2lkIDA6YS5ob3N0KT92b2lkIDA6cy5jbGllbnRUeXBlKSwoMCxyZS5xXykoe21ldGFPU0NvbnRleHQ6e2xvY2FsZToobnVsbD09KHU9bnVsbD09cj92b2lkIDA6ci5hcHApP3ZvaWQgMDp1LmxvY2FsZSl8fCJlbi11cyIsaG9zdE5hbWU6bnVsbD09KGw9bnVsbD09KGM9bnVsbD09cj92b2lkIDA6ci5hcHApP3ZvaWQgMDpjLmhvc3QpP3ZvaWQgMDpsLm5hbWV9fSksbnVsbD09dD92b2lkIDA6dChuKX0pKSkpfXJldHVybiBybih7Li4ubixydW5BZnRlclJlcXVlc3RzOmU9Pnt2YXIgdCxyOyhudWxsPT0odD1uLmRpc2FibGVGZWF0dXJlKT92b2lkIDA6dC5sb2FkV2ViUmVzb2x2ZXJzKXx8dW4uSS5pbXBvcnQoKTtjb25zdCBvPSgwLGxlLnJWKSh3aW5kb3csT2UuVS5Kcik7byYmKDAsT2UuaSkobywibHMiKTtjb25zdCBpPSgwLGxlLnJWKSh3aW5kb3csb24ud3ApO2kmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZz1pKSwoMCxvbi56JCkoImxzIiksbi5sb2FkQnBvcyYmKCgwLHRlLnNfKSgpPygwLGFuLk4pKGNuLG4uYXBwLCEwKTplLnRoZW4oKCgpPT4oMCxhbi5OKShjbixuLmFwcCkpKSksZS50aGVuKCgoKT0+eygwLG9uLnokKSgic2QiKX0pKS5jYXRjaCgoKCk9Pnt9KSksbnVsbD09KHI9bi5ydW5BZnRlclJlcXVlc3RzKXx8ci5jYWxsKG4sZSl9fSl9KHsuLi5jLC4uLkluKHMpfSl9KCl9KSgpLChzZWxmLk93YT1zZWxmLk93YXx8e30pLm1haWxpbmRleD1mfSkoKSxzZWxmLnNjcmlwdHNMb2FkZWQ9c2VsZi5zY3JpcHRzTG9hZGVkfHx7fSxzZWxmLnNjcmlwdHNMb2FkZWRbIm93YS5tYWlsaW5kZXguanMiXT0xOzwvc2NyaXB0PjwvaGVhZD4gPGJvZHkgY2xhc3M9Im1zLWZvbnQtcyBkaXNhYmxlVGV4dFNlbGVjdGlvbiBtcy1GYWJyaWMtLWlzRm9jdXNIaWRkZW4iPiA8ZGl2IGlkPXByZWxvYWREaXY+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTonU2Vnb2UgVUkgV2VzdEV1cm9wZWFuJztmb250LXdlaWdodDoxMDAiPnQ8L3NwYW4+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTonU2Vnb2UgVUkgV2VzdEV1cm9wZWFuJztmb250LXdlaWdodDoyMDAiPnQ8L3NwYW4+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTonU2Vnb2UgVUkgV2VzdEV1cm9wZWFuJztmb250LXdlaWdodDo0MDAiPnQ8L3NwYW4+IDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTonU2Vnb2UgVUkgV2VzdEV1cm9wZWFuJztmb250LXdlaWdodDo2MDAiPnQ8L3NwYW4+IDwvZGl2PiA8ZGl2IGlkPWFwcD48L2Rpdj4gPGRpdiBpZD1sb2FkaW5nU2NyZWVuPiA8ZGl2IGlkPWxvYWRpbmdMb2dvPiA8c3R5bGU+OnJvb3R7LS1zOjE4MHB4Oy0tZW52VzoxMzBweDstLWVudkg6NzFweDstLWNhbFc6MTE4cHg7LS1zcVc6Y2FsYyh2YXIoLS1jYWxXKSAvIDMpOy0tc3FIOjM3cHg7LS1jYWxISDoyMHB4Oy0tY2FsSDpjYWxjKHZhcigtLXNxSCkgKiAzICsgdmFyKC0tY2FsSEgpKTstLWNhbFk6Y2FsYyh2YXIoLS1jYWxIKSArIDIwcHgpOy0tY2FsWUV4dDpjYWxjKHZhcigtLWNhbEgpIC0gODBweCk7LS1jYWxZT3ZlckV4dDpjYWxjKHZhcigtLWNhbEgpIC0gOTJweCk7LS1mbGFwUzo5NnB4Oy0tZmxhcEg6Y2FsYygwLjU1ICogdmFyKC0tZW52SCkpOy0tZmxhcFNjYWxlWTpjYWxjKHZhcigtLWZsYXBIKSAvIHZhcigtLWZsYXBXaWR0aCkpOy0tZHVyOjVzfSNjb250YWluZXJ7d2lkdGg6dmFyKC0tcyk7aGVpZ2h0OnZhcigtLXMpO2FuaW1hdGlvbjpib3VuY2UgdmFyKC0tZHVyKSBpbmZpbml0ZX1Aa2V5ZnJhbWVzIGJvdW5jZXswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMi41JXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yMi41JXt0cmFuc2Zvcm06dHJhbnNsYXRlWSg3cHgpfTMyLjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX03Ni4xJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX04NiV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoN3B4KX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0jbG9nb3toZWlnaHQ6MTc5cHg7d2lkdGg6MTMwcHg7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi10b3A6LTU5cHg7bWFyZ2luLWxlZnQ6MjVweH0jY29udGFpbmVyU2hhZG93e3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoxMjBweDtsZWZ0OjI1cHg7d2lkdGg6dmFyKC0tZW52Vyk7aGVpZ2h0OnZhcigtLWVudkgpO2JvcmRlci1yYWRpdXM6MCAwIDdweCA3cHg7Ym94LXNoYWRvdzpyZ2JhKDAsMCwwLC4yNSkgMCA0cHggNXB4O2FuaW1hdGlvbjpzaGFkb3ctZmFkZSB2YXIoLS1kdXIpIGluZmluaXRlfUBrZXlmcmFtZXMgc2hhZG93LWZhZGV7MCV7b3BhY2l0eTowfTIxLjIle29wYWNpdHk6MH00NyV7b3BhY2l0eToxfTcwJXtvcGFjaXR5OjF9ODAle29wYWNpdHk6MH0xMDAle29wYWNpdHk6MH19I2ZsYXBDb250YWluZXJ7d2lkdGg6dmFyKC0tZW52Vyk7bWFyZ2luLXRvcDoxNzlweH0jZWZ7d2lkdGg6dmFyKC0tZW52Vyk7aGVpZ2h0OnZhcigtLWVudkgpO2JvcmRlci1yYWRpdXM6MCAwIDdweCA3cHg7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi10b3A6LTQxcHh9I2VmPi5se3dpZHRoOjI4N3B4O2hlaWdodDp2YXIoLS1lbnZIKTtiYWNrZ3JvdW5kOiMyOGE4ZWE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTUzcHgsLTcwcHgpIHJvdGF0ZSgyOGRlZyl9I2VmPi5ye3dpZHRoOjI4N3B4O2hlaWdodDp2YXIoLS1lbnZIKTtiYWNrZ3JvdW5kOiMxNDkwZGY7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTIwcHgsNjNweCkgcm90YXRlKC0yOGRlZyl9I2Vie3dpZHRoOnZhcigtLWVudlcpO2hlaWdodDo0MHB4O2JhY2tncm91bmQ6IzEyM2I2ZDttYXJnaW4tdG9wOi03MHB4fSNjYWx7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LXdyYXA6d3JhcDt3aWR0aDp2YXIoLS1jYWxXKTtoZWlnaHQ6dmFyKC0tY2FsSCk7Ym9yZGVyLXJhZGl1czo3cHg7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowIGF1dG87bWFyZ2luLXRvcDotMzA2cHg7YW5pbWF0aW9uOmNhbC1ib3VuY2UgdmFyKC0tZHVyKSBpbmZpbml0ZTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAuNSwwLDEpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFlFeHQpKSBzY2FsZVkoMSl9QGtleWZyYW1lcyBjYWwtYm91bmNlezAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFkpKSBzY2FsZVkoMSl9MTYuNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkodmFyKC0tY2FsWSkpIHNjYWxlWSgxKX0yOCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkodmFyKC0tY2FsWU92ZXJFeHQpKSBzY2FsZVkoMSl9MzEle3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFlFeHQpKSBzY2FsZVkoMS4wNSl9MzMle3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFlFeHQpKSBzY2FsZVkoLjk2KX0zNCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkodmFyKC0tY2FsWUV4dCkpIHNjYWxlWSgxKX02OC41JXt0cmFuc2Zvcm06dHJhbnNsYXRlWSh2YXIoLS1jYWxZRXh0KSkgc2NhbGVZKDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNjYsLTAuMTYsMSwtMC4yOSl9NzYuMSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkodmFyKC0tY2FsWSkpIHNjYWxlWSgxKX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKHZhcigtLWNhbFkpKSBzY2FsZVkoMSl9fSNjYWw+LnR7d2lkdGg6dmFyKC0tY2FsVyk7aGVpZ2h0OmNhbGModmFyKC0tY2FsSEgpICsgMXB4KTttYXJnaW4tYm90dG9tOi0xcHg7YmFja2dyb3VuZDojMDM1OGE3fSNjYWw+LnJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzt3aWR0aDp2YXIoLS1jYWxXKTtoZWlnaHQ6dmFyKC0tc3FIKX0uc3t3aWR0aDp2YXIoLS1zcVcpO2hlaWdodDpjYWxjKHZhcigtLXNxSCkgKyAxcHgpfS5zMXtiYWNrZ3JvdW5kOiMwMDc4ZDR9LnMye2JhY2tncm91bmQ6IzI4YThlYX0uczN7YmFja2dyb3VuZDojNTBkOWZmfS5zNHtiYWNrZ3JvdW5kOiMwMzY0Yjh9LnM1e2JhY2tncm91bmQ6IzE0NDQ3ZH0jb3BlbmVkRmxhcHt3aWR0aDp2YXIoLS1lbnZXKTtoZWlnaHQ6MTA3cHg7YW5pbWF0aW9uOm9wZW5lZC1mbGFwLXN3aW5nIHZhcigtLWR1cikgaW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4zMiwwLDAuNjcsMCk7dHJhbnNmb3JtLW9yaWdpbjp0b3A7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTY4cHgpIHJvdGF0ZTNkKDEsMCwwLC0xODBkZWcpfUBrZXlmcmFtZXMgb3BlbmVkLWZsYXAtc3dpbmd7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTY4cHgpIHJvdGF0ZTNkKDEsMCwwLC05MGRlZyl9MTQuNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTY4cHgpIHJvdGF0ZTNkKDEsMCwwLC05MGRlZyl9MTYuNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTY4cHgpIHJvdGF0ZTNkKDEsMCwwLC0xODBkZWcpfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjhweCkgcm90YXRlM2QoMSwwLDAsLTE4MGRlZyl9NzQle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02OHB4KSByb3RhdGUzZCgxLDAsMCwtMTgwZGVnKX03NiV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTY4cHgpIHJvdGF0ZTNkKDEsMCwwLC05MGRlZyl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjhweCkgcm90YXRlM2QoMSwwLDAsLTkwZGVnKX19I2Nsb3NlZEZsYXB7d2lkdGg6dmFyKC0tZW52Vyk7YW5pbWF0aW9uOmNsb3NlZC1mbGFwLXN3aW5nIHZhcigtLWR1cikgaW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4zMiwwLDAuNjcsMCk7dHJhbnNmb3JtLW9yaWdpbjp0b3A7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLWVudkgpKSkgcm90YXRlM2QoMSwwLDAsOTBkZWcpfUBrZXlmcmFtZXMgY2xvc2VkLWZsYXAtc3dpbmd7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLWVudkgpKSkgcm90YXRlM2QoMSwwLDAsMCl9OC41JXt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tZW52SCkpKSByb3RhdGUzZCgxLDAsMCwwKX0xNC41JXt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tZW52SCkpKSByb3RhdGUzZCgxLDAsMCw5MGRlZyl9NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS1lbnZIKSkpIHJvdGF0ZTNkKDEsMCwwLDkwZGVnKX03NiV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLWVudkgpKSkgcm90YXRlM2QoMSwwLDAsOTBkZWcpfTc3JXt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tZW52SCkpKSByb3RhdGUzZCgxLDAsMCwwKX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS1lbnZIKSkpIHJvdGF0ZTNkKDEsMCwwLDApfX0jZm1hc2t7d2lkdGg6dmFyKC0tZW52Vyk7aGVpZ2h0OjEwN3B4O292ZXJmbG93OmhpZGRlbn0uZmxhcFRyaWFuZ2xle3dpZHRoOnZhcigtLWZsYXBTKTtoZWlnaHQ6dmFyKC0tZmxhcFMpO2JhY2tncm91bmQ6IzUwZDlmZjttYXJnaW46LTQ4cHggYXV0byAwIGF1dG87Ym9yZGVyLXJhZGl1czo3cHg7dHJhbnNmb3JtOnNjYWxlWSguNikgcm90YXRlKDQ1ZGVnKX0jb3BlbmVkRmxhcCAuZmxhcFRyaWFuZ2xle2JhY2tncm91bmQ6IzEyM2I2ZH0jY2xvc2VkRmxhcCAuZmxhcFRyaWFuZ2xle2JhY2tncm91bmQ6IzUwZDlmZn08L3N0eWxlPiA8ZGl2IGlkPWNvbnRhaW5lcj4gPGRpdiBpZD1jb250YWluZXJTaGFkb3c+PC9kaXY+IDxkaXYgaWQ9bG9nbz4gPGRpdiBpZD1mbGFwQ29udGFpbmVyPiA8ZGl2IGlkPW9wZW5lZEZsYXA+IDxkaXYgaWQ9Zm1hc2s+PGRpdiBjbGFzcz1mbGFwVHJpYW5nbGU+PC9kaXY+PC9kaXY+IDwvZGl2PiA8ZGl2IGlkPWNhbD4gPGRpdiBjbGFzcz10PjwvZGl2PiA8ZGl2IGNsYXNzPXI+IDxkaXYgY2xhc3M9InMgczEiPjwvZGl2PiA8ZGl2IGNsYXNzPSJzIHMyIj48L2Rpdj4gPGRpdiBjbGFzcz0icyBzMyI+PC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPXI+IDxkaXYgY2xhc3M9InMgczQiPjwvZGl2PiA8ZGl2IGNsYXNzPSJzIHMxIj48L2Rpdj4gPGRpdiBjbGFzcz0icyBzMiI+PC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPXI+IDxkaXYgY2xhc3M9InMgczUiPjwvZGl2PiA8ZGl2IGNsYXNzPSJzIHM0Ij48L2Rpdj4gPGRpdiBjbGFzcz0icyBzMSI+PC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgaWQ9ZWI+PC9kaXY+IDxkaXYgaWQ9ZWY+IDxkaXYgY2xhc3M9cj48L2Rpdj4gPGRpdiBjbGFzcz1sPjwvZGl2PiA8L2Rpdj4gPGRpdiBpZD1jbG9zZWRGbGFwPiA8ZGl2IGlkPWZtYXNrPjxkaXYgY2xhc3M9ZmxhcFRyaWFuZ2xlPjwvZGl2PjwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPHN2ZyBpZD1NU0xvZ28gd2lkdGg9OTkgaGVpZ2h0PTIyIHhtbG5zPWh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnPiA8ZyBmaWxsPW5vbmUgZmlsbC1ydWxlPWV2ZW5vZGQ+IDxwYXRoIGQ9Im0zNC42NCAxMi4wNy0uNTggMS42NWgtLjA0Yy0uMS0uMzktLjI4LS45My0uNTYtMS42M2wtMy4xNC03LjloLTMuMDh2MTIuNTZoMi4wM1Y5LjAzbC0uMDMtMS43Yy0uMDEtLjM0LS4wNS0uNi0uMDYtLjgxaC4wNWMuMS40Ny4yLjgzLjI4IDEuMDdsMy43OCA5LjE2aDEuNDJsMy43NS05LjI0Yy4wOC0uMjEuMTctLjYyLjI1LTFoLjA1Yy0uMDUuOTItLjEgMS43Ni0uMSAyLjI2djcuOThoMi4xN1Y0LjJoLTIuOTZsLTMuMjMgNy44OHoiIGZpbGw9IzczNzQ3NCAvPiA8cGF0aCBkPSJNMCAyMC45Nmg5OC4xNVYwSDB6Ii8+IDxwYXRoIGZpbGw9IzczNzQ3NCBkPSJNNDIuODcgMTYuNzVoMi4xMXYtOWgtMi4xMXptMS4wOC0xMi44MmMtLjM1IDAtLjY2LjEyLS45LjM1YTEuMTcgMS4xNyAwIDAgMC0uMzguODhjMCAuMzUuMTIuNjQuMzcuODcuMjUuMjMuNTUuMzQuOS4zNHMuNjctLjExLjkyLS4zNGMuMjUtLjIzLjM4LS41Mi4zOC0uODYgMC0uMzQtLjEzLS42NC0uMzctLjg4YTEuMjYgMS4yNiAwIDAgMC0uOTItLjM2bTguNTMgMy43M2E1LjkgNS45IDAgMCAwLTEuMTktLjEyYy0uOTcgMC0xLjgzLjItMi41Ny42Mi0uNzQuNC0xLjMgMS0xLjcgMS43NGE1LjU3IDUuNTcgMCAwIDAtLjAxIDQuOWMuMzcuNy45IDEuMjMgMS41OCAxLjYuNjcuMzggMS40NS41NyAyLjMxLjU3IDEuMDEgMCAxLjg3LS4yIDIuNTYtLjZsLjAzLS4wMnYtMS45NGwtLjEuMDdjLS4zLjIzLS42NS40LTEuMDMuNTRhMy4xMiAzLjEyIDAgMCAxLTEuMDEuMmMtLjgzIDAtMS41LS4yNi0xLjk4LS43OGEzIDMgMCAwIDEtLjczLTIuMTRjMC0uOS4yNS0xLjY1Ljc2LTIuMmEyLjYgMi42IDAgMCAxIDEuOTgtLjgxYy43IDAgMS4zOC4yMyAyLjAyLjdsLjA5LjA2VjguMDFMNTMuNDYgOGEzLjUgMy41IDAgMCAwLS45OC0uMzNtNi45Ny0uMDZhMi4xNyAyLjE3IDAgMCAwLTEuNDEuNWMtLjM2LjMtLjYyLjctLjgyIDEuMjFoLS4wMlY3Ljc1aC0yLjEydjloMi4xMnYtNC42YzAtLjc4LjE4LTEuNDMuNTMtMS45MS4zNC0uNDguOC0uNzMgMS4zNy0uNzNhMi41IDIuNSAwIDAgMSAxLjEzLjNsLjA5LjA2VjcuNzRsLS4wNC0uMDJjLS4yLS4wOC0uNDctLjEyLS44My0uMTJtNy40NCA2Ljg3Yy0uNC41LTEgLjc1LTEuNzguNzVzLTEuNC0uMjYtMS44My0uNzdhMy4yNSAzLjI1IDAgMCAxLS42NS0yLjE2YzAtLjk2LjIyLTEuNy42NS0yLjIyYTIuMjQgMi4yNCAwIDAgMSAxLjgtLjc4Yy43NSAwIDEuMzQuMjUgMS43Ny43NC40Mi41LjY0IDEuMjQuNjQgMi4yIDAgLjk4LS4yIDEuNzMtLjYgMi4yM002NS4yIDcuNTRhNC43IDQuNyAwIDAgMC0zLjUgMS4yOSA0Ljg0IDQuODQgMCAwIDAtMS4yNyAzLjUzYzAgMS40LjQyIDIuNTQgMS4yNCAzLjM2YTQuNDggNC40OCAwIDAgMCAzLjMxIDEuMjVjMS40NCAwIDIuNi0uNDQgMy40NC0xLjMxYTQuODQgNC44NCAwIDAgMCAxLjI2LTMuNWMwLTEuNDMtLjQtMi41Ny0xLjE4LTMuMzlhNC4zOCA0LjM4IDAgMCAwLTMuMy0xLjIzbTkuMTggMy45M2E0LjYgNC42IDAgMCAxLTEuMjctLjY2LjkzLjkzIDAgMCAxLS4yNi0uN2MwLS4yNS4xLS40Ni4zMy0uNjMuMjItLjE3LjUyLS4yNi45LS4yNmEzLjc0IDMuNzQgMCAwIDEgMi4wNC42bC4xLjA3VjcuOTNsLS4wNC0uMDJhNC43MSA0LjcxIDAgMCAwLS45Ny0uMjYgNS45MyA1LjkzIDAgMCAwLTEuMDUtLjExYy0xLjAxIDAtMS44NS4yNS0yLjQ5Ljc2YTIuNDUgMi40NSAwIDAgMC0uOTYgMmMwIC40Mi4wNy44LjIgMS4xMi4xNS4zMi4zNi42LjY1LjgzLjI4LjI0LjcyLjQ4IDEuMy43My40OS4yLjg1LjM3IDEuMDguNS4yMy4xNC4zOS4yNy40OC40LjA5LjEyLjEzLjMuMTMuNSAwIC42MS0uNDUuOS0xLjM4LjlhMy44IDMuOCAwIDAgMS0xLjE3LS4yIDQuNDIgNC40MiAwIDAgMS0xLjItLjYybC0uMS0uMDZ2Mi4wNmwuMDQuMDJhNi4wMiA2LjAyIDAgMCAwIDIuMzUuNWMxLjEtLjAxIDEuOTgtLjI3IDIuNjItLjc4LjY1LS41Mi45OC0xLjIuOTgtMi4wNSAwLS42LS4xOC0xLjEyLS41My0xLjU0LS4zNC0uNDItLjk0LS44LTEuNzgtMS4xNG05LjY4IDNjLS40LjUtMSAuNzUtMS43OC43NS0uNzcgMC0xLjM5LS4yNi0xLjgyLS43N2EzLjI1IDMuMjUgMCAwIDEtLjY1LTIuMTZjMC0uOTYuMjItMS43LjY1LTIuMjJhMi4yNCAyLjI0IDAgMCAxIDEuOC0uNzhjLjc1IDAgMS4zNC4yNSAxLjc2Ljc0LjQzLjUuNjUgMS4yNC42NSAyLjIgMCAuOTgtLjIgMS43My0uNiAyLjIzbS0xLjY5LTYuOTJhNC43IDQuNyAwIDAgMC0zLjUgMS4yOSA0Ljg0IDQuODQgMCAwIDAtMS4yNyAzLjUzYzAgMS40LjQyIDIuNTQgMS4yNCAzLjM2YTQuNDggNC40OCAwIDAgMCAzLjMxIDEuMjVjMS40NCAwIDIuNi0uNDQgMy40NC0xLjMxYTQuODQgNC44NCAwIDAgMCAxLjI2LTMuNWMwLTEuNDMtLjQtMi41Ny0xLjE5LTMuMzlhNC4zOCA0LjM4IDAgMCAwLTMuMjktMS4yM20xNS43NyAxLjk0VjcuNzVIOTZWNS4wN2wtLjA3LjAyLTIuMDEuNjJoLS4wNHYyLjA0SDkwLjdWNi42MmMwLS41My4xMi0uOTMuMzUtMS4yLjIzLS4yNy41Ni0uNC45OS0uNC4zIDAgLjYxLjA3LjkzLjIxbC4wOC4wNFYzLjQ1TDkzIDMuNDNjLS4zLS4xLS43LS4xNS0xLjItLjE1LS42MiAwLTEuMTkuMTMtMS42OC40LS41LjI3LS44OS42Ni0xLjE2IDEuMTVhMy40MSAzLjQxIDAgMCAwLS40MSAxLjY4djEuMjRoLTEuNXYxLjczaDEuNXY3LjI3aDIuMTRWOS40OGgzLjE4djQuNjJjMCAxLjkuOSAyLjg3IDIuNjcgMi44N2E0LjM2IDQuMzYgMCAwIDAgMS41Ny0uMzFsLjAzLS4wMlYxNC45bC0uMDkuMDZjLS4xMi4wNy0uMjYuMTQtLjQzLjE4LS4xNy4wNS0uMzEuMDgtLjQyLjA4LS40MiAwLS43My0uMTItLjkyLS4zNC0uMTktLjIyLS4yOS0uNi0uMjktMS4xNVY5LjQ4aDIuMTV6Ii8+IDxwYXRoIGZpbGw9I0YwNTEyNCBkPSJNMCA5Ljk2aDkuOTZWMEgweiIvPiA8cGF0aCBmaWxsPSM3RUJCNDIgZD0iTTExIDkuOTZoOS45NVYwSDExeiIvPiA8cGF0aCBmaWxsPSMzMkEwREEgZD0iTTAgMjAuOTZoOS45NlYxMUgweiIvPiA8cGF0aCBmaWxsPSNGREI4MTMgZD0iTTExIDIwLjk2aDkuOTVWMTFIMTF6Ii8+IDwvZz4gPC9zdmc+IDwvZGl2PiA8L2JvZHk+IDwvaHRtbD4g"><img alt="" data-outlook-trace="F:3|T:3" src="cid:5ef5a6aa-f6e9-4c50-b58b-31bf518ba871"></div>
</div>
</div>
</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> Mark Jones <jones@jlab.org><br>
<b>Sent:</b> Wednesday, March 1, 2023 9:49 AM<br>
<b>To:</b> Marc Mcmullen <mcmullen@jlab.org>; Chad Bailey <cbailey@jlab.org>; Amrit Yegneswaran <yeg@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; Brian Eng <beng@jlab.org>; Mindy Leffel <leffel@jlab.org><br>
<b>Cc:</b> mayilyan@jlab.org <mayilyan@jlab.org>; dsg-halla_expt@jlab.org <dsg-halla_expt@jlab.org>; Bonnie Rodriguez <bonnie@jlab.org>; Phillip Stanley <pstanley@jlab.org>; Rick Adrover <adrover@jlab.org><br>
<b>Subject:</b> Re: GEp HV patch panels</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)">
Rick,</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)">
           You can talk with Jack Segal and Chris Cuevas about the connectors.</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)">
Cheers,</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)">
          Mark</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> Marc Mcmullen <mcmullen@jlab.org><br>
<b>Sent:</b> Wednesday, March 1, 2023 9:18 AM<br>
<b>To:</b> Chad Bailey <cbailey@jlab.org>; Amrit Yegneswaran <yeg@jlab.org>; Mark Jones <jones@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; Brian Eng <beng@jlab.org>; Mindy Leffel <leffel@jlab.org><br>
<b>Cc:</b> mayilyan@jlab.org <mayilyan@jlab.org>; dsg-halla_expt@jlab.org <dsg-halla_expt@jlab.org>; Bonnie Rodriguez <bonnie@jlab.org>; Phillip Stanley <pstanley@jlab.org>; Rick Adrover <adrover@jlab.org><br>
<b>Subject:</b> Re: GEp HV patch panels</font>
<div> </div>
</div>
<div dir="ltr">
<div class="x_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)">
Last week,</div>
<div class="x_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_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Phil Stanley, Bonnie Rodriguez, and Rick Androver stopped by and looked at the chassis with it's connectors.</div>
<div class="x_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_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Rick looked at the electrical drawing and said he was going to talk with the Hall A ECal staff about the connectors and design to get some clarity.</div>
<div class="x_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_x_elementToProof" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">
Regards,</div>
<div class="x_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<br>
</div>
<div id="x_x_x_x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_x_x_x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Dsg-halla_expt <dsg-halla_expt-bounces@jlab.org> on behalf of Mindy Leffel via Dsg-halla_expt <dsg-halla_expt@jlab.org><br>
<b>Sent:</b> Wednesday, March 1, 2023 9:06 AM<br>
<b>To:</b> Chad Bailey <cbailey@jlab.org>; Amrit Yegneswaran <yeg@jlab.org>; Mark Jones <jones@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; Brian Eng <beng@jlab.org><br>
<b>Cc:</b> mayilyan@jlab.org <mayilyan@jlab.org>; dsg-halla_expt@jlab.org <dsg-halla_expt@jlab.org><br>
<b>Subject:</b> Re: [Dsg-halla_expt] GEp HV patch panels</font>
<div> </div>
</div>
<div dir="ltr">
<div class="x_x_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)">
Are there any updates with this situation?<br>
</div>
<div id="x_x_x_x_x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_x_x_x_x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Chad Bailey <cbailey@jlab.org><br>
<b>Sent:</b> Thursday, February 23, 2023 1:28 PM<br>
<b>To:</b> Amrit Yegneswaran <yeg@jlab.org>; Mindy Leffel <leffel@jlab.org>; Mark Jones <jones@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; Brian Eng <beng@jlab.org><br>
<b>Cc:</b> mayilyan@jlab.org <mayilyan@jlab.org>; dsg-halla_expt@jlab.org <dsg-halla_expt@jlab.org>; Patrizia Rossi <rossi@jlab.org><br>
<b>Subject:</b> RE: GEp HV patch panels</font>
<div> </div>
</div>
<div lang="EN-US">
<div class="x_x_x_x_x_x_WordSection1">
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
Hey all, thanks for plugging me in. </p>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
We have no issue with doing a secondary review to ensure that we don’t have any concerns. I may get one of our staff electrical engineers to reach out and provide their thoughts.
</p>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
I’m heading to another meeting now, so I’ll see how we can support once I get wrapped up.
</p>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<div>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
<b>From:</b> Amrit Yegneswaran <yeg@jlab.org> <br>
<b>Sent:</b> Thursday, February 23, 2023 1:24 PM<br>
<b>To:</b> Mindy Leffel <leffel@jlab.org>; Mark Jones <jones@jlab.org>; Bogdan Wojtsekhowski <bogdanw@jlab.org>; Chad Bailey <cbailey@jlab.org>; Brian Eng <beng@jlab.org><br>
<b>Cc:</b> mayilyan@jlab.org; dsg-halla_expt@jlab.org; Patrizia Rossi <rossi@jlab.org><br>
<b>Subject:</b> Re: GEp HV patch panels</p>
</div>
</div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">good catch mindy,  marc, tyler, brian</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">we don't want to assemble that which doesn't comply with electrical safety regulations</span></p>
</div>
<div class="x_x_x_x_x_x_MsoNormal" style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;text-align:center" align="center">
<hr width="98%" size="3" align="center">
</div>
<div id="x_x_x_x_x_x_divRplyFwdMsg">
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
<b><span style="color:black">From:</span></b><span style="color:black"> Dsg-halla_expt <<a href="mailto:dsg-halla_expt-bounces@jlab.org" data-auth="NotApplicable">dsg-halla_expt-bounces@jlab.org</a>> on behalf of Brian Eng via Dsg-halla_expt <<a href="mailto:dsg-halla_expt@jlab.org" data-auth="NotApplicable">dsg-halla_expt@jlab.org</a>><br>
<b>Sent:</b> Thursday, February 23, 2023 1:19 PM<br>
<b>To:</b> Mindy Leffel <<a href="mailto:leffel@jlab.org" data-auth="NotApplicable">leffel@jlab.org</a>>; Mark Jones <<a href="mailto:jones@jlab.org" data-auth="NotApplicable">jones@jlab.org</a>>; Bogdan Wojtsekhowski <<a href="mailto:bogdanw@jlab.org" data-auth="NotApplicable">bogdanw@jlab.org</a>>;
 Chad Bailey <<a href="mailto:cbailey@jlab.org" data-auth="NotApplicable">cbailey@jlab.org</a>><br>
<b>Cc:</b> <a href="mailto:mayilyan@jlab.org" data-auth="NotApplicable">mayilyan@jlab.org</a> <<a href="mailto:mayilyan@jlab.org" data-auth="NotApplicable">mayilyan@jlab.org</a>>;
<a href="mailto:dsg-halla_expt@jlab.org" data-auth="NotApplicable">dsg-halla_expt@jlab.org</a> <<a href="mailto:dsg-halla_expt@jlab.org" data-auth="NotApplicable">dsg-halla_expt@jlab.org</a>><br>
<b>Subject:</b> Re: [Dsg-halla_expt] GEp HV patch panels</span> </p>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
</div>
<div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Hi Bogdan,</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Has anyone from safety looked at these? The connectors have some specifications that are lower than 2 kV.</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Fisher <span class="x_x_x_x_x_x_xcontentpasted0"><span style="background:white">D 107 Z051</span></span></span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Smiths Interconnect D01EEB306FSTAH</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">I'm not sure on the cable (it just has generic markings), but that would need to be checked as well.</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">I've CC'd Chad as he is the electrical SME.</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Before Mindy can even start assembling these we would need to know they're okay to be used. There's also a question on parts availability, but that can be addressed later.</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Thanks</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Brian</span></p>
</div>
<div class="x_x_x_x_x_x_MsoNormal" style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;text-align:center" align="center">
<hr width="98%" size="3" align="center">
</div>
<div id="x_x_x_x_x_x_x_divRplyFwdMsg">
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
<b><span style="color:black">From:</span></b><span style="color:black"> Dsg-internal <<a href="mailto:dsg-internal-bounces@jlab.org" data-auth="NotApplicable">dsg-internal-bounces@jlab.org</a>> on behalf of Bogdan Wojtsekhowski via Dsg-internal <<a href="mailto:dsg-internal@jlab.org" data-auth="NotApplicable">dsg-internal@jlab.org</a>><br>
<b>Sent:</b> Thursday, February 23, 2023 10:35 AM<br>
<b>To:</b> Mindy Leffel <<a href="mailto:leffel@jlab.org" data-auth="NotApplicable">leffel@jlab.org</a>>; Mark Jones <<a href="mailto:jones@jlab.org" data-auth="NotApplicable">jones@jlab.org</a>><br>
<b>Cc:</b> <a href="mailto:mayilyan@jlab.org" data-auth="NotApplicable">mayilyan@jlab.org</a> <<a href="mailto:mayilyan@jlab.org" data-auth="NotApplicable">mayilyan@jlab.org</a>>;
<a href="mailto:shahinya@jlab.org" data-auth="NotApplicable">shahinya@jlab.org</a> <<a href="mailto:shahinya@jlab.org" data-auth="NotApplicable">shahinya@jlab.org</a>>; dsg-internal <<a href="mailto:dsg-internal@jlab.org" data-auth="NotApplicable">dsg-internal@jlab.org</a>><br>
<b>Subject:</b> Re: [Dsg-internal] GEp HV patch panels</span> </p>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
</div>
<div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">High voltage supply for the ECAL calorimeter. Max voltage is 2000 Volts.</span></p>
</div>
<div class="x_x_x_x_x_x_MsoNormal" style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;text-align:center" align="center">
<hr width="98%" size="3" align="center">
</div>
<div id="x_x_x_x_x_x_x_x_divRplyFwdMsg">
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
<b><span style="color:black">From:</span></b><span style="color:black"> Mindy Leffel <<a href="mailto:leffel@jlab.org" data-auth="NotApplicable">leffel@jlab.org</a>><br>
<b>Sent:</b> Thursday, February 23, 2023 10:26 AM<br>
<b>To:</b> Mark Jones <<a href="mailto:jones@jlab.org" data-auth="NotApplicable">jones@jlab.org</a>><br>
<b>Cc:</b> Bogdan Wojtsekhowski <<a href="mailto:bogdanw@jlab.org" data-auth="NotApplicable">bogdanw@jlab.org</a>>;
<a href="mailto:mayilyan@jlab.org" data-auth="NotApplicable">mayilyan@jlab.org</a> <<a href="mailto:mayilyan@jlab.org" data-auth="NotApplicable">mayilyan@jlab.org</a>>;
<a href="mailto:shahinya@jlab.org" data-auth="NotApplicable">shahinya@jlab.org</a> <<a href="mailto:shahinya@jlab.org" data-auth="NotApplicable">shahinya@jlab.org</a>>; dsg-internal <<a href="mailto:dsg-internal@jlab.org" data-auth="NotApplicable">dsg-internal@jlab.org</a>><br>
<b>Subject:</b> GEp HV patch panels</span> </p>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;">
 </p>
</div>
</div>
<div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Hi Mark,</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">I would like to get some additional information about the patch panel boxes. Could you please provide the purpose of the boxes and what is the maximum voltage they will receive?</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Thanks,</span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black"> </span></p>
</div>
<div>
<p class="x_x_x_x_x_x_MsoNormal" style="margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin-top: 0px; margin-bottom: 0px;margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: "Calibri", sans-serif;background:white">
<span style="font-size:12.0pt; color:black">Mindy</span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>