<?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>201996</bug_id>
          
          <creation_ts>2019-09-19 12:21:47 -0700</creation_ts>
          <short_desc>[FTW] Enable WebKitTestRunner build</short_desc>
          <delta_ts>2019-09-19 21:57:17 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=202021</see_also>
          <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>
          
          <blocked>161817</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>pvollan</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1572432</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-19 12:21:47 -0700</bug_when>
    <thetext>It&apos;s time to get the test system up and running. This patch does the following:

1. Adds relevant CMake files to get things building.
2. Adds a &quot;--ftw&quot; flag to the build scripts that will trigger a relevant build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572530</commentid>
    <comment_count>1</comment_count>
      <attachid>379175</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-19 16:31:01 -0700</bug_when>
    <thetext>Created attachment 379175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572531</commentid>
    <comment_count>2</comment_count>
      <attachid>379175</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-19 16:34:06 -0700</bug_when>
    <thetext>Comment on attachment 379175
Patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:877
&gt; +#if USE(CF) &amp;&amp; !PLATFORM(WIN_CAIRO) &amp;&amp; !USE(DIRECT2D)

Maybe this should just be:

#if USE(CF) &amp;&amp; !OS(WINDOWS) ? This isn&apos;t build for the AppleWin port, either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572607</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-09-19 19:50:29 -0700</bug_when>
    <thetext>Note: These changes revealed Bug 202021.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572639</commentid>
    <comment_count>4</comment_count>
      <attachid>379175</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-19 21:56:02 -0700</bug_when>
    <thetext>Comment on attachment 379175
Patch

Clearing flags on attachment: 379175

Committed r250121: &lt;https://trac.webkit.org/changeset/250121&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572640</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-19 21:56:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572641</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-19 21:57:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/55547688&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379175</attachid>
            <date>2019-09-19 16:31:01 -0700</date>
            <delta_ts>2019-09-19 21:56:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201996-20190919163059.patch</filename>
            <type>text/plain</type>
            <size>26176</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MDEwNykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM4IEBACisyMDE5LTA5LTE5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtGVFddIEVuYWJsZSBXZWJLaXRUZXN0UnVubmVyIGJ1aWxkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE5OTYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCdzIHRpbWUgdG8gc3Rh
