<?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>219373</bug_id>
          
          <creation_ts>2020-11-30 14:50:02 -0800</creation_ts>
          <short_desc>Pass OptionSet&lt;EventHandling&gt; to various wheel event handler functions</short_desc>
          <delta_ts>2020-11-30 17:30:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>218764</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1710804</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-30 14:50:02 -0800</bug_when>
    <thetext>Pass OptionSet&lt;EventHandling&gt; to various wheel event handler functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710807</commentid>
    <comment_count>1</comment_count>
      <attachid>415062</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-30 14:51:56 -0800</bug_when>
    <thetext>Created attachment 415062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710822</commentid>
    <comment_count>2</comment_count>
      <attachid>415067</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-30 15:31:28 -0800</bug_when>
    <thetext>Created attachment 415067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710881</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-30 17:29:42 -0800</bug_when>
    <thetext>Committed r270278: &lt;https://trac.webkit.org/changeset/270278&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415067.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1710882</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-30 17:30:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/71830737&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415062</attachid>
            <date>2020-11-30 14:51:56 -0800</date>
            <delta_ts>2020-11-30 15:31:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219373-20201130145155.patch</filename>
            <type>text/plain</type>
            <size>28479</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhkYzQzNDgwYzlmMjZm
OGNkZDg5NjY5MzUxMjMxNjliYTQ4N2M3NC4uNWZlNGNhMjFlYWViNmI3MWI1MTE2NGFkOTJlNmRh
OTVkMDZhYjc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIwLTExLTMwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBhc3MgT3B0aW9u
U2V0PEV2ZW50SGFuZGxpbmc+IHRvIHZhcmlvdXMgd2hlZWwgZXZlbnQgaGFuZGxlciBmdW5jdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTM3
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGlu
ZyB3ZWJraXQub3JnL2IvMjE4NzY0IHdpbGwgcmVxdWlyZSB0aGF0IGNvZGUgdGhhdCBkaXNwYXRj
aGVzIHdoZWVsIGV2ZW50cworICAgICAgICBjYW4gdGVsbCBsYXRlciB3aGV0aGVyIHNjcmlwdCBj
YWxsZWQgcHJldmVudERlZmF1bHQoKSBvbiB0aGUgZXZlbnQsIHNpbmNlIHRoaXMKKyAgICAgICAg
d2lsbCBhZmZlY3Qgd2hldGhlciB0aGUgcmVzdCBvZiB0aGUgd2hlZWwgZXZlbnRzIGluIGEgZ2Vz
dHVyZSBhcmUgY2FuY2VsYWJsZS4KKworICAgICAgICBUbyBwcmVwYXJlIGZvciB0aGlzLCBwYXNz
IE9wdGlvblNldDxFdmVudEhhbmRsaW5nPiBhcm91bmQgaW4gZXZlbnQgaGFuZGxpbmcKKyAgICAg
ICAgY29kZS4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpkaXNwYXRjaFdoZWVsRXZl
bnQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmhhbmRsZVdoZWVsRXZlbnRJbkFwcHJvcHJpYXRlRW5jbG9zaW5nQm94KToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlV2hlZWxFdmVudEludGVybmFsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGVmYXVsdFdoZWVsRXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9s
bGluZyk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwYWdlL21hYy9F
dmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OndoZWVs
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpwcm9jZXNzV2hlZWxFdmVu
dEZvclNjcm9sbGluZyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpoYW5kbGVX
aGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9UaHJlYWRl
ZFNjcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdU
cmVlOjpoYW5kbGVXaGVlbEV2ZW50QWZ0ZXJNYWluVGhyZWFkKToKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdDb29yZGluYXRvck1hYzo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWEu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lhOjpoYW5k
bGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nv
b3JkaW5hdG9yTmljb3NpYTo6d2hlZWxFdmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVhZCk6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5pY29z
aWEuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyk6Cisg
ICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmhhbmRsZVdo
ZWVsRXZlbnRGb3JTY3JvbGxpbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5o
OgorCiAyMDIwLTExLTMwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmMjA3NDcwNTMwOWVl
NmU0MjRkMWNlMTEzODVhZjg2NTFmMWI3ZDViLi5lZDNlYWVlZjg1NjEzODUzMjAwZTBlNTgwNTYw
Y2E2ZjZkZjAyNjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTExLTMwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBhc3MgT3B0aW9u
U2V0PEV2ZW50SGFuZGxpbmc+IHRvIHZhcmlvdXMgd2hlZWwgZXZlbnQgaGFuZGxlciBmdW5jdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTM3
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06CisgICAgICAgIChXZWJLaXQ6OlBERlBs
dWdpbjo6aGFuZGxlV2hlZWxFdmVudCk6CisKIDIwMjAtMTEtMzAgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aHJvdHRsaW5nIGNvZGUgZnJvbSBO
ZXR3b3JrTG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGQ2MWM3ZjY5NTQxMmE1NWIxNjQ2
MzBmN2VkY2U5Y2NmM2I1MTg3MWUuLjBiNGM5ZDhkY2JlOTYwN2EyZmRmZjBkMjI4YTA0YmI5NDZk
NzUwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTQzNyw3ICs0MzcsNyBAQCBib29sIEVs
ZW1lbnQ6OmRpc3BhdGNoV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHBsYXRm
b3JtRXZlbnQsIE9wdGlvbgogCiAgICAgZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICAgCi0gICAg
TE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJFbGVtZW50ICIgPDwgKnRoaXMg
PDwgIiBkaXNwYXRjaFdoZWVsRXZlbnQ6IGRlZmF1bHRQcmV2ZW50ZWQgIiA8PCBldmVudC0+ZGVm
YXVsdFByZXZlbnRlZCgpIDw8ICIgZGVmYXVsdEhhbmRsZWQgIiA8PCBldmVudC0+ZGVmYXVsdEhh
bmRsZWQoKSk7CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJFbGVt
ZW50ICIgPDwgKnRoaXMgPDwgIiBkaXNwYXRjaFdoZWVsRXZlbnQ6IChjYW5jZWxhYmxlICIgPDwg
ZXZlbnQtPmNhbmNlbGFibGUoKSA8PCAiKSBkZWZhdWx0UHJldmVudGVkICIgPDwgZXZlbnQtPmRl
ZmF1bHRQcmV2ZW50ZWQoKSA8PCAiIGRlZmF1bHRIYW5kbGVkICIgPDwgZXZlbnQtPmRlZmF1bHRI
YW5kbGVkKCkpOwogICAgIAogICAgIGlmIChldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpKQogICAg
ICAgICBwcm9jZXNzaW5nLmFkZChFdmVudEhhbmRsaW5nOjpEZWZhdWx0UHJldmVudGVkKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA2NWViMjA5ZDRkMzdhNjNhZGFlMjkz
MDVkMmZmNDdhMGUyNWRiMTVkLi41MWFkYjAwYmZhYzVhMGRlZTQ5ZDZkMzI1ZjM4ZjlkMzMwYzYz
NTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0zMTUsNyArMzE1LDcg
QEAgc3RhdGljIGJvb2wgZGlkU2Nyb2xsSW5TY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSYg
c2Nyb2xsYWJsZUFyZWEsIGNvbnN0IFdoZWUKICAgICByZXR1cm4gZGlkSGFuZGxlV2hlZWxFdmVu
dDsKIH0KIAotc3RhdGljIGJvb2wgaGFuZGxlV2hlZWxFdmVudEluQXBwcm9wcmlhdGVFbmNsb3Np
bmdCb3goTm9kZSogc3RhcnROb2RlLCBjb25zdCBXaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBjb25z
dCBGbG9hdFNpemUmIGZpbHRlcmVkUGxhdGZvcm1EZWx0YSwgY29uc3QgRmxvYXRTaXplJiBmaWx0
ZXJlZFZlbG9jaXR5KQorc3RhdGljIGJvb2wgaGFuZGxlV2hlZWxFdmVudEluQXBwcm9wcmlhdGVF
bmNsb3NpbmdCb3goTm9kZSogc3RhcnROb2RlLCBjb25zdCBXaGVlbEV2ZW50JiB3aGVlbEV2ZW50
LCBjb25zdCBGbG9hdFNpemUmIGZpbHRlcmVkUGxhdGZvcm1EZWx0YSwgY29uc3QgRmxvYXRTaXpl
JiBmaWx0ZXJlZFZlbG9jaXR5LCBPcHRpb25TZXQ8RXZlbnRIYW5kbGluZz4gZXZlbnRIYW5kbGlu
ZykKIHsKICAgICBib29sIHNob3VsZEhhbmRsZUV2ZW50ID0gd2hlZWxFdmVudC5kZWx0YVgoKSB8
fCB3aGVlbEV2ZW50LmRlbHRhWSgpOwogI2lmIEVOQUJMRShXSEVFTF9FVkVOVF9MQVRDSElORykK
QEAgLTM0Niw3ICszNDYsNyBAQCBzdGF0aWMgYm9vbCBoYW5kbGVXaGVlbEV2ZW50SW5BcHByb3By
aWF0ZUVuY2xvc2luZ0JveChOb2RlKiBzdGFydE5vZGUsIGNvbnN0IFdoZQogICAgICAgICAgICAg
Ym9vbCBzY3JvbGxpbmdXYXNIYW5kbGVkOwogICAgICAgICAgICAgaWYgKHBsYXRmb3JtRXZlbnQp
IHsKICAgICAgICAgICAgICAgICBhdXRvIGNvcGllZEV2ZW50ID0gcGxhdGZvcm1FdmVudC0+Y29w
eVdpdGhEZWx0YXNBbmRWZWxvY2l0eShmaWx0ZXJlZFBsYXRmb3JtRGVsdGEud2lkdGgoKSwgZmls
dGVyZWRQbGF0Zm9ybURlbHRhLmhlaWdodCgpLCBmaWx0ZXJlZFZlbG9jaXR5KTsKLSAgICAgICAg
ICAgICAgICBzY3JvbGxpbmdXYXNIYW5kbGVkID0gYm94TGF5ZXItPmhhbmRsZVdoZWVsRXZlbnRG
b3JTY3JvbGxpbmcoY29waWVkRXZlbnQpOworICAgICAgICAgICAgICAgIHNjcm9sbGluZ1dhc0hh
bmRsZWQgPSBib3hMYXllci0+aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb3BpZWRFdmVu
dCwgZXZlbnRIYW5kbGluZyk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBz
Y3JvbGxpbmdXYXNIYW5kbGVkID0gZGlkU2Nyb2xsSW5TY3JvbGxhYmxlQXJlYSgqYm94TGF5ZXIs
IHdoZWVsRXZlbnQpOwogCkBAIC0yNzgwLDE0ICsyNzgwLDE0IEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpyZWNvcmRXaGVlbEV2ZW50Rm9yRGVsdGFGaWx0ZXIoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JiBldmVuCiAgICAgICAgIHBhZ2UtPndoZWVsRXZlbnREZWx0YUZpbHRlcigpLT51cGRhdGVGcm9t
RGVsdGEoRmxvYXRTaXplKGV2ZW50LmRlbHRhWCgpLCBldmVudC5kZWx0YVkoKSkpOwogfQogCi1i
b29sIEV2ZW50SGFuZGxlcjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxh
dGZvcm1XaGVlbEV2ZW50JiBldmVudCwgY29uc3QgV2Vha1B0cjxTY3JvbGxhYmxlQXJlYT4mKQor
Ym9vbCBFdmVudEhhbmRsZXI6OnByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBs
YXRmb3JtV2hlZWxFdmVudCYgZXZlbnQsIGNvbnN0IFdlYWtQdHI8U2Nyb2xsYWJsZUFyZWE+Jiwg
T3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+IGV2ZW50SGFuZGxpbmcpCiB7CiAgICAgUmVmPEZyYW1l
PiBwcm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKIAogICAgIC8vIFdlIGRvIGFub3RoZXIgY2hlY2sg
b24gdGhlIGZyYW1lIHZpZXcgYmVjYXVzZSB0aGUgZXZlbnQgaGFuZGxlciBjYW4gcnVuIEpTIHdo
aWNoIHJlc3VsdHMgaW4gdGhlIGZyYW1lIGdldHRpbmcgZGVzdHJveWVkLgogICAgIEZyYW1lVmll
dyogdmlldyA9IG1fZnJhbWUudmlldygpOwogICAgIAotICAgIGJvb2wgZGlkSGFuZGxlRXZlbnQg
PSB2aWV3ID8gdmlldy0+aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhldmVudCkgOiBmYWxz
ZTsKKyAgICBib29sIGRpZEhhbmRsZUV2ZW50ID0gdmlldyA/IHZpZXctPmhhbmRsZVdoZWVsRXZl
bnRGb3JTY3JvbGxpbmcoZXZlbnQsIGV2ZW50SGFuZGxpbmcpIDogZmFsc2U7CiAgICAgbV9pc0hh
bmRsaW5nV2hlZWxFdmVudCA9IGZhbHNlOwogICAgIHJldHVybiBkaWRIYW5kbGVFdmVudDsKIH0K
QEAgLTI4NjksNiArMjg2OSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZlbnQsIE9wdGlvblNldDxXCiB7CiAgICAgT3B0
aW9uU2V0PEV2ZW50SGFuZGxpbmc+IGhhbmRsaW5nOwogICAgIGJvb2wgaGFuZGxlZCA9IGhhbmRs
ZVdoZWVsRXZlbnRJbnRlcm5hbChldmVudCwgcHJvY2Vzc2luZ1N0ZXBzLCBoYW5kbGluZyk7Cisg
ICAgLy8gd2hlZWxFdmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVhZCgpIG1heSBoYXZlIGFscmVh
ZHkgYmVlbiBjYWxsZWQgdmlhIHBlcmZvcm1EZWZhdWx0V2hlZWxFdmVudEhhbmRsaW5nKCksIGJ1
dCB0aGlzIGVuc3VyZXMgdGhhdCBpdCdzIGFsd2F5cyBjYWxsZWQgaWYgdGhhdCBjb2RlIHBhdGgg
ZG9lc24ndCBydW4uCiAgICAgd2hlZWxFdmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVhZChldmVu
dCwgaGFuZGxpbmcpOwogICAgIHJldHVybiBoYW5kbGVkOwogfQpAQCAtMjk2NSw3ICsyOTY2LDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnRJbnRlcm5hbChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmIGV2ZW50LCBPcHQKICNlbmRpZgogICAgIGlmIChhbGxvd1Njcm9sbGlu
ZykgewogICAgICAgICAvLyBGSVhNRTogcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxpbmcoKSBp
cyBvbmx5IGNhbGxlZCBmb3IgRnJhbWVWaWV3IHNjcm9sbGluZywgbm90IG92ZXJmbG93IHNjcm9s
bGluZywgd2hpY2ggaXMgY29uZnVzaW5nLgotICAgICAgICBoYW5kbGVkRXZlbnQgPSBwcm9jZXNz
V2hlZWxFdmVudEZvclNjcm9sbGluZyhldmVudCwgc2Nyb2xsYWJsZUFyZWEpOworICAgICAgICBo
YW5kbGVkRXZlbnQgPSBwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbGluZyhldmVudCwgc2Nyb2xs
YWJsZUFyZWEsIGhhbmRsaW5nKTsKICAgICAgICAgcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxT
bmFwKGV2ZW50LCBzY3JvbGxhYmxlQXJlYSk7CiAgICAgfQogCkBAIC0zMDA3LDYgKzMwMDgsMTAg
QEAgdm9pZCBFdmVudEhhbmRsZXI6OmRlZmF1bHRXaGVlbEV2ZW50SGFuZGxlcihOb2RlKiBzdGFy
dE5vZGUsIFdoZWVsRXZlbnQmIHdoZWVsRXYKICAgICAgICAgZmlsdGVyZWRQbGF0Zm9ybURlbHRh
LnNldEhlaWdodChwbGF0Zm9ybVdoZWVsRXZlbnQtPmRlbHRhWSgpKTsKICAgICB9CiAKKyAgICBP
cHRpb25TZXQ8RXZlbnRIYW5kbGluZz4gZXZlbnRIYW5kbGluZyA9IHsgRXZlbnRIYW5kbGluZzo6
RGlzcGF0Y2hlZFRvRE9NIH07CisgICAgaWYgKHdoZWVsRXZlbnQuZGVmYXVsdFByZXZlbnRlZCgp
KQorICAgICAgICBldmVudEhhbmRsaW5nLmFkZChFdmVudEhhbmRsaW5nOjpEZWZhdWx0UHJldmVu
dGVkKTsKKwogI2lmIEVOQUJMRShXSEVFTF9FVkVOVF9MQVRDSElORykKICAgICBpZiAobV9mcmFt
ZS5wYWdlKCktPndoZWVsRXZlbnREZWx0YUZpbHRlcigpLT5pc0ZpbHRlcmluZ0RlbHRhcygpKSB7
CiAgICAgICAgIGZpbHRlcmVkUGxhdGZvcm1EZWx0YSA9IG1fZnJhbWUucGFnZSgpLT53aGVlbEV2
ZW50RGVsdGFGaWx0ZXIoKS0+ZmlsdGVyZWREZWx0YSgpOwpAQCAtMzAyNiwxNCArMzAzMSwxNCBA
QCB2b2lkIEV2ZW50SGFuZGxlcjo6ZGVmYXVsdFdoZWVsRXZlbnRIYW5kbGVyKE5vZGUqIHN0YXJ0
Tm9kZSwgV2hlZWxFdmVudCYgd2hlZWxFdgogICAgICAgICBhdXRvIHBsYXRmb3JtRXZlbnQgPSB3
aGVlbEV2ZW50LnVuZGVybHlpbmdQbGF0Zm9ybUV2ZW50KCk7CiAgICAgICAgIGlmIChwbGF0Zm9y
bUV2ZW50KSB7CiAgICAgICAgICAgICBhdXRvIGNvcGllZEV2ZW50ID0gcGxhdGZvcm1FdmVudC0+
Y29weVdpdGhEZWx0YXNBbmRWZWxvY2l0eShmaWx0ZXJlZFBsYXRmb3JtRGVsdGEud2lkdGgoKSwg
ZmlsdGVyZWRQbGF0Zm9ybURlbHRhLmhlaWdodCgpLCBmaWx0ZXJlZFZlbG9jaXR5KTsKLSAgICAg
ICAgICAgIGlmIChsYXRjaGVkU2Nyb2xsZXItPmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmco
Y29waWVkRXZlbnQpKQorICAgICAgICAgICAgaWYgKGxhdGNoZWRTY3JvbGxlci0+aGFuZGxlV2hl
ZWxFdmVudEZvclNjcm9sbGluZyhjb3BpZWRFdmVudCwgZXZlbnRIYW5kbGluZykpCiAgICAgICAg
ICAgICAgICAgd2hlZWxFdmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAoaGFuZGxlV2hlZWxFdmVu
dEluQXBwcm9wcmlhdGVFbmNsb3NpbmdCb3goc3RhcnROb2RlLCB3aGVlbEV2ZW50LCBmaWx0ZXJl
ZFBsYXRmb3JtRGVsdGEsIGZpbHRlcmVkVmVsb2NpdHkpKQorICAgIGlmIChoYW5kbGVXaGVlbEV2
ZW50SW5BcHByb3ByaWF0ZUVuY2xvc2luZ0JveChzdGFydE5vZGUsIHdoZWVsRXZlbnQsIGZpbHRl
cmVkUGxhdGZvcm1EZWx0YSwgZmlsdGVyZWRWZWxvY2l0eSwgZXZlbnRIYW5kbGluZykpCiAgICAg
ICAgIHdoZWVsRXZlbnQuc2V0RGVmYXVsdEhhbmRsZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmgKaW5kZXggOTBjNzg3YjY3ZTJmM2RjMjlkNDU4OGVlYmY1ODdmYTkzNTFkZTlk
OS4uOWJjZWI0ZWQzOTBiODg0YTI1Yzg4YTlmZjY5NjIyZThlOTQ1YjkxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5oCkBAIC00NTksNyArNDU5LDcgQEAgcHJpdmF0ZToKICAgICBib29s
IHBhc3NXaGVlbEV2ZW50VG9XaWRnZXQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgV2lkZ2V0
JiwgT3B0aW9uU2V0PFdoZWVsRXZlbnRQcm9jZXNzaW5nU3RlcHM+KTsKICAgICB2b2lkIGRldGVy
bWluZVdoZWVsRXZlbnRUYXJnZXQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgUmVmUHRyPEVs
ZW1lbnQ+JiBldmVudFRhcmdldCwgV2Vha1B0cjxTY3JvbGxhYmxlQXJlYT4mLCBib29sJiBpc092
ZXJXaWRnZXQpOwogICAgIHZvaWQgcmVjb3JkV2hlZWxFdmVudEZvckRlbHRhRmlsdGVyKGNvbnN0
IFBsYXRmb3JtV2hlZWxFdmVudCYpOwotICAgIGJvb2wgcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3Jv
bGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgY29uc3QgV2Vha1B0cjxTY3JvbGxhYmxl
QXJlYT4mKTsKKyAgICBib29sIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBs
YXRmb3JtV2hlZWxFdmVudCYsIGNvbnN0IFdlYWtQdHI8U2Nyb2xsYWJsZUFyZWE+JiwgT3B0aW9u
U2V0PEV2ZW50SGFuZGxpbmc+KTsKICAgICB2b2lkIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xs
U25hcChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBjb25zdCBXZWFrUHRyPFNjcm9sbGFibGVB
cmVhPiYpOwogICAgIGJvb2wgY29tcGxldGVXaWRnZXRXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3Jt
V2hlZWxFdmVudCYsIGNvbnN0IFdlYWtQdHI8V2lkZ2V0PiYsIGNvbnN0IFdlYWtQdHI8U2Nyb2xs
YWJsZUFyZWE+Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAzMDU4ZDkxZGU2
NWE5Y2MzOGQ1OTA2NzkwYWQzMmE3YzY3ODE4MmZiLi43NGYzMGVhYjcwYzE0YzM1NTUyOWE3N2Mx
ZmNkYzE4MzBhMTNjNmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC01MDk4LDcg
KzUwOTgsNyBAQCB2b2lkIEZyYW1lVmlldzo6cmVtb3ZlQ2hpbGQoV2lkZ2V0JiB3aWRnZXQpCiAg
ICAgU2Nyb2xsVmlldzo6cmVtb3ZlQ2hpbGQod2lkZ2V0KTsKIH0KIAotYm9vbCBGcmFtZVZpZXc6
OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3
aGVlbEV2ZW50KQorYm9vbCBGcmFtZVZpZXc6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmco
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBPcHRpb25TZXQ8RXZlbnRIYW5k
bGluZz4gZXZlbnRIYW5kbGluZykKIHsKICAgICAvLyBOb3RlIHRoYXQgdG8gYWxsb3cgZm9yIHJ1
YmJlci1iYW5kIG92ZXItc2Nyb2xsIGJlaGF2aW9yLCBldmVuIG5vbi1zY3JvbGxhYmxlIHZpZXdz
CiAgICAgLy8gc2hvdWxkIGhhbmRsZSB3aGVlbCBldmVudHMuCkBAIC01MTI4LDExICs1MTI4LDEx
IEBAIGJvb2wgRnJhbWVWaWV3OjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBs
YXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVuCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykK
ICAgICBpZiAoYXV0byBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3Jk
aW5hdG9yKCkpIHsKICAgICAgICAgaWYgKHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5jb29yZGluYXRl
c1Njcm9sbGluZ0ZvckZyYW1lVmlldygqdGhpcykpCi0gICAgICAgICAgICByZXR1cm4gc2Nyb2xs
aW5nQ29vcmRpbmF0b3ItPmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcod2hlZWxFdmVudCwg
c2Nyb2xsaW5nTm9kZUlEKCkpOworICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5h
dG9yLT5oYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQsIHNjcm9sbGluZ05v
ZGVJRCgpLCBldmVudEhhbmRsaW5nKTsKICAgICB9CiAjZW5kaWYKIAotICAgIHJldHVybiBTY3Jv
bGxhYmxlQXJlYTo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyh3aGVlbEV2ZW50KTsKKyAg
ICByZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcod2hl
ZWxFdmVudCwgZXZlbnRIYW5kbGluZyk7CiB9CiAKIGJvb2wgRnJhbWVWaWV3Ojppc1ZlcnRpY2Fs
RG9jdW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggYjIyZmE2Y2I4MmZi
YmUyMDBhMWM3NDJhZDAyZjUzZmRkYzVjZGMwMC4uY2EwMDhmODExMDE2NjQ1MWZjMWUyYzBjNzE1
YmM3Mzc1YjY0MzlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC01NjUsNyArNTY1LDcg
QEAgcHVibGljOgogICAgIC8vIFRoaXMgZnVuY3Rpb24gZXhpc3RzIGZvciBwb3J0cyB0aGF0IG5l
ZWQgdG8gaGFuZGxlIHdoZWVsIGV2ZW50cyBtYW51YWxseS4KICAgICAvLyBPbiBNYWMgV2ViS2l0
MSB0aGUgdW5kZXJseWluZyBOU1Njcm9sbFZpZXcganVzdCBkb2VzIHRoZSBzY3JvbGxpbmcsIGJ1
dCBvbiBtb3N0IG90aGVyIHBsYXRmb3JtcwogICAgIC8vIHdlIG5lZWQgdGhpcyBmdW5jdGlvbiBp
biBvcmRlciB0byBkbyB0aGUgc2Nyb2xsIG91cnNlbHZlcy4KLSAgICBib29sIGhhbmRsZVdoZWVs
RXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgZmluYWw7CisgICAg
Ym9vbCBoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYsIE9wdGlvblNldDxFdmVudEhhbmRsaW5nPikgZmluYWw7CiAKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldFNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoYm9vbCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBhZmQ3NmQyNTZl
ZDBjZjQ3ZTNlYWIzNDk4ZTQxNzZkYjY5NzI1MGU0Li5hN2NhYjIzN2YyMjVhMDE5Nzc0MGJjYmZj
MmJhZmUzNjM3ODVkMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVu
dEhhbmRsZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVy
TWFjLm1tCkBAIC0xNDcsNyArMTQ3LDkgQEAgYm9vbCBFdmVudEhhbmRsZXI6OndoZWVsRXZlbnQo
TlNFdmVudCAqZXZlbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEN1cnJlbnRFdmVu
dFNjb3BlIHNjb3BlKGV2ZW50LCBuaWwpOwotICAgIHJldHVybiBoYW5kbGVXaGVlbEV2ZW50KFBs
YXRmb3JtRXZlbnRGYWN0b3J5OjpjcmVhdGVQbGF0Zm9ybVdoZWVsRXZlbnQoZXZlbnQsIHBhZ2Ut
PmNocm9tZSgpLnBsYXRmb3JtUGFnZUNsaWVudCgpKSwgeyBXaGVlbEV2ZW50UHJvY2Vzc2luZ1N0
ZXBzOjpNYWluVGhyZWFkRm9yU2Nyb2xsaW5nLCBXaGVlbEV2ZW50UHJvY2Vzc2luZ1N0ZXBzOjpN
YWluVGhyZWFkRm9yQmxvY2tpbmdET01FdmVudERpc3BhdGNoIH0pOworICAgIGF1dG8gd2hlZWxF
dmVudCA9IFBsYXRmb3JtRXZlbnRGYWN0b3J5OjpjcmVhdGVQbGF0Zm9ybVdoZWVsRXZlbnQoZXZl
bnQsIHBhZ2UtPmNocm9tZSgpLnBsYXRmb3JtUGFnZUNsaWVudCgpKTsKKyAgICBPcHRpb25TZXQ8
V2hlZWxFdmVudFByb2Nlc3NpbmdTdGVwcz4gcHJvY2Vzc2luZ1N0ZXBzID0geyBXaGVlbEV2ZW50
UHJvY2Vzc2luZ1N0ZXBzOjpNYWluVGhyZWFkRm9yU2Nyb2xsaW5nLCBXaGVlbEV2ZW50UHJvY2Vz
c2luZ1N0ZXBzOjpNYWluVGhyZWFkRm9yQmxvY2tpbmdET01FdmVudERpc3BhdGNoIH07CisgICAg
cmV0dXJuIGhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCwgcHJvY2Vzc2luZ1N0ZXBzKTsKIH0K
IAogYm9vbCBFdmVudEhhbmRsZXI6OmtleUV2ZW50KE5TRXZlbnQgKmV2ZW50KQpAQCAtOTA0LDcg
KzkwNiw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpyZWNvcmRXaGVlbEV2ZW50Rm9yRGVsdGFGaWx0
ZXIoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlCiAgICAgcGFnZS0+d2hlZWxFdmVudERl
bHRhRmlsdGVyKCktPnVwZGF0ZUZyb21EZWx0YShGbG9hdFNpemUod2hlZWxFdmVudC5kZWx0YVgo
KSwgd2hlZWxFdmVudC5kZWx0YVkoKSkpOwogfQogCi1ib29sIEV2ZW50SGFuZGxlcjo6cHJvY2Vz
c1doZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2
ZW50LCBjb25zdCBXZWFrUHRyPFNjcm9sbGFibGVBcmVhPiYgc2Nyb2xsYWJsZUFyZWEpCitib29s
IEV2ZW50SGFuZGxlcjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBjb25zdCBXZWFrUHRyPFNjcm9sbGFibGVBcmVhPiYg
c2Nyb2xsYWJsZUFyZWEsIE9wdGlvblNldDxFdmVudEhhbmRsaW5nPiBldmVudEhhbmRsaW5nKQog
ewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxMYXRjaGluZywgc3RyZWFtIDw8ICJFdmVudEhh
bmRsZXI6OnByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nICIgPDwgd2hlZWxFdmVudCA8PCAi
IC0gc2Nyb2xsYWJsZUFyZWEgIiA8PCBWYWx1ZU9yTnVsbChzY3JvbGxhYmxlQXJlYS5nZXQoKSkg
PDwgIiB1c2UgbGF0Y2hlZCBlbGVtZW50ICIgPDwgd2hlZWxFdmVudC51c2VMYXRjaGVkRXZlbnRF
bGVtZW50KCkpOwogCkBAIC05MzksNyArOTQxLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OnByb2Nl
c3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWwK
IAogICAgICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsTGF0Y2hpbmcsIHN0cmVhbSA8PCAiIHNl
bmRpbmcgdG8gdmlldyAiIDw8ICp2aWV3KTsKIAotICAgICAgICBib29sIGRpZEhhbmRsZVdoZWVs
RXZlbnQgPSB2aWV3LT5oYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQpOwor
ICAgICAgICBib29sIGRpZEhhbmRsZVdoZWVsRXZlbnQgPSB2aWV3LT5oYW5kbGVXaGVlbEV2ZW50
Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQsIGV2ZW50SGFuZGxpbmcpOwogICAgICAgICAvLyBJZiB0
aGUgcGxhdGZvcm0gd2lkZ2V0IGlzIGhhbmRsaW5nIHRoZSBldmVudCwgd2UgYWx3YXlzIHdhbnQg
dG8gcmV0dXJuIGZhbHNlLgogICAgICAgICBpZiAodmlldy0+cGxhdGZvcm1XaWRnZXQoKSkKICAg
ICAgICAgICAgIGRpZEhhbmRsZVdoZWVsRXZlbnQgPSBmYWxzZTsKQEAgLTk0OCw3ICs5NTAsNyBA
QCBib29sIEV2ZW50SGFuZGxlcjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbAogICAgICAgICByZXR1cm4gZGlkSGFuZGxlV2hlZWxF
dmVudDsKICAgICB9CiAgICAgCi0gICAgYm9vbCBkaWRIYW5kbGVFdmVudCA9IHZpZXctPmhhbmRs
ZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcod2hlZWxFdmVudCk7CisgICAgYm9vbCBkaWRIYW5kbGVF
dmVudCA9IHZpZXctPmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcod2hlZWxFdmVudCwgZXZl
bnRIYW5kbGluZyk7CiAgICAgbV9pc0hhbmRsaW5nV2hlZWxFdmVudCA9IGZhbHNlOwogICAgIHJl
dHVybiBkaWRIYW5kbGVFdmVudDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IGE1MDBlODJhOWJmM2E2ZTQyZjE3
NjM2OTNlMDQyYmIwOTIxMDY0MWYuLmU4NTYyODMwNGI5NzJjY2ZjMDdiYjBhNGQ2ZWYyMWU1YmNh
NzY5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGVz
ZSB2aXJ0dWFsIGZ1bmN0aW9ucyBhcmUgY3VycmVudGx5IHVuaXF1ZSB0byB0aGUgdGhyZWFkZWQg
c2Nyb2xsaW5nIGFyY2hpdGVjdHVyZS4gCiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdFRyZWVTdGF0
ZUlmTmVlZGVkKCkgeyB9CiAgICAgdmlydHVhbCBib29sIHJlcXVlc3RTY3JvbGxQb3NpdGlvblVw
ZGF0ZShTY3JvbGxhYmxlQXJlYSYsIGNvbnN0IEludFBvaW50JiwgU2Nyb2xsVHlwZSA9IFNjcm9s
bFR5cGU6OlByb2dyYW1tYXRpYywgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGluZzo6Q2xh
bXBlZCkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlV2hlZWxFdmVu
dEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxpbmdOb2RlSUQp
IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGhhbmRsZVdoZWVsRXZlbnRGb3JT
Y3JvbGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgU2Nyb2xsaW5nTm9kZUlELCBPcHRp
b25TZXQ8RXZlbnRIYW5kbGluZz4pIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lk
IHdoZWVsRXZlbnRXYXNQcm9jZXNzZWRCeU1haW5UaHJlYWQoY29uc3QgUGxhdGZvcm1XaGVlbEV2
ZW50JiwgT3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+KSB7IH0KIAogICAgIC8vIENyZWF0ZSBhbiB1
bnBhcmVudGVkIG5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAppbmRleCAyOWYwZDI0YTMyZTllOTIyMDNjZjA0
NzljODM0ZTlhN2NmYzY0OGY1Li5mOTRiMmU0NDlkODg1NjhiYTU0OTg2NGIxZjAzYzM4ZWFmZDlm
NmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNj
cm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVh
ZGVkU2Nyb2xsaW5nVHJlZS5jcHAKQEAgLTY0LDcgKzY0LDcgQEAgV2hlZWxFdmVudEhhbmRsaW5n
UmVzdWx0IFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0
Zm9ybVcKICAgICByZXR1cm4gU2Nyb2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2
ZW50LCBwcm9jZXNzaW5nU3RlcHMpOwogfQogCi1ib29sIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6
aGFuZGxlV2hlZWxFdmVudEFmdGVyTWFpblRocmVhZChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
IHdoZWVsRXZlbnQsIFNjcm9sbGluZ05vZGVJRCB0YXJnZXROb2RlSUQpCitib29sIFRocmVhZGVk
U2Nyb2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxFdmVudEFmdGVyTWFpblRocmVhZChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQsIFNjcm9sbGluZ05vZGVJRCB0YXJnZXROb2RlSUQs
IE9wdGlvblNldDxFdmVudEhhbmRsaW5nPikKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xs
aW5nLCBzdHJlYW0gPDwgIlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxFdmVudEFm
dGVyTWFpblRocmVhZCAiIDw8IHdoZWVsRXZlbnQgPDwgIiBub2RlICIgPDwgdGFyZ2V0Tm9kZUlE
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRT
Y3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNj
cm9sbGluZ1RyZWUuaAppbmRleCA1ZjBhNzU1NDQyZmI0YTFiMDI5NmI0ZDViNWMwNDExMDRjM2Y0
ZWFmLi41YTcwY2E1ZWI2ZDI2ZGYyYzUxOTgyZDk3ZTYyNDMzNTQwNWJkOWE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUu
aApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAKICAgICBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1
bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBPcHRpb25TZXQ8
V2hlZWxFdmVudFByb2Nlc3NpbmdTdGVwcz4pIG92ZXJyaWRlOwogCi0gICAgYm9vbCBoYW5kbGVX
aGVlbEV2ZW50QWZ0ZXJNYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFNjcm9s
bGluZ05vZGVJRCk7CisgICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50QWZ0ZXJNYWluVGhyZWFkKGNv
bnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFNjcm9sbGluZ05vZGVJRCwgT3B0aW9uU2V0PEV2ZW50
SGFuZGxpbmc+KTsKICAgICB2b2lkIHdoZWVsRXZlbnRXYXNQcm9jZXNzZWRCeU1haW5UaHJlYWQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgT3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+KTsKIAog
ICAgIHZvaWQgaW52YWxpZGF0ZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaAppbmRl
eCBhZTZmNGU0ZTRkNGUzYzMzMDUyYmU5YjkyOTQ4YmQ3MWZiZmY1M2YwLi4yMWZlZGE5MWJiZTNl
MzVlYWQzMGQ2YjQ1YzY3NTJjZjFhMWZhYjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaApAQCAt
NDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb21taXRUcmVlU3RhdGVJZk5lZWRlZCgp
IGZpbmFsOwogCiAgICAgLy8gSGFuZGxlIHRoZSB3aGVlbCBldmVudCBvbiB0aGUgc2Nyb2xsaW5n
IHRocmVhZC4gUmV0dXJucyB3aGV0aGVyIHRoZSBldmVudCB3YXMgaGFuZGxlZCBvciBub3QuCi0g
ICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYsIFNjcm9sbGluZ05vZGVJRCkgZmluYWw7CisgICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50
Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFNjcm9sbGluZ05vZGVJRCwg
T3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+KSBmaW5hbDsKICAgICB2b2lkIHdoZWVsRXZlbnRXYXNQ
cm9jZXNzZWRCeU1haW5UaHJlYWQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgT3B0aW9uU2V0
PEV2ZW50SGFuZGxpbmc+KSBmaW5hbDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5t
bQppbmRleCA0NzZmNGU2YmFhOGJjZDY3MDE2ZjFlNzJiYjhjZDRmOGE0NWUwYTEyLi4yMjAwMWVk
NDc2M2RmYzA1OTE4NTA2MTgyNDE1NDM2ZmI0Y2JjOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tCkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnBhZ2VE
ZXN0cm95ZWQoKQogICAgIH0pOwogfQogCi1ib29sIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpo
YW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hl
ZWxFdmVudCwgU2Nyb2xsaW5nTm9kZUlEIHRhcmdldE5vZGVJRCkKK2Jvb2wgU2Nyb2xsaW5nQ29v
cmRpbmF0b3JNYWM6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBTY3JvbGxpbmdOb2RlSUQgdGFyZ2V0Tm9kZUlELCBPcHRp
b25TZXQ8RXZlbnRIYW5kbGluZz4gZXZlbnRIYW5kbGluZykKIHsKICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwogICAgIEFTU0VSVChtX3BhZ2UpOwpAQCAtODQsOCArODQsOCBAQCBib29sIFNj
cm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0
IFBsYXRmb3JtV2hlZWxFdgogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8
PCAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcg
LSBzZW5kaW5nIGV2ZW50IHRvIHNjcm9sbGluZyB0aHJlYWQsIG5vZGUgIiA8PCB0YXJnZXROb2Rl
SUQpOwogICAgIAogICAgIFJlZlB0cjxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+IHRocmVhZGVkU2Ny
b2xsaW5nVHJlZSA9IGRvd25jYXN0PFRocmVhZGVkU2Nyb2xsaW5nVHJlZT4oc2Nyb2xsaW5nVHJl
ZSgpKTsKLSAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFt0aHJlYWRlZFNjcm9sbGluZ1Ry
ZWUsIHdoZWVsRXZlbnQsIHRhcmdldE5vZGVJRF0gewotICAgICAgICB0aHJlYWRlZFNjcm9sbGlu
Z1RyZWUtPmhhbmRsZVdoZWVsRXZlbnRBZnRlck1haW5UaHJlYWQod2hlZWxFdmVudCwgdGFyZ2V0
Tm9kZUlEKTsKKyAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFt0aHJlYWRlZFNjcm9sbGlu
Z1RyZWUsIHdoZWVsRXZlbnQsIHRhcmdldE5vZGVJRCwgZXZlbnRIYW5kbGluZ10geworICAgICAg
ICB0aHJlYWRlZFNjcm9sbGluZ1RyZWUtPmhhbmRsZVdoZWVsRXZlbnRBZnRlck1haW5UaHJlYWQo
d2hlZWxFdmVudCwgdGFyZ2V0Tm9kZUlELCBldmVudEhhbmRsaW5nKTsKICAgICB9KTsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L25pY29zaWEvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lhLmNwcApp
bmRleCBiODExNWU4M2NjNzhlNGY3ZDkzYmIyOWM5MDQyNmNkOWY3ZTMxZTgzLi4wMTVkYzM0MTQ4
Mjc2M2YxMTJmMmRiYmJkNTM2NWM5YzU2N2VlNmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29y
ZGluYXRvck5pY29zaWEuY3BwCkBAIC02OSw3ICs2OSw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JOaWNvc2lhOjpjb21taXRUcmVlU3RhdGVJZk5lZWRlZCgpCiAgICAgbV9zY3JvbGxpbmdT
dGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdG9wKCk7CiB9CiAKLWJvb2wgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JOaWNvc2lhOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3Jt
V2hlZWxFdmVudCYgd2hlZWxFdmVudCwgU2Nyb2xsaW5nTm9kZUlEIHRhcmdldE5vZGUpCitib29s
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYTo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGlu
Zyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQsIFNjcm9sbGluZ05vZGVJRCB0
YXJnZXROb2RlLCBPcHRpb25TZXQ8RXZlbnRIYW5kbGluZz4pCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKICAgICBBU1NFUlQobV9wYWdlKTsKQEAgLTgxLDEwICs4MSwxMCBAQCBib29s
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYTo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGlu
Zyhjb25zdCBQbGF0Zm9ybVdoZQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yTmljb3NpYTo6d2hlZWxFdmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVhZChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQsIE9wdGlvblNldDxFdmVudEhhbmRs
aW5nPiBkZWZhdWx0SGFuZGxpbmcpCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYTo6
d2hlZWxFdmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVhZChjb25zdCBQbGF0Zm9ybVdoZWVsRXZl
bnQmIHdoZWVsRXZlbnQsIE9wdGlvblNldDxFdmVudEhhbmRsaW5nPiBldmVudEhhbmRsaW5nKQog
ewotICAgIFNjcm9sbGluZ1RocmVhZDo6ZGlzcGF0Y2goW3RocmVhZGVkU2Nyb2xsaW5nVHJlZSA9
IG1ha2VSZWYoZG93bmNhc3Q8VGhyZWFkZWRTY3JvbGxpbmdUcmVlPigqc2Nyb2xsaW5nVHJlZSgp
KSksIHdoZWVsRXZlbnQsIGRlZmF1bHRIYW5kbGluZ10gewotICAgICAgICB0aHJlYWRlZFNjcm9s
bGluZ1RyZWUtPndoZWVsRXZlbnRXYXNQcm9jZXNzZWRCeU1haW5UaHJlYWQod2hlZWxFdmVudCwg
ZGVmYXVsdEhhbmRsaW5nKTsKKyAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFt0aHJlYWRl
ZFNjcm9sbGluZ1RyZWUgPSBtYWtlUmVmKGRvd25jYXN0PFRocmVhZGVkU2Nyb2xsaW5nVHJlZT4o
KnNjcm9sbGluZ1RyZWUoKSkpLCB3aGVlbEV2ZW50LCBldmVudEhhbmRsaW5nXSB7CisgICAgICAg
IHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+d2hlZWxFdmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVh
ZCh3aGVlbEV2ZW50LCBldmVudEhhbmRsaW5nKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRv
ck5pY29zaWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JOaWNvc2lhLmgKaW5kZXggNGZhMTc0ZTU1ZWEyMzZkZGFkOGE3YzNiNDBh
MDZmZDZhMTM3NWVmNi4uYTM5YTYwNDQyMDZkMjFlOTY0ZTIyNmJlYWYzMmI2NWQ4MTdiODRlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxp
bmdDb29yZGluYXRvck5pY29zaWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5oCkBAIC00NCw3ICs0NCw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgY29tbWl0VHJlZVN0YXRlSWZOZWVkZWQoKSBvdmVycmlkZTsK
IAotICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmLCBTY3JvbGxpbmdOb2RlSUQpIG92ZXJyaWRlOworICAgIGJvb2wgaGFuZGxlV2hl
ZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxpbmdO
b2RlSUQsIE9wdGlvblNldDxFdmVudEhhbmRsaW5nPikgb3ZlcnJpZGU7CiAgICAgdm9pZCB3aGVl
bEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYs
IE9wdGlvblNldDxFdmVudEhhbmRsaW5nPikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggYWQ0NzMyOWFlMGU1NGNi
NGNkMTMwODM5YTJmZDgyZjMyYmQ2ODVmNi4uODAxNjZhNTIyMjg0NWE3MzRlOTA2YTNmM2M5YmFj
Yzk2ODU4MTcxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cApAQCAtMjAzLDcgKzIwMyw3IEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9zaXRpb24pCiAgICAgICAgIHNjcm9sbEFu
aW1hdG9yKCkubm90aWZ5Q29udGVudEFyZWFTY3JvbGxlZChzY3JvbGxQb3NpdGlvbigpIC0gb2xk
UG9zaXRpb24pOwogfQogCi1ib29sIFNjcm9sbGFibGVBcmVhOjpoYW5kbGVXaGVlbEV2ZW50Rm9y
U2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKK2Jvb2wgU2Ny
b2xsYWJsZUFyZWE6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBPcHRpb25TZXQ8RXZlbnRIYW5kbGluZz4pCiB7CiAgICAg
aWYgKCFpc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDQzODNiNzZj
YWY3MDc0ODYwMWRhODUwYTcxNDc4ZDQzNTAxMDExZDMuLjVhNzM4Yjg4NmQwZjIzMDAyOGViZTQ5
NmU3ZTAwMzFjOTQwNDY5NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuaApAQCAtNDgsNiArNDgsOCBAQCBjbGFzcyBTY3JvbGxBbmltYXRvcjsKIGNsYXNzIEdyYXBo
aWNzTGF5ZXI7CiBjbGFzcyBUaWxlZEJhY2tpbmc7CiAKK2VudW0gY2xhc3MgRXZlbnRIYW5kbGlu
ZyA6IHVpbnQ4X3Q7CisKIGlubGluZSBpbnQgb2Zmc2V0Rm9yT3JpZW50YXRpb24oU2Nyb2xsT2Zm
c2V0IG9mZnNldCwgU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24pCiB7CiAgICAgc3dp
dGNoIChvcmllbnRhdGlvbikgewpAQCAtODIsNyArODQsNyBAQCBwdWJsaWM6CiAgICAgLy8gZXhw
ZWN0IGl0IHRvIGhhcHBlbiBzb21ldGltZSBpbiB0aGUgZnV0dXJlLgogICAgIHZpcnR1YWwgYm9v
bCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoY29uc3QgU2Nyb2xsUG9zaXRpb24mLCBTY3Jv
bGxUeXBlID0gU2Nyb2xsVHlwZTo6VXNlciwgU2Nyb2xsQ2xhbXBpbmcgPSBTY3JvbGxDbGFtcGlu
Zzo6Q2xhbXBlZCkgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1
YWwgYm9vbCBoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9vbCBoYW5kbGVXaGVlbEV2ZW50
Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIE9wdGlvblNldDxFdmVudEhh
bmRsaW5nPik7CiAKICAgICBib29sIHVzZXNTY3JvbGxTbmFwKCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDUyNDNlYTFjMWIwNDMxMWYyY2I0
MjJlZTIxY2VjMjdmYjNkNWZkZTguLjhlZDUzMmU4N2Q5ZDY4MWQyYzRlYzkwYjE4MTNlYzI4MDg0
YWMzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzE2
NSw3ICszMTY1LDcgQEAgU2Nyb2xsaW5nTm9kZUlEIFJlbmRlckxheWVyOjpzY3JvbGxpbmdOb2Rl
SUQoKSBjb25zdAogICAgIHJldHVybiBiYWNraW5nKCktPnNjcm9sbGluZ05vZGVJREZvclJvbGUo
U2Nyb2xsQ29vcmRpbmF0aW9uUm9sZTo6U2Nyb2xsaW5nKTsKIH0KIAotYm9vbCBSZW5kZXJMYXll
cjo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
IHdoZWVsRXZlbnQpCitib29sIFJlbmRlckxheWVyOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xs
aW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgT3B0aW9uU2V0PEV2ZW50
SGFuZGxpbmc+IGV2ZW50SGFuZGxpbmcpCiB7CiAgICAgaWYgKCFpc1Njcm9sbGFibGVPclJ1YmJl
cmJhbmRhYmxlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMxNzMsMTEgKzMxNzMsMTEg
QEAgYm9vbCBSZW5kZXJMYXllcjo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXYKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQog
ICAgIGlmICh1c2VzQXN5bmNTY3JvbGxpbmcoKSAmJiBzY3JvbGxpbmdOb2RlSUQoKSkgewogICAg
ICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlKCkuc2Nyb2xsaW5nQ29v
cmRpbmF0b3IoKSkKLSAgICAgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+aGFu
ZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyh3aGVlbEV2ZW50LCBzY3JvbGxpbmdOb2RlSUQoKSk7
CisgICAgICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmhhbmRsZVdoZWVsRXZl
bnRGb3JTY3JvbGxpbmcod2hlZWxFdmVudCwgc2Nyb2xsaW5nTm9kZUlEKCksIGV2ZW50SGFuZGxp
bmcpOwogICAgIH0KICNlbmRpZgogCi0gICAgcmV0dXJuIFNjcm9sbGFibGVBcmVhOjpoYW5kbGVX
aGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQpOworICAgIHJldHVybiBTY3JvbGxhYmxl
QXJlYTo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyh3aGVlbEV2ZW50LCBldmVudEhhbmRs
aW5nKTsKIH0KIAogSW50UmVjdCBSZW5kZXJMYXllcjo6dmlzaWJsZUNvbnRlbnRSZWN0SW50ZXJu
YWwoVmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkZXNTY3JvbGxiYXJzIHNjcm9sbGJhckluY2x1c2lv
biwgVmlzaWJsZUNvbnRlbnRSZWN0QmVoYXZpb3IpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5oCmluZGV4IGExNWQ1MWJmZmY1YzNkYzg5ZTRkMDE3YjU5YjFjZmNmOWYz
NzY1MTAuLmFhZWQxNTJlMWJkMTI3MTg3ZGRmYjU5OWFjMWNlODI3N2EwZTVhODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00OTMsNyArNDkzLDcgQEAgcHVibGlj
OgogICAgIFNjcm9sbGJhciogdmVydGljYWxTY3JvbGxiYXIoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX3ZCYXIuZ2V0KCk7IH0KICAgICBTY3JvbGxhYmxlQXJlYSogZW5jbG9zaW5nU2Nyb2xsYWJs
ZUFyZWEoKSBjb25zdCBmaW5hbDsKIAotICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudEZvclNjcm9s
bGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBmaW5hbDsKKyAgICBib29sIGhhbmRsZVdo
ZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgT3B0aW9uU2V0
PEV2ZW50SGFuZGxpbmc+KSBmaW5hbDsKICAgICBib29sIGlzU2Nyb2xsYWJsZU9yUnViYmVyYmFu
ZGFibGUoKSBmaW5hbDsKICAgICBib29sIGhhc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQW5j
ZXN0b3IoKSBmaW5hbDsKICAgICBib29sIHVzZURhcmtBcHBlYXJhbmNlKCkgY29uc3QgZmluYWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1
Z2luLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5t
bQppbmRleCA2ODg0ODk3YjJmMzdlOGNhYjYzMzg0MGU2YjlkYTEwOWI4MzliZTYwLi5iODM2YTE3
MDIwYjM3ODAzYjUyNTJmOGYxZTkwM2U2NDI0YTBiOGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KQEAgLTI5MzgsNyArMjkzOCw3
IEBAIGJvb2wgUERGUGx1Z2luOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdlYldoZWVsRXZlbnQm
IGV2ZW50KQogICAgIFBERkRpc3BsYXlNb2RlIGRpc3BsYXlNb2RlID0gW21fcGRmTGF5ZXJDb250
cm9sbGVyIGRpc3BsYXlNb2RlXTsKIAogICAgIGlmIChkaXNwbGF5TW9kZSA9PSBrUERGRGlzcGxh
eVNpbmdsZVBhZ2VDb250aW51b3VzIHx8IGRpc3BsYXlNb2RlID09IGtQREZEaXNwbGF5VHdvVXBD
b250aW51b3VzKQotICAgICAgICByZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVdoZWVsRXZl
bnRGb3JTY3JvbGxpbmcocGxhdGZvcm0oZXZlbnQpKTsKKyAgICAgICAgcmV0dXJuIFNjcm9sbGFi
bGVBcmVhOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKHBsYXRmb3JtKGV2ZW50KSwgeyB9
KTsKIAogICAgIE5TVUludGVnZXIgY3VycmVudFBhZ2VJbmRleCA9IFttX3BkZkxheWVyQ29udHJv
bGxlciBjdXJyZW50UGFnZUluZGV4XTsKICAgICBib29sIGluRmlyc3RQYWdlID0gIWN1cnJlbnRQ
YWdlSW5kZXg7CkBAIC0yOTcxLDcgKzI5NzEsNyBAQCBib29sIFBERlBsdWdpbjo6aGFuZGxlV2hl
ZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50JiBldmVudCkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQogCi0gICAgcmV0dXJuIFNjcm9sbGFibGVBcmVhOjpoYW5kbGVXaGVlbEV2ZW50Rm9y
U2Nyb2xsaW5nKHBsYXRmb3JtKGV2ZW50KSk7CisgICAgcmV0dXJuIFNjcm9sbGFibGVBcmVhOjpo
YW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKHBsYXRmb3JtKGV2ZW50KSwgeyB9KTsKIH0KIAog
TlNEYXRhICpQREZQbHVnaW46OmxpdmVEYXRhKCkgY29uc3QK
</data>
<flag name="review"
          id="432140"
          type_id="1"
          status="+"
          setter="thorton"
    />
    <flag name="commit-queue"
          id="432148"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415067</attachid>
            <date>2020-11-30 15:31:28 -0800</date>
            <delta_ts>2020-11-30 17:29:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219373-20201130153127.patch</filename>
            <type>text/plain</type>
            <size>28919</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhkYzQzNDgwYzlmMjZm
