<?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>232876</bug_id>
          
          <creation_ts>2021-11-09 05:51:04 -0800</creation_ts>
          <short_desc>REGRESSION(r285486): Made fast/ruby/generated-before-counter-doesnt-crash.html flaky, possibly indicating perf problem</short_desc>
          <delta_ts>2021-11-10 09:36:26 -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>New Bugs</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=232188</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>232236</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1813101</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-11-09 05:51:04 -0800</bug_when>
    <thetext>https://commits.webkit.org/r285486 introduced a regression:
Made fast/ruby/generated-before-counter-doesnt-crash.html flaky, possibly indicating perf problem

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813102</commentid>
    <comment_count>1</comment_count>
      <attachid>443686</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-11-09 05:51:13 -0800</bug_when>
    <thetext>Created attachment 443686
REVERT of r285486

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813103</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-09 05:53:22 -0800</bug_when>
    <thetext>Committed r285493 (244017@main): &lt;https://commits.webkit.org/244017@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443686.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813104</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-09 05:54:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/85199553&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443686</attachid>
            <date>2021-11-09 05:51:13 -0800</date>
            <delta_ts>2021-11-09 05:53:23 -0800</delta_ts>
            <desc>REVERT of r285486</desc>
            <filename>bug-232876-20211109055112.patch</filename>
            <type>text/plain</type>
            <size>35403</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWIxODU3NDNiNjk4NDYx
