<?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>174134</bug_id>
          
          <creation_ts>2017-07-04 09:05:41 -0700</creation_ts>
          <short_desc>Move ScrolledContentsLayer property to ScrollingStateScrollingNode</short_desc>
          <delta_ts>2017-07-05 10:56:20 -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>Frames</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149264</blocked>
    
    <blocked>173833</blocked>
    
    <blocked>174130</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1325447</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-07-04 09:05:41 -0700</bug_when>
    <thetext>This property is shared by frame and overflow nodes, so we could actually try and move it to their ancestor ScrollingStateScrollingNode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325448</commentid>
    <comment_count>1</comment_count>
      <attachid>314568</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-07-04 09:10:52 -0700</bug_when>
    <thetext>Created attachment 314568
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325453</commentid>
    <comment_count>2</comment_count>
      <attachid>314570</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-07-04 10:14:50 -0700</bug_when>
    <thetext>Created attachment 314570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325649</commentid>
    <comment_count>3</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-07-05 10:56:20 -0700</bug_when>
    <thetext>Committed r219137: &lt;http://trac.webkit.org/changeset/219137&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314568</attachid>
            <date>2017-07-04 09:10:52 -0700</date>
            <delta_ts>2017-07-04 10:14:46 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>0001-Bug-174134-Move-ScrolledContentsLayer-property-to-Sc.patch</filename>
            <type>text/plain</type>
            <size>22001</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSA1YWUxYzI5YTgwZTdlMDYzODkwMzQzNzRiOTE2YmNmNzY3N2RlZTZmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogVHVlLCA0IEp1bCAyMDE3IDE4OjA1OjUxICswMjAwClN1YmplY3Q6IFtQQVRDSF0gQnVnIDE3
