<?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>127418</bug_id>
          
          <creation_ts>2014-01-22 02:08:49 -0800</creation_ts>
          <short_desc>Remove Nix files from Tools</short_desc>
          <delta_ts>2014-01-22 02:59:23 -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>Tools / Tests</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jinwoo Song">jinwoo7.song</reporter>
          <assigned_to name="Jinwoo Song">jinwoo7.song</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>glenn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>970629</commentid>
    <comment_count>0</comment_count>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2014-01-22 02:08:49 -0800</bug_when>
    <thetext>SSIA.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970630</commentid>
    <comment_count>1</comment_count>
      <attachid>221841</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2014-01-22 02:11:28 -0800</bug_when>
    <thetext>Created attachment 221841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970642</commentid>
    <comment_count>2</comment_count>
      <attachid>221841</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-22 02:59:21 -0800</bug_when>
    <thetext>Comment on attachment 221841
Patch

Clearing flags on attachment: 221841

Committed r162512: &lt;http://trac.webkit.org/changeset/162512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970643</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-22 02:59:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221841</attachid>
            <date>2014-01-22 02:11:28 -0800</date>
            <delta_ts>2014-01-22 02:59:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127418-20140122191123.patch</filename>
            <type>text/plain</type>
            <size>23729</size>
            <attacher name="Jinwoo Song">jinwoo7.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNTExCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjJiYWEzY2YwNGNhMDkwOTEyNDdiODVlMmY5NWNlOTc5
