<?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>96600</bug_id>
          
          <creation_ts>2012-09-12 22:01:28 -0700</creation_ts>
          <short_desc>REGRESSION(r127876): mouse click doesn&apos;t work for spin button if spin button in iframe (Requested by yosin on #webkit).</short_desc>
          <delta_ts>2012-09-12 22:09:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95720</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>719037</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 22:01:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/127876 broke the build:
mouse click doesn&apos;t work for spin button if spin button in iframe (Requested by yosin on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719039</commentid>
    <comment_count>1</comment_count>
      <attachid>163773</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 22:02:16 -0700</bug_when>
    <thetext>Created attachment 163773
ROLLOUT of r127876

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719042</commentid>
    <comment_count>2</comment_count>
      <attachid>163773</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 22:09:37 -0700</bug_when>
    <thetext>Comment on attachment 163773
ROLLOUT of r127876

Clearing flags on attachment: 163773

Committed r128403: &lt;http://trac.webkit.org/changeset/128403&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719043</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 22:09:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163773</attachid>
            <date>2012-09-12 22:02:16 -0700</date>
            <delta_ts>2012-09-12 22:09:37 -0700</delta_ts>
            <desc>ROLLOUT of r127876</desc>
            <filename>bug-96600-20120913050839.patch</filename>
            <type>text/plain</type>
            <size>64504</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDkwMTljMzc1ODI1ZTIz
MDM2NzljNzQyMTZjZjMwZTVmZmJlNDA0Mi4uMTZkNjc4Yzk3NzRmYjNkZDIyYWM0OTNiNWExNDc0
NWU2OTlmZDI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA5LTEyICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI3ODc2LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjc4NzYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2NjAwCisKKyAgICAgICAgbW91c2UgY2xpY2sgZG9lc24ndCB3b3JrIGZvciBz
cGluIGJ1dHRvbiBpZiBzcGluIGJ1dHRvbiBpbgorICAgICAgICBpZnJhbWUgKFJlcXVlc3RlZCBi
eSB5b3NpbiBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIFdlYkNvcmUub3JkZXI6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50Ojpub2Rlc0Zyb21SZWN0KToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNy
ZWF0ZUNvbnRleHRNZW51KToKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpjYW5Qcm9jZXNzRHJhZyk6CisgICAgICAg
IChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKToKKyAgICAgICAgKiBwYWdlL0V2
ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnVwZGF0ZUF1
dG9zY3JvbGxSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhpdFRl
c3RSZXN1bHRBdFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxl
TW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxl
R2VzdHVyZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6YmVzdENsaWNr
YWJsZU5vZGVGb3JUb3VjaFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
YmVzdENvbnRleHRNZW51Tm9kZUZvclRvdWNoUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpiZXN0Wm9vbWFibGVBcmVhRm9yVG91Y2hQb2ludCk6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQpOgorICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmg6CisgICAgICAgIChFdmVudEhhbmRsZXIpOgorICAgICAgICAqIHBhZ2UvRm9j
dXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0ZUZvY3VzQ2FuZGlkYXRl
SWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWU6OnZpc2libGVQb3NpdGlvbkZvclBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Ojpkb2N1bWVudEF0UG9pbnQpOgorICAgICAgICAqIHBhZ2UvVG91Y2hEaXNhbWJpZ3VhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpmaW5kR29vZFRvdWNoVGFyZ2V0cyk6CisgICAgICAgICog
cmVuZGVyaW5nL0hpdFRlc3RSZXF1ZXN0Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpub2Rlc0Zyb21SZWN0KToKKwogMjAx
Mi0wOS0wOSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEpTQyBz
aG91bGQgaGF2ZSBwcm9wZXJ0eSBidXR0ZXJmbGllcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VM
b2cKaW5kZXggZWQ2YzU5MWJhNmEzNDFkZDMwNzQ0OGEwYjgzMjhkMmZlN2JmMmI1Mi4uYjg1OGVj
NmJhYTlkYjlhYzk5MDE3NGYwMmExMzlmM2VjOTFmMmYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDktMTIgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMjc4NzYuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEy
Nzg3NgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY2
MDAKKworICAgICAgICBtb3VzZSBjbGljayBkb2Vzbid0IHdvcmsgZm9yIHNwaW4gYnV0dG9uIGlm
IHNwaW4gYnV0dG9uIGluCisgICAgICAgIGlmcmFtZSAoUmVxdWVzdGVkIGJ5IHlvc2luIG9uICN3
ZWJraXQpLgorCisgICAgICAgICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6Y29udGV4dE5vZGUpOgorICAgICAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6bm9kZUZvclpvb21VbmRlclBvaW50KToKKyAg
ICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OmhhbmRsZU1vdXNlRXZl
bnQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlOjpub2RlQXRQb2ludCk6
CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9GYXRGaW5nZXJzLmNwcDoKKyAgICAgICAgKEJsYWNr
QmVycnk6OldlYktpdDo6RmF0RmluZ2Vyczo6Z2V0Tm9kZXNGcm9tUmVjdCk6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OkZhdEZpbmdlcnM6OmdldFJlbGV2YW50SW5mb0Zyb21Qb2ludCk6
CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmNwcDoKKyAgICAgICAg
KEJsYWNrQmVycnk6OldlYktpdDo6dmlzaWJsZVBvc2l0aW9uRm9yUG9pbnRJZ25vcmluZ0NsaXBw
aW5nKToKKwogMjAxMi0wOS0xMiAgU2FtaSBLeW9zdGlsYSAgPHNreW9zdGlsQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmVuYW1lIE9WRVJGTE9XX1NDUk9MTElORyBhcyBBQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYjAwZTM1ZTg2OGFm
MmIzZTFhMjAwMzdmY2UyOTcyNWMyOGIzYWNlOC4uYjhiMGJmN2ZiMGUzZGJiZTc0MGZiNDFkZmFk
YWZhZTg0OTNlZDMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBA
QAorMjAxMi0wOS0xMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNzg3Ni4KKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI3ODc2CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjYwMAorCisgICAgICAgIG1vdXNlIGNsaWNr
IGRvZXNuJ3Qgd29yayBmb3Igc3BpbiBidXR0b24gaWYgc3BpbiBidXR0b24gaW4KKyAgICAgICAg
aWZyYW1lIChSZXF1ZXN0ZWQgYnkgeW9zaW4gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBzcmMv
Q29udGV4dE1lbnVDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6c2VsZWN0TWlzc3Bl
bGxlZFdvcmQpOgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoRGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y2hhcmFjdGVySW5kZXhGb3JQb2ludCk6Cisg
ICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjppc1JlY3RUb3Btb3N0KToKKyAgICAgICAgKiBzcmMv
V2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlTW91
c2VVcCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjb21wdXRlQmxvY2tCb3VuZHMp
OgorCiAyMDEyLTA5LTEyICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgV2ViR2VzdHVyZUV2ZW50IGZpZWxkcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCmluZGV4IGI5NjViZTY5ZjcxNTdlYzU0NzA3Y2I5YTZmNTg2OTUxMGE5NTcxN2Mu
LjQyZWJmNDc0NjJjM2ZiYzVlZDNmMTZhZDA4MjFhNjQ1OGQ2MmIxM2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wOS0xMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEy
Nzg3Ni4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI3ODc2Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjYwMAorCisg
ICAgICAgIG1vdXNlIGNsaWNrIGRvZXNuJ3Qgd29yayBmb3Igc3BpbiBidXR0b24gaWYgc3BpbiBi
dXR0b24gaW4KKyAgICAgICAgaWZyYW1lIChSZXF1ZXN0ZWQgYnkgeW9zaW4gb24gI3dlYmtpdCku
CisKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19mcmFtZV9oaXRf
dGVzdF9uZXcpOgorCiAyMDEyLTA5LTEyICBLeXVuZ1RhZSBLaW0gIDxrdGYua2ltQHNhbXN1bmcu
Y29tPgogCiAgICAgICAgIFtFRkxdIFN1cHBvcnQgZG93bmxvYWQgYXR0cmlidXRlIGZlYXR1cmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwppbmRleCA0OWZhMzlmNzgwYTEwOWMxZjA2MmFhZjEzNDhhNWM3NGQwNjc4
YzlhLi45ZTY1MmVjYWQ5NWYwYjFlMzc0YmIxZDBhOTQyYTJjMDlkMzIzOWQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDktMTIgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxMjc4NzYuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyNzg3
NgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY2MDAK
KworICAgICAgICBtb3VzZSBjbGljayBkb2Vzbid0IHdvcmsgZm9yIHNwaW4gYnV0dG9uIGlmIHNw
aW4gYnV0dG9uIGluCisgICAgICAgIGlmcmFtZSAoUmVxdWVzdGVkIGJ5IHlvc2luIG9uICN3ZWJr
aXQpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06
CisgICAgICAgIChXZWJGcmFtZUxvYWRlckNsaWVudDo6YWN0aW9uRGljdGlvbmFyeSk6CisgICAg
ICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgZWxl
bWVudEF0UG9pbnQ6YWxsb3dTaGFkb3dDb250ZW50Ol0pOgorCiAyMDEyLTA5LTExICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFjIGJ1aWxkIGZpeDogQ29t
bWl0IGEgZmlsZSBJIGZvcmdvdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggYWRjMzkzYzYwMTJlZDgxYzc3
OGRjMjc0YmI3MzNkMThlOWUyNzYyNy4uMmM2MjllYjhiMTY1MWNiMjNhZGViN2FjODY0YWViNzlj
ZDNhNzI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wOS0xMiAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjEyNzg3Ni4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMTI3ODc2CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NjYwMAorCisgICAgICAgIG1vdXNlIGNsaWNrIGRvZXNuJ3Qgd29yayBmb3Ig
c3BpbiBidXR0b24gaWYgc3BpbiBidXR0b24gaW4KKyAgICAgICAgaWZyYW1lIChSZXF1ZXN0ZWQg
YnkgeW9zaW4gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmNwcDoKKyAg
ICAgICAgKFFXZWJGcmFtZTo6aGl0VGVzdENvbnRlbnQpOgorICAgICAgICAqIEFwaS9xd2VicGFn
ZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OmhhbmRsZVNvZnR3YXJlSW5wdXRQYW5l
bCk6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OlRvdWNoQWRqdXN0ZXI6OmZpbmRDYW5kaWRh
dGVQb2ludEZvclRvdWNoKToKKyAgICAgICAgKFFXZWJQYWdlOjp1cGRhdGVQb3NpdGlvbkRlcGVu
ZGVudEFjdGlvbnMpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hE
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKwogMjAxMi0wOS0xMiAgUm9sYW5kIFRh
a2FjcyAgPHJ0YWthY3NAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtRdF0gU2VnbWVudGF0
aW9uIGZhdWx0IHdoZW4gY2xvc2luZyBRdFRlc3RCcm93c2VyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXgg
OGExMTFhMDA2MjVjYTQ0Yjc1MjRlYTdmMzAyYjE2Y2ZiYmE5N2IxMS4uMzlmNDY3NGQwMzVmZmYy
Mjc4MmJmNDM1ZWY4ZGIzZDU1MDIwMWJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDEyLTA5LTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI3ODc2LgorICAgICAgICBo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjc4NzYKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2NjAwCisKKyAgICAgICAgbW91c2UgY2xp
Y2sgZG9lc24ndCB3b3JrIGZvciBzcGluIGJ1dHRvbiBpZiBzcGluIGJ1dHRvbiBpbgorICAgICAg
ICBpZnJhbWUgKFJlcXVlc3RlZCBieSB5b3NpbiBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdl
YkFjdGlvblByb3BlcnR5QmFnLmNwcDoKKyAgICAgICAgKFdlYkFjdGlvblByb3BlcnR5QmFnOjpS
ZWFkKToKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmhhbmRsZUNv
bnRleHRNZW51RXZlbnQpOgorICAgICAgICAoV2ViVmlldzo6ZWxlbWVudEF0UG9pbnQpOgorCiAy
MDEyLTA5LTEwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYxNTgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5k
ZXggNGYzYmRhYjE1YzkxMjY4YWQ5M2IyNmI4ODRiNDdiZDRiMWJiNmFjMy4uZjNlODI0NDVjMTRj
MWE1ZGY5NjFjZmVjYTFkZjZkMDdhODVlYjI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
eC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxMi0wOS0xMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5j
b20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNzg3Ni4KKyAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI3ODc2CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjYwMAorCisgICAgICAgIG1vdXNlIGNs
aWNrIGRvZXNuJ3Qgd29yayBmb3Igc3BpbiBidXR0b24gaWYgc3BpbiBidXR0b24gaW4KKyAgICAg
ICAgaWZyYW1lIChSZXF1ZXN0ZWQgYnkgeW9zaW4gb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBX
ZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpIaXRUZXN0KToKKwogMjAx
Mi0wOS0wNyAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4K
IAogICAgICAgICBTaW1wbGlmeSBoaXRUZXN0UmVzdWx0QXRQb2ludCBhbmQgbm9kZXNGcm9tUmVj
dCBBUElzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGFmNGZkYmU1NDkxZDFiYzAzMGEzMTVmMGRhNzA1MWU2MmFh
YzVjYi4uZmY2NjNmYmExYjRhOGY2NTQzNWNkMGExZDU4YzBjMzhkZjQyOGVmYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA5LTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI3
ODc2LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjc4NzYKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2NjAwCisKKyAg
ICAgICAgbW91c2UgY2xpY2sgZG9lc24ndCB3b3JrIGZvciBzcGluIGJ1dHRvbiBpZiBzcGluIGJ1
dHRvbiBpbgorICAgICAgICBpZnJhbWUgKFJlcXVlc3RlZCBieSB5b3NpbiBvbiAjd2Via2l0KS4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVOYXZp
Z2F0aW9uQWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVOYXZpZ2F0
aW9uQWN0aW9uOjpJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aGFuZGxlQ29u
dGV4dE1lbnVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhpZ2hsaWdodFBvdGVu
dGlhbEFjdGl2YXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpmaW5kWm9vbWFibGVB
cmVhRm9yUG9pbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2hhcmFjdGVySW5kZXhGb3JQb2ludCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2Nh
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNob3VsZERlbGF5V2luZG93T3JkZXJp
bmdFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFjY2VwdHNGaXJzdE1vdXNlKToK
KyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUu
ZGVmOgorCiAyMDEyLTA5LTEyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBc3NlcnQgaW4gTmV0c2NhcGVQbHVnaW46OmRlc3Ryb3koKSB3aXRoIGFzeW5jIHBs
dWdpbiBpbml0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDM5NDFhYmMzYjJjZDhiNTRmYjQyODZl
MWExZThjNmI0ODMxZTQ2YzIuLmNlN2FlMmNjMDRkODk2MDJmYmNmNWJiNTg4ZTgxMzhlZGU1NmM1
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNTgsNyArMTU4LDcgQEAgX19aTjdXZWJDb3Jl
MTJFdmVudEhhbmRsZXIxNHNjcm9sbE92ZXJmbG93RU5TXzE1U2Nyb2xsRGlyZWN0aW9uRU5TXzE3
U2Nyb2xsR3JhbnUKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTVoYW5kbGVBY2Nlc3NLZXlF
UktOU18yMVBsYXRmb3JtS2V5Ym9hcmRFdmVudEUKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVy
MTZoYW5kbGVXaGVlbEV2ZW50RVJLTlNfMThQbGF0Zm9ybVdoZWVsRXZlbnRFCiBfX1pON1dlYkNv
cmUxMkV2ZW50SGFuZGxlcjE3c2Nyb2xsUmVjdXJzaXZlbHlFTlNfMTVTY3JvbGxEaXJlY3Rpb25F
TlNfMTdTY3JvbGxHcmFudWxhcml0eUVQTlNfNE5vZGVFCi1fX1pON1dlYkNvcmUxMkV2ZW50SGFu
ZGxlcjIwaGl0VGVzdFJlc3VsdEF0UG9pbnRFUktOU18yMUZyYWN0aW9uYWxMYXlvdXRQb2ludEVq
UktOU18yMEZyYWN0aW9uYWxMYXlvdXRTaXplRQorX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIy
MGhpdFRlc3RSZXN1bHRBdFBvaW50RVJLTlNfMjFGcmFjdGlvbmFsTGF5b3V0UG9pbnRFYmJOU18x
N0hpdFRlc3RTY3JvbGxiYXJzRWpSS05TXzIwRnJhY3Rpb25hbExheW91dFNpemVFCiBfX1pON1dl
YkNvcmUxMkV2ZW50SGFuZGxlcjIxaGFuZGxlTW91c2VQcmVzc0V2ZW50RVJLTlNfMThQbGF0Zm9y
bU1vdXNlRXZlbnRFCiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjIzaGFuZGxlTW91c2VSZWxl
YXNlRXZlbnRFUktOU18xOFBsYXRmb3JtTW91c2VFdmVudEUKIF9fWk43V2ViQ29yZTEyRXZlbnRI
YW5kbGVyMjRsb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHlFTlNfMjJTY3JvbGxMb2dpY2FsRGlyZWN0
aW9uRU5TXzE3U2Nyb2xsR3JhbnVsYXJpdHlFUE5TXzROb2RlRQpAQCAtMTM1Nyw3ICsxMzU3LDcg
QEAgX19aTks3V2ViQ29yZTdSdW5Mb29wOVRpbWVyQmFzZThpc0FjdGl2ZUV2CiBfX1pOSzdXZWJD
b3JlOERvY3VtZW50MTByZW5kZXJWaWV3RXYKIF9fWk5LN1dlYkNvcmU4RG9jdW1lbnQxMWNvbXBs
ZXRlVVJMRVJLTjNXVEY2U3RyaW5nRQogX19aTks3V2ViQ29yZThEb2N1bWVudDEzYXhPYmplY3RD
YWNoZUV2Ci1fX1pOSzdXZWJDb3JlOERvY3VtZW50MTNub2Rlc0Zyb21SZWN0RWlpampqamoKK19f
Wk5LN1dlYkNvcmU4RG9jdW1lbnQxM25vZGVzRnJvbVJlY3RFaWlqampqYmJiCiBfX1pOSzdXZWJD
b3JlOERvY3VtZW50MTRnZXRFbGVtZW50QnlJZEVSS04zV1RGMTJBdG9taWNTdHJpbmdFCiBfX1pO
SzdXZWJDb3JlOERvY3VtZW50MzFkaXNwbGF5U3RyaW5nTW9kaWZpZWRCeUVuY29kaW5nRVJLTjNX
VEY2U3RyaW5nRQogX19aTks3V2ViQ29yZThEb2N1bWVudDRib2R5RXYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVy
CmluZGV4IDRkMDllYWQ5Mzc1NmIyZTUwM2NkOGVmNDJhMmQxNjk0MmRiMmIxMTIuLmEyNDM0MzI5
ZjlmMDg5YTI2MjE1ZjY2ZmVlNGRmYmUzYjE2MTQ3YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAt
MjI3ODUsNyArMjI3ODUsNyBAQCBfX1pOSzdXZWJDb3JlMTJOb2RlSXRlcmF0b3IyMHVwZGF0ZUZv
ck5vZGVSZW1vdmFsRVBOU180Tm9kZUVSTlMwXzExTm9kZVBvaW50ZXJFCiBfX1pON1dlYkNvcmUy
N2pzTm9kZUl0ZXJhdG9yUmVmZXJlbmNlTm9kZUVQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1
ZUVSS05TMF8xMElkZW50aWZpZXJFCiBfX1pOSzdXZWJDb3JlNE5vZGUyMHRyYXZlcnNlUHJldmlv
dXNOb2RlRVBLUzBfCiBfX1pON1dlYkNvcmUzN2pzTm9kZUl0ZXJhdG9yUHJvdG90eXBlRnVuY3Rp
b25EZXRhY2hFUE4zSlNDOUV4ZWNTdGF0ZUUKLV9fWk5LN1dlYkNvcmU4RG9jdW1lbnQxM25vZGVz
RnJvbVJlY3RFaWlqampqagorX19aTks3V2ViQ29yZThEb2N1bWVudDEzbm9kZXNGcm9tUmVjdEVp
aWpqampiYmIKIF9fWk5LN1dlYkNvcmU4RG9jdW1lbnQxN2hhbmRsZVplcm9QYWRkaW5nRVJLTlNf
MTRIaXRUZXN0UmVxdWVzdEVSTlNfMTNIaXRUZXN0UmVzdWx0RQogX19aTjNXVEYyMUxpc3RIYXNo
U2V0VHJhbnNsYXRvcklOU182UmVmUHRySU43V2ViQ29yZTROb2RlRUVFTG0yNTZFTlNfN1B0ckhh
c2hJUzRfRUVFOXRyYW5zbGF0ZUVSUE5TXzE1TGlzdEhhc2hTZXROb2RlSVM0X0xtMjU2RUVFUktT
NF9QTlNfMjRMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3JJUzRfTG0yNTZFRUUKIF9fWk43V2ViQ29y
ZTIxU3RhdGljSGFzaFNldE5vZGVMaXN0QzFFUk4zV1RGMTFMaXN0SGFzaFNldElOUzFfNlJlZlB0
cklOU180Tm9kZUVFRUxtMjU2RU5TMV83UHRySGFzaElTNV9FRUVFCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCA5NzgwZjI0NmRiNzI0NzllNGY0NjQzMTNkYzY4MjQ3NDEyYmIyNzM3Li43Y2Yw
YjY2YTY0MDI5ZDhiNjJhMGNhZjIyZmY4MjU4M2ZjODhmYmE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTEzODQsNyArMTM4NCw3IEBAIFN0cmluZyBEb2N1bWVudDo6c3VnZ2VzdGVkTUlN
RVR5cGUoKSBjb25zdAogLy8gKiBtYWtpbmcgaXQgcmVjZWl2ZSBhIHJlY3QgYXMgcGFyYW1ldGVy
LCBpLmUuIG5vZGVzRnJvbVJlY3QoeCwgeSwgdywgaCk7CiAvLyAqIG1ha2luZyBpdCByZWNlaXZl
IHRoZSBleHBhZGluZyBzaXplIG9mIGVhY2ggZGlyZWN0aW9uIHNlcGFyYXRlbHksCiAvLyAgIGku
ZS4gbm9kZXNGcm9tUmVjdCh4LCB5LCB0b3BTaXplLCByaWdodFNpemUsIGJvdHRvbVNpemUsIGxl
ZnRTaXplKTsKLVBhc3NSZWZQdHI8Tm9kZUxpc3Q+IERvY3VtZW50Ojpub2Rlc0Zyb21SZWN0KGlu
dCBjZW50ZXJYLCBpbnQgY2VudGVyWSwgdW5zaWduZWQgdG9wUGFkZGluZywgdW5zaWduZWQgcmln
aHRQYWRkaW5nLCB1bnNpZ25lZCBib3R0b21QYWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFkZGluZywg
SGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0VHlwZSBoaXRUeXBlKSBjb25zdAorUGFzc1Jl
ZlB0cjxOb2RlTGlzdD4gRG9jdW1lbnQ6Om5vZGVzRnJvbVJlY3QoaW50IGNlbnRlclgsIGludCBj
ZW50ZXJZLCB1bnNpZ25lZCB0b3BQYWRkaW5nLCB1bnNpZ25lZCByaWdodFBhZGRpbmcsIHVuc2ln
bmVkIGJvdHRvbVBhZGRpbmcsIHVuc2lnbmVkIGxlZnRQYWRkaW5nLCBib29sIGlnbm9yZUNsaXBw
aW5nLCBib29sIGFsbG93U2hhZG93Q29udGVudCwgYm9vbCBhbGxvd0NoaWxkRnJhbWVDb250ZW50
KSBjb25zdAogewogICAgIC8vIEZJWE1FOiBTaGFyZSBjb2RlIGJldHdlZW4gdGhpcywgZWxlbWVu
dEZyb21Qb2ludCBhbmQgY2FyZXRSYW5nZUZyb21Qb2ludC4KICAgICBpZiAoIXJlbmRlcmVyKCkp
CkBAIC0xMzk5LDExICsxMzk5LDE5IEBAIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IERvY3VtZW50Ojpu
b2Rlc0Zyb21SZWN0KGludCBjZW50ZXJYLCBpbnQgY2VudGVyWSwgdW5zaWduZWQKICAgICBmbG9h
dCB6b29tRmFjdG9yID0gZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCk7CiAgICAgTGF5b3V0UG9pbnQg
cG9pbnQgPSByb3VuZGVkTGF5b3V0UG9pbnQoRmxvYXRQb2ludChjZW50ZXJYICogem9vbUZhY3Rv
ciArIHZpZXcoKS0+c2Nyb2xsWCgpLCBjZW50ZXJZICogem9vbUZhY3RvciArIHZpZXcoKS0+c2Ny
b2xsWSgpKSk7CiAKLSAgICBIaXRUZXN0UmVxdWVzdCByZXF1ZXN0KGhpdFR5cGUpOworICAgIGlu
dCB0eXBlID0gSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2
ZTsKIAogICAgIC8vIFdoZW4gaWdub3JlQ2xpcHBpbmcgaXMgZmFsc2UsIHRoaXMgbWV0aG9kIHJl
dHVybnMgbnVsbCBmb3IgY29vcmRpbmF0ZXMgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQuCi0gICAg
aWYgKCFyZXF1ZXN0Lmlnbm9yZUNsaXBwaW5nKCkgJiYgIWZyYW1lVmlldy0+dmlzaWJsZUNvbnRl
bnRSZWN0KCkuaW50ZXJzZWN0cyhIaXRUZXN0UmVzdWx0OjpyZWN0Rm9yUG9pbnQocG9pbnQsIHRv
cFBhZGRpbmcsIHJpZ2h0UGFkZGluZywgYm90dG9tUGFkZGluZywgbGVmdFBhZGRpbmcpKSkKKyAg
ICBpZiAoaWdub3JlQ2xpcHBpbmcpCisgICAgICAgIHR5cGUgfD0gSGl0VGVzdFJlcXVlc3Q6Okln
bm9yZUNsaXBwaW5nOworICAgIGVsc2UgaWYgKCFmcmFtZVZpZXctPnZpc2libGVDb250ZW50UmVj
dCgpLmludGVyc2VjdHMoSGl0VGVzdFJlc3VsdDo6cmVjdEZvclBvaW50KHBvaW50LCB0b3BQYWRk
aW5nLCByaWdodFBhZGRpbmcsIGJvdHRvbVBhZGRpbmcsIGxlZnRQYWRkaW5nKSkpCiAgICAgICAg
IHJldHVybiAwOworICAgIGlmIChhbGxvd1NoYWRvd0NvbnRlbnQpCisgICAgICAgIHR5cGUgfD0g
SGl0VGVzdFJlcXVlc3Q6OkFsbG93U2hhZG93Q29udGVudDsKKyAgICBpZiAoYWxsb3dDaGlsZEZy
YW1lQ29udGVudCkKKyAgICAgICAgdHlwZSB8PSBIaXRUZXN0UmVxdWVzdDo6QWxsb3dDaGlsZEZy
YW1lQ29udGVudDsKKworICAgIEhpdFRlc3RSZXF1ZXN0IHJlcXVlc3QodHlwZSk7CiAKICAgICAv
LyBQYXNzaW5nIGEgemVybyBwYWRkaW5nIHdpbGwgdHJpZ2dlciBhIHJlY3QgaGl0IHRlc3QsIGhv
d2V2ZXIgZm9yIHRoZSBwdXJwb3NlcyBvZiBub2Rlc0Zyb21SZWN0LAogICAgIC8vIHdlIHNwZWNp
YWwgaGFuZGxlIHRoaXMgY2FzZSBpbiBvcmRlciB0byByZXR1cm4gYSB2YWxpZCBOb2RlTGlzdC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZGFmZTA0YmUzMTRhNGE3YjUwMTA1NWM3NTViYTU5ZWUw
NDZkNjJkMy4uMjg3MmU1YzJhYTliMzYyOWE1NDYwYzE2YjI4YTRkY2ZhNGZmZmQ5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJET01UaW1lU3RhbXAu
aCIKICNpbmNsdWRlICJEb2N1bWVudEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJEb2N1bWVudFRp
bWluZy5oIgotI2luY2x1ZGUgIkhpdFRlc3RSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSWNvblVSTC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgpA
QCAtMzc3LDEwICszNzYsMTIgQEAgcHVibGljOgogICAgICAqIEBwYXJhbSByaWdodFBhZGRpbmcg
SG93IG11Y2ggdG8gZXhwYW5kIHRoZSByaWdodCBvZiB0aGUgcmVjdGFuZ2xlCiAgICAgICogQHBh
cmFtIGJvdHRvbVBhZGRpbmcgSG93IG11Y2ggdG8gZXhwYW5kIHRoZSBib3R0b20gb2YgdGhlIHJl
Y3RhbmdsZQogICAgICAqIEBwYXJhbSBsZWZ0UGFkZGluZyBIb3cgbXVjaCB0byBleHBhbmQgdGhl
IGxlZnQgb2YgdGhlIHJlY3RhbmdsZQorICAgICAqIEBwYXJhbSBpZ25vcmVDbGlwcGluZyB3aGV0
aGVyIG9yIG5vdCB0byBpZ25vcmUgdGhlIHJvb3Qgc2Nyb2xsIGZyYW1lIHdoZW4gcmV0cmlldmlu
ZyB0aGUgZWxlbWVudC4KKyAgICAgKiAgICAgICAgSWYgZmFsc2UsIHRoaXMgbWV0aG9kIHJldHVy
bnMgbnVsbCBmb3IgY29vcmRpbmF0ZXMgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQuCiAgICAgICov
CiAgICAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gbm9kZXNGcm9tUmVjdChpbnQgY2VudGVyWCwgaW50
IGNlbnRlclksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCB0b3BQYWRkaW5nLCB1bnNpZ25lZCByaWdodFBhZGRpbmcsIHVuc2lnbmVkIGJvdHRvbVBhZGRp
bmcsIHVuc2lnbmVkIGxlZnRQYWRkaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0VHlwZSBoaXRUeXBlID0gSGl0
VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSkgY29uc3Q7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlnbm9yZUNsaXBwaW5n
LCBib29sIGFsbG93U2hhZG93Q29udGVudCwgYm9vbCBhbGxvd0NoaWxkRnJhbWVDb250ZW50ID0g
ZmFsc2UpIGNvbnN0OwogICAgIEVsZW1lbnQqIGVsZW1lbnRGcm9tUG9pbnQoaW50IHgsIGludCB5
KSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFJhbmdlPiBjYXJldFJhbmdlRnJvbVBvaW50KGludCB4
LCBpbnQgeSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmNwcAppbmRleCA4N2YzY2M0ZDYxOWI1NjZjMDVkMjM2MWY0OTUwNjc1NDFiZDI1YzI4Li5kOTAx
OWZjMzBmZDVkODY0NmYyZjRlZmY0ZWE1NGY0ODlmODkzODViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCkBAIC0xNDksNyArMTQ5LDcgQEAgUGFz
c093blB0cjxDb250ZXh0TWVudT4gQ29udGV4dE1lbnVDb250cm9sbGVyOjpjcmVhdGVDb250ZXh0
TWVudShFdmVudCogZXZlbnQpCiAgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQobW91c2VFdmVudC0+
YWJzb2x1dGVMb2NhdGlvbigpKTsKIAogICAgIGlmIChGcmFtZSogZnJhbWUgPSBldmVudC0+dGFy
Z2V0KCktPnRvTm9kZSgpLT5kb2N1bWVudCgpLT5mcmFtZSgpKQotICAgICAgICByZXN1bHQgPSBm
cmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KG1vdXNlRXZlbnQtPmFi
c29sdXRlTG9jYXRpb24oKSk7CisgICAgICAgIHJlc3VsdCA9IGZyYW1lLT5ldmVudEhhbmRsZXIo
KS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobW91c2VFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpLCBm
YWxzZSk7CiAKICAgICBpZiAoIXJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4
IGExZTc4YjgwYWEwMjdkMTZhMjg1MjhjM2E2ZTQ5ZGIxMzdjNjAwOTkuLmM3NDRjMTg5ZWJkYmY0
ZjBhNDBiOGE5OWQ4ZTc5YTI1ZGIwYTZkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRy
b2xsZXIuY3BwCkBAIC01NDQsNyArNTQ0LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6Y2FuUHJv
Y2Vzc0RyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhKQogICAgIGlmICghbV9wYWdlLT5tYWluRnJhbWUo
KS0+Y29udGVudFJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJlc3Vs
dCA9IG1fcGFnZS0+bWFpbkZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQ
b2ludChwb2ludCwgSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFj
dGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpBbGxvd1NoYWRvd0NvbnRlbnQpOworICAgIHJlc3VsdCA9
IG1fcGFnZS0+bWFpbkZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2lu
dChwb2ludCwgdHJ1ZSk7CiAKICAgICBpZiAoIXJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzI2LDcgKzcyNiw3IEBAIGJvb2wgRHJhZ0NvbnRy
b2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSogc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRlLCBEcmFn
T3BlcmF0aW9uCiAgICAgaWYgKCFzcmMtPnZpZXcoKSB8fCAhc3JjLT5jb250ZW50UmVuZGVyZXIo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSGl0VGVzdFJlc3VsdCBoaXRUZXN0UmVz
dWx0ID0gc3JjLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQoZHJhZ09yaWdp
biwgSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhp
dFRlc3RSZXF1ZXN0OjpBbGxvd1NoYWRvd0NvbnRlbnQpOworICAgIEhpdFRlc3RSZXN1bHQgaGl0
VGVzdFJlc3VsdCA9IHNyYy0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGRy
YWdPcmlnaW4sIHRydWUpOwogICAgIGlmICghc3RhdGUubV9kcmFnU3JjLT5jb250YWlucyhoaXRU
ZXN0UmVzdWx0LmlubmVyTm9kZSgpKSkKICAgICAgICAgLy8gVGhlIG9yaWdpbmFsIG5vZGUgYmVp
bmcgZHJhZ2dlZCBpc24ndCB1bmRlciB0aGUgZHJhZyBvcmlnaW4gYW55bW9yZS4uLiBtYXliZSBp
dCB3YXMKICAgICAgICAgLy8gaGlkZGVuIG9yIG1vdmVkIG91dCBmcm9tIHVuZGVyIHRoZSBjdXJz
b3IuIFJlZ2FyZGxlc3MsIHdlIGRvbid0IHdhbnQgdG8gc3RhcnQgYSBkcmFnIG9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMzgwN2M1NTk3MjhjZjU2Y2U1MWVjNjMwYzdh
NjliZDBkNzNmMGRiNC4uMDAxZmQ2ZDllOWUxMTYyOTVkMjBjNTA5MjMwMTkyN2EwNWQ3ZGY5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTAwNyw3ICsxMDA3LDcgQEAg
dm9pZCBFdmVudEhhbmRsZXI6OnVwZGF0ZUF1dG9zY3JvbGxSZW5kZXJlcigpCiAgICAgaWYgKCFt
X2F1dG9zY3JvbGxSZW5kZXJlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgSGl0VGVzdFJlc3Vs
dCBoaXRUZXN0ID0gaGl0VGVzdFJlc3VsdEF0UG9pbnQobV9wYW5TY3JvbGxTdGFydFBvcywgSGl0
VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RS
ZXF1ZXN0OjpBbGxvd1NoYWRvd0NvbnRlbnQpOworICAgIEhpdFRlc3RSZXN1bHQgaGl0VGVzdCA9
IGhpdFRlc3RSZXN1bHRBdFBvaW50KG1fcGFuU2Nyb2xsU3RhcnRQb3MsIHRydWUpOwogCiAgICAg
aWYgKE5vZGUqIG5vZGVBdFBvaW50ID0gaGl0VGVzdC5pbm5lck5vZGUoKSkKICAgICAgICAgbV9h
dXRvc2Nyb2xsUmVuZGVyZXIgPSBub2RlQXRQb2ludC0+cmVuZGVyZXIoKTsKQEAgLTEwMzksMTcg
KzEwMzksMjIgQEAgRHJhZ1NvdXJjZUFjdGlvbiBFdmVudEhhbmRsZXI6OnVwZGF0ZURyYWdTb3Vy
Y2VBY3Rpb25zQWxsb3dlZCgpIGNvbnN0CiB9CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9S
VCkKICAgICAKLUhpdFRlc3RSZXN1bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2lu
dChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIEhpdFRlc3RSZXF1ZXN0OjpIaXRUZXN0UmVxdWVz
dFR5cGUgaGl0VHlwZSwgY29uc3QgTGF5b3V0U2l6ZSYgcGFkZGluZykKK0hpdFRlc3RSZXN1bHQg
RXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBMYXlvdXRQb2ludCYgcG9p
bnQsIGJvb2wgYWxsb3dTaGFkb3dDb250ZW50LCBib29sIGlnbm9yZUNsaXBwaW5nLCBIaXRUZXN0
U2Nyb2xsYmFycyB0ZXN0U2Nyb2xsYmFycywgSGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0
VHlwZSBoaXRUeXBlLCBjb25zdCBMYXlvdXRTaXplJiBwYWRkaW5nKQogewogICAgIEhpdFRlc3RS
ZXN1bHQgcmVzdWx0KHBvaW50LCBwYWRkaW5nLmhlaWdodCgpLCBwYWRkaW5nLndpZHRoKCksIHBh
ZGRpbmcuaGVpZ2h0KCksIHBhZGRpbmcud2lkdGgoKSk7CiAKICAgICBpZiAoIW1fZnJhbWUtPmNv
bnRlbnRSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIGlmIChpZ25vcmVD
bGlwcGluZykKKyAgICAgICAgaGl0VHlwZSB8PSBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xpcHBp
bmc7CisgICAgaWYgKGFsbG93U2hhZG93Q29udGVudCkKKyAgICAgICAgaGl0VHlwZSB8PSBIaXRU
ZXN0UmVxdWVzdDo6QWxsb3dTaGFkb3dDb250ZW50OworICAgIGlmICh0ZXN0U2Nyb2xsYmFycyA9
PSBTaG91bGRIaXRUZXN0U2Nyb2xsYmFycykKKyAgICAgICAgaGl0VHlwZSB8PSBIaXRUZXN0UmVx
dWVzdDo6VGVzdENoaWxkRnJhbWVTY3JvbGxCYXJzOwogICAgIC8vIFdlIGFsd2F5cyBuZWVkIHRv
IGhhbmRsZSBjaGlsZCBmcmFtZSBjb250ZW50LgogICAgIGhpdFR5cGUgfD0gSGl0VGVzdFJlcXVl
c3Q6OkFsbG93Q2hpbGRGcmFtZUNvbnRlbnQ7CiAKLSAgICBIaXRUZXN0UmVxdWVzdCByZXF1ZXN0
KGhpdFR5cGUpOwotICAgIG1fZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpLT5oaXRUZXN0KHJlcXVl
c3QsIHJlc3VsdCk7CisgICAgbV9mcmFtZS0+Y29udGVudFJlbmRlcmVyKCktPmhpdFRlc3QoSGl0
VGVzdFJlcXVlc3QoaGl0VHlwZSksIHJlc3VsdCk7CiAKICAgICAvLyBJZiBvdXIgSGl0VGVzdFJl
c3VsdCBpcyBub3QgdmlzaWJsZSwgdGhlbiB3ZSBzdGFydGVkIGhpdCB0ZXN0aW5nIHRvbyBmYXIg
ZG93biB0aGUgZnJhbWUgY2hhaW4uIAogICAgIC8vIEFub3RoZXIgaGl0IHRlc3QgYXQgdGhlIG1h
aW4gZnJhbWUgbGV2ZWwgc2hvdWxkIGdldCB1cyB0aGUgY29ycmVjdCB2aXNpYmxlIHJlc3VsdC4K
QEAgLTEwNjEsMTIgKzEwNjYsMTIgQEAgSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6OmhpdFRl
c3RSZXN1bHRBdFBvaW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgSGl0VGUKICAgICAgICAg
ICAgIEZyYW1lVmlldyogbWFpblZpZXcgPSBtYWluRnJhbWUtPnZpZXcoKTsKICAgICAgICAgICAg
IGlmIChyZXN1bHRWaWV3ICYmIG1haW5WaWV3KSB7CiAgICAgICAgICAgICAgICAgSW50UG9pbnQg
bWFpbkZyYW1lUG9pbnQgPSBtYWluVmlldy0+cm9vdFZpZXdUb0NvbnRlbnRzKHJlc3VsdFZpZXct
PmNvbnRlbnRzVG9Sb290Vmlldyhyb3VuZGVkSW50UG9pbnQocmVzdWx0LnBvaW50KCkpKSk7Ci0g
ICAgICAgICAgICAgICAgcmVzdWx0ID0gbWFpbkZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVz
dFJlc3VsdEF0UG9pbnQobWFpbkZyYW1lUG9pbnQsIGhpdFR5cGUsIHBhZGRpbmcpOworICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IG1haW5GcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1
bHRBdFBvaW50KG1haW5GcmFtZVBvaW50LCBhbGxvd1NoYWRvd0NvbnRlbnQsIGlnbm9yZUNsaXBw
aW5nLCB0ZXN0U2Nyb2xsYmFycywgaGl0VHlwZSwgcGFkZGluZyk7CiAgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoIXJlcXVlc3QuYWxsb3dzU2hhZG93Q29udGVudCgp
KQorICAgIGlmICghYWxsb3dTaGFkb3dDb250ZW50KQogICAgICAgICByZXN1bHQuc2V0VG9Ob25T
aGFkb3dBbmNlc3RvcigpOwogCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTE0NzYsNyArMTQ4MSw3
IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgUGxhdGZv
cm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgIG1fbW91c2VEb3duV2FzSW5TdWJmcmFtZSA9
IGZhbHNlOwogCiAgICAgSGl0VGVzdFJlcXVlc3QgcmVxdWVzdChIaXRUZXN0UmVxdWVzdDo6QWN0
aXZlKTsKLSAgICAvLyBTYXZlIHRoZSBkb2N1bWVudCBwb2ludCB3ZSBnZW5lcmF0ZSBpbiBjYXNl
IHRoZSB3aW5kb3cgY29vcmRpbmF0ZSBpcyBpbnZhbGlkYXRlZCBieSB3aGF0IGhhcHBlbnMKKyAg
ICAvLyBTYXZlIHRoZSBkb2N1bWVudCBwb2ludCB3ZSBnZW5lcmF0ZSBpbiBjYXNlIHRoZSB3aW5k
b3cgY29vcmRpbmF0ZSBpcyBpbnZhbGlkYXRlZCBieSB3aGF0IGhhcHBlbnMgCiAgICAgLy8gd2hl
biB3ZSBkaXNwYXRjaCB0aGUgZXZlbnQuCiAgICAgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2ludCA9
IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQb2ludChtX2ZyYW1lLCBtb3VzZUV2ZW50LnBvc2l0aW9u
KCkpOwogICAgIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMgbWV2ID0gbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+cHJlcGFyZU1vdXNlRXZlbnQocmVxdWVzdCwgZG9jdW1lbnRQb2ludCwgbW91c2VF
dmVudCk7CkBAIC0yMzc2LDcgKzIzODEsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2Vz
dHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiAgICAg
ICAgIGV2ZW50VGFyZ2V0ID0gbV9zY3JvbGxHZXN0dXJlSGFuZGxpbmdOb2RlLmdldCgpOwogCiAg
ICAgaWYgKCFldmVudFRhcmdldCkgewotICAgICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGhp
dFRlc3RSZXN1bHRBdFBvaW50KGdlc3R1cmVFdmVudC5wb3NpdGlvbigpKTsKKyAgICAgICAgSGl0
VGVzdFJlc3VsdCByZXN1bHQgPSBoaXRUZXN0UmVzdWx0QXRQb2ludChnZXN0dXJlRXZlbnQucG9z
aXRpb24oKSwgZmFsc2UsIGZhbHNlLCBEb250SGl0VGVzdFNjcm9sbGJhcnMsIEhpdFRlc3RSZXF1
ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUpOwogICAgICAgICBldmVudFRh
cmdldCA9IHJlc3VsdC50YXJnZXROb2RlKCk7CiAgICAgfQogCkBAIC0yNDc4LDggKzI0ODMsOSBA
QCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZVNjcm9sbENvcmUoY29uc3QgUGxhdGZv
cm1HZXN0dXJlRXZlbnQmIGdlc3R1cmVFdgogI2lmIEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQog
Ym9vbCBFdmVudEhhbmRsZXI6OmJlc3RDbGlja2FibGVOb2RlRm9yVG91Y2hQb2ludChjb25zdCBJ
bnRQb2ludCYgdG91Y2hDZW50ZXIsIGNvbnN0IEludFNpemUmIHRvdWNoUmFkaXVzLCBJbnRQb2lu
dCYgdGFyZ2V0UG9pbnQsIE5vZGUqJiB0YXJnZXROb2RlKQogeworICAgIEhpdFRlc3RSZXF1ZXN0
OjpIaXRUZXN0UmVxdWVzdFR5cGUgaGl0VHlwZSA9IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8
IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmU7CiAgICAgSW50UG9pbnQgaGl0VGVzdFBvaW50ID0gbV9m
cmFtZS0+dmlldygpLT53aW5kb3dUb0NvbnRlbnRzKHRvdWNoQ2VudGVyKTsKLSAgICBIaXRUZXN0
UmVzdWx0IHJlc3VsdCA9IGhpdFRlc3RSZXN1bHRBdFBvaW50KGhpdFRlc3RQb2ludCwgSGl0VGVz
dFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1
ZXN0OjpBbGxvd1NoYWRvd0NvbnRlbnQsIHRvdWNoUmFkaXVzKTsKKyAgICBIaXRUZXN0UmVzdWx0
IHJlc3VsdCA9IGhpdFRlc3RSZXN1bHRBdFBvaW50KGhpdFRlc3RQb2ludCwgLyphbGxvd1NoYWRv
d0NvbnRlbnQqLyB0cnVlLCAvKmlnbm9yZUNsaXBwaW5nKi8gZmFsc2UsIERvbnRIaXRUZXN0U2Ny
b2xsYmFycywgaGl0VHlwZSwgdG91Y2hSYWRpdXMpOwogCiAgICAgSW50UmVjdCB0b3VjaFJlY3Qo
dG91Y2hDZW50ZXIgLSB0b3VjaFJhZGl1cywgdG91Y2hSYWRpdXMgKyB0b3VjaFJhZGl1cyk7CiAg
ICAgUmVmUHRyPFN0YXRpY0hhc2hTZXROb2RlTGlzdD4gbm9kZUxpc3QgPSBTdGF0aWNIYXNoU2V0
Tm9kZUxpc3Q6OmFkb3B0KHJlc3VsdC5yZWN0QmFzZWRUZXN0UmVzdWx0KCkpOwpAQCAtMjQ5Niw4
ICsyNTAyLDkgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmJlc3RDbGlja2FibGVOb2RlRm9yVG91Y2hQ
b2ludChjb25zdCBJbnRQb2ludCYgdG91Y2hDZW50ZXIsIGMKIAogYm9vbCBFdmVudEhhbmRsZXI6
OmJlc3RDb250ZXh0TWVudU5vZGVGb3JUb3VjaFBvaW50KGNvbnN0IEludFBvaW50JiB0b3VjaENl
bnRlciwgY29uc3QgSW50U2l6ZSYgdG91Y2hSYWRpdXMsIEludFBvaW50JiB0YXJnZXRQb2ludCwg
Tm9kZSomIHRhcmdldE5vZGUpCiB7CisgICAgSGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0
VHlwZSBoaXRUeXBlID0gSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6
OkFjdGl2ZTsKICAgICBJbnRQb2ludCBoaXRUZXN0UG9pbnQgPSBtX2ZyYW1lLT52aWV3KCktPndp
bmRvd1RvQ29udGVudHModG91Y2hDZW50ZXIpOwotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0g
aGl0VGVzdFJlc3VsdEF0UG9pbnQoaGl0VGVzdFBvaW50LCBIaXRUZXN0UmVxdWVzdDo6UmVhZE9u
bHkgfCBIaXRUZXN0UmVxdWVzdDo6QWN0aXZlIHwgSGl0VGVzdFJlcXVlc3Q6OkFsbG93U2hhZG93
Q29udGVudCwgdG91Y2hSYWRpdXMpOworICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gaGl0VGVz
dFJlc3VsdEF0UG9pbnQoaGl0VGVzdFBvaW50LCAvKmFsbG93U2hhZG93Q29udGVudCovIHRydWUs
IC8qaWdub3JlQ2xpcHBpbmcqLyBmYWxzZSwgRG9udEhpdFRlc3RTY3JvbGxiYXJzLCBoaXRUeXBl
LCB0b3VjaFJhZGl1cyk7CiAKICAgICBJbnRSZWN0IHRvdWNoUmVjdCh0b3VjaENlbnRlciAtIHRv
dWNoUmFkaXVzLCB0b3VjaFJhZGl1cyArIHRvdWNoUmFkaXVzKTsKICAgICBSZWZQdHI8U3RhdGlj
SGFzaFNldE5vZGVMaXN0PiBub2RlTGlzdCA9IFN0YXRpY0hhc2hTZXROb2RlTGlzdDo6YWRvcHQo
cmVzdWx0LnJlY3RCYXNlZFRlc3RSZXN1bHQoKSk7CkBAIC0yNTA2LDggKzI1MTMsOSBAQCBib29s
IEV2ZW50SGFuZGxlcjo6YmVzdENvbnRleHRNZW51Tm9kZUZvclRvdWNoUG9pbnQoY29uc3QgSW50
UG9pbnQmIHRvdWNoQ2VudGVyLAogCiBib29sIEV2ZW50SGFuZGxlcjo6YmVzdFpvb21hYmxlQXJl
YUZvclRvdWNoUG9pbnQoY29uc3QgSW50UG9pbnQmIHRvdWNoQ2VudGVyLCBjb25zdCBJbnRTaXpl
JiB0b3VjaFJhZGl1cywgSW50UmVjdCYgdGFyZ2V0QXJlYSwgTm9kZSomIHRhcmdldE5vZGUpCiB7
CisgICAgSGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0VHlwZSBoaXRUeXBlID0gSGl0VGVz
dFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZTsKICAgICBJbnRQb2lu
dCBoaXRUZXN0UG9pbnQgPSBtX2ZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHModG91Y2hD
ZW50ZXIpOwotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gaGl0VGVzdFJlc3VsdEF0UG9pbnQo
aGl0VGVzdFBvaW50LCBIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVxdWVzdDo6
QWN0aXZlLCB0b3VjaFJhZGl1cyk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBoaXRUZXN0
UmVzdWx0QXRQb2ludChoaXRUZXN0UG9pbnQsIC8qYWxsb3dTaGFkb3dDb250ZW50Ki8gZmFsc2Us
IC8qaWdub3JlQ2xpcHBpbmcqLyBmYWxzZSwgRG9udEhpdFRlc3RTY3JvbGxiYXJzLCBoaXRUeXBl
LCB0b3VjaFJhZGl1cyk7CiAKICAgICBJbnRSZWN0IHRvdWNoUmVjdCh0b3VjaENlbnRlciAtIHRv
dWNoUmFkaXVzLCB0b3VjaFJhZGl1cyArIHRvdWNoUmFkaXVzKTsKICAgICBSZWZQdHI8U3RhdGlj
SGFzaFNldE5vZGVMaXN0PiBub2RlTGlzdCA9IFN0YXRpY0hhc2hTZXROb2RlTGlzdDo6YWRvcHQo
cmVzdWx0LnJlY3RCYXNlZFRlc3RSZXN1bHQoKSk7CkBAIC0zNTQ5LDcgKzM1NTcsNyBAQCBib29s
IEV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQm
IGV2ZW50KQogICAgICAgICB1bnNpZ25lZCB0b3VjaFBvaW50VGFyZ2V0S2V5ID0gcG9pbnQuaWQo
KSArIDE7CiAgICAgICAgIFJlZlB0cjxFdmVudFRhcmdldD4gdG91Y2hUYXJnZXQ7CiAgICAgICAg
IGlmIChwb2ludFN0YXRlID09IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkKSB7Ci0g
ICAgICAgICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGhpdFRlc3RSZXN1bHRBdFBvaW50KHBh
Z2VQb2ludCwgaGl0VHlwZSk7CisgICAgICAgICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGhp
dFRlc3RSZXN1bHRBdFBvaW50KHBhZ2VQb2ludCwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyBmYWxz
ZSwgZmFsc2UsIERvbnRIaXRUZXN0U2Nyb2xsYmFycywgaGl0VHlwZSk7CiAgICAgICAgICAgICBO
b2RlKiBub2RlID0gcmVzdWx0LmlubmVyTm9kZSgpOwogICAgICAgICAgICAgQVNTRVJUKG5vZGUp
OwogCkBAIC0zNTY3LDcgKzM1NzUsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hF
dmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIGV2ZW50KQogICAgICAgICAgICAgdG91Y2hU
YXJnZXQgPSBub2RlOwogICAgICAgICB9IGVsc2UgaWYgKHBvaW50U3RhdGUgPT0gUGxhdGZvcm1U
b3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkIHx8IHBvaW50U3RhdGUgPT0gUGxhdGZvcm1Ub3VjaFBv
aW50OjpUb3VjaENhbmNlbGxlZCkgewogICAgICAgICAgICAgLy8gV2Ugb25seSBwZXJmb3JtIGEg
aGl0dGVzdCBvbiByZWxlYXNlIG9yIGNhbmNlbCB0byB1bnNldCA6YWN0aXZlIG9yIDpob3ZlciBz
dGF0ZS4KLSAgICAgICAgICAgIGhpdFRlc3RSZXN1bHRBdFBvaW50KHBhZ2VQb2ludCwgaGl0VHlw
ZSk7CisgICAgICAgICAgICBoaXRUZXN0UmVzdWx0QXRQb2ludChwYWdlUG9pbnQsIC8qYWxsb3dT
aGFkb3dDb250ZW50Ki8gZmFsc2UsIGZhbHNlLCBEb250SGl0VGVzdFNjcm9sbGJhcnMsIGhpdFR5
cGUpOwogICAgICAgICAgICAgLy8gVGhlIHRhcmdldCBzaG91bGQgYmUgdGhlIG9yaWdpbmFsIHRh
cmdldCBmb3IgdGhpcyB0b3VjaCwgc28gZ2V0IGl0IGZyb20gdGhlIGhhc2htYXAuIEFzIGl0J3Mg
YSByZWxlYXNlIG9yIGNhbmNlbAogICAgICAgICAgICAgLy8gd2UgYWxzbyByZW1vdmUgaXQgZnJv
bSB0aGUgbWFwLgogICAgICAgICAgICAgdG91Y2hUYXJnZXQgPSBtX29yaWdpbmF0aW5nVG91Y2hQ
b2ludFRhcmdldHMudGFrZSh0b3VjaFBvaW50VGFyZ2V0S2V5KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5oCmluZGV4IDk3ZDBiZDAzZjA2MWI1YTg4ZGZkZTBkNjk3ZmIxYTk5YzAzMTA0YTIu
LjZkOGEwYWI3NjczYThjOGZkZmI0YzlhOTVkYmZjMWFhZDk1NWQ0ODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaApAQCAtODgsNiArODgsOCBAQCBleHRlcm4gY29uc3QgaW50IFRleHRE
cmFnSHlzdGVyZXNpczsKIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwog
I2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKK2VudW0gSGl0VGVzdFNjcm9sbGJhcnMg
eyBTaG91bGRIaXRUZXN0U2Nyb2xsYmFycywgRG9udEhpdFRlc3RTY3JvbGxiYXJzIH07CisKIGNs
YXNzIEV2ZW50SGFuZGxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRIYW5kbGVy
KTsKIHB1YmxpYzoKQEAgLTExMyw3ICsxMTUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNwYXRj
aEZha2VNb3VzZU1vdmVFdmVudFNvb24oKTsKICAgICB2b2lkIGRpc3BhdGNoRmFrZU1vdXNlTW92
ZUV2ZW50U29vbkluUXVhZChjb25zdCBGbG9hdFF1YWQmKTsKIAotICAgIEhpdFRlc3RSZXN1bHQg
aGl0VGVzdFJlc3VsdEF0UG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmLCBIaXRUZXN0UmVxdWVzdDo6
SGl0VGVzdFJlcXVlc3RUeXBlIGhpdFR5cGUgPSBIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBI
aXRUZXN0UmVxdWVzdDo6QWN0aXZlLAorICAgIEhpdFRlc3RSZXN1bHQgaGl0VGVzdFJlc3VsdEF0
UG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmLCBib29sIGFsbG93U2hhZG93Q29udGVudCwgYm9vbCBp
Z25vcmVDbGlwcGluZyA9IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSGl0VGVzdFNjcm9sbGJhcnMgc2Nyb2xsYmFycyA9IERvbnRIaXRUZXN0U2Nyb2xsYmFy
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhpdFRlc3RSZXF1ZXN0
OjpIaXRUZXN0UmVxdWVzdFR5cGUgaGl0VHlwZSA9IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8
IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBMYXlvdXRTaXplJiBwYWRkaW5nID0gTGF5b3V0U2l6ZSgpKTsKIAogICAg
IGJvb2wgbW91c2VQcmVzc2VkKCkgY29uc3QgeyByZXR1cm4gbV9tb3VzZVByZXNzZWQ7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAppbmRleCBhNmE5MWNkYTY5MTQ4YzZm
OTM2NmFmZDA2YmU2OTg0NjA1Njc5YmQyLi5iYzIwMTY5YzkxMjY0ZjljNDE1M2RjYjkyZTNiNDFk
Y2U0NDMwOGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC03
NDUsNyArNzQ1LDcgQEAgc3RhdGljIHZvaWQgdXBkYXRlRm9jdXNDYW5kaWRhdGVJZk5lZWRlZChG
b2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24sIGNvbnN0IEZvY3VzQ2EKICAgICAgICAgLy8gSWYgMiBu
b2RlcyBhcmUgaW50ZXJzZWN0aW5nLCBkbyBoaXQgdGVzdCB0byBmaW5kIHdoaWNoIG5vZGUgaW4g
b24gdG9wLgogICAgICAgICBMYXlvdXRVbml0IHggPSBpbnRlcnNlY3Rpb25SZWN0LngoKSArIGlu
dGVyc2VjdGlvblJlY3Qud2lkdGgoKSAvIDI7CiAgICAgICAgIExheW91dFVuaXQgeSA9IGludGVy
c2VjdGlvblJlY3QueSgpICsgaW50ZXJzZWN0aW9uUmVjdC5oZWlnaHQoKSAvIDI7Ci0gICAgICAg
IEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gY2FuZGlkYXRlLnZpc2libGVOb2RlLT5kb2N1bWVudCgp
LT5wYWdlKCktPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9p
bnQoSW50UG9pbnQoeCwgeSksIEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1
ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xpcHBpbmcpOworICAgICAgICBI
aXRUZXN0UmVzdWx0IHJlc3VsdCA9IGNhbmRpZGF0ZS52aXNpYmxlTm9kZS0+ZG9jdW1lbnQoKS0+
cGFnZSgpLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50
KEludFBvaW50KHgsIHkpLCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgIGlmIChjYW5kaWRhdGUudmlz
aWJsZU5vZGUtPmNvbnRhaW5zKHJlc3VsdC5pbm5lck5vZGUoKSkpIHsKICAgICAgICAgICAgIGNs
b3Nlc3QgPSBjYW5kaWRhdGU7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3Bw
CmluZGV4IDQ3MTcyNjcyOTdmYjBjY2U2ZWQ2ZWZmMTEzMjQyMWVlZmU3ZGRmYjIuLjg1YzJhMzM0
YTIyOTBjNzc0NTVkOGU4YzJiNDcyYzU5YjFhYTZhODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBA
IC03MjQsNyArNzI0LDcgQEAgU3RyaW5nIEZyYW1lOjpkaXNwbGF5U3RyaW5nTW9kaWZpZWRCeUVu
Y29kaW5nKGNvbnN0IFN0cmluZyYgc3RyKSBjb25zdAogCiBWaXNpYmxlUG9zaXRpb24gRnJhbWU6
OnZpc2libGVQb3NpdGlvbkZvclBvaW50KGNvbnN0IEludFBvaW50JiBmcmFtZVBvaW50KQogewot
ICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRB
dFBvaW50KGZyYW1lUG9pbnQsIEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1
ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6QWxsb3dTaGFkb3dDb250ZW50KTsKKyAgICBI
aXRUZXN0UmVzdWx0IHJlc3VsdCA9IGV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2lu
dChmcmFtZVBvaW50LCB0cnVlKTsKICAgICBOb2RlKiBub2RlID0gcmVzdWx0LmlubmVyTm9uU2hh
cmVkTm9kZSgpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlv
bigpOwpAQCAtNzQ2LDcgKzc0Niw3IEBAIERvY3VtZW50KiBGcmFtZTo6ZG9jdW1lbnRBdFBvaW50
KGNvbnN0IEludFBvaW50JiBwb2ludCkKICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IEhpdFRl
c3RSZXN1bHQocHQpOwogCiAgICAgaWYgKGNvbnRlbnRSZW5kZXJlcigpKQotICAgICAgICByZXN1
bHQgPSBldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQocHQpOworICAgICAgICBy
ZXN1bHQgPSBldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQocHQsIGZhbHNlKTsK
ICAgICByZXR1cm4gcmVzdWx0LmlubmVyTm9kZSgpID8gcmVzdWx0LmlubmVyTm9kZSgpLT5kb2N1
bWVudCgpIDogMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Ub3VjaERp
c2FtYmlndWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVG91Y2hEaXNhbWJpZ3VhdGlv
bi5jcHAKaW5kZXggMjE1YmMxY2IwYThmYTUzNGU1OTg5NWM1OWUxMDM3NDg5ZmMxZGJmZC4uNTQz
MTlhNmE0MzI3ZDA0ZTQ5MmU2NmU1ZWY1Y2I1NGQ0YjkyNDJjZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Ub3VjaERpc2FtYmlndWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1RvdWNoRGlzYW1iaWd1YXRpb24uY3BwCkBAIC05Niw3ICs5Niw3IEBAIHZvaWQgZmlu
ZEdvb2RUb3VjaFRhcmdldHMoY29uc3QgSW50UmVjdCYgdG91Y2hCb3gsIEZyYW1lKiBtYWluRnJh
bWUsIGZsb2F0IHBhZ2VTCiAgICAgSW50UG9pbnQgdG91Y2hQb2ludCA9IHRvdWNoQm94LmNlbnRl
cigpOwogICAgIEludFBvaW50IGNvbnRlbnRzUG9pbnQgPSBtYWluRnJhbWUtPnZpZXcoKS0+d2lu
ZG93VG9Db250ZW50cyh0b3VjaFBvaW50KTsKIAotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0g
bWFpbkZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQoY29udGVudHNQ
b2ludCwgSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSwg
SW50U2l6ZShwYWRkaW5nLCBwYWRkaW5nKSk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBt
YWluRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChjb250ZW50c1Bv
aW50LCBmYWxzZSwgZmFsc2UsIERvbnRIaXRUZXN0U2Nyb2xsYmFycywgSGl0VGVzdFJlcXVlc3Q6
OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSwgSW50U2l6ZShwYWRkaW5nLCBwYWRk
aW5nKSk7CiAgICAgY29uc3QgTGlzdEhhc2hTZXQ8UmVmUHRyPE5vZGU+ID4mIGhpdFJlc3VsdHMg
PSByZXN1bHQucmVjdEJhc2VkVGVzdFJlc3VsdCgpOwogCiAgICAgSGFzaE1hcDxOb2RlKiwgVG91
Y2hUYXJnZXREYXRhPiB0b3VjaFRhcmdldHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0UmVxdWVzdC5oCmluZGV4IDE5MDA5MDBmMTIzODQxOWI4MTE5NzVmMjUxNjI3ZTYwN2U4Y2Nh
MTkuLjNmYWY4OGE5ZjkxMzc2MWVjMDEzZDZlN2QyY2RkYWYzMmY4NGQ3OWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVxdWVzdC5oCkBAIC0zNyw3ICszNyw2IEBAIHB1Ymxp
YzoKICAgICAgICAgVG91Y2hFdmVudCA9IDEgPDwgNywKICAgICAgICAgQWxsb3dTaGFkb3dDb250
ZW50ID0gMSA8PCA4LAogICAgICAgICBBbGxvd0NoaWxkRnJhbWVDb250ZW50ID0gMSA8PCA5LAot
ICAgICAgICAvLyBGSVhNRTogR2V0IHJpZCBvZiB0aGUgdHdvIG9wdGlvbnMgYmVsb3cgaWYgcG9z
c2libGUuCiAgICAgICAgIENoaWxkRnJhbWVIaXRUZXN0ID0gMSA8PCAxMCwKICAgICAgICAgVGVz
dENoaWxkRnJhbWVTY3JvbGxCYXJzID0gMSA8PCAxMQogICAgIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKaW5kZXggMDRjZmVjZDBkMWQxMmQ2YWE2NmUwZDBlNDEzYTk4NWM4N2Iw
NDg3ZS4uMzY5NDgxNDIyZjZjYTJmY2UwMmY1NDg4ZjVhNWIwODI3Mzg4NDI3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtOTcyLDE1ICs5NzIsOCBAQCBQYXNzUmVmUHRy
PE5vZGVMaXN0PiBJbnRlcm5hbHM6Om5vZGVzRnJvbVJlY3QoRG9jdW1lbnQqIGRvY3VtZW50LCBp
bnQgeCwgaW50IHksCiAgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9Ci0gICAgSGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0VHlwZSBo
aXRUeXBlID0gSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2
ZTsKLSAgICBpZiAoaWdub3JlQ2xpcHBpbmcpCi0gICAgICAgIGhpdFR5cGUgfD0gSGl0VGVzdFJl
cXVlc3Q6Oklnbm9yZUNsaXBwaW5nOwotICAgIGlmIChhbGxvd1NoYWRvd0NvbnRlbnQpCi0gICAg
ICAgIGhpdFR5cGUgfD0gSGl0VGVzdFJlcXVlc3Q6OkFsbG93U2hhZG93Q29udGVudDsKLSAgICBp
ZiAoYWxsb3dDaGlsZEZyYW1lQ29udGVudCkKLSAgICAgICAgaGl0VHlwZSB8PSBIaXRUZXN0UmVx
dWVzdDo6QWxsb3dDaGlsZEZyYW1lQ29udGVudDsKLQotICAgIHJldHVybiBkb2N1bWVudC0+bm9k
ZXNGcm9tUmVjdCh4LCB5LCB0b3BQYWRkaW5nLCByaWdodFBhZGRpbmcsIGJvdHRvbVBhZGRpbmcs
IGxlZnRQYWRkaW5nLCBoaXRUeXBlKTsKKworICAgIHJldHVybiBkb2N1bWVudC0+bm9kZXNGcm9t
UmVjdCh4LCB5LCB0b3BQYWRkaW5nLCByaWdodFBhZGRpbmcsIGJvdHRvbVBhZGRpbmcsIGxlZnRQ
YWRkaW5nLCBpZ25vcmVDbGlwcGluZywgYWxsb3dTaGFkb3dDb250ZW50LCBhbGxvd0NoaWxkRnJh
bWVDb250ZW50KTsKIH0KIAogdm9pZCBJbnRlcm5hbHM6OmVtaXRJbnNwZWN0b3JEaWRCZWdpbkZy
YW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IDhlYzlk
ZDdmNTJkN2JjNzRmZjE2MGE3N2Y4ZTJjMjM4MjdhOGU5NWMuLmE4ODIxZjgyY2U0NzU4MGY1NzBm
MTQ1ZDI0Mzg2MTZmMjAxMjU0Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9BcGkvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQ
YWdlLmNwcApAQCAtMjc2Niw3ICsyNzY2LDcgQEAgUGFzc1JlZlB0cjxOb2RlPiBXZWJQYWdlUHJp
dmF0ZTo6Y29udGV4dE5vZGUoVGFyZ2V0RGV0ZWN0aW9uU3RyYXRlZ3kgc3RyYXRlZ3kpCiAgICAg
ICAgIHJldHVybiByZXN1bHQubm9kZShGYXRGaW5nZXJzUmVzdWx0OjpTaGFkb3dDb250ZW50Tm90
QWxsb3dlZCk7CiAgICAgfQogCi0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBldmVudEhhbmRs
ZXItPmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnRlbnRQb3MpOworICAgIEhpdFRlc3RSZXN1bHQg
cmVzdWx0ID0gZXZlbnRIYW5kbGVyLT5oaXRUZXN0UmVzdWx0QXRQb2ludChjb250ZW50UG9zLCBm
YWxzZSAvKmFsbG93U2hhZG93Q29udGVudCovKTsKICAgICByZXR1cm4gcmVzdWx0LmlubmVyTm9k
ZSgpOwogfQogCkBAIC0yODM4LDcgKzI4MzgsNyBAQCBOb2RlKiBXZWJQYWdlUHJpdmF0ZTo6bm9k
ZUZvclpvb21VbmRlclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCkKICAgICBpZiAoIW1fbWFp
bkZyYW1lKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0g
bV9tYWluRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYXBGcm9t
VHJhbnNmb3JtZWQocG9pbnQpKTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IG1fbWFpbkZy
YW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobWFwRnJvbVRyYW5zZm9y
bWVkKHBvaW50KSwgZmFsc2UpOwogCiAgICAgTm9kZSogbm9kZSA9IHJlc3VsdC5pbm5lck5vblNo
YXJlZE5vZGUoKTsKIApAQCAtNDA0OCw3ICs0MDQ4LDcgQEAgYm9vbCBXZWJQYWdlUHJpdmF0ZTo6
aGFuZGxlTW91c2VFdmVudChQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCiAgICAgfQog
CiAgICAgaWYgKCFub2RlKSB7Ci0gICAgICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZXZlbnRI
YW5kbGVyLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYXBGcm9tVmlld3BvcnRUb0NvbnRlbnRzKG1v
dXNlRXZlbnQucG9zaXRpb24oKSkpOworICAgICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGV2
ZW50SGFuZGxlci0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobWFwRnJvbVZpZXdwb3J0VG9Db250ZW50
cyhtb3VzZUV2ZW50LnBvc2l0aW9uKCkpLCBmYWxzZSAvKmFsbG93U2hhZG93Q29udGVudCovKTsK
ICAgICAgICAgbm9kZSA9IHJlc3VsdC5pbm5lck5vZGUoKTsKICAgICB9CiAKQEAgLTUyMTEsNyAr
NTIxMSw3IEBAIFdlYkRPTURvY3VtZW50IFdlYlBhZ2U6OmRvY3VtZW50KCkgY29uc3QKIAogV2Vi
RE9NTm9kZSBXZWJQYWdlOjpub2RlQXRQb2ludChpbnQgeCwgaW50IHkpCiB7Ci0gICAgSGl0VGVz
dFJlc3VsdCByZXN1bHQgPSBkLT5tX21haW5GcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RS
ZXN1bHRBdFBvaW50KGQtPm1hcEZyb21UcmFuc2Zvcm1lZChJbnRQb2ludCh4LCB5KSkpOworICAg
IEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZC0+bV9tYWluRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5o
aXRUZXN0UmVzdWx0QXRQb2ludChkLT5tYXBGcm9tVHJhbnNmb3JtZWQoSW50UG9pbnQoeCwgeSkp
LCBmYWxzZSk7CiAgICAgTm9kZSogbm9kZSA9IHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKTsK
ICAgICByZXR1cm4gV2ViRE9NTm9kZShub2RlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0ZhdEZpbmdlcnMuY3BwIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRmF0RmluZ2Vycy5jcHAKaW5kZXggZjQyZjVlZGJm
YjM2YWM2YWU2OGFkOTBhNTBjY2QyYTMyZDExNzdjYy4uYzM0NDJjODI3YWY2YzgwNGJiOGNjZjE3
YTc5YzRiMGEwZTEzYjVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YktpdFN1cHBvcnQvRmF0RmluZ2Vycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYktpdFN1cHBvcnQvRmF0RmluZ2Vycy5jcHAKQEAgLTQ5MSwxMiArNDkxLDExIEBAIHZvaWQg
RmF0RmluZ2Vyczo6Z2V0Tm9kZXNGcm9tUmVjdChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IElu
dFBvaW50JiBjb250ZW50UG9zCiAgICAgdW5zaWduZWQgdG9wUGFkZGluZywgcmlnaHRQYWRkaW5n
LCBib3R0b21QYWRkaW5nLCBsZWZ0UGFkZGluZzsKICAgICBnZXRQYWRkaW5ncyh0b3BQYWRkaW5n
LCByaWdodFBhZGRpbmcsIGJvdHRvbVBhZGRpbmcsIGxlZnRQYWRkaW5nKTsKIAorICAgIEhpdFRl
c3RSZXF1ZXN0IHJlcXVlc3QoSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVl
c3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpJZ25vcmVDbGlwcGluZyk7CiAgICAgLy8gVGhl
IHVzZXIgZnVuY3Rpb25zIGNoZWNrRm9yVGV4dCgpIGFuZCBmaW5kSW50ZXJzZWN0aW5nUmVnaW9u
cygpIHVzZXMgdGhlIE5vZGUud2hvbGVUZXh0KCkgdG8gY2hlY2tGaW5nZXJJbnRlcnNlY3Rpb24o
KQogICAgIC8vIG5vdCB0aGUgdGV4dCBpbiBpdHMgc2hhZG93IHRyZWUuCi0gICAgSGl0VGVzdFJl
cXVlc3QgcmVxdWVzdCA9IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0
OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xpcHBpbmc7Ci0gICAgaWYgKG1fdGFy
Z2V0VHlwZSAhPSBUZXh0KQotICAgICAgICByZXF1ZXN0IHw9IEhpdFRlc3RSZXF1ZXN0OjpBbGxv
d1NoYWRvd0NvbnRlbnQ7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQoY29udGVudFBvcywgdG9w
UGFkZGluZywgcmlnaHRQYWRkaW5nLCBib3R0b21QYWRkaW5nLCBsZWZ0UGFkZGluZyk7CisgICAg
U2hhZG93Q29udGVudEZpbHRlclBvbGljeSBhbGxvd1NoYWRvdyA9IG1fdGFyZ2V0VHlwZSA9PSBU
ZXh0ID8gRG9Ob3RBbGxvd1NoYWRvd0NvbnRlbnQgOiBBbGxvd1NoYWRvd0NvbnRlbnQ7CisgICAg
SGl0VGVzdFJlc3VsdCByZXN1bHQoY29udGVudFBvcywgdG9wUGFkZGluZywgcmlnaHRQYWRkaW5n
LCBib3R0b21QYWRkaW5nLCBsZWZ0UGFkZGluZywgYWxsb3dTaGFkb3cpOwogCiAgICAgZG9jdW1l
bnQtPnJlbmRlclZpZXcoKS0+bGF5ZXIoKS0+aGl0VGVzdChyZXF1ZXN0LCByZXN1bHQpOwogICAg
IGludGVyc2VjdGVkTm9kZXMgPSByZXN1bHQucmVjdEJhc2VkVGVzdFJlc3VsdCgpOwpAQCAtNTEx
LDcgKzUxMCw3IEBAIHZvaWQgRmF0RmluZ2Vyczo6Z2V0UmVsZXZhbnRJbmZvRnJvbVBvaW50KERv
Y3VtZW50KiBkb2N1bWVudCwgY29uc3QgSW50UG9pbnQmIGNvCiAgICAgaWYgKCFkb2N1bWVudCB8
fCAhZG9jdW1lbnQtPnJlbmRlcmVyKCkgfHwgIWRvY3VtZW50LT5mcmFtZSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCAgPSBkb2N1bWVudC0+ZnJhbWUoKS0+
ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnRlbnRQb3MsIEhpdFRlc3RS
ZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVz
dDo6QWxsb3dTaGFkb3dDb250ZW50KTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCAgPSBkb2N1
bWVudC0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnRl
bnRQb3MsIHRydWUgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyk7CiAgICAgTm9kZSogbm9kZSA9IHJl
c3VsdC5pbm5lck5vZGUoKTsKICAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+aXNFbGVtZW50Tm9k
ZSgpKQogICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVy
LmNwcAppbmRleCBmMjg5Y2Y1ZGM0Y2Y3N2Y3NGQ4MTAyMmJiYzVhNDAyNjVkMWFiY2M3Li5lNmMw
N2ZmYWM4ZjM5N2UxOWI1YTYwZjhlMDU3N2VmOTdiYWNiMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVy
LmNwcApAQCAtMTYwLDcgKzE2MCw3IEBAIHN0YXRpYyBWaXNpYmxlUG9zaXRpb24gdmlzaWJsZVBv
c2l0aW9uRm9yUG9pbnRJZ25vcmluZ0NsaXBwaW5nKGNvbnN0IEZyYW1lJiBmcmFtCiAgICAgLy8g
b3V0c2lkZSB0aGUgdmlzaWJsZSByZWN0LiBUbyB3b3JrIGFyb3VuZCB0aGUgYnVnLCB0aGlzIGlz
IGEgY29weSBvZgogICAgIC8vIHZpc2libGVQb3NpdGlvbkF0UG9pbnQgd2hpY2ggd2hpY2ggcGFz
c2VzIGlnbm9yZUNsaXBwaW5nPXRydWUuCiAgICAgLy8gU2VlIFJJTSBCdWcgIzQzMTUuCi0gICAg
SGl0VGVzdFJlc3VsdCByZXN1bHQgPSBmcmFtZS5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3Vs
dEF0UG9pbnQoZnJhbWVQb2ludCwgSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJl
cXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpBbGxvd1NoYWRvd0NvbnRlbnQgfCBIaXRU
ZXN0UmVxdWVzdDo6SWdub3JlQ2xpcHBpbmcpOworICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0g
ZnJhbWUuZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGZyYW1lUG9pbnQsIHRy
dWUgLyogYWxsb3dTaGFkb3dDb250ZW50ICovLCB0cnVlIC8qIGlnbm9yZUNsaXBwaW5nICovKTsK
IAogICAgIE5vZGUqIG5vZGUgPSByZXN1bHQuaW5uZXJOb2RlKCk7CiAgICAgaWYgKCFub2RlIHx8
IG5vZGUtPmRvY3VtZW50KCkgIT0gZnJhbWUuZG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0NvbnRleHRNZW51Q2xpZW50SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Db250ZXh0TWVudUNsaWVudEltcGwuY3BwCmluZGV4IDJmZDY0
MzFjMWY2ZjEwMWRhMDAyMDRhMzc4ZDFlODBjMWQwNzVjMWQuLjY0MWE1ODVhMDE4OTQ1ZGEyMzYw
ZGJmZjk2YWZjMjZjMmQxNTlkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0NvbnRleHRNZW51Q2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvQ29udGV4dE1lbnVDbGllbnRJbXBsLmNwcApAQCAtMTIyLDcgKzEyMiw3IEBAIHN0YXRp
YyBTdHJpbmcgc2VsZWN0TWlzc3BlbGxlZFdvcmQoY29uc3QgQ29udGV4dE1lbnUqIGRlZmF1bHRN
ZW51LCBGcmFtZSogc2VsZWN0CiAKICAgICAvLyBTZWxlY3Rpb24gaXMgZW1wdHksIHNvIGNoYW5n
ZSB0aGUgc2VsZWN0aW9uIHRvIHRoZSB3b3JkIHVuZGVyIHRoZSBjdXJzb3IuCiAgICAgSGl0VGVz
dFJlc3VsdCBoaXRUZXN0UmVzdWx0ID0gc2VsZWN0ZWRGcmFtZS0+ZXZlbnRIYW5kbGVyKCktPgot
ICAgICAgICBoaXRUZXN0UmVzdWx0QXRQb2ludChzZWxlY3RlZEZyYW1lLT5wYWdlKCktPmNvbnRl
eHRNZW51Q29udHJvbGxlcigpLT5oaXRUZXN0UmVzdWx0KCkucG9pbnQoKSwgSGl0VGVzdFJlcXVl
c3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpB
bGxvd1NoYWRvd0NvbnRlbnQpOworICAgICAgICBoaXRUZXN0UmVzdWx0QXRQb2ludChzZWxlY3Rl
ZEZyYW1lLT5wYWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5oaXRUZXN0UmVzdWx0KCku
cG9pbnQoKSwgdHJ1ZSk7CiAgICAgTm9kZSogaW5uZXJOb2RlID0gaGl0VGVzdFJlc3VsdC5pbm5l
ck5vZGUoKTsKICAgICBWaXNpYmxlUG9zaXRpb24gcG9zKGlubmVyTm9kZS0+cmVuZGVyZXIoKS0+
cG9zaXRpb25Gb3JQb2ludCgKICAgICAgICAgaGl0VGVzdFJlc3VsdC5sb2NhbFBvaW50KCkpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudElt
cGwuY3BwCmluZGV4IGM5OWJkN2M1NzI1M2IyYjZlYWRlMDBhNWM1YWUyNmVkNmE2MzY3OGQuLjVk
ZDAyYjU2M2QwOTEzMmRjY2ExMmViYzEzZDM3YWQ2NWQ2MDA5YTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApAQCAtOTk3
LDcgKzk5Nyw4IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaERlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb24oCiAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LT5pc01v
dXNlRXZlbnQoKSkgewogICAgICAgICAgICAgICAgICAgICBjb25zdCBNb3VzZUV2ZW50KiBtb3Vz
ZUV2ZW50ID0KICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IE1vdXNl
RXZlbnQqPihldmVudCk7Ci0gICAgICAgICAgICAgICAgICAgIG5vZGUgPSBtX3dlYkZyYW1lLT5m
cmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobW91c2VFdmVudC0+
YWJzb2x1dGVMb2NhdGlvbigpKS5pbm5lck5vblNoYXJlZE5vZGUoKTsKKyAgICAgICAgICAgICAg
ICAgICAgbm9kZSA9IG1fd2ViRnJhbWUtPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0
UmVzdWx0QXRQb2ludCgKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlRXZlbnQtPmFic29s
dXRlTG9jYXRpb24oKSwgZmFsc2UpLmlubmVyTm9uU2hhcmVkTm9kZSgpOwogICAgICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBmYmFmYzU3Mjk0OWZi
ZDIzYjY2ODY5YWQ2ZGNmNzQ4YzhlZDdjMjFlLi5lYjAyMzUxZGFhYzE1MzIxNWVmMjJiNGM3MDI1
YzdmZjgzZGFhNWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAKQEAgLTEyNjUsNyArMTI2NSw3IEBAIHNpemVfdCBXZWJGcmFtZUltcGw6OmNoYXJhY3Rl
ckluZGV4Rm9yUG9pbnQoY29uc3QgV2ViUG9pbnQmIHdlYlBvaW50KSBjb25zdAogICAgICAgICBy
ZXR1cm4gbm90Rm91bmQ7CiAKICAgICBJbnRQb2ludCBwb2ludCA9IGZyYW1lKCktPnZpZXcoKS0+
d2luZG93VG9Db250ZW50cyh3ZWJQb2ludCk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBm
cmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQocG9pbnQpOworICAg
IEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RS
ZXN1bHRBdFBvaW50KHBvaW50LCBmYWxzZSk7CiAgICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IGZy
YW1lKCktPnJhbmdlRm9yUG9pbnQocmVzdWx0LnJvdW5kZWRQb2ludCgpKTsKICAgICBpZiAoIXJh
bmdlKQogICAgICAgICByZXR1cm4gbm90Rm91bmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwCmluZGV4IDUyNGJhODBmOGQx
ZmVlM2U5M2RmZjhlZGRmNjRjMzMyNjc5M2JmNGUuLjVjMTY0MzE5ZTZmZjQzOGJhYmY2Yjk3OGYz
MWM1ODkxNGU2N2Q5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBsdWdpbkNvbnRhaW5lckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwCkBAIC01MDcsNyArNTA3LDcgQEAgYm9vbCBXZWJQ
bHVnaW5Db250YWluZXJJbXBsOjppc1JlY3RUb3Btb3N0KGNvbnN0IFdlYlJlY3QmIHJlY3QpCiAg
ICAgTGF5b3V0UG9pbnQgY2VudGVyID0gZG9jdW1lbnRSZWN0LmNlbnRlcigpOwogICAgIC8vIE1h
a2UgdGhlIHJlY3Qgd2UncmUgY2hlY2tpbmcgKHRoZSBwb2ludCBzdXJyb3VuZGVkIGJ5IHBhZGRp
bmcgcmVjdHMpIGNvbnRhaW5lZCBpbnNpZGUgdGhlIHJlcXVlc3RlZCByZWN0LiAoTm90ZSB0aGF0
IC0xLzIgaXMgMC4pCiAgICAgTGF5b3V0U2l6ZSBwYWRkaW5nKChkb2N1bWVudFJlY3Qud2lkdGgo
KSAtIDEpIC8gMiwgKGRvY3VtZW50UmVjdC5oZWlnaHQoKSAtIDEpIC8gMik7Ci0gICAgSGl0VGVz
dFJlc3VsdCByZXN1bHQgPSBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBv
aW50KGNlbnRlciwgSGl0VGVzdFJlcXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFj
dGl2ZSwgcGFkZGluZyk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBmcmFtZS0+ZXZlbnRI
YW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGNlbnRlciwgZmFsc2UsIGZhbHNlLCBEb250
SGl0VGVzdFNjcm9sbGJhcnMsIEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhpdFRlc3RSZXF1
ZXN0OjpBY3RpdmUsIHBhZGRpbmcpOwogICAgIGNvbnN0IEhpdFRlc3RSZXN1bHQ6Ok5vZGVTZXQm
IG5vZGVzID0gcmVzdWx0LnJlY3RCYXNlZFRlc3RSZXN1bHQoKTsKICAgICBpZiAobm9kZXMuc2l6
ZSgpICE9IDEpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBhYWEyNDlhNzFkNTgwOTgwMmU0MTU0Mzg3ZTkxMTNh
OTQzYTBlMGNhLi5kMThjZDIzNmNlZDQ5MmQzNWY3MTMwMmIxODM2MDZjYzI1ZDU5NDMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02MzgsNyArNjM4
LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxlTW91c2VVcChGcmFtZSYgbWFpbkZyYW1lLCBj
b25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKICAgICAgICAgRnJhbWVWaWV3KiB2aWV3ID0gbV9w
YWdlLT5tYWluRnJhbWUoKS0+dmlldygpOwogICAgICAgICBJbnRQb2ludCBjbGlja1BvaW50KG1f
bGFzdE1vdXNlRG93blBvaW50LngsIG1fbGFzdE1vdXNlRG93blBvaW50LnkpOwogICAgICAgICBJ
bnRQb2ludCBjb250ZW50UG9pbnQgPSB2aWV3LT53aW5kb3dUb0NvbnRlbnRzKGNsaWNrUG9pbnQp
OwotICAgICAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHQgPSBmb2N1c2VkLT5ldmVudEhh
bmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQoY29udGVudFBvaW50LCBIaXRUZXN0UmVxdWVz
dDo6UmVhZE9ubHkgfCBIaXRUZXN0UmVxdWVzdDo6QWN0aXZlIHwgSGl0VGVzdFJlcXVlc3Q6OlRl
c3RDaGlsZEZyYW1lU2Nyb2xsQmFycyk7CisgICAgICAgIEhpdFRlc3RSZXN1bHQgaGl0VGVzdFJl
c3VsdCA9IGZvY3VzZWQtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChjb250
ZW50UG9pbnQsIGZhbHNlLCBmYWxzZSwgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMpOwogICAgICAg
ICAvLyBXZSBkb24ndCB3YW50IHRvIHNlbmQgYSBwYXN0ZSB3aGVuIG1pZGRsZSBjbGlja2luZyBh
IHNjcm9sbCBiYXIgb3IgYQogICAgICAgICAvLyBsaW5rICh3aGljaCB3aWxsIG5hdmlnYXRlIGxh
dGVyIGluIHRoZSBjb2RlKS4gIFRoZSBtYWluIHNjcm9sbGJhcnMKICAgICAgICAgLy8gaGF2ZSB0
byBiZSBoYW5kbGVkIHNlcGFyYXRlbHkuCkBAIC0xMDA3LDggKzEwMDcsOSBAQCBXZWJSZWN0IFdl
YlZpZXdJbXBsOjpjb21wdXRlQmxvY2tCb3VuZHMoY29uc3QgV2ViUmVjdCYgcmVjdCwgQXV0b1pv
b21UeXBlIHpvb21UeQogCiAgICAgLy8gVXNlIHRoZSByZWN0LWJhc2VkIGhpdCB0ZXN0IHRvIGZp
bmQgdGhlIG5vZGUuCiAgICAgSW50UG9pbnQgcG9pbnQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1l
VmlldygpLT53aW5kb3dUb0NvbnRlbnRzKEludFBvaW50KHJlY3QueCwgcmVjdC55KSk7Ci0gICAg
SGl0VGVzdFJlcXVlc3Q6OkhpdFRlc3RSZXF1ZXN0VHlwZSBoaXRUeXBlID0gSGl0VGVzdFJlcXVl
c3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8ICgoem9vbVR5cGUgPT0gRmlu
ZEluUGFnZSkgPyBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xpcHBpbmcgOiAwKTsKLSAgICBIaXRU
ZXN0UmVzdWx0IHJlc3VsdCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVy
KCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KHBvaW50LCBoaXRUeXBlLCBJbnRTaXplKHJlY3Qud2lk
dGgsIHJlY3QuaGVpZ2h0KSk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBtYWluRnJhbWVJ
bXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChwb2lu
dCwKKyAgICAgICAgICAgIGZhbHNlLCB6b29tVHlwZSA9PSBGaW5kSW5QYWdlLCBEb250SGl0VGVz
dFNjcm9sbGJhcnMsIEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6UmVh
ZE9ubHksCisgICAgICAgICAgICBJbnRTaXplKHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KSk7CiAK
ICAgICBOb2RlKiBub2RlID0gcmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpOwogICAgIGlmICgh
bm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKaW5kZXggNDUyNTliMGEyMzg0ZjZi
MjUyNmMxYjkzZWFjOGUxZDZlOGJjNDRlYy4uMGFmNWQyNDMzYzYzMzcwYjdkZjc4OWRhYjc4NWI2
N2QxYzQyY2UxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTM4LDcgKzM4
LDYgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCi0jaW5jbHVkZSAiSGl0VGVzdFJlcXVlc3Qu
aCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2lu
Y2x1ZGUgIktVUkwuaCIKQEAgLTY5NCw4ICs2OTMsOCBAQCBFd2tfSGl0X1Rlc3QqIGV3a19mcmFt
ZV9oaXRfdGVzdF9uZXcoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBpbnQgeCwgaW50IHkp
CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNtYXJ0RGF0YS0+ZnJhbWUtPmNv
bnRlbnRSZW5kZXJlcigpLCAwKTsKIAogICAgIFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQgcmVzdWx0
ID0gc21hcnREYXRhLT5mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXctPndpbmRvd1Rv
Q29udGVudHMoV2ViQ29yZTo6SW50UG9pbnQoeCwgeSkpLCAKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXZWJDb3JlOjpIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBX
ZWJDb3JlOjpIaXRUZXN0UmVxdWVzdDo6QWN0aXZlIHwgV2ViQ29yZTo6SGl0VGVzdFJlcXVlc3Q6
Oklnbm9yZUNsaXBwaW5nKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAodmlldy0+d2luZG93VG9Db250ZW50cyhXZWJDb3JlOjpJbnRQb2ludCh4LCB5KSksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyphbGxvd1NoYWRvd0NvbnRlbnQq
LyBmYWxzZSwgLyppZ25vcmVDbGlwcGluZyovIHRydWUpOwogCiAgICAgaWYgKHJlc3VsdC5zY3Jv
bGxiYXIoKSkKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCmluZGV4IDViNjhhMWY1
ZmZlNmM4OTNlOTkzMmY3YjlmNDg2NmMxYTYwMGZiYmMuLjY0ZTQ0YTRkMDA0NjVmNmFmYWJkYWMw
YjE2Y2M2ZTAyYTRkNTIxMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCkBAIC0xMzMyLDcgKzEzMzIsNyBA
QCBOU0RpY3Rpb25hcnkgKldlYkZyYW1lTG9hZGVyQ2xpZW50OjphY3Rpb25EaWN0aW9uYXJ5KGNv
bnN0IE5hdmlnYXRpb25BY3Rpb24mIGFjdAogCiAgICAgaWYgKGNvbnN0IE1vdXNlRXZlbnQqIG1v
dXNlRXZlbnQgPSBmaW5kTW91c2VFdmVudChldmVudCkpIHsKICAgICAgICAgV2ViRWxlbWVudERp
Y3Rpb25hcnkgKmVsZW1lbnQgPSBbW1dlYkVsZW1lbnREaWN0aW9uYXJ5IGFsbG9jXQotICAgICAg
ICAgICAgaW5pdFdpdGhIaXRUZXN0UmVzdWx0OmNvcmUobV93ZWJGcmFtZS5nZXQoKSktPmV2ZW50
SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtb3VzZUV2ZW50LT5hYnNvbHV0ZUxvY2F0
aW9uKCkpXTsKKyAgICAgICAgICAgIGluaXRXaXRoSGl0VGVzdFJlc3VsdDpjb3JlKG1fd2ViRnJh
bWUuZ2V0KCkpLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobW91c2VFdmVu
dC0+YWJzb2x1dGVMb2NhdGlvbigpLCBmYWxzZSldOwogICAgICAgICBbcmVzdWx0IHNldE9iamVj
dDplbGVtZW50IGZvcktleTpXZWJBY3Rpb25FbGVtZW50S2V5XTsKICAgICAgICAgW2VsZW1lbnQg
cmVsZWFzZV07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4
IDk2NDk5NWY5YzQ1MWViZjgwZmE3OGIzMTQwZjk3MzVkOTE5YTM5NTYuLmJmZWRlOGRiNmY5ZWZi
NjVmZDExNTQxODk4YThjZDEwODRlMmI2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJIVE1MVmlldy5tbQpAQCAtNjIwNiw4ICs2MjA2LDcgQEAgc3RhdGljIHZvaWQgZXh0cmFjdFVu
ZGVybGluZXMoTlNBdHRyaWJ1dGVkU3RyaW5nICpzdHJpbmcsIFZlY3RvcjxDb21wb3NpdGlvblVu
ZGUKICAgICBGcmFtZSogY29yZUZyYW1lID0gY29yZShbc2VsZiBfZnJhbWVdKTsKICAgICBpZiAo
IWNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuIG5pbDsKLSAgICBIaXRUZXN0UmVxdWVzdDo6SGl0
VGVzdFJlcXVlc3RUeXBlIGhpdFR5cGUgPSBIaXRUZXN0UmVxdWVzdDo6UmVhZE9ubHkgfCBIaXRU
ZXN0UmVxdWVzdDo6QWN0aXZlIHwgKGFsbG93ID8gSGl0VGVzdFJlcXVlc3Q6OkFsbG93U2hhZG93
Q29udGVudCA6IDApOwotICAgIHJldHVybiBbW1tXZWJFbGVtZW50RGljdGlvbmFyeSBhbGxvY10g
aW5pdFdpdGhIaXRUZXN0UmVzdWx0OmNvcmVGcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RS
ZXN1bHRBdFBvaW50KEludFBvaW50KHBvaW50KSwgaGl0VHlwZSldIGF1dG9yZWxlYXNlXTsKKyAg
ICByZXR1cm4gW1tbV2ViRWxlbWVudERpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoSGl0VGVzdFJl
c3VsdDpjb3JlRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChJbnRQ
b2ludChwb2ludCksIGFsbG93KV0gYXV0b3JlbGVhc2VdOwogfQogCiAtIChOU1VJbnRlZ2VyKWNv
dW50TWF0Y2hlc0ZvclRleHQ6KE5TU3RyaW5nICopc3RyaW5nIGluRE9NUmFuZ2U6KERPTVJhbmdl
ICopcmFuZ2Ugb3B0aW9uczooV2ViRmluZE9wdGlvbnMpb3B0aW9ucyBsaW1pdDooTlNVSW50ZWdl
cilsaW1pdCBtYXJrTWF0Y2hlczooQk9PTCltYXJrTWF0Y2hlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJm
cmFtZS5jcHAKaW5kZXggOGFjMThmOGUzYjQxNzIwYjU4MDkzMWMzODc1YmMyNjNmNWFlYzI5Yy4u
YWRiZmExY2NkZTRmYTc0NTVlMGI2YmM3NWJiMTM3YTVmZjRhY2FiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0Fw
aS9xd2ViZnJhbWUuY3BwCkBAIC0xNDA2LDcgKzE0MDYsNyBAQCBRV2ViSGl0VGVzdFJlc3VsdCBR
V2ViRnJhbWU6OmhpdFRlc3RDb250ZW50KGNvbnN0IFFQb2ludCAmcG9zKSBjb25zdAogICAgIGlm
ICghZC0+ZnJhbWUtPnZpZXcoKSB8fCAhZC0+ZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpKQogICAg
ICAgICByZXR1cm4gUVdlYkhpdFRlc3RSZXN1bHQoKTsKIAotICAgIEhpdFRlc3RSZXN1bHQgcmVz
dWx0ID0gZC0+ZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChkLT5m
cmFtZS0+dmlldygpLT53aW5kb3dUb0NvbnRlbnRzKHBvcyksIEhpdFRlc3RSZXF1ZXN0OjpSZWFk
T25seSB8IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xp
cHBpbmcpOworICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZC0+ZnJhbWUtPmV2ZW50SGFuZGxl
cigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChkLT5mcmFtZS0+dmlldygpLT53aW5kb3dUb0NvbnRl
bnRzKHBvcyksIC8qYWxsb3dTaGFkb3dDb250ZW50Ki8gZmFsc2UsIC8qaWdub3JlQ2xpcHBpbmcq
LyB0cnVlKTsKIAogICAgIGlmIChyZXN1bHQuc2Nyb2xsYmFyKCkpCiAgICAgICAgIHJldHVybiBR
V2ViSGl0VGVzdFJlc3VsdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGUxYzA2
NTE1YjAwOGFiNzZlNmFjYjhkMDhlOTNkNmVlNGM1ZjkyZjAuLjdmYjc0MTM2OWFjMTI0Mjk5YjAz
OTQ4MTBmODliMmRlMjJlNmMzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTgw
MCw3ICs4MDAsNyBAQCB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6aGFuZGxlU29mdHdhcmVJbnB1dFBh
bmVsKFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIGNvbnN0IFFQbwogICAgICAgICBRU3R5bGU6OlJl
cXVlc3RTb2Z0d2FyZUlucHV0UGFuZWwgYmVoYXZpb3IgPSBRU3R5bGU6OlJlcXVlc3RTb2Z0d2Fy
ZUlucHV0UGFuZWwoCiAgICAgICAgICAgICBjbGllbnQtPm93bmVyV2lkZ2V0KCktPnN0eWxlKCkt
PnN0eWxlSGludChRU3R5bGU6OlNIX1JlcXVlc3RTb2Z0d2FyZUlucHV0UGFuZWwpKTsKICAgICAg
ICAgaWYgKCFjbGlja0NhdXNlZEZvY3VzIHx8IGJlaGF2aW9yID09IFFTdHlsZTo6UlNJUF9Pbk1v
dXNlQ2xpY2spIHsKLSAgICAgICAgICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZnJhbWUtPmV2
ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChmcmFtZS0+dmlldygpLT53aW5kb3dU
b0NvbnRlbnRzKHBvcykpOworICAgICAgICAgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBmcmFt
ZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGZyYW1lLT52aWV3KCktPndp
bmRvd1RvQ29udGVudHMocG9zKSwgZmFsc2UpOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0Nv
bnRlbnRFZGl0YWJsZSgpKSB7CiAgICAgICAgICAgICAgICAgUUV2ZW50IGV2ZW50KFFFdmVudDo6
UmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCk7CiAgICAgICAgICAgICAgICAgUUFwcGxpY2F0aW9u
OjpzZW5kRXZlbnQoY2xpZW50LT5vd25lcldpZGdldCgpLCAmZXZlbnQpOwpAQCAtMTU1Nyw3ICsx
NTU3LDcgQEAgSW50UG9pbnQgUVdlYlBhZ2VQcml2YXRlOjpUb3VjaEFkanVzdGVyOjpmaW5kQ2Fu
ZGlkYXRlUG9pbnRGb3JUb3VjaChjb25zdCBJbnRQb2kKICAgICBpbnQgeCA9IHRvdWNoUG9pbnQu
eCgpOwogICAgIGludCB5ID0gdG91Y2hQb2ludC55KCk7CiAKLSAgICBSZWZQdHI8Tm9kZUxpc3Q+
IGludGVyc2VjdGVkTm9kZXMgPSBkb2N1bWVudC0+bm9kZXNGcm9tUmVjdCh4LCB5LCBtX3RvcFBh
ZGRpbmcsIG1fcmlnaHRQYWRkaW5nLCBtX2JvdHRvbVBhZGRpbmcsIG1fbGVmdFBhZGRpbmcpOwor
ICAgIFJlZlB0cjxOb2RlTGlzdD4gaW50ZXJzZWN0ZWROb2RlcyA9IGRvY3VtZW50LT5ub2Rlc0Zy
b21SZWN0KHgsIHksIG1fdG9wUGFkZGluZywgbV9yaWdodFBhZGRpbmcsIG1fYm90dG9tUGFkZGlu
ZywgbV9sZWZ0UGFkZGluZywgZmFsc2UgLyppZ25vcmVDbGlwcGluZyovLCBmYWxzZSAvKmFsbG93
U2hhZG93Q29udGVudCovKTsKICAgICBpZiAoIWludGVyc2VjdGVkTm9kZXMpCiAgICAgICAgIHJl
dHVybiBJbnRQb2ludCgpOwogCkBAIC0zMzYzLDcgKzMzNjMsNyBAQCB2b2lkIFFXZWJQYWdlOjp1
cGRhdGVQb3NpdGlvbkRlcGVuZGVudEFjdGlvbnMoY29uc3QgUVBvaW50ICZwb3MpCiAgICAgZC0+
Y3JlYXRlTWFpbkZyYW1lKCk7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGZvY3VzZWRGcmFtZSA9IGQt
PnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKIAotICAgIEhp
dFRlc3RSZXN1bHQgcmVzdWx0ID0gZm9jdXNlZEZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVz
dFJlc3VsdEF0UG9pbnQoZm9jdXNlZEZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHMocG9z
KSk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBmb2N1c2VkRnJhbWUtPmV2ZW50SGFuZGxl
cigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChmb2N1c2VkRnJhbWUtPnZpZXcoKS0+d2luZG93VG9D
b250ZW50cyhwb3MpLCAvKmFsbG93U2hhZG93Q29udGVudCovIGZhbHNlKTsKICAgICBpZiAocmVz
dWx0LnNjcm9sbGJhcigpKQogICAgICAgICBkLT5oaXRUZXN0UmVzdWx0ID0gUVdlYkhpdFRlc3RS
ZXN1bHQoKTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCA3MmE1ZTAwNDk4MmRkZTc0ZTUy
YTg1OWEzMGQxNDc1N2Y2MDJjZjEyLi5iY2YwNzJkNjViNTY0ZmYxZWQ1YWI2YWQ1MTI5NDYxODQw
OTFiMDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTEyNzIsNyArMTI3Miw3IEBAIHZvaWQgRnJhbWVM
b2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKEZy
YW1lUG9saWN5RnVuCiAgICAgICAgICAgICBpZiAoZXZlbnQtPmlzTW91c2VFdmVudCgpKSB7CiAg
ICAgICAgICAgICAgICAgY29uc3QgTW91c2VFdmVudCogbW91c2VFdmVudCA9ICBzdGF0aWNfY2Fz
dDxjb25zdCBNb3VzZUV2ZW50Kj4oZXZlbnQpOwogICAgICAgICAgICAgICAgIG5vZGUgPSBRV2Vi
RnJhbWVQcml2YXRlOjpjb3JlKG1fd2ViRnJhbWUpLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJl
c3VsdEF0UG9pbnQoCi0gICAgICAgICAgICAgICAgICAgIG1vdXNlRXZlbnQtPmFic29sdXRlTG9j
YXRpb24oKSkuaW5uZXJOb25TaGFyZWROb2RlKCk7CisgICAgICAgICAgICAgICAgICAgIG1vdXNl
RXZlbnQtPmFic29sdXRlTG9jYXRpb24oKSwgZmFsc2UpLmlubmVyTm9uU2hhcmVkTm9kZSgpOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJBY3Rpb25Qcm9wZXJ0eUJhZy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJBY3Rpb25Qcm9wZXJ0eUJhZy5jcHAKaW5kZXggZDI5MDUwOTFmMmM3MzE2
YzJjNTgyZmFkMDlmM2UzNjE4NDgyYTM4OC4uZmNhODNiZTBkNGU5MDAyMTAzYTMzNDZhZDE3MzI4
OTc4Yjc4MzI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQWN0aW9uUHJvcGVy
dHlCYWcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkFjdGlvblByb3BlcnR5QmFnLmNw
cApAQCAtMTIxLDcgKzEyMSw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQWN0aW9u
UHJvcGVydHlCYWc6OlJlYWQoTFBDT0xFU1RSIHBzelByb3BOYW1lLCBWQVJJCiAgICAgaWYgKGlz
RXF1YWwocHN6UHJvcE5hbWUsIFdlYkFjdGlvbkVsZW1lbnRLZXkpKSB7CiAgICAgICAgIGlmIChj
b25zdCBNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gZmluZE1vdXNlRXZlbnQobV9hY3Rpb24uZXZl
bnQoKSkpIHsKICAgICAgICAgICAgIFZfVlQocFZhcikgPSBWVF9VTktOT1dOOwotICAgICAgICAg
ICAgVl9VTktOT1dOKHBWYXIpID0gV2ViRWxlbWVudFByb3BlcnR5QmFnOjpjcmVhdGVJbnN0YW5j
ZShtX2ZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobW91c2VFdmVu
dC0+YWJzb2x1dGVMb2NhdGlvbigpKSk7CisgICAgICAgICAgICBWX1VOS05PV04ocFZhcikgPSBX
ZWJFbGVtZW50UHJvcGVydHlCYWc6OmNyZWF0ZUluc3RhbmNlKG1fZnJhbWUtPmV2ZW50SGFuZGxl
cigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtb3VzZUV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9uKCks
IGZhbHNlKSk7CiAgICAgICAgICAgICByZXR1cm4gU19PSzsKICAgICAgICAgfQogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93
aW4vV2ViVmlldy5jcHAKaW5kZXggOWVhOTMzMmVjMmNkNGViMWNjNjRmODAxMTg1MDg4MjRkMzJm
Yzk2OS4uM2YzODA2MGNjNGE5MzMxYzMwZDM1NTA1YzFmNzgzYjM2MzI1NGM2MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4v
V2ViVmlldy5jcHAKQEAgLTEzMjIsNyArMTMyMiw3IEBAIGJvb2wgV2ViVmlldzo6aGFuZGxlQ29u
dGV4dE1lbnVFdmVudChXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogICAgIG1fcGFnZS0+
Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNsZWFyQ29udGV4dE1lbnUoKTsKIAogICAgIEludFBv
aW50IGRvY3VtZW50UG9pbnQobV9wYWdlLT5tYWluRnJhbWUoKS0+dmlldygpLT53aW5kb3dUb0Nv
bnRlbnRzKGNvb3JkcykpOwotICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gbV9wYWdlLT5tYWlu
RnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGRvY3VtZW50UG9p
bnQpOworICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+ZXZl
bnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGRvY3VtZW50UG9pbnQsIGZhbHNlKTsK
ICAgICBGcmFtZSogdGFyZ2V0RnJhbWUgPSByZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCkgPyBy
ZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCktPmRvY3VtZW50KCktPmZyYW1lKCkgOiBtX3BhZ2Ut
PmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKIAogICAgIHRhcmdldEZy
YW1lLT52aWV3KCktPnNldEN1cnNvcihwb2ludGVyQ3Vyc29yKCkpOwpAQCAtMzU5Nyw3ICszNTk3
LDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3OjplbGVtZW50QXRQb2ludCgK
ICAgICBJbnRQb2ludCB3ZWJDb3JlUG9pbnQgPSBJbnRQb2ludChwb2ludC0+eCwgcG9pbnQtPnkp
OwogICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gSGl0VGVzdFJlc3VsdCh3ZWJDb3JlUG9pbnQp
OwogICAgIGlmIChmcmFtZS0+Y29udGVudFJlbmRlcmVyKCkpCi0gICAgICAgIHJlc3VsdCA9IGZy
YW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQod2ViQ29yZVBvaW50KTsK
KyAgICAgICAgcmVzdWx0ID0gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQ
b2ludCh3ZWJDb3JlUG9pbnQsIGZhbHNlKTsKICAgICAqZWxlbWVudERpY3Rpb25hcnkgPSBXZWJF
bGVtZW50UHJvcGVydHlCYWc6OmNyZWF0ZUluc3RhbmNlKHJlc3VsdCk7CiAgICAgcmV0dXJuIFNf
T0s7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYkZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd3gvV2ViRnJhbWUuY3BwCmluZGV4IDQ3MDE2NWRiNDRlMjc1ZjI0MzU1OGNhZmMw
NTUwYTJiMjBiN2M4YjIuLmIzNzQxMTNjMDc3MmExYzdmMjZmMjQ0MDgzMDAyYmIzYWFlOGM4YTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd3gvV2ViRnJhbWUuY3BwCkBAIC02ODksNyArNjg5LDcgQEAgV2ViVmlld0RPTUVsZW1l
bnRJbmZvIFdlYkZyYW1lOjpIaXRUZXN0KGNvbnN0IHd4UG9pbnQmIHBvcykgY29uc3QKICAgICBX
ZWJWaWV3RE9NRWxlbWVudEluZm8gZG9tSW5mbzsKIAogICAgIGlmIChtX2ltcGwtPmZyYW1lLT52
aWV3KCkpIHsKLSAgICAgICAgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCByZXN1bHQgPSBtX2ltcGwt
PmZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobV9pbXBsLT5mcmFt
ZS0+dmlldygpLT53aW5kb3dUb0NvbnRlbnRzKHBvcykpOworICAgICAgICBXZWJDb3JlOjpIaXRU
ZXN0UmVzdWx0IHJlc3VsdCA9IG1faW1wbC0+ZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0
UmVzdWx0QXRQb2ludChtX2ltcGwtPmZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHMocG9z
KSwgZmFsc2UpOwogICAgICAgICBpZiAocmVzdWx0LmlubmVyTm9kZSgpKSB7CiAgICAgICAgICAg
ICBkb21JbmZvLlNldExpbmsocmVzdWx0LmFic29sdXRlTGlua1VSTCgpLnN0cmluZygpKTsKICAg
ICAgICAgICAgIGRvbUluZm8uU2V0VGV4dChyZXN1bHQudGV4dENvbnRlbnQoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlTmF2aWdhdGlvbkFjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5jcHAKaW5kZXggMjljNzBk
ZmI0NjZjN2QwZWQ0ZjE1ZWI0YzkyNGMzZDgyY2Y3MWIxNC4uNDI4MTM1NDgxYWZkOWM1MWIzYWJk
Mjc2Y2U4NjE2ZDM5NmY4YjQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVO
YXZpZ2F0aW9uQWN0aW9uLmNwcApAQCAtOTEsNyArOTEsNyBAQCBJbmplY3RlZEJ1bmRsZU5hdmln
YXRpb25BY3Rpb246OkluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbihXZWJGcmFtZSogZnJh
bWUsCiAgICAgLCBtX21vdXNlQnV0dG9uKFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uKQogewogICAg
IGlmIChjb25zdCBNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gbW91c2VFdmVudEZvck5hdmlnYXRp
b25BY3Rpb24obmF2aWdhdGlvbkFjdGlvbikpIHsKLSAgICAgICAgbV9oaXRUZXN0UmVzdWx0ID0g
SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpjcmVhdGUoZnJhbWUtPmNvcmVGcmFtZSgpLT5l
dmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobW91c2VFdmVudC0+YWJzb2x1dGVM
b2NhdGlvbigpKSk7CisgICAgICAgIG1faGl0VGVzdFJlc3VsdCA9IEluamVjdGVkQnVuZGxlSGl0
VGVzdFJlc3VsdDo6Y3JlYXRlKGZyYW1lLT5jb3JlRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhp
dFRlc3RSZXN1bHRBdFBvaW50KG1vdXNlRXZlbnQtPmFic29sdXRlTG9jYXRpb24oKSwgZmFsc2Up
KTsKICAgICAgICAgbV9tb3VzZUJ1dHRvbiAgID0gbW91c2VCdXR0b25Gb3JNb3VzZUV2ZW50KG1v
dXNlRXZlbnQpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IGRjYThjNzVjMmFhNDhjZDE1MzE1NTUwM2VmMzllM2JkNjZmMjZj
YmEuLmYyMTI1MjgyNjYxODI5YjdiOTAwZDMyZTc3YzJhNzgyZjA3YjhkNTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEzMTUsNyArMTMx
NSw3IEBAIHN0YXRpYyBib29sIGlzQ29udGV4dENsaWNrKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZlbnQpCiBzdGF0aWMgYm9vbCBoYW5kbGVDb250ZXh0TWVudUV2ZW50KGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYgcGxhdGZvcm1Nb3VzZUV2ZW50LCBXZWJQYWdlKiBwYWdlKQogewogICAg
IEludFBvaW50IHBvaW50ID0gcGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+
d2luZG93VG9Db250ZW50cyhwbGF0Zm9ybU1vdXNlRXZlbnQucG9zaXRpb24oKSk7Ci0gICAgSGl0
VGVzdFJlc3VsdCByZXN1bHQgPSBwYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+ZXZlbnRI
YW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KHBvaW50KTsKKyAgICBIaXRUZXN0UmVzdWx0
IHJlc3VsdCA9IHBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+
aGl0VGVzdFJlc3VsdEF0UG9pbnQocG9pbnQsIGZhbHNlKTsKIAogICAgIEZyYW1lKiBmcmFtZSA9
IHBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpOwogICAgIGlmIChyZXN1bHQuaW5uZXJOb25T
aGFyZWROb2RlKCkpCkBAIC0xNTY2LDcgKzE1NjYsNyBAQCB2b2lkIFdlYlBhZ2U6OmhpZ2hsaWdo
dFBvdGVudGlhbEFjdGl2YXRpb24oY29uc3QgSW50UG9pbnQmIHBvaW50LCBjb25zdCBJbnRTaXpl
JgogICAgICAgICAgICAgcmV0dXJuOwogCiAjZWxzZQotICAgICAgICBIaXRUZXN0UmVzdWx0IHJl
c3VsdCA9IG1haW5mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KG1h
aW5mcmFtZS0+dmlldygpLT53aW5kb3dUb0NvbnRlbnRzKHBvaW50KSwgSGl0VGVzdFJlcXVlc3Q6
OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0OjpBbGxv
d1NoYWRvd0NvbnRlbnQpOworICAgICAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IG1haW5mcmFt
ZS0+ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KG1haW5mcmFtZS0+dmlldygp
LT53aW5kb3dUb0NvbnRlbnRzKHBvaW50KSwgLyphbGxvd1NoYWRvd0NvbnRlbnQqLyBmYWxzZSwg
LyppZ25vcmVDbGlwcGluZyovIHRydWUpOwogICAgICAgICBhZGp1c3RlZE5vZGUgPSByZXN1bHQu
aW5uZXJOb2RlKCk7CiAjZW5kaWYKICAgICAgICAgLy8gRmluZCB0aGUgbm9kZSB0byBoaWdobGln
aHQuIFRoaXMgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBub2RlIHJlc3BvbmRpbmcgdGhlIHRhcCBn
ZXN0dXJlLCBiZWNhdXNlIG1hbnkKQEAgLTI3MjcsNyArMjcyNyw3IEBAIHZvaWQgV2ViUGFnZTo6
ZmluZFpvb21hYmxlQXJlYUZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwg
Y29uc3QgV2ViCiB7CiAgICAgVU5VU0VEX1BBUkFNKGFyZWEpOwogICAgIEZyYW1lKiBtYWluZnJh
bWUgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQg
PSBtYWluZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChtYWluZnJh
bWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhwb2ludCksIEhpdFRlc3RSZXF1ZXN0OjpSZWFk
T25seSB8IEhpdFRlc3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6SWdub3JlQ2xp
cHBpbmcpOworICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gbWFpbmZyYW1lLT5ldmVudEhhbmRs
ZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQobWFpbmZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29u
dGVudHMocG9pbnQpLCAvKmFsbG93U2hhZG93Q29udGVudCovIGZhbHNlLCAvKmlnbm9yZUNsaXBw
aW5nKi8gdHJ1ZSk7CiAKICAgICBOb2RlKiBub2RlID0gcmVzdWx0LmlubmVyTm9kZSgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMu
bW0KaW5kZXggMzU5ZjM1YTVmYjc0YmRmZmFhNzgzY2NiNzYxM2FhODRkNDdkYjY2ZS4uYzJmMDE2
NTM3NTk1M2I1M2NjM2NkMWI5ZWI0MzFkYjVlY2ViOTNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtMzc1LDcgKzM3
NSw3IEBAIHZvaWQgV2ViUGFnZTo6Y2hhcmFjdGVySW5kZXhGb3JQb2ludChJbnRQb2ludCBwb2lu
dCwgdWludDY0X3QmIGluZGV4KQogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0ID0gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0
UmVzdWx0QXRQb2ludChwb2ludCk7CisgICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBmcmFtZS0+
ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KHBvaW50LCBmYWxzZSk7CiAgICAg
ZnJhbWUgPSByZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCkgPyByZXN1bHQuaW5uZXJOb25TaGFy
ZWROb2RlKCktPmRvY3VtZW50KCktPmZyYW1lKCkgOiBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICAKICAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0g
ZnJhbWUtPnJhbmdlRm9yUG9pbnQocmVzdWx0LnJvdW5kZWRQb2ludCgpKTsKQEAgLTQ2NCw3ICs0
NjQsNyBAQCB2b2lkIFdlYlBhZ2U6OnBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwQXRMb2NhdGlvbihj
b25zdCBGbG9hdFBvaW50JiBmbG9hdFBvaW50KQogCiAgICAgLy8gRmluZCB0aGUgZnJhbWUgdGhl
IHBvaW50IGlzIG92ZXIuCiAgICAgSW50UG9pbnQgcG9pbnQgPSByb3VuZGVkSW50UG9pbnQoZmxv
YXRQb2ludCk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBmcmFtZS0+ZXZlbnRIYW5kbGVy
KCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHMo
cG9pbnQpKTsKKyAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IGZyYW1lLT5ldmVudEhhbmRsZXIo
KS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQoZnJhbWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhw
b2ludCksIGZhbHNlKTsKICAgICBmcmFtZSA9IHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSA/
IHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSA6IG1fcGFn
ZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpOwogCiAgICAgSW50UG9p
bnQgdHJhbnNsYXRlZFBvaW50ID0gZnJhbWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhwb2lu
dCk7CkBAIC03MjcsNyArNzI3LDcgQEAgdm9pZCBXZWJQYWdlOjpzaG91bGREZWxheVdpbmRvd09y
ZGVyaW5nRXZlbnQoY29uc3QgV2ViS2l0OjpXZWJNb3VzZUV2ZW50JiBldmVudCwKICAgICAgICAg
cmV0dXJuOwogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLSAgICBIaXRUZXN0UmVzdWx0IGhp
dFJlc3VsdCA9IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQoZnJh
bWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhldmVudC5wb3NpdGlvbigpKSwgSGl0VGVzdFJl
cXVlc3Q6OlJlYWRPbmx5IHwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSB8IEhpdFRlc3RSZXF1ZXN0
OjpBbGxvd1NoYWRvd0NvbnRlbnQpOworICAgIEhpdFRlc3RSZXN1bHQgaGl0UmVzdWx0ID0gZnJh
bWUtPmV2ZW50SGFuZGxlcigpLT5oaXRUZXN0UmVzdWx0QXRQb2ludChmcmFtZS0+dmlldygpLT53
aW5kb3dUb0NvbnRlbnRzKGV2ZW50LnBvc2l0aW9uKCkpLCB0cnVlKTsKICAgICBpZiAoaGl0UmVz
dWx0LmlzU2VsZWN0ZWQoKSkKICAgICAgICAgcmVzdWx0ID0gZnJhbWUtPmV2ZW50SGFuZGxlcigp
LT5ldmVudE1heVN0YXJ0RHJhZyhwbGF0Zm9ybShldmVudCkpOwogI2VuZGlmCkBAIC03NDAsNyAr
NzQwLDcgQEAgdm9pZCBXZWJQYWdlOjphY2NlcHRzRmlyc3RNb3VzZShpbnQgZXZlbnROdW1iZXIs
IGNvbnN0IFdlYktpdDo6V2ViTW91c2VFdmVudCYgZXYKICAgICBpZiAoIWZyYW1lKQogICAgICAg
ICByZXR1cm47CiAgICAgCi0gICAgSGl0VGVzdFJlc3VsdCBoaXRSZXN1bHQgPSBmcmFtZS0+ZXZl
bnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KGZyYW1lLT52aWV3KCktPndpbmRvd1Rv
Q29udGVudHMoZXZlbnQucG9zaXRpb24oKSksIEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSB8IEhp
dFRlc3RSZXF1ZXN0OjpBY3RpdmUgfCBIaXRUZXN0UmVxdWVzdDo6QWxsb3dTaGFkb3dDb250ZW50
KTsKKyAgICBIaXRUZXN0UmVzdWx0IGhpdFJlc3VsdCA9IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+
aGl0VGVzdFJlc3VsdEF0UG9pbnQoZnJhbWUtPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhldmVu
dC5wb3NpdGlvbigpKSwgdHJ1ZSk7CiAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRBY3Rp
dmF0aW9uRXZlbnROdW1iZXIoZXZlbnROdW1iZXIpOwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQp
CiAgICAgaWYgKGhpdFJlc3VsdC5pc1NlbGVjdGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5k
ZXggYTMzZGVmN2QxNDdkY2UzNjE1YTg0YWQzYmNiOGNjMDU4N2U4NGU3Mi4uOTZmODU4ZWVlNWMw
OWFiYzk0ODlhNDBlMmRmOWI4MmUxNjU4OTI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAt
MjYzLDcgKzI2Myw3IEBAIEVYUE9SVFMKICAgICAgICAgPz8xQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXJAV2ViQ29yZUBATUFFQFhaCiAgICAgICAgID9jb250ZXh0RGVzdHJveWVkQENvbnRleHRE
ZXN0cnVjdGlvbk9ic2VydmVyQFdlYkNvcmVAQFVBRVhYWgogICAgICAgICA/PzBDb250ZXh0RGVz
dHJ1Y3Rpb25PYnNlcnZlckBXZWJDb3JlQEBRQUVAUEFWU2NyaXB0RXhlY3V0aW9uQ29udGV4dEAx
QEBaCi0gICAgICAgID9ub2Rlc0Zyb21SZWN0QERvY3VtZW50QFdlYkNvcmVAQFFCRT9BVj8kUGFz
c1JlZlB0ckBWTm9kZUxpc3RAV2ViQ29yZUBAQFdURkBASEhJSUlJSUBaCisgICAgICAgID9ub2Rl
c0Zyb21SZWN0QERvY3VtZW50QFdlYkNvcmVAQFFCRT9BVj8kUGFzc1JlZlB0ckBWTm9kZUxpc3RA
V2ViQ29yZUBAQFdURkBASEhJSUlJX04wMEBaCiAgICAgICAgID9zZWxlY3Rpb25TdGFydEhhc01h
cmtlckZvckBFZGl0b3JAV2ViQ29yZUBAUUJFX05XNE1hcmtlclR5cGVARG9jdW1lbnRNYXJrZXJA
MkBISEBaCiAgICAgICAgID93ZWJraXRXaWxsRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudEBEb2N1
bWVudEBXZWJDb3JlQEBRQUVYUEFWRWxlbWVudEAyQEBaCiAgICAgICAgID93ZWJraXREaWRFbnRl
ckZ1bGxTY3JlZW5Gb3JFbGVtZW50QERvY3VtZW50QFdlYkNvcmVAQFFBRVhQQVZFbGVtZW50QDJA
QFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCAzNzU4N2M3NjJlYjZhOGRk
OTdlMDQxZDA5MWE4ZmIyYWFlMGYyNDZkLi5kN2YzNWJkN2Q2MTA3YmU4ODEyMWQ3ZjM2YTY1YWIx
YmU1ZWFmNDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5k
ZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0yNTYsNyAr
MjU2LDcgQEAgRVhQT1JUUwogICAgICAgICA/dXNlclByZWZlcnJlZExhbmd1YWdlc0BXZWJDb3Jl
QEBZQT9BVj8kVmVjdG9yQFZTdHJpbmdAV1RGQEAkMEFAQFdURkBAWFoKICAgICAgICAgP3V0ZjhA
U3RyaW5nQFdURkBAUUJFP0FWQ1N0cmluZ0AyQF9OQFoKICAgICAgICAgP3ZpZXdARG9jdW1lbnRA
V2ViQ29yZUBAUUJFUEFWRnJhbWVWaWV3QDJAWFoKLSAgICAgICAgP25vZGVzRnJvbVJlY3RARG9j
dW1lbnRAV2ViQ29yZUBAUUJFP0FWPyRQYXNzUmVmUHRyQFZOb2RlTGlzdEBXZWJDb3JlQEBAV1RG
QEBISElJSUlJQFoKKyAgICAgICAgP25vZGVzRnJvbVJlY3RARG9jdW1lbnRAV2ViQ29yZUBAUUJF
P0FWPyRQYXNzUmVmUHRyQFZOb2RlTGlzdEBXZWJDb3JlQEBAV1RGQEBISElJSUlfTjAwQFoKICAg
ICAgICAgP3NlbGVjdGlvblN0YXJ0SGFzTWFya2VyRm9yQEVkaXRvckBXZWJDb3JlQEBRQkVfTlc0
TWFya2VyVHlwZUBEb2N1bWVudE1hcmtlckAyQEhIQFoKICAgICAgICAgP3Jlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlQFdlYkNvcmVAQFlBWEFBVVZpZXdw
b3J0QXR0cmlidXRlc0AxQEBaCiAgICAgICAgID9yZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRv
Vmlld3BvcnRTaXplQFdlYkNvcmVAQFlBWEFBVVZpZXdwb3J0QXR0cmlidXRlc0AxQFZJbnRTaXpl
QDFAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3Vy
Y2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDczNTg3YzI1OTMyYmE5YWM2MGVmNjM3
ODRmYWJjYjc4ZDQ5NmRhMGYuLmRlN2UzMjQyOGY5MmQyOWMyMTcyZmNhNjE2MmVhNjQ4YTZhYjI2
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMTYzLDcgKzE2Myw3IEBAIF9aTjdXZWJD
b3JlMjJSdW50aW1lRW5hYmxlZEZlYXR1cmVzMThpc1NoYWRvd0RPTUVuYWJsZWRFOwogX1pON1dl
YkNvcmUyMlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMyMmlzQ1NTRXhjbHVzaW9uc0VuYWJsZWRFOwog
X1pON1dlYkNvcmUyMlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMyMmlzRGlhbG9nRWxlbWVudEVuYWJs
ZWRFOwogX1pON1dlYkNvcmUyMlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMzN2lzQXV0aG9yU2hhZG93
RE9NRm9yQW55RWxlbWVudEVuYWJsZWRFOwotX1pOSzdXZWJDb3JlOERvY3VtZW50MTNub2Rlc0Zy
b21SZWN0RWlpampqamo7CitfWk5LN1dlYkNvcmU4RG9jdW1lbnQxM25vZGVzRnJvbVJlY3RFaWlq
ampqYmJiOwogX1pON1dlYkNvcmU0dG9KU0VQTjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xv
YmFsT2JqZWN0RVBOU184Tm9kZUxpc3RFOwogX1pOSzdXZWJDb3JlNkVkaXRvcjI2c2VsZWN0aW9u
U3RhcnRIYXNNYXJrZXJGb3JFTlNfMTREb2N1bWVudE1hcmtlcjEwTWFya2VyVHlwZUVpaTsKIF9a
TjdXZWJDb3JlOERvY3VtZW50MzN3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnRFUE5T
XzdFbGVtZW50RTsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3NzI0
MDllZjY1MmQ3NTUxNWFkYzE3OWYxYzNlYmZiNGI1NDUxMmFmLi5jOTY1MGUxNThlYjUxMjc1NjI1
NGMyMjBlMTAzOTQwMjRjOTQ3MzYxIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDktMTIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
Mjc4NzYuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyNzg3Ngor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY2MDAKKwor
ICAgICAgICBtb3VzZSBjbGljayBkb2Vzbid0IHdvcmsgZm9yIHNwaW4gYnV0dG9uIGlmIHNwaW4g
YnV0dG9uIGluCisgICAgICAgIGlmcmFtZSAoUmVxdWVzdGVkIGJ5IHlvc2luIG9uICN3ZWJraXQp
LgorCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0w
OS0xMiAgS3l1bmdUYWUgS2ltICA8a3RmLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZM
XSBTdXBwb3J0IGRvd25sb2FkIGF0dHJpYnV0ZSBmZWF0dXJlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>