<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>127486</bug_id>
          
          <creation_ts>2014-01-23 08:43:24 -0800</creation_ts>
          <short_desc>jsc-cli should allow scripts to access argv</short_desc>
          <delta_ts>2014-02-14 14:33:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127432</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971153</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-01-23 08:43:24 -0800</bug_when>
    <thetext>One of the fundamental things command line scripts want to do is access their command line arguments. One way to do this would be to expose a global ARGV array containing each argument passed the script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980826</commentid>
    <comment_count>1</comment_count>
      <attachid>224227</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-14 09:37:44 -0800</bug_when>
    <thetext>Created attachment 224227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980852</commentid>
    <comment_count>2</comment_count>
      <attachid>224227</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-14 10:04:45 -0800</bug_when>
    <thetext>Comment on attachment 224227
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=224227&amp;action=review

&gt; Tools/jsc-cli/jsc-cli.xcodeproj/project.pbxproj:8
&gt; -   classes = {
&gt; -   };
&gt; -   objectVersion = 46;
&gt; -   objects = {
&gt; +	archiveVersion = 1;
&gt; +	classes = {
&gt; +	};
&gt; +	objectVersion = 46;
&gt; +	objects = {
&gt;  

Goddammit Xcode :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980855</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-14 10:08:54 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 224227 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=224227&amp;action=review
&gt; 
&gt; &gt; Tools/jsc-cli/jsc-cli.xcodeproj/project.pbxproj:8
&gt; &gt; -   classes = {
&gt; &gt; -   };
&gt; &gt; -   objectVersion = 46;
&gt; &gt; -   objects = {
&gt; &gt; +	archiveVersion = 1;
&gt; &gt; +	classes = {
&gt; &gt; +	};
&gt; &gt; +	objectVersion = 46;
&gt; &gt; +	objects = {
&gt; &gt;  
&gt; 
&gt; Goddammit Xcode :)

Yeah, I dunno what&apos;s going on there lol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980975</commentid>
    <comment_count>4</comment_count>
      <attachid>224227</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-14 14:12:50 -0800</bug_when>
    <thetext>Comment on attachment 224227
Patch

Commit queue looks like it&apos;s having a bad time, so I&apos;ll land manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980989</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-14 14:23:30 -0800</bug_when>
    <thetext>Committed r164134: &lt;http://trac.webkit.org/changeset/164134&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980999</commentid>
    <comment_count>6</comment_count>
      <attachid>224227</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-14 14:32:20 -0800</bug_when>
    <thetext>Comment on attachment 224227
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=224227&amp;action=review

&gt; Tools/jsc-cli/jsc-cli/CLIInstance.m:75
&gt; +    [_context[@&quot;ARGV&quot;] setValue:(_baseFile ? _baseFile : @&quot;&quot;) atIndex:0];

Nit: You could pull _context[@&quot;ARGV&quot;] out into a local instead of potentially calling it a bunch of times in a loop. I don&apos;t think ObjC has any support for optimizing away repeated calls like this. Of course performance right here is not important, but this is a good idiom to get used to for ObjC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981000</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-02-14 14:33:55 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 224227 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=224227&amp;action=review
&gt; 
&gt; &gt; Tools/jsc-cli/jsc-cli/CLIInstance.m:75
&gt; &gt; +    [_context[@&quot;ARGV&quot;] setValue:(_baseFile ? _baseFile : @&quot;&quot;) atIndex:0];
&gt; 
&gt; Nit: You could pull _context[@&quot;ARGV&quot;] out into a local instead of potentially calling it a bunch of times in a loop. I don&apos;t think ObjC has any support for optimizing away repeated calls like this. Of course performance right here is not important, but this is a good idiom to get used to for ObjC.

Yeah, that&apos;s definitely a good idea. Not only does Obj-C not do a good job optimizing this, but these lookups aren&apos;t exactly cheap in the JSC API.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224227</attachid>
            <date>2014-02-14 09:37:44 -0800</date>
            <delta_ts>2014-02-14 14:32:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127486-20140214093742.patch</filename>
            <type>text/plain</type>
            <size>36471</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2NDEwMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMwIEBACisyMDE0LTAyLTE0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAganNjLWNsaSBzaG91bGQgYWxsb3cgc2NyaXB0cyB0byBhY2Nlc3Mg
YXJndgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3
NDg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgc3VwcG9ydCBmb3IgcGFzc2luZyBhcmd1bWVudHMgaW50byBzY3JpcHRzIHJ1biB3aXRoIGpz
Yy1jbGkuCisKKyAgICAgICAgQWxzbyBmaXhlZCBhbiBpc3N1ZSB3aGVyZSBzY3JpcHRzIHdlcmUg
YmVpbmcgaWdub3JlZCBiZWNhdXNlIG9mIGEgbWlzbWF0Y2ggCisgICAgICAgIGluIGhvdyB0aGV5
IHdlcmUgcGFzc2VkIHRvIHRoZSBKUyB0aHJlYWQuCisKKyAgICAgICAgKiBqc2MtY2xpL2pzYy1j
bGkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBqc2MtY2xpL2pzYy1jbGkv
Q0xJSW5zdGFuY2UuaDoKKyAgICAgICAgKiBqc2MtY2xpL2pzYy1jbGkvQ0xJSW5zdGFuY2UubToK
KyAgICAgICAgKC1bQ0xJSW5zdGFuY2UgaW5pdF0pOgorICAgICAgICAoLVtDTElJbnN0YW5jZSBs
b2FkRmlsZTpdKToKKyAgICAgICAgKC1bQ0xJSW5zdGFuY2UgZGlkUmVjZWl2ZUFyZ3VtZW50czph
dE9mZnNldDp3aXRoTGVuZ3RoOl0pOgorICAgICAgICAqIGpzYy1jbGkvanNjLWNsaS9KU1J1bkxv
b3BUaHJlYWQuaDoKKyAgICAgICAgKiBqc2MtY2xpL2pzYy1jbGkvSlNSdW5Mb29wVGhyZWFkLm06
CisgICAgICAgICgtW0pTUnVuTG9vcFRocmVhZCBpbml0V2l0aENvbnRleHQ6XSk6CisgICAgICAg
ICgtW0pTUnVuTG9vcFRocmVhZCBsb2FkRmlsZTpdKToKKyAgICAgICAgKC1bSlNSdW5Mb29wVGhy
ZWFkIHN0YXJ0XSk6CisgICAgICAgICoganNjLWNsaS9qc2MtY2xpL21haW4ubToKKyAgICAgICAg
KHByaW50VXNhZ2UpOgorICAgICAgICAobWFpbik6CisKIDIwMTQtMDItMTMgIERhdmlkIEZhcmxl
ciAgPGRmYXJsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIER1bXBSZW5kZXJUcmVlIGZhaWxzIHRv
IGJ1aWxkOiBQZXJsIHN1cHBvcnQgbW9kdWxlIGJ1aWxkaW5nIGZvciBPUyBYIGJ1dCBsaW5raW5n
IGZvciB0aGUgc2ltdWxhdG9yCkluZGV4OiBUb29scy9qc2MtY2xpL2pzYy1jbGkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9qc2MtY2xpL2pzYy1jbGkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTY0MDg4KQorKysgVG9vbHMvanNjLWNs
aS9qc2MtY2xpLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEs
MzA4ICsxLDM0MSBAQAogLy8gISQqVVRGOCokIQogewotICAgYXJjaGl2ZVZlcnNpb24gPSAxOwot
ICAgY2xhc3NlcyA9IHsKLSAgIH07Ci0gICBvYmplY3RWZXJzaW9uID0gNDY7Ci0gICBvYmplY3Rz
ID0geworCWFyY2hpdmVWZXJzaW9uID0gMTsKKwljbGFzc2VzID0geworCX07CisJb2JqZWN0VmVy
c2lvbiA9IDQ2OworCW9iamVjdHMgPSB7CiAKIC8qIEJlZ2luIFBCWEJ1aWxkRmlsZSBzZWN0aW9u
ICovCi0gICAgICAgQzI0NjU5MDUxODkwMkFDRTAwMjkwOTJFIC8qIEZvdW5kYXRpb24uZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI0
NjU5MDQxODkwMkFDRTAwMjkwOTJFIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwotICAg
ICAgIEMyNDY1OTA4MTg5MDJBQ0UwMDI5MDkyRSAvKiBtYWluLm0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjQ2NTkwNzE4OTAyQUNFMDAyOTA5MkUgLyog
bWFpbi5tICovOyB9OwotICAgICAgIEMyNDY1OTE0MTg5MDJCOTEwMDI5MDkyRSAvKiBDTElJbnN0
YW5jZS5tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI0
NjU5MTMxODkwMkI5MTAwMjkwOTJFIC8qIENMSUluc3RhbmNlLm0gKi87IH07Ci0gICAgICAgQzI0
NjU5MTcxODkwMkM0MjAwMjkwOTJFIC8qIEpTTW9kdWxlLm0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjQ2NTkxNjE4OTAyQzQyMDAyOTA5MkUgLyogSlNN
b2R1bGUubSAqLzsgfTsKLSAgICAgICBDMjQ2NTkxQTE4OTAyQ0NDMDAyOTA5MkUgLyogSlNSdW5M
b29wVGhyZWFkLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDMjQ2NTkxOTE4OTAyQ0NDMDAyOTA5MkUgLyogSlNSdW5Mb29wVGhyZWFkLm0gKi87IH07Ci0g
ICAgICAgQzI0NjU5MUQxODkwMkQxMDAwMjkwOTJFIC8qIFJ1bkxvb3BUaHJlYWQubSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNDY1OTFDMTg5MDJEMTAw
MDI5MDkyRSAvKiBSdW5Mb29wVGhyZWFkLm0gKi87IH07Ci0gICAgICAgQzI0NjU5MjAxODkwMkUx
NTAwMjkwOTJFIC8qIFJlYWRFdmFsUHJpbnRMb29wLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjQ2NTkxRjE4OTAyRTE1MDAyOTA5MkUgLyogUmVhZEV2
YWxQcmludExvb3AubSAqLzsgfTsKLSAgICAgICBDMjQ2NTkyMzE4OTAyRUE0MDAyOTA5MkUgLyog
U2NyaXB0SW5wdXRTb3VyY2UubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMyNDY1OTIyMTg5MDJFQTQwMDI5MDkyRSAvKiBTY3JpcHRJbnB1dFNvdXJjZS5t
ICovOyB9OwotICAgICAgIEMyNDY1OTJDMTg5MDVGQzEwMDI5MDkyRSAvKiBKYXZhU2NyaXB0Q29y
ZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMjQ2NTkyQjE4OTA1RkMxMDAyOTA5MkUgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3Jr
ICovOyB9OworCQlDMjQ2NTkwNTE4OTAyQUNFMDAyOTA5MkUgLyogRm91bmRhdGlvbi5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjQ2
NTkwNDE4OTAyQUNFMDAyOTA5MkUgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CisJCUMy
NDY1OTA4MTg5MDJBQ0UwMDI5MDkyRSAvKiBtYWluLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjQ2NTkwNzE4OTAyQUNFMDAyOTA5MkUgLyogbWFpbi5t
ICovOyB9OworCQlDMjQ2NTkxNDE4OTAyQjkxMDAyOTA5MkUgLyogQ0xJSW5zdGFuY2UubSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNDY1OTEzMTg5MDJC
OTEwMDI5MDkyRSAvKiBDTElJbnN0YW5jZS5tICovOyB9OworCQlDMjQ2NTkxNzE4OTAyQzQyMDAy
OTA5MkUgLyogSlNNb2R1bGUubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEMyNDY1OTE2MTg5MDJDNDIwMDI5MDkyRSAvKiBKU01vZHVsZS5tICovOyB9Owor
CQlDMjQ2NTkxQTE4OTAyQ0NDMDAyOTA5MkUgLyogSlNSdW5Mb29wVGhyZWFkLm0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjQ2NTkxOTE4OTAyQ0NDMDAy
OTA5MkUgLyogSlNSdW5Mb29wVGhyZWFkLm0gKi87IH07CisJCUMyNDY1OTFEMTg5MDJEMTAwMDI5
MDkyRSAvKiBSdW5Mb29wVGhyZWFkLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMjQ2NTkxQzE4OTAyRDEwMDAyOTA5MkUgLyogUnVuTG9vcFRocmVhZC5t
ICovOyB9OworCQlDMjQ2NTkyMDE4OTAyRTE1MDAyOTA5MkUgLyogUmVhZEV2YWxQcmludExvb3Au
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNDY1OTFG
MTg5MDJFMTUwMDI5MDkyRSAvKiBSZWFkRXZhbFByaW50TG9vcC5tICovOyB9OworCQlDMjQ2NTky
MzE4OTAyRUE0MDAyOTA5MkUgLyogU2NyaXB0SW5wdXRTb3VyY2UubSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNDY1OTIyMTg5MDJFQTQwMDI5MDkyRSAv
KiBTY3JpcHRJbnB1dFNvdXJjZS5tICovOyB9OworCQlDMjk2NjIxMTE4QURGNTYwMDA3NTI5MjIg
LyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzI5NjYyMTAxOEFERjU2MDAwNzUyOTIyIC8qIEphdmFTY3Jp
cHRDb3JlLmZyYW1ld29yayAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwog
CiAvKiBCZWdpbiBQQlhDb3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KLSAgICAgICBDMjQ2
NThGRjE4OTAyQUNFMDAyOTA5MkUgLyogQ29weSBGaWxlcyAqLyA9IHsKLSAgICAgICAgICAgaXNh
ID0gUEJYQ29weUZpbGVzQnVpbGRQaGFzZTsKLSAgICAgICAgICAgYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKLSAgICAgICAgICAgZHN0UGF0aCA9IC91c3Ivc2hhcmUvbWFuL21hbjEvOwot
ICAgICAgICAgICBkc3RTdWJmb2xkZXJTcGVjID0gMDsKLSAgICAgICAgICAgZmlsZXMgPSAoCi0g
ICAgICAgICAgICk7Ci0gICAgICAgICAgIG5hbWUgPSAiQ29weSBGaWxlcyI7Ci0gICAgICAgICAg
IHJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAxOwotICAgICAgIH07CisJCUMy
NDYxMDU0MThBQzQ0NzIwMDlGNzVCNSAvKiBDb3B5IFRlc3RzICovID0geworCQkJaXNhID0gUEJY
Q29weUZpbGVzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJ
CQlkc3RQYXRoID0gdGVzdHM7CisJCQlkc3RTdWJmb2xkZXJTcGVjID0gMTY7CisJCQlmaWxlcyA9
ICgKKwkJCSk7CisJCQluYW1lID0gIkNvcHkgVGVzdHMiOworCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CisJCUMyNDY1OEZGMTg5MDJBQ0UwMDI5MDkyRSAv
KiBDb3B5IExpYiAqLyA9IHsKKwkJCWlzYSA9IFBCWENvcHlGaWxlc0J1aWxkUGhhc2U7CisJCQli
dWlsZEFjdGlvbk1hc2sgPSAxMjsKKwkJCWRzdFBhdGggPSBsaWI7CisJCQlkc3RTdWJmb2xkZXJT
cGVjID0gMTY7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQluYW1lID0gIkNvcHkgTGliIjsKKwkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogLyogRW5kIFBC
WENvcHlGaWxlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGaWxlUmVmZXJl
bmNlIHNlY3Rpb24gKi8KLSAgICAgICBDMjQ2NTkwMTE4OTAyQUNFMDAyOTA5MkUgLyoganNjLWNs
aSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBp
bGVkLm1hY2gtby5leGVjdXRhYmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gImpzYy1j
bGkiOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwotICAgICAgIEMyNDY1OTA0
MTg5MDJBQ0UwMDI5MDkyRSAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1l
ID0gRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0ZvdW5kYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKLSAgICAgICBD
MjQ2NTkwNzE4OTAyQUNFMDAyOTA5MkUgLyogbWFpbi5tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBtYWlu
Lm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0gICAgICAgQzI0NjU5MTIxODkwMkI5MTAw
MjkwOTJFIC8qIENMSUluc3RhbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENMSUluc3RhbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0gICAgICAgQzI0NjU5
MTMxODkwMkI5MTAwMjkwOTJFIC8qIENMSUluc3RhbmNlLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMub2JqYzsgcGF0aCA9IENMSUluc3RhbmNlLm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0gICAgICAgQzI0NjU5MTUxODkwMkM0MjAwMjkwOTJFIC8qIEpTTW9kdWxlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9kdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0gICAgICAgQzI0NjU5MTYxODkwMkM0MjAwMjkwOTJFIC8qIEpTTW9kdWxlLm0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IEpTTW9kdWxlLm07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0gICAgICAgQzI0NjU5MTgxODkwMkNDQzAwMjkwOTJFIC8qIEpTUnVu
TG9vcFRocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1J1bkxvb3BU
aHJlYWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLSAgICAgICBDMjQ2NTkxOTE4OTAy
Q0NDMDAyOTA5MkUgLyogSlNSdW5Mb29wVGhyZWFkLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
b2JqYzsgcGF0aCA9IEpTUnVuTG9vcFRocmVhZC5tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotICAgICAgIEMyNDY1OTFCMTg5MDJEMTAwMDI5MDkyRSAvKiBSdW5Mb29wVGhyZWFkLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bkxvb3BUaHJlYWQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLSAgICAgICBDMjQ2NTkxQzE4OTAyRDEwMDAyOTA5MkUgLyogUnVu
TG9vcFRocmVhZC5tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBSdW5Mb29w
VGhyZWFkLm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0gICAgICAgQzI0NjU5MUUxODkw
MkUxNTAwMjkwOTJFIC8qIFJlYWRFdmFsUHJpbnRMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlYWRFdmFsUHJpbnRMb29wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0gICAgICAgQzI0NjU5MUYxODkwMkUxNTAwMjkwOTJFIC8qIFJlYWRFdmFsUHJpbnRMb29w
Lm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IFJlYWRFdmFsUHJpbnRMb29w
Lm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0gICAgICAgQzI0NjU5MjExODkwMkVBNDAw
MjkwOTJFIC8qIFNjcmlwdElucHV0U291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNjcmlwdElucHV0U291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0g
ICAgICAgQzI0NjU5MjIxODkwMkVBNDAwMjkwOTJFIC8qIFNjcmlwdElucHV0U291cmNlLm0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IFNjcmlwdElucHV0U291cmNlLm07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0gICAgICAgQzI0NjU5MkIxODkwNUZDMTAwMjkwOTJF
IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gSmF2YVNjcmlw
dENvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlD
MjQ2NTkwMTE4OTAyQUNFMDAyOTA5MkUgLyoganNjLWNsaSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxlIjsg
aW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gImpzYy1jbGkiOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OworCQlDMjQ2NTkwNDE4OTAyQUNFMDAyOTA5MkUgLyogRm91bmRhdGlv
bi5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IEZvdW5kYXRpb24uZnJhbWV3b3JrOyBwYXRo
ID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNl
VHJlZSA9IFNES1JPT1Q7IH07CisJCUMyNDY1OTA3MTg5MDJBQ0UwMDI5MDkyRSAvKiBtYWluLm0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMub2JqYzsgcGF0aCA9IG1haW4ubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QzI0NjU5MTIxODkwMkI5MTAwMjkwOTJFIC8qIENMSUluc3RhbmNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENMSUluc3RhbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUMyNDY1OTEzMTg5MDJCOTEwMDI5MDkyRSAvKiBDTElJbnN0YW5jZS5tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBDTElJbnN0YW5jZS5tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDMjQ2NTkxNTE4OTAyQzQyMDAyOTA5MkUgLyogSlNNb2R1bGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2R1bGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQzI0NjU5MTYxODkwMkM0MjAwMjkwOTJFIC8qIEpTTW9kdWxlLm0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IEpTTW9kdWxlLm07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyNDY1OTE4MTg5MDJDQ0MwMDI5MDkyRSAvKiBKU1J1bkxv
b3BUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSdW5Mb29wVGhy
ZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMyNDY1OTE5MTg5MDJDQ0MwMDI5
MDkyRSAvKiBKU1J1bkxvb3BUaHJlYWQubSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBw
YXRoID0gSlNSdW5Mb29wVGhyZWFkLm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMy
NDY1OTFCMTg5MDJEMTAwMDI5MDkyRSAvKiBSdW5Mb29wVGhyZWFkLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bkxvb3BUaHJlYWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQzI0NjU5MUMxODkwMkQxMDAwMjkwOTJFIC8qIFJ1bkxvb3BUaHJlYWQubSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gUnVuTG9vcFRocmVhZC5tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDMjQ2NTkxRTE4OTAyRTE1MDAyOTA5MkUgLyogUmVhZEV2
YWxQcmludExvb3AuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZEV2YWxQ
cmludExvb3AuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzI0NjU5MUYxODkwMkUx
NTAwMjkwOTJFIC8qIFJlYWRFdmFsUHJpbnRMb29wLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
b2JqYzsgcGF0aCA9IFJlYWRFdmFsUHJpbnRMb29wLm07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUMyNDY1OTIxMTg5MDJFQTQwMDI5MDkyRSAvKiBTY3JpcHRJbnB1dFNvdXJjZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRJbnB1dFNvdXJjZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDMjQ2NTkyMjE4OTAyRUE0MDAyOTA5MkUgLyogU2Ny
aXB0SW5wdXRTb3VyY2UubSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gU2Ny
aXB0SW5wdXRTb3VyY2UubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzI5NjYyMTAx
OEFERjU2MDAwNzUyOTIyIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBu
YW1lID0gSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrOyBwYXRoID0gLi4vLi4vV2ViS2l0QnVpbGQv
RGVidWcvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFt
ZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCi0gICAgICAgQzI0NjU4RkUxODkwMkFDRTAwMjkw
OTJFIC8qIEZyYW1ld29ya3MgKi8gPSB7Ci0gICAgICAgICAgIGlzYSA9IFBCWEZyYW1ld29ya3NC
dWlsZFBoYXNlOwotICAgICAgICAgICBidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwotICAg
ICAgICAgICBmaWxlcyA9ICgKLSAgICAgICAgICAgICAgIEMyNDY1OTJDMTg5MDVGQzEwMDI5MDky
RSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKLSAgICAgICAg
ICAgICAgIEMyNDY1OTA1MTg5MDJBQ0UwMDI5MDkyRSAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovLAotICAgICAgICAgICApOwotICAgICAgICAgICBydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKLSAgICAgICB9OworCQlDMjQ2NThGRTE4OTAyQUNF
MDAyOTA5MkUgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWls
ZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAor
CQkJCUMyOTY2MjExMThBREY1NjAwMDc1MjkyMiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLywKKwkJCQlDMjQ2NTkwNTE4OTAyQUNFMDAyOTA5MkUgLyogRm91bmRh
dGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIC8qIEVuZCBQQlhGcmFtZXdvcmtzQnVp
bGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KLSAgICAg
ICBDMjQ2NThGODE4OTAyQUNFMDAyOTA5MkUgPSB7Ci0gICAgICAgICAgIGlzYSA9IFBCWEdyb3Vw
OwotICAgICAgICAgICBjaGlsZHJlbiA9ICgKLSAgICAgICAgICAgICAgIEMyNDY1OTA2MTg5MDJB
Q0UwMDI5MDkyRSAvKiBqc2MtY2xpICovLAotICAgICAgICAgICAgICAgQzI0NjU5MDMxODkwMkFD
RTAwMjkwOTJFIC8qIEZyYW1ld29ya3MgKi8sCi0gICAgICAgICAgICAgICBDMjQ2NTkwMjE4OTAy
QUNFMDAyOTA5MkUgLyogUHJvZHVjdHMgKi8sCi0gICAgICAgICAgICk7Ci0gICAgICAgICAgIHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0gICAgICAgfTsKLSAgICAgICBDMjQ2NTkwMjE4OTAyQUNF
MDAyOTA5MkUgLyogUHJvZHVjdHMgKi8gPSB7Ci0gICAgICAgICAgIGlzYSA9IFBCWEdyb3VwOwot
ICAgICAgICAgICBjaGlsZHJlbiA9ICgKLSAgICAgICAgICAgICAgIEMyNDY1OTAxMTg5MDJBQ0Uw
MDI5MDkyRSAvKiBqc2MtY2xpICovLAotICAgICAgICAgICApOwotICAgICAgICAgICBuYW1lID0g
UHJvZHVjdHM7Ci0gICAgICAgICAgIHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0gICAgICAgfTsK
LSAgICAgICBDMjQ2NTkwMzE4OTAyQUNFMDAyOTA5MkUgLyogRnJhbWV3b3JrcyAqLyA9IHsKLSAg
ICAgICAgICAgaXNhID0gUEJYR3JvdXA7Ci0gICAgICAgICAgIGNoaWxkcmVuID0gKAotICAgICAg
ICAgICAgICAgQzI0NjU5MkIxODkwNUZDMTAwMjkwOTJFIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1l
d29yayAqLywKLSAgICAgICAgICAgICAgIEMyNDY1OTA0MTg5MDJBQ0UwMDI5MDkyRSAvKiBGb3Vu
ZGF0aW9uLmZyYW1ld29yayAqLywKLSAgICAgICAgICAgKTsKLSAgICAgICAgICAgbmFtZSA9IEZy
YW1ld29ya3M7Ci0gICAgICAgICAgIHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0gICAgICAgfTsK
LSAgICAgICBDMjQ2NTkwNjE4OTAyQUNFMDAyOTA5MkUgLyoganNjLWNsaSAqLyA9IHsKLSAgICAg
ICAgICAgaXNhID0gUEJYR3JvdXA7Ci0gICAgICAgICAgIGNoaWxkcmVuID0gKAotICAgICAgICAg
ICAgICAgQzI0NjU5MDcxODkwMkFDRTAwMjkwOTJFIC8qIG1haW4ubSAqLywKLSAgICAgICAgICAg
ICAgIEMyNDY1OTEyMTg5MDJCOTEwMDI5MDkyRSAvKiBDTElJbnN0YW5jZS5oICovLAotICAgICAg
ICAgICAgICAgQzI0NjU5MTMxODkwMkI5MTAwMjkwOTJFIC8qIENMSUluc3RhbmNlLm0gKi8sCi0g
ICAgICAgICAgICAgICBDMjQ2NTkxNTE4OTAyQzQyMDAyOTA5MkUgLyogSlNNb2R1bGUuaCAqLywK
LSAgICAgICAgICAgICAgIEMyNDY1OTE2MTg5MDJDNDIwMDI5MDkyRSAvKiBKU01vZHVsZS5tICov
LAotICAgICAgICAgICAgICAgQzI0NjU5MTgxODkwMkNDQzAwMjkwOTJFIC8qIEpTUnVuTG9vcFRo
cmVhZC5oICovLAotICAgICAgICAgICAgICAgQzI0NjU5MTkxODkwMkNDQzAwMjkwOTJFIC8qIEpT
UnVuTG9vcFRocmVhZC5tICovLAotICAgICAgICAgICAgICAgQzI0NjU5MUIxODkwMkQxMDAwMjkw
OTJFIC8qIFJ1bkxvb3BUaHJlYWQuaCAqLywKLSAgICAgICAgICAgICAgIEMyNDY1OTFDMTg5MDJE
MTAwMDI5MDkyRSAvKiBSdW5Mb29wVGhyZWFkLm0gKi8sCi0gICAgICAgICAgICAgICBDMjQ2NTkx
RTE4OTAyRTE1MDAyOTA5MkUgLyogUmVhZEV2YWxQcmludExvb3AuaCAqLywKLSAgICAgICAgICAg
ICAgIEMyNDY1OTFGMTg5MDJFMTUwMDI5MDkyRSAvKiBSZWFkRXZhbFByaW50TG9vcC5tICovLAot
ICAgICAgICAgICAgICAgQzI0NjU5MjExODkwMkVBNDAwMjkwOTJFIC8qIFNjcmlwdElucHV0U291
cmNlLmggKi8sCi0gICAgICAgICAgICAgICBDMjQ2NTkyMjE4OTAyRUE0MDAyOTA5MkUgLyogU2Ny
aXB0SW5wdXRTb3VyY2UubSAqLywKLSAgICAgICAgICAgKTsKLSAgICAgICAgICAgcGF0aCA9ICJq
c2MtY2xpIjsKLSAgICAgICAgICAgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLSAgICAgICB9Owor
CQlDMjQ2MTA0QzE4QUMzQjQ1MDA5Rjc1QjUgLyogdGVzdHMgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJKTsKKwkJCW5hbWUgPSB0ZXN0czsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUMyNDYxMDUwMThBQzQwRjEwMDlGNzVCNSAvKiBs
aWIgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJKTsKKwkJ
CW5hbWUgPSBsaWI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDMjQ2NThG
ODE4OTAyQUNFMDAyOTA5MkUgPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCUMyNDYxMDUwMThBQzQwRjEwMDlGNzVCNSAvKiBsaWIgKi8sCisJCQkJQzI0NjEwNEMx
OEFDM0I0NTAwOUY3NUI1IC8qIHRlc3RzICovLAorCQkJCUMyNDY1OTA2MTg5MDJBQ0UwMDI5MDky
RSAvKiBqc2MtY2xpICovLAorCQkJCUMyNDY1OTAzMTg5MDJBQ0UwMDI5MDkyRSAvKiBGcmFtZXdv
cmtzICovLAorCQkJCUMyNDY1OTAyMTg5MDJBQ0UwMDI5MDkyRSAvKiBQcm9kdWN0cyAqLywKKwkJ
CSk7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQlDMjQ2NTkwMjE4OTAyQUNF
MDAyOTA5MkUgLyogUHJvZHVjdHMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCUMyNDY1OTAxMTg5MDJBQ0UwMDI5MDkyRSAvKiBqc2MtY2xpICovLAorCQkJ
KTsKKwkJCW5hbWUgPSBQcm9kdWN0czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CisJCUMyNDY1OTAzMTg5MDJBQ0UwMDI5MDkyRSAvKiBGcmFtZXdvcmtzICovID0geworCQkJaXNh
ID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlDMjk2NjIxMDE4QURGNTYwMDA3NTI5
MjIgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovLAorCQkJCUMyNDY1OTA0MTg5MDJBQ0Uw
MDI5MDkyRSAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLywKKwkJCSk7CisJCQluYW1lID0gRnJh
bWV3b3JrczsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUMyNDY1OTA2MTg5
MDJBQ0UwMDI5MDkyRSAvKiBqc2MtY2xpICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQlDMjQ2NTkwNzE4OTAyQUNFMDAyOTA5MkUgLyogbWFpbi5tICovLAor
CQkJCUMyNDY1OTEyMTg5MDJCOTEwMDI5MDkyRSAvKiBDTElJbnN0YW5jZS5oICovLAorCQkJCUMy
NDY1OTEzMTg5MDJCOTEwMDI5MDkyRSAvKiBDTElJbnN0YW5jZS5tICovLAorCQkJCUMyNDY1OTE1
MTg5MDJDNDIwMDI5MDkyRSAvKiBKU01vZHVsZS5oICovLAorCQkJCUMyNDY1OTE2MTg5MDJDNDIw
MDI5MDkyRSAvKiBKU01vZHVsZS5tICovLAorCQkJCUMyNDY1OTE4MTg5MDJDQ0MwMDI5MDkyRSAv
KiBKU1J1bkxvb3BUaHJlYWQuaCAqLywKKwkJCQlDMjQ2NTkxOTE4OTAyQ0NDMDAyOTA5MkUgLyog
SlNSdW5Mb29wVGhyZWFkLm0gKi8sCisJCQkJQzI0NjU5MUIxODkwMkQxMDAwMjkwOTJFIC8qIFJ1
bkxvb3BUaHJlYWQuaCAqLywKKwkJCQlDMjQ2NTkxQzE4OTAyRDEwMDAyOTA5MkUgLyogUnVuTG9v
cFRocmVhZC5tICovLAorCQkJCUMyNDY1OTFFMTg5MDJFMTUwMDI5MDkyRSAvKiBSZWFkRXZhbFBy
aW50TG9vcC5oICovLAorCQkJCUMyNDY1OTFGMTg5MDJFMTUwMDI5MDkyRSAvKiBSZWFkRXZhbFBy
aW50TG9vcC5tICovLAorCQkJCUMyNDY1OTIxMTg5MDJFQTQwMDI5MDkyRSAvKiBTY3JpcHRJbnB1
dFNvdXJjZS5oICovLAorCQkJCUMyNDY1OTIyMTg5MDJFQTQwMDI5MDkyRSAvKiBTY3JpcHRJbnB1
dFNvdXJjZS5tICovLAorCQkJKTsKKwkJCXBhdGggPSAianNjLWNsaSI7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQl9OwogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVn
aW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KLSAgICAgICBDMjQ2NTkwMDE4OTAyQUNFMDAy
OTA5MkUgLyoganNjLWNsaSAqLyA9IHsKLSAgICAgICAgICAgaXNhID0gUEJYTmF0aXZlVGFyZ2V0
OwotICAgICAgICAgICBidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gQzI0NjU5MEYxODkwMkFDRTAw
MjkwOTJFIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJq
c2MtY2xpIiAqLzsKLSAgICAgICAgICAgYnVpbGRQaGFzZXMgPSAoCi0gICAgICAgICAgICAgICBD
MjQ2NThGRDE4OTAyQUNFMDAyOTA5MkUgLyogU291cmNlcyAqLywKLSAgICAgICAgICAgICAgIEMy
NDY1OEZFMTg5MDJBQ0UwMDI5MDkyRSAvKiBGcmFtZXdvcmtzICovLAotICAgICAgICAgICAgICAg
QzI0NjU4RkYxODkwMkFDRTAwMjkwOTJFIC8qIENvcHkgRmlsZXMgKi8sCi0gICAgICAgICAgICk7
Ci0gICAgICAgICAgIGJ1aWxkUnVsZXMgPSAoCi0gICAgICAgICAgICk7Ci0gICAgICAgICAgIGRl
cGVuZGVuY2llcyA9ICgKLSAgICAgICAgICAgKTsKLSAgICAgICAgICAgbmFtZSA9ICJqc2MtY2xp
IjsKLSAgICAgICAgICAgcHJvZHVjdE5hbWUgPSAianNjLWNsaSI7Ci0gICAgICAgICAgIHByb2R1
Y3RSZWZlcmVuY2UgPSBDMjQ2NTkwMTE4OTAyQUNFMDAyOTA5MkUgLyoganNjLWNsaSAqLzsKLSAg
ICAgICAgICAgcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS50b29sIjsKLSAg
ICAgICB9OworCQlDMjQ2NTkwMDE4OTAyQUNFMDAyOTA5MkUgLyoganNjLWNsaSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDMjQ2
NTkwRjE4OTAyQUNFMDAyOTA5MkUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhO
YXRpdmVUYXJnZXQgImpzYy1jbGkiICovOworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJQzI0NjU4
RkQxODkwMkFDRTAwMjkwOTJFIC8qIFNvdXJjZXMgKi8sCisJCQkJQzI0NjU4RkUxODkwMkFDRTAw
MjkwOTJFIC8qIEZyYW1ld29ya3MgKi8sCisJCQkJQzI0NjU4RkYxODkwMkFDRTAwMjkwOTJFIC8q
IENvcHkgTGliICovLAorCQkJCUMyNDYxMDU0MThBQzQ0NzIwMDlGNzVCNSAvKiBDb3B5IFRlc3Rz
ICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0g
KAorCQkJKTsKKwkJCW5hbWUgPSAianNjLWNsaSI7CisJCQlwcm9kdWN0TmFtZSA9ICJqc2MtY2xp
IjsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSBDMjQ2NTkwMTE4OTAyQUNFMDAyOTA5MkUgLyoganNj
LWNsaSAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUudG9vbCI7
CisJCX07CiAvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJY
UHJvamVjdCBzZWN0aW9uICovCi0gICAgICAgQzI0NjU4RjkxODkwMkFDRTAwMjkwOTJFIC8qIFBy
b2plY3Qgb2JqZWN0ICovID0gewotICAgICAgICAgICBpc2EgPSBQQlhQcm9qZWN0OwotICAgICAg
ICAgICBhdHRyaWJ1dGVzID0gewotICAgICAgICAgICAgICAgTGFzdFVwZ3JhZGVDaGVjayA9IDA1
MDA7Ci0gICAgICAgICAgICAgICBPUkdBTklaQVRJT05OQU1FID0gIk1hcmsgSGFobmVuYmVyZyI7
Ci0gICAgICAgICAgIH07Ci0gICAgICAgICAgIGJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDMjQ2
NThGQzE4OTAyQUNFMDAyOTA5MkUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQ
cm9qZWN0ICJqc2MtY2xpIiAqLzsKLSAgICAgICAgICAgY29tcGF0aWJpbGl0eVZlcnNpb24gPSAi
WGNvZGUgMy4yIjsKLSAgICAgICAgICAgZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOwotICAg
ICAgICAgICBoYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMDsKLSAgICAgICAgICAga25vd25SZWdp
b25zID0gKAotICAgICAgICAgICAgICAgZW4sCi0gICAgICAgICAgICk7Ci0gICAgICAgICAgIG1h
aW5Hcm91cCA9IEMyNDY1OEY4MTg5MDJBQ0UwMDI5MDkyRTsKLSAgICAgICAgICAgcHJvZHVjdFJl
Zkdyb3VwID0gQzI0NjU5MDIxODkwMkFDRTAwMjkwOTJFIC8qIFByb2R1Y3RzICovOwotICAgICAg
ICAgICBwcm9qZWN0RGlyUGF0aCA9ICIiOwotICAgICAgICAgICBwcm9qZWN0Um9vdCA9ICIiOwot
ICAgICAgICAgICB0YXJnZXRzID0gKAotICAgICAgICAgICAgICAgQzI0NjU5MDAxODkwMkFDRTAw
MjkwOTJFIC8qIGpzYy1jbGkgKi8sCi0gICAgICAgICAgICk7Ci0gICAgICAgfTsKKwkJQzI0NjU4
RjkxODkwMkFDRTAwMjkwOTJFIC8qIFByb2plY3Qgb2JqZWN0ICovID0geworCQkJaXNhID0gUEJY
UHJvamVjdDsKKwkJCWF0dHJpYnV0ZXMgPSB7CisJCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA1MDA7
CisJCQkJT1JHQU5JWkFUSU9OTkFNRSA9ICJNYXJrIEhhaG5lbmJlcmciOworCQkJfTsKKwkJCWJ1
aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBDMjQ2NThGQzE4OTAyQUNFMDAyOTA5MkUgLyogQnVpbGQg
Y29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJqc2MtY2xpIiAqLzsKKwkJCWNvbXBh
dGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMuMiI7CisJCQlkZXZlbG9wbWVudFJlZ2lvbiA9IEVu
Z2xpc2g7CisJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0gMDsKKwkJCWtub3duUmVnaW9ucyA9
ICgKKwkJCQllbiwKKwkJCSk7CisJCQltYWluR3JvdXAgPSBDMjQ2NThGODE4OTAyQUNFMDAyOTA5
MkU7CisJCQlwcm9kdWN0UmVmR3JvdXAgPSBDMjQ2NTkwMjE4OTAyQUNFMDAyOTA5MkUgLyogUHJv
ZHVjdHMgKi87CisJCQlwcm9qZWN0RGlyUGF0aCA9ICIiOworCQkJcHJvamVjdFJvb3QgPSAiIjsK
KwkJCXRhcmdldHMgPSAoCisJCQkJQzI0NjU5MDAxODkwMkFDRTAwMjkwOTJFIC8qIGpzYy1jbGkg
Ki8sCisJCQkpOworCQl9OwogLyogRW5kIFBCWFByb2plY3Qgc2VjdGlvbiAqLwogCiAvKiBCZWdp
biBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCi0gICAgICAgQzI0NjU4RkQxODkwMkFD
RTAwMjkwOTJFIC8qIFNvdXJjZXMgKi8gPSB7Ci0gICAgICAgICAgIGlzYSA9IFBCWFNvdXJjZXNC
dWlsZFBoYXNlOwotICAgICAgICAgICBidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwotICAg
ICAgICAgICBmaWxlcyA9ICgKLSAgICAgICAgICAgICAgIEMyNDY1OTFBMTg5MDJDQ0MwMDI5MDky
RSAvKiBKU1J1bkxvb3BUaHJlYWQubSBpbiBTb3VyY2VzICovLAotICAgICAgICAgICAgICAgQzI0
NjU5MjAxODkwMkUxNTAwMjkwOTJFIC8qIFJlYWRFdmFsUHJpbnRMb29wLm0gaW4gU291cmNlcyAq
LywKLSAgICAgICAgICAgICAgIEMyNDY1OTIzMTg5MDJFQTQwMDI5MDkyRSAvKiBTY3JpcHRJbnB1
dFNvdXJjZS5tIGluIFNvdXJjZXMgKi8sCi0gICAgICAgICAgICAgICBDMjQ2NTkwODE4OTAyQUNF
MDAyOTA5MkUgLyogbWFpbi5tIGluIFNvdXJjZXMgKi8sCi0gICAgICAgICAgICAgICBDMjQ2NTkx
NDE4OTAyQjkxMDAyOTA5MkUgLyogQ0xJSW5zdGFuY2UubSBpbiBTb3VyY2VzICovLAotICAgICAg
ICAgICAgICAgQzI0NjU5MUQxODkwMkQxMDAwMjkwOTJFIC8qIFJ1bkxvb3BUaHJlYWQubSBpbiBT
b3VyY2VzICovLAotICAgICAgICAgICAgICAgQzI0NjU5MTcxODkwMkM0MjAwMjkwOTJFIC8qIEpT
TW9kdWxlLm0gaW4gU291cmNlcyAqLywKLSAgICAgICAgICAgKTsKLSAgICAgICAgICAgcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Ci0gICAgICAgfTsKKwkJQzI0NjU4RkQx
ODkwMkFDRTAwMjkwOTJFIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVp
bGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgK
KwkJCQlDMjQ2NTkxQTE4OTAyQ0NDMDAyOTA5MkUgLyogSlNSdW5Mb29wVGhyZWFkLm0gaW4gU291
cmNlcyAqLywKKwkJCQlDMjQ2NTkyMDE4OTAyRTE1MDAyOTA5MkUgLyogUmVhZEV2YWxQcmludExv
b3AubSBpbiBTb3VyY2VzICovLAorCQkJCUMyNDY1OTIzMTg5MDJFQTQwMDI5MDkyRSAvKiBTY3Jp
cHRJbnB1dFNvdXJjZS5tIGluIFNvdXJjZXMgKi8sCisJCQkJQzI0NjU5MDgxODkwMkFDRTAwMjkw
OTJFIC8qIG1haW4ubSBpbiBTb3VyY2VzICovLAorCQkJCUMyNDY1OTE0MTg5MDJCOTEwMDI5MDky
RSAvKiBDTElJbnN0YW5jZS5tIGluIFNvdXJjZXMgKi8sCisJCQkJQzI0NjU5MUQxODkwMkQxMDAw
MjkwOTJFIC8qIFJ1bkxvb3BUaHJlYWQubSBpbiBTb3VyY2VzICovLAorCQkJCUMyNDY1OTE3MTg5
MDJDNDIwMDI5MDkyRSAvKiBKU01vZHVsZS5tIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAvKiBFbmQgUEJYU291
cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBYQ0J1aWxkQ29uZmlndXJhdGlv
biBzZWN0aW9uICovCi0gICAgICAgQzI0NjU5MEQxODkwMkFDRTAwMjkwOTJFIC8qIERlYnVnICov
ID0gewotICAgICAgICAgICBpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKLSAgICAgICAgICAg
YnVpbGRTZXR0aW5ncyA9IHsKLSAgICAgICAgICAgICAgIEFMV0FZU19TRUFSQ0hfVVNFUl9QQVRI
UyA9IE5POwotICAgICAgICAgICAgICAgQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdu
dSsrMHgiOwotICAgICAgICAgICAgICAgQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKLSAg
ICAgICAgICAgICAgIENMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKLSAgICAgICAgICAgICAg
IENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwotICAgICAgICAgICAgICAgQ0xBTkdf
V0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwotICAgICAgICAgICAgICAgQ0xBTkdfV0FS
Tl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7Ci0gICAgICAgICAgICAgICBDTEFO
R19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7Ci0gICAgICAgICAgICAgICBDTEFOR19XQVJOX0VOVU1f
Q09OVkVSU0lPTiA9IFlFUzsKLSAgICAgICAgICAgICAgIENMQU5HX1dBUk5fSU5UX0NPTlZFUlNJ
T04gPSBZRVM7Ci0gICAgICAgICAgICAgICBDTEFOR19XQVJOX09CSkNfUk9PVF9DTEFTUyA9IFlF
U19FUlJPUjsKLSAgICAgICAgICAgICAgIENMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFU
Q0ggPSBZRVM7Ci0gICAgICAgICAgICAgICBDT1BZX1BIQVNFX1NUUklQID0gTk87Ci0gICAgICAg
ICAgICAgICBHQ0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwotICAgICAgICAgICAgICAg
R0NDX0RZTkFNSUNfTk9fUElDID0gTk87Ci0gICAgICAgICAgICAgICBHQ0NfRU5BQkxFX09CSkNf
RVhDRVBUSU9OUyA9IFlFUzsKLSAgICAgICAgICAgICAgIEdDQ19PUFRJTUlaQVRJT05fTEVWRUwg
PSAwOwotICAgICAgICAgICAgICAgR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICgKLSAg
ICAgICAgICAgICAgICAgICAiREVCVUc9MSIsCi0gICAgICAgICAgICAgICAgICAgIiQoaW5oZXJp
dGVkKSIsCi0gICAgICAgICAgICAgICApOwotICAgICAgICAgICAgICAgR0NDX1NZTUJPTFNfUFJJ
VkFURV9FWFRFUk4gPSBOTzsKLSAgICAgICAgICAgICAgIEdDQ19XQVJOXzY0X1RPXzMyX0JJVF9D
T05WRVJTSU9OID0gWUVTOwotICAgICAgICAgICAgICAgR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZ
UEUgPSBZRVNfRVJST1I7Ci0gICAgICAgICAgICAgICBHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVD
VE9SID0gWUVTOwotICAgICAgICAgICAgICAgR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9
IFlFUzsKLSAgICAgICAgICAgICAgIEdDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKLSAg
ICAgICAgICAgICAgIEdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKLSAgICAgICAgICAg
ICAgIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCA9IDEwLjk7Ci0gICAgICAgICAgICAgICBPTkxZ
X0FDVElWRV9BUkNIID0gWUVTOwotICAgICAgICAgICAgICAgU0RLUk9PVCA9IG1hY29zeDsKLSAg
ICAgICAgICAgfTsKLSAgICAgICAgICAgbmFtZSA9IERlYnVnOwotICAgICAgIH07Ci0gICAgICAg
QzI0NjU5MEUxODkwMkFDRTAwMjkwOTJFIC8qIFJlbGVhc2UgKi8gPSB7Ci0gICAgICAgICAgIGlz
YSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwotICAgICAgICAgICBidWlsZFNldHRpbmdzID0gewot
ICAgICAgICAgICAgICAgQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87Ci0gICAgICAgICAg
ICAgICBDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7Ci0gICAgICAgICAg
ICAgICBDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwotICAgICAgICAgICAgICAgQ0xBTkdf
RU5BQkxFX09CSkNfQVJDID0gWUVTOwotICAgICAgICAgICAgICAgQ0xBTkdfV0FSTl9CT09MX0NP
TlZFUlNJT04gPSBZRVM7Ci0gICAgICAgICAgICAgICBDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZF
UlNJT04gPSBZRVM7Ci0gICAgICAgICAgICAgICBDTEFOR19XQVJOX0RJUkVDVF9PQkpDX0lTQV9V
U0FHRSA9IFlFU19FUlJPUjsKLSAgICAgICAgICAgICAgIENMQU5HX1dBUk5fRU1QVFlfQk9EWSA9
IFlFUzsKLSAgICAgICAgICAgICAgIENMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwot
ICAgICAgICAgICAgICAgQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKLSAgICAgICAg
ICAgICAgIENMQU5HX1dBUk5fT0JKQ19ST09UX0NMQVNTID0gWUVTX0VSUk9SOwotICAgICAgICAg
ICAgICAgQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKLSAgICAgICAg
ICAgICAgIENPUFlfUEhBU0VfU1RSSVAgPSBZRVM7Ci0gICAgICAgICAgICAgICBERUJVR19JTkZP
Uk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKLSAgICAgICAgICAgICAgIEVOQUJM
RV9OU19BU1NFUlRJT05TID0gTk87Ci0gICAgICAgICAgICAgICBHQ0NfQ19MQU5HVUFHRV9TVEFO
REFSRCA9IGdudTk5OwotICAgICAgICAgICAgICAgR0NDX0VOQUJMRV9PQkpDX0VYQ0VQVElPTlMg
PSBZRVM7Ci0gICAgICAgICAgICAgICBHQ0NfV0FSTl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9
IFlFUzsKLSAgICAgICAgICAgICAgIEdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTX0VS
Uk9SOwotICAgICAgICAgICAgICAgR0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsK
LSAgICAgICAgICAgICAgIEdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVM7Ci0gICAg
ICAgICAgICAgICBHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gPSBZRVM7Ci0gICAgICAgICAgICAg
ICBHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVM7Ci0gICAgICAgICAgICAgICBNQUNPU1hf
REVQTE9ZTUVOVF9UQVJHRVQgPSAxMC45OwotICAgICAgICAgICAgICAgU0RLUk9PVCA9IG1hY29z
eDsKLSAgICAgICAgICAgfTsKLSAgICAgICAgICAgbmFtZSA9IFJlbGVhc2U7Ci0gICAgICAgfTsK
LSAgICAgICBDMjQ2NTkxMDE4OTAyQUNFMDAyOTA5MkUgLyogRGVidWcgKi8gPSB7Ci0gICAgICAg
ICAgIGlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwotICAgICAgICAgICBidWlsZFNldHRpbmdz
ID0gewotICAgICAgICAgICAgICAgQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gWUVTOwotICAg
ICAgICAgICAgICAgREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7
Ci0gICAgICAgICAgICAgICBGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gIiQoaW5oZXJpdGVkKSI7
Ci0gICAgICAgICAgICAgICBHQ0NfUFJFQ09NUElMRV9QUkVGSVhfSEVBREVSID0gWUVTOwotICAg
ICAgICAgICAgICAgR0NDX1BSRUZJWF9IRUFERVIgPSAiIjsKLSAgICAgICAgICAgICAgIExEX1JV
TlBBVEhfU0VBUkNIX1BBVEhTID0gIlwiQGxvYWRlcl9wYXRoLy5cIiI7Ci0gICAgICAgICAgICAg
ICBMSU5LRVJfRElTUExBWVNfTUFOR0xFRF9OQU1FUyA9IFlFUzsKLSAgICAgICAgICAgICAgIE9U
SEVSX0NGTEFHUyA9ICgKLSAgICAgICAgICAgICAgICAgICAiLWlmcmFtZXdvcmsiLAotICAgICAg
ICAgICAgICAgICAgICIkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29ya3Mv
IiwKLSAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICAgICBPVEhFUl9MREZMQUdTID0gIi1s
ZWRpdCI7Ci0gICAgICAgICAgICAgICBQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwot
ICAgICAgICAgICAgICAgU0RLUk9PVCA9IG1hY29zeC5pbnRlcm5hbDsKLSAgICAgICAgICAgfTsK
LSAgICAgICAgICAgbmFtZSA9IERlYnVnOwotICAgICAgIH07Ci0gICAgICAgQzI0NjU5MTExODkw
MkFDRTAwMjkwOTJFIC8qIFJlbGVhc2UgKi8gPSB7Ci0gICAgICAgICAgIGlzYSA9IFhDQnVpbGRD
b25maWd1cmF0aW9uOwotICAgICAgICAgICBidWlsZFNldHRpbmdzID0gewotICAgICAgICAgICAg
ICAgQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gWUVTOwotICAgICAgICAgICAgICAgREVCVUdf
SU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7Ci0gICAgICAgICAgICAgICBG
UkFNRVdPUktfU0VBUkNIX1BBVEhTID0gIiQoaW5oZXJpdGVkKSI7Ci0gICAgICAgICAgICAgICBH
Q0NfUFJFQ09NUElMRV9QUkVGSVhfSEVBREVSID0gWUVTOwotICAgICAgICAgICAgICAgR0NDX1BS
RUZJWF9IRUFERVIgPSAiIjsKLSAgICAgICAgICAgICAgIExEX1JVTlBBVEhfU0VBUkNIX1BBVEhT
ID0gIlwiQGxvYWRlcl9wYXRoLy5cIiI7Ci0gICAgICAgICAgICAgICBMSU5LRVJfRElTUExBWVNf
TUFOR0xFRF9OQU1FUyA9IFlFUzsKLSAgICAgICAgICAgICAgIE9USEVSX0NGTEFHUyA9ICgKLSAg
ICAgICAgICAgICAgICAgICAiLWlmcmFtZXdvcmsiLAotICAgICAgICAgICAgICAgICAgICIkKFNE
S1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvIiwKLSAgICAgICAgICAgICAg
ICk7Ci0gICAgICAgICAgICAgICBPVEhFUl9MREZMQUdTID0gIi1sZWRpdCI7Ci0gICAgICAgICAg
ICAgICBQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOwotICAgICAgICAgICAgICAgU0RL
Uk9PVCA9IG1hY29zeC5pbnRlcm5hbDsKLSAgICAgICAgICAgfTsKLSAgICAgICAgICAgbmFtZSA9
IFJlbGVhc2U7Ci0gICAgICAgfTsKKwkJQzI0NjU5MEQxODkwMkFDRTAwMjkwOTJFIC8qIERlYnVn
ICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdz
ID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNMQU5HX0NYWF9M
QU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKKwkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJs
aWJjKysiOworCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKKwkJCQlDTEFOR19XQVJO
X0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJ
T04gPSBZRVM7CisJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJS
T1I7CisJCQkJQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOworCQkJCUNMQU5HX1dBUk5fRU5V
TV9DT05WRVJTSU9OID0gWUVTOworCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7
CisJCQkJQ0xBTkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CisJCQkJQ0xBTkdf
V0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKKwkJCQlDT1BZX1BIQVNFX1NUUklQ
ID0gTk87CisJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKKwkJCQlHQ0NfRFlO
QU1JQ19OT19QSUMgPSBOTzsKKwkJCQlHQ0NfRU5BQkxFX09CSkNfRVhDRVBUSU9OUyA9IFlFUzsK
KwkJCQlHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMID0gMDsKKwkJCQlHQ0NfUFJFUFJPQ0VTU09SX0RF
RklOSVRJT05TID0gKAorCQkJCQkiREVCVUc9MSIsCisJCQkJCSIkKGluaGVyaXRlZCkiLAorCQkJ
CSk7CisJCQkJR0NDX1NZTUJPTFNfUFJJVkFURV9FWFRFUk4gPSBOTzsKKwkJCQlHQ0NfV0FSTl82
NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRVUk5f
VFlQRSA9IFlFU19FUlJPUjsKKwkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVT
OworCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVM7CisJCQkJR0NDX1dBUk5f
VU5VU0VEX0ZVTkNUSU9OID0gWUVTOworCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlF
UzsKKwkJCQlNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMC45OworCQkJCU9OTFlfQUNUSVZF
X0FSQ0ggPSBZRVM7CisJCQkJU0RLUk9PVCA9IG1hY29zeDsKKwkJCX07CisJCQluYW1lID0gRGVi
dWc7CisJCX07CisJCUMyNDY1OTBFMTg5MDJBQ0UwMDI5MDkyRSAvKiBSZWxlYXNlICovID0gewor
CQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJ
CUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9T
VEFOREFSRCA9ICJnbnUrKzB4IjsKKwkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwor
CQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0JPT0xfQ09O
VkVSU0lPTiA9IFlFUzsKKwkJCQlDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7
CisJCQkJQ0xBTkdfV0FSTl9ESVJFQ1RfT0JKQ19JU0FfVVNBR0UgPSBZRVNfRVJST1I7CisJCQkJ
Q0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOworCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJT
SU9OID0gWUVTOworCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CisJCQkJQ0xB
TkdfV0FSTl9PQkpDX1JPT1RfQ0xBU1MgPSBZRVNfRVJST1I7CisJCQkJQ0xBTkdfV0FSTl9fRFVQ
TElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0gWUVTOwor
CQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRzeW0iOworCQkJCUVO
QUJMRV9OU19BU1NFUlRJT05TID0gTk87CisJCQkJR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBn
bnU5OTsKKwkJCQlHQ0NfRU5BQkxFX09CSkNfRVhDRVBUSU9OUyA9IFlFUzsKKwkJCQlHQ0NfV0FS
Tl82NF9UT18zMl9CSVRfQ09OVkVSU0lPTiA9IFlFUzsKKwkJCQlHQ0NfV0FSTl9BQk9VVF9SRVRV
Uk5fVFlQRSA9IFlFU19FUlJPUjsKKwkJCQlHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0g
WUVTOworCQkJCUdDQ19XQVJOX1VOSU5JVElBTElaRURfQVVUT1MgPSBZRVM7CisJCQkJR0NDX1dB
Uk5fVU5VU0VEX0ZVTkNUSU9OID0gWUVTOworCQkJCUdDQ19XQVJOX1VOVVNFRF9WQVJJQUJMRSA9
IFlFUzsKKwkJCQlNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgPSAxMC45OworCQkJCVNES1JPT1Qg
PSBtYWNvc3g7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCUMyNDY1OTEwMTg5
MDJBQ0UwMDI5MDkyRSAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0
aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMg
PSBZRVM7CisJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7
CisJCQkJRlJBTUVXT1JLX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJIiQoaW5oZXJpdGVkKSIsCisJ
CQkJCSIvVm9sdW1lcy9EYXRhL1dlYktpdC1zdm4tMDEvT3BlblNvdXJjZS9XZWJLaXRCdWlsZC9E
ZWJ1ZyIsCisJCQkJKTsKKwkJCQlHQ0NfUFJFQ09NUElMRV9QUkVGSVhfSEVBREVSID0gWUVTOwor
CQkJCUdDQ19QUkVGSVhfSEVBREVSID0gIiI7CisJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMg
PSAiXCJAbG9hZGVyX3BhdGgvLlwiIjsKKwkJCQlMSU5LRVJfRElTUExBWVNfTUFOR0xFRF9OQU1F
UyA9IFlFUzsKKwkJCQlPVEhFUl9DRkxBR1MgPSAoCisJCQkJCSItaWZyYW1ld29yayIsCisJCQkJ
CSIkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvIiwKKwkJCQkpOwor
CQkJCU9USEVSX0xERkxBR1MgPSAiLWxlZGl0IjsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJH
RVRfTkFNRSkiOworCQkJCVNES1JPT1QgPSBtYWNvc3guaW50ZXJuYWw7CisJCQl9OworCQkJbmFt
ZSA9IERlYnVnOworCQl9OworCQlDMjQ2NTkxMTE4OTAyQUNFMDAyOTA5MkUgLyogUmVsZWFzZSAq
LyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBZRVM7CisJCQkJREVCVUdfSU5GT1JN
QVRJT05fRk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CisJCQkJRlJBTUVXT1JLX1NFQVJDSF9Q
QVRIUyA9ICgKKwkJCQkJIiQoaW5oZXJpdGVkKSIsCisJCQkJCSIvVm9sdW1lcy9EYXRhL1dlYktp
dC1zdm4tMDEvT3BlblNvdXJjZS9XZWJLaXRCdWlsZC9EZWJ1ZyIsCisJCQkJKTsKKwkJCQlHQ0Nf
UFJFQ09NUElMRV9QUkVGSVhfSEVBREVSID0gWUVTOworCQkJCUdDQ19QUkVGSVhfSEVBREVSID0g
IiI7CisJCQkJTERfUlVOUEFUSF9TRUFSQ0hfUEFUSFMgPSAiXCJAbG9hZGVyX3BhdGgvLlwiIjsK
KwkJCQlMSU5LRVJfRElTUExBWVNfTUFOR0xFRF9OQU1FUyA9IFlFUzsKKwkJCQlPVEhFUl9DRkxB
R1MgPSAoCisJCQkJCSItaWZyYW1ld29yayIsCisJCQkJCSIkKFNES1JPT1QpJChTWVNURU1fTElC
UkFSWV9ESVIpL0ZyYW1ld29ya3MvIiwKKwkJCQkpOworCQkJCU9USEVSX0xERkxBR1MgPSAiLWxl
ZGl0IjsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOworCQkJCVNES1JPT1Qg
PSBtYWNvc3guaW50ZXJuYWw7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CiAvKiBF
bmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBYQ0NvbmZpZ3Vy
YXRpb25MaXN0IHNlY3Rpb24gKi8KLSAgICAgICBDMjQ2NThGQzE4OTAyQUNFMDAyOTA5MkUgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJqc2MtY2xpIiAqLyA9IHsK
LSAgICAgICAgICAgaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKLSAgICAgICAgICAgYnVpbGRD
b25maWd1cmF0aW9ucyA9ICgKLSAgICAgICAgICAgICAgIEMyNDY1OTBEMTg5MDJBQ0UwMDI5MDky
RSAvKiBEZWJ1ZyAqLywKLSAgICAgICAgICAgICAgIEMyNDY1OTBFMTg5MDJBQ0UwMDI5MDkyRSAv
KiBSZWxlYXNlICovLAotICAgICAgICAgICApOwotICAgICAgICAgICBkZWZhdWx0Q29uZmlndXJh
dGlvbklzVmlzaWJsZSA9IDA7Ci0gICAgICAgICAgIGRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9
IFJlbGVhc2U7Ci0gICAgICAgfTsKLSAgICAgICBDMjQ2NTkwRjE4OTAyQUNFMDAyOTA5MkUgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImpzYy1jbGkiICov
ID0gewotICAgICAgICAgICBpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwotICAgICAgICAgICBi
dWlsZENvbmZpZ3VyYXRpb25zID0gKAotICAgICAgICAgICAgICAgQzI0NjU5MTAxODkwMkFDRTAw
MjkwOTJFIC8qIERlYnVnICovLAotICAgICAgICAgICAgICAgQzI0NjU5MTExODkwMkFDRTAwMjkw
OTJFIC8qIFJlbGVhc2UgKi8sCi0gICAgICAgICAgICk7Ci0gICAgICAgICAgIGRlZmF1bHRDb25m
aWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKLSAgICAgICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb25O
YW1lID0gUmVsZWFzZTsKLSAgICAgICB9OworCQlDMjQ2NThGQzE4OTAyQUNFMDAyOTA5MkUgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJqc2MtY2xpIiAqLyA9IHsK
KwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0g
KAorCQkJCUMyNDY1OTBEMTg5MDJBQ0UwMDI5MDkyRSAvKiBEZWJ1ZyAqLywKKwkJCQlDMjQ2NTkw
RTE4OTAyQUNFMDAyOTA5MkUgLyogUmVsZWFzZSAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBSZWxl
YXNlOworCQl9OworCQlDMjQ2NTkwRjE4OTAyQUNFMDAyOTA5MkUgLyogQnVpbGQgY29uZmlndXJh
dGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgImpzYy1jbGkiICovID0geworCQkJaXNhID0g
WENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJQzI0
NjU5MTAxODkwMkFDRTAwMjkwOTJFIC8qIERlYnVnICovLAorCQkJCUMyNDY1OTExMTg5MDJBQ0Uw
MDI5MDkyRSAvKiBSZWxlYXNlICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNW
aXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFJlbGVhc2U7CisJCX07
CiAvKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCi0gICB9OwotICAgcm9vdE9i
amVjdCA9IEMyNDY1OEY5MTg5MDJBQ0UwMDI5MDkyRSAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwl9
OworCXJvb3RPYmplY3QgPSBDMjQ2NThGOTE4OTAyQUNFMDAyOTA5MkUgLyogUHJvamVjdCBvYmpl
Y3QgKi87CiB9CkluZGV4OiBUb29scy9qc2MtY2xpL2pzYy1jbGkvQ0xJSW5zdGFuY2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9qc2MtY2xpL2pzYy1jbGkvQ0xJSW5zdGFuY2UuaAkocmV2aXNpb24g
MTY0MDg4KQorKysgVG9vbHMvanNjLWNsaS9qc2MtY2xpL0NMSUluc3RhbmNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDYgKzMxLDcgQEAKIEBpbnRlcmZhY2UgQ0xJSW5zdGFuY2UgOiBOU09iamVj
dAogCiAtKHZvaWQpbG9hZEZpbGU6KE5TU3RyaW5nICopcGF0aDsKKy0odm9pZClkaWRSZWNlaXZl
QXJndW1lbnRzOihjb25zdCBjaGFyKiopYXJncyBhdE9mZnNldDooaW50KW9mZnNldCB3aXRoTGVu
Z3RoOihpbnQpbGVuZ3RoOwogLSh2b2lkKXJ1bjsKIAogQGVuZApJbmRleDogVG9vbHMvanNjLWNs
aS9qc2MtY2xpL0NMSUluc3RhbmNlLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvanNjLWNsaS9qc2Mt
Y2xpL0NMSUluc3RhbmNlLm0JKHJldmlzaW9uIDE2NDA4OCkKKysrIFRvb2xzL2pzYy1jbGkvanNj
LWNsaS9DTElJbnN0YW5jZS5tCSh3b3JraW5nIGNvcHkpCkBAIC01OSwxNCArNTksMjIgQEAgLSAo
aWQpaW5pdAogICAgICAgICByZXR1cm4gbW9kdWxlLmV4cG9ydHM7CiAgICAgfTsKICAgICAKLSAg
ICBfanNUaHJlYWQgPSBbW0pTUnVuTG9vcFRocmVhZCBhbGxvY10gaW5pdFdpdGhGaWxlczpAW10g
YW5kQ29udGV4dDpfY29udGV4dF07CisgICAgX2NvbnRleHRbQCJBUkdWIl0gPSBbSlNWYWx1ZSB2
YWx1ZVdpdGhOZXdBcnJheUluQ29udGV4dDpfY29udGV4dF07CisgICAgX2pzVGhyZWFkID0gW1tK
U1J1bkxvb3BUaHJlYWQgYWxsb2NdIGluaXRXaXRoQ29udGV4dDpfY29udGV4dF07CiAgICAgCiAg
ICAgcmV0dXJuIHNlbGY7CiB9CiAKIC0gKHZvaWQpbG9hZEZpbGU6KE5TU3RyaW5nICopcGF0aAog
ewotICAgIF9iYXNlRmlsZSA9IHBhdGg7CisgICAgW19qc1RocmVhZCBsb2FkRmlsZTpwYXRoXTsK
K30KKworLSAodm9pZClkaWRSZWNlaXZlQXJndW1lbnRzOihjb25zdCBjaGFyICoqKWFyZ3MgYXRP
ZmZzZXQ6KGludClvZmZzZXQgd2l0aExlbmd0aDooaW50KWxlbmd0aAoreworICAgIFtfY29udGV4
dFtAIkFSR1YiXSBzZXRWYWx1ZTooX2Jhc2VGaWxlID8gX2Jhc2VGaWxlIDogQCIiKSBhdEluZGV4
OjBdOworICAgIGZvciAoaW50IGkgPSBvZmZzZXQ7IGkgPCBsZW5ndGg7ICsraSkKKyAgICAgICAg
W19jb250ZXh0W0AiQVJHViJdIHNldFZhbHVlOkAoYXJnc1tpXSkgYXRJbmRleDoob2Zmc2V0IC0g
aSArIDEpXTsKIH0KIAogLSAodm9pZClydW4KSW5kZXg6IFRvb2xzL2pzYy1jbGkvanNjLWNsaS9K
U1J1bkxvb3BUaHJlYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9qc2MtY2xpL2pzYy1jbGkvSlNS
dW5Mb29wVGhyZWFkLmgJKHJldmlzaW9uIDE2NDA4OCkKKysrIFRvb2xzL2pzYy1jbGkvanNjLWNs
aS9KU1J1bkxvb3BUaHJlYWQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsOCBAQAogCiBA
cHJvcGVydHkgZGlzcGF0Y2hfcXVldWVfdCBhc3luY1F1ZXVlOwogCi0tIChpZClpbml0V2l0aEZp
bGVzOihOU0FycmF5ICopZmlsZXMgYW5kQ29udGV4dDooSlNDb250ZXh0ICopY29udGV4dDsKKy0g
KGlkKWluaXRXaXRoQ29udGV4dDooSlNDb250ZXh0ICopY29udGV4dDsKKy0gKHZvaWQpbG9hZEZp
bGU6KE5TU3RyaW5nICopZmlsZTsKIC0gKHZvaWQpc3RhcnQ7CiAtICh2b2lkKWpvaW47CiAtIChK
U1ZhbHVlICopZGlkUmVjZWl2ZUlucHV0OihOU1N0cmluZyAqKWlucHV0OwpJbmRleDogVG9vbHMv
anNjLWNsaS9qc2MtY2xpL0pTUnVuTG9vcFRocmVhZC5tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL2pz
Yy1jbGkvanNjLWNsaS9KU1J1bkxvb3BUaHJlYWQubQkocmV2aXNpb24gMTY0MDg4KQorKysgVG9v
bHMvanNjLWNsaS9qc2MtY2xpL0pTUnVuTG9vcFRocmVhZC5tCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw3ICsyOSw3IEBACiAjaW1wb3J0IDxwdGhyZWFkLmg+CiAKIEBpbXBsZW1lbnRhdGlvbiBKU1J1
bkxvb3BUaHJlYWQgewotICAgIE5TQXJyYXkgKm1fZmlsZXNUb1J1bjsKKyAgICBOU1N0cmluZyAq
bV9maWxlVG9SdW47CiAgICAgQ0ZSdW5Mb29wUmVmIG1fcnVuTG9vcDsKICAgICBTY3JpcHRJbnB1
dFNvdXJjZSAqbV9zY3JpcHRTb3VyY2U7CiAgICAgSlNDb250ZXh0ICptX2NvbnRleHQ7CkBAIC00
OCwxMyArNDgsMTIgQEAgKyAoVGhyZWFkTWFpblR5cGUpdGhyZWFkTWFpbgogICAgIHJldHVybiBq
c1RocmVhZE1haW47CiB9CiAKLS0gKGlkKWluaXRXaXRoRmlsZXM6KE5TQXJyYXkgKilmaWxlcyBh
bmRDb250ZXh0OihKU0NvbnRleHQgKiljb250ZXh0CistIChpZClpbml0V2l0aENvbnRleHQ6KEpT
Q29udGV4dCAqKWNvbnRleHQKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIGlmICgh
c2VsZikKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICAKLSAgICBtX2ZpbGVzVG9SdW4gPSBmaWxl
czsKICAgICBtX2NvbnRleHQgPSBjb250ZXh0OwogICAgIG1fc2NyaXB0U291cmNlID0gW1tTY3Jp
cHRJbnB1dFNvdXJjZSBhbGxvY10gaW5pdFdpdGhDb250ZXh0OmNvbnRleHRdOwogICAgIG1fYXN5
bmNRdWV1ZSA9IGRpc3BhdGNoX3F1ZXVlX2NyZWF0ZSgibm9kZS5qc2MgYXN5bmMgcXVldWUiLCBE
SVNQQVRDSF9RVUVVRV9DT05DVVJSRU5UKTsKQEAgLTYyLDYgKzYxLDExIEBAIC0gKGlkKWluaXRX
aXRoRmlsZXM6KE5TQXJyYXkgKilmaWxlcyBhbmQKICAgICByZXR1cm4gc2VsZjsKIH0KIAorLSAo
dm9pZClsb2FkRmlsZTooTlNTdHJpbmcgKilmaWxlCit7CisgICAgbV9maWxlVG9SdW4gPSBmaWxl
OworfQorCiAtICh2b2lkKXN0YXJ0UnVuTG9vcAogewogICAgIG1fcnVuTG9vcCA9IENGUnVuTG9v
cEdldEN1cnJlbnQoKTsKQEAgLTc2LDExICs4MCw4IEBAIC0gKHZvaWQpc3RhcnQKIHsKICAgICBb
c3VwZXIgc3RhcnRdOwogICAgIAotICAgIGlmICghW21fZmlsZXNUb1J1biBjb3VudF0pCi0gICAg
ICAgIHJldHVybjsKLSAgICAKLSAgICBmb3IgKE5TU3RyaW5nICpmaWxlIGluIG1fZmlsZXNUb1J1
bikgewotICAgICAgICBOU1N0cmluZyAqc2NyaXB0ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250
ZW50c09mRmlsZTpmaWxlIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07
CisgICAgaWYgKG1fZmlsZVRvUnVuKSB7CisgICAgICAgIE5TU3RyaW5nICpzY3JpcHQgPSBbTlNT
dHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOm1fZmlsZVRvUnVuIGVuY29kaW5nOk5TVVRG
OFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07CiAgICAgICAgIFttX3NjcmlwdFNvdXJjZSBydW5T
Y3JpcHRSZW1vdGVseTpzY3JpcHRdOwogICAgIH0KIH0KSW5kZXg6IFRvb2xzL2pzYy1jbGkvanNj
LWNsaS9tYWluLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvanNjLWNsaS9qc2MtY2xpL21haW4ubQko
cmV2aXNpb24gMTY0MDg4KQorKysgVG9vbHMvanNjLWNsaS9qc2MtY2xpL21haW4ubQkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsMTUgKzI3LDQwIEBACiAKICNpbXBvcnQgIkNMSUluc3RhbmNlLmgiCiAK
K3N0YXRpYyB2b2lkIHByaW50VXNhZ2UoKQoreworICAgIGZwcmludGYoc3RkZXJyLCAiVXNhZ2U6
IGpzYy1jbGkgZmlsZSBbcHJvZ3JhbS1hcmdzXVxuIik7CisgICAgZnByaW50ZihzdGRlcnIsICIg
ICAganNjLWNsaSBpcyBhIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UgZm9yIGV4ZWN1dGluZyBKYXZh
U2NyaXB0IGNvZGUuXG4iKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgICBmaWxlIHNob3VsZCBi
ZSBhIEphdmFTY3JpcHQgc291cmNlIGZpbGUuIEFueSBhcmd1bWVudHMgZm9sbG93aW5nIHRoZVxu
Iik7CisgICAgZnByaW50ZihzdGRlcnIsICIgICAgc291cmNlIGZpbGUgYXJlIHRoZSBhcmd1bWVu
dHMgdG8gdGhlIHByb2dyYW0gaXRzZWxmLlxuIik7Cit9CisKIGludCBtYWluKGludCBhcmdjLCBj
b25zdCBjaGFyICogYXJndltdKQogewogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBD
TElJbnN0YW5jZSAqaW5zdGFuY2UgPSBbW0NMSUluc3RhbmNlIGFsbG9jXSBpbml0XTsKICAgICAg
ICAgCi0gICAgICAgIC8vIFRPRE86IEFkZCByZWFsIGFyZ3VtZW50cyBoYW5kbGluZy4KLSAgICAg
ICAgaWYgKGFyZ2MgPiAxKQotICAgICAgICAgICAgW2luc3RhbmNlIGxvYWRGaWxlOltOU1N0cmlu
ZyBzdHJpbmdXaXRoQ1N0cmluZzphcmd2WzFdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5n
XV07CisgICAgICAgIGludCBvZmZzZXQgPSAxOworICAgICAgICBpZiAoYXJnYyA+IDEpIHsKKyAg
ICAgICAgICAgIE5TU3RyaW5nICpmaWxlbmFtZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ1N0cmlu
Zzphcmd2WzFdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKKyAgICAgICAgICAgIEJP
T0wgZGlyZWN0b3J5OworICAgICAgICAgICAgaWYgKCFbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1h
bmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6ZmlsZW5hbWUgaXNEaXJlY3Rvcnk6JmRpcmVjdG9yeV0p
IHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiAlcyBkb2VzIG5vdCBl
eGlzdC5cbiIsIGFyZ3ZbMV0pOworICAgICAgICAgICAgICAgIHByaW50VXNhZ2UoKTsKKyAgICAg
ICAgICAgICAgICBleGl0KC0xKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIAorICAgICAg
ICAgICAgaWYgKGRpcmVjdG9yeSkgeworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
RXJyb3I6ICVzIGlzIGEgZGlyZWN0b3J5LlxuIiwgYXJndlsxXSk7CisgICAgICAgICAgICAgICAg
cHJpbnRVc2FnZSgpOworICAgICAgICAgICAgICAgIGV4aXQoLTEpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBbaW5zdGFuY2UgbG9hZEZpbGU6ZmlsZW5hbWVdOwor
ICAgICAgICAgICAgb2Zmc2V0ID0gMjsKKyAgICAgICAgfQorICAgICAgICBbaW5zdGFuY2UgZGlk
UmVjZWl2ZUFyZ3VtZW50czphcmd2IGF0T2Zmc2V0Om9mZnNldCB3aXRoTGVuZ3RoOmFyZ2NdOwor
CiAgICAgICAgIFtpbnN0YW5jZSBydW5dOwogICAgIH0KICAgICByZXR1cm4gMDsK
</data>
<flag name="review"
          id="248301"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>