<?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>130253</bug_id>
          
          <creation_ts>2014-03-14 11:30:36 -0700</creation_ts>
          <short_desc>[iOS WK2] Improve behavior of fixed elments on zooming</short_desc>
          <delta_ts>2014-03-14 14:51:49 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>990581</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-14 11:30:36 -0700</bug_when>
    <thetext>[iOS WK2] Improve behavior of fixed elments on zooming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990585</commentid>
    <comment_count>1</comment_count>
      <attachid>226741</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-14 11:40:27 -0700</bug_when>
    <thetext>Created attachment 226741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990687</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-14 14:51:49 -0700</bug_when>
    <thetext>https://trac.webkit.org/r165652</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226741</attachid>
            <date>2014-03-14 11:40:27 -0700</date>
            <delta_ts>2014-03-14 12:12:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130253-20140314114004.patch</filename>
            <type>text/plain</type>
            <size>35312</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1NDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU4ZmJhODU1NzAzMWYx
OWUwMGU4Y2VjY2UxOWM5NjZjYWY5MWQ1MC4uNGU0ZjBlYWQ5NWNjOTc4ZGI1ZjMzMDFlMGUxMjBj
MzhjOWQxZjcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTAzLTE0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgV0syXSBJ
bXByb3ZlIGJlaGF2aW9yIG9mIGZpeGVkIGVsbWVudHMgb24gem9vbWluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMjUzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29ycmVjdGx5IHJlcG9zaXRpb24g
cmlnaHQtIGFuZCBib3R0b20tcmVsYXRpdmUgcG9zaXRpb246Zml4ZWQKKyAgICAgICAgZWxlbWVu
dHMgb24gem9vbWluZyBpbiBXSzIgaU9TIGJ5IHRlbGxpbmcgdGhlIHNjcm9sbGluZyB0cmVlCisg
ICAgICAgIGFib3V0IHpvb20tcmVsYXRlZCB2aWV3cG9ydCBjaGFuZ2VzLgorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpyZWN0Rm9yVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHMpOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp2aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0c1Jl
Y3QpOiBXZSBuZWVkIHRvIGJlIGFibGUgdG8KKyAgICAgICAgcmVjb21wdXRlIHRoZSBmaXhlZCBw
b3NpdGlvbiByZWN0IGZyb20gdGhlIHNjcm9sbGluZyB0cmVlIG9uIGlPUywgc28gd2UgbmVlZAor
ICAgICAgICBhIHN0YXRpYyBmdW5jdGlvbiwgc2ltaWxhciB0byBzY3JvbGxPZmZzZXRGb3JGaXhl
ZFBvc2l0aW9uKCksIHRoYXQgY29tcHV0ZXMKKyAgICAgICAgdGhlIGNvbnN0cmFpbmVkIHZpZXdw
b3J0LgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9QYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFBhZ2VTY2FsZUZhY3Rvcik6IFdoZW4gc2Ny
b2xsaW5nIChhbmQsIGJ5IGltcGxpY2F0aW9uLCB6b29taW5nKQorICAgICAgICBpcyBkZWxlZ2F0
ZWQsIHRoZW4gc2V0UGFnZVNjYWxlRmFjdG9yKCkgc2hvdWxkIG5vdCBhZmZlY3QgdGhlIHNjcm9s
bCBwb3NpdGlvbi4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OmZyYW1lVmlld0xheW91dFVwZGF0ZWQpOiBHbyBiYWNrIHRvIGp1c3QKKyAgICAgICAgcGFzc2lu
ZyB0aGUgdmlzaWJsZUNvbnRlbnRSZWN0KCkgZm9yIGlPUy4KKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6
OnZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyk6IEVudHJ5cG9pbnQgdG8KKyAg
ICAgICAgdGhlIHNjcm9sbGluZyB0cmVlLCBjYWxsZWQgd2hlbiB0aGUgdmlld3BvcnQgaXMgY2hh
bmdlZCBieSB6b29taW5nLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUu
aDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5o
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZUlPUy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlSU9TOjpzZXRTY3JvbGxMYXllclBvc2l0aW9uKTogVXNlIHRoZQorICAgICAgICBuZXcgRnJh
bWVWaWV3OjpyZWN0Rm9yVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHMoKSB0byBjb21wdXRlIHRo
ZSBjb3JyZWN0IHZpZXdwb3J0CisgICAgICAgIGZvciBmaXhlZC9zdGlja3kgY2hpbGQgbm9kZXMu
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUzo6dXBkYXRl
Rm9yVmlld3BvcnQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlTWFjOjp1cGRhdGVGb3JWaWV3cG9ydCk6CisKIDIwMTQtMDMtMTIgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgSGF2ZSB0aGUg
c2Nyb2xsaW5nIHRyZWUgdHJhY2sgdGhlIHZpZXdwb3J0IHNpemUsIG5vdCB0aGUgdmlld3BvcnQg
cmVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDhmMWRkMzY3ODJlYjUxMjg3YWRiZWU1MGMyOTNjZGM5MDlkMDdi
Y2MuLjY2M2E3NDhmYTIyN2YyZmU0YjIxMWY0N2JiMmRkNzhlNThhMjVjMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0NCBAQAorMjAxNC0wMy0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TIFdLMl0gSW1wcm92ZSBiZWhhdmlvciBvZiBmaXhl
ZCBlbG1lbnRzIG9uIHpvb21pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzMDI1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENvcnJlY3RseSByZXBvc2l0aW9uIHJpZ2h0LSBhbmQgYm90dG9tLXJlbGF0
aXZlIHBvc2l0aW9uOmZpeGVkCisgICAgICAgIGVsZW1lbnRzIG9uIHpvb21pbmcgaW4gV0syIGlP
UyBieSB0ZWxsaW5nIHRoZSBzY3JvbGxpbmcgdHJlZQorICAgICAgICBhYm91dCB6b29tLXJlbGF0
ZWQgdmlld3BvcnQgY2hhbmdlcy4KKworICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb246OkxheWVyUHJvcGVydGllczo6bm90ZVByb3BlcnRpZXNDaGFuZ2VkKToKKyAgICAgICAg
RHJpdmUtYnkgY2xlYW51cDsgdHlwZWRlZiB0aGUgZmxhZ3MgZmllbGQgdG8gYW4gdW5zaWduZWQs
IHRvIGF2b2lkIHVnbHkgY2FzdGluZy4KKyAgICAgICAgKiBVSVByb2Nlc3MvU2Nyb2xsaW5nL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Ojp1cGRhdGVTY3JvbGxpbmdUcmVlKTogUGFzcyBv
dXQgYSBmbGFnIHRvIHNheQorICAgICAgICBpZiB0aGUgdXBkYXRlIGNvbnRhaW5lZCBhIG5ldyBm
aXhlZCBvciBzdGlja3kgbGF5ZXIuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHk6OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Ojp2aWV3cG9ydENoYW5nZWRWaWFEZWxl
Z2F0ZWRTY3JvbGxpbmcpOgorICAgICAgICBDYWxsIGludG8gdGhlIG5ldyBTY3JvbGluZ1RyZWU6
OnZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZygpLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbTog
SWYgd2UgZ290IGEgbmV3IGZpeGVkCisgICAgICAgIG9yIHN0aWNreSBsYXllciwgc2V0IGZpeGVk
T3JTdGlja3lMYXllckNoYW5nZWQgdG8gdHJ1ZS4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y29ubmVjdFN0YXRlTm9kZUxheWVycyk6IERpdHRvLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBkaWRVcGRhdGVWaXNpYmxlUmVjdDp1bm9ic2N1cmVkUmVjdDpzY2FsZTppblN0
YWJsZVN0YXRlOl0pOgorICAgICAgICBSZW1lbWJlciBib3RoIHRoZSBvbGQgem9vbVNjYWxlIGFu
ZCB0aGUgZmlsdGVyZWRTY2FsZSwgc2luY2UgdGhlIGZpeGVkIHBvc2l0aW9uIHJlY3QKKyAgICAg
ICAgc2hvdWxkIGJlIGNvbXB1dGVkIHVzaW5nIHRoZSB1bmZpbHRlcmVkIHNjYWxlLgorICAgICAg
ICBTb21lIEZsb2F0UmVjdCAtPiBDR1JlY3QgY2hhbmdlcy4KKyAgICAgICAgTm93IGNhbGwgdmll
d3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKCkgb24gdGhlIHNjcm9sbGluZyBjb29y
ZGluYXRvci4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBmaXhlZFBvc2l0aW9uUmVjdEZyb21F
eHBvc2VkUmVjdDpzY2FsZTpdKTogQ2FsbCB0aGUKKyAgICAgICAgRnJhbWVWaWV3IGZ1bmN0aW9u
IHRvIGNvbXB1dGUgdGhlIGlPUyBmaXhlZCBwb3NpdGlvbiByZWN0LgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVlKTog
SWYgdGhlIHVwZGF0ZQorICAgICAgICBnb3QgYSBuZXcgZml4ZWQgb3Igc3RpY2t5IGxheWVyLCBy
dW4gdGhlIHNjcm9sbGluZyB0cmVlIGxvZ2ljIHRvIG1ha2Ugc3VyZQorICAgICAgICBpdCBnZXRz
IGludG8gdGhlIHJpZ2h0IHBsYWNlLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5
ZXJUcmVlSG9zdC5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlSG9zdDo6dXBk
YXRlTGF5ZXJUcmVlKTogSWYgd2UgbG9nZ2VkIGhlcmUsCisgICAgICAgIHdlJ2QgbG9nIHR3aWNl
IGlmIHRoZSB0aWxlZCBzY3JvbGxpbmcgaW5kaWNhdG9yIHdhcyBlbmFibGVkLCBzbyAKKyAgICAg
ICAgaG9pc3RlZCB0aGUgbG9nZ2luZyBvdXQgaW50byB0aGUgY2FsbGVyLgorCiAyMDE0LTAzLTEy
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEhhdmUg
dGhlIHNjcm9sbGluZyB0cmVlIHRyYWNrIHRoZSB2aWV3cG9ydCBzaXplLCBub3QgdGhlIHZpZXdw
b3J0IHJlY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNmQ5MDNmZGFjNjIzMzE1N2ZlZGM5NTg0
MDJiNzQ2MjYxZjYyNzBmYy4uZjg2NTRmMjMxZGU4NDgyNjU4YzkwNWUwZGVhOTIyZTdiOTIzY2Nl
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTgwMSw2ICs4MDEsNyBAQCBfX1pON1dlYkNvcmUx
OVRleHRSZXNvdXJjZURlY29kZXI1Zmx1c2hFdgogX19aTjdXZWJDb3JlMTlUZXh0UmVzb3VyY2VE
ZWNvZGVyNmRlY29kZUVQS2NtCiBfX1pON1dlYkNvcmUxOVRleHRSZXNvdXJjZURlY29kZXJDMUVS
S04zV1RGNlN0cmluZ0VSS05TXzEyVGV4dEVuY29kaW5nRWIKIF9fWk43V2ViQ29yZTE5VGV4dFJl
c291cmNlRGVjb2RlckQxRXYKK19fWk43V2ViQ29yZTE5ZW5jbG9zaW5nTGF5b3V0UmVjdEVSS05T
XzlGbG9hdFJlY3RFCiBfX1pON1dlYkNvcmUxOWdldEZpbGVDcmVhdGlvblRpbWVFUktOM1dURjZT
dHJpbmdFUmwKIF9fWk43V2ViQ29yZTE5dG9JbnQzMkVuZm9yY2VSYW5nZUVQTjNKU0M5RXhlY1N0
YXRlRU5TMF83SlNWYWx1ZUUKIF9fWk43V2ViQ29yZTIwQ2FjaGVkUmVzb3VyY2VMb2FkZXIzMWdh
cmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNFdgpAQCAtMjYwNiw2ICsyNjA3LDcgQEAgX19a
TjdXZWJDb3JlOUZyYW1lVmlldzIwc2V0V2FzU2Nyb2xsZWRCeVVzZXJFYgogX19aTjdXZWJDb3Jl
OUZyYW1lVmlldzI0cmVuZGVyZWRDaGFyYWN0ZXJzRXhjZWVkRWoKIF9fWk43V2ViQ29yZTlGcmFt
ZVZpZXczMGdyYXBoaWNzTGF5ZXJGb3JQbGF0Zm9ybVdpZGdldEVQN1dBS1ZpZXcKIF9fWk43V2Vi
Q29yZTlGcmFtZVZpZXczMnNldEN1c3RvbUZpeGVkUG9zaXRpb25MYXlvdXRSZWN0RVJLTlNfN0lu
dFJlY3RFCitfX1pON1dlYkNvcmU5RnJhbWVWaWV3MzNyZWN0Rm9yVmlld3BvcnRDb25zdHJhaW5l
ZE9iamVjdHNFUktOU18xMExheW91dFJlY3RFUktOU18xMExheW91dFNpemVFZmJOU18zMFNjcm9s
bEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50c0UKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXczNXNldFVz
ZUN1c3RvbUZpeGVkUG9zaXRpb25MYXlvdXRSZWN0RWIKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcz
NnNjaGVkdWxlTGF5ZXJGbHVzaEFsbG93aW5nVGhyb3R0bGluZ0V2CiBfX1pON1dlYkNvcmU5UGFn
ZUdyb3VwMTdyZW1vdmVWaXNpdGVkTGlua0VSS05TXzNVUkxFCkBAIC0yNzE0LDggKzI3MTYsOCBA
QCBfX1pON1dlYkNvcmUxM1Njcm9sbGluZ1RyZWUyMXNldENhblJ1YmJlckJhbmRTdGF0ZUViYmJi
CiBfX1pON1dlYkNvcmUxM1Njcm9sbGluZ1RyZWUzMXdpbGxXaGVlbEV2ZW50U3RhcnRTd2lwZUdl
c3R1cmVFUktOU18xOFBsYXRmb3JtV2hlZWxFdmVudEUKIF9fWk43V2ViQ29yZTEzU2Nyb2xsaW5n
VHJlZTMyaXNQb2ludEluTm9uRmFzdFNjcm9sbGFibGVSZWdpb25FTlNfOEludFBvaW50RQogX19a
TjdXZWJDb3JlMTNTY3JvbGxpbmdUcmVlMzVzaG91bGRIYW5kbGVXaGVlbEV2ZW50U3luY2hyb25v
dXNseUVSS05TXzE4UGxhdGZvcm1XaGVlbEV2ZW50RQorX19aTjdXZWJDb3JlMTNTY3JvbGxpbmdU
cmVlMzZ2aWV3cG9ydENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmdFeVJLTlNfOUZsb2F0UmVj
dEVkCiBfX1pON1dlYkNvcmUxM1Njcm9sbGluZ1RyZWUzN3NldFNjcm9sbGluZ1BlcmZvcm1hbmNl
TG9nZ2luZ0VuYWJsZWRFYgotX19aTjdXZWJDb3JlMTNTY3JvbGxpbmdUcmVlNDJzY3JvbGxQb3Np
dGlvbkNoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmdFeVJLTlNfMTBGbG9hdFBvaW50RQogX19a
TjdXZWJDb3JlMTNTY3JvbGxpbmdUcmVlQzJFdgogX19aTjdXZWJDb3JlMTNTY3JvbGxpbmdUcmVl
RDFFdgogX19aTjdXZWJDb3JlMTNTY3JvbGxpbmdUcmVlRDJFdgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCmluZGV4IGRkZjA4MWRiNDQ0OGUzZDc1ZGVlMWRlY2U4NGU4OGRhMjc0ZmU1NDkuLmY5
ODdkNGQ5Mzk4NTU4OTcyNTM0NGRiMzFiMmJhNzVhMWJlMDJlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTE1ODQsNiArMTU4NCw1MyBAQCBMYXlvdXRTaXplIEZyYW1lVmlldzo6
c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIHNjcm9sbE9m
ZnNldEZvckZpeGVkUG9zaXRpb24odmlzaWJsZUNvbnRlbnRSZWN0LCB0b3RhbENvbnRlbnRzU2l6
ZSwgc2Nyb2xsUG9zaXRpb24sIHNjcm9sbE9yaWdpbiwgZnJhbWVTY2FsZUZhY3RvciwgZml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpLCBiZWhhdmlvckZvckZpeGVkLCBoZWFkZXJI
ZWlnaHQoKSwgZm9vdGVySGVpZ2h0KCkpOwogfQogICAgIAorI2lmIFBMQVRGT1JNKElPUykKK0xh
eW91dFJlY3QgRnJhbWVWaWV3OjpyZWN0Rm9yVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHMoY29u
c3QgTGF5b3V0UmVjdCYgdmlzaWJsZUNvbnRlbnRSZWN0LCBjb25zdCBMYXlvdXRTaXplJiB0b3Rh
bENvbnRlbnRzU2l6ZSwgZmxvYXQgZnJhbWVTY2FsZUZhY3RvciwgYm9vbCBmaXhlZEVsZW1lbnRz
TGF5b3V0UmVsYXRpdmVUb0ZyYW1lLCBTY3JvbGxCZWhhdmlvckZvckZpeGVkRWxlbWVudHMgc2Ny
b2xsQmVoYXZpb3IpCit7CisgICAgaWYgKGZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJh
bWUpCisgICAgICAgIHJldHVybiB2aXNpYmxlQ29udGVudFJlY3Q7CisgICAgCisgICAgLy8gV2Ug
aW1wb3NlIGFuIGxvd2VyIGxpbWl0IG9uIHRoZSBzaXplIChzbyBhbiB1cHBlciBsaW1pdCBvbiB0
aGUgc2NhbGUpIG9mCisgICAgLy8gdGhlIHJlY3QgdXNlZCB0byBwb3NpdGlvbiBmaXhlZCBvYmpl
Y3RzIHNvIHRoYXQgdGhleSBkb24ndCBjcm93ZCBpbnRvIHRoZQorICAgIC8vIGNlbnRlciBvZiB0
aGUgc2NyZWVuIGF0IGxhcmdlciBzY2FsZXMuCisgICAgY29uc3QgZmxvYXQgY29uc3RyYWludFRo
cmVzaG9sZFNjYWxlID0gMS4yOworCisgICAgZmxvYXQgbWF4UG9zdGlvbmVkT2JqZWN0c1JlY3RT
Y2FsZSA9IHN0ZDo6bWluKGZyYW1lU2NhbGVGYWN0b3IsIGNvbnN0cmFpbnRUaHJlc2hvbGRTY2Fs
ZSk7CisKKyAgICBMYXlvdXRSZWN0IHZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzUmVjdCA9IHZp
c2libGVDb250ZW50UmVjdDsKKworICAgIGlmIChmcmFtZVNjYWxlRmFjdG9yID4gY29uc3RyYWlu
dFRocmVzaG9sZFNjYWxlKSB7CisgICAgICAgIEZsb2F0UmVjdCBjb250ZW50UmVjdChGbG9hdFBv
aW50KCksIHRvdGFsQ29udGVudHNTaXplKTsKKyAgICAgICAgRmxvYXRSZWN0IHZpZXdwb3J0UmVj
dCA9IHZpc2libGVDb250ZW50UmVjdDsKKyAgICAgICAgCisgICAgICAgIC8vIFNjYWxlIHRoZSBy
ZWN0IHVwIGZyb20gYSBwb2ludCB0aGF0IGlzIHJlbGF0aXZlIHRvIGl0cyBwb3NpdGlvbiBpbiB0
aGUgdmlld3BvcnQuCisgICAgICAgIEZsb2F0U2l6ZSBzaXplRGVsdGEgPSBjb250ZW50UmVjdC5z
aXplKCkgLSB2aWV3cG9ydFJlY3Quc2l6ZSgpOworCisgICAgICAgIEZsb2F0UG9pbnQgc2NhbGVP
cmlnaW47CisgICAgICAgIHNjYWxlT3JpZ2luLnNldFgoY29udGVudFJlY3QueCgpICsgc2l6ZURl
bHRhLndpZHRoKCkgPiAwID8gY29udGVudFJlY3Qud2lkdGgoKSAqICh2aWV3cG9ydFJlY3QueCgp
IC0gY29udGVudFJlY3QueCgpKSAvIHNpemVEZWx0YS53aWR0aCgpIDogMCk7CisgICAgICAgIHNj
YWxlT3JpZ2luLnNldFkoY29udGVudFJlY3QueSgpICsgc2l6ZURlbHRhLmhlaWdodCgpID4gMCA/
IGNvbnRlbnRSZWN0LmhlaWdodCgpICogKHZpZXdwb3J0UmVjdC55KCkgLSBjb250ZW50UmVjdC55
KCkpIC8gc2l6ZURlbHRhLmhlaWdodCgpIDogMCk7CisgICAgICAgIAorICAgICAgICBBZmZpbmVU
cmFuc2Zvcm0gcmVzY2FsZVRyYW5zZm9ybSA9IEFmZmluZVRyYW5zZm9ybTo6dHJhbnNsYXRpb24o
c2NhbGVPcmlnaW4ueCgpLCBzY2FsZU9yaWdpbi55KCkpOworICAgICAgICByZXNjYWxlVHJhbnNm
b3JtLnNjYWxlKGZyYW1lU2NhbGVGYWN0b3IgLyBtYXhQb3N0aW9uZWRPYmplY3RzUmVjdFNjYWxl
LCBmcmFtZVNjYWxlRmFjdG9yIC8gbWF4UG9zdGlvbmVkT2JqZWN0c1JlY3RTY2FsZSk7CisgICAg
ICAgIHJlc2NhbGVUcmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybVRyYW5zbGF0ZShyZXNjYWxl
VHJhbnNmb3JtLCAtc2NhbGVPcmlnaW4ueCgpLCAtc2NhbGVPcmlnaW4ueSgpKTsKKworICAgICAg
ICB2aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0c1JlY3QgPSBlbmNsb3NpbmdMYXlvdXRSZWN0KHJl
c2NhbGVUcmFuc2Zvcm0ubWFwUmVjdCh2aXNpYmxlQ29udGVudFJlY3QpKTsKKyAgICB9CisgICAg
CisgICAgaWYgKHNjcm9sbEJlaGF2aW9yID09IFN0aWNrVG9Eb2N1bWVudEJvdW5kcykgeworICAg
ICAgICBMYXlvdXRSZWN0IGRvY3VtZW50Qm91bmRzKExheW91dFBvaW50KCksIHRvdGFsQ29udGVu
dHNTaXplKTsKKyAgICAgICAgdmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHNSZWN0LmludGVyc2Vj
dChkb2N1bWVudEJvdW5kcyk7CisgICAgfQorCisgICAgcmV0dXJuIHZpZXdwb3J0Q29uc3RyYWlu
ZWRPYmplY3RzUmVjdDsKK30KKyAgICAKK0xheW91dFJlY3QgRnJhbWVWaWV3Ojp2aWV3cG9ydENv
bnN0cmFpbmVkT2JqZWN0c1JlY3QoKSBjb25zdAoreworICAgIHJldHVybiByZWN0Rm9yVmlld3Bv
cnRDb25zdHJhaW5lZE9iamVjdHModmlzaWJsZUNvbnRlbnRSZWN0KCksIHRvdGFsQ29udGVudHNT
aXplKCksIGZyYW1lKCkuZnJhbWVTY2FsZUZhY3RvcigpLCBmaXhlZEVsZW1lbnRzTGF5b3V0UmVs
YXRpdmVUb0ZyYW1lKCksIHNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cygpKTsKK30KKyNl
bmRpZgorICAgIAogSW50UG9pbnQgRnJhbWVWaWV3OjptaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSBj
b25zdAogewogICAgIEludFBvaW50IG1pbmltdW1Qb3NpdGlvbihTY3JvbGxWaWV3OjptaW5pbXVt
U2Nyb2xsUG9zaXRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBjZjIyZmI1ZDE4
NmFhM2M2MmMzZjljNzgyYWUxYTAxZTcxOGU4NWQ0Li43ZWQ1NzY4NzY1MTdlMWFkOWQwY2FjZWE3
ZDkzYmI0MThkZWI3YjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTI2NSw3ICsyNjUs
MTMgQEAgcHVibGljOgogICAgIExheW91dFNpemUgc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlv
bigpIGNvbnN0OwogICAgIC8vIFN0YXRpYyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGZyb20gYW5v
dGhlciB0aHJlYWQuCiAgICAgc3RhdGljIExheW91dFNpemUgc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQ
b3NpdGlvbihjb25zdCBMYXlvdXRSZWN0JiB2aXNpYmxlQ29udGVudFJlY3QsIGNvbnN0IExheW91
dFNpemUmIHRvdGFsQ29udGVudHNTaXplLCBjb25zdCBMYXlvdXRQb2ludCYgc2Nyb2xsUG9zaXRp
b24sIGNvbnN0IExheW91dFBvaW50JiBzY3JvbGxPcmlnaW4sIGZsb2F0IGZyYW1lU2NhbGVGYWN0
b3IsIGJvb2wgZml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSwgU2Nyb2xsQmVoYXZp
b3JGb3JGaXhlZEVsZW1lbnRzLCBpbnQgaGVhZGVySGVpZ2h0LCBpbnQgZm9vdGVySGVpZ2h0KTsK
LQorICAgIAorI2lmIFBMQVRGT1JNKElPUykKKyAgICBMYXlvdXRSZWN0IHZpZXdwb3J0Q29uc3Ry
YWluZWRPYmplY3RzUmVjdCgpIGNvbnN0OworICAgIC8vIFN0YXRpYyBmdW5jdGlvbiBjYW4gYmUg
Y2FsbGVkIGZyb20gYW5vdGhlciB0aHJlYWQuCisgICAgc3RhdGljIExheW91dFJlY3QgcmVjdEZv
clZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzKGNvbnN0IExheW91dFJlY3QmIHZpc2libGVDb250
ZW50UmVjdCwgY29uc3QgTGF5b3V0U2l6ZSYgdG90YWxDb250ZW50c1NpemUsIGZsb2F0IGZyYW1l
U2NhbGVGYWN0b3IsIGJvb2wgZml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSwgU2Ny
b2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzKTsKKyNlbmRpZgorICAgIAogICAgIGJvb2wgZml4
ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIGNvbnN0OwogCiAgICAgdm9pZCBkaXNh
YmxlTGF5ZXJGbHVzaFRocm90dGxpbmdUZW1wb3JhcmlseUZvckludGVyYWN0aW9uKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAppbmRleCBkMWRmNzcyYzAxN2I5YTA1ZTJmZjhhM2I1MDM3NDQ1YTk3MjgwNjM2
Li5iNWU0N2RjMjU3NmZjMTc1OWMzMzg5M2NhNzg2MmVlMWEwMDMzZDg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKQEAgLTczNyw3ICs3MzcsOSBAQCB2b2lkIFBhZ2U6OnNldFBhZ2VTY2FsZUZhY3Rvcihm
bG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdpbikKICAgICBpZiAodmlldyAmJiB2aWV3
LT5zY3JvbGxQb3NpdGlvbigpICE9IG9yaWdpbikgewogICAgICAgICBpZiAoIW1fc2V0dGluZ3Mt
PmRlbGVnYXRlc1BhZ2VTY2FsaW5nKCkgJiYgZG9jdW1lbnQtPnJlbmRlclZpZXcoKSAmJiBkb2N1
bWVudC0+cmVuZGVyVmlldygpLT5uZWVkc0xheW91dCgpICYmIHZpZXctPmRpZEZpcnN0TGF5b3V0
KCkpCiAgICAgICAgICAgICB2aWV3LT5sYXlvdXQoKTsKLSAgICAgICAgdmlldy0+c2V0U2Nyb2xs
UG9zaXRpb24ob3JpZ2luKTsKKyAgICAgICAgCisgICAgICAgIGlmICghdmlldy0+ZGVsZWdhdGVz
U2Nyb2xsaW5nKCkpCisgICAgICAgICAgICB2aWV3LT5zZXRTY3JvbGxQb3NpdGlvbihvcmlnaW4p
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCA4NzUwOGM3MTRkNjkxNjZi
YjZhZDdlMTZmZWIxMGJhODRmMjI4ZDI2Li5iZDExN2ZhNTViOGZmM2Y0ZTA5ODZkMGY2OGI0ZjVl
YmIwYmExMmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtODksMTEgKzg5LDcgQEAgdm9p
ZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpmcmFtZVZpZXdMYXlvdXRVcGRhdGVkKEZyYW1l
VmlldyogZnJhbWVWaWV3KQogICAgIG5vZGUtPnNldEZvb3RlckhlaWdodChmcmFtZVZpZXctPmZv
b3RlckhlaWdodCgpKTsKIAogICAgIG5vZGUtPnNldFNjcm9sbE9yaWdpbihmcmFtZVZpZXctPnNj
cm9sbE9yaWdpbigpKTsKLSNpZiBQTEFURk9STShJT1MpCi0gICAgbm9kZS0+c2V0Vmlld3BvcnRT
aXplKGZyYW1lVmlldy0+dmlld3BvcnRDb25zdHJhaW5lZFZpc2libGVDb250ZW50UmVjdCgpLnNp
emUoKSk7Ci0jZWxzZQogICAgIG5vZGUtPnNldFZpZXdwb3J0U2l6ZShmcmFtZVZpZXctPnZpc2li
bGVDb250ZW50UmVjdCgpLnNpemUoKSk7Ci0jZW5kaWYKICAgICBub2RlLT5zZXRUb3RhbENvbnRl
bnRzU2l6ZShmcmFtZVZpZXctPnRvdGFsQ29udGVudHNTaXplKCkpOwogCiAgICAgU2Nyb2xsYWJs
ZUFyZWFQYXJhbWV0ZXJzIHNjcm9sbFBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCmluZGV4IDAyZjVjMDY2Yjg3Y2FhYjcyYjll
YmJkYmVlOWNmYTA5MzcxYmQwZmEuLjE0YmYwZjEzZTU5NDU2M2YzYzI5Mzg2MDE2NjE4YjU2NzBh
YTlhNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCiAgICAgICAgIG1fcm9v
dE5vZGUtPmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5n
VHJlZTo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKFNjcm9sbGlu
Z05vZGVJRCBub2RlSUQsIGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uKQordm9pZCBT
Y3JvbGxpbmdUcmVlOjp2aWV3cG9ydENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcoU2Nyb2xs
aW5nTm9kZUlEIG5vZGVJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aWV3cG9ydFJlY3Qs
IGRvdWJsZSBzY2FsZSkKIHsKICAgICBTY3JvbGxpbmdUcmVlTm9kZSogbm9kZSA9IG5vZGVGb3JJ
RChub2RlSUQpOwogICAgIGlmICghbm9kZSkKQEAgLTEwNyw3ICsxMDcsNyBAQCB2b2lkIFNjcm9s
bGluZ1RyZWU6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhTY3Jv
bGxpbmdOb2RlSUQgbgogICAgIGlmIChub2RlLT5ub2RlVHlwZSgpICE9IFNjcm9sbGluZ05vZGUp
CiAgICAgICAgIHJldHVybjsKIAotICAgIHRvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUobm9k
ZSktPnNldFNjcm9sbFBvc2l0aW9uV2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoc2Nyb2xs
UG9zaXRpb24pOworICAgIHRvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUobm9kZSktPnVwZGF0
ZUZvclZpZXdwb3J0KHZpZXdwb3J0UmVjdCwgc2NhbGUpOwogfQogCiB2b2lkIFNjcm9sbGluZ1Ry
ZWU6OmNvbW1pdE5ld1RyZWVTdGF0ZShQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4gc2Ny
b2xsaW5nU3RhdGVUcmVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZS5oCmluZGV4IDI0YWJiMDgxNDRiMGRkNmQzMDc0MTNiYzAwYTIyMWFkNDU2YzFlYzAu
LjMyMGY1NGVhN2M5YzcyZTBiMjQ0YzI1Y2NmYjEyNDJjZmI0MzE2YTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTYzLDcgKzYzLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgRXZlbnRSZXN1bHQgdHJ5VG9IYW5kbGVXaGVlbEV2ZW50KGNv
bnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpID0gMDsKICAgICBib29sIHNob3VsZEhhbmRsZVdoZWVs
RXZlbnRTeW5jaHJvbm91c2x5KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwogICAgIAotICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxQb3NpdGlvbkNoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmco
U2Nyb2xsaW5nTm9kZUlELCBjb25zdCBGbG9hdFBvaW50Jik7CisgICAgdmlydHVhbCB2b2lkIHZp
ZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhTY3JvbGxpbmdOb2RlSUQsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlld3BvcnRSZWN0LCBkb3VibGUgc2NhbGUpOwogCiAgICAg
dm9pZCBzZXRNYWluRnJhbWVJc1J1YmJlckJhbmRpbmcoYm9vbCk7CiAgICAgYm9vbCBpc1J1YmJl
ckJhbmRJblByb2dyZXNzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAppbmRleCA4ZmYzZmM3Yzg5ODNh
N2Q2NWM5YzVhNjViN2FmMmJmZTMxMzUwZmFhLi4zMDE2NGYwM2UwN2IxYjg5MGU4ZGExOWEzNTUw
ZmUwYjdjNDM2YzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAgLTUyLDcgKzUyLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3Qg
RmxvYXRQb2ludCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb25XaXRo
b3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhjb25zdCBGbG9hdFBvaW50JikgPSAwOwotCisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUZvclZpZXdwb3J0KGNvbnN0IEZsb2F0UmVjdCYgdmlld3BvcnRS
ZWN0LCBkb3VibGUgc2NhbGUpID0gMDsKKyAgICAKICAgICBTeW5jaHJvbm91c1Njcm9sbGluZ1Jl
YXNvbnMgc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKCkgY29uc3QgeyByZXR1cm4gbV9zeW5j
aHJvbm91c1Njcm9sbGluZ1JlYXNvbnM7IH0KICAgICBib29sIHNob3VsZFVwZGF0ZVNjcm9sbExh
eWVyUG9zaXRpb25TeW5jaHJvbm91c2x5KCkgY29uc3QgeyByZXR1cm4gbV9zeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnM7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVJT1MuaAppbmRl
eCBkNzc0Mjk5Y2IyNWZkN2EwOWE3NGM0ZGUzYzM3Y2FhMWI4ZDA4OTgzLi41Mzc2Mzc4NTQzZTBk
Y2JmOGUzMGQ4OTk2MjhjNWIyMDVjNmE4ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVJT1MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVJT1MuaApAQCAtNTEsNiArNTEsNyBAQCBwcml2YXRlOgogICAgIEZsb2F0UG9pbnQgc2Nyb2xs
UG9zaXRpb24oKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29u
c3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3Np
dGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9yVmlld3BvcnQoY29uc3QgRmxvYXRSZWN0
JiB2aWV3cG9ydFJlY3QsIGRvdWJsZSBzY2FsZSk7CiAKICAgICB2b2lkIHNldFNjcm9sbExheWVy
UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVJT1MubW0KaW5kZXggMmM1ZDc1YzU4MzNiZWE2OWIxZGI0ZDI3Njg4ZWQyYmM3NmMzNDAyZi4u
OTFhZGIzNzkxZTgxZjRmOWVmNmU3NjhhZjRmZTkxNjMwM2FkMGZhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZUlPUy5tbQpAQCAtMTYwLDEyICsxNjAsMjYgQEAgdm9pZCBTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZUlPUzo6c2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbihjb25zdCBGbG9h
dFBvaW50JiBwb3MKICAgICAKICAgICBpZiAoIW1fY2hpbGRyZW4pCiAgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICB2aWV3cG9ydFJlY3Quc2V0TG9jYXRpb24oc2Nyb2xsT2Zmc2V0KTsKKyAgICAK
KyAgICBGbG9hdFJlY3Qgdmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHNSZWN0ID0gRnJhbWVWaWV3
OjpyZWN0Rm9yVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHMoZW5jbG9zaW5nTGF5b3V0UmVjdCh2
aWV3cG9ydFJlY3QpLCB0b3RhbENvbnRlbnRzU2l6ZSgpLCBmcmFtZVNjYWxlRmFjdG9yKCksIGZh
bHNlLCBiZWhhdmlvckZvckZpeGVkKTsKKyAgICAKKyAgICBzaXplX3Qgc2l6ZSA9IG1fY2hpbGRy
ZW4tPnNpemUoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAg
ICAgbV9jaGlsZHJlbi0+YXQoaSktPnBhcmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hhbmdlKHZpZXdw
b3J0Q29uc3RyYWluZWRPYmplY3RzUmVjdCwgRmxvYXRTaXplKCkpOworfQorCit2b2lkIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TOjp1cGRhdGVGb3JWaWV3cG9ydChjb25zdCBGbG9hdFJl
Y3QmIHZpZXdwb3J0UmVjdCwgZG91YmxlIHNjYWxlKQoreworICAgIGlmICghbV9jaGlsZHJlbikK
KyAgICAgICAgcmV0dXJuOwogCi0gICAgdmlld3BvcnRSZWN0LnNldExvY2F0aW9uKEZsb2F0UG9p
bnQoKSArIHNjcm9sbE9mZnNldEZvckZpeGVkQ2hpbGRyZW4pOworICAgIEZsb2F0UmVjdCB2aWV3
cG9ydENvbnN0cmFpbmVkT2JqZWN0c1JlY3QgPSBGcmFtZVZpZXc6OnJlY3RGb3JWaWV3cG9ydENv
bnN0cmFpbmVkT2JqZWN0cyhlbmNsb3NpbmdMYXlvdXRSZWN0KHZpZXdwb3J0UmVjdCksIHRvdGFs
Q29udGVudHNTaXplKCksIHNjYWxlLCBmYWxzZSwgc2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1l
bnRzKCkpOwogCiAgICAgc2l6ZV90IHNpemUgPSBtX2NoaWxkcmVuLT5zaXplKCk7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpCi0gICAgICAgIG1fY2hpbGRyZW4tPmF0KGkp
LT5wYXJlbnRTY3JvbGxQb3NpdGlvbkRpZENoYW5nZSh2aWV3cG9ydFJlY3QsIEZsb2F0U2l6ZSgp
KTsKKyAgICAgICAgbV9jaGlsZHJlbi0+YXQoaSktPnBhcmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hh
bmdlKHZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzUmVjdCwgRmxvYXRTaXplKCkpOwogfQogCiBG
bG9hdFBvaW50IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TOjptaW5pbXVtU2Nyb2xsUG9z
aXRpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMuaAppbmRleCBlZTkx
ZTEzYTA1OGRhNGVmYTFhYzY5OTc3M2IwMWUyY2Y2MjllNTU0Li43NjVmMDcyOGE4OTM4YTE0OTQ2
NzA0YzdlOTYwMWE1NTIxNjM0ZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMu
aApAQCAtNjgsNiArNjgsNyBAQCBwcml2YXRlOgogICAgIEZsb2F0UG9pbnQgc2Nyb2xsUG9zaXRp
b24oKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxv
YXRQb2ludCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbldp
dGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9yVmlld3BvcnQoY29uc3QgRmxvYXRSZWN0JiB2aWV3
cG9ydFJlY3QsIGRvdWJsZSBzY2FsZSkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHNldFNjcm9sbExh
eWVyUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVNYWMubW0KaW5kZXggOWU0ZmY0NTQ4YzdkNDA1NTAyNzRmYjJiMjQ2NjE5Yjk0ZTU1YmVl
ZC4uZTNhNmY1YTVkNTA2YTMyZDFjZGIyNTI1MjkxNzJiZDA2NjVhNTlmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtNDAwLDYgKzQwMCwyMyBAQCB2b2lkIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxMYXllclBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmIHBvcwogICAgICAgICBtX2NoaWxkcmVuLT5hdChpKS0+cGFyZW50U2Nyb2xsUG9z
aXRpb25EaWRDaGFuZ2Uodmlld3BvcnRSZWN0LCBGbG9hdFNpemUoKSk7CiB9CiAKK3ZvaWQgU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWM6OnVwZGF0ZUZvclZpZXdwb3J0KGNvbnN0IEZsb2F0
UmVjdCYgdmlld3BvcnRSZWN0LCBkb3VibGUgc2NhbGUpCit7CisgICAgLy8gRklYTUU6IGNvcnJl
Y3RseSBoYW5kbGUgdXBkYXRlcyBmb3Igem9vbWluZy4KKyAgICBVTlVTRURfUEFSQU0oc2NhbGUp
OworICAgIEZsb2F0UG9pbnQgc2Nyb2xsUG9zaXRpb24gPSB2aWV3cG9ydFJlY3QubG9jYXRpb24o
KTsKKyAgICB1cGRhdGVNYWluRnJhbWVQaW5TdGF0ZShzY3JvbGxQb3NpdGlvbik7CisKKyAgICBp
ZiAoc2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvblN5bmNocm9ub3VzbHkoKSkgeworICAg
ICAgICBtX3Byb2JhYmxlTWFpblRocmVhZFNjcm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb247
CisgICAgICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChzY3Jv
bGxpbmdOb2RlSUQoKSwgc2Nyb2xsUG9zaXRpb24sIFNldFNjcm9sbGluZ0xheWVyUG9zaXRpb24p
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgc2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbihz
Y3JvbGxQb3NpdGlvbik7CisgICAgc2Nyb2xsaW5nVHJlZSgpLnNjcm9sbGluZ1RyZWVOb2RlRGlk
U2Nyb2xsKHNjcm9sbGluZ05vZGVJRCgpLCBzY3JvbGxQb3NpdGlvbik7Cit9CisKIEZsb2F0UG9p
bnQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWM6Om1pbmltdW1TY3JvbGxQb3NpdGlvbigp
IGNvbnN0CiB7CiAgICAgSW50UG9pbnQgcG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKaW5kZXggZjhkOWRi
MmIyMzAwNTZlY2E2YmUwMjcxYzRjMWJjYzlkMGRkOWNmYS4uZjM1OGE1NmEzZTlhOTFhYjg1NzEz
OTA1OWUyZmNiNDZmZWQ0Mzk0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaApAQCAtNDcsNyArNDcsNyBAQCBjbGFz
cyBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU7CiAKIGNsYXNzIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uIHsKIHB1YmxpYzoKLSAgICBlbnVtIExheWVyQ2hhbmdlIHsKKyAgICBlbnVtIExheWVyQ2hh
bmdlcyB7CiAgICAgICAgIE5vQ2hhbmdlID0gMCwKICAgICAgICAgTmFtZUNoYW5nZWQgPSAxIDw8
IDEsCiAgICAgICAgIENoaWxkcmVuQ2hhbmdlZCA9IDEgPDwgMiwKQEAgLTc3LDYgKzc3LDcgQEAg
cHVibGljOgogICAgICAgICBFZGdlQW50aWFsaWFzaW5nTWFza0NoYW5nZWQgPSAxIDw8IDI2LAog
ICAgICAgICBDdXN0b21BcHBlYXJhbmNlQ2hhbmdlZCA9IDEgPDwgMjcKICAgICB9OworICAgIHR5
cGVkZWYgdW5zaWduZWQgTGF5ZXJDaGFuZ2U7CiAKICAgICBzdHJ1Y3QgTGF5ZXJDcmVhdGlvblBy
b3BlcnRpZXMgewogICAgICAgICBMYXllckNyZWF0aW9uUHJvcGVydGllcygpOwpAQCAtOTcsMTAg
Kzk4LDEwIEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCBlbmNvZGUoSVBDOjpBcmd1bWVudEVuY29k
ZXImKSBjb25zdDsKICAgICAgICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6QXJndW1lbnREZWNv
ZGVyJiwgTGF5ZXJQcm9wZXJ0aWVzJik7CiAKLSAgICAgICAgdm9pZCBub3RlUHJvcGVydGllc0No
YW5nZWQoTGF5ZXJDaGFuZ2UgbGF5ZXJDaGFuZ2VzKQorICAgICAgICB2b2lkIG5vdGVQcm9wZXJ0
aWVzQ2hhbmdlZChMYXllckNoYW5nZSBjaGFuZ2VGbGFncykKICAgICAgICAgewotICAgICAgICAg
ICAgY2hhbmdlZFByb3BlcnRpZXMgPSBzdGF0aWNfY2FzdDxMYXllckNoYW5nZT4oY2hhbmdlZFBy
b3BlcnRpZXMgfCBsYXllckNoYW5nZXMpOwotICAgICAgICAgICAgZXZlckNoYW5nZWRQcm9wZXJ0
aWVzID0gc3RhdGljX2Nhc3Q8TGF5ZXJDaGFuZ2U+KGV2ZXJDaGFuZ2VkUHJvcGVydGllcyB8IGxh
eWVyQ2hhbmdlcyk7CisgICAgICAgICAgICBjaGFuZ2VkUHJvcGVydGllcyB8PSBjaGFuZ2VGbGFn
czsKKyAgICAgICAgICAgIGV2ZXJDaGFuZ2VkUHJvcGVydGllcyB8PSBjaGFuZ2VGbGFnczsKICAg
ICAgICAgfQogCiAgICAgICAgIExheWVyQ2hhbmdlIGNoYW5nZWRQcm9wZXJ0aWVzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggMTc3ZDA5ZTQzZGRjMDU5
MzE1YjEwMzVhNTQ3OTU0ODhlODY5MzJkNS4uMmNiZTVjNTJkMDUwYTBiMGY4ODUzY2Q1MjQ1YWIy
NzgxZTg2N2YwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGlu
Zy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3Bw
CkBAIC03NSw3ICs3NSw3IEBAIGNvbnN0IFJlbW90ZUxheWVyVHJlZUhvc3QqIFJlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yUHJveHk6OmxheWVyVHJlZUhvc3QoKSBjb25zCiAgICAgcmV0dXJuICZy
ZW1vdGVEcmF3aW5nQXJlYS0+cmVtb3RlTGF5ZXJUcmVlSG9zdCgpOwogfQogCi12b2lkIFJlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnVwZGF0ZVNjcm9sbGluZ1RyZWUoY29uc3QgUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCit2b2lkIFJl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnVwZGF0ZVNjcm9sbGluZ1RyZWUoY29uc3Qg
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIGJvb2wm
IGZpeGVkT3JTdGlja3lMYXllckNoYW5nZWQpCiB7CiAgICAgT3duUHRyPFNjcm9sbGluZ1N0YXRl
VHJlZT4gc3RhdGVUcmVlID0gY29uc3RfY2FzdDxSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRy
YW5zYWN0aW9uJj4odHJhbnNhY3Rpb24pLnNjcm9sbGluZ1N0YXRlVHJlZSgpLnJlbGVhc2UoKTsK
ICAgICAKQEAgLTg0LDEzICs4NCwxMyBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
UHJveHk6OnVwZGF0ZVNjcm9sbGluZ1RyZWUoY29uc3QgUmVtb3RlU2Nyb2xsaW5nQwogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAg
ICBjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKCpzdGF0ZVRyZWUsICpsYXllclRyZWVIb3N0KTsKKwor
ICAgIGNvbm5lY3RTdGF0ZU5vZGVMYXllcnMoKnN0YXRlVHJlZSwgKmxheWVyVHJlZUhvc3QsIGZp
eGVkT3JTdGlja3lMYXllckNoYW5nZWQpOwogICAgIG1fc2Nyb2xsaW5nVHJlZS0+Y29tbWl0TmV3
VHJlZVN0YXRlKHN0YXRlVHJlZS5yZWxlYXNlKCkpOwogfQogCiAjaWYgIVBMQVRGT1JNKElPUykK
LXZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y29ubmVjdFN0YXRlTm9kZUxh
eWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgY29uc3QgUmVtb3RlTGF5ZXJUcmVl
SG9zdCYgbGF5ZXJUcmVlSG9zdCkKK3ZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eTo6Y29ubmVjdFN0YXRlTm9kZUxheWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwg
Y29uc3QgUmVtb3RlTGF5ZXJUcmVlSG9zdCYgbGF5ZXJUcmVlSG9zdCwgYm9vbCYgZml4ZWRPclN0
aWNreUxheWVyQ2hhbmdlZCkKIHsKICAgICBmb3IgKGF1dG8mIGN1cnJOb2RlIDogc3RhdGVUcmVl
Lm5vZGVNYXAoKS52YWx1ZXMoKSkgewogICAgICAgICBzd2l0Y2ggKGN1cnJOb2RlLT5ub2RlVHlw
ZSgpKSB7CkBAIC0xMTUsMTIgKzExNSwxNiBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yUHJveHk6OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMoU2Nyb2xsaW5nU3RhdGVUcmVlJgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaXhlZE5vZGU6Ci0gICAg
ICAgICAgICBpZiAoY3Vyck5vZGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5v
ZGU6OlNjcm9sbExheWVyKSkKKyAgICAgICAgICAgIGlmIChjdXJyTm9kZS0+aGFzQ2hhbmdlZFBy
b3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKSB7CiAgICAgICAgICAgICAg
ICAgY3Vyck5vZGUtPnNldExheWVyKGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIoY3Vyck5vZGUtPmxh
eWVyKCkpKTsKKyAgICAgICAgICAgICAgICBmaXhlZE9yU3RpY2t5TGF5ZXJDaGFuZ2VkID0gdHJ1
ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0aWNr
eU5vZGU6Ci0gICAgICAgICAgICBpZiAoY3Vyck5vZGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShTY3Jv
bGxpbmdTdGF0ZU5vZGU6OlNjcm9sbExheWVyKSkKKyAgICAgICAgICAgIGlmIChjdXJyTm9kZS0+
aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKSB7CiAg
ICAgICAgICAgICAgICAgY3Vyck5vZGUtPnNldExheWVyKGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIo
Y3Vyck5vZGUtPmxheWVyKCkpKTsKKyAgICAgICAgICAgICAgICBmaXhlZE9yU3RpY2t5TGF5ZXJD
aGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAgICAgfQpAQCAtMTM4LDkgKzE0Miw5IEBAIGJvb2wgUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3JQcm94eTo6aXNQb2ludEluTm9uRmFzdFNjcm9sbGFibGVSZWdpb24oY29uc3QgV2ViCiAg
ICAgcmV0dXJuIG1fc2Nyb2xsaW5nVHJlZS0+aXNQb2ludEluTm9uRmFzdFNjcm9sbGFibGVSZWdp
b24ocCk7CiB9CiAKLXZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6c2Nyb2xs
UG9zaXRpb25DaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKFNjcm9sbGluZ05vZGVJRCBub2Rl
SUQsIGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNldCkKK3ZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3JQcm94eTo6dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKFNjcm9sbGlu
Z05vZGVJRCBub2RlSUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlld3BvcnRSZWN0LCBk
b3VibGUgc2NhbGUpCiB7Ci0gICAgbV9zY3JvbGxpbmdUcmVlLT5zY3JvbGxQb3NpdGlvbkNoYW5n
ZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcobm9kZUlELCBvZmZzZXQpOworICAgIG1fc2Nyb2xsaW5n
VHJlZS0+dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKG5vZGVJRCwgdmlld3Bv
cnRSZWN0LCBzY2FsZSk7CiB9CiAKIC8vIFRoaXMgY29tZXMgZnJvbSB0aGUgc2Nyb2xsaW5nIHRy
ZWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9T
Y3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oCmluZGV4IDBkOWQwNTZm
YTRjOGM2MTkzYzE3YTYyMmRjM2U2MDNiNzcxMzU4YTkuLmFkZThiZWY0NjI5MjAwZGE5OGFlYTFk
MDE2YTgzODM1OGIwNzlkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9T
Y3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eS5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUG9pbnRJbk5vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgY29uc3Q7CiAKICAgICAv
LyBDYWxsZWQgZXh0ZXJuYWxseSB3aGVuIG5hdGl2ZSB2aWV3cyBtb3ZlIGFyb3VuZC4KLSAgICB2
b2lkIHNjcm9sbFBvc2l0aW9uQ2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhXZWJDb3JlOjpT
Y3JvbGxpbmdOb2RlSUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKKyAgICB2b2lkIHZp
ZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhXZWJDb3JlOjpTY3JvbGxpbmdOb2Rl
SUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlld3BvcnRSZWN0LCBkb3VibGUgc2NhbGUp
OwogCiAgICAgLy8gRklYTUU6IGV4cG9zZSB0aGUgdHJlZSBhbmQgcGFzcyB0aGlzIHRvIHRoYXQ/
CiAgICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxF
dmVudCYpOwpAQCAtNjYsMTAgKzY2LDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFJlbW90ZUxh
eWVyVHJlZUhvc3QqIGxheWVyVHJlZUhvc3QoKSBjb25zdDsKIAotICAgIHZvaWQgdXBkYXRlU2Ny
b2xsaW5nVHJlZShjb25zdCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uJik7
CisgICAgdm9pZCB1cGRhdGVTY3JvbGxpbmdUcmVlKGNvbnN0IFJlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yVHJhbnNhY3Rpb24mLCBib29sJiBmaXhlZE9yU3RpY2t5TGF5ZXJDaGFuZ2VkKTsKIAog
cHJpdmF0ZToKLSAgICB2b2lkIGNvbm5lY3RTdGF0ZU5vZGVMYXllcnMoV2ViQ29yZTo6U2Nyb2xs
aW5nU3RhdGVUcmVlJiwgY29uc3QgUmVtb3RlTGF5ZXJUcmVlSG9zdCYpOworICAgIHZvaWQgY29u
bmVjdFN0YXRlTm9kZUxheWVycyhXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWUmLCBjb25zdCBS
ZW1vdGVMYXllclRyZWVIb3N0JiwgYm9vbCYgZml4ZWRPclN0aWNreUxheWVyQ2hhbmdlZCk7CiAK
ICAgICBXZWJQYWdlUHJveHkmIG1fd2ViUGFnZVByb3h5OwogICAgIFJlZlB0cjxSZW1vdGVTY3Jv
bGxpbmdUcmVlPiBtX3Njcm9sbGluZ1RyZWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJ
T1MubW0KaW5kZXggNGY2N2FlMjI0ODFkOTIwZGZlNzk2NDA5YTFhZmVjMjAyOTc4ZWE1NC4uNzY3
OTljN2U0MjQ2NzRiNjJjNzhjNjA1NjBiMDVjOGQ5YmJmMWMwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JQcm94eUlPUy5tbQpAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgTGF5ZXJSZXByZXNl
bnRhdGlvbiBsYXllclJlcHJlc2VudGF0aW9uRnJvbUxheWVyT3JWaWV3KExheWVyT3JWaWV3ICps
YXllcgogICAgIHJldHVybiBMYXllclJlcHJlc2VudGF0aW9uKGxheWVyT3JWaWV3LmxheWVyKTsK
IH0KIAotdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Ojpjb25uZWN0U3RhdGVO
b2RlTGF5ZXJzKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBjb25zdCBSZW1vdGVMYXll
clRyZWVIb3N0JiBsYXllclRyZWVIb3N0KQordm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVU
cmVlLCBjb25zdCBSZW1vdGVMYXllclRyZWVIb3N0JiBsYXllclRyZWVIb3N0LCBib29sJiBmaXhl
ZE9yU3RpY2t5TGF5ZXJDaGFuZ2VkKQogewogICAgIGZvciAoYXV0byYgY3Vyck5vZGUgOiBzdGF0
ZVRyZWUubm9kZU1hcCgpLnZhbHVlcygpKSB7CiAgICAgICAgIHN3aXRjaCAoY3Vyck5vZGUtPm5v
ZGVUeXBlKCkpIHsKQEAgLTY4LDEyICs2OCwxNiBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yUHJveHk6OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMoU2Nyb2xsaW5nU3RhdGVUcmVlJgog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBGaXhlZE5vZGU6Ci0g
ICAgICAgICAgICBpZiAoY3Vyck5vZGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0
ZU5vZGU6OlNjcm9sbExheWVyKSkKKyAgICAgICAgICAgIGlmIChjdXJyTm9kZS0+aGFzQ2hhbmdl
ZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKSB7CiAgICAgICAgICAg
ICAgICAgY3Vyck5vZGUtPnNldExheWVyKGxheWVyUmVwcmVzZW50YXRpb25Gcm9tTGF5ZXJPclZp
ZXcobGF5ZXJUcmVlSG9zdC5nZXRMYXllcihjdXJyTm9kZS0+bGF5ZXIoKSkpKTsKKyAgICAgICAg
ICAgICAgICBmaXhlZE9yU3RpY2t5TGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0aWNreU5vZGU6Ci0gICAgICAgICAg
ICBpZiAoY3Vyck5vZGUtPmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU5vZGU6OlNj
cm9sbExheWVyKSkKKyAgICAgICAgICAgIGlmIChjdXJyTm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5
KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKSB7CiAgICAgICAgICAgICAgICAgY3Vy
ck5vZGUtPnNldExheWVyKGxheWVyUmVwcmVzZW50YXRpb25Gcm9tTGF5ZXJPclZpZXcobGF5ZXJU
cmVlSG9zdC5nZXRMYXllcihjdXJyTm9kZS0+bGF5ZXIoKSkpKTsKKyAgICAgICAgICAgICAgICBm
aXhlZE9yU3RpY2t5TGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IGRlNTQ3YWFhZDMwZjhmYjRhZDRlYTkzMTE4YWI3
NTI3NTNkOGRmMWYuLjczODFmODEyMzdiZTQ5ZWUwNDQ5ZTQ5YjFlZDIwZTk3NTExZWNhZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTQ2
LDYgKzQ2LDcgQEAKICNpbXBvcnQgIldlYlBhZ2VHcm91cC5oIgogI2ltcG9ydCAiV2ViU3lzdGVt
SW50ZXJmYWNlLmgiCiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1JbnRlcmZhY2VJT1MuaCIKKyNpbXBv
cnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRl
Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKQEAgLTE2MywyMCArMTY0LDIxIEBAIC0g
KEJPT0wpaXNBc3Npc3RpbmdOb2RlCiAgICAgcmV0dXJuIFtzZWxmIGlzRWRpdGFibGVdOwogfQog
Ci0tICh2b2lkKWRpZFVwZGF0ZVZpc2libGVSZWN0OihDR1JlY3QpdmlzaWJsZVJlY3QgdW5vYnNj
dXJlZFJlY3Q6KENHUmVjdCl1bm9ic2N1cmVkUmVjdCBzY2FsZTooQ0dGbG9hdClzY2FsZSBpblN0
YWJsZVN0YXRlOihCT09MKWlzU3RhYmxlU3RhdGUKKy0gKHZvaWQpZGlkVXBkYXRlVmlzaWJsZVJl
Y3Q6KENHUmVjdCl2aXNpYmxlUmVjdCB1bm9ic2N1cmVkUmVjdDooQ0dSZWN0KXVub2JzY3VyZWRS
ZWN0IHNjYWxlOihDR0Zsb2F0KXpvb21TY2FsZSBpblN0YWJsZVN0YXRlOihCT09MKWlzU3RhYmxl
U3RhdGUKIHsKICAgICBkb3VibGUgc2NhbGVOb2lzZVRocmVzaG9sZCA9IDAuMDAwNTsKLSAgICBp
ZiAoIWlzU3RhYmxlU3RhdGUgJiYgZmFicyhzY2FsZSAtIF9wYWdlLT5kaXNwbGF5ZWRDb250ZW50
U2NhbGUoKSkgPCBzY2FsZU5vaXNlVGhyZXNob2xkKSB7CisgICAgQ0dGbG9hdCBmaWx0ZXJlZFNj
YWxlID0gem9vbVNjYWxlOworICAgIGlmICghaXNTdGFibGVTdGF0ZSAmJiBmYWJzKGZpbHRlcmVk
U2NhbGUgLSBfcGFnZS0+ZGlzcGxheWVkQ29udGVudFNjYWxlKCkpIDwgc2NhbGVOb2lzZVRocmVz
aG9sZCkgewogICAgICAgICAvLyBUaW55IGNoYW5nZXMgb2Ygc2NhbGUgZHVyaW5nIGludGVyYWN0
aXZlIHpvb20gY2F1c2UgY29udGVudCB0byBqdW1wIGJ5IG9uZSBwaXhlbCwgY3JlYXRpbmcKICAg
ICAgICAgLy8gdmlzdWFsIG5vaXNlLiBXZSBmaWx0ZXIgdGhvc2UgdXNlbGVzcyB1cGRhdGVzLgot
ICAgICAgICBzY2FsZSA9IF9wYWdlLT5kaXNwbGF5ZWRDb250ZW50U2NhbGUoKTsKKyAgICAgICAg
ZmlsdGVyZWRTY2FsZSA9IF9wYWdlLT5kaXNwbGF5ZWRDb250ZW50U2NhbGUoKTsKICAgICB9CiAK
LSAgICBGbG9hdFJlY3QgZml4ZWRQb3NSZWN0ID0gW3NlbGYgZml4ZWRQb3NpdGlvblJlY3RGcm9t
RXhwb3NlZFJlY3Q6dW5vYnNjdXJlZFJlY3Qgc2NhbGU6c2NhbGVdOwotICAgIF9wYWdlLT51cGRh
dGVWaXNpYmxlQ29udGVudFJlY3RzKFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8oX3BhZ2Ut
Pm5leHRWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJRCgpLCB2aXNpYmxlUmVjdCwgdW5vYnNjdXJl
ZFJlY3QsIGZpeGVkUG9zUmVjdCwgc2NhbGUsIGlzU3RhYmxlU3RhdGUpKTsKLQorICAgIENHUmVj
dCBjdXN0b21GaXhlZFBvc2l0aW9uUmVjdCA9IFtzZWxmIGZpeGVkUG9zaXRpb25SZWN0RnJvbUV4
cG9zZWRSZWN0OnVub2JzY3VyZWRSZWN0IHNjYWxlOnpvb21TY2FsZV07CisgICAgX3BhZ2UtPnVw
ZGF0ZVZpc2libGVDb250ZW50UmVjdHMoVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyhfcGFn
ZS0+bmV4dFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUlEKCksIHZpc2libGVSZWN0LCB1bm9ic2N1
cmVkUmVjdCwgY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QsIGZpbHRlcmVkU2NhbGUsIGlzU3RhYmxl
U3RhdGUpKTsKKyAgICAKICAgICBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5KiBzY3Jv
bGxpbmdDb29yZGluYXRvciA9IF9wYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCk7Ci0g
ICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbFBvc2l0aW9uQ2hhbmdlZFZpYURlbGVnYXRl
ZFNjcm9sbGluZyhzY3JvbGxpbmdDb29yZGluYXRvci0+cm9vdFNjcm9sbGluZ05vZGVJRCgpLCB1
bm9ic2N1cmVkUmVjdC5vcmlnaW4pOworICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT52aWV3cG9y
dENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcoc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnJvb3RT
Y3JvbGxpbmdOb2RlSUQoKSwgdW5vYnNjdXJlZFJlY3QsIHpvb21TY2FsZSk7CiAKICAgICBpZiAo
YXV0byBkcmF3aW5nQXJlYSA9IF9wYWdlLT5kcmF3aW5nQXJlYSgpKQogICAgICAgICBkcmF3aW5n
QXJlYS0+dXBkYXRlRGVidWdJbmRpY2F0b3IoKTsKQEAgLTE4NywxMSArMTg5LDkgQEAgLSAodm9p
ZClzZXRNaW5pbXVtU2l6ZTooQ0dTaXplKXNpemUKICAgICBfcGFnZS0+ZHJhd2luZ0FyZWEoKS0+
c2V0U2l6ZShJbnRTaXplKHNpemUpLCBJbnRTaXplKCksIEludFNpemUoKSk7CiB9CiAKLS0gKEZs
b2F0UmVjdClmaXhlZFBvc2l0aW9uUmVjdEZyb21FeHBvc2VkUmVjdDooRmxvYXRSZWN0KWV4cG9z
ZWRSZWN0IHNjYWxlOihmbG9hdClzY2FsZQorLSAoQ0dSZWN0KWZpeGVkUG9zaXRpb25SZWN0RnJv
bUV4cG9zZWRSZWN0OihDR1JlY3QpdW5vYnNjdXJlZFJlY3Qgc2NhbGU6KENHRmxvYXQpc2NhbGUK
IHsKLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbW9kaWZ5IHRoZSByZWN0IGJhc2VkIG9uIHRo
ZSBzY2FsZS4KLSAgICBVTlVTRURfUEFSQU0oc2NhbGUpOwotICAgIHJldHVybiBleHBvc2VkUmVj
dDsKKyAgICByZXR1cm4gKEZsb2F0UmVjdClGcmFtZVZpZXc6OnJlY3RGb3JWaWV3cG9ydENvbnN0
cmFpbmVkT2JqZWN0cyhlbmNsb3NpbmdMYXlvdXRSZWN0KHVub2JzY3VyZWRSZWN0KSwgcm91bmRl
ZExheW91dFNpemUoRmxvYXRTaXplKFtzZWxmIGJvdW5kc10uc2l6ZSkpLCBzY2FsZSwgZmFsc2Us
IFN0aWNrVG9WaWV3cG9ydEJvdW5kcyk7CiB9CiAKIC0gKHZvaWQpc2V0TWluaW11bUxheW91dFNp
emU6KENHU2l6ZSlzaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KaW5kZXggN2E0MzQ4
ZjM2YTdiMTE1MzljYWYyYzVjMGQ0NTkxMWE3NGEyNDI1ZS4uMzQxZDg1NjI3OWFkZTBhYzllODI3
ZmMzZDY1MTNmMTM4ZGE2OTMwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQpAQCAt
MjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5LmgiCiAKKyNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oIgogI2ltcG9ydCAiRHJhd2lu
Z0FyZWFNZXNzYWdlcy5oIgogI2ltcG9ydCAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eS5oIgpAQCAtMTAwLDE0ICsxMDEsMjQgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5OjpzZW5kVXBkYXRlR2VvbWV0cnkoKQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbiYgbGF5ZXJUcmVlVHJhbnNhY3Rpb24sIGNvbnN0IFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5h
dG9yVHJhbnNhY3Rpb24mIHNjcm9sbGluZ1RyZWVUcmFuc2FjdGlvbikKIHsKKyAgICBMT0coUmVt
b3RlTGF5ZXJUcmVlLCAiJXMiLCBsYXllclRyZWVUcmFuc2FjdGlvbi5kZXNjcmlwdGlvbigpLmRh
dGEoKSk7CisKICAgICBpZiAobV9yZW1vdGVMYXllclRyZWVIb3N0LnVwZGF0ZUxheWVyVHJlZShs
YXllclRyZWVUcmFuc2FjdGlvbikpCiAgICAgICAgIG1fd2ViUGFnZVByb3h5LT5zZXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nUm9vdExheWVyKG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC5yb290TGF5ZXIo
KSk7CiAKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQotICAgIG1fd2ViUGFnZVByb3h5LT5z
Y3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPnVwZGF0ZVNjcm9sbGluZ1RyZWUoc2Nyb2xsaW5n
VHJlZVRyYW5zYWN0aW9uKTsKKyAgICBib29sIGZpeGVkT3JTdGlja3lMYXllckNoYW5nZWQgPSBm
YWxzZTsKKyAgICBtX3dlYlBhZ2VQcm94eS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpLT51
cGRhdGVTY3JvbGxpbmdUcmVlKHNjcm9sbGluZ1RyZWVUcmFuc2FjdGlvbiwgZml4ZWRPclN0aWNr
eUxheWVyQ2hhbmdlZCk7CiAjZW5kaWYKICNpZiBQTEFURk9STShJT1MpCiAgICAgbV93ZWJQYWdl
UHJveHktPmRpZENvbW1pdExheWVyVHJlZShsYXllclRyZWVUcmFuc2FjdGlvbik7CisKKyNpZiBF
TkFCTEUoQVNZTkNfU0NST0xMSU5HKQorICAgIGlmIChmaXhlZE9yU3RpY2t5TGF5ZXJDaGFuZ2Vk
KSB7CisgICAgICAgIC8vIElmIHdlIGdvdCBhIG5ldyBsYXllciBmb3IgYSBmaXhlZCBvciBzdGlj
a3kgbm9kZSwgaXRzIHBvc2l0aW9uIGZyb20gdGhlIFdlYlByb2Nlc3MgaXMgcHJvYmFibHkgc3Rh
bGUuIFdlIG5lZWQgdG8gcmUtcnVuIHRoZSAidmlld3BvcnQiIGNoYW5nZWQgbG9naWMgdG8gdWRw
YXRlIGl0IHdpdGggb3VyIFVJLXNpZGUgc3RhdGUuCisgICAgICAgIG1fd2ViUGFnZVByb3h5LT5z
Y3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPnZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNj
cm9sbGluZyhtX3dlYlBhZ2VQcm94eS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpLT5yb290
U2Nyb2xsaW5nTm9kZUlEKCksIG1fd2ViUGFnZVByb3h5LT51bm9ic2N1cmVkQ29udGVudFJlY3Qo
KSwgbV93ZWJQYWdlUHJveHktPmRpc3BsYXllZENvbnRlbnRTY2FsZSgpKTsKKyAgICB9CisjZW5k
aWYKICNlbmRpZgogCiAgICAgc2hvd0RlYnVnSW5kaWNhdG9yKG1fd2ViUGFnZVByb3h5LT5wcmVm
ZXJlbmNlcygpLnRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yVmlzaWJsZSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5tbQppbmRleCBk
OWYwYTNjZThlYzlmNWQxMDg4NTljMGQ3YjFmNmFjODQyZjllOTg3Li4xOWIwMWRiZTIzOWU0NDM5
NzQ1YWE0NWU1MzMwYmVjM2IwMGNhNzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZUhvc3QubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1tCkBAIC0yNiw3ICsyNiw2IEBACiAjaW1w
b3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUhvc3QuaCIKIAotI2ltcG9y
dCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLmgi
CiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiU2hhcmVh
YmxlQml0bWFwLmgiCkBAIC01NCw4ICs1Myw2IEBAIFJlbW90ZUxheWVyVHJlZUhvc3Q6On5SZW1v
dGVMYXllclRyZWVIb3N0KCkKIAogYm9vbCBSZW1vdGVMYXllclRyZWVIb3N0Ojp1cGRhdGVMYXll
clRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBmbG9h
dCBpbmRpY2F0b3JTY2FsZUZhY3RvcikKIHsKLSAgICBMT0coUmVtb3RlTGF5ZXJUcmVlLCAiJXMi
LCB0cmFuc2FjdGlvbi5kZXNjcmlwdGlvbigpLmRhdGEoKSk7Ci0KICAgICBmb3IgKGNvbnN0IGF1
dG8mIGNyZWF0ZWRMYXllciA6IHRyYW5zYWN0aW9uLmNyZWF0ZWRMYXllcnMoKSkKICAgICAgICAg
Y3JlYXRlTGF5ZXIoY3JlYXRlZExheWVyKTsKIAo=
</data>
<flag name="review"
          id="250973"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>