<?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>227936</bug_id>
          
          <creation_ts>2021-07-13 18:30:27 -0700</creation_ts>
          <short_desc>Prevent HSTS tracking mitigation for top level navigation requests</short_desc>
          <delta_ts>2021-07-16 18:02:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1776833</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-13 18:30:27 -0700</bug_when>
    <thetext>Prevent HSTS tracking mitigation for top level navigation requests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776834</commentid>
    <comment_count>1</comment_count>
      <attachid>433469</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-13 18:32:43 -0700</bug_when>
    <thetext>Created attachment 433469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776835</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-13 18:32:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/77475001&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776838</commentid>
    <comment_count>3</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-13 18:44:14 -0700</bug_when>
    <thetext>shouldBlockCookies() already takes care of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776839</commentid>
    <comment_count>4</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2021-07-13 18:47:09 -0700</bug_when>
    <thetext>This was very much part of the original discussion and is probably mentioned in the blog post too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777593</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 14:06:47 -0700</bug_when>
    <thetext>*** Bug 227975 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777598</commentid>
    <comment_count>6</comment_count>
      <attachid>433703</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 14:19:43 -0700</bug_when>
    <thetext>Created attachment 433703
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777686</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 18:02:29 -0700</bug_when>
    <thetext>http://trac.webkit.org/r280015</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433469</attachid>
            <date>2021-07-13 18:32:43 -0700</date>
            <delta_ts>2021-07-16 14:19:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227936-20210713183242.patch</filename>
            <type>text/plain</type>
            <size>3942</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNjRkYzIxY2MwMTlmMWVh
ZDk1Mzg0YThiODQ4OWM4NjBkMDJhOGUuLjdiYTgwMjY4YThhZTE0ZjI5ZWE2NTc1Zjg5YThiZWM5
ZjU4Yjg4YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMDctMTMgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBQcmV2ZW50IEhT
VFMgdHJhY2tpbmcgbWl0aWdhdGlvbiBmb3IgdG9wIGxldmVsIG5hdmlnYXRpb24gcmVxdWVzdHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkzNgor
ICAgICAgICA8cmRhcjovLzc3NDc1MDAxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgc2hvdWxkIG1ha2UgbWFpbiByZXNvdXJjZSByZXF1ZXN0
cyBhbHdheXMgdXBncmFkZSBpZiB0aGVyZSBoYXMgYmVlbiBzdGF0ZSBzZXQgdG8gdGVsbCB0aGVt
IHRvIHVwZ3JhZGUsCisgICAgICAgIGV2ZW4gaWYgdGhleSBhcmUgcHJldmFsZW50IGRvbWFpbnMu
CisKKyAgICAgICAgV2UgY2FuJ3Qgd3JpdGUgYSB1bml0IHRlc3QgZm9yIHRoaXMgYmVjYXVzZSBD
Rk5ldHdvcmsgZG9lc24ndCBkbyBkeW5hbWljIEhTVFMgZm9yIG5vbi1zYW5kYm94ZWQgYXBwcyBz
dWNoIGFzIFRlc3RXZWJLaXRBUEkuCisgICAgICAgIFdlJ3ZlIG5lZWRlZCB0aGlzIGJlZm9yZSwg
c3VjaCBhcyBpbiBidWcgMjEzMDQ4CisgICAgICAgIEkndmUgcmVxdWVzdGVkIHRoZSBhYmlsaXR5
IHRvIGRvIHRoaXMgaW4gcmRhcjovLzgwNTUwMTIzCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tOgorICAgICAgICAoLVtXS05ldHdvcmtTZXNz
aW9uRGVsZWdhdGUgVVJMU2Vzc2lvbjp0YXNrOndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uOm5l
d1JlcXVlc3Q6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Np
b25EZWxlZ2F0ZSBVUkxTZXNzaW9uOnRhc2s6X3NjaGVtZVVwZ3JhZGVkOmNvbXBsZXRpb25IYW5k
bGVyOl0pOgorCiAyMDIxLTA3LTA3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCBmb2xsb3ctdXAgdG8gcjI3OTYwMSB0byBhZGRyZXNzIHNvbWUg
YXNzZXJ0aW9ucyBvbiB0aGUgYm90cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCBmZGNlNzY4MWZl
NmYyODg3MmI0MjJlNjM1NDkxOTJkNTE5NDc2NzI5Li5kZDExOTU3YzUyNGRlM2JjN2E5ZDZkODk2
OGU1OTE2Yzg4MWVhNjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01ODAsNyArNTgwLDEwIEBA
IHN0YXRpYyB2b2lkIHVwZGF0ZUlnbm9yZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5U2V0dGluZyhS
ZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiYKICAgICAgICAgYm9vbCBzaG91bGRJZ25vcmVIU1RTID0g
ZmFsc2U7CiAjaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKICAgICAgICAgaWYg
KGF1dG8qIHNlc3Npb25Db2NvYSA9IG5ldHdvcmtEYXRhVGFzay0+bmV0d29ya1Nlc3Npb24oKSkg
ewotICAgICAgICAgICAgc2hvdWxkSWdub3JlSFNUUyA9IHNjaGVtZVdhc1VwZ3JhZGVkRHVlVG9E
eW5hbWljSFNUUyhyZXF1ZXN0KSAmJiBzZXNzaW9uQ29jb2EtPm5ldHdvcmtQcm9jZXNzKCkuc3Rv
cmFnZVNlc3Npb24oc2Vzc2lvbkNvY29hLT5zZXNzaW9uSUQoKSktPnNob3VsZEJsb2NrQ29va2ll
cyhyZXF1ZXN0LCBuZXR3b3JrRGF0YVRhc2stPmZyYW1lSUQoKSwgbmV0d29ya0RhdGFUYXNrLT5w
YWdlSUQoKSwgbmV0d29ya0RhdGFUYXNrLT5zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9j
a2luZygpKTsKKyAgICAgICAgICAgIGF1dG8qIHN0b3JhZ2VTZXNzaW9uID0gc2Vzc2lvbkNvY29h
LT5uZXR3b3JrUHJvY2VzcygpLnN0b3JhZ2VTZXNzaW9uKHNlc3Npb25Db2NvYS0+c2Vzc2lvbklE
KCkpOworICAgICAgICAgICAgc2hvdWxkSWdub3JlSFNUUyA9IHNjaGVtZVdhc1VwZ3JhZGVkRHVl
VG9EeW5hbWljSFNUUyhyZXF1ZXN0KQorICAgICAgICAgICAgICAgICYmICFuZXR3b3JrRGF0YVRh
c2stPmlzVG9wTGV2ZWxOYXZpZ2F0aW9uKCkKKyAgICAgICAgICAgICAgICAmJiBzdG9yYWdlU2Vz
c2lvbi0+c2hvdWxkQmxvY2tDb29raWVzKHJlcXVlc3QsIG5ldHdvcmtEYXRhVGFzay0+ZnJhbWVJ
RCgpLCBuZXR3b3JrRGF0YVRhc2stPnBhZ2VJRCgpLCBuZXR3b3JrRGF0YVRhc2stPnNob3VsZFJl
bGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKCkpOwogICAgICAgICAgICAgaWYgKHNob3VsZEln
bm9yZUhTVFMpIHsKICAgICAgICAgICAgICAgICByZXF1ZXN0ID0gZG93bmdyYWRlUmVxdWVzdChy
ZXF1ZXN0KTsKICAgICAgICAgICAgICAgICBBU1NFUlQoW3JlcXVlc3QuVVJMLnNjaGVtZSBpc0Vx
dWFsVG9TdHJpbmc6QCJodHRwIl0pOwpAQCAtNjE4LDcgKzYyMSwxMCBAQCBzdGF0aWMgdm9pZCB1
cGRhdGVJZ25vcmVTdHJpY3RUcmFuc3BvcnRTZWN1cml0eVNldHRpbmcoUmV0YWluUHRyPE5TVVJM
UmVxdWVzdD4mCiAgICAgICAgIGJvb2wgc2hvdWxkSWdub3JlSFNUUyA9IGZhbHNlOwogI2lmIEVO
QUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgICAgIGlmIChhdXRvKiBzZXNzaW9u
Q29jb2EgPSBuZXR3b3JrRGF0YVRhc2stPm5ldHdvcmtTZXNzaW9uKCkpIHsKLSAgICAgICAgICAg
IHNob3VsZElnbm9yZUhTVFMgPSBzY2hlbWVXYXNVcGdyYWRlZER1ZVRvRHluYW1pY0hTVFMocmVx
dWVzdCkgJiYgc2Vzc2lvbkNvY29hLT5uZXR3b3JrUHJvY2VzcygpLnN0b3JhZ2VTZXNzaW9uKHNl
c3Npb25Db2NvYS0+c2Vzc2lvbklEKCkpLT5zaG91bGRCbG9ja0Nvb2tpZXMocmVxdWVzdCwgbmV0
d29ya0RhdGFUYXNrLT5mcmFtZUlEKCksIG5ldHdvcmtEYXRhVGFzay0+cGFnZUlEKCksIG5ldHdv
cmtEYXRhVGFzay0+c2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcoKSk7CisgICAg
ICAgICAgICBhdXRvKiBzdG9yYWdlU2Vzc2lvbiA9IHNlc3Npb25Db2NvYS0+bmV0d29ya1Byb2Nl
c3MoKS5zdG9yYWdlU2Vzc2lvbihzZXNzaW9uQ29jb2EtPnNlc3Npb25JRCgpKTsKKyAgICAgICAg
ICAgIHNob3VsZElnbm9yZUhTVFMgPSBzY2hlbWVXYXNVcGdyYWRlZER1ZVRvRHluYW1pY0hTVFMo
cmVxdWVzdCkKKyAgICAgICAgICAgICAgICAmJiAhbmV0d29ya0RhdGFUYXNrLT5pc1RvcExldmVs
TmF2aWdhdGlvbigpCisgICAgICAgICAgICAgICAgJiYgc3RvcmFnZVNlc3Npb24tPnNob3VsZEJs
b2NrQ29va2llcyhyZXF1ZXN0LCBuZXR3b3JrRGF0YVRhc2stPmZyYW1lSUQoKSwgbmV0d29ya0Rh
dGFUYXNrLT5wYWdlSUQoKSwgbmV0d29ya0RhdGFUYXNrLT5zaG91bGRSZWxheFRoaXJkUGFydHlD
b29raWVCbG9ja2luZygpKTsKICAgICAgICAgICAgIGlmIChzaG91bGRJZ25vcmVIU1RTKSB7CiAg
ICAgICAgICAgICAgICAgcmVxdWVzdCA9IGRvd25ncmFkZVJlcXVlc3QocmVxdWVzdCk7CiAgICAg
ICAgICAgICAgICAgQVNTRVJUKFtyZXF1ZXN0LlVSTC5zY2hlbWUgaXNFcXVhbFRvU3RyaW5nOkAi
aHR0cCJdKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433703</attachid>
            <date>2021-07-16 14:19:43 -0700</date>
            <delta_ts>2021-07-16 18:02:22 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>25161</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDE4NmNmNzczOThmNy4uMzI0MGM2ZmNiYWVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0wNy0xNiAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFByZXZlbnQgSFNUUyB0cmFj