NDEzNCAtIE1vdmUgU2Nyb2xsZWRDb250ZW50c0xheWVyIHByb3BlcnR5IHRvCiBTY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUKCi0tLQogLi4uL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1l
U2Nyb2xsaW5nTm9kZS5jcHAgfCAxMyAtLS0tLS0tLQogLi4uL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oICAgfCAgNCAtLS0KIC4uLi9TY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAgICAgICAgIHwgMTQgLS0tLS0tLS0KIC4uLi9TY3JvbGxp
bmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oICAgICAgICAgIHwgMTAgLS0tLS0tCiAuLi4v
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcCB8IDE0ICsrKysr
KysrCiAuLi4vcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmggICB8
ICA2ICsrKysKIC4uLi9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbSAg
ICAgIHwgIDIgKy0KIC4uLi9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNw
cCAgICAgIHwgMzkgKysrKysrKystLS0tLS0tLS0tLS0tLQogLi4uL1Njcm9sbGluZy9SZW1vdGVT
Y3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcCAgfCAgNCArLS0KIC4uLi9pb3MvU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5tbSAgIHwgIDIgKy0KIC4uLi9pb3MvUmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbSAgICAgIHwgIDIgKy0KIDExIGZpbGVzIGNo
YW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDcyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCBiNmU3MTMzNmRkMC4uYzk3YThhMDRlNjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVT
Y3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTY0LDkgKzY0LDYgQEAgU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlKGNvbnN0IFNjcm9sbGkKICAgICAsIG1fZml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9G
cmFtZShzdGF0ZU5vZGUuZml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpKQogICAg
ICwgbV92aXN1YWxWaWV3cG9ydEVuYWJsZWQoc3RhdGVOb2RlLnZpc3VhbFZpZXdwb3J0RW5hYmxl
ZCgpKQogewotICAgIGlmIChoYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsZWRDb250ZW50c0xheWVy
KSkKLSAgICAgICAgc2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKHN0YXRlTm9kZS5zY3JvbGxlZENv
bnRlbnRzTGF5ZXIoKS50b1JlcHJlc2VudGF0aW9uKGFkb3B0aXZlVHJlZS5wcmVmZXJyZWRMYXll
clJlcHJlc2VudGF0aW9uKCkpKTsKLQogICAgIGlmIChoYXNDaGFuZ2VkUHJvcGVydHkoQ291bnRl
clNjcm9sbGluZ0xheWVyKSkKICAgICAgICAgc2V0Q291bnRlclNjcm9sbGluZ0xheWVyKHN0YXRl
Tm9kZS5jb3VudGVyU2Nyb2xsaW5nTGF5ZXIoKS50b1JlcHJlc2VudGF0aW9uKGFkb3B0aXZlVHJl
ZS5wcmVmZXJyZWRMYXllclJlcHJlc2VudGF0aW9uKCkpKTsKIApAQCAtMTgzLDE1ICsxODAsNiBA
QCB2b2lkIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpzZXRUb3BDb250ZW50SW5z
ZXQoZmxvYXQgdG9wQ29udGVudEluc2V0KQogICAgIHNldFByb3BlcnR5Q2hhbmdlZChUb3BDb250
ZW50SW5zZXQpOwogfQogCi12b2lkIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpz
ZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIoY29uc3QgTGF5ZXJSZXByZXNlbnRhdGlvbiYgbGF5ZXJS
ZXByZXNlbnRhdGlvbikKLXsKLSAgICBpZiAobGF5ZXJSZXByZXNlbnRhdGlvbiA9PSBtX3Njcm9s
bGVkQ29udGVudHNMYXllcikKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIG1fc2Nyb2xsZWRD
b250ZW50c0xheWVyID0gbGF5ZXJSZXByZXNlbnRhdGlvbjsKLSAgICBzZXRQcm9wZXJ0eUNoYW5n
ZWQoU2Nyb2xsZWRDb250ZW50c0xheWVyKTsKLX0KLQogdm9pZCBTY3JvbGxpbmdTdGF0ZUZyYW1l
U2Nyb2xsaW5nTm9kZTo6c2V0Q291bnRlclNjcm9sbGluZ0xheWVyKGNvbnN0IExheWVyUmVwcmVz
ZW50YXRpb24mIGxheWVyUmVwcmVzZW50YXRpb24pCiB7CiAgICAgaWYgKGxheWVyUmVwcmVzZW50
YXRpb24gPT0gbV9jb3VudGVyU2Nyb2xsaW5nTGF5ZXIpCkBAIC0yNzEsNyArMjU5LDYgQEAgdm9p
ZCBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0
cmVhbSYgdHMsIFNjcm9sbGluZ1MKICAgICBpZiAoYmVoYXZpb3IgJiBTY3JvbGxpbmdTdGF0ZVRy
ZWVBc1RleHRCZWhhdmlvckluY2x1ZGVMYXllcklEcykgewogICAgICAgICB0cy5kdW1wUHJvcGVy
dHkoImNvdW50ZXIgc2Nyb2xsaW5nIGxheWVyIElEIiwgbV9jb3VudGVyU2Nyb2xsaW5nTGF5ZXIu
bGF5ZXJJRCgpKTsKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJpbnNldCBjbGlwIGxheWVyIElE
IiwgbV9pbnNldENsaXBMYXllci5sYXllcklEKCkpOwotICAgICAgICB0cy5kdW1wUHJvcGVydHko
InNjcm9sbGVkIGNvbnRlbnRzIGxheWVyIElEIiwgbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIubGF5
ZXJJRCgpKTsKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJjb250ZW50IHNoYWRvdyBsYXllciBJ
RCIsIG1fY29udGVudFNoYWRvd0xheWVyLmxheWVySUQoKSk7CiAgICAgICAgIHRzLmR1bXBQcm9w
ZXJ0eSgiaGVhZGVyIGxheWVyIElEIiwgbV9oZWFkZXJMYXllci5sYXllcklEKCkpOwogICAgICAg
ICB0cy5kdW1wUHJvcGVydHkoImZvb3RlciBsYXllciBJRCIsIG1fZm9vdGVyTGF5ZXIubGF5ZXJJ
RCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCmluZGV4IDgyNjA1YjJjMjE0Li45
ZTM1YjM1YjAxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCkBAIC05Nyw5ICs5
Nyw2IEBAIHB1YmxpYzoKICAgICBmbG9hdCB0b3BDb250ZW50SW5zZXQoKSBjb25zdCB7IHJldHVy
biBtX3RvcENvbnRlbnRJbnNldDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VG9wQ29u
dGVudEluc2V0KGZsb2F0KTsKIAotICAgIGNvbnN0IExheWVyUmVwcmVzZW50YXRpb24mIHNjcm9s
bGVkQ29udGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsZWRDb250ZW50c0xheWVy
OyB9Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIoY29u
c3QgTGF5ZXJSZXByZXNlbnRhdGlvbiYpOwotCiAgICAgLy8gVGhpcyBpcyBhIGxheWVyIG1vdmVk
IGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gdG8gc2Nyb2xsaW5nLCBmb3IgZXhhbXBsZSBmb3Ig
YmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkCiAgICAgY29uc3QgTGF5ZXJSZXByZXNlbnRhdGlv
biYgY291bnRlclNjcm9sbGluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9jb3VudGVyU2Nyb2xs
aW5nTGF5ZXI7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldENvdW50ZXJTY3JvbGxpbmdM
YXllcihjb25zdCBMYXllclJlcHJlc2VudGF0aW9uJik7CkBAIC0xNDIsNyArMTM5LDYgQEAgcHJp
dmF0ZToKIAogICAgIExheWVyUmVwcmVzZW50YXRpb24gbV9jb3VudGVyU2Nyb2xsaW5nTGF5ZXI7
CiAgICAgTGF5ZXJSZXByZXNlbnRhdGlvbiBtX2luc2V0Q2xpcExheWVyOwotICAgIExheWVyUmVw
cmVzZW50YXRpb24gbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXI7CiAgICAgTGF5ZXJSZXByZXNlbnRh
dGlvbiBtX2NvbnRlbnRTaGFkb3dMYXllcjsKICAgICBMYXllclJlcHJlc2VudGF0aW9uIG1faGVh
ZGVyTGF5ZXI7CiAgICAgTGF5ZXJSZXByZXNlbnRhdGlvbiBtX2Zvb3RlckxheWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCmluZGV4IDI4ZmQyMDM3YTE4Li4zY2Yw
ZmU4MGU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcApAQCAt
NDYsOCArNDYsNiBAQCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6U2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoU2Nyb2xsaQogU2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKGNv
bnN0IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlJiBzdGF0ZU5vZGUsIFNjcm9s
bGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQogICAgIDogU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlKHN0YXRlTm9kZSwgYWRvcHRpdmVUcmVlKQogewotICAgIGlmIChoYXNDaGFuZ2VkUHJv
cGVydHkoU2Nyb2xsZWRDb250ZW50c0xheWVyKSkKLSAgICAgICAgc2V0U2Nyb2xsZWRDb250ZW50
c0xheWVyKHN0YXRlTm9kZS5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKS50b1JlcHJlc2VudGF0aW9u
KGFkb3B0aXZlVHJlZS5wcmVmZXJyZWRMYXllclJlcHJlc2VudGF0aW9uKCkpKTsKIH0KIAogU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6On5TY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZSgpCkBAIC01OSwyMyArNTcsMTEgQEAgUmVmPFNjcm9sbGluZ1N0YXRlTm9k
ZT4gU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGluZ1N0
YXQKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAgICAgCi12b2lkIFNjcm9sbGluZ1N0
YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIoY29uc3Qg
TGF5ZXJSZXByZXNlbnRhdGlvbiYgbGF5ZXJSZXByZXNlbnRhdGlvbikKLXsKLSAgICBpZiAobGF5
ZXJSZXByZXNlbnRhdGlvbiA9PSBtX3Njcm9sbGVkQ29udGVudHNMYXllcikKLSAgICAgICAgcmV0
dXJuOwotICAgIAotICAgIG1fc2Nyb2xsZWRDb250ZW50c0xheWVyID0gbGF5ZXJSZXByZXNlbnRh
dGlvbjsKLSAgICBzZXRQcm9wZXJ0eUNoYW5nZWQoU2Nyb2xsZWRDb250ZW50c0xheWVyKTsKLX0K
LQogdm9pZCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6ZHVtcFByb3BlcnRp
ZXMoVGV4dFN0cmVhbSYgdHMsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yIGJlaGF2
aW9yKSBjb25zdAogewogICAgIHRzIDw8ICJPdmVyZmxvdyBzY3JvbGxpbmcgbm9kZSI7CiAgICAg
CiAgICAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyh0cywgYmVo
YXZpb3IpOwotICAgIAotICAgIGlmICgoYmVoYXZpb3IgJiBTY3JvbGxpbmdTdGF0ZVRyZWVBc1Rl
eHRCZWhhdmlvckluY2x1ZGVMYXllcklEcykgJiYgbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIubGF5
ZXJJRCgpKQotICAgICAgICB0cy5kdW1wUHJvcGVydHkoInNjcm9sbGVkIGNvbnRlbnRzIGxheWVy
IiwgbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIubGF5ZXJJRCgpKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmgKaW5kZXggNjIy
YTMwMDcyMzIuLjAyODkzOGYxZTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlLmgKQEAgLTM5LDIxICszOSwxMSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5TY3JvbGxp
bmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZSgpOwogCi0gICAgZW51bSBDaGFuZ2VkUHJvcGVy
dHkgewotICAgICAgICBTY3JvbGxlZENvbnRlbnRzTGF5ZXIgPSBOdW1TY3JvbGxpbmdTdGF0ZU5v
ZGVCaXRzCi0gICAgfTsKLQotICAgIC8vIFRoaXMgaXMgYSBsYXllciB3aXRoIHRoZSBjb250ZW50
cyB0aGF0IG1vdmUuCi0gICAgY29uc3QgTGF5ZXJSZXByZXNlbnRhdGlvbiYgc2Nyb2xsZWRDb250
ZW50c0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXI7IH0KLSAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFNjcm9sbGVkQ29udGVudHNMYXllcihjb25zdCBMYXll
clJlcHJlc2VudGF0aW9uJik7Ci0gICAgCiAgICAgdm9pZCBkdW1wUHJvcGVydGllcyhUZXh0U3Ry
ZWFtJiwgU2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3IpIGNvbnN0IG92ZXJyaWRlOwog
CiBwcml2YXRlOgogICAgIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKFNjcm9s
bGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAgICAgU2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUmKTsKLSAgICAKLSAgICBMYXllclJlcHJlc2VudGF0aW9u
IG1fc2Nyb2xsZWRDb250ZW50c0xheWVyOyAgICAKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IDgyZTZhNjMyMDJkLi4zZDA3MjgxNjky
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwCkBAIC01Myw2ICs1Myw4IEBAIFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKGNvbnN0IFNj
cm9sbGluZ1N0YXRlU2NyCiAgICAgLCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9uUmVwcmVzZW50
c1Byb2dyYW1tYXRpY1Njcm9sbChzdGF0ZU5vZGUucmVxdWVzdGVkU2Nyb2xsUG9zaXRpb25SZXBy
ZXNlbnRzUHJvZ3JhbW1hdGljU2Nyb2xsKCkpCiAgICAgLCBtX2V4cGVjdHNXaGVlbEV2ZW50VGVz
dFRyaWdnZXIoc3RhdGVOb2RlLmV4cGVjdHNXaGVlbEV2ZW50VGVzdFRyaWdnZXIoKSkKIHsKKyAg
ICBpZiAoaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGVkQ29udGVudHNMYXllcikpCisgICAgICAg
IHNldFNjcm9sbGVkQ29udGVudHNMYXllcihzdGF0ZU5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVy
KCkudG9SZXByZXNlbnRhdGlvbihhZG9wdGl2ZVRyZWUucHJlZmVycmVkTGF5ZXJSZXByZXNlbnRh
dGlvbigpKSk7CiB9CiAKIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6flNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZSgpCkBAIC0xODUsNiArMTg3LDE1IEBAIHZvaWQgU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlOjpzZXRFeHBlY3RzV2hlZWxFdmVudFRlc3RUcmlnZ2VyKGJvb2wgZXhw
ZWN0c1RlCiAgICAgc2V0UHJvcGVydHlDaGFuZ2VkKEV4cGVjdHNXaGVlbEV2ZW50VGVzdFRyaWdn
ZXIpOwogfQogCit2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsZWRD
b250ZW50c0xheWVyKGNvbnN0IExheWVyUmVwcmVzZW50YXRpb24mIGxheWVyUmVwcmVzZW50YXRp
b24pCit7CisgICAgaWYgKGxheWVyUmVwcmVzZW50YXRpb24gPT0gbV9zY3JvbGxlZENvbnRlbnRz
TGF5ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc2Nyb2xsZWRDb250ZW50c0xheWVyID0g
bGF5ZXJSZXByZXNlbnRhdGlvbjsKKyAgICBzZXRQcm9wZXJ0eUNoYW5nZWQoU2Nyb2xsZWRDb250
ZW50c0xheWVyKTsKK30KKwogdm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OmR1bXBQ
cm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlv
ciBiZWhhdmlvcikgY29uc3QKIHsKICAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OmR1bXBQcm9wZXJ0
aWVzKHRzLCBiZWhhdmlvcik7CkBAIC0yNDMsNiArMjU0LDkgQEAgdm9pZCBTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGU6OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBTY3JvbGxpbmdT
dGF0ZVQKIAogICAgIGlmIChtX2V4cGVjdHNXaGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAgICAgICAg
IHRzLmR1bXBQcm9wZXJ0eSgiZXhwZWN0cyB3aGVlbCBldmVudCB0ZXN0IHRyaWdnZXIiLCBtX2V4
cGVjdHNXaGVlbEV2ZW50VGVzdFRyaWdnZXIpOworCisgICAgaWYgKChiZWhhdmlvciAmIFNjcm9s
bGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9ySW5jbHVkZUxheWVySURzKSAmJiBtX3Njcm9sbGVk
Q29udGVudHNMYXllci5sYXllcklEKCkpCisgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgic2Nyb2xs
ZWQgY29udGVudHMgbGF5ZXIiLCBtX3Njcm9sbGVkQ29udGVudHNMYXllci5sYXllcklEKCkpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IGY0
ZDI3NWY5ZTU1Li5mNjEyOTBiZGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKQEAgLTU1LDYg
KzU1LDcgQEAgcHVibGljOgogICAgICAgICBDdXJyZW50VmVydGljYWxTbmFwT2Zmc2V0SW5kZXgs
CiAjZW5kaWYKICAgICAgICAgRXhwZWN0c1doZWVsRXZlbnRUZXN0VHJpZ2dlciwKKyAgICAgICAg
U2Nyb2xsZWRDb250ZW50c0xheWVyLAogICAgICAgICBOdW1TY3JvbGxpbmdTdGF0ZU5vZGVCaXRz
IC8vIFRoaXMgbXVzdCByZW1haW4gYXQgdGhlIGxhc3QgcG9zaXRpb24uCiAgICAgfTsKIApAQCAt
MTAzLDYgKzEwNCwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBleHBlY3RzV2hlZWxFdmVudFRlc3RU
cmlnZ2VyKCkgY29uc3QgeyByZXR1cm4gbV9leHBlY3RzV2hlZWxFdmVudFRlc3RUcmlnZ2VyOyB9
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRFeHBlY3RzV2hlZWxFdmVudFRlc3RUcmlnZ2Vy
KGJvb2wpOwogCisgICAgLy8gVGhpcyBpcyBhIGxheWVyIHdpdGggdGhlIGNvbnRlbnRzIHRoYXQg
bW92ZS4KKyAgICBjb25zdCBMYXllclJlcHJlc2VudGF0aW9uJiBzY3JvbGxlZENvbnRlbnRzTGF5
ZXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGVkQ29udGVudHNMYXllcjsgfQorICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKGNvbnN0IExheWVyUmVwcmVz
ZW50YXRpb24mKTsKKwogcHJvdGVjdGVkOgogICAgIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlE
KTsKICAgICBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVT
Y3JvbGxpbmdOb2RlJiwgU2Nyb2xsaW5nU3RhdGVUcmVlJik7CkBAIC0xMjIsNiArMTI3LDcgQEAg
cHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2N1cnJlbnRWZXJ0aWNhbFNuYXBQb2ludEluZGV4IHsg
MCB9OwogI2VuZGlmCiAgICAgU2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzIG1fc2Nyb2xsYWJsZUFy
ZWFQYXJhbWV0ZXJzOworICAgIExheWVyUmVwcmVzZW50YXRpb24gbV9zY3JvbGxlZENvbnRlbnRz
TGF5ZXI7CiAgICAgYm9vbCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9uUmVwcmVzZW50c1Byb2dy
YW1tYXRpY1Njcm9sbCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2V4cGVjdHNXaGVlbEV2ZW50VGVz
dFRyaWdnZXIgeyBmYWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVNYWMubW0KaW5kZXggNGJhZmNmM2FhYzEuLjg3MjU1MGVkNjBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtMTA2LDcgKzEwNiw3IEBAIHZv
aWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVCZWZvcmVD
aGlsZHJlbihjb25zdCBTY3JvbGxpCiAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFu
Z2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2RlOjpTY3JvbGxMYXllcikpCiAgICAgICAgIG1f
c2Nyb2xsTGF5ZXIgPSBzY3JvbGxpbmdTdGF0ZU5vZGUubGF5ZXIoKTsKIAotICAgIGlmIChzY3Jv
bGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKQorICAgIGlmIChzY3JvbGxpbmdTdGF0
ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Ny
b2xsZWRDb250ZW50c0xheWVyKSkKICAgICAgICAgbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIgPSBz
Y3JvbGxpbmdTdGF0ZU5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCk7CiAKICAgICBpZiAoc2Ny
b2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZTo6Q291bnRlclNjcm9sbGluZ0xheWVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2Fj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCmluZGV4IGEwNTU3MDFhNDE0Li41MDQwNDE2NTk3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Njcm9sbGluZy9SZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCkBA
IC0xMzUsNiArMTM1LDkgQEAgdm9pZCBBcmd1bWVudENvZGVyPFNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdAogICAgIFNDUk9MTElOR19O
T0RFX0VOQ09ERShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGFibGVBcmVhUGFy
YW1zLCBzY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMpCiAgICAgU0NST0xMSU5HX05PREVfRU5DT0RF
KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24sIHJl
cXVlc3RlZFNjcm9sbFBvc2l0aW9uKQogICAgIFNDUk9MTElOR19OT0RFX0VOQ09ERShTY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGU6OlJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uLCByZXF1ZXN0ZWRT
Y3JvbGxQb3NpdGlvblJlcHJlc2VudHNQcm9ncmFtbWF0aWNTY3JvbGwpCisKKyAgICBpZiAobm9k
ZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxl
ZENvbnRlbnRzTGF5ZXIpKQorICAgICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PEdyYXBoaWNz
TGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRD4obm9kZS5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKSk7CiB9
CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT46
OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZSYgbm9kZSkKQEAgLTE1NCw5ICsxNTcsNiBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8U2Ny
b2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
YwogICAgIFNDUk9MTElOR19OT0RFX0VOQ09ERShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZTo6TWluTGF5b3V0Vmlld3BvcnRPcmlnaW4sIG1pbkxheW91dFZpZXdwb3J0T3JpZ2luKQog
ICAgIFNDUk9MTElOR19OT0RFX0VOQ09ERShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZTo6TWF4TGF5b3V0Vmlld3BvcnRPcmlnaW4sIG1heExheW91dFZpZXdwb3J0T3JpZ2luKQogCi0g
ICAgaWYgKG5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxp
bmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKQotICAgICAgICBlbmNvZGVyIDw8IHN0YXRp
Y19jYXN0PEdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRD4obm9kZS5zY3JvbGxlZENvbnRl
bnRzTGF5ZXIoKSk7Ci0KICAgICBpZiAobm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OkNvdW50ZXJTY3JvbGxpbmdMYXllcikpCiAgICAgICAg
IGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEPihu
b2RlLmNvdW50ZXJTY3JvbGxpbmdMYXllcigpKTsKIApAQCAtMTcwLDkgKzE3MCw2IEBAIHZvaWQg
QXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT46OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBjCiB2b2lkIEFyZ3VtZW50Q29kZXI8U2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUmIG5vZGUpCiB7CiAgICAgZW5jb2RlciA8PCBz
dGF0aWNfY2FzdDxjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUmPihub2RlKTsKLSAg
ICAKLSAgICBpZiAobm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVudHNMYXllcikpCi0gICAgICAgIGVuY29kZXIg
PDwgc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEPihub2RlLnNjcm9s
bGVkQ29udGVudHNMYXllcigpKTsKIH0KIAogI2RlZmluZSBTQ1JPTExJTkdfTk9ERV9ERUNPREUo
cHJvcGVydHksIHR5cGUsIHNldHRlcikgXApAQCAtMjIzLDYgKzIyMCwxMyBAQCBib29sIEFyZ3Vt
ZW50Q29kZXI8U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlPjo6ZGVjb2RlKERlY29kZXImIGRl
Y29kZXIsIFNjcm9sbAogICAgICAgICBub2RlLnNldFJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKHNj
cm9sbFBvc2l0aW9uLCByZXByZXNlbnRzUHJvZ3JhbW1hdGljU2Nyb2xsKTsKICAgICB9CiAKKyAg
ICBpZiAobm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
OjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKSB7CisgICAgICAgIEdyYXBoaWNzTGF5ZXI6OlBsYXRm
b3JtTGF5ZXJJRCBsYXllcklEOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGxheWVySUQp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBub2RlLnNldFNjcm9sbGVkQ29u
dGVudHNMYXllcihsYXllcklEKTsKKyAgICB9CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAt
MjQ1LDEzICsyNDksNiBAQCBib29sIEFyZ3VtZW50Q29kZXI8U2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGU+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUwogICAgIFNDUk9MTElOR19O
T0RFX0RFQ09ERShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6TWluTGF5b3V0Vmll
d3BvcnRPcmlnaW4sIEZsb2F0UG9pbnQsIHNldE1pbkxheW91dFZpZXdwb3J0T3JpZ2luKQogICAg
IFNDUk9MTElOR19OT0RFX0RFQ09ERShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6
TWF4TGF5b3V0Vmlld3BvcnRPcmlnaW4sIEZsb2F0UG9pbnQsIHNldE1heExheW91dFZpZXdwb3J0
T3JpZ2luKQogCi0gICAgaWYgKG5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKSB7Ci0gICAgICAgIEdy
YXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBsYXllcklEOwotICAgICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGxheWVySUQpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBu
b2RlLnNldFNjcm9sbGVkQ29udGVudHNMYXllcihsYXllcklEKTsKLSAgICB9Ci0KICAgICBpZiAo
bm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6
OkNvdW50ZXJTY3JvbGxpbmdMYXllcikpIHsKICAgICAgICAgR3JhcGhpY3NMYXllcjo6UGxhdGZv
cm1MYXllcklEIGxheWVySUQ7CiAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUobGF5ZXJJRCkp
CkBAIC0yODEsMTMgKzI3OCw2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyCiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShzdGF0aWNfY2FzdDxTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUmPihu
b2RlKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChub2RlLmhhc0NoYW5nZWRQ
cm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6U2Nyb2xsZWRDb250
ZW50c0xheWVyKSkgewotICAgICAgICBHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgbGF5
ZXJJRDsKLSAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShsYXllcklEKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgbm9kZS5zZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIobGF5
ZXJJRCk7Ci0gICAgfQotCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTQ4Myw2ICs0NzMsOSBA
QCBzdGF0aWMgdm9pZCBkdW1wKFRleHRTdHJlYW0mIHRzLCBjb25zdCBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGUmIG5vZGUsIGJvb2wgYwogICAgICAgICB0cy5kdW1wUHJvcGVydHkoInJlcXVl
c3RlZC1zY3JvbGwtcG9zaXRpb24iLCBub2RlLnJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uKCkpOwog
ICAgICAgICB0cy5kdW1wUHJvcGVydHkoInJlcXVlc3RlZC1zY3JvbGwtcG9zaXRpb24taXMtcHJv
Z3JhbWF0aWMiLCBub2RlLnJlcXVlc3RlZFNjcm9sbFBvc2l0aW9uUmVwcmVzZW50c1Byb2dyYW1t
YXRpY1Njcm9sbCgpKTsKICAgICB9CisKKyAgICBpZiAoIWNoYW5nZWRQcm9wZXJ0aWVzT25seSB8
fCBub2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNj
cm9sbGVkQ29udGVudHNMYXllcikpCisgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgic2Nyb2xsZWQt
Y29udGVudHMtbGF5ZXIiLCBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVy
SUQ+KG5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCkpKTsKIH0KICAgICAKIHN0YXRpYyB2b2lk
IGR1bXAoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlJiBub2RlLCBib29sIGNoYW5nZWRQcm9wZXJ0aWVzT25seSkKQEAgLTUzMCw5ICs1MjMsNiBA
QCBzdGF0aWMgdm9pZCBkdW1wKFRleHRTdHJlYW0mIHRzLCBjb25zdCBTY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZSYgbm9kZSwgYgogICAgIGlmICghY2hhbmdlZFByb3BlcnRpZXNPbmx5
IHx8IG5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlOjpGcmFtZVNjYWxlRmFjdG9yKSkKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJmcmFtZS1z
Y2FsZS1mYWN0b3IiLCBub2RlLmZyYW1lU2NhbGVGYWN0b3IoKSk7CiAKLSAgICBpZiAoIWNoYW5n
ZWRQcm9wZXJ0aWVzT25seSB8fCBub2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKLSAgICAgICAgdHMu
ZHVtcFByb3BlcnR5KCJzY3JvbGxlZC1jb250ZW50cy1sYXllciIsIHN0YXRpY19jYXN0PEdyYXBo
aWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRD4obm9kZS5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKSkp
OwotCiAgICAgaWYgKCFjaGFuZ2VkUHJvcGVydGllc09ubHkgfHwgbm9kZS5oYXNDaGFuZ2VkUHJv
cGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6Okluc2V0Q2xpcExheWVyKSkK
ICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJjbGlwLWluc2V0LWxheWVyIiwgc3RhdGljX2Nhc3Q8
R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEPihub2RlLmluc2V0Q2xpcExheWVyKCkpKTsK
IApAQCAtNTQ5LDkgKzUzOSw2IEBAIHN0YXRpYyB2b2lkIGR1bXAoVGV4dFN0cmVhbSYgdHMsIGNv
bnN0IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlJiBub2RlLCBiCiBzdGF0aWMgdm9p
ZCBkdW1wKFRleHRTdHJlYW0mIHRzLCBjb25zdCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZSYgbm9kZSwgYm9vbCBjaGFuZ2VkUHJvcGVydGllc09ubHkpCiB7CiAgICAgZHVtcCh0
cywgc3RhdGljX2Nhc3Q8Y29uc3QgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlJj4obm9kZSks
IGNoYW5nZWRQcm9wZXJ0aWVzT25seSk7Ci0gICAgCi0gICAgaWYgKCFjaGFuZ2VkUHJvcGVydGll
c09ubHkgfHwgbm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Nj
cm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVudHNMYXllcikpCi0gICAgICAgIHRzLmR1bXBQcm9w
ZXJ0eSgic2Nyb2xsZWQtY29udGVudHMtbGF5ZXIiLCBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVy
OjpQbGF0Zm9ybUxheWVySUQ+KG5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCkpKTsKIH0KIAog
c3RhdGljIHZvaWQgZHVtcChUZXh0U3RyZWFtJiB0cywgY29uc3QgU2Nyb2xsaW5nU3RhdGVGaXhl
ZE5vZGUmIG5vZGUsIGJvb2wgY2hhbmdlZFByb3BlcnRpZXNPbmx5KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggMzgzZGY1ODk0NmEuLmU1ZDFlYjcxN2Zk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTEwNiw3
ICsxMDYsNyBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OmNvbm5lY3RT
dGF0ZU5vZGVMYXllcnMoU2Nyb2xsaW5nU3RhdGVUcmVlJgogICAgICAgICBjYXNlIEZyYW1lU2Ny
b2xsaW5nTm9kZTogewogICAgICAgICAgICAgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05v
ZGUmIHNjcm9sbGluZ1N0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlPigqY3Vyck5vZGUpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoc2Ny
b2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKKyAgICAgICAgICAgIGlmIChzY3Jv
bGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5n
Tm9kZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKICAgICAgICAgICAgICAgICBzY3JvbGxpbmdT
dGF0ZU5vZGUuc2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIo
c2Nyb2xsaW5nU3RhdGVOb2RlLnNjcm9sbGVkQ29udGVudHNMYXllcigpKSk7CiAKICAgICAgICAg
ICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0
YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpDb3VudGVyU2Nyb2xsaW5nTGF5ZXIpKQpAQCAtMTI5LDcg
KzEyOSw3IEBAIHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y29ubmVjdFN0
YXRlTm9kZUxheWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmCiAgICAgICAgIGNhc2UgT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlOiB7CiAgICAgICAgICAgICBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZSYgc2Nyb2xsaW5nU3RhdGVOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGU+KCpjdXJyTm9kZSk7CiAKLSAgICAgICAgICAgIGlmIChzY3JvbGxp
bmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKQorICAgICAgICAgICAgaWYgKHNjcm9s
bGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKQogICAgICAgICAgICAgICAgIHNjcm9sbGluZ1N0
YXRlTm9kZS5zZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIobGF5ZXJUcmVlSG9zdC5nZXRMYXllcihz
Y3JvbGxpbmdTdGF0ZU5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCkpKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
U2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZUlPUy5tbQppbmRleCA4NzlhOThkNmFiNS4uNDMzZDM4ZTQyNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlP
Uy5tbQpAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZUlPUzo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBXZWJDCiAgICAgaWYg
KHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVOb2Rl
OjpTY3JvbGxMYXllcikpCiAgICAgICAgIG1fc2Nyb2xsTGF5ZXIgPSBzY3JvbGxpbmdTdGF0ZU5v
ZGUubGF5ZXIoKTsKIAotICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3Bl
cnR5KFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRz
TGF5ZXIpKQorICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKICAgICAg
ICAgbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIgPSBzY3JvbGxpbmdTdGF0ZU5vZGUuc2Nyb2xsZWRD
b250ZW50c0xheWVyKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQpp
bmRleCAxZGViYWRkNGRjZi4uMjhkMzk1OTM0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
UHJveHlJT1MubW0KQEAgLTYzLDcgKzYzLDcgQEAgdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKFNjcm9sbGluZ1N0YXRlVHJlZSYKICAg
ICAgICAgICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9s
bGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKQogICAgICAgICAgICAgICAgIHNjcm9sbGluZ1N0
YXRlTm9kZS5zZXRMYXllcihsYXllclJlcHJlc2VudGF0aW9uRnJvbUxheWVyT3JWaWV3KGxheWVy
VHJlZUhvc3QuZ2V0TGF5ZXIoc2Nyb2xsaW5nU3RhdGVOb2RlLmxheWVyKCkpKSk7CiAgICAgICAg
ICAgICAKLSAgICAgICAgICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3Bl
cnR5KFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRz
TGF5ZXIpKQorICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJv
cGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIp
KQogICAgICAgICAgICAgICAgIHNjcm9sbGluZ1N0YXRlTm9kZS5zZXRTY3JvbGxlZENvbnRlbnRz
TGF5ZXIobGF5ZXJSZXByZXNlbnRhdGlvbkZyb21MYXllck9yVmlldyhsYXllclRyZWVIb3N0Lmdl
dExheWVyKHNjcm9sbGluZ1N0YXRlTm9kZS5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKSkpKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9OwotLSAKMi4xMS4wIChBcHBsZSBHaXQtODEpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314570</attachid>
            <date>2017-07-04 10:14:50 -0700</date>
            <delta_ts>2017-07-05 10:48:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174134-20170704191448.patch</filename>
            <type>text/plain</type>
            <size>26356</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM2ZWJiNGYwY2NhOTk5
