FAQ
1.6.8
OTRS AG
https://otrs.com/
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
Build for FAQ 1.6.8.
- Fixed bug#7357 - Internal categories can be seen from the customer and public interface under special conditions.
Build for FAQ 1.6.6.
Fixed several bugs. Added more translations. Added short english documentation.
Some bugfixes. Added translations.
Small bugfixes.
Small bugfixes.
First version for OTRS 2.4.x.
The FAQ/knowledge base.
Die FAQ-/Wissensdatenbank.
2.4.x
<br/>
<b>WELCOME</b>
<br/>
<br/>
You are about to install the OTRS package FAQ.<br/>
<br/>
<br/>
<b>ATTENTION</b>
<br/>
<br/>
Make sure your database accepts packages over 5 MB in size. A MySQL database for example accepts packages up to 1 MB by default. In this case, the value for max_allowed_packet must be increased. The recommended maximum size accepted is 20 MB.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<b>WILLKOMMEN</b>
<br/>
<br/>
Sie sind im Begriff das OTRS-Paket FAQ zu installieren.<br/>
<br/>
<br/>
<b>ACHTUNG</b>
<br/>
<br/>
Vergewissern Sie sich, dass ihre Datenbank Pakete mit einer Größe von mehr als 5 MB akzeptiert. Eine MySQL Datenbank akzeptiert beispielsweise standardmäßig Pakete mit einer Größe von maximal 1 MB. In diesem Fall muss der Wert für max_allowed_packet erhöht werden. Empfohlen werden 20 MB.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<b>NOTICE</b>
<br/>
<br/>
In order to grant users access to the faq menu, you need to add them as member to the group 'faq'.
<br/>
<br/>
The menu items that were added by this package will be visible after you log-in to the system again.
<br/>
<br/>
To create new FAQ article you need to create categories and define the permission who can access categories.
<br/>
<br/>
If you are using the FAQ approval feature, you need to create a group and and to define a queue.
You will find further information in the sysconfig in FAQ -> Core::Approval.
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<b>HINWEIS</b>
<br/>
<br/>
Um Benutzern Zugriff auf das FAQ-Menü zu gewähren, müssen diese Mitglied der neuen Gruppe 'faq' sein.
<br/>
<br/>
Die von diesem Paket hinzugefügten Menü-Punkte sind erst nach einem erneuten Anmeldevorgang im System sichtbar.
<br/>
<br/>
Um FAQ Artikel erstellen zu können müssen zuerst Kategorien erstellt und die Berechtigungs-Gruppen dieser Kategorien definiert werden.
<br/>
<br/>
Wenn Sie das FAQ-Freigabe-Feature verwenden möchten, müssen Sie eine Gruppe dafür anlegen und eine Queue definieren.
Weitere Informationen finden Sie in der Sysconfig unter FAQ -> Core::Approval.
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<b>ATTENTION</b>
<br/>
<br/>
If you uninstall this package, all database tables that were created during installation will be deleted.
All data from these tables will be irrevocably lost!
<br/>
<br/>
The groups 'faq' and 'faq_admin' that were created during package installation will be deactivated.
You can activate these groups again in the admin area.
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<b>ACHTUNG</b>
<br/>
<br/>
Bei der Deinstallation werden die von diesem Paket angelegten Datenbank-Tabellen gelöscht.
Alle darin enthaltenen Daten gehen unwiderruflich verloren!
<br/>
<br/>
Die von diesem Paket angelegten Gruppen 'faq' und 'faq_admin' werden deaktiviert.
Sie können jederzeit im Admin-Bereich wieder aktiviert werden.
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<b>WELCOME</b>
<br/>
<br/>
You are about to upgrade the OTRS package FAQ.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<b>WILLKOMMEN</b>
<br/>
<br/>
Sie sind im Begriff das OTRS-Paket FAQ zu aktualisieren.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
# define function name
my $FunctionName = 'CodeInstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start methode
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeUpgrade';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start methode
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeUpgradeSpecial';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start methode
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeUninstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start methode
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeReinstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start methode
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
5434d1e61a2298d552fb5c70ac66335ec371d7fb
2019-08-20 18:13:32
opms.otrs.com
IyEvdXNyL2Jpbi9wZXJsIC13CiMgLS0KIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIwojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCiMgLS0KCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEZpbmRCaW4gcXcoJFJlYWxCaW4pOwp1c2UgbGliIGRpcm5hbWUoJFJlYWxCaW4pOwp1c2UgbGliIGRpcm5hbWUoJFJlYWxCaW4pIC4gJy9LZXJuZWwvY3Bhbi1saWInOwoKdXNlIEdldG9wdDo6U3RkOwp1c2UgS2VybmVsOjpDb25maWc7CnVzZSBLZXJuZWw6OlN5c3RlbTo6REI7CnVzZSBLZXJuZWw6OlN5c3RlbTo6RW5jb2RlOwp1c2UgS2VybmVsOjpTeXN0ZW06OkNTVjsKdXNlIEtlcm5lbDo6U3lzdGVtOjpMb2c7CnVzZSBLZXJuZWw6OlN5c3RlbTo6TWFpbjsKdXNlIEtlcm5lbDo6U3lzdGVtOjpUaW1lOwp1c2UgS2VybmVsOjpTeXN0ZW06Okdyb3VwOwp1c2UgS2VybmVsOjpTeXN0ZW06OkZBUTsKCnVzZSB2YXJzIHF3KCRWRVJTSU9OICRSZWFsQmluKTsKCiMgZ2V0IG9wdGlvbnMKbXkgJU9wdHM7CmdldG9wdCggJ2hpc3EnLCBcJU9wdHMgKTsKCmlmICggZXhpc3RzICRPcHRze2h9ICkgewogICAgcHJpbnQgU1RET1VUICJcbiI7CiAgICBwcmludCBTVERPVVQgIkZBUUltcG9ydC5wbCAtIGEgRkFRIGltcG9ydCB0b29sXG4iOwogICAgcHJpbnQgU1RET1VUICJDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBPVFJTIEFHLCBodHRwczovL290cnMuY29tL1xuIjsKICAgIHByaW50IFNURE9VVCAiICAgdXNhZ2U6IFxuIjsKICAgIHByaW50IFNURE9VVCAiICAgICAgRkFRSW1wb3J0LnBsIC1pIDxJbXBvcnRGaWxlPiBbLXMgPHNlcGFyYXRvcj5dIFstcSA8cXVvdGU+XVxuIjsKICAgIHByaW50IFNURE9VVCAiXG4iOwogICAgcHJpbnQgU1RET1VUICIgICBleGFtcGxlczpcbiI7CiAgICBwcmludCBTVERPVVQgIiAgICAgICBGQVFJbXBvcnQucGwgLWkgZmFxLmNzdlxuIjsKICAgIHByaW50IFNURE9VVCAiICAgICAgIEZBUUltcG9ydC5wbCAtaSBmYXEuY3N2IC1zICd8JyAtcSAnXCInIFxuIjsKICAgIHByaW50IFNURE9VVCAiXG4iOwogICAgcHJpbnQgU1RET1VUICIgICBGb3JtYXQgb2YgdGhlIENTViBmaWxlOlxuIjsKICAgIHByaW50IFNURE9VVCAnICAgICAgICJ0aXRsZSI7ImNhdGVnb3J5IjsibGFuZ3VhZ2UiOyJzdGF0ZXR5cGUiOyc7CiAgICBwcmludCBTVERPVVQgJyJmaWVsZDEiOyJmaWVsZDIiOyJmaWVsZDMiOyJmaWVsZDQiOyJmaWVsZDUiOyJmaWVsZDYiOyJrZXl3b3JkcyInIC4gIlxuIjsKICAgIHByaW50IFNURE9VVCAiXG4iOwogICAgZXhpdCAxOwp9CgojIGNoZWNrIGFjdGlvbiBtb2RlCmlmICggISRPcHRze2l9ICkgewogICAgcHJpbnQgU1RERVJSICJFUlJPUjogTmVlZCAtaSA8SW1wb3J0RmlsZT5cbiI7CiAgICBleGl0IDE7Cn0KCiMgY3JlYXRlIGNvbW1vbiBvYmplY3RzCm15ICVDb21tb25PYmplY3Q7CiRDb21tb25PYmplY3R7VXNlcklEfSAgICAgICA9IDE7CiRDb21tb25PYmplY3R7Q29uZmlnT2JqZWN0fSA9IEtlcm5lbDo6Q29uZmlnLT5uZXcoKTsKJENvbW1vbk9iamVjdHtMb2dPYmplY3R9ICAgID0gS2VybmVsOjpTeXN0ZW06OkxvZy0+bmV3KAogICAgTG9nUHJlZml4ID0+ICdPVFJTLUZBUUltcG9ydCcsCiAgICAlQ29tbW9uT2JqZWN0LAopOwokQ29tbW9uT2JqZWN0e0NTVk9iamVjdH0gICAgPSBLZXJuZWw6OlN5c3RlbTo6Q1NWLT5uZXcoJUNvbW1vbk9iamVjdCk7CiRDb21tb25PYmplY3R7RW5jb2RlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpFbmNvZGUtPm5ldyglQ29tbW9uT2JqZWN0KTsKJENvbW1vbk9iamVjdHtNYWluT2JqZWN0fSAgID0gS2VybmVsOjpTeXN0ZW06Ok1haW4tPm5ldyglQ29tbW9uT2JqZWN0KTsKJENvbW1vbk9iamVjdHtEQk9iamVjdH0gICAgID0gS2VybmVsOjpTeXN0ZW06OkRCLT5uZXcoJUNvbW1vbk9iamVjdCk7CiRDb21tb25PYmplY3R7VGltZU9iamVjdH0gICA9IEtlcm5lbDo6U3lzdGVtOjpUaW1lLT5uZXcoJUNvbW1vbk9iamVjdCk7CiRDb21tb25PYmplY3R7R3JvdXBPYmplY3R9ICA9IEtlcm5lbDo6U3lzdGVtOjpHcm91cC0+bmV3KCVDb21tb25PYmplY3QpOwokQ29tbW9uT2JqZWN0e0ZBUU9iamVjdH0gICAgPSBLZXJuZWw6OlN5c3RlbTo6RkFRLT5uZXcoJUNvbW1vbk9iamVjdCk7CgpwcmludCBTVERPVVQgIlJlYWQgRmlsZSAkT3B0c3tpfS5cbiI7CgojIHJlYWQgc291cmNlIGZpbGUKbXkgJENTVlN0cmluZ1JlZiA9ICRDb21tb25PYmplY3R7TWFpbk9iamVjdH0tPkZpbGVSZWFkKAogICAgTG9jYXRpb24gPT4gJE9wdHN7aX0sCiAgICBSZXN1bHQgICA9PiAnU0NBTEFSJywKICAgIE1vZGUgICAgID0+ICdiaW5tb2RlJywKKTsKZGllICJDYW4ndCByZWFkIGZpbGUgJE9wdHN7aX0uXG5JbXBvcnQgYWJvcnRlZC5cbiIgaWYgISRDU1ZTdHJpbmdSZWY7CgpwcmludCBTVERPVVQgIkltcG9ydCBpbiBwcm9jZXNzLi4uXG4iOwoKIyByZWFkIGNzdiBkYXRhCm15ICREYXRhUmVmID0gJENvbW1vbk9iamVjdHtDU1ZPYmplY3R9LT5DU1YyQXJyYXkoCiAgICBTdHJpbmcgICAgPT4gJCRDU1ZTdHJpbmdSZWYsCiAgICBTZXBhcmF0b3IgPT4gJE9wdHN7c30gfHwgJzsnLAogICAgUXVvdGUgICAgID0+ICRPcHRze3F9IHx8ICciJywKKTsKZGllICJcbkVycm9yIG9jY3VycmVkLiBJbXBvcnQgaW1wb3NzaWJsZSEgU2VlIFN5c2xvZyBmb3IgZGV0YWlscy5cbiIgaWYgIWRlZmluZWQgJERhdGFSZWY7CgojIGdldCBhbGwgRkFRIGxhbmd1YWdlIGlkcwpteSAlTGFuZ3VhZ2VJRCA9IHJldmVyc2UgJENvbW1vbk9iamVjdHtGQVFPYmplY3R9LT5MYW5ndWFnZUxpc3QoKTsKCiMgZ2V0IGFsbCBzdGF0ZSB0eXBlIGlkcwpteSAlU3RhdGVUeXBlSUQgPSByZXZlcnNlICV7ICRDb21tb25PYmplY3R7RkFRT2JqZWN0fS0+U3RhdGVUeXBlTGlzdCgpIH07CgojIGdldCBncm91cCBpZCBmb3IgZmFxIGdyb3VwCm15ICRGQVFHcm91cElEID0gJENvbW1vbk9iamVjdHtHcm91cE9iamVjdH0tPkdyb3VwTG9va3VwKAogICAgR3JvdXAgPT4gJ2ZhcScsCik7CgpteSAkTGluZUNvdW50ZXI7ClJPVzoKZm9yIG15ICRSb3dSZWYgKCBAeyREYXRhUmVmfSApIHsKCiAgICAkTGluZUNvdW50ZXIrKzsKCiAgICBteSAoCiAgICAgICAgJFRpdGxlLCAkQ2F0ZWdvcnlTdHJpbmcsICRMYW5ndWFnZSwgJFN0YXRlVHlwZSwKICAgICAgICAkRmllbGQxLCAkRmllbGQyLCAkRmllbGQzLCAkRmllbGQ0LCAkRmllbGQ1LCAkRmllbGQ2LCAkS2V5d29yZHMKICAgICkgPSBAeyRSb3dSZWZ9OwoKICAgICMgY2hlY2sgbGFuZ3VhZ2UKICAgIGlmICggISRMYW5ndWFnZUlEeyRMYW5ndWFnZX0gKSB7CiAgICAgICAgcHJpbnQgU1RET1VUICJFcnJvcjogQ291bGQgbm90IGltcG9ydCBsaW5lICRMaW5lQ291bnRlci4gTGFuZ3VhZ2UgJyRMYW5ndWFnZScgZG9lcyBub3QgZXhpc3QuXG4iOwogICAgICAgIG5leHQgUk9XOwogICAgfQoKICAgICMgY2hlY2sgc3RhdGUgdHlwZQogICAgaWYgKCAhJFN0YXRlVHlwZUlEeyRTdGF0ZVR5cGV9ICkgewogICAgICAgIHByaW50IFNURE9VVCAiRXJyb3I6IENvdWxkIG5vdCBpbXBvcnQgbGluZSAkTGluZUNvdW50ZXIuIFN0YXRlICckU3RhdGVUeXBlJyBkb2VzIG5vdCBleGlzdC5cbiI7CiAgICAgICAgbmV4dCBST1c7CiAgICB9CgogICAgIyBnZXQgc3ViLWNhdGVnb3JpZXMKICAgIG15IEBDYXRlZ29yeUFycmF5ID0gc3BsaXQgLzo6LywgJENhdGVnb3J5U3RyaW5nOwoKICAgICMgY2hlY2sgZWFjaCBzdWItY2F0ZWdvcnkgaWYgaXQgZXhpc3RzCiAgICBteSAkQ2F0ZWdvcnlJRDsKICAgIG15ICRQYXJlbnRJRCA9IDA7CiAgICBmb3IgbXkgJENhdGVnb3J5IChAQ2F0ZWdvcnlBcnJheSkgewoKICAgICAgICAjIGdldCB0aGUgY2F0ZWdvcnkgaWQKICAgICAgICAkQ29tbW9uT2JqZWN0e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICAgICAgU1FMID0+ICdTRUxFQ1QgaWQgRlJPTSBmYXFfY2F0ZWdvcnkgJwogICAgICAgICAgICAgICAgLiAnV0hFUkUgdmFsaWRfaWQgPSAxIEFORCBuYW1lID0gPyBBTkQgcGFyZW50X2lkID0gPycsCiAgICAgICAgICAgIEJpbmQgID0+IFsgXCRDYXRlZ29yeSwgXCRQYXJlbnRJRCBdLAogICAgICAgICAgICBMaW1pdCA9PiAxLAogICAgICAgICk7CiAgICAgICAgbXkgQFJlc3VsdDsKICAgICAgICB3aGlsZSAoIG15IEBSb3cgPSAkQ29tbW9uT2JqZWN0e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICAgICBwdXNoKCBAUmVzdWx0LCAkUm93WzBdICk7CiAgICAgICAgfQogICAgICAgICRDYXRlZ29yeUlEID0gJFJlc3VsdFswXTsKCiAgICAgICAgIyBjcmVhdGUgY2F0ZWdvcnkgaWYgaXQgZG9lcyBub3QgZXhpc3QKICAgICAgICBpZiAoICEkQ2F0ZWdvcnlJRCApIHsKICAgICAgICAgICAgJENhdGVnb3J5SUQgPSAkQ29tbW9uT2JqZWN0e0ZBUU9iamVjdH0tPkNhdGVnb3J5QWRkKAogICAgICAgICAgICAgICAgTmFtZSAgICAgPT4gJENhdGVnb3J5LAogICAgICAgICAgICAgICAgUGFyZW50SUQgPT4gJFBhcmVudElELAogICAgICAgICAgICAgICAgVmFsaWRJRCAgPT4gMSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+IDEsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIGFkZCBuZXcgY2F0ZWdvcnkgdG8gZmFxIGdyb3VwCiAgICAgICAgICAgICRDb21tb25PYmplY3R7RkFRT2JqZWN0fS0+U2V0Q2F0ZWdvcnlHcm91cCgKICAgICAgICAgICAgICAgIENhdGVnb3J5SUQgPT4gJENhdGVnb3J5SUQsCiAgICAgICAgICAgICAgICBHcm91cElEcyAgID0+IFskRkFRR3JvdXBJRF0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHNldCBuZXcgcGFyZW50IGlkCiAgICAgICAgJFBhcmVudElEID0gJENhdGVnb3J5SUQ7CiAgICB9CgogICAgIyBjaGVjayBjYXRlZ29yeQogICAgaWYgKCAhJENhdGVnb3J5SUQgKSB7CiAgICAgICAgcHJpbnQgU1RET1VUICJFcnJvcjogQ291bGQgbm90IGltcG9ydCBsaW5lICRMaW5lQ291bnRlci4gQ2F0ZWdvcnkgJyRDYXRlZ29yeVN0cmluZycgY291bGQgbm90IGJlIGNyZWF0ZWQuXG4iOwogICAgICAgIG5leHQgUk9XOwogICAgfQoKICAgICMgYWRkIEZBUSBhcnRpY2xlCiAgICBteSAkSXRlbUlEID0gJENvbW1vbk9iamVjdHtGQVFPYmplY3R9LT5GQVFBZGQoCiAgICAgICAgVGl0bGUgICAgICA9PiAkVGl0bGUsCiAgICAgICAgQ2F0ZWdvcnlJRCA9PiAkQ2F0ZWdvcnlJRCwKICAgICAgICBTdGF0ZUlEICAgID0+ICRTdGF0ZVR5cGVJRHskU3RhdGVUeXBlfSwKICAgICAgICBMYW5ndWFnZUlEID0+ICRMYW5ndWFnZUlEeyRMYW5ndWFnZX0sCiAgICAgICAgRmllbGQxICAgICA9PiAkRmllbGQxLAogICAgICAgIEZpZWxkMiAgICAgPT4gJEZpZWxkMiwKICAgICAgICBGaWVsZDMgICAgID0+ICRGaWVsZDMsCiAgICAgICAgRmllbGQ0ICAgICA9PiAkRmllbGQ0LAogICAgICAgIEZpZWxkNSAgICAgPT4gJEZpZWxkNSwKICAgICAgICBGaWVsZDYgICAgID0+ICRGaWVsZDYsCiAgICAgICAgS2V5d29yZHMgICA9PiAkS2V5d29yZHMgfHwgJycsCiAgICAgICAgQXBwcm92ZWQgICA9PiAxLAogICAgKTsKCiAgICAjIGNoZWNrIHN1Y2Nlc3MKICAgIGlmICggISRJdGVtSUQgKSB7CiAgICAgICAgcHJpbnQgU1RET1VUICJFcnJvcjogQ291bGQgbm90IGltcG9ydCBsaW5lICRMaW5lQ291bnRlci5cbiI7CiAgICAgICAgbmV4dCBST1c7CiAgICB9Cn0KCnByaW50IFNURE9VVCAiSW1wb3J0IGNvbXBsZXRlLlxuIjsKCmV4aXQgMDsKCj1iYWNrCgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgU29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChodHRwOi8vb3Rycy5vcmcvKS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0Pi4KCj1jdXQKCj1jdXQK
IyEvdXNyL2Jpbi9wZXJsIC13CiMgLS0KIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIwojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCiMgLS0KCiMgdXNlIC4uLy4uLyBhcyBsaWIgbG9jYXRpb24KdXNlIEZpbmRCaW4gcXcoJEJpbik7CnVzZSBsaWIgIiRCaW4vLi4vLi4iOwp1c2UgbGliICIkQmluLy4uLy4uL0tlcm5lbC9jcGFuLWxpYiI7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgdmFycyBxdygkVkVSU0lPTiBASU5DKTsKCiMgMD1vZmY7MT1vbjsKbXkgJERlYnVnID0gMDsKCiMgY2hlY2sgQElOQyBmb3IgbW9kX3BlcmwgKGFkZCBsaWIgcGF0aCBmb3IgInJlcXVpcmUgbW9kdWxlIiEpCnB1c2goIEBJTkMsICIkQmluLy4uLy4uIiwgIiRCaW4vLi4vLi4vS2VybmVsL2NwYW4tbGliIiApOwoKcHJpbnQgImxvY2F0aW9uOiBwdWJsaWMucGw/QWN0aW9uPVB1YmxpY0ZBUVxuIjsKcHJpbnQgIlxuIjsKcHJpbnQgIjxhIGhyZWY9J3B1YmxpYy5wbD9BY3Rpb249UHVibGljRkFRJz5tb3ZlZDwvYT5cbiI7Cg==
IyEvdXNyL2Jpbi9wZXJsIC13CiMgLS0KIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMKIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQojIC0tCgojIHVzZSAuLi8uLi8gYXMgbGliIGxvY2F0aW9uCnVzZSBGaW5kQmluIHF3KCRCaW4pOwp1c2UgbGliICIkQmluLy4uLy4uIjsKdXNlIGxpYiAiJEJpbi8uLi8uLi9LZXJuZWwvY3Bhbi1saWIiOwoKdXNlIHN0cmljdDsKCnVzZSB2YXJzIHF3KCRWRVJTSU9OIEBJTkMpOwokVkVSU0lPTiA9ICckUmV2aXNpb246IDEuMiAkJzsKJFZFUlNJT04gPX4gcy9eXCQuKjpcVyguKilcVy4rPyQvJDEvOwoKIyAwPW9mZjsxPW9uOwpteSAkRGVidWcgPSAwOwoKIyBjaGVjayBASU5DIGZvciBtb2RfcGVybCAoYWRkIGxpYiBwYXRoIGZvciAicmVxdWlyZSBtb2R1bGUiISkKcHVzaCAoQElOQywgIiRCaW4vLi4vLi4iLCAiJEJpbi8uLi8uLi9LZXJuZWwvY3Bhbi1saWIiKTsKCnByaW50ICJsb2NhdGlvbjogcHVibGljLmZwbD9BY3Rpb249UHVibGljRkFRXG4iOwpwcmludCAiXG4iOwpwcmludCAiPGEgaHJlZj0ncHVibGljLmZwbD9BY3Rpb249UHVibGljRkFRJz5tb3ZlZDwvYT5cbiI7Cg==
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8b3Ryc19jb25maWcgdmVyc2lvbj0iMS4wIiBpbml0PSJBcHBsaWNhdGlvbiI+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkRlZmF1bHQ6OlJvb3RDYXRlZ29yeU5hbWUiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5EZWZhdWx0IGNhdGVnb3J5IG5hbWUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPlJvb3QgS2F0ZWdvcmllIE5hbWUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmc+RkFRPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpEZWZhdWx0OjpSb290Q2F0ZWdvcnlDb21tZW50IiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+RGVmYXVsdCBjYXRlZ29yeSBuYW1lLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5Sb290IEthdGVnb3JpZSBOYW1lLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPmRlZmF1bHQgY29tbWVudDwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6SXRlbTo6Vm90aW5nOjpSYXRlcyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPlJhdGVzIGZvciB2b3RpbmcuIEtleSBtdXN0IGJlIGluIHBlcmNlbnQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkdld2ljaHR1bmcgZvxyIGRpZSBCZXdlcnR1bmcuIERlciBLZXkgbXVzcyBpbiBQcm96ZW50IGFuZ2VnZWJlbiB3ZXJkZW4uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6SXRlbTo6Vm90aW5nPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEwMCI+MTAwICU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ijc1Ij43NSAlPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI1MCI+NTAgJTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMjUiPjI1ICU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPjAgJTwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6SXRlbTo6Vm90aW5nOjpTaG93IiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+U2hvdyB2b3RpbmcgaW4gZGVmaW5lZCBpbnRlcmZhY2VzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5JbnRlcmZhY2VzIGluIGRlbmVuIGRhcyBWb3RpbmcgRmVhdHVyZSBhbmdlemVpZ3Qgd2VyZGVuIHNvbGwuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6SXRlbTo6Vm90aW5nPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9ImludGVybmFsIj5pbnRlcm5hbCAoYWdlbnQpPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJleHRlcm5hbCI+ZXh0ZXJuYWwgKGN1c3RvbWVyKTwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6SXRlbTo6Vm90aW5nOjpRdWVzdGlvbkxhbmdLZXkiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5MYW5ndWFnZWtleSB3aGljaCBpcyBkZWZpbmVkIGluIHRoZSBsYW5ndWFnZSBmaWxlICpfRkFRLnBtLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5MYW5ndWFnZUtleSBm/HIgZGllIEZyYWdlIGJlaSBkZXIgQXJ0aWtlbGJld2VydHVuZy4gV2lyZCBpbiBkZW4gU3ByYWNoZmlsZXMgZGVmaW5pZXJ0LjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6Okl0ZW06OlZvdGluZzwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmc+QXJ0aWNsZVZvdGluZ1F1ZXN0aW9uPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpFeHBsb3Jlcjo6UGF0aDo6U2hvdyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPlNob3cgRkFRIHBhdGggeWVzL25vLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5GQVEgUGZhZCBhbnplaWdlbiBqYS9uZWluLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkV4cGxvcmVyPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpFeHBsb3Jlcjo6SXRlbUxpc3Q6OlZvdGluZ1Jlc3VsdERlY2ltYWxQbGFjZXMiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5EZWNpbWFsIHBsYWNlcyBvZiB0aGUgdm90aW5nIHJlc3VsdC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+RGV6aW1hbHN0ZWxsZW4gZGVzIEVyZ2Vibmlzc2VzIGJlaSBkZXIgQXJ0aWtlbGJld2VydHVuZy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpFeHBsb3JlcjwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmc+MjwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6RXhwbG9yZXI6Okl0ZW1MaXN0OjpWb3RpbmdSZXN1bHRDb2xvcnMiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5DU1MgY29sb3IgZm9yIHRoZSB2b3RpbmcgcmVzdWx0LjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5GYXJiZW4gZvxyIGRpZSBBbnplaWdlIGRlcyBFcmdlYm5pc2VzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkV4cGxvcmVyPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjMwIj5yZWQ8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjcwIj5vcmFuZ2U8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEwMCI+Z3JlZW48L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkV4cGxvcmVyOjpQYXRoOjpTZXBlcmF0b3IiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5GQVEgcGF0aCBzZXBlcmF0b3IuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPlRyZW5uemVpY2hlbiBpbSBGQVEgUGZhZC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpFeHBsb3JlcjwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmc+uzwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6Q2F0ZWdvcnk6Okljb24iIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5DYXRlZ29yeSBpY29uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5LYXRlZ29yaWUgSWNvbiBpbiBkZXIgRkFRLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkNhdGVnb3J5PC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZz5mYXEtY2F0ZWdvcnktc21hbGwucG5nPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpJdGVtOjpJY29uIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+SXRlbSBpY29uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5BcnRpa2VsIEljb24gaW4gZGVyIEZBUS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpJdGVtPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZz5mYXEtaXRlbS1zbWFsbC5wbmc8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkV4cGxvcmVyOjpRdWlja1NlYXJjaDo6U2hvdyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPkludGVyZmFjZXMgd2hlcmUgdGhlIHF1aWNrc2VhcmNoIHNob3VsZCBiZSBzaG93bi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+SW50ZXJmYWNlcyBpbiBkZW5lbiBkYXMgUXVpY2tTZWFyY2ggRmVhdHVyZSBhbmdlemVpZ3Qgd2lyZC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpFeHBsb3JlcjwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJpbnRlcm5hbCI+aW50ZXJuYWwgKGFnZW50KTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iZXh0ZXJuYWwiPmV4dGVybmFsIChjdXN0b21lcik8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9InB1YmxpYyI+cHVibGljIChwdWJsaWMpPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpFeHBsb3Jlcjo6UXVpY2tTZWFyY2g6OlNob3dTdWJDYXRlZ29yeUl0ZW1zIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+U2hvdyBpdGVtcyBvZiBzdWJjYXRlZ29yaWVzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5BcnRpa2VsIGF1cyBTdWJrYXRlZ29yaWVuIGFuemVpZ2VuIGphL25laW4uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6RXhwbG9yZXI8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkV4cGxvcmVyOjpMYXN0Q2hhbmdlOjpTaG93IiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+U2hvdyBsYXN0IGNoYW5nZSBpdGVtcyBpbiBkZWZpbmVkIGludGVyZmFjZXMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkludGVyZmFjZXMgaW4gZGVuZW4gZGFzIExhc3RDaGFuZ2UgRmVhdHVyZSBhbmdlemVpZ3Qgd2VyZGVuIHNvbGwuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6RXhwbG9yZXI8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iaW50ZXJuYWwiPmludGVybmFsIChhZ2VudCk8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9ImV4dGVybmFsIj5leHRlcm5hbCAoY3VzdG9tZXIpPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJwdWJsaWMiPnB1YmxpYyAocHVibGljKTwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6RXhwbG9yZXI6Okxhc3RDaGFuZ2U6OlNob3dTdWJDYXRlZ29yeUl0ZW1zIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+U2hvdyBpdGVtcyBvZiBzdWJjYXRlZ29yaWVzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5BcnRpa2VsIGF1cyBTdWJrYXRlZ29yaWVuIGFuemVpZ2VuIGphL25laW4uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6RXhwbG9yZXI8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkV4cGxvcmVyOjpMYXN0Q2hhbmdlOjpMaW1pdCIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPk51bWJlciBvZiBzaG93biBpdGVtcyBpbiBsYXN0IGNoYW5nZXMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkFuemFobCBkZXIgenUgYW56ZWlnZW5kZW4gQXJ0aWtlbCBpbiBsZXR6dGVuIMRuZGVydW5nZW4uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6RXhwbG9yZXI8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPjM8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkV4cGxvcmVyOjpMYXN0Q3JlYXRlOjpTaG93IiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+U2hvdyBsYXN0IGNyZWF0ZWQgaXRlbXMgaW4gZGVmaW5lZCBpbnRlcmZhY2VzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5JbnRlcmZhY2VzIGluIGRlbmVuIGRhcyBMYXN0Q3JlYXRlIEZlYXR1cmUgYW5nZXplaWd0IHdlcmRlbiBzb2xsLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkV4cGxvcmVyPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9ImludGVybmFsIj5pbnRlcm5hbCAoYWdlbnQpPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJleHRlcm5hbCI+ZXh0ZXJuYWwgKGN1c3RvbWVyKTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0icHVibGljIj5wdWJsaWMgKHB1YmxpYyk8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkV4cGxvcmVyOjpMYXN0Q3JlYXRlOjpTaG93U3ViQ2F0ZWdvcnlJdGVtcyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPlNob3cgaXRlbXMgb2Ygc3ViY2F0ZWdvcmllcy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+QXJ0aWtlbCBhdXMgU3Via2F0ZWdvcmllbiBhbnplaWdlbiBqYS9uZWluLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkV4cGxvcmVyPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpFeHBsb3Jlcjo6TGFzdENyZWF0ZTo6TGltaXQiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5OdW1iZXIgb2Ygc2hvd24gaXRlbXMgaW4gbGFzdCBjcmVhdGVkLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5BbnphaGwgZGVyIGFuenV6ZWlnZW5kZW4gQXJ0aWtlbCBpbiB6dWxldHp0IGVyc3RlbGx0ZSBBcnRpa2VsLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkV4cGxvcmVyPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZz4zPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpFeHBsb3Jlcjo6VG9wMTA6OlNob3ciIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5TaG93IHRvcCAxMCBpdGVtcyBpbiBkZWZpbmVkIGludGVyZmFjZXMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkludGVyZmFjZXMgaW4gZGVuZW4gZGFzIFRvcCAxMCBGZWF0dXJlIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpFeHBsb3JlcjwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJpbnRlcm5hbCI+aW50ZXJuYWwgKGFnZW50KTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iZXh0ZXJuYWwiPmV4dGVybmFsIChjdXN0b21lcik8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9InB1YmxpYyI+cHVibGljIChwdWJsaWMpPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpFeHBsb3Jlcjo6VG9wMTA6OkxpbWl0IiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+TnVtYmVyIG9mIHNob3duIGl0ZW1zIGluIHRoZSB0b3AgMTAgZmVhdHVyZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+QW56YWhsIGRlciBhbnp1emVpZ2VuZGVuIEFydGlrZWwgaW0gVG9wIDEwIEZlYXR1cmUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6RXhwbG9yZXI8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPjEwPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpGQVFIb29rIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+RGVmYXVsdCBob29rIGZvciBGQVEuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPlN0YW5kYXJkIEJlemVpY2huZXIgZvxyIGVpbmUgRkFRLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPkZBUSM8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkRlZmF1bHQ6OlN0YXRlIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+RGVmYXVsdCBzdGF0ZSBmb3IgRkFRIGVudHJ5LjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5TdGFuZGFyZCBTdGF0dXMgZWluZXMgRkFRLUVpbnRyYWdzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPmludGVybmFsIChhZ2VudCk8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OldZU0lXWUdFZGl0b3IiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5TaG93IFdZU0lXWUcgZWRpdG9yIGluIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+QW56ZWlnZSBlaW5lcyBXWVNJV1lHIEVkaXRvcnMgaW0gQWdlbnRlbi1JbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50PC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpBcHByb3ZhbFJlcXVpcmVkIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+TmV3IEZBUSBhcnRpY2xlcyBuZWVkIGFwcHJvdmFsIGJlZm9yZSB0aGV5IGdldCBwdWJsaXNoZWQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPk5ldWUgRkFRIEFydGlrZWwgYmVu9nRpZ2VuIGVpbmUgRnJlaWdhYmUgdm9yIGRlciBWZXL2ZmZlbnRsaWNodW5nLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkFwcHJvdmFsPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpBcHByb3ZhbEdyb3VwIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+R3JvdXAgZm9yIHRoZSBhcHByb3ZhbCBvZiBGQVEgYXJ0aWNsZXMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkdydXBwZSBm/HIgZGllIEZyZWlnYWJlIHZvbiBGQVEgQXJ0aWtlbG4uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6QXBwcm92YWw8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPmZhcV9hcHByb3ZhbDwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6QXBwcm92YWxRdWV1ZSIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPlF1ZXVlIGZvciB0aGUgYXBwcm92YWwgb2YgRkFRIGFydGljbGVzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5RdWV1ZSBm/HIgZGllIEZyZWlnYWJlIHZvbiBGQVEgQXJ0aWtlbG4uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6QXBwcm92YWw8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPkZBUV9BcHByb3ZhbDwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KCiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkFwcHJvdmFsVGlja2V0U3ViamVjdCIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPlRpY2tldCBzdWJqZWN0IGZvciBhcHByb3ZhbCBvZiBGQVEgYXJ0aWNsZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+QmV0cmVmZiBkZXMgVGlja2V0cyB6dXIgRnJlaWdhYmUgZWluZXMgRkFRIEFydGlrZWxzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkFwcHJvdmFsPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZz5GQVEgYXBwcm92YWwgcmVxdWlyZWQgZm9yIEZBUSMgJmx0O09UUlNfRkFRX05VTUJFUiZndDs8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6OkFwcHJvdmFsVGlja2V0Qm9keSIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPlRpY2tldCBib2R5IGZvciBhcHByb3ZhbCBvZiBGQVEgYXJ0aWNsZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+Qm9keSBkZXMgVGlja2V0cyB6dXIgRnJlaWdhYmUgZWluZXMgRkFRIEFydGlrZWxzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkFwcHJvdmFsPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFRleHRBcmVhPkhpLAoKYSBuZXcgRkFRIGFydGljbGUgbmVlZHMgeW91ciBhcHByb3ZhbCBiZWZvcmUgaXQgY2FuIGJlIHB1Ymxpc2hlZC4KCiAgRkFRIyAgIDogJmx0O09UUlNfRkFRX05VTUJFUiZndDsKICBUaXRsZSAgOiAmbHQ7T1RSU19GQVFfVElUTEUmZ3Q7CiAgQXV0aG9yIDogJmx0O09UUlNfRkFRX0FVVEhPUiZndDsKICBTdGF0ZSAgOiAmbHQ7T1RSU19GQVFfU1RBVEUmZ3Q7CgpJZiB5b3Ugd2FudCB0byBkbyB0aGlzLCBjbGljayBvbiB0aGlzIGxpbms6CgombHQ7T1RSU19DT05GSUdfSHR0cFR5cGUmZ3Q7Oi8vJmx0O09UUlNfQ09ORklHX0ZRRE4mZ3Q7LyZsdDtPVFJTX0NPTkZJR19TY3JpcHRBbGlhcyZndDtpbmRleC5wbD9BY3Rpb249QWdlbnRGQVEmYW1wO1N1YmFjdGlvbj1VcGRhdGUmYW1wO0NhdGVnb3J5SUQ9Jmx0O09UUlNfRkFRX0NBVEVHT1JZSUQmZ3Q7JmFtcDtJdGVtSUQ9Jmx0O09UUlNfRkFRX0lURU1JRCZndDsKCllvdXIgT1RSUyBOb3RpZmljYXRpb24gTWFzdGVyCiAgICAgICAgICAgIDwvVGV4dEFyZWE+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpBcHByb3ZhbFRpY2tldFByaW9yaXR5IiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+RGVmYXVsdCBwcmlvcml0eSBvZiB0aWNrZXRzIGZvciB0aGUgYXBwcm92YWwgb2YgRkFRIGFydGljbGVzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5TdGFuZGFyZCBQcmlvcml05HQgdm9uIFRpY2tldHMgZvxyIGRpZSBGcmVpZ2FiZSB2b24gRkFRIEFydGlrZWxuLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkFwcHJvdmFsPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZz4zIG5vcm1hbDwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6QXBwcm92YWxUaWNrZXREZWZhdWx0U3RhdGUiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5EZWZhdWx0IHN0YXRlIG9mIHRpY2tldHMgZm9yIHRoZSBhcHByb3ZhbCBvZiBGQVEgYXJ0aWNsZXMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPlN0YW5kYXJkIFN0YXR1cyB2b24gVGlja2V0cyBm/HIgZGllIEZyZWlnYWJlIHZvbiBGQVEgQXJ0aWtlbG4uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6QXBwcm92YWw8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPm5ldzwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZBUTo6SXRlbTo6RmllbGQxIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+RGVmaW5pdGlvbiBvZiBGQVEgaXRlbSBmcmVlIHRleHQgZmllbGQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkRlZmluaXRpb24gZGVyIGZyZWllbiBUZXh0ZmVsZGVyLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6Okl0ZW08L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iU2hvdyI+cHVibGljPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDYXB0aW9uIj5TeW1wdG9tPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvIj4xMDA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6Okl0ZW06OkZpZWxkMiIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPkRlZmluaXRpb24gb2YgRkFRIGl0ZW0gZnJlZSB0ZXh0IGZpZWxkLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5EZWZpbml0aW9uIGRlciBmcmVpZW4gVGV4dGZlbGRlci48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpJdGVtPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlNob3ciPnB1YmxpYzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ2FwdGlvbiI+UHJvYmxlbTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUHJpbyI+MjAwPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpJdGVtOjpGaWVsZDMiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5EZWZpbml0aW9uIG9mIEZBUSBpdGVtIGZyZWUgdGV4dCBmaWVsZC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+RGVmaW5pdGlvbiBkZXIgZnJlaWVuIFRleHRmZWxkZXIuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6SXRlbTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJTaG93Ij5wdWJsaWM8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNhcHRpb24iPlNvbHV0aW9uPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvIj4zMDA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6Okl0ZW06OkZpZWxkNCIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPkRlZmluaXRpb24gb2YgRkFRIGl0ZW0gZnJlZSB0ZXh0IGZpZWxkLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5EZWZpbml0aW9uIGRlciBmcmVpZW4gVGV4dGZlbGRlci48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpJdGVtPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlNob3ciPjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ2FwdGlvbiI+RmllbGQ0PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvIj40MDA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6Okl0ZW06OkZpZWxkNSIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPkRlZmluaXRpb24gb2YgRkFRIGl0ZW0gZnJlZSB0ZXh0IGZpZWxkLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5EZWZpbml0aW9uIGRlciBmcmVpZW4gVGV4dGZlbGRlci48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpJdGVtPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlNob3ciPjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ2FwdGlvbiI+RmllbGQ1PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvIj41MDA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGQVE6Okl0ZW06OkZpZWxkNiIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPkRlZmluaXRpb24gb2YgRkFRIGl0ZW0gZnJlZSB0ZXh0IGZpZWxkLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5EZWZpbml0aW9uIGRlciBmcmVpZW4gVGV4dGZlbGRlci48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpJdGVtPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlNob3ciPmludGVybmFsPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDYXB0aW9uIj5Db21tZW50PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvIj42MDA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJMaW5rT2JqZWN0OjpQb3NzaWJsZUxpbmsjIyM4MzAxIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+VGhpcyBzZXR0aW5nIGRlZmluZXMgdGhhdCBhICdGQVEnIG9iamVjdCBjYW4gYmUgbGlua2VkIHdpdGggb3RoZXIgJ0ZBUScgb2JqZWN0cyB1c2luZyB0aGUgJ05vcm1hbCcgbGluayB0eXBlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5EZWZpbmllcnQsIGRhc3MgZWluICdGQVEnLU9iamVrdGUgbWl0IGRlbSBMaW5rdHlwICdOb3JtYWwnIG1pdCBhbmRlcmVuICdGQVEnLU9iamVrdGVuIHZlcmxpbmt0IHdlcmRlbiBrYW5uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZyYW1ld29yazwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkxpbmtPYmplY3Q8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iT2JqZWN0MSI+RkFRPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJPYmplY3QyIj5GQVE8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlR5cGUiPk5vcm1hbDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkxpbmtPYmplY3Q6OlBvc3NpYmxlTGluayMjIzgzMDIiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5UaGlzIHNldHRpbmcgZGVmaW5lcyB0aGF0IGEgJ0ZBUScgb2JqZWN0IGNhbiBiZSBsaW5rZWQgd2l0aCBvdGhlciAnRkFRJyBvYmplY3RzIHVzaW5nIHRoZSAnUGFyZW50Q2hpbGQnIGxpbmsgdHlwZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+RGVmaW5pZXJ0LCBkYXNzIGVpbiAnRkFRJy1PYmpla3RlIG1pdCBkZW0gTGlua3R5cCAnUGFyZW50Q2hpbGQnIG1pdCBhbmRlcmVuICdGQVEnLU9iamVrdGVuIHZlcmxpbmt0IHdlcmRlbiBrYW5uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZyYW1ld29yazwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkxpbmtPYmplY3Q8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iT2JqZWN0MSI+RkFRPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJPYmplY3QyIj5GQVE8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlR5cGUiPlBhcmVudENoaWxkPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iTGlua09iamVjdDo6UG9zc2libGVMaW5rIyMjODMwMyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPlRoaXMgc2V0dGluZyBkZWZpbmVzIHRoYXQgYSAnRkFRJyBvYmplY3QgY2FuIGJlIGxpbmtlZCB3aXRoIG90aGVyICdUaWNrZXQnIG9iamVjdHMgdXNpbmcgdGhlICdOb3JtYWwnIGxpbmsgdHlwZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+RGVmaW5pZXJ0LCBkYXNzIGVpbiAnRkFRJy1PYmpla3RlIG1pdCBkZW0gTGlua3R5cCAnTm9ybWFsJyBtaXQgYW5kZXJlbiAnVGlja2V0Jy1PYmpla3RlbiB2ZXJsaW5rdCB3ZXJkZW4ga2Fubi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GcmFtZXdvcms8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpMaW5rT2JqZWN0PC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik9iamVjdDEiPkZBUTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iT2JqZWN0MiI+VGlja2V0PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUeXBlIj5Ob3JtYWw8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJMaW5rT2JqZWN0OjpQb3NzaWJsZUxpbmsjIyM4MzA0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+VGhpcyBzZXR0aW5nIGRlZmluZXMgdGhhdCBhICdGQVEnIG9iamVjdCBjYW4gYmUgbGlua2VkIHdpdGggb3RoZXIgJ1RpY2tldCcgb2JqZWN0cyB1c2luZyB0aGUgJ1BhcmVudENoaWxkJyBsaW5rIHR5cGUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkRlZmluaWVydCwgZGFzcyBlaW4gJ0ZBUSctT2JqZWt0ZSBtaXQgZGVtIExpbmt0eXAgJ1BhcmVudENoaWxkJyBtaXQgYW5kZXJlbiAnVGlja2V0Jy1PYmpla3RlbiB2ZXJsaW5rdCB3ZXJkZW4ga2Fubi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GcmFtZXdvcms8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpMaW5rT2JqZWN0PC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik9iamVjdDEiPkZBUTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iT2JqZWN0MiI+VGlja2V0PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUeXBlIj5QYXJlbnRDaGlsZDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZyb250ZW5kOjpNb2R1bGUjIyNBZ2VudEZBUSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPkZyb250ZW5kIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBGQVEgb2JqZWN0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkZyb250ZW5kbW9kdWwtUmVnaXN0cmF0aW9uIGb8ciBkYXMgRkFRLU9iamVrdCBpbSBBZ2VudC1JbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVSZWdpc3RyYXRpb248L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8RnJvbnRlbmRNb2R1bGVSZWc+CiAgICAgICAgICAgICAgICA8R3JvdXA+ZmFxPC9Hcm91cD4KICAgICAgICAgICAgICAgIDxHcm91cFJvPmZhcTwvR3JvdXBSbz4KICAgICAgICAgICAgICAgIDxEZXNjcmlwdGlvbj5GQVEtQXJlYTwvRGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICA8TmF2QmFyTmFtZT5GQVE8L05hdkJhck5hbWU+CiAgICAgICAgICAgICAgICA8VGl0bGU+RkFRPC9UaXRsZT4KICAgICAgICAgICAgICAgIDxOYXZCYXI+CiAgICAgICAgICAgICAgICAgICAgPEdyb3VwUm8+ZmFxPC9Hcm91cFJvPgogICAgICAgICAgICAgICAgICAgIDxEZXNjcmlwdGlvbj5GQVEtQXJlYTwvRGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICAgICAgPFR5cGU+TWVudTwvVHlwZT4KICAgICAgICAgICAgICAgICAgICA8QmxvY2s+SXRlbUFyZWE8L0Jsb2NrPgogICAgICAgICAgICAgICAgICAgIDxOYW1lPkZBUTwvTmFtZT4KICAgICAgICAgICAgICAgICAgICA8SW1hZ2U+aGVscC5wbmc8L0ltYWdlPgogICAgICAgICAgICAgICAgICAgIDxMaW5rPkFjdGlvbj1BZ2VudEZBUSZhbXA7TmF2PU5vcm1hbDwvTGluaz4KICAgICAgICAgICAgICAgICAgICA8TmF2QmFyPkZBUTwvTmF2QmFyPgogICAgICAgICAgICAgICAgICAgIDxBY2Nlc3NLZXk+cTwvQWNjZXNzS2V5PgogICAgICAgICAgICAgICAgICAgIDxQcmlvPjgzMDA8L1ByaW8+CiAgICAgICAgICAgICAgICA8L05hdkJhcj4KICAgICAgICAgICAgICAgIDxOYXZCYXI+CiAgICAgICAgICAgICAgICAgICAgPEdyb3VwUm8+ZmFxPC9Hcm91cFJvPgogICAgICAgICAgICAgICAgICAgIDxEZXNjcmlwdGlvbj5FeHBsb3JlcjwvRGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICAgICAgPE5hbWU+RXhwbG9yZXI8L05hbWU+CiAgICAgICAgICAgICAgICAgICAgPEltYWdlPmxpc3QucG5nPC9JbWFnZT4KICAgICAgICAgICAgICAgICAgICA8TGluaz5BY3Rpb249QWdlbnRGQVEmYW1wO1N1YmFjdGlvbj1FeHBsb3JlcjwvTGluaz4KICAgICAgICAgICAgICAgICAgICA8VHlwZT48L1R5cGU+CiAgICAgICAgICAgICAgICAgICAgPEJsb2NrPjwvQmxvY2s+CiAgICAgICAgICAgICAgICAgICAgPE5hdkJhcj5GQVE8L05hdkJhcj4KICAgICAgICAgICAgICAgICAgICA8QWNjZXNzS2V5PmU8L0FjY2Vzc0tleT4KICAgICAgICAgICAgICAgICAgICA8UHJpbz4xMDA8L1ByaW8+CiAgICAgICAgICAgICAgICA8L05hdkJhcj4KICAgICAgICAgICAgICAgIDxOYXZCYXI+CiAgICAgICAgICAgICAgICAgICAgPEdyb3VwPmZhcTwvR3JvdXA+CiAgICAgICAgICAgICAgICAgICAgPERlc2NyaXB0aW9uPk5ldyBBcnRpY2xlPC9EZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICA8TmFtZT5OZXcgQXJ0aWNsZTwvTmFtZT4KICAgICAgICAgICAgICAgICAgICA8SW1hZ2U+bmV3LnBuZzwvSW1hZ2U+CiAgICAgICAgICAgICAgICAgICAgPExpbms+QWN0aW9uPUFnZW50RkFRJmFtcDtTdWJhY3Rpb249QWRkPC9MaW5rPgogICAgICAgICAgICAgICAgICAgIDxUeXBlPjwvVHlwZT4KICAgICAgICAgICAgICAgICAgICA8QmxvY2s+PC9CbG9jaz4KICAgICAgICAgICAgICAgICAgICA8TmF2QmFyPkZBUTwvTmF2QmFyPgogICAgICAgICAgICAgICAgICAgIDxBY2Nlc3NLZXk+bjwvQWNjZXNzS2V5PgogICAgICAgICAgICAgICAgICAgIDxQcmlvPjIwMDwvUHJpbz4KICAgICAgICAgICAgICAgIDwvTmF2QmFyPgogICAgICAgICAgICAgICAgPE5hdkJhcj4KICAgICAgICAgICAgICAgICAgICA8R3JvdXBSbz5mYXE8L0dyb3VwUm8+CiAgICAgICAgICAgICAgICAgICAgPERlc2NyaXB0aW9uPkZBUS1TZWFyY2g8L0Rlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgICAgIDxOYW1lPlNlYXJjaDwvTmFtZT4KICAgICAgICAgICAgICAgICAgICA8SW1hZ2U+c2VhcmNoLnBuZzwvSW1hZ2U+CiAgICAgICAgICAgICAgICAgICAgPExpbms+QWN0aW9uPUFnZW50RkFRJmFtcDtTdWJhY3Rpb249U2VhcmNoPC9MaW5rPgogICAgICAgICAgICAgICAgICAgIDxUeXBlPjwvVHlwZT4KICAgICAgICAgICAgICAgICAgICA8QmxvY2s+PC9CbG9jaz4KICAgICAgICAgICAgICAgICAgICA8TmF2QmFyPkZBUTwvTmF2QmFyPgogICAgICAgICAgICAgICAgICAgIDxBY2Nlc3NLZXk+czwvQWNjZXNzS2V5PgogICAgICAgICAgICAgICAgICAgIDxQcmlvPjMwMDwvUHJpbz4KICAgICAgICAgICAgICAgIDwvTmF2QmFyPgogICAgICAgICAgICAgICAgPE5hdkJhcj4KICAgICAgICAgICAgICAgICAgICA8R3JvdXBSbz5mYXE8L0dyb3VwUm8+CiAgICAgICAgICAgICAgICAgICAgPERlc2NyaXB0aW9uPkhpc3Rvcnk8L0Rlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgICAgIDxOYW1lPkhpc3Rvcnk8L05hbWU+CiAgICAgICAgICAgICAgICAgICAgPEltYWdlPmhpc3RvcnkucG5nPC9JbWFnZT4KICAgICAgICAgICAgICAgICAgICA8TGluaz5BY3Rpb249QWdlbnRGQVEmYW1wO1N1YmFjdGlvbj1TeXN0ZW1IaXN0b3J5PC9MaW5rPgogICAgICAgICAgICAgICAgICAgIDxUeXBlPjwvVHlwZT4KICAgICAgICAgICAgICAgICAgICA8QmxvY2s+PC9CbG9jaz4KICAgICAgICAgICAgICAgICAgICA8TmF2QmFyPkZBUTwvTmF2QmFyPgogICAgICAgICAgICAgICAgICAgIDxBY2Nlc3NLZXk+bzwvQWNjZXNzS2V5PgogICAgICAgICAgICAgICAgICAgIDxQcmlvPjMxMDwvUHJpbz4KICAgICAgICAgICAgICAgIDwvTmF2QmFyPgogICAgICAgICAgICAgICAgPE5hdkJhcj4KICAgICAgICAgICAgICAgICAgICA8R3JvdXA+ZmFxX2FkbWluPC9Hcm91cD4KICAgICAgICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+TGFuZ3VhZ2U8L0Rlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgICAgIDxOYW1lPkxhbmd1YWdlPC9OYW1lPgogICAgICAgICAgICAgICAgICAgIDxJbWFnZT5sYW5ndWFnZS5wbmc8L0ltYWdlPgogICAgICAgICAgICAgICAgICAgIDxMaW5rPkFjdGlvbj1BZ2VudEZBUSZhbXA7U3ViYWN0aW9uPUxhbmd1YWdlPC9MaW5rPgogICAgICAgICAgICAgICAgICAgIDxUeXBlPjwvVHlwZT4KICAgICAgICAgICAgICAgICAgICA8QmxvY2s+PC9CbG9jaz4KICAgICAgICAgICAgICAgICAgICA8TmF2QmFyPkZBUTwvTmF2QmFyPgogICAgICAgICAgICAgICAgICAgIDxBY2Nlc3NLZXk+dTwvQWNjZXNzS2V5PgogICAgICAgICAgICAgICAgICAgIDxQcmlvPjkxMDwvUHJpbz4KICAgICAgICAgICAgICAgIDwvTmF2QmFyPgogICAgICAgICAgICAgICAgPE5hdkJhcj4KICAgICAgICAgICAgICAgICAgICA8R3JvdXA+ZmFxX2FkbWluPC9Hcm91cD4KICAgICAgICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+Q2F0ZWdvcnk8L0Rlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgICAgIDxOYW1lPkNhdGVnb3J5PC9OYW1lPgogICAgICAgICAgICAgICAgICAgIDxJbWFnZT5jYXRlZ29yeS5wbmc8L0ltYWdlPgogICAgICAgICAgICAgICAgICAgIDxMaW5rPkFjdGlvbj1BZ2VudEZBUSZhbXA7U3ViYWN0aW9uPUNhdGVnb3J5PC9MaW5rPgogICAgICAgICAgICAgICAgICAgIDxUeXBlPjwvVHlwZT4KICAgICAgICAgICAgICAgICAgICA8QmxvY2s+PC9CbG9jaz4KICAgICAgICAgICAgICAgICAgICA8TmF2QmFyPkZBUTwvTmF2QmFyPgogICAgICAgICAgICAgICAgICAgIDxBY2Nlc3NLZXk+YzwvQWNjZXNzS2V5PgogICAgICAgICAgICAgICAgICAgIDxQcmlvPjkyMDwvUHJpbz4KICAgICAgICAgICAgICAgIDwvTmF2QmFyPgogICAgICAgICAgICA8L0Zyb250ZW5kTW9kdWxlUmVnPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkN1c3RvbWVyRnJvbnRlbmQ6Ok1vZHVsZSMjI0N1c3RvbWVyRkFRIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+RnJvbnRlbmQgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIEN1c3RvbWVyRkFRIG9iamVjdCBpbiB0aGUgY3VzdG9tZXIgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5Gcm9udGVuZG1vZHVsLVJlZ2lzdHJhdGlvbiBm/HIgZGFzIEN1c3RvbWVyRkFRLU9iamVrdCBpbSBDdXN0b21lci1JbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkN1c3RvbWVyOjpNb2R1bGVSZWdpc3RyYXRpb248L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8RnJvbnRlbmRNb2R1bGVSZWc+CiAgICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+Q3VzdG9tZXIgZmFxPC9EZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIDxOYXZCYXJOYW1lPkZBUTwvTmF2QmFyTmFtZT4KICAgICAgICAgICAgICAgIDxUaXRsZT48L1RpdGxlPgogICAgICAgICAgICAgICAgPE5hdkJhcj4KICAgICAgICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+RkFRLUFyZWE8L0Rlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgICAgIDxOYW1lPkZBUS1BcmVhPC9OYW1lPgogICAgICAgICAgICAgICAgICAgIDxJbWFnZT5oZWxwLnBuZzwvSW1hZ2U+CiAgICAgICAgICAgICAgICAgICAgPExpbms+QWN0aW9uPUN1c3RvbWVyRkFRPC9MaW5rPgogICAgICAgICAgICAgICAgICAgIDxUeXBlPjwvVHlwZT4KICAgICAgICAgICAgICAgICAgICA8QmxvY2s+PC9CbG9jaz4KICAgICAgICAgICAgICAgICAgICA8TmF2QmFyPjwvTmF2QmFyPgogICAgICAgICAgICAgICAgICAgIDxBY2Nlc3NLZXk+ZjwvQWNjZXNzS2V5PgogICAgICAgICAgICAgICAgICAgIDxQcmlvPjQwMDwvUHJpbz4KICAgICAgICAgICAgICAgIDwvTmF2QmFyPgogICAgICAgICAgICA8L0Zyb250ZW5kTW9kdWxlUmVnPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IlB1YmxpY0Zyb250ZW5kOjpDb21tb25QYXJhbSMjI0FjdGlvbiIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZW4iPkRlZmF1bHQgdmFsdWUgZm9yIHRoZSBBY3Rpb24gcGFyYW1ldGVyIGZvciB0aGUgcHVibGljIGZyb250ZW5kLiBUaGUgQWN0aW9uIHBhcmFtZXRlciBpcyB1c2VkIGluIHRoZSBzY3JpcHRzIG9mIHRoZSBzeXN0ZW0uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPlN0YW5kYXJkd2VydCBkZXMgQWN0aW9uLVBhcmFtZXRlcnMgZvxyIGRlbiD2ZmZlbnRsaWNoZW4gRkFRLUJlcmVpY2guIERlciBBY3Rpb24tUGFyYW1ldGVyIHdpcmQgdm9uIGRlbiBTa3JpcHRlbiBkZXMgU3lzdGVtcyBiZW51dHp0LjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpQdWJsaWM8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nPlB1YmxpY0ZBUTwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IlB1YmxpY0Zyb250ZW5kOjpNb2R1bGUjIyNQdWJsaWNGQVEiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5Gcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUHVibGljRkFRIG9iamVjdCBpbiB0aGUgcHVibGljIEZBUSBhcmVhLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5Gcm9udGVuZG1vZHVsLVJlZ2lzdHJhdGlvbiBm/HIgZGFzIFB1YmxpY0ZBUS1PYmpla3QgaW0g9mZmZW50bGljaGVuIEZBUS1CZXJlaWNoLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpQdWJsaWM6Ok1vZHVsZVJlZ2lzdHJhdGlvbjwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxGcm9udGVuZE1vZHVsZVJlZz4KICAgICAgICAgICAgICAgIDxEZXNjcmlwdGlvbj5DdXN0b21lciBmYXE8L0Rlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgPE5hdkJhck5hbWU+RkFRPC9OYXZCYXJOYW1lPgogICAgICAgICAgICAgICAgPFRpdGxlPjwvVGl0bGU+CiAgICAgICAgICAgICAgICA8TmF2QmFyPgogICAgICAgICAgICAgICAgICAgIDxEZXNjcmlwdGlvbj5GQVEtQXJlYTwvRGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICAgICAgPE5hbWU+RkFRLUFyZWE8L05hbWU+CiAgICAgICAgICAgICAgICAgICAgPEltYWdlPmhlbHAucG5nPC9JbWFnZT4KICAgICAgICAgICAgICAgICAgICA8TGluaz5BY3Rpb249Q3VzdG9tZXJGQVE8L0xpbms+CiAgICAgICAgICAgICAgICAgICAgPFR5cGU+PC9UeXBlPgogICAgICAgICAgICAgICAgICAgIDxCbG9jaz48L0Jsb2NrPgogICAgICAgICAgICAgICAgICAgIDxOYXZCYXI+PC9OYXZCYXI+CiAgICAgICAgICAgICAgICAgICAgPEFjY2Vzc0tleT5mPC9BY2Nlc3NLZXk+CiAgICAgICAgICAgICAgICAgICAgPFByaW8+NDAwPC9QcmlvPgogICAgICAgICAgICAgICAgPC9OYXZCYXI+CiAgICAgICAgICAgIDwvRnJvbnRlbmRNb2R1bGVSZWc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRkFROjpJdGVtOjpIVE1MIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+U2hvdyBGQVEgQXJ0aWNsZSB3aXRoIEhUTUwuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkhUTUwgRGFyc3RlbGx1bmcgZGVyIEZBUSBBcnRpa2VsIGVpbnNjaGFsdGVuLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZBUTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6Okl0ZW08L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGcm9udGVuZDo6SGVhZGVyTWV0YU1vZHVsZSMjIzMtRkFRU2VhcmNoIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJlbiI+TW9kdWxlIHRvIGdlbmVyYXRlIGh0bWwgT3BlblNlYXJjaCBwcm9maWxlIGZvciBzaG9ydCBmYXEgc2VhcmNoLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImRlIj5Nb2R1bCB6dW0gR2VuZXJpZXJlbiBkZXMgSFRNTCAiT3BlblNlYXJjaCIgUHJvZmlscyB6dXIgRkFRLVN1Y2hlIPxiZXIgZGFzIEJyb3dzZXItU3VjaGZlbGQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+RkFRPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVNZXRhSGVhZDwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6T3V0cHV0OjpIVE1MOjpIZWFkZXJNZXRhRkFRU2VhcmNoPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJBY3Rpb24iPkFnZW50RkFRPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRnJvbnRlbmQ6Ok1vZHVsZSMjI1BpY3R1cmVVcGxvYWRGQVEiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5Gcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgUGljdHVyZVVwbG9hZEZBUSBvYmplY3QgaW4gdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+RnJvbnRlbmRtb2R1bC1SZWdpc3RyYXRpb24gZGVzIFBpY3R1cmVVcGxvYWRGQVEtT2JqZWt0cyBpbSBBZ2VudGVuLUludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxGcm9udGVuZE1vZHVsZVJlZz4KICAgICAgICAgICAgICAgIDxEZXNjcmlwdGlvbj5UaWNrZXQgcGljdHVyZSB1cGxvYWQgbW9kdWxlPC9EZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIDxUaXRsZT5QaWN0dXJlLVVwbG9hZC1GQVE8L1RpdGxlPgogICAgICAgICAgICA8L0Zyb250ZW5kTW9kdWxlUmVnPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkZyb250ZW5kOjpPdXRwdXQ6OkZpbHRlckVsZW1lbnRQcmUjIyNGQVEiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5EZWZpbmVzIHdoZXJlIHRoZSAnSW5zZXJ0IEZBUScgbGluayB3aWxsIGJlIGRpc3BsYXllZC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxEZXNjcmlwdGlvbiBMYW5nPSJkZSI+RGVmaW5pZXJ0IHdvIGRlciBMaW5rICdGQVEgZWluZvxnZW4nIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5GQVE8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6Ok91dHB1dDo6SFRNTDo6T3V0cHV0RmlsdGVyRkFRPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZWJ1ZyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGVtcGxhdGVzIj4KICAgICAgICAgICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJBZ2VudFRpY2tldFBob25lIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFnZW50VGlja2V0RW1haWwiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQWdlbnRUaWNrZXRDb21wb3NlIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFnZW50VGlja2V0Rm9yd2FyZCI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJBZ2VudFRpY2tldE5vdGUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQWdlbnRUaWNrZXRDbG9zZSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJBZ2VudFRpY2tldEZyZWVUZXh0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFnZW50VGlja2V0T3duZXIiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQWdlbnRUaWNrZXRQZW5kaW5nIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFnZW50VGlja2V0UHJpb3JpdHkiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQWdlbnRUaWNrZXRSZXNwb25zaWJsZSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGcm9udGVuZDo6T3V0cHV0OjpPdXRwdXRGaWx0ZXJUZXh0QXV0b0xpbmsjIyNGQVEiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIExhbmc9ImVuIj5BIGZpbHRlciBmb3IgSFRNTCBvdXRwdXQgdG8gYWRkIGxpbmtzIGJlaGluZCBhIGRlZmluZWQgc3RyaW5nLiBUaGUgZWxlbWVudCBJbWFnZSBhbGxvd3MgdHdvIGlucHV0IGtpbmRzLiBGaXJzdCB0aGUgbmFtZSBvZiBhbiBpbWFnZSAoZS5nLiBmYXEucG5nKS4gSW4gdGhpcyBjYXNlIHRoZSBPVFJTIGltYWdlIHBhdGggd2lsbCBiZSB1c2VkLiBUaGUgc2Vjb25kIHBvc3NpYmlsaXR5IGlzIHRvIGluc2VydCB0aGUgbGluayB0byB0aGUgaW1hZ2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8RGVzY3JpcHRpb24gTGFuZz0iZGUiPkVpbiBGaWx0ZXIgenVyIGF1dG9tYXRpc2NoZW4gR2VuZXJpZXJ1bmcgdm9uIEZBUS1MaW5rcywgd2VubiBlaW4gSGlud2VpcyBhdWYgZWluZW4gRkFRLUFydGlrZWwgaWRlbnRpZml6aWVydCB3aXJkLiBEYXMgRWxlbWVudCBJbWFnZSBlcmxhdWJ0IHp3ZWkgRWluZ2FiZWZvcm1lbjogRXJzdGVucyBkZXIgTmFtZSBlaW5lcyBJY29ucyAoei4gQi4gZmFxLnBuZykuIEluIGRpZXNlbSBGYWxsIHdpcmQgYXVmIGRhcyBHcmFwaGlrdmVyemVpY2huaXMgZGVzIE9UUlMgenVnZWdyaWZmZW4uIEFscyB6d2VpdGUgTfZnbGljaGtlaXQga2FubiBtYW4gYWJlciBhdWNoIGRlbiBkaXJla3RlbiBMaW5rIHp1ciBHcmFmaWsgYW5nZWJlbiAoei4gQi4gaHR0cDovL290cnMub3JnL2ZhcS5wbmcpLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPkZyYW1ld29yazwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OldlYjwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJSZWdFeHAiPgogICAgICAgICAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0+KEZBUSlbI1xzXSo/MShcZHs0fSk8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVVJMMSI+CiAgICAgICAgICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iPkZBUTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJVUkwiPi9vdHJzL2luZGV4LnBsP0FjdGlvbj1BZ2VudEZBUSZhbXA7SXRlbUlEPSZsdDtNQVRDSDImZ3Q7PC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkltYWdlIj5oZWxwLXNtYWxsLnBuZzwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUYXJnZXQiPl9ibGFuazwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+Cjwvb3Ryc19jb25maWc+Cg==
cGFja2FnZSBVUkk6OkVzY2FwZTsKdXNlIHN0cmljdDsKCj1oZWFkMSBOQU1FCgpVUkk6OkVzY2FwZSAtIEVzY2FwZSBhbmQgdW5lc2NhcGUgdW5zYWZlIGNoYXJhY3RlcnMKCj1oZWFkMSBTWU5PUFNJUwoKIHVzZSBVUkk6OkVzY2FwZTsKICRzYWZlID0gdXJpX2VzY2FwZSgiMTAlIGlzIGVub3VnaFxuIik7CiAkdmVyeXNhZmUgPSB1cmlfZXNjYXBlKCJmb28iLCAiXDAtXDM3NyIpOwogJHN0ciAgPSB1cmlfdW5lc2NhcGUoJHNhZmUpOwoKPWhlYWQxIERFU0NSSVBUSU9OCgpUaGlzIG1vZHVsZSBwcm92aWRlcyBmdW5jdGlvbnMgdG8gZXNjYXBlIGFuZCB1bmVzY2FwZSBVUkkgc3RyaW5ncyBhcwpkZWZpbmVkIGJ5IFJGQyAyMzk2IChhbmQgdXBkYXRlZCBieSBSRkMgMjczMikuCkEgVVJJIGNvbnNpc3RzIG9mIGEgcmVzdHJpY3RlZCBzZXQgb2YgY2hhcmFjdGVycywKZGVub3RlZCBhcyBDPHVyaWM+IGluIFJGQyAyMzk2LiAgVGhlIHJlc3RyaWN0ZWQgc2V0IG9mIGNoYXJhY3RlcnMKY29uc2lzdHMgb2YgZGlnaXRzLCBsZXR0ZXJzLCBhbmQgYSBmZXcgZ3JhcGhpYyBzeW1ib2xzIGNob3NlbiBmcm9tCnRob3NlIGNvbW1vbiB0byBtb3N0IG9mIHRoZSBjaGFyYWN0ZXIgZW5jb2RpbmdzIGFuZCBpbnB1dCBmYWNpbGl0aWVzCmF2YWlsYWJsZSB0byBJbnRlcm5ldCB1c2VyczoKCiAgIkEiIC4uICJaIiwgImEiIC4uICJ6IiwgIjAiIC4uICI5IiwKICAiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCIsICJbIiwgIl0iLCAgICMgcmVzZXJ2ZWQKICAiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiCgpJbiBhZGRpdGlvbiwgYW55IGJ5dGUgKG9jdGV0KSBjYW4gYmUgcmVwcmVzZW50ZWQgaW4gYSBVUkkgYnkgYW4gZXNjYXBlCnNlcXVlbmNlOiBhIHRyaXBsZXQgY29uc2lzdGluZyBvZiB0aGUgY2hhcmFjdGVyICIlIiBmb2xsb3dlZCBieSB0d28KaGV4YWRlY2ltYWwgZGlnaXRzLiAgQSBieXRlIGNhbiBhbHNvIGJlIHJlcHJlc2VudGVkIGRpcmVjdGx5IGJ5IGEKY2hhcmFjdGVyLCB1c2luZyB0aGUgVVMtQVNDSUkgY2hhcmFjdGVyIGZvciB0aGF0IG9jdGV0IChpZmYgdGhlCmNoYXJhY3RlciBpcyBwYXJ0IG9mIEM8dXJpYz4pLgoKU29tZSBvZiB0aGUgQzx1cmljPiBjaGFyYWN0ZXJzIGFyZSBJPHJlc2VydmVkPiBmb3IgdXNlIGFzIGRlbGltaXRlcnMKb3IgYXMgcGFydCBvZiBjZXJ0YWluIFVSSSBjb21wb25lbnRzLiAgVGhlc2UgbXVzdCBiZSBlc2NhcGVkIGlmIHRoZXkgYXJlCnRvIGJlIHRyZWF0ZWQgYXMgb3JkaW5hcnkgZGF0YS4gIFJlYWQgUkZDIDIzOTYgZm9yIGZ1cnRoZXIgZGV0YWlscy4KClRoZSBmdW5jdGlvbnMgcHJvdmlkZWQgKGFuZCBleHBvcnRlZCBieSBkZWZhdWx0KSBmcm9tIHRoaXMgbW9kdWxlIGFyZToKCj1vdmVyIDQKCj1pdGVtIHVyaV9lc2NhcGUoICRzdHJpbmcgKQoKPWl0ZW0gdXJpX2VzY2FwZSggJHN0cmluZywgJHVuc2FmZSApCgpSZXBsYWNlcyBlYWNoIHVuc2FmZSBjaGFyYWN0ZXIgaW4gdGhlICRzdHJpbmcgd2l0aCB0aGUgY29ycmVzcG9uZGluZwplc2NhcGUgc2VxdWVuY2UgYW5kIHJldHVybnMgdGhlIHJlc3VsdC4gIFRoZSAkc3RyaW5nIGFyZ3VtZW50IHNob3VsZApiZSBhIHN0cmluZyBvZiBieXRlcy4gIFRoZSB1cmlfZXNjYXBlKCkgZnVuY3Rpb24gd2lsbCBjcm9hayBpZiBnaXZlbiBhCmNoYXJhY3RlcnMgd2l0aCBjb2RlIGFib3ZlIDI1NS4gIFVzZSB1cmlfZXNjYXBlX3V0ZjgoKSBpZiB5b3Uga25vdyB5b3UKaGF2ZSBzdWNoIGNoYXJzIG9yL2FuZCB3YW50IGNoYXJzIGluIHRoZSAxMjggLi4gMjU1IHJhbmdlIHRyZWF0ZWQgYXMKVVRGLTguCgpUaGUgdXJpX2VzY2FwZSgpIGZ1bmN0aW9uIHRha2VzIGFuIG9wdGlvbmFsIHNlY29uZCBhcmd1bWVudCB0aGF0Cm92ZXJyaWRlcyB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgdGhhdCBhcmUgdG8gYmUgZXNjYXBlZC4gIFRoZSBzZXQgaXMKc3BlY2lmaWVkIGFzIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgaW4gYSByZWd1bGFyIGV4cHJlc3Npb24KY2hhcmFjdGVyIGNsYXNzIChiZXR3ZWVuIFsgXSkuICBFLmcuOgoKICAiXHgwMC1ceDFmXHg3Zi1ceGZmIiAgICAgICAgICAjIGFsbCBjb250cm9sIGFuZCBoaS1iaXQgY2hhcmFjdGVycwogICJhLXoiICAgICAgICAgICAgICAgICAgICAgICAgICMgYWxsIGxvd2VyIGNhc2UgY2hhcmFjdGVycwogICJeQS1aYS16IiAgICAgICAgICAgICAgICAgICAgICMgZXZlcnl0aGluZyBub3QgYSBsZXR0ZXIKClRoZSBkZWZhdWx0IHNldCBvZiBjaGFyYWN0ZXJzIHRvIGJlIGVzY2FwZWQgaXMgYWxsIHRob3NlIHdoaWNoIGFyZQpJPG5vdD4gcGFydCBvZiB0aGUgQzx1cmljPiBjaGFyYWN0ZXIgY2xhc3Mgc2hvd24gYWJvdmUgYXMgd2VsbCBhcyB0aGUKcmVzZXJ2ZWQgY2hhcmFjdGVycy4gIEkuZS4gdGhlIGRlZmF1bHQgaXM6CgogICJeQS1aYS16MC05XC1fLiF+KicoKSIKCj1pdGVtIHVyaV9lc2NhcGVfdXRmOCggJHN0cmluZyApCgo9aXRlbSB1cmlfZXNjYXBlX3V0ZjgoICRzdHJpbmcsICR1bnNhZmUgKQoKV29ya3MgbGlrZSB1cmlfZXNjYXBlKCksIGJ1dCB3aWxsIGVuY29kZSBjaGFycyBhcyBVVEYtOCBiZWZvcmUKZXNjYXBpbmcgdGhlbS4gIFRoaXMgbWFrZXMgdGhpcyBmdW5jdGlvbiBhYmxlIGRvIGRlYWwgd2l0aCBjaGFyYWN0ZXJzCndpdGggY29kZSBhYm92ZSAyNTUgaW4gJHN0cmluZy4gIE5vdGUgdGhhdCBjaGFycyBpbiB0aGUgMTI4IC4uIDI1NQpyYW5nZSB3aWxsIGJlIGVzY2FwZWQgZGlmZmVyZW50bHkgYnkgdGhpcyBmdW5jdGlvbiBjb21wYXJlZCB0byB3aGF0CnVyaV9lc2NhcGUoKSB3b3VsZC4gIEZvciBjaGFycyBpbiB0aGUgMCAuLiAxMjcgcmFuZ2UgdGhlcmUgaXMgbm8KZGlmZmVyZW5jZS4KClRoZSBjYWxsOgoKICAgICR1cmkgPSB1cmlfZXNjYXBlX3V0ZjgoJHN0cmluZyk7Cgp3aWxsIGJlIHRoZSBzYW1lIGFzOgoKICAgIHVzZSBFbmNvZGUgcXcoZW5jb2RlKTsKICAgICR1cmkgPSB1cmlfZXNjYXBlKGVuY29kZSgiVVRGLTgiLCAkc3RyaW5nKSk7CgpidXQgd2lsbCBldmVuIHdvcmsgZm9yIHBlcmwtNS42IGZvciBjaGFycyBpbiB0aGUgMTI4IC4uIDI1NSByYW5nZS4KCk5vdGU6IEphdmFzY3JpcHQgaGFzIGEgZnVuY3Rpb24gY2FsbGVkIGVzY2FwZSgpIHRoYXQgcHJvZHVjZSB0aGUKc2VxdWVuY2UgIiV1WFhYWCIgZm9yIGNoYXJzIGluIHRoZSAyNTYgLi4gNjU1MzUgcmFuZ2UuICBUaGlzIGZ1bmN0aW9uCmhhcyByZWFsbHkgbm90aGluZyB0byBkbyB3aXRoIFVSSSBlc2NhcGluZyBidXQgc29tZSBmb2xrcyBnb3QgY29uZnVzZWQKc2luY2UgaXQgImRvZXMgdGhlIHJpZ2h0IHRoaW5nIiBpbiB0aGUgMCAuLiAyNTUgcmFuZ2UuICBCZWNhdXNlIG9mCnRoaXMgeW91IHNvbWV0aW1lcyBzZWUgIlVSSXMiIHdpdGggdGhlc2Uga2luZCBvZiBlc2NhcGVzLiAgVGhlCkphdmFTY3JpcHQgZW5jb2RlVVJJKCkgZnVuY3Rpb24gaXMgc2ltaWxhciB0byB1cmlfZXNjYXBlX3V0ZjgoKS4KCj1pdGVtIHVyaV91bmVzY2FwZSgkc3RyaW5nLC4uLikKClJldHVybnMgYSBzdHJpbmcgd2l0aCBlYWNoICVYWCBzZXF1ZW5jZSByZXBsYWNlZCB3aXRoIHRoZSBhY3R1YWwgYnl0ZQoob2N0ZXQpLgoKVGhpcyBkb2VzIHRoZSBzYW1lIGFzOgoKICAgJHN0cmluZyA9fiBzLyUoWzAtOUEtRmEtZl17Mn0pL2NocihoZXgoJDEpKS9lZzsKCmJ1dCBkb2VzIG5vdCBtb2RpZnkgdGhlIHN0cmluZyBpbi1wbGFjZSBhcyB0aGlzIFJFIHdvdWxkLiAgVXNpbmcgdGhlCnVyaV91bmVzY2FwZSgpIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIFJFIG1pZ2h0IG1ha2UgdGhlIGNvZGUgbG9vawpjbGVhbmVyIGFuZCBpcyBhIGZldyBjaGFyYWN0ZXJzIGxlc3MgdG8gdHlwZS4KCkluIGEgc2ltcGxlIGJlbmNobWFyayB0ZXN0IEkgZGlkLApjYWxsaW5nIHRoZSBmdW5jdGlvbiAoaW5zdGVhZCBvZiB0aGUgaW5saW5lIFJFIGFib3ZlKSBpZiBhIGZldyBjaGFycwp3ZXJlIHVuZXNjYXBlZCB3YXMgc29tZXRoaW5nIGxpa2UgNDAlIHNsb3dlciwgYW5kIHNvbWV0aGluZyBsaWtlIDcwMCUgc2xvd2VyIGlmIG5vbmUgd2VyZS4gIElmCnlvdSBhcmUgZ29pbmcgdG8gdW5lc2NhcGUgYSBsb3Qgb2YgdGltZXMgaXQgbWlnaHQgYmUgYSBnb29kIGlkZWEgdG8KaW5saW5lIHRoZSBSRS4KCklmIHRoZSB1cmlfdW5lc2NhcGUoKSBmdW5jdGlvbiBpcyBwYXNzZWQgbXVsdGlwbGUgc3RyaW5ncywgdGhlbiBlYWNoCm9uZSBpcyByZXR1cm5lZCB1bmVzY2FwZWQuCgo9YmFjawoKVGhlIG1vZHVsZSBjYW4gYWxzbyBleHBvcnQgdGhlIEM8JWVzY2FwZXM+IGhhc2gsIHdoaWNoIGNvbnRhaW5zIHRoZQptYXBwaW5nIGZyb20gYWxsIDI1NiBieXRlcyB0byB0aGUgY29ycmVzcG9uZGluZyBlc2NhcGUgY29kZXMuICBMb29rdXAKaW4gdGhpcyBoYXNoIGlzIGZhc3RlciB0aGFuIGV2YWx1YXRpbmcgQzxzcHJpbnRmKCIlJSUwMlgiLCBvcmQoJGJ5dGUpKT4KZWFjaCB0aW1lLgoKPWhlYWQxIFNFRSBBTFNPCgpMPFVSST4KCgo9aGVhZDEgQ09QWVJJR0hUCgpDb3B5cmlnaHQgMTk5NS0yMDA0IEdpc2xlIEFhcy4KClRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSBzYW1lIHRlcm1zIGFzIFBlcmwgaXRzZWxmLgoKPWN1dAoKdXNlIHZhcnMgcXcoQElTQSBARVhQT1JUIEBFWFBPUlRfT0sgJFZFUlNJT04pOwp1c2UgdmFycyBxdyglZXNjYXBlcyk7CgpyZXF1aXJlIEV4cG9ydGVyOwpASVNBID0gcXcoRXhwb3J0ZXIpOwpARVhQT1JUID0gcXcodXJpX2VzY2FwZSB1cmlfdW5lc2NhcGUgdXJpX2VzY2FwZV91dGY4KTsKQEVYUE9SVF9PSyA9IHF3KCVlc2NhcGVzKTsKJFZFUlNJT04gPSAiMy4yOSI7Cgp1c2UgQ2FycCAoKTsKCiMgQnVpbGQgYSBjaGFyLT5oZXggbWFwCmZvciAoMC4uMjU1KSB7CiAgICAkZXNjYXBlc3tjaHIoJF8pfSA9IHNwcmludGYoIiUlJTAyWCIsICRfKTsKfQoKbXkgJXN1YnN0OyAgIyBjb21waWxlZCBwYXR0ZXJuZXMKCnN1YiB1cmlfZXNjYXBlCnsKICAgIG15KCR0ZXh0LCAkcGF0bikgPSBAXzsKICAgIHJldHVybiB1bmRlZiB1bmxlc3MgZGVmaW5lZCAkdGV4dDsKICAgIGlmIChkZWZpbmVkICRwYXRuKXsKCXVubGVzcyAoZXhpc3RzICAkc3Vic3R7JHBhdG59KSB7CgkgICAgIyBCZWNhdXNlIHdlIGNhbid0IGNvbXBpbGUgdGhlIHJlZ2V4IHdlIGZha2UgaXQgd2l0aCBhIGNhY2hlZCBzdWIKCSAgICAobXkgJHRtcCA9ICRwYXRuKSA9fiBzLC8sXFwvLGc7CgkgICAgZXZhbCAiXCRzdWJzdHtcJHBhdG59ID0gc3ViIHtcJF9bMF0gPX4gcy8oWyR0bXBdKS9cJGVzY2FwZXN7XCQxfSB8fCBfZmFpbF9oaShcJDEpL2dlOyB9IjsKCSAgICBDYXJwOjpjcm9haygidXJpX2VzY2FwZTogJEAiKSBpZiAkQDsKCX0KCSZ7JHN1YnN0eyRwYXRufX0oJHRleHQpOwogICAgfSBlbHNlIHsKCSMgRGVmYXVsdCB1bnNhZmUgY2hhcmFjdGVycy4gIFJGQyAyNzMyIF4odXJpYyAtIHJlc2VydmVkKQoJJHRleHQgPX4gcy8oW15BLVphLXowLTlcLV8uIX4qJygpXSkvJGVzY2FwZXN7JDF9IHx8IF9mYWlsX2hpKCQxKS9nZTsKICAgIH0KICAgICR0ZXh0Owp9CgpzdWIgX2ZhaWxfaGkgewogICAgbXkgJGNociA9IHNoaWZ0OwogICAgQ2FycDo6Y3JvYWsoc3ByaW50ZiAiQ2FuJ3QgZXNjYXBlIFxceHslMDRYfSwgdHJ5IHVyaV9lc2NhcGVfdXRmOCgpIGluc3RlYWQiLCBvcmQoJGNocikpOwp9CgpzdWIgdXJpX2VzY2FwZV91dGY4CnsKICAgIG15ICR0ZXh0ID0gc2hpZnQ7CiAgICBpZiAoJF0gPCA1LjAwOCkgewoJJHRleHQgPX4gcy8oW15cMC1ceDdGXSkvZG8ge215ICRvID0gb3JkKCQxKTsgc3ByaW50ZigiJWMlYyIsIDB4YzAgfCAoJG8gPj4gNiksIDB4ODAgfCAoJG8gJiAweDNmKSkgfS9nZTsKICAgIH0KICAgIGVsc2UgewoJdXRmODo6ZW5jb2RlKCR0ZXh0KTsKICAgIH0KCiAgICByZXR1cm4gdXJpX2VzY2FwZSgkdGV4dCwgQF8pOwp9CgpzdWIgdXJpX3VuZXNjYXBlCnsKICAgICMgTm90ZSBmcm9tIFJGQzE2MzA6ICAiU2VxdWVuY2VzIHdoaWNoIHN0YXJ0IHdpdGggYSBwZXJjZW50IHNpZ24KICAgICMgYnV0IGFyZSBub3QgZm9sbG93ZWQgYnkgdHdvIGhleGFkZWNpbWFsIGNoYXJhY3RlcnMgYXJlIHJlc2VydmVkCiAgICAjIGZvciBmdXR1cmUgZXh0ZW5zaW9uIgogICAgbXkgJHN0ciA9IHNoaWZ0OwogICAgaWYgKEBfICYmIHdhbnRhcnJheSkgewoJIyBub3QgZXhlY3V0ZWQgZm9yIHRoZSBjb21tb24gY2FzZSBvZiBhIHNpbmdsZSBhcmd1bWVudAoJbXkgQHN0ciA9ICgkc3RyLCBAXyk7ICAjIG5lZWQgdG8gY29weQoJZm9yZWFjaCAoQHN0cikgewoJICAgIHMvJShbMC05QS1GYS1mXXsyfSkvY2hyKGhleCgkMSkpL2VnOwoJfQoJcmV0dXJuIEBzdHI7CiAgICB9CiAgICAkc3RyID1+IHMvJShbMC05QS1GYS1mXXsyfSkvY2hyKGhleCgkMSkpL2VnIGlmIGRlZmluZWQgJHN0cjsKICAgICRzdHI7Cn0KCnN1YiBlc2NhcGVfY2hhciB7CiAgICByZXR1cm4gam9pbiAnJywgQFVSSTo6RXNjYXBlOjplc2NhcGVzeyRfWzBdID1+IC8oXEMpL2d9Owp9CgoxOwo=
CnJlcXVpcmUgNTsKcGFja2FnZSBYTUw6OlJTUzo6U2ltcGxlR2VuOwp1c2Ugc3RyaWN0Owp1c2UgQ2FycCAoKTsKcmVxdWlyZSBFeHBvcnRlcjsKdXNlIHZhcnMgcXcoCiAgQEVYUE9SVCAlRVhQT1JUX1RBR1MgQElTQSAkVkVSU0lPTgogICVFbnRpdGllcyAlV2luTGFtZUVudGl0aWVzICVDb21tb25FbnRzICRNSU1FX1R5cGUgCiAgJERURF91cmwgJERURF9wdWJpZCAkTmF0aXZpemVfbmV3bGluZXMgJERXSU0gQEhpZGllcyAkUlNTX29iagogICRTbGVlcHkgJUlzQmxvY2tNYXJrdXAgJE1heWJlSW5kZW50ICRNYXliZU5MICVQZXJpb2RBc1NlY29uZHMKICAkTkFNRVNQQUNFX1NZICRDSFVOS19NSU5VVEVTICVCYWRQb3J0cwogIEBSZXRyeV9kZWxheXMgJFVzZXJBZ2VudFN0cmluZwopOwoKJFZFUlNJT04gPSAnMTEuMTEnOwpCRUdJTiB7ICpERUJVRyA9IHN1YiAoKSB7MH0gdW5sZXNzIGRlZmluZWQgJkRFQlVHOyB9ICAgIyBzZXQgREVCVUcgbGV2ZWwKCkBJU0EgPSBxdyhFeHBvcnRlcik7CgojJERURF91cmwgICB8fD0gJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcHVibGlzaC9mb3JtYXRzL3Jzcy0wLjkxLmR0ZCc7CiMkRFREX3B1YmlkIHx8PSAnLS8vTmV0c2NhcGUgQ29tbXVuaWNhdGlvbnMvL0RURCBSU1MgMC45MS8vRU4nOwokTkFNRVNQQUNFX1NZIHx8PSAnaHR0cDovL3B1cmwub3JnL3Jzcy8xLjAvbW9kdWxlcy9zeW5kaWNhdGlvbi8nOwokQ0hVTktfTUlOVVRFUyA9IDEwOwoKJE5hdGl2aXplX25ld2xpbmVzID0gMSB1bmxlc3MgZGVmaW5lZCAkTmF0aXZpemVfbmV3bGluZXM7CiREV0lNID0gMSB1bmxlc3MgZGVmaW5lZCAkRFdJTTsKJFNsZWVweSA9CiAkRU5WeydNQUlMVE8nfSA/IDQgICMgdW5kZXIgY3JvbnRhYgogOiAoJEVOVnsnVEVSTSd9IHx8ICRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gfHwgJEVOVnsnQ09NU1BFQyd9ICkgPyAwCiAgICAjIGFsbW9zdCBkZWZpbml0ZWx5IG5vdCB1bmRlciBjcm9udGFiCiA6IDQgICB1bmxlc3MgZGVmaW5lZCAkU2xlZXB5OwpAUmV0cnlfZGVsYXlzID0gKDQsIDEwLCAyMCwgNDApOwokTWF5YmVJbmRlbnQgPSAnICAnOwokTWF5YmVOTCA9ICJcbiI7CiMkTWF5YmVOTCA9ICRNYXliZUluZGVudCA9ICcnOyAgIyB0ZXJzZXIsIG1vcmUgZ3JlcC13b3J0aHkKCmZvcmVhY2ggbXkgJHAgKCAgIyBwb3J0cyB3ZSdsbCByZWZ1c2UgdG8gZG8gSFRUUCBvbgpxdzwwIDEgNyA5IDExIDEzIDE1IDE3IDE5IDIwIDIxIDIyIDIzIDI1IDM3IDQyIDQzIDUzIDcwIDc5IDk1IDEwMSAxMDIgMTAzCiAgMTA0IDEwNyAxMDkgMTEwIDExMSAxMTMgMTE1IDExNyAxMTkgMTIzIDEzNSAxMzcgMTM4IDEzOSAxNDMgMzg5IDQ0MyA1MTIKICA1MTMgNTE0IDUxNSA1MTcgNTE4IDUyNiA1MzAgNTMxIDUzMiA1NDAgNTU2IDY2NjcKPikgeyAkQmFkUG9ydHN7JHB9ID0gMSB1bmxlc3MgZGVmaW5lZCAkQmFkUG9ydHN7JHB9OyB9CgokVXNlckFnZW50U3RyaW5nIHx8PSAiWG1sUnNzU2ltcGxlR2VuLyRWRVJTSU9OIjsKCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgpzdWIgX2hpZGUge3B1c2ggQEhpZGllcywgQF8gfTsKX2hpZGUgcXcoaW5pdCBpbXBvcnQpOwoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgoKPWhlYWQxIE5BTUUKClhNTDo6UlNTOjpTaW1wbGVHZW4gLSBmb3Igd3JpdGluZyBSU1MgZmlsZXMKCj1oZWFkMSBTWU5PUFNJUwoKICAjIEEgY29tcGxldGUgc2NyZWVuLXNjcmFwZXIgYW5kIFJTUyBnZW5lcmF0b3IgaGVyZToKICAKICB1c2Ugc3RyaWN0OwogIHVzZSBYTUw6OlJTUzo6U2ltcGxlR2VuOwogIG15ICR1cmwgPSBxPGh0dHA6Ly93d3cuZXhpbGUucnUvPjsKICAKICByc3NfbmV3KCAkdXJsLCAiZVhpbGUiLCAiTW9zY293LWJhc2VkIEFsdGVybmF0aXZlIE5ld3NwYXBlciIgKTsKICByc3NfbGFuZ3VhZ2UoICdlbicgKTsKICByc3Nfd2VibWFzdGVyKCAneHh4eHhAeW91cmRvbWFpbi5jb20nICk7CiAgcnNzX3R3aWNlX2RhaWx5KCk7CiAgCiAgZ2V0X3VybCggJHVybCApOwogIAogIHdoaWxlKAogICBtezxoND5ccyo8YSBocmVmPScvKC4qPyknLio/PiguKj8pPC9hPlxzKjwvaDQ+XHMqPHAuKj8+KC4qPyk8YSBocmVmPScvfXNnCiAgKSB7CiAgICByc3NfaXRlbSgiJHVybCQxIiwgJDIsICQzKTsKICB9CiAgCiAgZGllICJObyBpdGVtcyBpbiB0aGlzIGNvbnRlbnQ/ISB7e1xuJF9cbn19XG5BYm9ydGluZyIKICAgdW5sZXNzIHJzc19pdGVtX2NvdW50KCk7CiAgCiAgcnNzX3NhdmUoICdleGlsZS5yc3MnLCA0NSApOwogIGV4aXQ7Cgo9aGVhZDEgREVTQ1JJUFRJT04KClRoaXMgbW9kdWxlIGlzIGZvciB3cml0aW5nIFJTUyBmaWxlcywgc2ltcGx5LiBJdCB0cmFuc3BhcmVudGx5IGhhbmRsZXMKYWxsIHRoZSB1bnBsZWFzYW50IGRldGFpbHMgb2YgUlNTLCBsaWtlIHByb3BlciBYTUwgZXNjYXBpbmcsIGFuZCBhbHNvIGhhcwphIGdvb2QgbnVtYmVyIG9mIERvLVdoYXQtSS1NZWFuIGZlYXR1cmVzLCBsaWtlIG5vdCBjaGFuZ2luZyB0aGUgbW9kdGltZQpvbiBhIHdyaXR0ZW4tb3V0IFJTUyBmaWxlIGlmIHRoZSBmaWxlIGNvbnRlbnQgaGFzbid0IGNoYW5nZWQsIGFuZCBsaWtlCmF1dG9tYXRpY2FsbHkgcmVtb3ZpbmcgYW55IEhUTUwgdGFncyBmcm9tIGNvbnRlbnQgeW91IG1pZ2h0IHBhc3MgaW4uCgpUaGlzIG1vZHVsZSBpc24ndCBtZWFudCB0byBoYXZlIHRoZSBmdWxsIGV4cHJlc3NpdmUgcG93ZXIgb2YgUlNTOwppbnN0ZWFkLCBpdCBwcm92aWRlcyBmdW5jdGlvbnMgdGhhdCBhcmUgbW9zdCBjb21tb25seSBuZWVkZWQgYnkKUlNTLXdyaXRpbmcgcHJvZ3JhbXMuCgo9aGVhZDEgSU5URVJGQUNFCgpUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGJ1bmNoIG9mIGZ1bmN0aW9ucyBmb3Igc3RhcnRpbmcgYW4gUlNTIGZlZWQgaW4KbWVtb3J5LCBwdXR0aW5nIGl0ZW1zIGludG8gaXQsIGFuZCBzYXZpbmcgaXQgdG8gZGlzayAob3IgcHJpbnRpbmcgaXQgYXMKYSBzdHJpbmcsIGFzIGluIGEgQ0dJKS4gSWYgeW91IHByZWZlciBhbiBvYmplY3Qtb3JpZW50ZWQgaW50ZXJmYWNlCihvYnZpb3VzbHkgbW9yZSB1c2VmdWwgaWYgeW91J3JlIGNvbXBvc2luZyBzZXZlcmFsIGZlZWRzIGF0IG9uY2UpLCB0aGVuCnlvdSBjYW4gdXNlIHRoaXMgbW9kdWxlIGFzIGEgY2xhc3Mgd2hvc2UgbWV0aG9kcyBhcmUgdGhlIHNhbWUgYXMgdGhlCmZ1bmN0aW9uIG5hbWVzIG1pbnVzICJyc3NfIi4gRXhjZXB0IGZvciB0aGlzIGRldGFpbCBvZiB0aGUgbmFtaW5nLCB0aGUKZnVuY3Rpb25zIGFuZCBtZXRob2RzIGFyZSB0aGUgc2FtZSwgYmVoYXZlIHRoZSBzYW1lLCBhbmQgdGFrZSB0aGUgc2FtZQphcmd1bWVudHMuCgpUaGF0IGlzLCB0aGlzIGZ1bmN0aW9uYWwgY29kZToKCiAgdXNlIFhNTDo6UlNTOjpTaW1wbGVHZW47CiAgbXkgJHVybCA9IHE8aHR0cDovL3d3dy5leGlsZS5ydS8+OwogIAogIHJzc19uZXcoICR1cmwsICJlWGlsZSIgKTsKICByc3NfbGFuZ3VhZ2UoICdlbicgKTsKICBnZXRfdXJsKCAkdXJsICk7CiAgLi4uCgpkb2VzIHRoZSBzYW1lIHdvcmsgYXMgdGhpcyBPTyBjb2RlOgoKICB1c2UgWE1MOjpSU1M6OlNpbXBsZUdlbiAoKTsKICBteSAkdXJsID0gcTxodHRwOi8vd3d3LmV4aWxlLnJ1Lz47CiAgbXkgJHJzcyA9IFhNTDo6UlNTOjpTaW1wbGVHZW4tPm5ldyggJHVybCwgImVYaWxlIik7CiAgJHJzcy0+bGFuZ3VhZ2UoICdlbicgKTsKICAkcnNzLT5nZXRfdXJsKCAkdXJsICk7CiAgLi4uCgooTm90ZSB0aGF0IHRoZSBmdW5jdGlvbiBDPGdldF91cmw+IGRvZXNuJ3QgaGF2ZSBhIGxlYWRpbmcgInJzc18iLApzbyBpdHMgbWV0aG9kIG5hbWUgaXMgdGhlIHNhbWUgYXMgaXRzIGZ1bmN0aW9uIG5hbWUuICBJdCdzIHRoZQpvbmUgZXhjZXB0aW9uLikKCklmIHRoaXMgdGFsayBvZiBvYmplY3RzIHB1enpsZXMgeW91LCBzZWUgCkw8SFRNTDo6VHJlZTo6QWJvdXRPYmplY3RzPiBpbiB0aGUgQzxIVE1MLVRyZWU+IGRpc3QsIGFuZC9vciBzZWUKdGhlIGNoYXB0ZXIgIlVzZXIncyBWaWV3IG9mIE9iamVjdC1PcmllbnRlZCBNb2R1bGVzIgppbiBteSBib29rIEk8UGVybCAmIExXUD4gKEw8aHR0cDovL3d3dy5hbWF6b24uY29tL2V4ZWMvb2JpZG9zL0FTSU4vMDU5NjAwMTc4OT4pLgooVGhlIGJvb2sgaXMgYWxzbyB1c2VmdWwgYXMgYW4gZXh0ZW5kZWQgZGlzY3Vzc2lvbiBvZiBzY3JlZW4tc2NyYXBpbmcuKQoKTm90ZTogaW4gdGhlIGNvZGUgYmVsb3csIEkgdXNlIHRoZSB3b3JkICJhY2Nlc3NvciIgYSBsb3QsIHRvIHJlZmVyCnRvIGEgZnVuY3Rpb24gb3IgbWV0aG9kIHRoYXQgeW91IGNhbiBjYWxsIHR3byBwb3NzaWJsZSB3YXlzOgoxKSBsaWtlIEM8Zm9vKEk8dmFsPik+IHRvIHNldCB0aGUgImZvbyIgYXR0cmlidXRlIHRvIHRoZSB2YWx1ZSBJPHZhbD4sCm9yIDIpIGxpa2UgQzxmb28oKT4gdG8gcmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgImZvbyIgYXR0cmlidXRlLgoKCj1oZWFkMSBGVU5DVElPTlMKCj1vdmVyCgo9aXRlbSBDPHJzc19uZXcoIEk8dXJsPiApOz4KCj1pdGVtIEM8cnNzX25ldyggSTx1cmwsIHRpdGxlPiApOz4KCj1pdGVtIEM8cnNzX25ldyggSTx1cmwsIHRpdGxlLCBkZXNjcmlwdGlvbj4gKTs+Cgo9aXRlbSBJPG9yOj4gQzw8ICRyc3MgPSBYTUw6OlJTUzo6U2ltcGxlR2VuLT5uZXcoLi4uKTsgPj4KClRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIG5ldyBSU1MgZmVlZCBpbiBtZW1vcnkuICBUaGlzIHNob3VsZCBiZSB0aGUgZmlyc3QKQzxyc3NfSTx3aGF0ZXZlcj4+IGZ1bmN0aW9uIHlvdSBjYWxsIGluIHlvdXIgcHJvZ3JhbS4gIElmIHlvdSBjYWxsIGl0CmFnYWluLCBpdCBlcmFzZXMgdGhlIGN1cnJlbnQgb2JqZWN0IChpZiBhbnkpIGFuZCBzZXRzIHVwIGEgbmV3IG9uZSBhY2NvcmRpbmcKdG8gd2hhdGV2ZXIgcGFyYW1ldGVycyB5b3UgcGFzcy4KClRoZSBwYXJhbWV0ZXJzIGFyZSB0aGUgZnVsbCBVUkwsIHRoZSB0aXRsZSwgYW5kIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKc2l0ZSAob3IgcGFnZSkgdGhhdCB5b3UncmUgcHJvdmlkaW5nIGFuIFJTUyBmZWVkIG9mLiBUaGUgZGVzY3JpcHRpb24gaXMKb3B0aW9uYWwsIGJ1dCB5b3Ugc2hvdWxkIHByb3ZpZGUgYXQgbGVhc3QgYSBVUkwgYW5kIHRpdGxlLgoKRXhhbXBsZXM6CgogIHJzc19uZXcoICR1cmwsICJlWGlsZSIsICJNb3Njb3ctYmFzZWQgQWx0ZXJuYXRpdmUgTmV3c3BhcGVyIiApOwoKICByc3NfbmV3KCAnaHR0cDovL3d3dy5teWJhem91a2kuY29tL25ld3MvJywgIkJhem91a2kgTmV3cyEiICk7CgooQXMgYSBtZXRob2QsIFhNTDo6UlNTOjpTaW1wbGVHZW4tPm5ldyBzaW1wbHkgcmV0dXJucyBhIG5ldwpSU1Mgb2JqZWN0LikKCj1jdXQKCnN1YiBuZXcgewogIG15ICRjbGFzcyA9IHNoaWZ0OwogICRjbGFzcyA9IHJlZigkY2xhc3MpIHx8ICRjbGFzczsKICBteSAkbmV3ID0gYmxlc3MgeyAnaXRlbXMnID0+IFtdIH0sICRjbGFzczsKICAkbmV3LT5pbml0KCk7CgogIEBfIGFuZCAkbmV3LT51cmwoc2hpZnQpOwogIEBfIGFuZCAkbmV3LT50aXRsZShzaGlmdCk7CiAgQF8gYW5kICRuZXctPmRlc2NyaXB0aW9uKHNoaWZ0KTsKCiAgJG5ldy0+aXRlbV9saW1pdCggMCApOwogICRuZXctPnJldGVudGlvbiggMzIgKiAyNCAqIDYwICogNjAgKTsgIyAzMiBkYXlzCgojICAoLWUgInJzcy5jc3MiKSA/ICRuZXctPmNzcygiLi9yc3MuY3NzIikKIyAgICA6ICRuZXctPmNzcygiaHR0cDovL3d3dy5pbnRlcmdsYWNpYWwuY29tL3Jzcy9yc3MuY3NzIik7CgojICAoLWUgImFib3V0X3Jzcy5odG1sIikgPyAkbmV3LT5kb2NzKCIuL2Fib3V0X3Jzcy5odG1sIikKIyAgICA6ICRuZXctPmRvY3MoImh0dHA6Ly93d3cuaW50ZXJnbGFjaWFsLmNvbS9yc3MvYWJvdXQuaHRtbCIpOwoKICByZXR1cm4gJG5ldzsKfQoKc3ViIGluaXQgeyByZXR1cm47IH0gICAjIG92ZXJyaWRlIGluIHN1YmNsYXNzIGFzIG5lY2Vzc2FyeQoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCl9fUEFDS0FHRV9fLT5fYWNjZXNzb3JpemUoCiBxdygKICB0aXRsZSBkZXNjcmlwdGlvbiB1cmwgbGFuZ3VhZ2UgY3NzIHhzbCB3ZWJNYXN0ZXIgZG9jcwogIGl0ZW1fbGltaXQgdHRsCiByZXRlbnRpb24KICBhbGxvd19kdXBsaWNhdGVzCiAgaW1hZ2VfdGl0bGUgaW1hZ2VfbGluayBpbWFnZV91cmwgaW1hZ2Vfd2lkdGggaW1hZ2VfaGVpZ2h0IGltYWdlX2Rlc2NyaXB0aW9uIAogKQopOwoKPWl0ZW0gdGhlIGFjY2Vzc29yIEM8cnNzX2xhbmd1YWdlKEk8bGFuZ3VhZ2VfdGFnPik+CgpUaGlzIGRlY2xhcmVzIHdoYXQgbGFuZ3VhZ2UgdGhpcyBSU1MgZmVlZCBpcyBpbi4gIEl0IG11c3QgYmUKYW4gUkZDMzA2Ni1zdHlsZSBsYW5ndWFnZSB0YWdzIGxpa2UgImVuIiwgb3IgImVuLVVTIiwgb3IgInpoLVRXIi4KKFNlZSBJPEkxOE46OkxhbmdUYWdzOjpMaXN0PiBmb3IgYSBsaXN0LikKSWYgeW91IGRvbid0IHNldCB0aGUgZmVlZCdzIGxhbmd1YWdlLCBpdCBkZWZhdWx0cyB0byAiZW4iLCBmb3IgZ2VuZXJpYyBFbmdsaXNoLgoKSWYgeW91IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRob3V0IGEgcGFyYW1ldGVyLCBpdCByZXR1cm5zCnRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBSU1MgZmVlZCdzIGxhbmd1YWdlLiAgRm9yIGV4YW1wbGU6CgogIHByaW50ICJJJ20gbWFraW5nIGFuIFJTUyBmZWVkIGZvciAiLCByc3NfbGFuZ3VhZ2UoKSwgIiFcbiI7CgpUaGUgc2FtZSBpcyB0cnVlIGZvciBhbGwgdGhlIGZ1bmN0aW9ucyB0aGF0IEkgbGFiZWwgYXMgImFjY2Vzc29ycyIuCgoKPWl0ZW0gdGhlIGFjY2Vzc29yIEM8cnNzX2l0ZW1fbGltaXQoSTxudW1iZXI+KT4KClRoaXMgc2V0cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdGhhdCB0aGlzIGZlZWQgd2lsbCBzaG93LgoKVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCwgbWVhbmluZyB0aGF0IHRoZXJlIGlzIG5vIG1heGltdW0uCgpJZiB5b3Ugc2V0IGl0IHRvIGEgcG9zaXRpdmUgbnVtYmVyIEk8Tj4sIHRoZW4gdGhlIGZlZWQgd2lsbCBzaG93IG9ubHkKdGhlIGZpcnN0IEk8Tj4gaXRlbXMgdGhhdCB5b3UgZGVjbGFyZSB3aXRoIEM8cnNzX2l0ZW0+LiAoT3IsIGlmIHlvdSBzZXQKQzxyc3NfaGlzdG9yeV9maWxlPiwgdGhlbiB0aGUgbmV3ZXN0IEk8Tj4gaXRlbXMgdGhhdCB5b3UgZGVjbGFyZQp3aXRoIEM8cnNzX2l0ZW0+LikKCklmIHlvdSBzZXQgaXQgdG8gYSBuZWdhdGl2ZSBudW1iZXIgSTwtTj4sIHRoZW4gdGhlIGZlZWQgd2lsbCBzaG93IG9ubHkKdGhlIGxhc3QgSTxOPiBpdGVtcyB0aGF0IHlvdSBkZWNsYXJlIHdpdGggQzxyc3NfaXRlbT4uIChPciwgaWYgeW91IHNldApDPHJzc19oaXN0b3J5X2ZpbGU+LCB0aGVuIHRoZSBvbGRlc3QgSTxOPiBpdGVtcyB5b3UgZGVjbGFyZSB3aXRoIEM8cnNzX2l0ZW0+LAp3aGljaCBpcyB1bmxpa2VseSB0byBiZSB1c2VmdWwhKQoKCj1pdGVtIHRoZSBhY2Nlc3NvciBDPHJzc193ZWJNYXN0ZXIoSTxlbWFpbC1hZGRyZXNzPik+CgpUaGlzIGRlY2xhcmVzIHdoYXQgZW1haWwgYWRkcmVzcyB5b3UsIHRoZSBSU1MgZ2VuZXJhdG9yIG1hbmFnZXIsIGNhbiBiZQpyZWFjaGVkIGF0LiAgRXhhbXBsZToKCiAgcnNzX3dlYk1hc3RlciggJ3NidXJrZUBiYXpvdWtpLW5ld3MuaW50JyApOwoKPWN1dAoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgo9aXRlbSBDPHJzc19oaXN0b3J5X2ZpbGUoIEk8ZmlsZW5hbWU+ICk+CgpUaGlzIGRlY2xhcmVzIHRoYXQgeW91IHdhbnQgdGhpcyBSU1MgZmVlZCB0byBrZWVwIHRyYWNrIG9mIHdoYXQgaXRlbXMgYXJlCm5ldywgYW5kIHRvIGxpc3QgdGhlbSBmaXJzdCB3aGVuIHRoZSBSU1MgaXMgZW1pdHRlZC4gIFRvIGRvIHRoaXMsIHRoZSBSU1MKZ2VuZXJhdG9yIGhhcyB0byBzdG9yZSBpbmZvcm1hdGlvbiBpbiBhIGZpbGUsIHdoZXJlIGl0IHRyYWNrcyBpdHMgImhpc3RvcnkiLAppLmUuLCB3aGVuIHdhcyB0aGUgZmlyc3QgdGltZSBpdCBzYXcgZ2l2ZW4gVVJMcywgYW5kIHRoZSBtb3N0IHJlY2VudCB0aW1lCml0IHNhdyBnaXZlbiBVUkxzLgoKVHlwaWNhbCB1c2FnZSBpczoKCiAgcnNzX2hpc3RvcnlfZmlsZSggJ3RoaXNyc3NmZWVkLmRhdCcgKTsKCllvdSBzaG91bGQgY2FsbCBDPHJzc19oaXN0b3J5X2ZpbGU+IEk8YmVmb3JlPiB5b3UgbWFrZSBhbnkgY2FsbHMgdG8KQzxyc3NfaXRlbT4uCgpUaGUgaGlzdG9yeS1maWxlIGZlYXR1cmUgaXMgbWVhbnQgZm9yIGNhc2VzIHdoZXJlIHlvdXIgUlNTLWdlbmVyYXRvcgpwcm9ncmFtIGNhbGxzIEM8cnNzX2l0ZW0+IG9uIEk8ZXZlcnk+IGxpbmsgaXQgc2VlcywgYnV0IG9ubHkgd2FudHMgdGhlCkk8bmV3PiBsaW5rcyB0byBhcHBlYXIgaW4gdGhlIFJTUyBvdXRwdXQuIChUaGlzIGNhbiBiZSBhIGdvb2QgYXBwcm9hY2gKaWYgeW91J3JlIG1ha2luZyBhbiBSU1MgZmVlZCBvZiBhIHBhZ2UgbGlrZQpDPGh0dHA6Ly93d3cuZ3VhcmRpYW4uY28udWsvPiB3aGVyZSB0aGVyZSdzIHNvbWUgbmV3IGxpbmtzICh0byB0aGUKcmVjZW50bHkgYWRkZWQgc3RvcmllcyksIGJ1dCBhbHNvIGxpbmtzIHRvIHNvbWUgZGF5cy1vbGQgc3RvcmllcywgYW5kCkk8YWxzbz4gbGlua3MgdG8gc29tZSBhbHdheXMtdGhlcmUgdGhpbmdzIGxpa2UgIkFyY2hpdmUgU2VhcmNoIiBhbmQKIkNvbnRhY3QgVXMiIHBhZ2VzLgoKT25jZSB5b3UgY2FsbCByc3NfaGlzdG9yeV9maWxlLCB0aGUgc3BlY2lmaWVkIGZpbGUgaXMgcmVhZCBpbi4gIFRoZQppbi1tZW1vcnkgaGlzdG9yeSAoc3RvcmVkIGluIHRoZSBSU1Mgb2JqZWN0KSBpcyB1cGRhdGVkIGFzIHlvdQpjYWxsIEM8cnNzX2l0ZW0+LiAgQnV0IHRoZSBmaWxlIGlzbid0IHVwZGF0ZWQgdW50aWwgeW91IGNhbGwgcnNzX3NhdmUuCgooQSBkby13aGF0LUktbWVhbiBzaWRlIGVmZmVjdCBvZiBjYWxsaW5nIEM8cnNzX2hpc3RvcnlfZmlsZT4gaXMgdGhhdCBpdApzZXRzIHJzc19pdGVtX2xpbWl0IHRvIDI1IGlmIGl0IGlzIGN1cnJlbnRseSAwLikKCihJbmNpZGVudGFsbHksIGlmIHlvdSdyZSB1c2luZyByc3NfaGlzdG9yeV9maWxlIGFzIHBhcnQgb2YgYSBDR0kgdGhhdAplbWl0cyBSU1MgZGF0YSwgaW5zdGVhZCBvZiBhIHByb2dyYW0gdGhhdCBqdXN0IHNhdmVzIHRvIGFuIFJTUyBmaWxlLAp0aGVuIHRoaW5ncyB3aWxsIGdldCBjb21wbGljYXRlZC4gWW91J2xsIG5lZWQgdG8gY2FsbCBhbiBpbnRlcm5hbCBtZXRob2QKdG8gZXhwbGljaXRseSBjb21taXQgdGhlIGhpc3RvcnkgZmlsZSB0byBkaXNrLCBhbmQgeW91J2xsIG5lZWQgYQpzZW1hcGhvcmUgZmlsZSB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMuIEVtYWlsIG1lIGZvciBmdWxsIGluZm8uKQoKPWN1dAoKc3ViIGhpc3RvcnlfZmlsZSB7CiAgbXkgJHNlbGYgPSBzaGlmdDsKICByZXR1cm4gJHNlbGYtPnsnaGlzdG9yeV9maWxlJ30gdW5sZXNzIEBfOyAgICMgcmVhZCBhY2Nlc3Npb24KICBteSAkZmlsZSA9ICRfWzBdOwogIAogIHVubGVzcyhkZWZpbmVkICRmaWxlICBhbmQgIGxlbmd0aCAkZmlsZSAgYW5kICAkZmlsZSA9fiBtL1xTLykgewogICAgREVCVUcgYW5kIHByaW50ICJLaWxsaW5nICRzZWxmICdzIG1lbW9yeS1oaXN0b3J5LlxuIjsKICAgICAjIEkgZG9uJ3Qga25vdyBpZiB0aGlzJ2QgYmUgYWN0dWFsbHkgdXNlZnVsIGZvciBhbnl0aGluZyB0aG8uCiAgICBkZWxldGUgJHNlbGYtPnsnaGlzdG9yeV9maWxlJ307CiAgICBkZWxldGUgJHNlbGYtPnsnX2ZpcnN0X3NlZW4nIH07CiAgICBkZWxldGUgJHNlbGYtPnsnX2xhc3Rfc2VlbicgIH07CiAgICByZXR1cm4gdW5kZWY7CiAgfQogIAogIERFQlVHIGFuZCBwcmludCAiQ29uc2lkZXJpbmcgJGZpbGUgYXMgJHNlbGYgJ3MgaGlzdG9yeS5cbiI7CiAgJHNlbGYtPnsnaGlzdG9yeV9maWxlJ30gPSAkZmlsZTsKICAkc2VsZi0+X3JlYWRfaGlzdG9yeV9maWxlOwogIAogICRzZWxmLT5pdGVtX2xpbWl0KCAyNSApIGlmICREV0lNIGFuZCAhJHNlbGYtPml0ZW1fbGltaXQoKTsKCiAgcmV0dXJuICRmaWxlOwp9CgojLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCgo9aXRlbSBDPHJzc19pdGVtKCBJPHVybD4gKTs+Cgo9aXRlbSBDPHJzc19pdGVtKCBJPHVybCwgdGl0bGU+ICk7PgoKPWl0ZW0gQzxyc3NfaXRlbSggSTx1cmwsIHRpdGxlLCBkZXNjcmlwdGlvbj4gKTs+CgpUaGlzIGFkZHMgYSBuZXcgaXRlbSB0byB0aGUgY3VycmVudCBmZWVkLiBZb3Ugd2lsbCBuZWVkIHRvIHNwZWNpZnkgdGhlClVSTCB0byBhZGQgKGFuZCBpdCBzaG91bGQgYmUgYSB2YWxpZC1sb29raW5nIFVSTCwgc3RhcnRpbmcgd2l0aAoiSTxzb21ldGhpbmc6PiIsIGFuZCBub3QgY29udGFpbmluZyBhbnkgc3BhY2VzKS4gWW91IG1heSBhbHNvIHNwZWNpZnkKdGhlIHRpdGxlLCBidXQgaXQncyBvcHRpb25hbC4gQW5kIGZpbmFsbHksIHlvdSBjYW4gb3B0aW9uYWxseSBzcGVjaWZ5IGEKZGVzY3JpcHRpb24uIChZb3UgY2FuIHJlbWVtYmVyIHRoaXMgYmVjYXVzZSBpdCBzdGFydHMgd2l0aCB0aGUgZXNzZW50aWFsCml0ZW0gZmlyc3QsIGFuZCBwcm9ncmVzc2VzIHRvd2FyZCB0aGUgbW9zdCBvcHRpb25hbC4pCgpMZWFkaW5nIGFuZCB0YWlsaW5nIHdoaXRlc3BhY2UgaXMgcmVtb3ZlZCBmcm9tIHdoaWNoZXZlciBvZiBJPHVybCwKdGl0bGUsPiBhbmQgSTxkZXNjcmlwdGlvbj4gYXJlIGRlZmluZWQgdmFsdWVzLCBhbmQgSFRNTCBpcyBwYXJzZWQgb3V0LgoKQSBzaW1wbGUgdXNhZ2U6CgogIHJzc19pdGVtKAogICAgImh0dHA6Ly93d3cuaGFycGVycy5vcmcvTW9zdFJlY2VudFdSLmh0bWwiLAogICAgIkhhcnBlcidzIE1hZ2F6aW5lJ3MgV2Vla2x5IFJldmlldyIKICApOwoKQWx0aG91Z2ggaW4gcHJhY3RpY2UsIGEgdHlwaWNhbCBjYWxsIHdvbid0IGhhdmUgc3RyaW5nIGNvbnN0YW50cywgYnV0CndpbGwgaW5zdGVhZCBiZSBsaWtlIHRoZSBleGFtcGxlIGluIHRoZSBMPFN5bm9wc2lzIHNlY3Rpb3N8LyJTWU5PUFNJUyI+LApuYW1lbHk6CgogIHJzc19pdGVtKCIkdXJsJDEiLCAkMiwgJDMpOwoKSW5jaWRlbnRhbGx5LCBhcyBhIGRvLXdoYXQtSS1tZWFuIGZlYXR1cmUsIGlmIHRoZSBmaXJzdCBwYXJhbWV0ZXIKZG9lc24ndCBsb29rIGxpa2UgYSBVUkwgYnV0IG9uZSBvZiB0aGUgb3RoZXJzIGRvZXMsIHRoZW4gdGhpcyBlcnJvciBpcwpzaWxlbnRseSBmb3JnaXZlbi4gIFRoaXMgaXMgc28geW91IGNhbiBvY2Nhc2lvbmFsbHkgc2xpcCB1cCBhbmQgZm9yZ2V0CnRoZSBvcmRlciBvZiB0aGUgcGFyYW1ldGVycy4KCihJbiB0aGUgdW5saWtlbHkgZXZlbnQgd2hlcmUgeW91IEk8bmVlZD4gdG8gYXZvaWQgdGhlIEhUTUwtcmVtb3ZhbApmZWF0dXJlcywgeW91IGNhbiBkbyB0aGlzIGJ5IHBhc3Npbmcgc2NhbGFyLXJlZmVyZW5jZXMgaW5zdGVhZCBvZgpub3JtYWwgc3RyaW5ncywgbGlrZSBzbzogQzxyc3NfaXRlbSgkdXJsLCAkdGl0bGUsIFwkbm90X3RvX2JlX2VzY2FwZWQpPi4pCgo9Y3V0CgpzdWIgaXRlbSB7ICMgQWRkIGFuIGl0ZW06ICAodXJsLCB0aXRsZSwgZGVzY3JpcHRpb24pCiAgbXkoJHNlbGYsIEBwYXJhbXMpID0gQF87CiAgaWYoIGdyZXAgZGVmaW5lZCgkXykgJiYgbGVuZ3RoKCRfKSwgQHBhcmFtcyApIHsKICAgIHB1c2ggQHskc2VsZi0+eydpdGVtcyd9fSwKICAgICAgWwogICAgICAgICRzZWxmLT5fcHJvY2Vzc19pdGVtX3BhcmFtcyhAcGFyYW1zKSAgIyBEV0lNIHRoaW5ncyBoYXBwZW4gaGVyZQogICAgICBdCiAgICA7CiAgICBERUJVRyBhbmQgcHJpbnQgIkFkZGluZyBpdGVtICIsCiAgICAgam9pbigifCIsIEB7ICRzZWxmLT57J2l0ZW1zJ31bLTFdIH0pLCAiXG4iOwoKICAgICMgVXBkYXRlIGhpc3RvcnkuLi4KICAgIGlmKCAkc2VsZi0+eydfZmlyc3Rfc2Vlbid9ICkgewogICAgICBteSAkdXJsID0gJHNlbGYtPnsnaXRlbXMnfVstMV1bMF07CiAgICAgIG15ICRub3cgPQogICAgICAgICAgICAkc2VsZi0+eydfdmlyZ2luX2l0ZW1fdGltZXN0YW1wJ30KICAgICAgICA/IC0tJHNlbGYtPnsnX3Zpcmdpbl9pdGVtX3RpbWVzdGFtcCd9CiAgICAgICAgOiB0aW1lKCkKICAgICAgOwogICAgICAkc2VsZi0+eydfZmlyc3Rfc2Vlbid9eyR1cmx9IHx8PSAkbm93OwogICAgICAkc2VsZi0+eydfbGFzdF9zZWVuJyB9eyR1cmx9ICAgPSAkbm93OwogICAgfQoKICB9IGVsc2UgewogICAgREVCVUcgYW5kIHByaW50ICJOb3QgYWRkaW5nIGl0ZW0gLS0gZW1wdHkgcGFyYW1zXG4iOwogIH0KICByZXR1cm4gJHNlbGY7Cn0KCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKPWl0ZW0gQzxyc3NfaXRlbV9jb3VudCgpPgoKVGhpcyByZXR1cm5zIHRoZSBudW1iZXIgb2YgaXRlbXMgeW91J3ZlIGRlY2xhcmVkLiAgSSBhbnRpY2lwYXRlIHRoYXQgaXRzCm1haW4gdXNhZ2Ugd2lsbCBiZSBzb21ldGhpbmcgbGlrZToKCiAgZGllICJXaGF0LCBubyBvYmplY3RzIGZvdW5kIGF0ICR1cmwgPyEiCiAgIHVubGVzcyByc3NfaXRlbV9jb3VudCgpOwoKb3IsIG1heWJlLi4uCgogIGV4aXQgdW5sZXNzIHJzc19pdGVtX2NvdW50KCk7CgouLi5kZXBlbmRpbmcgb24gaG93L3doZXRoZXIgeW91J2Qgd2FudCB0byByZWFjdCB0byBjYXNlcyB3aGVyZSB5b3UgZG9uJ3QKc2VlIGFueXRoaW5nIHRvIHB1dCBpbnRvIGFuIFJTUyBmZWVkLgoKTm90ZSB0aGF0IHRoZSBwYXJlbnMgYXJlIG9wdGlvbmFsLCBzaW5jZSB0aGlzIGNvbW1hbmQgdGFrZXMgbm8gb3B0aW9ucwooanVzdCBsaWtlIFBlcmwncyBDPHRpbWUoKT4gZnVuY3Rpb24pLgoKPWN1dAoKc3ViIGl0ZW1fY291bnQgIHsgc2NhbGFyIEB7ICRfWzBdLT57J2l0ZW1zJ30gfTsgfQpzdWIgaXRlbXNfY291bnQgeyBzaGlmdC0+aXRlbV9jb3VudCB9ICMgaGFybWxlc3MgYWxpYXMKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpzdWIgX3NvcnRfaXRlbXNfbmV3ZXN0X2ZpcnN0IHsKICBteSAkc2VsZiA9IHNoaWZ0OwogIG15ICRzZWVuID0gJHNlbGYtPnsnX2ZpcnN0X3NlZW4nfTsKCiAgJHNlZW4gb3IgQ2FycDo6Y29uZmVzcygKICAgIkNhbid0IHNvcnQgaXRlbXMgYnkgYWdlIHVubGVzcyB5b3UgZGVmaW5lIGEgaGlzdG9yeSBmaWxlISIpOwoKICBteSAkaXRlbXMgPSAkc2VsZi0+eydpdGVtcyd9IHx8IGRpZSAiTk8gSVRFTVMhPyI7CgogIGlmKCBERUJVRyApIHsKICAgIHByaW50ICJcblNvcnRpbmcgIiwgc2NhbGFyKEAkaXRlbXMpLCAiIGl0ZW1zLCBuZXdlc3QgZmlyc3QuICBBZ2UgZHVtcDpcbiI7CiAgICBmb3JlYWNoIG15ICRpIChAJGl0ZW1zKSB7CiAgICAgIGlmKCAkaS0+WzBdICkgewogICAgICAgIHByaW50ZiAiICAlcyA6ICVzICglcylcbiIsCiAgICAgICAgICRpLT5bMF0sICRzZWVuLT57JGktPlswXX0gfHwgMCwgc2NhbGFyIGxvY2FsdGltZSgKICAgICAgICAgICAgICAgICAgJHNlZW4tPnskaS0+WzBdfSB8fCAwKQogICAgICAgIDsKICAgICAgfSBlbHNlIHsKICAgICAgICBwcmludCAiIE5PVVJMXG4iOwogICAgICB9CiAgICB9CiAgICBwcmludCAiIChubyBpdGVtcylcbiIgdW5sZXNzIEAkaXRlbXM7CiAgICBwcmludCAiKEVuZCBoaXN0b3J5IGR1bXAuKVxuXG4iOwogIH0KCiAgQCRpdGVtcyA9CiAgICBzb3J0IHsgKCRzZWVuLT57JGItPlswXSB8fCcnfSB8fDApCiAgICAgICA8PT4gKCRzZWVuLT57JGEtPlswXSB8fCcnfSB8fDApCiAgICAgICBvciAkYS0+WzBdIGNtcCAkYi0+WzBdICAjIFNvIGl0J3MgYXQgbGVhc3QgcHJlZGljdGFibGUKICAgIH0KICAgICAgQCRpdGVtczsKICByZXR1cm47Cn0KCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKPWl0ZW0gQzxyc3NfaW1hZ2UoIEk8dXJsLCBoLCB3PiApOz4KClRoaXMgZGVjbGFyZXMgdGhhdCB5b3Ugd2FudCB0byBkZWNsYXJlIGEgcGFydGljdWxhciBpbWFnZSBhcyB0aGUgbG9nbyBmb3IKdGhpcyBmZWVkLiAgTW9zdCBmZWVkcyBkb24ndCBoYXZlIHN1Y2ggYSB0aGluZywgYW5kIG1vc3QgcmVhZGVycyBqdXN0IGlnbm9yZQppdCBhbnl3YXksIGJ1dCBpZiB5b3Ugd2FudCB0byBkZWNsYXJlIGl0LCB0aGlzIGZ1bmN0aW9uIGlzIGhvdy4gIFRoZQp0aHJlZSBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgYWxsIHJlcXVpcmVkLCBhcmU6IHRoZSBpbWFnZSdzIFVSTCwgaXRzCmhlaWdodCBpbiBwaXhlbHMsIGFuZCBpdHMgd2lkdGggaW4gcGl4ZWxzLgpBY2NvcmRpbmcgdG8gdmFyaW91cyBzcGVjcywgdGhlIHdpZHRoIHNob3VsZC9tdXN0IGJlIGJldHdlZW4gMSBhbmQgMTQ0LAphbiB0aGUgaGVpZ2h0IHNob3VsZC9tdXN0IGJlIGJldHdlZW4gMSBhbmQgNDAwLgoKQSB0eXBpY2FsIHVzYWdlOgoKICByc3NfaW1hZ2UoImh0dHA6Ly9pbnRlcmdsYWNpYWwuY29tL3Jzcy93ZWVibC5naWYiLCAxMDYsIDE0MCk7CgpCZSBjYXJlZnVsIG5vdCB0byBtaXggdXAgdGhlIGhlaWdodCBhbmQgd2lkdGguCgo9Y3V0CgoKc3ViIGltYWdlIHsKICBteSgkc2VsZiwgJHVybCwgJGgsICR3KSA9IHNwbGljZShAXywwLDQpOwogIENhcnA6OmNyb2FrICJVc2FnZTogXCRyc3MtPmltYWdlKFwkdXJsLCBcJGgsIFwkdykiCiAgIHVubGVzcyAkdXJsIGFuZCAkaCBhbmQgJHcKICAgICBhbmQgJGggPX4gbS9eXGR7MSwzfSQvcwogICAgIGFuZCAkdyA9fiBtL15cZHsxLDN9JC9zCiAgOwogICRzZWxmLT5pbWFnZV91cmwoJHVybCk7CiAgJHNlbGYtPmltYWdlX2hlaWdodCgkaCk7CiAgJHNlbGYtPmltYWdlX3dpZHRoKCAkdyk7CgogICAgIyAgd2lkdGggbXVzdCAoc2hvdWxkPykgYmUgYmV0d2VlbiAxIGFuZCAxNDQKICAgICMgaGVpZ2h0IG11c3QgKHNob3VsZD8pIGJlIGJldHdlZW4gMSBhbmQgNDAwCgogIEBfIGFuZCAkc2VsZi0+aW1hZ2VfbGluayggICAgICAgIHNoaWZ0KTsKICBAXyBhbmQgJHNlbGYtPmltYWdlX3RpdGxlKCAgICAgICBzaGlmdCk7CiAgQF8gYW5kICRzZWxmLT5pbWFnZV9kZXNjcmlwdGlvbiggc2hpZnQpOwogIHJldHVybjsKfQoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgo9aXRlbSBDPHJzc19zYXZlKCBJPGZpbGVuYW1lPiApOz4KCj1pdGVtIEM8cnNzX3NhdmUoIEk8ZmlsZW5hbWUsIG1heF9hZ2VfZGF5cz4gKTs+CgpUaGlzIHNhdmVzIHRoZSBSU1MgZGF0ZSB0byB0aGUgZmlsZSB5b3Ugc3BlY2lmeS4gIElmIHRoZSBSU1MgZGF0YSBoYXNuJ3QKY2hhbmdlZCwgdGhlIGZpbGUgKGFuZCBpdHMgbW9kdGltZSkgYXJlbid0IGFsdGVyZWQuICBUaGUgb3B0aW9uYWwgSTxtYXhfYWdlX2RheXM+CnBhcmFtZXRlciBtZWFucyB0aGF0IGlmIGV2ZXIgdGhlIGZpbGUgZXhpc3RzLCBhbmQgaXRzIGNvbnRlbnQgaGFzbid0IGNoYW5nZWQKZm9yIHRoYXQgbWFueSBkYXlzIG9yIGxvbmdlciwgdGhlbiB0aGUgcHJvZ3JhbSBzaG91bGQgZGllIHdpdGggYSB3YXJuaW5nCm1lc3NhZ2UuICBGb3IgZXhhbXBsZSwgaW4gdGhlIGNhc2Ugb2YgYSBzY3JlZW4tc2NyYXBlciBmb3IgYSBzaXRlIHRoYXQgd2UKa25vdyBzaG91bGQgKGluIHRoZW9yeSkgY2hhbmdlIGl0cyBjb250ZW50IGF0IGxlYXN0IHdlZWtseSwgd2UgbWlnaHQgc2F2ZQp0aGUgUlNTIGZpbGUgd2l0aDoKCiAgcnNzX3NhdmUoIndoYXRldmVyLnJzcyIsIDE3KTsKICAgIyBTY3JlYW0gaWYgdGhlIGZlZWQgaXMgdW5jaGFuZ2VkIGZvciAxNyBkYXlzLgoKVGhlIHNldmVudGVlbiB0aGVyZSBpcyBnb3R0ZW4gYnkgYXNzdW1pbmcgdGhhdCBqdXN0IG1heWJlIHRoZSBzaXRlCm1pZ2h0IHNraXAgdHdvIHdlZWtzIGZvciBhIHZhY2F0aW9uIG5vdyBhbmQgdGhlbiwgYW5kIG1pZ2h0IGV2ZW4gcHV0Cm91dCB0aGUgcHJlLXZhY2F0aW9uIGlzc3VlIGEgZmV3IGRheXMgZWFybHkgLS0gYnV0IHRoYXQgaWYgZXZlciB0aGUgcHJvZ3JhbQpub3RpY2VzIHRoYXQgdGhlIGRhdGEgaGFzbid0IGNoYW5nZWQgZm9yIDE3IGRheXMsIHRoZW4gaXQgc2hvdWxkIGVtaXQKZXJyb3IgbWVzc2FnZXMuICBJZiB5b3Ugd2FudCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZSBvbiBhIG9uZS10aW1lIGJhc2lzLApqdXN0IGNoYW5nZSB0aGUgbW9kdGltZSAobGlrZSB2aWEgQzx0b3VjaD4pIG9uIHRoZSBGPHdoYXRldmVyLnJzcz4gZmlsZS4KCklmIHlvdSBkb24ndCBzcGVjaWZ5IGEgQzxtYXhfYWdlX2RheXM+IHZhbHVlLCB0aGVuIHRoaXMgd2hvbGUKY29tcGxhaW4taWYtaXQncy1vbGQgZmVhdHVyZSBpcyBkaXNhYmxlZC4KCj1jdXQKCnN1YiBzYXZlIHsKICBteSgkc2VsZiwgJGZpbGVuYW1lLCAkbWF4YWdlKSA9IEBfOwogIENhcnA6OmNyb2FrKCJJIG5lZWQgYSBmaWxlbmFtZSB0byBzYXZlIHRvIikKICAgdW5sZXNzIGRlZmluZWQgJGZpbGVuYW1lIGFuZCBsZW5ndGggJGZpbGVuYW1lOwoKICAkc2VsZi0+aGlzdG9yeV9maWxlIGFuZCAkc2VsZi0+X3NvcnRfaXRlbXNfbmV3ZXN0X2ZpcnN0OwogICRzZWxmLT5fd3JpdGVfaGlzdG9yeV9maWxlOwoKICBteSAkbmV3X2NvbnRlbnQgPSAkc2VsZi0+YXNfc3RyaW5nOwoKICBsb2NhbCAqUlNTOwogICMgU2VlIGlmIHdlIGNhbiBza2lwIHdyaXRpbmcgdG8gZGlzawogIGlmKC1lICRmaWxlbmFtZSBhbmQgLWYgXyBhbmQgLXIgXyBhbmQgLXMgXykgewogICAgREVCVUcgYW5kIHByaW50ICJDb21wYXJpbmcgdG8gJGZpbGVuYW1lLi4uXG4iOwogICAgb3BlbiBSU1MsICRmaWxlbmFtZQogICAgIG9yIENhcnA6OmNvbmZlc3MgIkNhbid0IHJlYWQtb3BlbiAkZmlsZW5hbWU6ICQhIjsgIyBpbnNhbml0eQogICAgbG9jYWwgJC87CiAgICBteSAkY29udGVudCA9IDxSU1M+OwogICAgY2xvc2UoUlNTKTsKICAgIAogICAgaWYoICRjb250ZW50IGVxICRuZXdfY29udGVudCApIHsKICAgICAgREVCVUcgYW5kIHByaW50ICIgJGZpbGVuYW1lXCdzIGNvbnRlbnQgaXMgdGhlIHNhbWUuXG4iOwogICAgICByZXR1cm4gJHNlbGYtPl9jaGVja19hZ2UoJGZpbGVuYW1lLCAkbWF4YWdlKTsKICAgIH0KICAgIAogICAgbXkgJG5ld19jb250ZW50X3dpdGhvdXRfYnVpbGRkYXRlID0gJG5ld19jb250ZW50OwogICAgZm9yZWFjaCBteSAkYyAoJG5ld19jb250ZW50X3dpdGhvdXRfYnVpbGRkYXRlLCAkY29udGVudCkgewogICAgICAkYyA9fiBzezxsYXN0W0JiXXVpbGRbRGRdYXRlPi4qPzwvbGFzdFtCYl11aWxkW0RkXWF0ZT59e307CiAgICAgICRjID1+IHN7PHB1YltEZF1hdGU+Lio/PC9wdWJbRGRdYXRlPn17fTsKICAgICAgJGMgPX4gdHJ7XG5ccn17fXM7ICAjIEFuZCBzbWFzaCBuZXdsaW5lcyB3aGlsZSB3ZSdyZSBhdCBpdC4uLgogICAgfQogICAgaWYoICRjb250ZW50IGVxICRuZXdfY29udGVudF93aXRob3V0X2J1aWxkZGF0ZSApIHsKICAgICAgREVCVUcgYW5kIHByaW50ICIgJGZpbGVuYW1lXCdzIGNvbnRlbnQgaXMgdGhlIHNhbWUsIGJhc2ljYWxseS5cbiI7CiAgICAgIHJldHVybiAkc2VsZi0+X2NoZWNrX2FnZSgkZmlsZW5hbWUsICRtYXhhZ2UpOwogICAgfQogICAgREVCVUcgYW5kIHByaW50ICIgJGZpbGVuYW1lXCdzIGNvbnRlbnQgaXMgc3RhbGUuICBPdmVyd3JpdGluZy5cbiI7CiAgfQogIERFQlVHIGFuZCBwcmludCAiV3JpdGluZyB0byAkZmlsZW5hbWUgLi4uXG4iOwogIAogICMgT0ssIHdlIGhhdmUgdG8gYWN0dWFsbHkgd3JpdGUgaXQuICBMZXQncyBkbyBpdCBmYXN0LgogIG9wZW4oUlNTLCAiPiRmaWxlbmFtZSIpCiAgIG9yIENhcnA6OmNvbmZlc3MgIkNhbid0IHdyaXRlLW9wZW4gJGZpbGVuYW1lOiAkIVxuQWJvcnRpbmciOwogIHByaW50IFJTUyAkbmV3X2NvbnRlbnQKICAgb3IgQ2FycDo6Y29uZmVzcyAiQ2FuJ3QgcHJpbnQgdG8gJGZpbGVuYW1lOiAkIVxuQWJvcnRpbmciOwogIGNsb3NlKFJTUykKICAgb3IgQ2FycDo6Y29uZmVzcyAiQ2FuJ3QgY2xvc2UgJGZpbGVuYW1lOiAkIVxuQWJvcnRpbmciOwogIGV2YWwgeyBjaG1vZCAwNjQ0LCAkZmlsZW5hbWUgfTsKICBERUJVRyBhbmQgcHJpbnQgIkRvbmUgd3JpdGluZyB0byAkZmlsZW5hbWVcbiI7CiAgcmV0dXJuIDE7Cn0KCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKPWl0ZW0gQzxyc3NfYXNfc3RyaW5nKCk7PgoKVGhpcyByZXR1cm5zIHRoZSBSU1MtWE1MIGRhdGEgYXMgYSBzdHJpbmcuICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZAppbnRlcm5hbGx5IGJ5IHRoZSByc3Nfc2F2ZSBmdW5jdGlvbjsgYnV0IHlvdSBtaWdodCB3YW50IHRvIGNhbGwgaXQKZXhwbGljaXRseSwgYXMgaW4gYSBDR0ksIHdoZXJlIHlvdXIgQ0dJIHdvdWxkIHByb2JhYmx5IGVuZCBsaWtlIHRoaXM6CgogIHByaW50ICJDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL3htbFxuXG4iLCByc3NfYXNfc3RyaW5nKCk7CiAgZXhpdDsKCj1jdXQKCgpzdWIgYXNfc3RyaW5nIHsKICBteSAkc2VsZiA9ICRfWzBdOwogIAogIG15ICRuYW1lc3BhY2VzID0gJHNlbGYtPl9uYW1lc3BhY2VzX2FzX3N0cmluZzsKICAKICByZXR1cm4gam9pbiAnJyA9PgogICAgcXF7PD94bWwgdmVyc2lvbj0iMS4wIj8+XG59LAogICAgKCREVERfcHViaWQgYW5kICREVERfdXJsKQogICAgID8gcXF7PCFET0NUWVBFIHJzcyBQVUJMSUMgIiREVERfcHViaWQiXG4gICIkRFREX3VybCI+XG59IDogKCksCgogICAgJHNlbGYtPmNzcyA/ICggIyBodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtc3R5bGVzaGVldC8KICAgICAgcXF7PD94bWwtc3R5bGVzaGVldCB0aXRsZT0iQ1NTX2Zvcm1hdHRpbmciIHR5cGU9InRleHQvY3NzIiBocmVmPSJ9LAogICAgICAkc2VsZi0+eG1sZXNjKCRzZWxmLT5jc3MpLAogICAgICBxcXsiPz5cbn0KICAgICkgOiAoKSwKICAgICRzZWxmLT54c2wgPyAoCiAgICAgIHFxezw/eG1sLXN0eWxlc2hlZXQgdGl0bGU9IlhTTF9mb3JtYXR0aW5nIiB0eXBlPSJ0ZXh0L3htbCIgaHJlZj0ifSwgIyBUT0RPOiBiZXR0ZXIgbWltZSB0eXBlPwogICAgICAkc2VsZi0+eG1sZXNjKCRzZWxmLT54c2wpLAogICAgICBxcXsiPz5cbn0KICAgICkgOiAoKSwKICAgIHFxezxyc3MgdmVyc2lvbj0iMi4wIiRuYW1lc3BhY2VzPjxjaGFubmVsPn0sCiAgICAkc2VsZi0+X21vZHZlcnNpb25fY29tbWVudCwKICAgICRzZWxmLT5fdmFyaW91c19jb21tZW50cywKICAgICRzZWxmLT5fbWV0YWRhdGFfYXNfeG1sLAogICAgJHNlbGYtPl9pdGVtc19hc194bWwsCiAgICAiXG48L2NoYW5uZWw+PC9yc3M+XG4iLAogIDsKfQoKc3ViIF9uYW1lc3BhY2VzX2FzX3N0cmluZyB7CiAgbXkgJHNlbGYgPSAkX1swXTsKICBteSAkbnMgPSAkc2VsZi0+eydfbmFtZXNwYWNlcyd9OwogIHJldHVybiAnJyB1bmxlc3MgJG5zIGFuZCBrZXlzICUkbnM7CiAgcmV0dXJuCiAgICBqb2luICcnLCAiXG4iLAogICAgbWFwIHFxeyAgeG1sbnM6JF89IiQkbnN7JF99IlxufSwKICAgIHNvcnQga2V5cyAlJG5zCiAgOwp9CgojLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCnN1YiBfbWV0YWRhdGFfYXNfeG1sIHsKICBteSAkc2VsZiA9ICRfWzBdOwogIG15KCR1cmwsICR0aXRsZSwgJGRlc2NyaXB0aW9uKSA9ICgKICAgIG1hcCBkZWZpbmVkKCRfKSA/ICRfIDogJycsCiAgICAkc2VsZi0+dXJsLCAkc2VsZi0+dGl0bGUsICRzZWxmLT5kZXNjcmlwdGlvbiwKICApOwogIAogIGlmKCREV0lNKSB7CiAgICAjIHRvbGVyYXRlIHN3aXRjaGluZyB0aGUgZGVzY3JpcHRpb24vdGl0bGUgYW5kIHRoZSBVUkwKICAgIGlmKCR1cmwgIX4gbXteW2Etel0rW2EtejAtOV0qOlxTKyR9cykgewogICAgICBERUJVRyBhbmQgcHJpbnQgIlVSTCBcIiR1cmxcIiBsb29rcyBmaXNoeS4uLlxuIjsKICAgICAgaWYoICR0aXRsZSA9fiBte15bYS16XStbYS16MC05XSo6XFMrJH1zKSB7CiAgICAgICAgREVCVUcgYW5kIHByaW50ICJTd2FwcGluZyB3aXRoIHRpdGxlIFwiJHRpdGxlXCJcbiI7CiAgICAgICAgKCR1cmwsICR0aXRsZSkgPSAoJHRpdGxlLCAkdXJsKTsKICAgICAgICAkc2VsZi0+dXJsKCR1cmwpOwogICAgICAgICRzZWxmLT50aXRsZSgkdGl0bGUpOwogICAgICB9IGVsc2lmKCAkZGVzY3JpcHRpb24gPX4gbXteW2Etel0rW2EtejAtOV0qOlxTKyR9cykgewogICAgICAgIERFQlVHIGFuZCBwcmludCAiU3dhcHBpbmcgd2l0aCBkZXNjcmlwdGlvbiBcIiRkZXNjcmlwdGlvblwiXG4iOwogICAgICAgICgkdXJsLCAkZGVzY3JpcHRpb24pID0gKCRkZXNjcmlwdGlvbiwgJHVybCk7CiAgICAgICAgJHNlbGYtPnVybCgkdXJsKTsKICAgICAgICAkc2VsZi0+ZGVzY3JpcHRpb24oJGRlc2NyaXB0aW9uKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBDYXJwOjpjcm9hayggIkludmFsaWQgVVJMIFwiJHVybFwiIGluIG1ldGFkYXRhICIKICAgICAgICAgLiAoJHRpdGxlfHwkZGVzY3JpcHRpb258fCI/Pz8iKSAuICJcbkFib3J0aW5nIgogICAgICAgICk7CiAgICAgIH0KICAgIH0KICB9CgogIG15ICRsYW5nID0gJHNlbGYtPmxhbmd1YWdlOwogICRsYW5nIGFuZCAkbGFuZyA9fiB0cltfXVtcLV07ICMgdG9sZXJhdGUgdW5kZXJzY29yZXMKICAkbGFuZyA9ICdlbicgdW5sZXNzIGRlZmluZWQgJGxhbmcKICAgIyBGcm9tIEkxOE46OkxhbmdUYWdzLi4uCiAgIGFuZCAkbGFuZyAhfiBtL15baUl4SV0kL3MKICAgYW5kICRsYW5nID1+CiAgICBtL14oPzogICMgRmlyc3Qgc3VidGFnCiAgICAgICAgIFt4aUlYXSB8IFthLXpBLVpdezIsM30KICAgICAgKQogICAgICAoPzogICMgU3VidGFncyB0aGVyZWFmdGVyCiAgICAgICAgIC0gICAgICAgICAgICMgc2VwYXJhdG9yCiAgICAgICAgIFtBLVphLXowLTldezEsOH0gICMgc3VidGFnICAKICAgICAgKSoKICAgICQveHMKICA7CgogIHJldHVybiBqb2luICcnLCBzcHJpbnRmKCBxcXsKPGxpbms+JXM8L2xpbms+Cjx0aXRsZT4lczwvdGl0bGU+CjxkZXNjcmlwdGlvbj4lczwvZGVzY3JpcHRpb24+CjxsYW5ndWFnZT4lczwvbGFuZ3VhZ2U+CjxsYXN0QnVpbGREYXRlPiVzPC9sYXN0QnVpbGREYXRlPgp9LAogICAgICBtYXAoICRzZWxmLT5odG1sMnRleHQoJF8pLAogICAgICAgICR1cmwgICAgICAgICB8fCAnISEhIUR1bW15VVJMISEhIScsCiAgICAgICAgJHRpdGxlICAgICAgIHx8ICRkZXNjcmlwdGlvbiB8fCAkdXJsIHx8ICchISEhRHVtbXlUaXRsZSEhISEnLAogICAgICAgICRkZXNjcmlwdGlvbiB8fCAkdGl0bGUgfHwgJHVybCB8fCAnISEhIUR1bW15RGVzY3JpcHRpb24hISEhJywKICAgICAgKSwKICAgICAgJGxhbmcsCiAgICAgICRzZWxmLT5fZGF0ZV9yZmM4MjIoKSwKICAgICksCiAgICBncmVwICRfLAogICAgCiAgICAkc2VsZi0+eyJza2lwSG91cnMifSwKICAgICRzZWxmLT57InNraXBEYXlzIn0sCiAgICAkc2VsZi0+X3N5X3VwZGF0ZV9hc194bWwsCiAgICAoKCRzZWxmLT57InR0bCJ9IHx8ICcnKSA9fiBtL14oXGQrKSQvcykgJiYgIjx0dGw+JDE8L3R0bD5cbiIsCiAgICAkc2VsZi0+d2ViTWFzdGVyICYmCiAgICAgKCI8d2ViTWFzdGVyPiIgLiAkc2VsZi0+aHRtbDJ0ZXh0KCRzZWxmLT53ZWJNYXN0ZXIpIC4gIjwvd2ViTWFzdGVyPlxuIiksCiAgICAKICAgICRzZWxmLT5kb2NzICYmCiAgICAgKCI8ZG9jcz4iIC4gJHNlbGYtPmh0bWwydGV4dCgkc2VsZi0+ZG9jcykgLiAiPC9kb2NzPlxuIiksCgogICAgJHNlbGYtPl9pbWFnZV9hc194bWwsCiAgICAkc2VsZi0+eydtb3JlX21ldGFkYXRhJ30sICMgYSBoYWNrIGZvciBzbmVha2luZyBpbiBtb3JlIHRoaW5ncwogIDsKCiMgLi4ud2l0aCBzYW5pdHktY2hlY2tlcnMKCn0KIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpzdWIgX3Byb2Nlc3NfaXRlbV9wYXJhbXMgewogIG15ICRzZWxmID0gc2hpZnQ7CiAgbXkoJHVybCwgJHRpdGxlLCAkZGVzY3JpcHRpb24pID0KICAgIG1hcCB7OyAoZGVmaW5lZCgkXykgJiYgbS9cUy8pID8gJF8gOiAnJyB9ICMgY29udGVudGZ1bG5lc3MgZmlsdGVyCiAgICBtYXAgJHNlbGYtPmh0bWwydGV4dCgkXyksICAjIGhlcmUncyB3aGVyZSB3ZSBkZS1odG1saWZ5IHRoaW5ncwogICAgQF87CiAgOwogIAogIGZvcigkdXJsLCAkdGl0bGUsICRkZXNjcmlwdGlvbikgewogICAgaWYocmVmICRfICAgICAgICkgeyB9ICAjIE9rYXkKICAgIGVsc2lmKGRlZmluZWQgJF8pIHsgcy9eXHMrLy9zOyBzL1xzKyQvL3MgfQogICAgZWxzZSAgICAgICAgICAgICAgeyAkXyA9ICcnIH0KICB9CiAgCiAgIyBUb2xlcmF0ZSBzd2l0Y2hpbmcgdGhlIGRlc2NyaXB0aW9uL3RpdGxlIGFuZCB0aGUgVVJMCiAgaWYoJERXSU0gYW5kICR1cmwgIX4gbXteW2Etel0rW2EtejAtOV0qOlxTKyR9cykgewogICAgREVCVUcgYW5kIHByaW50ICJVUkwgXCIkdXJsXCIgbG9va3MgZmlzaHkuLi5cbiI7CiAgICBpZiggJHRpdGxlID1+IG17XlthLXpdK1thLXowLTldKjpcUyskfXMpIHsKICAgICAgREVCVUcgYW5kIHByaW50ICJTd2FwcGluZyB3aXRoIHRpdGxlIFwiJHRpdGxlXCJcbiI7CiAgICAgICgkdXJsLCAkdGl0bGUpID0gKCR0aXRsZSwgJHVybCk7CiAgICB9IGVsc2lmKCAkZGVzY3JpcHRpb24gPX4gbXteW2Etel0rW2EtejAtOV0qOlxTKyR9cykgewogICAgICBERUJVRyBhbmQgcHJpbnQgIlN3YXBwaW5nIHdpdGggZGVzY3JpcHRpb24gXCIkZGVzY3JpcHRpb25cIlxuIjsKICAgICAgKCR1cmwsICRkZXNjcmlwdGlvbikgPSAoJHRpdGxlLCAkZGVzY3JpcHRpb24pOwogICAgfSBlbHNlIHsKICAgICAgQ2FycDo6Y29uZmVzcyggIkludmFsaWQgVVJMIFwiJHVybFwiIGluIGl0ZW0gIgogICAgICAgLiAoJHRpdGxlfHwkZGVzY3JpcHRpb258fCI/Pz8iKSAuICJcbkFib3J0aW5nIgogICAgICApOwogICAgfQogIH0KICByZXR1cm4gKCR1cmwsICR0aXRsZSwgJGRlc2NyaXB0aW9uKTsKfQoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpzdWIgX2l0ZW1zX2FzX3htbCB7CiAgbXkgJHNlbGYgPSAkX1swXTsKICBteSBAaXRlbXM7CiAgbXkgQHhtbF9vdXQgPSAoJE1heWJlTkwpOwoKICBpZiggJHNlbGYtPmFsbG93X2R1cGxpY2F0ZXMgKSB7CiAgICBAaXRlbXMgPSBAeyAkc2VsZi0+eydpdGVtcyd9IHx8IGRpZSAiTk8gSVRFTVMhPyE/IiB9OwogIH0gZWxzZSB7CiAgICBteSAlc2VlbjsKICAgIGZvcmVhY2ggbXkgJGkgKEB7ICRzZWxmLT57J2l0ZW1zJ30gfHwgZGllICJOTyBJVEVNUyE/IT8iIH0pIHsKICAgICAgaWYoICRzZWVueyAkaS0+WzBdIH0gKysgKSB7CiAgICAgICAgREVCVUcgYW5kIHByaW50ICJSZW1vdmluZyBkdXBsaWNhdGUgaXRlbSBAJGlcbiI7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcHVzaCBAaXRlbXMsICRpOwogICAgICB9CiAgICB9CiAgfQoKICBteSAkaXRlbV9saW1pdCA9IGludCggJHNlbGYtPml0ZW1fbGltaXQgfHwgMCApOwogIGlmKCRpdGVtX2xpbWl0KSB7CiAgICBpZihAaXRlbXMgPiBhYnMoJGl0ZW1fbGltaXQpKSB7CiAgICAgIGlmKCRpdGVtX2xpbWl0ID4gMCkgeyAjIGxpa2UgNCB0byBtZWFuIGp1c3QgdGhlIGZpcnN0IDQKICAgICAgICBERUJVRyBhbmQgcHJpbnQgIiBLaWxsaW5nIGFsbCBidXQgdGhlIGZpcnN0ICRpdGVtX2xpbWl0IGl0ZW1zLlxuIjsKICAgICAgICBzcGxpY2UgQGl0ZW1zLCAkaXRlbV9saW1pdDsKICAgICAgfSBlbHNlIHsgIyBsaWtlIC00IHRvIG1lYW4ganVzdCB0aGUgbGFzdCA0CiAgICAgICAgREVCVUcgYW5kIHByaW50ICIgS2lsbGluZyBhbGwgYnV0IHRoZSBsYXN0ICIsIDAtJGl0ZW1fbGltaXQsICIgaXRlbXMuXG4iOwogICAgICAgIHNwbGljZSBAaXRlbXMsIDAsIEBpdGVtcyArICRpdGVtX2xpbWl0OwogICAgICAgICAjIFNvIGlmIGl0ZW1fbGltaXQgaXMgLTMgYW5kIEBpdGVtcyBoYXMgMTAgZWxlbWVudHMsCiAgICAgICAgICMgIHRoZW4gdGhhdCBudW1iZXIgd2lsbCBiZSA3LCBpLmUuLCB0byBjaG9wIHRoZSBmaXJzdCA3CiAgICAgICAgICMgIGVsZW1lbnRzLCBsZWF2aW5nIHRoZSBsYXN0IDMuCiAgICAgIH0KICAgIH0KICB9CiAgREVCVUcgYW5kIHByaW50IHNjYWxhcihAaXRlbXMpLCAiIGl0ZW1zIGF0IGhhbmQ6XG4iOwogIAogIGZvcmVhY2ggbXkgJGkgKEBpdGVtcykgewogICAgbXkoJHVybCwgJHRpdGxlLCAkZGVzY3JpcHRpb24pID0gQCRpOwogICAgREVCVUcgPiAxIGFuZCBwcmludCAiSTogKHUgJHVybCkgKHQgJHRpdGxlKSAoZCAkZGVzY3JpcHRpb24pXG4iOwogICAgbmV4dCB1bmxlc3MgJHVybCBvciAkdGl0bGUgb3IgJGRlc2NyaXB0aW9uOwogICAgcHVzaCBAeG1sX291dCwgCiAgICAgIjxpdGVtPiRNYXliZU5MIiwKICAgICAobWFwICIkTWF5YmVJbmRlbnQkXyRNYXliZU5MIiwKICAgICAgIGxlbmd0aCgkdGl0bGUpICAgICAgID8gIjx0aXRsZT4kdGl0bGU8L3RpdGxlPiIgOiAoKSwKICAgICAgIGxlbmd0aCgkdXJsKSAgICAgICAgID8gIjxsaW5rPiR1cmw8L2xpbms+IiA6ICgpLAogICAgICAgbGVuZ3RoKCRkZXNjcmlwdGlvbikgPyAiPGRlc2NyaXB0aW9uPiRkZXNjcmlwdGlvbjwvZGVzY3JpcHRpb24+IiA6ICgpLAogICAgICksCiAgICAgIjwvaXRlbT4kTWF5YmVOTFxuIiwKICB9CiAgREVCVUcgYW5kIHByaW50ICJfaXRlbXNfYXNfeG1sIHJldHVybmluZyB7XG4iLCBqb2luKCcnLCBAeG1sX291dCksICJ9XG5cbiI7CiAgCiAgcmV0dXJuIGpvaW4gJycsIEB4bWxfb3V0Owp9CgojLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCnN1YiBfaW1hZ2VfYXNfeG1sIHsKICBteSAkc2VsZiA9IHNoaWZ0OwogIHJldHVybiAnJyB1bmxlc3MKICAgICRzZWxmLT5pbWFnZV91cmwgYW5kICRzZWxmLT5pbWFnZV9oZWlnaHQgYW5kICRzZWxmLT5pbWFnZV93aWR0aDsKCiAgIyA8IUVMRU1FTlQgaW1hZ2UgKHRpdGxlIHwgdXJsIHwgbGluayB8IHdpZHRoPyB8IGhlaWdodD8gfCBkZXNjcmlwdGlvbj8pKj4KCiAgcmV0dXJuIGpvaW4gJycsCiAgICAiPGltYWdlPlxuIiwKICAgIG1hcCgiICAkX1xuIiA9PgogICAgICAkc2VsZi0+eG1sZWxlbSggJ3RpdGxlJyAgPT4gJHNlbGYtPmltYWdlX3RpdGxlIHx8ICRzZWxmLT5odG1sMnRleHQoJHNlbGYtPnRpdGxlKSksCiAgICAgICRzZWxmLT54bWxlbGVtKCAndXJsJyAgICA9PiAkc2VsZi0+aW1hZ2VfdXJsKSwgIyB1cmwgb2YgdGhlIGltYWdlCiAgICAgICRzZWxmLT54bWxlbGVtKCAnbGluaycgICA9PiAkc2VsZi0+aW1hZ2VfbGluayAgfHwgJHNlbGYtPmh0bWwydGV4dCgkc2VsZi0+dXJsICApKSwKICAgICAgJHNlbGYtPnhtbGVsZW0oICd3aWR0aCcgID0+ICRzZWxmLT5pbWFnZV93aWR0aCksCiAgICAgICRzZWxmLT54bWxlbGVtKCAnaGVpZ2h0JyA9PiAkc2VsZi0+aW1hZ2VfaGVpZ2h0KSwKICAgICAgJHNlbGYtPnhtbGVsZW0oICdkZXNjcmlwdGlvbicKICAgICAgICAgICAgICAgICA9PiAkc2VsZi0+aW1hZ2VfZGVzY3JpcHRpb24KICAgICAgICAgICAgICAgICAgICB8fCAkc2VsZi0+aHRtbDJ0ZXh0KCRzZWxmLT5kZXNjcmlwdGlvbikpLAogICAgKSwKICAgICI8L2ltYWdlPlxuIiwKICA7Cn0KCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKCj1pdGVtIEM8Z2V0X3VybCggSTx1cmw+ICk7PgoKPWl0ZW0gQzwkY29udGVudCA9IGdldF91cmwoIEk8dXJsPiApOz4KCj1pdGVtIEk8b3I6PiBDPDwgJGNvbnRlbnQgPSAkcnNzLT5nZXRfdXJsKC4uLik7ID4+Cgo9aXRlbSBJPG9yOj4gQzw8ICRjb250ZW50LT5nZXRfdXJsKC4uLik7ID4+CgpUaGlzIHRyaWVzIHRvIGdldCB0aGUgY29udGVudCBvZiB0aGUgZ2l2ZW4gdXJsLCBhbmQgcmV0dXJucyBpdC4KClRoaXMgaXMgcXVpdGUgbGlrZSBMPExXUDo6U2ltcGxlPidzIEM8Z2V0PiBmdW5jdGlvbiwgYnV0IHdpdGggc29tZQphZGRpdGlvbmFsIGZlYXR1cmVzOgoKPW92ZXIKCj1pdGVtICogSWYgaXQgY2FuJ3QKZ2V0IHRoZSBVUkwncyBjb250ZW50IGF0IGZpcnN0LCBpdCB3aWxsIHNsZWVwIGZvciBhIGZldyBzZWNvbmRzIGFuZCB0cnkKYWdhaW4sIHVwIHRvIGFib3V0IGZpdmUgdGltZXMuIChUaGlzIGlzIHRvIGF2b2lkIHRoZSBjYXNlIG9mIHRoZSBVUkwKYmVpbmcgdGVtcG9yYXJpbHkgaW5hY2Nlc3NpYmxlIHNpbXBseSBiZWNhdXNlIHRoZSBETlMgaXMgYSBiaXQgc2xvdywKb3IgYmVjYXVzZSB0aGUgc2VydmVyIGlzIHRvbyBidXN5LikKCj1pdGVtICogSWYgaXQgY2FuJ3QgZ2V0IHRoZSBjb250ZW50LCBldmVuIGFmdGVyIHNldmVyYWwgcmV0cmllcywKaXQgd2lsbCBhYm9ydCB0aGUgcHJvZ3JhbSAobGlrZSBhIEM8ZGllPikuICBJZiB5b3Ugd2FudCB0byBvdmVycmlkZSB0aGlzCmJlaGF2aW9yLCB0aGVuIGNhbGwgaXQgYXMgQzxldmFsIHsgZ2V0X3VybCgkdXJsKSB9Oz4KCj1pdGVtICogSWYgeW91IGNhbGwgdGhlIGZ1bmN0aW9uIGluIHZvaWQgY29udGV4dCAoaS5lLiwgbm90IHVzaW5nIGl0cwpyZXR1cm4gdmFsdWUpLCB0aGVuIHRoZSBmdW5jdGlvbiBhc3NpZ25zIHRoZSBVUkwncyBjb250ZW50IHRvIEM8JF8+LgpUaGF0J3Mgc28geW91IGNhbiB3cml0ZSBuaWNlIGNvbmNpc2UgY29kZSBsaWtlIHRoaXM6CgogICAgICAgICAgIGdldF91cmwgJHRoYXRzaXRlOwogICAgICAgICAgIG0vVG9wIFN0b3JpZXMgVG9uaWdodC8gb3IgZGllICJXaGF0LCBubyB0b3Agc3Rvcmllcz8iOwogICAgICAgICAgIHdoaWxlKCBtezxhIGNsYXNzPSJ0b3AiIGhyZWY9IiguKj8pIj4oLio/KTwvYT59ZyApIHsKICAgICAgICAgICAgIHJzc19pdGVtKCIkdGhhdHNpdGUvJDEiLCAkMik7CiAgICAgICAgICAgfQoKPWl0ZW0gKiBUaGlzIHJldHVybnMgdGhlIGNvbnRlbnQgb2YgdGhlIFVSTCBub3QgZXhhY3RseSBhcy1pcywgYnV0IGFmdGVyCmNoYW5naW5nIGl0cyBuZXdsaW5lcyB0byBuYXRpdmUgZm9ybWF0LiAgVGhhdCBpcywgaWYgdGhlIGNvbnRlbnRzIG9mIHRoZQpVUkwgdXNlIENSLUxGIHBhaXJzIHRvIGV4cHJlc3MgbmV3bGluZXMsIHRoZW4gQzxnZXRfdXJsPiBjaGFuZ2VzIHRoZXNlCnRvIEM8XG4+J3MgYmVmb3JlIHJldHVybmluZyB0aGUgY29udGVudC4gIChTaW1pbGFybHkgZm9yIG9sZCBNYWNPUwpuZXdsaW5lIGZvcm1hdC4pICBDbGVhcmx5IHRoaXMgaXMgd3JvbmcgaW4geW91J3JlIGRlYWxpbmcgd2l0aCBiaW5hcnkKZGF0YTsgaW4gdGhhdCBjYXNlLCB1c2UgTFdQOjpTaW1wbGUncyBDPGdldD4gZGlyZWN0bHkuCgo9aXRlbSAqIEZpbmFsbHksIGFzIGEgcmVzb3VyY2UtY29udmVyc2F0aW9uIG1lYXN1cmUsIHRoaXMgZnVuY3Rpb24Kd2lsbCBhbHNvIHRyeSB0byBjYWxsIEM8c2xlZXA+IGEgZmV3IHRpbWVzIGlmIGl0IHNlZXMgc2V2ZXJhbCBxdWljawpjYWxscyB0byBpdHNlbGYgY29taW5nIGZyb20gYSBwcm9ncmFtIHRoYXQgc2VlbXMgdG8gYmUgcnVubmluZwp1bmRlciBjcm9udGFiLiAgQXMgbW9zdCBvZiBteSBSU1MtZ2VuZXJhdG9ycyBhcmUgY3JvbnRhYmJlZCwgSQpmaW5kIGl0IHZlcnkgdXNlZnVsIHRoYXQgSSBjYW4gaGF2ZSBob3dldmVyIG1hbnkgQzxnZXRfdXJsPidzIGluCm15IGNyb250YWJiZWQgcHJvZ3JhbXMgd2l0aG91dCB3b3JyeWluZyB0aGF0IHRoZXknbGwgdGFrZSBldmVuIGEKbm90aWNlYWJsZSBwYXJ0IG9mIHRoZSBzZXJ2ZXIncyBiYW5kd2lkdGguCgo9YmFjawoKPWN1dAoKbXkgJGxhc3RfdXJsX2dldF90aW1lOwoKc3ViIGdldF91cmwgKCQpIHsKICBteSAkc2VsZiA9IHNoaWZ0IGlmIEBfID4gMTsgIyB3b3JrIGFzIGEgZnVuY3Rpb24gb3IgbWV0aG9kCgogICMgIEdvIHdoaXAgdXAgYW4gb2JqZWN0IHVubGVzcyBvbmUgd2FzIGdpdmVuOgogICRzZWxmID0gKCRSU1Nfb2JqIHx8PSBYTUw6OlJTUzo6U2ltcGxlR2VuOjotPm5ldykgdW5sZXNzIGRlZmluZWQgJHNlbGY7CiAgJHNlbGYgPSAkc2VsZi0+bmV3IHVubGVzcyByZWYgJHNlbGY7CiAgCiAgbXkgJHVybCA9ICRfWzBdOwogIENhcnA6OmNyb2FrICJcIiR1cmxcIiBkb2Vzbid0IGxvb2sgbGlrZSBhIFVSTCFcbkFib3J0aW5nIgogICB1bmxlc3MgZGVmaW5lZCgkdXJsKSBhbmQgJHVybCA9fiBte15bYS16XStbYS16MC05XSo6XFMrJH1zOwogIAogIGlmKCRTbGVlcHkgYW5kICRsYXN0X3VybF9nZXRfdGltZSkgewogICAgbXkgJGRlbGF5ID0gJFNsZWVweSAtICh0aW1lKCkgLSAkbGFzdF91cmxfZ2V0X3RpbWUpOwogICAgaWYoICRkZWxheSA+IDAgKSB7CiAgICAgIERFQlVHIGFuZCBwcmludCAiTGFzdCBVUkxnZXQgd2FzIGF0ICRsYXN0X3VybF9nZXRfdGltZSwgc2xlZXAgJGRlbGF5XG4iOwogICAgICBzbGVlcCAkZGVsYXk7CiAgICB9IGVsc2UgewogICAgICBERUJVRyBhbmQgcHJpbnQgIkxhc3QgVVJMZ2V0IHdhcyBhdCAkbGFzdF91cmxfZ2V0X3RpbWUsIHNvIG5vIHNsZWVwLlxuIjsKICAgIH0KICB9CiAgCiAgbXkgJGNvbnRlbnQ7CiAgbXkgJGNvdW50ID0gMDsKICBmb3JlYWNoIG15ICRkZWxheSAoQFJldHJ5X2RlbGF5cywgMCkgewogICAgZGVsZXRlICRzZWxmLT57J19sb29wcyd9OwogICAgZGVsZXRlICRzZWxmLT57J19odHRwX2Fib3J0J307CgogICAgREVCVUcgYW5kIHByaW50ICJHZXR0aW5nICR1cmwgLi4uXG4iOwogICAgKyskY291bnQ7CiAgICBpZiggZGVmaW5lZCgKICAgICAgJGNvbnRlbnQgID0gICRzZWxmLT5fZ2V0KCR1cmwpCiAgICApKSB7CiAgICAgIERFQlVHIGFuZCBwcmludCAiT0ssIGdvdCBpdCAoIiwgbGVuZ3RoKCRjb250ZW50KSwgIiBieXRlcylcbiI7CiAgICAgIGxhc3Q7CiAgICB9CiAgICAKICAgIGlmKCAkc2VsZi0+eydfaHR0cF9hYm9ydCd9ICkgewogICAgICBERUJVRyBhbmQgcHJpbnQgIkNvdWxkbid0IGdldCBpdCBhbmQgd29uJ3QgcmV0cnkgKCIsIAogICAgICAgICRzZWxmLT57J19odHRwX2Fib3J0J30sICIpXG4iOwogICAgICBsYXN0OwogICAgfSBlbHNlIHsKICAgICAgREVCVUcgYW5kIHByaW50ICJPZGQsIGNvdWxkbid0IGdldCBpdC5cbiI7CiAgICB9CiAgICBpZigkZGVsYXkpIHsgREVCVUcgYW5kIHByaW50ICJTbGVlcGluZyAkZGVsYXkgc2VjLi4uXG4iOyBzbGVlcCAkZGVsYXk7IH0KICB9CiAgJGxhc3RfdXJsX2dldF90aW1lID0gdGltZSgpOwoKICB1bmxlc3MoIGRlZmluZWQgJGNvbnRlbnQgKSB7CiAgICBteSAkaGVhZGVycyA9ICRzZWxmLT57J19odHRwX2hlYWRlcnMnfTsKICAgIGlmKCAkaGVhZGVycyBhbmQgJGhlYWRlcnMgPX4gc3tefXsgIH1tZyApIHsKICAgICAgJGhlYWRlcnMgPSAiXG5SZXNwb25zZSBoZWFkZXJzOlxuJGhlYWRlcnMiOwogICAgfSBlbHNlIHsKICAgICAgJGhlYWRlcnMgPSAnJzsKICAgIH0KICAgICRjb3VudCAuPSAoJGNvdW50ID09IDEpID8gIiB0cnkiIDogIiB0cmllcyI7CiAgICBDYXJwOjpjcm9haygiQ291bGRuJ3QgZ2V0ICR1cmwgaW4gJGNvdW50JGhlYWRlcnNcblNvLCBhYm9ydGluZyIpCiAgfQogIAogIGlmKCROYXRpdml6ZV9uZXdsaW5lcykgewogICAgaWYoIlxuIiBlcSAiXGNqIikgeyAgICAgICAjIENSID0+IExGICAgIENSIExGTEYuLi4gPT4gTEYgICBMRiA9PiBMRgogICAgICAkY29udGVudCA9fiBzL1xjbVxjaiovXG4vZzsgIyBtb3N0IGVmZmljaWVudCwgSSBkYXJlIHNheQogICAgfSBlbHNpZigiXG4iIGVxICJcY20iKSB7ICAjIENSID0+IENSICAgIENSIExGTEYuLi4gPT4gQ1IgICBMRiA9PiBDUgogICAgICAkY29udGVudCA9fiBzLyg/Oig/OlxjbVxjaispfFxjaikvXG4vZzsKICAgIH0gZWxzZSB7CiAgICAgICRjb250ZW50ID1+IHMvKD86XG58XHJ8XG5ccikvXG4vZzsKICAgIH0KICB9CiAgCiAgJF8gPSAkY29udGVudCB1bmxlc3MgZGVmaW5lZCB3YW50YXJyYXk7CiAgcmV0dXJuICRjb250ZW50Owp9CgojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyAgVGhpbmdzIGJlbG93IGhlcmUgYXJlIGxlc3MgYW5kIGxlc3MgaW50ZXJlc3RpbmcgdG8gdGhlIGNhc3VhbCByZWFkZXIuCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKc3ViIF9nZXQgewogIG15ICRzZWxmID0gc2hpZnQ7CiAgaWYoCiAgICAhJExXUDo6U2ltcGxlOjpWRVJTSU9OCiAgICBhbmQgJF9bMF0gPX4gbXteaHR0cDovLyhbXiBcblxyXHQvOlxAXSspKD86OihcZCspKT8oL1xTKik/JH0KICApIHsKICAgIG15ICRob3N0ID0gJDE7CiAgICBteSAkcGF0aCA9ICQzOwogICAgbXkgJHBvcnQgPSAwICsgKCQyIHx8IDgwKTsKICAgIGlmKCAkQmFkUG9ydHN7JHBvcnR9ICkgewogICAgICBERUJVRyBhbmQgcHJpbnQgIldlIGRvbid0IGxpa2UgcG9ydCAkcG9ydCBmcm9tICRfWzBdXG4iOwogICAgICByZXR1cm4gdW5kZWY7CiAgICB9CiAgICAKICAgICRwYXRoID0gIi8iIHVubGVzcyBkZWZpbmVkKCRwYXRoKTsKICAgICRzZWxmID0gJHNlbGYtPm5ldyB1bmxlc3MgcmVmKCRzZWxmKTsgIyBuZWVkIHRvIGJlIGFuIG9iamVjdCBtZXRob2QKICAgIHJldHVybiAkc2VsZi0+X3RyaXZpYWxfaHR0cF9nZXQoJGhvc3QsICRwb3J0LCAkcGF0aCk7CiAgfSBlbHNlIHsKICAgIHJldHVybiAkc2VsZi0+X2x3cF9nZXQoQF8pOwogIH0KfQoKc3ViIF9sd3BfZ2V0IHsKICByZXF1aXJlIExXUDo6U2ltcGxlOwogIERFQlVHIGFuZCBwcmludCAiQ2FsbGluZyBMV1A6OlNpbXBsZSBvbiAkX1sxXVxuIjsKICByZXR1cm4gTFdQOjpTaW1wbGU6OmdldCgkX1sxXSk7Cn0KCnN1YiBfdHJpdmlhbF9odHRwX2dldCB7CiAgIG15KCRzZWxmLCAkaG9zdCwgJHBvcnQsICRwYXRoKSA9IEBfOwogICBERUJVRyA+IDEgYW5kIHByaW50ICJHZXR0aW5nIEhPU1Q9JGhvc3QsIFBPUlQ9JHBvcnQsIFBBVEg9JHBhdGhcbiI7CgogICAkc2VsZiA9ICRzZWxmLT5uZXcgdW5sZXNzIHJlZigkc2VsZik7ICMgbmVlZCB0byBiZSBhbiBvYmplY3QgbWV0aG9kCiAgIG15ICRzZWVuID0gKCAkc2VsZi0+eydfbG9vcHMnfSB8fD0ge30gKTsKCiAgIHJlcXVpcmUgSU86OlNvY2tldDsKICAgbG9jYWwoJF5XKSA9IDA7CiAgIG15ICRzb2NrID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KFBlZXJBZGRyID0+ICRob3N0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZWVyUG9ydCA9PiAkcG9ydCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvdG8gICAgPT4gJ3RjcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVvdXQgID0+IDYwKSB8fCByZXR1cm4gdW5kZWY7CiAgICRzb2NrLT5hdXRvZmx1c2g7CiAgIG15ICRuZXRsb2MgPSAkaG9zdDsKICAgJG5ldGxvYyAuPSAiOiRwb3J0IiBpZiAkcG9ydCAhPSA4MDsKICAgcHJpbnQgJHNvY2sgam9pbigiXDAxNVwwMTIiID0+CiAgICAgICAgICAgICAgICAgICJHRVQgJHBhdGggSFRUUC8xLjAiLAogICAgICAgICAgICAgICAgICAiSG9zdDogJG5ldGxvYyIsCiAgICAgICAgICAgICAgICAgICJVc2VyLUFnZW50OiAkVXNlckFnZW50U3RyaW5nIiwKICAgICAgICAgICAgICAgICAgIiIsICIiKTsKCiAgIG15ICRidWYgPSAiIjsKICAgbXkgJG47CiAgIHdoaWxlKCAkbiA9IHN5c3JlYWQoJHNvY2ssICRidWYsIDgqMTAyNCwgbGVuZ3RoKCRidWYpKSApIHsKICAgICBERUJVRyA+IDEwIGFuZCBwcmludCAiICAgIEdvdCAkbiBieXRlcy4uLlxuIjsKICAgICAxOwogICB9CiAgIHJldHVybiB1bmRlZiB1bmxlc3MgZGVmaW5lZCgkbik7CgogICBpZiggJGJ1ZiA9fiBte15IVFRQL1xkK1wuXGQrXHMrKFxkKylbXlwwMTJdKlwwMTJ9ICkgewogICAgIG15ICRjb2RlID0gJDE7CiAgICAgREVCVUcgYW5kIHByaW50ICIgR290IEhUVFAgc3RhdHVzOiAkY29kZVxuIjsKICAgICBpZiggJGNvZGUgPX4gbS9eMzBbMTIzN10vcyBhbmQgJGJ1ZiA9fiBtL1wwMTJMb2NhdGlvbjpccyooXFMrKS8gKSB7CiAgICAgICAjIFJlZGlyZWN0aW9uCiAgICAgICBteSAkdXJsID0gJDE7CiAgICAgICBpZiggJHVybCA9fiBtL14oZmlsZXxtYWlsdG8pOi8gICMgcHJvdG9jb2xzIHdlIGhhdGUKICAgICAgICAgb3IgJHNlZW4tPnskdXJsfSsrCiAgICAgICAgIG9yIHNjYWxhcihrZXlzICUkc2VlbikgPiAyMAogICAgICAgKSB7CiAgICAgICAgIERFQlVHIGFuZCBwcmludCAiSSBkb24ndCBsaWtlIHRoZSByZWRpcmVjdGlvbiByZXNwb25zZSAkdXJsXG4iOwogICAgICAgICAkc2VsZi0+eydfaHR0cF9hYm9ydCd9ID0gIkJhZCBIVFRQLXJlZGlyZWN0aW9uIGxvb3AuIjsKICAgICAgICAgcmV0dXJuIHVuZGVmOwogICAgICAgfQogICAgICAgcmV0dXJuICRzZWxmLT5fZ2V0KCR1cmwpOyAgIyBSZWN1cnNlIQogICAgIH0KCiAgICAgJGJ1ZiA9fiBzLyguKz8pXDAxNT9cMDEyXDAxNT9cMDEyLy9zOyAgIyB6YXAgdGhlIGhlYWRlcgogICAgICggJHNlbGYtPnsnX2h0dHBfaGVhZGVycyd9ID0gJDEgKSAgID1+ICAgdHIvXDAxNVwwMTIvXG4vc2Q7CiAgICAgCiAgICAgREVCVUcgPiAxMCBhbmQgcHJpbnQgIkhlYWRlcnM6ICQkc2VsZnsnX2h0dHBfaGVhZGVycyd9XG4iOwogICAgIAogICAgICRzZWxmLT57J19odHRwX2Fib3J0J30gPSAiSFRUUCBzdGF0dXMgJGNvZGUiCiAgICAgIGlmICRjb2RlIGVxICc0MDQnIG9yICRjb2RlIGVxICc0MDMnOwogICAgIHJldHVybiB1bmRlZiB1bmxlc3MgJGNvZGUgPX4gbS9eMi87CiAgICAgCiAgICAgREVCVUcgYW5kIHByaW50ICJSZXR1cm5pbmcgIiwgbGVuZ3RoKCRidWYpLCAiIGJ5dGVzIG9mIGNvbnRlbnQuXG4iOwogICB9IGVsc2UgewogICAgIERFQlVHIGFuZCBwcmludCAiR290IGEgaGVhZGVybGVzcyByZXNwb25zZS4gIFJldHVybmluZy5cbiI7CiAgIH0KCiAgIHJldHVybiAkYnVmOwp9CgojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCnN1YiBfcmVhZF9oaXN0b3J5X2ZpbGUgewogIG15ICRzZWxmID0gJF9bMF07CiAgbXkgJGhmID0gJHNlbGYtPmhpc3RvcnlfZmlsZTsKICB1bmxlc3MoZGVmaW5lZCAkaGYgYW5kIGxlbmd0aCAkaGYpIHsKICAgIERFQlVHIGFuZCBwcmludCAiTm8gaGlzdG9yeV9maWxlIGRlZmluZWQgZm9yICRzZWxmLlxuIjsKICAgIHJldHVybjsKICB9CiAgCiAgbXkoJWZpcnN0LCAlbGFzdCk7ICAjICJsYXN0IiBpbiB0aGUgc2Vuc2Ugb2YgIm1vc3QgcmVjZW50bHkiCiAgJHNlbGYtPnsnX2ZpcnN0X3NlZW4nfSA9IFwlZmlyc3Q7CiAgJHNlbGYtPnsnX2xhc3Rfc2VlbicgfSA9IFwlbGFzdCA7CgogIHVubGVzcyggLWUgJGhmIGFuZCAtcyBfICkgewogICAgJHNlbGYtPnsnX3Zpcmdpbl9pdGVtX3RpbWVzdGFtcCd9ID0gdGltZSgpIGlmICREV0lNOwogICAgcmV0dXJuIDA7CiAgfQoKICBteSAkbm93ID0gdGltZSgpOwogIG15ICRmb3JnZXRfYmVmb3JlOwogIAogIG15ICRpbjsKICB7CiAgICBsb2NhbCAqSU47CiAgICBvcGVuKElOLCAkaGYpIG9yIENhcnA6OmNvbmZlc3MgIkNhbid0IHJlYWQtb3BlbiAkaGY6ICQhIjsgICMgaW5zYW5lCiAgICAkaW4gPSAqSU57SU99OwogIH0KICBsb2NhbCAkXzsKICBteSBAZjsKICB3aGlsZSg8JGluPikgewogICAgdHIvXG5cci8vZDsKICAgIG5leHQgdW5sZXNzIEBmID0gc3BsaXQgIlx0IiwgJF8sIDMgYW5kIGRlZmluZWQoJGZbMF0pIGFuZCBsZW5ndGgoJGZbMF0pOwoKICAgICRsYXN0eyRmWzBdfSA9ICRmWzJdIGlmICRmWzJdOwoKICAgIGlmKCAkZlsxXSApIHsKICAgICAgJGZpcnN0eyRmWzBdfSA9ICRmWzFdOwogICAgICBERUJVRyA+IDMgYW5kIHByaW50ICIgTGVhcm5pbmcgJGZbMF0gZmlyc3Qgc2VlbiBhdCAkZlsxXVxuIjsKICAgIH0gZWxzZSB7CiAgICAgICRmaXJzdHskZlswXX0gPSAkbm93OwogICAgICBERUJVRyA+IDMgYW5kIHByaW50ICIgUHJlbGVhcm5pbmcgJGZbMF0gZmlyc3Qgc2VlbiBhdCAkZlsxXVxuIjsKICAgICAgICMgVE9ETzogaXMgdGhpcyB1c2VmdWw/CiAgICB9CiAgfQogIGNsb3NlKCRpbik7CgogIHJldHVybiAxOwp9CgojIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4KCnN1YiBfd3JpdGVfaGlzdG9yeV9maWxlIHsKICBteSAkc2VsZiA9ICRfWzBdOwogIG15ICRoZiA9ICRzZWxmLT5oaXN0b3J5X2ZpbGU7CiAgdW5sZXNzKGRlZmluZWQgJGhmIGFuZCBsZW5ndGggJGhmKSB7CiAgICBERUJVRyBhbmQgcHJpbnQgIk5vIGhpc3RvcnlfZmlsZSBkZWZpbmVkIGZvciAkc2VsZi5cbiI7CiAgICByZXR1cm47CiAgfQogIAogIG15ICRmaXJzdCA9ICRzZWxmLT57J19maXJzdF9zZWVuJ307CiAgbXkgJGxhc3QgID0gJHNlbGYtPnsnX2xhc3Rfc2VlbicgfTsKICBteSAkbm93ICAgPSB0aW1lKCk7CiAgCiAgbXkgJG91dDsKICBERUJVRyBhbmQgcHJpbnQgIlNhdmluZyB0byBoaXN0b3J5IGZpbGUgJGhmXG4iOwogIERFQlVHID4gMiBhbmQgcHJpbnRmICJUaW1lIG5vdzogJXMgPSAlc1xuIiwgdGltZSgpLCBzY2FsYXIobG9jYWx0aW1lKTsKICB7CiAgICBsb2NhbCAqSEY7CiAgICBvcGVuKEhGLCAiPiRoZiIpIG9yIENhcnA6OmNvbmZlc3MgIkNhbid0IHdyaXRlLW9wZW4gJGhmOiAkISI7ICAjIGluc2FuZQogICAgJG91dCA9ICpIRntJT307CiAgfQogIHsKICAgIG15KEBmLCBAeCk7CiAgICB7CiAgICAgIG15ICV4OwogICAgICBAeHtrZXlzICUkZmlyc3QsIGtleXMgJSRsYXN0fSA9ICgpOwogICAgICBAeCA9IHNvcnQga2V5cyAleDsKICAgIH0KCiAgICBteSAkZm9yZ2V0X2JlZm9yZTsKICAgIHsKICAgICAgbXkgJHIgPSAkc2VsZi0+cmV0ZW50aW9uOwogICAgICBpZiggJHIgYW5kICRyID4gMCApIHsgJGZvcmdldF9iZWZvcmUgPSB0aW1lKCkgLSAkciB9CiAgICB9CiAgICBmb3JlYWNoIG15ICRrZXkgKEB4KSB7CiAgICAgIG5leHQgaWYgJGtleSA9fiBtL1tcdFxuXHJdLzsKICAgICAgaWYoICRmb3JnZXRfYmVmb3JlIGFuZCAkbGFzdC0+eyRrZXl9IDwgJGZvcmdldF9iZWZvcmUgKSB7CiAgICAgICAgREVCVUcgYW5kIHByaW50ZigKICAgICAgICAgICIgRm9yZ2V0dGluZyAlcyBhcyBiZWluZyB0b28gb2xkIHNpbmNlIGxhc3Qtc2VlbiAoJXMgPSAlcylcbiIsCiAgICAgICAgICAka2V5LAogICAgICAgICAgJGxhc3QtPnska2V5fSwKICAgICAgICAgIHNjYWxhcihsb2NhbHRpbWUoJGxhc3QtPnska2V5fSkpLAogICAgICAgICk7CiAgICAgICAgbmV4dDsKICAgICAgfQogICAgICBwcmludCAkb3V0ICAgICAgJGtleSwgIlx0IiwKICAgICAgICAkZmlyc3QtPnska2V5fXx8JycsICJcdCIsCiAgICAgICAgICRsYXN0LT57JGtleX18fCcnLCAiXG4iLAogICAgICA7CiAgICAgIAogICAgICBpZihERUJVRyA+IDIpIHsKICAgICAgICBwcmludGYgIiAgS2V5ICVzXG4gICAgRmlyc3Qgc2VlbjogJXMgPSAlc1xuICAgIExhc3Qgc2VlbjogICVzID0gJXNcbiIsCiAgICAgICAgICAka2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZpcnN0LT57JGtleX18fCctJywKICAgICAgICAgIHNjYWxhcihsb2NhbHRpbWUoICRmaXJzdC0+eyRrZXl9fHwwICApKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGFzdC0+eyRrZXl9fHwnLScsCiAgICAgICAgICBzY2FsYXIobG9jYWx0aW1lKCAgJGxhc3QtPnska2V5fXx8MCAgKSksCiAgICAgIH0KCiAgICB9CiAgICBjbG9zZSgkb3V0KTsKICB9CiAgREVCVUcgYW5kIHByaW50ICJEb25lIHNhdmluZyB0byAkaGZcbiI7CiAgcmV0dXJuIDE7Cn0KCiMtXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXy1fLV8tXwoKCj1pdGVtIEM8cnNzX2hvdXJseT4gSTxvcj4gQzxyc3NfZGFpbHk+IEk8b3I+IEM8cnNzX3R3aWNlX2RhaWx5PgogSTxvcj4gQzxyc3NfdGhyaWNlX2RhaWx5PiBJPG9yPiBDPHJzc193ZWVrbHk+IEk8b3I+IEM8cnNzX2V2ZXJ5X290aGVyX2hvdXI+CgpDYWxsaW5nIG9uZSBvZiB0aGVzZSBmdW5jdGlvbnMgZGVjbGFyZXMgdGhhdCB0aGlzIGZlZWQgaXMgdXN1YWxseQpnZW5lcmF0ZWQgYXQgdGhlIHNhbWUgdGltZShzKSBldmVyeSBkYXkgKG9yIGV2ZXJ5IHdlZWssIGluIHRoZSBjYXNlIG9mCkM8cnNzX3dlZWtseT4pLiBBbmQsIHdoZXJlIGl0J3Mgbm90IGp1c3Qgb25jZSBhIGRheS93ZWVrLCB0aGVzZSBtdWx0aXBsZQp0aW1lcyBhIGRheSBhcmUgZXZlbmx5IHNwYWNlZC4gIFRoZXNlIGZ1bmN0aW9ucyB0aGVuIHNldCB0aGUgZmVlZCdzCkM8dXBkYXRlUGVyaW9kPiwgQzx1cGRhdGVCYXNlPiwgQzx1cGRhdGVGcmVxdWVuY3k+LCBDPHNraXBIb3Vycz4sCkM8c2tpcERheXM+LCBhbmQgQzx0dGw+IGVsZW1lbnRzIGFwcHJvcHJpYXRlbHksIHNvIHRoYXQgUlNTIHJlYWRlcnMgY2FuIGtub3cgYXQKYXQgd2hhdCB0aW1lcyB0aGVyZSBjb3VsZCAob3IgY291bGRuJ3QpIGJlIG5ldyBjb250ZW50IGluIHRoaXMgZmVlZC4KCkluIG90aGVyIHdvcmRzOiB1c2UgQzxyc3NfdHdpY2VfZGFpbHk+IGlmIHRoaXMgZmVlZCBpcyB1cGRhdGVkIGF0IGFib3V0IHRoZQpzYW1lIHRpbWUgZXZlcnkgZGF5IGFuZCB0aGVuIGFnYWluIDEyIGhvdXJzIGxhdGVyLiAgVXNlIEM8cnNzX3RocmljZV9kYWlseT4KaWYgdGhpcyBmZWVkIGlzIHVwZGF0ZWQgYXQgdGhlIHNhbWUgdGltZSBkYWlseSwgYW5kIHRoZW4gOCBob3VycyBsYXRlciwgYW5kCnRoZW4gOCBob3VycyBsYXRlci4gIEFuZCB1c2UgQzxyc3NfZXZlcnlfb3RoZXJfaG91cj4gaWYgdGhlIGZlZWQgdXBkYXRlcwphdCBhYm91dCBJPG4+IG1pbnV0ZXMgcGFzdCBldmVyeSBldmVuIG51bWJlcmVkIGhvdXIsIG9yIGV2ZXJ5IG9kZC1udW1iZXJlZApob3VyLgoKQ2xlYXJseSBJIG1lYW4gdGhlc2UgZnVuY3Rpb25zIHRvIGJlIHVzZWQgaW4gcHJvZ3JhbXMgdGhhdCBhcmUgY3JvbnRhYmJlZAp0byBydW4gYXQgcGFydGljdWxhciBpbnRlcnZhbHMsIGFzIHdpdGggYSBjcm9udGFiIGxpbmUgbGlrZSBvbmUgb2YgdGhlc2U6CgogICAgICAgNTIgKiAqICogKiAgICAgICAgIH4vdGhpbmd5ICAgIyA9PiByc3NfaG91cmx5CiAgICAgICA1MiAyMyAqICogKiAgICAgICAgfi90aGluZ3kgICAjID0+IHJzc19kYWlseQogICAgICAgNTIgNCwxNiAqICogKiAgICAgIH4vdGhpbmd5ICAgIyA9PiByc3NfdHdpY2VfZGFpbHkKICAgICAgIDUyIDUsMTMsMjEgKiAqICogICB+L3RoaW5neSAgICMgPT4gcnNzX3RocmljZV9kYWlseQogICAgICAgNTIgMjMgKiAqIDMgICAgICAgIH4vdGhpbmd5ICAgIyA9PiByc3Nfd2Vla2x5CiAgICAgICA1MiAqLzIgKiAqICogICAgICAgfi90aGluZ3kgICAjID0+IHJzc19ldmVyeV9vdGhlcl9ob3VyCgpDbGVhcmx5IHRoZXJlIGFyZW4ndCBDPHJzc19JPGludGVydmFsPj4gZnVuY3Rpb25zIGZvciBhbGwgdGhlIHNjaGVkdWxpbmcKcG9zc2liaWxpdGllcyBwcm9ncmFtcyAtLSBpZiB5b3UgaGF2ZSBhIHByb2dyYW0gdGhhdCBoYXMgdG8gcnVuIGF0CjZhbSwgOGFtLCAxcG0sIGFuZCA0cG0sIHRoZXJlJ3Mgbm8gZnVuY3Rpb24gZm9yIHRoYXQuICBIb3dldmVyLCB0aGUgYWJvdmUKY3JvbnRhYiBsaW5lcyAob3Igd2l0aCBtaW5vciBjaGFuZ2VzLCBsaWtlIEM8MSw5LDE3PiBpbnN0ZWFkIG9mIEM8NSwxMywyMT4pCmFyZSBqdXN0IGZpbmUgZm9yIGFsbW9zdCBldmVyeSBSU1MgZmVlZCBJJ3ZlIHJ1bi4KCkFuIGFzaWRlOiBJIHJlY29tbWVuZCBydW5uaW5nIHRoZSBwcm9ncmFtcyBhdCBhYm91dCA1MiBtaW51dGVzIHBhc3QgdGhlIGhvdXIsCmdlbmVyYWxseSBpbiBzZXJpZXMsIGxpa2Ugc286CgogICAgICAgNTIgNSwxMywyMSAqICogKiAgIH4vdGhpbmd5IDsgfi9kb2RhZCA7IH4vbWFrZXRoaW5nIDsgfi9naXptbwoKSG93ZXZlciwgeW91ciBtaWxlYWdlIG1heSB2YXJ5LgoKSW5jaWRlbnRhbGx5LCB0aGVzZSBmdW5jdGlvbnMgdGFrZSBubyBhcmd1bWVudHMsIHNvIHRoZSBwYXJlbnRoZXNlcyBhcmUKb3B0aW9uYWwuICBUaGF0IGlzLCB0aGVzZSB0d28gbGluZXMgZG8gdGhlIHNhbWUgdGhpbmc6CgogICAgICAgcnNzX2hvdXJseTsKICAgICAgIHJzc19ob3VybHkoKTsKCj1jdXQKCiMjIFNvbWUgaGFuZHkgaWYgc29tZXdoYXQgYXJiaXRyYXJ5IHNob3J0Y3V0czoKIwpzdWIgaG91cmx5IHsKICBteSAkc2VsZiA9ICRfWzBdOwogICRzZWxmLT51cGRhdGVQZXJpb2QoJ2hvdXJseScpOwogICRzZWxmLT50dGwoJzYwJyk7CiAgcmV0dXJuOwp9CgpzdWIgZGFpbHkgewogIG15ICRzZWxmID0gJF9bMF07CiAgJHNlbGYtPnVwZGF0ZUhvdXJzKCk7CiAgJHNlbGYtPnVwZGF0ZVBlcmlvZCgnZGFpbHknKTsKICAkc2VsZi0+dHRsKCAyNCAqIDYwICk7CiAgcmV0dXJuOwp9CgpzdWIgdHdpY2VfZGFpbHkgIHsKICBteSAkc2VsZiA9ICRfWzBdOwogIG15ICRoID0gKGdtdGltZSggJHNlbGYtPl9ub3dfcm91bmRlZF91cCApKVsyXTsKICAkc2VsZi0+dXBkYXRlSG91cnMoICRoLCAgKCRoKzEyKSAlIDI0ICk7CiAgJHNlbGYtPnVwZGF0ZVBlcmlvZCgnZGFpbHknLDIpOwogICRzZWxmLT50dGwoIDEyICogNjAgKTsKICByZXR1cm47Cn0KCnN1YiB0aHJpY2VfZGFpbHkgIHsKICBteSAkc2VsZiA9ICRfWzBdOwogIG15ICRoID0gKGdtdGltZSggJHNlbGYtPl9ub3dfcm91bmRlZF91cCApKVsyXTsKICAkc2VsZi0+dXBkYXRlSG91cnMoICRoLCAgKCRoKyA4KSAlIDI0LCAgKCRoKzE2KSAlIDI0ICk7CiAgJHNlbGYtPnVwZGF0ZVBlcmlvZCgnZGFpbHknLDMpOwogICRzZWxmLT50dGwoIDggKiA2MCApOwogIHJldHVybjsKfQoKc3ViIHdlZWtseSB7CiAgbXkgJHNlbGYgPSAkX1swXTsKICAkc2VsZi0+dXBkYXRlSG91cnMoKTsKICAkc2VsZi0+dXBkYXRlRGF5cygpOwogICRzZWxmLT51cGRhdGVQZXJpb2QoJ3dlZWtseScsMSk7CiAgJHNlbGYtPnR0bCggNyAqIDI0ICogNjAgKTsKICByZXR1cm47Cn0KCnsKbXkoQG9kZHMsIEBldmVucyk7CmZvcigwIC4uIDIzKSB7IHB1c2ggQHsgICgkXyAmIDEpID8gXEBvZGRzIDogXEBldmVucyAgfSwgJF8gfQoKc3ViIGV2ZXJ5X290aGVyX2hvdXIgewogIG15ICRzZWxmID0gJF9bMF07CiAgbXkgJGggPSAoZ210aW1lKCAkc2VsZi0+X25vd19yb3VuZGVkX3VwICkpWzJdOwogICRzZWxmLT5za2lwSG91cnMoICgkaCAmIDEpID8gQGV2ZW5zIDogQG9kZHMpOyAKICAkc2VsZi0+dXBkYXRlUGVyaW9kKCdkYWlseScsMTIpOwogICRzZWxmLT50dGwoICcxMjAnICk7CiAgcmV0dXJuOwp9Cn0KIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpteSBAZGF5X25hbWVzID0gKAogIlN1bmRheSIsICJNb25kYXkiLCAiVHVlc2RheSIsICJXZWRuZXNkYXkiLCAiVGh1cnNkYXkiLCAiRnJpZGF5IiwgIlNhdHVyZGF5IiwgCik7Cm15ICVpc19kYXlfbmFtZTsKQGlzX2RheV9uYW1le0BkYXlfbmFtZXN9ID0gQGRheV9uYW1lczsKCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKc3ViIF9ub3dfcm91bmRlZF91cCB7CiAgbXkgJHNlbGYgPSAkX1swXTsKICBteSAkbm93ID0gJF9bMF17J19mb3JjZV9ub3cnfSAgICMgdG8gYmUgdXNlZCBvbmx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzCiAgICB8fCB0aW1lKCk7CiAgaWYoICRDSFVOS19NSU5VVEVTICkgewogICAgbXkgJHR3ZWFrID0gKCRDSFVOS19NSU5VVEVTICogNjApIC0gKCRub3cgJSAoJENIVU5LX01JTlVURVMgKiA2MCkpOwogICAgREVCVUcgYW5kIHByaW50ICJUd2Vha2luZyAkbm93ICgiLCBzY2FsYXIoZ210aW1lKCRub3cpKSwKICAgICAgIiBHTVQpIGJ5ICR0d2VhayBzZWNvbmRzXG4gc28gaXQnbGwgYmUgYW4gZXZlbiAkQ0hVTktfTUlOVVRFUyBtaW51dGVzOiAiOwogICAgJG5vdyArPSAkdHdlYWs7CiAgICBERUJVRyBhbmQgcHJpbnQgIiRub3cgKCIsIHNjYWxhcihnbXRpbWUoJG5vdykpLCAiIEdNVClcbiI7CiAgfSBlbHNlIHsKICAgICMgcHJvYmFibHkgbm90IGEgZ29vZCBpZGVhCiAgICBERUJVRyBhbmQgcHJpbnQgIkFyY2hvcmluZyB0aW1lYmFzZSB0byByaWdodCB0aGlzIG1vbWVudC5cbiI7CiAgfQogIHJldHVybiAkbm93Owp9CgpzdWIgX25vdyB7IHJldHVybiAkX1swXXsnX2ZvcmNlX25vdyd9IHx8IHRpbWUoKSB9CgojLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCj1iYWNrCgo9aGVhZDIgTUlOT1IgRlVOQ1RJT05TCgpUaGVzZSBhcmUgZnVuY3Rpb25zIHRoYXQgeW91IHByb2JhYmx5IHdvbid0IG5lZWQgb2Z0ZW4sIG9yIGF0IGFsbC4gIEkgaW5jbHVkZQp0aGVzZSBmb3IgdGhlIHNha2Ugb2YgY29tcGxldGVuZXNzLCBhbmQgc28gdGhhdCBhZHZhbmNlZCB1c2VycyBtaWdodCBmaW5kIHRoZW0KdXNlZnVsIGluIHNvbWUgY2FzZXMuCgo9b3ZlcgoKPWl0ZW0gQzxyc3Nfc2tpcEhvdXJzKCBJPGdtdF9ob3VyX251bSwgZ210X2hvdXJfbnVtLCAuLi4+ICk7PgoKVGhpcyBmdW5jdGlvbiBkaXJlY3RseSBzZXRzIHRoZSBDPHNraXBIb3Vycz4gZWxlbWVudCdzIHZhbHVlcyB0byB0aGUKc3BlY2lmaWVkIEdNVCBob3VyIG51bWJlcnMuCgo9Y3V0CgpzdWIgc2tpcEhvdXJzIHsKICBteSgkc2VsZiwgQGluKSA9IEBfOwogIG15IEBza2lwaG91cnM7CiAgZm9yZWFjaCBteSAkaG91ciAoQGluKSB7CiAgICBuZXh0IHVubGVzcyBkZWZpbmVkICRob3VyOwogICAgQ2FycDo6Y3JvYWsgIlwiJGhvdXJcIiBpc24ndCBhIHZhbGlkIGhvdXIgbnVtYmVyIChtdXN0IGJlIDAtMjMpIgogICAgIHVubGVzcyAkaG91ciA8PSAyNCBhbmQgJGhvdXIgPj0gMDsKICAgIHB1c2ggQHNraXBob3VycywgKCRob3VyID09IDI0KSA/IDAgOiAoMCArICRob3VyKTsKICAgICAjIHRvbGVyYXRlICIyNCIgdG8gbWVhbiAwaC4KICB9CiAgREVCVUcgYW5kIHByaW50ICJTa2lwZGF5czogQHNraXBob3Vyc1xuIjsKICAkc2VsZi0+eydza2lwSG91cnMnfSA9IGpvaW4gJycsCiAgICAiPHNraXBIb3Vycz4iLCBtYXAoICI8aG91cj4kXzwvaG91cj4iLCBAc2tpcGhvdXJzKSwgIjwvc2tpcEhvdXJzPlxuIgogIDsKICByZXR1cm47Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKPWl0ZW0gQzxyc3NfdXBkYXRlSG91cnMoKTs+Cgo9aXRlbSBDPHJzc191cGRhdGVIb3VycyggSTxnbXRfaG91cl9udW0sIGdtdF9ob3VyX251bSwgLi4uPiApOz4KClRoaXMgZnVuY3Rpb24gaXMgYSB3cmFwcGVyIGFyb3VuZCBDPHJzc19za2lwSG91cnM+IC0tIHlvdSBjYWxsCkM8cnNzX3VwZGF0ZUhvdXJzPiB3aXRoIGEgbGlzdCBvZiBHTVQgaG91ciBudW1iZXJzLCBhbmQgCkM8cnNzX3VwZGF0ZUhvdXJzPiB3aWxsIGNhbGwgQzxyc3Nfc2tpcEhvdXJzKDAgLi4gMjMpPiBleGNlcHQgSTx3aXRob3V0Pgp3aGF0ZXZlciBob3VyIG51bWJlcnMgeW91IHNwZWNpZmllZC4KCklmIHlvdSBjYWxsIHdpdGggYW4gZW1wdHkgbGlzdCAoaS5lLiwgQzxyc3NfdXBkYXRlSG91cnMoKTs+KSwgdGhlbgp3ZSB1c2VzIEM8Z210aW1lPiB0byBmaW5kIG91dCB0aGUgY3VycmVudCBob3VyIChhbmQgcm91bmRzIGl0IHVwCmlmIGl0J3MgYWZ0ZXIgNTAgbWludXRlcyBwYXN0KSwgYmFzaWNhbGx5IGp1c3QgYXMgaWYgeW91J2QgY2FsbGVkOgoKICAgICAgcnNzX3VwZGF0ZUhvdXJzKCAoZ210aW1lKDYwMCt0aW1lKCkpKVsyXSApOwoKPWN1dAoKc3ViIHVwZGF0ZUhvdXJzIHsgIyBKdXN0IHRoZSBjb21wbGVtZW50IG9mIHNraXBIb3Vycy4KICAjIEZlZWRpbmcgaXQgKCkgbWVhbnMgdXBkYXRlcyBvbmx5IGF0IHRoaXMgaG91ciBvZiBkYXkKICAjIChUaGlzIGlzIGZpbmUgc2luY2UgeW91J2QgbmV2ZXIgbWVhbiB0byBhY3R1YWxseSBkZWNsYXJlCiAgIyBhIGZlZWQgd2hvc2UgdXBkYXRlSG91cnMgaXMgbmV2ZXIsIGkuZS4gd2hvc2Ugc2tpcEhvdXJzCiAgIyBpcyBhbGwgb2YgMC0yMykKICBteSAkc2VsZiA9IHNoaWZ0OwogIG15ICVob3VyczsKICBAaG91cnN7ICBAXyAgPyAgKG1hcCAkXyswLCBAXykgIDoKICAgICggZ210aW1lKCAkc2VsZi0+X25vd19yb3VuZGVkX3VwICkgKVsyXSAgfSA9ICgpOwogICMgbWlnaHQgYXMgd2VsbCBjb3VudCAxMDo1NyBhcyAxMWgsIGV0YwogIERFQlVHIGFuZCBwcmludCAiSE9VUlMgVVBEQVRFWSA6Iiwgam9pbignICcsIHNvcnQga2V5cyAlaG91cnMpLCAiXG4iOwogICRzZWxmLT5za2lwSG91cnMoIGdyZXAgIWV4aXN0cygkaG91cnN7JF99KSwgMCAuLiAyMyApOwogIHJldHVybjsKfQoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgo9aXRlbSBDPHJzc19za2lwRGF5cygpOz4KCj1pdGVtIEM8cnNzX3NraXBEYXlzKCBJPGdtdF9kYXlfbnVtLCBnbXRfZGF5X251bSwgLi4uPiApOz4KCj1pdGVtIEM8cnNzX3NraXBEYXlzKCBJPGdtdF9kYXlfbmFtZSwgZ210X2RheV9uYW1lLCAuLi4+ICk7PgoKVGhpcyBmdW5jdGlvbiBkaXJlY3RseSBzZXRzIHRoZSBDPHNraXBEYXlzPiBlbGVtZW50J3MgdmFsdWVzIHRvIHRoZQpzcGVjaWZpZWQgd2Vla2RheXMuICBOb3RlIHRoYXQgdGhpcyBhY2NlcHRzIGVpdGhlciBpbnRlZ2VycyAobGlrZQo2IGZvciBTYXR1cmRheSwgU3VuZGF5IGJlaW5nIGVpdGhlciAwIG9yIDcpLCBvciB0aGVpciBleGFjdApFbmdsaXNoIG5hbWVzLgoKSWYgeW91IHVzZSB0aGUgQzxza2lwRGF5cz4gZmllbGQsIGNvbnNpZGVyIHRoYXQgaXQgcmVmZXJzIHRvIGRheXMKZmlndXJlZCBieSBHTVQsIG5vdCBsb2NhbCB0aW1lLiAgRm9yIGV4YW1wbGUsIGlmIEkgc2F5IHRvIHNraXAgU2F0dXJkYXlzLAp0aGF0IG1lYW5zIFNhdHVyZGF5cyBHTVQsIHdoaWNoIGluIG15IHRpbWV6b25lIChBbGFza2EpIHN0YXJ0cwppbiB0aGUgbWlkZGxlIG9mIEZyaWRheSBhZnRlcm5vb24uCgo9Y3V0CgpzdWIgc2tpcERheXMgewogIG15KCRzZWxmLEBpbikgPSBAXzsKICBteSBAc2tpcGRheXM7CiAgZm9yZWFjaCBteSAkZGF5IChAaW4pIHsKICAgIG5leHQgdW5sZXNzIGRlZmluZWQgJGRheTsKICAgIGlmKCRkYXkgPX4gbS9eWzAtN10kL3MpIHsgIyB0b2xlcmF0ZSBudW1lcmljIGRheSBzcGVjcwogICAgICAkZGF5ID0gMCBpZiAkZGF5ID09IDc7CiAgICAgICRkYXkgPSAkZGF5X25hbWVzWyRkYXldCiAgICAgICB8fCBDYXJwOjpjcm9hayAiRGF5IG51bWJlciBcIiRkYXlcIiBpcyBvdXQgb2YgcmFuZ2UgKDAtNikiOwogICAgfSBlbHNlIHsKICAgICAgQ2FycDo6Y3JvYWsgIlwiJGRheVwiIGlzbid0IGEgdmFsaWQgZGF5IG5hbWUgKHVzZSAwLTYgb3Igb25lIG9mOiBAZGF5X25hbWVzKSIKICAgICAgIHVubGVzcyAkaXNfZGF5X25hbWV7JGRheX07CiAgICB9CiAgICBwdXNoIEBza2lwZGF5cywgJGRheTsKICB9OwogIAogIERFQlVHIGFuZCBwcmludCAiU2tpcGRheXM6IEBza2lwZGF5c1xuIjsKICAkc2VsZi0+eydza2lwRGF5cyd9ID0gam9pbiAnJywKICAgICI8c2tpcERheXM+IiwgbWFwKCAiPGRheT4kXzwvZGF5PiIsIEBza2lwZGF5cyksICI8L3NraXBEYXlzPlxuIgogIDsKICByZXR1cm47Cn0KCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKPWl0ZW0gQzxyc3NfdXBkYXRlRGF5cygpOz4KCj1pdGVtIEM8cnNzX3VwZGF0ZURheXMoIEk8Z210X2RheV9udW0sIGdtdF9kYXlfbnVtLCAuLi4+ICk7PgoKPWl0ZW0gQzxyc3NfdXBkYXRlRGF5cyggSTxnbXRfZGF5X25hbWUsIGdtdF9kYXlfbmFtZSwgLi4uPiApOz4KClRoaXMgZnVuY3Rpb24gaXMgYSB3cmFwcGVyIGFyb3VuZCBDPHJzc19za2lwRGF5cz4gLS0geW91IGNhbGwKQzxyc3NfdXBkYXRlRGF5cz4gd2l0aCBhIGxpc3Qgb2YgR01UIGRheSBuYW1lcy9udW1iZXJzLCBhbmQgCkM8cnNzX3VwZGF0ZURheXM+IHdpbGwgY2FsbCBDPHJzc19za2lwRGF5cygwIC4uIDYpPiBleGNlcHQgSTx3aXRob3V0Pgp3aGF0ZXZlciBkYXlzIHlvdSBzcGVjaWZpZWQuCgpJZiB5b3UgY2FsbCB3aXRoIGFuIGVtcHR5IGxpc3QgKGkuZS4sIEM8cnNzX3VwZGF0ZURheXMoKTs+KSwgdGhlbgp3ZSB1c2VzIEM8Z210aW1lPiB0byBmaW5kIG91dCB0aGUgY3VycmVudCBkYXkgKEdNVCEpLCBiYXNpY2FsbHkKanVzdCBhcyBpZiB5b3UnZCBjYWxsZWQ6CgogICAgICByc3NfdXBkYXRlRGF5cyggKGdtdGltZSg2MDArdGltZSgpKSlbNl0gKTsKCgo9Y3V0CgpzdWIgdXBkYXRlRGF5cyB7ICMganVzdCB0aGUgY29tcGxlbWVudCBvZiBza2lwRGF5cwogICMgRmVlZGluZyBpdCAoKSBtZWFucyB1cGRhdGVzIG9ubHkgYXQgdGhpcyBkYXkgb2YgdGhlIHdlZWsKICAjIChUaGlzIGlzIGZpbmUgc2luY2UgeW91J2QgbmV2ZXIgbWVhbiB0byBhY3R1YWxseSBkZWNsYXJlCiAgIyBhIGZlZWQgd2hvc2UgdXBkYXRlRGF5cyBpcyBuZXZlciwgaS5lLiwgd2hvc2UgdXBkYXRlRGF5cwogICMgaXMgYWxsIG9mIE1vbmRheSB0aHJ1IFN1bmRheSkKICBteSAkc2VsZiA9IHNoaWZ0OwogIG15ICVkYXlzOwogIEBkYXlzewogICAgbWFwIHs7CiAgICAgIG0vXlswLTddJC8gPyAkZGF5X25hbWVzWyAoJF8gPT0gNykgPyAwIDogJF8gXQogICAgICA6ICRpc19kYXlfbmFtZXskX30gPyAkXwogICAgICA6IENhcnA6OmNyb2FrICJcIiRfXCIgaXNuJ3QgYSB2YWxpZCBkYXkgbmFtZSAodXNlIDAtNiBvciBvbmUgb2Y6IEBkYXlfbmFtZXMpIgogICAgfQogICAgQF8gPyBAXyA6ICggZ210aW1lKCAkc2VsZi0+X25vd19yb3VuZGVkX3VwICkgKVs2XQogIH0gPSAoKTsKICBERUJVRyBhbmQgcHJpbnQgIkRBWVMgVVBEQVRFWSA6Iiwgam9pbignICcsIHNvcnQga2V5cyAlZGF5cyksICJcbiI7CiAgJHNlbGYtPnNraXBEYXlzKCBncmVwICFleGlzdHMoJGRheXN7JF99KSwgQGRheV9uYW1lcyApOwogIHJldHVybjsKfQoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKPWl0ZW0gQzxyc3NfdXBkYXRlUGVyaW9kKCBJPHBlcmlvZHN0cmluZz4gKTs+CgpUaGlzIGZ1bmN0aW9uIGRpcmVjdGx5IHNldHMgdGhlIEM8c3k6dXBkYXRlUGVyaW9kPiBlbGVtZW50J3MgdmFsdWUgdG8gdGhlCnBlcmlvZCBzcGVjaWZpZWQuICBZb3UgbXVzdCBzcGVjaWZ5IG9uZSBvZiB0aGUgc3RyaW5nczoKInllYXJseSIsICJtb250aGx5IiwgIndlZWtseSIsICJkYWlseSIsICJob3VybHkiLgpJIGFkdmlzZSB1c2luZyAid2Vla2x5IiBvbmx5IGlmIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLCBhbmQKInllYXJseSIsICJtb250aGx5IiBvbmx5IGlmIHlvdSBJPHJlYWxseT4ga25vdyB3aGF0IHlvdSdyZSBkb2luZy4KCj1pdGVtIEM8cnNzX3VwZGF0ZVBlcmlvZCggSTxwZXJpb2RzdHJpbmc+LCBJPGludD4sIEk8YmFzZT4gKTs+CgpUaGlzIGlzIGEgc2hvcnRjdXQgZm9yCkM8PApyc3NfdXBkYXRlUGVyaW9kKEk8cGVyaW9kc3RyaW5nPik7IHJzc191cGRhdGVGcmVxdWVuY3koSTxpbnQ+KQo+PgoKPWl0ZW0gQzxyc3NfdXBkYXRlUGVyaW9kKCBJPHBlcmlvZHN0cmluZz4sIEk8aW50PiwgSTxiYXNlPiApOz4KClRoaXMgaXMgYSBzaG9ydGN1dCBmb3IKQzw8CnJzc191cGRhdGVQZXJpb2QoSTxwZXJpb2RzdHJpbmc+KTsgcnNzX3VwZGF0ZUZyZXF1ZW5jeShJPGludD4pOwpyc3NfdXBkYXRlQmFzZShJPGJhc2U+KQo+PgoKPWN1dAoKc3ViIHVwZGF0ZVBlcmlvZCB7CiAgcmV0dXJuICRfWzBdLT57J3VwZGF0ZVBlcmlvZCd9IGlmIEBfID09IDE7CiAgIyBFbHNlIHdlJ3JlIGEgd3JpdGUgYWNjZXNzb3I6CiAgCiAgbXkoJHNlbGYsICRwZXJpb2QpID0gQF87CiAgJHBlcmlvZCBvciBDYXJwOjpjb25mZXNzKAogICAiV2hhdCBwZXJpb2Q/IHllYXJseS9tb250aGx5L3dlZWtseS9kYWlseS9ob3VybHk/Iik7CgogIGlmKCRwZXJpb2QgPX4gbS9eKHllYXJseXxtb250aGx5fHdlZWtseXxkYWlseXxob3VybHkpJC9zKSB7CiAgICAkc2VsZi0+eyd1cGRhdGVQZXJpb2QnfSA9ICRwZXJpb2Q7CiAgICAkc2VsZi0+dXBkYXRlRnJlcXVlbmN5KCRfWzJdKSBpZiBAXyA+IDI7CQogICAgJHNlbGYtPnVwZGF0ZUJhc2UoJF9bM10pIGlmIEBfID4gMzsKICAgICRzZWxmLT57J19uYW1lc3BhY2VzJ317J3N5J30gPSAkTkFNRVNQQUNFX1NZOwogICAgcmV0dXJuICRwZXJpb2Q7CiAgfSBlbHNlIHsKICAgIENhcnA6OmNvbmZlc3MoCiAgICAgIldoYXQga2luZCBvZiBwZXJpb2QgaXMgXCIkcGVyaW9kXCI/ICBVc2Ugb25lIG9mOiB5ZWFybHl8bW9udGhseXx3ZWVrbHl8ZGFpbHl8aG91cmx5Iik7CiAgfQp9CgojIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0KCj1pdGVtIEM8cnNzX3VwZGF0ZUJhc2UoIEk8aXNvX2RhdGVfc3RyaW5nPiApOz4KCj1pdGVtIEM8cnNzX3VwZGF0ZUJhc2UoIEk8ZXBvY2hfdGltZT4gKTs+CgpUaGlzIGZ1bmN0aW9uIGRpcmVjdGx5IHNldHMgdGhlIEM8c3k6dXBkYXRlQmFzZT4gZWxlbWVudCdzIHZhbHVlIHRvIHRoZQptb21lbnQgc3BlY2lmaWVkLiAgSWYgeW91IHBhc3MgaW4gYW4gZXBvY2ggdGltZSwgaXQgaXMgY29udmVydGVkIHRvCmFuIElTTyBkYXRlIHN0cmluZy4KCj1jdXQKCnN1YiB1cGRhdGVCYXNlIHsKICByZXR1cm4gJF9bMF0tPnsndXBkYXRlQmFzZSd9IGlmIEBfID09IDE7CiAgIyBFbHNlIHdlJ3JlIGEgd3JpdGUgYWNjZXNzb3I6CiAgCiAgbXkoJHNlbGYsICR0aGVuKSA9IEBfOwogIGlmKCAkdGhlbiA9fiBtL14tP1xkKyQvcyApIHsKICAgICRzZWxmLT57J3VwZGF0ZUJhc2UnfSA9ICRzZWxmLT5fZXBvY2gyaXNvZGF0ZSgkdGhlbik7CiAgfSBlbHNpZiAoICR0aGVuID1+ICAjIGJhc2ljYWxseSBJU084NjAxCiAgICAgIG08XgogICAgICAgIFxkXGRcZFxkCQkjIHllYXIKICAgICAgICAoPzoKICAgICAgICAgIC1cZFxkCQkJIyBtb250aAogICAgICAgICAgKD86CiAgICAgICAgICAgIC1cZFxkICAjIGRheQogICAgICAgICAgICAoPzoKICAgICAgICAgICAgICBUXGRcZDpcZFxkCSMgaGg6bW0KICAgICAgICAgICAgICAoPzoKICAgICAgICAgICAgICAgIDpcZFxkCQkjIHNlY29uZHMKICAgICAgICAgICAgICAgICg/OgogICAgICAgICAgICAgICAgICBcLlxkKwkJIyBmcmFjdGlvbnMgb2YgYSBzZWNvbmQKICAgICAgICAgICAgICAgICk/CiAgICAgICAgICAgICAgKT8KICAgICAgICAgICAgICAoPzoJCSMgVFogb2Zmc2V0CiAgICAgICAgICAgICAgICBaCQkjIFp1bHUKICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICAgKD86CQkjIG9yIGJ5IG9mZnNldDoKICAgICAgICAgICAgICAgICAgWy0rXQogICAgICAgICAgICAgICAgICBcZFxkOlxkXGQgICAgICMgaGg6bW0sIHdpdGggbGVhZGluZyAnKycgb3IgJy0nCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgKT8KICAgICAgICAgICAgKT8KICAgICAgICAgICk/CiAgICAgICAgICAKICAgICAgICApPwogICAgICAgICAjIFRoZSBtb250aCB3YXMgb3B0aW9uYWwsIGJ1dCB0aGF0CiAgICAgICAgICMgIG1ha2VzICIxOTk0IiBhbWJpZ3VvdXMgLS0gYSB5ZWFyIG9yIGFuIGVwb2NoIHRpbWU/CiAgICAgICAgICMgSSBkb3VidCBhbnlvbmUgd2FudHMgdG8gd3JpdGUgPHVwZGF0ZUJhc2U+MjAwMDwvdXBkYXRlQmFzZT4sCiAgICAgICAgICMgIGVzcCBhcyB0aGUgZGVmYXVsdCBpcyBiYXNpY2FsbHkgPT0gPHVwZGF0ZUJhc2U+MTk3MDwvdXBkYXRlQmFzZT4uCiAgICAgICAgJAogICAgICA+c3gKICApIHsKICAgICRzZWxmLT57J3VwZGF0ZUJhc2UnfSA9ICR0aGVuOwogIH0gZWxzZSB7CiAgICBDYXJwOjpjb25mZXNzKCJXaGF0IGtpbmQgb2YgdXBkYXRlQmFzZSBpcyBcIiR0aGVuXCI/Iik7CiAgfQogIHJldHVybiAkc2VsZi0+eyd1cGRhdGVCYXNlJ307Cn0KCiMgLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLQpzdWIgX2Vwb2NoMmlzb2RhdGUgewogIG15KCRzZWxmLCAkdGltZSkgPSBAXzsKICBteShAdGltZWxpc3QpID0gZ210aW1lKCR0aW1lKTsKICArKyR0aW1lbGlzdFs0XTsKICAkdGltZWxpc3RbNV0gKz0gMTkwMDsKICByZXR1cm4gc3ByaW50ZigiJTA0ZC0lMDJkLSUwMmRUJTAyZDolMDJkKzAwOjAwIiwKICAgICAgIEB0aW1lbGlzdFsgNSwgICA0LCAgIDMgICwgMiAgICwxICBdKTsKICAgICAgIAp9CgojIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0KJVBlcmlvZEFzU2Vjb25kcyA9ICgKICAnaG91cmx5JyA9PiA2MCAqIDYwLAogICdkYWlseScgID0+IDYwICogNjAgKiAyNCwKICAnd2Vla2x5JyA9PiA2MCAqIDYwICogMjQgKiA3LAopOwoKc3ViIF91cGRhdGVCYXNlX2luaXQgewogICMgV2hhdCB0byBkbz8gIFBlZyBpdCBvbiBub3cgcGx1cyBJbnRlcnZhbCwgcm91bmRlZCB1cCB0byBuZXh0IE0tbWludXRlIGludGVydmFsPwogIG15ICRzZWxmID0gJF9bMF07CiAgbXkgJG5vdyA9ICRzZWxmLT5fbm93X3JvdW5kZWRfdXA7CiAgCiAgbXkgJHBlcmlvZF90eXBlID0gJHNlbGYtPnVwZGF0ZVBlcmlvZDsKICBpZiggJHBlcmlvZF90eXBlIGVxICdtb250aGx5JyBvciAkcGVyaW9kX3R5cGUgZXEgJ3llYXJseScpIHsKICAgICRub3cgPSAkc2VsZi0+X2Vwb2NoMmlzb2RhdGUoICRub3cgKTsKICAgIGlmKCRwZXJpb2RfdHlwZSBlcSAneWVhcmx5JykgewogICAgICAkbm93ID1+ICAgICAgIHMvXi4uLi4tLzIwMDAtL3MgfHwgZGllICJTUE9SSzkzOTMxISI7ICMgc2FuaXR5CiAgICB9IGVsc2lmKCRwZXJpb2RfdHlwZSBlcSAnbW9udGhseScpIHsKICAgICAgJG5vdyA9fiBzL14uLi4uLS4uLS8yMDAwLTAxLS9zIHx8IGRpZSAiU1BPUkszNTI4NiEiOyAjIHNhbml0eQogICAgfSBlbHNlIHsKICAgICAgZGllICJTUE9SSyEhISEhOTQ4MjkwNDUiOyAjc2FuaXR5CiAgICB9CiAgICBERUJVRyA+IDFhbmQgcHJpbnQgIlVzaW5nICRub3cgYXMgdXBkYXRlQmFzZS5cbiI7CiAgfSBlbHNlIHsKICAgICMgSXQncyBhIHBsYWluIG9sJyBpbnRlcnZhbC4KICAgIERFQlVHID4gMSBhbmQgcHJpbnQgIlNsYXBwaW5nICRub3cgKCIsIGdtdGltZSgkbm93KS4gIiBpbnRvIDE5NzAuXG4iOwogICAgbXkgJGZyZXEgPSAkc2VsZi0+dXBkYXRlRnJlcXVlbmN5KCk7CiAgICBteSAkaW50ZXJ2YWxfYXNfc2Vjb25kcyA9IGludCgKICAgICAgKCRQZXJpb2RBc1NlY29uZHN7JHBlcmlvZF90eXBlfSB8fGRpZSAiU1BPUks4NDI1OCBvbiAnJHBlcmlvZF90eXBlJyEiKQogICAgICAvICRmcmVxKQogICAgOwogICAgREVCVUcgPiAxIGFuZCBwcmludAogICAgICJTbywgJGZyZXEgdGltZXMgJHBlcmlvZF90eXBlIGlzICRpbnRlcnZhbF9hc19zZWNvbmRzIHNlY29uZHMuLi5cbiI7CiAgICAkbm93ICU9ICRpbnRlcnZhbF9hc19zZWNvbmRzOwogICAgREVCVUcgPiAxIGFuZCBwcmludCAiVXNpbmcgJG5vdyAoIiwgZ210aW1lKCRub3cpLiAiIGFzIHVwZGF0ZUJhc2UuXG4iOwogIH0KICAkc2VsZi0+dXBkYXRlQmFzZSgkbm93KTsKICByZXR1cm47Cn0KCiMgLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLQoKPWl0ZW0gdGhlIGFjY2Vzc29yIEM8cnNzX3VwZGF0ZUZyZXF1ZW5jeSggSTxpbnRlZ2VyPiApOz4KClRoaXMgZnVuY3Rpb24gZGlyZWN0bHkgc2V0cyB0aGUgQzxzeTp1cGRhdGVGcmVxdWVuY3k+IGVsZW1lbnQncyB2YWx1ZSB0byB0aGUKdmFsdWUgc3BlY2lmaWVkLiAgVGhlIHZhbHVlIGhhcyB0byBiZSBhIG5vbnplcm8gcG9zaXRpdmUgaW50ZWdlci4KCkZvciBleGFtcGxlLCB0aGlzIG1lYW5zIHRoYXQgdGhpcyBmZWVkIHVwZGF0ZXMgYXQvYnkgdGhlIHN0YXJ0IG9mIGV2ZXJ5IGhvdXIKYW5kIDMwIG1pbnV0ZXMgcGFzdDoKCiAgcnNzX3VwZGF0ZUJhc2UoJzIwMDAtMDEtMDFUMDA6MDAtMDA6MDAnKTsKICByc3NfdXBkYXRlRnJlcXVlbmN5KDIpOwogIHJzc191cGRhdGVQZXJpb2QoJ2hvdXJseScpOyAgIyAyKmhvdXJseSBtZWFucyAidHdpY2UgYW4gaG91ciIKClJlY2FsbCB0aGF0IHRoaXMgY2FuIGFsc28gYmUgZG9uZSB3aXRoIHRoZQp0aGUgQzxyc3NfdXBkYXRlUGVyaW9kKCBJPHBlcj4sIEk8ZnJlcT4sIEk8YmFzZT4gKT4gc2hvcnRjdXQsIGxpa2Ugc286CgogIHJzc191cGRhdGVCYXNlKCdob3VybHknLCAyLCAnMjAwMC0wMS0wMVQwMDowMC0wMDowMCcpOwoKPWN1dAoKc3ViIHVwZGF0ZUZyZXF1ZW5jeSB7ICMgc2ltcGxlIGFjY2Vzc29yLCBwbHVzIHRoZSBpbnQoKSB0aGluZwogIGlmKEBfID4gMSkgewogICAgJF9bMF0tPnsndXBkYXRlRnJlcXVlbmN5J30gPSBpbnQoJF9bMV0pIHx8IDE7CiAgfSBlbHNlIHsKICAgICRfWzBdLT57J3VwZGF0ZUZyZXF1ZW5jeSd9CiAgfQp9CgpzdWIgX3VwZGF0ZUZyZXF1ZW5jeV9pbml0IHsgJF9bMF0tPnsndXBkYXRlRnJlcXVlbmN5J30gfHw9IDEgfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzdWIgX3N5X3VwZGF0ZV9hc194bWwgewogIG15ICRzZWxmID0gJF9bMF07CiAgcmV0dXJuICcnIHVubGVzcyAkc2VsZi0+eyd1cGRhdGVQZXJpb2QnfTsKICAkc2VsZi0+X3VwZGF0ZUZyZXF1ZW5jeV9pbml0KCk7CiAgJHNlbGYtPl91cGRhdGVCYXNlX2luaXQoKTsKICByZXR1cm4gc3ByaW50ZigKCnF7PHN5OnVwZGF0ZUZyZXF1ZW5jeT4lczwvc3k6dXBkYXRlRnJlcXVlbmN5Pgo8c3k6dXBkYXRlUGVyaW9kPiVzPC9zeTp1cGRhdGVQZXJpb2Q+CjxzeTp1cGRhdGVCYXNlPiVzPC9zeTp1cGRhdGVCYXNlPgp9LAogICAgJHNlbGYtPnVwZGF0ZUZyZXF1ZW5jeSwKICAgICRzZWxmLT51cGRhdGVQZXJpb2QsCiAgICAkc2VsZi0+dXBkYXRlQmFzZSwKICApOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgQWxpYXNlczoKc3ViIHNraXBfaG91cnMgICAgICAge3NoaWZ0LT5za2lwSG91cnMoICAgICAgIEBfKX0Kc3ViIHNraXBfZGF5cyAgICAgICAge3NoaWZ0LT5za2lwRGF5cyggICAgICAgIEBfKX0Kc3ViIHVwZGF0ZV9kYXlzICAgICAge3NoaWZ0LT51cGRhdGVEYXlzKCAgICAgIEBfKX0Kc3ViIHVwZGF0ZV9ob3VycyAgICAge3NoaWZ0LT51cGRhdGVIb3VycyggICAgIEBfKX0Kc3ViIHVwZGF0ZV9wZXJpb2QgICAge3NoaWZ0LT51cGRhdGVQZXJpb2QoICAgIEBfKX0Kc3ViIHVwZGF0ZV9iYXNlICAgICAge3NoaWZ0LT51cGRhdGVCYXNlKCAgICAgIEBfKX0Kc3ViIHVwZGF0ZV9mcmVxdWVuY3kge3NoaWZ0LT51cGRhdGVGcmVxdWVuY3koIEBfKX0Kc3ViIHdlYm1hc3RlciAgICAgICAge3NoaWZ0LT53ZWJNYXN0ZXIoICAgICAgIEBfKX0KCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCj1pdGVtIHRoZSBhY2Nlc3NvciBDPHJzc19yZXRlbnRpb24oSTxudW1iZXI+KT4KCklmIHlvdSBhcmUgdXNpbmcgYW4gQzxyc3NfaGlzdG9yeV9maWxlKEk8ZmlsZT4pPiwgdGhlIGhpc3RvcnkgZmlsZSB3aWxsCmFjY3JldGUgYSBsaXN0IG9mIGFsbCBVUkxzIGl0IGhhcyBzZWVuLiAgQnV0IHRvIGtlZXAgdGhpcyBmaWxlIGZyb20gcG90ZW50aWFsbHkKZ2V0dGluZyBpbW1lbnNlLCBpdGVtcyB0aGF0IGhhdmVuJ3QgYmVlbiBzZWVuIGZvciBhIHdoaWxlIGFyZSB0aHJvd24gb3V0LgpUaGUgcGVyaW9kIG9mIHRpbWUgYSBmZWVkJ3MgaXRlbXMgZ28gdW5zZWVuIGJlZm9yZSBlYWNoIGlzIGZvcmdvdHRlbiBpcwpjYWxsZWQgdGhhdCBmZWVkJ3MgQjxyZXRlbnRpb24+LCBhbmQgaXMgZXhwcmVzc2VkIGluIHNlY29uZHMuCgpUaGUgZGVmYXVsdCByZXRlbnRpb24gdmFsdWUgaXMgMzIgZGF5cyAoaS5lLiwgMzIqMjQqNjAqNjAsIHRoZSBudW1iZXIKb2Ygc2Vjb25kcyBpbiAzMiBkYXlzKS4gIElmIHlvdSB3YW50ZWQgdG8gY2hhbmdlIGl0IHRvIGp1c3QgYSB3ZWVrLAp5b3Ugd291bGQgZG8gdGhpcyB3aXRoIEM8cnNzX3JldGVudGlvbig3KjI0KjYwKjYwKT4uCgpBcyBhIHNwZWNpYWwgY2FzZSwgYSB6ZXJvIG9yIG5lZ2F0aXZlIHZhbHVlIGZvciB0aGUgcmV0ZW50aW9uIG1lYW5zCnRvIG5ldmVyIGNsZWFyIGFueXRoaW5nIGZyb20gdGhlIGhpc3RvcnkgZmlsZSwgbm8gbWF0dGVyIGhvdyBsb25nCml0IGhhcyBnb25lIHVuc2Vlbi4KCj1jdXQKCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKPWl0ZW0gQzxyc3NfYWRkX2NvbW1lbnQoIEk8c3RyaW5ncz4gKTs+CgpDYWxsIHRoaXMgZnVuY3Rpb24gaWYgeW91IHdhbnQgdG8gYWRkIGV4dHJhIFhNTCBjb21tZW50cyB0byB0aGlzIFJTUyBmaWxlLgpGb3IgZXhhbXBsZSwgaWYgeW91IGNhbGwgdGhpczoKCiAgICAgICAgcnNzX2FkZF9jb21tZW50KAogICAgICAgICAgIk91ciB0ZXJtcyBvZiB1c2U6IGh0dHA6Ly93aGVyZXZlci5pbnQvcnNzdG91Lmh0bWwiLAogICAgICAgICAgIkFueSBxdWVzdGlvbnM/IEFzayBqaW1teUB3aGVyZXZlci5pbnQiLAogICAgICAgICk7CgouLi50aGVuIHRoaXMgUlNTIGZlZWQgd2lsbCBjb250YWluIHRoaXMgWE1MIGZhaXJseSBlYXJseSBvbiBpbiB0aGUgZmlsZToKCiAgICAgICAgPCEtLSBPdXIgdGVybXMgb2YgdXNlOiBodHRwOi8vd2hlcmV2ZXIuaW50L3Jzc3RvdS5odG1sIC0tPgogICAgICAgIDwhLS0gQW55IHF1ZXN0aW9ucz8gQXNrIGppbW15QHdoZXJldmVyLmludCAtLT4KCj1jdXQKCnN1YiBhZGRfY29tbWVudCB7CiAgbXkgJHNlbGYgPSBzaGlmdDsKICBmb3JlYWNoIG15ICRjIChAXykgewogICAgcHVzaCBAeyAkc2VsZi0+eydfY29tbWVudHMnfSB9LCAkYwogICAgIGlmIGRlZmluZWQgJGMgYW5kIGxlbmd0aCAkYyBhbmQgJGMgPX4gbS9cUy87CiAgICAgICMgbm8gcG9pbnQgaW4gaGF2aW5nIGNvbnRlbnRsZXNzIGNvbW1lbnRzCiAgfQogIHJldHVybjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgo9aXRlbSB0aGUgYWNjZXNzb3IgQzxyc3NfY3NzKCBJPHVybD4gKT4KClRoaXMgZGVmaW5lcyB0aGUgZ2l2ZW4gVVJMIGFzIGJlaW5nIHRoZSBYTUwtQ1NTIHN0eWxlc2hlZXQgZm9yIHRoaXMgUlNTCmZlZWQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAiLi9yc3MuY3NzIiBpZiBDPC1lICJyc3MuY3NzIj4gaXMgdHJ1ZSwgb3RoZXJ3aXNlCmlzIHRoZSB2YWx1ZSBodHRwOi8vd3d3LmludGVyZ2xhY2lhbC5jb20vcnNzL3Jzcy5jc3MKCj1pdGVtIHRoZSBhY2Nlc3NvciBDPHJzc194c2woIEk8dXJsPiApPgoKVGhpcyBkZWZpbmVzIHRoZSBnaXZlbiBVUkwgYXMgYmVpbmcgdGhlIFhNTC1YU0wgc3R5bGVzaGVldCBmb3IgdGhpcyBSU1MKZmVlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIG5vbmUuCgo9aXRlbSBUaGUgYWNjZXNzb3JzCkM8PApyc3NfdXJsKCBJPHN0cmluZz4gKSwgcnNzX3RpdGxlKCBJPHN0cmluZz4gKSwgcnNzX2Rlc2NyaXB0aW9uKCBJPHN0cmluZz4gKQo+PgoKVGhlc2UgZGVmaW5lIHRoaXMgZmVlZCdzIFVSTCwgdGl0bGUsIGFuZCBkZXNjcmlwdGlvbi4gIFRoZXNlIGZ1bmN0aW9ucwphcmUganVzdCBmb3IgY29tcGxldGVuZXNzLCBzaW5jZSBpdCdzIHNpbXBsZXIgdG8ganVzdCBzcGVjaWZ5IGFueS9hbGwgb2YKdGhlc2UgcGFyYW1ldGVycyBpbiB0aGUgY2FsbCB0byBDPHJzc19uZXc+LgoKPWl0ZW0gdGhlIGFjY2Vzc29yIEM8cnNzX3R0bCggSTxudW1iZXI+ICk+CgpUaGlzIHNldHMgdGhlIHBhcmFtZXRlciBvZiB0aGlzIFJTUyBmZWVkJ3MgQzx0dGw+IGVsZW1lbnQsIHdoaWNoCnN1Z2dlc3RzIGhvdyBsb25nIChpbiBtaW51dGVzLCBub3Qgc2Vjb25kcyEpIGFuIFJTUyByZWFkZXIgc2hvdWxkIHdhaXQgYWZ0ZXIgaXQgcG9sbHMKYSBmZWVkIHVudGlsIGl0IHBvbGxzIGl0IGFnYWluLiAgRm9yIGV4YW1wbGUsIEM8cnNzX3R0bCg5MCk+IHdvdWxkIHN1Z2dlc3QKdGhhdCBhIHJlYWRlciBzaG91bGQgbm90IHBvbGwgdGhpcyBmZWVkIG1vcmUgb2Z0ZW4gdGhhbiBldmVyeSA5MCBtaW51dGVzLgoKKFRoaXMgZWxlbWVudCBpcyBzb21ld2hhdCBvYnNvbGVzY2VudCBuZXh0IHRvIHRoZSBuZXdlciBhbmQgbW9yZQppbmZvcm1hdGl2ZSBDPHN5OnVwZGF0ZSo+IGVsZW1lbnRzLCBidXQgaXMgaW5jbHVkZWQgZm9yIGJhY2t3YXJkCmNvbXBhdGFiaWxpdHkuKQoKPWl0ZW0gdGhlIGFjY2Vzc29yIEM8cnNzX2FsbG93X2R1cGxpY2F0ZXMoIEk8Ym9vbGVhbj4gKT4KClRoaXMgY29udHJvbHMgd2hldGhlciBvciBub3QgZHVwbGljYXRlIGl0ZW1zIGFyZSBmaWx0ZXJlZCBvdXQgb3V0IHRoZQpmZWVkLiAgQnkgZGVmYXVsdCB0aGlzIGlzIEk8b24+LiAgTm90ZSB0aGF0IGR1cGxpY2F0ZXMgYXJlIGRldGVjdGVkIG9ubHkKYnkgdGhlaXIgVVJMLCBzbyBpZiB5b3UgY2FsbCB0aGlzOgoKICAgICAgICByc3NfaXRlbSgnaHR0cDovL2Zvby5pbnQvZG9uYXRlJywgIkdpdmUhIik7CiAgICAgICAgcnNzX2l0ZW0oJ2h0dHA6Ly9mb28uaW50L2RvbmF0ZScsICJXZSBuZWVkIG1vbmV5ISIpOwogICAgICAgIHJzc19zYXZlKCdiZWdnaW5nLnJzcycpOwoKLi4udGhlbiBvbmx5IHRoZSBmaXJzdCB3aWxsIGFwcGVhciBpbiB0aGUgZmVlZCwgc2luY2UgdGhlIHNlY29uZCBpdGVtCmhhcyBhIFVSTCB0aGF0IGlzIGFscmVhZHkgYmVpbmcgc2F2ZWQgaW4gdGhpcyBmZWVkLiAgKEhvd2V2ZXIsCkM8cnNzX2l0ZW1fY291bnQ+IGlzIHN0aWxsIDIsIGJlY2F1c2UgZmlsdGVyaW5nIG91dCBkdXBsaWNhdGVzIGlzCnNvbWV0aGluZyB0aGF0IG9ubHkgaGFwcGVucyBhcyB0aGUgZmVlZCBpcyBzYXZlZC4pCgo9aXRlbSB0aGUgYWNjZXNzb3IgQzxyc3NfZG9jcyggSTx1cmw+ICk+CgpUaGlzIHNldHMgdGhlIHZhbHVlIG9mIHRoZSBub3QtZ2VuZXJhbGx5LXVzZWZ1bCBDPGRvYz4gUlNTIGVsZW1lbnQuClRoZSBkZWZhdWx0IHZhbHVlIGlzICIuL2Fib3V0X3Jzcy5odG1sIiBpZiBDPC1lICJhYm91dF9yc3MuaHRtbCI+IGlzCnRydWUsIG90aGVyd2lzZSAiaHR0cDovL3d3dy5pbnRlcmdsYWNpYWwuY29tL3Jzcy9hYm91dC5odG1sIi4KCj1pdGVtIHRoZSBhY2Nlc3NvcnMKQzw8CnJzc19pbWFnZV91cmwoSTx1cmw+KSwgcnNzX2ltYWdlX3dpZHRoKEk8bnVtYmVyPiksCnJzc19pbWFnZV9oZWlnaHQoSTxudW1iZXI+KSwKcnNzX2ltYWdlX3RpdGxlKEk8dGV4dD4pLCByc3NfaW1hZ2VfbGluayhJPHVybD4pLApyc3NfaW1hZ2VfZGVzY3JpcHRpb24oSTx0ZXh0PikKPj4KClRoZXNlIGFyZSBmb3IgbWFudWFsbHkgc2V0dGluZyB0aGUgdmFsdWVzIG9mIHRoaXMgZmVlZCdzIGltYWdlIGVsZW1lbnQncwpzdWJlbGVtZW50czoKCiAgPGltYWdlPgogICAgICAgICAgICAgIDx1cmw+IChyc3NfaW1hZ2VfdXJsKSAgICAgICAgIDwvdXJsPgogICAgICAgICAgICA8d2lkdGg+IChyc3NfaW1hZ2Vfd2lkdGgpICAgICAgIDwvd2lkdGg+CiAgICAgICAgICAgPGhlaWdodD4gKHJzc19pbWFnZV9oZWlnaHQpICAgICAgPC9oZWlnaHQ+CiAgICAgICAgICAgIDx0aXRsZT4gKHJzc19pbWFnZV90aXRsZSkgICAgICAgPC90aXRsZT4KICAgICAgICAgICAgIDxsaW5rPiAocnNzX2ltYWdlX2xpbmspICAgICAgICA8L2xpbms+CiAgICAgIDxkZXNjcmlwdGlvbj4gKHJzc19pbWFnZV9kZXNjcmlwdGlvbikgPC9kZXNjcmlwdGlvbj4KICA8L2ltYWdlPgoKWW91IHJhcmVseSBuZWVkIHRvIGNhbGwgYW55IG9mIHRoZXNlIEM8cnNzX2ltYWdlX0k8d2hhdGV2ZXI+PiBmdW5jdGlvbnMgLS0KdXN1YWxseSBqdXN0IGNhbGxpbmcgQzxyc3NfaW1hZ2UoIEk8dXJsLCBoLCB3PiApOz4gaXMgZW5vdWdoLgoKPWN1dAoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpteSBARG9XICAgPSBxdyhTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQpOwpteSBATW9udGggPSBxdyhKYW4gRmViIE1hciBBcHIgTWF5IEp1biBKdWwgQXVnIFNlcCBPY3QgTm92IERlYyk7CgpzdWIgX2RhdGVfcmZjODIyIHsKICBteSAkc2VsZiA9IHNoaWZ0OwogIG15IEB0aW1lbGlzdCA9IChAXyA9PSAwKSA/IGdtdGltZSA6IChAXyA9PSAxKSA/IGdtdGltZSgkX1swXSkgOiBAXzsKICAkdGltZWxpc3RbNV0gKz0gMTkwMDsKCiAgcmV0dXJuIHNwcmludGYoCiAgICAgIiVzLCAlMDJkICVzICUwNGQgJTAyZDolMDJkOiUwMmQgR01UIiwKICAgICAgJERvV1skdGltZWxpc3RbNl1dLAogICAgICAgICAgJHRpbWVsaXN0WzNdLAogICAgICAgICAgICAgICAkTW9udGhbJHRpbWVsaXN0WzRdXSwKICAgICAgICAgICAgICAgICAgICAgICBAdGltZWxpc3RbNSwgMiwxLDBdLAogICk7Cn0KCnN1YiBfY2hlY2tfYWdlIHsKICBteSgkc2VsZiwgJGZpbGVuYW1lLCAkbWF4YWdlKSA9IEBfOwogIG15ICRhZ2U7CiAgaWYoJGZpbGVuYW1lIGFuZCAkbWF4YWdlIGFuZCAkbWF4YWdlIDwgKCRhZ2UgPSAtTSAkZmlsZW5hbWUpKSB7CiAgICBDYXJwOjpjYXJwKAogICAgICBzcHJpbnRmICIlcyB3YXJuaW5nIC0gJXMgaXMgZ2V0dGluZyBvbGQgLS0gaXQgaGFzbid0IGNoYW5nZWQgaW4gJTAuMWYgZGF5cyEiLAogICAgICAgIHJlZigkc2VsZikgfHwgJHNlbGYsCiAgICAgICAgJGZpbGVuYW1lLAogICAgICAgICRhZ2UsCiAgICApOwogIH0KICByZXR1cm4gMDsKfQoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCnN1YiBfdmFyaW91c19jb21tZW50cyB7CiAgbXkgJHNlbGYgPSAkX1swXTsKICBteSAkeDsKICByZXR1cm4KICAgIGpvaW4gJycsCiAgICBtYXAgezsgJHggPSAkXzsgJHggPX4gcy8tLS9fXy9nOyAiPCEtLSAkeCAtLT5cbiI7IH0KICAgIEB7ICRzZWxmLT57J19jb21tZW50cyd9IHx8IFtdIH0KICA7Cn0KCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKc3ViIF9tb2R2ZXJzaW9uX2NvbW1lbnQgewogIG15ICRzZWxmID0gJF9bMF07CiAgbXkgJHNlbGZjbGFzcyA9IHJlZigkc2VsZik7CiAgbXkgJHYgPSBldmFsIHsgJHNlbGZjbGFzcy0+VkVSU0lPTiB9IHx8ICRWRVJTSU9OOwogIHJldHVybiAiXG48IS0tIEdlbmVyYXRlZCB3aXRoIFBlcmwncyAkc2VsZmNsYXNzIHYkdiAtLT5cbiI7Cn0KCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKc3ViIF9hY2Nlc3Nvcml6ZSB7ICAjIEEgc2ltcGxlLW1pbmRlZCBtZXRob2QtbWFrZXIKICBubyBzdHJpY3QgJ3JlZnMnOwogIGZvcmVhY2ggbXkgJGF0dHJuYW1lIChAXykgewogICAgbmV4dCBpZiAkYXR0cm5hbWUgPX4gbS86Oi87ICMgYSBoYWNrCiAgICAqe2NhbGxlcigpIC4gJzo6JyAuICRhdHRybmFtZX0gPSBzdWIgewogICAgICB1c2Ugc3RyaWN0OwogICAgICB1bmxlc3MoKEBfID09IDEgb3IgQF8gPT0gMikgYW5kIHJlZiAkX1swXSApIHsKICAgICAgICAkQ2FycDo6Q2FycExldmVsID0gMTsKICAgICAgICBDYXJwOjpjcm9haygKICAgICAgICAgIkFjY2Vzc29yIHVzYWdlOiBcJG9iai0+JGF0dHJuYW1lKCkgb3IgXCRvYmotPiRhdHRybmFtZShcJG5ld192YWx1ZSkiCiAgICAgICAgKTsKICAgICAgfQogICAgICAoQF8gPT0gMSkgPyAgJF9bMF0tPnskYXR0cm5hbWV9CiAgICAgICAgICAgICAgICA6ICgkX1swXS0+eyRhdHRybmFtZX0gPSAkX1sxXSk7CiAgICB9OwogIH0KICAjIFlhIGtub3csIHRoZXkgc2F5IGFjY2Vzc29yaWVzIG1ha2UgdGhlIGVuc2VtYmxlIQogIHJldHVybjsKfQoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpzdWIgeG1sZXNjIHsKICBteSAkc2VsZiA9IHNoaWZ0OwogIG15ICRvdXQgPSBqb2luICcnLCBAXzsKICAkb3V0ID1+IHM8KFteXHgyMFx4MjFceDIzXHgyNFx4MjVceDI3LVx4M2JceDNkXHgzZi1ceDdlXSk+CiAgICAgICAgICAgPCRDb21tb25FbnRzeyQxfSB8fCAoJyYjJy4ob3JkKCQxKSkuJzsnKSA+c2VnOwogIHJldHVybiAkb3V0Owp9CgpzdWIgeG1sZWxlbSB7CiAgbXkgJHNlbGYgPSBzaGlmdDsKICBteSAkZ2kgICA9IHNoaWZ0OwogIHJldHVybiAiPCRnaT4iIC4gJHNlbGYtPnhtbGVzYyhAXykgLiAiPC8kZ2k+IjsKfQoKIy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCgpzdWIgaHRtbDJ0ZXh0IHsKCiAgIyBBIHJ1ZGltZW50YXJ5IEhUTUwgdG9rZW5pemVyLCBhZGFwdGVkIGFuZCBzaW1wbGlmaWVkCiAgIyBmcm9tIEdpc2xlIEFhcydzIEhUTUw6OlBhcnNlciB2Mi4yNS4uLgoKICBsb2NhbCAkXzsKICBteSgkc2VsZiwgQG91dCk7CiAgKCRzZWxmLCAkXykgPSBAXzsKCiAgcmV0dXJuIHVuZGVmIHVubGVzcyBkZWZpbmVkICRfOwogIHJldHVybiAkJF8gICBpZiByZWYoJF8pIGVxICdTQ0FMQVInOyAgIyBQYXNzIGEgc2NhbGFyIHJlZiB0byBieXBhc3MhCiAgcmV0dXJuICcnICAgIHVubGVzcyBsZW5ndGggICRfOwoKICBpZiggbS9eW1x4MDAtXHg3ZV0rJC9zIGFuZCAhIG0vWzw+Jl0vcykgewogICAgIyBNb3N0IGNvbW1vbiBjYXNlOiBhIHNpbXBsZSBzdHJpbmcgbmVlZGluZyBubyBIVE1MIHBhcnNpbmcuCiAgICAjIFNvIGp1c3QgY29tcGFjdCBhbmQgdHJpbSB3aGl0ZXNwYWNlLCBhbmQgbW92ZSBvbi4KICAgIHRyL1xuXHJcZlx0IC8gL3M7CiAgICBzLyAkLy9zOwogICAgcy9eIC8vczsKICAgIHJldHVybiAkXzsKICB9CiAgCiAgd2hpbGUoIGxlbmd0aCgkXykgKSB7CiAgICBpZiAoIHNAXihbXiY8XSspQEBzKSB7ICAjIEFueSBwbGFpbnRleHQKICAgICAgREVCVUcgPiA1IGFuZCBwcmludCAiOjogUGxhaW50ZXh0IHskMX1cbiI7CiAgICAgIHB1c2ggQG91dCwgJDE7CiAgICB9IGVsc2lmICggc0BeCiAgICAgICgKICAgICAgICAmXCMKICAgICAgICAoPzoKICAgICAgICAgICg/OiAjIGRlYwogICAgICAgICAgICAoWzAtOV17MSw3fSkKICAgICAgICAgICl8KD86ICMgb3IgaGV4CiAgICAgICAgICAgW3hYXShbMC05YS1mQS1GXXsxLDd9KQogICAgICAgICAgKQogICAgICAgICkKICAgICAgKQogICAgICBcYgogICAgICA7PwogICAgICBAQHN4CiAgICApIHsKICAgICAgREVCVUcgPiA1IGFuZCBwcmludCAiOjogTnVtZXJpYyBlbnQgeyQxfSIsCiAgICAgICAgIGRlZmluZWQoJDIpID8gIiAoZGVjICQyKSIgCiAgICAgICA6IGRlZmluZWQoJDMpID8gIiAoaGV4ICQzKSIgCiAgICAgICA6ICIgKHdlaXJkISkiLAogICAgICAgIlxuIjsKCiAgICAgIGlmKCAgICAgIGRlZmluZWQgJDMgYW5kIGV4aXN0cyAkV2luTGFtZUVudGl0aWVze2hleCgkMyl9ICkgewogICAgICAgICMgaXQncyBhIHdpbmxhbWUgZW50LCBpbiBoZXgKICAgICAgICBERUJVRyA+IDYgYW5kIHByaW50ICIgQ29ycmVjdGluZyB0aGF0IHRvICYjJFdpbkxhbWVFbnRpdGllc3toZXgoJDMpfTtcbiI7CiAgICAgICAgcHVzaCBAb3V0LCBcIiYjJFdpbkxhbWVFbnRpdGllc3toZXgoJDMpfTsiIDsKICAgICAgfSBlbHNpZiggZGVmaW5lZCAkMiBhbmQgZXhpc3RzICRXaW5MYW1lRW50aXRpZXN7MCArICQyfSApIHsKICAgICAgICAjIGl0J3MgYSB3aW5sYW1lIGVudCwgaW4gZGVjaW1hbAogICAgICAgIERFQlVHID4gNiBhbmQgcHJpbnQgIiBDb3JyZWN0aW5nIHRoYXQgdG8gJiMkV2luTGFtZUVudGl0aWVzezAgKyAkMn07XG4iOwogICAgICAgIHB1c2ggQG91dCwgXCImIyRXaW5MYW1lRW50aXRpZXN7MCArICQyfTsiICA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgIyBpdCdzIGEgbm9ybWFsIGVudGl0eQogICAgICAgIERFQlVHID4gNiBhbmQgcHJpbnQgIiBQYXNzaW5nIGl0IHRocnUgYXMgXCIkMTtcIlxuIjsKICAgICAgICBwdXNoIEBvdXQsIFwiJDE7IjsKICAgICAgfQogICAgICAKCiAgICB9IGVsc2lmICggc0BeJihbQS1aYS16XVtBLVphLXowLTldezAsMTB9KVxiKDs/KUBAcykgewoKICAgICAgREVCVUcgPiA1IGFuZCBwcmludCAiOjogTmFtZWQgZW50aXR5IHskMX1cbiI7CiAgICAgIGlmKGV4aXN0cyAkRW50aXRpZXN7JDF9KSB7CiAgICAgICAgcHVzaCBAb3V0LCBcICRFbnRpdGllc3skMX07CiAgICAgIH0gZWxzaWYoZXhpc3RzICRFbnRpdGllc3sgdWNmaXJzdChsYygkMSkpIH0pIHsKICAgICAgICBERUJVRyA+IDYgYW5kIHByaW50ICI6OjogVHJlYXRpbmcgYXMgaWYgaXQgd2VyZSAmIiwKICAgICAgICAgIHVjZmlyc3QobGMoJDEpKSwgIjtcbiI7CiAgICAgICAgcHVzaCBAb3V0LCBcICRFbnRpdGllc3sgdWNmaXJzdChsYygkMSkpIH07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgREVCVUcgPiA2IGFuZCBwcmludCAiOjo6IFVucmVzb2x2YWJsZSEgIFRyZWF0aW5nIGFzIHBsYWludGV4dFxuIjsKICAgICAgICBwdXNoIEBvdXQsICImJDEiIC4gKCQyIHx8ICcnKTsKICAgICAgfQoKCiAgICAjIFRoaW5ncyB3ZSBqdXN0IGlnbm9yZToKICAgIH0gZWxzaWYoIHNAXig8IVxzKi0tLio/LS1ccyo+KUBAcyApIHsgICMgIk5ldHNjYXBlIiBjb21tZW50cwogICAgICBERUJVRyA+IDUgYW5kIHByaW50ICI6OiBTaW1wbGUgY29tbWVudCB7JDF9XG4iOwogICAgfSBlbHNpZiggc0BeKDxbIT9dW14+XSo+KUBAcyApIHsgIyBkb2N0eXBlLCBQSSwgb3IgYSB3ZWlyZCBjb21tZW50CiAgICAgIERFQlVHID4gNSBhbmQgcHJpbnQgIjo6IERpcmVjdGl2ZS9QSSB7JDF9XG4iOwogICAgfSBlbHNpZiggc0BePC8/KFthLXpBLVpdW2EtekEtWjAtOVwuXDpcX1wtXXswLDcyfSlccyovPz5AQCApIHsKICAgICAgIyBFbmQtdGFnLCBvciBhIHNpbXBsZSBzdGFydC10YWcKICAgICAgcHVzaCBAb3V0LCAnICcgaWYgJElzQmxvY2tNYXJrdXB7bGMgJDF9OwogICAgICBERUJVRyA+IDUgYW5kIHByaW50ICI6OiBTaW1wbGUgdGFnIHskMX0iLAogICAgICAgICRJc0Jsb2NrTWFya3Vwe2xjICQxfSA/ICIgK2JyZWFreSI6ICgpLCAiXG4iOwoKICAgIH0gZWxzaWYgKCAgICAjIGNvbXBsZXggc3RhcnQtdGFnCiAgICAgIHNACiAgICAgICBeCiAgICAgICAoCiAgICAgICAgPAogICAgICAgIChbYS16QS1aXVthLXpBLVowLTlcLlw6XF9cLV17MCw3Mn0pICAjIHRoZSBHLkkuCiAgICAgICAgKD86CiAgICAgICAgICBccysKICAgICAgICAgIFthLXpBLVpdW2EtekEtWjAtOVwuXDpcX1wtXXswLDcyfQogICAgICAgICAgKD86ICAjIEF0dHJpYnV0ZXMgY2FuIGJlIHZhbHVlbGVzcyEKICAgICAgICAgICAgXHMqCiAgICAgICAgICAgID0KICAgICAgICAgICAgXHMqCiAgICAgICAgICAgICg/OiAgICAgICAgICAgICAjIEF0dHJpYnV0ZSB2YWx1ZS4uLgogICAgICAgICAgICAgICg/OgogICAgICAgICAgICAgICAgIlteIl0qIiAgICAgICAjICJmb28gYmFyIgogICAgICAgICAgICAgICl8KD86CiAgICAgICAgICAgICAgICAnW14nXSonICAgICAgICMgJ2ZvbyBiYXInCiAgICAgICAgICAgICAgKXwoPzoKICAgICAgICAgICAgICAgIFtePD5cblxyXHQgXXswLDkwfSAjIGZvb2JhcmJhegogICAgICAgICAgICAgICAgICAjIDkwIGlzIG15IHNhbmUgbGVuZ3RoLWxpbWl0IG9uIHVucXVvdGVkIGF0dHJ2YWx1ZXMKICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICk/CiAgICAgICAgKSogICAjIGFueSBudWJtZXIgb2YgYXR0cmlicwogICAgICAgIFxzKiAgIyBvcHRpb25hbCBlbmRpbmcgd2hpdGVzcGFjZQogICAgICAgIC8/ICAgIyBvcHRpb25hbCBlbXB0aW5lc3MgZmxhZwogICAgICAgID4KICAgICAgICkKICAgICAgIEBAeAogICAgKSB7CiAgICAgIHB1c2ggQG91dCwgJyAnIGlmICRJc0Jsb2NrTWFya3Vwe2xjICQyfTsKICAgICAgREVCVUcgPiA1IGFuZCBwcmludCAiOjogQ29tcGxleCBzdGFydC10YWcgeyQyfSIsCiAgICAgICAgICAkSXNCbG9ja01hcmt1cHtsYyAkMn0gPyAiICticmVha3kiOiAoKSwgIlxuIjsKICAgICAgCiAgICAjIEdldHMgY2FsbGVkIG9ubHkgb24gYWJlcnJhbnQgaW5wdXQsIEkgdGhpbms6CiAgICB9IGVsc2lmKCBzQF4oLilAQHMgKSB7CiAgICAgIERFQlVHID4gNSBhbmQgcHJpbnQgIjo6IExhc3QtcmVzb3J0IHNpbmdsZSBjaGFyYWN0ZXIgeyQxfVxuIjsKICAgICAgcHVzaCBAb3V0LCAkMTsKICAgIAogICAgfSBlbHNlIHsKICAgICAgZGllICJJTVBPU1NJQkxFIHskX31cbiAhISEgIjsgIyBzYW5pdHktY2hlY2sKICAgIH0KICB9CiAgCiAgZm9yZWFjaCBteSAkeCAoQG91dCkgewogICAgaWYoIHJlZiAkeCApIHsKICAgICAgJHggPSAkJHg7CiAgICB9IGVsc2UgeyAgIyBkbyBuZWNlc3NhcnkgZXNjYXBpbmcKICAgICAgJHggPX4gdHIvXG5cclxmXHQgLyAvczsgIyBzbWFzaCB3aGl0ZXNwYWNlCiAgICAgICR4ID0gJHNlbGYtPnhtbGVzYygkeCkgdW5sZXNzICR4ID1+IG0vXlthLXpBLVowLTlfJyIsXC4gXSokL3MKICAgICAgICMgRG9kZ2UgY2FsbGluZyBvbiB0aGUgbW9zdCBjb21tb24gY2FzZSwgaS5lLiwgdGV4dAogICAgICAgIyAgdGhhdCByZWFsbHkgZG9lc24ndCBuZWVkIGFueSBleGN1c2UgYXQgYWxsLgogICAgfQogIH0KCiAgcmV0dXJuIGpvaW4gJycsIEBvdXQ7Cn0KCiMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgoKJE1JTUVfVHlwZSA9ICdhcHBsaWNhdGlvbi9yc3MreG1sJzsKCiVXaW5MYW1lRW50aXRpZXMgPSAoCiBkbyB7OwogICBteSAkYyA9IDB4ODA7CiAgIG1hcCB7OyAkYysrID0+IChoZXgoJF8pIHx8IDB4MDA3ZSkgfQogICBxdygKMjBhYyAwMDAwIDIwMWEgMDE5MiAyMDFlIDIwMjYgMjAyMCAyMDIxIDAyYzYgMjAzMCAwMTYwIDIwMzkgMDE1MiAwMCAwMTdkIDAwMDAKMDAwMCAyMDE4IDIwMTkgMjAxYyAyMDFkIDIwMjIgMjAxMyAyMDE0IDAyZGMgMjEyMiAwMTYxIDIwM2EgMDE1MyAwMCAwMTdlIDAxNzgKKSMgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgIyAgICAgICAgICAgICAgICAgICB8Cn0pOwoKX2luaXRfY29tbW9uX2VudHMoKTsKCnN1YiBfaW5pdF9jb21tb25fZW50cyB7CiAgJUNvbW1vbkVudHMgPSAoCiAgICAnJicgPT4gJyZhbXA7JywKICAgICc8JyA9PiAnJmx0OycsCiAgICAnPicgPT4gJyZndDsnLAogICAgJyInID0+ICcmcXVvdDsnLAogICAgKCBtYXAgezsgY2hyKCRfKSA9PiAiICIgfSAwIC4uIDMxICksCiAgICAoIG1hcCB7OyBjaHIoJF8pID0+ICImIyRXaW5MYW1lRW50aXRpZXN7JF99OyIgfSBrZXlzICVXaW5MYW1lRW50aXRpZXMgKSwKICApOwogIHJldHVybjsKfQoKJUVudGl0aWVzID0gKAogIyBIVE1MIGVudGl0aWVzIGdvdHRlbiBmcm9tIHRoZSBIVE1MIERURHMKIAogJ0FhY3V0ZScgPT4gJyYjeGMxOycsICAgICdhYWN1dGUnID0+ICcmI3hlMTsnLCAgICdBY2lyYycgPT4gJyYjeGMyOycsCiAnYWNpcmMnID0+ICcmI3hlMjsnLCAgICAgJ2FjdXRlJyA9PiAnJiN4YjQ7JywgICAgJ0FFbGlnJyA9PiAnJiN4YzY7JywKICdhZWxpZycgPT4gJyYjeGU2OycsICAgICAnQWdyYXZlJyA9PiAnJiN4YzA7JywgICAnYWdyYXZlJyA9PiAnJiN4ZTA7JywKICdhbGVmc3ltJyA9PiAnJiN4MjEzNTsnLCAnQWxwaGEnID0+ICcmI3gzOTE7JywgICAnYWxwaGEnID0+ICcmI3gzYjE7JywKICdhbXAnID0+ICcmI3gyNjsnLCAgICAgICAnYW5kJyA9PiAnJiN4MjIyNzsnLCAgICAnYW5nJyA9PiAnJiN4MjIyMDsnLAogJ2Fwb3MnID0+ICcmI3gyNzsnLCAgICAgICdBcmluZycgPT4gJyYjeGM1OycsICAgICdhcmluZycgPT4gJyYjeGU1OycsCiAnYXN5bXAnID0+ICcmI3gyMjQ4OycsICAgJ0F0aWxkZScgPT4gJyYjeGMzOycsICAgJ2F0aWxkZScgPT4gJyYjeGUzOycsCiAnQXVtbCcgPT4gJyYjeGM0OycsICAgICAgJ2F1bWwnID0+ICcmI3hlNDsnLCAgICAgJ2JkcXVvJyA9PiAnJiN4MjAxZTsnLAogJ0JldGEnID0+ICcmI3gzOTI7JywgICAgICdiZXRhJyA9PiAnJiN4M2IyOycsICAgICdicnZiYXInID0+ICcmI3hhNjsnLAogJ2J1bGwnID0+ICcmI3gyMDIyOycsICAgICdjYXAnID0+ICcmI3gyMjI5OycsICAgICdDY2VkaWwnID0+ICcmI3hjNzsnLAogJ2NjZWRpbCcgPT4gJyYjeGU3OycsICAgICdjZWRpbCcgPT4gJyYjeGI4OycsICAgICdjZW50JyA9PiAnJiN4YTI7JywKICdDaGknID0+ICcmI3gzYTc7JywgICAgICAnY2hpJyA9PiAnJiN4M2M3OycsICAgICAnY2lyYycgPT4gJyYjeDJjNjsnLAogJ2NsdWJzJyA9PiAnJiN4MjY2MzsnLCAgICdjb25nJyA9PiAnJiN4MjI0NTsnLCAgICdjb3B5JyA9PiAnJiN4YTk7JywKICdjcmFycicgPT4gJyYjeDIxYjU7JywgICAnY3VwJyA9PiAnJiN4MjIyYTsnLCAgICAnY3VycmVuJyA9PiAnJiN4YTQ7JywKICdkYWdnZXInID0+ICcmI3gyMDIwOycsICAnRGFnZ2VyJyA9PiAnJiN4MjAyMTsnLCAnZGFycicgPT4gJyYjeDIxOTM7JywKICdkQXJyJyA9PiAnJiN4MjFkMzsnLCAgICAnZGVnJyA9PiAnJiN4YjA7JywgICAgICAnRGVsdGEnID0+ICcmI3gzOTQ7JywKICdkZWx0YScgPT4gJyYjeDNiNDsnLCAgICAnZGlhbXMnID0+ICcmI3gyNjY2OycsICAnZGl2aWRlJyA9PiAnJiN4Zjc7JywKICdFYWN1dGUnID0+ICcmI3hjOTsnLCAgICAnZWFjdXRlJyA9PiAnJiN4ZTk7JywgICAnRWNpcmMnID0+ICcmI3hjYTsnLAogJ2VjaXJjJyA9PiAnJiN4ZWE7JywgICAgICdFZ3JhdmUnID0+ICcmI3hjODsnLCAgICdlZ3JhdmUnID0+ICcmI3hlODsnLAogJ2VtcHR5JyA9PiAnJiN4MjIwNTsnLCAgICdlbXNwJyA9PiAnJiN4MjAwMzsnLCAgICdlbnNwJyA9PiAnJiN4MjAwMjsnLAogJ0Vwc2lsb24nID0+ICcmI3gzOTU7JywgICdlcHNpbG9uJyA9PiAnJiN4M2I1OycsICdlcXVpdicgPT4gJyYjeDIyNjE7JywKICdFdGEnID0+ICcmI3gzOTc7JywgICAgICAnZXRhJyA9PiAnJiN4M2I3OycsICAgICAnRVRIJyA9PiAnJiN4ZDA7JywKICdldGgnID0+ICcmI3hmMDsnLCAgICAgICAnRXVtbCcgPT4gJyYjeGNiOycsICAgICAnZXVtbCcgPT4gJyYjeGViOycsCiAnZXVybycgPT4gJyYjeDIwYWM7JywgICAgJ2V4aXN0JyA9PiAnJiN4MjIwMzsnLCAgJ2Zub2YnID0+ICcmI3gxOTI7JywKICdmb3JhbGwnID0+ICcmI3gyMjAwOycsICAnZnJhYzEyJyA9PiAnJiN4YmQ7JywgICAnZnJhYzE0JyA9PiAnJiN4YmM7JywKICdmcmFjMzQnID0+ICcmI3hiZTsnLCAgICAnZnJhc2wnID0+ICcmI3gyMDQ0OycsICAnR2FtbWEnID0+ICcmI3gzOTM7JywKICdnYW1tYScgPT4gJyYjeDNiMzsnLCAgICAnZ2UnID0+ICcmI3gyMjY1OycsICAgICAnZ3QnID0+ICcmI3gzZTsnLAogJ2hhcnInID0+ICcmI3gyMTk0OycsICAgICdoQXJyJyA9PiAnJiN4MjFkNDsnLCAgICdoZWFydHMnID0+ICcmI3gyNjY1OycsCiAnaGVsbGlwJyA9PiAnJiN4MjAyNjsnLCAgJ0lhY3V0ZScgPT4gJyYjeGNkOycsICAgJ2lhY3V0ZScgPT4gJyYjeGVkOycsCiAnSWNpcmMnID0+ICcmI3hjZTsnLCAgICAgJ2ljaXJjJyA9PiAnJiN4ZWU7JywgICAgJ2lleGNsJyA9PiAnJiN4YTE7JywKICdJZ3JhdmUnID0+ICcmI3hjYzsnLCAgICAnaWdyYXZlJyA9PiAnJiN4ZWM7JywgICAnaW1hZ2UnID0+ICcmI3gyMTExOycsCiAnaW5maW4nID0+ICcmI3gyMjFlOycsICAgJ2ludCcgPT4gJyYjeDIyMmI7JywgICAgJ0lvdGEnID0+ICcmI3gzOTk7JywKICdpb3RhJyA9PiAnJiN4M2I5OycsICAgICAnaXF1ZXN0JyA9PiAnJiN4YmY7JywgICAnaXNpbicgPT4gJyYjeDIyMDg7JywKICdJdW1sJyA9PiAnJiN4Y2Y7JywgICAgICAnaXVtbCcgPT4gJyYjeGVmOycsICAgICAnS2FwcGEnID0+ICcmI3gzOWE7JywKICdrYXBwYScgPT4gJyYjeDNiYTsnLCAgICAnTGFtYmRhJyA9PiAnJiN4MzliOycsICAnbGFtYmRhJyA9PiAnJiN4M2JiOycsCiAnbGFuZycgPT4gJyYjeDIzMjk7JywgICAgJ2xhcXVvJyA9PiAnJiN4YWI7JywgICAgJ2xhcnInID0+ICcmI3gyMTkwOycsCiAnbEFycicgPT4gJyYjeDIxZDA7JywgICAgJ2xjZWlsJyA9PiAnJiN4MjMwODsnLCAgJ2xkcXVvJyA9PiAnJiN4MjAxYzsnLAogJ2xlJyA9PiAnJiN4MjI2NDsnLCAgICAgICdsZmxvb3InID0+ICcmI3gyMzBhOycsICdsb3dhc3QnID0+ICcmI3gyMjE3OycsCiAnbG96JyA9PiAnJiN4MjVjYTsnLCAgICAgJ2xybScgPT4gJyYjeDIwMGU7JywgICAgJ2xzYXF1bycgPT4gJyYjeDIwMzk7JywKICdsc3F1bycgPT4gJyYjeDIwMTg7JywgICAnbHQnID0+ICcmI3gzYzsnLCAgICAgICAnbWFjcicgPT4gJyYjeGFmOycsCiAnbWRhc2gnID0+ICcmI3gyMDE0OycsICAgJ21pY3JvJyA9PiAnJiN4YjU7JywgICAgJ21pZGRvdCcgPT4gJyYjeGI3OycsCiAnbWludXMnID0+ICcmI3gyMjEyOycsICAgJ011JyA9PiAnJiN4MzljOycsICAgICAgJ211JyA9PiAnJiN4M2JjOycsCiAnbmFibGEnID0+ICcmI3gyMjA3OycsICAgJ25ic3AnID0+ICcmI3hhMDsnLCAgICAgJ25kYXNoJyA9PiAnJiN4MjAxMzsnLAogJ25lJyA9PiAnJiN4MjI2MDsnLCAgICAgICduaScgPT4gJyYjeDIyMGI7JywgICAgICdub3QnID0+ICcmI3hhYzsnLAogJ25vdGluJyA9PiAnJiN4MjIwOTsnLCAgICduc3ViJyA9PiAnJiN4MjI4NDsnLCAgICdOdGlsZGUnID0+ICcmI3hkMTsnLAogJ250aWxkZScgPT4gJyYjeGYxOycsICAgICdOdScgPT4gJyYjeDM5ZDsnLCAgICAgICdudScgPT4gJyYjeDNiZDsnLAogJ09hY3V0ZScgPT4gJyYjeGQzOycsICAgICdvYWN1dGUnID0+ICcmI3hmMzsnLCAgICdPY2lyYycgPT4gJyYjeGQ0OycsCiAnb2NpcmMnID0+ICcmI3hmNDsnLCAgICAgJ09FbGlnJyA9PiAnJiN4MTUyOycsICAgJ29lbGlnJyA9PiAnJiN4MTUzOycsCiAnT2dyYXZlJyA9PiAnJiN4ZDI7JywgICAgJ29ncmF2ZScgPT4gJyYjeGYyOycsICAgJ29saW5lJyA9PiAnJiN4MjAzZTsnLAogJ09tZWdhJyA9PiAnJiN4M2E5OycsICAgICdvbWVnYScgPT4gJyYjeDNjOTsnLCAgICdPbWljcm9uJyA9PiAnJiN4MzlmOycsCiAnb21pY3JvbicgPT4gJyYjeDNiZjsnLCAgJ29wbHVzJyA9PiAnJiN4MjI5NTsnLCAgJ29yJyA9PiAnJiN4MjIyODsnLAogJ29yZGYnID0+ICcmI3hhYTsnLCAgICAgICdvcmRtJyA9PiAnJiN4YmE7JywgICAgICdPc2xhc2gnID0+ICcmI3hkODsnLAogJ29zbGFzaCcgPT4gJyYjeGY4OycsICAgICdPdGlsZGUnID0+ICcmI3hkNTsnLCAgICdvdGlsZGUnID0+ICcmI3hmNTsnLAogJ290aW1lcycgPT4gJyYjeDIyOTc7JywgICdPdW1sJyA9PiAnJiN4ZDY7JywgICAgICdvdW1sJyA9PiAnJiN4ZjY7JywKICdwYXJhJyA9PiAnJiN4YjY7JywgICAgICAncGFydCcgPT4gJyYjeDIyMDI7JywgICAncGVybWlsJyA9PiAnJiN4MjAzMDsnLAogJ3BlcnAnID0+ICcmI3gyMmE1OycsICAgICdQaGknID0+ICcmI3gzYTY7JywgICAgICdwaGknID0+ICcmI3gzYzY7JywKICdQaScgPT4gJyYjeDNhMDsnLCAgICAgICAncGknID0+ICcmI3gzYzA7JywgICAgICAncGl2JyA9PiAnJiN4M2Q2OycsCiAncGx1c21uJyA9PiAnJiN4YjE7JywgICAgJ3BvdW5kJyA9PiAnJiN4YTM7JywgICAgJ3ByaW1lJyA9PiAnJiN4MjAzMjsnLAogJ1ByaW1lJyA9PiAnJiN4MjAzMzsnLCAgICdwcm9kJyA9PiAnJiN4MjIwZjsnLCAgICdwcm9wJyA9PiAnJiN4MjIxZDsnLAogJ1BzaScgPT4gJyYjeDNhODsnLCAgICAgICdwc2knID0+ICcmI3gzYzg7JywgICAgICdxdW90JyA9PiAnJiN4MjI7JywKICdyYWRpYycgPT4gJyYjeDIyMWE7JywgICAncmFuZycgPT4gJyYjeDIzMmE7JywgICAncmFxdW8nID0+ICcmI3hiYjsnLAogJ3JhcnInID0+ICcmI3gyMTkyOycsICAgICdyQXJyJyA9PiAnJiN4MjFkMjsnLCAgICdyY2VpbCcgPT4gJyYjeDIzMDk7JywKICdyZHF1bycgPT4gJyYjeDIwMWQ7JywgICAncmVhbCcgPT4gJyYjeDIxMWM7JywgICAncmVnJyA9PiAnJiN4YWU7JywKICdyZmxvb3InID0+ICcmI3gyMzBiOycsICAnUmhvJyA9PiAnJiN4M2ExOycsICAgICAncmhvJyA9PiAnJiN4M2MxOycsCiAncmxtJyA9PiAnJiN4MjAwZjsnLCAgICAgJ3JzYXF1bycgPT4gJyYjeDIwM2E7JywgJ3JzcXVvJyA9PiAnJiN4MjAxOTsnLAogJ3NicXVvJyA9PiAnJiN4MjAxYTsnLCAgICdTY2Fyb24nID0+ICcmI3gxNjA7JywgICdzY2Fyb24nID0+ICcmI3gxNjE7JywKICdzZG90JyA9PiAnJiN4MjJjNTsnLCAgICAnc2VjdCcgPT4gJyYjeGE3OycsICAgICAnc2h5JyA9PiAnJiN4YWQ7JywKICdTaWdtYScgPT4gJyYjeDNhMzsnLCAgICAnc2lnbWEnID0+ICcmI3gzYzM7JywgICAnc2lnbWFmJyA9PiAnJiN4M2MyOycsCiAnc2ltJyA9PiAnJiN4MjIzYzsnLCAgICAgJ3NwYWRlcycgPT4gJyYjeDI2NjA7JywgJ3N1YicgPT4gJyYjeDIyODI7JywKICdzdWJlJyA9PiAnJiN4MjI4NjsnLCAgICAnc3VtJyA9PiAnJiN4MjIxMTsnLCAgICAnc3VwJyA9PiAnJiN4MjI4MzsnLAogJ3N1cDEnID0+ICcmI3hiOTsnLCAgICAgICdzdXAyJyA9PiAnJiN4YjI7JywgICAgICdzdXAzJyA9PiAnJiN4YjM7JywKICdzdXBlJyA9PiAnJiN4MjI4NzsnLCAgICAnc3psaWcnID0+ICcmI3hkZjsnLCAgICAnVGF1JyA9PiAnJiN4M2E0OycsCiAndGF1JyA9PiAnJiN4M2M0OycsICAgICAgJ3RoZXJlNCcgPT4gJyYjeDIyMzQ7JywgJ1RoZXRhJyA9PiAnJiN4Mzk4OycsCiAndGhldGEnID0+ICcmI3gzYjg7JywgICAgJ3RoZXRhc3ltJyA9PiAnJiN4M2QxOycsJ3RoaW5zcCcgPT4gJyYjeDIwMDk7JywKICdUSE9STicgPT4gJyYjeGRlOycsICAgICAndGhvcm4nID0+ICcmI3hmZTsnLCAgICAndGlsZGUnID0+ICcmI3gyZGM7JywKICd0aW1lcycgPT4gJyYjeGQ3OycsICAgICAndHJhZGUnID0+ICcmI3gyMTIyOycsICAnVWFjdXRlJyA9PiAnJiN4ZGE7JywKICd1YWN1dGUnID0+ICcmI3hmYTsnLCAgICAndWFycicgPT4gJyYjeDIxOTE7JywgICAndUFycicgPT4gJyYjeDIxZDE7JywKICdVY2lyYycgPT4gJyYjeGRiOycsICAgICAndWNpcmMnID0+ICcmI3hmYjsnLCAgICAnVWdyYXZlJyA9PiAnJiN4ZDk7JywKICd1Z3JhdmUnID0+ICcmI3hmOTsnLCAgICAndW1sJyA9PiAnJiN4YTg7JywgICAgICAndXBzaWgnID0+ICcmI3gzZDI7JywKICdVcHNpbG9uJyA9PiAnJiN4M2E1OycsICAndXBzaWxvbicgPT4gJyYjeDNjNTsnLCAnVXVtbCcgPT4gJyYjeGRjOycsCiAndXVtbCcgPT4gJyYjeGZjOycsICAgICAgJ3dlaWVycCcgPT4gJyYjeDIxMTg7JywgJ1hpJyA9PiAnJiN4MzllOycsCiAneGknID0+ICcmI3gzYmU7JywgICAgICAgJ1lhY3V0ZScgPT4gJyYjeGRkOycsICAgJ3lhY3V0ZScgPT4gJyYjeGZkOycsCiAneWVuJyA9PiAnJiN4YTU7JywgICAgICAgJ3l1bWwnID0+ICcmI3hmZjsnLCAgICAgJ1l1bWwnID0+ICcmI3gxNzg7JywKICdaZXRhJyA9PiAnJiN4Mzk2OycsICAgICAnemV0YScgPT4gJyYjeDNiNjsnLCAgICAnendqJyA9PiAnJiN4MjAwZDsnLAogJ3p3bmonID0+ICcmI3gyMDBjOycsCik7Cgpmb3JlYWNoIG15ICR0YWduYW1lICggcXd7CiBicgogYWRkcmVzcyBhcHBsZXQgYXJlYSBiYXNlIGJnc291bmQgYmxvY2txdW90ZSBib2R5IGJ1dHRvbiBjYXB0aW9uIGNlbnRlciBjb2wKIGNvbGdyb3VwIGRkIGRlbCBkaXIgZGl2IGRsIGR0IGZpZWxkc2V0IGZvcm0gZnJhbWUgZnJhbWVzZXQgaDEgaDIgaDMgaDQgaDUKIGg2IGhlYWQgaHIgaHRtbCBpZnJhbWUgaWxheWVyIGlucHV0IGlucyBpc2luZGV4IGxhYmVsIGxheWVyIGxlZ2VuZCBsaSBsaW5rCiBsaXN0aW5nIG1hcCBtZW51IG1ldGEgbXVsdGljb2wgbm9mcmFtZXMgbm9sYXllciBub3NjcmlwdCBvYmplY3Qgb2wKIG9wdGdyb3VwIG9wdGlvbiBwIHBhcmFtIHBsYWludGV4dCBwcmUgc2NyaXB0IHNlbGVjdCBzdHlsZSB0YWJsZSB0Ym9keSB0ZAogdGV4dGFyZWEgdGZvb3QgdGggdGhlYWQgdGl0bGUgdHIgdWwgeG1wCn0pIHsgJElzQmxvY2tNYXJrdXB7JHRhZ25hbWV9ID0gMSB1bmxlc3MgZXhpc3RzICRJc0Jsb2NrTWFya3VweyR0YWduYW1lfSB9CgojLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KIyBOb3cgdGhlIGZ1bmN0aW9uIGdlbmVyYXRvcnM6CkBFWFBPUlQgPSAoICdnZXRfdXJsJyApOwoKJEVYUE9SVF9UQUdTeydmdW5jdGlvbnMnfSA9IFxARVhQT1JUOyAgIyBqdXN0IGZvciBteSBvd24gYmFja3dhcmQgY29tcGF0Cgpmb3JlYWNoIG15ICRtZXRob2QgKAogIGRvIHsKICAgIG5vIHN0cmljdCAncmVmcyc7CiAgICBteSAldG9faGlkZTsKICAgIEB0b19oaWRle0BIaWRpZXN9ID0gKCk7CiAgICBzb3J0CiAgICAgIGdyZXAgIWV4aXN0cyAkdG9faGlkZXskX30gJiYgIW0vXnJzc18vcwogICAgICAgICYmIG0vXlthLXpdW19BLVphLXowLTldKyQvcyAmJiBkZWZpbmVkICZ7IlhNTDo6UlNTOjpTaW1wbGVHZW46OiRfIn0sCiAgICAgICAga2V5cyAlWE1MOjpSU1M6OlNpbXBsZUdlbjo6CiAgfQopIHsKICBteSAkZnVuY3Rpb24gPSAicnNzXyRtZXRob2QiOwogIERFQlVHID4gMjAgYW5kIHByaW50ICIkbWV0aG9kID0+ICRmdW5jdGlvblxuIjsKICBwdXNoIEBFWFBPUlQsICRmdW5jdGlvbjsKICBubyBzdHJpY3QgJ3JlZnMnOwogIHVubGVzcyggZGVmaW5lZCAmeyRmdW5jdGlvbn0gKSB7CiAgICBERUJVRyA+IDIwIGFuZCBwcmludCAiIERlZmluaW5nICRmdW5jdGlvbiA9PiAkZnVuY3Rpb25cbiI7CiAgICAqeyRmdW5jdGlvbn0gPSBzdWIgewogICAgICB1c2Ugc3RyaWN0ICdyZWZzJzsKICAgICAgdW5zaGlmdCBAXywgKCRSU1Nfb2JqIHx8PSBYTUw6OlJTUzo6U2ltcGxlR2VuOjotPm5ldyk7CiAgICAgIGdvdG8gJnsKICAgICAgICAkX1swXS0+Y2FuKCRtZXRob2QpCiAgICAgICAgfHwgZGllICJXaGVyZSdzICRtZXRob2QgZm9yICRfWzBdPyEiCiAgICAgICAgICAjIGluc2FuZSBlcnJvciwgc2hvdWxkIG5ldmVyIGhhcHBlbiwgdW5sZXNzIHNvbWVib2R5CiAgICAgICAgICAjIGdvZXMgdW5kZWZpbmluZyBleGlzdGluZyBtZXRob2RzIQogICAgICB9OwogICAgfTsKICB9Cn0KCnN1YiByc3NfbmV3IHsgJFJTU19vYmogPSBYTUw6OlJTUzo6U2ltcGxlR2VuLT5uZXcoQF8pIH0KREVCVUcgPiAyMCBhbmQgcHJpbnQgIkRvbmUgY29tcGlsaW5nICIsIF9fUEFDS0FHRV9fLCAiLlxuIjsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoxOwpfX0VORF9fCgo9YmFjawoKPWhlYWQxIFJTUyBWRVJTSU9OCgpSU1MgZmVlZHMgZW1pdHRlZCBieSB0aGlzIG1vZHVsZSBhcmUgYmFzaWNhbGx5IGFjY29yZGluZyB0byB2MC45MiBSU1MsCndpdGggYSB2ZXJ5IGZldyBleHRlbnNpb25zIGZyb20gdjIuMCBSU1MuICBUaGV5IGFyZSBub3QgUkRGIGZpbGVzLgoKPWhlYWQxIFNFRSBBTFNPCgpMPFhNTDo6UlNTPgoKTDxodHRwOi8vbXkubmV0c2NhcGUuY29tL3B1Ymxpc2gvZm9ybWF0cy9yc3MtMC45MS5kdGQ+CgpMPGh0dHA6Ly9ibG9ncy5sYXcuaGFydmFyZC5lZHUvdGVjaC9yc3M+CgpMPGh0dHA6Ly9kaXJlY3RvcnkuZ29vZ2xlLmNvbS9Ub3AvUmVmZXJlbmNlL0xpYnJhcmllcy9MaWJyYXJ5X2FuZF9JbmZvcm1hdGlvbl9TY2llbmNlL1RlY2huaWNhbF9TZXJ2aWNlcy9DYXRhbG9ndWluZy9NZXRhZGF0YS9SREYvQXBwbGljYXRpb25zL1JTUy9TcGVjaWZpY2F0aW9ucy8+CgpMPGh0dHA6Ly9mZWVkdmFsaWRhdG9yLm9yZy8+CgpZb3UgbWlnaHQgYWxzbyBsaWtlIG15IGJvb2sgSTxQZXJsIGFuZCBMV1A+LCB3aGljaCBkaXNjdXNzZXMgdGhlIG1hbnkKc2NyZWVuLXNjcmFwaW5nIHRlY2huaXF1ZXMgdGhhdCB5b3Ugd291bGQgdXNlIGZvciBleHRyYWN0aW5nIGRhdGEgZnJvbQpIVE1MIHRvIG1ha2UgaW50byBSU1MgZmVlZHM6Cgo9b3ZlcgoKPWl0ZW0gTDxodHRwOi8vd3d3Lm9yZWlsbHkuY29tL2NhdGFsb2cvcGVybGx3cC8+Cgo9aXRlbSBMPGh0dHA6Ly93d3cuYW1hem9uLmNvbS9leGVjL29iaWRvcy9BU0lOLzA1OTYwMDE3ODkvPgoKPWl0ZW0gTDxodHRwOi8vd3d3LmFtYXpvbi5jby51ay9leGVjL29iaWRvcy9BU0lOLzA1OTYwMDE3ODkvdD4KCj1pdGVtIEw8aHR0cDovL2ludGVyZ2xhY2lhbC5jb20vZC9zY3JhcGVycz4gLS0gZXhhbXBsZXMgb2YgUGVybApwcm9ncmFtcyB0aGF0IHByb2R1Y2UgUlNTJ3MgKHdoaWNoIGFyZSB2aXNpYmxlIGF0Ckw8aHR0cDovL2ludGVyZ2xhY2lhbC5jb20vcnNzLz4gKQoKPWJhY2sKCgoKPWhlYWQxIENPUFlSSUdIVCBBTkQgRElTQ0xBSU1FUlMKCkNvcHlyaWdodCAoYykgMjAwMyw0IFNlYW4gTS4gQnVya2UuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHNhbWUgdGVybXMgYXMgUGVybCBpdHNlbGYuCgpUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CndpdGhvdXQgYW55IHdhcnJhbnR5OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKbWVyY2hhbnRhYmlsaXR5IG9yIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlLgoKUG9ydGlvbnMgb2YgdGhlIGRhdGEgdGFibGVzIGluIHRoaXMgbW9kdWxlIGFyZSBkZXJpdmVkIGZyb20gdGhlCmVudGl0eSBkZWNsYXJhdGlvbnMgaW4gdGhlIFczQyBYSFRNTCBzcGVjaWZpY2F0aW9uLgoKQ3VycmVudGx5IChKYW51YXJ5IDIwMDQpLCB0aGF0J3MgdGhlc2UgdGhyZWU6CgogICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbC1sYXQxLmVudAogICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbC1zcGVjaWFsLmVudAogICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbC1zeW1ib2wuZW50CgpQb3J0aW9ucyBvZiB0aGUgY29kZSBpbiB0aGlzIG1vZHVsZSB3ZXJlIGFkYXB0ZWQgZnJvbSBwYXJ0cyBvZgpHaXNsZSBBYXMncyBMPExXUDo6U2ltcGxlPiBhbmQgdGhlIG9sZCAodjIueCkgdmVyc2lvbiBvZiBoaXMKTDxIVE1MOjpQYXJzZXI+LgoKPWhlYWQxIEFVVEhPUgoKU2VhbiBNLiBCdXJrZSBDPHNidXJrZUBjcGFuLm9yZz4KCj1jdXQKCiogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgoKT24gQmFiYmFnZSdzIERpc2Vhc2U6CgpDaGFybGVzIEJhYmJhZ2UsIGFzIChuZWNlc3NhcmlseSkgdGhlIGZpcnN0IHBlcnNvbiB0byB3b3JrIHdpdGggbWFjaGluZXMKdGhhdCBjYW4gYXR0YWNrIHByb2JsZW1zIGF0IGFyYml0cmFyeSBsZXZlbHMgb2YgYWJzdHJhY3Rpb24sIGZlbGwgaW50byBhCnRyYXAgZmFtaWxpYXIgdG8gdG9vbHNtaXRocyBzaW5jZSwgYXMgZGVzY3JpYmVkIGhlcmUgYnkgdGhlIEVuZ2xpc2gKZXRoaWNpc3QsIExvcmQgTW91bHRvbjoKCiJPbmUgb2YgdGhlIHNhZCBtZW1vcmllcyBvZiBteSBsaWZlIGlzIGEgdmlzaXQgdG8gdGhlIGNlbGVicmF0ZWQKbWF0aGVtYXRpY2lhbiBhbmQgaW52ZW50b3IsIE1yIEJhYmJhZ2UuIEhlIHdhcyBmYXIgYWR2YW5jZWQgaW4gYWdlLCBidXQKaGlzIG1pbmQgd2FzIHN0aWxsIGFzIHZpZ29yb3VzIGFzIGV2ZXIuIEhlIHRvb2sgbWUgdGhyb3VnaCBoaXMKd29yay1yb29tcy4gSW4gdGhlIGZpcnN0IHJvb20gSSBzYXcgcGFydHMgb2YgdGhlIG9yaWdpbmFsIENhbGN1bGF0aW5nCk1hY2hpbmUsIHdoaWNoIGhhZCBiZWVuIHNob3duIGluIGFuIGluY29tcGxldGUgc3RhdGUgbWFueSB5ZWFycyBiZWZvcmUKYW5kIGhhZCBldmVuIGJlZW4gcHV0IHRvIHNvbWUgdXNlLiBJIGFza2VkIGhpbSBhYm91dCBpdHMgcHJlc2VudCBmb3JtLgonSSBoYXZlIG5vdCBmaW5pc2hlZCBpdCBiZWNhdXNlIGluIHdvcmtpbmcgYXQgaXQgSSBjYW1lIG9uIHRoZSBpZGVhIG9mCm15IEFuYWx5dGljYWwgTWFjaGluZSwgd2hpY2ggd291bGQgZG8gYWxsIHRoYXQgaXQgd2FzIGNhcGFibGUgb2YgZG9pbmcKYW5kIG11Y2ggbW9yZS4gSW5kZWVkLCB0aGUgaWRlYSB3YXMgc28gbXVjaCBzaW1wbGVyIHRoYXQgaXQgd291bGQgaGF2ZQp0YWtlbiBtb3JlIHdvcmsgdG8gY29tcGxldGUgdGhlIENhbGN1bGF0aW5nIE1hY2hpbmUgdGhhbiB0byBkZXNpZ24gYW5kCmNvbnN0cnVjdCB0aGUgb3RoZXIgaW4gaXRzIGVudGlyZXR5LCBzbyBJIHR1cm5lZCBteSBhdHRlbnRpb24gdG8gdGhlCkFuYWx5dGljYWwgTWFjaGluZS4nIgoKIkFmdGVyIGEgZmV3IG1pbnV0ZXMnIHRhbGssIHdlIHdlbnQgaW50byB0aGUgbmV4dCB3b3JrLXJvb20sIHdoZXJlIGhlCnNob3dlZCBhbmQgZXhwbGFpbmVkIHRvIG1lIHRoZSB3b3JraW5nIG9mIHRoZSBlbGVtZW50cyBvZiB0aGUgQW5hbHl0aWNhbApNYWNoaW5lLiBJIGFza2VkIGlmIEkgY291bGQgc2VlIGl0LiAnSSBoYXZlIG5ldmVyIGNvbXBsZXRlZCBpdCwnIGhlCnNhaWQsICdiZWNhdXNlIEkgaGl0IHVwb24gYW4gaWRlYSBvZiBkb2luZyB0aGUgc2FtZSB0aGluZyBieSBhIGRpZmZlcmVudAphbmQgZmFyIG1vcmUgZWZmZWN0aXZlIG1ldGhvZCwgYW5kIHRoaXMgcmVuZGVyZWQgaXQgdXNlbGVzcyB0byBwcm9jZWVkCm9uIHRoZSBvbGQgbGluZXMuJyBUaGVuIHdlIHdlbnQgaW50byB0aGUgdGhpcmQgcm9vbS4gVGhlcmUgbGF5IHNjYXR0ZXJlZApiaXRzIG9mIG1lY2hhbmlzbSwgYnV0IEkgc2F3IG5vIHRyYWNlIG9mIGFueSB3b3JraW5nIG1hY2hpbmUuIFZlcnkKY2F1dGlvdXNseSBJIGFwcHJvYWNoZWQgdGhlIHN1YmplY3QsIGFuZCByZWNlaXZlZCB0aGUgZHJlYWRlZCBhbnN3ZXIsCidJdCBpcyBub3QgY29uc3RydWN0ZWQgeWV0LCBidXQgSSBhbSB3b3JraW5nIG9uIGl0LCBhbmQgaXQgd2lsbCB0YWtlCmxlc3MgdGltZSB0byBjb25zdHJ1Y3QgaXQgYWx0b2dldGhlciB0aGFuIGl0IHdvdWxkIGhhdmUgdG9rZW4gdG8KY29tcGxldGUgdGhlIEFuYWx5dGljYWwgTWFjaGluZSBmcm9tIHRoZSBzdGFnZSBpbiB3aGljaCBJIGxlZnQgaXQuJyBJCnRvb2sgbGVhdmUgb2YgdGhlIG9sZCBtYW4gd2l0aCBhIGhlYXZ5IGhlYXJ0LiIKCiJXaGVuIGhlIGRpZWQgYSBmZXcgeWVhcnMgbGF0ZXIsIG5vdCBvbmx5IGhhZCBoZSBjb25zdHJ1Y3RlZCBubyBtYWNoaW5lLApidXQgdGhlIHZlcmRpY3Qgb2YgYSBqdXJ5IG9mIGtpbmQgYW5kIHN5bXBhdGhldGljIHNjaWVudGlmaWMgbWVuIHdobwp3ZXJlIGRlcHV0ZWQgdG8gcHJvbm91bmNlIHVwb24gd2hhdCBoZSBoYWQgbGVmdCBiZWhpbmQgaGltLCBlaXRoZXIgaW4KcGFwZXJzIG9yIGluIG1lY2hhbmlzbSwgd2FzIHRoYXQgZXZlcnl0aGluZyB3YXMgdG9vIGluY29tcGxldGUgb2YgYmUKY2FwYWJsZSBvZiBiZWluZyBwdXQgdG8gYW55IHVzZWZ1bCBwdXJwb3NlLiIKCltMb3JkIE1vdWx0b24sICJUaGUgaW52ZW50aW9uIG9mIGFsZ29yaXRobXMsIGl0cyBnZW5lc2lzLCBhbmQgZ3Jvd3RoIiwKaW4gRy4gQy4gS25vdHQsIGVkLiwgIk5hcGllciB0ZXJjZW50ZW5hcnkgbWVtb3JpYWwgdm9sdW1lIiAoTG9uZG9uLAoxOTE1KSwgcC4gMS0yNDsgcXVvdGVkIGluIENoYXJsZXMgQmFiYmFnZSAiUGFzc2FnZSBmcm9tIHRoZSBMaWZlIG9mIGEKUGhpbG9zb3BoZXIiLCBNYXJ0aW4gQ2FtcGJlbGwtS2VsbHksIGVkLiAoUnV0Z2VycyBVLiBQcmVzcyBhbmQgSUVFRQpQcmVzcywgMTk5NCksIHAuIDM0XS4KCiAtKi0KCg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmRhX0ZBUTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgbXkgJExhbmcgPSAkU2VsZi0+e1RyYW5zbGF0aW9ufTsKCiAgICByZXR1cm4gaWYgcmVmICRMYW5nIG5lICdIQVNIJzsKCiAgICAkTGFuZy0+eydZb3UgaGF2ZSBhbHJlYWR5IHZvdGVkISd9ID0gJ0R1IGhhciBhbGxlcmVkZSBzdGVtdCEnOwogICAgJExhbmctPnsnTm8gcmF0ZSBzZWxlY3RlZCEnfSAgICAgICA9ICdJbmdlbiByYXRlIHZhbGd0ISc7CiAgICAkTGFuZy0+eydUaGFua3MgZm9yIHlvdXIgdm90ZSEnfSAgID0gJ1RhayBmb3IgZGluIHN0ZW1tZSEnOwogICAgJExhbmctPnsnVm90ZXMnfSAgICAgICAgICAgICAgICAgICA9ICdTdGVtbWVyJzsKICAgICRMYW5nLT57J0xhdGVzdENoYW5nZWRJdGVtcyd9ICAgICAgPSAnU2lkc3Qg5m5kcmVkZSBhcnRpa2xlcic7CiAgICAkTGFuZy0+eydMYXRlc3RDcmVhdGVkSXRlbXMnfSAgICAgID0gJ055ZXN0ZSBhcnRpa2xlcic7CiAgICAkTGFuZy0+eydUb3AxMEl0ZW1zJ30gICAgICAgICAgICAgID0gJ1RvcCAxMCBhcnRpa2xlcic7CiAgICAkTGFuZy0+eydBcnRpY2xlVm90aW5nUXVlc3Rpb24nfSAgID0gJ0h2b3IgZ29kdCBzdmFyZWRlIGRlbm5lIGFydGlrZWwgcOUgZGl0IHNw+HJnc23lbD8nOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcnlPZid9ICAgICAgICAgICA9ICdVbmRlcmthdGVnb3JpIGFmJzsKICAgICRMYW5nLT57J1F1aWNrU2VhcmNoJ30gICAgICAgICAgICAgPSAnU/hnbmluZyc7CiAgICAkTGFuZy0+eydEZXRhaWxTZWFyY2gnfSAgICAgICAgICAgID0gJ0RldGFsamVyZXQgc/hnbmluZyc7CiAgICAkTGFuZy0+eydDYXRlZ29yaWVzJ30gICAgICAgICAgICAgID0gJ0thdGVnb3JpZXInOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcmllcyd9ICAgICAgICAgICA9ICdVbmRlcmthdGVnb3JpZXInOwogICAgJExhbmctPnsnTmV3IEZBUSBBcnRpY2xlJ30gICAgICAgICA9ICdOeSBGQVEgQXJ0aWtlbCc7CiAgICAkTGFuZy0+eydGQVEgQ2F0ZWdvcnknfSAgICAgICAgICAgID0gJ0ZBUSBLYXRlZ29yaWVyJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgc2hvdWxkIGhhdmUgYSBuYW1lISd9ICAgID0gJ0VuIGthdGVnb3JpIHNrYWwgaGF2ZSBldCBuYXZuISc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgY29tbWVudCEnfSA9ICdFbiBrYXRlZ29yaSBza2FsIGhhdmUgZW4ga29tbWVudGFyISc7CiAgICAkTGFuZy0+eydGQVEgTmV3cyAobmV3IGNyZWF0ZWQpJ30gICAgICAgICAgICA9ICdGQVEgTnloZWRlciAobnlvcHJldHRldCknOwogICAgJExhbmctPnsnRkFRIE5ld3MgKHJlY2VudGx5IGNoYW5nZWQpJ30gICAgICAgPSAnRkFRIE55aGVkZXIgKHNpZHN0IOZuZHJlZGUpJzsKICAgICRMYW5nLT57J0ZBUSBOZXdzIChUb3AgMTApJ30gICAgICAgICAgICAgICAgID0gJ0ZBUSBOeWhlZGVyIChUb3AgMTApJzsKICAgICRMYW5nLT57J1N0YXJ0RGF5J30gICAgICAgICAgICAgICAgICAgICAgICAgID0gJ1N0YXJ0IGRhZyc7CiAgICAkTGFuZy0+eydTdGFydE1vbnRoJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdTdGFydCBt5W5lZCc7CiAgICAkTGFuZy0+eydTdGFydFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICA9ICdTdGFydCDlcic7CiAgICAkTGFuZy0+eydFbmREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdTbHV0IGRhZyc7CiAgICAkTGFuZy0+eydFbmRNb250aCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdTbHV0IG3lbmVkJzsKICAgICRMYW5nLT57J0VuZFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ1NsdXQg5XInOwogICAgJExhbmctPnsnQXBwcm92YWwnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnR29ka2VuZHQnOwogICAgJExhbmctPnsKICAgICAgICAnTm8gY2F0ZWdvcnkgYWNjZXNzaWJsZS4gVG8gY3JlYXRlIGFuIGFydGljbGUgeW91IG5lZWQgYWNjZXNzIHRvIGF0IGxlYXN0IG9uZSBjYXRlZ29yeS4gUGxlYXNlIGNoZWNrIHlvdXIgZ3JvdXAvY2F0ZWdvcnkgcGVybWlzc2lvbiB1bmRlciAtY2F0ZWdvcnkgbWVudS0hJwogICAgICAgIH0KICAgICAgICA9ICdEZXIgZXIgaWtrZSB2YWxndCBrYXRlZ29yaS4gRm9yIGF0IG9wcmV0dGUgZW4gbnkgYXJ0aWtlbCBza2FsIGR1IGhhdmUgYWRnYW5nIHRpbCBtaW5kc3QgZW4ga2F0ZWdvcmkuIFRqZWsgZGluZSBHcnVwcGUvS2F0ZWdvcmkgcmV0dGlnaGVkZXIgdW5kZXIgLUthdGVnb3JpIG1lbnVlbi0hJzsKICAgICRMYW5nLT57J0FnZW50IGdyb3VwcyB3aGljaCBjYW4gYWNjZXNzIHRoaXMgY2F0ZWdvcnkuJ30KICAgICAgICA9ICdBZ2VudGdydXBwZXIgc29tIGthbiB0aWxn5SBkZW5uZSBrYXRlZ29yaS4nOwogICAgJExhbmctPnsnQSBjYXRlZ29yeSBuZWVkcyBtaW4uIG9uZSBwZXJtaXNzaW9uIGdyb3VwISd9CiAgICAgICAgPSAnRW4ga2F0ZWdvcmkgYmVo+HZlciBtaW5kc3QgZW4gcmV0dGlnaGVkc2dydXBwZS4nOwogICAgJExhbmctPnsnV2lsbCBiZSBzaG93biBhcyBjb21tZW50IGluIEV4cGxvcmVyLid9ID0gJ1ZpbCBibGl2ZSB2aXN0IHNvbSBrb21tZW50YXIgaSBFeHBsb3JlLic7CgogICAgcmV0dXJuIDE7Cn0KCjE7Cg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmRlX0ZBUTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgbXkgJExhbmcgPSAkU2VsZi0+e1RyYW5zbGF0aW9ufTsKCiAgICByZXR1cm4gaWYgcmVmICRMYW5nIG5lICdIQVNIJzsKCiAgICAkTGFuZy0+eydZb3UgaGF2ZSBhbHJlYWR5IHZvdGVkISd9ID0gJ1NpZSBoYWJlbiBiZXJlaXRzIGJld2VydGV0ISc7CiAgICAkTGFuZy0+eydObyByYXRlIHNlbGVjdGVkISd9ICAgICAgID0gJ0tlaW5lIEJld2VydHVuZyBhdXN35GhsdCEnOwogICAgJExhbmctPnsnVGhhbmtzIGZvciB5b3VyIHZvdGUhJ30gICA9ICdEYW5rZSBm/HIgSWhyZSBCZXdlcnR1bmdlbiEnOwogICAgJExhbmctPnsnVm90ZXMnfSAgICAgICAgICAgICAgICAgICA9ICdCZXdlcnR1bmdlbic7CiAgICAkTGFuZy0+eydMYXRlc3RDaGFuZ2VkSXRlbXMnfSAgICAgID0gJ3p1bGV0enQgZ2XkbmRlcnRlIEFydGlrZWwnOwogICAgJExhbmctPnsnTGF0ZXN0Q3JlYXRlZEl0ZW1zJ30gICAgICA9ICd6dWxldHp0IGVyc3RlbGx0ZSBBcnRpa2VsJzsKICAgICRMYW5nLT57J1RvcDEwSXRlbXMnfSAgICAgICAgICAgICAgPSAnVG9wIDEwIEFydGlrZWwnOwogICAgJExhbmctPnsnQXJ0aWNsZVZvdGluZ1F1ZXN0aW9uJ30gICA9ICdXaWUgZ3V0IHd1cmRlIG1pdCBkaWVzZW0gQXJ0aWtlbCBJaHJlIEZyYWdlIGJlYW50d29ydGV0Pyc7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yeU9mJ30gICAgICAgICAgID0gJ1VudGVya2F0ZWdvcmllIHZvbic7CiAgICAkTGFuZy0+eydRdWlja1NlYXJjaCd9ICAgICAgICAgICAgID0gJ1NjaG5lbGxzdWNoZSc7CiAgICAkTGFuZy0+eydEZXRhaWxTZWFyY2gnfSAgICAgICAgICAgID0gJ0RldGFpbHN1Y2hlJzsKICAgICRMYW5nLT57J0NhdGVnb3JpZXMnfSAgICAgICAgICAgICAgPSAnS2F0ZWdvcmllbic7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yaWVzJ30gICAgICAgICAgID0gJ1N1YmthdGVnb3JpZW4nOwogICAgJExhbmctPnsnTmV3IEZBUSBBcnRpY2xlJ30gICAgICAgICA9ICdOZXVlciBGQVEgQXJ0aWtlbCc7CiAgICAkTGFuZy0+eydGQVEgQ2F0ZWdvcnknfSAgICAgICAgICAgID0gJ0ZBUSBLYXRlZ29yaWUnOwogICAgJExhbmctPnsnQSBjYXRlZ29yeSBzaG91bGQgaGF2ZSBhIG5hbWUhJ30gICAgICAgID0gJ0VpbmUgS2F0ZWdvcmllbiBzb2xsdGUgZWluZW4gTmFtZW4gaGFiZW4hJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgc2hvdWxkIGhhdmUgYSBjb21tZW50ISd9ICAgICA9ICdFaW5lIEthdGVnb3JpZW4gc29sbHRlIGVpbmVuIEtvbW1lbnRhciBoYWJlbiEnOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChuZXcgY3JlYXRlZCknfSAgICAgICAgICAgID0gJ0ZBUSBBcnRpY2xlcyAobmV1IGVyc3RlbGx0ZSknOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChyZWNlbnRseSBjaGFuZ2VkKSd9ICAgICAgID0gJ0ZBUSBBcnRpY2xlcyAoenVsZXR6dCBnZeRuZGVydGUpJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAoVG9wIDEwKSd9ICAgICAgICAgICAgICAgICA9ICdGQVEgQXJ0aWNsZXMgKFRvcCAxMCknOwogICAgJExhbmctPnsnU3RhcnREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ1N0YXJ0IFRhZyc7CiAgICAkTGFuZy0+eydTdGFydE1vbnRoJ30gICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnU3RhcnQgTW9uYXQnOwogICAgJExhbmctPnsnU3RhcnRZZWFyJ30gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ1N0YXJ0IEphaHInOwogICAgJExhbmctPnsnRW5kRGF5J30gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0VuZCBUYWcnOwogICAgJExhbmctPnsnRW5kTW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0VuZCBNb25hdCc7CiAgICAkTGFuZy0+eydFbmRZZWFyJ30gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnRW5kIEphaHInOwogICAgJExhbmctPnsnQXBwcm92YWwnfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0ZyZWlnYWJlJzsKICAgICRMYW5nLT57CiAgICAgICAgJ05vIGNhdGVnb3J5IGFjY2Vzc2libGUuIFRvIGNyZWF0ZSBhbiBhcnRpY2xlIHlvdSBuZWVkIGFjY2VzcyB0byBhdCBsZWFzdCBvbmUgY2F0ZWdvcnkuIFBsZWFzZSBjaGVjayB5b3VyIGdyb3VwL2NhdGVnb3J5IHBlcm1pc3Npb24gdW5kZXIgLWNhdGVnb3J5IG1lbnUtIScKICAgICAgICB9CiAgICAgICAgPSAnS2VpbmUgS2F0ZWdvcmllLUF1c3dhaGwgbfZnbGljaC4gVW0gZWluZW4gQXJ0aWtlbCBlcnN0ZWxsZW4genUga/ZubmVuLCBtdXNzIG1hbiBtaW4uIFp1Z3JpZmYgYXVmIGVpbmUgS2F0ZWdvcmllIGhhYmVuLiBCaXR0ZSD8YmVycHL8ZmVuIFNpZSBkaWUgR3J1cHBlbi9LYXRlZ29yaWUgQmVyZWNodGlndW5nIGltIE1lbnVwdW5rdCAtS2F0ZWdvcmllLSEnOwogICAgJExhbmctPnsnQWdlbnQgZ3JvdXBzIHdoaWNoIGNhbiBhY2Nlc3MgdGhpcyBjYXRlZ29yeS4nfQogICAgICAgID0gJ0FnZW50ZW4gR3J1cHBlIHdlbGNoZSBhdWYgZGllc2UgS2F0ZWdvcmllIFp1Z3JpZmYgaGF0Lic7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IG5lZWRzIG1pbi4gb25lIHBlcm1pc3Npb24gZ3JvdXAhJ30KICAgICAgICA9ICdFaW5lIEthdGVnb3JpZSBtdXNzIG1pbi4gZWluZSBCZXJlY2h0aWd1bmdzLUdydXBwZSBoYWJlbi4nOwogICAgJExhbmctPnsnV2lsbCBiZSBzaG93biBhcyBjb21tZW50IGluIEV4cGxvcmVyLid9ID0gJ1dpcmQgaW0gRXhwbG9yZXIgYWxzIEtvbW1lbnRhciBhbmdlemVpZ3QuJzsKCiAgICByZXR1cm4gMTsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmVuX0ZBUTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgbXkgJExhbmcgPSAkU2VsZi0+e1RyYW5zbGF0aW9ufTsKCiAgICByZXR1cm4gaWYgcmVmICRMYW5nIG5lICdIQVNIJzsKCiAgICAkTGFuZy0+eydZb3UgaGF2ZSBhbHJlYWR5IHZvdGVkISd9ICAgICAgICAgICA9ICdZb3UgaGF2ZSBhbHJlYWR5IHZvdGVkISc7CiAgICAkTGFuZy0+eydObyByYXRlIHNlbGVjdGVkISd9ICAgICAgICAgICAgICAgICA9ICdObyByYXRlIHNlbGVjdGVkISc7CiAgICAkTGFuZy0+eydUaGFua3MgZm9yIHlvdXIgdm90ZSEnfSAgICAgICAgICAgICA9ICcnOwogICAgJExhbmctPnsnVm90ZXMnfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnJzsKICAgICRMYW5nLT57J0xhdGVzdENoYW5nZWRJdGVtcyd9ICAgICAgICAgICAgICAgID0gJ2xhdGVzdCBjaGFuZ2VkIGFydGljbGUnOwogICAgJExhbmctPnsnTGF0ZXN0Q3JlYXRlZEl0ZW1zJ30gICAgICAgICAgICAgICAgPSAnbGF0ZXN0IGNyZWF0ZWQgYXJ0aWNsZSc7CiAgICAkTGFuZy0+eydUb3AxMEl0ZW1zJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdUb3AgMTAgYXJ0aWNsZXMnOwogICAgJExhbmctPnsnQXJ0aWNsZVZvdGluZ1F1ZXN0aW9uJ30gICAgICAgICAgICAgPSAnRGlkIHRoaXMgYXJ0aWNsZSBoZWxwPyc7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yeU9mJ30gICAgICAgICAgICAgICAgICAgICA9ICdTdWJjYXRlZ29yeSBvZic7CiAgICAkTGFuZy0+eydRdWlja1NlYXJjaCd9ICAgICAgICAgICAgICAgICAgICAgICA9ICdRdWljayBTZWFyY2gnOwogICAgJExhbmctPnsnRGV0YWlsU2VhcmNoJ30gICAgICAgICAgICAgICAgICAgICAgPSAnRGV0YWlsIFNlYXJjaCc7CiAgICAkTGFuZy0+eydDYXRlZ29yaWVzJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICcnOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcmllcyd9ICAgICAgICAgICAgICAgICAgICAgPSAnU3ViY2F0ZWdvcmllcyc7CiAgICAkTGFuZy0+eydOZXcgRkFRIEFydGljbGUnfSAgICAgICAgICAgICAgICAgICA9ICcnOwogICAgJExhbmctPnsnRkFRIENhdGVnb3J5J30gICAgICAgICAgICAgICAgICAgICAgPSAnJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgc2hvdWxkIGhhdmUgYSBuYW1lISd9ICAgID0gJyc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgY29tbWVudCEnfSA9ICcnOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChuZXcgY3JlYXRlZCknfSAgICAgICAgPSAnJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAocmVjZW50bHkgY2hhbmdlZCknfSAgID0gJyc7CiAgICAkTGFuZy0+eydGQVEgQXJ0aWNsZXMgKFRvcCAxMCknfSAgICAgICAgICAgICA9ICcnOwogICAgJExhbmctPnsnU3RhcnREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnU3RhcnQgZGF5JzsKICAgICRMYW5nLT57J1N0YXJ0TW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgID0gJ1N0YXJ0IG1vbnRoJzsKICAgICRMYW5nLT57J1N0YXJ0WWVhcid9ICAgICAgICAgICAgICAgICAgICAgICAgID0gJ1N0YXJ0IHllYXInOwogICAgJExhbmctPnsnRW5kRGF5J30gICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnRW5kIGRheSc7CiAgICAkTGFuZy0+eydFbmRNb250aCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdFbmQgbW9udGgnOwogICAgJExhbmctPnsnRW5kWWVhcid9ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnRW5kIHllYXInOwogICAgJExhbmctPnsnQXBwcm92YWwnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnQXBwcm92YWwnOwoKICAgICRMYW5nLT57CiAgICAgICAgJ05vIGNhdGVnb3J5IGFjY2Vzc2libGUuIFRvIGNyZWF0ZSBhbiBhcnRpY2xlIHlvdSBuZWVkIGFjY2VzcyB0byBhdCBsZWFzdCBvbmUgY2F0ZWdvcnkuIFBsZWFzZSBjaGVjayB5b3VyIGdyb3VwL2NhdGVnb3J5IHBlcm1pc3Npb24gdW5kZXIgLWNhdGVnb3J5IG1lbnUtIScKICAgICAgICB9ID0gJyc7CiAgICAkTGFuZy0+eydBZ2VudCBncm91cHMgd2hpY2ggY2FuIGFjY2VzcyB0aGlzIGNhdGVnb3J5Lid9ID0gJyc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IG5lZWRzIG1pbi4gb25lIHBlcm1pc3Npb24gZ3JvdXAhJ30gICA9ICcnOwogICAgJExhbmctPnsnV2lsbCBiZSBzaG93biBhcyBjb21tZW50IGluIEV4cGxvcmVyLid9ICAgICAgICAgPSAnJzsKCiAgICByZXR1cm4gMTsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDA4IEFxdWlsZXMgQ29oZW4KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6ZXNfRkFROwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKc3ViIERhdGEgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICBteSAkTGFuZyA9ICRTZWxmLT57VHJhbnNsYXRpb259OwoKICAgIHJldHVybiBpZiByZWYgJExhbmcgbmUgJ0hBU0gnOwoKICAgICRMYW5nLT57J1lvdSBoYXZlIGFscmVhZHkgdm90ZWQhJ30gICAgICAgICAgID0gJ1VzdGVkIHlhIGhhIHZvdGFkbyEnOwogICAgJExhbmctPnsnTm8gcmF0ZSBzZWxlY3RlZCEnfSAgICAgICAgICAgICAgICAgPSAnTm8gc2VsZWNjaW9ubyBwdW50YWplISc7CiAgICAkTGFuZy0+eydUaGFua3MgZm9yIHlvdXIgdm90ZSEnfSAgICAgICAgICAgICA9ICdHcmFjaWFzIHBvciBzdSB2b3RvISc7CiAgICAkTGFuZy0+eydWb3Rlcyd9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdWb3Rvcyc7CiAgICAkTGFuZy0+eydMYXRlc3RDaGFuZ2VkSXRlbXMnfSAgICAgICAgICAgICAgICA9ICd1bHRpbW8gYXJ0aWN1bG8gbW9kaWZpY2Fkbyc7CiAgICAkTGFuZy0+eydMYXRlc3RDcmVhdGVkSXRlbXMnfSAgICAgICAgICAgICAgICA9ICd1bHRpbW9zIGFydGljdWxvIGNyZWFkbyc7CiAgICAkTGFuZy0+eydUb3AxMEl0ZW1zJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdUb3AgMTAgYXJ0aWN1bG9zJzsKICAgICRMYW5nLT57J0FydGljbGVWb3RpbmdRdWVzdGlvbid9ICAgICAgICAgICAgID0gJ0xvIGF5dWRvIGVzdGUgYXJ0aWN1bG8/JzsKICAgICRMYW5nLT57J1N1YkNhdGVnb3J5T2YnfSAgICAgICAgICAgICAgICAgICAgID0gJ1N1YiBDYXRlZ29yaWEgZGUnOwogICAgJExhbmctPnsnUXVpY2tTZWFyY2gnfSAgICAgICAgICAgICAgICAgICAgICAgPSAnQnVzcXVlZGEgcuFwaWRhJzsKICAgICRMYW5nLT57J0RldGFpbFNlYXJjaCd9ICAgICAgICAgICAgICAgICAgICAgID0gJ0J1c3F1ZWRhIGRldGFsbGFkYSc7CiAgICAkTGFuZy0+eydDYXRlZ29yaWVzJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdDYXRlZ29yaWFzJzsKICAgICRMYW5nLT57J1N1YkNhdGVnb3JpZXMnfSAgICAgICAgICAgICAgICAgICAgID0gJ1N1YmNhdGVnb3JpYXMnOwogICAgJExhbmctPnsnTmV3IEZBUSBBcnRpY2xlJ30gICAgICAgICAgICAgICAgICAgPSAnJzsKICAgICRMYW5nLT57J0ZBUSBDYXRlZ29yeSd9ICAgICAgICAgICAgICAgICAgICAgID0gJyc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgbmFtZSEnfSAgICA9ICdDYWRhIGNhdGVnb3LtYSBkZWJlIHRlbmVyIHVuIG5vbWJyZSEnOwogICAgJExhbmctPnsnQSBjYXRlZ29yeSBzaG91bGQgaGF2ZSBhIGNvbW1lbnQhJ30gPSAnQ2FkYSBjYXRlZ29yaWEgZGViZSB0ZW5lciB1biBjb21lbnRhcmlvJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAobmV3IGNyZWF0ZWQpJ30gICAgICAgID0gJ05vdGljaWFzIEZBUSAoY3JlYWRvIG51ZXZvKSc7CiAgICAkTGFuZy0+eydGQVEgQXJ0aWNsZXMgKHJlY2VudGx5IGNoYW5nZWQpJ30gICA9ICdOb3RpY2lhcyBGQVEgKFJlY2llbnRlbWVudGUgbW9kaWZpY2FkbyknOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChUb3AgMTApJ30gICAgICAgICAgICAgPSAnTm90aWNpYXMgRkFRIChUb3AgMTApJzsKICAgICRMYW5nLT57J1N0YXJ0RGF5J30gICAgICAgICAgICAgICAgICAgICAgICAgID0gJ1N0YXJ0IGRheSc7CiAgICAkTGFuZy0+eydTdGFydE1vbnRoJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdTdGFydCBtb250aCc7CiAgICAkTGFuZy0+eydTdGFydFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICA9ICdTdGFydCB5ZWFyJzsKICAgICRMYW5nLT57J0VuZERheSd9ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0VuZCBkYXknOwogICAgJExhbmctPnsnRW5kTW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnRW5kIG1vbnRoJzsKICAgICRMYW5nLT57J0VuZFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0VuZCB5ZWFyJzsKICAgICRMYW5nLT57J0FwcHJvdmFsJ30gICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0FwcHJvdmFsJzsKICAgICRMYW5nLT57CiAgICAgICAgJ05vIGNhdGVnb3J5IGFjY2Vzc2libGUuIFRvIGNyZWF0ZSBhbiBhcnRpY2xlIHlvdSBuZWVkIGFjY2VzcyB0byBhdCBsZWFzdCBvbmUgY2F0ZWdvcnkuIFBsZWFzZSBjaGVjayB5b3VyIGdyb3VwL2NhdGVnb3J5IHBlcm1pc3Npb24gdW5kZXIgLWNhdGVnb3J5IG1lbnUtIScKICAgICAgICB9CiAgICAgICAgPSAnTm8gc2UgcHVlZGUgYWNjZWRlciBhIG5pbmd1bmEgY2F0ZWdvcu1hLiBQYXJhIGNyZWFyIHVuIGFydGljdWxvIHVzdGVkIGRlYmUgdGVuZXIgYWNjZXNvIGEgbe1uaW1vIHVuYSBjYXRlZ29y7WEuIFBvciBmYXZvciByZXZpc2Ugc3VzIHBlcm1pc29zIGRlIGdydXBvL2NhdGVnb3LtYSBlbiBlbCAtbWVu+iBjYXRlZ29y7WEtISc7CiAgICAkTGFuZy0+eydBZ2VudCBncm91cHMgd2hpY2ggY2FuIGFjY2VzcyB0aGlzIGNhdGVnb3J5Lid9CiAgICAgICAgPSAnTG9zIGdydXBvcyBhZ2VudGVzIHB1ZWRlbiBhY2NlZGVyIGEgZXN0YSBjYXRlZ29y7WEnOwogICAgJExhbmctPnsnQSBjYXRlZ29yeSBuZWVkcyBtaW4uIG9uZSBwZXJtaXNzaW9uIGdyb3VwISd9CiAgICAgICAgPSAnVW5hIGNhdGVnb3JpYSBuZWNlc2l0YSBtaW5pbW8gdW4gcGVybWlzbyBkZSBncnVwbyEnOwogICAgJExhbmctPnsnV2lsbCBiZSBzaG93biBhcyBjb21tZW50IGluIEV4cGxvcmVyLid9ID0gJ1NlcmFuIG1vc3RyYWRvcyBjb21vIGNvbWVudGFyaW9zIGVuIEV4cGxvcmVyLic7CgogICAgcmV0dXJuIDE7Cn0KCjE7Cg==
IyAtLQojIEtlcm5lbC9MYW5ndWFnZS9mYV9GQVEucG0gLSB0aGUgcGVyc2lhbiAoZmFyc2kpIHRyYW5zbGF0aW9uIG9mIEZBUQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgVHJhbnNsYXRlZC9VcGRhdGVkIGludG8gUGVyc2lhbiAoRmFyc2kpIGJ5IEFmc2hhciBNb2hlYmJpIDxhZnNoYXIubW9oZWJiaSBhdCBnbWFpbC5jb20+CiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OmZhX0ZBUTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgbXkgJExhbmcgPSAkU2VsZi0+e1RyYW5zbGF0aW9ufTsKCiAgICByZXR1cm4gaWYgcmVmICRMYW5nIG5lICdIQVNIJzsKCiAgICAkTGFuZy0+eydZb3UgaGF2ZSBhbHJlYWR5IHZvdGVkISd9ID0gJ9i02YXYpyDZgtio2YTYpyDYsdin24wg2K/Yp9iv2YfigIzYp9uM2K8hJzsKICAgICRMYW5nLT57J05vIHJhdGUgc2VsZWN0ZWQhJ30gICAgICAgPSAn2KfZhdiq24zYp9iyINix2Kcg2KfZhtiq2K7Yp9ioINmG2qnYsdiv2YfigIzYp9uM2K8hJzsKICAgICRMYW5nLT57J1RoYW5rcyBmb3IgeW91ciB2b3RlISd9ICAgPSAn2KfYsiDYsdin24wg2LTZhdinINiz2b7Yp9iz2q/Ystin2LHbjNmFISc7CiAgICAkTGFuZy0+eydWb3Rlcyd9ICAgICAgICAgICAgICAgICAgID0gJ9ii2LHYpyc7CiAgICAkTGFuZy0+eydMYXRlc3RDaGFuZ2VkSXRlbXMnfSAgICAgID0gJ9ii2K7YsduM2YYg2KfZgtmE2KfZhSDYqti52LHbjNmBINi02K/Zhyc7CiAgICAkTGFuZy0+eydMYXRlc3RDcmVhdGVkSXRlbXMnfSAgICAgID0gJ9ii2K7YsduM2YYg2KfZgtmE2KfZhSDYp9uM2KzYp9ivINi02K/Zhyc7CiAgICAkTGFuZy0+eydUb3AxMEl0ZW1zJ30gICAgICAgICAgICAgID0gJ9io2KfZhNin2KrYsduM2YYg27HbsCDZgtmE2YUnOwogICAgJExhbmctPnsnQXJ0aWNsZVZvdGluZ1F1ZXN0aW9uJ30gICA9ICfYs9mI2KfZhCDYsdin24zigIzYr9mH24wg2KjZhyDZhtmI2LTYqtmH4oCM2YfYpyc7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yeU9mJ30gICAgICAgICAgID0gJ9iy24zYsSDZhdis2YXZiNi52YfigIzbjCc7CiAgICAkTGFuZy0+eydRdWlja1NlYXJjaCd9ICAgICAgICAgICAgID0gJ9is2LPYqtis2YjbjCDYs9ix24zYuSc7CiAgICAkTGFuZy0+eydEZXRhaWxTZWFyY2gnfSAgICAgICAgICAgID0gJ9is2LPYqtis2YjbjCDYqNinINis2LLbjNuM2KfYqic7CiAgICAkTGFuZy0+eydDYXRlZ29yaWVzJ30gICAgICAgICAgICAgID0gJ9iv2LPYqtmH4oCM2KjZhtiv24zigIzZh9inJzsKICAgICRMYW5nLT57J1N1YkNhdGVnb3JpZXMnfSAgICAgICAgICAgPSAn2LLbjNixINiv2LPYqtmH4oCM2YfYpyc7CiAgICAkTGFuZy0+eydOZXcgRkFRIEFydGljbGUnfSAgICAgICAgID0gJ9mG2YjYtNiq2Ycg2KzYr9uM2K8gRkFRJzsKICAgICRMYW5nLT57J0ZBUSBDYXRlZ29yeSd9ICAgICAgICAgICAgPSAn2K/Ys9iq2YcgRkFRJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgc2hvdWxkIGhhdmUgYSBuYW1lISd9ICAgID0gJ9iv2LPYqtmHINio2K/ZiNmGINmG2KfZhSDYp9mF2qnYp9mGINm+2LDbjNixINmG24zYs9iqISc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgY29tbWVudCEnfSA9ICfYr9iz2KrZhyDYqNiv2YjZhiDYqtmI2LbbjNitINin2YXaqdin2YYg2b7YsNuM2LEg2YbbjNiz2KohJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAobmV3IGNyZWF0ZWQpJ30gICAgICAgID0gJ9in2K7YqNin2LEgRkFRICjYrNiv24zYr9inINin24zYrNin2K8g2LTYr9mHKSc7CiAgICAkTGFuZy0+eydGQVEgQXJ0aWNsZXMgKHJlY2VudGx5IGNoYW5nZWQpJ30gICA9ICfYp9iu2KjYp9ixIEZBUSAo2KzYr9uM2K/YpyDYqti624zbjNixINuM2KfZgdiq2YcpJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAoVG9wIDEwKSd9ICAgICAgICAgICAgID0gJ9in2K7YqNin2LEgRkFRICjbsduwINiq2KfbjCDYqNix2KrYsSknOwogICAgJExhbmctPnsnU3RhcnREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAn2LHZiNiyINii2LrYp9iyJzsKICAgICRMYW5nLT57J1N0YXJ0TW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgID0gJ9mF2KfZhyDYoti62KfYsic7CiAgICAkTGFuZy0+eydTdGFydFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICA9ICfYs9in2YQg2KLYutin2LInOwogICAgJExhbmctPnsnRW5kRGF5J30gICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAn2LHZiNiyINm+2KfbjNin2YYnOwogICAgJExhbmctPnsnRW5kTW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAn2YXYp9mHINm+2KfbjNin2YYnOwogICAgJExhbmctPnsnRW5kWWVhcid9ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAn2LPYp9mEINm+2KfbjNin2YYnOwogICAgJExhbmctPnsnQXBwcm92YWwnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAn2KrYp9uM24zYryc7CiAgICAkTGFuZy0+ewogICAgICAgICdObyBjYXRlZ29yeSBhY2Nlc3NpYmxlLiBUbyBjcmVhdGUgYW4gYXJ0aWNsZSB5b3UgbmVlZCBhY2Nlc3MgdG8gYXQgbGVhc3Qgb25lIGNhdGVnb3J5LiBQbGVhc2UgY2hlY2sgeW91ciBncm91cC9jYXRlZ29yeSBwZXJtaXNzaW9uIHVuZGVyIC1jYXRlZ29yeSBtZW51LSEnCiAgICAgICAgfQogICAgICAgID0gJ9iv2LPYqtix2LPbjCDYqNmHINmH24zahiDaqdiv2KfZhSDYp9iyINiv2LPYqtmH4oCM2KjZhtiv24zigIzZh9inINmF2YLYr9mI2LEg2YbbjNiz2KouINio2LHYp9uMINin24zYrNin2K8g24zaqSDZhtmI2LTYqtmHINis2K/bjNivINin2YLZhNinINio2Ycg24zaqSDYr9iz2KrZh+KAjNio2YbYr9uMINio2KfbjNivINiv2LPYqtix2LPbjCDYr9in2LTYqtmHINio2KfYtNuM2K8uINmE2LfZgdinINin2LIg2LfYsduM2YIg2YXZhtmI24wgY2F0ZWdvcnkg2K/Ys9iq2LHYs9uM4oCM2YfYp9uMINqv2LHZiNmHL9iv2LPYqtmHINix2Kcg2KjYsdix2LPbjCDZgdix2YXYp9uM24zYryEnOwogICAgJExhbmctPnsnQWdlbnQgZ3JvdXBzIHdoaWNoIGNhbiBhY2Nlc3MgdGhpcyBjYXRlZ29yeS4nfQogICAgICAgID0gJ9qv2LHZiNmH4oCM2YfYp9uMINqp2KfYsdi02YbYp9iz24wg2qnZhyDYqNmHINin24zZhiDYr9iz2KrZh+KAjNio2YbYr9uMINiv2LPYqtix2LPbjCDYr9in2LHZhtivLic7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IG5lZWRzIG1pbi4gb25lIHBlcm1pc3Npb24gZ3JvdXAhJ30KICAgICAgICA9ICfbjNqpINiv2LPYqtmH4oCM2KjZhtiv24wg2KfZgtmE2Kcg2YbbjNin2LIg2KjZhyDYr9iz2KrYsdiz24wg2KjZhyDbjNqpINqv2LHZiNmHINix2Kcg2K/Yp9ix2K8hJzsKICAgICRMYW5nLT57J1dpbGwgYmUgc2hvd24gYXMgY29tbWVudCBpbiBFeHBsb3Jlci4nfSA9ICfYr9ixIEV4cGxvcmVyINio2Ycg2LXZiNix2Kog24zaqSDZhdiq2YYg2KrZiNi224zYrduMINmG2YXYp9uM2LQg2K/Yp9iv2Ycg2K7ZiNin2YfZhtivINi02K8uJzsKCiAgICByZXR1cm4gMTsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDA5IEpvbmF0aGFuIFBleXJvdAojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Okxhbmd1YWdlOjpmcl9GQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgIG15ICRMYW5nID0gJFNlbGYtPntUcmFuc2xhdGlvbn07CgogICAgcmV0dXJuIGlmIHJlZiAkTGFuZyBuZSAnSEFTSCc7CgogICAgJExhbmctPnsnWW91IGhhdmUgYWxyZWFkeSB2b3RlZCEnfSAgICAgICAgICAgPSAnVm91cyBhdmV6IGTpauAgdm906SAhJzsKICAgICRMYW5nLT57J05vIHJhdGUgc2VsZWN0ZWQhJ30gICAgICAgICAgICAgICAgID0gJ1BhcyBkZSBz6WxlY3Rpb24gISc7CiAgICAkTGFuZy0+eydUaGFua3MgZm9yIHlvdXIgdm90ZSEnfSAgICAgICAgICAgICA9ICdNZXJjaSBwb3VyIHZvdHJlIHZvdGUgISc7CiAgICAkTGFuZy0+eydWb3Rlcyd9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdWb3Rlcyc7CiAgICAkTGFuZy0+eydMYXRlc3RDaGFuZ2VkSXRlbXMnfSAgICAgICAgICAgICAgICA9ICdEZXJuaehyZXMgcXVlc3Rpb25zIG1vZGlmaellcyc7CiAgICAkTGFuZy0+eydMYXRlc3RDcmVhdGVkSXRlbXMnfSAgICAgICAgICAgICAgICA9ICdEZXJuaehyZXMgcXVlc3Rpb25zIGNy6ellcyc7CiAgICAkTGFuZy0+eydUb3AxMEl0ZW1zJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdUb3AgMTAgZGVzIHF1ZXN0aW9ucyc7CiAgICAkTGFuZy0+eydBcnRpY2xlVm90aW5nUXVlc3Rpb24nfSAgICAgICAgICAgICA9ICdWb3VsZXogdm91cyB2b3RlciBwb3VyIGNldHRlIHF1ZXN0aW9uID8nOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcnlPZid9ICAgICAgICAgICAgICAgICAgICAgPSAnU291cyBjYXTpZ29yaWUgZGUnOwogICAgJExhbmctPnsnUXVpY2tTZWFyY2gnfSAgICAgICAgICAgICAgICAgICAgICAgPSAnUmVjaGVyY2hlIHJhcGlkZSc7CiAgICAkTGFuZy0+eydEZXRhaWxTZWFyY2gnfSAgICAgICAgICAgICAgICAgICAgICA9ICdE6XRhaWxzIGRlIGxhIHJlY2hlcmNoZSc7CiAgICAkTGFuZy0+eydDYXRlZ29yaWVzJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdDYXTpZ29yaWVzJzsKICAgICRMYW5nLT57J1N1YkNhdGVnb3JpZXMnfSAgICAgICAgICAgICAgICAgICAgID0gJ1NvdXMtY2F06Wdvcmllcyc7CiAgICAkTGFuZy0+eydOZXcgRkFRIEFydGljbGUnfSAgICAgICAgICAgICAgICAgICA9ICdOb3V2ZWxsZSBxdWVzdGlvbiBkYW5zIGxhIEZBUSc7CiAgICAkTGFuZy0+eydGQVEgQ2F0ZWdvcnknfSAgICAgICAgICAgICAgICAgICAgICA9ICdDYXTpZ29yaWUgRkFRJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgc2hvdWxkIGhhdmUgYSBuYW1lISd9ICAgID0gJ1VuZSBjYXTpZ29yaWUgZG9pdCBhdm9pciB1biBub20gISc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgY29tbWVudCEnfSA9ICdVbmUgY2F06WdvcmllIGRvaXQgcG9zc+lkZXIgdW4gY29tbWVudGFpcmUnOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChuZXcgY3JlYXRlZCknfSAgICAgICAgPSAnRkFRIEFydGljbGVzIChub3V2ZWxsZXMgcXVlc3Rpb25zKSc7CiAgICAkTGFuZy0+eydGQVEgQXJ0aWNsZXMgKHJlY2VudGx5IGNoYW5nZWQpJ30gICA9ICdGQVEgQXJ0aWNsZXMgKGRlcm5pZXJzIGNoYW5nZW1lbnRzKSc7CiAgICAkTGFuZy0+eydGQVEgQXJ0aWNsZXMgKFRvcCAxMCknfSAgICAgICAgICAgICA9ICdGQVEgQXJ0aWNsZXMgKFRvcCAxMCknOwogICAgJExhbmctPnsnU3RhcnREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnSm91ciBE6WJ1dCc7CiAgICAkTGFuZy0+eydTdGFydE1vbnRoJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdNb2lzIETpYnV0JzsKICAgICRMYW5nLT57J1N0YXJ0WWVhcid9ICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0FubullIETpYnV0JzsKICAgICRMYW5nLT57J0VuZERheSd9ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0pvdXIgRmluJzsKICAgICRMYW5nLT57J0VuZE1vbnRoJ30gICAgICAgICAgICAgICAgICAgICAgICAgID0gJ01vaXMgRmluJzsKICAgICRMYW5nLT57J0VuZFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0FubullIEZpbic7CiAgICAkTGFuZy0+eydBcHByb3ZhbCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdBdXRvcmlzYXRpb24nOwogICAgJExhbmctPnsKICAgICAgICAnTm8gY2F0ZWdvcnkgYWNjZXNzaWJsZS4gVG8gY3JlYXRlIGFuIGFydGljbGUgeW91IG5lZWQgYWNjZXNzIHRvIGF0IGxlYXN0IG9uZSBjYXRlZ29yeS4gUGxlYXNlIGNoZWNrIHlvdXIgZ3JvdXAvY2F0ZWdvcnkgcGVybWlzc2lvbiB1bmRlciAtY2F0ZWdvcnkgbWVudS0hJwogICAgICAgIH0KICAgICAgICA9ICdBdWN1biBjYXTpZ29yaWUgYWNjZXNzaWJsZS4gUG91ciBjcullciB1bmUgcXVlc3Rpb24sIHZvdXMgZGV2ZXogYXZvaXIgYWNj6HMg4CBhdSBtb2lucyB1bmUgY2F06WdvcmllLiBTVlAgdulyaWZpZXogbGVzIHBlcm1pc3Npb25zIGRlIHZvdHJlIGdyb3VwZS9jYXTpZ29yaWUgdmlhIGxlIG1lbnUgLWNhdOlnb3JpZS0gISc7CiAgICAkTGFuZy0+eydBZ2VudCBncm91cHMgd2hpY2ggY2FuIGFjY2VzcyB0aGlzIGNhdGVnb3J5Lid9CiAgICAgICAgPSAnR3JvdXBlcyBkXCdBZ2VudHMgcG91dmFudCBhY2PpZGVyIOAgY2V0dGUgY2F06WdvcmllJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgbmVlZHMgbWluLiBvbmUgcGVybWlzc2lvbiBncm91cCEnfQogICAgICAgID0gJ1VuZSBjYXTpZ29yaWUgbuljZXNzaXRlIGF1IG1pbmltdW0gdW5lIHBlcm1pc3Npb24gZGUgZ3JvdXBlICEnOwogICAgJExhbmctPnsnV2lsbCBiZSBzaG93biBhcyBjb21tZW50IGluIEV4cGxvcmVyLid9ID0gJ1NlcmEgYWZmaWNo6SBjb21tZSB1biBjb21tZW50YWlyZSBkYW5zIGxcJ0V4cGxvcmVyLic7CgogICAgcmV0dXJuIDE7Cn0KCjE7Cg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDA5IE1pY2hpZWwgQmVpamVuIDxtaWNoaWVsICdhdCcgYmVlZnJlZWl0Lm5sPgojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Okxhbmd1YWdlOjpubF9GQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgIG15ICRMYW5nID0gJFNlbGYtPntUcmFuc2xhdGlvbn07CgogICAgcmV0dXJuIGlmIHJlZiAkTGFuZyBuZSAnSEFTSCc7CgogICAgJExhbmctPnsnRkFRJ30gPSAnRkFRJzsKICAgICRMYW5nLT57J0ZBUS1BcmVhJ30gPSAnS25vd2xlZGdlIEJhc2UnOwogICAgJExhbmctPnsnWW91IGhhdmUgYWxyZWFkeSB2b3RlZCEnfSA9ICdVIGhlZWZ0IGFsIGdlc3RlbWQhJzsKICAgICRMYW5nLT57J05vIHJhdGUgc2VsZWN0ZWQhJ30gICAgICAgPSAnR2VlbiBiZW9vcmRlbGluZyBnZXNlbGVjdGVlcmQhJzsKICAgICRMYW5nLT57J1RoYW5rcyBmb3IgeW91ciB2b3RlISd9ICAgPSAnRGFuayB2b29yIHV3IHN0ZW0hJzsKICAgICRMYW5nLT57J1ZvdGVzJ30gICAgICAgICAgICAgICAgICAgPSAnU3RlbW1lbic7CiAgICAkTGFuZy0+eydMYXRlc3RDaGFuZ2VkSXRlbXMnfSAgICAgID0gJ0xhYXRzdCB2ZXJhbmRlcmRlIGFydGlrZWxlbic7CiAgICAkTGFuZy0+eydMYXRlc3RDcmVhdGVkSXRlbXMnfSAgICAgID0gJ05pZXV3c3RlIGFydGlrZWwnOwogICAgJExhbmctPnsnVG9wMTBJdGVtcyd9ICAgICAgICAgICAgICA9ICdUb3AgMTAgYXJ0aWtlbGVuJzsKICAgICRMYW5nLT57J0FydGljbGVWb3RpbmdRdWVzdGlvbid9ICAgPSAnSG9lIGdvZWQgZ2FmIGRpdCBhcnRpa2VsIGFudHdvb3JkIG9wIHV3IHByb2JsZWVtPyc7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yeU9mJ30gICAgICAgICAgID0gJ1N1YmNhdGVnb3JpZSB2YW4nOwogICAgJExhbmctPnsnUXVpY2tTZWFyY2gnfSAgICAgICAgICAgICA9ICdTbmVsem9la2VuJzsKICAgICRMYW5nLT57J0RldGFpbFNlYXJjaCd9ICAgICAgICAgICAgPSAnR2VhdmFuY2VlcmQgem9la2VuJzsKICAgICRMYW5nLT57J0NhdGVnb3JpZXMnfSAgICAgICAgICAgICAgPSAnQ2F0ZWdvcmnrbic7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yaWVzJ30gICAgICAgICAgID0gJ1N1YmNhdGVnb3Jp624nOwogICAgJExhbmctPnsnTmV3IEZBUSBBcnRpY2xlJ30gICAgICAgICA9ICdOaWV1dyBGQVEgYXJ0aWtlbCc7CiAgICAkTGFuZy0+eydGQVEgQ2F0ZWdvcnknfSAgICAgICAgICAgID0gJ0ZBUSBjYXRlZ29yaWUnOwogICAgJExhbmctPnsnQSBjYXRlZ29yeSBzaG91bGQgaGF2ZSBhIG5hbWUhJ30gICAgPSAnR2VlZiBlZW4gbmFhbSBvcCB2b29yIGRlIGNhdGVnb3JpZSc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgY29tbWVudCEnfSA9ICdHZWVmIGVlbiBiZXNjaHJpanZpbmcgb3Agdm9vciBkZSBjYXRlZ29yaWUnOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChuZXcgY3JlYXRlZCknfSAgICAgICAgPSAnRkFRIGFydGlrZWxlbiAobmlldXcgYWFuZ2VtYWFrdCknOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChyZWNlbnRseSBjaGFuZ2VkKSd9ICAgPSAnRkFRIGFydGlrZWxlbiAobGFhdHN0IHZlcmFuZGVyZCknOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChUb3AgMTApJ30gICAgICAgICAgICAgPSAnRkFRIGFydGlrZWxlbiAoVG9wIDEwKSc7CiAgICAkTGFuZy0+eydTdGFydERheSd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdFZXJzdGUgZGFnJzsKICAgICRMYW5nLT57J1N0YXJ0TW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgID0gJ0VlcnN0ZSBtYWFuZCc7CiAgICAkTGFuZy0+eydTdGFydFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICA9ICdFZXJzdGUgamFhcic7CiAgICAkTGFuZy0+eydFbmREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdMYWF0c3RlIGRhZyc7CiAgICAkTGFuZy0+eydFbmRNb250aCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdMYWF0c3RlIG1hYW5kJzsKICAgICRMYW5nLT57J0VuZFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0xhYXRzdGUgamFhcic7CiAgICAkTGFuZy0+eydBcHByb3ZhbCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdHb2Vka2V1cmluZyc7CiAgICAkTGFuZy0+ewogICAgICAgICdObyBjYXRlZ29yeSBhY2Nlc3NpYmxlLiBUbyBjcmVhdGUgYW4gYXJ0aWNsZSB5b3UgbmVlZCBhY2Nlc3MgdG8gYXQgbGVhc3Qgb25lIGNhdGVnb3J5LiBQbGVhc2UgY2hlY2sgeW91ciBncm91cC9jYXRlZ29yeSBwZXJtaXNzaW9uIHVuZGVyIC1jYXRlZ29yeSBtZW51LSEnCiAgICAgICAgfQogICAgICAgID0gJ0dlZW4gY2F0ZWdvcmllIHRvZWdhbmtlbGlqay4gT20gZWVuIGFydGlrZWwgdGUga3VubmVuIGFhbm1ha2VuIG1vZXQgdSB0b2VnYW4gaGViYmVuIHRvdCB0ZW5taW5zdGUgZWVuIGNhdGVnb3JpZS4gQ29udHJvbGVlciB1dyBncm9lcC9jYXRlZ29yaWUgcmVjaHRlbic7CiAgICAkTGFuZy0+eydBZ2VudCBncm91cHMgd2hpY2ggY2FuIGFjY2VzcyB0aGlzIGNhdGVnb3J5Lid9CiAgICAgICAgPSAnQmVoYW5kZWxncm9lcGVuIG1ldCB0b2VnYW5nIHRvdCBkZXplIGNhdGVnb3JpZSc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IG5lZWRzIG1pbi4gb25lIHBlcm1pc3Npb24gZ3JvdXAhJ30KICAgICAgICA9ICdWb2VnIHRlbm1pbnN0ZSBlZW4gcGVybWlzc2llZ3JvZXAgdG9lIHBlciBjYXRlZ29yaWUuJzsKICAgICRMYW5nLT57J1dpbGwgYmUgc2hvd24gYXMgY29tbWVudCBpbiBFeHBsb3Jlci4nfSA9ICdXb3JkdCBpbiB3ZWJpbnRlcmZhY2UgZ2V0b29uZCc7CgogICAgcmV0dXJuIDE7Cn0KCjE7Cg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDA4IFBhdHJ5ayCmY2lib3JlayA8cGF0cnlrQHNjaWJvcmVrLmNvbT4KIyBDb3B5cmlnaHQgKEMpIDIwMDkgQXJ0dXIgU2thbHNraSA8c2thbC5hciBhdCB3cC5wbD4KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6cGxfRkFROwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKc3ViIERhdGEgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICBteSAkTGFuZyA9ICRTZWxmLT57VHJhbnNsYXRpb259OwoKICAgIHJldHVybiBpZiByZWYgJExhbmcgbmUgJ0hBU0gnOwoKICAgICRMYW5nLT57J1lvdSBoYXZlIGFscmVhZHkgdm90ZWQhJ30gICAgICAgICAgID0gJ0p1vyByYXogZ7Nvc293YbNltiEnOwogICAgJExhbmctPnsnTm8gcmF0ZSBzZWxlY3RlZCEnfSAgICAgICAgICAgICAgICAgPSAnTmllIHd5YnJhs2W2IG9jZW55ISc7CiAgICAkTGFuZy0+eydUaGFua3MgZm9yIHlvdXIgdm90ZSEnfSAgICAgICAgICAgICA9ICdEemnqa3VqZW15IHphIG9kZGFuaWUgZ7Nvc3UhJzsKICAgICRMYW5nLT57J1ZvdGVzJ30gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0ezb3N5JzsKICAgICRMYW5nLT57J0xhdGVzdENoYW5nZWRJdGVtcyd9ICAgICAgICAgICAgICAgID0gJ29zdGF0bmlvIHptaWVuaW9uZSBhcnR5a3WzeSc7CiAgICAkTGFuZy0+eydMYXRlc3RDcmVhdGVkSXRlbXMnfSAgICAgICAgICAgICAgICA9ICdvc3RhdG5pbyB1dHdvcnpvbmUgYXJ0eWt1s3knOwogICAgJExhbmctPnsnVG9wMTBJdGVtcyd9ICAgICAgICAgICAgICAgICAgICAgICAgPSAnMTAgbmFqbGVwc3p5Y2ggYXJ0eWt1s/N3JzsKICAgICRMYW5nLT57J0FydGljbGVWb3RpbmdRdWVzdGlvbid9ICAgICAgICAgICAgID0gJ0N6eSB0ZW4gYXJ0eWt1syBwb23zZ7MgQ2k/Pyc7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yeU9mJ30gICAgICAgICAgICAgICAgICAgICA9ICdQb2RrYXRlZ29yaWEnOwogICAgJExhbmctPnsnUXVpY2tTZWFyY2gnfSAgICAgICAgICAgICAgICAgICAgICAgPSAnU3p5YmtpZSB3eXN6dWtpd2FuaWUnOwogICAgJExhbmctPnsnRGV0YWlsU2VhcmNoJ30gICAgICAgICAgICAgICAgICAgICAgPSAnRG9rs2FkbmUgd3lzenVraXdhbmllJzsKICAgICRMYW5nLT57J0NhdGVnb3JpZXMnfSAgICAgICAgICAgICAgICAgICAgICAgID0gJ0thdGVnb3JpZSc7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yaWVzJ30gICAgICAgICAgICAgICAgICAgICA9ICdQb2RrYXRlZ29yaWUnOwogICAgJExhbmctPnsnTmV3IEZBUSBBcnRpY2xlJ30gICAgICAgICAgICAgICAgICAgPSAnTm93eSBhcnR5a3WzIEZBUSc7CiAgICAkTGFuZy0+eydGQVEgQ2F0ZWdvcnknfSAgICAgICAgICAgICAgICAgICAgICA9ICdLYXRlZ29yaWEgRkFRJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgc2hvdWxkIGhhdmUgYSBuYW1lISd9ICAgID0gJ0thdGVnb3JpYSBtdXNpIHBvc2lhZGHmIG5henfqISc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgY29tbWVudCEnfSA9ICdLYXRlZ29yaWEgbXVzaSBwb3NpYWRh5iBrb21lbnRhcnohJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAobmV3IGNyZWF0ZWQpJ30gICAgICAgID0gJ1ptaWFueSB3IEZBUSAobm93ZSBhcnR5a3WzeSknOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChyZWNlbnRseSBjaGFuZ2VkKSd9ICAgPSAnWm1pYW55IHcgRkFRICh6bWllbmlvbmUgYXJ0eWt1s3kpJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAoVG9wIDEwKSd9ICAgICAgICAgICAgID0gJ1ptaWFueSB3IEZBUSAoMTAgbmFqbGVwc3p5Y2ggYXJ0eWt1s/N3KSc7CiAgICAkTGFuZy0+eydTdGFydERheSd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdEemll8SBwb2N6sXRrb3d5JzsKICAgICRMYW5nLT57J1N0YXJ0TW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgID0gJ01pZXNpsWMgcG9jerF0a293eSc7CiAgICAkTGFuZy0+eydTdGFydFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICA9ICdSb2sgcG9jerF0a293eSc7CiAgICAkTGFuZy0+eydFbmREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdEemll8SBrb/Fjb3d5JzsKICAgICRMYW5nLT57J0VuZE1vbnRoJ30gICAgICAgICAgICAgICAgICAgICAgICAgID0gJ01pZXNpsWMga2/xY293eSc7CiAgICAkTGFuZy0+eydFbmRZZWFyJ30gICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdSb2sga2/xY293eSc7CiAgICAkTGFuZy0+eydBcHByb3ZhbCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdaYXR3aWVyZHpvbmUnOwogICAgJExhbmctPnsnRkFRLUFyZWEnfSAgICAgICAgICAgICAgICAgPSAnRkFROiBjeupzdG8gemFkYXdhbmUgcHl0YW5pYSc7CiAgICAkTGFuZy0+eydSZXN1bHQnfSAgICAgICAgICAgICAgICAgPSAnT2NlbmEnOwoKICAgICRMYW5nLT57CiAgICAgICAgJ05vIGNhdGVnb3J5IGFjY2Vzc2libGUuIFRvIGNyZWF0ZSBhbiBhcnRpY2xlIHlvdSBuZWVkIGFjY2VzcyB0byBhdCBsZWFzdCBvbmUgY2F0ZWdvcnkuIFBsZWFzZSBjaGVjayB5b3VyIGdyb3VwL2NhdGVnb3J5IHBlcm1pc3Npb24gdW5kZXIgLWNhdGVnb3J5IG1lbnUtIScKICAgICAgICB9ID0gJ0JyYWsgemRlZmluaW93YW55Y2gga2F0ZWdvcmlpLiBBYnUgdXR3b3J6eeYgYXJ0eWt1syBtdXNpIGlzdG5pZeYgY28gbmFqbW5pZWogamVkbmEga2F0ZWdvcmlhLiBTcHJhd2S8IHByb3N66iBzd29qZSB1cHJhd25pZW5pYSB3IG1lbnUgS2F0ZWdvcmllLic7CiAgICAkTGFuZy0+eydBZ2VudCBncm91cHMgd2hpY2ggY2FuIGFjY2VzcyB0aGlzIGNhdGVnb3J5Lid9ICA9ICdHcnVweSBhZ2VudPN3LCBrdPNyZSBtYWqxIGRvc3TqcCBkbyB0ZWoga2F0ZWdvcmlpJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgbmVlZHMgbWluLiBvbmUgcGVybWlzc2lvbiBncm91cCEnfSAgID0gJ0thdGVnb3JpYSB3eW1hZ2EgY28gbmFqbW5pZWogamVkbmVqIGdydXB5IHVwcmF3bmll8SEnOwogICAgJExhbmctPnsnV2lsbCBiZSBzaG93biBhcyBjb21tZW50IGluIEV4cGxvcmVyLid9ICAgICAgICAgPSAnWm9zdGFuaWUgcG9rYXphbnkgamFrbyBrb21lbnRhcnogdyBla3NwbG9yZXJ6ZS4nOwoKICAgIHJldHVybiAxOwp9CgoxOwo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDA5IFJvbmFsZG8gUmljaGllcmkgPHJpY2hpZXJpQGdtYWlsLmNvbT4KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6cHRfQlJfRkFROwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKc3ViIERhdGEgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICBteSAkTGFuZyA9ICRTZWxmLT57VHJhbnNsYXRpb259OwoKICAgIHJldHVybiBpZiByZWYgJExhbmcgbmUgJ0hBU0gnOwoKICAgICRMYW5nLT57J1lvdSBoYXZlIGFscmVhZHkgdm90ZWQhJ30gICAgICAgICAgID0gJ1ZvY+ogauEgdm90b3UhJzsKICAgICRMYW5nLT57J05vIHJhdGUgc2VsZWN0ZWQhJ30gICAgICAgICAgICAgICAgID0gJ1NlbGVjaW9uZSBhIHBvbnR1YefjbyEnOwogICAgJExhbmctPnsnVGhhbmtzIGZvciB5b3VyIHZvdGUhJ30gICAgICAgICAgICAgPSAnT2JyaWdhZG8gcG9yIHNldSBWb3RvJzsKICAgICRMYW5nLT57J1ZvdGVzJ30gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ1ZvdG9zJzsKICAgICRMYW5nLT57J0xhdGVzdENoYW5nZWRJdGVtcyd9ICAgICAgICAgICAgICAgID0gJ0FydGlnb3MgbW9kaWZpY2Fkb3MgcmVjZW50ZW1lbnRlJzsKICAgICRMYW5nLT57J0xhdGVzdENyZWF0ZWRJdGVtcyd9ICAgICAgICAgICAgICAgID0gJ9psdGltb3MgYXJ0aWdvcyBhZGljaW9uYWRvcyc7CiAgICAkTGFuZy0+eydUb3AxMEl0ZW1zJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdPcyAxMCBhcnRpZ29zIG1haXMgYWNlc3NhZG9zJzsKICAgICRMYW5nLT57J0FydGljbGVWb3RpbmdRdWVzdGlvbid9ICAgICAgICAgICAgID0gJ0VzdGUgYXJ0aWdvIHRlIGFqdWRvdT8nOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcnlPZid9ICAgICAgICAgICAgICAgICAgICAgPSAnU3ViY2F0ZWdvcmlhIGRlJzsKICAgICRMYW5nLT57J1F1aWNrU2VhcmNoJ30gICAgICAgICAgICAgICAgICAgICAgID0gJ1Blc3F1aXNhJzsKICAgICRMYW5nLT57J0RldGFpbFNlYXJjaCd9ICAgICAgICAgICAgICAgICAgICAgID0gJ1Blc3F1aXNhIEF2YW7nYWRhJzsKICAgICRMYW5nLT57J0NhdGVnb3JpZXMnfSAgICAgICAgICAgICAgICAgICAgICAgID0gJ0NhdGVnb3JpYXMnOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcmllcyd9ICAgICAgICAgICAgICAgICAgICAgPSAnU3ViY2F0ZWdvcmlhcyc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgbmFtZSEnfSAgICA9ICdVbWEgY2F0ZWdvcmlhIHByZWNpc2EgdGVyIHVtIG5vbWUhJzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgc2hvdWxkIGhhdmUgYSBjb21tZW50ISd9ID0gJ1VtYSBjYXRlZ29yaWEgcHJlY2lzYSB0ZXIgdW0gY29tZW504XJpbyEnOwogICAgJExhbmctPnsnRkFRIEFydGljbGVzIChuZXcgY3JlYXRlZCknfSAgICAgICAgPSAnRkFRIEFydGljbGVzIChyZWPpbSBjcmlhZG9zKSc7CiAgICAkTGFuZy0+eydGQVEgQXJ0aWNsZXMgKHJlY2VudGx5IGNoYW5nZWQpJ30gICA9ICdGQVEgQXJ0aWNsZXMgKGFsdGVyYWRvcyByZWNlbnRlbWVudGUpJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAoVG9wIDEwKSd9ICAgICAgICAgICAgID0gJ0ZBUSBBcnRpY2xlcyAoYXMgMTAgbWFpcyknOwogICAgJExhbmctPnsnU3RhcnREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnRGlhIGRlIGlu7WNpbyc7CiAgICAkTGFuZy0+eydTdGFydE1vbnRoJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICdN6nMgZGUgaW7tY2lvJzsKICAgICRMYW5nLT57J1N0YXJ0WWVhcid9ICAgICAgICAgICAgICAgICAgICAgICAgID0gJ0FubyBkZSBpbu1jaW8nOwogICAgJExhbmctPnsnRW5kRGF5J30gICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnRGlhIGRlIHTpcm1pbm8nOwogICAgJExhbmctPnsnRW5kTW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnTT9zIGRlIHTpcm1pbm8nOwogICAgJExhbmctPnsnRW5kWWVhcid9ICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnQW5vIGRlIHTpcm1pbm8nOwogICAgJExhbmctPnsnQXBwcm92YWwnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnQXByb3Zh5+NvJzsKCiAgICAkTGFuZy0+ewogICAgICAgICdObyBjYXRlZ29yeSBhY2Nlc3NpYmxlLiBUbyBjcmVhdGUgYW4gYXJ0aWNsZSB5b3UgbmVlZCBhY2Nlc3MgdG8gYXQgbGVhc3Qgb25lIGNhdGVnb3J5LiBQbGVhc2UgY2hlY2sgeW91ciBncm91cC9jYXRlZ29yeSBwZXJtaXNzaW9uIHVuZGVyIC1jYXRlZ29yeSBtZW51LSEnCiAgICAgICAgfSA9ICdWb2PqIGVzdOEgc2VtIGFjZXNzbyBhIG5lbmh1bWEgY2F0ZWdvcmlhLiBQYXJhIGNyaWFyIHVtIGFydGlnbywgdm9j6iBwcmVjaXNhIHRlciBhY2Vzc28gYSBwZWxvIG1lbm9zIHVtYSBjYXRlZ29yaWEuIFBvciBmYXZvciwgY29uZmlyYSBhcyBwZXJtaXNz9WVzIGRlIHNldSBncnVwbyBubyBtZW51IENhdGVnb3JpYSEnOwogICAgJExhbmctPnsnQWdlbnQgZ3JvdXBzIHdoaWNoIGNhbiBhY2Nlc3MgdGhpcyBjYXRlZ29yeS4nfSA9ICdHcnVwbyBkZSBhZ2VudGVzIHF1ZSBwb2RlbSBhY2Vzc2FyIGVzdGEgY2F0ZWdvcmlhLic7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IG5lZWRzIG1pbi4gb25lIHBlcm1pc3Npb24gZ3JvdXAhJ30gICA9ICdTZWxlY2lvbmUgcGVsbyBtZW5vcyB1bSBncnVwbyBxdWUgcG9kZXLhIGFjZXNzYXIgZXN0YSBjYXRlZ29yaWEhJzsKICAgICRMYW5nLT57J1dpbGwgYmUgc2hvd24gYXMgY29tbWVudCBpbiBFeHBsb3Jlci4nfSAgICAgICAgID0gJ1NlcuEgZXhpYmlkbyBjb21vIGNvbWVudOFyaW8gbm8gRXhwbG9yZXInOwoKICAgIHJldHVybiAxOwp9CgoxOwo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDA5IEJlbHNraWkgQXJ0ZW0KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpMYW5ndWFnZTo6dWtfRkFROwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKc3ViIERhdGEgewogICAgbXkgJFNlbGYgPSBzaGlmdDsKCiAgICBteSAkTGFuZyA9ICRTZWxmLT57VHJhbnNsYXRpb259OwoKICAgIHJldHVybiBpZiByZWYgJExhbmcgbmUgJ0hBU0gnOwoKICAgICRMYW5nLT57J1lvdSBoYXZlIGFscmVhZHkgdm90ZWQhJ30gICAgICAgICAgID0gJ8LoIOLm5SDj7uvu8fPi4OvoISc7CiAgICAkTGFuZy0+eydObyByYXRlIHNlbGVjdGVkISd9ICAgICAgICAgICAgICAgICA9ICfN5ezguiDu4fDg7e6/IOrg8uXj7vCzvyEnOwogICAgJExhbmctPnsnVGhhbmtzIGZvciB5b3VyIHZvdGUhJ30gICAgICAgICAgICAgPSAnxP/q87rs7iwg5+Ag8uUsIPnuIO/w7uPu6+7x8+Lg6+ghJzsKICAgICRMYW5nLT57J1ZvdGVzJ30gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ8Pu6+7xs+InOwogICAgJExhbmctPnsnTGF0ZXN0Q2hhbmdlZEl0ZW1zJ30gICAgICAgICAgICAgICAgPSAnzvHy4O3t/yDn7LPt5e3gIPHy4PLy/yc7CiAgICAkTGFuZy0+eydMYXRlc3RDcmVhdGVkSXRlbXMnfSAgICAgICAgICAgICAgICA9ICfO8fLg7e3/IPHy4u7w5e3gIPHy4PLy/yc7CiAgICAkTGFuZy0+eydUb3AxMEl0ZW1zJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICfS7u8gMTAg8fLg8vLl6Sc7CiAgICAkTGFuZy0+eydBcnRpY2xlVm90aW5nUXVlc3Rpb24nfSAgICAgICAgICAgICA9ICfC4Owg5O7v7uzu4+vgIPb/IPHy4PLy/z8nOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcnlPZid9ICAgICAgICAgICAgICAgICAgICAgPSAnz7Pk6uDy5ePu8LO/JzsKICAgICRMYW5nLT57J1F1aWNrU2VhcmNoJ30gICAgICAgICAgICAgICAgICAgICAgID0gJ9ji6OTq6Okg7+748+onOwogICAgJExhbmctPnsnRGV0YWlsU2VhcmNoJ30gICAgICAgICAgICAgICAgICAgICAgPSAnxOXy4Ouz5+7i4O3o6SDv7vjz6ic7CiAgICAkTGFuZy0+eydDYXRlZ29yaWVzJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICfK4PLl4+7ws78nOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcmllcyd9ICAgICAgICAgICAgICAgICAgICAgPSAnz7Pk6uDy5ePu8LO/JzsKICAgICRMYW5nLT57J05ldyBGQVEgQXJ0aWNsZSd9ICAgICAgICAgICAgICAgICAgID0gJ+3u4uAg8fLg8vL/IMHHJzsKICAgICRMYW5nLT57J0ZBUSBDYXRlZ29yeSd9ICAgICAgICAgICAgICAgICAgICAgID0gJ8rg8uXj7vCzvyDBxyc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgbmFtZSEnfSAgICA9ICfK4PLl4+7ws/8g7+7i6O3t4CDs4PLoILPsXCf/JzsKICAgICRMYW5nLT57J0EgY2F0ZWdvcnkgc2hvdWxkIGhhdmUgYSBjb21tZW50ISd9ID0gJ8rg8uXj7vCz/yDv7uLo7e3gIOzg8ugg6u7s5e3y4PAnOwogICAgJExhbmctPnsnRkFRIE5ld3MgKG5ldyBjcmVhdGVkKSd9ICAgICAgICAgICAgPSAnze7i6O3oIMHHKO3u4rMg8fLg8vKzKSc7CiAgICAkTGFuZy0+eydGQVEgTmV3cyAocmVjZW50bHkgY2hhbmdlZCknfSAgICAgICA9ICfN7uLo7eggwcco7eXk4OLt7iDn7LPt5e2zKSc7CiAgICAkTGFuZy0+eydGQVEgTmV3cyAoVG9wIDEwKSd9ICAgICAgICAgICAgICAgICA9ICfN7uLo7eggwcco0s7PIDEwKSc7CiAgICAkTGFuZy0+eydTdGFydERheSd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICfP7vfg8u7qIOTu4egnOwogICAgJExhbmctPnsnU3RhcnRNb250aCd9ICAgICAgICAgICAgICAgICAgICAgICAgPSAnz+734PLu6iDss/H/9v8nOwogICAgJExhbmctPnsnU3RhcnRZZWFyJ30gICAgICAgICAgICAgICAgICAgICAgICAgPSAnz+734PLu6iDw7urzJzsKICAgICRMYW5nLT57J0VuZERheSd9ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ8qz7eX2/CDk7f8nOwogICAgJExhbmctPnsnRW5kTW9udGgnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnyrPt5fb8IOyz8f/2/yc7CiAgICAkTGFuZy0+eydFbmRZZWFyJ30gICAgICAgICAgICAgICAgICAgICAgICAgICA9ICfKs+3l9vwg8O7q8yc7CiAgICAkTGFuZy0+eydBcHByb3ZhbCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICfT8u737ejy/CDx7Pvx6yDoIOjn7OXt6PL8KEFwcHJvdmFsKSc7CgogICAgJExhbmctPnsKICAgICAgICAnTm8gY2F0ZWdvcnkgYWNjZXNzaWJsZS4gVG8gY3JlYXRlIGFuIGFydGljbGUgeW91IG5lZWQgYWNjZXNzIHRvIGF0IGxlYXN0IG9uZSBjYXRlZ29yeS4gUGxlYXNlIGNoZWNrIHlvdXIgZ3JvdXAvY2F0ZWdvcnkgcGVybWlzc2lvbiB1bmRlciAtY2F0ZWdvcnkgbWVudS0hJwogICAgICAgIH0gPSAnzeXs4Log5O7x8vPv7ej1IOrg8uXj7vCz6S4g2e7hIPHy4u7w6PLoIPHy4PLy/iDi4Owg7eXu4fWz5O3uIO7k5fDm4PLoIOTu8fLz7ywg7/Do7eDp7O2zIOTuIO7k7bPpIOrg8uXj7vCzvy4gwfPk/CDr4PHq4Cwg7+Xw5eKz8PLlIOLg+PMg4/Dz7/Mv6uDy5ePu8LP+IOTu8fLz7/Mg5Ov/IC3q4PLl4+7ws78g7OXt/i0hJzsKICAgICRMYW5nLT57J0FnZW50IGdyb3VwcyB3aGljaCBjYW4gYWNjZXNzIHRoaXMgY2F0ZWdvcnkuJ30gPSAnwujks+uz8vwg4/Dz7+gsIP/q6LMg7O7m8/L8IO7y8Ojs4PLoIOTu8fLz7yDk7iDq4PLl4+7ws78nOwogICAgJExhbmctPnsnQSBjYXRlZ29yeSBuZWVkcyBtaW4uIG9uZSBwZXJtaXNzaW9uIGdyb3VwISd9ICAgPSAnyuDy5ePu8LO/IO3l7uTh9bPk7eUg7LPts+zg6/ztsyDv8ODi4CDk7vHy8+/zIPMg4/Dz7++zJzsKICAgICRMYW5nLT57J1dpbGwgYmUgc2hvd24gYXMgY29tbWVudCBpbiBFeHBsb3Jlci4nfSAgICAgICAgID0gJ8Hz5OUg7+7q4Ofg7e4sIP/qIOru7OXt8uDwIPMgz/Du4rPk7ejq8yc7CiAgICAkTGFuZy0+eydGQVEnfSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnweDn4CDn7eDt/Cc7CiAgICAkTGFuZy0+eydGQVEtQXJlYSd9ICAgICAgICAgICAgICAgICAgICAgPSAnweDn4CDn7eDt/Cc7CiAgICAkTGFuZy0+eydFeHBsb3Jlcid9ICAgICAgICAgICAgICAgICAgICAgICA9ICfP8O7is+Tt6OonOwogICAgJExhbmctPnsnx+Tw4PHy8+ny5Sd9ICAgICAgICAgICAgICAgICAgID0gJ8Kz8uC67O4nOwogICAgcmV0dXJuIDE7Cn0KCjE7Cg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwOSBOZXZlciBNaW4gPG5ldmVyIGF0IHFub2ZhZS5vcmc+CiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TGFuZ3VhZ2U6OnpoX0NOX0ZBUTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnN1YiBEYXRhIHsKICAgIG15ICRTZWxmID0gc2hpZnQ7CgogICAgbXkgJExhbmcgPSAkU2VsZi0+e1RyYW5zbGF0aW9ufTsKCiAgICByZXR1cm4gaWYgcmVmICRMYW5nIG5lICdIQVNIJzsKCiAgICAkTGFuZy0+eydFeHBsb3Jlcid9ICAgICAgICAgICAgICAgICA9ICfkr8DAJzsKICAgICRMYW5nLT57J1lvdSBoYXZlIGFscmVhZHkgdm90ZWQhJ30gICAgICAgICAgID0gJ8T60tG+rcbAt9YhJzsKICAgICRMYW5nLT57J05vIHJhdGUgc2VsZWN0ZWQhJ30gICAgICAgICAgICAgICAgID0gJ8O709DRodTxxsC31iEnOwogICAgJExhbmctPnsnVGhhbmtzIGZvciB5b3VyIHZvdGUhJ30gICAgICAgICAgICAgPSAnuNDQu8T6tcTGwLfWJzsKICAgICRMYW5nLT57J1ZvdGVzJ30gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJ8bAt9YnOwogICAgJExhbmctPnsnTGF0ZXN0Q2hhbmdlZEl0ZW1zJ30gICAgICAgICAgICAgICAgPSAn1+69/NDeuMS1xM7E1cInOwogICAgJExhbmctPnsnTGF0ZXN0Q3JlYXRlZEl0ZW1zJ30gICAgICAgICAgICAgICAgPSAn1+7QwrS0vai1xM7E1cInOwogICAgJExhbmctPnsnVG9wMTBJdGVtcyd9ICAgICAgICAgICAgICAgICAgICAgICAgPSAn1+6zo9PDtcTOxNXCJzsKICAgICRMYW5nLT57J0FydGljbGVWb3RpbmdRdWVzdGlvbid9ICAgICAgICAgICAgID0gJ7TLzsTVwrbUxPrT0LDv1vrC8D8nOwogICAgJExhbmctPnsnU3ViQ2F0ZWdvcnlPZid9ICAgICAgICAgICAgICAgICAgICAgPSAn19PEv8K809onOwogICAgJExhbmctPnsnUXVpY2tTZWFyY2gnfSAgICAgICAgICAgICAgICAgICAgICAgPSAnv+zL2cvRy/cnOwogICAgJExhbmctPnsnRGV0YWlsU2VhcmNoJ30gICAgICAgICAgICAgICAgICAgICAgPSAnuN+8tsvRy/cnOwogICAgJExhbmctPnsnQ2F0ZWdvcmllcyd9ICAgICAgICAgICAgICAgICAgICAgICAgPSAnxL/CvCc7CiAgICAkTGFuZy0+eydTdWJDYXRlZ29yaWVzJ30gICAgICAgICAgICAgICAgICAgICA9ICfX08S/wrwnOwogICAgJExhbmctPnsnTmV3IEZBUSBBcnRpY2xlJ30gICAgICAgICAgICAgICAgICAgPSAnzO2809DCzsTVwic7CiAgICAkTGFuZy0+eydGQVEgQ2F0ZWdvcnknfSAgICAgICAgICAgICAgICAgICAgICA9ICdGQVEgxL/CvCc7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IHNob3VsZCBoYXZlIGEgbmFtZSEnfSAgICA9ICfEv8K8w/uyu8Tczqq/1SEnOwogICAgJExhbmctPnsnQSBjYXRlZ29yeSBzaG91bGQgaGF2ZSBhIGNvbW1lbnQhJ30gPSAnx+vOqrjDxL/CvNC0yc/XosrNISc7CiAgICAkTGFuZy0+eydGQVEgQXJ0aWNsZXMgKG5ldyBjcmVhdGVkKSd9ICAgICAgICA9ICdGQVEguPzQwijQwrS0vagpJzsKICAgICRMYW5nLT57J0ZBUSBBcnRpY2xlcyAocmVjZW50bHkgY2hhbmdlZCknfSAgID0gJ0ZBUSC4/NDCKNfuvfy4/LjEKSc7CiAgICAkTGFuZy0+eydGQVEgQXJ0aWNsZXMgKFRvcCAxMCknfSAgICAgICAgICAgICA9ICdGQVEguPzQwic7CiAgICAkTGFuZy0+eydTdGFydERheSd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICe/qsq8yNXG2ic7CiAgICAkTGFuZy0+eydTdGFydE1vbnRoJ30gICAgICAgICAgICAgICAgICAgICAgICA9ICe/qsq81MK33Sc7CiAgICAkTGFuZy0+eydTdGFydFllYXInfSAgICAgICAgICAgICAgICAgICAgICAgICA9ICe/qsq8xOq33Sc7CiAgICAkTGFuZy0+eydFbmREYXknfSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICe94cr4yNXG2ic7CiAgICAkTGFuZy0+eydFbmRNb250aCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICe/qsq81MK33Sc7CiAgICAkTGFuZy0+eydFbmRZZWFyJ30gICAgICAgICAgICAgICAgICAgICAgICAgICA9ICe94cr4xOq33Sc7CiAgICAkTGFuZy0+eydBcHByb3ZhbCd9ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICfIz7/JtsgnOwoKICAgICRMYW5nLT57J05vIGNhdGVnb3J5IGFjY2Vzc2libGUuIFRvIGNyZWF0ZSBhbiBhcnRpY2xlIHlvdSBuZWVkIGFjY2VzcyB0byBhdCBsZWFzdCBvbmUgY2F0ZWdvcnkuIFBsZWFzZSBjaGVjayB5b3VyIGdyb3VwL2NhdGVnb3J5IHBlcm1pc3Npb24gdW5kZXIgLWNhdGVnb3J5IG1lbnUtISd9ID0gJ8O709C56cDgtb3Ev8K8LiDSqrS0vajSu8aqzsTVwtDo0qq56cDgtb3Ev8K8wO8sIMfr1NogLcS/wryyy7WlLSDA79Gh1PHE+tPQyKjP3rS0vajOxNXCtcTEv8K8JzsKICAgICRMYW5nLT57J0FnZW50IGdyb3VwcyB3aGljaCBjYW4gYWNjZXNzIHRoaXMgY2F0ZWdvcnkuJ30gPSAnxMTSu7j2yLrX6b/J0tS3w87KtMvEv8K8Lic7CiAgICAkTGFuZy0+eydBIGNhdGVnb3J5IG5lZWRzIG1pbi4gb25lIHBlcm1pc3Npb24gZ3JvdXAhJ30gICA9ICfSu7j2xL/CvNbBydnSqrfWxeTSu7j2yKjP3si61+knOwogICAgJExhbmctPnsnV2lsbCBiZSBzaG93biBhcyBjb21tZW50IGluIEV4cGxvcmVyLid9ICAgICAgICAgPSAn16LKzb2r5K/AwMqxz9TKvi4nOwoKICAgIHJldHVybiAxOwp9CgoxOwo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRGQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgS2VybmVsOjpTeXN0ZW06OkZBUTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpMaW5rT2JqZWN0Owp1c2UgS2VybmVsOjpNb2R1bGVzOjpGQVE7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VXNlcjsKdXNlIEtlcm5lbDo6U3lzdGVtOjpHcm91cDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYWxpZDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpXZWI6OlVwbG9hZENhY2hlOwoKdXNlIHZhcnMgcXcoJFZFUlNJT04gQElTQSk7CgpASVNBID0gcXcoS2VybmVsOjpNb2R1bGVzOjpGQVEpOwoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICMKICAgIG15ICRTZWxmID0gbmV3IEtlcm5lbDo6TW9kdWxlczo6RkFRKCVQYXJhbSk7CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBpbnRlcmZhY2Ugc2V0dGluZ3MKICAgICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAjCiAgICAkU2VsZi0+e0ludGVyZmFjZX0gPSAkU2VsZi0+e0ZBUU9iamVjdH0tPlN0YXRlVHlwZUdldCgKICAgICAgICBOYW1lID0+ICdpbnRlcm5hbCcKICAgICk7CiAgICAkU2VsZi0+e0ludGVyZmFjZVN0YXRlc30gPSAkU2VsZi0+e0ZBUU9iamVjdH0tPlN0YXRlVHlwZUxpc3QoCiAgICAgICAgVHlwZXMgPT4gWyAnaW50ZXJuYWwnLCAnZXh0ZXJuYWwnLCAncHVibGljJyBdCiAgICApOwoKICAgICMgY2hlY2sgbmVlZGVkIE9iamVjdHMKICAgICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAjCiAgICBmb3IgKHF3KFNlc3Npb25PYmplY3QpKSB7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJHb3Qgbm8gJF8hIiApIGlmICggISRTZWxmLT57JF99ICk7CiAgICB9CiAgICAkU2VsZi0+e1ZhbGlkT2JqZWN0fSAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpWYWxpZC0+bmV3KCVQYXJhbSk7CiAgICAkU2VsZi0+e1VzZXJPYmplY3R9ICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpVc2VyLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57R3JvdXBPYmplY3R9ICAgICAgID0gS2VybmVsOjpTeXN0ZW06Okdyb3VwLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57VXBsb2FkQ2FjaGVPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OldlYjo6VXBsb2FkQ2FjaGUtPm5ldyglUGFyYW0pOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CgogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIFBhcmFtdGVyCiAgICBteSBAUGFyYW1zICAgPSAoKTsKICAgIG15ICVHZXRQYXJhbSA9ICgpOwogICAgbXkgJUZyb250ZW5kID0gKCk7CiAgICBteSAlRGF0YSAgICAgPSAoKTsKCiAgICAjIE91dHB1dAogICAgbXkgJE91dHB1dCAgICAgID0gJyc7CiAgICBteSAkSGVhZGVyICAgICAgPSAnJzsKICAgIG15ICRIZWFkZXJUaXRsZSA9ICcnOwogICAgbXkgJEhlYWRlclR5cGUgID0gJyc7CiAgICBteSAkTmF2aWdhdGlvbiAgPSAnJzsKICAgIG15ICROb3RpZnkgICAgICA9ICcnOwogICAgbXkgJENvbnRlbnQgICAgID0gJyc7CiAgICBteSAkRm9vdGVyICAgICAgPSAnJzsKICAgIG15ICRGb290ZXJUeXBlICA9ICcnOwoKICAgIG15ICREZWZhdWx0SGVhZGVyICAgICA9ICcnOwogICAgbXkgJERlZmF1bHROYXZpZ2F0aW9uID0gJyc7CiAgICBteSAkRGVmYXVsdE5vdGlmeSAgICAgPSAnJzsKICAgIG15ICREZWZhdWx0Q29udGVudCAgICA9ICcnOwogICAgbXkgJERlZmF1bHRGb290ZXIgICAgID0gJyc7CgogICAgIyBtYW5hZ2UgcGFyYW1ldGVycwogICAgIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICMKICAgIEBQYXJhbXMgPSBxdyhJdGVtSUQgSUQgTnVtYmVyIE5hbWUgQ29tbWVudCBDYXRlZ29yeUlEIFBhcmVudElEIFN0YXRlSUQgTGFuZ3VhZ2VJRCBUaXRsZSBVc2VySUQKICAgICAgICBGaWVsZDEgRmllbGQyIEZpZWxkMyBGaWVsZDQgRmllbGQ1IEZpZWxkNiBGcmVlS2V5MSBGcmVlS2V5MiBGcmVlS2V5MyBLZXl3b3JkcyBPcmRlciBTb3J0IE5hdik7CiAgICBmb3IgKEBQYXJhbXMpIHsKICAgICAgICAkR2V0UGFyYW17JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApIHx8ICcnOwogICAgfQoKICAgICMgbmF2aWdhdGlvbiBPTi9PRkYKICAgICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAjCiAgICAkSGVhZGVyVHlwZSA9ICRTZWxmLT57TGFzdEZBUU5hdn07CiAgICBpZiAoICRHZXRQYXJhbXtOYXZ9IGVxICdOb3JtYWwnICkgewogICAgICAgICRIZWFkZXJUeXBlID0gJyc7CiAgICB9CiAgICBlbHNpZiAoICRHZXRQYXJhbXtOYXZ9IGVxICdOb25lJyB8fCAkU2VsZi0+e0xhc3RGQVFOYXZ9ICkgewogICAgICAgICRIZWFkZXJUeXBlID0gJ1NtYWxsJzsKICAgICAgICAkTmF2aWdhdGlvbiA9ICcgJzsKICAgICAgICAkTm90aWZ5ICAgICA9ICcgJzsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRIZWFkZXJUeXBlID0gJyc7CiAgICB9CgogICAgIyBzdG9yZSBuYXYgcGFyYW0KICAgICRTZWxmLT57U2Vzc2lvbk9iamVjdH0tPlVwZGF0ZVNlc3Npb25JRCgKICAgICAgICBTZXNzaW9uSUQgPT4gJFNlbGYtPntTZXNzaW9uSUR9LAogICAgICAgIEtleSAgICAgICA9PiAnTGFzdEZBUU5hdicsCiAgICAgICAgVmFsdWUgICAgID0+ICRIZWFkZXJUeXBlLAogICAgKTsKCiAgICAjIHZpZXcgc21hbGwKICAgICMkSGVhZGVyVHlwZSA9ICRTZWxmLT57TGFzdEZBUU5hdn0gfHwgJyc7CiAgICAjbXkgJE5hdiA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbShQYXJhbSA9PiAnTmF2JykgfHwgJyc7CgogICAgIyBvdXRwdXQKICAgICRPdXRwdXQgPSAnJzsKCiAgICAjIHN0b3JlIHNlYXJjaCBwYXJhbXMKICAgICRTZWxmLT57U2Vzc2lvbk9iamVjdH0tPlVwZGF0ZVNlc3Npb25JRCgKICAgICAgICBTZXNzaW9uSUQgPT4gJFNlbGYtPntTZXNzaW9uSUR9LAogICAgICAgIEtleSAgICAgICA9PiAnTGFzdEZBUVdoYXQnLAogICAgICAgIFZhbHVlICAgICA9PiAkUGFyYW17V2hhdH0sCiAgICApOwogICAgJFNlbGYtPntTZXNzaW9uT2JqZWN0fS0+VXBkYXRlU2Vzc2lvbklEKAogICAgICAgIFNlc3Npb25JRCA9PiAkU2VsZi0+e1Nlc3Npb25JRH0sCiAgICAgICAgS2V5ICAgICAgID0+ICdMYXN0RkFRS2V5d29yZCcsCiAgICAgICAgVmFsdWUgICAgID0+ICRQYXJhbXtLZXl3b3JkfSwKICAgICk7CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgZGVsaXZlciBPcGVuU2VhcmNoRGVzY3JpcHRpb24KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnT3BlblNlYXJjaERlc2NyaXB0aW9uJyApIHsKICAgICAgICBteSAkT3V0cHV0ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWdlbnRGQVFPcGVuU2VhcmNoRGVzY3JpcHRpb24nLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4geyVQYXJhbX0sCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5BdHRhY2htZW50KAogICAgICAgICAgICBGaWxlbmFtZSAgICA9PiAnT3BlblNlYXJjaERlc2NyaXB0aW9uLnhtbCcsCiAgICAgICAgICAgIENvbnRlbnRUeXBlID0+ICJ0ZXh0L3htbCIsCiAgICAgICAgICAgIENvbnRlbnQgICAgID0+ICRPdXRwdXQsCiAgICAgICAgICAgIFR5cGUgICAgICAgID0+ICdpbmxpbmUnLAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgbGFuZ3VhZ2UgYWRkCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0xhbmd1YWdlJyApIHsKCiAgICAgICAgIyBwZXJtaXNzaW9uIGNoZWNrCiAgICAgICAgaWYgKCAhJFNlbGYtPntBY2Nlc3NSd30gKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPk5vUGVybWlzc2lvbiggV2l0aEhlYWRlciA9PiAneWVzJyApOwogICAgICAgIH0KCiAgICAgICAgIyBkdGwKICAgICAgICAkRnJvbnRlbmR7SGVhZGxpbmV9ICAgICAgID0gJ0FkZCc7CiAgICAgICAgJEZyb250ZW5ke0FkZExpbmt9ICAgICAgICA9ICcoQ2xpY2sgaGVyZSB0byBhZGQpJzsKICAgICAgICAkRnJvbnRlbmR7U3ViYWN0aW9ufSAgICAgID0gJ0xhbmd1YWdlQWRkJzsKICAgICAgICAkRnJvbnRlbmR7TGFuZ3VhZ2VPcHRpb259ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PcHRpb25TdHJnSGFzaFJlZigKICAgICAgICAgICAgRGF0YSAgICAgICAgICAgICAgICA9PiB7ICRTZWxmLT57RkFRT2JqZWN0fS0+TGFuZ3VhZ2VMaXN0KCBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9ICkgfSwKICAgICAgICAgICAgU2l6ZSAgICAgICAgICAgICAgICA9PiAxMCwKICAgICAgICAgICAgTmFtZSAgICAgICAgICAgICAgICA9PiAnSUQnLAogICAgICAgICAgICBIVE1MUXVvdGUgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIExhbmd1YWdlVHJhbnNsYXRpb24gPT4gMCwKICAgICAgICApOwoKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdMYW5ndWFnZScsCiAgICAgICAgICAgIERhdGEgPT4geyAlUGFyYW0sICVGcm9udGVuZCB9LAogICAgICAgICk7CgogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGxhbmd1YWdlIGFkZCBhY3Rpb24KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnTGFuZ3VhZ2VBY3Rpb24nICkgewoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjZ2V0IERhdGEKICAgICAgICBteSAlUGFyYW1EYXRhID0gKCk7CiAgICAgICAgJFBhcmFtRGF0YXtVc2VySUR9ID0gJFNlbGYtPntVc2VySUR9OwogICAgICAgIGZvciAocXcoTmFtZSkpIHsKICAgICAgICAgICAgaWYgKCAhKCAkUGFyYW1EYXRheyRffSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJF8gKSApICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkICRfICEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZGIgYWN0aW9uCiAgICAgICAgaWYgKCAhJFNlbGYtPntGQVFPYmplY3R9LT5MYW5ndWFnZUR1cGxpY2F0ZUNoZWNrKCBOYW1lID0+ICRQYXJhbURhdGF7TmFtZX0gKSApIHsKICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0ZBUU9iamVjdH0tPkxhbmd1YWdlQWRkKCAlUGFyYW1EYXRhLCBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9ICkgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgICAgICBPUCA9PiAiQWN0aW9uPUFnZW50RkFRJlN1YmFjdGlvbj1MYW5ndWFnZSIKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+ICJMYW5ndWFnZSAnJFBhcmFtRGF0YXtOYW1lfScgYWxyZWFkeSBleGlzdHMhIgogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgbGFuZ3VhZ2UgdXBkYXRlCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0xhbmd1YWdlQ2hhbmdlJyApIHsKCiAgICAgICAgIyBwZXJtaXNzaW9uIGNoZWNrCiAgICAgICAgaWYgKCAhJFNlbGYtPntBY2Nlc3NSd30gKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPk5vUGVybWlzc2lvbiggV2l0aEhlYWRlciA9PiAneWVzJyApOwogICAgICAgIH0KCiAgICAgICAgI2dldCBEYXRhCiAgICAgICAgbXkgJVBhcmFtRGF0YSA9ICgpOwogICAgICAgIGZvciAocXcoSUQpKSB7CiAgICAgICAgICAgIGlmICggISggJFBhcmFtRGF0YXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICkgKSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyAhIiApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGRiIGFjdGlvbgogICAgICAgIG15ICVMYW5ndWFnZURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkxhbmd1YWdlR2V0KAogICAgICAgICAgICBJRCAgICAgPT4gJFBhcmFtRGF0YXtJRH0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0KICAgICAgICApOwogICAgICAgIGlmICggISVMYW5ndWFnZURhdGEgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKCk7CiAgICAgICAgfQoKICAgICAgICAjIGR0bAogICAgICAgICRGcm9udGVuZHtIZWFkbGluZX0gICAgICAgPSAnQ2hhbmdlJzsKICAgICAgICAkRnJvbnRlbmR7QWRkTGlua30gICAgICAgID0gJyc7CiAgICAgICAgJEZyb250ZW5ke1N1YmFjdGlvbn0gICAgICA9ICdMYW5ndWFnZUNoYW5nZSc7CiAgICAgICAgJEZyb250ZW5ke0xhbmd1YWdlT3B0aW9ufSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3B0aW9uU3RyZ0hhc2hSZWYoCiAgICAgICAgICAgIERhdGEgICAgICAgICAgICAgICAgPT4geyAkU2VsZi0+e0ZBUU9iamVjdH0tPkxhbmd1YWdlTGlzdCggVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSApIH0sCiAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgPT4gMTAsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICAgPT4gJ0lEJywKICAgICAgICAgICAgU2VsZWN0ZWRJRCAgICAgICAgICA9PiAkTGFuZ3VhZ2VEYXRhe0xhbmd1YWdlSUR9LAogICAgICAgICAgICBIVE1MUXVvdGUgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIExhbmd1YWdlVHJhbnNsYXRpb24gPT4gMCwKICAgICAgICApOwoKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdMYW5ndWFnZScsCiAgICAgICAgICAgIERhdGEgPT4geyAlUGFyYW0sICVGcm9udGVuZCwgJUxhbmd1YWdlRGF0YSB9LAogICAgICAgICk7CgogICAgICAgICRDb250ZW50ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiB7ICVQYXJhbSwgJUZyb250ZW5kLCAlTGFuZ3VhZ2VEYXRhIH0sCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWdlbnRGQVEnLAogICAgICAgICk7CgogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGxhbmd1YWdlIHVwZGF0ZSBhY3Rpb24KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnTGFuZ3VhZ2VDaGFuZ2VBY3Rpb24nICkgewoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjIGdldCBEYXRhCiAgICAgICAgbXkgJVBhcmFtRGF0YSA9ICgpOwogICAgICAgICRQYXJhbURhdGF7VXNlcklEfSA9ICRTZWxmLT57VXNlcklEfTsKICAgICAgICBmb3IgKHF3KElEIE5hbWUpKSB7CiAgICAgICAgICAgIGlmICggISggJFBhcmFtRGF0YXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICkgKSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyAhIiApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGR1cGxpY2F0ZSBjaGVjawogICAgICAgIGlmICgKICAgICAgICAgICAgISRTZWxmLT57RkFRT2JqZWN0fS0+TGFuZ3VhZ2VEdXBsaWNhdGVDaGVjaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJFBhcmFtRGF0YXtOYW1lfSwKICAgICAgICAgICAgICAgIElEICAgPT4gJFBhcmFtRGF0YXtJRH0KICAgICAgICAgICAgKQogICAgICAgICAgICApCiAgICAgICAgewoKICAgICAgICAgICAgIyBkYiBhY3Rpb24KICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0ZBUU9iamVjdH0tPkxhbmd1YWdlVXBkYXRlKCAlUGFyYW1EYXRhLCBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9ICkgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgICAgICBPUCA9PiAiQWN0aW9uPUFnZW50RkFRJlN1YmFjdGlvbj1MYW5ndWFnZSIKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+ICJMYW5ndWFnZSAnJFBhcmFtRGF0YXtOYW1lfScgYWxyZWFkeSBleGlzdHMhIgogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgY2F0ZWdvcnkgdXBkYXRlCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0NhdGVnb3J5Q2hhbmdlJyApIHsKCiAgICAgICAgQFBhcmFtcyA9IHF3KENhdGVnb3J5SUQpOwoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjIGNlY2sgcGFyYW1ldGVycwogICAgICAgIG15ICVQYXJhbURhdGEgPSAoKTsKICAgICAgICBmb3IgKHF3KENhdGVnb3J5SUQpKSB7CiAgICAgICAgICAgIGlmICggISggJFBhcmFtRGF0YXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICkgKSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyAhIiApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGRiIGFjdGlvbgogICAgICAgIG15ICVDYXRlZ29yeURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkNhdGVnb3J5R2V0KAogICAgICAgICAgICBDYXRlZ29yeUlEID0+ICRQYXJhbURhdGF7Q2F0ZWdvcnlJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CiAgICAgICAgaWYgKCAhJUNhdGVnb3J5RGF0YSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RXJyb3JTY3JlZW4oKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IGNhdGVnb3J5IGxpc3QKICAgICAgICBteSAlQ2F0ZWdvcnlMaXN0ID0gJXsgJFNlbGYtPntGQVFPYmplY3R9LT5DYXRlZ29yeUxpc3QoIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0gKSB9OwoKICAgICAgICAjIGR0bAogICAgICAgICRGcm9udGVuZHtDYXRlZ29yeUxvbmdPcHRpb259ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5BZ2VudEZBUUNhdGVnb3J5TGlzdE9wdGlvbigKICAgICAgICAgICAgQ2F0ZWdvcnlMaXN0ICAgICAgICA9PiB7JUNhdGVnb3J5TGlzdH0sCiAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgPT4gMTAsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICAgPT4gJ0NhdGVnb3J5SUQnLAogICAgICAgICAgICBTZWxlY3RlZElEICAgICAgICAgID0+ICRDYXRlZ29yeURhdGF7Q2F0ZWdvcnlJRH0sCiAgICAgICAgICAgIEhUTUxRdW90ZSAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTGFuZ3VhZ2VUcmFuc2xhdGlvbiA9PiAwLAogICAgICAgICk7CgogICAgICAgICMgZGVsZXRlIG93biBjYXRlZ29yeSBmcm9tIHBhcmVudCBsaXN0CiAgICAgICAgZGVsZXRlICRDYXRlZ29yeUxpc3R7ICRDYXRlZ29yeURhdGF7UGFyZW50SUR9IH0tPnsgJENhdGVnb3J5RGF0YXtDYXRlZ29yeUlEfSB9OwoKICAgICAgICAkRnJvbnRlbmR7Q2F0ZWdvcnlPcHRpb259ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5BZ2VudEZBUUNhdGVnb3J5TGlzdE9wdGlvbigKICAgICAgICAgICAgQ2F0ZWdvcnlMaXN0ICAgICAgICA9PiB7JUNhdGVnb3J5TGlzdH0sCiAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTmFtZSAgICAgICAgICAgICAgICA9PiAnUGFyZW50SUQnLAogICAgICAgICAgICBTZWxlY3RlZElEICAgICAgICAgID0+ICRDYXRlZ29yeURhdGF7UGFyZW50SUR9LAogICAgICAgICAgICBIVE1MUXVvdGUgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIExhbmd1YWdlVHJhbnNsYXRpb24gPT4gMCwKICAgICAgICAgICAgUm9vdEVsZW1lbnQgICAgICAgICA9PiAxLAogICAgICAgICk7CgogICAgICAgICMgYnVpbGQgVmFsaWRJRCBzdHJpbmcKICAgICAgICAkRnJvbnRlbmR7VmFsaWRPcHRpb259ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PcHRpb25TdHJnSGFzaFJlZigKICAgICAgICAgICAgRGF0YSAgICAgICA9PiB7ICRTZWxmLT57VmFsaWRPYmplY3R9LT5WYWxpZExpc3QoKSB9LAogICAgICAgICAgICBOYW1lICAgICAgID0+ICdWYWxpZElEJywKICAgICAgICAgICAgU2VsZWN0ZWRJRCA9PiAkQ2F0ZWdvcnlEYXRhe1ZhbGlkSUR9LAogICAgICAgICk7CiAgICAgICAgbXkgJFNlbGVjdGVkR3JvdXBzID0gJFNlbGYtPntGQVFPYmplY3R9LT5HZXRDYXRlZ29yeUdyb3VwKAogICAgICAgICAgICBDYXRlZ29yeUlEID0+ICRQYXJhbURhdGF7Q2F0ZWdvcnlJRH0sCiAgICAgICAgKTsKICAgICAgICBteSAlR3JvdXBzID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTGlzdCggVmFsaWQgPT4gMSApOwogICAgICAgICRGcm9udGVuZHtHcm91cE9wdGlvbn0gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPk9wdGlvblN0cmdIYXNoUmVmKAogICAgICAgICAgICBEYXRhICAgICAgICAgICAgICAgPT4gXCVHcm91cHMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICA9PiAnUGVybWlzc2lvbkdyb3VwcycsCiAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICA9PiAxMiwKICAgICAgICAgICAgTXVsdGlwbGUgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFNlbGVjdGVkSURSZWZBcnJheSA9PiAkU2VsZWN0ZWRHcm91cHMsCiAgICAgICAgKTsKICAgICAgICAkUGFyYW17SGVhZGxpbmV9ICAgICAgPSAnVXBkYXRlJzsKICAgICAgICAkUGFyYW17Rm9ybVN1YmFjdGlvbn0gPSAnQ2F0ZWdvcnlDaGFuZ2VBY3Rpb24nOwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0NhdGVnb3J5JywKICAgICAgICAgICAgRGF0YSA9PiB7ICVQYXJhbSwgJUZyb250ZW5kLCAlQ2F0ZWdvcnlEYXRhIH0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdDYXRlZ29yeUFkZExpbmsnLAogICAgICAgICAgICBEYXRhID0+IHslUGFyYW19LAogICAgICAgICk7CgogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGNhdGVnb3J5IHVwZGF0ZSBhY3Rpb24KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQ2F0ZWdvcnlDaGFuZ2VBY3Rpb24nICkgewoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIHBhcmFtZXRlcnMKICAgICAgICBteSAlUGFyYW1EYXRhICAgICAgPSAoKTsKICAgICAgICBteSBAUmVxdWlyZWRQYXJhbXMgPSBxdyhDYXRlZ29yeUlEIE5hbWUgQ29tbWVudCk7CiAgICAgICAgbXkgQFBhcmFtcyAgICAgICAgID0gcXcoUGFyZW50SUQgVmFsaWRJRCk7CiAgICAgICAgZm9yIChAUmVxdWlyZWRQYXJhbXMpIHsKICAgICAgICAgICAgJFBhcmFtRGF0YXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICk7CiAgICAgICAgICAgIGlmICggISRQYXJhbURhdGF7JF99ICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yIChAUGFyYW1zKSB7CiAgICAgICAgICAgICRQYXJhbURhdGF7JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApOwogICAgICAgICAgICBpZiAoICFkZWZpbmVkKCAkUGFyYW1EYXRheyRffSApICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZHVwbGljYXRlIGNoZWNrCiAgICAgICAgaWYgKAogICAgICAgICAgICAhJFNlbGYtPntGQVFPYmplY3R9LT5DYXRlZ29yeUR1cGxpY2F0ZUNoZWNrKAogICAgICAgICAgICAgICAgTmFtZSAgICAgPT4gJFBhcmFtRGF0YXtOYW1lfSwKICAgICAgICAgICAgICAgIElEICAgICAgID0+ICRQYXJhbURhdGF7Q2F0ZWdvcnlJRH0sCiAgICAgICAgICAgICAgICBQYXJlbnRJRCA9PiAkUGFyYW1EYXRhe1BhcmVudElEfQogICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICB7CgogICAgICAgICAgICAjIGRiIGFjdGlvbgogICAgICAgICAgICBpZiAoICRTZWxmLT57RkFRT2JqZWN0fS0+Q2F0ZWdvcnlVcGRhdGUoICVQYXJhbURhdGEsIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0gKSApIHsKCiAgICAgICAgICAgICAgICAjIHNldCBjYXRlZ29yeWdyb3VwcwogICAgICAgICAgICAgICAgbXkgQFBlcm1pc3Npb25Hcm91cHMgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0QXJyYXkoIFBhcmFtID0+ICJQZXJtaXNzaW9uR3JvdXBzIiApOwogICAgICAgICAgICAgICAgJFNlbGYtPntGQVFPYmplY3R9LT5TZXRDYXRlZ29yeUdyb3VwKAogICAgICAgICAgICAgICAgICAgIENhdGVnb3J5SUQgPT4gJFBhcmFtRGF0YXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgICAgICAgICBHcm91cElEcyAgID0+IFxAUGVybWlzc2lvbkdyb3VwcywKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgICAgICBPUCA9PiAiQWN0aW9uPUFnZW50RkFRJlN1YmFjdGlvbj1DYXRlZ29yeSIKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+ICJDYXRlZ29yeSAnJFBhcmFtRGF0YXtOYW1lfScgYWxyZWFkeSBleGlzdHMhIgogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBjYXRlZ29yeSBhZGQKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQ2F0ZWdvcnknICkgewoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKCiAgICAgICAgaWYgKCAhJFNlbGYtPntBY2Nlc3NSd30gKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPk5vUGVybWlzc2lvbiggV2l0aEhlYWRlciA9PiAneWVzJyApOwogICAgICAgIH0KCiAgICAgICAgIyBkdGwKCiAgICAgICAgJEZyb250ZW5ke0NhdGVnb3J5TG9uZ09wdGlvbn0gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkFnZW50RkFRQ2F0ZWdvcnlMaXN0T3B0aW9uKAogICAgICAgICAgICBDYXRlZ29yeUxpc3QgICAgICAgID0+IHsgJXsgJFNlbGYtPntGQVFPYmplY3R9LT5DYXRlZ29yeUxpc3QoIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0gKSB9IH0sCiAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgPT4gMTAsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICAgPT4gJ0NhdGVnb3J5SUQnLAogICAgICAgICAgICBIVE1MUXVvdGUgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIExhbmd1YWdlVHJhbnNsYXRpb24gPT4gMCwKICAgICAgICApOwogICAgICAgICRGcm9udGVuZHtDYXRlZ29yeU9wdGlvbn0gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkFnZW50RkFRQ2F0ZWdvcnlMaXN0T3B0aW9uKAogICAgICAgICAgICBDYXRlZ29yeUxpc3QgICAgICAgID0+IHsgJXsgJFNlbGYtPntGQVFPYmplY3R9LT5DYXRlZ29yeUxpc3QoIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0gKSB9IH0sCiAgICAgICAgICAgIFNpemUgICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTmFtZSAgICAgICAgICAgICAgICA9PiAnUGFyZW50SUQnLAogICAgICAgICAgICBIVE1MUXVvdGUgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIExhbmd1YWdlVHJhbnNsYXRpb24gPT4gMCwKICAgICAgICAgICAgUm9vdEVsZW1lbnQgICAgICAgICA9PiAxLAogICAgICAgICk7CgogICAgICAgICMgYnVpbGQgVmFsaWRJRCBzdHJpbmcKICAgICAgICAkRnJvbnRlbmR7VmFsaWRPcHRpb259ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PcHRpb25TdHJnSGFzaFJlZigKICAgICAgICAgICAgRGF0YSA9PiB7ICRTZWxmLT57VmFsaWRPYmplY3R9LT5WYWxpZExpc3QoKSB9LAogICAgICAgICAgICBOYW1lID0+ICdWYWxpZElEJywKICAgICAgICApOwogICAgICAgICRQYXJhbXtIZWFkbGluZX0gICAgICA9ICdBZGQnOwogICAgICAgICRQYXJhbXtGb3JtU3ViYWN0aW9ufSA9ICdDYXRlZ29yeUFkZEFjdGlvbic7CgogICAgICAgICMgZ3JvdXAgcGVybWlzc2lvbgogICAgICAgIG15ICVHcm91cHMgPSAkU2VsZi0+e0dyb3VwT2JqZWN0fS0+R3JvdXBMaXN0KCBWYWxpZCA9PiAxICk7CiAgICAgICAgJEZyb250ZW5ke0dyb3VwT3B0aW9ufSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3B0aW9uU3RyZ0hhc2hSZWYoCiAgICAgICAgICAgIERhdGEgICAgID0+IFwlR3JvdXBzLAogICAgICAgICAgICBOYW1lICAgICA9PiAnUGVybWlzc2lvbkdyb3VwcycsCiAgICAgICAgICAgIFNpemUgICAgID0+IDEyLAogICAgICAgICAgICBNdWx0aXBsZSA9PiAxLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnQ2F0ZWdvcnknLAogICAgICAgICAgICBEYXRhID0+IHsgJVBhcmFtLCAlRnJvbnRlbmQgfSwKICAgICAgICApOwoKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBjYXRlZ29yeSBhZGQgYWN0aW9uCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0NhdGVnb3J5QWRkQWN0aW9uJyApIHsKCiAgICAgICAgIyBwZXJtaXNzaW9uIGNoZWNrCiAgICAgICAgaWYgKCAhJFNlbGYtPntBY2Nlc3NSd30gKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPk5vUGVybWlzc2lvbiggV2l0aEhlYWRlciA9PiAneWVzJyApOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayBwYXJhbWV0ZXJzCiAgICAgICAgbXkgJVBhcmFtRGF0YSAgICAgID0gKCk7CiAgICAgICAgbXkgQFJlcXVpcmVkUGFyYW1zID0gcXcoTmFtZSBDb21tZW50KTsKICAgICAgICBteSBAUGFyYW1zICAgICAgICAgPSBxdyhQYXJlbnRJRCBWYWxpZElEKTsKICAgICAgICBmb3IgKEBSZXF1aXJlZFBhcmFtcykgewogICAgICAgICAgICAkUGFyYW1EYXRheyRffSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJF8gKTsKICAgICAgICAgICAgaWYgKCAhJFBhcmFtRGF0YXskX30gKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkICRfIiApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAoQFBhcmFtcykgewogICAgICAgICAgICAkUGFyYW1EYXRheyRffSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJF8gKTsKICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCggJFBhcmFtRGF0YXskX30gKSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIk5lZWQgJF8iICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZHVwbGljYXRlIGNoZWNrCiAgICAgICAgaWYgKAogICAgICAgICAgICAhJFNlbGYtPntGQVFPYmplY3R9LT5DYXRlZ29yeUR1cGxpY2F0ZUNoZWNrKAogICAgICAgICAgICAgICAgTmFtZSAgICAgPT4gJFBhcmFtRGF0YXtOYW1lfSwKICAgICAgICAgICAgICAgIFBhcmVudElEID0+ICRQYXJhbURhdGF7UGFyZW50SUR9CiAgICAgICAgICAgICkKICAgICAgICAgICAgKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJENhdGVnb3J5SUQgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkNhdGVnb3J5QWRkKCAlUGFyYW1EYXRhLCBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9ICk7CiAgICAgICAgICAgIGlmICgkQ2F0ZWdvcnlJRCkgewoKICAgICAgICAgICAgICAgICMgc2V0IGNhdGVnb3J5Z3JvdXBzCiAgICAgICAgICAgICAgICBteSBAUGVybWlzc2lvbkdyb3VwcyA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRBcnJheSggUGFyYW0gPT4gIlBlcm1pc3Npb25Hcm91cHMiICk7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0ZBUU9iamVjdH0tPlNldENhdGVnb3J5R3JvdXAoCiAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcnlJRCA9PiAkQ2F0ZWdvcnlJRCwKICAgICAgICAgICAgICAgICAgICBHcm91cElEcyAgID0+IFxAUGVybWlzc2lvbkdyb3VwcywKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgICAgICBPUCA9PiAiQWN0aW9uPUFnZW50RkFRJlN1YmFjdGlvbj1DYXRlZ29yeSIKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICBNZXNzYWdlID0+ICJDYXRlZ29yeSAnJFBhcmFtRGF0YXtOYW1lfScgYWxyZWFkeSBleGlzdHMhIgogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBpdGVtIGFkZAogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdBZGQnICkgewoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIHBhcmFtZXRlcnMKCiAgICAgICAgIyBkdGwKICAgICAgICAkRnJvbnRlbmR7TGFuZ3VhZ2VPcHRpb259ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PcHRpb25TdHJnSGFzaFJlZigKICAgICAgICAgICAgRGF0YSAgICAgICAgICAgICAgICA9PiB7ICRTZWxmLT57RkFRT2JqZWN0fS0+TGFuZ3VhZ2VMaXN0KCkgfSwKICAgICAgICAgICAgTmFtZSAgICAgICAgICAgICAgICA9PiAnTGFuZ3VhZ2VJRCcsCiAgICAgICAgICAgIExhbmd1YWdlVHJhbnNsYXRpb24gPT4gMCwKICAgICAgICAgICAgU2VsZWN0ZWQgICAgICAgICAgICA9PiAkU2VsZi0+e1VzZXJMYW5ndWFnZX0sCiAgICAgICAgKTsKCiAgICAgICAgIyBmaW5kIG91dCB0aGUgY2F0ZWdvcnkgaWQgb2YgdGhlIGxhc3Qgdmlld2VkIGNhdGVnb3J5CiAgICAgICAgbXkgJENhdGVnb3J5SUQ7CiAgICAgICAgaWYgKCAkRU5WeydIVFRQX1JFRkVSRVInfSA9fiBteyBDYXRlZ29yeUlEID0gKCBcZCsgKSB9eG1zICkgewogICAgICAgICAgICAkQ2F0ZWdvcnlJRCA9ICQxOwogICAgICAgIH0KCiAgICAgICAgbXkgJENhdGVnb3JpZXMgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkdldFVzZXJDYXRlZ29yaWVzKAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBUeXBlICAgPT4gJ3J3JwogICAgICAgICk7CiAgICAgICAgJEZyb250ZW5ke0NhdGVnb3J5T3B0aW9ufSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QWdlbnRGQVFDYXRlZ29yeUxpc3RPcHRpb24oCiAgICAgICAgICAgIENhdGVnb3J5TGlzdCAgICAgICAgPT4gJENhdGVnb3JpZXMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICAgPT4gJ0NhdGVnb3J5SUQnLAogICAgICAgICAgICBMYW5ndWFnZVRyYW5zbGF0aW9uID0+IDAsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICAgICAgICAgPT4gJENhdGVnb3J5SUQgfHwgJycsCiAgICAgICAgKTsKCiAgICAgICAgJEZyb250ZW5ke1N0YXRlT3B0aW9ufSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3B0aW9uU3RyZ0hhc2hSZWYoCiAgICAgICAgICAgIERhdGEgICAgID0+IHsgJFNlbGYtPntGQVFPYmplY3R9LT5TdGF0ZUxpc3QoKSB9LAogICAgICAgICAgICBOYW1lICAgICA9PiAnU3RhdGVJRCcsCiAgICAgICAgICAgIFNlbGVjdGVkID0+ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkRlZmF1bHQ6OlN0YXRlJykgfHwgJ2ludGVybmFsIChhZ2VudCknLAogICAgICAgICk7CgogICAgICAgICRGcm9udGVuZHtGb3JtSUR9ID0gJFNlbGYtPntVcGxvYWRDYWNoZU9iamVjdH0tPkZvcm1JRENyZWF0ZSgpOwoKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdBZGQnLAogICAgICAgICAgICBEYXRhID0+IHsgJVBhcmFtLCAlRnJvbnRlbmQgfSwKICAgICAgICApOwoKICAgICAgICAjIHNob3cgYXBwcm92YWwgZmllbGQKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkFwcHJvdmFsUmVxdWlyZWQnKSApIHsKCiAgICAgICAgICAgICMgY2hlY2sgcGVybWlzc2lvbgogICAgICAgICAgICBteSAlR3JvdXBzID0gcmV2ZXJzZSAkU2VsZi0+e0dyb3VwT2JqZWN0fS0+R3JvdXBNZW1iZXJMaXN0KAogICAgICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgIFR5cGUgICA9PiAncm8nLAogICAgICAgICAgICAgICAgUmVzdWx0ID0+ICdIQVNIJywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGlmICggZXhpc3RzICRHcm91cHN7ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkFwcHJvdmFsR3JvdXAnKSB9ICkgewogICAgICAgICAgICAgICAgbXkgJURhdGE7CiAgICAgICAgICAgICAgICAkRGF0YXtBcHByb3ZhbE9wdGlvbn0gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPk9wdGlvblN0cmdIYXNoUmVmKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0FwcHJvdmVkJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgMCA9PiAnTm8nLAogICAgICAgICAgICAgICAgICAgICAgICAxID0+ICdZZXMnLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCA9PiAwLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnQWRkQXBwcm92YWwnLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4geyVEYXRhfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZmllbGRzCiAgICAgICAgJFNlbGYtPl9HZXRJdGVtRmllbGRzKAogICAgICAgICAgICBJdGVtRGF0YSA9PiB7fQogICAgICAgICk7CgogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGl0ZW0gYWRkIGFjdGlvbgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdBZGRBY3Rpb24nICkgewoKICAgICAgICBAUGFyYW1zID0gcXcoVGl0bGUpOwoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIHBhcmFtZXRlcnMKICAgICAgICBteSAlUGFyYW1EYXRhICAgICAgPSAoKTsKICAgICAgICBteSBAUmVxdWlyZWRQYXJhbXMgPSBxdyhDYXRlZ29yeUlEIFRpdGxlKTsKICAgICAgICBteSBAUGFyYW1zID0gcXcoU3RhdGVJRCBMYW5ndWFnZUlEIEZpZWxkMSBGaWVsZDIgRmllbGQzIEZpZWxkNCBGaWVsZDUgRmllbGQ2IEtleXdvcmRzIFRpdGxlIEFwcHJvdmVkIEZvcm1JRCk7CiAgICAgICAgZm9yIChAUmVxdWlyZWRQYXJhbXMpIHsKICAgICAgICAgICAgJFBhcmFtRGF0YXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICk7CiAgICAgICAgICAgIGlmICggISRQYXJhbURhdGF7JF99ICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yIChAUGFyYW1zKSB7CiAgICAgICAgICAgICRQYXJhbURhdGF7JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApOwogICAgICAgIH0KCiAgICAgICAgIwogICAgICAgICMgd29ya2Fyb3VuZCBmb3IgSUUKICAgICAgICAjIChJRSBpcyBzZW5kaW5nIHRoZSBhZGQgZm9ybSBtb3JlIHRoYW4gb25jZSBpZiBZVUkgZWRpdG9yIGlzIGVuYWJsZWQpCiAgICAgICAgIwogICAgICAgICMgZ2V0IHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lCiAgICAgICAgbXkgJEN1cnJlbnRUaW1lID0gJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZSgpOwoKICAgICAgICAjIHNlYXJjaCBmYXEgYXJ0aWNsZXMgd2l0aCBzYW1lIHRpdGxlIGFuZCBrZXl3b3JkcwogICAgICAgIG15IEBJRHMgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUVNlYXJjaCgKICAgICAgICAgICAgVGl0bGUgICA9PiAkUGFyYW1EYXRhe1RpdGxlfSwKICAgICAgICAgICAgS2V5d29yZCA9PiAkUGFyYW1EYXRhe0tleXdvcmRzfSwKICAgICAgICAgICAgT3JkZXIgICA9PiAnQ2hhbmdlZCcsCiAgICAgICAgICAgIFNvcnQgICAgPT4gJ2Rvd24nLAogICAgICAgICAgICBMaW1pdCAgID0+IDEsCiAgICAgICAgKTsKICAgICAgICBpZiAoQElEcykgewogICAgICAgICAgICBteSAkSXRlbUlEID0gJElEc1swXTsKCiAgICAgICAgICAgICMgZ2V0IGZhcSBkYXRhCiAgICAgICAgICAgIG15ICVGQVEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICAgICAgICAgIEl0ZW1JRCA9PiAkSXRlbUlELAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBjaGVjayBpZiBkYXRhIGlzIHRoZSBzYW1lCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICggJEZBUXtUaXRsZX0gZXEgJFBhcmFtRGF0YXtUaXRsZX0gKQogICAgICAgICAgICAgICAgJiYgKCAkRkFRe0tleXdvcmRzfSBlcSAkUGFyYW1EYXRhe0tleXdvcmRzfSApCiAgICAgICAgICAgICAgICAmJiAoICRGQVF7Q2F0ZWdvcnlJRH0gZXEgJFBhcmFtRGF0YXtDYXRlZ29yeUlEfSApCiAgICAgICAgICAgICAgICAmJiAoICRGQVF7U3RhdGVJRH0gZXEgJFBhcmFtRGF0YXtTdGF0ZUlEfSApCiAgICAgICAgICAgICAgICAmJiAoICRGQVF7TGFuZ3VhZ2VJRH0gZXEgJFBhcmFtRGF0YXtMYW5ndWFnZUlEfSApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAjIGNvbnZlcnQgZmFxIGNoYW5nZSB0aW1lIHRvIHN5c3RlbSB0aW1lIGZvcm1hdAogICAgICAgICAgICAgICAgbXkgJEZBUUNoYW5nZVRpbWUgPSAkU2VsZi0+e1RpbWVPYmplY3R9LT5UaW1lU3RhbXAyU3lzdGVtVGltZSgKICAgICAgICAgICAgICAgICAgICBTdHJpbmcgPT4gJEZBUXtDaGFuZ2VkfSwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyBjYWxjdWxhdGUgdGltZSBkaWZmZXJlbmNlIGluIHNlY29uZHMKICAgICAgICAgICAgICAgIG15ICRUaW1lRGlmZiA9ICRDdXJyZW50VGltZSAtICRGQVFDaGFuZ2VUaW1lOwoKICAgICAgICAgICAgICAgICMgZG8gbm90IGFkZCBhcnRpY2xlIGlmIHRoZSBzYW1lIGFydGljbGUgd2FzIGNyZWF0ZWQgaW4gdGhlIGxhc3QgMTAgc2Vjb25kcwogICAgICAgICAgICAgICAgaWYgKCAkVGltZURpZmYgPCAxMCApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCgKICAgICAgICAgICAgICAgICAgICAgICAgT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn0mU3ViYWN0aW9uPVZpZXcmSXRlbUlEPSRJdGVtSUQiLAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgaW5zZXJ0IGl0ZW0KICAgICAgICBteSAkSXRlbUlEID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFBZGQoCiAgICAgICAgICAgICVQYXJhbURhdGEsCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAhJEl0ZW1JRCApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RXJyb3JTY3JlZW4oKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IHN1Ym1pdCBhdHRhY2htZW50CiAgICAgICAgbXkgJVVwbG9hZFN0dWZmID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFVwbG9hZEFsbCgKICAgICAgICAgICAgUGFyYW0gID0+ICdmaWxlX3VwbG9hZCcsCiAgICAgICAgICAgIFNvdXJjZSA9PiAnU3RyaW5nJywKICAgICAgICApOwogICAgICAgIGlmICglVXBsb2FkU3R1ZmYpIHsKICAgICAgICAgICAgJFNlbGYtPntGQVFPYmplY3R9LT5BdHRhY2htZW50QWRkKAogICAgICAgICAgICAgICAgSXRlbUlEID0+ICRJdGVtSUQsCiAgICAgICAgICAgICAgICAlVXBsb2FkU3R1ZmYsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHN0b3JlIHVwbG9hZGVkIHBpY3R1cmVzIGFzIGZhcSBhdHRhY2htZW50cwogICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6V1lTSVdZR0VkaXRvcicpICkgewogICAgICAgICAgICBteSAkT2sgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUVBpY3R1cmVVcGxvYWRBZGQoCiAgICAgICAgICAgICAgICBJdGVtSUQgPT4gJEl0ZW1JRCwKICAgICAgICAgICAgICAgICVQYXJhbURhdGEsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGlmICggISRPayApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNvdWxkIG5vdCBzdG9yZSB1cGxvYWRlZCBwaWN0dXJlcyBhcyBmYXEgYXR0YWNobWVudHMiCiAgICAgICAgICAgICAgICAgICAgICAgIC4gImZvciBGQVEgSXRlbSMgJyRQYXJhbXtJdGVtSUR9JyEiLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UmVkaXJlY3QoCiAgICAgICAgICAgIE9QID0+ICJBY3Rpb249JFNlbGYtPntBY3Rpb259JlN1YmFjdGlvbj1WaWV3Jkl0ZW1JRD0kSXRlbUlEIiwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGl0ZW0gdXBkYXRlCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1VwZGF0ZScgKSB7CgogICAgICAgIEBQYXJhbXMgPSBxdyhJdGVtSUQpOwoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIHBhcmFtZXRlcnMKICAgICAgICBteSAlUGFyYW1EYXRhICAgICAgPSAoKTsKICAgICAgICBteSBAUmVxdWlyZWRQYXJhbXMgPSBxdyhDYXRlZ29yeUlEIEl0ZW1JRCk7CiAgICAgICAgZm9yIChAUmVxdWlyZWRQYXJhbXMpIHsKICAgICAgICAgICAgJFBhcmFtRGF0YXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICk7CiAgICAgICAgICAgIGlmICggISRQYXJhbURhdGF7JF99ICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZGIgYWN0aW9uCiAgICAgICAgbXkgJUl0ZW1EYXRhID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFHZXQoCiAgICAgICAgICAgIEl0ZW1JRCA9PiAkUGFyYW1EYXRhe0l0ZW1JRH0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoICElSXRlbURhdGEgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKCk7CiAgICAgICAgfQoKICAgICAgICBteSAkUGVybWlzc2lvbiA9ICRTZWxmLT57RkFRT2JqZWN0fS0+Q2hlY2tDYXRlZ29yeVVzZXJQZXJtaXNzaW9uKAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgQ2F0ZWdvcnlJRCA9PiAkSXRlbURhdGF7Q2F0ZWdvcnlJRH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoICRQZXJtaXNzaW9uIGVxICcnICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIlBlcm1pc3Npb24gZGVuaWVkISIgKTsKICAgICAgICB9CgogICAgICAgICMgZHRsCiAgICAgICAgJEZyb250ZW5ke0xhbmd1YWdlT3B0aW9ufSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3B0aW9uU3RyZ0hhc2hSZWYoCiAgICAgICAgICAgIERhdGEgICAgICAgICAgICAgICAgPT4geyAkU2VsZi0+e0ZBUU9iamVjdH0tPkxhbmd1YWdlTGlzdCgpIH0sCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICAgPT4gJ0xhbmd1YWdlSUQnLAogICAgICAgICAgICBMYW5ndWFnZVRyYW5zbGF0aW9uID0+IDAsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICAgICAgICAgPT4gJEl0ZW1EYXRhe0xhbmd1YWdlSUR9LAogICAgICAgICk7CiAgICAgICAgbXkgJENhdGVnb3JpZXMgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkdldFVzZXJDYXRlZ29yaWVzKAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBUeXBlICAgPT4gJ3J3JwogICAgICAgICk7CiAgICAgICAgJEZyb250ZW5ke0NhdGVnb3J5T3B0aW9ufSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QWdlbnRGQVFDYXRlZ29yeUxpc3RPcHRpb24oCiAgICAgICAgICAgIENhdGVnb3J5TGlzdCAgICAgICAgPT4gJENhdGVnb3JpZXMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgICAgICAgPT4gJ0NhdGVnb3J5SUQnLAogICAgICAgICAgICBMYW5ndWFnZVRyYW5zbGF0aW9uID0+IDAsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICAgICAgICAgPT4gJEl0ZW1EYXRhe0NhdGVnb3J5SUR9LAogICAgICAgICk7CiAgICAgICAgJEZyb250ZW5ke1N0YXRlT3B0aW9ufSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3B0aW9uU3RyZ0hhc2hSZWYoCiAgICAgICAgICAgIERhdGEgICAgICAgPT4geyAkU2VsZi0+e0ZBUU9iamVjdH0tPlN0YXRlTGlzdCgpIH0sCiAgICAgICAgICAgIE5hbWUgICAgICAgPT4gJ1N0YXRlSUQnLAogICAgICAgICAgICBTZWxlY3RlZElEID0+ICRJdGVtRGF0YXtTdGF0ZUlEfSwKICAgICAgICApOwoKICAgICAgICAkRnJvbnRlbmR7Rm9ybUlEfSA9ICRTZWxmLT57VXBsb2FkQ2FjaGVPYmplY3R9LT5Gb3JtSURDcmVhdGUoKTsKCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVXBkYXRlJywKICAgICAgICAgICAgRGF0YSA9PiB7ICVJdGVtRGF0YSwgJUZyb250ZW5kIH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBzaG93IGFwcHJvdmFsIGZpZWxkCiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpBcHByb3ZhbFJlcXVpcmVkJykgKSB7CgogICAgICAgICAgICAjIGNoZWNrIHBlcm1pc3Npb24KICAgICAgICAgICAgbXkgJUdyb3VwcyA9IHJldmVyc2UgJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTWVtYmVyTGlzdCgKICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICBUeXBlICAgPT4gJ3JvJywKICAgICAgICAgICAgICAgIFJlc3VsdCA9PiAnSEFTSCcsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBpZiAoIGV4aXN0cyAkR3JvdXBzeyAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpBcHByb3ZhbEdyb3VwJykgfSApIHsKICAgICAgICAgICAgICAgIG15ICVEYXRhOwogICAgICAgICAgICAgICAgJERhdGF7QXBwcm92YWxPcHRpb259ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PcHRpb25TdHJnSGFzaFJlZigKICAgICAgICAgICAgICAgICAgICBOYW1lID0+ICdBcHByb3ZlZCcsCiAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIDAgPT4gJ05vJywKICAgICAgICAgICAgICAgICAgICAgICAgMSA9PiAnWWVzJywKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIFNlbGVjdGVkSUQgPT4gJEl0ZW1EYXRhe0FwcHJvdmVkfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1VwZGF0ZUFwcHJvdmFsJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHslRGF0YX0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGFkZCBhdHRhY2htZW50cwogICAgICAgIG15IEBBdHRhY2htZW50SW5kZXggPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkF0dGFjaG1lbnRJbmRleCgKICAgICAgICAgICAgSXRlbUlEID0+ICRQYXJhbURhdGF7SXRlbUlEfSwKICAgICAgICApOwogICAgICAgIGZvciBteSAkQXR0YWNobWVudCAoQEF0dGFjaG1lbnRJbmRleCkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnVXBkYXRlQXR0YWNobWVudCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsgJUl0ZW1EYXRhLCAleyRBdHRhY2htZW50fSB9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBmaWVsZHMKICAgICAgICAkU2VsZi0+X0dldEl0ZW1GaWVsZHMoCiAgICAgICAgICAgIEl0ZW1EYXRhID0+IFwlSXRlbURhdGEKICAgICAgICApOwoKICAgICAgICAjIG91dHB1dAogICAgICAgICRIZWFkZXJUaXRsZSA9ICdFZGl0JzsKICAgICAgICAkSGVhZGVyICAgICAgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkhlYWRlcigKICAgICAgICAgICAgVHlwZSAgPT4gJEhlYWRlclR5cGUsCiAgICAgICAgICAgIFRpdGxlID0+ICRIZWFkZXJUaXRsZQogICAgICAgICk7CgogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGl0ZW0gdXBkYXRlIGFjdGlvbgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdVcGRhdGVBY3Rpb24nICkgewoKICAgICAgICBAUGFyYW1zID0gcXcoSXRlbUlEIFRpdGxlIENhdGVnb3J5SUQgU3RhdGVJRCBMYW5ndWFnZUlEKTsKCiAgICAgICAgIyBwZXJtaXNzaW9uIGNoZWNrCiAgICAgICAgaWYgKCAhJFNlbGYtPntBY2Nlc3NSd30gKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPk5vUGVybWlzc2lvbiggV2l0aEhlYWRlciA9PiAneWVzJyApOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayBwYXJhbWV0ZXJzCiAgICAgICAgbXkgJVBhcmFtRGF0YSAgICAgID0gKCk7CiAgICAgICAgbXkgQFJlcXVpcmVkUGFyYW1zID0gcXcoVGl0bGUgQ2F0ZWdvcnlJRCk7CiAgICAgICAgbXkgQFBhcmFtcyAgICAgICAgID0gcXcoSXRlbUlEIFN0YXRlSUQgTGFuZ3VhZ2VJRCBGaWVsZDEgRmllbGQyIEZpZWxkMyBGaWVsZDQgRmllbGQ1IEZpZWxkNiBLZXl3b3JkcwogICAgICAgICAgICBBcHByb3ZlZCBGb3JtSUQgQXR0YWNobWVudFVwbG9hZCk7CgogICAgICAgIGZvciAoQFJlcXVpcmVkUGFyYW1zKSB7CiAgICAgICAgICAgICRQYXJhbURhdGF7JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApOwogICAgICAgICAgICBpZiAoICEkUGFyYW1EYXRheyRffSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIk5lZWQgJF8hIiApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvciAoQFBhcmFtcykgewogICAgICAgICAgICAkUGFyYW1EYXRheyRffSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJF8gKTsKICAgICAgICB9CgogICAgICAgIG15ICRSZWRpcmVjdCA9IDE7CgogICAgICAgICMgZ2V0IGZhcSBkYXRhCiAgICAgICAgbXkgJUl0ZW1EYXRhID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFHZXQoCiAgICAgICAgICAgIEl0ZW1JRCA9PiAkUGFyYW1EYXRhe0l0ZW1JRH0sCiAgICAgICAgKTsKCiAgICAgICAgbXkgJFBlcm1pc3Npb24gPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkNoZWNrQ2F0ZWdvcnlVc2VyUGVybWlzc2lvbigKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgIENhdGVnb3J5SUQgPT4gJEl0ZW1EYXRhe0NhdGVnb3J5SUR9LAogICAgICAgICk7CiAgICAgICAgaWYgKCAkUGVybWlzc2lvbiBlcSAnJyApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJQZXJtaXNzaW9uIGRlbmllZCEiICk7CiAgICAgICAgfQoKICAgICAgICAjIGF0dGFjaG1lbnQgZGVsZXRlCiAgICAgICAgbXkgQEF0dGFjaG1lbnRJbmRleCA9ICRTZWxmLT57RkFRT2JqZWN0fS0+QXR0YWNobWVudEluZGV4KAogICAgICAgICAgICBJdGVtSUQgPT4gJFBhcmFtRGF0YXtJdGVtSUR9LAogICAgICAgICk7CiAgICAgICAgZm9yIG15ICRBdHRhY2htZW50IChAQXR0YWNobWVudEluZGV4KSB7CiAgICAgICAgICAgIG15ICRGaWxlSUQgPSAkQXR0YWNobWVudC0+e0ZpbGVJRH07CiAgICAgICAgICAgICRQYXJhbURhdGF7IkF0dGFjaG1lbnREZWxldGUkRmlsZUlEIn0gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oCiAgICAgICAgICAgICAgICBQYXJhbSA9PiAiQXR0YWNobWVudERlbGV0ZSRGaWxlSUQiLAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICRQYXJhbURhdGF7IkF0dGFjaG1lbnREZWxldGUkRmlsZUlEIn0gKSB7CiAgICAgICAgICAgICAgICAkUmVkaXJlY3QgPSAwOwogICAgICAgICAgICAgICAgJFNlbGYtPntGQVFPYmplY3R9LT5BdHRhY2htZW50RGVsZXRlKAogICAgICAgICAgICAgICAgICAgIEl0ZW1JRCA9PiAkUGFyYW1EYXRhe0l0ZW1JRH0sCiAgICAgICAgICAgICAgICAgICAgRmlsZUlEID0+ICRGaWxlSUQsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGF0dGFjaG1lbnQgdXBsb2FkCiAgICAgICAgaWYgKCAkUGFyYW1EYXRhe0F0dGFjaG1lbnRVcGxvYWR9ICkgewogICAgICAgICAgICAkUmVkaXJlY3QgPSAwOwogICAgICAgICAgICBteSAlVXBsb2FkU3R1ZmYgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0VXBsb2FkQWxsKAogICAgICAgICAgICAgICAgUGFyYW0gID0+ICJmaWxlX3VwbG9hZCIsCiAgICAgICAgICAgICAgICBTb3VyY2UgPT4gJ3N0cmluZycsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+QXR0YWNobWVudEFkZCgKICAgICAgICAgICAgICAgIEl0ZW1JRCA9PiAkUGFyYW1EYXRhe0l0ZW1JRH0sCiAgICAgICAgICAgICAgICAlVXBsb2FkU3R1ZmYsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHVwZGF0ZSBpdGVtCiAgICAgICAgbXkgJFVwZGF0ZSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRVXBkYXRlKAogICAgICAgICAgICAlUGFyYW1EYXRhLAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIGlmICggISRVcGRhdGUgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKCk7CiAgICAgICAgfQoKICAgICAgICAjIHN0b3JlIHVwbG9hZGVkIHBpY3R1cmVzIGFzIGZhcSBhdHRhY2htZW50cwogICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6V1lTSVdZR0VkaXRvcicpICkgewogICAgICAgICAgICBteSAkT2sgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUVBpY3R1cmVVcGxvYWRBZGQoCiAgICAgICAgICAgICAgICAlUGFyYW1EYXRhLAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICEkT2sgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3Qgc3RvcmUgdXBsb2FkZWQgcGljdHVyZXMgYXMgZmFxIGF0dGFjaG1lbnRzIgogICAgICAgICAgICAgICAgICAgICAgICAuICIgZm9yIEZBUSBJdGVtIyAnJFBhcmFtRGF0YXtJdGVtSUR9JyEiLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyB1cGRhdGUgYXBwcm92YWwKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkFwcHJvdmFsUmVxdWlyZWQnKSApIHsKCiAgICAgICAgICAgICMgY2hlY2sgcGVybWlzc2lvbgogICAgICAgICAgICBteSAlR3JvdXBzID0gcmV2ZXJzZSAkU2VsZi0+e0dyb3VwT2JqZWN0fS0+R3JvdXBNZW1iZXJMaXN0KAogICAgICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgIFR5cGUgICA9PiAncm8nLAogICAgICAgICAgICAgICAgUmVzdWx0ID0+ICdIQVNIJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCAhZXhpc3RzICRHcm91cHN7ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkFwcHJvdmFsR3JvdXAnKSB9ICkgewogICAgICAgICAgICAgICAgJFBhcmFtRGF0YXtBcHByb3ZlZH0gPSAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRVcGRhdGUgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUFwcHJvdmFsVXBkYXRlKAogICAgICAgICAgICAgICAgSXRlbUlEICAgICA9PiAkUGFyYW1EYXRhe0l0ZW1JRH0sCiAgICAgICAgICAgICAgICBBcHByb3ZlZCAgID0+ICRQYXJhbURhdGF7QXBwcm92ZWR9LAogICAgICAgICAgICAgICAgTGFzdENoYW5nZSA9PiAkSXRlbURhdGF7Q2hhbmdlZH0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCAhJFVwZGF0ZSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgkUmVkaXJlY3QpIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UmVkaXJlY3QoCiAgICAgICAgICAgICAgICBPUCA9PiAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufSZTdWJhY3Rpb249VmlldyZJdGVtSUQ9JEdldFBhcmFte0l0ZW1JRH0iLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UmVkaXJlY3QoCiAgICAgICAgICAgICAgICBPUCA9PgogICAgICAgICAgICAgICAgICAgICJBY3Rpb249JFNlbGYtPntBY3Rpb259JlN1YmFjdGlvbj1VcGRhdGUmSXRlbUlEPSRHZXRQYXJhbXtJdGVtSUR9JkNhdGVnb3J5SUQ9JEdldFBhcmFte0NhdGVnb3J5SUR9IiwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgZGVsZXRlIGl0ZW0gc2NyZWVuCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0RlbGV0ZScgKSB7CgogICAgICAgIEBQYXJhbXMgPSBxdyhJdGVtSUQpOwoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIHBhcmFtZXRlcnMKICAgICAgICBteSAlUGFyYW1EYXRhICAgICAgPSAoKTsKICAgICAgICBteSBAUmVxdWlyZWRQYXJhbXMgPSBxdyhDYXRlZ29yeUlEIEl0ZW1JRCk7CiAgICAgICAgZm9yIChAUmVxdWlyZWRQYXJhbXMpIHsKICAgICAgICAgICAgJFBhcmFtRGF0YXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICk7CiAgICAgICAgICAgIGlmICggISRQYXJhbURhdGF7JF99ICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yIChAUGFyYW1zKSB7CiAgICAgICAgICAgICRQYXJhbURhdGF7JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApOwogICAgICAgIH0KCiAgICAgICAgIyBkYiBhY3Rpb24KICAgICAgICBteSAlSXRlbURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICAgICAgSXRlbUlEID0+ICRQYXJhbURhdGF7SXRlbUlEfSwKICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfQogICAgICAgICk7CiAgICAgICAgaWYgKCAhJUl0ZW1EYXRhICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigpOwogICAgICAgIH0KCiAgICAgICAgbXkgJFBlcm1pc3Npb24gPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkNoZWNrQ2F0ZWdvcnlVc2VyUGVybWlzc2lvbigKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgIENhdGVnb3J5SUQgPT4gJEl0ZW1EYXRhe0NhdGVnb3J5SUR9LAogICAgICAgICk7CiAgICAgICAgaWYgKCAkUGVybWlzc2lvbiBlcSAnJyApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJQZXJtaXNzaW9uIGRlbmllZCEiICk7CiAgICAgICAgfQoKICAgICAgICAjIGR0bAogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0RlbGV0ZScsCiAgICAgICAgICAgIERhdGEgPT4geyVJdGVtRGF0YX0sCiAgICAgICAgKTsKCiAgICAgICAgIyBvdXRwdXQKICAgICAgICAkSGVhZGVyVGl0bGUgPSAnRGVsZXRlJzsKICAgICAgICAkSGVhZGVyICAgICAgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkhlYWRlcigKICAgICAgICAgICAgVHlwZSAgPT4gJEhlYWRlclR5cGUsCiAgICAgICAgICAgIFRpdGxlID0+ICRIZWFkZXJUaXRsZQogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgaXRlbSBkZWxldGUgYWN0aW9uCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0RlbGV0ZUFjdGlvbicgKSB7CgogICAgICAgIEBQYXJhbXMgPSBxdyhJdGVtSUQpOwoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkU2VsZi0+e0FjY2Vzc1J3fSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIHBhcmFtZXRlcnMKICAgICAgICBteSAlUGFyYW1EYXRhICAgICAgPSAoKTsKICAgICAgICBteSBAUmVxdWlyZWRQYXJhbXMgPSBxdyhDYXRlZ29yeUlEIEl0ZW1JRCk7CiAgICAgICAgZm9yIChAUmVxdWlyZWRQYXJhbXMpIHsKICAgICAgICAgICAgJFBhcmFtRGF0YXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICk7CiAgICAgICAgICAgIGlmICggISRQYXJhbURhdGF7JF99ICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZGIgYWN0aW9uCiAgICAgICAgbXkgJUl0ZW1EYXRhID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFHZXQoCiAgICAgICAgICAgIEl0ZW1JRCA9PiAkUGFyYW1EYXRhe0l0ZW1JRH0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoICElSXRlbURhdGEgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKCk7CiAgICAgICAgfQoKICAgICAgICBteSAkUGVybWlzc2lvbiA9ICRTZWxmLT57RkFRT2JqZWN0fS0+Q2hlY2tDYXRlZ29yeVVzZXJQZXJtaXNzaW9uKAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgQ2F0ZWdvcnlJRCA9PiAkSXRlbURhdGF7Q2F0ZWdvcnlJRH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoICRQZXJtaXNzaW9uIGVxICcnICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIlBlcm1pc3Npb24gZGVuaWVkISIgKTsKICAgICAgICB9CgogICAgICAgIG15ICREZWxldGUgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUURlbGV0ZSgKICAgICAgICAgICAgJUl0ZW1EYXRhLAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIGlmICggISREZWxldGUgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCgKICAgICAgICAgICAgT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn0mU3ViYWN0aW9uPUV4cGxvcmVyJkNhdGVnb3J5SUQ9JFBhcmFtRGF0YXtDYXRlZ29yeUlEfSIsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBkb3dubG9hZCBpdGVtCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0Rvd25sb2FkJyApIHsKICAgICAgICBAUGFyYW1zID0gcXcoSXRlbUlEIEZpbGVJRCk7CgogICAgICAgICMgcGVybWlzc2lvbiBjaGVjawogICAgICAgIGlmICggISRTZWxmLT57QWNjZXNzUm99ICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Ob1Blcm1pc3Npb24oIFdpdGhIZWFkZXIgPT4gJ3llcycgKTsKICAgICAgICB9CgogICAgICAgICMgbWFuYWdlIHBhcmFtZXRlcnMKICAgICAgICBmb3IgKEBQYXJhbXMpIHsKICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCggJEdldFBhcmFteyRffSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJF8gKSApICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCAkXyIgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBkYiBhY3Rpb24KICAgICAgICBteSAlSXRlbURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICAgICAgSXRlbUlEID0+ICRHZXRQYXJhbXtJdGVtSUR9LAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIGlmICggISVJdGVtRGF0YSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RXJyb3JTY3JlZW4oKTsKICAgICAgICB9CgogICAgICAgIG15ICRQZXJtaXNzaW9uID0gJFNlbGYtPntGQVFPYmplY3R9LT5DaGVja0NhdGVnb3J5VXNlclBlcm1pc3Npb24oCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBDYXRlZ29yeUlEID0+ICRJdGVtRGF0YXtDYXRlZ29yeUlEfSwKICAgICAgICApOwogICAgICAgIGlmICggJFBlcm1pc3Npb24gZXEgJycgKSB7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiUGVybWlzc2lvbiBkZW5pZWQhIiApOwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgYXR0YWNobWVudHMKICAgICAgICBteSAlRmlsZSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+QXR0YWNobWVudEdldCgKICAgICAgICAgICAgSXRlbUlEID0+ICRHZXRQYXJhbXtJdGVtSUR9LAogICAgICAgICAgICBGaWxlSUQgPT4gJEdldFBhcmFte0ZpbGVJRH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoJUZpbGUpIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QXR0YWNobWVudCglRmlsZSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigpOwogICAgICAgIH0KICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBzZWFyY2ggYSBpdGVtCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1NlYXJjaCcgKSB7CiAgICAgICAgJFNlbGYtPkdldEl0ZW1TZWFyY2goCiAgICAgICAgICAgIE1vZGUgPT4gJ0FnZW50JywKICAgICAgICAgICAgVXNlciA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICAkSGVhZGVyVGl0bGUgPSAnU2VhcmNoJzsKICAgICAgICAkSGVhZGVyICAgICAgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkhlYWRlcigKICAgICAgICAgICAgVGl0bGUgPT4gJEhlYWRlclRpdGxlLAogICAgICAgICAgICBUeXBlICA9PiAkSGVhZGVyVHlwZSwKICAgICAgICApOwogICAgICAgICRDb250ZW50ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnRkFRJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHsgJUZyb250ZW5kLCAlR2V0UGFyYW0gfSwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGl0ZW0gaGlzdG9yeQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdIaXN0b3J5JyApIHsKCiAgICAgICAgIyBjaGVjayBwYXJhbWV0ZXJzCiAgICAgICAgbXkgJVBhcmFtRGF0YSAgICAgID0gKCk7CiAgICAgICAgbXkgQFJlcXVpcmVkUGFyYW1zID0gcXcoQ2F0ZWdvcnlJRCBJdGVtSUQpOwogICAgICAgIGZvciAoQFJlcXVpcmVkUGFyYW1zKSB7CiAgICAgICAgICAgICRQYXJhbURhdGF7JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApOwogICAgICAgICAgICBpZiAoICEkUGFyYW1EYXRheyRffSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIk5lZWQgJF8hIiApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGRiIGFjdGlvbgogICAgICAgICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAjCiAgICAgICAgbXkgJUl0ZW1EYXRhID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFHZXQoCiAgICAgICAgICAgIEl0ZW1JRCA9PiAkUGFyYW1EYXRhe0l0ZW1JRH0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0KICAgICAgICApOwogICAgICAgIGlmICggISVJdGVtRGF0YSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RXJyb3JTY3JlZW4oKTsKICAgICAgICB9CgogICAgICAgIG15ICRQZXJtaXNzaW9uID0gJFNlbGYtPntGQVFPYmplY3R9LT5DaGVja0NhdGVnb3J5VXNlclBlcm1pc3Npb24oCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBDYXRlZ29yeUlEID0+ICRJdGVtRGF0YXtDYXRlZ29yeUlEfSwKICAgICAgICApOwogICAgICAgIGlmICggJFBlcm1pc3Npb24gZXEgJycgKSB7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiUGVybWlzc2lvbiBkZW5pZWQhIiApOwogICAgICAgIH0KCiAgICAgICAgIyBkdGwKICAgICAgICAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogIwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0hpc3RvcnknLAogICAgICAgICAgICBEYXRhID0+IHsgJVBhcmFtLCAlSXRlbURhdGEgfSwKICAgICAgICApOwoKICAgICAgICAkSGVhZGVyVGl0bGUgPSAnSGlzdG9yeSc7CiAgICAgICAgJEZyb250ZW5ke0Nzc1Jvd30gPSAnc2VhcmNoYWN0aXZlJzsKICAgICAgICBteSBASGlzdG9yeSA9IEB7ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRSGlzdG9yeUdldCggSXRlbUlEID0+ICRJdGVtRGF0YXtJdGVtSUR9ICkgfTsKICAgICAgICBmb3IgbXkgJFJvdyAoQEhpc3RvcnkpIHsKCiAgICAgICAgICAgICMgY3NzIGNvbmZpZ3VyYXRpb24KICAgICAgICAgICAgaWYgKCAkRnJvbnRlbmR7Q3NzUm93fSBlcSAnc2VhcmNocGFzc2l2ZScgKSB7CiAgICAgICAgICAgICAgICAkRnJvbnRlbmR7Q3NzUm93fSA9ICdzZWFyY2hhY3RpdmUnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJEZyb250ZW5ke0Nzc1Jvd30gPSAnc2VhcmNocGFzc2l2ZSc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRGcm9udGVuZHtOYW1lfSAgICA9ICRSb3ctPntOYW1lfTsKICAgICAgICAgICAgJEZyb250ZW5ke0NyZWF0ZWR9ID0gJFJvdy0+e0NyZWF0ZWR9OwogICAgICAgICAgICBteSAlVXNlciA9ICRTZWxmLT57VXNlck9iamVjdH0tPkdldFVzZXJEYXRhKAogICAgICAgICAgICAgICAgVXNlcklEID0+ICRSb3ctPntDcmVhdGVkQnl9LAogICAgICAgICAgICAgICAgQ2FjaGVkID0+IDEsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRGcm9udGVuZHtDcmVhdGVkQnl9ID0gIiRVc2Vye1VzZXJMb2dpbn0gKCRVc2Vye1VzZXJGaXJzdG5hbWV9ICRVc2Vye1VzZXJMYXN0bmFtZX0pIjsKCiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdIaXN0b3J5Um93JywKICAgICAgICAgICAgICAgIERhdGEgPT4geyVGcm9udGVuZH0sCiAgICAgICAgICAgICk7CgogICAgICAgIH0KCiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgc3lzdGVtIGhpc3RvcnkKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnU3lzdGVtSGlzdG9yeScgKSB7CiAgICAgICAgJFNlbGYtPkdldFN5c3RlbUhpc3RvcnkoKTsKICAgICAgICAkSGVhZGVyVGl0bGUgPSAnSGlzdG9yeSc7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgaXRlbSBwcmludAogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdQcmludCcgJiYgJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnSXRlbUlEJyApICkgewogICAgICAgICRTZWxmLT5HZXRJdGVtUHJpbnQoIExpbmtzID0+IDEgKTsKICAgICAgICAkSGVhZGVyID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5QcmludEhlYWRlcigKICAgICAgICAgICAgVGl0bGUgPT4gJFNlbGYtPntJdGVtRGF0YX17U3ViamVjdH0sCiAgICAgICAgKTsKICAgICAgICAkTmF2aWdhdGlvbiA9ICcgJzsKICAgICAgICAkQ29udGVudCAgICA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0ZBUScsCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiB7ICVGcm9udGVuZCwgJUdldFBhcmFtIH0sCiAgICAgICAgKTsKICAgICAgICAkRm9vdGVyID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5QcmludEZvb3RlcigpOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGV4cGxvcmVyCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0V4cGxvcmVyJyApIHsKICAgICAgICAkU2VsZi0+R2V0RXhwbG9yZXIoIE1vZGUgPT4gJ0FnZW50JyApOwogICAgICAgICRIZWFkZXJUaXRsZSA9ICdFeHBsb3Jlcic7CiAgICAgICAgJEhlYWRlciAgICAgID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5IZWFkZXIoCiAgICAgICAgICAgIFR5cGUgID0+ICRIZWFkZXJUeXBlLAogICAgICAgICAgICBUaXRsZSA9PiAkSGVhZGVyVGl0bGUsCiAgICAgICAgKTsKICAgICAgICAkQ29udGVudCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0ZBUScsCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiB7ICVGcm9udGVuZCwgJUdldFBhcmFtIH0sCiAgICAgICAgKTsKCiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgaXRlbSB2aWV3CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdJdGVtSUQnICkgKSB7CiAgICAgICAgaWYgKCAkU2VsZi0+e0xhc3RGQVFOYXZ9ICkgewogICAgICAgICAgICAkU2VsZi0+R2V0SXRlbVNtYWxsVmlldygpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICMgc3RvcmUgbGFzdCBzY3JlZW4gKHRvIGdldCBiYWNrIGZyb20gbGlua2luIG9iamVjdCBtYXNrKQogICAgICAgICAgICAkU2VsZi0+e1Nlc3Npb25PYmplY3R9LT5VcGRhdGVTZXNzaW9uSUQoCiAgICAgICAgICAgICAgICBTZXNzaW9uSUQgPT4gJFNlbGYtPntTZXNzaW9uSUR9LAogICAgICAgICAgICAgICAgS2V5ICAgICAgID0+ICdMYXN0U2NyZWVuVmlldycsCiAgICAgICAgICAgICAgICBWYWx1ZSAgICAgPT4gJFNlbGYtPntSZXF1ZXN0ZWRVUkx9LAogICAgICAgICAgICApOwogICAgICAgICAgICBteSAlRkFRQXJ0aWNsZSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KAogICAgICAgICAgICAgICAgRkFRSUQgPT4gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnSXRlbUlEJyApLAogICAgICAgICAgICApOwogICAgICAgICAgICBteSAkUGVybWlzc2lvbiA9ICRTZWxmLT57RkFRT2JqZWN0fS0+Q2hlY2tDYXRlZ29yeVVzZXJQZXJtaXNzaW9uKAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICBDYXRlZ29yeUlEID0+ICRGQVFBcnRpY2xle0NhdGVnb3J5SUR9LAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICRQZXJtaXNzaW9uIGVxICcnICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJQZXJtaXNzaW9uIGRlbmllZCEiICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJFNlbGYtPkdldEl0ZW1WaWV3KAogICAgICAgICAgICAgICAgTGlua3MgICAgICA9PiAxLAogICAgICAgICAgICAgICAgUGVybWlzc2lvbiA9PiAkUGVybWlzc2lvbiwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgbG9nIGFjY2VzcyB0byB0aGlzIEZBUSBpdGVtCiAgICAgICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRTG9nQWRkKAogICAgICAgICAgICAgICAgSXRlbUlEICAgID0+ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0l0ZW1JRCcgKSwKICAgICAgICAgICAgICAgIEludGVyZmFjZSA9PiAkU2VsZi0+e0ludGVyZmFjZX17TmFtZX0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgICRIZWFkZXJUaXRsZSA9ICRTZWxmLT57SXRlbURhdGF9e051bWJlcn07CiAgICAgICAgJEhlYWRlciAgICAgID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5IZWFkZXIoCiAgICAgICAgICAgIFR5cGUgID0+ICRIZWFkZXJUeXBlLAogICAgICAgICAgICBUaXRsZSA9PiAkSGVhZGVyVGl0bGUsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyByZWRpcmVjdCB0byBleHBsb3JlcgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2UgewogICAgICAgIGlmICggIWRlZmluZWQoICRQYXJhbXtOYXZ9ICkgKSB7CiAgICAgICAgICAgICRQYXJhbXtOYXZ9ID0gJyc7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPlJlZGlyZWN0KAogICAgICAgICAgICBPUCA9PiAiQWN0aW9uPSRTZWxmLT57QWN0aW9ufSZTdWJhY3Rpb249RXhwbG9yZXImTmF2PSIgLiAkUGFyYW17TmF2fQogICAgICAgICk7CiAgICB9CgogICAgIyBwcmVwYXJlIFdZU0lXWUcgZWRpdG9yCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OldZU0lXWUdFZGl0b3InKSApIHsKCiAgICAgICAgIyBjaGVjayBpZiBzZXNzaW9uIGRhdGEgaXMgbmVlZGVkIGZvciBVUkwKICAgICAgICBteSAlU2Vzc2lvbkRhdGE7CiAgICAgICAgaWYgKCAhJFNlbGYtPntMYXlvdXRPYmplY3R9LT57U2Vzc2lvbklEQ29va2llfSApIHsKICAgICAgICAgICAgJFNlc3Npb25EYXRhe1Nlc3Npb25OYW1lfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e1Nlc3Npb25OYW1lfTsKICAgICAgICAgICAgJFNlc3Npb25EYXRhe1Nlc3Npb25JRH0gICA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e1Nlc3Npb25JRH07CiAgICAgICAgfQoKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdXWVNJV1lHRWRpdG9yJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBGb3JtSUQgPT4gJEZyb250ZW5ke0Zvcm1JRH0sCiAgICAgICAgICAgICAgICAlU2Vzc2lvbkRhdGEsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIERFRkFVTFQgT1VUUFVUCiAgICAkRGVmYXVsdEhlYWRlciA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+SGVhZGVyKAogICAgICAgIFR5cGUgID0+ICRIZWFkZXJUeXBlLAogICAgICAgIFRpdGxlID0+ICRIZWFkZXJUaXRsZSwKICAgICk7CiAgICAkRGVmYXVsdE5hdmlnYXRpb24gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPk5hdmlnYXRpb25CYXIoKTsKICAgICREZWZhdWx0Q29udGVudCAgICA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWdlbnRGQVEnLAogICAgICAgIERhdGEgICAgICAgICA9PiB7ICVGcm9udGVuZCwgJUdldFBhcmFtIH0sCiAgICApOwogICAgJERlZmF1bHRGb290ZXIgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZvb3RlciggVHlwZSA9PiAkRm9vdGVyVHlwZSApOwoKICAgICMgT1VUUFVUCiAgICAkT3V0cHV0IC49ICRIZWFkZXIgICAgIHx8ICREZWZhdWx0SGVhZGVyOwogICAgJE91dHB1dCAuPSAkTmF2aWdhdGlvbiB8fCAkRGVmYXVsdE5hdmlnYXRpb247CiAgICBpZiAoICEkTm90aWZ5ICkgewogICAgICAgIGZvciBteSAkTm90aWZ5ICggQHsgJFNlbGYtPntOb3RpZnl9IH0gKSB7CiAgICAgICAgICAgICRPdXRwdXQgLj0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Ob3RpZnkoCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAkTm90aWZ5LT5bMF0sCiAgICAgICAgICAgICAgICBJbmZvICAgICA9PiAkTm90aWZ5LT5bMV0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQogICAgJE91dHB1dCAuPSAkQ29udGVudCB8fCAkRGVmYXVsdENvbnRlbnQ7CiAgICAkT3V0cHV0IC49ICRGb290ZXIgIHx8ICREZWZhdWx0Rm9vdGVyOwoKICAgIHJldHVybiAkT3V0cHV0Owp9CgoxOwo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6Q3VzdG9tZXJGQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgS2VybmVsOjpTeXN0ZW06OkZBUTsKdXNlIEtlcm5lbDo6TW9kdWxlczo6RkFROwoKb3VyIEBJU0EgPSBxdyhLZXJuZWw6Ok1vZHVsZXM6OkZBUSk7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogIwogICAgbXkgJFNlbGYgPSBuZXcgS2VybmVsOjpNb2R1bGVzOjpGQVEoJVBhcmFtKTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGludGVyZmFjZSBzZXR0aW5ncwogICAgIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICMKICAgICRTZWxmLT57SW50ZXJmYWNlfSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+U3RhdGVUeXBlR2V0KAogICAgICAgIE5hbWUgPT4gJ2V4dGVybmFsJywKICAgICk7CiAgICAkU2VsZi0+e0ludGVyZmFjZVN0YXRlc30gPSAkU2VsZi0+e0ZBUU9iamVjdH0tPlN0YXRlVHlwZUxpc3QoCiAgICAgICAgVHlwZXMgPT4gWyAnZXh0ZXJuYWwnLCAncHVibGljJyBdLAogICAgKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBPYmplY3RzCiAgICAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogIwogICAgZm9yIChxdyhVc2VyT2JqZWN0KSkgewogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiR290IG5vICRfISIgKSBpZiAoICEkU2VsZi0+eyRffSApOwogICAgfQoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgUGFyYW10ZXIKICAgIG15IEBQYXJhbXMgICA9ICgpOwogICAgbXkgJUdldFBhcmFtID0gKCk7CiAgICBteSAlRnJvbnRlbmQgPSAoKTsKCiAgICAjIE91dHB1dAogICAgbXkgJE91dHB1dCAgICAgID0gJyc7CiAgICBteSAkSGVhZGVyICAgICAgPSAnJzsKICAgIG15ICRIZWFkZXJUaXRsZSA9ICcnOwogICAgbXkgJEhlYWRlclR5cGUgID0gJyc7CiAgICBteSAkTmF2aWdhdGlvbiAgPSAnJzsKICAgIG15ICROb3RpZnkgICAgICA9ICcnOwogICAgbXkgJENvbnRlbnQgICAgID0gJyc7CiAgICBteSAkRm9vdGVyICAgICAgPSAnJzsKICAgIG15ICRGb290ZXJUeXBlICA9ICcnOwoKICAgIG15ICREZWZhdWx0SGVhZGVyICAgICA9ICcnOwogICAgbXkgJERlZmF1bHROYXZpZ2F0aW9uID0gJyc7CiAgICBteSAkRGVmYXVsdENvbnRlbnQgICAgPSAnJzsKICAgIG15ICREZWZhdWx0Rm9vdGVyICAgICA9ICcnOwoKICAgICMgbmF2aWdhdGlvbiBPTi9PRkYKICAgICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAjCiAgICBpZiAoICRHZXRQYXJhbXtOYXZ9ICkgewogICAgICAgICRIZWFkZXJUeXBlID0gJ1NtYWxsJzsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRIZWFkZXJUeXBlID0gJyc7CiAgICB9CgogICAgIyBzdG9yZSBuYXYgcGFyYW0KICAgICRTZWxmLT57U2Vzc2lvbk9iamVjdH0tPlVwZGF0ZVNlc3Npb25JRCgKICAgICAgICBTZXNzaW9uSUQgPT4gJFNlbGYtPntTZXNzaW9uSUR9LAogICAgICAgIEtleSAgICAgICA9PiAnTGFzdEZBUU5hdicsCiAgICAgICAgVmFsdWUgICAgID0+ICRIZWFkZXJUeXBlLAogICAgKTsKCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBleHBsb3JlcgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGlmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdFeHBsb3JlcicgKSB7CiAgICAgICAgJFNlbGYtPkdldEV4cGxvcmVyKAogICAgICAgICAgICBNb2RlICAgICAgICAgPT4gJ0N1c3RvbWVyJywKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRTZWxmLT57VXNlckxvZ2lufSwKICAgICAgICApOwogICAgICAgICRIZWFkZXJUaXRsZSA9ICdFeHBsb3Jlcic7CiAgICAgICAgJEhlYWRlciAgICAgID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5DdXN0b21lckhlYWRlcigKICAgICAgICAgICAgVHlwZSAgPT4gJEhlYWRlclR5cGUsCiAgICAgICAgICAgIFRpdGxlID0+ICRIZWFkZXJUaXRsZSwKICAgICAgICApOwogICAgICAgICRDb250ZW50ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnRkFRJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHsgJUZyb250ZW5kLCAlR2V0UGFyYW0gfSwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHNlYXJjaCBhIGl0ZW0KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnU2VhcmNoJyApIHsKICAgICAgICAkSGVhZGVyVGl0bGUgPSAnU2VhcmNoJzsKICAgICAgICAkSGVhZGVyICAgICAgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkN1c3RvbWVySGVhZGVyKAogICAgICAgICAgICBUeXBlICA9PiAkSGVhZGVyVHlwZSwKICAgICAgICAgICAgVGl0bGUgPT4gJEhlYWRlclRpdGxlLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPkdldEl0ZW1TZWFyY2goCiAgICAgICAgICAgIE1vZGUgICAgICAgICA9PiAnQ3VzdG9tZXInLAogICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJFNlbGYtPntVc2VyTG9naW59LAogICAgICAgICk7CgogICAgICAgICRDb250ZW50ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnRkFRJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHsgJUZyb250ZW5kLCAlR2V0UGFyYW0gfSwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGRvd25sb2FkIGl0ZW0KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnRG93bmxvYWQnICkgewoKICAgICAgICAjIGdldCBwYXJhbQogICAgICAgIG15ICRJdGVtSUQgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdJdGVtSUQnICk7CiAgICAgICAgbXkgJEZpbGVJRCA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0ZpbGVJRCcgKTsKCiAgICAgICAgIyBkYiBhY3Rpb24KICAgICAgICBteSAlSXRlbURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCggSXRlbUlEID0+ICRJdGVtSUQgKTsKICAgICAgICBpZiAoICElSXRlbURhdGEgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIk5vIEZBUSBmb3VuZCEiICk7CiAgICAgICAgfQoKICAgICAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgICAgICBpZiAoICEkSXRlbURhdGF7QXBwcm92ZWR9ICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJQZXJtaXNzaW9uIGRlbmllZCEiICk7CiAgICAgICAgfQoKICAgICAgICBpZiAoICRJdGVtRGF0YXtTdGF0ZVR5cGVOYW1lfSBlcSAnZXh0ZXJuYWwnIHx8ICRJdGVtRGF0YXtTdGF0ZVR5cGVOYW1lfSBlcSAncHVibGljJyApIHsKICAgICAgICAgICAgbXkgJUZpbGUgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkF0dGFjaG1lbnRHZXQoCiAgICAgICAgICAgICAgICBJdGVtSUQgPT4gJEl0ZW1JRCwKICAgICAgICAgICAgICAgIEZpbGVJRCA9PiAkRmlsZUlELAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICElRmlsZSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIk5vIEZpbGUgZm91bmQhIiApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkF0dGFjaG1lbnQoJUZpbGUpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiUGVybWlzc2lvbiBkZW5pZWQhIiApOwogICAgICAgIH0KICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBpdGVtIHByaW50CiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ1ByaW50JyAmJiAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdJdGVtSUQnICkgKSB7CiAgICAgICAgbXkgJUZBUUFydGljbGUgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICAgICAgRkFRSUQgPT4gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnSXRlbUlEJyApLAogICAgICAgICk7CiAgICAgICAgbXkgJFBlcm1pc3Npb24gPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkNoZWNrQ2F0ZWdvcnlDdXN0b21lclBlcm1pc3Npb24oCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAkU2VsZi0+e1VzZXJMb2dpbn0sCiAgICAgICAgICAgIENhdGVnb3J5SUQgICA9PiAkRkFRQXJ0aWNsZXtDYXRlZ29yeUlEfSwKICAgICAgICApOwogICAgICAgIGlmICggJFBlcm1pc3Npb24gZXEgJycgfHwgISRGQVFBcnRpY2xle0FwcHJvdmVkfSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJQZXJtaXNzaW9uIGRlbmllZCEiICk7CiAgICAgICAgfQoKICAgICAgICAkU2VsZi0+R2V0SXRlbVByaW50KCk7CiAgICAgICAgJEhlYWRlciA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UHJpbnRIZWFkZXIoCiAgICAgICAgICAgIFRpdGxlID0+ICRTZWxmLT57SXRlbURhdGF9e1N1YmplY3R9LAogICAgICAgICk7CiAgICAgICAgJE5hdmlnYXRpb24gPSAnICc7CiAgICAgICAgJENvbnRlbnQgICAgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPk91dHB1dCgKICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdGQVEnLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4geyAlRnJvbnRlbmQsICVHZXRQYXJhbSB9LAogICAgICAgICk7CiAgICAgICAgJEZvb3RlciA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UHJpbnRGb290ZXIoKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBpdGVtIHZpZXcKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0l0ZW1JRCcgKSApIHsKICAgICAgICBteSAlRkFRQXJ0aWNsZSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KAogICAgICAgICAgICBGQVFJRCA9PiAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdJdGVtSUQnICksCiAgICAgICAgKTsKICAgICAgICBteSAkUGVybWlzc2lvbiA9ICRTZWxmLT57RkFRT2JqZWN0fS0+Q2hlY2tDYXRlZ29yeUN1c3RvbWVyUGVybWlzc2lvbigKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRTZWxmLT57VXNlckxvZ2lufSwKICAgICAgICAgICAgQ2F0ZWdvcnlJRCAgID0+ICRGQVFBcnRpY2xle0NhdGVnb3J5SUR9LAogICAgICAgICk7CiAgICAgICAgaWYgKCAkUGVybWlzc2lvbiBlcSAnJyB8fCAhJEZBUUFydGljbGV7QXBwcm92ZWR9ICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIlBlcm1pc3Npb24gZGVuaWVkISIgKTsKICAgICAgICB9CgogICAgICAgICRTZWxmLT5HZXRJdGVtVmlldygKICAgICAgICAgICAgTGlua3MgICAgICA9PiAwLAogICAgICAgICAgICBQZXJtaXNzaW9uID0+ICRQZXJtaXNzaW9uLAogICAgICAgICk7CgogICAgICAgICRIZWFkZXJUaXRsZSA9ICRTZWxmLT57SXRlbURhdGF9e051bWJlcn07CiAgICAgICAgJEhlYWRlciAgICAgID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5DdXN0b21lckhlYWRlcigKICAgICAgICAgICAgVHlwZSAgPT4gJEhlYWRlclR5cGUsCiAgICAgICAgICAgIFRpdGxlID0+ICRIZWFkZXJUaXRsZSwKICAgICAgICApOwogICAgICAgICRDb250ZW50ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnRkFRJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHsgJUZyb250ZW5kLCAlR2V0UGFyYW0gfSwKICAgICAgICApOwoKICAgICAgICAjIGxvZyBhY2Nlc3MgdG8gdGhpcyBGQVEgaXRlbQogICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRTG9nQWRkKAogICAgICAgICAgICBJdGVtSUQgICAgPT4gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnSXRlbUlEJyApLAogICAgICAgICAgICBJbnRlcmZhY2UgPT4gJFNlbGYtPntJbnRlcmZhY2V9e05hbWV9LAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgcmVkaXJlY3QgdG8gZXhwbG9yZXIKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNlIHsKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCggT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn0mU3ViYWN0aW9uPUV4cGxvcmVyIiApOwogICAgfQoKICAgICMgREVGQVVMVCBPVVRQVVQKICAgICREZWZhdWx0SGVhZGVyID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5DdXN0b21lckhlYWRlcigKICAgICAgICBUeXBlICA9PiAkSGVhZGVyVHlwZSwKICAgICAgICBUaXRsZSA9PiAkSGVhZGVyVGl0bGUKICAgICk7CiAgICAkRGVmYXVsdE5hdmlnYXRpb24gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkN1c3RvbWVyTmF2aWdhdGlvbkJhcigpOwogICAgJERlZmF1bHRDb250ZW50ICAgID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdDdXN0b21lckZBUScsCiAgICAgICAgRGF0YSAgICAgICAgID0+IHsgJUZyb250ZW5kLCAlR2V0UGFyYW0gfSwKICAgICk7CiAgICAkRGVmYXVsdEZvb3RlciA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Q3VzdG9tZXJGb290ZXIoIFR5cGUgPT4gJEZvb3RlclR5cGUgKTsKCiAgICAjIE9VVFBVVAogICAgJE91dHB1dCAuPSAkSGVhZGVyICAgICB8fCAkRGVmYXVsdEhlYWRlcjsKICAgICRPdXRwdXQgLj0gJE5hdmlnYXRpb24gfHwgJERlZmF1bHROYXZpZ2F0aW9uOwogICAgaWYgKCAhJE5vdGlmeSApIHsKICAgICAgICBmb3IgbXkgJE5vdGlmeSAoIEB7ICRTZWxmLT57Tm90aWZ5fSB9ICkgewogICAgICAgICAgICAkT3V0cHV0IC49ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm90aWZ5KAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJE5vdGlmeS0+WzBdLAogICAgICAgICAgICAgICAgSW5mbyAgICAgPT4gJE5vdGlmeS0+WzFdLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KICAgICRPdXRwdXQgLj0gJENvbnRlbnQgfHwgJERlZmF1bHRDb250ZW50OwogICAgJE91dHB1dCAuPSAkRm9vdGVyICB8fCAkRGVmYXVsdEZvb3RlcjsKCiAgICByZXR1cm4gJE91dHB1dDsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6RkFROwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpVc2VyOwp1c2UgS2VybmVsOjpTeXN0ZW06OkZBUTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpMaW5rT2JqZWN0Owp1c2UgS2VybmVsOjpTeXN0ZW06OkhUTUxVdGlsczsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0geyVQYXJhbX07CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBjaGVjayBuZWVkZWQgT2JqZWN0cwogICAgZm9yIChxdyhQYXJhbU9iamVjdCBEQk9iamVjdCBMYXlvdXRPYmplY3QgTG9nT2JqZWN0IENvbmZpZ09iamVjdCBVc2VyT2JqZWN0KSkgewogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiR290IG5vICRfISIgKSBpZiAoICEkU2VsZi0+eyRffSApOwogICAgfQoKICAgICMgZmFxIG9iamVjdAogICAgJFNlbGYtPntGQVFPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OkZBUS0+bmV3KCVQYXJhbSk7CgogICAgIyBsaW5rIG9iamVjdAogICAgJFNlbGYtPntMaW5rT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpMaW5rT2JqZWN0LT5uZXcoJVBhcmFtKTsKCiAgICAjIGFnZW50IHVzZXIgb2JqZWN0CiAgICAkU2VsZi0+e0FnZW50VXNlck9iamVjdH0gPSBLZXJuZWw6OlN5c3RlbTo6VXNlci0+bmV3KCVQYXJhbSk7CgogICAgIyBIVE1MVXRpbHMgb2JqZWN0CiAgICAkU2VsZi0+e0hUTUxVdGlsc09iamVjdH0gPSBLZXJuZWw6OlN5c3RlbTo6SFRNTFV0aWxzLT5uZXcoJVBhcmFtKTsKCiAgICAjIGludGVyZmFjZSBzZXR0aW5ncwogICAgJFNlbGYtPntJbnRlcmZhY2V9ID0gJFNlbGYtPntGQVFPYmplY3R9LT5TdGF0ZVR5cGVHZXQoCiAgICAgICAgTmFtZSA9PiAncHVibGljJwogICAgKTsKICAgICRTZWxmLT57SW50ZXJmYWNlU3RhdGVzfSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+U3RhdGVUeXBlTGlzdCgKICAgICAgICBUeXBlcyA9PiBbJ3B1YmxpYyddCiAgICApOwoKICAgICMgZ2xvYmFsIG91dHB1dCB2YXJzCiAgICAkU2VsZi0+e05vdGlmeX0gPSBbXTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBHZXRFeHBsb3JlciB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVGcm9udGVuZCA9ICgpOwogICAgbXkgJUdldFBhcmFtID0gKCk7CiAgICBteSBAUGFyYW1zICAgPSBxdyhPcmRlciBTb3J0KTsKCiAgICAjIG1hbmFnZSBwYXJhbWV0ZXJzCiAgICAkR2V0UGFyYW17Q2F0ZWdvcnlJRH0gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdDYXRlZ29yeUlEJyApIHx8IDA7CiAgICAkR2V0UGFyYW17T3JkZXJ9ICAgICAgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdPcmRlcicgKSAgICAgIHx8ICdUaXRsZSc7CiAgICAkR2V0UGFyYW17U29ydH0gICAgICAgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdTb3J0JyApICAgICAgIHx8ICd1cCc7CiAgICBmb3IgKEBQYXJhbXMpIHsKICAgICAgICBpZiAoICEkR2V0UGFyYW17JF99ICYmICEoICRHZXRQYXJhbXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICkgKSApCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkIHBhcmFtZXRlciAkXyIgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBkYiBhY3Rpb24KICAgIG15ICVDYXRlZ29yeURhdGEgPSAoKTsKICAgIGlmICggJEdldFBhcmFte0NhdGVnb3J5SUR9ICkgewogICAgICAgICVDYXRlZ29yeURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkNhdGVnb3J5R2V0KAogICAgICAgICAgICBDYXRlZ29yeUlEID0+ICRHZXRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoICElQ2F0ZWdvcnlEYXRhICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigpOwogICAgICAgIH0KICAgIH0KCiAgICAjIGR0bCBibG9jawogICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdFeHBsb3JlcicsCiAgICAgICAgRGF0YSA9PiB7ICVDYXRlZ29yeURhdGEsICVGcm9udGVuZCB9LAogICAgKTsKCiAgICAjIEZBUSBwYXRoCiAgICAkU2VsZi0+X0dldEZBUVBhdGgoCiAgICAgICAgQ2F0ZWdvcnlJRCA9PiAkR2V0UGFyYW17Q2F0ZWdvcnlJRH0sCiAgICApOwoKICAgICMgZXhwbG9yZXIgdGl0bGUKICAgIGlmICggJEdldFBhcmFte0NhdGVnb3J5SUR9ICkgewogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyVGl0bGUnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIE5hbWUgICAgPT4gJENhdGVnb3J5RGF0YXtOYW1lfSwKICAgICAgICAgICAgICAgIENvbW1lbnQgPT4gJENhdGVnb3J5RGF0YXtDb21tZW50fSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRXhwbG9yZXJUaXRsZScsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgTmFtZSAgICA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpEZWZhdWx0OjpSb290Q2F0ZWdvcnlOYW1lJyksCiAgICAgICAgICAgICAgICBDb21tZW50ID0+ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkRlZmF1bHQ6OlJvb3RDYXRlZ29yeUNvbW1lbnQnKSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgZXhwbG9yZXIgY2F0ZWdvcnkgbGlzdAogICAgaWYgKCAhJFBhcmFte01vZGV9ICkgewogICAgICAgICRQYXJhbXtNb2RlfSA9ICdQdWJsaWMnOwogICAgfQogICAgaWYgKCAhZGVmaW5lZCggJFBhcmFte0N1c3RvbWVyVXNlcn0gKSApIHsKICAgICAgICAkUGFyYW17Q3VzdG9tZXJVc2VyfSA9ICcnOwogICAgfQogICAgaWYgKCAkUGFyYW17TW9kZX0gJiYgJFBhcmFte01vZGV9IGVxICdDdXN0b21lcicgKSB7CiAgICAgICAgJFNlbGYtPl9HZXRFeHBsb3JlckNhdGVnb3J5TGlzdCgKICAgICAgICAgICAgQ2F0ZWdvcnlJRCAgID0+ICRHZXRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgT3JkZXIgICAgICAgID0+ICdOYW1lJywKICAgICAgICAgICAgU29ydCAgICAgICAgID0+ICd1cCcsCiAgICAgICAgICAgIE1vZGUgICAgICAgICA9PiAkUGFyYW17TW9kZX0sCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAkUGFyYW17Q3VzdG9tZXJVc2VyfSwKICAgICAgICApOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJFNlbGYtPl9HZXRFeHBsb3JlckNhdGVnb3J5TGlzdCgKICAgICAgICAgICAgQ2F0ZWdvcnlJRCA9PiAkR2V0UGFyYW17Q2F0ZWdvcnlJRH0sCiAgICAgICAgICAgIE9yZGVyICAgICAgPT4gJ05hbWUnLAogICAgICAgICAgICBTb3J0ICAgICAgID0+ICd1cCcsCiAgICAgICAgICAgIE1vZGUgICAgICAgPT4gJFBhcmFte01vZGV9LAogICAgICAgICk7CiAgICB9CgogICAgIyBleHBsb3JlciBpdGVtIGxpc3QKICAgICRTZWxmLT5fR2V0RXhwbG9yZXJJdGVtTGlzdCgKICAgICAgICBDYXRlZ29yeUlEID0+ICRHZXRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICBPcmRlciAgICAgID0+ICRHZXRQYXJhbXtPcmRlcn0gfHwgJ1RpdGxlJywKICAgICAgICBTb3J0ICAgICAgID0+ICRHZXRQYXJhbXtTb3J0fSB8fCAndXAnLAogICAgKTsKCiAgICAjIHF1aWNrc2VhcmNoCiAgICBteSAlU2hvd1F1aWNrU2VhcmNoID0gJXsgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6RXhwbG9yZXI6OlF1aWNrU2VhcmNoOjpTaG93JykgfTsKICAgIGlmICggZXhpc3RzKCAkU2hvd1F1aWNrU2VhcmNoeyAkU2VsZi0+e0ludGVyZmFjZX17TmFtZX0gfSApICkgewogICAgICAgICRTZWxmLT5fR2V0RXhwbG9yZXJRdWlja1NlYXJjaCgKICAgICAgICAgICAgQ2F0ZWdvcnlJRCA9PiAkR2V0UGFyYW17Q2F0ZWdvcnlJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGxhdGVzdCBjaGFuZ2UgZmFxIGl0ZW1zCiAgICBteSAlU2hvd0xhc3RDaGFuZ2UgPSAleyAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpFeHBsb3Jlcjo6TGFzdENoYW5nZTo6U2hvdycpIH07CiAgICBpZiAoIGV4aXN0cyggJFNob3dMYXN0Q2hhbmdleyAkU2VsZi0+e0ludGVyZmFjZX17TmFtZX0gfSApICkgewogICAgICAgICRTZWxmLT5fR2V0RXhwbG9yZXJMYXN0Q2hhbmdlSXRlbXMoCiAgICAgICAgICAgIENhdGVnb3J5SUQgICA9PiAkR2V0UGFyYW17Q2F0ZWdvcnlJRH0sCiAgICAgICAgICAgIE1vZGUgICAgICAgICA9PiAkUGFyYW17TW9kZX0sCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAkUGFyYW17Q3VzdG9tZXJVc2VyfSwKICAgICAgICApOwogICAgfQoKICAgICMgbGF0ZXN0IGNyZWF0ZSBmYXEgaXRlbXMKICAgIG15ICVTaG93TGFzdENyZWF0ZSA9ICV7ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkV4cGxvcmVyOjpMYXN0Q3JlYXRlOjpTaG93JykgfTsKICAgIGlmICggZXhpc3RzKCAkU2hvd0xhc3RDcmVhdGV7ICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSB9ICkgKSB7CiAgICAgICAgJFNlbGYtPl9HZXRFeHBsb3Jlckxhc3RDcmVhdGVJdGVtcygKICAgICAgICAgICAgQ2F0ZWdvcnlJRCAgID0+ICRHZXRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgTW9kZSAgICAgICAgID0+ICRQYXJhbXtNb2RlfSwKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJ9LAogICAgICAgICk7CiAgICB9CgogICAgIyB0b3AgMTAgZmFxIGl0ZW1zCiAgICBteSAlU2hvd1RvcDEwID0gJXsgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6RXhwbG9yZXI6OlRvcDEwOjpTaG93JykgfTsKICAgIGlmICggZXhpc3RzKCAkU2hvd1RvcDEweyAkU2VsZi0+e0ludGVyZmFjZX17TmFtZX0gfSApICkgewogICAgICAgICRTZWxmLT5fR2V0RXhwbG9yZXJUb3AxMEl0ZW1zKAogICAgICAgICAgICBNb2RlICAgICAgICAgPT4gJFBhcmFte01vZGV9LAogICAgICAgICAgICBDYXRlZ29yeUlEICAgPT4gJEdldFBhcmFte0NhdGVnb3J5SUR9LAogICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJFBhcmFte0N1c3RvbWVyVXNlcn0sCiAgICAgICAgKTsKICAgIH0KfQoKc3ViIF9HZXRGQVFQYXRoIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50JywKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgJ05hbWUnICAgICAgID0+ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkRlZmF1bHQ6OlJvb3RDYXRlZ29yeU5hbWUnKSwKICAgICAgICAgICAgJ0NhdGVnb3J5SUQnID0+ICcwJywKICAgICAgICB9LAogICAgKTsKCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkV4cGxvcmVyOjpQYXRoOjpTaG93JykgKSB7CiAgICAgICAgbXkgQENhdGVnb3J5TGlzdCA9IEB7ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRUGF0aExpc3RHZXQoIENhdGVnb3J5SUQgPT4gJFBhcmFte0NhdGVnb3J5SUR9ICkgfTsKICAgICAgICBmb3IgbXkgJERhdGEgKEBDYXRlZ29yeUxpc3QpIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0ZBUVBhdGhDYXRlZ29yeUVsZW1lbnQnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7ICV7JERhdGF9IH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAxOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCnN1YiBfR2V0RXhwbG9yZXJDYXRlZ29yeUxpc3QgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlRnJvbnRlbmQgPSAoKTsKICAgICRGcm9udGVuZHtDc3NSb3d9ID0gJyc7CgogICAgIyBjaGVjayBuZWVkZWQgcGFyYW1ldGVycwogICAgZm9yIChxdyhPcmRlciBTb3J0KSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCBwYXJhbWV0ZXIgJF8hIiApOwogICAgICAgIH0KICAgIH0KICAgIG15IEBDYXRlZ29yeUlEcyA9ICgpOwogICAgaWYgKCAkUGFyYW17TW9kZX0gJiYgJFBhcmFte01vZGV9IGVxICdBZ2VudCcgKSB7CiAgICAgICAgQENhdGVnb3J5SURzID0gQHsKICAgICAgICAgICAgJFNlbGYtPntGQVFPYmplY3R9LT5BZ2VudENhdGVnb3J5U2VhcmNoKAogICAgICAgICAgICAgICAgUGFyZW50SUQgPT4gJFBhcmFte0NhdGVnb3J5SUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKQogICAgICAgIH07CiAgICB9CiAgICBlbHNpZiAoICRQYXJhbXtNb2RlfSAmJiAkUGFyYW17TW9kZX0gZXEgJ0N1c3RvbWVyJyApIHsKICAgICAgICBAQ2F0ZWdvcnlJRHMgPSBAewogICAgICAgICAgICAkU2VsZi0+e0ZBUU9iamVjdH0tPkN1c3RvbWVyQ2F0ZWdvcnlTZWFyY2goCiAgICAgICAgICAgICAgICBQYXJlbnRJRCAgICAgPT4gJFBhcmFte0NhdGVnb3J5SUR9LAogICAgICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJ9LAogICAgICAgICAgICAgICAgTW9kZSAgICAgICAgID0+ICRQYXJhbXtNb2RlfSwKICAgICAgICAgICAgICAgICkKICAgICAgICB9OwogICAgfQogICAgZWxzZSB7CiAgICAgICAgQENhdGVnb3J5SURzID0gQHsKICAgICAgICAgICAgJFNlbGYtPntGQVFPYmplY3R9LT5QdWJsaWNDYXRlZ29yeVNlYXJjaCgKICAgICAgICAgICAgICAgIFBhcmVudElEID0+ICRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgICAgIE1vZGUgICAgID0+ICRQYXJhbXtNb2RlfSwKICAgICAgICAgICAgICAgICkKICAgICAgICB9OwogICAgfQoKICAgIGlmIChAQ2F0ZWdvcnlJRHMpIHsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdFeHBsb3JlckNhdGVnb3J5TGlzdCcsCiAgICAgICAgKTsKICAgICAgICBmb3IgKEBDYXRlZ29yeUlEcykgewogICAgICAgICAgICBteSAlRGF0YSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+Q2F0ZWdvcnlHZXQoIENhdGVnb3J5SUQgPT4gJF8gKTsKICAgICAgICAgICAgJERhdGF7Q2F0ZWdvcnlOdW1iZXJ9ID0gJFNlbGYtPntGQVFPYmplY3R9LT5DYXRlZ29yeUNvdW50KAogICAgICAgICAgICAgICAgUGFyZW50SURzID0+IFskX10sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15ICRPbmx5QXBwcm92ZWQgPSAxOwogICAgICAgICAgICBpZiAoICRQYXJhbXtNb2RlfSBlcSAnQWdlbnQnICkgewogICAgICAgICAgICAgICAgJE9ubHlBcHByb3ZlZCA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJERhdGF7QXJ0aWNsZU51bWJlcn0gPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUNvdW50KAogICAgICAgICAgICAgICAgQ2F0ZWdvcnlJRHMgID0+IFskX10sCiAgICAgICAgICAgICAgICBJdGVtU3RhdGVzICAgPT4gJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9LAogICAgICAgICAgICAgICAgT25seUFwcHJvdmVkID0+ICRPbmx5QXBwcm92ZWQsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIGNzcyBjb25maWd1cmF0aW9uCiAgICAgICAgICAgIGlmICggJEZyb250ZW5ke0Nzc1Jvd30gZXEgJ3NlYXJjaHBhc3NpdmUnICkgewogICAgICAgICAgICAgICAgJEZyb250ZW5ke0Nzc1Jvd30gPSAnc2VhcmNoYWN0aXZlJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRGcm9udGVuZHtDc3NSb3d9ID0gJ3NlYXJjaHBhc3NpdmUnOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdFeHBsb3JlckNhdGVnb3J5Um93JywKICAgICAgICAgICAgICAgIERhdGEgPT4geyAlRGF0YSwgJUZyb250ZW5kIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuOwp9CgpzdWIgX0dldEV4cGxvcmVySXRlbUxpc3QgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBwYXJhbWV0ZXJzCiAgICBmb3IgKHF3KE9yZGVyIFNvcnQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkIHBhcmFtZXRlciAkXyEiICk7CiAgICAgICAgfQogICAgfQoKICAgIG15ICRDc3NSb3cgID0gJyc7CiAgICBteSBASXRlbUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgICAgIENhdGVnb3J5SURzID0+IFsgJFBhcmFte0NhdGVnb3J5SUR9IF0sCiAgICAgICAgU3RhdGVzICAgICAgPT4gJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9LAogICAgICAgIE9yZGVyICAgICAgID0+ICRQYXJhbXtPcmRlcn0sCiAgICAgICAgU29ydCAgICAgICAgPT4gJFBhcmFte1NvcnR9LAogICAgICAgIEludGVyZmFjZSAgID0+ICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSwKICAgICAgICBMaW1pdCAgICAgICA9PiAzMDAsCiAgICApOwoKICAgIGlmIChASXRlbUlEcykgewogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyRkFRSXRlbUxpc3QnLAogICAgICAgICAgICBEYXRhID0+IHslUGFyYW19LAogICAgICAgICk7CiAgICAgICAgZm9yIChASXRlbUlEcykgewogICAgICAgICAgICBteSAlRnJvbnRlbmQgPSAoKTsKICAgICAgICAgICAgbXkgJURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCggSXRlbUlEID0+ICRfICk7CgogICAgICAgICAgICAjIGNzcyBjb25maWd1cmF0aW9uCiAgICAgICAgICAgIGlmICggJENzc1JvdyBlcSAnc2VhcmNocGFzc2l2ZScgKSB7CiAgICAgICAgICAgICAgICAkQ3NzUm93ID0gJ3NlYXJjaGFjdGl2ZSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkQ3NzUm93ID0gJ3NlYXJjaHBhc3NpdmUnOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRGcm9udGVuZHtDc3NSb3d9ICAgICAgICAgICAgICAgID0gJENzc1JvdzsKICAgICAgICAgICAgJEZyb250ZW5ke0Nzc0NvbHVtblZvdGluZ1Jlc3VsdH0gPSAnY29sb3I6JwogICAgICAgICAgICAgICAgLiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkdldEZBUUl0ZW1Wb3RpbmdSYXRlQ29sb3IoIFJhdGUgPT4gJERhdGF7UmVzdWx0fSApIC4gJzsnOwoKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyRkFRSXRlbVJvdycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsgJURhdGEsICVGcm9udGVuZCB9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybjsKfQoKc3ViIF9HZXRFeHBsb3Jlckxhc3RDaGFuZ2VJdGVtcyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6RXhwbG9yZXI6Okxhc3RDaGFuZ2U6OlNob3cnKSApIHsKCiAgICAgICAgIyBjaGVjayBuZWVkZWQgcGFyYW1ldGVycwogICAgICAgIGZvciAocXcoQ2F0ZWdvcnlJRCkpIHsKICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCggJFBhcmFteyRffSApICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkIHBhcmFtZXRlciAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbXkgQEl0ZW1JRHMgPSAoKTsKICAgICAgICBpZiAoIGRlZmluZWQoICRQYXJhbXtDYXRlZ29yeUlEfSApICkgewoKICAgICAgICAgICAgIyBhZGQgY3VycmVudCBjYXRlZ29yeWlkCiAgICAgICAgICAgIG15IEBDYXRlZ29yeUlEcyA9ICgpOwogICAgICAgICAgICBpZiAoICRQYXJhbXtDYXRlZ29yeUlEfSApIHsKICAgICAgICAgICAgICAgIHB1c2goIEBDYXRlZ29yeUlEcywgKCAkUGFyYW17Q2F0ZWdvcnlJRH0gKSApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggIWRlZmluZWQoICRQYXJhbXtNb2RlfSApICkgewogICAgICAgICAgICAgICAgJFBhcmFte01vZGV9ID0gJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCggJFBhcmFte0N1c3RvbWVyVXNlcn0gKSApIHsKICAgICAgICAgICAgICAgICRQYXJhbXtDdXN0b21lclVzZXJ9ID0gJyc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgYWRkIHN1YmNhdGVnb3J5aWRzCiAgICAgICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6RXhwbG9yZXI6Okxhc3RDaGFuZ2U6OlNob3dTdWJDYXRlZ29yeUl0ZW1zJykgKSB7CiAgICAgICAgICAgICAgICBteSBAU3ViQ2F0ZWdvcnlJRHMgPSBAewogICAgICAgICAgICAgICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+Q2F0ZWdvcnlTdWJDYXRlZ29yeUlETGlzdCgKICAgICAgICAgICAgICAgICAgICAgICAgUGFyZW50SUQgICAgID0+ICRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgICAgICAgICAgICAgSXRlbVN0YXRlcyAgID0+ICRTZWxmLT57SW50ZXJmYWNlU3RhdGVzfSwKICAgICAgICAgICAgICAgICAgICAgICAgTW9kZSAgICAgICAgID0+ICRQYXJhbXtNb2RlfSwKICAgICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJ9LAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgcHVzaCggQENhdGVnb3J5SURzLCBAU3ViQ2F0ZWdvcnlJRHMgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnRXhwbG9yZXJMYXRlc3RDaGFuZ2UnLAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICRQYXJhbXtNb2RlfSA9fiAvcHVibGljL2kgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyTGF0ZXN0Q2hhbmdlUnNzJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHt9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoQENhdGVnb3J5SURzKSB7CiAgICAgICAgICAgICAgICBASXRlbUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgICAgICAgICAgICAgICAgIENhdGVnb3J5SURzID0+IFxAQ2F0ZWdvcnlJRHMsCiAgICAgICAgICAgICAgICAgICAgU3RhdGVzICAgICAgPT4gJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9LAogICAgICAgICAgICAgICAgICAgIE9yZGVyICAgICAgID0+ICdDaGFuZ2VkJywKICAgICAgICAgICAgICAgICAgICBTb3J0ICAgICAgICA9PiAnZG93bicsCiAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlICAgPT4gJFNlbGYtPntJbnRlcmZhY2V9e05hbWV9LAogICAgICAgICAgICAgICAgICAgIExpbWl0ICAgICAgID0+ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkV4cGxvcmVyOjpMYXN0Q2hhbmdlOjpMaW1pdCcpLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyTGF0ZXN0Q2hhbmdlJwogICAgICAgICAgICApOwogICAgICAgICAgICBASXRlbUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgICAgICAgICAgICAgU3RhdGVzICAgID0+ICRTZWxmLT57SW50ZXJmYWNlU3RhdGVzfSwKICAgICAgICAgICAgICAgIE9yZGVyICAgICA9PiAnQ2hhbmdlZCcsCiAgICAgICAgICAgICAgICBTb3J0ICAgICAgPT4gJ2Rvd24nLAogICAgICAgICAgICAgICAgSW50ZXJmYWNlID0+ICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSwKICAgICAgICAgICAgICAgIExpbWl0ICAgICA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpFeHBsb3Jlcjo6TGFzdENoYW5nZTo6TGltaXQnKSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZm9yIChASXRlbUlEcykgewogICAgICAgICAgICBteSAlRGF0YSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KCBJdGVtSUQgPT4gJF8gKTsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyTGF0ZXN0Q2hhbmdlRkFRSXRlbVJvdycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHslRGF0YX0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAxOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCnN1YiBfR2V0RXhwbG9yZXJMYXN0Q3JlYXRlSXRlbXMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkV4cGxvcmVyOjpMYXN0Q3JlYXRlOjpTaG93JykgKSB7CgogICAgICAgICMgY2hlY2sgbmVlZGVkIHBhcmFtZXRlcnMKICAgICAgICBmb3IgKHF3KENhdGVnb3J5SUQpKSB7CiAgICAgICAgICAgIGlmICggIWRlZmluZWQoICRQYXJhbXskX30gKSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCBwYXJhbWV0ZXIgJF8hIiApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIG15IEBJdGVtSURzID0gKCk7CiAgICAgICAgaWYgKCBkZWZpbmVkKCAkUGFyYW17Q2F0ZWdvcnlJRH0gKSApIHsKCiAgICAgICAgICAgICMgYWRkIGN1cnJlbnQgY2F0ZWdvcnlpZAogICAgICAgICAgICBteSBAQ2F0ZWdvcnlJRHMgPSAoKTsKICAgICAgICAgICAgaWYgKCAkUGFyYW17Q2F0ZWdvcnlJRH0gKSB7CiAgICAgICAgICAgICAgICBwdXNoKCBAQ2F0ZWdvcnlJRHMsICggJFBhcmFte0NhdGVnb3J5SUR9ICkgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoICFkZWZpbmVkKCAkUGFyYW17TW9kZX0gKSApIHsKICAgICAgICAgICAgICAgICRQYXJhbXtNb2RlfSA9ICcnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggIWRlZmluZWQoICRQYXJhbXtDdXN0b21lclVzZXJ9ICkgKSB7CiAgICAgICAgICAgICAgICAkUGFyYW17Q3VzdG9tZXJVc2VyfSA9ICcnOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGFkZCBzdWJjYXRlZ29yeWlkcwogICAgICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkV4cGxvcmVyOjpMYXN0Q3JlYXRlOjpTaG93U3ViQ2F0ZWdvcnlJdGVtcycpICkgewogICAgICAgICAgICAgICAgbXkgQFN1YkNhdGVnb3J5SURzID0gQHsKICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e0ZBUU9iamVjdH0tPkNhdGVnb3J5U3ViQ2F0ZWdvcnlJRExpc3QoCiAgICAgICAgICAgICAgICAgICAgICAgIFBhcmVudElEICAgICA9PiAkUGFyYW17Q2F0ZWdvcnlJRH0sCiAgICAgICAgICAgICAgICAgICAgICAgIEl0ZW1TdGF0ZXMgICA9PiAkU2VsZi0+e0ludGVyZmFjZVN0YXRlc30sCiAgICAgICAgICAgICAgICAgICAgICAgIE1vZGUgICAgICAgICA9PiAkUGFyYW17TW9kZX0sCiAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAkUGFyYW17Q3VzdG9tZXJVc2VyfSwKICAgICAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIHB1c2goIEBDYXRlZ29yeUlEcywgQFN1YkNhdGVnb3J5SURzICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyTGF0ZXN0Q3JlYXRlJwogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICRQYXJhbXtNb2RlfSA9fiAvcHVibGljL2kgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyTGF0ZXN0Q3JlYXRlUnNzJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHt9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoQENhdGVnb3J5SURzKSB7CiAgICAgICAgICAgICAgICBASXRlbUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgICAgICAgICAgICAgICAgIENhdGVnb3J5SURzID0+IFxAQ2F0ZWdvcnlJRHMsCiAgICAgICAgICAgICAgICAgICAgU3RhdGVzICAgICAgPT4gJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9LAogICAgICAgICAgICAgICAgICAgIE9yZGVyICAgICAgID0+ICdDcmVhdGVkJywKICAgICAgICAgICAgICAgICAgICBTb3J0ICAgICAgICA9PiAnZG93bicsCiAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlICAgPT4gJFNlbGYtPntJbnRlcmZhY2V9e05hbWV9LAogICAgICAgICAgICAgICAgICAgIExpbWl0ICAgICAgID0+ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkV4cGxvcmVyOjpMYXN0Q3JlYXRlOjpMaW1pdCcpLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyTGF0ZXN0Q3JlYXRlJwogICAgICAgICAgICApOwogICAgICAgICAgICBASXRlbUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgICAgICAgICAgICAgU3RhdGVzICAgID0+ICRTZWxmLT57SW50ZXJmYWNlU3RhdGVzfSwKICAgICAgICAgICAgICAgIE9yZGVyICAgICA9PiAnQ3JlYXRlZCcsCiAgICAgICAgICAgICAgICBTb3J0ICAgICAgPT4gJ2Rvd24nLAogICAgICAgICAgICAgICAgSW50ZXJmYWNlID0+ICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSwKICAgICAgICAgICAgICAgIExpbWl0ICAgICA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpFeHBsb3Jlcjo6TGFzdENyZWF0ZTo6TGltaXQnKSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZHRsIGJsb2NrCiAgICAgICAgZm9yIChASXRlbUlEcykgewogICAgICAgICAgICBteSAlRGF0YSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KCBJdGVtSUQgPT4gJF8gKTsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyTGF0ZXN0Q3JlYXRlRkFRSXRlbVJvdycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHslRGF0YX0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAxOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCnN1YiBfR2V0RXhwbG9yZXJUb3AxMEl0ZW1zIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFRvcDEwSXRlbUlEc1JlZjsKCiAgICAjIGNoZWNrIG5lZWRlZCBwYXJhbWV0ZXJzCiAgICBmb3IgbXkgJFBhcmFtTmFtZSAocXcoQ2F0ZWdvcnlJRCkpIHsKICAgICAgICBpZiAoICFkZWZpbmVkKCAkUGFyYW17JFBhcmFtTmFtZX0gKSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkIHBhcmFtZXRlciAkUGFyYW1OYW1lISIgKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpFeHBsb3Jlcjo6VG9wMTA6OlNob3cnKSApIHsKCiAgICAgICAgIyBzaG93IHRvcCAxMCBibG9jawogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyVG9wMTAnLAogICAgICAgICk7CgogICAgICAgICMgc2hvdyBSU1MgZmVlZAogICAgICAgIGlmICggJFBhcmFte01vZGV9ID1+IC9wdWJsaWMvaSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyVG9wMTBSc3MnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7fSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIGlmICggZGVmaW5lZCggJFBhcmFte0NhdGVnb3J5SUR9ICkgKSB7CgogICAgICAgICAgICAjIGFkZCBjdXJyZW50IGNhdGVnb3J5SUQKICAgICAgICAgICAgbXkgQENhdGVnb3J5SURzID0gKCk7CgogICAgICAgICAgICBpZiAoICRQYXJhbXtDYXRlZ29yeUlEfSApIHsKICAgICAgICAgICAgICAgIHB1c2goIEBDYXRlZ29yeUlEcywgKCAkUGFyYW17Q2F0ZWdvcnlJRH0gKSApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggIWRlZmluZWQoICRQYXJhbXtNb2RlfSApICkgewogICAgICAgICAgICAgICAgJFBhcmFte01vZGV9ID0gJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCggJFBhcmFte0N1c3RvbWVyVXNlcn0gKSApIHsKICAgICAgICAgICAgICAgICRQYXJhbXtDdXN0b21lclVzZXJ9ID0gJyc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgYWRkIHN1YmNhdGVnb3J5SURzCiAgICAgICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6RXhwbG9yZXI6Okxhc3RDcmVhdGU6OlNob3dTdWJDYXRlZ29yeUl0ZW1zJykgKSB7CiAgICAgICAgICAgICAgICBteSBAU3ViQ2F0ZWdvcnlJRHMgPSBAewogICAgICAgICAgICAgICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+Q2F0ZWdvcnlTdWJDYXRlZ29yeUlETGlzdCgKICAgICAgICAgICAgICAgICAgICAgICAgUGFyZW50SUQgICAgID0+ICRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgICAgICAgICAgICAgSXRlbVN0YXRlcyAgID0+ICRTZWxmLT57SW50ZXJmYWNlU3RhdGVzfSwKICAgICAgICAgICAgICAgICAgICAgICAgTW9kZSAgICAgICAgID0+ICRQYXJhbXtNb2RlfSwKICAgICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJ9LAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgcHVzaCggQENhdGVnb3J5SURzLCBAU3ViQ2F0ZWdvcnlJRHMgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKEBDYXRlZ29yeUlEcykgewoKICAgICAgICAgICAgICAgICMgZ2V0IHRoZSB0b3AgMTAgYXJ0aWNsZXMgZm9yIGNhdGVnb3JpZXMgd2l0aCBhdCBsZWFzdCBybyBwZXJtaXNzaW9ucwogICAgICAgICAgICAgICAgJFRvcDEwSXRlbUlEc1JlZiA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRVG9wMTBHZXQoCiAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlICAgPT4gJFNlbGYtPntJbnRlcmZhY2V9e05hbWV9LAogICAgICAgICAgICAgICAgICAgIENhdGVnb3J5SURzID0+IFxAQ2F0ZWdvcnlJRHMsCiAgICAgICAgICAgICAgICAgICAgTGltaXQgICAgICAgPT4gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6RXhwbG9yZXI6OlRvcDEwOjpMaW1pdCcpIHx8IDEwLAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CgogICAgICAgICAgICAjIGdldCB0aGUgdG9wIDEwIGFydGljbGVzCiAgICAgICAgICAgICRUb3AxMEl0ZW1JRHNSZWYgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUVRvcDEwR2V0KAogICAgICAgICAgICAgICAgSW50ZXJmYWNlID0+ICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSwKICAgICAgICAgICAgICAgIExpbWl0ICAgICA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpFeHBsb3Jlcjo6VG9wMTA6OkxpbWl0JykgfHwgMTAsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHNob3cgZWFjaCB0b3AgMTAgZW50cnkKICAgICAgICBteSAkTnVtYmVyOwogICAgICAgIGZvciBteSAkSXRlbUlEUmVmICggQHskVG9wMTBJdGVtSURzUmVmfSApIHsKICAgICAgICAgICAgJE51bWJlcisrOwogICAgICAgICAgICBteSAlRGF0YSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KCBJdGVtSUQgPT4gJEl0ZW1JRFJlZi0+e0l0ZW1JRH0gKTsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0V4cGxvcmVyVG9wMTBGQVFJdGVtUm93JywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICVEYXRhLAogICAgICAgICAgICAgICAgICAgIE51bWJlciA9PiAkTnVtYmVyLAogICAgICAgICAgICAgICAgICAgIENvdW50ICA9PiAkSXRlbUlEUmVmLT57Q291bnR9LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICByZXR1cm4gMDsKfQoKc3ViIF9HZXRFeHBsb3JlclF1aWNrU2VhcmNoIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpFeHBsb3Jlcjo6UXVpY2tTZWFyY2g6OlNob3cnKSApIHsKCiAgICAgICAgIyBjaGVjayBuZWVkZWQgcGFyYW1ldGVycwogICAgICAgIGZvciAocXcoKSkgewogICAgICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkIHBhcmFtZXRlciAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZHRsIGJsb2NrCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRXhwbG9yZXJRdWlja1NlYXJjaCcsCiAgICAgICAgICAgIERhdGEgPT4geyBDYXRlZ29yeUlEID0+ICRQYXJhbXtDYXRlZ29yeUlEfSB9LAogICAgICAgICk7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICByZXR1cm4gMDsKfQoKc3ViIEdldEl0ZW1WaWV3IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJUZyb250ZW5kID0gKCk7CiAgICBteSAlR2V0UGFyYW0gPSAoKTsKICAgIG15IEBQYXJhbXMgICA9IHF3KEl0ZW1JRCk7CgogICAgIyBtYW5hZ2UgcGFyYW1ldGVycwogICAgZm9yIChAUGFyYW1zKSB7CiAgICAgICAgaWYgKCAhKCAkR2V0UGFyYW17JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApICkgKSB7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCBwYXJhbWV0ZXIgJF8iICk7CiAgICAgICAgfQogICAgfQoKICAgICMgZGIgYWN0aW9uCiAgICBteSAlSXRlbURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICBJdGVtSUQgPT4gJEdldFBhcmFte0l0ZW1JRH0sCiAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICk7CiAgICBpZiAoICElSXRlbURhdGEgKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RXJyb3JTY3JlZW4oKTsKICAgIH0KCiAgICBLRVk6CiAgICBmb3IgbXkgJEtleSAocXcgKEZpZWxkMSBGaWVsZDIgRmllbGQzIEZpZWxkNCBGaWVsZDUgRmllbGQ2KSkgewogICAgICAgIG5leHQgS0VZIGlmICEkSXRlbURhdGF7JEtleX07CgogICAgICAgICMgcmV3cml0ZSBsaW5rcyB0byBlbWJlZGRlZCBpbWFnZXMgZm9yIGN1c3RvbWVyIGFuZCBwdWJsaWMgaW50ZXJmYWNlCiAgICAgICAgaWYgKCAkU2VsZi0+e0ludGVyZmFjZX17TmFtZX0gZXEgJ2V4dGVybmFsJyApIHsKICAgICAgICAgICAgJEl0ZW1EYXRheyRLZXl9ID1+IHN7IGluZGV4Wy5dcGwgWz9dIEFjdGlvbj1BZ2VudEZBUSB9e2N1c3RvbWVyLnBsP0FjdGlvbj1DdXN0b21lckZBUX1neG1zOwogICAgICAgIH0KICAgICAgICBlbHNpZiAoICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSBlcSAncHVibGljJyApIHsKICAgICAgICAgICAgJEl0ZW1EYXRheyRLZXl9ID1+IHN7IGluZGV4Wy5dcGwgWz9dIEFjdGlvbj1BZ2VudEZBUSB9e3B1YmxpYy5wbD9BY3Rpb249UHVibGljRkFRfWd4bXM7CiAgICAgICAgfQoKICAgICAgICAjIG5vIHF1b3RpbmcgaWYgaHRtbCB2aWV3IGlzIGVuYWJsZWQKICAgICAgICBuZXh0IEtFWSBpZiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpJdGVtOjpIVE1MJyk7CgogICAgICAgICMgaHRtbCBxdW90aW5nCiAgICAgICAgJEl0ZW1EYXRheyRLZXl9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Bc2NpaTJIdG1sKAogICAgICAgICAgICBOZXdMaW5lICAgICAgICA9PiAwLAogICAgICAgICAgICBUZXh0ICAgICAgICAgICA9PiAkSXRlbURhdGF7JEtleX0sCiAgICAgICAgICAgIFZNYXggICAgICAgICAgID0+IDUwMDAsCiAgICAgICAgICAgIEhUTUxSZXN1bHRNb2RlID0+IDEsCiAgICAgICAgICAgIExpbmtGZWF0dXJlICAgID0+IDEsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgIGlmICggIWV4aXN0cyggJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9eyAkSXRlbURhdGF7U3RhdGVUeXBlSUR9IH0gKSApIHsKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Ob1Blcm1pc3Npb24oIFdpdGhIZWFkZXIgPT4gJ25vJyApOwogICAgfQogICAgaWYgKCAoICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSBlcSAncHVibGljJyApIHx8ICggJFNlbGYtPntJbnRlcmZhY2V9e05hbWV9IGVxICdleHRlcm5hbCcgKSApIHsKICAgICAgICBpZiAoICEkSXRlbURhdGF7QXBwcm92ZWR9ICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Ob1Blcm1pc3Npb24oIFdpdGhIZWFkZXIgPT4gJ25vJyApOwogICAgICAgIH0KICAgIH0KCiAgICAjIHVzZXIgaW5mbwogICAgbXkgJVVzZXJJbmZvID0gJFNlbGYtPntBZ2VudFVzZXJPYmplY3R9LT5HZXRVc2VyRGF0YSgKICAgICAgICBVc2VySUQgPT4gJEl0ZW1EYXRhe0NyZWF0ZWRCeX0sCiAgICApOwogICAgJEZyb250ZW5ke0NyZWF0ZWRCeUxvZ2lufSA9ICRVc2VySW5mb3tVc2VyTG9naW59OwogICAgJVVzZXJJbmZvID0gJFNlbGYtPntBZ2VudFVzZXJPYmplY3R9LT5HZXRVc2VyRGF0YSgKICAgICAgICBVc2VySUQgPT4gJEl0ZW1EYXRhe0NoYW5nZWRCeX0sCiAgICApOwogICAgJEZyb250ZW5ke0NoYW5nZWRCeUxvZ2lufSA9ICRVc2VySW5mb3tVc2VyTG9naW59OwoKICAgICMgaXRlbSB2aWV3CiAgICAkRnJvbnRlbmR7Q3NzQ29sdW1uVm90aW5nUmVzdWx0fSA9ICdjb2xvcjonCiAgICAgICAgLiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkdldEZBUUl0ZW1Wb3RpbmdSYXRlQ29sb3IoIFJhdGUgPT4gJEl0ZW1EYXRhe1Jlc3VsdH0gKSAuICc7JzsKICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnVmlldycsCiAgICAgICAgRGF0YSA9PiB7ICVQYXJhbSwgJUl0ZW1EYXRhLCAlRnJvbnRlbmQgfSwKICAgICk7CiAgICBpZiAoICRQYXJhbXtQZXJtaXNzaW9ufSAmJiAkUGFyYW17UGVybWlzc2lvbn0gZXEgJ3J3JyApIHsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdGQVFJdGVtVmlld0xpbmtVcGRhdGUnLAogICAgICAgICAgICBEYXRhID0+IHsgJVBhcmFtLCAlSXRlbURhdGEsICVGcm9udGVuZCB9LAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRkFRSXRlbVZpZXdMaW5rRGVsZXRlJywKICAgICAgICAgICAgRGF0YSA9PiB7ICVQYXJhbSwgJUl0ZW1EYXRhLCAlRnJvbnRlbmQgfSwKICAgICAgICApOwogICAgfQoKICAgICMgYXBwcm92YWwgc3RhdGUKICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6QXBwcm92YWxSZXF1aXJlZCcpICkgewogICAgICAgICRGcm9udGVuZHtBcHByb3ZhbH0gPSAkSXRlbURhdGF7QXBwcm92ZWR9ID8gJ1llcycgOiAnTm8nOwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1ZpZXdBcHByb3ZhbCcsCiAgICAgICAgICAgIERhdGEgPT4geyVGcm9udGVuZH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIEZBUSBwYXRoCiAgICBpZiAoICRTZWxmLT5fR2V0RkFRUGF0aCggQ2F0ZWdvcnlJRCA9PiAkSXRlbURhdGF7Q2F0ZWdvcnlJRH0gKSApIHsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdGQVFQYXRoSXRlbUVsZW1lbnQnLAogICAgICAgICAgICBEYXRhID0+IFwlSXRlbURhdGEsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGl0ZW0gYXR0YWNobWVudAogICAgbXkgQEF0dGFjaG1lbnRJbmRleCA9ICRTZWxmLT57RkFRT2JqZWN0fS0+QXR0YWNobWVudEluZGV4KAogICAgICAgIEl0ZW1JRCAgICAgPT4gJEdldFBhcmFte0l0ZW1JRH0sCiAgICAgICAgU2hvd0lubGluZSA9PiAwLAogICAgKTsKICAgIGlmIChAQXR0YWNobWVudEluZGV4KSB7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRkFRSXRlbVZpZXdBdHRhY2htZW50JywKICAgICAgICAgICAgRGF0YSA9PiB7JUl0ZW1EYXRhfSwKICAgICAgICApOwogICAgICAgIGZvciBteSAkQXR0YWNobWVudCAoQEF0dGFjaG1lbnRJbmRleCkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnRkFRSXRlbVZpZXdBdHRhY2htZW50Um93JywKICAgICAgICAgICAgICAgIERhdGEgPT4geyAlSXRlbURhdGEsICV7JEF0dGFjaG1lbnR9IH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgaXRlbSBmaWVsZHMKICAgICRTZWxmLT5fR2V0SXRlbUZpZWxkcygKICAgICAgICBJdGVtRGF0YSA9PiBcJUl0ZW1EYXRhLAogICAgKTsKCiAgICAjIGl0ZW0gdm90aW5nCiAgICBteSAlU2hvd0l0ZW1Wb3RpbmcgPSAleyAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpJdGVtOjpWb3Rpbmc6OlNob3cnKSB9OwogICAgaWYgKCBleGlzdHMoICRTaG93SXRlbVZvdGluZ3sgJFNlbGYtPntJbnRlcmZhY2V9e05hbWV9IH0gKSApIHsKICAgICAgICAkU2VsZi0+X0dldEl0ZW1Wb3RpbmcoCiAgICAgICAgICAgIEl0ZW1EYXRhID0+IFwlSXRlbURhdGEsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNob3cga2V5d29yZHMgYXMgc2VhcmNoIGxpbmtzCiAgICBpZiAoICRJdGVtRGF0YXtLZXl3b3Jkc30gKSB7CgogICAgICAgICMgcmVwbGFjZSBjb21tYXMgYW5kIHNlbWljb2xvbnMKICAgICAgICAkSXRlbURhdGF7S2V5d29yZHN9ID1+IHMvLC8gL2c7CiAgICAgICAgJEl0ZW1EYXRhe0tleXdvcmRzfSA9fiBzLzsvIC9nOwoKICAgICAgICBteSBAS2V5d29yZHMgPSBzcGxpdCAvXHMrLywgJEl0ZW1EYXRhe0tleXdvcmRzfTsKICAgICAgICBmb3IgbXkgJEtleXdvcmQgKEBLZXl3b3JkcykgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnS2V5d29yZHMnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgS2V5d29yZCA9PiAkS2V5d29yZCwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIGlmICggJFBhcmFte0xpbmtzfSAmJiAkUGFyYW17TGlua3N9ID09IDEgKSB7CgogICAgICAgICMgZ2V0IGxpbmtlZCBvYmplY3RzCiAgICAgICAgbXkgJExpbmtMaXN0V2l0aERhdGEgPSAkU2VsZi0+e0xpbmtPYmplY3R9LT5MaW5rTGlzdFdpdGhEYXRhKAogICAgICAgICAgICBPYmplY3QgPT4gJ0ZBUScsCiAgICAgICAgICAgIEtleSAgICA9PiAkR2V0UGFyYW17SXRlbUlEfSwKICAgICAgICAgICAgU3RhdGUgID0+ICdWYWxpZCcsCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBnZXQgbGluayB0YWJsZSB2aWV3IG1vZGUKICAgICAgICBteSAkTGlua1RhYmxlVmlld01vZGUgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTGlua09iamVjdDo6Vmlld01vZGUnKTsKCiAgICAgICAgIyBjcmVhdGUgdGhlIGxpbmsgdGFibGUKICAgICAgICBteSAkTGlua1RhYmxlU3RyZyA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+TGlua09iamVjdFRhYmxlQ3JlYXRlKAogICAgICAgICAgICBMaW5rTGlzdFdpdGhEYXRhID0+ICRMaW5rTGlzdFdpdGhEYXRhLAogICAgICAgICAgICBWaWV3TW9kZSAgICAgICAgID0+ICRMaW5rVGFibGVWaWV3TW9kZSwKICAgICAgICApOwoKICAgICAgICAjIG91dHB1dCB0aGUgc2ltcGxlIGxpbmsgdGFibGUKICAgICAgICBpZiAoJExpbmtUYWJsZVN0cmcpIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0xpbmtUYWJsZScgLiAkTGlua1RhYmxlVmlld01vZGUsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBMaW5rVGFibGVTdHJnID0+ICRMaW5rVGFibGVTdHJnLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm47Cn0KCnN1YiBHZXRJdGVtU21hbGxWaWV3IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJUZyb250ZW5kID0gKCk7CiAgICBteSAlR2V0UGFyYW0gPSAoKTsKICAgIG15IEBQYXJhbXMgICA9IHF3KEl0ZW1JRCk7CgogICAgIyBtYW5hZ2UgcGFyYW1ldGVycwogICAgZm9yIChAUGFyYW1zKSB7CiAgICAgICAgaWYgKCAhKCAkR2V0UGFyYW17JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApICkgKSB7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTmVlZCBwYXJhbWV0ZXIgJF8iICk7CiAgICAgICAgfQogICAgfQoKICAgICMgZGIgYWN0aW9uCiAgICBteSAlSXRlbURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICBJdGVtSUQgPT4gJEdldFBhcmFte0l0ZW1JRH0sCiAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICk7CiAgICBpZiAoICElSXRlbURhdGEgKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RXJyb3JTY3JlZW4oKTsKICAgIH0KCiAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgIGlmICggIWV4aXN0cyggJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9eyAkSXRlbURhdGF7U3RhdGVUeXBlSUR9IH0gKSApIHsKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Ob1Blcm1pc3Npb24oIFdpdGhIZWFkZXIgPT4gJ3llcycgKTsKICAgIH0KCiAgICAjIHVzZXIgaW5mbwogICAgbXkgJVVzZXJJbmZvID0gJFNlbGYtPntBZ2VudFVzZXJPYmplY3R9LT5HZXRVc2VyRGF0YSgKICAgICAgICBVc2VySUQgPT4gJEl0ZW1EYXRhe0NyZWF0ZWRCeX0sCiAgICApOwogICAgJEZyb250ZW5ke0NyZWF0ZWRCeUxvZ2lufSA9ICRVc2VySW5mb3tVc2VyTG9naW59OwogICAgJVVzZXJJbmZvID0gJFNlbGYtPntBZ2VudFVzZXJPYmplY3R9LT5HZXRVc2VyRGF0YSgKICAgICAgICBVc2VySUQgPT4gJEl0ZW1EYXRhe0NoYW5nZWRCeX0sCiAgICApOwogICAgJEZyb250ZW5ke0NoYW5nZWRCeUxvZ2lufSA9ICRVc2VySW5mb3tVc2VyTG9naW59OwoKICAgICMgaXRlbSB2aWV3CiAgICAkRnJvbnRlbmR7Q3NzQ29sdW1uVm90aW5nUmVzdWx0fSA9ICdjb2xvcjonCiAgICAgICAgLiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkdldEZBUUl0ZW1Wb3RpbmdSYXRlQ29sb3IoIFJhdGUgPT4gJEl0ZW1EYXRhe1Jlc3VsdH0gKSAuICc7JzsKICAgICRGcm9udGVuZHtJdGVtRmllbGRWYWx1ZXN9ID0gJFNlbGYtPl9HZXRJdGVtRmllbGRWYWx1ZXMoIEl0ZW1EYXRhID0+IFwlSXRlbURhdGEgKTsKCiAgICAjIG9ubHkgY29udmVydCBodG1sIHRvIHBsYWluIHRleHQgaWYgcmljaCB0ZXh0IGVkaXRvciBpcyBub3QgdXNlZAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRnJvbnRlbmQ6OlJpY2hUZXh0JykgKSB7CiAgICAgICAgJEZyb250ZW5ke0l0ZW1GaWVsZFZhbHVlc1BsYWluVGV4dH0gPSAkRnJvbnRlbmR7SXRlbUZpZWxkVmFsdWVzfTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRGcm9udGVuZHtJdGVtRmllbGRWYWx1ZXNQbGFpblRleHR9ID0gJFNlbGYtPntIVE1MVXRpbHNPYmplY3R9LT5Ub0FzY2lpKAogICAgICAgICAgICBTdHJpbmcgPT4gJEZyb250ZW5ke0l0ZW1GaWVsZFZhbHVlc30sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHJlbW92ZSBpbmxpbmUgaW1hZ2UgbGlua3MgdG8gZmFxIGltYWdlcwogICAgJEZyb250ZW5ke0l0ZW1GaWVsZFZhbHVlc1BsYWluVGV4dH0KICAgICAgICA9fiBzeyA8aW1nIFtePD5dKyBBY3Rpb249KEFnZW50fEN1c3RvbWVyfFB1YmxpYylGQVEgW148Pl0rID4gfXt9Z3htczsKCiAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ1ZpZXdTbWFsbCcsCiAgICAgICAgRGF0YSA9PiB7ICVQYXJhbSwgJUl0ZW1EYXRhLCAlRnJvbnRlbmQgfSwKICAgICk7CgogICAgIyBzaG93IGtleXdvcmRzIGFzIHNlYXJjaCBsaW5rcwogICAgaWYgKCAkSXRlbURhdGF7S2V5d29yZHN9ICkgewoKICAgICAgICAjIHJlcGxhY2UgY29tbWFzIGFuZCBzZW1pY29sb25zCiAgICAgICAgJEl0ZW1EYXRhe0tleXdvcmRzfSA9fiBzLywvIC9nOwogICAgICAgICRJdGVtRGF0YXtLZXl3b3Jkc30gPX4gcy87LyAvZzsKCiAgICAgICAgbXkgQEtleXdvcmRzID0gc3BsaXQgL1xzKy8sICRJdGVtRGF0YXtLZXl3b3Jkc307CiAgICAgICAgZm9yIG15ICRLZXl3b3JkIChAS2V5d29yZHMpIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0tleXdvcmRzJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIEtleXdvcmQgPT4gJEtleXdvcmQsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIEZBUSBwYXRoCiAgICBpZiAoICRTZWxmLT5fR2V0RkFRUGF0aCggQ2F0ZWdvcnlJRCA9PiAkSXRlbURhdGF7Q2F0ZWdvcnlJRH0gKSApIHsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdGQVFQYXRoSXRlbUVsZW1lbnRTbWFsbCcsCiAgICAgICAgICAgIERhdGEgPT4gXCVJdGVtRGF0YSwKICAgICAgICApOwogICAgfQoKICAgICMgaXRlbSBhdHRhY2htZW50CiAgICBpZiAoIGRlZmluZWQoICRJdGVtRGF0YXtGaWxlbmFtZX0gKSApIHsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdGQVFJdGVtVmlld0F0dGFjaG1lbnRTbWFsbCcsCiAgICAgICAgICAgIERhdGEgPT4geyAlUGFyYW0sICVJdGVtRGF0YSB9LAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuOwp9CgpzdWIgR2V0SXRlbVByaW50IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJUdldFBhcmFtID0gKCk7CiAgICBteSBAUGFyYW1zICAgPSBxdyhJdGVtSUQpOwoKICAgICMgbWFuYWdlIHBhcmFtZXRlcnMKICAgIGZvciAoQFBhcmFtcykgewogICAgICAgIGlmICggISggJEdldFBhcmFteyRffSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJF8gKSApICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIk5lZWQgcGFyYW1ldGVyICRfIiApOwogICAgICAgIH0KICAgIH0KCiAgICAjIGRiIGFjdGlvbgogICAgbXkgJUl0ZW1EYXRhID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFHZXQoCiAgICAgICAgSXRlbUlEID0+ICRHZXRQYXJhbXtJdGVtSUR9LAogICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICApOwogICAgaWYgKCAhJUl0ZW1EYXRhICkgewogICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKCk7CiAgICB9CgogICAgIyBodG1sIHF1b3RpbmcKICAgIEtFWToKICAgIGZvciBteSAkS2V5IChxdyAoRmllbGQxIEZpZWxkMiBGaWVsZDMgRmllbGQ0IEZpZWxkNSBGaWVsZDYpKSB7CiAgICAgICAgbmV4dCBLRVkgaWYgISRJdGVtRGF0YXskS2V5fTsKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6Okl0ZW06OkhUTUwnKSApIHsKICAgICAgICAgICAgJEl0ZW1EYXRheyRLZXl9ID1+IHMvXG4vXDxiclw+L2c7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkSXRlbURhdGF7JEtleX0gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkFzY2lpMkh0bWwoCiAgICAgICAgICAgICAgICBOZXdMaW5lICAgICAgICA9PiAwLAogICAgICAgICAgICAgICAgVGV4dCAgICAgICAgICAgPT4gJEl0ZW1EYXRheyRLZXl9LAogICAgICAgICAgICAgICAgVk1heCAgICAgICAgICAgPT4gNTAwMCwKICAgICAgICAgICAgICAgIEhUTUxSZXN1bHRNb2RlID0+IDEsCiAgICAgICAgICAgICAgICBMaW5rRmVhdHVyZSAgICA9PiAxLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgIGlmICggIWV4aXN0cyggJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9eyAkSXRlbURhdGF7U3RhdGVUeXBlSUR9IH0gKSApIHsKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Ob1Blcm1pc3Npb24oIFdpdGhIZWFkZXIgPT4gJ3llcycgKTsKICAgIH0KCiAgICAjIGFkZCBhcnRpY2xlCiAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ1ByaW50JywKICAgICAgICBEYXRhID0+IFwlSXRlbURhdGEsCiAgICApOwoKICAgICMgYXBwcm92YWwgc3RhdGUKICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6QXBwcm92YWxSZXF1aXJlZCcpICYmICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSBlcSAnaW50ZXJuYWwnICkgewogICAgICAgIG15ICVEYXRhOwogICAgICAgICREYXRhe0FwcHJvdmFsfSA9ICRJdGVtRGF0YXtBcHByb3ZlZH0gPyAnWWVzJyA6ICdObyc7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUHJpbnRBcHByb3ZhbCcsCiAgICAgICAgICAgIERhdGEgPT4geyVEYXRhfSwKICAgICAgICApOwogICAgfQoKICAgICMgZmllbGRzCiAgICAkU2VsZi0+X0dldEl0ZW1GaWVsZHMoCiAgICAgICAgSXRlbURhdGEgPT4gXCVJdGVtRGF0YSwKICAgICk7CiAgICByZXR1cm47Cn0KCnN1YiBfR2V0SXRlbUZpZWxkcyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVHZXRQYXJhbSA9ICgpOwogICAgbXkgQFBhcmFtcyAgID0gcXcoSXRlbURhdGEpOwoKICAgICMgbWFuYWdlIHBhcmFtZXRlcnMKICAgIGZvciAoQFBhcmFtcykgewogICAgICAgIGlmICggIWV4aXN0cyggJFBhcmFteyRffSApICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkIHBhcmFtZXRlciAkXyIgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBjb25maWcgdmFsdWVzCiAgICBteSAlSXRlbUZpZWxkcyA9ICgpOwogICAgZm9yICggbXkgJGkgPSAxOyAkaSA8IDc7ICRpKysgKSB7CiAgICAgICAgbXkgJUl0ZW1Db25maWcgPSAleyAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCggJ0ZBUTo6SXRlbTo6RmllbGQnIC4gJGkgKSB9OwogICAgICAgIGlmICggJEl0ZW1Db25maWd7U2hvd30gKSB7CiAgICAgICAgICAgICRJdGVtRmllbGRzeyAiRmllbGQiIC4gJGkgfSA9IFwlSXRlbUNvbmZpZzsKICAgICAgICB9CiAgICB9CiAgICBmb3IgbXkgJEtleSAoIHNvcnQoIHsgJEl0ZW1GaWVsZHN7JGF9e1ByaW99IDw9PiAkSXRlbUZpZWxkc3skYn17UHJpb30gfSBrZXlzKCVJdGVtRmllbGRzKSApICkgewogICAgICAgIG15ICVTdGF0ZVR5cGVEYXRhID0gJXsKICAgICAgICAgICAgJFNlbGYtPntGQVFPYmplY3R9LT5TdGF0ZVR5cGVHZXQoCiAgICAgICAgICAgICAgICBOYW1lID0+ICRJdGVtRmllbGRzeyRLZXl9e1Nob3d9CiAgICAgICAgICAgICAgICApCiAgICAgICAgfTsKCiAgICAgICAgIyBzaG93IHllcyAvbm8KICAgICAgICBpZiAoIGV4aXN0cyggJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9eyAkU3RhdGVUeXBlRGF0YXtJRH0gfSApICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnRkFRSXRlbUZpZWxkJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICV7ICRJdGVtRmllbGRzeyRLZXl9IH0sCiAgICAgICAgICAgICAgICAgICAgJ1N0YXRlTmFtZScgPT4gJFN0YXRlVHlwZURhdGF7TmFtZX0sCiAgICAgICAgICAgICAgICAgICAgJ0tleScgICAgICAgPT4gJEtleSwKICAgICAgICAgICAgICAgICAgICAnVmFsdWUnICAgICA9PiAkUGFyYW17SXRlbURhdGF9eyRLZXl9IHx8ICcnLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm47Cn0KCnN1YiBfR2V0SXRlbUZpZWxkVmFsdWVzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJUdldFBhcmFtID0gKCk7CiAgICBteSBAUGFyYW1zICAgPSBxdyhJdGVtRGF0YSk7CgogICAgIyBtYW5hZ2UgcGFyYW1ldGVycwogICAgZm9yIChAUGFyYW1zKSB7CiAgICAgICAgaWYgKCAhZXhpc3RzKCAkUGFyYW17JF99ICkgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIk5lZWQgcGFyYW1ldGVyICRfIiApOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNvbmZpZyB2YWx1ZXMKICAgIG15ICVJdGVtRmllbGRzID0gKCk7CiAgICBmb3IgKCBteSAkaSA9IDE7ICRpIDwgNzsgJGkrKyApIHsKICAgICAgICBteSAlSXRlbUNvbmZpZyA9ICV7ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCAnRkFROjpJdGVtOjpGaWVsZCcgLiAkaSApIH07CiAgICAgICAgaWYgKCAkSXRlbUNvbmZpZ3tTaG93fSApIHsKICAgICAgICAgICAgJEl0ZW1GaWVsZHN7ICJGaWVsZCIgLiAkaSB9ID0gXCVJdGVtQ29uZmlnOwogICAgICAgIH0KICAgIH0KICAgIG15ICRTdHJpbmcgPSAnJzsKICAgIGZvciBteSAkS2V5ICggc29ydCggeyAkSXRlbUZpZWxkc3skYX17UHJpb30gPD0+ICRJdGVtRmllbGRzeyRifXtQcmlvfSB9IGtleXMoJUl0ZW1GaWVsZHMpICkgKSB7CiAgICAgICAgaWYgKCAkSXRlbUZpZWxkc3skS2V5fXtTaG93fSBlcSAnaW50ZXJuYWwnICkgewogICAgICAgICAgICBuZXh0OwogICAgICAgIH0KICAgICAgICBteSAlU3RhdGVUeXBlRGF0YSA9ICV7CiAgICAgICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+U3RhdGVUeXBlR2V0KAogICAgICAgICAgICAgICAgTmFtZSA9PiAkSXRlbUZpZWxkc3skS2V5fXtTaG93fSwKICAgICAgICAgICAgICAgICkKICAgICAgICB9OwoKICAgICAgICAjIHNob3cgeWVzIC9ubwogICAgICAgIGlmICggZXhpc3RzKCAkU2VsZi0+e0ludGVyZmFjZVN0YXRlc317ICRTdGF0ZVR5cGVEYXRhe0lEfSB9ICkgKSB7CiAgICAgICAgICAgICRTdHJpbmcgLj0gJFBhcmFte0l0ZW1EYXRhfXskS2V5fSB8fCAnJzsKICAgICAgICAgICAgJFN0cmluZyAuPSAiXG5cbiI7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICRTdHJpbmc7Cn0KCnN1YiBfR2V0SXRlbVZvdGluZyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHBhcmFtZXRlcnMKICAgIGZvciAocXcoSXRlbURhdGEpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkIHBhcmFtZXRlciAkXyEiICk7CiAgICAgICAgfQogICAgfQogICAgbXkgJUl0ZW1EYXRhID0gJXsgJFBhcmFte0l0ZW1EYXRhfSB9OwoKICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAiVm90aW5nIiwKICAgICk7CiAgICBteSAlVm90ZURhdGEgPSAlewogICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+Vm90ZUdldCgKICAgICAgICAgICAgQ3JlYXRlQnkgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgSXRlbUlEICAgID0+ICRJdGVtRGF0YXtJdGVtSUR9LAogICAgICAgICAgICBJbnRlcmZhY2UgPT4gJFNlbGYtPntJbnRlcmZhY2V9e0lEfSwKICAgICAgICAgICAgSVAgICAgICAgID0+ICRFTlZ7J1JFTU9URV9BRERSJ30sCiAgICAgICAgICAgICkKICAgIH07CgogICAgbXkgJEZsYWcgPSAwOwoKICAgICMgYWxyZWFkeSB2b3RlZD8KICAgIGlmICglVm90ZURhdGEpIHsKCiAgICAgICAgIyBpdGVtL2NoYW5nZV90aW1lID4gdm90aW5nL2NyZWF0ZV90aW1lCiAgICAgICAgbXkgJEl0ZW1DaGFuZ2VkU3lzdGVtVGltZSA9ICRTZWxmLT57VGltZU9iamVjdH0tPlRpbWVTdGFtcDJTeXN0ZW1UaW1lKCBTdHJpbmcgPT4gJEl0ZW1EYXRhe0NoYW5nZWR9IHx8ICcnICk7CiAgICAgICAgbXkgJFZvdGVDcmVhdGVkU3lzdGVtVGltZSA9ICRTZWxmLT57VGltZU9iamVjdH0tPlRpbWVTdGFtcDJTeXN0ZW1UaW1lKCBTdHJpbmcgPT4gJFZvdGVEYXRhe0NyZWF0ZWR9IHx8ICcnICk7CgogICAgICAgIGlmICggJEl0ZW1DaGFuZ2VkU3lzdGVtVGltZSA+ICRWb3RlQ3JlYXRlZFN5c3RlbVRpbWUgKSB7CiAgICAgICAgICAgICRGbGFnID0gMTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHB1c2goIEB7ICRTZWxmLT57Tm90aWZ5fSB9LCBbICdJbmZvJywgJ1lvdSBoYXZlIGFscmVhZHkgdm90ZWQhJyBdICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkRmxhZyA9IDE7CiAgICB9CiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnVm90ZScgJiYgJEZsYWcgKSB7CgogICAgICAgICMgY2hlY2sgbmVlZGVkIHBhcmFtZXRlcnMKICAgICAgICBmb3IgKHF3KEl0ZW1EYXRhKSkgewogICAgICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJOZWVkIHBhcmFtZXRlciAkXyEiICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgbWFuYWdlIHBhcmFtZXRlcnMKICAgICAgICBteSAlR2V0UGFyYW0gPSAoKTsKICAgICAgICBteSBAUGFyYW1zICAgPSBxdyhJdGVtSUQgUmF0ZSk7CiAgICAgICAgZm9yIChAUGFyYW1zKSB7CiAgICAgICAgICAgICRHZXRQYXJhbXskX30gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRfICk7CiAgICAgICAgfQoKICAgICAgICBpZiAoICRHZXRQYXJhbXtSYXRlfSBlcSAnMCcgb3IgJEdldFBhcmFte1JhdGV9ICkgewogICAgICAgICAgICAkU2VsZi0+e0ZBUU9iamVjdH0tPlZvdGVBZGQoCiAgICAgICAgICAgICAgICBDcmVhdGVkQnkgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgSXRlbUlEICAgID0+ICRHZXRQYXJhbXtJdGVtSUR9LAogICAgICAgICAgICAgICAgSVAgICAgICAgID0+ICRFTlZ7J1JFTU9URV9BRERSJ30sCiAgICAgICAgICAgICAgICBJbnRlcmZhY2UgPT4gJFNlbGYtPntJbnRlcmZhY2V9e0lEfSwKICAgICAgICAgICAgICAgIFJhdGUgICAgICA9PiAkR2V0UGFyYW17UmF0ZX0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHB1c2goIEB7ICRTZWxmLT57Tm90aWZ5fSB9LCBbICdJbmZvJywgJ1RoYW5rcyBmb3IgeW91ciB2b3RlIScgXSApOwogICAgICAgICAgICByZXR1cm47CgogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcHVzaCggQHsgJFNlbGYtPntOb3RpZnl9IH0sIFsgJ0Vycm9yJywgJ05vIHJhdGUgc2VsZWN0ZWQhJyBdICk7CiAgICAgICAgICAgICRTZWxmLT5fR2V0SXRlbVZvdGluZ0Zvcm0oCiAgICAgICAgICAgICAgICBJdGVtRGF0YSA9PiAkUGFyYW17SXRlbURhdGF9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGZvcm0KICAgICRTZWxmLT5fR2V0SXRlbVZvdGluZ0Zvcm0oCiAgICAgICAgSXRlbURhdGEgPT4gJFBhcmFte0l0ZW1EYXRhfSwKICAgICk7CgogICAgcmV0dXJuOwp9CgpzdWIgX0dldEl0ZW1Wb3RpbmdGb3JtIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgcGFyYW1ldGVycwogICAgZm9yIChxdyhJdGVtRGF0YSkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIk5lZWQgcGFyYW1ldGVyICRfISIgKTsKICAgICAgICB9CiAgICB9CiAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ1ZvdGVGb3JtJywKICAgICAgICBEYXRhID0+IHsgJVBhcmFtLCAleyAkUGFyYW17SXRlbURhdGF9IH0gfSwKICAgICk7CgogICAgbXkgJVZvdGluZ1JhdGVzID0gJXsgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6SXRlbTo6Vm90aW5nOjpSYXRlcycpIH07CiAgICBmb3IgbXkgJGtleSAoIHNvcnQoIHsgJGIgPD0+ICRhIH0ga2V5cyglVm90aW5nUmF0ZXMpICkgKSB7CiAgICAgICAgbXkgJURhdGEgPSAoCiAgICAgICAgICAgICJWYWx1ZSIgPT4gJGtleSwKICAgICAgICAgICAgIlRpdGxlIiA9PiAkVm90aW5nUmF0ZXN7JGtleX0KICAgICAgICApOwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gIlZvdGluZ1JhdGVSb3ciLAogICAgICAgICAgICBEYXRhID0+IFwlRGF0YSwKICAgICAgICApOwogICAgfQogICAgcmV0dXJuOwp9CgpzdWIgR2V0SXRlbVNlYXJjaCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVHZXRQYXJhbSA9ICgpOwogICAgbXkgJUZyb250ZW5kID0gKCk7CgogICAgIyBnZXQgcGFyYW1zCiAgICBmb3IgKHF3KExhbmd1YWdlSURzIENhdGVnb3J5SURzKSkgewogICAgICAgIG15IEBBcnJheSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRBcnJheSggUGFyYW0gPT4gJF8gKTsKICAgICAgICBpZiAoQEFycmF5KSB7CiAgICAgICAgICAgICRHZXRQYXJhbXskX30gPSBcQEFycmF5OwogICAgICAgIH0KICAgIH0KICAgIGZvciAocXcoUXVpY2tTZWFyY2ggTnVtYmVyIFRpdGxlIFdoYXQgS2V5d29yZCkpIHsKICAgICAgICAkR2V0UGFyYW17JF99ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkXyApOwogICAgfQoKICAgICMgcXVpY2tzZWFyY2ggaW4gc3ViY2F0ZWdvcmllcz8KICAgIGlmICggJEdldFBhcmFte1F1aWNrU2VhcmNofSApIHsKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkV4cGxvcmVyOjpRdWlja1NlYXJjaDo6U2hvd1N1YkNhdGVnb3J5SXRlbXMnKSApIHsKICAgICAgICAgICAgaWYgKCAhJFBhcmFte01vZGV9ICkgewogICAgICAgICAgICAgICAgJFBhcmFte01vZGV9ID0gJ1B1YmxpYyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCggJFBhcmFte1VzZXJ9ICkgKSB7CiAgICAgICAgICAgICAgICAkUGFyYW17VXNlcn0gPSAnJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBteSBAU3ViQ2F0ZWdvcnlJRHMgPSBAewogICAgICAgICAgICAgICAgJFNlbGYtPntGQVFPYmplY3R9LT5DYXRlZ29yeVN1YkNhdGVnb3J5SURMaXN0KAogICAgICAgICAgICAgICAgICAgIFBhcmVudElEICAgICA9PiAkR2V0UGFyYW17Q2F0ZWdvcnlJRHN9LT5bMF0gfHwgMCwKICAgICAgICAgICAgICAgICAgICBJdGVtU3RhdGVzICAgPT4gJFNlbGYtPntJbnRlcmZhY2VTdGF0ZXN9LAogICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAkUGFyYW17Q3VzdG9tZXJVc2VyfSwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgPT4gJFBhcmFte1VzZXJ9LAogICAgICAgICAgICAgICAgICAgIE1vZGUgICAgICAgICA9PiAkUGFyYW17TW9kZX0sCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICB9OwogICAgICAgICAgICBwdXNoKCBAeyAkR2V0UGFyYW17Q2F0ZWdvcnlJRHN9IH0sIEBTdWJDYXRlZ29yeUlEcyApOwogICAgICAgIH0KICAgIH0KICAgICRGcm9udGVuZHtMYW5ndWFnZU9wdGlvbn0gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPk9wdGlvblN0cmdIYXNoUmVmKAogICAgICAgIERhdGEgICAgICAgICAgICAgICAgPT4geyAkU2VsZi0+e0ZBUU9iamVjdH0tPkxhbmd1YWdlTGlzdCgpIH0sCiAgICAgICAgU2l6ZSAgICAgICAgICAgICAgICA9PiA1LAogICAgICAgIE5hbWUgICAgICAgICAgICAgICAgPT4gJ0xhbmd1YWdlSURzJywKICAgICAgICBNdWx0aXBsZSAgICAgICAgICAgID0+IDEsCiAgICAgICAgU2VsZWN0ZWRJRFJlZkFycmF5ICA9PiAkR2V0UGFyYW17TGFuZ3VhZ2VJRHN9IHx8IFtdLAogICAgICAgIEhUTUxRdW90ZSAgICAgICAgICAgPT4gMSwKICAgICAgICBMYW5ndWFnZVRyYW5zbGF0aW9uID0+IDAsCiAgICApOwogICAgbXkgJENhdGVnb3JpZXMgPSB7fTsKICAgIGlmICggJFBhcmFte01vZGV9ICYmICRQYXJhbXtNb2RlfSBlcSAnQWdlbnQnICkgewogICAgICAgICRDYXRlZ29yaWVzID0gJFNlbGYtPntGQVFPYmplY3R9LT5HZXRVc2VyQ2F0ZWdvcmllcygKICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgVHlwZSAgID0+ICdydycsCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2lmICggJFBhcmFte01vZGV9ICYmICRQYXJhbXtNb2RlfSBlcSAnQ3VzdG9tZXInICkgewoKICAgICAgICAjIGdldCBjdXN0b21lciBjYXRlZ29yaWVzCiAgICAgICAgJENhdGVnb3JpZXMgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkdldEN1c3RvbWVyQ2F0ZWdvcmllcygKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJ9LAogICAgICAgICAgICBUeXBlICAgICAgICAgPT4gJ3J3JywKICAgICAgICApOwoKICAgICAgICAjIGV4dHJhY3QgY2F0ZWdvcnkgaWRzCiAgICAgICAgbXkgJUFsbENhdGVnb3J5SURzID0gKCk7CiAgICAgICAgZm9yIG15ICRQYXJlbnRJRCAoIGtleXMgJXskQ2F0ZWdvcmllc30gKSB7CiAgICAgICAgICAgIGZvciBteSAkQ2F0ZWdvcnlJRCAoIGtleXMgJXsgJENhdGVnb3JpZXMtPnskUGFyZW50SUR9IH0gKSB7CiAgICAgICAgICAgICAgICAkQWxsQ2F0ZWdvcnlJRHN7JENhdGVnb3J5SUR9ID0gMTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBnZXQgYWxsIGN1c3RvbWVyIGNhdGVnb3J5IGlkcwogICAgICAgIG15IEBDdXN0b21lckNhdGVnb3J5SURzID0gKCk7CiAgICAgICAgZm9yIG15ICRDYXRlZ29yeUlEICggMCwga2V5cyAlQWxsQ2F0ZWdvcnlJRHMgKSB7CiAgICAgICAgICAgIHB1c2ggQEN1c3RvbWVyQ2F0ZWdvcnlJRHMsIEB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0ZBUU9iamVjdH0tPkN1c3RvbWVyQ2F0ZWdvcnlTZWFyY2goCiAgICAgICAgICAgICAgICAgICAgUGFyZW50SUQgICAgID0+ICRDYXRlZ29yeUlELAogICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAkUGFyYW17Q3VzdG9tZXJVc2VyfSwKICAgICAgICAgICAgICAgICAgICBNb2RlICAgICAgICAgPT4gJFBhcmFte01vZGV9LAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgICMgYnVpbGQgY3VzdG9tZXIgY2F0ZWdvcnkgaGFzaAogICAgICAgICRDYXRlZ29yaWVzID0ge307CiAgICAgICAgZm9yIG15ICRDYXRlZ29yeUlEIChAQ3VzdG9tZXJDYXRlZ29yeUlEcykgewogICAgICAgICAgICBteSAlQ2F0ZWdvcnkgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkNhdGVnb3J5R2V0KCBDYXRlZ29yeUlEID0+ICRDYXRlZ29yeUlEICk7CiAgICAgICAgICAgICRDYXRlZ29yaWVzLT57ICRDYXRlZ29yeXtQYXJlbnRJRH0gfS0+eyAkQ2F0ZWdvcnl7Q2F0ZWdvcnlJRH0gfSA9ICRDYXRlZ29yeXtOYW1lfTsKICAgICAgICB9CiAgICB9CiAgICBlbHNlIHsKCiAgICAgICAgIyBnZXQgYWxsIGNhdGVnb3JpZXMKICAgICAgICAkQ2F0ZWdvcmllcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+Q2F0ZWdvcnlMaXN0KCk7CgogICAgICAgICMgZXh0cmFjdCBjYXRlZ29yeSBpZHMKICAgICAgICBteSAlQWxsQ2F0ZWdvcnlJRHMgPSAoKTsKICAgICAgICBmb3IgbXkgJFBhcmVudElEICgga2V5cyAleyRDYXRlZ29yaWVzfSApIHsKICAgICAgICAgICAgZm9yIG15ICRDYXRlZ29yeUlEICgga2V5cyAleyAkQ2F0ZWdvcmllcy0+eyRQYXJlbnRJRH0gfSApIHsKICAgICAgICAgICAgICAgICRBbGxDYXRlZ29yeUlEc3skQ2F0ZWdvcnlJRH0gPSAxOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGdldCBhbGwgcHVibGljIGNhdGVnb3J5IGlkcwogICAgICAgIG15IEBQdWJsaWNDYXRlZ29yeUlEcyA9ICgpOwogICAgICAgIGZvciBteSAkQ2F0ZWdvcnlJRCAoIDAsIGtleXMgJUFsbENhdGVnb3J5SURzICkgewogICAgICAgICAgICBwdXNoIEBQdWJsaWNDYXRlZ29yeUlEcywgQHsKICAgICAgICAgICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+UHVibGljQ2F0ZWdvcnlTZWFyY2goCiAgICAgICAgICAgICAgICAgICAgUGFyZW50SUQgPT4gJENhdGVnb3J5SUQsCiAgICAgICAgICAgICAgICAgICAgTW9kZSAgICAgPT4gJFBhcmFte01vZGV9LAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgICMgYnVpbGQgcHVibGljIGNhdGVnb3J5IGhhc2gKICAgICAgICAkQ2F0ZWdvcmllcyA9IHt9OwogICAgICAgIGZvciBteSAkQ2F0ZWdvcnlJRCAoQFB1YmxpY0NhdGVnb3J5SURzKSB7CiAgICAgICAgICAgIG15ICVDYXRlZ29yeSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+Q2F0ZWdvcnlHZXQoIENhdGVnb3J5SUQgPT4gJENhdGVnb3J5SUQgKTsKICAgICAgICAgICAgJENhdGVnb3JpZXMtPnsgJENhdGVnb3J5e1BhcmVudElEfSB9LT57ICRDYXRlZ29yeXtDYXRlZ29yeUlEfSB9ID0gJENhdGVnb3J5e05hbWV9OwogICAgICAgIH0KICAgIH0KCiAgICAkRnJvbnRlbmR7Q2F0ZWdvcnlPcHRpb259ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5BZ2VudEZBUUNhdGVnb3J5TGlzdE9wdGlvbigKICAgICAgICBDYXRlZ29yeUxpc3QgICAgICAgID0+ICRDYXRlZ29yaWVzLAogICAgICAgIFNpemUgICAgICAgICAgICAgICAgPT4gNSwKICAgICAgICBOYW1lICAgICAgICAgICAgICAgID0+ICdDYXRlZ29yeUlEcycsCiAgICAgICAgTXVsdGlwbGUgICAgICAgICAgICA9PiAxLAogICAgICAgIFNlbGVjdGVkSURzICAgICAgICAgPT4gJEdldFBhcmFte0NhdGVnb3J5SURzfSB8fCBbXSwKICAgICAgICBIVE1MUXVvdGUgICAgICAgICAgID0+IDEsCiAgICAgICAgTGFuZ3VhZ2VUcmFuc2xhdGlvbiA9PiAwLAogICAgKTsKICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnU2VhcmNoJywKICAgICAgICBEYXRhID0+IHsgJVBhcmFtLCAlR2V0UGFyYW0sICVGcm9udGVuZCB9LAogICAgKTsKCiAgICAjIGJ1aWxkIHJlc3VsdAogICAgaWYgKCAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdTdWJtaXQnICkgKSB7CiAgICAgICAgbXkgJENzc1JvdyA9ICcnOwoKICAgICAgICBteSBASXRlbUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICVHZXRQYXJhbSwKICAgICAgICAgICAgU3RhdGVzICAgID0+ICRTZWxmLT57SW50ZXJmYWNlU3RhdGVzfSwKICAgICAgICAgICAgSW50ZXJmYWNlID0+ICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSwKICAgICAgICAgICAgTGltaXQgICAgID0+IDI1LAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnU2VhcmNoUmVzdWx0JywKICAgICAgICAgICAgRGF0YSA9PiB7ICVQYXJhbSwgJUZyb250ZW5kIH0sCiAgICAgICAgKTsKICAgICAgICBmb3IgKEBJdGVtSURzKSB7CiAgICAgICAgICAgICVGcm9udGVuZCA9ICgpOwogICAgICAgICAgICBteSAlRGF0YSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KCBJdGVtSUQgPT4gJF8gKTsKICAgICAgICAgICAgbXkgJFBlcm1pc3Npb24gPSAncm8nOwogICAgICAgICAgICBpZiAoICRQYXJhbXtNb2RlfSAmJiAkUGFyYW17TW9kZX0gZXEgJ0FnZW50JyApIHsKICAgICAgICAgICAgICAgICRQZXJtaXNzaW9uID0gJFNlbGYtPntGQVFPYmplY3R9LT5DaGVja0NhdGVnb3J5VXNlclBlcm1pc3Npb24oCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcn0sCiAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcnlJRCA9PiAkRGF0YXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzaWYgKCAkUGFyYW17TW9kZX0gJiYgJFBhcmFte01vZGV9IGVxICdDdXN0b21lcicgKSB7CiAgICAgICAgICAgICAgICAkUGVybWlzc2lvbiA9ICRTZWxmLT57RkFRT2JqZWN0fS0+Q2hlY2tDYXRlZ29yeUN1c3RvbWVyUGVybWlzc2lvbigKICAgICAgICAgICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJFBhcmFte0N1c3RvbWVyVXNlcn0sCiAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcnlJRCAgID0+ICREYXRhe0NhdGVnb3J5SUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoICRQZXJtaXNzaW9uIG5lICcnICkgewogICAgICAgICAgICAgICAgaWYgKCAkQ3NzUm93IGVxICdzZWFyY2hwYXNzaXZlJyApIHsKICAgICAgICAgICAgICAgICAgICAkQ3NzUm93ID0gJ3NlYXJjaGFjdGl2ZSc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkQ3NzUm93ID0gJ3NlYXJjaHBhc3NpdmUnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJERhdGF7Q3NzUm93fSAgICAgICAgICAgICAgICAgICAgPSAkQ3NzUm93OwogICAgICAgICAgICAgICAgJEZyb250ZW5ke0Nzc0NvbHVtblZvdGluZ1Jlc3VsdH0gPSAnY29sb3I6JwogICAgICAgICAgICAgICAgICAgIC4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5HZXRGQVFJdGVtVm90aW5nUmF0ZUNvbG9yKCBSYXRlID0+ICREYXRhe1Jlc3VsdH0gKQogICAgICAgICAgICAgICAgICAgIC4gJzsnOwoKICAgICAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnU2VhcmNoUmVzdWx0Um93JywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IHsgJURhdGEsICVGcm9udGVuZCB9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybjsKfQoKc3ViIEdldFN5c3RlbUhpc3RvcnkgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlRnJvbnRlbmQgPSAoKTsKCiAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ1N5c3RlbUhpc3RvcnknLAogICAgICAgIERhdGEgPT4geyVQYXJhbX0sCiAgICApOwoKICAgICRGcm9udGVuZHtDc3NSb3d9ID0gJyc7CiAgICBteSBASGlzdG9yeSA9IEB7ICRTZWxmLT57RkFRT2JqZWN0fS0+SGlzdG9yeUdldCgpIH07CiAgICBmb3IgbXkgJFJvdyAoQEhpc3RvcnkpIHsKCiAgICAgICAgIyBjc3MgY29uZmlndXJhdGlvbgogICAgICAgIGlmICggJEZyb250ZW5ke0Nzc1Jvd30gZXEgJ3NlYXJjaHBhc3NpdmUnICkgewogICAgICAgICAgICAkRnJvbnRlbmR7Q3NzUm93fSA9ICdzZWFyY2hhY3RpdmUnOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJEZyb250ZW5ke0Nzc1Jvd30gPSAnc2VhcmNocGFzc2l2ZSc7CiAgICAgICAgfQogICAgICAgIG15ICVEYXRhID0gJXskUm93fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KEl0ZW1JRCA9PiAkUm93LT57SXRlbUlEfSk7CiAgICAgICAgbXkgJVVzZXIgPSAkU2VsZi0+e1VzZXJPYmplY3R9LT5HZXRVc2VyRGF0YSgKICAgICAgICAgICAgVXNlcklEID0+ICRSb3ctPntDcmVhdGVkQnl9LAogICAgICAgICAgICBDYWNoZWQgPT4gMSwKICAgICAgICApOwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1N5c3RlbUhpc3RvcnlSb3cnLAogICAgICAgICAgICBEYXRhID0+IHsgJURhdGEsICVGcm9udGVuZCwgJVVzZXIsIE5hbWUgPT4gJFJvdy0+e05hbWV9IH0sCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybjsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6UGljdHVyZVVwbG9hZEZBUTsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBVUkk6OkVzY2FwZTsKCnVzZSBLZXJuZWw6OlN5c3RlbTo6V2ViOjpVcGxvYWRDYWNoZTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0geyVQYXJhbX07CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBjaGVjayBuZWVkZWQgb2JqZWN0cwogICAgZm9yIChxdyhQYXJhbU9iamVjdCBEQk9iamVjdCBMYXlvdXRPYmplY3QgTG9nT2JqZWN0IENvbmZpZ09iamVjdCkpIHsKICAgICAgICBpZiAoICEkU2VsZi0+eyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJHb3Qgbm8gJF8hIiApOwogICAgICAgIH0KICAgIH0KCiAgICAkU2VsZi0+e1VwbG9hZENhY2hPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OldlYjo6VXBsb2FkQ2FjaGUtPm5ldyglUGFyYW0pOwoKICAgICRTZWxmLT57Rm9ybUlEfSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0Zvcm1JRCcgKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkT3V0cHV0ID0gIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PSIKICAgICAgICAuICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdEZWZhdWx0Q2hhcnNldCcpIC4gIjtcblxuIjsKICAgICRPdXRwdXQgLj0gIgo8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj4KKGZ1bmN0aW9uKCl7dmFyIGQ9ZG9jdW1lbnQuZG9tYWluO3doaWxlICh0cnVlKXt0cnl7dmFyIEE9d2luZG93LnBhcmVudC5kb2N1bWVudC5kb21haW47YnJlYWs7fWNhdGNoKGUKKSB7fTtkPWQucmVwbGFjZSgvLio/KD86XC58XCQpLywnJyk7aWYgKGQubGVuZ3RoPT0wKSBicmVhazt0cnl7ZG9jdW1lbnQuZG9tYWluPWQ7fWNhdGNoIChlKXticmVhazt9fX0KKSgpOwoKIjsKCiAgICAjIHJldHVybiBpZiBubyBmb3JtIGlkIGV4aXN0cwogICAgaWYgKCAhJFNlbGYtPntGb3JtSUR9ICkgewogICAgICAgICRPdXRwdXQgLj0gIndpbmRvdy5wYXJlbnQuT25VcGxvYWRDb21wbGV0ZWQoNDA0LFwiXCIsXCJcIixcIlwiKSA7PC9zY3JpcHQ+IjsKICAgICAgICByZXR1cm4gJE91dHB1dDsKICAgIH0KCiAgICAjIGRlbGl2ZXIgZmlsZSBmb3JtIGZvciBkaXNwbGF5IGlubGluZSBjb250ZW50CiAgICBteSAkQ29udGVudElEID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnQ29udGVudElEJyApOwogICAgaWYgKCRDb250ZW50SUQpIHsKCiAgICAgICAgIyByZXR1cm4gaW1hZ2UgaW5saW5lCiAgICAgICAgbXkgQEF0dGFjaG1lbnREYXRhID0gJFNlbGYtPntVcGxvYWRDYWNoT2JqZWN0fS0+Rm9ybUlER2V0QWxsRmlsZXNEYXRhKAogICAgICAgICAgICBGb3JtSUQgPT4gJFNlbGYtPntGb3JtSUR9LAogICAgICAgICk7CiAgICAgICAgZm9yIG15ICRBdHRhY2htZW50IChAQXR0YWNobWVudERhdGEpIHsKICAgICAgICAgICAgbmV4dCBpZiAhJEF0dGFjaG1lbnQtPntDb250ZW50SUR9OwogICAgICAgICAgICBuZXh0IGlmICRBdHRhY2htZW50LT57Q29udGVudElEfSBuZSAkQ29udGVudElEOwogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5BdHRhY2htZW50KAogICAgICAgICAgICAgICAgVHlwZSA9PiAnaW5saW5lJywKICAgICAgICAgICAgICAgICV7JEF0dGFjaG1lbnR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCB1cGxvYWRlZCBmaWxlCiAgICBteSAlRmlsZSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRVcGxvYWRBbGwoCiAgICAgICAgUGFyYW0gID0+ICdOZXdGaWxlJywKICAgICAgICBTb3VyY2UgPT4gJ3N0cmluZycsCiAgICApOwoKICAgICMgcmV0dXJuIGVycm9yIGlmIG5vIGZpbGUgaXMgdGhlcmUKICAgIGlmICggISVGaWxlICkgewogICAgICAgICRPdXRwdXQgLj0gIndpbmRvdy5wYXJlbnQuT25VcGxvYWRDb21wbGV0ZWQoNDA0LFwiLVwiLFwiLVwiLFwiXCIpIDs8L3NjcmlwdD4iOwogICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgfQoKICAgICMgdXJpIGVzY2FwZSBmaWxlbmFtZQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRGVmYXVsdENoYXJzZXQnKSBlcSAndXRmLTgnICkgewogICAgICAgICRGaWxle0ZpbGVuYW1lfSA9IHVyaV9lc2NhcGVfdXRmOCggJEZpbGV7RmlsZW5hbWV9ICk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkRmlsZXtGaWxlbmFtZX0gPSB1cmlfZXNjYXBlKCAkRmlsZXtGaWxlbmFtZX0gKTsKICAgIH0KCiAgICAjIHJldHVybiBlcnJvciBpZiBmaWxlIGlzIG5vdCBwb3NzaWJsZSB0byBzaG93IGlubGluZQogICAgaWYgKCAkRmlsZXtGaWxlbmFtZX0gIX4gL1wuKHBuZ3xnaWZ8anBnfGpwZWcpJC9pICkgewogICAgICAgICRPdXRwdXQgLj0gIndpbmRvdy5wYXJlbnQuT25VcGxvYWRDb21wbGV0ZWQoMjAyLFwiLVwiLFwiLVwiLFwiXCIpIDs8L3NjcmlwdD4iOwogICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgfQoKICAgICMgY2hlY2sgaWYgbmFtZSBhbHJlYWR5IGV4aXN0cwogICAgbXkgQEF0dGFjaG1lbnRNZXRhID0gJFNlbGYtPntVcGxvYWRDYWNoT2JqZWN0fS0+Rm9ybUlER2V0QWxsRmlsZXNNZXRhKAogICAgICAgIEZvcm1JRCA9PiAkU2VsZi0+e0Zvcm1JRH0KICAgICk7CiAgICBteSAkVG1wRmlsZW5hbWUgICAgPSAkRmlsZXtGaWxlbmFtZX07CiAgICBteSAkVG1wU3VmZml4ICAgICAgPSAwOwogICAgbXkgJFVuaXF1ZUZpbGVuYW1lID0gJyc7CiAgICB3aGlsZSAoICEkVW5pcXVlRmlsZW5hbWUgKSB7CiAgICAgICAgJFVuaXF1ZUZpbGVuYW1lID0gJFRtcEZpbGVuYW1lOwogICAgICAgIE5FV05BTUU6CiAgICAgICAgZm9yIG15ICRUbXBBdHRhY2htZW50ICggcmV2ZXJzZSBAQXR0YWNobWVudE1ldGEgKSB7CiAgICAgICAgICAgIG5leHQgTkVXTkFNRSBpZiAkVG1wRmlsZW5hbWUgbmUgJFRtcEF0dGFjaG1lbnQtPntGaWxlbmFtZX07CgogICAgICAgICAgICAjIG5hbWUgZXhpc3RzIC0+IGNoYW5nZQogICAgICAgICAgICArKyRUbXBTdWZmaXg7CiAgICAgICAgICAgIGlmICggJEZpbGV7RmlsZW5hbWV9ID1+IC9eKC4qKVwuKC4rPykkLyApIHsKICAgICAgICAgICAgICAgICRUbXBGaWxlbmFtZSA9ICIkMS0kVG1wU3VmZml4LiQyIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRUbXBGaWxlbmFtZSA9ICIkRmlsZXtGaWxlbmFtZX0tJFRtcFN1ZmZpeCI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJFVuaXF1ZUZpbGVuYW1lID0gJyc7CiAgICAgICAgICAgIGxhc3QgTkVXTkFNRTsKICAgICAgICB9CiAgICB9CgogICAgIyBhZGQgdXBsb2FkZWQgZmlsZSB0byB1cGxvYWQgY2FjaGUKICAgICRTZWxmLT57VXBsb2FkQ2FjaE9iamVjdH0tPkZvcm1JREFkZEZpbGUoCiAgICAgICAgRm9ybUlEICAgICAgPT4gJFNlbGYtPntGb3JtSUR9LAogICAgICAgIEZpbGVuYW1lICAgID0+ICRUbXBGaWxlbmFtZSwKICAgICAgICBDb250ZW50ICAgICA9PiAkRmlsZXtDb250ZW50fSwKICAgICAgICBDb250ZW50VHlwZSA9PiAkRmlsZXtDb250ZW50VHlwZX0gLiAnOyBuYW1lPSInIC4gJFRtcEZpbGVuYW1lIC4gJyInLAogICAgICAgIERpc3Bvc2l0aW9uID0+ICdpbmxpbmUnLAogICAgKTsKCiAgICAjIGdldCBuZXcgY29udGVudCBpZAogICAgbXkgJENvbnRlbnRJRE5ldyA9ICcnOwogICAgQEF0dGFjaG1lbnRNZXRhID0gJFNlbGYtPntVcGxvYWRDYWNoT2JqZWN0fS0+Rm9ybUlER2V0QWxsRmlsZXNNZXRhKAogICAgICAgIEZvcm1JRCA9PiAkU2VsZi0+e0Zvcm1JRH0KICAgICk7CiAgICBDT05URU5USUQ6CiAgICBmb3IgbXkgJFRtcEF0dGFjaG1lbnQgKEBBdHRhY2htZW50TWV0YSkgewogICAgICAgIG5leHQgQ09OVEVOVElEIGlmICRUbXBGaWxlbmFtZSBuZSAkVG1wQXR0YWNobWVudC0+e0ZpbGVuYW1lfTsKICAgICAgICAkQ29udGVudElETmV3ID0gJFRtcEF0dGFjaG1lbnQtPntDb250ZW50SUR9OwogICAgICAgIGxhc3QgQ09OVEVOVElEOwogICAgfQoKICAgICMgc2VydmUgbmV3IGNvbnRlbnQgaWQgdG8gcnRlCiAgICBteSAkU2Vzc2lvbiA9ICcnOwogICAgaWYgKCAkU2VsZi0+e1Nlc3Npb25JRH0gJiYgISRTZWxmLT57U2Vzc2lvbklEQ29va2llfSApIHsKICAgICAgICAkU2Vzc2lvbiA9ICImIiAuICRTZWxmLT57U2Vzc2lvbk5hbWV9IC4gIj0iIC4gJFNlbGYtPntTZXNzaW9uSUR9OwogICAgfQogICAgbXkgJFVSTCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e0Jhc2VsaW5rfQogICAgICAgIC4gIkFjdGlvbj1QaWN0dXJlVXBsb2FkRkFRIgogICAgICAgIC4gIiZGb3JtSUQ9IgogICAgICAgIC4gJFNlbGYtPntGb3JtSUR9CiAgICAgICAgLiAiJkNvbnRlbnRJRD0iCiAgICAgICAgLiAkQ29udGVudElETmV3CiAgICAgICAgLiAiJkZpbGVuYW1lPSIKICAgICAgICAuICRUbXBGaWxlbmFtZQogICAgICAgIC4gJFNlc3Npb247CiAgICAkT3V0cHV0IC49ICJ3aW5kb3cucGFyZW50Lk9uVXBsb2FkQ29tcGxldGVkKDAsXCIkVVJMXCIsXCIkVVJMXCIsXCJcIikgOzwvc2NyaXB0PiI7CgogICAgcmV0dXJuICRPdXRwdXQ7Cn0KCjE7Cg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6UHVibGljRkFROwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpGQVE7CnVzZSBLZXJuZWw6Ok1vZHVsZXM6OkZBUTsKCm91ciBASVNBID0gcXcoS2VybmVsOjpNb2R1bGVzOjpGQVEpOwoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICMKICAgIG15ICRTZWxmID0gbmV3IEtlcm5lbDo6TW9kdWxlczo6RkFRKCVQYXJhbSk7CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBpbnRlcmZhY2Ugc2V0dGluZ3MKICAgICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAjCiAgICAkU2VsZi0+e0ludGVyZmFjZX0gPSAkU2VsZi0+e0ZBUU9iamVjdH0tPlN0YXRlVHlwZUdldCgKICAgICAgICBOYW1lID0+ICdwdWJsaWMnLAogICAgKTsKICAgICRTZWxmLT57SW50ZXJmYWNlU3RhdGVzfSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+U3RhdGVUeXBlTGlzdCgKICAgICAgICBUeXBlcyA9PiBbJ3B1YmxpYyddLAogICAgKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBPYmplY3RzCiAgICAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogIwogICAgZm9yIChxdygpKSB7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJHb3Qgbm8gJF8hIiApIGlmICggISRTZWxmLT57JF99ICk7CiAgICB9CgogICAgcmV0dXJuICRTZWxmOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBQYXJhbXRlcgogICAgbXkgQFBhcmFtcyAgID0gKCk7CiAgICBteSAlR2V0UGFyYW0gPSAoKTsKICAgIG15ICVGcm9udGVuZCA9ICgpOwoKICAgICMgT3V0cHV0CiAgICBteSAkT3V0cHV0ICAgICAgPSAnJzsKICAgIG15ICRIZWFkZXIgICAgICA9ICcnOwogICAgbXkgJEhlYWRlclRpdGxlID0gJyc7CiAgICBteSAkSGVhZGVyVHlwZSAgPSAnJzsKICAgIG15ICROYXZpZ2F0aW9uICA9ICcnOwogICAgbXkgJE5vdGlmeSAgICAgID0gJyc7CiAgICBteSAkQ29udGVudCAgICAgPSAnJzsKICAgIG15ICRGb290ZXIgICAgICA9ICcnOwogICAgbXkgJEZvb3RlclR5cGUgID0gJyc7CgogICAgbXkgJERlZmF1bHRIZWFkZXIgICAgID0gJyc7CiAgICBteSAkRGVmYXVsdE5hdmlnYXRpb24gPSAnJzsKICAgIG15ICREZWZhdWx0Q29udGVudCAgICA9ICcnOwogICAgbXkgJERlZmF1bHRGb290ZXIgICAgID0gJyc7CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgZXhwbG9yZXIKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnRXhwbG9yZXInICkgewoKICAgICAgICAjIGFkZCByc3MgZmVlZCBsaW5rCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnTWV0YUxpbmsnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIFJlbCAgID0+ICdhbHRlcm5hdGUnLAogICAgICAgICAgICAgICAgVHlwZSAgPT4gJ2FwcGxpY2F0aW9uL3Jzcyt4bWwnLAogICAgICAgICAgICAgICAgVGl0bGUgPT4gJ0ZBUSBBcnRpY2xlcyAobmV3IGNyZWF0ZWQpJywKICAgICAgICAgICAgICAgIEhyZWYgID0+ICckRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1yc3MmVHlwZT1DcmVhdGVkJywKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ01ldGFMaW5rJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBSZWwgICA9PiAnYWx0ZXJuYXRlJywKICAgICAgICAgICAgICAgIFR5cGUgID0+ICdhcHBsaWNhdGlvbi9yc3MreG1sJywKICAgICAgICAgICAgICAgIFRpdGxlID0+ICdGQVEgQXJ0aWNsZXMgKHJlY2VudGx5IGNoYW5nZWQpJywKICAgICAgICAgICAgICAgIEhyZWYgID0+ICckRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1yc3MmVHlwZT1DaGFuZ2VkJywKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ01ldGFMaW5rJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBSZWwgICA9PiAnYWx0ZXJuYXRlJywKICAgICAgICAgICAgICAgIFR5cGUgID0+ICdhcHBsaWNhdGlvbi9yc3MreG1sJywKICAgICAgICAgICAgICAgIFRpdGxlID0+ICdGQVEgQXJ0aWNsZXMgKFRvcCAxMCknLAogICAgICAgICAgICAgICAgSHJlZiAgPT4gJyRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPXJzcyZUeXBlPVRvcDEwJywKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgICAgICRIZWFkZXJUaXRsZSA9ICdFeHBsb3Jlcic7CiAgICAgICAgJEhlYWRlciAgICAgID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5DdXN0b21lckhlYWRlcigKICAgICAgICAgICAgVHlwZSAgPT4gJEhlYWRlclR5cGUsCiAgICAgICAgICAgIFRpdGxlID0+ICRIZWFkZXJUaXRsZSwKICAgICAgICApOwogICAgICAgICRTZWxmLT5HZXRFeHBsb3JlcigpOwogICAgICAgICRDb250ZW50ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnRkFRJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHsgJUZyb250ZW5kLCAlR2V0UGFyYW0gfSwKICAgICAgICApOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIHNlYXJjaCBhIGl0ZW0KICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnU2VhcmNoJyApIHsKICAgICAgICAkSGVhZGVyVGl0bGUgPSAnU2VhcmNoJzsKICAgICAgICAkSGVhZGVyICAgICAgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkN1c3RvbWVySGVhZGVyKAogICAgICAgICAgICBUeXBlICA9PiAkSGVhZGVyVHlwZSwKICAgICAgICAgICAgVGl0bGUgPT4gJEhlYWRlclRpdGxlLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPkdldEl0ZW1TZWFyY2goKTsKICAgICAgICAkQ29udGVudCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0ZBUScsCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiB7ICVGcm9udGVuZCwgJUdldFBhcmFtIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyByc3MKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAncnNzJyApIHsKICAgICAgICBteSAkVHlwZSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1R5cGUnICkgfHwgJ0NoYW5nZWQnOwogICAgICAgIG15ICRTdGF0ZXMgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPlN0YXRlVHlwZUxpc3QoCiAgICAgICAgICAgIFR5cGVzID0+IFsncHVibGljJ10sCiAgICAgICAgKTsKCiAgICAgICAgbXkgQElEczsKICAgICAgICBpZiAoICRUeXBlIGVxICdUb3AxMCcgKSB7CgogICAgICAgICAgICAjIGdldCB0aGUgdG9wIDEwIGFydGljbGVzCiAgICAgICAgICAgIG15ICRUb3AxMEl0ZW1JRHNSZWYgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUVRvcDEwR2V0KAogICAgICAgICAgICAgICAgSW50ZXJmYWNlID0+ICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSwKICAgICAgICAgICAgICAgIExpbWl0ICAgICA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpFeHBsb3Jlcjo6VG9wMTA6OkxpbWl0JyksCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIEBJRHMgPSBtYXAgeyAkXy0+e0l0ZW1JRH0gfSBAeyRUb3AxMEl0ZW1JRHNSZWZ9OwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgQElEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgICAgICAgICAgICAgU3RhdGVzICAgID0+ICRTdGF0ZXMsCiAgICAgICAgICAgICAgICBPcmRlciAgICAgPT4gJFR5cGUsCiAgICAgICAgICAgICAgICBTb3J0ICAgICAgPT4gJ2Rvd24nLAogICAgICAgICAgICAgICAgSW50ZXJmYWNlID0+ICRTZWxmLT57SW50ZXJmYWNlfXtOYW1lfSwKICAgICAgICAgICAgICAgIExpbWl0ICAgICA9PiAyMCwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZ2VuZXJhdGUgcnNzIGZlZWQKICAgICAgICB1c2UgWE1MOjpSU1M6OlNpbXBsZUdlbjsKICAgICAgICByc3NfbmV3KCAiaHR0cDovLyIgLiAkRU5We0hUVFBfSE9TVH0gKTsKICAgICAgICBteSAkVGl0bGUgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnUHJvZHVjdE5hbWUnKSAuICcgRkFRJzsKICAgICAgICByc3NfdGl0bGUoJFRpdGxlKTsKCiAgICAgICAgZm9yIG15ICRJdGVtSUQgKEBJRHMpIHsKICAgICAgICAgICAgbXkgJUFydGljbGUgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICAgICAgICAgIEl0ZW1JRCA9PiAkSXRlbUlELAogICAgICAgICAgICApOwogICAgICAgICAgICBteSAkUHJldmlldyA9ICcnOwogICAgICAgICAgICBmb3IgbXkgJENvdW50ICggMSAuLiAyICkgewogICAgICAgICAgICAgICAgaWYgKCAkQXJ0aWNsZXsiRmllbGQkQ291bnQifSApIHsKICAgICAgICAgICAgICAgICAgICAkUHJldmlldyAuPSAkQXJ0aWNsZXsiRmllbGQkQ291bnQifTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyByZW1vdmUgaHRtbCB0YWdzCiAgICAgICAgICAgICRQcmV2aWV3ID1+IHMvXDwuKz9cPi8vZ3M7CgogICAgICAgICAgICAjIHJlcGxhY2UgIiAgIiB3aXRoICIgIiBzcGFjZQogICAgICAgICAgICAkUHJldmlldyA9fiBzLyAgLyAvbWc7CgogICAgICAgICAgICAjIHJlZHVjZSBzaXplIG9mIHByZXZpZXcKICAgICAgICAgICAgJFByZXZpZXcgPX4gcy9eKC57ODB9KS4qJC8kMVxbXC5cLlxdL2dzOwoKICAgICAgICAgICAgcnNzX2l0ZW0oCiAgICAgICAgICAgICAgICAiaHR0cDovLyRFTlZ7SFRUUF9IT1NUfSRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e0Jhc2VsaW5rfUFjdGlvbj0kU2VsZi0+e0FjdGlvbn0mSXRlbUlEPSRJdGVtSUQiLAogICAgICAgICAgICAgICAgJEFydGljbGV7VGl0bGV9LAogICAgICAgICAgICAgICAgJFByZXZpZXcsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIG15ICRPdXRwdXQgPSByc3NfYXNfc3RyaW5nKCk7CgogICAgICAgIGlmICggISRPdXRwdXQgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIkNhbid0IGNyZWF0ZSBSU1MgZmlsZSEiICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkF0dGFjaG1lbnQoCiAgICAgICAgICAgIENvbnRlbnQgICAgID0+ICRPdXRwdXQsCiAgICAgICAgICAgIENvbnRlbnRUeXBlID0+ICd0ZXh0L3htbCcsCiAgICAgICAgICAgIFR5cGUgICAgICAgID0+ICdpbmxpbmUnLAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgZG93bmxvYWQgaXRlbQogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdEb3dubG9hZCcgKSB7CgogICAgICAgICMgZ2V0IHBhcmFtCiAgICAgICAgbXkgJEl0ZW1JRCA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0l0ZW1JRCcgKTsKICAgICAgICBteSAkRmlsZUlEID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnRmlsZUlEJyApOwoKICAgICAgICAjIGRiIGFjdGlvbgogICAgICAgIG15ICVJdGVtRGF0YSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KCBJdGVtSUQgPT4gJEl0ZW1JRCApOwogICAgICAgIGlmICggISVJdGVtRGF0YSApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RmF0YWxFcnJvciggTWVzc2FnZSA9PiAiTm8gRkFRIGZvdW5kISIgKTsKICAgICAgICB9CiAgICAgICAgaWYgKCAkSXRlbURhdGF7U3RhdGVUeXBlTmFtZX0gZXEgJ3B1YmxpYycgKSB7CiAgICAgICAgICAgIG15ICVGaWxlID0gJFNlbGYtPntGQVFPYmplY3R9LT5BdHRhY2htZW50R2V0KAogICAgICAgICAgICAgICAgSXRlbUlEID0+ICRJdGVtSUQsCiAgICAgICAgICAgICAgICBGaWxlSUQgPT4gJEZpbGVJRCwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCAhJUZpbGUgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJObyBGaWxlIGZvdW5kISIgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5BdHRhY2htZW50KCVGaWxlKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIlBlcm1pc3Npb24gZGVuaWVkISIgKTsKICAgICAgICB9CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgaXRlbSBwcmludAogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdQcmludCcgJiYgJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnSXRlbUlEJyApICkgewogICAgICAgICRIZWFkZXIgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPlByaW50SGVhZGVyKAogICAgICAgICAgICBUaXRsZSA9PiAkU2VsZi0+e0l0ZW1EYXRhfXtTdWJqZWN0fSwKICAgICAgICApOwogICAgICAgICRTZWxmLT5HZXRJdGVtUHJpbnQoKTsKICAgICAgICAkQ29udGVudCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0ZBUScsCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiB7ICVGcm9udGVuZCwgJUdldFBhcmFtIH0sCiAgICAgICAgKTsKICAgICAgICAkRm9vdGVyID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5QcmludEZvb3RlcigpOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICAjIGl0ZW0gdmlldwogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgIGVsc2lmICggJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnSXRlbUlEJyApICkgewogICAgICAgICRTZWxmLT5HZXRJdGVtVmlldygpOwogICAgICAgICRIZWFkZXJUaXRsZSA9ICRTZWxmLT57SXRlbURhdGF9e051bWJlcn07CiAgICAgICAgJEhlYWRlciAgICAgID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5DdXN0b21lckhlYWRlcigKICAgICAgICAgICAgVHlwZSAgPT4gJEhlYWRlclR5cGUsCiAgICAgICAgICAgIFRpdGxlID0+ICRIZWFkZXJUaXRsZSwKICAgICAgICApOwogICAgICAgICRDb250ZW50ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnRkFRJywKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IHsgJUZyb250ZW5kLCAlR2V0UGFyYW0gfSwKICAgICAgICApOwoKICAgICAgICAjIGxvZyBhY2Nlc3MgdG8gdGhpcyBGQVEgaXRlbQogICAgICAgICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRTG9nQWRkKAogICAgICAgICAgICBJdGVtSUQgICAgPT4gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnSXRlbUlEJyApLAogICAgICAgICAgICBJbnRlcmZhY2UgPT4gJFNlbGYtPntJbnRlcmZhY2V9e05hbWV9LAogICAgICAgICk7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgcmVkaXJlY3QgdG8gZXhwbG9yZXIKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBlbHNlIHsKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCggT1AgPT4gIkFjdGlvbj0kU2VsZi0+e0FjdGlvbn0mU3ViYWN0aW9uPUV4cGxvcmVyIiApOwogICAgfQoKICAgICMgREVGQVVMVCBPVVRQVVQKICAgICREZWZhdWx0SGVhZGVyID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5DdXN0b21lckhlYWRlcigKICAgICAgICBUeXBlICA9PiAkSGVhZGVyVHlwZSwKICAgICAgICBUaXRsZSA9PiAkSGVhZGVyVGl0bGUsCiAgICApOwoKICAgICREZWZhdWx0Q29udGVudCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnUHVibGljRkFRJywKICAgICAgICBEYXRhICAgICAgICAgPT4geyAlRnJvbnRlbmQsICVHZXRQYXJhbSB9LAogICAgKTsKICAgICREZWZhdWx0Rm9vdGVyID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5DdXN0b21lckZvb3RlciggVHlwZSA9PiAkRm9vdGVyVHlwZSApOwoKICAgICMgT1VUUFVUCiAgICAkT3V0cHV0IC49ICRIZWFkZXIgfHwgJERlZmF1bHRIZWFkZXI7CiAgICBpZiAoICEkTm90aWZ5ICkgewogICAgICAgIGZvciBteSAkTm90aWZ5ICggQHsgJFNlbGYtPntOb3RpZnl9IH0gKSB7CiAgICAgICAgICAgICRPdXRwdXQgLj0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Ob3RpZnkoCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAkTm90aWZ5LT5bMF0sCiAgICAgICAgICAgICAgICBJbmZvICAgICA9PiAkTm90aWZ5LT5bMV0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQogICAgJE91dHB1dCAuPSAkQ29udGVudCB8fCAkRGVmYXVsdENvbnRlbnQ7CiAgICAkT3V0cHV0IC49ICRGb290ZXIgIHx8ICREZWZhdWx0Rm9vdGVyOwoKICAgIHJldHVybiAkT3V0cHV0Owp9CgoxOwo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpIZWFkZXJNZXRhRkFRU2VhcmNoOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGdldCBuZWVkZWQgb2JqZWN0cwogICAgZm9yIChxdyhDb25maWdPYmplY3QgTG9nT2JqZWN0IExheW91dE9iamVjdCBUaW1lT2JqZWN0KSkgewogICAgICAgICRTZWxmLT57JF99ID0gJFBhcmFteyRffSB8fCBkaWUgIkdvdCBubyAkXyEiOwogICAgfQoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRTZXNzaW9uID0gJyc7CiAgICBpZiAoICEkU2VsZi0+e0xheW91dE9iamVjdH0tPntTZXNzaW9uSURDb29raWV9ICkgewogICAgICAgICRTZXNzaW9uID0gJyYnIC4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT57U2Vzc2lvbk5hbWV9IC4gJz0nCiAgICAgICAgICAgIC4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT57U2Vzc2lvbklEfTsKICAgIH0KCiAgICBteSAkRnVsbHRleHQgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPntMYW5ndWFnZU9iamVjdH0tPkdldCgnRnVsbHRleHQnKTsKICAgIG15ICRUaXRsZSAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdQcm9kdWN0TmFtZScpOwogICAgJFRpdGxlIC49ICcgKCcgLiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpGQVFIb29rJykgLiAnICYgJyAuICRGdWxsdGV4dCAuICcpJzsKCiAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ01ldGFMaW5rJywKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgUmVsICAgPT4gJ3NlYXJjaCcsCiAgICAgICAgICAgIFR5cGUgID0+ICdhcHBsaWNhdGlvbi9vcGVuc2VhcmNoZGVzY3JpcHRpb24reG1sJywKICAgICAgICAgICAgVGl0bGUgPT4gJFRpdGxlLAogICAgICAgICAgICBIcmVmICA9PiAnJEVudnsiQmFzZWxpbmsifUFjdGlvbj0nIC4gJFBhcmFte0NvbmZpZ30tPntBY3Rpb259CiAgICAgICAgICAgICAgICAuICc7U3ViYWN0aW9uPU9wZW5TZWFyY2hEZXNjcmlwdGlvbicgLiAkU2Vzc2lvbiwKICAgICAgICB9LAogICAgKTsKICAgIHJldHVybiAxOwp9CgoxOwo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXRGQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpzdWIgQWdlbnRGQVFDYXRlZ29yeUxpc3RPcHRpb24gewoKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJE91dHB1dCAgICAgICAgID0gJyc7CiAgICBteSAkU2l6ZSAgICAgICAgICAgPSBkZWZpbmVkKCAkUGFyYW17U2l6ZX0gKSA/ICJzaXplPSckUGFyYW17U2l6ZX0nIiA6ICcnOwogICAgbXkgJE1heExldmVsICAgICAgID0gZGVmaW5lZCggJFBhcmFte01heExldmVsfSApID8gJFBhcmFte01heExldmVsfSA6IDEwOwogICAgbXkgJFNlbGVjdGVkICAgICAgID0gZGVmaW5lZCggJFBhcmFte1NlbGVjdGVkfSApID8gJFBhcmFte1NlbGVjdGVkfSA6ICcnOwogICAgbXkgJFNlbGVjdGVkSURzICAgID0gJFBhcmFte1NlbGVjdGVkSURzfSB8fCBbXTsKICAgIG15ICRTZWxlY3RlZElEICAgICA9IGRlZmluZWQoICRQYXJhbXtTZWxlY3RlZElEfSApID8gJFBhcmFte1NlbGVjdGVkSUR9IDogJyc7CiAgICBteSAkTXVsdGlwbGUgICAgICAgPSAkUGFyYW17TXVsdGlwbGV9ID8gJ211bHRpcGxlJyA6ICcnOwogICAgbXkgJE9uQ2hhbmdlU3VibWl0ID0gZGVmaW5lZCggJFBhcmFte09uQ2hhbmdlU3VibWl0fSApID8gJFBhcmFte09uQ2hhbmdlU3VibWl0fSA6ICcnOwogICAgaWYgKCRPbkNoYW5nZVN1Ym1pdCkgewogICAgICAgICRPbkNoYW5nZVN1Ym1pdCA9ICIgb25jaGFuZ2U9XCJzdWJtaXQoKVwiIjsKICAgIH0KICAgIGlmICggJFBhcmFte09uQ2hhbmdlfSApIHsKICAgICAgICAkT25DaGFuZ2VTdWJtaXQgPSAiIG9uY2hhbmdlPVwiJFBhcmFte09uQ2hhbmdlfVwiIjsKICAgIH0KCiAgICBpZiAoIGRlZmluZWQoICRQYXJhbXtTZWxlY3RlZElEfSApICkgewogICAgICAgICRTZWxlY3RlZElEcyA9IFskU2VsZWN0ZWRJRF07CiAgICB9CgogICAgbXkgJUNhdGVnb3J5TGlzdCA9ICV7ICRQYXJhbXtDYXRlZ29yeUxpc3R9IH07CgogICAgIyBidWlsZCB0cmVlIGxpc3QKICAgICRPdXRwdXQgLj0gJzxzZWxlY3QgbmFtZT0iJyAuICRQYXJhbXtOYW1lfSAuICJcIiAkU2l6ZSAkTXVsdGlwbGUgJE9uQ2hhbmdlU3VibWl0PiI7CgogICAgaWYgKCAkUGFyYW17Um9vdEVsZW1lbnR9ICkgewogICAgICAgICRPdXRwdXQgLj0gJzxvcHRpb24gdmFsdWU9IjAiPi08L29wdGlvbj4nOwogICAgfQoKICAgIGlmICgKICAgICAgICAkUGFyYW17Q2F0ZWdvcnlMaXN0fQogICAgICAgICYmIHJlZiggJFBhcmFte0NhdGVnb3J5TGlzdH0gKSBlcSAnSEFTSCcKICAgICAgICAmJiAleyAkUGFyYW17Q2F0ZWdvcnlMaXN0fSB9CiAgICAgICAgKQogICAgewogICAgICAgICRPdXRwdXQgLj0gJFNlbGYtPkFnZW50RkFRQ2F0ZWdvcnlMaXN0T3B0aW9uRWxlbWVudCgKICAgICAgICAgICAgQ2F0ZWdvcnlMaXN0ID0+IFwlQ2F0ZWdvcnlMaXN0LAogICAgICAgICAgICBMZXZlbENvdW50ZXIgPT4gMCwKICAgICAgICAgICAgUGFyZW50SUQgICAgID0+IDAsCiAgICAgICAgICAgIFNlbGVjdGVkSURzICA9PiAkU2VsZWN0ZWRJRHMsCiAgICAgICAgKTsKICAgIH0KICAgICRPdXRwdXQgLj0gJzwvc2VsZWN0Pic7CgogICAgcmV0dXJuICRPdXRwdXQ7Cn0KCnN1YiBBZ2VudEZBUUNhdGVnb3J5TGlzdE9wdGlvbkVsZW1lbnQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkT3V0cHV0ID0gJyc7CgogICAgbXkgJExldmVsQ291bnRlciA9ICRQYXJhbXtMZXZlbENvdW50ZXJ9IHx8IDA7CiAgICBteSAkUGFyZW50SUQgPSAkUGFyYW17UGFyZW50SUR9OwoKICAgIG15ICVDYXRlZ29yeUxpc3QgICAgICA9ICV7ICRQYXJhbXtDYXRlZ29yeUxpc3R9IH07CiAgICBteSAlQ2F0ZWdvcnlMZXZlbExpc3QgPSAleyAkQ2F0ZWdvcnlMaXN0eyRQYXJlbnRJRH0gfTsKICAgIG15ICVTZWxlY3RlZElEcyAgICAgICA9IG1hcCB7ICRfID0+IDEgfSBAeyAkUGFyYW17U2VsZWN0ZWRJRHN9IH07CgogICAgbXkgQFRlbXBTdWJDYXRlZ29yeUlEcyA9IG1hcCB7ICJMZXZlbDokTGV2ZWxDb3VudGVyIiAuICJQYXJlbnRJRDokUGFyZW50SUQiLCAkXyB9CiAgICAgICAgc29ydCB7ICRDYXRlZ29yeUxldmVsTGlzdHskYX0gY21wICRDYXRlZ29yeUxldmVsTGlzdHskYn0gfQogICAgICAgIGtleXMgJUNhdGVnb3J5TGV2ZWxMaXN0OwoKICAgIFNVQkNBVEVHT1JZSUQ6CiAgICB3aGlsZSAoQFRlbXBTdWJDYXRlZ29yeUlEcykgewoKICAgICAgICAjIGFkZCBsZXZlbCBjb3VudGVyIGlkIHRvIHN1YmNhdGVnb3J5IGFycmF5CiAgICAgICAgaWYgKCAkVGVtcFN1YkNhdGVnb3J5SURzWzBdID1+IG17IExldmVsIDogKCBcZCsgKSBQYXJlbnRJRCA6ICggXGQrICkgfXhtcyApIHsKICAgICAgICAgICAgJExldmVsQ291bnRlciA9ICQxOwogICAgICAgICAgICAkUGFyZW50SUQgICAgID0gJDI7CiAgICAgICAgICAgIHNoaWZ0IEBUZW1wU3ViQ2F0ZWdvcnlJRHM7CiAgICAgICAgfQoKICAgICAgICAjIGdldCBuZXh0IHN1YmNhdGVnb3J5IGlkCiAgICAgICAgbXkgJFN1YkNhdGVnb3J5SUQgPSBzaGlmdCBAVGVtcFN1YkNhdGVnb3J5SURzOwoKICAgICAgICAjIGdldCBuZXcgY2F0ZWdvcnkgbGV2ZWwgbGlzdAogICAgICAgICVDYXRlZ29yeUxldmVsTGlzdCA9ICV7ICRDYXRlZ29yeUxpc3R7JFBhcmVudElEfSB9OwoKICAgICAgICAjIGNyZWF0ZSBvdXRwdXQKICAgICAgICAkT3V0cHV0IC49ICc8b3B0aW9uIHZhbHVlPSInIC4gJFN1YkNhdGVnb3J5SUQgLiAnIic7CiAgICAgICAgaWYgKCAkU2VsZWN0ZWRJRHN7JFN1YkNhdGVnb3J5SUR9ICkgewogICAgICAgICAgICAkT3V0cHV0IC49ICcgc2VsZWN0ZWQnOwogICAgICAgIH0KICAgICAgICAkT3V0cHV0IC49ICc+JzsKICAgICAgICBmb3IgKCBteSAkaSA9IDA7ICRpIDwgJExldmVsQ291bnRlcjsgJGkrKyApIHsKICAgICAgICAgICAgJE91dHB1dCAuPSAnJm5ic3A7Jm5ic3A7JzsKICAgICAgICB9CiAgICAgICAgJE91dHB1dCAuPSAkQ2F0ZWdvcnlMZXZlbExpc3R7JFN1YkNhdGVnb3J5SUR9OwogICAgICAgICRPdXRwdXQgLj0gJzwvb3B0aW9uPic7CgogICAgICAgICMgY2hlY2sgaWYgc3ViY2F0ZWdvcnkgaGFzIG93biBzdWJjYXRlZ29yaWVzCiAgICAgICAgbmV4dCBTVUJDQVRFR09SWUlEIGlmICEkQ2F0ZWdvcnlMaXN0eyRTdWJDYXRlZ29yeUlEfTsKCiAgICAgICAgIyBpbmNyZWFzZSBsZXZlbAogICAgICAgIG15ICROZXh0TGV2ZWwgPSAkTGV2ZWxDb3VudGVyICsgMTsKCiAgICAgICAgIyBnZXQgbmV3IHN1YmNhdGVnb3J5IGlkcwogICAgICAgIG15ICVOZXdDYXRlZ29yeUxldmVsTGlzdCA9ICV7ICRDYXRlZ29yeUxpc3R7JFN1YkNhdGVnb3J5SUR9IH07CiAgICAgICAgbXkgQE5ld1N1YmNhdGVnb3J5SURzID0gbWFwIHsgIkxldmVsOiROZXh0TGV2ZWwiIC4gIlBhcmVudElEOiRTdWJDYXRlZ29yeUlEIiwgJF8gfQogICAgICAgICAgICBzb3J0IHsgJE5ld0NhdGVnb3J5TGV2ZWxMaXN0eyRhfSBjbXAgJE5ld0NhdGVnb3J5TGV2ZWxMaXN0eyRifSB9CiAgICAgICAgICAgIGtleXMgJU5ld0NhdGVnb3J5TGV2ZWxMaXN0OwoKICAgICAgICAjIGFkZCBuZXcgc3ViY2F0ZWdvcnkgaWRzIGF0IGJlZ2lubmluZyBvZiB0ZW1wIGFycmF5CiAgICAgICAgdW5zaGlmdCBAVGVtcFN1YkNhdGVnb3J5SURzLCBATmV3U3ViY2F0ZWdvcnlJRHM7CiAgICB9CgogICAgcmV0dXJuICRPdXRwdXQ7Cn0KCnN1YiBHZXRGQVFJdGVtVm90aW5nUmF0ZUNvbG9yIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17UmF0ZX0gKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5GYXRhbEVycm9yKAogICAgICAgICAgICBNZXNzYWdlID0+ICdOZWVkIHJhdGUhJwogICAgICAgICk7CiAgICB9CiAgICBteSAkQ3NzVG1wICAgICAgICAgICAgID0gJyc7CiAgICBteSAlVm90aW5nUmVzdWx0Q29sb3JzID0gJXsgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6RXhwbG9yZXI6Okl0ZW1MaXN0OjpWb3RpbmdSZXN1bHRDb2xvcnMnKSB9OwogICAgZm9yIG15ICRLZXkgKCBzb3J0KCB7ICRiIDw9PiAkYSB9IGtleXMoJVZvdGluZ1Jlc3VsdENvbG9ycykgKSApIHsKICAgICAgICBpZiAoICRQYXJhbXtSYXRlfSA8PSAkS2V5ICkgewogICAgICAgICAgICAkQ3NzVG1wID0gJFZvdGluZ1Jlc3VsdENvbG9yc3skS2V5fTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gJENzc1RtcDsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpMaW5rT2JqZWN0RkFROwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQ7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgY2hlY2sgbmVlZGVkIG9iamVjdHMKICAgIGZvciBteSAkT2JqZWN0ICgKICAgICAgICBxdyhDb25maWdPYmplY3QgTG9nT2JqZWN0IE1haW5PYmplY3QgREJPYmplY3QgVXNlck9iamVjdCBFbmNvZGVPYmplY3QKICAgICAgICBRdWV1ZU9iamVjdCBHcm91cE9iamVjdCBQYXJhbU9iamVjdCBUaW1lT2JqZWN0IExhbmd1YWdlT2JqZWN0IFVzZXJMYW5ndWFnZSBVc2VySUQpCiAgICAgICAgKQogICAgewogICAgICAgICRTZWxmLT57JE9iamVjdH0gPSAkUGFyYW17JE9iamVjdH0gfHwgZGllICJHb3Qgbm8gJE9iamVjdCEiOwogICAgfQoKICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fSA9IEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQtPm5ldyggJXskU2VsZn0gKTsKCiAgICAjIGRlZmluZSBuZWVkZWQgdmFyaWFibGVzCiAgICAkU2VsZi0+e09iamVjdERhdGF9ID0gewogICAgICAgIE9iamVjdCAgID0+ICdGQVEnLAogICAgICAgIFJlYWxuYW1lID0+ICdGQVEnLAogICAgfTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBUYWJsZUNyZWF0ZUNvbXBsZXggewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte09iamVjdExpbmtMaXN0V2l0aERhdGF9IHx8IHJlZiAkUGFyYW17T2JqZWN0TGlua0xpc3RXaXRoRGF0YX0gbmUgJ0hBU0gnICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBPYmplY3RMaW5rTGlzdFdpdGhEYXRhIScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjb252ZXJ0IHRoZSBsaXN0CiAgICBteSAlTGlua0xpc3Q7CiAgICBmb3IgbXkgJExpbmtUeXBlICgga2V5cyAleyAkUGFyYW17T2JqZWN0TGlua0xpc3RXaXRoRGF0YX0gfSApIHsKCiAgICAgICAgIyBleHRyYWN0IGxpbmsgdHlwZSBMaXN0CiAgICAgICAgbXkgJExpbmtUeXBlTGlzdCA9ICRQYXJhbXtPYmplY3RMaW5rTGlzdFdpdGhEYXRhfS0+eyRMaW5rVHlwZX07CgogICAgICAgIGZvciBteSAkRGlyZWN0aW9uICgga2V5cyAleyRMaW5rVHlwZUxpc3R9ICkgewoKICAgICAgICAgICAgIyBleHRyYWN0IGRpcmVjdGlvbiBsaXN0CiAgICAgICAgICAgIG15ICREaXJlY3Rpb25MaXN0ID0gJFBhcmFte09iamVjdExpbmtMaXN0V2l0aERhdGF9LT57JExpbmtUeXBlfS0+eyREaXJlY3Rpb259OwoKICAgICAgICAgICAgZm9yIG15ICRGQVFJRCAoIGtleXMgJXskRGlyZWN0aW9uTGlzdH0gKSB7CgogICAgICAgICAgICAgICAgJExpbmtMaXN0eyRGQVFJRH0tPntEYXRhfSA9ICREaXJlY3Rpb25MaXN0LT57JEZBUUlEfTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAjIGNyZWF0ZSB0aGUgaXRlbSBsaXN0CiAgICBteSBASXRlbUxpc3Q7CiAgICBmb3IgbXkgJEZBUUlEICggc29ydCB7ICRhIDw9PiAkYiB9IGtleXMgJUxpbmtMaXN0ICkgewoKICAgICAgICAjIGV4dHJhY3QgZmFxIGRhdGEKICAgICAgICBteSAkRkFRID0gJExpbmtMaXN0eyRGQVFJRH0tPntEYXRhfTsKCiAgICAgICAgbXkgQEl0ZW1Db2x1bW5zID0gKAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBUeXBlICAgID0+ICdMaW5rJywKICAgICAgICAgICAgICAgIEtleSAgICAgPT4gJEZBUUlELAogICAgICAgICAgICAgICAgQ29udGVudCA9PiAkRkFRLT57TnVtYmVyfSwKICAgICAgICAgICAgICAgIExpbmsgICAgPT4gJyRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249QWdlbnRGQVEmSXRlbUlEPScgLiAkRkFRSUQsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFR5cGUgICAgICA9PiAnVGV4dCcsCiAgICAgICAgICAgICAgICBDb250ZW50ICAgPT4gJEZBUS0+e1RpdGxlfSwKICAgICAgICAgICAgICAgIE1heExlbmd0aCA9PiA1MCwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgVHlwZSAgICAgID0+ICdUZXh0JywKICAgICAgICAgICAgICAgIENvbnRlbnQgICA9PiAkRkFRLT57U3RhdGV9LAogICAgICAgICAgICAgICAgVHJhbnNsYXRlID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ1RpbWVMb25nJywKICAgICAgICAgICAgICAgIENvbnRlbnQgPT4gJEZBUS0+e0NyZWF0ZWR9LAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgIHB1c2ggQEl0ZW1MaXN0LCBcQEl0ZW1Db2x1bW5zOwogICAgfQoKICAgIHJldHVybiBpZiAhQEl0ZW1MaXN0OwoKICAgICMgZGVmaW5lIHRoZSBibG9jayBkYXRhCiAgICBteSAkRkFRSG9vayA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkZBUUhvb2snKTsKICAgIG15ICVCbG9jayAgID0gKAogICAgICAgIE9iamVjdCAgICA9PiAkU2VsZi0+e09iamVjdERhdGF9LT57T2JqZWN0fSwKICAgICAgICBCbG9ja25hbWUgPT4gJFNlbGYtPntPYmplY3REYXRhfS0+e1JlYWxuYW1lfSwKICAgICAgICBIZWFkbGluZSAgPT4gWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb250ZW50ID0+ICRGQVFIb29rLAogICAgICAgICAgICAgICAgV2lkdGggICA9PiAxMzAsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENvbnRlbnQgPT4gJ1RpdGxlJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQ29udGVudCA9PiAnU3RhdGUnLAogICAgICAgICAgICAgICAgV2lkdGggICA9PiAxMTAsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENvbnRlbnQgPT4gJ0NyZWF0ZWQnLAogICAgICAgICAgICAgICAgV2lkdGggICA9PiAxMzAsCiAgICAgICAgICAgIH0sCiAgICAgICAgXSwKICAgICAgICBJdGVtTGlzdCA9PiBcQEl0ZW1MaXN0LAogICAgKTsKCiAgICByZXR1cm4gKCBcJUJsb2NrICk7Cn0KCnN1YiBUYWJsZUNyZWF0ZVNpbXBsZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17T2JqZWN0TGlua0xpc3RXaXRoRGF0YX0gfHwgcmVmICRQYXJhbXtPYmplY3RMaW5rTGlzdFdpdGhEYXRhfSBuZSAnSEFTSCcgKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIE9iamVjdExpbmtMaXN0V2l0aERhdGEhJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBteSAkRkFRSG9vayA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkZBUUhvb2snKTsKICAgIG15ICVMaW5rT3V0cHV0RGF0YTsKICAgIGZvciBteSAkTGlua1R5cGUgKCBrZXlzICV7ICRQYXJhbXtPYmplY3RMaW5rTGlzdFdpdGhEYXRhfSB9ICkgewoKICAgICAgICAjIGV4dHJhY3QgbGluayB0eXBlIExpc3QKICAgICAgICBteSAkTGlua1R5cGVMaXN0ID0gJFBhcmFte09iamVjdExpbmtMaXN0V2l0aERhdGF9LT57JExpbmtUeXBlfTsKCiAgICAgICAgZm9yIG15ICREaXJlY3Rpb24gKCBrZXlzICV7JExpbmtUeXBlTGlzdH0gKSB7CgogICAgICAgICAgICAjIGV4dHJhY3QgZGlyZWN0aW9uIGxpc3QKICAgICAgICAgICAgbXkgJERpcmVjdGlvbkxpc3QgPSAkUGFyYW17T2JqZWN0TGlua0xpc3RXaXRoRGF0YX0tPnskTGlua1R5cGV9LT57JERpcmVjdGlvbn07CgogICAgICAgICAgICBteSBASXRlbUxpc3Q7CiAgICAgICAgICAgIGZvciBteSAkRkFRSUQgKCBzb3J0IHsgJGEgPD0+ICRiIH0ga2V5cyAleyREaXJlY3Rpb25MaXN0fSApIHsKCiAgICAgICAgICAgICAgICAjIGV4dHJhY3QgdGlja3QgZGF0YQogICAgICAgICAgICAgICAgbXkgJEZBUSA9ICREaXJlY3Rpb25MaXN0LT57JEZBUUlEfTsKCiAgICAgICAgICAgICAgICAjIGRlZmluZSBpdGVtIGRhdGEKICAgICAgICAgICAgICAgIG15ICVJdGVtID0gKAogICAgICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ0xpbmsnLAogICAgICAgICAgICAgICAgICAgIENvbnRlbnQgPT4gJ0Y6JyAuICRGQVEtPntOdW1iZXJ9LAogICAgICAgICAgICAgICAgICAgIFRpdGxlICAgPT4gIiRGQVFIb29rJEZBUS0+e051bWJlcn06ICRGQVEtPntUaXRsZX0iLAogICAgICAgICAgICAgICAgICAgIExpbmsgICAgPT4gJyRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249QWdlbnRGQVEmSXRlbUlEPScgLiAkRkFRSUQsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgcHVzaCBASXRlbUxpc3QsIFwlSXRlbTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBhZGQgaXRlbSBsaXN0IHRvIGxpbmsgb3V0cHV0IGRhdGEKICAgICAgICAgICAgJExpbmtPdXRwdXREYXRheyAkTGlua1R5cGUgLiAnOjonIC4gJERpcmVjdGlvbiB9LT57RkFRfSA9IFxASXRlbUxpc3Q7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAlTGlua091dHB1dERhdGE7Cn0KCnN1YiBDb250ZW50U3RyaW5nQ3JlYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGlmICggISRQYXJhbXtDb250ZW50RGF0YX0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIENvbnRlbnREYXRhIScKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICByZXR1cm47Cn0KCnN1YiBTZWxlY3RhYmxlT2JqZWN0TGlzdCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRTZWxlY3RlZDsKICAgIGlmICggJFBhcmFte1NlbGVjdGVkfSAmJiAkUGFyYW17U2VsZWN0ZWR9IGVxICRTZWxmLT57T2JqZWN0RGF0YX0tPntPYmplY3R9ICkgewogICAgICAgICRTZWxlY3RlZCA9IDE7CiAgICB9CgogICAgIyBvYmplY3Qgc2VsZWN0IGxpc3QKICAgIG15IEBPYmplY3RTZWxlY3RMaXN0ID0gKAogICAgICAgIHsKICAgICAgICAgICAgS2V5ICAgICAgPT4gJFNlbGYtPntPYmplY3REYXRhfS0+e09iamVjdH0sCiAgICAgICAgICAgIFZhbHVlICAgID0+ICRTZWxmLT57T2JqZWN0RGF0YX0tPntSZWFsbmFtZX0sCiAgICAgICAgICAgIFNlbGVjdGVkID0+ICRTZWxlY3RlZCwKICAgICAgICB9LAogICAgKTsKCiAgICByZXR1cm4gQE9iamVjdFNlbGVjdExpc3Q7Cn0KCnN1YiBTZWFyY2hPcHRpb25MaXN0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBzZWFyY2ggb3B0aW9uIGxpc3QKICAgIG15ICRGQVFIb29rICAgICAgICAgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6RkFRSG9vaycpOwogICAgbXkgQFNlYXJjaE9wdGlvbkxpc3QgPSAoCiAgICAgICAgewogICAgICAgICAgICBLZXkgID0+ICdOdW1iZXInLAogICAgICAgICAgICBOYW1lID0+ICRGQVFIb29rLAogICAgICAgICAgICBUeXBlID0+ICdUZXh0JywKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgS2V5ICA9PiAnVGl0bGUnLAogICAgICAgICAgICBOYW1lID0+ICdUaXRsZScsCiAgICAgICAgICAgIFR5cGUgPT4gJ1RleHQnLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBLZXkgID0+ICdXaGF0JywKICAgICAgICAgICAgTmFtZSA9PiAnRnVsbHRleHQnLAogICAgICAgICAgICBUeXBlID0+ICdUZXh0JywKICAgICAgICB9LAogICAgKTsKCiAgICAjIGFkZCBmb3Jta2V5CiAgICBmb3IgbXkgJFJvdyAoQFNlYXJjaE9wdGlvbkxpc3QpIHsKICAgICAgICAkUm93LT57Rm9ybUtleX0gPSAnU0VBUkNIOjonIC4gJFJvdy0+e0tleX07CiAgICB9CgogICAgIyBhZGQgZm9ybSBkYXRhIGFuZCBpbnB1dCBzdHJpbmcKICAgIFJPVzoKICAgIGZvciBteSAkUm93IChAU2VhcmNoT3B0aW9uTGlzdCkgewoKICAgICAgICAjIHByZXBhcmUgdGV4dCBpbnB1dCBmaWVsZHMKICAgICAgICBpZiAoICRSb3ctPntUeXBlfSBlcSAnVGV4dCcgKSB7CgogICAgICAgICAgICAjIGdldCBmb3JtIGRhdGEKICAgICAgICAgICAgJFJvdy0+e0Zvcm1EYXRhfSA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJFJvdy0+e0Zvcm1LZXl9ICk7CgogICAgICAgICAgICAjIHBhcnNlIHRoZSBpbnB1dCB0ZXh0IGJsb2NrCiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdJbnB1dFRleHQnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgS2V5ICAgPT4gJFJvdy0+e0Zvcm1LZXl9LAogICAgICAgICAgICAgICAgICAgIFZhbHVlID0+ICRSb3ctPntGb3JtRGF0YX0gfHwgJycsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBhZGQgdGhlIGlucHV0IHN0cmluZwogICAgICAgICAgICAkUm93LT57SW5wdXRTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICAgICAgVGVtcGxhdGVGaWxlID0+ICdMaW5rT2JqZWN0JywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG5leHQgUk9XOwogICAgICAgIH0KCiAgICAgICAgIyBwcmVwYXJlIGxpc3QgYm94ZXMKICAgICAgICBpZiAoICRSb3ctPntUeXBlfSBlcSAnTGlzdCcgKSB7CgogICAgICAgICAgICAjIGdldCBmb3JtIGRhdGEKICAgICAgICAgICAgbXkgQEZvcm1EYXRhID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldEFycmF5KCBQYXJhbSA9PiAkUm93LT57Rm9ybUtleX0gKTsKICAgICAgICAgICAgJFJvdy0+e0Zvcm1EYXRhfSA9IFxARm9ybURhdGE7CgogICAgICAgICAgICBteSAlTGlzdERhdGE7CiAgICAgICAgICAgIGlmICggJFJvdy0+e0tleX0gZXEgJ1N0YXRlSURzJyApIHsKCiAgICAgICAgICAgICAgICAjIGdldCBzdGF0ZSBsaXN0CiAgICAgICAgICAgICAgICAlTGlzdERhdGEgPSAkU2VsZi0+e1N0YXRlT2JqZWN0fS0+U3RhdGVMaXN0KAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGFkZCB0aGUgaW5wdXQgc3RyaW5nCiAgICAgICAgICAgICRSb3ctPntJbnB1dFN0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgICAgIERhdGEgICAgICAgPT4gXCVMaXN0RGF0YSwKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgPT4gJFJvdy0+e0Zvcm1LZXl9LAogICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCA9PiAkUm93LT57Rm9ybURhdGF9LAogICAgICAgICAgICAgICAgU2l6ZSAgICAgICA9PiAzLAogICAgICAgICAgICAgICAgTXVsdGlwbGUgICA9PiAxLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbmV4dCBST1c7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBAU2VhcmNoT3B0aW9uTGlzdDsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6T3V0cHV0OjpIVE1MOjpPdXRwdXRGaWx0ZXJGQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgZ2V0IG5lZWRlZCBvYmplY3RzCiAgICBmb3IgbXkgJE9iamVjdCAocXcoQ29uZmlnT2JqZWN0IE1haW5PYmplY3QgTG9nT2JqZWN0IExheW91dE9iamVjdCkpIHsKICAgICAgICAkU2VsZi0+eyRPYmplY3R9ID0gJFBhcmFteyRPYmplY3R9IHx8IGRpZSAiR290IG5vICRPYmplY3QhIjsKICAgIH0KCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIGRhdGEKICAgIHJldHVybiBpZiAhJFBhcmFte0RhdGF9OwogICAgcmV0dXJuIGlmIHJlZiAkUGFyYW17RGF0YX0gbmUgJ1NDQUxBUic7CiAgICByZXR1cm4gaWYgISR7ICRQYXJhbXtEYXRhfSB9OwogICAgcmV0dXJuIGlmICEkUGFyYW17VGVtcGxhdGVGaWxlfTsKCiAgICAjIGNoZWNrIHBlcm1pc3Npb24KICAgIHJldHVybiBpZiAhJFNlbGYtPntMYXlvdXRPYmplY3R9LT57RW52UmVmfS0+eydVc2VySXNHcm91cFJvW2ZhcV0nfTsKCiAgICAjIGdldCBhbGxvd2VkIHRlbXBsYXRlIG5hbWVzCiAgICBteSAkVmFsaWRUZW1wbGF0ZXMgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRnJvbnRlbmQ6Ok91dHB1dDo6RmlsdGVyRWxlbWVudFByZScpCiAgICAgICAgLT57RkFRfQogICAgICAgIC0+e1RlbXBsYXRlc307CgogICAgIyBjaGVjayB0ZW1wbGF0ZSBuYW1lCiAgICByZXR1cm4gaWYgISRWYWxpZFRlbXBsYXRlcy0+eyAkUGFyYW17VGVtcGxhdGVGaWxlfSB9OwoKICAgICMgYWRkIGphdmFzY3JpcHQgZnVuY3Rpb24KICAgIG15ICRTZWFyY2ggID0gJzwvc2NyaXB0Pic7CiAgICBteSAkUmVwbGFjZSA9IDw8J0VORCc7Cgo8L3NjcmlwdD4KCjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CjwhLS0KZnVuY3Rpb24gRkFRU3VibWl0KCkgewogICAgd2luZG93Lm9wZW4oJycsICdmYXEnLCAndG9vbGJhcj1ubyxsb2NhdGlvbj1ubyxzdGF0dXM9eWVzLHNjcm9sbGJhcnM9eWVzLHJlc2l6YWJsZT15ZXMsd2lkdGg9NzAwLGhlaWdodD01NTAsbGVmdD0xMDAsdG9wPTEwMCcpOwogICAgZG9jdW1lbnQuZmFxLnN1Ym1pdCgpCn0KLy8gLS0+Cjwvc2NyaXB0PgpFTkQKCiAgICAkeyAkUGFyYW17RGF0YX0gfSA9fiBzeyAkU2VhcmNoIH17JFJlcGxhY2V9aXhtczsKCiAgICAjIGFkZCBGQVEgbGluawogICAgbXkgJFNlYXJjaDEgPSAnPCEtLSBbIF0gZHRsOmJsb2NrOlNwZWxsQ2hlY2sgWyBdIC0tPiAuKz8nOwogICAgbXkgJFNlYXJjaDIgPSAnPC90ZD4nOwogICAgJFJlcGxhY2UgPSA8PCdFTkQnOwogICAgJEVudnsiQm94MCJ9PGEgaHJlZj0iIiBvbmNsaWNrPSJGQVFTdWJtaXQoKTsgcmV0dXJuIGZhbHNlOyIgb25tb3VzZW92ZXI9IndpbmRvdy5zdGF0dXM9JyRKU1RleHR7IkZBUSJ9JzsgcmV0dXJuIHRydWU7IiBvbm1vdXNlb3V0PSJ3aW5kb3cuc3RhdHVzPScnOyI+PGltZyBib3JkZXI9IjAiIHNyYz0iJEVudnsiSW1hZ2VzIn1oZWxwLXNtYWxsLnBuZyI+JFRleHR7IkZBUSJ9PC9hPiRFbnZ7IkJveDEifQogICAgICAgICAgICAgICAgICA8L3RkPgpFTkQKCiAgICAkeyAkUGFyYW17RGF0YX0gfSA9fiBzeyAoJFNlYXJjaDEpICRTZWFyY2gyIH17JDEkUmVwbGFjZX1peG1zOwoKICAgICMgYWRkIEZBUSBmb3JtCiAgICAkU2VhcmNoICA9ICc8Zm9ybSBbXjw+XSsgdGFyZ2V0PSJzcGVsbGluZyI+IC4rPyA8L2Zvcm0+JzsKICAgICRSZXBsYWNlID0gPDwnRU5EJzsKCiAgICAgIDxmb3JtIGFjdGlvbj0iJEVudnsiQ0dJSGFuZGxlIn0iIG1ldGhvZD0icG9zdCIgbmFtZT0iZmFxIiB0YXJnZXQ9ImZhcSI+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iQWdlbnRGQVEiLz4KICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJOYXYiIHZhbHVlPSJOb25lIi8+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQm9keSIgdmFsdWU9IiIvPgogICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmplY3QiIHZhbHVlPSIiLz4KICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJXaGF0IiB2YWx1ZT0iIi8+CiAgICAgIDwvZm9ybT4KRU5ECgogICAgJHsgJFBhcmFte0RhdGF9IH0gPX4gc3sgKCRTZWFyY2gpIH17JDEkUmVwbGFjZX1peG1zOwoKICAgIHJldHVybiAxOwp9CgoxOwo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgo8IS0tIGR0bDpibG9jazpXWVNJV1lHRWRpdG9yIC0tPgokSW5jbHVkZXsiUmljaFRleHRFZGl0b3JGQVEifQo8IS0tIGR0bDpibG9jazpXWVNJV1lHRWRpdG9yIC0tPgoKPCEtLSBkdGw6YmxvY2s6VmlldyAtLT4KPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICA8dHI+CiAgICAgICAgPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJtYWluaGVhZCI+CiAgICAgICAgICAgICRFbnZ7IkJveDAifSRUZXh0eyJWaWV3In06ICRDb25maWd7IkZBUTo6RkFRSG9vayJ9ICRRRGF0YXsiTnVtYmVyIn0kRW52eyJCb3gxIn0KICAgICAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgICA8dGQgY2xhc3M9Im1lbnUiPgogICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JkNhdGVnb3J5SUQ9JERhdGF7IkNhdGVnb3J5SUQifSI+JFRleHR7IkJhY2sifTwvYT4gLQo8IS0tIGR0bDpibG9jazpGQVFJdGVtVmlld0xpbmtVcGRhdGUgLS0+CiAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPVVwZGF0ZSZDYXRlZ29yeUlEPSREYXRheyJDYXRlZ29yeUlEIn0mSXRlbUlEPSREYXRheyJJdGVtSUQifSI+JFRleHR7IkVkaXQifTwvYT4gLQo8IS0tIGR0bDpibG9jazpGQVFJdGVtVmlld0xpbmtVcGRhdGUgLS0+CiAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPUhpc3RvcnkmQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Jkl0ZW1JRD0kRGF0YXsiSXRlbUlEIn0iPiRUZXh0eyJIaXN0b3J5In08L2E+IC0KICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249UHJpbnQmQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Jkl0ZW1JRD0kRGF0YXsiSXRlbUlEIn0iIHRhcmdldD0icHJpbnQiPiRUZXh0eyJQcmludCJ9PC9hPgo8IS0tIGR0bDpibG9jazpGQVFJdGVtVmlld0xpbmtEZWxldGUgLS0+CiAgICAgICAgICAgIC0gPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj1BZ2VudExpbmtPYmplY3QmU291cmNlT2JqZWN0PUZBUSZDYXRlZ29yeUlEPSREYXRheyJDYXRlZ29yeUlEIn0mU291cmNlS2V5PSREYXRheyJJdGVtSUQifSI+JFRleHR7IkxpbmsifTwvYT4gLQogICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1EZWxldGUmQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Jkl0ZW1JRD0kRGF0YXsiSXRlbUlEIn0iPiRUZXh0eyJEZWxldGUifTwvYT4KPCEtLSBkdGw6YmxvY2s6RkFRSXRlbVZpZXdMaW5rRGVsZXRlIC0tPgogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkIGFsaWduPSJyaWdodCIgY2xhc3M9Im1lbnUiPgoKICAgICAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9Ijc1JSIgY2xhc3M9Im1haW5ib2R5Ij4KCgo8IS0tIGR0bDpibG9jazpGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50IC0tPgogICAgICAgICAgICAkQ29uZmlneyJGQVE6OkV4cGxvcmVyOjpQYXRoOjpTZXBlcmF0b3IifQogICAgICAgICAgICA8Yj4KICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4KICAgICAgICAgICAgICAgICRRRGF0YXsiTmFtZSJ9CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9iPgo8IS0tIGR0bDpibG9jazpGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50IC0tPgoKPCEtLSBkdGw6YmxvY2s6RkFRUGF0aEl0ZW1FbGVtZW50IC0tPgogICAgICAgICAgICAkQ29uZmlneyJGQVE6OkV4cGxvcmVyOjpQYXRoOjpTZXBlcmF0b3IifQogICAgICAgICAgICA8Yj4KICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZDYXRlZ29yeUlEPSRRRGF0YXsiQ2F0ZWdvcnlJRCJ9Jkl0ZW1JRD0kUURhdGF7Ikl0ZW1JRCJ9Ij4KICAgICAgICAgICAgICAgICRRRGF0YXsiVGl0bGUifQogICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvYj4KPCEtLSBkdGw6YmxvY2s6RkFRUGF0aEl0ZW1FbGVtZW50IC0tPgoKCiAgICAgICAgICAgIDxoMT4kUURhdGF7IlRpdGxlIn08L2gxPgoKICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iNCI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJjb250ZW50aGVhZCI+JFRleHR7Ik9wdGlvbnMifTwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgo8IS0tIGR0bDpibG9jazpGQVFJdGVtVmlld0F0dGFjaG1lbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5IiB2YWxpZ249InRvcCI+JFRleHR7IkF0dGFjaG1lbnQifTo8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CjwhLS0gZHRsOmJsb2NrOkZBUUl0ZW1WaWV3QXR0YWNobWVudFJvdyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPURvd25sb2FkJkl0ZW1JRD0kUURhdGF7Ikl0ZW1JRCJ9JkZpbGVJRD0kUURhdGF7IkZpbGVJRCJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRRRGF0YXsiRmlsZW5hbWUifQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0Ij4mbmJzcDsmbmJzcDsgJFFEYXRheyJGaWxlc2l6ZSJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOkZBUUl0ZW1WaWV3QXR0YWNobWVudFJvdyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6RkFRSXRlbVZpZXdBdHRhY2htZW50IC0tPgo8IS0tIGR0bDpibG9jazpGQVFJdGVtRmllbGQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIyNSUiIGNsYXNzPSJjb250ZW50a2V5IiB2YWxpZ249InRvcCI+JFRleHR7IiREYXRheyJDYXB0aW9uIn0ifTogIDxicj4gPGkgY2xhc3M9InNtYWxsIj4oJFRleHR7IiREYXRheyJTdGF0ZU5hbWUifSJ9KTwvaT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iNzUlIiBjbGFzcz0iY29udGVudHZhbHVlIj4kRGF0YXsiVmFsdWUifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpGQVFJdGVtRmllbGQgLS0+CgogICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0iY29udGVudGhlYWQiPiZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8L3RhYmxlPgoKPCEtLSBkdGw6YmxvY2s6TGlua1RhYmxlQ29tcGxleCAtLT4KICAgICAgICAgICAgPGhyIHNpemU9IjIiPgogICAgICAgICAgICA8YnI+CiAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iOTglIiBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAkRGF0YXsiTGlua1RhYmxlU3RyZyJ9CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGFibGU+CjwhLS0gZHRsOmJsb2NrOkxpbmtUYWJsZUNvbXBsZXggLS0+CgogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkIHdpZHRoPSIzNSUiIGNsYXNzPSJtZW51Ij4KICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iOTUlIj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJDYXRlZ29yeSJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8ZGl2IHRpdGxlPSIkUURhdGF7IkNhdGVnb3J5TmFtZSJ9Ij4kUURhdGF7IkNhdGVnb3J5TmFtZSIsIjI1In08L2Rpdj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJTdGF0ZSJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8ZGl2IHRpdGxlPSIkUURhdGF7IlN0YXRlIn0iPiRRRGF0YXsiU3RhdGUifTwvZGl2PjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7Ikxhbmd1YWdlIn06PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+IDxkaXYgdGl0bGU9IiRRRGF0YXsiTGFuZ3VhZ2UifSI+JFFEYXRheyJMYW5ndWFnZSJ9PC9kaXY+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOlZpZXdBcHByb3ZhbCAtLT4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJBcHByb3ZhbCJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8ZGl2IHRpdGxlPSIkVGV4dHsiJFFEYXRheyJBcHByb3ZhbCJ9In0iPiRUZXh0eyIkUURhdGF7IkFwcHJvdmFsIn0ifTwvZGl2PjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpWaWV3QXBwcm92YWwgLS0+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiUmVzdWx0In06PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9IiREYXRheyJDc3NDb2x1bW5Wb3RpbmdSZXN1bHQifSI+ICRRRGF0YXsiUmVzdWx0In0gJiMzNzs8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJWb3RlcyJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkUURhdGF7IlZvdGVzIn08L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiS2V5d29yZHMifTo8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4KPCEtLSBkdGw6YmxvY2s6S2V5d29yZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPVNlYXJjaCZTdWJtaXQ9eWVzJktleXdvcmQ9JExRRGF0YXsiS2V5d29yZCJ9IiB0aXRsZT0iJFFEYXRheyJLZXl3b3JkIn0iPiRRRGF0YXsiS2V5d29yZCJ9PC9hPgo8IS0tIGR0bDpibG9jazpLZXl3b3JkcyAtLT4KICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQ3JlYXRlZCJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiRUaW1lTG9uZ3siJERhdGF7IkNyZWF0ZWQifSJ9ICgkRGF0YXsiQ3JlYXRlZEJ5TG9naW4ifSk8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJDaGFuZ2VkIn06PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+JFRpbWVMb25neyIkRGF0YXsiQ2hhbmdlZCJ9In0gKCREYXRheyJDaGFuZ2VkQnlMb2dpbiJ9KTwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZD4mbmJzcDs8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD4mbmJzcDs8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KIyBvYmplY3QgbGlua3MKPCEtLSBkdGw6YmxvY2s6TGlua1RhYmxlU2ltcGxlIC0tPgogICAgICAgICAgICAgICAgJERhdGF7IkxpbmtUYWJsZVN0cmcifQo8IS0tIGR0bDpibG9jazpMaW5rVGFibGVTaW1wbGUgLS0+CiAgICAgICAgICAgIDwvdGFibGU+Cgo8IS0tIGR0bDpibG9jazpWb3RlRm9ybSAtLT4KICAgICAgICAgICAgPGgzPiRUZXh0eyIkQ29uZmlneyJGQVE6Okl0ZW06OlZvdGluZzo6UXVlc3Rpb25MYW5nS2V5In0ifTwvaDM+CiAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iJEVudnsiQ0dJSGFuZGxlIn0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0ic3BlbGxpbmciPgogICAgICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KICAgICAgICAgICAgICAgICAgICA8dHI+CjwhLS0gZHRsOmJsb2NrOlZvdGluZ1JhdGVSb3cgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9IlJhdGUiIHZhbHVlPSIkUURhdGF7IlZhbHVlIn0iPjxicj4gJFFEYXRheyJUaXRsZSJ9PC90ZD4KPCEtLSBkdGw6YmxvY2s6Vm90aW5nUmF0ZVJvdyAtLT4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC90YWJsZT4KCiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJidG4iIHZhbHVlPSIkVGV4dHsiU3VibWl0In0iIGNsYXNzPSJidXR0b24iPgoKICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IkFnZW50RkFRIj4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9IlZvdGUiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQ2F0ZWdvcnlJRCIgdmFsdWU9IiRRRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ikl0ZW1JRCIgdmFsdWU9IiRRRGF0YXsiSXRlbUlEIn0iPgogICAgICAgICAgICA8L2Zvcm0+CjwhLS0gZHRsOmJsb2NrOlZvdGVGb3JtIC0tPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpWaWV3IC0tPgoKCgo8IS0tIGR0bDpibG9jazpWaWV3U21hbGwgLS0+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CjwhLS0KCmZ1bmN0aW9uIHVwZGF0ZU1lc3NhZ2UoKQp7CiAgICBpZiAocGFyZW50Lm9wZW5lci5jbG9zZWQpIHsKICAgICAgICBhbGVydCgnJEpTVGV4dHsiVGhlIG1lc3NhZ2UgYmVpbmcgY29tcG9zZWQgaGFzIGJlZW4gY2xvc2VkLiAgRXhpdGluZy4ifScpOwogICAgICAgIHRoaXMuY2xvc2UoKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKCFwYXJlbnQub3BlbmVyLmRvY3VtZW50LmNvbXBvc2UpIHsKICAgICAgICBhbGVydCgnJEpTVGV4dHsiVGhpcyB3aW5kb3cgbXVzdCBiZSBjYWxsZWQgZnJvbSBjb21wb3NlIHdpbmRvdyJ9Jyk7CiAgICAgICAgdGhpcy5jbG9zZSgpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvKiBjb3B5IHN1YmplY3QgKi8KICAgIGlmIChwYXJlbnQub3BlbmVyLmRvY3VtZW50LmNvbXBvc2UuU3ViamVjdC52YWx1ZSA9PSAnJykgewogICAgICBwYXJlbnQub3BlbmVyLmRvY3VtZW50LmNvbXBvc2UuU3ViamVjdC52YWx1ZSA9IGRvY3VtZW50LnNwZWxsaW5nLlRpdGxlLnZhbHVlOwogICAgfQogICAgZWxzZSB7CiAgICAgIHBhcmVudC5vcGVuZXIuZG9jdW1lbnQuY29tcG9zZS5TdWJqZWN0LnZhbHVlICs9ICcgLSAnICsgZG9jdW1lbnQuc3BlbGxpbmcuVGl0bGUudmFsdWU7CiAgICB9CgogICAgLy8gYWRkIEZBUSB0ZXh0IHRvIFdZU0lXWUcgZWRpdG9yIGluIG9wZW5lciB3aW5kb3cKICAgIGlmICggd2luZG93Lm9wZW5lci5GQ0tlZGl0b3JBUEkgJiYgd2luZG93Lm9wZW5lci5GQ0tlZGl0b3JBUEkuR2V0SW5zdGFuY2UoJ1JpY2hUZXh0JykgKSB7CiAgICAgICAgd2luZG93Lm9wZW5lci5GQ0tlZGl0b3JBUEkuR2V0SW5zdGFuY2UoJ1JpY2hUZXh0JykuSW5zZXJ0SHRtbChkb2N1bWVudC5zcGVsbGluZy5Cb2R5LnZhbHVlKTsKICAgICAgICB0aGlzLmNsb3NlKCk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8qIGNyZWF0ZSBzaG9ydCBhbGlhcyAqLwogICAgdmFyIGlucHV0ID0gcGFyZW50Lm9wZW5lci5kb2N1bWVudC5jb21wb3NlLkJvZHk7CgogICAgLyogZm9jdXMgb3JpZyBpbnB1dCBmaWVsZCAqLwogICAgaW5wdXQuZm9jdXMoKTsKCiAgICAvKiBJRSAqLwogICAgaWYgKHR5cGVvZiBkb2N1bWVudC5zZWxlY3Rpb24gIT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICB2YXIgcmFuZ2UgPSBwYXJlbnQub3BlbmVyLmRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpOwogICAgICAgIHZhciBpbnNUZXh0ID0gcmFuZ2UudGV4dDsKICAgICAgICByYW5nZS50ZXh0ID0gZG9jdW1lbnQuc3BlbGxpbmcuQm9keS52YWx1ZSArIGluc1RleHQ7CiAgICAgICAgcmFuZ2UgPSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsKICAgICAgICByYW5nZS5tb3ZlU3RhcnQoJ2NoYXJhY3RlcicsIGRvY3VtZW50LnNwZWxsaW5nLkJvZHkudmFsdWUubGVuZ3RoICsgaW5zVGV4dC5sZW5ndGgpOwogICAgICAgIHJhbmdlLnNlbGVjdCgpOwogICAgfQogICAgLyogZ2Vja28gKi8KICAgIGVsc2UgaWYgKHR5cGVvZiBpbnB1dC5zZWxlY3Rpb25TdGFydCAhPSAndW5kZWZpbmVkJykgewogICAgICAgIHZhciBTdGFydCA9IGlucHV0LnNlbGVjdGlvblN0YXJ0OwogICAgICAgIHZhciBFbmQgPSBpbnB1dC5zZWxlY3Rpb25FbmQ7CiAgICAgICAgLyogc2V0IGZvY3VzIHRvIHN0YXJ0LCBpZiBjdXJzZXIgaXQgbm90IGRlZGljYXRlZCBzZXQgdG8gdGhlIGVuZCAob25seSBkb25lIGF1dG9tYXRpY2FseSBpZiBtb3JlIHRoZW4gNDAwIGNoYXJzIGF2YWlsKSovCiAgICAgICAgaWYgKGlucHV0LnZhbHVlLmxlbmd0aCA+IDQwMCAmJiBFbmQgPT0gaW5wdXQudmFsdWUubGVuZ3RoICYmIFN0YXJ0ID09IGlucHV0LnZhbHVlLmxlbmd0aCkgewogICAgICAgICAgICBTdGFydCA9IDA7CiAgICAgICAgICAgIEVuZCA9IDA7CiAgICAgICAgfQogICAgICAgIHZhciBpbnNUZXh0ID0gaW5wdXQudmFsdWUuc3Vic3RyaW5nKFN0YXJ0LCBFbmQpOwogICAgICAgIGlucHV0LnZhbHVlID0gaW5wdXQudmFsdWUuc3Vic3RyKDAsIFN0YXJ0KSArIGRvY3VtZW50LnNwZWxsaW5nLkJvZHkudmFsdWUgKyBpbnNUZXh0ICsgaW5wdXQudmFsdWUuc3Vic3RyKEVuZCk7CiAgICAgICAgdmFyIHBvczsKICAgICAgICBpZiAoaW5zVGV4dC5sZW5ndGggPT0gMCkgewogICAgICAgICAgICBwb3MgPSBTdGFydCArIGRvY3VtZW50LnNwZWxsaW5nLkJvZHkudmFsdWUubGVuZ3RoOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcG9zID0gU3RhcnQgKyBkb2N1bWVudC5zcGVsbGluZy5Cb2R5LnZhbHVlLmxlbmd0aCArIGluc1RleHQubGVuZ3RoOwogICAgICAgIH0KICAgICAgICBpbnB1dC5zZWxlY3Rpb25TdGFydCA9IHBvczsKICAgICAgICBpbnB1dC5zZWxlY3Rpb25FbmQgPSBwb3M7CiAgICB9CiAgICAvKiBvdGhlciwgaW5zZXJ0IG9uIHRvcCAqLwogICAgZWxzZSB7CiAgICAgICAgcGFyZW50Lm9wZW5lci5kb2N1bWVudC5jb21wb3NlLkJvZHkudmFsdWUgPSBkb2N1bWVudC5zcGVsbGluZy5Cb2R5LnZhbHVlICsgcGFyZW50Lm9wZW5lci5kb2N1bWVudC5jb21wb3NlLkJvZHkudmFsdWU7CiAgICB9CgogICAgdGhpcy5jbG9zZSgpOwp9CgovLy0tPgo8L3NjcmlwdD4KCjxmb3JtIGFjdGlvbj0iJEVudnsiQ0dJSGFuZGxlIn0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0ic3BlbGxpbmciPgoKICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgICAgIDx0cj4KICAgICAgICAgICAgPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJtYWluaGVhZCI+CiAgICAgICAgICAgICAgICAkRW52eyJCb3gwIn0kQ29uZmlneyJGQVE6OkZBUUhvb2sifTogJFFEYXRheyJOdW1iZXIifSRFbnZ7IkJveDEifQogICAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+CiAgICAgICAgPHRyIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CiAgICAgICAgICAgIDx0ZCB3aWR0aD0iMTAwJSIgY2xhc3M9Im1haW5ib2R5Ij4KCgo8IS0tIGR0bDpibG9jazpGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50IC0tPgogICAgICAgICAgICAgICAgJENvbmZpZ3siRkFROjpFeHBsb3Jlcjo6UGF0aDo6U2VwZXJhdG9yIn0KICAgICAgICAgICAgICAgIDxiPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4KICAgICAgICAgICAgICAgICAgICAkUURhdGF7Ik5hbWUifQogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9iPgo8IS0tIGR0bDpibG9jazpGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50IC0tPgoKPCEtLSBkdGw6YmxvY2s6RkFRUGF0aEl0ZW1FbGVtZW50U21hbGwgLS0+CiAgICAgICAgICAgICAgICAkQ29uZmlneyJGQVE6OkV4cGxvcmVyOjpQYXRoOjpTZXBlcmF0b3IifQogICAgICAgICAgICAgICAgPGI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JkNhdGVnb3J5SUQ9JFFEYXRheyJDYXRlZ29yeUlEIn0mSXRlbUlEPSRRRGF0YXsiSXRlbUlEIn0iPgogICAgICAgICAgICAgICAgICAgICRRRGF0YXsiVGl0bGUifQogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9iPgo8IS0tIGR0bDpibG9jazpGQVFQYXRoSXRlbUVsZW1lbnRTbWFsbCAtLT4KCgogICAgICAgICAgICAgICAgPGgxPiRRRGF0YXsiVGl0bGUifTwvaDE+CgogICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIzIj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JENvbmZpZ3siRkFROjpGQVFIb29rIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJFFEYXRheyJOdW1iZXIifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IlRpdGxlIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJFFEYXRheyJUaXRsZSJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQ2F0ZWdvcnkifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkUURhdGF7IkNhdGVnb3J5In08L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJTdGF0ZSJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+ICRRRGF0YXsiU3RhdGUifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7Ikxhbmd1YWdlIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJFFEYXRheyJMYW5ndWFnZSJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiS2V5d29yZHMifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPgo8IS0tIGR0bDpibG9jazpLZXl3b3JkcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPVNlYXJjaCZTdWJtaXQ9eWVzJktleXdvcmQ9JExRRGF0YXsiS2V5d29yZCJ9IiB0aXRsZT0iJFFEYXRheyJLZXl3b3JkIn0iPiRRRGF0YXsiS2V5d29yZCJ9PC9hPgo8IS0tIGR0bDpibG9jazpLZXl3b3JkcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpGQVFJdGVtVmlld0F0dGFjaG1lbnRTbWFsbCAtLT4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IkF0dGFjaG1lbnQifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1Eb3dubG9hZCZJdGVtSUQ9JFFEYXRheyJJdGVtSUQifSI+JFFEYXRheyJGaWxlbmFtZSJ9PC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6RkFRSXRlbVZpZXdBdHRhY2htZW50U21hbGwgLS0+CiAgICAgICAgICAgICAgICAgICAgPHRyIHZhbGlnbj0idG9wIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiUmVzdWx0In06PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSIkRGF0YXsiQ3NzQ29sdW1uVm90aW5nUmVzdWx0In0iPiAkUURhdGF7IlJlc3VsdCJ9ICYjMzc7PC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0ciB2YWxpZ249InRvcCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IlZvdGVzIn06PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkUURhdGF7IlZvdGVzIn08L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PGhyPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlRpdGxlIiB2YWx1ZT0iJFFEYXRheyJUaXRsZSJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkJvZHkiIHZhbHVlPSIkUURhdGF7Ikl0ZW1GaWVsZFZhbHVlc1BsYWluVGV4dCJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICREYXRheyJJdGVtRmllbGRWYWx1ZXMifQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PGhyPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJidXR0b24iIHR5cGU9ImJ1dHRvbiIgb25jbGljaz0idXBkYXRlTWVzc2FnZSgpOyIgdmFsdWU9IiRUZXh0eyJEb25lIn0iPgogICAgICAgICAgICAgICAgPGk+KCRUZXh0eyJSZXR1cm4gdG8gdGhlIGNvbXBvc2Ugc2NyZWVuIn0pPC9pPgoKICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iYnV0dG9uIiB0eXBlPSJidXR0b24iIG9uY2xpY2s9IndpbmRvdy5jbG9zZSgpOyIgdmFsdWU9IiRUZXh0eyJDYW5jZWwifSI+CiAgICAgICAgICAgICAgICA8aT4oJFRleHR7IkRpc2NhcmQgYWxsIGNoYW5nZXMgYW5kIHJldHVybiB0byB0aGUgY29tcG9zZSBzY3JlZW4ifSk8L2k+CgogICAgICAgICAgICAgICAgPGhyPgoKICAgICAgICAgICAgPC90ZD4KICAgICAgICA8L3RyPgogICAgPC90YWJsZT4KPC9mb3JtPgo8IS0tIGR0bDpibG9jazpWaWV3U21hbGwgLS0+CgoKCgo8IS0tIGR0bDpibG9jazpIaXN0b3J5IC0tPgo8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIzIj4KICAgIDx0cj4KICAgICAgICA8dGQgY2xhc3M9Im1haW5oZWFkIj4KICAgICAgICAgICAgJEVudnsiQm94MCJ9JFRleHR7Ikhpc3RvcnkifTogJENvbmZpZ3siRkFROjpGQVFIb29rIn0gJFFEYXRheyJOdW1iZXIifSRFbnZ7IkJveDEifQogICAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICAgIDx0ZCBjbGFzcz0ibWVudSI+CiAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Jkl0ZW1JRD0kRGF0YXsiSXRlbUlEIn0iPiRUZXh0eyJCYWNrIn08L2E+CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkIGNsYXNzPSJtYWluYm9keSI+CiAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgogICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJjb250ZW50aGVhZCI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQWN0aW9uIn08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IlRpbWUifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiVXNlciJ9PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOkhpc3RvcnlSb3cgLS0+CiAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImNvbnRlbnRib2R5Ij4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IiRRRGF0YXsiQ3NzUm93In0iPiRUZXh0eyIkRGF0YXsiTmFtZSJ9In08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iJFFEYXRheyJDc3NSb3cifSI+KCRUaW1lTG9uZ3siJERhdGF7IkNyZWF0ZWQifSJ9KTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4kRGF0YXsiQ3JlYXRlZEJ5In08L3RkPgogICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6SGlzdG9yeVJvdyAtLT4KICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iY29udGVudGZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjMiPiZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpIaXN0b3J5IC0tPgoKCgo8IS0tIGR0bDpibG9jazpBZGQgLS0+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CjwhLS0KZnVuY3Rpb24gc3VibWl0X2NvbXBvc2UoKQp7CiAgICBpZiAoZG9jdW1lbnQuY29tcG9zZS5UaXRsZS52YWx1ZSA9PSAiIikgewogICAgICAgIGFsZXJ0KCckSlNUZXh0eyJBIGFydGljbGUgc2hvdWxkIGhhdmUgYSB0aXRsZSEifScpOwogICAgICAgIGRvY3VtZW50LmNvbXBvc2UuVGl0bGUuZm9jdXMoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KfQovLy0tPgo8L3NjcmlwdD4KCjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgPHRyPgogICAgICAgIDx0ZCBhbGlnbj0ibGVmdCIgY29sc3Bhbj0iMiIgY2xhc3M9Im1haW5oZWFkIj4KICAgICAgICAgICAgJEVudnsiQm94MCJ9JFRleHR7Ik5ldyBGQVEgQXJ0aWNsZSJ9JEVudnsiQm94MSJ9CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkIHdpZHRoPSIxMDAlIiBjbGFzcz0ibWFpbmJvZHkiPgogICAgICAgICAgICA8YnI+CiAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iJEVudnsiQ0dJSGFuZGxlIn0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0iY29tcG9zZSI+CiAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNzAwIiBhbGlnbj0iY2VudGVyIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjQiPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJjb250ZW50aGVhZCI+JFRleHR7Ik9wdGlvbnMifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGJvZHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iJEVudnsiQWN0aW9uIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iQWRkQWN0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ikl0ZW1JRCIgdmFsdWU9IiRRRGF0YXsiSXRlbUlEIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iRm9ybUlEIiB2YWx1ZT0iJFFEYXRheyJGb3JtSUQifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiVGl0bGUifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iVGl0bGUiIHZhbHVlPSIkUURhdGF7IlRpdGxlIn0iIHNpemU9Ijc1IiBtYXhsZW5ndGg9IjEyMCI+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiS2V5d29yZHMifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iS2V5d29yZHMiIHZhbHVlPSIkUURhdGF7IktleXdvcmRzIn0iIHNpemU9Ijc1IiBtYXhsZW5ndGg9IjEyMCI+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIyMCUiIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQ2F0ZWdvcnkifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSI4MCUiIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkRGF0YXsiQ2F0ZWdvcnlPcHRpb24ifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IlN0YXRlIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJERhdGF7IlN0YXRlT3B0aW9uIn08L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJMYW5ndWFnZSJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+ICREYXRheyJMYW5ndWFnZU9wdGlvbiJ9IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6QWRkQXBwcm92YWwgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJBcHByb3ZhbCJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+ICREYXRheyJBcHByb3ZhbE9wdGlvbiJ9IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6QWRkQXBwcm92YWwgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJBdHRhY2htZW50In06PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPjxpbnB1dCBuYW1lPSJmaWxlX3VwbG9hZCIgdHlwZT0iZmlsZSIgc2l6ZT0iNDAiIGNsYXNzPSJmaXhlZCI+Jm5ic3A7PGEgbmFtZT0iYXR0YWNobWVudCI+PC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIj48aHI+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpGQVFJdGVtRmllbGQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSIkUURhdGF7IkNsYXNzIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyIkRGF0YXsiQ2FwdGlvbiJ9In06ICA8YnI+IDxpIGNsYXNzPSJzbWFsbCI+KCRUZXh0eyIkRGF0YXsiU3RhdGVOYW1lIn0ifSk8L2k+IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj48dGV4dGFyZWEgbmFtZT0iJFFEYXRheyJLZXkifSIgaWQ9IiRRRGF0YXsiS2V5In0iIHJvd3M9IjEyIiBjb2xzPSI3NSIgd3JhcD0ib2ZmIj4kRGF0YXsiVmFsdWUifTwvdGV4dGFyZWE+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjIiPjxocj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOkZBUUl0ZW1GaWVsZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGZvb3RlciI+PGlucHV0IGFjY2Vzc2tleT0iZyIgY2xhc3M9ImJ1dHRvbiIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJFRleHR7IlN1Ym1pdCJ9IiBvbmNsaWNrPSJyZXR1cm4gc3VibWl0X2NvbXBvc2UoKTsiPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgPGJyPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgojIGNoZWNrLCBtaW4gb25lIGNhdGVnb3J5IHNob3VsZCBiZSBhY2Nlc3NpYmxlCjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CjwhLS0KCmlmICggIWRvY3VtZW50LmNvbXBvc2UuQ2F0ZWdvcnlJRC5vcHRpb25zWzBdICkgewogICAgYWxlcnQoJyRKU1RleHR7Ik5vIGNhdGVnb3J5IGFjY2Vzc2libGUuIFRvIGNyZWF0ZSBhbiBhcnRpY2xlIHlvdSBuZWVkIGFjY2VzcyB0byBhdCBsZWFzdCBvbmUgY2F0ZWdvcnkuIFBsZWFzZSBjaGVjayB5b3VyIGdyb3VwL2NhdGVnb3J5IHBlcm1pc3Npb24gdW5kZXIgLWNhdGVnb3J5IG1lbnUtISJ9Jyk7Cn0KCi8vLS0+Cjwvc2NyaXB0Pgo8IS0tIGR0bDpibG9jazpBZGQgLS0+CgoKCgo8IS0tIGR0bDpibG9jazpVcGRhdGUgLS0+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CjwhLS0KZnVuY3Rpb24gc3VibWl0X2NvbXBvc2UoKQp7CiAgICBpZiAoZG9jdW1lbnQuY29tcG9zZS5UaXRsZS52YWx1ZSA9PSAiIikgewogICAgICAgIGFsZXJ0KCckSlNUZXh0eyJBIGFydGljbGUgc2hvdWxkIGhhdmUgYSB0aXRsZSEifScpOwogICAgICAgIGRvY3VtZW50LmNvbXBvc2UuVGl0bGUuZm9jdXMoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KfQovLy0tPgo8L3NjcmlwdD4KCgo8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIzIj4KICAgIDx0cj4KICAgICAgICA8dGQgY2xhc3M9Im1haW5oZWFkIj4KICAgICAgICAgICAgJEVudnsiQm94MCJ9JFRleHR7IkVkaXQifTogJENvbmZpZ3siRkFROjpGQVFIb29rIn0gJFFEYXRheyJOdW1iZXIifSRFbnZ7IkJveDEifQogICAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICAgIDx0ZCBjbGFzcz0ibWVudSI+CiAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Jkl0ZW1JRD0kRGF0YXsiSXRlbUlEIn0iIGNsYXNzPSJtZW51aXRlbSI+JFRleHR7IkJhY2sifTwvYT4KICAgICAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgICA8dGQgY2xhc3M9Im1haW5ib2R5Ij4KICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIkRW52eyJDR0lIYW5kbGUifSIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBuYW1lPSJjb21wb3NlIj4KICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI3MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iNCIgYWxpZ249ImNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgY2xhc3M9ImNvbnRlbnRoZWFkIj4kVGV4dHsiT3B0aW9ucyJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Ym9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSIkRW52eyJBY3Rpb24ifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJVcGRhdGVBY3Rpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iSXRlbUlEIiB2YWx1ZT0iJFFEYXRheyJJdGVtSUQifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJGb3JtSUQiIHZhbHVlPSIkUURhdGF7IkZvcm1JRCJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJUaXRsZSJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJUaXRsZSIgdmFsdWU9IiRRRGF0YXsiVGl0bGUifSIgc2l6ZT0iNzUiIG1heGxlbmd0aD0iMTIwIj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJLZXl3b3JkcyJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJLZXl3b3JkcyIgdmFsdWU9IiRRRGF0YXsiS2V5d29yZHMifSIgc2l6ZT0iNzUiIG1heGxlbmd0aD0iMTIwIj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjIwJSIgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJDYXRlZ29yeSJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjgwJSIgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+ICREYXRheyJDYXRlZ29yeU9wdGlvbiJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiU3RhdGUifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkRGF0YXsiU3RhdGVPcHRpb24ifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7Ikxhbmd1YWdlIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJERhdGF7Ikxhbmd1YWdlT3B0aW9uIn0gPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpVcGRhdGVBcHByb3ZhbCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IkFwcHJvdmFsIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJERhdGF7IkFwcHJvdmFsT3B0aW9uIn0gPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpVcGRhdGVBcHByb3ZhbCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IkF0dGFjaG1lbnQifTo8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iNDAwIj4KPCEtLSBkdGw6YmxvY2s6VXBkYXRlQXR0YWNobWVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPURvd25sb2FkJkl0ZW1JRD0kUURhdGF7Ikl0ZW1JRCJ9JkZpbGVJRD0kUURhdGF7IkZpbGVJRCJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkUURhdGF7IkZpbGVuYW1lIn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPiRRRGF0YXsiRmlsZXNpemUifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJidXR0b24iIHR5cGU9InN1Ym1pdCIgbmFtZT0iQXR0YWNobWVudERlbGV0ZSRRRGF0YXsiRmlsZUlEIn0iIHZhbHVlPSIkVGV4dHsiRGVsZXRlIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOlVwZGF0ZUF0dGFjaG1lbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PGlucHV0IG5hbWU9ImZpbGVfdXBsb2FkIiB0eXBlPSJmaWxlIiBzaXplPSI0MCIgY2xhc3M9ImZpeGVkIj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iYnV0dG9uIiB0eXBlPSJzdWJtaXQiIG5hbWU9IkF0dGFjaG1lbnRVcGxvYWQiIHZhbHVlPSIkVGV4dHsiQXR0YWNoIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbmFtZT0iYXR0YWNobWVudCI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PGhyPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6RkFRSXRlbUZpZWxkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iJFFEYXRheyJDbGFzcyJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiJERhdGF7IkNhcHRpb24ifSJ9OiAgPGJyPiA8aSBjbGFzcz0ic21hbGwiPigkVGV4dHsiJERhdGF7IlN0YXRlTmFtZSJ9In0pPC9pPiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+PHRleHRhcmVhIG5hbWU9IiRRRGF0YXsiS2V5In0iIGlkPSIkUURhdGF7IktleSJ9IiByb3dzPSIxMiIgY29scz0iNzUiIHdyYXA9Im9mZiI+JFFEYXRheyJWYWx1ZSJ9PC90ZXh0YXJlYT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PGhyPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6RkFRSXRlbUZpZWxkIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Zm9vdGVyIj48aW5wdXQgYWNjZXNza2V5PSJnIiBjbGFzcz0iYnV0dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSIkVGV4dHsiU3VibWl0In0iIG9uY2xpY2s9InJldHVybiBzdWJtaXRfY29tcG9zZSgpOyI+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgPC9mb3JtPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpVcGRhdGUgLS0+CgoKCjwhLS0gZHRsOmJsb2NrOkRlbGV0ZSAtLT4KPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICA8dHI+CiAgICAgICAgPHRkIGNsYXNzPSJtYWluaGVhZCI+CiAgICAgICAgICAgICRFbnZ7IkJveDAifSRUZXh0eyJEZWxldGUifTogJENvbmZpZ3siQXJ0ZWZhY3Q6OkFydGVmYWN0SG9vayJ9ICRRRGF0YXsiTnVtYmVyIn0kRW52eyJCb3gxIn0KICAgICAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgICA8dGQgY2xhc3M9Im1lbnUiPgogICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JkNhdGVnb3J5SUQ9JERhdGF7IkNhdGVnb3J5SUQifSZJdGVtSUQ9JERhdGF7Ikl0ZW1JRCJ9IiBjbGFzcz0ibWVudWl0ZW0iPiRUZXh0eyJCYWNrIn08L2E+CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkIGNsYXNzPSJtYWluYm9keSI+CiAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjM1MCIgYWxpZ249ImNlbnRlciIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSI0Ij4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgY2xhc3M9ImNvbnRlbnRoZWFkIj4kVGV4dHsiT3B0aW9ucyJ9PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Ym9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIyNSUiIGNsYXNzPSJjb250ZW50a2V5Ij4kQ29uZmlneyJGQVE6OkZBUUhvb2sifTo8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iNzUlIiBjbGFzcz0iY29udGVudHZhbHVlIj4kUURhdGF7Ik51bWJlciJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiVGl0bGUifTo8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4kRGF0YXsiVGl0bGUifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIj4mbmJzcDs8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgT2JqZWN0PyJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0iY29udGVudGZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iJEVudnsiQ0dJSGFuZGxlIn0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSIkRW52eyJBY3Rpb24ifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDYXRlZ29yeUlEIiB2YWx1ZT0iJFFEYXRheyJDYXRlZ29yeUlEIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iSXRlbUlEIiB2YWx1ZT0iJFFEYXRheyJJdGVtSUQifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImJ1dHRvbiIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJFRleHR7Ik5vIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjEwIiBjbGFzcz0iY29udGVudGZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iJEVudnsiQ0dJSGFuZGxlIn0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSIkRW52eyJBY3Rpb24ifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJEZWxldGVBY3Rpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQ2F0ZWdvcnlJRCIgdmFsdWU9IiRRRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ikl0ZW1JRCIgdmFsdWU9IiRRRGF0YXsiSXRlbUlEIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJidXR0b24iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IiRUZXh0eyJZZXMifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgPGJyPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpEZWxldGUgLS0+CgoKCjwhLS0gZHRsOmJsb2NrOlN5c3RlbUhpc3RvcnkgLS0+Cjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgPHRyPgogICAgICAgIDx0ZCBjbGFzcz0ibWFpbmhlYWQiPgogICAgICAgICAgICAkRW52eyJCb3gwIn0kVGV4dHsiU3lzdGVtIEhpc3RvcnkifTogJENvbmZpZ3siRkFROjpGQVFIb29rIn0kRW52eyJCb3gxIn0KICAgICAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgICA8dGQgYWxpZ249ImNlbnRlciIgY2xhc3M9Im1haW5ib2R5Ij4KICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+CiAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImNvbnRlbnRoZWFkIj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRDb25maWd7IkZBUTo6RkFRSG9vayJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJUaXRsZSJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJDYXRlZ29yeSJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJOYW1lIn08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IlRpbWUifTwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpTeXN0ZW1IaXN0b3J5Um93IC0tPgogICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJjb250ZW50Ym9keSI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij48YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9Jkl0ZW1JRD0kUURhdGF7Ikl0ZW1JRCJ9Ij4kUURhdGF7Ik51bWJlciJ9PC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4kUURhdGF7IlN1YmplY3QifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4kUURhdGF7IkNhdGVnb3J5In08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iJFFEYXRheyJDc3NSb3cifSI+JFFEYXRheyJBY3Rpb24ifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4oJFRpbWVMb25neyIkRGF0YXsiQ3JlYXRlZCJ9In0pPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOlN5c3RlbUhpc3RvcnlSb3cgLS0+CiAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImNvbnRlbnRmb290ZXIiPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI1Ij4mbmJzcDs8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L3RkPgogICAgPC90cj4KPC90YWJsZT4KPCEtLSBkdGw6YmxvY2s6U3lzdGVtSGlzdG9yeSAtLT4KCgo8IS0tIGR0bDpibG9jazpMYW5ndWFnZSAtLT4KPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICA8dHI+CiAgICAgICAgPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJtYWluaGVhZCI+CiAgICAgICAgICAgICRFbnZ7IkJveDAifSRUZXh0eyJGQVEgTGFuZ3VhZ2UifSRFbnZ7IkJveDEifQogICAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICAgIDx0ZCB3aWR0aD0iNDAlIiBjbGFzcz0ibWFpbmJvZHkiPgogICAgICAgICAgICA8Zm9ybSBhY3Rpb249IiRFbnZ7IkNHSUhhbmRsZSJ9IiBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iJEVudnsiQWN0aW9uIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iTGFuZ3VhZ2VDaGFuZ2UiPgogICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iNCI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRoZWFkIj4kVGV4dHsiQ2hhbmdlIn08L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRib2R5Ij4kRGF0YXsiTGFuZ3VhZ2VPcHRpb24ifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGZvb3RlciI+PGlucHV0IGNsYXNzPSJidXR0b24iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IiRUZXh0eyJDaGFuZ2UifSI+PC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgPC9mb3JtPgogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkIHdpZHRoPSI2MCUiIGNsYXNzPSJtYWluYm9keSI+CiAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iJEVudnsiQ0dJSGFuZGxlIn0iIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0iY29tcG9zZSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSIkRW52eyJBY3Rpb24ifSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSIkRW52eyJTdWJhY3Rpb24ifUFjdGlvbiI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJJRCIgdmFsdWU9IiRRRGF0YXsiSUQifSI+CiAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSI0Ij4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGhlYWQiPiRUZXh0eyIkRGF0YXsiSGVhZGxpbmUifSJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1MYW5ndWFnZSI+JFRleHR7IiREYXRheyJBZGRMaW5rIn0ifTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Ym9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiTGFuZ3VhZ2UifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iTmFtZSIgdmFsdWU9IiRRRGF0YXsiTmFtZSJ9IiBzaXplPSI1IiBtYXhsZW5ndGg9IjUwIj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRmb290ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJidXR0b24iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IiRUZXh0eyIkRGF0YXsiSGVhZGxpbmUifSJ9IiBvbmNsaWNrPSJyZXR1cm4gc3VibWl0X2NvbXBvc2UoKTsiPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CjwvdGFibGU+CjwhLS0gZHRsOmJsb2NrOkxhbmd1YWdlIC0tPgoKCgo8IS0tIGR0bDpibG9jazpDYXRlZ29yeSAtLT4KPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPCEtLQpmdW5jdGlvbiBzdWJtaXRfY29tcG9zZSgpIHsKICAgIGlmIChkb2N1bWVudC5jb21wb3NlLk5hbWUudmFsdWUgPT0gIiIpIHsKICAgICAgICBhbGVydCgnJEpTVGV4dHsiQSBjYXRlZ29yeSBzaG91bGQgaGF2ZSBhIG5hbWUhIn0nKTsKICAgICAgICBkb2N1bWVudC5jb21wb3NlLk5hbWUuZm9jdXMoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBlbHNlIGlmIChkb2N1bWVudC5jb21wb3NlLkNvbW1lbnQudmFsdWUgPT0gIiIpIHsKICAgICAgICBhbGVydCgnJEpTVGV4dHsiQSBjYXRlZ29yeSBzaG91bGQgaGF2ZSBhIGNvbW1lbnQhIn0nKTsKICAgICAgICBkb2N1bWVudC5jb21wb3NlLkNvbW1lbnQuZm9jdXMoKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBlbHNlIGlmICggZG9jdW1lbnQuY29tcG9zZS5QZXJtaXNzaW9uR3JvdXBzLnNlbGVjdGVkSW5kZXggPT0gLTEgKSB7CiAgICAgICAgYWxlcnQoJyRKU1RleHR7IkEgY2F0ZWdvcnkgbmVlZHMgbWluLiBvbmUgcGVybWlzc2lvbiBncm91cCEifScpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9Ci8vLS0+Cjwvc2NyaXB0Pgo8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIzIj4KICAgIDx0cj4KICAgICAgICA8dGQgYWxpZ249ImxlZnQiIGNvbHNwYW49IjIiIGNsYXNzPSJtYWluaGVhZCI+CiAgICAgICAgICAgICRFbnZ7IkJveDAifSRUZXh0eyJGQVEgQ2F0ZWdvcnkifSRFbnZ7IkJveDEifQogICAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICAgIDx0ZCB3aWR0aD0iNDAlIiBjbGFzcz0ibWFpbmJvZHkiPgogICAgICAgICAgICA8Zm9ybSBhY3Rpb249IiRFbnZ7IkNHSUhhbmRsZSJ9IiBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iJEVudnsiQWN0aW9uIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iQ2F0ZWdvcnlDaGFuZ2UiPgogICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iNCI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRoZWFkIj4kVGV4dHsiQ2hhbmdlIn08L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjQ2JSIgY2xhc3M9ImNvbnRlbnRib2R5Ij4kRGF0YXsiQ2F0ZWdvcnlMb25nT3B0aW9uIn08L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRmb290ZXIiPjxpbnB1dCBjbGFzcz0iYnV0dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSIkVGV4dHsiQ2hhbmdlIn0iPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICA8L3RkPgogICAgICAgIDx0ZCB3aWR0aD0iNjAlIiBjbGFzcz0ibWFpbmJvZHkiPgogICAgICAgICAgICA8Zm9ybSBhY3Rpb249IiRFbnZ7IkNHSUhhbmRsZSJ9IiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9ImNvbXBvc2UiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iJEVudnsiQWN0aW9uIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iJFFEYXRheyJGb3JtU3ViYWN0aW9uIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQ2F0ZWdvcnlJRCIgdmFsdWU9IiRRRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4KICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjQiPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50aGVhZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkVGV4dHsiJERhdGF7IkhlYWRsaW5lIn0ifQo8IS0tIGR0bDpibG9jazpDYXRlZ29yeUFkZExpbmsgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1DYXRlZ29yeSI+JFRleHR7IihDbGljayBoZXJlIHRvIGFkZCkifTwvYT4KPCEtLSBkdGw6YmxvY2s6Q2F0ZWdvcnlBZGRMaW5rIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRib2R5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIyNSUiIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQ2F0ZWdvcnkifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iTmFtZSIgdmFsdWU9IiRRRGF0YXsiTmFtZSJ9IiBzaXplPSIzNSIgbWF4bGVuZ3RoPSI1MCI+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiU3ViQ2F0ZWdvcnlPZiJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRib2R5Ij4kRGF0YXsiQ2F0ZWdvcnlPcHRpb24ifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IkNvbW1lbnQifTo8YnIvPjxpIGNsYXNzPSJzbWFsbCI+KCRUZXh0eyJXaWxsIGJlIHNob3duIGFzIGNvbW1lbnQgaW4gRXhwbG9yZXIuIn0pPC9pPiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJDb21tZW50IiB2YWx1ZT0iJFFEYXRheyJDb21tZW50In0iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjgwIj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJWYWxpZCJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRib2R5Ij4kRGF0YXsiVmFsaWRPcHRpb24ifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IlBlcm1pc3Npb24ifTo8YnIvPjxpIGNsYXNzPSJzbWFsbCI+KCRUZXh0eyJBZ2VudCBncm91cHMgd2hpY2ggY2FuIGFjY2VzcyB0aGlzIGNhdGVnb3J5LiJ9KTwvaT48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiREYXRheyJHcm91cE9wdGlvbiJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Zm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iYnV0dG9uIiB0eXBlPSJzdWJtaXQiIG9uY2xpY2s9InJldHVybiBzdWJtaXRfY29tcG9zZSgpOyIgdmFsdWU9IiRUZXh0eyIkRGF0YXsiSGVhZGxpbmUifSJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgPC9mb3JtPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpDYXRlZ29yeSAtLT4K
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04IiA/Pgo8T3BlblNlYXJjaERlc2NyaXB0aW9uIHhtbG5zPSJodHRwOi8vYTkuY29tLy0vc3BlYy9vcGVuc2VhcmNoLzEuMS8iPgo8U2hvcnROYW1lPiRRdW90ZXsiJENvbmZpZ3siUHJvZHVjdE5hbWUifSJ9ICgkUXVvdGV7IiRDb25maWd7IkZBUTo6RkFRSG9vayJ9In0gJmFtcDsgJFRleHR7IkZ1bGx0ZXh0In0pPC9TaG9ydE5hbWU+CjxEZXNjcmlwdGlvbj4kUXVvdGV7IiRDb25maWd7IlByb2R1Y3ROYW1lIn0ifSAoJFF1b3RleyIkQ29uZmlneyJGQVE6OkZBUUhvb2sifSJ9ICZhbXA7ICRUZXh0eyJGdWxsdGV4dCJ9KTwvRGVzY3JpcHRpb24+CjxJbnB1dEVuY29kaW5nPiRFbnZ7IlVzZXJDaGFyc2V0In08L0lucHV0RW5jb2Rpbmc+CjxVcmwgdHlwZT0idGV4dC9odG1sIiB0ZW1wbGF0ZT0iJENvbmZpZ3siSHR0cFR5cGUifTovLyRFbnZ7IkhUVFBfSE9TVCJ9JEVudnsiQmFzZWxpbmsifUFjdGlvbj1BZ2VudEZBUSZhbXA7U3ViYWN0aW9uPVNlYXJjaCZhbXA7U3VibWl0PXllcyZhbXA7UXVpY2tTZWFyY2g9MSZhbXA7V2hhdD17c2VhcmNoVGVybXN9IiAvPgo8SW1hZ2UgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiB0eXBlPSJpbWFnZS94LWljb24iPiRDb25maWd7Ikh0dHBUeXBlIn06Ly8kRW52eyJIVFRQX0hPU1QifSRFbnZ7IkltYWdlcyJ9cHJvZHVjdC5pY288L0ltYWdlPgo8L09wZW5TZWFyY2hEZXNjcmlwdGlvbj4K
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgo8IS0tIGR0bDpibG9jazpWaWV3IC0tPgo8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIzIj4KICAgIDx0cj4KICAgICAgICA8dGQgY29sc3Bhbj0iMiIgY2xhc3M9Im1haW5oZWFkIj4KICAgICAgICAgICAgJEVudnsiQm94MCJ9JFRleHR7IlZpZXcifTogJENvbmZpZ3siRkFROjpGQVFIb29rIn0gJFFEYXRheyJOdW1iZXIifSRFbnZ7IkJveDEifQogICAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICAgIDx0ZCBjbGFzcz0ibWVudSI+CiAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4kVGV4dHsiQmFjayJ9PC9hPiAtCiAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPVByaW50JkNhdGVnb3J5SUQ9JERhdGF7IkNhdGVnb3J5SUQifSZJdGVtSUQ9JERhdGF7Ikl0ZW1JRCJ9IiB0YXJnZXQ9InByaW50Ij4kVGV4dHsiUHJpbnQifTwvYT4KICAgICAgICA8L3RkPgogICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiIGNsYXNzPSJtZW51Ij4KCiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkIHdpZHRoPSI3NSUiIGNsYXNzPSJtYWluYm9keSI+Cgo8IS0tIGR0bDpibG9jazpGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50IC0tPgogICAgICAgICAgICAkQ29uZmlneyJGQVE6OkV4cGxvcmVyOjpQYXRoOjpTZXBlcmF0b3IifQogICAgICAgICAgICA8Yj4KICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4kUURhdGF7Ik5hbWUifTwvYT4KICAgICAgICAgICAgPC9iPgo8IS0tIGR0bDpibG9jazpGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50IC0tPgoKICAgICAgICAgICAgPGgxPiRRRGF0YXsiVGl0bGUifTwvaDE+CgogICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSI0Ij4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgY2xhc3M9ImNvbnRlbnRoZWFkIj4kVGV4dHsiT3B0aW9ucyJ9PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Ym9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CjwhLS0gZHRsOmJsb2NrOkZBUUl0ZW1WaWV3QXR0YWNobWVudCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiIHZhbGlnbj0idG9wIj4kVGV4dHsiQXR0YWNobWVudCJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KPCEtLSBkdGw6YmxvY2s6RkFRSXRlbVZpZXdBdHRhY2htZW50Um93IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RG93bmxvYWQmSXRlbUlEPSRRRGF0YXsiSXRlbUlEIn0mRmlsZUlEPSRRRGF0YXsiRmlsZUlEIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFFEYXRheyJGaWxlbmFtZSJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPiZuYnNwOyZuYnNwOyAkUURhdGF7IkZpbGVzaXplIn08L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6RkFRSXRlbVZpZXdBdHRhY2htZW50Um93IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpGQVFJdGVtVmlld0F0dGFjaG1lbnQgLS0+CjwhLS0gZHRsOmJsb2NrOkZBUUl0ZW1GaWVsZCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjI1JSIgY2xhc3M9ImNvbnRlbnRrZXkiIHZhbGlnbj0idG9wIj4kVGV4dHsiJERhdGF7IkNhcHRpb24ifSJ9OiAgPGJyPiA8aSBjbGFzcz0ic21hbGwiPigkVGV4dHsiJERhdGF7IlN0YXRlTmFtZSJ9In0pPC9pPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSI3NSUiIGNsYXNzPSJjb250ZW50dmFsdWUiPiREYXRheyJWYWx1ZSJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOkZBUUl0ZW1GaWVsZCAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJjb250ZW50aGVhZCI+Jm5ic3A7PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgIDwvdGQ+CiAgICAgICAgPHRkIHdpZHRoPSIzNSUiIGNsYXNzPSJtZW51Ij4KCiAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMCIgd2lkdGg9Ijk1JSI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQ2F0ZWdvcnkifTo8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gPGRpdiB0aXRsZT0iJFFEYXRheyJDYXRlZ29yeU5hbWUifSI+JFFEYXRheyJDYXRlZ29yeU5hbWUiLCIzMCJ9PC9kaXY+PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiU3RhdGUifTo8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gPGRpdiB0aXRsZT0iJFFEYXRheyJTdGF0ZSJ9Ij4kUURhdGF7IlN0YXRlIn08L2Rpdj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJMYW5ndWFnZSJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiA8ZGl2IHRpdGxlPSIkUURhdGF7Ikxhbmd1YWdlIn0iPiRRRGF0YXsiTGFuZ3VhZ2UifTwvZGl2PjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IlJlc3VsdCJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSIkRGF0YXsiQ3NzQ29sdW1uVm90aW5nUmVzdWx0In0iPiAkUURhdGF7IlJlc3VsdCJ9ICYjMzc7PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiVm90ZXMifTo8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJFFEYXRheyJWb3RlcyJ9PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IktleXdvcmRzIn06PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+CjwhLS0gZHRsOmJsb2NrOktleXdvcmRzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1TZWFyY2gmU3VibWl0PXllcyZLZXl3b3JkPSRMUURhdGF7IktleXdvcmQifSIgdGl0bGU9IiRRRGF0YXsiS2V5d29yZCJ9Ij4kUURhdGF7IktleXdvcmQifTwvYT4KPCEtLSBkdGw6YmxvY2s6S2V5d29yZHMgLS0+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPiZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IkNyZWF0ZWQifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+ICRRdW90ZXsiJFRpbWVMb25neyIkRGF0YXsiQ3JlYXRlZCJ9In0ifTwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IkNoYW5nZWQifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+ICRRdW90ZXsiJFRpbWVMb25neyIkRGF0YXsiQ2hhbmdlZCJ9In0ifTwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgoKICAgICAgICAgICAgPC90YWJsZT4KCjwhLS0gZHRsOmJsb2NrOlZvdGVGb3JtIC0tPgogICAgICAgICAgICA8aDM+JFRleHR7IiRDb25maWd7IkZBUTo6SXRlbTo6Vm90aW5nOjpRdWVzdGlvbkxhbmdLZXkifSJ9PC9oMz4KICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIkRW52eyJDR0lIYW5kbGUifSIgbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBuYW1lPSJzcGVsbGluZyI+CiAgICAgICAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgogICAgICAgICAgICAgICAgICAgIDx0cj4KPCEtLSBkdGw6YmxvY2s6Vm90aW5nUmF0ZVJvdyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iUmF0ZSIgdmFsdWU9IiRRRGF0YXsiVmFsdWUifSI+PGJyPiAkUURhdGF7IlRpdGxlIn08L3RkPgo8IS0tIGR0bDpibG9jazpWb3RpbmdSYXRlUm93IC0tPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8L3RhYmxlPgoKICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImJ0biIgdmFsdWU9IiRUZXh0eyJTdWJtaXQifSIgY2xhc3M9ImJ1dHRvbiI+CgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iJEVudnsiQWN0aW9uIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iVm90ZSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDYXRlZ29yeUlEIiB2YWx1ZT0iJFFEYXRheyJDYXRlZ29yeUlEIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iSXRlbUlEIiB2YWx1ZT0iJFFEYXRheyJJdGVtSUQifSI+CiAgICAgICAgICAgIDwvZm9ybT4KPCEtLSBkdGw6YmxvY2s6Vm90ZUZvcm0gLS0+CgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpWaWV3IC0tPgoKCgoKCgoKCgoKPCEtLSBkdGw6YmxvY2s6UHJpbnQgLS0+Cgo8aDE+JERhdGF7IlRpdGxlIn08L2gxPgoKPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICA8dHI+CiAgICAgICAgPHRkIGNsYXNzPSJtYWluaGVhZCI+CiAgICAgICAgICAgICRDb25maWd7IkZBUTo6RkFRSG9vayJ9OiAkUURhdGF7Ik51bWJlciJ9CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Ym9keSI+CiAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IkNhdGVnb3J5In06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkUXVvdGV7IiREYXRheyJDYXRlZ29yeU5hbWUifSJ9PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiU3RhdGUifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+ICRRdW90ZXsiJERhdGF7IlN0YXRlIn0ifTwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7Ikxhbmd1YWdlIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkUXVvdGV7IiREYXRheyJMYW5ndWFnZSJ9In08L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJLZXl3b3JkcyJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJFF1b3RleyIkRGF0YXsiS2V5d29yZHMifSJ9PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOlByaW50QXBwcm92YWwgLS0+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQXBwcm92YWwifTo8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gPGRpdiB0aXRsZT0iJFRleHR7IiRRRGF0YXsiQXBwcm92YWwifSJ9Ij4kVGV4dHsiJFFEYXRheyJBcHByb3ZhbCJ9In08L2Rpdj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6UHJpbnRBcHByb3ZhbCAtLT4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJWb3RlcyJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIj4gJFFEYXRheyJWb3RlcyJ9PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiUmVzdWx0In06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkUURhdGF7IlJlc3VsdCJ9ICYjMzc7PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7Ikxhc3QgdXBkYXRlIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiPiAkUXVvdGV7IiRUaW1lTG9uZ3siJERhdGF7IkNoYW5nZWQifSJ9In08L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PGhyPjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgoKPCEtLSBkdGw6YmxvY2s6RkFRSXRlbUZpZWxkIC0tPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSI+JFRleHR7IiREYXRheyJDYXB0aW9uIn0ifTogIDxicj4gPGkgY2xhc3M9InNtYWxsIj4oJFRleHR7IiREYXRheyJTdGF0ZU5hbWUifSJ9PC9pPikgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+JERhdGF7IlZhbHVlIn08L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PGhyPjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgo8IS0tIGR0bDpibG9jazpGQVFJdGVtRmllbGQgLS0+CgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpQcmludCAtLT4KCgoKCgoKCgo8IS0tIGR0bDpibG9jazpTZWFyY2ggLS0+Cjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgPHRyPgogICAgICAgIDx0ZCBjbGFzcz0ibWFpbmhlYWQiPgogICAgICAgICAgICAkRW52eyJCb3gwIn0kVGV4dHsiU2VhcmNoIn06ICRDb25maWd7IkZBUTo6RkFRSG9vayJ9JEVudnsiQm94MSJ9CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJtYWluYm9keSI+CiAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSIkRW52eyJDR0lIYW5kbGUifSIgbWV0aG9kPSJwb3N0Ij4KICAgICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iNjAwIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRoZWFkIj4kVGV4dHsiT3B0aW9ucyJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Ym9keSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSIkRW52eyJBY3Rpb24ifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTdWJhY3Rpb24iIHZhbHVlPSJTZWFyY2giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3VibWl0IiB2YWx1ZT0ieWVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJGdWxsdGV4dCJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnR2YWx1ZSIgY29sc3Bhbj0iMyI+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJXaGF0IiB2YWx1ZT0iJFFEYXRheyJXaGF0In0iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjUwIj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iNCIgY2xhc3M9ImNvbnRlbnRrZXkiPjxociB3aWR0aD0iMTAwJSIvPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCB3aWR0aD0iMjUlIiBjbGFzcz0iY29udGVudGtleSI+JFRleHR7Ik51bWJlciJ9OiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgd2lkdGg9Ijc1JSIgY2xhc3M9ImNvbnRlbnR2YWx1ZSIgY29sc3Bhbj0iMyI+IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJOdW1iZXIiIHZhbHVlPSIkUURhdGF7Ik51bWJlciJ9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSI1MCI+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiVGl0bGUifTogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50dmFsdWUiIGNvbHNwYW49IjMiPiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iVGl0bGUiIHZhbHVlPSIkUURhdGF7IlRpdGxlIn0iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjUwIj48L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJLZXl3b3JkIn06IDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudHZhbHVlIiBjb2xzcGFuPSIzIj4gPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IktleXdvcmQiIHZhbHVlPSIkUURhdGF7IktleXdvcmQifSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iNTAiPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgY2xhc3M9ImNvbnRlbnRrZXkiPiRUZXh0eyJMYW5ndWFnZSJ9OjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgY2xhc3M9ImNvbnRlbnR2YWx1ZSI+JERhdGF7Ikxhbmd1YWdlT3B0aW9uIn08L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQ2F0ZWdvcnkifTo8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIGNsYXNzPSJjb250ZW50dmFsdWUiPiREYXRheyJDYXRlZ29yeU9wdGlvbiJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50Zm9vdGVyIj4gPGlucHV0IGFjY2Vzc2tleT0iZyIgY2xhc3M9ImJ1dHRvbiIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJFRleHR7IlNlYXJjaCJ9Ij48L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgIDxicj4KICAgICAgICA8L3RkPgogICAgPC90cj4KPC90YWJsZT4KPCEtLSBkdGw6YmxvY2s6U2VhcmNoIC0tPgoKCgoKCgo8IS0tIGR0bDpibG9jazpTZWFyY2hSZXN1bHQgLS0+Cjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgPHRyPgogICAgICAgIDx0ZCBjbGFzcz0ibWFpbmhlYWQiPgogICAgICAgICAgICAkRW52eyJCb3gwIn0kVGV4dHsiU2VhcmNoIn06ICRDb25maWd7IkZBUTo6RkFRSG9vayJ9JEVudnsiQm94MSJ9CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkIGNsYXNzPSJtYWluYm9keSI+CiAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgogICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJjb250ZW50aGVhZCI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kQ29uZmlneyJGQVE6OkZBUUhvb2sifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiVGl0bGUifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQ2F0ZWdvcnkifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiTGFuZ3VhZ2UifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiU3RhdGUifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4kVGV4dHsiQ2hhbmdlZCJ9PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOlNlYXJjaFJlc3VsdFJvdyAtLT4KICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iY29udGVudGJvZHkiPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iJFFEYXRheyJDc3NSb3cifSI+PGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZJdGVtSUQ9JFFEYXRheyJJdGVtSUQifSI+JFFEYXRheyJOdW1iZXIifTwvYT48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iJFFEYXRheyJDc3NSb3cifSI+JFFEYXRheyJUaXRsZSJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IiRRRGF0YXsiQ3NzUm93In0iPiRRRGF0YXsiQ2F0ZWdvcnlOYW1lIn08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iJFFEYXRheyJDc3NSb3cifSI+JFFEYXRheyJMYW5ndWFnZSJ9PC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IiRRRGF0YXsiQ3NzUm93In0iPiRRRGF0YXsiU3RhdGUifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4oJFRpbWVMb25neyIkRGF0YXsiQ2hhbmdlZCJ9In0pPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOlNlYXJjaFJlc3VsdFJvdyAtLT4KICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iY29udGVudGZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjYiIGNsYXNzPSJjb250ZW50a2V5Ij4mbmJzcDs8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L3RkPgogICAgPC90cj4KPC90YWJsZT4KPCEtLSBkdGw6YmxvY2s6U2VhcmNoUmVzdWx0IC0tPgoKCgoKCgoKCjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyLS0+Cjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiPgogICAgPHRyPgogICAgICAgIDx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0ibWFpbmhlYWQiPgogICAgICAgICAgICAkRW52eyJCb3gwIn0kVGV4dHsiRXhwbG9yZXIifTogJENvbmZpZ3siRkFROjpGQVFIb29rIn0kRW52eyJCb3gxIn0KICAgICAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgICA8dGQgd2lkdGg9Ijc1JSIgY2xhc3M9Im1lbnUiPgo8IS0tPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifSRFbnZ7Ikxhc3RTY3JlZW5WaWV3In0iPiRUZXh0eyJCYWNrIn08L2E+LS0+CiAgICAgICAgPC90ZD4KICAgICAgICA8dGQgd2lkdGg9IjM1JSIgY2xhc3M9Im1lbnUiPgogICAgICAgICAgICAmbmJzcDsKICAgICAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgICA8dGQgY2xhc3M9Im1haW5ib2R5Ij4KCgo8IS0tIGR0bDpibG9jazpGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50IC0tPgogICAgICAgICAgICAkQ29uZmlneyJGQVE6OkV4cGxvcmVyOjpQYXRoOjpTZXBlcmF0b3IifQogICAgICAgICAgICA8Yj4KICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249JEVudnsiU3ViYWN0aW9uIn0mQ2F0ZWdvcnlJRD0kRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4KICAgICAgICAgICAgICAgICRRRGF0YXsiTmFtZSJ9CiAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9iPgo8IS0tIGR0bDpibG9jazpGQVFQYXRoQ2F0ZWdvcnlFbGVtZW50IC0tPgoKPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJUaXRsZSAtLT4KICAgICAgICAgICAgPGgxPiRRRGF0YXsiTmFtZSJ9PC9oMT4KICAgICAgICAgICAgPHA+JFFEYXRheyJDb21tZW50In08L3A+CjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyVGl0bGUgLS0+CgoKCjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyQ2F0ZWdvcnlMaXN0IC0tPgogICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KICAgICAgICAgICAgICAgIDxjb2xncm91cD48Y29sIHdpZHRoPSIxNSIgLz48Y29sIHdpZHRoPSIqIiAvPjxjb2wgd2lkdGg9IjEwMCIgLz48Y29sIHdpZHRoPSIxMDAiIC8+PC9jb2xncm91cD4KICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iY29udGVudGhlYWQiPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudGtleSIgY29sc3Bhbj0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICRUZXh0eyJOYW1lIn0gLwogICAgICAgICAgICAgICAgICAgICAgICAkVGV4dHsiQ29tbWVudCJ9CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPgogICAgICAgICAgICAgICAgICAgICAgICAkVGV4dHsiU3ViQ2F0ZWdvcmllcyJ9CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPgogICAgICAgICAgICAgICAgICAgICAgICAkVGV4dHsiQXJ0aWNsZSJ9CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyQ2F0ZWdvcnlSb3cgLS0+CiAgICAgICAgICAgICAgICA8dHIgY2xhc3M9ImNvbnRlbnRib2R5Ij4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IiRRRGF0YXsiQ3NzUm93In0iIHZhbGlnbj0idG9wIj48aW1nIHNyYz0iJEVudnsiSW1hZ2VzIn0kQ29uZmlneyJGQVE6OkNhdGVnb3J5OjpJY29uIn0iPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGI+PGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249JEVudnsiU3ViYWN0aW9uIn0mQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSI+JFFEYXRheyJOYW1lIn08L2E+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICA8YnI+JFFEYXRheyJDb21tZW50In0mbmJzcDsKICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iJFFEYXRheyJDc3NSb3cifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICRRRGF0YXsiQ2F0ZWdvcnlOdW1iZXIifQogICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgJFFEYXRheyJBcnRpY2xlTnVtYmVyIn0KICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJDYXRlZ29yeVJvdyAtLT4KICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iY29udGVudGZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjUiPiZuYnNwOzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpFeHBsb3JlckNhdGVnb3J5TGlzdCAtLT4KCiAgICAgICAgICAgIDxicj4KCjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyRkFRSXRlbUxpc3QgLS0+CiAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgogICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJjb250ZW50aGVhZCI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgJFRleHR7IlRpdGxlIn0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSZPcmRlcj1UaXRsZSZTb3J0PXVwIj48aW1nIGJvcmRlcj0iMCIgc3JjPSIkRW52eyJJbWFnZXMifXVwLXNtYWxsLnBuZyIgYWx0PSIkVGV4dHsidXAifSI+PC9hPiZuYnNwOy8KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSZPcmRlcj1UaXRsZSZTb3J0PWRvd24iPjxpbWcgYm9yZGVyPSIwIiBzcmM9IiRFbnZ7IkltYWdlcyJ9ZG93bi1zbWFsbC5wbmciIGFsdD0iJFRleHR7ImRvd24ifSI+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgJFRleHR7Ikxhbmd1YWdlIn0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSZPcmRlcj1MYW5ndWFnZSZTb3J0PXVwIj48aW1nIGJvcmRlcj0iMCIgc3JjPSIkRW52eyJJbWFnZXMifXVwLXNtYWxsLnBuZyIgYWx0PSIkVGV4dHsidXAifSI+PC9hPiZuYnNwOy8KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSZPcmRlcj1MYW5ndWFnZSZTb3J0PWRvd24iPjxpbWcgYm9yZGVyPSIwIiBzcmM9IiRFbnZ7IkltYWdlcyJ9ZG93bi1zbWFsbC5wbmciIGFsdD0iJFRleHR7ImRvd24ifSI+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgJFRleHR7IlN0YXRlIn0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSZPcmRlcj1TdGF0ZSZTb3J0PXVwIj48aW1nIGJvcmRlcj0iMCIgc3JjPSIkRW52eyJJbWFnZXMifXVwLXNtYWxsLnBuZyIgYWx0PSIkVGV4dHsidXAifSI+PC9hPiZuYnNwOy8KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSZPcmRlcj1TdGF0ZSZTb3J0PWRvd24iPjxpbWcgYm9yZGVyPSIwIiBzcmM9IiRFbnZ7IkltYWdlcyJ9ZG93bi1zbWFsbC5wbmciIGFsdD0iJFRleHR7ImRvd24ifSI+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50a2V5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgJFRleHR7IlJlc3VsdCJ9ICgmIzM3OykKICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJEVudnsiQmFzZWxpbmsifUFjdGlvbj0kRW52eyJBY3Rpb24ifSZTdWJhY3Rpb249RXhwbG9yZXImQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSZPcmRlcj1SZXN1bHQmU29ydD11cCI+PGltZyBib3JkZXI9IjAiIHNyYz0iJEVudnsiSW1hZ2VzIn11cC1zbWFsbC5wbmciIGFsdD0iJFRleHR7InVwIn0iPjwvYT4mbmJzcDsvCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPUV4cGxvcmVyJkNhdGVnb3J5SUQ9JFFEYXRheyJDYXRlZ29yeUlEIn0mT3JkZXI9UmVzdWx0JlNvcnQ9ZG93biI+PGltZyBib3JkZXI9IjAiIHNyYz0iJEVudnsiSW1hZ2VzIn1kb3duLXNtYWxsLnBuZyIgYWx0PSIkVGV4dHsiZG93biJ9Ij48L2E+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnRrZXkiPgogICAgICAgICAgICAgICAgICAgICAgICAkVGV4dHsiVm90ZXMifQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1FeHBsb3JlciZDYXRlZ29yeUlEPSREYXRheyJDYXRlZ29yeUlEIn0mT3JkZXI9Vm90ZXMmU29ydD11cCI+PGltZyBib3JkZXI9IjAiIHNyYz0iJEVudnsiSW1hZ2VzIn11cC1zbWFsbC5wbmciIGFsdD0iJFRleHR7InVwIn0iPjwvYT4mbmJzcDsvCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPUV4cGxvcmVyJkNhdGVnb3J5SUQ9JERhdGF7IkNhdGVnb3J5SUQifSZPcmRlcj1Wb3RlcyZTb3J0PWRvd24iPjxpbWcgYm9yZGVyPSIwIiBzcmM9IiRFbnZ7IkltYWdlcyJ9ZG93bi1zbWFsbC5wbmciIGFsdD0iJFRleHR7ImRvd24ifSI+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgoKPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJGQVFJdGVtUm93IC0tPgogICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJjb250ZW50Ym9keSI+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9IiRFbnZ7IkltYWdlcyJ9JENvbmZpZ3siRkFROjpJdGVtOjpJY29uIn0iIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mQ2F0ZWdvcnlJRD0kUURhdGF7IkNhdGVnb3J5SUQifSZJdGVtSUQ9JFFEYXRheyJJdGVtSUQifSIgdGl0bGU9IiRRRGF0YXsiVGl0bGUifSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkUURhdGF7IlRpdGxlIiwiNjAifQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9IiRRRGF0YXsiQ3NzUm93In0iPiRRRGF0YXsiTGFuZ3VhZ2UifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4kUURhdGF7IlN0YXRlIn08L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iJFFEYXRheyJDc3NSb3cifSIgc3R5bGU9IiREYXRheyJDc3NDb2x1bW5Wb3RpbmdSZXN1bHQifSI+JFFEYXRheyJSZXN1bHQifTwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSIkUURhdGF7IkNzc1JvdyJ9Ij4kUURhdGF7IlZvdGVzIn08L3RkPgogICAgICAgICAgICAgICAgPC90cj4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJGQVFJdGVtUm93IC0tPgogICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJjb250ZW50Zm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iNSI+Jm5ic3A7PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGFibGU+Cgo8IS0tIGR0bDpibG9jazpFeHBsb3JlckZBUUl0ZW1MaXN0IC0tPgoKCgoKCiAgICAgICAgPC90ZD4KICAgICAgICA8dGQgY2xhc3M9Im1lbnUiPgoKCjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyUXVpY2tTZWFyY2ggLS0+CiAgICAgICAgICAgIDxoMz4kVGV4dHsiUXVpY2tTZWFyY2gifTwvaDM+CiAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iJEVudnsiQ0dJSGFuZGxlIn0iIG1ldGhvZD0iZ2V0IiBzdHlsZT0ibWFyZ2luOjBweDtwYWRkaW5nOjBweDsiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQWN0aW9uIiB2YWx1ZT0iJEVudnsiQWN0aW9uIn0iPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iU2VhcmNoIj4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1Ym1pdCIgdmFsdWU9InllcyI+Cgo8IS0tIGR0bDpibG9jazpFeHBsb3JlclF1aWNrU2VhcmNoQ2F0ZWdvcnkgLS0+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDYXRlZ29yeUlEcyIgdmFsdWU9IiRRRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJRdWlja1NlYXJjaENhdGVnb3J5IC0tPgoKICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlF1aWNrU2VhcmNoIiB2YWx1ZT0iMSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJDYXRlZ29yeUlEcyIgdmFsdWU9IiRRRGF0YXsiQ2F0ZWdvcnlJRCJ9Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJXaGF0IiB2YWx1ZT0iJFFEYXRheyJXaGF0In0iIHNpemU9IjMwIiBtYXhsZW5ndGg9IjUwIj48aW5wdXQgY2xhc3M9ImJ1dHRvbiIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iJFRleHR7IlNlYXJjaCJ9Ij4KICAgICAgICAgICAgPC9mb3JtPgo8IS0tIGR0bDpibG9jazpFeHBsb3JlclF1aWNrU2VhcmNoIC0tPgoKCjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyTGF0ZXN0Q3JlYXRlIC0tPgogICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+PGgzPiRUZXh0eyJMYXRlc3RDcmVhdGVkSXRlbXMifTwvaDM+PC90ZD4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJMYXRlc3RDcmVhdGVSc3MgLS0+CiAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiBhbGlnbj0icmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1yc3MmVHlwZT1DcmVhdGVkIiB0aXRsZT0iJFRleHR7IkZBUSBBcnRpY2xlcyAobmV3IGNyZWF0ZWQpIn0iPjxpbWcgc3JjPSIkRW52eyJJbWFnZXMifS9yc3MucG5nIiBib3JkZXI9IjAiPjwvYT4KICAgICAgICAgICAgICAgICAgICA8L3RkPgo8IS0tIGR0bDpibG9jazpFeHBsb3JlckxhdGVzdENyZWF0ZVJzcyAtLT4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDx0YWJsZT4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJMYXRlc3RDcmVhdGVGQVFJdGVtUm93IC0tPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCI+PGltZyBzcmM9IiRFbnZ7IkltYWdlcyJ9JENvbmZpZ3siRkFROjpJdGVtOjpJY29uIn0iPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JkNhdGVnb3J5SUQ9JFFEYXRheyJDYXRlZ29yeUlEIn0mSXRlbUlEPSRRRGF0YXsiSXRlbUlEIn0iIHRpdGxlPSIkUURhdGF7IlRpdGxlIn0gKCRRRGF0YXsiQ2F0ZWdvcnlOYW1lIn0pIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRRRGF0YXsiVGl0bGUiLCI0MCJ9ICgkUURhdGF7IkNhdGVnb3J5TmFtZSIsIjQwIn0pCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9InNtYWxsIj4oJFFEYXRheyJMYW5ndWFnZSJ9KSAkVGltZVNob3J0eyIkRGF0YXsiQ3JlYXRlZCJ9In08L2k+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyTGF0ZXN0Q3JlYXRlRkFRSXRlbVJvdyAtLT4KICAgICAgICAgICAgPC90YWJsZT4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJMYXRlc3RDcmVhdGUgLS0+CgoKPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJMYXRlc3RDaGFuZ2UgLS0+CiAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZD48aDM+JFRleHR7IkxhdGVzdENoYW5nZWRJdGVtcyJ9PC9oMz48L3RkPgo8IS0tIGR0bDpibG9jazpFeHBsb3JlckxhdGVzdENoYW5nZVJzcyAtLT4KICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJyaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249JEVudnsiQWN0aW9uIn0mU3ViYWN0aW9uPXJzcyZUeXBlPUNoYW5nZWQiIHRpdGxlPSIkVGV4dHsiRkFRIE5ld3MgKHJlY2VudGx5IGNoYW5nZWQpIn0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9IiRFbnZ7IkltYWdlcyJ9L3Jzcy5wbmciIGJvcmRlcj0iMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L3RkPgo8IS0tIGR0bDpibG9jazpFeHBsb3JlckxhdGVzdENoYW5nZVJzcyAtLT4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDx0YWJsZT4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJMYXRlc3RDaGFuZ2VGQVFJdGVtUm93IC0tPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCI+PGltZyBzcmM9IiRFbnZ7IkltYWdlcyJ9JENvbmZpZ3siRkFROjpJdGVtOjpJY29uIn0iPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JkNhdGVnb3J5SUQ9JFFEYXRheyJDYXRlZ29yeUlEIn0mSXRlbUlEPSRRRGF0YXsiSXRlbUlEIn0iIHRpdGxlPSIkUURhdGF7IlRpdGxlIn0gKCRRRGF0YXsiQ2F0ZWdvcnlOYW1lIn0pIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRRRGF0YXsiVGl0bGUiLCI0MCJ9ICgkUURhdGF7IkNhdGVnb3J5TmFtZSIsIjQwIn0pCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9InNtYWxsIj4oJFFEYXRheyJMYW5ndWFnZSJ9KSAkVGltZVNob3J0eyIkRGF0YXsiQ2hhbmdlZCJ9In08L2k+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyTGF0ZXN0Q2hhbmdlRkFRSXRlbVJvdyAtLT4KICAgICAgICAgICAgPC90YWJsZT4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJMYXRlc3RDaGFuZ2UgLS0+Cgo8IS0tIGR0bDpibG9jazpFeHBsb3JlclRvcDEwIC0tPgogICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICA8dGQ+PGgzPiRUZXh0eyJUb3AxMEl0ZW1zIn08L2gzPjwvdGQ+CjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyVG9wMTBSc3MgLS0+CiAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiBhbGlnbj0icmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JlN1YmFjdGlvbj1yc3MmVHlwZT1Ub3AxMCIgdGl0bGU9IiRUZXh0eyJGQVEgTmV3cyAoVG9wIDEwKSJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSIkRW52eyJJbWFnZXMifS9yc3MucG5nIiBib3JkZXI9IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJUb3AxMFJzcyAtLT4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgIDx0YWJsZT4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXJUb3AxMEZBUUl0ZW1Sb3cgLS0+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgPHRkPjxpbWcgc3JjPSIkRW52eyJJbWFnZXMifSRDb25maWd7IkZBUTo6SXRlbTo6SWNvbiJ9Ij48L3RkPgogICAgICAgICAgICAgICAgICAgIDx0ZD4kUURhdGF7Ik51bWJlciJ9LjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPSRFbnZ7IkFjdGlvbiJ9JkNhdGVnb3J5SUQ9JFFEYXRheyJDYXRlZ29yeUlEIn0mSXRlbUlEPSRRRGF0YXsiSXRlbUlEIn0iIHRpdGxlPSIkUURhdGF7IlRpdGxlIn0gKCRRRGF0YXsiQ2F0ZWdvcnlOYW1lIn0pIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRRRGF0YXsiVGl0bGUiLCI0MCJ9ICgkUURhdGF7IkNhdGVnb3J5TmFtZSIsIjQwIn0pCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9InNtYWxsIj4oJFFEYXRheyJMYW5ndWFnZSJ9KSAkVGltZVNob3J0eyIkRGF0YXsiQ2hhbmdlZCJ9In08L2k+CiAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CjwhLS0gZHRsOmJsb2NrOkV4cGxvcmVyVG9wMTBGQVFJdGVtUm93IC0tPgogICAgICAgICAgICA8L3RhYmxlPgo8IS0tIGR0bDpibG9jazpFeHBsb3JlclRvcDEwIC0tPgoKICAgICAgICA8L3RkPgogICAgPC90cj4KPC90YWJsZT4KPCEtLSBkdGw6YmxvY2s6RXhwbG9yZXIgLS0+Cg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyAkb3JpZ2luOiBvdHJzIC0gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAtIEtlcm5lbC9PdXRwdXQvSFRNTC9TdGFuZGFyZC9SaWNoVGV4dEVkaXRvci5kdGwKIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC50eHQuCiMgLS0KCiMgbG9hZCBqcwo8c2NyaXB0IHNyYz0iJENvbmZpZ3siRnJvbnRlbmQ6OkphdmFTY3JpcHRQYXRoIn1mY2tlZGl0b3ItMi42LjQuMS9mY2tlZGl0b3IuanMiPjwvc2NyaXB0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLyB1cGRhdGUgYm9keSB3aXRoIGN1cnJlbnQgcmljaCB0ZXh0IGNvbnRlbnQKIyAtLS0KIyBGQVEKIyAtLS0KI2Z1bmN0aW9uIFJpY2hUZXh0VXBkYXRlTGlua2VkRmllbGQoKSB7CiMgICAgRkNLZWRpdG9yQVBJLkdldEluc3RhbmNlKCdSaWNoVGV4dCcpLlVwZGF0ZUxpbmtlZEZpZWxkKCk7CmZ1bmN0aW9uIFJpY2hUZXh0VXBkYXRlTGlua2VkRmllbGQoIEZpZWxkbmFtZSApIHsKICAgIEZDS2VkaXRvckFQSS5HZXRJbnN0YW5jZSggRmllbGRuYW1lICkuVXBkYXRlTGlua2VkRmllbGQoKTsKIyAtLS0KfQoKLy8gc2V0IGZvY3VzIHRvIHJpY2ggdGV4dCBlZGl0b3IKIyAtLS0KIyBGQVEKIyAtLS0KI2Z1bmN0aW9uIFJpY2hUZXh0Rm9jdXMoKSB7CiMgICAgRkNLZWRpdG9yQVBJLkdldEluc3RhbmNlKCdSaWNoVGV4dCcpLkZvY3VzKCk7CmZ1bmN0aW9uIFJpY2hUZXh0Rm9jdXMoIEZpZWxkbmFtZSApIHsKICAgIEZDS2VkaXRvckFQSS5HZXRJbnN0YW5jZSggRmllbGRuYW1lICkuRm9jdXMoKTsKIyAtLS0KfQoKLy8gY2xlYW51cCByZWFsIGJvZHkKLy8gSWYgdGhlIGJvZHkgb25seSBjb250YWlucyB3aGl0ZXNwYWNlIG9yIGh0bWwgdGFncyBidXQgbm8gdGV4dCwKLy8gcmVzZXQgaXQgdG8gJycuIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgZnJvbnRlbmQgYW5kIGJhY2tlbmQKLy8gY29udGVudCBjaGVja3MgdG8gd29yayBwcm9wZXJseS4KZnVuY3Rpb24gUmljaFRleHRDbGVhbnVwKCkgewojIC0tLQojIEZBUQojIC0tLQojICAgIHZhciBFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ1JpY2hUZXh0Jyk7CiAgICBmb3IgKCB2YXIgaSA9IDE7IGkgPD0gNjsgaSsrICkgewogICAgICAgIHZhciBFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0ZpZWxkJyArIGkpOwojIC0tLQogICAgaWYgKEVsZW0pIHsKICAgICAgICB2YXIgU3RyaXBwZWRDb250ZW50ID0gRWxlbS52YWx1ZS5yZXBsYWNlKC9ccyt8Jm5ic3A7fDxcLz9cdytccz9cLz8+L2csICcnKTsKICAgICAgICBpZiAoU3RyaXBwZWRDb250ZW50Lmxlbmd0aCA9PSAwKSB7CiAgICAgICAgICAgIEVsZW0udmFsdWUgPSAnJzsKICAgICAgICB9CiAgICB9CiMgLS0tCiMgRkFRCiMgLS0tCiAgICB9CiMgLS0tCn0KCiMgLS0tCiMgRkFRCiMgLS0tCiNmdW5jdGlvbiBJbml0UmljaFRleHQoKSB7CiMgICAgdmFyIG9GQ0tlZGl0b3IgPSBuZXcgRkNLZWRpdG9yKCAnUmljaFRleHQnICk7CmZ1bmN0aW9uIEluaXRSaWNoVGV4dEZBUSggRmllbGRuYW1lICkgewogICAgdmFyIG9GQ0tlZGl0b3IgPSBuZXcgRkNLZWRpdG9yKCBGaWVsZG5hbWUgKTsKIyAtLS0KIyAtLS0KIyBGQVEKIyAtLS0KIyAgICBvRkNLZWRpdG9yLkhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnJENvbmZpZ3siRnJvbnRlbmQ6OlJpY2hUZXh0SGVpZ2h0In0nIHx8IDMyMDsKIyAgICBvRkNLZWRpdG9yLldpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnJENvbmZpZ3siRnJvbnRlbmQ6OlJpY2hUZXh0V2lkdGgifScgfHwgNjIwOwogICAgb0ZDS2VkaXRvci5IZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDAwOwogICAgb0ZDS2VkaXRvci5XaWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODUwOwojIC0tLQogICAgb0ZDS2VkaXRvci5CYXNlUGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgID0gJyRDb25maWd7IkZyb250ZW5kOjpKYXZhU2NyaXB0UGF0aCJ9L2Zja2VkaXRvci0yLjYuNC4xLyc7CiAgICBvRkNLZWRpdG9yLkNvbmZpZ1siRm9yY2VQYXN0ZUFzUGxhaW5UZXh0Il0gICAgPSBmYWxzZTsKICAgIG9GQ0tlZGl0b3IuQ29uZmlnWyJFZGl0b3JBcmVhU3R5bGVzIl0gICAgICAgICA9ICdib2R5IHsgJENvbmZpZ3siRnJvbnRlbmQ6OlJpY2hUZXh0OjpEZWZhdWx0Q1NTIn0gfSc7CiAgICBvRkNLZWRpdG9yLkNvbmZpZ1siQXV0b0RldGVjdExhbmd1YWdlIl0gICAgICAgPSBmYWxzZTsKICAgIC8vIEZpeCBmb3IgYnVnIzUzODMgLSBsYW5ndWFnZSBzdHJpbmdzIHN1Y2ggYXMgcHRfQlIgc2hvdWxkIGJlIHJlZm9ybWF0dGVkIGFzIHB0LWJyOgogICAgb0ZDS2VkaXRvci5Db25maWdbIkRlZmF1bHRMYW5ndWFnZSJdICAgICAgICAgID0gU3RyaW5nKCckRW52eyJVc2VyTGFuZ3VhZ2UifScpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgiXyIsICItIik7CiAgICBvRkNLZWRpdG9yLkNvbmZpZ1siSW1hZ2VVcGxvYWRVUkwiXSAgICAgICAgICAgPSAnJEVudnsiQmFzZWxpbmsifSc7CiAgICBvRkNLZWRpdG9yLkNvbmZpZ1siRmlyZWZveFNwZWxsQ2hlY2tlciJdICAgICAgPSB0cnVlOwogICAgb0ZDS2VkaXRvci5Db25maWdbIkJyb3dzZXJDb250ZXh0TWVudSJdICAgICAgID0gdHJ1ZTsKICAgIG9GQ0tlZGl0b3IuQ29uZmlnWyJTcGVsbENoZWNrZXIiXSAgICAgICAgICAgICA9ICdTcGVsbGVyUGFnZXMnOwogICAgb0ZDS2VkaXRvci5Db25maWdbIlNwZWxsZXJQYWdlc1NlcnZlclNjcmlwdCJdID0gJyRFbnZ7IkJhc2VsaW5rIn0nOwogICAgb0ZDS2VkaXRvci5Db25maWdbIkZvbnRTaXplcyJdICAgICAgICAgICAgICAgID0gJzhweDsxMHB4OzEycHg7MTZweDsxOHB4OzIwcHg7MjJweDsyNHB4OzI2cHg7MjhweDszMHB4Oyc7CiAgICBvRkNLZWRpdG9yLkNvbmZpZ1siRW50ZXJNb2RlIl0gICAgICAgICAgICAgICAgPSAnYnInOwogICAgb0ZDS2VkaXRvci5Db25maWdbIlNoaWZ0RW50ZXJNb2RlIl0gICAgICAgICAgID0gJ2JyJzsKICAgIG9GQ0tlZGl0b3IuQ29uZmlnWyJMaW5rVXBsb2FkIl0gICAgICAgICAgICAgICA9IGZhbHNlOwoKICAgIGlmICggJyRFbnZ7IlRleHREaXJlY3Rpb24ifScgKSB7CiAgICAgICAgb0ZDS2VkaXRvci5Db25maWdbIkNvbnRlbnRMYW5nRGlyZWN0aW9uIl0gPSAnJEVudnsiVGV4dERpcmVjdGlvbiJ9JzsKICAgIH0KCiAgICB2YXIgVG9vbGJhclNldCA9ICcnOwogICAgaWYgKCBkb2N1bWVudC5jb21wb3NlICYmIGRvY3VtZW50LmNvbXBvc2UuRm9ybUlEICkgewojIC0tLQojIEZBUQojIC0tLQojICAgICAgICBvRkNLZWRpdG9yLkNvbmZpZ1siQWN0aW9uIl0gPSAnUGljdHVyZVVwbG9hZCc7CiAgICAgICAgb0ZDS2VkaXRvci5Db25maWdbIkFjdGlvbiJdID0gIlBpY3R1cmVVcGxvYWRGQVEiOwojIC0tLQogICAgICAgIG9GQ0tlZGl0b3IuQ29uZmlnWyJGb3JtSUQiXSA9IGRvY3VtZW50LmNvbXBvc2UuRm9ybUlELnZhbHVlOwogICAgICAgIFRvb2xiYXJTZXQgPSAnRnVsbCc7CiAgICAgICAgaWYgKCAnJEVudnsiQnJvd3NlclNwZWxsQ2hlY2tlcklubGluZSJ9JyApIHsKICAgICAgICAgICAgVG9vbGJhclNldCA9ICdGdWxsU3BlbGwnOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgewogICAgICAgIFRvb2xiYXJTZXQgPSAnU2ltcGxlJzsKICAgICAgICBpZiAoICckRW52eyJCcm93c2VyU3BlbGxDaGVja2VySW5saW5lIn0nICkgewogICAgICAgICAgICBUb29sYmFyU2V0ID0gJ1NpbXBsZVNwZWxsJzsKICAgICAgICB9CiAgICB9CiAgICBvRkNLZWRpdG9yLlRvb2xiYXJTZXQgPSBUb29sYmFyU2V0OwoKICAgIG9GQ0tlZGl0b3IuUmVwbGFjZVRleHRhcmVhKCk7Cn0KCi8vIHByZXNlcnZlIG9sZCB3aW5kb3cgb25sb2FkIGV2ZW50CnZhciBPbGRPbkxvYWQgPSB3aW5kb3cub25sb2FkOwp3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiAgICBpZiAodHlwZW9mIE9sZE9uTG9hZCA9PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgT2xkT25Mb2FkKCk7CiAgICB9CiMgLS0tCiMgRkFRCiMgLS0tCiMgICAgSW5pdFJpY2hUZXh0KCk7CiAgICBmb3IgKCB2YXIgaSA9IDE7IGkgPD0gNjsgaSsrICkgewogICAgICAgIGlmICggZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0ZpZWxkJyArIGkpICkgewogICAgICAgICAgICB2YXIgbXlFZGl0b3IgPSBJbml0UmljaFRleHRGQVEoJ0ZpZWxkJyArIGkpOwogICAgICAgIH0KICAgIH0KIyAtLS0KfQoKZnVuY3Rpb24gRkNLZWRpdG9yX09uQ29tcGxldGUoIGVkaXRvckluc3RhbmNlICkgewogICAgLy8gd29ya2Fyb3VuZCBmb3IgaHR0cDovL2Rldi5mY2tlZGl0b3IubmV0L3RpY2tldC8zMDUzCiAgICAvLyBzZWUgYWxzbyBodHRwOi8vd3d3LmZja2VkaXRvci5uZXQvZm9ydW1zL3ZpZXd0b3BpYy5waHA/Zj02JnQ9MTMyMjIKICAgIHZhciBmY2tfaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ1JpY2hUZXh0X19fRnJhbWUnKTsKICAgIGlmICggZmNrX2lmcmFtZSAmJiBmY2tfaWZyYW1lLmNvbnRlbnREb2N1bWVudCApIHsKICAgICAgICB2YXIgZmNrX2VkaXRpbmdfYXJlYSA9IGZja19pZnJhbWUuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd4RWRpdGluZ0FyZWEnKTsKICAgICAgICBmY2tfZWRpdGluZ19hcmVhLnN0eWxlLmhlaWdodCA9ICcxMDAuMSUnOwogICAgICAgIHNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewogICAgICAgICAgICBmY2tfZWRpdGluZ19hcmVhLnN0eWxlLmhlaWdodCA9ICcxMDAlJwogICAgICAgIH0sIDEwMCApOwogICAgfQoKICAgIC8vIGNsZWFudXAgaGlkZGVuIGJvZHkgZmllbGQgYWZ0ZXIgdXBkYXRlIHdpdGggY29udGVudCBvZiByaWNoIHRleHQKICAgIGVkaXRvckluc3RhbmNlLkV2ZW50cy5BdHRhY2hFdmVudCggJ09uQWZ0ZXJMaW5rZWRGaWVsZFVwZGF0ZScsIFJpY2hUZXh0Q2xlYW51cCApOwp9Cjwvc2NyaXB0Pgo=
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpGQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgTUlNRTo6QmFzZTY0Owp1c2UgS2VybmVsOjpTeXN0ZW06OkVuY29kZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpDYWNoZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpVc2VyOwp1c2UgS2VybmVsOjpTeXN0ZW06Okdyb3VwOwp1c2UgS2VybmVsOjpTeXN0ZW06OkN1c3RvbWVyR3JvdXA7CnVzZSBLZXJuZWw6OlN5c3RlbTo6TGlua09iamVjdDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpUaWNrZXQ7CnVzZSBLZXJuZWw6OlN5c3RlbTo6V2ViOjpVcGxvYWRDYWNoZTsKCnVzZSB2YXJzIHF3KEBJU0EgJFZFUlNJT04pOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpGQVEgLSBmYXEgbGliCgo9aGVhZDEgU1lOT1BTSVMKCkFsbCBmYXEgZnVuY3Rpb25zLiBFLiBnLiB0byBhZGQgZmFxcyBvciB0byBnZXQgZmFxcy4KCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgo9b3ZlciA0Cgo9Y3V0Cgo9aXRlbSBuZXcoKQoKY3JlYXRlIGEgZmFxIG9iamVjdAoKICAgIHVzZSBLZXJuZWw6OkNvbmZpZzsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6RW5jb2RlOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpMb2c7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06Ok1haW47CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OkZBUTsKCiAgICBteSAkQ29uZmlnT2JqZWN0ID0gS2VybmVsOjpDb25maWctPm5ldygpOwogICAgbXkgJEVuY29kZU9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpFbmNvZGUtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICk7CiAgICBteSAkTG9nT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OkxvZy0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIEVuY29kZU9iamVjdCA9PiAkRW5jb2RlT2JqZWN0LAogICAgKTsKICAgIG15ICRNYWluT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06Ok1haW4tPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICk7CiAgICBteSAkRkFRT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OkZBUS0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgICAgIERCT2JqZWN0ICAgICA9PiAkREJPYmplY3QsCiAgICApOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBvYmplY3RzCiAgICBmb3IgKHF3KERCT2JqZWN0IENvbmZpZ09iamVjdCBMb2dPYmplY3QgRW5jb2RlT2JqZWN0IE1haW5PYmplY3QgVGltZU9iamVjdCBVc2VySUQpKSB7CiAgICAgICAgJFNlbGYtPnskX30gPSAkUGFyYW17JF99IHx8IGRpZSAiR290IG5vICRfISI7CiAgICB9CiAgICAkU2VsZi0+e0dyb3VwT2JqZWN0fSAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06Okdyb3VwLT5uZXcoICV7JFNlbGZ9ICk7CiAgICAkU2VsZi0+e0NhY2hlT2JqZWN0fSAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OkNhY2hlLT5uZXcoICV7JFNlbGZ9ICk7CiAgICAkU2VsZi0+e0N1c3RvbWVyR3JvdXBPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OkN1c3RvbWVyR3JvdXAtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57VXNlck9iamVjdH0gICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6VXNlci0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntUaWNrZXRPYmplY3R9ICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpUaWNrZXQtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57VXBsb2FkQ2FjaGVPYmplY3R9ICAgPSBLZXJuZWw6OlN5c3RlbTo6V2ViOjpVcGxvYWRDYWNoZS0+bmV3KCAleyRTZWxmfSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKPWl0ZW0gRkFRR2V0KCkKCmdldCBhbiBmYXEKCiAgICBteSAlRkFRID0gJEZBUU9iamVjdC0+RkFRR2V0KAogICAgICAgIEl0ZW1JRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBGQVFHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIEZhaWx1cmVzIHJlbmFtZSBmcm9tIEl0ZW1JRCB0byBGQVFJRAogICAgaWYgKCAkUGFyYW17RkFRSUR9ICkgewogICAgICAgICRQYXJhbXtJdGVtSUR9ID0gJFBhcmFte0ZBUUlEfTsKICAgIH0KCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhJdGVtSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICdTRUxFQ1QgaS5mX25hbWUsIGkuZl9sYW5ndWFnZV9pZCwgaS5mX3N1YmplY3QsICcgLgogICAgICAgICAgICAnIGkuZl9maWVsZDEsIGkuZl9maWVsZDIsIGkuZl9maWVsZDMsICcgLgogICAgICAgICAgICAnIGkuZl9maWVsZDQsIGkuZl9maWVsZDUsIGkuZl9maWVsZDYsICcgLgogICAgICAgICAgICAnIGkuZnJlZV9rZXkxLCBpLmZyZWVfdmFsdWUxLCBpLmZyZWVfa2V5MiwgaS5mcmVlX3ZhbHVlMiwgJyAuCiAgICAgICAgICAgICcgaS5mcmVlX2tleTMsIGkuZnJlZV92YWx1ZTMsIGkuZnJlZV9rZXk0LCBpLmZyZWVfdmFsdWU0LCAnIC4KICAgICAgICAgICAgJyBpLmNyZWF0ZWQsIGkuY3JlYXRlZF9ieSwgaS5jaGFuZ2VkLCBpLmNoYW5nZWRfYnksICcgLgogICAgICAgICAgICAnIGkuY2F0ZWdvcnlfaWQsIGkuc3RhdGVfaWQsIGMubmFtZSwgcy5uYW1lLCBsLm5hbWUsIGkuZl9rZXl3b3JkcywgaS5hcHByb3ZlZCwgJyAuCiAgICAgICAgICAgICcgaS5mX251bWJlciwgc3QuaWQsIHN0Lm5hbWUgJyAuCiAgICAgICAgICAgICcgRlJPTSBmYXFfaXRlbSBpLCBmYXFfY2F0ZWdvcnkgYywgZmFxX3N0YXRlIHMsIGZhcV9zdGF0ZV90eXBlIHN0LCBmYXFfbGFuZ3VhZ2UgbCAnIC4KICAgICAgICAgICAgJyBXSEVSRSBpLnN0YXRlX2lkID0gcy5pZCBBTkQgcy50eXBlX2lkID0gc3QuaWQgQU5EIGkuY2F0ZWdvcnlfaWQgPSBjLmlkIEFORCAnIC4KICAgICAgICAgICAgJyBpLmZfbGFuZ3VhZ2VfaWQgPSBsLmlkIEFORCBpLmlkID0gPycsCiAgICAgICAgQmluZCA9PiBbCiAgICAgICAgICAgIFwkUGFyYW17SXRlbUlEfSwKICAgICAgICBdLAogICAgKTsKCiAgICBteSAlRGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgbXkgJVZvdGVEYXRhID0gJXsgJFNlbGYtPkl0ZW1Wb3RlRGF0YUdldCggSXRlbUlEID0+ICRQYXJhbXtJdGVtSUR9ICkgfTsKICAgICAgICAlRGF0YSA9ICgKCiAgICAgICAgICAgICMgdmFyIGZvciBvbGQgdmVyc2lvbnMKICAgICAgICAgICAgSUQgICAgPT4gJFBhcmFte0l0ZW1JRH0sCiAgICAgICAgICAgIEZBUUlEID0+ICRQYXJhbXtJdGVtSUR9LAoKICAgICAgICAgICAgIwogICAgICAgICAgICBJdGVtSUQgICAgICAgID0+ICRQYXJhbXtJdGVtSUR9LAogICAgICAgICAgICBOYW1lICAgICAgICAgID0+ICRSb3dbMF0sCiAgICAgICAgICAgIExhbmd1YWdlSUQgICAgPT4gJFJvd1sxXSwKICAgICAgICAgICAgVGl0bGUgICAgICAgICA9PiAkUm93WzJdLAogICAgICAgICAgICBGaWVsZDEgICAgICAgID0+ICRSb3dbM10sCiAgICAgICAgICAgIEZpZWxkMiAgICAgICAgPT4gJFJvd1s0XSwKICAgICAgICAgICAgRmllbGQzICAgICAgICA9PiAkUm93WzVdLAogICAgICAgICAgICBGaWVsZDQgICAgICAgID0+ICRSb3dbNl0sCiAgICAgICAgICAgIEZpZWxkNSAgICAgICAgPT4gJFJvd1s3XSwKICAgICAgICAgICAgRmllbGQ2ICAgICAgICA9PiAkUm93WzhdLAogICAgICAgICAgICBGcmVlS2V5MSAgICAgID0+ICRSb3dbOV0sCiAgICAgICAgICAgIEZyZWVUZXh0MSAgICAgPT4gJFJvd1sxMF0sCiAgICAgICAgICAgIEZyZWVLZXkyICAgICAgPT4gJFJvd1sxMV0sCiAgICAgICAgICAgIEZyZWVUZXh0MiAgICAgPT4gJFJvd1sxMl0sCiAgICAgICAgICAgIEZyZWVLZXkzICAgICAgPT4gJFJvd1sxM10sCiAgICAgICAgICAgIEZyZWVUZXh0MyAgICAgPT4gJFJvd1sxNF0sCiAgICAgICAgICAgIEZyZWVLZXk0ICAgICAgPT4gJFJvd1sxNV0sCiAgICAgICAgICAgIEZyZWVUZXh0NCAgICAgPT4gJFJvd1sxNl0sCiAgICAgICAgICAgIENyZWF0ZWQgICAgICAgPT4gJFJvd1sxN10sCiAgICAgICAgICAgIENyZWF0ZWRCeSAgICAgPT4gJFJvd1sxOF0sCiAgICAgICAgICAgIENoYW5nZWQgICAgICAgPT4gJFJvd1sxOV0sCiAgICAgICAgICAgIENoYW5nZWRCeSAgICAgPT4gJFJvd1syMF0sCiAgICAgICAgICAgIENhdGVnb3J5SUQgICAgPT4gJFJvd1syMV0sCiAgICAgICAgICAgIFN0YXRlSUQgICAgICAgPT4gJFJvd1syMl0sCiAgICAgICAgICAgIENhdGVnb3J5TmFtZSAgPT4gJFJvd1syM10sCiAgICAgICAgICAgIFN0YXRlICAgICAgICAgPT4gJFJvd1syNF0sCiAgICAgICAgICAgIExhbmd1YWdlICAgICAgPT4gJFJvd1syNV0sCiAgICAgICAgICAgIEtleXdvcmRzICAgICAgPT4gJFJvd1syNl0sCiAgICAgICAgICAgIEFwcHJvdmVkICAgICAgPT4gJFJvd1syN10sCiAgICAgICAgICAgIE51bWJlciAgICAgICAgPT4gJFJvd1syOF0sCiAgICAgICAgICAgIFN0YXRlVHlwZUlEICAgPT4gJFJvd1syOV0sCiAgICAgICAgICAgIFN0YXRlVHlwZU5hbWUgPT4gJFJvd1szMF0sCiAgICAgICAgICAgIFJlc3VsdCAgICAgICAgPT4gc3ByaW50ZigKICAgICAgICAgICAgICAgICIlMC4iCiAgICAgICAgICAgICAgICAgICAgLiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgKICAgICAgICAgICAgICAgICAgICAiRkFROjpFeHBsb3Jlcjo6SXRlbUxpc3Q6OlZvdGluZ1Jlc3VsdERlY2ltYWxQbGFjZXMiCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgIC4gImYiLAogICAgICAgICAgICAgICAgJFZvdGVEYXRhe1Jlc3VsdH0gfHwgMAogICAgICAgICAgICApLAogICAgICAgICAgICBWb3RlcyA9PiAkVm90ZURhdGF7Vm90ZXN9LAogICAgICAgICk7CiAgICB9CiAgICBpZiAoICElRGF0YSApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5vIHN1Y2ggSXRlbUlEICRQYXJhbXtJdGVtSUR9ISIKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIHVwZGF0ZSBudW1iZXIKICAgIGlmICggISREYXRhe051bWJlcn0gKSB7CiAgICAgICAgbXkgJE51bWJlciA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdTeXN0ZW1JRCcpIC4gJzAwJyAuICREYXRhe0l0ZW1JRH07CiAgICAgICAgJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgICAgICBTUUwgID0+ICdVUERBVEUgZmFxX2l0ZW0gU0VUIGZfbnVtYmVyID0gPyBXSEVSRSBpZCA9ID8nLAogICAgICAgICAgICBCaW5kID0+IFsgXCROdW1iZXIsIFwkRGF0YXtJdGVtSUR9LCBdLAogICAgICAgICk7CiAgICAgICAgJERhdGF7TnVtYmVyfSA9ICROdW1iZXI7CiAgICB9CiAgICBteSAkSGFzaCA9ICRTZWxmLT5HZXRDYXRlZ29yeVRyZWUoKTsKICAgICREYXRhe0NhdGVnb3J5TmFtZX0gPSAkSGFzaC0+eyAkRGF0YXtDYXRlZ29yeUlEfSB9OwogICAgcmV0dXJuICVEYXRhOwp9Cgo9aXRlbSBJdGVtVm90ZURhdGFHZXQoKQoKcmV0dXJucyBhIGhhc2ggd2l0aCBudW1iZXIgYW5kIHJlc3VsdCBvZiBhIGl0ZW0KCiAgICBteSAlRmxhZyA9ICRGQVFPYmplY3QtPkl0ZW1Wb3RlRGF0YUdldCgKICAgICAgICBJdGVtSUQgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgSXRlbVZvdGVEYXRhR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSXRlbUlEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgfQoKICAgICMgY2hlY2sgY2FjaGUKICAgIG15ICRDYWNoZUtleSA9ICdJdGVtVm90ZURhdGFHZXQ6OicgLiAkUGFyYW17SXRlbUlEfTsKICAgIG15ICRDYWNoZSAgICA9ICRTZWxmLT57Q2FjaGVPYmplY3R9LT5HZXQoCiAgICAgICAgVHlwZSA9PiAnRkFRJywKICAgICAgICBLZXkgID0+ICRDYWNoZUtleSwKICAgICk7CiAgICByZXR1cm4gJENhY2hlIGlmICRDYWNoZTsKCiAgICAjIHJlYWwgZGF0YWJhc2UgcXVlcnkKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgU1FMICAgPT4gJ1NFTEVDVCBjb3VudCgqKSwgYXZnKHJhdGUpIEZST00gZmFxX3ZvdGluZyBXSEVSRSBpdGVtX2lkID0gPycsCiAgICAgICAgQmluZCAgPT4gWyBcJFBhcmFte0l0ZW1JRH0gXSwKICAgICAgICBMaW1pdCA9PiAkUGFyYW17TGltaXR9IHx8IDUwMCwKICAgICk7CiAgICBteSAlSGFzaDsKICAgIGlmICggbXkgQERhdGEgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRIYXNoe1ZvdGVzfSAgPSAkRGF0YVswXTsKICAgICAgICAkSGFzaHtSZXN1bHR9ID0gJERhdGFbMV07CiAgICB9CgogICAgIyBjYWNoZSByZXN1bHQKICAgICRTZWxmLT57Q2FjaGVPYmplY3R9LT5TZXQoCiAgICAgICAgVHlwZSAgPT4gJ0ZBUScsCiAgICAgICAgS2V5ICAgPT4gJENhY2hlS2V5LAogICAgICAgIFZhbHVlID0+IFwlSGFzaCwKICAgICAgICBUVEwgICA9PiA2MCAqIDYwICogMjQgKiAyLAogICAgKTsKCiAgICByZXR1cm4gXCVIYXNoOwp9Cgo9aXRlbSBGQVFBZGQoKQoKYWRkIGFuIGFydGljbGUKCiAgICBteSAkSXRlbUlEID0gJEZBUU9iamVjdC0+RkFRQWRkKAogICAgICAgIE51bWJlciAgICAgPT4gJzEzNDAyJywKICAgICAgICBUaXRsZSAgICAgID0+ICdTb21lIFRleHQnLAogICAgICAgIENhdGVnb3J5SUQgPT4gMSwKICAgICAgICBTdGF0ZUlEICAgID0+IDEsCiAgICAgICAgTGFuZ3VhZ2VJRCA9PiAxLAogICAgICAgIEtleXdvcmRzICAgPT4gJ3NvbWUga2V5d29yZHMnLAogICAgICAgIEZpZWxkMSAgICAgPT4gJ1Byb2JsZW0uLi4nLAogICAgICAgIEZpZWxkMiAgICAgPT4gJ1NvbHV0aW9uLi4uJywKICAgICAgICBGcmVlS2V5MSAgID0+ICdTb2Z0d2FyZScsCiAgICAgICAgRnJlZVRleHQxICA9PiAnQXBhY2hlIDMuNC4yJywKICAgICAgICBGcmVlS2V5MiAgID0+ICdPUycsCiAgICAgICAgRnJlZVRleHQyICA9PiAnT3BlbkJTRCA0LjIuMicsCiAgICAgICAgQXBwcm92ZWQgICA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBGQVFBZGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhDYXRlZ29yeUlEIFN0YXRlSUQgTGFuZ3VhZ2VJRCBUaXRsZSkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkXyEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBuYW1lCiAgICBpZiAoICEkUGFyYW17TmFtZX0gKSB7CiAgICAgICAgJFBhcmFte05hbWV9ID0gdGltZSgpIC4gJy0nIC4gcmFuZCgxMDApOwogICAgfQoKICAgICMgY2hlY2sgbnVtYmVyCiAgICBpZiAoICEkUGFyYW17TnVtYmVyfSApIHsKICAgICAgICAkUGFyYW17TnVtYmVyfSA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdTeXN0ZW1JRCcpIC4gcmFuZCgxMDApOwogICAgfQoKICAgICMgc2V0IGRlZmF1bHQgdG8gbm90IGFwcHJvdmVkCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkFwcHJvdmFsUmVxdWlyZWQnKSApIHsKICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXtBcHByb3ZlZH0gKSB7CiAgICAgICAgICAgICRQYXJhbXtBcHByb3ZlZH0gPSAwOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgewogICAgICAgICRQYXJhbXtBcHByb3ZlZH0gPSAxOwogICAgfQoKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgIFNRTCA9PiAnSU5TRVJUIElOVE8gZmFxX2l0ZW0gKGZfbnVtYmVyLCBmX25hbWUsIGZfbGFuZ3VhZ2VfaWQsIGZfc3ViamVjdCwgJyAuCiAgICAgICAgICAgICcgY2F0ZWdvcnlfaWQsIHN0YXRlX2lkLCBmX2tleXdvcmRzLCBhcHByb3ZlZCwgJyAuCiAgICAgICAgICAgICcgZl9maWVsZDEsIGZfZmllbGQyLCBmX2ZpZWxkMywgZl9maWVsZDQsIGZfZmllbGQ1LCBmX2ZpZWxkNiwgJyAuCiAgICAgICAgICAgICcgZnJlZV9rZXkxLCBmcmVlX3ZhbHVlMSwgZnJlZV9rZXkyLCBmcmVlX3ZhbHVlMiwgJyAuCiAgICAgICAgICAgICcgZnJlZV9rZXkzLCBmcmVlX3ZhbHVlMywgZnJlZV9rZXk0LCBmcmVlX3ZhbHVlNCwgJyAuCiAgICAgICAgICAgICcgY3JlYXRlZCwgY3JlYXRlZF9ieSwgY2hhbmdlZCwgY2hhbmdlZF9ieSknIC4KICAgICAgICAgICAgJyBWQUxVRVMgJyAuCiAgICAgICAgICAgICcgKD8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sID8sICcgLgogICAgICAgICAgICAnID8sID8sID8sID8sIGN1cnJlbnRfdGltZXN0YW1wLCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgPyknLAogICAgICAgIEJpbmQgPT4gWwogICAgICAgICAgICBcJFBhcmFte051bWJlcn0sICAgICBcJFBhcmFte05hbWV9LCAgICAgIFwkUGFyYW17TGFuZ3VhZ2VJRH0sIFwkUGFyYW17VGl0bGV9LAogICAgICAgICAgICBcJFBhcmFte0NhdGVnb3J5SUR9LCBcJFBhcmFte1N0YXRlSUR9LCAgIFwkUGFyYW17S2V5d29yZHN9LCAgIFwkUGFyYW17QXBwcm92ZWR9LAogICAgICAgICAgICBcJFBhcmFte0ZpZWxkMX0sICAgICBcJFBhcmFte0ZpZWxkMn0sICAgIFwkUGFyYW17RmllbGQzfSwKICAgICAgICAgICAgXCRQYXJhbXtGaWVsZDR9LCAgICAgXCRQYXJhbXtGaWVsZDV9LCAgICBcJFBhcmFte0ZpZWxkNn0sCiAgICAgICAgICAgIFwkUGFyYW17RnJlZUtleTF9LCAgIFwkUGFyYW17RnJlZVRleHQxfSwgXCRQYXJhbXtGcmVlS2V5Mn0sICAgXCRQYXJhbXtGcmVlVGV4dDJ9LAogICAgICAgICAgICBcJFBhcmFte0ZyZWVLZXkzfSwgICBcJFBhcmFte0ZyZWVUZXh0M30sIFwkUGFyYW17RnJlZUtleTR9LCAgIFwkUGFyYW17RnJlZVRleHQ0fSwKICAgICAgICAgICAgXCRTZWxmLT57VXNlcklEfSwgXCRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgXQogICAgKTsKCiAgICAjIGdldCBpZAogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgID0+ICdTRUxFQ1QgaWQgRlJPTSBmYXFfaXRlbSBXSEVSRSBmX25hbWUgPSA/IEFORCBmX2xhbmd1YWdlX2lkID0gPyBBTkQgZl9zdWJqZWN0ID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17TmFtZX0sIFwkUGFyYW17TGFuZ3VhZ2VJRH0sIFwkUGFyYW17VGl0bGV9LCBdLAogICAgKTsKICAgIG15ICRJRDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJElEID0gJFJvd1swXTsKICAgIH0KCiAgICAjIHVwZGF0ZSBudW1iZXIKICAgIG15ICROdW1iZXIgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnU3lzdGVtSUQnKSAuICcwMCcgLiAkSUQ7CiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICBTUUwgID0+ICdVUERBVEUgZmFxX2l0ZW0gU0VUIGZfbnVtYmVyID0gPyBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJE51bWJlciwgXCRJRCwgXSwKICAgICk7CgogICAgIyBhZGQgaGlzdG9yeQogICAgJFNlbGYtPkZBUUhpc3RvcnlBZGQoCiAgICAgICAgTmFtZSAgID0+ICdDcmVhdGVkJywKICAgICAgICBJdGVtSUQgPT4gJElELAogICAgKTsKCiAgICAjIGNyZWF0ZSBuZXcgYXBwcm92YWwgdGlja2V0CiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkFwcHJvdmFsUmVxdWlyZWQnKSAmJiAhJFBhcmFte0FwcHJvdmVkfSApIHsKICAgICAgICBteSAkT2sgPSAkU2VsZi0+RkFRQXBwcm92YWxUaWNrZXRDcmVhdGUoCiAgICAgICAgICAgIEl0ZW1JRCAgICAgPT4gJElELAogICAgICAgICAgICBDYXRlZ29yeUlEID0+ICRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgRkFRTnVtYmVyICA9PiAkTnVtYmVyLAogICAgICAgICAgICBUaXRsZSAgICAgID0+ICRQYXJhbXtUaXRsZX0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICBTdGF0ZUlEICAgID0+ICRQYXJhbXtTdGF0ZUlEfSwKICAgICAgICApOwogICAgICAgIGlmICggISRPayApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNvdWxkIG5vdCBjcmVhdGUgYXBwcm92YWwgdGlja2V0ISIKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuICRJRDsKfQoKPWl0ZW0gRkFRVXBkYXRlKCkKCnVwZGF0ZSBhbiBhcnRpY2xlCgogICAgJEZBUU9iamVjdC0+RkFRVXBkYXRlKAogICAgICAgIEl0ZW1JRCAgICAgPT4gMTIzLAogICAgICAgIENhdGVnb3J5SUQgPT4gMSwKICAgICAgICBTdGF0ZUlEICAgID0+IDEsCiAgICAgICAgTGFuZ3VhZ2VJRCA9PiAxLAogICAgICAgIFRpdGxlICAgICAgPT4gJ1NvbWUgVGV4dCcsCiAgICAgICAgRmllbGQxICAgICA9PiAnUHJvYmxlbS4uLicsCiAgICAgICAgRmllbGQyICAgICA9PiAnU29sdXRpb24uLi4nLAogICAgICAgIEZyZWVLZXkxICAgPT4gJ1NvZnR3YXJlJywKICAgICAgICBGcmVlVGV4dDEgID0+ICdBcGFjaGUgMy40LjInLAogICAgICAgIEZyZWVLZXkyICAgPT4gJ09TJywKICAgICAgICBGcmVlVGV4dDIgID0+ICdPcGVuQlNEIDQuMi4yJywKICAgICk7Cgo9Y3V0CgpzdWIgRkFRVXBkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSXRlbUlEIENhdGVnb3J5SUQgU3RhdGVJRCBMYW5ndWFnZUlEIFRpdGxlKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNoZWNrIG5hbWUKICAgIGlmICggISRQYXJhbXtOYW1lfSApIHsKICAgICAgICBteSAlQXJ0aWNsZSA9ICRTZWxmLT5GQVFHZXQoJVBhcmFtKTsKICAgICAgICAkUGFyYW17TmFtZX0gPSAkQXJ0aWNsZXtOYW1lfTsKICAgIH0KCiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICBTUUwgPT4gJ1VQREFURSBmYXFfaXRlbSBTRVQgZl9uYW1lID0gPywgZl9sYW5ndWFnZV9pZCA9ID8sIGZfc3ViamVjdCA9ID8sICcgLgogICAgICAgICAgICAnIGNhdGVnb3J5X2lkID0gPywgc3RhdGVfaWQgPSA/LCBmX2tleXdvcmRzID0gPywgZl9maWVsZDEgPSA/LCAnIC4KICAgICAgICAgICAgJyBmX2ZpZWxkMiA9ID8sIGZfZmllbGQzID0gPywgZl9maWVsZDQgPSA/LCBmX2ZpZWxkNSA9ID8sIGZfZmllbGQ2ID0gPywgJyAuCiAgICAgICAgICAgICcgZnJlZV9rZXkxID0gPywgZnJlZV92YWx1ZTEgPSA/LCBmcmVlX2tleTIgPSA/LCBmcmVlX3ZhbHVlMiA9ID8sICcgLgogICAgICAgICAgICAnIGZyZWVfa2V5MyA9ID8sIGZyZWVfdmFsdWUzID0gPywgZnJlZV9rZXk0ID0gPywgZnJlZV92YWx1ZTQgPSA/LCAnIC4KICAgICAgICAgICAgJyBjaGFuZ2VkID0gY3VycmVudF90aW1lc3RhbXAsIGNoYW5nZWRfYnkgPSA/IFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCA9PiBbCiAgICAgICAgICAgIFwkUGFyYW17TmFtZX0sICAgICBcJFBhcmFte0xhbmd1YWdlSUR9LCBcJFBhcmFte1RpdGxlfSwgICAgXCRQYXJhbXtDYXRlZ29yeUlEfSwKICAgICAgICAgICAgXCRQYXJhbXtTdGF0ZUlEfSwgIFwkUGFyYW17S2V5d29yZHN9LCAgIFwkUGFyYW17RmllbGQxfSwgICBcJFBhcmFte0ZpZWxkMn0sCiAgICAgICAgICAgIFwkUGFyYW17RmllbGQzfSwgICBcJFBhcmFte0ZpZWxkNH0sICAgICBcJFBhcmFte0ZpZWxkNX0sICAgXCRQYXJhbXtGaWVsZDZ9LAogICAgICAgICAgICBcJFBhcmFte0ZyZWVLZXkxfSwgXCRQYXJhbXtGcmVlVGV4dDF9LCAgXCRQYXJhbXtGcmVlS2V5Mn0sIFwkUGFyYW17RnJlZVRleHQyfSwKICAgICAgICAgICAgXCRQYXJhbXtGcmVlS2V5M30sIFwkUGFyYW17RnJlZVRleHQzfSwgIFwkUGFyYW17RnJlZUtleTR9LCBcJFBhcmFte0ZyZWVUZXh0NH0sCiAgICAgICAgICAgIFwkU2VsZi0+e1VzZXJJRH0sIFwkUGFyYW17SXRlbUlEfSwKICAgICAgICBdLAogICAgKTsKCiAgICByZXR1cm4gMSBpZiAkUGFyYW17SGlzdG9yeU9mZn07CgogICAgJFNlbGYtPkZBUUhpc3RvcnlBZGQoCiAgICAgICAgTmFtZSAgID0+ICdVcGRhdGVkJywKICAgICAgICBJdGVtSUQgPT4gJFBhcmFte0l0ZW1JRH0sCiAgICApOwoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBBdHRhY2htZW50QWRkKCkKCmFkZCBhcnRpY2xlIGF0dGFjaG1lbnRzCgogICAgbXkgJE9rID0gJEZBUU9iamVjdC0+QXR0YWNobWVudEFkZCgKICAgICAgICBJdGVtSUQgICAgICA9PiAxMjMsCiAgICAgICAgQ29udGVudCAgICAgPT4gJENvbnRlbnQsCiAgICAgICAgQ29udGVudFR5cGUgPT4gJ3RleHQveG1sJywKICAgICAgICBGaWxlbmFtZSAgICA9PiAnc29tZW5hbWUueG1sJywKICAgICAgICBJbmxpbmUgICAgICA9PiAxLCAgICgwfDEsIGRlZmF1bHQgMCkKICAgICk7Cgo9Y3V0CgpzdWIgQXR0YWNobWVudEFkZCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KEl0ZW1JRCBDb250ZW50IENvbnRlbnRUeXBlIEZpbGVuYW1lKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNldCBkZWZhdWx0CiAgICBpZiAoICEkUGFyYW17SW5saW5lfSApIHsKICAgICAgICAkUGFyYW17SW5saW5lfSA9IDA7CiAgICB9CgogICAgIyBnZXQgYXR0YWNobWVudCBzaXplCiAgICB7CiAgICAgICAgdXNlIGJ5dGVzOwogICAgICAgICRQYXJhbXtGaWxlc2l6ZX0gPSBsZW5ndGgoICRQYXJhbXtDb250ZW50fSApOwogICAgICAgIG5vIGJ5dGVzOwogICAgfQoKICAgICMgZG91YmxlIGNoZWNrCiAgICBteSBASW5kZXggPSAkU2VsZi0+QXR0YWNobWVudEluZGV4KAogICAgICAgIEl0ZW1JRCA9PiAkUGFyYW17SXRlbUlEfSwKICAgICk7CiAgICBmb3IgbXkgJEZpbGUgKEBJbmRleCkgewogICAgICAgIGlmICggJEZpbGUtPntGaWxlbmFtZX0gZXEgJFBhcmFte0ZpbGVuYW1lfSAmJiAkUGFyYW17RmlsZXNpemV9ID09ICRGaWxlLT57RmlsZXNpemVSYXd9ICkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZW5jb2RlIGF0dGFjaG1lbnQgaWYgaXQncyBhIHBvc3RncmVzcWwgYmFja2VuZCEhIQogICAgaWYgKCAhJFNlbGYtPntEQk9iamVjdH0tPkdldERhdGFiYXNlRnVuY3Rpb24oJ0RpcmVjdEJsb2InKSApIHsKICAgICAgICAkU2VsZi0+e0VuY29kZU9iamVjdH0tPkVuY29kZU91dHB1dCggXCRQYXJhbXtDb250ZW50fSApOwogICAgICAgICRQYXJhbXtDb250ZW50fSA9IGVuY29kZV9iYXNlNjQoICRQYXJhbXtDb250ZW50fSApOwogICAgfQoKICAgICMgd3JpdGUgYXR0YWNobWVudCB0byBkYgogICAgcmV0dXJuICRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICBTUUwgPT4gJ0lOU0VSVCBJTlRPIGZhcV9hdHRhY2htZW50ICcgLgogICAgICAgICAgICAnIChmYXFfaWQsIGZpbGVuYW1lLCBjb250ZW50X3R5cGUsIGNvbnRlbnRfc2l6ZSwgY29udGVudCwgaW5saW5lYXR0YWNobWVudCwgJyAuCiAgICAgICAgICAgICcgY3JlYXRlZCwgY3JlYXRlZF9ieSwgY2hhbmdlZCwgY2hhbmdlZF9ieSkgVkFMVUVTICcgLgogICAgICAgICAgICAnICg/LCA/LCA/LCA/LCA/LCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgPywgY3VycmVudF90aW1lc3RhbXAsID8pJywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtJdGVtSUR9LCBcJFBhcmFte0ZpbGVuYW1lfSwgXCRQYXJhbXtDb250ZW50VHlwZX0sIFwkUGFyYW17RmlsZXNpemV9LAogICAgICAgICAgICBcJFBhcmFte0NvbnRlbnR9LCBcJFBhcmFte0lubGluZX0sIFwkU2VsZi0+e1VzZXJJRH0sIFwkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgXSwKICAgICk7Cn0KCj1pdGVtIEF0dGFjaG1lbnRHZXQoKQoKZ2V0IGF0dGFjaG1lbnQgb2YgYXJ0aWNsZQoKICAgIG15ICVGaWxlID0gJEZBUU9iamVjdC0+QXR0YWNobWVudEdldCgKICAgICAgICBJdGVtSUQgPT4gMTIzLAogICAgICAgIEZpbGVJRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBBdHRhY2htZW50R2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSXRlbUlEIEZpbGVJRCkpIHsKICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAnU0VMRUNUIGZpbGVuYW1lLCBjb250ZW50X3R5cGUsIGNvbnRlbnRfc2l6ZSwgY29udGVudCAnCiAgICAgICAgICAgIC4gJ0ZST00gZmFxX2F0dGFjaG1lbnQgV0hFUkUgaWQgPSA/IEFORCBmYXFfaWQgPSA/IE9SREVSIEJZIGNyZWF0ZWQnLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte0ZpbGVJRH0sIFwkUGFyYW17SXRlbUlEfSBdLAogICAgICAgIEVuY29kZSA9PiBbIDEsIDEsIDEsIDAgXSwKICAgICAgICBMaW1pdCAgPT4gMSwKICAgICk7CgogICAgbXkgJUZpbGU7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewoKICAgICAgICAjIGRlY29kZSBhdHRhY2htZW50IGlmIGl0J3MgYSBwb3N0Z3Jlc3FsIGJhY2tlbmQgYW5kIG5vdCBCTE9CCiAgICAgICAgaWYgKCAhJFNlbGYtPntEQk9iamVjdH0tPkdldERhdGFiYXNlRnVuY3Rpb24oJ0RpcmVjdEJsb2InKSApIHsKICAgICAgICAgICAgJFJvd1szXSA9IGRlY29kZV9iYXNlNjQoICRSb3dbM10gKTsKICAgICAgICB9CgogICAgICAgICRGaWxle0ZpbGVuYW1lfSAgICA9ICRSb3dbMF07CiAgICAgICAgJEZpbGV7Q29udGVudFR5cGV9ID0gJFJvd1sxXTsKICAgICAgICAkRmlsZXtGaWxlc2l6ZX0gICAgPSAkUm93WzJdOwogICAgICAgICRGaWxle0NvbnRlbnR9ICAgICA9ICRSb3dbM107CiAgICB9CgogICAgcmV0dXJuICVGaWxlOwp9Cgo9aXRlbSBBdHRhY2htZW50RGVsZXRlKCkKCmRlbGV0ZSBhdHRhY2htZW50IG9mIGFydGljbGUKCiAgICBteSAkT2sgPSAkRkFRT2JqZWN0LT5BdHRhY2htZW50RGVsZXRlKAogICAgICAgIEl0ZW1JRCA9PiAxMjMsCiAgICAgICAgRmlsZUlEID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIEF0dGFjaG1lbnREZWxldGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhJdGVtSUQgRmlsZUlEKSkgewogICAgICAgIGlmICggIWRlZmluZWQgJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAkU2VsZi0+e0RCT2JqZWN0fS0+RG8oCiAgICAgICAgU1FMICA9PiAnREVMRVRFIEZST00gZmFxX2F0dGFjaG1lbnQgV0hFUkUgaWQgPSA/IEFORCBmYXFfaWQgPSA/ICcsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17RmlsZUlEfSwgXCRQYXJhbXtJdGVtSUR9IF0sCiAgICApOwp9Cgo9aXRlbSBBdHRhY2htZW50SW5kZXgoKQoKcmV0dXJuIGFuIGF0dGFjaG1lbnQgaW5kZXggb2YgYW4gYXJ0aWNsZQoKICAgIG15IEBJbmRleCA9ICRGQVFPYmplY3QtPkF0dGFjaG1lbnRJbmRleCgKICAgICAgICBJdGVtSUQgPT4gMTIzLAogICAgICAgIFNob3dJbmxpbmUgPT4gMCwgICAoIDB8MSwgZGVmYXVsdCAxKQogICAgKTsKCj1jdXQKCnN1YiBBdHRhY2htZW50SW5kZXggewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhJdGVtSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgU1FMID0+ICdTRUxFQ1QgaWQsIGZpbGVuYW1lLCBjb250ZW50X3R5cGUsIGNvbnRlbnRfc2l6ZSwgaW5saW5lYXR0YWNobWVudCBGUk9NICcKICAgICAgICAgICAgLiAnZmFxX2F0dGFjaG1lbnQgV0hFUkUgZmFxX2lkID0gPyBPUkRFUiBCWSBjcmVhdGVkJywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17SXRlbUlEfSBdLAogICAgICAgIExpbWl0ID0+IDEwMCwKICAgICk7CiAgICBteSBASW5kZXggPSAoKTsKICAgIEFUVEFDSE1FTlQ6CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewoKICAgICAgICBteSAkSUQgICAgICAgICAgPSAkUm93WzBdOwogICAgICAgIG15ICRGaWxlbmFtZSAgICA9ICRSb3dbMV07CiAgICAgICAgbXkgJENvbnRlbnRUeXBlID0gJFJvd1syXTsKICAgICAgICBteSAkRmlsZXNpemUgICAgPSAkUm93WzNdOwogICAgICAgIG15ICRJbmxpbmUgICAgICA9ICRSb3dbNF07CgogICAgICAgICMgZG8gbm90IHNob3cgaW5saW5lIGF0dGFjaG1lbnRzCiAgICAgICAgaWYgKCBkZWZpbmVkICRQYXJhbXtTaG93SW5saW5lfSAmJiAhJFBhcmFte1Nob3dJbmxpbmV9ICYmICRJbmxpbmUgKSB7CiAgICAgICAgICAgIG5leHQgQVRUQUNITUVOVDsKICAgICAgICB9CgogICAgICAgICMgaHVtYW4gcmVhZGFibGUgZmlsZSBzaXplCiAgICAgICAgbXkgJEZpbGVTaXplUmF3ID0gJEZpbGVzaXplOwogICAgICAgIGlmICgkRmlsZXNpemUpIHsKICAgICAgICAgICAgaWYgKCAkRmlsZXNpemUgPiAoIDEwMjQgKiAxMDI0ICkgKSB7CiAgICAgICAgICAgICAgICAkRmlsZXNpemUgPSBzcHJpbnRmICIlLjFmIE1CeXRlcyIsICggJEZpbGVzaXplIC8gKCAxMDI0ICogMTAyNCApICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzaWYgKCAkRmlsZXNpemUgPiAxMDI0ICkgewogICAgICAgICAgICAgICAgJEZpbGVzaXplID0gc3ByaW50ZiAiJS4xZiBLQnl0ZXMiLCAoICggJEZpbGVzaXplIC8gMTAyNCApICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkRmlsZXNpemUgPSAkRmlsZXNpemUgLiAnIEJ5dGVzJzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHVzaCBASW5kZXgsIHsKICAgICAgICAgICAgRmlsZUlEICAgICAgPT4gJElELAogICAgICAgICAgICBGaWxlbmFtZSAgICA9PiAkRmlsZW5hbWUsCiAgICAgICAgICAgIENvbnRlbnRUeXBlID0+ICRDb250ZW50VHlwZSwKICAgICAgICAgICAgRmlsZXNpemUgICAgPT4gJEZpbGVzaXplLAogICAgICAgICAgICBGaWxlc2l6ZVJhdyA9PiAkRmlsZVNpemVSYXcsCiAgICAgICAgfTsKICAgIH0KICAgIHJldHVybiBASW5kZXg7Cn0KCj1pdGVtIEZBUUNvdW50KCkKCmNvdW50IGFuIGFydGljbGUKCiAgICAkRkFRT2JqZWN0LT5GQVFDb3VudCgKICAgICAgICBDYXRlZ29yeUlEcyAgPT4gWzEsMiwzLDRdLAogICAgICAgIE9ubHlBcHByb3ZlZCA9IDEsICAgIyBvcHRpb25hbCAoZGVmYXVsdCAwKQogICAgKTsKCj1jdXQKCnN1YiBGQVFDb3VudCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KENhdGVnb3J5SURzIEl0ZW1TdGF0ZXMpKSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkXyEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgbXkgJFNRTCA9ICdTRUxFQ1QgQ09VTlQoKikgRlJPTSBmYXFfaXRlbSBpLCBmYXFfc3RhdGUgcycgLgogICAgICAgICIgV0hFUkUgaS5jYXRlZ29yeV9pZCBJTiAoJHtcKGpvaW4gJywgJywgQHskUGFyYW17Q2F0ZWdvcnlJRHN9fSl9KSIgLgogICAgICAgICcgQU5EIGkuc3RhdGVfaWQgPSBzLmlkJzsKCiAgICAjIGNvdW50IG9ubHkgYXBwcm92ZWQgYXJ0aWNsZXMKICAgIGlmICggJFBhcmFte09ubHlBcHByb3ZlZH0gKSB7CiAgICAgICAgJFNRTCAuPSAnIEFORCBpLmFwcHJvdmVkID0gMSc7CiAgICB9CgogICAgbXkgJEV4dCA9ICcnOwogICAgaWYgKCAkUGFyYW17SXRlbVN0YXRlc30gJiYgcmVmICRQYXJhbXtJdGVtU3RhdGVzfSBlcSAnSEFTSCcgJiYgJXsgJFBhcmFte0l0ZW1TdGF0ZXN9IH0gKSB7CiAgICAgICAgJEV4dCAuPSAiIEFORCBzLnR5cGVfaWQgSU4gKCR7XChqb2luICcsICcsIGtleXMoJXskUGFyYW17SXRlbVN0YXRlc319KSl9KSI7CiAgICB9CiAgICAkRXh0IC49ICcgR1JPVVAgQlkgY2F0ZWdvcnlfaWQnOwogICAgJFNRTCAuPSAkRXh0OwoKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgU1FMICAgPT4gJFNRTCwKICAgICAgICBMaW1pdCA9PiAyMDAKICAgICk7CgogICAgbXkgJENvdW50ID0gMDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJENvdW50ID0gJFJvd1swXTsKICAgIH0KICAgIHJldHVybiAkQ291bnQ7Cn0KCj1pdGVtIFZvdGVBZGQoKQoKYWRkIGEgdm90ZQoKICAgIG15ICRPayA9ICRGQVFPYmplY3QtPlZvdGVBZGQoCiAgICAgICAgQ3JlYXRlZEJ5ID0+ICdTb21lIFRleHQnLAogICAgICAgIEl0ZW1JRCAgICA9PiAnMTIzNDU2JywKICAgICAgICBJUCAgICAgICAgPT4gJzU0LjQzLjMwLjEnLAogICAgICAgIEludGVyZmFjZSA9PiAnU29tZSBUZXh0JywKICAgICAgICBSYXRlICAgICAgPT4gMTAwLAogICAgKTsKCj1jdXQKCnN1YiBWb3RlQWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoQ3JlYXRlZEJ5IEl0ZW1JRCBJUCBJbnRlcmZhY2UpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgIFNRTCA9PiAnSU5TRVJUIElOVE8gZmFxX3ZvdGluZyAoY3JlYXRlZF9ieSwgaXRlbV9pZCwgaXAsIGludGVyZmFjZSwgcmF0ZSwgY3JlYXRlZCApJwogICAgICAgICAgICAuICcgVkFMVUVTICggPywgPywgPywgPywgPywgY3VycmVudF90aW1lc3RhbXAgKScsCiAgICAgICAgQmluZCA9PiBbCiAgICAgICAgICAgIFwkUGFyYW17Q3JlYXRlZEJ5fSwgXCRQYXJhbXtJdGVtSUR9LCBcJFBhcmFte0lQfSwgXCRQYXJhbXtJbnRlcmZhY2V9LAogICAgICAgICAgICBcJFBhcmFte1JhdGV9LAogICAgICAgIF0sCiAgICApOwoKICAgICMgZGVsZXRlIGNhY2hlCiAgICBteSAkQ2FjaGVLZXkgPSAnSXRlbVZvdGVEYXRhR2V0OjonIC4gJFBhcmFte0l0ZW1JRH07CiAgICAkU2VsZi0+e0NhY2hlT2JqZWN0fS0+RGVsZXRlKAogICAgICAgIFR5cGUgPT4gJ0ZBUScsCiAgICAgICAgS2V5ICA9PiAkQ2FjaGVLZXksCiAgICApOwoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBWb3RlR2V0KCkKCmdldCBhIHZvdGUKCiAgICBteSAlVm90ZURhdGEgPSAleyRGQVFPYmplY3QtPlZvdGVHZXQoCiAgICAgICAgQ3JlYXRlQnkgID0+ICdTb21lIFRleHQnLAogICAgICAgIEl0ZW1JRCAgICA9PiAnMTIzNDU2JywKICAgICAgICBJUCAgICAgICAgPT4gJzEyNy4wLjAuMScsCiAgICAgICAgSW50ZXJmYWNlID0+ICdTb21lIFRleHQnLAogICAgKX07Cgo9Y3V0CgpzdWIgVm90ZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KENyZWF0ZUJ5IEl0ZW1JRCBJbnRlcmZhY2UgSVApKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgfQogICAgfQoKICAgICMgZGIgcXVvdGUKICAgIGZvciAocXcoQ3JlYXRlZEJ5IEludGVyZmFjZSBJUCkpIHsKICAgICAgICAkUGFyYW17JF99ID0gJFNlbGYtPntEQk9iamVjdH0tPlF1b3RlKCAkUGFyYW17JF99ICk7CiAgICB9CiAgICBmb3IgKHF3KEl0ZW1JRCkpIHsKICAgICAgICAkUGFyYW17JF99ID0gJFNlbGYtPntEQk9iamVjdH0tPlF1b3RlKCAkUGFyYW17JF99LCAnSW50ZWdlcicgKTsKICAgIH0KCiAgICBteSAkRXh0ID0gIiI7CiAgICBteSAkU1FMID0gIiBTRUxFQ1QgY3JlYXRlZF9ieSwgaXRlbV9pZCwgaW50ZXJmYWNlLCBpcCwgY3JlYXRlZCwgcmF0ZSBGUk9NIGZhcV92b3RpbmcgV0hFUkUiOwoKICAgICMgcHVibGljCiAgICBpZiAoICRQYXJhbXtJbnRlcmZhY2V9IGVxICczJyApIHsKICAgICAgICAkRXh0IC49ICIgaXAgPSAnJFBhcmFte0lQfScgQU5EIiAuCiAgICAgICAgICAgICIgaXRlbV9pZCA9ICRQYXJhbXtJdGVtSUR9IjsKCiAgICAgICAgIyBjdXN0b21lcgogICAgfQogICAgZWxzaWYgKCAkUGFyYW17SW50ZXJmYWNlfSBlcSAnMicgKSB7CiAgICAgICAgJEV4dCAuPSAiIGNyZWF0ZWRfYnkgPSAnJFBhcmFte0NyZWF0ZUJ5fScgQU5EIiAuCiAgICAgICAgICAgICIgaXRlbV9pZCA9ICRQYXJhbXtJdGVtSUR9IjsKCiAgICAgICAgIyBpbnRlcm5hbAogICAgfQogICAgZWxzaWYgKCAkUGFyYW17SW50ZXJmYWNlfSBlcSAnMScgKSB7CiAgICAgICAgJEV4dCAuPSAiIGNyZWF0ZWRfYnkgPSAnJFBhcmFte0NyZWF0ZUJ5fScgQU5EIiAuCiAgICAgICAgICAgICIgaXRlbV9pZCA9ICRQYXJhbXtJdGVtSUR9IjsKICAgIH0KICAgICRTUUwgLj0gJEV4dDsKCiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKCBTUUwgPT4gJFNRTCApOwogICAgbXkgJURhdGE7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICVEYXRhID0gKAogICAgICAgICAgICBDcmVhdGVkQnkgPT4gJFJvd1swXSwKICAgICAgICAgICAgSXRlbUlEICAgID0+ICRSb3dbMV0sCiAgICAgICAgICAgIEludGVyZmFjZSA9PiAkUm93WzJdLAogICAgICAgICAgICBJUCAgICAgICAgPT4gJFJvd1szXSwKICAgICAgICAgICAgQ3JlYXRlZCAgID0+ICRSb3dbNF0sCiAgICAgICAgICAgIFJhdGUgICAgICA9PiAkUm93WzVdLAogICAgICAgICk7CiAgICB9CgogICAgcmV0dXJuIHt9IGlmICElRGF0YTsKCiAgICByZXR1cm4gXCVEYXRhOwp9Cgo9aXRlbSBWb3RlU2VhcmNoKCkKCnJldHVybnMgYSBhcnJheSB3aXRoIFZvdGVJRHMKCiAgICBteSBAVm90ZUlEcyA9IEB7JEZBUU9iamVjdC0+Vm90ZVNlYXJjaCgKICAgICAgICBJdGVtSUQgPT4gMSwKICAgICl9OwoKPWN1dAoKc3ViIFZvdGVTZWFyY2ggewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhJdGVtSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gW107CiAgICAgICAgfQogICAgfQoKICAgICMgZGIgcXVvdGUKICAgIGZvciAocXcoSXRlbUlEKSkgewogICAgICAgICRQYXJhbXskX30gPSAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoICRQYXJhbXskX30sICdJbnRlZ2VyJyApOwogICAgfQoKICAgIG15ICRTUUwgPSAnU0VMRUNUIGlkIEZST00gZmFxX3ZvdGluZyBXSEVSRSc7CiAgICBpZiAoIGRlZmluZWQgJFBhcmFte0l0ZW1JRH0gKSB7CiAgICAgICAgJFNRTCAuPSAnIGl0ZW1faWQgPSAnIC4gJFBhcmFte0l0ZW1JRH07CiAgICB9CgogICAgbXkgQExpc3Q7CiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUwsCiAgICAgICAgTGltaXQgPT4gJFBhcmFte0xpbWl0fSB8fCA1MDAKICAgICk7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgIHB1c2ggQExpc3QsICRSb3dbMF07CiAgICB9CiAgICByZXR1cm4gXEBMaXN0Owp9Cgo9aXRlbSBWb3RlRGVsZXRlKCkKCmRlbGV0ZSBhIHZvdGUKCiAgICBteSAkT2sgPSAkRkFRT2JqZWN0LT5Wb3RlRGVsZXRlKAogICAgICAgIFZvdGVJRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBWb3RlRGVsZXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoVm90ZUlEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAkU2VsZi0+e0RCT2JqZWN0fS0+RG8oCiAgICAgICAgU1FMICA9PiAnREVMRVRFIEZST00gZmFxX3ZvdGluZyBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte1ZvdGVJRH0gXSwKICAgICk7Cn0KCj1pdGVtIEZBUURlbGV0ZSgpCgpkZWxldGUgYW4gYXJ0aWNsZQoKICAgICRGbGFnID0gJEZBUU9iamVjdC0+RkFRRGVsZXRlKAogICAgICAgIEl0ZW1JRCA9PiAxLAogICAgICAgIFVzZXJJRCA9PiAxMjMsCiAgICApOwoKPWN1dAoKc3ViIEZBUURlbGV0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KEl0ZW1JRCBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZGVsZXRlIGF0dGFjaG1lbnRzCiAgICBteSBASW5kZXggPSAkU2VsZi0+QXR0YWNobWVudEluZGV4KAogICAgICAgIEl0ZW1JRCA9PiAkUGFyYW17SXRlbUlEfSwKICAgICk7CiAgICBmb3IgbXkgJEZpbGVJRCAoQEluZGV4KSB7CiAgICAgICAgcmV0dXJuIGlmICEkU2VsZi0+QXR0YWNobWVudERlbGV0ZSggJVBhcmFtLCBGaWxlSUQgPT4gJEZpbGVJRC0+e0ZpbGVJRH0gKTsKICAgIH0KCiAgICAjIGRlbGV0ZSB2b3RlcwogICAgbXkgQFZvdGVJRHMgPSBAeyAkU2VsZi0+Vm90ZVNlYXJjaCggSXRlbUlEID0+ICRQYXJhbXtJdGVtSUR9ICkgfTsKICAgIGZvciBteSAkVG1wVm90ZUlEIChAVm90ZUlEcykgewogICAgICAgIGlmICggISRTZWxmLT5Wb3RlRGVsZXRlKCBWb3RlSUQgPT4gJFRtcFZvdGVJRCApICkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZGVsZXRlIGZhcSBsaW5rcwogICAgbXkgJExpbmtPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6TGlua09iamVjdC0+bmV3KAogICAgICAgICVQYXJhbSwKICAgICAgICAleyRTZWxmfSwKICAgICAgICBUaWNrZXRPYmplY3QgPT4gJFNlbGYsCiAgICApOwoKICAgICRMaW5rT2JqZWN0LT5MaW5rRGVsZXRlQWxsKAogICAgICAgIE9iamVjdCA9PiAnRkFRJywKICAgICAgICBLZXkgICAgPT4gJFBhcmFte0l0ZW1JRH0sCiAgICAgICAgVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGRlbGV0ZSBoaXN0b3J5CiAgICByZXR1cm4gaWYgISRTZWxmLT5GQVFIaXN0b3J5RGVsZXRlKCVQYXJhbSk7CgogICAgIyBkZWxldGUgYXJ0aWNsZQogICAgcmV0dXJuICRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICBTUUwgID0+ICdERUxFVEUgRlJPTSBmYXFfaXRlbSBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte0l0ZW1JRH0gXSwKICAgICk7Cn0KCj1pdGVtIEZBUUhpc3RvcnlBZGQoKQoKYWRkIGFuIGhpc3RvcnkgdG8gYW4gYXJ0aWNsZQoKICAgICRGbGFnID0gJEZBUU9iamVjdC0+RkFRSGlzdG9yeUFkZCgKICAgICAgICBJdGVtSUQgPT4gMSwKICAgICAgICBOYW1lICAgPT4gJ1VwZGF0ZWQgQXJ0aWNsZS4nLAogICAgKTsKCj1jdXQKCnN1YiBGQVFIaXN0b3J5QWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSXRlbUlEIE5hbWUpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAkU2VsZi0+e0RCT2JqZWN0fS0+RG8oCiAgICAgICAgU1FMID0+ICdJTlNFUlQgSU5UTyBmYXFfaGlzdG9yeSAobmFtZSwgaXRlbV9pZCwgJyAuCiAgICAgICAgICAgICcgY3JlYXRlZCwgY3JlYXRlZF9ieSwgY2hhbmdlZCwgY2hhbmdlZF9ieSknIC4KICAgICAgICAgICAgJyBWQUxVRVMgKCA/LCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgPywgY3VycmVudF90aW1lc3RhbXAsID8pJywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtOYW1lfSwgXCRQYXJhbXtJdGVtSUR9LCBcJFNlbGYtPntVc2VySUR9LCBcJFNlbGYtPntVc2VySUR9LAogICAgICAgIF0sCiAgICApOwp9Cgo9aXRlbSBGQVFIaXN0b3J5R2V0KCkKCmdldCBhbiBhcnJheSB3aXRoIGhhc2hyZWYgKE5hbWUsIENyZWF0ZWQpIHdpdGggaGlzdG9yeSBvZiBhbiBhcnRpY2xlIGJhY2sKCiAgICBteSBARGF0YSA9IEB7JEZBUU9iamVjdC0+RkFRSGlzdG9yeUdldCgKICAgICAgICBJdGVtSUQgPT4gMSwKICAgICl9OwoKPWN1dAoKc3ViIEZBUUhpc3RvcnlHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhJdGVtSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gW107CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgU1FMICA9PiAnU0VMRUNUIG5hbWUsIGNyZWF0ZWQsIGNyZWF0ZWRfYnkgRlJPTSBmYXFfaGlzdG9yeSBXSEVSRSBpdGVtX2lkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17SXRlbUlEfSBdLAogICAgKTsKICAgIG15IEBEYXRhOwogICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBteSAlUmVjb3JkID0gKAogICAgICAgICAgICBOYW1lICAgICAgPT4gJFJvd1swXSwKICAgICAgICAgICAgQ3JlYXRlZCAgID0+ICRSb3dbMV0sCiAgICAgICAgICAgIENyZWF0ZWRCeSA9PiAkUm93WzJdLAogICAgICAgICk7CiAgICAgICAgcHVzaCBARGF0YSwgXCVSZWNvcmQ7CiAgICB9CiAgICByZXR1cm4gXEBEYXRhOwp9Cgo9aXRlbSBGQVFIaXN0b3J5RGVsZXRlKCkKCmRlbGV0ZSBhbiBoaXN0b3J5IG9mIGFuIGFydGljbGUKCiAgICAkRkFRT2JqZWN0LT5GQVFIaXN0b3J5RGVsZXRlKAogICAgICAgIEl0ZW1JRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBGQVFIaXN0b3J5RGVsZXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSXRlbUlEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICBTUUwgID0+ICdERUxFVEUgRlJPTSBmYXFfaGlzdG9yeSBXSEVSRSBpdGVtX2lkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17SXRlbUlEfSBdLAogICAgKTsKfQoKPWl0ZW0gSGlzdG9yeUdldCgpCgpnZXQgdGhlIHN5c3RlbSBoaXN0b3J5CgogICAgbXkgQERhdGEgPSBAeyRGQVFPYmplY3QtPkhpc3RvcnlHZXQoKX07Cgo9Y3V0CgpzdWIgSGlzdG9yeUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgcXVlcnkKICAgIG15ICRTUUwgPSAnU0VMRUNUIGkuaWQsIGgubmFtZSwgaC5jcmVhdGVkLCBoLmNyZWF0ZWRfYnksIGMubmFtZSwgaS5mX3N1YmplY3QsIGkuZl9udW1iZXIgRlJPTScgLgogICAgICAgICcgZmFxX2l0ZW0gaSwgZmFxX3N0YXRlIHMsIGZhcV9oaXN0b3J5IGgsIGZhcV9jYXRlZ29yeSBjIFdIRVJFJyAuCiAgICAgICAgJyBzLmlkID0gaS5zdGF0ZV9pZCBBTkQgaC5pdGVtX2lkID0gaS5pZCBBTkQgaS5jYXRlZ29yeV9pZCA9IGMuaWQnOwogICAgaWYgKCAkUGFyYW17U3RhdGVzfSAmJiByZWYgJFBhcmFte1N0YXRlc30gZXEgJ0FSUkFZJyAmJiBAeyAkUGFyYW17U3RhdGVzfSB9ICkgewogICAgICAgICRTUUwgLj0gIiBBTkQgcy5uYW1lIElOICgnJHtcKGpvaW4gJ1wnLCBcJycsIEB7JFBhcmFte1N0YXRlc319KX0nKSAiOwogICAgfQogICAgJFNRTCAuPSAnIE9SREVSIEJZIGNyZWF0ZWQgREVTQyc7CiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUwsCiAgICAgICAgTGltaXQgPT4gMjAwCiAgICApOwogICAgbXkgQERhdGE7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgIG15ICVSZWNvcmQgPSAoCiAgICAgICAgICAgIEl0ZW1JRCAgICA9PiAkUm93WzBdLAogICAgICAgICAgICBBY3Rpb24gICAgPT4gJFJvd1sxXSwKICAgICAgICAgICAgQ3JlYXRlZCAgID0+ICRSb3dbMl0sCiAgICAgICAgICAgIENyZWF0ZWRCeSA9PiAkUm93WzNdLAogICAgICAgICAgICBDYXRlZ29yeSAgPT4gJFJvd1s0XSwKICAgICAgICAgICAgU3ViamVjdCAgID0+ICRSb3dbNV0sCiAgICAgICAgICAgIE51bWJlciAgICA9PiAkUm93WzZdLAogICAgICAgICk7CiAgICAgICAgcHVzaCBARGF0YSwgXCVSZWNvcmQ7CiAgICB9CiAgICByZXR1cm4gXEBEYXRhOwp9Cgo9aXRlbSBDYXRlZ29yeUxpc3QoKQoKZ2V0IHRoZSBjYXRlZ29yeSBsaXN0IGFzIGhhc2gKCiAgICBteSAlQ2F0ZWdvcmllcyA9ICV7JEZBUU9iamVjdC0+Q2F0ZWdvcnlMaXN0KAogICAgICAgIFZhbGlkID0+IDEsCiAgICApfTsKCj1jdXQKCnN1YiBDYXRlZ29yeUxpc3QgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkVmFsaWQgPSAwOwogICAgaWYgKCBkZWZpbmVkICRQYXJhbXtWYWxpZH0gKSB7CiAgICAgICAgJFZhbGlkID0gJFBhcmFte1ZhbGlkfTsKICAgIH0KCiAgICAjIGNoZWNrIGNhY2hlCiAgICBpZiAoICRTZWxmLT57Q2FjaGV9LT57Q2F0ZWdvcnlMaXN0fS0+eyRWYWxpZH0gKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT57Q2FjaGV9LT57Q2F0ZWdvcnlMaXN0fS0+eyRWYWxpZH07CiAgICB9CgogICAgIyBzcWwKICAgIG15ICRTUUwgPSAnU0VMRUNUIGlkLCBwYXJlbnRfaWQsIG5hbWUgRlJPTSBmYXFfY2F0ZWdvcnkgJzsKICAgIGlmICgkVmFsaWQpIHsKICAgICAgICAkU1FMIC49ICdXSEVSRSB2YWxpZF9pZCA9IDEnOwogICAgfQogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSggU1FMID0+ICRTUUwgKTsKICAgIG15ICVEYXRhOwogICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkRGF0YXsgJFJvd1sxXSB9LT57ICRSb3dbMF0gfSA9ICRSb3dbMl07CiAgICB9CgogICAgIyBjYWNoZQogICAgJFNlbGYtPntDYWNoZX0tPntDYXRlZ29yeUxpc3R9LT57JFZhbGlkfSA9IFwlRGF0YTsKCiAgICByZXR1cm4gXCVEYXRhOwp9Cgo9aXRlbSBDYXRlZ29yeVNlYXJjaCgpCgpnZXQgdGhlIGNhdGVnb3J5IHNlYXJjaCBhcyBoYXNoCgogICAgbXkgQENhdGVnb3J5SURzID0gQHskRkFRT2JqZWN0LT5DYXRlZ29yeVNlYXJjaCgKICAgICAgICBOYW1lICAgICAgICA9PiAnVGVzdCcsCiAgICAgICAgUGFyZW50SUQgICAgPT4gMywKICAgICAgICBQYXJlbnRJRHMgICA9PiBbIDEsIDMsIDhdLAogICAgICAgIENhdGVnb3J5SURzID0+IFsgMiwgNSwgNyBdLAogICAgICAgIE9yZGVyICAgICAgID0+ICdOYW1lJywKICAgICAgICBTb3J0ICAgICAgICA9PiAnZG93bicsCiAgICApfTsKCj1jdXQKCnN1YiBDYXRlZ29yeVNlYXJjaCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgc3FsCiAgICBteSAkU1FMID0gIlNFTEVDVCBpZCBGUk9NIGZhcV9jYXRlZ29yeSBXSEVSRSB2YWxpZF9pZCA9IDEgIjsKICAgIG15ICRFeHQgPSAnJzsKCiAgICAjIFdIRVJFCiAgICBpZiAoIGRlZmluZWQgJFBhcmFte05hbWV9ICkgewogICAgICAgICRFeHQgLj0gIiBBTkQgbmFtZSBMSUtFICclIiAuICRTZWxmLT57REJPYmplY3R9LT5RdW90ZSggJFBhcmFte05hbWV9ICkgLiAiJSciOwogICAgfQogICAgZWxzaWYgKCBkZWZpbmVkICRQYXJhbXtQYXJlbnRJRH0gKSB7CiAgICAgICAgJEV4dAogICAgICAgICAgICAuPSAiIEFORCBwYXJlbnRfaWQgPSAnIiAuICRTZWxmLT57REJPYmplY3R9LT5RdW90ZSggJFBhcmFte1BhcmVudElEfSwgJ0ludGVnZXInICkgLiAiJyI7CiAgICB9CiAgICBlbHNpZiAoCiAgICAgICAgZGVmaW5lZCAkUGFyYW17UGFyZW50SURzfQogICAgICAgICYmIHJlZiAkUGFyYW17UGFyZW50SURzfSBlcSAnQVJSQVknCiAgICAgICAgJiYgQHsgJFBhcmFte1BhcmVudElEc30gfQogICAgICAgICkKICAgIHsKICAgICAgICAkRXh0ID0gIiBBTkQgcGFyZW50X2lkIElOICgiOwogICAgICAgIGZvciBteSAkUGFyZW50SUQgKCBAeyAkUGFyYW17UGFyZW50SURzfSB9ICkgewogICAgICAgICAgICAkRXh0IC49ICRTZWxmLT57REJPYmplY3R9LT5RdW90ZSggJFBhcmVudElELCAnSW50ZWdlcicgKSAuICIsIjsKICAgICAgICB9CiAgICAgICAgJEV4dCA9IHN1YnN0ciggJEV4dCwgMCwgLTEgKTsKICAgICAgICAkRXh0IC49ICIpIjsKICAgIH0KICAgIGVsc2lmICgKICAgICAgICBkZWZpbmVkICRQYXJhbXtDYXRlZ29yeUlEc30KICAgICAgICAmJiByZWYgJFBhcmFte0NhdGVnb3J5SURzfSBlcSAnQVJSQVknCiAgICAgICAgJiYgQHsgJFBhcmFte0NhdGVnb3J5SURzfSB9CiAgICAgICAgKQogICAgewogICAgICAgICRFeHQgPSAiIEFORCBpZCBJTiAoIjsKICAgICAgICBmb3IgbXkgJENhdGVnb3J5SUQgKCBAeyAkUGFyYW17Q2F0ZWdvcnlJRHN9IH0gKSB7CiAgICAgICAgICAgICRFeHQgLj0gJFNlbGYtPntEQk9iamVjdH0tPlF1b3RlKCAkQ2F0ZWdvcnlJRCwgJ0ludGVnZXInICkgLiAiLCI7CiAgICAgICAgfQogICAgICAgICRFeHQgPSBzdWJzdHIoICRFeHQsIDAsIC0xICk7CiAgICAgICAgJEV4dCAuPSAiKSI7CiAgICB9CgogICAgIyBPUkRFUiBCWQogICAgaWYgKCAkUGFyYW17T3JkZXJ9ICkgewogICAgICAgICRFeHQgLj0gIiBPUkRFUiBCWSAiOwogICAgICAgIGlmICggJFBhcmFte09yZGVyfSBlcSAnTmFtZScgKSB7CiAgICAgICAgICAgICRFeHQgLj0gIm5hbWUiOwogICAgICAgIH0KCiAgICAgICAgI2RlZmF1bHQKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJEV4dCAuPSAibmFtZSI7CiAgICAgICAgfQoKICAgICAgICAjIFNPUlQKICAgICAgICBpZiAoICRQYXJhbXtTb3J0fSApIHsKICAgICAgICAgICAgaWYgKCAkUGFyYW17U29ydH0gZXEgJ3VwJyApIHsKICAgICAgICAgICAgICAgICRFeHQgLj0gIiBBU0MiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJFBhcmFte1NvcnR9IGVxICdkb3duJyApIHsKICAgICAgICAgICAgICAgICRFeHQgLj0gIiBERVNDIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAjIFNRTCBTVEFURU1FTlQKICAgICRTUUwgLj0gJEV4dDsKCiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUwsCiAgICAgICAgTGltaXQgPT4gNTAwCiAgICApOwogICAgbXkgQExpc3Q7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgIHB1c2ggQExpc3QsICRSb3dbMF07CiAgICB9CiAgICByZXR1cm4gXEBMaXN0Owp9Cgo9aXRlbSBDYXRlZ29yeUdldCgpCgpnZXQgYSBjYXRlZ29yeSBhcyBoYXNoCgogICAgbXkgJUNhdGVnb3J5ID0gJEZBUU9iamVjdC0+Q2F0ZWdvcnlHZXQoCiAgICAgICAgSUQgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgQ2F0ZWdvcnlHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhDYXRlZ29yeUlEKSkgewogICAgICAgIGlmICggIWRlZmluZWQgJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgY2hlY2sgY2FjaGUKICAgIG15ICRDYWNoZUtleSA9ICdDYXRlZ29yeUdldDo6JyAuICRQYXJhbXtDYXRlZ29yeUlEfTsKICAgIG15ICRDYWNoZSAgICA9ICRTZWxmLT57Q2FjaGVPYmplY3R9LT5HZXQoCiAgICAgICAgVHlwZSA9PiAnRkFRJywKICAgICAgICBLZXkgID0+ICRDYWNoZUtleSwKICAgICk7CiAgICByZXR1cm4gJXskQ2FjaGV9IGlmICRDYWNoZTsKCiAgICAjIHNxbAogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgID0+ICdTRUxFQ1QgaWQsIHBhcmVudF9pZCwgbmFtZSwgY29tbWVudHMsIHZhbGlkX2lkIEZST00gZmFxX2NhdGVnb3J5IFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17Q2F0ZWdvcnlJRH0gXSwKICAgICk7CiAgICBteSAlRGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJURhdGEgPSAoCiAgICAgICAgICAgIENhdGVnb3J5SUQgPT4gJFJvd1swXSwKICAgICAgICAgICAgUGFyZW50SUQgICA9PiAkUm93WzFdLAogICAgICAgICAgICBOYW1lICAgICAgID0+ICRSb3dbMl0sCiAgICAgICAgICAgIENvbW1lbnQgICAgPT4gJFJvd1szXSwKICAgICAgICAgICAgVmFsaWRJRCAgICA9PiAkUm93WzRdLAogICAgICAgICk7CiAgICB9CgogICAgIyBjYWNoZSByZXN1bHQKICAgICRTZWxmLT57Q2FjaGVPYmplY3R9LT5TZXQoCiAgICAgICAgVHlwZSAgPT4gJ0ZBUScsCiAgICAgICAgS2V5ICAgPT4gJENhY2hlS2V5LAogICAgICAgIFZhbHVlID0+IFwlRGF0YSwKICAgICAgICBUVEwgICA9PiA2MCAqIDYwICogMjQgKiAyLAogICAgKTsKCiAgICByZXR1cm4gJURhdGE7Cn0KCj1pdGVtIENhdGVnb3J5U3ViQ2F0ZWdvcnlJRExpc3QoKQoKZ2V0IGFsbCBzdWJjYXRlZ29yeSBpZHMgb2Ygb2YgYSBjYXRlZ29yeQoKICAgIG15IEBTdWJDYXRlZ29yeUlEcyA9ICRGQVFPYmplY3QtPkNhdGVnb3J5U3ViQ2F0ZWdvcnlJRExpc3QoCiAgICAgICAgUGFyZW50SUQgICAgID0+IDEsCiAgICAgICAgTW9kZSAgICAgICAgID0+ICdQdWJsaWMnLCAjIChBZ2VudCwgQ3VzdG9tZXIsIFB1YmxpYykKICAgICAgICBDdXN0b21lclVzZXIgPT4gJ3R0JywKICAgICk7Cgo9Y3V0CgpzdWIgQ2F0ZWdvcnlTdWJDYXRlZ29yeUlETGlzdCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KFBhcmVudElEKSkgewogICAgICAgIGlmICggIWRlZmluZWQgJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gW107CiAgICAgICAgfQogICAgfQoKICAgIG15ICRDYXRlZ29yaWVzID0ge307CgogICAgaWYgKCAkUGFyYW17TW9kZX0gJiYgJFBhcmFte01vZGV9IGVxICdBZ2VudCcgKSB7CgogICAgICAgICMgZ2V0IGFnZW50cyBjYXRlZ29yaWVzCiAgICAgICAgJENhdGVnb3JpZXMgPSAkU2VsZi0+R2V0VXNlckNhdGVnb3JpZXMoCiAgICAgICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgVHlwZSAgID0+ICdybycKICAgICAgICApOwogICAgfQogICAgZWxzaWYgKCAkUGFyYW17TW9kZX0gJiYgJFBhcmFte01vZGV9IGVxICdDdXN0b21lcicgKSB7CgogICAgICAgICMgZ2V0IGN1c3RvbWVyIGNhdGVnb3JpZXMKICAgICAgICAkQ2F0ZWdvcmllcyA9ICRTZWxmLT5HZXRDdXN0b21lckNhdGVnb3JpZXMoCiAgICAgICAgICAgIEN1c3RvbWVyVXNlciA9PiAkUGFyYW17Q3VzdG9tZXJVc2VyfSwKICAgICAgICAgICAgVHlwZSAgICAgICAgID0+ICdybycsCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2UgewoKICAgICAgICAjIGdldCBhbGwgY2F0ZWdvcmllcwogICAgICAgICRDYXRlZ29yaWVzID0gJFNlbGYtPkNhdGVnb3J5TGlzdCgKICAgICAgICAgICAgVmFsaWQgPT4gMSwKICAgICAgICApOwogICAgfQoKICAgIG15IEBTdWJDYXRlZ29yeUlEcyAgICAgPSAoKTsKICAgIG15IEBUZW1wU3ViQ2F0ZWdvcnlJRHMgPSBrZXlzICV7ICRDYXRlZ29yaWVzLT57ICRQYXJhbXtQYXJlbnRJRH0gfSB9OwogICAgU1VCQ0FURUdPUllJRDoKICAgIHdoaWxlIChAVGVtcFN1YkNhdGVnb3J5SURzKSB7CgogICAgICAgICMgZ2V0IG5leHQgc3ViY2F0ZWdvcnkgaWQKICAgICAgICBteSAkU3ViQ2F0ZWdvcnlJRCA9IHNoaWZ0IEBUZW1wU3ViQ2F0ZWdvcnlJRHM7CgogICAgICAgICMgYWRkIHRvIHJlc3VsdAogICAgICAgIHB1c2ggQFN1YkNhdGVnb3J5SURzLCAkU3ViQ2F0ZWdvcnlJRDsKCiAgICAgICAgIyBjaGVjayBpZiBzdWJjYXRlZ29yeSBoYXMgb3duIHN1YmNhdGVnb3JpZXMKICAgICAgICBuZXh0IFNVQkNBVEVHT1JZSUQgaWYgISRDYXRlZ29yaWVzLT57JFN1YkNhdGVnb3J5SUR9OwoKICAgICAgICAjIGFkZCBuZXcgc3ViY2F0ZWdvcmllcwogICAgICAgIHB1c2ggQFRlbXBTdWJDYXRlZ29yeUlEcywga2V5cyAleyAkQ2F0ZWdvcmllcy0+eyRTdWJDYXRlZ29yeUlEfSB9OwogICAgfQoKICAgICMgc29ydCBzdWJjYXRlZ29yaWVzIG51bWVyaWNhbGx5CiAgICBAU3ViQ2F0ZWdvcnlJRHMgPSBzb3J0IHsgJGEgPD0+ICRiIH0gQFN1YkNhdGVnb3J5SURzOwoKICAgIHJldHVybiBcQFN1YkNhdGVnb3J5SURzOwp9Cgo9aXRlbSBDYXRlZ29yeUFkZCgpCgphZGQgYSBjYXRlZ29yeQoKICAgIG15ICRJRCA9ICRGQVFPYmplY3QtPkNhdGVnb3J5QWRkKAogICAgICAgIE5hbWUgICAgID0+ICdTb21lIENhdGVnb3J5JywKICAgICAgICBDb21tZW50ICA9PiAnc29tZSBjb21tZW50IC4uLicsCiAgICAgICAgUGFyZW50SUQgPT4gMiwKICAgICAgICBWYWxpZElEICA9PiAxLAogICAgICAgIFVzZXJJRCAgID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIENhdGVnb3J5QWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoUGFyZW50SUQgTmFtZSkpIHsKICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGluc2VydCByZWNvcmQKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgIFNRTCA9PiAnSU5TRVJUIElOVE8gZmFxX2NhdGVnb3J5IChuYW1lLCBwYXJlbnRfaWQsIGNvbW1lbnRzLCB2YWxpZF9pZCwgJyAuCiAgICAgICAgICAgICdjcmVhdGVkLCBjcmVhdGVkX2J5LCBjaGFuZ2VkLCBjaGFuZ2VkX2J5KSAnIC4KICAgICAgICAgICAgJ1ZBTFVFUyAoID8sID8sID8sID8sIGN1cnJlbnRfdGltZXN0YW1wLCA/LCBjdXJyZW50X3RpbWVzdGFtcCwgPyknLAogICAgICAgIEJpbmQgPT4gWwogICAgICAgICAgICBcJFBhcmFte05hbWV9LCBcJFBhcmFte1BhcmVudElEfSwgXCRQYXJhbXtDb21tZW50fSwgXCRQYXJhbXtWYWxpZElEfSwKICAgICAgICAgICAgXCRTZWxmLT57VXNlcklEfSwgXCRTZWxmLT57VXNlcklEfSwKICAgICAgICBdLAogICAgKTsKCiAgICAjIGdldCBuZXcgY2F0ZWdvcnkgaWQKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgU1FMICA9PiAnU0VMRUNUIGlkIEZST00gZmFxX2NhdGVnb3J5IFdIRVJFIG5hbWUgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtOYW1lfSBdLAogICAgKTsKICAgIG15ICRJRDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJElEID0gJFJvd1swXTsKICAgIH0KCiAgICAjIGxvZyBub3RpY2UKICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgIFByaW9yaXR5ID0+ICdub3RpY2UnLAogICAgICAgIE1lc3NhZ2UgPT4KICAgICAgICAgICAgIkZBUUNhdGVnb3J5OiAnJFBhcmFte05hbWV9JyBJRDogJyRJRCcgY3JlYXRlZCBzdWNjZXNzZnVsbHkgKCRTZWxmLT57VXNlcklEfSkhIiwKICAgICk7CiAgICByZXR1cm4gJElEOwp9Cgo9aXRlbSBDYXRlZ29yeVVwZGF0ZSgpCgp1cGRhdGUgYSBjYXRlZ29yeQoKICAgICRGQVFPYmplY3QtPkNhdGVnb3J5VXBkYXRlKAogICAgICAgIENhdGVnb3J5SUQgPT4gMiwKICAgICAgICBQYXJlbnRJRCAgID0+IDEsCiAgICAgICAgTmFtZSAgICAgICA9PiAnU29tZSBDYXRlZ29yeScsCiAgICAgICAgQ29tbWVudCAgICA9PiAnc29tZSBjb21tZW50IC4uLicsCiAgICApOwoKPWN1dAoKc3ViIENhdGVnb3J5VXBkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoQ2F0ZWdvcnlJRCBQYXJlbnRJRCBOYW1lKSkgewogICAgICAgIGlmICggIWRlZmluZWQgJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgc3FsCiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICBTUUwgPT4gJ1VQREFURSBmYXFfY2F0ZWdvcnkgU0VUIHBhcmVudF9pZCA9ID8sIG5hbWUgPSA/LCAnIC4KICAgICAgICAgICAgJ2NvbW1lbnRzID0gPywgdmFsaWRfaWQgPSA/LCBjaGFuZ2VkID0gY3VycmVudF90aW1lc3RhbXAsICcgLgogICAgICAgICAgICAnY2hhbmdlZF9ieSA9ID8gV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtQYXJlbnRJRH0sIFwkUGFyYW17TmFtZX0sIFwkUGFyYW17Q29tbWVudH0sIFwkUGFyYW17VmFsaWRJRH0sCiAgICAgICAgICAgIFwkU2VsZi0+e1VzZXJJRH0sIFwkUGFyYW17Q2F0ZWdvcnlJRH0sCiAgICAgICAgXSwKICAgICk7CgogICAgIyBsb2cgbm90aWNlCiAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICBQcmlvcml0eSA9PiAnbm90aWNlJywKICAgICAgICBNZXNzYWdlID0+CiAgICAgICAgICAgICJGQVFDYXRlZ29yeTogJyRQYXJhbXtOYW1lfScgSUQ6ICckUGFyYW17Q2F0ZWdvcnlJRH0nIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5ICgkU2VsZi0+e1VzZXJJRH0pISIsCiAgICApOwoKICAgICMgZGVsZXRlIGNhY2hlCiAgICBteSAkQ2FjaGVLZXkgPSAnQ2F0ZWdvcnlHZXQ6OicgLiAkUGFyYW17Q2F0ZWdvcnlJRH07CiAgICAkU2VsZi0+e0NhY2hlT2JqZWN0fS0+RGVsZXRlKAogICAgICAgIFR5cGUgPT4gJ0ZBUScsCiAgICAgICAgS2V5ICA9PiAkQ2FjaGVLZXksCiAgICApOwoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBDYXRlZ29yeUR1cGxpY2F0ZUNoZWNrKCkKCmNoZWNrIGEgY2F0ZWdvcnkKCiAgICAkRkFRT2JqZWN0LT5DYXRlZ29yeUR1cGxpY2F0ZUNoZWNrKAogICAgICAgIElEICAgICAgID0+IDEsICMgb3IKICAgICAgICBOYW1lICAgICA9PiAnU29tZSBOYW1lJywKICAgICAgICBQYXJlbnRJRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBDYXRlZ29yeUR1cGxpY2F0ZUNoZWNrIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBkYiBxdW90ZQogICAgZm9yIChxdyhOYW1lKSkgewogICAgICAgICRQYXJhbXskX30gPSAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoICRQYXJhbXskX30gKSB8fCAnJzsKICAgIH0KICAgIGZvciAocXcoSUQpKSB7CiAgICAgICAgJFBhcmFteyRffSA9ICRTZWxmLT57REJPYmplY3R9LT5RdW90ZSggJFBhcmFteyRffSwgJ0ludGVnZXInICk7CiAgICB9CgogICAgIyBzcWwKICAgIG15ICRTUUwgPSAnU0VMRUNUIGlkIEZST00gZmFxX2NhdGVnb3J5IFdIRVJFICc7CiAgICBpZiAoIGRlZmluZWQgJFBhcmFte05hbWV9ICkgewogICAgICAgICRTUUwgLj0gIm5hbWUgPSAnJFBhcmFte05hbWV9JyBBTkQgcGFyZW50X2lkID0gJFBhcmFte1BhcmVudElEfSAiOwogICAgICAgIGlmICggZGVmaW5lZCAkUGFyYW17SUR9ICkgewogICAgICAgICAgICAkU1FMIC49ICJBTkQgaWQgIT0gJyRQYXJhbXtJRH0nICI7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSggU1FMID0+ICRTUUwgKTsKICAgIG15ICRFeGlzdHMgPSAwOwogICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkRXhpc3RzID0gMTsKICAgIH0KICAgIHJldHVybiAkRXhpc3RzOwp9Cgo9aXRlbSBDYXRlZ29yeUNvdW50KCkKCmNvdW50IGFuIGFydGljbGUKCiAgICAkRkFRT2JqZWN0LT5DYXRlZ29yeUNvdW50KAogICAgICAgIFBhcmVudElEcyA9PiBbMSwyLDMsNF0sCiAgICApOwoKPWN1dAoKc3ViIENhdGVnb3J5Q291bnQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhQYXJlbnRJRHMpKSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkXyEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgbXkgJFNRTCA9ICdTRUxFQ1QgQ09VTlQoKikgRlJPTSBmYXFfY2F0ZWdvcnkgV0hFUkUgdmFsaWRfaWQgPSAxJzsKCiAgICBteSAkRXh0ID0gJyc7CiAgICBpZiAoIGRlZmluZWQgJFBhcmFte1BhcmVudElEc30gKSB7CiAgICAgICAgJEV4dCA9ICcgQU5EIHBhcmVudF9pZCBJTiAoJzsKICAgICAgICBmb3IgbXkgJFBhcmVudElEICggQHsgJFBhcmFte1BhcmVudElEc30gfSApIHsKICAgICAgICAgICAgJEV4dCAuPSAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoICRQYXJlbnRJRCwgJ0ludGVnZXInICkgLiAiLCI7CiAgICAgICAgfQogICAgICAgICRFeHQgPSBzdWJzdHIoICRFeHQsIDAsIC0xICk7CiAgICAgICAgJEV4dCAuPSAnKSc7CiAgICB9CiAgICAkRXh0IC49ICcgR1JPVVAgQlkgcGFyZW50X2lkJzsKCiAgICAkU1FMIC49ICRFeHQ7CiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUwsCiAgICAgICAgTGltaXQgPT4gMjAwCiAgICApOwoKICAgIG15ICRDb3VudCA9IDA7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRDb3VudCA9ICRSb3dbMF07CiAgICB9CiAgICByZXR1cm4gJENvdW50Owp9Cgo9aXRlbSBLZXl3b3JkTGlzdCgpCgpnZXQgYSBsaXN0IG9mIGtleXdvcmRzIGFzIGEgaGFzaCwgd2l0aCB0aGVpciBjb3VudCBhcyB0aGUgdmFsdWU6CgogICAgbXkgJUtleXdvcmRzID0gJXskRkFRT2JqZWN0LT5LZXl3b3JkTGlzdCgKICAgICAgICBWYWxpZCA9PiAxLAogICAgKX07CgpSZXR1cm5zOgoKICAgICVLZXl3b3JkcyA9ICgKICAgICAgICAgICdtYWNvc3gnICAgPT4gOCwKICAgICAgICAgICd1YnVudHUnICAgPT4gMSwKICAgICAgICAgICdvdXRsb29rJyAgPT4gMiwKICAgICAgICAgICd3aW5kb3dzJyAgPT4gMywKICAgICAgICAgICdleGNoYW5nZScgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgS2V5d29yZExpc3QgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdygpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgfQogICAgfQoKICAgIG15ICRWYWxpZCA9IDA7CiAgICBpZiAoIGRlZmluZWQgJFBhcmFte1ZhbGlkfSApIHsKICAgICAgICAkVmFsaWQgPSAkUGFyYW17VmFsaWR9OwogICAgfQoKICAgICMgY2hlY2sgY2FjaGUKICAgIGlmICggJFNlbGYtPntDYWNoZX0tPntLZXl3b3JkTGlzdH0tPnskVmFsaWR9ICkgewogICAgICAgIHJldHVybiAkU2VsZi0+e0NhY2hlfS0+e0tleXdvcmRMaXN0fS0+eyRWYWxpZH07CiAgICB9CgogICAgIyBzcWwKICAgIG15ICRTUUwgPSAnU0VMRUNUIGZfa2V5d29yZHMgRlJPTSBmYXFfaXRlbSAnOwogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSggU1FMID0+ICRTUUwgKTsKICAgIG15ICVEYXRhOwogICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBmb3IgbXkgJEtleXdvcmQgKCBzcGxpdCggLywvLCBsYyggJFJvd1swXSApICkgKSB7CgogICAgICAgICAgICAjIHJlbW92ZSBsZWFkaW5nL3RhaWxpbmcgc3BhY2VzCiAgICAgICAgICAgICRLZXl3b3JkID1+IHMvXlxzKy8vZzsKICAgICAgICAgICAgJEtleXdvcmQgPX4gcy9ccyskLy9nOwoKICAgICAgICAgICAgJERhdGF7JEtleXdvcmR9Kys7CiAgICAgICAgfQogICAgfQoKICAgICMgY2FjaGUKICAgICMgICAgJFNlbGYtPntDYWNoZX0tPntDYXRlZ29yeUxpc3R9LT57JFZhbGlkfSA9IFwlRGF0YTsKCiAgICByZXR1cm4gJURhdGE7Cn0KCj1pdGVtIFN0YXRlVHlwZUxpc3QoKQoKZ2V0IHRoZSBzdGF0ZSB0eXBlIGxpc3QgYXMgaGFzaAoKICAgIG15ICVTdGF0ZVR5cGVzID0gJEZBUU9iamVjdC0+U3RhdGVUeXBlTGlzdCgpOwoKPWN1dAoKc3ViIFN0YXRlVHlwZUxpc3QgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkRXh0ID0gJyc7CiAgICBteSAkU1FMID0gJ1NFTEVDVCBpZCwgbmFtZSBGUk9NIGZhcV9zdGF0ZV90eXBlJzsKCiAgICBpZiAoICRQYXJhbXtUeXBlc30gKSB7CiAgICAgICAgbXkgQFN0YXRlcyA9IEB7ICRQYXJhbXtUeXBlc30gfTsKICAgICAgICAkRXh0ID0gJyBXSEVSRSc7CiAgICAgICAgZm9yIG15ICRTdGF0ZSAoQFN0YXRlcykgewogICAgICAgICAgICAkRXh0IC49ICIgbmFtZSA9ICciIC4gJFNlbGYtPntEQk9iamVjdH0tPlF1b3RlKCRTdGF0ZSkgLiAiJyBPUiI7CiAgICAgICAgfQogICAgICAgICRFeHQgPSBzdWJzdHIoICRFeHQsIDAsIC0zICk7CiAgICB9CiAgICAkU1FMIC49ICRFeHQ7CgogICAgIyBzcWwKICAgIG15ICVMaXN0ID0gKCk7CiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKCBTUUwgPT4gJFNRTCApOwogICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAkTGlzdHsgJFJvd1swXSB9ID0gJFJvd1sxXTsKICAgIH0KICAgIHJldHVybiBcJUxpc3Q7Cn0KCj1pdGVtIFN0YXRlTGlzdCgpCgpnZXQgdGhlIHN0YXRlIGxpc3QgYXMgaGFzaAoKICAgIG15ICVTdGF0ZXMgPSAkRkFRT2JqZWN0LT5TdGF0ZUxpc3QoKTsKCj1jdXQKCnN1YiBTdGF0ZUxpc3QgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHNxbAogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSggU1FMID0+ICdTRUxFQ1QgaWQsIG5hbWUgRlJPTSBmYXFfc3RhdGUnICk7CiAgICBteSAlTGlzdDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJExpc3R7ICRSb3dbMF0gfSA9ICRSb3dbMV07CiAgICB9CiAgICByZXR1cm4gJUxpc3Q7Cn0KCj1pdGVtIFN0YXRlVXBkYXRlKCkKCnVwZGF0ZSBhIHN0YXRlCgogICAgJEZBUU9iamVjdC0+U3RhdGVVcGRhdGUoCiAgICAgICAgSUQgICAgID0+IDEsCiAgICAgICAgTmFtZSAgID0+ICdwdWJsaWMnLAogICAgICAgIFR5cGVJRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBTdGF0ZVVwZGF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KElEIE5hbWUgVHlwZUlEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNxbAogICAgcmV0dXJuICRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICBTUUwgID0+ICdVUERBVEUgZmFxX3N0YXRlIFNFVCBuYW1lID0gPywgdHlwZV9pZCA9ID8sIFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17TmFtZX0sIFwkUGFyYW17VHlwZUlEfSwgXCRQYXJhbXtJRH0gXSwKICAgICk7Cn0KCj1pdGVtIFN0YXRlQWRkKCkKCmFkZCBhIHN0YXRlCgogICAgbXkgJElEID0gJEZBUU9iamVjdC0+U3RhdGVBZGQoCiAgICAgICAgTmFtZSAgID0+ICdwdWJsaWMnLAogICAgICAgIFR5cGVJRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBTdGF0ZUFkZCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KE5hbWUgVHlwZUlEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgIFNRTCAgPT4gJ0lOU0VSVCBJTlRPIGZhcV9zdGF0ZSAobmFtZSwgdHlwZV9pZCkgVkFMVUVTICggPywgPyApJywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtOYW1lfSwgXCRQYXJhbXtUeXBlSUR9LCBdLAogICAgKTsKfQoKPWl0ZW0gU3RhdGVHZXQoKQoKZ2V0IGEgc3RhdGUgYXMgaGFzaAoKICAgIG15ICVTdGF0ZSA9ICRGQVFPYmplY3QtPlN0YXRlR2V0KAogICAgICAgIElEID0+IDEsCiAgICApOwoKPWN1dAoKc3ViIFN0YXRlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgc3FsCiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCAgPT4gJ1NFTEVDVCBpZCwgbmFtZSBGUk9NIGZhcV9zdGF0ZSBXSEVSRSBpZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte0lEfSwgXSwKICAgICk7CiAgICBteSAlRGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJURhdGEgPSAoCiAgICAgICAgICAgIElEICAgICAgPT4gJFJvd1swXSwKICAgICAgICAgICAgTmFtZSAgICA9PiAkUm93WzFdLAogICAgICAgICAgICBDb21tZW50ID0+ICRSb3dbMl0sCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybiAlRGF0YTsKfQoKPWl0ZW0gU3RhdGVUeXBlR2V0KCkKCmdldCBhIHN0YXRlIGFzIGhhc2hyZWYKCiAgICBteSAkU3RhdGVUeXBlSGFzaFJlZiA9ICRGQVFPYmplY3QtPlN0YXRlVHlwZUdldCgKICAgICAgICBJRCAgID0+IDEsICMgb3IKICAgICAgICBOYW1lID0+ICdpbnRlcm5hbCcsCiAgICApOwoKPWN1dAoKc3ViIFN0YXRlVHlwZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRTUUwgPSAnU0VMRUNUIGlkLCBuYW1lIEZST00gZmFxX3N0YXRlX3R5cGUgV0hFUkUgJzsKICAgIG15IEBCaW5kOwogICAgbXkgJENhY2hlS2V5ID0gJ1N0YXRlVHlwZUdldDo6JzsKICAgIGlmICggZGVmaW5lZCAkUGFyYW17SUR9ICkgewogICAgICAgICRTUUwgLj0gJ2lkID0gPyc7CiAgICAgICAgcHVzaCBAQmluZCwgXCRQYXJhbXtJRH07CiAgICAgICAgJENhY2hlS2V5IC49ICdJRDo6JyAuICRQYXJhbXtJRH07CiAgICB9CiAgICBlbHNpZiAoIGRlZmluZWQgJFBhcmFte05hbWV9ICkgewogICAgICAgICRTUUwgLj0gJ25hbWUgPSA/JzsKICAgICAgICBwdXNoIEBCaW5kLCBcJFBhcmFte05hbWV9OwogICAgICAgICRDYWNoZUtleSAuPSAnTmFtZTo6JyAuICRQYXJhbXtOYW1lfTsKICAgIH0KCiAgICAjIGNoZWNrIGNhY2hlCiAgICBteSAkQ2FjaGUgPSAkU2VsZi0+e0NhY2hlT2JqZWN0fS0+R2V0KAogICAgICAgIFR5cGUgPT4gJ0ZBUScsCiAgICAgICAgS2V5ICA9PiAkQ2FjaGVLZXksCiAgICApOwogICAgcmV0dXJuICRDYWNoZSBpZiAkQ2FjaGU7CgogICAgIyBzcWwKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgU1FMICA9PiAkU1FMLAogICAgICAgIEJpbmQgPT4gXEBCaW5kLAogICAgKTsKICAgIG15ICVEYXRhOwogICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAlRGF0YSA9ICgKICAgICAgICAgICAgSUQgICA9PiAkUm93WzBdLAogICAgICAgICAgICBOYW1lID0+ICRSb3dbMV0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGNhY2hlIHJlc3VsdAogICAgJFNlbGYtPntDYWNoZU9iamVjdH0tPlNldCgKICAgICAgICBUeXBlICA9PiAnRkFRJywKICAgICAgICBLZXkgICA9PiAkQ2FjaGVLZXksCiAgICAgICAgVmFsdWUgPT4gXCVEYXRhLAogICAgICAgIFRUTCAgID0+IDYwICogNjAgKiAyNCAqIDIsCiAgICApOwoKICAgIHJldHVybiBcJURhdGE7Cn0KCj1pdGVtIExhbmd1YWdlTGlzdCgpCgpnZXQgdGhlIGxhbmd1YWdlIGxpc3QgYXMgaGFzaAoKICAgIG15ICVMYW5ndWFnZXMgPSAkRkFRT2JqZWN0LT5MYW5ndWFnZUxpc3QoKTsKCj1jdXQKCnN1YiBMYW5ndWFnZUxpc3QgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHNxbAogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSggU1FMID0+ICdTRUxFQ1QgaWQsIG5hbWUgRlJPTSBmYXFfbGFuZ3VhZ2UnICk7CiAgICBteSAlTGlzdDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJExpc3R7ICRSb3dbMF0gfSA9ICRSb3dbMV07CiAgICB9CiAgICByZXR1cm4gJUxpc3Q7Cn0KCj1pdGVtIExhbmd1YWdlVXBkYXRlKCkKCnVwZGF0ZSBhIGxhbmd1YWdlCgogICAgJEZBUU9iamVjdC0+TGFuZ3VhZ2VVcGRhdGUoCiAgICAgICAgSUQgICA9PiAxLAogICAgICAgIE5hbWUgPT4gJ1NvbWUgQ2F0ZWdvcnknLAogICAgKTsKCj1jdXQKCnN1YiBMYW5ndWFnZVVwZGF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KElEIE5hbWUpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgc3FsCiAgICByZXR1cm4gJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgIFNRTCAgPT4gJ1VQREFURSBmYXFfbGFuZ3VhZ2UgU0VUIG5hbWUgPSA/IFdIRVJFIGlkID0gPycsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17TmFtZX0sIFwkUGFyYW17SUR9IF0sCiAgICApOwp9Cgo9aXRlbSBMYW5ndWFnZUR1cGxpY2F0ZUNoZWNrKCkKCmNoZWNrIGEgbGFuZ3VhZ2UKCiAgICAkRkFRT2JqZWN0LT5MYW5ndWFnZUR1cGxpY2F0ZUNoZWNrKAogICAgICAgIE5hbWUgPT4gJ1NvbWUgTmFtZScsCiAgICAgICAgSUQgICA9PiAxLCAjIGZvciB1cGRhdGUKICAgICk7Cgo9Y3V0CgpzdWIgTGFuZ3VhZ2VEdXBsaWNhdGVDaGVjayB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZGIgcXVvdGUKICAgIGZvciAocXcoTmFtZSkpIHsKICAgICAgICAkUGFyYW17JF99ID0gJFNlbGYtPntEQk9iamVjdH0tPlF1b3RlKCAkUGFyYW17JF99ICkgfHwgJyc7CiAgICB9CiAgICBmb3IgKHF3KElEKSkgewogICAgICAgICRQYXJhbXskX30gPSAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoICRQYXJhbXskX30sICdJbnRlZ2VyJyApOwogICAgfQoKICAgICMgc3FsCiAgICBteSAkU1FMID0gJ1NFTEVDVCBpZCBGUk9NIGZhcV9sYW5ndWFnZSBXSEVSRSAnOwogICAgaWYgKCBkZWZpbmVkICRQYXJhbXtOYW1lfSApIHsKICAgICAgICAkU1FMIC49ICJuYW1lID0gJyRQYXJhbXtOYW1lfScgIjsKICAgIH0KICAgIGlmICggZGVmaW5lZCAkUGFyYW17SUR9ICkgewogICAgICAgICRTUUwgLj0gIkFORCBpZCAhPSAnJFBhcmFte0lEfScgIjsKICAgIH0KICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoIFNRTCA9PiAkU1FMICk7CiAgICBteSAkRXhpc3RzID0gMDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJEV4aXN0cyA9IDE7CiAgICB9CiAgICByZXR1cm4gJEV4aXN0czsKfQoKPWl0ZW0gTGFuZ3VhZ2VBZGQoKQoKYWRkIGEgbGFuZ3VhZ2UKCiAgICBteSAkSUQgPSAkRkFRT2JqZWN0LT5MYW5ndWFnZUFkZCgKICAgICAgICBOYW1lID0+ICdTb21lIENhdGVnb3J5JywKICAgICk7Cgo9Y3V0CgpzdWIgTGFuZ3VhZ2VBZGQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhOYW1lKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgIFNRTCAgPT4gJ0lOU0VSVCBJTlRPIGZhcV9sYW5ndWFnZSAobmFtZSkgVkFMVUVTICg/KScsCiAgICAgICAgQmluZCA9PiBbIFwkUGFyYW17TmFtZX0gXSwKICAgICk7Cn0KCj1pdGVtIExhbmd1YWdlR2V0KCkKCmdldCBhIGxhbmd1YWdlIGFzIGhhc2gKCiAgICBteSAlTGFuZ3VhZ2UgPSAkRkFRT2JqZWN0LT5MYW5ndWFnZUdldCgKICAgICAgICBJRCA9PiAxLAogICAgKTsKCj1jdXQKCnN1YiBMYW5ndWFnZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KElEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNxbAogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgID0+ICdTRUxFQ1QgaWQsIG5hbWUgRlJPTSBmYXFfbGFuZ3VhZ2UgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtJRH0gXSwKICAgICk7CiAgICBteSAlRGF0YTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJURhdGEgPSAoCiAgICAgICAgICAgIElEICAgPT4gJFJvd1swXSwKICAgICAgICAgICAgTmFtZSA9PiAkUm93WzFdLAogICAgICAgICk7CiAgICB9CiAgICByZXR1cm4gJURhdGE7Cn0KCj1pdGVtIEZBUVNlYXJjaCgpCgpzZWFyY2ggaW4gYXJ0aWNsZXMKCiAgICBteSBASURzID0gJEZBUU9iamVjdC0+RkFRU2VhcmNoKAogICAgICAgIE51bWJlciAgICA9PiAnKjEzNConLAogICAgICAgIFRpdGxlICAgICA9PiAnKnNvbWUgdGl0bGUqJywKICAgICAgICBXaGF0ICAgICAgPT4gJypzb21lIHRleHQqJywgIyBpcyBzZWFyY2hpbmcgaW4gTnVtYmVyLCBUaXRsZSwgS2V5d29yZCBhbmQgRmllbGQxLTYKICAgICAgICBLZXl3b3JkICAgPT4gJyp3ZWJzZXJ2ZXIqJywKICAgICAgICBTdGF0ZXMgICAgPT4gWydwdWJsaWMnLCAnaW50ZXJuYWwnXSwKICAgICAgICBPcmRlciAgICAgPT4gJ0NoYW5nZWQnLCAgICAgIyBUaXRsZXxMYW5ndWFnZXxTdGF0ZXxWb3Rlc3xSZXN1bHR8Q3JlYXRlZHxDaGFuZ2VkCiAgICAgICAgU29ydCAgICAgID0+ICd1cCcsICAgICAgICAgICMgdXB8ZG93bgogICAgICAgIExpbWl0ICAgICA9PiAxNTAsCiAgICAgICAgSW50ZXJmYWNlID0+ICdwdWJsaWMnLCAgICAgICMgcHVibGljfGV4dGVybmFsfGludGVybmFsIChkZWZhdWx0IGludGVybmFsKQogICAgKTsKCj1jdXQKCnN1YiBGQVFTZWFyY2ggewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHNldCBkZWZhdWx0CiAgICBpZiAoICEkUGFyYW17SW50ZXJmYWNlfSApIHsKICAgICAgICAkUGFyYW17SW50ZXJmYWNlfSA9ICdpbnRlcm5hbCc7CiAgICB9CgogICAgIyBzcWwKICAgIG15ICRTUUwgPSAnU0VMRUNUIGkuaWQsIGNvdW50KCB2Lml0ZW1faWQgKSBhcyB2b3RlcywgYXZnKCB2LnJhdGUgKSBhcyB2cmF0ZScgLgogICAgICAgICcgRlJPTSBmYXFfaXRlbSBpICcgLgogICAgICAgICcgTEVGVCBKT0lOIGZhcV92b3RpbmcgdiBPTiB2Lml0ZW1faWQgPSBpLmlkJyAuCiAgICAgICAgJyBMRUZUIEpPSU4gZmFxX3N0YXRlIHMgT04gcy5pZCA9IGkuc3RhdGVfaWQnOwogICAgbXkgJEV4dCA9ICcnOwoKICAgIGlmICggJFBhcmFte1doYXR9ICYmICRQYXJhbXtXaGF0fSBuZSAnKicgKSB7CiAgICAgICAgbXkgQFNlYXJjaEZpZWxkcyA9ICggJ2kuZl9udW1iZXInLCAnaS5mX3N1YmplY3QnLCAnaS5mX2tleXdvcmRzJyApOwogICAgICAgIGlmICggJFBhcmFte0ludGVyZmFjZX0gZXEgJ2ludGVybmFsJyApIHsKICAgICAgICAgICAgZm9yIG15ICROdW1iZXIgKCAxIC4uIDYgKSB7CiAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoIkZBUTo6SXRlbTo6RmllbGQkTnVtYmVyIiktPntTaG93fSBlcSAncHVibGljJyAgIHx8CiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoIkZBUTo6SXRlbTo6RmllbGQkTnVtYmVyIiktPntTaG93fSBlcSAnaW50ZXJuYWwnIHx8CiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoIkZBUTo6SXRlbTo6RmllbGQkTnVtYmVyIiktPntTaG93fSBlcSAnZXh0ZXJuYWwnCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHB1c2ggQFNlYXJjaEZpZWxkcywgImkuZl9maWVsZCROdW1iZXIiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2lmICggJFBhcmFte0ludGVyZmFjZX0gZXEgJ2V4dGVybmFsJyApIHsKICAgICAgICAgICAgZm9yIG15ICROdW1iZXIgKCAxIC4uIDYgKSB7CiAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoIkZBUTo6SXRlbTo6RmllbGQkTnVtYmVyIiktPntTaG93fSBlcSAncHVibGljJyB8fAogICAgICAgICAgICAgICAgICAgICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCJGQVE6Okl0ZW06OkZpZWxkJE51bWJlciIpLT57U2hvd30gZXEgJ2V4dGVybmFsJwogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwdXNoIEBTZWFyY2hGaWVsZHMsICJpLmZfZmllbGQkTnVtYmVyIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZm9yIG15ICROdW1iZXIgKCAxIC4uIDYgKSB7CiAgICAgICAgICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCJGQVE6Okl0ZW06OkZpZWxkJE51bWJlciIpLT57U2hvd30gZXEgJ3B1YmxpYycgKSB7CiAgICAgICAgICAgICAgICAgICAgcHVzaCBAU2VhcmNoRmllbGRzLCAiaS5mX2ZpZWxkJE51bWJlciI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRFeHQgLj0gJFNlbGYtPntEQk9iamVjdH0tPlF1ZXJ5Q29uZGl0aW9uKAogICAgICAgICAgICBLZXkgICAgICAgICAgPT4gXEBTZWFyY2hGaWVsZHMsCiAgICAgICAgICAgIFZhbHVlICAgICAgICA9PiAkUGFyYW17V2hhdH0sCiAgICAgICAgICAgIFNlYXJjaFByZWZpeCA9PiAnKicsCiAgICAgICAgICAgIFNlYXJjaFN1ZmZpeCA9PiAnKicsCiAgICAgICAgKSAuICcgJzsKICAgIH0KICAgIGlmICggJFBhcmFte051bWJlcn0gKSB7CiAgICAgICAgJFBhcmFte051bWJlcn0gPX4gcy9cKi8lL2c7CiAgICAgICAgJFBhcmFte051bWJlcn0gPX4gcy8lJS8lL2c7CiAgICAgICAgJFBhcmFte051bWJlcn0gPSAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoICRQYXJhbXtOdW1iZXJ9ICk7CiAgICAgICAgaWYgKCRFeHQpIHsKICAgICAgICAgICAgJEV4dCAuPSAnIEFORCc7CiAgICAgICAgfQogICAgICAgICRFeHQgLj0gIiBMT1dFUihpLmZfbnVtYmVyKSBMSUtFIExPV0VSKCckUGFyYW17TnVtYmVyfScpIjsKICAgIH0KICAgIGlmICggJFBhcmFte1RpdGxlfSApIHsKICAgICAgICAkUGFyYW17VGl0bGV9ID0gIlwlJFBhcmFte1RpdGxlfVwlIjsKICAgICAgICAkUGFyYW17VGl0bGV9ID1+IHMvXCovJS9nOwogICAgICAgICRQYXJhbXtUaXRsZX0gPX4gcy8lJS8lL2c7CiAgICAgICAgJFBhcmFte1RpdGxlfSA9ICRTZWxmLT57REJPYmplY3R9LT5RdW90ZSggJFBhcmFte1RpdGxlfSApOwogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0IC49ICIgTE9XRVIoaS5mX3N1YmplY3QpIExJS0UgTE9XRVIoJyIgLiAkUGFyYW17VGl0bGV9IC4gIicpIjsKICAgIH0KICAgIGlmICggJFBhcmFte0xhbmd1YWdlSURzfSAmJiByZWYgJFBhcmFte0xhbmd1YWdlSURzfSBlcSAnQVJSQVknICYmIEB7ICRQYXJhbXtMYW5ndWFnZUlEc30gfSApIHsKICAgICAgICBpZiAoJEV4dCkgewogICAgICAgICAgICAkRXh0IC49ICcgQU5EJzsKICAgICAgICB9CiAgICAgICAgJEV4dCAuPSAnIGkuZl9sYW5ndWFnZV9pZCBJTiAoJzsKICAgICAgICBmb3IgbXkgJExhbmd1YWdlSUQgKCBAeyAkUGFyYW17TGFuZ3VhZ2VJRHN9IH0gKSB7CiAgICAgICAgICAgICRFeHQgLj0gJFNlbGYtPntEQk9iamVjdH0tPlF1b3RlKCAkTGFuZ3VhZ2VJRCwgJ0ludGVnZXInICkgLiAnLCc7CiAgICAgICAgfQogICAgICAgICRFeHQgPSBzdWJzdHIoICRFeHQsIDAsIC0xICk7CiAgICAgICAgJEV4dCAuPSAnKSc7CiAgICB9CiAgICBpZiAoICRQYXJhbXtDYXRlZ29yeUlEc30gJiYgcmVmICRQYXJhbXtDYXRlZ29yeUlEc30gZXEgJ0FSUkFZJyAmJiBAeyAkUGFyYW17Q2F0ZWdvcnlJRHN9IH0gKQogICAgewogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0IC49ICcgKGkuY2F0ZWdvcnlfaWQgSU4gICgnOwogICAgICAgIG15ICRDb3VudGVyID0gMDsKICAgICAgICBmb3IgbXkgJENhdGVnb3J5SUQgKCBAeyAkUGFyYW17Q2F0ZWdvcnlJRHN9IH0gKSB7CiAgICAgICAgICAgICRFeHQgLj0gJFNlbGYtPntEQk9iamVjdH0tPlF1b3RlKCAkQ2F0ZWdvcnlJRCwgJ0ludGVnZXInICkgLiAnLCc7CiAgICAgICAgICAgICRDb3VudGVyKys7CiAgICAgICAgICAgIGlmICggISggJENvdW50ZXIgJSA1MDAgKSApIHsKICAgICAgICAgICAgICAgICRFeHQgPSBzdWJzdHIoICRFeHQsIDAsIC0xICk7CiAgICAgICAgICAgICAgICAkRXh0IC49ICcpJzsKICAgICAgICAgICAgICAgICRFeHQgLj0gJyBPUiBpLmNhdGVnb3J5X2lkIElOICAoJzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkRXh0ID0gc3Vic3RyKCAkRXh0LCAwLCAtMSApOwogICAgICAgICRFeHQgLj0gJykpJzsKICAgIH0KICAgIGlmICggJFBhcmFte1N0YXRlc30gJiYgcmVmICRQYXJhbXtTdGF0ZXN9IGVxICdIQVNIJyAmJiAleyAkUGFyYW17U3RhdGVzfSB9ICkgewogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0IC49ICcgcy50eXBlX2lkIElOICgnOwogICAgICAgIGZvciBteSAkU3RhdGVJRCAoIGtleXMoICV7ICRQYXJhbXtTdGF0ZXN9IH0gKSApIHsKICAgICAgICAgICAgJEV4dCAuPSAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoICRTdGF0ZUlELCAnSW50ZWdlcicgKSAuICcsJzsKICAgICAgICB9CiAgICAgICAgJEV4dCA9IHN1YnN0ciggJEV4dCwgMCwgLTEgKTsKICAgICAgICAkRXh0IC49ICcpJzsKICAgIH0KICAgIGlmICggJFBhcmFte0tleXdvcmR9ICkgewogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkUGFyYW17S2V5d29yZH0gPSAiXCUkUGFyYW17S2V5d29yZH1cJSI7CiAgICAgICAgJFBhcmFte0tleXdvcmR9ID1+IHMvXCovJS9nOwogICAgICAgICRQYXJhbXtLZXl3b3JkfSA9fiBzLyUlLyUvZzsKICAgICAgICAkUGFyYW17S2V5d29yZH0gPSAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoICRQYXJhbXtLZXl3b3JkfSwgJ0xpa2UnICk7CgogICAgICAgIGlmICggJFNlbGYtPntEQk9iamVjdH0tPkdldERhdGFiYXNlRnVuY3Rpb24oJ05vTG93ZXJJbkxhcmdlVGV4dCcpICkgewogICAgICAgICAgICAkRXh0IC49ICIgaS5mX2tleXdvcmRzIExJS0UgJyIgLiAkUGFyYW17S2V5d29yZH0gLiAiJyI7CiAgICAgICAgfQogICAgICAgIGVsc2lmICggJFNlbGYtPntEQk9iamVjdH0tPkdldERhdGFiYXNlRnVuY3Rpb24oJ0xjYXNlTGlrZUluTGFyZ2VUZXh0JykgKSB7CiAgICAgICAgICAgICRFeHQgLj0gIiBMQ0FTRShpLmZfa2V5d29yZHMpIExJS0UgTENBU0UoJyIgLiAkUGFyYW17S2V5d29yZH0gLiAiJykiOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJEV4dCAuPSAiIExPV0VSKGkuZl9rZXl3b3JkcykgTElLRSBMT1dFUignIiAuICRQYXJhbXtLZXl3b3JkfSAuICInKSI7CiAgICAgICAgfQogICAgfQoKICAgICMgc2hvdyBvbmx5IGFwcHJvdmVkIGZhcSBhcnRpY2xlcyBmb3IgcHVibGljIGFuZCBjdXN0b21lciBpbnRlcmZhY2UKICAgIGlmICggKCAkUGFyYW17SW50ZXJmYWNlfSBlcSAncHVibGljJyApIHx8ICggJFBhcmFte0ludGVyZmFjZX0gZXEgJ2V4dGVybmFsJyApICkgewogICAgICAgIGlmICgkRXh0KSB7CiAgICAgICAgICAgICRFeHQgLj0gJyBBTkQnOwogICAgICAgIH0KICAgICAgICAkRXh0IC49ICcgaS5hcHByb3ZlZCA9IDEnOwogICAgfQoKICAgIGlmICgkRXh0KSB7CiAgICAgICAgJEV4dCA9ICcgV0hFUkUnIC4gJEV4dDsKICAgIH0KICAgICRFeHQgLj0gJyBHUk9VUCBCWSBpLmlkLCBpLmZfc3ViamVjdCwgaS5mX2xhbmd1YWdlX2lkLCBpLmNyZWF0ZWQsIGkuY2hhbmdlZCwgcy5uYW1lLCB2Lml0ZW1faWQnOwogICAgaWYgKCAkUGFyYW17T3JkZXJ9ICkgewogICAgICAgICRFeHQgLj0gJyBPUkRFUiBCWSAnOwoKICAgICAgICAjIHRpdGxlCiAgICAgICAgaWYgKCAkUGFyYW17T3JkZXJ9IGVxICdUaXRsZScgKSB7CiAgICAgICAgICAgICRFeHQgLj0gJ2kuZl9zdWJqZWN0JzsKICAgICAgICB9CgogICAgICAgICMgbGFuZ3VhZ2UKICAgICAgICBlbHNpZiAoICRQYXJhbXtPcmRlcn0gZXEgJ0xhbmd1YWdlJyApIHsKICAgICAgICAgICAgJEV4dCAuPSAnaS5mX2xhbmd1YWdlX2lkJzsKICAgICAgICB9CgogICAgICAgICMgc3RhdGUKICAgICAgICBlbHNpZiAoICRQYXJhbXtPcmRlcn0gZXEgJ1N0YXRlJyApIHsKICAgICAgICAgICAgJEV4dCAuPSAncy5uYW1lJzsKICAgICAgICB9CgogICAgICAgICMgdm90ZXMKICAgICAgICBlbHNpZiAoICRQYXJhbXtPcmRlcn0gZXEgJ1ZvdGVzJyApIHsKICAgICAgICAgICAgJEV4dCAuPSAndm90ZXMnOwogICAgICAgIH0KCiAgICAgICAgIyByYXRlcwogICAgICAgIGVsc2lmICggJFBhcmFte09yZGVyfSBlcSAnUmVzdWx0JyApIHsKICAgICAgICAgICAgJEV4dCAuPSAndnJhdGUnOwogICAgICAgIH0KCiAgICAgICAgIyBjaGFuZ2VkCiAgICAgICAgZWxzaWYgKCAkUGFyYW17T3JkZXJ9IGVxICdDcmVhdGVkJyApIHsKICAgICAgICAgICAgJEV4dCAuPSAnaS5jcmVhdGVkJzsKICAgICAgICB9CgogICAgICAgICMgY3JlYXRlZAogICAgICAgIGVsc2lmICggJFBhcmFte09yZGVyfSBlcSAnQ2hhbmdlZCcgKSB7CiAgICAgICAgICAgICRFeHQgLj0gJ2kuY2hhbmdlZCc7CiAgICAgICAgfQoKICAgICAgICBpZiAoICRQYXJhbXtTb3J0fSApIHsKICAgICAgICAgICAgaWYgKCAkUGFyYW17U29ydH0gZXEgJ3VwJyApIHsKICAgICAgICAgICAgICAgICRFeHQgLj0gJyBBU0MnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJFBhcmFte1NvcnR9IGVxICdkb3duJyApIHsKICAgICAgICAgICAgICAgICRFeHQgLj0gJyBERVNDJzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgICRTUUwgLj0gJEV4dDsKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgU1FMICAgPT4gJFNRTCwKICAgICAgICBMaW1pdCA9PiAkUGFyYW17TGltaXR9IHx8IDUwMAogICAgKTsKICAgIG15IEBMaXN0OwogICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBwdXNoIEBMaXN0LCAkUm93WzBdOwogICAgfQogICAgcmV0dXJuIEBMaXN0Owp9Cgo9aXRlbSBGQVFQYXRoTGlzdEdldCgpCgpyZXR1cm5zIGEgY2F0ZWdvcnkgYXJyYXkKCiAgICBteSBASURzID0gJEZBUU9iamVjdC0+RkFRUGF0aExpc3RHZXQoCiAgICAgICAgQ2F0ZWdvcnlJRCA9PiAxNTAsCiAgICApOwoKPWN1dAoKc3ViIEZBUVBhdGhMaXN0R2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgQENhdGVnb3J5TGlzdCAgID0gKCk7CiAgICBteSAkVGVtcENhdGVnb3J5SUQgPSAkUGFyYW17Q2F0ZWdvcnlJRH07CiAgICB3aGlsZSAoJFRlbXBDYXRlZ29yeUlEKSB7CiAgICAgICAgbXkgJURhdGEgPSAkU2VsZi0+Q2F0ZWdvcnlHZXQoIENhdGVnb3J5SUQgPT4gJFRlbXBDYXRlZ29yeUlEICk7CiAgICAgICAgaWYgKCVEYXRhKSB7CiAgICAgICAgICAgICRDYXRlZ29yeUxpc3RbICQjQ2F0ZWdvcnlMaXN0ICsgMSBdID0gXCVEYXRhOwogICAgICAgIH0KICAgICAgICAkVGVtcENhdGVnb3J5SUQgPSAkRGF0YXtQYXJlbnRJRH07CiAgICB9CiAgICBAQ2F0ZWdvcnlMaXN0ID0gcmV2ZXJzZShAQ2F0ZWdvcnlMaXN0KTsKCiAgICByZXR1cm4gXEBDYXRlZ29yeUxpc3Q7Cgp9Cgo9aXRlbSBHZXRDYXRlZ29yeVRyZWUoKQoKZ2V0IGFsbCBjYXRlZ29yaWVzIGFzIHRyZWUKCiAgICBteSAkQ2F0ZWdvcnlUcmVlID0gJEZBUU9iamVjdC0+R2V0Q2F0ZWdvcnlUcmVlKAogICAgICAgIFZhbGlkID0+IDAsICMgaWYgMSB0aGVuIGNoZWNrIHZhbGlkIGNhdGVnb3J5CiAgICApOwoKPWN1dAoKc3ViIEdldENhdGVnb3J5VHJlZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRWYWxpZCA9IDA7CiAgICBpZiAoICRQYXJhbXtWYWxpZH0gKSB7CiAgICAgICAgJFZhbGlkID0gJFBhcmFte1ZhbGlkfTsKICAgIH0KCiAgICAjIGNoZWNrIGNhY2hlCiAgICBpZiAoICRTZWxmLT57Q2FjaGV9LT57R2V0Q2F0ZWdvcnlUcmVlfS0+eyRWYWxpZH0gKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT57Q2FjaGV9LT57R2V0Q2F0ZWdvcnlUcmVlfS0+eyRWYWxpZH07CiAgICB9CgogICAgIyBzcWwKICAgIG15ICRTUUwgPSAnU0VMRUNUIGlkLCBwYXJlbnRfaWQsIG5hbWUgRlJPTSBmYXFfY2F0ZWdvcnknOwogICAgaWYgKCRWYWxpZCkgewogICAgICAgICRTUUwgLj0gJyBXSEVSRSB2YWxpZF9pZCA9IDEnOwogICAgfQogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJFNRTCwKICAgICk7CgogICAgbXkgJUNhdGVnb3J5TWFwID0gKCk7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRDYXRlZ29yeU1hcHsgJFJvd1sxXSB9LT57ICRSb3dbMF0gfSA9ICRSb3dbMl07CiAgICB9CgogICAgbXkgJENhdGVnb3J5VHJlZSA9IHt9OwoKICAgICMgY2hlY2sgYWxsIHBhcmVudCBpZHMKICAgIGZvciBteSAkUGFyZW50SUQgKCBzb3J0IHsgJGEgPD0+ICRiIH0ga2V5cyAlQ2F0ZWdvcnlNYXAgKSB7CgogICAgICAgICMgZ2V0IHN1YmNhdGVnb3JpZXMgYW5kIG5hbWVzIGZvciB0aGlzIHBhcmVudCBpZAogICAgICAgIHdoaWxlICggbXkgKCAkQ2F0ZWdvcnlJRCwgJENhdGVnb3J5TmFtZSApID0gZWFjaCggJXsgJENhdGVnb3J5TWFweyRQYXJlbnRJRH0gfSApICkgewoKICAgICAgICAgICAgIyBwcmVwZW5kIHBhcmVudHMgY2F0ZWdvcnkgbmFtZQogICAgICAgICAgICBpZiAoICRDYXRlZ29yeVRyZWUtPnskUGFyZW50SUR9ICkgewogICAgICAgICAgICAgICAgJENhdGVnb3J5TmFtZSA9ICRDYXRlZ29yeVRyZWUtPnskUGFyZW50SUR9IC4gJzo6JyAuICRDYXRlZ29yeU5hbWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgYWRkIGNhdGVnb3J5IHRvIHRyZWUKICAgICAgICAgICAgJENhdGVnb3J5VHJlZS0+eyRDYXRlZ29yeUlEfSA9ICRDYXRlZ29yeU5hbWU7CiAgICAgICAgfQogICAgfQoKICAgICMgY2FjaGUKICAgICRTZWxmLT57Q2FjaGV9LT57R2V0Q2F0ZWdvcnlUcmVlfS0+eyRWYWxpZH0gPSAkQ2F0ZWdvcnlUcmVlOwoKICAgIHJldHVybiAkQ2F0ZWdvcnlUcmVlOwp9Cgo9aXRlbSBTZXRDYXRlZ29yeUdyb3VwKCkKCnNldCBncm91cHMgdG8gYSBjYXRlZ29yeQoKICAgICRGQVFPYmplY3QtPlNldENhdGVnb3J5R3JvdXAoCiAgICAgICAgQ2F0ZWdvcnlJRCA9PiAzLAogICAgICAgIEdyb3VwSURzICAgPT4gWzIsNCwxLDUsNzddLAogICAgKTsKCj1jdXQKCnN1YiBTZXRDYXRlZ29yeUdyb3VwIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFNRTCA9ICcnOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KENhdGVnb3J5SUQgR3JvdXBJRHMpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZGVsZXRlIG9sZCBncm91cHMKICAgIHJldHVybiBpZiAhJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgIFNRTCAgPT4gJ0RFTEVURSBGUk9NIGZhcV9jYXRlZ29yeV9ncm91cCBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nLAogICAgICAgIEJpbmQgPT4gWyBcJFBhcmFte0NhdGVnb3J5SUR9IF0sCiAgICApOwoKICAgICMgaW5zZXJ0IGdyb3VwcwogICAgJFBhcmFte0NhdGVnb3J5SUR9ID0gJFNlbGYtPntEQk9iamVjdH0tPlF1b3RlKCAkUGFyYW17Q2F0ZWdvcnlJRH0sICdJbnRlZ2VyJyApOwogICAgZm9yIG15ICRLZXkgKCBAeyAkUGFyYW17R3JvdXBJRHN9IH0gKSB7CiAgICAgICAgbXkgJEdyb3VwSUQgPSAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoICRLZXksICdJbnRlZ2VyJyApOwogICAgICAgICRTUUwgPSAiSU5TRVJUIElOVE8gZmFxX2NhdGVnb3J5X2dyb3VwICIgLgogICAgICAgICAgICAiIChjYXRlZ29yeV9pZCwgZ3JvdXBfaWQsIGNoYW5nZWQsIGNoYW5nZWRfYnksIGNyZWF0ZWQsIGNyZWF0ZWRfYnkpIFZBTFVFUyIgLgogICAgICAgICAgICAiICgkUGFyYW17Q2F0ZWdvcnlJRH0sICRHcm91cElELCBjdXJyZW50X3RpbWVzdGFtcCwgJFNlbGYtPntVc2VySUR9LCAiIC4KICAgICAgICAgICAgIiBjdXJyZW50X3RpbWVzdGFtcCwgJFNlbGYtPntVc2VySUR9KSI7CgogICAgICAgICMgd3JpdGUgYXR0YWNobWVudCB0byBkYgogICAgICAgIGlmICggISRTZWxmLT57REJPYmplY3R9LT5EbyggU1FMID0+ICRTUUwgKSApIHsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDE7Cn0KCj1pdGVtIEdldENhdGVnb3J5R3JvdXAoKQoKZ2V0IGdyb3VwcyBmcm9tIGEgY2F0ZWdvcnkKCiAgICAkRkFRT2JqZWN0LT5HZXRDYXRlZ29yeUdyb3VwKAogICAgICAgIENhdGVnb3J5SUQgPT4gMywKICAgICk7Cgo9Y3V0CgpzdWIgR2V0Q2F0ZWdvcnlHcm91cCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KENhdGVnb3J5SUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IGdyb3VwcwogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgID0+ICdTRUxFQ1QgZ3JvdXBfaWQgRlJPTSBmYXFfY2F0ZWdvcnlfZ3JvdXAgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRQYXJhbXtDYXRlZ29yeUlEfSBdLAogICAgKTsKICAgIG15IEBHcm91cHM7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgIHB1c2ggQEdyb3VwcywgJFJvd1swXTsKICAgIH0KICAgIHJldHVybiBcQEdyb3VwczsKfQoKPWl0ZW0gR2V0QWxsQ2F0ZWdvcnlHcm91cCgpCgpnZXQgYWxsIGNhdGVnb3J5LWdyb3VwcwoKICAgICRGQVFPYmplY3QtPkdldEFsbENhdGVnb3J5R3JvdXAoKTsKCj1jdXQKCnN1YiBHZXRBbGxDYXRlZ29yeUdyb3VwIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBjYWNoZQogICAgaWYgKCAkU2VsZi0+e0NhY2hlfS0+e0dldEFsbENhdGVnb3J5R3JvdXB9ICkgewogICAgICAgIHJldHVybiAkU2VsZi0+e0NhY2hlfS0+e0dldEFsbENhdGVnb3J5R3JvdXB9OwogICAgfQoKICAgICMgZ2V0IGdyb3VwcwogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJ1NFTEVDVCBncm91cF9pZCwgY2F0ZWdvcnlfaWQgRlJPTSBmYXFfY2F0ZWdvcnlfZ3JvdXAnLAogICAgKTsKICAgIG15ICVHcm91cHM7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRHcm91cHN7ICRSb3dbMV0gfS0+eyAkUm93WzBdIH0gPSAxOwogICAgfQoKICAgICMgY2FjaGUKICAgICRTZWxmLT57Q2FjaGV9LT57R2V0QWxsQ2F0ZWdvcnlHcm91cH0gPSBcJUdyb3VwczsKCiAgICByZXR1cm4gXCVHcm91cHM7Cn0KCj1pdGVtIEdldFVzZXJDYXRlZ29yaWVzKCkKCmdldCBhbGwgY2F0ZWdvcnktZ3JvdXBzCgogICAgbXkgJEhhc2hyZWYgPSAkRkFRT2JqZWN0LT5HZXRVc2VyQ2F0ZWdvcmllcygKICAgICAgICBVc2VySUQgPT4gJzEyMzQ1NicsCiAgICAgICAgVHlwZSAgID0+ICdydycKICAgICk7Cgo9Y3V0CgpzdWIgR2V0VXNlckNhdGVnb3JpZXMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhVc2VySUQgVHlwZSkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkXyEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgbXkgJENhdGVnb3JpZXMgICAgID0gJFNlbGYtPkNhdGVnb3J5TGlzdCggVmFsaWQgPT4gMSApOwogICAgbXkgJENhdGVnb3J5R3JvdXBzID0gJFNlbGYtPkdldEFsbENhdGVnb3J5R3JvdXAoKTsKICAgIG15ICVVc2VyR3JvdXBzICAgICA9ICgpOwogICAgaWYgKCAhJFNlbGYtPntDYWNoZX0tPntHZXRVc2VyQ2F0ZWdvcmllc30tPntHcm91cE1lbWJlckxpc3R9ICkgewogICAgICAgICVVc2VyR3JvdXBzID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTWVtYmVyTGlzdCgKICAgICAgICAgICAgVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBUeXBlICAgPT4gJFBhcmFte1R5cGV9LAogICAgICAgICAgICBSZXN1bHQgPT4gJ0hBU0gnLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntDYWNoZX0tPntHZXRVc2VyQ2F0ZWdvcmllc30tPntHcm91cE1lbWJlckxpc3R9ID0gXCVVc2VyR3JvdXBzOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJVVzZXJHcm91cHMgPSAleyAkU2VsZi0+e0NhY2hlfS0+e0dldFVzZXJDYXRlZ29yaWVzfS0+e0dyb3VwTWVtYmVyTGlzdH0gfTsKICAgIH0KCiAgICBteSAkVXNlckNhdGVnb3JpZXMgPSAkU2VsZi0+X1VzZXJDYXRlZ29yaWVzKAogICAgICAgIENhdGVnb3JpZXMgICAgID0+ICRDYXRlZ29yaWVzLAogICAgICAgIENhdGVnb3J5R3JvdXBzID0+ICRDYXRlZ29yeUdyb3VwcywKICAgICAgICBVc2VyR3JvdXBzICAgICA9PiBcJVVzZXJHcm91cHMsCiAgICApOwoKICAgIHJldHVybiAkVXNlckNhdGVnb3JpZXM7Cn0KCnN1YiBfVXNlckNhdGVnb3JpZXMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlVXNlckNhdGVnb3JpZXMgPSAoKTsKCiAgICBQQVJFTlRJRDoKICAgIGZvciBteSAkUGFyZW50SUQgKCBzb3J0IHsgJGEgPD0+ICRiIH0ga2V5cyAleyAkUGFyYW17Q2F0ZWdvcmllc30gfSApIHsKCiAgICAgICAgbXkgJVN1YkNhdGVnb3JpZXMgPSAoKTsKCiAgICAgICAgQ0FURUdPUllJRDoKICAgICAgICBmb3IgbXkgJENhdGVnb3J5SUQgKCBrZXlzICV7ICRQYXJhbXtDYXRlZ29yaWVzfS0+eyRQYXJlbnRJRH0gfSApIHsKCiAgICAgICAgICAgICMgY2hlY2sgY2F0ZWdvcnkgZ3JvdXBzCiAgICAgICAgICAgIG5leHQgQ0FURUdPUllJRCBpZiAhZGVmaW5lZCAkUGFyYW17Q2F0ZWdvcnlHcm91cHN9LT57JENhdGVnb3J5SUR9OwoKICAgICAgICAgICAgIyBjaGVjayB1c2VyIGdyb3VwcwogICAgICAgICAgICBHUk9VUElEOgogICAgICAgICAgICBmb3IgbXkgJEdyb3VwSUQgKCBrZXlzICV7ICRQYXJhbXtDYXRlZ29yeUdyb3Vwc30tPnskQ2F0ZWdvcnlJRH0gfSApIHsKCiAgICAgICAgICAgICAgICBuZXh0IEdST1VQSUQgaWYgIWRlZmluZWQgJFBhcmFte1VzZXJHcm91cHN9LT57JEdyb3VwSUR9OwoKICAgICAgICAgICAgICAgICMgYWRkIGNhdGVnb3J5CiAgICAgICAgICAgICAgICAkU3ViQ2F0ZWdvcmllc3skQ2F0ZWdvcnlJRH0gPSAkUGFyYW17Q2F0ZWdvcmllc30tPnskUGFyZW50SUR9eyRDYXRlZ29yeUlEfTsKCiAgICAgICAgICAgICAgICAjIGFkZCBlbXB0eSBoYXNoIGlmIGNhdGVnb3J5IGhhcyBubyBzdWJjYXRlZ29yaWVzCiAgICAgICAgICAgICAgICBpZiAoICEkVXNlckNhdGVnb3JpZXN7JENhdGVnb3J5SUR9ICkgewogICAgICAgICAgICAgICAgICAgICRVc2VyQ2F0ZWdvcmllc3skQ2F0ZWdvcnlJRH0gPSB7fTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBsYXN0IEdST1VQSUQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJFVzZXJDYXRlZ29yaWVzeyRQYXJlbnRJRH0gPSBcJVN1YkNhdGVnb3JpZXM7CiAgICB9CiAgICByZXR1cm4gXCVVc2VyQ2F0ZWdvcmllczsKfQoKPWl0ZW0gR2V0Q3VzdG9tZXJDYXRlZ29yaWVzKCkKCmdldCBhbGwgY2F0ZWdvcnktZ3JvdXBzCgogICAgbXkgJEhhc2hyZWYgPSAkRkFRT2JqZWN0LT5HZXRDdXN0b21lckNhdGVnb3JpZXMoCiAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICdoYW5zJywKICAgICAgICBUeXBlID0+ICdydycKICAgICk7Cgo9Y3V0CgpzdWIgR2V0Q3VzdG9tZXJDYXRlZ29yaWVzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoQ3VzdG9tZXJVc2VyIFR5cGUpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgY2hlY2sgY2FjaGUKICAgIG15ICRDYWNoZUtleSA9ICdHZXRDdXN0b21lckNhdGVnb3JpZXM6OkN1c3RvbWVyVXNlcjo6JyAuICRQYXJhbXtDdXN0b21lclVzZXJ9OwogICAgaWYgKCBkZWZpbmVkICRTZWxmLT57Q2FjaGV9LT57JENhY2hlS2V5fSApIHsKICAgICAgICByZXR1cm4gJFNlbGYtPntDYWNoZX0tPnskQ2FjaGVLZXl9OwogICAgfQoKICAgIG15ICRDYXRlZ29yaWVzID0gJFNlbGYtPkNhdGVnb3J5TGlzdCggVmFsaWQgPT4gMSApOwogICAgbXkgJENhdGVnb3J5R3JvdXBzID0gJFNlbGYtPkdldEFsbENhdGVnb3J5R3JvdXAoKTsKCiAgICBteSAlVXNlckdyb3VwcyA9ICRTZWxmLT57Q3VzdG9tZXJHcm91cE9iamVjdH0tPkdyb3VwTWVtYmVyTGlzdCgKICAgICAgICBVc2VySUQgPT4gJFBhcmFte0N1c3RvbWVyVXNlcn0sCiAgICAgICAgVHlwZSAgID0+ICdybycsCiAgICAgICAgUmVzdWx0ID0+ICdIQVNIJywKICAgICk7CgogICAgbXkgJEN1c3RvbWVyQ2F0ZWdvcmllcyA9ICRTZWxmLT5fVXNlckNhdGVnb3JpZXMoCiAgICAgICAgQ2F0ZWdvcmllcyAgICAgPT4gJENhdGVnb3JpZXMsCiAgICAgICAgQ2F0ZWdvcnlHcm91cHMgPT4gJENhdGVnb3J5R3JvdXBzLAogICAgICAgIFVzZXJHcm91cHMgICAgID0+IFwlVXNlckdyb3VwcywKICAgICk7CgogICAgIyBjYWNoZQogICAgJFNlbGYtPntDYWNoZX0tPnskQ2FjaGVLZXl9ID0gJEN1c3RvbWVyQ2F0ZWdvcmllczsKCiAgICByZXR1cm4gJEN1c3RvbWVyQ2F0ZWdvcmllczsKfQoKPWl0ZW0gQ2hlY2tDYXRlZ29yeVVzZXJQZXJtaXNzaW9uKCkKCmdldCB1c2VycGVybWlzc2lvbiBmcm9tIGEgY2F0ZWdvcnkKCiAgICAkRkFRT2JqZWN0LT5DaGVja0NhdGVnb3J5VXNlclBlcm1pc3Npb24oCiAgICAgICAgVXNlcklEID0+ICcxMjM0NTYnLAogICAgICAgIENhdGVnb3J5SUQgPT4gJzEyMycsCiAgICApOwoKPWN1dAoKc3ViIENoZWNrQ2F0ZWdvcnlVc2VyUGVybWlzc2lvbiB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KFVzZXJJRCBDYXRlZ29yeUlEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KICAgIG15ICRIYXNoID0gJFNlbGYtPkdldFVzZXJDYXRlZ29yaWVzKAogICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICBUeXBlICAgPT4gJ3JvJwogICAgKTsKICAgIGZvciBteSAkUGVybWlzc2lvbiAocXcocncgcm8pKSB7CiAgICAgICAgZm9yIG15ICRQYXJlbnRJRCAoIGtleXMgJXskSGFzaH0gKSB7CiAgICAgICAgICAgIG15ICRDYXRlZ29yeUhhc2ggPSAkSGFzaC0+eyRQYXJlbnRJRH07CiAgICAgICAgICAgIGZvciBteSAkQ2F0ZWdvcnlJRCAoIGtleXMgJXskQ2F0ZWdvcnlIYXNofSApIHsKICAgICAgICAgICAgICAgIGlmICggJENhdGVnb3J5SUQgPT0gJFBhcmFte0NhdGVnb3J5SUR9ICkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAkUGVybWlzc2lvbjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAnJzsKfQoKPWl0ZW0gQ2hlY2tDYXRlZ29yeUN1c3RvbWVyUGVybWlzc2lvbigpCgpnZXQgdXNlcnBlcm1pc3Npb24gZnJvbSBhIGNhdGVnb3J5CgogICAgJEZBUU9iamVjdC0+Q2hlY2tDYXRlZ29yeUN1c3RvbWVyUGVybWlzc2lvbigKICAgICAgICBVc2VySUQgPT4gJzEyMzQ1NicsCiAgICAgICAgQ2F0ZWdvcnlJRCA9PiAnMTIzJywKICAgICk7Cgo9Y3V0CgpzdWIgQ2hlY2tDYXRlZ29yeUN1c3RvbWVyUGVybWlzc2lvbiB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KEN1c3RvbWVyVXNlciBDYXRlZ29yeUlEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KICAgIGZvciBteSAkUGVybWlzc2lvbiAocXcocncgcm8pKSB7CiAgICAgICAgbXkgJEhhc2ggPSAkU2VsZi0+R2V0Q3VzdG9tZXJDYXRlZ29yaWVzKAogICAgICAgICAgICBDdXN0b21lclVzZXIgPT4gJFBhcmFte0N1c3RvbWVyVXNlcn0sCiAgICAgICAgICAgIFR5cGUgICAgICAgICA9PiAncm8nCiAgICAgICAgKTsKICAgICAgICBmb3IgbXkgJFBhcmVudElEICgga2V5cyAleyRIYXNofSApIHsKICAgICAgICAgICAgbXkgJENhdGVnb3J5SGFzaCA9ICRIYXNoLT57JFBhcmVudElEfTsKICAgICAgICAgICAgZm9yIG15ICRDYXRlZ29yeUlEICgga2V5cyAleyRDYXRlZ29yeUhhc2h9ICkgewogICAgICAgICAgICAgICAgaWYgKCAkQ2F0ZWdvcnlJRCA9PSAkUGFyYW17Q2F0ZWdvcnlJRH0gKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRQZXJtaXNzaW9uOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICcnOwp9Cgo9aXRlbSBBZ2VudENhdGVnb3J5U2VhcmNoKCkKCmdldCB0aGUgY2F0ZWdvcnkgc2VhcmNoIGFzIGhhc2gKCiAgICBteSBAQ2F0ZWdvcnlJRHMgPSBAeyRGQVFPYmplY3QtPkFnZW50Q2F0ZWdvcnlTZWFyY2goCiAgICAgICAgVXNlcklEICAgPT4gMSwKICAgICAgICBQYXJlbnRJRCA9PiAzLCAgICMgKG9wdGlvbmFsLCBkZWZhdWx0IDApCiAgICApfTsKCj1jdXQKCnN1YiBBZ2VudENhdGVnb3J5U2VhcmNoIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoICFkZWZpbmVkICRQYXJhbXtQYXJlbnRJRH0gKSB7CiAgICAgICAgJFBhcmFte1BhcmVudElEfSA9IDA7CiAgICB9CiAgICBteSAkQ2F0ZWdvcmllcyA9ICRTZWxmLT5HZXRVc2VyQ2F0ZWdvcmllcygKICAgICAgICBVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgVHlwZSAgID0+ICdybycKICAgICk7CgogICAgbXkgJUNhdGVnb3J5ID0gJXsgJENhdGVnb3JpZXMtPnsgJFBhcmFte1BhcmVudElEfSB9IH07CiAgICBteSBAQ2F0ZWdvcnlJRHMgPSBzb3J0IHsgJENhdGVnb3J5eyRhfSBjbXAgJENhdGVnb3J5eyRifSB9ICgga2V5cyAlQ2F0ZWdvcnkgKTsKCiAgICByZXR1cm4gXEBDYXRlZ29yeUlEczsKfQoKPWl0ZW0gQ3VzdG9tZXJDYXRlZ29yeVNlYXJjaCgpCgpnZXQgdGhlIGNhdGVnb3J5IHNlYXJjaCBhcyBoYXNoCgogICAgbXkgJENhdGVnb3J5SURBcnJheVJlZiA9IEB7JEZBUU9iamVjdC0+Q3VzdG9tZXJDYXRlZ29yeVNlYXJjaCgKICAgICAgICBDdXN0b21lclVzZXIgID0+ICd0dCcsCiAgICAgICAgUGFyZW50SUQgICAgICA9PiAzLCAgICMgKG9wdGlvbmFsLCBkZWZhdWx0IDApCiAgICAgICAgTW9kZSAgICAgICAgICA9PiAnQ3VzdG9tZXInLAogICAgKX07Cgo9Y3V0CgpzdWIgQ3VzdG9tZXJDYXRlZ29yeVNlYXJjaCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KEN1c3RvbWVyVXNlcikpIHsKICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkXyEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybiAoKTsKICAgICAgICB9CiAgICB9CiAgICBpZiAoICFkZWZpbmVkICRQYXJhbXtQYXJlbnRJRH0gKSB7CiAgICAgICAgJFBhcmFte1BhcmVudElEfSA9IDA7CiAgICB9CiAgICBteSAkQ2F0ZWdvcmllcyA9ICRTZWxmLT5HZXRDdXN0b21lckNhdGVnb3JpZXMoCiAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJ9LAogICAgICAgIFR5cGUgICAgICAgICA9PiAncm8nLAogICAgKTsKCiAgICBteSAlQ2F0ZWdvcnkgICAgICAgICAgID0gJXsgJENhdGVnb3JpZXMtPnsgJFBhcmFte1BhcmVudElEfSB9IH07CiAgICBteSBAQ2F0ZWdvcnlJRHMgICAgICAgID0gc29ydCB7ICRDYXRlZ29yeXskYX0gY21wICRDYXRlZ29yeXskYn0gfSAoIGtleXMgJUNhdGVnb3J5ICk7CiAgICBteSBAQWxsb3dlZENhdGVnb3J5SURzID0gKCk7CgogICAgbXkgJUFydGljbGVzID0gKCk7CgogICAgIyBjaGVjayBjYWNoZQogICAgbXkgJENhY2hlS2V5ID0gJ0N1c3RvbWVyQ2F0ZWdvcnlTZWFyY2g6OkFydGljbGVzJzsKICAgIGlmICggJFNlbGYtPntDYWNoZX0tPnskQ2FjaGVLZXl9ICkgewogICAgICAgICVBcnRpY2xlcyA9ICV7ICRTZWxmLT57Q2FjaGV9LT57JENhY2hlS2V5fSB9OwogICAgfQogICAgZWxzZSB7CgogICAgICAgIG15ICRTUUwgPSAnU0VMRUNUIGZhcV9pdGVtLmlkLCBmYXFfaXRlbS5jYXRlZ29yeV9pZCAnCiAgICAgICAgICAgIC4gJ0ZST00gZmFxX2l0ZW0sIGZhcV9zdGF0ZV90eXBlLCBmYXFfc3RhdGUgJwogICAgICAgICAgICAuICdXSEVSRSBmYXFfc3RhdGUuaWQgPSBmYXFfaXRlbS5zdGF0ZV9pZCAnCiAgICAgICAgICAgIC4gJ0FORCBmYXFfc3RhdGUudHlwZV9pZCA9IGZhcV9zdGF0ZV90eXBlLmlkICcKICAgICAgICAgICAgLiAiQU5EIGZhcV9zdGF0ZV90eXBlLm5hbWUgIT0gJ2ludGVybmFsJyAiCiAgICAgICAgICAgIC4gJ0FORCBhcHByb3ZlZCA9IDEnOwoKICAgICAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgICAgICBTUUwgPT4gJFNRTCwKICAgICAgICApOwogICAgICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgICAgICRBcnRpY2xlc3sgJFJvd1sxXSB9Kys7CiAgICAgICAgfQoKICAgICAgICAjIGNhY2hlCiAgICAgICAgJFNlbGYtPntDYWNoZX0tPnskQ2FjaGVLZXl9ID0gXCVBcnRpY2xlczsKICAgIH0KCiAgICBmb3IgbXkgJENhdGVnb3J5SUQgKEBDYXRlZ29yeUlEcykgewoKICAgICAgICAjIGdldCBhbGwgc3ViY2F0ZWdvcnkgaWRzIGZvciB0aGlzIGNhdGVnb3J5CiAgICAgICAgbXkgJFN1YkNhdGVnb3J5SURzID0gJFNlbGYtPkNhdGVnb3J5U3ViQ2F0ZWdvcnlJRExpc3QoCiAgICAgICAgICAgIFBhcmVudElEICAgICA9PiAkQ2F0ZWdvcnlJRCwKICAgICAgICAgICAgTW9kZSAgICAgICAgID0+ICRQYXJhbXtNb2RlfSwKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJ9LAogICAgICAgICk7CgogICAgICAgICMgYWRkIHRoaXMgY2F0ZWdvcnkgaWQKICAgICAgICBteSBASURzID0gKCAkQ2F0ZWdvcnlJRCwgQHskU3ViQ2F0ZWdvcnlJRHN9ICk7CgogICAgICAgICMgY2hlY2sgaWYgY2F0ZWdvcnkgY29udGFpbnMgYXJ0aWNsZXMgd2l0aCBzdGF0ZSBleHRlcm5hbCBvciBwdWJsaWMKICAgICAgICBJRDoKICAgICAgICBmb3IgbXkgJElEIChASURzKSB7CiAgICAgICAgICAgIG5leHQgSUQgaWYgISRBcnRpY2xlc3skSUR9OwogICAgICAgICAgICBwdXNoIEBBbGxvd2VkQ2F0ZWdvcnlJRHMsICRDYXRlZ29yeUlEOwogICAgICAgICAgICBsYXN0IElEOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gXEBBbGxvd2VkQ2F0ZWdvcnlJRHM7Cn0KCj1pdGVtIFB1YmxpY0NhdGVnb3J5U2VhcmNoKCkKCmdldCB0aGUgY2F0ZWdvcnkgc2VhcmNoIGFzIGhhc2gKCiAgICBteSBAQ2F0ZWdvcmllSURzID0gQHskRkFRT2JqZWN0LT5QdWJsaWNDYXRlZ29yeVNlYXJjaCgKICAgICAgICBQYXJlbnRJRCAgICAgID0+IDMsICAgIyAob3B0aW9uYWwsIGRlZmF1bHQgMCkKICAgICAgICBNb2RlICAgICAgICAgID0+ICdQdWJsaWMnLAogICAgKX07Cgo9Y3V0CgpzdWIgUHVibGljQ2F0ZWdvcnlTZWFyY2ggewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBpZiAoICFkZWZpbmVkICRQYXJhbXtQYXJlbnRJRH0gKSB7CiAgICAgICAgJFBhcmFte1BhcmVudElEfSA9IDA7CiAgICB9CgogICAgbXkgJENhdGVnb3J5TGlzdENhdGVnb3JpZXMgPSAkU2VsZi0+Q2F0ZWdvcnlMaXN0KAogICAgICAgIFZhbGlkID0+IDEsCiAgICApOwoKICAgIHJldHVybiBbXSBpZiAhJENhdGVnb3J5TGlzdENhdGVnb3JpZXMtPnsgJFBhcmFte1BhcmVudElEfSB9OwoKICAgIG15ICVDYXRlZ29yeSAgICAgICAgICAgPSAleyAkQ2F0ZWdvcnlMaXN0Q2F0ZWdvcmllcy0+eyAkUGFyYW17UGFyZW50SUR9IH0gfTsKICAgIG15IEBDYXRlZ29yeUlEcyAgICAgICAgPSBzb3J0IHsgJENhdGVnb3J5eyRhfSBjbXAgJENhdGVnb3J5eyRifSB9ICgga2V5cyAlQ2F0ZWdvcnkgKTsKICAgIG15IEBBbGxvd2VkQ2F0ZWdvcnlJRHMgPSAoKTsKCiAgICBmb3IgbXkgJENhdGVnb3J5SUQgKEBDYXRlZ29yeUlEcykgewoKICAgICAgICAjIGdldCBhbGwgc3ViY2F0ZWdvcnkgaWRzIGZvciB0aGlzIGNhdGVnb3J5CiAgICAgICAgbXkgJFN1YkNhdGVnb3J5SURzID0gJFNlbGYtPkNhdGVnb3J5U3ViQ2F0ZWdvcnlJRExpc3QoCiAgICAgICAgICAgIFBhcmVudElEICAgICA9PiAkQ2F0ZWdvcnlJRCwKICAgICAgICAgICAgTW9kZSAgICAgICAgID0+ICRQYXJhbXtNb2RlfSwKICAgICAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJ9LAogICAgICAgICk7CgogICAgICAgICMgYWRkIHRoaXMgY2F0ZWdvcnkgaWQKICAgICAgICBteSBASURzID0gKCAkQ2F0ZWdvcnlJRCwgQHskU3ViQ2F0ZWdvcnlJRHN9ICk7CgogICAgICAgICMgY2hlY2sgaWYgY2F0ZWdvcnkgY29udGFpbnMgYXJ0aWNsZXMgd2l0aCBzdGF0ZSBwdWJsaWMKICAgICAgICBteSAkRm91bmRBcnRpY2xlID0gMDsKICAgICAgICBteSAkU1FMICAgICAgICAgID0gJ1NFTEVDVCBmYXFfaXRlbS5pZCAnCiAgICAgICAgICAgIC4gJ0ZST00gZmFxX2l0ZW0sIGZhcV9zdGF0ZV90eXBlLCBmYXFfc3RhdGUgJwogICAgICAgICAgICAuICdXSEVSRSBmYXFfaXRlbS5jYXRlZ29yeV9pZCA9ID8gJwogICAgICAgICAgICAuICdBTkQgZmFxX3N0YXRlLmlkID0gZmFxX2l0ZW0uc3RhdGVfaWQgJwogICAgICAgICAgICAuICdBTkQgZmFxX3N0YXRlLnR5cGVfaWQgPSBmYXFfc3RhdGVfdHlwZS5pZCAnCiAgICAgICAgICAgIC4gIkFORCBmYXFfc3RhdGVfdHlwZS5uYW1lID0gJ3B1YmxpYycgIgogICAgICAgICAgICAuICdBTkQgYXBwcm92ZWQgPSAxJzsKCiAgICAgICAgSUQ6CiAgICAgICAgZm9yIG15ICRJRCAoQElEcykgewogICAgICAgICAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgICAgICAgICAgU1FMICAgPT4gJFNRTCwKICAgICAgICAgICAgICAgIEJpbmQgID0+IFsgXCRJRCBdLAogICAgICAgICAgICAgICAgTGltaXQgPT4gMSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAgICAgICAgICRGb3VuZEFydGljbGUgPSAkUm93WzBdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxhc3QgSUQgaWYgJEZvdW5kQXJ0aWNsZTsKICAgICAgICB9CgogICAgICAgICMgYW4gYXJ0aWNsZSB3YXMgZm91bmQKICAgICAgICBpZiAoJEZvdW5kQXJ0aWNsZSkgewogICAgICAgICAgICBwdXNoIEBBbGxvd2VkQ2F0ZWdvcnlJRHMsICRDYXRlZ29yeUlEOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gXEBBbGxvd2VkQ2F0ZWdvcnlJRHM7Cgp9Cgo9aXRlbSBGQVFMb2dBZGQoKQoKYWRkcyBhY2Nlc3NlZCBGQVEgYXJ0aWNsZSB0byB0aGUgYWNjZXNzIGxvZyB0YWJsZQoKICAgIG15ICRTdWNjZXNzID0gJEZBUU9iamVjdC0+RkFRTG9nQWRkKAogICAgICAgIEl0ZW1JRCAgICA9PiAnMTIzNDU2JywKICAgICAgICBJbnRlcmZhY2UgPT4gJ2ludGVybmFsJywKICAgICk7Cgo9Y3V0CgpzdWIgRkFRTG9nQWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSXRlbUlEIEludGVyZmFjZSkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkXyEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzCiAgICBteSAkSVAgICAgICAgID0gJEVOVnsnUkVNT1RFX0FERFInfSAgICAgfHwgJ05PTkUnOwogICAgbXkgJFVzZXJBZ2VudCA9ICRFTlZ7J0hUVFBfVVNFUl9BR0VOVCd9IHx8ICdOT05FJzsKCiAgICAjIGdldCBjdXJyZW50IHN5c3RlbSB0aW1lCiAgICBteSAkU3lzdGVtVGltZSA9ICRTZWxmLT57VGltZU9iamVjdH0tPlN5c3RlbVRpbWUoKTsKCiAgICAjIGRlZmluZSB0aW1lIHBlcmlvZCB3aGVyZSByZWxvYWRzIHdpbGwgbm90IGJlIGxvZ2dlZCAoMTAgbWludXRlcykKICAgIG15ICRSZWxvYWRCbG9ja1RpbWUgPSAxMCAqIDYwOwoKICAgICMgc3VidHJhY3QgUmVsb2FkQmxvY2tUaW1lCiAgICAkU3lzdGVtVGltZSA9ICRTeXN0ZW1UaW1lIC0gJFJlbG9hZEJsb2NrVGltZTsKCiAgICAjIGNvbnZlcnQgdG8gdGltZXNzdGFtcAogICAgbXkgJFRpbWVTdGFtcCA9ICRTZWxmLT57VGltZU9iamVjdH0tPlN5c3RlbVRpbWUyVGltZVN0YW1wKAogICAgICAgIFN5c3RlbVRpbWUgPT4gJFN5c3RlbVRpbWUsCiAgICApOwoKICAgICMgY2hlY2sgaWYgYSBsb2cgZW50cnkgZXhpc3RzIG5ld2VyIHRoYW4gdGhlIFJlbG9hZEJsb2NrVGltZQogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJ1NFTEVDVCBpZCBGUk9NIGZhcV9sb2cgJwogICAgICAgICAgICAuICdXSEVSRSBpdGVtX2lkID0gPyBBTkQgaXAgPSA/ICcKICAgICAgICAgICAgLiAnQU5EIHVzZXJfYWdlbnQgPSA/IEFORCBjcmVhdGVkID49ID8gJywKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17SXRlbUlEfSwgXCRJUCwgXCRVc2VyQWdlbnQsIFwkVGltZVN0YW1wIF0sCiAgICAgICAgTGltaXQgPT4gMSwKICAgICk7CgogICAgIyBmZXRjaCB0aGUgcmVzdWx0CiAgICBteSAkQWxyZWFkeUV4aXN0cyA9IDA7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgICRBbHJlYWR5RXhpc3RzID0gMTsKICAgIH0KCiAgICByZXR1cm4gaWYgJEFscmVhZHlFeGlzdHM7CgogICAgIyBpbnNlcnQgbmV3IGxvZyBlbnRyeQogICAgcmV0dXJuIGlmICEkU2VsZi0+e0RCT2JqZWN0fS0+RG8oCiAgICAgICAgU1FMID0+ICdJTlNFUlQgSU5UTyBmYXFfbG9nICcKICAgICAgICAgICAgLiAnKGl0ZW1faWQsIGludGVyZmFjZSwgaXAsIHVzZXJfYWdlbnQsIGNyZWF0ZWQpIFZBTFVFUyAnCiAgICAgICAgICAgIC4gJyg/LCA/LCA/LCA/LCBjdXJyZW50X3RpbWVzdGFtcCknLAogICAgICAgIEJpbmQgPT4gWwogICAgICAgICAgICBcJFBhcmFte0l0ZW1JRH0sIFwkUGFyYW17SW50ZXJmYWNlfSwgXCRJUCwgXCRVc2VyQWdlbnQsCiAgICAgICAgXSwKICAgICk7CgogICAgcmV0dXJuIDE7Cn0KCj1pdGVtIEZBUVRvcDEwR2V0KCkKCnJldHVybnMgYW4gYXJyYXkgd2l0aCB0aGUgdG9wIDEwIGZhcSBhcnRpY2xlIGlkcwoKICAgIG15ICRUb3AxMElEc1JlZiA9ICRGQVFPYmplY3QtPkZBUVRvcDEwR2V0KAogICAgICAgIEludGVyZmFjZSA9PiAncHVibGljJywKICAgICAgICBDYXRlZ29yeUlEcyA9PiBcQENhdGVnb3J5SWRzLAogICAgICAgIExpbWl0ICAgICA9PiAxMCwKICAgICk7Cgo9Y3V0CgpzdWIgRkFRVG9wMTBHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhJbnRlcmZhY2UpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgcHJlcGFyZSBTUUwKICAgIG15IEBCaW5kOwogICAgbXkgJFNRTCA9ICdTRUxFQ1QgaXRlbV9pZCwgY291bnQoaXRlbV9pZCksIGZhcV9zdGF0ZV90eXBlLm5hbWUsIGFwcHJvdmVkICcKICAgICAgICAuICdGUk9NIGZhcV9sb2csIGZhcV9pdGVtLCBmYXFfc3RhdGUsIGZhcV9zdGF0ZV90eXBlICcKICAgICAgICAuICdXSEVSRSBmYXFfbG9nLml0ZW1faWQgPSBmYXFfaXRlbS5pZCAnCiAgICAgICAgLiAnQU5EIGZhcV9pdGVtLnN0YXRlX2lkID0gZmFxX3N0YXRlLmlkICcKICAgICAgICAuICdBTkQgZmFxX3N0YXRlLnR5cGVfaWQgPSBmYXFfc3RhdGVfdHlwZS5pZCAnOwoKICAgICMgZmlsdGVyIGp1c3QgY2F0ZWdvcmllcyB3aXRoIGF0IGxlYXN0IHJvIHBlcm1pc3Npb24KICAgIGlmICggJFBhcmFte0NhdGVnb3J5SURzfSApIHsKCiAgICAgICAgJFNRTCAuPSAiQU5EIGZhcV9pdGVtLmNhdGVnb3J5X2lkIElOICgiOwoKICAgICAgICBmb3IgbXkgJENhdGVnb3J5ICggQHsgJFBhcmFte0NhdGVnb3J5SURzfSB9ICkgewogICAgICAgICAgICAkU1FMIC49ICIgJyRDYXRlZ29yeSciOwogICAgICAgICAgICBpZiAoICRDYXRlZ29yeSBuZSAkUGFyYW17Q2F0ZWdvcnlJRHN9LT5bLTFdICkgewogICAgICAgICAgICAgICAgJFNRTCAuPSAnLCc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRTUUwgLj0gIikiOwogICAgfQoKICAgICMgZmlsdGVyIHJlc3VsdHMgZm9yIHB1YmxpYyBhbmQgY3VzdG9tZXIgaW50ZXJmYWNlCiAgICBpZiAoICggJFBhcmFte0ludGVyZmFjZX0gZXEgJ3B1YmxpYycgKSB8fCAoICRQYXJhbXtJbnRlcmZhY2V9IGVxICdleHRlcm5hbCcgKSApIHsKCiAgICAgICAgJFNRTCAuPSAiQU5EICggKCBmYXFfc3RhdGVfdHlwZS5uYW1lID0gJ3B1YmxpYycgKSAiOwoKICAgICAgICBpZiAoICRQYXJhbXtJbnRlcmZhY2V9IGVxICdleHRlcm5hbCcgKSB7CiAgICAgICAgICAgICRTUUwgLj0gIk9SICggZmFxX3N0YXRlX3R5cGUubmFtZSA9ICdleHRlcm5hbCcgKSAiOwogICAgICAgIH0KICAgICAgICAkU1FMIC49ICcpICc7CgogICAgICAgICRTUUwgLj0gJ0FORCBhcHByb3ZlZCA9IDEgJzsKICAgIH0KCiAgICAjIGZpbHRlciByZXN1bHRzIGZvciBkZWZpbmVkIHRpbWUgcGVyaW9kCiAgICBpZiAoICRQYXJhbXtTdGFydERhdGV9ICYmICRQYXJhbXtFbmREYXRlfSApIHsKICAgICAgICAkU1FMIC49ICdBTkQgZmFxX2xvZy5jcmVhdGVkID49ID8gQU5EIGZhcV9sb2cuY3JlYXRlZCA8PSA/ICc7CiAgICAgICAgcHVzaCBAQmluZCwgKCBcJFBhcmFte1N0YXJ0RGF0ZX0sIFwkUGFyYW17RW5kRGF0ZX0gKTsKICAgIH0KCiAgICAjIGNvbXBsZXRlIFNRTCBzdGF0ZW1lbnQKICAgICRTUUwgLj0gJ0dST1VQIEJZIGl0ZW1faWQsIGZhcV9zdGF0ZV90eXBlLm5hbWUsIGFwcHJvdmVkICAnCiAgICAgICAgLiAnT1JERVIgQlkgMiBERVNDICc7CgogICAgIyBnZXQgdGhlIHRvcCAxMCBhcnRpY2xlIGlkcyBmcm9tIGRhdGFiYXNlCiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICRTUUwsCiAgICAgICAgQmluZCAgPT4gXEBCaW5kLAogICAgICAgIExpbWl0ID0+ICRQYXJhbXtMaW1pdH0sCiAgICApOwoKICAgIG15IEBSZXN1bHQ7CiAgICB3aGlsZSAoIG15IEBSb3cgPSAkU2VsZi0+e0RCT2JqZWN0fS0+RmV0Y2hyb3dBcnJheSgpICkgewogICAgICAgIHB1c2ggQFJlc3VsdCwgewogICAgICAgICAgICBJdGVtSUQgICAgPT4gJFJvd1swXSwKICAgICAgICAgICAgQ291bnQgICAgID0+ICRSb3dbMV0sCiAgICAgICAgICAgIEludGVyZmFjZSA9PiAkUm93WzJdLAogICAgICAgIH07CiAgICB9CgogICAgcmV0dXJuIFxAUmVzdWx0Owp9Cgo9aXRlbSBGQVFBcHByb3ZhbFVwZGF0ZSgpCgp1cGRhdGUgdGhlIGFwcHJvdmFsIHN0YXRlIG9mIGFuIGFydGljbGUKCiAgICAkRkFRT2JqZWN0LT5GQVFBcHByb3ZhbFVwZGF0ZSgKICAgICAgICBJdGVtSUQgICAgID0+IDEyMywKICAgICAgICBBcHByb3ZlZCAgID0+IDEsICAgICMgMHwxIChkZWZhdWx0IDApCiAgICApOwoKPWN1dAoKc3ViIEZBUUFwcHJvdmFsVXBkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSXRlbUlEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRfISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KICAgIGlmICggIWRlZmluZWQgJFBhcmFte0FwcHJvdmVkfSApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgQXBwcm92ZWQgcGFyYW0hIgogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgdXBkYXRlIGRhdGFiYXNlCiAgICByZXR1cm4gaWYgISRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICBTUUwgPT4gJ1VQREFURSBmYXFfaXRlbSBTRVQgYXBwcm92ZWQgPSA/LCBjaGFuZ2VkID0gY3VycmVudF90aW1lc3RhbXAsICcKICAgICAgICAgICAgLiAnY2hhbmdlZF9ieSA9ID8gV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsKICAgICAgICAgICAgXCRQYXJhbXtBcHByb3ZlZH0sIFwkU2VsZi0+e1VzZXJJRH0sIFwkUGFyYW17SXRlbUlEfSwKICAgICAgICBdLAogICAgKTsKCiAgICAjIGNyZWF0ZSBuZXcgYXBwcm92YWwgdGlja2V0CiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkFwcHJvdmFsUmVxdWlyZWQnKSAmJiAhJFBhcmFte0FwcHJvdmVkfSApIHsKCiAgICAgICAgbXkgJURhdGEgPSAkU2VsZi0+RkFRR2V0KAogICAgICAgICAgICBJdGVtSUQgPT4gJFBhcmFte0l0ZW1JRH0sCiAgICAgICAgKTsKCiAgICAgICAgbXkgJE9rID0gJFNlbGYtPkZBUUFwcHJvdmFsVGlja2V0Q3JlYXRlKAogICAgICAgICAgICBJdGVtSUQgICAgID0+ICRQYXJhbXtJdGVtSUR9LAogICAgICAgICAgICBDYXRlZ29yeUlEID0+ICREYXRhe0NhdGVnb3J5SUR9LAogICAgICAgICAgICBGQVFOdW1iZXIgID0+ICREYXRhe051bWJlcn0sCiAgICAgICAgICAgIFRpdGxlICAgICAgPT4gJERhdGF7VGl0bGV9LAogICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgU3RhdGVJRCAgICA9PiAkRGF0YXtTdGF0ZUlEfSwKICAgICAgICApOwogICAgICAgIGlmICggISRPayApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNvdWxkIG5vdCBjcmVhdGUgYXBwcm92YWwgdGlja2V0ISIKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCj1pdGVtIEZBUUFwcHJvdmFsVGlja2V0Q3JlYXRlKCkKCmNyZWF0ZXMgYW4gYXBwcm92YWwgdGlja2V0CgogICAgJEZBUU9iamVjdC0+RkFRQXBwcm92YWxUaWNrZXRDcmVhdGUoCiAgICAgICAgSXRlbUlEICAgICA9PiAxMjMsCiAgICAgICAgQ2F0ZWdvcnlJRCA9PiAyLAogICAgICAgIEZBUU51bWJlciAgPT4gMTAyMTEsCiAgICAgICAgVGl0bGUgICAgICA9PiAnU29tZSBUaXRsZScsCiAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgICAgIFN0YXRlSUQgICAgPT4gMSwKICAgICk7Cgo9Y3V0CgpzdWIgRkFRQXBwcm92YWxUaWNrZXRDcmVhdGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhJdGVtSUQgQ2F0ZWdvcnlJRCBGQVFOdW1iZXIgVGl0bGUgVXNlcklEIFN0YXRlSUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IHN1YmplY3QKICAgIG15ICRTdWJqZWN0ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6QXBwcm92YWxUaWNrZXRTdWJqZWN0Jyk7CiAgICAkU3ViamVjdCA9fiBzeyA8T1RSU19GQVFfTlVNQkVSPiB9eyRQYXJhbXtGQVFOdW1iZXJ9fXhtczsKCiAgICAjIGNyZWF0ZSB0aWNrZXQKICAgIG15ICRUaWNrZXRJRCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0Q3JlYXRlKAogICAgICAgIFRpdGxlICAgID0+ICRTdWJqZWN0LAogICAgICAgIFF1ZXVlICAgID0+ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6OkFwcHJvdmFsUXVldWUnKSB8fCAnUmF3JywKICAgICAgICBMb2NrICAgICA9PiAndW5sb2NrJywKICAgICAgICBQcmlvcml0eSA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpBcHByb3ZhbFRpY2tldFByaW9yaXR5JykgfHwgJzMgbm9ybWFsJywKICAgICAgICBTdGF0ZSAgICA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRkFROjpBcHByb3ZhbFRpY2tldERlZmF1bHRTdGF0ZScpIHx8ICduZXcnLAogICAgICAgIE93bmVySUQgID0+IDEsCiAgICAgICAgVXNlcklEICAgPT4gMSwKICAgICk7CgogICAgaWYgKCRUaWNrZXRJRCkgewoKICAgICAgICAjIGdldCBVc2VyTmFtZQogICAgICAgIG15ICRVc2VyTmFtZSA9ICRTZWxmLT57VXNlck9iamVjdH0tPlVzZXJOYW1lKAogICAgICAgICAgICBVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBnZXQgZmFxIHN0YXRlCiAgICAgICAgbXkgJVN0YXRlID0gJFNlbGYtPlN0YXRlR2V0KAogICAgICAgICAgICBJRCA9PiAkUGFyYW17U3RhdGVJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyBnZXQgYm9keSBmcm9tIGNvbmZpZwogICAgICAgIG15ICRCb2R5ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0ZBUTo6QXBwcm92YWxUaWNrZXRCb2R5Jyk7CiAgICAgICAgJEJvZHkgPX4gc3sgPE9UUlNfRkFRX0NBVEVHT1JZSUQ+IH17JFBhcmFte0NhdGVnb3J5SUR9fXhtczsKICAgICAgICAkQm9keSA9fiBzeyA8T1RSU19GQVFfSVRFTUlEPiAgICAgfXskUGFyYW17SXRlbUlEfX14bXM7CiAgICAgICAgJEJvZHkgPX4gc3sgPE9UUlNfRkFRX05VTUJFUj4gICAgIH17JFBhcmFte0ZBUU51bWJlcn19eG1zOwogICAgICAgICRCb2R5ID1+IHN7IDxPVFJTX0ZBUV9USVRMRT4gICAgICB9eyRQYXJhbXtUaXRsZX19eG1zOwogICAgICAgICRCb2R5ID1+IHN7IDxPVFJTX0ZBUV9BVVRIT1I+ICAgICB9eyRVc2VyTmFtZX14bXM7CiAgICAgICAgJEJvZHkgPX4gc3sgPE9UUlNfRkFRX1NUQVRFPiAgICAgIH17JFN0YXRle05hbWV9fXhtczsKCiAgICAgICAgIyBjcmVhdGUgYXJ0aWNsZQogICAgICAgIG15ICRBcnRpY2xlSUQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVDcmVhdGUoCiAgICAgICAgICAgIFRpY2tldElEICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgQXJ0aWNsZVR5cGUgPT4gJ25vdGUtaW50ZXJuYWwnLAogICAgICAgICAgICBTZW5kZXJUeXBlICA9PiAnc3lzdGVtJywKICAgICAgICAgICAgU3ViamVjdCAgICAgPT4gJFN1YmplY3QsCiAgICAgICAgICAgIEJvZHkgICAgICAgID0+ICRCb2R5LAogICAgICAgICAgICBDb250ZW50VHlwZSA9PiAidGV4dC9wbGFpbjsgY2hhcnNldD0kU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRGVmYXVsdENoYXJzZXQnKSIsCiAgICAgICAgICAgIFVzZXJJRCAgICAgID0+IDEsCiAgICAgICAgICAgIEhpc3RvcnlUeXBlID0+ICdTeXN0ZW1SZXF1ZXN0JywKICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgPT4KICAgICAgICAgICAgICAgICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldE5vdGUnKS0+e0hpc3RvcnlDb21tZW50fSwKICAgICAgICApOwogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgIHJldHVybjsKfQoKPWl0ZW0gRkFRUGljdHVyZVVwbG9hZEFkZCgpCgpzdG9yZXMgdXBsb2FkZWQgcGljdHVyZXMgYXMgZmFxIGF0dGFjaG1lbnRzCgogICAgJEZBUU9iamVjdC0+RkFRUGljdHVyZVVwbG9hZEFkZCgKICAgICAgICBJdGVtSUQgPT4gMTIsCiAgICAgICAgRm9ybUlEID0+IDEyMzQ1LAogICAgICAgIEZpZWxkMSA9PiAnc29tZSB0ZXh0JywKICAgICAgICBGaWVsZDIgPT4gJ3NvbWUgdGV4dCcsCiAgICAgICAgRmllbGQzID0+ICdzb21lIHRleHQnLAogICAgICAgIEZpZWxkNCA9PiAnc29tZSB0ZXh0JywKICAgICAgICBGaWVsZDUgPT4gJ3NvbWUgdGV4dCcsCiAgICAgICAgRmllbGQ2ID0+ICdzb21lIHRleHQnLAogICAgKTsKCj1jdXQKCnN1YiBGQVFQaWN0dXJlVXBsb2FkQWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoSXRlbUlEIEZvcm1JRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkXyEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBnZXQgdXBsb2FkZWQgcGljdHVyZXMgZnJvbSB1cGxvYWQgY2FjaGUKICAgIG15IEBBdHRhY2htZW50RGF0YSA9ICRTZWxmLT57VXBsb2FkQ2FjaGVPYmplY3R9LT5Gb3JtSURHZXRBbGxGaWxlc0RhdGEoCiAgICAgICAgRm9ybUlEID0+ICRQYXJhbXtGb3JtSUR9LAogICAgKTsKCiAgICAjIGlmIG5vIG5ldyBwaWN0dXJlcyB3ZXJlIHVwbG9hZGVkCiAgICByZXR1cm4gMSBpZiAhQEF0dGFjaG1lbnREYXRhOwoKICAgIEFUVEFDSE1FTlQ6CiAgICBmb3IgbXkgJEF0dGFjaG1lbnQgKEBBdHRhY2htZW50RGF0YSkgewoKICAgICAgICAjIHN0b3JlIHBpY3R1cmUgYXMgYXR0YWNobWVudCBvZiBmYXEgYXJ0aWNsZQogICAgICAgIG15ICRPayA9ICRTZWxmLT5BdHRhY2htZW50QWRkKAogICAgICAgICAgICBJdGVtSUQgICAgICA9PiAkUGFyYW17SXRlbUlEfSwKICAgICAgICAgICAgQ29udGVudCAgICAgPT4gJEF0dGFjaG1lbnQtPntDb250ZW50fSwKICAgICAgICAgICAgQ29udGVudFR5cGUgPT4gJEF0dGFjaG1lbnQtPntDb250ZW50VHlwZX0sCiAgICAgICAgICAgIEZpbGVuYW1lICAgID0+ICRBdHRhY2htZW50LT57RmlsZW5hbWV9LAogICAgICAgICAgICBJbmxpbmUgICAgICA9PiAxLAogICAgICAgICk7CiAgICAgICAgaWYgKCAhJE9rICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiQ291bGQgbm90IHN0b3JlIGF0dGFjaG1lbnQgJyRBdHRhY2htZW50LT57RmlsZW5hbWV9JyIKICAgICAgICAgICAgICAgICAgICAuICIgd2l0aCBGQVEgSXRlbSMgJyRQYXJhbXtJdGVtSUR9JyEiLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIGdldCBhbGwgYXR0YWNobWVudHMgZm9yIHRoaXMgZmFxIGFydGljbGUKICAgIG15IEBBdHRhY2htZW50SW5kZXggPSAkU2VsZi0+QXR0YWNobWVudEluZGV4KAogICAgICAgIEl0ZW1JRCA9PiAkUGFyYW17SXRlbUlEfSwKICAgICk7CgogICAgIyByZXdyaXRlIHVybCB0byBwaWN0dXJlIGlmIGl0IHdhcyBzdWNjZXNzZnVsbHkgc3RvcmVkCiAgICBBVFRBQ0hNRU5UOgogICAgZm9yIG15ICRBdHRhY2htZW50IChAQXR0YWNobWVudEluZGV4KSB7CgogICAgICAgICMgcGljdHVyZSB1cmwgaW4gdXBsb2FkIGNhY2hlCiAgICAgICAgbXkgJFNlYXJjaCA9ICJBY3Rpb249UGljdHVyZVVwbG9hZEZBUSAuKyBGb3JtSUQ9JFBhcmFte0Zvcm1JRH0gLisgIgogICAgICAgICAgICAuICJGaWxlbmFtZT0kQXR0YWNobWVudC0+e0ZpbGVuYW1lfSI7CgogICAgICAgICMgcGljdHVyZSB1cmwgaW4gZmFxIGF0dHRhY2htZW50CiAgICAgICAgbXkgJFJlcGxhY2UgPSAiQWN0aW9uPUFnZW50RkFRJlN1YmFjdGlvbj1Eb3dubG9hZCYiCiAgICAgICAgICAgIC4gIkl0ZW1JRD0kUGFyYW17SXRlbUlEfSZGaWxlSUQ9JEF0dGFjaG1lbnQtPntGaWxlSUR9IjsKCiAgICAgICAgIyByZXdyaXRlIHBpY3R1cmUgdXJscwogICAgICAgIEZJRUxEOgogICAgICAgIGZvciBteSAkTnVtYmVyICggMSAuLiA2ICkgewogICAgICAgICAgICBuZXh0IEZJRUxEIGlmICEkUGFyYW17IkZpZWxkJE51bWJlciJ9OwoKICAgICAgICAgICAgIyByZW1vdmUgbmV3bGluZXMKICAgICAgICAgICAgJFBhcmFteyJGaWVsZCROdW1iZXIifSA9fiBzeyBbXG5ccl0rIH17fWd4bXM7CgogICAgICAgICAgICAjIHJlcGxhY2UgdXJsCiAgICAgICAgICAgICRQYXJhbXsiRmllbGQkTnVtYmVyIn0gPX4gc3skU2VhcmNofXskUmVwbGFjZX14bXM7CiAgICAgICAgfQogICAgfQoKICAgICMgdXBkYXRlIEZBUSBhcnRpY2xlIHdpdGhvdXQgd3JpdGluZyBhIGhpc3RvcnkgZW50cnkKICAgIG15ICRPayA9ICRTZWxmLT5GQVFVcGRhdGUoCiAgICAgICAgJVBhcmFtLAogICAgICAgIEhpc3RvcnlPZmYgPT4gMSwKICAgICk7CiAgICBpZiAoICEkT2sgKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3QgdXBkYXRlIEZBUSBJdGVtIyAnJFBhcmFte0l0ZW1JRH0nISIsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGRlbGV0ZSBhbGwgYXR0YWNobWVudHMgZnJvbSB1cGxvYWQgY2FjaGUgZm9yIHRoaXMgRm9ybUlECiAgICAkU2VsZi0+e1VwbG9hZENhY2hlT2JqZWN0fS0+Rm9ybUlEUmVtb3ZlKAogICAgICAgIEZvcm1JRCA9PiAkUGFyYW17Rm9ybUlEfSwKICAgICk7CgogICAgcmV0dXJuICRPazsKfQoKMTsKCj1iYWNrCgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChMPGh0dHBzOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dD4uCgo9Y3V0Cgo9Y3V0Cg==
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpMaW5rT2JqZWN0OjpGQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgS2VybmVsOjpTeXN0ZW06OkZBUTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBjaGVjayBuZWVkZWQgb2JqZWN0cwogICAgZm9yIChxdyhEQk9iamVjdCBDb25maWdPYmplY3QgTG9nT2JqZWN0IE1haW5PYmplY3QgRW5jb2RlT2JqZWN0IFRpbWVPYmplY3QgVXNlcklEKSkgewogICAgICAgICRTZWxmLT57JF99ID0gJFBhcmFteyRffSB8fCBkaWUgIkdvdCBubyAkXyEiOwogICAgfQoKICAgICRTZWxmLT57RkFRT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpGQVEtPm5ldyggJXskU2VsZn0gKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBMaW5rTGlzdFdpdGhEYXRhIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KExpbmtMaXN0IFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBsaW5rIGxpc3QKICAgIGlmICggcmVmICRQYXJhbXtMaW5rTGlzdH0gbmUgJ0hBU0gnICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTGlua0xpc3QgbXVzdCBiZSBhIGhhc2ggcmVmZXJlbmNlIScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgZm9yIG15ICRMaW5rVHlwZSAoIGtleXMgJXsgJFBhcmFte0xpbmtMaXN0fSB9ICkgewoKICAgICAgICBmb3IgbXkgJERpcmVjdGlvbiAoIGtleXMgJXsgJFBhcmFte0xpbmtMaXN0fS0+eyRMaW5rVHlwZX0gfSApIHsKCiAgICAgICAgICAgIGZvciBteSAkRkFRSUQgKCBrZXlzICV7ICRQYXJhbXtMaW5rTGlzdH0tPnskTGlua1R5cGV9LT57JERpcmVjdGlvbn0gfSApIHsKCiAgICAgICAgICAgICAgICAjIGdldCBmYXEgZGF0YQogICAgICAgICAgICAgICAgbXkgJURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICAgICAgICAgICAgICBGQVFJRCAgPT4gJEZBUUlELAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyByZW1vdmUgaWQgZnJvbSBoYXNoIGlmIGZhcSBjYW4gbm90IGdldAogICAgICAgICAgICAgICAgaWYgKCAhJURhdGEgKSB7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlICRQYXJhbXtMaW5rTGlzdH0tPnskTGlua1R5cGV9LT57JERpcmVjdGlvbn0tPnskRkFRSUR9OwogICAgICAgICAgICAgICAgICAgIG5leHQ7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBhZGQgZmFxIGRhdGEKICAgICAgICAgICAgICAgICRQYXJhbXtMaW5rTGlzdH0tPnskTGlua1R5cGV9LT57JERpcmVjdGlvbn0tPnskRkFRSUR9ID0gXCVEYXRhOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAxOwp9CgpzdWIgT2JqZWN0RGVzY3JpcHRpb25HZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICRBcmd1bWVudCAocXcoT2JqZWN0IEtleSBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgY3JlYXRlIGRlc2NyaXB0aW9uCiAgICBteSAlRGVzY3JpcHRpb24gPSAoCiAgICAgICAgTm9ybWFsID0+ICdGQVEnLAogICAgICAgIExvbmcgICA9PiAnRkFRJywKICAgICk7CgogICAgcmV0dXJuICVEZXNjcmlwdGlvbiBpZiAkUGFyYW17TW9kZX0gJiYgJFBhcmFte01vZGV9IGVxICdUZW1wb3JhcnknOwoKICAgICMgZ2V0IGZhcQogICAgbXkgJUZBUSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KAogICAgICAgIEZBUUlEICA9PiAkUGFyYW17S2V5fSwKICAgICAgICBVc2VySUQgPT4gMSwKICAgICk7CgogICAgcmV0dXJuIGlmICElRkFROwoKICAgICMgY3JlYXRlIGRlc2NyaXB0aW9uCiAgICAlRGVzY3JpcHRpb24gPSAoCiAgICAgICAgTm9ybWFsID0+ICJGQVEjICRGQVF7TnVtYmVyfSIsCiAgICAgICAgTG9uZyAgID0+ICJGQVEjICRGQVF7TnVtYmVyfTogJEZBUXtOYW1lfSIsCiAgICApOwoKICAgIHJldHVybiAlRGVzY3JpcHRpb247Cn0KCnN1YiBPYmplY3RTZWFyY2ggewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte1VzZXJJRH0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIFVzZXJJRCEnLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgc2V0IGRlZmF1bHQgcGFyYW1zCiAgICAkUGFyYW17U2VhcmNoUGFyYW1zfSB8fD0ge307CgogICAgIyBzZXQgZm9jdXMKICAgIGlmICggJFBhcmFte1NlYXJjaFBhcmFtc30tPntUaXRsZX0gKSB7CiAgICAgICAgJFBhcmFte1NlYXJjaFBhcmFtc30tPntUaXRsZX0gPSAnKicgLiAkUGFyYW17U2VhcmNoUGFyYW1zfS0+e1RpdGxlfSAuICcqJzsKICAgIH0KICAgIGlmICggJFBhcmFte1NlYXJjaFBhcmFtc30tPntOdW1iZXJ9ICkgewogICAgICAgICRQYXJhbXtTZWFyY2hQYXJhbXN9LT57TnVtYmVyfSA9ICcqJyAuICRQYXJhbXtTZWFyY2hQYXJhbXN9LT57TnVtYmVyfSAuICcqJzsKICAgIH0KICAgIGlmICggJFBhcmFte1NlYXJjaFBhcmFtc30tPntXaGF0fSApIHsKICAgICAgICAkUGFyYW17U2VhcmNoUGFyYW1zfS0+e1doYXR9ID0gJyonIC4gJFBhcmFte1NlYXJjaFBhcmFtc30tPntXaGF0fSAuICcqJzsKICAgIH0KCiAgICAjIHNlYXJjaCB0aGUgZmFxcwogICAgbXkgQEZBUUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgICAgICV7ICRQYXJhbXtTZWFyY2hQYXJhbXN9IH0sCiAgICAgICAgT3JkZXIgPT4gJ0NyZWF0ZWQnLAogICAgICAgIFNvcnQgID0+ICdkb3duJywKICAgICAgICBMaW1pdCA9PiA1MCwKICAgICk7CgogICAgbXkgJVNlYXJjaExpc3Q7CiAgICBmb3IgbXkgJEZBUUlEIChARkFRSURzKSB7CgogICAgICAgICMgZ2V0IHRpY2tldCBkYXRhCiAgICAgICAgbXkgJURhdGEgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUdldCgKICAgICAgICAgICAgRkFRSUQgID0+ICRGQVFJRCwKICAgICAgICAgICAgVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIG5leHQgaWYgISVEYXRhOwoKICAgICAgICAjIGFkZCB0aWNrZXQgZGF0YQogICAgICAgICRTZWFyY2hMaXN0e05PVExJTktFRH0tPntTb3VyY2V9LT57JEZBUUlEfSA9IFwlRGF0YTsKICAgIH0KCiAgICByZXR1cm4gXCVTZWFyY2hMaXN0Owp9CgpzdWIgTGlua0FkZFByZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhLZXkgVHlwZSBTdGF0ZSBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAxIGlmICRQYXJhbXtTdGF0ZX0gZXEgJ1RlbXBvcmFyeSc7CgogICAgcmV0dXJuIDE7Cn0KCnN1YiBMaW5rQWRkUG9zdCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJEFyZ3VtZW50IChxdyhLZXkgVHlwZSBTdGF0ZSBVc2VySUQpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAxIGlmICRQYXJhbXtTdGF0ZX0gZXEgJ1RlbXBvcmFyeSc7CgogICAgcmV0dXJuIDE7Cn0KCnN1YiBMaW5rRGVsZXRlUHJlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KEtleSBUeXBlIFN0YXRlIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDEgaWYgJFBhcmFte1N0YXRlfSBlcSAnVGVtcG9yYXJ5JzsKCiAgICByZXR1cm4gMTsKfQoKc3ViIExpbmtEZWxldGVQb3N0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KEtleSBUeXBlIFN0YXRlIFVzZXJJRCkpIHsKICAgICAgICBpZiAoICEkUGFyYW17JEFyZ3VtZW50fSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJEFyZ3VtZW50ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDEgaWYgJFBhcmFte1N0YXRlfSBlcSAnVGVtcG9yYXJ5JzsKCiAgICByZXR1cm4gMTsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpTdGF0czo6U3RhdGljOjpGQVFBY2Nlc3M7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSBEYXRlOjpQY2FsYyBxdyhEYXlzX2luX01vbnRoKTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpGQVE7CgpzdWIgbmV3IHsKICAgIG15ICRUeXBlICA9IHNoaWZ0OwogICAgbXkgJVBhcmFtID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHslUGFyYW19OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgY2hlY2sgYWxsIG5lZWRlZCBvYmplY3RzCiAgICBmb3JlYWNoIChxdyhEQk9iamVjdCBDb25maWdPYmplY3QgTG9nT2JqZWN0KSkgewogICAgICAgIGRpZSAiR290IG5vICRfIiBpZiAoICEkU2VsZi0+eyRffSApOwogICAgfQoKICAgICMgY3JlYXRlIG5lZWRlZCBvYmplY3QKICAgICRTZWxmLT57RkFRT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpGQVEtPm5ldyglUGFyYW0pOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFBhcmFtIHsKCiAgICBteSAkU2VsZiAgID0gc2hpZnQ7CiAgICBteSBAUGFyYW1zID0gKCk7CgogICAgIyBnZXQgY3VycmVudCB0aW1lCiAgICBteSAoICRzLCAkbSwgJGgsICRELCAkTSwgJFkgKSA9ICRTZWxmLT57VGltZU9iamVjdH0tPlN5c3RlbVRpbWUyRGF0ZSgKICAgICAgICBTeXN0ZW1UaW1lID0+ICRTZWxmLT57VGltZU9iamVjdH0tPlN5c3RlbVRpbWUoKSwKICAgICk7CiAgICAkRCA9IHNwcmludGYoICIlMDJkIiwgJEQgKTsKICAgICRNID0gc3ByaW50ZiggIiUwMmQiLCAkTSApOwogICAgJFkgPSBzcHJpbnRmKCAiJTAyZCIsICRZICk7CgogICAgIyBjcmVhdGUgcG9zc2libGUgdGltZSBzZWxlY3Rpb25zCiAgICBteSAlWWVhciA9IG1hcCB7ICRfLCAkXyB9ICggJFkgLSAxMCAuLiAkWSArIDEgKTsKICAgIG15ICVNb250aCA9IG1hcCB7IHNwcmludGYoICIlMDJkIiwgJF8gKSwgc3ByaW50ZiggIiUwMmQiLCAkXyApIH0gKCAxIC4uIDEyICk7CiAgICBteSAlRGF5ICAgPSBtYXAgeyBzcHJpbnRmKCAiJTAyZCIsICRfICksIHNwcmludGYoICIlMDJkIiwgJF8gKSB9ICggMSAuLiAzMSApOwoKICAgIHB1c2goCiAgICAgICAgQFBhcmFtcywKICAgICAgICB7CiAgICAgICAgICAgIEZyb250ZW5kICAgPT4gJ1N0YXJ0RGF5JywKICAgICAgICAgICAgTmFtZSAgICAgICA9PiAnU3RhcnREYXknLAogICAgICAgICAgICBNdWx0aXBsZSAgID0+IDAsCiAgICAgICAgICAgIFNpemUgICAgICAgPT4gMCwKICAgICAgICAgICAgU2VsZWN0ZWRJRCA9PiAnMDEnLAogICAgICAgICAgICBEYXRhICAgICAgID0+IHsKICAgICAgICAgICAgICAgICVEYXksCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICk7CiAgICBwdXNoKAogICAgICAgIEBQYXJhbXMsCiAgICAgICAgewogICAgICAgICAgICBGcm9udGVuZCAgID0+ICdTdGFydE1vbnRoJywKICAgICAgICAgICAgTmFtZSAgICAgICA9PiAnU3RhcnRNb250aCcsCiAgICAgICAgICAgIE11bHRpcGxlICAgPT4gMCwKICAgICAgICAgICAgU2l6ZSAgICAgICA9PiAwLAogICAgICAgICAgICBTZWxlY3RlZElEID0+ICRNLAogICAgICAgICAgICBEYXRhICAgICAgID0+IHsKICAgICAgICAgICAgICAgICVNb250aCwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgKTsKICAgIHB1c2goCiAgICAgICAgQFBhcmFtcywKICAgICAgICB7CiAgICAgICAgICAgIEZyb250ZW5kICAgPT4gJ1N0YXJ0WWVhcicsCiAgICAgICAgICAgIE5hbWUgICAgICAgPT4gJ1N0YXJ0WWVhcicsCiAgICAgICAgICAgIE11bHRpcGxlICAgPT4gMCwKICAgICAgICAgICAgU2l6ZSAgICAgICA9PiAwLAogICAgICAgICAgICBTZWxlY3RlZElEID0+ICRZLAogICAgICAgICAgICBEYXRhICAgICAgID0+IHsKICAgICAgICAgICAgICAgICVZZWFyLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICApOwogICAgcHVzaCgKICAgICAgICBAUGFyYW1zLAogICAgICAgIHsKICAgICAgICAgICAgRnJvbnRlbmQgICA9PiAnRW5kRGF5JywKICAgICAgICAgICAgTmFtZSAgICAgICA9PiAnRW5kRGF5JywKICAgICAgICAgICAgTXVsdGlwbGUgICA9PiAwLAogICAgICAgICAgICBTaXplICAgICAgID0+IDAsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgPT4gJEQsCiAgICAgICAgICAgIERhdGEgICAgICAgPT4gewogICAgICAgICAgICAgICAgJURheSwKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgKTsKICAgIHB1c2goCiAgICAgICAgQFBhcmFtcywKICAgICAgICB7CiAgICAgICAgICAgIEZyb250ZW5kICAgPT4gJ0VuZE1vbnRoJywKICAgICAgICAgICAgTmFtZSAgICAgICA9PiAnRW5kTW9udGgnLAogICAgICAgICAgICBNdWx0aXBsZSAgID0+IDAsCiAgICAgICAgICAgIFNpemUgICAgICAgPT4gMCwKICAgICAgICAgICAgU2VsZWN0ZWRJRCA9PiAkTSwKICAgICAgICAgICAgRGF0YSAgICAgICA9PiB7CiAgICAgICAgICAgICAgICAlTW9udGgsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICk7CiAgICBwdXNoKAogICAgICAgIEBQYXJhbXMsCiAgICAgICAgewogICAgICAgICAgICBGcm9udGVuZCAgID0+ICdFbmRZZWFyJywKICAgICAgICAgICAgTmFtZSAgICAgICA9PiAnRW5kWWVhcicsCiAgICAgICAgICAgIE11bHRpcGxlICAgPT4gMCwKICAgICAgICAgICAgU2l6ZSAgICAgICA9PiAwLAogICAgICAgICAgICBTZWxlY3RlZElEID0+ICRZLAogICAgICAgICAgICBEYXRhICAgICAgID0+IHsKICAgICAgICAgICAgICAgICVZZWFyLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICApOwoKICAgIHJldHVybiBAUGFyYW1zOwp9CgpzdWIgUnVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciAocXcoU3RhcnRZZWFyIFN0YXJ0TW9udGggU3RhcnREYXkgRW5kWWVhciBFbmRNb250aCBFbmREYXkpKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRffSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJF8hIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgY29ycmVjdCBzdGFydCBkYXkgb2YgbW9udGggaWYgZW50ZXJlZCB3cm9uZyBieSB1c2VyCiAgICBteSAkU3RhcnREYXkgPSBzcHJpbnRmKCAiJTAyZCIsIERheXNfaW5fTW9udGgoICRQYXJhbXtTdGFydFllYXJ9LCAkUGFyYW17U3RhcnRNb250aH0gKSApOwogICAgaWYgKCAkUGFyYW17U3RhcnREYXl9IDwgJFN0YXJ0RGF5ICkgewogICAgICAgICRTdGFydERheSA9ICRQYXJhbXtTdGFydERheX07CiAgICB9CgogICAgIyBjb3JyZWN0IGVuZCBkYXkgb2YgbW9udGggaWYgZW50ZXJlZCB3cm9uZyBieSB1c2VyCiAgICBteSAkRW5kRGF5ID0gc3ByaW50ZiggIiUwMmQiLCBEYXlzX2luX01vbnRoKCAkUGFyYW17RW5kWWVhcn0sICRQYXJhbXtFbmRNb250aH0gKSApOwogICAgaWYgKCAkUGFyYW17RW5kRGF5fSA8ICRFbmREYXkgKSB7CiAgICAgICAgJEVuZERheSA9ICRQYXJhbXtFbmREYXl9OwogICAgfQoKICAgICMgc2V0IHN0YXJ0IGFuZCBlbmQgZGF0ZQogICAgbXkgJFN0YXJ0RGF0ZSA9ICIkUGFyYW17U3RhcnRZZWFyfS0kUGFyYW17U3RhcnRNb250aH0tJFN0YXJ0RGF5IDAwOjAwOjAwIjsKICAgIG15ICRFbmREYXRlICAgPSAiJFBhcmFte0VuZFllYXJ9LSRQYXJhbXtFbmRNb250aH0tJEVuZERheSAyMzo1OTo1OSI7CgogICAgIyBnZXQgYSBjb3VudCBvZiBhbGwgZmFxIGFydGljbGVzCiAgICBteSAkVG9wMTBJdGVtSURzUmVmID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFUb3AxMEdldCgKICAgICAgICBJbnRlcmZhY2UgPT4gJ2ludGVybmFsJywKICAgICAgICBTdGFydERhdGUgPT4gJFN0YXJ0RGF0ZSwKICAgICAgICBFbmREYXRlICAgPT4gJEVuZERhdGUsCiAgICApOwoKICAgICMgYnVpbGQgcmVzdWx0IHRhYmxlCiAgICBteSBARGF0YTsKICAgIGZvciBteSAkSXRlbUlEUmVmICggQHskVG9wMTBJdGVtSURzUmVmfSApIHsKCiAgICAgICAgIyBnZXQgZmFxIGRhdGEKICAgICAgICBteSAlRkFRRGF0YSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KCBJdGVtSUQgPT4gJEl0ZW1JRFJlZi0+e0l0ZW1JRH0gKTsKCiAgICAgICAgIyBnZXQgdm90ZSBkYXRhCiAgICAgICAgbXkgJFZvdGVEYXRhID0gJFNlbGYtPntGQVFPYmplY3R9LT5JdGVtVm90ZURhdGFHZXQoCiAgICAgICAgICAgIEl0ZW1JRCA9PiAkSXRlbUlEUmVmLT57SXRlbUlEfSwKICAgICAgICApOwogICAgICAgIG15ICRWb3RlUmVzdWx0ID0gc3ByaW50ZigKICAgICAgICAgICAgIiUwLiIKICAgICAgICAgICAgICAgIC4gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoCiAgICAgICAgICAgICAgICAiRkFROjpFeHBsb3Jlcjo6SXRlbUxpc3Q6OlZvdGluZ1Jlc3VsdERlY2ltYWxQbGFjZXMiCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuICJmIiwKICAgICAgICAgICAgJFZvdGVEYXRhLT57UmVzdWx0fQogICAgICAgICAgICAgICAgfHwgMAogICAgICAgICk7CiAgICAgICAgbXkgJFZvdGVzID0gJFZvdGVEYXRhLT57Vm90ZXN9IHx8IDA7CgogICAgICAgICMgYnVpbGQgdGFibGUgcm93CiAgICAgICAgcHVzaCBARGF0YSwgWwogICAgICAgICAgICAkRkFRRGF0YXtOdW1iZXJ9LAogICAgICAgICAgICAkRkFRRGF0YXtUaXRsZX0sCiAgICAgICAgICAgICRJdGVtSURSZWYtPntDb3VudH0sCiAgICAgICAgICAgICRWb3RlUmVzdWx0LAogICAgICAgICAgICAkVm90ZXMsCiAgICAgICAgXTsKICAgIH0KCiAgICAjIHNldCByZXBvcnQgdGl0bGUKICAgIG15ICRUaXRsZSA9ICIkUGFyYW17U3RhcnRZZWFyfS0kUGFyYW17U3RhcnRNb250aH0tJFN0YXJ0RGF5IC0gJFBhcmFte0VuZFllYXJ9LSRQYXJhbXtFbmRNb250aH0tJEVuZERheSI7CgogICAgIyB0YWJsZSBoZWFkbGluZXMKICAgIG15IEBIZWFkRGF0YSA9ICgKICAgICAgICAnRkFRICMnLAogICAgICAgICdUaXRsZScsCiAgICAgICAgJ0NvdW50JywKICAgICAgICAnVm90ZSBSZXN1bHQnLAogICAgICAgICdWb3RlcycsCiAgICApOwoKICAgIHJldHVybiAoIFskVGl0bGVdLCBbQEhlYWREYXRhXSwgQERhdGEgKTsKfQoKMTsK
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgp1c2UgS2VybmVsOjpTeXN0ZW06OkZBUTsKCiRTZWxmLT57RkFRT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpGQVEtPm5ldyggJXskU2VsZn0sIFVzZXJJRCA9PiAxICk7CgpteSAkRkFRSUQgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUFkZCgKICAgIFRpdGxlICAgICAgPT4gJ1NvbWUgVGV4dCcsCiAgICBDYXRlZ29yeUlEID0+IDEsCiAgICBTdGF0ZUlEICAgID0+IDEsCiAgICBMYW5ndWFnZUlEID0+IDEsCiAgICBLZXl3b3JkcyAgID0+ICdzb21lIGtleXdvcmRzJywKICAgIEZpZWxkMSAgICAgPT4gJ1Byb2JsZW0uLi4nLAogICAgRmllbGQyICAgICA9PiAnU29sdXRpb24uLi4nLAogICAgRnJlZUtleTEgICA9PiAnU29mdHdhcmUnLAogICAgRnJlZVRleHQxICA9PiAnQXBhY2hlIDMuNC4yJywKICAgIEZyZWVLZXkyICAgPT4gJ09TJywKICAgIEZyZWVUZXh0MiAgPT4gJ09wZW5CU0QgNC4yLjInLAogICAgRnJlZUtleTMgICA9PiAnS2V5MycsCiAgICBGcmVlVGV4dDMgID0+ICdWYWx1ZTMnLAogICAgRnJlZUtleTQgICA9PiAnS2V5NCcsCiAgICBGcmVlVGV4dDQgID0+ICdWYWx1ZTQnLAopOwoKJFNlbGYtPlRydWUoCiAgICAkRkFRSUQgfHwgMCwKICAgICJGQVFBZGQoKSAtIDEiLAopOwoKbXkgJUZBUSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRR2V0KAogICAgSXRlbUlEID0+ICRGQVFJRCwKKTsKCm15ICVGQVFUZXN0ID0gKAogICAgVGl0bGUgICAgICA9PiAnU29tZSBUZXh0JywKICAgIENhdGVnb3J5SUQgPT4gMSwKICAgIFN0YXRlSUQgICAgPT4gMSwKICAgIExhbmd1YWdlSUQgPT4gMSwKICAgIEtleXdvcmRzICAgPT4gJ3NvbWUga2V5d29yZHMnLAogICAgRmllbGQxICAgICA9PiAnUHJvYmxlbS4uLicsCiAgICBGaWVsZDIgICAgID0+ICdTb2x1dGlvbi4uLicsCiAgICBGcmVlS2V5MSAgID0+ICdTb2Z0d2FyZScsCiAgICBGcmVlVGV4dDEgID0+ICdBcGFjaGUgMy40LjInLAogICAgRnJlZUtleTIgICA9PiAnT1MnLAogICAgRnJlZVRleHQyICA9PiAnT3BlbkJTRCA0LjIuMicsCiAgICBGcmVlS2V5MyAgID0+ICdLZXkzJywKICAgIEZyZWVUZXh0MyAgPT4gJ1ZhbHVlMycsCiAgICBGcmVlS2V5NCAgID0+ICdLZXk0JywKICAgIEZyZWVUZXh0NCAgPT4gJ1ZhbHVlNCcsCik7Cgpmb3IgbXkgJFRlc3QgKCBzb3J0IGtleXMgJUZBUVRlc3QgKSB7CiAgICAkU2VsZi0+SXMoCiAgICAgICAgJEZBUXskVGVzdH0gICAgIHx8IDAsCiAgICAgICAgJEZBUVRlc3R7JFRlc3R9IHx8ICcnLAogICAgICAgICJGQVFHZXQoKSAtICRUZXN0IiwKICAgICk7Cn0KCm15ICRGQVFVcGRhdGUgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUVVwZGF0ZSgKICAgIEl0ZW1JRCAgICAgPT4gJEZBUUlELAogICAgQ2F0ZWdvcnlJRCA9PiAxLAogICAgU3RhdGVJRCAgICA9PiAyLAogICAgTGFuZ3VhZ2VJRCA9PiAyLAogICAgVGl0bGUgICAgICA9PiAnU29tZSBUZXh0MicsCiAgICBLZXl3b3JkcyAgID0+ICdzb21lIGtleXdvcmRzMicsCiAgICBGaWVsZDEgICAgID0+ICdQcm9ibGVtLi4uMicsCiAgICBGaWVsZDIgICAgID0+ICdTb2x1dGlvbiBmb3VuZC4uLjInLAogICAgRnJlZUtleTEgICA9PiAnU29mdHdhcmUyJywKICAgIEZyZWVUZXh0MSAgPT4gJ0FwYWNoZSAzLjQuMjInLAogICAgRnJlZUtleTIgICA9PiAnT1MyJywKICAgIEZyZWVUZXh0MiAgPT4gJ09wZW5CU0QgNC4yLjIyJywKICAgIEZyZWVLZXkzICAgPT4gJ0tleTMyJywKICAgIEZyZWVUZXh0MyAgPT4gJ1ZhbHVlMzInLAogICAgRnJlZUtleTQgICA9PiAnS2V5NDInLAogICAgRnJlZVRleHQ0ICA9PiAnVmFsdWU0MicsCik7CgolRkFRID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFHZXQoCiAgICBJdGVtSUQgPT4gJEZBUUlELAopOwoKJUZBUVRlc3QgPSAoCiAgICBUaXRsZSAgICAgID0+ICdTb21lIFRleHQyJywKICAgIENhdGVnb3J5SUQgPT4gMSwKICAgIFN0YXRlSUQgICAgPT4gMiwKICAgIExhbmd1YWdlSUQgPT4gMiwKICAgIEtleXdvcmRzICAgPT4gJ3NvbWUga2V5d29yZHMyJywKICAgIEZpZWxkMSAgICAgPT4gJ1Byb2JsZW0uLi4yJywKICAgIEZpZWxkMiAgICAgPT4gJ1NvbHV0aW9uIGZvdW5kLi4uMicsCiAgICBGcmVlS2V5MSAgID0+ICdTb2Z0d2FyZTInLAogICAgRnJlZVRleHQxICA9PiAnQXBhY2hlIDMuNC4yMicsCiAgICBGcmVlS2V5MiAgID0+ICdPUzInLAogICAgRnJlZVRleHQyICA9PiAnT3BlbkJTRCA0LjIuMjInLAogICAgRnJlZUtleTMgICA9PiAnS2V5MzInLAogICAgRnJlZVRleHQzICA9PiAnVmFsdWUzMicsCiAgICBGcmVlS2V5NCAgID0+ICdLZXk0MicsCiAgICBGcmVlVGV4dDQgID0+ICdWYWx1ZTQyJywKKTsKCmZvciBteSAkVGVzdCAoIHNvcnQga2V5cyAlRkFRVGVzdCApIHsKICAgICRTZWxmLT5JcygKICAgICAgICAkRkFRVGVzdHskVGVzdH0gfHwgJycsCiAgICAgICAgJEZBUXskVGVzdH0gICAgIHx8IDAsCiAgICAgICAgIkZBUUdldCgpIC0gJFRlc3QiLAogICAgKTsKfQoKbXkgJE9rID0gJFNlbGYtPntGQVFPYmplY3R9LT5Wb3RlQWRkKAogICAgQ3JlYXRlZEJ5ID0+ICdTb21lIFRleHQnLAogICAgSXRlbUlEICAgID0+ICRGQVFJRCwKICAgIElQICAgICAgICA9PiAnNTQuNDMuMzAuMScsCiAgICBJbnRlcmZhY2UgPT4gJzInLAogICAgUmF0ZSAgICAgID0+IDEwMCwKKTsKCiRTZWxmLT5UcnVlKAogICAgJE9rIHx8IDAsCiAgICAiVm90ZUFkZCgpIiwKKTsKCm15ICRWb3RlID0gJFNlbGYtPntGQVFPYmplY3R9LT5Wb3RlR2V0KAogICAgQ3JlYXRlQnkgID0+ICdTb21lIFRleHQnLAogICAgSXRlbUlEICAgID0+ICRGQVFJRCwKICAgIElQICAgICAgICA9PiAnNTQuNDMuMzAuMScsCiAgICBJbnRlcmZhY2UgPT4gJzInLAopOwoKJFNlbGYtPklzKAogICAgJFZvdGUtPntJUH0gfHwgMCwKICAgICc1NC40My4zMC4xJywKICAgICJWb3RlR2V0KCkgLSBJUCIsCik7CgpteSAkRkFRSUQyID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFBZGQoCiAgICBUaXRsZSAgICAgID0+ICdUaXRsZScsCiAgICBDYXRlZ29yeUlEID0+IDEsCiAgICBTdGF0ZUlEICAgID0+IDEsCiAgICBMYW5ndWFnZUlEID0+IDEsCiAgICBLZXl3b3JkcyAgID0+ICcnLAogICAgRmllbGQxICAgICA9PiAnUHJvYmxlbSBEZXNjcmlwdGlvbiAxLi4uJywKICAgIEZpZWxkMiAgICAgPT4gJ1NvbHV0aW9uIG5vdCBmb3VuZDEuLi4nLAogICAgRnJlZUtleTEgICA9PiAnU29mdHdhcmUxJywKICAgIEZyZWVUZXh0MSAgPT4gJ0FwYWNoZSAzLjQuMicsCiAgICBGcmVlS2V5MiAgID0+ICdPUycsCiAgICBGcmVlVGV4dDIgID0+ICdPcGVuQlNEIDQuMi4yJywKICAgIEZyZWVLZXkzICAgPT4gJ0tleTMnLAogICAgRnJlZVRleHQzICA9PiAnVmFsdWUzJywKICAgIEZyZWVLZXk0ICAgPT4gJ0tleTQnLAogICAgRnJlZVRleHQ0ICA9PiAnVmFsdWU0JywKKTsKCiRTZWxmLT5UcnVlKAogICAgJEZBUUlEMiB8fCAwLAogICAgIkZBUUFkZCgpIC0gMiIsCik7CgpteSAkSG9tZSAgICAgICAgICAgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0hvbWUnKTsKbXkgQEF0dGFjaG1lbnRUZXN0cyA9ICgKICAgIHsKICAgICAgICBGaWxlID0+ICdGQVEtVGVzdDEucGRmJywKICAgICAgICBNRDUgID0+ICc1ZWU3NjdmM2I2OGYyNGE5MjEzZTBiZWY4MmRjNTNlNScsCiAgICB9LAogICAgewogICAgICAgIEZpbGUgPT4gJ0ZBUS1UZXN0MS5kb2MnLAogICAgICAgIE1ENSAgPT4gJzJlNTIwMDM2YTBjZGE2YTgwNmE4ODM4YjEwMDBkOWQ3JywKICAgIH0sCik7CmZvciBteSAkQXR0YWNobWVudFRlc3QgKEBBdHRhY2htZW50VGVzdHMpIHsKICAgIG15ICRDb250ZW50U0NBTEFSUmVmID0gJFNlbGYtPntNYWluT2JqZWN0fS0+RmlsZVJlYWQoCiAgICAgICAgTG9jYXRpb24gPT4gJEhvbWUgLiAnL3NjcmlwdHMvdGVzdC9zYW1wbGUvJyAuICRBdHRhY2htZW50VGVzdC0+e0ZpbGV9LAogICAgKTsKICAgIG15ICRBZGQgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkF0dGFjaG1lbnRBZGQoCiAgICAgICAgSXRlbUlEICAgICAgPT4gJEZBUUlEMiwKICAgICAgICBDb250ZW50ICAgICA9PiAkeyRDb250ZW50U0NBTEFSUmVmfSwKICAgICAgICBDb250ZW50VHlwZSA9PiAndGV4dC94bWwnLAogICAgICAgIEZpbGVuYW1lICAgID0+ICRBdHRhY2htZW50VGVzdC0+e0ZpbGV9LAogICAgKTsKICAgICRTZWxmLT5UcnVlKAogICAgICAgICRBZGQgfHwgMCwKICAgICAgICAiQXR0YWNobWVudEFkZCgpIC0gJEF0dGFjaG1lbnRUZXN0LT57RmlsZX0iLAogICAgKTsKICAgIG15IEBBdHRhY2htZW50SW5kZXggPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkF0dGFjaG1lbnRJbmRleCgKICAgICAgICBJdGVtSUQgPT4gJEZBUUlEMiwKICAgICk7CiAgICBteSAlRmlsZSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+QXR0YWNobWVudEdldCgKICAgICAgICBJdGVtSUQgPT4gJEZBUUlEMiwKICAgICAgICBGaWxlSUQgPT4gJEF0dGFjaG1lbnRJbmRleFswXS0+e0ZpbGVJRH0sCiAgICApOwogICAgJFNlbGYtPklzKAogICAgICAgICRGaWxle0ZpbGVuYW1lfSB8fCAnJywKICAgICAgICAkQXR0YWNobWVudFRlc3QtPntGaWxlfSwKICAgICAgICAiQXR0YWNobWVudEdldCgpIC0gRmlsZW5hbWUgJEF0dGFjaG1lbnRUZXN0LT57RmlsZX0iLAogICAgKTsKICAgIG15ICRNRDUgPSAkU2VsZi0+e01haW5PYmplY3R9LT5NRDVzdW0oCiAgICAgICAgU3RyaW5nID0+IFwkRmlsZXtDb250ZW50fSwKICAgICk7CiAgICAkU2VsZi0+SXMoCiAgICAgICAgJE1ENSB8fCAnJywKICAgICAgICAkQXR0YWNobWVudFRlc3QtPntNRDV9LAogICAgICAgICJBdHRhY2htZW50R2V0KCkgLSBNRDUgJEF0dGFjaG1lbnRUZXN0LT57RmlsZX0iLAogICAgKTsKCiAgICBteSAkRGVsZXRlID0gJFNlbGYtPntGQVFPYmplY3R9LT5BdHRhY2htZW50RGVsZXRlKAogICAgICAgIEl0ZW1JRCA9PiAkRkFRSUQyLAogICAgICAgIEZpbGVJRCA9PiAkQXR0YWNobWVudEluZGV4WzBdLT57RmlsZUlEfSwKICAgICk7CiAgICAkU2VsZi0+VHJ1ZSgKICAgICAgICAkRGVsZXRlIHx8IDAsCiAgICAgICAgIkF0dGFjaG1lbnREZWxldGUoKSAtICRBdHRhY2htZW50VGVzdC0+e0ZpbGV9IiwKICAgICk7Cgp9CgpteSBARkFRSURzID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFTZWFyY2goCiAgICBOdW1iZXIgID0+ICcqJywKICAgIFdoYXQgICAgPT4gJypzKicsCiAgICBLZXl3b3JkID0+ICdzb21lKicsCiAgICBTdGF0ZXMgID0+IFsgJ3B1YmxpYycsICdpbnRlcm5hbCcgXSwKICAgIE9yZGVyICAgPT4gJ1ZvdGVzJywKICAgIFNvcnQgICAgPT4gJ0FTQycsCiAgICBMaW1pdCAgID0+IDE1MCwKKTsKCm15ICRGQVFTZWFyY2hGb3VuZCAgPSAwOwpteSAkRkFRU2VhcmNoRm91bmQyID0gMDsKZm9yIG15ICRGQVFJRFNlYXJjaCAoQEZBUUlEcykgewogICAgaWYgKCAkRkFRSURTZWFyY2ggZXEgJEZBUUlEICkgewogICAgICAgICRGQVFTZWFyY2hGb3VuZCA9IDE7CiAgICB9CiAgICBpZiAoICRGQVFJRFNlYXJjaCBlcSAkRkFRSUQyICkgewogICAgICAgICRGQVFTZWFyY2hGb3VuZDIgPSAxOwogICAgfQp9CiRTZWxmLT5UcnVlKAogICAgJEZBUVNlYXJjaEZvdW5kLAogICAgIkZBUVNlYXJjaCgpIC0gJEZBUUlEIiwKKTsKJFNlbGYtPkZhbHNlKAogICAgJEZBUVNlYXJjaEZvdW5kMiwKICAgICJGQVFTZWFyY2goKSAtICRGQVFJRDIiLAopOwoKQEZBUUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgTnVtYmVyID0+ICcqJywKICAgIFRpdGxlICA9PiAndElUTGUnLAogICAgV2hhdCAgID0+ICdsJywKICAgIFN0YXRlcyA9PiBbICdwdWJsaWMnLCAnaW50ZXJuYWwnIF0sCiAgICBPcmRlciAgPT4gJ0NyZWF0ZWQnLAogICAgU29ydCAgID0+ICdBU0MnLAogICAgTGltaXQgID0+IDE1MCwKKTsKCiRGQVFTZWFyY2hGb3VuZCAgPSAwOwokRkFRU2VhcmNoRm91bmQyID0gMDsKZm9yIG15ICRGQVFJRFNlYXJjaCAoQEZBUUlEcykgewogICAgaWYgKCAkRkFRSURTZWFyY2ggZXEgJEZBUUlEICkgewogICAgICAgICRGQVFTZWFyY2hGb3VuZCA9IDE7CiAgICB9CiAgICBpZiAoICRGQVFJRFNlYXJjaCBlcSAkRkFRSUQyICkgewogICAgICAgICRGQVFTZWFyY2hGb3VuZDIgPSAxOwogICAgfQp9CiRTZWxmLT5GYWxzZSgKICAgICRGQVFTZWFyY2hGb3VuZCwKICAgICJGQVFTZWFyY2goKSAtICRGQVFJRCIsCik7CiRTZWxmLT5UcnVlKAogICAgJEZBUVNlYXJjaEZvdW5kMiwKICAgICJGQVFTZWFyY2goKSAtICRGQVFJRDIiLAopOwoKQEZBUUlEcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRU2VhcmNoKAogICAgTnVtYmVyID0+ICcqJywKICAgIFRpdGxlICA9PiAnJywKICAgIFdoYXQgICA9PiAnc29sdXRpb24gZm91bmQnLAogICAgU3RhdGVzID0+IFsgJ3B1YmxpYycsICdpbnRlcm5hbCcgXSwKICAgIE9yZGVyICA9PiAnQ3JlYXRlZCcsCiAgICBTb3J0ICAgPT4gJ0FTQycsCiAgICBMaW1pdCAgPT4gMTUwLAopOwoKJEZBUVNlYXJjaEZvdW5kICA9IDA7CiRGQVFTZWFyY2hGb3VuZDIgPSAwOwpmb3IgbXkgJEZBUUlEU2VhcmNoIChARkFRSURzKSB7CiAgICBpZiAoICRGQVFJRFNlYXJjaCBlcSAkRkFRSUQgKSB7CiAgICAgICAgJEZBUVNlYXJjaEZvdW5kID0gMTsKICAgIH0KICAgIGlmICggJEZBUUlEU2VhcmNoIGVxICRGQVFJRDIgKSB7CiAgICAgICAgJEZBUVNlYXJjaEZvdW5kMiA9IDE7CiAgICB9Cn0KJFNlbGYtPlRydWUoCiAgICAkRkFRU2VhcmNoRm91bmQsCiAgICAiRkFRU2VhcmNoICgpIGxpdGVyYWwgdGV4dCAtICRGQVFJRCIsCik7CiRTZWxmLT5GYWxzZSgKICAgICRGQVFTZWFyY2hGb3VuZDIsCiAgICAiRkFRU2VhcmNoKCkgbGl0ZXJhbCB0ZXh0IC0gJEZBUUlEMiIsCik7CgpARkFRSURzID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFTZWFyY2goCiAgICBOdW1iZXIgPT4gJyonLAogICAgVGl0bGUgID0+ICcnLAogICAgV2hhdCAgID0+ICdzb2x1dGlvbitmb3VuZCcsCiAgICBTdGF0ZXMgPT4gWyAncHVibGljJywgJ2ludGVybmFsJyBdLAogICAgT3JkZXIgID0+ICdDcmVhdGVkJywKICAgIFNvcnQgICA9PiAnQVNDJywKICAgIExpbWl0ICA9PiAxNTAsCik7CgokRkFRU2VhcmNoRm91bmQgID0gMDsKJEZBUVNlYXJjaEZvdW5kMiA9IDA7CmZvciBteSAkRkFRSURTZWFyY2ggKEBGQVFJRHMpIHsKICAgIGlmICggJEZBUUlEU2VhcmNoIGVxICRGQVFJRCApIHsKICAgICAgICAkRkFRU2VhcmNoRm91bmQgPSAxOwogICAgfQogICAgaWYgKCAkRkFRSURTZWFyY2ggZXEgJEZBUUlEMiApIHsKICAgICAgICAkRkFRU2VhcmNoRm91bmQyID0gMTsKICAgIH0KfQokU2VsZi0+VHJ1ZSgKICAgICRGQVFTZWFyY2hGb3VuZCwKICAgICJGQVFTZWFyY2goKSBBTkQgLSAkRkFRSUQiLAopOwokU2VsZi0+VHJ1ZSgKICAgICRGQVFTZWFyY2hGb3VuZDIsCiAgICAiRkFRU2VhcmNoKCkgQU5EIC0gJEZBUUlEMiIsCik7CgpteSBAVm90ZUlEcyA9IEB7CiAgICAkU2VsZi0+e0ZBUU9iamVjdH0tPlZvdGVTZWFyY2goCiAgICAgICAgSXRlbUlEID0+ICRGQVFJRCwKICAgICAgICApCn07Cgpmb3IgbXkgJFZvdGVJRCAoQFZvdGVJRHMpIHsKICAgIG15ICRWb3RlRGVsZXRlID0gJFNlbGYtPntGQVFPYmplY3R9LT5Wb3RlRGVsZXRlKAogICAgICAgIFZvdGVJRCA9PiAxLAogICAgKTsKICAgICRTZWxmLT5UcnVlKAogICAgICAgICRWb3RlRGVsZXRlIHx8IDAsCiAgICAgICAgIlZvdGVEZWxldGUoKSIsCiAgICApOwp9CgojIGFkZCBGQVEgYXJ0aWNsZSB0byBsb2cKbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUUxvZ0FkZCgKICAgIEl0ZW1JRCAgICA9PiAkRkFRSUQsCiAgICBJbnRlcmZhY2UgPT4gJ2ludGVybmFsJywKKTsKJFNlbGYtPlRydWUoCiAgICAkU3VjY2VzcywKICAgICJGQVFMb2dBZGQoKSAtICRGQVFJRCIsCik7CgojIHRyeSB0byBhZGQgc2FtZSBGQVEgYXJ0aWNsZSB0byBsb2cgYWdhaW4gKG11c3QgcmV0dXJuIGZhbHNlKQokU3VjY2VzcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRTG9nQWRkKAogICAgSXRlbUlEICAgID0+ICRGQVFJRCwKICAgIEludGVyZmFjZSA9PiAnaW50ZXJuYWwnLAopOwokU2VsZi0+RmFsc2UoCiAgICAkU3VjY2VzcywKICAgICJGQVFMb2dBZGQoKSAtICRGQVFJRCIsCik7CgojIGFkZCBhbm90aGVyIEZBUSBhcnRpY2xlIHRvIGxvZwokU3VjY2VzcyA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRTG9nQWRkKAogICAgSXRlbUlEICAgID0+ICRGQVFJRDIsCiAgICBJbnRlcmZhY2UgPT4gJ2ludGVybmFsJywKKTsKJFNlbGYtPlRydWUoCiAgICAkU3VjY2VzcywKICAgICJGQVFMb2dBZGQoKSAtICRGQVFJRDIiLAopOwoKIyBnZXQgRkFRIFRvcDEwCm15ICRUb3AxMElEc1JlZiA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRVG9wMTBHZXQoCiAgICBJbnRlcmZhY2UgPT4gJ2ludGVybmFsJywKICAgIExpbWl0ICAgICA9PiAxMCwKKTsKJFNlbGYtPlRydWUoCiAgICBzY2FsYXIgQHskVG9wMTBJRHNSZWZ9LAogICAgIkZBUVRvcDEwR2V0KCkiLAopOwoKbXkgJEZBUURlbGV0ZSA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRRGVsZXRlKAogICAgSXRlbUlEID0+ICRGQVFJRCwKICAgIFVzZXJJRCA9PiAxLAopOwokU2VsZi0+VHJ1ZSgKICAgICRGQVFEZWxldGUgfHwgMCwKICAgICJGQVFEZWxldGUoKSIsCik7CgpteSAkRkFRRGVsZXRlMiA9ICRTZWxmLT57RkFRT2JqZWN0fS0+RkFRRGVsZXRlKAogICAgSXRlbUlEID0+ICRGQVFJRDIsCiAgICBVc2VySUQgPT4gMSwKKTsKJFNlbGYtPlRydWUoCiAgICAkRkFRRGVsZXRlMiB8fCAwLAogICAgIkZBUURlbGV0ZSgpIiwKKTsKCjE7Cg==
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAOwADAP7/CQAGAAAAAAAAAAAAAAABAAAANgAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9//////////7///8EAAAABQAAAAYAAAAHAAAACAAAAP7///8KAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAAP7///83AAAA/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAAAAAAAAAQAAAP7////+////BAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAA/v///yYAAAAnAAAAKAAAACkAAAD+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8BAP7/AwoAAP////8GCQIAAAAAAMAAAAAAAABGGAAAAE1pY3Jvc29mdCBXb3JkLURva3VtZW50AAoAAABNU1dvcmREb2MAEAAAAFdvcmQuRG9jdW1lbnQuOAD0ObJxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASABMACgABAFsADwACAAAAAAAAAFQAABDx/wIAVAAAAAcARABlAGYAYQB1AGwAdAAAAAgAAAAxJAAqJAErAEIqAE9KAwBRSgMAQ0oYAG1ICQRzSAkEUEoFAG5I/wBeSgYAX0j/AHRI/wAAAAAAAAAAAAAAAAAAAAAAAAAAQgBBQPL/oQBCAAAAGQBBAGIAcwBhAHQAegAtAFMAdABhAG4AZABhAHIAZABzAGMAaAByAGkAZgB0AGEAcgB0AAAAAAAAAAAAAAAAAC4AQhABAPIALgAAAAkAVABlAHgAdAAgAGIAbwBkAHkAAAAKAA8AE6QAABSkeAAAACAALxDxAAIBIAAAAAQATABpAHMAdAAAAAIAEAAEAF5KBwBAAP4fAQASAUAAAAAHAEMAYQBwAHQAaQBvAG4AAAANABEAE6R4ABSkeAAMJAEAEgBDShQANggBXkoHAGFKFABdCAEmAP4fAQAiASYAAAAFAEkAbgBkAGUAeAAAAAUAEgAMJAEABABeSgcAAAAAABQAAAAEAAAKAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADyBQAAWAIAAAAAAAAAAAAAwQMAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTAwAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQBAACvAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtQMAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgDZAAAATwBUAFIAUwAuAG8AcgBnAA0ADQBUAEUAUwBUAA0ADQAIAA0ADQANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAEgQAABQEAAAeBAAAIAQAACIEAAAkBAAAJgQAACgEAAD09PT07/T09AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQNqAAAAAFUIARZDSkAANQgBYUpAAFwIAU9KBABRSgQACAAEAAASBAAAFAQAAB4EAAAgBAAAJAQAACYEAAAoBAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAG8AbwB0ACAARQBuAHQAcgB5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAP//////////AQAAAAYJAgAAAAAAwAAAAAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAACACgAAAAAAAAEAQwBvAG0AcABPAGIAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAIAAgAAAAQAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoAAAAAAAAAAQBPAGwAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAgD/////AwAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAFAAAAAAAAAAxAFQAYQBiAGwAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABKCAAAAAAAAAUAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIABQAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAADgBAAAAAAAA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L0ZvbnQgNyAwIFINCiAgIC9YT2JqZWN0IDggMCBSDQogICAvUHJvY1NldCBbIC9QREYgL1RleHQgL0ltYWdlQyAvSW1hZ2VJIC9JbWFnZUIgXQ0KPj4NCmVuZG9iag0KDQoxIDAgb2JqDQo8PCAvVHlwZSAvUGFnZQ0KICAgL1BhcmVudCA1IDAgUg0KICAgL1Jlc291cmNlcyA5IDAgUg0KICAgL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQ0KICAgL0dyb3VwIDw8IC9TIC9UcmFuc3BhcmVuY3kgL0NTIC9EZXZpY2VSR0IgL0kgdHJ1ZSA+Pg0KICAgL0NvbnRlbnRzIDIgMCBSDQo+Pg0KZW5kb2JqDQoNCjUgMCBvYmoNCjw8IC9UeXBlIC9QYWdlcw0KICAgL1Jlc291cmNlcyA5IDAgUg0KICAgL01lZGlhQm94IFsgMCAwIDU5NSA4NDIgXQ0KICAgL0tpZHMgWyAxIDAgUg0KICAgICAgICAgICBdDQogICAvQ291bnQgMQ0KPj4NCmVuZG9iag0KDQoxMCAwIG9iag0KPDwgL1R5cGUgL0NhdGFsb2cNCiAgIC9QYWdlcyA1IDAgUg0KPj4NCmVuZG9iag0KDQoxMSAwIG9iag0KPDwgL0NyZWF0b3IgPEZFRkYwMDU3MDA3MjAwNjkwMDc0MDA2NTAwNzI+DQovUHJvZHVjZXIgPEZFRkYwMDRGMDA3MDAwNjUwMDZFMDA0RjAwNjYwMDY2MDA2OTAwNjMwMDY1MDAyRTAwNkYwMDcyMDA2NzAwMjAwMDMyMDAyRTAwMzAwMDJEMDA3MDAwNzIwMDY1Pg0KL0NyZWF0aW9uRGF0ZSAoRDoyMDA3MDMwNTE1NTM1OSswMScwMCcpDQo+Pg0KZW5kb2JqDQoNCnhyZWYNCjAgMTINCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMzY5OCAwMDAwMCBuDQowMDAwMDAwMDIxIDAwMDAwIG4NCjAwMDAwMDAzMTAgMDAwMDAgbg0KMDAwMDAwMDMzNiAwMDAwMCBuDQowMDAwMDAzODgzIDAwMDAwIG4NCjAwMDAwMDMzODIgMDAwMDAgbg0KMDAwMDAwMzUwMiAwMDAwMCBuDQowMDAwMDAzNTQzIDAwMDAwIG4NCjAwMDAwMDM1ODQgMDAwMDAgbg0KMDAwMDAwNDAxOSAwMDAwMCBuDQowMDAwMDA0MDc5IDAwMDAwIG4NCnRyYWlsZXINCjw8IC9TaXplIDEyDQogICAvUm9vdCAxMCAwIFINCiAgIC9JbmZvIDExIDAgUg0KICAgL0lEIFsgPDYwMEE2NDFFNjM3QzAyN0U0NjEyMkI3ODM0NjczMzI5Pg0KICAgICAgICAgPDYwMEE2NDFFNjM3QzAyN0U0NjEyMkI3ODM0NjczMzI5PiBdDQo+Pg0Kc3RhcnR4cmVmDQo0Mjk0DQolJUVPRg0K
iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAB3ElEQVQ4y7WVPW4UQRCFv/nxD7IEEgkiceAjWCKBhIwLEJmAtdCKY3AKSMYWSOQcgICIEyACRESAOICRmJnuriqC7vX02LPekaUdqVTV6u7Xb1696SnMjG089eN3f94f7FeLvaokeCE4JTjBpxyc4jfk4ATxioog/V/UXXyoD/arxbPjB/QO+g66HrouRQttB22bIq9b0BKcgROwMjItigtwnxf1nd2avgfnYngH3qcIEAKIpMhqzWKkZrVDwS713R3jycNhQwgQEkjIwue1H7L3hgiYGWYgzvj4qaS+twdPD4cDm6ZhuVxubI5ZBFNVVA1Vw8xwvfHla0l5G1esA13VmFGj84C7t4djO73+NQkax1Ca3s7HK7Y5qJkhqpgZ9ZQUTdOMxlOaD3JYatzqgBXwBOM5zZtinEtRz2meql1qmjfturZD3uiKqY03gaoqYDc3b93G9aAzpMg3mRl2dkQBVCv7vfhxpWlpXSJaTvl40vTXXLGGdSJaTxE+Pz8bjU9OXl4ynaN9BFYdLT49fTXJZs5bRSnSl6lieB/iAonNEY1a5XeBPv+GqqU5Rf91aNJUbQB1zsV7+dGb73Z0v0K8IEFi9mGog6D5XMoqutZNP3+3FNv655Vs6fkPvQLKVHtth28AAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAABgklEQVQokZWTMUsjQRiGny/GUvIDDjsLQRCikP8g2Jx2FoKFiAjRKxQEEQ5ETg5EBcHCvyCYzsLG0kIFjTZeJVhYaIJhszuzO/mu2M1uQhTxLQZ2Zp/vfeeFEVUFgPHVfygCKgIKXP0d4jOpqqoWVx680HnGJatxnnHFlQf9RHmgWL47+zPSsAAIiSeMDjyOlUMVBFE03r8+GAXyAM42wu4ILSTHxq9JQEFy0IIcCsWlq5vD8Tygka0HH11AmFmr9uz2J27q7JsF6AMXr0ofLG5W1xcGZ0uFlDi9Z3232sZarh6AsLHVNXtu5sdsqbB3gZM4enYUu4V1w8729cTPsf2prkDLJ0lJqZwN21hkagHO2Oc3po+TwSKdP7dZJTImC/lucH7wUoM0T2oiab8gOD/IKmlYIj+oeT1Mx1eMu2aGhZ4h9L373z1td6tSuZw/94EcQCtKx3wp12ymbtGrTxj4lcrll1gU+IDEL2B48ujp1iYn0nEjFaSjGaX5VM6w7+o/Xh/qfCGTpFEAAAAASUVORK5CYII=
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QsVOXI8qU0aTCd93tykEZacuoswfwOJKFMGzrWgyxRA634YYw9oDsJzswmw4jP6XfXAbNmsH4xJItBuFZO/B/XjNxoFyHZ/UA4Xkad+rR/AgDnRQ6tVPB/FpfRATZIOG9hwyAy0VZBhFgW8yiMHaICbpudj+QyXAGxUa6GzWfFowLkEURSVolh9FYPW4Eajar7Kzukbl6/xRtVcazbU3Mp3m5Fyfw6ykvyvnxvLmmiz1yytqlDIupbTZDr/wXejytRe3s3gzDsbFZbNZCiMcpVa8zb8n5ub1/wQYAOUGgqaMcoNoAAAAAElFTkSuQmCC
Ly8gLS0KLy8gQ29weXJpZ2h0IChDKSAyMDAxLTIwMTggT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS9cbiI7Ci8vIC0tCi8vIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCi8vIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQovLyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLnR4dC4KLy8gLS0KCi8qCnl1aUltZ1VwbG9hZGVyCnZhcmlhYmxlczoKIHJ0ZTogVGhlIFlBSE9PLndpZGdldC5FZGl0b3IgaW5zdGFuY2UKIHVwbG9hZF91cmw6IHRoZSB1cmwgdG8gcG9zdCB0aGUgZmlsZSB0bwogdXBsb2FkX2ltYWdlX25hbWU6IHRoZSBuYW1lIG9mIHRoZSBwb3N0IHBhcmFtZXRlciB0byBzZW5kIHRoZSBmaWxlIGFzCgpZb3VyIHNlcnZlciBtdXN0IGhhbmRsZSB0aGUgcG9zdGVkIGltYWdlLiAgWW91IG11c3QgcmV0dXJuIGEgSlNPTiBvYmplY3QKd2l0aCB0aGUgcmVzdWx0IHVybCB0aGF0IHRoZSBpbWFnZSBjYW4gYmUgdmlld2VkIGF0IG9uIHlvdXIgc2VydmVyLiAgSWYKdGhlIHVwbG9hZCBmYWlscywgeW91IGNhbiByZXR1cm4gYW4gZXJyb3IgbWVzc2FnZS4gIEZvciBzdWNjZXNzZnVsCnVwbG9hZHMsIHRoZSBzdGF0dXMgbXVzdCBiZSBzZXQgdG8gVVBMT0FERUQuICBBbGwgb3RoZXIgc3RhdHVzIG1lc3NhZ2VzLApvciB0aGUgbGFjayBvZiBhIHN0YXR1cyBtZXNzYWdlIGlzIGludGVycHJldGVkIGFzIGFuIGVycm9yLiAgSUUgd2lsbAp0cnkgdG8gb3BlbiBhIG5ldyBkb2N1bWVudCB3aW5kb3cgd2hlbiB0aGUgcmVzcG9uc2UgaXMgcmV0dXJuZWQgaWYgeW91cgpjb250ZW50LXR5cGUgaGVhZGVyIG9uIHlvdXIgcmVzcG9uc2UgaXMgbm90IHNldCB0byAndGV4dC9qYXZhc2NyaXB0JwoKRXhhbXBsZSBTdWNjZXNzOgp7c3RhdHVzOidVUExPQURFRCcsIGltYWdlX3VybDonL3NvbWVkaXJlY3RvcnkvZmlsZW5hbWUnfQpFeGFtcGxlIEZhaWx1cmU6CntzdGF0dXM6J1dlIG9ubHkgYWxsb3cgSlBFRyBJbWFnZXMuJ30KCiovCgpmdW5jdGlvbiB5dWlJbWdVcGxvYWRlcihydGUsIGVkaXRvcl9uYW1lLCB1cGxvYWRfdXJsLCB1cGxvYWRfaW1hZ2VfbmFtZSwgZm9ybV9pZCwgc2Vzc2lvbl9uYW1lLCBzZXNzaW9uX2lkKSB7CiAgIC8vIGN1c3RvbWl6ZSB0aGUgZWRpdG9yIGltZyBidXR0b24KCiAgIFlBSE9PLmxvZyggIkFkZGluZyBDbGljayBMaXN0ZW5lciIgLCdkZWJ1ZycpOwogICBydGUuYWRkTGlzdGVuZXIoJ3Rvb2xiYXJMb2FkZWQnLGZ1bmN0aW9uKCkgewogICAgICAgcnRlLnRvb2xiYXIuYWRkTGlzdGVuZXIgKCAnaW5zZXJ0aW1hZ2VDbGljaycsIGZ1bmN0aW9uKG8pIHsKICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICB2YXIgaW1nUGFuZWwgPSBuZXcgWUFIT08udXRpbC5FbGVtZW50KGVkaXRvcl9uYW1lICsgJy1wYW5lbCcpOwogICAgICAgICAgICAgICBpbWdQYW5lbC5vbiAoICdjb250ZW50UmVhZHknLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFyIERvbT1ZQUhPTy51dGlsLkRvbTsKCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEgRG9tLmdldChlZGl0b3JfbmFtZSArICdfaW5zZXJ0aW1hZ2VfdXBsb2FkJykpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsYWJlbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbC5pbm5lckhUTUwgPSAnPHN0cm9uZz5VcGxvYWQ6PC9zdHJvbmc+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iZmlsZSIgaWQ9IicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3JfbmFtZSArICdfaW5zZXJ0aW1hZ2VfdXBsb2FkIiBuYW1lPSInICsgdXBsb2FkX2ltYWdlX25hbWUgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAnIiBzaXplPSIxMCIgc3R5bGU9IndpZHRoOiAzMDBweCIgLz4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkZvcm1JRCIgdmFsdWU9IicgKyBmb3JtX2lkICsgJyIvPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJyArIHNlc3Npb25fbmFtZSArICciIHZhbHVlPSInICsgc2Vzc2lvbl9pZCArICciLz4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvbGFiZWw+JzsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbWdfZWxlbT1Eb20uZ2V0KGVkaXRvcl9uYW1lICsgJ19pbnNlcnRpbWFnZV91cmwnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbS5pbnNlcnRBZnRlcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nX2VsZW0ucGFyZW50Tm9kZSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICBZQUhPTy51dGlsLkV2ZW50Lm9uICggZWRpdG9yX25hbWUgKyAnX2luc2VydGltYWdlX3VwbG9hZCcsICdjaGFuZ2UnLCBmdW5jdGlvbihldikgewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlBSE9PLnV0aWwuRXZlbnQuc3RvcEV2ZW50KGV2KTsgLy8gbm8gZGVmYXVsdCBjbGljayBhY3Rpb24KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1lbWJlciBhY3Rpb24sIHNldCBuZXcgYWN0aW9uIHRvIHVwbG9hZCBwaWN0dXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgT3JnQWN0aW9uID0gaW1nX2VsZW0uZm9ybS5BY3Rpb24udmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWdfZWxlbS5mb3JtLkFjdGlvbi52YWx1ZSA9ICdQaWN0dXJlVXBsb2FkRkFRJzsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZQUhPTy51dGlsLkNvbm5lY3Quc2V0Rm9ybSAoIGltZ19lbGVtLmZvcm0sIHRydWUsIHRydWUgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYyA9IFlBSE9PLnV0aWwuQ29ubmVjdC5hc3luY1JlcXVlc3QoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BPU1QnLCB1cGxvYWRfdXJsLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZDpmdW5jdGlvbihyKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3RyaXAgcHJlIHRhZ3MgaWYgdGhleSBnb3QgYWRkZWQgc29tZWhvdwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3A9ci5yZXNwb25zZVRleHQucmVwbGFjZSggLzxwcmU+L2ksICcnKS5yZXBsYWNlICggLzxcL3ByZT4vaSwgJycpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbz1ldmFsKCcoJytyZXNwKycpJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8uc3RhdHVzID09ICdVUExPQURFRCcpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbS5nZXQoZWRpdG9yX25hbWUgKyAnX2luc2VydGltYWdlX3VwbG9hZCcpLnZhbHVlPScnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb20uZ2V0KGVkaXRvcl9uYW1lICsgJ19pbnNlcnRpbWFnZV91cmwnKS52YWx1ZT1vLmltYWdlX3VybDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRlbGwgdGhlIGltYWdlIHBhbmVsIHRoZSB1cmwgY2hhbmdlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYWNrIGluc3RlYWQgb2YgZmlyZUV2ZW50KCdibHVyJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hpY2ggZm9yIHNvbWUgcmVhc29uIGlzbid0IHdvcmtpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9tLmdldChlZGl0b3JfbmFtZSArICdfaW5zZXJ0aW1hZ2VfdXJsJykuZm9jdXMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9tLmdldChlZGl0b3JfbmFtZSArICdfaW5zZXJ0aW1hZ2VfdXBsb2FkJykuZm9jdXMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGVydCAoICJVcGxvYWQgRmFpbGVkOiAiK28uc3RhdHVzICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoICggZWVlICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlBSE9PLmxvZyggZWVlLm1lc3NhZ2UsICdlcnJvcicgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVzZXQgYWN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWdfZWxlbS5mb3JtLkFjdGlvbi52YWx1ZSA9IE9yZ0FjdGlvbjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgY2F0Y2ggKCBlZSApIHsgWUFIT08ubG9nKCBlZS5tZXNzYWdlLCAnZXJyb3InICk7IH0KICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgfQogICAgICAgICAgIGNhdGNoICggZSApIHsKICAgICAgICAgICAgICAgWUFIT08ubG9nKCBlLm1lc3NhZ2UsICdlcnJvcicgKTsKICAgICAgICAgICB9CiAgICAgICB9KTsKICAgfSk7Cn0K
IyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0LgojIC0tCgpwYWNrYWdlIHZhcjo6cGFja2FnZXNldHVwOjpGQVE7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgS2VybmVsOjpDb25maWc7CnVzZSBLZXJuZWw6OlN5c3RlbTo6Q29uZmlnOwp1c2UgS2VybmVsOjpTeXN0ZW06OkNTVjsKdXNlIEtlcm5lbDo6U3lzdGVtOjpHcm91cDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpTdGF0czsKdXNlIEtlcm5lbDo6U3lzdGVtOjpVc2VyOwp1c2UgS2VybmVsOjpTeXN0ZW06OlZhbGlkOwp1c2UgS2VybmVsOjpTeXN0ZW06OkxpbmtPYmplY3Q7CnVzZSBLZXJuZWw6OlN5c3RlbTo6RkFROwoKdXNlIHZhcnMgcXcoQElTQSAkVkVSU0lPTik7Cgo9aGVhZDEgTkFNRQoKRkFRLnBtIC0gY29kZSB0byBleGNlY3V0ZSBkdXJpbmcgcGFja2FnZSBpbnN0YWxsYXRpb24KCj1oZWFkMSBTWU5PUFNJUwoKQWxsIGZ1bmN0aW9ucwoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKCj1vdmVyIDQKCj1jdXQKCj1pdGVtIG5ldygpCgpjcmVhdGUgYW4gb2JqZWN0CgogICAgdXNlIEtlcm5lbDo6Q29uZmlnOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpMb2c7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06Ok1haW47CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OlRpbWU7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OkRCOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpYTUw7CgogICAgbXkgJENvbmZpZ09iamVjdCA9IEtlcm5lbDo6Q29uZmlnLT5uZXcoKTsKICAgIG15ICRMb2dPYmplY3QgICAgPSBLZXJuZWw6OlN5c3RlbTo6TG9nLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICApOwogICAgbXkgJE1haW5PYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6TWFpbi0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgKTsKICAgIG15ICRUaW1lT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OlRpbWUtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICk7CiAgICBteSAkREJPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6REItPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICApOwogICAgbXkgJFhNTE9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpYTUwtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBEQk9iamVjdCAgICAgPT4gJERCT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICA9PiAkTWFpbk9iamVjdCwKICAgICk7CiAgICBteSAkQ29kZU9iamVjdCA9IHZhcjo6cGFja2FnZXNldHVwOjpGQVEtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgVGltZU9iamVjdCAgID0+ICRUaW1lT2JqZWN0LAogICAgICAgIERCT2JqZWN0ICAgICA9PiAkREJPYmplY3QsCiAgICAgICAgWE1MT2JqZWN0ICAgID0+ICRYTUxPYmplY3QsCiAgICApOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBvYmplY3RzCiAgICBmb3IgbXkgJE9iamVjdCAocXcoQ29uZmlnT2JqZWN0IExvZ09iamVjdCBNYWluT2JqZWN0IFRpbWVPYmplY3QgREJPYmplY3QgWE1MT2JqZWN0IEVuY29kZU9iamVjdCkpIHsKICAgICAgICAkU2VsZi0+eyRPYmplY3R9ID0gJFBhcmFteyRPYmplY3R9IHx8IGRpZSAiR290IG5vICRPYmplY3QhIjsKICAgIH0KCiAgICAjIGNyZWF0ZSBuZWVkZWQgc3lzY29uZmlnIG9iamVjdAogICAgJFNlbGYtPntTeXNDb25maWdPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OkNvbmZpZy0+bmV3KCAleyRTZWxmfSApOwoKICAgICMgcmVidWlsZCBaWloqIGZpbGVzCiAgICAkU2VsZi0+e1N5c0NvbmZpZ09iamVjdH0tPldyaXRlRGVmYXVsdCgpOwoKICAgICMgZGVmaW5lIHRoZSBaWlogZmlsZXMKICAgIG15IEBaWlpGaWxlcyA9ICgKICAgICAgICAnWlpaQUF1dG8ucG0nLAogICAgICAgICdaWlpBdXRvLnBtJywKICAgICk7CgogICAgIyByZWxvYWQgdGhlIFpaWiBmaWxlcyAobW9kX3Blcmwgd29ya2Fyb3VuZCkKICAgIGZvciBteSAkWlpaRmlsZSAoQFpaWkZpbGVzKSB7CgogICAgICAgIFBSRUZJWDoKICAgICAgICBmb3IgbXkgJFByZWZpeCAoQElOQykgewogICAgICAgICAgICBteSAkRmlsZSA9ICRQcmVmaXggLiAnL0tlcm5lbC9Db25maWcvRmlsZXMvJyAuICRaWlpGaWxlOwogICAgICAgICAgICBuZXh0IFBSRUZJWCBpZiAhLWYgJEZpbGU7CiAgICAgICAgICAgIGRvICRGaWxlOwogICAgICAgICAgICBsYXN0IFBSRUZJWDsKICAgICAgICB9CiAgICB9CgogICAgIyBjcmVhdGUgbmVlZGVkIG9iamVjdHMKICAgICRTZWxmLT57Q29uZmlnT2JqZWN0fSA9IEtlcm5lbDo6Q29uZmlnLT5uZXcoKTsKICAgICRTZWxmLT57Q1NWT2JqZWN0fSAgICA9IEtlcm5lbDo6U3lzdGVtOjpDU1YtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57R3JvdXBPYmplY3R9ICA9IEtlcm5lbDo6U3lzdGVtOjpHcm91cC0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntVc2VyT2JqZWN0fSAgID0gS2VybmVsOjpTeXN0ZW06OlVzZXItPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57VmFsaWRPYmplY3R9ICA9IEtlcm5lbDo6U3lzdGVtOjpWYWxpZC0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntMaW5rT2JqZWN0fSAgID0gS2VybmVsOjpTeXN0ZW06OkxpbmtPYmplY3QtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57U3RhdHNPYmplY3R9ICA9IEtlcm5lbDo6U3lzdGVtOjpTdGF0cy0+bmV3KAogICAgICAgICV7JFNlbGZ9LAogICAgICAgIFVzZXJJRCA9PiAxLAogICAgKTsKICAgICRTZWxmLT57RkFRT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpGQVEtPm5ldygKICAgICAgICAleyRTZWxmfSwKICAgICAgICBVc2VySUQgPT4gMSwKICAgICk7CgogICAgIyBkZWZpbmUgZmlsZSBwcmVmaXgKICAgICRTZWxmLT57RmlsZVByZWZpeH0gPSAnRkFRJzsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCj1pdGVtIENvZGVJbnN0YWxsKCkKCnJ1biB0aGUgY29kZSBpbnN0YWxsIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVJbnN0YWxsKCk7Cgo9Y3V0CgpzdWIgQ29kZUluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGluc2VydCB0aGUgZmFxIHN0YXRlcwogICAgJFNlbGYtPl9JbnNlcnRGQVFTdGF0ZXMoKTsKCiAgICAjIGFkZCB0aGUgZ3JvdXAgZmFxCiAgICAkU2VsZi0+X0dyb3VwQWRkKAogICAgICAgIE5hbWUgICAgICAgID0+ICdmYXEnLAogICAgICAgIERlc2NyaXB0aW9uID0+ICdmYXEgZGF0YWJhc2UgdXNlcnMnLAogICAgKTsKCiAgICAjIGFkZCB0aGUgZ3JvdXAgZmFxX2FkbWluCiAgICAkU2VsZi0+X0dyb3VwQWRkKAogICAgICAgIE5hbWUgICAgICAgID0+ICdmYXFfYWRtaW4nLAogICAgICAgIERlc2NyaXB0aW9uID0+ICdmYXEgYWRtaW4gdXNlcnMnLAogICAgKTsKCiAgICAjIGluc3RhbGwgc3RhdHMKICAgICRTZWxmLT57U3RhdHNPYmplY3R9LT5TdGF0c0luc3RhbGwoCiAgICAgICAgRmlsZVByZWZpeCA9PiAkU2VsZi0+e0ZpbGVQcmVmaXh9LAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKPWl0ZW0gQ29kZVJlaW5zdGFsbCgpCgpydW4gdGhlIGNvZGUgcmVpbnN0YWxsIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVSZWluc3RhbGwoKTsKCj1jdXQKCnN1YiBDb2RlUmVpbnN0YWxsIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBpbnNlcnQgdGhlIGZhcSBzdGF0ZXMKICAgICRTZWxmLT5fSW5zZXJ0RkFRU3RhdGVzKCk7CgogICAgIyBhZGQgdGhlIGdyb3VwIGZhcQogICAgJFNlbGYtPl9Hcm91cEFkZCgKICAgICAgICBOYW1lICAgICAgICA9PiAnZmFxJywKICAgICAgICBEZXNjcmlwdGlvbiA9PiAnZmFxIGRhdGFiYXNlIHVzZXJzJywKICAgICk7CgogICAgIyBhZGQgdGhlIGdyb3VwIGZhcV9hZG1pbgogICAgJFNlbGYtPl9Hcm91cEFkZCgKICAgICAgICBOYW1lICAgICAgICA9PiAnZmFxX2FkbWluJywKICAgICAgICBEZXNjcmlwdGlvbiA9PiAnZmFxIGFkbWluIHVzZXJzJywKICAgICk7CgogICAgIyBpbnN0YWxsIHN0YXRzCiAgICAkU2VsZi0+e1N0YXRzT2JqZWN0fS0+U3RhdHNJbnN0YWxsKAogICAgICAgIEZpbGVQcmVmaXggPT4gJFNlbGYtPntGaWxlUHJlZml4fSwKICAgICk7CgogICAgcmV0dXJuIDE7Cn0KCj1pdGVtIENvZGVVcGdyYWRlKCkKCnJ1biB0aGUgY29kZSB1cGdyYWRlIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVVcGdyYWRlKCk7Cgo9Y3V0CgpzdWIgQ29kZVVwZ3JhZGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGluc3RhbGwgc3RhdHMKICAgICRTZWxmLT57U3RhdHNPYmplY3R9LT5TdGF0c0luc3RhbGwoCiAgICAgICAgRmlsZVByZWZpeCA9PiAkU2VsZi0+e0ZpbGVQcmVmaXh9LAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKPWl0ZW0gQ29kZVVwZ3JhZGVTcGVjaWFsKCkKCnJ1biBzcGVjaWFsIGNvZGUgdXBncmFkZSBwYXJ0CgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlVXBncmFkZVNwZWNpYWwoKTsKCj1jdXQKCnN1YiBDb2RlVXBncmFkZVNwZWNpYWwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNvbnZlcnQgXG4gdG8gPGJyPiBmb3IgZXhpc3RpbmcgYXJ0aWNsZXMKICAgICRTZWxmLT5fQ29udmVydE5ld2xpbmVzKCk7CgogICAgIyBzdGFydCBub3JtYWwgY29kZSB1cGdyYWRlCiAgICAkU2VsZi0+Q29kZVVwZ3JhZGUoKTsKCiAgICByZXR1cm4gMTsKfQoKPWl0ZW0gQ29kZVVuaW5zdGFsbCgpCgpydW4gdGhlIGNvZGUgdW5pbnN0YWxsIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVVbmluc3RhbGwoKTsKCj1jdXQKCnN1YiBDb2RlVW5pbnN0YWxsIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBkZWFjdGl2YXRlIHRoZSBncm91cCBmYXEKICAgICRTZWxmLT5fR3JvdXBEZWFjdGl2YXRlKAogICAgICAgIE5hbWUgPT4gJ2ZhcScsCiAgICApOwoKICAgICMgZGVhY3RpdmF0ZSB0aGUgZ3JvdXAgZmFxX2FkbWluCiAgICAkU2VsZi0+X0dyb3VwRGVhY3RpdmF0ZSgKICAgICAgICBOYW1lID0+ICdmYXFfYWRtaW4nLAogICAgKTsKCiAgICAjIHVuaW5zdGFsbCBzdGF0cwogICAgJFNlbGYtPntTdGF0c09iamVjdH0tPlN0YXRzVW5pbnN0YWxsKAogICAgICAgIEZpbGVQcmVmaXggPT4gJFNlbGYtPntGaWxlUHJlZml4fSwKICAgICk7CgogICAgIyBkZWxldGUgYWxsIGxpbmtzIHdpdGggRkFRIGFydGljbGVzCiAgICAkU2VsZi0+X0xpbmtEZWxldGUoKTsKCiAgICByZXR1cm4gMTsKfQoKPWl0ZW0gX0luc2VydEZBUVN0YXRlcygpCgppbnNlcnRzIG5lZWRlZCBGQVEgc3RhdGVzIGludG8gdGFibGUKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPl9JbnNlcnRGQVFTdGF0ZXMoKTsKCj1jdXQKCnN1YiBfSW5zZXJ0RkFRU3RhdGVzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBkZWZpbmUgZmFxX3N0YXRlX3R5cGVzID0+IGZhcV9zdGF0ZXMKICAgIG15ICVTdGF0ZSA9ICgKICAgICAgICAnaW50ZXJuYWwnID0+ICdpbnRlcm5hbCAoYWdlbnQpJywKICAgICAgICAnZXh0ZXJuYWwnID0+ICdleHRlcm5hbCAoY3VzdG9tZXIpJywKICAgICAgICAncHVibGljJyAgID0+ICdwdWJsaWMgKGFsbCknLAogICAgKTsKCiAgICBmb3IgbXkgJFR5cGUgKHF3KCBpbnRlcm5hbCBleHRlcm5hbCBwdWJsaWMgKSkgewoKICAgICAgICAjIGdldCB0aGUgc3RhdGUgdHlwZQogICAgICAgIG15ICRTdGF0ZVR5cGVSZWYgPSAkU2VsZi0+e0ZBUU9iamVjdH0tPlN0YXRlVHlwZUdldCgKICAgICAgICAgICAgTmFtZSA9PiAkVHlwZSwKICAgICAgICApOwoKICAgICAgICAjIGFkZCB0aGUgc3RhdGUKICAgICAgICAkU2VsZi0+e0ZBUU9iamVjdH0tPlN0YXRlQWRkKAogICAgICAgICAgICBOYW1lICAgPT4gJFN0YXRleyRUeXBlfSwKICAgICAgICAgICAgVHlwZUlEID0+ICRTdGF0ZVR5cGVSZWYtPntJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICByZXR1cm4gMTsKfQoKPWl0ZW0gX0NvbnZlcnROZXdsaW5lcygpCgpjb3ZlcnRzIGFsbCBcbiBpbnRvIDxicj4gZm9yIEZpZWxkcyAxLTYgaW4gYWxsIGV4aXN0aW5nIEZBUSBhcnRpY2xlcwoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+X0NvbnZlcnROZXdsaW5lcygpOwoKPWN1dAoKc3ViIF9Db252ZXJ0TmV3bGluZXMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIG9ubHkgY29udmVydCBcbiB0byA8YnI+IGlmIEhUTUwgdmlldyBpcyBlbmFibGVkCiAgICByZXR1cm4gaWYgISRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGQVE6Okl0ZW06OkhUTUwnKTsKCiAgICAjIGdldCBhbGwgRkFRIElEcwogICAgbXkgQEZBUUlEczsKICAgICRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCA9PiAiU0VMRUNUIGlkIEZST00gZmFxX2l0ZW0iLAogICAgKTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgcHVzaCggQEZBUUlEcywgJFJvd1swXSApOwogICAgfQoKICAgIElEOgogICAgZm9yIG15ICRJdGVtSUQgKEBGQVFJRHMpIHsKCiAgICAgICAgIyBnZXQgRkFRIGRhdGEKICAgICAgICBteSAlRkFRID0gJFNlbGYtPntGQVFPYmplY3R9LT5GQVFHZXQoCiAgICAgICAgICAgIEl0ZW1JRCA9PiAkSXRlbUlELAogICAgICAgICk7CgogICAgICAgICMgZ2V0IEZBUSBhcnRpY2xlIGZpZWxkcyAxLTYKICAgICAgICBteSAkRm91bmROZXdsaW5lOwogICAgICAgIEtFWToKICAgICAgICBmb3IgbXkgJEtleSAocXcgKEZpZWxkMSBGaWVsZDIgRmllbGQzIEZpZWxkNCBGaWVsZDUgRmllbGQ2KSkgewogICAgICAgICAgICBuZXh0IEtFWSBpZiAhJEZBUXskS2V5fTsKCiAgICAgICAgICAgICMgcmVwbGFjZSBcbiB3aXRoIDxicj4KICAgICAgICAgICAgJEZBUXskS2V5fSA9fiBzL1xuLzxiclwvPlxuL2c7CgogICAgICAgICAgICAkRm91bmROZXdsaW5lID0gMTsKICAgICAgICB9CiAgICAgICAgbmV4dCBJRCBpZiAhJEZvdW5kTmV3bGluZTsKCiAgICAgICAgIyB1cGRhdGUgRkFRIGRhdGEKICAgICAgICAkU2VsZi0+e0ZBUU9iamVjdH0tPkZBUVVwZGF0ZSgKICAgICAgICAgICAgJUZBUSwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBfR3JvdXBBZGQoKQoKYWRkIGEgZ3JvdXAKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPl9Hcm91cEFkZCgKICAgICAgICBOYW1lICAgICAgICA9PiAndGhlLWdyb3VwLW5hbWUnLAogICAgICAgIERlc2NyaXB0aW9uID0+ICdUaGUgZ3JvdXAgZGVzY3JpcHRpb24uJywKICAgICk7Cgo9Y3V0CgpzdWIgX0dyb3VwQWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKHF3KE5hbWUgRGVzY3JpcHRpb24pKSB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IHZhbGlkIGxpc3QKICAgIG15ICVWYWxpZExpc3QgPSAkU2VsZi0+e1ZhbGlkT2JqZWN0fS0+VmFsaWRMaXN0KAogICAgICAgIFVzZXJJRCA9PiAxLAogICAgKTsKICAgIG15ICVWYWxpZExpc3RSZXZlcnNlID0gcmV2ZXJzZSAlVmFsaWRMaXN0OwoKICAgICMgY2hlY2sgaWYgZ3JvdXAgYWxyZWFkeSBleGlzdHMKICAgIG15ICRHcm91cElEID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTG9va3VwKAogICAgICAgIEdyb3VwICA9PiAkUGFyYW17TmFtZX0sCiAgICAgICAgVXNlcklEID0+IDEsCiAgICApOwoKICAgICMgcmVhY3RpdmF0ZSB0aGUgZ3JvdXAKICAgIGlmICgkR3JvdXBJRCkgewoKICAgICAgICAjIGdldCBjdXJyZW50IGdyb3VwIGRhdGEKICAgICAgICBteSAlR3JvdXBEYXRhID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwR2V0KAogICAgICAgICAgICBJRCAgICAgPT4gJEdyb3VwSUQsCiAgICAgICAgICAgIFVzZXJJRCA9PiAxLAogICAgICAgICk7CgogICAgICAgICMgcmVhY3RpdmF0ZSBncm91cAogICAgICAgICRTZWxmLT57R3JvdXBPYmplY3R9LT5Hcm91cFVwZGF0ZSgKICAgICAgICAgICAgJUdyb3VwRGF0YSwKICAgICAgICAgICAgVmFsaWRJRCA9PiAkVmFsaWRMaXN0UmV2ZXJzZXt2YWxpZH0sCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICApOwoKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICAjIGFkZCB0aGUgZ3JvdXAKICAgIGVsc2UgewogICAgICAgIHJldHVybiBpZiAhJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwQWRkKAogICAgICAgICAgICBOYW1lICAgID0+ICRQYXJhbXtOYW1lfSwKICAgICAgICAgICAgQ29tbWVudCA9PiAkUGFyYW17RGVzY3JpcHRpb259LAogICAgICAgICAgICBWYWxpZElEID0+ICRWYWxpZExpc3RSZXZlcnNle3ZhbGlkfSwKICAgICAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgICk7CiAgICB9CgogICAgIyBsb29rdXAgdGhlIG5ldyBncm91cCBpZAogICAgbXkgJE5ld0dyb3VwSUQgPSAkU2VsZi0+e0dyb3VwT2JqZWN0fS0+R3JvdXBMb29rdXAoCiAgICAgICAgR3JvdXAgID0+ICRQYXJhbXtOYW1lfSwKICAgICAgICBVc2VySUQgPT4gMSwKICAgICk7CgogICAgIyBhZGQgdXNlciByb290IHRvIHRoZSBncm91cAogICAgJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTWVtYmVyQWRkKAogICAgICAgIEdJRCAgICAgICAgPT4gJE5ld0dyb3VwSUQsCiAgICAgICAgVUlEICAgICAgICA9PiAxLAogICAgICAgIFBlcm1pc3Npb24gPT4gewogICAgICAgICAgICBybyAgICAgICAgPT4gMSwKICAgICAgICAgICAgbW92ZV9pbnRvID0+IDEsCiAgICAgICAgICAgIGNyZWF0ZSAgICA9PiAxLAogICAgICAgICAgICBvd25lciAgICAgPT4gMSwKICAgICAgICAgICAgcHJpb3JpdHkgID0+IDEsCiAgICAgICAgICAgIHJ3ICAgICAgICA9PiAxLAogICAgICAgIH0sCiAgICAgICAgVXNlcklEID0+IDEsCiAgICApOwoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBfR3JvdXBEZWFjdGl2YXRlKCkKCmRlYWN0aXZhdGUgYSBncm91cAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+X0dyb3VwRGVhY3RpdmF0ZSgKICAgICAgICBOYW1lID0+ICd0aGUtZ3JvdXAtbmFtZScsCiAgICApOwoKPWN1dAoKc3ViIF9Hcm91cERlYWN0aXZhdGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte05hbWV9ICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTmVlZCBOYW1lIScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBsb29rdXAgZ3JvdXAgaWQKICAgIG15ICRHcm91cElEID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTG9va3VwKAogICAgICAgIEdyb3VwID0+ICRQYXJhbXtOYW1lfSwKICAgICk7CgogICAgcmV0dXJuIGlmICEkR3JvdXBJRDsKCiAgICAjIGdldCB2YWxpZCBsaXN0CiAgICBteSAlVmFsaWRMaXN0ID0gJFNlbGYtPntWYWxpZE9iamVjdH0tPlZhbGlkTGlzdCgKICAgICAgICBVc2VySUQgPT4gMSwKICAgICk7CiAgICBteSAlVmFsaWRMaXN0UmV2ZXJzZSA9IHJldmVyc2UgJVZhbGlkTGlzdDsKCiAgICAjIGdldCBjdXJyZW50IGdyb3VwIGRhdGEKICAgIG15ICVHcm91cERhdGEgPSAkU2VsZi0+e0dyb3VwT2JqZWN0fS0+R3JvdXBHZXQoCiAgICAgICAgSUQgICAgID0+ICRHcm91cElELAogICAgICAgIFVzZXJJRCA9PiAxLAogICAgKTsKCiAgICAjIGRlYWN0aXZhdGUgZ3JvdXAKICAgICRTZWxmLT57R3JvdXBPYmplY3R9LT5Hcm91cFVwZGF0ZSgKICAgICAgICAlR3JvdXBEYXRhLAogICAgICAgIFZhbGlkSUQgPT4gJFZhbGlkTGlzdFJldmVyc2V7aW52YWxpZH0sCiAgICAgICAgVXNlcklEICA9PiAxLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKPWl0ZW0gX0xpbmtEZWxldGUoKQoKZGVsZXRlIGFsbCBleGlzdGluZyBsaW5rcyB0byBmYXEgYXJ0aWNsZXMKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPl9MaW5rRGVsZXRlKCk7Cgo9Y3V0CgpzdWIgX0xpbmtEZWxldGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBhbGwgZmFxIGFydGljbGUgaWRzCiAgICBteSBARkFRSURzID0gKCk7CiAgICAkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4gJ1NFTEVDVCBpZCBGUk9NIGZhcV9pdGVtJwogICAgKTsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgcHVzaCBARkFRSURzLCAkUm93WzBdOwogICAgfQogICAgcmV0dXJuIGlmICFARkFRSURzOwoKICAgICMgZGVsZXRlIHRoZSBmYXEgYXJ0aWNsZSBsaW5rcwogICAgZm9yIG15ICRGQVFJRCAoQEZBUUlEcykgewogICAgICAgICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtEZWxldGVBbGwoCiAgICAgICAgICAgIE9iamVjdCA9PiAnRkFRJywKICAgICAgICAgICAgS2V5ICAgID0+ICRGQVFJRCwKICAgICAgICAgICAgVXNlcklEID0+IDEsCiAgICAgICAgKTsKICAgIH0KCiAgICByZXR1cm4gMTsKfQoKMTsKCj1iYWNrCgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgU29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChodHRwOi8vb3Rycy5vcmcvKS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAudHh0Pi4KCj1jdXQKCj1jdXQK
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KCjxvdHJzX3N0YXRzPgo8Q2FjaGU+MDwvQ2FjaGU+CjxEZXNjcmlwdGlvbj5TaG93cyBhbiBvdmVydmlldyBvZiBGQVEgYXJ0aWNsZXMgaW4gYSBkZWZpbmVkIHRpbWUgcGVyaW9kIHNvcnRlZCBieSBhY2Nlc3MgbnVtYmVycy48L0Rlc2NyaXB0aW9uPgo8RmlsZSBFbmNvZGU9IkJhc2U2NCIgRmlsZT0iRkFRQWNjZXNzIiBMb2NhdGlvbj0iS2VybmVsL1N5c3RlbS9TdGF0cy9TdGF0aWMvRkFRQWNjZXNzLnBtIiBQZXJtaXNzaW9uPSI2NDQiPkl5QXRMUW9qSUV0bGNtNWxiQzlUZVhOMFpXMHZVM1JoZEhNdlUzUmhkR2xqTDBaQlVVRmpZMlZ6Y3k1d2JTNXdiUW9qSUVOdmNIbHlhV2RvZENBb1F5a2dNakF3TVMweU1EQTRJRTlVVWxNZ1FVY3NJR2gwZEhBNkx5OXZkSEp6TG05eVp5OEtJeUF0TFFvaklDUkpaRG9nUmtGUlFXTmpaWE56TG5CdExIWWdNUzR4SURJd01EZ3ZNRGt2TWpVZ01USTZNak02TXpjZ2RXSWdSWGh3SUNRS0l5QXRMUW9qSUZSb2FYTWdjMjltZEhkaGNtVWdZMjl0WlhNZ2QybDBhQ0JCUWxOUFRGVlVSVXhaSUU1UElGZEJVbEpCVGxSWkxpQkdiM0lnWkdWMFlXbHNjeXdnYzJWbENpTWdkR2hsSUdWdVkyeHZjMlZrSUdacGJHVWdRMDlRV1VsT1J5Qm1iM0lnYkdsalpXNXpaU0JwYm1admNtMWhkR2x2YmlBb1IxQk1LUzRnU1dZZ2VXOTFDaU1nWkdsa0lHNXZkQ0J5WldObGFYWmxJSFJvYVhNZ1ptbHNaU3dnYzJWbElHaDBkSEE2THk5M2QzY3VaMjUxTG05eVp5OXNhV05sYm5ObGN5OW5jR3d0TWk0d0xuUjRkQzRLSXlBdExRb0tjR0ZqYTJGblpTQkxaWEp1Wld3Nk9sTjVjM1JsYlRvNlUzUmhkSE02T2xOMFlYUnBZem82UmtGUlFXTmpaWE56T3dvS2RYTmxJSE4wY21samREc0tkWE5sSUhkaGNtNXBibWR6T3dwMWMyVWdSR0YwWlRvNlVHTmhiR01nY1hjb1JHRjVjMTlwYmw5TmIyNTBhQ2s3Q25WelpTQkxaWEp1Wld3Nk9sTjVjM1JsYlRvNlJrRlJPd29LZFhObElIWmhjbk1nY1hjb0pGWkZVbE5KVDA0cE93b2tWa1ZTVTBsUFRpQTlJSEYzS0NSU1pYWnBjMmx2YmpvZ01TNHhJQ1FwSUZzeFhUc0tDbk4xWWlCdVpYY2dld29nSUNBZ2JYa2dKRlI1Y0dVZ1BTQnphR2xtZERzS0lDQWdJRzE1SUNWUVlYSmhiU0E5SUVCZk93b0tJQ0FnSUNNZ1lXeHNiMk5oZEdVZ2JtVjNJR2hoYzJnZ1ptOXlJRzlpYW1WamRBb2dJQ0FnYlhrZ0pGTmxiR1lnUFNCN0lDVlFZWEpoYlNCOU93b2dJQ0FnWW14bGMzTW9JQ1JUWld4bUxDQWtWSGx3WlNBcE93b0tJQ0FnSUNNZ1kyaGxZMnNnWVd4c0lHNWxaV1JsWkNCdlltcGxZM1J6Q2lBZ0lDQm1iM0psWVdOb0lDaHhkeWhFUWs5aWFtVmpkQ0JEYjI1bWFXZFBZbXBsWTNRZ1RHOW5UMkpxWldOMEtTa2dld29nSUNBZ0lDQWdJR1JwWlNBaVIyOTBJRzV2SUNSZklpQnBaaUFvSVNSVFpXeG1MVDU3SkY5OUtUc0tJQ0FnSUgwS0NpQWdJQ0FqSUdOeVpXRjBaU0J1WldWa1pXUWdiMkpxWldOMENpQWdJQ0FrVTJWc1ppMCtlMFpCVVU5aWFtVmpkSDBnUFNCTFpYSnVaV3c2T2xONWMzUmxiVG82UmtGUkxUNXVaWGNvSlZCaGNtRnRLVHNLQ2lBZ0lDQnlaWFIxY200Z0pGTmxiR1k3Q24wS0NuTjFZaUJRWVhKaGJTQjdDZ29nSUNBZ2JYa2dKRk5sYkdZZ1BTQnphR2xtZERzS0lDQWdJRzE1SUVCUVlYSmhiWE1nUFNBb0tUc0tDaUFnSUNBaklHZGxkQ0JqZFhKeVpXNTBJSFJwYldVS0lDQWdJRzE1SUNna2N5d2tiU3drYUN3Z0pFUXNKRTBzSkZrcElEMGdKRk5sYkdZdFBudFVhVzFsVDJKcVpXTjBmUzArVTNsemRHVnRWR2x0WlRKRVlYUmxLQW9nSUNBZ0lDQWdJRk41YzNSbGJWUnBiV1VnUFQ0Z0pGTmxiR1l0UG50VWFXMWxUMkpxWldOMGZTMCtVM2x6ZEdWdFZHbHRaU2dwTEFvZ0lDQWdLVHNLSUNBZ0lDUkVJRDBnYzNCeWFXNTBaaWdpSlRBeVpDSXNJQ1JFS1RzS0lDQWdJQ1JOSUQwZ2MzQnlhVzUwWmlnaUpUQXlaQ0lzSUNSTktUc0tJQ0FnSUNSWklEMGdjM0J5YVc1MFppZ2lKVEF5WkNJc0lDUlpLVHNLQ2lBZ0lDQWpJR055WldGMFpTQndiM056YVdKc1pTQjBhVzFsSUhObGJHVmpkR2x2Ym5NS0lDQWdJRzE1SUNWWlpXRnlJQ0E5SUcxaGNDQjdJQ1JmTENBa1h5QjlJQ2dnSkZrdE1UQXVMaVJaS3pFZ0tUc0tJQ0FnSUcxNUlDVk5iMjUwYUNBOUlHMWhjQ0I3SUhOd2NtbHVkR1lvSWlVd01tUWlMQ0FrWHlrc0lITndjbWx1ZEdZb0lpVXdNbVFpTENBa1h5a2dmU0FvSURFdUxqRXlJQ2s3Q2lBZ0lDQnRlU0FsUkdGNUlDQWdQU0J0WVhBZ2V5QnpjSEpwYm5SbUtDSWxNREprSWl3Z0pGOHBMQ0J6Y0hKcGJuUm1LQ0lsTURKa0lpd2dKRjhwSUgwZ0tDQXhMaTR6TVNBcE93b0tJQ0FnSUhCMWMyZ2dLRUJRWVhKaGJYTXNJSHNLSUNBZ0lDQWdJQ0FnSUNBZ1JuSnZiblJsYm1RZ1BUNGdKMU4wWVhKMFJHRjVKeXdLSUNBZ0lDQWdJQ0FnSUNBZ1RtRnRaU0E5UGlBblUzUmhjblJFWVhrbkxBb2dJQ0FnSUNBZ0lDQWdJQ0JOZFd4MGFYQnNaU0E5UGlBd0xBb2dJQ0FnSUNBZ0lDQWdJQ0JUYVhwbElEMCtJREFzQ2lBZ0lDQWdJQ0FnSUNBZ0lGTmxiR1ZqZEdWa1NVUWdQVDRnSnpBeEp5d0tJQ0FnSUNBZ0lDQWdJQ0FnUkdGMFlTQTlQaUI3Q2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FsUkdGNUxBb2dJQ0FnSUNBZ0lDQWdJQ0I5TEFvZ0lDQWdJQ0FnSUgwc0NpQWdJQ0FwT3dvZ0lDQWdjSFZ6YUNBb1FGQmhjbUZ0Y3l3Z2V3b2dJQ0FnSUNBZ0lDQWdJQ0JHY205dWRHVnVaQ0E5UGlBblUzUmhjblJOYjI1MGFDY3NDaUFnSUNBZ0lDQWdJQ0FnSUU1aGJXVWdQVDRnSjFOMFlYSjBUVzl1ZEdnbkxBb2dJQ0FnSUNBZ0lDQWdJQ0JOZFd4MGFYQnNaU0E5UGlBd0xBb2dJQ0FnSUNBZ0lDQWdJQ0JUYVhwbElEMCtJREFzQ2lBZ0lDQWdJQ0FnSUNBZ0lGTmxiR1ZqZEdWa1NVUWdQVDRnSkUwc0NpQWdJQ0FnSUNBZ0lDQWdJRVJoZEdFZ1BUNGdld29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKVTF2Ym5Sb0xBb2dJQ0FnSUNBZ0lDQWdJQ0I5TEFvZ0lDQWdJQ0FnSUgwc0NpQWdJQ0FwT3dvZ0lDQWdjSFZ6YUNBb1FGQmhjbUZ0Y3l3Z2V3b2dJQ0FnSUNBZ0lDQWdJQ0JHY205dWRHVnVaQ0E5UGlBblUzUmhjblJaWldGeUp5d0tJQ0FnSUNBZ0lDQWdJQ0FnVG1GdFpTQTlQaUFuVTNSaGNuUlpaV0Z5Snl3S0lDQWdJQ0FnSUNBZ0lDQWdUWFZzZEdsd2JHVWdQVDRnTUN3S0lDQWdJQ0FnSUNBZ0lDQWdVMmw2WlNBOVBpQXdMQW9nSUNBZ0lDQWdJQ0FnSUNCVFpXeGxZM1JsWkVsRUlEMCtJQ1JaTEFvZ0lDQWdJQ0FnSUNBZ0lDQkVZWFJoSUQwK0lIc0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDVlpaV0Z5TEFvZ0lDQWdJQ0FnSUNBZ0lDQjlMQW9nSUNBZ0lDQWdJSDBzQ2lBZ0lDQXBPd29nSUNBZ2NIVnphQ0FvUUZCaGNtRnRjeXdnZXdvZ0lDQWdJQ0FnSUNBZ0lDQkdjbTl1ZEdWdVpDQTlQaUFuUlc1a1JHRjVKeXdLSUNBZ0lDQWdJQ0FnSUNBZ1RtRnRaU0E5UGlBblJXNWtSR0Y1Snl3S0lDQWdJQ0FnSUNBZ0lDQWdUWFZzZEdsd2JHVWdQVDRnTUN3S0lDQWdJQ0FnSUNBZ0lDQWdVMmw2WlNBOVBpQXdMQW9nSUNBZ0lDQWdJQ0FnSUNCVFpXeGxZM1JsWkVsRUlEMCtJQ1JFTEFvZ0lDQWdJQ0FnSUNBZ0lDQkVZWFJoSUQwK0lIc0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDVkVZWGtzQ2lBZ0lDQWdJQ0FnSUNBZ0lIMHNDaUFnSUNBZ0lDQWdmU3dLSUNBZ0lDazdDaUFnSUNCd2RYTm9JQ2hBVUdGeVlXMXpMQ0I3Q2lBZ0lDQWdJQ0FnSUNBZ0lFWnliMjUwWlc1a0lEMCtJQ2RGYm1STmIyNTBhQ2NzQ2lBZ0lDQWdJQ0FnSUNBZ0lFNWhiV1VnUFQ0Z0owVnVaRTF2Ym5Sb0p5d0tJQ0FnSUNBZ0lDQWdJQ0FnVFhWc2RHbHdiR1VnUFQ0Z01Dd0tJQ0FnSUNBZ0lDQWdJQ0FnVTJsNlpTQTlQaUF3TEFvZ0lDQWdJQ0FnSUNBZ0lDQlRaV3hsWTNSbFpFbEVJRDArSUNSTkxBb2dJQ0FnSUNBZ0lDQWdJQ0JFWVhSaElEMCtJSHNLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ1ZOYjI1MGFDd0tJQ0FnSUNBZ0lDQWdJQ0FnZlN3S0lDQWdJQ0FnSUNCOUxBb2dJQ0FnS1RzS0lDQWdJSEIxYzJnZ0tFQlFZWEpoYlhNc0lIc0tJQ0FnSUNBZ0lDQWdJQ0FnUm5KdmJuUmxibVFnUFQ0Z0owVnVaRmxsWVhJbkxBb2dJQ0FnSUNBZ0lDQWdJQ0JPWVcxbElEMCtJQ2RGYm1SWlpXRnlKeXdLSUNBZ0lDQWdJQ0FnSUNBZ1RYVnNkR2x3YkdVZ1BUNGdNQ3dLSUNBZ0lDQWdJQ0FnSUNBZ1UybDZaU0E5UGlBd0xBb2dJQ0FnSUNBZ0lDQWdJQ0JUWld4bFkzUmxaRWxFSUQwK0lDUlpMQW9nSUNBZ0lDQWdJQ0FnSUNCRVlYUmhJRDArSUhzS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNWWlpXRnlMQW9nSUNBZ0lDQWdJQ0FnSUNCOUxBb2dJQ0FnSUNBZ0lIMHNDaUFnSUNBcE93b0tJQ0FnSUhKbGRIVnliaUJBVUdGeVlXMXpPd3A5Q2dwemRXSWdVblZ1SUhzS0lDQWdJRzE1SUNnZ0pGTmxiR1lzSUNWUVlYSmhiU0FwSUQwZ1FGODdDZ29nSUNBZ0l5QmphR1ZqYXlCdVpXVmtaV1FnYzNSMVptWUtJQ0FnSUdadmNpQW9jWGNvVTNSaGNuUlpaV0Z5SUZOMFlYSjBUVzl1ZEdnZ1UzUmhjblJFWVhrZ1JXNWtXV1ZoY2lCRmJtUk5iMjUwYUNCRmJtUkVZWGtwS1NCN0NpQWdJQ0FnSUNBZ2FXWWdLQ0FoSkZCaGNtRnRleVJmZlNBcElIc0tJQ0FnSUNBZ0lDQWdJQ0FnSkZObGJHWXRQbnRNYjJkUFltcGxZM1I5TFQ1TWIyY29JRkJ5YVc5eWFYUjVJRDArSUNkbGNuSnZjaWNzSUUxbGMzTmhaMlVnUFQ0Z0lrNWxaV1FnSkY4aElpQXBPd29nSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTQ3Q2lBZ0lDQWdJQ0FnZlFvZ0lDQWdmUW9LSUNBZ0lDTWdZMjl5Y21WamRDQnpkR0Z5ZENCa1lYa2diMllnYlc5dWRHZ2dhV1lnWlc1MFpYSmxaQ0IzY205dVp5QmllU0IxYzJWeUNpQWdJQ0J0ZVNBa1UzUmhjblJFWVhrZ1BTQnpjSEpwYm5SbUtDQWlKVEF5WkNJc0lFUmhlWE5mYVc1ZlRXOXVkR2dvSUNSUVlYSmhiWHRUZEdGeWRGbGxZWEo5TENBa1VHRnlZVzE3VTNSaGNuUk5iMjUwYUgwZ0tTQXBPd29nSUNBZ2FXWWdLQ0FrVUdGeVlXMTdVM1JoY25SRVlYbDlJRHdnSkZOMFlYSjBSR0Y1SUNrZ2V3b2dJQ0FnSUNBZ0lDUlRkR0Z5ZEVSaGVTQTlJQ1JRWVhKaGJYdFRkR0Z5ZEVSaGVYMDdDaUFnSUNCOUNnb2dJQ0FnSXlCamIzSnlaV04wSUdWdVpDQmtZWGtnYjJZZ2JXOXVkR2dnYVdZZ1pXNTBaWEpsWkNCM2NtOXVaeUJpZVNCMWMyVnlDaUFnSUNCdGVTQWtSVzVrUkdGNUlEMGdjM0J5YVc1MFppZ2dJaVV3TW1RaUxDQkVZWGx6WDJsdVgwMXZiblJvS0NBa1VHRnlZVzE3Ulc1a1dXVmhjbjBzSUNSUVlYSmhiWHRGYm1STmIyNTBhSDBnS1NBcE93b2dJQ0FnYVdZZ0tDQWtVR0Z5WVcxN1JXNWtSR0Y1ZlNBOElDUkZibVJFWVhrZ0tTQjdDaUFnSUNBZ0lDQWdKRVZ1WkVSaGVTQTlJQ1JRWVhKaGJYdEZibVJFWVhsOU93b2dJQ0FnZlFvS0lDQWdJQ01nYzJWMElITjBZWEowSUdGdVpDQmxibVFnWkdGMFpRb2dJQ0FnYlhrZ0pGTjBZWEowUkdGMFpTQTlJQ0lrVUdGeVlXMTdVM1JoY25SWlpXRnlmUzBrVUdGeVlXMTdVM1JoY25STmIyNTBhSDB0SkZOMFlYSjBSR0Y1SURBd09qQXdPakF3SWpzS0lDQWdJRzE1SUNSRmJtUkVZWFJsSUNBZ1BTQWlKRkJoY21GdGUwVnVaRmxsWVhKOUxTUlFZWEpoYlh0RmJtUk5iMjUwYUgwdEpFVnVaRVJoZVNBeU16bzFPVG8xT1NJN0Nnb2dJQ0FnSXlCblpYUWdZU0JqYjNWdWRDQnZaaUJoYkd3Z1ptRnhJR0Z5ZEdsamJHVnpDaUFnSUNCdGVTQWtWRzl3TVRCSmRHVnRTVVJ6VW1WbUlEMGdKRk5sYkdZdFBudEdRVkZQWW1wbFkzUjlMVDVHUVZGVWIzQXhNRWRsZENnS0lDQWdJQ0FnSUNCSmJuUmxjbVpoWTJVZ1BUNGdKMmx1ZEdWeWJtRnNKeXdLSUNBZ0lDQWdJQ0JUZEdGeWRFUmhkR1VnUFQ0Z0pGTjBZWEowUkdGMFpTd0tJQ0FnSUNBZ0lDQkZibVJFWVhSbElDQWdQVDRnSkVWdVpFUmhkR1VzQ2lBZ0lDQXBPd29LSUNBZ0lDTWdZblZwYkdRZ2NtVnpkV3gwSUhSaFlteGxDaUFnSUNCdGVTQkFSR0YwWVRzS0lDQWdJR1p2Y2lCdGVTQWtTWFJsYlVsRVVtVm1JQ2dnUUhzZ0pGUnZjREV3U1hSbGJVbEVjMUpsWmlCOUlDa2dld29LSUNBZ0lDQWdJQ0FqSUdkbGRDQm1ZWEVnWkdGMFlRb2dJQ0FnSUNBZ0lHMTVJQ1ZHUVZGRVlYUmhJRDBnSkZObGJHWXRQbnRHUVZGUFltcGxZM1I5TFQ1R1FWRkhaWFFvSUVsMFpXMUpSQ0E5UGlBa1NYUmxiVWxFVW1WbUxUNTdTWFJsYlVsRWZTQXBPd29LSUNBZ0lDQWdJQ0FqSUdkbGRDQjJiM1JsSUdSaGRHRUtJQ0FnSUNBZ0lDQnRlU0FrVm05MFpVUmhkR0VnUFNBa1UyVnNaaTArZTBaQlVVOWlhbVZqZEgwdFBrbDBaVzFXYjNSbFJHRjBZVWRsZENnS0lDQWdJQ0FnSUNBZ0lDQWdTWFJsYlVsRUlEMCtJQ1JKZEdWdFNVUlNaV1l0UG50SmRHVnRTVVI5TEFvZ0lDQWdJQ0FnSUNrN0NpQWdJQ0FnSUNBZ2JYa2dKRlp2ZEdWU1pYTjFiSFFnUFNCemNISnBiblJtS0FvZ0lDQWdJQ0FnSUNBZ0lDQWlKVEF1SWdvZ0lDQWdJQ0FnSUNBZ0lDQXVJQ1JUWld4bUxUNTdRMjl1Wm1sblQySnFaV04wZlMwK1IyVjBLQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJa1pCVVRvNlJYaHdiRzl5WlhJNk9rbDBaVzFNYVhOME9qcFdiM1JwYm1kU1pYTjFiSFJFWldOcGJXRnNVR3hoWTJWeklnb2dJQ0FnSUNBZ0lDQWdJQ0FwQ2lBZ0lDQWdJQ0FnSUNBZ0lDNGdJbVlpTENBa1ZtOTBaVVJoZEdFdFBudFNaWE4xYkhSOUlIeDhJREFLSUNBZ0lDQWdJQ0FwT3dvZ0lDQWdJQ0FnSUcxNUlDUldiM1JsY3lBOUlDUldiM1JsUkdGMFlTMCtlMVp2ZEdWemZTQjhmQ0F3T3dvS0lDQWdJQ0FnSUNBaklHSjFhV3hrSUhSaFlteGxJSEp2ZHdvZ0lDQWdJQ0FnSUhCMWMyZ2dRRVJoZEdFc0lGc0tJQ0FnSUNBZ0lDQWdJQ0FnSkVaQlVVUmhkR0Y3VG5WdFltVnlmU3dLSUNBZ0lDQWdJQ0FnSUNBZ0pFWkJVVVJoZEdGN1ZHbDBiR1Y5TEFvZ0lDQWdJQ0FnSUNBZ0lDQWtTWFJsYlVsRVVtVm1MVDU3UTI5MWJuUjlMQW9nSUNBZ0lDQWdJQ0FnSUNBa1ZtOTBaVkpsYzNWc2RDd0tJQ0FnSUNBZ0lDQWdJQ0FnSkZadmRHVnpMQW9nSUNBZ0lDQWdJRjA3Q2lBZ0lDQjlDZ29nSUNBZ0l5QnpaWFFnY21Wd2IzSjBJSFJwZEd4bENpQWdJQ0J0ZVNBa1ZHbDBiR1VnUFNBaUpGQmhjbUZ0ZTFOMFlYSjBXV1ZoY24wdEpGQmhjbUZ0ZTFOMFlYSjBUVzl1ZEdoOUxTUlRkR0Z5ZEVSaGVTQXRJQ1JRWVhKaGJYdEZibVJaWldGeWZTMGtVR0Z5WVcxN1JXNWtUVzl1ZEdoOUxTUkZibVJFWVhraU93b0tJQ0FnSUNNZ2RHRmliR1VnYUdWaFpHeHBibVZ6Q2lBZ0lDQnRlU0JBU0dWaFpFUmhkR0VnUFNBb0NpQWdJQ0FnSUNBZ0owWkJVU0FqSnl3S0lDQWdJQ0FnSUNBblZHbDBiR1VuTEFvZ0lDQWdJQ0FnSUNkRGIzVnVkQ2NzQ2lBZ0lDQWdJQ0FnSjFadmRHVWdVbVZ6ZFd4MEp5d0tJQ0FnSUNBZ0lDQW5WbTkwWlhNbkxBb2dJQ0FnS1RzS0NpQWdJQ0J5WlhSMWNtNGdLQ0JiSkZScGRHeGxYU3hiUUVobFlXUkVZWFJoWFN3Z1FFUmhkR0VnS1RzS2ZRb0tNVHNLPC9GaWxlPgo8Rm9ybWF0PkNTVjwvRm9ybWF0Pgo8Rm9ybWF0PlByaW50PC9Gb3JtYXQ+CjxHcmFwaFNpemU+PC9HcmFwaFNpemU+CjxPYmplY3Q+PC9PYmplY3Q+CjxPYmplY3RNb2R1bGU+S2VybmVsOjpTeXN0ZW06OlN0YXRzOjpTdGF0aWM6OkZBUUFjY2VzczwvT2JqZWN0TW9kdWxlPgo8UGVybWlzc2lvbj5zdGF0czwvUGVybWlzc2lvbj4KPFN0YXRUeXBlPnN0YXRpYzwvU3RhdFR5cGU+CjxTdW1Db2w+MDwvU3VtQ29sPgo8U3VtUm93PjA8L1N1bVJvdz4KPFRpdGxlPkZBUSBhY2Nlc3Mgb3ZlcnZpZXc8L1RpdGxlPgo8VmFsaWQ+MTwvVmFsaWQ+Cjwvb3Ryc19zdGF0cz4K
JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovQ3JlYXRvciAoQXBhY2hlIEZPUCBWZXJzaW9uIDIuMSkKL1Byb2R1Y2VyIChBcGFjaGUgRk9QIFZlcnNpb24gMi4xKQovQ3JlYXRpb25EYXRlIChEOjIwMTkwODIwMTYxMzMwWikKPj4KZW5kb2JqCjIgMCBvYmoKPDwKICAvTiAzCiAgL0xlbmd0aCAzIDAgUgogIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nO2ZZ1BUWRaA73uvc6Chu2kyNDlJlNCA5JwkSBYV6G4yLTQ5mJDBERhBRCQpgogCDjg6BBlFRRQDoqCAeRoZBJRxcBRRUVnAH7NVu7VbW7W1f7bPj/e+OufWO+e+ulXvq3oAyJDi2QnJsD4ACbwUvq+zHTMoOISJvQ9wgAxIgAow4ezkRFtvbw+wHCtrwT/E+1EArdzv6fzz+r8MEieBxwEAoi9zLIebzF7mncsczUngrOSnVzg9JTEFANh7men85QGXmbPCEd84Y4WjvnHR6ho/X/tlPgoAjhS1yoRTKxyxytSuFWZH8xMAkO5bXq/CTuQvP196pZfitxlWQ3RlP8woLo/LD0/hcpj/4db+ffxdL3Ty8sv/rzf4H/dZOTvf6K3l6pmAGBV/5baWAcB6DQBS8ldO5TAAlN0AdPT8lYs4DkBnCQCSz9ip/LRvOdTq7IAAKIAOpIA8UAYaQAcYAlNgAWyAI3ADXsAPBIPNgA2iQQLgg3SQA3aBfFAISsBBUAVqQQNoAq3gDOgE58FlcA3cAnfBCHgMBGASvAJz4D1YhCAIC5EhGiQFKUCqkDZkCLEgK8gR8oB8oWAoDIqCeFAqlAPthgqhUqgKqoOaoJ+gc9Bl6AY0BD2ExqEZ6E/oE4zAJJgOy8FqsB7Mgm1hd9gP3gRHwUlwFpwH74Mr4Hr4FNwBX4ZvwSOwAH4FzyMAISIMRBHRQViIPeKFhCCRCB/ZjhQg5Ug90op0I/3IPUSAzCIfURgUDcVE6aAsUC4ofxQblYTajipCVaFOojpQfah7qHHUHOormoyWRWujzdGu6CB0FDodnY8uRzei29FX0SPoSfR7DAbDwKhjTDEumGBMLCYbU4Q5jGnDXMIMYSYw81gsVgqrjbXEemHDsSnYfGwl9hT2InYYO4n9gCPiFHCGOCdc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IG9iagpbL0lDQ0Jhc2VkIDIgMCBSXQplbmRvYmoKNSAwIG9iago8PAogIC9UeXBlIC9NZXRhZGF0YQogIC9TdWJ0eXBlIC9YTUwKICAvTGVuZ3RoIDYgMCBSCj4+CnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgcmRmOmFib3V0PSIiPgo8ZGM6Zm9ybWF0PmFwcGxpY2F0aW9uL3BkZjwvZGM6Zm9ybWF0Pgo8ZGM6bGFuZ3VhZ2U+ZW48L2RjOmxhbmd1YWdlPgo8ZGM6ZGF0ZT4yMDE5LTA4LTIwVDE2OjEzOjMwWjwvZGM6ZGF0ZT4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24geG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIiByZGY6YWJvdXQ9IiI+CjxwZGY6UHJvZHVjZXI+QXBhY2hlIEZPUCBWZXJzaW9uIDIuMTwvcGRmOlByb2R1Y2VyPgo8cGRmOlBERlZlcnNpb24+MS40PC9wZGY6UERGVmVyc2lvbj4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24geG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiByZGY6YWJvdXQ9IiI+Cjx4bXA6Q3JlYXRvclRvb2w+QXBhY2hlIEZPUCBWZXJzaW9uIDIuMTwveG1wOkNyZWF0b3JUb29sPgo8eG1wOk1ldGFkYXRhRGF0ZT4yMDE5LTA4LTIwVDE2OjEzOjMwWjwveG1wOk1ldGFkYXRhRGF0ZT4KPHhtcDpDcmVhdGVEYXRlPjIwMTktMDgtMjBUMTY6MTM6MzBaPC94bXA6Q3JlYXRlRGF0ZT4KPC9yZGY6RGVzY3JpcHRpb24+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VHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMiAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago0OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDY3OS42MjkgMTE3LjE5IDY4OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDcgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMxLjY4OSA2NzkuNjI5IDUzOS45OTkgNjg5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0NyAwIFIKL0ggL0kKCj4+CmVuZG9iago1MCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyNSAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago1MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDY2Ny42MjkgMTM3LjExNiA2NzcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDUwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjUyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNjY3LjYyOSA1MzkuOTk4IDY3Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNTAgMCBSCi9IIC9JCgo+PgplbmRvYmoKNTMgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjUgMCBSIC9YWVogNzIuMCA3MDAuOCBudWxsXQo+PgplbmRvYmoKNTQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjU1LjYyOSAxODMuNzM5IDY2NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNTMgMCBSCi9IIC9JCgo+PgplbmRvYmoKNTUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjg0OCA2NTUuNjI5IDU0MC4yMDggNjY1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA1MyAwIFIKL0ggL0kKCj4+CmVuZG9iago1NiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyNSAwIFIgL1hZWiA3Mi4wIDY0NC43MjggbnVsbF0KPj4KZW5kb2JqCjU3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDY0My42MjkgMjAwLjk1MSA2NTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDU2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjU4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNjQzLjYyOSA1MzkuOTk4IDY1My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNTYgMCBSCi9IIC9JCgo+PgplbmRvYmoKNTkgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjUgMCBSIC9YWVogNzIuMCA1ODguNjU2IG51bGxdCj4+CmVuZG9iago2MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2MzEuNjI5IDE3OC40OTkgNjQxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA1OSAwIFIKL0ggL0kKCj4+CmVuZG9iago2MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDYzMS42MjkgNTM5Ljk5OCA2NDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDU5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjYyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI1IDAgUiAvWFlaIDcyLjAgNTMyLjU4NCBudWxsXQo+PgplbmRvYmoKNjMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjE5LjYyOSAyMDQuOTk5IDYyOS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjIgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA2MTkuNjI5IDUzOS45OTggNjI5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA2MiAwIFIKL0ggL0kKCj4+CmVuZG9iago2NSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyNSAwIFIgL1hZWiA3Mi4wIDQ3Ni41MTIgbnVsbF0KPj4KZW5kb2JqCjY2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDYwNy42MjkgMjc1LjI5NCA2MTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDY1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjY3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNjA3LjYyOSA1MzkuOTk4IDYxNy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjUgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjUgMCBSIC9YWVogNzIuMCAzOTYuNDQgbnVsbF0KPj4KZW5kb2JqCjY5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDU5NS42MjkgMzQxLjg1OSA2MDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDY4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjcwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC41MjQgNTk1LjYyOSA1NDAuODg0IDYwNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjggMCBSCi9IIC9JCgo+PgplbmRvYmoKNzEgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjUgMCBSIC9YWVogNzIuMCAzNDAuMzY4IG51bGxdCj4+CmVuZG9iago3MiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1ODMuNjI5IDE5MS4wNjkgNTkzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3MSAwIFIKL0ggL0kKCj4+CmVuZG9iago3MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDU4My42MjkgNTM5Ljk5OCA1OTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDcxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjc0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI1IDAgUiAvWFlaIDcyLjAgMjg0LjI5NiBudWxsXQo+PgplbmRvYmoKNzUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTcxLjYyOSAyNDkuNjMxIDU4MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNzQgMCBSCi9IIC9JCgo+PgplbmRvYmoKNzYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA1NzEuNjI5IDUzOS45OTggNTgxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3NCAwIFIKL0ggL0kKCj4+CmVuZG9iago3NyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyNSAwIFIgL1hZWiA3Mi4wIDIyOC4yMjQgbnVsbF0KPj4KZW5kb2JqCjc4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDU1OS42MjkgMTkzLjA1NSA1NjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDc3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjc5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNTU5LjYyOSA1MzkuOTk4IDU2OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNzcgMCBSCi9IIC9JCgo+PgplbmRvYmoKODAgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjUgMCBSIC9YWVogNzIuMCAxNzIuMTUyIG51bGxdCj4+CmVuZG9iago4MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1NDcuNjI5IDI4NS4zOTggNTU3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4MCAwIFIKL0ggL0kKCj4+CmVuZG9iago4MiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNTc4IDU0Ny42MjkgNTQwLjkzOCA1NTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDgwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjgzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI1IDAgUiAvWFlaIDcyLjAgMTE2LjA4IG51bGxdCj4+CmVuZG9iago4NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1MzUuNjI5IDMxMy40ODcgNTQ1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4MyAwIFIKL0ggL0kKCj4+CmVuZG9iago4NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDUzNS42MjkgNTM5Ljk5OCA1NDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDgzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjg2IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI4IDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjg3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDUyMy42MjkgMjEyLjQ2OSA1MzMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDg2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjg4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNTIzLjYyOSA1MzkuOTk4IDUzMy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODYgMCBSCi9IIC9JCgo+PgplbmRvYmoKODkgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCA2ODMuNiBudWxsXQo+PgplbmRvYmoKOTAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTExLjYyOSAyOTEuMDYxIDUyMS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODkgMCBSCi9IIC9JCgo+PgplbmRvYmoKOTEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA1MTEuNjI5IDUzOS45OTggNTIxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4OSAwIFIKL0ggL0kKCj4+CmVuZG9iago5MiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDYyOS4yIG51bGxdCj4+CmVuZG9iago5MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0OTkuNjI5IDIyMy4xMzYgNTA5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5MiAwIFIKL0ggL0kKCj4+CmVuZG9iago5NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuODA4IDQ5OS42MjkgNTQwLjE2OCA1MDkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDkyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjk1IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzMxIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjk2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgNDg3LjYyOSAyMDIuMzk2IDQ5Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgOTUgMCBSCi9IIC9JCgo+PgplbmRvYmoKOTcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA0ODcuNjI5IDUzOS45OTggNDk3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5NSAwIFIKL0ggL0kKCj4+CmVuZG9iago5OCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszMSAwIFIgL1hZWiA3Mi4wIDcwMC44IG51bGxdCj4+CmVuZG9iago5OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0NzUuNjI5IDE3My40MDggNDg1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5OCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA0NzUuNjI5IDUzOS45OTggNDg1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5OCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDEgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzEgMCBSIC9YWVogNzIuMCA2MjYuNCBudWxsXQo+PgplbmRvYmoKMTAyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQ2My42MjkgMTY0LjkxMyA0NzMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEwMSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjgwNyA0NjMuNjI5IDU0MC4xNjcgNDczLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMDEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTA0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzMxIDAgUiAvWFlaIDcyLjAgNTU4LjAgbnVsbF0KPj4KZW5kb2JqCjEwNSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0NTEuNjI5IDIwOC40MjEgNDYxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMDQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTA2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNDUxLjYyOSA1MzkuOTk4IDQ2MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTA0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwNyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszMSAwIFIgL1hZWiA3Mi4wIDQ4OS42IG51bGxdCj4+CmVuZG9iagoxMDggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDM5LjYyOSAyMjEuNDA4IDQ0OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTA3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwOSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDQzOS42MjkgNTM5Ljk5OCA0NDkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEwNyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTAgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzcgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKMTExIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgNDI3LjYyOSAxNDkuMzkgNDM3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTEyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNDI3LjYyOSA1MzkuOTk4IDQzNy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTEwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjExMyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszNyAwIFIgL1hZWiA3Mi4wIDYzMi44IG51bGxdCj4+CmVuZG9iagoxMTQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDE1LjYyOSAxOTkuMDA2IDQyNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTEzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjExNSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDQxNS42MjkgNTM5Ljk5OCA0MjUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExMyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzcgMCBSIC9YWVogNzIuMCA1NDQuNCBudWxsXQo+PgplbmRvYmoKMTE3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQwMy42MjkgMTkxLjg2MyA0MTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExNiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA0MDMuNjI5IDUzOS45OTggNDEzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTE5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQwIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjEyMCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDM5MS42MjkgMTQ2LjUxMyA0MDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExOSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCAzOTEuNjI5IDUzOS45OTggNDAxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTIyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQwIDAgUiAvWFlaIDcyLjAgNjY2LjggbnVsbF0KPj4KZW5kb2JqCjEyMyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzNzkuNjI5IDI4MC4xMTcgMzg5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTI0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggMzc5LjYyOSA1MzkuOTk4IDM4OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTIyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjEyNSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs0MCAwIFIgL1hZWiA3Mi4wIDYwMC40IG51bGxdCj4+CmVuZG9iagoxMjYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMzY3LjYyOSAyMTcuMTUyIDM3Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTI1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEyNyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDM2Ny42MjkgNTM5Ljk5OCAzNzcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyNSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDAgMCBSIC9YWVogNzIuMCA1NTguMCBudWxsXQo+PgplbmRvYmoKMTI5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDM1NS42MjkgMjI0Ljk4NiAzNjUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyOCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCAzNTUuNjI5IDUzOS45OTggMzY1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjggMCBSCi9IIC9JCgo+PgplbmRvYmoKMTMxIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjEzMiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDM0My42MjkgMTYxLjc4NCAzNTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzMSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCAzNDMuNjI5IDUzOS45OTggMzUzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMzEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTM0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ2IDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjEzNSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDMzMS42MjkgMTUyLjEwMiAzNDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzNCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCAzMzEuNjI5IDUzOS45OTggMzQxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMzQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTM3IDAgb2JqCjw8IC9MZW5ndGggMTM4IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeJzN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IC9yIC9TdCAyID4+IDIgPDwgL1MgL3IgL1N0IDMgPj4gMyA8PCAvUyAvRCA+Pl0gPj4KZW5kb2JqCnhyZWYKMCAxNzAKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxMzkgMDAwMDAgbiAKMDAwMDAwMjY3NyAwMDAwMCBuIAowMDAwMDAyNjk3IDAwMDAwIG4gCjAwMDAwMDI3MzAgMDAwMDAgbiAKMDAwMDAwMzY2MiAwMDAwMCBuIAowMDAwMDAzNjgxIDAwMDAwIG4gCjAwMDAwNTIyMDYgMDAwMDAgbiAKMDAwMDA1MjIyNyAwMDAwMCBuIAowMDAwMTA1NDg3IDAwMDAwIG4gCjAwMDAxMDU1MDkgMDAwMDAgbiAKMDAwMDEwNjAxNCAwMDAwMCBuIAowMDAwMTA2MDM0IDAwMDAwIG4gCjAwMDAyMDY3MjkgMDAwMDAgbiAKMDAwMDIwNjQ5NSAwMDAwMCBuIAowMDAwMTA2MjI4IDAwMDAwIG4gCjAwMDAxMTIzOTkgMDAwMDAgbiAKMDAwMDExMjQyMCAwMDAwMCBuIAowMDAwMTE5NjAwIDAwMDAwIG4gCjAwMDAxMTk2MjEgMDAwMDAgbiAKMDAwMDEyMDUzMSAwMDAwMCBuIAowMDAwMTIwNTUxIDAwMDAwIG4gCjAwMDAxMjA3NDUgMDAwMDAgbiAKMDAwMDEyMzM0OSAwMDAwMCBuIAowMDAwMTIzMzcwIDAwMDAwIG4gCjAwMDAxMjM1NjQgMDAwMDAgbiAKMDAwMDEyNDQ5MSAwMDAwMCBuIAowMDAwMTI0NTExIDAwMDAwIG4gCjAwMDAxMjQ3MDUgMDAwMDAgbiAKMDAwMDEyNTU2OSAwMDAwMCBuIAowMDAwMTI1NTg5IDAwMDAwIG4gCjAwMDAxMjU3ODMgMDAwMDAgbiAKMDAwMDEyNTg3OCAwMDAwMCBuIAowMDAwMTI2MDE0IDAwMDAwIG4gCjAwMDAxMjc1NDIgMDAwMDAgbiAKMDAwMDEyNzU2MyAwMDAwMCBuIAowMDAwMTI3NTkwIDAwMDAwIG4gCjAwMDAxMjc4MDEgMDAwMDAgbiAKMDAwMDEyODk2MCAwMDAwMCBuIAowMDAwMTI4OTgxIDAwMDAwIG4gCjAwMDAxMjkxNzUgMDAwMDAgbiAKMDAwMDEyOTg0MyAwMDAwMCBuIAowMDAwMTI5ODYzIDAwMDAwIG4gCjAwMDAxMzAwNTcgMDAwMDAgbiAKMDAwMDEzMTE3MiAwMDAwMCBuIAowMDAwMTMxMTkzIDAwMDAwIG4gCjAwMDAxMzEzODcgMDAwMDAgbiAKMDAwMDEzMTQ2NSAwMDAwMCBuIAowMDAwMTMxNjAxIDAwMDAwIG4gCjAwMDAxMzE3NDEgMDAwMDAgbiAKMDAwMDEzMTgxOSAwMDAwMCBuIAowMDAwMTMxOTU2IDAwMDAwIG4gCjAwMDAxMzIwOTYgMDAwMDAgbiAKMDAwMDEzMjE3NCAwMDAwMCBuIAowMDAwMTMyMzEyIDAwMDAwIG4gCjAwMDAxMzI0NTIgMDAwMDAgbiAKMDAwMDEzMjUzMiAwMDAwMCBuIAowMDAwMTMyNjcwIDAwMDAwIG4gCjAwMDAxMzI4MTAgMDAwMDAgbiAKMDAwMDEzMjg5MCAwMDAwMCBuIAowMDAwMTMzMDI4IDAwMDAwIG4gCjAwMDAxMzMxNjggMDAwMDAgbiAKMDAwMDEzMzI0OCAwMDAwMCBuIAowMDAwMTMzMzg2IDAwMDAwIG4gCjAwMDAxMzM1MjYgMDAwMDAgbiAKMDAwMDEzMzYwNiAwMDAwMCBuIAowMDAwMTMzNzQ0IDAwMDAwIG4gCjAwMDAxMzM4ODQgMDAwMDAgbiAKMDAwMDEzMzk2MyAwMDAwMCBuIAowMDAwMTM0MTAxIDAwMDAwIG4gCjAwMDAxMzQyNDEgMDAwMDAgbiAKMDAwMDEzNDMyMSAwMDAwMCBuIAowMDAwMTM0NDU5IDAwMDAwIG4gCjAwMDAxMzQ1OTkgMDAwMDAgbiAKMDAwMDEzNDY3OSAwMDAwMCBuIAowMDAwMTM0ODE3IDAwMDAwIG4gCjAwMDAxMzQ5NTcgMDAwMDAgbiAKMDAwMDEzNTAzNyAwMDAwMCBuIAowMDAwMTM1MTc1IDAwMDAwIG4gCjAwMDAxMzUzMTUgMDAwMDAgbiAKMDAwMDEzNTM5NSAwMDAwMCBuIAowMDAwMTM1NTMzIDAwMDAwIG4gCjAwMDAxMzU2NzMgMDAwMDAgbiAKMDAwMDEzNTc1MiAwMDAwMCBuIAowMDAwMTM1ODkwIDAwMDAwIG4gCjAwMDAxMzYwMzAgMDAwMDAgbiAKMDAwMDEzNjEwOCAwMDAwMCBuIAowMDAwMTM2MjQ2IDAwMDAwIG4gCjAwMDAxMzYzODYgMDAwMDAgbiAKMDAwMDEzNjQ2NCAwMDAwMCBuIAowMDAwMTM2NjAyIDAwMDAwIG4gCjAwMDAxMzY3NDIgMDAwMDAgbiAKMDAwMDEzNjgyMCAwMDAwMCBuIAowMDAwMTM2OTU4IDAwMDAwIG4gCjAwMDAxMzcwOTggMDAwMDAgbiAKMDAwMDEzNzE3NiAwMDAwMCBuIAowMDAwMTM3MzEzIDAwMDAwIG4gCjAwMDAxMzc0NTMgMDAwMDAgbiAKMDAwMDEzNzUzMSAwMDAwMCBuIAowMDAwMTM3NjY5IDAwMDAwIG4gCjAwMDAxMzc4MTAgMDAwMDAgbiAKMDAwMDEzNzg4OSAwMDAwMCBuIAowMDAwMTM4MDI5IDAwMDAwIG4gCjAwMDAxMzgxNzEgMDAwMDAgbiAKMDAwMDEzODI1MCAwMDAwMCBuIAowMDAwMTM4MzkwIDAwMDAwIG4gCjAwMDAxMzg1MzIgMDAwMDAgbiAKMDAwMDEzODYxMSAwMDAwMCBuIAowMDAwMTM4NzUxIDAwMDAwIG4gCjAwMDAxMzg4OTMgMDAwMDAgbiAKMDAwMDEzODk3MiAwMDAwMCBuIAowMDAwMTM5MTEwIDAwMDAwIG4gCjAwMDAxMzkyNTIgMDAwMDAgbiAKMDAwMDEzOTMzMSAwMDAwMCBuIAowMDAwMTM5NDcxIDAwMDAwIG4gCjAwMDAxMzk2MTMgMDAwMDAgbiAKMDAwMDEzOTY5MiAwMDAwMCBuIAowMDAwMTM5ODMyIDAwMDAwIG4gCjAwMDAxMzk5NzQgMDAwMDAgbiAKMDAwMDE0MDA1MyAwMDAwMCBuIAowMDAwMTQwMTkyIDAwMDAwIG4gCjAwMDAxNDAzMzQgMDAwMDAgbiAKMDAwMDE0MDQxMyAwMDAwMCBuIAowMDAwMTQwNTUzIDAwMDAwIG4gCjAwMDAxNDA2OTUgMDAwMDAgbiAKMDAwMDE0MDc3NCAwMDAwMCBuIAowMDAwMTQwOTE0IDAwMDAwIG4gCjAwMDAxNDEwNTYgMDAwMDAgbiAKMDAwMDE0MTEzNSAwMDAwMCBuIAowMDAwMTQxMjc1IDAwMDAwIG4gCjAwMDAxNDE0MTcgMDAwMDAgbiAKMDAwMDE0MTQ5NiAwMDAwMCBuIAowMDAwMTQxNjM1IDAwMDAwIG4gCjAwMDAxNDE3NzcgMDAwMDAgbiAKMDAwMDE0MTg1NiAwMDAwMCBuIAowMDAwMTQxOTk1IDAwMDAwIG4gCjAwMDAxNDIxMzcgMDAwMDAgbiAKMDAwMDE2MjQ5NiAwMDAwMCBuIAowMDAwMTYyNTE5IDAwMDAwIG4gCjAwMDAxNjI5ODUgMDAwMDAgbiAKMDAwMDE2MzE5OSAwMDAwMCBuIAowMDAwMTYzNDY0IDAwMDAwIG4gCjAwMDAxNzc4MDcgMDAwMDAgbiAKMDAwMDE3Nzc4NCAwMDAwMCBuIAowMDAwMTc3OTA3IDAwMDAwIG4gCjAwMDAxNzc5MjcgMDAwMDAgbiAKMDAwMDE3ODU2NiAwMDAwMCBuIAowMDAwMTc4MDkyIDAwMDAwIG4gCjAwMDAxNzkxMzEgMDAwMDAgbiAKMDAwMDE3OTE1MiAwMDAwMCBuIAowMDAwMTc5NDEyIDAwMDAwIG4gCjAwMDAxOTU2MDAgMDAwMDAgbiAKMDAwMDE5NTU3NyAwMDAwMCBuIAowMDAwMTk1NzA1IDAwMDAwIG4gCjAwMDAxOTU3MjUgMDAwMDAgbiAKMDAwMDE5NjQwOSAwMDAwMCBuIAowMDAwMTk1ODg1IDAwMDAwIG4gCjAwMDAxOTcwMzggMDAwMDAgbiAKMDAwMDE5NzA1OSAwMDAwMCBuIAowMDAwMTk3MzIxIDAwMDAwIG4gCjAwMDAyMDU0NDQgMDAwMDAgbiAKMDAwMDIwNTQyMiAwMDAwMCBuIAowMDAwMjA1NTQyIDAwMDAwIG4gCjAwMDAyMDU1NjIgMDAwMDAgbiAKMDAwMDIwNjA1MyAwMDAwMCBuIAowMDAwMjA1NzI2IDAwMDAwIG4gCjAwMDAyMDY0NzQgMDAwMDAgbiAKMDAwMDIwNjYyMCAwMDAwMCBuIAowMDAwMjA2OTU5IDAwMDAwIG4gCnRyYWlsZXIKPDwKICAvUm9vdCAxNjggMCBSCiAgL0luZm8gMSAwIFIKICAvSUQgWzw1QTI5QzlFRjhGQ0M2NUIxNzVDNEQ1MEY4RjhEODkyQj4gPDVBMjlDOUVGOEZDQzY1QjE3NUM0RDUwRjhGOEQ4OTJCPl0KICAvU2l6ZSAxNzAK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IG9iagpbL0lDQ0Jhc2VkIDIgMCBSXQplbmRvYmoKNSAwIG9iago8PAogIC9UeXBlIC9NZXRhZGF0YQogIC9TdWJ0eXBlIC9YTUwKICAvTGVuZ3RoIDYgMCBSCj4+CnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPgo8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgo8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgcmRmOmFib3V0PSIiPgo8ZGM6Zm9ybWF0PmFwcGxpY2F0aW9uL3BkZjwvZGM6Zm9ybWF0Pgo8ZGM6bGFuZ3VhZ2U+ZGU8L2RjOmxhbmd1YWdlPgo8ZGM6ZGF0ZT4yMDE5LTA4LTIwVDE2OjEzOjMxWjwvZGM6ZGF0ZT4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24geG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIiByZGY6YWJvdXQ9IiI+CjxwZGY6UHJvZHVjZXI+QXBhY2hlIEZPUCBWZXJzaW9uIDIuMTwvcGRmOlByb2R1Y2VyPgo8cGRmOlBERlZlcnNpb24+MS40PC9wZGY6UERGVmVyc2lvbj4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24geG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiByZGY6YWJvdXQ9IiI+Cjx4bXA6Q3JlYXRvclRvb2w+QXBhY2hlIEZPUCBWZXJzaW9uIDIuMTwveG1wOkNyZWF0b3JUb29sPgo8eG1wOk1ldGFkYXRhRGF0ZT4yMDE5LTA4LTIwVDE2OjEzOjMxWjwveG1wOk1ldGFkYXRhRGF0ZT4KPHhtcDpDcmVhdGVEYXRlPjIwMTktMDgtMjBUMTY6MTM6MzFaPC94bXA6Q3JlYXRlRGF0ZT4KPC9yZGY6RGVzY3JpcHRpb24+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MCBdCi9BIDUwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjUyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNjY3LjYyOSA1MzkuOTk4IDY3Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNTAgMCBSCi9IIC9JCgo+PgplbmRvYmoKNTMgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjUgMCBSIC9YWVogNzIuMCA3MDAuOCBudWxsXQo+PgplbmRvYmoKNTQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjU1LjYyOSAxODIuODkxIDY2NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNTMgMCBSCi9IIC9JCgo+PgplbmRvYmoKNTUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzNyA2NTUuNjI5IDUzOS45OTcgNjY1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA1MyAwIFIKL0ggL0kKCj4+CmVuZG9iago1NiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyNSAwIFIgL1hZWiA3Mi4wIDY0NS44MTkgbnVsbF0KPj4KZW5kb2JqCjU3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDY0My42MjkgMjAwLjExMyA2NTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDU2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjU4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzcgNjQzLjYyOSA1MzkuOTk3IDY1My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNTYgMCBSCi9IIC9JCgo+PgplbmRvYmoKNTkgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjUgMCBSIC9YWVogNzIuMCA1OTAuODM4IG51bGxdCj4+CmVuZG9iago2MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2MzEuNjI5IDE3My4zMjkgNjQxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA1OSAwIFIKL0ggL0kKCj4+CmVuZG9iago2MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM3IDYzMS42MjkgNTM5Ljk5NyA2NDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDU5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjYyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI1IDAgUiAvWFlaIDcyLjAgNTM1Ljg1NyBudWxsXQo+PgplbmRvYmoKNjMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjE5LjYyOSAxODUuNzIgNjI5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA2MiAwIFIKL0ggL0kKCj4+CmVuZG9iago2NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM3IDYxOS42MjkgNTM5Ljk5NyA2MjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDYyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjY1IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI1IDAgUiAvWFlaIDcyLjAgNDgwLjg3NiBudWxsXQo+PgplbmRvYmoKNjYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjA3LjYyOSAzMDcuMzY0IDYxNy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjUgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA2MDcuNjI5IDUzOS45OTggNjE3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA2NSAwIFIKL0ggL0kKCj4+CmVuZG9iago2OCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyNSAwIFIgL1hZWiA3Mi4wIDQwMS44OTUgbnVsbF0KPj4KZW5kb2JqCjY5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDU5NS42MjkgMzc5LjMgNjA1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA2OCAwIFIKL0ggL0kKCj4+CmVuZG9iago3MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuMjA0IDU5NS42MjkgNTQwLjU2NCA2MDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDY4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjcxIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI1IDAgUiAvWFlaIDcyLjAgMzU4LjkxNCBudWxsXQo+PgplbmRvYmoKNzIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTgzLjYyOSAyNTEuNjM5IDU5My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNzEgMCBSCi9IIC9JCgo+PgplbmRvYmoKNzMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA1ODMuNjI5IDUzOS45OTggNTkzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3MSAwIFIKL0ggL0kKCj4+CmVuZG9iago3NCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyNSAwIFIgL1hZWiA3Mi4wIDMwMy45MzMgbnVsbF0KPj4KZW5kb2JqCjc1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDU3MS42MjkgMjUxLjk3NSA1ODEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDc0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjc2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNTcxLjYyOSA1MzkuOTk4IDU4MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNzQgMCBSCi9IIC9JCgo+PgplbmRvYmoKNzcgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjUgMCBSIC9YWVogNzIuMCAyMzYuOTUyIG51bGxdCj4+CmVuZG9iago3OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1NTkuNjI5IDE4OC41NzkgNTY5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3NyAwIFIKL0ggL0kKCj4+CmVuZG9iago3OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDU1OS42MjkgNTM5Ljk5OCA1NjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDc3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjgwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI1IDAgUiAvWFlaIDcyLjAgMTgxLjk3MSBudWxsXQo+PgplbmRvYmoKODEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTQ3LjYyOSAyODcuNDI0IDU1Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODAgMCBSCi9IIC9JCgo+PgplbmRvYmoKODIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA1NDcuNjI5IDUzOS45OTggNTU3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4MCAwIFIKL0ggL0kKCj4+CmVuZG9iago4MyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyNSAwIFIgL1hZWiA3Mi4wIDEyNi45OSBudWxsXQo+PgplbmRvYmoKODQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTM1LjYyOSAzNTQuODgzIDU0NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODMgMCBSCi9IIC9JCgo+PgplbmRvYmoKODUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCA1MzUuNjI5IDUzOS45OTggNTQ1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4MyAwIFIKL0ggL0kKCj4+CmVuZG9iago4NiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago4NyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1MjMuNjI5IDIxNi4xNDkgNTMzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4NiAwIFIKL0ggL0kKCj4+CmVuZG9iago4OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDUyMy42MjkgNTM5Ljk5OCA1MzMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDg2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjg5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI4IDAgUiAvWFlaIDcyLjAgNjgzLjYgbnVsbF0KPj4KZW5kb2JqCjkwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDUxMS42MjkgMzUyLjE3NSA1MjEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDg5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjkxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNTExLjYyOSA1MzkuOTk4IDUyMS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODkgMCBSCi9IIC9JCgo+PgplbmRvYmoKOTIgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCA2MjkuMiBudWxsXQo+PgplbmRvYmoKOTMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDk5LjYyOSAyMjQuMjU4IDUwOS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgOTIgMCBSCi9IIC9JCgo+PgplbmRvYmoKOTQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjgwNyA0OTkuNjI5IDU0MC4xNjcgNTA5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5MiAwIFIKL0ggL0kKCj4+CmVuZG9iago5NSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszMSAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago5NiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDQ4Ny42MjkgMjA0LjQzNSA0OTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDk1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjk3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNDg3LjYyOSA1MzkuOTk4IDQ5Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgOTUgMCBSCi9IIC9JCgo+PgplbmRvYmoKOTggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzEgMCBSIC9YWVogNzIuMCA3MDAuOCBudWxsXQo+PgplbmRvYmoKOTkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDc1LjYyOSAxNzMuNDA4IDQ4NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgOTggMCBSCi9IIC9JCgo+PgplbmRvYmoKMTAwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNDc1LjYyOSA1MzkuOTk4IDQ4NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgOTggMCBSCi9IIC9JCgo+PgplbmRvYmoKMTAxIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzMxIDAgUiAvWFlaIDcyLjAgNjI2LjQgbnVsbF0KPj4KZW5kb2JqCjEwMiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0NjMuNjI5IDE1MS41MzUgNDczLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMDEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTAzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzcgNDYzLjYyOSA1MzkuOTk3IDQ3My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTAxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwNCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszMSAwIFIgL1hZWiA3Mi4wIDU1OC4wIG51bGxdCj4+CmVuZG9iagoxMDUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDUxLjYyOSAxOTUuNjEgNDYxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMDQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTA2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNDUxLjYyOSA1MzkuOTk4IDQ2MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTA0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwNyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszMSAwIFIgL1hZWiA3Mi4wIDQ4OS42IG51bGxdCj4+CmVuZG9iagoxMDggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDM5LjYyOSAyMjEuNzk0IDQ0OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTA3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwOSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDQzOS42MjkgNTM5Ljk5OCA0NDkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEwNyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTAgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzcgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKMTExIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgNDI3LjYyOSAxNDkuMzkgNDM3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTEyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggNDI3LjYyOSA1MzkuOTk4IDQzNy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTEwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjExMyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszNyAwIFIgL1hZWiA3Mi4wIDY0NC44IG51bGxdCj4+CmVuZG9iagoxMTQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDE1LjYyOSAxOTkuMDA2IDQyNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTEzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjExNSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDQxNS42MjkgNTM5Ljk5OCA0MjUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExMyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzcgMCBSIC9YWVogNzIuMCA1NTYuNCBudWxsXQo+PgplbmRvYmoKMTE3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQwMy42MjkgMTkzLjc3OCA0MTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExNiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzNyA0MDMuNjI5IDUzOS45OTcgNDEzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTE5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQwIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjEyMCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDM5MS42MjkgMTYzLjI2OCA0MDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExOSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCAzOTEuNjI5IDUzOS45OTggNDAxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTIyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQwIDAgUiAvWFlaIDcyLjAgNjY2LjggbnVsbF0KPj4KZW5kb2JqCjEyMyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzNzkuNjI5IDI4OS40MSAzODkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyMiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMzLjYzOCAzNzkuNjI5IDUzOS45OTggMzg5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTI1IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQwIDAgUiAvWFlaIDcyLjAgNTg4LjQgbnVsbF0KPj4KZW5kb2JqCjEyNiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzNjcuNjI5IDI0MC4wMjcgMzc3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTI3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMy42MzggMzY3LjYyOSA1MzkuOTk4IDM3Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTI1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEyOCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs0MCAwIFIgL1hZWiA3Mi4wIDU0Ni4wIG51bGxdCj4+CmVuZG9iagoxMjkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMzU1LjYyOSAyNDcuMTQyIDM2NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTI4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEzMCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDM1NS42MjkgNTM5Ljk5OCAzNjUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyOCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzEgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDMgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKMTMyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgMzQzLjYyOSAxNjAuODY4IDM1My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTMxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjEzMyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzMuNjM4IDM0My42MjkgNTM5Ljk5OCAzNTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzMSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzQgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDYgMCBSIC9YWVog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r/DxMq1C3dz+bV8U/O//AkYKNg4KZW5kc3RyZWFtCmVuZG9iagoxMzggMCBvYmoKMTk0NTIKZW5kb2JqCjEzOSAwIG9iagpbCjQ4IDAgUgo0OSAwIFIKNTEgMCBSCjUyIDAgUgo1NCAwIFIKNTUgMCBSCjU3IDAgUgo1OCAwIFIKNjAgMCBSCjYxIDAgUgo2MyAwIFIKNjQgMCBSCjY2IDAgUgo2NyAwIFIKNjkgMCBSCjcwIDAgUgo3MiAwIFIKNzMgMCBSCjc1IDAgUgo3NiAwIFIKNzggMCBSCjc5IDAgUgo4MSAwIFIKODIgMCBSCjg0IDAgUgo4NSAwIFIKODcgMCBSCjg4IDAgUgo5MCAwIFIKOTEgMCBSCjkzIDAgUgo5NCAwIFIKOTYgMCBSCjk3IDAgUgo5OSAwIFIKMTAwIDAgUgoxMDIgMCBSCjEwMyAwIFIKMTA1IDAgUgoxMDYgMCBSCjEwOCAwIFIKMTA5IDAgUgoxMTEgMCBSCjExMiAwIFIKMTE0IDAgUgoxMTUgMCBSCjExNyAwIFIKMTE4IDAgUgoxMjAgMCBSCjEyMSAwIFIKMTIzIDAgUgoxMjQgMCBSCjEyNiAwIFIKMTI3IDAgUgoxMjkgMCBSCjEzMCAwIFIKMTMyIDAgUgoxMzMgMCBSCjEzNSAwIFIKMTM2IDAgUgpdCmVuZG9iagoxNDAgMCBvYmoKPDwKICAvUmVzb3VyY2VzIDE0IDAgUgogIC9UeXBlIC9QYWdlCiAgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KICAvQ3JvcEJveCBbMCAwIDYxMiA3OTJdCiAgL0JsZWVkQm94IFswIDAgNjEyIDc5Ml0KICAvVHJpbUJveCBbMCAwIDYxMiA3OTJdCiAgL1BhcmVudCAxNSAwIFIKICAvQW5ub3RzIDEzOSAwIFIKICAvQ29udGVudHMgMTM3IDAgUgo+PgplbmRvYmoKMTQxIDAgb2JqCjw8CiAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yCiAgL0ZvbnROYW1lIC9FQUFBQUErRGVqYVZ1U2Fucy1Cb2xkCiAgL0ZvbnRCQm94IFstMTA2OSAtNDE1IDE5NzUgMTE3NF0KICAvRmxhZ3MgMzMKICAvQ2FwSGVpZ2h0IDcyOQogIC9Bc2NlbnQgMTE3NAogIC9EZXNj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iK+9WWdsa7ycrXU95xHjZq9t7jRts2oGs2bx8wvfaMV/CmVuZHN0cmVhbQplbmRvYmoKMTY3IDAgb2JqCjM0MwplbmRvYmoKMTUgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzCi9Db3VudCAxMAovS2lkcyBbMTMgMCBSIDE0MCAwIFIgMjIgMCBSIDI1IDAgUiAyOCAwIFIgMzEgMCBSIDM3IDAgUiA0MCAwIFIgNDMgMCBSIDQ2IDAgUiBdID4+CmVuZG9iagoxNjggMCBvYmoKPDwKICAvVHlwZSAvQ2F0YWxvZwogIC9QYWdlcyAxNSAwIFIKICAvTGFuZyAoZGUpCiAgL01ldGFkYXRhIDUgMCBSCiAgL1BhZ2VMYWJlbHMgMTY5IDAgUgo+PgplbmRvYmoKMTQgMCBvYmoKPDwKICAvRm9udCA8PAogIC9GMTYgMTQ2IDAgUgogIC9GMTUgMTU1IDAgUgogIC9GMTkgMTY0IDAgUgo+PgogIC9Qcm9jU2V0IFsvUERGIC9JbWFnZUIgL0ltYWdlQyAvVGV4dF0KICAvWE9iamVjdCA8PAogIC9JbTEgNyAwIFIKICAvSW0yIDkgMCBSCiAgL0ltMyAxNiAwIFIKICAvSW00IDE4IDAgUgo+PgogIC9Db2xvclNwYWNlIDw8IC9EZWZhdWx0UkdCIDQgMCBSID4+Cj4+CmVuZG9iagoxNjkgMCBvYmoKPDwgL051bXMgWzAgPDwgL1MgL0QgPj4gMSA8PCAvUyAvciAvU3QgMiA+PiAyIDw8IC9TIC9yIC9TdCAzID4+IDMgPDwgL1MgL0QgPj5dID4+CmVuZG9iagp4cmVmCjAgMTcwCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwMTM5IDAwMDAwIG4gCjAwMDAwMDI2NzcgMDAwMDAgbiAKMDAwMDAwMjY5NyAwMDAwMCBuIAowMDAwMDAyNzMwIDAwMDAwIG4gCjAwMDAwMDM2NjIgMDAwMDAgbiAKMDAwMDAwMzY4MSAwMDAwMCBuIAowMDAwMDUyMjA2IDAwMDAwIG4gCjAwMDAwNTIyMjcgMDAwMDAgbiAKMDAwMDEwNTQ4NyAwMDAwMCBuIAowMDAwMTA1NTA5IDAwMDAwIG4gCjAwMDAxMDYwMjEgMDAwMDAgbiAKMDAwMDEwNjA0MSAwMDAwMCBuIAowMDAwMjA3MzA2IDAwMDAwIG4gCjAwMDAyMDcwNzIgMDAwMDAgbiAKMDAwMDEwNjIzNSAwMDAwMCBuIAowMDAwMTEyNDA2IDAwMDAwIG4gCjAwMDAxMTI0MjcgMDAwMDAgbiAKMDAwMDExOTYwNyAwMDAwMCBuIAowMDAwMTE5NjI4IDAwMDAwIG4gCjAwMDAxMjA2MjkgMDAwMDAgbiAKMDAwMDEyMDY0OSAwMDAwMCBuIAowMDAwMTIwODQzIDAwMDAwIG4gCjAwMDAxMjM1NzQgMDAwMDAgbiAKMDAwMDEyMzU5NSAwMDAwMCBuIAowMDAwMTIzNzg5IDAwMDAwIG4gCjAwMDAxMjQ3MzggMDAwMDAgbiAKMDAwMDEyNDc1OCAwMDAwMCBuIAowMDAwMTI0OTUyIDAwMDAwIG4gCjAwMDAxMjU4MzUgMDAwMDAgbiAKMDAwMDEyNTg1NSAwMDAwMCBuIAowMDAwMTI2MDQ5IDAwMDAwIG4gCjAwMDAxMjYxNDQgMDAwMDAgbiAKMDAwMDEyNjI4MCAwMDAwMCBuIAowMDAwMTI3Nzc3IDAwMDAwIG4gCjAwMDAxMjc3OTggMDAwMDAgbiAKMDAwMDEyNzgyNSAwMDAwMCBuIAowMDAwMTI4MDM2IDAwMDAwIG4gCjAwMDAxMjkzMDUgMDAwMDAgbiAKMDAwMDEyOTMyNiAwMDAwMCBuIAowMDAwMTI5NTIwIDAwMDAwIG4gCjAwMDAxMzAyMTQgMDAwMDAgbiAKMDAwMDEzMDIzNCAwMDAwMCBuIAowMDAwMTMwNDI4IDAwMDAwIG4gCjAwMDAxMzE1NDkgMDAwMDAgbiAKMDAwMDEzMTU3MCAwMDAwMCBuIAowMDAwMTMxNzY0IDAwMDAwIG4gCjAwMDAxMzE4NDIgMDAwMDAgbiAKMDAwMDEzMTk3NyAwMDAwMCBuIAowMDAwMTMyMTE3IDAwMDAwIG4gCjAwMDAxMzIxOTUgMDAwMDAgbiAKMDAwMDEzMjMzMSAwMDAwMCBuIAowMDAwMTMyNDcxIDAwMDAwIG4gCjAwMDAxMzI1NDkgMDAwMDAgbiAKMDAwMDEzMjY4NyAwMDAwMCBuIAowMDAwMTMyODI3IDAwMDAwIG4gCjAwMDAxMzI5MDcgMDAwMDAgbiAKMDAwMDEzMzA0NSAwMDAwMCBuIAowMDAwMTMzMTg1IDAwMDAwIG4gCjAwMDAxMzMyNjUgMDAwMDAgbiAKMDAwMDEzMzQwMyAwMDAwMCBuIAowMDAwMTMzNTQzIDAwMDAwIG4gCjAwMDAxMzM2MjMgMDAwMDAgbiAKMDAwMDEzMzc2MCAwMDAwMCBuIAowMDAwMTMzOTAwIDAwMDAwIG4gCjAwMDAxMzM5ODAgMDAwMDAgbiAKMDAwMDEzNDExOCAwMDAwMCBuIAowMDAwMTM0MjU4IDAwMDAwIG4gCjAwMDAxMzQzMzggMDAwMDAgbiAKMDAwMDEzNDQ3NCAwMDAwMCBuIAowMDAwMTM0NjE0IDAwMDAwIG4gCjAwMDAxMzQ2OTQgMDAwMDAgbiAKMDAwMDEzNDgzMiAwMDAwMCBuIAowMDAwMTM0OTcyIDAwMDAwIG4gCjAwMDAxMzUwNTIgMDAwMDAgbiAKMDAwMDEzNTE5MCAwMDAwMCBuIAowMDAwMTM1MzMwIDAwMDAwIG4gCjAwMDAxMzU0MTAgMDAwMDAgbiAKMDAwMDEzNTU0OCAwMDAwMCBuIAowMDAwMTM1Njg4IDAwMDAwIG4gCjAwMDAxMzU3NjggMDAwMDAgbiAKMDAwMDEzNTkwNiAwMDAwMCBuIAowMDAwMTM2MDQ2IDAwMDAwIG4gCjAwMDAxMzYxMjUgMDAwMDAgbiAKMDAwMDEzNjI2MyAwMDAwMCBuIAowMDAwMTM2NDAzIDAwMDAwIG4gCjAwMDAxMzY0ODEgMDAwMDAgbiAKMDAwMDEzNjYxOSAwMDAwMCBuIAowMDAwMTM2NzU5IDAwMDAwIG4gCjAwMDAxMzY4MzcgMDAwMDAgbiAKMDAwMDEzNjk3NSAwMDAwMCBuIAowMDAwMTM3MTE1IDAwMDAwIG4gCjAwMDAxMzcxOTMgMDAwMDAgbiAKMDAwMDEzNzMzMSAwMDAwMCBuIAowMDAwMTM3NDcxIDAwMDAwIG4gCjAwMDAxMzc1NDkgMDAwMDAgbiAKMDAwMDEzNzY4NiAwMDAwMCBuIAowMDAwMTM3ODI2IDAwMDAwIG4gCjAwMDAxMzc5MDQgMDAwMDAgbiAKMDAwMDEzODA0MiAwMDAwMCBuIAowMDAwMTM4MTgzIDAwMDAwIG4gCjAwMDAxMzgyNjIgMDAwMDAgbiAKMDAwMDEzODQwMiAwMDAwMCBuIAowMDAwMTM4NTQ0IDAwMDAwIG4gCjAwMDAxMzg2MjMgMDAwMDAgbiAKMDAwMDEzODc2MiAwMDAwMCBuIAowMDAwMTM4OTA0IDAwMDAwIG4gCjAwMDAxMzg5ODMgMDAwMDAgbiAKMDAwMDEzOTEyMyAwMDAwMCBuIAowMDAwMTM5MjY1IDAwMDAwIG4gCjAwMDAxMzkzNDQgMDAwMDAgbiAKMDAwMDEzOTQ4MiAwMDAwMCBuIAowMDAwMTM5NjI0IDAwMDAwIG4gCjAwMDAxMzk3MDMgMDAwMDAgbiAKMDAwMDEzOTg0MyAwMDAwMCBuIAowMDAwMTM5OTg1IDAwMDAwIG4gCjAwMDAxNDAwNjQgMDAwMDAgbiAKMDAwMDE0MDIwNCAwMDAwMCBuIAowMDAwMTQwMzQ2IDAwMDAwIG4gCjAwMDAxNDA0MjUgMDAwMDAgbiAKMDAwMDE0MDU2NCAwMDAwMCBuIAowMDAwMTQwNzA2IDAwMDAwIG4gCjAwMDAxNDA3ODUgMDAwMDAgbiAKMDAwMDE0MDkyNCAwMDAwMCBuIAowMDAwMTQxMDY2IDAwMDAwIG4gCjAwMDAxNDExNDUgMDAwMDAgbiAKMDAwMDE0MTI4NSAwMDAwMCBuIAowMDAwMTQxNDI3IDAwMDAwIG4gCjAwMDAxNDE1MDYgMDAwMDAgbiAKMDAwMDE0MTY0NiAwMDAwMCBuIAowMDAwMTQxNzg4IDAwMDAwIG4gCjAwMDAxNDE4NjcgMDAwMDAgbiAKMDAwMDE0MjAwNiAwMDAwMCBuIAowMDAwMTQyMTQ4IDAwMDAwIG4gCjAwMDAxNDIyMjcgMDAwMDAgbiAKMDAwMDE0MjM2NiAwMDAwMCBuIAowMDAwMTQyNTA4IDAwMDAwIG4gCjAwMDAxNjIwMzggMDAwMDAgbiAKMDAwMDE2MjA2MSAwMDAwMCBuIAowMDAwMTYyNTI3IDAwMDAwIG4gCjAwMDAxNjI3NDEgMDAwMDAgbiAKMDAwMDE2MzAwNiAwMDAwMCBuIAowMDAwMTc3ODMzIDAwMDAwIG4gCjAwMDAxNzc4MTAgMDAwMDAgbiAKMDAwMDE3NzkzOCAwMDAwMCBuIAowMDAwMTc3OTU4IDAwMDAwIG4gCjAwMDAxNzg2MTcgMDAwMDAgbiAKMDAwMDE3ODEyMyAwMDAwMCBuIAowMDAwMTc5MjA4IDAwMDAwIG4gCjAwMDAxNzkyMjkgMDAwMDAgbiAKMDAwMDE3OTQ4OSAwMDAwMCBuIAowMDAwMTk2MTE2IDAwMDAwIG4gCjAwMDAxOTYwOTMgMDAwMDAgbiAKMDAwMDE5NjIzMCAwMDAwMCBuIAowMDAwMTk2MjUwIDAwMDAwIG4gCjAwMDAxOTY5NTggMDAwMDAgbiAKMDAwMDE5NjQxMCAwMDAwMCBuIAowMDAwMTk3NjE1IDAwMDAwIG4gCjAwMDAxOTc2MzYgMDAwMDAgbiAKMDAwMDE5Nzg5OCAwMDAwMCBuIAowMDAwMjA2MDIxIDAwMDAwIG4gCjAwMDAyMDU5OTkgMDAwMDAgbiAKMDAwMDIwNjExOSAwMDAwMCBuIAowMDAwMjA2MTM5IDAwMDAwIG4gCjAwMDAyMDY2MzAgMDAwMDAgbiAKMDAwMDIwNjMwMyAwMDAwMCBuIAowMDAwMjA3MDUxIDAwMDAwIG4gCjAwMDAyMDcxOTcgMDAwMDAgbiAKMDAwMDIwNzUzNiAwMDAwMCBuIAp0cmFpbGVyCjw8CiAgL1Jvb3QgMTY4IDAgUgogIC9JbmZvIDEgMCBSCiAgL0lEIFs8MjdEMTQ1OTE2QkE3MkE0NzgzMTg5NDFCOENENkZFQTI+IDwyN0QxNDU5MTZCQTcyQTQ3ODMxODk0MUI4Q0Q2RkVBMj5dCiAgL1NpemUgMTcwCj4+CnN0YXJ0eHJlZgoyMDc2MzUKJSVFT0YK
en
de
internal
external
public
Misc
Misc Comment
1
current_timestamp
1
current_timestamp
1
0
Created
1
current_timestamp
1
current_timestamp
1