diff --git a/lib/plugins/EPrints/Plugin/Screen/ExportToOrcid.pm b/lib/plugins/EPrints/Plugin/Screen/ExportToOrcid.pm
index b1e0fde..8aede0d 100644
--- a/lib/plugins/EPrints/Plugin/Screen/ExportToOrcid.pm
+++ b/lib/plugins/EPrints/Plugin/Screen/ExportToOrcid.pm
@@ -435,7 +435,8 @@ sub render_filter_date_form
}
$filter_date_form->appendChild( $self->html_phrase( "show_last_modified" ) );
- my $date_picker = $xml->create_element( "input", type => "date", name => "filter_date", "aria-label" => "Filter Date" );
+ my $date_picker = $xml->create_element( "input", type => "date", name => "filter_date", "aria-label" => "Filter Date", value => $query->param('filter_date') );
+
$filter_date_form->appendChild( $date_picker );
$filter_date_form->appendChild( $xml->create_element( "input", type => "submit", class => "ep_form_action_button filter", value => $self->phrase( "filter" ) ) );
$filter_div->appendChild( $filter_date_form );
diff --git a/lib/plugins/EPrints/Plugin/Screen/ImportFromOrcid.pm b/lib/plugins/EPrints/Plugin/Screen/ImportFromOrcid.pm
index be79965..a67ab66 100644
--- a/lib/plugins/EPrints/Plugin/Screen/ImportFromOrcid.pm
+++ b/lib/plugins/EPrints/Plugin/Screen/ImportFromOrcid.pm
@@ -330,7 +330,8 @@ sub render_filter_date_form
my $date_type = $repo->config( "orcid_support_advance", "filter_date" ) || "last-modified-date";
$filter_date_form->appendChild( $self->html_phrase( "show_$date_type" ) );
- my $date_picker = $xml->create_element( "input", type => "date", name => "filter_date", "aria-label" => "Filter Date" );
+ my $date_picker = $xml->create_element( "input", type => "date", name => "filter_date", "aria-label" => "Filter Date", value => $query->param('filter_date') );
+
$filter_date_form->appendChild( $date_picker );
$filter_date_form->appendChild( $xml->create_element( "input", type => "submit", class => "ep_form_action_button filter", value => $self->phrase( "filter" ) ) );
$filter_div->appendChild( $filter_date_form );
diff --git a/lib/plugins/EPrints/Plugin/Screen/Report/Orcid/CheckName.pm b/lib/plugins/EPrints/Plugin/Screen/Report/Orcid/CheckName.pm
index cad59e5..e69fb9b 100644
--- a/lib/plugins/EPrints/Plugin/Screen/Report/Orcid/CheckName.pm
+++ b/lib/plugins/EPrints/Plugin/Screen/Report/Orcid/CheckName.pm
@@ -85,7 +85,7 @@ sub items
$list->map(sub{
my( $session, $dataset, $user ) = @_;
- print SDTERR "user: " . $user->id . "\n";
+
my @problems = $self->validate_dataobj( $user );
if( ( scalar( @problems ) > 0 ) && ( $user->is_set( "orcid" ) ) )
diff --git a/orcid_support_advance.epm b/orcid_support_advance.epm
index cdedbdf..847b919 100644
--- a/orcid_support_advance.epm
+++ b/orcid_support_advance.epm
@@ -2131,9 +2131,9 @@ cG9ydCcgcGx1Z2luIHRvIGNvbnRpbnVlLiIgKSApOyAKCQlyZXR1cm47Cgl9Cn0K
document
plugins/EPrints/Plugin/Screen/ExportToOrcid.pm
text/plain
- 249660b4831282052d23569479493583
+ df421b45c8431b7280e57993a05e9940
MD5
- 21971
+ 22010
PWhlYWQxIE5BTUUKCkVQcmludHM6OlBsdWdpbjo6U2NyZWVuOjpFeHBvcnRUb09yY2lkCgo9Y3V0
CgpwYWNrYWdlIEVQcmludHM6OlBsdWdpbjo6U2NyZWVuOjpFeHBvcnRUb09yY2lkOwoKdXNlIEVQ
cmludHM6OlBsdWdpbjo6U2NyZWVuOwp1c2UgRVByaW50czo6T1JDSUQ6OkFkdmFuY2VVdGlsczsK
@@ -2381,154 +2381,155 @@ YXRlKSApewogICAgICAgICRmaWx0ZXJfZGF0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3Jl
YXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4gImhpZGRlbiIsIG5hbWUgPT4gImhpZGVfZHVw
bGljYXRlcyIsIHZhbHVlID0+ICRxdWVyeV9kdXBsaWNhdGUpICk7CiAgICB9CgogICAgJGZpbHRl
cl9kYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkc2VsZi0+aHRtbF9waHJhc2UoICJzaG93X2xhc3Rf
-bW9kaWZpZWQiICkgKTsKICAgIG15ICRkYXRlX3BpY2tlciA9ICAkeG1sLT5jcmVhdGVfZWxlbWVu
-dCggImlucHV0IiwgdHlwZSA9PiAiZGF0ZSIsIG5hbWUgPT4gImZpbHRlcl9kYXRlIiwgImFyaWEt
-bGFiZWwiID0+ICJGaWx0ZXIgRGF0ZSIgKTsKICAgICRmaWx0ZXJfZGF0ZV9mb3JtLT5hcHBlbmRD
-aGlsZCggJGRhdGVfcGlja2VyICk7CiAgICAkZmlsdGVyX2RhdGVfZm9ybS0+YXBwZW5kQ2hpbGQo
-ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiaW5wdXQiLCB0eXBlID0+ICJzdWJtaXQiLCBjbGFzcyA9
-PiAiZXBfZm9ybV9hY3Rpb25fYnV0dG9uIGZpbHRlciIsIHZhbHVlID0+ICRzZWxmLT5waHJhc2Uo
-ICJmaWx0ZXIiICkgKSApOwogICAgJGZpbHRlcl9kaXYtPmFwcGVuZENoaWxkKCAkZmlsdGVyX2Rh
-dGVfZm9ybSApOwogICAgcmV0dXJuICRmaWx0ZXJfZGl2Owp9CgpzdWIgcmVuZGVyX2ZpbHRlcl9k
-dXBsaWNhdGVfZm9ybQp7CiAgICBteSggJHNlbGYsICR4bWwsICRxdWVyeSApID0gQF87CiAgICBt
-eSAkZHVwbGljYXRlX2RpdiA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4g
-ImZpbHRlcl9kdXBsaWNhdGUiICk7CiAgICBteSAkZmlsdGVyX2R1cGxpY2F0ZV9mb3JtID0gJHht
-bC0+Y3JlYXRlX2VsZW1lbnQoICJmb3JtIiwgbWV0aG9kID0+ICJnZXQiLCBhY3Rpb24gPT4gIi9j
-Z2kvdXNlcnMvaG9tZSIgKTsKICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxk
-KCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9
-PiAic2NyZWVuIiwgaWQgPT4gInNjcmVlbiIsIHZhbHVlID0+ICJFeHBvcnRUb09yY2lkIikgKTsK
-CiAgICAjIFNhdmUgb3RoZXIgcGFyYW1zCiAgICBteSAkcXVlcnlfZGF0YXNldCA9ICRxdWVyeS0+
-cGFyYW0oJ2RhdGFzZXQnKTsKICAgIG15ICRxdWVyeV9kYXRhb2JqID0gJHF1ZXJ5LT5wYXJhbSgn
-ZGF0YW9iaicpOwogICAgbXkgJHF1ZXJ5X2RhdGUgPSAkcXVlcnktPnBhcmFtKCdmaWx0ZXJfZGF0
-ZScpOwogICAgbXkgJHF1ZXJ5X2R1cGxpY2F0ZSA9ICRxdWVyeS0+cGFyYW0oJ2hpZGVfZHVwbGlj
-YXRlcycpOwogICAgaWYoIGRlZmluZWQoJHF1ZXJ5X2RhdGFzZXQpICYmIGRlZmluZWQoJHF1ZXJ5
-X2RhdGFvYmopICkgewogICAgICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxk
-KCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9
-PiAiZGF0YXNldCIsIHZhbHVlID0+ICRxdWVyeV9kYXRhc2V0KSApOwogICAgICAgICRmaWx0ZXJf
-ZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0
-IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAiZGF0YW9iaiIsIHZhbHVlID0+ICRxdWVyeV9k
-YXRhb2JqKSApOwogICAgfQogICAgaWYoIGRlZmluZWQoJHF1ZXJ5X2RhdGUpICl7CiAgICAgICAg
-JGZpbHRlcl9kdXBsaWNhdGVfZm9ybS0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9lbGVtZW50
-KCAiaW5wdXQiLCB0eXBlID0+ICJoaWRkZW4iLCBuYW1lID0+ICJmaWx0ZXJfZGF0ZSIsIHZhbHVl
-ID0+ICRxdWVyeV9kYXRlKSApOwogICAgfQoKICAgIGlmKCBkZWZpbmVkKCRxdWVyeV9kdXBsaWNh
-dGUpICkKICAgIHsKICAgICAgICBpZiggJHF1ZXJ5X2R1cGxpY2F0ZSA9PSAxICkKICAgICAgICB7
-CiAgICAgICAgICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5j
-cmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAiaGlkZV9k
-dXBsaWNhdGVzIiwgdmFsdWUgPT4gMCkgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAk
-ZmlsdGVyX2R1cGxpY2F0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQo
-ICJpbnB1dCIsIHR5cGUgPT4gImhpZGRlbiIsIG5hbWUgPT4gImhpZGVfZHVwbGljYXRlcyIsIHZh
-bHVlID0+IDEpICk7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICAkZmlsdGVyX2R1cGxp
-Y2F0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5
-cGUgPT4gImhpZGRlbiIsIG5hbWUgPT4gImhpZGVfZHVwbGljYXRlcyIsIHZhbHVlID0+IDApICk7
-CiAgICB9CgoKICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkc2VsZi0+
-aHRtbF9waHJhc2UoICJkdXBsaWNhdGVzIiApICk7CiAgICAkZmlsdGVyX2R1cGxpY2F0ZV9mb3Jt
-LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4gInN1
-Ym1pdCIsIGNsYXNzID0+ICJlcF9mb3JtX2FjdGlvbl9idXR0b24gZmlsdGVyIiwgdmFsdWUgPT4g
-JHNlbGYtPnBocmFzZSggInNob3dfaGlkZV9kdXBsaWNhdGVzIiApICkgKTsKICAgICRkdXBsaWNh
-dGVfZGl2LT5hcHBlbmRDaGlsZCggJGZpbHRlcl9kdXBsaWNhdGVfZm9ybSApOwogICAgcmV0dXJu
-ICRkdXBsaWNhdGVfZGl2Owp9CgojY29uc3RydWN0IHRoZSBleHBvcnQgRE9NIGNvbXBvbmVudHMK
-c3ViIHJlbmRlcl9vcmNpZF9leHBvcnQKewoJbXkoICRzZWxmLCAkcmVwbywgJHVzZXIsICR4bWws
-ICRyZWNvcmRzICkgPSBAXzsKCglteSAkZm9ybSA9ICRzZWxmLT5yZW5kZXJfZm9ybSggIlBPU1Qi
-ICk7CgkkZm9ybS0+YXBwZW5kQ2hpbGQoICRyZXBvLT5yZW5kZXJfaGlkZGVuX2ZpZWxkKCAib3Jj
-aWRfdXNlcmlkIiwgJHVzZXItPmlkICkgKTsKCgkkZm9ybS0+YXBwZW5kQ2hpbGQoICRzZWxmLT5y
-ZW5kZXJfb3JjaWRfZXhwb3J0X2ludHJvKCAkeG1sICkgKTsKCSRmb3JtLT5hcHBlbmRDaGlsZCgg
-JHNlbGYtPnJlbmRlcl9lcHJpbnRfcmVjb3JkcyggJHhtbCwgJHJlY29yZHMgKSApOwoJJGZvcm0t
-PmFwcGVuZENoaWxkKCAkc2VsZi0+cmVuZGVyX29yY2lkX2V4cG9ydF9vdXRybyggJHhtbCApICk7
-CgoJcmV0dXJuICRmb3JtOwp9CgpzdWIgcmVuZGVyX29yY2lkX2V4cG9ydF9pbnRybwp7CglteSgg
-JHNlbGYsICR4bWwgKSA9IEBfOwoKCW15ICRpbnRyb19kaXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVu
-dCggImRpdiIsIGNsYXNzID0+ICJleHBvcnRfaW50cm8iICk7CgoJI3JlbmRlciBleHBvcnQgYnV0
-dG9uCglteSAkYnRuX2RpdiA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4g
-ImV4cG9ydF9pbnRyb19idG4iICk7CglteSAkYnV0dG9uID0gJGJ0bl9kaXYtPmFwcGVuZENoaWxk
-KCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgICAg
-IHR5cGU9PiJzdWJtaXQiLAogICAgICAgICAgICAgICAgICAgICAgICBuYW1lPT4iX2FjdGlvbl9l
-eHBvcnQiLAoJCQljbGFzcyA9PiAiZXBfZm9ybV9hY3Rpb25fYnV0dG9uIiwKICAgICAgICApICk7
-CiAgICAgICAgJGJ1dHRvbi0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV90ZXh0X25vZGUoICJF
-eHBvcnQiICkgKTsKCiAgICAjIGRlbGV0aW9uIGJ1dHRvbgogICAgbXkgJGJ1dHRvbl9kZWxldGUg
-PSAkYnRuX2Rpdi0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiYnV0dG9uIiwK
-ICAgICAgICB0eXBlID0+ICJzdWJtaXQiLAogICAgICAgIG5hbWUgPT4gIl9hY3Rpb25fZGVsZXRl
-IiwKICAgICAgICBjbGFzcyA9PiAiZXBfZm9ybV9hY3Rpb25fYnV0dG9uIGRlbGV0ZV9idXR0b24i
-LAogICAgKSApOwogICAgJGJ1dHRvbl9kZWxldGUtPmFwcGVuZENoaWxkKCAkc2VsZi0+aHRtbF9w
-aHJhc2UoICJkZWxldGUiICkgKTsKCiAgICAjIHRvZ2dsZSBzd2l0Y2gKICAgIG15ICR0b2dnbGVf
-YnV0dG9uID0gJGJ0bl9kaXYtPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImJ1
-dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgdHlwZSA9PiAiYnV0dG9uIiwKICAgICAgICAgICAg
-ICAgICAgICBvbmNsaWNrID0+ICJ0b2dnbGVPcmNpZENoZWNrYm94KCk7IiwKICAgICAgICAgICAg
-ICAgICAgICBjbGFzcyA9PiAiZXBfZm9ybV9hY3Rpb25fYnV0dG9uIHRvZ2dsZV9idXR0b24iLAog
-ICAgKSApOwogICAgJHRvZ2dsZV9idXR0b24tPmFwcGVuZENoaWxkKCAkc2VsZi0+aHRtbF9waHJh
-c2UoICJzZWxlY3QiICkgKTsKCgkkaW50cm9fZGl2LT5hcHBlbmRDaGlsZCggJGJ0bl9kaXYgKTsK
-CglyZXR1cm4gJGludHJvX2RpdjsKfQoKc3ViIHJlbmRlcl9lcHJpbnRfcmVjb3Jkcwp7CglteSgg
-JHNlbGYsICR4bWwsICRyZWNvcmRzICkgPSBAXzsKCiAgICBteSAkcmVwbyA9ICRzZWxmLT57cmVw
-b3NpdG9yeX07CgoJbXkgJGZpZWxkc2V0ID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJmaWVsZHNl
-dCIsIGNsYXNzID0+ICJlcF90YWJsZSBleHBvcnRfb3JjaWRfcmVjb3JkcyIgKTsKICAgIG15ICRs
-ZWdlbmQgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImxlZ2VuZCIsIGlkPT4ib3JjaWRfZXhwb3J0
-X2xlZ2VuZCIsIGNsYXNzPT4iZXBfZmllbGRfbGVnZW5kIiApOwogICAgJGxlZ2VuZC0+YXBwZW5k
-Q2hpbGQoICRzZWxmLT5odG1sX3BocmFzZSggImV4cG9ydF9oZWxwIiApICk7CiAgICAkZmllbGRz
-ZXQtPmFwcGVuZENoaWxkKCAkbGVnZW5kICk7CgoKCSRyZWNvcmRzLT5tYXAoc3ViewoJCW15KCAk
-c2Vzc2lvbiwgJGRhdGFzZXQsICRlcHJpbnQgKSA9IEBfOwoKICAgICMgbW9kaWZpY2F0aW9uIGRh
-dGUKICAgIG15ICRjZ2kgPSBDR0ktPm5ldygpOwogICAgbXkgJGZpbHRlcl9kYXRlID0gMDsKICAg
-IG15ICRtb2RfZGF0ZSA9ICgkZXByaW50LT5nZXRfdmFsdWUoJ2xhc3Rtb2QnKSk7CiAgICAkbW9k
-X2RhdGUgPSBUaW1lOjpQaWVjZS0+c3RycHRpbWUoICRtb2RfZGF0ZSwgJyVZLSVtLSVkICVIOiVN
-OiVTJyApOwogICAgaWYoIGRlZmluZWQgJGNnaS0+cGFyYW0oJ2ZpbHRlcl9kYXRlJykpCiAgICB7
-CiAgICAgICAgJGZpbHRlcl9kYXRlID0gJGNnaS0+cGFyYW0oJ2ZpbHRlcl9kYXRlJyk7CiAgICAg
-ICAgJGZpbHRlcl9kYXRlID0gVGltZTo6UGllY2UtPnN0cnB0aW1lKCAkZmlsdGVyX2RhdGUsICcl
-WS0lbS0lZCcgKTsKICAgIH0KCQkjc2hvdyB0aGUgZXByaW50IGNpdGF0aW9uCgkJbXkgJHRyID0g
-IiI7CgkJbXkgJHRkX2NpdGF0aW9uID0gJHNlc3Npb24tPm1ha2VfZWxlbWVudCggImRpdiIsIGNs
-YXNzID0+ICJleHBvcnRfb3JjaWRfY2l0YXRpb24gZXBfdGFibGVfY2VsbCIgKTsKCQkkdGRfY2l0
-YXRpb24tPmFwcGVuZENoaWxkKCRlcHJpbnQtPnJlbmRlcl9jaXRhdGlvbl9saW5rICk7CgoJCWlm
-KCAkZmlsdGVyX2RhdGUgJiYgJG1vZF9kYXRlIDwgJGZpbHRlcl9kYXRlICkKICAgICAgICB7CiAg
-ICAgICAgICAgIG15ICRkYXRlX2Zvcm1hdCA9ICRyZXBvLT5jb25maWcoICJvcmNpZF9zdXBwb3J0
-X2FkdmFuY2UiLCAiZmlsdGVyX2Zvcm1hdCIgKSB8fCAiJWQvJW0vJVkiOwogICAgICAgICAgICAk
-dHIgPSAkc2Vzc2lvbi0+bWFrZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gImZpbHRlcmVkIGVw
-X3RhYmxlX3JvdyIgKTsKCiAgICAgICAgICAgICMgd29yayBkYXRlCiAgICAgICAgICAgICRtb2Rf
-ZGF0ZSA9IHN0cmZ0aW1lICRkYXRlX2Zvcm1hdCwgZ210aW1lKCAkbW9kX2RhdGUtPmVwb2NoICk7
-CiAgICAgICAgICAgICR0ZF9jaXRhdGlvbi0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV90ZXh0
-X25vZGUoICJMYXN0IE1vZGlmaWVkOiAkbW9kX2RhdGUiICkgKTsKICAgICAgICAgICAgJHRkX2Np
-dGF0aW9uLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoImJyIikpOwoKICAgICAg
-ICAgICAgJGZpbHRlcl9kYXRlID0gc3RyZnRpbWUgJGRhdGVfZm9ybWF0LCBnbXRpbWUoICRmaWx0
-ZXJfZGF0ZS0+ZXBvY2ggKTsKICAgICAgICAgICAgJHRkX2NpdGF0aW9uLT5hcHBlbmRDaGlsZCgg
-JHhtbC0+Y3JlYXRlX3RleHRfbm9kZSggIkZpbHRlciBkYXRlOiAkZmlsdGVyX2RhdGUiICkgKTsK
-ICAgICAgICAgICAgJHRkX2NpdGF0aW9uLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1l
-bnQoImJyIikpOwogICAgICAgICAgICAkdHItPmFwcGVuZENoaWxkKCAkdGRfY2l0YXRpb24gKTsK
-ICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgJHRyID0gJHNlc3Np
-b24tPm1ha2VfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJlcF90YWJsZV9yb3ciICk7CiAgICAg
-ICAgICAgICR0ci0+YXBwZW5kQ2hpbGQoICR0ZF9jaXRhdGlvbiApOwogICAgICAgICAgICAjc2hv
-dyBjaGVja2JveCBmb3IgdGhpcyByZWNvcmQKICAgICAgICAgICAgbXkgJHRkX2NoZWNrID0gJHNl
-c3Npb24tPm1ha2VfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJleHBvcnRfb3JjaWRfY2hlY2sg
-ZXBfdGFibGVfY2VsbCIgKTsKICAgICAgICAgICAgbXkgJGNoZWNrYm94ID0gJHNlc3Npb24tPm1h
-a2VfZWxlbWVudCggImlucHV0IiwKICAgICAgICAgICAgICAgIHR5cGUgPT4gImNoZWNrYm94IiwK
-ICAgICAgICAgICAgICAgIG5hbWUgPT4gImVwcmludCIsCiAgICAgICAgICAgICAgICB2YWx1ZSA9
-PiAkZXByaW50LT5pZCwKICAgICAgICAgICAgICAgICJhcmlhLWxhYmVsIiA9PiAkZXByaW50LT52
-YWx1ZSggInRpdGxlIiApLAogICAgICAgICAgICApOwogICAgICAgICAgICAkY2hlY2tib3gtPnNl
-dEF0dHJpYnV0ZSggImNoZWNrZWQiLCAieWVzIiApOwogICAgICAgICAgICAkdGRfY2hlY2stPmFw
-cGVuZENoaWxkKCAkY2hlY2tib3ggKTsKICAgICAgICAgICAgJHRyLT5hcHBlbmRDaGlsZCggJHRk
-X2NoZWNrICk7CiAgICAgICAgfQoJCSRmaWVsZHNldC0+YXBwZW5kQ2hpbGQoICR0ciApOwoJfSk7
-CgoJcmV0dXJuICRmaWVsZHNldDsKfQoKc3ViIHJlbmRlcl9vcmNpZF9leHBvcnRfb3V0cm8KewoJ
-bXkoICRzZWxmLCAkeG1sICkgPSBAXzsKCglteSAkYnRuX2RpdiA9ICR4bWwtPmNyZWF0ZV9lbGVt
-ZW50KCAiZGl2IiwgY2xhc3MgPT4gImV4cG9ydF9vdXRyb19idG4iICk7CiAgICAgICAgbXkgJGJ1
-dHRvbiA9ICRidG5fZGl2LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJidXR0
-b24iLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0+ICJzdWJtaXQiLAogICAgICAgICAg
-ICAgICAgICAgICAgICBuYW1lID0+ICJfYWN0aW9uX2V4cG9ydCIsCgkJCWNsYXNzID0+ICJlcF9m
-b3JtX2FjdGlvbl9idXR0b24iLAogICAgICAgICkgKTsKICAgICAgICAkYnV0dG9uLT5hcHBlbmRD
-aGlsZCggJHhtbC0+Y3JlYXRlX3RleHRfbm9kZSggIkV4cG9ydCIgKSApOwoKICAgICMgZGVsZXRp
-b24gYnV0dG9uCiAgICBteSAkYnV0dG9uX2RlbGV0ZSA9ICRidG5fZGl2LT5hcHBlbmRDaGlsZCgg
-JHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJidXR0b24iLAogICAgICAgICAgICB0eXBlID0+ICJzdWJt
-aXQiLAogICAgICAgICAgICBuYW1lID0+ICJfYWN0aW9uX2RlbGV0ZSIsCiAgICAgICAgICAgIGNs
-YXNzID0+ICJlcF9mb3JtX2FjdGlvbl9idXR0b24gZGVsZXRlX2J1dHRvbiIsCiAgICApICk7CiAg
-ICAkYnV0dG9uX2RlbGV0ZS0+YXBwZW5kQ2hpbGQoICRzZWxmLT5odG1sX3BocmFzZSggImRlbGV0
-ZSIgKSApOwoKICAgICMgdG9nZ2xlIHN3aXRjaAogICAgbXkgJHRvZ2dsZV9idXR0b24gPSAkYnRu
-X2Rpdi0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiYnV0dG9uIiwKICAgICAg
-ICAgICAgICAgICAgICB0eXBlID0+ICJidXR0b24iLAogICAgICAgICAgICAgICAgICAgIG9uY2xp
-Y2sgPT4gInRvZ2dsZU9yY2lkQ2hlY2tib3goKTsiLAogICAgICAgICAgICAgICAgICAgIGNsYXNz
-ID0+ICJlcF9mb3JtX2FjdGlvbl9idXR0b24gdG9nZ2xlX2J1dHRvbiIsCiAgICApICk7CiAgICAk
-dG9nZ2xlX2J1dHRvbi0+YXBwZW5kQ2hpbGQoICRzZWxmLT5odG1sX3BocmFzZSggInNlbGVjdCIg
-KSApOwoKCXJldHVybiAkYnRuX2RpdjsKfQo=
+bW9kaWZpZWQiICkgKTsKICAgIG15ICRkYXRlX3BpY2tlciA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50
+KCAiaW5wdXQiLCB0eXBlID0+ICJkYXRlIiwgbmFtZSA9PiAiZmlsdGVyX2RhdGUiLCAiYXJpYS1s
+YWJlbCIgPT4gIkZpbHRlciBEYXRlIiwgdmFsdWUgPT4gJHF1ZXJ5LT5wYXJhbSgnZmlsdGVyX2Rh
+dGUnKSApOwoKICAgICRmaWx0ZXJfZGF0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJGRhdGVfcGlja2Vy
+ICk7CiAgICAkZmlsdGVyX2RhdGVfZm9ybS0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9lbGVt
+ZW50KCAiaW5wdXQiLCB0eXBlID0+ICJzdWJtaXQiLCBjbGFzcyA9PiAiZXBfZm9ybV9hY3Rpb25f
+YnV0dG9uIGZpbHRlciIsIHZhbHVlID0+ICRzZWxmLT5waHJhc2UoICJmaWx0ZXIiICkgKSApOwog
+ICAgJGZpbHRlcl9kaXYtPmFwcGVuZENoaWxkKCAkZmlsdGVyX2RhdGVfZm9ybSApOwogICAgcmV0
+dXJuICRmaWx0ZXJfZGl2Owp9CgpzdWIgcmVuZGVyX2ZpbHRlcl9kdXBsaWNhdGVfZm9ybQp7CiAg
+ICBteSggJHNlbGYsICR4bWwsICRxdWVyeSApID0gQF87CiAgICBteSAkZHVwbGljYXRlX2RpdiA9
+ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gImZpbHRlcl9kdXBsaWNhdGUi
+ICk7CiAgICBteSAkZmlsdGVyX2R1cGxpY2F0ZV9mb3JtID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQo
+ICJmb3JtIiwgbWV0aG9kID0+ICJnZXQiLCBhY3Rpb24gPT4gIi9jZ2kvdXNlcnMvaG9tZSIgKTsK
+ICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxl
+bWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAic2NyZWVuIiwgaWQgPT4g
+InNjcmVlbiIsIHZhbHVlID0+ICJFeHBvcnRUb09yY2lkIikgKTsKCiAgICAjIFNhdmUgb3RoZXIg
+cGFyYW1zCiAgICBteSAkcXVlcnlfZGF0YXNldCA9ICRxdWVyeS0+cGFyYW0oJ2RhdGFzZXQnKTsK
+ICAgIG15ICRxdWVyeV9kYXRhb2JqID0gJHF1ZXJ5LT5wYXJhbSgnZGF0YW9iaicpOwogICAgbXkg
+JHF1ZXJ5X2RhdGUgPSAkcXVlcnktPnBhcmFtKCdmaWx0ZXJfZGF0ZScpOwogICAgbXkgJHF1ZXJ5
+X2R1cGxpY2F0ZSA9ICRxdWVyeS0+cGFyYW0oJ2hpZGVfZHVwbGljYXRlcycpOwogICAgaWYoIGRl
+ZmluZWQoJHF1ZXJ5X2RhdGFzZXQpICYmIGRlZmluZWQoJHF1ZXJ5X2RhdGFvYmopICkgewogICAg
+ICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxl
+bWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAiZGF0YXNldCIsIHZhbHVl
+ID0+ICRxdWVyeV9kYXRhc2V0KSApOwogICAgICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFw
+cGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVu
+IiwgbmFtZSA9PiAiZGF0YW9iaiIsIHZhbHVlID0+ICRxdWVyeV9kYXRhb2JqKSApOwogICAgfQog
+ICAgaWYoIGRlZmluZWQoJHF1ZXJ5X2RhdGUpICl7CiAgICAgICAgJGZpbHRlcl9kdXBsaWNhdGVf
+Zm9ybS0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiaW5wdXQiLCB0eXBlID0+
+ICJoaWRkZW4iLCBuYW1lID0+ICJmaWx0ZXJfZGF0ZSIsIHZhbHVlID0+ICRxdWVyeV9kYXRlKSAp
+OwogICAgfQoKICAgIGlmKCBkZWZpbmVkKCRxdWVyeV9kdXBsaWNhdGUpICkKICAgIHsKICAgICAg
+ICBpZiggJHF1ZXJ5X2R1cGxpY2F0ZSA9PSAxICkKICAgICAgICB7CiAgICAgICAgICAgICRmaWx0
+ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlu
+cHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAiaGlkZV9kdXBsaWNhdGVzIiwgdmFsdWUg
+PT4gMCkgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkZmlsdGVyX2R1cGxpY2F0ZV9m
+b3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4g
+ImhpZGRlbiIsIG5hbWUgPT4gImhpZGVfZHVwbGljYXRlcyIsIHZhbHVlID0+IDEpICk7CiAgICAg
+ICAgfQogICAgfSBlbHNlIHsKICAgICAgICAkZmlsdGVyX2R1cGxpY2F0ZV9mb3JtLT5hcHBlbmRD
+aGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4gImhpZGRlbiIsIG5h
+bWUgPT4gImhpZGVfZHVwbGljYXRlcyIsIHZhbHVlID0+IDApICk7CiAgICB9CgoKICAgICRmaWx0
+ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkc2VsZi0+aHRtbF9waHJhc2UoICJkdXBs
+aWNhdGVzIiApICk7CiAgICAkZmlsdGVyX2R1cGxpY2F0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHht
+bC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4gInN1Ym1pdCIsIGNsYXNzID0+ICJl
+cF9mb3JtX2FjdGlvbl9idXR0b24gZmlsdGVyIiwgdmFsdWUgPT4gJHNlbGYtPnBocmFzZSggInNo
+b3dfaGlkZV9kdXBsaWNhdGVzIiApICkgKTsKICAgICRkdXBsaWNhdGVfZGl2LT5hcHBlbmRDaGls
+ZCggJGZpbHRlcl9kdXBsaWNhdGVfZm9ybSApOwogICAgcmV0dXJuICRkdXBsaWNhdGVfZGl2Owp9
+CgojY29uc3RydWN0IHRoZSBleHBvcnQgRE9NIGNvbXBvbmVudHMKc3ViIHJlbmRlcl9vcmNpZF9l
+eHBvcnQKewoJbXkoICRzZWxmLCAkcmVwbywgJHVzZXIsICR4bWwsICRyZWNvcmRzICkgPSBAXzsK
+CglteSAkZm9ybSA9ICRzZWxmLT5yZW5kZXJfZm9ybSggIlBPU1QiICk7CgkkZm9ybS0+YXBwZW5k
+Q2hpbGQoICRyZXBvLT5yZW5kZXJfaGlkZGVuX2ZpZWxkKCAib3JjaWRfdXNlcmlkIiwgJHVzZXIt
+PmlkICkgKTsKCgkkZm9ybS0+YXBwZW5kQ2hpbGQoICRzZWxmLT5yZW5kZXJfb3JjaWRfZXhwb3J0
+X2ludHJvKCAkeG1sICkgKTsKCSRmb3JtLT5hcHBlbmRDaGlsZCggJHNlbGYtPnJlbmRlcl9lcHJp
+bnRfcmVjb3JkcyggJHhtbCwgJHJlY29yZHMgKSApOwoJJGZvcm0tPmFwcGVuZENoaWxkKCAkc2Vs
+Zi0+cmVuZGVyX29yY2lkX2V4cG9ydF9vdXRybyggJHhtbCApICk7CgoJcmV0dXJuICRmb3JtOwp9
+CgpzdWIgcmVuZGVyX29yY2lkX2V4cG9ydF9pbnRybwp7CglteSggJHNlbGYsICR4bWwgKSA9IEBf
+OwoKCW15ICRpbnRyb19kaXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+
+ICJleHBvcnRfaW50cm8iICk7CgoJI3JlbmRlciBleHBvcnQgYnV0dG9uCglteSAkYnRuX2RpdiA9
+ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gImV4cG9ydF9pbnRyb19idG4i
+ICk7CglteSAkYnV0dG9uID0gJGJ0bl9kaXYtPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxl
+bWVudCggImJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9PiJzdWJtaXQiLAog
+ICAgICAgICAgICAgICAgICAgICAgICBuYW1lPT4iX2FjdGlvbl9leHBvcnQiLAoJCQljbGFzcyA9
+PiAiZXBfZm9ybV9hY3Rpb25fYnV0dG9uIiwKICAgICAgICApICk7CiAgICAgICAgJGJ1dHRvbi0+
+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV90ZXh0X25vZGUoICJFeHBvcnQiICkgKTsKCiAgICAj
+IGRlbGV0aW9uIGJ1dHRvbgogICAgbXkgJGJ1dHRvbl9kZWxldGUgPSAkYnRuX2Rpdi0+YXBwZW5k
+Q2hpbGQoICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiYnV0dG9uIiwKICAgICAgICB0eXBlID0+ICJz
+dWJtaXQiLAogICAgICAgIG5hbWUgPT4gIl9hY3Rpb25fZGVsZXRlIiwKICAgICAgICBjbGFzcyA9
+PiAiZXBfZm9ybV9hY3Rpb25fYnV0dG9uIGRlbGV0ZV9idXR0b24iLAogICAgKSApOwogICAgJGJ1
+dHRvbl9kZWxldGUtPmFwcGVuZENoaWxkKCAkc2VsZi0+aHRtbF9waHJhc2UoICJkZWxldGUiICkg
+KTsKCiAgICAjIHRvZ2dsZSBzd2l0Y2gKICAgIG15ICR0b2dnbGVfYnV0dG9uID0gJGJ0bl9kaXYt
+PmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImJ1dHRvbiIsCiAgICAgICAgICAg
+ICAgICAgICAgdHlwZSA9PiAiYnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBvbmNsaWNrID0+
+ICJ0b2dnbGVPcmNpZENoZWNrYm94KCk7IiwKICAgICAgICAgICAgICAgICAgICBjbGFzcyA9PiAi
+ZXBfZm9ybV9hY3Rpb25fYnV0dG9uIHRvZ2dsZV9idXR0b24iLAogICAgKSApOwogICAgJHRvZ2ds
+ZV9idXR0b24tPmFwcGVuZENoaWxkKCAkc2VsZi0+aHRtbF9waHJhc2UoICJzZWxlY3QiICkgKTsK
+CgkkaW50cm9fZGl2LT5hcHBlbmRDaGlsZCggJGJ0bl9kaXYgKTsKCglyZXR1cm4gJGludHJvX2Rp
+djsKfQoKc3ViIHJlbmRlcl9lcHJpbnRfcmVjb3Jkcwp7CglteSggJHNlbGYsICR4bWwsICRyZWNv
+cmRzICkgPSBAXzsKCiAgICBteSAkcmVwbyA9ICRzZWxmLT57cmVwb3NpdG9yeX07CgoJbXkgJGZp
+ZWxkc2V0ID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJmaWVsZHNldCIsIGNsYXNzID0+ICJlcF90
+YWJsZSBleHBvcnRfb3JjaWRfcmVjb3JkcyIgKTsKICAgIG15ICRsZWdlbmQgPSAkeG1sLT5jcmVh
+dGVfZWxlbWVudCggImxlZ2VuZCIsIGlkPT4ib3JjaWRfZXhwb3J0X2xlZ2VuZCIsIGNsYXNzPT4i
+ZXBfZmllbGRfbGVnZW5kIiApOwogICAgJGxlZ2VuZC0+YXBwZW5kQ2hpbGQoICRzZWxmLT5odG1s
+X3BocmFzZSggImV4cG9ydF9oZWxwIiApICk7CiAgICAkZmllbGRzZXQtPmFwcGVuZENoaWxkKCAk
+bGVnZW5kICk7CgoKCSRyZWNvcmRzLT5tYXAoc3ViewoJCW15KCAkc2Vzc2lvbiwgJGRhdGFzZXQs
+ICRlcHJpbnQgKSA9IEBfOwoKICAgICMgbW9kaWZpY2F0aW9uIGRhdGUKICAgIG15ICRjZ2kgPSBD
+R0ktPm5ldygpOwogICAgbXkgJGZpbHRlcl9kYXRlID0gMDsKICAgIG15ICRtb2RfZGF0ZSA9ICgk
+ZXByaW50LT5nZXRfdmFsdWUoJ2xhc3Rtb2QnKSk7CiAgICAkbW9kX2RhdGUgPSBUaW1lOjpQaWVj
+ZS0+c3RycHRpbWUoICRtb2RfZGF0ZSwgJyVZLSVtLSVkICVIOiVNOiVTJyApOwogICAgaWYoIGRl
+ZmluZWQgJGNnaS0+cGFyYW0oJ2ZpbHRlcl9kYXRlJykpCiAgICB7CiAgICAgICAgJGZpbHRlcl9k
+YXRlID0gJGNnaS0+cGFyYW0oJ2ZpbHRlcl9kYXRlJyk7CiAgICAgICAgJGZpbHRlcl9kYXRlID0g
+VGltZTo6UGllY2UtPnN0cnB0aW1lKCAkZmlsdGVyX2RhdGUsICclWS0lbS0lZCcgKTsKICAgIH0K
+CQkjc2hvdyB0aGUgZXByaW50IGNpdGF0aW9uCgkJbXkgJHRyID0gIiI7CgkJbXkgJHRkX2NpdGF0
+aW9uID0gJHNlc3Npb24tPm1ha2VfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJleHBvcnRfb3Jj
+aWRfY2l0YXRpb24gZXBfdGFibGVfY2VsbCIgKTsKCQkkdGRfY2l0YXRpb24tPmFwcGVuZENoaWxk
+KCRlcHJpbnQtPnJlbmRlcl9jaXRhdGlvbl9saW5rICk7CgoJCWlmKCAkZmlsdGVyX2RhdGUgJiYg
+JG1vZF9kYXRlIDwgJGZpbHRlcl9kYXRlICkKICAgICAgICB7CiAgICAgICAgICAgIG15ICRkYXRl
+X2Zvcm1hdCA9ICRyZXBvLT5jb25maWcoICJvcmNpZF9zdXBwb3J0X2FkdmFuY2UiLCAiZmlsdGVy
+X2Zvcm1hdCIgKSB8fCAiJWQvJW0vJVkiOwogICAgICAgICAgICAkdHIgPSAkc2Vzc2lvbi0+bWFr
+ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gImZpbHRlcmVkIGVwX3RhYmxlX3JvdyIgKTsKCiAg
+ICAgICAgICAgICMgd29yayBkYXRlCiAgICAgICAgICAgICRtb2RfZGF0ZSA9IHN0cmZ0aW1lICRk
+YXRlX2Zvcm1hdCwgZ210aW1lKCAkbW9kX2RhdGUtPmVwb2NoICk7CiAgICAgICAgICAgICR0ZF9j
+aXRhdGlvbi0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV90ZXh0X25vZGUoICJMYXN0IE1vZGlm
+aWVkOiAkbW9kX2RhdGUiICkgKTsKICAgICAgICAgICAgJHRkX2NpdGF0aW9uLT5hcHBlbmRDaGls
+ZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoImJyIikpOwoKICAgICAgICAgICAgJGZpbHRlcl9kYXRl
+ID0gc3RyZnRpbWUgJGRhdGVfZm9ybWF0LCBnbXRpbWUoICRmaWx0ZXJfZGF0ZS0+ZXBvY2ggKTsK
+ICAgICAgICAgICAgJHRkX2NpdGF0aW9uLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX3RleHRf
+bm9kZSggIkZpbHRlciBkYXRlOiAkZmlsdGVyX2RhdGUiICkgKTsKICAgICAgICAgICAgJHRkX2Np
+dGF0aW9uLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoImJyIikpOwogICAgICAg
+ICAgICAkdHItPmFwcGVuZENoaWxkKCAkdGRfY2l0YXRpb24gKTsKICAgICAgICB9CiAgICAgICAg
+ZWxzZQogICAgICAgIHsKICAgICAgICAgICAgJHRyID0gJHNlc3Npb24tPm1ha2VfZWxlbWVudCgg
+ImRpdiIsIGNsYXNzID0+ICJlcF90YWJsZV9yb3ciICk7CiAgICAgICAgICAgICR0ci0+YXBwZW5k
+Q2hpbGQoICR0ZF9jaXRhdGlvbiApOwogICAgICAgICAgICAjc2hvdyBjaGVja2JveCBmb3IgdGhp
+cyByZWNvcmQKICAgICAgICAgICAgbXkgJHRkX2NoZWNrID0gJHNlc3Npb24tPm1ha2VfZWxlbWVu
+dCggImRpdiIsIGNsYXNzID0+ICJleHBvcnRfb3JjaWRfY2hlY2sgZXBfdGFibGVfY2VsbCIgKTsK
+ICAgICAgICAgICAgbXkgJGNoZWNrYm94ID0gJHNlc3Npb24tPm1ha2VfZWxlbWVudCggImlucHV0
+IiwKICAgICAgICAgICAgICAgIHR5cGUgPT4gImNoZWNrYm94IiwKICAgICAgICAgICAgICAgIG5h
+bWUgPT4gImVwcmludCIsCiAgICAgICAgICAgICAgICB2YWx1ZSA9PiAkZXByaW50LT5pZCwKICAg
+ICAgICAgICAgICAgICJhcmlhLWxhYmVsIiA9PiAkZXByaW50LT52YWx1ZSggInRpdGxlIiApLAog
+ICAgICAgICAgICApOwogICAgICAgICAgICAkY2hlY2tib3gtPnNldEF0dHJpYnV0ZSggImNoZWNr
+ZWQiLCAieWVzIiApOwogICAgICAgICAgICAkdGRfY2hlY2stPmFwcGVuZENoaWxkKCAkY2hlY2ti
+b3ggKTsKICAgICAgICAgICAgJHRyLT5hcHBlbmRDaGlsZCggJHRkX2NoZWNrICk7CiAgICAgICAg
+fQoJCSRmaWVsZHNldC0+YXBwZW5kQ2hpbGQoICR0ciApOwoJfSk7CgoJcmV0dXJuICRmaWVsZHNl
+dDsKfQoKc3ViIHJlbmRlcl9vcmNpZF9leHBvcnRfb3V0cm8KewoJbXkoICRzZWxmLCAkeG1sICkg
+PSBAXzsKCglteSAkYnRuX2RpdiA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3Mg
+PT4gImV4cG9ydF9vdXRyb19idG4iICk7CiAgICAgICAgbXkgJGJ1dHRvbiA9ICRidG5fZGl2LT5h
+cHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJidXR0b24iLAogICAgICAgICAgICAg
+ICAgICAgICAgICB0eXBlID0+ICJzdWJtaXQiLAogICAgICAgICAgICAgICAgICAgICAgICBuYW1l
+ID0+ICJfYWN0aW9uX2V4cG9ydCIsCgkJCWNsYXNzID0+ICJlcF9mb3JtX2FjdGlvbl9idXR0b24i
+LAogICAgICAgICkgKTsKICAgICAgICAkYnV0dG9uLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRl
+X3RleHRfbm9kZSggIkV4cG9ydCIgKSApOwoKICAgICMgZGVsZXRpb24gYnV0dG9uCiAgICBteSAk
+YnV0dG9uX2RlbGV0ZSA9ICRidG5fZGl2LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1l
+bnQoICJidXR0b24iLAogICAgICAgICAgICB0eXBlID0+ICJzdWJtaXQiLAogICAgICAgICAgICBu
+YW1lID0+ICJfYWN0aW9uX2RlbGV0ZSIsCiAgICAgICAgICAgIGNsYXNzID0+ICJlcF9mb3JtX2Fj
+dGlvbl9idXR0b24gZGVsZXRlX2J1dHRvbiIsCiAgICApICk7CiAgICAkYnV0dG9uX2RlbGV0ZS0+
+YXBwZW5kQ2hpbGQoICRzZWxmLT5odG1sX3BocmFzZSggImRlbGV0ZSIgKSApOwoKICAgICMgdG9n
+Z2xlIHN3aXRjaAogICAgbXkgJHRvZ2dsZV9idXR0b24gPSAkYnRuX2Rpdi0+YXBwZW5kQ2hpbGQo
+ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiYnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICB0eXBl
+ID0+ICJidXR0b24iLAogICAgICAgICAgICAgICAgICAgIG9uY2xpY2sgPT4gInRvZ2dsZU9yY2lk
+Q2hlY2tib3goKTsiLAogICAgICAgICAgICAgICAgICAgIGNsYXNzID0+ICJlcF9mb3JtX2FjdGlv
+bl9idXR0b24gdG9nZ2xlX2J1dHRvbiIsCiAgICApICk7CiAgICAkdG9nZ2xlX2J1dHRvbi0+YXBw
+ZW5kQ2hpbGQoICRzZWxmLT5odG1sX3BocmFzZSggInNlbGVjdCIgKSApOwoKCXJldHVybiAkYnRu
+X2RpdjsKfQo=
document
plugins/EPrints/Plugin/Screen/ImportFromOrcid.pm
text/plain
- c4bf73ff5e21870f0897244b14fa4838
+ 2cddd5c82b6208a65cc74f014bf326f3
MD5
- 31151
+ 31190
PWhlYWQxIE5BTUUKCkVQcmludHM6OlBsdWdpbjo6U2NyZWVuOjpJbXBvcnRGcm9tT3JjaWQKCj1j
dXQKCnBhY2thZ2UgRVByaW50czo6UGx1Z2luOjpTY3JlZW46OkltcG9ydEZyb21PcmNpZDsKCnVz
ZSBFUHJpbnRzOjpQbHVnaW46OlNjcmVlbjsKdXNlIEVQcmludHM6Ok9SQ0lEOjpVdGlsczsKdXNl
@@ -2706,376 +2707,377 @@ eXBlID0+ICJoaWRkZW4iLCBuYW1lID0+ICJoaWRlX2R1cGxpY2F0ZXMiLCB2YWx1ZSA9PiAkcXVl
cnlfZHVwbGljYXRlKSApOwogICAgfQogCiAgICBteSAkZGF0ZV90eXBlID0gJHJlcG8tPmNvbmZp
ZyggIm9yY2lkX3N1cHBvcnRfYWR2YW5jZSIsICJmaWx0ZXJfZGF0ZSIgKSB8fCAibGFzdC1tb2Rp
ZmllZC1kYXRlIjsKICAgICRmaWx0ZXJfZGF0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHNlbGYtPmh0
-bWxfcGhyYXNlKCAic2hvd18kZGF0ZV90eXBlIiApICk7CiAgICBteSAkZGF0ZV9waWNrZXIgPSAg
-JHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4gImRhdGUiLCBuYW1lID0+ICJm
-aWx0ZXJfZGF0ZSIsICJhcmlhLWxhYmVsIiA9PiAiRmlsdGVyIERhdGUiICk7CiAgICAkZmlsdGVy
-X2RhdGVfZm9ybS0+YXBwZW5kQ2hpbGQoICRkYXRlX3BpY2tlciApOwogICAgJGZpbHRlcl9kYXRl
-X2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9
-PiAic3VibWl0IiwgY2xhc3MgPT4gImVwX2Zvcm1fYWN0aW9uX2J1dHRvbiBmaWx0ZXIiLCB2YWx1
-ZSA9PiAkc2VsZi0+cGhyYXNlKCAiZmlsdGVyIiApICkgKTsKICAgICRmaWx0ZXJfZGl2LT5hcHBl
-bmRDaGlsZCggJGZpbHRlcl9kYXRlX2Zvcm0gKTsKICAgIHJldHVybiAkZmlsdGVyX2RpdjsKfQoK
-c3ViIHJlbmRlcl9maWx0ZXJfZHVwbGljYXRlX2Zvcm0KewogICAgbXkoICRzZWxmLCAkeG1sLCAk
-cXVlcnkgKSA9IEBfOwogICAgbXkgJGR1cGxpY2F0ZV9kaXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVu
-dCggImRpdiIsIGNsYXNzID0+ICJmaWx0ZXJfZHVwbGljYXRlIiApOwogICAgbXkgJGZpbHRlcl9k
-dXBsaWNhdGVfZm9ybSA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZm9ybSIsIG1ldGhvZCA9PiAi
-Z2V0IiwgYWN0aW9uID0+ICIvY2dpL3VzZXJzL2hvbWUiICk7CiAgICAkZmlsdGVyX2R1cGxpY2F0
-ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUg
-PT4gImhpZGRlbiIsIG5hbWUgPT4gInNjcmVlbiIsIGlkID0+ICJzY3JlZW4iLCB2YWx1ZSA9PiAi
-SW1wb3J0RnJvbU9yY2lkIikgKTsKCiAgICAjIFNhdmUgb3RoZXIgcGFyYW1zCiAgICBteSAkcXVl
-cnlfZGF0YXNldCA9ICRxdWVyeS0+cGFyYW0oJ2RhdGFzZXQnKTsKICAgIG15ICRxdWVyeV9kYXRh
-b2JqID0gJHF1ZXJ5LT5wYXJhbSgnZGF0YW9iaicpOwogICAgbXkgJHF1ZXJ5X2RhdGUgPSAkcXVl
-cnktPnBhcmFtKCdmaWx0ZXJfZGF0ZScpOwogICAgbXkgJHF1ZXJ5X2R1cGxpY2F0ZSA9ICRxdWVy
-eS0+cGFyYW0oJ2hpZGVfZHVwbGljYXRlcycpOwogICAgaWYoIGRlZmluZWQoJHF1ZXJ5X2RhdGFz
-ZXQpICYmIGRlZmluZWQoJHF1ZXJ5X2RhdGFvYmopICkgewogICAgICAgICRmaWx0ZXJfZHVwbGlj
-YXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlw
-ZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAiZGF0YXNldCIsIHZhbHVlID0+ICRxdWVyeV9kYXRhc2V0
-KSApOwogICAgICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5j
-cmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAiZGF0YW9i
-aiIsIHZhbHVlID0+ICRxdWVyeV9kYXRhb2JqKSApOwogICAgfQogICAgaWYoIGRlZmluZWQoJHF1
-ZXJ5X2RhdGUpICl7CiAgICAgICAgJGZpbHRlcl9kdXBsaWNhdGVfZm9ybS0+YXBwZW5kQ2hpbGQo
-ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiaW5wdXQiLCB0eXBlID0+ICJoaWRkZW4iLCBuYW1lID0+
-ICJmaWx0ZXJfZGF0ZSIsIHZhbHVlID0+ICRxdWVyeV9kYXRlKSApOwogICAgfQoKICAgIGlmKCBk
-ZWZpbmVkKCRxdWVyeV9kdXBsaWNhdGUpICkKICAgIHsKICAgICAgICBpZiggJHF1ZXJ5X2R1cGxp
-Y2F0ZSA9PSAxICkKICAgICAgICB7CiAgICAgICAgICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0t
-PmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlk
-ZGVuIiwgbmFtZSA9PiAiaGlkZV9kdXBsaWNhdGVzIiwgdmFsdWUgPT4gMCkgKTsKICAgICAgICB9
-IGVsc2UgewogICAgICAgICAgICAkZmlsdGVyX2R1cGxpY2F0ZV9mb3JtLT5hcHBlbmRDaGlsZCgg
-JHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4gImhpZGRlbiIsIG5hbWUgPT4g
-ImhpZGVfZHVwbGljYXRlcyIsIHZhbHVlID0+IDEpICk7CiAgICAgICAgfQogICAgfSBlbHNlIHsK
-ICAgICAgICAkZmlsdGVyX2R1cGxpY2F0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRl
-X2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4gImhpZGRlbiIsIG5hbWUgPT4gImhpZGVfZHVwbGlj
-YXRlcyIsIHZhbHVlID0+IDApICk7CiAgICB9CgoKICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0t
-PmFwcGVuZENoaWxkKCAkc2VsZi0+aHRtbF9waHJhc2UoICJkdXBsaWNhdGVzIiApICk7CiAgICAk
-ZmlsdGVyX2R1cGxpY2F0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQo
-ICJpbnB1dCIsIHR5cGUgPT4gInN1Ym1pdCIsIGNsYXNzID0+ICJlcF9mb3JtX2FjdGlvbl9idXR0
-b24gZmlsdGVyIiwgdmFsdWUgPT4gJHNlbGYtPnBocmFzZSggInNob3dfaGlkZV9kdXBsaWNhdGVz
-IiApKSk7CiAgICAkZHVwbGljYXRlX2Rpdi0+YXBwZW5kQ2hpbGQoICRmaWx0ZXJfZHVwbGljYXRl
-X2Zvcm0gKTsKICAgIHJldHVybiAkZHVwbGljYXRlX2RpdjsKfQoKI2NvbnN0cnVjdCB0aGUgaW1w
-b3J0IERPTSBjb21wb25lbnRzCnN1YiByZW5kZXJfb3JjaWRfaW1wb3J0CnsKCW15KCAkc2VsZiwg
-JHJlcG8sICR1c2VyLCAkeG1sLCAkd29ya3MgKSA9IEBfOwoJbXkgJGZvcm0gPSAkc2VsZi0+cmVu
-ZGVyX2Zvcm0oICJQT1NUIiApOwogICAgICAgICRmb3JtLT5hcHBlbmRDaGlsZCggJHJlcG8tPnJl
-bmRlcl9oaWRkZW5fZmllbGQoICJvcmNpZF91c2VyaWQiLCAkdXNlci0+aWQgKSApOwoKCSRmb3Jt
-LT5hcHBlbmRDaGlsZCggJHNlbGYtPnJlbmRlcl9vcmNpZF9pbXBvcnRfaW50cm8oICR4bWwgKSAp
-OwoJJGZvcm0tPmFwcGVuZENoaWxkKCAkc2VsZi0+cmVuZGVyX29yY2lkX3JlY29yZHMoICRyZXBv
-LCAkd29ya3MgKSApOwoJJGZvcm0tPmFwcGVuZENoaWxkKCAkc2VsZi0+cmVuZGVyX29yY2lkX2lt
-cG9ydF9vdXRybyggJHhtbCApICk7CgoJcmV0dXJuICRmb3JtOwp9CgpzdWIgcmVuZGVyX29yY2lk
-X2ltcG9ydF9pbnRybwp7CiAgICAgICAgbXkoICRzZWxmLCAkeG1sICkgPSBAXzsKICAgICAgICBt
-eSAkaW50cm9fZGl2ID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJkaXYiLCBjbGFzcyA9PiAiaW1w
-b3J0X2ludHJvIiApOwoKICAgICAgICAjcmVuZGVyIGltcG9ydCBidXR0b24KICAgICAgICBteSAk
-YnRuX2RpdiA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gImltcG9ydF9p
-bnRyb19idG4iICk7CiAgICAgICAgbXkgJGJ1dHRvbiA9ICRidG5fZGl2LT5hcHBlbmRDaGlsZCgg
-JHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJidXR0b24iLAogICAgICAgICAgICAgICAgICAgICAgICB0
-eXBlID0+ICJzdWJtaXQiLAogICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0+ICJfYWN0aW9u
-X2ltcG9ydCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzID0+ICJlcF9mb3JtX2FjdGlv
-bl9idXR0b24iLAogICAgICAgICkgKTsKICAgICAgICAkYnV0dG9uLT5hcHBlbmRDaGlsZCggJHht
-bC0+Y3JlYXRlX3RleHRfbm9kZSggIkltcG9ydCIgKSApOwoKICAgICAgICAjIHRvZ2dsZSBzd2l0
-Y2gKICAgICAgICBteSAkdG9nZ2xlX2J1dHRvbiA9ICRidG5fZGl2LT5hcHBlbmRDaGlsZCggJHht
-bC0+Y3JlYXRlX2VsZW1lbnQoICJidXR0b24iLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
-ID0+ICJidXR0b24iLAogICAgICAgICAgICAgICAgICAgICAgICBvbmNsaWNrID0+ICJ0b2dnbGVP
-cmNpZENoZWNrYm94KCk7IiwKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3MgPT4gImVwX2Zv
-cm1fYWN0aW9uX2J1dHRvbiB0b2dnbGVfYnV0dG9uIiwKICAgICAgICApICk7CiMgICAgICAgICR0
-b2dnbGVfYnV0dG9uLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX3RleHRfbm9kZSggJHNlbGYt
-Pmh0bWxfcGhyYXNlKCAic2VsZWN0IiApICkgKTsKICAgICAgICAkdG9nZ2xlX2J1dHRvbi0+YXBw
-ZW5kQ2hpbGQoICRzZWxmLT5odG1sX3BocmFzZSggInNlbGVjdCIgKSApOwoKICAgICAgICAkaW50
-cm9fZGl2LT5hcHBlbmRDaGlsZCggJGJ0bl9kaXYgKTsKCiAgICAgICAgcmV0dXJuICRpbnRyb19k
-aXY7Cn0KCnN1YiByZW5kZXJfb3JjaWRfaW1wb3J0X291dHJvCnsKCW15KCAkc2VsZiwgJHhtbCAp
-ID0gQF87CgoJbXkgJGJ0bl9kaXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNz
-ID0+ICJpbXBvcnRfb3V0cm9fYnV0dG9uIiApOwoKCW15ICRidXR0b24gPSAkYnRuX2Rpdi0+YXBw
-ZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiYnV0dG9uIiwKCQl0eXBlID0+ICJzdWJt
-aXQiLAoJCW5hbWUgPT4gIl9hY3Rpb25faW1wb3J0IiwKCQljbGFzcyA9PiAiZXBfZm9ybV9hY3Rp
-b25fYnV0dG9uIiwKCSkgKTsKCSRidXR0b24tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfdGV4
-dF9ub2RlKCAiSW1wb3J0IiApICk7CgogICAgIyB0b2dnbGUgc3dpdGNoCiAgICBteSAkdG9nZ2xl
-X2J1dHRvbiA9ICRidG5fZGl2LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJi
-dXR0b24iLAogICAgICAgICAgICAgICAgICAgIHR5cGUgPT4gImJ1dHRvbiIsCiAgICAgICAgICAg
-ICAgICAgICAgb25jbGljayA9PiAidG9nZ2xlT3JjaWRDaGVja2JveCgpOyIsCiAgICAgICAgICAg
-ICAgICAgICAgY2xhc3MgPT4gImVwX2Zvcm1fYWN0aW9uX2J1dHRvbiB0b2dnbGVfYnV0dG9uIiwK
-ICAgICkgKTsKICAgICR0b2dnbGVfYnV0dG9uLT5hcHBlbmRDaGlsZCggJHNlbGYtPmh0bWxfcGhy
-YXNlKCAic2VsZWN0IiApICk7CgoJcmV0dXJuICRidG5fZGl2Owp9CgpzdWIgcmVuZGVyX29yY2lk
-X3JlY29yZHMKewoJbXkoICRzZWxmLCAkcmVwbywgJHdvcmtzICkgPSBAXzsKCglteSAkeG1sID0g
-JHJlcG8tPnhtbDsKCW15ICRpbXBvcnRfY291bnQgPSAwOwoJbXkgJGZpZWxkc2V0ID0gJHhtbC0+
-Y3JlYXRlX2VsZW1lbnQoICJmaWVsZHNldCIsIGNsYXNzID0+ICJvcmNpZF9pbXBvcnRzIiApOwoK
-ICAgIG15ICRsZWdlbmQgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImxlZ2VuZCIsIGlkPT4ib3Jj
-aWRfaW1wb3J0X2xlZ2VuZCIsIGNsYXNzPT4iZXBfZmllbGRfbGVnZW5kIiApOwogICAgJGxlZ2Vu
-ZC0+YXBwZW5kQ2hpbGQoICRzZWxmLT5odG1sX3BocmFzZSggImltcG9ydF9oZWxwIiApICk7CiAg
-ICAkZmllbGRzZXQtPmFwcGVuZENoaWxkKCAkbGVnZW5kICk7CgogICAgZm9yZWFjaCBteSAkd29y
-ayAoIEB7JHdvcmtzfSApCgl7CgkJJGZpZWxkc2V0LT5hcHBlbmRDaGlsZCggJHNlbGYtPnJlbmRl
-cl9vcmNpZF9pdGVtKCAkcmVwbywgJHhtbCwgJHdvcmsgKSApOwogICAgICAgICRpbXBvcnRfY291
-bnQrKzsKCX0KICAgIGlmKCAkaW1wb3J0X2NvdW50ID09IDAgKSB7CiAgICAgICAgJGZpZWxkc2V0
-LT5hcHBlbmRDaGlsZCggJHNlbGYtPmh0bWxfcGhyYXNlKCAibm9faXRlbXMiICkgKTsKICAgIH0K
-CXJldHVybiAkZmllbGRzZXQ7Cn0KCnN1YiByZW5kZXJfb3JjaWRfaXRlbQp7CglteSggJHNlbGYs
-ICRyZXBvLCAkeG1sLCAkd29yayApID0gQF87CglteSAkbGkgPSAkeG1sLT5jcmVhdGVfZWxlbWVu
-dCggImRpdiIsIGNsYXNzID0+ICJvcmNpZF9pdGVtIiApOwoKCW15ICRzdW1tYXJ5ID0gJHhtbC0+
-Y3JlYXRlX2VsZW1lbnQoICJkaXYiLCBjbGFzcyA9PiAib3JjaWRfc3VtbWFyeSIgKTsKCSNyZW5k
-ZXIgdGl0bGUKCW15ICR0aXRsZSA9ICR3b3JrLT57J3RpdGxlJ30tPnsndGl0bGUnfS0+eyd2YWx1
-ZSd9OwoJJHN1bW1hcnktPmFwcGVuZENoaWxkKCAkc2VsZi0+cmVuZGVyX29yY2lkX3RleHQoICR4
-bWwsICR0aXRsZSwgInRpdGxlIiApICk7CiAgICBpZiggZGVmaW5lZCAkd29yay0+eyd0aXRsZSd9
-LT57J3N1YnRpdGxlJ30gKQogICAgewogICAgICAgICRzdW1tYXJ5LT5hcHBlbmRDaGlsZCggJHNl
-bGYtPnJlbmRlcl9vcmNpZF90ZXh0KCAkeG1sLCAkd29yay0+eyd0aXRsZSd9LT57J3N1YnRpdGxl
-J30tPnsndmFsdWUnfSwgInN1YnRpdGxlIiApICk7CiAgICB9CgoJI2dldCBkYXRlICsgdHlwZQoJ
-bXkgJGRhdGUgPSAiIjsKICAgICAgICAkZGF0ZSAuPSAkd29yay0+eydwdWJsaWNhdGlvbi1kYXRl
-J30tPnsnZGF5J30tPnsndmFsdWUnfSBpZiAkd29yay0+eydwdWJsaWNhdGlvbi1kYXRlJ30tPnsn
-ZGF5J30tPnsndmFsdWUnfTsKICAgICAgICAkZGF0ZSAuPSAiLyIuJHdvcmstPnsncHVibGljYXRp
-b24tZGF0ZSd9LT57J21vbnRoJ30tPnsndmFsdWUnfSBpZiAkd29yay0+eydwdWJsaWNhdGlvbi1k
-YXRlJ30tPnsnbW9udGgnfS0+eyd2YWx1ZSd9OwogICAgICAgICRkYXRlIC49ICIvIi4kd29yay0+
-eydwdWJsaWNhdGlvbi1kYXRlJ30tPnsneWVhcid9LT57J3ZhbHVlJ30gaWYgJHdvcmstPnsncHVi
-bGljYXRpb24tZGF0ZSd9LT57J3llYXInfS0+eyd2YWx1ZSd9OwoKCSN0eXBlCglteSAkdHlwZSA9
-ICR3b3JrLT57J3R5cGUnfTsKCgkjZGF0ZXx0eXBlIHN0cmluZwoJbXkgJGRhdGVfdHlwZSA9ICIi
-OwoJJGRhdGVfdHlwZSAuPSAkZGF0ZSBpZiAkZGF0ZSBuZSAiIjsKCSRkYXRlX3R5cGUgLj0gIiB8
-ICIgaWYgJGRhdGUgbmUgIiIgJiYgZGVmaW5lZCAkdHlwZTsKCSRkYXRlX3R5cGUgLj0gJHR5cGUg
-aWYgZGVmaW5lZCAkdHlwZTsKCSRzdW1tYXJ5LT5hcHBlbmRDaGlsZCggJHNlbGYtPnJlbmRlcl9v
-cmNpZF90ZXh0KCAkeG1sLCAkZGF0ZV90eXBlLCAiZGF0ZS10eXBlIiApICk7CgoJI2V4dCBpZGVu
-dGlmaWVycwoJbXkgJGV4dF9pZHMgPSAkd29yay0+eydleHRlcm5hbC1pZHMnfS0+eydleHRlcm5h
-bC1pZCd9OwoJbXkgJGlkX3VsID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJ1bCIsIGNsYXNzID0+
-ICJleHRlcm5hbF9pZGVudGlmaWVycyIgKTsKICAgICAgICBmb3JlYWNoIG15ICRleHRfaWQgKCBA
-JGV4dF9pZHMgKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJGlkX3R5cGUgPSAkZXh0X2lkLT57
-J2V4dGVybmFsLWlkLXR5cGUnfTsKICAgICAgICAgICAgbXkgJGlkID0gJGV4dF9pZC0+eydleHRl
-cm5hbC1pZC12YWx1ZSd9OwogICAgICAgICAgICBteSAkaWRfdXJsID0gJGV4dF9pZC0+eydleHRl
-cm5hbC1pZC11cmwnfS0+eyd2YWx1ZSd9OwogICAgICAgICAgICAkaWRfdWwtPmFwcGVuZENoaWxk
-KCAkc2VsZi0+cmVuZGVyX2V4dF9pZCggJHhtbCwgJGlkX3R5cGUsICRpZCwgJGlkX3VybCApICk7
-Cgl9Cgkkc3VtbWFyeS0+YXBwZW5kQ2hpbGQoICRpZF91bCApOwoKCSNzb3VyY2UKCW15ICRzb3Vy
-Y2UgPSAkd29yay0+eydzb3VyY2UnfS0+eydzb3VyY2UtbmFtZSd9LT57J3ZhbHVlJ307Cgkkc3Vt
-bWFyeS0+YXBwZW5kQ2hpbGQoICRzZWxmLT5yZW5kZXJfb3JjaWRfdGV4dCggJHhtbCwgIlNvdXJj
-ZTogJHNvdXJjZSIsICJzb3VyY2UiICkgKTsKCgkjaW1wb3J0CglteSAkaW1wb3J0ID0gJHhtbC0+
-Y3JlYXRlX2VsZW1lbnQoICJkaXYiLCBjbGFzcyA9PiAib3JjaWRfaW1wb3J0IiApOwoJbXkgJGV4
-aXN0aW5nX2lkID0gJHdvcmstPnsnJGV4aXN0aW5nX2lkJ307CgogICAgI21vZGlmaWNhdGlvbiBk
-YXRlIChkaXZpZGVkIGJ5IDEwMDAgYmVjYXVzZSBvZiBkaWZmZXJlbnQgdGltZSBoYW5kbGluZyBz
-ZWNvbmRzL21pbGxpc2Vjb25kcyBieSBlcG9jaC91bml4KQogICAgbXkgJGNnaSA9IENHSS0+bmV3
-KCk7CiAgICBteSAkZmlsdGVyX2RhdGUgPSAwOwogICAgbXkgJHdvcmtfZGF0ZSA9ICRzZWxmLT5n
-ZXRfd29ya19kYXRlKCAkcmVwbywgJHdvcmsgKTsKICAgIGlmKCBkZWZpbmVkICRjZ2ktPnBhcmFt
-KCdmaWx0ZXJfZGF0ZScpKQogICAgewogICAgICAgICRmaWx0ZXJfZGF0ZSA9ICRjZ2ktPnBhcmFt
-KCdmaWx0ZXJfZGF0ZScpOwogICAgICAgIG15KCAkeWVhciwgJG1vbnRoLCAkZGF5ICkgPSAkZmls
-dGVyX2RhdGUgPX4gL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KSQvOwogICAgICAgICRmaWx0ZXJf
-ZGF0ZSA9IHRpbWVnbSggMCwgMCwgMCwgJGRheSwgJG1vbnRoLTEsICR5ZWFyLTE5MDAgKTsKICAg
-IH0KCWlmKCAkZXhpc3RpbmdfaWQgKQoJewoJCSRpbXBvcnQtPnNldEF0dHJpYnV0ZSggImNsYXNz
-IiwgIm9yY2lkX2ltcG9ydCB3YXJuaW5nIiApOwoJCSRpbXBvcnQtPmFwcGVuZENoaWxkKCAkc2Vs
-Zi0+cmVuZGVyX2R1cGxpY2F0ZV9yZWNvcmQoICRyZXBvLCAkeG1sLCAkZXhpc3RpbmdfaWQgKSAp
-OwogICAgICAgICRsaS0+c2V0QXR0cmlidXRlKCAiY2xhc3MiLCAib3JjaWRfaXRlbSBkdXBsaWNh
-dGUiICk7Cgl9CiAgICBlbHNpZiggJHdvcmtfZGF0ZSA8ICRmaWx0ZXJfZGF0ZSApCiAgICB7CgkJ
-JGltcG9ydC0+c2V0QXR0cmlidXRlKCAiY2xhc3MiLCAib3JjaWRfaW1wb3J0IHdhcm5pbmciICk7
-CgkJJGltcG9ydC0+YXBwZW5kQ2hpbGQoICRzZWxmLT5yZW5kZXJfZmlsdGVyZWRfcmVjb3JkKCAk
-cmVwbywgJHhtbCwgJHdvcmtfZGF0ZSwgJGZpbHRlcl9kYXRlICkgKTsKICAgICAgICAkbGktPnNl
-dEF0dHJpYnV0ZSggImNsYXNzIiwgIm9yY2lkX2l0ZW0gZmlsdGVyZWQiICk7CiAgICB9CgllbHNl
-Cgl7CgkJJGltcG9ydC0+YXBwZW5kQ2hpbGQoICRzZWxmLT5yZW5kZXJfaW1wb3J0X3dvcmsoICRy
-ZXBvLCAkeG1sLCAkd29yayApICk7Cgl9CgoJJGxpLT5hcHBlbmRDaGlsZCggJHN1bW1hcnkgKTsK
-CSRsaS0+YXBwZW5kQ2hpbGQoICRpbXBvcnQgKTsKCglyZXR1cm4gJGxpOwp9CgpzdWIgcmVuZGVy
-X29yY2lkX3RleHQKewoJbXkoICRzZWxmLCAkeG1sLCAkZGF0YSwgJGNsYXNzICkgPSBAXzsKCglt
-eSAkc3BhbiA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gJGNsYXNzICk7
-Cgkkc3Bhbi0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV90ZXh0X25vZGUoICRkYXRhICkgKTsK
-CXJldHVybiAkc3BhbjsKfQoKc3ViIHJlbmRlcl9leHRfaWQKewoJbXkoICRzZWxmLCAkeG1sLCAk
-aWRlbnRpZmllciwgJHZhbHVlLCAkdXJsICkgPSBAXzsKCglteSAkaWRfbGkgPSAkeG1sLT5jcmVh
-dGVfZWxlbWVudCggImxpIiApOwoJbXkgJGxhYmVsID0gJHhtbC0+Y3JlYXRlX3RleHRfbm9kZSgg
-JGlkZW50aWZpZXIgLiAiOiAiICk7CiAgICAkaWRfbGktPmFwcGVuZENoaWxkKCAkbGFiZWwgKTsK
-ICAgIGlmKCBkZWZpbmVkICR1cmwgKQogICAgewogICAgICAgIG15ICRsaW5rID0gJHhtbC0+Y3Jl
-YXRlX2VsZW1lbnQoICJhIiwgaHJlZj0+JHVybCwgdGFyZ2V0PT4iX2JsYW5rIiApOwogICAgICAg
-ICRsaW5rLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX3RleHRfbm9kZSggJHZhbHVlICkgKTsK
-ICAgICAgICAkaWRfbGktPmFwcGVuZENoaWxkKCAkbGluayApOwogICAgfQogICAgZWxzZQogICAg
-ewogICAgICAgICRpZF9saS0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV90ZXh0X25vZGUoICR2
-YWx1ZSApICk7CiAgICB9CglyZXR1cm4gJGlkX2xpOwp9CgpzdWIgcmVuZGVyX2R1cGxpY2F0ZV9y
-ZWNvcmQKewoJbXkoICRzZWxmLCAkcmVwbywgJHhtbCwgJGV4aXN0aW5nX2lkICkgPSBAXzsKCW15
-ICRkaXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJkdXBsaWNhdGVf
-cmVjb3JkIiApOwoKCSNnZXQgZHVwbGljYXRlIHJlY29yZAoJbXkgJGRzID0gJHJlcG8tPmRhdGFz
-ZXQoICJlcHJpbnQiICk7CglteSAkZXByaW50ID0gJGRzLT5kYXRhb2JqKCBAeyRleGlzdGluZ19p
-ZH1bMF0gKTsKCSRkaXYtPmFwcGVuZENoaWxkKCAkc2VsZi0+aHRtbF9waHJhc2UoCgkJIm9yY2lk
-X2R1cGxpY2F0ZV9yZWNvcmQiLAoJCXRpdGxlID0+ICRlcHJpbnQtPnJlbmRlcl92YWx1ZSggInRp
-dGxlIiApCgkpICk7CglyZXR1cm4gJGRpdjsKfQoKc3ViIHJlbmRlcl9maWx0ZXJlZF9yZWNvcmQK
-ewoJbXkoICRzZWxmLCAkcmVwbywgJHhtbCwgJHdvcmtfZGF0ZSwgJGZpbHRlcl9kYXRlICkgPSBA
-XzsKCW15ICRkaXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJmaWx0
-ZXJlZF9yZWNvcmRfaW5mbyIgKTsKIAogICAgbXkgJGRhdGVfZm9ybWF0ID0gJHJlcG8tPmNvbmZp
-ZyggIm9yY2lkX3N1cHBvcnRfYWR2YW5jZSIsICJmaWx0ZXJfZm9ybWF0IiApIHx8ICIlZC8lbS8l
-WSI7CgogICAgIyB3b3JrIGRhdGUKICAgIG15ICRkYXRlX3R5cGUgPSAkcmVwby0+Y29uZmlnKCAi
-b3JjaWRfc3VwcG9ydF9hZHZhbmNlIiwgImZpbHRlcl9kYXRlIiApIHx8ICJsYXN0LW1vZGlmaWVk
-LWRhdGUiOwogICAgJHdvcmtfZGF0ZSA9IHN0cmZ0aW1lICRkYXRlX2Zvcm1hdCwgZ210aW1lKCAk
-d29ya19kYXRlICk7CiAgICAkZGl2LT5hcHBlbmRDaGlsZCggJHNlbGYtPmh0bWxfcGhyYXNlKCAk
-ZGF0ZV90eXBlICkgKTsKICAgICRkaXYtPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfdGV4dF9u
-b2RlKCAkd29ya19kYXRlICkgKTsKCiAgICAkZGl2LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRl
-X2VsZW1lbnQoICJiciIgKSApOwogCiAgICAjIGZpbHRlciBkYXRlCiAgICAkZmlsdGVyX2RhdGUg
-PSBzdHJmdGltZSAkZGF0ZV9mb3JtYXQsIGdtdGltZSggJGZpbHRlcl9kYXRlICk7CiAgICAkZGl2
-LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX3RleHRfbm9kZSggIkZpbHRlciBkYXRlOiAkZmls
-dGVyX2RhdGUiICkgKTsKICAgICRkaXYtPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVu
-dCggImJyIiApICk7CglyZXR1cm4gJGRpdjsKfQoKCiNjaGVja2JveCBmb3IgaW1wb3J0aW5nIHdv
-cmsgdmlhIEpTT04gcmV0dXJuIGZyb20gb3JjaWQub3JnCnN1YiByZW5kZXJfaW1wb3J0X3dvcmsK
-ewoJbXkoICRzZWxmLCAkcmVwbywgJHhtbCwgJHdvcmsgKSA9IEBfOwoKCW15ICRkaXYgPSAkeG1s
-LT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJvcmNpZF9pbXBvcnRfd29yayIgKTsK
-CglteSAkbGFiZWwgPSAkc2VsZi0+aHRtbF9waHJhc2UoICJvcmNpZF9pbXBvcnRfd29yayIgKTsK
-CglteSAkY2hlY2tib3ggPSAkcmVwby0+bWFrZV9lbGVtZW50KCAiaW5wdXQiLAogICAgICAgICAg
-ICAgICAgICAgICAgICB0eXBlID0+ICJjaGVja2JveCIsCiAgICAgICAgICAgICAgICAgICAgICAg
-IG5hbWUgPT4gInB1dC1jb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgImFyaWEtbGFiZWwi
-ID0+ICR3b3JrLT57J3RpdGxlJ30tPnsndGl0bGUnfS0+eyd2YWx1ZSd9LAogICAgICAgICk7CgoJ
-JGNoZWNrYm94LT5zZXRBdHRyaWJ1dGUoICJjaGVja2VkIiwgInllcyIgKTsKICAgICAgICAkY2hl
-Y2tib3gtPnNldEF0dHJpYnV0ZSggInZhbHVlIiwgJHdvcmstPnsncHV0LWNvZGUnfSApOwoKCSRk
-aXYtPmFwcGVuZENoaWxkKCAkY2hlY2tib3ggKTsKICAgICAgICAkZGl2LT5hcHBlbmRDaGlsZCgg
-JGxhYmVsICk7CgoJcmV0dXJuICRkaXY7Cn0KCiNjaGVrY2JveCBmb3IgaW1wb3J0aW5nIHdvcmsg
-dmlhIERPSQpzdWIgcmVuZGVyX2ltcG9ydF9kb2kKewoJbXkoICRzZWxmLCAkcmVwbywgJHhtbCwg
-JHdvcmtfc3VtbWFyeSApID0gQF87CgoJbXkgJGRpdiA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAi
-ZGl2IiwgY2xhc3MgPT4gIm9yY2lkX2ltcG9ydF9kb2kiICk7CgoJbXkgJGxhYmVsID0gJHNlbGYt
-Pmh0bWxfcGhyYXNlKCAib3JjaWRfaW1wb3J0X3ZpYV9kb2kiICk7CglteSAkY2hlY2tib3ggPSAk
+bWxfcGhyYXNlKCAic2hvd18kZGF0ZV90eXBlIiApICk7CiAgICBteSAkZGF0ZV9waWNrZXIgPSAk
+eG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiZGF0ZSIsIG5hbWUgPT4gImZp
+bHRlcl9kYXRlIiwgImFyaWEtbGFiZWwiID0+ICJGaWx0ZXIgRGF0ZSIsIHZhbHVlID0+ICRxdWVy
+eS0+cGFyYW0oJ2ZpbHRlcl9kYXRlJykgKTsKCiAgICAkZmlsdGVyX2RhdGVfZm9ybS0+YXBwZW5k
+Q2hpbGQoICRkYXRlX3BpY2tlciApOwogICAgJGZpbHRlcl9kYXRlX2Zvcm0tPmFwcGVuZENoaWxk
+KCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAic3VibWl0IiwgY2xhc3Mg
+PT4gImVwX2Zvcm1fYWN0aW9uX2J1dHRvbiBmaWx0ZXIiLCB2YWx1ZSA9PiAkc2VsZi0+cGhyYXNl
+KCAiZmlsdGVyIiApICkgKTsKICAgICRmaWx0ZXJfZGl2LT5hcHBlbmRDaGlsZCggJGZpbHRlcl9k
+YXRlX2Zvcm0gKTsKICAgIHJldHVybiAkZmlsdGVyX2RpdjsKfQoKc3ViIHJlbmRlcl9maWx0ZXJf
+ZHVwbGljYXRlX2Zvcm0KewogICAgbXkoICRzZWxmLCAkeG1sLCAkcXVlcnkgKSA9IEBfOwogICAg
+bXkgJGR1cGxpY2F0ZV9kaXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+
+ICJmaWx0ZXJfZHVwbGljYXRlIiApOwogICAgbXkgJGZpbHRlcl9kdXBsaWNhdGVfZm9ybSA9ICR4
+bWwtPmNyZWF0ZV9lbGVtZW50KCAiZm9ybSIsIG1ldGhvZCA9PiAiZ2V0IiwgYWN0aW9uID0+ICIv
+Y2dpL3VzZXJzL2hvbWUiICk7CiAgICAkZmlsdGVyX2R1cGxpY2F0ZV9mb3JtLT5hcHBlbmRDaGls
+ZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4gImhpZGRlbiIsIG5hbWUg
+PT4gInNjcmVlbiIsIGlkID0+ICJzY3JlZW4iLCB2YWx1ZSA9PiAiSW1wb3J0RnJvbU9yY2lkIikg
+KTsKCiAgICAjIFNhdmUgb3RoZXIgcGFyYW1zCiAgICBteSAkcXVlcnlfZGF0YXNldCA9ICRxdWVy
+eS0+cGFyYW0oJ2RhdGFzZXQnKTsKICAgIG15ICRxdWVyeV9kYXRhb2JqID0gJHF1ZXJ5LT5wYXJh
+bSgnZGF0YW9iaicpOwogICAgbXkgJHF1ZXJ5X2RhdGUgPSAkcXVlcnktPnBhcmFtKCdmaWx0ZXJf
+ZGF0ZScpOwogICAgbXkgJHF1ZXJ5X2R1cGxpY2F0ZSA9ICRxdWVyeS0+cGFyYW0oJ2hpZGVfZHVw
+bGljYXRlcycpOwogICAgaWYoIGRlZmluZWQoJHF1ZXJ5X2RhdGFzZXQpICYmIGRlZmluZWQoJHF1
+ZXJ5X2RhdGFvYmopICkgewogICAgICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENo
+aWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFt
+ZSA9PiAiZGF0YXNldCIsIHZhbHVlID0+ICRxdWVyeV9kYXRhc2V0KSApOwogICAgICAgICRmaWx0
+ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImlu
+cHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAiZGF0YW9iaiIsIHZhbHVlID0+ICRxdWVy
+eV9kYXRhb2JqKSApOwogICAgfQogICAgaWYoIGRlZmluZWQoJHF1ZXJ5X2RhdGUpICl7CiAgICAg
+ICAgJGZpbHRlcl9kdXBsaWNhdGVfZm9ybS0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9lbGVt
+ZW50KCAiaW5wdXQiLCB0eXBlID0+ICJoaWRkZW4iLCBuYW1lID0+ICJmaWx0ZXJfZGF0ZSIsIHZh
+bHVlID0+ICRxdWVyeV9kYXRlKSApOwogICAgfQoKICAgIGlmKCBkZWZpbmVkKCRxdWVyeV9kdXBs
+aWNhdGUpICkKICAgIHsKICAgICAgICBpZiggJHF1ZXJ5X2R1cGxpY2F0ZSA9PSAxICkKICAgICAg
+ICB7CiAgICAgICAgICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkeG1s
+LT5jcmVhdGVfZWxlbWVudCggImlucHV0IiwgdHlwZSA9PiAiaGlkZGVuIiwgbmFtZSA9PiAiaGlk
+ZV9kdXBsaWNhdGVzIiwgdmFsdWUgPT4gMCkgKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAg
+ICAkZmlsdGVyX2R1cGxpY2F0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1l
+bnQoICJpbnB1dCIsIHR5cGUgPT4gImhpZGRlbiIsIG5hbWUgPT4gImhpZGVfZHVwbGljYXRlcyIs
+IHZhbHVlID0+IDEpICk7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICAkZmlsdGVyX2R1
+cGxpY2F0ZV9mb3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIs
+IHR5cGUgPT4gImhpZGRlbiIsIG5hbWUgPT4gImhpZGVfZHVwbGljYXRlcyIsIHZhbHVlID0+IDAp
+ICk7CiAgICB9CgoKICAgICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0tPmFwcGVuZENoaWxkKCAkc2Vs
+Zi0+aHRtbF9waHJhc2UoICJkdXBsaWNhdGVzIiApICk7CiAgICAkZmlsdGVyX2R1cGxpY2F0ZV9m
+b3JtLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJpbnB1dCIsIHR5cGUgPT4g
+InN1Ym1pdCIsIGNsYXNzID0+ICJlcF9mb3JtX2FjdGlvbl9idXR0b24gZmlsdGVyIiwgdmFsdWUg
+PT4gJHNlbGYtPnBocmFzZSggInNob3dfaGlkZV9kdXBsaWNhdGVzIiApKSk7CiAgICAkZHVwbGlj
+YXRlX2Rpdi0+YXBwZW5kQ2hpbGQoICRmaWx0ZXJfZHVwbGljYXRlX2Zvcm0gKTsKICAgIHJldHVy
+biAkZHVwbGljYXRlX2RpdjsKfQoKI2NvbnN0cnVjdCB0aGUgaW1wb3J0IERPTSBjb21wb25lbnRz
+CnN1YiByZW5kZXJfb3JjaWRfaW1wb3J0CnsKCW15KCAkc2VsZiwgJHJlcG8sICR1c2VyLCAkeG1s
+LCAkd29ya3MgKSA9IEBfOwoJbXkgJGZvcm0gPSAkc2VsZi0+cmVuZGVyX2Zvcm0oICJQT1NUIiAp
+OwogICAgICAgICRmb3JtLT5hcHBlbmRDaGlsZCggJHJlcG8tPnJlbmRlcl9oaWRkZW5fZmllbGQo
+ICJvcmNpZF91c2VyaWQiLCAkdXNlci0+aWQgKSApOwoKCSRmb3JtLT5hcHBlbmRDaGlsZCggJHNl
+bGYtPnJlbmRlcl9vcmNpZF9pbXBvcnRfaW50cm8oICR4bWwgKSApOwoJJGZvcm0tPmFwcGVuZENo
+aWxkKCAkc2VsZi0+cmVuZGVyX29yY2lkX3JlY29yZHMoICRyZXBvLCAkd29ya3MgKSApOwoJJGZv
+cm0tPmFwcGVuZENoaWxkKCAkc2VsZi0+cmVuZGVyX29yY2lkX2ltcG9ydF9vdXRybyggJHhtbCAp
+ICk7CgoJcmV0dXJuICRmb3JtOwp9CgpzdWIgcmVuZGVyX29yY2lkX2ltcG9ydF9pbnRybwp7CiAg
+ICAgICAgbXkoICRzZWxmLCAkeG1sICkgPSBAXzsKICAgICAgICBteSAkaW50cm9fZGl2ID0gJHht
+bC0+Y3JlYXRlX2VsZW1lbnQoICJkaXYiLCBjbGFzcyA9PiAiaW1wb3J0X2ludHJvIiApOwoKICAg
+ICAgICAjcmVuZGVyIGltcG9ydCBidXR0b24KICAgICAgICBteSAkYnRuX2RpdiA9ICR4bWwtPmNy
+ZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gImltcG9ydF9pbnRyb19idG4iICk7CiAgICAg
+ICAgbXkgJGJ1dHRvbiA9ICRidG5fZGl2LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1l
+bnQoICJidXR0b24iLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0+ICJzdWJtaXQiLAog
+ICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0+ICJfYWN0aW9uX2ltcG9ydCIsCiAgICAgICAg
+ICAgICAgICAgICAgICAgIGNsYXNzID0+ICJlcF9mb3JtX2FjdGlvbl9idXR0b24iLAogICAgICAg
+ICkgKTsKICAgICAgICAkYnV0dG9uLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX3RleHRfbm9k
+ZSggIkltcG9ydCIgKSApOwoKICAgICAgICAjIHRvZ2dsZSBzd2l0Y2gKICAgICAgICBteSAkdG9n
+Z2xlX2J1dHRvbiA9ICRidG5fZGl2LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQo
+ICJidXR0b24iLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0+ICJidXR0b24iLAogICAg
+ICAgICAgICAgICAgICAgICAgICBvbmNsaWNrID0+ICJ0b2dnbGVPcmNpZENoZWNrYm94KCk7IiwK
+ICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3MgPT4gImVwX2Zvcm1fYWN0aW9uX2J1dHRvbiB0
+b2dnbGVfYnV0dG9uIiwKICAgICAgICApICk7CiMgICAgICAgICR0b2dnbGVfYnV0dG9uLT5hcHBl
+bmRDaGlsZCggJHhtbC0+Y3JlYXRlX3RleHRfbm9kZSggJHNlbGYtPmh0bWxfcGhyYXNlKCAic2Vs
+ZWN0IiApICkgKTsKICAgICAgICAkdG9nZ2xlX2J1dHRvbi0+YXBwZW5kQ2hpbGQoICRzZWxmLT5o
+dG1sX3BocmFzZSggInNlbGVjdCIgKSApOwoKICAgICAgICAkaW50cm9fZGl2LT5hcHBlbmRDaGls
+ZCggJGJ0bl9kaXYgKTsKCiAgICAgICAgcmV0dXJuICRpbnRyb19kaXY7Cn0KCnN1YiByZW5kZXJf
+b3JjaWRfaW1wb3J0X291dHJvCnsKCW15KCAkc2VsZiwgJHhtbCApID0gQF87CgoJbXkgJGJ0bl9k
+aXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJpbXBvcnRfb3V0cm9f
+YnV0dG9uIiApOwoKCW15ICRidXR0b24gPSAkYnRuX2Rpdi0+YXBwZW5kQ2hpbGQoICR4bWwtPmNy
+ZWF0ZV9lbGVtZW50KCAiYnV0dG9uIiwKCQl0eXBlID0+ICJzdWJtaXQiLAoJCW5hbWUgPT4gIl9h
+Y3Rpb25faW1wb3J0IiwKCQljbGFzcyA9PiAiZXBfZm9ybV9hY3Rpb25fYnV0dG9uIiwKCSkgKTsK
+CSRidXR0b24tPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfdGV4dF9ub2RlKCAiSW1wb3J0IiAp
+ICk7CgogICAgIyB0b2dnbGUgc3dpdGNoCiAgICBteSAkdG9nZ2xlX2J1dHRvbiA9ICRidG5fZGl2
+LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJidXR0b24iLAogICAgICAgICAg
+ICAgICAgICAgIHR5cGUgPT4gImJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgb25jbGljayA9
+PiAidG9nZ2xlT3JjaWRDaGVja2JveCgpOyIsCiAgICAgICAgICAgICAgICAgICAgY2xhc3MgPT4g
+ImVwX2Zvcm1fYWN0aW9uX2J1dHRvbiB0b2dnbGVfYnV0dG9uIiwKICAgICkgKTsKICAgICR0b2dn
+bGVfYnV0dG9uLT5hcHBlbmRDaGlsZCggJHNlbGYtPmh0bWxfcGhyYXNlKCAic2VsZWN0IiApICk7
+CgoJcmV0dXJuICRidG5fZGl2Owp9CgpzdWIgcmVuZGVyX29yY2lkX3JlY29yZHMKewoJbXkoICRz
+ZWxmLCAkcmVwbywgJHdvcmtzICkgPSBAXzsKCglteSAkeG1sID0gJHJlcG8tPnhtbDsKCW15ICRp
+bXBvcnRfY291bnQgPSAwOwoJbXkgJGZpZWxkc2V0ID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJm
+aWVsZHNldCIsIGNsYXNzID0+ICJvcmNpZF9pbXBvcnRzIiApOwoKICAgIG15ICRsZWdlbmQgPSAk
+eG1sLT5jcmVhdGVfZWxlbWVudCggImxlZ2VuZCIsIGlkPT4ib3JjaWRfaW1wb3J0X2xlZ2VuZCIs
+IGNsYXNzPT4iZXBfZmllbGRfbGVnZW5kIiApOwogICAgJGxlZ2VuZC0+YXBwZW5kQ2hpbGQoICRz
+ZWxmLT5odG1sX3BocmFzZSggImltcG9ydF9oZWxwIiApICk7CiAgICAkZmllbGRzZXQtPmFwcGVu
+ZENoaWxkKCAkbGVnZW5kICk7CgogICAgZm9yZWFjaCBteSAkd29yayAoIEB7JHdvcmtzfSApCgl7
+CgkJJGZpZWxkc2V0LT5hcHBlbmRDaGlsZCggJHNlbGYtPnJlbmRlcl9vcmNpZF9pdGVtKCAkcmVw
+bywgJHhtbCwgJHdvcmsgKSApOwogICAgICAgICRpbXBvcnRfY291bnQrKzsKCX0KICAgIGlmKCAk
+aW1wb3J0X2NvdW50ID09IDAgKSB7CiAgICAgICAgJGZpZWxkc2V0LT5hcHBlbmRDaGlsZCggJHNl
+bGYtPmh0bWxfcGhyYXNlKCAibm9faXRlbXMiICkgKTsKICAgIH0KCXJldHVybiAkZmllbGRzZXQ7
+Cn0KCnN1YiByZW5kZXJfb3JjaWRfaXRlbQp7CglteSggJHNlbGYsICRyZXBvLCAkeG1sLCAkd29y
+ayApID0gQF87CglteSAkbGkgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+
+ICJvcmNpZF9pdGVtIiApOwoKCW15ICRzdW1tYXJ5ID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJk
+aXYiLCBjbGFzcyA9PiAib3JjaWRfc3VtbWFyeSIgKTsKCSNyZW5kZXIgdGl0bGUKCW15ICR0aXRs
+ZSA9ICR3b3JrLT57J3RpdGxlJ30tPnsndGl0bGUnfS0+eyd2YWx1ZSd9OwoJJHN1bW1hcnktPmFw
+cGVuZENoaWxkKCAkc2VsZi0+cmVuZGVyX29yY2lkX3RleHQoICR4bWwsICR0aXRsZSwgInRpdGxl
+IiApICk7CiAgICBpZiggZGVmaW5lZCAkd29yay0+eyd0aXRsZSd9LT57J3N1YnRpdGxlJ30gKQog
+ICAgewogICAgICAgICRzdW1tYXJ5LT5hcHBlbmRDaGlsZCggJHNlbGYtPnJlbmRlcl9vcmNpZF90
+ZXh0KCAkeG1sLCAkd29yay0+eyd0aXRsZSd9LT57J3N1YnRpdGxlJ30tPnsndmFsdWUnfSwgInN1
+YnRpdGxlIiApICk7CiAgICB9CgoJI2dldCBkYXRlICsgdHlwZQoJbXkgJGRhdGUgPSAiIjsKICAg
+ICAgICAkZGF0ZSAuPSAkd29yay0+eydwdWJsaWNhdGlvbi1kYXRlJ30tPnsnZGF5J30tPnsndmFs
+dWUnfSBpZiAkd29yay0+eydwdWJsaWNhdGlvbi1kYXRlJ30tPnsnZGF5J30tPnsndmFsdWUnfTsK
+ICAgICAgICAkZGF0ZSAuPSAiLyIuJHdvcmstPnsncHVibGljYXRpb24tZGF0ZSd9LT57J21vbnRo
+J30tPnsndmFsdWUnfSBpZiAkd29yay0+eydwdWJsaWNhdGlvbi1kYXRlJ30tPnsnbW9udGgnfS0+
+eyd2YWx1ZSd9OwogICAgICAgICRkYXRlIC49ICIvIi4kd29yay0+eydwdWJsaWNhdGlvbi1kYXRl
+J30tPnsneWVhcid9LT57J3ZhbHVlJ30gaWYgJHdvcmstPnsncHVibGljYXRpb24tZGF0ZSd9LT57
+J3llYXInfS0+eyd2YWx1ZSd9OwoKCSN0eXBlCglteSAkdHlwZSA9ICR3b3JrLT57J3R5cGUnfTsK
+CgkjZGF0ZXx0eXBlIHN0cmluZwoJbXkgJGRhdGVfdHlwZSA9ICIiOwoJJGRhdGVfdHlwZSAuPSAk
+ZGF0ZSBpZiAkZGF0ZSBuZSAiIjsKCSRkYXRlX3R5cGUgLj0gIiB8ICIgaWYgJGRhdGUgbmUgIiIg
+JiYgZGVmaW5lZCAkdHlwZTsKCSRkYXRlX3R5cGUgLj0gJHR5cGUgaWYgZGVmaW5lZCAkdHlwZTsK
+CSRzdW1tYXJ5LT5hcHBlbmRDaGlsZCggJHNlbGYtPnJlbmRlcl9vcmNpZF90ZXh0KCAkeG1sLCAk
+ZGF0ZV90eXBlLCAiZGF0ZS10eXBlIiApICk7CgoJI2V4dCBpZGVudGlmaWVycwoJbXkgJGV4dF9p
+ZHMgPSAkd29yay0+eydleHRlcm5hbC1pZHMnfS0+eydleHRlcm5hbC1pZCd9OwoJbXkgJGlkX3Vs
+ID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJ1bCIsIGNsYXNzID0+ICJleHRlcm5hbF9pZGVudGlm
+aWVycyIgKTsKICAgICAgICBmb3JlYWNoIG15ICRleHRfaWQgKCBAJGV4dF9pZHMgKQogICAgICAg
+IHsKICAgICAgICAgICAgbXkgJGlkX3R5cGUgPSAkZXh0X2lkLT57J2V4dGVybmFsLWlkLXR5cGUn
+fTsKICAgICAgICAgICAgbXkgJGlkID0gJGV4dF9pZC0+eydleHRlcm5hbC1pZC12YWx1ZSd9Owog
+ICAgICAgICAgICBteSAkaWRfdXJsID0gJGV4dF9pZC0+eydleHRlcm5hbC1pZC11cmwnfS0+eyd2
+YWx1ZSd9OwogICAgICAgICAgICAkaWRfdWwtPmFwcGVuZENoaWxkKCAkc2VsZi0+cmVuZGVyX2V4
+dF9pZCggJHhtbCwgJGlkX3R5cGUsICRpZCwgJGlkX3VybCApICk7Cgl9Cgkkc3VtbWFyeS0+YXBw
+ZW5kQ2hpbGQoICRpZF91bCApOwoKCSNzb3VyY2UKCW15ICRzb3VyY2UgPSAkd29yay0+eydzb3Vy
+Y2UnfS0+eydzb3VyY2UtbmFtZSd9LT57J3ZhbHVlJ307Cgkkc3VtbWFyeS0+YXBwZW5kQ2hpbGQo
+ICRzZWxmLT5yZW5kZXJfb3JjaWRfdGV4dCggJHhtbCwgIlNvdXJjZTogJHNvdXJjZSIsICJzb3Vy
+Y2UiICkgKTsKCgkjaW1wb3J0CglteSAkaW1wb3J0ID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJk
+aXYiLCBjbGFzcyA9PiAib3JjaWRfaW1wb3J0IiApOwoJbXkgJGV4aXN0aW5nX2lkID0gJHdvcmst
+PnsnJGV4aXN0aW5nX2lkJ307CgogICAgI21vZGlmaWNhdGlvbiBkYXRlIChkaXZpZGVkIGJ5IDEw
+MDAgYmVjYXVzZSBvZiBkaWZmZXJlbnQgdGltZSBoYW5kbGluZyBzZWNvbmRzL21pbGxpc2Vjb25k
+cyBieSBlcG9jaC91bml4KQogICAgbXkgJGNnaSA9IENHSS0+bmV3KCk7CiAgICBteSAkZmlsdGVy
+X2RhdGUgPSAwOwogICAgbXkgJHdvcmtfZGF0ZSA9ICRzZWxmLT5nZXRfd29ya19kYXRlKCAkcmVw
+bywgJHdvcmsgKTsKICAgIGlmKCBkZWZpbmVkICRjZ2ktPnBhcmFtKCdmaWx0ZXJfZGF0ZScpKQog
+ICAgewogICAgICAgICRmaWx0ZXJfZGF0ZSA9ICRjZ2ktPnBhcmFtKCdmaWx0ZXJfZGF0ZScpOwog
+ICAgICAgIG15KCAkeWVhciwgJG1vbnRoLCAkZGF5ICkgPSAkZmlsdGVyX2RhdGUgPX4gL14oXGR7
+NH0pLShcZHsyfSktKFxkezJ9KSQvOwogICAgICAgICRmaWx0ZXJfZGF0ZSA9IHRpbWVnbSggMCwg
+MCwgMCwgJGRheSwgJG1vbnRoLTEsICR5ZWFyLTE5MDAgKTsKICAgIH0KCWlmKCAkZXhpc3Rpbmdf
+aWQgKQoJewoJCSRpbXBvcnQtPnNldEF0dHJpYnV0ZSggImNsYXNzIiwgIm9yY2lkX2ltcG9ydCB3
+YXJuaW5nIiApOwoJCSRpbXBvcnQtPmFwcGVuZENoaWxkKCAkc2VsZi0+cmVuZGVyX2R1cGxpY2F0
+ZV9yZWNvcmQoICRyZXBvLCAkeG1sLCAkZXhpc3RpbmdfaWQgKSApOwogICAgICAgICRsaS0+c2V0
+QXR0cmlidXRlKCAiY2xhc3MiLCAib3JjaWRfaXRlbSBkdXBsaWNhdGUiICk7Cgl9CiAgICBlbHNp
+ZiggJHdvcmtfZGF0ZSA8ICRmaWx0ZXJfZGF0ZSApCiAgICB7CgkJJGltcG9ydC0+c2V0QXR0cmli
+dXRlKCAiY2xhc3MiLCAib3JjaWRfaW1wb3J0IHdhcm5pbmciICk7CgkJJGltcG9ydC0+YXBwZW5k
+Q2hpbGQoICRzZWxmLT5yZW5kZXJfZmlsdGVyZWRfcmVjb3JkKCAkcmVwbywgJHhtbCwgJHdvcmtf
+ZGF0ZSwgJGZpbHRlcl9kYXRlICkgKTsKICAgICAgICAkbGktPnNldEF0dHJpYnV0ZSggImNsYXNz
+IiwgIm9yY2lkX2l0ZW0gZmlsdGVyZWQiICk7CiAgICB9CgllbHNlCgl7CgkJJGltcG9ydC0+YXBw
+ZW5kQ2hpbGQoICRzZWxmLT5yZW5kZXJfaW1wb3J0X3dvcmsoICRyZXBvLCAkeG1sLCAkd29yayAp
+ICk7Cgl9CgoJJGxpLT5hcHBlbmRDaGlsZCggJHN1bW1hcnkgKTsKCSRsaS0+YXBwZW5kQ2hpbGQo
+ICRpbXBvcnQgKTsKCglyZXR1cm4gJGxpOwp9CgpzdWIgcmVuZGVyX29yY2lkX3RleHQKewoJbXko
+ICRzZWxmLCAkeG1sLCAkZGF0YSwgJGNsYXNzICkgPSBAXzsKCglteSAkc3BhbiA9ICR4bWwtPmNy
+ZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gJGNsYXNzICk7Cgkkc3Bhbi0+YXBwZW5kQ2hp
+bGQoICR4bWwtPmNyZWF0ZV90ZXh0X25vZGUoICRkYXRhICkgKTsKCXJldHVybiAkc3BhbjsKfQoK
+c3ViIHJlbmRlcl9leHRfaWQKewoJbXkoICRzZWxmLCAkeG1sLCAkaWRlbnRpZmllciwgJHZhbHVl
+LCAkdXJsICkgPSBAXzsKCglteSAkaWRfbGkgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImxpIiAp
+OwoJbXkgJGxhYmVsID0gJHhtbC0+Y3JlYXRlX3RleHRfbm9kZSggJGlkZW50aWZpZXIgLiAiOiAi
+ICk7CiAgICAkaWRfbGktPmFwcGVuZENoaWxkKCAkbGFiZWwgKTsKICAgIGlmKCBkZWZpbmVkICR1
+cmwgKQogICAgewogICAgICAgIG15ICRsaW5rID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJhIiwg
+aHJlZj0+JHVybCwgdGFyZ2V0PT4iX2JsYW5rIiApOwogICAgICAgICRsaW5rLT5hcHBlbmRDaGls
+ZCggJHhtbC0+Y3JlYXRlX3RleHRfbm9kZSggJHZhbHVlICkgKTsKICAgICAgICAkaWRfbGktPmFw
+cGVuZENoaWxkKCAkbGluayApOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgICRpZF9saS0+
+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV90ZXh0X25vZGUoICR2YWx1ZSApICk7CiAgICB9Cgly
+ZXR1cm4gJGlkX2xpOwp9CgpzdWIgcmVuZGVyX2R1cGxpY2F0ZV9yZWNvcmQKewoJbXkoICRzZWxm
+LCAkcmVwbywgJHhtbCwgJGV4aXN0aW5nX2lkICkgPSBAXzsKCW15ICRkaXYgPSAkeG1sLT5jcmVh
+dGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJkdXBsaWNhdGVfcmVjb3JkIiApOwoKCSNnZXQg
+ZHVwbGljYXRlIHJlY29yZAoJbXkgJGRzID0gJHJlcG8tPmRhdGFzZXQoICJlcHJpbnQiICk7Cglt
+eSAkZXByaW50ID0gJGRzLT5kYXRhb2JqKCBAeyRleGlzdGluZ19pZH1bMF0gKTsKCSRkaXYtPmFw
+cGVuZENoaWxkKCAkc2VsZi0+aHRtbF9waHJhc2UoCgkJIm9yY2lkX2R1cGxpY2F0ZV9yZWNvcmQi
+LAoJCXRpdGxlID0+ICRlcHJpbnQtPnJlbmRlcl92YWx1ZSggInRpdGxlIiApCgkpICk7CglyZXR1
+cm4gJGRpdjsKfQoKc3ViIHJlbmRlcl9maWx0ZXJlZF9yZWNvcmQKewoJbXkoICRzZWxmLCAkcmVw
+bywgJHhtbCwgJHdvcmtfZGF0ZSwgJGZpbHRlcl9kYXRlICkgPSBAXzsKCW15ICRkaXYgPSAkeG1s
+LT5jcmVhdGVfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJmaWx0ZXJlZF9yZWNvcmRfaW5mbyIg
+KTsKIAogICAgbXkgJGRhdGVfZm9ybWF0ID0gJHJlcG8tPmNvbmZpZyggIm9yY2lkX3N1cHBvcnRf
+YWR2YW5jZSIsICJmaWx0ZXJfZm9ybWF0IiApIHx8ICIlZC8lbS8lWSI7CgogICAgIyB3b3JrIGRh
+dGUKICAgIG15ICRkYXRlX3R5cGUgPSAkcmVwby0+Y29uZmlnKCAib3JjaWRfc3VwcG9ydF9hZHZh
+bmNlIiwgImZpbHRlcl9kYXRlIiApIHx8ICJsYXN0LW1vZGlmaWVkLWRhdGUiOwogICAgJHdvcmtf
+ZGF0ZSA9IHN0cmZ0aW1lICRkYXRlX2Zvcm1hdCwgZ210aW1lKCAkd29ya19kYXRlICk7CiAgICAk
+ZGl2LT5hcHBlbmRDaGlsZCggJHNlbGYtPmh0bWxfcGhyYXNlKCAkZGF0ZV90eXBlICkgKTsKICAg
+ICRkaXYtPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfdGV4dF9ub2RlKCAkd29ya19kYXRlICkg
+KTsKCiAgICAkZGl2LT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJiciIgKSAp
+OwogCiAgICAjIGZpbHRlciBkYXRlCiAgICAkZmlsdGVyX2RhdGUgPSBzdHJmdGltZSAkZGF0ZV9m
+b3JtYXQsIGdtdGltZSggJGZpbHRlcl9kYXRlICk7CiAgICAkZGl2LT5hcHBlbmRDaGlsZCggJHht
+bC0+Y3JlYXRlX3RleHRfbm9kZSggIkZpbHRlciBkYXRlOiAkZmlsdGVyX2RhdGUiICkgKTsKICAg
+ICRkaXYtPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZWxlbWVudCggImJyIiApICk7CglyZXR1
+cm4gJGRpdjsKfQoKCiNjaGVja2JveCBmb3IgaW1wb3J0aW5nIHdvcmsgdmlhIEpTT04gcmV0dXJu
+IGZyb20gb3JjaWQub3JnCnN1YiByZW5kZXJfaW1wb3J0X3dvcmsKewoJbXkoICRzZWxmLCAkcmVw
+bywgJHhtbCwgJHdvcmsgKSA9IEBfOwoKCW15ICRkaXYgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCgg
+ImRpdiIsIGNsYXNzID0+ICJvcmNpZF9pbXBvcnRfd29yayIgKTsKCglteSAkbGFiZWwgPSAkc2Vs
+Zi0+aHRtbF9waHJhc2UoICJvcmNpZF9pbXBvcnRfd29yayIgKTsKCglteSAkY2hlY2tib3ggPSAk
cmVwby0+bWFrZV9lbGVtZW50KCAiaW5wdXQiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
-ID0+ICJjaGVja2JveCIsCiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPT4gImRvaSIsCiAg
-ICAgICAgKTsKCgkjZ2V0IHRoZSBET0kKCW15ICRkb2k7CglteSAkZXh0X2lkcyA9ICR3b3JrX3N1
-bW1hcnktPnsnZXh0ZXJuYWwtaWRzJ30tPnsnZXh0ZXJuYWwtaWQnfTsKICAgICAgICBmb3JlYWNo
-IG15ICRleHRfaWQgKCBAJGV4dF9pZHMgKQogICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKCAk
-ZXh0X2lkLT57J2V4dGVybmFsLWlkLXR5cGUnfSBlcSAiZG9pIiApCgkJewoJCQkkZG9pID0gJGV4
-dF9pZC0+eydleHRlcm5hbC1pZC12YWx1ZSd9OwoJCQlsYXN0OwoJCX0KICAgICAgICB9CgoJaWYo
-IGRlZmluZWQgJGRvaSApCgl7CgkJI3JlZm9ybWF0IGRvaSBmb3IgaW1wb3J0IHBsdWdpbgoJCSRk
-b2kgPX4gcy9eKGh0dHAocyk/OlwvXC8oZHhcLik/ZG9pXC5vcmdcLykvL2k7CgoJCSRjaGVja2Jv
-eC0+c2V0QXR0cmlidXRlKCAiY2hlY2tlZCIsICJ5ZXMiICk7CgkJJGNoZWNrYm94LT5zZXRBdHRy
-aWJ1dGUoICJ2YWx1ZSIsICRkb2kgKTsKCX0KCWVsc2UKCXsKCQkkY2hlY2tib3gtPnNldEF0dHJp
-YnV0ZSggImRpc2FibGVkIiApOwoJfQoKCSRkaXYtPmFwcGVuZENoaWxkKCAkY2hlY2tib3ggKTsK
-ICAgICAgICAkZGl2LT5hcHBlbmRDaGlsZCggJGxhYmVsICk7CgoJcmV0dXJuICRkaXY7Cn0KCgpz
-dWIgaW1wb3J0X3ZpYV9vcmNpZAp7CglteSggJHNlbGYsICRyZXBvLCAkdXNlciwgJHdvcmsgKSA9
-IEBfOwoKCSNJZiB3ZSBoYXZlIGEgd29yazpjaXRhdGlvbiBhbmQgYW4gaW1wb3J0IHBsdWdpbiB0
-aGF0IGNhbgoJI3Byb2Nlc3MgaXQsIHdlIHNob3VsZCB1c2UgdGhhdCB0byAicHJpbWUiIHRoZSBl
-cHJpbnQuCgkjUGFyc2VkIE9SQ0lEIGRhdGEgd2lsbCB0aGVuIHRha2UgcHJlY2VkZW50CgoJbXkg
-JGVwZGF0YSA9IHt9OwoKCWlmKEVQcmludHM6OlV0aWxzOjppc19zZXQoJHdvcmstPntjaXRhdGlv
-bn0pKXsKCgkJbXkgJHRtcGZpbGUgPSBGaWxlOjpUZW1wLT5uZXc7CgkJYmlubW9kZSgkdG1wZmls
-ZSwgIjp1dGY4Iik7CgkJcHJpbnQgJHRtcGZpbGUgJHdvcmstPntjaXRhdGlvbn0tPnsiY2l0YXRp
-b24tdmFsdWUifTsKCQlzZWVrKCR0bXBmaWxlLCAwLCAwKTsKCgkJaWYoRVByaW50czo6VXRpbHM6
-OmlzX3NldCgkd29yay0+e2NpdGF0aW9ufS0+eyJjaXRhdGlvbi10eXBlIn0pKXsKCQkgICAgbXkg
-JHBsdWdpbmlkID0gJHJlcG8tPmNvbmZpZyggIm9yY2lkX3N1cHBvcnRfYWR2YW5jZSIsICJpbXBv
-cnRfY2l0YXRpb25fdHlwZV9tYXAiICktPnskd29yay0+e2NpdGF0aW9ufS0+eyJjaXRhdGlvbi10
-eXBlIn19OwoJIAkgICAgbXkgJHBsdWdpbiA9ICRyZXBvLT5wbHVnaW4oICJJbXBvcnQ6OiIuJHBs
-dWdpbmlkICk7CgoJCSAgICB1bmxlc3MoICFkZWZpbmVkICRwbHVnaW4gKQoJCSAgICB7CgkJCSAg
-ICBteSAkcGFyc2VyID0gQmliVGVYOjpQYXJzZXItPm5ldyggJHRtcGZpbGUgKTsKCQkJICAgIHdo
-aWxlKG15ICRlbnRyeSA9ICRwYXJzZXItPm5leHQpCgkJCSAgICB7CgkJCQlpZiggISRlbnRyeS0+
-cGFyc2Vfb2sgKQoJCQkJewoJCQkJICAgICRwbHVnaW4tPndhcm5pbmcoICJFcnJvciBwYXJzaW5n
-OiAiIC4gJGVudHJ5LT5lcnJvciApOwoJCQkJICAgIG5leHQ7CgkJCQl9CgkJCQkkZXBkYXRhID0g
-JHBsdWdpbi0+Y29udmVydF9pbnB1dCggJGVudHJ5ICk7CgkJCQluZXh0IHVubGVzcyBkZWZpbmVk
-ICRlcGRhdGE7CgkJCSAgICB9CiAgCQkgICAgfQoJCX0KCX0KCSRlcGRhdGEtPntlcHJpbnRfc3Rh
-dHVzfSA9ICRyZXBvLT5jb25maWcoICJvcmNpZF9zdXBwb3J0X2FkdmFuY2UiLCAiaW1wb3J0X2Rl
-c3RpbmF0aW9uIikgfHwgImluYm94IjsKCSRlcGRhdGEtPnt1c2VyaWR9ID0gJHVzZXItPmdldF92
-YWx1ZSggInVzZXJpZCIgKTsKCgkjY3JlYXRlIHRoZSBlcHJpbnQgb2JqZWN0CglteSAkZXByaW50
-ID0gJHJlcG8tPmRhdGFzZXQoICdlcHJpbnQnICktPmNyZWF0ZV9kYXRhb2JqKCRlcGRhdGEpOwoK
-CWlmKCBkZWZpbmVkKCAkd29yay0+eyJ0eXBlIn0gKSApCgl7CgkJJGVwcmludC0+c2V0X3ZhbHVl
-KCAidHlwZSIsICZ7JHJlcG8tPmNvbmZpZyggIm9yY2lkX3N1cHBvcnRfYWR2YW5jZSIsICJ3b3Jr
-X3R5cGVfdG9fZXByaW50IiApfSggJHdvcmstPnsidHlwZSJ9ICkgKTsKCX0KCglpZiggZGVmaW5l
-ZCggJHdvcmstPnsidGl0bGUifS0+eyJ0aXRsZSJ9LT57InZhbHVlIn0gKSApCgl7CiAgICAgICAg
-aWYoIGRlZmluZWQoICR3b3JrLT57InRpdGxlIn0tPnsic3VidGl0bGUifS0+eyJ2YWx1ZSJ9ICkg
-KQogICAgICAgIHsKICAgICAgICAgICAgbXkgJHRpdGxlID0gJHdvcmstPnsidGl0bGUifS0+eyJ0
-aXRsZSJ9LT57InZhbHVlIn07CiAgICAgICAgICAgIG15ICRzdWJ0aXRsZSA9ICR3b3JrLT57InRp
-dGxlIn0tPnsic3VidGl0bGUifS0+eyJ2YWx1ZSJ9OwogICAgICAgICAgICBteSAkY29tcGxldGVf
-dGl0bGUgPSAiIjsKICAgICAgICAgICAgaWYoICR0aXRsZSA9fiBtL1xXJC8gKQogICAgICAgICAg
-ICB7CiAgICAgICAgICAgICAgICAkY29tcGxldGVfdGl0bGUgPSAkY29tcGxldGVfdGl0bGUgPSAk
-dGl0bGUgLiAiICIgLiAkc3VidGl0bGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQog
-ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkY29tcGxldGVfdGl0bGUgPSAkdGl0bGUgLiAi
-OiAiIC4gJHN1YnRpdGxlOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRlcHJpbnQtPnNldF92
-YWx1ZSggInRpdGxlIiwgJGNvbXBsZXRlX3RpdGxlICk7CiAgICAgICAgfQogICAgICAgIGVsc2UK
-ICAgICAgICB7CiAgICAJCSRlcHJpbnQtPnNldF92YWx1ZSggInRpdGxlIiwgJHdvcmstPnsidGl0
-bGUifS0+eyJ0aXRsZSJ9LT57InZhbHVlIn0gKTsKICAgICAgICB9Cgl9CgoJaWYoIGRlZmluZWQo
-ICR3b3JrLT57ImpvdXJuYWwtdGl0bGUifS0+eyJ2YWx1ZSJ9ICkgKQoJewoJCSRlcHJpbnQtPnNl
-dF92YWx1ZSggInB1YmxpY2F0aW9uIiAsICR3b3JrLT57ImpvdXJuYWwtdGl0bGUifS0+eyJ2YWx1
-ZSJ9ICk7Cgl9CgoJaWYoIGRlZmluZWQoICR3b3JrLT57InNob3J0LWRlc2NyaXB0aW9uIn0gKSAp
-Cgl7CgkJJGVwcmludC0+c2V0X3ZhbHVlKCAiYWJzdHJhY3QiLCAkd29yay0+eyJzaG9ydC1kZXNj
-cmlwdGlvbiJ9ICk7Cgl9CgogCSNwdWJsaWNhdGlvbiBkYXRlCiAJaWYoIGRlZmluZWQoJHdvcmst
-PnsicHVibGljYXRpb24tZGF0ZSJ9KSApCiAJewogICAgICAgIG15ICR5ZWFyID0gJHdvcmstPnsi
-cHVibGljYXRpb24tZGF0ZSJ9LT57InllYXIifS0+eyd2YWx1ZSd9OwogICAgICAgIG15ICRtb250
-aCA9ICR3b3JrLT57InB1YmxpY2F0aW9uLWRhdGUifS0+eyJtb250aCJ9LT57J3ZhbHVlJ307CiAg
-ICAgICAgbXkgJGRheSA9ICR3b3JrLT57InB1YmxpY2F0aW9uLWRhdGUifS0+eyJkYXkifS0+eyd2
-YWx1ZSd9OwogICAgICAgIG15ICRkYXRlID0gJHllYXIgLiAiLSIgLiAkbW9udGggLiAiLSIgLiAk
-ZGF5OwoJfQoKCWlmKCBkZWZpbmVkKCAkd29yay0+eyJ1cmwifSApICkKCXsKCQkkZXByaW50LT5z
-ZXRfdmFsdWUoICJvZmZpY2lhbF91cmwiLCAkd29yay0+eyJ1cmwifS0+eyJ2YWx1ZSJ9ICk7Cgl9
-CgoJaWYoIGRlZmluZWQoICR3b3JrLT57ImV4dGVybmFsLWlkcyJ9LT57ImV4dGVybmFsLWlkIn0g
-KSApCgl7CgkJZm9yZWFjaCBteSAkaWRlbnRpZmllciAoQHskd29yay0+eyJleHRlcm5hbC1pZHMi
-fS0+eyJleHRlcm5hbC1pZCJ9fSApCgkJewoJCQlpZiggJGlkZW50aWZpZXItPnsiZXh0ZXJuYWwt
-aWQtdHlwZSJ9IGVxICJkb2kiICkKCQkJewoJCQkJaWYoICRyZXBvLT5kYXRhc2V0KCAnZXByaW50
-JyApLT5oYXNfZmllbGQoICJkb2kiICkgKQoJCQkJewoJCQkJCSRlcHJpbnQtPnNldF92YWx1ZSgg
-ImRvaSIsICRpZGVudGlmaWVyLT57ImV4dGVybmFsLWlkLXZhbHVlIn0gKTsKCQkJCX0KCQkJCWVs
-c2UKCQkJCXsKCQkJCQkkZXByaW50LT5zZXRfdmFsdWUoICJpZF9udW1iZXIiLCAiZG9pIi4kaWRl
-bnRpZmllci0+eyJleHRlcm5hbC1pZC12YWx1ZSJ9ICk7CgkJCQl9CgkJCX0KCQkgICAgICAgIGVs
-c2lmICggJGlkZW50aWZpZXItPnsiZXh0ZXJuYWwtaWQtdHlwZSJ9IGVxICJ1cm4iICkKICAgICAg
-ICAgICAgCQl7CgkJCQlpZiggJHJlcG8tPmRhdGFzZXQoICdlcHJpbnQnICktPmhhc19maWVsZCgg
-InVybiIgKSApCgkJCQl7CgkJCQkJJGVwcmludC0+c2V0X3ZhbHVlKCAidXJuIiwgJGlkZW50aWZp
-ZXItPnsiZXh0ZXJuYWwtaWQtdmFsdWUifSApOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRl
-cHJpbnQtPnNldF92YWx1ZSggImlkX251bWJlciIsICRpZGVudGlmaWVyLT57ImV4dGVybmFsLWlk
-LXZhbHVlIn0gKTsKCQkJCX0KICAgICAgICAgICAgCQl9CiAgICAgICAgICAgIAkJZWxzaWYgKCAk
-aWRlbnRpZmllci0+eyJleHRlcm5hbC1pZC10eXBlIn0gZXEgImlzc24iICkKICAgICAgICAgICAg
-CQl7CgkJCQkkZXByaW50LT5zZXRfdmFsdWUoICJpc3NuIiwgJGlkZW50aWZpZXItPnsiZXh0ZXJu
-YWwtaWQtdmFsdWUifSApOwogICAgICAgICAgICAJCX0KICAgICAgICAgICAgCQllbHNpZiAoICRp
-ZGVudGlmaWVyLT57ImV4dGVybmFsLWlkLXR5cGUifSBlcSAiaXNibiIgKQogICAgICAgICAgICAJ
-CXsKCQkJCSRlcHJpbnQtPnNldF92YWx1ZSggImlzYm4iLCAkaWRlbnRpZmllci0+eyJleHRlcm5h
-bC1pZC12YWx1ZSJ9ICk7CiAgICAgICAgICAgIAkJfQoJCX0KCX0KCgkjY29udHJpYnV0b3JzCglt
-eSAlZXByaW50X2NvbnRyaWJzOwogICAgZm9yZWFjaCBteSAkcm9sZSAoIEB7JHJlcG8tPmNvbmZp
-ZyggIm9yY2lkIiwgImVwcmludF9maWVsZHMiICl9ICkKICAgIHsKICAgICAgICAkZXByaW50X2Nv
-bnRyaWJzeyRyb2xlfSA9IFtdOwogICAgfQoJaWYoIGRlZmluZWQoICR3b3JrLT57ImNvbnRyaWJ1
-dG9ycyJ9ICkgICYmIHNjYWxhciBAeyR3b3JrLT57ImNvbnRyaWJ1dG9ycyJ9LT57ImNvbnRyaWJ1
-dG9yIn19ICkKCXsKCQlmb3JlYWNoIG15ICRjb250cmlidXRvciAoQHskd29yay0+eyJjb250cmli
-dXRvcnMifS0+eyJjb250cmlidXRvciJ9fSApCgkJewogICAgICAgICAgICAJCW15ICgkdXNlcm5h
-bWUsJHB1dGNvZGUsJG9yY2lkKSA9IHVuZGVmOwoKICAgICAgICAgICAgCQlteSAkdXNlcnNfb3Jj
-aWQgPSAkdXNlci0+dmFsdWUoICJvcmNpZCIgKTsKCQkJbXkgJGNfdXNlcjsgIyBhIHVzZXIgb2Jq
-ZWN0IGRlcml2ZWQgZnJvbSBjcmVhdG9yIG9iamVjdCwgYWRkaXRpb25hbCB0byB0aGUgbG9nZ2Vk
-IGluIG9uZQoJCQlpZiggZGVmaW5lZCggJGNvbnRyaWJ1dG9yLT57ImNvbnRyaWJ1dG9yLW9yY2lk
-In0gKSApCgkJCXsKCQkJCSNzZWFyY2ggZm9yIHVzZXIgd2l0aCBvcmNpZCBhbmQgYWRkIHVzZXJu
-YW1lIHRvIGVwcmludCBjb250cmlidXRvciBpZiBmb3VuZAoJCQkJJG9yY2lkID0gJGNvbnRyaWJ1
-dG9yLT57ImNvbnRyaWJ1dG9yLW9yY2lkIn0tPnsicGF0aCJ9OwoJCQkJJGNfdXNlciA9IEVQcmlu
-dHM6Ok9SQ0lEOjpVdGlsczo6dXNlcl93aXRoX29yY2lkKCAkcmVwbywgJG9yY2lkICk7CgogICAg
-ICAgICAgICAgICAgCQkjIFNhdmUgcHV0Y29kZSBpZiB0aGlzIGNvbnRyaWJ1dG9yIGlzIHRoZSBp
-bXBvcnRpbmcgdXNlcgogICAgICAgICAgICAgICAgCQlpZiggJHVzZXJzX29yY2lkIGVxICRvcmNp
-ZCApCiAgICAgICAgICAgICAgICAJCXsKICAgICAgICAgICAgICAgICAgICAJCQlteSBAd29ya19w
-dXRjb2RlcyA9ICggJHdvcmstPnsicHV0LWNvZGUifSApOwogICAgICAgICAgICAgICAgICAgIAkJ
-CWZvcmVhY2ggbXkgJHdvcmtfcHV0Y29kZSAoQHdvcmtfcHV0Y29kZXMpCiAgICAgICAgICAgICAg
-ICAgICAgCQkJewogICAgICAgICAgICAgICAgICAgICAgICAJCQkkcHV0Y29kZSA9ICR3b3JrX3B1
-dGNvZGU7CiAgICAgICAgICAgICAgICAgICAgCQkJfQogICAgICAgICAgICAgICAgCQl9CgoJCQl9
-CgoJCQkjV2hhdCBraW5kIG9mIGNvbnRyaWJ1dG9yIGlzIHRoaXM/ICBQdWxsIG1hdGNoIGZyb20g
-Y29uZmlnCgkJCW15ICRjb250cmliX3JvbGUgPSAkY29udHJpYnV0b3ItPnsiY29udHJpYnV0b3It
-YXR0cmlidXRlcyJ9LT57ImNvbnRyaWJ1dG9yLXJvbGUifTsKCQkJbXkgJWNvbnRyaWJfY29uZmln
-ID0gJXskcmVwby0+Y29uZmlnKCAib3JjaWRfc3VwcG9ydF9hZHZhbmNlIiwgImNvbnRyaWJ1dG9y
-X21hcCIgKX07CgkJCWZvcmVhY2ggbXkgJGNvbnRyaWJfdHlwZSAoIGtleXMgJWNvbnRyaWJfY29u
-ZmlnICkKCQkJewoJCQkJaWYoICRjb250cmliX2NvbmZpZ3skY29udHJpYl90eXBlfSBlcSAkY29u
-dHJpYl9yb2xlICkKCQkJCXsKCQkJCQkkY29udHJpYl9yb2xlID0gJGNvbnRyaWJfdHlwZTsKCQkJ
-CX0KCQkJfQoJCQkjY29uc3RydWN0IGEgaGFzaCBvZiBhcHByb3ByaWF0ZSBpbmZvCgkJCW15KCAk
-aG9ub3VyaWZpYywgJGdpdmVuLCAkZmFtaWx5ICkgPSBFUHJpbnRzOjpPUkNJRDo6QWR2YW5jZVV0
-aWxzOjpnZXRfbmFtZSggJGNvbnRyaWJ1dG9yLT57ImNyZWRpdC1uYW1lIn0tPnsidmFsdWUifSAp
-OwoJCQlteSAkY29udHJpYnV0b3IgPSB7CgkJCQluYW1lID0+IHsKCQkJCQlob25vdXJpZmljID0+
-ICRob25vdXJpZmljLAoJCQkJCWdpdmVuID0+ICRnaXZlbiwKCQkJCQlmYW1pbHkgPT4gJGZhbWls
-eSwKCQkJCX0sCgkJCX07CiAgICAgICAgICAgIAkJI3B1dGNvZGUgb25seSBvcgoJCQkkY29udHJp
-YnV0b3ItPnsicHV0Y29kZSJ9ID0gJHB1dGNvZGUgaWYgZGVmaW5lZCAkcHV0Y29kZTsKCQkJI0Fk
-ZCBvcmNpZCBpZiB3ZSBoYXZlIG9uZQoJCQkkY29udHJpYnV0b3ItPntvcmNpZH0gPSAkb3JjaWQg
-aWYgZGVmaW5lZCAkb3JjaWQ7CgkJCSNBZGQgdXNlciBlbWFpbCBpZiB3ZSBoYXZlIGxpbmtlZCBh
-IHVzZXIKCQkJJGNvbnRyaWJ1dG9yLT57ImlkIn0gPSAkY191c2VyLT5nZXRfdmFsdWUoICJlbWFp
-bCIgKSBpZiBkZWZpbmVkICRjX3VzZXI7CgoJCQkjYWRkIHVzZXIgdG8gYXBwcm9wcmlhdGUgZmll
-bGQKCQkJZm9yIG15ICRrZXkgKGtleXMgJWVwcmludF9jb250cmlicykKICAgICAgICAgICAgewog
-ICAgICAgICAgICAgICAgaWYoICRjb250cmliX3JvbGUgZXEgJGtleSApewogICAgICAgICAgICAg
-ICAgICAgIHB1c2ggQHskZXByaW50X2NvbnRyaWJzeyRrZXl9fSwgJGNvbnRyaWJ1dG9yOwogICAg
-ICAgICAgICAgICAgfQogICAgICAgICAgICB9CgkJfQoJfQoKICAgICMgSWYgdGhlcmUgYXJlIG5v
-IGNvbnRyaWJ1dG9ycyB3aGF0c29ldmVyLi4uCiAgICBteSAkbm9fY29udHJpYnMgPSAxOwogICAg
-Zm9yIG15ICRrZXkgKGtleXMgJWVwcmludF9jb250cmlicykKICAgIHsKICAgICAgICBpZiggQHsk
-ZXByaW50X2NvbnRyaWJzeyRrZXl9fSB8fCAkZXByaW50LT5pc19zZXQoJGtleSkgKQogICAgICAg
-IHsKICAgICAgICAgICAgJG5vX2NvbnRyaWJzID0gMDsKICAgICAgICAgICAgbGFzdDsKICAgICAg
-ICB9CiAgICB9CiAgICAjIC4uLmFzc3VtZSB0aGUgdXNlciBpcyBhIGNyZWF0b3IKICAgIGlmKCAk
-bm9fY29udHJpYnMgKQogICAgewogICAgICAgIG15ICR1c2Vyc19uYW1lID0gJHVzZXItPmdldF92
-YWx1ZSgibmFtZSIpOwogICAgICAgIG15ICRwdXRjb2RlID0gdW5kZWY7CiAgICAgICAgbXkgQHdv
-cmtfcHV0Y29kZXMgPSAoICR3b3JrLT57InB1dC1jb2RlIn0gKTsKICAgICAgICBmb3JlYWNoIG15
-ICR3b3JrX3B1dGNvZGUgKEB3b3JrX3B1dGNvZGVzKQogICAgICAgIHsKICAgICAgICAgICAgJHB1
-dGNvZGUgPSAkd29ya19wdXRjb2RlOwogICAgICAgIH0KCQlteSAkY29udHJpYnV0b3IgPSB7CgkJ
-CW5hbWUgPT4gewoJCQkJZ2l2ZW4gPT4gJHVzZXJzX25hbWUtPntnaXZlbn0sCgkJCQlmYW1pbHkg
-PT4gJHVzZXJzX25hbWUtPntmYW1pbHl9LAoJCQl9LAogICAgICAgCQlpZCA9PiAkdXNlci0+Z2V0
-X3ZhbHVlKCAiZW1haWwiICksCgkJCW9yY2lkID0+ICR1c2VyLT52YWx1ZSggIm9yY2lkIiApLAoJ
-CQlwdXRjb2RlID0+ICRwdXRjb2RlLAoJCX07CiAgICAgICAgcHVzaCBAeyRlcHJpbnRfY29udHJp
-YnN7Y3JlYXRvcnN9fSwgJGNvbnRyaWJ1dG9yOwogICAgfQoKICAgICMgU2V0IHRoZSBjb250cmli
-dXRvcnMgKG92ZXJ3cml0ZXMgd2hhdCBtaWdodCBoYXZlIGJlZW4gZ2xlYW5lZCBmcm9tIGNpdGF0
-aW9uKQogICAgZm9yIG15ICRrZXkgKGtleXMgJWVwcmludF9jb250cmlicykKICAgIHsKICAgICAg
-ICAkZXByaW50LT5zZXRfdmFsdWUoICRrZXksICRlcHJpbnRfY29udHJpYnN7JGtleX0gKSBpZiBF
-UHJpbnRzOjpVdGlsczo6aXNfc2V0KEB7JGVwcmludF9jb250cmlic3ska2V5fX0pOwogICAgfQoK
-CSNzYXZlIHRoZSByZWNvcmQKCSRlcHJpbnQtPmNvbW1pdDsKIwlwcmludCBTVERFUlIgImNyZWF0
-b3JzIGluIGVwcmludDogIi5EdW1wZXIoJGVwcmludC0+dmFsdWUoICJjcmVhdG9ycyIpKS4iXG4i
-OwoJcmV0dXJuICRlcHJpbnQ7Cn0KCiMgcmV0dXJuIGEgZGF0ZSBmb3IgdGhlIGZpbHRlcmluZyBw
-cm9jZXNzIC0gZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIGRhdGUgd2UncmUgYWZ0ZXIgd2UnbGwg
-bmVlZCB0byByZXRyaWV2ZSBpdCBpbiBkaWZmZXJlbnQgd2F5cwpzdWIgZ2V0X3dvcmtfZGF0ZQp7
-CiAgICBteSggJHNlbGYsICRyZXBvLCAkd29yayApID0gQF87CgogICAgbXkgJGRhdGVfdHlwZSA9
-ICRyZXBvLT5jb25maWcoICJvcmNpZF9zdXBwb3J0X2FkdmFuY2UiLCAiZmlsdGVyX2RhdGUiICkg
-fHwgImxhc3QtbW9kaWZpZWQtZGF0ZSI7CiAgICBpZiggJGRhdGVfdHlwZSBlcSAibGFzdC1tb2Rp
-ZmllZC1kYXRlIiB8fCAkZGF0ZV90eXBlIGVxICJjcmVhdGVkLWRhdGUiICkKICAgIHsKICAgICAg
-ICByZXR1cm4gJHdvcmstPnskZGF0ZV90eXBlfS0+eyd2YWx1ZSd9IC8gMTAwMDsKICAgIH0KICAg
-IGVsc2lmKCAkZGF0ZV90eXBlIGVxICJwdWJsaWNhdGlvbi1kYXRlIiApCiAgICB7ICAgICAgIAog
-ICAgICAgIG15ICR5ZWFyID0gJHdvcmstPnskZGF0ZV90eXBlfS0+e3llYXJ9LT57dmFsdWV9IGlm
-KCBkZWZpbmVkICR3b3JrLT57JGRhdGVfdHlwZX0tPnt5ZWFyfS0+e3ZhbHVlfSApOwogICAgICAg
-IG15ICRtb250aCA9ICR3b3JrLT57JGRhdGVfdHlwZX0tPnttb250aH0tPnt2YWx1ZX0gaWYoIGRl
-ZmluZWQgJHdvcmstPnskZGF0ZV90eXBlfS0+e21vbnRofS0+e3ZhbHVlfSApOwogICAgICAgIG15
-ICRkYXkgPSAkd29yay0+eyRkYXRlX3R5cGV9LT57ZGF5fS0+e3ZhbHVlfSBpZiggZGVmaW5lZCAk
-d29yay0+eyRkYXRlX3R5cGV9LT57ZGF5fS0+e3ZhbHVlfSApOwogICAgICAgIGlmKCBkZWZpbmVk
-ICR5ZWFyICYmIGRlZmluZWQgJG1vbnRoICYmIGRlZmluZWQgJGRheSApCiAgICAgICAgewogICAg
-ICAgICAgICByZXR1cm4gdGltZWdtKCAwLCAwLCAwLCAkZGF5LCAkbW9udGgtMSwgJHllYXItMTkw
-MCApOwogICAgICAgIH0KICAgIH0KCiAgICAjIG5vdGhpbmcgd2UgY2FuIHJlYWxseSB3b3JrIHdp
-dGguLi4gOigKICAgIHJldHVybiB1bmRlZjsKfQo=
+ID0+ICJjaGVja2JveCIsCiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPT4gInB1dC1jb2Rl
+IiwKICAgICAgICAgICAgICAgICAgICAgICAgImFyaWEtbGFiZWwiID0+ICR3b3JrLT57J3RpdGxl
+J30tPnsndGl0bGUnfS0+eyd2YWx1ZSd9LAogICAgICAgICk7CgoJJGNoZWNrYm94LT5zZXRBdHRy
+aWJ1dGUoICJjaGVja2VkIiwgInllcyIgKTsKICAgICAgICAkY2hlY2tib3gtPnNldEF0dHJpYnV0
+ZSggInZhbHVlIiwgJHdvcmstPnsncHV0LWNvZGUnfSApOwoKCSRkaXYtPmFwcGVuZENoaWxkKCAk
+Y2hlY2tib3ggKTsKICAgICAgICAkZGl2LT5hcHBlbmRDaGlsZCggJGxhYmVsICk7CgoJcmV0dXJu
+ICRkaXY7Cn0KCiNjaGVrY2JveCBmb3IgaW1wb3J0aW5nIHdvcmsgdmlhIERPSQpzdWIgcmVuZGVy
+X2ltcG9ydF9kb2kKewoJbXkoICRzZWxmLCAkcmVwbywgJHhtbCwgJHdvcmtfc3VtbWFyeSApID0g
+QF87CgoJbXkgJGRpdiA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiZGl2IiwgY2xhc3MgPT4gIm9y
+Y2lkX2ltcG9ydF9kb2kiICk7CgoJbXkgJGxhYmVsID0gJHNlbGYtPmh0bWxfcGhyYXNlKCAib3Jj
+aWRfaW1wb3J0X3ZpYV9kb2kiICk7CglteSAkY2hlY2tib3ggPSAkcmVwby0+bWFrZV9lbGVtZW50
+KCAiaW5wdXQiLAogICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0+ICJjaGVja2JveCIsCiAg
+ICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPT4gImRvaSIsCiAgICAgICAgKTsKCgkjZ2V0IHRo
+ZSBET0kKCW15ICRkb2k7CglteSAkZXh0X2lkcyA9ICR3b3JrX3N1bW1hcnktPnsnZXh0ZXJuYWwt
+aWRzJ30tPnsnZXh0ZXJuYWwtaWQnfTsKICAgICAgICBmb3JlYWNoIG15ICRleHRfaWQgKCBAJGV4
+dF9pZHMgKQogICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKCAkZXh0X2lkLT57J2V4dGVybmFs
+LWlkLXR5cGUnfSBlcSAiZG9pIiApCgkJewoJCQkkZG9pID0gJGV4dF9pZC0+eydleHRlcm5hbC1p
+ZC12YWx1ZSd9OwoJCQlsYXN0OwoJCX0KICAgICAgICB9CgoJaWYoIGRlZmluZWQgJGRvaSApCgl7
+CgkJI3JlZm9ybWF0IGRvaSBmb3IgaW1wb3J0IHBsdWdpbgoJCSRkb2kgPX4gcy9eKGh0dHAocyk/
+OlwvXC8oZHhcLik/ZG9pXC5vcmdcLykvL2k7CgoJCSRjaGVja2JveC0+c2V0QXR0cmlidXRlKCAi
+Y2hlY2tlZCIsICJ5ZXMiICk7CgkJJGNoZWNrYm94LT5zZXRBdHRyaWJ1dGUoICJ2YWx1ZSIsICRk
+b2kgKTsKCX0KCWVsc2UKCXsKCQkkY2hlY2tib3gtPnNldEF0dHJpYnV0ZSggImRpc2FibGVkIiAp
+OwoJfQoKCSRkaXYtPmFwcGVuZENoaWxkKCAkY2hlY2tib3ggKTsKICAgICAgICAkZGl2LT5hcHBl
+bmRDaGlsZCggJGxhYmVsICk7CgoJcmV0dXJuICRkaXY7Cn0KCgpzdWIgaW1wb3J0X3ZpYV9vcmNp
+ZAp7CglteSggJHNlbGYsICRyZXBvLCAkdXNlciwgJHdvcmsgKSA9IEBfOwoKCSNJZiB3ZSBoYXZl
+IGEgd29yazpjaXRhdGlvbiBhbmQgYW4gaW1wb3J0IHBsdWdpbiB0aGF0IGNhbgoJI3Byb2Nlc3Mg
+aXQsIHdlIHNob3VsZCB1c2UgdGhhdCB0byAicHJpbWUiIHRoZSBlcHJpbnQuCgkjUGFyc2VkIE9S
+Q0lEIGRhdGEgd2lsbCB0aGVuIHRha2UgcHJlY2VkZW50CgoJbXkgJGVwZGF0YSA9IHt9OwoKCWlm
+KEVQcmludHM6OlV0aWxzOjppc19zZXQoJHdvcmstPntjaXRhdGlvbn0pKXsKCgkJbXkgJHRtcGZp
+bGUgPSBGaWxlOjpUZW1wLT5uZXc7CgkJYmlubW9kZSgkdG1wZmlsZSwgIjp1dGY4Iik7CgkJcHJp
+bnQgJHRtcGZpbGUgJHdvcmstPntjaXRhdGlvbn0tPnsiY2l0YXRpb24tdmFsdWUifTsKCQlzZWVr
+KCR0bXBmaWxlLCAwLCAwKTsKCgkJaWYoRVByaW50czo6VXRpbHM6OmlzX3NldCgkd29yay0+e2Np
+dGF0aW9ufS0+eyJjaXRhdGlvbi10eXBlIn0pKXsKCQkgICAgbXkgJHBsdWdpbmlkID0gJHJlcG8t
+PmNvbmZpZyggIm9yY2lkX3N1cHBvcnRfYWR2YW5jZSIsICJpbXBvcnRfY2l0YXRpb25fdHlwZV9t
+YXAiICktPnskd29yay0+e2NpdGF0aW9ufS0+eyJjaXRhdGlvbi10eXBlIn19OwoJIAkgICAgbXkg
+JHBsdWdpbiA9ICRyZXBvLT5wbHVnaW4oICJJbXBvcnQ6OiIuJHBsdWdpbmlkICk7CgoJCSAgICB1
+bmxlc3MoICFkZWZpbmVkICRwbHVnaW4gKQoJCSAgICB7CgkJCSAgICBteSAkcGFyc2VyID0gQmli
+VGVYOjpQYXJzZXItPm5ldyggJHRtcGZpbGUgKTsKCQkJICAgIHdoaWxlKG15ICRlbnRyeSA9ICRw
+YXJzZXItPm5leHQpCgkJCSAgICB7CgkJCQlpZiggISRlbnRyeS0+cGFyc2Vfb2sgKQoJCQkJewoJ
+CQkJICAgICRwbHVnaW4tPndhcm5pbmcoICJFcnJvciBwYXJzaW5nOiAiIC4gJGVudHJ5LT5lcnJv
+ciApOwoJCQkJICAgIG5leHQ7CgkJCQl9CgkJCQkkZXBkYXRhID0gJHBsdWdpbi0+Y29udmVydF9p
+bnB1dCggJGVudHJ5ICk7CgkJCQluZXh0IHVubGVzcyBkZWZpbmVkICRlcGRhdGE7CgkJCSAgICB9
+CiAgCQkgICAgfQoJCX0KCX0KCSRlcGRhdGEtPntlcHJpbnRfc3RhdHVzfSA9ICRyZXBvLT5jb25m
+aWcoICJvcmNpZF9zdXBwb3J0X2FkdmFuY2UiLCAiaW1wb3J0X2Rlc3RpbmF0aW9uIikgfHwgImlu
+Ym94IjsKCSRlcGRhdGEtPnt1c2VyaWR9ID0gJHVzZXItPmdldF92YWx1ZSggInVzZXJpZCIgKTsK
+CgkjY3JlYXRlIHRoZSBlcHJpbnQgb2JqZWN0CglteSAkZXByaW50ID0gJHJlcG8tPmRhdGFzZXQo
+ICdlcHJpbnQnICktPmNyZWF0ZV9kYXRhb2JqKCRlcGRhdGEpOwoKCWlmKCBkZWZpbmVkKCAkd29y
+ay0+eyJ0eXBlIn0gKSApCgl7CgkJJGVwcmludC0+c2V0X3ZhbHVlKCAidHlwZSIsICZ7JHJlcG8t
+PmNvbmZpZyggIm9yY2lkX3N1cHBvcnRfYWR2YW5jZSIsICJ3b3JrX3R5cGVfdG9fZXByaW50IiAp
+fSggJHdvcmstPnsidHlwZSJ9ICkgKTsKCX0KCglpZiggZGVmaW5lZCggJHdvcmstPnsidGl0bGUi
+fS0+eyJ0aXRsZSJ9LT57InZhbHVlIn0gKSApCgl7CiAgICAgICAgaWYoIGRlZmluZWQoICR3b3Jr
+LT57InRpdGxlIn0tPnsic3VidGl0bGUifS0+eyJ2YWx1ZSJ9ICkgKQogICAgICAgIHsKICAgICAg
+ICAgICAgbXkgJHRpdGxlID0gJHdvcmstPnsidGl0bGUifS0+eyJ0aXRsZSJ9LT57InZhbHVlIn07
+CiAgICAgICAgICAgIG15ICRzdWJ0aXRsZSA9ICR3b3JrLT57InRpdGxlIn0tPnsic3VidGl0bGUi
+fS0+eyJ2YWx1ZSJ9OwogICAgICAgICAgICBteSAkY29tcGxldGVfdGl0bGUgPSAiIjsKICAgICAg
+ICAgICAgaWYoICR0aXRsZSA9fiBtL1xXJC8gKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg
+ICAkY29tcGxldGVfdGl0bGUgPSAkY29tcGxldGVfdGl0bGUgPSAkdGl0bGUgLiAiICIgLiAkc3Vi
+dGl0bGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAg
+ICAgICAgICAgICAkY29tcGxldGVfdGl0bGUgPSAkdGl0bGUgLiAiOiAiIC4gJHN1YnRpdGxlOwog
+ICAgICAgICAgICB9CiAgICAgICAgICAgICRlcHJpbnQtPnNldF92YWx1ZSggInRpdGxlIiwgJGNv
+bXBsZXRlX3RpdGxlICk7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAJCSRl
+cHJpbnQtPnNldF92YWx1ZSggInRpdGxlIiwgJHdvcmstPnsidGl0bGUifS0+eyJ0aXRsZSJ9LT57
+InZhbHVlIn0gKTsKICAgICAgICB9Cgl9CgoJaWYoIGRlZmluZWQoICR3b3JrLT57ImpvdXJuYWwt
+dGl0bGUifS0+eyJ2YWx1ZSJ9ICkgKQoJewoJCSRlcHJpbnQtPnNldF92YWx1ZSggInB1YmxpY2F0
+aW9uIiAsICR3b3JrLT57ImpvdXJuYWwtdGl0bGUifS0+eyJ2YWx1ZSJ9ICk7Cgl9CgoJaWYoIGRl
+ZmluZWQoICR3b3JrLT57InNob3J0LWRlc2NyaXB0aW9uIn0gKSApCgl7CgkJJGVwcmludC0+c2V0
+X3ZhbHVlKCAiYWJzdHJhY3QiLCAkd29yay0+eyJzaG9ydC1kZXNjcmlwdGlvbiJ9ICk7Cgl9Cgog
+CSNwdWJsaWNhdGlvbiBkYXRlCiAJaWYoIGRlZmluZWQoJHdvcmstPnsicHVibGljYXRpb24tZGF0
+ZSJ9KSApCiAJewogICAgICAgIG15ICR5ZWFyID0gJHdvcmstPnsicHVibGljYXRpb24tZGF0ZSJ9
+LT57InllYXIifS0+eyd2YWx1ZSd9OwogICAgICAgIG15ICRtb250aCA9ICR3b3JrLT57InB1Ymxp
+Y2F0aW9uLWRhdGUifS0+eyJtb250aCJ9LT57J3ZhbHVlJ307CiAgICAgICAgbXkgJGRheSA9ICR3
+b3JrLT57InB1YmxpY2F0aW9uLWRhdGUifS0+eyJkYXkifS0+eyd2YWx1ZSd9OwogICAgICAgIG15
+ICRkYXRlID0gJHllYXIgLiAiLSIgLiAkbW9udGggLiAiLSIgLiAkZGF5OwoJfQoKCWlmKCBkZWZp
+bmVkKCAkd29yay0+eyJ1cmwifSApICkKCXsKCQkkZXByaW50LT5zZXRfdmFsdWUoICJvZmZpY2lh
+bF91cmwiLCAkd29yay0+eyJ1cmwifS0+eyJ2YWx1ZSJ9ICk7Cgl9CgoJaWYoIGRlZmluZWQoICR3
+b3JrLT57ImV4dGVybmFsLWlkcyJ9LT57ImV4dGVybmFsLWlkIn0gKSApCgl7CgkJZm9yZWFjaCBt
+eSAkaWRlbnRpZmllciAoQHskd29yay0+eyJleHRlcm5hbC1pZHMifS0+eyJleHRlcm5hbC1pZCJ9
+fSApCgkJewoJCQlpZiggJGlkZW50aWZpZXItPnsiZXh0ZXJuYWwtaWQtdHlwZSJ9IGVxICJkb2ki
+ICkKCQkJewoJCQkJaWYoICRyZXBvLT5kYXRhc2V0KCAnZXByaW50JyApLT5oYXNfZmllbGQoICJk
+b2kiICkgKQoJCQkJewoJCQkJCSRlcHJpbnQtPnNldF92YWx1ZSggImRvaSIsICRpZGVudGlmaWVy
+LT57ImV4dGVybmFsLWlkLXZhbHVlIn0gKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkZXBy
+aW50LT5zZXRfdmFsdWUoICJpZF9udW1iZXIiLCAiZG9pIi4kaWRlbnRpZmllci0+eyJleHRlcm5h
+bC1pZC12YWx1ZSJ9ICk7CgkJCQl9CgkJCX0KCQkgICAgICAgIGVsc2lmICggJGlkZW50aWZpZXIt
+PnsiZXh0ZXJuYWwtaWQtdHlwZSJ9IGVxICJ1cm4iICkKICAgICAgICAgICAgCQl7CgkJCQlpZigg
+JHJlcG8tPmRhdGFzZXQoICdlcHJpbnQnICktPmhhc19maWVsZCggInVybiIgKSApCgkJCQl7CgkJ
+CQkJJGVwcmludC0+c2V0X3ZhbHVlKCAidXJuIiwgJGlkZW50aWZpZXItPnsiZXh0ZXJuYWwtaWQt
+dmFsdWUifSApOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRlcHJpbnQtPnNldF92YWx1ZSgg
+ImlkX251bWJlciIsICRpZGVudGlmaWVyLT57ImV4dGVybmFsLWlkLXZhbHVlIn0gKTsKCQkJCX0K
+ICAgICAgICAgICAgCQl9CiAgICAgICAgICAgIAkJZWxzaWYgKCAkaWRlbnRpZmllci0+eyJleHRl
+cm5hbC1pZC10eXBlIn0gZXEgImlzc24iICkKICAgICAgICAgICAgCQl7CgkJCQkkZXByaW50LT5z
+ZXRfdmFsdWUoICJpc3NuIiwgJGlkZW50aWZpZXItPnsiZXh0ZXJuYWwtaWQtdmFsdWUifSApOwog
+ICAgICAgICAgICAJCX0KICAgICAgICAgICAgCQllbHNpZiAoICRpZGVudGlmaWVyLT57ImV4dGVy
+bmFsLWlkLXR5cGUifSBlcSAiaXNibiIgKQogICAgICAgICAgICAJCXsKCQkJCSRlcHJpbnQtPnNl
+dF92YWx1ZSggImlzYm4iLCAkaWRlbnRpZmllci0+eyJleHRlcm5hbC1pZC12YWx1ZSJ9ICk7CiAg
+ICAgICAgICAgIAkJfQoJCX0KCX0KCgkjY29udHJpYnV0b3JzCglteSAlZXByaW50X2NvbnRyaWJz
+OwogICAgZm9yZWFjaCBteSAkcm9sZSAoIEB7JHJlcG8tPmNvbmZpZyggIm9yY2lkIiwgImVwcmlu
+dF9maWVsZHMiICl9ICkKICAgIHsKICAgICAgICAkZXByaW50X2NvbnRyaWJzeyRyb2xlfSA9IFtd
+OwogICAgfQoJaWYoIGRlZmluZWQoICR3b3JrLT57ImNvbnRyaWJ1dG9ycyJ9ICkgICYmIHNjYWxh
+ciBAeyR3b3JrLT57ImNvbnRyaWJ1dG9ycyJ9LT57ImNvbnRyaWJ1dG9yIn19ICkKCXsKCQlmb3Jl
+YWNoIG15ICRjb250cmlidXRvciAoQHskd29yay0+eyJjb250cmlidXRvcnMifS0+eyJjb250cmli
+dXRvciJ9fSApCgkJewogICAgICAgICAgICAJCW15ICgkdXNlcm5hbWUsJHB1dGNvZGUsJG9yY2lk
+KSA9IHVuZGVmOwoKICAgICAgICAgICAgCQlteSAkdXNlcnNfb3JjaWQgPSAkdXNlci0+dmFsdWUo
+ICJvcmNpZCIgKTsKCQkJbXkgJGNfdXNlcjsgIyBhIHVzZXIgb2JqZWN0IGRlcml2ZWQgZnJvbSBj
+cmVhdG9yIG9iamVjdCwgYWRkaXRpb25hbCB0byB0aGUgbG9nZ2VkIGluIG9uZQoJCQlpZiggZGVm
+aW5lZCggJGNvbnRyaWJ1dG9yLT57ImNvbnRyaWJ1dG9yLW9yY2lkIn0gKSApCgkJCXsKCQkJCSNz
+ZWFyY2ggZm9yIHVzZXIgd2l0aCBvcmNpZCBhbmQgYWRkIHVzZXJuYW1lIHRvIGVwcmludCBjb250
+cmlidXRvciBpZiBmb3VuZAoJCQkJJG9yY2lkID0gJGNvbnRyaWJ1dG9yLT57ImNvbnRyaWJ1dG9y
+LW9yY2lkIn0tPnsicGF0aCJ9OwoJCQkJJGNfdXNlciA9IEVQcmludHM6Ok9SQ0lEOjpVdGlsczo6
+dXNlcl93aXRoX29yY2lkKCAkcmVwbywgJG9yY2lkICk7CgogICAgICAgICAgICAgICAgCQkjIFNh
+dmUgcHV0Y29kZSBpZiB0aGlzIGNvbnRyaWJ1dG9yIGlzIHRoZSBpbXBvcnRpbmcgdXNlcgogICAg
+ICAgICAgICAgICAgCQlpZiggJHVzZXJzX29yY2lkIGVxICRvcmNpZCApCiAgICAgICAgICAgICAg
+ICAJCXsKICAgICAgICAgICAgICAgICAgICAJCQlteSBAd29ya19wdXRjb2RlcyA9ICggJHdvcmst
+PnsicHV0LWNvZGUifSApOwogICAgICAgICAgICAgICAgICAgIAkJCWZvcmVhY2ggbXkgJHdvcmtf
+cHV0Y29kZSAoQHdvcmtfcHV0Y29kZXMpCiAgICAgICAgICAgICAgICAgICAgCQkJewogICAgICAg
+ICAgICAgICAgICAgICAgICAJCQkkcHV0Y29kZSA9ICR3b3JrX3B1dGNvZGU7CiAgICAgICAgICAg
+ICAgICAgICAgCQkJfQogICAgICAgICAgICAgICAgCQl9CgoJCQl9CgoJCQkjV2hhdCBraW5kIG9m
+IGNvbnRyaWJ1dG9yIGlzIHRoaXM/ICBQdWxsIG1hdGNoIGZyb20gY29uZmlnCgkJCW15ICRjb250
+cmliX3JvbGUgPSAkY29udHJpYnV0b3ItPnsiY29udHJpYnV0b3ItYXR0cmlidXRlcyJ9LT57ImNv
+bnRyaWJ1dG9yLXJvbGUifTsKCQkJbXkgJWNvbnRyaWJfY29uZmlnID0gJXskcmVwby0+Y29uZmln
+KCAib3JjaWRfc3VwcG9ydF9hZHZhbmNlIiwgImNvbnRyaWJ1dG9yX21hcCIgKX07CgkJCWZvcmVh
+Y2ggbXkgJGNvbnRyaWJfdHlwZSAoIGtleXMgJWNvbnRyaWJfY29uZmlnICkKCQkJewoJCQkJaWYo
+ICRjb250cmliX2NvbmZpZ3skY29udHJpYl90eXBlfSBlcSAkY29udHJpYl9yb2xlICkKCQkJCXsK
+CQkJCQkkY29udHJpYl9yb2xlID0gJGNvbnRyaWJfdHlwZTsKCQkJCX0KCQkJfQoJCQkjY29uc3Ry
+dWN0IGEgaGFzaCBvZiBhcHByb3ByaWF0ZSBpbmZvCgkJCW15KCAkaG9ub3VyaWZpYywgJGdpdmVu
+LCAkZmFtaWx5ICkgPSBFUHJpbnRzOjpPUkNJRDo6QWR2YW5jZVV0aWxzOjpnZXRfbmFtZSggJGNv
+bnRyaWJ1dG9yLT57ImNyZWRpdC1uYW1lIn0tPnsidmFsdWUifSApOwoJCQlteSAkY29udHJpYnV0
+b3IgPSB7CgkJCQluYW1lID0+IHsKCQkJCQlob25vdXJpZmljID0+ICRob25vdXJpZmljLAoJCQkJ
+CWdpdmVuID0+ICRnaXZlbiwKCQkJCQlmYW1pbHkgPT4gJGZhbWlseSwKCQkJCX0sCgkJCX07CiAg
+ICAgICAgICAgIAkJI3B1dGNvZGUgb25seSBvcgoJCQkkY29udHJpYnV0b3ItPnsicHV0Y29kZSJ9
+ID0gJHB1dGNvZGUgaWYgZGVmaW5lZCAkcHV0Y29kZTsKCQkJI0FkZCBvcmNpZCBpZiB3ZSBoYXZl
+IG9uZQoJCQkkY29udHJpYnV0b3ItPntvcmNpZH0gPSAkb3JjaWQgaWYgZGVmaW5lZCAkb3JjaWQ7
+CgkJCSNBZGQgdXNlciBlbWFpbCBpZiB3ZSBoYXZlIGxpbmtlZCBhIHVzZXIKCQkJJGNvbnRyaWJ1
+dG9yLT57ImlkIn0gPSAkY191c2VyLT5nZXRfdmFsdWUoICJlbWFpbCIgKSBpZiBkZWZpbmVkICRj
+X3VzZXI7CgoJCQkjYWRkIHVzZXIgdG8gYXBwcm9wcmlhdGUgZmllbGQKCQkJZm9yIG15ICRrZXkg
+KGtleXMgJWVwcmludF9jb250cmlicykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYo
+ICRjb250cmliX3JvbGUgZXEgJGtleSApewogICAgICAgICAgICAgICAgICAgIHB1c2ggQHskZXBy
+aW50X2NvbnRyaWJzeyRrZXl9fSwgJGNvbnRyaWJ1dG9yOwogICAgICAgICAgICAgICAgfQogICAg
+ICAgICAgICB9CgkJfQoJfQoKICAgICMgSWYgdGhlcmUgYXJlIG5vIGNvbnRyaWJ1dG9ycyB3aGF0
+c29ldmVyLi4uCiAgICBteSAkbm9fY29udHJpYnMgPSAxOwogICAgZm9yIG15ICRrZXkgKGtleXMg
+JWVwcmludF9jb250cmlicykKICAgIHsKICAgICAgICBpZiggQHskZXByaW50X2NvbnRyaWJzeyRr
+ZXl9fSB8fCAkZXByaW50LT5pc19zZXQoJGtleSkgKQogICAgICAgIHsKICAgICAgICAgICAgJG5v
+X2NvbnRyaWJzID0gMDsKICAgICAgICAgICAgbGFzdDsKICAgICAgICB9CiAgICB9CiAgICAjIC4u
+LmFzc3VtZSB0aGUgdXNlciBpcyBhIGNyZWF0b3IKICAgIGlmKCAkbm9fY29udHJpYnMgKQogICAg
+ewogICAgICAgIG15ICR1c2Vyc19uYW1lID0gJHVzZXItPmdldF92YWx1ZSgibmFtZSIpOwogICAg
+ICAgIG15ICRwdXRjb2RlID0gdW5kZWY7CiAgICAgICAgbXkgQHdvcmtfcHV0Y29kZXMgPSAoICR3
+b3JrLT57InB1dC1jb2RlIn0gKTsKICAgICAgICBmb3JlYWNoIG15ICR3b3JrX3B1dGNvZGUgKEB3
+b3JrX3B1dGNvZGVzKQogICAgICAgIHsKICAgICAgICAgICAgJHB1dGNvZGUgPSAkd29ya19wdXRj
+b2RlOwogICAgICAgIH0KCQlteSAkY29udHJpYnV0b3IgPSB7CgkJCW5hbWUgPT4gewoJCQkJZ2l2
+ZW4gPT4gJHVzZXJzX25hbWUtPntnaXZlbn0sCgkJCQlmYW1pbHkgPT4gJHVzZXJzX25hbWUtPntm
+YW1pbHl9LAoJCQl9LAogICAgICAgCQlpZCA9PiAkdXNlci0+Z2V0X3ZhbHVlKCAiZW1haWwiICks
+CgkJCW9yY2lkID0+ICR1c2VyLT52YWx1ZSggIm9yY2lkIiApLAoJCQlwdXRjb2RlID0+ICRwdXRj
+b2RlLAoJCX07CiAgICAgICAgcHVzaCBAeyRlcHJpbnRfY29udHJpYnN7Y3JlYXRvcnN9fSwgJGNv
+bnRyaWJ1dG9yOwogICAgfQoKICAgICMgU2V0IHRoZSBjb250cmlidXRvcnMgKG92ZXJ3cml0ZXMg
+d2hhdCBtaWdodCBoYXZlIGJlZW4gZ2xlYW5lZCBmcm9tIGNpdGF0aW9uKQogICAgZm9yIG15ICRr
+ZXkgKGtleXMgJWVwcmludF9jb250cmlicykKICAgIHsKICAgICAgICAkZXByaW50LT5zZXRfdmFs
+dWUoICRrZXksICRlcHJpbnRfY29udHJpYnN7JGtleX0gKSBpZiBFUHJpbnRzOjpVdGlsczo6aXNf
+c2V0KEB7JGVwcmludF9jb250cmlic3ska2V5fX0pOwogICAgfQoKCSNzYXZlIHRoZSByZWNvcmQK
+CSRlcHJpbnQtPmNvbW1pdDsKIwlwcmludCBTVERFUlIgImNyZWF0b3JzIGluIGVwcmludDogIi5E
+dW1wZXIoJGVwcmludC0+dmFsdWUoICJjcmVhdG9ycyIpKS4iXG4iOwoJcmV0dXJuICRlcHJpbnQ7
+Cn0KCiMgcmV0dXJuIGEgZGF0ZSBmb3IgdGhlIGZpbHRlcmluZyBwcm9jZXNzIC0gZGVwZW5kaW5n
+IG9uIHRoZSB0eXBlIG9mIGRhdGUgd2UncmUgYWZ0ZXIgd2UnbGwgbmVlZCB0byByZXRyaWV2ZSBp
+dCBpbiBkaWZmZXJlbnQgd2F5cwpzdWIgZ2V0X3dvcmtfZGF0ZQp7CiAgICBteSggJHNlbGYsICRy
+ZXBvLCAkd29yayApID0gQF87CgogICAgbXkgJGRhdGVfdHlwZSA9ICRyZXBvLT5jb25maWcoICJv
+cmNpZF9zdXBwb3J0X2FkdmFuY2UiLCAiZmlsdGVyX2RhdGUiICkgfHwgImxhc3QtbW9kaWZpZWQt
+ZGF0ZSI7CiAgICBpZiggJGRhdGVfdHlwZSBlcSAibGFzdC1tb2RpZmllZC1kYXRlIiB8fCAkZGF0
+ZV90eXBlIGVxICJjcmVhdGVkLWRhdGUiICkKICAgIHsKICAgICAgICByZXR1cm4gJHdvcmstPnsk
+ZGF0ZV90eXBlfS0+eyd2YWx1ZSd9IC8gMTAwMDsKICAgIH0KICAgIGVsc2lmKCAkZGF0ZV90eXBl
+IGVxICJwdWJsaWNhdGlvbi1kYXRlIiApCiAgICB7ICAgICAgIAogICAgICAgIG15ICR5ZWFyID0g
+JHdvcmstPnskZGF0ZV90eXBlfS0+e3llYXJ9LT57dmFsdWV9IGlmKCBkZWZpbmVkICR3b3JrLT57
+JGRhdGVfdHlwZX0tPnt5ZWFyfS0+e3ZhbHVlfSApOwogICAgICAgIG15ICRtb250aCA9ICR3b3Jr
+LT57JGRhdGVfdHlwZX0tPnttb250aH0tPnt2YWx1ZX0gaWYoIGRlZmluZWQgJHdvcmstPnskZGF0
+ZV90eXBlfS0+e21vbnRofS0+e3ZhbHVlfSApOwogICAgICAgIG15ICRkYXkgPSAkd29yay0+eyRk
+YXRlX3R5cGV9LT57ZGF5fS0+e3ZhbHVlfSBpZiggZGVmaW5lZCAkd29yay0+eyRkYXRlX3R5cGV9
+LT57ZGF5fS0+e3ZhbHVlfSApOwogICAgICAgIGlmKCBkZWZpbmVkICR5ZWFyICYmIGRlZmluZWQg
+JG1vbnRoICYmIGRlZmluZWQgJGRheSApCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gdGlt
+ZWdtKCAwLCAwLCAwLCAkZGF5LCAkbW9udGgtMSwgJHllYXItMTkwMCApOwogICAgICAgIH0KICAg
+IH0KCiAgICAjIG5vdGhpbmcgd2UgY2FuIHJlYWxseSB3b3JrIHdpdGguLi4gOigKICAgIHJldHVy
+biB1bmRlZjsKfQo=
@@ -3372,9 +3374,9 @@ dWUgLyAzNiApOwogICAgfQogICAgcmV0dXJuICRyZXR2YWw7Cn0K
document
plugins/EPrints/Plugin/Screen/Report/Orcid/CheckName.pm
text/plain
- b9fa56f58a5cdd35b24c0e60b827e780
+ 37d5dc4bac8249bddc3cf29d4b74c706
MD5
- 4786
+ 4743
cGFja2FnZSBFUHJpbnRzOjpQbHVnaW46OlNjcmVlbjo6UmVwb3J0OjpPcmNpZDo6Q2hlY2tOYW1l
OwoKdXNlIEVQcmludHM6OlBsdWdpbjo6U2NyZWVuOjpSZXBvcnQ6Ok9yY2lkOwpvdXIgQElTQSA9
ICggJ0VQcmludHM6OlBsdWdpbjo6U2NyZWVuOjpSZXBvcnQ6Ok9yY2lkJyApOwoKdXNlIHN0cmlj
@@ -3412,53 +3414,53 @@ RkFMU0UnLCBtYXRjaCA9PiAnRVgnIH07CgogICAgcmV0dXJuIFxAZmlsdGVyczsKCn0KCnN1YiBp
dGVtcwp7CiAgICBteSggJHNlbGYgKSA9IEBfOwoKICAgIG15ICRsaXN0ID0gJHNlbGYtPlNVUEVS
OjppdGVtcygpOwogICAgaWYoIGRlZmluZWQgJGxpc3QgKQogICAgewogICAgICAgIG15IEBpZHMg
PSAoKTsKCiAgICAgICAgJGxpc3QtPm1hcChzdWJ7CiAgICAgICAgICAgIG15KCAkc2Vzc2lvbiwg
-JGRhdGFzZXQsICR1c2VyICkgPSBAXzsKCQlwcmludCBTRFRFUlIgInVzZXI6ICIgLiAkdXNlci0+
-aWQgLiAiXG4iOwogICAgICAgICAgICBteSBAcHJvYmxlbXMgPSAkc2VsZi0+dmFsaWRhdGVfZGF0
-YW9iaiggJHVzZXIgKTsKCiAgICAgICAgICAgIGlmKCAoIHNjYWxhciggQHByb2JsZW1zICkgPiAw
-ICkgJiYgKCAkdXNlci0+aXNfc2V0KCAib3JjaWQiICkgKSApCiAgICAgICAgICAgIHsKICAgICAg
-ICAgICAgICAgIHB1c2ggQGlkcywgJHVzZXItPmlkOwogICAgICAgICAgICB9CiAgICAgICAgfSk7
-CiAgICAgICAgCiAgICAgICAgbXkgJGRzID0gJHNlbGYtPntzZXNzaW9ufS0+ZGF0YXNldCggJHNl
-bGYtPntkYXRhc2V0aWR9ICk7CiAgICAgICAgbXkgJHJlc3VsdHMgPSAkZHMtPmxpc3QoXEBpZHMp
-OwogICAgICAgIHJldHVybiAkcmVzdWx0czsKCiAgICB9CiAgICAKICAgICMgd2UgY2FuJ3QgcmV0
-dXJuIGFuIEVQcmludHM6Okxpc3QgaWYge2RhdGFzZXR9IGlzIG5vdCBkZWZpbmVkCiAgICByZXR1
-cm4gdW5kZWY7Cn0KCnN1YiBhamF4X3VzZXIKewogICAgbXkoICRzZWxmICkgPSBAXzsKCiAgICBt
-eSAkcmVwbyA9ICRzZWxmLT5yZXBvc2l0b3J5OwoKICAgIG15ICRqc29uID0geyBkYXRhID0+IFtd
-IH07CiAgICAkcmVwby0+ZGF0YXNldCggInVzZXIiICkKICAgICAgICAtPmxpc3QoIFskcmVwby0+
-cGFyYW0oICJ1c2VyIiApXSApCiAgICAgICAgLT5tYXAoc3ViIHsKICAgICAgICAgICAgKHVuZGVm
-LCB1bmRlZiwgbXkgJHVzZXIpID0gQF87CgogICAgICAgICAgICByZXR1cm4gaWYgIWRlZmluZWQg
-JHVzZXI7ICMgb2RkCgogICAgICAgICAgICBteSAkZnJhZyA9ICR1c2VyLT5yZW5kZXJfY2l0YXRp
-b25fbGluazsKICAgICAgICAgICAgcHVzaCBAeyRqc29uLT57ZGF0YX19LCB7CiAgICAgICAgICAg
-ICAgICBkYXRhc2V0aWQgPT4gJHVzZXItPmRhdGFzZXQtPmJhc2VfaWQsCiAgICAgICAgICAgICAg
-ICBkYXRhb2JqaWQgPT4gJHVzZXItPmlkLAogICAgICAgICAgICAgICAgc3VtbWFyeSA9PiBFUHJp
-bnRzOjpYTUw6OnRvX3N0cmluZyggJGZyYWcgKSwKICAgICAgICAgICAgICAgICNncm91cGluZyA9
-PiBzcHJpbnRmKCAiJXMiLCAkdXNlci0+dmFsdWUoIFNPTUVfRklFTEQgKSApLAogICAgICAgICAg
-ICAgICAgcHJvYmxlbXMgPT4gWyAkc2VsZi0+dmFsaWRhdGVfZGF0YW9iaiggJHVzZXIgKSBdLAog
-ICAgICAgICAgICB9OwogICAgICAgIH0pOwogICAgcHJpbnQgJHNlbGYtPnRvX2pzb24oICRqc29u
-ICk7Cn0KCnN1YiB2YWxpZGF0ZV9kYXRhb2JqCnsKICAgIG15KCAkc2VsZiwgJHVzZXIgKSA9IEBf
-OwoKICAgIG15ICRyZXBvID0gJHNlbGYtPntyZXBvc2l0b3J5fTsKCiAgICBteSBAcHJvYmxlbXM7
-CgogICAgIyBnZXQgdXNlciBwcm9maWxlIG5hbWUgYW5kIG9yY2lkIG5hbWUKICAgIG15ICRuYW1l
-ID0gJHVzZXItPmdldF92YWx1ZSggIm5hbWUiICk7CiAgICBteSAkb3JjaWRfbmFtZSA9ICR1c2Vy
-LT5nZXRfdmFsdWUoICJvcmNpZF9uYW1lIiApOwoKICAgIGlmKCAkbmFtZS0+e2dpdmVufSBuZSAk
-b3JjaWRfbmFtZS0+e2dpdmVufSApCiAgICB7CiAgICAgICAgcHVzaCBAcHJvYmxlbXMsIEVQcmlu
-dHM6OlhNTDo6dG9fc3RyaW5nKCAkcmVwby0+aHRtbF9waHJhc2UoICJnaXZlbl9uYW1lX21pc21h
-dGNoIiwgZ2l2ZW4gPT4gJHJlcG8tPnhtbC0+Y3JlYXRlX3RleHRfbm9kZSggJG9yY2lkX25hbWUt
-PntnaXZlbn0gKSApICk7CiAgICB9CgogICAgaWYoICRuYW1lLT57ZmFtaWx5fSBuZSAkb3JjaWRf
-bmFtZS0+e2ZhbWlseX0gKQogICAgewogICAgICAgIHB1c2ggQHByb2JsZW1zLCBFUHJpbnRzOjpY
-TUw6OnRvX3N0cmluZyggJHJlcG8tPmh0bWxfcGhyYXNlKCAiZmFtaWx5X25hbWVfbWlzbWF0Y2gi
-LCBmYW1pbHkgPT4gJHJlcG8tPnhtbC0+Y3JlYXRlX3RleHRfbm9kZSggJG9yY2lkX25hbWUtPntm
-YW1pbHl9ICkgKSApOwogICAgfQoKICAgICMgaWYgd2UgaGF2ZSBwcm9ibGVtcywgYWRkIGZsYWcg
-b3B0aW9uIHRvIHJlbW92ZSB0aGVtCiAgICBpZiggc2NhbGFyIEBwcm9ibGVtcyA+IDAgKQogICAg
-ewogICAgICAgIG15ICRmcmFnID0gJHJlcG8tPnhtbC0+Y3JlYXRlX2RvY3VtZW50X2ZyYWdtZW50
-KCk7CgogICAgICAgICRmcmFnLT5hcHBlbmRDaGlsZCggJHJlcG8tPmh0bWxfcGhyYXNlKCAiZmxh
-Z19uYW1lX21pc21hdGNoIiApICk7CgogICAgICAgIG15ICRkaXYgPSAkZnJhZy0+YXBwZW5kQ2hp
-bGQoICRyZXBvLT5tYWtlX2VsZW1lbnQoICJkaXYiLCBjbGFzcyA9PiAiZmxhZ19uYW1lX21pc21h
-dGNoIiApICk7CiAKICAgICAgICAkZGl2LT5hcHBlbmRDaGlsZCggJHJlcG8tPnJlbmRlcl9oaWRk
-ZW5fZmllbGQoICJ1c2VyaWQiLCAkdXNlci0+aWQgKSApOwoKICAgICAgICBteSAkY2hlY2tib3gg
-PSAkZGl2LT5hcHBlbmRDaGlsZCggJHJlcG8tPm1ha2VfZWxlbWVudCggImlucHV0IiwKICAgICAg
-ICAgICAgdHlwZSA9PiAiY2hlY2tib3giLAogICAgICAgICAgICBuYW1lID0+ICJmbGFnX25hbWVf
-bWlzbWF0Y2giLAogICAgICAgICAgICB2YWx1ZSA9PiAkdXNlci0+dmFsdWUoICJvcmNpZF9uYW1l
-X2ZsYWciICksCiAgICAgICAgKSApOwogICAgICAgIHB1c2ggQHByb2JsZW1zLCBFUHJpbnRzOjpY
-TUw6OnRvX3N0cmluZyggJGZyYWcgKTsKICAgIH0KCiAgICByZXR1cm4gQHByb2JsZW1zOwp9Cg==
+JGRhdGFzZXQsICR1c2VyICkgPSBAXzsKCiAgICAgICAgICAgIG15IEBwcm9ibGVtcyA9ICRzZWxm
+LT52YWxpZGF0ZV9kYXRhb2JqKCAkdXNlciApOwoKICAgICAgICAgICAgaWYoICggc2NhbGFyKCBA
+cHJvYmxlbXMgKSA+IDAgKSAmJiAoICR1c2VyLT5pc19zZXQoICJvcmNpZCIgKSApICkKICAgICAg
+ICAgICAgewogICAgICAgICAgICAgICAgcHVzaCBAaWRzLCAkdXNlci0+aWQ7CiAgICAgICAgICAg
+IH0KICAgICAgICB9KTsKICAgICAgICAKICAgICAgICBteSAkZHMgPSAkc2VsZi0+e3Nlc3Npb259
+LT5kYXRhc2V0KCAkc2VsZi0+e2RhdGFzZXRpZH0gKTsKICAgICAgICBteSAkcmVzdWx0cyA9ICRk
+cy0+bGlzdChcQGlkcyk7CiAgICAgICAgcmV0dXJuICRyZXN1bHRzOwoKICAgIH0KICAgIAogICAg
+IyB3ZSBjYW4ndCByZXR1cm4gYW4gRVByaW50czo6TGlzdCBpZiB7ZGF0YXNldH0gaXMgbm90IGRl
+ZmluZWQKICAgIHJldHVybiB1bmRlZjsKfQoKc3ViIGFqYXhfdXNlcgp7CiAgICBteSggJHNlbGYg
+KSA9IEBfOwoKICAgIG15ICRyZXBvID0gJHNlbGYtPnJlcG9zaXRvcnk7CgogICAgbXkgJGpzb24g
+PSB7IGRhdGEgPT4gW10gfTsKICAgICRyZXBvLT5kYXRhc2V0KCAidXNlciIgKQogICAgICAgIC0+
+bGlzdCggWyRyZXBvLT5wYXJhbSggInVzZXIiICldICkKICAgICAgICAtPm1hcChzdWIgewogICAg
+ICAgICAgICAodW5kZWYsIHVuZGVmLCBteSAkdXNlcikgPSBAXzsKCiAgICAgICAgICAgIHJldHVy
+biBpZiAhZGVmaW5lZCAkdXNlcjsgIyBvZGQKCiAgICAgICAgICAgIG15ICRmcmFnID0gJHVzZXIt
+PnJlbmRlcl9jaXRhdGlvbl9saW5rOwogICAgICAgICAgICBwdXNoIEB7JGpzb24tPntkYXRhfX0s
+IHsKICAgICAgICAgICAgICAgIGRhdGFzZXRpZCA9PiAkdXNlci0+ZGF0YXNldC0+YmFzZV9pZCwK
+ICAgICAgICAgICAgICAgIGRhdGFvYmppZCA9PiAkdXNlci0+aWQsCiAgICAgICAgICAgICAgICBz
+dW1tYXJ5ID0+IEVQcmludHM6OlhNTDo6dG9fc3RyaW5nKCAkZnJhZyApLAogICAgICAgICAgICAg
+ICAgI2dyb3VwaW5nID0+IHNwcmludGYoICIlcyIsICR1c2VyLT52YWx1ZSggU09NRV9GSUVMRCAp
+ICksCiAgICAgICAgICAgICAgICBwcm9ibGVtcyA9PiBbICRzZWxmLT52YWxpZGF0ZV9kYXRhb2Jq
+KCAkdXNlciApIF0sCiAgICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICBwcmludCAkc2VsZi0+
+dG9fanNvbiggJGpzb24gKTsKfQoKc3ViIHZhbGlkYXRlX2RhdGFvYmoKewogICAgbXkoICRzZWxm
+LCAkdXNlciApID0gQF87CgogICAgbXkgJHJlcG8gPSAkc2VsZi0+e3JlcG9zaXRvcnl9OwoKICAg
+IG15IEBwcm9ibGVtczsKCiAgICAjIGdldCB1c2VyIHByb2ZpbGUgbmFtZSBhbmQgb3JjaWQgbmFt
+ZQogICAgbXkgJG5hbWUgPSAkdXNlci0+Z2V0X3ZhbHVlKCAibmFtZSIgKTsKICAgIG15ICRvcmNp
+ZF9uYW1lID0gJHVzZXItPmdldF92YWx1ZSggIm9yY2lkX25hbWUiICk7CgogICAgaWYoICRuYW1l
+LT57Z2l2ZW59IG5lICRvcmNpZF9uYW1lLT57Z2l2ZW59ICkKICAgIHsKICAgICAgICBwdXNoIEBw
+cm9ibGVtcywgRVByaW50czo6WE1MOjp0b19zdHJpbmcoICRyZXBvLT5odG1sX3BocmFzZSggImdp
+dmVuX25hbWVfbWlzbWF0Y2giLCBnaXZlbiA9PiAkcmVwby0+eG1sLT5jcmVhdGVfdGV4dF9ub2Rl
+KCAkb3JjaWRfbmFtZS0+e2dpdmVufSApICkgKTsKICAgIH0KCiAgICBpZiggJG5hbWUtPntmYW1p
+bHl9IG5lICRvcmNpZF9uYW1lLT57ZmFtaWx5fSApCiAgICB7CiAgICAgICAgcHVzaCBAcHJvYmxl
+bXMsIEVQcmludHM6OlhNTDo6dG9fc3RyaW5nKCAkcmVwby0+aHRtbF9waHJhc2UoICJmYW1pbHlf
+bmFtZV9taXNtYXRjaCIsIGZhbWlseSA9PiAkcmVwby0+eG1sLT5jcmVhdGVfdGV4dF9ub2RlKCAk
+b3JjaWRfbmFtZS0+e2ZhbWlseX0gKSApICk7CiAgICB9CgogICAgIyBpZiB3ZSBoYXZlIHByb2Js
+ZW1zLCBhZGQgZmxhZyBvcHRpb24gdG8gcmVtb3ZlIHRoZW0KICAgIGlmKCBzY2FsYXIgQHByb2Js
+ZW1zID4gMCApCiAgICB7CiAgICAgICAgbXkgJGZyYWcgPSAkcmVwby0+eG1sLT5jcmVhdGVfZG9j
+dW1lbnRfZnJhZ21lbnQoKTsKCiAgICAgICAgJGZyYWctPmFwcGVuZENoaWxkKCAkcmVwby0+aHRt
+bF9waHJhc2UoICJmbGFnX25hbWVfbWlzbWF0Y2giICkgKTsKCiAgICAgICAgbXkgJGRpdiA9ICRm
+cmFnLT5hcHBlbmRDaGlsZCggJHJlcG8tPm1ha2VfZWxlbWVudCggImRpdiIsIGNsYXNzID0+ICJm
+bGFnX25hbWVfbWlzbWF0Y2giICkgKTsKIAogICAgICAgICRkaXYtPmFwcGVuZENoaWxkKCAkcmVw
+by0+cmVuZGVyX2hpZGRlbl9maWVsZCggInVzZXJpZCIsICR1c2VyLT5pZCApICk7CgogICAgICAg
+IG15ICRjaGVja2JveCA9ICRkaXYtPmFwcGVuZENoaWxkKCAkcmVwby0+bWFrZV9lbGVtZW50KCAi
+aW5wdXQiLAogICAgICAgICAgICB0eXBlID0+ICJjaGVja2JveCIsCiAgICAgICAgICAgIG5hbWUg
+PT4gImZsYWdfbmFtZV9taXNtYXRjaCIsCiAgICAgICAgICAgIHZhbHVlID0+ICR1c2VyLT52YWx1
+ZSggIm9yY2lkX25hbWVfZmxhZyIgKSwKICAgICAgICApICk7CiAgICAgICAgcHVzaCBAcHJvYmxl
+bXMsIEVQcmludHM6OlhNTDo6dG9fc3RyaW5nKCAkZnJhZyApOwogICAgfQoKICAgIHJldHVybiBA
+cHJvYmxlbXM7Cn0K
@@ -5775,7 +5777,7 @@ Y2s7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Cg==
text/x-asm
- text
+ other
static/style/auto/orcid_support_advance.css
install
@@ -6017,7 +6019,7 @@ OCbBIYRwTIJDCOGYBIcQwrH/Dw9FzEHSgHCpAAAAAElFTkSuQmCC
coverimage
- 2.0.1
+ 2.0.2
EPMC::OrcidSupportAdvance
-
diff --git a/orcid_support_advance.epmi b/orcid_support_advance.epmi
index 2530e47..93c3705 100644
--- a/orcid_support_advance.epmi
+++ b/orcid_support_advance.epmi
@@ -145,17 +145,17 @@
document
plugins/EPrints/Plugin/Screen/ExportToOrcid.pm
text/plain
- 249660b4831282052d23569479493583
+ df421b45c8431b7280e57993a05e9940
MD5
- 21971
+ 22010
document
plugins/EPrints/Plugin/Screen/ImportFromOrcid.pm
text/plain
- c4bf73ff5e21870f0897244b14fa4838
+ 2cddd5c82b6208a65cc74f014bf326f3
MD5
- 31151
+ 31190
document
@@ -169,9 +169,9 @@
document
plugins/EPrints/Plugin/Screen/Report/Orcid/CheckName.pm
text/plain
- b9fa56f58a5cdd35b24c0e60b827e780
+ 37d5dc4bac8249bddc3cf29d4b74c706
MD5
- 4786
+ 4743
document
@@ -239,7 +239,7 @@
text/x-asm
- text
+ other
static/style/auto/orcid_support_advance.css
install
@@ -259,7 +259,7 @@
coverimage
- 2.0.1
+ 2.0.2
EPMC::OrcidSupportAdvance
-