<?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>142122</bug_id>
          
          <creation_ts>2015-02-27 18:59:23 -0800</creation_ts>
          <short_desc>Fullscreen video layers are off by one sometimes</short_desc>
          <delta_ts>2015-02-28 12:59:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1072954</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-27 18:59:23 -0800</bug_when>
    <thetext>Fullscreen video layers are off by one sometimes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072955</commentid>
    <comment_count>1</comment_count>
      <attachid>247580</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-27 19:03:33 -0800</bug_when>
    <thetext>Created attachment 247580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072958</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-27 19:06:33 -0800</bug_when>
    <thetext>rdar://problem/19878821</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072976</commentid>
    <comment_count>3</comment_count>
      <attachid>247587</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-27 20:57:30 -0800</bug_when>
    <thetext>Created attachment 247587
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072988</commentid>
    <comment_count>4</comment_count>
      <attachid>247589</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-27 22:19:56 -0800</bug_when>
    <thetext>Created attachment 247589
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073052</commentid>
    <comment_count>5</comment_count>
      <attachid>247606</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-28 11:36:14 -0800</bug_when>
    <thetext>Created attachment 247606
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073061</commentid>
    <comment_count>6</comment_count>
      <attachid>247606</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-02-28 12:32:47 -0800</bug_when>
    <thetext>Comment on attachment 247606
For EWS

View in context: https://bugs.webkit.org/attachment.cgi?id=247606&amp;action=review

&gt; Source/WebCore/ChangeLog:10
&gt; +        isn&apos;t always integral (because of preserving pixel ratio etc). Fix all the media

Minor nit: &quot;preserving pixel aspect ratio&quot; would be more correct</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073062</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-28 12:59:30 -0800</bug_when>
    <thetext>https://trac.webkit.org/r180839</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247580</attachid>
            <date>2015-02-27 19:03:33 -0800</date>
            <delta_ts>2015-02-27 20:57:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142122-20150227190318.patch</filename>
            <type>text/plain</type>
            <size>38828</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVjMTA3YzE0ZGRhNzFi
YzY3YWJhZDZhZWNhOTQzNjQxMjlkOWU4Yy4uMzhkNmVmZjYwNTZmZGJlOTcwNmQ0Njg4ODhjZjY2
NzdkNDhmOTA2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDE1LTAyLTI3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4g
dmlkZW8gbGF5ZXJzIGFyZSBvZmYgYnkgb25lIHNvbWV0aW1lcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMTIyCisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzE5ODc4ODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29udmVydCBNZWRpYVBsYXllcjo6bmF0dXJhbFNpemUoKSB0byByZXR1cm4gYSBGbG9h
dFNpemUsIHNpbmNlIHRoZSBuYXR1cmFsIHNpemUKKyAgICAgICAgaXNuJ3QgYWx3YXlzIGludGVn
cmFsIChiZWNhdXNlIG9mIHByZXNlcnZpbmcgcGl4ZWwgcmF0aW8gZXRjKS4gRml4IGFsbCB0aGUg
bWVkaWEKKyAgICAgICAgYmFja2VuZHMgdG8gdXNlIEZsb2F0U2l6ZXMgZm9yIG5hdHVyYWwgc2l6
ZS4gQ29udmVydCB0aGUgdmlkZW8gaW1hZ2UgZHJhd2luZyBjb2RlCisgICAgICAgIHBhdGhzIHRv
IEZsb2F0U2l6ZSwgc2luY2UgbmF0dXJhbFNpemUgaXMgdXNlZCBvbiB0aGUgZGVzdGluYXRpb24g
cmVjdCBjb21wdXRhdGlvbiwKKyAgICAgICAgYW5kIHBhaW50aW5nIHNob3VsZCBiZSBmbG9hdGlu
ZyBwb2ludCBhbnl3YXkuCisgICAgICAgIAorICAgICAgICBHaXZlIHRoZSBsYXllciBjcmVhdGVk
IGJ5IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDIGEgbmFtZSBpbiBkZWJ1ZyBidWlsZHMuCisK
KyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFZpZGVvRWxlbWVudDo6dmlkZW9XaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlk
ZW9FbGVtZW50Ojp2aWRlb0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVt
ZW50OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dCk6CisgICAgICAgICogaHRtbC9IVE1MVmlk
ZW9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9GcmFtZVRvSW1hZ2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRp
YVBsYXllclByaXZhdGU6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyOjpuYXR1cmFsU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cGFpbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnBhaW50Q3VycmVudEZyYW1lSW5Db250
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRpYVBsYXllclByaXZhdGU6OnBhaW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpwYWludEN1cnJlbnRGcmFtZUlu
Q29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6c2V0TmF0dXJhbFNpemUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50V2l0aEltYWdl
R2VuZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0cmFja3NDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNpemVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akM6OnBhaW50V2l0aFZpZGVvT3V0cHV0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGFpbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYWlu
dEN1cnJlbnRGcmFtZUluQ29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpuYXR1
cmFsU2l6ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVu
YWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6Om5h
dHVyYWxTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9UcmFja1ByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6bmF0dXJhbFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bmF0dXJhbFNp
emUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnBhaW50
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5zaWNTaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpwYWludFJlcGxhY2VkKToKKwogMjAxNS0wMi0yNSAg
U2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NT
IEdyaWQgTGF5b3V0XSBUcmFja3MgZ3Jvd2luZyBiZXlvbmQgbGltaXRzIHdoZW4gdGhleSBzaG91
bGQgbm90CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCA4NDQ3
MTFkMmExM2RkZGQ2MmFkODY5NGM4ZjhlMDhjYzczMTIxYWI4Li5kMmQxOGMzODBhYzVhNjhiZDRh
MjdiNmUyZGU5OTJmMGM2ZTg0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxWaWRlb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKQEAgLTE3MSwxNCArMTcxLDE0IEBAIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6
OnZpZGVvV2lkdGgoKSBjb25zdAogewogICAgIGlmICghcGxheWVyKCkpCiAgICAgICAgIHJldHVy
biAwOwotICAgIHJldHVybiBwbGF5ZXIoKS0+bmF0dXJhbFNpemUoKS53aWR0aCgpOworICAgIHJl
dHVybiBjbGFtcFRvVW5zaWduZWQocGxheWVyKCktPm5hdHVyYWxTaXplKCkud2lkdGgoKSk7CiB9
CiAKIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6OnZpZGVvSGVpZ2h0KCkgY29uc3QKIHsKICAg
ICBpZiAoIXBsYXllcigpKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gcGxheWVyKCkt
Pm5hdHVyYWxTaXplKCkuaGVpZ2h0KCk7CisgICAgcmV0dXJuIGNsYW1wVG9VbnNpZ25lZChwbGF5
ZXIoKS0+bmF0dXJhbFNpemUoKS5oZWlnaHQoKSk7CiB9CiAKIGJvb2wgSFRNTFZpZGVvRWxlbWVu
dDo6aXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpIGNvbnN0CkBAIC0y
MzUsNyArMjM1LDcgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp1cGRhdGVEaXNwbGF5U3RhdGUo
KQogICAgICAgICBzZXREaXNwbGF5TW9kZShQb3N0ZXIpOwogfQogCi12b2lkIEhUTUxWaWRlb0Vs
ZW1lbnQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgSW50UmVjdCYgZGVzdFJlY3QpCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnBhaW50
Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCkKIHsKICAgICBNZWRpYVBsYXllciogcGxheWVyID0gSFRNTE1lZGlh
RWxlbWVudDo6cGxheWVyKCk7CiAgICAgaWYgKCFwbGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFZpZGVvRWxlbWVudC5oCmluZGV4IGFjZDQzODcyODY5ZTE0OTZlYjJkMDc4Y2JjYjNjYmVhM2Rk
Yjk3NmMuLjcwZjM0MGNjY2Y2NWVhMjE2YzE3ZWZiNzhhYTgzNTYxMDYzM2MyMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAgICAgLy8gVXNlZCBieSBjYW52YXMgdG8gZ2FpbiByYXcgcGl4ZWwgYWNjZXNz
Ci0gICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAogICAgIFBhc3NOYXRpdmVJbWFnZVB0
ciBuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQyZDRl
MzEyYzc4ZjM5ODE4NTVjY2U3ZGZhNjgwYjUwMTg2YmFiYWQuLmQ5OTYxZTFiZTVhZTZlNzdlNjkx
OWIzMTE0Y2UyNmNhYmRiMzFkMDQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtMTI4OCwxMSArMTI4OCwx
MSBAQCBzdGF0aWMgTGF5b3V0U2l6ZSBzaXplKEhUTUxJbWFnZUVsZW1lbnQqIGltYWdlLCBJbWFn
ZVNpemVUeXBlIHNpemVUeXBlKQogfQogCiAjaWYgRU5BQkxFKFZJREVPKQotc3RhdGljIEludFNp
emUgc2l6ZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbykKK3N0YXRpYyBGbG9hdFNpemUgc2l6ZShI
VE1MVmlkZW9FbGVtZW50KiB2aWRlbykKIHsKICAgICBpZiAoTWVkaWFQbGF5ZXIqIHBsYXllciA9
IHZpZGVvLT5wbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuIHBsYXllci0+bmF0dXJhbFNpemUoKTsK
LSAgICByZXR1cm4gSW50U2l6ZSgpOworICAgIHJldHVybiBGbG9hdFNpemUoKTsKIH0KICNlbmRp
ZgogCkBAIC0xNDg1LDggKzE0ODUsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLCBmbG9hdCB4LCBmbG9hdAogICAgICAg
ICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIElu
dFNpemUgcyA9IHNpemUodmlkZW8pOwotICAgIGRyYXdJbWFnZSh2aWRlbywgeCwgeSwgcy53aWR0
aCgpLCBzLmhlaWdodCgpLCBlYyk7CisgICAgRmxvYXRTaXplIHZpZGVvU2l6ZSA9IHNpemUodmlk
ZW8pOworICAgIGRyYXdJbWFnZSh2aWRlbywgeCwgeSwgdmlkZW9TaXplLndpZHRoKCksIHZpZGVv
U2l6ZS5oZWlnaHQoKSwgZWMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLApAQCAtMTQ5Niw4ICsxNDk2LDggQEAg
dm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZShIVE1MVmlkZW9FbGVtZW50
KiB2aWRlbywKICAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSAgICBJbnRTaXplIHMgPSBzaXplKHZpZGVvKTsKLSAgICBkcmF3SW1hZ2Uodmlk
ZW8sIEZsb2F0UmVjdCgwLCAwLCBzLndpZHRoKCksIHMuaGVpZ2h0KCkpLCBGbG9hdFJlY3QoeCwg
eSwgd2lkdGgsIGhlaWdodCksIGVjKTsKKyAgICBGbG9hdFNpemUgdmlkZW9TaXplID0gc2l6ZSh2
aWRlbyk7CisgICAgZHJhd0ltYWdlKHZpZGVvLCBGbG9hdFJlY3QoMCwgMCwgdmlkZW9TaXplLndp
ZHRoKCksIHZpZGVvU2l6ZS5oZWlnaHQoKSksIEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0
KSwgZWMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdlKEhU
TUxWaWRlb0VsZW1lbnQqIHZpZGVvLApAQCAtMTU1NCw3ICsxNTU0LDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgY29u
c3QgRmxvYXRSZWMKICAgICBjLT50cmFuc2xhdGUoZHN0UmVjdC54KCksIGRzdFJlY3QueSgpKTsK
ICAgICBjLT5zY2FsZShGbG9hdFNpemUoZHN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgp
LCBkc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKSkpOwogICAgIGMtPnRyYW5zbGF0
ZSgtc3JjUmVjdC54KCksIC1zcmNSZWN0LnkoKSk7Ci0gICAgdmlkZW8tPnBhaW50Q3VycmVudEZy
YW1lSW5Db250ZXh0KGMsIEludFJlY3QoSW50UG9pbnQoKSwgc2l6ZSh2aWRlbykpKTsKKyAgICB2
aWRlby0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoYywgRmxvYXRSZWN0KEZsb2F0UG9pbnQo
KSwgc2l6ZSh2aWRlbykpKTsKICAgICBzdGF0ZVNhdmVyLnJlc3RvcmUoKTsKICAgICBkaWREcmF3
KGRzdFJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCA0MGNkNjA0YzM1ZDg2Y2I2OGI3YmU5
Yjk5MzEzMTEwYWIzZTI5YjYwLi42OGMxNjcwZWU0OWE0Njg2YjYwMzZkOTBkNDhmZDA4NWY5YzU2
YWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMzI0NSw3ICszMjQ1LDcgQEAgUGFzc1JlZlB0cjxJ
bWFnZT4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9GcmFtZVRvSW1hZ2UoSFRNTFZp
ZGVvRWxlbWVudCoKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
Ok9VVF9PRl9NRU1PUlksICJ0ZXhJbWFnZTJEIiwgIm91dCBvZiBtZW1vcnkiKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEludFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6ZS53
aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKKyAgICBGbG9hdFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6
ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKICAgICAvLyBGSVhNRTogVHVybiB0aGlzIGludG8g
YSBHUFUtR1BVIHRleHR1cmUgY29weSBpbnN0ZWFkIG9mIENQVSByZWFkYmFjay4KICAgICB2aWRl
by0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoYnVmLT5jb250ZXh0KCksIGRlc3RSZWN0KTsK
ICAgICByZXR1cm4gYnVmLT5jb3B5SW1hZ2UoYmFja2luZ1N0b3JlQ29weSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggY2ZmZTgx
MDhkMjUxYjUwN2JiMWU1YjY5ZTZiNGI2NDA3NzMzNzExZC4uNWFhNjlkYzhiZmNhNmI4Y2I3ZTk3
NDQxZThlMGI3MzYzMmQ1MTg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdCB7IHJldHVybiBOb1BsYXRm
b3JtTWVkaWE7IH0KICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBj
b25zdCB7IHJldHVybiAwOyB9CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBj
b25zdCB7IHJldHVybiBJbnRTaXplKDAsIDApOyB9CisgICAgdmlydHVhbCBGbG9hdFNpemUgbmF0
dXJhbFNpemUoKSBjb25zdCB7IHJldHVybiBGbG9hdFNpemUoKTsgfQogCiAgICAgdmlydHVhbCBi
b29sIGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aGFzQXVkaW8oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTMxLDcgKzEzMSw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXplKGNvbnN0IEludFNpemUmKSB7IH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jikg
eyB9CisgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0
UmVjdCYpIG92ZXJyaWRlIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhbkxvYWRQb3N0ZXIoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3Qg
U3RyaW5nJikgeyB9CkBAIC01NDQsNyArNTQ0LDcgQEAgYm9vbCBNZWRpYVBsYXllcjo6cmVxdWly
ZXNJbW1lZGlhdGVDb21wb3NpdGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+cmVx
dWlyZXNJbW1lZGlhdGVDb21wb3NpdGluZygpOwogfQogCi1JbnRTaXplIE1lZGlhUGxheWVyOjpu
YXR1cmFsU2l6ZSgpCitGbG9hdFNpemUgTWVkaWFQbGF5ZXI6Om5hdHVyYWxTaXplKCkKIHsKICAg
ICByZXR1cm4gbV9wcml2YXRlLT5uYXR1cmFsU2l6ZSgpOwogfQpAQCAtNzMzLDEyICs3MzMsMTIg
QEAgdm9pZCBNZWRpYVBsYXllcjo6c2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVs
b2FkKQogICAgIG1fcHJpdmF0ZS0+c2V0UHJlbG9hZChwcmVsb2FkKTsKIH0KIAotdm9pZCBNZWRp
YVBsYXllcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJbnRSZWN0JiByKQordm9p
ZCBNZWRpYVBsYXllcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBGbG9hdFJlY3Qm
IHIpCiB7CiAgICAgbV9wcml2YXRlLT5wYWludChwLCByKTsKIH0KIAotdm9pZCBNZWRpYVBsYXll
cjo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJ
bnRSZWN0JiByKQordm9pZCBNZWRpYVBsYXllcjo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQo
R3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CiAgICAgbV9wcml2YXRl
LT5wYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChwLCByKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGI3ZjYwNWFiYjY1ODNlMGE2
ZjhmNDBjYTFjMjZiNmI1NWI4YzQ1MDIuLmVlZmJmYzI5N2M1ZmM4NWRhM2Q2OTI0OTNjZGFhYzBh
Nzc4OTUzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMzExLDcgKzMxMSw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZXJyb3JMb2co
KSBjb25zdDsKICNlbmRpZgogCi0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpOworICAgIEZsb2F0
U2l6ZSBuYXR1cmFsU2l6ZSgpOwogICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdDsKICAgICBib29s
IGhhc0F1ZGlvKCkgY29uc3Q7CiAKQEAgLTM5MSw4ICszOTEsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBhdXRvcGxheSgpIGNvbnN0OwogICAgIHZvaWQgc2V0QXV0b3BsYXkoYm9vbCk7CiAKLSAgICB2
b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKLSAgICB2b2lkIHBh
aW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3Qm
KTsKKyAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwor
ICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgRmxvYXRSZWN0Jik7CiAKICAgICAvLyBjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRleHR1
cmUoKSBpcyB1c2VkIHRvIGRvIHRoZSBHUFUtR1BVIHRleHR1cmVzIGNvcHkgd2l0aG91dCBhIHJl
YWRiYWNrIHRvIHN5c3RlbSBtZW1vcnkuCiAgICAgLy8gVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVy
cyBkZW5vdGUgdGhlIGNvcnJlc3BvbmRpbmcgR3JhcGhpY3NDb250ZXh0LCBkZXN0aW5hdGlvbiB0
ZXh0dXJlLCByZXF1ZXN0ZWQgbGV2ZWwsIHJlcXVlc3RlZCB0eXBlIGFuZCB0aGUgcmVxdWlyZWQg
aW50ZXJuYWxGb3JtYXQgZm9yIGRlc3RpbmF0aW9uIHRleHR1cmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IDc3
ZjY0YjI0OTU4MDdhZDUyZmMxM2YwZTUyMWY2NWIwMWVmZDdiNTUuLjRmMjM5MGE1YjgxYzgwOTA2
ZTVjYjMyYzEwY2JkNTg4YTBjYjA1YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC03NCw3ICs3NCw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0gMDsKIAogICAg
IHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFz
QXVkaW8oKSBjb25zdCA9IDA7CkBAIC0xMzcsOSArMTM3LDkgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6ZSYpID0gMDsKIAotICAgIHZpcnR1YWwgdm9p
ZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250
ZXh0KiBjLCBjb25zdCBJbnRSZWN0JiByKSB7IHBhaW50KGMsIHIpOyB9CisgICAgdmlydHVhbCB2
b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogYywgY29uc3Qg
RmxvYXRSZWN0JiByKSB7IHBhaW50KGMsIHIpOyB9CiAgICAgdmlydHVhbCBib29sIGNvcHlWaWRl
b1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRCosIFBsYXRmb3JtM0RP
YmplY3QsIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEZW51bSwgYm9vbCwgYm9vbCkgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICB2aXJ0dWFsIFBhc3NOYXRpdmVJbWFnZVB0ciBuYXRpdmVJbWFnZUZvckN1
cnJlbnRUaW1lKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCmluZGV4IDg4MzAzMWE5ZTUw
YTgzYTVmMDA0ZDIwOTA4YzQxOTkxZDU0YjA2YTIuLmZlMzcxMTA5MDk5YzJiMzFmZjFjNWNjZTI3
NzY3MGRiNzYyY2YwMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0zMDcsNyArMzA3LDcgQEAgYm9vbCBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246OnNlZWtpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3Nl
ZWtpbmc7CiB9CiAKLUludFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpuYXR1
cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpKQog
ICAgICAgICByZXR1cm4gSW50U2l6ZSgpOwpAQCAtMzIyLDExICszMjIsMTEgQEAgSW50U2l6ZSBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9jYWNoZWROYXR1cmFsU2l6ZTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb246OnNldE5hdHVyYWxTaXplKEludFNpemUgc2l6ZSkKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpzZXROYXR1cmFsU2l6ZShGbG9hdFNpemUgc2l6ZSkKIHsK
LSAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246c2V0TmF0dXJh
bFNpemUoJXApIC0gc2l6ZSA9ICVkIHggJWQiLCB0aGlzLCBzaXplLndpZHRoKCksIHNpemUuaGVp
Z2h0KCkpOworICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjpz
ZXROYXR1cmFsU2l6ZSglcCkgLSBzaXplID0gJWYgeCAlZiIsIHRoaXMsIHNpemUud2lkdGgoKSwg
c2l6ZS5oZWlnaHQoKSk7CiAKLSAgICBJbnRTaXplIG9sZFNpemUgPSBtX2NhY2hlZE5hdHVyYWxT
aXplOworICAgIEZsb2F0U2l6ZSBvbGRTaXplID0gbV9jYWNoZWROYXR1cmFsU2l6ZTsKICAgICBt
X2NhY2hlZE5hdHVyYWxTaXplID0gc2l6ZTsKICAgICBpZiAob2xkU2l6ZSAhPSBtX2NhY2hlZE5h
dHVyYWxTaXplKQogICAgICAgICBtX3BsYXllci0+c2l6ZUNoYW5nZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCBlZjYy
MWFkN2E1NjBkNjEzNmMxY2E0ZjdiZGIwMGIyNTZlYTYwYmI0Li5jMGRkNDdlNGNkMmIwMzllYWY4
NGQ0YjQyOTBiZDhjNTliZmI0YTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBwbGF5KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHBh
dXNlKCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25z
dCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fY2FjaGVkSGFzVmlkZW87IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzQXVkaW8oKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2NhY2hlZEhhc0F1ZGlvOyB9CiAgICAgdmlydHVhbCB2b2lk
IHNldFZpc2libGUoYm9vbCkgb3ZlcnJpZGU7CkBAIC0xODEsOCArMTgxLDggQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVy
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNz
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6
ZSYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUlu
Q29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4
dCosIGNvbnN0IEZsb2F0UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJlbG9hZChN
ZWRpYVBsYXllcjo6UHJlbG9hZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVy
KiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgYm9vbCBz
dXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgY29uc3QgPSAwOwpAQCAtMjY1LDcgKzI2NSw3
IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldERlbGF5Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZE5v
dGlmaWNhdGlvbihib29sKTsKICAgICB2b2lkIHNldERlbGF5Q2FsbGJhY2tzKGJvb2wpIGNvbnN0
OwogICAgIHZvaWQgc2V0SWdub3JlTG9hZFN0YXRlQ2hhbmdlcyhib29sIGRlbGF5KSB7IG1faWdu
b3JlTG9hZFN0YXRlQ2hhbmdlcyA9IGRlbGF5OyB9Ci0gICAgdm9pZCBzZXROYXR1cmFsU2l6ZShJ
bnRTaXplKTsKKyAgICB2b2lkIHNldE5hdHVyYWxTaXplKEZsb2F0U2l6ZSk7CiAgICAgYm9vbCBp
c0xpdmVTdHJlYW0oKSBjb25zdCB7IHJldHVybiBzdGQ6OmlzaW5mKGR1cmF0aW9uKCkpOyB9CiAK
ICAgICBlbnVtIE1lZGlhUmVuZGVyaW5nTW9kZSB7IE1lZGlhUmVuZGVyaW5nTm9uZSwgTWVkaWFS
ZW5kZXJpbmdUb0NvbnRleHQsIE1lZGlhUmVuZGVyaW5nVG9MYXllciB9OwpAQCAtMzIwLDcgKzMy
MCw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fYXNzZXRVUkw7CiAgICAgTWVkaWFQbGF5ZXI6
OlByZWxvYWQgbV9wcmVsb2FkOwogCi0gICAgSW50U2l6ZSBtX2NhY2hlZE5hdHVyYWxTaXplOwor
ICAgIEZsb2F0U2l6ZSBtX2NhY2hlZE5hdHVyYWxTaXplOwogICAgIG11dGFibGUgTWVkaWFUaW1l
IG1fY2FjaGVkTWF4VGltZUxvYWRlZDsKICAgICBtdXRhYmxlIE1lZGlhVGltZSBtX2NhY2hlZE1h
eFRpbWVTZWVrYWJsZTsKICAgICBtdXRhYmxlIE1lZGlhVGltZSBtX2NhY2hlZE1pblRpbWVTZWVr
YWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCAwZWEwZGUwOTZiYjliZDZiYzA3MjI2MTE3
MzA3NjY5NzE2NWIzOGViLi43MDEzNjAzMTFiYzUwMDBiZmNhYTViMzNhMGRiZWVlNjBlZjE3OGQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCkBAIC0xNTAsOCArMTUwLDggQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIE1lZGlhVGltZSBjdXJyZW50TWVkaWFUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFZvbHVtZShmbG9hdCk7CiAgICAgdmlydHVhbCB2b2lkIHNldENs
b3NlZENhcHRpb25zVmlzaWJsZShib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJl
bnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7CisgICAg
dmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwor
ICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRm
b3JtTGF5ZXIoKSBjb25zdDsKICNpZiBQTEFURk9STShJT1MpCiAgICAgdmlydHVhbCB2b2lkIHNl
dFZpZGVvRnVsbHNjcmVlbkxheWVyKFBsYXRmb3JtTGF5ZXIqKTsKQEAgLTIxNyw4ICsyMTcsOCBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjcmVhdGVJbWFnZUdlbmVyYXRvcigpOwogICAgIHZvaWQg
ZGVzdHJveUltYWdlR2VuZXJhdG9yKCk7Ci0gICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0
ZUltYWdlRm9yVGltZUluUmVjdChmbG9hdCwgY29uc3QgSW50UmVjdCYpOwotICAgIHZvaWQgcGFp
bnRXaXRoSW1hZ2VHZW5lcmF0b3IoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwor
ICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoZmxvYXQs
IGNvbnN0IEZsb2F0UmVjdCYpOworICAgIHZvaWQgcGFpbnRXaXRoSW1hZ2VHZW5lcmF0b3IoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7CiAKICNpZiBIQVZFKEFWRk9VTkRBVElP
Tl9WSURFT19PVVRQVVQpCiAgICAgdm9pZCBjcmVhdGVWaWRlb091dHB1dCgpOwpAQCAtMjI2LDcg
KzIyNiw3IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGNyZWF0
ZVBpeGVsQnVmZmVyKCk7CiAgICAgdm9pZCB1cGRhdGVMYXN0SW1hZ2UoKTsKICAgICBib29sIHZp
ZGVvT3V0cHV0SGFzQXZhaWxhYmxlRnJhbWUoKTsKLSAgICB2b2lkIHBhaW50V2l0aFZpZGVvT3V0
cHV0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKKyAgICB2b2lkIHBhaW50V2l0
aFZpZGVvT3V0cHV0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZp
cnR1YWwgUGFzc05hdGl2ZUltYWdlUHRyIG5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKSBvdmVy
cmlkZTsKICAgICB2b2lkIHdhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0YVdpbGxDaGFuZ2UoKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggODIyNmU4MGZiZTZjYWQ2ODEzZWE4
ODUyODI4NDIwYTY0NTVkMTQ1Ny4uY2JmNGVlOTNkYTA0ODJkZjc0ZDRjN2E5YzAwMmY2Zjc2Mzll
YzcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC0xNDY2LDcgKzE0NjYsNyBAQCBsb25n
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmFzc2V0RXJyb3JDb2RlKCkgY29u
c3QKICAgICByZXR1cm4gW2Vycm9yIGNvZGVdOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKCFtZXRh
RGF0YUF2YWlsYWJsZSgpIHx8IGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtMTQ4Nyw3ICsxNDg3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnQKICAg
ICBtX3ZpZGVvRnJhbWVIYXNEcmF3biA9IHRydWU7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBJbnRSZWN0JiByZWN0KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkK
IHsKICAgICBpZiAoIW1ldGFEYXRhQXZhaWxhYmxlKCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNh
YmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0xNTAzLDcgKzE1MDMsNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgSQogICAgIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KGNvbnRleHQsIHJl
Y3QpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50
V2l0aEltYWdlR2VuZXJhdG9yKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVj
dCYgcmVjdCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRX
aXRoSW1hZ2VHZW5lcmF0b3IoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpCiB7CiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6cGFpbnRXaXRoSW1hZ2VHZW5lcmF0b3IoJXApIiwgdGhpcyk7CiAKQEAgLTE1MzUs
NyArMTUzNSw3IEBAIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4gbWltZVR5cGVDYWNoZSgpCiAgICAg
cmV0dXJuIGNhY2hlOwogfSAKIAotUmV0YWluUHRyPENHSW1hZ2VSZWY+IE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdChmbG9hdCB0aW1l
LCBjb25zdCBJbnRSZWN0JiByZWN0KQorUmV0YWluUHRyPENHSW1hZ2VSZWY+IE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdChmbG9hdCB0
aW1lLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKCFtX2ltYWdlR2VuZXJhdG9y
KQogICAgICAgICBjcmVhdGVJbWFnZUdlbmVyYXRvcigpOwpAQCAtMTgyNyw3ICsxODI3LDcgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0cmFja3NDaGFuZ2VkKCkK
ICAgICAgICAgaGFzQ2FwdGlvbnMgPSBbW21fYXZBc3NldC5nZXQoKSB0cmFja3NXaXRoTWVkaWFU
eXBlOkFWTWVkaWFUeXBlQ2xvc2VkQ2FwdGlvbl0gY291bnRdOwogI2VuZGlmCiAKLSAgICAgICAg
cHJlc2VudGF0aW9uU2l6ZURpZENoYW5nZShmaXJzdEVuYWJsZWRWaWRlb1RyYWNrID8gSW50U2l6
ZShDR1NpemVBcHBseUFmZmluZVRyYW5zZm9ybShbZmlyc3RFbmFibGVkVmlkZW9UcmFjayBuYXR1
cmFsU2l6ZV0sIFtmaXJzdEVuYWJsZWRWaWRlb1RyYWNrIHByZWZlcnJlZFRyYW5zZm9ybV0pKSA6
IEludFNpemUoKSk7CisgICAgICAgIHByZXNlbnRhdGlvblNpemVEaWRDaGFuZ2UoZmlyc3RFbmFi
bGVkVmlkZW9UcmFjayA/IEZsb2F0U2l6ZShDR1NpemVBcHBseUFmZmluZVRyYW5zZm9ybShbZmly
c3RFbmFibGVkVmlkZW9UcmFjayBuYXR1cmFsU2l6ZV0sIFtmaXJzdEVuYWJsZWRWaWRlb1RyYWNr
IHByZWZlcnJlZFRyYW5zZm9ybV0pKSA6IEZsb2F0U2l6ZSgpKTsKICAgICB9IGVsc2UgewogICAg
ICAgICBib29sIGhhc1ZpZGVvID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaGFzQXVkaW8gPSBmYWxz
ZTsKQEAgLTIxMjEsNyArMjEyMSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6c2l6ZUNoYW5nZWQoKQogICAgIGlmICghbV9hdkFzc2V0KQogICAgICAgICByZXR1
cm47CiAKLSAgICBzZXROYXR1cmFsU2l6ZShyb3VuZGVkSW50U2l6ZShtX2NhY2hlZFByZXNlbnRh
dGlvblNpemUpKTsKKyAgICBzZXROYXR1cmFsU2l6ZShtX2NhY2hlZFByZXNlbnRhdGlvblNpemUp
OwogfQogICAgIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpoYXNT
aW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IApAQCAtMjI3Myw3ICsyMjczLDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRhdGVMYXN0SW1hZ2UoKQogICAg
ICAgICBtX2xhc3RJbWFnZSA9IGNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKHBpeGVsQnVmZmVy
LmdldCgpKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpw
YWludFdpdGhWaWRlb091dHB1dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJl
Y3QmIG91dHB1dFJlY3QpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OnBhaW50V2l0aFZpZGVvT3V0cHV0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxv
YXRSZWN0JiBvdXRwdXRSZWN0KQogewogICAgIGlmIChtX3ZpZGVvT3V0cHV0ICYmICFtX2xhc3RJ
bWFnZSAmJiAhdmlkZW9PdXRwdXRIYXNBdmFpbGFibGVGcmFtZSgpKQogICAgICAgICB3YWl0Rm9y
VmlkZW9PdXRwdXRNZWRpYURhdGFXaWxsQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
CmluZGV4IDg2ZGZkMDVmMjVjZGE1NzgzY2JmMGNlMDZjYWZlOWE0ODdlMGE4NGIuLjM1NWRjNGY0
M2NlODk4MjI4MzkzMjFjOTZiZDRlYjQ4N2QxMjdiNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qy5oCkBAIC0xMTUsNyArMTE1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c1NjYW5uaW5nKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0
dXJhbFNpemUoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFs
U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBib29sIGhhc1ZpZGVvKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGhhc0F1ZGlvKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC0xNDAsOCArMTQwLDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXpl
KGNvbnN0IEludFNpemUmKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lk
IHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJl
Y3QmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHBhaW50Q3VycmVu
dEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJy
aWRlOwogCiAgICAgdmlydHVhbCBib29sIGhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoKSBjb25zdCBv
dmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGRhYjQ2N2VjZmI1NGQ2
ODA5OTM1MDU5ZjgzNGNkODM2NjIyMWIyOTYuLmNjMjE3YzgwODA5YWNhN2E2ZDJhZjYzM2E3OGY3
YzcwYWFmY2NmNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTM0NSwxMCArMzQ1
LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRNdXRl
ZChib29sIG11dGVkKQogICAgICAgICBbKml0IHNldE11dGVkOm11dGVkXTsKIH0KIAotSW50U2l6
ZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKCkgY29u
c3QKK0Zsb2F0U2l6ZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVy
YWxTaXplKCkgY29uc3QKIHsKICAgICBpZiAoIW1fbWVkaWFTb3VyY2VQcml2YXRlKQotICAgICAg
ICByZXR1cm4gSW50U2l6ZSgpOworICAgICAgICByZXR1cm4gRmxvYXRTaXplKCk7CiAKICAgICBy
ZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUtPm5hdHVyYWxTaXplKCk7CiB9CkBAIC01MTIsMTIg
KzUxMiwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0
U2l6ZShjb25zdCBJbnRTaXplJikKICAgICAvLyBOby1vcC4KIH0KIAotdm9pZCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEludFJlY3QmKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBh
aW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpCiB7CiAgICAgLy8gRklYTUUo
MTI1MTU3KTogSW1wbGVtZW50IHBhaW50aW5nLgogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3ND
b250ZXh0KiwgY29uc3QgSW50UmVjdCYpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRSZWN0JikKIHsKICAgICAvLyBGSVhNRSgxMjUxNTcpOiBJbXBsZW1lbnQgcGFp
bnRpbmcuCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmgKaW5kZXggNWY5ZmE0ZDhlYTIyZGJiZTNjZGZmNjQwZTJhNTZiZWRiZGY0ZTg5
OC4uM2RlOTVhMmI4ZjdmOWViM2Q4NGQ5NDRmNDNkYzZlZGI4NjkyYjdhZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaApAQCAtNzUs
NyArNzUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1l
Jik7CiAgICAgTWVkaWFUaW1lIGZhc3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRp
bWUmLCBjb25zdCBNZWRpYVRpbWUmIG5lZ2F0aXZlVGhyZXNob2xkLCBjb25zdCBNZWRpYVRpbWUm
IHBvc2l0aXZlVGhyZXNob2xkKTsKLSAgICBJbnRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Q7Cisg
ICAgRmxvYXRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQyhNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMq
LCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCmluZGV4IGVlMzZmOGI3YWQ0NWI4Yjg1
ZTAwNzM1NmNiMDJhNDYwMTc1NTBlZTMuLjgwMTdlMTlkYTJjY2UzNjI5MTg3YjlkY2U3M2VmNDkx
MTVlNTRjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5tbQpAQCAtMTk4LDkgKzE5OCw5IEBAIE1lZGlhVGltZSBNZWRpYVNvdXJj
ZVByaXZhdGVBVkZPYmpDOjpmYXN0U2Vla1RpbWVGb3JNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1l
JiB0CiAgICAgcmV0dXJuIHNlZWtUaW1lOwogfQogCi1JbnRTaXplIE1lZGlhU291cmNlUHJpdmF0
ZUFWRk9iakM6Om5hdHVyYWxTaXplKCkgY29uc3QKK0Zsb2F0U2l6ZSBNZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7Ci0gICAgSW50U2l6ZSByZXN1bHQ7Cisg
ICAgRmxvYXRTaXplIHJlc3VsdDsKIAogICAgIGZvciAoYXV0byogc291cmNlQnVmZmVyIDogbV9h
Y3RpdmVTb3VyY2VCdWZmZXJzKQogICAgICAgICByZXN1bHQgPSByZXN1bHQuZXhwYW5kZWRUbyhz
b3VyY2VCdWZmZXItPm5hdHVyYWxTaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKaW5kZXggNDhlNDIzMDNkMzVlZjFjZmFh
NTgxNWM3NmIzNzljNGY5NWRkNWMxNi4uNDk0YWVmYWIwYzJmMGJkNGZjMWNmZmQzMGUzYWQwOGJh
MmEzMDEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQy5oCkBAIC05Myw3ICs5Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Vl
a1RvVGltZShNZWRpYVRpbWUpOwogICAgIE1lZGlhVGltZSBmYXN0U2Vla1RpbWVGb3JNZWRpYVRp
bWUoTWVkaWFUaW1lLCBNZWRpYVRpbWUgbmVnYXRpdmVUaHJlc2hvbGQsIE1lZGlhVGltZSBwb3Np
dGl2ZVRocmVzaG9sZCk7Ci0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpOworICAgIEZsb2F0U2l6
ZSBuYXR1cmFsU2l6ZSgpOwogCiAgICAgaW50IHByb3RlY3RlZFRyYWNrSUQoKSBjb25zdCB7IHJl
dHVybiBtX3Byb3RlY3RlZFRyYWNrSUQ7IH0KICAgICBBVlN0cmVhbURhdGFQYXJzZXIqIHBhcnNl
cigpIGNvbnN0IHsgcmV0dXJuIG1fcGFyc2VyLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4IDVkOGE1NjRi
NjI5OGUzMDFjYmQ4YzhmODZiYjc2YTg0NzM1ZWQzZTMuLmY3OTlkYjI5Mjg3ZDk1ZjkxNTkxYTBl
MDc2NGM4OWUzZTUzNWYxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1Nv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCkBAIC04OTAsNiArODkwLDkgQEAgdm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6dHJhY2tEaWRDaGFuZ2VFbmFibGVkKFZpZGVvVHJhY2tQ
cml2YXRlTWVkaWFTb3UKICAgICAgICAgW21fcGFyc2VyIHNldFNob3VsZFByb3ZpZGVNZWRpYURh
dGE6WUVTIGZvclRyYWNrSUQ6dHJhY2tJRF07CiAgICAgICAgIGlmICghbV9kaXNwbGF5TGF5ZXIp
IHsKICAgICAgICAgICAgIG1fZGlzcGxheUxheWVyID0gYWRvcHROUyhbYWxsb2NBVlNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllckluc3RhbmNlKCkgaW5pdF0pOworI2lmbmRlZiBOREVCVUcKKyAgICAg
ICAgICAgIFttX2Rpc3BsYXlMYXllciBzZXROYW1lOkAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akMgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIiXTsKKyNlbmRpZgogICAgICAgICAgICAgW21f
ZGlzcGxheUxheWVyIHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlOmRpc3BhdGNoX2dl
dF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpeewogICAgICAgICAgICAgICAgIGRpZEJlY29tZVJl
YWR5Rm9yTW9yZVNhbXBsZXModHJhY2tJRCk7CiAgICAgICAgICAgICB9XTsKQEAgLTEwNzYsOSAr
MTA3OSw5IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnNlZWtUb1RpbWUoTWVk
aWFUaW1lIHRpbWUpCiAgICAgICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlU2Vla1Rv
VGltZSh0aGlzLCB0aW1lKTsKIH0KIAotSW50U2l6ZSBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qzo6bmF0dXJhbFNpemUoKQorRmxvYXRTaXplIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpu
YXR1cmFsU2l6ZSgpCiB7Ci0gICAgcmV0dXJuIHJvdW5kZWRJbnRTaXplKG1fY2FjaGVkU2l6ZSk7
CisgICAgcmV0dXJuIG1fY2FjaGVkU2l6ZTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQzo6ZGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyhpbnQgdHJhY2tJRCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQy5oCmluZGV4IDM4NGU5NWQ4YmViNTI1N2Q2YTU4Y2I1NGM2MDc4NDYwMTYx
MmQ5ZmMuLmRiMTk1M2Y2ZDczNWI0YTI2YWU2MjM0YzE1ZDdjMmNiYzA2M2EyNzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1Zp
ZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAKICAgICBpbnQgdHJh
Y2tJRCgpIHsgcmV0dXJuIG1fdHJhY2tJRDsgfQogCi0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgp
IGNvbnN0OworICAgIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0OwogCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKEFWQXNzZXRU
cmFjayosIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKiBwYXJlbnQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9U
cmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbQppbmRleCA5YmVmZGE0MTU0Y2Y5NDE0M2IwOTVkNWI5YTAwN2Y5NGJjZTQ1M2Zj
Li5mY2MyNDk2YTEzNWFhNGY3M2E4ZmU1NDhkMTRlMGM4MDAwNGFkMWIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1Ry
YWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQpAQCAtODAsOSArODAsOSBAQCB2b2lkIFZpZGVvVHJhY2tQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpzZXRTZWxlY3RlZChib29sIHNlbGVjdGVkKQogICAgIG1fcGFyZW50
LT50cmFja0RpZENoYW5nZUVuYWJsZWQodGhpcyk7CiB9CiAKLUludFNpemUgVmlkZW9UcmFja1By
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKCkgY29uc3QKK0Zsb2F0U2l6ZSBW
aWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bmF0dXJhbFNpemUoKSBjb25zdAog
ewotICAgIHJldHVybiBJbnRTaXplKFthc3NldFRyYWNrKCkgbmF0dXJhbFNpemVdKTsKKyAgICBy
ZXR1cm4gRmxvYXRTaXplKFthc3NldFRyYWNrKCkgbmF0dXJhbFNpemVdKTsKIH0KIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQuaAppbmRleCA4ZmNhODdmYjEwNWI3MGFhOTVmNWM1MmRkYmJi
YWFiNzRmMWVjMTE4Li42OTgyYzk5MWY5MmZmMzEzZDJkYmMzMTM2MTM4ZGQ1NmM0MDZjMTE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5
ZXJQcml2YXRlUVRLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaApAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgog
ICAgIFBsYXRmb3JtTWVkaWEgcGxhdGZvcm1NZWRpYSgpIGNvbnN0OwogICAgIFBsYXRmb3JtTGF5
ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdDsKIAotICAgIEludFNpemUgbmF0dXJhbFNpemUoKSBj
b25zdDsKKyAgICBGbG9hdFNpemUgbmF0dXJhbFNpemUoKSBjb25zdCBvdmVycmlkZTsKICAgICBi
b29sIGhhc1ZpZGVvKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0OwogICAgIGJv
b2wgc3VwcG9ydHNGdWxsc2NyZWVuKCkgY29uc3Q7CkBAIC0xMjQsOCArMTI0LDggQEAgcHJpdmF0
ZToKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0
OwogCi0gICAgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7Ci0g
ICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBJbnRSZWN0Jik7CisgICAgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9h
dFJlY3QmKTsKKyAgICB2b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlRm9yUmVu
ZGVyaW5nKCk7CiAKICAgICBib29sIHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRp
YVBsYXllclByaXZhdGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5ZmE5NzE4NDJmNWVmM2ExNDhm
ZmI1NzdjYjJhNWNlM2ExOWU2M2RlLi5hY2ExMzA3MGMyNDFhYmY5N2I2ZGU2ZjU4NGYyZTU0NDBj
MzBhZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC03MDksMTAgKzcwOSwx
MCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzZWVraW5nKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9zZWVrVG8gPj0gTWVkaWFUaW1lOjp6ZXJvVGltZSgpOwogfQogCi1JbnRTaXplIE1l
ZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQ6Om5hdHVyYWxTaXplKCkgY29uc3QKIHsKICAgICBpZiAoIW1l
dGFEYXRhQXZhaWxhYmxlKCkpCi0gICAgICAgIHJldHVybiBJbnRTaXplKCk7CisgICAgICAgIHJl
dHVybiBGbG9hdFNpemUoKTsKIAogICAgIC8vIEluIHNwaXRlIG9mIHRoZSBuYW1lIG9mIHRoaXMg
bWV0aG9kLCByZXR1cm4gUVRNb3ZpZU5hdHVyYWxTaXplQXR0cmlidXRlIHRyYW5zZm9ybWVkIGJ5
IHRoZSAKICAgICAvLyBpbml0aWFsIG1vdmllIHNjYWxlIGJlY2F1c2UgdGhlIHNwZWMgc2F5cyBp
bnRyaW5zaWMgc2l6ZSBpczoKQEAgLTczMiw4ICs3MzIsOSBAQCBJbnRTaXplIE1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiAgICAgICAgIC8vIGV2ZW50IHdoZW4g
dGhpcyBoYXBwZW5zLCBzbyB3ZSBtdXN0IGNhY2hlIHRoZSBsYXN0IHZhbGlkIG5hdHVyYWxTaXpl
IGhlcmU6CiAgICAgICAgIG1fY2FjaGVkTmF0dXJhbFNpemUgPSBuYXR1cmFsU2l6ZTsKICAgICB9
Ci0gICAgICAgIAotICAgIHJldHVybiBJbnRTaXplKG5hdHVyYWxTaXplLndpZHRoKCkgKiBtX3Nj
YWxlRmFjdG9yLndpZHRoKCksIG5hdHVyYWxTaXplLmhlaWdodCgpICogbV9zY2FsZUZhY3Rvci5o
ZWlnaHQoKSk7CisgICAgCisgICAgbmF0dXJhbFNpemUuc2NhbGUobV9zY2FsZUZhY3Rvci53aWR0
aCgpLCBtX3NjYWxlRmFjdG9yLmhlaWdodCgpKTsKKyAgICByZXR1cm4gbmF0dXJhbFNpemU7CiB9
CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6Omhhc1ZpZGVvKCkgY29uc3QKQEAgLTEx
ODEsNyArMTE4Miw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnJlcGFpbnQoKQog
ICAgIG1fcGxheWVyLT5yZXBhaW50KCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRL
aXQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgSW50UmVjdCYgcikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50Q3Vy
cmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRS
ZWN0JiByKQogewogICAgIGlkIHF0VmlkZW9SZW5kZXJlciA9IG1fcXRWaWRlb1JlbmRlcmVyLmdl
dCgpOwogICAgIGlmICghcXRWaWRlb1JlbmRlcmVyICYmIGN1cnJlbnRSZW5kZXJpbmdNb2RlKCkg
PT0gTWVkaWFSZW5kZXJpbmdNb3ZpZUxheWVyKSB7CkBAIC0xMTk1LDcgKzExOTYsNyBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFw
aGljc0NvbnRleHQqIGNvbnRleAogICAgIHBhaW50KGNvbnRleHQsIHIpOwogfQogCi12b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEludFJlY3QmIHIpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludChHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBpZiAoY29u
dGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpIHx8IG1faGFzVW5zdXBwb3J0ZWRUcmFja3MpCiAgICAg
ICAgIHJldHVybjsKQEAgLTEyMDcsNyArMTIwOCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
UVRLaXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcikK
ICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAgICAgTlNHcmFwaGljc0NvbnRleHQq
IG5ld0NvbnRleHQ7CiAgICAgRmxvYXRTaXplIHNjYWxlRmFjdG9yKDEuMGYsIC0xLjBmKTsKLSAg
ICBJbnRSZWN0IHBhaW50UmVjdChJbnRQb2ludCgwLCAwKSwgSW50U2l6ZShyLndpZHRoKCksIHIu
aGVpZ2h0KCkpKTsKKyAgICBGbG9hdFJlY3QgcGFpbnRSZWN0KEZsb2F0UG9pbnQoKSwgci5zaXpl
KCkpOwogCiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCpjb250ZXh0
KTsKICAgICBjb250ZXh0LT50cmFuc2xhdGUoci54KCksIHIueSgpICsgci5oZWlnaHQoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCmluZGV4IDIwNDgwNGY5
NTVmZDAzZmYwMTY0ODM2NDU5YTdhMDRhNDQ3NDhiMGMuLmI5YTFhNDhlYjkwMjcyNDk4ODE0NDk1
N2ZlYWFjYjJiNTYyODYwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFT
b3VyY2UuY3BwCkBAIC0xMTgsOSArMTE4LDkgQEAgdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNv
dXJjZTo6cGF1c2UoKQogICAgIG1fcGxheWluZyA9IDA7CiB9CiAKLUludFNpemUgTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2U6Om5hdHVyYWxTaXplKCkgY29uc3QKK0Zsb2F0U2l6ZSBNb2NrTWVk
aWFQbGF5ZXJNZWRpYVNvdXJjZTo6bmF0dXJhbFNpemUoKSBjb25zdAogewotICAgIHJldHVybiBJ
bnRTaXplKCk7CisgICAgcmV0dXJuIEZsb2F0U2l6ZSgpOwogfQogCiBib29sIE1vY2tNZWRpYVBs
YXllck1lZGlhU291cmNlOjpoYXNWaWRlbygpIGNvbnN0CkBAIC0xNzksNyArMTc5LDcgQEAgdm9p
ZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c2V0U2l6ZShjb25zdCBJbnRTaXplJikKIHsK
IH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6cGFpbnQoR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgSW50UmVjdCYpCit2b2lkIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpw
YWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBs
YXllck1lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKaW5kZXggY2RlNjU2NjdkNTRlMDIwNWE4
YmExZjY3YWI0NTczMDNjN2ZjMDliZi4uMmFjNDJlODEyZDg4YzQyMTg5ZDFiNDVlMTNjNjMyZGFm
NWJiNDIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaApAQCAt
NjMsNyArNjMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxMb2FkKCkgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgcGF1c2UoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBj
b25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgYm9vbCBoYXNBdWRpbygpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCBzZXRWaXNpYmxlKGJvb2wpIG92ZXJyaWRlOwpAQCAtNzQsNyArNzQsNyBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVy
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNz
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6
ZSYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0Jikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNz
Q29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgTWVkaWFU
aW1lIGN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIE1lZGlh
VGltZSBkdXJhdGlvbk1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCBzZWVrV2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmLCBj
b25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWRlby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VmlkZW8uY3BwCmluZGV4IDU3MDQ1MWQ0YjAxZWMxZjhhOWI3YmI3ZmZiMzgxMGRkMTg3N2FlYjAu
LjA5ZTFjYWNkN2RkNGEyMGExN2JkZDZmZjFjN2E2NjUxMTk3MDc5MDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIExheW91dFNp
emUgUmVuZGVyVmlkZW86OmNhbGN1bGF0ZUludHJpbnNpY1NpemUoKQogICAgIC8vIGhlaWdodCBv
ZiB0aGUgcG9zdGVyIGZyYW1lLCBpZiB0aGF0IGlzIGF2YWlsYWJsZTsgb3RoZXJ3aXNlIGl0IGlz
IDE1MCBDU1MgcGl4ZWxzLgogICAgIE1lZGlhUGxheWVyKiBwbGF5ZXIgPSB2aWRlb0VsZW1lbnQo
KS5wbGF5ZXIoKTsKICAgICBpZiAocGxheWVyICYmIHZpZGVvRWxlbWVudCgpLnJlYWR5U3RhdGUo
KSA+PSBIVE1MVmlkZW9FbGVtZW50OjpIQVZFX01FVEFEQVRBKSB7Ci0gICAgICAgIExheW91dFNp
emUgc2l6ZSA9IHBsYXllci0+bmF0dXJhbFNpemUoKTsKKyAgICAgICAgTGF5b3V0U2l6ZSBzaXpl
KHBsYXllci0+bmF0dXJhbFNpemUoKSk7CiAgICAgICAgIGlmICghc2l6ZS5pc0VtcHR5KCkpCiAg
ICAgICAgICAgICByZXR1cm4gc2l6ZTsKICAgICB9CkBAIC0xODksOSArMTg5LDkgQEAgdm9pZCBS
ZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5
b3V0UG9pbnQmIHBhaW50T2YKICAgICBpZiAoZGlzcGxheWluZ1Bvc3RlcikKICAgICAgICAgcGFp
bnRJbnRvUmVjdChjb250ZXh0LCByZWN0KTsKICAgICBlbHNlIGlmICh2aWV3KCkuZnJhbWVWaWV3
KCkucGFpbnRCZWhhdmlvcigpICYgUGFpbnRCZWhhdmlvckZsYXR0ZW5Db21wb3NpdGluZ0xheWVy
cykKLSAgICAgICAgbWVkaWFQbGF5ZXItPnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KGNvbnRl
eHQsIHNuYXBwZWRJbnRSZWN0KHJlY3QpKTsKKyAgICAgICAgbWVkaWFQbGF5ZXItPnBhaW50Q3Vy
cmVudEZyYW1lSW5Db250ZXh0KGNvbnRleHQsIHJlY3QpOwogICAgIGVsc2UKLSAgICAgICAgbWVk
aWFQbGF5ZXItPnBhaW50KGNvbnRleHQsIHNuYXBwZWRJbnRSZWN0KHJlY3QpKTsKKyAgICAgICAg
bWVkaWFQbGF5ZXItPnBhaW50KGNvbnRleHQsIHJlY3QpOwogfQogCiB2b2lkIFJlbmRlclZpZGVv
OjpsYXlvdXQoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247587</attachid>
            <date>2015-02-27 20:57:30 -0800</date>
            <delta_ts>2015-02-27 22:19:53 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-142122-20150227205715.patch</filename>
            <type>text/plain</type>
            <size>86813</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVjMTA3YzE0ZGRhNzFi
YzY3YWJhZDZhZWNhOTQzNjQxMjlkOWU4Yy4uMzhkNmVmZjYwNTZmZGJlOTcwNmQ0Njg4ODhjZjY2
NzdkNDhmOTA2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDE1LTAyLTI3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4g
dmlkZW8gbGF5ZXJzIGFyZSBvZmYgYnkgb25lIHNvbWV0aW1lcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMTIyCisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzE5ODc4ODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29udmVydCBNZWRpYVBsYXllcjo6bmF0dXJhbFNpemUoKSB0byByZXR1cm4gYSBGbG9h
dFNpemUsIHNpbmNlIHRoZSBuYXR1cmFsIHNpemUKKyAgICAgICAgaXNuJ3QgYWx3YXlzIGludGVn
cmFsIChiZWNhdXNlIG9mIHByZXNlcnZpbmcgcGl4ZWwgcmF0aW8gZXRjKS4gRml4IGFsbCB0aGUg
bWVkaWEKKyAgICAgICAgYmFja2VuZHMgdG8gdXNlIEZsb2F0U2l6ZXMgZm9yIG5hdHVyYWwgc2l6
ZS4gQ29udmVydCB0aGUgdmlkZW8gaW1hZ2UgZHJhd2luZyBjb2RlCisgICAgICAgIHBhdGhzIHRv
IEZsb2F0U2l6ZSwgc2luY2UgbmF0dXJhbFNpemUgaXMgdXNlZCBvbiB0aGUgZGVzdGluYXRpb24g
cmVjdCBjb21wdXRhdGlvbiwKKyAgICAgICAgYW5kIHBhaW50aW5nIHNob3VsZCBiZSBmbG9hdGlu
ZyBwb2ludCBhbnl3YXkuCisgICAgICAgIAorICAgICAgICBHaXZlIHRoZSBsYXllciBjcmVhdGVk
IGJ5IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDIGEgbmFtZSBpbiBkZWJ1ZyBidWlsZHMuCisK
KyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFZpZGVvRWxlbWVudDo6dmlkZW9XaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlk
ZW9FbGVtZW50Ojp2aWRlb0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVt
ZW50OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dCk6CisgICAgICAgICogaHRtbC9IVE1MVmlk
ZW9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9GcmFtZVRvSW1hZ2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRp
YVBsYXllclByaXZhdGU6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyOjpuYXR1cmFsU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cGFpbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnBhaW50Q3VycmVudEZyYW1lSW5Db250
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRpYVBsYXllclByaXZhdGU6OnBhaW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpwYWludEN1cnJlbnRGcmFtZUlu
Q29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6c2V0TmF0dXJhbFNpemUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50V2l0aEltYWdl
R2VuZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0cmFja3NDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNpemVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akM6OnBhaW50V2l0aFZpZGVvT3V0cHV0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGFpbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYWlu
dEN1cnJlbnRGcmFtZUluQ29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpuYXR1
cmFsU2l6ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVu
YWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6Om5h
dHVyYWxTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9UcmFja1ByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6bmF0dXJhbFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bmF0dXJhbFNp
emUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnBhaW50
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5zaWNTaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpwYWludFJlcGxhY2VkKToKKwogMjAxNS0wMi0yNSAg
U2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NT
IEdyaWQgTGF5b3V0XSBUcmFja3MgZ3Jvd2luZyBiZXlvbmQgbGltaXRzIHdoZW4gdGhleSBzaG91
bGQgbm90CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCA4NDQ3
MTFkMmExM2RkZGQ2MmFkODY5NGM4ZjhlMDhjYzczMTIxYWI4Li5kMmQxOGMzODBhYzVhNjhiZDRh
MjdiNmUyZGU5OTJmMGM2ZTg0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxWaWRlb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKQEAgLTE3MSwxNCArMTcxLDE0IEBAIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6
OnZpZGVvV2lkdGgoKSBjb25zdAogewogICAgIGlmICghcGxheWVyKCkpCiAgICAgICAgIHJldHVy
biAwOwotICAgIHJldHVybiBwbGF5ZXIoKS0+bmF0dXJhbFNpemUoKS53aWR0aCgpOworICAgIHJl
dHVybiBjbGFtcFRvVW5zaWduZWQocGxheWVyKCktPm5hdHVyYWxTaXplKCkud2lkdGgoKSk7CiB9
CiAKIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6OnZpZGVvSGVpZ2h0KCkgY29uc3QKIHsKICAg
ICBpZiAoIXBsYXllcigpKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gcGxheWVyKCkt
Pm5hdHVyYWxTaXplKCkuaGVpZ2h0KCk7CisgICAgcmV0dXJuIGNsYW1wVG9VbnNpZ25lZChwbGF5
ZXIoKS0+bmF0dXJhbFNpemUoKS5oZWlnaHQoKSk7CiB9CiAKIGJvb2wgSFRNTFZpZGVvRWxlbWVu
dDo6aXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpIGNvbnN0CkBAIC0y
MzUsNyArMjM1LDcgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp1cGRhdGVEaXNwbGF5U3RhdGUo
KQogICAgICAgICBzZXREaXNwbGF5TW9kZShQb3N0ZXIpOwogfQogCi12b2lkIEhUTUxWaWRlb0Vs
ZW1lbnQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgSW50UmVjdCYgZGVzdFJlY3QpCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnBhaW50
Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCkKIHsKICAgICBNZWRpYVBsYXllciogcGxheWVyID0gSFRNTE1lZGlh
RWxlbWVudDo6cGxheWVyKCk7CiAgICAgaWYgKCFwbGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFZpZGVvRWxlbWVudC5oCmluZGV4IGFjZDQzODcyODY5ZTE0OTZlYjJkMDc4Y2JjYjNjYmVhM2Rk
Yjk3NmMuLjcwZjM0MGNjY2Y2NWVhMjE2YzE3ZWZiNzhhYTgzNTYxMDYzM2MyMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAgICAgLy8gVXNlZCBieSBjYW52YXMgdG8gZ2FpbiByYXcgcGl4ZWwgYWNjZXNz
Ci0gICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAogICAgIFBhc3NOYXRpdmVJbWFnZVB0
ciBuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQyZDRl
MzEyYzc4ZjM5ODE4NTVjY2U3ZGZhNjgwYjUwMTg2YmFiYWQuLmQ5OTYxZTFiZTVhZTZlNzdlNjkx
OWIzMTE0Y2UyNmNhYmRiMzFkMDQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtMTI4OCwxMSArMTI4OCwx
MSBAQCBzdGF0aWMgTGF5b3V0U2l6ZSBzaXplKEhUTUxJbWFnZUVsZW1lbnQqIGltYWdlLCBJbWFn
ZVNpemVUeXBlIHNpemVUeXBlKQogfQogCiAjaWYgRU5BQkxFKFZJREVPKQotc3RhdGljIEludFNp
emUgc2l6ZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbykKK3N0YXRpYyBGbG9hdFNpemUgc2l6ZShI
VE1MVmlkZW9FbGVtZW50KiB2aWRlbykKIHsKICAgICBpZiAoTWVkaWFQbGF5ZXIqIHBsYXllciA9
IHZpZGVvLT5wbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuIHBsYXllci0+bmF0dXJhbFNpemUoKTsK
LSAgICByZXR1cm4gSW50U2l6ZSgpOworICAgIHJldHVybiBGbG9hdFNpemUoKTsKIH0KICNlbmRp
ZgogCkBAIC0xNDg1LDggKzE0ODUsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLCBmbG9hdCB4LCBmbG9hdAogICAgICAg
ICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIElu
dFNpemUgcyA9IHNpemUodmlkZW8pOwotICAgIGRyYXdJbWFnZSh2aWRlbywgeCwgeSwgcy53aWR0
aCgpLCBzLmhlaWdodCgpLCBlYyk7CisgICAgRmxvYXRTaXplIHZpZGVvU2l6ZSA9IHNpemUodmlk
ZW8pOworICAgIGRyYXdJbWFnZSh2aWRlbywgeCwgeSwgdmlkZW9TaXplLndpZHRoKCksIHZpZGVv
U2l6ZS5oZWlnaHQoKSwgZWMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLApAQCAtMTQ5Niw4ICsxNDk2LDggQEAg
dm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZShIVE1MVmlkZW9FbGVtZW50
KiB2aWRlbywKICAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSAgICBJbnRTaXplIHMgPSBzaXplKHZpZGVvKTsKLSAgICBkcmF3SW1hZ2Uodmlk
ZW8sIEZsb2F0UmVjdCgwLCAwLCBzLndpZHRoKCksIHMuaGVpZ2h0KCkpLCBGbG9hdFJlY3QoeCwg
eSwgd2lkdGgsIGhlaWdodCksIGVjKTsKKyAgICBGbG9hdFNpemUgdmlkZW9TaXplID0gc2l6ZSh2
aWRlbyk7CisgICAgZHJhd0ltYWdlKHZpZGVvLCBGbG9hdFJlY3QoMCwgMCwgdmlkZW9TaXplLndp
ZHRoKCksIHZpZGVvU2l6ZS5oZWlnaHQoKSksIEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0
KSwgZWMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdlKEhU
TUxWaWRlb0VsZW1lbnQqIHZpZGVvLApAQCAtMTU1NCw3ICsxNTU0LDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgY29u
c3QgRmxvYXRSZWMKICAgICBjLT50cmFuc2xhdGUoZHN0UmVjdC54KCksIGRzdFJlY3QueSgpKTsK
ICAgICBjLT5zY2FsZShGbG9hdFNpemUoZHN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgp
LCBkc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKSkpOwogICAgIGMtPnRyYW5zbGF0
ZSgtc3JjUmVjdC54KCksIC1zcmNSZWN0LnkoKSk7Ci0gICAgdmlkZW8tPnBhaW50Q3VycmVudEZy
YW1lSW5Db250ZXh0KGMsIEludFJlY3QoSW50UG9pbnQoKSwgc2l6ZSh2aWRlbykpKTsKKyAgICB2
aWRlby0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoYywgRmxvYXRSZWN0KEZsb2F0UG9pbnQo
KSwgc2l6ZSh2aWRlbykpKTsKICAgICBzdGF0ZVNhdmVyLnJlc3RvcmUoKTsKICAgICBkaWREcmF3
KGRzdFJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCA0MGNkNjA0YzM1ZDg2Y2I2OGI3YmU5
Yjk5MzEzMTEwYWIzZTI5YjYwLi42OGMxNjcwZWU0OWE0Njg2YjYwMzZkOTBkNDhmZDA4NWY5YzU2
YWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMzI0NSw3ICszMjQ1LDcgQEAgUGFzc1JlZlB0cjxJ
bWFnZT4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9GcmFtZVRvSW1hZ2UoSFRNTFZp
ZGVvRWxlbWVudCoKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
Ok9VVF9PRl9NRU1PUlksICJ0ZXhJbWFnZTJEIiwgIm91dCBvZiBtZW1vcnkiKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEludFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6ZS53
aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKKyAgICBGbG9hdFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6
ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKICAgICAvLyBGSVhNRTogVHVybiB0aGlzIGludG8g
YSBHUFUtR1BVIHRleHR1cmUgY29weSBpbnN0ZWFkIG9mIENQVSByZWFkYmFjay4KICAgICB2aWRl
by0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoYnVmLT5jb250ZXh0KCksIGRlc3RSZWN0KTsK
ICAgICByZXR1cm4gYnVmLT5jb3B5SW1hZ2UoYmFja2luZ1N0b3JlQ29weSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggY2ZmZTgx
MDhkMjUxYjUwN2JiMWU1YjY5ZTZiNGI2NDA3NzMzNzExZC4uNWFhNjlkYzhiZmNhNmI4Y2I3ZTk3
NDQxZThlMGI3MzYzMmQ1MTg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdCB7IHJldHVybiBOb1BsYXRm
b3JtTWVkaWE7IH0KICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBj
b25zdCB7IHJldHVybiAwOyB9CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBj
b25zdCB7IHJldHVybiBJbnRTaXplKDAsIDApOyB9CisgICAgdmlydHVhbCBGbG9hdFNpemUgbmF0
dXJhbFNpemUoKSBjb25zdCB7IHJldHVybiBGbG9hdFNpemUoKTsgfQogCiAgICAgdmlydHVhbCBi
b29sIGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aGFzQXVkaW8oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTMxLDcgKzEzMSw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXplKGNvbnN0IEludFNpemUmKSB7IH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jikg
eyB9CisgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0
UmVjdCYpIG92ZXJyaWRlIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhbkxvYWRQb3N0ZXIoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3Qg
U3RyaW5nJikgeyB9CkBAIC01NDQsNyArNTQ0LDcgQEAgYm9vbCBNZWRpYVBsYXllcjo6cmVxdWly
ZXNJbW1lZGlhdGVDb21wb3NpdGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+cmVx
dWlyZXNJbW1lZGlhdGVDb21wb3NpdGluZygpOwogfQogCi1JbnRTaXplIE1lZGlhUGxheWVyOjpu
YXR1cmFsU2l6ZSgpCitGbG9hdFNpemUgTWVkaWFQbGF5ZXI6Om5hdHVyYWxTaXplKCkKIHsKICAg
ICByZXR1cm4gbV9wcml2YXRlLT5uYXR1cmFsU2l6ZSgpOwogfQpAQCAtNzMzLDEyICs3MzMsMTIg
QEAgdm9pZCBNZWRpYVBsYXllcjo6c2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVs
b2FkKQogICAgIG1fcHJpdmF0ZS0+c2V0UHJlbG9hZChwcmVsb2FkKTsKIH0KIAotdm9pZCBNZWRp
YVBsYXllcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJbnRSZWN0JiByKQordm9p
ZCBNZWRpYVBsYXllcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBGbG9hdFJlY3Qm
IHIpCiB7CiAgICAgbV9wcml2YXRlLT5wYWludChwLCByKTsKIH0KIAotdm9pZCBNZWRpYVBsYXll
cjo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJ
bnRSZWN0JiByKQordm9pZCBNZWRpYVBsYXllcjo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQo
R3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CiAgICAgbV9wcml2YXRl
LT5wYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChwLCByKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGI3ZjYwNWFiYjY1ODNlMGE2
ZjhmNDBjYTFjMjZiNmI1NWI4YzQ1MDIuLmVlZmJmYzI5N2M1ZmM4NWRhM2Q2OTI0OTNjZGFhYzBh
Nzc4OTUzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMzExLDcgKzMxMSw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZXJyb3JMb2co
KSBjb25zdDsKICNlbmRpZgogCi0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpOworICAgIEZsb2F0
U2l6ZSBuYXR1cmFsU2l6ZSgpOwogICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdDsKICAgICBib29s
IGhhc0F1ZGlvKCkgY29uc3Q7CiAKQEAgLTM5MSw4ICszOTEsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBhdXRvcGxheSgpIGNvbnN0OwogICAgIHZvaWQgc2V0QXV0b3BsYXkoYm9vbCk7CiAKLSAgICB2
b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKLSAgICB2b2lkIHBh
aW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3Qm
KTsKKyAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwor
ICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgRmxvYXRSZWN0Jik7CiAKICAgICAvLyBjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRleHR1
cmUoKSBpcyB1c2VkIHRvIGRvIHRoZSBHUFUtR1BVIHRleHR1cmVzIGNvcHkgd2l0aG91dCBhIHJl
YWRiYWNrIHRvIHN5c3RlbSBtZW1vcnkuCiAgICAgLy8gVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVy
cyBkZW5vdGUgdGhlIGNvcnJlc3BvbmRpbmcgR3JhcGhpY3NDb250ZXh0LCBkZXN0aW5hdGlvbiB0
ZXh0dXJlLCByZXF1ZXN0ZWQgbGV2ZWwsIHJlcXVlc3RlZCB0eXBlIGFuZCB0aGUgcmVxdWlyZWQg
aW50ZXJuYWxGb3JtYXQgZm9yIGRlc3RpbmF0aW9uIHRleHR1cmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IDc3
ZjY0YjI0OTU4MDdhZDUyZmMxM2YwZTUyMWY2NWIwMWVmZDdiNTUuLjRmMjM5MGE1YjgxYzgwOTA2
ZTVjYjMyYzEwY2JkNTg4YTBjYjA1YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC03NCw3ICs3NCw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0gMDsKIAogICAg
IHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFz
QXVkaW8oKSBjb25zdCA9IDA7CkBAIC0xMzcsOSArMTM3LDkgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6ZSYpID0gMDsKIAotICAgIHZpcnR1YWwgdm9p
ZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250
ZXh0KiBjLCBjb25zdCBJbnRSZWN0JiByKSB7IHBhaW50KGMsIHIpOyB9CisgICAgdmlydHVhbCB2
b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogYywgY29uc3Qg
RmxvYXRSZWN0JiByKSB7IHBhaW50KGMsIHIpOyB9CiAgICAgdmlydHVhbCBib29sIGNvcHlWaWRl
b1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRCosIFBsYXRmb3JtM0RP
YmplY3QsIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEZW51bSwgYm9vbCwgYm9vbCkgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICB2aXJ0dWFsIFBhc3NOYXRpdmVJbWFnZVB0ciBuYXRpdmVJbWFnZUZvckN1
cnJlbnRUaW1lKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCmluZGV4IDg4MzAzMWE5ZTUw
YTgzYTVmMDA0ZDIwOTA4YzQxOTkxZDU0YjA2YTIuLmZlMzcxMTA5MDk5YzJiMzFmZjFjNWNjZTI3
NzY3MGRiNzYyY2YwMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0zMDcsNyArMzA3LDcgQEAgYm9vbCBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246OnNlZWtpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3Nl
ZWtpbmc7CiB9CiAKLUludFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpuYXR1
cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpKQog
ICAgICAgICByZXR1cm4gSW50U2l6ZSgpOwpAQCAtMzIyLDExICszMjIsMTEgQEAgSW50U2l6ZSBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9jYWNoZWROYXR1cmFsU2l6ZTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb246OnNldE5hdHVyYWxTaXplKEludFNpemUgc2l6ZSkKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpzZXROYXR1cmFsU2l6ZShGbG9hdFNpemUgc2l6ZSkKIHsK
LSAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246c2V0TmF0dXJh
bFNpemUoJXApIC0gc2l6ZSA9ICVkIHggJWQiLCB0aGlzLCBzaXplLndpZHRoKCksIHNpemUuaGVp
Z2h0KCkpOworICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjpz
ZXROYXR1cmFsU2l6ZSglcCkgLSBzaXplID0gJWYgeCAlZiIsIHRoaXMsIHNpemUud2lkdGgoKSwg
c2l6ZS5oZWlnaHQoKSk7CiAKLSAgICBJbnRTaXplIG9sZFNpemUgPSBtX2NhY2hlZE5hdHVyYWxT
aXplOworICAgIEZsb2F0U2l6ZSBvbGRTaXplID0gbV9jYWNoZWROYXR1cmFsU2l6ZTsKICAgICBt
X2NhY2hlZE5hdHVyYWxTaXplID0gc2l6ZTsKICAgICBpZiAob2xkU2l6ZSAhPSBtX2NhY2hlZE5h
dHVyYWxTaXplKQogICAgICAgICBtX3BsYXllci0+c2l6ZUNoYW5nZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCBlZjYy
MWFkN2E1NjBkNjEzNmMxY2E0ZjdiZGIwMGIyNTZlYTYwYmI0Li5jMGRkNDdlNGNkMmIwMzllYWY4
NGQ0YjQyOTBiZDhjNTliZmI0YTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBwbGF5KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHBh
dXNlKCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25z
dCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fY2FjaGVkSGFzVmlkZW87IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzQXVkaW8oKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2NhY2hlZEhhc0F1ZGlvOyB9CiAgICAgdmlydHVhbCB2b2lk
IHNldFZpc2libGUoYm9vbCkgb3ZlcnJpZGU7CkBAIC0xODEsOCArMTgxLDggQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVy
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNz
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6
ZSYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUlu
Q29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4
dCosIGNvbnN0IEZsb2F0UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJlbG9hZChN
ZWRpYVBsYXllcjo6UHJlbG9hZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVy
KiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgYm9vbCBz
dXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgY29uc3QgPSAwOwpAQCAtMjY1LDcgKzI2NSw3
IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldERlbGF5Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZE5v
dGlmaWNhdGlvbihib29sKTsKICAgICB2b2lkIHNldERlbGF5Q2FsbGJhY2tzKGJvb2wpIGNvbnN0
OwogICAgIHZvaWQgc2V0SWdub3JlTG9hZFN0YXRlQ2hhbmdlcyhib29sIGRlbGF5KSB7IG1faWdu
b3JlTG9hZFN0YXRlQ2hhbmdlcyA9IGRlbGF5OyB9Ci0gICAgdm9pZCBzZXROYXR1cmFsU2l6ZShJ
bnRTaXplKTsKKyAgICB2b2lkIHNldE5hdHVyYWxTaXplKEZsb2F0U2l6ZSk7CiAgICAgYm9vbCBp
c0xpdmVTdHJlYW0oKSBjb25zdCB7IHJldHVybiBzdGQ6OmlzaW5mKGR1cmF0aW9uKCkpOyB9CiAK
ICAgICBlbnVtIE1lZGlhUmVuZGVyaW5nTW9kZSB7IE1lZGlhUmVuZGVyaW5nTm9uZSwgTWVkaWFS
ZW5kZXJpbmdUb0NvbnRleHQsIE1lZGlhUmVuZGVyaW5nVG9MYXllciB9OwpAQCAtMzIwLDcgKzMy
MCw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fYXNzZXRVUkw7CiAgICAgTWVkaWFQbGF5ZXI6
OlByZWxvYWQgbV9wcmVsb2FkOwogCi0gICAgSW50U2l6ZSBtX2NhY2hlZE5hdHVyYWxTaXplOwor
ICAgIEZsb2F0U2l6ZSBtX2NhY2hlZE5hdHVyYWxTaXplOwogICAgIG11dGFibGUgTWVkaWFUaW1l
IG1fY2FjaGVkTWF4VGltZUxvYWRlZDsKICAgICBtdXRhYmxlIE1lZGlhVGltZSBtX2NhY2hlZE1h
eFRpbWVTZWVrYWJsZTsKICAgICBtdXRhYmxlIE1lZGlhVGltZSBtX2NhY2hlZE1pblRpbWVTZWVr
YWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAppbmRleCAwZWEwZGUwOTZiYjliZDZiYzA3MjI2MTE3
MzA3NjY5NzE2NWIzOGViLi43MDEzNjAzMTFiYzUwMDBiZmNhYTViMzNhMGRiZWVlNjBlZjE3OGQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCkBAIC0xNTAsOCArMTUwLDggQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIE1lZGlhVGltZSBjdXJyZW50TWVkaWFUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHNldFZvbHVtZShmbG9hdCk7CiAgICAgdmlydHVhbCB2b2lkIHNldENs
b3NlZENhcHRpb25zVmlzaWJsZShib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJl
bnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7CisgICAg
dmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwor
ICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRm
b3JtTGF5ZXIoKSBjb25zdDsKICNpZiBQTEFURk9STShJT1MpCiAgICAgdmlydHVhbCB2b2lkIHNl
dFZpZGVvRnVsbHNjcmVlbkxheWVyKFBsYXRmb3JtTGF5ZXIqKTsKQEAgLTIxNyw4ICsyMTcsOCBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjcmVhdGVJbWFnZUdlbmVyYXRvcigpOwogICAgIHZvaWQg
ZGVzdHJveUltYWdlR2VuZXJhdG9yKCk7Ci0gICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0
ZUltYWdlRm9yVGltZUluUmVjdChmbG9hdCwgY29uc3QgSW50UmVjdCYpOwotICAgIHZvaWQgcGFp
bnRXaXRoSW1hZ2VHZW5lcmF0b3IoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwor
ICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoZmxvYXQs
IGNvbnN0IEZsb2F0UmVjdCYpOworICAgIHZvaWQgcGFpbnRXaXRoSW1hZ2VHZW5lcmF0b3IoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7CiAKICNpZiBIQVZFKEFWRk9VTkRBVElP
Tl9WSURFT19PVVRQVVQpCiAgICAgdm9pZCBjcmVhdGVWaWRlb091dHB1dCgpOwpAQCAtMjI2LDcg
KzIyNiw3IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IGNyZWF0
ZVBpeGVsQnVmZmVyKCk7CiAgICAgdm9pZCB1cGRhdGVMYXN0SW1hZ2UoKTsKICAgICBib29sIHZp
ZGVvT3V0cHV0SGFzQXZhaWxhYmxlRnJhbWUoKTsKLSAgICB2b2lkIHBhaW50V2l0aFZpZGVvT3V0
cHV0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKKyAgICB2b2lkIHBhaW50V2l0
aFZpZGVvT3V0cHV0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZp
cnR1YWwgUGFzc05hdGl2ZUltYWdlUHRyIG5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKSBvdmVy
cmlkZTsKICAgICB2b2lkIHdhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0YVdpbGxDaGFuZ2UoKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggODIyNmU4MGZiZTZjYWQ2ODEzZWE4
ODUyODI4NDIwYTY0NTVkMTQ1Ny4uY2JmNGVlOTNkYTA0ODJkZjc0ZDRjN2E5YzAwMmY2Zjc2Mzll
YzcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC0xNDY2LDcgKzE0NjYsNyBAQCBsb25n
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmFzc2V0RXJyb3JDb2RlKCkgY29u
c3QKICAgICByZXR1cm4gW2Vycm9yIGNvZGVdOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKCFtZXRh
RGF0YUF2YWlsYWJsZSgpIHx8IGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtMTQ4Nyw3ICsxNDg3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnQKICAg
ICBtX3ZpZGVvRnJhbWVIYXNEcmF3biA9IHRydWU7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBJbnRSZWN0JiByZWN0KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkK
IHsKICAgICBpZiAoIW1ldGFEYXRhQXZhaWxhYmxlKCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNh
YmxlZCgpKQogICAgICAgICByZXR1cm47CkBAIC0xNTAzLDcgKzE1MDMsNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgSQogICAgIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KGNvbnRleHQsIHJl
Y3QpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50
V2l0aEltYWdlR2VuZXJhdG9yKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVj
dCYgcmVjdCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRX
aXRoSW1hZ2VHZW5lcmF0b3IoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpCiB7CiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6cGFpbnRXaXRoSW1hZ2VHZW5lcmF0b3IoJXApIiwgdGhpcyk7CiAKQEAgLTE1MzUs
NyArMTUzNSw3IEBAIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4gbWltZVR5cGVDYWNoZSgpCiAgICAg
cmV0dXJuIGNhY2hlOwogfSAKIAotUmV0YWluUHRyPENHSW1hZ2VSZWY+IE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdChmbG9hdCB0aW1l
LCBjb25zdCBJbnRSZWN0JiByZWN0KQorUmV0YWluUHRyPENHSW1hZ2VSZWY+IE1lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdChmbG9hdCB0
aW1lLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKCFtX2ltYWdlR2VuZXJhdG9y
KQogICAgICAgICBjcmVhdGVJbWFnZUdlbmVyYXRvcigpOwpAQCAtMTgyNyw3ICsxODI3LDcgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0cmFja3NDaGFuZ2VkKCkK
ICAgICAgICAgaGFzQ2FwdGlvbnMgPSBbW21fYXZBc3NldC5nZXQoKSB0cmFja3NXaXRoTWVkaWFU
eXBlOkFWTWVkaWFUeXBlQ2xvc2VkQ2FwdGlvbl0gY291bnRdOwogI2VuZGlmCiAKLSAgICAgICAg
cHJlc2VudGF0aW9uU2l6ZURpZENoYW5nZShmaXJzdEVuYWJsZWRWaWRlb1RyYWNrID8gSW50U2l6
ZShDR1NpemVBcHBseUFmZmluZVRyYW5zZm9ybShbZmlyc3RFbmFibGVkVmlkZW9UcmFjayBuYXR1
cmFsU2l6ZV0sIFtmaXJzdEVuYWJsZWRWaWRlb1RyYWNrIHByZWZlcnJlZFRyYW5zZm9ybV0pKSA6
IEludFNpemUoKSk7CisgICAgICAgIHByZXNlbnRhdGlvblNpemVEaWRDaGFuZ2UoZmlyc3RFbmFi
bGVkVmlkZW9UcmFjayA/IEZsb2F0U2l6ZShDR1NpemVBcHBseUFmZmluZVRyYW5zZm9ybShbZmly
c3RFbmFibGVkVmlkZW9UcmFjayBuYXR1cmFsU2l6ZV0sIFtmaXJzdEVuYWJsZWRWaWRlb1RyYWNr
IHByZWZlcnJlZFRyYW5zZm9ybV0pKSA6IEZsb2F0U2l6ZSgpKTsKICAgICB9IGVsc2UgewogICAg
ICAgICBib29sIGhhc1ZpZGVvID0gZmFsc2U7CiAgICAgICAgIGJvb2wgaGFzQXVkaW8gPSBmYWxz
ZTsKQEAgLTIxMjEsNyArMjEyMSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6c2l6ZUNoYW5nZWQoKQogICAgIGlmICghbV9hdkFzc2V0KQogICAgICAgICByZXR1
cm47CiAKLSAgICBzZXROYXR1cmFsU2l6ZShyb3VuZGVkSW50U2l6ZShtX2NhY2hlZFByZXNlbnRh
dGlvblNpemUpKTsKKyAgICBzZXROYXR1cmFsU2l6ZShtX2NhY2hlZFByZXNlbnRhdGlvblNpemUp
OwogfQogICAgIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpoYXNT
aW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IApAQCAtMjI3Myw3ICsyMjczLDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRhdGVMYXN0SW1hZ2UoKQogICAg
ICAgICBtX2xhc3RJbWFnZSA9IGNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKHBpeGVsQnVmZmVy
LmdldCgpKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpw
YWludFdpdGhWaWRlb091dHB1dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJl
Y3QmIG91dHB1dFJlY3QpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OnBhaW50V2l0aFZpZGVvT3V0cHV0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxv
YXRSZWN0JiBvdXRwdXRSZWN0KQogewogICAgIGlmIChtX3ZpZGVvT3V0cHV0ICYmICFtX2xhc3RJ
bWFnZSAmJiAhdmlkZW9PdXRwdXRIYXNBdmFpbGFibGVGcmFtZSgpKQogICAgICAgICB3YWl0Rm9y
VmlkZW9PdXRwdXRNZWRpYURhdGFXaWxsQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
CmluZGV4IDg2ZGZkMDVmMjVjZGE1NzgzY2JmMGNlMDZjYWZlOWE0ODdlMGE4NGIuLjM1NWRjNGY0
M2NlODk4MjI4MzkzMjFjOTZiZDRlYjQ4N2QxMjdiNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qy5oCkBAIC0xMTUsNyArMTE1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c1NjYW5uaW5nKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0
dXJhbFNpemUoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFs
U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBib29sIGhhc1ZpZGVvKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGhhc0F1ZGlvKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC0xNDAsOCArMTQwLDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXpl
KGNvbnN0IEludFNpemUmKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lk
IHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJl
Y3QmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHBhaW50Q3VycmVu
dEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJy
aWRlOwogCiAgICAgdmlydHVhbCBib29sIGhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoKSBjb25zdCBv
dmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGRhYjQ2N2VjZmI1NGQ2
ODA5OTM1MDU5ZjgzNGNkODM2NjIyMWIyOTYuLmNjMjE3YzgwODA5YWNhN2E2ZDJhZjYzM2E3OGY3
YzcwYWFmY2NmNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTM0NSwxMCArMzQ1
LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZXRNdXRl
ZChib29sIG11dGVkKQogICAgICAgICBbKml0IHNldE11dGVkOm11dGVkXTsKIH0KIAotSW50U2l6
ZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKCkgY29u
c3QKK0Zsb2F0U2l6ZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVy
YWxTaXplKCkgY29uc3QKIHsKICAgICBpZiAoIW1fbWVkaWFTb3VyY2VQcml2YXRlKQotICAgICAg
ICByZXR1cm4gSW50U2l6ZSgpOworICAgICAgICByZXR1cm4gRmxvYXRTaXplKCk7CiAKICAgICBy
ZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUtPm5hdHVyYWxTaXplKCk7CiB9CkBAIC01MTIsMTIg
KzUxMiwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0
U2l6ZShjb25zdCBJbnRTaXplJikKICAgICAvLyBOby1vcC4KIH0KIAotdm9pZCBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEludFJlY3QmKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBh
aW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpCiB7CiAgICAgLy8gRklYTUUo
MTI1MTU3KTogSW1wbGVtZW50IHBhaW50aW5nLgogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3ND
b250ZXh0KiwgY29uc3QgSW50UmVjdCYpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRSZWN0JikKIHsKICAgICAvLyBGSVhNRSgxMjUxNTcpOiBJbXBsZW1lbnQgcGFp
bnRpbmcuCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmgKaW5kZXggNWY5ZmE0ZDhlYTIyZGJiZTNjZGZmNjQwZTJhNTZiZWRiZGY0ZTg5
OC4uM2RlOTVhMmI4ZjdmOWViM2Q4NGQ5NDRmNDNkYzZlZGI4NjkyYjdhZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaApAQCAtNzUs
NyArNzUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1l
Jik7CiAgICAgTWVkaWFUaW1lIGZhc3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRpYVRp
bWUmLCBjb25zdCBNZWRpYVRpbWUmIG5lZ2F0aXZlVGhyZXNob2xkLCBjb25zdCBNZWRpYVRpbWUm
IHBvc2l0aXZlVGhyZXNob2xkKTsKLSAgICBJbnRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Q7Cisg
ICAgRmxvYXRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQyhNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMq
LCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCmluZGV4IGVlMzZmOGI3YWQ0NWI4Yjg1
ZTAwNzM1NmNiMDJhNDYwMTc1NTBlZTMuLjgwMTdlMTlkYTJjY2UzNjI5MTg3YjlkY2U3M2VmNDkx
MTVlNTRjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5tbQpAQCAtMTk4LDkgKzE5OCw5IEBAIE1lZGlhVGltZSBNZWRpYVNvdXJj
ZVByaXZhdGVBVkZPYmpDOjpmYXN0U2Vla1RpbWVGb3JNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1l
JiB0CiAgICAgcmV0dXJuIHNlZWtUaW1lOwogfQogCi1JbnRTaXplIE1lZGlhU291cmNlUHJpdmF0
ZUFWRk9iakM6Om5hdHVyYWxTaXplKCkgY29uc3QKK0Zsb2F0U2l6ZSBNZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7Ci0gICAgSW50U2l6ZSByZXN1bHQ7Cisg
ICAgRmxvYXRTaXplIHJlc3VsdDsKIAogICAgIGZvciAoYXV0byogc291cmNlQnVmZmVyIDogbV9h
Y3RpdmVTb3VyY2VCdWZmZXJzKQogICAgICAgICByZXN1bHQgPSByZXN1bHQuZXhwYW5kZWRUbyhz
b3VyY2VCdWZmZXItPm5hdHVyYWxTaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKaW5kZXggNDhlNDIzMDNkMzVlZjFjZmFh
NTgxNWM3NmIzNzljNGY5NWRkNWMxNi4uNDk0YWVmYWIwYzJmMGJkNGZjMWNmZmQzMGUzYWQwOGJh
MmEzMDEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQy5oCkBAIC05Myw3ICs5Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Vl
a1RvVGltZShNZWRpYVRpbWUpOwogICAgIE1lZGlhVGltZSBmYXN0U2Vla1RpbWVGb3JNZWRpYVRp
bWUoTWVkaWFUaW1lLCBNZWRpYVRpbWUgbmVnYXRpdmVUaHJlc2hvbGQsIE1lZGlhVGltZSBwb3Np
dGl2ZVRocmVzaG9sZCk7Ci0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpOworICAgIEZsb2F0U2l6
ZSBuYXR1cmFsU2l6ZSgpOwogCiAgICAgaW50IHByb3RlY3RlZFRyYWNrSUQoKSBjb25zdCB7IHJl
dHVybiBtX3Byb3RlY3RlZFRyYWNrSUQ7IH0KICAgICBBVlN0cmVhbURhdGFQYXJzZXIqIHBhcnNl
cigpIGNvbnN0IHsgcmV0dXJuIG1fcGFyc2VyLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4IDVkOGE1NjRi
NjI5OGUzMDFjYmQ4YzhmODZiYjc2YTg0NzM1ZWQzZTMuLmY3OTlkYjI5Mjg3ZDk1ZjkxNTkxYTBl
MDc2NGM4OWUzZTUzNWYxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1Nv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCkBAIC04OTAsNiArODkwLDkgQEAgdm9pZCBTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6dHJhY2tEaWRDaGFuZ2VFbmFibGVkKFZpZGVvVHJhY2tQ
cml2YXRlTWVkaWFTb3UKICAgICAgICAgW21fcGFyc2VyIHNldFNob3VsZFByb3ZpZGVNZWRpYURh
dGE6WUVTIGZvclRyYWNrSUQ6dHJhY2tJRF07CiAgICAgICAgIGlmICghbV9kaXNwbGF5TGF5ZXIp
IHsKICAgICAgICAgICAgIG1fZGlzcGxheUxheWVyID0gYWRvcHROUyhbYWxsb2NBVlNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllckluc3RhbmNlKCkgaW5pdF0pOworI2lmbmRlZiBOREVCVUcKKyAgICAg
ICAgICAgIFttX2Rpc3BsYXlMYXllciBzZXROYW1lOkAiU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akMgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIiXTsKKyNlbmRpZgogICAgICAgICAgICAgW21f
ZGlzcGxheUxheWVyIHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlOmRpc3BhdGNoX2dl
dF9tYWluX3F1ZXVlKCkgdXNpbmdCbG9jazpeewogICAgICAgICAgICAgICAgIGRpZEJlY29tZVJl
YWR5Rm9yTW9yZVNhbXBsZXModHJhY2tJRCk7CiAgICAgICAgICAgICB9XTsKQEAgLTEwNzYsOSAr
MTA3OSw5IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OnNlZWtUb1RpbWUoTWVk
aWFUaW1lIHRpbWUpCiAgICAgICAgIG1fY2xpZW50LT5zb3VyY2VCdWZmZXJQcml2YXRlU2Vla1Rv
VGltZSh0aGlzLCB0aW1lKTsKIH0KIAotSW50U2l6ZSBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qzo6bmF0dXJhbFNpemUoKQorRmxvYXRTaXplIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpu
YXR1cmFsU2l6ZSgpCiB7Ci0gICAgcmV0dXJuIHJvdW5kZWRJbnRTaXplKG1fY2FjaGVkU2l6ZSk7
CisgICAgcmV0dXJuIG1fY2FjaGVkU2l6ZTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQzo6ZGlkQmVjb21lUmVhZHlGb3JNb3JlU2FtcGxlcyhpbnQgdHJhY2tJRCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQy5oCmluZGV4IDM4NGU5NWQ4YmViNTI1N2Q2YTU4Y2I1NGM2MDc4NDYwMTYx
MmQ5ZmMuLmRiMTk1M2Y2ZDczNWI0YTI2YWU2MjM0YzE1ZDdjMmNiYzA2M2EyNzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1Zp
ZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAKICAgICBpbnQgdHJh
Y2tJRCgpIHsgcmV0dXJuIG1fdHJhY2tJRDsgfQogCi0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgp
IGNvbnN0OworICAgIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0OwogCiBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKEFWQXNzZXRU
cmFjayosIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDKiBwYXJlbnQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9U
cmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbQppbmRleCA5YmVmZGE0MTU0Y2Y5NDE0M2IwOTVkNWI5YTAwN2Y5NGJjZTQ1M2Zj
Li5mY2MyNDk2YTEzNWFhNGY3M2E4ZmU1NDhkMTRlMGM4MDAwNGFkMWIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1Ry
YWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQpAQCAtODAsOSArODAsOSBAQCB2b2lkIFZpZGVvVHJhY2tQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpzZXRTZWxlY3RlZChib29sIHNlbGVjdGVkKQogICAgIG1fcGFyZW50
LT50cmFja0RpZENoYW5nZUVuYWJsZWQodGhpcyk7CiB9CiAKLUludFNpemUgVmlkZW9UcmFja1By
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKCkgY29uc3QKK0Zsb2F0U2l6ZSBW
aWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bmF0dXJhbFNpemUoKSBjb25zdAog
ewotICAgIHJldHVybiBJbnRTaXplKFthc3NldFRyYWNrKCkgbmF0dXJhbFNpemVdKTsKKyAgICBy
ZXR1cm4gRmxvYXRTaXplKFthc3NldFRyYWNrKCkgbmF0dXJhbFNpemVdKTsKIH0KIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmlu
ZGV4IDgyMjkxNzk4ZWQzY2M2ZTM2ODhiNWY2OTdkM2QwZjdjNmY3ZDJkNDYuLjEzNDJhOGVlNzZj
ZTg0N2UxODUwNzljZWNjMTUyN2FlZGFjZmIxN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTEyOSwyMSArMTI5LDIxIEBA
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6On5NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlKCkKIH0KIAogLy8gUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgdmlkZW8KLUludFNp
emUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0dXJhbFNpemUoKSBjb25zdAor
RmxvYXRTaXplIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5hdHVyYWxTaXplKCkg
Y29uc3QKIHsKICAgICBpZiAoIWhhc1ZpZGVvKCkpCi0gICAgICAgIHJldHVybiBJbnRTaXplKCk7
CisgICAgICAgIHJldHVybiBGbG9hdFNpemUoKTsKIAogICAgIGlmICghbV92aWRlb1NpemUuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm4gbV92aWRlb1NpemU7CiAKICAgICBXVEY6OkdNdXRleExv
Y2tlcjxHTXV0ZXg+IGxvY2sobV9zYW1wbGVNdXRleCk7CiAgICAgaWYgKCFtX3NhbXBsZSkKLSAg
ICAgICAgcmV0dXJuIEludFNpemUoKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0U2l6ZSgpOwogCiAg
ICAgR3N0Q2FwcyogY2FwcyA9IGdzdF9zYW1wbGVfZ2V0X2NhcHMobV9zYW1wbGUpOwogICAgIGlm
ICghY2FwcykKLSAgICAgICAgcmV0dXJuIEludFNpemUoKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0
U2l6ZSgpOwogCiAKICAgICAvLyBUT0RPOiBoYW5kbGUgcG9zc2libGUgY2xlYW4gYXBlcnR1cmUg
ZGF0YS4gU2VlCkBAIC0xNTcsNyArMTU3LDcgQEAgSW50U2l6ZSBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiAgICAgSW50U2l6ZSBvcmlnaW5hbFNp
emU7CiAgICAgR3N0VmlkZW9Gb3JtYXQgZm9ybWF0OwogICAgIGlmICghZ2V0VmlkZW9TaXplQW5k
Rm9ybWF0RnJvbUNhcHMoY2Fwcywgb3JpZ2luYWxTaXplLCBmb3JtYXQsIHBpeGVsQXNwZWN0UmF0
aW9OdW1lcmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvciwgc3RyaWRlKSkKLSAgICAg
ICAgcmV0dXJuIEludFNpemUoKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0U2l6ZSgpOwogCiAgICAg
TE9HX01FRElBX01FU1NBR0UoIk9yaWdpbmFsIHZpZGVvIHNpemU6ICVkeCVkIiwgb3JpZ2luYWxT
aXplLndpZHRoKCksIG9yaWdpbmFsU2l6ZS5oZWlnaHQoKSk7CiAgICAgTE9HX01FRElBX01FU1NB
R0UoIlBpeGVsIGFzcGVjdCByYXRpbzogJWQvJWQiLCBwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9y
LCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IpOwpAQCAtMTg4LDcgKzE4OCw3IEBAIEludFNp
emUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0dXJhbFNpemUoKSBjb25zdAog
ICAgIH0KIAogICAgIExPR19NRURJQV9NRVNTQUdFKCJOYXR1cmFsIHNpemU6ICUiIEdfR1VJTlQ2
NF9GT1JNQVQgInglIiBHX0dVSU5UNjRfRk9STUFULCB3aWR0aCwgaGVpZ2h0KTsKLSAgICBtX3Zp
ZGVvU2l6ZSA9IEludFNpemUoc3RhdGljX2Nhc3Q8aW50Pih3aWR0aCksIHN0YXRpY19jYXN0PGlu
dD4oaGVpZ2h0KSk7CisgICAgbV92aWRlb1NpemUgPSBGbG9hdFNpemUoc3RhdGljX2Nhc3Q8aW50
Pih3aWR0aCksIHN0YXRpY19jYXN0PGludD4oaGVpZ2h0KSk7CiAgICAgcmV0dXJuIG1fdmlkZW9T
aXplOwogfQogCkBAIC0zNTEsNyArMzUxLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiAgICAgbV9zaXplID0gc2l6
ZTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwYWludChHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgRmxvYXRSZWN0JiByZWN0KQogewogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYg
IVVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBpZiAoY2xpZW50KCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAppbmRleCBlYTg0OTdi
MjUyMWQzNjU0MzQ2OTk4ZTkwMDY4YzEzODliZDEwNWYxLi4wYmMwNWE4YmZkZjYyM2Q5MDIxMDJi
NWIxNjJkNzRmZDE1YmE0ZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmgKQEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZSA6IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKCk7
CiAKLSAgICBJbnRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Q7CisgICAgRmxvYXRTaXplIG5hdHVy
YWxTaXplKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldFZvbHVtZShmbG9hdCk7CiAgICAgZmxvYXQg
dm9sdW1lKCkgY29uc3Q7CkBAIC03OCw3ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNpemVD
aGFuZ2VkKCk7CiAKICAgICB2b2lkIHRyaWdnZXJSZXBhaW50KEdzdFNhbXBsZSopOwotICAgIHZv
aWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgcGFp
bnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7CiAKICAgICB2aXJ0dWFsIGJv
b2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAg
dmlydHVhbCBmbG9hdCBtYXhUaW1lTG9hZGVkKCkgY29uc3QgeyByZXR1cm4gMC4wOyB9CkBAIC0x
MjksNyArMTI5LDcgQEAgcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIGxvbmcgbV9yZXBhaW50SGFu
ZGxlcjsKICAgICB1bnNpZ25lZCBsb25nIG1fdm9sdW1lU2lnbmFsSGFuZGxlcjsKICAgICB1bnNp
Z25lZCBsb25nIG1fbXV0ZVNpZ25hbEhhbmRsZXI7Ci0gICAgbXV0YWJsZSBJbnRTaXplIG1fdmlk
ZW9TaXplOworICAgIG11dGFibGUgRmxvYXRTaXplIG1fdmlkZW9TaXplOwogI2lmIFVTRShURVhU
VVJFX01BUFBFUl9HTCkgJiYgIVVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBQYXNzUmVm
UHRyPEJpdG1hcFRleHR1cmU+IHVwZGF0ZVRleHR1cmUoVGV4dHVyZU1hcHBlciopOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oCmluZGV4IDhmY2E4N2ZiMTA1YjcwYWE5NWY1YzUy
ZGRiYmJhYWI3NGYxZWMxMTguLjY5ODJjOTkxZjkyZmYzMTNkMmRiYzMxMzYxMzhkZDU2YzQwNmMx
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRp
YVBsYXllclByaXZhdGVRVEtpdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5oCkBAIC03Niw3ICs3Niw3IEBAIHByaXZh
dGU6CiAgICAgUGxhdGZvcm1NZWRpYSBwbGF0Zm9ybU1lZGlhKCkgY29uc3Q7CiAgICAgUGxhdGZv
cm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0OwogCi0gICAgSW50U2l6ZSBuYXR1cmFsU2l6
ZSgpIGNvbnN0OworICAgIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdDsKICAgICBib29sIGhhc0F1ZGlvKCkgY29uc3Q7CiAg
ICAgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW4oKSBjb25zdDsKQEAgLTEyNCw4ICsxMjQsOCBAQCBw
cml2YXRlOgogICAgIAogICAgIHZpcnR1YWwgYm9vbCBoYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCkg
Y29uc3Q7CiAKLSAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3Qm
KTsKLSAgICB2b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEludFJlY3QmKTsKKyAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEZsb2F0UmVjdCYpOworICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHByZXBhcmVG
b3JSZW5kZXJpbmcoKTsKIAogICAgIGJvb2wgc3VwcG9ydHNBY2NlbGVyYXRlZFJlbmRlcmluZygp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCmluZGV4IDlmYTk3MTg0MmY1ZWYz
YTE0OGZmYjU3N2NiMmE1Y2UzYTE5ZTYzZGUuLmFjYTEzMDcwYzI0MWFiZjk3YjZkZTZmNTg0ZjJl
NTQ0MGMzMGFlZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KQEAgLTcwOSwxMCAr
NzA5LDEwIEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWtpbmcoKSBjb25zdAog
ICAgIHJldHVybiBtX3NlZWtUbyA+PSBNZWRpYVRpbWU6Onplcm9UaW1lKCk7CiB9CiAKLUludFNp
emUgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6Om5hdHVyYWxTaXplKCkgY29uc3QKK0Zsb2F0U2l6
ZSBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6bmF0dXJhbFNpemUoKSBjb25zdAogewogICAgIGlm
ICghbWV0YURhdGFBdmFpbGFibGUoKSkKLSAgICAgICAgcmV0dXJuIEludFNpemUoKTsKKyAgICAg
ICAgcmV0dXJuIEZsb2F0U2l6ZSgpOwogCiAgICAgLy8gSW4gc3BpdGUgb2YgdGhlIG5hbWUgb2Yg
dGhpcyBtZXRob2QsIHJldHVybiBRVE1vdmllTmF0dXJhbFNpemVBdHRyaWJ1dGUgdHJhbnNmb3Jt
ZWQgYnkgdGhlIAogICAgIC8vIGluaXRpYWwgbW92aWUgc2NhbGUgYmVjYXVzZSB0aGUgc3BlYyBz
YXlzIGludHJpbnNpYyBzaXplIGlzOgpAQCAtNzMyLDggKzczMiw5IEBAIEludFNpemUgTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQ6Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICAgICAgLy8gZXZlbnQg
d2hlbiB0aGlzIGhhcHBlbnMsIHNvIHdlIG11c3QgY2FjaGUgdGhlIGxhc3QgdmFsaWQgbmF0dXJh
bFNpemUgaGVyZToKICAgICAgICAgbV9jYWNoZWROYXR1cmFsU2l6ZSA9IG5hdHVyYWxTaXplOwog
ICAgIH0KLSAgICAgICAgCi0gICAgcmV0dXJuIEludFNpemUobmF0dXJhbFNpemUud2lkdGgoKSAq
IG1fc2NhbGVGYWN0b3Iud2lkdGgoKSwgbmF0dXJhbFNpemUuaGVpZ2h0KCkgKiBtX3NjYWxlRmFj
dG9yLmhlaWdodCgpKTsKKyAgICAKKyAgICBuYXR1cmFsU2l6ZS5zY2FsZShtX3NjYWxlRmFjdG9y
LndpZHRoKCksIG1fc2NhbGVGYWN0b3IuaGVpZ2h0KCkpOworICAgIHJldHVybiBuYXR1cmFsU2l6
ZTsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6aGFzVmlkZW8oKSBjb25zdApA
QCAtMTE4MSw3ICsxMTgyLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cmVwYWlu
dCgpCiAgICAgbV9wbGF5ZXItPnJlcGFpbnQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZh
dGVRVEtpdDo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBjb25zdCBJbnRSZWN0JiByKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cGFp
bnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBG
bG9hdFJlY3QmIHIpCiB7CiAgICAgaWQgcXRWaWRlb1JlbmRlcmVyID0gbV9xdFZpZGVvUmVuZGVy
ZXIuZ2V0KCk7CiAgICAgaWYgKCFxdFZpZGVvUmVuZGVyZXIgJiYgY3VycmVudFJlbmRlcmluZ01v
ZGUoKSA9PSBNZWRpYVJlbmRlcmluZ01vdmllTGF5ZXIpIHsKQEAgLTExOTUsNyArMTE5Niw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0
KEdyYXBoaWNzQ29udGV4dCogY29udGV4CiAgICAgcGFpbnQoY29udGV4dCwgcik7CiB9CiAKLXZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgSW50UmVjdCYgcikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByKQogewogICAgIGlm
IChjb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkgfHwgbV9oYXNVbnN1cHBvcnRlZFRyYWNrcykK
ICAgICAgICAgcmV0dXJuOwpAQCAtMTIwNyw3ICsxMjA4LDcgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVRVEtpdDo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0
JiByKQogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKICAgICBOU0dyYXBoaWNzQ29u
dGV4dCogbmV3Q29udGV4dDsKICAgICBGbG9hdFNpemUgc2NhbGVGYWN0b3IoMS4wZiwgLTEuMGYp
OwotICAgIEludFJlY3QgcGFpbnRSZWN0KEludFBvaW50KDAsIDApLCBJbnRTaXplKHIud2lkdGgo
KSwgci5oZWlnaHQoKSkpOworICAgIEZsb2F0UmVjdCBwYWludFJlY3QoRmxvYXRQb2ludCgpLCBy
LnNpemUoKSk7CiAKICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKmNv
bnRleHQpOwogICAgIGNvbnRleHQtPnRyYW5zbGF0ZShyLngoKSwgci55KCkgKyByLmhlaWdodCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRp
YVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHAKaW5k
ZXggNjY1MDQ5NmIwOTEwNTFlZTYzY2IxMzliZTNiOGMzODk4OTg1N2M0Zi4uODg5YTg2OGY0MmQ1
ZjQ2OTg0MmUzZGVhZGVmNjNjNzcyZjc0MDliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6cGF1c2UoKQogICAgIG1fcGF1c2VkID0gU1VD
Q0VFREVEKG1fbWVkaWFTZXNzaW9uLT5QYXVzZSgpKTsKIH0KIAotSW50U2l6ZSBNZWRpYVBsYXll
clByaXZhdGVNZWRpYUZvdW5kYXRpb246Om5hdHVyYWxTaXplKCkgY29uc3QgCitGbG9hdFNpemUg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpuYXR1cmFsU2l6ZSgpIGNvbnN0IAog
ewogICAgIHJldHVybiBtX3NpemU7CiB9CkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnNldFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkK
ICAgICBtX3ZpZGVvRGlzcGxheS0+U2V0VmlkZW9Qb3NpdGlvbihudWxscHRyLCAmcmMpOwogfQog
Ci12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6cGFpbnQoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29u
c3QgRmxvYXRSZWN0JiByZWN0KQogewogICAgIGlmIChjb250ZXh0LT5wYWludGluZ0Rpc2FibGVk
KCkKICAgICAgICAgfHwgIW1fcGxheWVyLT52aXNpYmxlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3Vu
ZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmgKaW5kZXggYWYwZjYyM2EyYzAwYzdjZjg1ODcwMGYy
NDIwNjNjOTg4OWViNGE4OS4uYzZmMDc0MjhlYTFiZGIyYjRjYTMzZmRhNzhiZDQ4YTBiNzkyZDE0
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaApAQCAt
NDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKTsKICAgICB2aXJ0
dWFsIHZvaWQgcGF1c2UoKTsKIAotICAgIHZpcnR1YWwgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgRmxvYXRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Q7CiAKICAgICB2
aXJ0dWFsIGJvb2wgaGFzVmlkZW8oKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQXVkaW8o
KSBjb25zdDsKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFNpemUoY29uc3QgSW50U2l6ZSYpOwogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNz
Q29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7CiAKIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5
ZXIqIG1fcGxheWVyOwpAQCAtODEsNyArODEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNW
aWRlbzsKICAgICBIV05EIG1faHduZFZpZGVvOwogICAgIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRl
IG1fcmVhZHlTdGF0ZTsKLSAgICBJbnRSZWN0IG1fbGFzdFBhaW50UmVjdDsKKyAgICBGbG9hdFJl
Y3QgbV9sYXN0UGFpbnRSZWN0OwogCiAgICAgQ09NUHRyPElNRk1lZGlhU2Vzc2lvbj4gbV9tZWRp
YVNlc3Npb247CiAgICAgQ09NUHRyPElNRlNvdXJjZVJlc29sdmVyPiBtX3NvdXJjZVJlc29sdmVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcAppbmRleCAyMDQ4
MDRmOTU1ZmQwM2ZmMDE2NDgzNjQ1OWE3YTA0YTQ0NzQ4YjBjLi5iOWExYTQ4ZWI5MDI3MjQ5ODgx
NDQ5NTdmZWFhY2IyYjU2Mjg2MGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmNwcApAQCAtMTE4LDkgKzExOCw5IEBAIHZvaWQgTW9ja01lZGlhUGxheWVyTWVk
aWFTb3VyY2U6OnBhdXNlKCkKICAgICBtX3BsYXlpbmcgPSAwOwogfQogCi1JbnRTaXplIE1vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgTW9j
a01lZGlhUGxheWVyTWVkaWFTb3VyY2U6Om5hdHVyYWxTaXplKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gSW50U2l6ZSgpOworICAgIHJldHVybiBGbG9hdFNpemUoKTsKIH0KIAogYm9vbCBNb2NrTWVk
aWFQbGF5ZXJNZWRpYVNvdXJjZTo6aGFzVmlkZW8oKSBjb25zdApAQCAtMTc5LDcgKzE3OSw3IEBA
IHZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnNldFNpemUoY29uc3QgSW50U2l6ZSYp
CiB7CiB9CiAKLXZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnBhaW50KEdyYXBoaWNz
Q29udGV4dCosIGNvbnN0IEludFJlY3QmKQordm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJj
ZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JikKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFQbGF5ZXJNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IGNkZTY1NjY3ZDU0ZTAy
MDVhOGJhMWY2N2FiNDU3MzAzYzdmYzA5YmYuLjJhYzQyZTgxMmQ4OGM0MjE4OWQxYjQ1ZTEzYzYz
MmRhZjViYjQyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVk
aWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgK
QEAgLTYzLDcgKzYzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgp
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBwbGF5KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHBhdXNlKCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBJbnRTaXplIG5hdHVyYWxTaXpl
KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBGbG9hdFNpemUgbmF0dXJhbFNpemUoKSBj
b25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzVmlkZW8oKSBjb25zdCBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQXVkaW8oKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0VmlzaWJsZShib29sKSBvdmVycmlkZTsKQEAgLTc0LDcgKzc0LDcgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IGJ1
ZmZlcmVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGRpZExvYWRpbmdQcm9n
cmVzcygpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXplKGNvbnN0IElu
dFNpemUmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgSW50UmVjdCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIE1l
ZGlhVGltZSBjdXJyZW50TWVkaWFUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBN
ZWRpYVRpbWUgZHVyYXRpb25NZWRpYVRpbWUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFs
IHZvaWQgc2Vla1dpdGhUb2xlcmFuY2UoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1l
JiwgY29uc3QgTWVkaWFUaW1lJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmNwcAppbmRleCA1NzA0NTFkNGIwMWVjMWY4YTliN2JiN2ZmYjM4MTBkZDE4Nzdh
ZWIwLi4wOWUxY2FjZDdkZDRhMjBhMTdiZGQ2ZmYxYzdhNjY1MTE5NzA3OTA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKQEAgLTEwNiw3ICsxMDYsNyBAQCBMYXlv
dXRTaXplIFJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5zaWNTaXplKCkKICAgICAvLyBoZWln
aHQgb2YgdGhlIHBvc3RlciBmcmFtZSwgaWYgdGhhdCBpcyBhdmFpbGFibGU7IG90aGVyd2lzZSBp
dCBpcyAxNTAgQ1NTIHBpeGVscy4KICAgICBNZWRpYVBsYXllciogcGxheWVyID0gdmlkZW9FbGVt
ZW50KCkucGxheWVyKCk7CiAgICAgaWYgKHBsYXllciAmJiB2aWRlb0VsZW1lbnQoKS5yZWFkeVN0
YXRlKCkgPj0gSFRNTFZpZGVvRWxlbWVudDo6SEFWRV9NRVRBREFUQSkgewotICAgICAgICBMYXlv
dXRTaXplIHNpemUgPSBwbGF5ZXItPm5hdHVyYWxTaXplKCk7CisgICAgICAgIExheW91dFNpemUg
c2l6ZShwbGF5ZXItPm5hdHVyYWxTaXplKCkpOwogICAgICAgICBpZiAoIXNpemUuaXNFbXB0eSgp
KQogICAgICAgICAgICAgcmV0dXJuIHNpemU7CiAgICAgfQpAQCAtMTg5LDkgKzE4OSw5IEBAIHZv
aWQgUmVuZGVyVmlkZW86OnBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IExheW91dFBvaW50JiBwYWludE9mCiAgICAgaWYgKGRpc3BsYXlpbmdQb3N0ZXIpCiAgICAgICAg
IHBhaW50SW50b1JlY3QoY29udGV4dCwgcmVjdCk7CiAgICAgZWxzZSBpZiAodmlldygpLmZyYW1l
VmlldygpLnBhaW50QmVoYXZpb3IoKSAmIFBhaW50QmVoYXZpb3JGbGF0dGVuQ29tcG9zaXRpbmdM
YXllcnMpCi0gICAgICAgIG1lZGlhUGxheWVyLT5wYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChj
b250ZXh0LCBzbmFwcGVkSW50UmVjdChyZWN0KSk7CisgICAgICAgIG1lZGlhUGxheWVyLT5wYWlu
dEN1cnJlbnRGcmFtZUluQ29udGV4dChjb250ZXh0LCByZWN0KTsKICAgICBlbHNlCi0gICAgICAg
IG1lZGlhUGxheWVyLT5wYWludChjb250ZXh0LCBzbmFwcGVkSW50UmVjdChyZWN0KSk7CisgICAg
ICAgIG1lZGlhUGxheWVyLT5wYWludChjb250ZXh0LCByZWN0KTsKIH0KIAogdm9pZCBSZW5kZXJW
aWRlbzo6bGF5b3V0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvX2NlcnRzLzAxLnBlbSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvX2NlcnRzLzAxLnBlbQppbmRleCBiMzZmMWQ1ZTQyMGJhOTFjNzUy
Y2U2YjljMjk3OGI2YjFmZmZiODlkLi42Yzc0ZGQzMGViYTk3NTM0MjcwZjEyMGMyNDlkOGQ3ODNh
MGYzZGM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL19jZXJ0cy8wMS5wZW0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9fY2VydHMvMDEucGVtCkBAIC0yLDQyICsyLDQyIEBAIENlcnRpZmljYXRl
OgogICAgIERhdGE6CiAgICAgICAgIFZlcnNpb246IDMgKDB4MikKICAgICAgICAgU2VyaWFsIE51
bWJlcjogMSAoMHgxKQotICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTI1NldpdGhSU0FFbmNy
eXB0aW9uCisgICAgICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTI1NldpdGhSU0FFbmNyeXB0
aW9uCiAgICAgICAgIElzc3VlcjogQ049d2ViLXBsYXRmb3JtLXRlc3RzCiAgICAgICAgIFZhbGlk
aXR5Ci0gICAgICAgICAgICBOb3QgQmVmb3JlOiBKYW4gMjcgMDk6Mjc6NDAgMjAxNSBHTVQKLSAg
ICAgICAgICAgIE5vdCBBZnRlciA6IEZlYiAyNiAwOToyNzo0MCAyMDE1IEdNVAorICAgICAgICAg
ICAgTm90IEJlZm9yZTogRmViIDI4IDAzOjEwOjQ4IDIwMTUgR01UCisgICAgICAgICAgICBOb3Qg
QWZ0ZXIgOiBNYXIgMzAgMDM6MTA6NDggMjAxNSBHTVQKICAgICAgICAgU3ViamVjdDogQ049d2Vi
LXBsYXRmb3JtLXRlc3RzCiAgICAgICAgIFN1YmplY3QgUHVibGljIEtleSBJbmZvOgogICAgICAg
ICAgICAgUHVibGljIEtleSBBbGdvcml0aG06IHJzYUVuY3J5cHRpb24KLSAgICAgICAgICAgICAg
ICBQdWJsaWMtS2V5OiAoMjA0OCBiaXQpCi0gICAgICAgICAgICAgICAgTW9kdWx1czoKLSAgICAg
ICAgICAgICAgICAgICAgMDA6YjI6ZDM6YTI6ZDg6Y2Q6OTM6ODI6NGY6ODc6NzQ6NGI6MzU6Nzc6
MjM6Ci0gICAgICAgICAgICAgICAgICAgIGVmOmQ0OjhiOmY4OmFkOjAwOmRhOmNkOjY2OjNmOjBm
OjVkOjE3Ojc1OjQ0OgotICAgICAgICAgICAgICAgICAgICBkMDplZTo4MzpjYTo4Yzo3MzpmNDo1
NToyMDphNDo5Mjo4NTo0MDplNDphMjoKLSAgICAgICAgICAgICAgICAgICAgNWY6NTk6NTA6NzU6
ODk6NDc6NTA6NzM6NjY6ZDc6NDA6YWE6YTM6Y2I6MjY6Ci0gICAgICAgICAgICAgICAgICAgIGNh
OjBjOmIwOjk0OjhlOjNmOjJlOmM3OmUyOjUzOmFlOmQxOmM0OjNmOmM1OgotICAgICAgICAgICAg
ICAgICAgICBkODo1NDpkNzoyNzoyYzpiNjpmMDo5ZjoxODowNjozMDpiOTpkZTpjNDozZDoKLSAg
ICAgICAgICAgICAgICAgICAgNmQ6N2I6NjI6ODQ6ZjM6NWE6Mzk6YjQ6ODE6ZmQ6ODc6ZjY6ZDk6
Y2Q6MTU6Ci0gICAgICAgICAgICAgICAgICAgIGU1OjljOjNjOmVjOjdkOmQwOjUwOmU2OjlmOjRl
OmMyOjc1OmNhOjk5OjNhOgotICAgICAgICAgICAgICAgICAgICBhMjo0ZDo4NTo3MDphZDo1MTpk
NjoxMzphNDo1ZDowZTo2OTpmNzo5ODozYToKLSAgICAgICAgICAgICAgICAgICAgNDg6MDE6ODY6
MjY6Mjk6Zjg6OGM6YmU6NmI6MjM6Y2M6OWU6MDA6YzQ6MTE6Ci0gICAgICAgICAgICAgICAgICAg
IDJkOmMyOmJmOjI1OmUyOjEyOjBhOjY0OjQxOmFkOmE4OjM3OmJlOjAxOmE4OgotICAgICAgICAg
ICAgICAgICAgICBiNzo3NzpmNzoyMzo3MTo1NTpmMjo2NzozMDplMTo4MDo2Zjo0ODplYTplMzoK
LSAgICAgICAgICAgICAgICAgICAgOWE6YmU6YjE6Zjk6NTI6MGE6ZDQ6Mzg6NGI6MDc6ZDc6OGE6
NmM6ODY6NTQ6Ci0gICAgICAgICAgICAgICAgICAgIDI0OmU3OjAxOmM4OjcwOmViOmI0OjNmOjVh
OjU0OjU3OjEzOmEwOmQxOjZkOgotICAgICAgICAgICAgICAgICAgICA4YjphNjo5YjpiYjo2MDo4
ODoyNTphMTpmODpjZTo3ZDowNTpkNjo1MjoyYjoKLSAgICAgICAgICAgICAgICAgICAgNmY6ZjQ6
MTQ6ZTE6ZWQ6NmM6ZTQ6MDA6MWI6ZTY6MWY6NWM6Zjg6NjA6YTc6Ci0gICAgICAgICAgICAgICAg
ICAgIDFlOmY3OmI3OjkwOjlkOjI4OjkzOjE3OmM5OjVlOjE2OmVkOjlhOmU5OjY4OgotICAgICAg
ICAgICAgICAgICAgICA5ZjphZgorICAgICAgICAgICAgUlNBIFB1YmxpYyBLZXk6ICgyMDQ4IGJp
dCkKKyAgICAgICAgICAgICAgICBNb2R1bHVzICgyMDQ4IGJpdCk6CisgICAgICAgICAgICAgICAg
ICAgIDAwOmM1OjBhOjE0OjM2OmVmOjllOjAxOmViOjc2OmY5OjFmOjdjOjNlOjQ2OgorICAgICAg
ICAgICAgICAgICAgICAyOToxYzplNzphYjozMTo1Njo0ODo1MTo2NDo0NDpkZjplNjo1YToxNToy
YjoKKyAgICAgICAgICAgICAgICAgICAgZjc6MTU6N2U6ODU6ZDA6OTk6OWY6OTQ6OWY6ZDY6ZDc6
MmY6MTA6YmU6MWE6CisgICAgICAgICAgICAgICAgICAgIDk0OjY2OjhhOmM2OmU1OjcyOjkwOmVk
OjE1OmFmOmQyOmJjOjAwOjFhOmZkOgorICAgICAgICAgICAgICAgICAgICAwYToxNDphMjpiMDox
YzowMjplOToxMDoxYTo4OTozOTpjMDo2ZTpiNTo1NToKKyAgICAgICAgICAgICAgICAgICAgOTQ6
NjQ6Mzk6MmU6OTA6ZjY6NjM6YjY6OTA6ZTc6MGM6MDY6Nzk6ZGE6OTA6CisgICAgICAgICAgICAg
ICAgICAgIGI0OmFmOjYxOmRmOmY1OjVmOjFiOjg1OjJmOjYyOmRhOmQxOmQ2OjgwOjIzOgorICAg
ICAgICAgICAgICAgICAgICA5MTo3YzpkZTo3YzozNzpmOTozNTpkNDo1Mzo4Nzo5Mjo1MzozODpk
OTo0NToKKyAgICAgICAgICAgICAgICAgICAgNjk6MTk6NmE6OTM6YzE6MDg6ZDU6M2E6Mjc6NDE6
ZWU6NDY6MTI6Mjg6Njc6CisgICAgICAgICAgICAgICAgICAgIGYyOjVmOjI4OjVkOjZhOjI3OjBj
Ojg0OjM4Ojc5OmU4OmVmOmFhOmNkOmExOgorICAgICAgICAgICAgICAgICAgICBlNzo5MjplNjpm
OTphNzo5YTo2OTo4MzozMzo3NzpiMjo0ODo2MDo1MTo3NzoKKyAgICAgICAgICAgICAgICAgICAg
MWI6YzE6OGY6MmE6MjU6OGE6YmQ6Mjk6Mjk6YWE6YmY6NGM6ZTc6ZWI6OGU6CisgICAgICAgICAg
ICAgICAgICAgIGE5OmIzOmVkOjlkOjNjOjcwOjU2OmRiOmFhOmNmOjRjOjhiOmEzOjVlOjE5Ogor
ICAgICAgICAgICAgICAgICAgICBlMDpjZjpjYzo4MTphZDpkZDpmNDo3MTpkYjo1ZDo1MTo2MTo3
Yjo5MTowZjoKKyAgICAgICAgICAgICAgICAgICAgNDg6MTY6NmY6MmI6M2I6OTE6ZTQ6N2M6YzM6
ZmE6ZTQ6ZTQ6ODA6ZTA6MGI6CisgICAgICAgICAgICAgICAgICAgIDI0OmQ3Ojk3OjQ5Ojk5OjYy
OmYzOjdjOjY4OjViOjlmOjU2OjU2Ojk4Ojk0OgorICAgICAgICAgICAgICAgICAgICBmYjoyNzo5
ZDo0Nzo0MzpmYTpkOTo5Nzo2MjowYToxMTo5YTo4YTo2OTo0MDoKKyAgICAgICAgICAgICAgICAg
ICAgMDA6NjUKICAgICAgICAgICAgICAgICBFeHBvbmVudDogNjU1MzcgKDB4MTAwMDEpCiAgICAg
ICAgIFg1MDl2MyBleHRlbnNpb25zOgogICAgICAgICAgICAgWDUwOXYzIEJhc2ljIENvbnN0cmFp
bnRzOiAKICAgICAgICAgICAgICAgICBDQTpUUlVFCiAgICAgICAgICAgICBYNTA5djMgU3ViamVj
dCBLZXkgSWRlbnRpZmllcjogCi0gICAgICAgICAgICAgICAgMEU6MzE6QzE6MEQ6NkM6OTQ6RTE6
RjA6RDk6OEM6QzQ6RTQ6QTU6REY6RkQ6MUM6Q0I6M0I6Q0M6NTgKKyAgICAgICAgICAgICAgICBC
QjpBMTo3Mjo2MTpGQzo1RTpDQTo4QTpDODpCODo2ODpEQzpDRjo2MTpGOTo3Mzo4NDo1MzowMzpB
OQogICAgICAgICAgICAgWDUwOXYzIEF1dGhvcml0eSBLZXkgSWRlbnRpZmllcjogCi0gICAgICAg
ICAgICAgICAga2V5aWQ6MEU6MzE6QzE6MEQ6NkM6OTQ6RTE6RjA6RDk6OEM6QzQ6RTQ6QTU6REY6
RkQ6MUM6Q0I6M0I6Q0M6NTgKKyAgICAgICAgICAgICAgICBrZXlpZDpCQjpBMTo3Mjo2MTpGQzo1
RTpDQTo4QTpDODpCODo2ODpEQzpDRjo2MTpGOTo3Mzo4NDo1MzowMzpBOQogICAgICAgICAgICAg
ICAgIERpck5hbWU6L0NOPXdlYi1wbGF0Zm9ybS10ZXN0cwogICAgICAgICAgICAgICAgIHNlcmlh
bDowMQogCkBAIC00NiwzOCArNDYsMzggQEAgQ2VydGlmaWNhdGU6CiAgICAgICAgICAgICBYNTA5
djMgRXh0ZW5kZWQgS2V5IFVzYWdlOiAKICAgICAgICAgICAgICAgICBUTFMgV2ViIFNlcnZlciBB
dXRoZW50aWNhdGlvbgogICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTI1NldpdGhSU0FFbmNy
eXB0aW9uCi0gICAgICAgICAzMjphNzpmNjpmZjpiZDpjZTo1OToyYzo5Mzo5NDplOTphMTo1Nzo4
Nzo3YzowMTo4MjoyMDoKLSAgICAgICAgIGQ2OjI1OjZhOjA5OjA1OmY2Ojc0OmQ1OjNmOjM3Ojc4
OmE5OmY5OjVjOmY2OjNjOjE0OmU2OgotICAgICAgICAgNWM6MWU6OTY6NzQ6OWU6NDY6Yjg6NWY6
M2I6ODg6YmM6MTg6M2M6YzQ6ZjY6Njg6ZTA6Nzk6Ci0gICAgICAgICA5Mjo1NTo3YzpjOTo1Yjpi
Mjo4ODoxZTo3Nzo1NDphZDpiYzplMzo0MzpjYjoyYzo0YzpmMjoKLSAgICAgICAgIDA0OjRkOjA2
OmI0OmIyOjFiOjMyOjA3OjA2OmRlOmU4OmI2OmQxOmZiOmM2OmIyOmM1OjQ1OgotICAgICAgICAg
ZmE6MzA6NDY6ZGY6NDk6MjI6YTg6ZWE6YzU6MGM6YTE6ZWU6YzI6ZmM6Mjk6NDk6MTI6ODk6Ci0g
ICAgICAgICA3Njo0NDoyZjo5Mjo1MzpjZjpkMzo1YzphMDozYTo4Mjo5OTpjZDoxZTo0NzoyZjo5
ODoyYToKLSAgICAgICAgIGViOjY0Ojk4OmRiOmI1Ojk0OjRmOmNmOjFjOjBmOjg4OmNiOmZiOjk4
OjdhOmNkOmE3OjVkOgotICAgICAgICAgMmQ6NTc6OTk6NGQ6NTI6NjU6NDk6Yzg6OWE6ZGE6NTk6
ZjM6ZDA6ZDM6NzU6Yzk6MWI6OWM6Ci0gICAgICAgICBjNjo4ZDo4YTpmMTpkNToyOTo2MzpmNDo1
MzowMDo4MTplMDoxOTo4Yzo4OTpmMzpmOTowMjoKLSAgICAgICAgIGFkOjQ0OjQ4OjBlOmNkOmZk
OjY2Ojc5OmZjOjI1OmMwOjA3OjA3Ojg2OjFjOjI0Ojk4OjM3OgotICAgICAgICAgNzI6ZmM6NzQ6
YjU6N2Y6MTI6Y2Q6MDg6Mjc6NzA6ZDE6Y2U6MDE6MDE6MDE6MTY6ZWE6NGI6Ci0gICAgICAgICBi
ZjpkZDozYTo2NTo3NzozMToyMDpkYjo5ZToxZjo4MjphZTphYzo5Yzo1Yjo0NzowZTpiMjoKLSAg
ICAgICAgIDQxOmMwOmIyOjgyOmJhOjU5OmFhOjk0OmI4OmMxOjMxOmY1OjA3OjU2Ojc2Ojk0OjYw
OmY1OgotICAgICAgICAgNjQ6MTM6NDg6NTIKKyAgICAgICAgYmQ6Yzg6M2Y6MmE6ODM6YmQ6MDI6
ZWU6ZTQ6YjE6ZjQ6NDk6Y2Q6ZDA6NTg6NDU6MTA6YzU6CisgICAgICAgIDA0OmE2OjY2OmI5OjBm
OjcwOjgxOmQ3OjA3OjI5OjdkOjJmOmZmOjAwOjdhOmU1OjRlOjdjOgorICAgICAgICBjNzo2NTo3
NjoyZDo0ODpiYjozNjowMTo2NTozYzo4MDpkZToxYTowYTozMjo2Mjo1MDpkNjoKKyAgICAgICAg
OWI6YTg6ZWI6ZDE6Y2Q6ZWI6Yzc6YzY6Njc6Mjc6Yzk6MDQ6NDc6ZDA6YWY6MTY6ZmE6M2I6Cisg
ICAgICAgIDRmOjc3OjdiOjBjOjY2OmExOmI3OjBlOjI0OmY4OjIxOjEzOmFjOmUxOjI0OjM3Ojc5
OjEwOgorICAgICAgICBhYzphNTpkNTplMzpmMzoxMTowYzo2OTpmYzo1NDo1MTo2ZDowNjo0NTox
MDozMzoyMzo4MToKKyAgICAgICAgYTA6ODc6Nzk6ODY6ZDU6ZjU6ZmE6YTc6NjA6MTg6NGQ6YzE6
YmI6MmY6ZGY6Yzk6YTQ6ZWY6CisgICAgICAgIDE3OjA4Ojc2OmJlOjE5OmNmOjU4OjNjOjI1OjUx
OjQ3OmFiOjljOjJlOjUzOjg4OjQ4OjczOgorICAgICAgICAyZDo3MzowNToyZDozMzpkODpkMjpj
Mjo2MjpjYTo2MzplZjo0ZTowNDo2Mzo4Zjo3YjozNToKKyAgICAgICAgMmQ6OTQ6YTE6NmY6NjQ6
OTc6NDE6YmE6ZDI6MGU6ZDM6YzE6MWM6NzU6NDc6MmE6MDk6MDQ6CisgICAgICAgIGNkOmRkOjYw
OjdlOjE3OjM4OjIxOjc0OmMyOmZiOjhkOjZkOjYwOjIzOjhmOmVkOmI2OmE0OgorICAgICAgICA0
MTo4ODpmMzpiYzplZjpkNzowMzpjODpiNjpmNTplMjo3YTowZDpiYTo0Yjo4Yjo3ZjoyMDoKKyAg
ICAgICAgYjM6ODg6NGI6YTA6OGI6ZGI6ZmQ6ZDQ6OTI6NjY6ZmM6NzI6MjY6OTg6YmU6MGM6NGI6
YmU6CisgICAgICAgIDZiOjA4OmY3OmVkOmE4OjhiOmY1OmE5OjBkOmVhOjY4OjZiOmVlOjAzOjY0
OjU3OjYzOmQ0OgorICAgICAgICBiZDoxOTo4Zjo1ZQogLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0t
LS0tCiBNSUlEVHpDQ0FqZWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBZE1Sc3dHUVlE
VlFRRERCSjNaV0l0Ci1jR3hoZEdadmNtMHRkR1Z6ZEhNd0hoY05NVFV3TVRJM01Ea3lOelF3V2hj
Tk1UVXdNakkyTURreU56UXdXakFkCitjR3hoZEdadmNtMHRkR1Z6ZEhNd0hoY05NVFV3TWpJNE1E
TXhNRFE0V2hjTk1UVXdNek13TURNeE1EUTRXakFkCiBNUnN3R1FZRFZRUUREQkozWldJdGNHeGhk
R1p2Y20wdGRHVnpkSE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBCi1BNElCRHdBd2dnRUtBb0lC
QVFDeTA2TFl6Wk9DVDRkMFN6VjNJKy9VaS9pdEFOck5aajhQWFJkMVJORHVnOHFNCi1jL1JWSUtT
U2hVRGtvbDlaVUhXSlIxQnpadGRBcXFQTEpzb01zSlNPUHk3SDRsT3UwY1EveGRoVTF5Y3N0dkNm
Ci1HQVl3dWQ3RVBXMTdZb1R6V2ptMGdmMkg5dG5ORmVXY1BPeDkwRkRtbjA3Q2RjcVpPcUpOaFhD
dFVkWVRwRjBPCi1hZmVZT2tnQmhpWXArSXkrYXlQTW5nREVFUzNDdnlYaUVncGtRYTJvTjc0QnFM
ZDM5eU54VmZKbk1PR0FiMGpxCi00NXErc2ZsU0N0UTRTd2ZYaW15R1ZDVG5BY2h3NjdRL1dsUlhF
NkRSYll1bW03dGdpQ1doK001OUJkWlNLMi8wCi1GT0h0Yk9RQUcrWWZYUGhncHg3M3Q1Q2RLSk1Y
eVY0VzdacnBhSit2QWdNQkFBR2pnWmt3Z1pZd0RBWURWUjBUCi1CQVV3QXdFQi96QWRCZ05WSFE0
RUZnUVVEakhCRFd5VTRmRFpqTVRrcGQvOUhNczd6Rmd3UlFZRFZSMGpCRDR3Ci1QSUFVRGpIQkRX
eVU0ZkRaak1Ua3BkLzlITXM3ekZpaElhUWZNQjB4R3pBWkJnTlZCQU1NRW5kbFlpMXdiR0YwCitB
NElCRHdBd2dnRUtBb0lCQVFERkNoUTI3NTRCNjNiNUgzdytSaWtjNTZzeFZraFJaRVRmNWxvVksv
Y1Zmb1hRCittWitVbjliWEx4QytHcFJtaXNibGNwRHRGYS9TdkFBYS9Rb1VvckFjQXVrUUdvazV3
RzYxVlpSa09TNlE5bU8yCitrT2NNQm5uYWtMU3ZZZC8xWHh1RkwyTGEwZGFBSTVGODNudzMrVFhV
VTRlU1V6alpSV2taYXBQQkNOVTZKMEh1CitSaElvWi9KZktGMXFKd3lFT0hubzc2ck5vZWVTNXZt
bm1tbURNM2V5U0dCUmR4dkJqeW9saXIwcEthcS9UT2ZyCitqcW16N1owOGNGYmJxczlNaTZOZUdl
RFB6SUd0M2ZSeDIxMVJZWHVSRDBnV2J5czdrZVI4dy9yazVJRGdDeVRYCitsMG1aWXZOOGFGdWZW
bGFZbFBzbm5VZEQrdG1YWWdvUm1vcHBRQUJsQWdNQkFBR2pnWmt3Z1pZd0RBWURWUjBUCitCQVV3
QXdFQi96QWRCZ05WSFE0RUZnUVV1NkZ5WWZ4ZXlvckl1R2pjejJINWM0UlRBNmt3UlFZRFZSMGpC
RDR3CitQSUFVdTZGeVlmeGV5b3JJdUdqY3oySDVjNFJUQTZtaElhUWZNQjB4R3pBWkJnTlZCQU1N
RW5kbFlpMXdiR0YwCiBabTl5YlMxMFpYTjBjNElCQVRBTEJnTlZIUThFQkFNQ0FnUXdFd1lEVlIw
bEJBd3dDZ1lJS3dZQkJRVUhBd0V3Ci1EUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBREtuOXYrOXps
a3NrNVRwb1ZlSGZBR0NJTllsYWdrRjluVFZQemQ0Ci1xZmxjOWp3VTVsd2VsblNlUnJoZk80aThH
RHpFOW1qZ2VaSlZmTWxic29nZWQxU3R2T05EeXl4TThnUk5CclN5Ci1HeklIQnQ3b3R0SDd4ckxG
UmZvd1J0OUpJcWpxeFF5aDdzTDhLVWtTaVhaRUw1SlR6OU5jb0RxQ21jMGVSeStZCi1LdXRrbU51
MWxFL1BIQStJeS91WWVzMm5YUzFYbVUxU1pVbkltdHBaODlEVGRja2JuTWFOaXZIVktXUDBVd0NC
Ci00Qm1NaWZQNUFxMUVTQTdOL1daNS9DWEFCd2VHSENTWU4zTDhkTFYvRXMwSUozRFJ6Z0VCQVJi
cVM3L2RPbVYzCi1NU0RibmgrQ3JxeWNXMGNPc2tIQXNvSzZXYXFVdU1FeDlRZFdkcFJnOVdRVFNG
ST0KK0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFMM0lQeXFEdlFMdTVMSDBTYzNRV0VVUXhRU21a
cmtQY0lIWEJ5bDkKK0wvOEFldVZPZk1kbGRpMUl1ellCWlR5QTNob0tNbUpRMXB1bzY5SE42OGZH
WnlmSkJFZlFyeGI2TzA5M2V3eG0KK29iY09KUGdoRTZ6aEpEZDVFS3lsMWVQekVReHAvRlJSYlFa
RkVETWpnYUNIZVliVjlmcW5ZQmhOd2JzdjM4bWsKKzd4Y0lkcjRaejFnOEpWRkhxNXd1VTRoSWN5
MXpCUzB6Mk5MQ1lzcGo3MDRFWTQ5N05TMlVvVzlrbDBHNjBnN1QKK3dSeDFSeW9KQk0zZFlINFhP
Q0Ywd3Z1TmJXQWpqKzIycEVHSTg3enYxd1BJdHZYaWVnMjZTNHQvSUxPSVM2Q0wKKzIvM1VrbWI4
Y2lhWXZneEx2bXNJOSsyb2kvV3BEZXBvYSs0RFpGZGoxTDBaajE0PQogLS0tLS1FTkQgQ0VSVElG
SUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9fY2VydHMvMDIucGVtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9fY2VydHMvMDIucGVtCmluZGV4IDVkNTlhM2I2NmM3NDRkYjVmN2NjNDlj
NGM0ZDhlNzIyYjgzYjQxZGYuLjIwNGZiOTExZjY2YWYwMzBiZTBlNDNiNGM2ZmIyMmQ3YzVjYTQ0
MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvX2NlcnRzLzAyLnBlbQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL19jZXJ0cy8wMi5wZW0KQEAgLTIsNDIgKzIsNDIgQEAgQ2VydGlmaWNhdGU6CiAg
ICAgRGF0YToKICAgICAgICAgVmVyc2lvbjogMyAoMHgyKQogICAgICAgICBTZXJpYWwgTnVtYmVy
OiAyICgweDIpCi0gICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5cHRp
b24KKyAgICAgICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5cHRpb24K
ICAgICAgICAgSXNzdWVyOiBDTj13ZWItcGxhdGZvcm0tdGVzdHMKICAgICAgICAgVmFsaWRpdHkK
LSAgICAgICAgICAgIE5vdCBCZWZvcmU6IEphbiAyNyAwOToyNzo0MSAyMDE1IEdNVAotICAgICAg
ICAgICAgTm90IEFmdGVyIDogRmViIDI2IDA5OjI3OjQxIDIwMTUgR01UCisgICAgICAgICAgICBO
b3QgQmVmb3JlOiBGZWIgMjggMDM6MTA6NDkgMjAxNSBHTVQKKyAgICAgICAgICAgIE5vdCBBZnRl
ciA6IE1hciAzMCAwMzoxMDo0OSAyMDE1IEdNVAogICAgICAgICBTdWJqZWN0OiBDTj1sb2NhbGhv
c3QKICAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86CiAgICAgICAgICAgICBQdWJsaWMg
S2V5IEFsZ29yaXRobTogcnNhRW5jcnlwdGlvbgotICAgICAgICAgICAgICAgIFB1YmxpYy1LZXk6
ICgyMDQ4IGJpdCkKLSAgICAgICAgICAgICAgICBNb2R1bHVzOgotICAgICAgICAgICAgICAgICAg
ICAwMDplODo1MTplYzo2MTo4MDpiNjphYzo2NjplZDo3MzowOTpkYjowMDozMDoKLSAgICAgICAg
ICAgICAgICAgICAgNDg6MDQ6ODM6ZTE6NDE6NjU6OTU6MmQ6OGY6MGQ6NTA6NjM6ZDI6OGM6MmE6
Ci0gICAgICAgICAgICAgICAgICAgIDUwOjkzOjRiOjU2Ojc4OjY1Ojk2OmNmOjc5OjRjOjljOjNj
OmU4Ojg2OmVhOgotICAgICAgICAgICAgICAgICAgICBjNTpjMjplOTowYTo5Yzo1ZjoxNTo4Yjph
NTpmZDoyMTo1NzplYToxMzoyMzoKLSAgICAgICAgICAgICAgICAgICAgNTU6MDY6YzI6OGE6Y2M6
M2Y6YWE6YWI6ZDQ6ZGQ6Yjk6ZWE6ZDk6OGE6Yzk6Ci0gICAgICAgICAgICAgICAgICAgIDI4Ojdh
OmRlOjE0OmQ4OjcyOjI0OmI4OmE0OmJmOmM2OjY0OjcyOmQ3OmE5OgotICAgICAgICAgICAgICAg
ICAgICBkMDpkZTowZTpkZjo0YzphNjo1MDoxODoyNjpmMzo1YjplYzo0MDo2YToxYToKLSAgICAg
ICAgICAgICAgICAgICAgMjc6MGM6MTk6ODU6NDc6MzQ6YWQ6NDk6Mzc6YWY6NzM6OGU6Nzc6YjM6
NDM6Ci0gICAgICAgICAgICAgICAgICAgIGQzOjgzOjNhOjRiOjc2OjE2OmIzOmI4OmU5OjE1Ojk5
OmZmOjA3OmFhOjVmOgotICAgICAgICAgICAgICAgICAgICBlMToyNjpiOTo3MjowMjo4NzowNzo2
OTozYjo4Njo4NTo4Zjo3OTphZDphYzoKLSAgICAgICAgICAgICAgICAgICAgZWM6MTU6YzQ6MTY6
MmU6NDU6MmE6YTk6MWE6ODI6MjQ6ZGU6YWM6ODQ6NTY6Ci0gICAgICAgICAgICAgICAgICAgIDg4
OmJkOjY3OmYzOmYzOmJiOjg0OmQ3OmFmOmY5OjY1OjIzOjAxOmU5OjAxOgotICAgICAgICAgICAg
ICAgICAgICBkMDowNDpjZTphNjowNjowOTowOTo0NDo1ODphNzpiYTo4OTphYjpiMjpjYToKLSAg
ICAgICAgICAgICAgICAgICAgOTc6YjY6MTg6NmE6NmM6ODQ6YTg6NDc6ZTc6ZjU6NWY6OGY6YmY6
NzE6N2I6Ci0gICAgICAgICAgICAgICAgICAgIDRmOmI5OmFkOjMxOmRkOjczOmJmOjYzOjlmOmI0
OjQ2OjhjOjkzOjg1OjI0OgotICAgICAgICAgICAgICAgICAgICAyNToxOTo3MzplZDowMzoxOTpm
MzozZjoxZDphZjowZTo4YjphNDo3Njo5MDoKLSAgICAgICAgICAgICAgICAgICAgODg6Mzk6YjU6
Mjc6Zjk6MTc6ODY6ZjE6NGI6YmI6N2U6NjA6N2Y6Zjk6ZDc6Ci0gICAgICAgICAgICAgICAgICAg
IGZiOjY1CisgICAgICAgICAgICBSU0EgUHVibGljIEtleTogKDIwNDggYml0KQorICAgICAgICAg
ICAgICAgIE1vZHVsdXMgKDIwNDggYml0KToKKyAgICAgICAgICAgICAgICAgICAgMDA6YzU6MGM6
Y2M6Zjg6MDI6YTQ6OGE6Yzk6YjM6ZDM6YjQ6YjY6ZmE6Yzc6CisgICAgICAgICAgICAgICAgICAg
IGM3OjQ0OjQyOmRjOjQ3OjZhOjNkOjRjOmIwOmM2OmJhOmZkOmM5OmQ1OjU4OgorICAgICAgICAg
ICAgICAgICAgICAxODoyNTo1NTpkMTo5YTpiNDo1YzpiNjoyMzo2Yzo3MDo4ZTpiZTo4ZToyMjoK
KyAgICAgICAgICAgICAgICAgICAgNTg6ZDA6MWQ6OWU6YWQ6ZDk6MmE6NDE6N2I6OGM6YTk6MDY6
Njk6NzA6M2M6CisgICAgICAgICAgICAgICAgICAgIDM2OjgzOjY0OjExOjRkOmZjOjRhOmE0Ojhl
OjA1OmY4OjUxOmM1OjUwOmVmOgorICAgICAgICAgICAgICAgICAgICAyZjpjNDo1YTphYTpjOTo4
OTpiNjo2Mjo1NTpjMDoyNjowNzo4NjphZDpiOToKKyAgICAgICAgICAgICAgICAgICAgZDM6MzQ6
YzQ6MGM6MWY6YjA6OTc6OTE6Y2U6ZjQ6YzU6YWE6ZTE6MTk6ZDk6CisgICAgICAgICAgICAgICAg
ICAgIGQ0OjUxOjhhOjEwOmQ4OjJkOjNlOjdiOmFjOjQ1OjNjOjNlOjMzOjMyOmZjOgorICAgICAg
ICAgICAgICAgICAgICAwMzphZjpmNzpiYjpjYTo4YzpiOTo5YjplNDozMDowZjo5Yzo2MjphMzph
ODoKKyAgICAgICAgICAgICAgICAgICAgMzU6YTE6ZWI6YzA6Y2M6MzI6ZGI6NGY6Yzk6NzU6Nzc6
Mjk6ZTc6MGM6OGE6CisgICAgICAgICAgICAgICAgICAgIGE0OjlhOjQ4OjMyOjRiOmFlOjlmOmFk
OmU4OjdjOmZhOmVhOjYxOmRjOmNmOgorICAgICAgICAgICAgICAgICAgICA2NDozMTo2ODpmMzo2
YjoyYzo1MjoxYjpkYTplYTo1ZTphYTpjODpjYTo4OToKKyAgICAgICAgICAgICAgICAgICAgMzA6
OTg6NjY6NmQ6ODI6Yjk6MDk6ZWY6MGE6YTQ6Zjk6MzU6NzU6OGY6OTU6CisgICAgICAgICAgICAg
ICAgICAgIDljOjIwOmNlOjBlOjc5OmYzOjk3OjMxOjQ1OmYyOmUzOmVmOmRiOjNhOjBlOgorICAg
ICAgICAgICAgICAgICAgICAyMjo1NTpiYjozZToxODoyYjo0Zjo5ODoyYjozZDphZDpmYTpmZTo0
MDpmYzoKKyAgICAgICAgICAgICAgICAgICAgMWM6NjM6ZDA6OTI6ZmY6Yzg6NzQ6ZTU6MzY6OGQ6
MjE6ODM6MmQ6NzM6NDg6CisgICAgICAgICAgICAgICAgICAgIGJmOjQ5OjQxOmMxOjM3OjQ0OjFj
OmE1OmI1OmE2OmZhOmE0OjllOjEwOjExOgorICAgICAgICAgICAgICAgICAgICA0ZjozNwogICAg
ICAgICAgICAgICAgIEV4cG9uZW50OiA2NTUzNyAoMHgxMDAwMSkKICAgICAgICAgWDUwOXYzIGV4
dGVuc2lvbnM6CiAgICAgICAgICAgICBYNTA5djMgQmFzaWMgQ29uc3RyYWludHM6IAogICAgICAg
ICAgICAgICAgIENBOkZBTFNFCiAgICAgICAgICAgICBYNTA5djMgU3ViamVjdCBLZXkgSWRlbnRp
ZmllcjogCi0gICAgICAgICAgICAgICAgRjY6Q0I6ODI6NjQ6QjA6QzQ6MDI6MUE6ODU6NTM6MEU6
OUE6NkI6RDg6QzI6MzA6QUM6MDU6NjE6QzgKKyAgICAgICAgICAgICAgICAwODowODo1MTo3Qzo1
QzpBNTpFNDpDRjo4QjowMDo1NzpEQzoyRjpCNjo1RDo4QzowNToxMjozNzpENgogICAgICAgICAg
ICAgWDUwOXYzIEF1dGhvcml0eSBLZXkgSWRlbnRpZmllcjogCi0gICAgICAgICAgICAgICAga2V5
aWQ6MEU6MzE6QzE6MEQ6NkM6OTQ6RTE6RjA6RDk6OEM6QzQ6RTQ6QTU6REY6RkQ6MUM6Q0I6M0I6
Q0M6NTgKKyAgICAgICAgICAgICAgICBrZXlpZDpCQjpBMTo3Mjo2MTpGQzo1RTpDQTo4QTpDODpC
ODo2ODpEQzpDRjo2MTpGOTo3Mzo4NDo1MzowMzpBOQogCiAgICAgICAgICAgICBYNTA5djMgS2V5
IFVzYWdlOiAKICAgICAgICAgICAgICAgICBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0
aW9uLCBLZXkgRW5jaXBoZXJtZW50CkBAIC00Niw0MCArNDYsNDAgQEAgQ2VydGlmaWNhdGU6CiAg
ICAgICAgICAgICBYNTA5djMgU3ViamVjdCBBbHRlcm5hdGl2ZSBOYW1lOiAKICAgICAgICAgICAg
ICAgICBETlM6bG9jYWxob3N0LCBETlM6d3d3LmxvY2FsaG9zdCwgRE5TOnhuLS1uOGo2ZHM1M2x3
d2tycWh2MjhhLmxvY2FsaG9zdCwgRE5TOnhuLS1sdmUtNmxhZC5sb2NhbGhvc3QsIEROUzp3d3cy
LmxvY2FsaG9zdCwgRE5TOnd3dzEubG9jYWxob3N0CiAgICAgU2lnbmF0dXJlIEFsZ29yaXRobTog
c2hhMjU2V2l0aFJTQUVuY3J5cHRpb24KLSAgICAgICAgIDgwOmI0OjIzOjgzOmQ5OjViOmM4OjVm
OmZlOjE2OjI1OjJjOmRmOjY0Ojg4OjA4OjZiOjFlOgotICAgICAgICAgZjk6MTU6NDY6NTg6NTQ6
Y2U6ZTA6Mjg6ODg6YWY6ZjE6NTg6YzM6N2Y6YzI6MDg6N2M6OGI6Ci0gICAgICAgICBkNDoyZjpk
YTpmMzpjNTpiZDo5NToyNjpmNjowZTowZjo2NjozNDo0ZTo2YTozNTozYzoxNDoKLSAgICAgICAg
IDY5OmViOjE1OjJlOmZlOjBkOjBkOmMxOmZmOjMwOjJkOjMyOmNlOjI4OmM4OjhiOjU3OmFjOgot
ICAgICAgICAgZmM6NTQ6ODk6OWM6Mzc6MDE6MjI6MDg6ZmU6ZGI6YmI6NDA6OTY6ZWM6OGI6OTc6
NjE6OWY6Ci0gICAgICAgICA2ODpjODoyNTo0ZDoxOTo3NzpmNzphNjo4Njo1MToyYzpmMDpiNzoz
OToyYjphMDo3OTo4MzoKLSAgICAgICAgIDRiOjQyOjc1OjZlOmNhOmM2OjJhOjBjOjI4OjhiOjY5
OjgzOjQ2OjNlOjllOjBmOjBmOjdlOgotICAgICAgICAgMWE6MTc6MDk6MWI6OWI6MDI6Y2U6MjE6
ODc6YzI6ZTI6MGQ6Njg6OTE6MWI6M2E6NWM6NmQ6Ci0gICAgICAgICBjNTowNTpjODoyYjoxMzpk
MToyODphMzplZDo5NDo3MzplYTo3ZDpiNTpiNzpiODo0ZDpiZToKLSAgICAgICAgIDg1OjNjOmFm
OjY2OjQ2OjFiOjBhOjI3OjVkOjcxOmI1OmM2OjlkOmRjOmZmOmQ2OmU0OjIzOgotICAgICAgICAg
ZWQ6ODk6MTE6NjQ6Njk6MTY6NGY6MmY6YzU6ZDY6ODE6NDE6ZDQ6NzU6OGQ6OGU6OWI6NGQ6Ci0g
ICAgICAgICA4NzoxZDowMjpiZDphNzpkMDpjZjphMjo0MTpmYjoyNzpjZjo1MjpjYjoyZToxOTo0
OTo0MToKLSAgICAgICAgIDVjOmQ0OjJmOmM3OjM5OjEzOjk4OjcyOjY2OjFkOjQ3Ojk3OmNiOjZi
OmRkOjMxOjUzOjRlOgotICAgICAgICAgYjI6YjA6YWY6NmM6ODY6YTc6Mzg6MWY6YTE6YTM6OWY6
NTQ6NmI6ZTE6Yzc6YTI6MTU6ZjE6Ci0gICAgICAgICBmMDpkNDo1YTo1NworICAgICAgICA1ZTow
YzozNDpjMTphNzpmMTplMTo0ZTowODo5MTpiZDphZjo2NTo3Njo4NjpiNzpmNjpiYToKKyAgICAg
ICAgNTI6ZTE6NjU6OTY6OGY6N2E6NDY6Zjg6ZGY6MWE6YjU6Njg6YzE6ZTU6YzQ6ZTU6OWI6ZjA6
CisgICAgICAgIDc5Ojg1OmVmOjZjOmY4OmUyOjY1OjMxOmVkOmY0OmQ1OjdlOmNlOmMyOmIxOmI2
OjRlOmYwOgorICAgICAgICA5NDo1ODozNzo5OTpjODpmMToxMTplNTpkMTozZTo0MjozZjpjODo0
MjplNjpmZDo3OTpkNDoKKyAgICAgICAgN2Y6Zjg6ZjQ6YmQ6Yzg6OWU6YmQ6YTc6ODg6MDM6ZmY6
NzU6YTQ6NTQ6M2U6NDM6MGI6YjU6CisgICAgICAgIDIzOmU1OjliOmI0OjkwOjk2OmY0OmZiOmFj
OjI3OmMwOmIyOmJhOjM3Ojk2OjRmOjNhOjRkOgorICAgICAgICBhNzowODo1MTpiODo4YTozODo5
Mzo1ZTpiZDozMzo4YjplNToxYjozZjpkMDo4MTowZTowNzoKKyAgICAgICAgZjU6YWI6NDQ6MTU6
NmM6YWE6Zjg6OTg6ZGU6YTU6MzE6ODU6MzM6MjA6Yjk6ZTU6MTA6MTk6CisgICAgICAgIGQzOjI1
OmY4OmY4OmI5Ojg4Ojc5OjExOjk4OjU2OjQ4OjFiOmI5OjEyOmI2OmY3OjRiOmNhOgorICAgICAg
ICA2Zjo5OTo5YTphMDpkYTpjNTo1MDo4ZDoxYTphNjpkOTo4ODowYzoyZjplYjphMjpjMzo3MToK
KyAgICAgICAgMTM6MzE6YzY6MWY6NGI6YmE6NzM6OTc6ZjI6ZTc6MWQ6YTA6MTk6MDc6ZWM6ZTA6
OTY6Mjc6CisgICAgICAgIDQ0OjczOjk0OjFjOmYwOjJkOjczOjkwOjE5OjkxOmViOmZhOjMwOjI0
OjQ0OjA5OjZlOjBkOgorICAgICAgICA3NTo4MDpkMjplNDo1NDo5MjpmYjphMjo2NzoyMjo0YTo4
MzpmMDo4Nzo2MTplNjpkZjphNzoKKyAgICAgICAgMDU6ZWI6OTc6NDA6MGM6Y2U6NWY6MGI6ZjA6
OTI6NjU6ZTY6N2M6NmI6MGM6YzY6M2I6YzQ6CisgICAgICAgIGIyOmUxOjAyOjcwCiAtLS0tLUJF
R0lOIENFUlRJRklDQVRFLS0tLS0KIE1JSURuVENDQW9XZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcw
QkFRc0ZBREFkTVJzd0dRWURWUVFEREJKM1pXSXQKLWNHeGhkR1p2Y20wdGRHVnpkSE13SGhjTk1U
VXdNVEkzTURreU56UXhXaGNOTVRVd01qSTJNRGt5TnpReFdqQVUKK2NHeGhkR1p2Y20wdGRHVnpk
SE13SGhjTk1UVXdNakk0TURNeE1EUTVXaGNOTVRVd016TXdNRE14TURRNVdqQVUKIE1SSXdFQVlE
VlFRRERBbHNiMk5oYkdodmMzUXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsK
LUFvSUJBUURvVWV4aGdMYXNadTF6Q2RzQU1FZ0VnK0ZCWlpVdGp3MVFZOUtNS2xDVFMxWjRaWmJQ
ZVV5Y1BPaUcKLTZzWEM2UXFjWHhXTHBmMGhWK29USTFVR3dvck1QNnFyMU4yNTZ0bUt5U2g2M2hU
WWNpUzRwTC9HWkhMWHFkRGUKLUR0OU1wbEFZSnZOYjdFQnFHaWNNR1lWSE5LMUpONjl6am5lelE5
T0RPa3QyRnJPNDZSV1ovd2VxWCtFbXVYSUMKLWh3ZHBPNGFGajNtdHJPd1Z4Qll1UlNxcEdvSWsz
cXlFVm9pOVovUHp1NFRYci9sbEl3SHBBZEFFenFZR0NRbEUKLVdLZTZpYXV5eXBlMkdHcHNoS2hI
NS9WZmo3OXhlMCs1clRIZGM3OWpuN1JHakpPRkpDVVpjKzBER2ZNL0hhOE8KLWk2UjJrSWc1dFNm
NUY0YnhTN3QrWUgvNTEvdGxBZ01CQUFHamdmQXdnZTB3Q1FZRFZSMFRCQUl3QURBZEJnTlYKLUhR
NEVGZ1FVOXN1Q1pMREVBaHFGVXc2YWE5akNNS3dGWWNnd0h3WURWUjBqQkJnd0ZvQVVEakhCRFd5
VTRmRFoKLWpNVGtwZC85SE1zN3pGZ3dDd1lEVlIwUEJBUURBZ1hnTUJNR0ExVWRKUVFNTUFvR0ND
c0dBUVVGQndNQk1INEcKK0FvSUJBUURGRE16NEFxU0t5YlBUdExiNng4ZEVRdHhIYWoxTXNNYTYv
Y25WV0JnbFZkR2F0RnkySTJ4d2pyNk8KK0lsalFIWjZ0MlNwQmU0eXBCbWx3UERhRFpCRk4vRXFr
amdYNFVjVlE3eS9FV3FySmliWmlWY0FtQjRhdHVkTTAKK3hBd2ZzSmVSenZURnF1RVoyZFJSaWhE
WUxUNTdyRVU4UGpNeS9BT3Y5N3ZLakxtYjVEQVBuR0tqcURXaDY4RE0KK010dFB5WFYzS2VjTWlx
U2FTREpMcnArdDZIejY2bUhjejJReGFQTnJMRkliMnVwZXFzaktpVENZWm0yQ3VRbnYKK0NxVDVO
WFdQbFp3Z3pnNTU4NWN4UmZMajc5czZEaUpWdXo0WUswK1lLejJ0K3Y1QS9CeGowSkwveUhUbE5v
MGgKK2d5MXpTTDlKUWNFM1JCeWx0YWI2cEo0UUVVODNBZ01CQUFHamdmQXdnZTB3Q1FZRFZSMFRC
QUl3QURBZEJnTlYKK0hRNEVGZ1FVQ0FoUmZGeWw1TStMQUZmY0w3WmRqQVVTTjlZd0h3WURWUjBq
QkJnd0ZvQVV1NkZ5WWZ4ZXlvckkKK3VHamN6Mkg1YzRSVEE2a3dDd1lEVlIwUEJBUURBZ1hnTUJN
R0ExVWRKUVFNTUFvR0NDc0dBUVVGQndNQk1INEcKIEExVWRFUVIzTUhXQ0NXeHZZMkZzYUc5emRJ
SU5kM2QzTG14dlkyRnNhRzl6ZElJaGVHNHRMVzQ0YWpaa2N6VXoKIGJIZDNhM0p4YUhZeU9HRXVi
RzlqWVd4b2IzTjBnaFo0YmkwdGJIWmxMVFpzWVdRdWJHOWpZV3hvYjNOMGdnNTMKIGQzY3lMbXh2
WTJGc2FHOXpkSUlPZDNkM01TNXNiMk5oYkdodmMzUXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUIK
LUFJQzBJNFBaVzhoZi9oWWxMTjlraUFockh2a1ZSbGhVenVBb2lLL3hXTU4vd2doOGk5UXYydlBG
dlpVbTlnNFAKLVpqUk9halU4RkduckZTNytEUTNCL3pBdE1zNG95SXRYclB4VWladzNBU0lJL3R1
N1FKYnNpNWRobjJqSUpVMFoKLWQvZW1obEVzOExjNUs2QjVnMHRDZFc3S3hpb01LSXRwZzBZK25n
OFBmaG9YQ1J1YkFzNGhoOExpRFdpUkd6cGMKLWJjVUZ5Q3NUMFNpajdaUno2bjIxdDdoTnZvVThy
MlpHR3dvblhYRzF4cDNjLzlia0krMkpFV1JwRms4dnhkYUIKLVFkUjFqWTZiVFljZEFyMm4wTStp
UWZzbnoxTExMaGxKUVZ6VUw4YzVFNWh5WmgxSGw4dHIzVEZUVHJLd3IyeUcKLXB6Z2ZvYU9mVkd2
aHg2SVY4ZkRVV2xjPQorQUY0TU5NR244ZUZPQ0pHOXIyVjJocmYydWxMaFpaYVBla2I0M3hxMWFN
SGx4T1diOEhtRjcyejQ0bVV4N2ZUVgorZnM3Q3NiWk84SlJZTjVuSThSSGwwVDVDUDhoQzV2MTUx
SC80OUwzSW5yMm5pQVAvZGFSVVBrTUx0U1BsbTdTUQorbHZUN3JDZkFzcm8zbGs4NlRhY0lVYmlL
T0pOZXZUT0w1UnMvMElFT0IvV3JSQlZzcXZpWTNxVXhoVE1ndWVVUQorR2RNbCtQaTVpSGtSbUZa
SUc3a1N0dmRMeW0rWm1xRGF4VkNOR3FiWmlBd3Y2NkxEY1JNeHhoOUx1bk9YOHVjZAorb0JrSDdP
Q1dKMFJ6bEJ6d0xYT1FHWkhyK2pBa1JBbHVEWFdBMHVSVWt2dWlaeUpLZy9DSFllYmZwd1hybDBB
TQoremw4TDhKSmw1bnhyRE1ZN3hMTGhBbkE9CiAtLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL19j
ZXJ0cy9jYWNlcnQucGVtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9fY2VydHMvY2FjZXJ0LnBlbQppbmRleCBiMzZmMWQ1ZTQyMGJhOTFjNzUyY2U2YjljMjk3
OGI2YjFmZmZiODlkLi42Yzc0ZGQzMGViYTk3NTM0MjcwZjEyMGMyNDlkOGQ3ODNhMGYzZGM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL19j
ZXJ0cy9jYWNlcnQucGVtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvX2NlcnRzL2NhY2VydC5wZW0KQEAgLTIsNDIgKzIsNDIgQEAgQ2VydGlmaWNhdGU6
CiAgICAgRGF0YToKICAgICAgICAgVmVyc2lvbjogMyAoMHgyKQogICAgICAgICBTZXJpYWwgTnVt
YmVyOiAxICgweDEpCi0gICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5
cHRpb24KKyAgICAgICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5cHRp
b24KICAgICAgICAgSXNzdWVyOiBDTj13ZWItcGxhdGZvcm0tdGVzdHMKICAgICAgICAgVmFsaWRp
dHkKLSAgICAgICAgICAgIE5vdCBCZWZvcmU6IEphbiAyNyAwOToyNzo0MCAyMDE1IEdNVAotICAg
ICAgICAgICAgTm90IEFmdGVyIDogRmViIDI2IDA5OjI3OjQwIDIwMTUgR01UCisgICAgICAgICAg
ICBOb3QgQmVmb3JlOiBGZWIgMjggMDM6MTA6NDggMjAxNSBHTVQKKyAgICAgICAgICAgIE5vdCBB
ZnRlciA6IE1hciAzMCAwMzoxMDo0OCAyMDE1IEdNVAogICAgICAgICBTdWJqZWN0OiBDTj13ZWIt
cGxhdGZvcm0tdGVzdHMKICAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86CiAgICAgICAg
ICAgICBQdWJsaWMgS2V5IEFsZ29yaXRobTogcnNhRW5jcnlwdGlvbgotICAgICAgICAgICAgICAg
IFB1YmxpYy1LZXk6ICgyMDQ4IGJpdCkKLSAgICAgICAgICAgICAgICBNb2R1bHVzOgotICAgICAg
ICAgICAgICAgICAgICAwMDpiMjpkMzphMjpkODpjZDo5Mzo4Mjo0Zjo4Nzo3NDo0YjozNTo3Nzoy
MzoKLSAgICAgICAgICAgICAgICAgICAgZWY6ZDQ6OGI6Zjg6YWQ6MDA6ZGE6Y2Q6NjY6M2Y6MGY6
NWQ6MTc6NzU6NDQ6Ci0gICAgICAgICAgICAgICAgICAgIGQwOmVlOjgzOmNhOjhjOjczOmY0OjU1
OjIwOmE0OjkyOjg1OjQwOmU0OmEyOgotICAgICAgICAgICAgICAgICAgICA1Zjo1OTo1MDo3NTo4
OTo0Nzo1MDo3Mzo2NjpkNzo0MDphYTphMzpjYjoyNjoKLSAgICAgICAgICAgICAgICAgICAgY2E6
MGM6YjA6OTQ6OGU6M2Y6MmU6Yzc6ZTI6NTM6YWU6ZDE6YzQ6M2Y6YzU6Ci0gICAgICAgICAgICAg
ICAgICAgIGQ4OjU0OmQ3OjI3OjJjOmI2OmYwOjlmOjE4OjA2OjMwOmI5OmRlOmM0OjNkOgotICAg
ICAgICAgICAgICAgICAgICA2ZDo3Yjo2Mjo4NDpmMzo1YTozOTpiNDo4MTpmZDo4NzpmNjpkOTpj
ZDoxNToKLSAgICAgICAgICAgICAgICAgICAgZTU6OWM6M2M6ZWM6N2Q6ZDA6NTA6ZTY6OWY6NGU6
YzI6NzU6Y2E6OTk6M2E6Ci0gICAgICAgICAgICAgICAgICAgIGEyOjRkOjg1OjcwOmFkOjUxOmQ2
OjEzOmE0OjVkOjBlOjY5OmY3Ojk4OjNhOgotICAgICAgICAgICAgICAgICAgICA0ODowMTo4Njoy
NjoyOTpmODo4YzpiZTo2YjoyMzpjYzo5ZTowMDpjNDoxMToKLSAgICAgICAgICAgICAgICAgICAg
MmQ6YzI6YmY6MjU6ZTI6MTI6MGE6NjQ6NDE6YWQ6YTg6Mzc6YmU6MDE6YTg6Ci0gICAgICAgICAg
ICAgICAgICAgIGI3Ojc3OmY3OjIzOjcxOjU1OmYyOjY3OjMwOmUxOjgwOjZmOjQ4OmVhOmUzOgot
ICAgICAgICAgICAgICAgICAgICA5YTpiZTpiMTpmOTo1MjowYTpkNDozODo0YjowNzpkNzo4YTo2
Yzo4Njo1NDoKLSAgICAgICAgICAgICAgICAgICAgMjQ6ZTc6MDE6Yzg6NzA6ZWI6YjQ6M2Y6NWE6
NTQ6NTc6MTM6YTA6ZDE6NmQ6Ci0gICAgICAgICAgICAgICAgICAgIDhiOmE2OjliOmJiOjYwOjg4
OjI1OmExOmY4OmNlOjdkOjA1OmQ2OjUyOjJiOgotICAgICAgICAgICAgICAgICAgICA2ZjpmNDox
NDplMTplZDo2YzplNDowMDoxYjplNjoxZjo1YzpmODo2MDphNzoKLSAgICAgICAgICAgICAgICAg
ICAgMWU6Zjc6Yjc6OTA6OWQ6Mjg6OTM6MTc6Yzk6NWU6MTY6ZWQ6OWE6ZTk6Njg6Ci0gICAgICAg
ICAgICAgICAgICAgIDlmOmFmCisgICAgICAgICAgICBSU0EgUHVibGljIEtleTogKDIwNDggYml0
KQorICAgICAgICAgICAgICAgIE1vZHVsdXMgKDIwNDggYml0KToKKyAgICAgICAgICAgICAgICAg
ICAgMDA6YzU6MGE6MTQ6MzY6ZWY6OWU6MDE6ZWI6NzY6Zjk6MWY6N2M6M2U6NDY6CisgICAgICAg
ICAgICAgICAgICAgIDI5OjFjOmU3OmFiOjMxOjU2OjQ4OjUxOjY0OjQ0OmRmOmU2OjVhOjE1OjJi
OgorICAgICAgICAgICAgICAgICAgICBmNzoxNTo3ZTo4NTpkMDo5OTo5Zjo5NDo5ZjpkNjpkNzoy
ZjoxMDpiZToxYToKKyAgICAgICAgICAgICAgICAgICAgOTQ6NjY6OGE6YzY6ZTU6NzI6OTA6ZWQ6
MTU6YWY6ZDI6YmM6MDA6MWE6ZmQ6CisgICAgICAgICAgICAgICAgICAgIDBhOjE0OmEyOmIwOjFj
OjAyOmU5OjEwOjFhOjg5OjM5OmMwOjZlOmI1OjU1OgorICAgICAgICAgICAgICAgICAgICA5NDo2
NDozOToyZTo5MDpmNjo2MzpiNjo5MDplNzowYzowNjo3OTpkYTo5MDoKKyAgICAgICAgICAgICAg
ICAgICAgYjQ6YWY6NjE6ZGY6ZjU6NWY6MWI6ODU6MmY6NjI6ZGE6ZDE6ZDY6ODA6MjM6CisgICAg
ICAgICAgICAgICAgICAgIDkxOjdjOmRlOjdjOjM3OmY5OjM1OmQ0OjUzOjg3OjkyOjUzOjM4OmQ5
OjQ1OgorICAgICAgICAgICAgICAgICAgICA2OToxOTo2YTo5MzpjMTowODpkNTozYToyNzo0MTpl
ZTo0NjoxMjoyODo2NzoKKyAgICAgICAgICAgICAgICAgICAgZjI6NWY6Mjg6NWQ6NmE6Mjc6MGM6
ODQ6Mzg6Nzk6ZTg6ZWY6YWE6Y2Q6YTE6CisgICAgICAgICAgICAgICAgICAgIGU3OjkyOmU2OmY5
OmE3OjlhOjY5OjgzOjMzOjc3OmIyOjQ4OjYwOjUxOjc3OgorICAgICAgICAgICAgICAgICAgICAx
YjpjMTo4ZjoyYToyNTo4YTpiZDoyOToyOTphYTpiZjo0YzplNzplYjo4ZToKKyAgICAgICAgICAg
ICAgICAgICAgYTk6YjM6ZWQ6OWQ6M2M6NzA6NTY6ZGI6YWE6Y2Y6NGM6OGI6YTM6NWU6MTk6Cisg
ICAgICAgICAgICAgICAgICAgIGUwOmNmOmNjOjgxOmFkOmRkOmY0OjcxOmRiOjVkOjUxOjYxOjdi
OjkxOjBmOgorICAgICAgICAgICAgICAgICAgICA0ODoxNjo2ZjoyYjozYjo5MTplNDo3YzpjMzpm
YTplNDplNDo4MDplMDowYjoKKyAgICAgICAgICAgICAgICAgICAgMjQ6ZDc6OTc6NDk6OTk6NjI6
ZjM6N2M6Njg6NWI6OWY6NTY6NTY6OTg6OTQ6CisgICAgICAgICAgICAgICAgICAgIGZiOjI3Ojlk
OjQ3OjQzOmZhOmQ5Ojk3OjYyOjBhOjExOjlhOjhhOjY5OjQwOgorICAgICAgICAgICAgICAgICAg
ICAwMDo2NQogICAgICAgICAgICAgICAgIEV4cG9uZW50OiA2NTUzNyAoMHgxMDAwMSkKICAgICAg
ICAgWDUwOXYzIGV4dGVuc2lvbnM6CiAgICAgICAgICAgICBYNTA5djMgQmFzaWMgQ29uc3RyYWlu
dHM6IAogICAgICAgICAgICAgICAgIENBOlRSVUUKICAgICAgICAgICAgIFg1MDl2MyBTdWJqZWN0
IEtleSBJZGVudGlmaWVyOiAKLSAgICAgICAgICAgICAgICAwRTozMTpDMTowRDo2Qzo5NDpFMTpG
MDpEOTo4QzpDNDpFNDpBNTpERjpGRDoxQzpDQjozQjpDQzo1OAorICAgICAgICAgICAgICAgIEJC
OkExOjcyOjYxOkZDOjVFOkNBOjhBOkM4OkI4OjY4OkRDOkNGOjYxOkY5OjczOjg0OjUzOjAzOkE5
CiAgICAgICAgICAgICBYNTA5djMgQXV0aG9yaXR5IEtleSBJZGVudGlmaWVyOiAKLSAgICAgICAg
ICAgICAgICBrZXlpZDowRTozMTpDMTowRDo2Qzo5NDpFMTpGMDpEOTo4QzpDNDpFNDpBNTpERjpG
RDoxQzpDQjozQjpDQzo1OAorICAgICAgICAgICAgICAgIGtleWlkOkJCOkExOjcyOjYxOkZDOjVF
OkNBOjhBOkM4OkI4OjY4OkRDOkNGOjYxOkY5OjczOjg0OjUzOjAzOkE5CiAgICAgICAgICAgICAg
ICAgRGlyTmFtZTovQ049d2ViLXBsYXRmb3JtLXRlc3RzCiAgICAgICAgICAgICAgICAgc2VyaWFs
OjAxCiAKQEAgLTQ2LDM4ICs0NiwzOCBAQCBDZXJ0aWZpY2F0ZToKICAgICAgICAgICAgIFg1MDl2
MyBFeHRlbmRlZCBLZXkgVXNhZ2U6IAogICAgICAgICAgICAgICAgIFRMUyBXZWIgU2VydmVyIEF1
dGhlbnRpY2F0aW9uCiAgICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5
cHRpb24KLSAgICAgICAgIDMyOmE3OmY2OmZmOmJkOmNlOjU5OjJjOjkzOjk0OmU5OmExOjU3Ojg3
OjdjOjAxOjgyOjIwOgotICAgICAgICAgZDY6MjU6NmE6MDk6MDU6ZjY6NzQ6ZDU6M2Y6Mzc6Nzg6
YTk6Zjk6NWM6ZjY6M2M6MTQ6ZTY6Ci0gICAgICAgICA1YzoxZTo5Njo3NDo5ZTo0NjpiODo1Zjoz
Yjo4ODpiYzoxODozYzpjNDpmNjo2ODplMDo3OToKLSAgICAgICAgIDkyOjU1OjdjOmM5OjViOmIy
Ojg4OjFlOjc3OjU0OmFkOmJjOmUzOjQzOmNiOjJjOjRjOmYyOgotICAgICAgICAgMDQ6NGQ6MDY6
YjQ6YjI6MWI6MzI6MDc6MDY6ZGU6ZTg6YjY6ZDE6ZmI6YzY6YjI6YzU6NDU6Ci0gICAgICAgICBm
YTozMDo0NjpkZjo0OToyMjphODplYTpjNTowYzphMTplZTpjMjpmYzoyOTo0OToxMjo4OToKLSAg
ICAgICAgIDc2OjQ0OjJmOjkyOjUzOmNmOmQzOjVjOmEwOjNhOjgyOjk5OmNkOjFlOjQ3OjJmOjk4
OjJhOgotICAgICAgICAgZWI6NjQ6OTg6ZGI6YjU6OTQ6NGY6Y2Y6MWM6MGY6ODg6Y2I6ZmI6OTg6
N2E6Y2Q6YTc6NWQ6Ci0gICAgICAgICAyZDo1Nzo5OTo0ZDo1Mjo2NTo0OTpjODo5YTpkYTo1OTpm
MzpkMDpkMzo3NTpjOToxYjo5YzoKLSAgICAgICAgIGM2OjhkOjhhOmYxOmQ1OjI5OjYzOmY0OjUz
OjAwOjgxOmUwOjE5OjhjOjg5OmYzOmY5OjAyOgotICAgICAgICAgYWQ6NDQ6NDg6MGU6Y2Q6ZmQ6
NjY6Nzk6ZmM6MjU6YzA6MDc6MDc6ODY6MWM6MjQ6OTg6Mzc6Ci0gICAgICAgICA3MjpmYzo3NDpi
NTo3ZjoxMjpjZDowODoyNzo3MDpkMTpjZTowMTowMTowMToxNjplYTo0YjoKLSAgICAgICAgIGJm
OmRkOjNhOjY1Ojc3OjMxOjIwOmRiOjllOjFmOjgyOmFlOmFjOjljOjViOjQ3OjBlOmIyOgotICAg
ICAgICAgNDE6YzA6YjI6ODI6YmE6NTk6YWE6OTQ6Yjg6YzE6MzE6ZjU6MDc6NTY6NzY6OTQ6NjA6
ZjU6Ci0gICAgICAgICA2NDoxMzo0ODo1MgorICAgICAgICBiZDpjODozZjoyYTo4MzpiZDowMjpl
ZTplNDpiMTpmNDo0OTpjZDpkMDo1ODo0NToxMDpjNToKKyAgICAgICAgMDQ6YTY6NjY6Yjk6MGY6
NzA6ODE6ZDc6MDc6Mjk6N2Q6MmY6ZmY6MDA6N2E6ZTU6NGU6N2M6CisgICAgICAgIGM3OjY1Ojc2
OjJkOjQ4OmJiOjM2OjAxOjY1OjNjOjgwOmRlOjFhOjBhOjMyOjYyOjUwOmQ2OgorICAgICAgICA5
YjphODplYjpkMTpjZDplYjpjNzpjNjo2NzoyNzpjOTowNDo0NzpkMDphZjoxNjpmYTozYjoKKyAg
ICAgICAgNGY6Nzc6N2I6MGM6NjY6YTE6Yjc6MGU6MjQ6Zjg6MjE6MTM6YWM6ZTE6MjQ6Mzc6Nzk6
MTA6CisgICAgICAgIGFjOmE1OmQ1OmUzOmYzOjExOjBjOjY5OmZjOjU0OjUxOjZkOjA2OjQ1OjEw
OjMzOjIzOjgxOgorICAgICAgICBhMDo4Nzo3OTo4NjpkNTpmNTpmYTphNzo2MDoxODo0ZDpjMTpi
YjoyZjpkZjpjOTphNDplZjoKKyAgICAgICAgMTc6MDg6NzY6YmU6MTk6Y2Y6NTg6M2M6MjU6NTE6
NDc6YWI6OWM6MmU6NTM6ODg6NDg6NzM6CisgICAgICAgIDJkOjczOjA1OjJkOjMzOmQ4OmQyOmMy
OjYyOmNhOjYzOmVmOjRlOjA0OjYzOjhmOjdiOjM1OgorICAgICAgICAyZDo5NDphMTo2Zjo2NDo5
Nzo0MTpiYTpkMjowZTpkMzpjMToxYzo3NTo0NzoyYTowOTowNDoKKyAgICAgICAgY2Q6ZGQ6NjA6
N2U6MTc6Mzg6MjE6NzQ6YzI6ZmI6OGQ6NmQ6NjA6MjM6OGY6ZWQ6YjY6YTQ6CisgICAgICAgIDQx
Ojg4OmYzOmJjOmVmOmQ3OjAzOmM4OmI2OmY1OmUyOjdhOjBkOmJhOjRiOjhiOjdmOjIwOgorICAg
ICAgICBiMzo4ODo0YjphMDo4YjpkYjpmZDpkNDo5Mjo2NjpmYzo3MjoyNjo5ODpiZTowYzo0Yjpi
ZToKKyAgICAgICAgNmI6MDg6Zjc6ZWQ6YTg6OGI6ZjU6YTk6MGQ6ZWE6Njg6NmI6ZWU6MDM6NjQ6
NTc6NjM6ZDQ6CisgICAgICAgIGJkOjE5OjhmOjVlCiAtLS0tLUJFR0lOIENFUlRJRklDQVRFLS0t
LS0KIE1JSURUekNDQWplZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFkTVJzd0dRWURW
UVFEREJKM1pXSXQKLWNHeGhkR1p2Y20wdGRHVnpkSE13SGhjTk1UVXdNVEkzTURreU56UXdXaGNO
TVRVd01qSTJNRGt5TnpRd1dqQWQKK2NHeGhkR1p2Y20wdGRHVnpkSE13SGhjTk1UVXdNakk0TURN
eE1EUTRXaGNOTVRVd016TXdNRE14TURRNFdqQWQKIE1Sc3dHUVlEVlFRRERCSjNaV0l0Y0d4aGRH
WnZjbTB0ZEdWemRITXdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUEKLUE0SUJEd0F3Z2dFS0FvSUJB
UUN5MDZMWXpaT0NUNGQwU3pWM0krL1VpL2l0QU5yTlpqOFBYUmQxUk5EdWc4cU0KLWMvUlZJS1NT
aFVEa29sOVpVSFdKUjFCelp0ZEFxcVBMSnNvTXNKU09QeTdINGxPdTBjUS94ZGhVMXljc3R2Q2YK
LUdBWXd1ZDdFUFcxN1lvVHpXam0wZ2YySDl0bk5GZVdjUE94OTBGRG1uMDdDZGNxWk9xSk5oWEN0
VWRZVHBGME8KLWFmZVlPa2dCaGlZcCtJeStheVBNbmdERUVTM0N2eVhpRWdwa1FhMm9ONzRCcUxk
Mzl5TnhWZkpuTU9HQWIwanEKLTQ1cStzZmxTQ3RRNFN3ZlhpbXlHVkNUbkFjaHc2N1EvV2xSWEU2
RFJiWXVtbTd0Z2lDV2grTTU5QmRaU0syLzAKLUZPSHRiT1FBRytZZlhQaGdweDczdDVDZEtKTVh5
VjRXN1pycGFKK3ZBZ01CQUFHamdaa3dnWll3REFZRFZSMFQKLUJBVXdBd0VCL3pBZEJnTlZIUTRF
RmdRVURqSEJEV3lVNGZEWmpNVGtwZC85SE1zN3pGZ3dSUVlEVlIwakJENHcKLVBJQVVEakhCRFd5
VTRmRFpqTVRrcGQvOUhNczd6RmloSWFRZk1CMHhHekFaQmdOVkJBTU1FbmRsWWkxd2JHRjAKK0E0
SUJEd0F3Z2dFS0FvSUJBUURGQ2hRMjc1NEI2M2I1SDN3K1Jpa2M1NnN4VmtoUlpFVGY1bG9WSy9j
VmZvWFEKK21aK1VuOWJYTHhDK0dwUm1pc2JsY3BEdEZhL1N2QUFhL1FvVW9yQWNBdWtRR29rNXdH
NjFWWlJrT1M2UTltTzIKK2tPY01Cbm5ha0xTdllkLzFYeHVGTDJMYTBkYUFJNUY4M253MytUWFVV
NGVTVXpqWlJXa1phcFBCQ05VNkowSHUKK1JoSW9aL0pmS0YxcUp3eUVPSG5vNzZyTm9lZVM1dm1u
bW1tRE0zZXlTR0JSZHh2Qmp5b2xpcjBwS2FxL1RPZnIKK2pxbXo3WjA4Y0ZiYnFzOU1pNk5lR2VE
UHpJR3QzZlJ4MjExUllYdVJEMGdXYnlzN2tlUjh3L3JrNUlEZ0N5VFgKK2wwbVpZdk44YUZ1ZlZs
YVlsUHNublVkRCt0bVhZZ29SbW9wcFFBQmxBZ01CQUFHamdaa3dnWll3REFZRFZSMFQKK0JBVXdB
d0VCL3pBZEJnTlZIUTRFRmdRVXU2RnlZZnhleW9ySXVHamN6Mkg1YzRSVEE2a3dSUVlEVlIwakJE
NHcKK1BJQVV1NkZ5WWZ4ZXlvckl1R2pjejJINWM0UlRBNm1oSWFRZk1CMHhHekFaQmdOVkJBTU1F
bmRsWWkxd2JHRjAKIFptOXliUzEwWlhOMGM0SUJBVEFMQmdOVkhROEVCQU1DQWdRd0V3WURWUjBs
QkF3d0NnWUlLd1lCQlFVSEF3RXcKLURRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFES245dis5emxr
c2s1VHBvVmVIZkFHQ0lOWWxhZ2tGOW5UVlB6ZDQKLXFmbGM5andVNWx3ZWxuU2VScmhmTzRpOEdE
ekU5bWpnZVpKVmZNbGJzb2dlZDFTdHZPTkR5eXhNOGdSTkJyU3kKLUd6SUhCdDdvdHRIN3hyTEZS
Zm93UnQ5SklxanF4UXloN3NMOEtVa1NpWFpFTDVKVHo5TmNvRHFDbWMwZVJ5K1kKLUt1dGttTnUx
bEUvUEhBK0l5L3VZZXMyblhTMVhtVTFTWlVuSW10cFo4OURUZGNrYm5NYU5pdkhWS1dQMFV3Q0IK
LTRCbU1pZlA1QXExRVNBN04vV1o1L0NYQUJ3ZUdIQ1NZTjNMOGRMVi9FczBJSjNEUnpnRUJBUmJx
UzcvZE9tVjMKLU1TRGJuaCtDcnF5Y1cwY09za0hBc29LNldhcVV1TUV4OVFkV2RwUmc5V1FUU0ZJ
PQorRFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUwzSVB5cUR2UUx1NUxIMFNjM1FXRVVReFFTbVpy
a1BjSUhYQnlsOQorTC84QWV1Vk9mTWRsZGkxSXV6WUJaVHlBM2hvS01tSlExcHVvNjlITjY4Zkda
eWZKQkVmUXJ4YjZPMDkzZXd4bQorb2JjT0pQZ2hFNnpoSkRkNUVLeWwxZVB6RVF4cC9GUlJiUVpG
RURNamdhQ0hlWWJWOWZxbllCaE53YnN2MzhtaworN3hjSWRyNFp6MWc4SlZGSHE1d3VVNGhJY3kx
ekJTMHoyTkxDWXNwajcwNEVZNDk3TlMyVW9XOWtsMEc2MGc3VAord1J4MVJ5b0pCTTNkWUg0WE9D
RjB3dnVOYldBamorMjJwRUdJODd6djF3UEl0dlhpZWcyNlM0dC9JTE9JUzZDTAorMi8zVWttYjhj
aWFZdmd4THZtc0k5KzJvaS9XcERlcG9hKzREWkZkajFMMFpqMTQ9CiAtLS0tLUVORCBDRVJUSUZJ
Q0FURS0tLS0tCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL19jZXJ0cy9jYWtleS5wZW0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL19jZXJ0cy9jYWtleS5wZW0KaW5kZXggYmNkNDdiMTI5OWYwZjNmYWQ1
YTkzNTI0MzNhYzIxZGEyZjIxZDYwZi4uZDNiMmQ0YjkwMzM4YWUxOTUxNDY0M2EyMzliYzZjMjE2
MGM5NzQ4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9fY2VydHMvY2FrZXkucGVtCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvX2NlcnRzL2Nha2V5LnBlbQpAQCAtMSwzMCArMSwzMCBAQAotLS0t
LS1CRUdJTiBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQotTUlJRkRqQkFCZ2txaGtpRzl3MEJC
UTB3TXpBYkJna3Foa2lHOXcwQkJRd3dEZ1FJWHJjSytkRGZzMEVDQWdnQQotTUJRR0NDcUdTSWIz
RFFNSEJBZ2h4TmV2NnJTMHpRU0NCTWo3dlc1Y3ZtSGl0emQvc2ErYTFWdUhvYmVQMGo3VgotaVlU
YktzS3JJK0pHcjhSb2NLTktNaEFHUFNVSWQvSDIxaEduMVRqT1ovZnlTVCtqY1h2MndWdURFQi84
eFR2agotcU9zdkZHaTM4ZkZqcGtaeVlzUTZwVVFWSnB6K1d3Yk9ZZzhlYk1HSTd5N0tTTjZpV05H
bzBFbXhPd092ZkpSegotLy9ydWNLNnV2MVdFMmdqWlpQRS82QU1JY3p5bmFjWHJhTGxPdEJKbEla
Mk5uQXhVK1c4MjJKTmw4VFloUnc0dwotUHc4Qzh4WEc1d0pUYmFHdTBZZHhNamVDcktudEM1SDNF
WDFzZ3pCL2RoRFZadGFnMzI0bzJuMUJtcDhjR2Z5eAotWXFMRlNkeXpSZEJEd2U3aGNwOFlOSDRD
QmJKU0E5NkVDdkl2YVZVcjV3YjRvbURleXczeE5hUnkyVzV0RmRUVQotc0pNZzJXWWxYTVlYbFJZ
UU5qcmRIU2VHM1c0VFdKWHZBOVhxbU9oRFNlN0VHdnFFTDA1b2JydVgzZUFVRm9BYQotQ01iSzB2
dnJjV204TUxYQiswcVdjT2F0ZGFFc29BOVdkblJYV281cHZKOEJZYllNb0tBTkxFc3VxMy9tMHBo
dwotTGR2azcyWjFNRTU0bjJsTVh2MkcwQUY1RG4wYStmbWxUb2FqbW9kMDY1aG1pbFF6c1l3L3Bn
cm5MZXBTN2FCcAotOEVXZWc2NjB3QTUzeGlaeWhkMURKTjZMemZKN1RjSjNVWVdBUzh0Vlk5Y0Jo
Vml2dlhCZ1J2TERYS0thNFNQRwotWWJyUjZuSFVLWERtSWdPVWJKT2NQUmdWQ3pid0IwbWRyNFJX
UitXZmVwRU9KUVpSbTZZT0pRamgyK210TXM2KwotbUFORFd5RGtCU1BlcTRIVTZDTG1NalBjRkZH
bXF2eTNkMkNXdHN6UEJKVlVycTVTcVg3SEh2d3RDcDZEaU1nTQotc3NWVVZjL3cvUE1EY1hLa2Ix
a1l3Vy92RDZGQk8wVWN4YlZEcFRIREhIaWxBVjRtRXZTMDRpQVpGUlA0ZWYwMwotMzNLQmhuOWVU
bU5oL1Q5VzBvcUR6bVljeUplSzJpemtkbUphSHQwaENKRFRNYjR0R3VVTE1YTDhLSlh3UnRCWQot
V1laa2pib1praXgxbTV0a2V4SE5LYWE4bnRVK3U4a213c2VoRGNnZWQrVUxUcDVuYWxIVTJQdDVD
RmFJbUJUYwotTXloUFhtZnRmRkVpSFQ0bmNmOVJCT1ZOSXZMUlF2ejZ2RHFzalV1M3VsbTI2bnlN
SGRkRjh4ZVFYdlcxN1VsOQotUjdENTJETGdxNmVmektOWXFVREFiVG9ZUW16aWxOV2psdW12VU9o
UGZkTjV6bkZVdk9RTzNoaGlJVmk2M0FoWAotSnFzdG9XdEZnWElyN21tcEdGRTg4d01HZWpRTmd0
K2NEZGhJNmUzU1Y3U2dhL1ZwOE1tRWJOVG04NE1mVnVIOAotclVXWWJPb1VUQS9OWDhuZ3FBckR3
c2MwTG1Qc1V6VkFQcVhtUXdWQmJqb3hUQTlGS2s0YlFFeG1IQmdZeFBoRAotSGxsTWhLdGtSRk52
REE0Ync5VlVZVmg5eUtXVDZvUjk5REtsNGtBNklLaG1DaE5MZ2RtZ2R5VzJmeDlmYWMvVAotTVRI
cUgvb09rbjVsSlhGa0JNWmNFODZjNlRMcVNGZHJjK3ZIYndreTNDd01uZkExTXM5WWYzSkVKVm9i
MTNMVQotWjA2dnNhU1VJK01pUWtrTXBmR0ZCT2w2WGVNNUVLalBmRjR0VjhpallDazk5M01OaHhE
dUg3SmdBM1JLTklIVgotYktvKzF2eHNVS2tjRXAxWU9pZHlJaUNXYlFYcDc5Y0ZFeVhkeHl0MFBh
cW44K3FwVk1LNU4xN09SRTR0MDIwcAotYWgvVnBwd1Q3UkVER1JQL3MrdUh3K28xbzI3SU9PUmI0
RVBzcXFlN1B2dU1qYTZpeXUxRGZDQmViT2h6SVlkTgotZDN5WTlEbVF1MTFkVEgzUkVySDRHaDgw
dnB3QWlZdjVteGdpdVRLbk5TOTVabjFIWm14TUtSRkkzYWtpL2FJRQotVS9xQTNZZlphRTJsckI2
Nk5DdFZhRzMzdStaSnBkaEZNT3VVdUdyMnF6b3ZZaVVKVlpjS2xsMncvWHVCYlBEMgotRjZrPQot
LS0tLS1FTkQgRU5DUllQVEVEIFBSSVZBVEUgS0VZLS0tLS0KKy0tLS0tQkVHSU4gUlNBIFBSSVZB
VEUgS0VZLS0tLS0KK1Byb2MtVHlwZTogNCxFTkNSWVBURUQKK0RFSy1JbmZvOiBERVMtRURFMy1D
QkMsMjU1Qjg0NzA3NDFCMDc3QgorCis5NEFpNlFBU3BpRUtmTzFPaFFSM25KVE83MEgxaUZEYVFy
SjA2ZHRRMlZ5OTR1YUkxZm9TZkF5Rm9OT3FhNW9UCis5dkNobE1JY3ZWeTZPTGtTRTIxdzhMa1cw
OGVkK2h3WFZ6anBPR2VtekZjZnE5elBsbFhOMGE1Q2FXOElpV2twCittbDE2WSs1b2UzSTdUWS9Z
c2I1a2Z3UVEwd0VrbTd2K3laZUZaMjVWNGYwaE5SVVJjc0pUYURTU0RNSE41TUY4CitxbVNoMEpk
OVN0SmU4QlhqNFVwbE1ZL3lzQ1BBUCtrZWpvNkdjVE1oTnA5Uk9mbWdJQklSSlJjaytoaDR3Smgy
CitxeDVzRE9lNy9zeTJkdUR1Z1pBWHM3Q0dhQjhXMW1nSVZDaWcvK1FYVUpUR2JSM0I4Wmw5M2JB
amhOU091SVFmCitGSUFxcllERTBKakxTcFlyOGMzWjdPbkZaSEFHOHpSbFhuRVdZR2pGM2RHaFRP
OGdDT3FCR0dVNGNuc3hKMWZhCis1MzdrU3BwYXNWd2FBWXlvSjdnd2tTblBwM0UvTHBnOE5xRWx5
WkVwVW5BWXRFY211TU9GM08ybG9RQnBsa2djCitPYkZqam55NTdTbDVTdGx3TVBSRWdKWFlyOEpT
V2thT01FUnNQV2d6WWxiVXZSS0dnWXdrWW4vc3gzcGhhRUpoCitVNzB0cXBjb3FLbXcwNU1kNE1y
ZXdvbHVRR2Y5Y0lFb21vRkFuVVhlblloYUt4S2pCVVp6K1pLTEpGM0lEUE9WCitMUXh4RTZkdG5Z
c1lMT3ZxSVNMQThBbUpMamlpcE8yT3Z1Q2NlSWpPVzIxQmJzWXo1bGlwTGV2RWl2MHAyWExOCisz
UDYrenBGKzJvYW5vS0tsYnhENjZocjN4OTdwOStIZjliZy80VEhydE9SOWxpbXdYZE8vSWJKZFVV
QjNVWW43CitSUEFONGZ5Q1hwYms0cUlNR0xoMGIxbXJBQnpVUW1hdkovNTUyNEYzeFFocERTcVpr
aCtrZGI5T05PQytVYnZ6CitlQVhUV3ZhdWhUcFNjczFQeXRveW92cVh4ejMxZmtFbXM0Y3VrMkdG
Y3VDdmtCTUdBWHl1Z3lXTHVEcGh1aUNOCitMSVZqR3R3VUhEMG5LTUpVSEhhdXp0bHgvYy9aeUx0
NXMxU3RVNWw5LzFQVmF3Z3IvZWRzNGd1Ny9wclNkUi9HCitOeno3YjRDMHJJb2lMc3R0NGRwWHJ1
SEFCQllCemVaaTZhazNqcUVETFB1cEE0dzY5QUMrRTVnTFZMMUdna3BwCitaaWQ0L3I5ZDlyMzVp
ZTRjdUR0c25UUTljVU1abVpMTE0rN1lBQ0xna2ltR1F4dFpxd0lvOXVLWUY1N2MybjAyCisyR085
dHZtNDNLMXgxYTlwVGZ5YTNTdlNEakh0N05wdlVrQ1JnNmlxWWtaaTRYNFQybFFsUXFwY0pVV0t2
ZWVmCitIMEUreGwxL0dnZFNrMVAxSkZDT0lDaEY5RkVaMXZmeU5KK0FXR1htOURub1p0QnlhUFk0
ODQxcEg3aWJTM0RZCis1bVBQcXNPZEpxS2dIRVNpT0RqYTd6NFgwZjdPY1AveEdTc1ZkcCs4TFdz
RjJ3ZVZhVE5PVDh2emdWTU9ZbWlRCitwakt0U1VwNEovcXhqdEpEQzFnSVY3cHdzckVBQ1hYSUha
ZllraG5aRU9lazZub1RDai9jdU9IeVAxVlBBdElDCitQN0t0SkxzU0M2cndiOTRQL0R0cHp3WENP
Unpmdnd2RUlQWWxiSjgwNUxBMzlOOW1hNWpKSkRlOUM5WEhDblVDCit4R3hGZnVSdXJFbkVjYzl2
aS9JbXlQeUhSNjlQVlgrK3llNEt2L3YrdjhUZVd2SENUa1JwblRRQlBhZ21ieGpzCis4NzFZOGhp
ais0R1JtTzBHL3oyTU56WkhNRDRPOW1GeHhLUDNnc2dQQ0h4VDlFMlk0QWZiZktEc1NITDJxbi9T
Cis3dzZ1RkxUbkdGUWJPS3k1NzlZb1FEOEtWTTdWS3BLVURuVFBVWGhsOGUzMVZCdXJSbllXM2Rq
UzJ0SjJNNUE5CitxREdZZUtaUVFEN2lob0Q4RGFaa0pQVHg1NkNGZEpWcEdtOTI5Q1Q3cjNpTGtt
aytMTzhDMkE9PQorLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvX2NlcnRzL2luZGV4LnR4
dC5vbGQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL19jZXJ0
cy9pbmRleC50eHQub2xkCmluZGV4IDc4MmI4MmJjYTUxYjI0NWUxY2M4Njg2YmM2MGZlMjU5Yjcz
ZmJhYmIuLjczZGU5MzNkYzM2Y2VmMzhkNGNjNjcyNmRhMTZmYTQ4MmI2NWJhZWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvX2NlcnRzL2lu
ZGV4LnR4dC5vbGQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9fY2VydHMvaW5kZXgudHh0Lm9sZApAQCAtMSArMSBAQAotVgkxNTAyMjYwOTI3NDBaCQkw
MQl1bmtub3duCS9DTj13ZWItcGxhdGZvcm0tdGVzdHMKK1YJMTUwMzMwMDMxMDQ4WgkJMDEJdW5r
bm93bgkvQ049d2ViLXBsYXRmb3JtLXRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL19jZXJ0cy9sb2NhbGhvc3Qua2V5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9fY2VydHMvbG9jYWxob3N0Lmtl
eQppbmRleCA3MDE4MjgzOWEwZDZmZjI0Y2ZjMDRhYzRmMGNkYTFlODg3MTg5MzI5Li40MTFjNmZh
NGU0MGQ5NjYxMjBlMTIzZDgzOGFhMDk0NjRjMjhhZjU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL19jZXJ0cy9sb2NhbGhvc3Qua2V5Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvX2NlcnRzL2xv
Y2FsaG9zdC5rZXkKQEAgLTEsMjggKzEsMjcgQEAKLS0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0t
LQotTUlJRXZnSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2d3Z2dTa0FnRUFBb0lCQVFEb1Vl
eGhnTGFzWnUxegotQ2RzQU1FZ0VnK0ZCWlpVdGp3MVFZOUtNS2xDVFMxWjRaWmJQZVV5Y1BPaUc2
c1hDNlFxY1h4V0xwZjBoVitvVAotSTFVR3dvck1QNnFyMU4yNTZ0bUt5U2g2M2hUWWNpUzRwTC9H
WkhMWHFkRGVEdDlNcGxBWUp2TmI3RUJxR2ljTQotR1lWSE5LMUpONjl6am5lelE5T0RPa3QyRnJP
NDZSV1ovd2VxWCtFbXVYSUNod2RwTzRhRmozbXRyT3dWeEJZdQotUlNxcEdvSWszcXlFVm9pOVov
UHp1NFRYci9sbEl3SHBBZEFFenFZR0NRbEVXS2U2aWF1eXlwZTJHR3BzaEtoSAotNS9WZmo3OXhl
MCs1clRIZGM3OWpuN1JHakpPRkpDVVpjKzBER2ZNL0hhOE9pNlIya0lnNXRTZjVGNGJ4Uzd0Kwot
WUgvNTEvdGxBZ01CQUFFQ2dnRUFHSW1lbCtYS1pZY3hpVGIvUkpQVTUzVXVjNFBSTDlDdUxWRjl5
WVFtb29nUQotaUFMaTNPTUk3bStZZDdlUVQ3ZmhnUWFoOWZBQVBtZFV0OVRCaEVkRDliSzd5ZzVm
cE9Wak9MOXFZUi9Ydjh5KwotaUNvT2YxdllyV0tvUnV2M05kZFRHbG55MWtDcnhRa2lHcXNQWXFm
enJZb09JL3htTkM3enhpYUFGZWJyOEptcQotT3NKV2o1ckQrSjNKS01XU1JrNHpKSFRFaGNhSS83
NHBQRkFDREVPNlJ6R2FzUWhiQ0VNRWxNWElvcjZzQlFPRgoteWV1aXJncEhwRUhxK0xsWFpkVTYx
Qnh2c0dLc0Z5dzhmWitzd0RjSm5za3Q3aDN5dVh1MUlzcDMySTN3Q25OeAotalVaVDZHb284am9z
VHJFZTNGU0l3cXl2dHR6ZGZZRVQyYktodHVDRnVRS0JnUUQ5UytMSDhFYXRuK0lEVEN5bgota0p1
VitVbnUrdkR2SmxLNVRLTXQ1S2lZVHBER2c1Ti9JZXhHSkFaNEtGaHhFV0lZZzF1Y3Nvcjk1Vmpr
dVYxVwotMG05T2t4U2RhM0w2MHFHWktWZDF6eXNFYlBxWmZxVllFWkVwVGVlVDhLOWYzSmI0R3A5
bTBIUGUwL2d0b0VTbAotYjhmWkI3T2N5VDUzenNxN0YxUGtZQ2cxY3dLQmdRRHF6TGlSQk5TQVpy
K3loUDF1M2JZQWt4UjNKcG9DTFR5RAotbjJMaFVNVFBlSVMyV0RubWN6NUJUemFEaDh1Ty91NG1Y
ZFI3VGFTUXUvWVI5QlBMYlRoeG94cUJudlNRSndFSAotTmNpekRKZU5ULzVhK3pPYnIyUk5OWGM3
MERhdUR6eWdJclZxRUJxSERaeFowNDgwWUlkQjA4cmVIdU5UMWlZZQotczBxZEsvd1Z4d0tCZ1FD
SkNRVW9KbFlXbU9rdDM0aEpIM01OTUZGUGVYUGY3bHZTNUNOa01ORUZsWHU5Nm5GaAotMW5oOWVn
QUdBYzNYWGhBME10emRhYnJJb2N2MThsTU5KY3dTTm9Cd3FqRUtnZW5yY3ZKZVNqWjdybm5sa1I3
agotQnA0Q09xT081aWY3Tk54NFhlN2ZNT2QvSmk2ZWdKYWk2bGEway9ZWVhNZnZDWEdreG5vY2sr
a3RBUUtCZ1FDRwotMTUwalEzZmFhYWVybVM2R2JmTm83dzZ3d3MxdGRKY3RLK3E0WlE4eDZ3K2tQ
SlM3NFBFZXhxUVM4M2lXblpjZAotRjRQQWNEMlRGUzdpN3A0emxIejIzZW1LQ1VTQVNMWVJjdlRZ
eHVGK09UTmxBcUNIeHprK0VmZHd0VW5CdW1SaAotdnEwYXhUYkcycTB3OVF0bjFBdTVaUzA3Vk5m
T3ZNeFZremZGZlk0ZTN3S0JnQnk0UXFUYXR6NFlhT05WMFY5RQotQ0ZHc2NIOFczWmtoU2FxR2NV
MGNWc21iMXNKMVc2NkZmcEFhWTBSaVhYNitXeE9HVWVYckJLWnROR3FwRUYvaAotNXJIaXlKTjF2
bGxnenJNVW0vNHYxUEtDNndVOVB2c1JqVWlvZWR0QjRVMCtvaTJRejZwN2ZrSjh6Q3pIclgvegot
ajJYaFhicCtSUUFyOElHNzRmZjZScG81Ci0tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCistLS0t
LUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCitNSUlFb3dJQkFBS0NBUUVBeFF6TStBS2tpc216
MDdTMitzZkhSRUxjUjJvOVRMREd1djNKMVZnWUpWWFJtclJjCit0aU5zY0k2K2ppSlkwQjJlcmRr
cVFYdU1xUVpwY0R3MmcyUVJUZnhLcEk0RitGSEZVTzh2eEZxcXlZbTJZbFhBCitKZ2VHcmJuVE5N
UU1IN0NYa2M3MHhhcmhHZG5VVVlvUTJDMCtlNnhGUEQ0ek12d0RyL2U3eW95NW0rUXdENXhpCitv
Nmcxb2V2QXpETGJUOGwxZHlubkRJcWtta2d5UzY2ZnJlaDgrdXBoM005a01XanpheXhTRzlycVhx
ckl5b2t3CittR1p0Z3JrSjd3cWsrVFYxajVXY0lNNE9lZk9YTVVYeTQrL2JPZzRpVmJzK0dDdFBt
Q3M5cmZyK1FQd2NZOUNTCisvOGgwNVRhTklZTXRjMGkvU1VIQk4wUWNwYldtK3FTZUVCRlBOd0lE
QVFBQkFvSUJBRUdsOUJ1a2RjRXZWZFB3CitYdzNKeFI5K3p2aVQ4bnc4WU5rbmVEaTFzc1d0Zzds
dzRYcGs3dG5KRkw4eHZqa0h4VGZTSS92UTk1blFZd3hiCitZeVgvRHF6V290K1QyWFZUZU5Odi9K
QUVUT1g4RldGSmhFeW5NVDFycld2azdNMFova1U3bDl6TEExZWpkTkw5Citsb01PLzhRZ0xxalZh
Q1ZTUk1BNVhyMHFpU1BnR21HSm94SDBtU3FFamlPUnpSRGFoemtQT0xXWk54djBHV2ZrCis3SytS
VEs2RkVVcjZoV3l4anloWDlLQTczdnlWZVEreW5BZ1pwbGhuNjdIQ1liY2pJNjNBZjY2RXRRWDNi
ZmRDCit4MXV1UUhDekVTZHNPdjFjNytWZW9ZNGlnZjJVYytYR3o0UUw4SXRxSFFqMU5rQ3F0N1lZ
TmFMOEZJV280b2tDCitSc1MwNkNFQ2dZRUE0cjJWRVhhUGloZEZaZm9UQkh2ZXM0ZmdnTEFmRkxt
Uzg2aTVJOWM4OG9zaXdPOVRqQzlyCit1N3IzcjEvalp6R3EzWjNWcTd0N0t1V1J4L2lJSVFkRlZ4
aFRWblNmRjJqSUkyc1dkQ3BiU25hbmpUdlhrZThHCitTQXJxc1VTcTFTblBrYU9XVUVpNjBNVlJk
M2NFK0xZZ0dpTG55Qys1cWdXMVVtajRnc2IzSFE4Q2dZRUEzbnBpCituM3EzK1ZXaUprckdDdjdo
cm4veFIxblhjaFUrbU16MEVla2dDU2tuQUNmK0xCdURwLzFwak5wK0UyTEpyd2t6Cit5cllSRGt3
SnI3d01oZG1pVTYrbk9zZXZjNEd0Q1MvMVR5UGgycXBjdkR1ZC82dDBqbFk3cVB6UGo2S0h1RzJi
CitLYlVwQmZ6VWRCdlNoRTRXKzZ0bjRhN2JoTjgwZ09uaFl3ZXVlMWtDZ1lFQWd5M2p2SUszY05F
ZDJXM2c2c3N2CitnUGF2c0VRMDl5eVdGRm9kSXRzMzY2c0xwRXZTTGx5Ukc3K0Q1UGE0L2M4Q1o4
MFUvWkl1SkJkRlRFaEJtYm8zCitKN2h2SHFuQ0VTMFIvVXZMWmRITGx6MG1tdE53V0lITlJJanNW
enEvQ3l4eFpuVWFWY0IrTktLMEMwWFVubi9mCisrcjhQRWdacWlDOWRSQnh2Q2xwS1JZa0NnWUFu
Z3NhM0dmMUlXNnZ6YnY0aS84Y216WFFWUHVCalUyQ05sSUNZCitHYlhseXBneGoraTAvcUh3R0xK
QklLQ1pZc2I4dmY2anRwZnEyUmd6VEl0UXppamxBZUlLTDJKNmVnSTRDbnRmCitkYmpyczZ2S2hp
LzJNd1g5TFZWbEdwam1JbkJHRWJrbnZCT3dDNG5Ub1FsUEUrdERBTnJ2R3JYRHNEeEwxTDJCCiti
K0RONlFLQmdHUUN4RDNtaHY3R2lQNHQ2WGFQVWpHaUdqZDg0QVY4Vzh3Ylhhc29DbmZ4ZHV2ZTFT
eDd1Q3lICiszSGFRUVRXSlA1WkxjSi9JaFFLMlZNWi83cnBITHBUY202SUdLL0NrWFBMOWxtTWsr
S28rblc0Y3cvYjlTU0ZjCitPUDJNM3JuMWp4bFNSM0djQ0xJaDcwZGdkR0NRMDE4MnhJeERvQnJV
czJ5S3lyMVI1L2JHCistLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9fY2VydHMvbG9jYWxo
b3N0LnBlbSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvX2Nl
cnRzL2xvY2FsaG9zdC5wZW0KaW5kZXggNWQ1OWEzYjY2Yzc0NGRiNWY3Y2M0OWM0YzRkOGU3MjJi
ODNiNDFkZi4uMjA0ZmI5MTFmNjZhZjAzMGJlMGU0M2I0YzZmYjIyZDdjNWNhNDQyZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9fY2VydHMv
bG9jYWxob3N0LnBlbQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL19jZXJ0cy9sb2NhbGhvc3QucGVtCkBAIC0yLDQyICsyLDQyIEBAIENlcnRpZmljYXRl
OgogICAgIERhdGE6CiAgICAgICAgIFZlcnNpb246IDMgKDB4MikKICAgICAgICAgU2VyaWFsIE51
bWJlcjogMiAoMHgyKQotICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTI1NldpdGhSU0FFbmNy
eXB0aW9uCisgICAgICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTI1NldpdGhSU0FFbmNyeXB0
aW9uCiAgICAgICAgIElzc3VlcjogQ049d2ViLXBsYXRmb3JtLXRlc3RzCiAgICAgICAgIFZhbGlk
aXR5Ci0gICAgICAgICAgICBOb3QgQmVmb3JlOiBKYW4gMjcgMDk6Mjc6NDEgMjAxNSBHTVQKLSAg
ICAgICAgICAgIE5vdCBBZnRlciA6IEZlYiAyNiAwOToyNzo0MSAyMDE1IEdNVAorICAgICAgICAg
ICAgTm90IEJlZm9yZTogRmViIDI4IDAzOjEwOjQ5IDIwMTUgR01UCisgICAgICAgICAgICBOb3Qg
QWZ0ZXIgOiBNYXIgMzAgMDM6MTA6NDkgMjAxNSBHTVQKICAgICAgICAgU3ViamVjdDogQ049bG9j
YWxob3N0CiAgICAgICAgIFN1YmplY3QgUHVibGljIEtleSBJbmZvOgogICAgICAgICAgICAgUHVi
bGljIEtleSBBbGdvcml0aG06IHJzYUVuY3J5cHRpb24KLSAgICAgICAgICAgICAgICBQdWJsaWMt
S2V5OiAoMjA0OCBiaXQpCi0gICAgICAgICAgICAgICAgTW9kdWx1czoKLSAgICAgICAgICAgICAg
ICAgICAgMDA6ZTg6NTE6ZWM6NjE6ODA6YjY6YWM6NjY6ZWQ6NzM6MDk6ZGI6MDA6MzA6Ci0gICAg
ICAgICAgICAgICAgICAgIDQ4OjA0OjgzOmUxOjQxOjY1Ojk1OjJkOjhmOjBkOjUwOjYzOmQyOjhj
OjJhOgotICAgICAgICAgICAgICAgICAgICA1MDo5Mzo0Yjo1Njo3ODo2NTo5NjpjZjo3OTo0Yzo5
YzozYzplODo4NjplYToKLSAgICAgICAgICAgICAgICAgICAgYzU6YzI6ZTk6MGE6OWM6NWY6MTU6
OGI6YTU6ZmQ6MjE6NTc6ZWE6MTM6MjM6Ci0gICAgICAgICAgICAgICAgICAgIDU1OjA2OmMyOjhh
OmNjOjNmOmFhOmFiOmQ0OmRkOmI5OmVhOmQ5OjhhOmM5OgotICAgICAgICAgICAgICAgICAgICAy
ODo3YTpkZToxNDpkODo3MjoyNDpiODphNDpiZjpjNjo2NDo3MjpkNzphOToKLSAgICAgICAgICAg
ICAgICAgICAgZDA6ZGU6MGU6ZGY6NGM6YTY6NTA6MTg6MjY6ZjM6NWI6ZWM6NDA6NmE6MWE6Ci0g
ICAgICAgICAgICAgICAgICAgIDI3OjBjOjE5Ojg1OjQ3OjM0OmFkOjQ5OjM3OmFmOjczOjhlOjc3
OmIzOjQzOgotICAgICAgICAgICAgICAgICAgICBkMzo4MzozYTo0Yjo3NjoxNjpiMzpiODplOTox
NTo5OTpmZjowNzphYTo1ZjoKLSAgICAgICAgICAgICAgICAgICAgZTE6MjY6Yjk6NzI6MDI6ODc6
MDc6Njk6M2I6ODY6ODU6OGY6Nzk6YWQ6YWM6Ci0gICAgICAgICAgICAgICAgICAgIGVjOjE1OmM0
OjE2OjJlOjQ1OjJhOmE5OjFhOjgyOjI0OmRlOmFjOjg0OjU2OgotICAgICAgICAgICAgICAgICAg
ICA4ODpiZDo2NzpmMzpmMzpiYjo4NDpkNzphZjpmOTo2NToyMzowMTplOTowMToKLSAgICAgICAg
ICAgICAgICAgICAgZDA6MDQ6Y2U6YTY6MDY6MDk6MDk6NDQ6NTg6YTc6YmE6ODk6YWI6YjI6Y2E6
Ci0gICAgICAgICAgICAgICAgICAgIDk3OmI2OjE4OjZhOjZjOjg0OmE4OjQ3OmU3OmY1OjVmOjhm
OmJmOjcxOjdiOgotICAgICAgICAgICAgICAgICAgICA0ZjpiOTphZDozMTpkZDo3MzpiZjo2Mzo5
ZjpiNDo0Njo4Yzo5Mzo4NToyNDoKLSAgICAgICAgICAgICAgICAgICAgMjU6MTk6NzM6ZWQ6MDM6
MTk6ZjM6M2Y6MWQ6YWY6MGU6OGI6YTQ6NzY6OTA6Ci0gICAgICAgICAgICAgICAgICAgIDg4OjM5
OmI1OjI3OmY5OjE3Ojg2OmYxOjRiOmJiOjdlOjYwOjdmOmY5OmQ3OgotICAgICAgICAgICAgICAg
ICAgICBmYjo2NQorICAgICAgICAgICAgUlNBIFB1YmxpYyBLZXk6ICgyMDQ4IGJpdCkKKyAgICAg
ICAgICAgICAgICBNb2R1bHVzICgyMDQ4IGJpdCk6CisgICAgICAgICAgICAgICAgICAgIDAwOmM1
OjBjOmNjOmY4OjAyOmE0OjhhOmM5OmIzOmQzOmI0OmI2OmZhOmM3OgorICAgICAgICAgICAgICAg
ICAgICBjNzo0NDo0MjpkYzo0Nzo2YTozZDo0YzpiMDpjNjpiYTpmZDpjOTpkNTo1ODoKKyAgICAg
ICAgICAgICAgICAgICAgMTg6MjU6NTU6ZDE6OWE6YjQ6NWM6YjY6MjM6NmM6NzA6OGU6YmU6OGU6
MjI6CisgICAgICAgICAgICAgICAgICAgIDU4OmQwOjFkOjllOmFkOmQ5OjJhOjQxOjdiOjhjOmE5
OjA2OjY5OjcwOjNjOgorICAgICAgICAgICAgICAgICAgICAzNjo4Mzo2NDoxMTo0ZDpmYzo0YTph
NDo4ZTowNTpmODo1MTpjNTo1MDplZjoKKyAgICAgICAgICAgICAgICAgICAgMmY6YzQ6NWE6YWE6
Yzk6ODk6YjY6NjI6NTU6YzA6MjY6MDc6ODY6YWQ6Yjk6CisgICAgICAgICAgICAgICAgICAgIGQz
OjM0OmM0OjBjOjFmOmIwOjk3OjkxOmNlOmY0OmM1OmFhOmUxOjE5OmQ5OgorICAgICAgICAgICAg
ICAgICAgICBkNDo1MTo4YToxMDpkODoyZDozZTo3YjphYzo0NTozYzozZTozMzozMjpmYzoKKyAg
ICAgICAgICAgICAgICAgICAgMDM6YWY6Zjc6YmI6Y2E6OGM6Yjk6OWI6ZTQ6MzA6MGY6OWM6NjI6
YTM6YTg6CisgICAgICAgICAgICAgICAgICAgIDM1OmExOmViOmMwOmNjOjMyOmRiOjRmOmM5Ojc1
Ojc3OjI5OmU3OjBjOjhhOgorICAgICAgICAgICAgICAgICAgICBhNDo5YTo0ODozMjo0YjphZTo5
ZjphZDplODo3YzpmYTplYTo2MTpkYzpjZjoKKyAgICAgICAgICAgICAgICAgICAgNjQ6MzE6Njg6
ZjM6NmI6MmM6NTI6MWI6ZGE6ZWE6NWU6YWE6Yzg6Y2E6ODk6CisgICAgICAgICAgICAgICAgICAg
IDMwOjk4OjY2OjZkOjgyOmI5OjA5OmVmOjBhOmE0OmY5OjM1Ojc1OjhmOjk1OgorICAgICAgICAg
ICAgICAgICAgICA5YzoyMDpjZTowZTo3OTpmMzo5NzozMTo0NTpmMjplMzplZjpkYjozYTowZToK
KyAgICAgICAgICAgICAgICAgICAgMjI6NTU6YmI6M2U6MTg6MmI6NGY6OTg6MmI6M2Q6YWQ6ZmE6
ZmU6NDA6ZmM6CisgICAgICAgICAgICAgICAgICAgIDFjOjYzOmQwOjkyOmZmOmM4Ojc0OmU1OjM2
OjhkOjIxOjgzOjJkOjczOjQ4OgorICAgICAgICAgICAgICAgICAgICBiZjo0OTo0MTpjMTozNzo0
NDoxYzphNTpiNTphNjpmYTphNDo5ZToxMDoxMToKKyAgICAgICAgICAgICAgICAgICAgNGY6MzcK
ICAgICAgICAgICAgICAgICBFeHBvbmVudDogNjU1MzcgKDB4MTAwMDEpCiAgICAgICAgIFg1MDl2
MyBleHRlbnNpb25zOgogICAgICAgICAgICAgWDUwOXYzIEJhc2ljIENvbnN0cmFpbnRzOiAKICAg
ICAgICAgICAgICAgICBDQTpGQUxTRQogICAgICAgICAgICAgWDUwOXYzIFN1YmplY3QgS2V5IElk
ZW50aWZpZXI6IAotICAgICAgICAgICAgICAgIEY2OkNCOjgyOjY0OkIwOkM0OjAyOjFBOjg1OjUz
OjBFOjlBOjZCOkQ4OkMyOjMwOkFDOjA1OjYxOkM4CisgICAgICAgICAgICAgICAgMDg6MDg6NTE6
N0M6NUM6QTU6RTQ6Q0Y6OEI6MDA6NTc6REM6MkY6QjY6NUQ6OEM6MDU6MTI6Mzc6RDYKICAgICAg
ICAgICAgIFg1MDl2MyBBdXRob3JpdHkgS2V5IElkZW50aWZpZXI6IAotICAgICAgICAgICAgICAg
IGtleWlkOjBFOjMxOkMxOjBEOjZDOjk0OkUxOkYwOkQ5OjhDOkM0OkU0OkE1OkRGOkZEOjFDOkNC
OjNCOkNDOjU4CisgICAgICAgICAgICAgICAga2V5aWQ6QkI6QTE6NzI6NjE6RkM6NUU6Q0E6OEE6
Qzg6Qjg6Njg6REM6Q0Y6NjE6Rjk6NzM6ODQ6NTM6MDM6QTkKIAogICAgICAgICAgICAgWDUwOXYz
IEtleSBVc2FnZTogCiAgICAgICAgICAgICAgICAgRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1
ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudApAQCAtNDYsNDAgKzQ2LDQwIEBAIENlcnRpZmljYXRl
OgogICAgICAgICAgICAgWDUwOXYzIFN1YmplY3QgQWx0ZXJuYXRpdmUgTmFtZTogCiAgICAgICAg
ICAgICAgICAgRE5TOmxvY2FsaG9zdCwgRE5TOnd3dy5sb2NhbGhvc3QsIEROUzp4bi0tbjhqNmRz
NTNsd3drcnFodjI4YS5sb2NhbGhvc3QsIEROUzp4bi0tbHZlLTZsYWQubG9jYWxob3N0LCBETlM6
d3d3Mi5sb2NhbGhvc3QsIEROUzp3d3cxLmxvY2FsaG9zdAogICAgIFNpZ25hdHVyZSBBbGdvcml0
aG06IHNoYTI1NldpdGhSU0FFbmNyeXB0aW9uCi0gICAgICAgICA4MDpiNDoyMzo4MzpkOTo1Yjpj
ODo1ZjpmZToxNjoyNToyYzpkZjo2NDo4ODowODo2YjoxZToKLSAgICAgICAgIGY5OjE1OjQ2OjU4
OjU0OmNlOmUwOjI4Ojg4OmFmOmYxOjU4OmMzOjdmOmMyOjA4OjdjOjhiOgotICAgICAgICAgZDQ6
MmY6ZGE6ZjM6YzU6YmQ6OTU6MjY6ZjY6MGU6MGY6NjY6MzQ6NGU6NmE6MzU6M2M6MTQ6Ci0gICAg
ICAgICA2OTplYjoxNToyZTpmZTowZDowZDpjMTpmZjozMDoyZDozMjpjZToyODpjODo4Yjo1Nzph
YzoKLSAgICAgICAgIGZjOjU0Ojg5OjljOjM3OjAxOjIyOjA4OmZlOmRiOmJiOjQwOjk2OmVjOjhi
Ojk3OjYxOjlmOgotICAgICAgICAgNjg6Yzg6MjU6NGQ6MTk6Nzc6Zjc6YTY6ODY6NTE6MmM6ZjA6
Yjc6Mzk6MmI6YTA6Nzk6ODM6Ci0gICAgICAgICA0Yjo0Mjo3NTo2ZTpjYTpjNjoyYTowYzoyODo4
Yjo2OTo4Mzo0NjozZTo5ZTowZjowZjo3ZToKLSAgICAgICAgIDFhOjE3OjA5OjFiOjliOjAyOmNl
OjIxOjg3OmMyOmUyOjBkOjY4OjkxOjFiOjNhOjVjOjZkOgotICAgICAgICAgYzU6MDU6Yzg6MmI6
MTM6ZDE6Mjg6YTM6ZWQ6OTQ6NzM6ZWE6N2Q6YjU6Yjc6Yjg6NGQ6YmU6Ci0gICAgICAgICA4NToz
YzphZjo2Njo0NjoxYjowYToyNzo1ZDo3MTpiNTpjNjo5ZDpkYzpmZjpkNjplNDoyMzoKLSAgICAg
ICAgIGVkOjg5OjExOjY0OjY5OjE2OjRmOjJmOmM1OmQ2OjgxOjQxOmQ0Ojc1OjhkOjhlOjliOjRk
OgotICAgICAgICAgODc6MWQ6MDI6YmQ6YTc6ZDA6Y2Y6YTI6NDE6ZmI6Mjc6Y2Y6NTI6Y2I6MmU6
MTk6NDk6NDE6Ci0gICAgICAgICA1YzpkNDoyZjpjNzozOToxMzo5ODo3Mjo2NjoxZDo0Nzo5Nzpj
Yjo2YjpkZDozMTo1Mzo0ZToKLSAgICAgICAgIGIyOmIwOmFmOjZjOjg2OmE3OjM4OjFmOmExOmEz
OjlmOjU0OjZiOmUxOmM3OmEyOjE1OmYxOgotICAgICAgICAgZjA6ZDQ6NWE6NTcKKyAgICAgICAg
NWU6MGM6MzQ6YzE6YTc6ZjE6ZTE6NGU6MDg6OTE6YmQ6YWY6NjU6NzY6ODY6Yjc6ZjY6YmE6Cisg
ICAgICAgIDUyOmUxOjY1Ojk2OjhmOjdhOjQ2OmY4OmRmOjFhOmI1OjY4OmMxOmU1OmM0OmU1Ojli
OmYwOgorICAgICAgICA3OTo4NTplZjo2YzpmODplMjo2NTozMTplZDpmNDpkNTo3ZTpjZTpjMjpi
MTpiNjo0ZTpmMDoKKyAgICAgICAgOTQ6NTg6Mzc6OTk6Yzg6ZjE6MTE6ZTU6ZDE6M2U6NDI6M2Y6
Yzg6NDI6ZTY6ZmQ6Nzk6ZDQ6CisgICAgICAgIDdmOmY4OmY0OmJkOmM4OjllOmJkOmE3Ojg4OjAz
OmZmOjc1OmE0OjU0OjNlOjQzOjBiOmI1OgorICAgICAgICAyMzplNTo5YjpiNDo5MDo5NjpmNDpm
YjphYzoyNzpjMDpiMjpiYTozNzo5Njo0ZjozYTo0ZDoKKyAgICAgICAgYTc6MDg6NTE6Yjg6OGE6
Mzg6OTM6NWU6YmQ6MzM6OGI6ZTU6MWI6M2Y6ZDA6ODE6MGU6MDc6CisgICAgICAgIGY1OmFiOjQ0
OjE1OjZjOmFhOmY4Ojk4OmRlOmE1OjMxOjg1OjMzOjIwOmI5OmU1OjEwOjE5OgorICAgICAgICBk
MzoyNTpmODpmODpiOTo4ODo3OToxMTo5ODo1Njo0ODoxYjpiOToxMjpiNjpmNzo0YjpjYToKKyAg
ICAgICAgNmY6OTk6OWE6YTA6ZGE6YzU6NTA6OGQ6MWE6YTY6ZDk6ODg6MGM6MmY6ZWI6YTI6YzM6
NzE6CisgICAgICAgIDEzOjMxOmM2OjFmOjRiOmJhOjczOjk3OmYyOmU3OjFkOmEwOjE5OjA3OmVj
OmUwOjk2OjI3OgorICAgICAgICA0NDo3Mzo5NDoxYzpmMDoyZDo3Mzo5MDoxOTo5MTplYjpmYToz
MDoyNDo0NDowOTo2ZTowZDoKKyAgICAgICAgNzU6ODA6ZDI6ZTQ6NTQ6OTI6ZmI6YTI6Njc6MjI6
NGE6ODM6ZjA6ODc6NjE6ZTY6ZGY6YTc6CisgICAgICAgIDA1OmViOjk3OjQwOjBjOmNlOjVmOjBi
OmYwOjkyOjY1OmU2OjdjOjZiOjBjOmM2OjNiOmM0OgorICAgICAgICBiMjplMTowMjo3MAogLS0t
LS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCiBNSUlEblRDQ0FvV2dBd0lCQWdJQkFqQU5CZ2txaGtp
Rzl3MEJBUXNGQURBZE1Sc3dHUVlEVlFRRERCSjNaV0l0Ci1jR3hoZEdadmNtMHRkR1Z6ZEhNd0ho
Y05NVFV3TVRJM01Ea3lOelF4V2hjTk1UVXdNakkyTURreU56UXhXakFVCitjR3hoZEdadmNtMHRk
R1Z6ZEhNd0hoY05NVFV3TWpJNE1ETXhNRFE1V2hjTk1UVXdNek13TURNeE1EUTVXakFVCiBNUkl3
RUFZRFZRUUREQWxzYjJOaGJHaHZjM1F3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdn
Z0VLCi1Bb0lCQVFEb1VleGhnTGFzWnUxekNkc0FNRWdFZytGQlpaVXRqdzFRWTlLTUtsQ1RTMVo0
WlpiUGVVeWNQT2lHCi02c1hDNlFxY1h4V0xwZjBoVitvVEkxVUd3b3JNUDZxcjFOMjU2dG1LeVNo
NjNoVFljaVM0cEwvR1pITFhxZERlCi1EdDlNcGxBWUp2TmI3RUJxR2ljTUdZVkhOSzFKTjY5empu
ZXpROU9ET2t0MkZyTzQ2UldaL3dlcVgrRW11WElDCi1od2RwTzRhRmozbXRyT3dWeEJZdVJTcXBH
b0lrM3F5RVZvaTlaL1B6dTRUWHIvbGxJd0hwQWRBRXpxWUdDUWxFCi1XS2U2aWF1eXlwZTJHR3Bz
aEtoSDUvVmZqNzl4ZTArNXJUSGRjNzlqbjdSR2pKT0ZKQ1VaYyswREdmTS9IYThPCi1pNlIya0ln
NXRTZjVGNGJ4Uzd0K1lILzUxL3RsQWdNQkFBR2pnZkF3Z2Uwd0NRWURWUjBUQkFJd0FEQWRCZ05W
Ci1IUTRFRmdRVTlzdUNaTERFQWhxRlV3NmFhOWpDTUt3RlljZ3dId1lEVlIwakJCZ3dGb0FVRGpI
QkRXeVU0ZkRaCi1qTVRrcGQvOUhNczd6Rmd3Q3dZRFZSMFBCQVFEQWdYZ01CTUdBMVVkSlFRTU1B
b0dDQ3NHQVFVRkJ3TUJNSDRHCitBb0lCQVFERkRNejRBcVNLeWJQVHRMYjZ4OGRFUXR4SGFqMU1z
TWE2L2NuVldCZ2xWZEdhdEZ5MkkyeHdqcjZPCitJbGpRSFo2dDJTcEJlNHlwQm1sd1BEYURaQkZO
L0Vxa2pnWDRVY1ZRN3kvRVdxckppYlppVmNBbUI0YXR1ZE0wCit4QXdmc0plUnp2VEZxdUVaMmRS
UmloRFlMVDU3ckVVOFBqTXkvQU92OTd2S2pMbWI1REFQbkdLanFEV2g2OERNCitNdHRQeVhWM0tl
Y01pcVNhU0RKTHJwK3Q2SHo2Nm1IY3oyUXhhUE5yTEZJYjJ1cGVxc2pLaVRDWVptMkN1UW52CitD
cVQ1TlhXUGxad2d6ZzU1ODVjeFJmTGo3OXM2RGlKVnV6NFlLMCtZS3oydCt2NUEvQnhqMEpML3lI
VGxObzBoCitneTF6U0w5SlFjRTNSQnlsdGFiNnBKNFFFVTgzQWdNQkFBR2pnZkF3Z2Uwd0NRWURW
UjBUQkFJd0FEQWRCZ05WCitIUTRFRmdRVUNBaFJmRnlsNU0rTEFGZmNMN1pkakFVU045WXdId1lE
VlIwakJCZ3dGb0FVdTZGeVlmeGV5b3JJCit1R2pjejJINWM0UlRBNmt3Q3dZRFZSMFBCQVFEQWdY
Z01CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRkJ3TUJNSDRHCiBBMVVkRVFSM01IV0NDV3h2WTJGc2FH
OXpkSUlOZDNkM0xteHZZMkZzYUc5emRJSWhlRzR0TFc0NGFqWmtjelV6CiBiSGQzYTNKeGFIWXlP
R0V1Ykc5allXeG9iM04wZ2haNGJpMHRiSFpsTFRac1lXUXViRzlqWVd4b2IzTjBnZzUzCiBkM2N5
TG14dlkyRnNhRzl6ZElJT2QzZDNNUzVzYjJOaGJHaHZjM1F3RFFZSktvWklodmNOQVFFTEJRQURn
Z0VCCi1BSUMwSTRQWlc4aGYvaFlsTE45a2lBaHJIdmtWUmxoVXp1QW9pSy94V01OL3dnaDhpOVF2
MnZQRnZaVW05ZzRQCi1aalJPYWpVOEZHbnJGUzcrRFEzQi96QXRNczRveUl0WHJQeFVpWnczQVNJ
SS90dTdRSmJzaTVkaG4yaklKVTBaCi1kL2VtaGxFczhMYzVLNkI1ZzB0Q2RXN0t4aW9NS0l0cGcw
WStuZzhQZmhvWENSdWJBczRoaDhMaURXaVJHenBjCi1iY1VGeUNzVDBTaWo3WlJ6Nm4yMXQ3aE52
b1U4cjJaR0d3b25YWEcxeHAzYy85YmtJKzJKRVdScEZrOHZ4ZGFCCi1RZFIxalk2YlRZY2RBcjJu
ME0raVFmc256MUxMTGhsSlFWelVMOGM1RTVoeVpoMUhsOHRyM1RGVFRyS3dyMnlHCi1wemdmb2FP
ZlZHdmh4NklWOGZEVVdsYz0KK0FGNE1OTUduOGVGT0NKRzlyMlYyaHJmMnVsTGhaWmFQZWtiNDN4
cTFhTUhseE9XYjhIbUY3Mno0NG1VeDdmVFYKK2ZzN0NzYlpPOEpSWU41bkk4UkhsMFQ1Q1A4aEM1
djE1MUgvNDlMM0lucjJuaUFQL2RhUlVQa01MdFNQbG03U1EKK2x2VDdyQ2ZBc3JvM2xrODZUYWNJ
VWJpS09KTmV2VE9MNVJzLzBJRU9CL1dyUkJWc3F2aVkzcVV4aFRNZ3VlVVEKK0dkTWwrUGk1aUhr
Um1GWklHN2tTdHZkTHltK1ptcURheFZDTkdxYlppQXd2NjZMRGNSTXh4aDlMdW5PWDh1Y2QKK29C
a0g3T0NXSjBSemxCendMWE9RR1pIcitqQWtSQWx1RFhXQTB1UlVrdnVpWnlKS2cvQ0hZZWJmcHdY
cmwwQU0KK3psOEw4SkpsNW54ckRNWTd4TExoQW5BPQogLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0t
LQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247589</attachid>
            <date>2015-02-27 22:19:56 -0800</date>
            <delta_ts>2015-02-28 11:36:11 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-142122-20150227221941.patch</filename>
            <type>text/plain</type>
            <size>47425</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVjMTA3YzE0ZGRhNzFi
YzY3YWJhZDZhZWNhOTQzNjQxMjlkOWU4Yy4uMzhkNmVmZjYwNTZmZGJlOTcwNmQ0Njg4ODhjZjY2
NzdkNDhmOTA2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDE1LTAyLTI3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4g
dmlkZW8gbGF5ZXJzIGFyZSBvZmYgYnkgb25lIHNvbWV0aW1lcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMTIyCisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzE5ODc4ODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29udmVydCBNZWRpYVBsYXllcjo6bmF0dXJhbFNpemUoKSB0byByZXR1cm4gYSBGbG9h
dFNpemUsIHNpbmNlIHRoZSBuYXR1cmFsIHNpemUKKyAgICAgICAgaXNuJ3QgYWx3YXlzIGludGVn
cmFsIChiZWNhdXNlIG9mIHByZXNlcnZpbmcgcGl4ZWwgcmF0aW8gZXRjKS4gRml4IGFsbCB0aGUg
bWVkaWEKKyAgICAgICAgYmFja2VuZHMgdG8gdXNlIEZsb2F0U2l6ZXMgZm9yIG5hdHVyYWwgc2l6
ZS4gQ29udmVydCB0aGUgdmlkZW8gaW1hZ2UgZHJhd2luZyBjb2RlCisgICAgICAgIHBhdGhzIHRv
IEZsb2F0U2l6ZSwgc2luY2UgbmF0dXJhbFNpemUgaXMgdXNlZCBvbiB0aGUgZGVzdGluYXRpb24g
cmVjdCBjb21wdXRhdGlvbiwKKyAgICAgICAgYW5kIHBhaW50aW5nIHNob3VsZCBiZSBmbG9hdGlu
ZyBwb2ludCBhbnl3YXkuCisgICAgICAgIAorICAgICAgICBHaXZlIHRoZSBsYXllciBjcmVhdGVk
IGJ5IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDIGEgbmFtZSBpbiBkZWJ1ZyBidWlsZHMuCisK
KyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFZpZGVvRWxlbWVudDo6dmlkZW9XaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlk
ZW9FbGVtZW50Ojp2aWRlb0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVt
ZW50OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dCk6CisgICAgICAgICogaHRtbC9IVE1MVmlk
ZW9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9GcmFtZVRvSW1hZ2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRp
YVBsYXllclByaXZhdGU6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyOjpuYXR1cmFsU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cGFpbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnBhaW50Q3VycmVudEZyYW1lSW5Db250
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRpYVBsYXllclByaXZhdGU6OnBhaW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpwYWludEN1cnJlbnRGcmFtZUlu
Q29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6c2V0TmF0dXJhbFNpemUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50V2l0aEltYWdl
R2VuZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0cmFja3NDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNpemVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akM6OnBhaW50V2l0aFZpZGVvT3V0cHV0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGFpbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYWlu
dEN1cnJlbnRGcmFtZUluQ29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpuYXR1
cmFsU2l6ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVu
YWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6Om5h
dHVyYWxTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9UcmFja1ByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6bmF0dXJhbFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bmF0dXJhbFNp
emUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnBhaW50
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5zaWNTaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpwYWludFJlcGxhY2VkKToKKwogMjAxNS0wMi0yNSAg
U2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NT
IEdyaWQgTGF5b3V0XSBUcmFja3MgZ3Jvd2luZyBiZXlvbmQgbGltaXRzIHdoZW4gdGhleSBzaG91
bGQgbm90CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCA4NDQ3
MTFkMmExM2RkZGQ2MmFkODY5NGM4ZjhlMDhjYzczMTIxYWI4Li5kMmQxOGMzODBhYzVhNjhiZDRh
MjdiNmUyZGU5OTJmMGM2ZTg0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxWaWRlb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKQEAgLTE3MSwxNCArMTcxLDE0IEBAIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6
OnZpZGVvV2lkdGgoKSBjb25zdAogewogICAgIGlmICghcGxheWVyKCkpCiAgICAgICAgIHJldHVy
biAwOwotICAgIHJldHVybiBwbGF5ZXIoKS0+bmF0dXJhbFNpemUoKS53aWR0aCgpOworICAgIHJl
dHVybiBjbGFtcFRvVW5zaWduZWQocGxheWVyKCktPm5hdHVyYWxTaXplKCkud2lkdGgoKSk7CiB9
CiAKIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6OnZpZGVvSGVpZ2h0KCkgY29uc3QKIHsKICAg
ICBpZiAoIXBsYXllcigpKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gcGxheWVyKCkt
Pm5hdHVyYWxTaXplKCkuaGVpZ2h0KCk7CisgICAgcmV0dXJuIGNsYW1wVG9VbnNpZ25lZChwbGF5
ZXIoKS0+bmF0dXJhbFNpemUoKS5oZWlnaHQoKSk7CiB9CiAKIGJvb2wgSFRNTFZpZGVvRWxlbWVu
dDo6aXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpIGNvbnN0CkBAIC0y
MzUsNyArMjM1LDcgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp1cGRhdGVEaXNwbGF5U3RhdGUo
KQogICAgICAgICBzZXREaXNwbGF5TW9kZShQb3N0ZXIpOwogfQogCi12b2lkIEhUTUxWaWRlb0Vs
ZW1lbnQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgSW50UmVjdCYgZGVzdFJlY3QpCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnBhaW50
Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCkKIHsKICAgICBNZWRpYVBsYXllciogcGxheWVyID0gSFRNTE1lZGlh
RWxlbWVudDo6cGxheWVyKCk7CiAgICAgaWYgKCFwbGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFZpZGVvRWxlbWVudC5oCmluZGV4IGFjZDQzODcyODY5ZTE0OTZlYjJkMDc4Y2JjYjNjYmVhM2Rk
Yjk3NmMuLjcwZjM0MGNjY2Y2NWVhMjE2YzE3ZWZiNzhhYTgzNTYxMDYzM2MyMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAgICAgLy8gVXNlZCBieSBjYW52YXMgdG8gZ2FpbiByYXcgcGl4ZWwgYWNjZXNz
Ci0gICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAogICAgIFBhc3NOYXRpdmVJbWFnZVB0
ciBuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQyZDRl
MzEyYzc4ZjM5ODE4NTVjY2U3ZGZhNjgwYjUwMTg2YmFiYWQuLmQ5OTYxZTFiZTVhZTZlNzdlNjkx
OWIzMTE0Y2UyNmNhYmRiMzFkMDQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtMTI4OCwxMSArMTI4OCwx
MSBAQCBzdGF0aWMgTGF5b3V0U2l6ZSBzaXplKEhUTUxJbWFnZUVsZW1lbnQqIGltYWdlLCBJbWFn
ZVNpemVUeXBlIHNpemVUeXBlKQogfQogCiAjaWYgRU5BQkxFKFZJREVPKQotc3RhdGljIEludFNp
emUgc2l6ZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbykKK3N0YXRpYyBGbG9hdFNpemUgc2l6ZShI
VE1MVmlkZW9FbGVtZW50KiB2aWRlbykKIHsKICAgICBpZiAoTWVkaWFQbGF5ZXIqIHBsYXllciA9
IHZpZGVvLT5wbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuIHBsYXllci0+bmF0dXJhbFNpemUoKTsK
LSAgICByZXR1cm4gSW50U2l6ZSgpOworICAgIHJldHVybiBGbG9hdFNpemUoKTsKIH0KICNlbmRp
ZgogCkBAIC0xNDg1LDggKzE0ODUsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLCBmbG9hdCB4LCBmbG9hdAogICAgICAg
ICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIElu
dFNpemUgcyA9IHNpemUodmlkZW8pOwotICAgIGRyYXdJbWFnZSh2aWRlbywgeCwgeSwgcy53aWR0
aCgpLCBzLmhlaWdodCgpLCBlYyk7CisgICAgRmxvYXRTaXplIHZpZGVvU2l6ZSA9IHNpemUodmlk
ZW8pOworICAgIGRyYXdJbWFnZSh2aWRlbywgeCwgeSwgdmlkZW9TaXplLndpZHRoKCksIHZpZGVv
U2l6ZS5oZWlnaHQoKSwgZWMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLApAQCAtMTQ5Niw4ICsxNDk2LDggQEAg
dm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZShIVE1MVmlkZW9FbGVtZW50
KiB2aWRlbywKICAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSAgICBJbnRTaXplIHMgPSBzaXplKHZpZGVvKTsKLSAgICBkcmF3SW1hZ2Uodmlk
ZW8sIEZsb2F0UmVjdCgwLCAwLCBzLndpZHRoKCksIHMuaGVpZ2h0KCkpLCBGbG9hdFJlY3QoeCwg
eSwgd2lkdGgsIGhlaWdodCksIGVjKTsKKyAgICBGbG9hdFNpemUgdmlkZW9TaXplID0gc2l6ZSh2
aWRlbyk7CisgICAgZHJhd0ltYWdlKHZpZGVvLCBGbG9hdFJlY3QoMCwgMCwgdmlkZW9TaXplLndp
ZHRoKCksIHZpZGVvU2l6ZS5oZWlnaHQoKSksIEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0
KSwgZWMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdlKEhU
TUxWaWRlb0VsZW1lbnQqIHZpZGVvLApAQCAtMTU1NCw3ICsxNTU0LDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgY29u
c3QgRmxvYXRSZWMKICAgICBjLT50cmFuc2xhdGUoZHN0UmVjdC54KCksIGRzdFJlY3QueSgpKTsK
ICAgICBjLT5zY2FsZShGbG9hdFNpemUoZHN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgp
LCBkc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKSkpOwogICAgIGMtPnRyYW5zbGF0
ZSgtc3JjUmVjdC54KCksIC1zcmNSZWN0LnkoKSk7Ci0gICAgdmlkZW8tPnBhaW50Q3VycmVudEZy
YW1lSW5Db250ZXh0KGMsIEludFJlY3QoSW50UG9pbnQoKSwgc2l6ZSh2aWRlbykpKTsKKyAgICB2
aWRlby0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoYywgRmxvYXRSZWN0KEZsb2F0UG9pbnQo
KSwgc2l6ZSh2aWRlbykpKTsKICAgICBzdGF0ZVNhdmVyLnJlc3RvcmUoKTsKICAgICBkaWREcmF3
KGRzdFJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCA0MGNkNjA0YzM1ZDg2Y2I2OGI3YmU5
Yjk5MzEzMTEwYWIzZTI5YjYwLi42OGMxNjcwZWU0OWE0Njg2YjYwMzZkOTBkNDhmZDA4NWY5YzU2
YWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMzI0NSw3ICszMjQ1LDcgQEAgUGFzc1JlZlB0cjxJ
bWFnZT4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9GcmFtZVRvSW1hZ2UoSFRNTFZp
ZGVvRWxlbWVudCoKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
Ok9VVF9PRl9NRU1PUlksICJ0ZXhJbWFnZTJEIiwgIm91dCBvZiBtZW1vcnkiKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEludFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6ZS53
aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKKyAgICBGbG9hdFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6
ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKICAgICAvLyBGSVhNRTogVHVybiB0aGlzIGludG8g
YSBHUFUtR1BVIHRleHR1cmUgY29weSBpbnN0ZWFkIG9mIENQVSByZWFkYmFjay4KICAgICB2aWRl
by0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoYnVmLT5jb250ZXh0KCksIGRlc3RSZWN0KTsK
ICAgICByZXR1cm4gYnVmLT5jb3B5SW1hZ2UoYmFja2luZ1N0b3JlQ29weSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggY2ZmZTgx
MDhkMjUxYjUwN2JiMWU1YjY5ZTZiNGI2NDA3NzMzNzExZC4uNWFhNjlkYzhiZmNhNmI4Y2I3ZTk3
NDQxZThlMGI3MzYzMmQ1MTg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdCB7IHJldHVybiBOb1BsYXRm
b3JtTWVkaWE7IH0KICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBj
b25zdCB7IHJldHVybiAwOyB9CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBj
b25zdCB7IHJldHVybiBJbnRTaXplKDAsIDApOyB9CisgICAgdmlydHVhbCBGbG9hdFNpemUgbmF0
dXJhbFNpemUoKSBjb25zdCB7IHJldHVybiBGbG9hdFNpemUoKTsgfQogCiAgICAgdmlydHVhbCBi
b29sIGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aGFzQXVkaW8oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTMxLDcgKzEzMSw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXplKGNvbnN0IEludFNpemUmKSB7IH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jikg
eyB9CisgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0
UmVjdCYpIG92ZXJyaWRlIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhbkxvYWRQb3N0ZXIoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3Qg
U3RyaW5nJikgeyB9CkBAIC01NDQsNyArNTQ0LDcgQEAgYm9vbCBNZWRpYVBsYXllcjo6cmVxdWly
ZXNJbW1lZGlhdGVDb21wb3NpdGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+cmVx
dWlyZXNJbW1lZGlhdGVDb21wb3NpdGluZygpOwogfQogCi1JbnRTaXplIE1lZGlhUGxheWVyOjpu
YXR1cmFsU2l6ZSgpCitGbG9hdFNpemUgTWVkaWFQbGF5ZXI6Om5hdHVyYWxTaXplKCkKIHsKICAg
ICByZXR1cm4gbV9wcml2YXRlLT5uYXR1cmFsU2l6ZSgpOwogfQpAQCAtNzMzLDEyICs3MzMsMTIg
QEAgdm9pZCBNZWRpYVBsYXllcjo6c2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVs
b2FkKQogICAgIG1fcHJpdmF0ZS0+c2V0UHJlbG9hZChwcmVsb2FkKTsKIH0KIAotdm9pZCBNZWRp
YVBsYXllcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJbnRSZWN0JiByKQordm9p
ZCBNZWRpYVBsYXllcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBGbG9hdFJlY3Qm
IHIpCiB7CiAgICAgbV9wcml2YXRlLT5wYWludChwLCByKTsKIH0KIAotdm9pZCBNZWRpYVBsYXll
cjo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJ
bnRSZWN0JiByKQordm9pZCBNZWRpYVBsYXllcjo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQo
R3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CiAgICAgbV9wcml2YXRl
LT5wYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChwLCByKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGI3ZjYwNWFiYjY1ODNlMGE2
ZjhmNDBjYTFjMjZiNmI1NWI4YzQ1MDIuLmVlZmJmYzI5N2M1ZmM4NWRhM2Q2OTI0OTNjZGFhYzBh
Nzc4OTUzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMzExLDcgKzMxMSw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZXJyb3JMb2co
KSBjb25zdDsKICNlbmRpZgogCi0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpOworICAgIEZsb2F0
U2l6ZSBuYXR1cmFsU2l6ZSgpOwogICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdDsKICAgICBib29s
IGhhc0F1ZGlvKCkgY29uc3Q7CiAKQEAgLTM5MSw4ICszOTEsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBhdXRvcGxheSgpIGNvbnN0OwogICAgIHZvaWQgc2V0QXV0b3BsYXkoYm9vbCk7CiAKLSAgICB2
b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKLSAgICB2b2lkIHBh
aW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3Qm
KTsKKyAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwor
ICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgRmxvYXRSZWN0Jik7CiAKICAgICAvLyBjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRleHR1
cmUoKSBpcyB1c2VkIHRvIGRvIHRoZSBHUFUtR1BVIHRleHR1cmVzIGNvcHkgd2l0aG91dCBhIHJl
YWRiYWNrIHRvIHN5c3RlbSBtZW1vcnkuCiAgICAgLy8gVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVy
cyBkZW5vdGUgdGhlIGNvcnJlc3BvbmRpbmcgR3JhcGhpY3NDb250ZXh0LCBkZXN0aW5hdGlvbiB0
ZXh0dXJlLCByZXF1ZXN0ZWQgbGV2ZWwsIHJlcXVlc3RlZCB0eXBlIGFuZCB0aGUgcmVxdWlyZWQg
aW50ZXJuYWxGb3JtYXQgZm9yIGRlc3RpbmF0aW9uIHRleHR1cmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IDc3
ZjY0YjI0OTU4MDdhZDUyZmMxM2YwZTUyMWY2NWIwMWVmZDdiNTUuLjRmMjM5MGE1YjgxYzgwOTA2
ZTVjYjMyYzEwY2JkNTg4YTBjYjA1YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC03NCw3ICs3NCw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0gMDsKIAogICAg
IHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFz
QXVkaW8oKSBjb25zdCA9IDA7CkBAIC0xMzcsOSArMTM3LDkgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6ZSYpID0gMDsKIAotICAgIHZpcnR1YWwgdm9p
ZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250
ZXh0KiBjLCBjb25zdCBJbnRSZWN0JiByKSB7IHBhaW50KGMsIHIpOyB9CisgICAgdmlydHVhbCB2
b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogYywgY29uc3Qg
RmxvYXRSZWN0JiByKSB7IHBhaW50KGMsIHIpOyB9CiAgICAgdmlydHVhbCBib29sIGNvcHlWaWRl
b1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRCosIFBsYXRmb3JtM0RP
YmplY3QsIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEZW51bSwgYm9vbCwgYm9vbCkgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICB2aXJ0dWFsIFBhc3NOYXRpdmVJbWFnZVB0ciBuYXRpdmVJbWFnZUZvckN1
cnJlbnRUaW1lKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCmluZGV4IDg4MzAzMWE5ZTUw
YTgzYTVmMDA0ZDIwOTA4YzQxOTkxZDU0YjA2YTIuLmZlMzcxMTA5MDk5YzJiMzFmZjFjNWNjZTI3
NzY3MGRiNzYyY2YwMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0zMDcsNyArMzA3LDcgQEAgYm9vbCBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246OnNlZWtpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3Nl
ZWtpbmc7CiB9CiAKLUludFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpuYXR1
cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpKQog
ICAgICAgICByZXR1cm4gSW50U2l6ZSgpOwpAQCAtMzIyLDExICszMjIsMTEgQEAgSW50U2l6ZSBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9jYWNoZWROYXR1cmFsU2l6ZTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb246OnNldE5hdHVyYWxTaXplKEludFNpemUgc2l6ZSkKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpzZXROYXR1cmFsU2l6ZShGbG9hdFNpemUgc2l6ZSkKIHsK
LSAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246c2V0TmF0dXJh
bFNpemUoJXApIC0gc2l6ZSA9ICVkIHggJWQiLCB0aGlzLCBzaXplLndpZHRoKCksIHNpemUuaGVp
Z2h0KCkpOworICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjpz
ZXROYXR1cmFsU2l6ZSglcCkgLSBzaXplID0gJWYgeCAlZiIsIHRoaXMsIHNpemUud2lkdGgoKSwg
c2l6ZS5oZWlnaHQoKSk7CiAKLSAgICBJbnRTaXplIG9sZFNpemUgPSBtX2NhY2hlZE5hdHVyYWxT
aXplOworICAgIEZsb2F0U2l6ZSBvbGRTaXplID0gbV9jYWNoZWROYXR1cmFsU2l6ZTsKICAgICBt
X2NhY2hlZE5hdHVyYWxTaXplID0gc2l6ZTsKICAgICBpZiAob2xkU2l6ZSAhPSBtX2NhY2hlZE5h
dHVyYWxTaXplKQogICAgICAgICBtX3BsYXllci0+c2l6ZUNoYW5nZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCBlZjYy
MWFkN2E1NjBkNjEzNmMxY2E0ZjdiZGIwMGIyNTZlYTYwYmI0Li5jMGRkNDdlNGNkMmIwMzllYWY4
NGQ0YjQyOTBiZDhjNTliZmI0YTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBwbGF5KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHBh
dXNlKCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25z
dCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fY2FjaGVkSGFzVmlkZW87IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzQXVkaW8oKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2NhY2hlZEhhc0F1ZGlvOyB9CiAgICAgdmlydHVhbCB2b2lk
IHNldFZpc2libGUoYm9vbCkgb3ZlcnJpZGU7CkBAIC0xODEsOCArMTgxLDggQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVy
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNz
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6
ZSYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUlu
Q29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4
dCosIGNvbnN0IEZsb2F0UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJlbG9hZChN
ZWRpYVBsYXllcjo6UHJlbG9hZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVy
KiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgYm9vbCBz
dXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgY29uc3QgPSAwOwpAQCAtMjY1LDcgKzI2NSw3
IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldERlbGF5Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZE5v
dGlmaWNhdGlvbihib29sKTsKICAgICB2b2lkIHNldERlbGF5Q2FsbGJhY2tzKGJvb2wpIGNvbnN0
OwogICAgIHZvaWQgc2V0SWdub3JlTG9hZFN0YXRlQ2hhbmdlcyhib29sIGRlbGF5KSB7IG1faWdu
b3JlTG9hZFN0YXRlQ2hhbmdlcyA9IGRlbGF5OyB9Ci0gICAgdm9pZCBzZXROYXR1cmFsU2l6ZShJ
bnRTaXplKTsKKyAgICB2b2lkIHNldE5hdHVyYWxTaXplKEZsb2F0U2l6ZSk7CiAgICAgYm9vbCBp
c0xpdmVTdHJlYW0oKSBjb25zdCB7IHJldHVybiBzdGQ6OmlzaW5mKGR1cmF0aW9uKCkpOyB9CiAK
ICAgICBlbnVtIE1lZGlhUmVuZGVyaW5nTW9kZSB7IE1lZGlhUmVuZGVyaW5nTm9uZSwgTWVkaWFS
ZW5kZXJpbmdUb0NvbnRleHQsIE1lZGlhUmVuZGVyaW5nVG9MYXllciB9OwpAQCAtMzIwLDcgKzMy
MCw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fYXNzZXRVUkw7CiAgICAgTWVkaWFQbGF5ZXI6
OlByZWxvYWQgbV9wcmVsb2FkOwogCi0gICAgSW50U2l6ZSBtX2NhY2hlZE5hdHVyYWxTaXplOwor
ICAgIEZsb2F0U2l6ZSBtX2NhY2hlZE5hdHVyYWxTaXplOwogICAgIG11dGFibGUgTWVkaWFUaW1l
IG1fY2FjaGVkTWF4VGltZUxvYWRlZDsKICAgICBtdXRhYmxlIE1lZGlhVGltZSBtX2NhY2hlZE1h
eFRpbWVTZWVrYWJsZTsKICAgICBtdXRhYmxlIE1lZGlhVGltZSBtX2NhY2hlZE1pblRpbWVTZWVr
YWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCmluZGV4IGNhMGVhMGU5YzhkMDU0NGM5ZTA3YjIzYWZiNzRh
ZDNmOWM1M2NmZGMuLjU0M2VhOWMyNzlkZjA5MTZiN2M3NGI5YWU1YjQyNmEzMTZkMTNiMDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9j
Zi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbkNGLmNwcApAQCAtODMxLDcgKzgzMSw3IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbjo6QXNzZXRTdGF0dXMgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6
OmFzCiAgICAgcmV0dXJuIE1lZGlhUGxheWVyQVZBc3NldFN0YXR1c0xvYWRlZDsKIH0KIAotdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6cGFpbnRDdXJyZW50RnJhbWVJbkNv
bnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQordm9p
ZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6cGFpbnRDdXJyZW50RnJhbWVJbkNv
bnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBpZiAoIW1ldGFEYXRhQXZhaWxhYmxl
KCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQpAQCAtODQ2LDcgKzg0Niw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OnBhaW50Q3VycmVudEZyYW1lSW5D
b250ZXh0KEdyYXBoaWNzQ29udGV4CiAgICAgcGFpbnQoY29udGV4dCwgcmVjdCk7CiB9CiAKLXZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OnBhaW50KEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uQ0Y6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxv
YXRSZWN0JiByZWN0KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgaWYgKCFt
ZXRhRGF0YUF2YWlsYWJsZSgpIHx8IGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSB8fCAhaW1h
Z2VHZW5lcmF0b3IobV9hdmZXcmFwcGVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmgKaW5kZXggZGVhNTkzMzVmMWI0
N2E0Mzk3ZjIzYjkwZTVlMzAzY2ZlYTA4ZTBlYi4uNmNjOWE1NTNmNjM2Nzk2OWE1NGU2ODBhNWYy
MWRlZDlmZWM0MWZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmgKQEAgLTc1LDggKzc1LDggQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIE1lZGlhVGltZSBjdXJyZW50TWVkaWFUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIHNldFZvbHVtZShmbG9hdCk7CiAgICAgdmlydHVhbCB2b2lkIHNl
dENsb3NlZENhcHRpb25zVmlzaWJsZShib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1
cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7Cisg
ICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYp
OworICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBs
YXRmb3JtTGF5ZXIoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNBY2NlbGVyYXRl
ZFJlbmRlcmluZygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIE1lZGlhVGlt
ZSBtZWRpYVRpbWVGb3JUaW1lVmFsdWUoY29uc3QgTWVkaWFUaW1lJikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDLmgKaW5kZXggMGVhMGRlMDk2YmI5YmQ2YmMwNzIyNjExNzMwNzY2OTcxNjViMzhl
Yi4uNzAxMzYwMzExYmM1MDAwYmZjYWE1YjMzYTBkYmVlZTYwZWYxNzhkOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakMuaApAQCAtMTUwLDggKzE1MCw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBNZWRp
YVRpbWUgY3VycmVudE1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRWb2x1bWUoZmxvYXQpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDbG9zZWRDYXB0aW9uc1Zp
c2libGUoYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNv
bnN0IEludFJlY3QmKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRl
eHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBw
YWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZv
aWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxv
YXRSZWN0Jik7CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29u
c3Q7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHZpcnR1YWwgdm9pZCBzZXRWaWRlb0Z1bGxzY3Jl
ZW5MYXllcihQbGF0Zm9ybUxheWVyKik7CkBAIC0yMTcsOCArMjE3LDggQEAgcHJpdmF0ZToKIAog
ICAgIHZvaWQgY3JlYXRlSW1hZ2VHZW5lcmF0b3IoKTsKICAgICB2b2lkIGRlc3Ryb3lJbWFnZUdl
bmVyYXRvcigpOwotICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZUZvclRpbWVJ
blJlY3QoZmxvYXQsIGNvbnN0IEludFJlY3QmKTsKLSAgICB2b2lkIHBhaW50V2l0aEltYWdlR2Vu
ZXJhdG9yKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKKyAgICBSZXRhaW5QdHI8
Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGZsb2F0LCBjb25zdCBGbG9hdFJl
Y3QmKTsKKyAgICB2b2lkIHBhaW50V2l0aEltYWdlR2VuZXJhdG9yKEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IEZsb2F0UmVjdCYpOwogCiAjaWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVU
KQogICAgIHZvaWQgY3JlYXRlVmlkZW9PdXRwdXQoKTsKQEAgLTIyNiw3ICsyMjYsNyBAQCBwcml2
YXRlOgogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjcmVhdGVQaXhlbEJ1ZmZlcigp
OwogICAgIHZvaWQgdXBkYXRlTGFzdEltYWdlKCk7CiAgICAgYm9vbCB2aWRlb091dHB1dEhhc0F2
YWlsYWJsZUZyYW1lKCk7Ci0gICAgdm9pZCBwYWludFdpdGhWaWRlb091dHB1dChHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBwYWludFdpdGhWaWRlb091dHB1dChH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2aXJ0dWFsIFBhc3NOYXRp
dmVJbWFnZVB0ciBuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCB3YWl0Rm9yVmlkZW9PdXRwdXRNZWRpYURhdGFXaWxsQ2hhbmdlKCk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCmluZGV4IDgyMjZlODBmYmU2Y2FkNjgxM2VhODg1MjgyODQyMGE2NDU1
ZDE0NTcuLmNiZjRlZTkzZGEwNDgyZGY3NGQ0YzdhOWMwMDJmNmY3NjM5ZWM3MmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQy5tbQpAQCAtMTQ2Niw3ICsxNDY2LDcgQEAgbG9uZyBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDOjphc3NldEVycm9yQ29kZSgpIGNvbnN0CiAgICAgcmV0dXJu
IFtlcnJvciBjb2RlXTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IEludFJlY3QmIHJlY3QpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewogICAgIGlmICghbWV0YURhdGFBdmFpbGFibGUo
KSB8fCBjb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE0
ODcsNyArMTQ4Nyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250CiAgICAgbV92aWRlb0ZyYW1l
SGFzRHJhd24gPSB0cnVlOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVj
dCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnQoR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKCFt
ZXRhRGF0YUF2YWlsYWJsZSgpIHx8IGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtMTUwMyw3ICsxNTAzLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEkK
ICAgICBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChjb250ZXh0LCByZWN0KTsKIH0KIAotdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludFdpdGhJbWFnZUdlbmVy
YXRvcihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCit2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50V2l0aEltYWdlR2VuZXJh
dG9yKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewog
ICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50
V2l0aEltYWdlR2VuZXJhdG9yKCVwKSIsIHRoaXMpOwogCkBAIC0xNTM1LDcgKzE1MzUsNyBAQCBz
dGF0aWMgSGFzaFNldDxTdHJpbmc+IG1pbWVUeXBlQ2FjaGUoKQogICAgIHJldHVybiBjYWNoZTsK
IH0gCiAKLVJldGFpblB0cjxDR0ltYWdlUmVmPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoZmxvYXQgdGltZSwgY29uc3QgSW50UmVj
dCYgcmVjdCkKK1JldGFpblB0cjxDR0ltYWdlUmVmPiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDOjpjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoZmxvYXQgdGltZSwgY29uc3QgRmxv
YXRSZWN0JiByZWN0KQogewogICAgIGlmICghbV9pbWFnZUdlbmVyYXRvcikKICAgICAgICAgY3Jl
YXRlSW1hZ2VHZW5lcmF0b3IoKTsKQEAgLTE4MjcsNyArMTgyNyw3IEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6dHJhY2tzQ2hhbmdlZCgpCiAgICAgICAgIGhhc0Nh
cHRpb25zID0gW1ttX2F2QXNzZXQuZ2V0KCkgdHJhY2tzV2l0aE1lZGlhVHlwZTpBVk1lZGlhVHlw
ZUNsb3NlZENhcHRpb25dIGNvdW50XTsKICNlbmRpZgogCi0gICAgICAgIHByZXNlbnRhdGlvblNp
emVEaWRDaGFuZ2UoZmlyc3RFbmFibGVkVmlkZW9UcmFjayA/IEludFNpemUoQ0dTaXplQXBwbHlB
ZmZpbmVUcmFuc2Zvcm0oW2ZpcnN0RW5hYmxlZFZpZGVvVHJhY2sgbmF0dXJhbFNpemVdLCBbZmly
c3RFbmFibGVkVmlkZW9UcmFjayBwcmVmZXJyZWRUcmFuc2Zvcm1dKSkgOiBJbnRTaXplKCkpOwor
ICAgICAgICBwcmVzZW50YXRpb25TaXplRGlkQ2hhbmdlKGZpcnN0RW5hYmxlZFZpZGVvVHJhY2sg
PyBGbG9hdFNpemUoQ0dTaXplQXBwbHlBZmZpbmVUcmFuc2Zvcm0oW2ZpcnN0RW5hYmxlZFZpZGVv
VHJhY2sgbmF0dXJhbFNpemVdLCBbZmlyc3RFbmFibGVkVmlkZW9UcmFjayBwcmVmZXJyZWRUcmFu
c2Zvcm1dKSkgOiBGbG9hdFNpemUoKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgYm9vbCBoYXNW
aWRlbyA9IGZhbHNlOwogICAgICAgICBib29sIGhhc0F1ZGlvID0gZmFsc2U7CkBAIC0yMTIxLDcg
KzIxMjEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNpemVD
aGFuZ2VkKCkKICAgICBpZiAoIW1fYXZBc3NldCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc2V0
TmF0dXJhbFNpemUocm91bmRlZEludFNpemUobV9jYWNoZWRQcmVzZW50YXRpb25TaXplKSk7Cisg
ICAgc2V0TmF0dXJhbFNpemUobV9jYWNoZWRQcmVzZW50YXRpb25TaXplKTsKIH0KICAgICAKIGJv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aGFzU2luZ2xlU2VjdXJpdHlP
cmlnaW4oKSBjb25zdCAKQEAgLTIyNzMsNyArMjI3Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6dXBkYXRlTGFzdEltYWdlKCkKICAgICAgICAgbV9sYXN0SW1h
Z2UgPSBjcmVhdGVJbWFnZUZyb21QaXhlbEJ1ZmZlcihwaXhlbEJ1ZmZlci5nZXQoKSk7CiB9CiAK
LXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRXaXRoVmlkZW9P
dXRwdXQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBvdXRwdXRSZWN0
KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludFdpdGhWaWRl
b091dHB1dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgb3V0cHV0
UmVjdCkKIHsKICAgICBpZiAobV92aWRlb091dHB1dCAmJiAhbV9sYXN0SW1hZ2UgJiYgIXZpZGVv
T3V0cHV0SGFzQXZhaWxhYmxlRnJhbWUoKSkKICAgICAgICAgd2FpdEZvclZpZGVvT3V0cHV0TWVk
aWFEYXRhV2lsbENoYW5nZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCA4NmRmZDA1
ZjI1Y2RhNTc4M2NiZjBjZTA2Y2FmZTlhNDg3ZTBhODRiLi4zNTVkYzRmNDNjZTg5ODIyODM5MzIx
Yzk2YmQ0ZWI0ODdkMTI3YjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMTE1LDcg
KzExNSw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNTY2FubmluZygp
IGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCBJbnRTaXplIG5hdHVyYWxTaXplKCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBGbG9hdFNpemUgbmF0dXJhbFNpemUoKSBjb25zdCBv
dmVycmlkZTsKIAogICAgIHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgYm9vbCBoYXNBdWRpbygpIGNvbnN0IG92ZXJyaWRlOwpAQCAtMTQwLDggKzE0
MCw4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRTaXpl
Jikgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgSW50UmVjdCYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRG
cmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jikgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVj
dCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4
dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKIAogICAgIHZp
cnR1YWwgYm9vbCBoYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCBkYWI0NjdlY2ZiNTRkNjgwOTkzNTA1OWY4MzRj
ZDgzNjYyMjFiMjk2Li5jYzIxN2M4MDgwOWFjYTdhNmQyYWY2MzNhNzhmN2M3MGFhZmNjZjQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0zNDUsMTAgKzM0NSwxMCBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2V0TXV0ZWQoYm9vbCBtdXRlZCkK
ICAgICAgICAgWyppdCBzZXRNdXRlZDptdXRlZF07CiB9CiAKLUludFNpemUgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpuYXR1cmFsU2l6ZSgpIGNvbnN0
CiB7CiAgICAgaWYgKCFtX21lZGlhU291cmNlUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJuIEludFNp
emUoKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0U2l6ZSgpOwogCiAgICAgcmV0dXJuIG1fbWVkaWFT
b3VyY2VQcml2YXRlLT5uYXR1cmFsU2l6ZSgpOwogfQpAQCAtNTEyLDEyICs1MTIsMTIgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNldFNpemUoY29uc3QgSW50
U2l6ZSYpCiAgICAgLy8gTm8tb3AuCiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDOjpwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikKK3Zv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYWludChHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKQogewogICAgIC8vIEZJWE1FKDEyNTE1Nyk6IEltcGxl
bWVudCBwYWludGluZy4KIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEludFJlY3QmKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBh
aW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVj
dCYpCiB7CiAgICAgLy8gRklYTUUoMTI1MTU3KTogSW1wbGVtZW50IHBhaW50aW5nLgogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCmlu
ZGV4IDVmOWZhNGQ4ZWEyMmRiYmUzY2RmZjY0MGUyYTU2YmVkYmRmNGU4OTguLjNkZTk1YTJiOGY3
ZjllYjNkODRkOTQ0ZjQzZGM2ZWRiODY5MmI3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBzZWVrVG9UaW1lKGNvbnN0IE1lZGlhVGltZSYpOwogICAgIE1lZGlh
VGltZSBmYXN0U2Vla1RpbWVGb3JNZWRpYVRpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVk
aWFUaW1lJiBuZWdhdGl2ZVRocmVzaG9sZCwgY29uc3QgTWVkaWFUaW1lJiBwb3NpdGl2ZVRocmVz
aG9sZCk7Ci0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0OworICAgIEZsb2F0U2l6ZSBu
YXR1cmFsU2l6ZSgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIE1lZGlhU291cmNlUHJpdmF0ZUFW
Rk9iakMoTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDKiwgTWVkaWFTb3VyY2VQ
cml2YXRlQ2xpZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3Vy
Y2VQcml2YXRlQVZGT2JqQy5tbQppbmRleCBlZTM2ZjhiN2FkNDViOGI4NWUwMDczNTZjYjAyYTQ2
MDE3NTUwZWUzLi44MDE3ZTE5ZGEyY2NlMzYyOTE4N2I5ZGNlNzNlZjQ5MTE1ZTU0Y2FmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMu
bW0KQEAgLTE5OCw5ICsxOTgsOSBAQCBNZWRpYVRpbWUgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qzo6ZmFzdFNlZWtUaW1lRm9yTWVkaWFUaW1lKGNvbnN0IE1lZGlhVGltZSYgdAogICAgIHJldHVy
biBzZWVrVGltZTsKIH0KIAotSW50U2l6ZSBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpuYXR1
cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6bmF0
dXJhbFNpemUoKSBjb25zdAogewotICAgIEludFNpemUgcmVzdWx0OworICAgIEZsb2F0U2l6ZSBy
ZXN1bHQ7CiAKICAgICBmb3IgKGF1dG8qIHNvdXJjZUJ1ZmZlciA6IG1fYWN0aXZlU291cmNlQnVm
ZmVycykKICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmV4cGFuZGVkVG8oc291cmNlQnVmZmVyLT5u
YXR1cmFsU2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZm
ZXJQcml2YXRlQVZGT2JqQy5oCmluZGV4IDQ4ZTQyMzAzZDM1ZWYxY2ZhYTU4MTVjNzZiMzc5YzRm
OTVkZDVjMTYuLjQ5NGFlZmFiMGMyZjBiZDRmYzFjZmZkMzBlM2FkMDhiYTJhMzAxMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
aApAQCAtOTMsNyArOTMsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNlZWtUb1RpbWUoTWVkaWFU
aW1lKTsKICAgICBNZWRpYVRpbWUgZmFzdFNlZWtUaW1lRm9yTWVkaWFUaW1lKE1lZGlhVGltZSwg
TWVkaWFUaW1lIG5lZ2F0aXZlVGhyZXNob2xkLCBNZWRpYVRpbWUgcG9zaXRpdmVUaHJlc2hvbGQp
OwotICAgIEludFNpemUgbmF0dXJhbFNpemUoKTsKKyAgICBGbG9hdFNpemUgbmF0dXJhbFNpemUo
KTsKIAogICAgIGludCBwcm90ZWN0ZWRUcmFja0lEKCkgY29uc3QgeyByZXR1cm4gbV9wcm90ZWN0
ZWRUcmFja0lEOyB9CiAgICAgQVZTdHJlYW1EYXRhUGFyc2VyKiBwYXJzZXIoKSBjb25zdCB7IHJl
dHVybiBtX3BhcnNlci5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9T
b3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQppbmRleCA1ZDhhNTY0YjYyOThlMzAxY2JkOGM4
Zjg2YmI3NmE4NDczNWVkM2UzLi5mNzk5ZGIyOTI4N2Q5NWY5MTU5MWEwZTA3NjRjODllM2U1MzVm
MTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQy5tbQpAQCAtODkwLDYgKzg5MCw5IEBAIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakM6OnRyYWNrRGlkQ2hhbmdlRW5hYmxlZChWaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291
CiAgICAgICAgIFttX3BhcnNlciBzZXRTaG91bGRQcm92aWRlTWVkaWFEYXRhOllFUyBmb3JUcmFj
a0lEOnRyYWNrSURdOwogICAgICAgICBpZiAoIW1fZGlzcGxheUxheWVyKSB7CiAgICAgICAgICAg
ICBtX2Rpc3BsYXlMYXllciA9IGFkb3B0TlMoW2FsbG9jQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJJbnN0YW5jZSgpIGluaXRdKTsKKyNpZm5kZWYgTkRFQlVHCisgICAgICAgICAgICBbbV9kaXNw
bGF5TGF5ZXIgc2V0TmFtZTpAIlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDIEFWU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyIl07CisjZW5kaWYKICAgICAgICAgICAgIFttX2Rpc3BsYXlMYXllciBy
ZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgp
IHVzaW5nQmxvY2s6XnsKICAgICAgICAgICAgICAgICBkaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1w
bGVzKHRyYWNrSUQpOwogICAgICAgICAgICAgfV07CkBAIC0xMDc2LDkgKzEwNzksOSBAQCB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpzZWVrVG9UaW1lKE1lZGlhVGltZSB0aW1lKQog
ICAgICAgICBtX2NsaWVudC0+c291cmNlQnVmZmVyUHJpdmF0ZVNlZWtUb1RpbWUodGhpcywgdGlt
ZSk7CiB9CiAKLUludFNpemUgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6Om5hdHVyYWxTaXpl
KCkKK0Zsb2F0U2l6ZSBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6bmF0dXJhbFNpemUoKQog
ewotICAgIHJldHVybiByb3VuZGVkSW50U2l6ZShtX2NhY2hlZFNpemUpOworICAgIHJldHVybiBt
X2NhY2hlZFNpemU7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRpZEJl
Y29tZVJlYWR5Rm9yTW9yZVNhbXBsZXMoaW50IHRyYWNrSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJp
dmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
aAppbmRleCAzODRlOTVkOGJlYjUyNTdkNmE1OGNiNTRjNjA3ODQ2MDE2MTJkOWZjLi5kYjE5NTNm
NmQ3MzViNGEyNmFlNjIzNGMxNWQ3YzJjYmMwNjNhMjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
LmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogCiAgICAgaW50IHRyYWNrSUQoKSB7IHJldHVy
biBtX3RyYWNrSUQ7IH0KIAotICAgIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25zdDsKKyAgICBG
bG9hdFNpemUgbmF0dXJhbFNpemUoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBW
aWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQyhBVkFzc2V0VHJhY2sqLCBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQyogcGFyZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5k
ZXggOWJlZmRhNDE1NGNmOTQxNDNiMDk1ZDViOWEwMDdmOTRiY2U0NTNmYy4uZmNjMjQ5NmExMzVh
YTRmNzNhOGZlNTQ4ZDE0ZTBjODAwMDRhZDFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0K
QEAgLTgwLDkgKzgwLDkgQEAgdm9pZCBWaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2V0U2VsZWN0ZWQoYm9vbCBzZWxlY3RlZCkKICAgICBtX3BhcmVudC0+dHJhY2tEaWRDaGFu
Z2VFbmFibGVkKHRoaXMpOwogfQogCi1JbnRTaXplIFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgVmlkZW9UcmFja1ByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
SW50U2l6ZShbYXNzZXRUcmFjaygpIG5hdHVyYWxTaXplXSk7CisgICAgcmV0dXJuIEZsb2F0U2l6
ZShbYXNzZXRUcmFjaygpIG5hdHVyYWxTaXplXSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCA4MjI5MTc5OGVk
M2NjNmUzNjg4YjVmNjk3ZDNkMGY3YzZmN2QyZDQ2Li4xMzQyYThlZTc2Y2U4NDdlMTg1MDc5Y2Vj
YzE1MjdhZWRhY2ZiMTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC0xMjksMjEgKzEyOSwyMSBAQCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSgpCiB9
CiAKIC8vIFJldHVybnMgdGhlIHNpemUgb2YgdGhlIHZpZGVvCi1JbnRTaXplIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5hdHVyYWxTaXplKCkgY29uc3QKK0Zsb2F0U2l6ZSBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7CiAgICAg
aWYgKCFoYXNWaWRlbygpKQotICAgICAgICByZXR1cm4gSW50U2l6ZSgpOworICAgICAgICByZXR1
cm4gRmxvYXRTaXplKCk7CiAKICAgICBpZiAoIW1fdmlkZW9TaXplLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuIG1fdmlkZW9TaXplOwogCiAgICAgV1RGOjpHTXV0ZXhMb2NrZXI8R011dGV4PiBs
b2NrKG1fc2FtcGxlTXV0ZXgpOwogICAgIGlmICghbV9zYW1wbGUpCi0gICAgICAgIHJldHVybiBJ
bnRTaXplKCk7CisgICAgICAgIHJldHVybiBGbG9hdFNpemUoKTsKIAogICAgIEdzdENhcHMqIGNh
cHMgPSBnc3Rfc2FtcGxlX2dldF9jYXBzKG1fc2FtcGxlKTsKICAgICBpZiAoIWNhcHMpCi0gICAg
ICAgIHJldHVybiBJbnRTaXplKCk7CisgICAgICAgIHJldHVybiBGbG9hdFNpemUoKTsKIAogCiAg
ICAgLy8gVE9ETzogaGFuZGxlIHBvc3NpYmxlIGNsZWFuIGFwZXJ0dXJlIGRhdGEuIFNlZQpAQCAt
MTU3LDcgKzE1Nyw3IEBAIEludFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6
bmF0dXJhbFNpemUoKSBjb25zdAogICAgIEludFNpemUgb3JpZ2luYWxTaXplOwogICAgIEdzdFZp
ZGVvRm9ybWF0IGZvcm1hdDsKICAgICBpZiAoIWdldFZpZGVvU2l6ZUFuZEZvcm1hdEZyb21DYXBz
KGNhcHMsIG9yaWdpbmFsU2l6ZSwgZm9ybWF0LCBwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yLCBw
aXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsIHN0cmlkZSkpCi0gICAgICAgIHJldHVybiBJbnRT
aXplKCk7CisgICAgICAgIHJldHVybiBGbG9hdFNpemUoKTsKIAogICAgIExPR19NRURJQV9NRVNT
QUdFKCJPcmlnaW5hbCB2aWRlbyBzaXplOiAlZHglZCIsIG9yaWdpbmFsU2l6ZS53aWR0aCgpLCBv
cmlnaW5hbFNpemUuaGVpZ2h0KCkpOwogICAgIExPR19NRURJQV9NRVNTQUdFKCJQaXhlbCBhc3Bl
Y3QgcmF0aW86ICVkLyVkIiwgcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgcGl4ZWxBc3BlY3RS
YXRpb0Rlbm9taW5hdG9yKTsKQEAgLTE4OCw3ICsxODgsNyBAQCBJbnRTaXplIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICB9CiAKICAgICBM
T0dfTUVESUFfTUVTU0FHRSgiTmF0dXJhbCBzaXplOiAlIiBHX0dVSU5UNjRfRk9STUFUICJ4JSIg
R19HVUlOVDY0X0ZPUk1BVCwgd2lkdGgsIGhlaWdodCk7Ci0gICAgbV92aWRlb1NpemUgPSBJbnRT
aXplKHN0YXRpY19jYXN0PGludD4od2lkdGgpLCBzdGF0aWNfY2FzdDxpbnQ+KGhlaWdodCkpOwor
ICAgIG1fdmlkZW9TaXplID0gRmxvYXRTaXplKHN0YXRpY19jYXN0PGludD4od2lkdGgpLCBzdGF0
aWNfY2FzdDxpbnQ+KGhlaWdodCkpOwogICAgIHJldHVybiBtX3ZpZGVvU2l6ZTsKIH0KIApAQCAt
MzUxLDcgKzM1MSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0
U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogICAgIG1fc2l6ZSA9IHNpemU7CiB9CiAKLXZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVj
dCYgcmVjdCkKIHsKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmICFVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCiAgICAgaWYgKGNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKaW5kZXggZWE4NDk3YjI1MjFkMzY1NDM0Njk5
OGU5MDA2OGMxMzg5YmQxMDVmMS4uMGJjMDVhOGJmZGY2MjNkOTAyMTAyYjViMTYyZDc0ZmQxNWJh
NGQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZS5oCkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2UgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlCiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSgpOwogCi0gICAgSW50U2l6
ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0OworICAgIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0
OwogCiAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQpOwogICAgIGZsb2F0IHZvbHVtZSgpIGNvbnN0
OwpAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaXplQ2hhbmdlZCgpOwogCiAg
ICAgdm9pZCB0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqKTsKLSAgICB2b2lkIHBhaW50KEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKKyAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwogCiAgICAgdmlydHVhbCBib29sIGhhc1NpbmdsZVNl
Y3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgZmxvYXQg
bWF4VGltZUxvYWRlZCgpIGNvbnN0IHsgcmV0dXJuIDAuMDsgfQpAQCAtMTI5LDcgKzEyOSw3IEBA
IHByb3RlY3RlZDoKICAgICB1bnNpZ25lZCBsb25nIG1fcmVwYWludEhhbmRsZXI7CiAgICAgdW5z
aWduZWQgbG9uZyBtX3ZvbHVtZVNpZ25hbEhhbmRsZXI7CiAgICAgdW5zaWduZWQgbG9uZyBtX211
dGVTaWduYWxIYW5kbGVyOwotICAgIG11dGFibGUgSW50U2l6ZSBtX3ZpZGVvU2l6ZTsKKyAgICBt
dXRhYmxlIEZsb2F0U2l6ZSBtX3ZpZGVvU2l6ZTsKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wp
ICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgUGFzc1JlZlB0cjxCaXRtYXBUZXh0
dXJlPiB1cGRhdGVUZXh0dXJlKFRleHR1cmVNYXBwZXIqKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQuaAppbmRleCA4ZmNhODdmYjEwNWI3MGFhOTVmNWM1MmRkYmJiYWFiNzRmMWVj
MTE4Li42OTgyYzk5MWY5MmZmMzEzZDJkYmMzMTM2MTM4ZGQ1NmM0MDZjMTE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRl
UVRLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQuaApAQCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogICAgIFBsYXRm
b3JtTWVkaWEgcGxhdGZvcm1NZWRpYSgpIGNvbnN0OwogICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRm
b3JtTGF5ZXIoKSBjb25zdDsKIAotICAgIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25zdDsKKyAg
ICBGbG9hdFNpemUgbmF0dXJhbFNpemUoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGhhc1Zp
ZGVvKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0OwogICAgIGJvb2wgc3VwcG9y
dHNGdWxsc2NyZWVuKCkgY29uc3Q7CkBAIC0xMjQsOCArMTI0LDggQEAgcHJpdmF0ZToKICAgICAK
ICAgICB2aXJ0dWFsIGJvb2wgaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0OwogCi0gICAg
dm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgdm9pZCBw
YWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0
Jik7CisgICAgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsK
KyAgICB2b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNv
bnN0IEZsb2F0UmVjdCYpOwogICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlRm9yUmVuZGVyaW5nKCk7
CiAKICAgICBib29sIHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclBy
aXZhdGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRp
YVBsYXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5ZmE5NzE4NDJmNWVmM2ExNDhmZmI1NzdjYjJh
NWNlM2ExOWU2M2RlLi5hY2ExMzA3MGMyNDFhYmY5N2I2ZGU2ZjU4NGYyZTU0NDBjMzBhZWY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5
ZXJQcml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC03MDksMTAgKzcwOSwxMCBAQCBib29s
IE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzZWVraW5nKCkgY29uc3QKICAgICByZXR1cm4gbV9z
ZWVrVG8gPj0gTWVkaWFUaW1lOjp6ZXJvVGltZSgpOwogfQogCi1JbnRTaXplIE1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQ6Om5hdHVyYWxTaXplKCkgY29uc3QKIHsKICAgICBpZiAoIW1ldGFEYXRhQXZh
aWxhYmxlKCkpCi0gICAgICAgIHJldHVybiBJbnRTaXplKCk7CisgICAgICAgIHJldHVybiBGbG9h
dFNpemUoKTsKIAogICAgIC8vIEluIHNwaXRlIG9mIHRoZSBuYW1lIG9mIHRoaXMgbWV0aG9kLCBy
ZXR1cm4gUVRNb3ZpZU5hdHVyYWxTaXplQXR0cmlidXRlIHRyYW5zZm9ybWVkIGJ5IHRoZSAKICAg
ICAvLyBpbml0aWFsIG1vdmllIHNjYWxlIGJlY2F1c2UgdGhlIHNwZWMgc2F5cyBpbnRyaW5zaWMg
c2l6ZSBpczoKQEAgLTczMiw4ICs3MzIsOSBAQCBJbnRTaXplIE1lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiAgICAgICAgIC8vIGV2ZW50IHdoZW4gdGhpcyBoYXBw
ZW5zLCBzbyB3ZSBtdXN0IGNhY2hlIHRoZSBsYXN0IHZhbGlkIG5hdHVyYWxTaXplIGhlcmU6CiAg
ICAgICAgIG1fY2FjaGVkTmF0dXJhbFNpemUgPSBuYXR1cmFsU2l6ZTsKICAgICB9Ci0gICAgICAg
IAotICAgIHJldHVybiBJbnRTaXplKG5hdHVyYWxTaXplLndpZHRoKCkgKiBtX3NjYWxlRmFjdG9y
LndpZHRoKCksIG5hdHVyYWxTaXplLmhlaWdodCgpICogbV9zY2FsZUZhY3Rvci5oZWlnaHQoKSk7
CisgICAgCisgICAgbmF0dXJhbFNpemUuc2NhbGUobV9zY2FsZUZhY3Rvci53aWR0aCgpLCBtX3Nj
YWxlRmFjdG9yLmhlaWdodCgpKTsKKyAgICByZXR1cm4gbmF0dXJhbFNpemU7CiB9CiAKIGJvb2wg
TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6Omhhc1ZpZGVvKCkgY29uc3QKQEAgLTExODEsNyArMTE4
Miw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnJlcGFpbnQoKQogICAgIG1fcGxh
eWVyLT5yZXBhaW50KCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50
Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50
UmVjdCYgcikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50Q3VycmVudEZyYW1l
SW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByKQog
ewogICAgIGlkIHF0VmlkZW9SZW5kZXJlciA9IG1fcXRWaWRlb1JlbmRlcmVyLmdldCgpOwogICAg
IGlmICghcXRWaWRlb1JlbmRlcmVyICYmIGN1cnJlbnRSZW5kZXJpbmdNb2RlKCkgPT0gTWVkaWFS
ZW5kZXJpbmdNb3ZpZUxheWVyKSB7CkBAIC0xMTk1LDcgKzExOTYsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleAogICAgIHBhaW50KGNvbnRleHQsIHIpOwogfQogCi12b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJl
Y3QmIHIpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBpZiAoY29udGV4dC0+cGFp
bnRpbmdEaXNhYmxlZCgpIHx8IG1faGFzVW5zdXBwb3J0ZWRUcmFja3MpCiAgICAgICAgIHJldHVy
bjsKQEAgLTEyMDcsNyArMTIwOCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBh
aW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcikKICAgICBCRUdJ
Tl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAgICAgTlNHcmFwaGljc0NvbnRleHQqIG5ld0NvbnRl
eHQ7CiAgICAgRmxvYXRTaXplIHNjYWxlRmFjdG9yKDEuMGYsIC0xLjBmKTsKLSAgICBJbnRSZWN0
IHBhaW50UmVjdChJbnRQb2ludCgwLCAwKSwgSW50U2l6ZShyLndpZHRoKCksIHIuaGVpZ2h0KCkp
KTsKKyAgICBGbG9hdFJlY3QgcGFpbnRSZWN0KEZsb2F0UG9pbnQoKSwgci5zaXplKCkpOwogCiAg
ICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKCpjb250ZXh0KTsKICAgICBj
b250ZXh0LT50cmFuc2xhdGUoci54KCksIHIueSgpICsgci5oZWlnaHQoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwCmluZGV4IDY2NTA0OTZiMDkx
MDUxZWU2M2NiMTM5YmUzYjhjMzg5ODk4NTdjNGYuLjg4OWE4NjhmNDJkNWY0Njk4NDJlM2RlYWRl
ZjYzYzc3MmY3NDA5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZv
dW5kYXRpb24uY3BwCkBAIC0xMjksNyArMTI5LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb246OnBhdXNlKCkKICAgICBtX3BhdXNlZCA9IFNVQ0NFRURFRChtX21lZGlh
U2Vzc2lvbi0+UGF1c2UoKSk7CiB9CiAKLUludFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFG
b3VuZGF0aW9uOjpuYXR1cmFsU2l6ZSgpIGNvbnN0IAorRmxvYXRTaXplIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhRm91bmRhdGlvbjo6bmF0dXJhbFNpemUoKSBjb25zdCAKIHsKICAgICByZXR1cm4g
bV9zaXplOwogfQpAQCAtMjA3LDcgKzIwNyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFGb3VuZGF0aW9uOjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiAgICAgbV92aWRlb0Rp
c3BsYXktPlNldFZpZGVvUG9zaXRpb24obnVsbHB0ciwgJnJjKTsKIH0KIAotdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3Vu
ZGF0aW9uOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYg
cmVjdCkKIHsKICAgICBpZiAoY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpCiAgICAgICAgIHx8
ICFtX3BsYXllci0+dmlzaWJsZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
Rm91bmRhdGlvbi5oCmluZGV4IGFmMGY2MjNhMmMwMGM3Y2Y4NTg3MDBmMjQyMDYzYzk4ODllYjRh
ODkuLmM2ZjA3NDI4ZWExYmRiMmI0Y2EzM2ZkYTc4YmQ0OGEwYjc5MmQxNDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmgKQEAgLTQ5LDcgKzQ5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwbGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIHBhdXNl
KCk7CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGhh
c1ZpZGVvKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGhhc0F1ZGlvKCkgY29uc3Q7CkBAIC02
OSw3ICs2OSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXplKGNvbnN0IElu
dFNpemUmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBJbnRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNv
bnN0IEZsb2F0UmVjdCYpOwogCiBwcml2YXRlOgogICAgIE1lZGlhUGxheWVyKiBtX3BsYXllcjsK
QEAgLTgxLDcgKzgxLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzVmlkZW87CiAgICAgSFdO
RCBtX2h3bmRWaWRlbzsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGU7
Ci0gICAgSW50UmVjdCBtX2xhc3RQYWludFJlY3Q7CisgICAgRmxvYXRSZWN0IG1fbGFzdFBhaW50
UmVjdDsKIAogICAgIENPTVB0cjxJTUZNZWRpYVNlc3Npb24+IG1fbWVkaWFTZXNzaW9uOwogICAg
IENPTVB0cjxJTUZTb3VyY2VSZXNvbHZlcj4gbV9zb3VyY2VSZXNvbHZlcjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVy
TWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKaW5kZXggMjA0ODA0Zjk1NWZkMDNmZjAx
NjQ4MzY0NTlhN2EwNGE0NDc0OGIwYy4uYjlhMWE0OGViOTAyNzI0OTg4MTQ0OTU3ZmVhYWNiMmI1
NjI4NjBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAK
QEAgLTExOCw5ICsxMTgsOSBAQCB2b2lkIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpwYXVz
ZSgpCiAgICAgbV9wbGF5aW5nID0gMDsKIH0KIAotSW50U2l6ZSBNb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZTo6bmF0dXJhbFNpemUoKSBjb25zdAorRmxvYXRTaXplIE1vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEludFNpemUoKTsK
KyAgICByZXR1cm4gRmxvYXRTaXplKCk7CiB9CiAKIGJvb2wgTW9ja01lZGlhUGxheWVyTWVkaWFT
b3VyY2U6Omhhc1ZpZGVvKCkgY29uc3QKQEAgLTE3OSw3ICsxNzksNyBAQCB2b2lkIE1vY2tNZWRp
YVBsYXllck1lZGlhU291cmNlOjpzZXRTaXplKGNvbnN0IEludFNpemUmKQogewogfQogCi12b2lk
IE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBJbnRSZWN0JikKK3ZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnBhaW50KEdyYXBo
aWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFT
b3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01l
ZGlhUGxheWVyTWVkaWFTb3VyY2UuaAppbmRleCBjZGU2NTY2N2Q1NGUwMjA1YThiYTFmNjdhYjQ1
NzMwM2M3ZmMwOWJmLi4yYWM0MmU4MTJkODhjNDIxODlkMWI0NWUxM2M2MzJkYWY1YmI0MjE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBAIC02Myw3ICs2Myw3
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbExvYWQoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgcGxheSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBwYXVzZSgp
IG92ZXJyaWRlOwotICAgIHZpcnR1YWwgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0IG92ZXJy
aWRlOworICAgIHZpcnR1YWwgRmxvYXRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBib29sIGhhc1ZpZGVvKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCBib29sIGhhc0F1ZGlvKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFZp
c2libGUoYm9vbCkgb3ZlcnJpZGU7CkBAIC03NCw3ICs3NCw3IEBAIHByaXZhdGU6CiAgICAgdmly
dHVhbCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBidWZmZXJlZCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBkaWRMb2FkaW5nUHJvZ3Jlc3MoKSBjb25zdCBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJikgb3ZlcnJp
ZGU7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJl
Y3QmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBNZWRpYVRpbWUgY3VycmVu
dE1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgTWVkaWFUaW1lIGR1cmF0
aW9uTWVkaWFUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNlZWtXaXRo
VG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlh
VGltZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAK
aW5kZXggNTcwNDUxZDRiMDFlYzFmOGE5YjdiYjdmZmIzODEwZGQxODc3YWViMC4uMDllMWNhY2Q3
ZGQ0YTIwYTE3YmRkNmZmMWM3YTY2NTExOTcwNzkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlkZW8uY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgTGF5b3V0U2l6ZSBSZW5kZXJW
aWRlbzo6Y2FsY3VsYXRlSW50cmluc2ljU2l6ZSgpCiAgICAgLy8gaGVpZ2h0IG9mIHRoZSBwb3N0
ZXIgZnJhbWUsIGlmIHRoYXQgaXMgYXZhaWxhYmxlOyBvdGhlcndpc2UgaXQgaXMgMTUwIENTUyBw
aXhlbHMuCiAgICAgTWVkaWFQbGF5ZXIqIHBsYXllciA9IHZpZGVvRWxlbWVudCgpLnBsYXllcigp
OwogICAgIGlmIChwbGF5ZXIgJiYgdmlkZW9FbGVtZW50KCkucmVhZHlTdGF0ZSgpID49IEhUTUxW
aWRlb0VsZW1lbnQ6OkhBVkVfTUVUQURBVEEpIHsKLSAgICAgICAgTGF5b3V0U2l6ZSBzaXplID0g
cGxheWVyLT5uYXR1cmFsU2l6ZSgpOworICAgICAgICBMYXlvdXRTaXplIHNpemUocGxheWVyLT5u
YXR1cmFsU2l6ZSgpKTsKICAgICAgICAgaWYgKCFzaXplLmlzRW1wdHkoKSkKICAgICAgICAgICAg
IHJldHVybiBzaXplOwogICAgIH0KQEAgLTE4OSw5ICsxODksOSBAQCB2b2lkIFJlbmRlclZpZGVv
OjpwYWludFJlcGxhY2VkKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYg
cGFpbnRPZgogICAgIGlmIChkaXNwbGF5aW5nUG9zdGVyKQogICAgICAgICBwYWludEludG9SZWN0
KGNvbnRleHQsIHJlY3QpOwogICAgIGVsc2UgaWYgKHZpZXcoKS5mcmFtZVZpZXcoKS5wYWludEJl
aGF2aW9yKCkgJiBQYWludEJlaGF2aW9yRmxhdHRlbkNvbXBvc2l0aW5nTGF5ZXJzKQotICAgICAg
ICBtZWRpYVBsYXllci0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoY29udGV4dCwgc25hcHBl
ZEludFJlY3QocmVjdCkpOworICAgICAgICBtZWRpYVBsYXllci0+cGFpbnRDdXJyZW50RnJhbWVJ
bkNvbnRleHQoY29udGV4dCwgcmVjdCk7CiAgICAgZWxzZQotICAgICAgICBtZWRpYVBsYXllci0+
cGFpbnQoY29udGV4dCwgc25hcHBlZEludFJlY3QocmVjdCkpOworICAgICAgICBtZWRpYVBsYXll
ci0+cGFpbnQoY29udGV4dCwgcmVjdCk7CiB9CiAKIHZvaWQgUmVuZGVyVmlkZW86OmxheW91dCgp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247606</attachid>
            <date>2015-02-28 11:36:14 -0800</date>
            <delta_ts>2015-02-28 12:32:47 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-142122-20150228113559.patch</filename>
            <type>text/plain</type>
            <size>48755</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVjMTA3YzE0ZGRhNzFi
YzY3YWJhZDZhZWNhOTQzNjQxMjlkOWU4Yy4uMzhkNmVmZjYwNTZmZGJlOTcwNmQ0Njg4ODhjZjY2
NzdkNDhmOTA2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDE1LTAyLTI3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEZ1bGxzY3JlZW4g
dmlkZW8gbGF5ZXJzIGFyZSBvZmYgYnkgb25lIHNvbWV0aW1lcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMTIyCisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzE5ODc4ODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29udmVydCBNZWRpYVBsYXllcjo6bmF0dXJhbFNpemUoKSB0byByZXR1cm4gYSBGbG9h
dFNpemUsIHNpbmNlIHRoZSBuYXR1cmFsIHNpemUKKyAgICAgICAgaXNuJ3QgYWx3YXlzIGludGVn
cmFsIChiZWNhdXNlIG9mIHByZXNlcnZpbmcgcGl4ZWwgcmF0aW8gZXRjKS4gRml4IGFsbCB0aGUg
bWVkaWEKKyAgICAgICAgYmFja2VuZHMgdG8gdXNlIEZsb2F0U2l6ZXMgZm9yIG5hdHVyYWwgc2l6
ZS4gQ29udmVydCB0aGUgdmlkZW8gaW1hZ2UgZHJhd2luZyBjb2RlCisgICAgICAgIHBhdGhzIHRv
IEZsb2F0U2l6ZSwgc2luY2UgbmF0dXJhbFNpemUgaXMgdXNlZCBvbiB0aGUgZGVzdGluYXRpb24g
cmVjdCBjb21wdXRhdGlvbiwKKyAgICAgICAgYW5kIHBhaW50aW5nIHNob3VsZCBiZSBmbG9hdGlu
ZyBwb2ludCBhbnl3YXkuCisgICAgICAgIAorICAgICAgICBHaXZlIHRoZSBsYXllciBjcmVhdGVk
IGJ5IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDIGEgbmFtZSBpbiBkZWJ1ZyBidWlsZHMuCisK
KyAgICAgICAgKiBodG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFZpZGVvRWxlbWVudDo6dmlkZW9XaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlk
ZW9FbGVtZW50Ojp2aWRlb0hlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlkZW9FbGVt
ZW50OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dCk6CisgICAgICAgICogaHRtbC9IVE1MVmlk
ZW9FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UpOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9GcmFtZVRvSW1hZ2UpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRp
YVBsYXllclByaXZhdGU6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyOjpuYXR1cmFsU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6cGFpbnQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnBhaW50Q3VycmVudEZyYW1lSW5Db250
ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Ok51bGxNZWRpYVBsYXllclByaXZhdGU6OnBhaW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjpwYWludEN1cnJlbnRGcmFtZUlu
Q29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6c2V0TmF0dXJhbFNpemUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50V2l0aEltYWdl
R2VuZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmNyZWF0ZUltYWdlRm9yVGltZUluUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0cmFja3NDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNpemVDaGFu
Z2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akM6OnBhaW50V2l0aFZpZGVvT3V0cHV0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGFpbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYWlu
dEN1cnJlbnRGcmFtZUluQ29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpuYXR1
cmFsU2l6ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVu
YWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6Om5h
dHVyYWxTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9WaWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9UcmFja1ByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6Om5hdHVyYWxTaXplKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6bmF0dXJhbFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpwYWludCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bmF0dXJhbFNp
emUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnBhaW50
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5zaWNTaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpwYWludFJlcGxhY2VkKToKKwogMjAxNS0wMi0yNSAg
U2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NT
IEdyaWQgTGF5b3V0XSBUcmFja3MgZ3Jvd2luZyBiZXlvbmQgbGltaXRzIHdoZW4gdGhleSBzaG91
bGQgbm90CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRleCA4NDQ3
MTFkMmExM2RkZGQ2MmFkODY5NGM4ZjhlMDhjYzczMTIxYWI4Li5kMmQxOGMzODBhYzVhNjhiZDRh
MjdiNmUyZGU5OTJmMGM2ZTg0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxWaWRlb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKQEAgLTE3MSwxNCArMTcxLDE0IEBAIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6
OnZpZGVvV2lkdGgoKSBjb25zdAogewogICAgIGlmICghcGxheWVyKCkpCiAgICAgICAgIHJldHVy
biAwOwotICAgIHJldHVybiBwbGF5ZXIoKS0+bmF0dXJhbFNpemUoKS53aWR0aCgpOworICAgIHJl
dHVybiBjbGFtcFRvVW5zaWduZWQocGxheWVyKCktPm5hdHVyYWxTaXplKCkud2lkdGgoKSk7CiB9
CiAKIHVuc2lnbmVkIEhUTUxWaWRlb0VsZW1lbnQ6OnZpZGVvSGVpZ2h0KCkgY29uc3QKIHsKICAg
ICBpZiAoIXBsYXllcigpKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gcGxheWVyKCkt
Pm5hdHVyYWxTaXplKCkuaGVpZ2h0KCk7CisgICAgcmV0dXJuIGNsYW1wVG9VbnNpZ25lZChwbGF5
ZXIoKS0+bmF0dXJhbFNpemUoKS5oZWlnaHQoKSk7CiB9CiAKIGJvb2wgSFRNTFZpZGVvRWxlbWVu
dDo6aXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiBhdHRyaWJ1dGUpIGNvbnN0CkBAIC0y
MzUsNyArMjM1LDcgQEAgdm9pZCBIVE1MVmlkZW9FbGVtZW50Ojp1cGRhdGVEaXNwbGF5U3RhdGUo
KQogICAgICAgICBzZXREaXNwbGF5TW9kZShQb3N0ZXIpOwogfQogCi12b2lkIEhUTUxWaWRlb0Vs
ZW1lbnQ6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgY29uc3QgSW50UmVjdCYgZGVzdFJlY3QpCit2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnBhaW50
Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxv
YXRSZWN0JiBkZXN0UmVjdCkKIHsKICAgICBNZWRpYVBsYXllciogcGxheWVyID0gSFRNTE1lZGlh
RWxlbWVudDo6cGxheWVyKCk7CiAgICAgaWYgKCFwbGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFZpZGVvRWxlbWVudC5oCmluZGV4IGFjZDQzODcyODY5ZTE0OTZlYjJkMDc4Y2JjYjNjYmVhM2Rk
Yjk3NmMuLjcwZjM0MGNjY2Y2NWVhMjE2YzE3ZWZiNzhhYTgzNTYxMDYzM2MyMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oCkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAgICAgLy8gVXNlZCBieSBjYW52YXMgdG8gZ2FpbiByYXcgcGl4ZWwgYWNjZXNz
Ci0gICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAogICAgIFBhc3NOYXRpdmVJbWFnZVB0
ciBuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQyZDRl
MzEyYzc4ZjM5ODE4NTVjY2U3ZGZhNjgwYjUwMTg2YmFiYWQuLmQ5OTYxZTFiZTVhZTZlNzdlNjkx
OWIzMTE0Y2UyNmNhYmRiMzFkMDQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtMTI4OCwxMSArMTI4OCwx
MSBAQCBzdGF0aWMgTGF5b3V0U2l6ZSBzaXplKEhUTUxJbWFnZUVsZW1lbnQqIGltYWdlLCBJbWFn
ZVNpemVUeXBlIHNpemVUeXBlKQogfQogCiAjaWYgRU5BQkxFKFZJREVPKQotc3RhdGljIEludFNp
emUgc2l6ZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbykKK3N0YXRpYyBGbG9hdFNpemUgc2l6ZShI
VE1MVmlkZW9FbGVtZW50KiB2aWRlbykKIHsKICAgICBpZiAoTWVkaWFQbGF5ZXIqIHBsYXllciA9
IHZpZGVvLT5wbGF5ZXIoKSkKICAgICAgICAgcmV0dXJuIHBsYXllci0+bmF0dXJhbFNpemUoKTsK
LSAgICByZXR1cm4gSW50U2l6ZSgpOworICAgIHJldHVybiBGbG9hdFNpemUoKTsKIH0KICNlbmRp
ZgogCkBAIC0xNDg1LDggKzE0ODUsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLCBmbG9hdCB4LCBmbG9hdAogICAgICAg
ICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIElu
dFNpemUgcyA9IHNpemUodmlkZW8pOwotICAgIGRyYXdJbWFnZSh2aWRlbywgeCwgeSwgcy53aWR0
aCgpLCBzLmhlaWdodCgpLCBlYyk7CisgICAgRmxvYXRTaXplIHZpZGVvU2l6ZSA9IHNpemUodmlk
ZW8pOworICAgIGRyYXdJbWFnZSh2aWRlbywgeCwgeSwgdmlkZW9TaXplLndpZHRoKCksIHZpZGVv
U2l6ZS5oZWlnaHQoKSwgZWMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZHJhd0ltYWdlKEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLApAQCAtMTQ5Niw4ICsxNDk2LDggQEAg
dm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZShIVE1MVmlkZW9FbGVtZW50
KiB2aWRlbywKICAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLSAgICBJbnRTaXplIHMgPSBzaXplKHZpZGVvKTsKLSAgICBkcmF3SW1hZ2Uodmlk
ZW8sIEZsb2F0UmVjdCgwLCAwLCBzLndpZHRoKCksIHMuaGVpZ2h0KCkpLCBGbG9hdFJlY3QoeCwg
eSwgd2lkdGgsIGhlaWdodCksIGVjKTsKKyAgICBGbG9hdFNpemUgdmlkZW9TaXplID0gc2l6ZSh2
aWRlbyk7CisgICAgZHJhd0ltYWdlKHZpZGVvLCBGbG9hdFJlY3QoMCwgMCwgdmlkZW9TaXplLndp
ZHRoKCksIHZpZGVvU2l6ZS5oZWlnaHQoKSksIEZsb2F0UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0
KSwgZWMpOwogfQogCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdlKEhU
TUxWaWRlb0VsZW1lbnQqIHZpZGVvLApAQCAtMTU1NCw3ICsxNTU0LDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgY29u
c3QgRmxvYXRSZWMKICAgICBjLT50cmFuc2xhdGUoZHN0UmVjdC54KCksIGRzdFJlY3QueSgpKTsK
ICAgICBjLT5zY2FsZShGbG9hdFNpemUoZHN0UmVjdC53aWR0aCgpIC8gc3JjUmVjdC53aWR0aCgp
LCBkc3RSZWN0LmhlaWdodCgpIC8gc3JjUmVjdC5oZWlnaHQoKSkpOwogICAgIGMtPnRyYW5zbGF0
ZSgtc3JjUmVjdC54KCksIC1zcmNSZWN0LnkoKSk7Ci0gICAgdmlkZW8tPnBhaW50Q3VycmVudEZy
YW1lSW5Db250ZXh0KGMsIEludFJlY3QoSW50UG9pbnQoKSwgc2l6ZSh2aWRlbykpKTsKKyAgICB2
aWRlby0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoYywgRmxvYXRSZWN0KEZsb2F0UG9pbnQo
KSwgc2l6ZSh2aWRlbykpKTsKICAgICBzdGF0ZVNhdmVyLnJlc3RvcmUoKTsKICAgICBkaWREcmF3
KGRzdFJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCA0MGNkNjA0YzM1ZDg2Y2I2OGI3YmU5
Yjk5MzEzMTEwYWIzZTI5YjYwLi42OGMxNjcwZWU0OWE0Njg2YjYwMzZkOTBkNDhmZDA4NWY5YzU2
YWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMzI0NSw3ICszMjQ1LDcgQEAgUGFzc1JlZlB0cjxJ
bWFnZT4gV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmlkZW9GcmFtZVRvSW1hZ2UoSFRNTFZp
ZGVvRWxlbWVudCoKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
Ok9VVF9PRl9NRU1PUlksICJ0ZXhJbWFnZTJEIiwgIm91dCBvZiBtZW1vcnkiKTsKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIEludFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6ZS53
aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKKyAgICBGbG9hdFJlY3QgZGVzdFJlY3QoMCwgMCwgc2l6
ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKTsKICAgICAvLyBGSVhNRTogVHVybiB0aGlzIGludG8g
YSBHUFUtR1BVIHRleHR1cmUgY29weSBpbnN0ZWFkIG9mIENQVSByZWFkYmFjay4KICAgICB2aWRl
by0+cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoYnVmLT5jb250ZXh0KCksIGRlc3RSZWN0KTsK
ICAgICByZXR1cm4gYnVmLT5jb3B5SW1hZ2UoYmFja2luZ1N0b3JlQ29weSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggY2ZmZTgx
MDhkMjUxYjUwN2JiMWU1YjY5ZTZiNGI2NDA3NzMzNzExZC4uNWFhNjlkYzhiZmNhNmI4Y2I3ZTk3
NDQxZThlMGI3MzYzMmQ1MTg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdCB7IHJldHVybiBOb1BsYXRm
b3JtTWVkaWE7IH0KICAgICB2aXJ0dWFsIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBj
b25zdCB7IHJldHVybiAwOyB9CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBj
b25zdCB7IHJldHVybiBJbnRTaXplKDAsIDApOyB9CisgICAgdmlydHVhbCBGbG9hdFNpemUgbmF0
dXJhbFNpemUoKSBjb25zdCB7IHJldHVybiBGbG9hdFNpemUoKTsgfQogCiAgICAgdmlydHVhbCBi
b29sIGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aGFzQXVkaW8oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTMxLDcgKzEzMSw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaXplKGNvbnN0IEludFNpemUmKSB7IH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jikg
eyB9CisgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0
UmVjdCYpIG92ZXJyaWRlIHsgfQogCiAgICAgdmlydHVhbCBib29sIGNhbkxvYWRQb3N0ZXIoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRQb3N0ZXIoY29uc3Qg
U3RyaW5nJikgeyB9CkBAIC01NDQsNyArNTQ0LDcgQEAgYm9vbCBNZWRpYVBsYXllcjo6cmVxdWly
ZXNJbW1lZGlhdGVDb21wb3NpdGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+cmVx
dWlyZXNJbW1lZGlhdGVDb21wb3NpdGluZygpOwogfQogCi1JbnRTaXplIE1lZGlhUGxheWVyOjpu
YXR1cmFsU2l6ZSgpCitGbG9hdFNpemUgTWVkaWFQbGF5ZXI6Om5hdHVyYWxTaXplKCkKIHsKICAg
ICByZXR1cm4gbV9wcml2YXRlLT5uYXR1cmFsU2l6ZSgpOwogfQpAQCAtNzMzLDEyICs3MzMsMTIg
QEAgdm9pZCBNZWRpYVBsYXllcjo6c2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCBwcmVs
b2FkKQogICAgIG1fcHJpdmF0ZS0+c2V0UHJlbG9hZChwcmVsb2FkKTsKIH0KIAotdm9pZCBNZWRp
YVBsYXllcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJbnRSZWN0JiByKQordm9p
ZCBNZWRpYVBsYXllcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBGbG9hdFJlY3Qm
IHIpCiB7CiAgICAgbV9wcml2YXRlLT5wYWludChwLCByKTsKIH0KIAotdm9pZCBNZWRpYVBsYXll
cjo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJ
bnRSZWN0JiByKQordm9pZCBNZWRpYVBsYXllcjo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQo
R3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CiAgICAgbV9wcml2YXRl
LT5wYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChwLCByKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGI3ZjYwNWFiYjY1ODNlMGE2
ZjhmNDBjYTFjMjZiNmI1NWI4YzQ1MDIuLmVlZmJmYzI5N2M1ZmM4NWRhM2Q2OTI0OTNjZGFhYzBh
Nzc4OTUzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaApAQCAtMzExLDcgKzMxMSw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZXJyb3JMb2co
KSBjb25zdDsKICNlbmRpZgogCi0gICAgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpOworICAgIEZsb2F0
U2l6ZSBuYXR1cmFsU2l6ZSgpOwogICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdDsKICAgICBib29s
IGhhc0F1ZGlvKCkgY29uc3Q7CiAKQEAgLTM5MSw4ICszOTEsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBhdXRvcGxheSgpIGNvbnN0OwogICAgIHZvaWQgc2V0QXV0b3BsYXkoYm9vbCk7CiAKLSAgICB2
b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKLSAgICB2b2lkIHBh
aW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3Qm
KTsKKyAgICB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwor
ICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgRmxvYXRSZWN0Jik7CiAKICAgICAvLyBjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRleHR1
cmUoKSBpcyB1c2VkIHRvIGRvIHRoZSBHUFUtR1BVIHRleHR1cmVzIGNvcHkgd2l0aG91dCBhIHJl
YWRiYWNrIHRvIHN5c3RlbSBtZW1vcnkuCiAgICAgLy8gVGhlIGZpcnN0IGZpdmUgcGFyYW1ldGVy
cyBkZW5vdGUgdGhlIGNvcnJlc3BvbmRpbmcgR3JhcGhpY3NDb250ZXh0LCBkZXN0aW5hdGlvbiB0
ZXh0dXJlLCByZXF1ZXN0ZWQgbGV2ZWwsIHJlcXVlc3RlZCB0eXBlIGFuZCB0aGUgcmVxdWlyZWQg
aW50ZXJuYWxGb3JtYXQgZm9yIGRlc3RpbmF0aW9uIHRleHR1cmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IDc3
ZjY0YjI0OTU4MDdhZDUyZmMxM2YwZTUyMWY2NWIwMWVmZDdiNTUuLjRmMjM5MGE1YjgxYzgwOTA2
ZTVjYjMyYzEwY2JkNTg4YTBjYjA1YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC03NCw3ICs3NCw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0gMDsKIAogICAg
IHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFz
QXVkaW8oKSBjb25zdCA9IDA7CkBAIC0xMzcsOSArMTM3LDkgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6ZSYpID0gMDsKIAotICAgIHZpcnR1YWwgdm9p
ZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAK
LSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250
ZXh0KiBjLCBjb25zdCBJbnRSZWN0JiByKSB7IHBhaW50KGMsIHIpOyB9CisgICAgdmlydHVhbCB2
b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCogYywgY29uc3Qg
RmxvYXRSZWN0JiByKSB7IHBhaW50KGMsIHIpOyB9CiAgICAgdmlydHVhbCBib29sIGNvcHlWaWRl
b1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRCosIFBsYXRmb3JtM0RP
YmplY3QsIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEZW51bSwgYm9vbCwgYm9vbCkgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICB2aXJ0dWFsIFBhc3NOYXRpdmVJbWFnZVB0ciBuYXRpdmVJbWFnZUZvckN1
cnJlbnRUaW1lKCkgeyByZXR1cm4gbnVsbHB0cjsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCmluZGV4IDg4MzAzMWE5ZTUw
YTgzYTVmMDA0ZDIwOTA4YzQxOTkxZDU0YjA2YTIuLmZlMzcxMTA5MDk5YzJiMzFmZjFjNWNjZTI3
NzY3MGRiNzYyY2YwMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0zMDcsNyArMzA3LDcgQEAgYm9vbCBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb246OnNlZWtpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3Nl
ZWtpbmc7CiB9CiAKLUludFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpuYXR1
cmFsU2l6ZSgpIGNvbnN0CitGbG9hdFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpKQog
ICAgICAgICByZXR1cm4gSW50U2l6ZSgpOwpAQCAtMzIyLDExICszMjIsMTEgQEAgSW50U2l6ZSBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9jYWNoZWROYXR1cmFsU2l6ZTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb246OnNldE5hdHVyYWxTaXplKEludFNpemUgc2l6ZSkKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpzZXROYXR1cmFsU2l6ZShGbG9hdFNpemUgc2l6ZSkKIHsK
LSAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246c2V0TmF0dXJh
bFNpemUoJXApIC0gc2l6ZSA9ICVkIHggJWQiLCB0aGlzLCBzaXplLndpZHRoKCksIHNpemUuaGVp
Z2h0KCkpOworICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjpz
ZXROYXR1cmFsU2l6ZSglcCkgLSBzaXplID0gJWYgeCAlZiIsIHRoaXMsIHNpemUud2lkdGgoKSwg
c2l6ZS5oZWlnaHQoKSk7CiAKLSAgICBJbnRTaXplIG9sZFNpemUgPSBtX2NhY2hlZE5hdHVyYWxT
aXplOworICAgIEZsb2F0U2l6ZSBvbGRTaXplID0gbV9jYWNoZWROYXR1cmFsU2l6ZTsKICAgICBt
X2NhY2hlZE5hdHVyYWxTaXplID0gc2l6ZTsKICAgICBpZiAob2xkU2l6ZSAhPSBtX2NhY2hlZE5h
dHVyYWxTaXplKQogICAgICAgICBtX3BsYXllci0+c2l6ZUNoYW5nZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCBlZjYy
MWFkN2E1NjBkNjEzNmMxY2E0ZjdiZGIwMGIyNTZlYTYwYmI0Li5jMGRkNDdlNGNkMmIwMzllYWY4
NGQ0YjQyOTBiZDhjNTliZmI0YTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBwbGF5KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHBh
dXNlKCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25z
dCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fY2FjaGVkSGFzVmlkZW87IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzQXVkaW8oKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2NhY2hlZEhhc0F1ZGlvOyB9CiAgICAgdmlydHVhbCB2b2lk
IHNldFZpc2libGUoYm9vbCkgb3ZlcnJpZGU7CkBAIC0xODEsOCArMTgxLDggQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gYnVmZmVy
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZGlkTG9hZGluZ1Byb2dyZXNz
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29uc3QgSW50U2l6
ZSYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBwYWludEN1cnJlbnRGcmFtZUlu
Q29udGV4dChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4
dCosIGNvbnN0IEZsb2F0UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJlbG9hZChN
ZWRpYVBsYXllcjo6UHJlbG9hZCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVy
KiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgYm9vbCBz
dXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgY29uc3QgPSAwOwpAQCAtMjY1LDcgKzI2NSw3
IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldERlbGF5Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZE5v
dGlmaWNhdGlvbihib29sKTsKICAgICB2b2lkIHNldERlbGF5Q2FsbGJhY2tzKGJvb2wpIGNvbnN0
OwogICAgIHZvaWQgc2V0SWdub3JlTG9hZFN0YXRlQ2hhbmdlcyhib29sIGRlbGF5KSB7IG1faWdu
b3JlTG9hZFN0YXRlQ2hhbmdlcyA9IGRlbGF5OyB9Ci0gICAgdm9pZCBzZXROYXR1cmFsU2l6ZShJ
bnRTaXplKTsKKyAgICB2b2lkIHNldE5hdHVyYWxTaXplKEZsb2F0U2l6ZSk7CiAgICAgYm9vbCBp
c0xpdmVTdHJlYW0oKSBjb25zdCB7IHJldHVybiBzdGQ6OmlzaW5mKGR1cmF0aW9uKCkpOyB9CiAK
ICAgICBlbnVtIE1lZGlhUmVuZGVyaW5nTW9kZSB7IE1lZGlhUmVuZGVyaW5nTm9uZSwgTWVkaWFS
ZW5kZXJpbmdUb0NvbnRleHQsIE1lZGlhUmVuZGVyaW5nVG9MYXllciB9OwpAQCAtMzIwLDcgKzMy
MCw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fYXNzZXRVUkw7CiAgICAgTWVkaWFQbGF5ZXI6
OlByZWxvYWQgbV9wcmVsb2FkOwogCi0gICAgSW50U2l6ZSBtX2NhY2hlZE5hdHVyYWxTaXplOwor
ICAgIEZsb2F0U2l6ZSBtX2NhY2hlZE5hdHVyYWxTaXplOwogICAgIG11dGFibGUgTWVkaWFUaW1l
IG1fY2FjaGVkTWF4VGltZUxvYWRlZDsKICAgICBtdXRhYmxlIE1lZGlhVGltZSBtX2NhY2hlZE1h
eFRpbWVTZWVrYWJsZTsKICAgICBtdXRhYmxlIE1lZGlhVGltZSBtX2NhY2hlZE1pblRpbWVTZWVr
YWJsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCmluZGV4IGNhMGVhMGU5YzhkMDU0NGM5ZTA3YjIzYWZiNzRh
ZDNmOWM1M2NmZGMuLjkxNTRiMThkZmM0YjE3NjQ4YjlmODJlNTJkOWYyZjU0OGMxNjVjMDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9j
Zi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbkNGLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
Y3JlYXRlSW1hZ2VHZW5lcmF0b3IoKTsKICAgICB2b2lkIGRlc3Ryb3lJbWFnZUdlbmVyYXRvcigp
OwotICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoY29u
c3QgTWVkaWFUaW1lJiwgY29uc3QgSW50UmVjdCYpOworICAgIFJldGFpblB0cjxDR0ltYWdlUmVm
PiBjcmVhdGVJbWFnZUZvclRpbWVJblJlY3QoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgRmxvYXRS
ZWN0Jik7CiAKICAgICB2b2lkIGNyZWF0ZUFzc2V0Rm9yVVJMKGNvbnN0IFN0cmluZyYgdXJsLCBi
b29sIGluaGVyaXRVUkkpOwogICAgIHZvaWQgc2V0QXNzZXQoQVZDRlVSTEFzc2V0UmVmKTsKQEAg
LTgzMSw3ICs4MzEsNyBAQCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OkFzc2V0U3Rh
dHVzIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjphcwogICAgIHJldHVybiBNZWRp
YVBsYXllckFWQXNzZXRTdGF0dXNMb2FkZWQ7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uQ0Y6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uQ0Y6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewogICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAgICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpIHx8IGNvbnRleHQtPnBhaW50
aW5nRGlzYWJsZWQoKSkKQEAgLTg0Niw3ICs4NDYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbkNGOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRl
eAogICAgIHBhaW50KGNvbnRleHQsIHJlY3QpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbkNGOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IElu
dFJlY3QmIHJlY3QpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpwYWlu
dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIGlmICghbWV0YURhdGFBdmFpbGFibGUoKSB8
fCBjb250ZXh0LT5wYWludGluZ0Rpc2FibGVkKCkgfHwgIWltYWdlR2VuZXJhdG9yKG1fYXZmV3Jh
cHBlcikpCkBAIC04NjEsNyArODYxLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnQKICAgICAg
ICAgY29udGV4dC0+dHJhbnNsYXRlKHJlY3QueCgpLCByZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkp
OwogICAgICAgICBjb250ZXh0LT5zY2FsZShGbG9hdFNpemUoMS4wZiwgLTEuMGYpKTsKICAgICAg
ICAgY29udGV4dC0+c2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShJbnRlcnBvbGF0aW9uTG93
KTsKLSAgICAgICAgSW50UmVjdCBwYWludFJlY3QoSW50UG9pbnQoMCwgMCksIEludFNpemUocmVj
dC53aWR0aCgpLCByZWN0LmhlaWdodCgpKSk7CisgICAgICAgIEZsb2F0UmVjdCBwYWludFJlY3Qo
RmxvYXRQb2ludCgpLCByZWN0LnNpemUoKSk7CiAgICAgICAgIENHQ29udGV4dERyYXdJbWFnZShj
b250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgQ0dSZWN0TWFrZSgwLCAwLCBwYWludFJlY3Qud2lk
dGgoKSwgcGFpbnRSZWN0LmhlaWdodCgpKSwgaW1hZ2UuZ2V0KCkpOwogICAgICAgICBjb250ZXh0
LT5yZXN0b3JlKCk7CiAgICAgICAgIGltYWdlID0gMDsKQEAgLTIwMDAsNyArMjAwMCw3IEBAIHZv
aWQgQVZGV3JhcHBlcjo6ZGVzdHJveUltYWdlR2VuZXJhdG9yKCkKICAgICBtX2ltYWdlR2VuZXJh
dG9yID0gMDsKIH0KIAotUmV0YWluUHRyPENHSW1hZ2VSZWY+IEFWRldyYXBwZXI6OmNyZWF0ZUlt
YWdlRm9yVGltZUluUmVjdChjb25zdCBNZWRpYVRpbWUmIHRpbWUsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gQVZGV3JhcHBlcjo6Y3JlYXRlSW1hZ2VGb3JUaW1l
SW5SZWN0KGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewog
ICAgIGlmICghbV9pbWFnZUdlbmVyYXRvcikKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5o
CmluZGV4IGRlYTU5MzM1ZjFiNDdhNDM5N2YyM2I5MGU1ZTMwM2NmZWEwOGUwZWIuLjZjYzlhNTUz
ZjYzNjc5NjlhNTRlNjgwYTVmMjFkZWQ5ZmVjNDFmYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25DRi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRi5oCkBAIC03NSw4
ICs3NSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBNZWRpYVRpbWUgY3VycmVudE1lZGlhVGlt
ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzZXRWb2x1bWUoZmxvYXQpOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoYm9vbCk7Ci0gICAgdmly
dHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsKLSAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQq
LCBjb25zdCBGbG9hdFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJ
bkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdmlydHVh
bCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAg
ICAgdmlydHVhbCBNZWRpYVRpbWUgbWVkaWFUaW1lRm9yVGltZVZhbHVlKGNvbnN0IE1lZGlhVGlt
ZSYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IDBlYTBkZTA5NmJiOWJkNmJjMDcy
MjYxMTczMDc2Njk3MTY1YjM4ZWIuLjcwMTM2MDMxMWJjNTAwMGJmY2FhNWIzM2EwZGJlZWU2MGVm
MTc4ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKQEAgLTE1MCw4ICsxNTAsOCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgTWVkaWFUaW1lIGN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdCBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Vm9sdW1lKGZsb2F0KTsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGJvb2wpOwotICAgIHZpcnR1YWwgdm9pZCBwYWludChH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50
Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKTsK
KyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0
Jik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNz
Q29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciog
cGxhdGZvcm1MYXllcigpIGNvbnN0OwogI2lmIFBMQVRGT1JNKElPUykKICAgICB2aXJ0dWFsIHZv
aWQgc2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIoUGxhdGZvcm1MYXllciopOwpAQCAtMjE3LDggKzIx
Nyw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNyZWF0ZUltYWdlR2VuZXJhdG9yKCk7CiAgICAg
dm9pZCBkZXN0cm95SW1hZ2VHZW5lcmF0b3IoKTsKLSAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGZsb2F0LCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgdm9p
ZCBwYWludFdpdGhJbWFnZUdlbmVyYXRvcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0
Jik7CisgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlRm9yVGltZUluUmVjdChm
bG9hdCwgY29uc3QgRmxvYXRSZWN0Jik7CisgICAgdm9pZCBwYWludFdpdGhJbWFnZUdlbmVyYXRv
cihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAogI2lmIEhBVkUoQVZGT1VO
REFUSU9OX1ZJREVPX09VVFBVVCkKICAgICB2b2lkIGNyZWF0ZVZpZGVvT3V0cHV0KCk7CkBAIC0y
MjYsNyArMjI2LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4g
Y3JlYXRlUGl4ZWxCdWZmZXIoKTsKICAgICB2b2lkIHVwZGF0ZUxhc3RJbWFnZSgpOwogICAgIGJv
b2wgdmlkZW9PdXRwdXRIYXNBdmFpbGFibGVGcmFtZSgpOwotICAgIHZvaWQgcGFpbnRXaXRoVmlk
ZW9PdXRwdXQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgcGFp
bnRXaXRoVmlkZW9PdXRwdXQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jik7CiAg
ICAgdmlydHVhbCBQYXNzTmF0aXZlSW1hZ2VQdHIgbmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgp
IG92ZXJyaWRlOwogICAgIHZvaWQgd2FpdEZvclZpZGVvT3V0cHV0TWVkaWFEYXRhV2lsbENoYW5n
ZSgpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA4MjI2ZTgwZmJlNmNhZDY4
MTNlYTg4NTI4Mjg0MjBhNjQ1NWQxNDU3Li5jYmY0ZWU5M2RhMDQ4MmRmNzRkNGM3YTljMDAyZjZm
NzYzOWVjNzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTE0NjYsNyArMTQ2Niw3IEBA
IGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6YXNzZXRFcnJvckNvZGUo
KSBjb25zdAogICAgIHJldHVybiBbZXJyb3IgY29kZV07CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQordm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKICAgICBpZiAo
IW1ldGFEYXRhQXZhaWxhYmxlKCkgfHwgY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQogICAg
ICAgICByZXR1cm47CkBAIC0xNDg3LDcgKzE0ODcsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29u
dAogICAgIG1fdmlkZW9GcmFtZUhhc0RyYXduID0gdHJ1ZTsKIH0KIAotdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IEludFJlY3QmIHJlY3QpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBy
ZWN0KQogewogICAgIGlmICghbWV0YURhdGFBdmFpbGFibGUoKSB8fCBjb250ZXh0LT5wYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTE1MDMsNyArMTUwMyw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnQoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBJCiAgICAgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoY29udGV4
dCwgcmVjdCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
cGFpbnRXaXRoSW1hZ2VHZW5lcmF0b3IoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJ
bnRSZWN0JiByZWN0KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpw
YWludFdpdGhJbWFnZUdlbmVyYXRvcihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkKIHsKICAgICBMT0coTWVkaWEsICJNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpwYWludFdpdGhJbWFnZUdlbmVyYXRvciglcCkiLCB0aGlzKTsKIApAQCAt
MTUzNSw3ICsxNTM1LDcgQEAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiBtaW1lVHlwZUNhY2hlKCkK
ICAgICByZXR1cm4gY2FjaGU7CiB9IAogCi1SZXRhaW5QdHI8Q0dJbWFnZVJlZj4gTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGZsb2F0
IHRpbWUsIGNvbnN0IEludFJlY3QmIHJlY3QpCitSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGZs
b2F0IHRpbWUsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKICAgICBpZiAoIW1faW1hZ2VHZW5l
cmF0b3IpCiAgICAgICAgIGNyZWF0ZUltYWdlR2VuZXJhdG9yKCk7CkBAIC0xODI3LDcgKzE4Mjcs
NyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnRyYWNrc0NoYW5n
ZWQoKQogICAgICAgICBoYXNDYXB0aW9ucyA9IFtbbV9hdkFzc2V0LmdldCgpIHRyYWNrc1dpdGhN
ZWRpYVR5cGU6QVZNZWRpYVR5cGVDbG9zZWRDYXB0aW9uXSBjb3VudF07CiAjZW5kaWYKIAotICAg
ICAgICBwcmVzZW50YXRpb25TaXplRGlkQ2hhbmdlKGZpcnN0RW5hYmxlZFZpZGVvVHJhY2sgPyBJ
bnRTaXplKENHU2l6ZUFwcGx5QWZmaW5lVHJhbnNmb3JtKFtmaXJzdEVuYWJsZWRWaWRlb1RyYWNr
IG5hdHVyYWxTaXplXSwgW2ZpcnN0RW5hYmxlZFZpZGVvVHJhY2sgcHJlZmVycmVkVHJhbnNmb3Jt
XSkpIDogSW50U2l6ZSgpKTsKKyAgICAgICAgcHJlc2VudGF0aW9uU2l6ZURpZENoYW5nZShmaXJz
dEVuYWJsZWRWaWRlb1RyYWNrID8gRmxvYXRTaXplKENHU2l6ZUFwcGx5QWZmaW5lVHJhbnNmb3Jt
KFtmaXJzdEVuYWJsZWRWaWRlb1RyYWNrIG5hdHVyYWxTaXplXSwgW2ZpcnN0RW5hYmxlZFZpZGVv
VHJhY2sgcHJlZmVycmVkVHJhbnNmb3JtXSkpIDogRmxvYXRTaXplKCkpOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGJvb2wgaGFzVmlkZW8gPSBmYWxzZTsKICAgICAgICAgYm9vbCBoYXNBdWRpbyA9
IGZhbHNlOwpAQCAtMjEyMSw3ICsyMTIxLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpzaXplQ2hhbmdlZCgpCiAgICAgaWYgKCFtX2F2QXNzZXQpCiAgICAgICAg
IHJldHVybjsKIAotICAgIHNldE5hdHVyYWxTaXplKHJvdW5kZWRJbnRTaXplKG1fY2FjaGVkUHJl
c2VudGF0aW9uU2l6ZSkpOworICAgIHNldE5hdHVyYWxTaXplKG1fY2FjaGVkUHJlc2VudGF0aW9u
U2l6ZSk7CiB9CiAgICAgCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
Omhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QgCkBAIC0yMjczLDcgKzIyNzMsNyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnVwZGF0ZUxhc3RJbWFnZSgp
CiAgICAgICAgIG1fbGFzdEltYWdlID0gY3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIocGl4ZWxC
dWZmZXIuZ2V0KCkpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9i
akM6OnBhaW50V2l0aFZpZGVvT3V0cHV0KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3Qg
SW50UmVjdCYgb3V0cHV0UmVjdCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6cGFpbnRXaXRoVmlkZW9PdXRwdXQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBGbG9hdFJlY3QmIG91dHB1dFJlY3QpCiB7CiAgICAgaWYgKG1fdmlkZW9PdXRwdXQgJiYgIW1f
bGFzdEltYWdlICYmICF2aWRlb091dHB1dEhhc0F2YWlsYWJsZUZyYW1lKCkpCiAgICAgICAgIHdh
aXRGb3JWaWRlb091dHB1dE1lZGlhRGF0YVdpbGxDaGFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLmgKaW5kZXggODZkZmQwNWYyNWNkYTU3ODNjYmYwY2UwNmNhZmU5YTQ4N2UwYTg0Yi4uMzU1
ZGM0ZjQzY2U4OTgyMjgzOTMyMWM5NmJkNGViNDg3ZDEyN2I1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDLmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCBib29s
IHN1cHBvcnRzU2Nhbm5pbmcoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgSW50U2l6
ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgRmxvYXRTaXplIG5h
dHVyYWxTaXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzVmlkZW8o
KSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQXVkaW8oKSBjb25zdCBvdmVy
cmlkZTsKQEAgLTE0MCw4ICsxNDAsOCBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFNpemUoY29uc3QgSW50U2l6ZSYpIG92ZXJyaWRlOwogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFs
IHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3Qg
SW50UmVjdCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRD
dXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0Jikg
b3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNv
bnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggZGFiNDY3ZWNm
YjU0ZDY4MDk5MzUwNTlmODM0Y2Q4MzY2MjIxYjI5Ni4uY2MyMTdjODA4MDlhY2E3YTZkMmFmNjMz
YTc4ZjdjNzBhYWZjY2Y0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMzQ1LDEw
ICszNDUsMTAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNl
dE11dGVkKGJvb2wgbXV0ZWQpCiAgICAgICAgIFsqaXQgc2V0TXV0ZWQ6bXV0ZWRdOwogfQogCi1J
bnRTaXplIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bmF0dXJhbFNpemUo
KSBjb25zdAorRmxvYXRTaXplIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
bmF0dXJhbFNpemUoKSBjb25zdAogewogICAgIGlmICghbV9tZWRpYVNvdXJjZVByaXZhdGUpCi0g
ICAgICAgIHJldHVybiBJbnRTaXplKCk7CisgICAgICAgIHJldHVybiBGbG9hdFNpemUoKTsKIAog
ICAgIHJldHVybiBtX21lZGlhU291cmNlUHJpdmF0ZS0+bmF0dXJhbFNpemUoKTsKIH0KQEAgLTUx
MiwxMiArNTEyLDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzZXRTaXplKGNvbnN0IEludFNpemUmKQogICAgIC8vIE5vLW9wLgogfQogCi12b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGFpbnQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgSW50UmVjdCYpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JikKIHsKICAgICAvLyBG
SVhNRSgxMjUxNTcpOiBJbXBsZW1lbnQgcGFpbnRpbmcuCiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRl
eHQqLCBjb25zdCBGbG9hdFJlY3QmKQogewogICAgIC8vIEZJWE1FKDEyNTE1Nyk6IEltcGxlbWVu
dCBwYWludGluZy4KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakMuaAppbmRleCA1ZjlmYTRkOGVhMjJkYmJlM2NkZmY2NDBlMmE1NmJlZGJk
ZjRlODk4Li4zZGU5NWEyYjhmN2Y5ZWIzZDg0ZDk0NGY0M2RjNmVkYjg2OTJiN2FmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCkBA
IC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2Vla1RvVGltZShjb25zdCBNZWRp
YVRpbWUmKTsKICAgICBNZWRpYVRpbWUgZmFzdFNlZWtUaW1lRm9yTWVkaWFUaW1lKGNvbnN0IE1l
ZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYgbmVnYXRpdmVUaHJlc2hvbGQsIGNvbnN0IE1lZGlh
VGltZSYgcG9zaXRpdmVUaHJlc2hvbGQpOwotICAgIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25z
dDsKKyAgICBGbG9hdFNpemUgbmF0dXJhbFNpemUoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBN
ZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDKE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQyosIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2
YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggZWUzNmY4YjdhZDQ1
YjhiODVlMDA3MzU2Y2IwMmE0NjAxNzU1MGVlMy4uODAxN2UxOWRhMmNjZTM2MjkxODdiOWRjZTcz
ZWY0OTExNWU1NGNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC0xOTgsOSArMTk4LDkgQEAgTWVkaWFUaW1lIE1lZGlh
U291cmNlUHJpdmF0ZUFWRk9iakM6OmZhc3RTZWVrVGltZUZvck1lZGlhVGltZShjb25zdCBNZWRp
YVRpbWUmIHQKICAgICByZXR1cm4gc2Vla1RpbWU7CiB9CiAKLUludFNpemUgTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQzo6bmF0dXJhbFNpemUoKSBjb25zdAorRmxvYXRTaXplIE1lZGlhU291cmNl
UHJpdmF0ZUFWRk9iakM6Om5hdHVyYWxTaXplKCkgY29uc3QKIHsKLSAgICBJbnRTaXplIHJlc3Vs
dDsKKyAgICBGbG9hdFNpemUgcmVzdWx0OwogCiAgICAgZm9yIChhdXRvKiBzb3VyY2VCdWZmZXIg
OiBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMpCiAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5leHBhbmRl
ZFRvKHNvdXJjZUJ1ZmZlci0+bmF0dXJhbFNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAppbmRleCA0OGU0MjMwM2QzNWVm
MWNmYWE1ODE1Yzc2YjM3OWM0Zjk1ZGQ1YzE2Li40OTRhZWZhYjBjMmYwYmQ0ZmMxY2ZmZDMwZTNh
ZDA4YmEyYTMwMTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDLmgKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzZWVrVG9UaW1lKE1lZGlhVGltZSk7CiAgICAgTWVkaWFUaW1lIGZhc3RTZWVrVGltZUZvck1l
ZGlhVGltZShNZWRpYVRpbWUsIE1lZGlhVGltZSBuZWdhdGl2ZVRocmVzaG9sZCwgTWVkaWFUaW1l
IHBvc2l0aXZlVGhyZXNob2xkKTsKLSAgICBJbnRTaXplIG5hdHVyYWxTaXplKCk7CisgICAgRmxv
YXRTaXplIG5hdHVyYWxTaXplKCk7CiAKICAgICBpbnQgcHJvdGVjdGVkVHJhY2tJRCgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvdGVjdGVkVHJhY2tJRDsgfQogICAgIEFWU3RyZWFtRGF0YVBhcnNlciog
cGFyc2VyKCkgY29uc3QgeyByZXR1cm4gbV9wYXJzZXIuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1
ZmZlclByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggNWQ4
YTU2NGI2Mjk4ZTMwMWNiZDhjOGY4NmJiNzZhODQ3MzVlZDNlMy4uZjc5OWRiMjkyODdkOTVmOTE1
OTFhMGUwNzY0Yzg5ZTNlNTM1ZjE0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTg5MCw2ICs4OTAsOSBAQCB2b2lk
IFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjp0cmFja0RpZENoYW5nZUVuYWJsZWQoVmlkZW9U
cmFja1ByaXZhdGVNZWRpYVNvdQogICAgICAgICBbbV9wYXJzZXIgc2V0U2hvdWxkUHJvdmlkZU1l
ZGlhRGF0YTpZRVMgZm9yVHJhY2tJRDp0cmFja0lEXTsKICAgICAgICAgaWYgKCFtX2Rpc3BsYXlM
YXllcikgewogICAgICAgICAgICAgbV9kaXNwbGF5TGF5ZXIgPSBhZG9wdE5TKFthbGxvY0FWU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVySW5zdGFuY2UoKSBpbml0XSk7CisjaWZuZGVmIE5ERUJVRwor
ICAgICAgICAgICAgW21fZGlzcGxheUxheWVyIHNldE5hbWU6QCJTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQyBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciJdOworI2VuZGlmCiAgICAgICAgICAg
ICBbbV9kaXNwbGF5TGF5ZXIgcmVxdWVzdE1lZGlhRGF0YVdoZW5SZWFkeU9uUXVldWU6ZGlzcGF0
Y2hfZ2V0X21haW5fcXVldWUoKSB1c2luZ0Jsb2NrOl57CiAgICAgICAgICAgICAgICAgZGlkQmVj
b21lUmVhZHlGb3JNb3JlU2FtcGxlcyh0cmFja0lEKTsKICAgICAgICAgICAgIH1dOwpAQCAtMTA3
Niw5ICsxMDc5LDkgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6c2Vla1RvVGlt
ZShNZWRpYVRpbWUgdGltZSkKICAgICAgICAgbV9jbGllbnQtPnNvdXJjZUJ1ZmZlclByaXZhdGVT
ZWVrVG9UaW1lKHRoaXMsIHRpbWUpOwogfQogCi1JbnRTaXplIFNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDOjpuYXR1cmFsU2l6ZSgpCitGbG9hdFNpemUgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6Om5hdHVyYWxTaXplKCkKIHsKLSAgICByZXR1cm4gcm91bmRlZEludFNpemUobV9jYWNoZWRT
aXplKTsKKyAgICByZXR1cm4gbV9jYWNoZWRTaXplOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjpkaWRCZWNvbWVSZWFkeUZvck1vcmVTYW1wbGVzKGludCB0cmFja0lEKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvVmlkZW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggMzg0ZTk1ZDhiZWI1MjU3ZDZhNThjYjU0YzYwNzg0
NjAxNjEyZDlmYy4uZGIxOTUzZjZkNzM1YjRhMjZhZTYyMzRjMTVkN2MyY2JjMDYzYTI3NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvVmlkZW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9WaWRlb1RyYWNrUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKIAogICAgIGlu
dCB0cmFja0lEKCkgeyByZXR1cm4gbV90cmFja0lEOyB9CiAKLSAgICBJbnRTaXplIG5hdHVyYWxT
aXplKCkgY29uc3Q7CisgICAgRmxvYXRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Q7CiAKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgVmlkZW9UcmFja1ByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMoQVZB
c3NldFRyYWNrKiwgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMqIHBhcmVudCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9W
aWRlb1RyYWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDLm1tCmluZGV4IDliZWZkYTQxNTRjZjk0MTQzYjA5NWQ1YjlhMDA3Zjk0YmNl
NDUzZmMuLmZjYzI0OTZhMTM1YWE0ZjczYThmZTU0OGQxNGUwYzgwMDA0YWQxYjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1Zp
ZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1ZpZGVvVHJhY2tQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tCkBAIC04MCw5ICs4MCw5IEBAIHZvaWQgVmlkZW9UcmFja1ByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakM6OnNldFNlbGVjdGVkKGJvb2wgc2VsZWN0ZWQpCiAgICAgbV9w
YXJlbnQtPnRyYWNrRGlkQ2hhbmdlRW5hYmxlZCh0aGlzKTsKIH0KIAotSW50U2l6ZSBWaWRlb1Ry
YWNrUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6bmF0dXJhbFNpemUoKSBjb25zdAorRmxvYXRT
aXplIFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpuYXR1cmFsU2l6ZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIEludFNpemUoW2Fzc2V0VHJhY2soKSBuYXR1cmFsU2l6ZV0pOwor
ICAgIHJldHVybiBGbG9hdFNpemUoW2Fzc2V0VHJhY2soKSBuYXR1cmFsU2l6ZV0pOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5j
cHAKaW5kZXggODIyOTE3OThlZDNjYzZlMzY4OGI1ZjY5N2QzZDBmN2M2ZjdkMmQ0Ni4uMTM0MmE4
ZWU3NmNlODQ3ZTE4NTA3OWNlY2MxNTI3YWVkYWNmYjE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtMTI5LDIxICsxMjks
MjEgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6fk1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UoKQogfQogCiAvLyBSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSB2aWRlbwot
SW50U2l6ZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXR1cmFsU2l6ZSgpIGNv
bnN0CitGbG9hdFNpemUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0dXJhbFNp
emUoKSBjb25zdAogewogICAgIGlmICghaGFzVmlkZW8oKSkKLSAgICAgICAgcmV0dXJuIEludFNp
emUoKTsKKyAgICAgICAgcmV0dXJuIEZsb2F0U2l6ZSgpOwogCiAgICAgaWYgKCFtX3ZpZGVvU2l6
ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBtX3ZpZGVvU2l6ZTsKIAogICAgIFdURjo6R011
dGV4TG9ja2VyPEdNdXRleD4gbG9jayhtX3NhbXBsZU11dGV4KTsKICAgICBpZiAoIW1fc2FtcGxl
KQotICAgICAgICByZXR1cm4gSW50U2l6ZSgpOworICAgICAgICByZXR1cm4gRmxvYXRTaXplKCk7
CiAKICAgICBHc3RDYXBzKiBjYXBzID0gZ3N0X3NhbXBsZV9nZXRfY2FwcyhtX3NhbXBsZSk7CiAg
ICAgaWYgKCFjYXBzKQotICAgICAgICByZXR1cm4gSW50U2l6ZSgpOworICAgICAgICByZXR1cm4g
RmxvYXRTaXplKCk7CiAKIAogICAgIC8vIFRPRE86IGhhbmRsZSBwb3NzaWJsZSBjbGVhbiBhcGVy
dHVyZSBkYXRhLiBTZWUKQEAgLTE1Nyw3ICsxNTcsNyBAQCBJbnRTaXplIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2U6Om5hdHVyYWxTaXplKCkgY29uc3QKICAgICBJbnRTaXplIG9yaWdp
bmFsU2l6ZTsKICAgICBHc3RWaWRlb0Zvcm1hdCBmb3JtYXQ7CiAgICAgaWYgKCFnZXRWaWRlb1Np
emVBbmRGb3JtYXRGcm9tQ2FwcyhjYXBzLCBvcmlnaW5hbFNpemUsIGZvcm1hdCwgcGl4ZWxBc3Bl
Y3RSYXRpb051bWVyYXRvciwgcGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yLCBzdHJpZGUpKQot
ICAgICAgICByZXR1cm4gSW50U2l6ZSgpOworICAgICAgICByZXR1cm4gRmxvYXRTaXplKCk7CiAK
ICAgICBMT0dfTUVESUFfTUVTU0FHRSgiT3JpZ2luYWwgdmlkZW8gc2l6ZTogJWR4JWQiLCBvcmln
aW5hbFNpemUud2lkdGgoKSwgb3JpZ2luYWxTaXplLmhlaWdodCgpKTsKICAgICBMT0dfTUVESUFf
TUVTU0FHRSgiUGl4ZWwgYXNwZWN0IHJhdGlvOiAlZC8lZCIsIHBpeGVsQXNwZWN0UmF0aW9OdW1l
cmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvcik7CkBAIC0xODgsNyArMTg4LDcgQEAg
SW50U2l6ZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXR1cmFsU2l6ZSgpIGNv
bnN0CiAgICAgfQogCiAgICAgTE9HX01FRElBX01FU1NBR0UoIk5hdHVyYWwgc2l6ZTogJSIgR19H
VUlOVDY0X0ZPUk1BVCAieCUiIEdfR1VJTlQ2NF9GT1JNQVQsIHdpZHRoLCBoZWlnaHQpOwotICAg
IG1fdmlkZW9TaXplID0gSW50U2l6ZShzdGF0aWNfY2FzdDxpbnQ+KHdpZHRoKSwgc3RhdGljX2Nh
c3Q8aW50PihoZWlnaHQpKTsKKyAgICBtX3ZpZGVvU2l6ZSA9IEZsb2F0U2l6ZShzdGF0aWNfY2Fz
dDxpbnQ+KHdpZHRoKSwgc3RhdGljX2Nhc3Q8aW50PihoZWlnaHQpKTsKICAgICByZXR1cm4gbV92
aWRlb1NpemU7CiB9CiAKQEAgLTM1MSw3ICszNTEsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2U6OnNldFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICBtX3NpemUg
PSBzaXplOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3ZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dM
KSAmJiAhVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIGlmIChjbGllbnQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IGVh
ODQ5N2IyNTIxZDM2NTQzNDY5OThlOTAwNjhjMTM4OWJkMTA1ZjEuLjBiYzA1YThiZmRmNjIzZDkw
MjEwMmI1YjE2MmQ3NGZkMTViYTRkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtNTcsNyArNTcsNyBAQCBjbGFzcyBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVy
ZmFjZQogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UoKTsKIAotICAgIEludFNpemUgbmF0dXJhbFNpemUoKSBjb25zdDsKKyAgICBGbG9hdFNpemUg
bmF0dXJhbFNpemUoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0Vm9sdW1lKGZsb2F0KTsKICAgICBm
bG9hdCB2b2x1bWUoKSBjb25zdDsKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2l6ZUNoYW5nZWQoKTsKIAogICAgIHZvaWQgdHJpZ2dlclJlcGFpbnQoR3N0U2FtcGxlKik7Ci0g
ICAgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7CisgICAgdm9p
ZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAogICAgIHZpcnR1
YWwgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2aXJ0dWFsIGZsb2F0IG1heFRpbWVMb2FkZWQoKSBjb25zdCB7IHJldHVybiAwLjA7IH0K
QEAgLTEyOSw3ICsxMjksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdW5zaWduZWQgbG9uZyBtX3JlcGFp
bnRIYW5kbGVyOwogICAgIHVuc2lnbmVkIGxvbmcgbV92b2x1bWVTaWduYWxIYW5kbGVyOwogICAg
IHVuc2lnbmVkIGxvbmcgbV9tdXRlU2lnbmFsSGFuZGxlcjsKLSAgICBtdXRhYmxlIEludFNpemUg
bV92aWRlb1NpemU7CisgICAgbXV0YWJsZSBGbG9hdFNpemUgbV92aWRlb1NpemU7CiAjaWYgVVNF
KFRFWFRVUkVfTUFQUEVSX0dMKSAmJiAhVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIFBh
c3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4gdXBkYXRlVGV4dHVyZShUZXh0dXJlTWFwcGVyKik7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9N
ZWRpYVBsYXllclByaXZhdGVRVEtpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmgKaW5kZXggOGZjYTg3ZmIxMDViNzBhYTk1
ZjVjNTJkZGJiYmFhYjc0ZjFlYzExOC4uNjk4MmM5OTFmOTJmZjMxM2QyZGJjMzEzNjEzOGRkNTZj
NDA2YzExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0LmgKQEAgLTc2LDcgKzc2LDcgQEAg
cHJpdmF0ZToKICAgICBQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdDsKICAgICBQ
bGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Q7CiAKLSAgICBJbnRTaXplIG5hdHVy
YWxTaXplKCkgY29uc3Q7CisgICAgRmxvYXRTaXplIG5hdHVyYWxTaXplKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgYm9vbCBoYXNWaWRlbygpIGNvbnN0OwogICAgIGJvb2wgaGFzQXVkaW8oKSBjb25z
dDsKICAgICBib29sIHN1cHBvcnRzRnVsbHNjcmVlbigpIGNvbnN0OwpAQCAtMTI0LDggKzEyNCw4
IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdmlydHVhbCBib29sIGhhc0F2YWlsYWJsZVZpZGVvRnJh
bWUoKSBjb25zdDsKIAotICAgIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UmVjdCYpOwotICAgIHZvaWQgcGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQoR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRSZWN0Jik7CisgICAgdm9pZCBwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgcHJl
cGFyZUZvclJlbmRlcmluZygpOwogCiAgICAgYm9vbCBzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVy
aW5nKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXggOWZhOTcxODQy
ZjVlZjNhMTQ4ZmZiNTc3Y2IyYTVjZTNhMTllNjNkZS4uYWNhMTMwNzBjMjQxYWJmOTdiNmRlNmY1
ODRmMmU1NDQwYzMwYWVmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQpAQCAtNzA5
LDEwICs3MDksMTAgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vla2luZygpIGNv
bnN0CiAgICAgcmV0dXJuIG1fc2Vla1RvID49IE1lZGlhVGltZTo6emVyb1RpbWUoKTsKIH0KIAot
SW50U2l6ZSBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6bmF0dXJhbFNpemUoKSBjb25zdAorRmxv
YXRTaXplIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiB7CiAg
ICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpKQotICAgICAgICByZXR1cm4gSW50U2l6ZSgpOwor
ICAgICAgICByZXR1cm4gRmxvYXRTaXplKCk7CiAKICAgICAvLyBJbiBzcGl0ZSBvZiB0aGUgbmFt
ZSBvZiB0aGlzIG1ldGhvZCwgcmV0dXJuIFFUTW92aWVOYXR1cmFsU2l6ZUF0dHJpYnV0ZSB0cmFu
c2Zvcm1lZCBieSB0aGUgCiAgICAgLy8gaW5pdGlhbCBtb3ZpZSBzY2FsZSBiZWNhdXNlIHRoZSBz
cGVjIHNheXMgaW50cmluc2ljIHNpemUgaXM6CkBAIC03MzIsOCArNzMyLDkgQEAgSW50U2l6ZSBN
ZWRpYVBsYXllclByaXZhdGVRVEtpdDo6bmF0dXJhbFNpemUoKSBjb25zdAogICAgICAgICAvLyBl
dmVudCB3aGVuIHRoaXMgaGFwcGVucywgc28gd2UgbXVzdCBjYWNoZSB0aGUgbGFzdCB2YWxpZCBu
YXR1cmFsU2l6ZSBoZXJlOgogICAgICAgICBtX2NhY2hlZE5hdHVyYWxTaXplID0gbmF0dXJhbFNp
emU7CiAgICAgfQotICAgICAgICAKLSAgICByZXR1cm4gSW50U2l6ZShuYXR1cmFsU2l6ZS53aWR0
aCgpICogbV9zY2FsZUZhY3Rvci53aWR0aCgpLCBuYXR1cmFsU2l6ZS5oZWlnaHQoKSAqIG1fc2Nh
bGVGYWN0b3IuaGVpZ2h0KCkpOworICAgIAorICAgIG5hdHVyYWxTaXplLnNjYWxlKG1fc2NhbGVG
YWN0b3Iud2lkdGgoKSwgbV9zY2FsZUZhY3Rvci5oZWlnaHQoKSk7CisgICAgcmV0dXJuIG5hdHVy
YWxTaXplOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpoYXNWaWRlbygpIGNv
bnN0CkBAIC0xMTgxLDcgKzExODIsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpy
ZXBhaW50KCkKICAgICBtX3BsYXllci0+cmVwYWludCgpOwogfQogCi12b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHIpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0
OjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBpZCBxdFZpZGVvUmVuZGVyZXIgPSBtX3F0VmlkZW9S
ZW5kZXJlci5nZXQoKTsKICAgICBpZiAoIXF0VmlkZW9SZW5kZXJlciAmJiBjdXJyZW50UmVuZGVy
aW5nTW9kZSgpID09IE1lZGlhUmVuZGVyaW5nTW92aWVMYXllcikgewpAQCAtMTE5NSw3ICsxMTk2
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cGFpbnRDdXJyZW50RnJhbWVJbkNv
bnRleHQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXgKICAgICBwYWludChjb250ZXh0LCByKTsKIH0K
IAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBJbnRSZWN0JiByKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6
cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CiAg
ICAgaWYgKGNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSB8fCBtX2hhc1Vuc3VwcG9ydGVkVHJh
Y2tzKQogICAgICAgICByZXR1cm47CkBAIC0xMjA3LDcgKzEyMDgsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0OjpwYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IElu
dFJlY3QmIHIpCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogICAgIE5TR3JhcGhp
Y3NDb250ZXh0KiBuZXdDb250ZXh0OwogICAgIEZsb2F0U2l6ZSBzY2FsZUZhY3RvcigxLjBmLCAt
MS4wZik7Ci0gICAgSW50UmVjdCBwYWludFJlY3QoSW50UG9pbnQoMCwgMCksIEludFNpemUoci53
aWR0aCgpLCByLmhlaWdodCgpKSk7CisgICAgRmxvYXRSZWN0IHBhaW50UmVjdChGbG9hdFBvaW50
KCksIHIuc2l6ZSgpKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZl
cigqY29udGV4dCk7CiAgICAgY29udGV4dC0+dHJhbnNsYXRlKHIueCgpLCByLnkoKSArIHIuaGVp
Z2h0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmNw
cAppbmRleCA2NjUwNDk2YjA5MTA1MWVlNjNjYjEzOWJlM2I4YzM4OTg5ODU3YzRmLi44ODlhODY4
ZjQyZDVmNDY5ODQyZTNkZWFkZWY2M2M3NzJmNzQwOWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwYXVzZSgpCiAgICAgbV9wYXVzZWQg
PSBTVUNDRUVERUQobV9tZWRpYVNlc3Npb24tPlBhdXNlKCkpOwogfQogCi1JbnRTaXplIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6bmF0dXJhbFNpemUoKSBjb25zdCAKK0Zsb2F0
U2l6ZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246Om5hdHVyYWxTaXplKCkgY29u
c3QgCiB7CiAgICAgcmV0dXJuIG1fc2l6ZTsKIH0KQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBz
aXplKQogICAgIG1fdmlkZW9EaXNwbGF5LT5TZXRWaWRlb1Bvc2l0aW9uKG51bGxwdHIsICZyYyk7
CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwYWludChHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKGNvbnRleHQtPnBhaW50aW5nRGlz
YWJsZWQoKQogICAgICAgICB8fCAhbV9wbGF5ZXItPnZpc2libGUoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRp
YUZvdW5kYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRp
YVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaAppbmRleCBhZjBmNjIzYTJjMDBjN2NmODU4
NzAwZjI0MjA2M2M5ODg5ZWI0YTg5Li5jNmYwNzQyOGVhMWJkYjJiNGNhMzNmZGE3OGJkNDhhMGI3
OTJkMTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5o
CkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcGxheSgpOwogICAg
IHZpcnR1YWwgdm9pZCBwYXVzZSgpOwogCi0gICAgdmlydHVhbCBJbnRTaXplIG5hdHVyYWxTaXpl
KCkgY29uc3Q7CisgICAgdmlydHVhbCBGbG9hdFNpemUgbmF0dXJhbFNpemUoKSBjb25zdDsKIAog
ICAgIHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBoYXNB
dWRpbygpIGNvbnN0OwpAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgc2V0U2l6ZShjb25zdCBJbnRTaXplJik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBwYWludChH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKTsKIAogcHJpdmF0ZToKICAgICBNZWRp
YVBsYXllciogbV9wbGF5ZXI7CkBAIC04MSw3ICs4MSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2hhc1ZpZGVvOwogICAgIEhXTkQgbV9od25kVmlkZW87CiAgICAgTWVkaWFQbGF5ZXI6OlJlYWR5
U3RhdGUgbV9yZWFkeVN0YXRlOwotICAgIEludFJlY3QgbV9sYXN0UGFpbnRSZWN0OworICAgIEZs
b2F0UmVjdCBtX2xhc3RQYWludFJlY3Q7CiAKICAgICBDT01QdHI8SU1GTWVkaWFTZXNzaW9uPiBt
X21lZGlhU2Vzc2lvbjsKICAgICBDT01QdHI8SU1GU291cmNlUmVzb2x2ZXI+IG1fc291cmNlUmVz
b2x2ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCmluZGV4
IDIwNDgwNGY5NTVmZDAzZmYwMTY0ODM2NDU5YTdhMDRhNDQ3NDhiMGMuLmI5YTFhNDhlYjkwMjcy
NDk4ODE0NDk1N2ZlYWFjYjJiNTYyODYwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2UuY3BwCkBAIC0xMTgsOSArMTE4LDkgQEAgdm9pZCBNb2NrTWVkaWFQbGF5
ZXJNZWRpYVNvdXJjZTo6cGF1c2UoKQogICAgIG1fcGxheWluZyA9IDA7CiB9CiAKLUludFNpemUg
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6Om5hdHVyYWxTaXplKCkgY29uc3QKK0Zsb2F0U2l6
ZSBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6bmF0dXJhbFNpemUoKSBjb25zdAogewotICAg
IHJldHVybiBJbnRTaXplKCk7CisgICAgcmV0dXJuIEZsb2F0U2l6ZSgpOwogfQogCiBib29sIE1v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpoYXNWaWRlbygpIGNvbnN0CkBAIC0xNzksNyArMTc5
LDcgQEAgdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c2V0U2l6ZShjb25zdCBJbnRT
aXplJikKIHsKIH0KIAotdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6cGFpbnQoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpCit2b2lkIE1vY2tNZWRpYVBsYXllck1lZGlh
U291cmNlOjpwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKaW5kZXggY2RlNjU2Njdk
NTRlMDIwNWE4YmExZjY3YWI0NTczMDNjN2ZjMDliZi4uMmFjNDJlODEyZDg4YzQyMTg5ZDFiNDVl
MTNjNjMyZGFmNWJiNDIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3Vy
Y2UuaApAQCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxM
b2FkKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHZvaWQgcGF1c2UoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIEludFNpemUgbmF0dXJh
bFNpemUoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBuYXR1cmFsU2l6
ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBoYXNBdWRpbygpIGNvbnN0IG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlKGJvb2wpIG92ZXJyaWRlOwpAQCAtNzQsNyArNzQsNyBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdl
cz4gYnVmZmVyZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZGlkTG9hZGlu
Z1Byb2dyZXNzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHNldFNpemUoY29u
c3QgSW50U2l6ZSYpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0Nv
bnRleHQqLCBjb25zdCBJbnRSZWN0Jikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHBhaW50
KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgTWVkaWFUaW1lIGN1cnJlbnRNZWRpYVRpbWUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIE1lZGlhVGltZSBkdXJhdGlvbk1lZGlhVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCBzZWVrV2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRp
YVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlkZW8uY3BwCmluZGV4IDU3MDQ1MWQ0YjAxZWMxZjhhOWI3YmI3ZmZiMzgxMGRk
MTg3N2FlYjAuLjA5ZTFjYWNkN2RkNGEyMGExN2JkZDZmZjFjN2E2NjUxMTk3MDc5MDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBA
IExheW91dFNpemUgUmVuZGVyVmlkZW86OmNhbGN1bGF0ZUludHJpbnNpY1NpemUoKQogICAgIC8v
IGhlaWdodCBvZiB0aGUgcG9zdGVyIGZyYW1lLCBpZiB0aGF0IGlzIGF2YWlsYWJsZTsgb3RoZXJ3
aXNlIGl0IGlzIDE1MCBDU1MgcGl4ZWxzLgogICAgIE1lZGlhUGxheWVyKiBwbGF5ZXIgPSB2aWRl
b0VsZW1lbnQoKS5wbGF5ZXIoKTsKICAgICBpZiAocGxheWVyICYmIHZpZGVvRWxlbWVudCgpLnJl
YWR5U3RhdGUoKSA+PSBIVE1MVmlkZW9FbGVtZW50OjpIQVZFX01FVEFEQVRBKSB7Ci0gICAgICAg
IExheW91dFNpemUgc2l6ZSA9IHBsYXllci0+bmF0dXJhbFNpemUoKTsKKyAgICAgICAgTGF5b3V0
U2l6ZSBzaXplKHBsYXllci0+bmF0dXJhbFNpemUoKSk7CiAgICAgICAgIGlmICghc2l6ZS5pc0Vt
cHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gc2l6ZTsKICAgICB9CkBAIC0xODksOSArMTg5LDkg
QEAgdm9pZCBSZW5kZXJWaWRlbzo6cGFpbnRSZXBsYWNlZChQYWludEluZm8mIHBhaW50SW5mbywg
Y29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2YKICAgICBpZiAoZGlzcGxheWluZ1Bvc3RlcikKICAg
ICAgICAgcGFpbnRJbnRvUmVjdChjb250ZXh0LCByZWN0KTsKICAgICBlbHNlIGlmICh2aWV3KCku
ZnJhbWVWaWV3KCkucGFpbnRCZWhhdmlvcigpICYgUGFpbnRCZWhhdmlvckZsYXR0ZW5Db21wb3Np
dGluZ0xheWVycykKLSAgICAgICAgbWVkaWFQbGF5ZXItPnBhaW50Q3VycmVudEZyYW1lSW5Db250
ZXh0KGNvbnRleHQsIHNuYXBwZWRJbnRSZWN0KHJlY3QpKTsKKyAgICAgICAgbWVkaWFQbGF5ZXIt
PnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KGNvbnRleHQsIHJlY3QpOwogICAgIGVsc2UKLSAg
ICAgICAgbWVkaWFQbGF5ZXItPnBhaW50KGNvbnRleHQsIHNuYXBwZWRJbnRSZWN0KHJlY3QpKTsK
KyAgICAgICAgbWVkaWFQbGF5ZXItPnBhaW50KGNvbnRleHQsIHJlY3QpOwogfQogCiB2b2lkIFJl
bmRlclZpZGVvOjpsYXlvdXQoKQo=
</data>
<flag name="review"
          id="272526"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>