<?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>83857</bug_id>
          
          <creation_ts>2012-04-12 20:29:51 -0700</creation_ts>
          <short_desc>REGRESSION(r114075): Breaks compile (Requested by jamesr on #webkit).</short_desc>
          <delta_ts>2012-04-12 20:52:03 -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>83851</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>abarth</cc>
    
    <cc>jamesr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>601791</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 20:29:51 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/114075 broke the build:
Breaks compile (Requested by jamesr 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>601792</commentid>
    <comment_count>1</comment_count>
      <attachid>137033</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 20:30:33 -0700</bug_when>
    <thetext>Created attachment 137033
ROLLOUT of r114075

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>601793</commentid>
    <comment_count>2</comment_count>
      <attachid>137033</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-12 20:31:11 -0700</bug_when>
    <thetext>Comment on attachment 137033
ROLLOUT of r114075

Looks like I didn&apos;t manage to get Source/Platform/chromium/ on the include path for all targets.  Not sure how it compiled locally, rolling out to figure this out tomorrow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601799</commentid>
    <comment_count>3</comment_count>
      <attachid>137033</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 20:51:58 -0700</bug_when>
    <thetext>Comment on attachment 137033
ROLLOUT of r114075

Clearing flags on attachment: 137033

Committed r114078: &lt;http://trac.webkit.org/changeset/114078&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601800</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 20:52:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137033</attachid>
            <date>2012-04-12 20:30:33 -0700</date>
            <delta_ts>2012-04-12 20:51:58 -0700</delta_ts>
            <desc>ROLLOUT of r114075</desc>
            <filename>bug-83857-20120413033347.patch</filename>
            <type>text/plain</type>
            <size>51772</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA0YzU4OWI5NmFlZDFm
NTc4NzY4ODU4MzRmZjc0ZmIxZjQxZGE5ZWIwLi5iZWQ0YjQyNDQ5NDY5MGZjNjA4NmM4N2MyZTgx
YmUwYjE0MDAwZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNC0xMiAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjExNDA3NS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMTE0MDc1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04Mzg1NworCisgICAgICAgIEJyZWFrcyBjb21waWxlIChSZXF1ZXN0ZWQg
YnkgamFtZXNyIG9uICN3ZWJraXQpLgorCisgICAgICAgICogUGxhdGZvcm0uZ3lwaToKKwogMjAx
Mi0wNC0xMiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gTW92ZSBXZWJWaWRlb0ZyYW1lIGludG8gUGxhdGZvcm0gYW5kIHJlbW92ZSBX
ZWJDb3JlOjpWaWRlb0ZyYW1lQ2hyb21pdW0gd3JhcHBlciBBUEkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MDhh
ZWE3MjNiYmY5MjI4MTI1Y2RlZGZjNzEwMWQxOGU2ODBjZDZhLi45MDA3NTE1MjdhMGE0NmNkZmQ2
ZDgzODM0NmVlZjkwMWY2YTZmZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTIt
MDQtMTIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTQwNzUuCisgICAgICAgIGh0dHA6Ly90cmFj
LndlYmtpdC5vcmcvY2hhbmdlc2V0LzExNDA3NQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4NTcKKworICAgICAgICBCcmVha3MgY29tcGlsZSAoUmVx
dWVzdGVkIGJ5IGphbWVzciBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3WVVW
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JHQkEpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpjb3B5RnJhbWVUb1RleHR1
cmVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0Zy
YW1lQ2hyb21pdW0uY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3Ny
Yy9XZWJWaWRlb0ZyYW1lLmNwcC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6VmlkZW9GcmFtZUNocm9taXVtOjp+VmlkZW9GcmFtZUNocm9taXVtKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0ZyYW1lQ2hyb21pdW0uaDogQ29waWVkIGZy
b20gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0ZyYW1lLmguCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFZpZGVvRnJhbWVDaHJvbWl1bSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9GcmFtZVByb3ZpZGVyLmg6CisgICAgICAg
IChWaWRlb0ZyYW1lUHJvdmlkZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVmlkZW9EcmF3UXVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1ZpZGVvRHJh
d1F1YWQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1ZpZGVvRHJhd1F1YWQ6OkNDVmlk
ZW9EcmF3UXVhZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NW
aWRlb0RyYXdRdWFkLmg6CisgICAgICAgIChDQ1ZpZGVvRHJhd1F1YWQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NWaWRlb0RyYXdRdWFkOjpmcmFtZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRWRkNGb3JtYXRUb0dDM0RGb3JtYXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NWaWRlb0xheWVySW1wbDo6d2lsbERyYXcpOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NWaWRlb0xheWVySW1wbDo6Y29tcHV0ZVZpc2libGVTaXplKToKKyAgICAgICAgKFdlYkNv
cmU6OkNDVmlkZW9MYXllckltcGw6OnJlc2VydmVUZXh0dXJlcyk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5oOgorCiAyMDEyLTA0LTEy
ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9t
aXVtXSBNb3ZlIFdlYlZpZGVvRnJhbWUgaW50byBQbGF0Zm9ybSBhbmQgcmVtb3ZlIFdlYkNvcmU6
OlZpZGVvRnJhbWVDaHJvbWl1bSB3cmFwcGVyIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCBiZGU1OTY2NWRhOThmOGFhMmUxYjg0YzYyYzc0MjY1M2ZkMTEwM2FiLi5lZjMwZjZmOWY1
OWViZDA1NzYwMmM1MzAxZjQ3OWViODllZWFkODQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTA0LTEyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZp
ZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE0
MDc1LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMTQwNzUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzODU3CisKKyAg
ICAgICAgQnJlYWtzIGNvbXBpbGUgKFJlcXVlc3RlZCBieSBqYW1lc3Igb24gI3dlYmtpdCkuCisK
KyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHB1YmxpYy9XZWJWaWRlb0ZyYW1lLmg6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViVmlkZW9GcmFtZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZGVvRnJhbWU6On5XZWJWaWRlb0ZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6
V2ViVmlkZW9GcmFtZTo6Zm9ybWF0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlkZW9GcmFtZTo6
d2lkdGgpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0ZyYW1lOjpoZWlnaHQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWRlb0ZyYW1lOjpwbGFuZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWRlb0ZyYW1lOjpzdHJpZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0ZyYW1lOjpkYXRh
KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlkZW9GcmFtZTo6dGV4dHVyZUlkKToKKyAgICAgICAg
KFdlYktpdDo6V2ViVmlkZW9GcmFtZTo6dGV4dHVyZVRhcmdldCk6CisgICAgICAgICogc3JjL0Fz
c2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9WaWRlb0ZyYW1lQ2hyb21pdW1J
bXBsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWRl
b0ZyYW1lQ2hyb21pdW1JbXBsOjp0b1dlYlZpZGVvRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpW
aWRlb0ZyYW1lQ2hyb21pdW1JbXBsOjpWaWRlb0ZyYW1lQ2hyb21pdW1JbXBsKToKKyAgICAgICAg
KFdlYktpdDo6VmlkZW9GcmFtZUNocm9taXVtSW1wbDo6Zm9ybWF0KToKKyAgICAgICAgKFdlYktp
dDo6VmlkZW9GcmFtZUNocm9taXVtSW1wbDo6d2lkdGgpOgorICAgICAgICAoV2ViS2l0OjpWaWRl
b0ZyYW1lQ2hyb21pdW1JbXBsOjpoZWlnaHQpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0ZyYW1l
Q2hyb21pdW1JbXBsOjpwbGFuZXMpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0ZyYW1lQ2hyb21p
dW1JbXBsOjpzdHJpZGUpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0ZyYW1lQ2hyb21pdW1JbXBs
OjpkYXRhKToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GcmFtZUNocm9taXVtSW1wbDo6cmVxdWly
ZWRUZXh0dXJlU2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnJhbWVDaHJvbWl1bUltcGw6
Omhhc1BhZGRpbmdCeXRlcyk6CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnJhbWVDaHJvbWl1bUlt
cGw6OnRleHR1cmVJZCk6CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnJhbWVDaHJvbWl1bUltcGw6
OnRleHR1cmVUYXJnZXQpOgorICAgICAgICAqIHNyYy9WaWRlb0ZyYW1lQ2hyb21pdW1JbXBsLmg6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlZpZGVvRnJh
bWUuaC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChWaWRlb0ZyYW1lQ2hyb21pdW1JbXBs
KToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpnZXRDdXJyZW50RnJhbWUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnB1dEN1cnJlbnRGcmFtZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c3VwcG9ydHNUeXBl
KToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmg6CisgICAgICAgIChX
ZWJNZWRpYVBsYXllckNsaWVudEltcGwpOgorCiAyMDEyLTA0LTEyICBKYW1lcyBSb2JpbnNvbiAg
PGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNb3ZlIFdlYlZpZGVv
RnJhbWUgaW50byBQbGF0Zm9ybSBhbmQgcmVtb3ZlIFdlYkNvcmU6OlZpZGVvRnJhbWVDaHJvbWl1
bSB3cmFwcGVyIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkg
Yi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQppbmRleCBhM2VjYmI4OTgwMTU2MzVhYjlk
MjMzMzg4NGYwMmUxOGYxYmE4YzJkLi44YzU0Y2FjYjA3ZGMyNTBhYmU3MTFjYTdhNzdjMDM0ZTA3
NmZkN2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQorKysgYi9T
b3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQpAQCAtOTQsNyArOTQsNiBAQAogICAgICAgICAg
ICAgJ2Nocm9taXVtL3NyYy9XZWJDU3RyaW5nLmNwcCcsCiAgICAgICAgICAgICAnY2hyb21pdW0v
c3JjL1dlYkZsb2F0UXVhZC5jcHAnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3NyYy9XZWJTdHJp
bmcuY3BwJywKLSAgICAgICAgICAgICdjaHJvbWl1bS9zcmMvV2ViVmlkZW9GcmFtZS5jcHAnLAog
ICAgICAgICBdCiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVt
L3B1YmxpYy9XZWJWaWRlb0ZyYW1lLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYlZpZGVvRnJhbWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGIwYWE3ZDU0
Mjg0ZGY4ZGZmYWNjZmY1NDU3NmQ0ZmZjMjJjMzY5Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
YlZpZGVvRnJhbWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0
aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAot
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYlZp
ZGVvRnJhbWVfaAotI2RlZmluZSBXZWJWaWRlb0ZyYW1lX2gKLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLS8vIEEgcHJveHkgdmlkZW8gZnJhbWUgaW50ZXJmYWNlIHRvIGNvbW11bmljYXRlIGZyYW1l
IGRhdGEgYmV0d2VlbiBjaHJvbWl1bQotLy8gYW5kIFdlYktpdC4KLS8vIEtlZXAgaW4gc3luYyB3
aXRoIGNocm9taXVtJ3MgbWVkaWE6OlZpZGVvRnJhbWU6OkZvcm1hdC4KLWNsYXNzIFdlYlZpZGVv
RnJhbWUgewotcHVibGljOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQbGFuZXM7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bVJHQlBsYW5lczsKLSAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgcmdiUGxhbmU7Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bVlVVlBsYW5l
czsKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgeVBsYW5lOwotICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCB1UGxhbmU7Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZQbGFuZTsKLQotICAg
IGVudW0gRm9ybWF0IHsKLSAgICAgICAgRm9ybWF0SW52YWxpZCA9IDAsCi0gICAgICAgIEZvcm1h
dFJHQjMyID0gNCwKLSAgICAgICAgRm9ybWF0WVYxMiA9IDYsCi0gICAgICAgIEZvcm1hdFlWMTYg
PSA3LAotICAgICAgICBGb3JtYXRFbXB0eSA9IDksCi0gICAgICAgIEZvcm1hdEk0MjAgPSAxMSwK
LSAgICAgICAgRm9ybWF0TmF0aXZlVGV4dHVyZSA9IDEyLAotICAgIH07Ci0KLSAgICB2aXJ0dWFs
IH5XZWJWaWRlb0ZyYW1lKCkgeyB9Ci0gICAgdmlydHVhbCBGb3JtYXQgZm9ybWF0KCkgY29uc3Qg
eyByZXR1cm4gRm9ybWF0SW52YWxpZDsgfQotICAgIHZpcnR1YWwgdW5zaWduZWQgd2lkdGgoKSBj
b25zdCB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdCB7
IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCBwbGFuZXMoKSBjb25zdCB7IHJldHVy
biAwOyB9Ci0gICAgdmlydHVhbCBpbnQgc3RyaWRlKHVuc2lnbmVkIHBsYW5lKSBjb25zdCB7IHJl
dHVybiAwOyB9Ci0gICAgdmlydHVhbCBjb25zdCB2b2lkKiBkYXRhKHVuc2lnbmVkIHBsYW5lKSBj
b25zdCB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB0ZXh0dXJlSWQoKSBjb25z
dCB7IHJldHVybiAwOyB9Ci0gICAgdmlydHVhbCB1bnNpZ25lZCB0ZXh0dXJlVGFyZ2V0KCkgY29u
c3QgeyByZXR1cm4gMDsgfQotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3NyYy9XZWJWaWRlb0ZyYW1lLmNw
cCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9zcmMvV2ViVmlkZW9GcmFtZS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjODY2NTkzMzZiY2Y1ZWExOWEzZjEyYjIyOGFlNGYx
ZTcwMzZmZmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3NyYy9XZWJWaWRlb0ZyYW1lLmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgot
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpbmNsdWRlIDxwdWJs
aWMvV2ViVmlkZW9GcmFtZS5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY29uc3QgdW5zaWdu
ZWQgV2ViVmlkZW9GcmFtZTo6bWF4UGxhbmVzID0gMzsKLWNvbnN0IHVuc2lnbmVkIFdlYlZpZGVv
RnJhbWU6Om51bVJHQlBsYW5lcyA9IDE7Ci1jb25zdCB1bnNpZ25lZCBXZWJWaWRlb0ZyYW1lOjpy
Z2JQbGFuZSA9IDA7Ci1jb25zdCB1bnNpZ25lZCBXZWJWaWRlb0ZyYW1lOjpudW1ZVVZQbGFuZXMg
PSAzOwotY29uc3QgdW5zaWduZWQgV2ViVmlkZW9GcmFtZTo6eVBsYW5lID0gMDsKLWNvbnN0IHVu
c2lnbmVkIFdlYlZpZGVvRnJhbWU6OnVQbGFuZSA9IDE7Ci1jb25zdCB1bnNpZ25lZCBXZWJWaWRl
b0ZyYW1lOjp2UGxhbmUgPSAyOwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDQzNjM5MmMzYmRhOTU3OWU1OTk4MjBmZDI4YjAwYzUwZDA2ZmYzY2YuLjJmNTQ0
ZjMzM2RiMjBjYmM0YjVlNjBiZDA1YzkwYmMzMmIwMWEyMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTM1ODAsNiArMzU4MCw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9WRE1YUGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vVkRNWFBhcnNlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9WaWRlb0ZyYW1lQ2hyb21pdW0uY3BwJywKKyAgICAgICAgICAgICdwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0ZyYW1lQ2hyb21pdW0uaCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9GcmFtZVByb3ZpZGVyLmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1bS5j
cHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJD
aHJvbWl1bS5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IDEy
Yjg2NjYwZjI3MmFhZGI5ZTMxOWY0YTExMDMyYjVhYjE3OTRjMDMuLmY0YTUwMGE4NzM5YTEwY2E3
NzUwZTJmOGM4ODhkODBlZjRjNmEzMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcApAQCAtNjcsNyArNjcsNiBAQAogI2luY2x1ZGUgIkV4dGVuc2lvbnMzRC5oIgogI2lu
Y2x1ZGUgIk5hdGl2ZUltYWdlU2tpYS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEu
aCIKLSNpbmNsdWRlIDxwdWJsaWMvV2ViVmlkZW9GcmFtZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJy
ZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKQEAgLTc3MSw5ICs3NzAs
OSBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1lVVihjb25zdCBDQ1ZpZGVvRHJh
d1F1YWQqIHF1YWQpCiAgICAgY29uc3QgQ0NWaWRlb0xheWVySW1wbDo6WVVWUHJvZ3JhbSogcHJv
Z3JhbSA9IHZpZGVvTGF5ZXJZVVZQcm9ncmFtKCk7CiAgICAgQVNTRVJUKHByb2dyYW0gJiYgcHJv
Z3JhbS0+aW5pdGlhbGl6ZWQoKSk7CiAKLSAgICBjb25zdCBDQ1ZpZGVvTGF5ZXJJbXBsOjpUZXh0
dXJlJiB5VGV4dHVyZSA9IHF1YWQtPnRleHR1cmVzKClbV2ViS2l0OjpXZWJWaWRlb0ZyYW1lOjp5
UGxhbmVdOwotICAgIGNvbnN0IENDVmlkZW9MYXllckltcGw6OlRleHR1cmUmIHVUZXh0dXJlID0g
cXVhZC0+dGV4dHVyZXMoKVtXZWJLaXQ6OldlYlZpZGVvRnJhbWU6OnVQbGFuZV07Ci0gICAgY29u
c3QgQ0NWaWRlb0xheWVySW1wbDo6VGV4dHVyZSYgdlRleHR1cmUgPSBxdWFkLT50ZXh0dXJlcygp
W1dlYktpdDo6V2ViVmlkZW9GcmFtZTo6dlBsYW5lXTsKKyAgICBjb25zdCBDQ1ZpZGVvTGF5ZXJJ
bXBsOjpUZXh0dXJlJiB5VGV4dHVyZSA9IHF1YWQtPnRleHR1cmVzKClbVmlkZW9GcmFtZUNocm9t
aXVtOjp5UGxhbmVdOworICAgIGNvbnN0IENDVmlkZW9MYXllckltcGw6OlRleHR1cmUmIHVUZXh0
dXJlID0gcXVhZC0+dGV4dHVyZXMoKVtWaWRlb0ZyYW1lQ2hyb21pdW06OnVQbGFuZV07CisgICAg
Y29uc3QgQ0NWaWRlb0xheWVySW1wbDo6VGV4dHVyZSYgdlRleHR1cmUgPSBxdWFkLT50ZXh0dXJl
cygpW1ZpZGVvRnJhbWVDaHJvbWl1bTo6dlBsYW5lXTsKIAogICAgIEdMQyhjb250ZXh0KCksIGNv
bnRleHQoKS0+YWN0aXZlVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRTEpKTsKICAg
ICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNE
OjpURVhUVVJFXzJELCB5VGV4dHVyZS5tX3RleHR1cmUtPnRleHR1cmVJZCgpKSk7CkBAIC04Mjks
NyArODI4LDcgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdTaW5nbGVUZXh0dXJl
VmlkZW9RdWFkKGNvbnN0IENDVmlkZW9EcmF3UXVhZCogcXUKIHZvaWQgTGF5ZXJSZW5kZXJlckNo
cm9taXVtOjpkcmF3UkdCQShjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiB7CiAgICAgY29u
c3QgQ0NWaWRlb0xheWVySW1wbDo6UkdCQVByb2dyYW0qIHByb2dyYW0gPSB2aWRlb0xheWVyUkdC
QVByb2dyYW0oKTsKLSAgICBjb25zdCBDQ1ZpZGVvTGF5ZXJJbXBsOjpUZXh0dXJlJiB0ZXh0dXJl
ID0gcXVhZC0+dGV4dHVyZXMoKVtXZWJLaXQ6OldlYlZpZGVvRnJhbWU6OnJnYlBsYW5lXTsKKyAg
ICBjb25zdCBDQ1ZpZGVvTGF5ZXJJbXBsOjpUZXh0dXJlJiB0ZXh0dXJlID0gcXVhZC0+dGV4dHVy
ZXMoKVtWaWRlb0ZyYW1lQ2hyb21pdW06OnJnYlBsYW5lXTsKICAgICBmbG9hdCB3aWR0aFNjYWxl
RmFjdG9yID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHR1cmUubV92aXNpYmxlU2l6ZS53aWR0aCgp
KSAvIHRleHR1cmUubV90ZXh0dXJlLT5zaXplKCkud2lkdGgoKTsKICAgICBkcmF3U2luZ2xlVGV4
dHVyZVZpZGVvUXVhZChxdWFkLCBwcm9ncmFtLCB3aWR0aFNjYWxlRmFjdG9yLCB0ZXh0dXJlLm1f
dGV4dHVyZS0+dGV4dHVyZUlkKCksIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJEKTsKIH0K
QEAgLTg1NCwxMSArODUzLDEyIEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3U3Ry
ZWFtVGV4dHVyZShjb25zdCBDQ1ZpZGVvRHJhd1F1YWQqIHF1YWQpCiAKIGJvb2wgTGF5ZXJSZW5k
ZXJlckNocm9taXVtOjpjb3B5RnJhbWVUb1RleHR1cmVzKGNvbnN0IENDVmlkZW9EcmF3UXVhZCog
cXVhZCkKIHsKLSAgICBjb25zdCBXZWJLaXQ6OldlYlZpZGVvRnJhbWUqIGZyYW1lID0gcXVhZC0+
ZnJhbWUoKTsKKyAgICBjb25zdCBWaWRlb0ZyYW1lQ2hyb21pdW0qIGZyYW1lID0gcXVhZC0+ZnJh
bWUoKTsKIAotICAgIGZvciAodW5zaWduZWQgcGxhbmUgPSAwOyBwbGFuZSA8IGZyYW1lLT5wbGFu
ZXMoKTsgKytwbGFuZSkKKyAgICBmb3IgKHVuc2lnbmVkIHBsYW5lID0gMDsgcGxhbmUgPCBmcmFt
ZS0+cGxhbmVzKCk7ICsrcGxhbmUpIHsKKyAgICAgICAgQVNTRVJUKHF1YWQtPmZyYW1lKCktPnJl
cXVpcmVkVGV4dHVyZVNpemUocGxhbmUpID09IHF1YWQtPnRleHR1cmVzKClbcGxhbmVdLm1fdGV4
dHVyZS0+c2l6ZSgpKTsKICAgICAgICAgY29weVBsYW5lVG9UZXh0dXJlKHF1YWQsIGZyYW1lLT5k
YXRhKHBsYW5lKSwgcGxhbmUpOwotCisgICAgfQogICAgIGZvciAodW5zaWduZWQgcGxhbmUgPSBm
cmFtZS0+cGxhbmVzKCk7IHBsYW5lIDwgQ0NWaWRlb0xheWVySW1wbDo6TWF4UGxhbmVzOyArK3Bs
YW5lKSB7CiAgICAgICAgIENDVmlkZW9MYXllckltcGw6OlRleHR1cmUqIHRleHR1cmUgPSAmcXVh
ZC0+dGV4dHVyZXMoKVtwbGFuZV07CiAgICAgICAgIHRleHR1cmUtPm1fdGV4dHVyZS5jbGVhcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCA0MGU5ZDU2M2YwMzU5MGZi
OTgzMjU5MThmZmMzMzhiNWNiNDMyZDM1Li43Y2I5ZWI1NmEyMzUzYmE4MGQ3MjAwMTE4YjI5NmE5
MmRiODBkZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtNDAsNiAr
NDAsNyBAQAogI2luY2x1ZGUgIkxheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJUZXh0dXJlQ29w
aWVyLmgiCiAjaW5jbHVkZSAiVHJhY2tpbmdUZXh0dXJlQWxsb2NhdG9yLmgiCisjaW5jbHVkZSAi
VmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiY2MvQ0NEcmF3UXVhZC5oIgogI2luY2x1
ZGUgImNjL0NDSGVhZHNVcERpc3BsYXkuaCIKICNpbmNsdWRlICJjYy9DQ0xheWVyVHJlZUhvc3Qu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1ZpZGVvRnJhbWVDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9WaWRlb0ZyYW1lQ2hyb21pdW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhOTI4NDIyNDIx
MzU0MTExYzY5YmM4MzkzY2E1YjU2NTNjOTYzMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0ZyYW1lQ2hyb21pdW0uY3Bw
CkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJWaWRlb0Zy
YW1lQ2hyb21pdW0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjb25zdCB1bnNpZ25lZCBW
aWRlb0ZyYW1lQ2hyb21pdW06Om1heFBsYW5lcyA9IDM7Citjb25zdCB1bnNpZ25lZCBWaWRlb0Zy
YW1lQ2hyb21pdW06Om51bVJHQlBsYW5lcyA9IDE7Citjb25zdCB1bnNpZ25lZCBWaWRlb0ZyYW1l
Q2hyb21pdW06OnJnYlBsYW5lID0gMDsKK2NvbnN0IHVuc2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1
bTo6bnVtWVVWUGxhbmVzID0gMzsKK2NvbnN0IHVuc2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1bTo6
eVBsYW5lID0gMDsKK2NvbnN0IHVuc2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1bTo6dVBsYW5lID0g
MTsKK2NvbnN0IHVuc2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1bTo6dlBsYW5lID0gMjsKKworVmlk
ZW9GcmFtZUNocm9taXVtOjp+VmlkZW9GcmFtZUNocm9taXVtKCkgeyB9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9WaWRlb0ZyYW1lQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvRnJhbWVDaHJvbWl1bS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3
YWYwN2NjMzk1ZTNhNTE2ZWZmZWYwZDdjMTE0NGZkNzMzM2RiNzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0ZyYW1lQ2hy
b21pdW0uaApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWaWRlb0ZyYW1lQ2hyb21pdW1faAorI2Rl
ZmluZSBWaWRlb0ZyYW1lQ2hyb21pdW1faAorCisjaW5jbHVkZSAiSW50U2l6ZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKKy8vIEEgY2xhc3MgdGhhdCByZXByZXNlbnRzIGEgdmlkZW8gZnJh
bWUgaW4gY2hyb21pdW0uCitjbGFzcyBWaWRlb0ZyYW1lQ2hyb21pdW0geworcHVibGljOgorICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQbGFuZXM7CisgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIG51bVJHQlBsYW5lczsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgcmdiUGxhbmU7Cisg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bVlVVlBsYW5lczsKKyAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgeVBsYW5lOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB1UGxhbmU7CisgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIHZQbGFuZTsKKworICAgIC8vIFRoZXNlIGVudW1zIG11c3Qg
YmUga2VwdCBpbiBzeW5jIHdpdGggV2ViS2l0OjpXZWJWaWRlb0ZyYW1lLgorICAgIGVudW0gRm9y
bWF0IHsKKyAgICAgICAgSW52YWxpZCA9IDAsCisgICAgICAgIFJHQjMyID0gNCwKKyAgICAgICAg
WVYxMiA9IDYsCisgICAgICAgIFlWMTYgPSA3LAorICAgICAgICBFbXB0eSA9IDksCisgICAgICAg
IEk0MjAgPSAxMSwKKyAgICAgICAgTmF0aXZlVGV4dHVyZSA9IDEyLAorICAgIH07CisKKyAgICB2
aXJ0dWFsIH5WaWRlb0ZyYW1lQ2hyb21pdW0oKTsKKyAgICB2aXJ0dWFsIEZvcm1hdCBmb3JtYXQo
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCgpIGNvbnN0ID0gMDsKKyAg
ICB2aXJ0dWFsIHVuc2lnbmVkIHdpZHRoKHVuc2lnbmVkIHBsYW5lKSBjb25zdCA9IDA7CisgICAg
dmlydHVhbCB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB1bnNpZ25l
ZCBoZWlnaHQodW5zaWduZWQgcGxhbmUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHVuc2lnbmVk
IHBsYW5lcygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGludCBzdHJpZGUodW5zaWduZWQgcGxh
bmUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IHZvaWQqIGRhdGEodW5zaWduZWQgcGxh
bmUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IEludFNpemUgcmVxdWlyZWRUZXh0dXJl
U2l6ZSh1bnNpZ25lZCBwbGFuZSkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBoYXNQYWRk
aW5nQnl0ZXModW5zaWduZWQgcGxhbmUpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHVuc2lnbmVk
IHRleHR1cmVJZCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIHRleHR1cmVUYXJn
ZXQoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlk
ZW9GcmFtZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9WaWRlb0ZyYW1lUHJvdmlkZXIuaAppbmRleCAwYWE0NDJkYTZiYzg4NGJmNTYyMTJiMWEx
NDEwM2RjZDk5YjU1NGM3Li45Nzk0Nzk0YTdiN2RmNTMzMzMzM2MwYTE0ZGYyNTFhNjc0OGM5OTAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9W
aWRlb0ZyYW1lUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9WaWRlb0ZyYW1lUHJvdmlkZXIuaApAQCAtMzEsNyArMzEsNyBAQAogI2lmbmRl
ZiBWaWRlb0ZyYW1lUHJvdmlkZXJfaAogI2RlZmluZSBWaWRlb0ZyYW1lUHJvdmlkZXJfaAogCi0j
aW5jbHVkZSA8cHVibGljL1dlYlZpZGVvRnJhbWUuaD4KKyNpbmNsdWRlICJWaWRlb0ZyYW1lQ2hy
b21pdW0uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OSwxNSArNDksMTcgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldFZpZGVvRnJhbWVQcm92aWRlckNsaWVudChDbGll
bnQqKSA9IDA7CiAKLSAgICAvLyBUaGlzIGZ1bmN0aW9uIHBsYWNlcyBhIGxvY2sgb24gdGhlIGN1
cnJlbnQgZnJhbWUgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIGl0LgotICAgIC8vIENhbGxzIHRv
IHRoaXMgbWV0aG9kIHNob3VsZCBhbHdheXMgYmUgZm9sbG93ZWQgd2l0aCBhIGNhbGwgdG8gcHV0
Q3VycmVudEZyYW1lKCkuCisgICAgLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgcG9pbnRlciB0
byBhIFZpZGVvRnJhbWVDaHJvbWl1bSwgd2hpY2ggaXMKKyAgICAvLyB0aGUgV2ViQ29yZSB3cmFw
cGVyIGZvciBhIHZpZGVvIGZyYW1lIGluIENocm9taXVtLiBnZXRDdXJyZW50RnJhbWUoKQorICAg
IC8vIHBsYWNlcyBhIGxvY2sgb24gdGhlIGZyYW1lIGluIENocm9taXVtLiBDYWxscyB0byB0aGlz
IG1ldGhvZCBzaG91bGQKKyAgICAvLyBhbHdheXMgYmUgZm9sbG93ZWQgd2l0aCBhIGNhbGwgdG8g
cHV0Q3VycmVudEZyYW1lKCkuCiAgICAgLy8gVGhlIG93bmVyc2hpcCBvZiB0aGUgb2JqZWN0IGlz
IG5vdCB0cmFuc2ZlcnJlZCB0byB0aGUgY2FsbGVyIGFuZAogICAgIC8vIHRoZSBjYWxsZXIgc2hv
dWxkIG5vdCBmcmVlIHRoZSByZXR1cm5lZCBvYmplY3QuCi0gICAgdmlydHVhbCBXZWJLaXQ6Oldl
YlZpZGVvRnJhbWUqIGdldEN1cnJlbnRGcmFtZSgpID0gMDsKKyAgICB2aXJ0dWFsIFZpZGVvRnJh
bWVDaHJvbWl1bSogZ2V0Q3VycmVudEZyYW1lKCkgPSAwOwogICAgIC8vIFRoaXMgZnVuY3Rpb24g
cmVsZWFzZXMgdGhlIGxvY2sgb24gdGhlIHZpZGVvIGZyYW1lIGluIGNocm9taXVtLiBJdCBzaG91
bGQKICAgICAvLyBhbHdheXMgYmUgY2FsbGVkIGFmdGVyIGdldEN1cnJlbnRGcmFtZSgpLiBGcmFt
ZXMgcGFzc2VkIGludG8gdGhpcyBtZXRob2QKICAgICAvLyBzaG91bGQgbm8gbG9uZ2VyIGJlIHJl
ZmVyZW5jZWQgYWZ0ZXIgdGhlIGNhbGwgaXMgbWFkZS4KLSAgICB2aXJ0dWFsIHZvaWQgcHV0Q3Vy
cmVudEZyYW1lKFdlYktpdDo6V2ViVmlkZW9GcmFtZSopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
cHV0Q3VycmVudEZyYW1lKFZpZGVvRnJhbWVDaHJvbWl1bSopID0gMDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDVmlkZW9EcmF3UXVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvRHJhd1F1YWQuY3BwCmluZGV4IDljY2E3
MTQxMmFjZDdmNWJjNjc4Yzg1NGRjYjJkNWQ1ZTAyYThjMmEuLmJhNTczNDkwOTg3NWM1ZGNjY2Y4
OWFiMjAzNGM0MGU0NTlkZjcyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9EcmF3UXVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0RyYXdRdWFkLmNwcApA
QCAtMjksMTIgKzI5LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc093blB0cjxD
Q1ZpZGVvRHJhd1F1YWQ+IENDVmlkZW9EcmF3UXVhZDo6Y3JlYXRlKGNvbnN0IENDU2hhcmVkUXVh
ZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBDQ1ZpZGVv
TGF5ZXJJbXBsOjpUZXh0dXJlKiB0ZXh0dXJlcywgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lKiBmcmFt
ZSwgR0MzRGVudW0gZm9ybWF0KQorUGFzc093blB0cjxDQ1ZpZGVvRHJhd1F1YWQ+IENDVmlkZW9E
cmF3UXVhZDo6Y3JlYXRlKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUs
IGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBDQ1ZpZGVvTGF5ZXJJbXBsOjpUZXh0dXJlKiB0ZXh0
dXJlcywgVmlkZW9GcmFtZUNocm9taXVtKiBmcmFtZSwgR0MzRGVudW0gZm9ybWF0KQogewogICAg
IHJldHVybiBhZG9wdFB0cihuZXcgQ0NWaWRlb0RyYXdRdWFkKHNoYXJlZFF1YWRTdGF0ZSwgcXVh
ZFJlY3QsIHRleHR1cmVzLCBmcmFtZSwgZm9ybWF0KSk7CiB9CiAKLUNDVmlkZW9EcmF3UXVhZDo6
Q0NWaWRlb0RyYXdRdWFkKGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUs
IGNvbnN0IEludFJlY3QmIHF1YWRSZWN0LCBDQ1ZpZGVvTGF5ZXJJbXBsOjpUZXh0dXJlKiB0ZXh0
dXJlcywgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lKiBmcmFtZSwgR0MzRGVudW0gZm9ybWF0KQorQ0NW
aWRlb0RyYXdRdWFkOjpDQ1ZpZGVvRHJhd1F1YWQoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUqIHNo
YXJlZFF1YWRTdGF0ZSwgY29uc3QgSW50UmVjdCYgcXVhZFJlY3QsIENDVmlkZW9MYXllckltcGw6
OlRleHR1cmUqIHRleHR1cmVzLCBWaWRlb0ZyYW1lQ2hyb21pdW0qIGZyYW1lLCBHQzNEZW51bSBm
b3JtYXQpCiAgICAgOiBDQ0RyYXdRdWFkKHNoYXJlZFF1YWRTdGF0ZSwgQ0NEcmF3UXVhZDo6Vmlk
ZW9Db250ZW50LCBxdWFkUmVjdCkKICAgICAsIG1fdGV4dHVyZXModGV4dHVyZXMpCiAgICAgLCBt
X2ZyYW1lKGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NWaWRlb0RyYXdRdWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvRHJhd1F1YWQuaAppbmRleCA5ZWIzNTdmYzg2
YjVhNDQ5YTkyY2NlZWQxNjUzYzlkZDgyYzI1ZDM5Li5hZWY3ODQ3MmE0MGFjNmJlZjU0ODIzZmJh
NDMwNDA2MzM2MTZkNDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvRHJhd1F1YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvRHJhd1F1YWQuaApAQCAtMzEsMjkg
KzMxLDI1IEBACiAjaW5jbHVkZSAiY2MvQ0NWaWRlb0xheWVySW1wbC5oIgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2ViVmlkZW9GcmFt
ZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDQ1ZpZGVvRHJhd1F1YWQgOiBw
dWJsaWMgQ0NEcmF3UXVhZCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ0NWaWRlb0RyYXdR
dWFkKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxDQ1ZpZGVvRHJhd1F1YWQ+IGNy
ZWF0ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSosIGNvbnN0IEludFJlY3QmLCBDQ1ZpZGVvTGF5
ZXJJbXBsOjpUZXh0dXJlKiB0ZXh0dXJlcywgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lKiwgR0MzRGVu
dW0gZm9ybWF0KTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxDQ1ZpZGVvRHJhd1F1YWQ+IGNyZWF0
ZShjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSosIGNvbnN0IEludFJlY3QmLCBDQ1ZpZGVvTGF5ZXJJ
bXBsOjpUZXh0dXJlKiB0ZXh0dXJlcywgVmlkZW9GcmFtZUNocm9taXVtKiwgR0MzRGVudW0gZm9y
bWF0KTsKIAogICAgIENDVmlkZW9MYXllckltcGw6OlRleHR1cmUqIHRleHR1cmVzKCkgY29uc3Qg
eyByZXR1cm4gbV90ZXh0dXJlczsgfQotICAgIFdlYktpdDo6V2ViVmlkZW9GcmFtZSogZnJhbWUo
KSBjb25zdCB7IHJldHVybiBtX2ZyYW1lOyB9CisgICAgVmlkZW9GcmFtZUNocm9taXVtKiBmcmFt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWU7IH0KICAgICBHQzNEZW51bSBmb3JtYXQoKSBjb25z
dCB7IHJldHVybiBtX2Zvcm1hdDsgfQogICAgIGNvbnN0IGZsb2F0KiBtYXRyaXgoKSBjb25zdCB7
IHJldHVybiBtX21hdHJpeDsgfQogCiAgICAgdm9pZCBzZXRNYXRyaXgoY29uc3QgZmxvYXQqIG1h
dHJpeCkgeyBtX21hdHJpeCA9IG1hdHJpeDsgfQogCiBwcml2YXRlOgotICAgIENDVmlkZW9EcmF3
UXVhZChjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSosIGNvbnN0IEludFJlY3QmLCBDQ1ZpZGVvTGF5
ZXJJbXBsOjpUZXh0dXJlKiB0ZXh0dXJlcywgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lKiwgR0MzRGVu
dW0gZm9ybWF0KTsKKyAgICBDQ1ZpZGVvRHJhd1F1YWQoY29uc3QgQ0NTaGFyZWRRdWFkU3RhdGUq
LCBjb25zdCBJbnRSZWN0JiwgQ0NWaWRlb0xheWVySW1wbDo6VGV4dHVyZSogdGV4dHVyZXMsIFZp
ZGVvRnJhbWVDaHJvbWl1bSosIEdDM0RlbnVtIGZvcm1hdCk7CiAKICAgICBDQ1ZpZGVvTGF5ZXJJ
bXBsOjpUZXh0dXJlKiBtX3RleHR1cmVzOwotICAgIFdlYktpdDo6V2ViVmlkZW9GcmFtZSogbV9m
cmFtZTsKKyAgICBWaWRlb0ZyYW1lQ2hyb21pdW0qIG1fZnJhbWU7CiAgICAgR0MzRGVudW0gbV9m
b3JtYXQ7CiAgICAgY29uc3QgZmxvYXQqIG1fbWF0cml4OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRl
b0xheWVySW1wbC5jcHAKaW5kZXggYzcxZTBlMGNlNDkwYjQ5MzNmOTY5OTVkYTU1NmU3MzJlZDhi
MjQzYS4uMGU2ZGNhN2U4ZTU4ZTZjMzc0MTdmZjNlZWU4YTRmYTc3MjBmYzc3MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xh
eWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJj
Yy9DQ1Byb3h5LmgiCiAjaW5jbHVkZSAiY2MvQ0NRdWFkQ3VsbGVyLmgiCiAjaW5jbHVkZSAiY2Mv
Q0NWaWRlb0RyYXdRdWFkLmgiCi0jaW5jbHVkZSA8cHVibGljL1dlYlZpZGVvRnJhbWUuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
MTAwLDE5ICs5OSwxOSBAQCB2b2lkIENDVmlkZW9MYXllckltcGw6OnN0b3BVc2luZ1Byb3ZpZGVy
KCkKICAgICBtX3Byb3ZpZGVyID0gMDsKIH0KIAotLy8gQ29udmVydCBXZWJLaXQ6OldlYlZpZGVv
RnJhbWU6OkZvcm1hdCB0byBHcmFwaGljc0NvbnRleHQzRCdzIGZvcm1hdCBlbnVtIHZhbHVlcy4K
LXN0YXRpYyBHQzNEZW51bSBjb252ZXJ0VkZDRm9ybWF0VG9HQzNERm9ybWF0KGNvbnN0IFdlYktp
dDo6V2ViVmlkZW9GcmFtZSYgZnJhbWUpCisvLyBDb252ZXJ0IFZpZGVvRnJhbWVDaHJvbWl1bTo6
Rm9ybWF0IHRvIEdyYXBoaWNzQ29udGV4dDNEJ3MgZm9ybWF0IGVudW0gdmFsdWVzLgorc3RhdGlj
IEdDM0RlbnVtIGNvbnZlcnRWRkNGb3JtYXRUb0dDM0RGb3JtYXQoY29uc3QgVmlkZW9GcmFtZUNo
cm9taXVtKiBmcmFtZSkKIHsKLSAgICBzd2l0Y2ggKGZyYW1lLmZvcm1hdCgpKSB7Ci0gICAgY2Fz
ZSBXZWJLaXQ6OldlYlZpZGVvRnJhbWU6OkZvcm1hdFlWMTI6Ci0gICAgY2FzZSBXZWJLaXQ6Oldl
YlZpZGVvRnJhbWU6OkZvcm1hdFlWMTY6CisgICAgc3dpdGNoIChmcmFtZS0+Zm9ybWF0KCkpIHsK
KyAgICBjYXNlIFZpZGVvRnJhbWVDaHJvbWl1bTo6WVYxMjoKKyAgICBjYXNlIFZpZGVvRnJhbWVD
aHJvbWl1bTo6WVYxNjoKICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEOjpMVU1JTkFO
Q0U7Ci0gICAgY2FzZSBXZWJLaXQ6OldlYlZpZGVvRnJhbWU6OkZvcm1hdE5hdGl2ZVRleHR1cmU6
Ci0gICAgICAgIHJldHVybiBmcmFtZS50ZXh0dXJlVGFyZ2V0KCk7Ci0gICAgY2FzZSBXZWJLaXQ6
OldlYlZpZGVvRnJhbWU6OkZvcm1hdEludmFsaWQ6Ci0gICAgY2FzZSBXZWJLaXQ6OldlYlZpZGVv
RnJhbWU6OkZvcm1hdFJHQjMyOgotICAgIGNhc2UgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lOjpGb3Jt
YXRFbXB0eToKLSAgICBjYXNlIFdlYktpdDo6V2ViVmlkZW9GcmFtZTo6Rm9ybWF0STQyMDoKKyAg
ICBjYXNlIFZpZGVvRnJhbWVDaHJvbWl1bTo6TmF0aXZlVGV4dHVyZToKKyAgICAgICAgcmV0dXJu
IGZyYW1lLT50ZXh0dXJlVGFyZ2V0KCk7CisgICAgY2FzZSBWaWRlb0ZyYW1lQ2hyb21pdW06Oklu
dmFsaWQ6CisgICAgY2FzZSBWaWRlb0ZyYW1lQ2hyb21pdW06OlJHQjMyOgorICAgIGNhc2UgVmlk
ZW9GcmFtZUNocm9taXVtOjpFbXB0eToKKyAgICBjYXNlIFZpZGVvRnJhbWVDaHJvbWl1bTo6STQy
MDoKICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICB9CiAgICAgcmV0dXJuIEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX1ZBTFVFOwpAQCAtMTM0LDcgKzEzMyw3IEBAIHZvaWQgQ0NWaWRl
b0xheWVySW1wbDo6d2lsbERyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVy
KQogICAgIGlmICghbV9mcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9mb3JtYXQgPSBj
b252ZXJ0VkZDRm9ybWF0VG9HQzNERm9ybWF0KCptX2ZyYW1lKTsKKyAgICBtX2Zvcm1hdCA9IGNv
bnZlcnRWRkNGb3JtYXRUb0dDM0RGb3JtYXQobV9mcmFtZSk7CiAKICAgICBpZiAobV9mb3JtYXQg
PT0gR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpIHsKICAgICAgICAgbV9wcm92aWRl
ci0+cHV0Q3VycmVudEZyYW1lKG1fZnJhbWUpOwpAQCAtMTQyLDcgKzE0MSw3IEBAIHZvaWQgQ0NW
aWRlb0xheWVySW1wbDo6d2lsbERyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRl
cmVyKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFyZXNlcnZlVGV4dHVyZXMo
Km1fZnJhbWUsIG1fZm9ybWF0LCBsYXllclJlbmRlcmVyKSkgeworICAgIGlmICghcmVzZXJ2ZVRl
eHR1cmVzKG1fZnJhbWUsIG1fZm9ybWF0LCBsYXllclJlbmRlcmVyKSkgewogICAgICAgICBtX3By
b3ZpZGVyLT5wdXRDdXJyZW50RnJhbWUobV9mcmFtZSk7CiAgICAgICAgIG1fZnJhbWUgPSAwOwog
ICAgIH0KQEAgLTE3Nyw0OSArMTc2LDM3IEBAIHZvaWQgQ0NWaWRlb0xheWVySW1wbDo6ZGlkRHJh
dygpCiAgICAgbV9mcmFtZSA9IDA7CiB9CiAKLXN0YXRpYyBpbnQgdmlkZW9GcmFtZURpbWVuc2lv
bihpbnQgb3JpZ2luYWxEaW1lbnNpb24sIHVuc2lnbmVkIHBsYW5lLCBpbnQgZm9ybWF0KQorSW50
U2l6ZSBDQ1ZpZGVvTGF5ZXJJbXBsOjpjb21wdXRlVmlzaWJsZVNpemUoY29uc3QgVmlkZW9GcmFt
ZUNocm9taXVtKiBmcmFtZSwgdW5zaWduZWQgcGxhbmUpCiB7Ci0gICAgaWYgKGZvcm1hdCA9PSBX
ZWJLaXQ6OldlYlZpZGVvRnJhbWU6OkZvcm1hdFlWMTIgJiYgcGxhbmUgIT0gV2ViS2l0OjpXZWJW
aWRlb0ZyYW1lOjp5UGxhbmUpCi0gICAgICAgIHJldHVybiBvcmlnaW5hbERpbWVuc2lvbiAvIDI7
Ci0gICAgcmV0dXJuIG9yaWdpbmFsRGltZW5zaW9uOwotfQotCi1zdGF0aWMgYm9vbCBoYXNQYWRk
aW5nQnl0ZXMoY29uc3QgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lJiBmcmFtZSwgdW5zaWduZWQgcGxh
bmUpCi17Ci0gICAgcmV0dXJuIGZyYW1lLnN0cmlkZShwbGFuZSkgPiB2aWRlb0ZyYW1lRGltZW5z
aW9uKGZyYW1lLndpZHRoKCksIHBsYW5lLCBmcmFtZS5mb3JtYXQoKSk7Ci19Ci0KLUludFNpemUg
Q0NWaWRlb0xheWVySW1wbDo6Y29tcHV0ZVZpc2libGVTaXplKGNvbnN0IFdlYktpdDo6V2ViVmlk
ZW9GcmFtZSYgZnJhbWUsIHVuc2lnbmVkIHBsYW5lKQotewotICAgIGludCB2aXNpYmxlV2lkdGgg
PSB2aWRlb0ZyYW1lRGltZW5zaW9uKGZyYW1lLndpZHRoKCksIHBsYW5lLCBmcmFtZS5mb3JtYXQo
KSk7Ci0gICAgaW50IG9yaWdpbmFsV2lkdGggPSB2aXNpYmxlV2lkdGg7Ci0gICAgaW50IHZpc2li
bGVIZWlnaHQgPSB2aWRlb0ZyYW1lRGltZW5zaW9uKGZyYW1lLmhlaWdodCgpLCBwbGFuZSwgZnJh
bWUuZm9ybWF0KCkpOwotCisgICAgaW50IHZpc2libGVXaWR0aCA9IGZyYW1lLT53aWR0aChwbGFu
ZSk7CisgICAgaW50IHZpc2libGVIZWlnaHQgPSBmcmFtZS0+aGVpZ2h0KHBsYW5lKTsKICAgICAv
LyBXaGVuIHRoZXJlIGFyZSBkZWFkIHBpeGVscyBhdCB0aGUgZWRnZSBvZiB0aGUgdGV4dHVyZSwg
ZGVjcmVhc2UKICAgICAvLyB0aGUgZnJhbWUgd2lkdGggYnkgMSB0byBwcmV2ZW50IHRoZSByaWdo
dG1vc3QgcGl4ZWxzIGZyb20KICAgICAvLyBpbnRlcnBvbGF0aW5nIHdpdGggdGhlIGRlYWQgcGl4
ZWxzLgotICAgIGlmIChoYXNQYWRkaW5nQnl0ZXMoZnJhbWUsIHBsYW5lKSkKKyAgICBpZiAoZnJh
bWUtPmhhc1BhZGRpbmdCeXRlcyhwbGFuZSkpCiAgICAgICAgIC0tdmlzaWJsZVdpZHRoOwogCiAg
ICAgLy8gSW4gWVYxMiwgZXZlcnkgMngyIHNxdWFyZSBvZiBZIHZhbHVlcyBjb3JyZXNwb25kcyB0
byBvbmUgVSBhbmQKICAgICAvLyBvbmUgViB2YWx1ZS4gSWYgd2UgZGVjcmVhc2UgdGhlIHdpZHRo
IG9mIHRoZSBVViBwbGFuZSwgd2UgbXVzdCBkZWNyZWFzZSB0aGUKICAgICAvLyB3aWR0aCBvZiB0
aGUgWSB0ZXh0dXJlIGJ5IDIgZm9yIHByb3BlciBhbGlnbm1lbnQuIFRoaXMgbXVzdCBoYXBwZW4K
ICAgICAvLyBhbHdheXMsIGV2ZW4gaWYgWSdzIHRleHR1cmUgZG9lcyBub3QgaGF2ZSBwYWRkaW5n
IGJ5dGVzLgotICAgIGlmIChwbGFuZSA9PSBXZWJLaXQ6OldlYlZpZGVvRnJhbWU6OnlQbGFuZSAm
JiBmcmFtZS5mb3JtYXQoKSA9PSBXZWJLaXQ6OldlYlZpZGVvRnJhbWU6OkZvcm1hdFlWMTIpIHsK
LSAgICAgICAgaWYgKGhhc1BhZGRpbmdCeXRlcyhmcmFtZSwgV2ViS2l0OjpXZWJWaWRlb0ZyYW1l
Ojp1UGxhbmUpKQorICAgIGlmIChwbGFuZSA9PSBWaWRlb0ZyYW1lQ2hyb21pdW06OnlQbGFuZSAm
JiBmcmFtZS0+Zm9ybWF0KCkgPT0gVmlkZW9GcmFtZUNocm9taXVtOjpZVjEyKSB7CisgICAgICAg
IGlmIChmcmFtZS0+aGFzUGFkZGluZ0J5dGVzKFZpZGVvRnJhbWVDaHJvbWl1bTo6dVBsYW5lKSkg
eworICAgICAgICAgICAgaW50IG9yaWdpbmFsV2lkdGggPSBmcmFtZS0+d2lkdGgocGxhbmUpOwog
ICAgICAgICAgICAgdmlzaWJsZVdpZHRoID0gb3JpZ2luYWxXaWR0aCAtIDI7CisgICAgICAgIH0K
ICAgICB9CiAKICAgICByZXR1cm4gSW50U2l6ZSh2aXNpYmxlV2lkdGgsIHZpc2libGVIZWlnaHQp
OwogfQogCi1ib29sIENDVmlkZW9MYXllckltcGw6OnJlc2VydmVUZXh0dXJlcyhjb25zdCBXZWJL
aXQ6OldlYlZpZGVvRnJhbWUmIGZyYW1lLCBHQzNEZW51bSBmb3JtYXQsIExheWVyUmVuZGVyZXJD
aHJvbWl1bSogbGF5ZXJSZW5kZXJlcikKK2Jvb2wgQ0NWaWRlb0xheWVySW1wbDo6cmVzZXJ2ZVRl
eHR1cmVzKGNvbnN0IFZpZGVvRnJhbWVDaHJvbWl1bSogZnJhbWUsIEdDM0RlbnVtIGZvcm1hdCwg
TGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVyKQogewotICAgIGlmIChmcmFtZS5w
bGFuZXMoKSA+IE1heFBsYW5lcykKKyAgICBpZiAoZnJhbWUtPnBsYW5lcygpID4gTWF4UGxhbmVz
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaW50IG1heFRleHR1cmVTaXplID0gbGF5ZXJS
ZW5kZXJlci0+Y2FwYWJpbGl0aWVzKCkubWF4VGV4dHVyZVNpemU7Ci0gICAgZm9yICh1bnNpZ25l
ZCBwbGFuZSA9IDA7IHBsYW5lIDwgZnJhbWUucGxhbmVzKCk7ICsrcGxhbmUpIHsKLSAgICAgICAg
SW50U2l6ZSByZXF1aXJlZFRleHR1cmVTaXplKGZyYW1lLnN0cmlkZShwbGFuZSksIHZpZGVvRnJh
bWVEaW1lbnNpb24oZnJhbWUuaGVpZ2h0KCksIHBsYW5lLCBmcmFtZS5mb3JtYXQoKSkpOworICAg
IGZvciAodW5zaWduZWQgcGxhbmUgPSAwOyBwbGFuZSA8IGZyYW1lLT5wbGFuZXMoKTsgKytwbGFu
ZSkgeworICAgICAgICBJbnRTaXplIHJlcXVpcmVkVGV4dHVyZVNpemUgPSBmcmFtZS0+cmVxdWly
ZWRUZXh0dXJlU2l6ZShwbGFuZSk7CiAgICAgICAgIC8vIElmIHRoZSByZW5kZXJlciBjYW5ub3Qg
aGFuZGxlIHRoaXMgbGFyZ2Ugb2YgYSB0ZXh0dXJlLCByZXR1cm4gZmFsc2UuCiAgICAgICAgIC8v
IEZJWE1FOiBSZW1vdmUgdGhpcyB0ZXN0IHdoZW4gdGlsZWQgbGF5ZXJzIGFyZSBpbXBsZW1lbnRl
ZC4KICAgICAgICAgaWYgKHJlcXVpcmVkVGV4dHVyZVNpemUuaXNaZXJvKCkgfHwgcmVxdWlyZWRU
ZXh0dXJlU2l6ZS53aWR0aCgpID4gbWF4VGV4dHVyZVNpemUgfHwgcmVxdWlyZWRUZXh0dXJlU2l6
ZS5oZWlnaHQoKSA+IG1heFRleHR1cmVTaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5o
CmluZGV4IGUxMTkyMzA2ZjQ2NzNlMmIwZGIyMGZlZGJhYWQxZjQ0NjM5NmYzOTcuLjM5ZTJmMjI1
MTFkNTE1NWUyNzk0YWM5ZGFkODE0NzIxMWU4ZWRjMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5
ZXJJbXBsLmgKQEAgLTI4LDE0ICsyOCwxMSBAQAogCiAjaW5jbHVkZSAiTWFuYWdlZFRleHR1cmUu
aCIKICNpbmNsdWRlICJTaGFkZXJDaHJvbWl1bS5oIgorI2luY2x1ZGUgIlZpZGVvRnJhbWVDaHJv
bWl1bS5oIgogI2luY2x1ZGUgIlZpZGVvRnJhbWVQcm92aWRlci5oIgogI2luY2x1ZGUgIlZpZGVv
TGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCiAKLW5hbWVzcGFj
ZSBXZWJLaXQgewotY2xhc3MgV2ViVmlkZW9GcmFtZTsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBDQ0xheWVyVHJlZUhvc3RJbXBsOwpAQCAtODYsMTAgKzgzLDEwIEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ0NWaWRlb0xheWVySW1wbChpbnQsIFZpZGVvRnJh
bWVQcm92aWRlciopOwogCi0gICAgc3RhdGljIEludFNpemUgY29tcHV0ZVZpc2libGVTaXplKGNv
bnN0IFdlYktpdDo6V2ViVmlkZW9GcmFtZSYsIHVuc2lnbmVkIHBsYW5lKTsKKyAgICBzdGF0aWMg
SW50U2l6ZSBjb21wdXRlVmlzaWJsZVNpemUoY29uc3QgVmlkZW9GcmFtZUNocm9taXVtKiwgdW5z
aWduZWQgcGxhbmUpOwogICAgIHZpcnR1YWwgY29uc3QgY2hhciogbGF5ZXJUeXBlQXNTdHJpbmco
KSBjb25zdCBPVkVSUklERSB7IHJldHVybiAiVmlkZW9MYXllciI7IH0KIAotICAgIGJvb2wgcmVz
ZXJ2ZVRleHR1cmVzKGNvbnN0IFdlYktpdDo6V2ViVmlkZW9GcmFtZSYsIEdDM0RlbnVtIGZvcm1h
dCwgTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CisgICAgYm9vbCByZXNlcnZlVGV4dHVyZXMoY29u
c3QgVmlkZW9GcmFtZUNocm9taXVtKiwgR0MzRGVudW0gZm9ybWF0LCBMYXllclJlbmRlcmVyQ2hy
b21pdW0qKTsKIAogICAgIE11dGV4IG1fcHJvdmlkZXJNdXRleDsgLy8gR3VhcmRzIG1fcHJvdmlk
ZXIgYmVsb3cuCiAgICAgVmlkZW9GcmFtZVByb3ZpZGVyKiBtX3Byb3ZpZGVyOwpAQCAtOTksNyAr
OTYsNyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fc3RyZWFtVGV4dHVyZU1hdHJpeFsxNl07CiAg
ICAgQ0NMYXllclRyZWVIb3N0SW1wbCogbV9sYXllclRyZWVIb3N0SW1wbDsKIAotICAgIFdlYktp
dDo6V2ViVmlkZW9GcmFtZSogbV9mcmFtZTsKKyAgICBWaWRlb0ZyYW1lQ2hyb21pdW0qIG1fZnJh
bWU7CiAgICAgR0MzRGVudW0gbV9mb3JtYXQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKaW5kZXggMjNkZTMyYmFmYmExODc2ODFkYWJlMTYyMTJhZTYwMWZhOTVjYzIyOC4uYmNlZmZh
YTM5ZjYzMzMwMTYzZmMwNzA2NjhmOWMyNDRiN2RjNDJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2Vi
S2l0Lmd5cApAQCAtNDg3LDYgKzQ4Nyw4IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJUZXh0
Q2hlY2tpbmdDb21wbGV0aW9uSW1wbC5oJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYlRleHRD
aGVja2luZ0NvbXBsZXRpb25JbXBsLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJUZXh0
Q2hlY2tpbmdSZXN1bHQuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1ZpZGVvRnJhbWVDaHJv
bWl1bUltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1ZpZGVvRnJhbWVDaHJvbWl1bUlt
cGwuaCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJBbmltYXRpb25Db250cm9sbGVySW1wbC5jcHAnLAog
ICAgICAgICAgICAgICAgICdzcmMvV2ViQW5pbWF0aW9uQ29udHJvbGxlckltcGwuaCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0ZyYW1lLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0ZyYW1lLmgKaW5kZXggOTQ4YTdh
NDQ0MGJmZDI2YmJkNDU1Mzk5YzIxZjcxNTgxZGM2NjI5ZS4uNGZhYjFmMjE5MDBjMzgwMDVmZjQ4
YTQ0ODI0MDA5N2FlMWEyZWVlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlkZW9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlZpZGVvRnJhbWUuaApAQCAtMSwyNiArMSw2NCBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CiAgKgot
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICov
CiAKLSNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVmlkZW9G
cmFtZS5oIgorI2lmbmRlZiBXZWJWaWRlb0ZyYW1lX2gKKyNkZWZpbmUgV2ViVmlkZW9GcmFtZV9o
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBBIHByb3h5IHZpZGVvIGZyYW1lIGludGVyZmFj
ZSB0byBjb21tdW5pY2F0ZSBmcmFtZSBkYXRhIGJldHdlZW4gY2hyb21pdW0KKy8vIGFuZCBXZWJL
aXQuCisvLyBLZWVwIGluIHN5bmMgd2l0aCBWaWRlb0ZyYW1lQ2hyb21pdW0gYW5kIGNocm9taXVt
J3MgbWVkaWE6OlZpZGVvRnJhbWU6OkZvcm1hdC4KK2NsYXNzIFdlYlZpZGVvRnJhbWUgeworcHVi
bGljOgorICAgIGVudW0gRm9ybWF0IHsKKyAgICAgICAgRm9ybWF0SW52YWxpZCA9IDAsCisgICAg
ICAgIEZvcm1hdFJHQjMyID0gNCwKKyAgICAgICAgRm9ybWF0WVYxMiA9IDYsCisgICAgICAgIEZv
cm1hdFlWMTYgPSA3LAorICAgICAgICBGb3JtYXRFbXB0eSA9IDksCisgICAgICAgIEZvcm1hdEk0
MjAgPSAxMSwKKyAgICAgICAgRm9ybWF0TmF0aXZlVGV4dHVyZSA9IDEyLAorICAgIH07CisKKyAg
ICB2aXJ0dWFsIH5XZWJWaWRlb0ZyYW1lKCkgeyB9CisgICAgdmlydHVhbCBGb3JtYXQgZm9ybWF0
KCkgY29uc3QgeyByZXR1cm4gRm9ybWF0SW52YWxpZDsgfQorICAgIHZpcnR1YWwgdW5zaWduZWQg
d2lkdGgoKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB1bnNpZ25lZCBoZWlnaHQo
KSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB1bnNpZ25lZCBwbGFuZXMoKSBjb25z
dCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBpbnQgc3RyaWRlKHVuc2lnbmVkIHBsYW5lKSBj
b25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBjb25zdCB2b2lkKiBkYXRhKHVuc2lnbmVk
IHBsYW5lKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB1bnNpZ25lZCB0ZXh0dXJl
SWQoKSBjb25zdCB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB1bnNpZ25lZCB0ZXh0dXJlVGFy
Z2V0KCkgY29uc3QgeyByZXR1cm4gMDsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0
Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcAppbmRleCA0ODUxZWM5NzlhMTViNTc4NDUyMWE2ZjZjMmQyYTY1NWQ1NGNmZmQ1
Li43MmMyYmU2NWY1ZDE5MWRlMmUxNTU3NzIxNTFmYjRhMzFiYjM2MTRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtNjks
NiArNjksNyBAQAogI2luY2x1ZGUgIlVzZXJDb250ZW50VHlwZXMuaCIKICNpbmNsdWRlICJVc2Vy
U2NyaXB0VHlwZXMuaCIKICNpbmNsdWRlICJVc2VyU3R5bGVTaGVldFR5cGVzLmgiCisjaW5jbHVk
ZSAiVmlkZW9GcmFtZUNocm9taXVtLmgiCiAjaW5jbHVkZSAiV2ViQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRl
ICJXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgpAQCAtOTgsNiArOTksNyBAQAogI2luY2x1ZGUg
IldlYlRleHRDYXNlU2Vuc2l0aXZpdHkuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tpbmdSZXN1
bHQuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tpbmdUeXBlLmgiCisjaW5jbHVkZSAiV2ViVmlk
ZW9GcmFtZS5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCkBAIC00MDAs
NiArNDAyLDExIEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXJD
bGllbnQ6OkhhcmR3YXJlQ2hhbmdlRXJyb3IsIE1lZGlhUGxhCiBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYk1lZGlhUGxheWVyQ2xpZW50OjpEb21haW5FcnJvciwgTWVkaWFQbGF5ZXJD
bGllbnQ6OkRvbWFpbkVycm9yKTsKICNlbmRpZgogCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYlZpZGVvRnJhbWU6OkZvcm1hdEludmFsaWQsIFZpZGVvRnJhbWVDaHJvbWl1bTo6SW52
YWxpZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlZpZGVvRnJhbWU6OkZvcm1h
dFJHQjMyLCBWaWRlb0ZyYW1lQ2hyb21pdW06OlJHQjMyKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViVmlkZW9GcmFtZTo6Rm9ybWF0WVYxMiwgVmlkZW9GcmFtZUNocm9taXVtOjpZ
VjEyKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlkZW9GcmFtZTo6Rm9ybWF0
WVYxNiwgVmlkZW9GcmFtZUNocm9taXVtOjpZVjE2KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViVmlkZW9GcmFtZTo6Rm9ybWF0RW1wdHksIFZpZGVvRnJhbWVDaHJvbWl1bTo6RW1w
dHkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FD
WV9OT1RJRklDQVRJT05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
VmlkZW9GcmFtZUNocm9taXVtSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9W
aWRlb0ZyYW1lQ2hyb21pdW1JbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2NlOTM5ZjczMzdmNzliMzcw
OGU4YTlhYTdmYzlhODBjZTM2ODAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvVmlkZW9GcmFtZUNocm9taXVtSW1wbC5jcHAKQEAgLTAsMCArMSwxMzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVmlkZW9GcmFtZUNocm9taXVtSW1wbC5oIgor
CisjaW5jbHVkZSAiVmlkZW9GcmFtZUNocm9taXVtLmgiCisjaW5jbHVkZSAiV2ViVmlkZW9GcmFt
ZS5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K1dlYlZpZGVvRnJhbWUqIFZpZGVvRnJhbWVDaHJvbWl1bUltcGw6OnRvV2ViVmlkZW9GcmFtZShW
aWRlb0ZyYW1lQ2hyb21pdW0qIHZpZGVvRnJhbWUpCit7CisgICAgVmlkZW9GcmFtZUNocm9taXVt
SW1wbCogd3JhcHBlZEZyYW1lID0gc3RhdGljX2Nhc3Q8VmlkZW9GcmFtZUNocm9taXVtSW1wbCo+
KHZpZGVvRnJhbWUpOworICAgIGlmICh3cmFwcGVkRnJhbWUpCisgICAgICAgIHJldHVybiB3cmFw
cGVkRnJhbWUtPm1fd2ViVmlkZW9GcmFtZTsKKyAgICByZXR1cm4gMDsKK30KKworVmlkZW9GcmFt
ZUNocm9taXVtSW1wbDo6VmlkZW9GcmFtZUNocm9taXVtSW1wbChXZWJWaWRlb0ZyYW1lKiB3ZWJW
aWRlb0ZyYW1lKQorICAgIDogbV93ZWJWaWRlb0ZyYW1lKHdlYlZpZGVvRnJhbWUpCit7Cit9CisK
K1ZpZGVvRnJhbWVDaHJvbWl1bTo6Rm9ybWF0IFZpZGVvRnJhbWVDaHJvbWl1bUltcGw6OmZvcm1h
dCgpIGNvbnN0Cit7CisgICAgaWYgKG1fd2ViVmlkZW9GcmFtZSkKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFZpZGVvRnJhbWVDaHJvbWl1bTo6Rm9ybWF0PihtX3dlYlZpZGVvRnJhbWUtPmZv
cm1hdCgpKTsKKyAgICByZXR1cm4gSW52YWxpZDsKK30KKwordW5zaWduZWQgVmlkZW9GcmFtZUNo
cm9taXVtSW1wbDo6d2lkdGgoKSBjb25zdAoreworICAgIGlmIChtX3dlYlZpZGVvRnJhbWUpCisg
ICAgICAgIHJldHVybiBtX3dlYlZpZGVvRnJhbWUtPndpZHRoKCk7CisgICAgcmV0dXJuIDA7Cit9
CisKK3Vuc2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1bUltcGw6OndpZHRoKHVuc2lnbmVkIHBsYW5l
KSBjb25zdAoreworICAgIHVuc2lnbmVkIHBsYW5lV2lkdGggPSB3aWR0aCgpOworICAgIGlmIChm
b3JtYXQoKSA9PSBZVjEyICYmIHBsYW5lICE9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih5UGxhbmUp
KQorICAgICAgICBwbGFuZVdpZHRoIC89IDI7CisgICAgcmV0dXJuIHBsYW5lV2lkdGg7Cit9CisK
K3Vuc2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1bUltcGw6OmhlaWdodCgpIGNvbnN0Cit7CisgICAg
aWYgKG1fd2ViVmlkZW9GcmFtZSkKKyAgICAgICAgcmV0dXJuIG1fd2ViVmlkZW9GcmFtZS0+aGVp
Z2h0KCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1bUlt
cGw6OmhlaWdodCh1bnNpZ25lZCBwbGFuZSkgY29uc3QKK3sKKyAgICB1bnNpZ25lZCBwbGFuZUhl
aWdodCA9IGhlaWdodCgpOworICAgIGlmIChmb3JtYXQoKSA9PSBZVjEyICYmIHBsYW5lICE9IHN0
YXRpY19jYXN0PHVuc2lnbmVkPih5UGxhbmUpKQorICAgICAgICBwbGFuZUhlaWdodCAvPSAyOwor
ICAgIHJldHVybiBwbGFuZUhlaWdodDsKK30KKwordW5zaWduZWQgVmlkZW9GcmFtZUNocm9taXVt
SW1wbDo6cGxhbmVzKCkgY29uc3QKK3sKKyAgICBpZiAobV93ZWJWaWRlb0ZyYW1lKQorICAgICAg
ICByZXR1cm4gbV93ZWJWaWRlb0ZyYW1lLT5wbGFuZXMoKTsKKyAgICByZXR1cm4gMDsKK30KKwor
aW50IFZpZGVvRnJhbWVDaHJvbWl1bUltcGw6OnN0cmlkZSh1bnNpZ25lZCBwbGFuZSkgY29uc3QK
K3sKKyAgICBpZiAobV93ZWJWaWRlb0ZyYW1lKQorICAgICAgICByZXR1cm4gbV93ZWJWaWRlb0Zy
YW1lLT5zdHJpZGUocGxhbmUpOworICAgIHJldHVybiAwOworfQorCitjb25zdCB2b2lkKiBWaWRl
b0ZyYW1lQ2hyb21pdW1JbXBsOjpkYXRhKHVuc2lnbmVkIHBsYW5lKSBjb25zdAoreworICAgIGlm
IChtX3dlYlZpZGVvRnJhbWUpCisgICAgICAgIHJldHVybiBtX3dlYlZpZGVvRnJhbWUtPmRhdGEo
cGxhbmUpOworICAgIHJldHVybiAwOworfQorCitjb25zdCBJbnRTaXplIFZpZGVvRnJhbWVDaHJv
bWl1bUltcGw6OnJlcXVpcmVkVGV4dHVyZVNpemUodW5zaWduZWQgcGxhbmUpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIEludFNpemUoc3RyaWRlKHBsYW5lKSwgaGVpZ2h0KHBsYW5lKSk7Cit9CisKK2Jv
b2wgVmlkZW9GcmFtZUNocm9taXVtSW1wbDo6aGFzUGFkZGluZ0J5dGVzKHVuc2lnbmVkIHBsYW5l
KSBjb25zdAoreworICAgIGlmIChtX3dlYlZpZGVvRnJhbWUpCisgICAgICAgIHJldHVybiBzdHJp
ZGUocGxhbmUpIC0gd2lkdGgocGxhbmUpID4gMDsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Vu
c2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1bUltcGw6OnRleHR1cmVJZCgpIGNvbnN0Cit7CisgICAg
aWYgKG1fd2ViVmlkZW9GcmFtZSkKKyAgICAgICAgcmV0dXJuIG1fd2ViVmlkZW9GcmFtZS0+dGV4
dHVyZUlkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIFZpZGVvRnJhbWVDaHJvbWl1
bUltcGw6OnRleHR1cmVUYXJnZXQoKSBjb25zdAoreworICAgIGlmIChtX3dlYlZpZGVvRnJhbWUp
CisgICAgICAgIHJldHVybiBtX3dlYlZpZGVvRnJhbWUtPnRleHR1cmVUYXJnZXQoKTsKKyAgICBy
ZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9WaWRlb0ZyYW1lQ2hyb21pdW1JbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9WaWRlb0ZyYW1lQ2hyb21pdW1JbXBsLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc5
MjA4NjZmYzRkYTExNWI4N2NlY2E5MTJlMjZhMDlhMzY0NDk5NQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1ZpZGVvRnJhbWVDaHJvbWl1bUltcGwuaApAQCAt
MCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBWaWRlb0ZyYW1lQ2hyb21pdW1JbXBsX2gKKyNkZWZpbmUgVmlk
ZW9GcmFtZUNocm9taXVtSW1wbF9oCisKKyNpbmNsdWRlICJWaWRlb0ZyYW1lQ2hyb21pdW0uaCIK
KyNpbmNsdWRlICJXZWJWaWRlb0ZyYW1lLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBB
IHdyYXBwZXIgY2xhc3MgZm9yIFdlYktpdDo6V2ViVmlkZW9GcmFtZS4gT2JqZWN0cyBjYW4gYmUg
Y3JlYXRlZCBpbiBXZWJLaXQKKy8vIGFuZCB1c2VkIGluIFdlYkNvcmUgYmVjYXVzZSBvZiB0aGUg
VmlkZW9GcmFtZUNocm9taXVtIGludGVyZmFjZS4KK2NsYXNzIFZpZGVvRnJhbWVDaHJvbWl1bUlt
cGwgOiBwdWJsaWMgV2ViQ29yZTo6VmlkZW9GcmFtZUNocm9taXVtIHsKK3B1YmxpYzoKKyAgICAv
LyBDb252ZXJ0cyBhIFdlYkNvcmU6OlZpZGVvRnJhbWVDaHJvbWl1bSB0byBhIFdlYktpdDo6V2Vi
VmlkZW9GcmFtZS4KKyAgICBzdGF0aWMgV2ViVmlkZW9GcmFtZSogdG9XZWJWaWRlb0ZyYW1lKFdl
YkNvcmU6OlZpZGVvRnJhbWVDaHJvbWl1bSopOworCisgICAgLy8gQ3JlYXRlcyBhIFZpZGVvRnJh
bWVDaHJvbWl1bUltcGwgb2JqZWN0IHRvIHdyYXAgdGhlIGdpdmVuIFdlYlZpZGVvRnJhbWUuCisg
ICAgLy8gVGhlIFZpZGVvRnJhbWVDaHJvbWl1bUltcGwgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAg
b2YgdGhlIFdlYlZpZGVvRnJhbWUKKyAgICAvLyBhbmQgc2hvdWxkIG5vdCBmcmVlIHRoZSBmcmFt
ZSdzIG1lbW9yeS4KKyAgICBWaWRlb0ZyYW1lQ2hyb21pdW1JbXBsKFdlYlZpZGVvRnJhbWUqKTsK
KyAgICB2aXJ0dWFsIEZvcm1hdCBmb3JtYXQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHVuc2lnbmVk
IHdpZHRoKCkgY29uc3Q7CisgICAgdmlydHVhbCB1bnNpZ25lZCB3aWR0aCh1bnNpZ25lZCBwbGFu
ZSkgY29uc3Q7CisgICAgdmlydHVhbCB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIHVuc2lnbmVkIGhlaWdodCh1bnNpZ25lZCBwbGFuZSkgY29uc3Q7CisgICAgdmlydHVhbCB1
bnNpZ25lZCBwbGFuZXMoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBzdHJpZGUodW5zaWduZWQg
cGxhbmUpIGNvbnN0OworICAgIHZpcnR1YWwgY29uc3Qgdm9pZCogZGF0YSh1bnNpZ25lZCBwbGFu
ZSkgY29uc3Q7CisgICAgdmlydHVhbCBjb25zdCBXZWJDb3JlOjpJbnRTaXplIHJlcXVpcmVkVGV4
dHVyZVNpemUodW5zaWduZWQgcGxhbmUpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBoYXNQYWRk
aW5nQnl0ZXModW5zaWduZWQgcGxhbmUpIGNvbnN0OworICAgIHZpcnR1YWwgdW5zaWduZWQgdGV4
dHVyZUlkKCkgY29uc3Q7CisgICAgdmlydHVhbCB1bnNpZ25lZCB0ZXh0dXJlVGFyZ2V0KCkgY29u
c3Q7CisKK3ByaXZhdGU6CisgICAgV2ViVmlkZW9GcmFtZSogbV93ZWJWaWRlb0ZyYW1lOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKaW5kZXggNDYw
MGZiODQzMDMwOWU1NWU3NzdjZjFhMTYwYmJjNGM3MTQwOTY0Yi4uNWM3YjJjOTI5ZjllNDhiYjRj
MWQ4ZDhkNDU3Mjk4ZjI0N2YyY2ZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCkBAIC0xOSw2ICsxOSw4IEBA
CiAjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcu
aCIKICNpbmNsdWRlICJUaW1lUmFuZ2VzLmgiCisjaW5jbHVkZSAiVmlkZW9GcmFtZUNocm9taXVt
LmgiCisjaW5jbHVkZSAiVmlkZW9GcmFtZUNocm9taXVtSW1wbC5oIgogI2luY2x1ZGUgIlZpZGVv
TGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIldlYkF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNp
bmNsdWRlICJXZWJGcmFtZUNsaWVudC5oIgpAQCAtNjYxLDI0ICs2NjMsMjkgQEAgdm9pZCBXZWJN
ZWRpYVBsYXllckNsaWVudEltcGw6OnNldFZpZGVvRnJhbWVQcm92aWRlckNsaWVudChWaWRlb0Zy
YW1lUHJvdmlkZXI6OkMKICAgICAgICAgbV93ZWJNZWRpYVBsYXllci0+c2V0U3RyZWFtVGV4dHVy
ZUNsaWVudChjbGllbnQgPyB0aGlzIDogMCk7CiB9CiAKLVdlYlZpZGVvRnJhbWUqIFdlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbDo6Z2V0Q3VycmVudEZyYW1lKCkKK1ZpZGVvRnJhbWVDaHJvbWl1bSog
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpnZXRDdXJyZW50RnJhbWUoKQogewogICAgIE11dGV4
TG9ja2VyIGxvY2tlcihtX2NvbXBvc2l0aW5nTXV0ZXgpOwogICAgIEFTU0VSVCghbV9jdXJyZW50
VmlkZW9GcmFtZSk7Ci0gICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpCi0gICAgICAgIG1fY3VycmVu
dFZpZGVvRnJhbWUgPSBtX3dlYk1lZGlhUGxheWVyLT5nZXRDdXJyZW50RnJhbWUoKTsKLSAgICBy
ZXR1cm4gbV9jdXJyZW50VmlkZW9GcmFtZTsKKyAgICBpZiAobV93ZWJNZWRpYVBsYXllcikgewor
ICAgICAgICBXZWJWaWRlb0ZyYW1lKiB3ZWJraXRWaWRlb0ZyYW1lID0gbV93ZWJNZWRpYVBsYXll
ci0+Z2V0Q3VycmVudEZyYW1lKCk7CisgICAgICAgIGlmICh3ZWJraXRWaWRlb0ZyYW1lKQorICAg
ICAgICAgICAgbV9jdXJyZW50VmlkZW9GcmFtZSA9IGFkb3B0UHRyKG5ldyBWaWRlb0ZyYW1lQ2hy
b21pdW1JbXBsKHdlYmtpdFZpZGVvRnJhbWUpKTsKKyAgICB9CisgICAgcmV0dXJuIG1fY3VycmVu
dFZpZGVvRnJhbWUuZ2V0KCk7CiB9CiAKLXZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpw
dXRDdXJyZW50RnJhbWUoV2ViVmlkZW9GcmFtZSogdmlkZW9GcmFtZSkKK3ZvaWQgV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjpwdXRDdXJyZW50RnJhbWUoVmlkZW9GcmFtZUNocm9taXVtKiB2aWRl
b0ZyYW1lKQogewogICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX2NvbXBvc2l0aW5nTXV0ZXgpOwog
ICAgIEFTU0VSVCh2aWRlb0ZyYW1lID09IG1fY3VycmVudFZpZGVvRnJhbWUpOwogICAgIGlmICgh
dmlkZW9GcmFtZSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmIChtX3dlYk1lZGlhUGxheWVyKQot
ICAgICAgICBtX3dlYk1lZGlhUGxheWVyLT5wdXRDdXJyZW50RnJhbWUodmlkZW9GcmFtZSk7Ci0g
ICAgbV9jdXJyZW50VmlkZW9GcmFtZSA9IDA7CisgICAgaWYgKG1fd2ViTWVkaWFQbGF5ZXIpIHsK
KyAgICAgICAgbV93ZWJNZWRpYVBsYXllci0+cHV0Q3VycmVudEZyYW1lKAorICAgICAgICAgICAg
VmlkZW9GcmFtZUNocm9taXVtSW1wbDo6dG9XZWJWaWRlb0ZyYW1lKHZpZGVvRnJhbWUpKTsKKyAg
ICB9CisgICAgbV9jdXJyZW50VmlkZW9GcmFtZS5jbGVhcigpOwogfQogI2VuZGlmCiAKQEAgLTc2
MCw3ICs3NjcsNiBAQCB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6ZGlkVXBkYXRlTWF0
cml4KGNvbnN0IGZsb2F0KiBtYXRyaXgpCiAKIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6V2Vi
TWVkaWFQbGF5ZXJDbGllbnRJbXBsKCkKICAgICA6IG1fbWVkaWFQbGF5ZXIoMCkKLSAgICAsIG1f
Y3VycmVudFZpZGVvRnJhbWUoMCkKICAgICAsIG1fZGVsYXlpbmdMb2FkKGZhbHNlKQogICAgICwg
bV9wcmVsb2FkKE1lZGlhUGxheWVyOjpNZXRhRGF0YSkKICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRp
YVBsYXllckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbC5oCmluZGV4IGJhMTczMGY1Zjc4ZDUwYTJkOThlNmVlNmYwYTYxOWQ0
YTRlYzJkMzEuLjUwYmNjMDE4MGYwNGFhMzQ3Mzg3ODE4NmM4ODQ2ODYzNDI0ZjkxNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbC5oCkBAIC0zNSw2ICszNSw3IEBACiAKICNpbmNsdWRlICJBdWRpb1NvdXJjZVByb3ZpZGVy
LmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlLmgiCisjaW5jbHVkZSAiVmlkZW9GcmFt
ZUNocm9taXVtLmgiCiAjaW5jbHVkZSAiVmlkZW9GcmFtZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAi
VmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiV2ViQXVkaW9Tb3VyY2VQcm92aWRlckNs
aWVudC5oIgpAQCAtMTQ0LDggKzE0NSw4IEBAIHB1YmxpYzoKIAogICAgIC8vIFZpZGVvRnJhbWVQ
cm92aWRlciBtZXRob2RzOgogICAgIHZpcnR1YWwgdm9pZCBzZXRWaWRlb0ZyYW1lUHJvdmlkZXJD
bGllbnQoVmlkZW9GcmFtZVByb3ZpZGVyOjpDbGllbnQqKTsKLSAgICB2aXJ0dWFsIFdlYlZpZGVv
RnJhbWUqIGdldEN1cnJlbnRGcmFtZSgpOwotICAgIHZpcnR1YWwgdm9pZCBwdXRDdXJyZW50RnJh
bWUoV2ViVmlkZW9GcmFtZSopOworICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlkZW9GcmFtZUNocm9t
aXVtKiBnZXRDdXJyZW50RnJhbWUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcHV0Q3VycmVudEZyYW1l
KFdlYkNvcmU6OlZpZGVvRnJhbWVDaHJvbWl1bSopOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQpAQCAtMTg0LDcgKzE4NSw3IEBAIHByaXZhdGU6CiAgICAgTXV0ZXggbV9jb21w
b3NpdGluZ011dGV4OyAvLyBHdWFyZHMgbV9jdXJyZW50VmlkZW9GcmFtZSBhbmQgbV92aWRlb0Zy
YW1lUHJvdmlkZXJDbGllbnQuCiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXIqIG1fbWVkaWFQbGF5
ZXI7CiAgICAgT3duUHRyPFdlYk1lZGlhUGxheWVyPiBtX3dlYk1lZGlhUGxheWVyOwotICAgIFdl
YlZpZGVvRnJhbWUqIG1fY3VycmVudFZpZGVvRnJhbWU7CisgICAgT3duUHRyPFdlYkNvcmU6OlZp
ZGVvRnJhbWVDaHJvbWl1bT4gbV9jdXJyZW50VmlkZW9GcmFtZTsKICAgICBTdHJpbmcgbV91cmw7
CiAgICAgYm9vbCBtX2RlbGF5aW5nTG9hZDsKICAgICBXZWJDb3JlOjpNZWRpYVBsYXllcjo6UHJl
bG9hZCBtX3ByZWxvYWQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>