<?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>197170</bug_id>
          
          <creation_ts>2019-04-22 11:19:40 -0700</creation_ts>
          <short_desc>[PlayStation] Support running of JSC tests on remote playstation devices</short_desc>
          <delta_ts>2019-04-23 09:11:22 -0700</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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Stephan Szabo">stephan.szabo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>basuke</cc>
    
    <cc>chris.reid</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>lforschler</cc>
    
    <cc>mark.lam</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1529311</commentid>
    <comment_count>0</comment_count>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2019-04-22 11:19:40 -0700</bug_when>
    <thetext>Update Tools for running JSC tests on playstation devices using internal remote execution tools.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529315</commentid>
    <comment_count>1</comment_count>
      <attachid>367956</attachid>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2019-04-22 11:26:01 -0700</bug_when>
    <thetext>Created attachment 367956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529472</commentid>
    <comment_count>2</comment_count>
      <attachid>367956</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-04-22 16:58:06 -0700</bug_when>
    <thetext>Comment on attachment 367956
Patch

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

&gt; Tools/Scripts/webkitdirs.pm:779
&gt; +    if (isAnyWindows() &amp;&amp; !isPlayStation()) {

I wish there were a way to write this without baking in the idea that isPlayStation implies isAnyWindows but it makes sense to have the bin[64|32] branch first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529614</commentid>
    <comment_count>3</comment_count>
      <attachid>367956</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-23 09:10:59 -0700</bug_when>
    <thetext>Comment on attachment 367956
Patch

Clearing flags on attachment: 367956

Committed r244543: &lt;https://trac.webkit.org/changeset/244543&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529615</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-23 09:11:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529616</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-23 09:11:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/50131796&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367956</attachid>
            <date>2019-04-22 11:26:01 -0700</date>
            <delta_ts>2019-04-23 09:10:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>197170.1.diff</filename>
            <type>text/plain</type>
            <size>20512</size>
            <attacher name="Stephan Szabo">stephan.szabo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhMGRl
N2U5ZjJjYy4uMmQ5YTk4MGNiOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxOS0wNC0yMiAgU3RlcGhhbiBTemFi
byAgPHN0ZXBoYW4uc3phYm9Ac29ueS5jb20+CisKKyAgICAgICAgW1BsYXlTdGF0aW9uXSBTdXBw
b3J0IHJ1bm5pbmcgb2YgSlNDIHRlc3RzIG9uIHJlbW90ZSBwbGF5c3RhdGlvbiBkZXZpY2VzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTcxNzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTY3JpcHQgY2hh
bmdlcworCisgICAgICAgICogU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHM6CisgICAg
ICAgIChydW5KU0NTdHJlc3NUZXN0cyk6IFBhc3MgYXJndW1lbnRzIGZvciBwbGF5c3RhdGlvbiB0
bworICAgICAgICBydW4tanNjLXN0cmVzcy10ZXN0cworICAgICAgICAqIFNjcmlwdHMvcnVuLWpz
Yy1zdHJlc3MtdGVzdHM6CisgICAgICAgIEhhbmRsZSAkaG9zdE9TPT0icGxheXN0YXRpb24iIGZv
ciBkZXRlcm1pbmVBcmNoaXRlY3R1cmUsIHR1cm5pbmcKKyAgICAgICAgb2ZmICRpc0ZUTFBsYXRm
b3JtIGFuZCBydW5Qcm9maWxlciBhbmQgZGVmYXVsdGluZyB0ZXN0IHdyaXRlci4KKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdGRpcnMucG06CisgICAgICAgIChqc2NQYXRoKTogUGxheVN0YXRpb24g
V2ViS2l0IGV4ZWN1dGFibGVzIGhhdmUgLmVsZiBleHRlbnNpb24KKyAgICAgICAgKGV4ZWN1dGFi
bGVQcm9kdWN0RGlyKTogUGxheVN0YXRpb24gYnVpbGRzIG9uIFdpbmRvd3MgaG9zdHMgYnV0Cisg
ICAgICAgIHVzZXMgYmluIGRpcmVjdG9yeSByYXRoZXIgdGhhbiBiaW42NC9iaW4zMiBmb3IgZXhl
Y3V0YWJsZSBvdXRwdXQKKyAgICAgICAgbG9jYXRpb24uCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRydWJ5L2pzYy1zdHJlc3MtdGVzdC13cml0ZXItcGxheXN0YXRpb24ucmI6IEFkZGVkLgorCiAy
MDE5LTA0LTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSRUdSRVNTSU9OKHIyNDEyODkpOiBbR1RLXSBhY2Nlc3NpYmlsaXR5L3JlbW92ZWQt
Y29udGludWF0aW9uLWVsZW1lbnQtY2F1c2VzLWNyYXNoLmh0bWwgYW5kIGFjY2Vzc2liaWxpdHkv
cmVtb3ZlZC1hbm9ueW1vdXMtYmxvY2stY2hpbGQtY2F1c2VzLWNyYXNoLmh0bWwgY3Jhc2hlcwpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgYi9Ub29s
cy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10ZXN0cwppbmRleCAyMTZiYmUxOWJmNi4uYzdi
MjNlNjQyN2QgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRl
c3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzCkBAIC01NDAs
NiArNTQwLDExIEBAIHN1YiBydW5KU0NTdHJlc3NUZXN0cwogCiAgICAgcHVzaChAanNjU3RyZXNz
RHJpdmVyQ21kLCAoIi0tdmVyYm9zZSIpIHggJHZlcmJvc2UpIGlmICgkdmVyYm9zZSA+IDApOwog
CisgICAgaWYgKGlzUGxheVN0YXRpb24oKSkgeworICAgICAgICBwdXNoKEBqc2NTdHJlc3NEcml2
ZXJDbWQsICItLW9zPXBsYXlzdGF0aW9uIik7CisgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZl
ckNtZCwgIi0tbm8tY29weSIpOworICAgIH0KKwogICAgIHVuc2hpZnQgQGpzY1N0cmVzc0RyaXZl
ckNtZCwgd3JhcHBlclByZWZpeElmTmVlZGVkKCkgaWYgc2hvdWxkVXNlSmhidWlsZCgpOwogCiAg
ICAgIyBFbmQgb3B0aW9uIHByb2Nlc3NpbmcsIHRoZSByZXN0IG9mIHRoZSBhcmd1bWVudHMgYXJl
IHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzIGIv
VG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwppbmRleCA3MDU4NTgzZDQ3MC4uNmVi
MjlmZDdmN2UgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMK
KysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwpAQCAtNDI1LDYgKzQyNSw4
IEBAIGRlZiBkZXRlcm1pbmVBcmNoaXRlY3R1cmUKICAgICAgICAgZGV0ZXJtaW5lQXJjaGl0ZWN0
dXJlRnJvbUVMRkJpbmFyeQogICAgIHdoZW4gIndpbmRvd3MiCiAgICAgICAgIGRldGVybWluZUFy
Y2hpdGVjdHVyZUZyb21QRUJpbmFyeQorICAgIHdoZW4gInBsYXlzdGF0aW9uIgorICAgICAgICAi
eDg2LTY0IgogICAgIGVsc2UKICAgICAgICAgJHN0ZGVyci5wdXRzICJXYXJuaW5nOiB1bmFibGUg
dG8gZGV0ZXJtaW5lIGFyY2hpdGVjdHVyZSBvbiB0aGlzIHBsYXRmb3JtLiIKICAgICAgICAgbmls
CkBAIC00NDcsNyArNDQ5LDcgQEAgZW5kCiAKICRob3N0T1MgPSBkZXRlcm1pbmVPUyB1bmxlc3Mg
JGhvc3RPUwogJGFyY2hpdGVjdHVyZSA9IGRldGVybWluZUFyY2hpdGVjdHVyZSB1bmxlc3MgJGFy
Y2hpdGVjdHVyZQotJGlzRlRMUGxhdGZvcm0gPSAhKCRhcmNoaXRlY3R1cmUgPT0gIng4NiIgfHwg
JGFyY2hpdGVjdHVyZSA9PSAiYXJtIiB8fCAkYXJjaGl0ZWN0dXJlID09ICJtaXBzIiB8fCAkaG9z
dE9TID09ICJ3aW5kb3dzIikKKyRpc0ZUTFBsYXRmb3JtID0gISgkYXJjaGl0ZWN0dXJlID09ICJ4
ODYiIHx8ICRhcmNoaXRlY3R1cmUgPT0gImFybSIgfHwgJGFyY2hpdGVjdHVyZSA9PSAibWlwcyIg
fHwgJGhvc3RPUyA9PSAid2luZG93cyIgfHwgJGhvc3RPUyA9PSAicGxheXN0YXRpb24iKQogCiBp
ZiAkYXJjaGl0ZWN0dXJlID09ICJ4ODYiCiAgICAgIyBUaGUgSklUIGlzIHRlbXBvcmFyaWx5IGRp
c2FibGVkIG9uIHRoaXMgcGxhdGZvcm0gc2luY2UKQEAgLTQ3MSw2ICs0NzMsMTAgQEAgaWYgJHJl
bW90ZUhvc3RzLmxlbmd0aCA+IDEgYW5kICR0ZXN0UnVubmVyVHlwZSAhPSA6bWFrZQogICAgIHJh
aXNlICJNdWx0aXBsZSByZW1vdGUgaG9zdHMgb25seSBzdXBwb3J0ZWQgd2l0aCBtYWtlIHJ1bm5l
ciIKIGVuZAogCitpZiAkaG9zdE9TID09ICJwbGF5c3RhdGlvbiIgJiYgJHRlc3RXcml0ZXIgPT0g
ImRlZmF1bHQiCisgICAgJHRlc3RXcml0ZXIgPSAicGxheXN0YXRpb24iCitlbmQKKwogaWYgJHRl
c3RXcml0ZXIKICAgICBpZiAvW14tYS16QS1aMC05X10vLm1hdGNoKCR0ZXN0V3JpdGVyKQogICAg
ICAgICByYWlzZSAiSW52YWxpZCB0ZXN0IHdyaXRlciAjeyR0ZXN0V3JpdGVyfSBnaXZlbiIKQEAg
LTUwNCw2ICs1MTAsOCBAQCBkZWYgZnJhbWV3b3JrRnJvbUpTQ1BhdGgoanNjUGF0aCkKICAgICBw
YXJlbnREaXJlY3RvcnkgPSBqc2NQYXRoLmRpcm5hbWUKICAgICBpZiBwYXJlbnREaXJlY3Rvcnku
YmFzZW5hbWUudG9fcyA9PSAiUmVzb3VyY2VzIiBhbmQgcGFyZW50RGlyZWN0b3J5LmRpcm5hbWUu
YmFzZW5hbWUudG9fcyA9PSAiSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIgogICAgICAgICBwYXJl
bnREaXJlY3RvcnkuZGlybmFtZQorICAgIGVsc2lmICRob3N0T1MgPT0gInBsYXlzdGF0aW9uIgor
ICAgICAgICBqc2NQYXRoLmRpcm5hbWUKICAgICBlbHNpZiBwYXJlbnREaXJlY3RvcnkuYmFzZW5h
bWUudG9fcyA9fiAvXkRlYnVnLyBvciBwYXJlbnREaXJlY3RvcnkuYmFzZW5hbWUudG9fcyA9fiAv
XlJlbGVhc2UvCiAgICAgICAgIGpzY1BhdGguZGlybmFtZSArICJKYXZhU2NyaXB0Q29yZS5mcmFt
ZXdvcmsiCiAgICAgZWxzZQpAQCAtOTAxLDcgKzkwOSw3IEBAIGRlZiBkZWZhdWx0Tm9TYW1wbGlu
Z1Byb2ZpbGVyUnVuCiBlbmQKIAogZGVmIHJ1blByb2ZpbGVyCi0gICAgaWYgJHJlbW90ZSBvciAo
JGFyY2hpdGVjdHVyZSAhfiAveDg2L2kgYW5kICRob3N0T1MgPT0gImRhcndpbiIpIG9yICgkaG9z
dE9TID09ICJ3aW5kb3dzIikKKyAgICBpZiAkcmVtb3RlIG9yICgkYXJjaGl0ZWN0dXJlICF+IC94
ODYvaSBhbmQgJGhvc3RPUyA9PSAiZGFyd2luIikgb3IgKCRob3N0T1MgPT0gIndpbmRvd3MiKSBv
ciAoJGhvc3RPUyA9PSAicGxheXN0YXRpb24iKQogICAgICAgICBza2lwCiAgICAgICAgIHJldHVy
bgogICAgIGVuZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDRiY2E3ZDc5OTUzLi42NGE2OGNjOWZmOSAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0ZGlycy5wbQpAQCAtNDY4LDcgKzQ2OCwxMSBAQCBzdWIganNjUGF0aCgkKQogICAg
IG15ICgkcHJvZHVjdERpcikgPSBAXzsKICAgICBteSAkanNjTmFtZSA9ICJqc2MiOwogICAgICRq
c2NOYW1lIC49ICJfZGVidWciICBpZiBjb25maWd1cmF0aW9uKCkgZXEgIkRlYnVnX0FsbCI7Ci0g
ICAgJGpzY05hbWUgLj0gIi5leGUiIGlmIChpc0FueVdpbmRvd3MoKSk7CisgICAgaWYgKGlzUGxh
eVN0YXRpb24oKSkgeworICAgICAgICAkanNjTmFtZSAuPSAiLmVsZiI7CisgICAgfSBlbHNpZiAo
aXNBbnlXaW5kb3dzKCkpIHsKKyAgICAgICAgJGpzY05hbWUgLj0gIi5leGUiOworICAgIH0KICAg
ICByZXR1cm4gIiRwcm9kdWN0RGlyLyRqc2NOYW1lIiBpZiAtZSAiJHByb2R1Y3REaXIvJGpzY05h
bWUiOwogICAgIHJldHVybiAiJHByb2R1Y3REaXIvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1Jl
c291cmNlcy8kanNjTmFtZSI7CiB9CkBAIC03NzIsOSArNzc2LDkgQEAgc3ViIGV4ZWN1dGFibGVQ
cm9kdWN0RGlyCiAgICAgbXkgJHByb2R1Y3REaXJlY3RvcnkgPSBwcm9kdWN0RGlyKCk7CiAKICAg
ICBteSAkYmluYXJ5RGlyZWN0b3J5OwotICAgIGlmIChpc0FueVdpbmRvd3MoKSkgeworICAgIGlm
IChpc0FueVdpbmRvd3MoKSAmJiAhaXNQbGF5U3RhdGlvbigpKSB7CiAgICAgICAgICRiaW5hcnlE
aXJlY3RvcnkgPSBpc1dpbjY0KCkgPyAiYmluNjQiIDogImJpbjMyIjsKLSAgICB9IGVsc2lmIChp
c0d0aygpIHx8IGlzSlNDT25seSgpIHx8IGlzV1BFKCkpIHsKKyAgICB9IGVsc2lmIChpc0d0aygp
IHx8IGlzSlNDT25seSgpIHx8IGlzV1BFKCkgfHwgaXNQbGF5U3RhdGlvbigpKSB7CiAgICAgICAg
ICRiaW5hcnlEaXJlY3RvcnkgPSAiYmluIjsKICAgICB9IGVsc2UgewogICAgICAgICByZXR1cm4g
JHByb2R1Y3REaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHJ1Ynkv
anNjLXN0cmVzcy10ZXN0LXdyaXRlci1wbGF5c3RhdGlvbi5yYiBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLXBsYXlzdGF0aW9uLnJiCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44MmExMTVjMTFkNgotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cnVieS9qc2Mtc3RyZXNzLXRlc3Qtd3JpdGVyLXBsYXlz
dGF0aW9uLnJiCkBAIC0wLDAgKzEsNDE4IEBACisjIENvcHlyaWdodCAoQykgMjAxNyBTb255IElu
dGVyYWN0aXZlIEVudGVydGFpbm1lbnQgSW5jLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisjIGFyZSBtZXQ6CisjCisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKK3JlcXVpcmUgJ29wZW4zJworCiskaGFzRGlmZiA9IGZhbHNlCitpZiAoJGhvc3RP
UyA9PSAnd2luZG93cycgfHwgJGhvc3RPUyA9PSAncGxheXN0YXRpb24nKQorICAgIG91dCwgZXJy
LCBzdGF0dXMgPSBPcGVuMy5jYXB0dXJlMygid2hlcmUiLCAiL3EiLCAiZGlmZiIpCisgICAgJGhh
c0RpZmYgPSBzdGF0dXMuc3VjY2Vzcz8KK2Vsc2UKKyAgICBvdXQsIGVyciwgc3RhdHVzID0gT3Bl
bjMuY2FwdHVyZTMoIndoaWNoIiwgImRpZmYiKQorICAgICRoYXNEaWZmID0gc3RhdHVzLnN1Y2Nl
c3M/CitlbmQKKworIyBQcmVmaXggZWFjaCBsaW5lIG9mIHN0ciB3aXRoIHRoZSBuYW1lCitkZWYg
cHJlZml4U3RyaW5nKHN0ciwgbmFtZSkKKyAgICAiI3tzdHJ9LmVtcHR5PyA/IFwiXCIgOiAje3N0
cn0uZ3N1YigvXi9tLCBcIiN7bmFtZX06IFwiKSIKK2VuZAorCitkZWYgc2lsZW50T3V0cHV0SGFu
ZGxlcgorICAgIFByb2MubmV3IHsKKyAgICAgICAgfCBuYW1lIHwKKyAgICAgICAgPDwtRU5EX1NJ
TEVOVF9PVVRQVVRfSEFORExFUgorICAgICAgICBvdXQgPSBvdXQgKyBlcnIKKyAgICAgICAgZXJy
ID0gbmlsCisgICAgICAgIFNURE9VVC5wdXRzICN7cHJlZml4U3RyaW5nKCJvdXQiLCBuYW1lKX0g
aWYgKCFvdXQuZW1wdHk/KQorICAgICAgICBGaWxlLm9wZW4oIiN7U2hlbGx3b3Jkcy5zaGVsbGVz
Y2FwZSgoUGF0aG5hbWUoIi4uIikgKyAobmFtZSArICIub3V0IikpLnRvX3MpfSIsICJ3IikgZG8g
fG91dF9maWxlfAorICAgICAgICAgICAgb3V0X2ZpbGUucHV0cyBvdXQKKyAgICAgICAgZW5kCisg
ICAgICAgIEVORF9TSUxFTlRfT1VUUFVUX0hBTkRMRVIKKyAgICB9CitlbmQKKworIyBPdXRwdXQg
aGFuZGxlciBmb3IgdGVzdHMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gcHJvZHVjZSBtZWFuaW5nZnVs
IG91dHB1dC4KK2RlZiBub2lzeU91dHB1dEhhbmRsZXIKKyAgICBQcm9jLm5ldyB7CisgICAgICAg
IHwgbmFtZSB8CisgICAgICAgIDw8LUVORF9OT0lTWV9PVVRQVVRfSEFORExFUgorICAgICAgICBv
dXQgPSBvdXQgKyBlcnIKKyAgICAgICAgZXJyID0gbmlsCisgICAgICAgIEZpbGUub3BlbigiI3tT
aGVsbHdvcmRzLnNoZWxsZXNjYXBlKChQYXRobmFtZSgiLi4iKSArIChuYW1lICsgIi5vdXQiKSku
dG9fcyl9IiwgInciKSBkbyB8b3V0X2ZpbGV8CisgICAgICAgICAgICBvdXRfZmlsZS5wdXRzIG91
dAorICAgICAgICBlbmQKKyAgICAgICAgRU5EX05PSVNZX09VVFBVVF9IQU5ETEVSCisgICAgfQor
ZW5kCisKKyMgRXJyb3IgaGFuZGxlciBmb3IgdGVzdHMgdGhhdCBmYWlsIGV4YWN0bHkgd2hlbiB0
aGV5IHJldHVybiBub24temVybyBleGl0IHN0YXR1cy4KKyMgVGhpcyBpcyB1c2VmdWwgd2hlbiBh
IHRlc3QgaXMgZXhwZWN0ZWQgdG8gZmFpbC4KK2RlZiBzaW1wbGVFcnJvckhhbmRsZXIKKyAgICBQ
cm9jLm5ldyB7CisgICAgICAgIHwgb3V0cCwgcGxhbiB8CisgICAgICAgIG91dHAucHV0cyAiaWYg
IXN1Y2Nlc3NcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQgIiArIHByZWZpeFN0cmlu
ZygiXCJFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGUgXCN7c3RhdHVzfVxcblwiIiwgcGxhbi5u
YW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgICAgICIgKyBwbGFuLmZhaWxDb21t
YW5kCisgICAgICAgIG91dHAucHV0cyAiZWxzZVxuIgorICAgICAgICBvdXRwLnB1dHMgIiAgICAi
ICsgcGxhbi5zdWNjZXNzQ29tbWFuZAorICAgICAgICBvdXRwLnB1dHMgImVuZFxuIgorICAgIH0K
K2VuZAorCisjIEVycm9yIGhhbmRsZXIgZm9yIHRlc3RzIHRoYXQgZmFpbCBleGFjdGx5IHdoZW4g
dGhleSByZXR1cm4gemVybyBleGl0IHN0YXR1cy4KK2RlZiBleHBlY3RlZEZhaWxFcnJvckhhbmRs
ZXIKKyAgICBQcm9jLm5ldyB7CisgICAgICAgIHwgb3V0cCwgcGxhbiB8CisgICAgICAgIG91dHAu
cHV0cyAiaWYgc3VjY2Vzc1xuIgorICAgICAgICBvdXRwLnB1dHMgIiAgICBwcmludCAiICsgcHJl
Zml4U3RyaW5nKCJcIkVSUk9SOiBVbmV4cGVjdGVkIGV4aXQgY29kZSAwXFxuXCIiLCBwbGFuLm5h
bWUpICsgIlxuIgorICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgIiArIHBsYW4uZmFpbENvbW1h
bmQKKyAgICAgICAgb3V0cC5wdXRzICJlbHNlXG4iCisgICAgICAgIG91dHAucHV0cyAiICAgICIg
KyBwbGFuLnN1Y2Nlc3NDb21tYW5kCisgICAgICAgIG91dHAucHV0cyAiZW5kXG4iCisgICAgfQor
ZW5kCisKKyMgRXJyb3IgaGFuZGxlciBmb3IgdGVzdHMgdGhhdCBmYWlsIGV4YWN0bHkgd2hlbiB0
aGV5IHJldHVybiBub24temVybyBleGl0IHN0YXR1cyBhbmQgcHJvZHVjZQorIyBsb3RzIG9mIHNw
ZXcuIFRoaXMgd2lsbCBlY2hvIHRoYXQgc3BldyB3aGVuIHRoZSB0ZXN0IGZhaWxzLgorZGVmIG5v
aXN5RXJyb3JIYW5kbGVyCisgICAgUHJvYy5uZXcgeworICAgICAgICB8IG91dHAsIHBsYW4gfAor
ICAgICAgICBvdXRwLnB1dHMgImlmICFzdWNjZXNzXG4iCisgICAgICAgIG91dHAucHV0cyAiICAg
IHByaW50ICIgKyBwcmVmaXhTdHJpbmcoIm91dCIsIHBsYW4ubmFtZSkgKyAiXG4iCisgICAgICAg
IG91dHAucHV0cyAiICAgIHByaW50ICIgKyBwcmVmaXhTdHJpbmcoIlwiRVJST1I6IFVuZXhwZWN0
ZWQgZXhpdCBjb2RlIFwje3N0YXR1c31cXG5cIiIsIHBsYW4ubmFtZSkgKyAiXG4iCisgICAgICAg
IG91dHAucHV0cyAiICAgICAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAorICAgICAgICBvdXRwLnB1
dHMgImVsc2VcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1h
bmQKKyAgICAgICAgb3V0cC5wdXRzICJlbmRcbiIKKyAgICB9CitlbmQKKworIGRlZiBmYWxsYmFj
a0RpZmYoZXhwZWN0ZWQsIG91dHB1dCkKKyAgICA8PC1FTkRfRkFMTEJBQ0tfRElGRgorICAgICAg
ICAgIyBGYWxsYmFjayBkaWZmIGZvciB3aGVuIGRpZmYoMSkgaXNuJ3QgYXZhaWxhYmxlCisgICAg
ICAgICBkaWZmcyA9IFtdCisgICAgICAgICBsaW5lX251bWJlciA9IDAKKyAgICAgICAgIEZpbGUu
b3BlbigiI3tleHBlY3RlZH0iKSBkbyB8IGV4cGVjdGVkIHwKKyAgICAgICAgICAgICBGaWxlLm9w
ZW4oIiN7b3V0cHV0fSIpIGRvIHwgYWN0dWFsIHwKKyAgICAgICAgICAgICAgICAgbG9vcCBkbwor
ICAgICAgICAgICAgICAgICAgICAgbDEgPSBleHBlY3RlZC5nZXRzCisgICAgICAgICAgICAgICAg
ICAgICBsMiA9IGFjdHVhbC5nZXRzCisgICAgICAgICAgICAgICAgICAgICBpZiAobDEgIT0gbDIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZnMucHVzaChbbGluZV9udW1iZXIsIGwxLCBs
Ml0pCisgICAgICAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICAgICAgIGxpbmVf
bnVtYmVyID0gbGluZV9udW1iZXIgKyAxCisgICAgICAgICAgICAgICAgICAgICBicmVhayBpZiAo
bDEgPT0gbmlsICYmIGwyID09IG5pbCkKKyAgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAg
ICAgZW5kCisgICAgICAgICBlbmQKKyAgICAgICAgIGlzRGlmZmVyZW50ID0gIWRpZmZzLmVtcHR5
PworICAgICAgICAgZGlmZk91dCA9IGRpZmZzLm1hcCB7CisgICAgICAgICAgICAgfCBkaWZmIHwK
KyAgICAgICAgICAgICAiQEAgLVwje2RpZmZbMF19LDEgK1wje2RpZmZbMF19LDEgQEBcXG4iICsK
KyAgICAgICAgICAgICAoZGlmZlsxXSA/ICItXCN7ZGlmZlsxXX0iIDogIiIpICsKKyAgICAgICAg
ICAgICAoZGlmZlsyXSA/ICIrXCN7ZGlmZlsyXX0iIDogIiIpCisgICAgICAgIH0uam9pbigiIikK
KyAgICBFTkRfRkFMTEJBQ0tfRElGRgorZW5kCisKK2RlZiBydW5EaWZmKGV4cGVjdGVkLCBvdXRw
dXQpCisgICAgPDwtRU5EX1JVTl9ESUZGCisgICAgICAgIGRpZmZPdXQsIGRpZmZTdGF0dXMgPSBP
cGVuMy5jYXB0dXJlMigiZGlmZiIsCisgICAgICAgICAgICAiLS1zdHJpcC10cmFpbGluZy1jciIs
CisgICAgICAgICAgICAiLXUiLAorICAgICAgICAgICAgIiN7ZXhwZWN0ZWR9IiwKKyAgICAgICAg
ICAgICIje291dHB1dH0iKTsKKyAgICAgICAgaXNEaWZmZXJlbnQgPSAhZGlmZlN0YXR1cy5zdWNj
ZXNzPworICAgIEVORF9SVU5fRElGRgorZW5kCisKKyMgR2V0IGEgZGlmZmVyZW5jZSBiZXR3ZWVu
IHR3byBmaWxlcywgdXNpbmcgZGlmZiB3aGVyZSBhdmFpbGFibGUsIGZhbGxpbmcgYmFjaworIyBv
biBhIGxpbWl0ZWQgY29tcGFyaXNvbiB3aGVuIGRpZmYgaXMgbm90IGF2YWlsYWJsZQorZGVmIGdl
dERpZmYoZXhwZWN0ZWQsIG91dHB1dCkKKyAgICBpZiAkaGFzRGlmZgorICAgICAgICBydW5EaWZm
KGV4cGVjdGVkLCBvdXRwdXQpCisgICAgZWxzZQorICAgICAgICBmYWxsYmFja0RpZmYoZXhwZWN0
ZWQsb3V0cHV0KQorICAgIGVuZAorZW5kCisKKyMgRXJyb3IgaGFuZGxlciBmb3IgdGVzdHMgdGhh
dCBkaWZmIHRoZWlyIG91dHB1dCB3aXRoIHNvbWUgZXhwZWN0YXRpb24uCitkZWYgZGlmZkVycm9y
SGFuZGxlcihleHBlY3RlZEZpbGVuYW1lKQorICAgIFByb2MubmV3IHsKKyAgICAgICAgfCBvdXRw
LCBwbGFuIHwKKyAgICAgICAgb3V0cHV0RmlsZW5hbWUgPSBTaGVsbHdvcmRzLnNoZWxsZXNjYXBl
KChQYXRobmFtZSgiLi4iKSArIChwbGFuLm5hbWUgKyAiLm91dCIpKS50b19zKQorCisgICAgICAg
IG91dHAucHV0cyAiaWYgIXN1Y2Nlc3NcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQg
IiArIHByZWZpeFN0cmluZygib3V0IiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5w
dXRzICIgICAgcHJpbnQgIiArIHByZWZpeFN0cmluZygiXCJFUlJPUjogVW5leHBlY3RlZCBleGl0
IGNvZGUgXCN7c3RhdHVzfVxcblwiIiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5w
dXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKKyAgICAgICAgb3V0cC5wdXRzICJlbHNpZiBG
aWxlLmV4aXN0cz8oXCIuLi8je1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoZXhwZWN0ZWRGaWxlbmFt
ZSl9XCIpXG4iCisgICAgICAgIG91dHAucHV0cyBnZXREaWZmKCIuLi8je1NoZWxsd29yZHMuc2hl
bGxlc2NhcGUoZXhwZWN0ZWRGaWxlbmFtZSl9Iiwgb3V0cHV0RmlsZW5hbWUpCisgICAgICAgIG91
dHAucHV0cyAiICAgIGlmIGlzRGlmZmVyZW50XG4iCisgICAgICAgIG91dHAucHV0cyAiICAgICAg
ICBwcmludCAiICsgcHJlZml4U3RyaW5nKCJcIkRJRkYgRkFJTFVSRSFcXG5cIiIsIHBsYW4ubmFt
ZSkgKyAiXG4iCisgICAgICAgIG91dHAucHV0cyAiICAgICAgICBwcmludCAiICsgcHJlZml4U3Ry
aW5nKCJkaWZmT3V0IiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAg
ICAgICIgKyBwbGFuLmZhaWxDb21tYW5kCisgICAgICAgIG91dHAucHV0cyAiICAgIGVsc2UiCisg
ICAgICAgIG91dHAucHV0cyAiICAgICAgICAiICsgcGxhbi5zdWNjZXNzQ29tbWFuZAorICAgICAg
ICBvdXRwLnB1dHMgIiAgICBlbmQiCisgICAgICAgIG91dHAucHV0cyAiZWxzZVxuIgorICAgICAg
ICBvdXRwLnB1dHMgIiAgICBwcmludCAiICsgcHJlZml4U3RyaW5nKCJcIk5PIEVYUEVDVEFUSU9O
IVxcblwiIiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQg
IiArIHByZWZpeFN0cmluZygib3V0IiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5w
dXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKKyAgICAgICAgb3V0cC5wdXRzICJlbmQiCisg
ICAgfQorZW5kCisKKyMgRXJyb3IgaGFuZGxlciBmb3IgdGVzdHMgdGhhdCByZXBvcnQgZXJyb3Ig
Ynkgc2F5aW5nICJmYWlsZWQhIi4gVGhpcyBpcyB1c2VkIGJ5IE1vemlsbGEKKyMgdGVzdHMuCitk
ZWYgbW96aWxsYUVycm9ySGFuZGxlcgorICAgIFByb2MubmV3IHsKKyAgICAgICAgfCBvdXRwLCBw
bGFuIHwKKyAgICAgICAgb3V0cC5wdXRzICJpZiAhc3VjY2Vzc1xuIgorICAgICAgICBvdXRwLnB1
dHMgIiAgICBwcmludCAiICsgcHJlZml4U3RyaW5nKCJvdXQiLCBwbGFuLm5hbWUpICsgIlxuIgor
ICAgICAgICBvdXRwLnB1dHMgIiAgICBwcmludCAiICsgcHJlZml4U3RyaW5nKCJcIkVSUk9SOiBV
bmV4cGVjdGVkIGV4aXQgY29kZSBcI3tzdGF0dXN9XFxuXCIiLCBwbGFuLm5hbWUpICsgIlxuIgor
ICAgICAgICBvdXRwLnB1dHMgIiAgICAgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKKyAgICAgICAg
b3V0cC5wdXRzICJlbHNpZiAvZmFpbGVkIS9pID1+IG91dFxuIgorICAgICAgICBvdXRwLnB1dHMg
IiAgICBwcmludCAiICsgcHJlZml4U3RyaW5nKCJcIkRldGVjdGVkIGZhaWx1cmVzOlxcblwiIiwg
cGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQgIiArIHByZWZp
eFN0cmluZygib3V0IiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAg
IiArIHBsYW4uZmFpbENvbW1hbmQKKyAgICAgICAgb3V0cC5wdXRzICJlbHNlXG4iCisgICAgICAg
IG91dHAucHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5kCisgICAgICAgIG91dHAucHV0
cyAiZW5kXG4iCisgICAgfQorZW5kCisKKyMgRXJyb3IgaGFuZGxlciBmb3IgdGVzdHMgdGhhdCBy
ZXBvcnQgZXJyb3IgYnkgc2F5aW5nICJmYWlsZWQhIiwgYW5kIGFyZSBleHBlY3RlZCB0bworIyBm
YWlsLiBUaGlzIGlzIHVzZWQgYnkgTW96aWxsYSB0ZXN0cy4KK2RlZiBtb3ppbGxhRmFpbEVycm9y
SGFuZGxlcgorICAgIFByb2MubmV3IHsKKyAgICAgICAgfCBvdXRwLCBwbGFuIHwKKyAgICAgICAg
b3V0cC5wdXRzICJpZiAhc3VjY2Vzc1xuIgorICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxh
bi5zdWNjZXNzQ29tbWFuZAorICAgICAgICBvdXRwLnB1dHMgImVsc2lmIC9mYWlsZWQhL2kgPX4g
b3V0XG4iCisgICAgICAgIG91dHAucHV0cyAiICAgICIgKyBwbGFuLnN1Y2Nlc3NDb21tYW5kCisg
ICAgICAgIG91dHAucHV0cyAiZWxzZVxuIgorICAgICAgICBvdXRwLnB1dHMgIiAgICBwcmludCAi
ICsgcHJlZml4U3RyaW5nKCJcIk5PVElDRTogWW91IG1hZGUgdGhpcyB0ZXN0IHBhc3MsIGJ1dCBp
dCB3YXMgZXhwZWN0ZWQgdG8gZmFpbFxcblwiIiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAg
b3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKKyAgICAgICAgb3V0cC5wdXRzICJl
bmRcbiIKKyAgICB9CitlbmQKKworIyBFcnJvciBoYW5kbGVyIGZvciB0ZXN0cyB0aGF0IHJlcG9y
dCBlcnJvciBieSBzYXlpbmcgImZhaWxlZCEiLCBhbmQgYXJlIGV4cGVjdGVkIHRvIGhhdmUKKyMg
YW4gZXhpdCBjb2RlIG9mIDMuCitkZWYgbW96aWxsYUV4aXQzRXJyb3JIYW5kbGVyCisgICAgUHJv
Yy5uZXcgeworICAgICAgICB8IG91dHAsIHBsYW4gfAorICAgICAgICBvdXRwLnB1dHMgImlmIHN1
Y2Nlc3NcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQgIiArIHByZWZpeFN0cmluZygi
b3V0IiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQgIiAr
IHByZWZpeFN0cmluZygiXCJFUlJPUjogVGVzdCBleHBlY3RlZCB0byBmYWlsLCBidXQgcmV0dXJu
ZWQgc3VjY2Vzc2Z1bGx5XFxuXCIiLCBwbGFuLm5hbWUpICsgIlxuIgorICAgICAgICBvdXRwLnB1
dHMgIiAgICAgICAgIiArIHBsYW4uZmFpbENvbW1hbmQKKyAgICAgICAgb3V0cC5wdXRzICJlbHNp
ZiBzdGF0dXMgIT0gMyIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQgIiArIHByZWZpeFN0
cmluZygib3V0IiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJp
bnQgIiArIHByZWZpeFN0cmluZygiXCJFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGU6IFwje3N0
YXR1c31cXG5cIiIsIHBsYW4ubmFtZSkgKyAiXG4iCisgICAgICAgIG91dHAucHV0cyAiICAgICAg
ICAiICsgcGxhbi5mYWlsQ29tbWFuZAorICAgICAgICBvdXRwLnB1dHMgImVsc2lmIC9mYWlsZWQh
L2kgPX4gb3V0XG4iCisgICAgICAgIG91dHAucHV0cyAiICAgIHByaW50ICIgKyBwcmVmaXhTdHJp
bmcoIlwiRGV0ZWN0ZWQgZmFpbHVyZXM6XFxuXCIiLCBwbGFuLm5hbWUpICsgIlxuIgorICAgICAg
ICBvdXRwLnB1dHMgIiAgICBwcmludCAiICsgcHJlZml4U3RyaW5nKCJvdXQiLCBwbGFuLm5hbWUp
ICsgIlxuIgorICAgICAgICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAorICAg
ICAgICBvdXRwLnB1dHMgImVsc2VcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4u
c3VjY2Vzc0NvbW1hbmQKKyAgICAgICAgb3V0cC5wdXRzICJlbmRcbiIKKyAgICB9CitlbmQKKwor
IyBFcnJvciBoYW5kbGVyIGZvciB0ZXN0cyB0aGF0IHJlcG9ydCBzdWNjZXNzIGJ5IHNheWluZyAi
UGFzc2VkIiBvciBlcnJvciBieSBzYXlpbmcgIkZBSUxFRCIuCisjIFRoaXMgaXMgdXNlZCBieSBD
aGFrcmEgdGVzdHMuCitkZWYgY2hha3JhUGFzc0ZhaWxFcnJvckhhbmRsZXIKKyAgICBQcm9jLm5l
dyB7CisgICAgICAgIHwgb3V0cCwgcGxhbiB8CisgICAgICAgIG91dHAucHV0cyAiaWYgIXN1Y2Nl
c3NcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQgIiArIHByZWZpeFN0cmluZygib3V0
IiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQgIiArIHBy
ZWZpeFN0cmluZygiXCJFUlJPUjogVW5leHBlY3RlZCBleGl0IGNvZGUgXCN7c3RhdHVzfVxcblwi
IiwgcGxhbi5uYW1lKSArICJcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uZmFp
bENvbW1hbmQKKyAgICAgICAgb3V0cC5wdXRzICJlbHNpZiAvRkFJTEVEL2kgPX4gb3V0XG4iCisg
ICAgICAgIG91dHAucHV0cyAiICAgIHByaW50ICIgKyBwcmVmaXhTdHJpbmcoIlwiRGV0ZWN0ZWQg
ZmFpbHVyZXM6XFxuXCIiLCBwbGFuLm5hbWUpICsgIlxuIgorICAgICAgICBvdXRwLnB1dHMgIiAg
ICBwcmludCAiICsgcHJlZml4U3RyaW5nKCJvdXQiLCBwbGFuLm5hbWUpICsgIlxuIgorICAgICAg
ICBvdXRwLnB1dHMgIiAgICAiICsgcGxhbi5mYWlsQ29tbWFuZAorICAgICAgICBvdXRwLnB1dHMg
ImVsc2VcbiIKKyAgICAgICAgb3V0cC5wdXRzICIgICAgIiArIHBsYW4uc3VjY2Vzc0NvbW1hbmQK
KyAgICAgICAgb3V0cC5wdXRzICJlbmRcbiIKKyAgIH0KK2VuZAorCitjbGFzcyBQbGFuCisgICAg
YXR0cl9yZWFkZXIgOmRpcmVjdG9yeSwgOmFyZ3VtZW50cywgOmZhbWlseSwgOm5hbWUsIDpvdXRw
dXRIYW5kbGVyLCA6ZXJyb3JIYW5kbGVyLCA6YWRkaXRpb25hbEVudgorICAgIGF0dHJfYWNjZXNz
b3IgOmluZGV4CisKKyAgICBkZWYgaW5pdGlhbGl6ZShkaXJlY3RvcnksIGFyZ3VtZW50cywgZmFt
aWx5LCBuYW1lLCBvdXRwdXRIYW5kbGVyLCBlcnJvckhhbmRsZXIpCisgICAgICAgIEBkaXJlY3Rv
cnkgPSBkaXJlY3RvcnkKKyAgICAgICAgQGFyZ3VtZW50cyA9IGFyZ3VtZW50c1sxLi4tMV0KKyAg
ICAgICAgQGZhbWlseSA9IGZhbWlseQorICAgICAgICBAbmFtZSA9IG5hbWUKKyAgICAgICAgQG91
dHB1dEhhbmRsZXIgPSBvdXRwdXRIYW5kbGVyCisgICAgICAgIEBlcnJvckhhbmRsZXIgPSBlcnJv
ckhhbmRsZXIKKyAgICAgICAgQGlzU2xvdyA9ICEhJHJ1bkNvbW1hbmRPcHRpb25zWzppc1Nsb3dd
CisgICAgICAgIEBhZGRpdGlvbmFsRW52ID0gW10KKyAgICBlbmQKKworICAgIGRlZiBzaGVsbENv
bW1hbmQKKyAgICAgICAgbiA9IEBuYW1lLmdzdWIoLyhcXHxcLykvLCAnXycpCisgICAgICAgIHNj
cmlwdCA9ICJvdXQgPSBuaWxcbiIKKyAgICAgICAgc2NyaXB0ICs9ICJlcnIgPSBuaWxcbiIKKyAg
ICAgICAgc2NyaXB0ICs9ICJzdGF0dXMgPSAtMVxuIjsKKyAgICAgICAgc2NyaXB0ICs9ICJzdWNj
ZXNzID0gZmFsc2VcbiIKKyAgICAgICAgc2NyaXB0ICs9ICJGaWxlLm9wZW4oXCIje259LWV4aXRc
IiwgXCJyXCIpIGRvIHxzdGF0fFxuIjsKKyAgICAgICAgc2NyaXB0ICs9ICIgIHN0YXR1cyA9IHN0
YXQuZ2V0cy50b19pXG4iCisgICAgICAgIHNjcmlwdCArPSAiZW5kXG4iCisgICAgICAgIHNjcmlw
dCArPSAiaWYgKHN0YXR1cyA9PSAwKVxuIgorICAgICAgICBzY3JpcHQgKz0gIiAgc3VjY2VzcyA9
IHRydWVcbiIKKyAgICAgICAgc2NyaXB0ICs9ICJlbmRcbiIKKworICAgICAgICBzY3JpcHQgKz0g
Im91dCA9IEZpbGUub3BlbihcIiN7bn0tc3Rkb3V0XCIsIFwiclwiKS5yZWFkXG4iCisgICAgICAg
IHNjcmlwdCArPSAiZXJyID0gRmlsZS5vcGVuKFwiI3tufS1zdGRlcnJcIiwgXCJyXCIpLnJlYWRc
biIKKyAgICAgICAgcmV0dXJuIHNjcmlwdAorICAgIGVuZAorCisgICAgZGVmIHJlcHJvU2NyaXB0
SGVscGVyCisgICAgICAgIHJldHVybiAiIgorICAgIGVuZAorCisgICAgZGVmIHJlcHJvU2NyaXB0
Q29tbWFuZAorICAgICAgICByZXR1cm4gIiIKKyAgICBlbmQKKworICAgIGRlZiBmYWlsQ29tbWFu
ZAorICAgICAgICA8PC1FTkRfRkFJTF9DT01NQU5ECisgICAgICAgICAgICBwcmludCAiRkFJTDog
I3tTaGVsbHdvcmRzLnNoZWxsZXNjYXBlKEBuYW1lKX1cbiIKKyAgICAgICAgICAgIEZpbGVVdGls
cy50b3VjaCgiI3tmYWlsRmlsZX0iKQorICAgICAgICAgICAgI3tyZXByb1NjcmlwdENvbW1hbmR9
CisgICAgICAgIEVORF9GQUlMX0NPTU1BTkQKKyAgICBlbmQKKworICAgIGRlZiBzdWNjZXNzQ29t
bWFuZAorICAgICAgICBpZiAkcHJvZ3Jlc3NNZXRlciBvciAkdmVyYm9zaXR5ID49IDIKKyAgICAg
ICAgICAgIDw8LUVORF9WRVJCT1NFX1NVQ0NFU1NfQ09NTUFORAorICAgICAgICAgICAgICAgIEZp
bGUudW5saW5rKCIje2ZhaWxGaWxlfSIpIGlmIEZpbGUuZXhpc3RzPygiI3tmYWlsRmlsZX0iKQor
ICAgICAgICAgICAgICAgIHByaW50ICJQQVNTOiAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5h
bWUpfVxuIgorICAgICAgICAgICAgRU5EX1ZFUkJPU0VfU1VDQ0VTU19DT01NQU5ECisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICJGaWxlLnVubGluayhcIiN7ZmFpbEZpbGV9XCIpIGlmIEZpbGUu
ZXhpc3RzPyhcIiN7ZmFpbEZpbGV9XCIpXG4iCisgICAgICAgIGVuZAorICAgIGVuZAorCisgICAg
ZGVmIGZhaWxGaWxlCisgICAgICAgICJ0ZXN0X2ZhaWxfI3tAaW5kZXh9IgorICAgIGVuZAorCisg
ICAgZGVmIHN0YXR1c1dyaXRlCisgICAgICAgIDw8LUVORF9TVEFUVVNfV1JJVEUKKyAgICAgICAg
ICAgIGlmICFzdWNjZXNzCisgICAgICAgICAgICAgICAgRmlsZS5vcGVuKCIje2ZhaWxGaWxlfSIs
ICJ3IikgZG8gfGNvZGVfZmlsZXwKKyAgICAgICAgICAgICAgICAgICAgY29kZV9maWxlLnB1dHMg
c3RhdHVzCisgICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICBlbmQKKyAgICAgICAgRU5E
X1NUQVRVU19XUklURQorICAgIGVuZAorCisgICAgZGVmIHdyaXRlUnVuU2NyaXB0KGZpbGVuYW1l
KQorICAgICAgICBqc29uZmlsZXBhcnQgPSBmaWxlbmFtZS5iYXNlbmFtZS50b19zICsgIi5qc29u
IgorICAgICAgICBqc29uZGlyID0gZmlsZW5hbWUuZGlybmFtZS5wYXJlbnQgKyAiLmpzb24iCisg
ICAgICAgIGlmICghanNvbmRpci5leGlzdD8pCisgICAgICAgICAgICBqc29uZGlyLm1rZGlyCisg
ICAgICAgIGVuZAorICAgICAgICBGaWxlLm9wZW4oanNvbmRpciArIGpzb25maWxlcGFydCwgInci
KSB7CisgICAgICAgICAgICB8b3V0cHwKKworICAgICAgICAgICAgYmFzZURpciA9ICgkcnVubmVy
RGlyICsgIi4uIiArIEBkaXJlY3RvcnkpLnJlYWxkaXJwYXRoCisKKyAgICAgICAgICAgIG91dHAu
cHV0cyBKU09OLmdlbmVyYXRlKHsKKyAgICAgICAgICAgICAgICBuYW1lOiBAbmFtZSwKKyAgICAg
ICAgICAgICAgICBvdXRwdXREaXI6ICRydW5uZXJEaXIsCisgICAgICAgICAgICAgICAgYmFzZURp
cjogYmFzZURpciwKKyAgICAgICAgICAgICAgICBlbnY6ICRlbnZWYXJzICsgQGFkZGl0aW9uYWxF
bnYsCisgICAgICAgICAgICAgICAgb3V0cHV0TmFtZTogQG5hbWUuZ3N1YigvKFxcfFwvKS8sICdf
JyksCisgICAgICAgICAgICAgICAgY2hlY2tTY3JpcHQ6IGZpbGVuYW1lLAorICAgICAgICAgICAg
ICAgIGFyZ3M6IEBhcmd1bWVudHMsCisgICAgICAgICAgICAgICAgZmFpbEZpbGU6ICIje2ZhaWxG
aWxlfSIKKyAgICAgICAgICAgIH0pCisgICAgICAgIH0KKworICAgICAgICBGaWxlLm9wZW4oZmls
ZW5hbWUsICJ3IikgeworICAgICAgICAgICAgfCBvdXRwIHwKKyAgICAgICAgICAgICNvdXRwLnB1
dHMgInByaW50IFwiUnVubmluZyAje1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfVxcblwi
IgorICAgICAgICAgICAgb3V0cC5wdXRzICIje3JlcHJvU2NyaXB0SGVscGVyfSIKKyAgICAgICAg
ICAgIG91dHAucHV0cyAiYmVnaW4iCisgICAgICAgICAgICBvdXRwLnB1dHMgInJlcXVpcmUgJ29w
ZW4zJyIKKyAgICAgICAgICAgIG91dHAucHV0cyAicmVxdWlyZSAnZmlsZXV0aWxzJyIKKworICAg
ICAgICAgICAgY21kID0gc2hlbGxDb21tYW5kCisKKyAgICAgICAgICAgIGNtZCArPSBzdGF0dXNX
cml0ZQorCisgICAgICAgICAgICBjbWQgKz0gQG91dHB1dEhhbmRsZXIuY2FsbChAbmFtZSkKKwor
ICAgICAgICAgICAgaWYgJHZlcmJvc2l0eSA+PSAzCisgICAgICAgICAgICAgICAgb3V0cC5wdXRz
ICJwcmludCBcIiN7U2hlbGx3b3Jkcy5zaGVsbGVzY2FwZShjbWQpfVxcblwiIgorICAgICAgICAg
ICAgZW5kCisgICAgICAgICAgICBvdXRwLnB1dHMgY21kCisgICAgICAgICAgICBAZXJyb3JIYW5k
bGVyLmNhbGwob3V0cCwgc2VsZikKKyAgICAgICAgICAgIG91dHAucHV0cyAicmVzY3VlIFJ1bnRp
bWVFcnJvciA9PiBlIgorICAgICAgICAgICAgb3V0cC5wdXRzICIgICAgcHJpbnQgXCJGQUlMOiAj
e1NoZWxsd29yZHMuc2hlbGxlc2NhcGUoQG5hbWUpfVxcblwiIgorICAgICAgICAgICAgb3V0cC5w
dXRzICIgICAgRmlsZVV0aWxzLnRvdWNoKFwiI3tmYWlsRmlsZX1cIikiCisgICAgICAgICAgICBv
dXRwLnB1dHMgImVuZCIKKyAgICAgICAgfQorICAgIGVuZAorZW5kCisKK2RlZiBwcmVwYXJlUGxh
eVN0YXRpb25UZXN0UnVubmVyCisgICAgRmlsZS5vcGVuKCRydW5uZXJEaXIgKyAicnVuc2NyaXB0
IiwgInciKSB7CisgICAgICAgIHwgb3V0cCB8CisgICAgICAgICRydW5saXN0LmVhY2ggeworICAg
ICAgICAgICAgfCBwbGFuIHwKKyAgICAgICAgICAgIG91dHAucHV0cyAiLi4vLmpzb24vdGVzdF9z
Y3JpcHRfI3twbGFuLmluZGV4fS5qc29uIgorICAgICAgICB9CisgICAgfQorZW5kCisKK2RlZiBw
cmVwYXJlU2hlbGxUZXN0UnVubmVyCisgICAgcHJlcGFyZVBsYXlTdGF0aW9uVGVzdFJ1bm5lcgor
ZW5kCisKK2RlZiBwcmVwYXJlTWFrZVRlc3RSdW5uZXIocmVtb3RlSW5kZXgpCisgICAgcHJlcGFy
ZVBsYXlTdGF0aW9uVGVzdFJ1bm5lcgorZW5kCisKK2RlZiBwcmVwYXJlUnVieVRlc3RSdW5uZXIK
KyAgICBwcmVwYXJlUGxheVN0YXRpb25UZXN0UnVubmVyCitlbmQKKworZGVmIHRlc3RSdW5uZXJD
b21tYW5kCisgICAgb3B0aW9ucyA9IEVOVlsiSlNDVEVTVF9vcHRpb25zIl0KKworICAgIGZzUm9v
dCA9ICRqc2NQYXRoLmRpcm5hbWUKKyAgICBjb21tYW5kID0gIlBsYXlTdGF0aW9uVGVzdFJ1bm5l
ciAje29wdGlvbnN9IC1udW1Qcm9jZXNzZXM9I3skbnVtQ2hpbGRQcm9jZXNzZXMudG9fc30gLWV4
ZT0jeyRqc2NQYXRofSAtZnNyb290PSN7ZnNSb290fSBAI3skcnVubmVyRGlyfS9ydW5zY3JpcHQi
CisKKyAgICBwcmludCBjb21tYW5kCisKKyAgICByZXR1cm4gY29tbWFuZAorZW5kCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>