cnQgZ2V0dGluZyB0aGUgdGVzdCBzeXN0ZW0gdXAgYW5kIHJ1bm5pbmcgZm9yIEZUVy4KKworICAg
ICAgICBUaGlzIHBhdGNoIGRvZXMgdGhlIGZvbGxvd2luZzoKKworICAgICAgICAxLiBBZGRzIHJl
bGV2YW50IENNYWtlIGNoYW5nZXMgdG8gZ2V0IHRoaW5ncyBidWlsZGluZy4KKyAgICAgICAgMi4g
QWRkcyBhICItLWZ0dyIgZmxhZyB0byB0aGUgYnVpbGQgc2NyaXB0cyB0aGF0IHdpbGwgdHJpZ2dl
ciBhIHJlbGV2YW50IGJ1aWxkLgorICAgICAgICAzLiBVcGRhdGVzICd3ZWJraXRweScgdG8gcmVj
b2duaXplIHRoZSAnZnR3JyBwb3J0LgorCisgICAgICAgIE5vdGU6IFBpeGVsIHRlc3RzIGFyZSBu
b3QgeWV0IHN1cHBvcnRlZC4KKworICAgICAgICAqIFBsYXRmb3JtRlRXLmNtYWtlOiBCdWlsZCB0
aGUgV0syIHRlc3QgcnVubmVyLgorICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OiBVcGRh
dGUgdG8gcmVjb2duaXplIHRoZSBGVFcgcG9ydC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRp
cnMucG06IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC93ZWJraXRkaXJzX3Vu
aXR0ZXN0L2V4dHJhY3ROb25NYWNPU0hvc3RDb25maWd1cmF0aW9uLnBsOiBEaXR0by4KKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHk6IERpdHRvLgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0c191bml0dGVzdC5weTog
RGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vdmVyc2lvbl9uYW1lX21h
cC5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2ZhY3RvcnkucHk6
IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHk6IERpdHRvLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpkdW1wRE9NQXNXZWJB
cmNoaXZlKTogRG9uJ3QgYnVpbGQgb3IgcnVuIHRoaXMgbWV0aG9kCisgICAgICAgIG9uIFdpbmRv
d3MuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUZUVy5jbWFrZTogQWRkZWQu
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaDoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL3dpbi9QbGF0Zm9ybVdlYlZpZXdXaW4uY3BwOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvd2luL1Rlc3RJbnZvY2F0aW9uRGlyZWN0MkQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmR1bXBQaXhlbHNBbmRDb21wYXJlV2l0aEV4
cGVjdGVkKTogQWRkIHN0dWIgaW1wbGVtZW50YXRpb24uCisKIDIwMTktMDktMTkgIFJ5YW4gSGFk
ZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogW2lPUyAx
Mz9dIFRlc3RXZWJLaXRBUEkuU2hhcmVkQnVmZmVyVGVzdC50cnlDcmVhdGVBcnJheUJ1ZmZlckxh
cmdlU2VnbWVudHMgaXMgZmFpbGluZwpJbmRleDogVG9vbHMvUGxhdGZvcm1GVFcuY21ha2UKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvUGxhdGZvcm1GVFcuY21ha2UJKHJldmlzaW9uIDI1MDEwMykKKysr
IFRvb2xzL1BsYXRmb3JtRlRXLmNtYWtlCSh3b3JraW5nIGNvcHkpCkBAIC01LDYgKzUsNiBAQCBp
ZiAoRU5BQkxFX1dFQktJVF9MRUdBQ1kpCiAgICAgYWRkX3N1YmRpcmVjdG9yeShNaW5pQnJvd3Nl
ci93aW4pCiBlbmRpZiAoKQogCi0jaWYgKEVOQUJMRV9XRUJLSVQpCi0jICAgIGFkZF9zdWJkaXJl
Y3RvcnkoV2ViS2l0VGVzdFJ1bm5lcikKLSNlbmRpZiAoKQoraWYgKEVOQUJMRV9XRUJLSVQpCisg
ICAgYWRkX3N1YmRpcmVjdG9yeShXZWJLaXRUZXN0UnVubmVyKQorZW5kaWYgKCkKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvYnVp
bGQtd2Via2l0CShyZXZpc2lvbiAyNTAxMDMpCisrKyBUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtp
dAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKICMhL3Vzci9iaW4vZW52IHBlcmwKIAot
IyBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEs
IDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5
cmlnaHQgKEMpIDIwMDUtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENv
cHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5
cmlnaHQgKEMpIDIwMTAgbW9pamktbW9iaWxlLmNvbSBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBD
b3B5cmlnaHQgKEMpIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCkBAIC0xMTgsNiArMTE4LDcgQEAgVXNhZ2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9u
c10gW29wdGlvbnMgdAogICAtLWx0by1tb2RlPTxtb2RlPiAgICAgICAgICAgICAgICAgU2V0IExp
bmsgVGltZSBPcHRpbWl6YXRpb24gbW9kZSAoZnVsbCwgdGhpbiwgb3Igbm9uZSkgKExMVk0gb25s
eSkKICAgLS1bbm8tXXhjYnVpbGQgICAgICAgICAgICAgICAgICAgIEZvcmNlIHRoZSB1c2Ugb2Yg
WENCdWlsZCBvciBub3QKIAorICAtLWZ0dyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVp
bGQgdGhlIEZUVyBXaW5kb3dzIHBvcnQKICAgLS1ndGsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEJ1aWxkIHRoZSBHVEsrIHBvcnQKICAgLS13cGUgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEJ1aWxkIHRoZSBXUEUgcG9ydAogICAtLXdpbmNhaXJvICAgICAgICAgICAgICAgICAgICAg
ICAgQnVpbGQgdXNpbmcgQ2Fpcm8gKHJhdGhlciB0aGFuIENvcmVHcmFwaGljcykgb24gV2luZG93
cwpAQCAtMTg5LDcgKzE5MCw3IEBAIG15ICRwcm9kdWN0RGlyID0gcHJvZHVjdERpcigpOwogbXkg
QHByb2plY3RzID0gKCJTb3VyY2UvSmF2YVNjcmlwdENvcmUiLCAiU291cmNlL1dlYkNvcmUiLCAi
U291cmNlL1dlYktpdExlZ2FjeSIpOwogCiAjIEJ1aWxkIFdURiBhcyBhIHNlcGFyYXRlIHN0YXRp
YyBsaWJyYXJ5IG9uIHBvcnRzIHdoaWNoIHN1cHBvcnQgaXQuCi1zcGxpY2UgQHByb2plY3RzLCAw
LCAwLCAiU291cmNlL1dURiIgaWYgaXNBcHBsZVdlYktpdCgpIG9yIGlzV2luQ2Fpcm8oKTsKK3Nw
bGljZSBAcHJvamVjdHMsIDAsIDAsICJTb3VyY2UvV1RGIiBpZiBpc0FwcGxlV2ViS2l0KCkgb3Ig
aXNXaW5DYWlybygpIG9yIGlzRlRXKCk7CiAKIHNwbGljZSBAcHJvamVjdHMsIDAsIDAsICJTb3Vy
Y2UvYm1hbGxvYyIgaWYgaXNBcHBsZUNvY29hV2ViS2l0KCk7CiAKQEAgLTIwMiw3ICsyMDMsNyBA
QCBpZiAoIWlzQ01ha2VCdWlsZCgpKSB7CiAgICAgfQogfQogCi1pZiAoKGlzQXBwbGVXZWJLaXQo
KSB8fCBpc1dpbkNhaXJvKCkgfHwgaXNQbGF5U3RhdGlvbigpKSAmJiAhLWQgIldlYktpdExpYnJh
cmllcyIpIHsKK2lmICgoaXNBcHBsZVdlYktpdCgpIHx8IGlzV2luQ2Fpcm8oKSB8fCBpc1BsYXlT
dGF0aW9uKCkgfHwgaXNGVFcoKSkgJiYgIS1kICJXZWJLaXRMaWJyYXJpZXMiKSB7CiAgICAgZGll
ICJFcnJvcjogTm8gV2ViS2l0TGlicmFyaWVzIGRpcmVjdG9yeSBmb3VuZC4gUGxlYXNlIGRvIGEg
ZnJlc2ggY2hlY2tvdXQuXG4iOwogfQogCkBAIC0zMDYsNyArMzA3LDcgQEAgaWYgKGlzQ01ha2VC
dWlsZCgpICYmICFpc0FueVdpbmRvd3MoKSkgewogfQogCiBteSAkYmFzZVByb2R1Y3REaXIgPSBi
YXNlUHJvZHVjdERpcigpOwotaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSB8fCBpc1dpbkNhaXJvKCkg
fHwgaXNQbGF5U3RhdGlvbigpKSB7CitpZiAoaXNBcHBsZVdpbldlYktpdCgpIHx8IGlzV2luQ2Fp
cm8oKSB8fCBpc1BsYXlTdGF0aW9uKCkgfHwgaXNGVFcoKSkgewogICAgIG15IEBmZWF0dXJlQXJn
cyA9IGNtYWtlQXJnc0Zyb21GZWF0dXJlcyhAZmVhdHVyZXMsICEkbm9FeHBlcmltZW50YWxGZWF0
dXJlcyk7CiAgICAgcmVtb3ZlQ01ha2VDYWNoZShAZmVhdHVyZUFyZ3MpOwogCkBAIC0zMjYsNyAr
MzI3LDcgQEAgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSB8fCBpc1dpbkNhaXJvKCkgfAogICAgIH0K
ICAgICBpZiAoZXhpdFN0YXR1cygkcmVzdWx0KSkgewogICAgICAgICBteSAkc2NyaXB0RGlyID0g
cmVsYXRpdmVTY3JpcHRzRGlyKCk7Ci0gICAgICAgIGlmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwg
aXNXaW5DYWlybygpKSB7CisgICAgICAgIGlmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNXaW5D
YWlybygpIHx8IGlzRlRXKCkpIHsKICAgICAgICAgICAgIHByaW50ICJcblxuPT09PT0gQlVJTEQg
RkFJTEVEID09PT09PVxuXG4iOwogICAgICAgICAgICAgcHJpbnQgIlBsZWFzZSBlbnN1cmUgeW91
IGhhdmUgcnVuICRzY3JpcHREaXIvdXBkYXRlLXdlYmtpdCB0byBpbnN0YWxsIGRlcGVuZGVuY2ll
cy5cblxuIjsKICAgICAgICAgICAgIHByaW50ICJZb3UgY2FuIHZpZXcgYnVpbGQgZXJyb3JzIGJ5
IGNoZWNraW5nIHRoZSBCdWlsZExvZy5odG0gZmlsZXMgbG9jYXRlZCBhdDpcbiRiYXNlUHJvZHVj
dERpci9vYmovPHByb2plY3Q+Lzxjb25maWc+LlxuIjsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Vi
a2l0ZGlycy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0JKHJl
dmlzaW9uIDI1MDEwMykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQkod29ya2luZyBj
b3B5KQpAQCAtMTA1LDYgKzEwNSw3IEBAIEJFR0lOIHsKICMgUG9ydHMKIHVzZSBjb25zdGFudCB7
CiAgICAgQXBwbGVXaW4gICAgPT4gIkFwcGxlV2luIiwKKyAgICBGVFcgICAgICAgICA9PiAiRlRX
IiwKICAgICBHVEsgICAgICAgICA9PiAiR1RLIiwKICAgICBpT1MgICAgICAgICA9PiAiaU9TIiwK
ICAgICB0dk9TICAgICAgICA9PiAidHZPUyIsCkBAIC00OTQsNiArNDk1LDggQEAgc3ViIGFyZ3Vt
ZW50c0ZvckNvbmZpZ3VyYXRpb24oKQogICAgIHB1c2goQGFyZ3MsICctLW1hY2NhdGFseXN0Jykg
aWYgKGRlZmluZWQgJHhjb2RlU0RLICYmICR4Y29kZVNESyA9fiAvXm1hY2NhdGFseXN0Lyk7CiAg
ICAgcHVzaChAYXJncywgJy0tMzItYml0JykgaWYgKCRhcmNoaXRlY3R1cmUgZXEgIng4NiIgYW5k
ICFpc1dpbjY0KCkpOwogICAgIHB1c2goQGFyZ3MsICctLTY0LWJpdCcpIGlmIChpc1dpbjY0KCkp
OworICAgIHB1c2goQGFyZ3MsICctLTY0LWJpdCcpIGlmIChpc0ZUVygpKTsKKyAgICBwdXNoKEBh
cmdzLCAnLS1mdHcnKSBpZiBpc0ZUVygpOwogICAgIHB1c2goQGFyZ3MsICctLWd0aycpIGlmIGlz
R3RrKCk7CiAgICAgcHVzaChAYXJncywgJy0td3BlJykgaWYgaXNXUEUoKTsKICAgICBwdXNoKEBh
cmdzLCAnLS1qc2Mtb25seScpIGlmIGlzSlNDT25seSgpOwpAQCAtNTA1LDcgKzUwOCw3IEBAIHN1
YiBhcmd1bWVudHNGb3JDb25maWd1cmF0aW9uKCkKIHN1YiBleHRyYWN0Tm9uTWFjT1NIb3N0Q29u
ZmlndXJhdGlvbgogewogICAgIG15IEBhcmdzID0gKCk7Ci0gICAgbXkgQGV4dHJhY3QgPSAoJy0t
ZGV2aWNlJywgJy0tZ3RrJywgJy0taW9zJywgJy0tcGxhdGZvcm0nLCAnLS1zZGsnLCAnLS1zaW11
bGF0b3InLCAnLS13aW5jYWlybycsICdTREtST09UJywgJ0FSQ0hTJyk7CisgICAgbXkgQGV4dHJh
Y3QgPSAoJy0tZGV2aWNlJywgJy0tZ3RrJywgJy0taW9zJywgJy0tcGxhdGZvcm0nLCAnLS1zZGsn
LCAnLS1zaW11bGF0b3InLCAnLS13aW5jYWlybycsICctLWZ0dycsICdTREtST09UJywgJ0FSQ0hT
Jyk7CiAgICAgZm9yZWFjaCAoQHskX1swXX0pIHsKICAgICAgICAgbXkgJGxpbmUgPSAkXzsKICAg
ICAgICAgbXkgJGZsYWcgPSAwOwpAQCAtNzEyLDcgKzcxNSw3IEBAIHN1YiB1c2VzUGVyQ29uZmln
dXJhdGlvbkJ1aWxkRGlyZWN0b3J5CiAgICAgIyBhdXRvdG9vbCBidWlsZHMgKG5vbiBidWlsZC13
ZWJraXQpLiBJbiB0aGlzIGNhc2UgYW5kIGlmCiAgICAgIyBXRUJLSVRfT1VUUFVURElSIGV4aXN0
LCB1c2UgdGhhdCBhcyBvdXIgY29uZmlndXJhdGlvbiBkaXIuIFRoaXMgd2lsbAogICAgICMgYWxs
b3dzIHVzIHRvIHJ1biBydW4td2Via2l0LXRlc3RzIHdpdGhvdXQgdXNpbmcgYnVpbGQtd2Via2l0
LgotICAgIHJldHVybiAoJEVOVnsiV0VCS0lUX09VVFBVVERJUiJ9ICYmIGlzR3RrKCkpIHx8IGlz
QXBwbGVXaW5XZWJLaXQoKTsKKyAgICByZXR1cm4gKCRFTlZ7IldFQktJVF9PVVRQVVRESVIifSAm
JiBpc0d0aygpKSB8fCBpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNGVFcoKTsKIH0KIAogc3ViIGRl
dGVybWluZUNvbmZpZ3VyYXRpb25Qcm9kdWN0RGlyCkBAIC03MjAsNyArNzIzLDcgQEAgc3ViIGRl
dGVybWluZUNvbmZpZ3VyYXRpb25Qcm9kdWN0RGlyCiAgICAgcmV0dXJuIGlmIGRlZmluZWQgJGNv
bmZpZ3VyYXRpb25Qcm9kdWN0RGlyOwogICAgIGRldGVybWluZUJhc2VQcm9kdWN0RGlyKCk7CiAg
ICAgZGV0ZXJtaW5lQ29uZmlndXJhdGlvbigpOwotICAgIGlmIChpc0FwcGxlV2luV2ViS2l0KCkg
fHwgaXNXaW5DYWlybygpIHx8IGlzUGxheVN0YXRpb24oKSkgeworICAgIGlmIChpc0FwcGxlV2lu
V2ViS2l0KCkgfHwgaXNXaW5DYWlybygpIHx8IGlzUGxheVN0YXRpb24oKSB8fCBpc0ZUVygpKSB7
CiAgICAgICAgICRjb25maWd1cmF0aW9uUHJvZHVjdERpciA9IEZpbGU6OlNwZWMtPmNhdGRpcigk
YmFzZVByb2R1Y3REaXIsICRjb25maWd1cmF0aW9uKTsKICAgICB9IGVsc2UgewogICAgICAgICBp
ZiAodXNlc1BlckNvbmZpZ3VyYXRpb25CdWlsZERpcmVjdG9yeSgpKSB7CkBAIC0xMDQ2LDcgKzEw
NDksNyBAQCBzdWIgYnVpbHREeWxpYlBhdGhGb3JOYW1lCiAgICAgaWYgKGlzQXBwbGVDb2NvYVdl
YktpdCgpKSB7CiAgICAgICAgIHJldHVybiAiJGNvbmZpZ3VyYXRpb25Qcm9kdWN0RGlyLyRsaWJy
YXJ5TmFtZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS8kbGlicmFyeU5hbWUiOwogICAgIH0KLSAgICBp
ZiAoaXNBcHBsZVdpbldlYktpdCgpKSB7CisgICAgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSB8fCBp
c0ZUVygpKSB7CiAgICAgICAgIGlmICgkbGlicmFyeU5hbWUgZXEgIkphdmFTY3JpcHRDb3JlIikg
ewogICAgICAgICAgICAgcmV0dXJuICIkYmFzZVByb2R1Y3REaXIvbGliLyRsaWJyYXJ5TmFtZS5s
aWIiOwogICAgICAgICB9IGVsc2UgewpAQCAtMTE2OCw2ICsxMTcxLDcgQEAgc3ViIGRldGVybWlu
ZVBvcnROYW1lKCkKICAgICByZXR1cm4gaWYgZGVmaW5lZCAkcG9ydE5hbWU7CiAKICAgICBteSAl
YXJnVG9Qb3J0TmFtZSA9ICgKKyAgICAgICAgZnR3ID0+IEZUVywKICAgICAgICAgZ3RrID0+IEdU
SywKICAgICAgICAgJ2pzYy1vbmx5JyA9PiBKU0NPbmx5LAogICAgICAgICBwbGF5c3RhdGlvbiA9
PiBQbGF5U3RhdGlvbiwKQEAgLTEyNTcsNiArMTI2MSwxMSBAQCBzdWIgaXNGZWRvcmFCYXNlZCgp
CiAgICAgcmV0dXJuIC1lICIvZXRjL2ZlZG9yYS1yZWxlYXNlIjsKIH0KIAorc3ViIGlzRlRXKCkK
K3sKKyAgICByZXR1cm4gcG9ydE5hbWUoKSBlcSBGVFc7Cit9CisKIHN1YiBpc1dpbkNhaXJvKCkK
IHsKICAgICByZXR1cm4gcG9ydE5hbWUoKSBlcSBXaW5DYWlybzsKQEAgLTEyODMsNyArMTI5Miw3
IEBAIHN1YiBpc1dpbjY0KCkKIHN1YiBkZXRlcm1pbmVJc1dpbjY0KCkKIHsKICAgICByZXR1cm4g
aWYgZGVmaW5lZCgkaXNXaW42NCk7Ci0gICAgJGlzV2luNjQgPSBjaGVja0ZvckFyZ3VtZW50QW5k
UmVtb3ZlRnJvbUFSR1YoIi0tNjQtYml0IikgfHwgKChpc1dpbkNhaXJvKCkgfHwgaXNKU0NPbmx5
KCkpICYmICFzaG91bGRCdWlsZDMyQml0KCkpOworICAgICRpc1dpbjY0ID0gY2hlY2tGb3JBcmd1
bWVudEFuZFJlbW92ZUZyb21BUkdWKCItLTY0LWJpdCIpIHx8ICgoaXNGVFcoKSB8fCBpc1dpbkNh
aXJvKCkgfHwgaXNKU0NPbmx5KCkpICYmICFzaG91bGRCdWlsZDMyQml0KCkpOwogfQogCiBzdWIg
ZGV0ZXJtaW5lSXNXaW42NEZyb21BcmNoaXRlY3R1cmUoJCkKQEAgLTE2OTMsNyArMTcwMiw3IEBA
IHN1YiBsYXVuY2hlck5hbWUoKQogICAgICAgICByZXR1cm4gIk1pbmlCcm93c2VyIjsKICAgICB9
IGVsc2lmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKICAgICAgICAgcmV0dXJuICJTYWZhcmkiOwot
ICAgIH0gZWxzaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkgeworICAgIH0gZWxzaWYgKGlzQXBwbGVX
aW5XZWJLaXQoKSB8fCBpc0ZUVygpKSB7CiAgICAgICAgIHJldHVybiAiTWluaUJyb3dzZXIiOwog
ICAgIH0KIH0KQEAgLTE3OTYsNyArMTgwNSw3IEBAIHN1YiBjaGVja0luc3RhbGxlZFRvb2xzKCkK
IAogc3ViIHNldHVwQXBwbGVXaW5FbnYoKQogewotICAgIHJldHVybiB1bmxlc3MgaXNBcHBsZVdp
bldlYktpdCgpOworICAgIHJldHVybiB1bmxlc3MgaXNBcHBsZVdpbldlYktpdCgpIHx8IGlzRlRX
KCk7CiAKICAgICBjaGVja0luc3RhbGxlZFRvb2xzKCk7CiAKQEAgLTIyNjAsNyArMjI2OSw3IEBA
IHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNNYWtlUHJvamVjdAogICAgIHB1c2ggQGFyZ3Ms
ICctRFNIT1dfQklORElOR1NfR0VORVJBVElPTl9QUk9HUkVTUz0xJyB1bmxlc3MgKCR3aWxsVXNl
TmluamEgJiYgLXQgU1RET1VUKTsKIAogICAgICMgU29tZSBwb3J0cyBoYXZlIHByb2R1Y3Rpb24g
bW9kZSwgYnV0IGJ1aWxkLXdlYmtpdCBzaG91bGQgYWx3YXlzIHVzZSBkZXZlbG9wZXIgbW9kZS4K
LSAgICBwdXNoIEBhcmdzLCAiLURERVZFTE9QRVJfTU9ERT1PTiIgaWYgaXNHdGsoKSB8fCBpc0pT
Q09ubHkoKSB8fCBpc1dQRSgpIHx8IGlzV2luQ2Fpcm8oKTsKKyAgICBwdXNoIEBhcmdzLCAiLURE
RVZFTE9QRVJfTU9ERT1PTiIgaWYgaXNGVFcoKSB8fCBpc0d0aygpIHx8IGlzSlNDT25seSgpIHx8
IGlzV1BFKCkgfHwgaXNXaW5DYWlybygpOwogCiAgICAgaWYgKGFyY2hpdGVjdHVyZSgpIGVxICJ4
ODZfNjQiICYmIHNob3VsZEJ1aWxkMzJCaXQoKSkgewogICAgICAgICAjIENNQUtFX0xJQlJBUllf
QVJDSElURUNUVVJFIGlzIG5lZWRlZCB0byBnZXQgdGhlIHJpZ2h0IC5wYwpAQCAtMjQyNyw3ICsy
NDM2LDcgQEAgc3ViIHNldFBhdGhGb3JSdW5uaW5nV2ViS2l0QXBwCiAKICAgICBpZiAoaXNBbnlX
aW5kb3dzKCkpIHsKICAgICAgICAgbXkgJHByb2R1Y3RCaW5hcnlEaXIgPSBleGVjdXRhYmxlUHJv
ZHVjdERpcigpOwotICAgICAgICBpZiAoaXNBcHBsZVdpbldlYktpdCgpKSB7CisgICAgICAgIGlm
IChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNGVFcoKSkgewogICAgICAgICAgICAgJGVudi0+e1BB
VEh9ID0gam9pbignOicsICRwcm9kdWN0QmluYXJ5RGlyLCBhcHBsZUFwcGxpY2F0aW9uU3VwcG9y
dFBhdGgoKSwgJGVudi0+e1BBVEh9IHx8ICIiKTsKICAgICAgICAgfSBlbHNpZiAoaXNXaW5DYWly
bygpKSB7CiAgICAgICAgICAgICBteSAkd2luQ2Fpcm9CaW4gPSBzb3VyY2VEaXIoKSAuICIvV2Vi
S2l0TGlicmFyaWVzL3dpbi8iIC4gKGlzV2luNjQoKSA/ICJiaW42NC8iIDogImJpbjMyLyIpOwpA
QCAtMjg4NCw3ICsyODkzLDcgQEAgc3ViIHJ1blNhZmFyaQogICAgICAgICByZXR1cm4gcnVuTWFj
V2ViS2l0QXBwKHNhZmFyaVBhdGgoKSk7CiAgICAgfQogCi0gICAgaWYgKGlzQXBwbGVXaW5XZWJL
aXQoKSkgeworICAgIGlmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNGVFcoKSkgewogICAgICAg
ICBteSAkcmVzdWx0OwogICAgICAgICBteSAkd2ViS2l0TGF1bmNoZXJQYXRoID0gRmlsZTo6U3Bl
Yy0+Y2F0ZmlsZShleGVjdXRhYmxlUHJvZHVjdERpcigpLCAiTWluaUJyb3dzZXIuZXhlIik7CiAg
ICAgICAgIHJldHVybiBzeXN0ZW0geyAkd2ViS2l0TGF1bmNoZXJQYXRoIH0gJHdlYktpdExhdW5j
aGVyUGF0aCwgQEFSR1Y7CkBAIC0yODk4LDcgKzI5MDcsNyBAQCBzdWIgcnVuTWluaUJyb3dzZXIK
ICAgICBpZiAoaXNBcHBsZU1hY1dlYktpdCgpKSB7CiAgICAgICAgIHJldHVybiBydW5NYWNXZWJL
aXRBcHAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShwcm9kdWN0RGlyKCksICJNaW5pQnJvd3Nlci5hcHAi
LCAiQ29udGVudHMiLCAiTWFjT1MiLCAiTWluaUJyb3dzZXIiKSk7CiAgICAgfQotICAgIGlmIChp
c0FwcGxlV2luV2ViS2l0KCkpIHsKKyAgICBpZiAoaXNBcHBsZVdpbldlYktpdCgpIHx8IGlzRlRX
KCkpIHsKICAgICAgICAgbXkgJHdlYktpdExhdW5jaGVyUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZp
bGUoZXhlY3V0YWJsZVByb2R1Y3REaXIoKSwgIk1pbmlCcm93c2VyLmV4ZSIpOwogICAgICAgICBy
ZXR1cm4gc3lzdGVtIHsgJHdlYktpdExhdW5jaGVyUGF0aCB9ICR3ZWJLaXRMYXVuY2hlclBhdGgs
IEBBUkdWOwogICAgIH0KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC93ZWJraXRkaXJz
X3VuaXR0ZXN0L2V4dHJhY3ROb25NYWNPU0hvc3RDb25maWd1cmF0aW9uLnBsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC93ZWJraXRkaXJzX3VuaXR0ZXN0L2V4dHJhY3RO
b25NYWNPU0hvc3RDb25maWd1cmF0aW9uLnBsCShyZXZpc2lvbiAyNTAxMDMpCisrKyBUb29scy9T
Y3JpcHRzL3dlYmtpdHBlcmwvd2Via2l0ZGlyc191bml0dGVzdC9leHRyYWN0Tm9uTWFjT1NIb3N0
Q29uZmlndXJhdGlvbi5wbAkod29ya2luZyBjb3B5KQpAQCAtOTIsNiArOTIsMTEgQEAgbXkgQHRl
c3RDYXNlcyA9ICgKICAgICBleHBlY3RlZFZhbHVlID0+IFsiLS1kZWJ1ZyIsICJBUkNIUz14ODZf
NjQiXSwKICAgICBkZXNjcmlwdGlvbiA9PiAiRGVidWcgNjQtYml0IGJ1aWxkIiwKIH0sCit7Cisg
ICAgYXJnVmFsdWUgPT4gWyItLWRlYnVnIiwgIi0tZnR3Il0sCisgICAgZXhwZWN0ZWRWYWx1ZSA9
PiBbIi0tZGVidWciXSwKKyAgICBkZXNjcmlwdGlvbiA9PiAiRGVidWcgd2l0aCBGVFciLAorfSwK
ICk7CiAKIHBsYW4odGVzdHMgPT4gMSAqIEB0ZXN0Q2FzZXMpOwpJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vdmVyc2lvbl9uYW1lX21hcC5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi92ZXJzaW9uX25hbWVfbWFwLnB5CShyZXZpc2lvbiAy
NTAxMDMpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi92ZXJzaW9uX25hbWVfbWFw
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4MiwxMCBAQCBjbGFzcyBWZXJzaW9uTmFtZU1h
cChvYmplY3QpOgogICAgICAgICAjIHdpbmNhaXJvIHVzZXMgdGhlIHNhbWUgdmVyc2lvbnMgYXMg
V2luZG93cwogICAgICAgICBzZWxmLm1hcHBpbmdbUFVCTElDX1RBQkxFXVsnd2luY2Fpcm8nXSA9
IHNlbGYubWFwcGluZ1tQVUJMSUNfVEFCTEVdWyd3aW4nXQogCisgICAgICAgICMgRlRXIHVzZXMg
dGhlIHNhbWUgdmVyc2lvbnMgYXMgV2luZG93cworICAgICAgICBzZWxmLm1hcHBpbmdbUFVCTElD
X1RBQkxFXVsnZnR3J10gPSBzZWxmLm1hcHBpbmdbUFVCTElDX1RBQkxFXVsnd2luJ10KKworCiAg
ICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9hdXRvbWFwX3RvX21ham9yX3ZlcnNpb24oY2xzLCBw
cmVmaXgsIG1pbmltdW09VmVyc2lvbigxKSwgbWF4aW11bT1WZXJzaW9uKDEpKToKICAgICAgICAg
cmVzdWx0ID0ge30KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9w
b3J0cy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvcG9ydHMucHkJKHJldmlzaW9uIDI1MDEwMykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NvbmZpZy9wb3J0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKICMg
Q29weXJpZ2h0IChDKSAyMDA5LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBD
b3B5cmlnaHQgKEMpIDIwMTMgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpLgotIyBDb3B5cmlnaHQgKEMpIDIwMTUsIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC02Myw2ICs2
Myw3IEBAIGNsYXNzIERlcHJlY2F0ZWRQb3J0KG9iamVjdCk6CiAgICAgQHN0YXRpY21ldGhvZAog
ICAgIGRlZiBwb3J0KHBvcnRfbmFtZSk6CiAgICAgICAgIHBvcnRzID0geworICAgICAgICAgICAg
ImZ0dyI6IEZUV1BvcnQsCiAgICAgICAgICAgICAiZ3RrLXdrMiI6IEd0a1dLMlBvcnQsCiAgICAg
ICAgICAgICAiaW9zLWRldmljZSI6IElPU1BvcnQsCiAgICAgICAgICAgICAjIEZJWE1FOiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MzAyCkBAIC0yMDQsNiArMjA1
LDIwIEBAIGNsYXNzIFdpbkNhaXJvUG9ydChEZXByZWNhdGVkUG9ydCk6CiAgICAgICAgIHJldHVy
biBjb21tYW5kCiAKIAorY2xhc3MgRlRXUG9ydChEZXByZWNhdGVkUG9ydCk6CisgICAgcG9ydF9m
bGFnX25hbWUgPSAiZnR3IgorCisgICAgZGVmIGJ1aWxkX3dlYmtpdF9jb21tYW5kKHNlbGYsIGJ1
aWxkX3N0eWxlPU5vbmUpOgorICAgICAgICBjb21tYW5kID0gc3VwZXIoRlRXUG9ydCwgc2VsZiku
YnVpbGRfd2Via2l0X2NvbW1hbmQoYnVpbGRfc3R5bGU9YnVpbGRfc3R5bGUpCisgICAgICAgIGNv
bW1hbmQuYXBwZW5kKCctLWZ0dycpCisgICAgICAgIHJldHVybiBjb21tYW5kCisKKyAgICBkZWYg
cnVuX3dlYmtpdF90ZXN0c19jb21tYW5kKHNlbGYsIGJ1aWxkX3N0eWxlPU5vbmUpOgorICAgICAg
ICBjb21tYW5kID0gc3VwZXIoRlRXUG9ydCwgc2VsZikucnVuX3dlYmtpdF90ZXN0c19jb21tYW5k
KGJ1aWxkX3N0eWxlKQorICAgICAgICBjb21tYW5kLmFwcGVuZCgiLS1mdHciKQorICAgICAgICBy
ZXR1cm4gY29tbWFuZAorCisKIGNsYXNzIEd0a1dLMlBvcnQoRGVwcmVjYXRlZFBvcnQpOgogICAg
IHBvcnRfZmxhZ19uYW1lID0gImd0ay13azIiCiAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NvbmZpZy9wb3J0c191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHNfdW5pdHRlc3QucHkJKHJldmlzaW9u
IDI1MDEwMykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0c191
bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTIgQEAgY2xhc3MgRGVwcmVj
YXRlZFBvcnRUZXN0KHVuaXR0ZXN0LlRlc3RDYQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFdp
bkNhaXJvUG9ydCgpLmJ1aWxkX3dlYmtpdF9jb21tYW5kKCksIERlcHJlY2F0ZWRQb3J0KCkuc2Ny
aXB0X3NoZWxsX2NvbW1hbmQoImJ1aWxkLXdlYmtpdCIpICsgWyItLXdpbmNhaXJvIl0pCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoV2luQ2Fpcm9Qb3J0KCkuYnVpbGRfd2Via2l0X2NvbW1hbmQo
YnVpbGRfc3R5bGU9ImRlYnVnIiksIERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3NoZWxsX2NvbW1h
bmQoImJ1aWxkLXdlYmtpdCIpICsgWyItLWRlYnVnIiwgIi0td2luY2Fpcm8iXSkKIAorICAgIGRl
ZiB0ZXN0X2Z0d19wb3J0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZUV1BvcnQo
KS5mbGFnKCksICItLXBvcnQ9ZnR3IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGVFdQb3J0
KCkucnVuX3dlYmtpdF90ZXN0c19jb21tYW5kKCksIERlcHJlY2F0ZWRQb3J0KCkuc2NyaXB0X3No
ZWxsX2NvbW1hbmQoInJ1bi13ZWJraXQtdGVzdHMiKSArIFsiLS1mdHciXSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChGVFdQb3J0KCkuYnVpbGRfd2Via2l0X2NvbW1hbmQoKSwgRGVwcmVjYXRl
ZFBvcnQoKS5zY3JpcHRfc2hlbGxfY29tbWFuZCgiYnVpbGQtd2Via2l0IikgKyBbIi0tZnR3Il0p
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRlRXUG9ydCgpLmJ1aWxkX3dlYmtpdF9jb21tYW5k
KGJ1aWxkX3N0eWxlPSJkZWJ1ZyIpLCBEZXByZWNhdGVkUG9ydCgpLnNjcmlwdF9zaGVsbF9jb21t
YW5kKCJidWlsZC13ZWJraXQiKSArIFsiLS1kZWJ1ZyIsICItLWZ0dyJdKQorCiAgICAgZGVmIHRl
c3RfanNjb25seV9wb3J0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEpzY09ubHlQ
b3J0KCkuZmxhZygpLCAiLS1wb3J0PWpzYy1vbmx5IikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChKc2NPbmx5UG9ydCgpLmJ1aWxkX2pzY19jb21tYW5kKCksIERlcHJlY2F0ZWRQb3J0KCkuc2Ny
aXB0X3NoZWxsX2NvbW1hbmQoImJ1aWxkLWpzYyIpICsgWyItLWpzYy1vbmx5Il0pCkluZGV4OiBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZmFjdG9yeS5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZmFjdG9yeS5weQkocmV2aXNpb24gMjUwMTAzKQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ZhY3RvcnkucHkJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMy0yMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC02NSw2ICs2NSw5
IEBAIGRlZiBwbGF0Zm9ybV9vcHRpb25zKHVzZV9nbG9icz1GYWxzZSk6CiAgICAgICAgIG9wdHBh
cnNlLm1ha2Vfb3B0aW9uKCctLXdpbmNhaXJvJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRlc3Q9
J3BsYXRmb3JtJywKICAgICAgICAgICAgIGNvbnN0PSgnd2luY2Fpcm8nKSwKICAgICAgICAgICAg
IGhlbHA9KCdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13aW5jYWlybycpKSwKKyAgICAgICAgb3B0cGFy
c2UubWFrZV9vcHRpb24oJy0tZnR3JywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRlc3Q9J3BsYXRm
b3JtJywKKyAgICAgICAgICAgIGNvbnN0PSgnZnR3JyksCisgICAgICAgICAgICBoZWxwPSgnQWxp
YXMgZm9yIC0tcGxhdGZvcm09ZnR3JykpLAogICAgICAgICBdICsgKGNvbmZpZy5hcHBsZV9hZGRp
dGlvbnMoKS5wbGF0Zm9ybV9vcHRpb25zKCkgaWYgY29uZmlnLmFwcGxlX2FkZGl0aW9ucygpIGVs
c2UgW10pCiAKIApAQCAtMTA1LDYgKzEwOCw3IEBAIGNsYXNzIFBvcnRGYWN0b3J5KG9iamVjdCk6
CiAgICAgICAgICdtYWMuTWFjUG9ydCcsCiAgICAgICAgICdtb2NrX2RydC5Nb2NrRFJUUG9ydCcs
CiAgICAgICAgICd0ZXN0LlRlc3RQb3J0JywKKyAgICAgICAgJ3dpbi5GVFdQb3J0JywKICAgICAg
ICAgJ3dpbi5XaW5DYWlyb1BvcnQnLAogICAgICAgICAnd2luLldpblBvcnQnLAogICAgICAgICAn
d3BlLldQRVBvcnQnLApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5CShyZXZpc2lv
biAyNTAxMDMpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDEzLTIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQpAQCAtNDYyLDYgKzQ2Miw0NSBAQCBjbGFzcyBXaW5DYWlyb1BvcnQoV2luUG9ydCk6CiAKICAg
ICBERUZBVUxUX0FSQ0hJVEVDVFVSRSA9ICd4ODZfNjQnCiAKKyAgICBkZWYgZGVmYXVsdF9iYXNl
bGluZV9zZWFyY2hfcGF0aChzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIHJldHVybiBtYXAoc2Vs
Zi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgsIHNlbGYuX3NlYXJjaF9wYXRocygpKQorCisgICAgZGVm
IF9wb3J0X3NwZWNpZmljX2V4cGVjdGF0aW9uc19maWxlcyhzZWxmLCAqKmt3YXJncyk6CisgICAg
ICAgIHJldHVybiBtYXAobGFtYmRhIHg6IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl93ZWJr
aXRfYmFzZWxpbmVfcGF0aCh4KSwgJ1Rlc3RFeHBlY3RhdGlvbnMnKSwgcmV2ZXJzZWQoc2VsZi5f
c2VhcmNoX3BhdGhzKCkpKQorCisgICAgZGVmIF9zZWFyY2hfcGF0aHMoc2VsZik6CisgICAgICAg
IHBhdGhzID0gW10KKyAgICAgICAgdmVyc2lvbl9uYW1lX21hcCA9IFZlcnNpb25OYW1lTWFwLm1h
cChzZWxmLmhvc3QucGxhdGZvcm0pCisgICAgICAgIGlmIHNlbGYuX29zX3ZlcnNpb24gPCBzZWxm
LlZFUlNJT05fTUlOIG9yIHNlbGYuX29zX3ZlcnNpb24gPiBzZWxmLlZFUlNJT05fTUFYOgorICAg
ICAgICAgICAgdmVyc2lvbnMgPSBbc2VsZi5fb3NfdmVyc2lvbl0KKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHNvcnRlZF92ZXJzaW9ucyA9IHNvcnRlZCh2ZXJzaW9uX25hbWVfbWFwLm1hcHBp
bmdfZm9yX3BsYXRmb3JtKHBsYXRmb3JtPXNlbGYucG9ydF9uYW1lKS52YWx1ZXMoKSkKKyAgICAg
ICAgICAgIHZlcnNpb25zID0gc29ydGVkX3ZlcnNpb25zW3NvcnRlZF92ZXJzaW9ucy5pbmRleChz
ZWxmLl9vc192ZXJzaW9uKTpdCisKKyAgICAgICAgbm9ybWFsaXplID0gbGFtYmRhIHZlcnNpb246
IHZlcnNpb24ubG93ZXIoKS5yZXBsYWNlKCcgJywgJycpCisgICAgICAgIHRvX25hbWUgPSBsYW1i
ZGEgdmVyc2lvbjogdmVyc2lvbl9uYW1lX21hcC50b19uYW1lKHZlcnNpb24sIHBsYXRmb3JtPXNl
bGYucG9ydF9uYW1lKQorCisgICAgICAgIHdrX3ZlcnNpb24gPSAnd2syJyBpZiBzZWxmLmdldF9v
cHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5lcicpIGVsc2UgJ3drMScKKworICAgICAgICBmb3IgdmVy
c2lvbiBpbiB2ZXJzaW9uczoKKyAgICAgICAgICAgIG5hbWUgPSBzZWxmLnBvcnRfbmFtZSArICct
JyArIG5vcm1hbGl6ZSh0b19uYW1lKHZlcnNpb24pKQorICAgICAgICAgICAgcGF0aHMuYXBwZW5k
KG5hbWUgKyAnLScgKyB3a192ZXJzaW9uKQorICAgICAgICAgICAgcGF0aHMuYXBwZW5kKG5hbWUp
CisKKyAgICAgICAgcGF0aHMuYXBwZW5kKHNlbGYucG9ydF9uYW1lICsgJy0nICsgd2tfdmVyc2lv
bikKKyAgICAgICAgcGF0aHMuYXBwZW5kKHNlbGYucG9ydF9uYW1lKQorICAgICAgICBpZiBzZWxm
LmdldF9vcHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5lcicpOgorICAgICAgICAgICAgcGF0aHMuYXBw
ZW5kKCd3azInKQorICAgICAgICBwYXRocy5leHRlbmQoc2VsZi5nZXRfb3B0aW9uKCJhZGRpdGlv
bmFsX3BsYXRmb3JtX2RpcmVjdG9yeSIsIFtdKSkKKworICAgICAgICByZXR1cm4gcGF0aHMKKwor
CitjbGFzcyBGVFdQb3J0KFdpblBvcnQpOgorICAgIHBvcnRfbmFtZSA9ICJmdHciCisKKyAgICBE
RUZBVUxUX0FSQ0hJVEVDVFVSRSA9ICd4ODZfNjQnCisKICAgICBkZWYgZGVmYXVsdF9iYXNlbGlu
ZV9zZWFyY2hfcGF0aChzZWxmLCAqKmt3YXJncyk6CiAgICAgICAgIHJldHVybiBtYXAoc2VsZi5f
d2Via2l0X2Jhc2VsaW5lX3BhdGgsIHNlbGYuX3NlYXJjaF9wYXRocygpKQogCkluZGV4OiBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRlRXLmNtYWtlCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1GVFcuY21ha2UJKG5vbmV4aXN0ZW50KQorKysgVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUZUVy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDc4IEBACitzZXQoV2ViS2l0VGVzdFJ1bm5lckxpYl9TT1VSQ0VTCisgICAgJHtXZWJL
aXRUZXN0UnVubmVyX1NPVVJDRVN9CisgICAgJHtXRUJLSVRfVEVTVFJVTk5FUl9ESVJ9L3dpbi9U
ZXN0SW52b2NhdGlvbkRpcmVjdDJELmNwcAorICAgIHdpbi9FdmVudFNlbmRlclByb3h5V2luLmNw
cAorICAgIHdpbi9QbGF0Zm9ybVdlYlZpZXdXaW4uY3BwCisgICAgd2luL1Rlc3RDb250cm9sbGVy
V2luLmNwcAorICAgIHdpbi9tYWluLmNwcAorKQorCitzZXQoV2ViS2l0VGVzdFJ1bm5lcl9TT1VS
Q0VTCisgICAgJHtUT09MU19ESVJ9L3dpbi9ETExMYXVuY2hlci9ETExMYXVuY2hlck1haW4uY3Bw
CispCisKK2xpc3QoQVBQRU5EIFdlYktpdFRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZV9TT1VSQ0VT
CisgICAgJHtXRUJLSVRfVEVTVFJVTk5FUl9JTkpFQ1RFREJVTkRMRV9ESVJ9L3dpbi9BY3RpdmF0
ZUZvbnRzV2luLmNwcAorICAgICR7V0VCS0lUX1RFU1RSVU5ORVJfSU5KRUNURURCVU5ETEVfRElS
fS93aW4vSW5qZWN0ZWRCdW5kbGVXaW4uY3BwCisgICAgJHtXRUJLSVRfVEVTVFJVTk5FUl9JTkpF
Q1RFREJVTkRMRV9ESVJ9L3dpbi9UZXN0UnVubmVyV2luLmNwcAorICAgICR7V0VCS0lUX1RFU1RS
VU5ORVJfSU5KRUNURURCVU5ETEVfRElSfS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4u
Y3BwCisgICAgJHtXRUJLSVRfVEVTVFJVTk5FUl9JTkpFQ1RFREJVTkRMRV9ESVJ9L3dpbi9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAorKQorCitsaXN0KEFQUEVORCBXZWJLaXRUZXN0UnVu
bmVyX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICB3aW4KKyAgICAke0ZPUldBUkRJTkdfSEVBREVS
U19ESVJ9CisgICAgJHtXRUJLSVRfVEVTVFJVTk5FUl9JTkpFQ1RFREJVTkRMRV9ESVJ9L3dpbgor
KQorCitzZXQoV2ViS2l0VGVzdFJ1bm5lckxpYl9MSUJSQVJJRVMKKyAgICAke1dlYktpdFRlc3RS
dW5uZXJfTElCUkFSSUVTfQorICAgIENvbXN1cHB3CisgICAgT2xlYWNjCispCisKK2xpc3QoQVBQ
RU5EIFdlYktpdFRlc3RSdW5uZXJfTElCUkFSSUVTCisgICAgV2ViS2l0CispCisKK3NldChXZWJL
aXRUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGVfTElCUkFSSUVTCisgICAgV2ViQ29yZVRlc3RTdXBw
b3J0CisgICAgV2ViS2l0CispCisKK2xpc3QoUkVNT1ZFX0lURU0KKyAgICBXZWJLaXRUZXN0UnVu
bmVyTGliX1NPVVJDRVMKKyAgICAke1dFQktJVF9URVNUUlVOTkVSX0JJTkRJTkdTX0RJUn0vSlNX
cmFwcGVyLmNwcAorKQorbGlzdChSRU1PVkVfSVRFTQorICAgIFdlYktpdFRlc3RSdW5uZXJJbmpl
Y3RlZEJ1bmRsZV9TT1VSQ0VTCisgICAgJHtXRUJLSVRfVEVTVFJVTk5FUl9CSU5ESU5HU19ESVJ9
L0pTV3JhcHBlci5jcHAKKykKKworV0VCS0lUX0FERF9QUkVDT01QSUxFRF9IRUFERVIoV2ViS2l0
VGVzdFJ1bm5lclByZWZpeC5oCisgICAgJHtXRUJLSVRfVEVTVFJVTk5FUl9ESVJ9L3dpbi9XZWJL
aXRUZXN0UnVubmVyUHJlZml4LmNwcAorICAgIFdlYktpdFRlc3RSdW5uZXJMaWJfU09VUkNFUwor
KQorV0VCS0lUX0FERF9QUkVDT01QSUxFRF9IRUFERVIoVGVzdFJ1bm5lckluamVjdGVkQnVuZGxl
UHJlZml4LmgKKyAgICAke1dFQktJVF9URVNUUlVOTkVSX0lOSkVDVEVEQlVORExFX0RJUn0vd2lu
L1Rlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZVByZWZpeC5jcHAKKyAgICBXZWJLaXRUZXN0UnVubmVy
SW5qZWN0ZWRCdW5kbGVfU09VUkNFUworKQorCitsaXN0KEFQUEVORAorICAgIFdlYktpdFRlc3RS
dW5uZXJMaWJfU09VUkNFUworICAgICR7V0VCS0lUX1RFU1RSVU5ORVJfQklORElOR1NfRElSfS9K
U1dyYXBwZXIuY3BwCispCitsaXN0KEFQUEVORAorICAgIFdlYktpdFRlc3RSdW5uZXJJbmplY3Rl
ZEJ1bmRsZV9TT1VSQ0VTCisgICAgJHtXRUJLSVRfVEVTVFJVTk5FUl9CSU5ESU5HU19ESVJ9L0pT
V3JhcHBlci5jcHAKKykKKworCitzZXQoQ01BS0VfU0hBUkVEX0xJTktFUl9GTEFHUyAiJHtDTUFL
RV9TSEFSRURfTElOS0VSX0ZMQUdTfSAke01TVkNfUlVOVElNRV9MSU5LRVJfRkxBR1N9IikKK2Fk
ZF9saWJyYXJ5KFdlYktpdFRlc3RSdW5uZXJMaWIgU0hBUkVEICR7V2ViS2l0VGVzdFJ1bm5lckxp
Yl9TT1VSQ0VTfSkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhXZWJLaXRUZXN0UnVubmVyTGliICR7
V2ViS2l0VGVzdFJ1bm5lckxpYl9MSUJSQVJJRVN9KQorCithZGRfZGVmaW5pdGlvbnMoCisgICAg
LURVU0VfQ09OU09MRV9FTlRSWV9QT0lOVAorICAgIC1EX1VOSUNPREUKKykKSW5kZXg6IFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1XZWJWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAkocmV2aXNpb24gMjUwMTAzKQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAkod29ya2luZyBjb3B5KQpA
QCAtNTIsNyArNTIsMTEgQEAgY2xhc3MgSGVhZGxlc3NWaWV3QmFja2VuZDsKIHR5cGVkZWYgV0tW
aWV3UmVmIFBsYXRmb3JtV0tWaWV3OwogdHlwZWRlZiBXUEVUb29saW5nQmFja2VuZHM6OkhlYWRs
ZXNzVmlld0JhY2tlbmQqIFBsYXRmb3JtV2luZG93OwogI2VsaWYgUExBVEZPUk0oV0lOKQorI2lm
IFVTRShESVJFQ1QyRCkKKyNpbmNsdWRlIDxkMmQxXzEuaD4KKyNlbHNlCiAjaW5jbHVkZSA8Y2Fp
cm8uaD4KKyNlbmRpZgogY2xhc3MgVGVzdFJ1bm5lcldpbmRvdzsKIHR5cGVkZWYgSFdORCBQbGF0
Zm9ybVdpbmRvdzsKIHR5cGVkZWYgV0tWaWV3UmVmIFBsYXRmb3JtV0tWaWV3OwpAQCAtNjAsNiAr
NjQsMTAgQEAgdHlwZWRlZiBXS1ZpZXdSZWYgUGxhdGZvcm1XS1ZpZXc7CiAKICNpZiBVU0UoQ0FJ
Uk8pCiB0eXBlZGVmIGNhaXJvX3N1cmZhY2VfdCogUGxhdGZvcm1JbWFnZTsKKyNlbGlmIFVTRShE
SVJFQ1QyRCkKK2ludGVyZmFjZSBJRDJEMUJpdG1hcDsKKwordHlwZWRlZiBJRDJEMUJpdG1hcCog
UGxhdGZvcm1JbWFnZTsKICNlbmRpZgogCiBuYW1lc3BhY2UgV1RSIHsKSW5kZXg6IFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZS5jcHAJKHJldmlzaW9uIDI1MDEwMykKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTAsNyArNTAsNyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKLSNpZiBVU0UoQ0YpICYmICFQTEFURk9STShX
SU5fQ0FJUk8pCisjaWYgVVNFKENGKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSAmJiAhVVNFKERJ
UkVDVDJEKQogI2luY2x1ZGUgIldlYkFyY2hpdmVEdW1wU3VwcG9ydC5oIgogI2VuZGlmCiAKQEAg
LTg3NCw3ICs4NzQsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZHVtcEFsbEZyYW1lc1Rl
CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlOjpkdW1wRE9NQXNXZWJBcmNoaXZlKFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIFN0cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIpCiB7Ci0jaWYgVVNF
KENGKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKQorI2lmIFVTRShDRikgJiYgIVBMQVRGT1JNKFdJ
Tl9DQUlSTykgJiYgIVVTRShESVJFQ1QyRCkKICAgICBXS1JldGFpblB0cjxXS0RhdGFSZWY+IHdr
RGF0YSA9IGFkb3B0V0soV0tCdW5kbGVGcmFtZUNvcHlXZWJBcmNoaXZlKGZyYW1lKSk7CiAgICAg
UmV0YWluUHRyPENGRGF0YVJlZj4gY2ZEYXRhID0gYWRvcHRDRihDRkRhdGFDcmVhdGUoMCwgV0tE
YXRhR2V0Qnl0ZXMod2tEYXRhLmdldCgpKSwgV0tEYXRhR2V0U2l6ZSh3a0RhdGEuZ2V0KCkpKSk7
CiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBjZlN0cmluZyA9IGFkb3B0Q0YoV2ViQ29yZVRl
c3RTdXBwb3J0OjpjcmVhdGVYTUxTdHJpbmdGcm9tV2ViQXJjaGl2ZURhdGEoY2ZEYXRhLmdldCgp
KSk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL3dpbi9QbGF0Zm9ybVdlYlZpZXdXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvd2luL1BsYXRmb3JtV2Vi
Vmlld1dpbi5jcHAJKHJldmlzaW9uIDI1MDEwMykKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
d2luL1BsYXRmb3JtV2ViVmlld1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEyICszMCwx
OCBAQAogI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgogCiAjaW5jbHVkZSA8V2ViQ29yZS9I
V25kREMuaD4KLSNpbmNsdWRlIDxjYWlyby5oPgogI2luY2x1ZGUgPGNzdGRpbz4KICNpbmNsdWRl
IDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvd2lu
L0dESU9iamVjdC5oPgogCisjaWYgVVNFKENBSVJPKQorI2luY2x1ZGUgPGNhaXJvLmg+CisjZW5k
aWYKKworI2lmIFVTRShESVJFQ1QyRCkKKyNpbmNsdWRlIDxkMmQxXzEuaD4KKyNlbmRpZgogCiBu
YW1lc3BhY2UgV1RSIHsKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93aW4vVGVzdElu
dm9jYXRpb25EaXJlY3QyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci93aW4vVGVzdEludm9jYXRpb25EaXJlY3QyRC5jcHAJKG5vbmV4aXN0ZW50KQorKysgVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci93aW4vVGVzdEludm9jYXRpb25EaXJlY3QyRC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICAgICAgICAgICAoQykgMjAxMSBCcmVu
dCBGdWxnaGFtIDxiZnVsZ2hhbUB3ZWJraXQub3JnPi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
ICAgICAgICAgICAoQykgMjAxMCwgMjAxMSBJZ2FsaWEgUy5MCisgKiAgICAgICAgICAgKEMpIDIw
MTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUZXN0SW52b2NhdGlvbi5oIgorCisjaW5jbHVk
ZSAiUGl4ZWxEdW1wU3VwcG9ydC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgorI2lu
Y2x1ZGUgIlRlc3RDb250cm9sbGVyLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRl
ZC5oPgorI2luY2x1ZGUgPGNzdGRpbz4KKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2lu
Y2x1ZGUgPHd0Zi9NRDUuaD4KKyNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CisKK25hbWVz
cGFjZSBXVFIgeworCisKK3ZvaWQgVGVzdEludm9jYXRpb246OmR1bXBQaXhlbHNBbmRDb21wYXJl
V2l0aEV4cGVjdGVkKFNuYXBzaG90UmVzdWx0VHlwZSwgV0tBcnJheVJlZiAvKiByZXBhaW50UmVj
dHMgKi8sIFdLSW1hZ2VSZWYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV1RSCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>