OGNkZDg5NjY5MzUxMjMxNjliYTQ4N2M3NC4uZDkzMmJlYzJkZWJiMTYwYjJkOWExMWRiYjNlMzZj
YTVlM2UzOGIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIwLTExLTMwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBhc3MgT3B0aW9u
U2V0PEV2ZW50SGFuZGxpbmc+IHRvIHZhcmlvdXMgd2hlZWwgZXZlbnQgaGFuZGxlciBmdW5jdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTM3
MworCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgRml4aW5nIHdl
YmtpdC5vcmcvYi8yMTg3NjQgd2lsbCByZXF1aXJlIHRoYXQgY29kZSB0aGF0IGRpc3BhdGNoZXMg
d2hlZWwgZXZlbnRzCisgICAgICAgIGNhbiB0ZWxsIGxhdGVyIHdoZXRoZXIgc2NyaXB0IGNhbGxl
ZCBwcmV2ZW50RGVmYXVsdCgpIG9uIHRoZSBldmVudCwgc2luY2UgdGhpcworICAgICAgICB3aWxs
IGFmZmVjdCB3aGV0aGVyIHRoZSByZXN0IG9mIHRoZSB3aGVlbCBldmVudHMgaW4gYSBnZXN0dXJl
IGFyZSBjYW5jZWxhYmxlLgorCisgICAgICAgIFRvIHByZXBhcmUgZm9yIHRoaXMsIHBhc3MgT3B0
aW9uU2V0PEV2ZW50SGFuZGxpbmc+IGFyb3VuZCBpbiBldmVudCBoYW5kbGluZworICAgICAgICBj
b2RlLgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGRvbS9FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmRpc3BhdGNoV2hlZWxFdmVudCk6
CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFu
ZGxlV2hlZWxFdmVudEluQXBwcm9wcmlhdGVFbmNsb3NpbmdCb3gpOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbGluZyk6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50SW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpkZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5n
KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHBhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6d2hlZWxFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnByb2Nlc3NXaGVlbEV2ZW50Rm9y
U2Nyb2xsaW5nKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmhhbmRsZVdoZWVs
RXZlbnRGb3JTY3JvbGxpbmcpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Ny
b2xsaW5nVHJlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6
OmhhbmRsZVdoZWVsRXZlbnRBZnRlck1haW5UaHJlYWQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z0Nvb3JkaW5hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWE6OmhhbmRsZVdo
ZWVsRXZlbnRGb3JTY3JvbGxpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRp
bmF0b3JOaWNvc2lhOjp3aGVlbEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5o
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGFibGVBcmVhOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGFuZGxlV2hlZWxF
dmVudEZvclNjcm9sbGluZyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisK
IDIwMjAtMTEtMzAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyMDc0NzA1MzA5ZWU2ZTQy
NGQxY2UxMTM4NWFmODY1MWYxYjdkNWIuLmI3YzE4OTljN2Q4MmQ4NTZjNWQzODU2NDMwNThmMjM4
NDAwOGFmZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMTEtMzAgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUGFzcyBPcHRpb25TZXQ8
RXZlbnRIYW5kbGluZz4gdG8gdmFyaW91cyB3aGVlbCBldmVudCBoYW5kbGVyIGZ1bmN0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MzczCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
UGx1Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46Omhh
bmRsZVdoZWVsRXZlbnQpOgorCiAyMDIwLTExLTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdGhyb3R0bGluZyBjb2RlIGZyb20gTmV0d29ya0xv
YWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBkNjFjN2Y2OTU0MTJhNTViMTY0NjMwZjdlZGNl
OWNjZjNiNTE4NzFlLi4wYjRjOWQ4ZGNiZTk2MDdhMmZkZmYwZDIyOGEwNGJiOTQ2ZDc1MDJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC00MzcsNyArNDM3LDcgQEAgYm9vbCBFbGVtZW50Ojpk
aXNwYXRjaFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBwbGF0Zm9ybUV2ZW50
LCBPcHRpb24KIAogICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIAotICAgIExPR19XSVRI
X1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiRWxlbWVudCAiIDw8ICp0aGlzIDw8ICIgZGlz
cGF0Y2hXaGVlbEV2ZW50OiBkZWZhdWx0UHJldmVudGVkICIgPDwgZXZlbnQtPmRlZmF1bHRQcmV2
ZW50ZWQoKSA8PCAiIGRlZmF1bHRIYW5kbGVkICIgPDwgZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCkp
OworICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiRWxlbWVudCAiIDw8
ICp0aGlzIDw8ICIgZGlzcGF0Y2hXaGVlbEV2ZW50OiAoY2FuY2VsYWJsZSAiIDw8IGV2ZW50LT5j
YW5jZWxhYmxlKCkgPDwgIikgZGVmYXVsdFByZXZlbnRlZCAiIDw8IGV2ZW50LT5kZWZhdWx0UHJl
dmVudGVkKCkgPDwgIiBkZWZhdWx0SGFuZGxlZCAiIDw8IGV2ZW50LT5kZWZhdWx0SGFuZGxlZCgp
KTsKICAgICAKICAgICBpZiAoZXZlbnQtPmRlZmF1bHRQcmV2ZW50ZWQoKSkKICAgICAgICAgcHJv
Y2Vzc2luZy5hZGQoRXZlbnRIYW5kbGluZzo6RGVmYXVsdFByZXZlbnRlZCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggNjVlYjIwOWQ0ZDM3YTYzYWRhZTI5MzA1ZDJmZjQ3
YTBlMjVkYjE1ZC4uNTFhZGIwMGJmYWM1YTBkZWU0OWQ2ZDMyNWYzOGY5ZDMzMGM2MzU3MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMzE1LDcgKzMxNSw3IEBAIHN0YXRp
YyBib29sIGRpZFNjcm9sbEluU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFi
bGVBcmVhLCBjb25zdCBXaGVlCiAgICAgcmV0dXJuIGRpZEhhbmRsZVdoZWVsRXZlbnQ7CiB9CiAK
LXN0YXRpYyBib29sIGhhbmRsZVdoZWVsRXZlbnRJbkFwcHJvcHJpYXRlRW5jbG9zaW5nQm94KE5v
ZGUqIHN0YXJ0Tm9kZSwgY29uc3QgV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgY29uc3QgRmxvYXRT
aXplJiBmaWx0ZXJlZFBsYXRmb3JtRGVsdGEsIGNvbnN0IEZsb2F0U2l6ZSYgZmlsdGVyZWRWZWxv
Y2l0eSkKK3N0YXRpYyBib29sIGhhbmRsZVdoZWVsRXZlbnRJbkFwcHJvcHJpYXRlRW5jbG9zaW5n
Qm94KE5vZGUqIHN0YXJ0Tm9kZSwgY29uc3QgV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgY29uc3Qg
RmxvYXRTaXplJiBmaWx0ZXJlZFBsYXRmb3JtRGVsdGEsIGNvbnN0IEZsb2F0U2l6ZSYgZmlsdGVy
ZWRWZWxvY2l0eSwgT3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+IGV2ZW50SGFuZGxpbmcpCiB7CiAg
ICAgYm9vbCBzaG91bGRIYW5kbGVFdmVudCA9IHdoZWVsRXZlbnQuZGVsdGFYKCkgfHwgd2hlZWxF
dmVudC5kZWx0YVkoKTsKICNpZiBFTkFCTEUoV0hFRUxfRVZFTlRfTEFUQ0hJTkcpCkBAIC0zNDYs
NyArMzQ2LDcgQEAgc3RhdGljIGJvb2wgaGFuZGxlV2hlZWxFdmVudEluQXBwcm9wcmlhdGVFbmNs
b3NpbmdCb3goTm9kZSogc3RhcnROb2RlLCBjb25zdCBXaGUKICAgICAgICAgICAgIGJvb2wgc2Ny
b2xsaW5nV2FzSGFuZGxlZDsKICAgICAgICAgICAgIGlmIChwbGF0Zm9ybUV2ZW50KSB7CiAgICAg
ICAgICAgICAgICAgYXV0byBjb3BpZWRFdmVudCA9IHBsYXRmb3JtRXZlbnQtPmNvcHlXaXRoRGVs
dGFzQW5kVmVsb2NpdHkoZmlsdGVyZWRQbGF0Zm9ybURlbHRhLndpZHRoKCksIGZpbHRlcmVkUGxh
dGZvcm1EZWx0YS5oZWlnaHQoKSwgZmlsdGVyZWRWZWxvY2l0eSk7Ci0gICAgICAgICAgICAgICAg
c2Nyb2xsaW5nV2FzSGFuZGxlZCA9IGJveExheWVyLT5oYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xs
aW5nKGNvcGllZEV2ZW50KTsKKyAgICAgICAgICAgICAgICBzY3JvbGxpbmdXYXNIYW5kbGVkID0g
Ym94TGF5ZXItPmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29waWVkRXZlbnQsIGV2ZW50
SGFuZGxpbmcpOwogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2Nyb2xsaW5n
V2FzSGFuZGxlZCA9IGRpZFNjcm9sbEluU2Nyb2xsYWJsZUFyZWEoKmJveExheWVyLCB3aGVlbEV2
ZW50KTsKIApAQCAtMjc4MCwxNCArMjc4MCwxNCBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6cmVjb3Jk
V2hlZWxFdmVudEZvckRlbHRhRmlsdGVyKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZlbgog
ICAgICAgICBwYWdlLT53aGVlbEV2ZW50RGVsdGFGaWx0ZXIoKS0+dXBkYXRlRnJvbURlbHRhKEZs
b2F0U2l6ZShldmVudC5kZWx0YVgoKSwgZXZlbnQuZGVsdGFZKCkpKTsKIH0KIAotYm9vbCBFdmVu
dEhhbmRsZXI6OnByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgZXZlbnQsIGNvbnN0IFdlYWtQdHI8U2Nyb2xsYWJsZUFyZWE+JikKK2Jvb2wgRXZl
bnRIYW5kbGVyOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmIGV2ZW50LCBjb25zdCBXZWFrUHRyPFNjcm9sbGFibGVBcmVhPiYsIE9wdGlvblNl
dDxFdmVudEhhbmRsaW5nPiBldmVudEhhbmRsaW5nKQogewogICAgIFJlZjxGcmFtZT4gcHJvdGVj
dGVkRnJhbWUobV9mcmFtZSk7CiAKICAgICAvLyBXZSBkbyBhbm90aGVyIGNoZWNrIG9uIHRoZSBm
cmFtZSB2aWV3IGJlY2F1c2UgdGhlIGV2ZW50IGhhbmRsZXIgY2FuIHJ1biBKUyB3aGljaCByZXN1
bHRzIGluIHRoZSBmcmFtZSBnZXR0aW5nIGRlc3Ryb3llZC4KICAgICBGcmFtZVZpZXcqIHZpZXcg
PSBtX2ZyYW1lLnZpZXcoKTsKICAgICAKLSAgICBib29sIGRpZEhhbmRsZUV2ZW50ID0gdmlldyA/
IHZpZXctPmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoZXZlbnQpIDogZmFsc2U7CisgICAg
Ym9vbCBkaWRIYW5kbGVFdmVudCA9IHZpZXcgPyB2aWV3LT5oYW5kbGVXaGVlbEV2ZW50Rm9yU2Ny
b2xsaW5nKGV2ZW50LCBldmVudEhhbmRsaW5nKSA6IGZhbHNlOwogICAgIG1faXNIYW5kbGluZ1do
ZWVsRXZlbnQgPSBmYWxzZTsKICAgICByZXR1cm4gZGlkSGFuZGxlRXZlbnQ7CiB9CkBAIC0yODY5
LDYgKzI4NjksNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8VwogewogICAgIE9wdGlvblNldDxF
dmVudEhhbmRsaW5nPiBoYW5kbGluZzsKICAgICBib29sIGhhbmRsZWQgPSBoYW5kbGVXaGVlbEV2
ZW50SW50ZXJuYWwoZXZlbnQsIHByb2Nlc3NpbmdTdGVwcywgaGFuZGxpbmcpOworICAgIC8vIHdo
ZWVsRXZlbnRXYXNQcm9jZXNzZWRCeU1haW5UaHJlYWQoKSBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4g
Y2FsbGVkIHZpYSBwZXJmb3JtRGVmYXVsdFdoZWVsRXZlbnRIYW5kbGluZygpLCBidXQgdGhpcyBl
bnN1cmVzIHRoYXQgaXQncyBhbHdheXMgY2FsbGVkIGlmIHRoYXQgY29kZSBwYXRoIGRvZXNuJ3Qg
cnVuLgogICAgIHdoZWVsRXZlbnRXYXNQcm9jZXNzZWRCeU1haW5UaHJlYWQoZXZlbnQsIGhhbmRs
aW5nKTsKICAgICByZXR1cm4gaGFuZGxlZDsKIH0KQEAgLTI5NjUsNyArMjk2Niw3IEBAIGJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50SW50ZXJuYWwoY29uc3QgUGxhdGZvcm1XaGVl
bEV2ZW50JiBldmVudCwgT3B0CiAjZW5kaWYKICAgICBpZiAoYWxsb3dTY3JvbGxpbmcpIHsKICAg
ICAgICAgLy8gRklYTUU6IHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKCkgaXMgb25seSBj
YWxsZWQgZm9yIEZyYW1lVmlldyBzY3JvbGxpbmcsIG5vdCBvdmVyZmxvdyBzY3JvbGxpbmcsIHdo
aWNoIGlzIGNvbmZ1c2luZy4KLSAgICAgICAgaGFuZGxlZEV2ZW50ID0gcHJvY2Vzc1doZWVsRXZl
bnRGb3JTY3JvbGxpbmcoZXZlbnQsIHNjcm9sbGFibGVBcmVhKTsKKyAgICAgICAgaGFuZGxlZEV2
ZW50ID0gcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxpbmcoZXZlbnQsIHNjcm9sbGFibGVBcmVh
LCBoYW5kbGluZyk7CiAgICAgICAgIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcChldmVu
dCwgc2Nyb2xsYWJsZUFyZWEpOwogICAgIH0KIApAQCAtMzAwNyw2ICszMDA4LDEwIEBAIHZvaWQg
RXZlbnRIYW5kbGVyOjpkZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoTm9kZSogc3RhcnROb2RlLCBX
aGVlbEV2ZW50JiB3aGVlbEV2CiAgICAgICAgIGZpbHRlcmVkUGxhdGZvcm1EZWx0YS5zZXRIZWln
aHQocGxhdGZvcm1XaGVlbEV2ZW50LT5kZWx0YVkoKSk7CiAgICAgfQogCisgICAgT3B0aW9uU2V0
PEV2ZW50SGFuZGxpbmc+IGV2ZW50SGFuZGxpbmcgPSB7IEV2ZW50SGFuZGxpbmc6OkRpc3BhdGNo
ZWRUb0RPTSB9OworICAgIGlmICh3aGVlbEV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQoKSkKKyAgICAg
ICAgZXZlbnRIYW5kbGluZy5hZGQoRXZlbnRIYW5kbGluZzo6RGVmYXVsdFByZXZlbnRlZCk7CisK
ICNpZiBFTkFCTEUoV0hFRUxfRVZFTlRfTEFUQ0hJTkcpCiAgICAgaWYgKG1fZnJhbWUucGFnZSgp
LT53aGVlbEV2ZW50RGVsdGFGaWx0ZXIoKS0+aXNGaWx0ZXJpbmdEZWx0YXMoKSkgewogICAgICAg
ICBmaWx0ZXJlZFBsYXRmb3JtRGVsdGEgPSBtX2ZyYW1lLnBhZ2UoKS0+d2hlZWxFdmVudERlbHRh
RmlsdGVyKCktPmZpbHRlcmVkRGVsdGEoKTsKQEAgLTMwMjYsMTQgKzMwMzEsMTQgQEAgdm9pZCBF
dmVudEhhbmRsZXI6OmRlZmF1bHRXaGVlbEV2ZW50SGFuZGxlcihOb2RlKiBzdGFydE5vZGUsIFdo
ZWVsRXZlbnQmIHdoZWVsRXYKICAgICAgICAgYXV0byBwbGF0Zm9ybUV2ZW50ID0gd2hlZWxFdmVu
dC51bmRlcmx5aW5nUGxhdGZvcm1FdmVudCgpOwogICAgICAgICBpZiAocGxhdGZvcm1FdmVudCkg
ewogICAgICAgICAgICAgYXV0byBjb3BpZWRFdmVudCA9IHBsYXRmb3JtRXZlbnQtPmNvcHlXaXRo
RGVsdGFzQW5kVmVsb2NpdHkoZmlsdGVyZWRQbGF0Zm9ybURlbHRhLndpZHRoKCksIGZpbHRlcmVk
UGxhdGZvcm1EZWx0YS5oZWlnaHQoKSwgZmlsdGVyZWRWZWxvY2l0eSk7Ci0gICAgICAgICAgICBp
ZiAobGF0Y2hlZFNjcm9sbGVyLT5oYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvcGllZEV2
ZW50KSkKKyAgICAgICAgICAgIGlmIChsYXRjaGVkU2Nyb2xsZXItPmhhbmRsZVdoZWVsRXZlbnRG
b3JTY3JvbGxpbmcoY29waWVkRXZlbnQsIGV2ZW50SGFuZGxpbmcpKQogICAgICAgICAgICAgICAg
IHdoZWVsRXZlbnQuc2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogICAgIH0KICNlbmRpZgogCi0gICAgaWYgKGhhbmRsZVdoZWVsRXZlbnRJbkFwcHJv
cHJpYXRlRW5jbG9zaW5nQm94KHN0YXJ0Tm9kZSwgd2hlZWxFdmVudCwgZmlsdGVyZWRQbGF0Zm9y
bURlbHRhLCBmaWx0ZXJlZFZlbG9jaXR5KSkKKyAgICBpZiAoaGFuZGxlV2hlZWxFdmVudEluQXBw
cm9wcmlhdGVFbmNsb3NpbmdCb3goc3RhcnROb2RlLCB3aGVlbEV2ZW50LCBmaWx0ZXJlZFBsYXRm
b3JtRGVsdGEsIGZpbHRlcmVkVmVsb2NpdHksIGV2ZW50SGFuZGxpbmcpKQogICAgICAgICB3aGVl
bEV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5oCmluZGV4IDkwYzc4N2I2N2UyZjNkYzI5ZDQ1ODhlZWJmNTg3ZmE5MzUxZGU5ZDkuLjliY2Vi
NGVkMzkwYjg4NGEyNWM4OGE5ZmY2OTYyMmU4ZTk0NWI5MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuaApAQCAtNDU5LDcgKzQ1OSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwYXNzV2hl
ZWxFdmVudFRvV2lkZ2V0KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFdpZGdldCYsIE9wdGlv
blNldDxXaGVlbEV2ZW50UHJvY2Vzc2luZ1N0ZXBzPik7CiAgICAgdm9pZCBkZXRlcm1pbmVXaGVl
bEV2ZW50VGFyZ2V0KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFJlZlB0cjxFbGVtZW50PiYg
ZXZlbnRUYXJnZXQsIFdlYWtQdHI8U2Nyb2xsYWJsZUFyZWE+JiwgYm9vbCYgaXNPdmVyV2lkZ2V0
KTsKICAgICB2b2lkIHJlY29yZFdoZWVsRXZlbnRGb3JEZWx0YUZpbHRlcihjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKTsKLSAgICBib29sIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNv
bnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIGNvbnN0IFdlYWtQdHI8U2Nyb2xsYWJsZUFyZWE+Jik7
CisgICAgYm9vbCBwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmLCBjb25zdCBXZWFrUHRyPFNjcm9sbGFibGVBcmVhPiYsIE9wdGlvblNldDxFdmVu
dEhhbmRsaW5nPik7CiAgICAgdm9pZCBwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgY29uc3QgV2Vha1B0cjxTY3JvbGxhYmxlQXJlYT4mKTsK
ICAgICBib29sIGNvbXBsZXRlV2lkZ2V0V2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZl
bnQmLCBjb25zdCBXZWFrUHRyPFdpZGdldD4mLCBjb25zdCBXZWFrUHRyPFNjcm9sbGFibGVBcmVh
PiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMzA1OGQ5MWRlNjVhOWNjMzhk
NTkwNjc5MGFkMzJhN2M2NzgxODJmYi4uNzRmMzBlYWI3MGMxNGMzNTU1MjlhNzdjMWZjZGMxODMw
YTEzYzZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNTA5OCw3ICs1MDk4LDcg
QEAgdm9pZCBGcmFtZVZpZXc6OnJlbW92ZUNoaWxkKFdpZGdldCYgd2lkZ2V0KQogICAgIFNjcm9s
bFZpZXc6OnJlbW92ZUNoaWxkKHdpZGdldCk7CiB9CiAKLWJvb2wgRnJhbWVWaWV3OjpoYW5kbGVX
aGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVu
dCkKK2Jvb2wgRnJhbWVWaWV3OjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBs
YXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgT3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+IGV2
ZW50SGFuZGxpbmcpCiB7CiAgICAgLy8gTm90ZSB0aGF0IHRvIGFsbG93IGZvciBydWJiZXItYmFu
ZCBvdmVyLXNjcm9sbCBiZWhhdmlvciwgZXZlbiBub24tc2Nyb2xsYWJsZSB2aWV3cwogICAgIC8v
IHNob3VsZCBoYW5kbGUgd2hlZWwgZXZlbnRzLgpAQCAtNTEyOCwxMSArNTEyOCwxMSBAQCBib29s
IEZyYW1lVmlldzo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmIHdoZWVsRXZlbgogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgaWYg
KGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigp
KSB7CiAgICAgICAgIGlmIChzY3JvbGxpbmdDb29yZGluYXRvci0+Y29vcmRpbmF0ZXNTY3JvbGxp
bmdGb3JGcmFtZVZpZXcoKnRoaXMpKQotICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLT5oYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQsIHNjcm9sbGlu
Z05vZGVJRCgpKTsKKyAgICAgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+aGFu
ZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyh3aGVlbEV2ZW50LCBzY3JvbGxpbmdOb2RlSUQoKSwg
ZXZlbnRIYW5kbGluZyk7CiAgICAgfQogI2VuZGlmCiAKLSAgICByZXR1cm4gU2Nyb2xsYWJsZUFy
ZWE6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcod2hlZWxFdmVudCk7CisgICAgcmV0dXJu
IFNjcm9sbGFibGVBcmVhOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQs
IGV2ZW50SGFuZGxpbmcpOwogfQogCiBib29sIEZyYW1lVmlldzo6aXNWZXJ0aWNhbERvY3VtZW50
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGIyMmZhNmNiODJmYmJlMjAwYTFj
NzQyYWQwMmY1M2ZkZGM1Y2RjMDAuLmNhMDA4ZjgxMTAxNjY0NTFmYzFlMmMwYzcxNWJjNzM3NWI2
NDM5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtNTY1LDcgKzU2NSw3IEBAIHB1Ymxp
YzoKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGV4aXN0cyBmb3IgcG9ydHMgdGhhdCBuZWVkIHRvIGhh
bmRsZSB3aGVlbCBldmVudHMgbWFudWFsbHkuCiAgICAgLy8gT24gTWFjIFdlYktpdDEgdGhlIHVu
ZGVybHlpbmcgTlNTY3JvbGxWaWV3IGp1c3QgZG9lcyB0aGUgc2Nyb2xsaW5nLCBidXQgb24gbW9z
dCBvdGhlciBwbGF0Zm9ybXMKICAgICAvLyB3ZSBuZWVkIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIg
dG8gZG8gdGhlIHNjcm9sbCBvdXJzZWx2ZXMuCi0gICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50Rm9y
U2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIGZpbmFsOworICAgIGJvb2wgaGFu
ZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBPcHRp
b25TZXQ8RXZlbnRIYW5kbGluZz4pIGZpbmFsOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRTY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGJvb2wpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KaW5kZXggYWZkNzZkMjU2ZWQwY2Y0N2Uz
ZWFiMzQ5OGU0MTc2ZGI2OTcyNTBlNC4uYTdjYWIyMzdmMjI1YTAxOTc3NDBiY2JmYzJiYWZlMzYz
Nzg1ZDJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVy
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpA
QCAtMTQ3LDcgKzE0Nyw5IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjp3aGVlbEV2ZW50KE5TRXZlbnQg
KmV2ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBDdXJyZW50RXZlbnRTY29wZSBz
Y29wZShldmVudCwgbmlsKTsKLSAgICByZXR1cm4gaGFuZGxlV2hlZWxFdmVudChQbGF0Zm9ybUV2
ZW50RmFjdG9yeTo6Y3JlYXRlUGxhdGZvcm1XaGVlbEV2ZW50KGV2ZW50LCBwYWdlLT5jaHJvbWUo
KS5wbGF0Zm9ybVBhZ2VDbGllbnQoKSksIHsgV2hlZWxFdmVudFByb2Nlc3NpbmdTdGVwczo6TWFp
blRocmVhZEZvclNjcm9sbGluZywgV2hlZWxFdmVudFByb2Nlc3NpbmdTdGVwczo6TWFpblRocmVh
ZEZvckJsb2NraW5nRE9NRXZlbnREaXNwYXRjaCB9KTsKKyAgICBhdXRvIHdoZWVsRXZlbnQgPSBQ
bGF0Zm9ybUV2ZW50RmFjdG9yeTo6Y3JlYXRlUGxhdGZvcm1XaGVlbEV2ZW50KGV2ZW50LCBwYWdl
LT5jaHJvbWUoKS5wbGF0Zm9ybVBhZ2VDbGllbnQoKSk7CisgICAgT3B0aW9uU2V0PFdoZWVsRXZl
bnRQcm9jZXNzaW5nU3RlcHM+IHByb2Nlc3NpbmdTdGVwcyA9IHsgV2hlZWxFdmVudFByb2Nlc3Np
bmdTdGVwczo6TWFpblRocmVhZEZvclNjcm9sbGluZywgV2hlZWxFdmVudFByb2Nlc3NpbmdTdGVw
czo6TWFpblRocmVhZEZvckJsb2NraW5nRE9NRXZlbnREaXNwYXRjaCB9OworICAgIHJldHVybiBo
YW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQsIHByb2Nlc3NpbmdTdGVwcyk7CiB9CiAKIGJvb2wg
RXZlbnRIYW5kbGVyOjprZXlFdmVudChOU0V2ZW50ICpldmVudCkKQEAgLTkwNCw3ICs5MDYsNyBA
QCB2b2lkIEV2ZW50SGFuZGxlcjo6cmVjb3JkV2hlZWxFdmVudEZvckRlbHRhRmlsdGVyKGNvbnN0
IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZQogICAgIHBhZ2UtPndoZWVsRXZlbnREZWx0YUZpbHRl
cigpLT51cGRhdGVGcm9tRGVsdGEoRmxvYXRTaXplKHdoZWVsRXZlbnQuZGVsdGFYKCksIHdoZWVs
RXZlbnQuZGVsdGFZKCkpKTsKIH0KIAotYm9vbCBFdmVudEhhbmRsZXI6OnByb2Nlc3NXaGVlbEV2
ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgY29u
c3QgV2Vha1B0cjxTY3JvbGxhYmxlQXJlYT4mIHNjcm9sbGFibGVBcmVhKQorYm9vbCBFdmVudEhh
bmRsZXI6OnByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgd2hlZWxFdmVudCwgY29uc3QgV2Vha1B0cjxTY3JvbGxhYmxlQXJlYT4mIHNjcm9sbGFi
bGVBcmVhLCBPcHRpb25TZXQ8RXZlbnRIYW5kbGluZz4gZXZlbnRIYW5kbGluZykKIHsKICAgICBM
T0dfV0lUSF9TVFJFQU0oU2Nyb2xsTGF0Y2hpbmcsIHN0cmVhbSA8PCAiRXZlbnRIYW5kbGVyOjpw
cm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbGluZyAiIDw8IHdoZWVsRXZlbnQgPDwgIiAtIHNjcm9s
bGFibGVBcmVhICIgPDwgVmFsdWVPck51bGwoc2Nyb2xsYWJsZUFyZWEuZ2V0KCkpIDw8ICIgdXNl
IGxhdGNoZWQgZWxlbWVudCAiIDw8IHdoZWVsRXZlbnQudXNlTGF0Y2hlZEV2ZW50RWxlbWVudCgp
KTsKIApAQCAtOTM5LDcgKzk0MSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpwcm9jZXNzV2hlZWxF
dmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsCiAKICAgICAg
ICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbExhdGNoaW5nLCBzdHJlYW0gPDwgIiBzZW5kaW5nIHRv
IHZpZXcgIiA8PCAqdmlldyk7CiAKLSAgICAgICAgYm9vbCBkaWRIYW5kbGVXaGVlbEV2ZW50ID0g
dmlldy0+aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyh3aGVlbEV2ZW50KTsKKyAgICAgICAg
Ym9vbCBkaWRIYW5kbGVXaGVlbEV2ZW50ID0gdmlldy0+aGFuZGxlV2hlZWxFdmVudEZvclNjcm9s
bGluZyh3aGVlbEV2ZW50LCBldmVudEhhbmRsaW5nKTsKICAgICAgICAgLy8gSWYgdGhlIHBsYXRm
b3JtIHdpZGdldCBpcyBoYW5kbGluZyB0aGUgZXZlbnQsIHdlIGFsd2F5cyB3YW50IHRvIHJldHVy
biBmYWxzZS4KICAgICAgICAgaWYgKHZpZXctPnBsYXRmb3JtV2lkZ2V0KCkpCiAgICAgICAgICAg
ICBkaWRIYW5kbGVXaGVlbEV2ZW50ID0gZmFsc2U7CkBAIC05NDgsNyArOTUwLDcgQEAgYm9vbCBF
dmVudEhhbmRsZXI6OnByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3Jt
V2hlZWxFdmVudCYgd2hlZWwKICAgICAgICAgcmV0dXJuIGRpZEhhbmRsZVdoZWVsRXZlbnQ7CiAg
ICAgfQogICAgIAotICAgIGJvb2wgZGlkSGFuZGxlRXZlbnQgPSB2aWV3LT5oYW5kbGVXaGVlbEV2
ZW50Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQpOworICAgIGJvb2wgZGlkSGFuZGxlRXZlbnQgPSB2
aWV3LT5oYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQsIGV2ZW50SGFuZGxp
bmcpOwogICAgIG1faXNIYW5kbGluZ1doZWVsRXZlbnQgPSBmYWxzZTsKICAgICByZXR1cm4gZGlk
SGFuZGxlRXZlbnQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCBhNTAwZTgyYTliZjNhNmU0MmYxNzYzNjkzZTA0
MmJiMDkyMTA2NDFmLi5lODU2MjgzMDRiOTcyY2NmYzA3YmIwYTRkNmVmMjFlNWJjYTc2OWE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgdmlydHVh
bCBmdW5jdGlvbnMgYXJlIGN1cnJlbnRseSB1bmlxdWUgdG8gdGhlIHRocmVhZGVkIHNjcm9sbGlu
ZyBhcmNoaXRlY3R1cmUuIAogICAgIHZpcnR1YWwgdm9pZCBjb21taXRUcmVlU3RhdGVJZk5lZWRl
ZCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCByZXF1ZXN0U2Nyb2xsUG9zaXRpb25VcGRhdGUoU2Ny
b2xsYWJsZUFyZWEmLCBjb25zdCBJbnRQb2ludCYsIFNjcm9sbFR5cGUgPSBTY3JvbGxUeXBlOjpQ
cm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nID0gU2Nyb2xsQ2xhbXBpbmc6OkNsYW1wZWQpIHsg
cmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGhhbmRsZVdoZWVsRXZlbnRGb3JTY3Jv
bGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgU2Nyb2xsaW5nTm9kZUlEKSB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5n
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFNjcm9sbGluZ05vZGVJRCwgT3B0aW9uU2V0PEV2
ZW50SGFuZGxpbmc+KSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCB3aGVlbEV2
ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIE9w
dGlvblNldDxFdmVudEhhbmRsaW5nPikgeyB9CiAKICAgICAvLyBDcmVhdGUgYW4gdW5wYXJlbnRl
ZCBub2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFk
ZWRTY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVh
ZGVkU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggMjlmMGQyNGEzMmU5ZTkyMjAzY2YwNDc5YzgzNGU5
YTdjZmM2NDhmNS4uZjk0YjJlNDQ5ZDg4NTY4YmE1NDk4NjRiMWYwM2MzOGVhZmQ5ZjZiMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdU
cmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9s
bGluZ1RyZWUuY3BwCkBAIC02NCw3ICs2NCw3IEBAIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBU
aHJlYWRlZFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XCiAg
ICAgcmV0dXJuIFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCwgcHJv
Y2Vzc2luZ1N0ZXBzKTsKIH0KIAotYm9vbCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdo
ZWVsRXZlbnRBZnRlck1haW5UaHJlYWQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2
ZW50LCBTY3JvbGxpbmdOb2RlSUQgdGFyZ2V0Tm9kZUlEKQorYm9vbCBUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OmhhbmRsZVdoZWVsRXZlbnRBZnRlck1haW5UaHJlYWQoY29uc3QgUGxhdGZvcm1XaGVl
bEV2ZW50JiB3aGVlbEV2ZW50LCBTY3JvbGxpbmdOb2RlSUQgdGFyZ2V0Tm9kZUlELCBPcHRpb25T
ZXQ8RXZlbnRIYW5kbGluZz4pCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3Ry
ZWFtIDw8ICJUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVsRXZlbnRBZnRlck1haW5U
aHJlYWQgIiA8PCB3aGVlbEV2ZW50IDw8ICIgbm9kZSAiIDw8IHRhcmdldE5vZGVJRCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5n
VHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdU
cmVlLmgKaW5kZXggNWYwYTc1NTQ0MmZiNGExYjAyOTZiNGQ1YjVjMDQxMTA0YzNmNGVhZi4uNWE3
MGNhNWViNmQyNmRmMmM1MTk4MmQ5N2U2MjQzMzU0MDViZDlhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmgKQEAgLTQ3
LDcgKzQ3LDcgQEAgcHVibGljOgogCiAgICAgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IGhhbmRs
ZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgT3B0aW9uU2V0PFdoZWVsRXZl
bnRQcm9jZXNzaW5nU3RlcHM+KSBvdmVycmlkZTsKIAotICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVu
dEFmdGVyTWFpblRocmVhZChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxpbmdOb2Rl
SUQpOworICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudEFmdGVyTWFpblRocmVhZChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxpbmdOb2RlSUQsIE9wdGlvblNldDxFdmVudEhhbmRsaW5n
Pik7CiAgICAgdm9pZCB3aGVlbEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKGNvbnN0IFBs
YXRmb3JtV2hlZWxFdmVudCYsIE9wdGlvblNldDxFdmVudEhhbmRsaW5nPik7CiAKICAgICB2b2lk
IGludmFsaWRhdGUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmgKaW5kZXggYWU2ZjRl
NGU0ZDRlM2MzMzA1MmJlOWI5Mjk0OGJkNzFmYmZmNTNmMC4uMjFmZWRhOTFiYmUzZTM1ZWFkMzBk
NmI0NWM2NzUyY2YxYTFmYWIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmgKQEAgLTQxLDcgKzQx
LDcgQEAgcHVibGljOgogICAgIHZvaWQgY29tbWl0VHJlZVN0YXRlSWZOZWVkZWQoKSBmaW5hbDsK
IAogICAgIC8vIEhhbmRsZSB0aGUgd2hlZWwgZXZlbnQgb24gdGhlIHNjcm9sbGluZyB0aHJlYWQu
IFJldHVybnMgd2hldGhlciB0aGUgZXZlbnQgd2FzIGhhbmRsZWQgb3Igbm90LgotICAgIGJvb2wg
aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBT
Y3JvbGxpbmdOb2RlSUQpIGZpbmFsOworICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudEZvclNjcm9s
bGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBTY3JvbGxpbmdOb2RlSUQsIE9wdGlvblNl
dDxFdmVudEhhbmRsaW5nPikgZmluYWw7CiAgICAgdm9pZCB3aGVlbEV2ZW50V2FzUHJvY2Vzc2Vk
QnlNYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIE9wdGlvblNldDxFdmVudEhh
bmRsaW5nPikgZmluYWw7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXgg
NDc2ZjRlNmJhYThiY2Q2NzAxNmYxZTcyYmI4Y2Q0ZjhhNDVlMGExMi4uMjIwMDFlZDQ3NjNkZmMw
NTkxODUwNjE4MjQxNTQzNmZiNGNiYzkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpwYWdlRGVzdHJveWVk
KCkKICAgICB9KTsKIH0KIAotYm9vbCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6aGFuZGxlV2hl
ZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQs
IFNjcm9sbGluZ05vZGVJRCB0YXJnZXROb2RlSUQpCitib29sIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYgd2hlZWxFdmVudCwgU2Nyb2xsaW5nTm9kZUlEIHRhcmdldE5vZGVJRCwgT3B0aW9uU2V0PEV2
ZW50SGFuZGxpbmc+IGV2ZW50SGFuZGxpbmcpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKICAgICBBU1NFUlQobV9wYWdlKTsKQEAgLTg0LDggKzg0LDggQEAgYm9vbCBTY3JvbGxpbmdD
b29yZGluYXRvck1hYzo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9y
bVdoZWVsRXYKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nIC0gc2VuZGlu
ZyBldmVudCB0byBzY3JvbGxpbmcgdGhyZWFkLCBub2RlICIgPDwgdGFyZ2V0Tm9kZUlEKTsKICAg
ICAKICAgICBSZWZQdHI8VGhyZWFkZWRTY3JvbGxpbmdUcmVlPiB0aHJlYWRlZFNjcm9sbGluZ1Ry
ZWUgPSBkb3duY2FzdDxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+KHNjcm9sbGluZ1RyZWUoKSk7Ci0g
ICAgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRjaChbdGhyZWFkZWRTY3JvbGxpbmdUcmVlLCB3aGVl
bEV2ZW50LCB0YXJnZXROb2RlSURdIHsKLSAgICAgICAgdGhyZWFkZWRTY3JvbGxpbmdUcmVlLT5o
YW5kbGVXaGVlbEV2ZW50QWZ0ZXJNYWluVGhyZWFkKHdoZWVsRXZlbnQsIHRhcmdldE5vZGVJRCk7
CisgICAgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRjaChbdGhyZWFkZWRTY3JvbGxpbmdUcmVlLCB3
aGVlbEV2ZW50LCB0YXJnZXROb2RlSUQsIGV2ZW50SGFuZGxpbmddIHsKKyAgICAgICAgdGhyZWFk
ZWRTY3JvbGxpbmdUcmVlLT5oYW5kbGVXaGVlbEV2ZW50QWZ0ZXJNYWluVGhyZWFkKHdoZWVsRXZl
bnQsIHRhcmdldE5vZGVJRCwgZXZlbnRIYW5kbGluZyk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHRy
dWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lh
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5jcHAKaW5kZXggYjgx
MTVlODNjYzc4ZTRmN2Q5M2JiMjljOTA0MjZjZDlmN2UzMWU4My4uMmQyMTVmYjhhZDVlYzE5Zjc0
ZDdhNTgxODE4ZGQzZWQ0YjA0YjEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5pY29zaWEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nQ29vcmRpbmF0b3JO
aWNvc2lhLmNwcApAQCAtNjksMjIgKzY5LDIyIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JO
aWNvc2lhOjpjb21taXRUcmVlU3RhdGVJZk5lZWRlZCgpCiAgICAgbV9zY3JvbGxpbmdTdGF0ZVRy
ZWVDb21taXR0ZXJUaW1lci5zdG9wKCk7CiB9CiAKLWJvb2wgU2Nyb2xsaW5nQ29vcmRpbmF0b3JO
aWNvc2lhOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgd2hlZWxFdmVudCwgU2Nyb2xsaW5nTm9kZUlEIHRhcmdldE5vZGUpCitib29sIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yTmljb3NpYTo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQsIFNjcm9sbGluZ05vZGVJRCB0YXJnZXRO
b2RlLCBPcHRpb25TZXQ8RXZlbnRIYW5kbGluZz4gZXZlbnRIYW5kbGluZykKIHsKICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX3BhZ2UpOwogICAgIEFTU0VSVChzY3Jv
bGxpbmdUcmVlKCkpOwogCi0gICAgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRjaChbdGhyZWFkZWRT
Y3JvbGxpbmdUcmVlID0gbWFrZVJlZihkb3duY2FzdDxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+KCpz
Y3JvbGxpbmdUcmVlKCkpKSwgd2hlZWxFdmVudCwgdGFyZ2V0Tm9kZV0gewotICAgICAgICB0aHJl
YWRlZFNjcm9sbGluZ1RyZWUtPmhhbmRsZVdoZWVsRXZlbnRBZnRlck1haW5UaHJlYWQod2hlZWxF
dmVudCwgdGFyZ2V0Tm9kZSk7CisgICAgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRjaChbdGhyZWFk
ZWRTY3JvbGxpbmdUcmVlID0gbWFrZVJlZihkb3duY2FzdDxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+
KCpzY3JvbGxpbmdUcmVlKCkpKSwgd2hlZWxFdmVudCwgdGFyZ2V0Tm9kZSwgZXZlbnRIYW5kbGlu
Z10geworICAgICAgICB0aHJlYWRlZFNjcm9sbGluZ1RyZWUtPmhhbmRsZVdoZWVsRXZlbnRBZnRl
ck1haW5UaHJlYWQod2hlZWxFdmVudCwgdGFyZ2V0Tm9kZSwgZXZlbnRIYW5kbGluZyk7CiAgICAg
fSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNv
c2lhOjp3aGVlbEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgd2hlZWxFdmVudCwgT3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+IGRlZmF1bHRIYW5k
bGluZykKK3ZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JOaWNvc2lhOjp3aGVlbEV2ZW50V2FzUHJv
Y2Vzc2VkQnlNYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCwg
T3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+IGV2ZW50SGFuZGxpbmcpCiB7Ci0gICAgU2Nyb2xsaW5n
VGhyZWFkOjpkaXNwYXRjaChbdGhyZWFkZWRTY3JvbGxpbmdUcmVlID0gbWFrZVJlZihkb3duY2Fz
dDxUaHJlYWRlZFNjcm9sbGluZ1RyZWU+KCpzY3JvbGxpbmdUcmVlKCkpKSwgd2hlZWxFdmVudCwg
ZGVmYXVsdEhhbmRsaW5nXSB7Ci0gICAgICAgIHRocmVhZGVkU2Nyb2xsaW5nVHJlZS0+d2hlZWxF
dmVudFdhc1Byb2Nlc3NlZEJ5TWFpblRocmVhZCh3aGVlbEV2ZW50LCBkZWZhdWx0SGFuZGxpbmcp
OworICAgIFNjcm9sbGluZ1RocmVhZDo6ZGlzcGF0Y2goW3RocmVhZGVkU2Nyb2xsaW5nVHJlZSA9
IG1ha2VSZWYoZG93bmNhc3Q8VGhyZWFkZWRTY3JvbGxpbmdUcmVlPigqc2Nyb2xsaW5nVHJlZSgp
KSksIHdoZWVsRXZlbnQsIGV2ZW50SGFuZGxpbmddIHsKKyAgICAgICAgdGhyZWFkZWRTY3JvbGxp
bmdUcmVlLT53aGVlbEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKHdoZWVsRXZlbnQsIGV2
ZW50SGFuZGxpbmcpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmljb3NpYS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdDb29yZGluYXRvck5p
Y29zaWEuaAppbmRleCA0ZmExNzRlNTVlYTIzNmRkYWQ4YTdjM2I0MGEwNmZkNmExMzc1ZWY2Li5h
MzlhNjA0NDIwNmQyMWU5NjRlMjI2YmVhZjMyYjY1ZDgxN2I4NGU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTmlj
b3NpYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JOaWNvc2lhLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBjb21taXRUcmVlU3RhdGVJZk5lZWRlZCgpIG92ZXJyaWRlOwogCi0gICAgYm9vbCBoYW5k
bGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFNjcm9s
bGluZ05vZGVJRCkgb3ZlcnJpZGU7CisgICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xs
aW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIFNjcm9sbGluZ05vZGVJRCwgT3B0aW9uU2V0
PEV2ZW50SGFuZGxpbmc+KSBvdmVycmlkZTsKICAgICB2b2lkIHdoZWVsRXZlbnRXYXNQcm9jZXNz
ZWRCeU1haW5UaHJlYWQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgT3B0aW9uU2V0PEV2ZW50
SGFuZGxpbmc+KSBvdmVycmlkZTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmNwcAppbmRleCBhZDQ3MzI5YWUwZTU0Y2I0Y2QxMzA4MzlhMmZkODJm
MzJiZDY4NWY2Li44MDE2NmE1MjIyODQ1YTczNGU5MDZhM2YzYzliYWNjOTY4NTgxNzFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC0yMDMsNyArMjAz
LDcgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiBwb3NpdGlvbikKICAgICAgICAgc2Nyb2xsQW5pbWF0b3IoKS5ub3RpZnlD
b250ZW50QXJlYVNjcm9sbGVkKHNjcm9sbFBvc2l0aW9uKCkgLSBvbGRQb3NpdGlvbik7CiB9CiAK
LWJvb2wgU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQorYm9vbCBTY3JvbGxhYmxlQXJlYTo6aGFu
ZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVs
RXZlbnQsIE9wdGlvblNldDxFdmVudEhhbmRsaW5nPikKIHsKICAgICBpZiAoIWlzU2Nyb2xsYWJs
ZU9yUnViYmVyYmFuZGFibGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggNDM4M2I3NmNhZjcwNzQ4NjAxZGE4NTBh
NzE0NzhkNDM1MDEwMTFkMy4uNWE3MzhiODg2ZDBmMjMwMDI4ZWJlNDk2ZTdlMDAzMWM5NDA0Njk1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC00OCw2ICs0
OCw4IEBAIGNsYXNzIFNjcm9sbEFuaW1hdG9yOwogY2xhc3MgR3JhcGhpY3NMYXllcjsKIGNsYXNz
IFRpbGVkQmFja2luZzsKIAorZW51bSBjbGFzcyBFdmVudEhhbmRsaW5nIDogdWludDhfdDsKKwog
aW5saW5lIGludCBvZmZzZXRGb3JPcmllbnRhdGlvbihTY3JvbGxPZmZzZXQgb2Zmc2V0LCBTY3Jv
bGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbikKIHsKICAgICBzd2l0Y2ggKG9yaWVudGF0aW9u
KSB7CkBAIC04Miw3ICs4NCw3IEBAIHB1YmxpYzoKICAgICAvLyBleHBlY3QgaXQgdG8gaGFwcGVu
IHNvbWV0aW1lIGluIHRoZSBmdXR1cmUuCiAgICAgdmlydHVhbCBib29sIHJlcXVlc3RTY3JvbGxQ
b3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYsIFNjcm9sbFR5cGUgPSBTY3JvbGxU
eXBlOjpVc2VyLCBTY3JvbGxDbGFtcGluZyA9IFNjcm9sbENsYW1waW5nOjpDbGFtcGVkKSB7IHJl
dHVybiBmYWxzZTsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGhhbmRsZVdo
ZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CisgICAgV0VC
Q09SRV9FWFBPUlQgdmlydHVhbCBib29sIGhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgT3B0aW9uU2V0PEV2ZW50SGFuZGxpbmc+KTsKIAogICAg
IGJvb2wgdXNlc1Njcm9sbFNuYXAoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKaW5kZXggNTI0M2VhMWMxYjA0MzExZjJjYjQyMmVlMjFjZWMyN2ZiM2Q1
ZmRlOC4uOGVkNTMyZTg3ZDlkNjgxZDJjNGVjOTBiMTgxM2VjMjgwODRhYzMyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zMTY1LDcgKzMxNjUsNyBAQCBT
Y3JvbGxpbmdOb2RlSUQgUmVuZGVyTGF5ZXI6OnNjcm9sbGluZ05vZGVJRCgpIGNvbnN0CiAgICAg
cmV0dXJuIGJhY2tpbmcoKS0+c2Nyb2xsaW5nTm9kZUlERm9yUm9sZShTY3JvbGxDb29yZGluYXRp
b25Sb2xlOjpTY3JvbGxpbmcpOwogfQogCi1ib29sIFJlbmRlckxheWVyOjpoYW5kbGVXaGVlbEV2
ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKK2Jv
b2wgUmVuZGVyTGF5ZXI6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBPcHRpb25TZXQ8RXZlbnRIYW5kbGluZz4gZXZlbnRI
YW5kbGluZykKIHsKICAgICBpZiAoIWlzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzE3MywxMSArMzE3MywxMSBAQCBib29sIFJlbmRlckxh
eWVyOjpoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYgd2hlZWxFdgogI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgaWYgKHVzZXNBc3lu
Y1Njcm9sbGluZygpICYmIHNjcm9sbGluZ05vZGVJRCgpKSB7CiAgICAgICAgIGlmIChhdXRvKiBz
Y3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UoKS5zY3JvbGxpbmdDb29yZGluYXRvcigpKQotICAg
ICAgICAgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5oYW5kbGVXaGVlbEV2ZW50Rm9y
U2Nyb2xsaW5nKHdoZWVsRXZlbnQsIHNjcm9sbGluZ05vZGVJRCgpKTsKKyAgICAgICAgICAgIHJl
dHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyh3
aGVlbEV2ZW50LCBzY3JvbGxpbmdOb2RlSUQoKSwgZXZlbnRIYW5kbGluZyk7CiAgICAgfQogI2Vu
ZGlmCiAKLSAgICByZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3Jv
bGxpbmcod2hlZWxFdmVudCk7CisgICAgcmV0dXJuIFNjcm9sbGFibGVBcmVhOjpoYW5kbGVXaGVl
bEV2ZW50Rm9yU2Nyb2xsaW5nKHdoZWVsRXZlbnQsIGV2ZW50SGFuZGxpbmcpOwogfQogCiBJbnRS
ZWN0IFJlbmRlckxheWVyOjp2aXNpYmxlQ29udGVudFJlY3RJbnRlcm5hbChWaXNpYmxlQ29udGVu
dFJlY3RJbmNsdWRlc1Njcm9sbGJhcnMgc2Nyb2xsYmFySW5jbHVzaW9uLCBWaXNpYmxlQ29udGVu
dFJlY3RCZWhhdmlvcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgK
aW5kZXggYTE1ZDUxYmZmZjVjM2RjODllNGQwMTdiNTliMWNmY2Y5ZjM3NjUxMC4uYWFlZDE1MmUx
YmQxMjcxODdkZGZiNTk5YWMxY2U4Mjc3YTBlNWE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKQEAgLTQ5Myw3ICs0OTMsNyBAQCBwdWJsaWM6CiAgICAgU2Nyb2xsYmFy
KiB2ZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fdkJhci5nZXQoKTsg
fQogICAgIFNjcm9sbGFibGVBcmVhKiBlbmNsb3NpbmdTY3JvbGxhYmxlQXJlYSgpIGNvbnN0IGZp
bmFsOwogCi0gICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50Rm9yU2Nyb2xsaW5nKGNvbnN0IFBsYXRm
b3JtV2hlZWxFdmVudCYpIGZpbmFsOworICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudEZvclNjcm9s
bGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBPcHRpb25TZXQ8RXZlbnRIYW5kbGluZz4p
IGZpbmFsOwogICAgIGJvb2wgaXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJsZSgpIGZpbmFsOwog
ICAgIGJvb2wgaGFzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGVBbmNlc3RvcigpIGZpbmFsOwog
ICAgIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UoKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4IDY4ODQ4OTdi
MmYzN2U4Y2FiNjMzODQwZTZiOWRhMTA5YjgzOWJlNjAuLmI4MzZhMTcwMjBiMzc4MDNiNTI1MmY4
ZjFlOTAzZTY0MjRhMGI4YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BERi9QREZQbHVnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5tbQpAQCAtMjkzOCw3ICsyOTM4LDcgQEAgYm9vbCBQREZQbHVn
aW46OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgV2ViV2hlZWxFdmVudCYgZXZlbnQpCiAgICAgUERG
RGlzcGxheU1vZGUgZGlzcGxheU1vZGUgPSBbbV9wZGZMYXllckNvbnRyb2xsZXIgZGlzcGxheU1v
ZGVdOwogCiAgICAgaWYgKGRpc3BsYXlNb2RlID09IGtQREZEaXNwbGF5U2luZ2xlUGFnZUNvbnRp
bnVvdXMgfHwgZGlzcGxheU1vZGUgPT0ga1BERkRpc3BsYXlUd29VcENvbnRpbnVvdXMpCi0gICAg
ICAgIHJldHVybiBTY3JvbGxhYmxlQXJlYTo6aGFuZGxlV2hlZWxFdmVudEZvclNjcm9sbGluZyhw
bGF0Zm9ybShldmVudCkpOworICAgICAgICByZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVdo
ZWVsRXZlbnRGb3JTY3JvbGxpbmcocGxhdGZvcm0oZXZlbnQpLCB7IH0pOwogCiAgICAgTlNVSW50
ZWdlciBjdXJyZW50UGFnZUluZGV4ID0gW21fcGRmTGF5ZXJDb250cm9sbGVyIGN1cnJlbnRQYWdl
SW5kZXhdOwogICAgIGJvb2wgaW5GaXJzdFBhZ2UgPSAhY3VycmVudFBhZ2VJbmRleDsKQEAgLTI5
NzEsNyArMjk3MSw3IEBAIGJvb2wgUERGUGx1Z2luOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFdl
YldoZWVsRXZlbnQmIGV2ZW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBy
ZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcocGxhdGZv
cm0oZXZlbnQpKTsKKyAgICByZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OmhhbmRsZVdoZWVsRXZlbnRG
b3JTY3JvbGxpbmcocGxhdGZvcm0oZXZlbnQpLCB7IH0pOwogfQogCiBOU0RhdGEgKlBERlBsdWdp
bjo6bGl2ZURhdGEoKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>