<?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>137440</bug_id>
          
          <creation_ts>2014-10-05 18:26:11 -0700</creation_ts>
          <short_desc>Use is&lt;&gt;() / downcast&lt;&gt;() for ScrollingCoordinator / ScrollingStateNode subclasses</short_desc>
          <delta_ts>2014-10-05 22:14:48 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>137056</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>jamesr</cc>
    
    <cc>kling</cc>
    
    <cc>luiz</cc>
    
    <cc>rniwa</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039643</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-05 18:26:11 -0700</bug_when>
    <thetext>Use is&lt;&gt;() / downcast&lt;&gt;() for ScrollingCoordinator / ScrollingStateNode subclasses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039644</commentid>
    <comment_count>1</comment_count>
      <attachid>239310</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-05 18:30:06 -0700</bug_when>
    <thetext>Created attachment 239310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039658</commentid>
    <comment_count>2</comment_count>
      <attachid>239310</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-05 22:14:41 -0700</bug_when>
    <thetext>Comment on attachment 239310
Patch

Clearing flags on attachment: 239310

Committed r174340: &lt;http://trac.webkit.org/changeset/174340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039659</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-05 22:14:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239310</attachid>
            <date>2014-10-05 18:30:06 -0700</date>
            <delta_ts>2014-10-05 22:14:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137440-20141005183008.patch</filename>
            <type>text/plain</type>
            <size>43103</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDE4MzY2MGI0MWQ1YTVk