NmJlMGI3NDg3Y2JmZmVjNTZjZjAzYWYxNS4uY2Q1MTYwNzUxMjRlNmNiNWEwYjkyOTU3NWJjOTFl
NDRjN2EwOGI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA3LTA0ICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBNb3ZlIFNjcm9sbGVkQ29u
dGVudHNMYXllciBwcm9wZXJ0eSB0byBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDEzNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNjcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlIGFuZCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZSBib3RoIHVzZSBhCisgICAgICAgIFNjcm9sbGVkQ29udGVudHNMYXllciBwcm9wZXJ0eSBmb3Ig
dGhlIHNhbWUgcHVycG9zZS4gVGhpcyBjb21taXQgbW92ZXMgdGhhdCBwcm9wZXJ0eSBpbnRvCisg
ICAgICAgIHRoZWlyIHBhcmVudCBjbGFzcyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUsIHNv
IHRoYXQgbW9yZSBjb2RlIGlzIHNoYXJlZCBiZXR3ZWVuIHRoZSB0d28KKyAgICAgICAgY2xhc3Nl
cy4gVGhpcyB3aWxsIGFsc28gaGVscCB0aGUgcmVmYWN0b3JpbmcgaW4gYnVnIDE3NDEzMC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIG9ubHkgZHVtcGVkIHRyZWUgbWF5IGNoYW5nZSBhIGJpdC4K
KworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlLmNwcDogUmVtb3ZlIHNjcm9sbGVkIGNvbnRlbnRzIGxheWVyLgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlRnJhbWVT
Y3JvbGxpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdT
dGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZS5oOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdT
dGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Ny
b2xsaW5nTm9kZS5oOiBEaXR0by4KKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6c2Nyb2xsZWRDb250ZW50
c0xheWVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUuY3BwOiBBZGQgc2Nyb2xsZWQgY29udGVudHMgbGF5ZXIuCisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGU6OnNldFNjcm9sbGVkQ29udGVudHNMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdTdGF0ZVNjcm9sbGluZ05vZGU6OmR1bXBQcm9wZXJ0aWVzKTogVXNlIHRoZSBsYWJlbCBmcm9t
IHRoZSBvdmVyZmxvdyBjbGFzcworICAgICAgICB3aGljaCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUg
ZnJhbWUgY2xhc3MuIFRoZSBkdW1waW5nIG9yZGVyIG1heSBjaGFuZ2UgYSBiaXQgdG9vLgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oOiBBZGQg
U2Nyb2xsZWRDb250ZW50c0xheWVyIHRvIHRoZSBlbnVtIGFuZAorICAgICAgICBzY3JvbGxlZCBj
b250ZW50cyBsYXllci4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5n
Tm9kZTo6c2Nyb2xsZWRDb250ZW50c0xheWVyKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNvbW1pdFN0YXRlQmVmb3Jl
Q2hpbGRyZW4pOiBBZGp1c3QgZW51bSB2YWx1ZQorICAgICAgICB0byB1c2UgU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIuCisKIDIwMTctMDctMDQgIFhh
YmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
RU1FXSBTb2x2ZSBhIGNvdXBsZSBvZiBjb21waWxlciB3YXJuaW5ncwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDgy
MDRiY2JlNTA4ZmI4ZTA5OGQyYjVlYmZlOTYwYTYzMjc5MGJjMzguLmE3N2ExNjVkM2JkNzEwNjQ3
MGU0ZThmYTgwMTkyNTAyNWQ0NTMxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAx
Ny0wNy0wNCAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CisKKyAgICAgICAgTW92
ZSBTY3JvbGxlZENvbnRlbnRzTGF5ZXIgcHJvcGVydHkgdG8gU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzQxMzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNoYXJlZC9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5j
cHA6CisgICAgICAgIChBcmd1bWVudENvZGVyPFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZT46
OmVuY29kZSk6IEFkZCBlbmNvZGluZyBmb3Igc2Nyb2xsZWQgY29udGVudHMKKyAgICAgICAgbGF5
ZXIuCisgICAgICAgIChBcmd1bWVudENvZGVyPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlPjo6ZW5jb2RlKTogUmVtb3ZlIGVuY29kaW5nIGZvciBzY3JvbGxlZAorICAgICAgICBjb250
ZW50cyBsYXllci4KKyAgICAgICAgKEFyZ3VtZW50Q29kZXI8U2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGU+OjplbmNvZGUpOiBEaXR0by4KKyAgICAgICAgKEFyZ3VtZW50Q29kZXI8
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlPjo6ZGVjb2RlKTogQWRkIGRlY29kaW5nIGZvciBz
Y3JvbGxlZCBjb250ZW50cworICAgICAgICBsYXllci4KKyAgICAgICAgKEFyZ3VtZW50Q29kZXI8
U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU+OjpkZWNvZGUpOiBSZW1vdmUgZGVjb2Rp
bmcgZm9yIHNjcm9sbGVkCisgICAgICAgIGNvbnRlbnRzIGxheWVyLgorICAgICAgICAoQXJndW1l
bnRDb2RlcjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT46OmRlY29kZSk6IERp
dHRvLgorICAgICAgICAoV2ViS2l0OjpkdW1wKTogTW92ZSBkdW1waW5nIG9mIHNjcm9sbGVkIGNv
bnRlbnRzIGxheWVyIGZyb20gb3ZlcmZsb3cvZnJhbWUgbm9kZXMgdG8KKyAgICAgICAgc2Nyb2xs
aW5nIG5vZGUuCisgICAgICAgICogVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JQcm94eTo6Y29ubmVjdFN0YXRlTm9kZUxheWVycyk6IEFkanVzdCBlbnVtIHZhbHVl
IHRvIHVzZQorICAgICAgICBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29u
dGVudHNMYXllci4KKyAgICAgICAgKiBVSVByb2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TOjpjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVu
KTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKTogRGl0dG8uCisKIDIwMTctMDctMDQg
IEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbnVw
IHNvbWUgU3RyaW5nQnVpbGRlciB1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNw
cAppbmRleCBiNmU3MTMzNmRkMDdjOTZiYjRlNzliYzE0NzkxYzY1ODhlNzViNzRiLi5jOTdhOGEw
NGU2MWNhZGM1N2ZmM2U0Mjc2YmYxYWQzNzBjMTU0MTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGUuY3BwCkBAIC02NCw5ICs2NCw2IEBAIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlOjpTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxp
CiAgICAgLCBtX2ZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoc3RhdGVOb2RlLmZp
eGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKSkKICAgICAsIG1fdmlzdWFsVmlld3Bv
cnRFbmFibGVkKHN0YXRlTm9kZS52aXN1YWxWaWV3cG9ydEVuYWJsZWQoKSkKIHsKLSAgICBpZiAo
aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGVkQ29udGVudHNMYXllcikpCi0gICAgICAgIHNldFNj
cm9sbGVkQ29udGVudHNMYXllcihzdGF0ZU5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCkudG9S
ZXByZXNlbnRhdGlvbihhZG9wdGl2ZVRyZWUucHJlZmVycmVkTGF5ZXJSZXByZXNlbnRhdGlvbigp
KSk7Ci0KICAgICBpZiAoaGFzQ2hhbmdlZFByb3BlcnR5KENvdW50ZXJTY3JvbGxpbmdMYXllcikp
CiAgICAgICAgIHNldENvdW50ZXJTY3JvbGxpbmdMYXllcihzdGF0ZU5vZGUuY291bnRlclNjcm9s
bGluZ0xheWVyKCkudG9SZXByZXNlbnRhdGlvbihhZG9wdGl2ZVRyZWUucHJlZmVycmVkTGF5ZXJS
ZXByZXNlbnRhdGlvbigpKSk7CiAKQEAgLTE4MywxNSArMTgwLDYgQEAgdm9pZCBTY3JvbGxpbmdT
dGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6c2V0VG9wQ29udGVudEluc2V0KGZsb2F0IHRvcENvbnRl
bnRJbnNldCkKICAgICBzZXRQcm9wZXJ0eUNoYW5nZWQoVG9wQ29udGVudEluc2V0KTsKIH0KIAot
dm9pZCBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsZWRDb250ZW50
c0xheWVyKGNvbnN0IExheWVyUmVwcmVzZW50YXRpb24mIGxheWVyUmVwcmVzZW50YXRpb24pCi17
Ci0gICAgaWYgKGxheWVyUmVwcmVzZW50YXRpb24gPT0gbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIp
Ci0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBtX3Njcm9sbGVkQ29udGVudHNMYXllciA9IGxh
eWVyUmVwcmVzZW50YXRpb247Ci0gICAgc2V0UHJvcGVydHlDaGFuZ2VkKFNjcm9sbGVkQ29udGVu
dHNMYXllcik7Ci19Ci0KIHZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OnNl
dENvdW50ZXJTY3JvbGxpbmdMYXllcihjb25zdCBMYXllclJlcHJlc2VudGF0aW9uJiBsYXllclJl
cHJlc2VudGF0aW9uKQogewogICAgIGlmIChsYXllclJlcHJlc2VudGF0aW9uID09IG1fY291bnRl
clNjcm9sbGluZ0xheWVyKQpAQCAtMjcxLDcgKzI1OSw2IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGU6OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBTY3JvbGxp
bmdTCiAgICAgaWYgKGJlaGF2aW9yICYgU2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3JJ
bmNsdWRlTGF5ZXJJRHMpIHsKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJjb3VudGVyIHNjcm9s
bGluZyBsYXllciBJRCIsIG1fY291bnRlclNjcm9sbGluZ0xheWVyLmxheWVySUQoKSk7CiAgICAg
ICAgIHRzLmR1bXBQcm9wZXJ0eSgiaW5zZXQgY2xpcCBsYXllciBJRCIsIG1faW5zZXRDbGlwTGF5
ZXIubGF5ZXJJRCgpKTsKLSAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJzY3JvbGxlZCBjb250ZW50
cyBsYXllciBJRCIsIG1fc2Nyb2xsZWRDb250ZW50c0xheWVyLmxheWVySUQoKSk7CiAgICAgICAg
IHRzLmR1bXBQcm9wZXJ0eSgiY29udGVudCBzaGFkb3cgbGF5ZXIgSUQiLCBtX2NvbnRlbnRTaGFk
b3dMYXllci5sYXllcklEKCkpOwogICAgICAgICB0cy5kdW1wUHJvcGVydHkoImhlYWRlciBsYXll
ciBJRCIsIG1faGVhZGVyTGF5ZXIubGF5ZXJJRCgpKTsKICAgICAgICAgdHMuZHVtcFByb3BlcnR5
KCJmb290ZXIgbGF5ZXIgSUQiLCBtX2Zvb3RlckxheWVyLmxheWVySUQoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGUuaAppbmRleCA4MjYwNWIyYzIxNGM5YTk3NzJjNmNhOTAyNjY3OTdk
MDY1YTAzOGVmLi45ZTM1YjM1YjAxNTM2NzRlNTBjNDY0MTZkOGIyMTcwMzAyYTAxYzRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1l
U2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmgKQEAgLTk3LDkgKzk3LDYgQEAgcHVibGljOgog
ICAgIGZsb2F0IHRvcENvbnRlbnRJbnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fdG9wQ29udGVudElu
c2V0OyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUb3BDb250ZW50SW5zZXQoZmxvYXQp
OwogCi0gICAgY29uc3QgTGF5ZXJSZXByZXNlbnRhdGlvbiYgc2Nyb2xsZWRDb250ZW50c0xheWVy
KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXI7IH0KLSAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFNjcm9sbGVkQ29udGVudHNMYXllcihjb25zdCBMYXllclJlcHJlc2Vu
dGF0aW9uJik7Ci0KICAgICAvLyBUaGlzIGlzIGEgbGF5ZXIgbW92ZWQgaW4gdGhlIG9wcG9zaXRl
IGRpcmVjdGlvbiB0byBzY3JvbGxpbmcsIGZvciBleGFtcGxlIGZvciBiYWNrZ3JvdW5kLWF0dGFj
aG1lbnQ6Zml4ZWQKICAgICBjb25zdCBMYXllclJlcHJlc2VudGF0aW9uJiBjb3VudGVyU2Nyb2xs
aW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2NvdW50ZXJTY3JvbGxpbmdMYXllcjsgfQogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q291bnRlclNjcm9sbGluZ0xheWVyKGNvbnN0IExheWVy
UmVwcmVzZW50YXRpb24mKTsKQEAgLTE0Miw3ICsxMzksNiBAQCBwcml2YXRlOgogCiAgICAgTGF5
ZXJSZXByZXNlbnRhdGlvbiBtX2NvdW50ZXJTY3JvbGxpbmdMYXllcjsKICAgICBMYXllclJlcHJl
c2VudGF0aW9uIG1faW5zZXRDbGlwTGF5ZXI7Ci0gICAgTGF5ZXJSZXByZXNlbnRhdGlvbiBtX3Nj
cm9sbGVkQ29udGVudHNMYXllcjsKICAgICBMYXllclJlcHJlc2VudGF0aW9uIG1fY29udGVudFNo
YWRvd0xheWVyOwogICAgIExheWVyUmVwcmVzZW50YXRpb24gbV9oZWFkZXJMYXllcjsKICAgICBM
YXllclJlcHJlc2VudGF0aW9uIG1fZm9vdGVyTGF5ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggMjhmZDIwMzdhMTgxYTcwODNlY2M5MDQ4MWZlMmVmZjFi
NGUxNjQ4NS4uM2NmMGZlODBlOWFiNzliOTI0ODZhMjFkMzc3YTExMjM1MzI2MGFmMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcApAQCAtNDYsOCArNDYsNiBAQCBT
Y3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGUoU2Nyb2xsaQogU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGU6OlNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKGNvbnN0IFNjcm9sbGluZ1N0
YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlJiBzdGF0ZU5vZGUsIFNjcm9sbGluZ1N0YXRlVHJlZSYg
YWRvcHRpdmVUcmVlKQogICAgIDogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKHN0YXRlTm9k
ZSwgYWRvcHRpdmVUcmVlKQogewotICAgIGlmIChoYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsZWRD
b250ZW50c0xheWVyKSkKLSAgICAgICAgc2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKHN0YXRlTm9k
ZS5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKS50b1JlcHJlc2VudGF0aW9uKGFkb3B0aXZlVHJlZS5w
cmVmZXJyZWRMYXllclJlcHJlc2VudGF0aW9uKCkpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGU6On5TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZSgp
CkBAIC01OSwyMyArNTcsMTEgQEAgUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3Rh
dGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGluZ1N0YXQKICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZSgqdGhpcywg
YWRvcHRpdmVUcmVlKSk7CiB9CiAgICAgCi12b2lkIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlOjpzZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIoY29uc3QgTGF5ZXJSZXByZXNlbnRh
dGlvbiYgbGF5ZXJSZXByZXNlbnRhdGlvbikKLXsKLSAgICBpZiAobGF5ZXJSZXByZXNlbnRhdGlv
biA9PSBtX3Njcm9sbGVkQ29udGVudHNMYXllcikKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IG1fc2Nyb2xsZWRDb250ZW50c0xheWVyID0gbGF5ZXJSZXByZXNlbnRhdGlvbjsKLSAgICBzZXRQ
cm9wZXJ0eUNoYW5nZWQoU2Nyb2xsZWRDb250ZW50c0xheWVyKTsKLX0KLQogdm9pZCBTY3JvbGxp
bmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYg
dHMsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKSBjb25zdAogewog
ICAgIHRzIDw8ICJPdmVyZmxvdyBzY3JvbGxpbmcgbm9kZSI7CiAgICAgCiAgICAgU2Nyb2xsaW5n
U3RhdGVTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyh0cywgYmVoYXZpb3IpOwotICAgIAot
ICAgIGlmICgoYmVoYXZpb3IgJiBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvckluY2x1
ZGVMYXllcklEcykgJiYgbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIubGF5ZXJJRCgpKQotICAgICAg
ICB0cy5kdW1wUHJvcGVydHkoInNjcm9sbGVkIGNvbnRlbnRzIGxheWVyIiwgbV9zY3JvbGxlZENv
bnRlbnRzTGF5ZXIubGF5ZXJJRCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmgKaW5kZXggNjIyYTMwMDcyMzIwYmRhMmI2
NTg4NzJhMmFkNDlmN2FiZGQ3MjE5Ni4uMDI4OTM4ZjFlMjBmNjJkOWVlY2Q1Zjk2YTdhZTBjZmNh
ZDVlZjg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oCkBAIC0zOSwy
MSArMzksMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGUoKTsKIAotICAgIGVudW0gQ2hhbmdlZFByb3BlcnR5IHsKLSAgICAgICAg
U2Nyb2xsZWRDb250ZW50c0xheWVyID0gTnVtU2Nyb2xsaW5nU3RhdGVOb2RlQml0cwotICAgIH07
Ci0KLSAgICAvLyBUaGlzIGlzIGEgbGF5ZXIgd2l0aCB0aGUgY29udGVudHMgdGhhdCBtb3ZlLgot
ICAgIGNvbnN0IExheWVyUmVwcmVzZW50YXRpb24mIHNjcm9sbGVkQ29udGVudHNMYXllcigpIGNv
bnN0IHsgcmV0dXJuIG1fc2Nyb2xsZWRDb250ZW50c0xheWVyOyB9Ci0gICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIoY29uc3QgTGF5ZXJSZXByZXNlbnRhdGlv
biYpOwotICAgIAogICAgIHZvaWQgZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYsIFNjcm9sbGlu
Z1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yKSBjb25zdCBvdmVycmlkZTsKIAogcHJpdmF0ZToKICAg
ICBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUm
LCBTY3JvbGxpbmdOb2RlSUQpOwogICAgIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlJiwgU2Nyb2xsaW5n
U3RhdGVUcmVlJik7Ci0gICAgCi0gICAgTGF5ZXJSZXByZXNlbnRhdGlvbiBtX3Njcm9sbGVkQ29u
dGVudHNMYXllcjsgICAgCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlLmNwcAppbmRleCA4MmU2YTYzMjAyZGIxOTI2MTQ4MGViZjAzOTNjMzU3NTA5N2Nj
MWUyLi4zZDA3MjgxNjkyN2QxNzU4Y2U0YWVlYjE2MGZmNzgxMTg4ODRiMTY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTUzLDYgKzUzLDggQEAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVT
Y3IKICAgICAsIG1fcmVxdWVzdGVkU2Nyb2xsUG9zaXRpb25SZXByZXNlbnRzUHJvZ3JhbW1hdGlj
U2Nyb2xsKHN0YXRlTm9kZS5yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvblJlcHJlc2VudHNQcm9ncmFt
bWF0aWNTY3JvbGwoKSkKICAgICAsIG1fZXhwZWN0c1doZWVsRXZlbnRUZXN0VHJpZ2dlcihzdGF0
ZU5vZGUuZXhwZWN0c1doZWVsRXZlbnRUZXN0VHJpZ2dlcigpKQogeworICAgIGlmIChoYXNDaGFu
Z2VkUHJvcGVydHkoU2Nyb2xsZWRDb250ZW50c0xheWVyKSkKKyAgICAgICAgc2V0U2Nyb2xsZWRD
b250ZW50c0xheWVyKHN0YXRlTm9kZS5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKS50b1JlcHJlc2Vu
dGF0aW9uKGFkb3B0aXZlVHJlZS5wcmVmZXJyZWRMYXllclJlcHJlc2VudGF0aW9uKCkpKTsKIH0K
IAogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjp+U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlKCkKQEAgLTE4NSw2ICsxODcsMTUgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGU6OnNldEV4cGVjdHNXaGVlbEV2ZW50VGVzdFRyaWdnZXIoYm9vbCBleHBlY3RzVGUKICAgICBz
ZXRQcm9wZXJ0eUNoYW5nZWQoRXhwZWN0c1doZWVsRXZlbnRUZXN0VHJpZ2dlcik7CiB9CiAKK3Zv
aWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIo
Y29uc3QgTGF5ZXJSZXByZXNlbnRhdGlvbiYgbGF5ZXJSZXByZXNlbnRhdGlvbikKK3sKKyAgICBp
ZiAobGF5ZXJSZXByZXNlbnRhdGlvbiA9PSBtX3Njcm9sbGVkQ29udGVudHNMYXllcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIgPSBsYXllclJlcHJlc2Vu
dGF0aW9uOworICAgIHNldFByb3BlcnR5Q2hhbmdlZChTY3JvbGxlZENvbnRlbnRzTGF5ZXIpOwor
fQorCiB2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4
dFN0cmVhbSYgdHMsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKSBj
b25zdAogewogICAgIFNjcm9sbGluZ1N0YXRlTm9kZTo6ZHVtcFByb3BlcnRpZXModHMsIGJlaGF2
aW9yKTsKQEAgLTI0Myw2ICsyNTQsOSBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIFNjcm9sbGluZ1N0YXRlVAogCiAgICAg
aWYgKG1fZXhwZWN0c1doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAgICAgdHMuZHVtcFByb3Bl
cnR5KCJleHBlY3RzIHdoZWVsIGV2ZW50IHRlc3QgdHJpZ2dlciIsIG1fZXhwZWN0c1doZWVsRXZl
bnRUZXN0VHJpZ2dlcik7CisKKyAgICBpZiAoKGJlaGF2aW9yICYgU2Nyb2xsaW5nU3RhdGVUcmVl
QXNUZXh0QmVoYXZpb3JJbmNsdWRlTGF5ZXJJRHMpICYmIG1fc2Nyb2xsZWRDb250ZW50c0xheWVy
LmxheWVySUQoKSkKKyAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJzY3JvbGxlZCBjb250ZW50cyBs
YXllciIsIG1fc2Nyb2xsZWRDb250ZW50c0xheWVyLmxheWVySUQoKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKaW5kZXggZjRkMjc1ZjllNTVmNTZi
ZWRiMDhjZDdkYzc0ZDhjM2JiZWM4ZTUwOS4uZjYxMjkwYmRlMWU4MTViMTM5ZjIzOTA3M2M4MzQ3
YWQ3NTJhZmExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgKQEAgLTU1LDYgKzU1LDcgQEAgcHVi
bGljOgogICAgICAgICBDdXJyZW50VmVydGljYWxTbmFwT2Zmc2V0SW5kZXgsCiAjZW5kaWYKICAg
ICAgICAgRXhwZWN0c1doZWVsRXZlbnRUZXN0VHJpZ2dlciwKKyAgICAgICAgU2Nyb2xsZWRDb250
ZW50c0xheWVyLAogICAgICAgICBOdW1TY3JvbGxpbmdTdGF0ZU5vZGVCaXRzIC8vIFRoaXMgbXVz
dCByZW1haW4gYXQgdGhlIGxhc3QgcG9zaXRpb24uCiAgICAgfTsKIApAQCAtMTAzLDYgKzEwNCwx
MCBAQCBwdWJsaWM6CiAgICAgYm9vbCBleHBlY3RzV2hlZWxFdmVudFRlc3RUcmlnZ2VyKCkgY29u
c3QgeyByZXR1cm4gbV9leHBlY3RzV2hlZWxFdmVudFRlc3RUcmlnZ2VyOyB9CiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRFeHBlY3RzV2hlZWxFdmVudFRlc3RUcmlnZ2VyKGJvb2wpOwogCisg
ICAgLy8gVGhpcyBpcyBhIGxheWVyIHdpdGggdGhlIGNvbnRlbnRzIHRoYXQgbW92ZS4KKyAgICBj
b25zdCBMYXllclJlcHJlc2VudGF0aW9uJiBzY3JvbGxlZENvbnRlbnRzTGF5ZXIoKSBjb25zdCB7
IHJldHVybiBtX3Njcm9sbGVkQ29udGVudHNMYXllcjsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKGNvbnN0IExheWVyUmVwcmVzZW50YXRpb24mKTsK
KwogcHJvdGVjdGVkOgogICAgIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdT
dGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEKTsKICAgICBTY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
JiwgU2Nyb2xsaW5nU3RhdGVUcmVlJik7CkBAIC0xMjIsNiArMTI3LDcgQEAgcHJpdmF0ZToKICAg
ICB1bnNpZ25lZCBtX2N1cnJlbnRWZXJ0aWNhbFNuYXBQb2ludEluZGV4IHsgMCB9OwogI2VuZGlm
CiAgICAgU2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJz
OworICAgIExheWVyUmVwcmVzZW50YXRpb24gbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXI7CiAgICAg
Ym9vbCBtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9uUmVwcmVzZW50c1Byb2dyYW1tYXRpY1Njcm9s
bCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2V4cGVjdHNXaGVlbEV2ZW50VGVzdFRyaWdnZXIgeyBm
YWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0K
aW5kZXggNGJhZmNmM2FhYzExOTc3ZWQ0ODJjMDJiYTdkNzNiMDI3MmZiN2E0NS4uODcyNTUwZWQ2
MGFjZjZlY2Y3NWI3MDRjNTRmYzYzZGZhZTkxMjRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMubW0KQEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIFNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29u
c3QgU2Nyb2xsaQogICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5
KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKQogICAgICAgICBtX3Njcm9sbExheWVy
ID0gc2Nyb2xsaW5nU3RhdGVOb2RlLmxheWVyKCk7CiAKLSAgICBpZiAoc2Nyb2xsaW5nU3RhdGVO
b2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6
U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKKyAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0No
YW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVu
dHNMYXllcikpCiAgICAgICAgIG1fc2Nyb2xsZWRDb250ZW50c0xheWVyID0gc2Nyb2xsaW5nU3Rh
dGVOb2RlLnNjcm9sbGVkQ29udGVudHNMYXllcigpOwogCiAgICAgaWYgKHNjcm9sbGluZ1N0YXRl
Tm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6
OkNvdW50ZXJTY3JvbGxpbmdMYXllcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clRyYW5zYWN0aW9uLmNwcAppbmRleCBhMDU1NzAxYTQxNGMxMGM3MWIwZjRmNDk5MTk2MDQ0ZjFj
NzljNWNjLi41MDQwNDE2NTk3OTMyNjJmMTlkYzg5M2I0ODE1NzE2YmE1MTg4YWNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TY3JvbGxp
bmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAKQEAgLTEzNSw2ICsx
MzUsOSBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlPjo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0CiAgICAgU0NST0xMSU5HX05PREVfRU5DT0RF
KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsYWJsZUFyZWFQYXJhbXMsIHNjcm9s
bGFibGVBcmVhUGFyYW1ldGVycykKICAgICBTQ1JPTExJTkdfTk9ERV9FTkNPREUoU2Nyb2xsaW5n
U3RhdGVTY3JvbGxpbmdOb2RlOjpSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvbiwgcmVxdWVzdGVkU2Ny
b2xsUG9zaXRpb24pCiAgICAgU0NST0xMSU5HX05PREVfRU5DT0RFKFNjcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZTo6UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbFBvc2l0
aW9uUmVwcmVzZW50c1Byb2dyYW1tYXRpY1Njcm9sbCkKKworICAgIGlmIChub2RlLmhhc0NoYW5n
ZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVudHNM
YXllcikpCisgICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllcjo6UGxh
dGZvcm1MYXllcklEPihub2RlLnNjcm9sbGVkQ29udGVudHNMYXllcigpKTsKIH0KIAogdm9pZCBB
cmd1bWVudENvZGVyPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPjo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIsIGNvbnN0IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlJiBu
b2RlKQpAQCAtMTU0LDkgKzE1Nyw2IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjCiAgICAgU0NS
T0xMSU5HX05PREVfRU5DT0RFKFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpNaW5M
YXlvdXRWaWV3cG9ydE9yaWdpbiwgbWluTGF5b3V0Vmlld3BvcnRPcmlnaW4pCiAgICAgU0NST0xM
SU5HX05PREVfRU5DT0RFKFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpNYXhMYXlv
dXRWaWV3cG9ydE9yaWdpbiwgbWF4TGF5b3V0Vmlld3BvcnRPcmlnaW4pCiAKLSAgICBpZiAobm9k
ZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNj
cm9sbGVkQ29udGVudHNMYXllcikpCi0gICAgICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8R3Jh
cGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEPihub2RlLnNjcm9sbGVkQ29udGVudHNMYXllcigp
KTsKLQogICAgIGlmIChub2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1l
U2Nyb2xsaW5nTm9kZTo6Q291bnRlclNjcm9sbGluZ0xheWVyKSkKICAgICAgICAgZW5jb2RlciA8
PCBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQ+KG5vZGUuY291bnRl
clNjcm9sbGluZ0xheWVyKCkpOwogCkBAIC0xNzAsOSArMTcwLDYgQEAgdm9pZCBBcmd1bWVudENv
ZGVyPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPjo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIsIGMKIHZvaWQgQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZSYgbm9kZSkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0
PGNvbnN0IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSY+KG5vZGUpOwotICAgIAotICAgIGlm
IChub2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKLSAgICAgICAgZW5jb2RlciA8PCBzdGF0aWNf
Y2FzdDxHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQ+KG5vZGUuc2Nyb2xsZWRDb250ZW50
c0xheWVyKCkpOwogfQogCiAjZGVmaW5lIFNDUk9MTElOR19OT0RFX0RFQ09ERShwcm9wZXJ0eSwg
dHlwZSwgc2V0dGVyKSBcCkBAIC0yMjMsNiArMjIwLDEzIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxT
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Ny
b2xsCiAgICAgICAgIG5vZGUuc2V0UmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRp
b24sIHJlcHJlc2VudHNQcm9ncmFtbWF0aWNTY3JvbGwpOwogICAgIH0KIAorICAgIGlmIChub2Rl
Lmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGVk
Q29udGVudHNMYXllcikpIHsKKyAgICAgICAgR3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklE
IGxheWVySUQ7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUobGF5ZXJJRCkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIG5vZGUuc2V0U2Nyb2xsZWRDb250ZW50c0xheWVy
KGxheWVySUQpOworICAgIH0KKwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yNDUsMTMgKzI0
OSw2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTCiAgICAgU0NST0xMSU5HX05PREVfREVDT0RF
KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpNaW5MYXlvdXRWaWV3cG9ydE9yaWdp
biwgRmxvYXRQb2ludCwgc2V0TWluTGF5b3V0Vmlld3BvcnRPcmlnaW4pCiAgICAgU0NST0xMSU5H
X05PREVfREVDT0RFKFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpNYXhMYXlvdXRW
aWV3cG9ydE9yaWdpbiwgRmxvYXRQb2ludCwgc2V0TWF4TGF5b3V0Vmlld3BvcnRPcmlnaW4pCiAK
LSAgICBpZiAobm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9s
bGluZ05vZGU6OlNjcm9sbGVkQ29udGVudHNMYXllcikpIHsKLSAgICAgICAgR3JhcGhpY3NMYXll
cjo6UGxhdGZvcm1MYXllcklEIGxheWVySUQ7Ci0gICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
bGF5ZXJJRCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIG5vZGUuc2V0U2Ny
b2xsZWRDb250ZW50c0xheWVyKGxheWVySUQpOwotICAgIH0KLQogICAgIGlmIChub2RlLmhhc0No
YW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Q291bnRlclNj
cm9sbGluZ0xheWVyKSkgewogICAgICAgICBHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQg
bGF5ZXJJRDsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShsYXllcklEKSkKQEAgLTI4MSwx
MyArMjc4LDYgQEAgYm9vbCBBcmd1bWVudENvZGVyPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIKICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHN0YXRpY19jYXN0PFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSY+KG5vZGUpKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKG5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIp
KSB7Ci0gICAgICAgIEdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBsYXllcklEOwotICAg
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGxheWVySUQpKQotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICBub2RlLnNldFNjcm9sbGVkQ29udGVudHNMYXllcihsYXllcklEKTsKLSAg
ICB9Ci0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtNDgzLDYgKzQ3Myw5IEBAIHN0YXRpYyB2
b2lkIGR1bXAoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZSYgbm9kZSwgYm9vbCBjCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgicmVxdWVzdGVkLXNjcm9s
bC1wb3NpdGlvbiIsIG5vZGUucmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24oKSk7CiAgICAgICAgIHRz
LmR1bXBQcm9wZXJ0eSgicmVxdWVzdGVkLXNjcm9sbC1wb3NpdGlvbi1pcy1wcm9ncmFtYXRpYyIs
IG5vZGUucmVxdWVzdGVkU2Nyb2xsUG9zaXRpb25SZXByZXNlbnRzUHJvZ3JhbW1hdGljU2Nyb2xs
KCkpOwogICAgIH0KKworICAgIGlmICghY2hhbmdlZFByb3BlcnRpZXNPbmx5IHx8IG5vZGUuaGFz
Q2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Nyb2xsZWRDb250
ZW50c0xheWVyKSkKKyAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJzY3JvbGxlZC1jb250ZW50cy1s
YXllciIsIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRD4obm9kZS5z
Y3JvbGxlZENvbnRlbnRzTGF5ZXIoKSkpOwogfQogICAgIAogc3RhdGljIHZvaWQgZHVtcChUZXh0
U3RyZWFtJiB0cywgY29uc3QgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUmIG5vZGUs
IGJvb2wgY2hhbmdlZFByb3BlcnRpZXNPbmx5KQpAQCAtNTMwLDkgKzUyMyw2IEBAIHN0YXRpYyB2
b2lkIGR1bXAoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxp
bmdOb2RlJiBub2RlLCBiCiAgICAgaWYgKCFjaGFuZ2VkUHJvcGVydGllc09ubHkgfHwgbm9kZS5o
YXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OkZyYW1l
U2NhbGVGYWN0b3IpKQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoImZyYW1lLXNjYWxlLWZhY3Rv
ciIsIG5vZGUuZnJhbWVTY2FsZUZhY3RvcigpKTsKIAotICAgIGlmICghY2hhbmdlZFByb3BlcnRp
ZXNPbmx5IHx8IG5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlOjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKQotICAgICAgICB0cy5kdW1wUHJvcGVy
dHkoInNjcm9sbGVkLWNvbnRlbnRzLWxheWVyIiwgc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllcjo6
UGxhdGZvcm1MYXllcklEPihub2RlLnNjcm9sbGVkQ29udGVudHNMYXllcigpKSk7Ci0KICAgICBp
ZiAoIWNoYW5nZWRQcm9wZXJ0aWVzT25seSB8fCBub2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6SW5zZXRDbGlwTGF5ZXIpKQogICAgICAgICB0
cy5kdW1wUHJvcGVydHkoImNsaXAtaW5zZXQtbGF5ZXIiLCBzdGF0aWNfY2FzdDxHcmFwaGljc0xh
eWVyOjpQbGF0Zm9ybUxheWVySUQ+KG5vZGUuaW5zZXRDbGlwTGF5ZXIoKSkpOwogCkBAIC01NDks
OSArNTM5LDYgQEAgc3RhdGljIHZvaWQgZHVtcChUZXh0U3RyZWFtJiB0cywgY29uc3QgU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUmIG5vZGUsIGIKIHN0YXRpYyB2b2lkIGR1bXAoVGV4
dFN0cmVhbSYgdHMsIGNvbnN0IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlJiBu
b2RlLCBib29sIGNoYW5nZWRQcm9wZXJ0aWVzT25seSkKIHsKICAgICBkdW1wKHRzLCBzdGF0aWNf
Y2FzdDxjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUmPihub2RlKSwgY2hhbmdlZFBy
b3BlcnRpZXNPbmx5KTsKLSAgICAKLSAgICBpZiAoIWNoYW5nZWRQcm9wZXJ0aWVzT25seSB8fCBu
b2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKLSAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJzY3Jv
bGxlZC1jb250ZW50cy1sYXllciIsIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXI6OlBsYXRmb3Jt
TGF5ZXJJRD4obm9kZS5zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKSkpOwogfQogCiBzdGF0aWMgdm9p
ZCBkdW1wKFRleHRTdHJlYW0mIHRzLCBjb25zdCBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSYgbm9k
ZSwgYm9vbCBjaGFuZ2VkUHJvcGVydGllc09ubHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvclByb3h5LmNwcAppbmRleCAzODNkZjU4OTQ2YTdmZDdjMThjNWYwYWYyZmZiZTA1ZWIx
NTU2ZTk4Li5lNWQxZWI3MTdmZDlhMjczNmJiZmMxMThhZjQ2NTBhNTcyYjBjN2NlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxp
bmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTEwNiw3ICsxMDYsNyBA
QCB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OmNvbm5lY3RTdGF0ZU5vZGVM
YXllcnMoU2Nyb2xsaW5nU3RhdGVUcmVlJgogICAgICAgICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9k
ZTogewogICAgICAgICAgICAgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUmIHNjcm9s
bGluZ1N0YXRlTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
PigqY3Vyck5vZGUpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3Rh
dGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkKKyAgICAgICAgICAgIGlmIChzY3JvbGxpbmdTdGF0
ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2Ny
b2xsZWRDb250ZW50c0xheWVyKSkKICAgICAgICAgICAgICAgICBzY3JvbGxpbmdTdGF0ZU5vZGUu
c2V0U2Nyb2xsZWRDb250ZW50c0xheWVyKGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIoc2Nyb2xsaW5n
U3RhdGVOb2RlLnNjcm9sbGVkQ29udGVudHNMYXllcigpKSk7CiAKICAgICAgICAgICAgIGlmIChz
Y3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVT
Y3JvbGxpbmdOb2RlOjpDb3VudGVyU2Nyb2xsaW5nTGF5ZXIpKQpAQCAtMTI5LDcgKzEyOSw3IEBA
IHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y29ubmVjdFN0YXRlTm9kZUxh
eWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmCiAgICAgICAgIGNhc2UgT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlOiB7CiAgICAgICAgICAgICBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZSYg
c2Nyb2xsaW5nU3RhdGVOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9s
bGluZ05vZGU+KCpjdXJyTm9kZSk7CiAKLSAgICAgICAgICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5v
ZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2Rl
OjpTY3JvbGxlZENvbnRlbnRzTGF5ZXIpKQorICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1N0YXRl
Tm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3Jv
bGxlZENvbnRlbnRzTGF5ZXIpKQogICAgICAgICAgICAgICAgIHNjcm9sbGluZ1N0YXRlTm9kZS5z
ZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIobGF5ZXJUcmVlSG9zdC5nZXRMYXllcihzY3JvbGxpbmdT
dGF0ZU5vZGUuc2Nyb2xsZWRDb250ZW50c0xheWVyKCkpKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5n
L2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZUlPUy5tbQppbmRleCA4NzlhOThkNmFiNWI1YTdmOGM1NGZmNDNlNWFkMTQ0YTgwNmQ2
NjNiLi40MzNkMzhlNDI1MDFlODI1MTYwODZhYzY2NjA0ZmE4ZTI5Zjc4NGUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9T
Y3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0KQEAg
LTE3Miw3ICsxNzIsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJ
T1M6OmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgV2ViQwogICAgIGlmIChzY3JvbGxp
bmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xs
TGF5ZXIpKQogICAgICAgICBtX3Njcm9sbExheWVyID0gc2Nyb2xsaW5nU3RhdGVOb2RlLmxheWVy
KCk7CiAKLSAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3Jv
bGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6U2Nyb2xsZWRDb250ZW50c0xheWVyKSkK
KyAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVudHNMYXllcikpCiAgICAgICAgIG1fc2Ny
b2xsZWRDb250ZW50c0xheWVyID0gc2Nyb2xsaW5nU3RhdGVOb2RlLnNjcm9sbGVkQ29udGVudHNM
YXllcigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Jl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KaW5kZXggMWRl
YmFkZDRkY2ZlNmM5OTU5MjUxZmU2ZmM2ZDM2NDgwOGI2NDY0OS4uMjhkMzk1OTM0NTRlMTg1ZmI2
NmZlNWRmN2RhYjhiM2EyODYyMDRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlP
Uy5tbQpAQCAtNjMsNyArNjMsNyBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJv
eHk6OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMoU2Nyb2xsaW5nU3RhdGVUcmVlJgogICAgICAgICAg
ICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3Rh
dGVOb2RlOjpTY3JvbGxMYXllcikpCiAgICAgICAgICAgICAgICAgc2Nyb2xsaW5nU3RhdGVOb2Rl
LnNldExheWVyKGxheWVyUmVwcmVzZW50YXRpb25Gcm9tTGF5ZXJPclZpZXcobGF5ZXJUcmVlSG9z
dC5nZXRMYXllcihzY3JvbGxpbmdTdGF0ZU5vZGUubGF5ZXIoKSkpKTsKICAgICAgICAgICAgIAot
ICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVydHkoU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVudHNMYXllcikp
CisgICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShT
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGVkQ29udGVudHNMYXllcikpCiAgICAg
ICAgICAgICAgICAgc2Nyb2xsaW5nU3RhdGVOb2RlLnNldFNjcm9sbGVkQ29udGVudHNMYXllcihs
YXllclJlcHJlc2VudGF0aW9uRnJvbUxheWVyT3JWaWV3KGxheWVyVHJlZUhvc3QuZ2V0TGF5ZXIo
c2Nyb2xsaW5nU3RhdGVOb2RlLnNjcm9sbGVkQ29udGVudHNMYXllcigpKSkpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH07Cg==
</data>
<flag name="review"
          id="335436"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>