Y2I1MmMxMS4uNjQ3YTYwYmJlYTQ4YTgxYzA4MDQ0ZTBlNzUyYjMyYWYxODQ5N2E3NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDE0LTAxLTIyICBKaW53b28gU29uZyAgPGppbndvbzcuc29uZ0BzYW1zdW5nLmNvbT4K
KworICAgICAgICBSZW1vdmUgTml4IGZpbGVzIGZyb20gVG9vbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzQxOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6Cisg
ICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZDoKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdGRpcnMucG06CisgICAgICAgIChkZXRlcm1pbmVBcmNoaXRlY3R1cmUpOgor
ICAgICAgICAoYXJndW1lbnRzRm9yQ29uZmlndXJhdGlvbik6CisgICAgICAgIChqc2NQcm9kdWN0
RGlyKToKKyAgICAgICAgKGJ1aWx0RHlsaWJQYXRoRm9yTmFtZSk6CisgICAgICAgIChpc0FwcGxl
V2ViS2l0KToKKyAgICAgICAgKGxhdW5jaGVyUGF0aCk6CisgICAgICAgIChsYXVuY2hlck5hbWUp
OgorICAgICAgICAoY2hlY2tSZXF1aXJlZFN5c3RlbUNvbmZpZyk6CisgICAgICAgIChjb3B5SW5z
cGVjdG9yRnJvbnRlbmRGaWxlcyk6CisgICAgICAgIChqaGJ1aWxkV3JhcHBlclByZWZpeElmTmVl
ZGVkKToKKyAgICAgICAgKGJ1aWxkQ01ha2VQcm9qZWN0T3JFeGl0KToKKyAgICAgICAgKGNtYWtl
QmFzZWRQb3J0TmFtZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmln
L3BvcnRzLnB5OgorICAgICAgICAoRGVwcmVjYXRlZFBvcnQucG9ydCk6CisgICAgICAgIChFZmxX
SzJQb3J0LmJ1aWxkX3dlYmtpdF9jb21tYW5kKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZmFjdG9yeS5weToKKyAgICAgICAgKHBsYXRmb3JtX29wdGlvbnMpOgorICAgICAgICAo
UG9ydEZhY3RvcnkpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9uaXgucHk6IFJl
bW92ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L25peF91bml0dGVzdC5weTog
UmVtb3ZlZC4KKwogMjAxNC0wMS0yMSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQWRkIElhbiBhbmQgUmlja3kgdG8gdGhlIGNvbnRyaWJ1dG9yIGxp
c3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0
cy9idWlsZC13ZWJraXQKaW5kZXggNDlhZTE0NzU4OGFlZTk5YzZmYjdiN2I5ODQ1NWI4ZTg3MGNi
YjhlYi4uZmJjOGQ5YmM2NmQ2NmE5NmYyMjZiM2I0M2NjMDgzNWNlZDg5OTIzZCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQKQEAgLTY0LDQzICs2NCw5IEBAIG15ICRub1dlYktpdDEgPSAwOwogbXkgJG5vV2ViS2l0
MiA9IDA7CiBteSAkY292ZXJhZ2VTdXBwb3J0ID0gMDsKIG15ICRzdGFydFRpbWUgPSB0aW1lKCk7
Ci1teSAkY3VybCA9IDA7Ci1teSAkb3BlbmdsZXMyID0gMDsKIAogbXkgQGZlYXR1cmVzID0gZ2V0
RmVhdHVyZU9wdGlvbkxpc3QoKTsKIAotIyBVcGRhdGUgZGVmYXVsdHMgZm9yIHRoZSBOaXggcG9y
dAotaWYgKGlzTml4KCkpIHsKLSAgICAjIEluc3RlYWQgb2YgdXNlIEZlYXR1cmVMaXN0LnBtIHRv
IGxpc3QgZW5hYmxlZCBmZWF0dXJlcywgdGVsbCB0aGUgY29tcGlsZXIgdG8KLSAgICAjIHBhcnNl
IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYW5kIGdldCB0aGUgZGVmYXVsdCB2YWx1ZXMgb2Yg
YWxsIGZlYXR1cmUgZmxhZ3MKLSAgICAjIGZyb20gdGhlIHJlc3VsdC4KLSAgICBteSAkcG9ydERl
ZmluZSA9ICJCVUlMRElOR18iLnVjKGNtYWtlQmFzZWRQb3J0TmFtZSgpKS4iX18iOwotICAgIG15
ICRkZWZpbml0aW9ucyA9IGBnY2MgLUUgLVAgLWRNIC1EJHBvcnREZWZpbmUgLUkgU291cmNlL1dU
RiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIHwgZ3JlcCAnXiNkZWZpbmUgRU5BQkxFX1xcd1xc
KyBcWzAxXF1cJFxcfF4jZGVmaW5lIFdURl9VU0VfXFx3XFwrIFxbMDFcXVwkJyB8IGN1dCAtZCcg
JyAtZjItM2A7Ci0KLSAgICBteSAlZmVhdHVyZURlZmF1bHRzOwotICAgIGZvcmVhY2ggKHNwbGl0
KC9cbi8sICRkZWZpbml0aW9ucykpIHsKLSAgICAgICAgbXkgQG1hY3JvRGVmaW5pdGlvbiA9IHNw
bGl0KC8gLyk7Ci0gICAgICAgICRmZWF0dXJlRGVmYXVsdHN7JG1hY3JvRGVmaW5pdGlvblswXX0g
PSAkbWFjcm9EZWZpbml0aW9uWzFdOwotICAgIH0KLQotICAgIEBmZWF0dXJlcyA9ICgpOwotICAg
IGZvcmVhY2ggKHNvcnQga2V5cyAlZmVhdHVyZURlZmF1bHRzKSB7Ci0gICAgICAgIG5leHQgaWYg
KCEvXkVOQUJMRS8pOwotICAgICAgICBteSAkb3B0aW9uTmFtZSA9IGxjICRfOwotICAgICAgICAk
b3B0aW9uTmFtZSA9fiBzL15lbmFibGVfLy87Ci0gICAgICAgICRvcHRpb25OYW1lID1+IHMvXy8t
L2c7Ci0gICAgICAgIG15ICRkZXNjTmFtZSA9ICRvcHRpb25OYW1lOwotICAgICAgICAkZGVzY05h
bWUgPX4gcy8tLyAvZzsKLQotICAgICAgICBwdXNoIEBmZWF0dXJlcywgewotICAgICAgICAgICAg
b3B0aW9uID0+ICRvcHRpb25OYW1lLAotICAgICAgICAgICAgZGVzYyA9PiAiVG9nZ2xlICRkZXNj
TmFtZSBzdXBwb3J0IiwKLSAgICAgICAgICAgIGRlZmluZSA9PiAkXywKLSAgICAgICAgICAgIGRl
ZmF1bHQgPT4gJGZlYXR1cmVEZWZhdWx0c3skX30KLSAgICAgICAgfTsKLSAgICB9Ci19Ci0KICMg
QWRkaXRpb25hbCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzCiBwdXNoIEBBUkdWLCBzcGxpdCgvIC8s
ICRFTlZ7J0JVSUxEX1dFQktJVF9BUkdTJ30pIGlmICgkRU5WeydCVUlMRF9XRUJLSVRfQVJHUyd9
KTsKIApAQCAtMTI5LDcgKzk1LDYgQEAgVXNhZ2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29w
dGlvbnMgdG8gcGFzcyB0byBidWlsZCBzeXN0ZW1dCiAgIC0tY292ZXJhZ2UgICAgICAgICAgICAg
ICAgICAgICAgICBFbmFibGUgQ29kZSBDb3ZlcmFnZSBzdXBwb3J0IChNYWMgb25seSkKIAogICAt
LWVmbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVpbGQgdGhlIEVGTCBwb3J0Ci0gIC0t
bml4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWlsZCB0aGUgTml4IHBvcnQKICAgLS1n
dGsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1aWxkIHRoZSBHVEsrIHBvcnQKICAgLS13
aW5jYWlybyAgICAgICAgICAgICAgICAgICAgICAgIEJ1aWxkIHVzaW5nIENhaXJvIChyYXRoZXIg
dGhhbiBDb3JlR3JhcGhpY3MpIG9uIFdpbmRvd3MKICAgLS13aW5jZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEJ1aWxkIHRoZSBXaW5DRSBwb3J0CkBAIC0xNDYsOSArMTExLDYgQEAgVXNhZ2U6
ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29wdGlvbnMgdG8gcGFzcyB0byBidWlsZCBzeXN0ZW1d
CiAgIC0tbm8td2Via2l0MSAgICAgICAgICAgICAgICAgICAgICBPbWl0IFdlYktpdDEgY29kZSBm
cm9tIHRoZSBidWlsZCAoRUZML0dUSyBvbmx5KQogICAtLW5vLXdlYmtpdDIgICAgICAgICAgICAg
ICAgICAgICAgT21pdCBXZWJLaXQyIGNvZGUgZnJvbSB0aGUgYnVpbGQKIAotICAtLWN1cmwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVXNlIGxpYkN1cmwgYXMgbmV0d29yayBiYWNrZW5kIChO
aXggb25seSkKLSAgLS1vcGVuZ2xlczIgICAgICAgICAgICAgICAgICAgICAgIFVzZSBFR0wgYW5k
IE9wZW5HTEVTMiBpbnN0ZWFkIG9mIEdMWCAoTml4IG9ubHkpCi0KIEVPRgogCiBteSAlb3B0aW9u
cyA9ICgKQEAgLTE2NCw4ICsxMjYsNiBAQCBteSAlb3B0aW9ucyA9ICgKICAgICAnbm8td2Via2l0
MScgPT4gXCRub1dlYktpdDEsCiAgICAgJ25vLXdlYmtpdDInID0+IFwkbm9XZWJLaXQyLAogICAg
ICdjb3ZlcmFnZScgPT4gXCRjb3ZlcmFnZVN1cHBvcnQsCi0gICAgJ2N1cmwnID0+IFwkY3VybCwK
LSAgICAnb3BlbmdsZXMyJyA9PiBcJG9wZW5nbGVzMiwKICk7CiAKICMgQnVpbGQgdXNhZ2UgdGV4
dCBhbmQgb3B0aW9ucyBsaXN0IGZyb20gZmVhdHVyZXMKQEAgLTI5MiwyNCArMjUyLDYgQEAgaWYg
KGlzSW5zcGVjdG9yRnJvbnRlbmQoKSkgewogICAgIEBwcm9qZWN0cyA9ICgiU291cmNlL1dlYklu
c3BlY3RvclVJIik7CiB9CiAKLWlmIChpc05peCgpKSB7Ci0gICAgaWYgKCRub1dlYktpdDIpIHsK
LSAgICAgICAgcHJpbnQgU1RERVJSICJOaXggaXMgYSBXZWJLaXQyIHBvcnQsIHlvdSBjYW4ndCBk
aXNhYmxlIFdlYktpdDIgb24gaXQhXG4iOwotICAgICAgICBleGl0IDE7Ci0gICAgfQotCi0gICAg
IyBCeSBkZWZhdWx0IHdlIGJ1aWxkIHVzaW5nIGFsbCBvZiB0aGUgYXZhaWxhYmxlIENQVXMuCi0g
ICAgJG1ha2VBcmdzIC49ICgkbWFrZUFyZ3MgPyAiICIgOiAiIikgLiAiLWoiIC4gbnVtYmVyT2ZD
UFVzKCkgaWYgJG1ha2VBcmdzICF+IC8talxzKlxkKy87Ci0gICAgJGNtYWtlQXJncyA9ICItRFdU
Rl9VU0VfQ1VSTD1PTiAiIC4gJGNtYWtlQXJncyBpZiAkY3VybDsKLSAgICAkY21ha2VBcmdzID0g
Ii1EV1RGX1VTRV9PUEVOR0xfRVNfMj1PTiAiIC4gJGNtYWtlQXJncyBpZiAkb3BlbmdsZXMyOwot
Ci0gICAgIyBXZSByZW1vdmUgQ01ha2VDYWNoZSB0byBhdm9pZCB0aGUgYm90cyB0byByZXVzZSBj
YWNoZWQgZmxhZ3Mgd2hlbgotICAgICMgd2UgZW5hYmxlIG5ldyBmZWF0dXJlcy4gVGhpcyBmb3Jj
ZXMgYSByZWNvbmZpZ3VyYXRpb24uCi0gICAgcmVtb3ZlQ01ha2VDYWNoZSgpOwotCi0gICAgYnVp
bGRDTWFrZVByb2plY3RPckV4aXQoJGNsZWFuLCAiTml4IiwgJHByZWZpeFBhdGgsICRtYWtlQXJn
cywgKGNtYWtlQmFzZWRQb3J0QXJndW1lbnRzKCksIGNNYWtlQXJnc0Zyb21GZWF0dXJlcygpKSwg
JGNtYWtlQXJncyk7Ci19Ci0KIGlmIChpc0VmbCgpIHx8IGlzR3RrQ01ha2UoKSkgewogICAgICMg
QnkgZGVmYXVsdCB3ZSBidWlsZCB1c2luZyBhbGwgb2YgdGhlIGF2YWlsYWJsZSBDUFVzLgogICAg
ICRtYWtlQXJncyAuPSAoJG1ha2VBcmdzID8gIiAiIDogIiIpIC4gIi1qIiAuIG51bWJlck9mQ1BV
cygpIGlmICRtYWtlQXJncyAhfiAvLWpccypcZCsvOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZCBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtp
dC1saWJzLWpoYnVpbGQKaW5kZXggOTczMzIyMTY2ODRhODc0Y2NmZDUzNDVhNTk4YWZhYzNiNWI4
Y2QzMC4uM2I0OTMxYWQ1YzNmNzBjOTFiNGE1ZTlhMjBhNTcyYzllNmJmZDA4OCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0LWxpYnMtamhidWlsZAorKysgYi9Ub29scy9T
Y3JpcHRzL3VwZGF0ZS13ZWJraXQtbGlicy1qaGJ1aWxkCkBAIC0yNCwxNyArMjQsMTUgQEAgdXNl
IEdldG9wdDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCk7CiAKIG15ICRwbGF0Zm9ybUVm
bCA9IDA7CiBteSAkcGxhdGZvcm1HdGsgPSAwOwotbXkgJHBsYXRmb3JtTml4ID0gMDsKIAogbXkg
JGdldE9wdGlvbnNSZXN1bHQgPSBHZXRPcHRpb25zKAogICAgICdlZmwnID0+IFwkcGxhdGZvcm1F
ZmwsCiAgICAgJ2d0aycgPT4gXCRwbGF0Zm9ybUd0aywKLSAgICAnbml4JyA9PiBcJHBsYXRmb3Jt
Tml4CiAgICAgKTsKIAogbXkgJHBsYXRmb3JtID0gIiI7CiBpZiAoISRnZXRPcHRpb25zUmVzdWx0
KSB7Ci0gICAgZGllICJObyBwbGF0Zm9ybSBzcGVjaWZpZWQgZm9yICIgLiBiYXNlbmFtZSgkMCkg
LiIuIFVzZSAtLWd0aywgLS1lZmwgb3IgLS1uaXguXG4iOworICAgIGRpZSAiTm8gcGxhdGZvcm0g
c3BlY2lmaWVkIGZvciAiIC4gYmFzZW5hbWUoJDApIC4iLiBVc2UgLS1ndGsgb3IgLS1lZmwuXG4i
OwogfSBlbHNlIHsKICAgICBpZiAoJHBsYXRmb3JtRWZsKSB7CiAgICAgICAgICRwbGF0Zm9ybSA9
ICJlZmwiOwpAQCAtNDIsOSArNDAsNiBAQCBpZiAoISRnZXRPcHRpb25zUmVzdWx0KSB7CiAgICAg
aWYgKCRwbGF0Zm9ybUd0aykgewogICAgICAgICAkcGxhdGZvcm0gPSAiZ3RrIjsKICAgICB9Ci0g
ICAgaWYgKCRwbGF0Zm9ybU5peCkgewotICAgICAgICAkcGxhdGZvcm0gPSAibml4IjsKLSAgICB9
CiB9CiAKIHN1YiBnZXRNRDVIYXNoRm9yRmlsZSgkKQpAQCAtMTI2LDcgKzEyMSw3IEBAIGRlbGV0
ZSAkRU5We0FSX0ZMQUdTfSBpZiBleGlzdHMgJEVOVntBUl9GTEFHU307CiAKIGNoZGlyKHJlbGF0
aXZlU2NyaXB0c0RpcigpIC4gIi8uLi9qaGJ1aWxkIikgb3IgZGllICQhOwogCi1teSAlcHJldHR5
UGxhdGZvcm0gPSAoICJlZmwiID0+ICJFRkwiLCAiZ3RrIiA9PiAiR1RLKyIsICJuaXgiID0+ICJO
aXgiICk7CitteSAlcHJldHR5UGxhdGZvcm0gPSAoICJlZmwiID0+ICJFRkwiLCAiZ3RrIiA9PiAi
R1RLKyIgKTsKIAogaWYgKC1lIGdldEpoYnVpbGRQYXRoKCkgJiYgamhidWlsZENvbmZpZ3VyYXRp
b25DaGFuZ2VkKCkpIHsKICAgICBjbGVhbkpoYnVpbGQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCAw
MGM2ZjhhZjMyNGExYWUyOTg5ODJkNmJjNTVjMjcwMzU4NTcwNmE3Li5lMmJiZmNjNDVlM2U3N2E2
NjhlMTY4ZjRlODBlOGI5N2NmMGI4OTk2IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dGRpcnMucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCkBAIC05Niw3ICs5Niw2
IEBAIG15ICRpc1dpbkNFOwogbXkgJGlzV2luQ2Fpcm87CiBteSAkaXNXaW42NDsKIG15ICRpc0Vm
bDsKLW15ICRpc05peDsKIG15ICRpc0luc3BlY3RvckZyb250ZW5kOwogbXkgJGlzV0syOwogbXkg
JHNob3VsZFRhcmdldFdlYlByb2Nlc3M7CkBAIC0zMTEsNyArMzEwLDcgQEAgc3ViIGRldGVybWlu
ZUFyY2hpdGVjdHVyZQogICAgICAgICAgICAgICAgICRhcmNoaXRlY3R1cmUgPSAnYXJtdjcnOwog
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNpZiAoaXNFZmwoKSB8fCBpc05peCgp
IHx8IGlzR3RrQ01ha2UoKSkgeworICAgIH0gZWxzaWYgKGlzRWZsKCkgfHwgaXNHdGtDTWFrZSgp
KSB7CiAgICAgICAgIG15ICRob3N0X3Byb2Nlc3NvciA9ICIiOwogICAgICAgICAkaG9zdF9wcm9j
ZXNzb3IgPSBgY21ha2UgLS1zeXN0ZW0taW5mb3JtYXRpb24gfCBncmVwIENNQUtFX1NZU1RFTV9Q
Uk9DRVNTT1JgOwogICAgICAgICBpZiAoJGhvc3RfcHJvY2Vzc29yID1+IG0vXkNNQUtFX1NZU1RF
TV9QUk9DRVNTT1IgXCIoW14iXSspXCIvKSB7CkBAIC0zMjEsMTMgKzMyMCwxMyBAQCBzdWIgZGV0
ZXJtaW5lQXJjaGl0ZWN0dXJlCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoISRhcmNoaXRl
Y3R1cmUgJiYgKGlzR3RrKCkgfHwgaXNBcHBsZU1hY1dlYktpdCgpIHx8IGlzRWZsKCkgfHwgaXNO
aXgoKSkpIHsKKyAgICBpZiAoISRhcmNoaXRlY3R1cmUgJiYgKGlzR3RrKCkgfHwgaXNBcHBsZU1h
Y1dlYktpdCgpIHx8IGlzRWZsKCkpKSB7CiAgICAgICAgICMgRmFsbCBiYWNrIHRvIG91dHB1dCBv
ZiBgYXJjaCcsIGlmIGl0IGlzIHByZXNlbnQuCiAgICAgICAgICRhcmNoaXRlY3R1cmUgPSBgYXJj
aGA7CiAgICAgICAgIGNob21wICRhcmNoaXRlY3R1cmU7CiAgICAgfQogCi0gICAgaWYgKCEkYXJj
aGl0ZWN0dXJlICYmIChpc0d0aygpIHx8IGlzQXBwbGVNYWNXZWJLaXQoKSB8fCBpc0VmbCgpIHx8
IGlzTml4KCkpKSB7CisgICAgaWYgKCEkYXJjaGl0ZWN0dXJlICYmIChpc0d0aygpIHx8IGlzQXBw
bGVNYWNXZWJLaXQoKSB8fCBpc0VmbCgpKSkgewogICAgICAgICAjIEZhbGwgYmFjayB0byBvdXRw
dXQgb2YgYHVuYW1lIC1tJywgaWYgaXQgaXMgcHJlc2VudC4KICAgICAgICAgJGFyY2hpdGVjdHVy
ZSA9IGB1bmFtZSAtbWA7CiAgICAgICAgIGNob21wICRhcmNoaXRlY3R1cmU7CkBAIC0zNzcsNyAr
Mzc2LDYgQEAgc3ViIGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24oKQogICAgIHB1c2goQGFyZ3Ms
ICctLWd0aycpIGlmIGlzR3RrQXV0b3Rvb2xzKCk7CiAgICAgcHVzaChAYXJncywgJy0tZ3RrY21h
a2UnKSBpZiBpc0d0a0NNYWtlKCk7CiAgICAgcHVzaChAYXJncywgJy0tZWZsJykgaWYgaXNFZmwo
KTsKLSAgICBwdXNoKEBhcmdzLCAnLS1uaXgnKSBpZiBpc05peCgpOwogICAgIHB1c2goQGFyZ3Ms
ICctLXdpbmNhaXJvJykgaWYgaXNXaW5DYWlybygpOwogICAgIHB1c2goQGFyZ3MsICctLXdpbmNl
JykgaWYgaXNXaW5DRSgpOwogICAgIHB1c2goQGFyZ3MsICctLWluc3BlY3Rvci1mcm9udGVuZCcp
IGlmIGlzSW5zcGVjdG9yRnJvbnRlbmQoKTsKQEAgLTU0MSw3ICs1MzksNyBAQCBzdWIgcHJvZHVj
dERpcgogc3ViIGpzY1Byb2R1Y3REaXIKIHsKICAgICBteSAkcHJvZHVjdERpciA9IHByb2R1Y3RE
aXIoKTsKLSAgICAkcHJvZHVjdERpciAuPSAiL2JpbiIgaWYgKGlzRWZsKCkgfHwgaXNOaXgoKSB8
fCBpc0d0a0NNYWtlKCkpOworICAgICRwcm9kdWN0RGlyIC49ICIvYmluIiBpZiAoaXNFZmwoKSB8
fCBpc0d0a0NNYWtlKCkpOwogICAgICRwcm9kdWN0RGlyIC49ICIvUHJvZ3JhbXMiIGlmIGlzR3Rr
QXV0b3Rvb2xzKCk7CiAKICAgICByZXR1cm4gJHByb2R1Y3REaXI7CkBAIC04MDQsOSArODAyLDYg
QEAgc3ViIGJ1aWx0RHlsaWJQYXRoRm9yTmFtZQogICAgICAgICB9CiAgICAgICAgIHJldHVybiAi
JGNvbmZpZ3VyYXRpb25Qcm9kdWN0RGlyL2xpYi9saWJld2Via2l0LnNvIjsKICAgICB9Ci0gICAg
aWYgKGlzTml4KCkpIHsKLSAgICAgICAgcmV0dXJuICIkY29uZmlndXJhdGlvblByb2R1Y3REaXIv
bGliL2xpYldlYktpdE5peC5zbyI7Ci0gICAgfQogICAgIGlmIChpc1dpbkNFKCkpIHsKICAgICAg
ICAgcmV0dXJuICIkY29uZmlndXJhdGlvblByb2R1Y3REaXIvJGxpYnJhcnlOYW1lIjsKICAgICB9
CkBAIC05NDEsMTggKzkzNiw2IEBAIHN1YiBpc0d0a0NNYWtlKCkKICAgICByZXR1cm4gJGlzR3Rr
Q01ha2U7CiB9CiAKLXN1YiBkZXRlcm1pbmVJc05peCgpCi17Ci0gICAgcmV0dXJuIGlmIGRlZmlu
ZWQoJGlzTml4KTsKLSAgICAkaXNOaXggPSBjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFS
R1YoIi0tbml4Iik7Ci19Ci0KLXN1YiBpc05peCgpCi17Ci0gICAgZGV0ZXJtaW5lSXNOaXgoKTsK
LSAgICByZXR1cm4gJGlzTml4OwotfQotCiBzdWIgaXNHdGtBdXRvdG9vbHMoKQogewogICAgIGRl
dGVybWluZUlzR3RrQXV0b3Rvb2xzKCk7CkBAIC0xMTA4LDcgKzEwOTEsNyBAQCBzdWIgaXNDcm9z
c0NvbXBpbGF0aW9uKCkKIAogc3ViIGlzQXBwbGVXZWJLaXQoKQogewotICAgIHJldHVybiAhKGlz
R3RrKCkgb3IgaXNFZmwoKSBvciBpc1dpbkNFKCkgb3IgaXNOaXgoKSk7CisgICAgcmV0dXJuICEo
aXNHdGsoKSBvciBpc0VmbCgpIG9yIGlzV2luQ0UoKSk7CiB9CiAKIHN1YiBpc0FwcGxlTWFjV2Vi
S2l0KCkKQEAgLTEyOTksNyArMTI4Miw3IEBAIHN1YiByZWxhdGl2ZVNjcmlwdHNEaXIoKQogc3Vi
IGxhdW5jaGVyUGF0aCgpCiB7CiAgICAgbXkgJHJlbGF0aXZlU2NyaXB0c1BhdGggPSByZWxhdGl2
ZVNjcmlwdHNEaXIoKTsKLSAgICBpZiAoaXNHdGsoKSB8fCBpc0VmbCgpIHx8IGlzV2luQ0UoKSB8
fCBpc05peCgpKSB7CisgICAgaWYgKGlzR3RrKCkgfHwgaXNFZmwoKSB8fCBpc1dpbkNFKCkpIHsK
ICAgICAgICAgcmV0dXJuICIkcmVsYXRpdmVTY3JpcHRzUGF0aC9ydW4tbGF1bmNoZXIiOwogICAg
IH0gZWxzaWYgKGlzQXBwbGVXZWJLaXQoKSkgewogICAgICAgICByZXR1cm4gIiRyZWxhdGl2ZVNj
cmlwdHNQYXRoL3J1bi1zYWZhcmkiOwpAQCAtMTMxNiw4ICsxMjk5LDYgQEAgc3ViIGxhdW5jaGVy
TmFtZSgpCiAgICAgICAgIHJldHVybiAiRVdlYkxhdW5jaGVyL01pbmlCcm93c2VyIjsKICAgICB9
IGVsc2lmIChpc1dpbkNFKCkpIHsKICAgICAgICAgcmV0dXJuICJXaW5DRUxhdW5jaGVyIjsKLSAg
ICB9IGVsc2lmIChpc05peCgpKSB7Ci0gICAgICAgIHJldHVybiAiTWluaUJyb3dzZXIiOwogICAg
IH0KIH0KIApAQCAtMTM0MCw3ICsxMzIxLDcgQEAgc3ViIGNoZWNrUmVxdWlyZWRTeXN0ZW1Db25m
aWcKICAgICAgICAgICAgIHByaW50ICJtb3N0IGxpa2VseSBmYWlsLiBUaGUgbGF0ZXN0IFhjb2Rl
IGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBBcHAgU3RvcmUuXG4iOwogICAgICAgICAgICAgcHJpbnQg
IioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKipcbiI7CiAgICAgICAgIH0KLSAgICB9IGVsc2lmIChpc0d0aygpIG9yIGlzRWZsKCkgb3Ig
aXNXaW5kb3dzKCkgb3IgaXNOaXgoKSkgeworICAgIH0gZWxzaWYgKGlzR3RrKCkgb3IgaXNFZmwo
KSBvciBpc1dpbmRvd3MoKSkgewogICAgICAgICBteSBAY21kcyA9IHF3KGJpc29uIGdwZXJmIGZs
ZXgpOwogICAgICAgICBteSBAbWlzc2luZyA9ICgpOwogICAgICAgICBteSAkb2xkUGF0aCA9ICRF
TlZ7UEFUSH07CkBAIC0xNTY3LDcgKzE1NDgsNyBAQCBzdWIgY29weUluc3BlY3RvckZyb250ZW5k
RmlsZXMKICAgICAgICAgfQogICAgIH0gZWxzaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSB8fCBpc1dp
bkNhaXJvKCkpIHsKICAgICAgICAgJGluc3BlY3RvclJlc291cmNlc0RpclBhdGggPSAkcHJvZHVj
dERpciAuICIvV2ViS2l0LnJlc291cmNlcy9pbnNwZWN0b3IiOwotICAgIH0gZWxzaWYgKGlzR3Rr
KCkgfHwgaXNOaXgoKSkgeworICAgIH0gZWxzaWYgKGlzR3RrKCkpIHsKICAgICAgICAgbXkgJHBy
ZWZpeCA9ICRFTlZ7IldlYktpdEluc3RhbGxhdGlvblByZWZpeCJ9OwogICAgICAgICAkaW5zcGVj
dG9yUmVzb3VyY2VzRGlyUGF0aCA9IChkZWZpbmVkKCRwcmVmaXgpID8gJHByZWZpeCA6ICIvdXNy
L3NoYXJlIikgLiAiL3dlYmtpdC0xLjAvd2ViaW5zcGVjdG9yIjsKICAgICB9IGVsc2lmIChpc0Vm
bCgpKSB7CkBAIC0xODgzLDggKzE4NjQsNiBAQCBzdWIgamhidWlsZFdyYXBwZXJQcmVmaXhJZk5l
ZWRlZCgpCiAgICAgICAgICAgICBwdXNoKEBwcmVmaXgsICItLWVmbCIpOwogICAgICAgICB9IGVs
c2lmIChpc0d0aygpKSB7CiAgICAgICAgICAgICBwdXNoKEBwcmVmaXgsICItLWd0ayIpOwotICAg
ICAgICB9IGVsc2lmIChpc05peCgpKSB7Ci0gICAgICAgICAgICBwdXNoKEBwcmVmaXgsICItLW5p
eCIpOwogICAgICAgICB9CiAgICAgICAgIHB1c2goQHByZWZpeCwgInJ1biIpOwogCkBAIC0xOTc5
LDEwICsxOTU4LDYgQEAgc3ViIGJ1aWxkQ01ha2VQcm9qZWN0T3JFeGl0KCQkJCRAKQogICAgICAg
ICBzeXN0ZW0oInBlcmwiLCAiJHNvdXJjZURpci9Ub29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXRl
ZmwtbGlicyIpID09IDAgb3IgZGllICQhOwogICAgIH0KIAotICAgIGlmIChpc05peCgpICYmIGNo
ZWNrRm9yQXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVigiLS11cGRhdGUtbml4IikpIHsKLSAgICAg
ICAgc3lzdGVtKCJwZXJsIiwgIiRzb3VyY2VEaXIvVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0
bml4LWxpYnMiKSA9PSAwIG9yIGRpZSAkITsKLSAgICB9Ci0KICAgICAkcmV0dXJuQ29kZSA9IGV4
aXRTdGF0dXMoZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QoJHBvcnQsICRwcmVm
aXhQYXRoLCBAY21ha2VBcmdzKSk7CiAgICAgZXhpdCgkcmV0dXJuQ29kZSkgaWYgJHJldHVybkNv
ZGU7CiAKQEAgLTIwMDEsNyArMTk3Niw2IEBAIHN1YiBjbWFrZUJhc2VkUG9ydE5hbWUoKQogewog
ICAgIHJldHVybiAiRWZsIiBpZiBpc0VmbCgpOwogICAgIHJldHVybiAiV2luQ0UiIGlmIGlzV2lu
Q0UoKTsKLSAgICByZXR1cm4gIk5peCIgaWYgaXNOaXgoKTsKICAgICByZXR1cm4gIkdUSyIgaWYg
aXNHdGtDTWFrZSgpOwogICAgIHJldHVybiAiIjsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weQppbmRleCA5NGNjMDVhZjA1NTc3ZTk1YTc4MzA4NTcz
ZTA1MDVmM2ExMjcyYjRiLi4yYjEwNGIzMDE4MWQ1YjkyMTU0ODFlZjMwNjNmNmM0YmY2MWQ5MjVk
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5CkBA
IC03MSw3ICs3MSw2IEBAIGNsYXNzIERlcHJlY2F0ZWRQb3J0KG9iamVjdCk6CiAgICAgICAgICAg
ICAicXQtd2syIjogUXRXSzJQb3J0LAogICAgICAgICAgICAgImVmbCI6IEVmbFBvcnQsCiAgICAg
ICAgICAgICAiZWZsLXdrMiI6IEVmbFdLMlBvcnQsCi0gICAgICAgICAgICAibml4IjogTml4UG9y
dCwKICAgICAgICAgfQogICAgICAgICBkZWZhdWx0X3BvcnQgPSB7CiAgICAgICAgICAgICAiV2lu
ZG93cyI6IFdpblBvcnQsCkBAIC0yMzIsMTQgKzIzMSwzIEBAIGNsYXNzIEVmbFdLMlBvcnQoRGVw
cmVjYXRlZFBvcnQpOgogICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1uby13ZWJraXQxIikKICAg
ICAgICAgY29tbWFuZC5hcHBlbmQoc3VwZXIoRWZsV0syUG9ydCwgc2VsZikubWFrZUFyZ3MoKSkK
ICAgICAgICAgcmV0dXJuIGNvbW1hbmQKLQotCi1jbGFzcyBOaXhQb3J0KERlcHJlY2F0ZWRQb3J0
KToKLSAgICBwb3J0X2ZsYWdfbmFtZSA9ICJuaXgiCi0KLSAgICBkZWYgYnVpbGRfd2Via2l0X2Nv
bW1hbmQoc2VsZiwgYnVpbGRfc3R5bGU9Tm9uZSk6Ci0gICAgICAgIGNvbW1hbmQgPSBzdXBlcihO
aXhQb3J0LCBzZWxmKS5idWlsZF93ZWJraXRfY29tbWFuZChidWlsZF9zdHlsZT1idWlsZF9zdHls
ZSkKLSAgICAgICAgY29tbWFuZC5hcHBlbmQoIi0tbml4IikKLSAgICAgICAgY29tbWFuZC5hcHBl
bmQoIi0tdXBkYXRlLW5peCIpCi0gICAgICAgIGNvbW1hbmQuYXBwZW5kKHN1cGVyKE5peFBvcnQs
IHNlbGYpLm1ha2VBcmdzKCkpCi0gICAgICAgIHJldHVybiBjb21tYW5kCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZmFjdG9yeS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9mYWN0b3J5LnB5CmluZGV4IDBkOGM1NWI4NjVhNWZhNGIxNGYwNzE1ZTM0MjNm
NDM4NTI0NjJmMDAuLmQ3YTZlZDg3NGUwZjI5NjBiZGMxM2U2MTU2YmJlNGQ2MGMwNzk2ZjQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9mYWN0b3J5LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9mYWN0b3J5LnB5CkBAIC00Nyw4ICs0Nyw2IEBAIGRl
ZiBwbGF0Zm9ybV9vcHRpb25zKHVzZV9nbG9icz1GYWxzZSk6CiAgICAgICAgIG9wdHBhcnNlLm1h
a2Vfb3B0aW9uKCctLWVmbCcsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBkZXN0PSdwbGF0Zm9ybScs
CiAgICAgICAgICAgICBjb25zdD0oJ2VmbConIGlmIHVzZV9nbG9icyBlbHNlICdlZmwnKSwKICAg
ICAgICAgICAgIGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT1lZmwqJyBpZiB1c2VfZ2xvYnMg
ZWxzZSAnQWxpYXMgZm9yIC0tcGxhdGZvcm09ZWZsJykpLAotICAgICAgICBvcHRwYXJzZS5tYWtl
X29wdGlvbignLS1uaXgnLCBhY3Rpb249J3N0b3JlX2NvbnN0JywgZGVzdD0ncGxhdGZvcm0nLAot
ICAgICAgICAgICAgY29uc3Q9KCduaXgnKSwgaGVscD0oJ0FsaWFzIGZvciAtLXBsYXRmb3JtPW5p
eCcpKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oJy0tZ3RrJywgYWN0aW9uPSdzdG9y
ZV9jb25zdCcsIGRlc3Q9J3BsYXRmb3JtJywKICAgICAgICAgICAgIGNvbnN0PSgnZ3RrKicgaWYg
dXNlX2dsb2JzIGVsc2UgJ2d0aycpLAogICAgICAgICAgICAgaGVscD0oJ0FsaWFzIGZvciAtLXBs
YXRmb3JtPWd0ayonIGlmIHVzZV9nbG9icyBlbHNlICdBbGlhcyBmb3IgLS1wbGF0Zm9ybT1ndGsn
KSksCkBAIC03OCw3ICs3Niw2IEBAIGRlZiBfYnVpbGRlcl9vcHRpb25zKGJ1aWxkZXJfbmFtZSk6
CiBjbGFzcyBQb3J0RmFjdG9yeShvYmplY3QpOgogICAgIFBPUlRfQ0xBU1NFUyA9ICgKICAgICAg
ICAgJ2VmbC5FZmxQb3J0JywKLSAgICAgICAgJ25peC5OaXhQb3J0JywKICAgICAgICAgJ2d0ay5H
dGtQb3J0JywKICAgICAgICAgJ21hYy5NYWNQb3J0JywKICAgICAgICAgJ21vY2tfZHJ0Lk1vY2tE
UlRQb3J0JywKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9uaXgucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbml4LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwODUwYzA4OGFlM2Q2YzEyMzdjNjJlODAzZTJlNDFkMWQzYjgyZjBkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9uaXgucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotIyBD
b3B5cmlnaHQgKEMpIDIwMTEgUHJvRlVTSU9OIEVtYmVkZGVkIFN5c3RlbXMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0jIENvcHlyaWdodCAoQykgMjAxMSBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24K
LSMgQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKS4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0
OgotIwotIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCi0jIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKLSMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0jIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0jIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotCi0iIiJXZWJLaXQgTml4IGltcGxlbWVudGF0aW9uIG9mIHRoZSBQb3J0
IGludGVyZmFjZS4iIiIKLQotaW1wb3J0IG9zCi0KLWZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3Rz
Lm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRlc3RDb25maWd1cmF0aW9uCi1mcm9t
IHdlYmtpdHB5LnBvcnQuYmFzZSBpbXBvcnQgUG9ydAotZnJvbSB3ZWJraXRweS5wb3J0LnB1bHNl
YXVkaW9fc2FuaXRpemVyIGltcG9ydCBQdWxzZUF1ZGlvU2FuaXRpemVyCi0KLQotY2xhc3MgTml4
UG9ydChQb3J0KToKLSAgICBwb3J0X25hbWUgPSAnbml4JwotCi0gICAgZGVmIF93azJfcG9ydF9u
YW1lKHNlbGYpOgotICAgICAgICByZXR1cm4gJ25peCcKLQotICAgIEBjbGFzc21ldGhvZAotICAg
IGRlZiBkZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBwb3J0X25h
bWUpOgotICAgICAgICAiIiJEZXRlcm1pbmUgdGhlIHBvcnQgbmFtZSBiYXNlZCBvbiBob3N0IGFu
ZCBvcHRpb25zIHZhbHVlcy4iIiIKLSAgICAgICAgIyBDdXJyZW50bHkgdGhlIG9ubHkgInBvcnQi
IGluc3RhbmNlIHN1cHBvcnRlZCBieSBOaXggaXMgIm5peCIuIFJlaW1wbGVtZW50aW5nCi0gICAg
ICAgICMgdGhpcyBtZXRob2QgYXZvaWRzIGNoYW5naW5nIHBvcnQgbmFtZSB0byBuaXgtd2syLCB3
aGljaCBpcyB0aGUgZGVmYXVsdAotICAgICAgICAjIGJlaGF2aW9yIGluIGJhc2UucHkuCi0gICAg
ICAgIHJldHVybiBwb3J0X25hbWUKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKipr
d2FyZ3MpOgotICAgICAgICBzdXBlcihOaXhQb3J0LCBzZWxmKS5fX2luaXRfXygqYXJncywgKipr
d2FyZ3MpCi0KLSAgICAgICAgc2VsZi5famhidWlsZF93cmFwcGVyX3BhdGggPSBbc2VsZi5wYXRo
X2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2poYnVpbGQnLCAnamhidWlsZC13cmFwcGVyJyks
ICctLW5peCcsICdydW4nXQotCi0gICAgICAgIHNlbGYuc2V0X29wdGlvbl9kZWZhdWx0KCd3cmFw
cGVyJywgJyAnLmpvaW4oc2VsZi5famhidWlsZF93cmFwcGVyX3BhdGgpKQotICAgICAgICBzZWxm
LnNldF9vcHRpb25fZGVmYXVsdCgnd2Via2l0X3Rlc3RfcnVubmVyJywgVHJ1ZSkKLSAgICAgICAg
c2VsZi53ZWJwcm9jZXNzX2NtZF9wcmVmaXggPSBzZWxmLmdldF9vcHRpb24oJ3dlYnByb2Nlc3Nf
Y21kX3ByZWZpeCcpCi0KLSAgICAgICAgc2VsZi5fcHVsc2VhdWRpb19zYW5pdGl6ZXIgPSBQdWxz
ZUF1ZGlvU2FuaXRpemVyKCkKLQotICAgIGRlZiBfcG9ydF9mbGFnX2Zvcl9zY3JpcHRzKHNlbGYp
OgotICAgICAgICByZXR1cm4gIi0tbml4IgotCi0gICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYp
OgotICAgICAgICBzZWxmLl9wdWxzZWF1ZGlvX3Nhbml0aXplci51bmxvYWRfcHVsc2VhdWRpb19t
b2R1bGUoKQotCi0gICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxmLCBzZXJ2ZXJf
bmFtZT1Ob25lKToKLSAgICAgICAgZW52ID0gc3VwZXIoTml4UG9ydCwgc2VsZikuc2V0dXBfZW52
aXJvbl9mb3Jfc2VydmVyKHNlcnZlcl9uYW1lKQotICAgICAgICAjIElmIERJU1BMQVkgZW52aXJv
bm1lbnQgdmFyaWFibGUgaXMgdW5zZXQgaW4gdGhlIHN5c3RlbQotICAgICAgICAjIGUuZy4gb24g
YnVpbGQgYm90LCByZW1vdmUgRElTUExBWSB2YXJpYWJsZSBmcm9tIHRoZSBkaWN0aW9uYXJ5Ci0g
ICAgICAgIGlmIG5vdCAnRElTUExBWScgaW4gb3MuZW52aXJvbjoKLSAgICAgICAgICAgIGRlbCBl
bnZbJ0RJU1BMQVknXQotICAgICAgICBlbnZbJ1RFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9G
SUxFTkFNRSddID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ2xpYlRlc3RSdW5uZXJJbmplY3Rl
ZEJ1bmRsZS5zbycpCi0gICAgICAgIGVudlsnVEVTVF9SVU5ORVJfUExVR0lOX1BBVEgnXSA9IHNl
bGYuX2J1aWxkX3BhdGgoJ2xpYicpCi0gICAgICAgIGlmIHNlbGYud2VicHJvY2Vzc19jbWRfcHJl
Zml4OgotICAgICAgICAgICAgZW52WydXRUJfUFJPQ0VTU19DTURfUFJFRklYJ10gPSBzZWxmLndl
YnByb2Nlc3NfY21kX3ByZWZpeAotCi0gICAgICAgIHJldHVybiBlbnYKLQotICAgIGRlZiBkZWZh
dWx0X3RpbWVvdXRfbXMoc2VsZik6Ci0gICAgICAgICMgVGVzdHMgcnVuIGNvbnNpZGVyYWJseSBz
bG93ZXIgdW5kZXIgZ2RiCi0gICAgICAgICMgb3IgdmFsZ3JpbmQuCi0gICAgICAgIGlmIHNlbGYu
Z2V0X29wdGlvbignd2VicHJvY2Vzc19jbWRfcHJlZml4Jyk6Ci0gICAgICAgICAgICByZXR1cm4g
MzUwICogMTAwMAotICAgICAgICByZXR1cm4gc3VwZXIoTml4UG9ydCwgc2VsZikuZGVmYXVsdF90
aW1lb3V0X21zKCkKLQotICAgIGRlZiBjbGVhbl91cF90ZXN0X3J1bihzZWxmKToKLSAgICAgICAg
c3VwZXIoTml4UG9ydCwgc2VsZikuY2xlYW5fdXBfdGVzdF9ydW4oKQotICAgICAgICBzZWxmLl9w
dWxzZWF1ZGlvX3Nhbml0aXplci5yZXN0b3JlX3B1bHNlYXVkaW9fbW9kdWxlKCkKLQotICAgIGRl
ZiBfZ2VuZXJhdGVfYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoc2VsZik6Ci0gICAgICAgIHJldHVy
biBbVGVzdENvbmZpZ3VyYXRpb24odmVyc2lvbj1zZWxmLl92ZXJzaW9uLCBhcmNoaXRlY3R1cmU9
J3g4NicsIGJ1aWxkX3R5cGU9YnVpbGRfdHlwZSkgZm9yIGJ1aWxkX3R5cGUgaW4gc2VsZi5BTExf
QlVJTERfVFlQRVNdCi0KLSAgICBkZWYgX3BhdGhfdG9fZHJpdmVyKHNlbGYpOgotICAgICAgICBy
ZXR1cm4gc2VsZi5fYnVpbGRfcGF0aCgnYmluJywgc2VsZi5kcml2ZXJfbmFtZSgpKQotCi0gICAg
ZGVmIF9wYXRoX3RvX2ltYWdlX2RpZmYoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9idWls
ZF9wYXRoKCdiaW4nLCAnSW1hZ2VEaWZmJykKLQotICAgIGRlZiBfaW1hZ2VfZGlmZl9jb21tYW5k
KHNlbGYsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9qaGJ1aWxkX3dy
YXBwZXJfcGF0aCArIHN1cGVyKE5peFBvcnQsIHNlbGYpLl9pbWFnZV9kaWZmX2NvbW1hbmQoKmFy
Z3MsICoqa3dhcmdzKQotCi0gICAgZGVmIF9zZWFyY2hfcGF0aHMoc2VsZik6Ci0gICAgICAgIHJl
dHVybiBbc2VsZi5wb3J0X25hbWVdCi0KLSAgICBkZWYgc2hvd19yZXN1bHRzX2h0bWxfZmlsZShz
ZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKLSAgICAgICAgcnVuX2xhdW5jaGVyX2FyZ3MgPSBbImZp
bGU6Ly8lcyIgJSByZXN1bHRzX2ZpbGVuYW1lXQotICAgICAgICBzZWxmLl9ydW5fc2NyaXB0KCJy
dW4tbGF1bmNoZXIiLCBydW5fbGF1bmNoZXJfYXJncykKLQotICAgIGRlZiBfcG9ydF9zcGVjaWZp
Y19leHBlY3RhdGlvbnNfZmlsZXMoc2VsZik6Ci0gICAgICAgIHBhdGhzID0gc2VsZi5fc2VhcmNo
X3BhdGhzKCkKLSAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCd3ZWJraXRfdGVzdF9ydW5uZXIn
KToKLSAgICAgICAgICAgIHBhdGhzLmFwcGVuZCgnd2syJykKLSAgICAgICAgcmV0dXJuIGxpc3Qo
KFtzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgocCksICdU
ZXN0RXhwZWN0YXRpb25zJykgZm9yIHAgaW4gcGF0aHNdKSkKLQotICAgIGRlZiBkZWZhdWx0X2Jh
c2VsaW5lX3NlYXJjaF9wYXRoKHNlbGYpOgotICAgICAgICByZXR1cm4gbWFwKHNlbGYuX3dlYmtp
dF9iYXNlbGluZV9wYXRoLCBbJ25peCcsICd3azInXSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9uaXhfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvbml4X3VuaXR0ZXN0LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMTI0
N2RkYTQ0ZjdkYTEwMDVhMTk2MTcxNWRjNTI1ZTExYzlmZDk5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9u
aXhfdW5pdHRlc3QucHkKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi0jIENvcHlyaWdo
dCAoQykgMjAxMiwgMjAxMyBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnko
LWllcykuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMgMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCi0jIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0jIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotIyBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIE9SCi0jIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0jIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotIyBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0jIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotaW1wb3J0IHVu
aXR0ZXN0MiBhcyB1bml0dGVzdAotaW1wb3J0IG9zCi1mcm9tIGNvcHkgaW1wb3J0IGRlZXBjb3B5
Ci0KLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmVfbW9jayBpbXBvcnQgTW9j
a0V4ZWN1dGl2ZSwgTW9ja0V4ZWN1dGl2ZTIKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5v
dXRwdXRjYXB0dXJlIGltcG9ydCBPdXRwdXRDYXB0dXJlCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0uc3lzdGVtaG9zdF9tb2NrIGltcG9ydCBNb2NrU3lzdGVtSG9zdAotZnJvbSB3ZWJraXRw
eS5wb3J0IGltcG9ydCBwb3J0X3Rlc3RjYXNlCi1mcm9tIHdlYmtpdHB5LnBvcnQubml4IGltcG9y
dCBOaXhQb3J0Ci1mcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tPcHRpb25z
Ci0KLQotY2xhc3MgTml4UG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgotICAg
IHBvcnRfbmFtZSA9ICduaXgnCi0gICAgcG9ydF9tYWtlciA9IE5peFBvcnQKLSAgICBzZWFyY2hf
cGF0aHNfY2FzZXMgPSBbCi0gICAgICAgICAgICB7J3NlYXJjaF9wYXRocyc6IFsnbml4JywgJ3dr
MiddLCAnb3NfbmFtZSc6J2xpbnV4J31dCi0gICAgZXhwZWN0YXRpb25fZmlsZXNfY2FzZXMgPSBb
Ci0gICAgICAgIHsnc2VhcmNoX3BhdGhzJzogWycnLCAnbml4JywgJ3drMiddLCAnb3NfbmFtZSc6
J2xpbnV4J31dCi0KLSAgICBkZWYgX2Fzc2VydF9zZWFyY2hfcGF0aChzZWxmLCBzZWFyY2hfcGF0
aHMsIG9zX25hbWUpOgotICAgICAgICBob3N0ID0gTW9ja1N5c3RlbUhvc3Qob3NfbmFtZT1vc19u
YW1lKQotICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQocG9ydF9uYW1lPXNlbGYucG9ydF9u
YW1lLCBob3N0PWhvc3QsIG9wdGlvbnM9TW9ja09wdGlvbnMod2Via2l0X3Rlc3RfcnVubmVyPVRy
dWUpKQotICAgICAgICBhYnNvbHV0ZV9zZWFyY2hfcGF0aHMgPSBtYXAocG9ydC5fd2Via2l0X2Jh
c2VsaW5lX3BhdGgsIHNlYXJjaF9wYXRocykKLQotICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZS5h
c3NlcnRFcXVhbChzZWxmLCBwb3J0LmJhc2VsaW5lX3NlYXJjaF9wYXRoKCksIGFic29sdXRlX3Nl
YXJjaF9wYXRocykKLQotICAgIGRlZiBfYXNzZXJ0X2V4cGVjdGF0aW9uc19maWxlcyhzZWxmLCBz
ZWFyY2hfcGF0aHMsIG9zX25hbWUpOgotICAgICAgICBob3N0ID0gTW9ja1N5c3RlbUhvc3Qob3Nf
bmFtZT1vc19uYW1lKQotICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQocG9ydF9uYW1lPXNl
bGYucG9ydF9uYW1lLCBob3N0PWhvc3QsIG9wdGlvbnM9TW9ja09wdGlvbnMod2Via2l0X3Rlc3Rf
cnVubmVyPVRydWUpKQotICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZS5hc3NlcnRFcXVhbChzZWxm
LCBwb3J0LmV4cGVjdGF0aW9uc19maWxlcygpLCBzZWFyY2hfcGF0aHMpCi0KLSAgICBkZWYgdGVz
dF9iYXNlbGluZV9zZWFyY2hfcGF0aChzZWxmKToKLSAgICAgICAgZm9yIGNhc2UgaW4gc2VsZi5z
ZWFyY2hfcGF0aHNfY2FzZXM6Ci0gICAgICAgICAgICBzZWxmLl9hc3NlcnRfc2VhcmNoX3BhdGgo
KipjYXNlKQotCi0gICAgZGVmIHRlc3RfZXhwZWN0YXRpb25zX2ZpbGVzKHNlbGYpOgotICAgICAg
ICBmb3IgY2FzZSBpbiBzZWxmLmV4cGVjdGF0aW9uX2ZpbGVzX2Nhc2VzOgotICAgICAgICAgICAg
ZXhwZWN0YXRpb25zX2Nhc2UgPSBkZWVwY29weShjYXNlKQotICAgICAgICAgICAgZXhwZWN0YXRp
b25zX2Nhc2VbJ3NlYXJjaF9wYXRocyddID0gbWFwKGxhbWJkYSBwYXRoOiAnL21vY2stY2hlY2tv
dXQvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucycgIGlmIG5vdCBwYXRoIGVsc2UgJy9tb2Nr
LWNoZWNrb3V0L0xheW91dFRlc3RzL3BsYXRmb3JtLyVzL1Rlc3RFeHBlY3RhdGlvbnMnICUgKHBh
dGgpLCBleHBlY3RhdGlvbnNfY2FzZVsnc2VhcmNoX3BhdGhzJ10pCi0gICAgICAgICAgICBzZWxm
Ll9hc3NlcnRfZXhwZWN0YXRpb25zX2ZpbGVzKCoqZXhwZWN0YXRpb25zX2Nhc2UpCi0KLSAgICBk
ZWYgdGVzdF9kZWZhdWx0X3RpbWVvdXRfbXMoc2VsZik6Ci0gICAgICAgIHVuaXR0ZXN0LlRlc3RD
YXNlLmFzc2VydEVxdWFsKHNlbGYsIHNlbGYubWFrZV9wb3J0KG9wdGlvbnM9TW9ja09wdGlvbnMo
Y29uZmlndXJhdGlvbj0nUmVsZWFzZScpKS5kZWZhdWx0X3RpbWVvdXRfbXMoKSwgODAwMDApCi0g
ICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlLmFzc2VydEVxdWFsKHNlbGYsIHNlbGYubWFrZV9wb3J0
KG9wdGlvbnM9TW9ja09wdGlvbnMoY29uZmlndXJhdGlvbj0nRGVidWcnKSkuZGVmYXVsdF90aW1l
b3V0X21zKCksIDgwMDAwKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>