<?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>218442</bug_id>
          
          <creation_ts>2020-11-02 05:56:04 -0800</creation_ts>
          <short_desc>Allow low latency H264 encoder in GPUProcess</short_desc>
          <delta_ts>2020-11-03 04:34:19 -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>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>218445</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1703502</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-02 05:56:04 -0800</bug_when>
    <thetext>Allow low latency H264 encoder in GPUProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703503</commentid>
    <comment_count>1</comment_count>
      <attachid>412909</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-02 06:01:50 -0800</bug_when>
    <thetext>Created attachment 412909
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703514</commentid>
    <comment_count>2</comment_count>
      <attachid>412914</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-02 06:37:55 -0800</bug_when>
    <thetext>Created attachment 412914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703686</commentid>
    <comment_count>3</comment_count>
      <attachid>412914</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-11-02 14:03:58 -0800</bug_when>
    <thetext>Comment on attachment 412914
Patch

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

&gt; Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitEncoder.mm:97
&gt; +- (void)setLowLatency:(bool)isLowLatencyEnabled {

Nit: &quot;isLowLatencyEnabled&quot; sounds like a question, I would probably call the parameter &quot;lowLatencyEnabled&quot;, or even just &quot;enabled&quot;

&gt; Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitEncoder.mm:99
&gt; +        return [m_h264Encoder setH264LowLatencyEncoderEnabled:isLowLatencyEnabled];

Nit: &quot;return&quot; is unnecessary

&gt; Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitEncoder.mm:319
&gt; +void setLocalEncoderLowLatency(LocalEncoder localEncoder, bool isLowLatencyEnabled)

Ditto about the parameter name from above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703902</commentid>
    <comment_count>4</comment_count>
      <attachid>413032</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-03 03:19:15 -0800</bug_when>
    <thetext>Created attachment 413032
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703924</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-03 03:55:39 -0800</bug_when>
    <thetext>ChangeLog entry in Source/ThirdParty/libwebrtc/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703925</commentid>
    <comment_count>6</comment_count>
      <attachid>413039</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-03 03:57:52 -0800</bug_when>
    <thetext>Created attachment 413039
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703941</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-03 04:33:08 -0800</bug_when>
    <thetext>Committed r269293: &lt;https://trac.webkit.org/changeset/269293&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413039.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703942</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-03 04:34:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/70989701&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412909</attachid>
            <date>2020-11-02 06:01:50 -0800</date>
            <delta_ts>2020-11-02 06:37:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218442-20201102150148.patch</filename>
            <type>text/plain</type>
            <size>38763</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5ZjU4YjY1NWIyMjUzYTljNWQzYzQ3YmYzNjlhNWM5NWFlMGI3Yjg3Li5jYWRi
OTA2YjMwYWQyMGU5ZWE1NDVlZjk0ZDRhZDdkZjM3MjNhYTQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAyMC0xMS0wMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbG93IGxhdGVuY3kgSDI2
NCBlbmNvZGVyIGluIEdQVVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxODQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHVzZUxvd0xhdGVuY3kgYm9vbGVhbiBpbiBSVENWaWRlb0Vu
Y29kZXJIMjY0IGFuZCBpbiBlbmNvZGVyIGZhY3RvcnkuCisgICAgICAgIEVuY29kZXIgaXMgc2V0
IGJ5IHRoZSBmYWN0b3J5IGF0IGNyZWF0aW9uIHRpbWUuCisgICAgICAgIHVzZUxvd0xhdGVuY3kg
ZmFjdG9yeSB2YWx1ZSBpcyBzZXQgYXQgY3JlYXRpb24gb2YgdGhlIGZhY3RvcnkuCisKKyAgICAg
ICAgQ2xlYW4gdXAgV2ViS2l0WFguaCBoZWFkZXJzIHRvIGRvIGxlc3MgaW5jbHVkZSBhbmQgbW92
ZSBkZWNsYXJhdGlvbnMgaW4gc3BlY2lmaWMgaGVhZGVycy4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndl
YnJ0Yy5pT1NzaW0uZXhwOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMu
ZXhwOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmg6
CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdERlY29kZXIubW06Cisg
ICAgICAgICh3ZWJydGM6OnZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZSk6CisgICAgICAgICogU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaDoKKyAgICAgICAgKiBTb3VyY2Uv
d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbToKKyAgICAgICAgKC1bV0tfUlRDTG9j
YWxWaWRlb0gyNjRIMjY1RW5jb2RlciBzZXRMb3dMYXRlbmN5Ol0pOgorICAgICAgICAod2VicnRj
OjpjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeSk6CisgICAgICAgICh3ZWJydGM6OnNldExvY2Fs
RW5jb2Rlckxvd0xhdGVuY3kpOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9X
ZWJLaXRVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2Vi
S2l0VXRpbGl0aWVzLm1tOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9u
ZW50cy92aWRlb19jb2RlYy9SVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5oOgorICAgICAg
ICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZh
dWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5tOgorICAgICAgICAoLVtSVENEZWZhdWx0VmlkZW9FbmNv
ZGVyRmFjdG9yeSBpbml0V2l0aEgyNjU6dnA5Omxvd0xhdGVuY3lIMjY0Ol0pOgorICAgICAgICAo
LVtSVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeSBjcmVhdGVFbmNvZGVyOl0pOgorICAgICAg
ICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRl
b0VuY29kZXJIMjY0Lmg6CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25l
bnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQubW06CisgICAgICAgICgtW1JUQ1Zp
ZGVvRW5jb2RlckgyNjQgaW5pdFdpdGhDb2RlY0luZm86XSk6CisgICAgICAgICgtW1JUQ1ZpZGVv
RW5jb2RlckgyNjQgc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDpdKToKKyAgICAgICAg
KC1bUlRDVmlkZW9FbmNvZGVySDI2NCByZXNldENvbXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZv
cm1hdDpdKToKKwogMjAyMC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgU2V0IHZwY0MgYm94IGZvciBoYXJkd2FyZSBXZWJSVEMgVlA5IGRlY29kZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlZjk5NjJhNmU0MGMwZjBiMjI1YTQ0MWE1ZTdhNjU2ZGZmODgzMmFiLi40
NTIwYWZmMzJlNDMyZTAxMDRjNDZkYTFhYmQwODgzYWYxNmVlNGU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMTEtMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGxvdyBsYXRlbmN5IEgyNjQgZW5jb2RlciBpbiBHUFVQcm9jZXNz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0NDIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIHVz
ZUxvd0xhdGVuY3kgYm9vbGVhbiB3aGVuIGNyZWF0aW5nIGVuY29kZXIgZmFjdG9yeS4KKyAgICAg
ICAgTWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGli
V2ViUlRDUHJvdmlkZXJDb2NvYTo6Y3JlYXRlRW5jb2RlckZhY3RvcnkpOgorCiAyMDIwLTExLTAy
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHNlbmRp
bmcgb3JpZ2lucyBmcm9tIFdlYlByb2Nlc3MgdG8gVUlQcm9jZXNzIGZvciBnZXRVc2VyTWVkaWEg
cmVxdWVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggMDc5MTc1ZDYwNWRmNjZkMWNlOGU0ZTFhMGYyODMxMjkxYjBm
MWM3MS4uYTM3OTBhMTRlOWQ4NGM4ZDhiNGQ1OTIwNGJkNDhkOTRiZTU3NjkzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAyMC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWxsb3cgbG93IGxhdGVuY3kgSDI2NCBlbmNvZGVyIGluIEdQVVBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBh
c3MgdXNlTG93TGF0ZW5jeSBib29sZWFuIGZyb20gV2ViUHJvY2VzcyB0byBHUFVQcm9jZXNzLgor
CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaDoKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbToK
KyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzUHJveHk6OmNyZWF0ZUVuY29kZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nKToKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjcmVhdGVFbmNvZGVyKToKKwogMjAyMC0xMS0w
MiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzZW5k
aW5nIG9yaWdpbnMgZnJvbSBXZWJQcm9jZXNzIHRvIFVJUHJvY2VzcyBmb3IgZ2V0VXNlck1lZGlh
IHJlcXVlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmln
dXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKaW5kZXggYWIyN2QwZjE5NGVkNjZmZmQ5
Y2NlYzFjM2ZkNTY0OTVhZGI2YjRmYS4uMzI5MjYzZWEzMDg1N2FkNjY2OGFhMDMxNTMwOGU0MTk2
MWRkNTE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApAQCAtMTA1LDkgKzEwNSw4IEBAIF9f
Wk42d2VicnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UxNlJlbW92ZUNhbmRpZGF0ZXNF
UktOU3QzX18xNnZlY3RvcklON2NyCiBfX1pOSzZ3ZWJydGMyMUljZUNhbmRpZGF0ZUludGVyZmFj
ZTEwc2VydmVyX3VybEV2CiBfX1pONndlYnJ0YzIwc2V0QXBwbGljYXRpb25TdGF0dXNFYgogX19a
TjZ3ZWJydGMyNmNyZWF0ZVdlYktpdERlY29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185
V2ViS2l0VlA5RU5TXzEyV2ViS2l0VlA5VlRCRQotX19aTjZ3ZWJydGMyNmNyZWF0ZVdlYktpdEVu
Y29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0VlA5RQorX19aTjZ3ZWJydGMy
NmNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0VlA5
RU5TXzIwV2ViS2l0SDI2NExvd0xhdGVuY3lFCiBfX1pONndlYnJ0YzI5c2V0SDI2NEhhcmR3YXJl
RW5jb2RlckFsbG93ZWRFYgotX19aTjZ3ZWJydGMzMXNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVu
YWJsZWRFYgogX19aTjZ3ZWJydGMyNHJlZ2lzdGVyV2ViS2l0VlA5RGVjb2RlckV2CiBfX1pONndl
YnJ0YzIwcGl4ZWxCdWZmZXJGcm9tRnJhbWVFUktOU18xMFZpZGVvRnJhbWVFUktOU3QzX18xOGZ1
bmN0aW9uSUZQMTBfX0NWQnVmZmVybW1OU18xMEJ1ZmZlclR5cGVFRUVFCiBfX1pONndlYnJ0YzE4
cGl4ZWxCdWZmZXJUb0ZyYW1lRVAxMF9fQ1ZCdWZmZXIKQEAgLTI0Myw2ICsyNDIsNyBAQCBfX1pO
NndlYnJ0YzIyY3JlYXRlTG9jYWxIMjY1RGVjb2RlckVVMTNibG9ja19wb2ludGVyRnZQMTBfX0NW
QnVmZmVyampFCiBfX1pONndlYnJ0YzE5cmVsZWFzZUxvY2FsRGVjb2RlckVQdgogX19aTjZ3ZWJy
dGMxMWRlY29kZUZyYW1lRVB2alBLaG0KIF9fWk42d2VicnRjMThSZW1vdGVWaWRlb0RlY29kZXIx
NGRlY29kZUNvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCitfX1pONndlYnJ0YzI0dmlkZW9EZWNv
ZGVyVGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9E
ZWNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9q
UEtobUVQRmlTMF9TMF9FCiBfX1pONndlYnJ0YzE4UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgogX19a
TjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9y
bWF0RUVQRmlTMF9FUEZpUzBfalBLaG1FUEZpUzBfUzBfRQpAQCAtMjUzLDYgKzI1Myw3IEBAIF9f
Wk42d2VicnRjMThSZW1vdGVWaWRlb0VuY29kZXIxNGVuY29kZUNvbXBsZXRlRVB2UGhtUktOU18y
MldlYktpdEVuY29kZWRGcmFtZUluCiBfX1pONndlYnJ0YzIyUlRQRnJhZ21lbnRhdGlvbkhlYWRl
cjZSZXNpemVFbQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5jb2RlckNhbGxiYWNrc0VQRlB2UktO
U18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktOU18xMFZpZGVvQ29kZWNFRVBGaVMw
X1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMwX1JLTlNfMTJWaWRlb0VuY29kZXIy
MVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0YzIwc2V0TG9jYWxFbmNvZGVyUmF0
ZXNFUHZqagorX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rlckxvd0xhdGVuY3lFUHZiCiBfX1pO
NndlYnJ0YzIyaW5pdGlhbGl6ZUxvY2FsRW5jb2RlckVQdnR0ampqagogX19aTjZ3ZWJydGMxNFNk
cFZpZGVvRm9ybWF0QzFFUktOU3QzX18xMTJiYXNpY19zdHJpbmdJY05TMV8xMWNoYXJfdHJhaXRz
SWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUktOUzFfM21hcElTN19TN19OUzFfNGxlc3NJUzdfRUVO
UzVfSU5TMV80cGFpcklTOF9TN19FRUVFRUUKIF9fWk42d2VicnRjMThjcmVhdGVMb2NhbEVuY29k
ZXJFUktOU18xNFNkcFZpZGVvRm9ybWF0RVUxM2Jsb2NrX3BvaW50ZXJGdlBLaG1SS05TXzIyV2Vi
S2l0RW5jb2RlZEZyYW1lSW5mb0VQTlNfMjJSVFBGcmFnbWVudGF0aW9uSGVhZGVyRUUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJy
dGMuaU9Tc2ltLmV4cCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9u
cy9saWJ3ZWJydGMuaU9Tc2ltLmV4cAppbmRleCBhYjI3ZDBmMTk0ZWQ2NmZmZDljY2VjMWMzZmQ1
NjQ5NWFkYjZiNGZhLi4wYWFkYTFmMDUyNDE5OGE1MTAxNTMxMTZlZTg4ODdkOGI1NjEzZTllIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGli
d2VicnRjLmlPU3NpbS5leHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZp
Z3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCkBAIC0xMDUsOSArMTA1LDggQEAgX19aTjZ3
ZWJydGMyN1Nlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZTE2UmVtb3ZlQ2FuZGlkYXRlc0VSS05T
dDNfXzE2dmVjdG9ySU43Y3IKIF9fWk5LNndlYnJ0YzIxSWNlQ2FuZGlkYXRlSW50ZXJmYWNlMTBz
ZXJ2ZXJfdXJsRXYKIF9fWk42d2VicnRjMjBzZXRBcHBsaWNhdGlvblN0YXR1c0ViCiBfX1pONndl
YnJ0YzI2Y3JlYXRlV2ViS2l0RGVjb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5TXzlXZWJL
aXRWUDlFTlNfMTJXZWJLaXRWUDlWVEJFCi1fX1pONndlYnJ0YzI2Y3JlYXRlV2ViS2l0RW5jb2Rl
ckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5TXzlXZWJLaXRWUDlFCitfX1pONndlYnJ0YzI2Y3Jl
YXRlV2ViS2l0RW5jb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5TXzlXZWJLaXRWUDlFTlNf
MjBXZWJLaXRIMjY0TG93TGF0ZW5jeUUKIF9fWk42d2VicnRjMjlzZXRIMjY0SGFyZHdhcmVFbmNv
ZGVyQWxsb3dlZEViCi1fX1pONndlYnJ0YzMxc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxl
ZEViCiBfX1pONndlYnJ0YzI0cmVnaXN0ZXJXZWJLaXRWUDlEZWNvZGVyRXYKIF9fWk42d2VicnRj
MjBwaXhlbEJ1ZmZlckZyb21GcmFtZUVSS05TXzEwVmlkZW9GcmFtZUVSS05TdDNfXzE4ZnVuY3Rp
b25JRlAxMF9fQ1ZCdWZmZXJtbU5TXzEwQnVmZmVyVHlwZUVFRUUKIF9fWk42d2VicnRjMThwaXhl
bEJ1ZmZlclRvRnJhbWVFUDEwX19DVkJ1ZmZlcgpAQCAtMjQyLDcgKzI0MSw3IEBAIF9fWk42d2Vi
cnRjMjJjcmVhdGVMb2NhbEgyNjREZWNvZGVyRVUxM2Jsb2NrX3BvaW50ZXJGdlAxMF9fQ1ZCdWZm
ZXJqakUKIF9fWk42d2VicnRjMjJjcmVhdGVMb2NhbEgyNjVEZWNvZGVyRVUxM2Jsb2NrX3BvaW50
ZXJGdlAxMF9fQ1ZCdWZmZXJqakUKIF9fWk42d2VicnRjMTlyZWxlYXNlTG9jYWxEZWNvZGVyRVB2
CiBfX1pONndlYnJ0YzExZGVjb2RlRnJhbWVFUHZqUEtobQotX19aTjZ3ZWJydGMxOFJlbW90ZVZp
ZGVvRGVjb2RlcjE0ZGVjb2RlQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZlcmoKK19fWk42d2VicnRj
MjR2aWRlb0RlY29kZXJUYXNrQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZlcmoKIF9fWk42d2VicnRj
MjRzZXRWaWRlb0RlY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zvcm1hdEVFUEZp
UzBfRVBGaVMwX2pQS2htRVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMThSdHBDb2RlY0NhcGFiaWxp
dHlDMUV2CiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0
U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEtobUVQRmlTMF9TMF9FCkBAIC0yNTMsNiAr
MjUyLDcgQEAgX19aTjZ3ZWJydGMxOFJlbW90ZVZpZGVvRW5jb2RlcjE0ZW5jb2RlQ29tcGxldGVF
UHZQaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW4KIF9fWk42d2VicnRjMjJSVFBGcmFnbWVu
dGF0aW9uSGVhZGVyNlJlc2l6ZUVtCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9FbmNvZGVyQ2FsbGJh
Y2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9SS05TXzEwVmlkZW9D
b2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlTMF9TMF9FUEZ2UzBfUktOU18xMlZp
ZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUKIF9fWk42d2VicnRjMjBzZXRMb2Nh
bEVuY29kZXJSYXRlc0VQdmpqCitfX1pONndlYnJ0YzI1c2V0TG9jYWxFbmNvZGVyTG93TGF0ZW5j
eUVQdmIKIF9fWk42d2VicnRjMjJpbml0aWFsaXplTG9jYWxFbmNvZGVyRVB2dHRqampqCiBfX1pO
NndlYnJ0YzE0U2RwVmlkZW9Gb3JtYXRDMUVSS05TdDNfXzExMmJhc2ljX3N0cmluZ0ljTlMxXzEx
Y2hhcl90cmFpdHNJY0VFTlMxXzlhbGxvY2F0b3JJY0VFRUVSS05TMV8zbWFwSVM3X1M3X05TMV80
bGVzc0lTN19FRU5TNV9JTlMxXzRwYWlySVM4X1M3X0VFRUVFRQogX19aTjZ3ZWJydGMxOGNyZWF0
ZUxvY2FsRW5jb2RlckVSS05TXzE0U2RwVmlkZW9Gb3JtYXRFVTEzYmxvY2tfcG9pbnRlckZ2UEto
bVJLTlNfMjJXZWJLaXRFbmNvZGVkRnJhbWVJbmZvRVBOU18yMlJUUEZyYWdtZW50YXRpb25IZWFk
ZXJFRQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRp
b25zL2xpYndlYnJ0Yy5tYWMuZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZp
Z3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCmluZGV4IDk2ODYwNzY4YzkzYWYzYTQ5M2VmYWQ4
NDYzYWJjMWY1MGZkNDgwMTkuLjcwZjlkOTlhMzZmYWU2NjA0MmUwOGY2NmYwODMyNDgzOTdiN2Q3
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9u
cy9saWJ3ZWJydGMubWFjLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29u
ZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKQEAgLTEwNSw5ICsxMDUsOCBAQCBfX1pONndl
YnJ0YzI3U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlMTZSZW1vdmVDYW5kaWRhdGVzRVJLTlN0
M19fMTZ2ZWN0b3JJTjdjcgogX19aTks2d2VicnRjMjFJY2VDYW5kaWRhdGVJbnRlcmZhY2UxMHNl
cnZlcl91cmxFdgogX19aTjZ3ZWJydGMyMHNldEFwcGxpY2F0aW9uU3RhdHVzRWIKIF9fWk42d2Vi
cnRjMjZjcmVhdGVXZWJLaXREZWNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNfOVdlYktp
dFZQOUVOU18xMldlYktpdFZQOVZUQkUKLV9fWk42d2VicnRjMjZjcmVhdGVXZWJLaXRFbmNvZGVy
RmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNfOVdlYktpdFZQOUUKK19fWk42d2VicnRjMjZjcmVh
dGVXZWJLaXRFbmNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNfOVdlYktpdFZQOUVOU18y
MFdlYktpdEgyNjRMb3dMYXRlbmN5RQogX19aTjZ3ZWJydGMyOXNldEgyNjRIYXJkd2FyZUVuY29k
ZXJBbGxvd2VkRWIKLV9fWk42d2VicnRjMzFzZXRIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVk
RWIKIF9fWk42d2VicnRjMjRyZWdpc3RlcldlYktpdFZQOURlY29kZXJFdgogX19aTjZ3ZWJydGMy
MHBpeGVsQnVmZmVyRnJvbUZyYW1lRVJLTlNfMTBWaWRlb0ZyYW1lRVJLTlN0M19fMThmdW5jdGlv
bklGUDEwX19DVkJ1ZmZlcm1tTlNfMTBCdWZmZXJUeXBlRUVFRQogX19aTjZ3ZWJydGMxOHBpeGVs
QnVmZmVyVG9GcmFtZUVQMTBfX0NWQnVmZmVyCkBAIC0yNDIsNyArMjQxLDcgQEAgX19aTjZ3ZWJy
dGMyMmNyZWF0ZUxvY2FsSDI2NERlY29kZXJFVTEzYmxvY2tfcG9pbnRlckZ2UDEwX19DVkJ1ZmZl
cmpqRQogX19aTjZ3ZWJydGMyMmNyZWF0ZUxvY2FsSDI2NURlY29kZXJFVTEzYmxvY2tfcG9pbnRl
ckZ2UDEwX19DVkJ1ZmZlcmpqRQogX19aTjZ3ZWJydGMxOXJlbGVhc2VMb2NhbERlY29kZXJFUHYK
IF9fWk42d2VicnRjMTFkZWNvZGVGcmFtZUVQdmpQS2htCi1fX1pONndlYnJ0YzE4UmVtb3RlVmlk
ZW9EZWNvZGVyMTRkZWNvZGVDb21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVyagorX19aTjZ3ZWJydGMy
NHZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMy
NHNldFZpZGVvRGVjb2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlT
MF9FUEZpUzBfalBLaG1FUEZpUzBfUzBfRQogX19aTjZ3ZWJydGMxOFJ0cENvZGVjQ2FwYWJpbGl0
eUMxRXYKIF9fWk42d2VicnRjMjJSVFBGcmFnbWVudGF0aW9uSGVhZGVyRDFFdgpAQCAtMjUxLDYg
KzI1MCw3IEBAIF9fWk42d2VicnRjMThSZW1vdGVWaWRlb0VuY29kZXIxNGVuY29kZUNvbXBsZXRl
RVB2UGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluCiBfX1pONndlYnJ0YzIyUlRQRnJhZ21l
bnRhdGlvbkhlYWRlcjZSZXNpemVFbQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5jb2RlckNhbGxi
YWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktOU18xMFZpZGVv
Q29kZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMwX1JLTlNfMTJW
aWRlb0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0YzIwc2V0TG9j
YWxFbmNvZGVyUmF0ZXNFUHZqagorX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rlckxvd0xhdGVu
Y3lFUHZiCiBfX1pONndlYnJ0YzIyaW5pdGlhbGl6ZUxvY2FsRW5jb2RlckVQdnR0ampqagogX19a
TjZ3ZWJydGMxNFNkcFZpZGVvRm9ybWF0QzFFUktOU3QzX18xMTJiYXNpY19zdHJpbmdJY05TMV8x
MWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUktOUzFfM21hcElTN19TN19OUzFf
NGxlc3NJUzdfRUVOUzVfSU5TMV80cGFpcklTOF9TN19FRUVFRUUKIF9fWk42d2VicnRjMThjcmVh
dGVMb2NhbEVuY29kZXJFUktOU18xNFNkcFZpZGVvRm9ybWF0RVUxM2Jsb2NrX3BvaW50ZXJGdlBL
aG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0VQTlNfMjJSVFBGcmFnbWVudGF0aW9uSGVh
ZGVyRUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2Vi
cnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmgKaW5kZXggZmFjYTM2
MTBlYzI3NmVlNWFlOTIxMTJlNWE1ZjkwODYxOWM5YjRiNC4uYjQwZjM3YzVlMTdhNTYyMjgxOGRk
OTQ3ZDY2NWU1NTc0ZmUwYTI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmgKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNv
ZGVyLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJhcGkv
dmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXIuaCIKKyNpbmNsdWRlICJXZWJLaXRVdGlsaXRpZXMu
aCIKICNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXJfZmFjdG9yeS5oIgog
CiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVsQnVmZmVyUmVmOwpAQCAtMzMsNiAr
MzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVsQnVmZmVyUmVmOwogbmFt
ZXNwYWNlIHdlYnJ0YyB7CiAKIHN0cnVjdCBTZHBWaWRlb0Zvcm1hdDsKK2NsYXNzIFZpZGVvRGVj
b2RlckZhY3Rvcnk7CiAKIHVzaW5nIFdlYktpdFZpZGVvRGVjb2RlciA9IHZvaWQqOwogdXNpbmcg
VmlkZW9EZWNvZGVyQ3JlYXRlQ2FsbGJhY2sgPSBXZWJLaXRWaWRlb0RlY29kZXIoKikoY29uc3Qg
U2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCk7CkBAIC00MiwzNCArNDMsOSBAQCB1c2luZyBWaWRlb0Rl
Y29kZXJSZWdpc3RlckRlY29kZUNvbXBsZXRlQ2FsbGJhY2sgPSBpbnQzMl90KCopKFdlYktpdFZp
ZGVvRGVjb2RlcgogCiB2b2lkIHNldFZpZGVvRGVjb2RlckNhbGxiYWNrcyhWaWRlb0RlY29kZXJD
cmVhdGVDYWxsYmFjaywgVmlkZW9EZWNvZGVyUmVsZWFzZUNhbGxiYWNrLCBWaWRlb0RlY29kZXJE
ZWNvZGVDYWxsYmFjaywgVmlkZW9EZWNvZGVyUmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNr
KTsKIAotY2xhc3MgUmVtb3RlVmlkZW9EZWNvZGVyRmFjdG9yeSBmaW5hbCA6IHB1YmxpYyBWaWRl
b0RlY29kZXJGYWN0b3J5IHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBSZW1vdGVWaWRlb0RlY29k
ZXJGYWN0b3J5KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0RlY29kZXJGYWN0b3J5PiYmKTsKLSAgICB+
UmVtb3RlVmlkZW9EZWNvZGVyRmFjdG9yeSgpID0gZGVmYXVsdDsKK3N0ZDo6dW5pcXVlX3B0cjx3
ZWJydGM6OlZpZGVvRGVjb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdERlY29kZXJGYWN0b3J5KFdl
YktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0VlA5VlRCKTsKK3ZvaWQgdmlkZW9EZWNvZGVyVGFz
a0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZm
ZXJSZWYsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCk7CiAKLXByaXZhdGU6Ci0gICAgc3RkOjp2ZWN0
b3I8U2RwVmlkZW9Gb3JtYXQ+IEdldFN1cHBvcnRlZEZvcm1hdHMoKSBjb25zdCBmaW5hbDsKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8VmlkZW9EZWNvZGVyPiBDcmVhdGVWaWRlb0RlY29kZXIoY29uc3Qg
U2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCkgZmluYWw7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8Vmlk
ZW9EZWNvZGVyRmFjdG9yeT4gbV9pbnRlcm5hbEZhY3Rvcnk7Ci19OwotCi1jbGFzcyBSZW1vdGVW
aWRlb0RlY29kZXIgZmluYWwgOiBwdWJsaWMgd2VicnRjOjpWaWRlb0RlY29kZXIgewotcHVibGlj
OgotICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvRGVjb2RlcihXZWJLaXRWaWRlb0RlY29kZXIpOwot
ICAgIH5SZW1vdGVWaWRlb0RlY29kZXIoKSA9IGRlZmF1bHQ7Ci0KLSAgICBzdGF0aWMgdm9pZCBk
ZWNvZGVDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgdWludDMyX3QgdGltZVN0YW1wLCBDVlBpeGVs
QnVmZmVyUmVmLCB1aW50MzJfdCB0aW1lU3RhbXBSVFApOwotCi1wcml2YXRlOgotICAgIGludDMy
X3QgSW5pdERlY29kZShjb25zdCBWaWRlb0NvZGVjKiwgaW50MzJfdCBudW1iZXJfb2ZfY29yZXMp
IGZpbmFsOwotICAgIGludDMyX3QgRGVjb2RlKGNvbnN0IEVuY29kZWRJbWFnZSYsIGJvb2wgbWlz
c2luZ19mcmFtZXMsIGludDY0X3QgcmVuZGVyX3RpbWVfbXMpIGZpbmFsOwotICAgIGludDMyX3Qg
UmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNrKERlY29kZWRJbWFnZUNhbGxiYWNrKikgZmlu
YWw7Ci0gICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWw7Ci0gICAgY29uc3QgY2hhciogSW1wbGVt
ZW50YXRpb25OYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlbW90ZVZpZGVvVG9vbEJveCI7
IH0KLQotICAgIFdlYktpdFZpZGVvRGVjb2RlciBtX2ludGVybmFsRGVjb2RlcjsKLX07CiAKIHVz
aW5nIExvY2FsRGVjb2RlciA9IHZvaWQqOwogdXNpbmcgTG9jYWxEZWNvZGVyQ2FsbGJhY2sgPSB2
b2lkICheKShDVlBpeGVsQnVmZmVyUmVmLCB1aW50MzJfdCB0aW1lU3RhbXAsIHVpbnQzMl90IHRp
bWVTdGFtcE5zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5tbQppbmRl
eCAyODdlMTk2ZjAxYjhkNTBhZDMwMGNhNjU2NGE4ZDRjZDBhMTEyNWY0Li5kMTQ4ZTliZDJkN2E3
Y2ViNzBkNGI4MTFiNjM0ZDRhOTZmNGI2MGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdERlY29kZXIubW0KKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9X
ZWJLaXREZWNvZGVyLm1tCkBAIC0yOSw2ICsyOSwxMCBAQAogI2ltcG9ydCAiRnJhbWV3b3JrL0hl
YWRlcnMvV2ViUlRDL1JUQ1ZpZGVvRnJhbWVCdWZmZXIuaCIKICNpbXBvcnQgIkZyYW1ld29yay9O
YXRpdmUvYXBpL3ZpZGVvX2RlY29kZXJfZmFjdG9yeS5oIgogI2ltcG9ydCAiV2ViS2l0VXRpbGl0
aWVzLmgiCisjaW1wb3J0ICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXIuaCIKKyNpbXBv
cnQgImFwaS92aWRlb19jb2RlY3MvdmlkZW9fZGVjb2Rlcl9mYWN0b3J5LmgiCisjaW1wb3J0ICJt
b2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvaDI2NC9pbmNsdWRlL2gyNjQuaCIKKyNpbXBvcnQg
Im1vZHVsZXMvdmlkZW9fY29kaW5nL2luY2x1ZGUvdmlkZW9fZXJyb3JfY29kZXMuaCIKICNpbXBv
cnQgInNkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlkZW9EZWNvZGVySDI2NC5o
IgogI2ltcG9ydCAic2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0RlY29k
ZXJIMjY1LmgiCiAKQEAgLTgzLDYgKzg3LDMzIEBACiAKIG5hbWVzcGFjZSB3ZWJydGMgewogCitj
bGFzcyBSZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5IGZpbmFsIDogcHVibGljIFZpZGVvRGVjb2Rl
ckZhY3RvcnkgeworcHVibGljOgorICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvRGVjb2RlckZhY3Rv
cnkoc3RkOjp1bmlxdWVfcHRyPFZpZGVvRGVjb2RlckZhY3Rvcnk+JiYpOworICAgIH5SZW1vdGVW
aWRlb0RlY29kZXJGYWN0b3J5KCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIHN0ZDo6dmVj
dG9yPFNkcFZpZGVvRm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkgY29uc3QgZmluYWw7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRGVjb2Rlcj4gQ3JlYXRlVmlkZW9EZWNvZGVyKGNvbnN0
IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFZp
ZGVvRGVjb2RlckZhY3Rvcnk+IG1faW50ZXJuYWxGYWN0b3J5OworfTsKKworY2xhc3MgUmVtb3Rl
VmlkZW9EZWNvZGVyIGZpbmFsIDogcHVibGljIHdlYnJ0Yzo6VmlkZW9EZWNvZGVyIHsKK3B1Ymxp
YzoKKyAgICBleHBsaWNpdCBSZW1vdGVWaWRlb0RlY29kZXIoV2ViS2l0VmlkZW9EZWNvZGVyKTsK
KyAgICB+UmVtb3RlVmlkZW9EZWNvZGVyKCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIGlu
dDMyX3QgSW5pdERlY29kZShjb25zdCBWaWRlb0NvZGVjKiwgaW50MzJfdCBudW1iZXJfb2ZfY29y
ZXMpIGZpbmFsOworICAgIGludDMyX3QgRGVjb2RlKGNvbnN0IEVuY29kZWRJbWFnZSYsIGJvb2wg
bWlzc2luZ19mcmFtZXMsIGludDY0X3QgcmVuZGVyX3RpbWVfbXMpIGZpbmFsOworICAgIGludDMy
X3QgUmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNrKERlY29kZWRJbWFnZUNhbGxiYWNrKikg
ZmluYWw7CisgICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWw7CisgICAgY29uc3QgY2hhciogSW1w
bGVtZW50YXRpb25OYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlbW90ZVZpZGVvVG9vbEJv
eCI7IH0KKworICAgIFdlYktpdFZpZGVvRGVjb2RlciBtX2ludGVybmFsRGVjb2RlcjsKK307CisK
IHN0cnVjdCBWaWRlb0RlY29kZXJDYWxsYmFja3MgewogICAgIFZpZGVvRGVjb2RlckNyZWF0ZUNh
bGxiYWNrIGNyZWF0ZUNhbGxiYWNrOwogICAgIFZpZGVvRGVjb2RlclJlbGVhc2VDYWxsYmFjayBy
ZWxlYXNlQ2FsbGJhY2s7CkBAIC0xMDksNyArMTQwLDcgQEAgUmVtb3RlVmlkZW9EZWNvZGVyOjpS
ZW1vdGVWaWRlb0RlY29kZXIoV2ViS2l0VmlkZW9EZWNvZGVyIGludGVybmFsRGVjb2RlcikKIHsK
IH0KIAotdm9pZCBSZW1vdGVWaWRlb0RlY29kZXI6OmRlY29kZUNvbXBsZXRlKHZvaWQqIGNhbGxi
YWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIsIHVp
bnQzMl90IHRpbWVTdGFtcFJUUCkKK3ZvaWQgdmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKHZvaWQq
IGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZm
ZXIsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCkKIHsKICAgICBhdXRvIHZpZGVvRnJhbWUgPSBWaWRl
b0ZyYW1lOjpCdWlsZGVyKCkuc2V0X3ZpZGVvX2ZyYW1lX2J1ZmZlcihwaXhlbEJ1ZmZlclRvRnJh
bWUocGl4ZWxCdWZmZXIpKQogICAgICAgICAuc2V0X3RpbWVzdGFtcF9ydHAodGltZVN0YW1wUlRQ
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaAppbmRleCBkYjZlNmU2MWRj
ODY2YjM2YThhZWEzNDAwYTJiZjExOTU2YjM2ZGMxLi5iYTI2NjEwNzUxOTEwYjEzMjEzMWZmZTY3
Y2FhOTIxMWVjOTUyN2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIu
aApAQCAtMjUsMTAgKzI1LDEyIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiV2ViS2l0
VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92aWRlb19lbmNvZGVyLmgi
CiAjaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92aWRlb19lbmNvZGVyX2ZhY3RvcnkuaCIKICNp
bmNsdWRlICJhcGkvdmlkZW8vZW5jb2RlZF9pbWFnZS5oIgogI2luY2x1ZGUgIm1vZHVsZXMvaW5j
bHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzLmgiCisjaW5jbHVkZSAibW9kdWxlcy92aWRlb19jb2Rp
bmcvaW5jbHVkZS92aWRlb19lcnJvcl9jb2Rlcy5oIgogCiB1c2luZyBDVlBpeGVsQnVmZmVyUmVm
ID0gc3RydWN0IF9fQ1ZCdWZmZXIqOwogCkBAIC00MCwyMiArNDIsNyBAQCBjbGFzcyBWaWRlb0Zy
YW1lOwogc3RydWN0IFNkcFZpZGVvRm9ybWF0OwogY2xhc3MgU2V0dGluZ3M7CiAKLWNsYXNzIFZp
ZGVvRW5jb2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0IGZpbmFsIDogcHVibGljIFZpZGVvRW5jb2Rl
ckZhY3RvcnkgewotcHVibGljOgotICAgIGV4cGxpY2l0IFZpZGVvRW5jb2RlckZhY3RvcnlXaXRo
U2ltdWxjYXN0KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXJGYWN0b3J5PiYmIGZhY3Rvcnkp
Ci0gICAgICAgIDogbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5KHN0ZDo6bW92ZShmYWN0b3J5KSkK
LSAgICB7Ci0gICAgfQotCi0gICAgVmlkZW9FbmNvZGVyRmFjdG9yeTo6Q29kZWNJbmZvIFF1ZXJ5
VmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeS0+UXVlcnlWaWRlb0VuY29kZXIoZm9ybWF0
KTsgfQotCi0gICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2Rlcj4gQ3JlYXRlVmlkZW9FbmNv
ZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOwotIAotICAgIHN0ZDo6dmVj
dG9yPFNkcFZpZGVvRm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5LT5HZXRTdXBwb3J0ZWRGb3JtYXRzKCk7IH0K
LQotcHJpdmF0ZToKLSAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8VmlkZW9FbmNvZGVyRmFjdG9y
eT4gbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5OwotfTsKK3N0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6
OlZpZGVvRW5jb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5KFdlYktpdEgy
NjUsIFdlYktpdFZQOSwgV2ViS2l0SDI2NExvd0xhdGVuY3kpOwogCiB1c2luZyBXZWJLaXRWaWRl
b0VuY29kZXIgPSB2b2lkKjsKIHVzaW5nIFZpZGVvRW5jb2RlckNyZWF0ZUNhbGxiYWNrID0gV2Vi
S2l0VmlkZW9FbmNvZGVyKCopKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpOwpAQCAtMTI0
LDYgKzExMSw3IEBAIHZvaWQgcmVsZWFzZUxvY2FsRW5jb2RlcihMb2NhbEVuY29kZXIpOwogdm9p
ZCBpbml0aWFsaXplTG9jYWxFbmNvZGVyKExvY2FsRW5jb2RlciwgdWludDE2X3Qgd2lkdGgsIHVp
bnQxNl90IGhlaWdodCwgdW5zaWduZWQgaW50IHN0YXJ0Qml0cmF0ZSwgdW5zaWduZWQgaW50IG1h
eEJpdHJhdGUsIHVuc2lnbmVkIGludCBtaW5CaXRyYXRlLCB1aW50MzJfdCBtYXhGcmFtZXJhdGUp
Owogdm9pZCBlbmNvZGVMb2NhbEVuY29kZXJGcmFtZShMb2NhbEVuY29kZXIsIENWUGl4ZWxCdWZm
ZXJSZWYsIGludDY0X3QgdGltZVN0YW1wLCB3ZWJydGM6OlZpZGVvUm90YXRpb24sIGJvb2wgaXNL
ZXlmcmFtZVJlcXVpcmVkKTsKIHZvaWQgc2V0TG9jYWxFbmNvZGVyUmF0ZXMoTG9jYWxFbmNvZGVy
LCB1aW50MzJfdCBiaXRSYXRlLCB1aW50MzJfdCBmcmFtZVJhdGUpOwordm9pZCBzZXRMb2NhbEVu
Y29kZXJMb3dMYXRlbmN5KExvY2FsRW5jb2RlciwgYm9vbCBpc0xvd0xhdGVuY3lFbmFibGVkKTsK
IAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KIGJvb2wgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbzo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYktpdEVuY29kZWRGcmFtZUluZm8mIGluZm8pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsv
V2ViS2l0L1dlYktpdEVuY29kZXIubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0KaW5kZXggZDZmY2M1MDBmYWIz
NWRlYmM4ZjA5ODNiYzgzMDU5M2Y0NjkzNGE2Mi4uNWFjYWJjMjMyM2IxNzg3NTE2MjIzNzBhNDJi
MzVlY2FjMjE5YWE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5t
bQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIldlYktpdFV0aWxpdGllcy5oIgogI2luY2x1
ZGUgImFwaS92aWRlby92aWRlb19mcmFtZS5oIgogI2luY2x1ZGUgImNvbXBvbmVudHMvdmlkZW9f
Y29kZWMvUlRDQ29kZWNTcGVjaWZpY0luZm9IMjY0K1ByaXZhdGUuaCIKKyNpbmNsdWRlICJtZWRp
YS9lbmdpbmUvZW5jb2Rlcl9zaW11bGNhc3RfcHJveHkuaCIKICNpbmNsdWRlICJtb2R1bGVzL3Zp
ZGVvX2NvZGluZy91dGlsaXR5L3NpbXVsY2FzdF91dGlsaXR5LmgiCiAjaW5jbHVkZSAic2RrL29i
amMvYXBpL3BlZXJjb25uZWN0aW9uL1JUQ0VuY29kZWRJbWFnZStQcml2YXRlLmgiCiAjaW5jbHVk
ZSAic2RrL29iamMvYXBpL3BlZXJjb25uZWN0aW9uL1JUQ1J0cEZyYWdtZW50YXRpb25IZWFkZXIr
UHJpdmF0ZS5oIgpAQCAtNDYsNiArNDcsNyBAQAogLSAoTlNJbnRlZ2VyKXN0YXJ0RW5jb2RlV2l0
aFNldHRpbmdzOihSVENWaWRlb0VuY29kZXJTZXR0aW5ncyAqKXNldHRpbmdzIG51bWJlck9mQ29y
ZXM6KGludCludW1iZXJPZkNvcmVzOwogLSAoTlNJbnRlZ2VyKWVuY29kZTooUlRDVmlkZW9GcmFt
ZSAqKWZyYW1lIGNvZGVjU3BlY2lmaWNJbmZvOihudWxsYWJsZSBpZDxSVENDb2RlY1NwZWNpZmlj
SW5mbz4paW5mbyBmcmFtZVR5cGVzOihOU0FycmF5PE5TTnVtYmVyICo+ICopZnJhbWVUeXBlczsK
IC0gKGludClzZXRCaXRyYXRlOih1aW50MzJfdCliaXRyYXRlS2JpdCBmcmFtZXJhdGU6KHVpbnQz
Ml90KWZyYW1lcmF0ZTsKKy0gKHZvaWQpc2V0TG93TGF0ZW5jeTooYm9vbClpc0xvd0xhdGVuY3lF
bmFibGVkOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tfUlRDTG9jYWxWaWRlb0gyNjRIMjY1
RW5jb2RlciB7CkBAIC05MiwxMCArOTQsMzAgQEAKICAgICAgICAgcmV0dXJuIFttX2gyNjRFbmNv
ZGVyIHNldEJpdHJhdGU6Yml0cmF0ZUtiaXQgZnJhbWVyYXRlOmZyYW1lcmF0ZV07CiAgICAgcmV0
dXJuIFttX2gyNjVFbmNvZGVyIHNldEJpdHJhdGU6Yml0cmF0ZUtiaXQgZnJhbWVyYXRlOmZyYW1l
cmF0ZV07CiB9CistICh2b2lkKXNldExvd0xhdGVuY3k6KGJvb2wpaXNMb3dMYXRlbmN5RW5hYmxl
ZCB7CisgICAgaWYgKG1faDI2NEVuY29kZXIpCisgICAgICAgIHJldHVybiBbbV9oMjY0RW5jb2Rl
ciBzZXRIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOmlzTG93TGF0ZW5jeUVuYWJsZWRdOwor
fQogQGVuZAorCiBuYW1lc3BhY2Ugd2VicnRjIHsKIAotc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6
VmlkZW9FbmNvZGVyRmFjdG9yeT4gY3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoV2ViS2l0SDI2
NSBzdXBwb3J0c0gyNjUsIFdlYktpdFZQOSBzdXBwb3J0c1ZQOSkKK2NsYXNzIFZpZGVvRW5jb2Rl
ckZhY3RvcnlXaXRoU2ltdWxjYXN0IGZpbmFsIDogcHVibGljIFZpZGVvRW5jb2RlckZhY3Rvcnkg
eworcHVibGljOgorICAgIGV4cGxpY2l0IFZpZGVvRW5jb2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0
KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXJGYWN0b3J5PiYmIGZhY3RvcnkpCisgICAgICAg
IDogbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5KHN0ZDo6bW92ZShmYWN0b3J5KSkKKyAgICB7Cisg
ICAgfQorCisgICAgVmlkZW9FbmNvZGVyRmFjdG9yeTo6Q29kZWNJbmZvIFF1ZXJ5VmlkZW9FbmNv
ZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
aW50ZXJuYWxFbmNvZGVyRmFjdG9yeS0+UXVlcnlWaWRlb0VuY29kZXIoZm9ybWF0KTsgfQorICAg
IHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXI+IENyZWF0ZVZpZGVvRW5jb2Rlcihjb25zdCBT
ZHBWaWRlb0Zvcm1hdCYgZm9ybWF0KSBmaW5hbDsKKyAgICBzdGQ6OnZlY3RvcjxTZHBWaWRlb0Zv
cm1hdD4gR2V0U3VwcG9ydGVkRm9ybWF0cygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faW50ZXJu
YWxFbmNvZGVyRmFjdG9yeS0+R2V0U3VwcG9ydGVkRm9ybWF0cygpOyB9CisKK3ByaXZhdGU6Cisg
ICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2RlckZhY3Rvcnk+IG1faW50ZXJuYWxF
bmNvZGVyRmFjdG9yeTsKK307CisKK3N0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRW5jb2Rl
ckZhY3Rvcnk+IGNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5KFdlYktpdEgyNjUgc3VwcG9ydHNI
MjY1LCBXZWJLaXRWUDkgc3VwcG9ydHNWUDksIFdlYktpdEgyNjRMb3dMYXRlbmN5IHVzZUgyNjRM
b3dMYXRlbmN5KQogewogI2lmIEVOQUJMRV9WQ1BfRU5DT0RFUiB8fCBFTkFCTEVfVkNQX1ZUQl9F
TkNPREVSCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwpAQCAtMTA0LDcgKzEy
Niw3IEBAIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRW5jb2RlckZhY3Rvcnk+IGNyZWF0
ZVdlYktpdEVuY29kZXJGYWN0b3J5KFdlYktpdEgyCiAgICAgfSk7CiAjZW5kaWYKIAotICAgIGF1
dG8gaW50ZXJuYWxGYWN0b3J5ID0gT2JqQ1RvTmF0aXZlVmlkZW9FbmNvZGVyRmFjdG9yeShbW1JU
Q0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5IGFsbG9jXSBpbml0V2l0aEgyNjU6IHN1cHBvcnRz
SDI2NSA9PSBXZWJLaXRIMjY1OjpPbiB2cDk6c3VwcG9ydHNWUDkgPT0gV2ViS2l0VlA5OjpPbl0p
OworICAgIGF1dG8gaW50ZXJuYWxGYWN0b3J5ID0gT2JqQ1RvTmF0aXZlVmlkZW9FbmNvZGVyRmFj
dG9yeShbW1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5IGFsbG9jXSBpbml0V2l0aEgyNjU6
IHN1cHBvcnRzSDI2NSA9PSBXZWJLaXRIMjY1OjpPbiB2cDk6c3VwcG9ydHNWUDkgPT0gV2ViS2l0
VlA5OjpPbiBsb3dMYXRlbmN5SDI2NDp1c2VIMjY0TG93TGF0ZW5jeSA9PSBXZWJLaXRIMjY0TG93
TGF0ZW5jeTo6T25dKTsKICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxWaWRlb0VuY29kZXJG
YWN0b3J5V2l0aFNpbXVsY2FzdD4oc3RkOjptb3ZlKGludGVybmFsRmFjdG9yeSkpOwogfQogCkBA
IC0xMTksMTcgKzE0MSw2IEBAIGJvb2wgaXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpCiAg
ICAgcmV0dXJuIGgyNjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkOwogfQogCi1zdGF0aWMgYm9vbCBo
MjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkID0gZmFsc2U7Ci12b2lkIHNldEgyNjRMb3dMYXRl
bmN5RW5jb2RlckVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIGgyNjRMb3dMYXRlbmN5RW5j
b2RlckVuYWJsZWQgPSBlbmFibGVkOwotfQotCi1ib29sIGlzSDI2NExvd0xhdGVuY3lFbmNvZGVy
RW5hYmxlZCgpCi17Ci0gICAgcmV0dXJuIGgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ7Ci19
Ci0KIHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXI+IFZpZGVvRW5jb2RlckZhY3RvcnlXaXRo
U2ltdWxjYXN0OjpDcmVhdGVWaWRlb0VuY29kZXIoY29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1h
dCkKIHsKICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxFbmNvZGVyU2ltdWxjYXN0UHJveHk+
KG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeS5nZXQoKSwgZm9ybWF0KTsKQEAgLTMwNSw0ICszMTYs
MTAgQEAgdm9pZCBzZXRMb2NhbEVuY29kZXJSYXRlcyhMb2NhbEVuY29kZXIgbG9jYWxFbmNvZGVy
LCB1aW50MzJfdCBiaXRSYXRlLCB1aW50MzJfdAogICAgIFtlbmNvZGVyIHNldEJpdHJhdGU6Yml0
UmF0ZSBmcmFtZXJhdGU6ZnJhbWVSYXRlXTsKIH0KIAordm9pZCBzZXRMb2NhbEVuY29kZXJMb3dM
YXRlbmN5KExvY2FsRW5jb2RlciBsb2NhbEVuY29kZXIsIGJvb2wgaXNMb3dMYXRlbmN5RW5hYmxl
ZCkKK3sKKyAgICBhdXRvICplbmNvZGVyID0gKF9fYnJpZGdlIFdLX1JUQ0xvY2FsVmlkZW9IMjY0
SDI2NUVuY29kZXIgKikobG9jYWxFbmNvZGVyKTsKKyAgICBbZW5jb2RlciBzZXRMb3dMYXRlbmN5
OmlzTG93TGF0ZW5jeUVuYWJsZWRdOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5o
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9X
ZWJLaXRVdGlsaXRpZXMuaAppbmRleCBkN2QyYmQwZTgyZTIwYWJkYzVmZmVhZmU0MDI0NGIwNDYw
MmIxMTU0Li40ZmViMmM5ZThlYTEzOTMxNjIwZDExZWNiNzVlODhlYWQ1NTQ1Nzg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0VXRpbGl0aWVzLmgKQEAgLTI3LDM0ICsyNywyNCBA
QAogCiAjaW5jbHVkZSAiYXBpL3ZpZGVvL3ZpZGVvX2ZyYW1lX2J1ZmZlci5oIgogI2luY2x1ZGUg
ImFwaS9zY29wZWRfcmVmcHRyLmgiCi0jaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92aWRlb19k
ZWNvZGVyX2ZhY3RvcnkuaCIKLSNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2VuY29k
ZXJfZmFjdG9yeS5oIgotI2luY2x1ZGUgIm1lZGlhL2VuZ2luZS9lbmNvZGVyX3NpbXVsY2FzdF9w
cm94eS5oIgorI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKIHVzaW5nIENWUGl4ZWxCdWZmZXJSZWYg
PSBzdHJ1Y3QgX19DVkJ1ZmZlcio7Ci11c2luZyBDVlBpeGVsQnVmZmVyUG9vbFJlZiA9IHN0cnVj
dCBfX0NWUGl4ZWxCdWZmZXJQb29sKjsKIAogbmFtZXNwYWNlIHdlYnJ0YyB7CiAKLWNsYXNzIFZp
ZGVvRGVjb2RlckZhY3Rvcnk7Ci1jbGFzcyBWaWRlb0VuY29kZXJGYWN0b3J5OwogY2xhc3MgVmlk
ZW9GcmFtZTsKIAogZW51bSBjbGFzcyBXZWJLaXRIMjY1IHsgT2ZmLCBPbiB9OwogZW51bSBjbGFz
cyBXZWJLaXRWUDkgeyBPZmYsIE9uIH07CiBlbnVtIGNsYXNzIFdlYktpdFZQOVZUQiB7IE9mZiwg
T24gfTsKLQotc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNvZGVyRmFjdG9yeT4gY3Jl
YXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoV2ViS2l0SDI2NSwgV2ViS2l0VlA5KTsKLXN0ZDo6dW5p
cXVlX3B0cjx3ZWJydGM6OlZpZGVvRGVjb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdERlY29kZXJG
YWN0b3J5KFdlYktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0VlA5VlRCKTsKK2VudW0gY2xhc3Mg
V2ViS2l0SDI2NExvd0xhdGVuY3kgeyBPZmYsIE9uIH07CiAKIHZvaWQgc2V0QXBwbGljYXRpb25T
dGF0dXMoYm9vbCBpc0FjdGl2ZSk7CiAKIHZvaWQgc2V0SDI2NEhhcmR3YXJlRW5jb2RlckFsbG93
ZWQoYm9vbCk7CiBib29sIGlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKTsKIAotdm9pZCBz
ZXRIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkKGJvb2wpOwotYm9vbCBpc0gyNjRMb3dMYXRl
bmN5RW5jb2RlckVuYWJsZWQoKTsKLQogZW51bSBjbGFzcyBCdWZmZXJUeXBlIHsgSTQyMCwgSTAx
MCB9OwogQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlckZyb21GcmFtZShjb25zdCBWaWRlb0Zy
YW1lJiwgY29uc3Qgc3RkOjpmdW5jdGlvbjxDVlBpeGVsQnVmZmVyUmVmKHNpemVfdCwgc2l6ZV90
LCBCdWZmZXJUeXBlKT4mKTsKIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVC
dWZmZXI+IHBpeGVsQnVmZmVyVG9GcmFtZShDVlBpeGVsQnVmZmVyUmVmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2Vi
S2l0VXRpbGl0aWVzLm1tIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJy
dGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMubW0KaW5kZXggOGRkYzZhM2Q4YmVhYmMwZWRj
ZjNhODYyODE5NmIxYmMyMmM1NDVjZi4uMWI2NDQ0OWVkNGIyZGQ3MmUyM2QxNmIyZTUyNWZjM2Vl
OTViOGEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93
ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMubW0KKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMubW0K
QEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgIldlYktpdFV0aWxpdGllcy5oIgogCisjaW5j
bHVkZSAiYXBpL3ZpZGVvL3ZpZGVvX2ZyYW1lLmgiCiAjaW5jbHVkZSAibmF0aXZlL3NyYy9vYmpj
X2ZyYW1lX2J1ZmZlci5oIgogI2luY2x1ZGUgInJ0Y19iYXNlL2xvZ2dpbmcuaCIKICNpbmNsdWRl
ICJ0aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvY29udmVydF9mcm9tLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2Jq
Yy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5Lmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21w
b25lbnRzL3ZpZGVvX2NvZGVjL1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5LmgKaW5kZXgg
ZDc2MDA1NGZlNjE4OTU0MGJiZDI3YjJlZDExNzUxZjJjMDVlYjJiMy4uMGNhOTIzNGQ3ODQ3OWEy
M2Q2Njg5ZjQ4N2EzY2M0ZmFlNjU4OGI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9S
VENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRD
RGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkuaApAQCAtMjIsNyArMjIsNyBAQCBSVENfT0JKQ19F
WFBPUlQKIF9fYXR0cmlidXRlX18oKG9iamNfcnVudGltZV9uYW1lKCJXS19SVENEZWZhdWx0Vmlk
ZW9FbmNvZGVyRmFjdG9yeSIpKSkKIEBpbnRlcmZhY2UgUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZh
Y3RvcnkgOiBOU09iamVjdCA8UlRDVmlkZW9FbmNvZGVyRmFjdG9yeT4KIAotLSAoaWQpaW5pdFdp
dGhIMjY1Oihib29sKXN1cHBvcnRIMjY1IHZwOTooYm9vbClzdXBwb3J0c1ZQOTsKKy0gKGlkKWlu
aXRXaXRoSDI2NTooYm9vbClzdXBwb3J0SDI2NSB2cDk6KGJvb2wpc3VwcG9ydHNWUDkgbG93TGF0
ZW5jeUgyNjQ6KGJvb2wpdXNlTG93TGF0ZW5jeUgyNjQ7CiArIChOU0FycmF5PFJUQ1ZpZGVvQ29k
ZWNJbmZvICo+ICopc3VwcG9ydGVkQ29kZWNzOwogKyAoTlNBcnJheTxSVENWaWRlb0NvZGVjSW5m
byAqPiAqKXN1cHBvcnRlZENvZGVjc1dpdGhIMjY1Oihib29sKXN1cHBvcnRzSDI2NSB2cDk6KGJv
b2wpc3VwcG9ydHNWUDk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDRGVmYXVs
dFZpZGVvRW5jb2RlckZhY3RvcnkubSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVv
RW5jb2RlckZhY3RvcnkubQppbmRleCBhZWUyZGZmZGEwZDgwYzMzMWY0MTc3ZGUxNDk0ZGQ4MjA5
MTk2MzM1Li5mMDE0NDcwNDUwNTM0OTAzODUyOWNiZmIxODE3NmRhNDJjNWJlOGMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9j
b21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5Lm0KKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29t
cG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5tCkBAIC0y
NiwxNCArMjYsMTYgQEAKIEBpbXBsZW1lbnRhdGlvbiBSVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFj
dG9yeSB7CiAgIGJvb2wgX3N1cHBvcnRzSDI2NTsKICAgYm9vbCBfc3VwcG9ydHNWUDk7CisgIGJv
b2wgX3VzZUxvd0xhdGVuY3lIMjY0OwogfQogCi0tIChpZClpbml0V2l0aEgyNjU6KGJvb2wpc3Vw
cG9ydHNIMjY1IHZwOTooYm9vbClzdXBwb3J0c1ZQOQorLSAoaWQpaW5pdFdpdGhIMjY1Oihib29s
KXN1cHBvcnRzSDI2NSB2cDk6KGJvb2wpc3VwcG9ydHNWUDkgbG93TGF0ZW5jeUgyNjQ6KGJvb2wp
dXNlTG93TGF0ZW5jeUgyNjQKIHsKICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAgaWYgKHNlbGYp
IHsKICAgICAgIF9zdXBwb3J0c0gyNjUgPSBzdXBwb3J0c0gyNjU7CiAgICAgICBfc3VwcG9ydHNW
UDkgPSBzdXBwb3J0c1ZQOTsKKyAgICAgIF91c2VMb3dMYXRlbmN5SDI2NCA9IHVzZUxvd0xhdGVu
Y3lIMjY0OwogICB9CiAgIHJldHVybiBzZWxmOwogfQpAQCAtOTIsNyArOTQsOSBAQCAtIChpZClp
bml0V2l0aEgyNjU6KGJvb2wpc3VwcG9ydHNIMjY1IHZwOTooYm9vbClzdXBwb3J0c1ZQOQogCiAt
IChpZDxSVENWaWRlb0VuY29kZXI+KWNyZWF0ZUVuY29kZXI6KFJUQ1ZpZGVvQ29kZWNJbmZvICop
aW5mbyB7CiAgIGlmIChbaW5mby5uYW1lIGlzRXF1YWxUb1N0cmluZzprUlRDVmlkZW9Db2RlY0gy
NjROYW1lXSkgewotICAgIHJldHVybiBbW1JUQ1ZpZGVvRW5jb2RlckgyNjQgYWxsb2NdIGluaXRX
aXRoQ29kZWNJbmZvOmluZm9dOworICAgIFJUQ1ZpZGVvRW5jb2RlckgyNjQqIGVuY29kZXIgPSBb
W1JUQ1ZpZGVvRW5jb2RlckgyNjQgYWxsb2NdIGluaXRXaXRoQ29kZWNJbmZvOmluZm9dOworICAg
IFtlbmNvZGVyIHNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ6X3VzZUxvd0xhdGVuY3lI
MjY0XTsKKyAgICByZXR1cm4gZW5jb2RlcjsKICAgfSBlbHNlIGlmIChbaW5mby5uYW1lIGlzRXF1
YWxUb1N0cmluZzprUlRDVmlkZW9Db2RlY1ZwOE5hbWVdKSB7CiAgICAgcmV0dXJuIFtSVENWaWRl
b0VuY29kZXJWUDggdnA4RW5jb2Rlcl07CiAjaWYgZGVmaW5lZChSVENfRU5BQkxFX1ZQOSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9v
YmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlkZW9FbmNvZGVySDI2NC5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92
aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0LmgKaW5kZXggNzcxNGIyNWVhYTQ2OGMzYjgy
M2Y4ZmU3ZjM5MjYyYmQ0MWVjNGVmMy4uZWU3ODZjMDNhYTdiMGU2MmFmNGIwNmQxNmJjZGNjOGNi
ZTVhNTRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93
ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29i
amMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0LmgKQEAgLTE5LDUg
KzE5LDUgQEAgX19hdHRyaWJ1dGVfXygob2JqY19ydW50aW1lX25hbWUoIldLX1JUQ1ZpZGVvRW5j
b2RlckgyNjQiKSkpCiBAaW50ZXJmYWNlIFJUQ1ZpZGVvRW5jb2RlckgyNjQgOiBOU09iamVjdCA8
UlRDVmlkZW9FbmNvZGVyPgogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhDb2RlY0luZm86KFJU
Q1ZpZGVvQ29kZWNJbmZvICopY29kZWNJbmZvOwotCistICh2b2lkKXNldEgyNjRMb3dMYXRlbmN5
RW5jb2RlckVuYWJsZWQ6KGJvb2wpZW5hYmxlZDsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlk
ZW9fY29kZWMvUlRDVmlkZW9FbmNvZGVySDI2NC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlk
ZW9FbmNvZGVySDI2NC5tbQppbmRleCA0MDY4ZWU0ZjI2NGEwZjc5M2RlMjMyZmEzZGE0NTRmNDUy
NmYwNGE1Li41N2JlZGI3ZjI5YmRlMWRhNWU4N2ZhYTgxMmNhNjVjNGM1MDEzNDUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9j
b21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92
aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0Lm1tCkBAIC0zNDgsNiArMzQ4LDcgQEAgTlNV
SW50ZWdlciBHZXRNYXhTYW1wbGVSYXRlKGNvbnN0IHdlYnJ0Yzo6SDI2NDo6UHJvZmlsZUxldmVs
SWQgJnByb2ZpbGVfbGV2ZWxfaWQKICAgc3RkOjp2ZWN0b3I8dWludDhfdD4gX2ZyYW1lU2NhbGVC
dWZmZXI7CiAgIGJvb2wgX2Rpc2FibGVFbmNvZGluZzsKICAgYm9vbCBfaXNLZXlGcmFtZVJlcXVp
cmVkOworICBib29sIF9pc0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ7CiB9CiAKIC8vIC41
IGlzIHNldCBhcyBhIG1pbmludW0gdG8gcHJldmVudCBvdmVyY29tcGVuc2F0aW5nIGZvciBsYXJn
ZSB0ZW1wb3JhcnkKQEAgLTM3NSwxMCArMzc2LDE2IEBAIE5TVUludGVnZXIgR2V0TWF4U2FtcGxl
UmF0ZShjb25zdCB3ZWJydGM6OkgyNjQ6OlByb2ZpbGVMZXZlbElkICZwcm9maWxlX2xldmVsX2lk
CiAgICAgUlRDX0NIRUNLKFtjb2RlY0luZm8ubmFtZSBpc0VxdWFsVG9TdHJpbmc6a1JUQ1ZpZGVv
Q29kZWNIMjY0TmFtZV0pOwogICB9CiAgIF9pc0tleUZyYW1lUmVxdWlyZWQgPSBmYWxzZTsKKyAg
X2lzSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCA9IHRydWU7CiAKICAgcmV0dXJuIHNlbGY7
CiB9CiAKKy0gKHZvaWQpc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDooYm9vbCllbmFi
bGVkCit7CisgICAgX2lzSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCA9IGVuYWJsZWQ7Cit9
CisKIC0gKHZvaWQpZGVhbGxvYyB7CiAgIFtzZWxmIGRlc3Ryb3lDb21wcmVzc2lvblNlc3Npb25d
OwogfQpAQCAtNjk2LDcgKzcwMyw3IEBAIE5TVUludGVnZXIgR2V0TWF4U2FtcGxlUmF0ZShjb25z
dCB3ZWJydGM6OkgyNjQ6OlByb2ZpbGVMZXZlbElkICZwcm9maWxlX2xldmVsX2lkCiAjZW5kaWYK
ICAgfQogI2VsaWYgSEFWRV9WVEJfUkVRVUlSRURMT1dMQVRFTkNZCi0gIGlmICh3ZWJydGM6Omlz
SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCgpICYmIF91c2VWQ1ApCisgIGlmIChfaXNIMjY0
TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkICYmIF91c2VWQ1ApCiAgICAgQ0ZEaWN0aW9uYXJ5U2V0
VmFsdWUoZW5jb2RlclNwZWNzLCBrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX1JlcXVpcmVk
TG93TGF0ZW5jeSwga0NGQm9vbGVhblRydWUpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRl
ckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENQcm92aWRlckNvY29hLmNwcAppbmRleCBjYjExZjgxZmQzZjExZWFmODE4OTE5
NmIxNDg3YWVkMDdjNmU1OWNhLi5lOWMxMDg5ODNjNGZlN2EwMjE5Mzc4ZGM4NzZiYTJiMjU0Mzhl
ZWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuY3BwCkBA
IC0zMSw3ICszMSw4IEBACiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogCiBB
TExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgotI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdFV0aWxpdGllcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdERl
Y29kZXIuaD4KKyNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmg+CiBB
TExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9X
ZWJLaXRWUDlEZWNvZGVyLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTczLDgg
Kzc0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNvZGVyRmFjdG9yeT4gTGli
V2ViUlRDUHJvdmlkZXJDb2NvYTo6Y3JlYXRlRW5jb2QKICAgICBpZiAoIXdlYlJUQ0F2YWlsYWJs
ZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHdlYnJ0Yzo6c2V0SDI2NExvd0xh
dGVuY3lFbmNvZGVyRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLndlYlJUQ0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQoKSk7Ci0gICAgcmV0dXJuIHdl
YnJ0Yzo6Y3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoaXNTdXBwb3J0aW5nSDI2NSgpID8gd2Vi
cnRjOjpXZWJLaXRIMjY1OjpPbiA6IHdlYnJ0Yzo6V2ViS2l0SDI2NTo6T2ZmLCBpc1N1cHBvcnRp
bmdWUDkoKSA/IHdlYnJ0Yzo6V2ViS2l0VlA5OjpPbiA6IHdlYnJ0Yzo6V2ViS2l0VlA5OjpPZmYp
OworICAgIHJldHVybiB3ZWJydGM6OmNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5KGlzU3VwcG9y
dGluZ0gyNjUoKSA/IHdlYnJ0Yzo6V2ViS2l0SDI2NTo6T24gOiB3ZWJydGM6OldlYktpdEgyNjU6
Ok9mZiwgaXNTdXBwb3J0aW5nVlA5KCkgPyB3ZWJydGM6OldlYktpdFZQOTo6T24gOiB3ZWJydGM6
OldlYktpdFZQOTo6T2ZmLCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LndlYlJUQ0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQoKSA/IHdlYnJ0Yzo6V2ViS2l0SDI2
NExvd0xhdGVuY3k6Ok9uIDogd2VicnRjOjpXZWJLaXRIMjY0TG93TGF0ZW5jeTo6T2ZmKTsKIH0K
IAogdm9pZCBMaWJXZWJSVENQcm92aWRlckNvY29hOjpzZXRBY3RpdmUoYm9vbCB2YWx1ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNz
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNz
UHJveHkuaAppbmRleCA1MjA3MjkzZmRmMDcwMmYzYjlmYWY1ZmY5MmY3ZTQ5ZTAzNzFhNjFmLi42
MTgyMmYxOWRhNDU0NDE1MDczYTgzN2Q2YjQyNGVkMjkyZDZkMzk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5oCkBA
IC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWxlYXNlRGVjb2RlcihSVENEZWNv
ZGVySWRlbnRpZmllcik7CiAgICAgdm9pZCBkZWNvZGVGcmFtZShSVENEZWNvZGVySWRlbnRpZmll
ciwgdWludDMyX3QgdGltZVN0YW1wLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKIAotICAg
IHZvaWQgY3JlYXRlRW5jb2RlcihSVENFbmNvZGVySWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiwg
Y29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+Jik7CisgICAgdm9pZCBjcmVh
dGVFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBjb25zdCBWZWN0
b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mLCBib29sIHVzZUxvd0xhdGVuY3kpOwogICAg
IHZvaWQgcmVsZWFzZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIpOwogICAgIHZvaWQgaW5p
dGlhbGl6ZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIsIHVpbnQxNl90IHdpZHRoLCB1aW50
MTZfdCBoZWlnaHQsIHVuc2lnbmVkIHN0YXJ0Qml0cmF0ZSwgdW5zaWduZWQgbWF4Qml0cmF0ZSwg
dW5zaWduZWQgbWluQml0cmF0ZSwgdWludDMyX3QgbWF4RnJhbWVyYXRlKTsKICAgICB2b2lkIGVu
Y29kZUZyYW1lKFJUQ0VuY29kZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBs
ZSYmLCBib29sIHNob3VsZEVuY29kZUFzS2V5RnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggZjQzYWM1NDc5ZDZjZjM1ZDI1ZmQ4ODk4NmVlYTNmODI1MDJkMDgzZi4u
ZTZjMjljMTMwZTJjNmVjNWNhYjgxYWE1YmI5MWQxN2NiZDYxNDBmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVj
c1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0yOSw3ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IExpYldlYlJU
Q0NvZGVjc1Byb3h5IE5vdFJlZkNvdW50ZWQgewogICAgIFJlbGVhc2VEZWNvZGVyKFdlYktpdDo6
UlRDRGVjb2RlcklkZW50aWZpZXIgaWQpCiAgICAgRGVjb2RlRnJhbWUoV2ViS2l0OjpSVENEZWNv
ZGVySWRlbnRpZmllciBpZCwgdWludDMyX3QgdGltZVN0YW1wLCBJUEM6OkRhdGFSZWZlcmVuY2Ug
ZGF0YSkKIAotICAgIENyZWF0ZUVuY29kZXIoV2ViS2l0OjpSVENFbmNvZGVySWRlbnRpZmllciBp
ZCwgU3RyaW5nIGZvcm1hdE5hbWUsIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiBw
YXJhbWV0ZXJzKTsKKyAgICBDcmVhdGVFbmNvZGVyKFdlYktpdDo6UlRDRW5jb2RlcklkZW50aWZp
ZXIgaWQsIFN0cmluZyBmb3JtYXROYW1lLCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5n
Pj4gcGFyYW1ldGVycywgYm9vbCB1c2VMb3dMYXRlbmN5KTsKICAgICBSZWxlYXNlRW5jb2RlcihX
ZWJLaXQ6OlJUQ0VuY29kZXJJZGVudGlmaWVyIGlkKQogICAgIEluaXRpYWxpemVFbmNvZGVyKFdl
YktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWQsIHVpbnQxNl90IHdpZHRoLCB1aW50MTZfdCBo
ZWlnaHQsIHVuc2lnbmVkIHN0YXJ0Qml0cmF0ZSwgdW5zaWduZWQgbWF4Qml0cmF0ZSwgdW5zaWdu
ZWQgbWluQml0cmF0ZSwgdWludDMyX3QgbWF4RnJhbWVyYXRlKQogICAgIEVuY29kZUZyYW1lKFdl
YktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWQsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxl
IHNhbXBsZSwgYm9vbCBzaG91bGRFbmNvZGVBc0tleUZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbSBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KaW5kZXgg
YTU1MGNlMTY3OTUyMWE3ZTY0ZTFkYjYzOWM4ZWNkZDczZmNkZTMxMi4uZWVmZmQ4MDc4ZTdjOWY5
OWQ0ZWNiZDAyZWY3NTEzYjNlMzc0Njg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCkBAIC0xMDYsMTggKzEw
NiwyMCBAQCB2b2lkIExpYldlYlJUQ0NvZGVjc1Byb3h5OjpkZWNvZGVGcmFtZShSVENEZWNvZGVy
SWRlbnRpZmllciBpZGVudGlmaWVyLCB1aW50MzJfdAogICAgICAgICBtX2dwdUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6
RmFpbGVkRGVjb2RpbmcgeyBpZGVudGlmaWVyIH0sIDApOwogfQogCi12b2lkIExpYldlYlJUQ0Nv
ZGVjc1Byb3h5OjpjcmVhdGVFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgZm9ybWF0TmFtZSwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcs
IFN0cmluZz4+JiBwYXJhbWV0ZXJzKQordm9pZCBMaWJXZWJSVENDb2RlY3NQcm94eTo6Y3JlYXRl
RW5jb2RlcihSVENFbmNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGZv
cm1hdE5hbWUsIGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiYgcGFyYW1l
dGVycywgYm9vbCB1c2VMb3dMYXRlbmN5KQogewogICAgIEFTU0VSVCghbV9lbmNvZGVycy5jb250
YWlucyhpZGVudGlmaWVyKSk7CiAKICAgICBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgc3RkOjpzdHJp
bmc+IHJ0Y1BhcmFtZXRlcnM7CiAgICAgZm9yIChhdXRvJiBwYXJhbWV0ZXIgOiBwYXJhbWV0ZXJz
KQogICAgICAgICBydGNQYXJhbWV0ZXJzLmVtcGxhY2UocGFyYW1ldGVyLmZpcnN0LnV0ZjgoKS5k
YXRhKCksIHBhcmFtZXRlci5zZWNvbmQudXRmOCgpLmRhdGEoKSk7Ci0gICAgCi0gICAgbV9lbmNv
ZGVycy5hZGQoaWRlbnRpZmllciwgd2VicnRjOjpjcmVhdGVMb2NhbEVuY29kZXIod2VicnRjOjpT
ZHBWaWRlb0Zvcm1hdCB7IGZvcm1hdE5hbWUudXRmOCgpLmRhdGEoKSwgcnRjUGFyYW1ldGVycyB9
LCBeKGNvbnN0IHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IHNpemUsIGNvbnN0IHdlYnJ0Yzo6V2Vi
S2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5mbywgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVhZGVy
KiBoZWFkZXIpIHsKKworICAgIGF1dG8qIGVuY29kZXIgPSB3ZWJydGM6OmNyZWF0ZUxvY2FsRW5j
b2Rlcih3ZWJydGM6OlNkcFZpZGVvRm9ybWF0IHsgZm9ybWF0TmFtZS51dGY4KCkuZGF0YSgpLCBy
dGNQYXJhbWV0ZXJzIH0sIF4oY29uc3QgdWludDhfdCogYnVmZmVyLCBzaXplX3Qgc2l6ZSwgY29u
c3Qgd2VicnRjOjpXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZvLCB3ZWJydGM6OlJUUEZyYWdt
ZW50YXRpb25IZWFkZXIqIGhlYWRlcikgewogICAgICAgICAKICAgICAgICAgbV9ncHVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2Rl
Y3M6OkNvbXBsZXRlZEVuY29kaW5nIHsgaWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIHsg
YnVmZmVyLCBzaXplIH0sIGluZm8sIHdlYnJ0Yzo6V2ViS2l0UlRQRnJhZ21lbnRhdGlvbkhlYWRl
ciB7IGhlYWRlciB9IH0sIDApOwotICAgIH0pKTsKKyAgICB9KTsKKyAgICB3ZWJydGM6OnNldExv
Y2FsRW5jb2Rlckxvd0xhdGVuY3koZW5jb2RlciwgdXNlTG93TGF0ZW5jeSk7CisgICAgbV9lbmNv
ZGVycy5hZGQoaWRlbnRpZmllciwgZW5jb2Rlcik7CiB9CiAKIHZvaWQgTGliV2ViUlRDQ29kZWNz
UHJveHk6OnJlbGVhc2VFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVEND
b2RlY3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRD
Q29kZWNzLmNwcAppbmRleCAyOTU0OGExYjdiOTlhNDI1YjMyMWExZWQ2NjkyNGE2MjczMDAwMmEz
Li5lOGZhMjE3NDNhMDZiN2ViNzNjMmYwMzgzY2E1MzgwYzZkOTg4MTUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5j
cHAKQEAgLTM2LDkgKzM2LDkgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaD4KICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNv
ZGVyLmg+CiAjaW5jbHVkZSA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oPgotI2lu
Y2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5oPgogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CiAKICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4K
QEAgLTI1OSw3ICsyNTksNyBAQCB2b2lkIExpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVkRGVjb2Rp
bmcoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVjb2RlcklkZW50aWZpZXIsCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICB3ZWJydGM6OlJlbW90ZVZpZGVvRGVjb2Rlcjo6ZGVjb2RlQ29tcGxl
dGUoZGVjb2Rlci0+ZGVjb2RlZEltYWdlQ2FsbGJhY2ssIHRpbWVTdGFtcCwgcGl4ZWxCdWZmZXIu
Z2V0KCksIHJlbW90ZVNhbXBsZS50aW1lKCkudG9Eb3VibGUoKSk7CisgICAgd2VicnRjOjp2aWRl
b0RlY29kZXJUYXNrQ29tcGxldGUoZGVjb2Rlci0+ZGVjb2RlZEltYWdlQ2FsbGJhY2ssIHRpbWVT
dGFtcCwgcGl4ZWxCdWZmZXIuZ2V0KCksIHJlbW90ZVNhbXBsZS50aW1lKCkudG9Eb3VibGUoKSk7
CiB9CiAKIHN0YXRpYyBpbmxpbmUgU3RyaW5nIGZvcm1hdE5hbWVGcm9tQ29kZWNUeXBlKExpYldl
YlJUQ0NvZGVjczo6VHlwZSB0eXBlKQpAQCAtMjg2LDcgKzI4Niw3IEBAIExpYldlYlJUQ0NvZGVj
czo6RW5jb2RlciogTGliV2ViUlRDQ29kZWNzOjpjcmVhdGVFbmNvZGVyKFR5cGUgdHlwZSwgY29u
c3Qgc3RkOjptCiAgICAgICAgIGF1dG8gZW5jb2RlcklkZW50aWZpZXIgPSBlbmNvZGVyLT5pZGVu
dGlmaWVyOwogICAgICAgICBBU1NFUlQoIW1fZW5jb2RlcnMuY29udGFpbnMoZW5jb2RlcklkZW50
aWZpZXIpKTsKIAotICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9j
ZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2Rl
Y3NQcm94eTo6Q3JlYXRlRW5jb2RlciB7IGVuY29kZXJJZGVudGlmaWVyLCBmb3JtYXROYW1lRnJv
bUNvZGVjVHlwZSh0eXBlKSwgcGFyYW1ldGVycyB9LCAwKTsKKyAgICAgICAgV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzUHJveHk6OkNyZWF0ZUVuY29kZXIgeyBlbmNvZGVy
SWRlbnRpZmllciwgZm9ybWF0TmFtZUZyb21Db2RlY1R5cGUodHlwZSksIHBhcmFtZXRlcnMsIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViUlRDSDI2NExvd0xhdGVu
Y3lFbmNvZGVyRW5hYmxlZCgpIH0sIDApOwogICAgICAgICBtX2VuY29kZXJzLmFkZChlbmNvZGVy
SWRlbnRpZmllciwgV1RGTW92ZShlbmNvZGVyKSk7CiAgICAgfSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412914</attachid>
            <date>2020-11-02 06:37:55 -0800</date>
            <delta_ts>2020-11-03 03:19:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218442-20201102153753.patch</filename>
            <type>text/plain</type>
            <size>38835</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5ZjU4YjY1NWIyMjUzYTljNWQzYzQ3YmYzNjlhNWM5NWFlMGI3Yjg3Li5jYWRi
OTA2YjMwYWQyMGU5ZWE1NDVlZjk0ZDRhZDdkZjM3MjNhYTQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAyMC0xMS0wMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbG93IGxhdGVuY3kgSDI2
NCBlbmNvZGVyIGluIEdQVVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxODQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHVzZUxvd0xhdGVuY3kgYm9vbGVhbiBpbiBSVENWaWRlb0Vu
Y29kZXJIMjY0IGFuZCBpbiBlbmNvZGVyIGZhY3RvcnkuCisgICAgICAgIEVuY29kZXIgaXMgc2V0
IGJ5IHRoZSBmYWN0b3J5IGF0IGNyZWF0aW9uIHRpbWUuCisgICAgICAgIHVzZUxvd0xhdGVuY3kg
ZmFjdG9yeSB2YWx1ZSBpcyBzZXQgYXQgY3JlYXRpb24gb2YgdGhlIGZhY3RvcnkuCisKKyAgICAg
ICAgQ2xlYW4gdXAgV2ViS2l0WFguaCBoZWFkZXJzIHRvIGRvIGxlc3MgaW5jbHVkZSBhbmQgbW92
ZSBkZWNsYXJhdGlvbnMgaW4gc3BlY2lmaWMgaGVhZGVycy4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndl
YnJ0Yy5pT1NzaW0uZXhwOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMu
ZXhwOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmg6
CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdERlY29kZXIubW06Cisg
ICAgICAgICh3ZWJydGM6OnZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZSk6CisgICAgICAgICogU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaDoKKyAgICAgICAgKiBTb3VyY2Uv
d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbToKKyAgICAgICAgKC1bV0tfUlRDTG9j
YWxWaWRlb0gyNjRIMjY1RW5jb2RlciBzZXRMb3dMYXRlbmN5Ol0pOgorICAgICAgICAod2VicnRj
OjpjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeSk6CisgICAgICAgICh3ZWJydGM6OnNldExvY2Fs
RW5jb2Rlckxvd0xhdGVuY3kpOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9X
ZWJLaXRVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2Vi
S2l0VXRpbGl0aWVzLm1tOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9u
ZW50cy92aWRlb19jb2RlYy9SVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5oOgorICAgICAg
ICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZh
dWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5tOgorICAgICAgICAoLVtSVENEZWZhdWx0VmlkZW9FbmNv
ZGVyRmFjdG9yeSBpbml0V2l0aEgyNjU6dnA5Omxvd0xhdGVuY3lIMjY0Ol0pOgorICAgICAgICAo
LVtSVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeSBjcmVhdGVFbmNvZGVyOl0pOgorICAgICAg
ICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRl
b0VuY29kZXJIMjY0Lmg6CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25l
bnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQubW06CisgICAgICAgICgtW1JUQ1Zp
ZGVvRW5jb2RlckgyNjQgaW5pdFdpdGhDb2RlY0luZm86XSk6CisgICAgICAgICgtW1JUQ1ZpZGVv
RW5jb2RlckgyNjQgc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDpdKToKKyAgICAgICAg
KC1bUlRDVmlkZW9FbmNvZGVySDI2NCByZXNldENvbXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZv
cm1hdDpdKToKKwogMjAyMC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgU2V0IHZwY0MgYm94IGZvciBoYXJkd2FyZSBXZWJSVEMgVlA5IGRlY29kZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlZjk5NjJhNmU0MGMwZjBiMjI1YTQ0MWE1ZTdhNjU2ZGZmODgzMmFiLi40
NTIwYWZmMzJlNDMyZTAxMDRjNDZkYTFhYmQwODgzYWYxNmVlNGU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMTEtMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGxvdyBsYXRlbmN5IEgyNjQgZW5jb2RlciBpbiBHUFVQcm9jZXNz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0NDIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIHVz
ZUxvd0xhdGVuY3kgYm9vbGVhbiB3aGVuIGNyZWF0aW5nIGVuY29kZXIgZmFjdG9yeS4KKyAgICAg
ICAgTWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGli
V2ViUlRDUHJvdmlkZXJDb2NvYTo6Y3JlYXRlRW5jb2RlckZhY3RvcnkpOgorCiAyMDIwLTExLTAy
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHNlbmRp
bmcgb3JpZ2lucyBmcm9tIFdlYlByb2Nlc3MgdG8gVUlQcm9jZXNzIGZvciBnZXRVc2VyTWVkaWEg
cmVxdWVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggMDc5MTc1ZDYwNWRmNjZkMWNlOGU0ZTFhMGYyODMxMjkxYjBm
MWM3MS4uYTM3OTBhMTRlOWQ4NGM4ZDhiNGQ1OTIwNGJkNDhkOTRiZTU3NjkzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAyMC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWxsb3cgbG93IGxhdGVuY3kgSDI2NCBlbmNvZGVyIGluIEdQVVBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBh
c3MgdXNlTG93TGF0ZW5jeSBib29sZWFuIGZyb20gV2ViUHJvY2VzcyB0byBHUFVQcm9jZXNzLgor
CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaDoKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbToK
KyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzUHJveHk6OmNyZWF0ZUVuY29kZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nKToKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjcmVhdGVFbmNvZGVyKToKKwogMjAyMC0xMS0w
MiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzZW5k
aW5nIG9yaWdpbnMgZnJvbSBXZWJQcm9jZXNzIHRvIFVJUHJvY2VzcyBmb3IgZ2V0VXNlck1lZGlh
IHJlcXVlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmln
dXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKaW5kZXggYWIyN2QwZjE5NGVkNjZmZmQ5
Y2NlYzFjM2ZkNTY0OTVhZGI2YjRmYS4uMGFhZGExZjA1MjQxOThhNTEwMTUzMTE2ZWU4ODg3ZDhi
NTYxM2U5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApAQCAtMTA1LDkgKzEwNSw4IEBAIF9f
Wk42d2VicnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UxNlJlbW92ZUNhbmRpZGF0ZXNF
UktOU3QzX18xNnZlY3RvcklON2NyCiBfX1pOSzZ3ZWJydGMyMUljZUNhbmRpZGF0ZUludGVyZmFj
ZTEwc2VydmVyX3VybEV2CiBfX1pONndlYnJ0YzIwc2V0QXBwbGljYXRpb25TdGF0dXNFYgogX19a
TjZ3ZWJydGMyNmNyZWF0ZVdlYktpdERlY29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185
V2ViS2l0VlA5RU5TXzEyV2ViS2l0VlA5VlRCRQotX19aTjZ3ZWJydGMyNmNyZWF0ZVdlYktpdEVu
Y29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0VlA5RQorX19aTjZ3ZWJydGMy
NmNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0VlA5
RU5TXzIwV2ViS2l0SDI2NExvd0xhdGVuY3lFCiBfX1pONndlYnJ0YzI5c2V0SDI2NEhhcmR3YXJl
RW5jb2RlckFsbG93ZWRFYgotX19aTjZ3ZWJydGMzMXNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVu
YWJsZWRFYgogX19aTjZ3ZWJydGMyNHJlZ2lzdGVyV2ViS2l0VlA5RGVjb2RlckV2CiBfX1pONndl
YnJ0YzIwcGl4ZWxCdWZmZXJGcm9tRnJhbWVFUktOU18xMFZpZGVvRnJhbWVFUktOU3QzX18xOGZ1
bmN0aW9uSUZQMTBfX0NWQnVmZmVybW1OU18xMEJ1ZmZlclR5cGVFRUVFCiBfX1pONndlYnJ0YzE4
cGl4ZWxCdWZmZXJUb0ZyYW1lRVAxMF9fQ1ZCdWZmZXIKQEAgLTI0Miw3ICsyNDEsNyBAQCBfX1pO
NndlYnJ0YzIyY3JlYXRlTG9jYWxIMjY0RGVjb2RlckVVMTNibG9ja19wb2ludGVyRnZQMTBfX0NW
QnVmZmVyampFCiBfX1pONndlYnJ0YzIyY3JlYXRlTG9jYWxIMjY1RGVjb2RlckVVMTNibG9ja19w
b2ludGVyRnZQMTBfX0NWQnVmZmVyampFCiBfX1pONndlYnJ0YzE5cmVsZWFzZUxvY2FsRGVjb2Rl
ckVQdgogX19aTjZ3ZWJydGMxMWRlY29kZUZyYW1lRVB2alBLaG0KLV9fWk42d2VicnRjMThSZW1v
dGVWaWRlb0RlY29kZXIxNGRlY29kZUNvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCitfX1pONndl
YnJ0YzI0dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndl
YnJ0YzI0c2V0VmlkZW9EZWNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRF
RVBGaVMwX0VQRmlTMF9qUEtobUVQRmlTMF9TMF9FCiBfX1pONndlYnJ0YzE4UnRwQ29kZWNDYXBh
YmlsaXR5QzFFdgogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNrc0VQRlB2UktO
U18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG1FUEZpUzBfUzBfRQpAQCAtMjUz
LDYgKzI1Miw3IEBAIF9fWk42d2VicnRjMThSZW1vdGVWaWRlb0VuY29kZXIxNGVuY29kZUNvbXBs
ZXRlRVB2UGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluCiBfX1pONndlYnJ0YzIyUlRQRnJh
Z21lbnRhdGlvbkhlYWRlcjZSZXNpemVFbQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5jb2RlckNh
bGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktOU18xMFZp
ZGVvQ29kZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMwX1JLTlNf
MTJWaWRlb0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0YzIwc2V0
TG9jYWxFbmNvZGVyUmF0ZXNFUHZqagorX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rlckxvd0xh
dGVuY3lFUHZiCiBfX1pONndlYnJ0YzIyaW5pdGlhbGl6ZUxvY2FsRW5jb2RlckVQdnR0ampqagog
X19aTjZ3ZWJydGMxNFNkcFZpZGVvRm9ybWF0QzFFUktOU3QzX18xMTJiYXNpY19zdHJpbmdJY05T
MV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUktOUzFfM21hcElTN19TN19O
UzFfNGxlc3NJUzdfRUVOUzVfSU5TMV80cGFpcklTOF9TN19FRUVFRUUKIF9fWk42d2VicnRjMThj
cmVhdGVMb2NhbEVuY29kZXJFUktOU18xNFNkcFZpZGVvRm9ybWF0RVUxM2Jsb2NrX3BvaW50ZXJG
dlBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0VQTlNfMjJSVFBGcmFnbWVudGF0aW9u
SGVhZGVyRUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1
cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cAppbmRleCBhYjI3ZDBmMTk0ZWQ2
NmZmZDljY2VjMWMzZmQ1NjQ5NWFkYjZiNGZhLi4wYWFkYTFmMDUyNDE5OGE1MTAxNTMxMTZlZTg4
ODdkOGI1NjEzZTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29u
ZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCkBAIC0xMDUsOSAr
MTA1LDggQEAgX19aTjZ3ZWJydGMyN1Nlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZTE2UmVtb3Zl
Q2FuZGlkYXRlc0VSS05TdDNfXzE2dmVjdG9ySU43Y3IKIF9fWk5LNndlYnJ0YzIxSWNlQ2FuZGlk
YXRlSW50ZXJmYWNlMTBzZXJ2ZXJfdXJsRXYKIF9fWk42d2VicnRjMjBzZXRBcHBsaWNhdGlvblN0
YXR1c0ViCiBfX1pONndlYnJ0YzI2Y3JlYXRlV2ViS2l0RGVjb2RlckZhY3RvcnlFTlNfMTBXZWJL
aXRIMjY1RU5TXzlXZWJLaXRWUDlFTlNfMTJXZWJLaXRWUDlWVEJFCi1fX1pONndlYnJ0YzI2Y3Jl
YXRlV2ViS2l0RW5jb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5TXzlXZWJLaXRWUDlFCitf
X1pONndlYnJ0YzI2Y3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5T
XzlXZWJLaXRWUDlFTlNfMjBXZWJLaXRIMjY0TG93TGF0ZW5jeUUKIF9fWk42d2VicnRjMjlzZXRI
MjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZEViCi1fX1pONndlYnJ0YzMxc2V0SDI2NExvd0xhdGVu
Y3lFbmNvZGVyRW5hYmxlZEViCiBfX1pONndlYnJ0YzI0cmVnaXN0ZXJXZWJLaXRWUDlEZWNvZGVy
RXYKIF9fWk42d2VicnRjMjBwaXhlbEJ1ZmZlckZyb21GcmFtZUVSS05TXzEwVmlkZW9GcmFtZUVS
S05TdDNfXzE4ZnVuY3Rpb25JRlAxMF9fQ1ZCdWZmZXJtbU5TXzEwQnVmZmVyVHlwZUVFRUUKIF9f
Wk42d2VicnRjMThwaXhlbEJ1ZmZlclRvRnJhbWVFUDEwX19DVkJ1ZmZlcgpAQCAtMjQyLDcgKzI0
MSw3IEBAIF9fWk42d2VicnRjMjJjcmVhdGVMb2NhbEgyNjREZWNvZGVyRVUxM2Jsb2NrX3BvaW50
ZXJGdlAxMF9fQ1ZCdWZmZXJqakUKIF9fWk42d2VicnRjMjJjcmVhdGVMb2NhbEgyNjVEZWNvZGVy
RVUxM2Jsb2NrX3BvaW50ZXJGdlAxMF9fQ1ZCdWZmZXJqakUKIF9fWk42d2VicnRjMTlyZWxlYXNl
TG9jYWxEZWNvZGVyRVB2CiBfX1pONndlYnJ0YzExZGVjb2RlRnJhbWVFUHZqUEtobQotX19aTjZ3
ZWJydGMxOFJlbW90ZVZpZGVvRGVjb2RlcjE0ZGVjb2RlQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZl
cmoKK19fWk42d2VicnRjMjR2aWRlb0RlY29kZXJUYXNrQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZl
cmoKIF9fWk42d2VicnRjMjRzZXRWaWRlb0RlY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBW
aWRlb0Zvcm1hdEVFUEZpUzBfRVBGaVMwX2pQS2htRVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMThS
dHBDb2RlY0NhcGFiaWxpdHlDMUV2CiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNvZGVyQ2FsbGJh
Y2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEtobUVQRmlTMF9T
MF9FCkBAIC0yNTMsNiArMjUyLDcgQEAgX19aTjZ3ZWJydGMxOFJlbW90ZVZpZGVvRW5jb2RlcjE0
ZW5jb2RlQ29tcGxldGVFUHZQaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW4KIF9fWk42d2Vi
cnRjMjJSVFBGcmFnbWVudGF0aW9uSGVhZGVyNlJlc2l6ZUVtCiBfX1pONndlYnJ0YzI0c2V0Vmlk
ZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlT
MF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlTMF9TMF9F
UEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUKIF9fWk42
d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCitfX1pONndlYnJ0YzI1c2V0TG9jYWxF
bmNvZGVyTG93TGF0ZW5jeUVQdmIKIF9fWk42d2VicnRjMjJpbml0aWFsaXplTG9jYWxFbmNvZGVy
RVB2dHRqampqCiBfX1pONndlYnJ0YzE0U2RwVmlkZW9Gb3JtYXRDMUVSS05TdDNfXzExMmJhc2lj
X3N0cmluZ0ljTlMxXzExY2hhcl90cmFpdHNJY0VFTlMxXzlhbGxvY2F0b3JJY0VFRUVSS05TMV8z
bWFwSVM3X1M3X05TMV80bGVzc0lTN19FRU5TNV9JTlMxXzRwYWlySVM4X1M3X0VFRUVFRQogX19a
TjZ3ZWJydGMxOGNyZWF0ZUxvY2FsRW5jb2RlckVSS05TXzE0U2RwVmlkZW9Gb3JtYXRFVTEzYmxv
Y2tfcG9pbnRlckZ2UEtobVJLTlNfMjJXZWJLaXRFbmNvZGVkRnJhbWVJbmZvRVBOU18yMlJUUEZy
YWdtZW50YXRpb25IZWFkZXJFRQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCmluZGV4IDk2ODYwNzY4
YzkzYWYzYTQ5M2VmYWQ4NDYzYWJjMWY1MGZkNDgwMTkuLjcwZjlkOTlhMzZmYWU2NjA0MmUwOGY2
NmYwODMyNDgzOTdiN2Q3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKQEAgLTEwNSw5ICsx
MDUsOCBAQCBfX1pONndlYnJ0YzI3U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlMTZSZW1vdmVD
YW5kaWRhdGVzRVJLTlN0M19fMTZ2ZWN0b3JJTjdjcgogX19aTks2d2VicnRjMjFJY2VDYW5kaWRh
dGVJbnRlcmZhY2UxMHNlcnZlcl91cmxFdgogX19aTjZ3ZWJydGMyMHNldEFwcGxpY2F0aW9uU3Rh
dHVzRWIKIF9fWk42d2VicnRjMjZjcmVhdGVXZWJLaXREZWNvZGVyRmFjdG9yeUVOU18xMFdlYktp
dEgyNjVFTlNfOVdlYktpdFZQOUVOU18xMldlYktpdFZQOVZUQkUKLV9fWk42d2VicnRjMjZjcmVh
dGVXZWJLaXRFbmNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNfOVdlYktpdFZQOUUKK19f
Wk42d2VicnRjMjZjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNf
OVdlYktpdFZQOUVOU18yMFdlYktpdEgyNjRMb3dMYXRlbmN5RQogX19aTjZ3ZWJydGMyOXNldEgy
NjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkRWIKLV9fWk42d2VicnRjMzFzZXRIMjY0TG93TGF0ZW5j
eUVuY29kZXJFbmFibGVkRWIKIF9fWk42d2VicnRjMjRyZWdpc3RlcldlYktpdFZQOURlY29kZXJF
dgogX19aTjZ3ZWJydGMyMHBpeGVsQnVmZmVyRnJvbUZyYW1lRVJLTlNfMTBWaWRlb0ZyYW1lRVJL
TlN0M19fMThmdW5jdGlvbklGUDEwX19DVkJ1ZmZlcm1tTlNfMTBCdWZmZXJUeXBlRUVFRQogX19a
TjZ3ZWJydGMxOHBpeGVsQnVmZmVyVG9GcmFtZUVQMTBfX0NWQnVmZmVyCkBAIC0yNDIsNyArMjQx
LDcgQEAgX19aTjZ3ZWJydGMyMmNyZWF0ZUxvY2FsSDI2NERlY29kZXJFVTEzYmxvY2tfcG9pbnRl
ckZ2UDEwX19DVkJ1ZmZlcmpqRQogX19aTjZ3ZWJydGMyMmNyZWF0ZUxvY2FsSDI2NURlY29kZXJF
VTEzYmxvY2tfcG9pbnRlckZ2UDEwX19DVkJ1ZmZlcmpqRQogX19aTjZ3ZWJydGMxOXJlbGVhc2VM
b2NhbERlY29kZXJFUHYKIF9fWk42d2VicnRjMTFkZWNvZGVGcmFtZUVQdmpQS2htCi1fX1pONndl
YnJ0YzE4UmVtb3RlVmlkZW9EZWNvZGVyMTRkZWNvZGVDb21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVy
agorX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVy
agogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNkcFZp
ZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG1FUEZpUzBfUzBfRQogX19aTjZ3ZWJydGMxOFJ0
cENvZGVjQ2FwYWJpbGl0eUMxRXYKIF9fWk42d2VicnRjMjJSVFBGcmFnbWVudGF0aW9uSGVhZGVy
RDFFdgpAQCAtMjUxLDYgKzI1MCw3IEBAIF9fWk42d2VicnRjMThSZW1vdGVWaWRlb0VuY29kZXIx
NGVuY29kZUNvbXBsZXRlRVB2UGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluCiBfX1pONndl
YnJ0YzIyUlRQRnJhZ21lbnRhdGlvbkhlYWRlcjZSZXNpemVFbQogX19aTjZ3ZWJydGMyNHNldFZp
ZGVvRW5jb2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZp
UzBfUktOU18xMFZpZGVvQ29kZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBf
RVBGdlMwX1JLTlNfMTJWaWRlb0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pO
NndlYnJ0YzIwc2V0TG9jYWxFbmNvZGVyUmF0ZXNFUHZqagorX19aTjZ3ZWJydGMyNXNldExvY2Fs
RW5jb2Rlckxvd0xhdGVuY3lFUHZiCiBfX1pONndlYnJ0YzIyaW5pdGlhbGl6ZUxvY2FsRW5jb2Rl
ckVQdnR0ampqagogX19aTjZ3ZWJydGMxNFNkcFZpZGVvRm9ybWF0QzFFUktOU3QzX18xMTJiYXNp
Y19zdHJpbmdJY05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUktOUzFf
M21hcElTN19TN19OUzFfNGxlc3NJUzdfRUVOUzVfSU5TMV80cGFpcklTOF9TN19FRUVFRUUKIF9f
Wk42d2VicnRjMThjcmVhdGVMb2NhbEVuY29kZXJFUktOU18xNFNkcFZpZGVvRm9ybWF0RVUxM2Js
b2NrX3BvaW50ZXJGdlBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0VQTlNfMjJSVFBG
cmFnbWVudGF0aW9uSGVhZGVyRUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5oIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVy
LmgKaW5kZXggZmFjYTM2MTBlYzI3NmVlNWFlOTIxMTJlNWE1ZjkwODYxOWM5YjRiNC4uYjQwZjM3
YzVlMTdhNTYyMjgxOGRkOTQ3ZDY2NWU1NTc0ZmUwYTI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVy
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dl
YktpdC9XZWJLaXREZWNvZGVyLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXIuaCIKKyNpbmNsdWRlICJX
ZWJLaXRVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29k
ZXJfZmFjdG9yeS5oIgogCiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVsQnVmZmVy
UmVmOwpAQCAtMzMsNiArMzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVs
QnVmZmVyUmVmOwogbmFtZXNwYWNlIHdlYnJ0YyB7CiAKIHN0cnVjdCBTZHBWaWRlb0Zvcm1hdDsK
K2NsYXNzIFZpZGVvRGVjb2RlckZhY3Rvcnk7CiAKIHVzaW5nIFdlYktpdFZpZGVvRGVjb2RlciA9
IHZvaWQqOwogdXNpbmcgVmlkZW9EZWNvZGVyQ3JlYXRlQ2FsbGJhY2sgPSBXZWJLaXRWaWRlb0Rl
Y29kZXIoKikoY29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCk7CkBAIC00MiwzNCArNDMsOSBA
QCB1c2luZyBWaWRlb0RlY29kZXJSZWdpc3RlckRlY29kZUNvbXBsZXRlQ2FsbGJhY2sgPSBpbnQz
Ml90KCopKFdlYktpdFZpZGVvRGVjb2RlcgogCiB2b2lkIHNldFZpZGVvRGVjb2RlckNhbGxiYWNr
cyhWaWRlb0RlY29kZXJDcmVhdGVDYWxsYmFjaywgVmlkZW9EZWNvZGVyUmVsZWFzZUNhbGxiYWNr
LCBWaWRlb0RlY29kZXJEZWNvZGVDYWxsYmFjaywgVmlkZW9EZWNvZGVyUmVnaXN0ZXJEZWNvZGVD
b21wbGV0ZUNhbGxiYWNrKTsKIAotY2xhc3MgUmVtb3RlVmlkZW9EZWNvZGVyRmFjdG9yeSBmaW5h
bCA6IHB1YmxpYyBWaWRlb0RlY29kZXJGYWN0b3J5IHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBS
ZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0RlY29kZXJGYWN0
b3J5PiYmKTsKLSAgICB+UmVtb3RlVmlkZW9EZWNvZGVyRmFjdG9yeSgpID0gZGVmYXVsdDsKK3N0
ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRGVjb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdERl
Y29kZXJGYWN0b3J5KFdlYktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0VlA5VlRCKTsKK3ZvaWQg
dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3Rh
bXAsIENWUGl4ZWxCdWZmZXJSZWYsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCk7CiAKLXByaXZhdGU6
Ci0gICAgc3RkOjp2ZWN0b3I8U2RwVmlkZW9Gb3JtYXQ+IEdldFN1cHBvcnRlZEZvcm1hdHMoKSBj
b25zdCBmaW5hbDsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VmlkZW9EZWNvZGVyPiBDcmVhdGVWaWRl
b0RlY29kZXIoY29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCkgZmluYWw7Ci0KLSAgICBzdGQ6
OnVuaXF1ZV9wdHI8VmlkZW9EZWNvZGVyRmFjdG9yeT4gbV9pbnRlcm5hbEZhY3Rvcnk7Ci19Owot
Ci1jbGFzcyBSZW1vdGVWaWRlb0RlY29kZXIgZmluYWwgOiBwdWJsaWMgd2VicnRjOjpWaWRlb0Rl
Y29kZXIgewotcHVibGljOgotICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvRGVjb2RlcihXZWJLaXRW
aWRlb0RlY29kZXIpOwotICAgIH5SZW1vdGVWaWRlb0RlY29kZXIoKSA9IGRlZmF1bHQ7Ci0KLSAg
ICBzdGF0aWMgdm9pZCBkZWNvZGVDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgdWludDMyX3QgdGlt
ZVN0YW1wLCBDVlBpeGVsQnVmZmVyUmVmLCB1aW50MzJfdCB0aW1lU3RhbXBSVFApOwotCi1wcml2
YXRlOgotICAgIGludDMyX3QgSW5pdERlY29kZShjb25zdCBWaWRlb0NvZGVjKiwgaW50MzJfdCBu
dW1iZXJfb2ZfY29yZXMpIGZpbmFsOwotICAgIGludDMyX3QgRGVjb2RlKGNvbnN0IEVuY29kZWRJ
bWFnZSYsIGJvb2wgbWlzc2luZ19mcmFtZXMsIGludDY0X3QgcmVuZGVyX3RpbWVfbXMpIGZpbmFs
OwotICAgIGludDMyX3QgUmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNrKERlY29kZWRJbWFn
ZUNhbGxiYWNrKikgZmluYWw7Ci0gICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWw7Ci0gICAgY29u
c3QgY2hhciogSW1wbGVtZW50YXRpb25OYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlbW90
ZVZpZGVvVG9vbEJveCI7IH0KLQotICAgIFdlYktpdFZpZGVvRGVjb2RlciBtX2ludGVybmFsRGVj
b2RlcjsKLX07CiAKIHVzaW5nIExvY2FsRGVjb2RlciA9IHZvaWQqOwogdXNpbmcgTG9jYWxEZWNv
ZGVyQ2FsbGJhY2sgPSB2b2lkICheKShDVlBpeGVsQnVmZmVyUmVmLCB1aW50MzJfdCB0aW1lU3Rh
bXAsIHVpbnQzMl90IHRpbWVTdGFtcE5zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5tbSBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0
RGVjb2Rlci5tbQppbmRleCAyODdlMTk2ZjAxYjhkNTBhZDMwMGNhNjU2NGE4ZDRjZDBhMTEyNWY0
Li5kMTQ4ZTliZDJkN2E3Y2ViNzBkNGI4MTFiNjM0ZDRhOTZmNGI2MGQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktp
dERlY29kZXIubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJy
dGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLm1tCkBAIC0yOSw2ICsyOSwxMCBAQAogI2ltcG9y
dCAiRnJhbWV3b3JrL0hlYWRlcnMvV2ViUlRDL1JUQ1ZpZGVvRnJhbWVCdWZmZXIuaCIKICNpbXBv
cnQgIkZyYW1ld29yay9OYXRpdmUvYXBpL3ZpZGVvX2RlY29kZXJfZmFjdG9yeS5oIgogI2ltcG9y
dCAiV2ViS2l0VXRpbGl0aWVzLmgiCisjaW1wb3J0ICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2Rl
Y29kZXIuaCIKKyNpbXBvcnQgImFwaS92aWRlb19jb2RlY3MvdmlkZW9fZGVjb2Rlcl9mYWN0b3J5
LmgiCisjaW1wb3J0ICJtb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvaDI2NC9pbmNsdWRlL2gy
NjQuaCIKKyNpbXBvcnQgIm1vZHVsZXMvdmlkZW9fY29kaW5nL2luY2x1ZGUvdmlkZW9fZXJyb3Jf
Y29kZXMuaCIKICNpbXBvcnQgInNkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlk
ZW9EZWNvZGVySDI2NC5oIgogI2ltcG9ydCAic2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2Rl
Yy9SVENWaWRlb0RlY29kZXJIMjY1LmgiCiAKQEAgLTgzLDYgKzg3LDMzIEBACiAKIG5hbWVzcGFj
ZSB3ZWJydGMgewogCitjbGFzcyBSZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5IGZpbmFsIDogcHVi
bGljIFZpZGVvRGVjb2RlckZhY3RvcnkgeworcHVibGljOgorICAgIGV4cGxpY2l0IFJlbW90ZVZp
ZGVvRGVjb2RlckZhY3Rvcnkoc3RkOjp1bmlxdWVfcHRyPFZpZGVvRGVjb2RlckZhY3Rvcnk+JiYp
OworICAgIH5SZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5KCkgPSBkZWZhdWx0OworCitwcml2YXRl
OgorICAgIHN0ZDo6dmVjdG9yPFNkcFZpZGVvRm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkg
Y29uc3QgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRGVjb2Rlcj4gQ3JlYXRlVmlk
ZW9EZWNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOworCisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFZpZGVvRGVjb2RlckZhY3Rvcnk+IG1faW50ZXJuYWxGYWN0b3J5OworfTsK
KworY2xhc3MgUmVtb3RlVmlkZW9EZWNvZGVyIGZpbmFsIDogcHVibGljIHdlYnJ0Yzo6VmlkZW9E
ZWNvZGVyIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBSZW1vdGVWaWRlb0RlY29kZXIoV2ViS2l0
VmlkZW9EZWNvZGVyKTsKKyAgICB+UmVtb3RlVmlkZW9EZWNvZGVyKCkgPSBkZWZhdWx0OworCitw
cml2YXRlOgorICAgIGludDMyX3QgSW5pdERlY29kZShjb25zdCBWaWRlb0NvZGVjKiwgaW50MzJf
dCBudW1iZXJfb2ZfY29yZXMpIGZpbmFsOworICAgIGludDMyX3QgRGVjb2RlKGNvbnN0IEVuY29k
ZWRJbWFnZSYsIGJvb2wgbWlzc2luZ19mcmFtZXMsIGludDY0X3QgcmVuZGVyX3RpbWVfbXMpIGZp
bmFsOworICAgIGludDMyX3QgUmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNrKERlY29kZWRJ
bWFnZUNhbGxiYWNrKikgZmluYWw7CisgICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWw7CisgICAg
Y29uc3QgY2hhciogSW1wbGVtZW50YXRpb25OYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJl
bW90ZVZpZGVvVG9vbEJveCI7IH0KKworICAgIFdlYktpdFZpZGVvRGVjb2RlciBtX2ludGVybmFs
RGVjb2RlcjsKK307CisKIHN0cnVjdCBWaWRlb0RlY29kZXJDYWxsYmFja3MgewogICAgIFZpZGVv
RGVjb2RlckNyZWF0ZUNhbGxiYWNrIGNyZWF0ZUNhbGxiYWNrOwogICAgIFZpZGVvRGVjb2RlclJl
bGVhc2VDYWxsYmFjayByZWxlYXNlQ2FsbGJhY2s7CkBAIC0xMDksNyArMTQwLDcgQEAgUmVtb3Rl
VmlkZW9EZWNvZGVyOjpSZW1vdGVWaWRlb0RlY29kZXIoV2ViS2l0VmlkZW9EZWNvZGVyIGludGVy
bmFsRGVjb2RlcikKIHsKIH0KIAotdm9pZCBSZW1vdGVWaWRlb0RlY29kZXI6OmRlY29kZUNvbXBs
ZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZmZXJSZWYg
cGl4ZWxCdWZmZXIsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCkKK3ZvaWQgdmlkZW9EZWNvZGVyVGFz
a0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZm
ZXJSZWYgcGl4ZWxCdWZmZXIsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCkKIHsKICAgICBhdXRvIHZp
ZGVvRnJhbWUgPSBWaWRlb0ZyYW1lOjpCdWlsZGVyKCkuc2V0X3ZpZGVvX2ZyYW1lX2J1ZmZlcihw
aXhlbEJ1ZmZlclRvRnJhbWUocGl4ZWxCdWZmZXIpKQogICAgICAgICAuc2V0X3RpbWVzdGFtcF9y
dHAodGltZVN0YW1wUlRQKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaApp
bmRleCBkYjZlNmU2MWRjODY2YjM2YThhZWEzNDAwYTJiZjExOTU2YjM2ZGMxLi5iYTI2NjEwNzUx
OTEwYjEzMjEzMWZmZTY3Y2FhOTIxMWVjOTUyN2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdEVuY29kZXIuaApAQCAtMjUsMTAgKzI1LDEyIEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSAiV2ViS2l0VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92
aWRlb19lbmNvZGVyLmgiCiAjaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92aWRlb19lbmNvZGVy
X2ZhY3RvcnkuaCIKICNpbmNsdWRlICJhcGkvdmlkZW8vZW5jb2RlZF9pbWFnZS5oIgogI2luY2x1
ZGUgIm1vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzLmgiCisjaW5jbHVkZSAibW9k
dWxlcy92aWRlb19jb2RpbmcvaW5jbHVkZS92aWRlb19lcnJvcl9jb2Rlcy5oIgogCiB1c2luZyBD
VlBpeGVsQnVmZmVyUmVmID0gc3RydWN0IF9fQ1ZCdWZmZXIqOwogCkBAIC00MCwyMiArNDIsNyBA
QCBjbGFzcyBWaWRlb0ZyYW1lOwogc3RydWN0IFNkcFZpZGVvRm9ybWF0OwogY2xhc3MgU2V0dGlu
Z3M7CiAKLWNsYXNzIFZpZGVvRW5jb2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0IGZpbmFsIDogcHVi
bGljIFZpZGVvRW5jb2RlckZhY3RvcnkgewotcHVibGljOgotICAgIGV4cGxpY2l0IFZpZGVvRW5j
b2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXJGYWN0
b3J5PiYmIGZhY3RvcnkpCi0gICAgICAgIDogbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5KHN0ZDo6
bW92ZShmYWN0b3J5KSkKLSAgICB7Ci0gICAgfQotCi0gICAgVmlkZW9FbmNvZGVyRmFjdG9yeTo6
Q29kZWNJbmZvIFF1ZXJ5VmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeS0+UXVlcnlWaWRl
b0VuY29kZXIoZm9ybWF0KTsgfQotCi0gICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2Rlcj4g
Q3JlYXRlVmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOwot
IAotICAgIHN0ZDo6dmVjdG9yPFNkcFZpZGVvRm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5LT5HZXRTdXBwb3J0
ZWRGb3JtYXRzKCk7IH0KLQotcHJpdmF0ZToKLSAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Vmlk
ZW9FbmNvZGVyRmFjdG9yeT4gbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5OwotfTsKK3N0ZDo6dW5p
cXVlX3B0cjx3ZWJydGM6OlZpZGVvRW5jb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdEVuY29kZXJG
YWN0b3J5KFdlYktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0SDI2NExvd0xhdGVuY3kpOwogCiB1
c2luZyBXZWJLaXRWaWRlb0VuY29kZXIgPSB2b2lkKjsKIHVzaW5nIFZpZGVvRW5jb2RlckNyZWF0
ZUNhbGxiYWNrID0gV2ViS2l0VmlkZW9FbmNvZGVyKCopKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBm
b3JtYXQpOwpAQCAtMTI0LDYgKzExMSw3IEBAIHZvaWQgcmVsZWFzZUxvY2FsRW5jb2RlcihMb2Nh
bEVuY29kZXIpOwogdm9pZCBpbml0aWFsaXplTG9jYWxFbmNvZGVyKExvY2FsRW5jb2RlciwgdWlu
dDE2X3Qgd2lkdGgsIHVpbnQxNl90IGhlaWdodCwgdW5zaWduZWQgaW50IHN0YXJ0Qml0cmF0ZSwg
dW5zaWduZWQgaW50IG1heEJpdHJhdGUsIHVuc2lnbmVkIGludCBtaW5CaXRyYXRlLCB1aW50MzJf
dCBtYXhGcmFtZXJhdGUpOwogdm9pZCBlbmNvZGVMb2NhbEVuY29kZXJGcmFtZShMb2NhbEVuY29k
ZXIsIENWUGl4ZWxCdWZmZXJSZWYsIGludDY0X3QgdGltZVN0YW1wLCB3ZWJydGM6OlZpZGVvUm90
YXRpb24sIGJvb2wgaXNLZXlmcmFtZVJlcXVpcmVkKTsKIHZvaWQgc2V0TG9jYWxFbmNvZGVyUmF0
ZXMoTG9jYWxFbmNvZGVyLCB1aW50MzJfdCBiaXRSYXRlLCB1aW50MzJfdCBmcmFtZVJhdGUpOwor
dm9pZCBzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5KExvY2FsRW5jb2RlciwgYm9vbCBpc0xvd0xh
dGVuY3lFbmFibGVkKTsKIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KIGJvb2wgV2ViS2l0RW5j
b2RlZEZyYW1lSW5mbzo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYktpdEVuY29kZWRGcmFt
ZUluZm8mIGluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0KaW5k
ZXggZDZmY2M1MDBmYWIzNWRlYmM4ZjA5ODNiYzgzMDU5M2Y0NjkzNGE2Mi4uNWFjYWJjMjMyM2Ix
Nzg3NTE2MjIzNzBhNDJiMzVlY2FjMjE5YWE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQv
V2ViS2l0RW5jb2Rlci5tbQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIldlYktpdFV0aWxp
dGllcy5oIgogI2luY2x1ZGUgImFwaS92aWRlby92aWRlb19mcmFtZS5oIgogI2luY2x1ZGUgImNv
bXBvbmVudHMvdmlkZW9fY29kZWMvUlRDQ29kZWNTcGVjaWZpY0luZm9IMjY0K1ByaXZhdGUuaCIK
KyNpbmNsdWRlICJtZWRpYS9lbmdpbmUvZW5jb2Rlcl9zaW11bGNhc3RfcHJveHkuaCIKICNpbmNs
dWRlICJtb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L3NpbXVsY2FzdF91dGlsaXR5LmgiCiAj
aW5jbHVkZSAic2RrL29iamMvYXBpL3BlZXJjb25uZWN0aW9uL1JUQ0VuY29kZWRJbWFnZStQcml2
YXRlLmgiCiAjaW5jbHVkZSAic2RrL29iamMvYXBpL3BlZXJjb25uZWN0aW9uL1JUQ1J0cEZyYWdt
ZW50YXRpb25IZWFkZXIrUHJpdmF0ZS5oIgpAQCAtNDYsNiArNDcsNyBAQAogLSAoTlNJbnRlZ2Vy
KXN0YXJ0RW5jb2RlV2l0aFNldHRpbmdzOihSVENWaWRlb0VuY29kZXJTZXR0aW5ncyAqKXNldHRp
bmdzIG51bWJlck9mQ29yZXM6KGludCludW1iZXJPZkNvcmVzOwogLSAoTlNJbnRlZ2VyKWVuY29k
ZTooUlRDVmlkZW9GcmFtZSAqKWZyYW1lIGNvZGVjU3BlY2lmaWNJbmZvOihudWxsYWJsZSBpZDxS
VENDb2RlY1NwZWNpZmljSW5mbz4paW5mbyBmcmFtZVR5cGVzOihOU0FycmF5PE5TTnVtYmVyICo+
ICopZnJhbWVUeXBlczsKIC0gKGludClzZXRCaXRyYXRlOih1aW50MzJfdCliaXRyYXRlS2JpdCBm
cmFtZXJhdGU6KHVpbnQzMl90KWZyYW1lcmF0ZTsKKy0gKHZvaWQpc2V0TG93TGF0ZW5jeTooYm9v
bClpc0xvd0xhdGVuY3lFbmFibGVkOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tfUlRDTG9j
YWxWaWRlb0gyNjRIMjY1RW5jb2RlciB7CkBAIC05MiwxMCArOTQsMzAgQEAKICAgICAgICAgcmV0
dXJuIFttX2gyNjRFbmNvZGVyIHNldEJpdHJhdGU6Yml0cmF0ZUtiaXQgZnJhbWVyYXRlOmZyYW1l
cmF0ZV07CiAgICAgcmV0dXJuIFttX2gyNjVFbmNvZGVyIHNldEJpdHJhdGU6Yml0cmF0ZUtiaXQg
ZnJhbWVyYXRlOmZyYW1lcmF0ZV07CiB9CistICh2b2lkKXNldExvd0xhdGVuY3k6KGJvb2wpaXNM
b3dMYXRlbmN5RW5hYmxlZCB7CisgICAgaWYgKG1faDI2NEVuY29kZXIpCisgICAgICAgIHJldHVy
biBbbV9oMjY0RW5jb2RlciBzZXRIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOmlzTG93TGF0
ZW5jeUVuYWJsZWRdOworfQogQGVuZAorCiBuYW1lc3BhY2Ugd2VicnRjIHsKIAotc3RkOjp1bmlx
dWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNvZGVyRmFjdG9yeT4gY3JlYXRlV2ViS2l0RW5jb2RlckZh
Y3RvcnkoV2ViS2l0SDI2NSBzdXBwb3J0c0gyNjUsIFdlYktpdFZQOSBzdXBwb3J0c1ZQOSkKK2Ns
YXNzIFZpZGVvRW5jb2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0IGZpbmFsIDogcHVibGljIFZpZGVv
RW5jb2RlckZhY3RvcnkgeworcHVibGljOgorICAgIGV4cGxpY2l0IFZpZGVvRW5jb2RlckZhY3Rv
cnlXaXRoU2ltdWxjYXN0KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXJGYWN0b3J5PiYmIGZh
Y3RvcnkpCisgICAgICAgIDogbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5KHN0ZDo6bW92ZShmYWN0
b3J5KSkKKyAgICB7CisgICAgfQorCisgICAgVmlkZW9FbmNvZGVyRmFjdG9yeTo6Q29kZWNJbmZv
IFF1ZXJ5VmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeS0+UXVlcnlWaWRlb0VuY29kZXIo
Zm9ybWF0KTsgfQorICAgIHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXI+IENyZWF0ZVZpZGVv
RW5jb2Rlcihjb25zdCBTZHBWaWRlb0Zvcm1hdCYgZm9ybWF0KSBmaW5hbDsKKyAgICBzdGQ6OnZl
Y3RvcjxTZHBWaWRlb0Zvcm1hdD4gR2V0U3VwcG9ydGVkRm9ybWF0cygpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeS0+R2V0U3VwcG9ydGVkRm9ybWF0cygpOyB9
CisKK3ByaXZhdGU6CisgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2RlckZhY3Rv
cnk+IG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeTsKK307CisKK3N0ZDo6dW5pcXVlX3B0cjx3ZWJy
dGM6OlZpZGVvRW5jb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5KFdlYktp
dEgyNjUgc3VwcG9ydHNIMjY1LCBXZWJLaXRWUDkgc3VwcG9ydHNWUDksIFdlYktpdEgyNjRMb3dM
YXRlbmN5IHVzZUgyNjRMb3dMYXRlbmN5KQogewogI2lmIEVOQUJMRV9WQ1BfRU5DT0RFUiB8fCBF
TkFCTEVfVkNQX1ZUQl9FTkNPREVSCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFn
OwpAQCAtMTA0LDcgKzEyNiw3IEBAIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRW5jb2Rl
ckZhY3Rvcnk+IGNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5KFdlYktpdEgyCiAgICAgfSk7CiAj
ZW5kaWYKIAotICAgIGF1dG8gaW50ZXJuYWxGYWN0b3J5ID0gT2JqQ1RvTmF0aXZlVmlkZW9FbmNv
ZGVyRmFjdG9yeShbW1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5IGFsbG9jXSBpbml0V2l0
aEgyNjU6IHN1cHBvcnRzSDI2NSA9PSBXZWJLaXRIMjY1OjpPbiB2cDk6c3VwcG9ydHNWUDkgPT0g
V2ViS2l0VlA5OjpPbl0pOworICAgIGF1dG8gaW50ZXJuYWxGYWN0b3J5ID0gT2JqQ1RvTmF0aXZl
VmlkZW9FbmNvZGVyRmFjdG9yeShbW1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5IGFsbG9j
XSBpbml0V2l0aEgyNjU6IHN1cHBvcnRzSDI2NSA9PSBXZWJLaXRIMjY1OjpPbiB2cDk6c3VwcG9y
dHNWUDkgPT0gV2ViS2l0VlA5OjpPbiBsb3dMYXRlbmN5SDI2NDp1c2VIMjY0TG93TGF0ZW5jeSA9
PSBXZWJLaXRIMjY0TG93TGF0ZW5jeTo6T25dKTsKICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1
ZTxWaWRlb0VuY29kZXJGYWN0b3J5V2l0aFNpbXVsY2FzdD4oc3RkOjptb3ZlKGludGVybmFsRmFj
dG9yeSkpOwogfQogCkBAIC0xMTksMTcgKzE0MSw2IEBAIGJvb2wgaXNIMjY0SGFyZHdhcmVFbmNv
ZGVyQWxsb3dlZCgpCiAgICAgcmV0dXJuIGgyNjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkOwogfQog
Ci1zdGF0aWMgYm9vbCBoMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkID0gZmFsc2U7Ci12b2lk
IHNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIGgy
NjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQgPSBlbmFibGVkOwotfQotCi1ib29sIGlzSDI2NExv
d0xhdGVuY3lFbmNvZGVyRW5hYmxlZCgpCi17Ci0gICAgcmV0dXJuIGgyNjRMb3dMYXRlbmN5RW5j
b2RlckVuYWJsZWQ7Ci19Ci0KIHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXI+IFZpZGVvRW5j
b2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0OjpDcmVhdGVWaWRlb0VuY29kZXIoY29uc3QgU2RwVmlk
ZW9Gb3JtYXQmIGZvcm1hdCkKIHsKICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxFbmNvZGVy
U2ltdWxjYXN0UHJveHk+KG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeS5nZXQoKSwgZm9ybWF0KTsK
QEAgLTMwNSw0ICszMTYsMTAgQEAgdm9pZCBzZXRMb2NhbEVuY29kZXJSYXRlcyhMb2NhbEVuY29k
ZXIgbG9jYWxFbmNvZGVyLCB1aW50MzJfdCBiaXRSYXRlLCB1aW50MzJfdAogICAgIFtlbmNvZGVy
IHNldEJpdHJhdGU6Yml0UmF0ZSBmcmFtZXJhdGU6ZnJhbWVSYXRlXTsKIH0KIAordm9pZCBzZXRM
b2NhbEVuY29kZXJMb3dMYXRlbmN5KExvY2FsRW5jb2RlciBsb2NhbEVuY29kZXIsIGJvb2wgaXNM
b3dMYXRlbmN5RW5hYmxlZCkKK3sKKyAgICBhdXRvICplbmNvZGVyID0gKF9fYnJpZGdlIFdLX1JU
Q0xvY2FsVmlkZW9IMjY0SDI2NUVuY29kZXIgKikobG9jYWxFbmNvZGVyKTsKKyAgICBbZW5jb2Rl
ciBzZXRMb3dMYXRlbmN5OmlzTG93TGF0ZW5jeUVuYWJsZWRdOworfQorCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dl
YktpdFV0aWxpdGllcy5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJy
dGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMuaAppbmRleCBkN2QyYmQwZTgyZTIwYWJkYzVm
ZmVhZmU0MDI0NGIwNDYwMmIxMTU0Li40ZmViMmM5ZThlYTEzOTMxNjIwZDExZWNiNzVlODhlYWQ1
NTQ1Nzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dl
YnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0VXRpbGl0aWVzLmgKQEAg
LTI3LDM0ICsyNywyNCBAQAogCiAjaW5jbHVkZSAiYXBpL3ZpZGVvL3ZpZGVvX2ZyYW1lX2J1ZmZl
ci5oIgogI2luY2x1ZGUgImFwaS9zY29wZWRfcmVmcHRyLmgiCi0jaW5jbHVkZSAiYXBpL3ZpZGVv
X2NvZGVjcy92aWRlb19kZWNvZGVyX2ZhY3RvcnkuaCIKLSNpbmNsdWRlICJhcGkvdmlkZW9fY29k
ZWNzL3ZpZGVvX2VuY29kZXJfZmFjdG9yeS5oIgotI2luY2x1ZGUgIm1lZGlhL2VuZ2luZS9lbmNv
ZGVyX3NpbXVsY2FzdF9wcm94eS5oIgorI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKIHVzaW5nIENW
UGl4ZWxCdWZmZXJSZWYgPSBzdHJ1Y3QgX19DVkJ1ZmZlcio7Ci11c2luZyBDVlBpeGVsQnVmZmVy
UG9vbFJlZiA9IHN0cnVjdCBfX0NWUGl4ZWxCdWZmZXJQb29sKjsKIAogbmFtZXNwYWNlIHdlYnJ0
YyB7CiAKLWNsYXNzIFZpZGVvRGVjb2RlckZhY3Rvcnk7Ci1jbGFzcyBWaWRlb0VuY29kZXJGYWN0
b3J5OwogY2xhc3MgVmlkZW9GcmFtZTsKIAogZW51bSBjbGFzcyBXZWJLaXRIMjY1IHsgT2ZmLCBP
biB9OwogZW51bSBjbGFzcyBXZWJLaXRWUDkgeyBPZmYsIE9uIH07CiBlbnVtIGNsYXNzIFdlYktp
dFZQOVZUQiB7IE9mZiwgT24gfTsKLQotc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNv
ZGVyRmFjdG9yeT4gY3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoV2ViS2l0SDI2NSwgV2ViS2l0
VlA5KTsKLXN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRGVjb2RlckZhY3Rvcnk+IGNyZWF0
ZVdlYktpdERlY29kZXJGYWN0b3J5KFdlYktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0VlA5VlRC
KTsKK2VudW0gY2xhc3MgV2ViS2l0SDI2NExvd0xhdGVuY3kgeyBPZmYsIE9uIH07CiAKIHZvaWQg
c2V0QXBwbGljYXRpb25TdGF0dXMoYm9vbCBpc0FjdGl2ZSk7CiAKIHZvaWQgc2V0SDI2NEhhcmR3
YXJlRW5jb2RlckFsbG93ZWQoYm9vbCk7CiBib29sIGlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93
ZWQoKTsKIAotdm9pZCBzZXRIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkKGJvb2wpOwotYm9v
bCBpc0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQoKTsKLQogZW51bSBjbGFzcyBCdWZmZXJU
eXBlIHsgSTQyMCwgSTAxMCB9OwogQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlckZyb21GcmFt
ZShjb25zdCBWaWRlb0ZyYW1lJiwgY29uc3Qgc3RkOjpmdW5jdGlvbjxDVlBpeGVsQnVmZmVyUmVm
KHNpemVfdCwgc2l6ZV90LCBCdWZmZXJUeXBlKT4mKTsKIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6OlZpZGVvRnJhbWVCdWZmZXI+IHBpeGVsQnVmZmVyVG9GcmFtZShDVlBpeGVsQnVmZmVyUmVm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRj
L3Nkay9XZWJLaXQvV2ViS2l0VXRpbGl0aWVzLm1tIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMubW0KaW5kZXggOGRk
YzZhM2Q4YmVhYmMwZWRjZjNhODYyODE5NmIxYmMyMmM1NDVjZi4uMWI2NDQ0OWVkNGIyZGQ3MmUy
M2QxNmIyZTUyNWZjM2VlOTViOGEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMubW0KKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJL
aXRVdGlsaXRpZXMubW0KQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgIldlYktpdFV0aWxp
dGllcy5oIgogCisjaW5jbHVkZSAiYXBpL3ZpZGVvL3ZpZGVvX2ZyYW1lLmgiCiAjaW5jbHVkZSAi
bmF0aXZlL3NyYy9vYmpjX2ZyYW1lX2J1ZmZlci5oIgogI2luY2x1ZGUgInJ0Y19iYXNlL2xvZ2dp
bmcuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvY29udmVy
dF9mcm9tLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ0RlZmF1bHRWaWRlb0Vu
Y29kZXJGYWN0b3J5LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJG
YWN0b3J5LmgKaW5kZXggZDc2MDA1NGZlNjE4OTU0MGJiZDI3YjJlZDExNzUxZjJjMDVlYjJiMy4u
MGNhOTIzNGQ3ODQ3OWEyM2Q2Njg5ZjQ4N2EzY2M0ZmFlNjU4OGI5YyAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50
cy92aWRlb19jb2RlYy9SVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMv
dmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkuaApAQCAtMjIsNyArMjIs
NyBAQCBSVENfT0JKQ19FWFBPUlQKIF9fYXR0cmlidXRlX18oKG9iamNfcnVudGltZV9uYW1lKCJX
S19SVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeSIpKSkKIEBpbnRlcmZhY2UgUlRDRGVmYXVs
dFZpZGVvRW5jb2RlckZhY3RvcnkgOiBOU09iamVjdCA8UlRDVmlkZW9FbmNvZGVyRmFjdG9yeT4K
IAotLSAoaWQpaW5pdFdpdGhIMjY1Oihib29sKXN1cHBvcnRIMjY1IHZwOTooYm9vbClzdXBwb3J0
c1ZQOTsKKy0gKGlkKWluaXRXaXRoSDI2NTooYm9vbClzdXBwb3J0SDI2NSB2cDk6KGJvb2wpc3Vw
cG9ydHNWUDkgbG93TGF0ZW5jeUgyNjQ6KGJvb2wpdXNlTG93TGF0ZW5jeUgyNjQ7CiArIChOU0Fy
cmF5PFJUQ1ZpZGVvQ29kZWNJbmZvICo+ICopc3VwcG9ydGVkQ29kZWNzOwogKyAoTlNBcnJheTxS
VENWaWRlb0NvZGVjSW5mbyAqPiAqKXN1cHBvcnRlZENvZGVjc1dpdGhIMjY1Oihib29sKXN1cHBv
cnRzSDI2NSB2cDk6KGJvb2wpc3VwcG9ydHNWUDk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9f
Y29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkubSBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMv
UlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkubQppbmRleCBhZWUyZGZmZGEwZDgwYzMzMWY0
MTc3ZGUxNDk0ZGQ4MjA5MTk2MzM1Li5mMDE0NDcwNDUwNTM0OTAzODUyOWNiZmIxODE3NmRhNDJj
NWJlOGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dl
YnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ0RlZmF1bHRWaWRlb0VuY29k
ZXJGYWN0b3J5Lm0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJy
dGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZhdWx0VmlkZW9FbmNvZGVy
RmFjdG9yeS5tCkBAIC0yNiwxNCArMjYsMTYgQEAKIEBpbXBsZW1lbnRhdGlvbiBSVENEZWZhdWx0
VmlkZW9FbmNvZGVyRmFjdG9yeSB7CiAgIGJvb2wgX3N1cHBvcnRzSDI2NTsKICAgYm9vbCBfc3Vw
cG9ydHNWUDk7CisgIGJvb2wgX3VzZUxvd0xhdGVuY3lIMjY0OwogfQogCi0tIChpZClpbml0V2l0
aEgyNjU6KGJvb2wpc3VwcG9ydHNIMjY1IHZwOTooYm9vbClzdXBwb3J0c1ZQOQorLSAoaWQpaW5p
dFdpdGhIMjY1Oihib29sKXN1cHBvcnRzSDI2NSB2cDk6KGJvb2wpc3VwcG9ydHNWUDkgbG93TGF0
ZW5jeUgyNjQ6KGJvb2wpdXNlTG93TGF0ZW5jeUgyNjQKIHsKICAgc2VsZiA9IFtzdXBlciBpbml0
XTsKICAgaWYgKHNlbGYpIHsKICAgICAgIF9zdXBwb3J0c0gyNjUgPSBzdXBwb3J0c0gyNjU7CiAg
ICAgICBfc3VwcG9ydHNWUDkgPSBzdXBwb3J0c1ZQOTsKKyAgICAgIF91c2VMb3dMYXRlbmN5SDI2
NCA9IHVzZUxvd0xhdGVuY3lIMjY0OwogICB9CiAgIHJldHVybiBzZWxmOwogfQpAQCAtOTIsNyAr
OTQsOSBAQCAtIChpZClpbml0V2l0aEgyNjU6KGJvb2wpc3VwcG9ydHNIMjY1IHZwOTooYm9vbClz
dXBwb3J0c1ZQOQogCiAtIChpZDxSVENWaWRlb0VuY29kZXI+KWNyZWF0ZUVuY29kZXI6KFJUQ1Zp
ZGVvQ29kZWNJbmZvICopaW5mbyB7CiAgIGlmIChbaW5mby5uYW1lIGlzRXF1YWxUb1N0cmluZzpr
UlRDVmlkZW9Db2RlY0gyNjROYW1lXSkgewotICAgIHJldHVybiBbW1JUQ1ZpZGVvRW5jb2Rlckgy
NjQgYWxsb2NdIGluaXRXaXRoQ29kZWNJbmZvOmluZm9dOworICAgIFJUQ1ZpZGVvRW5jb2Rlckgy
NjQqIGVuY29kZXIgPSBbW1JUQ1ZpZGVvRW5jb2RlckgyNjQgYWxsb2NdIGluaXRXaXRoQ29kZWNJ
bmZvOmluZm9dOworICAgIFtlbmNvZGVyIHNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ6
X3VzZUxvd0xhdGVuY3lIMjY0XTsKKyAgICByZXR1cm4gZW5jb2RlcjsKICAgfSBlbHNlIGlmIChb
aW5mby5uYW1lIGlzRXF1YWxUb1N0cmluZzprUlRDVmlkZW9Db2RlY1ZwOE5hbWVdKSB7CiAgICAg
cmV0dXJuIFtSVENWaWRlb0VuY29kZXJWUDggdnA4RW5jb2Rlcl07CiAjaWYgZGVmaW5lZChSVENf
RU5BQkxFX1ZQOSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlkZW9FbmNvZGVy
SDI2NC5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29i
amMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0LmgKaW5kZXggNzcx
NGIyNWVhYTQ2OGMzYjgyM2Y4ZmU3ZjM5MjYyYmQ0MWVjNGVmMy4uZWU3ODZjMDNhYTdiMGU2MmFm
NGIwNmQxNmJjZGNjOGNiZTVhNTRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENW
aWRlb0VuY29kZXJIMjY0LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJI
MjY0LmgKQEAgLTE5LDUgKzE5LDUgQEAgX19hdHRyaWJ1dGVfXygob2JqY19ydW50aW1lX25hbWUo
IldLX1JUQ1ZpZGVvRW5jb2RlckgyNjQiKSkpCiBAaW50ZXJmYWNlIFJUQ1ZpZGVvRW5jb2Rlckgy
NjQgOiBOU09iamVjdCA8UlRDVmlkZW9FbmNvZGVyPgogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhDb2RlY0luZm86KFJUQ1ZpZGVvQ29kZWNJbmZvICopY29kZWNJbmZvOwotCistICh2b2lkKXNl
dEgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ6KGJvb2wpZW5hYmxlZDsKIEBlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpj
L2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlkZW9FbmNvZGVySDI2NC5tbSBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlk
ZW9fY29kZWMvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQppbmRleCA0MDY4ZWU0ZjI2NGEwZjc5M2Rl
MjMyZmEzZGE0NTRmNDUyNmYwNGE1Li41N2JlZGI3ZjI5YmRlMWRhNWU4N2ZhYTgxMmNhNjVjNGM1
MDEzNDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dl
YnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQu
bW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29i
amMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0Lm1tCkBAIC0zNDgs
NiArMzQ4LDcgQEAgTlNVSW50ZWdlciBHZXRNYXhTYW1wbGVSYXRlKGNvbnN0IHdlYnJ0Yzo6SDI2
NDo6UHJvZmlsZUxldmVsSWQgJnByb2ZpbGVfbGV2ZWxfaWQKICAgc3RkOjp2ZWN0b3I8dWludDhf
dD4gX2ZyYW1lU2NhbGVCdWZmZXI7CiAgIGJvb2wgX2Rpc2FibGVFbmNvZGluZzsKICAgYm9vbCBf
aXNLZXlGcmFtZVJlcXVpcmVkOworICBib29sIF9pc0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJs
ZWQ7CiB9CiAKIC8vIC41IGlzIHNldCBhcyBhIG1pbmludW0gdG8gcHJldmVudCBvdmVyY29tcGVu
c2F0aW5nIGZvciBsYXJnZSB0ZW1wb3JhcnkKQEAgLTM3NSwxMCArMzc2LDE2IEBAIE5TVUludGVn
ZXIgR2V0TWF4U2FtcGxlUmF0ZShjb25zdCB3ZWJydGM6OkgyNjQ6OlByb2ZpbGVMZXZlbElkICZw
cm9maWxlX2xldmVsX2lkCiAgICAgUlRDX0NIRUNLKFtjb2RlY0luZm8ubmFtZSBpc0VxdWFsVG9T
dHJpbmc6a1JUQ1ZpZGVvQ29kZWNIMjY0TmFtZV0pOwogICB9CiAgIF9pc0tleUZyYW1lUmVxdWly
ZWQgPSBmYWxzZTsKKyAgX2lzSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCA9IHRydWU7CiAK
ICAgcmV0dXJuIHNlbGY7CiB9CiAKKy0gKHZvaWQpc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5h
YmxlZDooYm9vbCllbmFibGVkCit7CisgICAgX2lzSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxl
ZCA9IGVuYWJsZWQ7Cit9CisKIC0gKHZvaWQpZGVhbGxvYyB7CiAgIFtzZWxmIGRlc3Ryb3lDb21w
cmVzc2lvblNlc3Npb25dOwogfQpAQCAtNjk2LDcgKzcwMyw3IEBAIE5TVUludGVnZXIgR2V0TWF4
U2FtcGxlUmF0ZShjb25zdCB3ZWJydGM6OkgyNjQ6OlByb2ZpbGVMZXZlbElkICZwcm9maWxlX2xl
dmVsX2lkCiAjZW5kaWYKICAgfQogI2VsaWYgSEFWRV9WVEJfUkVRVUlSRURMT1dMQVRFTkNZCi0g
IGlmICh3ZWJydGM6OmlzSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCgpICYmIF91c2VWQ1Ap
CisgIGlmIChfaXNIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkICYmIF91c2VWQ1ApCiAgICAg
Q0ZEaWN0aW9uYXJ5U2V0VmFsdWUoZW5jb2RlclNwZWNzLCBrVlRWaWRlb0VuY29kZXJTcGVjaWZp
Y2F0aW9uX1JlcXVpcmVkTG93TGF0ZW5jeSwga0NGQm9vbGVhblRydWUpOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENQcm92aWRlckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlckNvY29hLmNwcAppbmRleCBjYjExZjgx
ZmQzZjExZWFmODE4OTE5NmIxNDg3YWVkMDdjNmU1OWNhLi5lOWMxMDg5ODNjNGZlN2EwMjE5Mzc4
ZGM4NzZiYTJiMjU0MzhlZWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3Zp
ZGVyQ29jb2EuY3BwCkBAIC0zMSw3ICszMSw4IEBACiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgotI2luY2x1ZGUgPHdl
YnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9zZGsv
V2ViS2l0L1dlYktpdERlY29kZXIuaD4KKyNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJL
aXRFbmNvZGVyLmg+CiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKICNpbmNsdWRlIDx3ZWJy
dGMvc2RrL1dlYktpdC9XZWJLaXRWUDlEZWNvZGVyLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KQEAgLTczLDggKzc0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNv
ZGVyRmFjdG9yeT4gTGliV2ViUlRDUHJvdmlkZXJDb2NvYTo6Y3JlYXRlRW5jb2QKICAgICBpZiAo
IXdlYlJUQ0F2YWlsYWJsZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHdlYnJ0
Yzo6c2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLndlYlJUQ0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQoKSk7
Ci0gICAgcmV0dXJuIHdlYnJ0Yzo6Y3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoaXNTdXBwb3J0
aW5nSDI2NSgpID8gd2VicnRjOjpXZWJLaXRIMjY1OjpPbiA6IHdlYnJ0Yzo6V2ViS2l0SDI2NTo6
T2ZmLCBpc1N1cHBvcnRpbmdWUDkoKSA/IHdlYnJ0Yzo6V2ViS2l0VlA5OjpPbiA6IHdlYnJ0Yzo6
V2ViS2l0VlA5OjpPZmYpOworICAgIHJldHVybiB3ZWJydGM6OmNyZWF0ZVdlYktpdEVuY29kZXJG
YWN0b3J5KGlzU3VwcG9ydGluZ0gyNjUoKSA/IHdlYnJ0Yzo6V2ViS2l0SDI2NTo6T24gOiB3ZWJy
dGM6OldlYktpdEgyNjU6Ok9mZiwgaXNTdXBwb3J0aW5nVlA5KCkgPyB3ZWJydGM6OldlYktpdFZQ
OTo6T24gOiB3ZWJydGM6OldlYktpdFZQOTo6T2ZmLCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLndlYlJUQ0gyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQoKSA/IHdl
YnJ0Yzo6V2ViS2l0SDI2NExvd0xhdGVuY3k6Ok9uIDogd2VicnRjOjpXZWJLaXRIMjY0TG93TGF0
ZW5jeTo6T2ZmKTsKIH0KIAogdm9pZCBMaWJXZWJSVENQcm92aWRlckNvY29hOjpzZXRBY3RpdmUo
Ym9vbCB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMv
TGliV2ViUlRDQ29kZWNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMv
TGliV2ViUlRDQ29kZWNzUHJveHkuaAppbmRleCA1MjA3MjkzZmRmMDcwMmYzYjlmYWY1ZmY5MmY3
ZTQ5ZTAzNzFhNjFmLi42MTgyMmYxOWRhNDU0NDE1MDczYTgzN2Q2YjQyNGVkMjkyZDZkMzk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVj
c1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVEND
b2RlY3NQcm94eS5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWxlYXNl
RGVjb2RlcihSVENEZWNvZGVySWRlbnRpZmllcik7CiAgICAgdm9pZCBkZWNvZGVGcmFtZShSVENE
ZWNvZGVySWRlbnRpZmllciwgdWludDMyX3QgdGltZVN0YW1wLCBjb25zdCBJUEM6OkRhdGFSZWZl
cmVuY2UmKTsKIAotICAgIHZvaWQgY3JlYXRlRW5jb2RlcihSVENFbmNvZGVySWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+Jik7
CisgICAgdm9pZCBjcmVhdGVFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mLCBib29sIHVzZUxv
d0xhdGVuY3kpOwogICAgIHZvaWQgcmVsZWFzZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIp
OwogICAgIHZvaWQgaW5pdGlhbGl6ZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIsIHVpbnQx
Nl90IHdpZHRoLCB1aW50MTZfdCBoZWlnaHQsIHVuc2lnbmVkIHN0YXJ0Qml0cmF0ZSwgdW5zaWdu
ZWQgbWF4Qml0cmF0ZSwgdW5zaWduZWQgbWluQml0cmF0ZSwgdWludDMyX3QgbWF4RnJhbWVyYXRl
KTsKICAgICB2b2lkIGVuY29kZUZyYW1lKFJUQ0VuY29kZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpS
ZW1vdGVWaWRlb1NhbXBsZSYmLCBib29sIHNob3VsZEVuY29kZUFzS2V5RnJhbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
Q29kZWNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZjQzYWM1NDc5ZDZjZjM1ZDI1ZmQ4ODk4NmVl
YTNmODI1MDJkMDgzZi4uZTZjMjljMTMwZTJjNmVjNWNhYjgxYWE1YmI5MWQxN2NiZDYxNDBmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0yOSw3ICsyOSw3IEBAIG1lc3Nh
Z2VzIC0+IExpYldlYlJUQ0NvZGVjc1Byb3h5IE5vdFJlZkNvdW50ZWQgewogICAgIFJlbGVhc2VE
ZWNvZGVyKFdlYktpdDo6UlRDRGVjb2RlcklkZW50aWZpZXIgaWQpCiAgICAgRGVjb2RlRnJhbWUo
V2ViS2l0OjpSVENEZWNvZGVySWRlbnRpZmllciBpZCwgdWludDMyX3QgdGltZVN0YW1wLCBJUEM6
OkRhdGFSZWZlcmVuY2UgZGF0YSkKIAotICAgIENyZWF0ZUVuY29kZXIoV2ViS2l0OjpSVENFbmNv
ZGVySWRlbnRpZmllciBpZCwgU3RyaW5nIGZvcm1hdE5hbWUsIFZlY3RvcjxzdGQ6OnBhaXI8U3Ry
aW5nLCBTdHJpbmc+PiBwYXJhbWV0ZXJzKTsKKyAgICBDcmVhdGVFbmNvZGVyKFdlYktpdDo6UlRD
RW5jb2RlcklkZW50aWZpZXIgaWQsIFN0cmluZyBmb3JtYXROYW1lLCBWZWN0b3I8c3RkOjpwYWly
PFN0cmluZywgU3RyaW5nPj4gcGFyYW1ldGVycywgYm9vbCB1c2VMb3dMYXRlbmN5KTsKICAgICBS
ZWxlYXNlRW5jb2RlcihXZWJLaXQ6OlJUQ0VuY29kZXJJZGVudGlmaWVyIGlkKQogICAgIEluaXRp
YWxpemVFbmNvZGVyKFdlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWQsIHVpbnQxNl90IHdp
ZHRoLCB1aW50MTZfdCBoZWlnaHQsIHVuc2lnbmVkIHN0YXJ0Qml0cmF0ZSwgdW5zaWduZWQgbWF4
Qml0cmF0ZSwgdW5zaWduZWQgbWluQml0cmF0ZSwgdWludDMyX3QgbWF4RnJhbWVyYXRlKQogICAg
IEVuY29kZUZyYW1lKFdlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWQsIFdlYkNvcmU6OlJl
bW90ZVZpZGVvU2FtcGxlIHNhbXBsZSwgYm9vbCBzaG91bGRFbmNvZGVBc0tleUZyYW1lKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQ
cm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNz
UHJveHkubW0KaW5kZXggYTU1MGNlMTY3OTUyMWE3ZTY0ZTFkYjYzOWM4ZWNkZDczZmNkZTMxMi4u
ZWVmZmQ4MDc4ZTdjOWY5OWQ0ZWNiZDAyZWY3NTEzYjNlMzc0Njg2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1t
CkBAIC0xMDYsMTggKzEwNiwyMCBAQCB2b2lkIExpYldlYlJUQ0NvZGVjc1Byb3h5OjpkZWNvZGVG
cmFtZShSVENEZWNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCB1aW50MzJfdAogICAgICAgICBt
X2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Okxp
YldlYlJUQ0NvZGVjczo6RmFpbGVkRGVjb2RpbmcgeyBpZGVudGlmaWVyIH0sIDApOwogfQogCi12
b2lkIExpYldlYlJUQ0NvZGVjc1Byb3h5OjpjcmVhdGVFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlm
aWVyIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZm9ybWF0TmFtZSwgY29uc3QgVmVjdG9yPHN0
ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+JiBwYXJhbWV0ZXJzKQordm9pZCBMaWJXZWJSVENDb2Rl
Y3NQcm94eTo6Y3JlYXRlRW5jb2RlcihSVENFbmNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGZvcm1hdE5hbWUsIGNvbnN0IFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBT
dHJpbmc+PiYgcGFyYW1ldGVycywgYm9vbCB1c2VMb3dMYXRlbmN5KQogewogICAgIEFTU0VSVCgh
bV9lbmNvZGVycy5jb250YWlucyhpZGVudGlmaWVyKSk7CiAKICAgICBzdGQ6Om1hcDxzdGQ6OnN0
cmluZywgc3RkOjpzdHJpbmc+IHJ0Y1BhcmFtZXRlcnM7CiAgICAgZm9yIChhdXRvJiBwYXJhbWV0
ZXIgOiBwYXJhbWV0ZXJzKQogICAgICAgICBydGNQYXJhbWV0ZXJzLmVtcGxhY2UocGFyYW1ldGVy
LmZpcnN0LnV0ZjgoKS5kYXRhKCksIHBhcmFtZXRlci5zZWNvbmQudXRmOCgpLmRhdGEoKSk7Ci0g
ICAgCi0gICAgbV9lbmNvZGVycy5hZGQoaWRlbnRpZmllciwgd2VicnRjOjpjcmVhdGVMb2NhbEVu
Y29kZXIod2VicnRjOjpTZHBWaWRlb0Zvcm1hdCB7IGZvcm1hdE5hbWUudXRmOCgpLmRhdGEoKSwg
cnRjUGFyYW1ldGVycyB9LCBeKGNvbnN0IHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IHNpemUsIGNv
bnN0IHdlYnJ0Yzo6V2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5mbywgd2VicnRjOjpSVFBGcmFn
bWVudGF0aW9uSGVhZGVyKiBoZWFkZXIpIHsKKworICAgIGF1dG8qIGVuY29kZXIgPSB3ZWJydGM6
OmNyZWF0ZUxvY2FsRW5jb2Rlcih3ZWJydGM6OlNkcFZpZGVvRm9ybWF0IHsgZm9ybWF0TmFtZS51
dGY4KCkuZGF0YSgpLCBydGNQYXJhbWV0ZXJzIH0sIF4oY29uc3QgdWludDhfdCogYnVmZmVyLCBz
aXplX3Qgc2l6ZSwgY29uc3Qgd2VicnRjOjpXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZvLCB3
ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqIGhlYWRlcikgewogICAgICAgICAKICAgICAg
ICAgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2Vz
OjpMaWJXZWJSVENDb2RlY3M6OkNvbXBsZXRlZEVuY29kaW5nIHsgaWRlbnRpZmllciwgSVBDOjpE
YXRhUmVmZXJlbmNlIHsgYnVmZmVyLCBzaXplIH0sIGluZm8sIHdlYnJ0Yzo6V2ViS2l0UlRQRnJh
Z21lbnRhdGlvbkhlYWRlciB7IGhlYWRlciB9IH0sIDApOwotICAgIH0pKTsKKyAgICB9KTsKKyAg
ICB3ZWJydGM6OnNldExvY2FsRW5jb2Rlckxvd0xhdGVuY3koZW5jb2RlciwgdXNlTG93TGF0ZW5j
eSk7CisgICAgbV9lbmNvZGVycy5hZGQoaWRlbnRpZmllciwgZW5jb2Rlcik7CiB9CiAKIHZvaWQg
TGliV2ViUlRDQ29kZWNzUHJveHk6OnJlbGVhc2VFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcAppbmRleCAyOTU0OGExYjdiOTlhNDI1YjMyMWExZWQ2
NjkyNGE2MjczMDAwMmEzLi5lOGZhMjE3NDNhMDZiN2ViNzNjMmYwMzgzY2E1MzgwYzZkOTg4MTUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJS
VENDb2RlY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xp
YldlYlJUQ0NvZGVjcy5jcHAKQEAgLTM2LDkgKzM2LDkgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xp
YldlYlJUQ01hY3Jvcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVWaWRlb1V0aWxpdGll
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaD4KICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dl
YktpdC9XZWJLaXREZWNvZGVyLmg+CiAjaW5jbHVkZSA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0
RW5jb2Rlci5oPgotI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5o
PgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1l
ZGlhU29mdExpbmsuaD4KQEAgLTI1OSw3ICsyNTksNyBAQCB2b2lkIExpYldlYlJUQ0NvZGVjczo6
Y29tcGxldGVkRGVjb2RpbmcoUlRDRGVjb2RlcklkZW50aWZpZXIgZGVjb2RlcklkZW50aWZpZXIs
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB3ZWJydGM6OlJlbW90ZVZpZGVvRGVjb2Rl
cjo6ZGVjb2RlQ29tcGxldGUoZGVjb2Rlci0+ZGVjb2RlZEltYWdlQ2FsbGJhY2ssIHRpbWVTdGFt
cCwgcGl4ZWxCdWZmZXIuZ2V0KCksIHJlbW90ZVNhbXBsZS50aW1lKCkudG9Eb3VibGUoKSk7Cisg
ICAgd2VicnRjOjp2aWRlb0RlY29kZXJUYXNrQ29tcGxldGUoZGVjb2Rlci0+ZGVjb2RlZEltYWdl
Q2FsbGJhY2ssIHRpbWVTdGFtcCwgcGl4ZWxCdWZmZXIuZ2V0KCksIHJlbW90ZVNhbXBsZS50aW1l
KCkudG9Eb3VibGUoKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgU3RyaW5nIGZvcm1hdE5hbWVGcm9t
Q29kZWNUeXBlKExpYldlYlJUQ0NvZGVjczo6VHlwZSB0eXBlKQpAQCAtMjg2LDcgKzI4Niw3IEBA
IExpYldlYlJUQ0NvZGVjczo6RW5jb2RlciogTGliV2ViUlRDQ29kZWNzOjpjcmVhdGVFbmNvZGVy
KFR5cGUgdHlwZSwgY29uc3Qgc3RkOjptCiAgICAgICAgIGF1dG8gZW5jb2RlcklkZW50aWZpZXIg
PSBlbmNvZGVyLT5pZGVudGlmaWVyOwogICAgICAgICBBU1NFUlQoIW1fZW5jb2RlcnMuY29udGFp
bnMoZW5jb2RlcklkZW50aWZpZXIpKTsKIAotICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2Vz
OjpMaWJXZWJSVENDb2RlY3NQcm94eTo6Q3JlYXRlRW5jb2RlciB7IGVuY29kZXJJZGVudGlmaWVy
LCBmb3JtYXROYW1lRnJvbUNvZGVjVHlwZSh0eXBlKSwgcGFyYW1ldGVycyB9LCAwKTsKKyAgICAg
ICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oKS5j
b25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzUHJveHk6OkNyZWF0ZUVu
Y29kZXIgeyBlbmNvZGVySWRlbnRpZmllciwgZm9ybWF0TmFtZUZyb21Db2RlY1R5cGUodHlwZSks
IHBhcmFtZXRlcnMsIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2Vi
UlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCgpIH0sIDApOwogICAgICAgICBtX2VuY29k
ZXJzLmFkZChlbmNvZGVySWRlbnRpZmllciwgV1RGTW92ZShlbmNvZGVyKSk7CiAgICAgfSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413032</attachid>
            <date>2020-11-03 03:19:15 -0800</date>
            <delta_ts>2020-11-03 03:57:48 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-218442-20201103121913.patch</filename>
            <type>text/plain</type>
            <size>38822</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5ZjU4YjY1NWIyMjUzYTljNWQzYzQ3YmYzNjlhNWM5NWFlMGI3Yjg3Li5jYWRi
OTA2YjMwYWQyMGU5ZWE1NDVlZjk0ZDRhZDdkZjM3MjNhYTQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAyMC0xMS0wMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbG93IGxhdGVuY3kgSDI2
NCBlbmNvZGVyIGluIEdQVVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxODQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIHVzZUxvd0xhdGVuY3kgYm9vbGVhbiBpbiBSVENWaWRlb0Vu
Y29kZXJIMjY0IGFuZCBpbiBlbmNvZGVyIGZhY3RvcnkuCisgICAgICAgIEVuY29kZXIgaXMgc2V0
IGJ5IHRoZSBmYWN0b3J5IGF0IGNyZWF0aW9uIHRpbWUuCisgICAgICAgIHVzZUxvd0xhdGVuY3kg
ZmFjdG9yeSB2YWx1ZSBpcyBzZXQgYXQgY3JlYXRpb24gb2YgdGhlIGZhY3RvcnkuCisKKyAgICAg
ICAgQ2xlYW4gdXAgV2ViS2l0WFguaCBoZWFkZXJzIHRvIGRvIGxlc3MgaW5jbHVkZSBhbmQgbW92
ZSBkZWNsYXJhdGlvbnMgaW4gc3BlY2lmaWMgaGVhZGVycy4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndl
YnJ0Yy5pT1NzaW0uZXhwOgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMu
ZXhwOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmg6
CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdERlY29kZXIubW06Cisg
ICAgICAgICh3ZWJydGM6OnZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZSk6CisgICAgICAgICogU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaDoKKyAgICAgICAgKiBTb3VyY2Uv
d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbToKKyAgICAgICAgKC1bV0tfUlRDTG9j
YWxWaWRlb0gyNjRIMjY1RW5jb2RlciBzZXRMb3dMYXRlbmN5Ol0pOgorICAgICAgICAod2VicnRj
OjpjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeSk6CisgICAgICAgICh3ZWJydGM6OnNldExvY2Fs
RW5jb2Rlckxvd0xhdGVuY3kpOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9X
ZWJLaXRVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2Vi
S2l0VXRpbGl0aWVzLm1tOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9u
ZW50cy92aWRlb19jb2RlYy9SVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5oOgorICAgICAg
ICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZh
dWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5tOgorICAgICAgICAoLVtSVENEZWZhdWx0VmlkZW9FbmNv
ZGVyRmFjdG9yeSBpbml0V2l0aEgyNjU6dnA5Omxvd0xhdGVuY3lIMjY0Ol0pOgorICAgICAgICAo
LVtSVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeSBjcmVhdGVFbmNvZGVyOl0pOgorICAgICAg
ICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRl
b0VuY29kZXJIMjY0Lmg6CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25l
bnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQubW06CisgICAgICAgICgtW1JUQ1Zp
ZGVvRW5jb2RlckgyNjQgaW5pdFdpdGhDb2RlY0luZm86XSk6CisgICAgICAgICgtW1JUQ1ZpZGVv
RW5jb2RlckgyNjQgc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDpdKToKKyAgICAgICAg
KC1bUlRDVmlkZW9FbmNvZGVySDI2NCByZXNldENvbXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZv
cm1hdDpdKToKKwogMjAyMC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgU2V0IHZwY0MgYm94IGZvciBoYXJkd2FyZSBXZWJSVEMgVlA5IGRlY29kZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlZjk5NjJhNmU0MGMwZjBiMjI1YTQ0MWE1ZTdhNjU2ZGZmODgzMmFiLi40
NTIwYWZmMzJlNDMyZTAxMDRjNDZkYTFhYmQwODgzYWYxNmVlNGU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMTEtMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGxvdyBsYXRlbmN5IEgyNjQgZW5jb2RlciBpbiBHUFVQcm9jZXNz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg0NDIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIHVz
ZUxvd0xhdGVuY3kgYm9vbGVhbiB3aGVuIGNyZWF0aW5nIGVuY29kZXIgZmFjdG9yeS4KKyAgICAg
ICAgTWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGli
V2ViUlRDUHJvdmlkZXJDb2NvYTo6Y3JlYXRlRW5jb2RlckZhY3RvcnkpOgorCiAyMDIwLTExLTAy
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHNlbmRp
bmcgb3JpZ2lucyBmcm9tIFdlYlByb2Nlc3MgdG8gVUlQcm9jZXNzIGZvciBnZXRVc2VyTWVkaWEg
cmVxdWVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggMDc5MTc1ZDYwNWRmNjZkMWNlOGU0ZTFhMGYyODMxMjkxYjBm
MWM3MS4uYTM3OTBhMTRlOWQ4NGM4ZDhiNGQ1OTIwNGJkNDhkOTRiZTU3NjkzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAyMC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWxsb3cgbG93IGxhdGVuY3kgSDI2NCBlbmNvZGVyIGluIEdQVVBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBh
c3MgdXNlTG93TGF0ZW5jeSBib29sZWFuIGZyb20gV2ViUHJvY2VzcyB0byBHUFVQcm9jZXNzLgor
CisgICAgICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaDoKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbToK
KyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzUHJveHk6OmNyZWF0ZUVuY29kZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nKToKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzOjpjcmVhdGVFbmNvZGVyKToKKwogMjAyMC0xMS0w
MiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzZW5k
aW5nIG9yaWdpbnMgZnJvbSBXZWJQcm9jZXNzIHRvIFVJUHJvY2VzcyBmb3IgZ2V0VXNlck1lZGlh
IHJlcXVlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmln
dXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKaW5kZXggYWIyN2QwZjE5NGVkNjZmZmQ5
Y2NlYzFjM2ZkNTY0OTVhZGI2YjRmYS4uMGFhZGExZjA1MjQxOThhNTEwMTUzMTE2ZWU4ODg3ZDhi
NTYxM2U5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApAQCAtMTA1LDkgKzEwNSw4IEBAIF9f
Wk42d2VicnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UxNlJlbW92ZUNhbmRpZGF0ZXNF
UktOU3QzX18xNnZlY3RvcklON2NyCiBfX1pOSzZ3ZWJydGMyMUljZUNhbmRpZGF0ZUludGVyZmFj
ZTEwc2VydmVyX3VybEV2CiBfX1pONndlYnJ0YzIwc2V0QXBwbGljYXRpb25TdGF0dXNFYgogX19a
TjZ3ZWJydGMyNmNyZWF0ZVdlYktpdERlY29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185
V2ViS2l0VlA5RU5TXzEyV2ViS2l0VlA5VlRCRQotX19aTjZ3ZWJydGMyNmNyZWF0ZVdlYktpdEVu
Y29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0VlA5RQorX19aTjZ3ZWJydGMy
NmNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0VlA5
RU5TXzIwV2ViS2l0SDI2NExvd0xhdGVuY3lFCiBfX1pONndlYnJ0YzI5c2V0SDI2NEhhcmR3YXJl
RW5jb2RlckFsbG93ZWRFYgotX19aTjZ3ZWJydGMzMXNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVu
YWJsZWRFYgogX19aTjZ3ZWJydGMyNHJlZ2lzdGVyV2ViS2l0VlA5RGVjb2RlckV2CiBfX1pONndl
YnJ0YzIwcGl4ZWxCdWZmZXJGcm9tRnJhbWVFUktOU18xMFZpZGVvRnJhbWVFUktOU3QzX18xOGZ1
bmN0aW9uSUZQMTBfX0NWQnVmZmVybW1OU18xMEJ1ZmZlclR5cGVFRUVFCiBfX1pONndlYnJ0YzE4
cGl4ZWxCdWZmZXJUb0ZyYW1lRVAxMF9fQ1ZCdWZmZXIKQEAgLTI0Miw3ICsyNDEsNyBAQCBfX1pO
NndlYnJ0YzIyY3JlYXRlTG9jYWxIMjY0RGVjb2RlckVVMTNibG9ja19wb2ludGVyRnZQMTBfX0NW
QnVmZmVyampFCiBfX1pONndlYnJ0YzIyY3JlYXRlTG9jYWxIMjY1RGVjb2RlckVVMTNibG9ja19w
b2ludGVyRnZQMTBfX0NWQnVmZmVyampFCiBfX1pONndlYnJ0YzE5cmVsZWFzZUxvY2FsRGVjb2Rl
ckVQdgogX19aTjZ3ZWJydGMxMWRlY29kZUZyYW1lRVB2alBLaG0KLV9fWk42d2VicnRjMThSZW1v
dGVWaWRlb0RlY29kZXIxNGRlY29kZUNvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCitfX1pONndl
YnJ0YzI0dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndl
YnJ0YzI0c2V0VmlkZW9EZWNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRF
RVBGaVMwX0VQRmlTMF9qUEtobUVQRmlTMF9TMF9FCiBfX1pONndlYnJ0YzE4UnRwQ29kZWNDYXBh
YmlsaXR5QzFFdgogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNrc0VQRlB2UktO
U18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG1FUEZpUzBfUzBfRQpAQCAtMjUz
LDYgKzI1Miw3IEBAIF9fWk42d2VicnRjMThSZW1vdGVWaWRlb0VuY29kZXIxNGVuY29kZUNvbXBs
ZXRlRVB2UGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluCiBfX1pONndlYnJ0YzIyUlRQRnJh
Z21lbnRhdGlvbkhlYWRlcjZSZXNpemVFbQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5jb2RlckNh
bGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktOU18xMFZp
ZGVvQ29kZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMwX1JLTlNf
MTJWaWRlb0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0YzIwc2V0
TG9jYWxFbmNvZGVyUmF0ZXNFUHZqagorX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rlckxvd0xh
dGVuY3lFUHZiCiBfX1pONndlYnJ0YzIyaW5pdGlhbGl6ZUxvY2FsRW5jb2RlckVQdnR0ampqagog
X19aTjZ3ZWJydGMxNFNkcFZpZGVvRm9ybWF0QzFFUktOU3QzX18xMTJiYXNpY19zdHJpbmdJY05T
MV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUktOUzFfM21hcElTN19TN19O
UzFfNGxlc3NJUzdfRUVOUzVfSU5TMV80cGFpcklTOF9TN19FRUVFRUUKIF9fWk42d2VicnRjMThj
cmVhdGVMb2NhbEVuY29kZXJFUktOU18xNFNkcFZpZGVvRm9ybWF0RVUxM2Jsb2NrX3BvaW50ZXJG
dlBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0VQTlNfMjJSVFBGcmFnbWVudGF0aW9u
SGVhZGVyRUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1
cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cAppbmRleCBhYjI3ZDBmMTk0ZWQ2
NmZmZDljY2VjMWMzZmQ1NjQ5NWFkYjZiNGZhLi4wYWFkYTFmMDUyNDE5OGE1MTAxNTMxMTZlZTg4
ODdkOGI1NjEzZTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29u
ZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCkBAIC0xMDUsOSAr
MTA1LDggQEAgX19aTjZ3ZWJydGMyN1Nlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZTE2UmVtb3Zl
Q2FuZGlkYXRlc0VSS05TdDNfXzE2dmVjdG9ySU43Y3IKIF9fWk5LNndlYnJ0YzIxSWNlQ2FuZGlk
YXRlSW50ZXJmYWNlMTBzZXJ2ZXJfdXJsRXYKIF9fWk42d2VicnRjMjBzZXRBcHBsaWNhdGlvblN0
YXR1c0ViCiBfX1pONndlYnJ0YzI2Y3JlYXRlV2ViS2l0RGVjb2RlckZhY3RvcnlFTlNfMTBXZWJL
aXRIMjY1RU5TXzlXZWJLaXRWUDlFTlNfMTJXZWJLaXRWUDlWVEJFCi1fX1pONndlYnJ0YzI2Y3Jl
YXRlV2ViS2l0RW5jb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5TXzlXZWJLaXRWUDlFCitf
X1pONndlYnJ0YzI2Y3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5T
XzlXZWJLaXRWUDlFTlNfMjBXZWJLaXRIMjY0TG93TGF0ZW5jeUUKIF9fWk42d2VicnRjMjlzZXRI
MjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZEViCi1fX1pONndlYnJ0YzMxc2V0SDI2NExvd0xhdGVu
Y3lFbmNvZGVyRW5hYmxlZEViCiBfX1pONndlYnJ0YzI0cmVnaXN0ZXJXZWJLaXRWUDlEZWNvZGVy
RXYKIF9fWk42d2VicnRjMjBwaXhlbEJ1ZmZlckZyb21GcmFtZUVSS05TXzEwVmlkZW9GcmFtZUVS
S05TdDNfXzE4ZnVuY3Rpb25JRlAxMF9fQ1ZCdWZmZXJtbU5TXzEwQnVmZmVyVHlwZUVFRUUKIF9f
Wk42d2VicnRjMThwaXhlbEJ1ZmZlclRvRnJhbWVFUDEwX19DVkJ1ZmZlcgpAQCAtMjQyLDcgKzI0
MSw3IEBAIF9fWk42d2VicnRjMjJjcmVhdGVMb2NhbEgyNjREZWNvZGVyRVUxM2Jsb2NrX3BvaW50
ZXJGdlAxMF9fQ1ZCdWZmZXJqakUKIF9fWk42d2VicnRjMjJjcmVhdGVMb2NhbEgyNjVEZWNvZGVy
RVUxM2Jsb2NrX3BvaW50ZXJGdlAxMF9fQ1ZCdWZmZXJqakUKIF9fWk42d2VicnRjMTlyZWxlYXNl
TG9jYWxEZWNvZGVyRVB2CiBfX1pONndlYnJ0YzExZGVjb2RlRnJhbWVFUHZqUEtobQotX19aTjZ3
ZWJydGMxOFJlbW90ZVZpZGVvRGVjb2RlcjE0ZGVjb2RlQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZl
cmoKK19fWk42d2VicnRjMjR2aWRlb0RlY29kZXJUYXNrQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZl
cmoKIF9fWk42d2VicnRjMjRzZXRWaWRlb0RlY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBW
aWRlb0Zvcm1hdEVFUEZpUzBfRVBGaVMwX2pQS2htRVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMThS
dHBDb2RlY0NhcGFiaWxpdHlDMUV2CiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNvZGVyQ2FsbGJh
Y2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEtobUVQRmlTMF9T
MF9FCkBAIC0yNTMsNiArMjUyLDcgQEAgX19aTjZ3ZWJydGMxOFJlbW90ZVZpZGVvRW5jb2RlcjE0
ZW5jb2RlQ29tcGxldGVFUHZQaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW4KIF9fWk42d2Vi
cnRjMjJSVFBGcmFnbWVudGF0aW9uSGVhZGVyNlJlc2l6ZUVtCiBfX1pONndlYnJ0YzI0c2V0Vmlk
ZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlT
MF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlTMF9TMF9F
UEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUKIF9fWk42
d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCitfX1pONndlYnJ0YzI1c2V0TG9jYWxF
bmNvZGVyTG93TGF0ZW5jeUVQdmIKIF9fWk42d2VicnRjMjJpbml0aWFsaXplTG9jYWxFbmNvZGVy
RVB2dHRqampqCiBfX1pONndlYnJ0YzE0U2RwVmlkZW9Gb3JtYXRDMUVSS05TdDNfXzExMmJhc2lj
X3N0cmluZ0ljTlMxXzExY2hhcl90cmFpdHNJY0VFTlMxXzlhbGxvY2F0b3JJY0VFRUVSS05TMV8z
bWFwSVM3X1M3X05TMV80bGVzc0lTN19FRU5TNV9JTlMxXzRwYWlySVM4X1M3X0VFRUVFRQogX19a
TjZ3ZWJydGMxOGNyZWF0ZUxvY2FsRW5jb2RlckVSS05TXzE0U2RwVmlkZW9Gb3JtYXRFVTEzYmxv
Y2tfcG9pbnRlckZ2UEtobVJLTlNfMjJXZWJLaXRFbmNvZGVkRnJhbWVJbmZvRVBOU18yMlJUUEZy
YWdtZW50YXRpb25IZWFkZXJFRQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCmluZGV4IDk2ODYwNzY4
YzkzYWYzYTQ5M2VmYWQ4NDYzYWJjMWY1MGZkNDgwMTkuLjcwZjlkOTlhMzZmYWU2NjA0MmUwOGY2
NmYwODMyNDgzOTdiN2Q3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKQEAgLTEwNSw5ICsx
MDUsOCBAQCBfX1pONndlYnJ0YzI3U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlMTZSZW1vdmVD
YW5kaWRhdGVzRVJLTlN0M19fMTZ2ZWN0b3JJTjdjcgogX19aTks2d2VicnRjMjFJY2VDYW5kaWRh
dGVJbnRlcmZhY2UxMHNlcnZlcl91cmxFdgogX19aTjZ3ZWJydGMyMHNldEFwcGxpY2F0aW9uU3Rh
dHVzRWIKIF9fWk42d2VicnRjMjZjcmVhdGVXZWJLaXREZWNvZGVyRmFjdG9yeUVOU18xMFdlYktp
dEgyNjVFTlNfOVdlYktpdFZQOUVOU18xMldlYktpdFZQOVZUQkUKLV9fWk42d2VicnRjMjZjcmVh
dGVXZWJLaXRFbmNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNfOVdlYktpdFZQOUUKK19f
Wk42d2VicnRjMjZjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNf
OVdlYktpdFZQOUVOU18yMFdlYktpdEgyNjRMb3dMYXRlbmN5RQogX19aTjZ3ZWJydGMyOXNldEgy
NjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkRWIKLV9fWk42d2VicnRjMzFzZXRIMjY0TG93TGF0ZW5j
eUVuY29kZXJFbmFibGVkRWIKIF9fWk42d2VicnRjMjRyZWdpc3RlcldlYktpdFZQOURlY29kZXJF
dgogX19aTjZ3ZWJydGMyMHBpeGVsQnVmZmVyRnJvbUZyYW1lRVJLTlNfMTBWaWRlb0ZyYW1lRVJL
TlN0M19fMThmdW5jdGlvbklGUDEwX19DVkJ1ZmZlcm1tTlNfMTBCdWZmZXJUeXBlRUVFRQogX19a
TjZ3ZWJydGMxOHBpeGVsQnVmZmVyVG9GcmFtZUVQMTBfX0NWQnVmZmVyCkBAIC0yNDIsNyArMjQx
LDcgQEAgX19aTjZ3ZWJydGMyMmNyZWF0ZUxvY2FsSDI2NERlY29kZXJFVTEzYmxvY2tfcG9pbnRl
ckZ2UDEwX19DVkJ1ZmZlcmpqRQogX19aTjZ3ZWJydGMyMmNyZWF0ZUxvY2FsSDI2NURlY29kZXJF
VTEzYmxvY2tfcG9pbnRlckZ2UDEwX19DVkJ1ZmZlcmpqRQogX19aTjZ3ZWJydGMxOXJlbGVhc2VM
b2NhbERlY29kZXJFUHYKIF9fWk42d2VicnRjMTFkZWNvZGVGcmFtZUVQdmpQS2htCi1fX1pONndl
YnJ0YzE4UmVtb3RlVmlkZW9EZWNvZGVyMTRkZWNvZGVDb21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVy
agorX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVy
agogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNkcFZp
ZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG1FUEZpUzBfUzBfRQogX19aTjZ3ZWJydGMxOFJ0
cENvZGVjQ2FwYWJpbGl0eUMxRXYKIF9fWk42d2VicnRjMjJSVFBGcmFnbWVudGF0aW9uSGVhZGVy
RDFFdgpAQCAtMjUxLDYgKzI1MCw3IEBAIF9fWk42d2VicnRjMThSZW1vdGVWaWRlb0VuY29kZXIx
NGVuY29kZUNvbXBsZXRlRVB2UGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluCiBfX1pONndl
YnJ0YzIyUlRQRnJhZ21lbnRhdGlvbkhlYWRlcjZSZXNpemVFbQogX19aTjZ3ZWJydGMyNHNldFZp
ZGVvRW5jb2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZp
UzBfUktOU18xMFZpZGVvQ29kZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBf
RVBGdlMwX1JLTlNfMTJWaWRlb0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pO
NndlYnJ0YzIwc2V0TG9jYWxFbmNvZGVyUmF0ZXNFUHZqagorX19aTjZ3ZWJydGMyNXNldExvY2Fs
RW5jb2Rlckxvd0xhdGVuY3lFUHZiCiBfX1pONndlYnJ0YzIyaW5pdGlhbGl6ZUxvY2FsRW5jb2Rl
ckVQdnR0ampqagogX19aTjZ3ZWJydGMxNFNkcFZpZGVvRm9ybWF0QzFFUktOU3QzX18xMTJiYXNp
Y19zdHJpbmdJY05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUktOUzFf
M21hcElTN19TN19OUzFfNGxlc3NJUzdfRUVOUzVfSU5TMV80cGFpcklTOF9TN19FRUVFRUUKIF9f
Wk42d2VicnRjMThjcmVhdGVMb2NhbEVuY29kZXJFUktOU18xNFNkcFZpZGVvRm9ybWF0RVUxM2Js
b2NrX3BvaW50ZXJGdlBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0VQTlNfMjJSVFBG
cmFnbWVudGF0aW9uSGVhZGVyRUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5oIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVy
LmgKaW5kZXggZmFjYTM2MTBlYzI3NmVlNWFlOTIxMTJlNWE1ZjkwODYxOWM5YjRiNC4uYjQwZjM3
YzVlMTdhNTYyMjgxOGRkOTQ3ZDY2NWU1NTc0ZmUwYTI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVy
LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dl
YktpdC9XZWJLaXREZWNvZGVyLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXIuaCIKKyNpbmNsdWRlICJX
ZWJLaXRVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29k
ZXJfZmFjdG9yeS5oIgogCiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVsQnVmZmVy
UmVmOwpAQCAtMzMsNiArMzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVs
QnVmZmVyUmVmOwogbmFtZXNwYWNlIHdlYnJ0YyB7CiAKIHN0cnVjdCBTZHBWaWRlb0Zvcm1hdDsK
K2NsYXNzIFZpZGVvRGVjb2RlckZhY3Rvcnk7CiAKIHVzaW5nIFdlYktpdFZpZGVvRGVjb2RlciA9
IHZvaWQqOwogdXNpbmcgVmlkZW9EZWNvZGVyQ3JlYXRlQ2FsbGJhY2sgPSBXZWJLaXRWaWRlb0Rl
Y29kZXIoKikoY29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCk7CkBAIC00MiwzNCArNDMsOSBA
QCB1c2luZyBWaWRlb0RlY29kZXJSZWdpc3RlckRlY29kZUNvbXBsZXRlQ2FsbGJhY2sgPSBpbnQz
Ml90KCopKFdlYktpdFZpZGVvRGVjb2RlcgogCiB2b2lkIHNldFZpZGVvRGVjb2RlckNhbGxiYWNr
cyhWaWRlb0RlY29kZXJDcmVhdGVDYWxsYmFjaywgVmlkZW9EZWNvZGVyUmVsZWFzZUNhbGxiYWNr
LCBWaWRlb0RlY29kZXJEZWNvZGVDYWxsYmFjaywgVmlkZW9EZWNvZGVyUmVnaXN0ZXJEZWNvZGVD
b21wbGV0ZUNhbGxiYWNrKTsKIAotY2xhc3MgUmVtb3RlVmlkZW9EZWNvZGVyRmFjdG9yeSBmaW5h
bCA6IHB1YmxpYyBWaWRlb0RlY29kZXJGYWN0b3J5IHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBS
ZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0RlY29kZXJGYWN0
b3J5PiYmKTsKLSAgICB+UmVtb3RlVmlkZW9EZWNvZGVyRmFjdG9yeSgpID0gZGVmYXVsdDsKK3N0
ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRGVjb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdERl
Y29kZXJGYWN0b3J5KFdlYktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0VlA5VlRCKTsKK3ZvaWQg
dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3Rh
bXAsIENWUGl4ZWxCdWZmZXJSZWYsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCk7CiAKLXByaXZhdGU6
Ci0gICAgc3RkOjp2ZWN0b3I8U2RwVmlkZW9Gb3JtYXQ+IEdldFN1cHBvcnRlZEZvcm1hdHMoKSBj
b25zdCBmaW5hbDsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VmlkZW9EZWNvZGVyPiBDcmVhdGVWaWRl
b0RlY29kZXIoY29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCkgZmluYWw7Ci0KLSAgICBzdGQ6
OnVuaXF1ZV9wdHI8VmlkZW9EZWNvZGVyRmFjdG9yeT4gbV9pbnRlcm5hbEZhY3Rvcnk7Ci19Owot
Ci1jbGFzcyBSZW1vdGVWaWRlb0RlY29kZXIgZmluYWwgOiBwdWJsaWMgd2VicnRjOjpWaWRlb0Rl
Y29kZXIgewotcHVibGljOgotICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvRGVjb2RlcihXZWJLaXRW
aWRlb0RlY29kZXIpOwotICAgIH5SZW1vdGVWaWRlb0RlY29kZXIoKSA9IGRlZmF1bHQ7Ci0KLSAg
ICBzdGF0aWMgdm9pZCBkZWNvZGVDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgdWludDMyX3QgdGlt
ZVN0YW1wLCBDVlBpeGVsQnVmZmVyUmVmLCB1aW50MzJfdCB0aW1lU3RhbXBSVFApOwotCi1wcml2
YXRlOgotICAgIGludDMyX3QgSW5pdERlY29kZShjb25zdCBWaWRlb0NvZGVjKiwgaW50MzJfdCBu
dW1iZXJfb2ZfY29yZXMpIGZpbmFsOwotICAgIGludDMyX3QgRGVjb2RlKGNvbnN0IEVuY29kZWRJ
bWFnZSYsIGJvb2wgbWlzc2luZ19mcmFtZXMsIGludDY0X3QgcmVuZGVyX3RpbWVfbXMpIGZpbmFs
OwotICAgIGludDMyX3QgUmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNrKERlY29kZWRJbWFn
ZUNhbGxiYWNrKikgZmluYWw7Ci0gICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWw7Ci0gICAgY29u
c3QgY2hhciogSW1wbGVtZW50YXRpb25OYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlbW90
ZVZpZGVvVG9vbEJveCI7IH0KLQotICAgIFdlYktpdFZpZGVvRGVjb2RlciBtX2ludGVybmFsRGVj
b2RlcjsKLX07CiAKIHVzaW5nIExvY2FsRGVjb2RlciA9IHZvaWQqOwogdXNpbmcgTG9jYWxEZWNv
ZGVyQ2FsbGJhY2sgPSB2b2lkICheKShDVlBpeGVsQnVmZmVyUmVmLCB1aW50MzJfdCB0aW1lU3Rh
bXAsIHVpbnQzMl90IHRpbWVTdGFtcE5zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5tbSBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0
RGVjb2Rlci5tbQppbmRleCAyODdlMTk2ZjAxYjhkNTBhZDMwMGNhNjU2NGE4ZDRjZDBhMTEyNWY0
Li5kMTQ4ZTliZDJkN2E3Y2ViNzBkNGI4MTFiNjM0ZDRhOTZmNGI2MGQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktp
dERlY29kZXIubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJy
dGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLm1tCkBAIC0yOSw2ICsyOSwxMCBAQAogI2ltcG9y
dCAiRnJhbWV3b3JrL0hlYWRlcnMvV2ViUlRDL1JUQ1ZpZGVvRnJhbWVCdWZmZXIuaCIKICNpbXBv
cnQgIkZyYW1ld29yay9OYXRpdmUvYXBpL3ZpZGVvX2RlY29kZXJfZmFjdG9yeS5oIgogI2ltcG9y
dCAiV2ViS2l0VXRpbGl0aWVzLmgiCisjaW1wb3J0ICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2Rl
Y29kZXIuaCIKKyNpbXBvcnQgImFwaS92aWRlb19jb2RlY3MvdmlkZW9fZGVjb2Rlcl9mYWN0b3J5
LmgiCisjaW1wb3J0ICJtb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvaDI2NC9pbmNsdWRlL2gy
NjQuaCIKKyNpbXBvcnQgIm1vZHVsZXMvdmlkZW9fY29kaW5nL2luY2x1ZGUvdmlkZW9fZXJyb3Jf
Y29kZXMuaCIKICNpbXBvcnQgInNkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlk
ZW9EZWNvZGVySDI2NC5oIgogI2ltcG9ydCAic2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2Rl
Yy9SVENWaWRlb0RlY29kZXJIMjY1LmgiCiAKQEAgLTgzLDYgKzg3LDMzIEBACiAKIG5hbWVzcGFj
ZSB3ZWJydGMgewogCitjbGFzcyBSZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5IGZpbmFsIDogcHVi
bGljIFZpZGVvRGVjb2RlckZhY3RvcnkgeworcHVibGljOgorICAgIGV4cGxpY2l0IFJlbW90ZVZp
ZGVvRGVjb2RlckZhY3Rvcnkoc3RkOjp1bmlxdWVfcHRyPFZpZGVvRGVjb2RlckZhY3Rvcnk+JiYp
OworICAgIH5SZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5KCkgPSBkZWZhdWx0OworCitwcml2YXRl
OgorICAgIHN0ZDo6dmVjdG9yPFNkcFZpZGVvRm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkg
Y29uc3QgZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRGVjb2Rlcj4gQ3JlYXRlVmlk
ZW9EZWNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOworCisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFZpZGVvRGVjb2RlckZhY3Rvcnk+IG1faW50ZXJuYWxGYWN0b3J5OworfTsK
KworY2xhc3MgUmVtb3RlVmlkZW9EZWNvZGVyIGZpbmFsIDogcHVibGljIHdlYnJ0Yzo6VmlkZW9E
ZWNvZGVyIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBSZW1vdGVWaWRlb0RlY29kZXIoV2ViS2l0
VmlkZW9EZWNvZGVyKTsKKyAgICB+UmVtb3RlVmlkZW9EZWNvZGVyKCkgPSBkZWZhdWx0OworCitw
cml2YXRlOgorICAgIGludDMyX3QgSW5pdERlY29kZShjb25zdCBWaWRlb0NvZGVjKiwgaW50MzJf
dCBudW1iZXJfb2ZfY29yZXMpIGZpbmFsOworICAgIGludDMyX3QgRGVjb2RlKGNvbnN0IEVuY29k
ZWRJbWFnZSYsIGJvb2wgbWlzc2luZ19mcmFtZXMsIGludDY0X3QgcmVuZGVyX3RpbWVfbXMpIGZp
bmFsOworICAgIGludDMyX3QgUmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNrKERlY29kZWRJ
bWFnZUNhbGxiYWNrKikgZmluYWw7CisgICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWw7CisgICAg
Y29uc3QgY2hhciogSW1wbGVtZW50YXRpb25OYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJl
bW90ZVZpZGVvVG9vbEJveCI7IH0KKworICAgIFdlYktpdFZpZGVvRGVjb2RlciBtX2ludGVybmFs
RGVjb2RlcjsKK307CisKIHN0cnVjdCBWaWRlb0RlY29kZXJDYWxsYmFja3MgewogICAgIFZpZGVv
RGVjb2RlckNyZWF0ZUNhbGxiYWNrIGNyZWF0ZUNhbGxiYWNrOwogICAgIFZpZGVvRGVjb2RlclJl
bGVhc2VDYWxsYmFjayByZWxlYXNlQ2FsbGJhY2s7CkBAIC0xMDksNyArMTQwLDcgQEAgUmVtb3Rl
VmlkZW9EZWNvZGVyOjpSZW1vdGVWaWRlb0RlY29kZXIoV2ViS2l0VmlkZW9EZWNvZGVyIGludGVy
bmFsRGVjb2RlcikKIHsKIH0KIAotdm9pZCBSZW1vdGVWaWRlb0RlY29kZXI6OmRlY29kZUNvbXBs
ZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZmZXJSZWYg
cGl4ZWxCdWZmZXIsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCkKK3ZvaWQgdmlkZW9EZWNvZGVyVGFz
a0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZm
ZXJSZWYgcGl4ZWxCdWZmZXIsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCkKIHsKICAgICBhdXRvIHZp
ZGVvRnJhbWUgPSBWaWRlb0ZyYW1lOjpCdWlsZGVyKCkuc2V0X3ZpZGVvX2ZyYW1lX2J1ZmZlcihw
aXhlbEJ1ZmZlclRvRnJhbWUocGl4ZWxCdWZmZXIpKQogICAgICAgICAuc2V0X3RpbWVzdGFtcF9y
dHAodGltZVN0YW1wUlRQKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaApp
bmRleCBkYjZlNmU2MWRjODY2YjM2YThhZWEzNDAwYTJiZjExOTU2YjM2ZGMxLi5iYTI2NjEwNzUx
OTEwYjEzMjEzMWZmZTY3Y2FhOTIxMWVjOTUyN2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdEVuY29kZXIuaApAQCAtMjUsMTAgKzI1LDEyIEBACiAKICNwcmFnbWEgb25jZQogCisj
aW5jbHVkZSAiV2ViS2l0VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92
aWRlb19lbmNvZGVyLmgiCiAjaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92aWRlb19lbmNvZGVy
X2ZhY3RvcnkuaCIKICNpbmNsdWRlICJhcGkvdmlkZW8vZW5jb2RlZF9pbWFnZS5oIgogI2luY2x1
ZGUgIm1vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzLmgiCisjaW5jbHVkZSAibW9k
dWxlcy92aWRlb19jb2RpbmcvaW5jbHVkZS92aWRlb19lcnJvcl9jb2Rlcy5oIgogCiB1c2luZyBD
VlBpeGVsQnVmZmVyUmVmID0gc3RydWN0IF9fQ1ZCdWZmZXIqOwogCkBAIC00MCwyMiArNDIsNyBA
QCBjbGFzcyBWaWRlb0ZyYW1lOwogc3RydWN0IFNkcFZpZGVvRm9ybWF0OwogY2xhc3MgU2V0dGlu
Z3M7CiAKLWNsYXNzIFZpZGVvRW5jb2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0IGZpbmFsIDogcHVi
bGljIFZpZGVvRW5jb2RlckZhY3RvcnkgewotcHVibGljOgotICAgIGV4cGxpY2l0IFZpZGVvRW5j
b2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXJGYWN0
b3J5PiYmIGZhY3RvcnkpCi0gICAgICAgIDogbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5KHN0ZDo6
bW92ZShmYWN0b3J5KSkKLSAgICB7Ci0gICAgfQotCi0gICAgVmlkZW9FbmNvZGVyRmFjdG9yeTo6
Q29kZWNJbmZvIFF1ZXJ5VmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeS0+UXVlcnlWaWRl
b0VuY29kZXIoZm9ybWF0KTsgfQotCi0gICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2Rlcj4g
Q3JlYXRlVmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOwot
IAotICAgIHN0ZDo6dmVjdG9yPFNkcFZpZGVvRm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5LT5HZXRTdXBwb3J0
ZWRGb3JtYXRzKCk7IH0KLQotcHJpdmF0ZToKLSAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Vmlk
ZW9FbmNvZGVyRmFjdG9yeT4gbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5OwotfTsKK3N0ZDo6dW5p
cXVlX3B0cjx3ZWJydGM6OlZpZGVvRW5jb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdEVuY29kZXJG
YWN0b3J5KFdlYktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0SDI2NExvd0xhdGVuY3kpOwogCiB1
c2luZyBXZWJLaXRWaWRlb0VuY29kZXIgPSB2b2lkKjsKIHVzaW5nIFZpZGVvRW5jb2RlckNyZWF0
ZUNhbGxiYWNrID0gV2ViS2l0VmlkZW9FbmNvZGVyKCopKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBm
b3JtYXQpOwpAQCAtMTI0LDYgKzExMSw3IEBAIHZvaWQgcmVsZWFzZUxvY2FsRW5jb2RlcihMb2Nh
bEVuY29kZXIpOwogdm9pZCBpbml0aWFsaXplTG9jYWxFbmNvZGVyKExvY2FsRW5jb2RlciwgdWlu
dDE2X3Qgd2lkdGgsIHVpbnQxNl90IGhlaWdodCwgdW5zaWduZWQgaW50IHN0YXJ0Qml0cmF0ZSwg
dW5zaWduZWQgaW50IG1heEJpdHJhdGUsIHVuc2lnbmVkIGludCBtaW5CaXRyYXRlLCB1aW50MzJf
dCBtYXhGcmFtZXJhdGUpOwogdm9pZCBlbmNvZGVMb2NhbEVuY29kZXJGcmFtZShMb2NhbEVuY29k
ZXIsIENWUGl4ZWxCdWZmZXJSZWYsIGludDY0X3QgdGltZVN0YW1wLCB3ZWJydGM6OlZpZGVvUm90
YXRpb24sIGJvb2wgaXNLZXlmcmFtZVJlcXVpcmVkKTsKIHZvaWQgc2V0TG9jYWxFbmNvZGVyUmF0
ZXMoTG9jYWxFbmNvZGVyLCB1aW50MzJfdCBiaXRSYXRlLCB1aW50MzJfdCBmcmFtZVJhdGUpOwor
dm9pZCBzZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5KExvY2FsRW5jb2RlciwgYm9vbCBpc0xvd0xh
dGVuY3lFbmFibGVkKTsKIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KIGJvb2wgV2ViS2l0RW5j
b2RlZEZyYW1lSW5mbzo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYktpdEVuY29kZWRGcmFt
ZUluZm8mIGluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0KaW5k
ZXggZDZmY2M1MDBmYWIzNWRlYmM4ZjA5ODNiYzgzMDU5M2Y0NjkzNGE2Mi4uNWY1MmNkZDM1NTAz
Yjg3ZDRiMDQzZDM3Mzk5NzY3NzY5YWViZWM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQv
V2ViS2l0RW5jb2Rlci5tbQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIldlYktpdFV0aWxp
dGllcy5oIgogI2luY2x1ZGUgImFwaS92aWRlby92aWRlb19mcmFtZS5oIgogI2luY2x1ZGUgImNv
bXBvbmVudHMvdmlkZW9fY29kZWMvUlRDQ29kZWNTcGVjaWZpY0luZm9IMjY0K1ByaXZhdGUuaCIK
KyNpbmNsdWRlICJtZWRpYS9lbmdpbmUvZW5jb2Rlcl9zaW11bGNhc3RfcHJveHkuaCIKICNpbmNs
dWRlICJtb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L3NpbXVsY2FzdF91dGlsaXR5LmgiCiAj
aW5jbHVkZSAic2RrL29iamMvYXBpL3BlZXJjb25uZWN0aW9uL1JUQ0VuY29kZWRJbWFnZStQcml2
YXRlLmgiCiAjaW5jbHVkZSAic2RrL29iamMvYXBpL3BlZXJjb25uZWN0aW9uL1JUQ1J0cEZyYWdt
ZW50YXRpb25IZWFkZXIrUHJpdmF0ZS5oIgpAQCAtNDYsNiArNDcsNyBAQAogLSAoTlNJbnRlZ2Vy
KXN0YXJ0RW5jb2RlV2l0aFNldHRpbmdzOihSVENWaWRlb0VuY29kZXJTZXR0aW5ncyAqKXNldHRp
bmdzIG51bWJlck9mQ29yZXM6KGludCludW1iZXJPZkNvcmVzOwogLSAoTlNJbnRlZ2VyKWVuY29k
ZTooUlRDVmlkZW9GcmFtZSAqKWZyYW1lIGNvZGVjU3BlY2lmaWNJbmZvOihudWxsYWJsZSBpZDxS
VENDb2RlY1NwZWNpZmljSW5mbz4paW5mbyBmcmFtZVR5cGVzOihOU0FycmF5PE5TTnVtYmVyICo+
ICopZnJhbWVUeXBlczsKIC0gKGludClzZXRCaXRyYXRlOih1aW50MzJfdCliaXRyYXRlS2JpdCBm
cmFtZXJhdGU6KHVpbnQzMl90KWZyYW1lcmF0ZTsKKy0gKHZvaWQpc2V0TG93TGF0ZW5jeTooYm9v
bClsb3dMYXRlbmN5RW5hYmxlZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLX1JUQ0xvY2Fs
VmlkZW9IMjY0SDI2NUVuY29kZXIgewpAQCAtOTIsMTAgKzk0LDMwIEBACiAgICAgICAgIHJldHVy
biBbbV9oMjY0RW5jb2RlciBzZXRCaXRyYXRlOmJpdHJhdGVLYml0IGZyYW1lcmF0ZTpmcmFtZXJh
dGVdOwogICAgIHJldHVybiBbbV9oMjY1RW5jb2RlciBzZXRCaXRyYXRlOmJpdHJhdGVLYml0IGZy
YW1lcmF0ZTpmcmFtZXJhdGVdOwogfQorLSAodm9pZClzZXRMb3dMYXRlbmN5Oihib29sKWxvd0xh
dGVuY3lFbmFibGVkIHsKKyAgICBpZiAobV9oMjY0RW5jb2RlcikKKyAgICAgICAgW21faDI2NEVu
Y29kZXIgc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDpsb3dMYXRlbmN5RW5hYmxlZF07
Cit9CiBAZW5kCisKIG5hbWVzcGFjZSB3ZWJydGMgewogCi1zdGQ6OnVuaXF1ZV9wdHI8d2VicnRj
OjpWaWRlb0VuY29kZXJGYWN0b3J5PiBjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeShXZWJLaXRI
MjY1IHN1cHBvcnRzSDI2NSwgV2ViS2l0VlA5IHN1cHBvcnRzVlA5KQorY2xhc3MgVmlkZW9FbmNv
ZGVyRmFjdG9yeVdpdGhTaW11bGNhc3QgZmluYWwgOiBwdWJsaWMgVmlkZW9FbmNvZGVyRmFjdG9y
eSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgVmlkZW9FbmNvZGVyRmFjdG9yeVdpdGhTaW11bGNh
c3Qoc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2RlckZhY3Rvcnk+JiYgZmFjdG9yeSkKKyAgICAg
ICAgOiBtX2ludGVybmFsRW5jb2RlckZhY3Rvcnkoc3RkOjptb3ZlKGZhY3RvcnkpKQorICAgIHsK
KyAgICB9CisKKyAgICBWaWRlb0VuY29kZXJGYWN0b3J5OjpDb2RlY0luZm8gUXVlcnlWaWRlb0Vu
Y29kZXIoY29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5LT5RdWVyeVZpZGVvRW5jb2Rlcihmb3JtYXQpOyB9Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2Rlcj4gQ3JlYXRlVmlkZW9FbmNvZGVyKGNvbnN0
IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOworICAgIHN0ZDo6dmVjdG9yPFNkcFZpZGVv
Rm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pbnRl
cm5hbEVuY29kZXJGYWN0b3J5LT5HZXRTdXBwb3J0ZWRGb3JtYXRzKCk7IH0KKworcHJpdmF0ZToK
KyAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8VmlkZW9FbmNvZGVyRmFjdG9yeT4gbV9pbnRlcm5h
bEVuY29kZXJGYWN0b3J5OworfTsKKworc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNv
ZGVyRmFjdG9yeT4gY3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoV2ViS2l0SDI2NSBzdXBwb3J0
c0gyNjUsIFdlYktpdFZQOSBzdXBwb3J0c1ZQOSwgV2ViS2l0SDI2NExvd0xhdGVuY3kgdXNlSDI2
NExvd0xhdGVuY3kpCiB7CiAjaWYgRU5BQkxFX1ZDUF9FTkNPREVSIHx8IEVOQUJMRV9WQ1BfVlRC
X0VOQ09ERVIKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CkBAIC0xMDQsNyAr
MTI2LDcgQEAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNvZGVyRmFjdG9yeT4gY3Jl
YXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoV2ViS2l0SDIKICAgICB9KTsKICNlbmRpZgogCi0gICAg
YXV0byBpbnRlcm5hbEZhY3RvcnkgPSBPYmpDVG9OYXRpdmVWaWRlb0VuY29kZXJGYWN0b3J5KFtb
UlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkgYWxsb2NdIGluaXRXaXRoSDI2NTogc3VwcG9y
dHNIMjY1ID09IFdlYktpdEgyNjU6Ok9uIHZwOTpzdXBwb3J0c1ZQOSA9PSBXZWJLaXRWUDk6Ok9u
XSk7CisgICAgYXV0byBpbnRlcm5hbEZhY3RvcnkgPSBPYmpDVG9OYXRpdmVWaWRlb0VuY29kZXJG
YWN0b3J5KFtbUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkgYWxsb2NdIGluaXRXaXRoSDI2
NTogc3VwcG9ydHNIMjY1ID09IFdlYktpdEgyNjU6Ok9uIHZwOTpzdXBwb3J0c1ZQOSA9PSBXZWJL
aXRWUDk6Ok9uIGxvd0xhdGVuY3lIMjY0OnVzZUgyNjRMb3dMYXRlbmN5ID09IFdlYktpdEgyNjRM
b3dMYXRlbmN5OjpPbl0pOwogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFZpZGVvRW5jb2Rl
ckZhY3RvcnlXaXRoU2ltdWxjYXN0PihzdGQ6Om1vdmUoaW50ZXJuYWxGYWN0b3J5KSk7CiB9CiAK
QEAgLTExOSwxNyArMTQxLDYgQEAgYm9vbCBpc0gyNjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkKCkK
ICAgICByZXR1cm4gaDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQ7CiB9CiAKLXN0YXRpYyBib29s
IGgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQgPSBmYWxzZTsKLXZvaWQgc2V0SDI2NExvd0xh
dGVuY3lFbmNvZGVyRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgaDI2NExvd0xhdGVuY3lF
bmNvZGVyRW5hYmxlZCA9IGVuYWJsZWQ7Ci19Ci0KLWJvb2wgaXNIMjY0TG93TGF0ZW5jeUVuY29k
ZXJFbmFibGVkKCkKLXsKLSAgICByZXR1cm4gaDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDsK
LX0KLQogc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2Rlcj4gVmlkZW9FbmNvZGVyRmFjdG9yeVdp
dGhTaW11bGNhc3Q6OkNyZWF0ZVZpZGVvRW5jb2Rlcihjb25zdCBTZHBWaWRlb0Zvcm1hdCYgZm9y
bWF0KQogewogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEVuY29kZXJTaW11bGNhc3RQcm94
eT4obV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5LmdldCgpLCBmb3JtYXQpOwpAQCAtMzA1LDQgKzMx
NiwxMCBAQCB2b2lkIHNldExvY2FsRW5jb2RlclJhdGVzKExvY2FsRW5jb2RlciBsb2NhbEVuY29k
ZXIsIHVpbnQzMl90IGJpdFJhdGUsIHVpbnQzMl90CiAgICAgW2VuY29kZXIgc2V0Qml0cmF0ZTpi
aXRSYXRlIGZyYW1lcmF0ZTpmcmFtZVJhdGVdOwogfQogCit2b2lkIHNldExvY2FsRW5jb2Rlckxv
d0xhdGVuY3koTG9jYWxFbmNvZGVyIGxvY2FsRW5jb2RlciwgYm9vbCBpc0xvd0xhdGVuY3lFbmFi
bGVkKQoreworICAgIGF1dG8gKmVuY29kZXIgPSAoX19icmlkZ2UgV0tfUlRDTG9jYWxWaWRlb0gy
NjRIMjY1RW5jb2RlciAqKShsb2NhbEVuY29kZXIpOworICAgIFtlbmNvZGVyIHNldExvd0xhdGVu
Y3k6aXNMb3dMYXRlbmN5RW5hYmxlZF07Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0VXRpbGl0aWVz
LmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdFV0aWxpdGllcy5oCmluZGV4IGQ3ZDJiZDBlODJlMjBhYmRjNWZmZWFmZTQwMjQ0YjA0
NjAyYjExNTQuLjRmZWIyYzllOGVhMTM5MzE2MjBkMTFlY2I3NWU4OGVhZDU1NDU3ODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJL
aXQvV2ViS2l0VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMuaApAQCAtMjcsMzQgKzI3LDI0
IEBACiAKICNpbmNsdWRlICJhcGkvdmlkZW8vdmlkZW9fZnJhbWVfYnVmZmVyLmgiCiAjaW5jbHVk
ZSAiYXBpL3Njb3BlZF9yZWZwdHIuaCIKLSNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVv
X2RlY29kZXJfZmFjdG9yeS5oIgotI2luY2x1ZGUgImFwaS92aWRlb19jb2RlY3MvdmlkZW9fZW5j
b2Rlcl9mYWN0b3J5LmgiCi0jaW5jbHVkZSAibWVkaWEvZW5naW5lL2VuY29kZXJfc2ltdWxjYXN0
X3Byb3h5LmgiCisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIAogdXNpbmcgQ1ZQaXhlbEJ1ZmZlclJl
ZiA9IHN0cnVjdCBfX0NWQnVmZmVyKjsKLXVzaW5nIENWUGl4ZWxCdWZmZXJQb29sUmVmID0gc3Ry
dWN0IF9fQ1ZQaXhlbEJ1ZmZlclBvb2wqOwogCiBuYW1lc3BhY2Ugd2VicnRjIHsKIAotY2xhc3Mg
VmlkZW9EZWNvZGVyRmFjdG9yeTsKLWNsYXNzIFZpZGVvRW5jb2RlckZhY3Rvcnk7CiBjbGFzcyBW
aWRlb0ZyYW1lOwogCiBlbnVtIGNsYXNzIFdlYktpdEgyNjUgeyBPZmYsIE9uIH07CiBlbnVtIGNs
YXNzIFdlYktpdFZQOSB7IE9mZiwgT24gfTsKIGVudW0gY2xhc3MgV2ViS2l0VlA5VlRCIHsgT2Zm
LCBPbiB9OwotCi1zdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRlb0VuY29kZXJGYWN0b3J5PiBj
cmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeShXZWJLaXRIMjY1LCBXZWJLaXRWUDkpOwotc3RkOjp1
bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9EZWNvZGVyRmFjdG9yeT4gY3JlYXRlV2ViS2l0RGVjb2Rl
ckZhY3RvcnkoV2ViS2l0SDI2NSwgV2ViS2l0VlA5LCBXZWJLaXRWUDlWVEIpOworZW51bSBjbGFz
cyBXZWJLaXRIMjY0TG93TGF0ZW5jeSB7IE9mZiwgT24gfTsKIAogdm9pZCBzZXRBcHBsaWNhdGlv
blN0YXR1cyhib29sIGlzQWN0aXZlKTsKIAogdm9pZCBzZXRIMjY0SGFyZHdhcmVFbmNvZGVyQWxs
b3dlZChib29sKTsKIGJvb2wgaXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpOwogCi12b2lk
IHNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQoYm9vbCk7Ci1ib29sIGlzSDI2NExvd0xh
dGVuY3lFbmNvZGVyRW5hYmxlZCgpOwotCiBlbnVtIGNsYXNzIEJ1ZmZlclR5cGUgeyBJNDIwLCBJ
MDEwIH07CiBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyRnJvbUZyYW1lKGNvbnN0IFZpZGVv
RnJhbWUmLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPENWUGl4ZWxCdWZmZXJSZWYoc2l6ZV90LCBzaXpl
X3QsIEJ1ZmZlclR5cGUpPiYpOwogcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9GcmFt
ZUJ1ZmZlcj4gcGl4ZWxCdWZmZXJUb0ZyYW1lKENWUGl4ZWxCdWZmZXJSZWYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9X
ZWJLaXRVdGlsaXRpZXMubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dl
YnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5tbQppbmRleCA4ZGRjNmEzZDhiZWFiYzBl
ZGNmM2E4NjI4MTk2YjFiYzIyYzU0NWNmLi4xYjY0NDQ5ZWQ0YjJkZDcyZTIzZDE2YjJlNTI1ZmMz
ZWU5NWI4YTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5t
bQpAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5jbHVkZSAiV2ViS2l0VXRpbGl0aWVzLmgiCiAKKyNp
bmNsdWRlICJhcGkvdmlkZW8vdmlkZW9fZnJhbWUuaCIKICNpbmNsdWRlICJuYXRpdmUvc3JjL29i
amNfZnJhbWVfYnVmZmVyLmgiCiAjaW5jbHVkZSAicnRjX2Jhc2UvbG9nZ2luZy5oIgogI2luY2x1
ZGUgInRoaXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9jb252ZXJ0X2Zyb20uaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9v
YmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3Rvcnku
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2Nv
bXBvbmVudHMvdmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkuaAppbmRl
eCBkNzYwMDU0ZmU2MTg5NTQwYmJkMjdiMmVkMTE3NTFmMmMwNWViMmIzLi4wY2E5MjM0ZDc4NDc5
YTIzZDY2ODlmNDg3YTNjYzRmYWU2NTg4YjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVj
L1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9S
VENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5oCkBAIC0yMiw3ICsyMiw3IEBAIFJUQ19PQkpD
X0VYUE9SVAogX19hdHRyaWJ1dGVfXygob2JqY19ydW50aW1lX25hbWUoIldLX1JUQ0RlZmF1bHRW
aWRlb0VuY29kZXJGYWN0b3J5IikpKQogQGludGVyZmFjZSBSVENEZWZhdWx0VmlkZW9FbmNvZGVy
RmFjdG9yeSA6IE5TT2JqZWN0IDxSVENWaWRlb0VuY29kZXJGYWN0b3J5PgogCi0tIChpZClpbml0
V2l0aEgyNjU6KGJvb2wpc3VwcG9ydEgyNjUgdnA5Oihib29sKXN1cHBvcnRzVlA5OworLSAoaWQp
aW5pdFdpdGhIMjY1Oihib29sKXN1cHBvcnRIMjY1IHZwOTooYm9vbClzdXBwb3J0c1ZQOSBsb3dM
YXRlbmN5SDI2NDooYm9vbCl1c2VMb3dMYXRlbmN5SDI2NDsKICsgKE5TQXJyYXk8UlRDVmlkZW9D
b2RlY0luZm8gKj4gKilzdXBwb3J0ZWRDb2RlY3M7CiArIChOU0FycmF5PFJUQ1ZpZGVvQ29kZWNJ
bmZvICo+ICopc3VwcG9ydGVkQ29kZWNzV2l0aEgyNjU6KGJvb2wpc3VwcG9ydHNIMjY1IHZwOToo
Ym9vbClzdXBwb3J0c1ZQOTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZh
dWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5tIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZhdWx0Vmlk
ZW9FbmNvZGVyRmFjdG9yeS5tCmluZGV4IGFlZTJkZmZkYTBkODBjMzMxZjQxNzdkZTE0OTRkZDgy
MDkxOTYzMzUuLmYwMTQ0NzA0NTA1MzQ5MDM4NTI5Y2JmYjE4MTc2ZGE0MmM1YmU4YzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpj
L2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkubQor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9j
b21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5Lm0KQEAg
LTI2LDE0ICsyNiwxNiBAQAogQGltcGxlbWVudGF0aW9uIFJUQ0RlZmF1bHRWaWRlb0VuY29kZXJG
YWN0b3J5IHsKICAgYm9vbCBfc3VwcG9ydHNIMjY1OwogICBib29sIF9zdXBwb3J0c1ZQOTsKKyAg
Ym9vbCBfdXNlTG93TGF0ZW5jeUgyNjQ7CiB9CiAKLS0gKGlkKWluaXRXaXRoSDI2NTooYm9vbClz
dXBwb3J0c0gyNjUgdnA5Oihib29sKXN1cHBvcnRzVlA5CistIChpZClpbml0V2l0aEgyNjU6KGJv
b2wpc3VwcG9ydHNIMjY1IHZwOTooYm9vbClzdXBwb3J0c1ZQOSBsb3dMYXRlbmN5SDI2NDooYm9v
bCl1c2VMb3dMYXRlbmN5SDI2NAogewogICBzZWxmID0gW3N1cGVyIGluaXRdOwogICBpZiAoc2Vs
ZikgewogICAgICAgX3N1cHBvcnRzSDI2NSA9IHN1cHBvcnRzSDI2NTsKICAgICAgIF9zdXBwb3J0
c1ZQOSA9IHN1cHBvcnRzVlA5OworICAgICAgX3VzZUxvd0xhdGVuY3lIMjY0ID0gdXNlTG93TGF0
ZW5jeUgyNjQ7CiAgIH0KICAgcmV0dXJuIHNlbGY7CiB9CkBAIC05Miw3ICs5NCw5IEBAIC0gKGlk
KWluaXRXaXRoSDI2NTooYm9vbClzdXBwb3J0c0gyNjUgdnA5Oihib29sKXN1cHBvcnRzVlA5CiAK
IC0gKGlkPFJUQ1ZpZGVvRW5jb2Rlcj4pY3JlYXRlRW5jb2RlcjooUlRDVmlkZW9Db2RlY0luZm8g
KilpbmZvIHsKICAgaWYgKFtpbmZvLm5hbWUgaXNFcXVhbFRvU3RyaW5nOmtSVENWaWRlb0NvZGVj
SDI2NE5hbWVdKSB7Ci0gICAgcmV0dXJuIFtbUlRDVmlkZW9FbmNvZGVySDI2NCBhbGxvY10gaW5p
dFdpdGhDb2RlY0luZm86aW5mb107CisgICAgUlRDVmlkZW9FbmNvZGVySDI2NCogZW5jb2RlciA9
IFtbUlRDVmlkZW9FbmNvZGVySDI2NCBhbGxvY10gaW5pdFdpdGhDb2RlY0luZm86aW5mb107Cisg
ICAgW2VuY29kZXIgc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDpfdXNlTG93TGF0ZW5j
eUgyNjRdOworICAgIHJldHVybiBlbmNvZGVyOwogICB9IGVsc2UgaWYgKFtpbmZvLm5hbWUgaXNF
cXVhbFRvU3RyaW5nOmtSVENWaWRlb0NvZGVjVnA4TmFtZV0pIHsKICAgICByZXR1cm4gW1JUQ1Zp
ZGVvRW5jb2RlclZQOCB2cDhFbmNvZGVyXTsKICNpZiBkZWZpbmVkKFJUQ19FTkFCTEVfVlA5KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2Rr
L29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0LmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRz
L3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQuaAppbmRleCA3NzE0YjI1ZWFhNDY4YzNi
ODIzZjhmZTdmMzkyNjJiZDQxZWM0ZWYzLi5lZTc4NmMwM2FhN2IwZTYyYWY0YjA2ZDE2YmNkY2M4
Y2JlNWE1NGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2Rlckgy
NjQuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsv
b2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQuaApAQCAtMTks
NSArMTksNSBAQCBfX2F0dHJpYnV0ZV9fKChvYmpjX3J1bnRpbWVfbmFtZSgiV0tfUlRDVmlkZW9F
bmNvZGVySDI2NCIpKSkKIEBpbnRlcmZhY2UgUlRDVmlkZW9FbmNvZGVySDI2NCA6IE5TT2JqZWN0
IDxSVENWaWRlb0VuY29kZXI+CiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aENvZGVjSW5mbzoo
UlRDVmlkZW9Db2RlY0luZm8gKiljb2RlY0luZm87Ci0KKy0gKHZvaWQpc2V0SDI2NExvd0xhdGVu
Y3lFbmNvZGVyRW5hYmxlZDooYm9vbCllbmFibGVkOwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92
aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0Lm1tIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENW
aWRlb0VuY29kZXJIMjY0Lm1tCmluZGV4IDQwNjhlZTRmMjY0YTBmNzkzZGUyMzJmYTNkYTQ1NGY0
NTI2ZjA0YTUuLjU3YmVkYjdmMjliZGUxZGE1ZTg3ZmFhODEyY2E2NWM0YzUwMTM0NTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpj
L2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRz
L3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KQEAgLTM0OCw2ICszNDgsNyBAQCBO
U1VJbnRlZ2VyIEdldE1heFNhbXBsZVJhdGUoY29uc3Qgd2VicnRjOjpIMjY0OjpQcm9maWxlTGV2
ZWxJZCAmcHJvZmlsZV9sZXZlbF9pZAogICBzdGQ6OnZlY3Rvcjx1aW50OF90PiBfZnJhbWVTY2Fs
ZUJ1ZmZlcjsKICAgYm9vbCBfZGlzYWJsZUVuY29kaW5nOwogICBib29sIF9pc0tleUZyYW1lUmVx
dWlyZWQ7CisgIGJvb2wgX2lzSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDsKIH0KIAogLy8g
LjUgaXMgc2V0IGFzIGEgbWluaW51bSB0byBwcmV2ZW50IG92ZXJjb21wZW5zYXRpbmcgZm9yIGxh
cmdlIHRlbXBvcmFyeQpAQCAtMzc1LDEwICszNzYsMTYgQEAgTlNVSW50ZWdlciBHZXRNYXhTYW1w
bGVSYXRlKGNvbnN0IHdlYnJ0Yzo6SDI2NDo6UHJvZmlsZUxldmVsSWQgJnByb2ZpbGVfbGV2ZWxf
aWQKICAgICBSVENfQ0hFQ0soW2NvZGVjSW5mby5uYW1lIGlzRXF1YWxUb1N0cmluZzprUlRDVmlk
ZW9Db2RlY0gyNjROYW1lXSk7CiAgIH0KICAgX2lzS2V5RnJhbWVSZXF1aXJlZCA9IGZhbHNlOwor
ICBfaXNIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkID0gdHJ1ZTsKIAogICByZXR1cm4gc2Vs
ZjsKIH0KIAorLSAodm9pZClzZXRIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOihib29sKWVu
YWJsZWQKK3sKKyAgICBfaXNIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkID0gZW5hYmxlZDsK
K30KKwogLSAodm9pZClkZWFsbG9jIHsKICAgW3NlbGYgZGVzdHJveUNvbXByZXNzaW9uU2Vzc2lv
bl07CiB9CkBAIC02OTYsNyArNzAzLDcgQEAgTlNVSW50ZWdlciBHZXRNYXhTYW1wbGVSYXRlKGNv
bnN0IHdlYnJ0Yzo6SDI2NDo6UHJvZmlsZUxldmVsSWQgJnByb2ZpbGVfbGV2ZWxfaWQKICNlbmRp
ZgogICB9CiAjZWxpZiBIQVZFX1ZUQl9SRVFVSVJFRExPV0xBVEVOQ1kKLSAgaWYgKHdlYnJ0Yzo6
aXNIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkKCkgJiYgX3VzZVZDUCkKKyAgaWYgKF9pc0gy
NjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQgJiYgX3VzZVZDUCkKICAgICBDRkRpY3Rpb25hcnlT
ZXRWYWx1ZShlbmNvZGVyU3BlY3MsIGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRpb25fUmVxdWly
ZWRMb3dMYXRlbmN5LCBrQ0ZCb29sZWFuVHJ1ZSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3Zp
ZGVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuY3BwCmluZGV4IGNiMTFmODFmZDNmMTFlYWY4MTg5
MTk2YjE0ODdhZWQwN2M2ZTU5Y2EuLmU5YzEwODk4M2M0ZmU3YTAyMTkzNzhkYzg3NmJhMmIyNTQz
OGVlZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAK
QEAgLTMxLDcgKzMxLDggQEAKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAK
IEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCi0jaW5jbHVkZSA8d2VicnRjL3Nkay9XZWJL
aXQvV2ViS2l0VXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0
RGVjb2Rlci5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaD4K
IEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAogI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0
L1dlYktpdFZQOURlY29kZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpAQCAtNzMs
OCArNzQsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRlb0VuY29kZXJGYWN0b3J5PiBM
aWJXZWJSVENQcm92aWRlckNvY29hOjpjcmVhdGVFbmNvZAogICAgIGlmICghd2ViUlRDQXZhaWxh
YmxlKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgd2VicnRjOjpzZXRIMjY0TG93
TGF0ZW5jeUVuY29kZXJFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkud2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCgpKTsKLSAgICByZXR1cm4g
d2VicnRjOjpjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeShpc1N1cHBvcnRpbmdIMjY1KCkgPyB3
ZWJydGM6OldlYktpdEgyNjU6Ok9uIDogd2VicnRjOjpXZWJLaXRIMjY1OjpPZmYsIGlzU3VwcG9y
dGluZ1ZQOSgpID8gd2VicnRjOjpXZWJLaXRWUDk6Ok9uIDogd2VicnRjOjpXZWJLaXRWUDk6Ok9m
Zik7CisgICAgcmV0dXJuIHdlYnJ0Yzo6Y3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoaXNTdXBw
b3J0aW5nSDI2NSgpID8gd2VicnRjOjpXZWJLaXRIMjY1OjpPbiA6IHdlYnJ0Yzo6V2ViS2l0SDI2
NTo6T2ZmLCBpc1N1cHBvcnRpbmdWUDkoKSA/IHdlYnJ0Yzo6V2ViS2l0VlA5OjpPbiA6IHdlYnJ0
Yzo6V2ViS2l0VlA5OjpPZmYsIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkud2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCgpID8gd2VicnRjOjpXZWJLaXRI
MjY0TG93TGF0ZW5jeTo6T24gOiB3ZWJydGM6OldlYktpdEgyNjRMb3dMYXRlbmN5OjpPZmYpOwog
fQogCiB2b2lkIExpYldlYlJUQ1Byb3ZpZGVyQ29jb2E6OnNldEFjdGl2ZShib29sIHZhbHVlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3NQcm94eS5oCmluZGV4IDUyMDcyOTNmZGYwNzAyZjNiOWZhZjVmZjkyZjdlNDllMDM3MWE2MWYu
LjYxODIyZjE5ZGE0NTQ0MTUwNzNhODM3ZDZiNDI0ZWQyOTJkNmQzOTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgK
QEAgLTcyLDcgKzcyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbGVhc2VEZWNvZGVyKFJUQ0Rl
Y29kZXJJZGVudGlmaWVyKTsKICAgICB2b2lkIGRlY29kZUZyYW1lKFJUQ0RlY29kZXJJZGVudGlm
aWVyLCB1aW50MzJfdCB0aW1lU3RhbXAsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogCi0g
ICAgdm9pZCBjcmVhdGVFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
LCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mKTsKKyAgICB2b2lkIGNy
ZWF0ZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFZl
Y3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiYsIGJvb2wgdXNlTG93TGF0ZW5jeSk7CiAg
ICAgdm9pZCByZWxlYXNlRW5jb2RlcihSVENFbmNvZGVySWRlbnRpZmllcik7CiAgICAgdm9pZCBp
bml0aWFsaXplRW5jb2RlcihSVENFbmNvZGVySWRlbnRpZmllciwgdWludDE2X3Qgd2lkdGgsIHVp
bnQxNl90IGhlaWdodCwgdW5zaWduZWQgc3RhcnRCaXRyYXRlLCB1bnNpZ25lZCBtYXhCaXRyYXRl
LCB1bnNpZ25lZCBtaW5CaXRyYXRlLCB1aW50MzJfdCBtYXhGcmFtZXJhdGUpOwogICAgIHZvaWQg
ZW5jb2RlRnJhbWUoUlRDRW5jb2RlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2Ft
cGxlJiYsIGJvb2wgc2hvdWxkRW5jb2RlQXNLZXlGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5t
ZXNzYWdlcy5pbgppbmRleCBmNDNhYzU0NzlkNmNmMzVkMjVmZDg4OTg2ZWVhM2Y4MjUwMmQwODNm
Li5lNmMyOWMxMzBlMmM2ZWM1Y2FiODFhYTViYjkxZDE3Y2JkNjE0MGY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29k
ZWNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gTGliV2Vi
UlRDQ29kZWNzUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgUmVsZWFzZURlY29kZXIoV2ViS2l0
OjpSVENEZWNvZGVySWRlbnRpZmllciBpZCkKICAgICBEZWNvZGVGcmFtZShXZWJLaXQ6OlJUQ0Rl
Y29kZXJJZGVudGlmaWVyIGlkLCB1aW50MzJfdCB0aW1lU3RhbXAsIElQQzo6RGF0YVJlZmVyZW5j
ZSBkYXRhKQogCi0gICAgQ3JlYXRlRW5jb2RlcihXZWJLaXQ6OlJUQ0VuY29kZXJJZGVudGlmaWVy
IGlkLCBTdHJpbmcgZm9ybWF0TmFtZSwgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+
IHBhcmFtZXRlcnMpOworICAgIENyZWF0ZUVuY29kZXIoV2ViS2l0OjpSVENFbmNvZGVySWRlbnRp
ZmllciBpZCwgU3RyaW5nIGZvcm1hdE5hbWUsIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJp
bmc+PiBwYXJhbWV0ZXJzLCBib29sIHVzZUxvd0xhdGVuY3kpOwogICAgIFJlbGVhc2VFbmNvZGVy
KFdlYktpdDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWQpCiAgICAgSW5pdGlhbGl6ZUVuY29kZXIo
V2ViS2l0OjpSVENFbmNvZGVySWRlbnRpZmllciBpZCwgdWludDE2X3Qgd2lkdGgsIHVpbnQxNl90
IGhlaWdodCwgdW5zaWduZWQgc3RhcnRCaXRyYXRlLCB1bnNpZ25lZCBtYXhCaXRyYXRlLCB1bnNp
Z25lZCBtaW5CaXRyYXRlLCB1aW50MzJfdCBtYXhGcmFtZXJhdGUpCiAgICAgRW5jb2RlRnJhbWUo
V2ViS2l0OjpSVENFbmNvZGVySWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1w
bGUgc2FtcGxlLCBib29sIHNob3VsZEVuY29kZUFzS2V5RnJhbWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQppbmRl
eCBhNTUwY2UxNjc5NTIxYTdlNjRlMWRiNjM5YzhlY2RkNzNmY2RlMzEyLi5lZWZmZDgwNzhlN2M5
Zjk5ZDRlY2JkMDJlZjc1MTNiM2UzNzQ2ODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KQEAgLTEwNiwxOCAr
MTA2LDIwIEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzUHJveHk6OmRlY29kZUZyYW1lKFJUQ0RlY29k
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIHVpbnQzMl90CiAgICAgICAgIG1fZ3B1Q29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNz
OjpGYWlsZWREZWNvZGluZyB7IGlkZW50aWZpZXIgfSwgMCk7CiB9CiAKLXZvaWQgTGliV2ViUlRD
Q29kZWNzUHJveHk6OmNyZWF0ZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBmb3JtYXROYW1lLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmlu
ZywgU3RyaW5nPj4mIHBhcmFtZXRlcnMpCit2b2lkIExpYldlYlJUQ0NvZGVjc1Byb3h5OjpjcmVh
dGVFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
Zm9ybWF0TmFtZSwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+JiBwYXJh
bWV0ZXJzLCBib29sIHVzZUxvd0xhdGVuY3kpCiB7CiAgICAgQVNTRVJUKCFtX2VuY29kZXJzLmNv
bnRhaW5zKGlkZW50aWZpZXIpKTsKIAogICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBzdGQ6OnN0
cmluZz4gcnRjUGFyYW1ldGVyczsKICAgICBmb3IgKGF1dG8mIHBhcmFtZXRlciA6IHBhcmFtZXRl
cnMpCiAgICAgICAgIHJ0Y1BhcmFtZXRlcnMuZW1wbGFjZShwYXJhbWV0ZXIuZmlyc3QudXRmOCgp
LmRhdGEoKSwgcGFyYW1ldGVyLnNlY29uZC51dGY4KCkuZGF0YSgpKTsKLSAgICAKLSAgICBtX2Vu
Y29kZXJzLmFkZChpZGVudGlmaWVyLCB3ZWJydGM6OmNyZWF0ZUxvY2FsRW5jb2Rlcih3ZWJydGM6
OlNkcFZpZGVvRm9ybWF0IHsgZm9ybWF0TmFtZS51dGY4KCkuZGF0YSgpLCBydGNQYXJhbWV0ZXJz
IH0sIF4oY29uc3QgdWludDhfdCogYnVmZmVyLCBzaXplX3Qgc2l6ZSwgY29uc3Qgd2VicnRjOjpX
ZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZvLCB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFk
ZXIqIGhlYWRlcikgeworCisgICAgYXV0byogZW5jb2RlciA9IHdlYnJ0Yzo6Y3JlYXRlTG9jYWxF
bmNvZGVyKHdlYnJ0Yzo6U2RwVmlkZW9Gb3JtYXQgeyBmb3JtYXROYW1lLnV0ZjgoKS5kYXRhKCks
IHJ0Y1BhcmFtZXRlcnMgfSwgXihjb25zdCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBzaXplLCBj
b25zdCB3ZWJydGM6OldlYktpdEVuY29kZWRGcmFtZUluZm8mIGluZm8sIHdlYnJ0Yzo6UlRQRnJh
Z21lbnRhdGlvbkhlYWRlciogaGVhZGVyKSB7CiAgICAgICAgIAogICAgICAgICBtX2dwdUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0Nv
ZGVjczo6Q29tcGxldGVkRW5jb2RpbmcgeyBpZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2Ug
eyBidWZmZXIsIHNpemUgfSwgaW5mbywgd2VicnRjOjpXZWJLaXRSVFBGcmFnbWVudGF0aW9uSGVh
ZGVyIHsgaGVhZGVyIH0gfSwgMCk7Ci0gICAgfSkpOworICAgIH0pOworICAgIHdlYnJ0Yzo6c2V0
TG9jYWxFbmNvZGVyTG93TGF0ZW5jeShlbmNvZGVyLCB1c2VMb3dMYXRlbmN5KTsKKyAgICBtX2Vu
Y29kZXJzLmFkZChpZGVudGlmaWVyLCBlbmNvZGVyKTsKIH0KIAogdm9pZCBMaWJXZWJSVENDb2Rl
Y3NQcm94eTo6cmVsZWFzZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmllcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJU
Q0NvZGVjcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJS
VENDb2RlY3MuY3BwCmluZGV4IDI5NTQ4YTFiN2I5OWE0MjViMzIxYTFlZDY2OTI0YTYyNzMwMDAy
YTMuLmU4ZmEyMTc0M2EwNmI3ZWI3M2MyZjAzODNjYTUzODBjNmQ5ODgxNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNz
LmNwcApAQCAtMzYsOSArMzYsOSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9z
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZVZpZGVvVXRpbGl0aWVzLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdERl
Y29kZXIuaD4KICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmg+Ci0j
aW5jbHVkZSA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0VXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KIAogI2luY2x1ZGUgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5o
PgpAQCAtMjU5LDcgKzI1OSw3IEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNv
ZGluZyhSVENEZWNvZGVySWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIHdlYnJ0Yzo6UmVtb3RlVmlkZW9EZWNvZGVyOjpkZWNvZGVDb21w
bGV0ZShkZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFjaywgdGltZVN0YW1wLCBwaXhlbEJ1ZmZl
ci5nZXQoKSwgcmVtb3RlU2FtcGxlLnRpbWUoKS50b0RvdWJsZSgpKTsKKyAgICB3ZWJydGM6OnZp
ZGVvRGVjb2RlclRhc2tDb21wbGV0ZShkZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFjaywgdGlt
ZVN0YW1wLCBwaXhlbEJ1ZmZlci5nZXQoKSwgcmVtb3RlU2FtcGxlLnRpbWUoKS50b0RvdWJsZSgp
KTsKIH0KIAogc3RhdGljIGlubGluZSBTdHJpbmcgZm9ybWF0TmFtZUZyb21Db2RlY1R5cGUoTGli
V2ViUlRDQ29kZWNzOjpUeXBlIHR5cGUpCkBAIC0yODYsNyArMjg2LDcgQEAgTGliV2ViUlRDQ29k
ZWNzOjpFbmNvZGVyKiBMaWJXZWJSVENDb2RlY3M6OmNyZWF0ZUVuY29kZXIoVHlwZSB0eXBlLCBj
b25zdCBzdGQ6Om0KICAgICAgICAgYXV0byBlbmNvZGVySWRlbnRpZmllciA9IGVuY29kZXItPmlk
ZW50aWZpZXI7CiAgICAgICAgIEFTU0VSVCghbV9lbmNvZGVycy5jb250YWlucyhlbmNvZGVySWRl
bnRpZmllcikpOwogCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVBy
b2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0Nv
ZGVjc1Byb3h5OjpDcmVhdGVFbmNvZGVyIHsgZW5jb2RlcklkZW50aWZpZXIsIGZvcm1hdE5hbWVG
cm9tQ29kZWNUeXBlKHR5cGUpLCBwYXJhbWV0ZXJzIH0sIDApOworICAgICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5z
ZW5kKE1lc3NhZ2VzOjpMaWJXZWJSVENDb2RlY3NQcm94eTo6Q3JlYXRlRW5jb2RlciB7IGVuY29k
ZXJJZGVudGlmaWVyLCBmb3JtYXROYW1lRnJvbUNvZGVjVHlwZSh0eXBlKSwgcGFyYW1ldGVycywg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJSVENIMjY0TG93TGF0
ZW5jeUVuY29kZXJFbmFibGVkKCkgfSwgMCk7CiAgICAgICAgIG1fZW5jb2RlcnMuYWRkKGVuY29k
ZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGVuY29kZXIpKTsKICAgICB9KTsKICAgICByZXR1cm4gcmVz
dWx0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413039</attachid>
            <date>2020-11-03 03:57:52 -0800</date>
            <delta_ts>2020-11-03 04:33:09 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-218442-20201103125750.patch</filename>
            <type>text/plain</type>
            <size>38816</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5MjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5ZjU4YjY1NWIyMjUzYTljNWQzYzQ3YmYzNjlhNWM5NWFlMGI3Yjg3Li44Mzgy
MzI2ZDczODQwZGNjMjMwOGY2YTFiM2UxNzkwNjIxN2I5OGExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAyMC0xMS0wMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgbG93IGxhdGVuY3kgSDI2
NCBlbmNvZGVyIGluIEdQVVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxODQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNv
bi4KKworICAgICAgICBBZGQgYSB1c2VMb3dMYXRlbmN5IGJvb2xlYW4gaW4gUlRDVmlkZW9FbmNv
ZGVySDI2NCBhbmQgaW4gZW5jb2RlciBmYWN0b3J5LgorICAgICAgICBFbmNvZGVyIGlzIHNldCBi
eSB0aGUgZmFjdG9yeSBhdCBjcmVhdGlvbiB0aW1lLgorICAgICAgICB1c2VMb3dMYXRlbmN5IGZh
Y3RvcnkgdmFsdWUgaXMgc2V0IGF0IGNyZWF0aW9uIG9mIHRoZSBmYWN0b3J5LgorCisgICAgICAg
IENsZWFuIHVwIFdlYktpdFhYLmggaGVhZGVycyB0byBkbyBsZXNzIGluY2x1ZGUgYW5kIG1vdmUg
ZGVjbGFyYXRpb25zIGluIHNwZWNpZmljIGhlYWRlcnMuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9saWJ3ZWJydGMuaU9TLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJy
dGMuaU9Tc2ltLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4
cDoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5oOgor
ICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLm1tOgorICAg
ICAgICAod2VicnRjOjp2aWRlb0RlY29kZXJUYXNrQ29tcGxldGUpOgorICAgICAgICAqIFNvdXJj
ZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmg6CisgICAgICAgICogU291cmNlL3dl
YnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW06CisgICAgICAgICgtW1dLX1JUQ0xvY2Fs
VmlkZW9IMjY0SDI2NUVuY29kZXIgc2V0TG93TGF0ZW5jeTpdKToKKyAgICAgICAgKHdlYnJ0Yzo6
Y3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkpOgorICAgICAgICAod2VicnRjOjpzZXRMb2NhbEVu
Y29kZXJMb3dMYXRlbmN5KToKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2Vi
S2l0VXRpbGl0aWVzLmg6CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktp
dFV0aWxpdGllcy5tbToKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVu
dHMvdmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkuaDoKKyAgICAgICAg
KiBTb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDRGVmYXVs
dFZpZGVvRW5jb2RlckZhY3RvcnkubToKKyAgICAgICAgKC1bUlRDRGVmYXVsdFZpZGVvRW5jb2Rl
ckZhY3RvcnkgaW5pdFdpdGhIMjY1OnZwOTpsb3dMYXRlbmN5SDI2NDpdKToKKyAgICAgICAgKC1b
UlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkgY3JlYXRlRW5jb2RlcjpdKToKKyAgICAgICAg
KiBTb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlkZW9F
bmNvZGVySDI2NC5oOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50
cy92aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0Lm1tOgorICAgICAgICAoLVtSVENWaWRl
b0VuY29kZXJIMjY0IGluaXRXaXRoQ29kZWNJbmZvOl0pOgorICAgICAgICAoLVtSVENWaWRlb0Vu
Y29kZXJIMjY0IHNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQ6XSk6CisgICAgICAgICgt
W1JUQ1ZpZGVvRW5jb2RlckgyNjQgcmVzZXRDb21wcmVzc2lvblNlc3Npb25XaXRoUGl4ZWxGb3Jt
YXQ6XSk6CisKIDIwMjAtMTEtMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIFNldCB2cGNDIGJveCBmb3IgaGFyZHdhcmUgV2ViUlRDIFZQOSBkZWNvZGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZWY5OTYyYTZlNDBjMGYwYjIyNWE0NDFhNWU3YTY1NmRmZjg4MzJhYi4uMDE2
ODJhZjkzZmM3NmY4NmM4NmNhZTA2MTgzZjMwNTllOWI5OTNhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDIwLTExLTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KworICAgICAgICBBbGxvdyBsb3cgbGF0ZW5jeSBIMjY0IGVuY29kZXIgaW4gR1BVUHJvY2Vzcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDQyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFBhc3MgdXNlTG93
TGF0ZW5jeSBib29sZWFuIHdoZW4gY3JlYXRpbmcgZW5jb2RlciBmYWN0b3J5LgorICAgICAgICBN
YW51YWxseSB0ZXN0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJS
VENQcm92aWRlckNvY29hOjpjcmVhdGVFbmNvZGVyRmFjdG9yeSk6CisKIDIwMjAtMTEtMDIgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFN0b3Agc2VuZGluZyBv
cmlnaW5zIGZyb20gV2ViUHJvY2VzcyB0byBVSVByb2Nlc3MgZm9yIGdldFVzZXJNZWRpYSByZXF1
ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCAwNzkxNzVkNjA1ZGY2NmQxY2U4ZTRlMWEwZjI4MzEyOTFiMGYxYzcx
Li40NmQxNThlMzY5MjZhYjJmOWU2ODJhM2MxYjgzZDJmZGYxZTgxYTI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDIwLTExLTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBBbGxvdyBsb3cgbGF0ZW5jeSBIMjY0IGVuY29kZXIgaW4gR1BVUHJvY2Vz
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NDQy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFBhc3MgdXNl
TG93TGF0ZW5jeSBib29sZWFuIGZyb20gV2ViUHJvY2VzcyB0byBHUFVQcm9jZXNzLgorCisgICAg
ICAgICogR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaDoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbToKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDQ29kZWNzUHJveHk6OmNyZWF0ZUVuY29kZXIpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZERlY29kaW5nKToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDQ29kZWNzOjpjcmVhdGVFbmNvZGVyKToKKwogMjAyMC0xMS0wMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzZW5kaW5nIG9y
aWdpbnMgZnJvbSBXZWJQcm9jZXNzIHRvIFVJUHJvY2VzcyBmb3IgZ2V0VXNlck1lZGlhIHJlcXVl
c3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlv
bnMvbGlid2VicnRjLmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmln
dXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKaW5kZXggYWIyN2QwZjE5NGVkNjZmZmQ5Y2NlYzFj
M2ZkNTY0OTVhZGI2YjRmYS4uMGFhZGExZjA1MjQxOThhNTEwMTUzMTE2ZWU4ODg3ZDhiNTYxM2U5
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25z
L2xpYndlYnJ0Yy5pT1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25m
aWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApAQCAtMTA1LDkgKzEwNSw4IEBAIF9fWk42d2Vi
cnRjMjdTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UxNlJlbW92ZUNhbmRpZGF0ZXNFUktOU3Qz
X18xNnZlY3RvcklON2NyCiBfX1pOSzZ3ZWJydGMyMUljZUNhbmRpZGF0ZUludGVyZmFjZTEwc2Vy
dmVyX3VybEV2CiBfX1pONndlYnJ0YzIwc2V0QXBwbGljYXRpb25TdGF0dXNFYgogX19aTjZ3ZWJy
dGMyNmNyZWF0ZVdlYktpdERlY29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0
VlA5RU5TXzEyV2ViS2l0VlA5VlRCRQotX19aTjZ3ZWJydGMyNmNyZWF0ZVdlYktpdEVuY29kZXJG
YWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0VlA5RQorX19aTjZ3ZWJydGMyNmNyZWF0
ZVdlYktpdEVuY29kZXJGYWN0b3J5RU5TXzEwV2ViS2l0SDI2NUVOU185V2ViS2l0VlA5RU5TXzIw
V2ViS2l0SDI2NExvd0xhdGVuY3lFCiBfX1pONndlYnJ0YzI5c2V0SDI2NEhhcmR3YXJlRW5jb2Rl
ckFsbG93ZWRFYgotX19aTjZ3ZWJydGMzMXNldEgyNjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWRF
YgogX19aTjZ3ZWJydGMyNHJlZ2lzdGVyV2ViS2l0VlA5RGVjb2RlckV2CiBfX1pONndlYnJ0YzIw
cGl4ZWxCdWZmZXJGcm9tRnJhbWVFUktOU18xMFZpZGVvRnJhbWVFUktOU3QzX18xOGZ1bmN0aW9u
SUZQMTBfX0NWQnVmZmVybW1OU18xMEJ1ZmZlclR5cGVFRUVFCiBfX1pONndlYnJ0YzE4cGl4ZWxC
dWZmZXJUb0ZyYW1lRVAxMF9fQ1ZCdWZmZXIKQEAgLTI0Miw3ICsyNDEsNyBAQCBfX1pONndlYnJ0
YzIyY3JlYXRlTG9jYWxIMjY0RGVjb2RlckVVMTNibG9ja19wb2ludGVyRnZQMTBfX0NWQnVmZmVy
ampFCiBfX1pONndlYnJ0YzIyY3JlYXRlTG9jYWxIMjY1RGVjb2RlckVVMTNibG9ja19wb2ludGVy
RnZQMTBfX0NWQnVmZmVyampFCiBfX1pONndlYnJ0YzE5cmVsZWFzZUxvY2FsRGVjb2RlckVQdgog
X19aTjZ3ZWJydGMxMWRlY29kZUZyYW1lRVB2alBLaG0KLV9fWk42d2VicnRjMThSZW1vdGVWaWRl
b0RlY29kZXIxNGRlY29kZUNvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCitfX1pONndlYnJ0YzI0
dmlkZW9EZWNvZGVyVGFza0NvbXBsZXRlRVB2alAxMF9fQ1ZCdWZmZXJqCiBfX1pONndlYnJ0YzI0
c2V0VmlkZW9EZWNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMw
X0VQRmlTMF9qUEtobUVQRmlTMF9TMF9FCiBfX1pONndlYnJ0YzE4UnRwQ29kZWNDYXBhYmlsaXR5
QzFFdgogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNk
cFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG1FUEZpUzBfUzBfRQpAQCAtMjUzLDYgKzI1
Miw3IEBAIF9fWk42d2VicnRjMThSZW1vdGVWaWRlb0VuY29kZXIxNGVuY29kZUNvbXBsZXRlRVB2
UGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluCiBfX1pONndlYnJ0YzIyUlRQRnJhZ21lbnRh
dGlvbkhlYWRlcjZSZXNpemVFbQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5jb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktOU18xMFZpZGVvQ29k
ZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMwX1JLTlNfMTJWaWRl
b0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0YzIwc2V0TG9jYWxF
bmNvZGVyUmF0ZXNFUHZqagorX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rlckxvd0xhdGVuY3lF
UHZiCiBfX1pONndlYnJ0YzIyaW5pdGlhbGl6ZUxvY2FsRW5jb2RlckVQdnR0ampqagogX19aTjZ3
ZWJydGMxNFNkcFZpZGVvRm9ybWF0QzFFUktOU3QzX18xMTJiYXNpY19zdHJpbmdJY05TMV8xMWNo
YXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUktOUzFfM21hcElTN19TN19OUzFfNGxl
c3NJUzdfRUVOUzVfSU5TMV80cGFpcklTOF9TN19FRUVFRUUKIF9fWk42d2VicnRjMThjcmVhdGVM
b2NhbEVuY29kZXJFUktOU18xNFNkcFZpZGVvRm9ybWF0RVUxM2Jsb2NrX3BvaW50ZXJGdlBLaG1S
S05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0VQTlNfMjJSVFBGcmFnbWVudGF0aW9uSGVhZGVy
RUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9u
cy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25m
aWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cAppbmRleCBhYjI3ZDBmMTk0ZWQ2NmZmZDlj
Y2VjMWMzZmQ1NjQ5NWFkYjZiNGZhLi4wYWFkYTFmMDUyNDE5OGE1MTAxNTMxMTZlZTg4ODdkOGI1
NjEzZTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJh
dGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCkBAIC0xMDUsOSArMTA1LDgg
QEAgX19aTjZ3ZWJydGMyN1Nlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZTE2UmVtb3ZlQ2FuZGlk
YXRlc0VSS05TdDNfXzE2dmVjdG9ySU43Y3IKIF9fWk5LNndlYnJ0YzIxSWNlQ2FuZGlkYXRlSW50
ZXJmYWNlMTBzZXJ2ZXJfdXJsRXYKIF9fWk42d2VicnRjMjBzZXRBcHBsaWNhdGlvblN0YXR1c0Vi
CiBfX1pONndlYnJ0YzI2Y3JlYXRlV2ViS2l0RGVjb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1
RU5TXzlXZWJLaXRWUDlFTlNfMTJXZWJLaXRWUDlWVEJFCi1fX1pONndlYnJ0YzI2Y3JlYXRlV2Vi
S2l0RW5jb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5TXzlXZWJLaXRWUDlFCitfX1pONndl
YnJ0YzI2Y3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnlFTlNfMTBXZWJLaXRIMjY1RU5TXzlXZWJL
aXRWUDlFTlNfMjBXZWJLaXRIMjY0TG93TGF0ZW5jeUUKIF9fWk42d2VicnRjMjlzZXRIMjY0SGFy
ZHdhcmVFbmNvZGVyQWxsb3dlZEViCi1fX1pONndlYnJ0YzMxc2V0SDI2NExvd0xhdGVuY3lFbmNv
ZGVyRW5hYmxlZEViCiBfX1pONndlYnJ0YzI0cmVnaXN0ZXJXZWJLaXRWUDlEZWNvZGVyRXYKIF9f
Wk42d2VicnRjMjBwaXhlbEJ1ZmZlckZyb21GcmFtZUVSS05TXzEwVmlkZW9GcmFtZUVSS05TdDNf
XzE4ZnVuY3Rpb25JRlAxMF9fQ1ZCdWZmZXJtbU5TXzEwQnVmZmVyVHlwZUVFRUUKIF9fWk42d2Vi
cnRjMThwaXhlbEJ1ZmZlclRvRnJhbWVFUDEwX19DVkJ1ZmZlcgpAQCAtMjQyLDcgKzI0MSw3IEBA
IF9fWk42d2VicnRjMjJjcmVhdGVMb2NhbEgyNjREZWNvZGVyRVUxM2Jsb2NrX3BvaW50ZXJGdlAx
MF9fQ1ZCdWZmZXJqakUKIF9fWk42d2VicnRjMjJjcmVhdGVMb2NhbEgyNjVEZWNvZGVyRVUxM2Js
b2NrX3BvaW50ZXJGdlAxMF9fQ1ZCdWZmZXJqakUKIF9fWk42d2VicnRjMTlyZWxlYXNlTG9jYWxE
ZWNvZGVyRVB2CiBfX1pONndlYnJ0YzExZGVjb2RlRnJhbWVFUHZqUEtobQotX19aTjZ3ZWJydGMx
OFJlbW90ZVZpZGVvRGVjb2RlcjE0ZGVjb2RlQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZlcmoKK19f
Wk42d2VicnRjMjR2aWRlb0RlY29kZXJUYXNrQ29tcGxldGVFUHZqUDEwX19DVkJ1ZmZlcmoKIF9f
Wk42d2VicnRjMjRzZXRWaWRlb0RlY29kZXJDYWxsYmFja3NFUEZQdlJLTlNfMTRTZHBWaWRlb0Zv
cm1hdEVFUEZpUzBfRVBGaVMwX2pQS2htRVBGaVMwX1MwX0UKIF9fWk42d2VicnRjMThSdHBDb2Rl
Y0NhcGFiaWxpdHlDMUV2CiBfX1pONndlYnJ0YzI0c2V0VmlkZW9EZWNvZGVyQ2FsbGJhY2tzRVBG
UHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9qUEtobUVQRmlTMF9TMF9FCkBA
IC0yNTMsNiArMjUyLDcgQEAgX19aTjZ3ZWJydGMxOFJlbW90ZVZpZGVvRW5jb2RlcjE0ZW5jb2Rl
Q29tcGxldGVFUHZQaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW4KIF9fWk42d2VicnRjMjJS
VFBGcmFnbWVudGF0aW9uSGVhZGVyNlJlc2l6ZUVtCiBfX1pONndlYnJ0YzI0c2V0VmlkZW9FbmNv
ZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMwX0VQRmlTMF9SS05T
XzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlTMF9TMF9FUEZ2UzBf
UktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUKIF9fWk42d2VicnRj
MjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCitfX1pONndlYnJ0YzI1c2V0TG9jYWxFbmNvZGVy
TG93TGF0ZW5jeUVQdmIKIF9fWk42d2VicnRjMjJpbml0aWFsaXplTG9jYWxFbmNvZGVyRVB2dHRq
ampqCiBfX1pONndlYnJ0YzE0U2RwVmlkZW9Gb3JtYXRDMUVSS05TdDNfXzExMmJhc2ljX3N0cmlu
Z0ljTlMxXzExY2hhcl90cmFpdHNJY0VFTlMxXzlhbGxvY2F0b3JJY0VFRUVSS05TMV8zbWFwSVM3
X1M3X05TMV80bGVzc0lTN19FRU5TNV9JTlMxXzRwYWlySVM4X1M3X0VFRUVFRQogX19aTjZ3ZWJy
dGMxOGNyZWF0ZUxvY2FsRW5jb2RlckVSS05TXzE0U2RwVmlkZW9Gb3JtYXRFVTEzYmxvY2tfcG9p
bnRlckZ2UEtobVJLTlNfMjJXZWJLaXRFbmNvZGVkRnJhbWVJbmZvRVBOU18yMlJUUEZyYWdtZW50
YXRpb25IZWFkZXJFRQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0Nv
bmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCmluZGV4IDk2ODYwNzY4YzkzYWYz
YTQ5M2VmYWQ4NDYzYWJjMWY1MGZkNDgwMTkuLjcwZjlkOTlhMzZmYWU2NjA0MmUwOGY2NmYwODMy
NDgzOTdiN2Q3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25m
aWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKQEAgLTEwNSw5ICsxMDUsOCBA
QCBfX1pONndlYnJ0YzI3U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlMTZSZW1vdmVDYW5kaWRh
dGVzRVJLTlN0M19fMTZ2ZWN0b3JJTjdjcgogX19aTks2d2VicnRjMjFJY2VDYW5kaWRhdGVJbnRl
cmZhY2UxMHNlcnZlcl91cmxFdgogX19aTjZ3ZWJydGMyMHNldEFwcGxpY2F0aW9uU3RhdHVzRWIK
IF9fWk42d2VicnRjMjZjcmVhdGVXZWJLaXREZWNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVF
TlNfOVdlYktpdFZQOUVOU18xMldlYktpdFZQOVZUQkUKLV9fWk42d2VicnRjMjZjcmVhdGVXZWJL
aXRFbmNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNfOVdlYktpdFZQOUUKK19fWk42d2Vi
cnRjMjZjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeUVOU18xMFdlYktpdEgyNjVFTlNfOVdlYktp
dFZQOUVOU18yMFdlYktpdEgyNjRMb3dMYXRlbmN5RQogX19aTjZ3ZWJydGMyOXNldEgyNjRIYXJk
d2FyZUVuY29kZXJBbGxvd2VkRWIKLV9fWk42d2VicnRjMzFzZXRIMjY0TG93TGF0ZW5jeUVuY29k
ZXJFbmFibGVkRWIKIF9fWk42d2VicnRjMjRyZWdpc3RlcldlYktpdFZQOURlY29kZXJFdgogX19a
TjZ3ZWJydGMyMHBpeGVsQnVmZmVyRnJvbUZyYW1lRVJLTlNfMTBWaWRlb0ZyYW1lRVJLTlN0M19f
MThmdW5jdGlvbklGUDEwX19DVkJ1ZmZlcm1tTlNfMTBCdWZmZXJUeXBlRUVFRQogX19aTjZ3ZWJy
dGMxOHBpeGVsQnVmZmVyVG9GcmFtZUVQMTBfX0NWQnVmZmVyCkBAIC0yNDIsNyArMjQxLDcgQEAg
X19aTjZ3ZWJydGMyMmNyZWF0ZUxvY2FsSDI2NERlY29kZXJFVTEzYmxvY2tfcG9pbnRlckZ2UDEw
X19DVkJ1ZmZlcmpqRQogX19aTjZ3ZWJydGMyMmNyZWF0ZUxvY2FsSDI2NURlY29kZXJFVTEzYmxv
Y2tfcG9pbnRlckZ2UDEwX19DVkJ1ZmZlcmpqRQogX19aTjZ3ZWJydGMxOXJlbGVhc2VMb2NhbERl
Y29kZXJFUHYKIF9fWk42d2VicnRjMTFkZWNvZGVGcmFtZUVQdmpQS2htCi1fX1pONndlYnJ0YzE4
UmVtb3RlVmlkZW9EZWNvZGVyMTRkZWNvZGVDb21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVyagorX19a
TjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVyagogX19a
TjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9y
bWF0RUVQRmlTMF9FUEZpUzBfalBLaG1FUEZpUzBfUzBfRQogX19aTjZ3ZWJydGMxOFJ0cENvZGVj
Q2FwYWJpbGl0eUMxRXYKIF9fWk42d2VicnRjMjJSVFBGcmFnbWVudGF0aW9uSGVhZGVyRDFFdgpA
QCAtMjUxLDYgKzI1MCw3IEBAIF9fWk42d2VicnRjMThSZW1vdGVWaWRlb0VuY29kZXIxNGVuY29k
ZUNvbXBsZXRlRVB2UGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluCiBfX1pONndlYnJ0YzIy
UlRQRnJhZ21lbnRhdGlvbkhlYWRlcjZSZXNpemVFbQogX19aTjZ3ZWJydGMyNHNldFZpZGVvRW5j
b2RlckNhbGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfUktO
U18xMFZpZGVvQ29kZWNFRVBGaVMwX1JLTlNfMTBWaWRlb0ZyYW1lRWJFUEZpUzBfUzBfRVBGdlMw
X1JLTlNfMTJWaWRlb0VuY29kZXIyMVJhdGVDb250cm9sUGFyYW1ldGVyc0VFCiBfX1pONndlYnJ0
YzIwc2V0TG9jYWxFbmNvZGVyUmF0ZXNFUHZqagorX19aTjZ3ZWJydGMyNXNldExvY2FsRW5jb2Rl
ckxvd0xhdGVuY3lFUHZiCiBfX1pONndlYnJ0YzIyaW5pdGlhbGl6ZUxvY2FsRW5jb2RlckVQdnR0
ampqagogX19aTjZ3ZWJydGMxNFNkcFZpZGVvRm9ybWF0QzFFUktOU3QzX18xMTJiYXNpY19zdHJp
bmdJY05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFUktOUzFfM21hcElT
N19TN19OUzFfNGxlc3NJUzdfRUVOUzVfSU5TMV80cGFpcklTOF9TN19FRUVFRUUKIF9fWk42d2Vi
cnRjMThjcmVhdGVMb2NhbEVuY29kZXJFUktOU18xNFNkcFZpZGVvRm9ybWF0RVUxM2Jsb2NrX3Bv
aW50ZXJGdlBLaG1SS05TXzIyV2ViS2l0RW5jb2RlZEZyYW1lSW5mb0VQTlNfMjJSVFBGcmFnbWVu
dGF0aW9uSGVhZGVyRUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5oIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmgKaW5k
ZXggZmFjYTM2MTBlYzI3NmVlNWFlOTIxMTJlNWE1ZjkwODYxOWM5YjRiNC4uYjQwZjM3YzVlMTdh
NTYyMjgxOGRkOTQ3ZDY2NWU1NTc0ZmUwYTI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXREZWNvZGVyLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9X
ZWJLaXREZWNvZGVyLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNs
dWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXIuaCIKKyNpbmNsdWRlICJXZWJLaXRV
dGlsaXRpZXMuaCIKICNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXJfZmFj
dG9yeS5oIgogCiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVsQnVmZmVyUmVmOwpA
QCAtMzMsNiArMzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyKiBDVlBpeGVsQnVmZmVy
UmVmOwogbmFtZXNwYWNlIHdlYnJ0YyB7CiAKIHN0cnVjdCBTZHBWaWRlb0Zvcm1hdDsKK2NsYXNz
IFZpZGVvRGVjb2RlckZhY3Rvcnk7CiAKIHVzaW5nIFdlYktpdFZpZGVvRGVjb2RlciA9IHZvaWQq
OwogdXNpbmcgVmlkZW9EZWNvZGVyQ3JlYXRlQ2FsbGJhY2sgPSBXZWJLaXRWaWRlb0RlY29kZXIo
KikoY29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCk7CkBAIC00MiwzNCArNDMsOSBAQCB1c2lu
ZyBWaWRlb0RlY29kZXJSZWdpc3RlckRlY29kZUNvbXBsZXRlQ2FsbGJhY2sgPSBpbnQzMl90KCop
KFdlYktpdFZpZGVvRGVjb2RlcgogCiB2b2lkIHNldFZpZGVvRGVjb2RlckNhbGxiYWNrcyhWaWRl
b0RlY29kZXJDcmVhdGVDYWxsYmFjaywgVmlkZW9EZWNvZGVyUmVsZWFzZUNhbGxiYWNrLCBWaWRl
b0RlY29kZXJEZWNvZGVDYWxsYmFjaywgVmlkZW9EZWNvZGVyUmVnaXN0ZXJEZWNvZGVDb21wbGV0
ZUNhbGxiYWNrKTsKIAotY2xhc3MgUmVtb3RlVmlkZW9EZWNvZGVyRmFjdG9yeSBmaW5hbCA6IHB1
YmxpYyBWaWRlb0RlY29kZXJGYWN0b3J5IHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBSZW1vdGVW
aWRlb0RlY29kZXJGYWN0b3J5KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0RlY29kZXJGYWN0b3J5PiYm
KTsKLSAgICB+UmVtb3RlVmlkZW9EZWNvZGVyRmFjdG9yeSgpID0gZGVmYXVsdDsKK3N0ZDo6dW5p
cXVlX3B0cjx3ZWJydGM6OlZpZGVvRGVjb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdERlY29kZXJG
YWN0b3J5KFdlYktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0VlA5VlRCKTsKK3ZvaWQgdmlkZW9E
ZWNvZGVyVGFza0NvbXBsZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENW
UGl4ZWxCdWZmZXJSZWYsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCk7CiAKLXByaXZhdGU6Ci0gICAg
c3RkOjp2ZWN0b3I8U2RwVmlkZW9Gb3JtYXQ+IEdldFN1cHBvcnRlZEZvcm1hdHMoKSBjb25zdCBm
aW5hbDsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VmlkZW9EZWNvZGVyPiBDcmVhdGVWaWRlb0RlY29k
ZXIoY29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCkgZmluYWw7Ci0KLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8VmlkZW9EZWNvZGVyRmFjdG9yeT4gbV9pbnRlcm5hbEZhY3Rvcnk7Ci19OwotCi1jbGFz
cyBSZW1vdGVWaWRlb0RlY29kZXIgZmluYWwgOiBwdWJsaWMgd2VicnRjOjpWaWRlb0RlY29kZXIg
ewotcHVibGljOgotICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvRGVjb2RlcihXZWJLaXRWaWRlb0Rl
Y29kZXIpOwotICAgIH5SZW1vdGVWaWRlb0RlY29kZXIoKSA9IGRlZmF1bHQ7Ci0KLSAgICBzdGF0
aWMgdm9pZCBkZWNvZGVDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgdWludDMyX3QgdGltZVN0YW1w
LCBDVlBpeGVsQnVmZmVyUmVmLCB1aW50MzJfdCB0aW1lU3RhbXBSVFApOwotCi1wcml2YXRlOgot
ICAgIGludDMyX3QgSW5pdERlY29kZShjb25zdCBWaWRlb0NvZGVjKiwgaW50MzJfdCBudW1iZXJf
b2ZfY29yZXMpIGZpbmFsOwotICAgIGludDMyX3QgRGVjb2RlKGNvbnN0IEVuY29kZWRJbWFnZSYs
IGJvb2wgbWlzc2luZ19mcmFtZXMsIGludDY0X3QgcmVuZGVyX3RpbWVfbXMpIGZpbmFsOwotICAg
IGludDMyX3QgUmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNrKERlY29kZWRJbWFnZUNhbGxi
YWNrKikgZmluYWw7Ci0gICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWw7Ci0gICAgY29uc3QgY2hh
ciogSW1wbGVtZW50YXRpb25OYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlbW90ZVZpZGVv
VG9vbEJveCI7IH0KLQotICAgIFdlYktpdFZpZGVvRGVjb2RlciBtX2ludGVybmFsRGVjb2RlcjsK
LX07CiAKIHVzaW5nIExvY2FsRGVjb2RlciA9IHZvaWQqOwogdXNpbmcgTG9jYWxEZWNvZGVyQ2Fs
bGJhY2sgPSB2b2lkICheKShDVlBpeGVsQnVmZmVyUmVmLCB1aW50MzJfdCB0aW1lU3RhbXAsIHVp
bnQzMl90IHRpbWVTdGFtcE5zKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rlci5tbSBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rl
ci5tbQppbmRleCAyODdlMTk2ZjAxYjhkNTBhZDMwMGNhNjU2NGE4ZDRjZDBhMTEyNWY0Li5kMTQ4
ZTliZDJkN2E3Y2ViNzBkNGI4MTFiNjM0ZDRhOTZmNGI2MGQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdERlY29k
ZXIubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2Rr
L1dlYktpdC9XZWJLaXREZWNvZGVyLm1tCkBAIC0yOSw2ICsyOSwxMCBAQAogI2ltcG9ydCAiRnJh
bWV3b3JrL0hlYWRlcnMvV2ViUlRDL1JUQ1ZpZGVvRnJhbWVCdWZmZXIuaCIKICNpbXBvcnQgIkZy
YW1ld29yay9OYXRpdmUvYXBpL3ZpZGVvX2RlY29kZXJfZmFjdG9yeS5oIgogI2ltcG9ydCAiV2Vi
S2l0VXRpbGl0aWVzLmgiCisjaW1wb3J0ICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXIu
aCIKKyNpbXBvcnQgImFwaS92aWRlb19jb2RlY3MvdmlkZW9fZGVjb2Rlcl9mYWN0b3J5LmgiCisj
aW1wb3J0ICJtb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvaDI2NC9pbmNsdWRlL2gyNjQuaCIK
KyNpbXBvcnQgIm1vZHVsZXMvdmlkZW9fY29kaW5nL2luY2x1ZGUvdmlkZW9fZXJyb3JfY29kZXMu
aCIKICNpbXBvcnQgInNkay9vYmpjL2NvbXBvbmVudHMvdmlkZW9fY29kZWMvUlRDVmlkZW9EZWNv
ZGVySDI2NC5oIgogI2ltcG9ydCAic2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENW
aWRlb0RlY29kZXJIMjY1LmgiCiAKQEAgLTgzLDYgKzg3LDMzIEBACiAKIG5hbWVzcGFjZSB3ZWJy
dGMgewogCitjbGFzcyBSZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5IGZpbmFsIDogcHVibGljIFZp
ZGVvRGVjb2RlckZhY3RvcnkgeworcHVibGljOgorICAgIGV4cGxpY2l0IFJlbW90ZVZpZGVvRGVj
b2RlckZhY3Rvcnkoc3RkOjp1bmlxdWVfcHRyPFZpZGVvRGVjb2RlckZhY3Rvcnk+JiYpOworICAg
IH5SZW1vdGVWaWRlb0RlY29kZXJGYWN0b3J5KCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAg
IHN0ZDo6dmVjdG9yPFNkcFZpZGVvRm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkgY29uc3Qg
ZmluYWw7CisgICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRGVjb2Rlcj4gQ3JlYXRlVmlkZW9EZWNv
ZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOworCisgICAgc3RkOjp1bmlx
dWVfcHRyPFZpZGVvRGVjb2RlckZhY3Rvcnk+IG1faW50ZXJuYWxGYWN0b3J5OworfTsKKworY2xh
c3MgUmVtb3RlVmlkZW9EZWNvZGVyIGZpbmFsIDogcHVibGljIHdlYnJ0Yzo6VmlkZW9EZWNvZGVy
IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBSZW1vdGVWaWRlb0RlY29kZXIoV2ViS2l0VmlkZW9E
ZWNvZGVyKTsKKyAgICB+UmVtb3RlVmlkZW9EZWNvZGVyKCkgPSBkZWZhdWx0OworCitwcml2YXRl
OgorICAgIGludDMyX3QgSW5pdERlY29kZShjb25zdCBWaWRlb0NvZGVjKiwgaW50MzJfdCBudW1i
ZXJfb2ZfY29yZXMpIGZpbmFsOworICAgIGludDMyX3QgRGVjb2RlKGNvbnN0IEVuY29kZWRJbWFn
ZSYsIGJvb2wgbWlzc2luZ19mcmFtZXMsIGludDY0X3QgcmVuZGVyX3RpbWVfbXMpIGZpbmFsOwor
ICAgIGludDMyX3QgUmVnaXN0ZXJEZWNvZGVDb21wbGV0ZUNhbGxiYWNrKERlY29kZWRJbWFnZUNh
bGxiYWNrKikgZmluYWw7CisgICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWw7CisgICAgY29uc3Qg
Y2hhciogSW1wbGVtZW50YXRpb25OYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlbW90ZVZp
ZGVvVG9vbEJveCI7IH0KKworICAgIFdlYktpdFZpZGVvRGVjb2RlciBtX2ludGVybmFsRGVjb2Rl
cjsKK307CisKIHN0cnVjdCBWaWRlb0RlY29kZXJDYWxsYmFja3MgewogICAgIFZpZGVvRGVjb2Rl
ckNyZWF0ZUNhbGxiYWNrIGNyZWF0ZUNhbGxiYWNrOwogICAgIFZpZGVvRGVjb2RlclJlbGVhc2VD
YWxsYmFjayByZWxlYXNlQ2FsbGJhY2s7CkBAIC0xMDksNyArMTQwLDcgQEAgUmVtb3RlVmlkZW9E
ZWNvZGVyOjpSZW1vdGVWaWRlb0RlY29kZXIoV2ViS2l0VmlkZW9EZWNvZGVyIGludGVybmFsRGVj
b2RlcikKIHsKIH0KIAotdm9pZCBSZW1vdGVWaWRlb0RlY29kZXI6OmRlY29kZUNvbXBsZXRlKHZv
aWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxC
dWZmZXIsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCkKK3ZvaWQgdmlkZW9EZWNvZGVyVGFza0NvbXBs
ZXRlKHZvaWQqIGNhbGxiYWNrLCB1aW50MzJfdCB0aW1lU3RhbXAsIENWUGl4ZWxCdWZmZXJSZWYg
cGl4ZWxCdWZmZXIsIHVpbnQzMl90IHRpbWVTdGFtcFJUUCkKIHsKICAgICBhdXRvIHZpZGVvRnJh
bWUgPSBWaWRlb0ZyYW1lOjpCdWlsZGVyKCkuc2V0X3ZpZGVvX2ZyYW1lX2J1ZmZlcihwaXhlbEJ1
ZmZlclRvRnJhbWUocGl4ZWxCdWZmZXIpKQogICAgICAgICAuc2V0X3RpbWVzdGFtcF9ydHAodGlt
ZVN0YW1wUlRQKQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaAppbmRleCBk
YjZlNmU2MWRjODY2YjM2YThhZWEzNDAwYTJiZjExOTU2YjM2ZGMxLi5iYTI2NjEwNzUxOTEwYjEz
MjEzMWZmZTY3Y2FhOTIxMWVjOTUyN2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaAorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktp
dEVuY29kZXIuaApAQCAtMjUsMTAgKzI1LDEyIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVk
ZSAiV2ViS2l0VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92aWRlb19l
bmNvZGVyLmgiCiAjaW5jbHVkZSAiYXBpL3ZpZGVvX2NvZGVjcy92aWRlb19lbmNvZGVyX2ZhY3Rv
cnkuaCIKICNpbmNsdWRlICJhcGkvdmlkZW8vZW5jb2RlZF9pbWFnZS5oIgogI2luY2x1ZGUgIm1v
ZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzLmgiCisjaW5jbHVkZSAibW9kdWxlcy92
aWRlb19jb2RpbmcvaW5jbHVkZS92aWRlb19lcnJvcl9jb2Rlcy5oIgogCiB1c2luZyBDVlBpeGVs
QnVmZmVyUmVmID0gc3RydWN0IF9fQ1ZCdWZmZXIqOwogCkBAIC00MCwyMiArNDIsNyBAQCBjbGFz
cyBWaWRlb0ZyYW1lOwogc3RydWN0IFNkcFZpZGVvRm9ybWF0OwogY2xhc3MgU2V0dGluZ3M7CiAK
LWNsYXNzIFZpZGVvRW5jb2RlckZhY3RvcnlXaXRoU2ltdWxjYXN0IGZpbmFsIDogcHVibGljIFZp
ZGVvRW5jb2RlckZhY3RvcnkgewotcHVibGljOgotICAgIGV4cGxpY2l0IFZpZGVvRW5jb2RlckZh
Y3RvcnlXaXRoU2ltdWxjYXN0KHN0ZDo6dW5pcXVlX3B0cjxWaWRlb0VuY29kZXJGYWN0b3J5PiYm
IGZhY3RvcnkpCi0gICAgICAgIDogbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5KHN0ZDo6bW92ZShm
YWN0b3J5KSkKLSAgICB7Ci0gICAgfQotCi0gICAgVmlkZW9FbmNvZGVyRmFjdG9yeTo6Q29kZWNJ
bmZvIFF1ZXJ5VmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1faW50ZXJuYWxFbmNvZGVyRmFjdG9yeS0+UXVlcnlWaWRlb0VuY29k
ZXIoZm9ybWF0KTsgfQotCi0gICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2Rlcj4gQ3JlYXRl
VmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOwotIAotICAg
IHN0ZDo6dmVjdG9yPFNkcFZpZGVvRm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5LT5HZXRTdXBwb3J0ZWRGb3Jt
YXRzKCk7IH0KLQotcHJpdmF0ZToKLSAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8VmlkZW9FbmNv
ZGVyRmFjdG9yeT4gbV9pbnRlcm5hbEVuY29kZXJGYWN0b3J5OwotfTsKK3N0ZDo6dW5pcXVlX3B0
cjx3ZWJydGM6OlZpZGVvRW5jb2RlckZhY3Rvcnk+IGNyZWF0ZVdlYktpdEVuY29kZXJGYWN0b3J5
KFdlYktpdEgyNjUsIFdlYktpdFZQOSwgV2ViS2l0SDI2NExvd0xhdGVuY3kpOwogCiB1c2luZyBX
ZWJLaXRWaWRlb0VuY29kZXIgPSB2b2lkKjsKIHVzaW5nIFZpZGVvRW5jb2RlckNyZWF0ZUNhbGxi
YWNrID0gV2ViS2l0VmlkZW9FbmNvZGVyKCopKGNvbnN0IFNkcFZpZGVvRm9ybWF0JiBmb3JtYXQp
OwpAQCAtMTI0LDYgKzExMSw3IEBAIHZvaWQgcmVsZWFzZUxvY2FsRW5jb2RlcihMb2NhbEVuY29k
ZXIpOwogdm9pZCBpbml0aWFsaXplTG9jYWxFbmNvZGVyKExvY2FsRW5jb2RlciwgdWludDE2X3Qg
d2lkdGgsIHVpbnQxNl90IGhlaWdodCwgdW5zaWduZWQgaW50IHN0YXJ0Qml0cmF0ZSwgdW5zaWdu
ZWQgaW50IG1heEJpdHJhdGUsIHVuc2lnbmVkIGludCBtaW5CaXRyYXRlLCB1aW50MzJfdCBtYXhG
cmFtZXJhdGUpOwogdm9pZCBlbmNvZGVMb2NhbEVuY29kZXJGcmFtZShMb2NhbEVuY29kZXIsIENW
UGl4ZWxCdWZmZXJSZWYsIGludDY0X3QgdGltZVN0YW1wLCB3ZWJydGM6OlZpZGVvUm90YXRpb24s
IGJvb2wgaXNLZXlmcmFtZVJlcXVpcmVkKTsKIHZvaWQgc2V0TG9jYWxFbmNvZGVyUmF0ZXMoTG9j
YWxFbmNvZGVyLCB1aW50MzJfdCBiaXRSYXRlLCB1aW50MzJfdCBmcmFtZVJhdGUpOwordm9pZCBz
ZXRMb2NhbEVuY29kZXJMb3dMYXRlbmN5KExvY2FsRW5jb2RlciwgYm9vbCBpc0xvd0xhdGVuY3lF
bmFibGVkKTsKIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KIGJvb2wgV2ViS2l0RW5jb2RlZEZy
YW1lSW5mbzo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYktpdEVuY29kZWRGcmFtZUluZm8m
IGluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dl
YnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0KaW5kZXggZDZm
Y2M1MDBmYWIzNWRlYmM4ZjA5ODNiYzgzMDU5M2Y0NjkzNGE2Mi4uNWY1MmNkZDM1NTAzYjg3ZDRi
MDQzZDM3Mzk5NzY3NzY5YWViZWM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0
RW5jb2Rlci5tbQpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIldlYktpdFV0aWxpdGllcy5o
IgogI2luY2x1ZGUgImFwaS92aWRlby92aWRlb19mcmFtZS5oIgogI2luY2x1ZGUgImNvbXBvbmVu
dHMvdmlkZW9fY29kZWMvUlRDQ29kZWNTcGVjaWZpY0luZm9IMjY0K1ByaXZhdGUuaCIKKyNpbmNs
dWRlICJtZWRpYS9lbmdpbmUvZW5jb2Rlcl9zaW11bGNhc3RfcHJveHkuaCIKICNpbmNsdWRlICJt
b2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L3NpbXVsY2FzdF91dGlsaXR5LmgiCiAjaW5jbHVk
ZSAic2RrL29iamMvYXBpL3BlZXJjb25uZWN0aW9uL1JUQ0VuY29kZWRJbWFnZStQcml2YXRlLmgi
CiAjaW5jbHVkZSAic2RrL29iamMvYXBpL3BlZXJjb25uZWN0aW9uL1JUQ1J0cEZyYWdtZW50YXRp
b25IZWFkZXIrUHJpdmF0ZS5oIgpAQCAtNDYsNiArNDcsNyBAQAogLSAoTlNJbnRlZ2VyKXN0YXJ0
RW5jb2RlV2l0aFNldHRpbmdzOihSVENWaWRlb0VuY29kZXJTZXR0aW5ncyAqKXNldHRpbmdzIG51
bWJlck9mQ29yZXM6KGludCludW1iZXJPZkNvcmVzOwogLSAoTlNJbnRlZ2VyKWVuY29kZTooUlRD
VmlkZW9GcmFtZSAqKWZyYW1lIGNvZGVjU3BlY2lmaWNJbmZvOihudWxsYWJsZSBpZDxSVENDb2Rl
Y1NwZWNpZmljSW5mbz4paW5mbyBmcmFtZVR5cGVzOihOU0FycmF5PE5TTnVtYmVyICo+ICopZnJh
bWVUeXBlczsKIC0gKGludClzZXRCaXRyYXRlOih1aW50MzJfdCliaXRyYXRlS2JpdCBmcmFtZXJh
dGU6KHVpbnQzMl90KWZyYW1lcmF0ZTsKKy0gKHZvaWQpc2V0TG93TGF0ZW5jeTooYm9vbClsb3dM
YXRlbmN5RW5hYmxlZDsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLX1JUQ0xvY2FsVmlkZW9I
MjY0SDI2NUVuY29kZXIgewpAQCAtOTIsMTAgKzk0LDMwIEBACiAgICAgICAgIHJldHVybiBbbV9o
MjY0RW5jb2RlciBzZXRCaXRyYXRlOmJpdHJhdGVLYml0IGZyYW1lcmF0ZTpmcmFtZXJhdGVdOwog
ICAgIHJldHVybiBbbV9oMjY1RW5jb2RlciBzZXRCaXRyYXRlOmJpdHJhdGVLYml0IGZyYW1lcmF0
ZTpmcmFtZXJhdGVdOwogfQorLSAodm9pZClzZXRMb3dMYXRlbmN5Oihib29sKWxvd0xhdGVuY3lF
bmFibGVkIHsKKyAgICBpZiAobV9oMjY0RW5jb2RlcikKKyAgICAgICAgW21faDI2NEVuY29kZXIg
c2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDpsb3dMYXRlbmN5RW5hYmxlZF07Cit9CiBA
ZW5kCisKIG5hbWVzcGFjZSB3ZWJydGMgewogCi1zdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRl
b0VuY29kZXJGYWN0b3J5PiBjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeShXZWJLaXRIMjY1IHN1
cHBvcnRzSDI2NSwgV2ViS2l0VlA5IHN1cHBvcnRzVlA5KQorY2xhc3MgVmlkZW9FbmNvZGVyRmFj
dG9yeVdpdGhTaW11bGNhc3QgZmluYWwgOiBwdWJsaWMgVmlkZW9FbmNvZGVyRmFjdG9yeSB7Citw
dWJsaWM6CisgICAgZXhwbGljaXQgVmlkZW9FbmNvZGVyRmFjdG9yeVdpdGhTaW11bGNhc3Qoc3Rk
Ojp1bmlxdWVfcHRyPFZpZGVvRW5jb2RlckZhY3Rvcnk+JiYgZmFjdG9yeSkKKyAgICAgICAgOiBt
X2ludGVybmFsRW5jb2RlckZhY3Rvcnkoc3RkOjptb3ZlKGZhY3RvcnkpKQorICAgIHsKKyAgICB9
CisKKyAgICBWaWRlb0VuY29kZXJGYWN0b3J5OjpDb2RlY0luZm8gUXVlcnlWaWRlb0VuY29kZXIo
Y29uc3QgU2RwVmlkZW9Gb3JtYXQmIGZvcm1hdCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pbnRl
cm5hbEVuY29kZXJGYWN0b3J5LT5RdWVyeVZpZGVvRW5jb2Rlcihmb3JtYXQpOyB9CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFZpZGVvRW5jb2Rlcj4gQ3JlYXRlVmlkZW9FbmNvZGVyKGNvbnN0IFNkcFZp
ZGVvRm9ybWF0JiBmb3JtYXQpIGZpbmFsOworICAgIHN0ZDo6dmVjdG9yPFNkcFZpZGVvRm9ybWF0
PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pbnRlcm5hbEVu
Y29kZXJGYWN0b3J5LT5HZXRTdXBwb3J0ZWRGb3JtYXRzKCk7IH0KKworcHJpdmF0ZToKKyAgICBj
b25zdCBzdGQ6OnVuaXF1ZV9wdHI8VmlkZW9FbmNvZGVyRmFjdG9yeT4gbV9pbnRlcm5hbEVuY29k
ZXJGYWN0b3J5OworfTsKKworc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNvZGVyRmFj
dG9yeT4gY3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoV2ViS2l0SDI2NSBzdXBwb3J0c0gyNjUs
IFdlYktpdFZQOSBzdXBwb3J0c1ZQOSwgV2ViS2l0SDI2NExvd0xhdGVuY3kgdXNlSDI2NExvd0xh
dGVuY3kpCiB7CiAjaWYgRU5BQkxFX1ZDUF9FTkNPREVSIHx8IEVOQUJMRV9WQ1BfVlRCX0VOQ09E
RVIKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CkBAIC0xMDQsNyArMTI2LDcg
QEAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNvZGVyRmFjdG9yeT4gY3JlYXRlV2Vi
S2l0RW5jb2RlckZhY3RvcnkoV2ViS2l0SDIKICAgICB9KTsKICNlbmRpZgogCi0gICAgYXV0byBp
bnRlcm5hbEZhY3RvcnkgPSBPYmpDVG9OYXRpdmVWaWRlb0VuY29kZXJGYWN0b3J5KFtbUlRDRGVm
YXVsdFZpZGVvRW5jb2RlckZhY3RvcnkgYWxsb2NdIGluaXRXaXRoSDI2NTogc3VwcG9ydHNIMjY1
ID09IFdlYktpdEgyNjU6Ok9uIHZwOTpzdXBwb3J0c1ZQOSA9PSBXZWJLaXRWUDk6Ok9uXSk7Cisg
ICAgYXV0byBpbnRlcm5hbEZhY3RvcnkgPSBPYmpDVG9OYXRpdmVWaWRlb0VuY29kZXJGYWN0b3J5
KFtbUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkgYWxsb2NdIGluaXRXaXRoSDI2NTogc3Vw
cG9ydHNIMjY1ID09IFdlYktpdEgyNjU6Ok9uIHZwOTpzdXBwb3J0c1ZQOSA9PSBXZWJLaXRWUDk6
Ok9uIGxvd0xhdGVuY3lIMjY0OnVzZUgyNjRMb3dMYXRlbmN5ID09IFdlYktpdEgyNjRMb3dMYXRl
bmN5OjpPbl0pOwogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFZpZGVvRW5jb2RlckZhY3Rv
cnlXaXRoU2ltdWxjYXN0PihzdGQ6Om1vdmUoaW50ZXJuYWxGYWN0b3J5KSk7CiB9CiAKQEAgLTEx
OSwxNyArMTQxLDYgQEAgYm9vbCBpc0gyNjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkKCkKICAgICBy
ZXR1cm4gaDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQ7CiB9CiAKLXN0YXRpYyBib29sIGgyNjRM
b3dMYXRlbmN5RW5jb2RlckVuYWJsZWQgPSBmYWxzZTsKLXZvaWQgc2V0SDI2NExvd0xhdGVuY3lF
bmNvZGVyRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgaDI2NExvd0xhdGVuY3lFbmNvZGVy
RW5hYmxlZCA9IGVuYWJsZWQ7Ci19Ci0KLWJvb2wgaXNIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFi
bGVkKCkKLXsKLSAgICByZXR1cm4gaDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDsKLX0KLQog
c3RkOjp1bmlxdWVfcHRyPFZpZGVvRW5jb2Rlcj4gVmlkZW9FbmNvZGVyRmFjdG9yeVdpdGhTaW11
bGNhc3Q6OkNyZWF0ZVZpZGVvRW5jb2Rlcihjb25zdCBTZHBWaWRlb0Zvcm1hdCYgZm9ybWF0KQog
ewogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEVuY29kZXJTaW11bGNhc3RQcm94eT4obV9p
bnRlcm5hbEVuY29kZXJGYWN0b3J5LmdldCgpLCBmb3JtYXQpOwpAQCAtMzA1LDQgKzMxNiwxMCBA
QCB2b2lkIHNldExvY2FsRW5jb2RlclJhdGVzKExvY2FsRW5jb2RlciBsb2NhbEVuY29kZXIsIHVp
bnQzMl90IGJpdFJhdGUsIHVpbnQzMl90CiAgICAgW2VuY29kZXIgc2V0Qml0cmF0ZTpiaXRSYXRl
IGZyYW1lcmF0ZTpmcmFtZVJhdGVdOwogfQogCit2b2lkIHNldExvY2FsRW5jb2Rlckxvd0xhdGVu
Y3koTG9jYWxFbmNvZGVyIGxvY2FsRW5jb2RlciwgYm9vbCBpc0xvd0xhdGVuY3lFbmFibGVkKQor
eworICAgIGF1dG8gKmVuY29kZXIgPSAoX19icmlkZ2UgV0tfUlRDTG9jYWxWaWRlb0gyNjRIMjY1
RW5jb2RlciAqKShsb2NhbEVuY29kZXIpOworICAgIFtlbmNvZGVyIHNldExvd0xhdGVuY3k6aXNM
b3dMYXRlbmN5RW5hYmxlZF07Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0VXRpbGl0aWVzLmggYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktp
dFV0aWxpdGllcy5oCmluZGV4IGQ3ZDJiZDBlODJlMjBhYmRjNWZmZWFmZTQwMjQ0YjA0NjAyYjEx
NTQuLjRmZWIyYzllOGVhMTM5MzE2MjBkMTFlY2I3NWU4OGVhZDU1NDU3ODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2Vi
S2l0VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93
ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRVdGlsaXRpZXMuaApAQCAtMjcsMzQgKzI3LDI0IEBACiAK
ICNpbmNsdWRlICJhcGkvdmlkZW8vdmlkZW9fZnJhbWVfYnVmZmVyLmgiCiAjaW5jbHVkZSAiYXBp
L3Njb3BlZF9yZWZwdHIuaCIKLSNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29k
ZXJfZmFjdG9yeS5oIgotI2luY2x1ZGUgImFwaS92aWRlb19jb2RlY3MvdmlkZW9fZW5jb2Rlcl9m
YWN0b3J5LmgiCi0jaW5jbHVkZSAibWVkaWEvZW5naW5lL2VuY29kZXJfc2ltdWxjYXN0X3Byb3h5
LmgiCisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIAogdXNpbmcgQ1ZQaXhlbEJ1ZmZlclJlZiA9IHN0
cnVjdCBfX0NWQnVmZmVyKjsKLXVzaW5nIENWUGl4ZWxCdWZmZXJQb29sUmVmID0gc3RydWN0IF9f
Q1ZQaXhlbEJ1ZmZlclBvb2wqOwogCiBuYW1lc3BhY2Ugd2VicnRjIHsKIAotY2xhc3MgVmlkZW9E
ZWNvZGVyRmFjdG9yeTsKLWNsYXNzIFZpZGVvRW5jb2RlckZhY3Rvcnk7CiBjbGFzcyBWaWRlb0Zy
YW1lOwogCiBlbnVtIGNsYXNzIFdlYktpdEgyNjUgeyBPZmYsIE9uIH07CiBlbnVtIGNsYXNzIFdl
YktpdFZQOSB7IE9mZiwgT24gfTsKIGVudW0gY2xhc3MgV2ViS2l0VlA5VlRCIHsgT2ZmLCBPbiB9
OwotCi1zdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRlb0VuY29kZXJGYWN0b3J5PiBjcmVhdGVX
ZWJLaXRFbmNvZGVyRmFjdG9yeShXZWJLaXRIMjY1LCBXZWJLaXRWUDkpOwotc3RkOjp1bmlxdWVf
cHRyPHdlYnJ0Yzo6VmlkZW9EZWNvZGVyRmFjdG9yeT4gY3JlYXRlV2ViS2l0RGVjb2RlckZhY3Rv
cnkoV2ViS2l0SDI2NSwgV2ViS2l0VlA5LCBXZWJLaXRWUDlWVEIpOworZW51bSBjbGFzcyBXZWJL
aXRIMjY0TG93TGF0ZW5jeSB7IE9mZiwgT24gfTsKIAogdm9pZCBzZXRBcHBsaWNhdGlvblN0YXR1
cyhib29sIGlzQWN0aXZlKTsKIAogdm9pZCBzZXRIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZChi
b29sKTsKIGJvb2wgaXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpOwogCi12b2lkIHNldEgy
NjRMb3dMYXRlbmN5RW5jb2RlckVuYWJsZWQoYm9vbCk7Ci1ib29sIGlzSDI2NExvd0xhdGVuY3lF
bmNvZGVyRW5hYmxlZCgpOwotCiBlbnVtIGNsYXNzIEJ1ZmZlclR5cGUgeyBJNDIwLCBJMDEwIH07
CiBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyRnJvbUZyYW1lKGNvbnN0IFZpZGVvRnJhbWUm
LCBjb25zdCBzdGQ6OmZ1bmN0aW9uPENWUGl4ZWxCdWZmZXJSZWYoc2l6ZV90LCBzaXplX3QsIEJ1
ZmZlclR5cGUpPiYpOwogcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9GcmFtZUJ1ZmZl
cj4gcGl4ZWxCdWZmZXJUb0ZyYW1lKENWUGl4ZWxCdWZmZXJSZWYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRV
dGlsaXRpZXMubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9z
ZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5tbQppbmRleCA4ZGRjNmEzZDhiZWFiYzBlZGNmM2E4
NjI4MTk2YjFiYzIyYzU0NWNmLi4xYjY0NDQ5ZWQ0YjJkZDcyZTIzZDE2YjJlNTI1ZmMzZWU5NWI4
YTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5tbQpAQCAt
MjUsNiArMjUsNyBAQAogCiAjaW5jbHVkZSAiV2ViS2l0VXRpbGl0aWVzLmgiCiAKKyNpbmNsdWRl
ICJhcGkvdmlkZW8vdmlkZW9fZnJhbWUuaCIKICNpbmNsdWRlICJuYXRpdmUvc3JjL29iamNfZnJh
bWVfYnVmZmVyLmgiCiAjaW5jbHVkZSAicnRjX2Jhc2UvbG9nZ2luZy5oIgogI2luY2x1ZGUgInRo
aXJkX3BhcnR5L2xpYnl1di9pbmNsdWRlL2xpYnl1di9jb252ZXJ0X2Zyb20uaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2Nv
bXBvbmVudHMvdmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkuaCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBvbmVu
dHMvdmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkuaAppbmRleCBkNzYw
MDU0ZmU2MTg5NTQwYmJkMjdiMmVkMTE3NTFmMmMwNWViMmIzLi4wY2E5MjM0ZDc4NDc5YTIzZDY2
ODlmNDg3YTNjYzRmYWU2NTg4YjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ0Rl
ZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5LmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZh
dWx0VmlkZW9FbmNvZGVyRmFjdG9yeS5oCkBAIC0yMiw3ICsyMiw3IEBAIFJUQ19PQkpDX0VYUE9S
VAogX19hdHRyaWJ1dGVfXygob2JqY19ydW50aW1lX25hbWUoIldLX1JUQ0RlZmF1bHRWaWRlb0Vu
Y29kZXJGYWN0b3J5IikpKQogQGludGVyZmFjZSBSVENEZWZhdWx0VmlkZW9FbmNvZGVyRmFjdG9y
eSA6IE5TT2JqZWN0IDxSVENWaWRlb0VuY29kZXJGYWN0b3J5PgogCi0tIChpZClpbml0V2l0aEgy
NjU6KGJvb2wpc3VwcG9ydEgyNjUgdnA5Oihib29sKXN1cHBvcnRzVlA5OworLSAoaWQpaW5pdFdp
dGhIMjY1Oihib29sKXN1cHBvcnRIMjY1IHZwOTooYm9vbClzdXBwb3J0c1ZQOSBsb3dMYXRlbmN5
SDI2NDooYm9vbCl1c2VMb3dMYXRlbmN5SDI2NDsKICsgKE5TQXJyYXk8UlRDVmlkZW9Db2RlY0lu
Zm8gKj4gKilzdXBwb3J0ZWRDb2RlY3M7CiArIChOU0FycmF5PFJUQ1ZpZGVvQ29kZWNJbmZvICo+
ICopc3VwcG9ydGVkQ29kZWNzV2l0aEgyNjU6KGJvb2wpc3VwcG9ydHNIMjY1IHZwOTooYm9vbClz
dXBwb3J0c1ZQOTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZhdWx0Vmlk
ZW9FbmNvZGVyRmFjdG9yeS5tIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93
ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENEZWZhdWx0VmlkZW9FbmNv
ZGVyRmFjdG9yeS5tCmluZGV4IGFlZTJkZmZkYTBkODBjMzMxZjQxNzdkZTE0OTRkZDgyMDkxOTYz
MzUuLmYwMTQ0NzA0NTA1MzQ5MDM4NTI5Y2JmYjE4MTc2ZGE0MmM1YmU4YzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBv
bmVudHMvdmlkZW9fY29kZWMvUlRDRGVmYXVsdFZpZGVvRW5jb2RlckZhY3RvcnkubQorKysgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25l
bnRzL3ZpZGVvX2NvZGVjL1JUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5Lm0KQEAgLTI2LDE0
ICsyNiwxNiBAQAogQGltcGxlbWVudGF0aW9uIFJUQ0RlZmF1bHRWaWRlb0VuY29kZXJGYWN0b3J5
IHsKICAgYm9vbCBfc3VwcG9ydHNIMjY1OwogICBib29sIF9zdXBwb3J0c1ZQOTsKKyAgYm9vbCBf
dXNlTG93TGF0ZW5jeUgyNjQ7CiB9CiAKLS0gKGlkKWluaXRXaXRoSDI2NTooYm9vbClzdXBwb3J0
c0gyNjUgdnA5Oihib29sKXN1cHBvcnRzVlA5CistIChpZClpbml0V2l0aEgyNjU6KGJvb2wpc3Vw
cG9ydHNIMjY1IHZwOTooYm9vbClzdXBwb3J0c1ZQOSBsb3dMYXRlbmN5SDI2NDooYm9vbCl1c2VM
b3dMYXRlbmN5SDI2NAogewogICBzZWxmID0gW3N1cGVyIGluaXRdOwogICBpZiAoc2VsZikgewog
ICAgICAgX3N1cHBvcnRzSDI2NSA9IHN1cHBvcnRzSDI2NTsKICAgICAgIF9zdXBwb3J0c1ZQOSA9
IHN1cHBvcnRzVlA5OworICAgICAgX3VzZUxvd0xhdGVuY3lIMjY0ID0gdXNlTG93TGF0ZW5jeUgy
NjQ7CiAgIH0KICAgcmV0dXJuIHNlbGY7CiB9CkBAIC05Miw3ICs5NCw5IEBAIC0gKGlkKWluaXRX
aXRoSDI2NTooYm9vbClzdXBwb3J0c0gyNjUgdnA5Oihib29sKXN1cHBvcnRzVlA5CiAKIC0gKGlk
PFJUQ1ZpZGVvRW5jb2Rlcj4pY3JlYXRlRW5jb2RlcjooUlRDVmlkZW9Db2RlY0luZm8gKilpbmZv
IHsKICAgaWYgKFtpbmZvLm5hbWUgaXNFcXVhbFRvU3RyaW5nOmtSVENWaWRlb0NvZGVjSDI2NE5h
bWVdKSB7Ci0gICAgcmV0dXJuIFtbUlRDVmlkZW9FbmNvZGVySDI2NCBhbGxvY10gaW5pdFdpdGhD
b2RlY0luZm86aW5mb107CisgICAgUlRDVmlkZW9FbmNvZGVySDI2NCogZW5jb2RlciA9IFtbUlRD
VmlkZW9FbmNvZGVySDI2NCBhbGxvY10gaW5pdFdpdGhDb2RlY0luZm86aW5mb107CisgICAgW2Vu
Y29kZXIgc2V0SDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDpfdXNlTG93TGF0ZW5jeUgyNjRd
OworICAgIHJldHVybiBlbmNvZGVyOwogICB9IGVsc2UgaWYgKFtpbmZvLm5hbWUgaXNFcXVhbFRv
U3RyaW5nOmtSVENWaWRlb0NvZGVjVnA4TmFtZV0pIHsKICAgICByZXR1cm4gW1JUQ1ZpZGVvRW5j
b2RlclZQOCB2cDhFbmNvZGVyXTsKICNpZiBkZWZpbmVkKFJUQ19FTkFCTEVfVlA5KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMv
Y29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0VuY29kZXJIMjY0LmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVv
X2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQuaAppbmRleCA3NzE0YjI1ZWFhNDY4YzNiODIzZjhm
ZTdmMzkyNjJiZDQxZWM0ZWYzLi5lZTc4NmMwM2FhN2IwZTYyYWY0YjA2ZDE2YmNkY2M4Y2JlNWE1
NGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQuaAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9j
b21wb25lbnRzL3ZpZGVvX2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQuaApAQCAtMTksNSArMTks
NSBAQCBfX2F0dHJpYnV0ZV9fKChvYmpjX3J1bnRpbWVfbmFtZSgiV0tfUlRDVmlkZW9FbmNvZGVy
SDI2NCIpKSkKIEBpbnRlcmZhY2UgUlRDVmlkZW9FbmNvZGVySDI2NCA6IE5TT2JqZWN0IDxSVENW
aWRlb0VuY29kZXI+CiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aENvZGVjSW5mbzooUlRDVmlk
ZW9Db2RlY0luZm8gKiljb2RlY0luZm87Ci0KKy0gKHZvaWQpc2V0SDI2NExvd0xhdGVuY3lFbmNv
ZGVyRW5hYmxlZDooYm9vbCllbmFibGVkOwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19j
b2RlYy9SVENWaWRlb0VuY29kZXJIMjY0Lm1tIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvc2RrL29iamMvY29tcG9uZW50cy92aWRlb19jb2RlYy9SVENWaWRlb0Vu
Y29kZXJIMjY0Lm1tCmluZGV4IDQwNjhlZTRmMjY0YTBmNzkzZGUyMzJmYTNkYTQ1NGY0NTI2ZjA0
YTUuLjU3YmVkYjdmMjliZGUxZGE1ZTg3ZmFhODEyY2E2NWM0YzUwMTM0NTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL2NvbXBv
bmVudHMvdmlkZW9fY29kZWMvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9jb21wb25lbnRzL3ZpZGVv
X2NvZGVjL1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KQEAgLTM0OCw2ICszNDgsNyBAQCBOU1VJbnRl
Z2VyIEdldE1heFNhbXBsZVJhdGUoY29uc3Qgd2VicnRjOjpIMjY0OjpQcm9maWxlTGV2ZWxJZCAm
cHJvZmlsZV9sZXZlbF9pZAogICBzdGQ6OnZlY3Rvcjx1aW50OF90PiBfZnJhbWVTY2FsZUJ1ZmZl
cjsKICAgYm9vbCBfZGlzYWJsZUVuY29kaW5nOwogICBib29sIF9pc0tleUZyYW1lUmVxdWlyZWQ7
CisgIGJvb2wgX2lzSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZDsKIH0KIAogLy8gLjUgaXMg
c2V0IGFzIGEgbWluaW51bSB0byBwcmV2ZW50IG92ZXJjb21wZW5zYXRpbmcgZm9yIGxhcmdlIHRl
bXBvcmFyeQpAQCAtMzc1LDEwICszNzYsMTYgQEAgTlNVSW50ZWdlciBHZXRNYXhTYW1wbGVSYXRl
KGNvbnN0IHdlYnJ0Yzo6SDI2NDo6UHJvZmlsZUxldmVsSWQgJnByb2ZpbGVfbGV2ZWxfaWQKICAg
ICBSVENfQ0hFQ0soW2NvZGVjSW5mby5uYW1lIGlzRXF1YWxUb1N0cmluZzprUlRDVmlkZW9Db2Rl
Y0gyNjROYW1lXSk7CiAgIH0KICAgX2lzS2V5RnJhbWVSZXF1aXJlZCA9IGZhbHNlOworICBfaXNI
MjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkID0gdHJ1ZTsKIAogICByZXR1cm4gc2VsZjsKIH0K
IAorLSAodm9pZClzZXRIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkOihib29sKWVuYWJsZWQK
K3sKKyAgICBfaXNIMjY0TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkID0gZW5hYmxlZDsKK30KKwog
LSAodm9pZClkZWFsbG9jIHsKICAgW3NlbGYgZGVzdHJveUNvbXByZXNzaW9uU2Vzc2lvbl07CiB9
CkBAIC02OTYsNyArNzAzLDcgQEAgTlNVSW50ZWdlciBHZXRNYXhTYW1wbGVSYXRlKGNvbnN0IHdl
YnJ0Yzo6SDI2NDo6UHJvZmlsZUxldmVsSWQgJnByb2ZpbGVfbGV2ZWxfaWQKICNlbmRpZgogICB9
CiAjZWxpZiBIQVZFX1ZUQl9SRVFVSVJFRExPV0xBVEVOQ1kKLSAgaWYgKHdlYnJ0Yzo6aXNIMjY0
TG93TGF0ZW5jeUVuY29kZXJFbmFibGVkKCkgJiYgX3VzZVZDUCkKKyAgaWYgKF9pc0gyNjRMb3dM
YXRlbmN5RW5jb2RlckVuYWJsZWQgJiYgX3VzZVZDUCkKICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1
ZShlbmNvZGVyU3BlY3MsIGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRpb25fUmVxdWlyZWRMb3dM
YXRlbmN5LCBrQ0ZCb29sZWFuVHJ1ZSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyQ29j
b2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1Byb3ZpZGVyQ29jb2EuY3BwCmluZGV4IGNiMTFmODFmZDNmMTFlYWY4MTg5MTk2YjE0
ODdhZWQwN2M2ZTU5Y2EuLmU5YzEwODk4M2M0ZmU3YTAyMTkzNzhkYzg3NmJhMmIyNTQzOGVlZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENQcm92aWRlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAKQEAgLTMx
LDcgKzMxLDggQEAKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAKIEFMTE9X
X1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCi0jaW5jbHVkZSA8d2VicnRjL3Nkay9XZWJLaXQvV2Vi
S2l0VXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RGVjb2Rl
ci5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIuaD4KIEFMTE9X
X1VOVVNFRF9QQVJBTUVURVJTX0VORAogI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktp
dFZQOURlY29kZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpAQCAtNzMsOCArNzQs
NyBAQCBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRlb0VuY29kZXJGYWN0b3J5PiBMaWJXZWJS
VENQcm92aWRlckNvY29hOjpjcmVhdGVFbmNvZAogICAgIGlmICghd2ViUlRDQXZhaWxhYmxlKCkp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgd2VicnRjOjpzZXRIMjY0TG93TGF0ZW5j
eUVuY29kZXJFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
d2ViUlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCgpKTsKLSAgICByZXR1cm4gd2VicnRj
OjpjcmVhdGVXZWJLaXRFbmNvZGVyRmFjdG9yeShpc1N1cHBvcnRpbmdIMjY1KCkgPyB3ZWJydGM6
OldlYktpdEgyNjU6Ok9uIDogd2VicnRjOjpXZWJLaXRIMjY1OjpPZmYsIGlzU3VwcG9ydGluZ1ZQ
OSgpID8gd2VicnRjOjpXZWJLaXRWUDk6Ok9uIDogd2VicnRjOjpXZWJLaXRWUDk6Ok9mZik7Cisg
ICAgcmV0dXJuIHdlYnJ0Yzo6Y3JlYXRlV2ViS2l0RW5jb2RlckZhY3RvcnkoaXNTdXBwb3J0aW5n
SDI2NSgpID8gd2VicnRjOjpXZWJLaXRIMjY1OjpPbiA6IHdlYnJ0Yzo6V2ViS2l0SDI2NTo6T2Zm
LCBpc1N1cHBvcnRpbmdWUDkoKSA/IHdlYnJ0Yzo6V2ViS2l0VlA5OjpPbiA6IHdlYnJ0Yzo6V2Vi
S2l0VlA5OjpPZmYsIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2Vi
UlRDSDI2NExvd0xhdGVuY3lFbmNvZGVyRW5hYmxlZCgpID8gd2VicnRjOjpXZWJLaXRIMjY0TG93
TGF0ZW5jeTo6T24gOiB3ZWJydGM6OldlYktpdEgyNjRMb3dMYXRlbmN5OjpPZmYpOwogfQogCiB2
b2lkIExpYldlYlJUQ1Byb3ZpZGVyQ29jb2E6OnNldEFjdGl2ZShib29sIHZhbHVlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94
eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94
eS5oCmluZGV4IDUyMDcyOTNmZGYwNzAyZjNiOWZhZjVmZjkyZjdlNDllMDM3MWE2MWYuLjYxODIy
ZjE5ZGE0NTQ0MTUwNzNhODM3ZDZiNDI0ZWQyOTJkNmQzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5LmgKQEAgLTcy
LDcgKzcyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbGVhc2VEZWNvZGVyKFJUQ0RlY29kZXJJ
ZGVudGlmaWVyKTsKICAgICB2b2lkIGRlY29kZUZyYW1lKFJUQ0RlY29kZXJJZGVudGlmaWVyLCB1
aW50MzJfdCB0aW1lU3RhbXAsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogCi0gICAgdm9p
ZCBjcmVhdGVFbmNvZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmLCBjb25z
dCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4mKTsKKyAgICB2b2lkIGNyZWF0ZUVu
Y29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFZlY3Rvcjxz
dGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiYsIGJvb2wgdXNlTG93TGF0ZW5jeSk7CiAgICAgdm9p
ZCByZWxlYXNlRW5jb2RlcihSVENFbmNvZGVySWRlbnRpZmllcik7CiAgICAgdm9pZCBpbml0aWFs
aXplRW5jb2RlcihSVENFbmNvZGVySWRlbnRpZmllciwgdWludDE2X3Qgd2lkdGgsIHVpbnQxNl90
IGhlaWdodCwgdW5zaWduZWQgc3RhcnRCaXRyYXRlLCB1bnNpZ25lZCBtYXhCaXRyYXRlLCB1bnNp
Z25lZCBtaW5CaXRyYXRlLCB1aW50MzJfdCBtYXhGcmFtZXJhdGUpOwogICAgIHZvaWQgZW5jb2Rl
RnJhbWUoUlRDRW5jb2RlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYs
IGJvb2wgc2hvdWxkRW5jb2RlQXNLZXlGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tZXNzYWdl
cy5pbgppbmRleCBmNDNhYzU0NzlkNmNmMzVkMjVmZDg4OTg2ZWVhM2Y4MjUwMmQwODNmLi5lNmMy
OWMxMzBlMmM2ZWM1Y2FiODFhYTViYjkxZDE3Y2JkNjE0MGY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gTGliV2ViUlRDQ29k
ZWNzUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgUmVsZWFzZURlY29kZXIoV2ViS2l0OjpSVENE
ZWNvZGVySWRlbnRpZmllciBpZCkKICAgICBEZWNvZGVGcmFtZShXZWJLaXQ6OlJUQ0RlY29kZXJJ
ZGVudGlmaWVyIGlkLCB1aW50MzJfdCB0aW1lU3RhbXAsIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRh
KQogCi0gICAgQ3JlYXRlRW5jb2RlcihXZWJLaXQ6OlJUQ0VuY29kZXJJZGVudGlmaWVyIGlkLCBT
dHJpbmcgZm9ybWF0TmFtZSwgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+IHBhcmFt
ZXRlcnMpOworICAgIENyZWF0ZUVuY29kZXIoV2ViS2l0OjpSVENFbmNvZGVySWRlbnRpZmllciBp
ZCwgU3RyaW5nIGZvcm1hdE5hbWUsIFZlY3RvcjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiBw
YXJhbWV0ZXJzLCBib29sIHVzZUxvd0xhdGVuY3kpOwogICAgIFJlbGVhc2VFbmNvZGVyKFdlYktp
dDo6UlRDRW5jb2RlcklkZW50aWZpZXIgaWQpCiAgICAgSW5pdGlhbGl6ZUVuY29kZXIoV2ViS2l0
OjpSVENFbmNvZGVySWRlbnRpZmllciBpZCwgdWludDE2X3Qgd2lkdGgsIHVpbnQxNl90IGhlaWdo
dCwgdW5zaWduZWQgc3RhcnRCaXRyYXRlLCB1bnNpZ25lZCBtYXhCaXRyYXRlLCB1bnNpZ25lZCBt
aW5CaXRyYXRlLCB1aW50MzJfdCBtYXhGcmFtZXJhdGUpCiAgICAgRW5jb2RlRnJhbWUoV2ViS2l0
OjpSVENFbmNvZGVySWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUgc2Ft
cGxlLCBib29sIHNob3VsZEVuY29kZUFzS2V5RnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3NQcm94eS5tbQppbmRleCBhNTUw
Y2UxNjc5NTIxYTdlNjRlMWRiNjM5YzhlY2RkNzNmY2RlMzEyLi5lZWZmZDgwNzhlN2M5Zjk5ZDRl
Y2JkMDJlZjc1MTNiM2UzNzQ2ODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1Byb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDQ29kZWNzUHJveHkubW0KQEAgLTEwNiwxOCArMTA2LDIw
IEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzUHJveHk6OmRlY29kZUZyYW1lKFJUQ0RlY29kZXJJZGVu
dGlmaWVyIGlkZW50aWZpZXIsIHVpbnQzMl90CiAgICAgICAgIG1fZ3B1Q29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzOjpGYWls
ZWREZWNvZGluZyB7IGlkZW50aWZpZXIgfSwgMCk7CiB9CiAKLXZvaWQgTGliV2ViUlRDQ29kZWNz
UHJveHk6OmNyZWF0ZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiBmb3JtYXROYW1lLCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3Ry
aW5nPj4mIHBhcmFtZXRlcnMpCit2b2lkIExpYldlYlJUQ0NvZGVjc1Byb3h5OjpjcmVhdGVFbmNv
ZGVyKFJUQ0VuY29kZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZm9ybWF0
TmFtZSwgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+JiBwYXJhbWV0ZXJz
LCBib29sIHVzZUxvd0xhdGVuY3kpCiB7CiAgICAgQVNTRVJUKCFtX2VuY29kZXJzLmNvbnRhaW5z
KGlkZW50aWZpZXIpKTsKIAogICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBzdGQ6OnN0cmluZz4g
cnRjUGFyYW1ldGVyczsKICAgICBmb3IgKGF1dG8mIHBhcmFtZXRlciA6IHBhcmFtZXRlcnMpCiAg
ICAgICAgIHJ0Y1BhcmFtZXRlcnMuZW1wbGFjZShwYXJhbWV0ZXIuZmlyc3QudXRmOCgpLmRhdGEo
KSwgcGFyYW1ldGVyLnNlY29uZC51dGY4KCkuZGF0YSgpKTsKLSAgICAKLSAgICBtX2VuY29kZXJz
LmFkZChpZGVudGlmaWVyLCB3ZWJydGM6OmNyZWF0ZUxvY2FsRW5jb2Rlcih3ZWJydGM6OlNkcFZp
ZGVvRm9ybWF0IHsgZm9ybWF0TmFtZS51dGY4KCkuZGF0YSgpLCBydGNQYXJhbWV0ZXJzIH0sIF4o
Y29uc3QgdWludDhfdCogYnVmZmVyLCBzaXplX3Qgc2l6ZSwgY29uc3Qgd2VicnRjOjpXZWJLaXRF
bmNvZGVkRnJhbWVJbmZvJiBpbmZvLCB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqIGhl
YWRlcikgeworCisgICAgYXV0byogZW5jb2RlciA9IHdlYnJ0Yzo6Y3JlYXRlTG9jYWxFbmNvZGVy
KHdlYnJ0Yzo6U2RwVmlkZW9Gb3JtYXQgeyBmb3JtYXROYW1lLnV0ZjgoKS5kYXRhKCksIHJ0Y1Bh
cmFtZXRlcnMgfSwgXihjb25zdCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBzaXplLCBjb25zdCB3
ZWJydGM6OldlYktpdEVuY29kZWRGcmFtZUluZm8mIGluZm8sIHdlYnJ0Yzo6UlRQRnJhZ21lbnRh
dGlvbkhlYWRlciogaGVhZGVyKSB7CiAgICAgICAgIAogICAgICAgICBtX2dwdUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjczo6
Q29tcGxldGVkRW5jb2RpbmcgeyBpZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgeyBidWZm
ZXIsIHNpemUgfSwgaW5mbywgd2VicnRjOjpXZWJLaXRSVFBGcmFnbWVudGF0aW9uSGVhZGVyIHsg
aGVhZGVyIH0gfSwgMCk7Ci0gICAgfSkpOworICAgIH0pOworICAgIHdlYnJ0Yzo6c2V0TG9jYWxF
bmNvZGVyTG93TGF0ZW5jeShlbmNvZGVyLCB1c2VMb3dMYXRlbmN5KTsKKyAgICBtX2VuY29kZXJz
LmFkZChpZGVudGlmaWVyLCBlbmNvZGVyKTsKIH0KIAogdm9pZCBMaWJXZWJSVENDb2RlY3NQcm94
eTo6cmVsZWFzZUVuY29kZXIoUlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmllcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVj
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2Rl
Y3MuY3BwCmluZGV4IDI5NTQ4YTFiN2I5OWE0MjViMzIxYTFlZDY2OTI0YTYyNzMwMDAyYTMuLmU4
ZmEyMTc0M2EwNmI3ZWI3M2MyZjAzODNjYTUzODBjNmQ5ODgxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcApA
QCAtMzYsOSArMzYsOSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZVZpZGVvVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZW1vdGVWaWRlb1NhbXBsZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPHdlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdERlY29kZXIu
aD4KICNpbmNsdWRlIDx3ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmg+Ci0jaW5jbHVk
ZSA8d2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0VXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KIAogI2luY2x1ZGUgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgpAQCAt
MjU5LDcgKzI1OSw3IEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzOjpjb21wbGV0ZWREZWNvZGluZyhS
VENEZWNvZGVySWRlbnRpZmllciBkZWNvZGVySWRlbnRpZmllciwKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIHdlYnJ0Yzo6UmVtb3RlVmlkZW9EZWNvZGVyOjpkZWNvZGVDb21wbGV0ZShk
ZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFjaywgdGltZVN0YW1wLCBwaXhlbEJ1ZmZlci5nZXQo
KSwgcmVtb3RlU2FtcGxlLnRpbWUoKS50b0RvdWJsZSgpKTsKKyAgICB3ZWJydGM6OnZpZGVvRGVj
b2RlclRhc2tDb21wbGV0ZShkZWNvZGVyLT5kZWNvZGVkSW1hZ2VDYWxsYmFjaywgdGltZVN0YW1w
LCBwaXhlbEJ1ZmZlci5nZXQoKSwgcmVtb3RlU2FtcGxlLnRpbWUoKS50b0RvdWJsZSgpKTsKIH0K
IAogc3RhdGljIGlubGluZSBTdHJpbmcgZm9ybWF0TmFtZUZyb21Db2RlY1R5cGUoTGliV2ViUlRD
Q29kZWNzOjpUeXBlIHR5cGUpCkBAIC0yODYsNyArMjg2LDcgQEAgTGliV2ViUlRDQ29kZWNzOjpF
bmNvZGVyKiBMaWJXZWJSVENDb2RlY3M6OmNyZWF0ZUVuY29kZXIoVHlwZSB0eXBlLCBjb25zdCBz
dGQ6Om0KICAgICAgICAgYXV0byBlbmNvZGVySWRlbnRpZmllciA9IGVuY29kZXItPmlkZW50aWZp
ZXI7CiAgICAgICAgIEFTU0VSVCghbV9lbmNvZGVycy5jb250YWlucyhlbmNvZGVySWRlbnRpZmll
cikpOwogCi0gICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3ND
b25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQ0NvZGVjc1By
b3h5OjpDcmVhdGVFbmNvZGVyIHsgZW5jb2RlcklkZW50aWZpZXIsIGZvcm1hdE5hbWVGcm9tQ29k
ZWNUeXBlKHR5cGUpLCBwYXJhbWV0ZXJzIH0sIDApOworICAgICAgICBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5lbnN1cmVHUFVQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1l
c3NhZ2VzOjpMaWJXZWJSVENDb2RlY3NQcm94eTo6Q3JlYXRlRW5jb2RlciB7IGVuY29kZXJJZGVu
dGlmaWVyLCBmb3JtYXROYW1lRnJvbUNvZGVjVHlwZSh0eXBlKSwgcGFyYW1ldGVycywgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJSVENIMjY0TG93TGF0ZW5jeUVu
Y29kZXJFbmFibGVkKCkgfSwgMCk7CiAgICAgICAgIG1fZW5jb2RlcnMuYWRkKGVuY29kZXJJZGVu
dGlmaWVyLCBXVEZNb3ZlKGVuY29kZXIpKTsKICAgICB9KTsKICAgICByZXR1cm4gcmVzdWx0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>