ZGNlYmNlYzE1ZjBmZDA1ZDBmNGI1MDhlYi4uNGQzZWE5MjljMjIwODc5MDUzODRlNTcyOWUxN2Rl
NmJjMjMzYjNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTExLTA5ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnRpbmcgcjI4NTQ4Ni4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMjg3NgorCisgICAgICAgIE1hZGUgZmFzdC9ydWJ5L2dlbmVyYXRlZC1i
ZWZvcmUtY291bnRlci1kb2VzbnQtY3Jhc2guaHRtbAorICAgICAgICBmbGFreSwgcG9zc2libHkg
aW5kaWNhdGluZyBwZXJmIHByb2JsZW0KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisK
KyAgICAgICAgIltDU1MgQ2FzY2FkZSBMYXllcnNdIFN1cHBvcnQgJ3JldmVydC1sYXllcicgdmFs
dWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIy
MzYKKyAgICAgICAgaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI4NTQ4NgorCiAyMDIxLTEx
LTA5ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVmYWN0b3IgY29u
c3VtZVdpbGxDaGFuZ2UoKSB0byBtYWtlIGJldHRlciB1c2Ugb2YgY29uc3VtZUN1c3RvbUlkZW50
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKaW5kZXggODVhYWM3ZDNmNWYy
N2FmM2FhNjYyZWFhMjYzMzM5MDY3Nzk5ZThiZC4uNTE0OGE0Y2IyZTQ3NTQzY2VmMTc0YWQyYjgw
MzEwMmJiNDA5YTM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKQEAg
LTEyMCw3ICsxMjAsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0luaGVyaXRWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIHZhbHVlSUQoKSA9PSBDU1NWYWx1ZUluaGVyaXQ7IH0KICAgICBib29sIGlzVW5z
ZXRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHZhbHVlSUQoKSA9PSBDU1NWYWx1ZVVuc2V0OyB9CiAg
ICAgYm9vbCBpc1JldmVydFZhbHVlKCkgY29uc3QgeyByZXR1cm4gdmFsdWVJRCgpID09IENTU1Zh
bHVlUmV2ZXJ0OyB9Ci0gICAgYm9vbCBpc1JldmVydExheWVyVmFsdWUoKSBjb25zdCB7IHJldHVy
biB2YWx1ZUlEKCkgPT0gQ1NTVmFsdWVSZXZlcnRMYXllcjsgfQogICAgIGJvb2wgaXNDU1NXaWRl
S2V5d29yZCgpIGNvbnN0OwogCiAgICAgc3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gY3Jl
YXRlSWRlbnRpZmllcihDU1NWYWx1ZUlEIHZhbHVlSUQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
Q1NTUHJpbWl0aXZlVmFsdWUodmFsdWVJRCkpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRl
eCAzOTZmY2JmMmEzY2VjODdlZThjOGU1ZTE0YzBlNjdhNDgxOTAwYTQ0Li40ZjNmNDVhZTg0YTlk
OGRmNTNiNjliNmIzMzM2NjBkOGMzY2ZiYzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAg
LTUxMCwxMSArNTEwLDYgQEAgYm9vbCBDU1NWYWx1ZTo6aXNSZXZlcnRWYWx1ZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIGlzPENTU1ByaW1pdGl2ZVZhbHVlPigqdGhpcykgJiYgZG93bmNhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWU+KCp0aGlzKS5pc1JldmVydFZhbHVlKCk7CiB9CiAKLWJvb2wgQ1NTVmFsdWU6
OmlzUmV2ZXJ0TGF5ZXJWYWx1ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzPENTU1ByaW1pdGl2
ZVZhbHVlPigqdGhpcykgJiYgZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp0aGlzKS5pc1Jl
dmVydExheWVyVmFsdWUoKTsKLX0KLQogYm9vbCBDU1NWYWx1ZTo6aXNDU1NXaWRlS2V5d29yZCgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzPENTU1ByaW1pdGl2ZVZhbHVlPigqdGhpcykgJiYgZG93
bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp0aGlzKS5pc0NTU1dpZGVLZXl3b3JkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5oCmluZGV4IDMzOGVkNTVkM2EzNDQ4YTAwODBhNWNhZGQ4MjM3M2ViZTVlZTUx
ODkuLjI5ZWE0YjZkMTE2NjQyOTZhNzdmMWRkOTY3NmU2MDI4ZDU3YmQ1M2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5oCkBAIC0xMTEsNyArMTExLDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNJbml0aWFs
VmFsdWUoKSBjb25zdDsKICAgICBib29sIGlzVW5zZXRWYWx1ZSgpIGNvbnN0OwogICAgIGJvb2wg
aXNSZXZlcnRWYWx1ZSgpIGNvbnN0OwotICAgIGJvb2wgaXNSZXZlcnRMYXllclZhbHVlKCkgY29u
c3Q7CiAgICAgYm9vbCBpc0NTU1dpZGVLZXl3b3JkKCkgY29uc3Q7CiAgICAgYm9vbCB0cmVhdEFz
SW5pdGlhbFZhbHVlKENTU1Byb3BlcnR5SUQpIGNvbnN0OwogICAgIGJvb2wgdHJlYXRBc0luaGVy
aXRlZFZhbHVlKENTU1Byb3BlcnR5SUQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgppbmRleCBhM2E5NTcwNmFiN2Q3YzYyNDM4M2E2N2VkYzBmOTk4MGI3MTIxNWEw
Li4xMmFhNzVhZTU0NmIyMGQ2NDA1ZjEyYTA2ZTk2YWYwNWE0MWE3NmMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtNSw3ICs1LDYgQEAgaW5oZXJpdAogaW5pdGlh
bAogdW5zZXQKIHJldmVydAotcmV2ZXJ0LWxheWVyCiAKIC8vCiAvLyBDU1NfUFJPUF9PVVRMSU5F
X1NUWUxFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklk
aW9tcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuaAppbmRl
eCBlMjU0MmFkMjBiZGE4OTkwMzIxOGFmZmY5NjNkOTk5ZjdlYmYzOTlhLi5kZWYyMjIwMDkyNTQ0
ZTU2ZmM5NjJmMTFjYTFlNGY2NGQxMTIxODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTUGFyc2VySWRpb21zLmgKQEAgLTYwLDIxICs2MCwxMiBAQCBib29sIGlzTmFtZUNvZGVQ
b2ludChDaGFyYWN0ZXJUeXBlIGMpCiAKIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWdu
ZWQgc2hvcnQsIENTU1BhcnNlck1vZGUpOwogCi1pbmxpbmUgYm9vbCBpc0NTU1dpZGVLZXl3b3Jk
KENTU1ZhbHVlSUQgdmFsdWVJRCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0NTU1dpZGVLZXl3b3Jk
KENTU1ZhbHVlSUQgdmFsdWVJRCkKIHsKLSAgICBzd2l0Y2ggKHZhbHVlSUQpIHsKLSAgICBjYXNl
IENTU1ZhbHVlSW5pdGlhbDoKLSAgICBjYXNlIENTU1ZhbHVlSW5oZXJpdDoKLSAgICBjYXNlIENT
U1ZhbHVlVW5zZXQ6Ci0gICAgY2FzZSBDU1NWYWx1ZVJldmVydDoKLSAgICBjYXNlIENTU1ZhbHVl
UmV2ZXJ0TGF5ZXI6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9OworICAgIHJldHVybiB2YWx1ZUlEID09IENTU1ZhbHVlSW5p
dGlhbCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlSW5oZXJpdCB8fCB2YWx1ZUlEID09IENTU1ZhbHVl
VW5zZXQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVJldmVydDsKIH0KIAotaW5saW5lIGJvb2wgaXNW
YWxpZEN1c3RvbUlkZW50aWZpZXIoQ1NTVmFsdWVJRCB2YWx1ZUlEKQorc3RhdGljIGlubGluZSBi
b29sIGlzVmFsaWRDdXN0b21JZGVudGlmaWVyKENTU1ZhbHVlSUQgdmFsdWVJRCkKIHsKICAgICAv
LyAiZGVmYXVsdCIgaXMgb2Jzb2xldGUgYXMgYSBDU1Mtd2lkZSBrZXl3b3JkIGJ1dCBpcyBzdGls
bCBub3QgYWxsb3dlZCBhcyBhIGN1c3RvbSBpZGVudGlmaWVyLgogICAgIHJldHVybiAhaXNDU1NX
aWRlS2V5d29yZCh2YWx1ZUlEKSAmJiB2YWx1ZUlEICE9IENTU1ZhbHVlRGVmYXVsdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0Nhc2NhZGVMZXZlbC5oIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvQ2FzY2FkZUxldmVsLmgKaW5kZXggYzJkMmExYjE4MjBjMDVmNTdkNWRhZThmYzMz
OWYzNTQwZWQyYjJiMi4uYTJlMzJhODcxNWNhNzJkNWYzYjVjMDQ2ZDI5NzA4MTEzM2VkZTMyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvQ2FzY2FkZUxldmVsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvQ2FzY2FkZUxldmVsLmgKQEAgLTM2LDE4ICszNiw3IEBAIGVudW0g
Y2xhc3MgQ2FzY2FkZUxldmVsIDogdWludDhfdCB7CiAgICAgQXV0aG9yICAgICAgPSAxIDw8IDIK
IH07CiAKLWlubGluZSBDYXNjYWRlTGV2ZWwmIG9wZXJhdG9yLS0oQ2FzY2FkZUxldmVsJiBsZXZl
bCkKLXsKLSAgICBzd2l0Y2ggKGxldmVsKSB7Ci0gICAgY2FzZSBDYXNjYWRlTGV2ZWw6OkF1dGhv
cjoKLSAgICAgICAgcmV0dXJuIGxldmVsID0gQ2FzY2FkZUxldmVsOjpVc2VyOwotICAgIGNhc2Ug
Q2FzY2FkZUxldmVsOjpVc2VyOgotICAgICAgICByZXR1cm4gbGV2ZWwgPSBDYXNjYWRlTGV2ZWw6
OlVzZXJBZ2VudDsKLSAgICBjYXNlIENhc2NhZGVMZXZlbDo6VXNlckFnZW50OgotICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGxldmVsOwotICAgIH0KLX0KK3N0
YXRpYyBjb25zdGV4cHIgT3B0aW9uU2V0PENhc2NhZGVMZXZlbD4gYWxsQ2FzY2FkZUxldmVscygp
IHsgcmV0dXJuIHsgQ2FzY2FkZUxldmVsOjpVc2VyQWdlbnQsIENhc2NhZGVMZXZlbDo6VXNlciwg
Q2FzY2FkZUxldmVsOjpBdXRob3IgfTsgfQogCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKaW5kZXggNDQ5ODVjODQ4MWE4NDBmZTMzNzlkMGU4
YjQ1NGI2MTI5NTNhMzhhMS4uYmViODk2N2ZkYmNkZTQzMjg1NGQxNTNiYTljZTI2YzY3NzNlMzBm
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xsZWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcApA
QCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQgRWxlbWVudFJ1bGVDb2xsZWN0b3I6OmNsZWFyTWF0Y2hl
ZFJ1bGVzKCkKICAgICBtX21hdGNoZWRSdWxlVHJhbnNmZXJJbmRleCA9IDA7CiB9CiAKLWlubGlu
ZSB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjphZGRFbGVtZW50U3R5bGVQcm9wZXJ0aWVzKGNv
bnN0IFN0eWxlUHJvcGVydGllcyogcHJvcGVydHlTZXQsIGJvb2wgaXNDYWNoZWFibGUsIEZyb21T
dHlsZUF0dHJpYnV0ZSBmcm9tU3R5bGVBdHRyaWJ1dGUpCitpbmxpbmUgdm9pZCBFbGVtZW50UnVs
ZUNvbGxlY3Rvcjo6YWRkRWxlbWVudFN0eWxlUHJvcGVydGllcyhjb25zdCBTdHlsZVByb3BlcnRp
ZXMqIHByb3BlcnR5U2V0LCBib29sIGlzQ2FjaGVhYmxlKQogewogICAgIGlmICghcHJvcGVydHlT
ZXQgfHwgcHJvcGVydHlTZXQtPmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTMyLDkg
KzEzMiw3IEBAIGlubGluZSB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjphZGRFbGVtZW50U3R5
bGVQcm9wZXJ0aWVzKGNvbnN0IFN0eWxlUHJvcGVydGllCiAgICAgaWYgKCFpc0NhY2hlYWJsZSkK
ICAgICAgICAgbV9yZXN1bHQuaXNDYWNoZWFibGUgPSBmYWxzZTsKIAotICAgIGF1dG8gbWF0Y2hl
ZFByb3BlcnR5ID0gTWF0Y2hlZFByb3BlcnRpZXMgeyBwcm9wZXJ0eVNldCB9OwotICAgIG1hdGNo
ZWRQcm9wZXJ0eS5mcm9tU3R5bGVBdHRyaWJ1dGUgPSBmcm9tU3R5bGVBdHRyaWJ1dGU7Ci0gICAg
YWRkTWF0Y2hlZFByb3BlcnRpZXMoV1RGTW92ZShtYXRjaGVkUHJvcGVydHkpLCBEZWNsYXJhdGlv
bk9yaWdpbjo6QXV0aG9yKTsKKyAgICBhZGRNYXRjaGVkUHJvcGVydGllcyh7IHByb3BlcnR5U2V0
IH0sIERlY2xhcmF0aW9uT3JpZ2luOjpBdXRob3IpOwogfQogCiB2b2lkIEVsZW1lbnRSdWxlQ29s
bGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlcyhjb25zdCBNYXRjaFJlcXVlc3QmIG1hdGNoUmVx
dWVzdCkKQEAgLTIwNSw4ICsyMDMsNyBAQCB2b2lkIEVsZW1lbnRSdWxlQ29sbGVjdG9yOjp0cmFu
c2Zlck1hdGNoZWRSdWxlcyhEZWNsYXJhdGlvbk9yaWdpbiBkZWNsYXJhdGlvbk9yaQogICAgICAg
ICAgICAgJm1hdGNoZWRSdWxlLnJ1bGVEYXRhLT5zdHlsZVJ1bGUoKS5wcm9wZXJ0aWVzKCksCiAg
ICAgICAgICAgICBzdGF0aWNfY2FzdDx1aW50MTZfdD4obWF0Y2hlZFJ1bGUucnVsZURhdGEtPmxp
bmtNYXRjaFR5cGUoKSksCiAgICAgICAgICAgICBtYXRjaGVkUnVsZS5ydWxlRGF0YS0+cHJvcGVy
dHlBbGxvd2xpc3QoKSwKLSAgICAgICAgICAgIG1hdGNoZWRSdWxlLnN0eWxlU2NvcGVPcmRpbmFs
LAotICAgICAgICAgICAgbWF0Y2hlZFJ1bGUuY2FzY2FkZUxheWVyUHJpb3JpdHkKKyAgICAgICAg
ICAgIG1hdGNoZWRSdWxlLnN0eWxlU2NvcGVPcmRpbmFsCiAgICAgICAgIH0sIGRlY2xhcmF0aW9u
T3JpZ2luKTsKICAgICB9CiB9CkBAIC01NjMsNyArNTYwLDcgQEAgdm9pZCBFbGVtZW50UnVsZUNv
bGxlY3Rvcjo6YWRkRWxlbWVudElubGluZVN0eWxlUHJvcGVydGllcyhib29sIGluY2x1ZGVTTUlM
UHJvcGUKICAgICBpZiAoYXV0byogaW5saW5lU3R5bGUgPSBkb3duY2FzdDxTdHlsZWRFbGVtZW50
PihlbGVtZW50KCkpLmlubGluZVN0eWxlKCkpIHsKICAgICAgICAgLy8gRklYTUU6IE1lZGlhIGNv
bnRyb2wgc2hhZG93IHRyZWVzIHNlZW0gdG8gaGF2ZSBwcm9ibGVtcyB3aXRoIGNhY2hpbmcuCiAg
ICAgICAgIGJvb2wgaXNJbmxpbmVTdHlsZUNhY2hlYWJsZSA9ICFpbmxpbmVTdHlsZS0+aXNNdXRh
YmxlKCkgJiYgIWVsZW1lbnQoKS5pc0luU2hhZG93VHJlZSgpOwotICAgICAgICBhZGRFbGVtZW50
U3R5bGVQcm9wZXJ0aWVzKGlubGluZVN0eWxlLCBpc0lubGluZVN0eWxlQ2FjaGVhYmxlLCBGcm9t
U3R5bGVBdHRyaWJ1dGU6Olllcyk7CisgICAgICAgIGFkZEVsZW1lbnRTdHlsZVByb3BlcnRpZXMo
aW5saW5lU3R5bGUsIGlzSW5saW5lU3R5bGVDYWNoZWFibGUpOwogICAgIH0KIAogICAgIGlmIChp
bmNsdWRlU01JTFByb3BlcnRpZXMgJiYgaXM8U1ZHRWxlbWVudD4oZWxlbWVudCgpKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9FbGVtZW50UnVsZUNvbGxlY3Rvci5oCmluZGV4IDllNDc5YTkzNWM5
NmI2ZjVmYWFjNWY5NzgzOTk3ODRkYTAzMTM0NTguLmI4NWZjM2EzOTliMWFkZDMwMTQ3OWZmN2Rl
OWQyOTg0ZmQ0NDU5OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0VsZW1lbnRS
dWxlQ29sbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvRWxlbWVudFJ1bGVDb2xs
ZWN0b3IuaApAQCAtNjMsMTggKzYzLDE0IEBAIHN0cnVjdCBNYXRjaGVkUnVsZSB7CiAgICAgY29u
c3QgUnVsZURhdGEqIHJ1bGVEYXRhOwogICAgIHVuc2lnbmVkIHNwZWNpZmljaXR5OwogICAgIFNj
b3BlT3JkaW5hbCBzdHlsZVNjb3BlT3JkaW5hbDsKLSAgICBDYXNjYWRlTGF5ZXJQcmlvcml0eSBj
YXNjYWRlTGF5ZXJQcmlvcml0eTsKKyAgICB1bnNpZ25lZCBjYXNjYWRlTGF5ZXJQcmlvcml0eTsK
IH07CiAKLWVudW0gY2xhc3MgRnJvbVN0eWxlQXR0cmlidXRlIDogYm9vbCB7IE5vLCBZZXMgfTsK
LQogc3RydWN0IE1hdGNoZWRQcm9wZXJ0aWVzIHsKICAgICBSZWZQdHI8Y29uc3QgU3R5bGVQcm9w
ZXJ0aWVzPiBwcm9wZXJ0aWVzOwogICAgIHVpbnQxNl90IGxpbmtNYXRjaFR5cGUgeyBTZWxlY3Rv
ckNoZWNrZXI6Ok1hdGNoQWxsIH07CiAgICAgUHJvcGVydHlBbGxvd2xpc3QgYWxsb3dsaXN0VHlw
ZSB7IFByb3BlcnR5QWxsb3dsaXN0OjpOb25lIH07CiAgICAgU2NvcGVPcmRpbmFsIHN0eWxlU2Nv
cGVPcmRpbmFsIHsgU2NvcGVPcmRpbmFsOjpFbGVtZW50IH07Ci0gICAgQ2FzY2FkZUxheWVyUHJp
b3JpdHkgY2FzY2FkZUxheWVyUHJpb3JpdHkgeyBSdWxlU2V0OjpjYXNjYWRlTGF5ZXJQcmlvcml0
eUZvclVubGF5ZXJlZCB9OwotICAgIEZyb21TdHlsZUF0dHJpYnV0ZSBmcm9tU3R5bGVBdHRyaWJ1
dGUgeyBGcm9tU3R5bGVBdHRyaWJ1dGU6Ok5vIH07CiB9OwogCiBzdHJ1Y3QgTWF0Y2hSZXN1bHQg
ewpAQCAtMTI1LDcgKzEyMSw3IEBAIHB1YmxpYzoKICAgICBib29sIGRpZE1hdGNoVW5jb21tb25B
dHRyaWJ1dGVTZWxlY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fZGlkTWF0Y2hVbmNvbW1vbkF0dHJp
YnV0ZVNlbGVjdG9yOyB9CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBhZGRFbGVtZW50U3R5bGVQcm9w
ZXJ0aWVzKGNvbnN0IFN0eWxlUHJvcGVydGllcyosIGJvb2wgaXNDYWNoZWFibGUgPSB0cnVlLCBG
cm9tU3R5bGVBdHRyaWJ1dGUgPSBGcm9tU3R5bGVBdHRyaWJ1dGU6Ok5vKTsKKyAgICB2b2lkIGFk
ZEVsZW1lbnRTdHlsZVByb3BlcnRpZXMoY29uc3QgU3R5bGVQcm9wZXJ0aWVzKiwgYm9vbCBpc0Nh
Y2hlYWJsZSA9IHRydWUpOwogCiAgICAgdm9pZCBtYXRjaFVBUnVsZXMoY29uc3QgUnVsZVNldCYp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNwcAppbmRleCBkYWJkYTYw
ODc4YmEwYzA1NzdmMWQ0ZWJlY2E1YzI0YzM1MTg5NjdlLi41MDUxNTI3YzYzYzIxNzA2YmFkZWQz
YjUyYzkwNWVjZTFhNGNmMjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9w
ZXJ0eUNhc2NhZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2Fk
ZS5jcHAKQEAgLTcxLDM1ICs3MSwzMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkQXBwbHlQ
cm9wZXJ0eUluUGFyc2VPcmRlcihDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiAgICAgfQogfQog
Ci1Qcm9wZXJ0eUNhc2NhZGU6OlByb3BlcnR5Q2FzY2FkZShjb25zdCBNYXRjaFJlc3VsdCYgbWF0
Y2hSZXN1bHQsIENhc2NhZGVMZXZlbCBtYXhpbXVtQ2FzY2FkZUxldmVsLCBJbmNsdWRlZFByb3Bl
cnRpZXMgaW5jbHVkZWRQcm9wZXJ0aWVzLCBEaXJlY3Rpb24gZGlyZWN0aW9uKQorUHJvcGVydHlD
YXNjYWRlOjpQcm9wZXJ0eUNhc2NhZGUoY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0LCBP
cHRpb25TZXQ8Q2FzY2FkZUxldmVsPiBjYXNjYWRlTGV2ZWxzLCBJbmNsdWRlZFByb3BlcnRpZXMg
aW5jbHVkZWRQcm9wZXJ0aWVzLCBEaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgIDogbV9tYXRjaFJl
c3VsdChtYXRjaFJlc3VsdCkKICAgICAsIG1faW5jbHVkZWRQcm9wZXJ0aWVzKGluY2x1ZGVkUHJv
cGVydGllcykKLSAgICAsIG1fbWF4aW11bUNhc2NhZGVMZXZlbChtYXhpbXVtQ2FzY2FkZUxldmVs
KQogICAgICwgbV9kaXJlY3Rpb24oZGlyZWN0aW9uKQogewotICAgIGJ1aWxkQ2FzY2FkZSgpOwor
ICAgIGJ1aWxkQ2FzY2FkZShjYXNjYWRlTGV2ZWxzKTsKIH0KIAotUHJvcGVydHlDYXNjYWRlOjpQ
cm9wZXJ0eUNhc2NhZGUoY29uc3QgUHJvcGVydHlDYXNjYWRlJiBwYXJlbnQsIENhc2NhZGVMZXZl
bCBtYXhpbXVtQ2FzY2FkZUxldmVsLCBDYXNjYWRlTGF5ZXJQcmlvcml0eSBtYXhpbXVtQ2FzY2Fk
ZUxheWVyUHJpb3JpdHkpCitQcm9wZXJ0eUNhc2NhZGU6OlByb3BlcnR5Q2FzY2FkZShjb25zdCBQ
cm9wZXJ0eUNhc2NhZGUmIHBhcmVudCwgT3B0aW9uU2V0PENhc2NhZGVMZXZlbD4gY2FzY2FkZUxl
dmVscykKICAgICA6IG1fbWF0Y2hSZXN1bHQocGFyZW50Lm1fbWF0Y2hSZXN1bHQpCiAgICAgLCBt
X2luY2x1ZGVkUHJvcGVydGllcyhwYXJlbnQubV9pbmNsdWRlZFByb3BlcnRpZXMpCi0gICAgLCBt
X21heGltdW1DYXNjYWRlTGV2ZWwobWF4aW11bUNhc2NhZGVMZXZlbCkKLSAgICAsIG1fbWF4aW11
bUNhc2NhZGVMYXllclByaW9yaXR5KG1heGltdW1DYXNjYWRlTGF5ZXJQcmlvcml0eSkKICAgICAs
IG1fZGlyZWN0aW9uKHBhcmVudC5kaXJlY3Rpb24oKSkKICAgICAsIG1fZGlyZWN0aW9uSXNVbnJl
c29sdmVkKGZhbHNlKQogewotICAgIGJ1aWxkQ2FzY2FkZSgpOworICAgIGJ1aWxkQ2FzY2FkZShj
YXNjYWRlTGV2ZWxzKTsKIH0KIAogUHJvcGVydHlDYXNjYWRlOjp+UHJvcGVydHlDYXNjYWRlKCkg
PSBkZWZhdWx0OwogCi12b2lkIFByb3BlcnR5Q2FzY2FkZTo6YnVpbGRDYXNjYWRlKCkKK3ZvaWQg
UHJvcGVydHlDYXNjYWRlOjpidWlsZENhc2NhZGUoT3B0aW9uU2V0PENhc2NhZGVMZXZlbD4gY2Fz
Y2FkZUxldmVscykKIHsKICAgICBPcHRpb25TZXQ8Q2FzY2FkZUxldmVsPiBjYXNjYWRlTGV2ZWxz
V2l0aEltcG9ydGFudDsKIAotICAgIGZvciAoYXV0byBjYXNjYWRlTGV2ZWwgOiB7IENhc2NhZGVM
ZXZlbDo6VXNlckFnZW50LCBDYXNjYWRlTGV2ZWw6OlVzZXIsIENhc2NhZGVMZXZlbDo6QXV0aG9y
IH0pIHsKLSAgICAgICAgaWYgKGNhc2NhZGVMZXZlbCA+IG1fbWF4aW11bUNhc2NhZGVMZXZlbCkK
LSAgICAgICAgICAgIGJyZWFrOworICAgIGZvciAoYXV0byBjYXNjYWRlTGV2ZWwgOiBjYXNjYWRl
TGV2ZWxzKSB7CiAgICAgICAgIGJvb2wgaGFzSW1wb3J0YW50ID0gYWRkTm9ybWFsTWF0Y2hlcyhj
YXNjYWRlTGV2ZWwpOwogICAgICAgICBpZiAoaGFzSW1wb3J0YW50KQogICAgICAgICAgICAgY2Fz
Y2FkZUxldmVsc1dpdGhJbXBvcnRhbnQuYWRkKGNhc2NhZGVMZXZlbCk7CkBAIC0xMTgsOCArMTEz
LDYgQEAgdm9pZCBQcm9wZXJ0eUNhc2NhZGU6OnNldFByb3BlcnR5SW50ZXJuYWwoUHJvcGVydHkm
IHByb3BlcnR5LCBDU1NQcm9wZXJ0eUlEIGlkLAogICAgIHByb3BlcnR5LmlkID0gaWQ7CiAgICAg
cHJvcGVydHkubGV2ZWwgPSBjYXNjYWRlTGV2ZWw7CiAgICAgcHJvcGVydHkuc3R5bGVTY29wZU9y
ZGluYWwgPSBtYXRjaGVkUHJvcGVydGllcy5zdHlsZVNjb3BlT3JkaW5hbDsKLSAgICBwcm9wZXJ0
eS5jYXNjYWRlTGF5ZXJQcmlvcml0eSA9IG1hdGNoZWRQcm9wZXJ0aWVzLmNhc2NhZGVMYXllclBy
aW9yaXR5OwotCiAgICAgaWYgKG1hdGNoZWRQcm9wZXJ0aWVzLmxpbmtNYXRjaFR5cGUgPT0gU2Vs
ZWN0b3JDaGVja2VyOjpNYXRjaEFsbCkgewogICAgICAgICBwcm9wZXJ0eS5jc3NWYWx1ZVswXSA9
ICZjc3NWYWx1ZTsKICAgICAgICAgcHJvcGVydHkuY3NzVmFsdWVbU2VsZWN0b3JDaGVja2VyOjpN
YXRjaExpbmtdID0gJmNzc1ZhbHVlOwpAQCAtMTc3LDkgKzE3MCw2IEBAIHZvaWQgUHJvcGVydHlD
YXNjYWRlOjpzZXREZWZlcnJlZChDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSYgY3NzVmFsdWUs
IGNvbnN0IE1hCiAKIGJvb2wgUHJvcGVydHlDYXNjYWRlOjphZGRNYXRjaChjb25zdCBNYXRjaGVk
UHJvcGVydGllcyYgbWF0Y2hlZFByb3BlcnRpZXMsIENhc2NhZGVMZXZlbCBjYXNjYWRlTGV2ZWws
IGJvb2wgaW1wb3J0YW50KQogewotICAgIGlmIChtYXRjaGVkUHJvcGVydGllcy5jYXNjYWRlTGF5
ZXJQcmlvcml0eSA+IG1fbWF4aW11bUNhc2NhZGVMYXllclByaW9yaXR5ICYmIGNhc2NhZGVMZXZl
bCA9PSBtX21heGltdW1DYXNjYWRlTGV2ZWwgJiYgbWF0Y2hlZFByb3BlcnRpZXMuc3R5bGVTY29w
ZU9yZGluYWwgPT0gU2NvcGVPcmRpbmFsOjpFbGVtZW50KQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KICAgICBhdXRvJiBzdHlsZVByb3BlcnRpZXMgPSAqbWF0Y2hlZFByb3BlcnRpZXMucHJvcGVy
dGllczsKICAgICBhdXRvIHByb3BlcnR5QWxsb3dsaXN0ID0gbWF0Y2hlZFByb3BlcnRpZXMuYWxs
b3dsaXN0VHlwZTsKICAgICBib29sIGhhc0ltcG9ydGFudFByb3BlcnRpZXMgPSBmYWxzZTsKQEAg
LTI0NywxNCArMjM3LDEyIEBAIHN0YXRpYyBib29sIGhhc0ltcG9ydGFudFByb3BlcnRpZXMoY29u
c3QgU3R5bGVQcm9wZXJ0aWVzJiBwcm9wZXJ0aWVzKQogCiB2b2lkIFByb3BlcnR5Q2FzY2FkZTo6
YWRkSW1wb3J0YW50TWF0Y2hlcyhDYXNjYWRlTGV2ZWwgY2FzY2FkZUxldmVsKQogewotICAgIHN0
cnVjdCBJbXBvcnRhbnRNYXRjaCB7CisgICAgc3RydWN0IEluZGV4QW5kT3JkaW5hbCB7CiAgICAg
ICAgIHVuc2lnbmVkIGluZGV4OwogICAgICAgICBTY29wZU9yZGluYWwgb3JkaW5hbDsKLSAgICAg
ICAgQ2FzY2FkZUxheWVyUHJpb3JpdHkgbGF5ZXJQcmlvcml0eTsKLSAgICAgICAgRnJvbVN0eWxl
QXR0cmlidXRlIGZyb21TdHlsZUF0dHJpYnV0ZTsKICAgICB9OwotICAgIFZlY3RvcjxJbXBvcnRh
bnRNYXRjaD4gaW1wb3J0YW50TWF0Y2hlczsKLSAgICBib29sIGhhc01hdGNoZXNGcm9tT3RoZXJT
Y29wZXNPckxheWVycyA9IGZhbHNlOworICAgIFZlY3RvcjxJbmRleEFuZE9yZGluYWw+IGltcG9y
dGFudE1hdGNoZXM7CisgICAgYm9vbCBoYXNNYXRjaGVzRnJvbU90aGVyU2NvcGVzID0gZmFsc2U7
CiAKICAgICBhdXRvJiBtYXRjaGVkRGVjbGFyYXRpb25zID0gZGVjbGFyYXRpb25zRm9yQ2FzY2Fk
ZUxldmVsKG1fbWF0Y2hSZXN1bHQsIGNhc2NhZGVMZXZlbCk7CiAKQEAgLTI2NCwyNSArMjUyLDIw
IEBAIHZvaWQgUHJvcGVydHlDYXNjYWRlOjphZGRJbXBvcnRhbnRNYXRjaGVzKENhc2NhZGVMZXZl
bCBjYXNjYWRlTGV2ZWwpCiAgICAgICAgIGlmICghaGFzSW1wb3J0YW50UHJvcGVydGllcygqbWF0
Y2hlZFByb3BlcnRpZXMucHJvcGVydGllcykpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAg
ICAgICBpbXBvcnRhbnRNYXRjaGVzLmFwcGVuZCh7IGksIG1hdGNoZWRQcm9wZXJ0aWVzLnN0eWxl
U2NvcGVPcmRpbmFsLCBtYXRjaGVkUHJvcGVydGllcy5jYXNjYWRlTGF5ZXJQcmlvcml0eSwgbWF0
Y2hlZFByb3BlcnRpZXMuZnJvbVN0eWxlQXR0cmlidXRlIH0pOworICAgICAgICBpbXBvcnRhbnRN
YXRjaGVzLmFwcGVuZCh7IGksIG1hdGNoZWRQcm9wZXJ0aWVzLnN0eWxlU2NvcGVPcmRpbmFsIH0p
OwogCi0gICAgICAgIGlmIChtYXRjaGVkUHJvcGVydGllcy5zdHlsZVNjb3BlT3JkaW5hbCAhPSBT
Y29wZU9yZGluYWw6OkVsZW1lbnQgfHwgbWF0Y2hlZFByb3BlcnRpZXMuY2FzY2FkZUxheWVyUHJp
b3JpdHkgIT0gUnVsZVNldDo6Y2FzY2FkZUxheWVyUHJpb3JpdHlGb3JVbmxheWVyZWQpCi0gICAg
ICAgICAgICBoYXNNYXRjaGVzRnJvbU90aGVyU2NvcGVzT3JMYXllcnMgPSB0cnVlOworICAgICAg
ICBpZiAobWF0Y2hlZFByb3BlcnRpZXMuc3R5bGVTY29wZU9yZGluYWwgIT0gU2NvcGVPcmRpbmFs
OjpFbGVtZW50KQorICAgICAgICAgICAgaGFzTWF0Y2hlc0Zyb21PdGhlclNjb3BlcyA9IHRydWU7
CiAgICAgfQogCiAgICAgaWYgKGltcG9ydGFudE1hdGNoZXMuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoaGFzTWF0Y2hlc0Zyb21PdGhlclNjb3Blc09yTGF5ZXJzKSB7Cisg
ICAgaWYgKGhhc01hdGNoZXNGcm9tT3RoZXJTY29wZXMpIHsKKyAgICAgICAgLy8gRm9yICFpbXBv
cnRhbnQgcHJvcGVydGllcyBhIGxhdGVyIHNoYWRvdyB0cmVlIHdpbnMuCiAgICAgICAgIC8vIE1h
dGNoIHJlc3VsdHMgYXJlIHNvcnRlZCBpbiByZXZlcnNlIHRyZWUgY29udGV4dCBvcmRlciBzbyB0
aGlzIGlzIG5vdCBuZWVkZWQgZm9yIG5vcm1hbCBwcm9wZXJ0aWVzLgotICAgICAgICBzdGQ6OnN0
YWJsZV9zb3J0KGltcG9ydGFudE1hdGNoZXMuYmVnaW4oKSwgaW1wb3J0YW50TWF0Y2hlcy5lbmQo
KSwgW10gKGF1dG8mIGEsIGF1dG8mIGIpIHsKLSAgICAgICAgICAgIC8vIEZvciAhaW1wb3J0YW50
IHByb3BlcnRpZXMgYSBsYXRlciBzaGFkb3cgdHJlZSB3aW5zLgotICAgICAgICAgICAgaWYgKGEu
b3JkaW5hbCAhPSBiLm9yZGluYWwpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGEub3JkaW5hbCA8
IGIub3JkaW5hbDsKLSAgICAgICAgICAgIC8vIExvd2VyIHByaW9yaXR5IGxheWVyIHdpbnMsIGV4
Y2VwdCBpZiBzdHlsZSBhdHRyaWJ1dGUgaXMgaW52b2x2ZWQuCi0gICAgICAgICAgICBpZiAoYS5m
cm9tU3R5bGVBdHRyaWJ1dGUgIT0gYi5mcm9tU3R5bGVBdHRyaWJ1dGUpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIGEuZnJvbVN0eWxlQXR0cmlidXRlID09IEZyb21TdHlsZUF0dHJpYnV0ZTo6Tm87
Ci0gICAgICAgICAgICByZXR1cm4gYS5sYXllclByaW9yaXR5ID4gYi5sYXllclByaW9yaXR5Owor
ICAgICAgICBzdGQ6OnN0YWJsZV9zb3J0KGltcG9ydGFudE1hdGNoZXMuYmVnaW4oKSwgaW1wb3J0
YW50TWF0Y2hlcy5lbmQoKSwgW10gKGNvbnN0IEluZGV4QW5kT3JkaW5hbCYgYSwgY29uc3QgSW5k
ZXhBbmRPcmRpbmFsJiBiKSB7CisgICAgICAgICAgICByZXR1cm4gYS5vcmRpbmFsIDwgYi5vcmRp
bmFsOwogICAgICAgICB9KTsKICAgICB9CiAKQEAgLTI5MCw2ICsyNzMsMzAgQEAgdm9pZCBQcm9w
ZXJ0eUNhc2NhZGU6OmFkZEltcG9ydGFudE1hdGNoZXMoQ2FzY2FkZUxldmVsIGNhc2NhZGVMZXZl
bCkKICAgICAgICAgYWRkTWF0Y2gobWF0Y2hlZERlY2xhcmF0aW9uc1ttYXRjaC5pbmRleF0sIGNh
c2NhZGVMZXZlbCwgdHJ1ZSk7CiB9CiAKK2NvbnN0IFByb3BlcnR5Q2FzY2FkZSogUHJvcGVydHlD
YXNjYWRlOjpwcm9wZXJ0eUNhc2NhZGVGb3JSb2xsYmFjayhDYXNjYWRlTGV2ZWwgY2FzY2FkZUxl
dmVsKSBjb25zdAoreworICAgIHN3aXRjaCAoY2FzY2FkZUxldmVsKSB7CisgICAgY2FzZSBDYXNj
YWRlTGV2ZWw6OkF1dGhvcjoKKyAgICAgICAgaWYgKCFtX2F1dGhvclJvbGxiYWNrQ2FzY2FkZSkg
eworICAgICAgICAgICAgYXV0byBjYXNjYWRlTGV2ZWxzID0gT3B0aW9uU2V0PENhc2NhZGVMZXZl
bD4geyBDYXNjYWRlTGV2ZWw6OlVzZXJBZ2VudCwgQ2FzY2FkZUxldmVsOjpVc2VyIH07CisgICAg
ICAgICAgICBtX2F1dGhvclJvbGxiYWNrQ2FzY2FkZSA9IG1ha2VVbmlxdWU8Y29uc3QgUHJvcGVy
dHlDYXNjYWRlPigqdGhpcywgY2FzY2FkZUxldmVscyk7CisgICAgICAgIH0KKyAgICAgICAgcmV0
dXJuIG1fYXV0aG9yUm9sbGJhY2tDYXNjYWRlLmdldCgpOworCisgICAgY2FzZSBDYXNjYWRlTGV2
ZWw6OlVzZXI6CisgICAgICAgIGlmICghbV91c2VyUm9sbGJhY2tDYXNjYWRlKSB7CisgICAgICAg
ICAgICBhdXRvIGNhc2NhZGVMZXZlbHMgPSBPcHRpb25TZXQ8Q2FzY2FkZUxldmVsPiB7IENhc2Nh
ZGVMZXZlbDo6VXNlckFnZW50IH07CisgICAgICAgICAgICBtX3VzZXJSb2xsYmFja0Nhc2NhZGUg
PSBtYWtlVW5pcXVlPGNvbnN0IFByb3BlcnR5Q2FzY2FkZT4oKnRoaXMsIGNhc2NhZGVMZXZlbHMp
OworICAgICAgICB9CisgICAgICAgIHJldHVybiBtX3VzZXJSb2xsYmFja0Nhc2NhZGUuZ2V0KCk7
CisKKyAgICBjYXNlIENhc2NhZGVMZXZlbDo6VXNlckFnZW50OgorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKIFByb3BlcnR5Q2FzY2FkZTo6RGlyZWN0aW9uIFByb3BlcnR5Q2FzY2FkZTo6cmVz
b2x2ZURpcmVjdGlvbkFuZFdyaXRpbmdNb2RlKERpcmVjdGlvbiBpbmhlcml0ZWREaXJlY3Rpb24p
IGNvbnN0CiB7CiAgICAgRGlyZWN0aW9uIHJlc3VsdCA9IGluaGVyaXRlZERpcmVjdGlvbjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmgKaW5kZXggODM3ZWZjYWQ0MTZmY2RkN2Zj
ZGEyY2NiZWU4NGE0YWVkODIyNjE3Zi4uM2ZhMWY4YmQ0MjMyZjIyYzVkMmE0N2ZmMjJlZDI3MGRm
OGJjNTA2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmgKQEAgLTQ2LDgg
KzQ2LDggQEAgcHVibGljOgogICAgICAgICBXcml0aW5nTW9kZSB3cml0aW5nTW9kZTsKICAgICB9
OwogCi0gICAgUHJvcGVydHlDYXNjYWRlKGNvbnN0IE1hdGNoUmVzdWx0JiwgQ2FzY2FkZUxldmVs
LCBJbmNsdWRlZFByb3BlcnRpZXMsIERpcmVjdGlvbik7Ci0gICAgUHJvcGVydHlDYXNjYWRlKGNv
bnN0IFByb3BlcnR5Q2FzY2FkZSYsIENhc2NhZGVMZXZlbCwgQ2FzY2FkZUxheWVyUHJpb3JpdHkg
bWF4aW11bUNhc2NhZGVMYXllclByaW9yaXR5ID0gUnVsZVNldDo6Y2FzY2FkZUxheWVyUHJpb3Jp
dHlGb3JVbmxheWVyZWQpOworICAgIFByb3BlcnR5Q2FzY2FkZShjb25zdCBNYXRjaFJlc3VsdCYs
IE9wdGlvblNldDxDYXNjYWRlTGV2ZWw+LCBJbmNsdWRlZFByb3BlcnRpZXMsIERpcmVjdGlvbik7
CisgICAgUHJvcGVydHlDYXNjYWRlKGNvbnN0IFByb3BlcnR5Q2FzY2FkZSYsIE9wdGlvblNldDxD
YXNjYWRlTGV2ZWw+KTsKIAogICAgIH5Qcm9wZXJ0eUNhc2NhZGUoKTsKIApAQCAtNTUsNyArNTUs
NiBAQCBwdWJsaWM6CiAgICAgICAgIENTU1Byb3BlcnR5SUQgaWQ7CiAgICAgICAgIENhc2NhZGVM
ZXZlbCBsZXZlbDsKICAgICAgICAgU2NvcGVPcmRpbmFsIHN0eWxlU2NvcGVPcmRpbmFsOwotICAg
ICAgICBDYXNjYWRlTGF5ZXJQcmlvcml0eSBjYXNjYWRlTGF5ZXJQcmlvcml0eTsKICAgICAgICAg
Q1NTVmFsdWUqIGNzc1ZhbHVlWzNdOyAvLyBWYWx1ZXMgZm9yIGxpbmsgbWF0Y2ggc3RhdGVzIE1h
dGNoRGVmYXVsdCwgTWF0Y2hMaW5rIGFuZCBNYXRjaFZpc2l0ZWQKICAgICB9OwogCkBAIC03MCwx
MSArNjksMTAgQEAgcHVibGljOgogCiAgICAgRGlyZWN0aW9uIGRpcmVjdGlvbigpIGNvbnN0Owog
Ci0gICAgYXV0byBtYXhpbXVtQ2FzY2FkZUxldmVsKCkgY29uc3QgeyByZXR1cm4gbV9tYXhpbXVt
Q2FzY2FkZUxldmVsOyB9Ci0gICAgYXV0byBtYXhpbXVtQ2FzY2FkZUxheWVyUHJpb3JpdHkoKSBj
b25zdCB7IHJldHVybiBtX21heGltdW1DYXNjYWRlTGF5ZXJQcmlvcml0eTsgfQorICAgIGNvbnN0
IFByb3BlcnR5Q2FzY2FkZSogcHJvcGVydHlDYXNjYWRlRm9yUm9sbGJhY2soQ2FzY2FkZUxldmVs
KSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGJ1aWxkQ2FzY2FkZSgpOworICAgIHZvaWQg
YnVpbGRDYXNjYWRlKE9wdGlvblNldDxDYXNjYWRlTGV2ZWw+KTsKICAgICBib29sIGFkZE5vcm1h
bE1hdGNoZXMoQ2FzY2FkZUxldmVsKTsKICAgICB2b2lkIGFkZEltcG9ydGFudE1hdGNoZXMoQ2Fz
Y2FkZUxldmVsKTsKICAgICBib29sIGFkZE1hdGNoKGNvbnN0IE1hdGNoZWRQcm9wZXJ0aWVzJiwg
Q2FzY2FkZUxldmVsLCBib29sIGltcG9ydGFudCk7CkBAIC04Nyw4ICs4NSw2IEBAIHByaXZhdGU6
CiAKICAgICBjb25zdCBNYXRjaFJlc3VsdCYgbV9tYXRjaFJlc3VsdDsKICAgICBjb25zdCBJbmNs
dWRlZFByb3BlcnRpZXMgbV9pbmNsdWRlZFByb3BlcnRpZXM7Ci0gICAgY29uc3QgQ2FzY2FkZUxl
dmVsIG1fbWF4aW11bUNhc2NhZGVMZXZlbDsKLSAgICBjb25zdCBDYXNjYWRlTGF5ZXJQcmlvcml0
eSBtX21heGltdW1DYXNjYWRlTGF5ZXJQcmlvcml0eSB7IFJ1bGVTZXQ6OmNhc2NhZGVMYXllclBy
aW9yaXR5Rm9yVW5sYXllcmVkIH07CiAgICAgbXV0YWJsZSBEaXJlY3Rpb24gbV9kaXJlY3Rpb247
CiAgICAgbXV0YWJsZSBib29sIG1fZGlyZWN0aW9uSXNVbnJlc29sdmVkIHsgdHJ1ZSB9OwogCkBA
IC05Nyw2ICs5Myw5IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8UHJvcGVydHksIDg+IG1fZGVm
ZXJyZWRQcm9wZXJ0aWVzOwogICAgIEhhc2hNYXA8QXRvbVN0cmluZywgUHJvcGVydHk+IG1fY3Vz
dG9tUHJvcGVydGllczsKKworICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPGNvbnN0IFByb3Bl
cnR5Q2FzY2FkZT4gbV9hdXRob3JSb2xsYmFja0Nhc2NhZGU7CisgICAgbXV0YWJsZSBzdGQ6OnVu
aXF1ZV9wdHI8Y29uc3QgUHJvcGVydHlDYXNjYWRlPiBtX3VzZXJSb2xsYmFja0Nhc2NhZGU7CiB9
OwogCiBpbmxpbmUgYm9vbCBQcm9wZXJ0eUNhc2NhZGU6Omhhc1Byb3BlcnR5KENTU1Byb3BlcnR5
SUQgaWQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKaW5kZXggMWE5NWQ1NzA2YmMwOGFkYTk3
M2MwNjFmZTc5YmUxZmI0Yjk2ZGU1ZC4uZjA0YTcyMDMwMzc2NTIxZjhiMzU2NTEwNDEwYzYyYTUw
NzBmMWRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaApAQCAtNDMsOCArNDMsNiBAQCBuYW1lc3Bh
Y2UgU3R5bGUgewogY2xhc3MgUmVzb2x2ZXI7CiBjbGFzcyBSdWxlU2V0OwogCi11c2luZyBDYXNj
YWRlTGF5ZXJQcmlvcml0eSA9IHVpbnQzMl90OwotCiB1c2luZyBJbnZhbGlkYXRpb25SdWxlU2V0
VmVjdG9yID0gVmVjdG9yPFJlZlB0cjxjb25zdCBSdWxlU2V0PiwgMT47CiAKIHN0cnVjdCBEeW5h
bWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFuZ2VzIHsKQEAgLTEwNSw4ICsxMDMsOCBAQCBwdWJs
aWM6CiAgICAgYm9vbCBoYXNTaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMoKSBjb25zdCB7IHJldHVy
biAhbV9zaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBoYXNI
b3N0UHNldWRvQ2xhc3NSdWxlc01hdGNoaW5nSW5TaGFkb3dUcmVlKCkgY29uc3QgeyByZXR1cm4g
bV9oYXNIb3N0UHNldWRvQ2xhc3NSdWxlc01hdGNoaW5nSW5TaGFkb3dUcmVlOyB9CiAKLSAgICBz
dGF0aWMgY29uc3RleHByIGF1dG8gY2FzY2FkZUxheWVyUHJpb3JpdHlGb3JVbmxheWVyZWQgPSBz
dGQ6Om51bWVyaWNfbGltaXRzPENhc2NhZGVMYXllclByaW9yaXR5Pjo6bWF4KCk7Ci0gICAgQ2Fz
Y2FkZUxheWVyUHJpb3JpdHkgY2FzY2FkZUxheWVyUHJpb3JpdHlGb3IoY29uc3QgUnVsZURhdGEm
KSBjb25zdDsKKyAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gY2FzY2FkZUxheWVyUHJpb3JpdHlG
b3JVbmxheWVyZWQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCk7CisgICAg
dW5zaWduZWQgY2FzY2FkZUxheWVyUHJpb3JpdHlGb3IoY29uc3QgUnVsZURhdGEmKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUnVsZVNldEJ1aWxkZXI7CkBAIC0xMzgsNyAr
MTM2LDcgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIENhc2NhZGVMYXllciYgY2FzY2FkZUxheWVy
Rm9ySWRlbnRpZmllcihDYXNjYWRlTGF5ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpIHsgcmV0dXJu
IG1fY2FzY2FkZUxheWVyc1tpZGVudGlmaWVyIC0gMV07IH0KICAgICBjb25zdCBDYXNjYWRlTGF5
ZXImIGNhc2NhZGVMYXllckZvcklkZW50aWZpZXIoQ2FzY2FkZUxheWVySWRlbnRpZmllciBpZGVu
dGlmaWVyKSBjb25zdCB7IHJldHVybiBtX2Nhc2NhZGVMYXllcnNbaWRlbnRpZmllciAtIDFdOyB9
Ci0gICAgQ2FzY2FkZUxheWVyUHJpb3JpdHkgY2FzY2FkZUxheWVyUHJpb3JpdHlGb3JJZGVudGlm
aWVyKENhc2NhZGVMYXllcklkZW50aWZpZXIpIGNvbnN0OworICAgIHVuc2lnbmVkIGNhc2NhZGVM
YXllclByaW9yaXR5Rm9ySWRlbnRpZmllcihDYXNjYWRlTGF5ZXJJZGVudGlmaWVyKSBjb25zdDsK
IAogICAgIHN0cnVjdCBEeW5hbWljTWVkaWFRdWVyeVJ1bGVzIHsKICAgICAgICAgVmVjdG9yPFJl
Zjxjb25zdCBNZWRpYVF1ZXJ5U2V0Pj4gbWVkaWFRdWVyeVNldHM7CkBAIC0xOTUsMTQgKzE5Mywx
NCBAQCBpbmxpbmUgY29uc3QgUnVsZVNldDo6UnVsZURhdGFWZWN0b3IqIFJ1bGVTZXQ6OnRhZ1J1
bGVzKGNvbnN0IEF0b21TdHJpbmcmIGtleSwgYgogICAgIHJldHVybiB0YWdSdWxlcy0+Z2V0KGtl
eSk7CiB9CiAKLWlubGluZSBDYXNjYWRlTGF5ZXJQcmlvcml0eSBSdWxlU2V0OjpjYXNjYWRlTGF5
ZXJQcmlvcml0eUZvcklkZW50aWZpZXIoQ2FzY2FkZUxheWVySWRlbnRpZmllciBpZGVudGlmaWVy
KSBjb25zdAoraW5saW5lIHVuc2lnbmVkIFJ1bGVTZXQ6OmNhc2NhZGVMYXllclByaW9yaXR5Rm9y
SWRlbnRpZmllcihDYXNjYWRlTGF5ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpIGNvbnN0CiB7CiAg
ICAgaWYgKCFpZGVudGlmaWVyKQogICAgICAgICByZXR1cm4gY2FzY2FkZUxheWVyUHJpb3JpdHlG
b3JVbmxheWVyZWQ7CiAgICAgcmV0dXJuIGNhc2NhZGVMYXllckZvcklkZW50aWZpZXIoaWRlbnRp
ZmllcikucHJpb3JpdHk7CiB9CiAKLWlubGluZSBDYXNjYWRlTGF5ZXJQcmlvcml0eSBSdWxlU2V0
OjpjYXNjYWRlTGF5ZXJQcmlvcml0eUZvcihjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEpIGNvbnN0
CitpbmxpbmUgdW5zaWduZWQgUnVsZVNldDo6Y2FzY2FkZUxheWVyUHJpb3JpdHlGb3IoY29uc3Qg
UnVsZURhdGEmIHJ1bGVEYXRhKSBjb25zdAogewogICAgIGlmIChtX2Nhc2NhZGVMYXllcklkZW50
aWZpZXJGb3JSdWxlUG9zaXRpb24uc2l6ZSgpIDw9IHJ1bGVEYXRhLnBvc2l0aW9uKCkpCiAgICAg
ICAgIHJldHVybiBjYXNjYWRlTGF5ZXJQcmlvcml0eUZvclVubGF5ZXJlZDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXIuY3BwCmluZGV4IDMzMTEzZGMwMTljZDY2NThkMWVjMTE1NDk3YWU0
N2Y0NzZmOTdmMTQuLjlkNmM2YjQzOTkwYThhOWJlMTBiNjIyNzNkMDc5MmI5OGJlNThhOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyLmNwcApAQCAtODAsOCArODAsOCBAQCBpbmxp
bmUgYm9vbCBpc1ZhbGlkVmlzaXRlZExpbmtQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkKQogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotQnVpbGRlcjo6QnVpbGRlcihSZW5kZXJTdHlsZSYgc3R5bGUs
IEJ1aWxkZXJDb250ZXh0JiYgY29udGV4dCwgY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0
LCBDYXNjYWRlTGV2ZWwgY2FzY2FkZUxldmVsLCBQcm9wZXJ0eUNhc2NhZGU6OkluY2x1ZGVkUHJv
cGVydGllcyBpbmNsdWRlZFByb3BlcnRpZXMpCi0gICAgOiBtX2Nhc2NhZGUobWF0Y2hSZXN1bHQs
IGNhc2NhZGVMZXZlbCwgaW5jbHVkZWRQcm9wZXJ0aWVzLCBkaXJlY3Rpb25Gcm9tU3R5bGUoc3R5
bGUpKQorQnVpbGRlcjo6QnVpbGRlcihSZW5kZXJTdHlsZSYgc3R5bGUsIEJ1aWxkZXJDb250ZXh0
JiYgY29udGV4dCwgY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0LCBPcHRpb25TZXQ8Q2Fz
Y2FkZUxldmVsPiBjYXNjYWRlTGV2ZWxzLCBQcm9wZXJ0eUNhc2NhZGU6OkluY2x1ZGVkUHJvcGVy
dGllcyBpbmNsdWRlZFByb3BlcnRpZXMpCisgICAgOiBtX2Nhc2NhZGUobWF0Y2hSZXN1bHQsIGNh
c2NhZGVMZXZlbHMsIGluY2x1ZGVkUHJvcGVydGllcywgZGlyZWN0aW9uRnJvbVN0eWxlKHN0eWxl
KSkKICAgICAsIG1fc3RhdGUoKnRoaXMsIHN0eWxlLCBXVEZNb3ZlKGNvbnRleHQpKQogewogfQpA
QCAtMTIxLDYgKzEyMSwxNiBAQCB2b2lkIEJ1aWxkZXI6OmFwcGx5TG93UHJpb3JpdHlQcm9wZXJ0
aWVzKCkKICAgICBBU1NFUlQoIW1fc3RhdGUuZm9udERpcnR5KCkpOwogfQogCit2b2lkIEJ1aWxk
ZXI6OmFwcGx5UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIENTU1ZhbHVl
KiB2YWx1ZSkKK3sKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm47CisKKyAgICBhcHBs
eVByb3BlcnR5KHByb3BlcnR5SUQsICp2YWx1ZSwgU2VsZWN0b3JDaGVja2VyOjpNYXRjaERlZmF1
bHQpOworCisgICAgbV9zdGF0ZS51cGRhdGVGb250KCk7Cit9CisKIHZvaWQgQnVpbGRlcjo6YXBw
bHlEZWZlcnJlZFByb3BlcnRpZXMoKQogewogICAgIGZvciAoYXV0byYgcHJvcGVydHkgOiBtX2Nh
c2NhZGUuZGVmZXJyZWRQcm9wZXJ0aWVzKCkpCkBAIC0yMzUsNyArMjQ1LDYgQEAgaW5saW5lIHZv
aWQgQnVpbGRlcjo6YXBwbHlDYXNjYWRlUHJvcGVydHkoY29uc3QgUHJvcGVydHlDYXNjYWRlOjpQ
cm9wZXJ0eSYgcHJvcGUKIHsKICAgICBtX3N0YXRlLm1fY2FzY2FkZUxldmVsID0gcHJvcGVydHku
bGV2ZWw7CiAgICAgbV9zdGF0ZS5tX3N0eWxlU2NvcGVPcmRpbmFsID0gcHJvcGVydHkuc3R5bGVT
Y29wZU9yZGluYWw7Ci0gICAgbV9zdGF0ZS5tX2Nhc2NhZGVMYXllclByaW9yaXR5ID0gcHJvcGVy
dHkuY2FzY2FkZUxheWVyUHJpb3JpdHk7CiAKICAgICBhdXRvIGFwcGx5V2l0aExpbmtNYXRjaCA9
IFsmXShTZWxlY3RvckNoZWNrZXI6OkxpbmtNYXRjaE1hc2sgbGlua01hdGNoKSB7CiAgICAgICAg
IGlmIChwcm9wZXJ0eS5jc3NWYWx1ZVtsaW5rTWF0Y2hdKSB7CkBAIC0yODYsMjcgKzI5NSwyMSBA
QCB2b2lkIEJ1aWxkZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUm
IHZhbHVlLCBTZWxlY3RvckNoZWNrZXI6OgogCiAgICAgYm9vbCBpc1Vuc2V0ID0gdmFsdWVUb0Fw
cGx5LT5pc1Vuc2V0VmFsdWUoKSB8fCBjdXN0b21Qcm9wZXJ0eVZhbHVlSUQgPT0gQ1NTVmFsdWVV
bnNldDsKICAgICBib29sIGlzUmV2ZXJ0ID0gdmFsdWVUb0FwcGx5LT5pc1JldmVydFZhbHVlKCkg
fHwgY3VzdG9tUHJvcGVydHlWYWx1ZUlEID09IENTU1ZhbHVlUmV2ZXJ0OwotICAgIGJvb2wgaXNS
ZXZlcnRMYXllciA9IHZhbHVlVG9BcHBseS0+aXNSZXZlcnRMYXllclZhbHVlKCkgfHwgY3VzdG9t
UHJvcGVydHlWYWx1ZUlEID09IENTU1ZhbHVlUmV2ZXJ0TGF5ZXI7Ci0KLSAgICBpZiAoaXNSZXZl
cnQgfHwgaXNSZXZlcnRMYXllcikgewotICAgICAgICBhdXRvKiByb2xsYmFja0Nhc2NhZGUgPSBp
c1JldmVydAotICAgICAgICAgICAgPyBlbnN1cmVSb2xsYmFja0Nhc2NhZGVGb3JSZXZlcnQobV9z
dGF0ZS5tX2Nhc2NhZGVMZXZlbCkKLSAgICAgICAgICAgIDogZW5zdXJlUm9sbGJhY2tDYXNjYWRl
Rm9yUmV2ZXJ0TGF5ZXIobV9zdGF0ZS5tX2Nhc2NhZGVMZXZlbCwgbV9zdGF0ZS5tX2Nhc2NhZGVM
YXllclByaW9yaXR5KTsKIAotICAgICAgICBpZiAocm9sbGJhY2tDYXNjYWRlKSB7CisgICAgaWYg
KGlzUmV2ZXJ0KSB7CisgICAgICAgIGlmIChhdXRvKiByb2xsYmFjayA9IG1fY2FzY2FkZS5wcm9w
ZXJ0eUNhc2NhZGVGb3JSb2xsYmFjayhtX3N0YXRlLm1fY2FzY2FkZUxldmVsKSkgewogICAgICAg
ICAgICAgLy8gV2l0aCB0aGUgcm9sbGJhY2sgY2FzY2FkZSBidWlsdCwgd2UgbmVlZCB0byBvYnRh
aW4gdGhlIHByb3BlcnR5IGFuZCBhcHBseSBpdC4gSWYgdGhlIHByb3BlcnR5IGlzCi0gICAgICAg
ICAgICAvLyBub3QgcHJlc2VudCwgdGhlbiB3ZSBiZWhhdmUgbGlrZSAidW5zZXQuIiBPdGhlcndp
c2Ugd2UgYXBwbHkgdGhlIHByb3BlcnR5IGluc3RlYWQgb2Ygb3VyIG93bi4KLSAgICAgICAgICAg
IFNldEZvclNjb3BlIGNhc2NhZGVMZXZlbFNjb3BlKG1fc3RhdGUubV9jYXNjYWRlTGV2ZWwsIHJv
bGxiYWNrQ2FzY2FkZS0+bWF4aW11bUNhc2NhZGVMZXZlbCgpKTsKLSAgICAgICAgICAgIFNldEZv
clNjb3BlIGNhc2NhZGVMYXllclByaW9yaXR5U2NvcGUobV9zdGF0ZS5tX2Nhc2NhZGVMYXllclBy
aW9yaXR5LCByb2xsYmFja0Nhc2NhZGUtPm1heGltdW1DYXNjYWRlTGF5ZXJQcmlvcml0eSgpKTsK
KyAgICAgICAgICAgIC8vIG5vdCBwcmVzZW50LCB0aGVuIHdlIGJlaGF2ZSBsaWtlICJ1bnNldC4i
IE90aGVyd2lzZSB3ZSBhcHBseSB0aGUgcHJvcGVydHkgaW5zdGVhZCBvZgorICAgICAgICAgICAg
Ly8gb3VyIG93bi4KICAgICAgICAgICAgIGlmIChjdXN0b21Qcm9wZXJ0eVZhbHVlKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKGN1c3RvbVByb3BlcnR5UmVnaXN0ZXJlZCAmJiBjdXN0b21Qcm9wZXJ0
eVJlZ2lzdGVyZWQtPmluaGVyaXRzICYmIHJvbGxiYWNrQ2FzY2FkZS0+aGFzQ3VzdG9tUHJvcGVy
dHkoY3VzdG9tUHJvcGVydHlWYWx1ZS0+bmFtZSgpKSkgewotICAgICAgICAgICAgICAgICAgICBh
dXRvIHByb3BlcnR5ID0gcm9sbGJhY2tDYXNjYWRlLT5jdXN0b21Qcm9wZXJ0eShjdXN0b21Qcm9w
ZXJ0eVZhbHVlLT5uYW1lKCkpOworICAgICAgICAgICAgICAgIGlmIChjdXN0b21Qcm9wZXJ0eVJl
Z2lzdGVyZWQgJiYgY3VzdG9tUHJvcGVydHlSZWdpc3RlcmVkLT5pbmhlcml0cyAmJiByb2xsYmFj
ay0+aGFzQ3VzdG9tUHJvcGVydHkoY3VzdG9tUHJvcGVydHlWYWx1ZS0+bmFtZSgpKSkgeworICAg
ICAgICAgICAgICAgICAgICBhdXRvIHByb3BlcnR5ID0gcm9sbGJhY2stPmN1c3RvbVByb3BlcnR5
KGN1c3RvbVByb3BlcnR5VmFsdWUtPm5hbWUoKSk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChw
cm9wZXJ0eS5jc3NWYWx1ZVtsaW5rTWF0Y2hNYXNrXSkKICAgICAgICAgICAgICAgICAgICAgICAg
IGFwcGx5UHJvcGVydHkocHJvcGVydHkuaWQsICpwcm9wZXJ0eS5jc3NWYWx1ZVtsaW5rTWF0Y2hN
YXNrXSwgbGlua01hdGNoTWFzayk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHJvbGxiYWNrQ2FzY2FkZS0+aGFz
UHJvcGVydHkoaWQpKSB7Ci0gICAgICAgICAgICAgICAgYXV0byYgcHJvcGVydHkgPSByb2xsYmFj
a0Nhc2NhZGUtPnByb3BlcnR5KGlkKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAocm9sbGJhY2st
Pmhhc1Byb3BlcnR5KGlkKSkgeworICAgICAgICAgICAgICAgIGF1dG8mIHByb3BlcnR5ID0gcm9s
bGJhY2stPnByb3BlcnR5KGlkKTsKICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkuY3NzVmFs
dWVbbGlua01hdGNoTWFza10pCiAgICAgICAgICAgICAgICAgICAgIGFwcGx5UHJvcGVydHkocHJv
cGVydHkuaWQsICpwcm9wZXJ0eS5jc3NWYWx1ZVtsaW5rTWF0Y2hNYXNrXSwgbGlua01hdGNoTWFz
ayk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzcwLDMyICszNzMsNSBAQCBSZWZQdHI8
Q1NTVmFsdWU+IEJ1aWxkZXI6OnJlc29sdmVkVmFyaWFibGVWYWx1ZShDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5SUQsIGNvbnN0CiAgICAgcmV0dXJuIENTU1BhcnNlcihtX3N0YXRlLmRvY3VtZW50KCkp
LnBhcnNlVmFsdWVXaXRoVmFyaWFibGVSZWZlcmVuY2VzKHByb3BlcnR5SUQsIHZhbHVlLCBtX3N0
YXRlKTsKIH0KIAotY29uc3QgUHJvcGVydHlDYXNjYWRlKiBCdWlsZGVyOjplbnN1cmVSb2xsYmFj
a0Nhc2NhZGVGb3JSZXZlcnQoQ2FzY2FkZUxldmVsIHJvbGxiYWNrQ2FzY2FkZUxldmVsKQotewot
ICAgIGlmIChyb2xsYmFja0Nhc2NhZGVMZXZlbCA9PSBDYXNjYWRlTGV2ZWw6OlVzZXJBZ2VudCkK
LSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvIGtleSA9IG1ha2VSb2xsYmFja0Nh
c2NhZGVLZXkocm9sbGJhY2tDYXNjYWRlTGV2ZWwsIFJ1bGVTZXQ6OmNhc2NhZGVMYXllclByaW9y
aXR5Rm9yVW5sYXllcmVkKTsKLSAgICByZXR1cm4gbV9yb2xsYmFja0Nhc2NhZGVzLmVuc3VyZShr
ZXksIFsmXSB7Ci0gICAgICAgIHJldHVybiBtYWtlVW5pcXVlPGNvbnN0IFByb3BlcnR5Q2FzY2Fk
ZT4obV9jYXNjYWRlLCAtLXJvbGxiYWNrQ2FzY2FkZUxldmVsLCBSdWxlU2V0OjpjYXNjYWRlTGF5
ZXJQcmlvcml0eUZvclVubGF5ZXJlZCk7Ci0gICAgfSkuaXRlcmF0b3ItPnZhbHVlLmdldCgpOwot
fQotCi1jb25zdCBQcm9wZXJ0eUNhc2NhZGUqIEJ1aWxkZXI6OmVuc3VyZVJvbGxiYWNrQ2FzY2Fk
ZUZvclJldmVydExheWVyKENhc2NhZGVMZXZlbCBjYXNjYWRlTGV2ZWwsIENhc2NhZGVMYXllclBy
aW9yaXR5IHJvbGxiYWNrTGF5ZXJQcmlvcml0eSkKLXsKLSAgICBpZiAoIXJvbGxiYWNrTGF5ZXJQ
cmlvcml0eSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvIGtleSA9IG1ha2VS
b2xsYmFja0Nhc2NhZGVLZXkoY2FzY2FkZUxldmVsLCByb2xsYmFja0xheWVyUHJpb3JpdHkpOwot
ICAgIHJldHVybiBtX3JvbGxiYWNrQ2FzY2FkZXMuZW5zdXJlKGtleSwgWyZdIHsKLSAgICAgICAg
cmV0dXJuIG1ha2VVbmlxdWU8Y29uc3QgUHJvcGVydHlDYXNjYWRlPihtX2Nhc2NhZGUsIGNhc2Nh
ZGVMZXZlbCwgcm9sbGJhY2tMYXllclByaW9yaXR5IC0gMSk7Ci0gICAgfSkuaXRlcmF0b3ItPnZh
bHVlLmdldCgpOwotfQotCi1hdXRvIEJ1aWxkZXI6Om1ha2VSb2xsYmFja0Nhc2NhZGVLZXkoQ2Fz
Y2FkZUxldmVsIGNhc2NhZGVMZXZlbCwgQ2FzY2FkZUxheWVyUHJpb3JpdHkgY2FzY2FkZUxheWVy
UHJpb3JpdHkpIC0+IFJvbGxiYWNrQ2FzY2FkZUtleQotewotICAgIHJldHVybiB7IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihjYXNjYWRlTGV2ZWwpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY2FzY2Fk
ZUxheWVyUHJpb3JpdHkpIH07Ci19Ci0KIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
LmgKaW5kZXggNzVmM2EyMzZhMThhNjA4NWMzMWEzOWUzNzJiYjcyZGFmMjA4NTE5Yi4uMTBhZTY3
NjIyNTk2ZTE0YTY0MWEzMDBlYWYzOGRlYmMzZDBiMmY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFN0eWxlIHsKIGNsYXNzIEJ1
aWxkZXIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEJ1aWxk
ZXIoUmVuZGVyU3R5bGUmLCBCdWlsZGVyQ29udGV4dCYmLCBjb25zdCBNYXRjaFJlc3VsdCYsIENh
c2NhZGVMZXZlbCwgUHJvcGVydHlDYXNjYWRlOjpJbmNsdWRlZFByb3BlcnRpZXMgPSBQcm9wZXJ0
eUNhc2NhZGU6OkluY2x1ZGVkUHJvcGVydGllczo6QWxsKTsKKyAgICBCdWlsZGVyKFJlbmRlclN0
eWxlJiwgQnVpbGRlckNvbnRleHQmJiwgY29uc3QgTWF0Y2hSZXN1bHQmLCBPcHRpb25TZXQ8Q2Fz
Y2FkZUxldmVsPiwgUHJvcGVydHlDYXNjYWRlOjpJbmNsdWRlZFByb3BlcnRpZXMgPSBQcm9wZXJ0
eUNhc2NhZGU6OkluY2x1ZGVkUHJvcGVydGllczo6QWxsKTsKICAgICB+QnVpbGRlcigpOwogCiAg
ICAgdm9pZCBhcHBseUFsbFByb3BlcnRpZXMoKTsKQEAgLTQ1LDYgKzQ1LDggQEAgcHVibGljOgog
ICAgIHZvaWQgYXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpIHsgYXBwbHlQ
cm9wZXJ0aWVzKHByb3BlcnR5SUQsIHByb3BlcnR5SUQpOyB9CiAgICAgdm9pZCBhcHBseUN1c3Rv
bVByb3BlcnR5KGNvbnN0IFN0cmluZyYgbmFtZSk7CiAKKyAgICB2b2lkIGFwcGx5UHJvcGVydHlW
YWx1ZShDU1NQcm9wZXJ0eUlELCBDU1NWYWx1ZSopOworCiAgICAgQnVpbGRlclN0YXRlJiBzdGF0
ZSgpIHsgcmV0dXJuIG1fc3RhdGU7IH0KIAogcHJpdmF0ZToKQEAgLTYxLDE2ICs2Myw3IEBAIHBy
aXZhdGU6CiAgICAgUmVmPENTU1ZhbHVlPiByZXNvbHZlVmFsdWUoQ1NTUHJvcGVydHlJRCwgQ1NT
VmFsdWUmKTsKICAgICBSZWZQdHI8Q1NTVmFsdWU+IHJlc29sdmVkVmFyaWFibGVWYWx1ZShDU1NQ
cm9wZXJ0eUlELCBjb25zdCBDU1NWYWx1ZSYpOwogCi0gICAgY29uc3QgUHJvcGVydHlDYXNjYWRl
KiBlbnN1cmVSb2xsYmFja0Nhc2NhZGVGb3JSZXZlcnQoQ2FzY2FkZUxldmVsKTsKLSAgICBjb25z
dCBQcm9wZXJ0eUNhc2NhZGUqIGVuc3VyZVJvbGxiYWNrQ2FzY2FkZUZvclJldmVydExheWVyKENh
c2NhZGVMZXZlbCwgQ2FzY2FkZUxheWVyUHJpb3JpdHkpOwotCi0gICAgdXNpbmcgUm9sbGJhY2tD
YXNjYWRlS2V5ID0gc3RkOjpwYWlyPHVuc2lnbmVkLCB1bnNpZ25lZD47Ci0gICAgUm9sbGJhY2tD
YXNjYWRlS2V5IG1ha2VSb2xsYmFja0Nhc2NhZGVLZXkoQ2FzY2FkZUxldmVsLCBDYXNjYWRlTGF5
ZXJQcmlvcml0eSk7Ci0KICAgICBjb25zdCBQcm9wZXJ0eUNhc2NhZGUgbV9jYXNjYWRlOwotICAg
IC8vIFJvbGxiYWNrIGNhc2NhZGVzIGFyZSBidWlsZCBvbiBkZW1hbmQgdG8gcmVzb2x2ZSAncmV2
ZXJ0JyBhbmQgJ3JldmVydC1sYXllcicga2V5d29yZHMuCi0gICAgSGFzaE1hcDxSb2xsYmFja0Nh
c2NhZGVLZXksIHN0ZDo6dW5pcXVlX3B0cjxjb25zdCBQcm9wZXJ0eUNhc2NhZGU+PiBtX3JvbGxi
YWNrQ2FzY2FkZXM7Ci0KICAgICBCdWlsZGVyU3RhdGUgbV9zdGF0ZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlclN0YXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJTdGF0ZS5oCmluZGV4IGVhMWE1YjUxZGQ4YTJkZWYzNjY1
ZDY1Y2RiNGQ5YjVjYzNjOWI2ZWMuLjJlYmMxZGI3N2JjM2Q2YWFjYjJmODIwYzE1ZWU3Zjk0Y2Qy
MDhiOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlclN0YXRl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyU3RhdGUuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkNTU1RvU3R5bGVNYXAuaCIKICNpbmNsdWRlICJDYXNjYWRl
TGV2ZWwuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlJ1bGVTZXQuaCIK
ICNpbmNsdWRlICJTZWxlY3RvckNoZWNrZXIuaCIKICNpbmNsdWRlIDx3dGYvQml0bWFwLmg+CiAK
QEAgLTEzNyw3ICsxMzYsNiBAQCBwcml2YXRlOgogCiAgICAgQ2FzY2FkZUxldmVsIG1fY2FzY2Fk
ZUxldmVsIHsgfTsKICAgICBTY29wZU9yZGluYWwgbV9zdHlsZVNjb3BlT3JkaW5hbCB7IH07Ci0g
ICAgQ2FzY2FkZUxheWVyUHJpb3JpdHkgbV9jYXNjYWRlTGF5ZXJQcmlvcml0eSB7IH07CiAgICAg
U2VsZWN0b3JDaGVja2VyOjpMaW5rTWF0Y2hNYXNrIG1fbGlua01hdGNoIHsgfTsKIAogICAgIGJv
b2wgbV9mb250RGlydHkgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCA4ZWEzOWNiZDAzYzhhM2E0ZDkyNjlkNjA4ZTg1MmEzN2EzMzZjZGNiLi5kNmE2
NjI1Y2ZmYjAxZWU4MzJjZmM5NjJiMWQ0MjY4YWQ4Y2M4ZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVJlc29sdmVyLmNwcApAQCAtMjgzLDcgKzI4Myw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJTdHlsZT4gUmVzb2x2ZXI6OnN0eWxlRm9yS2V5ZnJhbWUoY29uc3QgRWxlbWVudCYgZWxl
bWVudCwKICAgICBzdGF0ZS5zZXRTdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKmVsZW1lbnRT
dHlsZSkpOwogICAgIHN0YXRlLnNldFBhcmVudFN0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0cihj
b250ZXh0LnBhcmVudFN0eWxlID8gKmNvbnRleHQucGFyZW50U3R5bGUgOiAqZWxlbWVudFN0eWxl
KSk7CiAKLSAgICBCdWlsZGVyIGJ1aWxkZXIoKnN0YXRlLnN0eWxlKCksIGJ1aWxkZXJDb250ZXh0
KHN0YXRlKSwgcmVzdWx0LCBDYXNjYWRlTGV2ZWw6OkF1dGhvcik7CisgICAgQnVpbGRlciBidWls
ZGVyKCpzdGF0ZS5zdHlsZSgpLCBidWlsZGVyQ29udGV4dChzdGF0ZSksIHJlc3VsdCwgeyBDYXNj
YWRlTGV2ZWw6OkF1dGhvciB9KTsKICAgICBidWlsZGVyLmFwcGx5QWxsUHJvcGVydGllcygpOwog
CiAgICAgQWRqdXN0ZXIgYWRqdXN0ZXIoZG9jdW1lbnQoKSwgKnN0YXRlLnBhcmVudFN0eWxlKCks
IG51bGxwdHIsIG51bGxwdHIpOwpAQCAtNDM2LDcgKzQzNiw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJTdHlsZT4gUmVzb2x2ZXI6OnN0eWxlRm9yUGFnZShpbnQgcGFnZUluZGV4KQogCiAgICAg
YXV0byYgcmVzdWx0ID0gY29sbGVjdG9yLm1hdGNoUmVzdWx0KCk7CiAKLSAgICBCdWlsZGVyIGJ1
aWxkZXIoKnN0YXRlLnN0eWxlKCksIGJ1aWxkZXJDb250ZXh0KHN0YXRlKSwgcmVzdWx0LCBDYXNj
YWRlTGV2ZWw6OkF1dGhvcik7CisgICAgQnVpbGRlciBidWlsZGVyKCpzdGF0ZS5zdHlsZSgpLCBi
dWlsZGVyQ29udGV4dChzdGF0ZSksIHJlc3VsdCwgeyBDYXNjYWRlTGV2ZWw6OkF1dGhvciB9KTsK
ICAgICBidWlsZGVyLmFwcGx5QWxsUHJvcGVydGllcygpOwogCiAgICAgLy8gTm93IHJldHVybiB0
aGUgc3R5bGUuCkBAIC01NTUsMTMgKzU1NSwxMyBAQCB2b2lkIFJlc29sdmVyOjphcHBseU1hdGNo
ZWRQcm9wZXJ0aWVzKFN0YXRlJiBzdGF0ZSwgY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdQog
ICAgICAgICAvLyBJZiBzbywgd2UgY2FjaGUgdGhlIGJvcmRlciBhbmQgYmFja2dyb3VuZCBzdHls
ZXMgc28gdGhhdCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoKQogICAgICAgICAvLyBjYW4gbG9v
ayBhdCB0aGVtIGxhdGVyIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBhIHN0eWxlZCBmb3JtIGNv
bnRyb2wgb3Igbm90LgogICAgICAgICBhdXRvIHVzZXJBZ2VudFN0eWxlID0gUmVuZGVyU3R5bGU6
OmNsb25lUHRyKHN0eWxlKTsKLSAgICAgICAgQnVpbGRlciBidWlsZGVyKCp1c2VyQWdlbnRTdHls
ZSwgYnVpbGRlckNvbnRleHQoc3RhdGUpLCBtYXRjaFJlc3VsdCwgQ2FzY2FkZUxldmVsOjpVc2Vy
QWdlbnQpOworICAgICAgICBCdWlsZGVyIGJ1aWxkZXIoKnVzZXJBZ2VudFN0eWxlLCBidWlsZGVy
Q29udGV4dChzdGF0ZSksIG1hdGNoUmVzdWx0LCB7IENhc2NhZGVMZXZlbDo6VXNlckFnZW50IH0p
OwogICAgICAgICBidWlsZGVyLmFwcGx5QWxsUHJvcGVydGllcygpOwogCiAgICAgICAgIHN0YXRl
LnNldFVzZXJBZ2VudEFwcGVhcmFuY2VTdHlsZShXVEZNb3ZlKHVzZXJBZ2VudFN0eWxlKSk7CiAg
ICAgfQogCi0gICAgQnVpbGRlciBidWlsZGVyKCpzdGF0ZS5zdHlsZSgpLCBidWlsZGVyQ29udGV4
dChzdGF0ZSksIG1hdGNoUmVzdWx0LCBDYXNjYWRlTGV2ZWw6OkF1dGhvciwgaW5jbHVkZWRQcm9w
ZXJ0aWVzKTsKKyAgICBCdWlsZGVyIGJ1aWxkZXIoKnN0YXRlLnN0eWxlKCksIGJ1aWxkZXJDb250
ZXh0KHN0YXRlKSwgbWF0Y2hSZXN1bHQsIGFsbENhc2NhZGVMZXZlbHMoKSwgaW5jbHVkZWRQcm9w
ZXJ0aWVzKTsKIAogICAgIC8vIEhpZ2ggcHJpb3JpdHkgcHJvcGVydGllcyBtYXkgYWZmZWN0IHJl
c29sdXRpb24gb2Ygb3RoZXIgcHJvcGVydGllcyAodGhleSBhcmUgbW9zdGx5IGZvbnQgcmVsYXRl
ZCkuCiAgICAgYnVpbGRlci5hcHBseUhpZ2hQcmlvcml0eVByb3BlcnRpZXMoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3
YThiZTEzOWMzNThjZDE1M2E5NjFhYmMxNjQwZTZmYjdkOTZlNmE3Li5lNTdkZDY4MzJmNjE1MzNm
ZTY0YTg2MDI0MTEzNzczN2FiYmFmOGU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTEt
MDkgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMjg1NDg2LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyODc2CisKKyAgICAgICAgTWFkZSBmYXN0L3J1YnkvZ2Vu
ZXJhdGVkLWJlZm9yZS1jb3VudGVyLWRvZXNudC1jcmFzaC5odG1sCisgICAgICAgIGZsYWt5LCBw
b3NzaWJseSBpbmRpY2F0aW5nIHBlcmYgcHJvYmxlbQorCisgICAgICAgIFJldmVydGVkIGNoYW5n
ZXNldDoKKworICAgICAgICAiW0NTUyBDYXNjYWRlIExheWVyc10gU3VwcG9ydCAncmV2ZXJ0LWxh
eWVyJyB2YWx1ZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMjIzNgorICAgICAgICBodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9yMjg1NDg2CisK
IDIwMjEtMTEtMDkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAg
IFtDU1MgQ2FzY2FkZSBMYXllcnNdIFN1cHBvcnQgJ3JldmVydC1sYXllcicgdmFsdWUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDRlZTRkOTg4NWVlODhhNTI1MWQxNDZlNDhkODY2
MzNkZDEzNTc4NjUuLmNiODIzYWVhYTQxNjQxOGJlZmJmZjU3MDJhNWMwNjcxMjg1YmMwNWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTExLTA5
ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI4NTQ4Ni4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjg3NgorCisgICAgICAgIE1hZGUgZmFzdC9ydWJ5L2dlbmVy
YXRlZC1iZWZvcmUtY291bnRlci1kb2VzbnQtY3Jhc2guaHRtbAorICAgICAgICBmbGFreSwgcG9z
c2libHkgaW5kaWNhdGluZyBwZXJmIHByb2JsZW0KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2Vz
ZXQ6CisKKyAgICAgICAgIltDU1MgQ2FzY2FkZSBMYXllcnNdIFN1cHBvcnQgJ3JldmVydC1sYXll
cicgdmFsdWUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzIyMzYKKyAgICAgICAgaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvcjI4NTQ4NgorCiAy
MDIxLTExLTA5ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmViYXNl
bGluZSB3aWxsLWNoYW5nZS1pbnZhbGlkLmh0bWwgYWZ0ZXIgcjI4NTQ4NyAmIHIyODU0ODYKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDRiNmNmMTAwMGVhYjA4ZjIyYzc1YmVhNTBmODIyNjg4MGFkZTY3
OWIuLmFmZDdiOTMyN2U1MjNiYmJhNmI2MWE0ZjdkNTc1MDQ4NDNkMmRhODggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjE0OSw2ICsyMTQ5LDEzIEBAIHdlYmtpdC5vcmcvYi8xNDg2NTAgZmFzdC9y
ZXBhaW50L2FkZC10YWJsZS1vdmVycGFpbnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2ltcG9ydGFudC1wcm9w
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xODcwOTMgWyBEZWJ1ZyBd
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL2FsbC1wcm9w
LWluaXRpYWwteG1sLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8yMzIyMzYgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvcmV2ZXJ0LWxheWVyLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjMyMjM2IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL3JldmVydC1sYXllci0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzIzMjIzNiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9yZXZlcnQtbGF5ZXItMDAzLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMzIyMzYgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvcmV2ZXJ0LWxheWVyLTAwNC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjMyMjM2IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL3JldmVydC1sYXllci0wMDUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzIzMjIzNiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9yZXZlcnQtbGF5ZXItMDA2Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMzIyMzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNhc2NhZGUvcmV2ZXJ0LWxheWVyLTAwNy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNDg4MDEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3Q0MjItcmdiYS1vbnNjcmVlbi1iLnhodCBbIEltYWdl
T25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0ODgwMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvdDQyMi1yZ2JhLW9uc2NyZWVuLW11bHRpcGxlLWJveGVz
LWMueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY2FzY2FkZS9yZXZlcnQtbGF5ZXIt
MDA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jYXNjYWRlL3JldmVydC1sYXllci0wMDgtZXhwZWN0ZWQudHh0CmluZGV4
IDEyN2I2ZjNiNTQyYmJlYTg4Njg4YzQ1MzY0ZjY0N2M4NzcyZmYwZGEuLjcxNDFhYzBiMDM5MDNm
MjI3NjQxMzM1OGM1YmRiODY2MzY2Mzg0ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL3JldmVydC1sYXllci0w
MDgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jYXNjYWRlL3JldmVydC1sYXllci0wMDgtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1QQVNTICdyZXZlcnQtbGF5ZXInIHNob3VsZCByZXZlcnQgZm9udC1z
aXplIHRvIDIwcHggYW5kIHRyaWdnZXIgYSBzbW9vdGggdHJhbnNpdGlvbgorRkFJTCAncmV2ZXJ0
LWxheWVyJyBzaG91bGQgcmV2ZXJ0IGZvbnQtc2l6ZSB0byAyMHB4IGFuZCB0cmlnZ2VyIGEgc21v
b3RoIHRyYW5zaXRpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE1cHgiIGJ1dCBnb3QgIjEw
cHgiCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>