OTI2M2I2NjA0Y2JlZDBkNWFlNWY2ZWVlMC4uMzNjM2JmMzhmODhjNzQ1ZDkzMjA2NDk5YWQ0ZjZj
NGViMDNmOWJmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE0LTEwLTA1ICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgaXM8PigpIC8g
ZG93bmNhc3Q8PigpIGZvciBTY3JvbGxpbmdDb29yZGluYXRvciAvIFNjcm9sbGluZ1N0YXRlTm9k
ZSBzdWJjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzc0NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgaXM8PigpIC8gZG93bmNhc3Q8PigpIGZvciBTY3JvbGxpbmdDb29yZGluYXRvciAv
IFNjcm9sbGluZ1N0YXRlTm9kZSBzdWJjbGFzc2VzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
bm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3Jv
bGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yOjpmcmFtZVZpZXdMYXlvdXRVcGRhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1lVmlld1Jvb3RMYXllckRpZENoYW5nZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpyZXF1ZXN0U2Nyb2xs
UG9zaXRpb25VcGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvcjo6dXBkYXRlRnJhbWVTY3JvbGxpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZSk6CisgICAg
ICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVWaWV3cG9ydENv
bnN0cmFpbmVkTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yOjpyZWNvbXB1dGVXaGVlbEV2ZW50SGFuZGxlckNvdW50Rm9yRnJhbWVWaWV3KToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmg6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuaDoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaDoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OnVwZGF0ZUJlZm9yZUNoaWxk
cmVuKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6dXBk
YXRlQmVmb3JlQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGU6OnVwZGF0ZUFmdGVyQ2hpbGRyZW4pOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBo
aWNzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0
ZWRHcmFwaGljczo6dXBkYXRlVmlld3BvcnRDb25zdHJhaW5lZE5vZGUpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6dXBk
YXRlQmVmb3JlQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZUlPUzo6dXBkYXRlQWZ0ZXJDaGlsZHJlbik6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW06CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjp1cGRhdGVCZWZvcmVDaGlsZHJlbik6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFj
Ojp1cGRhdGVCZWZvcmVDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjOjp1cGRhdGVBZnRlckNoaWxkcmVuKToKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6dXBkYXRlQmVmb3JlQ2hpbGRyZW4pOgor
CiAyMDE0LTEwLTA1ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBFbGVtZW50Lm1hdGNoZXMoKSdzIGFyZ3VtZW50IGlzIG5vdCBzdXBwb3NlZCB0byBi
ZSBvcHRpb25hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDZlM2ZkM2ZjZTNjMmE1MWM0NTQzMmNkZjA0MDhhMzM1
YzljYzE1ZjEuLjA4ZGJhNTY4YzY2NDZmYWY1ZTQ1NzI0NDFmNGE3YzQ3OTQ3MmIyYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxNC0xMC0wNSAgQ2hyaXN0b3BoZSBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBmb3Ig
U2Nyb2xsaW5nQ29vcmRpbmF0b3IgLyBTY3JvbGxpbmdTdGF0ZU5vZGUgc3ViY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NDQwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGlzPD4oKSAv
IGRvd25jYXN0PD4oKSBmb3IgU2Nyb2xsaW5nQ29vcmRpbmF0b3IgLyBTY3JvbGxpbmdTdGF0ZU5v
ZGUgc3ViY2xhc3Nlcy4KKworICAgICAgICAqIFNoYXJlZC9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OmVuY29kZU5v
ZGVBbmREZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yVHJhbnNhY3Rpb246OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNjcm9s
bGluZ1RyZWVUZXh0U3RyZWFtOjpkdW1wKToKKyAgICAgICAgKiBVSVByb2Nlc3MvU2Nyb2xsaW5n
L1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlSU9TOjp1cGRhdGVCZWZvcmVDaGlsZHJlbik6CisgICAgICAgIChXZWJL
aXQ6OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OnVwZGF0ZUFmdGVyQ2hp
bGRyZW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JQcm94eTo6Y29ubmVjdFN0YXRlTm9kZUxheWVycyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9T
Y3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RXZlbnRE
aXNwYXRjaGVyOjphZGRTY3JvbGxpbmdUcmVlRm9yUGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1t
OgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRl
UHJlZmVyZW5jZXMpOgorCiAyMDE0LTEwLTA1ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBnbWFp
bC5jb20+CiAKICAgICAgICAgW0VGTF0gSW50cm9kdWNlIEVXZWJLaXRfRXh0ZW5zaW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuY3BwCmluZGV4IDRlNTAxZDBhNjA0NmJiOTgyODZlZTU0NjM5M2Y3OGE1ZTFh
NDIyNGEuLjg0ZDU1OWNkN2JhNTE5MjkzZDZhZmI0M2YyZjIyNzhiOWMwMTRkNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuY3BwCkBAIC05Myw3ICs5Myw3IEBAIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvcjo6ZnJhbWVWaWV3TGF5b3V0VXBkYXRlZChGcmFtZVZpZXcqIGZyYW1lVmlldykKICAg
ICBpZiAoIWNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJhbWVWaWV3KGZyYW1lVmlldykpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKiBub2Rl
ID0gdG9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShtX3Njcm9sbGluZ1N0YXRlVHJl
ZS0+c3RhdGVOb2RlRm9ySUQoZnJhbWVWaWV3LT5zY3JvbGxMYXllcklEKCkpKTsKKyAgICBTY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSogbm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0
YXRlRnJhbWVTY3JvbGxpbmdOb2RlPihtX3Njcm9sbGluZ1N0YXRlVHJlZS0+c3RhdGVOb2RlRm9y
SUQoZnJhbWVWaWV3LT5zY3JvbGxMYXllcklEKCkpKTsKICAgICBpZiAoIW5vZGUpCiAgICAgICAg
IHJldHVybjsKIApAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvcjo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdlKEZyYW1lVmlldyogZnJhbWVWaWV3CiAK
ICAgICBTY3JvbGxpbmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdlKGZy
YW1lVmlldyk7CiAKLSAgICBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSogbm9kZSA9
IHRvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUobV9zY3JvbGxpbmdTdGF0ZVRyZWUt
PnN0YXRlTm9kZUZvcklEKGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgpKSk7CisgICAgU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUqIG5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZT4obV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklE
KGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgpKSk7CiAgICAgbm9kZS0+c2V0TGF5ZXIoc2Nyb2xs
TGF5ZXJGb3JGcmFtZVZpZXcoZnJhbWVWaWV3KSk7CiAgICAgbm9kZS0+c2V0U2Nyb2xsZWRDb250
ZW50c0xheWVyKHJvb3RDb250ZW50TGF5ZXJGb3JGcmFtZVZpZXcoZnJhbWVWaWV3KSk7CiAgICAg
bm9kZS0+c2V0Q291bnRlclNjcm9sbGluZ0xheWVyKGNvdW50ZXJTY3JvbGxpbmdMYXllckZvckZy
YW1lVmlldyhmcmFtZVZpZXcpKTsKQEAgLTE4NSw3ICsxODUsNyBAQCBib29sIEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShGcmFtZVZpZXcqIGZy
YW1lVmlldwogICAgIGlmIChmcmFtZVZpZXctPmZyYW1lKCkuZG9jdW1lbnQoKS0+aW5QYWdlQ2Fj
aGUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUqIHN0YXRlTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKG1fc2Nyb2xs
aW5nU3RhdGVUcmVlLT5zdGF0ZU5vZGVGb3JJRChmcmFtZVZpZXctPnNjcm9sbExheWVySUQoKSkp
OworICAgIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSogc3RhdGVOb2RlID0gZG93bmNhc3Q8
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlPihtX3Njcm9sbGluZ1N0YXRlVHJlZS0+c3RhdGVO
b2RlRm9ySUQoZnJhbWVWaWV3LT5zY3JvbGxMYXllcklEKCkpKTsKICAgICBpZiAoIXN0YXRlTm9k
ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0zODcsNyArMzg3LDcgQEAgdm9pZCBBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjplbnN1cmVSb290U3RhdGVOb2RlRm9yRnJhbWVWaWV3KEZy
YW1lVmlldyogZnJhbWUKIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVG
cmFtZVNjcm9sbGluZ05vZGUoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCwgR3JhcGhpY3NMYXllciog
bGF5ZXIsIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbGVkQ29udGVudHNMYXllciwgR3JhcGhpY3NMYXll
ciogY291bnRlclNjcm9sbGluZ0xheWVyLCBHcmFwaGljc0xheWVyKiBpbnNldENsaXBMYXllciwg
Y29uc3QgU2Nyb2xsaW5nR2VvbWV0cnkqIHNjcm9sbGluZ0dlb21ldHJ5KQogewotICAgIFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKiBub2RlID0gdG9TY3JvbGxpbmdTdGF0ZUZyYW1l
U2Nyb2xsaW5nTm9kZShtX3Njcm9sbGluZ1N0YXRlVHJlZS0+c3RhdGVOb2RlRm9ySUQobm9kZUlE
KSk7CisgICAgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUqIG5vZGUgPSBkb3duY2Fz
dDxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4obV9zY3JvbGxpbmdTdGF0ZVRyZWUt
PnN0YXRlTm9kZUZvcklEKG5vZGVJRCkpOwogICAgIEFTU0VSVChub2RlKTsKICAgICBpZiAoIW5v
ZGUpCiAgICAgICAgIHJldHVybjsKQEAgLTQwOCw3ICs0MDgsNyBAQCB2b2lkIEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OnVwZGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdOb2RlSUQg
bm9kZUlELAogICAgIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGUoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCwgR3JhcGhpY3NMYXllciog
bGF5ZXIsIEdyYXBoaWNzTGF5ZXIqIHNjcm9sbGVkQ29udGVudHNMYXllciwgY29uc3QgU2Nyb2xs
aW5nR2VvbWV0cnkqIHNjcm9sbGluZ0dlb21ldHJ5KQogewotICAgIFNjcm9sbGluZ1N0YXRlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlKiBub2RlID0gdG9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZShtX3Njcm9sbGluZ1N0YXRlVHJlZS0+c3RhdGVOb2RlRm9ySUQobm9kZUlEKSk7Cisg
ICAgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUqIG5vZGUgPSBkb3duY2FzdDxT
Y3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4obV9zY3JvbGxpbmdTdGF0ZVRyZWUt
PnN0YXRlTm9kZUZvcklEKG5vZGVJRCkpOwogICAgIEFTU0VSVChub2RlKTsKICAgICBpZiAoIW5v
ZGUpCiAgICAgICAgIHJldHVybjsKQEAgLTQzOSwxNSArNDM5LDE1IEBAIHZvaWQgQXN5bmNTY3Jv
bGxpbmdDb29yZGluYXRvcjo6dXBkYXRlVmlld3BvcnRDb25zdHJhaW5lZE5vZGUoU2Nyb2xsaW5n
Tm9kZUlEIG5vCiAKICAgICBzd2l0Y2ggKGNvbnN0cmFpbnRzLmNvbnN0cmFpbnRUeXBlKCkpIHsK
ICAgICBjYXNlIFZpZXdwb3J0Q29uc3RyYWludHM6OkZpeGVkUG9zaXRpb25Db25zdHJhaW50OiB7
Ci0gICAgICAgIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKiBmaXhlZE5vZGUgPSB0b1Njcm9sbGlu
Z1N0YXRlRml4ZWROb2RlKG5vZGUpOwotICAgICAgICBmaXhlZE5vZGUtPnNldExheWVyKGdyYXBo
aWNzTGF5ZXIpOwotICAgICAgICBmaXhlZE5vZGUtPnVwZGF0ZUNvbnN0cmFpbnRzKChjb25zdCBG
aXhlZFBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50cyYpY29uc3RyYWludHMpOworICAgICAgICBT
Y3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSYgZml4ZWROb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGU+KCpub2RlKTsKKyAgICAgICAgZml4ZWROb2RlLnNldExheWVyKGdyYXBoaWNz
TGF5ZXIpOworICAgICAgICBmaXhlZE5vZGUudXBkYXRlQ29uc3RyYWludHMoKGNvbnN0IEZpeGVk
UG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzJiljb25zdHJhaW50cyk7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KICAgICBjYXNlIFZpZXdwb3J0Q29uc3RyYWludHM6OlN0aWNreVBvc2l0aW9uQ29u
c3RyYWludDogewotICAgICAgICBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUqIHN0aWNreU5vZGUg
PSB0b1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZShub2RlKTsKLSAgICAgICAgc3RpY2t5Tm9kZS0+
c2V0TGF5ZXIoZ3JhcGhpY3NMYXllcik7Ci0gICAgICAgIHN0aWNreU5vZGUtPnVwZGF0ZUNvbnN0
cmFpbnRzKChjb25zdCBTdGlja3lQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHMmKWNvbnN0cmFp
bnRzKTsKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlJiBzdGlja3lOb2RlID0gZG93
bmNhc3Q8U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlPigqbm9kZSk7CisgICAgICAgIHN0aWNreU5v
ZGUuc2V0TGF5ZXIoZ3JhcGhpY3NMYXllcik7CisgICAgICAgIHN0aWNreU5vZGUudXBkYXRlQ29u
c3RyYWludHMoKGNvbnN0IFN0aWNreVBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50cyYpY29uc3Ry
YWludHMpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgfQpAQCAtNDgzLDcgKzQ4Myw3IEBA
IHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBkYXRlTWFpbkZyYW1lU2Nyb2xsTGF5
ZXJQb3NpdGlvbigpCiAKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6cmVjb21wdXRl
V2hlZWxFdmVudEhhbmRsZXJDb3VudEZvckZyYW1lVmlldyhGcmFtZVZpZXcqIGZyYW1lVmlldykK
IHsKLSAgICBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSogbm9kZSA9IHRvU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUobV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9k
ZUZvcklEKGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgpKSk7CisgICAgU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGUqIG5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZT4obV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKGZyYW1lVmll
dy0+c2Nyb2xsTGF5ZXJJRCgpKSk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47CiAg
ICAgbm9kZS0+c2V0V2hlZWxFdmVudEhhbmRsZXJDb3VudChjb21wdXRlQ3VycmVudFdoZWVsRXZl
bnRIYW5kbGVyQ291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggMzNiYWMyMWJhYjBkMzVh
N2MzYWYwNDc0YTAwZTdiNjZkYWJiYmZjYi4uYWZiMDAyYjk1ZjFmNjgwZDJhZWZlYTIxMzQxMjVm
YTQ1OGEyNzAxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTQ0LDEwICsxNDQsMTAgQEAgcHJp
dmF0ZToKICAgICBSZWZQdHI8U2Nyb2xsaW5nVHJlZT4gbV9zY3JvbGxpbmdUcmVlOwogfTsKIAot
U0NST0xMSU5HX0NPT1JESU5BVE9SX1RZUEVfQ0FTVFMoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ciwgaXNBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKCkpOwotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfU0NST0xMSU5HX0NPT1JESU5BVE9SKFdlYkNv
cmU6OkFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IsIGlzQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
cigpKTsKKwogI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNlbmRpZiAvLyBB
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDE2N2ZkYmVjNTFmMTlkMTEw
MmIwN2QzM2M4ZDcwMmI4ZDllZjdiOTguLjM5M2ZhZjZhY2JjZDQxOGZiYmVjYjRlYTU5YTM1ZDcy
MDMwMGViNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlJlbmRlck9i
amVjdC5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KKyNpbmNsdWRlIDx3dGYvVHlwZUNhc3RzLmg+CiAKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xM
SU5HKQogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0yMzIsOSArMjMzLDExIEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX2ZvcmNlU3luY2hyb25vdXNTY3JvbGxMYXllclBvc2l0aW9uVXBkYXRl
czsKIH07CiAKLSNkZWZpbmUgU0NST0xMSU5HX0NPT1JESU5BVE9SX1RZUEVfQ0FTVFMoVG9WYWx1
ZVR5cGVOYW1lLCBwcmVkaWNhdGUpIFwKLSAgICBUWVBFX0NBU1RTX0JBU0UoVG9WYWx1ZVR5cGVO
YW1lLCBXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvciwgdmFsdWUsIHZhbHVlLT5wcmVkaWNh
dGUsIHZhbHVlLnByZWRpY2F0ZSkKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCisjZGVmaW5l
IFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfU0NST0xMSU5HX0NPT1JESU5BVE9SKFRvVmFsdWVUeXBl
TmFtZSwgcHJlZGljYXRlKSBcCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFRvVmFsdWVU
eXBlTmFtZSkgXAorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpTY3JvbGxp
bmdDb29yZGluYXRvciYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLnByZWRpY2F0ZTsgfSBcCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisKICNlbmRpZiAvLyBTY3JvbGxpbmdDb29yZGluYXRv
cl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZUZpeGVkTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUuaAppbmRleCBiNDc0ZmFmY2E3NzhhZjAzZmU3NDQwYmRhYTIyYzM0M2E2
ZTMxOGQzLi45N2Q2ZDM2ZDIyZTNkMWZmMzI2MWZjMzE5M2IxNzUwNjY2YTNmODYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmgKQEAgLTYzLDEwICs2MywxMCBAQCBwcml2YXRlOgogICAgIEZpeGVkUG9zaXRpb25W
aWV3cG9ydENvbnN0cmFpbnRzIG1fY29uc3RyYWludHM7CiB9OwogCi1TQ1JPTExJTkdfU1RBVEVf
Tk9ERV9UWVBFX0NBU1RTKFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLCBpc0ZpeGVkTm9kZSgpKTsK
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1NDUk9M
TElOR19TVEFURV9OT0RFKFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLCBpc0ZpeGVkTm9kZSgpKQor
CiAjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogCiAjZW5kaWYgLy8gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGVfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9s
bGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlLmgKaW5kZXggMTIyMzViMTBiYzdhMTEzOGRmNTc0Yjc3NGFmMGVh
NjI3ODZkYjZlYS4uZjQ2ZGY5ODNmMjFmOTJiNThkZjNjZWFiYmFkMmZhZDQ1Yzc5OWE5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCkBAIC0xNDksMTAgKzE0OSwxMCBAQCBwcml2
YXRlOgogICAgIGZsb2F0IG1fdG9wQ29udGVudEluc2V0OwogfTsKIAotU0NST0xMSU5HX1NUQVRF
X05PREVfVFlQRV9DQVNUUyhTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSwgaXNGcmFt
ZVNjcm9sbGluZ05vZGUoKSk7Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19TQ1JPTExJTkdfU1RBVEVfTk9ERShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZSwgaXNGcmFtZVNjcm9sbGluZ05vZGUoKSkKKwogI2VuZGlmIC8vIEVOQUJMRShB
U1lOQ19TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2VuZGlmIC8v
IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKaW5kZXggOGNiY2NmN2E0YzZh
OGEwMjQ0Njk1ZDAxMTgxNzJiNTZjMzMyODJmNy4uM2E3NTkzZTMyNjYxZTY0NzliN2IxOTE1ZjI5
ZTE4MDI5NGRkNmI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVOb2RlLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJTY3JvbGxp
bmdDb29yZGluYXRvci5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9UeXBlQ2FzdHMuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI1NCwxMSArMjU1LDEzIEBAIHBy
aXZhdGU6CiAgICAgTGF5ZXJSZXByZXNlbnRhdGlvbiBtX2xheWVyOwogfTsKIAotI2RlZmluZSBT
Q1JPTExJTkdfU1RBVEVfTk9ERV9UWVBFX0NBU1RTKFRvVmFsdWVUeXBlTmFtZSwgcHJlZGljYXRl
KSBcCi0gICAgVFlQRV9DQVNUU19CQVNFKFRvVmFsdWVUeXBlTmFtZSwgU2Nyb2xsaW5nU3RhdGVO
b2RlLCB2YWx1ZSwgdmFsdWUtPnByZWRpY2F0ZSwgdmFsdWUucHJlZGljYXRlKQotCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKKyNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19TQ1JPTExJ
TkdfU1RBVEVfTk9ERShUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0ZSkgXAorU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpUb1ZhbHVlVHlwZU5hbWUpIFwKKyAgICBzdGF0aWMg
Ym9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlJiBub2RlKSB7IHJl
dHVybiBub2RlLnByZWRpY2F0ZTsgfSBcCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisK
ICNlbmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCiAKICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZU5vZGVfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGlu
Z05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlLmgKaW5kZXggZjE1MjAwMzI4ZmYwNWQwZjUwNDI3MWU5MWRjZGMx
NjhhMzA2OTAwMy4uNzBlYTA3MmJhY2RmNjE5NTE0YTQwNDg3ZTllODdmZDFlOWM3ZGEwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oCkBAIC01NywxMCArNTcsMTAgQEAg
cHJpdmF0ZToKICAgICBMYXllclJlcHJlc2VudGF0aW9uIG1fc2Nyb2xsZWRDb250ZW50c0xheWVy
OyAgICAKIH07CiAKLVNDUk9MTElOR19TVEFURV9OT0RFX1RZUEVfQ0FTVFMoU2Nyb2xsaW5nU3Rh
dGVPdmVyZmxvd1Njcm9sbGluZ05vZGUsIGlzT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCkpOwotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfU0NST0xMSU5H
X1NUQVRFX05PREUoU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUsIGlzT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlKCkpCisKICNlbmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSB8
fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAppbmRleCBiZTM5ZmU5ZGI3NGNlY2Yw
YTNlM2UxMTc1NTA0Yjc5ZGMxNmYyMGZiLi5mOTNiZmYyYjUyNzU2ZDhhZGJkODlhYjg2ODJkNWU2
MWYyYjJmZDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaApAQCAtMTA1LDEwICsxMDUsMTAgQEAg
cHJpdmF0ZToKICAgICBib29sIG1fcmVxdWVzdGVkU2Nyb2xsUG9zaXRpb25SZXByZXNlbnRzUHJv
Z3JhbW1hdGljU2Nyb2xsOwogfTsKIAotU0NST0xMSU5HX1NUQVRFX05PREVfVFlQRV9DQVNUUyhT
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUsIGlzU2Nyb2xsaW5nTm9kZSgpKTsKLQogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1NDUk9MTElOR19TVEFU
RV9OT0RFKFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSwgaXNTY3JvbGxpbmdOb2RlKCkpCisK
ICNlbmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCiAKICNlbmRpZiAvLyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNr
eU5vZGUuaAppbmRleCA2NmI4YjY1ZTA1MGNmOGI2MjM3MzFiNmMyMjIwNjQ3OTc1YTFkOGMyLi5i
MzU1ZDI3YmRmZTc5ZDUyYzNjM2U4NjJlNzliZmViMmUzOTk4YmIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUu
aApAQCAtNjMsMTAgKzYzLDEwIEBAIHByaXZhdGU6CiAgICAgU3RpY2t5UG9zaXRpb25WaWV3cG9y
dENvbnN0cmFpbnRzIG1fY29uc3RyYWludHM7CiB9OwogCi1TQ1JPTExJTkdfU1RBVEVfTk9ERV9U
WVBFX0NBU1RTKFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSwgaXNTdGlja3lOb2RlKCkpOwotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfU0NST0xMSU5H
X1NUQVRFX05PREUoU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLCBpc1N0aWNreU5vZGUoKSkKKwog
I2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKIAogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IGQ2YmU3Njc3YzMxNjI5ZmIxZjMxNzQ5YTQ0MTU3
YjMwYjUwMTU2NTAuLmY3NTcxY2Y2NjcyOTRhOTkyMzM4ZDdmNTVhYjY1ZmZmNTZhZjQzZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHZvaWQg
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6dXBkYXRlQmVmb3JlQ2hpbGRyZW4oY29u
c3QgU2Nyb2xsaW5nU3RhdGVOCiB7CiAgICAgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnVw
ZGF0ZUJlZm9yZUNoaWxkcmVuKHN0YXRlTm9kZSk7CiAgICAgCi0gICAgY29uc3QgU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGUmIHN0YXRlID0gdG9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZShzdGF0ZU5vZGUpOworICAgIGNvbnN0IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlJiBzdGF0ZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlPihzdGF0ZU5vZGUpOwogCiAgICAgaWYgKHN0YXRlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6RnJhbWVTY2FsZUZhY3RvcikpCiAgICAgICAg
IG1fZnJhbWVTY2FsZUZhY3RvciA9IHN0YXRlLmZyYW1lU2NhbGVGYWN0b3IoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlLmNwcAppbmRleCAyOTYyMzczZmZkNTZiZmZjNmQyNmNhNjQxYjFjMTdiMjA5NzQx
MjVjLi43MDMyZTJkMzA4Mzg5Y2JhNmY2ZjA4ZDM2MDVlMDg4NDA4OTkxNzFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGUuY3BwCkBAIC00NCw3ICs0NCw3IEBAIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlOjp+U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUoKQogCiB2b2lkIFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlOjp1cGRhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5v
ZGUmIHN0YXRlTm9kZSkKIHsKLSAgICBjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUm
IHN0YXRlID0gdG9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoc3RhdGVOb2RlKTsKKyAgICBj
b25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUmIHN0YXRlID0gZG93bmNhc3Q8U2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlPihzdGF0ZU5vZGUpOwogCiAgICAgaWYgKHN0YXRlLmhhc0No
YW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGFibGVBcmVh
U2l6ZSkpCiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWFTaXplID0gc3RhdGUuc2Nyb2xsYWJsZUFy
ZWFTaXplKCk7CkBAIC04MSw3ICs4MSw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGU6OnVwZGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYKIAogdm9p
ZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6dXBkYXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBT
Y3JvbGxpbmdTdGF0ZU5vZGUmIHN0YXRlTm9kZSkKIHsKLSAgICBjb25zdCBTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ1N0YXRlTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlKHN0YXRlTm9kZSk7CisgICAgY29uc3QgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlJiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGU+KHN0YXRlTm9kZSk7CiAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2Vk
UHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpSZXF1ZXN0ZWRTY3JvbGxQb3Np
dGlvbikpCiAgICAgICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZVJlcXVlc3Rz
U2Nyb2xsKHNjcm9sbGluZ05vZGVJRCgpLCBzY3JvbGxpbmdTdGF0ZU5vZGUucmVxdWVzdGVkU2Ny
b2xsUG9zaXRpb24oKSwgc2Nyb2xsaW5nU3RhdGVOb2RlLnJlcXVlc3RlZFNjcm9sbFBvc2l0aW9u
UmVwcmVzZW50c1Byb2dyYW1tYXRpY1Njcm9sbCgpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2Nvb3JkaW5hdGVkZ3JhcGhpY3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdy
YXBoaWNzLmNwcAppbmRleCBmZWI2NWUyNTQ2NzMwYTA4ZmIwMmNjZGE5NGViMjBjM2Q4ZDNjYmI1
Li40MzliNjg2OTkyMTMzZGU3ZGM2ZGY4MjE0NTA4OTMyNGFkZjEwYmIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb29yZGluYXRlZGdyYXBoaWNzL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvY29vcmRpbmF0ZWRncmFwaGljcy9TY3JvbGxpbmdDb29yZGluYXRvckNv
b3JkaW5hdGVkR3JhcGhpY3MuY3BwCkBAIC04NCw4ICs4NCw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29v
cmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbmVkTm9k
ZShTY3JvCiAgICAgc3dpdGNoIChjb25zdHJhaW50cy5jb25zdHJhaW50VHlwZSgpKSB7CiAgICAg
Y2FzZSBWaWV3cG9ydENvbnN0cmFpbnRzOjpGaXhlZFBvc2l0aW9uQ29uc3RyYWludDogewogICAg
ICAgICB0b0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllcihncmFwaGljc0xheWVyKS0+c2V0Rml4ZWRU
b1ZpZXdwb3J0KHRydWUpOyAvLyBGSVhNRSA6IFVzZSBjb25zdHJhaW50cyEKLSAgICAgICAgU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGUqIGZpeGVkTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGUobm9kZSk7Ci0gICAgICAgIGZpeGVkTm9kZS0+c2V0TGF5ZXIoZ3JhcGhpY3NMYXllcik7Cisg
ICAgICAgIGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlPigqbm9kZSkuc2V0TGF5ZXIo
Z3JhcGhpY3NMYXllcik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFZpZXdwb3J0
Q29uc3RyYWludHM6OlN0aWNreVBvc2l0aW9uQ29uc3RyYWludDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KaW5kZXggNGM4M2QyMTQ1MjViYjc2NzU1MmJlOGNi
MGRiYjlkNWNkZDU5MGEzMS4uNzA3ODhmODBmZGY0OWVmMmU3MDEwZDg2YzRiOTI4ZGJjNjkzOTFi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KQEAgLTU4
LDcgKzU4LDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjp1cGRh
dGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGEKIHsKICAgICBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlOjp1cGRhdGVCZWZvcmVDaGlsZHJlbihzdGF0ZU5vZGUpOwogICAg
IAotICAgIGNvbnN0IGF1dG8mIHNjcm9sbGluZ1N0YXRlTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGUoc3RhdGVOb2RlKTsKKyAgICBjb25zdCBhdXRvJiBzY3JvbGxpbmdT
dGF0ZU5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4oc3Rh
dGVOb2RlKTsKIAogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5
KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKQogICAgICAgICBtX3Njcm9sbExheWVy
ID0gc2Nyb2xsaW5nU3RhdGVOb2RlLmxheWVyKCk7CkBAIC05MCw3ICs5MCw3IEBAIHZvaWQgU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6dXBkYXRlQWZ0ZXJDaGlsZHJlbihjb25z
dCBTY3JvbGxpbmdTdGF0CiB7CiAgICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6
dXBkYXRlQWZ0ZXJDaGlsZHJlbihzdGF0ZU5vZGUpOwogCi0gICAgY29uc3QgYXV0byYgc2Nyb2xs
aW5nU3RhdGVOb2RlID0gdG9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShzdGF0ZU5v
ZGUpOworICAgIGNvbnN0IGF1dG8mIHNjcm9sbGluZ1N0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPihzdGF0ZU5vZGUpOwogCiAgICAgLy8gVXBkYXRl
IHRoZSBzY3JvbGwgcG9zaXRpb24gYWZ0ZXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIHVwZGF0ZWQs
IGJlY2F1c2UgdGhleSBuZWVkIHRvIGhhdmUgdXBkYXRlZCB0aGVpciBjb25zdHJhaW50cyBiZWZv
cmUgYW55IHNjcm9sbGluZyBoYXBwZW5zLgogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFz
Q2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6UmVxdWVzdGVkU2Ny
b2xsUG9zaXRpb24pKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQppbmRleCA0YzJkZTg1MWMwYzZkOWEz
NzE2NTU3NGVjMTFhNWY2Zjk0ZWJhMmFkLi43MjBiYmJkZDhlMGNlODE4YjllN2M2MDNlNmE1MWM5
NWUxNjkwZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQpAQCAtNTIsNyArNTIsNyBAQCBTY3Jv
bGxpbmdUcmVlRml4ZWROb2RlOjp+U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZSgpCiAKIHZvaWQgU2Ny
b2xsaW5nVHJlZUZpeGVkTm9kZTo6dXBkYXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5n
U3RhdGVOb2RlJiBzdGF0ZU5vZGUpCiB7Ci0gICAgY29uc3QgU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGUmIGZpeGVkU3RhdGVOb2RlID0gdG9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZShzdGF0ZU5vZGUp
OworICAgIGNvbnN0IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlJiBmaXhlZFN0YXRlTm9kZSA9IGRv
d25jYXN0PFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlPihzdGF0ZU5vZGUpOwogCiAgICAgaWYgKGZp
eGVkU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5vZGU6OlNjcm9s
bExheWVyKSkKICAgICAgICAgbV9sYXllciA9IGZpeGVkU3RhdGVOb2RlLmxheWVyKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDc1NDIyMDk3ZTUw
NGI0OGQ3MDk2MzYwMjRjYWFjOTg4ZDQ4N2Y3YTEuLjVkYTU4NWExYjRkOGU3ZTMyOTc5NzQ5MTJh
NmQ3ZjQyNTRkZjQwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjLm1tCkBAIC03Myw3ICs3Myw3IEBAIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWM6On5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjKCkKIHZvaWQgU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6dXBkYXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Ny
b2xsaW5nU3RhdGVOb2RlJiBzdGF0ZU5vZGUpCiB7CiAgICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZTo6dXBkYXRlQmVmb3JlQ2hpbGRyZW4oc3RhdGVOb2RlKTsKLSAgICBjb25zdCBh
dXRvJiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSB0b1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlKHN0YXRlTm9kZSk7CisgICAgY29uc3QgYXV0byYgc2Nyb2xsaW5nU3RhdGVOb2RlID0gZG93
bmNhc3Q8U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU+KHN0YXRlTm9kZSk7CiAKICAg
ICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0
ZU5vZGU6OlNjcm9sbExheWVyKSkKICAgICAgICAgbV9zY3JvbGxMYXllciA9IHNjcm9sbGluZ1N0
YXRlTm9kZS5sYXllcigpOwpAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZU1hYzo6dXBkYXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdT
dGF0CiB7CiAgICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6dXBkYXRlQWZ0ZXJD
aGlsZHJlbihzdGF0ZU5vZGUpOwogCi0gICAgY29uc3QgYXV0byYgc2Nyb2xsaW5nU3RhdGVOb2Rl
ID0gdG9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoc3RhdGVOb2RlKTsKKyAgICBjb25zdCBh
dXRvJiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGU+KHN0YXRlTm9kZSk7CiAKICAgICAvLyBVcGRhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbiBh
ZnRlciBjaGlsZCBub2RlcyBoYXZlIGJlZW4gdXBkYXRlZCwgYmVjYXVzZSB0aGV5IG5lZWQgdG8g
aGF2ZSB1cGRhdGVkIHRoZWlyIGNvbnN0cmFpbnRzIGJlZm9yZSBhbnkgc2Nyb2xsaW5nIGhhcHBl
bnMuCiAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbikpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNr
eU5vZGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZVN0aWNreU5vZGUubW0KaW5kZXggMmYzOTU0NDBlNGM5NWU5Y2UzODM5NmVlOTMxMzhiYzJkZDUx
OTkzNC4uNmQ3ZTAwZTY1YjYyZWVkOWZhY2EzNGQyMjQ3ZmRjMDc0NjdjZjMyNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lO
b2RlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlU3RpY2t5Tm9kZS5tbQpAQCAtNTMsNyArNTMsNyBAQCBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9k
ZTo6flNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKCkKIAogdm9pZCBTY3JvbGxpbmdUcmVlU3RpY2t5
Tm9kZTo6dXBkYXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBzdGF0
ZU5vZGUpCiB7Ci0gICAgY29uc3QgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlJiBzdGlja3lTdGF0
ZU5vZGUgPSB0b1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZShzdGF0ZU5vZGUpOworICAgIGNvbnN0
IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSYgc3RpY2t5U3RhdGVOb2RlID0gZG93bmNhc3Q8U2Ny
b2xsaW5nU3RhdGVTdGlja3lOb2RlPihzdGF0ZU5vZGUpOwogCiAgICAgaWYgKHN0aWNreVN0YXRl
Tm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpTY3JvbGxMYXllcikp
CiAgICAgICAgIG1fbGF5ZXIgPSBzdGlja3lTdGF0ZU5vZGUubGF5ZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Nyb2xsaW5nL1JlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCmluZGV4IDdlZTEwMDQxN2VjNzU2
NWIwYjJhNDAwOGQ2NTE1YmQwZjc1N2FlY2QuLjM0MTM1N2QyYzMxMzQxZjRkYzhiNzJkZTAyNWI0
Y2FmYTVjYzg3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TY3JvbGxpbmcv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0
aW9uLmNwcApAQCAtMzMzLDE2ICszMzMsMTYgQEAgc3RhdGljIHZvaWQgZW5jb2RlTm9kZUFuZERl
c2NlbmRhbnRzKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTY3JvbGwKIAog
ICAgIHN3aXRjaCAoc3RhdGVOb2RlLm5vZGVUeXBlKCkpIHsKICAgICBjYXNlIEZyYW1lU2Nyb2xs
aW5nTm9kZToKLSAgICAgICAgZW5jb2RlciA8PCB0b1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxp
bmdOb2RlKHN0YXRlTm9kZSk7CisgICAgICAgIGVuY29kZXIgPDwgZG93bmNhc3Q8U2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGU+KHN0YXRlTm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOgotICAgICAgICBlbmNvZGVyIDw8IHRvU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoc3RhdGVOb2RlKTsKKyAgICAgICAgZW5jb2Rl
ciA8PCBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4oc3RhdGVO
b2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGaXhlZE5vZGU6Ci0gICAgICAgIGVuY29k
ZXIgPDwgdG9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZShzdGF0ZU5vZGUpOworICAgICAgICBlbmNv
ZGVyIDw8IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlPihzdGF0ZU5vZGUpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFN0aWNreU5vZGU6Ci0gICAgICAgIGVuY29kZXIgPDwgdG9T
Y3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoc3RhdGVOb2RlKTsKKyAgICAgICAgZW5jb2RlciA8PCBk
b3duY2FzdDxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+KHN0YXRlTm9kZSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIApAQCAtNDE3LDE5ICs0MTcsMTkgQEAgYm9vbCBSZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvclRyYW5zYWN0aW9uOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29k
ZXIKICAgICAgICAgCiAgICAgICAgIHN3aXRjaCAobm9kZVR5cGUpIHsKICAgICAgICAgY2FzZSBG
cmFtZVNjcm9sbGluZ05vZGU6Ci0gICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKCp0b1Nj
cm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKG5ld05vZGUpKSkKKyAgICAgICAgICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUoZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05v
ZGU+KCpuZXdOb2RlKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOgotICAgICAgICAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZSgqdG9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZShuZXdOb2RlKSkpCisgICAgICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRvd25jYXN0
PFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPigqbmV3Tm9kZSkpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IEZpeGVkTm9kZToKLSAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoKnRvU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUobmV3Tm9kZSkpKQorICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZT4oKm5ld05vZGUpKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBT
dGlja3lOb2RlOgotICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSgqdG9TY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUobmV3Tm9kZSkpKQorICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+KCpuZXdOb2RlKSkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAg
LTU1NiwxNiArNTU2LDE2IEBAIHZvaWQgUmVtb3RlU2Nyb2xsaW5nVHJlZVRleHRTdHJlYW06OmR1
bXAoY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBub2RlLCBib29sIGNoCiAgICAgCiAgICAgc3dp
dGNoIChub2RlLm5vZGVUeXBlKCkpIHsKICAgICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9kZToKLSAg
ICAgICAgZHVtcCh0b1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKG5vZGUpLCBjaGFu
Z2VkUHJvcGVydGllc09ubHkpOworICAgICAgICBkdW1wKGRvd25jYXN0PFNjcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlPihub2RlKSwgY2hhbmdlZFByb3BlcnRpZXNPbmx5KTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBPdmVyZmxvd1Njcm9sbGluZ05vZGU6Ci0gICAgICAgIGR1bXAo
dG9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZShub2RlKSwgY2hhbmdlZFByb3Bl
cnRpZXNPbmx5KTsKKyAgICAgICAgZHVtcChkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZT4obm9kZSksIGNoYW5nZWRQcm9wZXJ0aWVzT25seSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgRml4ZWROb2RlOgotICAgICAgICBkdW1wKHRvU2Nyb2xsaW5nU3RhdGVG
aXhlZE5vZGUobm9kZSksIGNoYW5nZWRQcm9wZXJ0aWVzT25seSk7CisgICAgICAgIGR1bXAoZG93
bmNhc3Q8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+KG5vZGUpLCBjaGFuZ2VkUHJvcGVydGllc09u
bHkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFN0aWNreU5vZGU6Ci0gICAgICAgIGR1bXAo
dG9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUobm9kZSksIGNoYW5nZWRQcm9wZXJ0aWVzT25seSk7
CisgICAgICAgIGR1bXAoZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlPihub2RlKSwg
Y2hhbmdlZFByb3BlcnRpZXNPbmx5KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggMWRjODI0YzFlZTZiYzJj
MmM2YTE1MTFlOGYwOGQ1NDgwZWUxZGUyZS4uMTUyNmZkZTllZmU0NWRmYjBlZDcyNmUzMWRkY2Ix
Y2IwYTBiNGM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGlu
Zy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3Bw
CkBAIC0xMDUsMzMgKzEwNSwzMyBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJv
eHk6OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMoU2Nyb2xsaW5nU3RhdGVUcmVlJgogCiAgICAgICAg
IHN3aXRjaCAoY3Vyck5vZGUtPm5vZGVUeXBlKCkpIHsKICAgICAgICAgY2FzZSBGcmFtZVNjcm9s
bGluZ05vZGU6IHsKLSAgICAgICAgICAgIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
KiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSB0b1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
KGN1cnJOb2RlKTsKKyAgICAgICAgICAgIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
JiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZT4oKmN1cnJOb2RlKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHNjcm9s
bGluZ1N0YXRlTm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKQotICAgICAgICAgICAgICAgIHNjcm9s
bGluZ1N0YXRlTm9kZS0+c2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKGxheWVyVHJlZUhvc3QuZ2V0
TGF5ZXIoc2Nyb2xsaW5nU3RhdGVOb2RlLT5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKSkpOworICAg
ICAgICAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVudHNMYXllcikpCisgICAg
ICAgICAgICAgICAgc2Nyb2xsaW5nU3RhdGVOb2RlLnNldFNjcm9sbGVkQ29udGVudHNMYXllcihs
YXllclRyZWVIb3N0LmdldExheWVyKHNjcm9sbGluZ1N0YXRlTm9kZS5zY3JvbGxlZENvbnRlbnRz
TGF5ZXIoKSkpOwogCi0gICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLT5oYXNDaGFu
Z2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OkNvdW50ZXJTY3Jv
bGxpbmdMYXllcikpCi0gICAgICAgICAgICAgICAgc2Nyb2xsaW5nU3RhdGVOb2RlLT5zZXRDb3Vu
dGVyU2Nyb2xsaW5nTGF5ZXIobGF5ZXJUcmVlSG9zdC5nZXRMYXllcihzY3JvbGxpbmdTdGF0ZU5v
ZGUtPmNvdW50ZXJTY3JvbGxpbmdMYXllcigpKSk7CisgICAgICAgICAgICBpZiAoc2Nyb2xsaW5n
U3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZTo6Q291bnRlclNjcm9sbGluZ0xheWVyKSkKKyAgICAgICAgICAgICAgICBzY3JvbGxpbmdT
dGF0ZU5vZGUuc2V0Q291bnRlclNjcm9sbGluZ0xheWVyKGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIo
c2Nyb2xsaW5nU3RhdGVOb2RlLmNvdW50ZXJTY3JvbGxpbmdMYXllcigpKSk7CiAKLSAgICAgICAg
ICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdT
dGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6SW5zZXRDbGlwTGF5ZXIpKQotICAgICAgICAgICAgICAg
IHNjcm9sbGluZ1N0YXRlTm9kZS0+c2V0SW5zZXRDbGlwTGF5ZXIobGF5ZXJUcmVlSG9zdC5nZXRM
YXllcihzY3JvbGxpbmdTdGF0ZU5vZGUtPmluc2V0Q2xpcExheWVyKCkpKTsKKyAgICAgICAgICAg
IGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlOjpJbnNldENsaXBMYXllcikpCisgICAgICAgICAgICAgICAgc2Ny
b2xsaW5nU3RhdGVOb2RlLnNldEluc2V0Q2xpcExheWVyKGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIo
c2Nyb2xsaW5nU3RhdGVOb2RlLmluc2V0Q2xpcExheWVyKCkpKTsKIAotICAgICAgICAgICAgaWYg
KHNjcm9sbGluZ1N0YXRlTm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlOjpDb250ZW50U2hhZG93TGF5ZXIpKQotICAgICAgICAgICAgICAgIHNj
cm9sbGluZ1N0YXRlTm9kZS0+c2V0Q29udGVudFNoYWRvd0xheWVyKGxheWVyVHJlZUhvc3QuZ2V0
TGF5ZXIoc2Nyb2xsaW5nU3RhdGVOb2RlLT5jb250ZW50U2hhZG93TGF5ZXIoKSkpOworICAgICAg
ICAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OkNvbnRlbnRTaGFkb3dMYXllcikpCisgICAgICAgICAg
ICAgICAgc2Nyb2xsaW5nU3RhdGVOb2RlLnNldENvbnRlbnRTaGFkb3dMYXllcihsYXllclRyZWVI
b3N0LmdldExheWVyKHNjcm9sbGluZ1N0YXRlTm9kZS5jb250ZW50U2hhZG93TGF5ZXIoKSkpOwog
CiAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIG5ldmVyIGhhdmUgaGVhZGVyIGFuZCBm
b290ZXIgbGF5ZXJzIGNvbWluZyBmcm9tIHRoZSBXZWJQcm9jZXNzLgotICAgICAgICAgICAgaWYg
KHNjcm9sbGluZ1N0YXRlTm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlOjpIZWFkZXJMYXllcikpCi0gICAgICAgICAgICAgICAgc2Nyb2xsaW5n
U3RhdGVOb2RlLT5zZXRIZWFkZXJMYXllcihsYXllclRyZWVIb3N0LmdldExheWVyKHNjcm9sbGlu
Z1N0YXRlTm9kZS0+aGVhZGVyTGF5ZXIoKSkpOworICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1N0
YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05v
ZGU6OkhlYWRlckxheWVyKSkKKyAgICAgICAgICAgICAgICBzY3JvbGxpbmdTdGF0ZU5vZGUuc2V0
SGVhZGVyTGF5ZXIobGF5ZXJUcmVlSG9zdC5nZXRMYXllcihzY3JvbGxpbmdTdGF0ZU5vZGUuaGVh
ZGVyTGF5ZXIoKSkpOwogCi0gICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLT5oYXND
aGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OkZvb3Rlckxh
eWVyKSkKLSAgICAgICAgICAgICAgICBzY3JvbGxpbmdTdGF0ZU5vZGUtPnNldEZvb3RlckxheWVy
KGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIoc2Nyb2xsaW5nU3RhdGVOb2RlLT5mb290ZXJMYXllcigp
KSk7CisgICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0
eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Rm9vdGVyTGF5ZXIpKQorICAgICAg
ICAgICAgICAgIHNjcm9sbGluZ1N0YXRlTm9kZS5zZXRGb290ZXJMYXllcihsYXllclRyZWVIb3N0
LmdldExheWVyKHNjcm9sbGluZ1N0YXRlTm9kZS5mb290ZXJMYXllcigpKSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZTog
ewotICAgICAgICAgICAgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUqIHNjcm9s
bGluZ1N0YXRlTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoY3Vy
ck5vZGUpOworICAgICAgICAgICAgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUm
IHNjcm9sbGluZ1N0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlPigqY3Vyck5vZGUpOwogCi0gICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVO
b2RlLT5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGU6OlNjcm9sbGVkQ29udGVudHNMYXllcikpCi0gICAgICAgICAgICAgICAgc2Nyb2xsaW5nU3Rh
dGVOb2RlLT5zZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIobGF5ZXJUcmVlSG9zdC5nZXRMYXllcihz
Y3JvbGxpbmdTdGF0ZU5vZGUtPnNjcm9sbGVkQ29udGVudHNMYXllcigpKSk7CisgICAgICAgICAg
ICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKKyAgICAgICAg
ICAgICAgICBzY3JvbGxpbmdTdGF0ZU5vZGUuc2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKGxheWVy
VHJlZUhvc3QuZ2V0TGF5ZXIoc2Nyb2xsaW5nU3RhdGVOb2RlLnNjcm9sbGVkQ29udGVudHNMYXll
cigpKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEZpeGVk
Tm9kZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvaW9z
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlSU9TLm1tCmluZGV4IDA4MDdjMGMwYjg1YzVjYmRhNTJhYmZlZGFjMDJiOWExZmU4MDZhNTUu
LmRkYzNjYTkzZjRiMzE4NmY5YWRlNmRhODA2N2ZmYzFlZDc4YzI4YjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9s
bGluZy9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5tbQpAQCAtMTQ1
LDcgKzE0NSw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUzo6
dXBkYXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgV2ViQ29yZTo6CiAKICAgICBTY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjp1cGRhdGVCZWZvcmVDaGlsZHJlbihzdGF0ZU5vZGUpOwog
Ci0gICAgY29uc3QgYXV0byYgc2Nyb2xsaW5nU3RhdGVOb2RlID0gdG9TY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZShzdGF0ZU5vZGUpOworICAgIGNvbnN0IGF1dG8mIHNjcm9sbGlu
Z1N0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2Rl
PihzdGF0ZU5vZGUpOwogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3Bl
cnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKQogICAgICAgICBtX3Njcm9sbExh
eWVyID0gc2Nyb2xsaW5nU3RhdGVOb2RlLmxheWVyKCk7CiAKQEAgLTE1OSw3ICsxNTksNyBAQCB2
b2lkIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OnVwZGF0ZUFmdGVyQ2hp
bGRyZW4oY29uc3QgU2Nyb2xsaW5nUwogCiAgICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+IHVwZGF0
aW5nQ2hhbmdlKG1fdXBkYXRpbmdGcm9tU3RhdGVOb2RlLCB0cnVlKTsKIAotICAgIGNvbnN0IGF1
dG8mIHNjcm9sbGluZ1N0YXRlTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGlu
Z05vZGUoc3RhdGVOb2RlKTsKKyAgICBjb25zdCBhdXRvJiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSBk
b3duY2FzdDxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4oc3RhdGVOb2RlKTsK
IAogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsTGF5ZXIpCiAgICAgICAgIHx8IHNjcm9sbGluZ1N0
YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpU
b3RhbENvbnRlbnRzU2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQppbmRl
eCAwYmNmOWZlNDM0MmY5N2ZkZTIxZTBiNjQ0N2UxMWVhNDI2MWUwOTlkLi5mOGFiMjM1MTdhOTIw
OWYwZTM2NDU4Y2QxMjM0ZmUyM2MzZDZkZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclBy
b3h5SU9TLm1tCkBAIC01NywzMCArNTcsMzAgQEAgdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKFNjcm9sbGluZ1N0YXRlVHJlZSYKICAg
ICBmb3IgKGF1dG8mIGN1cnJOb2RlIDogc3RhdGVUcmVlLm5vZGVNYXAoKS52YWx1ZXMoKSkgewog
ICAgICAgICBzd2l0Y2ggKGN1cnJOb2RlLT5ub2RlVHlwZSgpKSB7CiAgICAgICAgIGNhc2UgT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlOiB7Ci0gICAgICAgICAgICBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZSogc2Nyb2xsaW5nU3RhdGVOb2RlID0gdG9TY3JvbGxpbmdTdGF0ZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZShjdXJyTm9kZSk7CisgICAgICAgICAgICBTY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZSYgc2Nyb2xsaW5nU3RhdGVOb2RlID0gZG93bmNhc3Q8U2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU+KCpjdXJyTm9kZSk7CiAgICAgICAgICAgICAK
LSAgICAgICAgICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShT
Y3JvbGxpbmdTdGF0ZU5vZGU6OlNjcm9sbExheWVyKSkKLSAgICAgICAgICAgICAgICBzY3JvbGxp
bmdTdGF0ZU5vZGUtPnNldExheWVyKGxheWVyUmVwcmVzZW50YXRpb25Gcm9tTGF5ZXJPclZpZXco
bGF5ZXJUcmVlSG9zdC5nZXRMYXllcihzY3JvbGxpbmdTdGF0ZU5vZGUtPmxheWVyKCkpKSk7Cisg
ICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3Jv
bGxpbmdTdGF0ZU5vZGU6OlNjcm9sbExheWVyKSkKKyAgICAgICAgICAgICAgICBzY3JvbGxpbmdT
dGF0ZU5vZGUuc2V0TGF5ZXIobGF5ZXJSZXByZXNlbnRhdGlvbkZyb21MYXllck9yVmlldyhsYXll
clRyZWVIb3N0LmdldExheWVyKHNjcm9sbGluZ1N0YXRlTm9kZS5sYXllcigpKSkpOwogICAgICAg
ICAgICAgCi0gICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLT5oYXNDaGFuZ2VkUHJv
cGVydHkoU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVu
dHNMYXllcikpCi0gICAgICAgICAgICAgICAgc2Nyb2xsaW5nU3RhdGVOb2RlLT5zZXRTY3JvbGxl
ZENvbnRlbnRzTGF5ZXIobGF5ZXJSZXByZXNlbnRhdGlvbkZyb21MYXllck9yVmlldyhsYXllclRy
ZWVIb3N0LmdldExheWVyKHNjcm9sbGluZ1N0YXRlTm9kZS0+c2Nyb2xsZWRDb250ZW50c0xheWVy
KCkpKSk7CisgICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9w
ZXJ0eShTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6U2Nyb2xsZWRDb250ZW50
c0xheWVyKSkKKyAgICAgICAgICAgICAgICBzY3JvbGxpbmdTdGF0ZU5vZGUuc2V0U2Nyb2xsZWRD
b250ZW50c0xheWVyKGxheWVyUmVwcmVzZW50YXRpb25Gcm9tTGF5ZXJPclZpZXcobGF5ZXJUcmVl
SG9zdC5nZXRMYXllcihzY3JvbGxpbmdTdGF0ZU5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCkp
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfTsKICAgICAgICAgY2FzZSBGcmFtZVNj
cm9sbGluZ05vZGU6IHsKLSAgICAgICAgICAgIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlKiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSB0b1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlKGN1cnJOb2RlKTsKKyAgICAgICAgICAgIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlJiBzY3JvbGxpbmdTdGF0ZU5vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZT4oKmN1cnJOb2RlKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHNj
cm9sbGluZ1N0YXRlTm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6
U2Nyb2xsTGF5ZXIpKQotICAgICAgICAgICAgICAgIHNjcm9sbGluZ1N0YXRlTm9kZS0+c2V0TGF5
ZXIobGF5ZXJSZXByZXNlbnRhdGlvbkZyb21MYXllck9yVmlldyhsYXllclRyZWVIb3N0LmdldExh
eWVyKHNjcm9sbGluZ1N0YXRlTm9kZS0+bGF5ZXIoKSkpKTsKKyAgICAgICAgICAgIGlmIChzY3Jv
bGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Ny
b2xsTGF5ZXIpKQorICAgICAgICAgICAgICAgIHNjcm9sbGluZ1N0YXRlTm9kZS5zZXRMYXllcihs
YXllclJlcHJlc2VudGF0aW9uRnJvbUxheWVyT3JWaWV3KGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIo
c2Nyb2xsaW5nU3RhdGVOb2RlLmxheWVyKCkpKSk7CiAKLSAgICAgICAgICAgIGlmIChzY3JvbGxp
bmdTdGF0ZU5vZGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZTo6Q291bnRlclNjcm9sbGluZ0xheWVyKSkKLSAgICAgICAgICAgICAgICBzY3JvbGxp
bmdTdGF0ZU5vZGUtPnNldENvdW50ZXJTY3JvbGxpbmdMYXllcihsYXllclJlcHJlc2VudGF0aW9u
RnJvbUxheWVyT3JWaWV3KGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIoc2Nyb2xsaW5nU3RhdGVOb2Rl
LT5jb3VudGVyU2Nyb2xsaW5nTGF5ZXIoKSkpKTsKKyAgICAgICAgICAgIGlmIChzY3JvbGxpbmdT
dGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlOjpDb3VudGVyU2Nyb2xsaW5nTGF5ZXIpKQorICAgICAgICAgICAgICAgIHNjcm9sbGluZ1N0
YXRlTm9kZS5zZXRDb3VudGVyU2Nyb2xsaW5nTGF5ZXIobGF5ZXJSZXByZXNlbnRhdGlvbkZyb21M
YXllck9yVmlldyhsYXllclRyZWVIb3N0LmdldExheWVyKHNjcm9sbGluZ1N0YXRlTm9kZS5jb3Vu
dGVyU2Nyb2xsaW5nTGF5ZXIoKSkpKTsKIAogICAgICAgICAgICAgLy8gRklYTUU6IHdlIHNob3Vs
ZCBuZXZlciBoYXZlIGhlYWRlciBhbmQgZm9vdGVyIGxheWVycyBjb21pbmcgZnJvbSB0aGUgV2Vi
UHJvY2Vzcy4KLSAgICAgICAgICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUtPmhhc0NoYW5nZWRQ
cm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6SGVhZGVyTGF5ZXIpKQot
ICAgICAgICAgICAgICAgIHNjcm9sbGluZ1N0YXRlTm9kZS0+c2V0SGVhZGVyTGF5ZXIobGF5ZXJS
ZXByZXNlbnRhdGlvbkZyb21MYXllck9yVmlldyhsYXllclRyZWVIb3N0LmdldExheWVyKHNjcm9s
bGluZ1N0YXRlTm9kZS0+aGVhZGVyTGF5ZXIoKSkpKTsKKyAgICAgICAgICAgIGlmIChzY3JvbGxp
bmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxp
bmdOb2RlOjpIZWFkZXJMYXllcikpCisgICAgICAgICAgICAgICAgc2Nyb2xsaW5nU3RhdGVOb2Rl
LnNldEhlYWRlckxheWVyKGxheWVyUmVwcmVzZW50YXRpb25Gcm9tTGF5ZXJPclZpZXcobGF5ZXJU
cmVlSG9zdC5nZXRMYXllcihzY3JvbGxpbmdTdGF0ZU5vZGUuaGVhZGVyTGF5ZXIoKSkpKTsKIAot
ICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNj
cm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpGb290ZXJMYXllcikpCi0gICAgICAgICAg
ICAgICAgc2Nyb2xsaW5nU3RhdGVOb2RlLT5zZXRGb290ZXJMYXllcihsYXllclJlcHJlc2VudGF0
aW9uRnJvbUxheWVyT3JWaWV3KGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIoc2Nyb2xsaW5nU3RhdGVO
b2RlLT5mb290ZXJMYXllcigpKSkpOworICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9k
ZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OkZv
b3RlckxheWVyKSkKKyAgICAgICAgICAgICAgICBzY3JvbGxpbmdTdGF0ZU5vZGUuc2V0Rm9vdGVy
TGF5ZXIobGF5ZXJSZXByZXNlbnRhdGlvbkZyb21MYXllck9yVmlldyhsYXllclRyZWVIb3N0Lmdl
dExheWVyKHNjcm9sbGluZ1N0YXRlTm9kZS5mb290ZXJMYXllcigpKSkpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaXhlZE5vZGU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaAppbmRleCA3MGFkZTUxZjAwYWZjMDFlNjQyMWEzNTNlNWQ4OGNhODJl
MjZhNmY3Li5kZjI1YjE5ODY2ZDA5NzYzM2Q4YmMzMWI4M2E5YjFiODg3YjlhNjA0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU2Nyb2xsaW5nL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTc2LDEwICs3NiwxMCBAQCBwcml2YXRlOgog
ICAgIFdlYlBhZ2UqIG1fd2ViUGFnZTsKIH07CiAKLVNDUk9MTElOR19DT09SRElOQVRPUl9UWVBF
X0NBU1RTKFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLCBpc1JlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yKCkpOwotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19TQ1JPTExJTkdfQ09PUkRJTkFUT1IoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvciwgaXNSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvcigpKTsKKwogI2VuZGlmIC8vIEVOQUJM
RShBU1lOQ19TQ1JPTExJTkcpCiAKICNlbmRpZiAvLyBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
cl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnRE
aXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERp
c3BhdGNoZXIuY3BwCmluZGV4IDE5ZmYxYjA2NzFmMWZkMGQxNGYyODdjMTg4NDNhOGQ0M2Y0M2Jh
MWQuLjg2Y2RlMTJmNmViZDdiY2UwNmFjNzYzYTA4NTNjMWUwZmRiNWFkZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIuY3Bw
CkBAIC03Miw4ICs3Miw4IEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjphZGRTY3JvbGxpbmdUcmVl
Rm9yUGFnZShXZWJQYWdlKiB3ZWJQYWdlKQogICAgIEFTU0VSVCh3ZWJQYWdlLT5jb3JlUGFnZSgp
LT5zY3JvbGxpbmdDb29yZGluYXRvcigpKTsKICAgICBBU1NFUlQoIW1fc2Nyb2xsaW5nVHJlZXMu
Y29udGFpbnMod2ViUGFnZS0+cGFnZUlEKCkpKTsKIAotICAgIEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gdG9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
KHdlYlBhZ2UtPmNvcmVQYWdlKCktPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpOwotICAgIG1fc2Ny
b2xsaW5nVHJlZXMuc2V0KHdlYlBhZ2UtPnBhZ2VJRCgpLCB0b1RocmVhZGVkU2Nyb2xsaW5nVHJl
ZShzY3JvbGxpbmdDb29yZGluYXRvci0+c2Nyb2xsaW5nVHJlZSgpKSk7CisgICAgQXN5bmNTY3Jv
bGxpbmdDb29yZGluYXRvciYgc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBkb3duY2FzdDxBc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yPigqd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2Nyb2xsaW5nQ29vcmRp
bmF0b3IoKSk7CisgICAgbV9zY3JvbGxpbmdUcmVlcy5zZXQod2ViUGFnZS0+cGFnZUlEKCksIHRv
VGhyZWFkZWRTY3JvbGxpbmdUcmVlKHNjcm9sbGluZ0Nvb3JkaW5hdG9yLnNjcm9sbGluZ1RyZWUo
KSkpOwogfQogCiB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6cmVtb3ZlU2Nyb2xsaW5nVHJlZUZvclBh
Z2UoV2ViUGFnZSogd2ViUGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1t
CmluZGV4IDU3OGQzOTcxN2ZlMzRmNTlkYWY2NGMwMjZlNThmNmUwM2U4ZjYyNGQuLjkyZmQ2MDMw
ZTkxMjIxN2U2ZjA3YzA3NDBlZmZhZGZjZWE2Y2VkNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYS5tbQpAQCAtMzU4LDcgKzM1OCw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKICAgICBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clRyYW5zYWN0aW9uIHNjcm9sbGluZ1RyYW5zYWN0aW9uOwogI2lmIEVOQUJMRShBU1lOQ19TQ1JP
TExJTkcpCiAgICAgaWYgKG1fd2ViUGFnZS5zY3JvbGxpbmdDb29yZGluYXRvcigpKQotICAgICAg
ICB0b1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yKG1fd2ViUGFnZS5zY3JvbGxpbmdDb29yZGlu
YXRvcigpKS0+YnVpbGRUcmFuc2FjdGlvbihzY3JvbGxpbmdUcmFuc2FjdGlvbik7CisgICAgICAg
IGRvd25jYXN0PFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yPigqbV93ZWJQYWdlLnNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKCkpLmJ1aWxkVHJhbnNhY3Rpb24oc2Nyb2xsaW5nVHJhbnNhY3Rpb24pOwog
I2VuZGlmCiAKICAgICBtX3dhaXRpbmdGb3JCYWNraW5nU3RvcmVTd2FwID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDc5Y2NhYTQ5YzE4OTY0
MDNlYWFhOWMwMWNiMzM1MzJjNTFhYmYyZTQuLmQ2MzRkMmNjYWY2YTIxZWViNmYxZDNkMDk4ZDEy
MWY3MDZlMzY3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5t
bQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6
OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmCiAgICAgU2V0dGlu
Z3MmIHNldHRpbmdzID0gbV93ZWJQYWdlLmNvcmVQYWdlKCktPnNldHRpbmdzKCk7CiAKICNpZiBF
TkFCTEUoQVNZTkNfU0NST0xMSU5HKQotICAgIGlmIChBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
KiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcihtX3dl
YlBhZ2UuY29yZVBhZ2UoKS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkpIHsKKyAgICBpZiAoQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBkb3duY2FzdDxB
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yPihtX3dlYlBhZ2UuY29yZVBhZ2UoKS0+c2Nyb2xsaW5n
Q29vcmRpbmF0b3IoKSkpIHsKICAgICAgICAgYm9vbCBzY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dp
bmdFbmFibGVkID0gbV93ZWJQYWdlLnNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQo
KTsKICAgICAgICAgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRjaChiaW5kKCZTY3JvbGxpbmdUcmVl
OjpzZXRTY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkLCBzY3JvbGxpbmdDb29yZGlu
YXRvci0+c2Nyb2xsaW5nVHJlZSgpLCBzY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
KSk7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>