a2luZyBtaXRpZ2F0aW9uIGZvciB0b3AgbGV2ZWwgbmF2aWdhdGlvbiByZXF1ZXN0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTM2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2NmL0NG
TmV0d29ya1NQSS5oOgorCiAyMDIxLTA3LTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBTZXQga1ZUQ29tcHJlc3Npb25Qcm9wZXJ0eUtleV9NYXhLZXlGcmFt
ZUludGVydmFsIGluIFZpZGVvU2FtcGxlQnVmZmVyQ29tcHJlc3NvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAppbmRleCBjY2NiNmNiZmIwMzcuLmY4MWU3
YmEwNGM5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3
b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJ
LmgKQEAgLTQ5MSw2ICs0OTEsOCBAQCBXVEZfRVhURVJOX0NfRU5ECiBAaW50ZXJmYWNlIE5TVVJM
U2Vzc2lvbkNvbmZpZ3VyYXRpb24gKCkKIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIHJkYXI6
Ly9wcm9ibGVtLzQwNjUwMjQ0IGlzIGluIGEgYnVpbGQuCiBAcHJvcGVydHkgKGNvcHkpIE5TRGlj
dGlvbmFyeSAqX3NvY2tldFN0cmVhbVByb3BlcnRpZXM7CisvLyBGSVhNRTogUmVtb3ZlIHRoaXMg
b25jZSByZGFyOi8vODA1NTAxMjMgaXMgaW4gYSBidWlsZC4KK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIF9hbGxvd3NIU1RTV2l0aFVudHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZTsKIEBlbmQKIAog
QGludGVyZmFjZSBOU1VSTFNlc3Npb25UYXNrICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNjRkYzIxY2MwMS4u
Zjc1YzU5YjE2YzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA3LTE2ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUHJldmVu
dCBIU1RTIHRyYWNraW5nIG1pdGlnYXRpb24gZm9yIHRvcCBsZXZlbCBuYXZpZ2F0aW9uIHJlcXVl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5
MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2Ug
TlNVUkxSZXF1ZXN0LlVSTCBhcyB0aGUgZmlyc3QgcGFydHkgZm9yIGNvb2tpZXMgZm9yIEhTVFMg
cHVycG9zZXMgZHVyaW5nIHJlZGlyZWN0cyBpbnN0ZWFkIG9mIE5TVVJMUmVxdWVzdC5tYWluRG9j
dW1lbnRVUkwsCisgICAgICAgIHdoaWNoIGhhc24ndCBiZWVuIHVwZGF0ZWQgYmVjYXVzZSBDRk5l
dHdvcmsgZG9lc24ndCBrbm93IHRoYXQgdGhpcyBpcyB0aGUgbWFpbiBkb2N1bWVudCByZXF1ZXN0
IGFuZCB3aGVuIHJlZGlyZWN0ZWQsIHRoZSBtYWluIGRvY3VtZW50IFVSTCBhbHNvIGNoYW5nZXMu
CisKKyAgICAgICAgQ292ZXJlZCBieSBBUEkgdGVzdHMsIHdoaWNoIHdpbGwgc3RhcnQgY292ZXJp
bmcgdGhpcyBjYXNlIG9uY2UgcmRhcjovLzgwNTUwMTIzIGlzIGludGVncmF0ZWQuCisKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1ldGVycy5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNv
ZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbkNyZWF0aW9uUGFyYW1l
dGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBV
UkxTZXNzaW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21w
bGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVS
TFNlc3Npb246dGFzazpfc2NoZW1lVXBncmFkZWQ6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uQ29jb2E6Ok5ldHdvcmtTZXNzaW9uQ29jb2EpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAoLVtfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbiBhbGxvd3NIU1RTV2l0aFVudHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZV0pOgorICAgICAg
ICAoLVtfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBzZXRBbGxvd3NIU1RTV2l0aFVu
dHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3Rv
cmU6OnBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRh
U3RvcmVDb25maWd1cmF0aW9uOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKFdlYktp
dDo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmFsbG93c0hTVFNXaXRoVW50cnVzdGVk
Um9vdENlcnRpZmljYXRlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb246OnNldEFsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENlcnRpZmljYXRl
KToKKwogMjAyMS0wNy0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgZm9sbG93LXVwIHRvIHIyNzk2MDEgdG8gYWRkcmVzcyBzb21lIGFzc2Vy
dGlvbnMgb24gdGhlIGJvdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4
IGNmN2ZlOTdmMjI0OS4uNjAyNWE2MWJkMzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcApAQCAtODUsNiArODUsNyBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIg
PDwgcHJldmVudHNTeXN0ZW1IVFRQUHJveHlBdXRoZW50aWNhdGlvbjsKICAgICBlbmNvZGVyIDw8
IGFwcEhhc1JlcXVlc3RlZENyb3NzV2Vic2l0ZVRyYWNraW5nUGVybWlzc2lvbjsKICAgICBlbmNv
ZGVyIDw8IHVzZU5ldHdvcmtMb2FkZXI7CisgICAgZW5jb2RlciA8PCBhbGxvd3NIU1RTV2l0aFVu
dHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZTsKICAgICBlbmNvZGVyIDw8IHJlc291cmNlTG9hZFN0YXRp
c3RpY3NQYXJhbWV0ZXJzOwogfQogCkBAIC0yODIsNiArMjgzLDExIEBAIHN0ZDo6b3B0aW9uYWw8
TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25Q
YXJhbWV0ZXJzCiAgICAgaWYgKCF1c2VOZXR3b3JrTG9hZGVyKQogICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwogCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBhbGxvd3NIU1RTV2l0aFVudHJ1
c3RlZFJvb3RDZXJ0aWZpY2F0ZTsKKyAgICBkZWNvZGVyID4+IGFsbG93c0hTVFNXaXRoVW50cnVz
dGVkUm9vdENlcnRpZmljYXRlOworICAgIGlmICghYWxsb3dzSFNUU1dpdGhVbnRydXN0ZWRSb290
Q2VydGlmaWNhdGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgCiAgICAgc3Rk
OjpvcHRpb25hbDxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGFyYW1ldGVycz4gcmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1BhcmFtZXRlcnM7CiAgICAgZGVjb2RlciA+PiByZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGFyYW1ldGVyczsKICAgICBpZiAoIXJlc291cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJz
KQpAQCAtMzMzLDYgKzMzOSw3IEBAIHN0ZDo6b3B0aW9uYWw8TmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnM+IE5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzCiAgICAgICAgICwg
V1RGTW92ZSgqcHJldmVudHNTeXN0ZW1IVFRQUHJveHlBdXRoZW50aWNhdGlvbikKICAgICAgICAg
LCBXVEZNb3ZlKCphcHBIYXNSZXF1ZXN0ZWRDcm9zc1dlYnNpdGVUcmFja2luZ1Blcm1pc3Npb24p
CiAgICAgICAgICwgV1RGTW92ZSgqdXNlTmV0d29ya0xvYWRlcikKKyAgICAgICAgLCBXVEZNb3Zl
KCphbGxvd3NIU1RTV2l0aFVudHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZSkKICAgICAgICAgLCBXVEZN
b3ZlKCpyZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGFyYW1ldGVycykKICAgICB9fTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb25DcmVhdGlv
blBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Np
b25DcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCA5MDNiYjBjYTRjMTMuLjUwYzBiY2YwNWY0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbkNy
ZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtOTksNiArOTksNyBAQCBzdHJ1Y3Qg
TmV0d29ya1Nlc3Npb25DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgcHJldmVudHNTeXN0
ZW1IVFRQUHJveHlBdXRoZW50aWNhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBhcHBIYXNSZXF1
ZXN0ZWRDcm9zc1dlYnNpdGVUcmFja2luZ1Blcm1pc3Npb24geyBmYWxzZSB9OwogICAgIGJvb2wg
dXNlTmV0d29ya0xvYWRlciB7IGZhbHNlIH07CisgICAgYm9vbCBhbGxvd3NIU1RTV2l0aFVudHJ1
c3RlZFJvb3RDZXJ0aWZpY2F0ZSB7IGZhbHNlIH07CiAKICAgICBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzUGFyYW1ldGVycyByZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGFyYW1ldGVyczsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9u
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW0KaW5kZXggZmRjZTc2ODFmZTZmLi41NWFhOTUyM2IxYWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9u
Q29jb2EubW0KQEAgLTU4MCw3ICs1ODAsMTAgQEAgc3RhdGljIHZvaWQgdXBkYXRlSWdub3JlU3Ry
aWN0VHJhbnNwb3J0U2VjdXJpdHlTZXR0aW5nKFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+JgogICAg
ICAgICBib29sIHNob3VsZElnbm9yZUhTVFMgPSBmYWxzZTsKICNpZiBFTkFCTEUoUkVTT1VSQ0Vf
TE9BRF9TVEFUSVNUSUNTKQogICAgICAgICBpZiAoYXV0byogc2Vzc2lvbkNvY29hID0gbmV0d29y
a0RhdGFUYXNrLT5uZXR3b3JrU2Vzc2lvbigpKSB7Ci0gICAgICAgICAgICBzaG91bGRJZ25vcmVI
U1RTID0gc2NoZW1lV2FzVXBncmFkZWREdWVUb0R5bmFtaWNIU1RTKHJlcXVlc3QpICYmIHNlc3Np
b25Db2NvYS0+bmV0d29ya1Byb2Nlc3MoKS5zdG9yYWdlU2Vzc2lvbihzZXNzaW9uQ29jb2EtPnNl
c3Npb25JRCgpKS0+c2hvdWxkQmxvY2tDb29raWVzKHJlcXVlc3QsIG5ldHdvcmtEYXRhVGFzay0+
ZnJhbWVJRCgpLCBuZXR3b3JrRGF0YVRhc2stPnBhZ2VJRCgpLCBuZXR3b3JrRGF0YVRhc2stPnNo
b3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKCkpOworICAgICAgICAgICAgYXV0byog
c3RvcmFnZVNlc3Npb24gPSBzZXNzaW9uQ29jb2EtPm5ldHdvcmtQcm9jZXNzKCkuc3RvcmFnZVNl
c3Npb24oc2Vzc2lvbkNvY29hLT5zZXNzaW9uSUQoKSk7CisgICAgICAgICAgICBOU1VSTCAqZmly
c3RQYXJ0eUZvckNvb2tpZXMgPSBuZXR3b3JrRGF0YVRhc2stPmlzVG9wTGV2ZWxOYXZpZ2F0aW9u
KCkgPyByZXF1ZXN0LlVSTCA6IHJlcXVlc3QubWFpbkRvY3VtZW50VVJMOworICAgICAgICAgICAg
c2hvdWxkSWdub3JlSFNUUyA9IHNjaGVtZVdhc1VwZ3JhZGVkRHVlVG9EeW5hbWljSFNUUyhyZXF1
ZXN0KQorICAgICAgICAgICAgICAgICYmIHN0b3JhZ2VTZXNzaW9uLT5zaG91bGRCbG9ja0Nvb2tp
ZXMoZmlyc3RQYXJ0eUZvckNvb2tpZXMsIHJlcXVlc3QuVVJMLCBuZXR3b3JrRGF0YVRhc2stPmZy
YW1lSUQoKSwgbmV0d29ya0RhdGFUYXNrLT5wYWdlSUQoKSwgbmV0d29ya0RhdGFUYXNrLT5zaG91
bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZygpKTsKICAgICAgICAgICAgIGlmIChzaG91
bGRJZ25vcmVIU1RTKSB7CiAgICAgICAgICAgICAgICAgcmVxdWVzdCA9IGRvd25ncmFkZVJlcXVl
c3QocmVxdWVzdCk7CiAgICAgICAgICAgICAgICAgQVNTRVJUKFtyZXF1ZXN0LlVSTC5zY2hlbWUg
aXNFcXVhbFRvU3RyaW5nOkAiaHR0cCJdKTsKQEAgLTYxOCw3ICs2MjEsOSBAQCBzdGF0aWMgdm9p
ZCB1cGRhdGVJZ25vcmVTdHJpY3RUcmFuc3BvcnRTZWN1cml0eVNldHRpbmcoUmV0YWluUHRyPE5T
VVJMUmVxdWVzdD4mCiAgICAgICAgIGJvb2wgc2hvdWxkSWdub3JlSFNUUyA9IGZhbHNlOwogI2lm
IEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgICAgIGlmIChhdXRvKiBzZXNz
aW9uQ29jb2EgPSBuZXR3b3JrRGF0YVRhc2stPm5ldHdvcmtTZXNzaW9uKCkpIHsKLSAgICAgICAg
ICAgIHNob3VsZElnbm9yZUhTVFMgPSBzY2hlbWVXYXNVcGdyYWRlZER1ZVRvRHluYW1pY0hTVFMo
cmVxdWVzdCkgJiYgc2Vzc2lvbkNvY29hLT5uZXR3b3JrUHJvY2VzcygpLnN0b3JhZ2VTZXNzaW9u
KHNlc3Npb25Db2NvYS0+c2Vzc2lvbklEKCkpLT5zaG91bGRCbG9ja0Nvb2tpZXMocmVxdWVzdCwg
bmV0d29ya0RhdGFUYXNrLT5mcmFtZUlEKCksIG5ldHdvcmtEYXRhVGFzay0+cGFnZUlEKCksIG5l
dHdvcmtEYXRhVGFzay0+c2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcoKSk7Cisg
ICAgICAgICAgICBhdXRvKiBzdG9yYWdlU2Vzc2lvbiA9IHNlc3Npb25Db2NvYS0+bmV0d29ya1By
b2Nlc3MoKS5zdG9yYWdlU2Vzc2lvbihzZXNzaW9uQ29jb2EtPnNlc3Npb25JRCgpKTsKKyAgICAg
ICAgICAgIHNob3VsZElnbm9yZUhTVFMgPSBzY2hlbWVXYXNVcGdyYWRlZER1ZVRvRHluYW1pY0hT
VFMocmVxdWVzdCkKKyAgICAgICAgICAgICAgICAmJiBzdG9yYWdlU2Vzc2lvbi0+c2hvdWxkQmxv
Y2tDb29raWVzKHJlcXVlc3QsIG5ldHdvcmtEYXRhVGFzay0+ZnJhbWVJRCgpLCBuZXR3b3JrRGF0
YVRhc2stPnBhZ2VJRCgpLCBuZXR3b3JrRGF0YVRhc2stPnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNv
b2tpZUJsb2NraW5nKCkpOwogICAgICAgICAgICAgaWYgKHNob3VsZElnbm9yZUhTVFMpIHsKICAg
ICAgICAgICAgICAgICByZXF1ZXN0ID0gZG93bmdyYWRlUmVxdWVzdChyZXF1ZXN0KTsKICAgICAg
ICAgICAgICAgICBBU1NFUlQoW3JlcXVlc3QuVVJMLnNjaGVtZSBpc0VxdWFsVG9TdHJpbmc6QCJo
dHRwIl0pOwpAQCAtMTI0Niw2ICsxMjUxLDkgQEAgTmV0d29ya1Nlc3Npb25Db2NvYTo6TmV0d29y
a1Nlc3Npb25Db2NvYShOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIE5ldHdvcmsKICAg
ICBjb25maWd1cmF0aW9uLl91c2VzTldMb2FkZXIgPSBwYXJhbWV0ZXJzLnVzZU5ldHdvcmtMb2Fk
ZXI7CiAjZW5kaWYKIAorICAgIGlmIChwYXJhbWV0ZXJzLmFsbG93c0hTVFNXaXRoVW50cnVzdGVk
Um9vdENlcnRpZmljYXRlICYmIFtjb25maWd1cmF0aW9uIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX2FsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENlcnRpZmljYXRlKV0pCisgICAgICAg
IGNvbmZpZ3VyYXRpb24uX2FsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENlcnRpZmljYXRlID0g
WUVTOworICAgIAogI2lmIEhBVkUoQVBQX1NTTykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAg
ICAgY29uZmlndXJhdGlvbi5fcHJldmVudHNBcHBTU08gPSB0cnVlOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9y
ZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCmluZGV4IDU0MWEyYzI4OTAxZS4uYWNkMDRk
ODY3ZmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaApAQCAtNzQs
NiArNzQsNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpCiBA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhbGxvd3NTZXJ2ZXJQcmVjb25uZWN0IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTAuMTUuNCksIGlvcygxMy40KSk7CiBAcHJvcGVydHkgKG5vbmF0b21p
YywgbnVsbGFibGUsIGNvcHksIHNldHRlcj1zZXRIU1RTU3RvcmFnZURpcmVjdG9yeTopIE5TVVJM
ICpoc3RzU3RvcmFnZURpcmVjdG9yeSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEyLjApLCBpb3Mo
MTUuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgZW5hYmxlSW5BcHBCcm93c2VyUHJp
dmFjeUZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMi4wKSwgaW9zKDE1LjApKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENl
cnRpZmljYXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNVUkwgKmFsdGVybmF0aXZlU2Vy
dmljZXNTdG9yYWdlRGlyZWN0b3J5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMCksIGlvcygx
NC4wKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5tbQppbmRleCBh
ODRlOTI5ZTI2YjcuLjZhM2I2M2NiNjkwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvbi5tbQpAQCAtNDc5LDYgKzQ3OSwxNiBAQCBzdGF0aWMgdm9pZCBjaGVja1VSTEFy
Z3VtZW50KE5TVVJMICp1cmwpCiAgICAgX2NvbmZpZ3VyYXRpb24tPnNldEVuYWJsZUluQXBwQnJv
d3NlclByaXZhY3lGb3JUZXN0aW5nKGVuYWJsZSk7CiB9CiAKKy0gKEJPT0wpYWxsb3dzSFNUU1dp
dGhVbnRydXN0ZWRSb290Q2VydGlmaWNhdGUKK3sKKyAgICByZXR1cm4gX2NvbmZpZ3VyYXRpb24t
PmFsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENlcnRpZmljYXRlKCk7Cit9CisKKy0gKHZvaWQp
c2V0QWxsb3dzSFNUU1dpdGhVbnRydXN0ZWRSb290Q2VydGlmaWNhdGU6KEJPT0wpYWxsb3dzCit7
CisgICAgX2NvbmZpZ3VyYXRpb24tPnNldEFsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENlcnRp
ZmljYXRlKGFsbG93cyk7Cit9CisKIC0gKEJPT0wpYWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5h
Z2VtZW50UmVzdHJpY3Rpb25zRm9yVGVzdGluZwogewogICAgIHJldHVybiBfY29uZmlndXJhdGlv
bi0+YWxsTG9hZHNCbG9ja2VkQnlEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zRm9yVGVzdGlu
ZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCBkYzQ0M2FkNWFjOTEuLjBhMGYyMzIwNzQ0MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZS5jcHAKQEAgLTE5OTksNiArMTk5OSw3IEBAIFdlYnNpdGVEYXRhU3RvcmVQYXJh
bWV0ZXJzIFdlYnNpdGVEYXRhU3RvcmU6OnBhcmFtZXRlcnMoKQogICAgIG5ldHdvcmtTZXNzaW9u
UGFyYW1ldGVycy5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGFyYW1ldGVycyA9IFdURk1vdmUocmVz
b3VyY2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMpOwogICAgIG5ldHdvcmtTZXNzaW9uUGFyYW1l
dGVycy5yZXF1aXJlc1NlY3VyZUhUVFBTUHJveHlDb25uZWN0aW9uID0gbV9jb25maWd1cmF0aW9u
LT5yZXF1aXJlc1NlY3VyZUhUVFBTUHJveHlDb25uZWN0aW9uKCk7CiAgICAgbmV0d29ya1Nlc3Np
b25QYXJhbWV0ZXJzLnByZXZlbnRzU3lzdGVtSFRUUFByb3h5QXV0aGVudGljYXRpb24gPSBtX2Nv
bmZpZ3VyYXRpb24tPnByZXZlbnRzU3lzdGVtSFRUUFByb3h5QXV0aGVudGljYXRpb24oKTsKKyAg
ICBuZXR3b3JrU2Vzc2lvblBhcmFtZXRlcnMuYWxsb3dzSFNUU1dpdGhVbnRydXN0ZWRSb290Q2Vy
dGlmaWNhdGUgPSBtX2NvbmZpZ3VyYXRpb24tPmFsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENl
cnRpZmljYXRlKCk7CiAKICAgICBwYXJhbWV0ZXJzLm5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycyA9
IFdURk1vdmUobmV0d29ya1Nlc3Npb25QYXJhbWV0ZXJzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IDdiZTJjOTRlZmI5Yy4uYzcwMmQ0YTdhM2VlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC05Niw2ICs5Niw3
IEBAIFJlZjxXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0ZURhdGFTdG9yZUNv
bmZpZ3VyYXRpb246OmNvcHkoKSBjb25zdAogICAgIGNvcHktPm1fcHJldmVudHNTeXN0ZW1IVFRQ
UHJveHlBdXRoZW50aWNhdGlvbiA9IHRoaXMtPm1fcHJldmVudHNTeXN0ZW1IVFRQUHJveHlBdXRo
ZW50aWNhdGlvbjsKICAgICBjb3B5LT5tX3N0YW5kYWxvbmVBcHBsaWNhdGlvblVSTCA9IHRoaXMt
Pm1fc3RhbmRhbG9uZUFwcGxpY2F0aW9uVVJMOwogICAgIGNvcHktPm1fZW5hYmxlSW5BcHBCcm93
c2VyUHJpdmFjeUZvclRlc3RpbmcgPSB0aGlzLT5tX2VuYWJsZUluQXBwQnJvd3NlclByaXZhY3lG
b3JUZXN0aW5nOworICAgIGNvcHktPm1fYWxsb3dzSFNUU1dpdGhVbnRydXN0ZWRSb290Q2VydGlm
aWNhdGUgPSB0aGlzLT5tX2FsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENlcnRpZmljYXRlOwog
I2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGlmIChtX3Byb3h5Q29uZmlndXJhdGlvbikKICAgICAg
ICAgY29weS0+bV9wcm94eUNvbmZpZ3VyYXRpb24gPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0
ZUNvcHkobnVsbHB0ciwgdGhpcy0+bV9wcm94eUNvbmZpZ3VyYXRpb24uZ2V0KCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCmluZGV4IDBiMGRiNGQ0MzBjYy4uZWZhYTlj
ODBhMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKQEAgLTE3MSw2
ICsxNzEsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBlbmFibGVJbkFwcEJyb3dzZXJQcml2YWN5Rm9y
VGVzdGluZygpIGNvbnN0IHsgcmV0dXJuIG1fZW5hYmxlSW5BcHBCcm93c2VyUHJpdmFjeUZvclRl
c3Rpbmc7IH0KICAgICB2b2lkIHNldEVuYWJsZUluQXBwQnJvd3NlclByaXZhY3lGb3JUZXN0aW5n
KGJvb2wgdmFsdWUpIHsgbV9lbmFibGVJbkFwcEJyb3dzZXJQcml2YWN5Rm9yVGVzdGluZyA9IHZh
bHVlOyB9CiAgICAgCisgICAgYm9vbCBhbGxvd3NIU1RTV2l0aFVudHJ1c3RlZFJvb3RDZXJ0aWZp
Y2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dzSFNUU1dpdGhVbnRydXN0ZWRSb290Q2VydGlm
aWNhdGU7IH0KKyAgICB2b2lkIHNldEFsbG93c0hTVFNXaXRoVW50cnVzdGVkUm9vdENlcnRpZmlj
YXRlKGJvb2wgYWxsb3dzKSB7IG1fYWxsb3dzSFNUU1dpdGhVbnRydXN0ZWRSb290Q2VydGlmaWNh
dGUgPSBhbGxvd3M7IH0KKyAgICAKIHByaXZhdGU6CiAgICAgSXNQZXJzaXN0ZW50IG1faXNQZXJz
aXN0ZW50IHsgSXNQZXJzaXN0ZW50OjpObyB9OwogCkBAIC0yMjAsNiArMjIzLDcgQEAgcHJpdmF0
ZToKICAgICB1bnNpZ25lZCBtX3Rlc3RTcGVlZE11bHRpcGxpZXIgeyAxIH07CiAgICAgVVJMIG1f
c3RhbmRhbG9uZUFwcGxpY2F0aW9uVVJMOwogICAgIGJvb2wgbV9lbmFibGVJbkFwcEJyb3dzZXJQ
cml2YWN5Rm9yVGVzdGluZyB7IGZhbHNlIH07CisgICAgYm9vbCBtX2FsbG93c0hTVFNXaXRoVW50
cnVzdGVkUm9vdENlcnRpZmljYXRlIHsgZmFsc2UgfTsKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBtX3Byb3h5Q29uZmlndXJhdGlvbjsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE5
M2M3ZTg0ZWNkNC4uNGRhZjYxNDE4YTliIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDctMTYgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBQcmV2ZW50IEhT
VFMgdHJhY2tpbmcgbWl0aWdhdGlvbiBmb3IgdG9wIGxldmVsIG5hdmlnYXRpb24gcmVxdWVzdHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkzNgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9Tb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvSFNUUy5tbTogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpoYXNSYWRhcjgwNTUwMTIzKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmhzdHNXZWJW
aWV3QW5kRGVsZWdhdGUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6aHN0c1NlcnZlcik6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0wNy0wNyAgTGluZyBIbyAgPGxp
bmdob0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHByb3h5IHNlcnZlciBzZXR0aW5nIGZy
b20gQnVpbGRib3QgY29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9Tb3VyY2VzQ29jb2EudHh0IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Tb3VyY2VzQ29jb2EudHh0
CmluZGV4IDA0OTM5NTQ1ZTVjNC4uNGU2MTljZDU5MmM0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Tb3Vy
Y2VzQ29jb2EudHh0CkBAIC0zNSw2ICszNSw3IEBAIGNvY29hL1Rlc3RXS1dlYlZpZXcubW0KIGNv
Y29hL1VzZXJNZWRpYUNhcHR1cmVVSURlbGVnYXRlLm1tCiAKIFRlc3RzL1dlYktpdENvY29hL0V2
ZW50QXR0cmlidXRpb24ubW0KK1Rlc3RzL1dlYktpdENvY29hL0hTVFMubW0KIFRlc3RzL1dlYktp
dENvY29hL1Rlc3RBd2FrZW5lci5tbQogVGVzdHMvV2ViS2l0Q29jb2EvVExTRGVwcmVjYXRpb24u
bW0KIFRlc3RzL1dlYktpdENvY29hL1dlYlNvY2tldC5tbQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCAzYzliZjg5NjUxZjkuLmZmMzU1ZmFmMTdlMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTIzODEsNiArMjM4MSw3IEBACiAJCTVDQjE4QkE3MUY1NjQ1QjIwMEVFMjNDNCAvKiBDbGlj
a0F1dG9GaWxsQnV0dG9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gQ2xpY2tBdXRvRmlsbEJ1dHRvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NUNCM0NFMzgxRkExNjkxNzAwQzNBMkQ2IC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYlZpZXdDb25maWd1cmF0
aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0I0MEI0RDFGNEI5OEJFMDA3
REM3QjkgLyogVUlEZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFVJRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDQjU5
OTBBMjY5RTc0RUMwMDJBN0NGRiAvKiBIU1RTLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gSFNUUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNC
NUIzQkQxRkZDNTE3RTAwQzI3QkIwIC8qIEZyYW1lSGFuZGxlU2VyaWFsaXphdGlvbi5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IEZyYW1lSGFuZGxlU2VyaWFsaXphdGlvbi5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCN0FGREIyM0M0NTFFNDAwRTQ5Q0YzIC8qIFJlc291cmNl
TG9hZERlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UmVzb3VyY2VMb2FkRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVD
QkFBN0YzMjQzMjdGNkIwMDU2NEE4QiAvKiBUZXN0VUlEZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBUZXN0VUlEZWxlZ2F0ZS5oOyBwYXRoID0gY29jb2EvVGVzdFVJ
RGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM0NjgsNiArMzQ2OSw3
IEBACiAJCQkJMDdFMUY2QTAxRkZDM0EwODAwOTZDN0VDIC8qIEdldERpc3BsYXlNZWRpYS5tbSAq
LywKIAkJCQkyREFERjI2MjIxQ0I4RjMyMDAzRDNFM0EgLyogR2V0UmVzb3VyY2VEYXRhLm1tICov
LAogCQkJCTQ2NUUyODA2MjU1QjJBNjkwMDYzQTc4NyAvKiBHUFVQcm9jZXNzLm1tICovLAorCQkJ
CTVDQjU5OTBBMjY5RTc0RUMwMDJBN0NGRiAvKiBIU1RTLm1tICovLAogCQkJCTUxQUYyM0RFMUVG
MUEzNzIwMDcyRjI4MSAvKiBJY29uTG9hZGluZ0RlbGVnYXRlLm1tICovLAogCQkJCUVCMjMwRDNF
MjQ1RTcyNjMwMEM2NkFEMSAvKiBJREJDaGVja3BvaW50V0FMLm1tICovLAogCQkJCTUxMDQ3Nzc1
MUQyOThFMDMwMDk3NDdFQiAvKiBJREJEZWxldGVSZWNvdmVyeS5tbSAqLywKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSFNUUy5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSFNUUy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLjZiZjM0ZTY1ZTc2OQotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSFNUUy5tbQpAQCAtMCwwICsxLDE3
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJIVFRQU2Vy
dmVyLmgiCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVENQU2VydmVy
LmgiCisjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0ICJUZXN0VUlE
ZWxlZ2F0ZS5oIgorI2ltcG9ydCAiVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJz
aXRlRGF0YVN0b3JlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgor
CituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKKyNpZiBIQVZFKFNTTCkKKworc3RhdGljIGJv
b2wgaGFzUmFkYXI4MDU1MDEyMygpCit7CisgICAgLy8gRklYTUU6IFJlcGxhY2UgdGhpcyB3aXRo
IGEgSEFTIG1hY3JvIG9uY2UgcmRhcjovLzgwNTUwMTIzIGlzIGluIGEgYnVpbGQuCisgICAgcmV0
dXJuIFtbTlNVUkxTZXNzaW9uQ29uZmlndXJhdGlvbiBlcGhlbWVyYWxTZXNzaW9uQ29uZmlndXJh
dGlvbl0gcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYWxsb3dzSFNUU1dpdGhVbnRydXN0
ZWRSb290Q2VydGlmaWNhdGUpXTsKK30KKworc3RkOjpwYWlyPFJldGFpblB0cjxXS1dlYlZpZXc+
LCBSZXRhaW5QdHI8VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZT4+IGhzdHNXZWJWaWV3QW5kRGVsZWdh
dGUoY29uc3QgVENQU2VydmVyJiBodHRwc1NlcnZlciwgY29uc3QgSFRUUFNlcnZlciYgaHR0cFNl
cnZlcikKK3sKKyAgICBhdXRvIHN0b3JlQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tXZWJz
aXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdE5vblBlcnNpc3RlbnRDb25maWd1
cmF0aW9uXSk7CisgICAgW3N0b3JlQ29uZmlndXJhdGlvbiBzZXRIVFRQU1Byb3h5OltOU1VSTCBV
UkxXaXRoU3RyaW5nOltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiaHR0cHM6Ly8xMjcuMC4w
LjE6JWQvIiwgaHR0cHNTZXJ2ZXIucG9ydCgpXV1dOworICAgIFtzdG9yZUNvbmZpZ3VyYXRpb24g
c2V0SFRUUFByb3h5OltOU1VSTCBVUkxXaXRoU3RyaW5nOltOU1N0cmluZyBzdHJpbmdXaXRoRm9y
bWF0OkAiaHR0cDovLzEyNy4wLjAuMTolZC8iLCBodHRwU2VydmVyLnBvcnQoKV1dXTsKKyAgICBb
c3RvcmVDb25maWd1cmF0aW9uIHNldEFsbG93c1NlcnZlclByZWNvbm5lY3Q6Tk9dOworICAgIFtz
dG9yZUNvbmZpZ3VyYXRpb24gc2V0QWxsb3dzSFNUU1dpdGhVbnRydXN0ZWRSb290Q2VydGlmaWNh
dGU6WUVTXTsKKyAgICBhdXRvIHZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbV0tXZWJWaWV3
Q29uZmlndXJhdGlvbiBuZXddKTsKKyAgICBbdmlld0NvbmZpZ3VyYXRpb24gc2V0V2Vic2l0ZURh
dGFTdG9yZTphZG9wdE5TKFtbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhDb25m
aWd1cmF0aW9uOnN0b3JlQ29uZmlndXJhdGlvbi5nZXQoKV0pLmdldCgpXTsKKyAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1h
a2UoMCwgMCwgMTAwLCAxMDApIGNvbmZpZ3VyYXRpb246dmlld0NvbmZpZ3VyYXRpb24uZ2V0KCld
KTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZSBu
ZXddKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCld
OworCisgICAgZGVsZWdhdGUuZ2V0KCkuZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
ID0gXihXS1dlYlZpZXcgKiwgTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqY2hhbGxlbmdl
LCB2b2lkICheY29tcGxldGlvbkhhbmRsZXIpKE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VEaXNw
b3NpdGlvbiwgTlNVUkxDcmVkZW50aWFsICopKSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShj
aGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uTWV0aG9kLCBOU1VSTEF1dGhl
bnRpY2F0aW9uTWV0aG9kU2VydmVyVHJ1c3QpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihO
U1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlVXNlQ3JlZGVudGlhbCwgW05TVVJMQ3JlZGVudGlhbCBj
cmVkZW50aWFsRm9yVHJ1c3Q6Y2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUcnVzdF0p
OworICAgIH07CisgICAgcmV0dXJuIHsgV1RGTW92ZSh3ZWJWaWV3KSwgV1RGTW92ZShkZWxlZ2F0
ZSkgfTsKK30KKworc3RhdGljIFRDUFNlcnZlciBoc3RzU2VydmVyKHNpemVfdCByZXBsaWVzKQor
eworICAgIC8vIEZJWE1FOiBVc2UgbndfZnJhbWVyX3QgdG8gc3VwcG9ydCBIVFRQUyBwcm94aWVz
IGluIEhUVFBTZXJ2ZXIgYW5kIHJlbW92ZSBUQ1BTZXJ2ZXIuCisgICAgcmV0dXJuIFRDUFNlcnZl
cihUQ1BTZXJ2ZXI6OlByb3RvY29sOjpIVFRQU1Byb3h5LCBbPV0gKFNTTCogc3NsKSB7CisgICAg
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVwbGllczsgaSsrKSB7CisgICAgICAgICAgICBU
Q1BTZXJ2ZXI6OnJlYWQoc3NsKTsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIHJlc3BvbnNlID0K
KyAgICAgICAgICAgICAgICAiSFRUUC8xLjEgMjAwIE9LXHJcbiIKKyAgICAgICAgICAgICAgICAi
Q29udGVudC1MZW5ndGg6IDBcclxuIgorICAgICAgICAgICAgICAgICJTdHJpY3QtVHJhbnNwb3J0
LVNlY3VyaXR5OiBtYXgtYWdlPTMxNTM2MDAwXHJcbiIKKyAgICAgICAgICAgICAgICAiXHJcbiI7
CisgICAgICAgICAgICBUQ1BTZXJ2ZXI6OndyaXRlKHNzbCwgcmVzcG9uc2UsIHN0cmxlbihyZXNw
b25zZSkpOworICAgICAgICB9CisgICAgfSk7Cit9CisKK1RFU1QoSFNUUywgQmFzaWMpCit7Cisg
ICAgaWYgKCFoYXNSYWRhcjgwNTUwMTIzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8g
aHR0cHNTZXJ2ZXIgPSBoc3RzU2VydmVyKDIpOworCisgICAgSFRUUFNlcnZlciBodHRwU2VydmVy
KHt7ICJodHRwOi8vZXhhbXBsZS5jb20vIiwgeyB7eyAiU3RyaWN0LVRyYW5zcG9ydC1TZWN1cml0
eSIsICJtYXgtYWdlPTMxNTM2MDAwIn19LCAiaGkiIH19fSk7CisKKyAgICBhdXRvIFt3ZWJWaWV3
LCBkZWxlZ2F0ZV0gPSBoc3RzV2ViVmlld0FuZERlbGVnYXRlKGh0dHBzU2VydmVyLCBodHRwU2Vy
dmVyKTsKKworICAgIE5TVVJMUmVxdWVzdCAqaHR0cFJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJl
cXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cDovL2V4YW1wbGUuY29tLyJd
XTsKKyAgICBOU1VSTFJlcXVlc3QgKmh0dHBzUmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwczovL2V4YW1wbGUuY29tLyJdXTsK
KworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0Omh0dHBSZXF1ZXN0XTsKKyAgICBbZGVsZWdhdGUg
d2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworICAgIEVYUEVDVF9XS19TVFJFUSh3ZWJWaWV3
LmdldCgpLlVSTC5hYnNvbHV0ZVN0cmluZywgImh0dHA6Ly9leGFtcGxlLmNvbS8iKTsKKworICAg
IFt3ZWJWaWV3IHJlbG9hZF07CisgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0
aW9uXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEod2ViVmlldy5nZXQoKS5VUkwuYWJzb2x1dGVTdHJp
bmcsICJodHRwOi8vZXhhbXBsZS5jb20vIik7CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpo
dHRwc1JlcXVlc3RdOworICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07
CisgICAgRVhQRUNUX1dLX1NUUkVRKHdlYlZpZXcuZ2V0KCkuVVJMLmFic29sdXRlU3RyaW5nLCAi
aHR0cHM6Ly9leGFtcGxlLmNvbS8iKTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0Omh0dHBS
ZXF1ZXN0XTsKKyAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworICAg
IEVYUEVDVF9XS19TVFJFUSh3ZWJWaWV3LmdldCgpLlVSTC5hYnNvbHV0ZVN0cmluZywgImh0dHBz
Oi8vZXhhbXBsZS5jb20vIik7Cit9CisKK1RFU1QoSFNUUywgVGhpcmRQYXJ0eSkKK3sKKyAgICBp
ZiAoIWhhc1JhZGFyODA1NTAxMjMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBodHRw
c1NlcnZlciA9IGhzdHNTZXJ2ZXIoMSk7CisKKyAgICBjb25zdCBjaGFyKiBodG1sID0gIjxzY3Jp
cHQ+IgorICAgICAgICAidmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOyIKKyAgICAgICAg
Inhoci5vcGVuKCdHRVQnLCAnaHR0cDovL2V4YW1wbGUuY29tLycpOyIKKyAgICAgICAgInhoci5v
bnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7IGlmKHhoci5yZWFkeVN0YXRlID09IDQp
IHsgYWxlcnQoeGhyLnJlc3BvbnNlVVJMICsgJyAnICsgeGhyLnJlc3BvbnNlVGV4dCkgfSB9OyIK
KyAgICAgICAgInhoci5zZW5kKCk7IgorICAgICAgICAiPC9zY3JpcHQ+IjsKKyAgICAKKyAgICBI
VFRQU2VydmVyIGh0dHBTZXJ2ZXIoeworICAgICAgICB7ICJodHRwOi8vZXhhbXBsZS5jb20vIiwg
eyB7eyAiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgImh0dHA6Ly9leGFtcGxlLm9yZyIg
fX0sICJoaSIgfX0sCisgICAgICAgIHsgImh0dHA6Ly9leGFtcGxlLm9yZy8iLCB7IGh0bWwgfX0s
CisgICAgfSk7CisgICAgCisgICAgYXV0byBbd2ViVmlldywgZGVsZWdhdGVdID0gaHN0c1dlYlZp
ZXdBbmREZWxlZ2F0ZShodHRwc1NlcnZlciwgaHR0cFNlcnZlcik7CisKKyAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAiaHR0cHM6Ly9leGFtcGxlLmNvbS8iXV1dOworICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlk
RmluaXNoTmF2aWdhdGlvbl07CisgICAgRVhQRUNUX1dLX1NUUkVRKHdlYlZpZXcuZ2V0KCkuVVJM
LmFic29sdXRlU3RyaW5nLCAiaHR0cHM6Ly9leGFtcGxlLmNvbS8iKTsKKworICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhT
dHJpbmc6QCJodHRwOi8vZXhhbXBsZS5vcmcvIl1dXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoW3dl
YlZpZXcgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgImh0dHA6Ly9leGFtcGxlLmNvbS8gaGkiKTsKKyAg
ICBFWFBFQ1RfRVEoaHR0cFNlcnZlci50b3RhbFJlcXVlc3RzKCksIDJ1KTsKK30KKworVEVTVChI
U1RTLCBDcm9zc09yaWdpblJlZGlyZWN0KQoreworICAgIGlmICghaGFzUmFkYXI4MDU1MDEyMygp
KQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGh0dHBzU2VydmVyID0gaHN0c1NlcnZlcigy
KTsKKworICAgIEhUVFBTZXJ2ZXIgaHR0cFNlcnZlcih7CisgICAgICAgIHsgImh0dHA6Ly9leGFt
cGxlLmNvbS8iLCB7ICJoaSIgfX0sCisgICAgICAgIHsgImh0dHA6Ly9leGFtcGxlLm9yZy8iLCB7
IDMwMSwge3sgIkxvY2F0aW9uIiwgImh0dHA6Ly9leGFtcGxlLmNvbS8iIH19IH0gfSwKKyAgICB9
KTsKKworICAgIGF1dG8gW3dlYlZpZXcsIGRlbGVnYXRlXSA9IGhzdHNXZWJWaWV3QW5kRGVsZWdh
dGUoaHR0cHNTZXJ2ZXIsIGh0dHBTZXJ2ZXIpOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6
W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBz
Oi8vZXhhbXBsZS5jb20vIl1dXTsKKyAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb25dOworICAgIEVYUEVDVF9XS19TVFJFUSh3ZWJWaWV3LmdldCgpLlVSTC5hYnNvbHV0ZVN0
cmluZywgImh0dHBzOi8vZXhhbXBsZS5jb20vIik7CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVz
dDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0
cDovL2V4YW1wbGUub3JnLyJdXV07CisgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZp
Z2F0aW9uXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEod2ViVmlldy5nZXQoKS5VUkwuYWJzb2x1dGVT
dHJpbmcsICJodHRwczovL2V4YW1wbGUuY29tLyIpOworICAgIEVYUEVDVF9FUShodHRwU2VydmVy
LnRvdGFsUmVxdWVzdHMoKSwgMXUpOworfQorCisjZW5kaWYgLy8gSEFWRShTU0wpCisKK30gLy8g
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>
<flag name="review"
          id="456030"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>