<?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>208423</bug_id>
          
          <creation_ts>2020-02-29 18:13:51 -0800</creation_ts>
          <short_desc>[GPUP] Plumb through more MediaPlayer methods</short_desc>
          <delta_ts>2020-03-02 12:07:50 -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>Media</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1624351</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-02-29 18:13:51 -0800</bug_when>
    <thetext>Plumb through more MediaPlayer methods when media is loaded in the GPU process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624352</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-29 18:14:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/59924386&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624353</commentid>
    <comment_count>2</comment_count>
      <attachid>392084</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-02-29 18:22:35 -0800</bug_when>
    <thetext>Created attachment 392084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624361</commentid>
    <comment_count>3</comment_count>
      <attachid>392089</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-02-29 19:53:46 -0800</bug_when>
    <thetext>Created attachment 392089
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624371</commentid>
    <comment_count>4</comment_count>
      <attachid>392093</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-02-29 22:12:19 -0800</bug_when>
    <thetext>Created attachment 392093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624505</commentid>
    <comment_count>5</comment_count>
      <attachid>392093</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-02 05:11:33 -0800</bug_when>
    <thetext>Comment on attachment 392093
Patch

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

&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:279
&gt; +    m_cachedState.didPassCORSAccessCheck = m_player-&gt;didPassCORSAccessCheck();

Should some of these state updates being added to updateCachedState(), for instance wirelessVideoPlaybackDisabled()?
Should we always resync all values for extra safety?

&gt; Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:675
&gt; +    if (!connection().sendSync(Messages::RemoteMediaPlayerProxy::AccessLog(m_id), Messages::RemoteMediaPlayerProxy::AccessLog::Reply(log), m_id))

Seems to make this fail on iOS since AccessLog is not defined for RemoteMediaPlayerProxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624510</commentid>
    <comment_count>6</comment_count>
      <attachid>392093</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-03-02 05:33:39 -0800</bug_when>
    <thetext>Comment on attachment 392093
Patch

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

&gt;&gt; Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:279
&gt;&gt; +    m_cachedState.didPassCORSAccessCheck = m_player-&gt;didPassCORSAccessCheck();
&gt; 
&gt; Should some of these state updates being added to updateCachedState(), for instance wirelessVideoPlaybackDisabled()?
&gt; Should we always resync all values for extra safety?

I don&apos;t think we want to update all of these in updateCachedState because it is called so frequently

I tried to make sure every cached state is updated in the appropriate media player callback. For example, m_cachedState.wirelessVideoPlaybackDisabled and m_cachedState.wirelessPlaybackTargetName are updated in RemoteMediaPlayerProxy::mediaPlayerCurrentPlaybackTargetIsWirelessChanged if the framework changes @externalPlaybackActive or @allowsExternalPlayback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624512</commentid>
    <comment_count>7</comment_count>
      <attachid>392135</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-03-02 05:42:37 -0800</bug_when>
    <thetext>Created attachment 392135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624524</commentid>
    <comment_count>8</comment_count>
      <attachid>392138</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-03-02 06:36:12 -0800</bug_when>
    <thetext>Created attachment 392138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624548</commentid>
    <comment_count>9</comment_count>
      <attachid>392138</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 07:54:35 -0800</bug_when>
    <thetext>Comment on attachment 392138
Patch

Clearing flags on attachment: 392138

Committed r257711: &lt;https://trac.webkit.org/changeset/257711&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624549</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 07:54:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624630</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-03-02 11:17:03 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624631</commentid>
    <comment_count>12</comment_count>
      <attachid>392159</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-03-02 11:17:04 -0800</bug_when>
    <thetext>Created attachment 392159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624633</commentid>
    <comment_count>13</comment_count>
      <attachid>392160</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-03-02 11:18:37 -0800</bug_when>
    <thetext>Created attachment 392160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624657</commentid>
    <comment_count>14</comment_count>
      <attachid>392160</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 12:07:48 -0800</bug_when>
    <thetext>Comment on attachment 392160
Patch

Clearing flags on attachment: 392160

Committed r257724: &lt;https://trac.webkit.org/changeset/257724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624658</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 12:07:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392084</attachid>
            <date>2020-02-29 18:22:35 -0800</date>
            <delta_ts>2020-02-29 19:53:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208423-20200229182234.patch</filename>
            <type>text/plain</type>
            <size>65653</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU2Zjc3ZGEyM2QwNzIx
NWY4YjdkMjRmNmU0OWZlNTU0ZjgwZDJmOC4uMTQzMTcyNzU4OWNiMWY2OWZiZmY1YjI3NWU5YjY1
ZGIwNjdjOTU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAyLTI5ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBQbHVt
YiB0aHJvdWdoIG1vcmUgTWVkaWFQbGF5ZXIgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81OTkyNDM4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIHVuc2tpcHBlZCB+MTIwMCBleGlzdGluZyBtZWRpYSB0ZXN0cy4K
KworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxheSk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGll
bnQ6Om1lZGlhUGxheWVyQ29udGVudHNTY2FsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQYXVzZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQbGF5KTogRGVsZXRlZC4KKwog
MjAyMC0wMi0yOCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBObyBwb3J0IHVzZXMgVVNFX05BVElWRV9GVUxMU0NSRUVOX1ZJREVPLCByZW1vdmUgaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggYzY4MGNlODlhYzViOTY4NDgwOWE1YjE3NTA5NmM0YzZlMzEyZjg0NC4uNTM4
YjBlMzYwMzgzNmY0Y2RiYjNjZTEwM2Y4MmNjODE3YzVjNDFiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAyMC0wMi0yOSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBbR1BVUF0gUGx1bWIgdGhyb3VnaCBtb3JlIE1lZGlhUGxheWVyIG1ldGhv
ZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQy
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTk5MjQzODY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHk6OnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnNl
dFZpZGVvRnVsbHNjcmVlbkZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZpZGVvRnVsbHNjcmVlbkdyYXZpdHkpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0
VmlkZW9GdWxsc2NyZWVuTW9kZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWb2x1bWUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0QnVmZmVyaW5nUG9saWN5KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6
OnZpZGVvRnVsbHNjcmVlblN0YW5kYnlDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmFjY2Vzc0xvZyk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjplcnJvckxvZyk6
IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eS5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJQYXVzZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUGxheSk6IERlbGV0ZWQuCisgICAg
ICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lmg6CisKIDIwMjAt
MDItMjggIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
Tm8gcG9ydCB1c2VzIFVTRV9OQVRJVkVfRlVMTFNDUkVFTl9WSURFTywgcmVtb3ZlIGl0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9s
c0hvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29u
dHJvbHNIb3N0LmNwcAppbmRleCA1MzY2NzRhZWYzM2RhYzhlOGVmZTkwMzAyYmNmOTM5NmQyZGQ1
MzM5Li5iZmJiN2FhNjU1NTk0YTAxYWE2N2MzYzQ1NDZhZjVhYzUyZTk5MDBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRy
b2xzSG9zdC5jcHAKQEAgLTI0OCwxMSArMjQ4LDExIEBAIGF1dG8gTWVkaWFDb250cm9sc0hvc3Q6
OmV4dGVybmFsRGV2aWNlVHlwZSgpIGNvbnN0IC0+IERldmljZVR5cGUKICAgICB9CiAgICAgCiAg
ICAgc3dpdGNoIChwbGF5ZXItPndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkpIHsKLSAgICBj
YXNlIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZToKKyAgICBjYXNlIE1lZGlhUGxheWVyOjpX
aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5vbmU6CiAgICAgICAgIHJldHVy
biBEZXZpY2VUeXBlOjpOb25lOwotICAgIGNhc2UgTWVkaWFQbGF5ZXI6OlRhcmdldFR5cGVBaXJQ
bGF5OgorICAgIGNhc2UgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpU
YXJnZXRUeXBlQWlyUGxheToKICAgICAgICAgcmV0dXJuIERldmljZVR5cGU6OkFpcnBsYXk7Ci0g
ICAgY2FzZSBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZVRWT3V0OgorICAgIGNhc2UgTWVkaWFQbGF5
ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlVFZPdXQ6CiAgICAgICAg
IHJldHVybiBEZXZpY2VUeXBlOjpUdm91dDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDk2OWM1MGQ4MzA2MThhODc0OTViNWRkMTI5MDNkYzYz
ZWE0OGM1NzAuLjYyYjQwOGI1Zjc5M2ZmNTA4NWEzYmFiZTE5NjdiMzViMjQ3OGI5YzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzA2NSwxNiArNzA2NSw2
IEBAIGZsb2F0IEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyQ29udGVudHNTY2FsZSgpIGNv
bnN0CiAgICAgcmV0dXJuIDE7CiB9CiAKLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5
ZXJQYXVzZSgpCi17Ci0gICAgcGF1c2UoKTsKLX0KLQotdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpt
ZWRpYVBsYXllclBsYXkoKQotewotICAgIHBsYXkoKTsKLX0KLQogYm9vbCBIVE1MTWVkaWFFbGVt
ZW50OjptZWRpYVBsYXllclBsYXRmb3JtVm9sdW1lQ29uZmlndXJhdGlvblJlcXVpcmVkKCkgY29u
c3QKIHsKICAgICByZXR1cm4gIW1fdm9sdW1lSW5pdGlhbGl6ZWQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDVkZTBkMTExODUxYWM3ZmE4YzNlOTVkYjZlZWQ5YWYz
MWNmNTE1OGQuLmViOGI4MWU5YjlhMDJlYTA5MjQyNmEzMDM3M2VjYzI0NDFlM2ZlN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC03MTcsOCArNzE3LDYgQEAgcHJp
dmF0ZToKICAgICBib29sIG1lZGlhUGxheWVySXNWaWRlbygpIGNvbnN0IG92ZXJyaWRlOwogICAg
IExheW91dFJlY3QgbWVkaWFQbGF5ZXJDb250ZW50Qm94UmVjdCgpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGZsb2F0IG1lZGlhUGxheWVyQ29udGVudHNTY2FsZSgpIGNvbnN0IG92ZXJyaWRlOwotICAg
IHZvaWQgbWVkaWFQbGF5ZXJQYXVzZSgpIG92ZXJyaWRlOwotICAgIHZvaWQgbWVkaWFQbGF5ZXJQ
bGF5KCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBtZWRpYVBsYXllclBsYXRmb3JtVm9sdW1lQ29uZmln
dXJhdGlvblJlcXVpcmVkKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBtZWRpYVBsYXllcklz
TG9vcGluZygpIGNvbnN0IG92ZXJyaWRlOwogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBtZWRp
YVBsYXllckNhY2hlZFJlc291cmNlTG9hZGVyKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZDExZmJlZThlODU4
OWE5OGFhNzEyNWU2MjExNjcxYWVlYjE3Y2ExOS4uMDA4ODAwZjU5MzZjMzdlNzM3NmViOTJmZWQz
M2M0NzhmNzU2NzAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcApAQCAtMTA3NCwxMSArMTA3NCw2IEBAIGJvb2wgTWVkaWFQbGF5ZXI6
OnN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3ByaXZh
dGUtPnN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKTsKIH0KIAotYm9vbCBNZWRpYVBsYXll
cjo6c2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcHJp
dmF0ZS0+c2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpOwotfQotCiB2b2lkIE1lZGlhUGxheWVy
OjpzZXRTaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKGJvb2wgbWFpbnRhaW5Bc3BlY3RSYXRpbykK
IHsKICAgICBtX3ByaXZhdGUtPnNldFNob3VsZE1haW50YWluQXNwZWN0UmF0aW8obWFpbnRhaW5B
c3BlY3RSYXRpbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaAppbmRleCBmZjY5NmViNTI5YmJmMTM0YmE3OGM3N2MwNWQwM2Y4MTUyMTRiMmYwLi42
MTU3MzA2ZjI1MDEzNmIyNDBjYWEyMDQyODI0YmE1OWZiYWQ4NWQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTIyMiw4ICsyMjIsNiBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVySXNWaWRlbygpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IG1lZGlhUGxheWVyQ29udGVu
dEJveFJlY3QoKSBjb25zdCB7IHJldHVybiBMYXlvdXRSZWN0KCk7IH0KICAgICB2aXJ0dWFsIGZs
b2F0IG1lZGlhUGxheWVyQ29udGVudHNTY2FsZSgpIGNvbnN0IHsgcmV0dXJuIDE7IH0KLSAgICB2
aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJQYXVzZSgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBtZWRp
YVBsYXllclBsYXkoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJQbGF0Zm9ybVZv
bHVtZUNvbmZpZ3VyYXRpb25SZXF1aXJlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIG1lZGlhUGxheWVySXNMb29waW5nKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIENhY2hlZFJlc291cmNlTG9hZGVyKiBtZWRpYVBsYXllckNhY2hlZFJl
c291cmNlTG9hZGVyKCkgeyByZXR1cm4gbnVsbHB0cjsgfQpAQCAtNDU1LDggKzQ1Myw4IEBAIHB1
YmxpYzoKICAgICBib29sIGhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoKSBjb25zdDsKICAgICB2b2lk
IHByZXBhcmVGb3JSZW5kZXJpbmcoKTsKIAorICAgIHVzaW5nIE1lZGlhUGxheWVyRW51bXM6Oldp
cmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOwogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpCi0gICAgZW51bSBXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSB7IFRhcmdldFR5cGVO
b25lLCBUYXJnZXRUeXBlQWlyUGxheSwgVGFyZ2V0VHlwZVRWT3V0IH07CiAgICAgV2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25zdDsKIAog
ICAgIFN0cmluZyB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZSgpIGNvbnN0OwpAQCAtNDgyLDcg
KzQ4MCw2IEBAIHB1YmxpYzoKICAgICAvLyBjYWxsZWQgd2hlbiB0aGUgcmVuZGVyaW5nIHN5c3Rl
bSBmbGlwcyB0aGUgaW50byBvciBvdXQgb2YgYWNjZWxlcmF0ZWQgcmVuZGVyaW5nIG1vZGUuCiAg
ICAgdm9pZCBhY2NlbGVyYXRlZFJlbmRlcmluZ1N0YXRlQ2hhbmdlZCgpOwogCi0gICAgYm9vbCBz
aG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKGJvb2wpOwogCiAjaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQVZGT1VO
REFUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXJFbnVtcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJFbnVtcy5oCmluZGV4IGE5ZjA0OWY3YmYxMzUzZWQ3NGJiYzk2MjRkMjQyZGRmNzc0NzE5
NzkuLmEwMDE1OTcxYTgyMmI0NmY3YWNjMWI4ODAzMDM4YTI3MWE0NjcxZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyRW51bXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgKQEAg
LTk5LDYgKzk5LDEzIEBAIHB1YmxpYzoKICAgICAgICAgTWVkaWFGb3VuZGF0aW9uLAogICAgICAg
ICBNb2NrTVNFLAogICAgIH07CisKKyAgICBlbnVtIGNsYXNzIFdpcmVsZXNzUGxheWJhY2tUYXJn
ZXRUeXBlIDogdWludDhfdCB7CisgICAgICAgIFRhcmdldFR5cGVOb25lLAorICAgICAgICBUYXJn
ZXRUeXBlQWlyUGxheSwKKyAgICAgICAgVGFyZ2V0VHlwZVRWT3V0CisgICAgfTsKKwogfTsKIAog
U3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKE1lZGlhUGxheWVyRW51bXM6OlJlYWR5
U3RhdGUpOwpAQCAtMjI0LDQgKzIzMSwxMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRz
PFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllcj4gewogICAg
ID47CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Ok1lZGlhUGxh
eWVyRW51bXM6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlPiB7Cit1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlLAorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVsZXNzUGxh
eWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZSwKKyAgICBXZWJDb3JlOjpNZWRpYVBsYXll
ckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZUFpclBsYXksCisg
ICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6
OlRhcmdldFR5cGVUVk91dAorICAgID47Cit9OworCiB9OyAvLyBuYW1lc3BhY2UgV1RGCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0
ZS5oCmluZGV4IDlhMDgwZmVhYzM3NWM3YmJiNWJmN2JmZjJlODI0MTUxMjEwMzUzNTEuLmJiNjkz
NzRhODM3NTllNDM1YzA4ODM4OWMxNjcwYzA1OWU3NTUwYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0xNjcs
NyArMTY3LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
CiAKICAgICB2aXJ0dWFsIFN0cmluZyB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZSgpIGNvbnN0
IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KLSAgICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpXaXJl
bGVzc1BsYXliYWNrVGFyZ2V0VHlwZSB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpIGNvbnN0
IHsgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsgfQorICAgIHZpcnR1YWwgTWVk
aWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHdpcmVsZXNzUGxheWJhY2tUYXJn
ZXRUeXBlKCkgY29uc3QgeyByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJn
ZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsgfQogCiAgICAgdmlydHVhbCBib29sIHdpcmVsZXNzVmlk
ZW9QbGF5YmFja0Rpc2FibGVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwg
dm9pZCBzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChib29sKSB7IH0KQEAgLTE4NCw3
ICsxODQsNiBAQCBwdWJsaWM6CiAgICAgLy8gY2FsbGVkIHdoZW4gdGhlIHJlbmRlcmluZyBzeXN0
ZW0gZmxpcHMgdGhlIGludG8gb3Igb3V0IG9mIGFjY2VsZXJhdGVkIHJlbmRlcmluZyBtb2RlLgog
ICAgIHZpcnR1YWwgdm9pZCBhY2NlbGVyYXRlZFJlbmRlcmluZ1N0YXRlQ2hhbmdlZCgpIHsgfQog
Ci0gICAgdmlydHVhbCBib29sIHNob3VsZE1haW50YWluQXNwZWN0UmF0aW8oKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3VsZE1haW50YWluQXNwZWN0UmF0
aW8oYm9vbCkgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4o
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDFhMjBjMDViZTRjYzAxMzdhMDYyZjNm
Y2UzODRiNWE1NWViNjg5NDMuLjJlNTQ2NzAxYzc4ZGI0NDk5ZWFhOGJhZjNiZjNiYjY5NDdmMTUz
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uLmgKQEAgLTE5NCw3ICsxOTQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUGxhdGZvcm1MYXll
ciogcGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIDA7IH0KICAgICBib29s
IHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25zdCBvdmVycmlkZSA9IDA7CiAgICAg
dm9pZCBhY2NlbGVyYXRlZFJlbmRlcmluZ1N0YXRlQ2hhbmdlZCgpIG92ZXJyaWRlOwotICAgIGJv
b2wgc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
c2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbzsgfQorICAgIGJvb2wgc2hvdWxkTWFpbnRhaW5Bc3Bl
Y3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbzsgfQog
ICAgIHZvaWQgc2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhib29sKSBvdmVycmlkZTsKICAg
ICBib29sIGNhblNhdmVNZWRpYURhdGEoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakMubW0KaW5kZXggZjJhODZjYWJmNjhjODg2ODFjYzJkZmQxZWViZjViYmM5ZDRkZmFiYi4u
YzcwNmExNmU5MTEwMDcwYzYxODdkYTRhMDlmNmU4NWMzN2FmNjE1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tCkBAIC0yNjA5LDcgKzI2MDksNyBAQCBTdHJpbmcgTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQzo6bGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrKCkgY29uc3QKICNp
ZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogLy8gQVZQbGF5ZXJJdGVtLnRyYWNr
cyBpcyBlbXB0eSBkdXJpbmcgQWlyUGxheSBzbyBpZiBBaXJQbGF5IGlzIGFjdGl2YXRlZCBpbW1l
ZGlhdGVseQogLy8gYWZ0ZXIgdGhlIGl0ZW0gaXMgY3JlYXRlZCwgd2UgZG9uJ3Qga25vdyBpZiBp
dCBoYXMgYXVkaW8gb3IgdmlkZW8gYW5kIHN0YXRlIHJlcG9ydGVkCi0vLyB0byB0aGUgV2ViTWVk
aWFTZXNzaW9uTWFuYWdlciBpcyBpbmNvcnJlY3QuIEFpclBsYXkgY2FuJ3QgYWN0dWFsbHkgYmUg
YWN0aXZlIGlzIGFuIGl0ZW0KKy8vIHRvIHRoZSBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyIGlzIGlu
Y29ycmVjdC4gQWlyUGxheSBjYW4ndCBhY3R1YWxseSBiZSBhY3RpdmUgaWYgYW4gaXRlbQogLy8g
ZG9lc24ndCBoYXZlIGF1ZGlvIG9yIHZpZGVvLCBzbyBsaWUgZHVyaW5nIEFpclBsYXkuCiAKIGJv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aGFzVmlkZW8oKSBjb25zdApA
QCAtMjY1MSwyNiArMjY1MSwyNiBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OmlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSBjb25zdAogTWVkaWFQbGF5
ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QKIHsKICAgICBpZiAo
IW1fYXZQbGF5ZXIpCi0gICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZU5vbmU7
CisgICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6
OlRhcmdldFR5cGVOb25lOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAoIVBB
TDo6aXNBVkZvdW5kYXRpb25GcmFtZXdvcmtBdmFpbGFibGUoKSkKLSAgICAgICAgcmV0dXJuIE1l
ZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpX
aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5vbmU7CiAKICAgICBzd2l0Y2gg
KFttX2F2UGxheWVyIGV4dGVybmFsUGxheWJhY2tUeXBlXSkgewogICAgIGNhc2UgQVZQbGF5ZXJF
eHRlcm5hbFBsYXliYWNrVHlwZU5vbmU6Ci0gICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFy
Z2V0VHlwZU5vbmU7CisgICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFj
a1RhcmdldFR5cGU6OlRhcmdldFR5cGVOb25lOwogICAgIGNhc2UgQVZQbGF5ZXJFeHRlcm5hbFBs
YXliYWNrVHlwZUFpclBsYXk6Ci0gICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlw
ZUFpclBsYXk7CisgICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1Rh
cmdldFR5cGU6OlRhcmdldFR5cGVBaXJQbGF5OwogICAgIGNhc2UgQVZQbGF5ZXJFeHRlcm5hbFBs
YXliYWNrVHlwZVRWT3V0OgotICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OlRhcmdldFR5cGVU
Vk91dDsKKyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0
VHlwZTo6VGFyZ2V0VHlwZVRWT3V0OwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZU5vbmU7CisgICAgcmV0dXJuIE1l
ZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5vbmU7CiAK
ICNlbHNlCi0gICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlQWlyUGxheTsKKyAgICBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBl
QWlyUGxheTsKICNlbmRpZgogfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAK
aW5kZXggNWE0Mjg5ZTg2YjIyYTc5MzU4ODc2OTBiYWY3MTcyZTdjMmRkNDhjZS4uODI2NGYzYzc2
MDJiYjU2ZjRkZTdjODFhZWZhM2JiMTZkZjgyMjZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHkuY3BwCkBAIC0xOTIsNjYgKzE5Miw2IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHk6OnN1cHBvcnRzS2V5U3lzdGVtKE1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5nCiAg
ICAgY29tcGxldGlvbkhhbmRsZXIocmVzdWx0KTsKIH0KIAotdm9pZCBSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eTo6dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2UoTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyKQotewotICAgIGlmIChh
dXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQocGxheWVySWRlbnRpZmllcikpCi0gICAgICAgIHBs
YXllci0+dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2UoKTsKLX0KLQotdm9pZCBSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUoTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyLCBGbG9hdFJlY3Qg
ZnJhbWUpCi17Ci0gICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVu
dGlmaWVyKSkKLSAgICAgICAgcGxheWVyLT5zZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShmcmFtZSk7
Ci19Ci0KLXZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZpZGVvRnVsbHNj
cmVlbkdyYXZpdHkoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVu
dGlmaWVyLCBNZWRpYVBsYXllcjo6VmlkZW9HcmF2aXR5IGdyYXZpdHkpCi17Ci0gICAgaWYgKGF1
dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkKLSAgICAgICAgcGxh
eWVyLT5zZXRWaWRlb0Z1bGxzY3JlZW5HcmF2aXR5KGdyYXZpdHkpOwotfQotCi12b2lkIFJlbW90
ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlKE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRpZmllciwgTWVkaWFQbGF5ZXI6
OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSkKLXsKLSAgICBpZiAoYXV0byBwbGF5ZXIgPSBtX3By
b3hpZXMuZ2V0KHBsYXllcklkZW50aWZpZXIpKQotICAgICAgICBwbGF5ZXItPnNldFZpZGVvRnVs
bHNjcmVlbk1vZGUobW9kZSk7Ci19Ci0KLXZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHk6OnNldFZvbHVtZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklk
ZW50aWZpZXIsIGRvdWJsZSB2b2x1bWUpCi17Ci0gICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94
aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkKLSAgICAgICAgcGxheWVyLT5zZXRWb2x1bWUodm9s
dW1lKTsKLX0KLQotdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0QnVmZmVy
aW5nUG9saWN5KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRp
ZmllciwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSBwb2xpY3kpCi17Ci0g
ICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkKLSAg
ICAgICAgcGxheWVyLT5zZXRCdWZmZXJpbmdQb2xpY3kocG9saWN5KTsKLX0KLQotdm9pZCBSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQo
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyKQotewot
ICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQocGxheWVySWRlbnRpZmllcikpCi0g
ICAgICAgIHBsYXllci0+dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQoKTsKLX0KLQotI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCi12b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5
OjphY2Nlc3NMb2coTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVu
dGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCi17Ci0gICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlm
aWVyKSkgewotICAgICAgICBTdHJpbmcgbG9nID0gcGxheWVyLT5hY2Nlc3NMb2coKTsKLSAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIobG9nKTsKLSAgICB9Ci19Ci0KLXZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHk6OmVycm9yTG9nKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50
aWZpZXIgcGxheWVySWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGlmIChhdXRvIHBsYXllciA9IG1fcHJveGllcy5n
ZXQocGxheWVySWRlbnRpZmllcikpIHsKLSAgICAgICAgU3RyaW5nIGxvZyA9IHBsYXllci0+ZXJy
b3JMb2coKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobG9nKTsKLSAgICB9Ci19Ci0jZW5k
aWYKLQogdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZGlkUmVjZWl2ZVBsYXll
ck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29k
ZXIpCiB7CiAgICAgaWYgKGF1dG8qIHBsYXllciA9IG1fcHJveGllcy5nZXQobWFrZU9iamVjdElk
ZW50aWZpZXI8TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllclR5cGU+KGRlY29kZXIu
ZGVzdGluYXRpb25JRCgpKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oCmluZGV4IGYzODk3
MWM3YjgzN2E5ODUwNTc4MmZkYWMzMDgxNWE5YzMxNDA3MWIuLmFlMzI4Y2I3ZDA5MzYyNmFiMmIz
MjdjZDVhNjMzNDYwZmQ3MDQxNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oCkBAIC04
NCwyMSArODQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJNZWRpYUNhY2hlRm9yT3JpZ2lu
cyhXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYmLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiYmKTsKICAgICB2
b2lkIHN1cHBvcnRzS2V5U3lzdGVtKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5n
aW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiYsIGNvbnN0IFN0cmluZyYmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKIAotICAgIHZvaWQgdXBkYXRlVmlkZW9GdWxsc2NyZWVu
SW5saW5lSW1hZ2UoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcik7Ci0gICAgdm9p
ZCBzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlm
aWVyLCBXZWJDb3JlOjpGbG9hdFJlY3QpOwotICAgIHZvaWQgc2V0VmlkZW9GdWxsc2NyZWVuR3Jh
dml0eShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBXZWJDb3JlOjpNZWRpYVBs
YXllcjo6VmlkZW9HcmF2aXR5KTsKLSAgICB2b2lkIHNldFZpZGVvRnVsbHNjcmVlbk1vZGUoTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlZp
ZGVvRnVsbHNjcmVlbk1vZGUpOwotCi0gICAgdm9pZCB2aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hh
bmdlZChNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyKTsKLQotICAgIHZvaWQgc2V0
Vm9sdW1lKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIGRvdWJsZSk7Ci0gICAg
dm9pZCBzZXRCdWZmZXJpbmdQb2xpY3koTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmll
ciwgV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSk7Ci0KLSNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgIHZvaWQgYWNjZXNzTG9nKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZUlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nKT4mJik7Ci0gICAgdm9p
ZCBlcnJvckxvZyhNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOwotI2VuZGlmCi0KICAgICBIYXNoTWFwPE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVNZWRpYVBs
YXllclByb3h5Pj4gbV9wcm94aWVzOwogICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1f
Z3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGM4NmJkYTU3YzJiOTQ4YzVkMGY0OGU4NWMxY2Q2NzNh
MDc4N2JiYWYuLjRjYmQ0NjE0YjYyYjhjM2U3ZDRmNTZjYTk1MGM5NDQ3NjEyOTkzMmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTM0LDExICsz
NCw2IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5IE5vdFJlZkNv
dW50ZWQgewogICAgIENsZWFyTWVkaWFDYWNoZShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyIHJlbW90ZUVuZ2luZUlkZW50aWZpZXIs
IFN0cmluZyBwYXRoLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlKQogICAgIENsZWFyTWVkaWFDYWNo
ZUZvck9yaWdpbnMoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlh
RW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcgcGF0aCwgVmVj
dG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2lucykKICAgICBTdXBwb3J0c0tl
eVN5c3RlbShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdp
bmVJZGVudGlmaWVyIHJlbW90ZUVuZ2luZUlkZW50aWZpZXIsIFN0cmluZyBrZXlTeXN0ZW0sIFN0
cmluZyBtaW1lVHlwZSkgLT4gKGJvb2wgc3VwcG9ydHMpIFN5bmNocm9ub3VzCi0KLSNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIEFjY2Vzc0xvZyhXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZUlkZW50aWZpZXIgcGxheWVySWRlbnRpZmllcikgLT4gKFN0cmluZyBhY2Nlc3NMb2cp
IFN5bmNocm9ub3VzCi0gICAgRXJyb3JMb2coV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIpIC0+IChTdHJpbmcgZXJyb3JMb2cpIFN5bmNo
cm9ub3VzCi0jZW5kaWYKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKaW5kZXggODkxYjFk
NzUyMzZlYmRhMGIzNzcwNjc1OWFmZmM3NzYzNmU2M2Y3NS4uMGY4YjI1ZTM4MDdiZjcyMWZiM2Zl
MmUzN2EwYWVlZTdmYjUxMTkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcApAQCAtODMsNiArODMsOCBA
QCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmludmFsaWRhdGUoKQogdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpnZXRDb25maWd1cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29uZmln
dXJhdGlvbiYgY29uZmlndXJhdGlvbikKIHsKICAgICBjb25maWd1cmF0aW9uLmVuZ2luZURlc2Ny
aXB0aW9uID0gbV9wbGF5ZXItPmVuZ2luZURlc2NyaXB0aW9uKCk7CisgICAgYXV0byBtYXhEdXJh
dGlvbiA9IG1fcGxheWVyLT5tYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lKCk7CisgICAg
Y29uZmlndXJhdGlvbi5tYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lID0gbWF4RHVyYXRp
b24gPyBtYXhEdXJhdGlvbiA6IDAuMjsKICAgICBjb25maWd1cmF0aW9uLnN1cHBvcnRzU2Nhbm5p
bmcgPSBtX3BsYXllci0+c3VwcG9ydHNTY2FubmluZygpOwogICAgIGNvbmZpZ3VyYXRpb24uc3Vw
cG9ydHNGdWxsc2NyZWVuID0gbV9wbGF5ZXItPnN1cHBvcnRzRnVsbHNjcmVlbigpOwogICAgIGNv
bmZpZ3VyYXRpb24uc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlID0gbV9wbGF5ZXItPnN1cHBvcnRz
UGljdHVyZUluUGljdHVyZSgpOwpAQCAtMjgxLDcgKzI4MywxNyBAQCB2b2lkIFJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Om1lZGlhUGxheWVyTmV0d29ya1N0YXRlQ2hhbmdlZCgpCiB2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmVhZHlTdGF0ZUNoYW5nZWQoKQogewogICAg
IHVwZGF0ZUNhY2hlZFN0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5jYW5TYXZlTWVkaWFEYXRh
ID0gbV9wbGF5ZXItPmNhblNhdmVNZWRpYURhdGEoKTsKKyAgICBtX2NhY2hlZFN0YXRlLnN0YXJ0
RGF0ZSA9IG1fcGxheWVyLT5nZXRTdGFydERhdGUoKTsKKyAgICBtX2NhY2hlZFN0YXRlLnN0YXJ0
VGltZSA9IG1fcGxheWVyLT5zdGFydFRpbWUoKTsKICAgICBtX2NhY2hlZFN0YXRlLm5hdHVyYWxT
aXplID0gbV9wbGF5ZXItPm5hdHVyYWxTaXplKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5tYXhGYXN0
Rm9yd2FyZFJhdGUgPSBtX3BsYXllci0+bWF4RmFzdEZvcndhcmRSYXRlKCk7CisgICAgbV9jYWNo
ZWRTdGF0ZS5taW5GYXN0UmV2ZXJzZVJhdGUgPSBtX3BsYXllci0+bWluRmFzdFJldmVyc2VSYXRl
KCk7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lID0gbV9wbGF5ZXIt
Pmhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoKTsKKyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzVmlk
ZW9QbGF5YmFja0Rpc2FibGVkID0gbV9wbGF5ZXItPndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbiA9IG1fcGxh
eWVyLT5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpOworICAgIG1fY2FjaGVkU3RhdGUuZGlkUGFz
c0NPUlNBY2Nlc3NDaGVjayA9IG1fcGxheWVyLT5kaWRQYXNzQ09SU0FjY2Vzc0NoZWNrKCk7CisK
ICAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OlJlYWR5U3RhdGVDaGFuZ2VkKG1fY2FjaGVkU3RhdGUpLCBtX2lkKTsKIH0K
IApAQCAtMzg1LDEyICszOTcsMjIgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRp
YVBsYXllckJ1ZmZlcmVkVGltZVJhbmdlc0NoYW5nZWQoKQogCiB2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Om1lZGlhUGxheWVyU2Vla2FibGVUaW1lUmFuZ2VzQ2hhbmdlZCgpCiB7Ci0gICAg
bV9zZWVrYWJsZUNoYW5nZWQgPSB0cnVlOworICAgIG1fY2FjaGVkU3RhdGUubWluVGltZVNlZWth
YmxlID0gbV9wbGF5ZXItPm1pblRpbWVTZWVrYWJsZSgpOworICAgIG1fY2FjaGVkU3RhdGUubWF4
VGltZVNlZWthYmxlID0gbV9wbGF5ZXItPm1heFRpbWVTZWVrYWJsZSgpOworICAgIG1fY2FjaGVk
U3RhdGUuc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSA9IG1fcGxheWVyLT5zZWVr
YWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5saXZl
VXBkYXRlSW50ZXJ2YWwgPSBtX3BsYXllci0+bGl2ZVVwZGF0ZUludGVydmFsKCk7CisKKyAgICBp
ZiAoIW1fdXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAg
c2VuZENhY2hlZFN0YXRlKCk7CiB9CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVk
aWFQbGF5ZXJDaGFyYWN0ZXJpc3RpY0NoYW5nZWQoKQogewotICAgIG1fd2ViUHJvY2Vzc0Nvbm5l
Y3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Q2hhcmFjdGVy
aXN0aWNDaGFuZ2VkKG1fcGxheWVyLT5oYXNBdWRpbygpLCBtX3BsYXllci0+aGFzVmlkZW8oKSwg
bV9wbGF5ZXItPm1vdmllTG9hZFR5cGUoKSksIG1faWQpOworICAgIHVwZGF0ZUNhY2hlZFN0YXRl
KCk7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNDbG9zZWRDYXB0aW9ucyA9IG1fcGxheWVyLT5oYXND
bG9zZWRDYXB0aW9ucygpOworICAgIG1fY2FjaGVkU3RhdGUubGFuZ3VhZ2VPZlByaW1hcnlBdWRp
b1RyYWNrID0gbV9wbGF5ZXItPmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjaygpOworCisgICAg
bV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpDaGFyYWN0ZXJpc3RpY0NoYW5nZWQobV9jYWNoZWRTdGF0ZSksIG1faWQpOwogfQog
CiBib29sIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmVuZGVyaW5nQ2FuQmVB
Y2NlbGVyYXRlZCgpCkBAIC01NDQsMTIgKzU2NiwxNiBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVy
UHJveHk6Om1lZGlhUGxheWVyV2FpdGluZ0ZvcktleUNoYW5nZWQoKQogI2lmIEVOQUJMRShXSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlh
UGxheWVyQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoYm9vbCBpc0N1cnJl
bnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKQogeworICAgIG1fY2FjaGVkU3RhdGUud2lyZWxlc3NQ
bGF5YmFja1RhcmdldE5hbWUgPSBtX3BsYXllci0+d2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWUo
KTsKKyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlID0gbV9wbGF5
ZXItPndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCk7CisgICAgc2VuZENhY2hlZFN0YXRlKCk7
CiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hhbmdlZChpc0N1
cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKSwgbV9pZCk7CiB9CiAKIHZvaWQgUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoYm9vbCBkaXNh
YmxlZCkKIHsKICAgICBtX3BsYXllci0+c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQo
ZGlzYWJsZWQpOworICAgIG1fY2FjaGVkU3RhdGUud2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJs
ZWQgPSBtX3BsYXllci0+d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKTsKIH0KIAogdm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChi
b29sIHNob3VsZFBsYXkpCkBAIC01ODQsMTYgKzYxMCw2IEBAIGZsb2F0IFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Om1lZGlhUGxheWVyQ29udGVudHNTY2FsZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
dmlkZW9Db250ZW50U2NhbGU7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVk
aWFQbGF5ZXJQYXVzZSgpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQotdm9pZCBSZW1v
dGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclBsYXkoKQotewotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci19Ci0KIGJvb2wgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJQbGF0
Zm9ybVZvbHVtZUNvbmZpZ3VyYXRpb25SZXF1aXJlZCgpIGNvbnN0CiB7CiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKQEAgLTY4OCwxMiArNzA0LDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
Ojp1cGRhdGVDYWNoZWRTdGF0ZSgpCiAgICAgbV9jYWNoZWRTdGF0ZS5wYXVzZWQgPSBtX3BsYXll
ci0+cGF1c2VkKCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5sb2FkaW5nUHJvZ3Jlc3NlZCA9IG1fcGxh
eWVyLT5kaWRMb2FkaW5nUHJvZ3Jlc3MoKTsKIAotICAgIGlmIChtX3NlZWthYmxlQ2hhbmdlZCkg
ewotICAgICAgICBtX3NlZWthYmxlQ2hhbmdlZCA9IGZhbHNlOwotICAgICAgICBtX2NhY2hlZFN0
YXRlLm1pblRpbWVTZWVrYWJsZSA9IG1fcGxheWVyLT5taW5UaW1lU2Vla2FibGUoKTsKLSAgICAg
ICAgbV9jYWNoZWRTdGF0ZS5tYXhUaW1lU2Vla2FibGUgPSBtX3BsYXllci0+bWF4VGltZVNlZWth
YmxlKCk7Ci0gICAgfQotCiAgICAgaWYgKG1fYnVmZmVyZWRDaGFuZ2VkKSB7CiAgICAgICAgIG1f
YnVmZmVyZWRDaGFuZ2VkID0gZmFsc2U7CiAgICAgICAgIG1fY2FjaGVkU3RhdGUuYnVmZmVyZWRS
YW5nZXMgPSAqbV9wbGF5ZXItPmJ1ZmZlcmVkKCk7CkBAIC03MzksNiArNzQ5LDIxIEBAIHZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKQogICAg
IG1fcGxheWVyLT5hcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpOwogfQogCit2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6Om5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKQoreworICAgIG1fcGxh
eWVyLT5ub3RpZnlUcmFja01vZGVDaGFuZ2VkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6dHJhY2tzQ2hhbmdlZCgpCit7CisgICAgbV9wbGF5ZXItPnRyYWNrc0NoYW5nZWQo
KTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzeW5jVGV4dFRyYWNrQm91bmRz
KCkKK3sKKyAgICBtX3BsYXllci0+c3luY1RleHRUcmFja0JvdW5kcygpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5oCmluZGV4IGZiMjRkMTcyMzBjNDY4OTZhOTM4NmIwZjkyZjZhODJiNGMwY2E1ZDMuLjIxNTk3
ODAxODljNTRjMGQxZDBlODI4NzE4MDc2NTZjOWUzYzAxMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaApAQCAt
MTQ2LDYgKzE0NiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxSZXNpZ25B
Y3RpdmUoKTsKICAgICB2b2lkIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCk7CiAKKyAgICB2
b2lkIG5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKTsKKyAgICB2b2lkIHRyYWNrc0NoYW5nZWQoKTsK
KyAgICB2b2lkIHN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKKwogICAgIFJlZjxXZWJDb3JlOjpQbGF0
Zm9ybU1lZGlhUmVzb3VyY2U+IHJlcXVlc3RSZXNvdXJjZShXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJiwgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyOjpMb2FkT3B0aW9ucyk7
CiAgICAgdm9pZCByZW1vdmVSZXNvdXJjZShSZW1vdGVNZWRpYVJlc291cmNlSWRlbnRpZmllcik7
CiAKQEAgLTE5OSw4ICsyMDMsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbWVkaWFQbGF5ZXJJc0Z1
bGxzY3JlZW5QZXJtaXR0ZWQoKSBjb25zdCBmaW5hbDsKICAgICBib29sIG1lZGlhUGxheWVySXNW
aWRlbygpIGNvbnN0IGZpbmFsOwogICAgIGZsb2F0IG1lZGlhUGxheWVyQ29udGVudHNTY2FsZSgp
IGNvbnN0IGZpbmFsOwotICAgIHZvaWQgbWVkaWFQbGF5ZXJQYXVzZSgpIGZpbmFsOwotICAgIHZv
aWQgbWVkaWFQbGF5ZXJQbGF5KCkgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBsYXllclBsYXRmb3Jt
Vm9sdW1lQ29uZmlndXJhdGlvblJlcXVpcmVkKCkgY29uc3QgZmluYWw7CiAgICAgV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVkUmVzb3VyY2VMb2FkZXIoKSBm
aW5hbDsKICAgICBSZWZQdHI8V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlTG9hZGVyPiBt
ZWRpYVBsYXllckNyZWF0ZVJlc291cmNlTG9hZGVyKCkgZmluYWw7CkBAIC0yNTgsNyArMjYwLDYg
QEAgcHJpdmF0ZToKICAgICBSdW5Mb29wOjpUaW1lcjxSZW1vdGVNZWRpYVBsYXllclByb3h5PiBt
X3VwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyOwogICAgIFJlbW90ZU1lZGlhUGxheWVyU3Rh
dGUgbV9jYWNoZWRTdGF0ZTsKICAgICBSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlv
biBtX2NvbmZpZ3VyYXRpb247Ci0gICAgYm9vbCBtX3NlZWthYmxlQ2hhbmdlZCB7IHRydWUgfTsK
ICAgICBib29sIG1fYnVmZmVyZWRDaGFuZ2VkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9yZW5kZXJp
bmdDYW5CZUFjY2VsZXJhdGVkIHsgdHJ1ZSB9OwogICAgIFdlYkNvcmU6OkxheW91dFJlY3QgbV92
aWRlb0NvbnRlbnRCb3hSZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCAzNTM5YmMxZDljODQxNjg5MmE4NzU5NjFlZDFlNGE5OGMxM2IyNTc2Li43MGEwOWQ5MWM2ZWM2
MWE5NmIyODBhYzhmNjgwNjQ2YzI0NjViOGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNz
YWdlcy5pbgpAQCAtOTEsNiArOTEsMTAgQEAgbWVzc2FnZXMgLT4gUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eSBOb3RSZWZDb3VudGVkIHsKIAogICAgIEFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZSgp
CiAgICAgQXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKQorCisgICAgTm90aWZ5VHJhY2tNb2Rl
Q2hhbmdlZCgpCisgICAgVHJhY2tzQ2hhbmdlZCgpCisgICAgU3luY1RleHRUcmFja0JvdW5kcygp
CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IDhlZjdkZWVl
YTcwZTIwYWU4ZmFhN2NlY2JhNmJkMzc2OTY2NmI1MDIuLjBiMTFjZTQ4Yjc4NjBjNThjYWUxY2Rk
YTIzMmJiMzlhZTE5MzFhMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTIx
MywxMiArMjEzLDEyIEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpkaWRMb2FkaW5n
UHJvZ3Jlc3MoKSBjb25zdAogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aGFzVmlk
ZW8oKSBjb25zdAogewotICAgIHJldHVybiBtX2hhc1ZpZGVvOworICAgIHJldHVybiBtX2NhY2hl
ZFN0YXRlLmhhc1ZpZGVvOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aGFz
QXVkaW8oKSBjb25zdAogewotICAgIHJldHVybiBtX2hhc0F1ZGlvOworICAgIHJldHVybiBtX2Nh
Y2hlZFN0YXRlLmhhc0F1ZGlvOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFu
Z2VzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNlZWthYmxlKCkgY29uc3QKQEAgLTIzNiw3
ICsyMzYsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFuZ2VzPiBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OmJ1ZmZlcmVkKCkgY29uc3QKIAogTWVkaWFQbGF5ZXI6Ok1vdmllTG9h
ZFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptb3ZpZUxvYWRUeXBlKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gbV9tb3ZpZUxvYWRUeXBlOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLm1v
dmllTG9hZFR5cGU7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpuZXR3b3Jr
U3RhdGVDaGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJiBzdGF0ZSkKQEAgLTI5NCwxMSAr
Mjk0LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmVuZ2luZUZhaWxlZFRvTG9h
ZChsb25nIHBsYXRmb3JtRXJyb3JDb2RlKQogICAgIG1fcGxheWVyLT5yZW1vdGVFbmdpbmVGYWls
ZWRUb0xvYWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNoYXJhY3Rl
cmlzdGljQ2hhbmdlZChib29sIGhhc0F1ZGlvLCBib29sIGhhc1ZpZGVvLCBXZWJDb3JlOjpNZWRp
YVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBlIG1vdmllTG9hZFR5cGUpCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6Y2hhcmFjdGVyaXN0aWNDaGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVy
U3RhdGUmJiBzdGF0ZSkKIHsKLSAgICBtX21vdmllTG9hZFR5cGUgPSBtb3ZpZUxvYWRUeXBlOwot
ICAgIG1faGFzQXVkaW8gPSBoYXNBdWRpbzsKLSAgICBtX2hhc1ZpZGVvID0gaGFzVmlkZW87Cisg
ICAgdXBkYXRlQ2FjaGVkU3RhdGUoV1RGTW92ZShzdGF0ZSkpOwogICAgIG1fcGxheWVyLT5jaGFy
YWN0ZXJpc3RpY0NoYW5nZWQoKTsKIH0KIApAQCAtMzU1LDYgKzM1MywyNSBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlQ2FjaGVkU3RhdGUoUmVtb3RlTWVkaWFQbGF5ZXJT
dGF0ZSYmIHN0YXRlKQogICAgIG1fY2FjaGVkU3RhdGUucGF1c2VkID0gc3RhdGUucGF1c2VkOwog
ICAgIG1fY2FjaGVkU3RhdGUubG9hZGluZ1Byb2dyZXNzZWQgPSBzdGF0ZS5sb2FkaW5nUHJvZ3Jl
c3NlZDsKICAgICBtX2NhY2hlZFN0YXRlLm5hdHVyYWxTaXplID0gc3RhdGUubmF0dXJhbFNpemU7
CisgICAgbV9jYWNoZWRTdGF0ZS5tb3ZpZUxvYWRUeXBlID0gc3RhdGUubW92aWVMb2FkVHlwZTsK
KyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlID0gc3RhdGUud2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGU7CisKKyAgICBtX2NhY2hlZFN0YXRlLnN0YXJ0RGF0ZSA9
IHN0YXRlLnN0YXJ0RGF0ZTsKKyAgICBtX2NhY2hlZFN0YXRlLnN0YXJ0VGltZSA9IHN0YXRlLnN0
YXJ0VGltZTsKKyAgICBtX2NhY2hlZFN0YXRlLmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjayA9
IHN0YXRlLmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjazsKKyAgICBtX2NhY2hlZFN0YXRlLm1h
eEZhc3RGb3J3YXJkUmF0ZSA9IHN0YXRlLm1heEZhc3RGb3J3YXJkUmF0ZTsKKyAgICBtX2NhY2hl
ZFN0YXRlLm1pbkZhc3RSZXZlcnNlUmF0ZSA9IHN0YXRlLm1pbkZhc3RSZXZlcnNlUmF0ZTsKKyAg
ICBtX2NhY2hlZFN0YXRlLnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgPSBzdGF0
ZS5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lOworICAgIG1fY2FjaGVkU3RhdGUu
bGl2ZVVwZGF0ZUludGVydmFsID0gc3RhdGUubGl2ZVVwZGF0ZUludGVydmFsOworICAgIG1fY2Fj
aGVkU3RhdGUuY2FuU2F2ZU1lZGlhRGF0YSA9IHN0YXRlLmNhblNhdmVNZWRpYURhdGE7CisgICAg
bV9jYWNoZWRTdGF0ZS5oYXNBdWRpbyA9IHN0YXRlLmhhc0F1ZGlvOworICAgIG1fY2FjaGVkU3Rh
dGUuaGFzVmlkZW8gPSBzdGF0ZS5oYXNWaWRlbzsKKyAgICBtX2NhY2hlZFN0YXRlLmhhc0Nsb3Nl
ZENhcHRpb25zID0gc3RhdGUuaGFzQ2xvc2VkQ2FwdGlvbnM7CisgICAgbV9jYWNoZWRTdGF0ZS5o
YXNBdmFpbGFibGVWaWRlb0ZyYW1lID0gc3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKKyAg
ICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkID0gc3RhdGUud2ly
ZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQ7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNTaW5nbGVT
ZWN1cml0eU9yaWdpbiA9IHN0YXRlLmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luOworICAgIG1fY2Fj
aGVkU3RhdGUuZGlkUGFzc0NPUlNBY2Nlc3NDaGVjayA9IHN0YXRlLmRpZFBhc3NDT1JTQWNjZXNz
Q2hlY2s7CisKICAgICBpZiAoc3RhdGUuYnVmZmVyZWRSYW5nZXMubGVuZ3RoKCkpCiAgICAgICAg
IG1fY2FjaGVkQnVmZmVyZWRUaW1lUmFuZ2VzID0gbWFrZVVuaXF1ZTxQbGF0Zm9ybVRpbWVSYW5n
ZXM+KHN0YXRlLmJ1ZmZlcmVkUmFuZ2VzKTsKIH0KQEAgLTU3OSw4ICs1OTYsNiBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVtb3RlVmlkZW9UcmFja0NvbmZpZ3VyYXRpb25DaGFu
Z2VkKFRyYWNrUHJpdmF0ZQogICAgICAgICB0cmFjay0+dXBkYXRlQ29uZmlndXJhdGlvbihXVEZN
b3ZlKGNvbmZpZ3VyYXRpb24pKTsKIH0KIAotLy8gRklYTUU6IFVuaW1wbGVtZW50ZWQKLQogI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9h
ZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogewpAQCAtNTk4LDcg
KzYxMyw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNvbnN0IFN0cmlu
ZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKE1lZGlhU3RyZWFtUHJpdmF0ZSYp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKwog
ICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlz
XSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47CkBAIC02NzEs
MzEgKzY4NywyNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0QnVmZmVyaW5n
UG9saWN5KE1lZGlhUGxheWVyOjpCdWZmZXJpbmdQb2xpY3kgcAogCiBib29sIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6Y2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuY2Fu
U2F2ZU1lZGlhRGF0YTsKIH0KIAogTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
Z2V0U3RhcnREYXRlKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVy
biBNZWRpYVRpbWU6Onplcm9UaW1lKCk7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuc3RhcnRE
YXRlOwogfQogCiBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzdGFydFRpbWUo
KSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIE1lZGlhVGltZTo6
emVyb1RpbWUoKTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5zdGFydFRpbWU7CiB9CiAKLXZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRSYXRlRG91YmxlKGRvdWJsZSkKK3ZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRSYXRlRG91YmxlKGRvdWJsZSByYXRlKQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJl
bW90ZU1lZGlhUGxheWVyUHJveHk6OlNldFJhdGUocmF0ZSksIG1faWQpOwogfQogCiBib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aGFzQ2xvc2VkQ2FwdGlvbnMoKSBjb25zdAogewotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2NhY2hl
ZFN0YXRlLmhhc0Nsb3NlZENhcHRpb25zOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGJvb2wpCkBAIC03MDUsMTQgKzcxNywxMiBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KGJvb2wpCiAKIGRvdWJsZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1heEZhc3RGb3J3YXJk
UmF0ZSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGU7CiB9CiAKIGRvdWJsZSBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1pbkZhc3RSZXZlcnNlUmF0ZSgpIGNvbnN0CiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9jYWNoZWRT
dGF0ZS5taW5GYXN0UmV2ZXJzZVJhdGU7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6Om1heE1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QKQEAgLTcyNywxNCArNzM3LDEy
IEBAIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1pbk1lZGlhVGltZVNlZWth
YmxlKCkgY29uc3QKIAogZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2Vla2FibGVU
aW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5zZWVrYWJsZVRpbWVS
YW5nZXNMYXN0TW9kaWZpZWRUaW1lOwogfQogCiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUubGl2ZVVwZGF0ZUludGVy
dmFsOwogfQogCiB1bnNpZ25lZCBsb25nIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp0
b3RhbEJ5dGVzKCkgY29uc3QKQEAgLTc3NCw4ICs3ODIsNyBAQCBOYXRpdmVJbWFnZVB0ciBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKQogCiBib29s
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJu
IG1fY2FjaGVkU3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKIH0KIAogI2lmIEVOQUJMRShX
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCkBAIC03ODcsMTQgKzc5NCwxMiBAQCBTdHJpbmcgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZSgpIGNvbnN0
CiAKIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QKIHsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZU5vbmU7
CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUud2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU7CiB9
CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tE
aXNhYmxlZCgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gdHJ1
ZTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxl
ZDsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFdpcmVsZXNzVmlkZW9Q
bGF5YmFja0Rpc2FibGVkKGJvb2wgZGlzYWJsZWQpCkBAIC04MjQsMjIgKzgyOSwxNCBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQo
Ym9vbCBzaG91bGRQbGF5KQogfQogI2VuZGlmCiAKLWJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpzaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6aGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdAogewotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmhhc1Np
bmdsZVNlY3VyaXR5T3JpZ2luOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
ZGlkUGFzc0NPUlNBY2Nlc3NDaGVjaygpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsK
LSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuZGlkUGFzc0NPUlNB
Y2Nlc3NDaGVjazsKIH0KIAogT3B0aW9uYWw8Ym9vbD4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Ojp3b3VsZFRhaW50T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luJikgY29uc3QKQEAgLTg1Niw3
ICs4NTMsNyBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptZWRpYVRpbWVG
b3JUaW1lVmFsdWUoY29uc3QgTWVkaWFUaW1lJiB0aW1lVgogCiBkb3VibGUgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjptYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gLjI7IC8vIEZJWE1FOiBnZXQgdGhpcyB2YWx1ZSBmcm9tIHRoZSBtZWRpYSBl
bmdpbmUgd2hlbiBpdCBpcyBjcmVhdGVkLgorICAgIHJldHVybiBtX2NvbmZpZ3VyYXRpb24ubWF4
aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZTsKIH0KIAogdW5zaWduZWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpkZWNvZGVkRnJhbWVDb3VudCgpIGNvbnN0CkBAIC05NTEsMTIgKzk0OCwx
MiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VGV4dFRyYWNrUmVwcmVzZW50
YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpbwogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6c3luY1RleHRUcmFja0JvdW5kcygpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3lu
Y1RleHRUcmFja0JvdW5kcygpLCBtX2lkKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnRyYWNrc0NoYW5nZWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlRyYWNrc0No
YW5nZWQoKSwgbV9pZCk7CiB9CiAjZW5kaWYKIApAQCAtOTc5LDggKzk3Niw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjplbmRTaW11bGF0ZWRIRENQRXJyb3IoKQogCiBTdHJpbmcg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBj
b25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUubGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOwog
fQogCiBzaXplX3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpleHRyYU1lbW9yeUNvc3QoKSBj
b25zdApAQCAtOTg5LDE4ICs5ODUsNiBAQCBzaXplX3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpleHRyYU1lbW9yeUNvc3QoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi11bnNpZ25lZCBs
b25nIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpmaWxlU2l6ZSgpIGNvbnN0Ci17Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQotYm9vbCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OmVuZGVkKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIHJldHVybiBmYWxzZTsKLX0KLQogT3B0aW9uYWw8VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRy
aWNzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmlj
cygpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKQEAgLTEwMTAsNyArOTk0LDcgQEAgT3B0aW9u
YWw8VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OnZpZGVvUGxheWJhY2tRdWEKICNpZiBFTkFCTEUoQVZGX0NBUFRJT05TKQogdm9pZCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6Om5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKQogewotICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6Ok5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKSwgbV9pZCk7CiB9CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXggODU0YWFjNTY2YWJiMjAyMjdjZGE5MTU2
MDE1YmYyNDg3YTc2M2RkZi4uZTMyMmM0ZmFhNDJmOTJlYjhhMmMwY2U1NzQ2YjdlMzRhMDU1NmUz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBAIC05Myw3ICs5Myw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQgZW5naW5lRmFp
bGVkVG9Mb2FkKGxvbmcpOwogICAgIHZvaWQgdXBkYXRlQ2FjaGVkU3RhdGUoUmVtb3RlTWVkaWFQ
bGF5ZXJTdGF0ZSYmKTsKLSAgICB2b2lkIGNoYXJhY3RlcmlzdGljQ2hhbmdlZChib29sIGhhc0F1
ZGlvLCBib29sIGhhc1ZpZGVvLCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRU
eXBlKTsKKyAgICB2b2lkIGNoYXJhY3RlcmlzdGljQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0
YXRlJiYpOwogICAgIHZvaWQgc2l6ZUNoYW5nZWQoV2ViQ29yZTo6RmxvYXRTaXplKTsKICAgICB2
b2lkIGZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpOwogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAt
Mjc0LDcgKzI3NCw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzdXBwb3J0c0FjY2VsZXJhdGVkUmVu
ZGVyaW5nKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBhY2NlbGVyYXRlZFJlbmRlcmluZ1N0YXRl
Q2hhbmdlZCgpIGZpbmFsOwogCi0gICAgYm9vbCBzaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkg
Y29uc3QgZmluYWw7CiAgICAgdm9pZCBzZXRTaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKGJvb2wp
IGZpbmFsOwogCiAgICAgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IGZpbmFs
OwpAQCAtMzMxLDEwICszMzAsNiBAQCBwcml2YXRlOgogCiAgICAgc2l6ZV90IGV4dHJhTWVtb3J5
Q29zdCgpIGNvbnN0IGZpbmFsOwogCi0gICAgdW5zaWduZWQgbG9uZyBsb25nIGZpbGVTaXplKCkg
Y29uc3QgZmluYWw7Ci0KLSAgICBib29sIGVuZGVkKCkgY29uc3QgZmluYWw7Ci0KICAgICBPcHRp
b25hbDxXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3M+IHZpZGVvUGxheWJhY2tR
dWFsaXR5TWV0cmljcygpIGZpbmFsOwogCiAjaWYgRU5BQkxFKEFWRl9DQVBUSU9OUykKQEAgLTM3
Myw5ICszNjgsNiBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBtX3ZvbHVtZSB7IDEgfTsKICAgICBk
b3VibGUgbV9yYXRlIHsgMSB9OwogICAgIGxvbmcgbV9wbGF0Zm9ybUVycm9yQ29kZSB7IDAgfTsK
LSAgICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBlIG1fbW92aWVMb2Fk
VHlwZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGU6OlVua25vd24g
fTsKLSAgICBib29sIG1faGFzQXVkaW8geyBmYWxzZSB9OwotICAgIGJvb2wgbV9oYXNWaWRlbyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX211dGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2Vla2lu
ZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3Mg
eyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpp
bmRleCAzZmZjZjM2ZWZlMjRiM2QwODUwZWVhMjg2ZTJjZTcyOGU0YTJmYzFhLi5hNTA3NzZkZGFh
NDI3NmMxYzZkZGU3ZTVkYjA3YmY5OGE2N2FlOGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtMzUsNyArMzUsNyBAQCBtZXNzYWdlcyAtPiBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CiAgICAgUGxheWJhY2tTdGF0ZUNo
YW5nZWQoYm9vbCBwYXVzZWQpCiAgICAgRW5naW5lRmFpbGVkVG9Mb2FkKGludCBwbGF0Zm9ybUVy
cm9yQ29kZSkKICAgICBVcGRhdGVDYWNoZWRTdGF0ZShzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRp
YVBsYXllclN0YXRlIHN0YXRlKQotICAgIENoYXJhY3RlcmlzdGljQ2hhbmdlZChib29sIGhhc0F1
ZGlvLCBib29sIGhhc1ZpZGVvLCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVt
czo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKQorICAgIENoYXJhY3RlcmlzdGljQ2hhbmdl
ZChzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRlIHN0YXRlKQogICAgIFNpemVD
aGFuZ2VkKFdlYkNvcmU6OkZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSkKIAogICAgIEFkZFJlbW90ZUF1
ZGlvVHJhY2soV2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIHN0
cnVjdCBXZWJLaXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlv
bikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbi5oCmluZGV4IGQyMmI3Yjk3NTk4
MTE4MTNmMmU2Mzg0OGY1ZmU3MDcwMTgxNDk1MWYuLjlmYmZmNTlhZmM1MTkxYTkzNTE2OTI0ZDll
ZjlhYzcyNzU3YjJhZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24uaApA
QCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RydWN0IFJlbW90ZU1lZGlh
UGxheWVyQ29uZmlndXJhdGlvbiB7CiAgICAgU3RyaW5nIGVuZ2luZURlc2NyaXB0aW9uOworICAg
IGRvdWJsZSBtYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lOwogICAgIGJvb2wgc3VwcG9y
dHNTY2FubmluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW4geyBmYWxz
ZSB9OwogICAgIGJvb2wgc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlIHsgZmFsc2UgfTsKQEAgLTQ2
LDYgKzQ3LDcgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiB7CiAgICAg
dm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7CiAgICAgICAgIGVuY29k
ZXIgPDwgZW5naW5lRGVzY3JpcHRpb247CisgICAgICAgIGVuY29kZXIgPDwgbWF4aW11bUR1cmF0
aW9uVG9DYWNoZU1lZGlhVGltZTsKICAgICAgICAgZW5jb2RlciA8PCBzdXBwb3J0c1NjYW5uaW5n
OwogICAgICAgICBlbmNvZGVyIDw8IHN1cHBvcnRzRnVsbHNjcmVlbjsKICAgICAgICAgZW5jb2Rl
ciA8PCBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmU7CkBAIC02Miw2ICs2NCwxMSBAQCBzdHJ1Y3Qg
UmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHsKICAgICAgICAgaWYgKCFlbmdpbmVEZXNj
cmlwdGlvbikKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKKyAgICAgICAgT3B0
aW9uYWw8ZG91YmxlPiBtYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lOworICAgICAgICBk
ZWNvZGVyID4+IG1heGltdW1EdXJhdGlvblRvQ2FjaGVNZWRpYVRpbWU7CisgICAgICAgIGlmICgh
bWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKICAgICAgICAgT3B0aW9uYWw8Ym9vbD4gc3VwcG9ydHNTY2FubmluZzsKICAg
ICAgICAgZGVjb2RlciA+PiBzdXBwb3J0c1NjYW5uaW5nOwogICAgICAgICBpZiAoIXN1cHBvcnRz
U2Nhbm5pbmcpCkBAIC05NCw2ICsxMDEsNyBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJDb25m
aWd1cmF0aW9uIHsKIAogICAgICAgICByZXR1cm4ge3sKICAgICAgICAgICAgIFdURk1vdmUoKmVu
Z2luZURlc2NyaXB0aW9uKSwKKyAgICAgICAgICAgICptYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVk
aWFUaW1lLAogICAgICAgICAgICAgKnN1cHBvcnRzU2Nhbm5pbmcsCiAgICAgICAgICAgICAqc3Vw
cG9ydHNQaWN0dXJlSW5QaWN0dXJlLAogICAgICAgICAgICAgKnN1cHBvcnRzQWNjZWxlcmF0ZWRS
ZW5kZXJpbmcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oCmluZGV4IDRlZGYwYTcwNmU5YjI4MDJkOTVh
Y2YxMGEwYzhlZjNiYmY5OGZiNzguLjRiZDQ4YmIzN2Q2NTdhN2I1OGZkMTA5Njg5Njg2NTJmODAy
MzhjZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oCkBAIC0zOSwxMiArMzksMzIgQEAgc3RydWN0
IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgewogICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKICAgICBN
ZWRpYVRpbWUgbWluVGltZVNlZWthYmxlOwogICAgIE1lZGlhVGltZSBtYXhUaW1lU2Vla2FibGU7
CisgICAgTWVkaWFUaW1lIHN0YXJ0RGF0ZTsKKyAgICBNZWRpYVRpbWUgc3RhcnRUaW1lOworICAg
IFN0cmluZyBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CisgICAgU3RyaW5nIHdpcmVsZXNz
UGxheWJhY2tUYXJnZXROYW1lOwogICAgIFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdlcyBidWZm
ZXJlZFJhbmdlczsKICAgICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpOZXR3b3JrU3RhdGUg
bmV0d29ya1N0YXRlIHsgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TmV0d29ya1N0YXRlOjpF
bXB0eSB9OwogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OlJlYWR5U3RhdGUgcmVhZHlT
dGF0ZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5n
IH07CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxv
YWRUeXBlIHsgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZTo6VW5rbm93
biB9OworICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVsZXNzUGxheWJhY2tUYXJn
ZXRUeXBlIHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHsgV2ViQ29yZTo6TWVkaWFQbGF5ZXJF
bnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVOb25lIH07CiAgICAg
V2ViQ29yZTo6RmxvYXRTaXplIG5hdHVyYWxTaXplOworICAgIGRvdWJsZSBtYXhGYXN0Rm9yd2Fy
ZFJhdGUgeyAwIH07CisgICAgZG91YmxlIG1pbkZhc3RSZXZlcnNlUmF0ZSB7IDAgfTsKKyAgICBk
b3VibGUgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSB7IDAgfTsKKyAgICBkb3Vi
bGUgbGl2ZVVwZGF0ZUludGVydmFsIHsgMCB9OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3Rh
bEJ5dGVzIHsgMCB9OwogICAgIGJvb2wgcGF1c2VkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbG9hZGlu
Z1Byb2dyZXNzZWQgeyBmYWxzZSB9OworICAgIGJvb2wgY2FuU2F2ZU1lZGlhRGF0YSB7IGZhbHNl
IH07CisgICAgYm9vbCBoYXNBdWRpbyB7IGZhbHNlIH07CisgICAgYm9vbCBoYXNWaWRlbyB7IGZh
bHNlIH07CisgICAgYm9vbCBoYXNDbG9zZWRDYXB0aW9ucyB7IGZhbHNlIH07CisgICAgYm9vbCBo
YXNBdmFpbGFibGVWaWRlb0ZyYW1lIHsgZmFsc2UgfTsKKyAgICBib29sIHdpcmVsZXNzVmlkZW9Q
bGF5YmFja0Rpc2FibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3Jp
Z2luIHsgZmFsc2UgfTsKKyAgICBib29sIGRpZFBhc3NDT1JTQWNjZXNzQ2hlY2sgeyBmYWxzZSB9
OworICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbiB7IGZhbHNlIH07CiAK
ICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CkBAIC01MywxMiArNzMsMzIgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVy
U3RhdGUgewogICAgICAgICBlbmNvZGVyIDw8IGR1cmF0aW9uOwogICAgICAgICBlbmNvZGVyIDw8
IG1pblRpbWVTZWVrYWJsZTsKICAgICAgICAgZW5jb2RlciA8PCBtYXhUaW1lU2Vla2FibGU7Cisg
ICAgICAgIGVuY29kZXIgPDwgc3RhcnREYXRlOworICAgICAgICBlbmNvZGVyIDw8IHN0YXJ0VGlt
ZTsKKyAgICAgICAgZW5jb2RlciA8PCBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CisgICAg
ICAgIGVuY29kZXIgPDwgd2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWU7CiAgICAgICAgIGVuY29k
ZXIgPDwgYnVmZmVyZWRSYW5nZXM7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlRW51bShuZXR3b3Jr
U3RhdGUpOwogICAgICAgICBlbmNvZGVyLmVuY29kZUVudW0ocmVhZHlTdGF0ZSk7CisgICAgICAg
IGVuY29kZXIuZW5jb2RlRW51bShtb3ZpZUxvYWRUeXBlKTsKKyAgICAgICAgZW5jb2Rlci5lbmNv
ZGVFbnVtKHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKTsKICAgICAgICAgZW5jb2RlciA8PCBu
YXR1cmFsU2l6ZTsKKyAgICAgICAgZW5jb2RlciA8PCBtYXhGYXN0Rm9yd2FyZFJhdGU7CisgICAg
ICAgIGVuY29kZXIgPDwgbWluRmFzdFJldmVyc2VSYXRlOworICAgICAgICBlbmNvZGVyIDw8IHNl
ZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWU7CisgICAgICAgIGVuY29kZXIgPDwgbGl2
ZVVwZGF0ZUludGVydmFsOworICAgICAgICBlbmNvZGVyIDw8IHRvdGFsQnl0ZXM7CiAgICAgICAg
IGVuY29kZXIgPDwgcGF1c2VkOwogICAgICAgICBlbmNvZGVyIDw8IGxvYWRpbmdQcm9ncmVzc2Vk
OworICAgICAgICBlbmNvZGVyIDw8IGNhblNhdmVNZWRpYURhdGE7CisgICAgICAgIGVuY29kZXIg
PDwgaGFzQXVkaW87CisgICAgICAgIGVuY29kZXIgPDwgaGFzVmlkZW87CisgICAgICAgIGVuY29k
ZXIgPDwgaGFzQ2xvc2VkQ2FwdGlvbnM7CisgICAgICAgIGVuY29kZXIgPDwgaGFzQXZhaWxhYmxl
VmlkZW9GcmFtZTsKKyAgICAgICAgZW5jb2RlciA8PCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNh
YmxlZDsKKyAgICAgICAgZW5jb2RlciA8PCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKKyAgICAg
ICAgZW5jb2RlciA8PCBkaWRQYXNzQ09SU0FjY2Vzc0NoZWNrOworICAgICAgICBlbmNvZGVyIDw8
IHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb247CiAgICAgfQogCiAgICAgdGVtcGxhdGUg
PGNsYXNzIERlY29kZXI+CkBAIC04NCw2ICsxMjQsMjYgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxh
eWVyU3RhdGUgewogICAgICAgICBpZiAoIW1heFRpbWVTZWVrYWJsZSkKICAgICAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAKKyAgICAgICAgT3B0aW9uYWw8TWVkaWFUaW1lPiBzdGFydERh
dGU7CisgICAgICAgIGRlY29kZXIgPj4gc3RhcnREYXRlOworICAgICAgICBpZiAoIXN0YXJ0RGF0
ZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8
TWVkaWFUaW1lPiBzdGFydFRpbWU7CisgICAgICAgIGRlY29kZXIgPj4gc3RhcnRUaW1lOworICAg
ICAgICBpZiAoIXN0YXJ0VGltZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7Cisg
ICAgICAgIGRlY29kZXIgPj4gbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOworICAgICAgICBp
ZiAoIWxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjaykKKyAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiB3aXJlbGVzc1BsYXliYWNrVGFy
Z2V0TmFtZTsKKyAgICAgICAgZGVjb2RlciA+PiB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZTsK
KyAgICAgICAgaWYgKCF3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZSkKKyAgICAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKICAgICAgICAgT3B0aW9uYWw8V2ViQ29yZTo6UGxhdGZvcm1U
aW1lUmFuZ2VzPiBidWZmZXJlZFJhbmdlczsKICAgICAgICAgZGVjb2RlciA+PiBidWZmZXJlZFJh
bmdlczsKICAgICAgICAgaWYgKCFidWZmZXJlZFJhbmdlcykKQEAgLTk3LDExICsxNTcsNDQgQEAg
c3RydWN0IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgewogICAgICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlRW51bShyZWFkeVN0YXRlKSkKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAK
KyAgICAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxv
YWRUeXBlOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bShtb3ZpZUxvYWRUeXBlKSkK
KyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgV2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5YmFj
a1RhcmdldFR5cGU7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHdpcmVsZXNzUGxh
eWJhY2tUYXJnZXRUeXBlKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAg
ICAgICAgT3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRTaXplPiBuYXR1cmFsU2l6ZTsKICAgICAgICAg
ZGVjb2RlciA+PiBuYXR1cmFsU2l6ZTsKICAgICAgICAgaWYgKCFuYXR1cmFsU2l6ZSkKICAgICAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBt
YXhGYXN0Rm9yd2FyZFJhdGU7CisgICAgICAgIGRlY29kZXIgPj4gbWF4RmFzdEZvcndhcmRSYXRl
OworICAgICAgICBpZiAoIW1heEZhc3RGb3J3YXJkUmF0ZSkKKyAgICAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBtaW5GYXN0UmV2ZXJzZVJh
dGU7CisgICAgICAgIGRlY29kZXIgPj4gbWluRmFzdFJldmVyc2VSYXRlOworICAgICAgICBpZiAo
IW1pbkZhc3RSZXZlcnNlUmF0ZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRU
aW1lOworICAgICAgICBkZWNvZGVyID4+IHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRp
bWU7CisgICAgICAgIGlmICghc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSkKKyAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8ZG91Ymxl
PiBsaXZlVXBkYXRlSW50ZXJ2YWw7CisgICAgICAgIGRlY29kZXIgPj4gbGl2ZVVwZGF0ZUludGVy
dmFsOworICAgICAgICBpZiAoIWxpdmVVcGRhdGVJbnRlcnZhbCkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8dW5zaWduZWQgbG9uZyBsb25nPiB0
b3RhbEJ5dGVzOworICAgICAgICBkZWNvZGVyID4+IHRvdGFsQnl0ZXM7CisgICAgICAgIGlmICgh
dG90YWxCeXRlcykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAgICAgICAg
T3B0aW9uYWw8Ym9vbD4gcGF1c2VkOwogICAgICAgICBkZWNvZGVyID4+IHBhdXNlZDsKICAgICAg
ICAgaWYgKCFwYXVzZWQpCkBAIC0xMTIsMTcgKzIwNSw4MyBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQ
bGF5ZXJTdGF0ZSB7CiAgICAgICAgIGlmICghbG9hZGluZ1Byb2dyZXNzZWQpCiAgICAgICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OwogCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGNhblNhdmVN
ZWRpYURhdGE7CisgICAgICAgIGRlY29kZXIgPj4gY2FuU2F2ZU1lZGlhRGF0YTsKKyAgICAgICAg
aWYgKCFjYW5TYXZlTWVkaWFEYXRhKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworICAgICAgICBPcHRpb25hbDxib29sPiBoYXNBdWRpbzsKKyAgICAgICAgZGVjb2RlciA+PiBo
YXNBdWRpbzsKKyAgICAgICAgaWYgKCFoYXNBdWRpbykKKyAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gaGFzVmlkZW87CisgICAgICAgIGRl
Y29kZXIgPj4gaGFzVmlkZW87CisgICAgICAgIGlmICghaGFzVmlkZW8pCisgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc0Nsb3NlZENh
cHRpb25zOworICAgICAgICBkZWNvZGVyID4+IGhhc0Nsb3NlZENhcHRpb25zOworICAgICAgICBp
ZiAoIWhhc0Nsb3NlZENhcHRpb25zKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworICAgICAgICBPcHRpb25hbDxib29sPiBoYXNBdmFpbGFibGVWaWRlb0ZyYW1lOworICAgICAg
ICBkZWNvZGVyID4+IGhhc0F2YWlsYWJsZVZpZGVvRnJhbWU7CisgICAgICAgIGlmICghaGFzQXZh
aWxhYmxlVmlkZW9GcmFtZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICAgICAgT3B0aW9uYWw8Ym9vbD4gd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQ7CisgICAg
ICAgIGRlY29kZXIgPj4gd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQ7CisgICAgICAgIGlm
ICghd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQpCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc1NpbmdsZVNlY3VyaXR5T3Jp
Z2luOworICAgICAgICBkZWNvZGVyID4+IGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luOworICAgICAg
ICBpZiAoIWhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxib29sPiBkaWRQYXNzQ09SU0FjY2Vzc0NoZWNr
OworICAgICAgICBkZWNvZGVyID4+IGRpZFBhc3NDT1JTQWNjZXNzQ2hlY2s7CisgICAgICAgIGlm
ICghZGlkUGFzc0NPUlNBY2Nlc3NDaGVjaykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRh
dGlvbjsKKyAgICAgICAgZGVjb2RlciA+PiByZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9u
OworICAgICAgICBpZiAoIXJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24pCisgICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgICAgIHJldHVybiB7ewogICAgICAgICAg
ICAgV1RGTW92ZSgqY3VycmVudFRpbWUpLAogICAgICAgICAgICAgV1RGTW92ZSgqZHVyYXRpb24p
LAogICAgICAgICAgICAgV1RGTW92ZSgqbWluVGltZVNlZWthYmxlKSwKICAgICAgICAgICAgIFdU
Rk1vdmUoKm1heFRpbWVTZWVrYWJsZSksCisgICAgICAgICAgICBXVEZNb3ZlKCpzdGFydERhdGUp
LAorICAgICAgICAgICAgV1RGTW92ZSgqc3RhcnRUaW1lKSwKKyAgICAgICAgICAgIFdURk1vdmUo
Kmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjayksCisgICAgICAgICAgICBXVEZNb3ZlKCp3aXJl
bGVzc1BsYXliYWNrVGFyZ2V0TmFtZSksCiAgICAgICAgICAgICBXVEZNb3ZlKCpidWZmZXJlZFJh
bmdlcyksCiAgICAgICAgICAgICBuZXR3b3JrU3RhdGUsCiAgICAgICAgICAgICByZWFkeVN0YXRl
LAorICAgICAgICAgICAgbW92aWVMb2FkVHlwZSwKKyAgICAgICAgICAgIHdpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlLAogICAgICAgICAgICAgV1RGTW92ZSgqbmF0dXJhbFNpemUpLAorICAgICAg
ICAgICAgKm1heEZhc3RGb3J3YXJkUmF0ZSwKKyAgICAgICAgICAgICptaW5GYXN0UmV2ZXJzZVJh
dGUsCisgICAgICAgICAgICAqc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSwKKyAg
ICAgICAgICAgICpsaXZlVXBkYXRlSW50ZXJ2YWwsCisgICAgICAgICAgICAqdG90YWxCeXRlcywK
ICAgICAgICAgICAgICpwYXVzZWQsCi0gICAgICAgICAgICAqbG9hZGluZ1Byb2dyZXNzZWQgfX07
CisgICAgICAgICAgICAqbG9hZGluZ1Byb2dyZXNzZWQsCisgICAgICAgICAgICAqY2FuU2F2ZU1l
ZGlhRGF0YSwKKyAgICAgICAgICAgICpoYXNBdWRpbywKKyAgICAgICAgICAgICpoYXNWaWRlbywK
KyAgICAgICAgICAgICpoYXNDbG9zZWRDYXB0aW9ucywKKyAgICAgICAgICAgICpoYXNBdmFpbGFi
bGVWaWRlb0ZyYW1lLAorICAgICAgICAgICAgKndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVk
LAorICAgICAgICAgICAgKmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luLAorICAgICAgICAgICAgKmRp
ZFBhc3NDT1JTQWNjZXNzQ2hlY2ssCisgICAgICAgICAgICAqcmVxdWlyZXNUZXh0VHJhY2tSZXBy
ZXNlbnRhdGlvbiwKKyAgICAgICAgfX07CiAgICAgfQogCiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc3ZWZmYjUwYjEw
NTZkMTIxYTFmN2E5N2FlNWY2MDcyZjI0ZmVlODUuLjA5ZGE5NWRkZGUzMDUwMDA5Mjc5MDJlOWEz
ZGNlMmFiZDljMjczNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wMi0yOSAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gUGx1bWIg
dGhyb3VnaCBtb3JlIE1lZGlhUGxheWVyIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NTk5MjQzODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zOiBVbnNraXAgfjEyMDAgbWVkaWEgdGVz
dHMuCisKIDIwMjAtMDItMjggIEphc29uIExhd3JlbmNlICA8bGF3cmVuY2UuakBhcHBsZS5jb20+
CiAKICAgICAgICAgWyBNYWMgd2sxIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXF1ZXN0aWRsZWNhbGxiYWNrL2NhbGxiYWNrLXRpbWVvdXQtd2hlbi1idXN5Lmh0bWwgaXMgZmxh
a2V5IGZhaWxpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9ncHUtcHJvY2Vzcy9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvZ3B1LXByb2Nlc3MvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCA2NDg0ODEzNmM3NDYzMDhlZWNmZmUzZjVlNjVjODcxMDkwYTk5YWQ5Li45OTQ5YTgxMDAxYzVh
MmI0MGE1OWVlN2EyYjgzNzE3Mjg4NjM1ZDBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9ncHUt
cHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTE3OCw2NyArMTc4LDIwOSBAQCBpbXBvcnRlZC9ibGluay9jb21w
b3NpdGluZyBbIFNraXAgXQogbGVnYWN5LWFuaW1hdGlvbi1lbmdpbmUvaW1wb3J0ZWQvYmxpbmsv
Y29tcG9zaXRpbmcvc3F1YXNoaW5nL3JlbW92ZS1mcm9tLWdyb3VwZWQtbWFwcGluZy1vbi1yZWFz
c2lnbm1lbnQuaHRtbCBbIFNraXAgXQogaW5zcGVjdG9yL2xheWVycy9sYXllcnMtY29tcG9zaXRp
bmctcmVhc29ucy5odG1sIFsgU2tpcCBdCiAKLW1lZGlhIFsgU2tpcCBdCi1tZWRpYS9tZWRpYS1j
b250cm9sbGVyLmh0bWwgWyBQYXNzIF0KLW1lZGlhL21lZGlhLXByZWxvYWQtbm8tZGVsYXktbG9h
ZGV2ZW50Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL3ZpZGVvLXNyYy5odG1sIFsgUGFzcyBdCi1tZWRp
YS92aWRlby1zcmMtYmxvYi11c2luZy1vcGVuLXBhbmVsLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3Zp
ZGVvLXNvdXJjZS5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1hcy12aWRlby1mdWxsc2NyZWVu
Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWJhY2tncm91bmQtcGxheWJhY2stcGxheWxpc3Qu
aHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tY29uY3VycmVudC1zdXBwb3J0ZWQuaHRtbCBbIFBh
c3MgXQotbWVkaWEvYXVkaW8tY29uc3RydWN0b3ItcHJlbG9hZC5odG1sIFsgUGFzcyBdCi1tZWRp
YS9hdWRpby1jb25zdHJ1Y3Rvci1zcmMuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tY29uc3Ry
dWN0b3IuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tY29udHJvbHMtZG8tbm90LWZhZGUtb3V0
Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWNvbnRyb2xzLXRpbWVsaW5lLWluLW1lZGlhLWRv
Y3VtZW50Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWRlYWxsb2MtY3Jhc2guaHRtbCBbIFBh
c3MgXQotbWVkaWEvYXVkaW8tZGVsZXRlLXdoaWxlLXNsaWRlci10aHVtYi1jbGlja2VkLmh0bWwg
WyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWdhcmJhZ2UtY29sbGVjdC5odG1sIFsgUGFzcyBdCi1tZWRp
YS9hdWRpby1tcGVnLXN1cHBvcnRlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1tcGVnNC1z
dXBwb3J0ZWQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tbm8taW5zdGFsbGVkLWVuZ2luZXMu
aHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tb25seS12aWRlby1pbnRyaW5zaWMtc2l6ZS5odG1s
IFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5LWV2ZW50Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1
ZGlvLXBsYXktd2l0aC12aWRlby1lbGVtZW50Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBs
YXkuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tYXV0b3Bs
YXkuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcGxheS1t
dXRlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5
Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXJlbW92ZWQt
bXV0ZWQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheWJhY2stdm9sdW1lLWNoYW5nZXMt
d2l0aC1yZXN0cmljdGlvbnMtYW5kLXVzZXItZ2VzdHVyZXMuaHRtbCBbIFBhc3MgXQotbWVkaWEv
YXVkaW8tcGxheWJhY2stdm9sdW1lLWNoYW5nZXMtd2l0aC1yZXN0cmljdGlvbnMuaHRtbCBbIFBh
c3MgXQotbWVkaWEvZGVhY3RpdmF0ZS1hdWRpby1zZXNzaW9uLmh0bWwgWyBQYXNzIF0KLW1lZGlh
L21lZGlhLWNhbi1wbGF5LW1wZWctYXVkaW8uaHRtbCBbIFBhc3MgXQotbWVkaWEvbWVkaWEtY2Fu
LXBsYXktd2F2LWF1ZGlvLmh0bWwgWyBQYXNzIF0KLW1lZGlhL21lZGlhLWRvY3VtZW50LWF1ZGlv
LWNvbnRyb2xzLXZpc2libGUuaHRtbCBbIFBhc3MgXQotbWVkaWEvbWVkaWEtZG9jdW1lbnQtYXVk
aW8tcmVwYWludC5odG1sIFsgUGFzcyBdCi1tZWRpYS9tZWRpYS1kb2N1bWVudC1hdWRpby1zaXpl
Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL211dGVkLXZpZGVvLWlzLXBsYXlpbmctYXVkaW8uaHRtbCBb
IFBhc3MgXQotbWVkaWEvcmVzdHJpY3RlZC1hdWRpby1wbGF5YmFjay13aXRoLWRvY3VtZW50LWdl
c3R1cmUuaHRtbCBbIFBhc3MgXQotbWVkaWEvcmVzdHJpY3RlZC1hdWRpby1wbGF5YmFjay13aXRo
LW11bHRpcGxlLXNldHRpbWVvdXRzLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3ZpZGVvLWNvbnRyb2xz
LXZpc2libGUtYXVkaW8tb25seS5odG1sIFsgUGFzcyBdCi1tZWRpYS92aWRlby1wbGF5LWF1ZGlv
LXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL2F1ZGlvLXRy
YWNrLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3ZpZGVvLXRyYWNrLWFkZC1yZW1vdmUuaHRt
bCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdmlkZW8tdHJhY2stYWx0ZXJuYXRlLWdyb3Vwcy5odG1s
IFsgUGFzcyBdCi1tZWRpYS90cmFjay92aWRlby10cmFjay1hZGRpdGlvbi1hbmQtZnJhbWUtcmVt
b3ZhbC5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay92aWRlby10cmFjay5odG1sIFsgUGFzcyBd
CiAKLW1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQuaHRtbCBbIFBhc3MgXQorbWVkaWEvYWlycGxh
eS1hbGxvd3MtYnVmZmVyaW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL2FpcnBsYXktYXV0b3BsYXku
aHRtbCBbIFNraXAgXQorbWVkaWEvYXVkaW8tYmFja2dyb3VuZC1wbGF5YmFjay1wbGF5bGlzdC5o
dG1sIFsgU2tpcCBdCittZWRpYS9hdWRpby1jb250cm9scy1yZW5kZXJpbmcuaHRtbCBbIFNraXAg
XQorbWVkaWEvYXVkaW8tZGVsZXRlLXdoaWxlLXN0ZXAtYnV0dG9uLWNsaWNrZWQuaHRtbCBbIFNr
aXAgXQorbWVkaWEvYXVkaW8tcmVwYWludC5odG1sIFsgU2tpcCBdCittZWRpYS9jbGljay1wbGFj
ZWhvbGRlci1ub3QtcGF1c2luZy5odG1sIFsgU2tpcCBdCittZWRpYS9jb250ZXh0LW1lbnUtYWN0
aW9ucy5odG1sIFsgU2tpcCBdCittZWRpYS9jb250cm9scy1zdHJpY3QuaHRtbCBbIFNraXAgXQor
bWVkaWEvY29udHJvbHMtc3R5bGluZy1zdHJpY3QuaHRtbCBbIFNraXAgXQorbWVkaWEvY29udHJv
bHMtd2l0aG91dC1wcmVsb2FkLmh0bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRyb2xzL2FpcnBsYXkt
Y29udHJvbHMuaHRtbCBbIFNraXAgXQorbWVkaWEvY29udHJvbHMvaW5saW5lLWVsZW1lbnRzLWRy
b3BvZmYtb3JkZXIuaHRtbCBbIFNraXAgXQorbWVkaWEvY29udHJvbHMvcGljdHVyZS1pbi1waWN0
dXJlLmh0bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRyb2xzL3BpcC1wbGFjZWhvbGRlci13aXRob3V0
LXZpZGVvLWNvbnRyb2xzLmh0bWwgWyBTa2lwIF0KK21lZGlhL2RlYWN0aXZhdGUtYXVkaW8tc2Vz
c2lvbi5odG1sIFsgU2tpcCBdCittZWRpYS9lbGVtZW50LWNvbnRhaW5pbmctcGlwLXZpZGVvLWdv
aW5nLWludG8tZnVsbHNjcmVlbi5odG1sIFsgU2tpcCBdCittZWRpYS9mdWxsc2NyZWVuLWFwaS1l
bmFibGVkLW1lZGlhLXdpdGgtcHJlc2VudGF0aW9uLW1vZGUuaHRtbCBbIFNraXAgXQorCittZWRp
YS9lbmNyeXB0ZWQtbWVkaWEvY2xlYXJLZXkgWyBTa2lwIF0KKworbWVkaWEvZW5jcnlwdGVkLW1l
ZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMuaHRtbCBbIFNraXAgXQorbWVkaWEvZW5jcnlwdGVk
LW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ub3QtbG9hZGVkLmh0bWwgWyBTa2lwIF0KK21lZGlhL2Vu
Y3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtc3ludGF4Lmh0bWwgWyBTa2lwIF0KK21lZGlh
L2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5U2Vzc2lvbi1yZW1vdmUuaHRtbCBbIFNraXAg
XQorbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaHRtbCBb
IFNraXAgXQorCittZWRpYS9pb3MvdmlkZW8tdm9sdW1lLWlvcy1xdWlyay5odG1sIFsgU2tpcCBd
CittZWRpYS9tZWRpYS1jYW4tcGxheS1mbGFjLWF1ZGlvLmh0bWwgWyBTa2lwIF0KK21lZGlhL21l
ZGlhLWNhbi1wbGF5LW9nZy5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1jb250cm9scy1pbnZh
bGlkLXVybC5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbi11
cGRhdGVzLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUu
aHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1wYXVzZS1pbmxpbmUuaHRtbCBb
IFNraXAgXQorbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1yZXR1cm4tdG8taW5saW5lLmh0bWwgWyBT
a2lwIF0KK21lZGlhL21lZGlhLWhpZ2hlci1wcmlvLWF1ZGlvLXN0cmVhbS5odG1sIFsgU2tpcCBd
CisKK21lZGlhL21lZGlhLXNvdXJjZSBbIFNraXAgXQorCittZWRpYS9tZWRpYS12b2x1bWUtc2xp
ZGVyLXJlbmRlcmVkLWJlbG93Lmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLXZvbHVtZS1zbGlk
ZXItcmVuZGVyZWQtbm9ybWFsLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2FpcnBsYXktc3VwcG9ydC9haXJwbGF5LXN1cHBvcnQuaHRtbCBbIFNraXAgXQorbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2F1ZGlvL2F1ZGlvLWNvbnRyb2xzLXN0eWxlcy5odG1s
IFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMtdmlzaWJpbGl0
eS1zdXBwb3J0L2NvbnRyb2xzLXZpc2liaWxpdHktc3VwcG9ydC1mdWxsc2NyZWVuLW9uLXZpZGVv
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9pb3MtaW5saW5lLW1l
ZGlhLWNvbnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMtY29uc3RydWN0b3IuaHRtbCBb
IFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvaW9z
L21lZGlhLWNvbnRyb2xsZXItaW9zLWRvLW5vdC1oaWRlLWNvbnRyb2xzLXdoZW4tdGFwcGluZy1i
dXR0b24uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNv
bnRyb2xsZXIvaW9zL21lZGlhLWNvbnRyb2xsZXItaW9zLWxheW91dC10cmFpdHMtbW9kZXJuLWNv
bXBhdGliaWxpdHktbW9kZS5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWVkaWEtY29udHJvbGxlci9pb3MvbWVkaWEtY29udHJvbGxlci1pb3Mtb25seS1lbmFibGUt
dGFwLWdlc3R1cmUtcmVjb2duaXplci13aXRoLWZhZGVzLXdoZW4taWRsZS5odG1sIFsgU2tpcCBd
CittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9pb3MvbWVkaWEt
Y29udHJvbGxlci1zY2FsZS1mYWN0b3ItYXVkaW8uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvaW9zL21lZGlhLWNvbnRyb2xsZXItc2Nh
bGUtZmFjdG9yLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRp
YS1jb250cm9sbGVyL2lvcy9tZWRpYS1jb250cm9sbGVyLXN0b3AtdXBkYXRlcy1pbi1mdWxsc2Ny
ZWVuLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250
cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLW92ZXItY29udHJv
bHMtYmFyLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1j
b250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItZmFkZS1jb250cm9scy13aGVuLWVudGVyaW5nLWZ1
bGxzY3JlZW4uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
LWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1mdWxsc2NyZWVuLWNoYW5nZS5odG1sIFsgU2tp
cCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1j
b250cm9sbGVyLWlubGluZS10by1mdWxsc2NyZWVuLXRvLWlubGluZS5odG1sIFsgU2tpcCBdCitt
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9s
bGVyLWlubGluZS10by1mdWxsc2NyZWVuLXRvLXBpcC10by1pbmxpbmUuaHRtbCBbIFNraXAgXQor
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJv
bGxlci12aWRlby13aXRoLW9ubHktYXVkaW8uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhLWRvY3VtZW50cy9iYWNrZ3JvdW5kLWNvbG9yLWFuZC1jZW50ZXJp
bmcuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWRvY3Vt
ZW50cy9tZWRpYS1kb2N1bWVudC1hdWRpby1pb3Mtc2l6aW5nLmh0bWwgWyBTa2lwIF0KK21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1kb2N1bWVudHMvbWVkaWEtZG9jdW1lbnQtdmlk
ZW8taXBob25lLXNpemluZy5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvcGlwLXN1cHBvcnQvcGlwLXN1cHBvcnQtY2xpY2suaHRtbCBbIFNraXAgXQorbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL3BpcC1zdXBwb3J0L3BpcC1zdXBwb3J0LWVuYWJsZWQuaHRtbCBb
IFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3BsYWNhcmQtc3VwcG9ydC9pcGFk
L3BsYWNhcmQtc3VwcG9ydC1waXAuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL3BsYWNhcmQtc3VwcG9ydC9wbGFjYXJkLXN1cHBvcnQtYWlycGxheS1mdWxsc2NyZWVu
LW5vLWNvbnRyb2xzLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9w
bGFjYXJkLXN1cHBvcnQvcGxhY2FyZC1zdXBwb3J0LWFpcnBsYXktZnVsbHNjcmVlbi5odG1sIFsg
U2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGxhY2FyZC1zdXBwb3J0L3BsYWNh
cmQtc3VwcG9ydC1haXJwbGF5Lmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9wbGFjYXJkLXN1cHBvcnQvcGxhY2FyZC1zdXBwb3J0LXBpcC5odG1sIFsgU2tpcCBdCitt
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvc2NydWJiZXItc3VwcG9ydC9pcGFkL3NjcnViYmVy
LXN1cHBvcnQtZHJhZy5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
c3RhcnQtc3VwcG9ydC9zdGFydC1zdXBwb3J0LWZ1bGxzY3JlZW4uaHRtbCBbIFNraXAgXQorbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1zdXBwb3J0L3RyYWNrcy1zdXBwb3J0LW9m
Zi10ZXh0LXRyYWNrLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvbXV0ZWQtdmlkZW8taXMtcGxheWlu
Zy1hdWRpby5odG1sIFsgU2tpcCBdCittZWRpYS9uYXZpZ2F0ZS13aXRoLXBpcC1zaG91bGQtbm90
LWNyYXNoLmh0bWwgWyBTa2lwIF0KK21lZGlhL3BpY3R1cmUtaW4tcGljdHVyZS9waWN0dXJlLWlu
LXBpY3R1cmUtYXBpLWNzcy1zZWxlY3Rvci5odG1sIFsgU2tpcCBdCittZWRpYS9waWN0dXJlLWlu
LXBpY3R1cmUvcGljdHVyZS1pbi1waWN0dXJlLWFwaS1lbnRlci1waXAtNC5odG1sIFsgU2tpcCBd
CittZWRpYS9waWN0dXJlLWluLXBpY3R1cmUvcGljdHVyZS1pbi1waWN0dXJlLWFwaS1ldmVudHMu
aHRtbCBbIFNraXAgXQorbWVkaWEvcGljdHVyZS1pbi1waWN0dXJlL3BpY3R1cmUtaW4tcGljdHVy
ZS1hcGktZXhpdC1waXAtMS5odG1sIFsgU2tpcCBdCittZWRpYS9waWN0dXJlLWluLXBpY3R1cmUv
cGljdHVyZS1pbi1waWN0dXJlLWFwaS1waXAtd2luZG93Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3Bp
Y3R1cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBpY3R1cmUtaW50ZXJydXB0aW9uLmh0bWwgWyBT
a2lwIF0KK21lZGlhL3BpcC12aWRlby1nb2luZy1pbnRvLWZ1bGxzY3JlZW4uaHRtbCBbIFNraXAg
XQorbWVkaWEvcHJlc2VudGF0aW9ubW9kZWNoYW5nZWQtZmlyZWQtb25jZS5odG1sIFsgU2tpcCBd
CittZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJhdGVkLWNvcnJlY3RseS5odG1sIFsgU2tpcCBd
CittZWRpYS9yZW1vdGVwbGF5YmFjay1wcm9tcHQuaHRtbCBbIFNraXAgXQorCittZWRpYS9zZXNz
aW9uIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL2F1ZGlvL2F1ZGlvLXRyYWNrLW1rdi12b3JiaXMt
YWRkdHJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svYXVkaW8vYXVkaW8tdHJhY2stbWt2
LXZvcmJpcy1lbmFibGVkLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL2F1ZGlvL2F1ZGlvLXRy
YWNrLW1rdi12b3JiaXMtbGFuZ3VhZ2UuaHRtbCBbIFNraXAgXQorCittZWRpYS90cmFjay9pbi1i
YW5kIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL29wZXJhL2lkbC9tZWRpYS1pZGwtdGVzdHMuaHRt
bCBbIFNraXAgXQorCittZWRpYS90cmFjay9yZWdpb25zLXdlYnZ0dC92dHQtcmVnaW9uLWRpc3Bs
YXkuaHRtbCBbIFNraXAgXQorCittZWRpYS90cmFjay90ZXh0dHJhY2tjdWUvdGV4dHRyYWNrY3Vl
LWRpc3BsYXljdWUuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdHJhY2stY3VlLWNzcy5odG1s
IFsgU2tpcCBdCittZWRpYS90cmFjay90cmFjay1jdWUtbWlzc2luZy5odG1sIFsgU2tpcCBdCitt
ZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLXZlcnRpY2FsLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmcuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2sv
dHJhY2stY3Vlcy1wYXVzZS1vbi1leGl0Lmh0bWwgIFsgU2tpcCBdCittZWRpYS90cmFjay90cmFj
ay1mb3JjZWQtc3VidGl0bGVzLWluLWJhbmQuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdHJh
Y2staW4tYmFuZC1tb2RlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQt
c3VidGl0bGVzLXRvby1sYXJnZS5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay90cmFjay1sb25n
LXdvcmQtY29udGFpbmVyLXNpemluZy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay90cmFjay1w
cmVmZXItY2FwdGlvbnMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdHJhY2stdXNlci1wcmVm
ZXJlbmNlcy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay92aWRlby92aWRlby10cmFjay1ta3Yt
dGhlb3JhLWFkZHRyYWNrLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3ZpZGVvL3ZpZGVvLXRy
YWNrLW1rdi10aGVvcmEtbGFuZ3VhZ2UuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdmlkZW8v
dmlkZW8tdHJhY2stbWt2LXRoZW9yYS1zZWxlY3RlZC5odG1sIFsgU2tpcCBdCittZWRpYS90cmFj
ay93M2MvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvYWxpZ24uaHRtbCBbIFNraXAgXQorbWVkaWEv
dHJhY2svdzNjL3RyYWNrL3dlYnZ0dC9hdWRpb19oYXNfbm9fc3VidGl0bGVzLmh0bWwgWyBTa2lw
IF0KK21lZGlhL3RyYWNrL3czYy90cmFjay93ZWJ2dHQvYXVkaW9faGFzX25vX3N1YnRpdGxlcy5o
dG1sIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvSFRNTEVsZW1lbnQv
SFRNTE1lZGlhRWxlbWVudC9jcm9zc09yaWdpbi5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9v
cGVyYS9pbnRlcmZhY2VzL0hUTUxFbGVtZW50L0hUTUxUcmFja0VsZW1lbnQva2luZC5odG1sIFsg
U2tpcCBdCittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL0hUTUxFbGVtZW50L0hUTUxUcmFj
a0VsZW1lbnQvc3JjLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMv
VGV4dFRyYWNrQ3VlL2dldEN1ZUFzSFRNTC5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVy
YS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9saW5lLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNr
L29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL3NuYXBUb0xpbmVzLmh0bWwgWyBTa2lwIF0K
K21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL3RleHQuaHRtbCBbIFNr
aXAgXQorbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvdmVydGljYWwu
aHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmctY3Vl
LWRhdGEvdGVzdHMvZW50aXRpZXMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvdHJh
Y2svd2VidnR0L3BhcnNpbmctY3VlLWRhdGEvdGVzdHMvdGFncy5odG1sIFsgU2tpcCBdCittZWRp
YS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2luZy1jdWUtZGF0YS90ZXN0cy90aW1lc3Rh
bXBzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9wYXJzaW5n
LWN1ZS1kYXRhL3Rlc3RzL3RyZWUtYnVpbGRpbmcuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2sv
b3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmcvMDAxLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNr
L29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcvYWRob2MvMTIzNDVfdGltZXN0YW1wcy5odG1s
IFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9j
L2N1ZV9mb250X3NpemVfdHJhbnNpdGlvbi5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVy
YS90cmFjay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL3ZvaWNlX3dpdGhfZXZpbF90aW1lc3RhbXAu
aHRtbCBbIFNraXAgXQorCittZWRpYS92aWRlby1iYWNrZ3JvdW5kLXBsYXliYWNrLmh0bWwgWyBT
a2lwIF0KK21lZGlhL3ZpZGVvLWNhbnZhcy1jcmVhdGVQYXR0ZXJuLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3ZpZGVvLWNhbnZhcy1kcmF3aW5nLW91dHB1dC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRl
by1jYW52YXMuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29sb3JzcGFjZS15dXY0MjAuaHRt
bCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29sb3JzcGFjZS15dXY0MjIuaHRtbCBbIFNraXAgXQor
bWVkaWEvdmlkZW8tY29uY3VycmVudC1wbGF5YmFjay5odG1sIFsgU2tpcCBdCittZWRpYS92aWRl
by1jb25jdXJyZW50LXZpc2libGUtcGxheWJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8t
Y29udHJvbGxlci1jaGlsZC1yYXRlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xz
LWNhcHRpb25zLXRyYWNrbWVudS1oaWRlLW9uLWNsaWNrLW91dHNpZGUuaHRtbCBbIFNraXAgXQor
bWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWhpZGUtb24tY2xpY2suaHRt
bCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWluY2x1
ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtY2Fw
dGlvbnMtdHJhY2ttZW51Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRp
b25zLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLWZ1bGxzY3JlZW4tdm9sdW1l
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLW5vLXNjcmlwdGluZy5odG1sIFsg
U2tpcCBdCittZWRpYS92aWRlby1jb250cm9scy1zaG93LW9uLWtiLW9yLWF4LWV2ZW50Lmh0bWwg
WyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLXRvZ2dsaW5nLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3ZpZGVvLWRvZXMtbm90LWxvb3AuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tZXJyb3It
ZG9lcy1ub3QtZXhpc3QuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5
LXBsYXliYWNrLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWluYWN0aXZlLXBsYXliYWNrLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWlzcGxheWluZ3RvYXV0b21vdGl2ZWhlYWR1bml0Lmh0
bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy10aGVuLWRlbnkuaHRt
bCBbIFNraXAgXQorbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWFsbG93LXRoZW4tc2Nyb2xsLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy5odG1sIFsgU2tpcCBd
CittZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYXV0b3BsYXkuaHRtbCBbIFNraXAgXQorbWVkaWEv
dmlkZW8tbXVsdGlwbGUtY29uY3VycmVudC1wbGF5YmFjay5odG1sIFsgU2tpcCBdCittZWRpYS92
aWRlby1vYmplY3QtZml0LWNoYW5nZS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1vcmllbnRh
dGlvbi5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1vcmllbnRhdGlvbi1jYW52YXMuaHRtbCBb
IFNraXAgXQorbWVkaWEvdmlkZW8tcGxheS1hdWRpby1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1s
IFsgU2tpcCBdCittZWRpYS92aWRlby1wbGF5YmFjay1yZXN0cmljdGlvbi1wbGF5LWJlZm9yZS1s
b2FkLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXBsYXlpbmctYW5kLXBhdXNlLmh0bWwgWyBT
a2lwIF0KK21lZGlhL3ZpZGVvLXBsYXlzaW5saW5lLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVv
LXJlc3RyaWN0ZWQtaW52aXNpYmxlLWF1dG9wbGF5LWFsbG93ZWQtaWYtYXVkaWJsZS5odG1sIFsg
U2tpcCBdCittZWRpYS92aWRlby1zaXplLWludHJpbnNpYy1zY2FsZS5odG1sIFsgU2tpcCBdCitt
ZWRpYS92aWRlby1zcmMtYmxvYi5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby10cmFuc2Zvcm1l
ZC1ieS1qYXZhc2NyaXB0Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXVubXV0ZWQtYWZ0ZXIt
cGxheS1ob2xkcy1zbGVlcC1hc3NlcnRpb24uaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8td2Vi
a2l0LXBsYXlzaW5saW5lLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvVzNDL2F1ZGlvL2NhblBsYXlU
eXBlL2NhblBsYXlUeXBlX3N1cHBvcnRlZF9idXRfbm9fY29kZWNzX3BhcmFtZXRlcl8xLmh0bWwg
WyBTa2lwIF0KK21lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfb3JkZXJfbG9hZHN0YXJ0X3By
b2dyZXNzLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBs
YXlUeXBlX2NvZGVjc19vcmRlcl8yLmh0bWwgWyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9jYW5Q
bGF5VHlwZS9jYW5QbGF5VHlwZV9jb2RlY3Nfb3JkZXJfMy5odG1sIFsgU2tpcCBdCittZWRpYS9X
M0MvdmlkZW8vY2FuUGxheVR5cGUvY2FuUGxheVR5cGVfc3VwcG9ydGVkX2J1dF9ub19jb2RlY3Nf
cGFyYW1ldGVyXzIuaHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2Nh
blBsYXlUeXBlX3R3b19pbXBsaWVzX29uZV8zLmh0bWwgWyBTa2lwIF0KK21lZGlhL1czQy92aWRl
by9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV90d29faW1wbGllc19vbmVfNC5odG1sIFsgU2tpcCBd
CittZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5cGUvY2FuUGxheVR5cGVfdHdvX2ltcGxpZXNfb25l
XzUuaHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBl
X3R3b19pbXBsaWVzX29uZV82Lmh0bWwgWyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9ldmVudHMv
ZXZlbnRfcHJvZ3Jlc3NfbWFudWFsLmh0bWwgWyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9uZXR3
b3JrU3RhdGUvbmV0d29ya1N0YXRlX2R1cmluZ19wcm9ncmVzcy5odG1sIFsgU2tpcCBdCittZWRp
YS9XM0MvdmlkZW8vbmV0d29ya1N0YXRlL25ldHdvcmtTdGF0ZV9kdXJpbmdfbG9hZHN0YXJ0Lmh0
bWwgWyBTa2lwIF0KKworcGxhdGZvcm0vbWFjL21lZGlhIFsgUGFzcyBdCitwbGF0Zm9ybS9tYWMv
bWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1hdWRpby1hdXRvcGxheS5odG1sIFsgU2tpcCBd
CitwbGF0Zm9ybS9tYWMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS12aWRlby1wYXVzZWQu
aHRtbCBbIFNraXAgXQorcGxhdGZvcm0vbWFjL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnkt
dmlkZW8tdHJhY2stY2hhbmdlLmh0bWwgWyBTa2lwIF0KK3BsYXRmb3JtL21hYy9tZWRpYS9hdWRp
by1zZXNzaW9uLWRlYWN0aXZhdGVkLXdoZW4tc3VzcGVuZGVkLmh0bWwgWyBTa2lwIF0KK3BsYXRm
b3JtL21hYy9tZWRpYS92aWRlby1iZXN0LWVsZW1lbnQtZm9yLXBsYXliYWNrLWNvbnRyb2xzLXB1
cnBvc2UuaHRtbCBbIFNraXAgXQorCiBodHRwL3Rlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0
dC1zbG93LWxvYWRpbmcuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9tZWRpYS90cmFjay90cmFj
ay13ZWJ2dHQtc2xvdy1sb2FkaW5nLTIuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9tZWRpYS9o
bHMvaGxzLXdlYnZ0dC10cmFja3MuaHRtbCBbIFBhc3MgXQogaHR0cC90ZXN0cy9tZWRpYS90cmFj
ay1pbi1iYW5kLWhscy1tZXRhZGF0YS5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL21lZGlhL3Ry
YWNrLWluLWJhbmQtaGxzLW1ldGFkYXRhLWNyYXNoLmh0bWwgWyBQYXNzIF0KIAotbWVkaWEvdHJh
Y2svdHJhY2staW4tYmFuZC1jdWVzLWFkZGVkLW9uY2UuaHRtbCBbIFBhc3MgXQotbWVkaWEvdHJh
Y2svdHJhY2staW4tYmFuZC1zdHlsZS5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay90cmFjay1p
bi1iYW5kLWR1cGxpY2F0ZS10cmFja3Mtd2hlbi1zb3VyY2UtY2hhbmdlcy5odG1sIFsgUGFzcyBd
Ci1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLWxlZ2FjeS1hcGkuaHRtbCBbIFBhc3MgXQotbWVk
aWEvdHJhY2svdHJhY2staW4tYmFuZC5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay90cmFjay1p
bi1iYW5kLW1ldGFkYXRhLWRpc3BsYXktb3JkZXIuaHRtbCBbIFBhc3MgXQotCiBhY2Nlc3NpYmls
aXR5L21lZGlhLWVsZW1lbnQuaHRtbCBbIFNraXAgXQogZmFzdC9ibG9jay9mbG9hdC9saXN0LW1h
cmtlci1pcy1mbG9hdC1jcmFzaC5odG1sIFsgU2tpcCBdCiBmYXN0L2Nzcy9yZWxhdGl2ZS1wb3Np
dGlvbi1yZXBsYWNlZC1pbi10YWJsZS1kaXNwbGF5LWNyYXNoLmh0bWwgWyBTa2lwIF0KQEAgLTI2
Miw3ICs0MDQsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVy
ZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1lcnJvci5odG1sIFsgUwogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL3N1cHBvcnQvTWVkaWFSZWNvcmRlci1p
ZnJhbWUuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1zb3VyY2UgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGljdHVy
ZS1pbi1waWN0dXJlL21lZGlhc3RyZWFtLmh0bWwgWyBTa2lwIF0KLXBsYXRmb3JtL21hYy9tZWRp
YSBbIFNraXAgXQogCiB3ZWJnbCBbIFNraXAgXQogaHR0cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1y
ZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392089</attachid>
            <date>2020-02-29 19:53:46 -0800</date>
            <delta_ts>2020-02-29 22:12:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208423-20200229195344.patch</filename>
            <type>text/plain</type>
            <size>63283</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Njg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYzNWRlYzYzMTE4YTll
ZDVhZmIyMGMwZTNjYzhjYmViNTJjMWZlNS4uMGE0YTlmYzY4NTJlZjg3OTQ3NzQ4N2RiMWJjNmU1
OTdiZjUyMGY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAyLTI5ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBQbHVt
YiB0aHJvdWdoIG1vcmUgTWVkaWFQbGF5ZXIgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81OTkyNDM4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIHVuc2tpcHBlZCB+MTIwMCBleGlzdGluZyBtZWRpYSB0ZXN0cy4K
KworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxheSk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGll
bnQ6Om1lZGlhUGxheWVyQ29udGVudHNTY2FsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQYXVzZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQbGF5KTogRGVsZXRlZC4KKwog
MjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBlIHNob3VsZCBiZSBk
b25lIGluIHRoZSBVSSBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZiNDBlZjg0OWQxY2MwZGFiYzYxYWUx
ODU1ZjJiNzRiNTNjODNmZDYuLmQzMDhiZWVmMDE1YTg3YzVmZTJjZDI2MDk3NGUxYThhMTI5ZjNj
MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjAtMDItMjkgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFBsdW1iIHRocm91Z2gg
bW9yZSBNZWRpYVBsYXllciBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5OTI0Mzg2
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojp1cGRhdGVWaWRlb0Z1bGxz
Y3JlZW5JbmxpbmVJbWFnZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1
bGxzY3JlZW5HcmF2aXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0Vm9sdW1lKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6
OnNldEJ1ZmZlcmluZ1BvbGljeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5Ojp2aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hhbmdlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojph
Y2Nlc3NMb2cpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eTo6ZXJyb3JMb2cpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUGF1c2UpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
clBsYXkpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oOgorCiAyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJ
IHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3Bw
CmluZGV4IDUzNjY3NGFlZjMzZGFjOGU4ZWZlOTAzMDJiY2Y5Mzk2ZDJkZDUzMzkuLmJmYmI3YWE2
NTU1OTRhMDFhYTY3YzNjNDU0NmFmNWFjNTJlOTkwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcApA
QCAtMjQ4LDExICsyNDgsMTEgQEAgYXV0byBNZWRpYUNvbnRyb2xzSG9zdDo6ZXh0ZXJuYWxEZXZp
Y2VUeXBlKCkgY29uc3QgLT4gRGV2aWNlVHlwZQogICAgIH0KICAgICAKICAgICBzd2l0Y2ggKHBs
YXllci0+d2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSkgewotICAgIGNhc2UgTWVkaWFQbGF5
ZXI6OlRhcmdldFR5cGVOb25lOgorICAgIGNhc2UgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZToKICAgICAgICAgcmV0dXJuIERldmljZVR5cGU6
Ok5vbmU7Ci0gICAgY2FzZSBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZUFpclBsYXk6CisgICAgY2Fz
ZSBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVBaXJQ
bGF5OgogICAgICAgICByZXR1cm4gRGV2aWNlVHlwZTo6QWlycGxheTsKLSAgICBjYXNlIE1lZGlh
UGxheWVyOjpUYXJnZXRUeXBlVFZPdXQ6CisgICAgY2FzZSBNZWRpYVBsYXllcjo6V2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVUVk91dDoKICAgICAgICAgcmV0dXJuIERldmlj
ZVR5cGU6OlR2b3V0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKaW5kZXggZmRjNzI4YWI2ODY3MzI0ZmExNzBlN2VhMDAwYzEzNzdhNzgxYzk1My4uODMz
MmJjNTc2MDQyYjQ2YTczMDU5MWJlNWQ0YzAxYTMyNmRmYTVkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MDkyLDE2ICs3MDkyLDYgQEAgZmxvYXQgSFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29uc3QKICAgICByZXR1
cm4gMTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKCkKLXsK
LSAgICBwYXVzZSgpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxh
eSgpCi17Ci0gICAgcGxheSgpOwotfQotCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxh
eWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWlyZWQoKSBjb25zdAogewogICAgIHJl
dHVybiAhbV92b2x1bWVJbml0aWFsaXplZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKaW5kZXggZWYwMGMzNTAzOTU1MmFiNDgyNWIzNjhiOTMxZmY0ZjFmMWY0YzVmMy4uZDUx
MTRjYTIyZjAzYWMyMWZmNzUyYTFmZDU2NjEwNjMzODQwODBkMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTcyMiw4ICs3MjIsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0UmVjdCBt
ZWRpYVBsYXllckNvbnRlbnRCb3hSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgZmxvYXQgbWVk
aWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBtZWRpYVBs
YXllclBhdXNlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBtZWRpYVBsYXllclBsYXkoKSBvdmVycmlk
ZTsKICAgICBib29sIG1lZGlhUGxheWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWly
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIG1lZGlhUGxheWVySXNMb29waW5nKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVk
UmVzb3VyY2VMb2FkZXIoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA4NmI0NzNkMzhhMGNiNWE4MGUwMjYwZmNj
ZGEwYzhlODdjNGFlMzZjLi42MTlkNmUxMDE2ZWMwNGU0NzE0MWY5MmI4OGE5ZmFlOWYzOGNjMzE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
Y3BwCkBAIC0xMDg3LDExICsxMDg3LDYgQEAgYm9vbCBNZWRpYVBsYXllcjo6c3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c3VwcG9ydHNB
Y2NlbGVyYXRlZFJlbmRlcmluZygpOwogfQogCi1ib29sIE1lZGlhUGxheWVyOjpzaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5zaG91bGRN
YWludGFpbkFzcGVjdFJhdGlvKCk7Ci19Ci0KIHZvaWQgTWVkaWFQbGF5ZXI6OnNldFNob3VsZE1h
aW50YWluQXNwZWN0UmF0aW8oYm9vbCBtYWludGFpbkFzcGVjdFJhdGlvKQogewogICAgIG1fcHJp
dmF0ZS0+c2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhtYWludGFpbkFzcGVjdFJhdGlvKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4
IGE3NWFhY2ExZWJlMzhmZDcxZDA4ODg2NWM4MWQwMzU0ZmNhZTNhNjkuLmRmMTU3MzRjN2JkMDlh
NmY0ZTMxNmRjZmEyMGM0N2VhYTg5YmNiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjIyLDggKzIyMiw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIExheW91dFJlY3QgbWVkaWFQbGF5ZXJDb250ZW50Qm94UmVjdCgpIGNv
bnN0IHsgcmV0dXJuIExheW91dFJlY3QoKTsgfQogICAgIHZpcnR1YWwgZmxvYXQgbWVkaWFQbGF5
ZXJDb250ZW50c1NjYWxlKCkgY29uc3QgeyByZXR1cm4gMTsgfQotICAgIHZpcnR1YWwgdm9pZCBt
ZWRpYVBsYXllclBhdXNlKCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyUGxheSgp
IHsgfQogICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllclBsYXRmb3JtVm9sdW1lQ29uZmlndXJh
dGlvblJlcXVpcmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
bWVkaWFQbGF5ZXJJc0xvb3BpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVkUmVzb3VyY2VMb2FkZXIo
KSB7IHJldHVybiBudWxscHRyOyB9CkBAIC00NjEsOCArNDU5LDggQEAgcHVibGljOgogICAgIGJv
b2wgaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0OwogICAgIHZvaWQgcHJlcGFyZUZvclJl
bmRlcmluZygpOwogCisgICAgdXNpbmcgTWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFj
a1RhcmdldFR5cGU7CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICBl
bnVtIFdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHsgVGFyZ2V0VHlwZU5vbmUsIFRhcmdldFR5
cGVBaXJQbGF5LCBUYXJnZXRUeXBlVFZPdXQgfTsKICAgICBXaXJlbGVzc1BsYXliYWNrVGFyZ2V0
VHlwZSB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpIGNvbnN0OwogCiAgICAgU3RyaW5nIHdp
cmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3Q7CkBAIC00ODgsNyArNDg2LDYgQEAgcHVi
bGljOgogICAgIC8vIGNhbGxlZCB3aGVuIHRoZSByZW5kZXJpbmcgc3lzdGVtIGZsaXBzIHRoZSBp
bnRvIG9yIG91dCBvZiBhY2NlbGVyYXRlZCByZW5kZXJpbmcgbW9kZS4KICAgICB2b2lkIGFjY2Vs
ZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCk7CiAKLSAgICBib29sIHNob3VsZE1haW50YWlu
QXNwZWN0UmF0aW8oKSBjb25zdDsKICAgICB2b2lkIHNldFNob3VsZE1haW50YWluQXNwZWN0UmF0
aW8oYm9vbCk7CiAKICNpZiBQTEFURk9STShXSU4pICYmIFVTRShBVkZPVU5EQVRJT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1z
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgK
aW5kZXggYTlmMDQ5ZjdiZjEzNTNlZDc0YmJjOTYyNGQyNDJkZGY3NzQ3MTk3OS4uYTAwMTU5NzFh
ODIyYjQ2ZjdhY2MxYjg4MDMwMzhhMjcxYTQ2NzFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJFbnVtcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyRW51bXMuaApAQCAtOTksNiArOTksMTMg
QEAgcHVibGljOgogICAgICAgICBNZWRpYUZvdW5kYXRpb24sCiAgICAgICAgIE1vY2tNU0UsCiAg
ICAgfTsKKworICAgIGVudW0gY2xhc3MgV2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgOiB1aW50
OF90IHsKKyAgICAgICAgVGFyZ2V0VHlwZU5vbmUsCisgICAgICAgIFRhcmdldFR5cGVBaXJQbGF5
LAorICAgICAgICBUYXJnZXRUeXBlVFZPdXQKKyAgICB9OworCiB9OwogCiBTdHJpbmcgY29udmVy
dEVudW1lcmF0aW9uVG9TdHJpbmcoTWVkaWFQbGF5ZXJFbnVtczo6UmVhZHlTdGF0ZSk7CkBAIC0y
MjQsNCArMjMxLDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyPiB7CiAgICAgPjsKIH07CiAKK3Rl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGU+IHsKK3VzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Cisg
ICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUs
CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5
cGU6OlRhcmdldFR5cGVOb25lLAorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVs
ZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlQWlyUGxheSwKKyAgICBXZWJDb3JlOjpN
ZWRpYVBsYXllckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZVRW
T3V0CisgICAgPjsKK307CisKIH07IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggMWJk
NDA5NWEwOTYzOGNjOTE3NmEwNGQzNGZiYzExMmZjMjVmMzJkYy4uMTcwNzU5M2QyMjkzNDYyYTkx
NTY3M2JiOTJkMGUxZDYzZWZmOTgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKIAogICAgIHZpcnR1
YWwgU3RyaW5nIHdpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3QgeyByZXR1cm4gZW1w
dHlTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tU
YXJnZXRUeXBlIHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QgeyByZXR1cm4gTWVk
aWFQbGF5ZXI6OlRhcmdldFR5cGVOb25lOyB9CisgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6V2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25z
dCB7IHJldHVybiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdl
dFR5cGVOb25lOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFdpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wpIHsgfQpAQCAtMTg1LDcgKzE4NSw2IEBAIHB1
YmxpYzoKICAgICAvLyBjYWxsZWQgd2hlbiB0aGUgcmVuZGVyaW5nIHN5c3RlbSBmbGlwcyB0aGUg
aW50byBvciBvdXQgb2YgYWNjZWxlcmF0ZWQgcmVuZGVyaW5nIG1vZGUuCiAgICAgdmlydHVhbCB2
b2lkIGFjY2VsZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgeyB9CiAKLSAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhib29sKSB7IH0K
IAogICAgIHZpcnR1YWwgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uLmgKaW5kZXggMWEyMGMwNWJlNGNjMDEzN2EwNjJmM2ZjZTM4NGI1YTU1ZWI2
ODk0My4uMmU1NDY3MDFjNzhkYjQ0OTllYWE4YmFmM2JmM2JiNjk0N2YxNTM5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAt
MTk0LDcgKzE5NCw3IEBAIHByb3RlY3RlZDoKICAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxh
eWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAgIGJvb2wgc3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZygpIGNvbnN0IG92ZXJyaWRlID0gMDsKICAgICB2b2lkIGFjY2VsZXJh
dGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBzaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zaG91bGRNYWludGFp
bkFzcGVjdFJhdGlvOyB9CisgICAgYm9vbCBzaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRNYWludGFpbkFzcGVjdFJhdGlvOyB9CiAgICAgdm9pZCBzZXRT
aG91bGRNYWludGFpbkFzcGVjdFJhdGlvKGJvb2wpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuU2F2
ZU1lZGlhRGF0YSgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRl
eCBkN2NmYmY5ZDc0MjE2MTJjOTkxYWQ3YjMwMzU1YmE5ZTFkYmMyZDc2Li44ZDE5NTJhOTQ0Y2Rj
N2VkN2Q0Nzc5M2M3M2E4Mzk3MzdlMDJiNWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAg
LTI2MTksNyArMjYxOSw3IEBAIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdAogI2lmIEVOQUJMRShXSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpCiAvLyBBVlBsYXllckl0ZW0udHJhY2tzIGlzIGVtcHR5IGR1
cmluZyBBaXJQbGF5IHNvIGlmIEFpclBsYXkgaXMgYWN0aXZhdGVkIGltbWVkaWF0ZWx5CiAvLyBh
ZnRlciB0aGUgaXRlbSBpcyBjcmVhdGVkLCB3ZSBkb24ndCBrbm93IGlmIGl0IGhhcyBhdWRpbyBv
ciB2aWRlbyBhbmQgc3RhdGUgcmVwb3J0ZWQKLS8vIHRvIHRoZSBXZWJNZWRpYVNlc3Npb25NYW5h
Z2VyIGlzIGluY29ycmVjdC4gQWlyUGxheSBjYW4ndCBhY3R1YWxseSBiZSBhY3RpdmUgaXMgYW4g
aXRlbQorLy8gdG8gdGhlIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXIgaXMgaW5jb3JyZWN0LiBBaXJQ
bGF5IGNhbid0IGFjdHVhbGx5IGJlIGFjdGl2ZSBpZiBhbiBpdGVtCiAvLyBkb2Vzbid0IGhhdmUg
YXVkaW8gb3IgdmlkZW8sIHNvIGxpZSBkdXJpbmcgQWlyUGxheS4KIAogYm9vbCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpoYXNWaWRlbygpIGNvbnN0CkBAIC0yNjYxLDI2ICsy
NjYxLDI2IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aXNDdXJy
ZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcygpIGNvbnN0CiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6d2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25zdAogewogICAgIGlmICghbV9hdlBsYXllcikK
LSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICAgICAgcmV0
dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5v
bmU7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmICghUEFMOjppc0FWRm91bmRh
dGlvbkZyYW1ld29ya0F2YWlsYWJsZSgpKQotICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OlRh
cmdldFR5cGVOb25lOworICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsKIAogICAgIHN3aXRjaCAoW21fYXZQbGF5ZXIg
ZXh0ZXJuYWxQbGF5YmFja1R5cGVdKSB7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJh
Y2tUeXBlTm9uZToKLSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsK
KyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6
VGFyZ2V0VHlwZU5vbmU7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlQWly
UGxheToKLSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlQWlyUGxheTsKKyAg
ICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFy
Z2V0VHlwZUFpclBsYXk7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlVFZP
dXQ6Ci0gICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZVRWT3V0OworICAgICAg
ICByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRU
eXBlVFZPdXQ7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICByZXR1cm4gTWVkaWFQbGF5ZXI6Oldp
cmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsKIAogI2Vsc2UKLSAgICBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OlRhcmdldFR5cGVBaXJQbGF5OworICAgIHJldHVybiBNZWRpYVBs
YXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVBaXJQbGF5OwogI2Vu
ZGlmCiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAppbmRleCA5MTQ4OTBm
ZjY0YmEzMjM1OGY2ZDBiYmJjNjVkZTU0YzUwYWZjYTY2Li44MjY0ZjNjNzYwMmJiNTZmNGRlN2M4
MWFlZmEzYmIxNmRmODIyNmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKQEAg
LTE5MiwyNCArMTkyLDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c3Vw
cG9ydHNLZXlTeXN0ZW0oTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmcKICAgICBjb21wbGV0aW9u
SGFuZGxlcihyZXN1bHQpOwogfQogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
U3RyaW5nKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBpZiAoYXV0byBwbGF5ZXIgPSBt
X3Byb3hpZXMuZ2V0KHBsYXllcklkZW50aWZpZXIpKSB7Ci0gICAgICAgIFN0cmluZyBsb2cgPSBw
bGF5ZXItPmFjY2Vzc0xvZygpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihsb2cpOwotICAg
IH0KLX0KLQotdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZXJyb3JMb2coTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgaWYg
KGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkgewotICAgICAg
ICBTdHJpbmcgbG9nID0gcGxheWVyLT5lcnJvckxvZygpOwotICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihsb2cpOwotICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5OjpkaWRSZWNlaXZlUGxheWVyTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoYXV0byogcGxheWVyID0g
bV9wcm94aWVzLmdldChtYWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVJZGVudGlmaWVyVHlwZT4oZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5LmgKaW5kZXggMjlkZGMyMDQ1MDI1N2I0NmQ5MTYwMzEwZDY4MzY1NDhlY2Jm
MThiMS4uYWUzMjhjYjdkMDkzNjI2YWIyYjMyN2NkNWE2MzM0NjBmZDcwNDE0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5LmgKQEAgLTg0LDExICs4NCw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBjbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiYsIFZlY3RvcjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGE+JiYpOwogICAgIHZvaWQgc3VwcG9ydHNLZXlTeXN0ZW0oV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmJiwg
Y29uc3QgU3RyaW5nJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIGFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZh
dGVSZW1vdGVJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOwot
ICAgIHZvaWQgZXJyb3JMb2coTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKLSNlbmRpZgotCiAgICAgSGFzaE1hcDxN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eT4+IG1fcHJveGllczsKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBjODZiZGE1N2MyYjk0OGM1ZDBmNDhlODVj
MWNkNjczYTA3ODdiYmFmLi40Y2JkNDYxNGI2MmI4YzNlN2Q0ZjU2Y2E5NTBjOTQ0NzYxMjk5MzJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0z
NCwxMSArMzQsNiBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBO
b3RSZWZDb3VudGVkIHsKICAgICBDbGVhck1lZGlhQ2FjaGUoZW51bTp1aW50OF90IFdlYkNvcmU6
Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVu
dGlmaWVyLCBTdHJpbmcgcGF0aCwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSkKICAgICBDbGVhck1l
ZGlhQ2FjaGVGb3JPcmlnaW5zKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllciwgU3RyaW5nIHBh
dGgsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMpCiAgICAgU3Vw
cG9ydHNLZXlTeXN0ZW0oZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcga2V5U3lz
dGVtLCBTdHJpbmcgbWltZVR5cGUpIC0+IChib29sIHN1cHBvcnRzKSBTeW5jaHJvbm91cwotCi0j
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBBY2Nlc3NMb2coV2ViS2l0OjpNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIpIC0+IChTdHJpbmcgYWNj
ZXNzTG9nKSBTeW5jaHJvbm91cwotICAgIEVycm9yTG9nKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyKSAtPiAoU3RyaW5nIGVycm9yTG9n
KSBTeW5jaHJvbm91cwotI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4
IDYzMmIxM2RlNmNkYzBiZmNkOTU1YmVhNzU4MDFjMGI4MzI0YTI3MDEuLjlhNDBkZDAzZWVhOTc5
NzRmMDVlYjNjZWJlMzAwODVhOTUyYjY3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTgzLDYg
KzgzLDggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjppbnZhbGlkYXRlKCkKIHZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Z2V0Q29uZmlndXJhdGlvbihSZW1vdGVNZWRpYVBsYXll
ckNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiB7CiAgICAgY29uZmlndXJhdGlvbi5lbmdp
bmVEZXNjcmlwdGlvbiA9IG1fcGxheWVyLT5lbmdpbmVEZXNjcmlwdGlvbigpOworICAgIGF1dG8g
bWF4RHVyYXRpb24gPSBtX3BsYXllci0+bWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSgp
OworICAgIGNvbmZpZ3VyYXRpb24ubWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSA9IG1h
eER1cmF0aW9uID8gbWF4RHVyYXRpb24gOiAwLjI7CiAgICAgY29uZmlndXJhdGlvbi5zdXBwb3J0
c1NjYW5uaW5nID0gbV9wbGF5ZXItPnN1cHBvcnRzU2Nhbm5pbmcoKTsKICAgICBjb25maWd1cmF0
aW9uLnN1cHBvcnRzRnVsbHNjcmVlbiA9IG1fcGxheWVyLT5zdXBwb3J0c0Z1bGxzY3JlZW4oKTsK
ICAgICBjb25maWd1cmF0aW9uLnN1cHBvcnRzUGljdHVyZUluUGljdHVyZSA9IG1fcGxheWVyLT5z
dXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKQEAgLTI2NSw3ICsyNjcsMTcgQEAgdm9pZCBSZW1v
dGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck5ldHdvcmtTdGF0ZUNoYW5nZWQoKQogdm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJlYWR5U3RhdGVDaGFuZ2VkKCkK
IHsKICAgICB1cGRhdGVDYWNoZWRTdGF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuY2FuU2F2ZU1l
ZGlhRGF0YSA9IG1fcGxheWVyLT5jYW5TYXZlTWVkaWFEYXRhKCk7CisgICAgbV9jYWNoZWRTdGF0
ZS5zdGFydERhdGUgPSBtX3BsYXllci0+Z2V0U3RhcnREYXRlKCk7CisgICAgbV9jYWNoZWRTdGF0
ZS5zdGFydFRpbWUgPSBtX3BsYXllci0+c3RhcnRUaW1lKCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5u
YXR1cmFsU2l6ZSA9IG1fcGxheWVyLT5uYXR1cmFsU2l6ZSgpOworICAgIG1fY2FjaGVkU3RhdGUu
bWF4RmFzdEZvcndhcmRSYXRlID0gbV9wbGF5ZXItPm1heEZhc3RGb3J3YXJkUmF0ZSgpOworICAg
IG1fY2FjaGVkU3RhdGUubWluRmFzdFJldmVyc2VSYXRlID0gbV9wbGF5ZXItPm1pbkZhc3RSZXZl
cnNlUmF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSA9IG1f
cGxheWVyLT5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCk7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJl
bGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCA9IG1fcGxheWVyLT53aXJlbGVzc1ZpZGVvUGxheWJh
Y2tEaXNhYmxlZCgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4g
PSBtX3BsYXllci0+aGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKTsKKyAgICBtX2NhY2hlZFN0YXRl
LmRpZFBhc3NDT1JTQWNjZXNzQ2hlY2sgPSBtX3BsYXllci0+ZGlkUGFzc0NPUlNBY2Nlc3NDaGVj
aygpOworCiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpSZWFkeVN0YXRlQ2hhbmdlZChtX2NhY2hlZFN0YXRlKSwgbV9p
ZCk7CiB9CiAKQEAgLTM2OSwxMiArMzgxLDIyIEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJCdWZmZXJlZFRpbWVSYW5nZXNDaGFuZ2VkKCkKIAogdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclNlZWthYmxlVGltZVJhbmdlc0NoYW5nZWQoKQog
ewotICAgIG1fc2Vla2FibGVDaGFuZ2VkID0gdHJ1ZTsKKyAgICBtX2NhY2hlZFN0YXRlLm1pblRp
bWVTZWVrYWJsZSA9IG1fcGxheWVyLT5taW5UaW1lU2Vla2FibGUoKTsKKyAgICBtX2NhY2hlZFN0
YXRlLm1heFRpbWVTZWVrYWJsZSA9IG1fcGxheWVyLT5tYXhUaW1lU2Vla2FibGUoKTsKKyAgICBt
X2NhY2hlZFN0YXRlLnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgPSBtX3BsYXll
ci0+c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpOworICAgIG1fY2FjaGVkU3Rh
dGUubGl2ZVVwZGF0ZUludGVydmFsID0gbV9wbGF5ZXItPmxpdmVVcGRhdGVJbnRlcnZhbCgpOwor
CisgICAgaWYgKCFtX3VwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyLmlzQWN0aXZlKCkpCisg
ICAgICAgIHNlbmRDYWNoZWRTdGF0ZSgpOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6Om1lZGlhUGxheWVyQ2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCkKIHsKLSAgICBtX3dlYlByb2Nl
c3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OkNo
YXJhY3RlcmlzdGljQ2hhbmdlZChtX3BsYXllci0+aGFzQXVkaW8oKSwgbV9wbGF5ZXItPmhhc1Zp
ZGVvKCksIG1fcGxheWVyLT5tb3ZpZUxvYWRUeXBlKCkpLCBtX2lkKTsKKyAgICB1cGRhdGVDYWNo
ZWRTdGF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzQ2xvc2VkQ2FwdGlvbnMgPSBtX3BsYXll
ci0+aGFzQ2xvc2VkQ2FwdGlvbnMoKTsKKyAgICBtX2NhY2hlZFN0YXRlLmxhbmd1YWdlT2ZQcmlt
YXJ5QXVkaW9UcmFjayA9IG1fcGxheWVyLT5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKTsK
KworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6Q2hhcmFjdGVyaXN0aWNDaGFuZ2VkKG1fY2FjaGVkU3RhdGUpLCBtX2lk
KTsKIH0KIAogYm9vbCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJlbmRlcmlu
Z0NhbkJlQWNjZWxlcmF0ZWQoKQpAQCAtNTE1LDEyICs1MzcsMTYgQEAgdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5OjptZWRpYVBsYXllcldhaXRpbmdGb3JLZXlDaGFuZ2VkKCkKICNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjptZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKGJvb2wg
aXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcykKIHsKKyAgICBtX2NhY2hlZFN0YXRlLndp
cmVsZXNzUGxheWJhY2tUYXJnZXROYW1lID0gbV9wbGF5ZXItPndpcmVsZXNzUGxheWJhY2tUYXJn
ZXROYW1lKCk7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSA9
IG1fcGxheWVyLT53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpOworICAgIHNlbmRDYWNoZWRT
dGF0ZSgpOwogICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6Q3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5n
ZWQoaXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcyksIG1faWQpOwogfQogCiB2b2lkIFJl
bW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJv
b2wgZGlzYWJsZWQpCiB7CiAgICAgbV9wbGF5ZXItPnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rp
c2FibGVkKGRpc2FibGVkKTsKKyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzVmlkZW9QbGF5YmFj
a0Rpc2FibGVkID0gbV9wbGF5ZXItPndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCk7CiB9
CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tU
YXJnZXQoYm9vbCBzaG91bGRQbGF5KQpAQCAtNTU1LDE2ICs1ODEsNiBAQCBmbG9hdCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckNvbnRlbnRzU2NhbGUoKSBjb25zdAogICAgIHJl
dHVybiBtX3ZpZGVvQ29udGVudFNjYWxlOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6Om1lZGlhUGxheWVyUGF1c2UoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLXZv
aWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJQbGF5KCkKLXsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOwotfQotCiBib29sIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxh
eWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWlyZWQoKSBjb25zdAogewogICAgIG5v
dEltcGxlbWVudGVkKCk7CkBAIC02NTksMTIgKzY3NSw2IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUoKQogICAgIG1fY2FjaGVkU3RhdGUucGF1c2VkID0g
bV9wbGF5ZXItPnBhdXNlZCgpOwogICAgIG1fY2FjaGVkU3RhdGUubG9hZGluZ1Byb2dyZXNzZWQg
PSBtX3BsYXllci0+ZGlkTG9hZGluZ1Byb2dyZXNzKCk7CiAKLSAgICBpZiAobV9zZWVrYWJsZUNo
YW5nZWQpIHsKLSAgICAgICAgbV9zZWVrYWJsZUNoYW5nZWQgPSBmYWxzZTsKLSAgICAgICAgbV9j
YWNoZWRTdGF0ZS5taW5UaW1lU2Vla2FibGUgPSBtX3BsYXllci0+bWluVGltZVNlZWthYmxlKCk7
Ci0gICAgICAgIG1fY2FjaGVkU3RhdGUubWF4VGltZVNlZWthYmxlID0gbV9wbGF5ZXItPm1heFRp
bWVTZWVrYWJsZSgpOwotICAgIH0KLQogICAgIGlmIChtX2J1ZmZlcmVkQ2hhbmdlZCkgewogICAg
ICAgICBtX2J1ZmZlcmVkQ2hhbmdlZCA9IGZhbHNlOwogICAgICAgICBtX2NhY2hlZFN0YXRlLmJ1
ZmZlcmVkUmFuZ2VzID0gKm1fcGxheWVyLT5idWZmZXJlZCgpOwpAQCAtNzEwLDYgKzcyMCwyMSBA
QCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZl
KCkKICAgICBtX3BsYXllci0+YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKIH0KIAordm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpub3RpZnlUcmFja01vZGVDaGFuZ2VkKCkKK3sKKyAg
ICBtX3BsYXllci0+bm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpOworfQorCit2b2lkIFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OnRyYWNrc0NoYW5nZWQoKQoreworICAgIG1fcGxheWVyLT50cmFja3ND
aGFuZ2VkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3luY1RleHRUcmFj
a0JvdW5kcygpCit7CisgICAgbV9wbGF5ZXItPnN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkuaAppbmRleCAyYzAxZDBlNWYwMWFmMzJmMzIzYmViYzYxZDhjOGYwYmQ4NGE2MDgx
Li5iNTM3ZjVjZDMzN2JkN2IzNzc4MzVhYzkxNjkwZDI3NmJlZjQ0NGQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmgKQEAgLTE0OCw2ICsxNDgsMTAgQEAgcHVibGljOgogICAgIHZvaWQgYXBwbGljYXRpb25XaWxs
UmVzaWduQWN0aXZlKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpOwog
CisgICAgdm9pZCBub3RpZnlUcmFja01vZGVDaGFuZ2VkKCk7CisgICAgdm9pZCB0cmFja3NDaGFu
Z2VkKCk7CisgICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CisKICAgICBSZWY8V2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlPiByZXF1ZXN0UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9w
dGlvbnMpOwogICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50
aWZpZXIpOwogCkBAIC0yMDEsOCArMjA1LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1lZGlhUGxh
eWVySXNGdWxsc2NyZWVuUGVybWl0dGVkKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBs
YXllcklzVmlkZW8oKSBjb25zdCBmaW5hbDsKICAgICBmbG9hdCBtZWRpYVBsYXllckNvbnRlbnRz
U2NhbGUoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIG1lZGlhUGxheWVyUGF1c2UoKSBmaW5hbDsK
LSAgICB2b2lkIG1lZGlhUGxheWVyUGxheSgpIGZpbmFsOwogICAgIGJvb2wgbWVkaWFQbGF5ZXJQ
bGF0Zm9ybVZvbHVtZUNvbmZpZ3VyYXRpb25SZXF1aXJlZCgpIGNvbnN0IGZpbmFsOwogICAgIFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyKiBtZWRpYVBsYXllckNhY2hlZFJlc291cmNlTG9h
ZGVyKCkgZmluYWw7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxv
YWRlcj4gbWVkaWFQbGF5ZXJDcmVhdGVSZXNvdXJjZUxvYWRlcigpIGZpbmFsOwpAQCAtMjYxLDcg
KzI2Myw2IEBAIHByaXZhdGU6CiAgICAgUnVuTG9vcDo6VGltZXI8UmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eT4gbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lcjsKICAgICBSZW1vdGVNZWRpYVBs
YXllclN0YXRlIG1fY2FjaGVkU3RhdGU7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZp
Z3VyYXRpb24gbV9jb25maWd1cmF0aW9uOwotICAgIGJvb2wgbV9zZWVrYWJsZUNoYW5nZWQgeyB0
cnVlIH07CiAgICAgYm9vbCBtX2J1ZmZlcmVkQ2hhbmdlZCB7IHRydWUgfTsKICAgICBib29sIG1f
cmVuZGVyaW5nQ2FuQmVBY2NlbGVyYXRlZCB7IHRydWUgfTsKICAgICBXZWJDb3JlOjpMYXlvdXRS
ZWN0IG1fdmlkZW9Db250ZW50Qm94UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYmMyZDIyNjY2YWRlZGM4YjczMGMyZmJkY2YxYzRmOGYwN2Y3MThlOS4uNWM2NGFm
NTJhOWNlMjczNTRmYmZhNGI0ODU1ZTIyMGE3MmMyOTMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTk0LDYgKzk0LDEwIEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlh
UGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBBcHBsaWNhdGlvbldpbGxSZXNpZ25B
Y3RpdmUoKQogICAgIEFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCkKKworICAgIE5vdGlmeVRy
YWNrTW9kZUNoYW5nZWQoKQorICAgIFRyYWNrc0NoYW5nZWQoKQorICAgIFN5bmNUZXh0VHJhY2tC
b3VuZHMoKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCBm
M2RjODljNmY2MTA5ZjNiNjA1YjlkNWY2ZTQxN2RmOWNhMjcxOWJjLi5jZjRkNjE4OWVhZDFlMTIy
YjI0MTAzNzQyYWUxMDdlOGRhNThmMTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CkBAIC0yMTUsMTIgKzIxNSwxMiBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZGlk
TG9hZGluZ1Byb2dyZXNzKCkgY29uc3QKIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
Omhhc1ZpZGVvKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9oYXNWaWRlbzsKKyAgICByZXR1cm4g
bV9jYWNoZWRTdGF0ZS5oYXNWaWRlbzsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6Omhhc0F1ZGlvKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9oYXNBdWRpbzsKKyAgICByZXR1
cm4gbV9jYWNoZWRTdGF0ZS5oYXNBdWRpbzsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3Jt
VGltZVJhbmdlcz4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZWVrYWJsZSgpIGNvbnN0CkBA
IC0yMzgsNyArMjM4LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpidWZmZXJlZCgpIGNvbnN0CiAKIE1lZGlhUGxheWVyOjpN
b3ZpZUxvYWRUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bW92aWVMb2FkVHlwZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fbW92aWVMb2FkVHlwZTsKKyAgICByZXR1cm4gbV9jYWNoZWRT
dGF0ZS5tb3ZpZUxvYWRUeXBlOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
bmV0d29ya1N0YXRlQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYgc3RhdGUpCkBAIC0y
OTYsMTEgKzI5Niw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjplbmdpbmVGYWls
ZWRUb0xvYWQobG9uZyBwbGF0Zm9ybUVycm9yQ29kZSkKICAgICBtX3BsYXllci0+cmVtb3RlRW5n
aW5lRmFpbGVkVG9Mb2FkKCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpj
aGFyYWN0ZXJpc3RpY0NoYW5nZWQoYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRlbywgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNoYXJhY3RlcmlzdGljQ2hhbmdlZChSZW1vdGVNZWRp
YVBsYXllclN0YXRlJiYgc3RhdGUpCiB7Ci0gICAgbV9tb3ZpZUxvYWRUeXBlID0gbW92aWVMb2Fk
VHlwZTsKLSAgICBtX2hhc0F1ZGlvID0gaGFzQXVkaW87Ci0gICAgbV9oYXNWaWRlbyA9IGhhc1Zp
ZGVvOworICAgIHVwZGF0ZUNhY2hlZFN0YXRlKFdURk1vdmUoc3RhdGUpKTsKICAgICBtX3BsYXll
ci0+Y2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCk7CiB9CiAKQEAgLTM2Miw2ICszNjAsMjUgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKFJlbW90ZU1lZGlh
UGxheWVyU3RhdGUmJiBzdGF0ZSkKICAgICBtX2NhY2hlZFN0YXRlLnBhdXNlZCA9IHN0YXRlLnBh
dXNlZDsKICAgICBtX2NhY2hlZFN0YXRlLmxvYWRpbmdQcm9ncmVzc2VkID0gc3RhdGUubG9hZGlu
Z1Byb2dyZXNzZWQ7CiAgICAgbV9jYWNoZWRTdGF0ZS5uYXR1cmFsU2l6ZSA9IHN0YXRlLm5hdHVy
YWxTaXplOworICAgIG1fY2FjaGVkU3RhdGUubW92aWVMb2FkVHlwZSA9IHN0YXRlLm1vdmllTG9h
ZFR5cGU7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSA9IHN0
YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOworCisgICAgbV9jYWNoZWRTdGF0ZS5zdGFy
dERhdGUgPSBzdGF0ZS5zdGFydERhdGU7CisgICAgbV9jYWNoZWRTdGF0ZS5zdGFydFRpbWUgPSBz
dGF0ZS5zdGFydFRpbWU7CisgICAgbV9jYWNoZWRTdGF0ZS5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlv
VHJhY2sgPSBzdGF0ZS5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CisgICAgbV9jYWNoZWRT
dGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGUgPSBzdGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGU7CisgICAg
bV9jYWNoZWRTdGF0ZS5taW5GYXN0UmV2ZXJzZVJhdGUgPSBzdGF0ZS5taW5GYXN0UmV2ZXJzZVJh
dGU7CisgICAgbV9jYWNoZWRTdGF0ZS5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1l
ID0gc3RhdGUuc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZTsKKyAgICBtX2NhY2hl
ZFN0YXRlLmxpdmVVcGRhdGVJbnRlcnZhbCA9IHN0YXRlLmxpdmVVcGRhdGVJbnRlcnZhbDsKKyAg
ICBtX2NhY2hlZFN0YXRlLmNhblNhdmVNZWRpYURhdGEgPSBzdGF0ZS5jYW5TYXZlTWVkaWFEYXRh
OworICAgIG1fY2FjaGVkU3RhdGUuaGFzQXVkaW8gPSBzdGF0ZS5oYXNBdWRpbzsKKyAgICBtX2Nh
Y2hlZFN0YXRlLmhhc1ZpZGVvID0gc3RhdGUuaGFzVmlkZW87CisgICAgbV9jYWNoZWRTdGF0ZS5o
YXNDbG9zZWRDYXB0aW9ucyA9IHN0YXRlLmhhc0Nsb3NlZENhcHRpb25zOworICAgIG1fY2FjaGVk
U3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSA9IHN0YXRlLmhhc0F2YWlsYWJsZVZpZGVvRnJh
bWU7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCA9IHN0
YXRlLndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOworICAgIG1fY2FjaGVkU3RhdGUuaGFz
U2luZ2xlU2VjdXJpdHlPcmlnaW4gPSBzdGF0ZS5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKKyAg
ICBtX2NhY2hlZFN0YXRlLmRpZFBhc3NDT1JTQWNjZXNzQ2hlY2sgPSBzdGF0ZS5kaWRQYXNzQ09S
U0FjY2Vzc0NoZWNrOworCiAgICAgaWYgKHN0YXRlLmJ1ZmZlcmVkUmFuZ2VzLmxlbmd0aCgpKQog
ICAgICAgICBtX2NhY2hlZEJ1ZmZlcmVkVGltZVJhbmdlcyA9IG1ha2VVbmlxdWU8UGxhdGZvcm1U
aW1lUmFuZ2VzPihzdGF0ZS5idWZmZXJlZFJhbmdlcyk7CiB9CkBAIC01NzEsOCArNTg4LDYgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlbW90ZVZpZGVvVHJhY2tDb25maWd1cmF0
aW9uQ2hhbmdlZChUcmFja1ByaXZhdGUKICAgICAgICAgdHJhY2stPnVwZGF0ZUNvbmZpZ3VyYXRp
b24oV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiB9CiAKLS8vIEZJWE1FOiBVbmltcGxlbWVudGVk
Ci0KICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKQEAg
LTU5MCw3ICs2MDUsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25z
dCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisKICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlz
KSwgdGhpc10gewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtNjgwLDMxICs2OTYsMjcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldEJ1
ZmZlcmluZ1BvbGljeShNZWRpYVBsYXllcjo6QnVmZmVyaW5nUG9saWN5IHAKIAogYm9vbCBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OmNhblNhdmVNZWRpYURhdGEoKSBjb25zdAogewotICAgIG5v
dEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2NhY2hlZFN0
YXRlLmNhblNhdmVNZWRpYURhdGE7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OmdldFN0YXJ0RGF0ZSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAg
ICByZXR1cm4gTWVkaWFUaW1lOjp6ZXJvVGltZSgpOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRl
LnN0YXJ0RGF0ZTsKIH0KIAogTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3Rh
cnRUaW1lKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBNZWRp
YVRpbWU6Onplcm9UaW1lKCk7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuc3RhcnRUaW1lOwog
fQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0UmF0ZURvdWJsZShkb3VibGUp
Cit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0UmF0ZURvdWJsZShkb3VibGUgcmF0
ZSkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpTZXRSYXRlKHJhdGUpLCBtX2lkKTsKIH0KIAog
Ym9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Omhhc0Nsb3NlZENhcHRpb25zKCkgY29uc3QK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
bV9jYWNoZWRTdGF0ZS5oYXNDbG9zZWRDYXB0aW9uczsKIH0KIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OnNldENsb3NlZENhcHRpb25zVmlzaWJsZShib29sKQpAQCAtNzE0LDE0ICs3
MjYsMTIgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldENsb3NlZENhcHRpb25z
VmlzaWJsZShib29sKQogCiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptYXhGYXN0
Rm9yd2FyZFJhdGUoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUubWF4RmFzdEZvcndhcmRSYXRlOwogfQogCiBk
b3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptaW5GYXN0UmV2ZXJzZVJhdGUoKSBjb25z
dAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1f
Y2FjaGVkU3RhdGUubWluRmFzdFJldmVyc2VSYXRlOwogfQogCiBNZWRpYVRpbWUgTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjptYXhNZWRpYVRpbWVTZWVrYWJsZSgpIGNvbnN0CkBAIC03MzYsMTQg
Kzc0NiwxMiBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptaW5NZWRpYVRp
bWVTZWVrYWJsZSgpIGNvbnN0CiAKIGRvdWJsZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNl
ZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUoKSBjb25zdAogewotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuc2Vla2Fi
bGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZTsKIH0KIAogZG91YmxlIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bGl2ZVVwZGF0ZUludGVydmFsKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmxpdmVVcGRh
dGVJbnRlcnZhbDsKIH0KIAogdW5zaWduZWQgbG9uZyBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6dG90YWxCeXRlcygpIGNvbnN0CkBAIC03ODMsOCArNzkxLDcgQEAgTmF0aXZlSW1hZ2VQ
dHIgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKCkK
IAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Omhhc0F2YWlsYWJsZVZpZGVvRnJhbWUo
KSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAg
IHJldHVybiBtX2NhY2hlZFN0YXRlLmhhc0F2YWlsYWJsZVZpZGVvRnJhbWU7CiB9CiAKICNpZiBF
TkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQpAQCAtNzk2LDE0ICs4MDMsMTIgQEAgU3Ry
aW5nIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6d2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWUo
KSBjb25zdAogCiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjp3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpIGNvbnN0CiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OlRhcmdldFR5
cGVOb25lOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXRU
eXBlOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6d2lyZWxlc3NWaWRlb1Bs
YXliYWNrRGlzYWJsZWQoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0
dXJuIHRydWU7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUud2lyZWxlc3NWaWRlb1BsYXliYWNr
RGlzYWJsZWQ7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRXaXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZChib29sIGRpc2FibGVkKQpAQCAtODMzLDIyICs4MzgsMTQg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFNob3VsZFBsYXlUb1BsYXliYWNr
VGFyZ2V0KGJvb2wgc2hvdWxkUGxheSkKIH0KICNlbmRpZgogCi1ib29sIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6c2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0Ci17Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Omhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0
ZS5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OmRpZFBhc3NDT1JTQWNjZXNzQ2hlY2soKSBjb25zdAogewotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmRpZFBh
c3NDT1JTQWNjZXNzQ2hlY2s7CiB9CiAKIE9wdGlvbmFsPGJvb2w+IE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6d291bGRUYWludE9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbiYpIGNvbnN0CkBA
IC04NjUsNyArODYyLDcgQEAgTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bWVk
aWFUaW1lRm9yVGltZVZhbHVlKGNvbnN0IE1lZGlhVGltZSYgdGltZVYKIAogZG91YmxlIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6bWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIC4yOyAvLyBGSVhNRTogZ2V0IHRoaXMgdmFsdWUgZnJvbSB0aGUg
bWVkaWEgZW5naW5lIHdoZW4gaXQgaXMgY3JlYXRlZC4KKyAgICByZXR1cm4gbV9jb25maWd1cmF0
aW9uLm1heGltdW1EdXJhdGlvblRvQ2FjaGVNZWRpYVRpbWU7CiB9CiAKIHVuc2lnbmVkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6ZGVjb2RlZEZyYW1lQ291bnQoKSBjb25zdApAQCAtOTYwLDEy
ICs5NTcsMTIgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFRleHRUcmFja1Jl
cHJlc2VudGF0aW9uKFRleHRUcmFja1JlcHJlc2VudGF0aW8KIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OnN5bmNUZXh0VHJhY2tCb3VuZHMoKQogewotICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OlN5bmNUZXh0VHJhY2tCb3VuZHMoKSwgbV9pZCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjp0cmFja3NDaGFuZ2VkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpU
cmFja3NDaGFuZ2VkKCksIG1faWQpOwogfQogI2VuZGlmCiAKQEAgLTk4OCw4ICs5ODUsNyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZW5kU2ltdWxhdGVkSERDUEVycm9yKCkKIAog
U3RyaW5nIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1Ry
YWNrKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBlbXB0eVN0
cmluZygpOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9U
cmFjazsKIH0KIAogc2l6ZV90IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZXh0cmFNZW1vcnlD
b3N0KCkgY29uc3QKQEAgLTk5OCwxOCArOTk0LDYgQEAgc2l6ZV90IE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6ZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAotdW5z
aWduZWQgbG9uZyBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZmlsZVNpemUoKSBjb25z
dAotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLWJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjplbmRlZCgpIGNvbnN0Ci17Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIE9wdGlvbmFsPFZpZGVvUGxheWJhY2tRdWFs
aXR5TWV0cmljcz4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp2aWRlb1BsYXliYWNrUXVhbGl0
eU1ldHJpY3MoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkBAIC0xMDE5LDcgKzEwMDMsNyBA
QCBPcHRpb25hbDxWaWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3M+IE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6dmlkZW9QbGF5YmFja1F1YQogI2lmIEVOQUJMRShBVkZfQ0FQVElPTlMpCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6Tm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpLCBtX2lkKTsKIH0K
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaAppbmRleCA0ZDdkYzgwZTk3ZmZkODdj
YmU4ZDBhYmE0NjY1M2Q3MjEzNTE2MWI1Li41NTlmZDY1MDIwODhlYmIzN2Q3NmVhN2Q2OTM1NTcy
NjM4ZjIxMDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKQEAgLTk0LDcgKzk0LDcgQEAg
cHVibGljOgogICAgIHZvaWQgcGxheWJhY2tTdGF0ZUNoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCBl
bmdpbmVGYWlsZWRUb0xvYWQobG9uZyk7CiAgICAgdm9pZCB1cGRhdGVDYWNoZWRTdGF0ZShSZW1v
dGVNZWRpYVBsYXllclN0YXRlJiYpOwotICAgIHZvaWQgY2hhcmFjdGVyaXN0aWNDaGFuZ2VkKGJv
b2wgaGFzQXVkaW8sIGJvb2wgaGFzVmlkZW8sIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1v
dmllTG9hZFR5cGUpOworICAgIHZvaWQgY2hhcmFjdGVyaXN0aWNDaGFuZ2VkKFJlbW90ZU1lZGlh
UGxheWVyU3RhdGUmJik7CiAgICAgdm9pZCBzaXplQ2hhbmdlZChXZWJDb3JlOjpGbG9hdFNpemUp
OwogICAgIHZvaWQgZmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxlKCk7CiAjaWYgUExBVEZPUk0oQ09D
T0EpCkBAIC0yNzcsNyArMjc3LDYgQEAgcHJpdmF0ZToKICAgICBib29sIHN1cHBvcnRzQWNjZWxl
cmF0ZWRSZW5kZXJpbmcoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGFjY2VsZXJhdGVkUmVuZGVy
aW5nU3RhdGVDaGFuZ2VkKCkgZmluYWw7CiAKLSAgICBib29sIHNob3VsZE1haW50YWluQXNwZWN0
UmF0aW8oKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHNldFNob3VsZE1haW50YWluQXNwZWN0UmF0
aW8oYm9vbCkgZmluYWw7CiAKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29u
c3QgZmluYWw7CkBAIC0zMzQsMTAgKzMzMyw2IEBAIHByaXZhdGU6CiAKICAgICBzaXplX3QgZXh0
cmFNZW1vcnlDb3N0KCkgY29uc3QgZmluYWw7CiAKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgZmls
ZVNpemUoKSBjb25zdCBmaW5hbDsKLQotICAgIGJvb2wgZW5kZWQoKSBjb25zdCBmaW5hbDsKLQog
ICAgIE9wdGlvbmFsPFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcz4gdmlkZW9Q
bGF5YmFja1F1YWxpdHlNZXRyaWNzKCkgZmluYWw7CiAKICNpZiBFTkFCTEUoQVZGX0NBUFRJT05T
KQpAQCAtMzc4LDkgKzM3Myw2IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fdm9sdW1lIHsgMSB9
OwogICAgIGRvdWJsZSBtX3JhdGUgeyAxIH07CiAgICAgbG9uZyBtX3BsYXRmb3JtRXJyb3JDb2Rl
IHsgMCB9OwotICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGUgbV9t
b3ZpZUxvYWRUeXBlIHsgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZTo6
VW5rbm93biB9OwotICAgIGJvb2wgbV9oYXNBdWRpbyB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2hh
c1ZpZGVvIHsgZmFsc2UgfTsKICAgICBib29sIG1fbXV0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9zZWVraW5nIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNDdXJyZW50UGxheWJhY2tUYXJnZXRX
aXJlbGVzcyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3Nh
Z2VzLmluCmluZGV4IDNmZmNmMzZlZmUyNGIzZDA4NTBlZWEyODZlMmNlNzI4ZTRhMmZjMWEuLmE1
MDc3NmRkYWE0Mjc2YzFjNmRkZTdlNWRiMDdiZjk4YTY3YWU4ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluCkBAIC0zNSw3ICszNSw3IEBAIG1lc3NhZ2Vz
IC0+IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSBOb3RSZWZDb3VudGVkIHsKICAgICBQbGF5YmFj
a1N0YXRlQ2hhbmdlZChib29sIHBhdXNlZCkKICAgICBFbmdpbmVGYWlsZWRUb0xvYWQoaW50IHBs
YXRmb3JtRXJyb3JDb2RlKQogICAgIFVwZGF0ZUNhY2hlZFN0YXRlKHN0cnVjdCBXZWJLaXQ6OlJl
bW90ZU1lZGlhUGxheWVyU3RhdGUgc3RhdGUpCi0gICAgQ2hhcmFjdGVyaXN0aWNDaGFuZ2VkKGJv
b2wgaGFzQXVkaW8sIGJvb2wgaGFzVmlkZW8sIGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBs
YXllckVudW1zOjpNb3ZpZUxvYWRUeXBlIG1vdmllTG9hZFR5cGUpCisgICAgQ2hhcmFjdGVyaXN0
aWNDaGFuZ2VkKHN0cnVjdCBXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyU3RhdGUgc3RhdGUpCiAg
ICAgU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RmxvYXRTaXplIG5hdHVyYWxTaXplKQogCiAgICAgQWRk
UmVtb3RlQXVkaW9UcmFjayhXZWJLaXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgdHJh
Y2tJRCwgc3RydWN0IFdlYktpdDo6VHJhY2tQcml2YXRlUmVtb3RlQ29uZmlndXJhdGlvbiBjb25m
aWd1cmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uLmgKaW5kZXggZDIy
YjdiOTc1OTgxMTgxM2YyZTYzODQ4ZjVmZTcwNzAxODE0OTUxZi4uOWZiZmY1OWFmYzUxOTFhOTM1
MTY5MjRkOWVmOWFjNzI3NTdiMmFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJh
dGlvbi5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdHJ1Y3QgUmVt
b3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHsKICAgICBTdHJpbmcgZW5naW5lRGVzY3JpcHRp
b247CisgICAgZG91YmxlIG1heGltdW1EdXJhdGlvblRvQ2FjaGVNZWRpYVRpbWU7CiAgICAgYm9v
bCBzdXBwb3J0c1NjYW5uaW5nIHsgZmFsc2UgfTsKICAgICBib29sIHN1cHBvcnRzRnVsbHNjcmVl
biB7IGZhbHNlIH07CiAgICAgYm9vbCBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUgeyBmYWxzZSB9
OwpAQCAtNDYsNiArNDcsNyBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9u
IHsKICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIHsKICAgICAg
ICAgZW5jb2RlciA8PCBlbmdpbmVEZXNjcmlwdGlvbjsKKyAgICAgICAgZW5jb2RlciA8PCBtYXhp
bXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lOwogICAgICAgICBlbmNvZGVyIDw8IHN1cHBvcnRz
U2Nhbm5pbmc7CiAgICAgICAgIGVuY29kZXIgPDwgc3VwcG9ydHNGdWxsc2NyZWVuOwogICAgICAg
ICBlbmNvZGVyIDw8IHN1cHBvcnRzUGljdHVyZUluUGljdHVyZTsKQEAgLTYyLDYgKzY0LDExIEBA
IHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gewogICAgICAgICBpZiAoIWVu
Z2luZURlc2NyaXB0aW9uKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAorICAg
ICAgICBPcHRpb25hbDxkb3VibGU+IG1heGltdW1EdXJhdGlvblRvQ2FjaGVNZWRpYVRpbWU7Cisg
ICAgICAgIGRlY29kZXIgPj4gbWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZTsKKyAgICAg
ICAgaWYgKCFtYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lKQorICAgICAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKwogICAgICAgICBPcHRpb25hbDxib29sPiBzdXBwb3J0c1NjYW5u
aW5nOwogICAgICAgICBkZWNvZGVyID4+IHN1cHBvcnRzU2Nhbm5pbmc7CiAgICAgICAgIGlmICgh
c3VwcG9ydHNTY2FubmluZykKQEAgLTk0LDYgKzEwMSw3IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBs
YXllckNvbmZpZ3VyYXRpb24gewogCiAgICAgICAgIHJldHVybiB7ewogICAgICAgICAgICAgV1RG
TW92ZSgqZW5naW5lRGVzY3JpcHRpb24pLAorICAgICAgICAgICAgKm1heGltdW1EdXJhdGlvblRv
Q2FjaGVNZWRpYVRpbWUsCiAgICAgICAgICAgICAqc3VwcG9ydHNTY2FubmluZywKICAgICAgICAg
ICAgICpzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmUsCiAgICAgICAgICAgICAqc3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmgKaW5kZXggNGVkZjBhNzA2ZTli
MjgwMmQ5NWFjZjEwYTBjOGVmM2JiZjk4ZmI3OC4uNGJkNDhiYjM3ZDY1N2E3YjU4ZmQxMDk2ODk2
ODY1MmY4MDIzOGNlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmgKQEAgLTM5LDEyICszOSwzMiBA
QCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSB7CiAgICAgTWVkaWFUaW1lIGR1cmF0aW9u
OwogICAgIE1lZGlhVGltZSBtaW5UaW1lU2Vla2FibGU7CiAgICAgTWVkaWFUaW1lIG1heFRpbWVT
ZWVrYWJsZTsKKyAgICBNZWRpYVRpbWUgc3RhcnREYXRlOworICAgIE1lZGlhVGltZSBzdGFydFRp
bWU7CisgICAgU3RyaW5nIGxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjazsKKyAgICBTdHJpbmcg
d2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWU7CiAgICAgV2ViQ29yZTo6UGxhdGZvcm1UaW1lUmFu
Z2VzIGJ1ZmZlcmVkUmFuZ2VzOwogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok5ldHdv
cmtTdGF0ZSBuZXR3b3JrU3RhdGUgeyBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpOZXR3b3Jr
U3RhdGU6OkVtcHR5IH07CiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6UmVhZHlTdGF0
ZSByZWFkeVN0YXRlIHsgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6UmVhZHlTdGF0ZTo6SGF2
ZU5vdGhpbmcgfTsKKyAgICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBl
IG1vdmllTG9hZFR5cGUgeyBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBl
OjpVbmtub3duIH07CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5
YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgeyBXZWJDb3JlOjpNZWRp
YVBsYXllckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5vbmUg
fTsKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbmF0dXJhbFNpemU7CisgICAgZG91YmxlIG1heEZh
c3RGb3J3YXJkUmF0ZSB7IDAgfTsKKyAgICBkb3VibGUgbWluRmFzdFJldmVyc2VSYXRlIHsgMCB9
OworICAgIGRvdWJsZSBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lIHsgMCB9Owor
ICAgIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwgeyAwIH07CisgICAgdW5zaWduZWQgbG9uZyBs
b25nIHRvdGFsQnl0ZXMgeyAwIH07CiAgICAgYm9vbCBwYXVzZWQgeyB0cnVlIH07CiAgICAgYm9v
bCBsb2FkaW5nUHJvZ3Jlc3NlZCB7IGZhbHNlIH07CisgICAgYm9vbCBjYW5TYXZlTWVkaWFEYXRh
IHsgZmFsc2UgfTsKKyAgICBib29sIGhhc0F1ZGlvIHsgZmFsc2UgfTsKKyAgICBib29sIGhhc1Zp
ZGVvIHsgZmFsc2UgfTsKKyAgICBib29sIGhhc0Nsb3NlZENhcHRpb25zIHsgZmFsc2UgfTsKKyAg
ICBib29sIGhhc0F2YWlsYWJsZVZpZGVvRnJhbWUgeyBmYWxzZSB9OworICAgIGJvb2wgd2lyZWxl
c3NWaWRlb1BsYXliYWNrRGlzYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgaGFzU2luZ2xlU2Vj
dXJpdHlPcmlnaW4geyBmYWxzZSB9OworICAgIGJvb2wgZGlkUGFzc0NPUlNBY2Nlc3NDaGVjayB7
IGZhbHNlIH07CisgICAgYm9vbCByZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uIHsgZmFs
c2UgfTsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiAgICAgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKQEAgLTUzLDEyICs3MywzMiBAQCBzdHJ1Y3QgUmVtb3RlTWVk
aWFQbGF5ZXJTdGF0ZSB7CiAgICAgICAgIGVuY29kZXIgPDwgZHVyYXRpb247CiAgICAgICAgIGVu
Y29kZXIgPDwgbWluVGltZVNlZWthYmxlOwogICAgICAgICBlbmNvZGVyIDw8IG1heFRpbWVTZWVr
YWJsZTsKKyAgICAgICAgZW5jb2RlciA8PCBzdGFydERhdGU7CisgICAgICAgIGVuY29kZXIgPDwg
c3RhcnRUaW1lOworICAgICAgICBlbmNvZGVyIDw8IGxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFj
azsKKyAgICAgICAgZW5jb2RlciA8PCB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZTsKICAgICAg
ICAgZW5jb2RlciA8PCBidWZmZXJlZFJhbmdlczsKICAgICAgICAgZW5jb2Rlci5lbmNvZGVFbnVt
KG5ldHdvcmtTdGF0ZSk7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlRW51bShyZWFkeVN0YXRlKTsK
KyAgICAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKG1vdmllTG9hZFR5cGUpOworICAgICAgICBlbmNv
ZGVyLmVuY29kZUVudW0od2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUpOwogICAgICAgICBlbmNv
ZGVyIDw8IG5hdHVyYWxTaXplOworICAgICAgICBlbmNvZGVyIDw8IG1heEZhc3RGb3J3YXJkUmF0
ZTsKKyAgICAgICAgZW5jb2RlciA8PCBtaW5GYXN0UmV2ZXJzZVJhdGU7CisgICAgICAgIGVuY29k
ZXIgPDwgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZTsKKyAgICAgICAgZW5jb2Rl
ciA8PCBsaXZlVXBkYXRlSW50ZXJ2YWw7CisgICAgICAgIGVuY29kZXIgPDwgdG90YWxCeXRlczsK
ICAgICAgICAgZW5jb2RlciA8PCBwYXVzZWQ7CiAgICAgICAgIGVuY29kZXIgPDwgbG9hZGluZ1By
b2dyZXNzZWQ7CisgICAgICAgIGVuY29kZXIgPDwgY2FuU2F2ZU1lZGlhRGF0YTsKKyAgICAgICAg
ZW5jb2RlciA8PCBoYXNBdWRpbzsKKyAgICAgICAgZW5jb2RlciA8PCBoYXNWaWRlbzsKKyAgICAg
ICAgZW5jb2RlciA8PCBoYXNDbG9zZWRDYXB0aW9uczsKKyAgICAgICAgZW5jb2RlciA8PCBoYXNB
dmFpbGFibGVWaWRlb0ZyYW1lOworICAgICAgICBlbmNvZGVyIDw8IHdpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkOworICAgICAgICBlbmNvZGVyIDw8IGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2lu
OworICAgICAgICBlbmNvZGVyIDw8IGRpZFBhc3NDT1JTQWNjZXNzQ2hlY2s7CisgICAgICAgIGVu
Y29kZXIgPDwgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbjsKICAgICB9CiAKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4KQEAgLTg0LDYgKzEyNCwyNiBAQCBzdHJ1Y3QgUmVtb3Rl
TWVkaWFQbGF5ZXJTdGF0ZSB7CiAgICAgICAgIGlmICghbWF4VGltZVNlZWthYmxlKQogICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAorICAgICAgICBPcHRpb25hbDxNZWRpYVRpbWU+
IHN0YXJ0RGF0ZTsKKyAgICAgICAgZGVjb2RlciA+PiBzdGFydERhdGU7CisgICAgICAgIGlmICgh
c3RhcnREYXRlKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBP
cHRpb25hbDxNZWRpYVRpbWU+IHN0YXJ0VGltZTsKKyAgICAgICAgZGVjb2RlciA+PiBzdGFydFRp
bWU7CisgICAgICAgIGlmICghc3RhcnRUaW1lKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgICAgICBPcHRpb25hbDxTdHJpbmc+IGxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9U
cmFjazsKKyAgICAgICAgZGVjb2RlciA+PiBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7Cisg
ICAgICAgIGlmICghbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrKQorICAgICAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxTdHJpbmc+IHdpcmVsZXNzUGxh
eWJhY2tUYXJnZXROYW1lOworICAgICAgICBkZWNvZGVyID4+IHdpcmVsZXNzUGxheWJhY2tUYXJn
ZXROYW1lOworICAgICAgICBpZiAoIXdpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKQorICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwogICAgICAgICBPcHRpb25hbDxXZWJDb3JlOjpQ
bGF0Zm9ybVRpbWVSYW5nZXM+IGJ1ZmZlcmVkUmFuZ2VzOwogICAgICAgICBkZWNvZGVyID4+IGJ1
ZmZlcmVkUmFuZ2VzOwogICAgICAgICBpZiAoIWJ1ZmZlcmVkUmFuZ2VzKQpAQCAtOTcsMTEgKzE1
Nyw0NCBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSB7CiAgICAgICAgIGlmICghZGVj
b2Rlci5kZWNvZGVFbnVtKHJlYWR5U3RhdGUpKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKIAorICAgICAgICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBl
IG1vdmllTG9hZFR5cGU7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKG1vdmllTG9h
ZFR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBXZWJD
b3JlOjpNZWRpYVBsYXllckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSB3aXJlbGVz
c1BsYXliYWNrVGFyZ2V0VHlwZTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0od2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKwogICAgICAgICBPcHRpb25hbDxXZWJDb3JlOjpGbG9hdFNpemU+IG5hdHVyYWxTaXplOwog
ICAgICAgICBkZWNvZGVyID4+IG5hdHVyYWxTaXplOwogICAgICAgICBpZiAoIW5hdHVyYWxTaXpl
KQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAorICAgICAgICBPcHRpb25hbDxk
b3VibGU+IG1heEZhc3RGb3J3YXJkUmF0ZTsKKyAgICAgICAgZGVjb2RlciA+PiBtYXhGYXN0Rm9y
d2FyZFJhdGU7CisgICAgICAgIGlmICghbWF4RmFzdEZvcndhcmRSYXRlKQorICAgICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxkb3VibGU+IG1pbkZhc3RS
ZXZlcnNlUmF0ZTsKKyAgICAgICAgZGVjb2RlciA+PiBtaW5GYXN0UmV2ZXJzZVJhdGU7CisgICAg
ICAgIGlmICghbWluRmFzdFJldmVyc2VSYXRlKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgICAgICBPcHRpb25hbDxkb3VibGU+IHNlZWthYmxlVGltZVJhbmdlc0xhc3RN
b2RpZmllZFRpbWU7CisgICAgICAgIGRlY29kZXIgPj4gc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1v
ZGlmaWVkVGltZTsKKyAgICAgICAgaWYgKCFzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRU
aW1lKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25h
bDxkb3VibGU+IGxpdmVVcGRhdGVJbnRlcnZhbDsKKyAgICAgICAgZGVjb2RlciA+PiBsaXZlVXBk
YXRlSW50ZXJ2YWw7CisgICAgICAgIGlmICghbGl2ZVVwZGF0ZUludGVydmFsKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDx1bnNpZ25lZCBsb25n
IGxvbmc+IHRvdGFsQnl0ZXM7CisgICAgICAgIGRlY29kZXIgPj4gdG90YWxCeXRlczsKKyAgICAg
ICAgaWYgKCF0b3RhbEJ5dGVzKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwog
ICAgICAgICBPcHRpb25hbDxib29sPiBwYXVzZWQ7CiAgICAgICAgIGRlY29kZXIgPj4gcGF1c2Vk
OwogICAgICAgICBpZiAoIXBhdXNlZCkKQEAgLTExMiwxNyArMjA1LDgzIEBAIHN0cnVjdCBSZW1v
dGVNZWRpYVBsYXllclN0YXRlIHsKICAgICAgICAgaWYgKCFsb2FkaW5nUHJvZ3Jlc3NlZCkKICAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4g
Y2FuU2F2ZU1lZGlhRGF0YTsKKyAgICAgICAgZGVjb2RlciA+PiBjYW5TYXZlTWVkaWFEYXRhOwor
ICAgICAgICBpZiAoIWNhblNhdmVNZWRpYURhdGEpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc0F1ZGlvOworICAgICAgICBkZWNv
ZGVyID4+IGhhc0F1ZGlvOworICAgICAgICBpZiAoIWhhc0F1ZGlvKQorICAgICAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxib29sPiBoYXNWaWRlbzsKKyAg
ICAgICAgZGVjb2RlciA+PiBoYXNWaWRlbzsKKyAgICAgICAgaWYgKCFoYXNWaWRlbykKKyAgICAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gaGFz
Q2xvc2VkQ2FwdGlvbnM7CisgICAgICAgIGRlY29kZXIgPj4gaGFzQ2xvc2VkQ2FwdGlvbnM7Cisg
ICAgICAgIGlmICghaGFzQ2xvc2VkQ2FwdGlvbnMpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc0F2YWlsYWJsZVZpZGVvRnJhbWU7
CisgICAgICAgIGRlY29kZXIgPj4gaGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKKyAgICAgICAgaWYg
KCFoYXNBdmFpbGFibGVWaWRlb0ZyYW1lKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKworICAgICAgICBPcHRpb25hbDxib29sPiB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxl
ZDsKKyAgICAgICAgZGVjb2RlciA+PiB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZDsKKyAg
ICAgICAgaWYgKCF3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCkKKyAgICAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gaGFzU2luZ2xlU2Vj
dXJpdHlPcmlnaW47CisgICAgICAgIGRlY29kZXIgPj4gaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW47
CisgICAgICAgIGlmICghaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4pCisgICAgICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGRpZFBhc3NDT1JTQWNj
ZXNzQ2hlY2s7CisgICAgICAgIGRlY29kZXIgPj4gZGlkUGFzc0NPUlNBY2Nlc3NDaGVjazsKKyAg
ICAgICAgaWYgKCFkaWRQYXNzQ09SU0FjY2Vzc0NoZWNrKQorICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxib29sPiByZXF1aXJlc1RleHRUcmFja1Jl
cHJlc2VudGF0aW9uOworICAgICAgICBkZWNvZGVyID4+IHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVz
ZW50YXRpb247CisgICAgICAgIGlmICghcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbikK
KyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAgICAgICAgcmV0dXJuIHt7CiAg
ICAgICAgICAgICBXVEZNb3ZlKCpjdXJyZW50VGltZSksCiAgICAgICAgICAgICBXVEZNb3ZlKCpk
dXJhdGlvbiksCiAgICAgICAgICAgICBXVEZNb3ZlKCptaW5UaW1lU2Vla2FibGUpLAogICAgICAg
ICAgICAgV1RGTW92ZSgqbWF4VGltZVNlZWthYmxlKSwKKyAgICAgICAgICAgIFdURk1vdmUoKnN0
YXJ0RGF0ZSksCisgICAgICAgICAgICBXVEZNb3ZlKCpzdGFydFRpbWUpLAorICAgICAgICAgICAg
V1RGTW92ZSgqbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrKSwKKyAgICAgICAgICAgIFdURk1v
dmUoKndpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKSwKICAgICAgICAgICAgIFdURk1vdmUoKmJ1
ZmZlcmVkUmFuZ2VzKSwKICAgICAgICAgICAgIG5ldHdvcmtTdGF0ZSwKICAgICAgICAgICAgIHJl
YWR5U3RhdGUsCisgICAgICAgICAgICBtb3ZpZUxvYWRUeXBlLAorICAgICAgICAgICAgd2lyZWxl
c3NQbGF5YmFja1RhcmdldFR5cGUsCiAgICAgICAgICAgICBXVEZNb3ZlKCpuYXR1cmFsU2l6ZSks
CisgICAgICAgICAgICAqbWF4RmFzdEZvcndhcmRSYXRlLAorICAgICAgICAgICAgKm1pbkZhc3RS
ZXZlcnNlUmF0ZSwKKyAgICAgICAgICAgICpzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRU
aW1lLAorICAgICAgICAgICAgKmxpdmVVcGRhdGVJbnRlcnZhbCwKKyAgICAgICAgICAgICp0b3Rh
bEJ5dGVzLAogICAgICAgICAgICAgKnBhdXNlZCwKLSAgICAgICAgICAgICpsb2FkaW5nUHJvZ3Jl
c3NlZCB9fTsKKyAgICAgICAgICAgICpsb2FkaW5nUHJvZ3Jlc3NlZCwKKyAgICAgICAgICAgICpj
YW5TYXZlTWVkaWFEYXRhLAorICAgICAgICAgICAgKmhhc0F1ZGlvLAorICAgICAgICAgICAgKmhh
c1ZpZGVvLAorICAgICAgICAgICAgKmhhc0Nsb3NlZENhcHRpb25zLAorICAgICAgICAgICAgKmhh
c0F2YWlsYWJsZVZpZGVvRnJhbWUsCisgICAgICAgICAgICAqd2lyZWxlc3NWaWRlb1BsYXliYWNr
RGlzYWJsZWQsCisgICAgICAgICAgICAqaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4sCisgICAgICAg
ICAgICAqZGlkUGFzc0NPUlNBY2Nlc3NDaGVjaywKKyAgICAgICAgICAgICpyZXF1aXJlc1RleHRU
cmFja1JlcHJlc2VudGF0aW9uLAorICAgICAgICB9fTsKICAgICB9CiAKIH07CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzcx
Y2FmYTMwNWEwM2ZkMTYzYmU0ZDk0ZjI3MTFiMDk2YzZmNTU5OS4uZTQ2NDllZjJlNmU0NDhkNThj
YzdhY2YzM2RhOWY1MWIxYWQ2MmQ5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTI5
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQ
XSBQbHVtYiB0aHJvdWdoIG1vcmUgTWVkaWFQbGF5ZXIgbWV0aG9kcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDIzCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81OTkyNDM4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGdwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnM6IFVuc2tpcCB+MTIwMCBt
ZWRpYSB0ZXN0cy4KKwogMjAyMC0wMi0yOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtMRkNdW0Zsb2F0c10gRmxvYXRpbmdTdGF0ZTo6dG9wIHNob3VsZCByZXR1
cm4gdG9wbW9zdCBsb2dpY2FsIHZlcnRpY2FsIHBvc2l0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9ncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvZ3B1LXByb2Nl
c3MvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2NDg0ODEzNmM3NDYzMDhlZWNmZmUzZjVlNjVjODcx
MDkwYTk5YWQ5Li45OTQ5YTgxMDAxYzVhMmI0MGE1OWVlN2EyYjgzNzE3Mjg4NjM1ZDBmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9ncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3OCw2NyArMTc4LDIw
OSBAQCBpbXBvcnRlZC9ibGluay9jb21wb3NpdGluZyBbIFNraXAgXQogbGVnYWN5LWFuaW1hdGlv
bi1lbmdpbmUvaW1wb3J0ZWQvYmxpbmsvY29tcG9zaXRpbmcvc3F1YXNoaW5nL3JlbW92ZS1mcm9t
LWdyb3VwZWQtbWFwcGluZy1vbi1yZWFzc2lnbm1lbnQuaHRtbCBbIFNraXAgXQogaW5zcGVjdG9y
L2xheWVycy9sYXllcnMtY29tcG9zaXRpbmctcmVhc29ucy5odG1sIFsgU2tpcCBdCiAKLW1lZGlh
IFsgU2tpcCBdCi1tZWRpYS9tZWRpYS1jb250cm9sbGVyLmh0bWwgWyBQYXNzIF0KLW1lZGlhL21l
ZGlhLXByZWxvYWQtbm8tZGVsYXktbG9hZGV2ZW50Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL3ZpZGVv
LXNyYy5odG1sIFsgUGFzcyBdCi1tZWRpYS92aWRlby1zcmMtYmxvYi11c2luZy1vcGVuLXBhbmVs
Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL3ZpZGVvLXNvdXJjZS5odG1sIFsgUGFzcyBdCi1tZWRpYS9h
dWRpby1hcy12aWRlby1mdWxsc2NyZWVuLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWJhY2tn
cm91bmQtcGxheWJhY2stcGxheWxpc3QuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tY29uY3Vy
cmVudC1zdXBwb3J0ZWQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tY29uc3RydWN0b3ItcHJl
bG9hZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci1zcmMuaHRtbCBbIFBh
c3MgXQotbWVkaWEvYXVkaW8tY29uc3RydWN0b3IuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8t
Y29udHJvbHMtZG8tbm90LWZhZGUtb3V0Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWNvbnRy
b2xzLXRpbWVsaW5lLWluLW1lZGlhLWRvY3VtZW50Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlv
LWRlYWxsb2MtY3Jhc2guaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tZGVsZXRlLXdoaWxlLXNs
aWRlci10aHVtYi1jbGlja2VkLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWdhcmJhZ2UtY29s
bGVjdC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1tcGVnLXN1cHBvcnRlZC5odG1sIFsgUGFz
cyBdCi1tZWRpYS9hdWRpby1tcGVnNC1zdXBwb3J0ZWQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVk
aW8tbm8taW5zdGFsbGVkLWVuZ2luZXMuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tb25seS12
aWRlby1pbnRyaW5zaWMtc2l6ZS5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5LWV2ZW50
Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXktd2l0aC12aWRlby1lbGVtZW50Lmh0bWwg
WyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXkuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxh
eWJhY2stcmVzdHJpY3Rpb24tYXV0b3BsYXkuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxh
eWJhY2stcmVzdHJpY3Rpb24tcGxheS1tdXRlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1w
bGF5YmFjay1yZXN0cmljdGlvbi1wbGF5Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXli
YWNrLXJlc3RyaWN0aW9uLXJlbW92ZWQtbXV0ZWQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8t
cGxheWJhY2stdm9sdW1lLWNoYW5nZXMtd2l0aC1yZXN0cmljdGlvbnMtYW5kLXVzZXItZ2VzdHVy
ZXMuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheWJhY2stdm9sdW1lLWNoYW5nZXMtd2l0
aC1yZXN0cmljdGlvbnMuaHRtbCBbIFBhc3MgXQotbWVkaWEvZGVhY3RpdmF0ZS1hdWRpby1zZXNz
aW9uLmh0bWwgWyBQYXNzIF0KLW1lZGlhL21lZGlhLWNhbi1wbGF5LW1wZWctYXVkaW8uaHRtbCBb
IFBhc3MgXQotbWVkaWEvbWVkaWEtY2FuLXBsYXktd2F2LWF1ZGlvLmh0bWwgWyBQYXNzIF0KLW1l
ZGlhL21lZGlhLWRvY3VtZW50LWF1ZGlvLWNvbnRyb2xzLXZpc2libGUuaHRtbCBbIFBhc3MgXQot
bWVkaWEvbWVkaWEtZG9jdW1lbnQtYXVkaW8tcmVwYWludC5odG1sIFsgUGFzcyBdCi1tZWRpYS9t
ZWRpYS1kb2N1bWVudC1hdWRpby1zaXplLmh0bWwgWyBQYXNzIF0KLW1lZGlhL211dGVkLXZpZGVv
LWlzLXBsYXlpbmctYXVkaW8uaHRtbCBbIFBhc3MgXQotbWVkaWEvcmVzdHJpY3RlZC1hdWRpby1w
bGF5YmFjay13aXRoLWRvY3VtZW50LWdlc3R1cmUuaHRtbCBbIFBhc3MgXQotbWVkaWEvcmVzdHJp
Y3RlZC1hdWRpby1wbGF5YmFjay13aXRoLW11bHRpcGxlLXNldHRpbWVvdXRzLmh0bWwgWyBQYXNz
IF0KLW1lZGlhL3ZpZGVvLWNvbnRyb2xzLXZpc2libGUtYXVkaW8tb25seS5odG1sIFsgUGFzcyBd
Ci1tZWRpYS92aWRlby1wbGF5LWF1ZGlvLXJlcXVpcmUtdXNlci1nZXN0dXJlLmh0bWwgWyBQYXNz
IF0KLW1lZGlhL3RyYWNrL2F1ZGlvLXRyYWNrLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3Zp
ZGVvLXRyYWNrLWFkZC1yZW1vdmUuaHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdmlkZW8tdHJh
Y2stYWx0ZXJuYXRlLWdyb3Vwcy5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay92aWRlby10cmFj
ay1hZGRpdGlvbi1hbmQtZnJhbWUtcmVtb3ZhbC5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay92
aWRlby10cmFjay5odG1sIFsgUGFzcyBdCiAKLW1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQuaHRt
bCBbIFBhc3MgXQorbWVkaWEvYWlycGxheS1hbGxvd3MtYnVmZmVyaW5nLmh0bWwgWyBTa2lwIF0K
K21lZGlhL2FpcnBsYXktYXV0b3BsYXkuaHRtbCBbIFNraXAgXQorbWVkaWEvYXVkaW8tYmFja2dy
b3VuZC1wbGF5YmFjay1wbGF5bGlzdC5odG1sIFsgU2tpcCBdCittZWRpYS9hdWRpby1jb250cm9s
cy1yZW5kZXJpbmcuaHRtbCBbIFNraXAgXQorbWVkaWEvYXVkaW8tZGVsZXRlLXdoaWxlLXN0ZXAt
YnV0dG9uLWNsaWNrZWQuaHRtbCBbIFNraXAgXQorbWVkaWEvYXVkaW8tcmVwYWludC5odG1sIFsg
U2tpcCBdCittZWRpYS9jbGljay1wbGFjZWhvbGRlci1ub3QtcGF1c2luZy5odG1sIFsgU2tpcCBd
CittZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9ucy5odG1sIFsgU2tpcCBdCittZWRpYS9jb250cm9s
cy1zdHJpY3QuaHRtbCBbIFNraXAgXQorbWVkaWEvY29udHJvbHMtc3R5bGluZy1zdHJpY3QuaHRt
bCBbIFNraXAgXQorbWVkaWEvY29udHJvbHMtd2l0aG91dC1wcmVsb2FkLmh0bWwgWyBTa2lwIF0K
K21lZGlhL2NvbnRyb2xzL2FpcnBsYXktY29udHJvbHMuaHRtbCBbIFNraXAgXQorbWVkaWEvY29u
dHJvbHMvaW5saW5lLWVsZW1lbnRzLWRyb3BvZmYtb3JkZXIuaHRtbCBbIFNraXAgXQorbWVkaWEv
Y29udHJvbHMvcGljdHVyZS1pbi1waWN0dXJlLmh0bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRyb2xz
L3BpcC1wbGFjZWhvbGRlci13aXRob3V0LXZpZGVvLWNvbnRyb2xzLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL2RlYWN0aXZhdGUtYXVkaW8tc2Vzc2lvbi5odG1sIFsgU2tpcCBdCittZWRpYS9lbGVtZW50
LWNvbnRhaW5pbmctcGlwLXZpZGVvLWdvaW5nLWludG8tZnVsbHNjcmVlbi5odG1sIFsgU2tpcCBd
CittZWRpYS9mdWxsc2NyZWVuLWFwaS1lbmFibGVkLW1lZGlhLXdpdGgtcHJlc2VudGF0aW9uLW1v
ZGUuaHRtbCBbIFNraXAgXQorCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvY2xlYXJLZXkgWyBTa2lw
IF0KKworbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ldmVudHMuaHRtbCBb
IFNraXAgXQorbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1ub3QtbG9hZGVk
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtc3lu
dGF4Lmh0bWwgWyBTa2lwIF0KK21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5U2Vz
c2lvbi1yZW1vdmUuaHRtbCBbIFNraXAgXQorbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21vY2stTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MuaHRtbCBbIFNraXAgXQorCittZWRpYS9pb3MvdmlkZW8tdm9sdW1l
LWlvcy1xdWlyay5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1jYW4tcGxheS1mbGFjLWF1ZGlv
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWNhbi1wbGF5LW9nZy5odG1sIFsgU2tpcCBdCitt
ZWRpYS9tZWRpYS1jb250cm9scy1pbnZhbGlkLXVybC5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRp
YS1jb250cm9scy1wbGF5LWJ1dHRvbi11cGRhdGVzLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlh
LWZ1bGxzY3JlZW4tbG9vcC1pbmxpbmUuaHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtZnVsbHNj
cmVlbi1wYXVzZS1pbmxpbmUuaHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1y
ZXR1cm4tdG8taW5saW5lLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWhpZ2hlci1wcmlvLWF1
ZGlvLXN0cmVhbS5odG1sIFsgU2tpcCBdCisKK21lZGlhL21lZGlhLXNvdXJjZSBbIFNraXAgXQor
CittZWRpYS9tZWRpYS12b2x1bWUtc2xpZGVyLXJlbmRlcmVkLWJlbG93Lmh0bWwgWyBTa2lwIF0K
K21lZGlhL21lZGlhLXZvbHVtZS1zbGlkZXItcmVuZGVyZWQtbm9ybWFsLmh0bWwgWyBTa2lwIF0K
KworbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2FpcnBsYXktc3VwcG9ydC9haXJwbGF5LXN1
cHBvcnQuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2F1ZGlvL2F1
ZGlvLWNvbnRyb2xzLXN0eWxlcy5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvY29udHJvbHMtdmlzaWJpbGl0eS1zdXBwb3J0L2NvbnRyb2xzLXZpc2liaWxpdHktc3Vw
cG9ydC1mdWxsc2NyZWVuLW9uLXZpZGVvLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9pb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzL2lvcy1pbmxpbmUtbWVkaWEtY29u
dHJvbHMtY29uc3RydWN0b3IuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhLWNvbnRyb2xsZXIvaW9zL21lZGlhLWNvbnRyb2xsZXItaW9zLWRvLW5vdC1oaWRl
LWNvbnRyb2xzLXdoZW4tdGFwcGluZy1idXR0b24uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvaW9zL21lZGlhLWNvbnRyb2xsZXItaW9z
LWxheW91dC10cmFpdHMtbW9kZXJuLWNvbXBhdGliaWxpdHktbW9kZS5odG1sIFsgU2tpcCBdCitt
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9pb3MvbWVkaWEtY29u
dHJvbGxlci1pb3Mtb25seS1lbmFibGUtdGFwLWdlc3R1cmUtcmVjb2duaXplci13aXRoLWZhZGVz
LXdoZW4taWRsZS5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVk
aWEtY29udHJvbGxlci9pb3MvbWVkaWEtY29udHJvbGxlci1zY2FsZS1mYWN0b3ItYXVkaW8uaHRt
bCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIv
aW9zL21lZGlhLWNvbnRyb2xsZXItc2NhbGUtZmFjdG9yLmh0bWwgWyBTa2lwIF0KK21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL2lvcy9tZWRpYS1jb250cm9sbGVy
LXN0b3AtdXBkYXRlcy1pbi1mdWxsc2NyZWVuLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRl
LW1vdXNlLWVudGVyLW92ZXItY29udHJvbHMtYmFyLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItZmFkZS1j
b250cm9scy13aGVuLWVudGVyaW5nLWZ1bGxzY3JlZW4uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1mdWxs
c2NyZWVuLWNoYW5nZS5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWlubGluZS10by1mdWxsc2NyZWVuLXRv
LWlubGluZS5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEt
Y29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWlubGluZS10by1mdWxsc2NyZWVuLXRvLXBpcC10
by1pbmxpbmUuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
LWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci12aWRlby13aXRoLW9ubHktYXVkaW8uaHRtbCBb
IFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWRvY3VtZW50cy9iYWNr
Z3JvdW5kLWNvbG9yLWFuZC1jZW50ZXJpbmcuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhLWRvY3VtZW50cy9tZWRpYS1kb2N1bWVudC1hdWRpby1pb3Mtc2l6
aW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1kb2N1
bWVudHMvbWVkaWEtZG9jdW1lbnQtdmlkZW8taXBob25lLXNpemluZy5odG1sIFsgU2tpcCBdCitt
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1cHBvcnQvcGlwLXN1cHBvcnQtY2xpY2su
aHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3BpcC1zdXBwb3J0L3Bp
cC1zdXBwb3J0LWVuYWJsZWQuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL3BsYWNhcmQtc3VwcG9ydC9pcGFkL3BsYWNhcmQtc3VwcG9ydC1waXAuaHRtbCBbIFNraXAg
XQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3BsYWNhcmQtc3VwcG9ydC9wbGFjYXJkLXN1
cHBvcnQtYWlycGxheS1mdWxsc2NyZWVuLW5vLWNvbnRyb2xzLmh0bWwgWyBTa2lwIF0KK21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9wbGFjYXJkLXN1cHBvcnQvcGxhY2FyZC1zdXBwb3J0LWFp
cnBsYXktZnVsbHNjcmVlbi5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvcGxhY2FyZC1zdXBwb3J0L3BsYWNhcmQtc3VwcG9ydC1haXJwbGF5Lmh0bWwgWyBTa2lwIF0K
K21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9wbGFjYXJkLXN1cHBvcnQvcGxhY2FyZC1zdXBw
b3J0LXBpcC5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvc2NydWJi
ZXItc3VwcG9ydC9pcGFkL3NjcnViYmVyLXN1cHBvcnQtZHJhZy5odG1sIFsgU2tpcCBdCittZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvc3RhcnQtc3VwcG9ydC9zdGFydC1zdXBwb3J0LWZ1bGxz
Y3JlZW4uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3RyYWNrcy1z
dXBwb3J0L3RyYWNrcy1zdXBwb3J0LW9mZi10ZXh0LXRyYWNrLmh0bWwgWyBTa2lwIF0KKworbWVk
aWEvbXV0ZWQtdmlkZW8taXMtcGxheWluZy1hdWRpby5odG1sIFsgU2tpcCBdCittZWRpYS9uYXZp
Z2F0ZS13aXRoLXBpcC1zaG91bGQtbm90LWNyYXNoLmh0bWwgWyBTa2lwIF0KK21lZGlhL3BpY3R1
cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBpY3R1cmUtYXBpLWNzcy1zZWxlY3Rvci5odG1sIFsg
U2tpcCBdCittZWRpYS9waWN0dXJlLWluLXBpY3R1cmUvcGljdHVyZS1pbi1waWN0dXJlLWFwaS1l
bnRlci1waXAtNC5odG1sIFsgU2tpcCBdCittZWRpYS9waWN0dXJlLWluLXBpY3R1cmUvcGljdHVy
ZS1pbi1waWN0dXJlLWFwaS1ldmVudHMuaHRtbCBbIFNraXAgXQorbWVkaWEvcGljdHVyZS1pbi1w
aWN0dXJlL3BpY3R1cmUtaW4tcGljdHVyZS1hcGktZXhpdC1waXAtMS5odG1sIFsgU2tpcCBdCitt
ZWRpYS9waWN0dXJlLWluLXBpY3R1cmUvcGljdHVyZS1pbi1waWN0dXJlLWFwaS1waXAtd2luZG93
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3BpY3R1cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBpY3R1
cmUtaW50ZXJydXB0aW9uLmh0bWwgWyBTa2lwIF0KK21lZGlhL3BpcC12aWRlby1nb2luZy1pbnRv
LWZ1bGxzY3JlZW4uaHRtbCBbIFNraXAgXQorbWVkaWEvcHJlc2VudGF0aW9ubW9kZWNoYW5nZWQt
ZmlyZWQtb25jZS5odG1sIFsgU2tpcCBdCittZWRpYS9wcm9ncmVzcy1ldmVudHMtZ2VuZXJhdGVk
LWNvcnJlY3RseS5odG1sIFsgU2tpcCBdCittZWRpYS9yZW1vdGVwbGF5YmFjay1wcm9tcHQuaHRt
bCBbIFNraXAgXQorCittZWRpYS9zZXNzaW9uIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL2F1ZGlv
L2F1ZGlvLXRyYWNrLW1rdi12b3JiaXMtYWRkdHJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdHJh
Y2svYXVkaW8vYXVkaW8tdHJhY2stbWt2LXZvcmJpcy1lbmFibGVkLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3RyYWNrL2F1ZGlvL2F1ZGlvLXRyYWNrLW1rdi12b3JiaXMtbGFuZ3VhZ2UuaHRtbCBbIFNr
aXAgXQorCittZWRpYS90cmFjay9pbi1iYW5kIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL29wZXJh
L2lkbC9tZWRpYS1pZGwtdGVzdHMuaHRtbCBbIFNraXAgXQorCittZWRpYS90cmFjay9yZWdpb25z
LXdlYnZ0dC92dHQtcmVnaW9uLWRpc3BsYXkuaHRtbCBbIFNraXAgXQorCittZWRpYS90cmFjay90
ZXh0dHJhY2tjdWUvdGV4dHRyYWNrY3VlLWRpc3BsYXljdWUuaHRtbCBbIFNraXAgXQorbWVkaWEv
dHJhY2svdHJhY2stY3VlLWNzcy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay90cmFjay1jdWUt
bWlzc2luZy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLXZl
cnRpY2FsLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmcuaHRt
bCBbIFNraXAgXQorbWVkaWEvdHJhY2svdHJhY2stY3Vlcy1wYXVzZS1vbi1leGl0Lmh0bWwgIFsg
U2tpcCBdCittZWRpYS90cmFjay90cmFjay1mb3JjZWQtc3VidGl0bGVzLWluLWJhbmQuaHRtbCBb
IFNraXAgXQorbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1tb2RlLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3VidGl0bGVzLXRvby1sYXJnZS5odG1sIFsgU2tpcCBd
CittZWRpYS90cmFjay90cmFjay1sb25nLXdvcmQtY29udGFpbmVyLXNpemluZy5odG1sIFsgU2tp
cCBdCittZWRpYS90cmFjay90cmFjay1wcmVmZXItY2FwdGlvbnMuaHRtbCBbIFNraXAgXQorbWVk
aWEvdHJhY2svdHJhY2stdXNlci1wcmVmZXJlbmNlcy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFj
ay92aWRlby92aWRlby10cmFjay1ta3YtdGhlb3JhLWFkZHRyYWNrLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3RyYWNrL3ZpZGVvL3ZpZGVvLXRyYWNrLW1rdi10aGVvcmEtbGFuZ3VhZ2UuaHRtbCBbIFNr
aXAgXQorbWVkaWEvdHJhY2svdmlkZW8vdmlkZW8tdHJhY2stbWt2LXRoZW9yYS1zZWxlY3RlZC5o
dG1sIFsgU2tpcCBdCittZWRpYS90cmFjay93M2MvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvYWxp
Z24uaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdzNjL3RyYWNrL3dlYnZ0dC9hdWRpb19oYXNf
bm9fc3VidGl0bGVzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3czYy90cmFjay93ZWJ2dHQv
YXVkaW9faGFzX25vX3N1YnRpdGxlcy5odG1sIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL29wZXJh
L2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRNTE1lZGlhRWxlbWVudC9jcm9zc09yaWdpbi5odG1s
IFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL0hUTUxFbGVtZW50L0hUTUxU
cmFja0VsZW1lbnQva2luZC5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZh
Y2VzL0hUTUxFbGVtZW50L0hUTUxUcmFja0VsZW1lbnQvc3JjLmh0bWwgWyBTa2lwIF0KK21lZGlh
L3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2dldEN1ZUFzSFRNTC5odG1sIFsg
U2tpcCBdCittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9saW5lLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL3Nu
YXBUb0xpbmVzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4
dFRyYWNrQ3VlL3RleHQuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNl
cy9UZXh0VHJhY2tDdWUvdmVydGljYWwuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEv
dHJhY2svd2VidnR0L3BhcnNpbmctY3VlLWRhdGEvdGVzdHMvZW50aXRpZXMuaHRtbCBbIFNraXAg
XQorbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmctY3VlLWRhdGEvdGVzdHMv
dGFncy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2lu
Zy1jdWUtZGF0YS90ZXN0cy90aW1lc3RhbXBzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29w
ZXJhL3RyYWNrL3dlYnZ0dC9wYXJzaW5nLWN1ZS1kYXRhL3Rlc3RzL3RyZWUtYnVpbGRpbmcuaHRt
bCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmcvMDAxLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcvYWRo
b2MvMTIzNDVfdGltZXN0YW1wcy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS90cmFj
ay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL2N1ZV9mb250X3NpemVfdHJhbnNpdGlvbi5odG1sIFsg
U2tpcCBdCittZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jL3Zv
aWNlX3dpdGhfZXZpbF90aW1lc3RhbXAuaHRtbCBbIFNraXAgXQorCittZWRpYS92aWRlby1iYWNr
Z3JvdW5kLXBsYXliYWNrLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNhbnZhcy1jcmVhdGVQ
YXR0ZXJuLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNhbnZhcy1kcmF3aW5nLW91dHB1dC5o
dG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jYW52YXMuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlk
ZW8tY29sb3JzcGFjZS15dXY0MjAuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29sb3JzcGFj
ZS15dXY0MjIuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29uY3VycmVudC1wbGF5YmFjay5o
dG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb25jdXJyZW50LXZpc2libGUtcGxheWJhY2suaHRt
bCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbGxlci1jaGlsZC1yYXRlLmh0bWwgWyBTa2lw
IF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1oaWRlLW9uLWNsaWNr
LW91dHNpZGUuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJh
Y2ttZW51LWhpZGUtb24tY2xpY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMt
Y2FwdGlvbnMtdHJhY2ttZW51LWluY2x1ZGVzLWVuYWJsZWQtdHJhY2suaHRtbCBbIFNraXAgXQor
bWVkaWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51Lmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNv
bnRyb2xzLWZ1bGxzY3JlZW4tdm9sdW1lLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRy
b2xzLW5vLXNjcmlwdGluZy5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb250cm9scy1zaG93
LW9uLWtiLW9yLWF4LWV2ZW50Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLXRv
Z2dsaW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWRvZXMtbm90LWxvb3AuaHRtbCBbIFNr
aXAgXQorbWVkaWEvdmlkZW8tZXJyb3ItZG9lcy1ub3QtZXhpc3QuaHRtbCBbIFNraXAgXQorbWVk
aWEvdmlkZW8tZnVsbHNjcmVlbi1vbmx5LXBsYXliYWNrLmh0bWwgWyBTa2lwIF0KK21lZGlhL3Zp
ZGVvLWluYWN0aXZlLXBsYXliYWNrLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWlzcGxheWlu
Z3RvYXV0b21vdGl2ZWhlYWR1bml0Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW1haW4tY29u
dGVudC1hbGxvdy10aGVuLWRlbnkuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tbWFpbi1jb250
ZW50LWFsbG93LXRoZW4tc2Nyb2xsLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW1haW4tY29u
dGVudC1hbGxvdy5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYXV0b3Bs
YXkuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tbXVsdGlwbGUtY29uY3VycmVudC1wbGF5YmFj
ay5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1vYmplY3QtZml0LWNoYW5nZS5odG1sIFsgU2tp
cCBdCittZWRpYS92aWRlby1vcmllbnRhdGlvbi5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1v
cmllbnRhdGlvbi1jYW52YXMuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tcGxheS1hdWRpby1y
ZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1wbGF5YmFjay1y
ZXN0cmljdGlvbi1wbGF5LWJlZm9yZS1sb2FkLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXBs
YXlpbmctYW5kLXBhdXNlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXBsYXlzaW5saW5lLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXJlc3RyaWN0ZWQtaW52aXNpYmxlLWF1dG9wbGF5LWFs
bG93ZWQtaWYtYXVkaWJsZS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1zaXplLWludHJpbnNp
Yy1zY2FsZS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1zcmMtYmxvYi5odG1sIFsgU2tpcCBd
CittZWRpYS92aWRlby10cmFuc2Zvcm1lZC1ieS1qYXZhc2NyaXB0Lmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3ZpZGVvLXVubXV0ZWQtYWZ0ZXItcGxheS1ob2xkcy1zbGVlcC1hc3NlcnRpb24uaHRtbCBb
IFNraXAgXQorbWVkaWEvdmlkZW8td2Via2l0LXBsYXlzaW5saW5lLmh0bWwgWyBTa2lwIF0KKwor
bWVkaWEvVzNDL2F1ZGlvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3N1cHBvcnRlZF9idXRfbm9f
Y29kZWNzX3BhcmFtZXRlcl8xLmh0bWwgWyBTa2lwIF0KK21lZGlhL1czQy9hdWRpby9ldmVudHMv
ZXZlbnRfb3JkZXJfbG9hZHN0YXJ0X3Byb2dyZXNzLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvVzND
L3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX2NvZGVjc19vcmRlcl8yLmh0bWwgWyBTa2lw
IF0KK21lZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV9jb2RlY3Nfb3JkZXJf
My5odG1sIFsgU2tpcCBdCittZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5cGUvY2FuUGxheVR5cGVf
c3VwcG9ydGVkX2J1dF9ub19jb2RlY3NfcGFyYW1ldGVyXzIuaHRtbCBbIFNraXAgXQorbWVkaWEv
VzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3R3b19pbXBsaWVzX29uZV8zLmh0bWwg
WyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV90d29faW1w
bGllc19vbmVfNC5odG1sIFsgU2tpcCBdCittZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5cGUvY2Fu
UGxheVR5cGVfdHdvX2ltcGxpZXNfb25lXzUuaHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL3ZpZGVv
L2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3R3b19pbXBsaWVzX29uZV82Lmh0bWwgWyBTa2lwIF0K
K21lZGlhL1czQy92aWRlby9ldmVudHMvZXZlbnRfcHJvZ3Jlc3NfbWFudWFsLmh0bWwgWyBTa2lw
IF0KK21lZGlhL1czQy92aWRlby9uZXR3b3JrU3RhdGUvbmV0d29ya1N0YXRlX2R1cmluZ19wcm9n
cmVzcy5odG1sIFsgU2tpcCBdCittZWRpYS9XM0MvdmlkZW8vbmV0d29ya1N0YXRlL25ldHdvcmtT
dGF0ZV9kdXJpbmdfbG9hZHN0YXJ0Lmh0bWwgWyBTa2lwIF0KKworcGxhdGZvcm0vbWFjL21lZGlh
IFsgUGFzcyBdCitwbGF0Zm9ybS9tYWMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1hdWRp
by1hdXRvcGxheS5odG1sIFsgU2tpcCBdCitwbGF0Zm9ybS9tYWMvbWVkaWEvYXVkaW8tc2Vzc2lv
bi1jYXRlZ29yeS12aWRlby1wYXVzZWQuaHRtbCBbIFNraXAgXQorcGxhdGZvcm0vbWFjL21lZGlh
L2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnktdmlkZW8tdHJhY2stY2hhbmdlLmh0bWwgWyBTa2lwIF0K
K3BsYXRmb3JtL21hYy9tZWRpYS9hdWRpby1zZXNzaW9uLWRlYWN0aXZhdGVkLXdoZW4tc3VzcGVu
ZGVkLmh0bWwgWyBTa2lwIF0KK3BsYXRmb3JtL21hYy9tZWRpYS92aWRlby1iZXN0LWVsZW1lbnQt
Zm9yLXBsYXliYWNrLWNvbnRyb2xzLXB1cnBvc2UuaHRtbCBbIFNraXAgXQorCiBodHRwL3Rlc3Rz
L21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC1zbG93LWxvYWRpbmcuaHRtbCBbIFBhc3MgXQogaHR0
cC90ZXN0cy9tZWRpYS90cmFjay90cmFjay13ZWJ2dHQtc2xvdy1sb2FkaW5nLTIuaHRtbCBbIFBh
c3MgXQogaHR0cC90ZXN0cy9tZWRpYS9obHMvaGxzLXdlYnZ0dC10cmFja3MuaHRtbCBbIFBhc3Mg
XQogaHR0cC90ZXN0cy9tZWRpYS90cmFjay1pbi1iYW5kLWhscy1tZXRhZGF0YS5odG1sIFsgUGFz
cyBdCiBodHRwL3Rlc3RzL21lZGlhL3RyYWNrLWluLWJhbmQtaGxzLW1ldGFkYXRhLWNyYXNoLmh0
bWwgWyBQYXNzIF0KIAotbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1jdWVzLWFkZGVkLW9uY2Uu
aHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS5odG1sIFsgUGFz
cyBdCi1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLWR1cGxpY2F0ZS10cmFja3Mtd2hlbi1zb3Vy
Y2UtY2hhbmdlcy5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLWxlZ2Fj
eS1hcGkuaHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC5odG1sIFsgUGFz
cyBdCi1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLW1ldGFkYXRhLWRpc3BsYXktb3JkZXIuaHRt
bCBbIFBhc3MgXQotCiBhY2Nlc3NpYmlsaXR5L21lZGlhLWVsZW1lbnQuaHRtbCBbIFNraXAgXQog
ZmFzdC9ibG9jay9mbG9hdC9saXN0LW1hcmtlci1pcy1mbG9hdC1jcmFzaC5odG1sIFsgU2tpcCBd
CiBmYXN0L2Nzcy9yZWxhdGl2ZS1wb3NpdGlvbi1yZXBsYWNlZC1pbi10YWJsZS1kaXNwbGF5LWNy
YXNoLmh0bWwgWyBTa2lwIF0KQEAgLTI2Miw3ICs0MDQsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1lcnJvci5odG1s
IFsgUwogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L3N1cHBvcnQvTWVkaWFSZWNvcmRlci1pZnJhbWUuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGljdHVyZS1pbi1waWN0dXJlL21lZGlhc3RyZWFtLmh0bWwgWyBT
a2lwIF0KLXBsYXRmb3JtL21hYy9tZWRpYSBbIFNraXAgXQogCiB3ZWJnbCBbIFNraXAgXQogaHR0
cC90ZXN0cy9zZWN1cml0eS93ZWJnbC1yZW1vdGUtcmVhZC1yZW1vdGUtaW1hZ2UtYWxsb3dlZC5o
dG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392093</attachid>
            <date>2020-02-29 22:12:19 -0800</date>
            <delta_ts>2020-03-02 05:42:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208423-20200229221217.patch</filename>
            <type>text/plain</type>
            <size>64188</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Njg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYzNWRlYzYzMTE4YTll
ZDVhZmIyMGMwZTNjYzhjYmViNTJjMWZlNS4uMGE0YTlmYzY4NTJlZjg3OTQ3NzQ4N2RiMWJjNmU1
OTdiZjUyMGY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAyLTI5ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBQbHVt
YiB0aHJvdWdoIG1vcmUgTWVkaWFQbGF5ZXIgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81OTkyNDM4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIHVuc2tpcHBlZCB+MTIwMCBleGlzdGluZyBtZWRpYSB0ZXN0cy4K
KworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxheSk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGll
bnQ6Om1lZGlhUGxheWVyQ29udGVudHNTY2FsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQYXVzZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQbGF5KTogRGVsZXRlZC4KKwog
MjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBlIHNob3VsZCBiZSBk
b25lIGluIHRoZSBVSSBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZiNDBlZjg0OWQxY2MwZGFiYzYxYWUx
ODU1ZjJiNzRiNTNjODNmZDYuLmQzMDhiZWVmMDE1YTg3YzVmZTJjZDI2MDk3NGUxYThhMTI5ZjNj
MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjAtMDItMjkgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFBsdW1iIHRocm91Z2gg
bW9yZSBNZWRpYVBsYXllciBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5OTI0Mzg2
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojp1cGRhdGVWaWRlb0Z1bGxz
Y3JlZW5JbmxpbmVJbWFnZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1
bGxzY3JlZW5HcmF2aXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0Vm9sdW1lKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6
OnNldEJ1ZmZlcmluZ1BvbGljeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5Ojp2aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hhbmdlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojph
Y2Nlc3NMb2cpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eTo6ZXJyb3JMb2cpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUGF1c2UpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
clBsYXkpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oOgorCiAyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJ
IHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3Bw
CmluZGV4IDUzNjY3NGFlZjMzZGFjOGU4ZWZlOTAzMDJiY2Y5Mzk2ZDJkZDUzMzkuLmJmYmI3YWE2
NTU1OTRhMDFhYTY3YzNjNDU0NmFmNWFjNTJlOTkwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcApA
QCAtMjQ4LDExICsyNDgsMTEgQEAgYXV0byBNZWRpYUNvbnRyb2xzSG9zdDo6ZXh0ZXJuYWxEZXZp
Y2VUeXBlKCkgY29uc3QgLT4gRGV2aWNlVHlwZQogICAgIH0KICAgICAKICAgICBzd2l0Y2ggKHBs
YXllci0+d2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSkgewotICAgIGNhc2UgTWVkaWFQbGF5
ZXI6OlRhcmdldFR5cGVOb25lOgorICAgIGNhc2UgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZToKICAgICAgICAgcmV0dXJuIERldmljZVR5cGU6
Ok5vbmU7Ci0gICAgY2FzZSBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZUFpclBsYXk6CisgICAgY2Fz
ZSBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVBaXJQ
bGF5OgogICAgICAgICByZXR1cm4gRGV2aWNlVHlwZTo6QWlycGxheTsKLSAgICBjYXNlIE1lZGlh
UGxheWVyOjpUYXJnZXRUeXBlVFZPdXQ6CisgICAgY2FzZSBNZWRpYVBsYXllcjo6V2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVUVk91dDoKICAgICAgICAgcmV0dXJuIERldmlj
ZVR5cGU6OlR2b3V0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKaW5kZXggZmRjNzI4YWI2ODY3MzI0ZmExNzBlN2VhMDAwYzEzNzdhNzgxYzk1My4uODMz
MmJjNTc2MDQyYjQ2YTczMDU5MWJlNWQ0YzAxYTMyNmRmYTVkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MDkyLDE2ICs3MDkyLDYgQEAgZmxvYXQgSFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29uc3QKICAgICByZXR1
cm4gMTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKCkKLXsK
LSAgICBwYXVzZSgpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxh
eSgpCi17Ci0gICAgcGxheSgpOwotfQotCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxh
eWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWlyZWQoKSBjb25zdAogewogICAgIHJl
dHVybiAhbV92b2x1bWVJbml0aWFsaXplZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKaW5kZXggZWYwMGMzNTAzOTU1MmFiNDgyNWIzNjhiOTMxZmY0ZjFmMWY0YzVmMy4uZDUx
MTRjYTIyZjAzYWMyMWZmNzUyYTFmZDU2NjEwNjMzODQwODBkMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTcyMiw4ICs3MjIsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0UmVjdCBt
ZWRpYVBsYXllckNvbnRlbnRCb3hSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgZmxvYXQgbWVk
aWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBtZWRpYVBs
YXllclBhdXNlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBtZWRpYVBsYXllclBsYXkoKSBvdmVycmlk
ZTsKICAgICBib29sIG1lZGlhUGxheWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWly
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIG1lZGlhUGxheWVySXNMb29waW5nKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVk
UmVzb3VyY2VMb2FkZXIoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA4NmI0NzNkMzhhMGNiNWE4MGUwMjYwZmNj
ZGEwYzhlODdjNGFlMzZjLi42MTlkNmUxMDE2ZWMwNGU0NzE0MWY5MmI4OGE5ZmFlOWYzOGNjMzE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
Y3BwCkBAIC0xMDg3LDExICsxMDg3LDYgQEAgYm9vbCBNZWRpYVBsYXllcjo6c3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c3VwcG9ydHNB
Y2NlbGVyYXRlZFJlbmRlcmluZygpOwogfQogCi1ib29sIE1lZGlhUGxheWVyOjpzaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5zaG91bGRN
YWludGFpbkFzcGVjdFJhdGlvKCk7Ci19Ci0KIHZvaWQgTWVkaWFQbGF5ZXI6OnNldFNob3VsZE1h
aW50YWluQXNwZWN0UmF0aW8oYm9vbCBtYWludGFpbkFzcGVjdFJhdGlvKQogewogICAgIG1fcHJp
dmF0ZS0+c2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhtYWludGFpbkFzcGVjdFJhdGlvKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4
IGE3NWFhY2ExZWJlMzhmZDcxZDA4ODg2NWM4MWQwMzU0ZmNhZTNhNjkuLmRmMTU3MzRjN2JkMDlh
NmY0ZTMxNmRjZmEyMGM0N2VhYTg5YmNiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjIyLDggKzIyMiw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIExheW91dFJlY3QgbWVkaWFQbGF5ZXJDb250ZW50Qm94UmVjdCgpIGNv
bnN0IHsgcmV0dXJuIExheW91dFJlY3QoKTsgfQogICAgIHZpcnR1YWwgZmxvYXQgbWVkaWFQbGF5
ZXJDb250ZW50c1NjYWxlKCkgY29uc3QgeyByZXR1cm4gMTsgfQotICAgIHZpcnR1YWwgdm9pZCBt
ZWRpYVBsYXllclBhdXNlKCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyUGxheSgp
IHsgfQogICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllclBsYXRmb3JtVm9sdW1lQ29uZmlndXJh
dGlvblJlcXVpcmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
bWVkaWFQbGF5ZXJJc0xvb3BpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVkUmVzb3VyY2VMb2FkZXIo
KSB7IHJldHVybiBudWxscHRyOyB9CkBAIC00NjEsOCArNDU5LDggQEAgcHVibGljOgogICAgIGJv
b2wgaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0OwogICAgIHZvaWQgcHJlcGFyZUZvclJl
bmRlcmluZygpOwogCisgICAgdXNpbmcgTWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFj
a1RhcmdldFR5cGU7CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICBl
bnVtIFdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHsgVGFyZ2V0VHlwZU5vbmUsIFRhcmdldFR5
cGVBaXJQbGF5LCBUYXJnZXRUeXBlVFZPdXQgfTsKICAgICBXaXJlbGVzc1BsYXliYWNrVGFyZ2V0
VHlwZSB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpIGNvbnN0OwogCiAgICAgU3RyaW5nIHdp
cmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3Q7CkBAIC00ODgsNyArNDg2LDYgQEAgcHVi
bGljOgogICAgIC8vIGNhbGxlZCB3aGVuIHRoZSByZW5kZXJpbmcgc3lzdGVtIGZsaXBzIHRoZSBp
bnRvIG9yIG91dCBvZiBhY2NlbGVyYXRlZCByZW5kZXJpbmcgbW9kZS4KICAgICB2b2lkIGFjY2Vs
ZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCk7CiAKLSAgICBib29sIHNob3VsZE1haW50YWlu
QXNwZWN0UmF0aW8oKSBjb25zdDsKICAgICB2b2lkIHNldFNob3VsZE1haW50YWluQXNwZWN0UmF0
aW8oYm9vbCk7CiAKICNpZiBQTEFURk9STShXSU4pICYmIFVTRShBVkZPVU5EQVRJT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1z
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgK
aW5kZXggYTlmMDQ5ZjdiZjEzNTNlZDc0YmJjOTYyNGQyNDJkZGY3NzQ3MTk3OS4uYTAwMTU5NzFh
ODIyYjQ2ZjdhY2MxYjg4MDMwMzhhMjcxYTQ2NzFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJFbnVtcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyRW51bXMuaApAQCAtOTksNiArOTksMTMg
QEAgcHVibGljOgogICAgICAgICBNZWRpYUZvdW5kYXRpb24sCiAgICAgICAgIE1vY2tNU0UsCiAg
ICAgfTsKKworICAgIGVudW0gY2xhc3MgV2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgOiB1aW50
OF90IHsKKyAgICAgICAgVGFyZ2V0VHlwZU5vbmUsCisgICAgICAgIFRhcmdldFR5cGVBaXJQbGF5
LAorICAgICAgICBUYXJnZXRUeXBlVFZPdXQKKyAgICB9OworCiB9OwogCiBTdHJpbmcgY29udmVy
dEVudW1lcmF0aW9uVG9TdHJpbmcoTWVkaWFQbGF5ZXJFbnVtczo6UmVhZHlTdGF0ZSk7CkBAIC0y
MjQsNCArMjMxLDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyPiB7CiAgICAgPjsKIH07CiAKK3Rl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGU+IHsKK3VzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Cisg
ICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUs
CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5
cGU6OlRhcmdldFR5cGVOb25lLAorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVs
ZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlQWlyUGxheSwKKyAgICBXZWJDb3JlOjpN
ZWRpYVBsYXllckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZVRW
T3V0CisgICAgPjsKK307CisKIH07IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggMWJk
NDA5NWEwOTYzOGNjOTE3NmEwNGQzNGZiYzExMmZjMjVmMzJkYy4uMTcwNzU5M2QyMjkzNDYyYTkx
NTY3M2JiOTJkMGUxZDYzZWZmOTgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKIAogICAgIHZpcnR1
YWwgU3RyaW5nIHdpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3QgeyByZXR1cm4gZW1w
dHlTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tU
YXJnZXRUeXBlIHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QgeyByZXR1cm4gTWVk
aWFQbGF5ZXI6OlRhcmdldFR5cGVOb25lOyB9CisgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6V2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25z
dCB7IHJldHVybiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdl
dFR5cGVOb25lOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFdpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wpIHsgfQpAQCAtMTg1LDcgKzE4NSw2IEBAIHB1
YmxpYzoKICAgICAvLyBjYWxsZWQgd2hlbiB0aGUgcmVuZGVyaW5nIHN5c3RlbSBmbGlwcyB0aGUg
aW50byBvciBvdXQgb2YgYWNjZWxlcmF0ZWQgcmVuZGVyaW5nIG1vZGUuCiAgICAgdmlydHVhbCB2
b2lkIGFjY2VsZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgeyB9CiAKLSAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhib29sKSB7IH0K
IAogICAgIHZpcnR1YWwgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uLmgKaW5kZXggMWEyMGMwNWJlNGNjMDEzN2EwNjJmM2ZjZTM4NGI1YTU1ZWI2
ODk0My4uMmU1NDY3MDFjNzhkYjQ0OTllYWE4YmFmM2JmM2JiNjk0N2YxNTM5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAt
MTk0LDcgKzE5NCw3IEBAIHByb3RlY3RlZDoKICAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxh
eWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAgIGJvb2wgc3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZygpIGNvbnN0IG92ZXJyaWRlID0gMDsKICAgICB2b2lkIGFjY2VsZXJh
dGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBzaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zaG91bGRNYWludGFp
bkFzcGVjdFJhdGlvOyB9CisgICAgYm9vbCBzaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRNYWludGFpbkFzcGVjdFJhdGlvOyB9CiAgICAgdm9pZCBzZXRT
aG91bGRNYWludGFpbkFzcGVjdFJhdGlvKGJvb2wpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuU2F2
ZU1lZGlhRGF0YSgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRl
eCBkN2NmYmY5ZDc0MjE2MTJjOTkxYWQ3YjMwMzU1YmE5ZTFkYmMyZDc2Li44ZDE5NTJhOTQ0Y2Rj
N2VkN2Q0Nzc5M2M3M2E4Mzk3MzdlMDJiNWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAg
LTI2MTksNyArMjYxOSw3IEBAIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdAogI2lmIEVOQUJMRShXSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpCiAvLyBBVlBsYXllckl0ZW0udHJhY2tzIGlzIGVtcHR5IGR1
cmluZyBBaXJQbGF5IHNvIGlmIEFpclBsYXkgaXMgYWN0aXZhdGVkIGltbWVkaWF0ZWx5CiAvLyBh
ZnRlciB0aGUgaXRlbSBpcyBjcmVhdGVkLCB3ZSBkb24ndCBrbm93IGlmIGl0IGhhcyBhdWRpbyBv
ciB2aWRlbyBhbmQgc3RhdGUgcmVwb3J0ZWQKLS8vIHRvIHRoZSBXZWJNZWRpYVNlc3Npb25NYW5h
Z2VyIGlzIGluY29ycmVjdC4gQWlyUGxheSBjYW4ndCBhY3R1YWxseSBiZSBhY3RpdmUgaXMgYW4g
aXRlbQorLy8gdG8gdGhlIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXIgaXMgaW5jb3JyZWN0LiBBaXJQ
bGF5IGNhbid0IGFjdHVhbGx5IGJlIGFjdGl2ZSBpZiBhbiBpdGVtCiAvLyBkb2Vzbid0IGhhdmUg
YXVkaW8gb3IgdmlkZW8sIHNvIGxpZSBkdXJpbmcgQWlyUGxheS4KIAogYm9vbCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpoYXNWaWRlbygpIGNvbnN0CkBAIC0yNjYxLDI2ICsy
NjYxLDI2IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aXNDdXJy
ZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcygpIGNvbnN0CiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6d2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25zdAogewogICAgIGlmICghbV9hdlBsYXllcikK
LSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICAgICAgcmV0
dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5v
bmU7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmICghUEFMOjppc0FWRm91bmRh
dGlvbkZyYW1ld29ya0F2YWlsYWJsZSgpKQotICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OlRh
cmdldFR5cGVOb25lOworICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsKIAogICAgIHN3aXRjaCAoW21fYXZQbGF5ZXIg
ZXh0ZXJuYWxQbGF5YmFja1R5cGVdKSB7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJh
Y2tUeXBlTm9uZToKLSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsK
KyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6
VGFyZ2V0VHlwZU5vbmU7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlQWly
UGxheToKLSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlQWlyUGxheTsKKyAg
ICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFy
Z2V0VHlwZUFpclBsYXk7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlVFZP
dXQ6Ci0gICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZVRWT3V0OworICAgICAg
ICByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRU
eXBlVFZPdXQ7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICByZXR1cm4gTWVkaWFQbGF5ZXI6Oldp
cmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsKIAogI2Vsc2UKLSAgICBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OlRhcmdldFR5cGVBaXJQbGF5OworICAgIHJldHVybiBNZWRpYVBs
YXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVBaXJQbGF5OwogI2Vu
ZGlmCiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAppbmRleCA5MTQ4OTBm
ZjY0YmEzMjM1OGY2ZDBiYmJjNjVkZTU0YzUwYWZjYTY2Li44MjY0ZjNjNzYwMmJiNTZmNGRlN2M4
MWFlZmEzYmIxNmRmODIyNmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKQEAg
LTE5MiwyNCArMTkyLDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c3Vw
cG9ydHNLZXlTeXN0ZW0oTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmcKICAgICBjb21wbGV0aW9u
SGFuZGxlcihyZXN1bHQpOwogfQogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
U3RyaW5nKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBpZiAoYXV0byBwbGF5ZXIgPSBt
X3Byb3hpZXMuZ2V0KHBsYXllcklkZW50aWZpZXIpKSB7Ci0gICAgICAgIFN0cmluZyBsb2cgPSBw
bGF5ZXItPmFjY2Vzc0xvZygpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihsb2cpOwotICAg
IH0KLX0KLQotdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZXJyb3JMb2coTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgaWYg
KGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkgewotICAgICAg
ICBTdHJpbmcgbG9nID0gcGxheWVyLT5lcnJvckxvZygpOwotICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihsb2cpOwotICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5OjpkaWRSZWNlaXZlUGxheWVyTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoYXV0byogcGxheWVyID0g
bV9wcm94aWVzLmdldChtYWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVJZGVudGlmaWVyVHlwZT4oZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5LmgKaW5kZXggMjlkZGMyMDQ1MDI1N2I0NmQ5MTYwMzEwZDY4MzY1NDhlY2Jm
MThiMS4uYWUzMjhjYjdkMDkzNjI2YWIyYjMyN2NkNWE2MzM0NjBmZDcwNDE0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5LmgKQEAgLTg0LDExICs4NCw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBjbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiYsIFZlY3RvcjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGE+JiYpOwogICAgIHZvaWQgc3VwcG9ydHNLZXlTeXN0ZW0oV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmJiwg
Y29uc3QgU3RyaW5nJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIGFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZh
dGVSZW1vdGVJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOwot
ICAgIHZvaWQgZXJyb3JMb2coTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKLSNlbmRpZgotCiAgICAgSGFzaE1hcDxN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eT4+IG1fcHJveGllczsKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBjODZiZGE1N2MyYjk0OGM1ZDBmNDhlODVj
MWNkNjczYTA3ODdiYmFmLi40Y2JkNDYxNGI2MmI4YzNlN2Q0ZjU2Y2E5NTBjOTQ0NzYxMjk5MzJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0z
NCwxMSArMzQsNiBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBO
b3RSZWZDb3VudGVkIHsKICAgICBDbGVhck1lZGlhQ2FjaGUoZW51bTp1aW50OF90IFdlYkNvcmU6
Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVu
dGlmaWVyLCBTdHJpbmcgcGF0aCwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSkKICAgICBDbGVhck1l
ZGlhQ2FjaGVGb3JPcmlnaW5zKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllciwgU3RyaW5nIHBh
dGgsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMpCiAgICAgU3Vw
cG9ydHNLZXlTeXN0ZW0oZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcga2V5U3lz
dGVtLCBTdHJpbmcgbWltZVR5cGUpIC0+IChib29sIHN1cHBvcnRzKSBTeW5jaHJvbm91cwotCi0j
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBBY2Nlc3NMb2coV2ViS2l0OjpNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIpIC0+IChTdHJpbmcgYWNj
ZXNzTG9nKSBTeW5jaHJvbm91cwotICAgIEVycm9yTG9nKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyKSAtPiAoU3RyaW5nIGVycm9yTG9n
KSBTeW5jaHJvbm91cwotI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4
IDYzMmIxM2RlNmNkYzBiZmNkOTU1YmVhNzU4MDFjMGI4MzI0YTI3MDEuLjlhNDBkZDAzZWVhOTc5
NzRmMDVlYjNjZWJlMzAwODVhOTUyYjY3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTgzLDYg
KzgzLDggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjppbnZhbGlkYXRlKCkKIHZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Z2V0Q29uZmlndXJhdGlvbihSZW1vdGVNZWRpYVBsYXll
ckNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiB7CiAgICAgY29uZmlndXJhdGlvbi5lbmdp
bmVEZXNjcmlwdGlvbiA9IG1fcGxheWVyLT5lbmdpbmVEZXNjcmlwdGlvbigpOworICAgIGF1dG8g
bWF4RHVyYXRpb24gPSBtX3BsYXllci0+bWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSgp
OworICAgIGNvbmZpZ3VyYXRpb24ubWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSA9IG1h
eER1cmF0aW9uID8gbWF4RHVyYXRpb24gOiAwLjI7CiAgICAgY29uZmlndXJhdGlvbi5zdXBwb3J0
c1NjYW5uaW5nID0gbV9wbGF5ZXItPnN1cHBvcnRzU2Nhbm5pbmcoKTsKICAgICBjb25maWd1cmF0
aW9uLnN1cHBvcnRzRnVsbHNjcmVlbiA9IG1fcGxheWVyLT5zdXBwb3J0c0Z1bGxzY3JlZW4oKTsK
ICAgICBjb25maWd1cmF0aW9uLnN1cHBvcnRzUGljdHVyZUluUGljdHVyZSA9IG1fcGxheWVyLT5z
dXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKQEAgLTI2NSw3ICsyNjcsMTcgQEAgdm9pZCBSZW1v
dGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck5ldHdvcmtTdGF0ZUNoYW5nZWQoKQogdm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJlYWR5U3RhdGVDaGFuZ2VkKCkK
IHsKICAgICB1cGRhdGVDYWNoZWRTdGF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuY2FuU2F2ZU1l
ZGlhRGF0YSA9IG1fcGxheWVyLT5jYW5TYXZlTWVkaWFEYXRhKCk7CisgICAgbV9jYWNoZWRTdGF0
ZS5zdGFydERhdGUgPSBtX3BsYXllci0+Z2V0U3RhcnREYXRlKCk7CisgICAgbV9jYWNoZWRTdGF0
ZS5zdGFydFRpbWUgPSBtX3BsYXllci0+c3RhcnRUaW1lKCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5u
YXR1cmFsU2l6ZSA9IG1fcGxheWVyLT5uYXR1cmFsU2l6ZSgpOworICAgIG1fY2FjaGVkU3RhdGUu
bWF4RmFzdEZvcndhcmRSYXRlID0gbV9wbGF5ZXItPm1heEZhc3RGb3J3YXJkUmF0ZSgpOworICAg
IG1fY2FjaGVkU3RhdGUubWluRmFzdFJldmVyc2VSYXRlID0gbV9wbGF5ZXItPm1pbkZhc3RSZXZl
cnNlUmF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSA9IG1f
cGxheWVyLT5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCk7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJl
bGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCA9IG1fcGxheWVyLT53aXJlbGVzc1ZpZGVvUGxheWJh
Y2tEaXNhYmxlZCgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4g
PSBtX3BsYXllci0+aGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKTsKKyAgICBtX2NhY2hlZFN0YXRl
LmRpZFBhc3NDT1JTQWNjZXNzQ2hlY2sgPSBtX3BsYXllci0+ZGlkUGFzc0NPUlNBY2Nlc3NDaGVj
aygpOworCiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpSZWFkeVN0YXRlQ2hhbmdlZChtX2NhY2hlZFN0YXRlKSwgbV9p
ZCk7CiB9CiAKQEAgLTM2OSwxMiArMzgxLDIyIEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6bWVkaWFQbGF5ZXJCdWZmZXJlZFRpbWVSYW5nZXNDaGFuZ2VkKCkKIAogdm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclNlZWthYmxlVGltZVJhbmdlc0NoYW5nZWQoKQog
ewotICAgIG1fc2Vla2FibGVDaGFuZ2VkID0gdHJ1ZTsKKyAgICBtX2NhY2hlZFN0YXRlLm1pblRp
bWVTZWVrYWJsZSA9IG1fcGxheWVyLT5taW5UaW1lU2Vla2FibGUoKTsKKyAgICBtX2NhY2hlZFN0
YXRlLm1heFRpbWVTZWVrYWJsZSA9IG1fcGxheWVyLT5tYXhUaW1lU2Vla2FibGUoKTsKKyAgICBt
X2NhY2hlZFN0YXRlLnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgPSBtX3BsYXll
ci0+c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpOworICAgIG1fY2FjaGVkU3Rh
dGUubGl2ZVVwZGF0ZUludGVydmFsID0gbV9wbGF5ZXItPmxpdmVVcGRhdGVJbnRlcnZhbCgpOwor
CisgICAgaWYgKCFtX3VwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyLmlzQWN0aXZlKCkpCisg
ICAgICAgIHNlbmRDYWNoZWRTdGF0ZSgpOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6Om1lZGlhUGxheWVyQ2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCkKIHsKLSAgICBtX3dlYlByb2Nl
c3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OkNo
YXJhY3RlcmlzdGljQ2hhbmdlZChtX3BsYXllci0+aGFzQXVkaW8oKSwgbV9wbGF5ZXItPmhhc1Zp
ZGVvKCksIG1fcGxheWVyLT5tb3ZpZUxvYWRUeXBlKCkpLCBtX2lkKTsKKyAgICB1cGRhdGVDYWNo
ZWRTdGF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzQ2xvc2VkQ2FwdGlvbnMgPSBtX3BsYXll
ci0+aGFzQ2xvc2VkQ2FwdGlvbnMoKTsKKyAgICBtX2NhY2hlZFN0YXRlLmxhbmd1YWdlT2ZQcmlt
YXJ5QXVkaW9UcmFjayA9IG1fcGxheWVyLT5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKTsK
KworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6Q2hhcmFjdGVyaXN0aWNDaGFuZ2VkKG1fY2FjaGVkU3RhdGUpLCBtX2lk
KTsKIH0KIAogYm9vbCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJlbmRlcmlu
Z0NhbkJlQWNjZWxlcmF0ZWQoKQpAQCAtNTE1LDEyICs1MzcsMTYgQEAgdm9pZCBSZW1vdGVNZWRp
YVBsYXllclByb3h5OjptZWRpYVBsYXllcldhaXRpbmdGb3JLZXlDaGFuZ2VkKCkKICNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjptZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2VkKGJvb2wg
aXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcykKIHsKKyAgICBtX2NhY2hlZFN0YXRlLndp
cmVsZXNzUGxheWJhY2tUYXJnZXROYW1lID0gbV9wbGF5ZXItPndpcmVsZXNzUGxheWJhY2tUYXJn
ZXROYW1lKCk7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSA9
IG1fcGxheWVyLT53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpOworICAgIHNlbmRDYWNoZWRT
dGF0ZSgpOwogICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6Q3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5n
ZWQoaXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcyksIG1faWQpOwogfQogCiB2b2lkIFJl
bW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJv
b2wgZGlzYWJsZWQpCiB7CiAgICAgbV9wbGF5ZXItPnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rp
c2FibGVkKGRpc2FibGVkKTsKKyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzVmlkZW9QbGF5YmFj
a0Rpc2FibGVkID0gbV9wbGF5ZXItPndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCk7CiB9
CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tU
YXJnZXQoYm9vbCBzaG91bGRQbGF5KQpAQCAtNTU1LDE2ICs1ODEsNiBAQCBmbG9hdCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckNvbnRlbnRzU2NhbGUoKSBjb25zdAogICAgIHJl
dHVybiBtX3ZpZGVvQ29udGVudFNjYWxlOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6Om1lZGlhUGxheWVyUGF1c2UoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19Ci0KLXZv
aWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJQbGF5KCkKLXsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOwotfQotCiBib29sIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxh
eWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWlyZWQoKSBjb25zdAogewogICAgIG5v
dEltcGxlbWVudGVkKCk7CkBAIC02NTksMTIgKzY3NSw2IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUoKQogICAgIG1fY2FjaGVkU3RhdGUucGF1c2VkID0g
bV9wbGF5ZXItPnBhdXNlZCgpOwogICAgIG1fY2FjaGVkU3RhdGUubG9hZGluZ1Byb2dyZXNzZWQg
PSBtX3BsYXllci0+ZGlkTG9hZGluZ1Byb2dyZXNzKCk7CiAKLSAgICBpZiAobV9zZWVrYWJsZUNo
YW5nZWQpIHsKLSAgICAgICAgbV9zZWVrYWJsZUNoYW5nZWQgPSBmYWxzZTsKLSAgICAgICAgbV9j
YWNoZWRTdGF0ZS5taW5UaW1lU2Vla2FibGUgPSBtX3BsYXllci0+bWluVGltZVNlZWthYmxlKCk7
Ci0gICAgICAgIG1fY2FjaGVkU3RhdGUubWF4VGltZVNlZWthYmxlID0gbV9wbGF5ZXItPm1heFRp
bWVTZWVrYWJsZSgpOwotICAgIH0KLQogICAgIGlmIChtX2J1ZmZlcmVkQ2hhbmdlZCkgewogICAg
ICAgICBtX2J1ZmZlcmVkQ2hhbmdlZCA9IGZhbHNlOwogICAgICAgICBtX2NhY2hlZFN0YXRlLmJ1
ZmZlcmVkUmFuZ2VzID0gKm1fcGxheWVyLT5idWZmZXJlZCgpOwpAQCAtNzEwLDYgKzcyMCwyMSBA
QCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZl
KCkKICAgICBtX3BsYXllci0+YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKIH0KIAordm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpub3RpZnlUcmFja01vZGVDaGFuZ2VkKCkKK3sKKyAg
ICBtX3BsYXllci0+bm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpOworfQorCit2b2lkIFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OnRyYWNrc0NoYW5nZWQoKQoreworICAgIG1fcGxheWVyLT50cmFja3ND
aGFuZ2VkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3luY1RleHRUcmFj
a0JvdW5kcygpCit7CisgICAgbV9wbGF5ZXItPnN5bmNUZXh0VHJhY2tCb3VuZHMoKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyUHJveHkuaAppbmRleCAyYzAxZDBlNWYwMWFmMzJmMzIzYmViYzYxZDhjOGYwYmQ4NGE2MDgx
Li5iNTM3ZjVjZDMzN2JkN2IzNzc4MzVhYzkxNjkwZDI3NmJlZjQ0NGQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5
LmgKQEAgLTE0OCw2ICsxNDgsMTAgQEAgcHVibGljOgogICAgIHZvaWQgYXBwbGljYXRpb25XaWxs
UmVzaWduQWN0aXZlKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpOwog
CisgICAgdm9pZCBub3RpZnlUcmFja01vZGVDaGFuZ2VkKCk7CisgICAgdm9pZCB0cmFja3NDaGFu
Z2VkKCk7CisgICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CisKICAgICBSZWY8V2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVJlc291cmNlPiByZXF1ZXN0UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9w
dGlvbnMpOwogICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50
aWZpZXIpOwogCkBAIC0yMDEsOCArMjA1LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1lZGlhUGxh
eWVySXNGdWxsc2NyZWVuUGVybWl0dGVkKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBs
YXllcklzVmlkZW8oKSBjb25zdCBmaW5hbDsKICAgICBmbG9hdCBtZWRpYVBsYXllckNvbnRlbnRz
U2NhbGUoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIG1lZGlhUGxheWVyUGF1c2UoKSBmaW5hbDsK
LSAgICB2b2lkIG1lZGlhUGxheWVyUGxheSgpIGZpbmFsOwogICAgIGJvb2wgbWVkaWFQbGF5ZXJQ
bGF0Zm9ybVZvbHVtZUNvbmZpZ3VyYXRpb25SZXF1aXJlZCgpIGNvbnN0IGZpbmFsOwogICAgIFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyKiBtZWRpYVBsYXllckNhY2hlZFJlc291cmNlTG9h
ZGVyKCkgZmluYWw7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxv
YWRlcj4gbWVkaWFQbGF5ZXJDcmVhdGVSZXNvdXJjZUxvYWRlcigpIGZpbmFsOwpAQCAtMjYxLDcg
KzI2Myw2IEBAIHByaXZhdGU6CiAgICAgUnVuTG9vcDo6VGltZXI8UmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eT4gbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lcjsKICAgICBSZW1vdGVNZWRpYVBs
YXllclN0YXRlIG1fY2FjaGVkU3RhdGU7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZp
Z3VyYXRpb24gbV9jb25maWd1cmF0aW9uOwotICAgIGJvb2wgbV9zZWVrYWJsZUNoYW5nZWQgeyB0
cnVlIH07CiAgICAgYm9vbCBtX2J1ZmZlcmVkQ2hhbmdlZCB7IHRydWUgfTsKICAgICBib29sIG1f
cmVuZGVyaW5nQ2FuQmVBY2NlbGVyYXRlZCB7IHRydWUgfTsKICAgICBXZWJDb3JlOjpMYXlvdXRS
ZWN0IG1fdmlkZW9Db250ZW50Qm94UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYmMyZDIyNjY2YWRlZGM4YjczMGMyZmJkY2YxYzRmOGYwN2Y3MThlOS4uNWM2NGFm
NTJhOWNlMjczNTRmYmZhNGI0ODU1ZTIyMGE3MmMyOTMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTk0LDYgKzk0LDEwIEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlh
UGxheWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBBcHBsaWNhdGlvbldpbGxSZXNpZ25B
Y3RpdmUoKQogICAgIEFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCkKKworICAgIE5vdGlmeVRy
YWNrTW9kZUNoYW5nZWQoKQorICAgIFRyYWNrc0NoYW5nZWQoKQorICAgIFN5bmNUZXh0VHJhY2tC
b3VuZHMoKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCBm
M2RjODljNmY2MTA5ZjNiNjA1YjlkNWY2ZTQxN2RmOWNhMjcxOWJjLi5mZjY3YjBjZjEzZTYxODNl
NjNkZjgwZGUwZjQyODJjYTY3M2UwMmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CkBAIC0yMTUsMTIgKzIxNSwxMiBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZGlk
TG9hZGluZ1Byb2dyZXNzKCkgY29uc3QKIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
Omhhc1ZpZGVvKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9oYXNWaWRlbzsKKyAgICByZXR1cm4g
bV9jYWNoZWRTdGF0ZS5oYXNWaWRlbzsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6Omhhc0F1ZGlvKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9oYXNBdWRpbzsKKyAgICByZXR1
cm4gbV9jYWNoZWRTdGF0ZS5oYXNBdWRpbzsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3Jt
VGltZVJhbmdlcz4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZWVrYWJsZSgpIGNvbnN0CkBA
IC0yMzgsNyArMjM4LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpidWZmZXJlZCgpIGNvbnN0CiAKIE1lZGlhUGxheWVyOjpN
b3ZpZUxvYWRUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bW92aWVMb2FkVHlwZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fbW92aWVMb2FkVHlwZTsKKyAgICByZXR1cm4gbV9jYWNoZWRT
dGF0ZS5tb3ZpZUxvYWRUeXBlOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
bmV0d29ya1N0YXRlQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYgc3RhdGUpCkBAIC0y
OTYsMTEgKzI5Niw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjplbmdpbmVGYWls
ZWRUb0xvYWQobG9uZyBwbGF0Zm9ybUVycm9yQ29kZSkKICAgICBtX3BsYXllci0+cmVtb3RlRW5n
aW5lRmFpbGVkVG9Mb2FkKCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpj
aGFyYWN0ZXJpc3RpY0NoYW5nZWQoYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRlbywgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNoYXJhY3RlcmlzdGljQ2hhbmdlZChSZW1vdGVNZWRp
YVBsYXllclN0YXRlJiYgc3RhdGUpCiB7Ci0gICAgbV9tb3ZpZUxvYWRUeXBlID0gbW92aWVMb2Fk
VHlwZTsKLSAgICBtX2hhc0F1ZGlvID0gaGFzQXVkaW87Ci0gICAgbV9oYXNWaWRlbyA9IGhhc1Zp
ZGVvOworICAgIHVwZGF0ZUNhY2hlZFN0YXRlKFdURk1vdmUoc3RhdGUpKTsKICAgICBtX3BsYXll
ci0+Y2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCk7CiB9CiAKQEAgLTM2Miw2ICszNjAsMjUgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKFJlbW90ZU1lZGlh
UGxheWVyU3RhdGUmJiBzdGF0ZSkKICAgICBtX2NhY2hlZFN0YXRlLnBhdXNlZCA9IHN0YXRlLnBh
dXNlZDsKICAgICBtX2NhY2hlZFN0YXRlLmxvYWRpbmdQcm9ncmVzc2VkID0gc3RhdGUubG9hZGlu
Z1Byb2dyZXNzZWQ7CiAgICAgbV9jYWNoZWRTdGF0ZS5uYXR1cmFsU2l6ZSA9IHN0YXRlLm5hdHVy
YWxTaXplOworICAgIG1fY2FjaGVkU3RhdGUubW92aWVMb2FkVHlwZSA9IHN0YXRlLm1vdmllTG9h
ZFR5cGU7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSA9IHN0
YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOworCisgICAgbV9jYWNoZWRTdGF0ZS5zdGFy
dERhdGUgPSBzdGF0ZS5zdGFydERhdGU7CisgICAgbV9jYWNoZWRTdGF0ZS5zdGFydFRpbWUgPSBz
dGF0ZS5zdGFydFRpbWU7CisgICAgbV9jYWNoZWRTdGF0ZS5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlv
VHJhY2sgPSBzdGF0ZS5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CisgICAgbV9jYWNoZWRT
dGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGUgPSBzdGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGU7CisgICAg
bV9jYWNoZWRTdGF0ZS5taW5GYXN0UmV2ZXJzZVJhdGUgPSBzdGF0ZS5taW5GYXN0UmV2ZXJzZVJh
dGU7CisgICAgbV9jYWNoZWRTdGF0ZS5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1l
ID0gc3RhdGUuc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZTsKKyAgICBtX2NhY2hl
ZFN0YXRlLmxpdmVVcGRhdGVJbnRlcnZhbCA9IHN0YXRlLmxpdmVVcGRhdGVJbnRlcnZhbDsKKyAg
ICBtX2NhY2hlZFN0YXRlLmNhblNhdmVNZWRpYURhdGEgPSBzdGF0ZS5jYW5TYXZlTWVkaWFEYXRh
OworICAgIG1fY2FjaGVkU3RhdGUuaGFzQXVkaW8gPSBzdGF0ZS5oYXNBdWRpbzsKKyAgICBtX2Nh
Y2hlZFN0YXRlLmhhc1ZpZGVvID0gc3RhdGUuaGFzVmlkZW87CisgICAgbV9jYWNoZWRTdGF0ZS5o
YXNDbG9zZWRDYXB0aW9ucyA9IHN0YXRlLmhhc0Nsb3NlZENhcHRpb25zOworICAgIG1fY2FjaGVk
U3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSA9IHN0YXRlLmhhc0F2YWlsYWJsZVZpZGVvRnJh
bWU7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCA9IHN0
YXRlLndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOworICAgIG1fY2FjaGVkU3RhdGUuaGFz
U2luZ2xlU2VjdXJpdHlPcmlnaW4gPSBzdGF0ZS5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKKyAg
ICBtX2NhY2hlZFN0YXRlLmRpZFBhc3NDT1JTQWNjZXNzQ2hlY2sgPSBzdGF0ZS5kaWRQYXNzQ09S
U0FjY2Vzc0NoZWNrOworCiAgICAgaWYgKHN0YXRlLmJ1ZmZlcmVkUmFuZ2VzLmxlbmd0aCgpKQog
ICAgICAgICBtX2NhY2hlZEJ1ZmZlcmVkVGltZVJhbmdlcyA9IG1ha2VVbmlxdWU8UGxhdGZvcm1U
aW1lUmFuZ2VzPihzdGF0ZS5idWZmZXJlZFJhbmdlcyk7CiB9CkBAIC01NzEsOCArNTg4LDYgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlbW90ZVZpZGVvVHJhY2tDb25maWd1cmF0
aW9uQ2hhbmdlZChUcmFja1ByaXZhdGUKICAgICAgICAgdHJhY2stPnVwZGF0ZUNvbmZpZ3VyYXRp
b24oV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiB9CiAKLS8vIEZJWE1FOiBVbmltcGxlbWVudGVk
Ci0KICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKQEAg
LTU5MCw3ICs2MDUsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25z
dCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisKICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlz
KSwgdGhpc10gewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtNjU2LDcgKzY3Miw3IEBAIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmFjY2Vz
c0xvZygpIGNvbnN0CiB7CiAgICAgU3RyaW5nIGxvZzsKICAgICAKLSAgICBpZiAoIWNvbm5lY3Rp
b24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OkFj
Y2Vzc0xvZyhtX2lkKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpB
Y2Nlc3NMb2c6OlJlcGx5KGxvZyksIG1faWQpKQorICAgIGlmICghY29ubmVjdGlvbigpLnNlbmRT
eW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpBY2Nlc3NMb2cobV9pZCksIE1l
c3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpBY2Nlc3NMb2c6OlJlcGx5KGxvZyksIG1f
aWQpKQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIHJldHVybiBsb2c7CkBA
IC02NjYsNyArNjgyLDcgQEAgU3RyaW5nIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZXJyb3JM
b2coKSBjb25zdAogewogICAgIFN0cmluZyBsb2c7CiAgICAgCi0gICAgaWYgKCFjb25uZWN0aW9u
KCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpFcnJv
ckxvZyhtX2lkKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpFcnJv
ckxvZzo6UmVwbHkobG9nKSwgbV9pZCkpCisgICAgaWYgKCFjb25uZWN0aW9uKCkuc2VuZFN5bmMo
TWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OkVycm9yTG9nKG1faWQpLCBNZXNzYWdl
czo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6RXJyb3JMb2c6OlJlcGx5KGxvZyksIG1faWQpKQog
ICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIHJldHVybiBsb2c7CkBAIC02ODAs
MzEgKzY5NiwyNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0QnVmZmVyaW5n
UG9saWN5KE1lZGlhUGxheWVyOjpCdWZmZXJpbmdQb2xpY3kgcAogCiBib29sIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6Y2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuY2Fu
U2F2ZU1lZGlhRGF0YTsKIH0KIAogTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
Z2V0U3RhcnREYXRlKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVy
biBNZWRpYVRpbWU6Onplcm9UaW1lKCk7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuc3RhcnRE
YXRlOwogfQogCiBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzdGFydFRpbWUo
KSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIE1lZGlhVGltZTo6
emVyb1RpbWUoKTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5zdGFydFRpbWU7CiB9CiAKLXZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRSYXRlRG91YmxlKGRvdWJsZSkKK3ZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRSYXRlRG91YmxlKGRvdWJsZSByYXRlKQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJl
bW90ZU1lZGlhUGxheWVyUHJveHk6OlNldFJhdGUocmF0ZSksIG1faWQpOwogfQogCiBib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aGFzQ2xvc2VkQ2FwdGlvbnMoKSBjb25zdAogewotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2NhY2hl
ZFN0YXRlLmhhc0Nsb3NlZENhcHRpb25zOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGJvb2wpCkBAIC03MTQsMTQgKzcyNiwxMiBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxl
KGJvb2wpCiAKIGRvdWJsZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1heEZhc3RGb3J3YXJk
UmF0ZSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGU7CiB9CiAKIGRvdWJsZSBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1pbkZhc3RSZXZlcnNlUmF0ZSgpIGNvbnN0CiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9jYWNoZWRT
dGF0ZS5taW5GYXN0UmV2ZXJzZVJhdGU7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6Om1heE1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QKQEAgLTczNiwxNCArNzQ2LDEy
IEBAIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1pbk1lZGlhVGltZVNlZWth
YmxlKCkgY29uc3QKIAogZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2Vla2FibGVU
aW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5zZWVrYWJsZVRpbWVS
YW5nZXNMYXN0TW9kaWZpZWRUaW1lOwogfQogCiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpsaXZlVXBkYXRlSW50ZXJ2YWwoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUubGl2ZVVwZGF0ZUludGVy
dmFsOwogfQogCiB1bnNpZ25lZCBsb25nIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp0
b3RhbEJ5dGVzKCkgY29uc3QKQEAgLTc4Myw4ICs3OTEsNyBAQCBOYXRpdmVJbWFnZVB0ciBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6Om5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKQogCiBib29s
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJu
IG1fY2FjaGVkU3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKIH0KIAogI2lmIEVOQUJMRShX
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCkBAIC03OTYsMTQgKzgwMywxMiBAQCBTdHJpbmcgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZSgpIGNvbnN0
CiAKIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QKIHsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZU5vbmU7
CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUud2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU7CiB9
CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tE
aXNhYmxlZCgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gdHJ1
ZTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxl
ZDsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFdpcmVsZXNzVmlkZW9Q
bGF5YmFja0Rpc2FibGVkKGJvb2wgZGlzYWJsZWQpCkBAIC04MzMsMjIgKzgzOCwxNCBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQo
Ym9vbCBzaG91bGRQbGF5KQogfQogI2VuZGlmCiAKLWJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpzaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6aGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdAogewotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmhhc1Np
bmdsZVNlY3VyaXR5T3JpZ2luOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
ZGlkUGFzc0NPUlNBY2Nlc3NDaGVjaygpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsK
LSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuZGlkUGFzc0NPUlNB
Y2Nlc3NDaGVjazsKIH0KIAogT3B0aW9uYWw8Ym9vbD4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Ojp3b3VsZFRhaW50T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luJikgY29uc3QKQEAgLTg2NSw3
ICs4NjIsNyBAQCBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptZWRpYVRpbWVG
b3JUaW1lVmFsdWUoY29uc3QgTWVkaWFUaW1lJiB0aW1lVgogCiBkb3VibGUgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjptYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gLjI7IC8vIEZJWE1FOiBnZXQgdGhpcyB2YWx1ZSBmcm9tIHRoZSBtZWRpYSBl
bmdpbmUgd2hlbiBpdCBpcyBjcmVhdGVkLgorICAgIHJldHVybiBtX2NvbmZpZ3VyYXRpb24ubWF4
aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZTsKIH0KIAogdW5zaWduZWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpkZWNvZGVkRnJhbWVDb3VudCgpIGNvbnN0CkBAIC05NjAsMTIgKzk1Nywx
MiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VGV4dFRyYWNrUmVwcmVzZW50
YXRpb24oVGV4dFRyYWNrUmVwcmVzZW50YXRpbwogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6c3luY1RleHRUcmFja0JvdW5kcygpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3lu
Y1RleHRUcmFja0JvdW5kcygpLCBtX2lkKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OnRyYWNrc0NoYW5nZWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlRyYWNrc0No
YW5nZWQoKSwgbV9pZCk7CiB9CiAjZW5kaWYKIApAQCAtOTg4LDggKzk4NSw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjplbmRTaW11bGF0ZWRIRENQRXJyb3IoKQogCiBTdHJpbmcg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBj
b25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUubGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOwog
fQogCiBzaXplX3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpleHRyYU1lbW9yeUNvc3QoKSBj
b25zdApAQCAtOTk4LDE4ICs5OTQsNiBAQCBzaXplX3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpleHRyYU1lbW9yeUNvc3QoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi11bnNpZ25lZCBs
b25nIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpmaWxlU2l6ZSgpIGNvbnN0Ci17Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQotYm9vbCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6OmVuZGVkKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIHJldHVybiBmYWxzZTsKLX0KLQogT3B0aW9uYWw8VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRy
aWNzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmlj
cygpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKQEAgLTEwMTksNyArMTAwMyw3IEBAIE9wdGlv
bmFsPFZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcz4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Ojp2aWRlb1BsYXliYWNrUXVhCiAjaWYgRU5BQkxFKEFWRl9DQVBUSU9OUykKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpub3RpZnlUcmFja01vZGVDaGFuZ2VkKCkKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRp
YVBsYXllclByb3h5OjpOb3RpZnlUcmFja01vZGVDaGFuZ2VkKCksIG1faWQpOwogfQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCmluZGV4IDRkN2RjODBlOTdmZmQ4N2NiZThkMGFi
YTQ2NjUzZDcyMTM1MTYxYjUuLjU1OWZkNjUwMjA4OGViYjM3ZDc2ZWE3ZDY5MzU1NzI2MzhmMjEw
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9t
ZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwbGF5YmFja1N0YXRlQ2hhbmdlZChib29sKTsKICAgICB2b2lkIGVuZ2luZUZh
aWxlZFRvTG9hZChsb25nKTsKICAgICB2b2lkIHVwZGF0ZUNhY2hlZFN0YXRlKFJlbW90ZU1lZGlh
UGxheWVyU3RhdGUmJik7Ci0gICAgdm9pZCBjaGFyYWN0ZXJpc3RpY0NoYW5nZWQoYm9vbCBoYXNB
dWRpbywgYm9vbCBoYXNWaWRlbywgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2Fk
VHlwZSk7CisgICAgdm9pZCBjaGFyYWN0ZXJpc3RpY0NoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJT
dGF0ZSYmKTsKICAgICB2b2lkIHNpemVDaGFuZ2VkKFdlYkNvcmU6OkZsb2F0U2l6ZSk7CiAgICAg
dm9pZCBmaXJzdFZpZGVvRnJhbWVBdmFpbGFibGUoKTsKICNpZiBQTEFURk9STShDT0NPQSkKQEAg
LTI3Nyw3ICsyNzcsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNBY2NlbGVyYXRlZFJl
bmRlcmluZygpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgYWNjZWxlcmF0ZWRSZW5kZXJpbmdTdGF0
ZUNoYW5nZWQoKSBmaW5hbDsKIAotICAgIGJvb2wgc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygp
IGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhib29s
KSBmaW5hbDsKIAogICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCBmaW5h
bDsKQEAgLTMzNCwxMCArMzMzLDYgQEAgcHJpdmF0ZToKIAogICAgIHNpemVfdCBleHRyYU1lbW9y
eUNvc3QoKSBjb25zdCBmaW5hbDsKIAotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmaWxlU2l6ZSgp
IGNvbnN0IGZpbmFsOwotCi0gICAgYm9vbCBlbmRlZCgpIGNvbnN0IGZpbmFsOwotCiAgICAgT3B0
aW9uYWw8V2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzPiB2aWRlb1BsYXliYWNr
UXVhbGl0eU1ldHJpY3MoKSBmaW5hbDsKIAogI2lmIEVOQUJMRShBVkZfQ0FQVElPTlMpCkBAIC0z
NzgsOSArMzczLDYgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV92b2x1bWUgeyAxIH07CiAgICAg
ZG91YmxlIG1fcmF0ZSB7IDEgfTsKICAgICBsb25nIG1fcGxhdGZvcm1FcnJvckNvZGUgeyAwIH07
Ci0gICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtX21vdmllTG9h
ZFR5cGUgeyBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBlOjpVbmtub3du
IH07Ci0gICAgYm9vbCBtX2hhc0F1ZGlvIHsgZmFsc2UgfTsKLSAgICBib29sIG1faGFzVmlkZW8g
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9tdXRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NlZWtp
bmcgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNz
IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4K
aW5kZXggM2ZmY2YzNmVmZTI0YjNkMDg1MGVlYTI4NmUyY2U3MjhlNGEyZmMxYS4uYTUwNzc2ZGRh
YTQyNzZjMWM2ZGRlN2U1ZGIwN2JmOThhNjdhZThmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KQEAgLTM1LDcgKzM1LDcgQEAgbWVzc2FnZXMgLT4gTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogICAgIFBsYXliYWNrU3RhdGVD
aGFuZ2VkKGJvb2wgcGF1c2VkKQogICAgIEVuZ2luZUZhaWxlZFRvTG9hZChpbnQgcGxhdGZvcm1F
cnJvckNvZGUpCiAgICAgVXBkYXRlQ2FjaGVkU3RhdGUoc3RydWN0IFdlYktpdDo6UmVtb3RlTWVk
aWFQbGF5ZXJTdGF0ZSBzdGF0ZSkKLSAgICBDaGFyYWN0ZXJpc3RpY0NoYW5nZWQoYm9vbCBoYXNB
dWRpbywgYm9vbCBoYXNWaWRlbywgZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51
bXM6Ok1vdmllTG9hZFR5cGUgbW92aWVMb2FkVHlwZSkKKyAgICBDaGFyYWN0ZXJpc3RpY0NoYW5n
ZWQoc3RydWN0IFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSBzdGF0ZSkKICAgICBTaXpl
Q2hhbmdlZChXZWJDb3JlOjpGbG9hdFNpemUgbmF0dXJhbFNpemUpCiAKICAgICBBZGRSZW1vdGVB
dWRpb1RyYWNrKFdlYktpdDo6VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciB0cmFja0lELCBz
dHJ1Y3QgV2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRp
b24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24uaAppbmRleCBkMjJiN2I5NzU5
ODExODEzZjJlNjM4NDhmNWZlNzA3MDE4MTQ5NTFmLi45ZmJmZjU5YWZjNTE5MWE5MzUxNjkyNGQ5
ZWY5YWM3Mjc1N2IyYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uLmgK
QEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBSZW1vdGVNZWRp
YVBsYXllckNvbmZpZ3VyYXRpb24gewogICAgIFN0cmluZyBlbmdpbmVEZXNjcmlwdGlvbjsKKyAg
ICBkb3VibGUgbWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZTsKICAgICBib29sIHN1cHBv
cnRzU2Nhbm5pbmcgeyBmYWxzZSB9OwogICAgIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuIHsgZmFs
c2UgfTsKICAgICBib29sIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSB7IGZhbHNlIH07CkBAIC00
Niw2ICs0Nyw3IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gewogICAg
IHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewogICAgICAgICBlbmNv
ZGVyIDw8IGVuZ2luZURlc2NyaXB0aW9uOworICAgICAgICBlbmNvZGVyIDw8IG1heGltdW1EdXJh
dGlvblRvQ2FjaGVNZWRpYVRpbWU7CiAgICAgICAgIGVuY29kZXIgPDwgc3VwcG9ydHNTY2Fubmlu
ZzsKICAgICAgICAgZW5jb2RlciA8PCBzdXBwb3J0c0Z1bGxzY3JlZW47CiAgICAgICAgIGVuY29k
ZXIgPDwgc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlOwpAQCAtNjIsNiArNjQsMTEgQEAgc3RydWN0
IFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiB7CiAgICAgICAgIGlmICghZW5naW5lRGVz
Y3JpcHRpb24pCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCisgICAgICAgIE9w
dGlvbmFsPGRvdWJsZT4gbWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZTsKKyAgICAgICAg
ZGVjb2RlciA+PiBtYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lOworICAgICAgICBpZiAo
IW1heGltdW1EdXJhdGlvblRvQ2FjaGVNZWRpYVRpbWUpCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCiAgICAgICAgIE9wdGlvbmFsPGJvb2w+IHN1cHBvcnRzU2Nhbm5pbmc7CiAg
ICAgICAgIGRlY29kZXIgPj4gc3VwcG9ydHNTY2FubmluZzsKICAgICAgICAgaWYgKCFzdXBwb3J0
c1NjYW5uaW5nKQpAQCAtOTQsNiArMTAxLDcgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyQ29u
ZmlndXJhdGlvbiB7CiAKICAgICAgICAgcmV0dXJuIHt7CiAgICAgICAgICAgICBXVEZNb3ZlKCpl
bmdpbmVEZXNjcmlwdGlvbiksCisgICAgICAgICAgICAqbWF4aW11bUR1cmF0aW9uVG9DYWNoZU1l
ZGlhVGltZSwKICAgICAgICAgICAgICpzdXBwb3J0c1NjYW5uaW5nLAogICAgICAgICAgICAgKnN1
cHBvcnRzUGljdHVyZUluUGljdHVyZSwKICAgICAgICAgICAgICpzdXBwb3J0c0FjY2VsZXJhdGVk
UmVuZGVyaW5nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllclN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyU3RhdGUuaAppbmRleCA0ZWRmMGE3MDZlOWIyODAyZDk1
YWNmMTBhMGM4ZWYzYmJmOThmYjc4Li40YmQ0OGJiMzdkNjU3YTdiNThmZDEwOTY4OTY4NjUyZjgw
MjM4Y2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyU3RhdGUuaApAQCAtMzksMTIgKzM5LDMyIEBAIHN0cnVj
dCBSZW1vdGVNZWRpYVBsYXllclN0YXRlIHsKICAgICBNZWRpYVRpbWUgZHVyYXRpb247CiAgICAg
TWVkaWFUaW1lIG1pblRpbWVTZWVrYWJsZTsKICAgICBNZWRpYVRpbWUgbWF4VGltZVNlZWthYmxl
OworICAgIE1lZGlhVGltZSBzdGFydERhdGU7CisgICAgTWVkaWFUaW1lIHN0YXJ0VGltZTsKKyAg
ICBTdHJpbmcgbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOworICAgIFN0cmluZyB3aXJlbGVz
c1BsYXliYWNrVGFyZ2V0TmFtZTsKICAgICBXZWJDb3JlOjpQbGF0Zm9ybVRpbWVSYW5nZXMgYnVm
ZmVyZWRSYW5nZXM7CiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TmV0d29ya1N0YXRl
IG5ldHdvcmtTdGF0ZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok5ldHdvcmtTdGF0ZTo6
RW1wdHkgfTsKICAgICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpSZWFkeVN0YXRlIHJlYWR5
U3RhdGUgeyBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpSZWFkeVN0YXRlOjpIYXZlTm90aGlu
ZyB9OworICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGUgbW92aWVM
b2FkVHlwZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGU6OlVua25v
d24gfTsKKyAgICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFy
Z2V0VHlwZSB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVy
RW51bXM6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZSB9OwogICAg
IFdlYkNvcmU6OkZsb2F0U2l6ZSBuYXR1cmFsU2l6ZTsKKyAgICBkb3VibGUgbWF4RmFzdEZvcndh
cmRSYXRlIHsgMCB9OworICAgIGRvdWJsZSBtaW5GYXN0UmV2ZXJzZVJhdGUgeyAwIH07CisgICAg
ZG91YmxlIHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgeyAwIH07CisgICAgZG91
YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCB7IDAgfTsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgdG90
YWxCeXRlcyB7IDAgfTsKICAgICBib29sIHBhdXNlZCB7IHRydWUgfTsKICAgICBib29sIGxvYWRp
bmdQcm9ncmVzc2VkIHsgZmFsc2UgfTsKKyAgICBib29sIGNhblNhdmVNZWRpYURhdGEgeyBmYWxz
ZSB9OworICAgIGJvb2wgaGFzQXVkaW8geyBmYWxzZSB9OworICAgIGJvb2wgaGFzVmlkZW8geyBm
YWxzZSB9OworICAgIGJvb2wgaGFzQ2xvc2VkQ2FwdGlvbnMgeyBmYWxzZSB9OworICAgIGJvb2wg
aGFzQXZhaWxhYmxlVmlkZW9GcmFtZSB7IGZhbHNlIH07CisgICAgYm9vbCB3aXJlbGVzc1ZpZGVv
UGxheWJhY2tEaXNhYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9y
aWdpbiB7IGZhbHNlIH07CisgICAgYm9vbCBkaWRQYXNzQ09SU0FjY2Vzc0NoZWNrIHsgZmFsc2Ug
fTsKKyAgICBib29sIHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24geyBmYWxzZSB9Owog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdApAQCAtNTMsMTIgKzczLDMyIEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXll
clN0YXRlIHsKICAgICAgICAgZW5jb2RlciA8PCBkdXJhdGlvbjsKICAgICAgICAgZW5jb2RlciA8
PCBtaW5UaW1lU2Vla2FibGU7CiAgICAgICAgIGVuY29kZXIgPDwgbWF4VGltZVNlZWthYmxlOwor
ICAgICAgICBlbmNvZGVyIDw8IHN0YXJ0RGF0ZTsKKyAgICAgICAgZW5jb2RlciA8PCBzdGFydFRp
bWU7CisgICAgICAgIGVuY29kZXIgPDwgbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOworICAg
ICAgICBlbmNvZGVyIDw8IHdpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lOwogICAgICAgICBlbmNv
ZGVyIDw8IGJ1ZmZlcmVkUmFuZ2VzOwogICAgICAgICBlbmNvZGVyLmVuY29kZUVudW0obmV0d29y
a1N0YXRlKTsKICAgICAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHJlYWR5U3RhdGUpOworICAgICAg
ICBlbmNvZGVyLmVuY29kZUVudW0obW92aWVMb2FkVHlwZSk7CisgICAgICAgIGVuY29kZXIuZW5j
b2RlRW51bSh3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSk7CiAgICAgICAgIGVuY29kZXIgPDwg
bmF0dXJhbFNpemU7CisgICAgICAgIGVuY29kZXIgPDwgbWF4RmFzdEZvcndhcmRSYXRlOworICAg
ICAgICBlbmNvZGVyIDw8IG1pbkZhc3RSZXZlcnNlUmF0ZTsKKyAgICAgICAgZW5jb2RlciA8PCBz
ZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lOworICAgICAgICBlbmNvZGVyIDw8IGxp
dmVVcGRhdGVJbnRlcnZhbDsKKyAgICAgICAgZW5jb2RlciA8PCB0b3RhbEJ5dGVzOwogICAgICAg
ICBlbmNvZGVyIDw8IHBhdXNlZDsKICAgICAgICAgZW5jb2RlciA8PCBsb2FkaW5nUHJvZ3Jlc3Nl
ZDsKKyAgICAgICAgZW5jb2RlciA8PCBjYW5TYXZlTWVkaWFEYXRhOworICAgICAgICBlbmNvZGVy
IDw8IGhhc0F1ZGlvOworICAgICAgICBlbmNvZGVyIDw8IGhhc1ZpZGVvOworICAgICAgICBlbmNv
ZGVyIDw8IGhhc0Nsb3NlZENhcHRpb25zOworICAgICAgICBlbmNvZGVyIDw8IGhhc0F2YWlsYWJs
ZVZpZGVvRnJhbWU7CisgICAgICAgIGVuY29kZXIgPDwgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWQ7CisgICAgICAgIGVuY29kZXIgPDwgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW47CisgICAg
ICAgIGVuY29kZXIgPDwgZGlkUGFzc0NPUlNBY2Nlc3NDaGVjazsKKyAgICAgICAgZW5jb2RlciA8
PCByZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uOwogICAgIH0KIAogICAgIHRlbXBsYXRl
IDxjbGFzcyBEZWNvZGVyPgpAQCAtODQsNiArMTI0LDI2IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBs
YXllclN0YXRlIHsKICAgICAgICAgaWYgKCFtYXhUaW1lU2Vla2FibGUpCiAgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogCisgICAgICAgIE9wdGlvbmFsPE1lZGlhVGltZT4gc3RhcnRE
YXRlOworICAgICAgICBkZWNvZGVyID4+IHN0YXJ0RGF0ZTsKKyAgICAgICAgaWYgKCFzdGFydERh
dGUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFs
PE1lZGlhVGltZT4gc3RhcnRUaW1lOworICAgICAgICBkZWNvZGVyID4+IHN0YXJ0VGltZTsKKyAg
ICAgICAgaWYgKCFzdGFydFRpbWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgICAgIE9wdGlvbmFsPFN0cmluZz4gbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOwor
ICAgICAgICBkZWNvZGVyID4+IGxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjazsKKyAgICAgICAg
aWYgKCFsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2spCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPFN0cmluZz4gd2lyZWxlc3NQbGF5YmFja1Rh
cmdldE5hbWU7CisgICAgICAgIGRlY29kZXIgPj4gd2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWU7
CisgICAgICAgIGlmICghd2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWUpCisgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgICAgIE9wdGlvbmFsPFdlYkNvcmU6OlBsYXRmb3Jt
VGltZVJhbmdlcz4gYnVmZmVyZWRSYW5nZXM7CiAgICAgICAgIGRlY29kZXIgPj4gYnVmZmVyZWRS
YW5nZXM7CiAgICAgICAgIGlmICghYnVmZmVyZWRSYW5nZXMpCkBAIC05NywxMSArMTU3LDQ0IEBA
IHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0YXRlIHsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZUVudW0ocmVhZHlTdGF0ZSkpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGUgbW92aWVM
b2FkVHlwZTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0obW92aWVMb2FkVHlwZSkp
CisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIFdlYkNvcmU6Ok1l
ZGlhUGxheWVyRW51bXM6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHdpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bSh3aXJlbGVzc1Bs
YXliYWNrVGFyZ2V0VHlwZSkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAg
ICAgICAgIE9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4gbmF0dXJhbFNpemU7CiAgICAgICAg
IGRlY29kZXIgPj4gbmF0dXJhbFNpemU7CiAgICAgICAgIGlmICghbmF0dXJhbFNpemUpCiAgICAg
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4g
bWF4RmFzdEZvcndhcmRSYXRlOworICAgICAgICBkZWNvZGVyID4+IG1heEZhc3RGb3J3YXJkUmF0
ZTsKKyAgICAgICAgaWYgKCFtYXhGYXN0Rm9yd2FyZFJhdGUpCisgICAgICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gbWluRmFzdFJldmVyc2VS
YXRlOworICAgICAgICBkZWNvZGVyID4+IG1pbkZhc3RSZXZlcnNlUmF0ZTsKKyAgICAgICAgaWYg
KCFtaW5GYXN0UmV2ZXJzZVJhdGUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVk
VGltZTsKKyAgICAgICAgZGVjb2RlciA+PiBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRU
aW1lOworICAgICAgICBpZiAoIXNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUpCisg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGRvdWJs
ZT4gbGl2ZVVwZGF0ZUludGVydmFsOworICAgICAgICBkZWNvZGVyID4+IGxpdmVVcGRhdGVJbnRl
cnZhbDsKKyAgICAgICAgaWYgKCFsaXZlVXBkYXRlSW50ZXJ2YWwpCisgICAgICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPHVuc2lnbmVkIGxvbmcgbG9uZz4g
dG90YWxCeXRlczsKKyAgICAgICAgZGVjb2RlciA+PiB0b3RhbEJ5dGVzOworICAgICAgICBpZiAo
IXRvdGFsQnl0ZXMpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgICAg
IE9wdGlvbmFsPGJvb2w+IHBhdXNlZDsKICAgICAgICAgZGVjb2RlciA+PiBwYXVzZWQ7CiAgICAg
ICAgIGlmICghcGF1c2VkKQpAQCAtMTEyLDE3ICsyMDUsODMgQEAgc3RydWN0IFJlbW90ZU1lZGlh
UGxheWVyU3RhdGUgewogICAgICAgICBpZiAoIWxvYWRpbmdQcm9ncmVzc2VkKQogICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAorICAgICAgICBPcHRpb25hbDxib29sPiBjYW5TYXZl
TWVkaWFEYXRhOworICAgICAgICBkZWNvZGVyID4+IGNhblNhdmVNZWRpYURhdGE7CisgICAgICAg
IGlmICghY2FuU2F2ZU1lZGlhRGF0YSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gaGFzQXVkaW87CisgICAgICAgIGRlY29kZXIgPj4g
aGFzQXVkaW87CisgICAgICAgIGlmICghaGFzQXVkaW8pCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc1ZpZGVvOworICAgICAgICBk
ZWNvZGVyID4+IGhhc1ZpZGVvOworICAgICAgICBpZiAoIWhhc1ZpZGVvKQorICAgICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxib29sPiBoYXNDbG9zZWRD
YXB0aW9uczsKKyAgICAgICAgZGVjb2RlciA+PiBoYXNDbG9zZWRDYXB0aW9uczsKKyAgICAgICAg
aWYgKCFoYXNDbG9zZWRDYXB0aW9ucykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gaGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKKyAgICAg
ICAgZGVjb2RlciA+PiBoYXNBdmFpbGFibGVWaWRlb0ZyYW1lOworICAgICAgICBpZiAoIWhhc0F2
YWlsYWJsZVZpZGVvRnJhbWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisg
ICAgICAgIE9wdGlvbmFsPGJvb2w+IHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOworICAg
ICAgICBkZWNvZGVyID4+IHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOworICAgICAgICBp
ZiAoIXdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKQorICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxib29sPiBoYXNTaW5nbGVTZWN1cml0eU9y
aWdpbjsKKyAgICAgICAgZGVjb2RlciA+PiBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKKyAgICAg
ICAgaWYgKCFoYXNTaW5nbGVTZWN1cml0eU9yaWdpbikKKyAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gZGlkUGFzc0NPUlNBY2Nlc3NDaGVj
azsKKyAgICAgICAgZGVjb2RlciA+PiBkaWRQYXNzQ09SU0FjY2Vzc0NoZWNrOworICAgICAgICBp
ZiAoIWRpZFBhc3NDT1JTQWNjZXNzQ2hlY2spCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50
YXRpb247CisgICAgICAgIGRlY29kZXIgPj4gcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlv
bjsKKyAgICAgICAgaWYgKCFyZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uKQorICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwogICAgICAgICByZXR1cm4ge3sKICAgICAgICAg
ICAgIFdURk1vdmUoKmN1cnJlbnRUaW1lKSwKICAgICAgICAgICAgIFdURk1vdmUoKmR1cmF0aW9u
KSwKICAgICAgICAgICAgIFdURk1vdmUoKm1pblRpbWVTZWVrYWJsZSksCiAgICAgICAgICAgICBX
VEZNb3ZlKCptYXhUaW1lU2Vla2FibGUpLAorICAgICAgICAgICAgV1RGTW92ZSgqc3RhcnREYXRl
KSwKKyAgICAgICAgICAgIFdURk1vdmUoKnN0YXJ0VGltZSksCisgICAgICAgICAgICBXVEZNb3Zl
KCpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2spLAorICAgICAgICAgICAgV1RGTW92ZSgqd2ly
ZWxlc3NQbGF5YmFja1RhcmdldE5hbWUpLAogICAgICAgICAgICAgV1RGTW92ZSgqYnVmZmVyZWRS
YW5nZXMpLAogICAgICAgICAgICAgbmV0d29ya1N0YXRlLAogICAgICAgICAgICAgcmVhZHlTdGF0
ZSwKKyAgICAgICAgICAgIG1vdmllTG9hZFR5cGUsCisgICAgICAgICAgICB3aXJlbGVzc1BsYXli
YWNrVGFyZ2V0VHlwZSwKICAgICAgICAgICAgIFdURk1vdmUoKm5hdHVyYWxTaXplKSwKKyAgICAg
ICAgICAgICptYXhGYXN0Rm9yd2FyZFJhdGUsCisgICAgICAgICAgICAqbWluRmFzdFJldmVyc2VS
YXRlLAorICAgICAgICAgICAgKnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUsCisg
ICAgICAgICAgICAqbGl2ZVVwZGF0ZUludGVydmFsLAorICAgICAgICAgICAgKnRvdGFsQnl0ZXMs
CiAgICAgICAgICAgICAqcGF1c2VkLAotICAgICAgICAgICAgKmxvYWRpbmdQcm9ncmVzc2VkIH19
OworICAgICAgICAgICAgKmxvYWRpbmdQcm9ncmVzc2VkLAorICAgICAgICAgICAgKmNhblNhdmVN
ZWRpYURhdGEsCisgICAgICAgICAgICAqaGFzQXVkaW8sCisgICAgICAgICAgICAqaGFzVmlkZW8s
CisgICAgICAgICAgICAqaGFzQ2xvc2VkQ2FwdGlvbnMsCisgICAgICAgICAgICAqaGFzQXZhaWxh
YmxlVmlkZW9GcmFtZSwKKyAgICAgICAgICAgICp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxl
ZCwKKyAgICAgICAgICAgICpoYXNTaW5nbGVTZWN1cml0eU9yaWdpbiwKKyAgICAgICAgICAgICpk
aWRQYXNzQ09SU0FjY2Vzc0NoZWNrLAorICAgICAgICAgICAgKnJlcXVpcmVzVGV4dFRyYWNrUmVw
cmVzZW50YXRpb24sCisgICAgICAgIH19OwogICAgIH0KIAogfTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNzFjYWZhMzA1
YTAzZmQxNjNiZTRkOTRmMjcxMWIwOTZjNmY1NTk5Li5lNDY0OWVmMmU2ZTQ0OGQ1OGNjN2FjZjMz
ZGE5ZjUxYjFhZDYyZDk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDItMjkgIEVyaWMg
Q2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFBsdW1i
IHRocm91Z2ggbW9yZSBNZWRpYVBsYXllciBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzU5OTI0Mzg2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZ3B1LXByb2Nlc3MvVGVzdEV4cGVjdGF0aW9uczogVW5za2lwIH4xMjAwIG1lZGlhIHRl
c3RzLgorCiAyMDIwLTAyLTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0xGQ11bRmxvYXRzXSBGbG9hdGluZ1N0YXRlOjp0b3Agc2hvdWxkIHJldHVybiB0b3Bt
b3N0IGxvZ2ljYWwgdmVydGljYWwgcG9zaXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dw
dS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9ncHUtcHJvY2Vzcy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDY0ODQ4MTM2Yzc0NjMwOGVlY2ZmZTNmNWU2NWM4NzEwOTBhOTlh
ZDkuLjk5NDlhODEwMDFjNWEyYjQwYTU5ZWU3YTJiODM3MTcyODg2MzVkMGYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvZ3B1LXByb2Nlc3MvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTc4LDY3ICsxNzgsMjA5IEBAIGlt
cG9ydGVkL2JsaW5rL2NvbXBvc2l0aW5nIFsgU2tpcCBdCiBsZWdhY3ktYW5pbWF0aW9uLWVuZ2lu
ZS9pbXBvcnRlZC9ibGluay9jb21wb3NpdGluZy9zcXVhc2hpbmcvcmVtb3ZlLWZyb20tZ3JvdXBl
ZC1tYXBwaW5nLW9uLXJlYXNzaWdubWVudC5odG1sIFsgU2tpcCBdCiBpbnNwZWN0b3IvbGF5ZXJz
L2xheWVycy1jb21wb3NpdGluZy1yZWFzb25zLmh0bWwgWyBTa2lwIF0KIAotbWVkaWEgWyBTa2lw
IF0KLW1lZGlhL21lZGlhLWNvbnRyb2xsZXIuaHRtbCBbIFBhc3MgXQotbWVkaWEvbWVkaWEtcHJl
bG9hZC1uby1kZWxheS1sb2FkZXZlbnQuaHRtbCBbIFBhc3MgXQotbWVkaWEvdmlkZW8tc3JjLmh0
bWwgWyBQYXNzIF0KLW1lZGlhL3ZpZGVvLXNyYy1ibG9iLXVzaW5nLW9wZW4tcGFuZWwuaHRtbCBb
IFBhc3MgXQotbWVkaWEvdmlkZW8tc291cmNlLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWFz
LXZpZGVvLWZ1bGxzY3JlZW4uaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tYmFja2dyb3VuZC1w
bGF5YmFjay1wbGF5bGlzdC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1jb25jdXJyZW50LXN1
cHBvcnRlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci1wcmVsb2FkLmh0
bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLXNyYy5odG1sIFsgUGFzcyBdCi1t
ZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1jb250cm9s
cy1kby1ub3QtZmFkZS1vdXQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tY29udHJvbHMtdGlt
ZWxpbmUtaW4tbWVkaWEtZG9jdW1lbnQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tZGVhbGxv
Yy1jcmFzaC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc2xpZGVyLXRo
dW1iLWNsaWNrZWQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tZ2FyYmFnZS1jb2xsZWN0Lmh0
bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLW1wZWctc3VwcG9ydGVkLmh0bWwgWyBQYXNzIF0KLW1l
ZGlhL2F1ZGlvLW1wZWc0LXN1cHBvcnRlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1uby1p
bnN0YWxsZWQtZW5naW5lcy5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1vbmx5LXZpZGVvLWlu
dHJpbnNpYy1zaXplLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXktZXZlbnQuaHRtbCBb
IFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheS13aXRoLXZpZGVvLWVsZW1lbnQuaHRtbCBbIFBhc3Mg
XQotbWVkaWEvYXVkaW8tcGxheS5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFjay1y
ZXN0cmljdGlvbi1hdXRvcGxheS5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFjay1y
ZXN0cmljdGlvbi1wbGF5LW11dGVkLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXliYWNr
LXJlc3RyaWN0aW9uLXBsYXkuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheWJhY2stcmVz
dHJpY3Rpb24tcmVtb3ZlZC1tdXRlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFj
ay12b2x1bWUtY2hhbmdlcy13aXRoLXJlc3RyaWN0aW9ucy1hbmQtdXNlci1nZXN0dXJlcy5odG1s
IFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFjay12b2x1bWUtY2hhbmdlcy13aXRoLXJlc3Ry
aWN0aW9ucy5odG1sIFsgUGFzcyBdCi1tZWRpYS9kZWFjdGl2YXRlLWF1ZGlvLXNlc3Npb24uaHRt
bCBbIFBhc3MgXQotbWVkaWEvbWVkaWEtY2FuLXBsYXktbXBlZy1hdWRpby5odG1sIFsgUGFzcyBd
Ci1tZWRpYS9tZWRpYS1jYW4tcGxheS13YXYtYXVkaW8uaHRtbCBbIFBhc3MgXQotbWVkaWEvbWVk
aWEtZG9jdW1lbnQtYXVkaW8tY29udHJvbHMtdmlzaWJsZS5odG1sIFsgUGFzcyBdCi1tZWRpYS9t
ZWRpYS1kb2N1bWVudC1hdWRpby1yZXBhaW50Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL21lZGlhLWRv
Y3VtZW50LWF1ZGlvLXNpemUuaHRtbCBbIFBhc3MgXQotbWVkaWEvbXV0ZWQtdmlkZW8taXMtcGxh
eWluZy1hdWRpby5odG1sIFsgUGFzcyBdCi1tZWRpYS9yZXN0cmljdGVkLWF1ZGlvLXBsYXliYWNr
LXdpdGgtZG9jdW1lbnQtZ2VzdHVyZS5odG1sIFsgUGFzcyBdCi1tZWRpYS9yZXN0cmljdGVkLWF1
ZGlvLXBsYXliYWNrLXdpdGgtbXVsdGlwbGUtc2V0dGltZW91dHMuaHRtbCBbIFBhc3MgXQotbWVk
aWEvdmlkZW8tY29udHJvbHMtdmlzaWJsZS1hdWRpby1vbmx5Lmh0bWwgWyBQYXNzIF0KLW1lZGlh
L3ZpZGVvLXBsYXktYXVkaW8tcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbCBbIFBhc3MgXQotbWVk
aWEvdHJhY2svYXVkaW8tdHJhY2suaHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdmlkZW8tdHJh
Y2stYWRkLXJlbW92ZS5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay92aWRlby10cmFjay1hbHRl
cm5hdGUtZ3JvdXBzLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3ZpZGVvLXRyYWNrLWFkZGl0
aW9uLWFuZC1mcmFtZS1yZW1vdmFsLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3ZpZGVvLXRy
YWNrLmh0bWwgWyBQYXNzIF0KIAotbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC5odG1sIFsgUGFz
cyBdCittZWRpYS9haXJwbGF5LWFsbG93cy1idWZmZXJpbmcuaHRtbCBbIFNraXAgXQorbWVkaWEv
YWlycGxheS1hdXRvcGxheS5odG1sIFsgU2tpcCBdCittZWRpYS9hdWRpby1iYWNrZ3JvdW5kLXBs
YXliYWNrLXBsYXlsaXN0Lmh0bWwgWyBTa2lwIF0KK21lZGlhL2F1ZGlvLWNvbnRyb2xzLXJlbmRl
cmluZy5odG1sIFsgU2tpcCBdCittZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc3RlcC1idXR0b24t
Y2xpY2tlZC5odG1sIFsgU2tpcCBdCittZWRpYS9hdWRpby1yZXBhaW50Lmh0bWwgWyBTa2lwIF0K
K21lZGlhL2NsaWNrLXBsYWNlaG9sZGVyLW5vdC1wYXVzaW5nLmh0bWwgWyBTa2lwIF0KK21lZGlh
L2NvbnRleHQtbWVudS1hY3Rpb25zLmh0bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRyb2xzLXN0cmlj
dC5odG1sIFsgU2tpcCBdCittZWRpYS9jb250cm9scy1zdHlsaW5nLXN0cmljdC5odG1sIFsgU2tp
cCBdCittZWRpYS9jb250cm9scy13aXRob3V0LXByZWxvYWQuaHRtbCBbIFNraXAgXQorbWVkaWEv
Y29udHJvbHMvYWlycGxheS1jb250cm9scy5odG1sIFsgU2tpcCBdCittZWRpYS9jb250cm9scy9p
bmxpbmUtZWxlbWVudHMtZHJvcG9mZi1vcmRlci5odG1sIFsgU2tpcCBdCittZWRpYS9jb250cm9s
cy9waWN0dXJlLWluLXBpY3R1cmUuaHRtbCBbIFNraXAgXQorbWVkaWEvY29udHJvbHMvcGlwLXBs
YWNlaG9sZGVyLXdpdGhvdXQtdmlkZW8tY29udHJvbHMuaHRtbCBbIFNraXAgXQorbWVkaWEvZGVh
Y3RpdmF0ZS1hdWRpby1zZXNzaW9uLmh0bWwgWyBTa2lwIF0KK21lZGlhL2VsZW1lbnQtY29udGFp
bmluZy1waXAtdmlkZW8tZ29pbmctaW50by1mdWxsc2NyZWVuLmh0bWwgWyBTa2lwIF0KK21lZGlh
L2Z1bGxzY3JlZW4tYXBpLWVuYWJsZWQtbWVkaWEtd2l0aC1wcmVzZW50YXRpb24tbW9kZS5odG1s
IFsgU2tpcCBdCisKK21lZGlhL2VuY3J5cHRlZC1tZWRpYS9jbGVhcktleSBbIFNraXAgXQorCitt
ZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sIFsgU2tpcCBd
CittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQuaHRtbCBb
IFNraXAgXQorbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXguaHRt
bCBbIFNraXAgXQorbWVkaWEvZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFLZXlTZXNzaW9uLXJl
bW92ZS5odG1sIFsgU2tpcCBdCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRpYUtleVN5
c3RlbUFjY2Vzcy5odG1sIFsgU2tpcCBdCisKK21lZGlhL2lvcy92aWRlby12b2x1bWUtaW9zLXF1
aXJrLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWNhbi1wbGF5LWZsYWMtYXVkaW8uaHRtbCBb
IFNraXAgXQorbWVkaWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwgWyBTa2lwIF0KK21lZGlhL21l
ZGlhLWNvbnRyb2xzLWludmFsaWQtdXJsLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWNvbnRy
b2xzLXBsYXktYnV0dG9uLXVwZGF0ZXMuaHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtZnVsbHNj
cmVlbi1sb29wLWlubGluZS5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBh
dXNlLWlubGluZS5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10
by1pbmxpbmUuaHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtaGlnaGVyLXByaW8tYXVkaW8tc3Ry
ZWFtLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvbWVkaWEtc291cmNlIFsgU2tpcCBdCisKK21lZGlh
L21lZGlhLXZvbHVtZS1zbGlkZXItcmVuZGVyZWQtYmVsb3cuaHRtbCBbIFNraXAgXQorbWVkaWEv
bWVkaWEtdm9sdW1lLXNsaWRlci1yZW5kZXJlZC1ub3JtYWwuaHRtbCBbIFNraXAgXQorCittZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYWlycGxheS1zdXBwb3J0L2FpcnBsYXktc3VwcG9ydC5o
dG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYXVkaW8vYXVkaW8tY29u
dHJvbHMtc3R5bGVzLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy12aXNpYmlsaXR5LXN1cHBvcnQvY29udHJvbHMtdmlzaWJpbGl0eS1zdXBwb3J0LWZ1
bGxzY3JlZW4tb24tdmlkZW8uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL2lvcy1pbmxpbmUtbWVkaWEtY29udHJvbHMvaW9zLWlubGluZS1tZWRpYS1jb250cm9scy1j
b25zdHJ1Y3Rvci5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVk
aWEtY29udHJvbGxlci9pb3MvbWVkaWEtY29udHJvbGxlci1pb3MtZG8tbm90LWhpZGUtY29udHJv
bHMtd2hlbi10YXBwaW5nLWJ1dHRvbi5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWVkaWEtY29udHJvbGxlci9pb3MvbWVkaWEtY29udHJvbGxlci1pb3MtbGF5b3V0
LXRyYWl0cy1tb2Rlcm4tY29tcGF0aWJpbGl0eS1tb2RlLmh0bWwgWyBTa2lwIF0KK21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL2lvcy9tZWRpYS1jb250cm9sbGVy
LWlvcy1vbmx5LWVuYWJsZS10YXAtZ2VzdHVyZS1yZWNvZ25pemVyLXdpdGgtZmFkZXMtd2hlbi1p
ZGxlLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250
cm9sbGVyL2lvcy9tZWRpYS1jb250cm9sbGVyLXNjYWxlLWZhY3Rvci1hdWRpby5odG1sIFsgU2tp
cCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9pb3MvbWVk
aWEtY29udHJvbGxlci1zY2FsZS1mYWN0b3IuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvaW9zL21lZGlhLWNvbnRyb2xsZXItc3RvcC11
cGRhdGVzLWluLWZ1bGxzY3JlZW4uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtbW91c2Ut
ZW50ZXItb3Zlci1jb250cm9scy1iYXIuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1mYWRlLWNvbnRyb2xz
LXdoZW4tZW50ZXJpbmctZnVsbHNjcmVlbi5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZ1bGxzY3JlZW4t
Y2hhbmdlLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1j
b250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItaW5saW5lLXRvLWZ1bGxzY3JlZW4tdG8taW5saW5l
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9s
bGVyL21lZGlhLWNvbnRyb2xsZXItaW5saW5lLXRvLWZ1bGxzY3JlZW4tdG8tcGlwLXRvLWlubGlu
ZS5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJv
bGxlci9tZWRpYS1jb250cm9sbGVyLXZpZGVvLXdpdGgtb25seS1hdWRpby5odG1sIFsgU2tpcCBd
CittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtZG9jdW1lbnRzL2JhY2tncm91bmQt
Y29sb3ItYW5kLWNlbnRlcmluZy5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvbWVkaWEtZG9jdW1lbnRzL21lZGlhLWRvY3VtZW50LWF1ZGlvLWlvcy1zaXppbmcuaHRt
bCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWRvY3VtZW50cy9t
ZWRpYS1kb2N1bWVudC12aWRlby1pcGhvbmUtc2l6aW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9waXAtc3VwcG9ydC9waXAtc3VwcG9ydC1jbGljay5odG1sIFsg
U2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1cHBvcnQvcGlwLXN1cHBv
cnQtZW5hYmxlZC5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGxh
Y2FyZC1zdXBwb3J0L2lwYWQvcGxhY2FyZC1zdXBwb3J0LXBpcC5odG1sIFsgU2tpcCBdCittZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGxhY2FyZC1zdXBwb3J0L3BsYWNhcmQtc3VwcG9ydC1h
aXJwbGF5LWZ1bGxzY3JlZW4tbm8tY29udHJvbHMuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL3BsYWNhcmQtc3VwcG9ydC9wbGFjYXJkLXN1cHBvcnQtYWlycGxheS1m
dWxsc2NyZWVuLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9wbGFj
YXJkLXN1cHBvcnQvcGxhY2FyZC1zdXBwb3J0LWFpcnBsYXkuaHRtbCBbIFNraXAgXQorbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL3BsYWNhcmQtc3VwcG9ydC9wbGFjYXJkLXN1cHBvcnQtcGlw
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9zY3J1YmJlci1zdXBw
b3J0L2lwYWQvc2NydWJiZXItc3VwcG9ydC1kcmFnLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVy
bi1tZWRpYS1jb250cm9scy9zdGFydC1zdXBwb3J0L3N0YXJ0LXN1cHBvcnQtZnVsbHNjcmVlbi5o
dG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQv
dHJhY2tzLXN1cHBvcnQtb2ZmLXRleHQtdHJhY2suaHRtbCBbIFNraXAgXQorCittZWRpYS9tdXRl
ZC12aWRlby1pcy1wbGF5aW5nLWF1ZGlvLmh0bWwgWyBTa2lwIF0KK21lZGlhL25hdmlnYXRlLXdp
dGgtcGlwLXNob3VsZC1ub3QtY3Jhc2guaHRtbCBbIFNraXAgXQorbWVkaWEvcGljdHVyZS1pbi1w
aWN0dXJlL3BpY3R1cmUtaW4tcGljdHVyZS1hcGktY3NzLXNlbGVjdG9yLmh0bWwgWyBTa2lwIF0K
K21lZGlhL3BpY3R1cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBpY3R1cmUtYXBpLWVudGVyLXBp
cC00Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3BpY3R1cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBp
Y3R1cmUtYXBpLWV2ZW50cy5odG1sIFsgU2tpcCBdCittZWRpYS9waWN0dXJlLWluLXBpY3R1cmUv
cGljdHVyZS1pbi1waWN0dXJlLWFwaS1leGl0LXBpcC0xLmh0bWwgWyBTa2lwIF0KK21lZGlhL3Bp
Y3R1cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBpY3R1cmUtYXBpLXBpcC13aW5kb3cuaHRtbCBb
IFNraXAgXQorbWVkaWEvcGljdHVyZS1pbi1waWN0dXJlL3BpY3R1cmUtaW4tcGljdHVyZS1pbnRl
cnJ1cHRpb24uaHRtbCBbIFNraXAgXQorbWVkaWEvcGlwLXZpZGVvLWdvaW5nLWludG8tZnVsbHNj
cmVlbi5odG1sIFsgU2tpcCBdCittZWRpYS9wcmVzZW50YXRpb25tb2RlY2hhbmdlZC1maXJlZC1v
bmNlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVj
dGx5Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3JlbW90ZXBsYXliYWNrLXByb21wdC5odG1sIFsgU2tp
cCBdCisKK21lZGlhL3Nlc3Npb24gWyBTa2lwIF0KKworbWVkaWEvdHJhY2svYXVkaW8vYXVkaW8t
dHJhY2stbWt2LXZvcmJpcy1hZGR0cmFjay5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9hdWRp
by9hdWRpby10cmFjay1ta3Ytdm9yYmlzLWVuYWJsZWQuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJh
Y2svYXVkaW8vYXVkaW8tdHJhY2stbWt2LXZvcmJpcy1sYW5ndWFnZS5odG1sIFsgU2tpcCBdCisK
K21lZGlhL3RyYWNrL2luLWJhbmQgWyBTa2lwIF0KKworbWVkaWEvdHJhY2svb3BlcmEvaWRsL21l
ZGlhLWlkbC10ZXN0cy5odG1sIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0
L3Z0dC1yZWdpb24tZGlzcGxheS5odG1sIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL3RleHR0cmFj
a2N1ZS90ZXh0dHJhY2tjdWUtZGlzcGxheWN1ZS5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay90
cmFjay1jdWUtY3NzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5n
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctdmVydGljYWwu
aHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy5odG1sIFsgU2tp
cCBdCittZWRpYS90cmFjay90cmFjay1jdWVzLXBhdXNlLW9uLWV4aXQuaHRtbCAgWyBTa2lwIF0K
K21lZGlhL3RyYWNrL3RyYWNrLWZvcmNlZC1zdWJ0aXRsZXMtaW4tYmFuZC5odG1sIFsgU2tpcCBd
CittZWRpYS90cmFjay90cmFjay1pbi1iYW5kLW1vZGUuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJh
Y2svdHJhY2staW4tYmFuZC1zdWJ0aXRsZXMtdG9vLWxhcmdlLmh0bWwgWyBTa2lwIF0KK21lZGlh
L3RyYWNrL3RyYWNrLWxvbmctd29yZC1jb250YWluZXItc2l6aW5nLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3RyYWNrL3RyYWNrLXByZWZlci1jYXB0aW9ucy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFj
ay90cmFjay11c2VyLXByZWZlcmVuY2VzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3ZpZGVv
L3ZpZGVvLXRyYWNrLW1rdi10aGVvcmEtYWRkdHJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdHJh
Y2svdmlkZW8vdmlkZW8tdHJhY2stbWt2LXRoZW9yYS1sYW5ndWFnZS5odG1sIFsgU2tpcCBdCitt
ZWRpYS90cmFjay92aWRlby92aWRlby10cmFjay1ta3YtdGhlb3JhLXNlbGVjdGVkLmh0bWwgWyBT
a2lwIF0KK21lZGlhL3RyYWNrL3czYy9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9hbGlnbi5odG1s
IFsgU2tpcCBdCittZWRpYS90cmFjay93M2MvdHJhY2svd2VidnR0L2F1ZGlvX2hhc19ub19zdWJ0
aXRsZXMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdzNjL3RyYWNrL3dlYnZ0dC9hdWRpb19o
YXNfbm9fc3VidGl0bGVzLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJm
YWNlcy9IVE1MRWxlbWVudC9IVE1MTWVkaWFFbGVtZW50L2Nyb3NzT3JpZ2luLmh0bWwgWyBTa2lw
IF0KK21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRNTFRyYWNrRWxl
bWVudC9raW5kLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvSFRN
TEVsZW1lbnQvSFRNTFRyYWNrRWxlbWVudC9zcmMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2sv
b3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvZ2V0Q3VlQXNIVE1MLmh0bWwgWyBTa2lwIF0K
K21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2xpbmUuaHRtbCBbIFNr
aXAgXQorbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvc25hcFRvTGlu
ZXMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tD
dWUvdGV4dC5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRU
cmFja0N1ZS92ZXJ0aWNhbC5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS90cmFjay93
ZWJ2dHQvcGFyc2luZy1jdWUtZGF0YS90ZXN0cy9lbnRpdGllcy5odG1sIFsgU2tpcCBdCittZWRp
YS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2luZy1jdWUtZGF0YS90ZXN0cy90YWdzLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9wYXJzaW5nLWN1ZS1k
YXRhL3Rlc3RzL3RpbWVzdGFtcHMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvdHJh
Y2svd2VidnR0L3BhcnNpbmctY3VlLWRhdGEvdGVzdHMvdHJlZS1idWlsZGluZy5odG1sIFsgU2tp
cCBdCittZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2luZy8wMDEuaHRtbCBbIFNr
aXAgXQorbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy8xMjM0
NV90aW1lc3RhbXBzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0
dC9yZW5kZXJpbmcvYWRob2MvY3VlX2ZvbnRfc2l6ZV90cmFuc2l0aW9uLmh0bWwgWyBTa2lwIF0K
K21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcvYWRob2Mvdm9pY2Vfd2l0
aF9ldmlsX3RpbWVzdGFtcC5odG1sIFsgU2tpcCBdCisKK21lZGlhL3ZpZGVvLWJhY2tncm91bmQt
cGxheWJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY2FudmFzLWNyZWF0ZVBhdHRlcm4u
aHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY2FudmFzLWRyYXdpbmctb3V0cHV0Lmh0bWwgWyBT
a2lwIF0KK21lZGlhL3ZpZGVvLWNhbnZhcy5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb2xv
cnNwYWNlLXl1djQyMC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb2xvcnNwYWNlLXl1djQy
Mi5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb25jdXJyZW50LXBsYXliYWNrLmh0bWwgWyBT
a2lwIF0KK21lZGlhL3ZpZGVvLWNvbmN1cnJlbnQtdmlzaWJsZS1wbGF5YmFjay5odG1sIFsgU2tp
cCBdCittZWRpYS92aWRlby1jb250cm9sbGVyLWNoaWxkLXJhdGUuaHRtbCBbIFNraXAgXQorbWVk
aWEvdmlkZW8tY29udHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWhpZGUtb24tY2xpY2stb3V0c2lk
ZS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUt
aGlkZS1vbi1jbGljay5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9u
cy10cmFja21lbnUtaW5jbHVkZXMtZW5hYmxlZC10cmFjay5odG1sIFsgU2tpcCBdCittZWRpYS92
aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlk
ZW8tY29udHJvbHMtY2FwdGlvbnMuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMt
ZnVsbHNjcmVlbi12b2x1bWUuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtbm8t
c2NyaXB0aW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLXNob3ctb24ta2It
b3ItYXgtZXZlbnQuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtdG9nZ2xpbmcu
aHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tZG9lcy1ub3QtbG9vcC5odG1sIFsgU2tpcCBdCitt
ZWRpYS92aWRlby1lcnJvci1kb2VzLW5vdC1leGlzdC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRl
by1mdWxsc2NyZWVuLW9ubHktcGxheWJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8taW5h
Y3RpdmUtcGxheWJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8taXNwbGF5aW5ndG9hdXRv
bW90aXZlaGVhZHVuaXQuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWFs
bG93LXRoZW4tZGVueS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxs
b3ctdGhlbi1zY3JvbGwuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWFs
bG93Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hdXRvcGxheS5odG1s
IFsgU2tpcCBdCittZWRpYS92aWRlby1tdWx0aXBsZS1jb25jdXJyZW50LXBsYXliYWNrLmh0bWwg
WyBTa2lwIF0KK21lZGlhL3ZpZGVvLW9iamVjdC1maXQtY2hhbmdlLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3ZpZGVvLW9yaWVudGF0aW9uLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW9yaWVudGF0
aW9uLWNhbnZhcy5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1wbGF5LWF1ZGlvLXJlcXVpcmUt
dXNlci1nZXN0dXJlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXBsYXliYWNrLXJlc3RyaWN0
aW9uLXBsYXktYmVmb3JlLWxvYWQuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tcGxheWluZy1h
bmQtcGF1c2UuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tcGxheXNpbmxpbmUuaHRtbCBbIFNr
aXAgXQorbWVkaWEvdmlkZW8tcmVzdHJpY3RlZC1pbnZpc2libGUtYXV0b3BsYXktYWxsb3dlZC1p
Zi1hdWRpYmxlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXNpemUtaW50cmluc2ljLXNjYWxl
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXNyYy1ibG9iLmh0bWwgWyBTa2lwIF0KK21lZGlh
L3ZpZGVvLXRyYW5zZm9ybWVkLWJ5LWphdmFzY3JpcHQuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlk
ZW8tdW5tdXRlZC1hZnRlci1wbGF5LWhvbGRzLXNsZWVwLWFzc2VydGlvbi5odG1sIFsgU2tpcCBd
CittZWRpYS92aWRlby13ZWJraXQtcGxheXNpbmxpbmUuaHRtbCBbIFNraXAgXQorCittZWRpYS9X
M0MvYXVkaW8vY2FuUGxheVR5cGUvY2FuUGxheVR5cGVfc3VwcG9ydGVkX2J1dF9ub19jb2RlY3Nf
cGFyYW1ldGVyXzEuaHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9v
cmRlcl9sb2Fkc3RhcnRfcHJvZ3Jlc3MuaHRtbCBbIFNraXAgXQorCittZWRpYS9XM0MvdmlkZW8v
Y2FuUGxheVR5cGUvY2FuUGxheVR5cGVfY29kZWNzX29yZGVyXzIuaHRtbCBbIFNraXAgXQorbWVk
aWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX2NvZGVjc19vcmRlcl8zLmh0bWwg
WyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV9zdXBwb3J0
ZWRfYnV0X25vX2NvZGVjc19wYXJhbWV0ZXJfMi5odG1sIFsgU2tpcCBdCittZWRpYS9XM0Mvdmlk
ZW8vY2FuUGxheVR5cGUvY2FuUGxheVR5cGVfdHdvX2ltcGxpZXNfb25lXzMuaHRtbCBbIFNraXAg
XQorbWVkaWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3R3b19pbXBsaWVzX29u
ZV80Lmh0bWwgWyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlw
ZV90d29faW1wbGllc19vbmVfNS5odG1sIFsgU2tpcCBdCittZWRpYS9XM0MvdmlkZW8vY2FuUGxh
eVR5cGUvY2FuUGxheVR5cGVfdHdvX2ltcGxpZXNfb25lXzYuaHRtbCBbIFNraXAgXQorbWVkaWEv
VzNDL3ZpZGVvL2V2ZW50cy9ldmVudF9wcm9ncmVzc19tYW51YWwuaHRtbCBbIFNraXAgXQorbWVk
aWEvVzNDL3ZpZGVvL25ldHdvcmtTdGF0ZS9uZXR3b3JrU3RhdGVfZHVyaW5nX3Byb2dyZXNzLmh0
bWwgWyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9uZXR3b3JrU3RhdGUvbmV0d29ya1N0YXRlX2R1
cmluZ19sb2Fkc3RhcnQuaHRtbCBbIFNraXAgXQorCitwbGF0Zm9ybS9tYWMvbWVkaWEgWyBQYXNz
IF0KK3BsYXRmb3JtL21hYy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWF1ZGlvLWF1dG9w
bGF5Lmh0bWwgWyBTa2lwIF0KK3BsYXRmb3JtL21hYy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVn
b3J5LXZpZGVvLXBhdXNlZC5odG1sIFsgU2tpcCBdCitwbGF0Zm9ybS9tYWMvbWVkaWEvYXVkaW8t
c2Vzc2lvbi1jYXRlZ29yeS12aWRlby10cmFjay1jaGFuZ2UuaHRtbCBbIFNraXAgXQorcGxhdGZv
cm0vbWFjL21lZGlhL2F1ZGlvLXNlc3Npb24tZGVhY3RpdmF0ZWQtd2hlbi1zdXNwZW5kZWQuaHRt
bCBbIFNraXAgXQorcGxhdGZvcm0vbWFjL21lZGlhL3ZpZGVvLWJlc3QtZWxlbWVudC1mb3ItcGxh
eWJhY2stY29udHJvbHMtcHVycG9zZS5odG1sIFsgU2tpcCBdCisKIGh0dHAvdGVzdHMvbWVkaWEv
dHJhY2svdHJhY2std2VidnR0LXNsb3ctbG9hZGluZy5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3Rz
L21lZGlhL3RyYWNrL3RyYWNrLXdlYnZ0dC1zbG93LWxvYWRpbmctMi5odG1sIFsgUGFzcyBdCiBo
dHRwL3Rlc3RzL21lZGlhL2hscy9obHMtd2VidnR0LXRyYWNrcy5odG1sIFsgUGFzcyBdCiBodHRw
L3Rlc3RzL21lZGlhL3RyYWNrLWluLWJhbmQtaGxzLW1ldGFkYXRhLmh0bWwgWyBQYXNzIF0KIGh0
dHAvdGVzdHMvbWVkaWEvdHJhY2staW4tYmFuZC1obHMtbWV0YWRhdGEtY3Jhc2guaHRtbCBbIFBh
c3MgXQogCi1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLWN1ZXMtYWRkZWQtb25jZS5odG1sIFsg
UGFzcyBdCi1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLmh0bWwgWyBQYXNzIF0KLW1l
ZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtZHVwbGljYXRlLXRyYWNrcy13aGVuLXNvdXJjZS1jaGFu
Z2VzLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtbGVnYWN5LWFwaS5o
dG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLmh0bWwgWyBQYXNzIF0KLW1l
ZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtbWV0YWRhdGEtZGlzcGxheS1vcmRlci5odG1sIFsgUGFz
cyBdCi0KIGFjY2Vzc2liaWxpdHkvbWVkaWEtZWxlbWVudC5odG1sIFsgU2tpcCBdCiBmYXN0L2Js
b2NrL2Zsb2F0L2xpc3QtbWFya2VyLWlzLWZsb2F0LWNyYXNoLmh0bWwgWyBTa2lwIF0KIGZhc3Qv
Y3NzL3JlbGF0aXZlLXBvc2l0aW9uLXJlcGxhY2VkLWluLXRhYmxlLWRpc3BsYXktY3Jhc2guaHRt
bCBbIFNraXAgXQpAQCAtMjYyLDcgKzQwNCw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWVycm9yLmh0bWwgWyBTCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvc3VwcG9y
dC9NZWRpYVJlY29yZGVyLWlmcmFtZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9waWN0dXJlLWluLXBpY3R1cmUvbWVkaWFzdHJlYW0uaHRtbCBbIFNraXAgXQot
cGxhdGZvcm0vbWFjL21lZGlhIFsgU2tpcCBdCiAKIHdlYmdsIFsgU2tpcCBdCiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L3dlYmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2VkLmh0bWwgWyBT
a2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392135</attachid>
            <date>2020-03-02 05:42:37 -0800</date>
            <delta_ts>2020-03-02 06:36:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208423-20200302054236.patch</filename>
            <type>text/plain</type>
            <size>66236</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Njg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYzNWRlYzYzMTE4YTll
ZDVhZmIyMGMwZTNjYzhjYmViNTJjMWZlNS4uMGE0YTlmYzY4NTJlZjg3OTQ3NzQ4N2RiMWJjNmU1
OTdiZjUyMGY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAyLTI5ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBQbHVt
YiB0aHJvdWdoIG1vcmUgTWVkaWFQbGF5ZXIgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81OTkyNDM4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIHVuc2tpcHBlZCB+MTIwMCBleGlzdGluZyBtZWRpYSB0ZXN0cy4K
KworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxheSk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGll
bnQ6Om1lZGlhUGxheWVyQ29udGVudHNTY2FsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQYXVzZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQbGF5KTogRGVsZXRlZC4KKwog
MjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBlIHNob3VsZCBiZSBk
b25lIGluIHRoZSBVSSBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZiNDBlZjg0OWQxY2MwZGFiYzYxYWUx
ODU1ZjJiNzRiNTNjODNmZDYuLmQzMDhiZWVmMDE1YTg3YzVmZTJjZDI2MDk3NGUxYThhMTI5ZjNj
MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjAtMDItMjkgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFBsdW1iIHRocm91Z2gg
bW9yZSBNZWRpYVBsYXllciBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5OTI0Mzg2
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojp1cGRhdGVWaWRlb0Z1bGxz
Y3JlZW5JbmxpbmVJbWFnZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1
bGxzY3JlZW5HcmF2aXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0Vm9sdW1lKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6
OnNldEJ1ZmZlcmluZ1BvbGljeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5Ojp2aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hhbmdlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojph
Y2Nlc3NMb2cpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eTo6ZXJyb3JMb2cpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUGF1c2UpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
clBsYXkpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oOgorCiAyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJ
IHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3Bw
CmluZGV4IDUzNjY3NGFlZjMzZGFjOGU4ZWZlOTAzMDJiY2Y5Mzk2ZDJkZDUzMzkuLmJmYmI3YWE2
NTU1OTRhMDFhYTY3YzNjNDU0NmFmNWFjNTJlOTkwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcApA
QCAtMjQ4LDExICsyNDgsMTEgQEAgYXV0byBNZWRpYUNvbnRyb2xzSG9zdDo6ZXh0ZXJuYWxEZXZp
Y2VUeXBlKCkgY29uc3QgLT4gRGV2aWNlVHlwZQogICAgIH0KICAgICAKICAgICBzd2l0Y2ggKHBs
YXllci0+d2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSkgewotICAgIGNhc2UgTWVkaWFQbGF5
ZXI6OlRhcmdldFR5cGVOb25lOgorICAgIGNhc2UgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZToKICAgICAgICAgcmV0dXJuIERldmljZVR5cGU6
Ok5vbmU7Ci0gICAgY2FzZSBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZUFpclBsYXk6CisgICAgY2Fz
ZSBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVBaXJQ
bGF5OgogICAgICAgICByZXR1cm4gRGV2aWNlVHlwZTo6QWlycGxheTsKLSAgICBjYXNlIE1lZGlh
UGxheWVyOjpUYXJnZXRUeXBlVFZPdXQ6CisgICAgY2FzZSBNZWRpYVBsYXllcjo6V2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVUVk91dDoKICAgICAgICAgcmV0dXJuIERldmlj
ZVR5cGU6OlR2b3V0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKaW5kZXggZmRjNzI4YWI2ODY3MzI0ZmExNzBlN2VhMDAwYzEzNzdhNzgxYzk1My4uODMz
MmJjNTc2MDQyYjQ2YTczMDU5MWJlNWQ0YzAxYTMyNmRmYTVkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MDkyLDE2ICs3MDkyLDYgQEAgZmxvYXQgSFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29uc3QKICAgICByZXR1
cm4gMTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKCkKLXsK
LSAgICBwYXVzZSgpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxh
eSgpCi17Ci0gICAgcGxheSgpOwotfQotCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxh
eWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWlyZWQoKSBjb25zdAogewogICAgIHJl
dHVybiAhbV92b2x1bWVJbml0aWFsaXplZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKaW5kZXggZWYwMGMzNTAzOTU1MmFiNDgyNWIzNjhiOTMxZmY0ZjFmMWY0YzVmMy4uZDUx
MTRjYTIyZjAzYWMyMWZmNzUyYTFmZDU2NjEwNjMzODQwODBkMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTcyMiw4ICs3MjIsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0UmVjdCBt
ZWRpYVBsYXllckNvbnRlbnRCb3hSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgZmxvYXQgbWVk
aWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBtZWRpYVBs
YXllclBhdXNlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBtZWRpYVBsYXllclBsYXkoKSBvdmVycmlk
ZTsKICAgICBib29sIG1lZGlhUGxheWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWly
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIG1lZGlhUGxheWVySXNMb29waW5nKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVk
UmVzb3VyY2VMb2FkZXIoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA4NmI0NzNkMzhhMGNiNWE4MGUwMjYwZmNj
ZGEwYzhlODdjNGFlMzZjLi42MTlkNmUxMDE2ZWMwNGU0NzE0MWY5MmI4OGE5ZmFlOWYzOGNjMzE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
Y3BwCkBAIC0xMDg3LDExICsxMDg3LDYgQEAgYm9vbCBNZWRpYVBsYXllcjo6c3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c3VwcG9ydHNB
Y2NlbGVyYXRlZFJlbmRlcmluZygpOwogfQogCi1ib29sIE1lZGlhUGxheWVyOjpzaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5zaG91bGRN
YWludGFpbkFzcGVjdFJhdGlvKCk7Ci19Ci0KIHZvaWQgTWVkaWFQbGF5ZXI6OnNldFNob3VsZE1h
aW50YWluQXNwZWN0UmF0aW8oYm9vbCBtYWludGFpbkFzcGVjdFJhdGlvKQogewogICAgIG1fcHJp
dmF0ZS0+c2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhtYWludGFpbkFzcGVjdFJhdGlvKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4
IGE3NWFhY2ExZWJlMzhmZDcxZDA4ODg2NWM4MWQwMzU0ZmNhZTNhNjkuLmRmMTU3MzRjN2JkMDlh
NmY0ZTMxNmRjZmEyMGM0N2VhYTg5YmNiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjIyLDggKzIyMiw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIExheW91dFJlY3QgbWVkaWFQbGF5ZXJDb250ZW50Qm94UmVjdCgpIGNv
bnN0IHsgcmV0dXJuIExheW91dFJlY3QoKTsgfQogICAgIHZpcnR1YWwgZmxvYXQgbWVkaWFQbGF5
ZXJDb250ZW50c1NjYWxlKCkgY29uc3QgeyByZXR1cm4gMTsgfQotICAgIHZpcnR1YWwgdm9pZCBt
ZWRpYVBsYXllclBhdXNlKCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyUGxheSgp
IHsgfQogICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllclBsYXRmb3JtVm9sdW1lQ29uZmlndXJh
dGlvblJlcXVpcmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
bWVkaWFQbGF5ZXJJc0xvb3BpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVkUmVzb3VyY2VMb2FkZXIo
KSB7IHJldHVybiBudWxscHRyOyB9CkBAIC00NjEsOCArNDU5LDggQEAgcHVibGljOgogICAgIGJv
b2wgaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0OwogICAgIHZvaWQgcHJlcGFyZUZvclJl
bmRlcmluZygpOwogCisgICAgdXNpbmcgTWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFj
a1RhcmdldFR5cGU7CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICBl
bnVtIFdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHsgVGFyZ2V0VHlwZU5vbmUsIFRhcmdldFR5
cGVBaXJQbGF5LCBUYXJnZXRUeXBlVFZPdXQgfTsKICAgICBXaXJlbGVzc1BsYXliYWNrVGFyZ2V0
VHlwZSB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpIGNvbnN0OwogCiAgICAgU3RyaW5nIHdp
cmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3Q7CkBAIC00ODgsNyArNDg2LDYgQEAgcHVi
bGljOgogICAgIC8vIGNhbGxlZCB3aGVuIHRoZSByZW5kZXJpbmcgc3lzdGVtIGZsaXBzIHRoZSBp
bnRvIG9yIG91dCBvZiBhY2NlbGVyYXRlZCByZW5kZXJpbmcgbW9kZS4KICAgICB2b2lkIGFjY2Vs
ZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCk7CiAKLSAgICBib29sIHNob3VsZE1haW50YWlu
QXNwZWN0UmF0aW8oKSBjb25zdDsKICAgICB2b2lkIHNldFNob3VsZE1haW50YWluQXNwZWN0UmF0
aW8oYm9vbCk7CiAKICNpZiBQTEFURk9STShXSU4pICYmIFVTRShBVkZPVU5EQVRJT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1z
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgK
aW5kZXggYTlmMDQ5ZjdiZjEzNTNlZDc0YmJjOTYyNGQyNDJkZGY3NzQ3MTk3OS4uYTAwMTU5NzFh
ODIyYjQ2ZjdhY2MxYjg4MDMwMzhhMjcxYTQ2NzFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJFbnVtcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyRW51bXMuaApAQCAtOTksNiArOTksMTMg
QEAgcHVibGljOgogICAgICAgICBNZWRpYUZvdW5kYXRpb24sCiAgICAgICAgIE1vY2tNU0UsCiAg
ICAgfTsKKworICAgIGVudW0gY2xhc3MgV2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgOiB1aW50
OF90IHsKKyAgICAgICAgVGFyZ2V0VHlwZU5vbmUsCisgICAgICAgIFRhcmdldFR5cGVBaXJQbGF5
LAorICAgICAgICBUYXJnZXRUeXBlVFZPdXQKKyAgICB9OworCiB9OwogCiBTdHJpbmcgY29udmVy
dEVudW1lcmF0aW9uVG9TdHJpbmcoTWVkaWFQbGF5ZXJFbnVtczo6UmVhZHlTdGF0ZSk7CkBAIC0y
MjQsNCArMjMxLDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyPiB7CiAgICAgPjsKIH07CiAKK3Rl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGU+IHsKK3VzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Cisg
ICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUs
CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5
cGU6OlRhcmdldFR5cGVOb25lLAorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVs
ZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlQWlyUGxheSwKKyAgICBXZWJDb3JlOjpN
ZWRpYVBsYXllckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZVRW
T3V0CisgICAgPjsKK307CisKIH07IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggMWJk
NDA5NWEwOTYzOGNjOTE3NmEwNGQzNGZiYzExMmZjMjVmMzJkYy4uMTcwNzU5M2QyMjkzNDYyYTkx
NTY3M2JiOTJkMGUxZDYzZWZmOTgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKIAogICAgIHZpcnR1
YWwgU3RyaW5nIHdpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3QgeyByZXR1cm4gZW1w
dHlTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tU
YXJnZXRUeXBlIHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QgeyByZXR1cm4gTWVk
aWFQbGF5ZXI6OlRhcmdldFR5cGVOb25lOyB9CisgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6V2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25z
dCB7IHJldHVybiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdl
dFR5cGVOb25lOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFdpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wpIHsgfQpAQCAtMTg1LDcgKzE4NSw2IEBAIHB1
YmxpYzoKICAgICAvLyBjYWxsZWQgd2hlbiB0aGUgcmVuZGVyaW5nIHN5c3RlbSBmbGlwcyB0aGUg
aW50byBvciBvdXQgb2YgYWNjZWxlcmF0ZWQgcmVuZGVyaW5nIG1vZGUuCiAgICAgdmlydHVhbCB2
b2lkIGFjY2VsZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgeyB9CiAKLSAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhib29sKSB7IH0K
IAogICAgIHZpcnR1YWwgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uLmgKaW5kZXggMWEyMGMwNWJlNGNjMDEzN2EwNjJmM2ZjZTM4NGI1YTU1ZWI2
ODk0My4uMmU1NDY3MDFjNzhkYjQ0OTllYWE4YmFmM2JmM2JiNjk0N2YxNTM5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAt
MTk0LDcgKzE5NCw3IEBAIHByb3RlY3RlZDoKICAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxh
eWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAgIGJvb2wgc3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZygpIGNvbnN0IG92ZXJyaWRlID0gMDsKICAgICB2b2lkIGFjY2VsZXJh
dGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBzaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zaG91bGRNYWludGFp
bkFzcGVjdFJhdGlvOyB9CisgICAgYm9vbCBzaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRNYWludGFpbkFzcGVjdFJhdGlvOyB9CiAgICAgdm9pZCBzZXRT
aG91bGRNYWludGFpbkFzcGVjdFJhdGlvKGJvb2wpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuU2F2
ZU1lZGlhRGF0YSgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRl
eCBkN2NmYmY5ZDc0MjE2MTJjOTkxYWQ3YjMwMzU1YmE5ZTFkYmMyZDc2Li44ZDE5NTJhOTQ0Y2Rj
N2VkN2Q0Nzc5M2M3M2E4Mzk3MzdlMDJiNWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAg
LTI2MTksNyArMjYxOSw3IEBAIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdAogI2lmIEVOQUJMRShXSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpCiAvLyBBVlBsYXllckl0ZW0udHJhY2tzIGlzIGVtcHR5IGR1
cmluZyBBaXJQbGF5IHNvIGlmIEFpclBsYXkgaXMgYWN0aXZhdGVkIGltbWVkaWF0ZWx5CiAvLyBh
ZnRlciB0aGUgaXRlbSBpcyBjcmVhdGVkLCB3ZSBkb24ndCBrbm93IGlmIGl0IGhhcyBhdWRpbyBv
ciB2aWRlbyBhbmQgc3RhdGUgcmVwb3J0ZWQKLS8vIHRvIHRoZSBXZWJNZWRpYVNlc3Npb25NYW5h
Z2VyIGlzIGluY29ycmVjdC4gQWlyUGxheSBjYW4ndCBhY3R1YWxseSBiZSBhY3RpdmUgaXMgYW4g
aXRlbQorLy8gdG8gdGhlIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXIgaXMgaW5jb3JyZWN0LiBBaXJQ
bGF5IGNhbid0IGFjdHVhbGx5IGJlIGFjdGl2ZSBpZiBhbiBpdGVtCiAvLyBkb2Vzbid0IGhhdmUg
YXVkaW8gb3IgdmlkZW8sIHNvIGxpZSBkdXJpbmcgQWlyUGxheS4KIAogYm9vbCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpoYXNWaWRlbygpIGNvbnN0CkBAIC0yNjYxLDI2ICsy
NjYxLDI2IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aXNDdXJy
ZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcygpIGNvbnN0CiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6d2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25zdAogewogICAgIGlmICghbV9hdlBsYXllcikK
LSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICAgICAgcmV0
dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5v
bmU7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmICghUEFMOjppc0FWRm91bmRh
dGlvbkZyYW1ld29ya0F2YWlsYWJsZSgpKQotICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OlRh
cmdldFR5cGVOb25lOworICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsKIAogICAgIHN3aXRjaCAoW21fYXZQbGF5ZXIg
ZXh0ZXJuYWxQbGF5YmFja1R5cGVdKSB7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJh
Y2tUeXBlTm9uZToKLSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsK
KyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6
VGFyZ2V0VHlwZU5vbmU7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlQWly
UGxheToKLSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlQWlyUGxheTsKKyAg
ICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFy
Z2V0VHlwZUFpclBsYXk7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlVFZP
dXQ6Ci0gICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZVRWT3V0OworICAgICAg
ICByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRU
eXBlVFZPdXQ7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICByZXR1cm4gTWVkaWFQbGF5ZXI6Oldp
cmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsKIAogI2Vsc2UKLSAgICBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OlRhcmdldFR5cGVBaXJQbGF5OworICAgIHJldHVybiBNZWRpYVBs
YXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVBaXJQbGF5OwogI2Vu
ZGlmCiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAppbmRleCA5MTQ4OTBm
ZjY0YmEzMjM1OGY2ZDBiYmJjNjVkZTU0YzUwYWZjYTY2Li44MjY0ZjNjNzYwMmJiNTZmNGRlN2M4
MWFlZmEzYmIxNmRmODIyNmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKQEAg
LTE5MiwyNCArMTkyLDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c3Vw
cG9ydHNLZXlTeXN0ZW0oTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmcKICAgICBjb21wbGV0aW9u
SGFuZGxlcihyZXN1bHQpOwogfQogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
U3RyaW5nKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBpZiAoYXV0byBwbGF5ZXIgPSBt
X3Byb3hpZXMuZ2V0KHBsYXllcklkZW50aWZpZXIpKSB7Ci0gICAgICAgIFN0cmluZyBsb2cgPSBw
bGF5ZXItPmFjY2Vzc0xvZygpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihsb2cpOwotICAg
IH0KLX0KLQotdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZXJyb3JMb2coTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgaWYg
KGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkgewotICAgICAg
ICBTdHJpbmcgbG9nID0gcGxheWVyLT5lcnJvckxvZygpOwotICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihsb2cpOwotICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5OjpkaWRSZWNlaXZlUGxheWVyTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoYXV0byogcGxheWVyID0g
bV9wcm94aWVzLmdldChtYWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVJZGVudGlmaWVyVHlwZT4oZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5LmgKaW5kZXggMjlkZGMyMDQ1MDI1N2I0NmQ5MTYwMzEwZDY4MzY1NDhlY2Jm
MThiMS4uYWUzMjhjYjdkMDkzNjI2YWIyYjMyN2NkNWE2MzM0NjBmZDcwNDE0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5LmgKQEAgLTg0LDExICs4NCw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBjbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiYsIFZlY3RvcjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGE+JiYpOwogICAgIHZvaWQgc3VwcG9ydHNLZXlTeXN0ZW0oV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmJiwg
Y29uc3QgU3RyaW5nJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIGFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZh
dGVSZW1vdGVJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOwot
ICAgIHZvaWQgZXJyb3JMb2coTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKLSNlbmRpZgotCiAgICAgSGFzaE1hcDxN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eT4+IG1fcHJveGllczsKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBjODZiZGE1N2MyYjk0OGM1ZDBmNDhlODVj
MWNkNjczYTA3ODdiYmFmLi40Y2JkNDYxNGI2MmI4YzNlN2Q0ZjU2Y2E5NTBjOTQ0NzYxMjk5MzJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0z
NCwxMSArMzQsNiBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBO
b3RSZWZDb3VudGVkIHsKICAgICBDbGVhck1lZGlhQ2FjaGUoZW51bTp1aW50OF90IFdlYkNvcmU6
Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVu
dGlmaWVyLCBTdHJpbmcgcGF0aCwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSkKICAgICBDbGVhck1l
ZGlhQ2FjaGVGb3JPcmlnaW5zKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllciwgU3RyaW5nIHBh
dGgsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMpCiAgICAgU3Vw
cG9ydHNLZXlTeXN0ZW0oZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcga2V5U3lz
dGVtLCBTdHJpbmcgbWltZVR5cGUpIC0+IChib29sIHN1cHBvcnRzKSBTeW5jaHJvbm91cwotCi0j
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBBY2Nlc3NMb2coV2ViS2l0OjpNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIpIC0+IChTdHJpbmcgYWNj
ZXNzTG9nKSBTeW5jaHJvbm91cwotICAgIEVycm9yTG9nKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyKSAtPiAoU3RyaW5nIGVycm9yTG9n
KSBTeW5jaHJvbm91cwotI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4
IDYzMmIxM2RlNmNkYzBiZmNkOTU1YmVhNzU4MDFjMGI4MzI0YTI3MDEuLmViNzIyYzhkMjIwNmE4
YzhjZjZmMzNiYWQ3NzM1ZmE3ZjdjZDJiMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTgzLDYg
KzgzLDggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjppbnZhbGlkYXRlKCkKIHZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Z2V0Q29uZmlndXJhdGlvbihSZW1vdGVNZWRpYVBsYXll
ckNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiB7CiAgICAgY29uZmlndXJhdGlvbi5lbmdp
bmVEZXNjcmlwdGlvbiA9IG1fcGxheWVyLT5lbmdpbmVEZXNjcmlwdGlvbigpOworICAgIGF1dG8g
bWF4RHVyYXRpb24gPSBtX3BsYXllci0+bWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSgp
OworICAgIGNvbmZpZ3VyYXRpb24ubWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSA9IG1h
eER1cmF0aW9uID8gbWF4RHVyYXRpb24gOiAwLjI7CiAgICAgY29uZmlndXJhdGlvbi5zdXBwb3J0
c1NjYW5uaW5nID0gbV9wbGF5ZXItPnN1cHBvcnRzU2Nhbm5pbmcoKTsKICAgICBjb25maWd1cmF0
aW9uLnN1cHBvcnRzRnVsbHNjcmVlbiA9IG1fcGxheWVyLT5zdXBwb3J0c0Z1bGxzY3JlZW4oKTsK
ICAgICBjb25maWd1cmF0aW9uLnN1cHBvcnRzUGljdHVyZUluUGljdHVyZSA9IG1fcGxheWVyLT5z
dXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKQEAgLTI0NSwxNCArMjQ3LDE0IEBAIHZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQoKQogfQog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLVN0cmluZyBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjphY2Nlc3NMb2coKQorU3RyaW5nIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmFjY2Vzc0xvZyhD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0g
ICAgcmV0dXJuIG1fcGxheWVyLT5hY2Nlc3NMb2coKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlciht
X3BsYXllci0+YWNjZXNzTG9nKCkpOwogfQogCi1TdHJpbmcgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eTo6ZXJyb3JMb2coKQorU3RyaW5nIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmVycm9yTG9nKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoU3RyaW5nKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAg
ICByZXR1cm4gbV9wbGF5ZXItPmVycm9yTG9nKCk7CisgICAgY29tcGxldGlvbkhhbmRsZXIobV9w
bGF5ZXItPmVycm9yTG9nKCkpOwogfQogI2VuZGlmCiAKQEAgLTI2NSw3ICsyNjcsMTcgQEAgdm9p
ZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck5ldHdvcmtTdGF0ZUNoYW5nZWQo
KQogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJlYWR5U3RhdGVDaGFu
Z2VkKCkKIHsKICAgICB1cGRhdGVDYWNoZWRTdGF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuY2Fu
U2F2ZU1lZGlhRGF0YSA9IG1fcGxheWVyLT5jYW5TYXZlTWVkaWFEYXRhKCk7CisgICAgbV9jYWNo
ZWRTdGF0ZS5zdGFydERhdGUgPSBtX3BsYXllci0+Z2V0U3RhcnREYXRlKCk7CisgICAgbV9jYWNo
ZWRTdGF0ZS5zdGFydFRpbWUgPSBtX3BsYXllci0+c3RhcnRUaW1lKCk7CiAgICAgbV9jYWNoZWRT
dGF0ZS5uYXR1cmFsU2l6ZSA9IG1fcGxheWVyLT5uYXR1cmFsU2l6ZSgpOworICAgIG1fY2FjaGVk
U3RhdGUubWF4RmFzdEZvcndhcmRSYXRlID0gbV9wbGF5ZXItPm1heEZhc3RGb3J3YXJkUmF0ZSgp
OworICAgIG1fY2FjaGVkU3RhdGUubWluRmFzdFJldmVyc2VSYXRlID0gbV9wbGF5ZXItPm1pbkZh
c3RSZXZlcnNlUmF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFt
ZSA9IG1fcGxheWVyLT5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCk7CisgICAgbV9jYWNoZWRTdGF0
ZS53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCA9IG1fcGxheWVyLT53aXJlbGVzc1ZpZGVv
UGxheWJhY2tEaXNhYmxlZCgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzU2luZ2xlU2VjdXJpdHlP
cmlnaW4gPSBtX3BsYXllci0+aGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKTsKKyAgICBtX2NhY2hl
ZFN0YXRlLmRpZFBhc3NDT1JTQWNjZXNzQ2hlY2sgPSBtX3BsYXllci0+ZGlkUGFzc0NPUlNBY2Nl
c3NDaGVjaygpOworCiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpSZWFkeVN0YXRlQ2hhbmdlZChtX2NhY2hlZFN0YXRl
KSwgbV9pZCk7CiB9CiAKQEAgLTM2OSwxMiArMzgxLDIyIEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eTo6bWVkaWFQbGF5ZXJCdWZmZXJlZFRpbWVSYW5nZXNDaGFuZ2VkKCkKIAogdm9pZCBS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclNlZWthYmxlVGltZVJhbmdlc0NoYW5n
ZWQoKQogewotICAgIG1fc2Vla2FibGVDaGFuZ2VkID0gdHJ1ZTsKKyAgICBtX2NhY2hlZFN0YXRl
Lm1pblRpbWVTZWVrYWJsZSA9IG1fcGxheWVyLT5taW5UaW1lU2Vla2FibGUoKTsKKyAgICBtX2Nh
Y2hlZFN0YXRlLm1heFRpbWVTZWVrYWJsZSA9IG1fcGxheWVyLT5tYXhUaW1lU2Vla2FibGUoKTsK
KyAgICBtX2NhY2hlZFN0YXRlLnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgPSBt
X3BsYXllci0+c2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSgpOworICAgIG1fY2Fj
aGVkU3RhdGUubGl2ZVVwZGF0ZUludGVydmFsID0gbV9wbGF5ZXItPmxpdmVVcGRhdGVJbnRlcnZh
bCgpOworCisgICAgaWYgKCFtX3VwZGF0ZUNhY2hlZFN0YXRlTWVzc2FnZVRpbWVyLmlzQWN0aXZl
KCkpCisgICAgICAgIHNlbmRDYWNoZWRTdGF0ZSgpOwogfQogCiB2b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Om1lZGlhUGxheWVyQ2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCkKIHsKLSAgICBtX3dl
YlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OkNoYXJhY3RlcmlzdGljQ2hhbmdlZChtX3BsYXllci0+aGFzQXVkaW8oKSwgbV9wbGF5ZXIt
Pmhhc1ZpZGVvKCksIG1fcGxheWVyLT5tb3ZpZUxvYWRUeXBlKCkpLCBtX2lkKTsKKyAgICB1cGRh
dGVDYWNoZWRTdGF0ZSgpOworICAgIG1fY2FjaGVkU3RhdGUuaGFzQ2xvc2VkQ2FwdGlvbnMgPSBt
X3BsYXllci0+aGFzQ2xvc2VkQ2FwdGlvbnMoKTsKKyAgICBtX2NhY2hlZFN0YXRlLmxhbmd1YWdl
T2ZQcmltYXJ5QXVkaW9UcmFjayA9IG1fcGxheWVyLT5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJh
Y2soKTsKKworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6Q2hhcmFjdGVyaXN0aWNDaGFuZ2VkKG1fY2FjaGVkU3RhdGUp
LCBtX2lkKTsKIH0KIAogYm9vbCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJl
bmRlcmluZ0NhbkJlQWNjZWxlcmF0ZWQoKQpAQCAtNTE1LDEyICs1MzcsMTYgQEAgdm9pZCBSZW1v
dGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllcldhaXRpbmdGb3JLZXlDaGFuZ2VkKCkKICNp
ZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogdm9pZCBSZW1vdGVNZWRpYVBsYXll
clByb3h5OjptZWRpYVBsYXllckN1cnJlbnRQbGF5YmFja1RhcmdldElzV2lyZWxlc3NDaGFuZ2Vk
KGJvb2wgaXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcykKIHsKKyAgICBtX2NhY2hlZFN0
YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lID0gbV9wbGF5ZXItPndpcmVsZXNzUGxheWJh
Y2tUYXJnZXROYW1lKCk7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1BsYXliYWNrVGFyZ2V0
VHlwZSA9IG1fcGxheWVyLT53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpOworICAgIHNlbmRD
YWNoZWRTdGF0ZSgpOwogICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6
Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Q3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVz
c0NoYW5nZWQoaXNDdXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcyksIG1faWQpOwogfQogCiB2
b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkKGJvb2wgZGlzYWJsZWQpCiB7CiAgICAgbV9wbGF5ZXItPnNldFdpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkKGRpc2FibGVkKTsKKyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzVmlkZW9Q
bGF5YmFja0Rpc2FibGVkID0gbV9wbGF5ZXItPndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVk
KCk7CiB9CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0U2hvdWxkUGxheVRvUGxh
eWJhY2tUYXJnZXQoYm9vbCBzaG91bGRQbGF5KQpAQCAtNTU1LDE2ICs1ODEsNiBAQCBmbG9hdCBS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllckNvbnRlbnRzU2NhbGUoKSBjb25zdAog
ICAgIHJldHVybiBtX3ZpZGVvQ29udGVudFNjYWxlOwogfQogCi12b2lkIFJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Om1lZGlhUGxheWVyUGF1c2UoKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19
Ci0KLXZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJQbGF5KCkKLXsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOwotfQotCiBib29sIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1l
ZGlhUGxheWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWlyZWQoKSBjb25zdAogewog
ICAgIG5vdEltcGxlbWVudGVkKCk7CkBAIC02NTksMTIgKzY3NSw2IEBAIHZvaWQgUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6dXBkYXRlQ2FjaGVkU3RhdGUoKQogICAgIG1fY2FjaGVkU3RhdGUucGF1
c2VkID0gbV9wbGF5ZXItPnBhdXNlZCgpOwogICAgIG1fY2FjaGVkU3RhdGUubG9hZGluZ1Byb2dy
ZXNzZWQgPSBtX3BsYXllci0+ZGlkTG9hZGluZ1Byb2dyZXNzKCk7CiAKLSAgICBpZiAobV9zZWVr
YWJsZUNoYW5nZWQpIHsKLSAgICAgICAgbV9zZWVrYWJsZUNoYW5nZWQgPSBmYWxzZTsKLSAgICAg
ICAgbV9jYWNoZWRTdGF0ZS5taW5UaW1lU2Vla2FibGUgPSBtX3BsYXllci0+bWluVGltZVNlZWth
YmxlKCk7Ci0gICAgICAgIG1fY2FjaGVkU3RhdGUubWF4VGltZVNlZWthYmxlID0gbV9wbGF5ZXIt
Pm1heFRpbWVTZWVrYWJsZSgpOwotICAgIH0KLQogICAgIGlmIChtX2J1ZmZlcmVkQ2hhbmdlZCkg
ewogICAgICAgICBtX2J1ZmZlcmVkQ2hhbmdlZCA9IGZhbHNlOwogICAgICAgICBtX2NhY2hlZFN0
YXRlLmJ1ZmZlcmVkUmFuZ2VzID0gKm1fcGxheWVyLT5idWZmZXJlZCgpOwpAQCAtNzEwLDYgKzcy
MCwyMSBAQCB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmFwcGxpY2F0aW9uRGlkQmVjb21l
QWN0aXZlKCkKICAgICBtX3BsYXllci0+YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKIH0K
IAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojpub3RpZnlUcmFja01vZGVDaGFuZ2VkKCkK
K3sKKyAgICBtX3BsYXllci0+bm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpOworfQorCit2b2lkIFJl
bW90ZU1lZGlhUGxheWVyUHJveHk6OnRyYWNrc0NoYW5nZWQoKQoreworICAgIG1fcGxheWVyLT50
cmFja3NDaGFuZ2VkKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c3luY1Rl
eHRUcmFja0JvdW5kcygpCit7CisgICAgbV9wbGF5ZXItPnN5bmNUZXh0VHJhY2tCb3VuZHMoKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NF
U1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuaAppbmRleCAyYzAxZDBlNWYwMWFmMzJmMzIzYmViYzYxZDhjOGYwYmQ4
NGE2MDgxLi4wZTFjYjc0NjQzMWIzYzZmNzY0ZmExMzAxMTJjOWU1ZTQxZWYyZGY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
clByb3h5LmgKQEAgLTg0LDExICs4NCwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCB2aWRlb0Z1bGxz
Y3JlZW5TdGFuZGJ5Q2hhbmdlZCgpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBT
dHJpbmcgYWNjZXNzTG9nKCk7Ci0gICAgU3RyaW5nIGVycm9yTG9nKCk7CisgICAgU3RyaW5nIGFj
Y2Vzc0xvZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOworICAgIFN0cmluZyBl
cnJvckxvZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOwogI2VuZGlmCiAKICAg
ICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYp
IGZpbmFsOworICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+Jik7CiAKICAgICB2
b2lkIGdldENvbmZpZ3VyYXRpb24oUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uJik7CiAK
QEAgLTE0OCw2ICsxNDksMTAgQEAgcHVibGljOgogICAgIHZvaWQgYXBwbGljYXRpb25XaWxsUmVz
aWduQWN0aXZlKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpOwogCisg
ICAgdm9pZCBub3RpZnlUcmFja01vZGVDaGFuZ2VkKCk7CisgICAgdm9pZCB0cmFja3NDaGFuZ2Vk
KCk7CisgICAgdm9pZCBzeW5jVGV4dFRyYWNrQm91bmRzKCk7CisKICAgICBSZWY8V2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVJlc291cmNlPiByZXF1ZXN0UmVzb3VyY2UoV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiYsIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRlcjo6TG9hZE9wdGlv
bnMpOwogICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2UoUmVtb3RlTWVkaWFSZXNvdXJjZUlkZW50aWZp
ZXIpOwogCkBAIC0yMDEsOCArMjA2LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1lZGlhUGxheWVy
SXNGdWxsc2NyZWVuUGVybWl0dGVkKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBtZWRpYVBsYXll
cklzVmlkZW8oKSBjb25zdCBmaW5hbDsKICAgICBmbG9hdCBtZWRpYVBsYXllckNvbnRlbnRzU2Nh
bGUoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIG1lZGlhUGxheWVyUGF1c2UoKSBmaW5hbDsKLSAg
ICB2b2lkIG1lZGlhUGxheWVyUGxheSgpIGZpbmFsOwogICAgIGJvb2wgbWVkaWFQbGF5ZXJQbGF0
Zm9ybVZvbHVtZUNvbmZpZ3VyYXRpb25SZXF1aXJlZCgpIGNvbnN0IGZpbmFsOwogICAgIFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyKiBtZWRpYVBsYXllckNhY2hlZFJlc291cmNlTG9hZGVy
KCkgZmluYWw7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFSZXNvdXJjZUxvYWRl
cj4gbWVkaWFQbGF5ZXJDcmVhdGVSZXNvdXJjZUxvYWRlcigpIGZpbmFsOwpAQCAtMjYxLDcgKzI2
NCw2IEBAIHByaXZhdGU6CiAgICAgUnVuTG9vcDo6VGltZXI8UmVtb3RlTWVkaWFQbGF5ZXJQcm94
eT4gbV91cGRhdGVDYWNoZWRTdGF0ZU1lc3NhZ2VUaW1lcjsKICAgICBSZW1vdGVNZWRpYVBsYXll
clN0YXRlIG1fY2FjaGVkU3RhdGU7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3Vy
YXRpb24gbV9jb25maWd1cmF0aW9uOwotICAgIGJvb2wgbV9zZWVrYWJsZUNoYW5nZWQgeyB0cnVl
IH07CiAgICAgYm9vbCBtX2J1ZmZlcmVkQ2hhbmdlZCB7IHRydWUgfTsKICAgICBib29sIG1fcmVu
ZGVyaW5nQ2FuQmVBY2NlbGVyYXRlZCB7IHRydWUgfTsKICAgICBXZWJDb3JlOjpMYXlvdXRSZWN0
IG1fdmlkZW9Db250ZW50Qm94UmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggYmMyZDIyNjY2YWRlZGM4YjczMGMyZmJkY2YxYzRmOGYwN2Y3MThlOS4uNTAzMTg5Njdm
MjgwNmRiYzA1ZmJhNzVmYjhlMGM1OWIzNDFmZDJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHku
bWVzc2FnZXMuaW4KQEAgLTk0LDYgKzk0LDE1IEBAIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUGxh
eWVyUHJveHkgTm90UmVmQ291bnRlZCB7CiAKICAgICBBcHBsaWNhdGlvbldpbGxSZXNpZ25BY3Rp
dmUoKQogICAgIEFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCkKKworICAgIE5vdGlmeVRyYWNr
TW9kZUNoYW5nZWQoKQorICAgIFRyYWNrc0NoYW5nZWQoKQorICAgIFN5bmNUZXh0VHJhY2tCb3Vu
ZHMoKQorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBFcnJvckxvZygpIC0+IChTdHJp
bmcgZXJyb3JMb2cpIFN5bmNocm9ub3VzCisgICAgQWNjZXNzTG9nKCkgLT4gKFN0cmluZyBhY2Nl
c3NMb2cpIFN5bmNocm9ub3VzCisjZW5kaWYKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJLaXQu
eGNzY2hlbWUgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hj
c2NoZW1lcy9XZWJLaXQueGNzY2hlbWUKaW5kZXggMjE4ZGIyYjM3Njk5MGM0NThiNWU5ODNiMTVk
ODJmOWRjNGEzMTg2YS4uNjEwMzliMWM3MTczOGYzMjMzZGI4YjM1OTg0M2M0NGM4M2VmOWM5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94
Y3NjaGVtZXMvV2ViS2l0Lnhjc2NoZW1lCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1dlYktpdC54Y3NjaGVtZQpAQCAtMzEsNyArMzEs
NyBAQAogICAgICAgPC9UZXN0YWJsZXM+CiAgICA8L1Rlc3RBY3Rpb24+CiAgICA8TGF1bmNoQWN0
aW9uCi0gICAgICBidWlsZENvbmZpZ3VyYXRpb24gPSAiRGVidWciCisgICAgICBidWlsZENvbmZp
Z3VyYXRpb24gPSAiUmVsZWFzZSIKICAgICAgIHNlbGVjdGVkRGVidWdnZXJJZGVudGlmaWVyID0g
Ilhjb2RlLkRlYnVnZ2VyRm91bmRhdGlvbi5EZWJ1Z2dlci5MTERCIgogICAgICAgc2VsZWN0ZWRM
YXVuY2hlcklkZW50aWZpZXIgPSAiWGNvZGUuRGVidWdnZXJGb3VuZGF0aW9uLkxhdW5jaGVyLkxM
REIiCiAgICAgICBsYXVuY2hTdHlsZSA9ICIwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CmluZGV4IGYzZGM4OWM2ZjYxMDlmM2I2MDViOWQ1ZjZlNDE3ZGY5Y2EyNzE5YmMuLmFkMDNlNWU3
MmI5MmY2YTZlYjJhNWUxMjZiMmMxYTNmOWZmMzQzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZS5jcHAKQEAgLTIxNSwxMiArMjE1LDEyIEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjpkaWRMb2FkaW5nUHJvZ3Jlc3MoKSBjb25zdAogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6aGFzVmlkZW8oKSBjb25zdAogewotICAgIHJldHVybiBtX2hhc1ZpZGVvOworICAg
IHJldHVybiBtX2NhY2hlZFN0YXRlLmhhc1ZpZGVvOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6aGFzQXVkaW8oKSBjb25zdAogewotICAgIHJldHVybiBtX2hhc0F1ZGlvOwor
ICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmhhc0F1ZGlvOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8
UGxhdGZvcm1UaW1lUmFuZ2VzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNlZWthYmxlKCkg
Y29uc3QKQEAgLTIzOCw3ICsyMzgsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1UaW1lUmFu
Z2VzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmJ1ZmZlcmVkKCkgY29uc3QKIAogTWVkaWFQ
bGF5ZXI6Ok1vdmllTG9hZFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptb3ZpZUxvYWRU
eXBlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tb3ZpZUxvYWRUeXBlOworICAgIHJldHVybiBt
X2NhY2hlZFN0YXRlLm1vdmllTG9hZFR5cGU7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpuZXR3b3JrU3RhdGVDaGFuZ2VkKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUmJiBzdGF0
ZSkKQEAgLTI5NiwxMSArMjk2LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmVu
Z2luZUZhaWxlZFRvTG9hZChsb25nIHBsYXRmb3JtRXJyb3JDb2RlKQogICAgIG1fcGxheWVyLT5y
ZW1vdGVFbmdpbmVGYWlsZWRUb0xvYWQoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGU6OmNoYXJhY3RlcmlzdGljQ2hhbmdlZChib29sIGhhc0F1ZGlvLCBib29sIGhhc1ZpZGVv
LCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBlIG1vdmllTG9hZFR5cGUp
Cit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y2hhcmFjdGVyaXN0aWNDaGFuZ2VkKFJl
bW90ZU1lZGlhUGxheWVyU3RhdGUmJiBzdGF0ZSkKIHsKLSAgICBtX21vdmllTG9hZFR5cGUgPSBt
b3ZpZUxvYWRUeXBlOwotICAgIG1faGFzQXVkaW8gPSBoYXNBdWRpbzsKLSAgICBtX2hhc1ZpZGVv
ID0gaGFzVmlkZW87CisgICAgdXBkYXRlQ2FjaGVkU3RhdGUoV1RGTW92ZShzdGF0ZSkpOwogICAg
IG1fcGxheWVyLT5jaGFyYWN0ZXJpc3RpY0NoYW5nZWQoKTsKIH0KIApAQCAtMzYyLDYgKzM2MCwy
NSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dXBkYXRlQ2FjaGVkU3RhdGUoUmVt
b3RlTWVkaWFQbGF5ZXJTdGF0ZSYmIHN0YXRlKQogICAgIG1fY2FjaGVkU3RhdGUucGF1c2VkID0g
c3RhdGUucGF1c2VkOwogICAgIG1fY2FjaGVkU3RhdGUubG9hZGluZ1Byb2dyZXNzZWQgPSBzdGF0
ZS5sb2FkaW5nUHJvZ3Jlc3NlZDsKICAgICBtX2NhY2hlZFN0YXRlLm5hdHVyYWxTaXplID0gc3Rh
dGUubmF0dXJhbFNpemU7CisgICAgbV9jYWNoZWRTdGF0ZS5tb3ZpZUxvYWRUeXBlID0gc3RhdGUu
bW92aWVMb2FkVHlwZTsKKyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXRU
eXBlID0gc3RhdGUud2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU7CisKKyAgICBtX2NhY2hlZFN0
YXRlLnN0YXJ0RGF0ZSA9IHN0YXRlLnN0YXJ0RGF0ZTsKKyAgICBtX2NhY2hlZFN0YXRlLnN0YXJ0
VGltZSA9IHN0YXRlLnN0YXJ0VGltZTsKKyAgICBtX2NhY2hlZFN0YXRlLmxhbmd1YWdlT2ZQcmlt
YXJ5QXVkaW9UcmFjayA9IHN0YXRlLmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjazsKKyAgICBt
X2NhY2hlZFN0YXRlLm1heEZhc3RGb3J3YXJkUmF0ZSA9IHN0YXRlLm1heEZhc3RGb3J3YXJkUmF0
ZTsKKyAgICBtX2NhY2hlZFN0YXRlLm1pbkZhc3RSZXZlcnNlUmF0ZSA9IHN0YXRlLm1pbkZhc3RS
ZXZlcnNlUmF0ZTsKKyAgICBtX2NhY2hlZFN0YXRlLnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2Rp
ZmllZFRpbWUgPSBzdGF0ZS5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lOworICAg
IG1fY2FjaGVkU3RhdGUubGl2ZVVwZGF0ZUludGVydmFsID0gc3RhdGUubGl2ZVVwZGF0ZUludGVy
dmFsOworICAgIG1fY2FjaGVkU3RhdGUuY2FuU2F2ZU1lZGlhRGF0YSA9IHN0YXRlLmNhblNhdmVN
ZWRpYURhdGE7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNBdWRpbyA9IHN0YXRlLmhhc0F1ZGlvOwor
ICAgIG1fY2FjaGVkU3RhdGUuaGFzVmlkZW8gPSBzdGF0ZS5oYXNWaWRlbzsKKyAgICBtX2NhY2hl
ZFN0YXRlLmhhc0Nsb3NlZENhcHRpb25zID0gc3RhdGUuaGFzQ2xvc2VkQ2FwdGlvbnM7CisgICAg
bV9jYWNoZWRTdGF0ZS5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lID0gc3RhdGUuaGFzQXZhaWxhYmxl
VmlkZW9GcmFtZTsKKyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkID0gc3RhdGUud2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQ7CisgICAgbV9jYWNoZWRT
dGF0ZS5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbiA9IHN0YXRlLmhhc1NpbmdsZVNlY3VyaXR5T3Jp
Z2luOworICAgIG1fY2FjaGVkU3RhdGUuZGlkUGFzc0NPUlNBY2Nlc3NDaGVjayA9IHN0YXRlLmRp
ZFBhc3NDT1JTQWNjZXNzQ2hlY2s7CisKICAgICBpZiAoc3RhdGUuYnVmZmVyZWRSYW5nZXMubGVu
Z3RoKCkpCiAgICAgICAgIG1fY2FjaGVkQnVmZmVyZWRUaW1lUmFuZ2VzID0gbWFrZVVuaXF1ZTxQ
bGF0Zm9ybVRpbWVSYW5nZXM+KHN0YXRlLmJ1ZmZlcmVkUmFuZ2VzKTsKIH0KQEAgLTU3MSw4ICs1
ODgsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmVtb3RlVmlkZW9UcmFja0Nv
bmZpZ3VyYXRpb25DaGFuZ2VkKFRyYWNrUHJpdmF0ZQogICAgICAgICB0cmFjay0+dXBkYXRlQ29u
ZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pKTsKIH0KIAotLy8gRklYTUU6IFVuaW1w
bGVtZW50ZWQKLQogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6bG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQq
KQogewpAQCAtNTkwLDcgKzYwNSw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjps
b2FkKGNvbnN0IFN0cmluZyYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCopCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKE1lZGlh
U3RyZWFtUHJpdmF0ZSYpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKwogICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzID0gbWFrZVdlYWtQ
dHIoKnRoaXMpLCB0aGlzXSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICBy
ZXR1cm47CkBAIC02NTUsOCArNjcxLDcgQEAgTlNBcnJheSogTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlOjp0aW1lZE1ldGFkYXRhKCkgY29uc3QKIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmFjY2Vzc0xvZygpIGNvbnN0CiB7CiAgICAgU3RyaW5nIGxvZzsKLSAgICAKLSAgICBpZiAo
IWNvbm5lY3Rpb24oKS5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHk6OkFjY2Vzc0xvZyhtX2lkKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5OjpBY2Nlc3NMb2c6OlJlcGx5KGxvZyksIG1faWQpKQorICAgIGlmICghY29ubmVjdGlv
bigpLnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpBY2Nlc3NMb2co
KSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OkFjY2Vzc0xvZzo6UmVwbHkobG9n
KSwgbV9pZCkpCiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgcmV0dXJuIGxv
ZzsKQEAgLTY2NSw4ICs2ODAsNyBAQCBTdHJpbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjph
Y2Nlc3NMb2coKSBjb25zdAogU3RyaW5nIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZXJyb3JM
b2coKSBjb25zdAogewogICAgIFN0cmluZyBsb2c7Ci0gICAgCi0gICAgaWYgKCFjb25uZWN0aW9u
KCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpFcnJv
ckxvZyhtX2lkKSwgTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpFcnJv
ckxvZzo6UmVwbHkobG9nKSwgbV9pZCkpCisgICAgaWYgKCFjb25uZWN0aW9uKCkuc2VuZFN5bmMo
TWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OkVycm9yTG9nKCksIE1lc3NhZ2VzOjpS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjpFcnJvckxvZzo6UmVwbHkobG9nKSwgbV9pZCkpCiAgICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgcmV0dXJuIGxvZzsKQEAgLTY4MCwzMSAr
Njk0LDI3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRCdWZmZXJpbmdQb2xp
Y3koTWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSBwCiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5jYW5TYXZl
TWVkaWFEYXRhOwogfQogCiBNZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpnZXRT
dGFydERhdGUoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIE1l
ZGlhVGltZTo6emVyb1RpbWUoKTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5zdGFydERhdGU7
CiB9CiAKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnN0YXJ0VGltZSgpIGNv
bnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gTWVkaWFUaW1lOjp6ZXJv
VGltZSgpOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLnN0YXJ0VGltZTsKIH0KIAotdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFJhdGVEb3VibGUoZG91YmxlKQordm9pZCBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OnNldFJhdGVEb3VibGUoZG91YmxlIHJhdGUpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6U2V0UmF0ZShyYXRlKSwgbV9pZCk7CiB9CiAKIGJvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpoYXNDbG9zZWRDYXB0aW9ucygpIGNvbnN0CiB7Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3Rh
dGUuaGFzQ2xvc2VkQ2FwdGlvbnM7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoYm9vbCkKQEAgLTcxNCwxNCArNzI0LDEyIEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoYm9v
bCkKIAogZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bWF4RmFzdEZvcndhcmRSYXRl
KCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJl
dHVybiBtX2NhY2hlZFN0YXRlLm1heEZhc3RGb3J3YXJkUmF0ZTsKIH0KIAogZG91YmxlIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6bWluRmFzdFJldmVyc2VSYXRlKCkgY29uc3QKIHsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRl
Lm1pbkZhc3RSZXZlcnNlUmF0ZTsKIH0KIAogTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZTo6bWF4TWVkaWFUaW1lU2Vla2FibGUoKSBjb25zdApAQCAtNzM2LDE0ICs3NDQsMTIgQEAg
TWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bWluTWVkaWFUaW1lU2Vla2FibGUo
KSBjb25zdAogCiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZWVrYWJsZVRpbWVS
YW5nZXNMYXN0TW9kaWZpZWRUaW1lKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIHJldHVybiAwOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLnNlZWthYmxlVGltZVJhbmdl
c0xhc3RNb2RpZmllZFRpbWU7CiB9CiAKIGRvdWJsZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OmxpdmVVcGRhdGVJbnRlcnZhbCgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAg
ICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5saXZlVXBkYXRlSW50ZXJ2YWw7
CiB9CiAKIHVuc2lnbmVkIGxvbmcgbG9uZyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnRvdGFs
Qnl0ZXMoKSBjb25zdApAQCAtNzgzLDggKzc4OSw3IEBAIE5hdGl2ZUltYWdlUHRyIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6bmF0aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpCiAKIGJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpoYXNBdmFpbGFibGVWaWRlb0ZyYW1lKCkgY29uc3QKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9j
YWNoZWRTdGF0ZS5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lOwogfQogCiAjaWYgRU5BQkxFKFdJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkKQEAgLTc5NiwxNCArODAxLDEyIEBAIFN0cmluZyBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OndpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3QKIAog
TWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6d2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25zdAogewotICAgIG5vdElt
cGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAg
ICByZXR1cm4gbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTsKIH0KIAog
Ym9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiB0cnVlOwor
ICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOwog
fQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0V2lyZWxlc3NWaWRlb1BsYXli
YWNrRGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkKQEAgLTgzMywyMiArODM2LDE0IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29s
IHNob3VsZFBsYXkpCiB9CiAjZW5kaWYKIAotYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OnNob3VsZE1haW50YWluQXNwZWN0UmF0aW8oKSBjb25zdAotewotICAgIG5vdEltcGxlbWVudGVk
KCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuaGFzU2luZ2xl
U2VjdXJpdHlPcmlnaW47CiB9CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpkaWRQ
YXNzQ09SU0FjY2Vzc0NoZWNrKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5kaWRQYXNzQ09SU0FjY2Vz
c0NoZWNrOwogfQogCiBPcHRpb25hbDxib29sPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Ondv
dWxkVGFpbnRPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW4mKSBjb25zdApAQCAtODY1LDcgKzg2
MCw3IEBAIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1lZGlhVGltZUZvclRp
bWVWYWx1ZShjb25zdCBNZWRpYVRpbWUmIHRpbWVWCiAKIGRvdWJsZSBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6Om1heGltdW1EdXJhdGlvblRvQ2FjaGVNZWRpYVRpbWUoKSBjb25zdAogewotICAg
IHJldHVybiAuMjsgLy8gRklYTUU6IGdldCB0aGlzIHZhbHVlIGZyb20gdGhlIG1lZGlhIGVuZ2lu
ZSB3aGVuIGl0IGlzIGNyZWF0ZWQuCisgICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbi5tYXhpbXVt
RHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lOwogfQogCiB1bnNpZ25lZCBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6OmRlY29kZWRGcmFtZUNvdW50KCkgY29uc3QKQEAgLTk2MCwxMiArOTU1LDEyIEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRUZXh0VHJhY2tSZXByZXNlbnRhdGlv
bihUZXh0VHJhY2tSZXByZXNlbnRhdGlvCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpzeW5jVGV4dFRyYWNrQm91bmRzKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpTeW5jVGV4
dFRyYWNrQm91bmRzKCksIG1faWQpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6dHJhY2tzQ2hhbmdlZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0
aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6VHJhY2tzQ2hhbmdl
ZCgpLCBtX2lkKTsKIH0KICNlbmRpZgogCkBAIC05ODgsOCArOTgzLDcgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OmVuZFNpbXVsYXRlZEhEQ1BFcnJvcigpCiAKIFN0cmluZyBNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6Omxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjaygpIGNvbnN0
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAg
ICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CiB9CiAK
IHNpemVfdCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0
CkBAIC05OTgsMTggKzk5Miw2IEBAIHNpemVfdCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmV4
dHJhTWVtb3J5Q29zdCgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLXVuc2lnbmVkIGxvbmcg
bG9uZyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmZpbGVTaXplKCkgY29uc3QKLXsKLSAgICBu
b3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwotfQotCi1ib29sIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6ZW5kZWQoKSBjb25zdAotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAg
cmV0dXJuIGZhbHNlOwotfQotCiBPcHRpb25hbDxWaWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3M+
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzKCkK
IHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpAQCAtMTAxOSw3ICsxMDAxLDcgQEAgT3B0aW9uYWw8
VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzPiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnZp
ZGVvUGxheWJhY2tRdWEKICNpZiBFTkFCTEUoQVZGX0NBUFRJT05TKQogdm9pZCBNZWRpYVBsYXll
clByaXZhdGVSZW1vdGU6Om5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6Ok5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKSwgbV9pZCk7CiB9CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlLmgKaW5kZXggNGQ3ZGM4MGU5N2ZmZDg3Y2JlOGQwYWJhNDY2
NTNkNzIxMzUxNjFiNS4uNTU5ZmQ2NTAyMDg4ZWJiMzdkNzZlYTdkNjkzNTU3MjYzOGYyMTAyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXll
clByaXZhdGVSZW1vdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5oCkBAIC05NCw3ICs5NCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQgZW5naW5lRmFpbGVk
VG9Mb2FkKGxvbmcpOwogICAgIHZvaWQgdXBkYXRlQ2FjaGVkU3RhdGUoUmVtb3RlTWVkaWFQbGF5
ZXJTdGF0ZSYmKTsKLSAgICB2b2lkIGNoYXJhY3RlcmlzdGljQ2hhbmdlZChib29sIGhhc0F1ZGlv
LCBib29sIGhhc1ZpZGVvLCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBl
KTsKKyAgICB2b2lkIGNoYXJhY3RlcmlzdGljQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRl
JiYpOwogICAgIHZvaWQgc2l6ZUNoYW5nZWQoV2ViQ29yZTo6RmxvYXRTaXplKTsKICAgICB2b2lk
IGZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZSgpOwogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMjc3
LDcgKzI3Nyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVy
aW5nKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBhY2NlbGVyYXRlZFJlbmRlcmluZ1N0YXRlQ2hh
bmdlZCgpIGZpbmFsOwogCi0gICAgYm9vbCBzaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkgY29u
c3QgZmluYWw7CiAgICAgdm9pZCBzZXRTaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKGJvb2wpIGZp
bmFsOwogCiAgICAgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IGZpbmFsOwpA
QCAtMzM0LDEwICszMzMsNiBAQCBwcml2YXRlOgogCiAgICAgc2l6ZV90IGV4dHJhTWVtb3J5Q29z
dCgpIGNvbnN0IGZpbmFsOwogCi0gICAgdW5zaWduZWQgbG9uZyBsb25nIGZpbGVTaXplKCkgY29u
c3QgZmluYWw7Ci0KLSAgICBib29sIGVuZGVkKCkgY29uc3QgZmluYWw7Ci0KICAgICBPcHRpb25h
bDxXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3M+IHZpZGVvUGxheWJhY2tRdWFs
aXR5TWV0cmljcygpIGZpbmFsOwogCiAjaWYgRU5BQkxFKEFWRl9DQVBUSU9OUykKQEAgLTM3OCw5
ICszNzMsNiBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBtX3ZvbHVtZSB7IDEgfTsKICAgICBkb3Vi
bGUgbV9yYXRlIHsgMSB9OwogICAgIGxvbmcgbV9wbGF0Zm9ybUVycm9yQ29kZSB7IDAgfTsKLSAg
ICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBlIG1fbW92aWVMb2FkVHlw
ZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGU6OlVua25vd24gfTsK
LSAgICBib29sIG1faGFzQXVkaW8geyBmYWxzZSB9OwotICAgIGJvb2wgbV9oYXNWaWRlbyB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX211dGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2Vla2luZyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgppbmRl
eCAzZmZjZjM2ZWZlMjRiM2QwODUwZWVhMjg2ZTJjZTcyOGU0YTJmYzFhLi5hNTA3NzZkZGFhNDI3
NmMxYzZkZGU3ZTVkYjA3YmY5OGE2N2FlOGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5tZXNzYWdlcy5pbgpAQCAtMzUsNyArMzUsNyBAQCBtZXNzYWdlcyAtPiBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGUgTm90UmVmQ291bnRlZCB7CiAgICAgUGxheWJhY2tTdGF0ZUNoYW5n
ZWQoYm9vbCBwYXVzZWQpCiAgICAgRW5naW5lRmFpbGVkVG9Mb2FkKGludCBwbGF0Zm9ybUVycm9y
Q29kZSkKICAgICBVcGRhdGVDYWNoZWRTdGF0ZShzdHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRpYVBs
YXllclN0YXRlIHN0YXRlKQotICAgIENoYXJhY3RlcmlzdGljQ2hhbmdlZChib29sIGhhc0F1ZGlv
LCBib29sIGhhc1ZpZGVvLCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6
TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKQorICAgIENoYXJhY3RlcmlzdGljQ2hhbmdlZChz
dHJ1Y3QgV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclN0YXRlIHN0YXRlKQogICAgIFNpemVDaGFu
Z2VkKFdlYkNvcmU6OkZsb2F0U2l6ZSBuYXR1cmFsU2l6ZSkKIAogICAgIEFkZFJlbW90ZUF1ZGlv
VHJhY2soV2ViS2l0OjpUcmFja1ByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHRyYWNrSUQsIHN0cnVj
dCBXZWJLaXQ6OlRyYWNrUHJpdmF0ZVJlbW90ZUNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbi5oCmluZGV4IGQyMmI3Yjk3NTk4MTE4
MTNmMmU2Mzg0OGY1ZmU3MDcwMTgxNDk1MWYuLjlmYmZmNTlhZmM1MTkxYTkzNTE2OTI0ZDllZjlh
YzcyNzU3YjJhZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24uaApAQCAt
MzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RydWN0IFJlbW90ZU1lZGlhUGxh
eWVyQ29uZmlndXJhdGlvbiB7CiAgICAgU3RyaW5nIGVuZ2luZURlc2NyaXB0aW9uOworICAgIGRv
dWJsZSBtYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lOwogICAgIGJvb2wgc3VwcG9ydHNT
Y2FubmluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW4geyBmYWxzZSB9
OwogICAgIGJvb2wgc3VwcG9ydHNQaWN0dXJlSW5QaWN0dXJlIHsgZmFsc2UgfTsKQEAgLTQ2LDYg
KzQ3LDcgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiB7CiAgICAgdm9p
ZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICB7CiAgICAgICAgIGVuY29kZXIg
PDwgZW5naW5lRGVzY3JpcHRpb247CisgICAgICAgIGVuY29kZXIgPDwgbWF4aW11bUR1cmF0aW9u
VG9DYWNoZU1lZGlhVGltZTsKICAgICAgICAgZW5jb2RlciA8PCBzdXBwb3J0c1NjYW5uaW5nOwog
ICAgICAgICBlbmNvZGVyIDw8IHN1cHBvcnRzRnVsbHNjcmVlbjsKICAgICAgICAgZW5jb2RlciA8
PCBzdXBwb3J0c1BpY3R1cmVJblBpY3R1cmU7CkBAIC02Miw2ICs2NCwxMSBAQCBzdHJ1Y3QgUmVt
b3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uIHsKICAgICAgICAgaWYgKCFlbmdpbmVEZXNjcmlw
dGlvbikKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKKyAgICAgICAgT3B0aW9u
YWw8ZG91YmxlPiBtYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lOworICAgICAgICBkZWNv
ZGVyID4+IG1heGltdW1EdXJhdGlvblRvQ2FjaGVNZWRpYVRpbWU7CisgICAgICAgIGlmICghbWF4
aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKICAgICAgICAgT3B0aW9uYWw8Ym9vbD4gc3VwcG9ydHNTY2FubmluZzsKICAgICAg
ICAgZGVjb2RlciA+PiBzdXBwb3J0c1NjYW5uaW5nOwogICAgICAgICBpZiAoIXN1cHBvcnRzU2Nh
bm5pbmcpCkBAIC05NCw2ICsxMDEsNyBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1
cmF0aW9uIHsKIAogICAgICAgICByZXR1cm4ge3sKICAgICAgICAgICAgIFdURk1vdmUoKmVuZ2lu
ZURlc2NyaXB0aW9uKSwKKyAgICAgICAgICAgICptYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFU
aW1lLAogICAgICAgICAgICAgKnN1cHBvcnRzU2Nhbm5pbmcsCiAgICAgICAgICAgICAqc3VwcG9y
dHNQaWN0dXJlSW5QaWN0dXJlLAogICAgICAgICAgICAgKnN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5k
ZXJpbmcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oCmluZGV4IDRlZGYwYTcwNmU5YjI4MDJkOTVhY2Yx
MGEwYzhlZjNiYmY5OGZiNzguLjRiZDQ4YmIzN2Q2NTdhN2I1OGZkMTA5Njg5Njg2NTJmODAyMzhj
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZS5oCkBAIC0zOSwxMiArMzksMzIgQEAgc3RydWN0IFJl
bW90ZU1lZGlhUGxheWVyU3RhdGUgewogICAgIE1lZGlhVGltZSBkdXJhdGlvbjsKICAgICBNZWRp
YVRpbWUgbWluVGltZVNlZWthYmxlOwogICAgIE1lZGlhVGltZSBtYXhUaW1lU2Vla2FibGU7Cisg
ICAgTWVkaWFUaW1lIHN0YXJ0RGF0ZTsKKyAgICBNZWRpYVRpbWUgc3RhcnRUaW1lOworICAgIFN0
cmluZyBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CisgICAgU3RyaW5nIHdpcmVsZXNzUGxh
eWJhY2tUYXJnZXROYW1lOwogICAgIFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdlcyBidWZmZXJl
ZFJhbmdlczsKICAgICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpOZXR3b3JrU3RhdGUgbmV0
d29ya1N0YXRlIHsgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TmV0d29ya1N0YXRlOjpFbXB0
eSB9OwogICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OlJlYWR5U3RhdGUgcmVhZHlTdGF0
ZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OlJlYWR5U3RhdGU6OkhhdmVOb3RoaW5nIH07
CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRU
eXBlIHsgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZTo6VW5rbm93biB9
OworICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRU
eXBlIHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHsgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVt
czo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVOb25lIH07CiAgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIG5hdHVyYWxTaXplOworICAgIGRvdWJsZSBtYXhGYXN0Rm9yd2FyZFJh
dGUgeyAwIH07CisgICAgZG91YmxlIG1pbkZhc3RSZXZlcnNlUmF0ZSB7IDAgfTsKKyAgICBkb3Vi
bGUgc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSB7IDAgfTsKKyAgICBkb3VibGUg
bGl2ZVVwZGF0ZUludGVydmFsIHsgMCB9OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5
dGVzIHsgMCB9OwogICAgIGJvb2wgcGF1c2VkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbG9hZGluZ1By
b2dyZXNzZWQgeyBmYWxzZSB9OworICAgIGJvb2wgY2FuU2F2ZU1lZGlhRGF0YSB7IGZhbHNlIH07
CisgICAgYm9vbCBoYXNBdWRpbyB7IGZhbHNlIH07CisgICAgYm9vbCBoYXNWaWRlbyB7IGZhbHNl
IH07CisgICAgYm9vbCBoYXNDbG9zZWRDYXB0aW9ucyB7IGZhbHNlIH07CisgICAgYm9vbCBoYXNB
dmFpbGFibGVWaWRlb0ZyYW1lIHsgZmFsc2UgfTsKKyAgICBib29sIHdpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2lu
IHsgZmFsc2UgfTsKKyAgICBib29sIGRpZFBhc3NDT1JTQWNjZXNzQ2hlY2sgeyBmYWxzZSB9Owor
ICAgIGJvb2wgcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbiB7IGZhbHNlIH07CiAKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogICAgIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CkBAIC01MywxMiArNzMsMzIgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyU3Rh
dGUgewogICAgICAgICBlbmNvZGVyIDw8IGR1cmF0aW9uOwogICAgICAgICBlbmNvZGVyIDw8IG1p
blRpbWVTZWVrYWJsZTsKICAgICAgICAgZW5jb2RlciA8PCBtYXhUaW1lU2Vla2FibGU7CisgICAg
ICAgIGVuY29kZXIgPDwgc3RhcnREYXRlOworICAgICAgICBlbmNvZGVyIDw8IHN0YXJ0VGltZTsK
KyAgICAgICAgZW5jb2RlciA8PCBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CisgICAgICAg
IGVuY29kZXIgPDwgd2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWU7CiAgICAgICAgIGVuY29kZXIg
PDwgYnVmZmVyZWRSYW5nZXM7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlRW51bShuZXR3b3JrU3Rh
dGUpOwogICAgICAgICBlbmNvZGVyLmVuY29kZUVudW0ocmVhZHlTdGF0ZSk7CisgICAgICAgIGVu
Y29kZXIuZW5jb2RlRW51bShtb3ZpZUxvYWRUeXBlKTsKKyAgICAgICAgZW5jb2Rlci5lbmNvZGVF
bnVtKHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKTsKICAgICAgICAgZW5jb2RlciA8PCBuYXR1
cmFsU2l6ZTsKKyAgICAgICAgZW5jb2RlciA8PCBtYXhGYXN0Rm9yd2FyZFJhdGU7CisgICAgICAg
IGVuY29kZXIgPDwgbWluRmFzdFJldmVyc2VSYXRlOworICAgICAgICBlbmNvZGVyIDw8IHNlZWth
YmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWU7CisgICAgICAgIGVuY29kZXIgPDwgbGl2ZVVw
ZGF0ZUludGVydmFsOworICAgICAgICBlbmNvZGVyIDw8IHRvdGFsQnl0ZXM7CiAgICAgICAgIGVu
Y29kZXIgPDwgcGF1c2VkOwogICAgICAgICBlbmNvZGVyIDw8IGxvYWRpbmdQcm9ncmVzc2VkOwor
ICAgICAgICBlbmNvZGVyIDw8IGNhblNhdmVNZWRpYURhdGE7CisgICAgICAgIGVuY29kZXIgPDwg
aGFzQXVkaW87CisgICAgICAgIGVuY29kZXIgPDwgaGFzVmlkZW87CisgICAgICAgIGVuY29kZXIg
PDwgaGFzQ2xvc2VkQ2FwdGlvbnM7CisgICAgICAgIGVuY29kZXIgPDwgaGFzQXZhaWxhYmxlVmlk
ZW9GcmFtZTsKKyAgICAgICAgZW5jb2RlciA8PCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxl
ZDsKKyAgICAgICAgZW5jb2RlciA8PCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKKyAgICAgICAg
ZW5jb2RlciA8PCBkaWRQYXNzQ09SU0FjY2Vzc0NoZWNrOworICAgICAgICBlbmNvZGVyIDw8IHJl
cXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb247CiAgICAgfQogCiAgICAgdGVtcGxhdGUgPGNs
YXNzIERlY29kZXI+CkBAIC04NCw2ICsxMjQsMjYgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVy
U3RhdGUgewogICAgICAgICBpZiAoIW1heFRpbWVTZWVrYWJsZSkKICAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CiAKKyAgICAgICAgT3B0aW9uYWw8TWVkaWFUaW1lPiBzdGFydERhdGU7
CisgICAgICAgIGRlY29kZXIgPj4gc3RhcnREYXRlOworICAgICAgICBpZiAoIXN0YXJ0RGF0ZSkK
KyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8TWVk
aWFUaW1lPiBzdGFydFRpbWU7CisgICAgICAgIGRlY29kZXIgPj4gc3RhcnRUaW1lOworICAgICAg
ICBpZiAoIXN0YXJ0VGltZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICAgICAgT3B0aW9uYWw8U3RyaW5nPiBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CisgICAg
ICAgIGRlY29kZXIgPj4gbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOworICAgICAgICBpZiAo
IWxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjaykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0
TmFtZTsKKyAgICAgICAgZGVjb2RlciA+PiB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZTsKKyAg
ICAgICAgaWYgKCF3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZSkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKICAgICAgICAgT3B0aW9uYWw8V2ViQ29yZTo6UGxhdGZvcm1UaW1l
UmFuZ2VzPiBidWZmZXJlZFJhbmdlczsKICAgICAgICAgZGVjb2RlciA+PiBidWZmZXJlZFJhbmdl
czsKICAgICAgICAgaWYgKCFidWZmZXJlZFJhbmdlcykKQEAgLTk3LDExICsxNTcsNDQgQEAgc3Ry
dWN0IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUgewogICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
RW51bShyZWFkeVN0YXRlKSkKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKKyAg
ICAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRU
eXBlOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bShtb3ZpZUxvYWRUeXBlKSkKKyAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5YmFja1Rh
cmdldFR5cGU7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHdpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAgICAg
ICAgT3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRTaXplPiBuYXR1cmFsU2l6ZTsKICAgICAgICAgZGVj
b2RlciA+PiBuYXR1cmFsU2l6ZTsKICAgICAgICAgaWYgKCFuYXR1cmFsU2l6ZSkKICAgICAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBtYXhG
YXN0Rm9yd2FyZFJhdGU7CisgICAgICAgIGRlY29kZXIgPj4gbWF4RmFzdEZvcndhcmRSYXRlOwor
ICAgICAgICBpZiAoIW1heEZhc3RGb3J3YXJkUmF0ZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBtaW5GYXN0UmV2ZXJzZVJhdGU7
CisgICAgICAgIGRlY29kZXIgPj4gbWluRmFzdFJldmVyc2VSYXRlOworICAgICAgICBpZiAoIW1p
bkZhc3RSZXZlcnNlUmF0ZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICAgICAgT3B0aW9uYWw8ZG91YmxlPiBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1l
OworICAgICAgICBkZWNvZGVyID4+IHNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWU7
CisgICAgICAgIGlmICghc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSkKKyAgICAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8ZG91YmxlPiBs
aXZlVXBkYXRlSW50ZXJ2YWw7CisgICAgICAgIGRlY29kZXIgPj4gbGl2ZVVwZGF0ZUludGVydmFs
OworICAgICAgICBpZiAoIWxpdmVVcGRhdGVJbnRlcnZhbCkKKyAgICAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8dW5zaWduZWQgbG9uZyBsb25nPiB0b3Rh
bEJ5dGVzOworICAgICAgICBkZWNvZGVyID4+IHRvdGFsQnl0ZXM7CisgICAgICAgIGlmICghdG90
YWxCeXRlcykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKICAgICAgICAgT3B0
aW9uYWw8Ym9vbD4gcGF1c2VkOwogICAgICAgICBkZWNvZGVyID4+IHBhdXNlZDsKICAgICAgICAg
aWYgKCFwYXVzZWQpCkBAIC0xMTIsMTcgKzIwNSw4MyBAQCBzdHJ1Y3QgUmVtb3RlTWVkaWFQbGF5
ZXJTdGF0ZSB7CiAgICAgICAgIGlmICghbG9hZGluZ1Byb2dyZXNzZWQpCiAgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGNhblNhdmVNZWRp
YURhdGE7CisgICAgICAgIGRlY29kZXIgPj4gY2FuU2F2ZU1lZGlhRGF0YTsKKyAgICAgICAgaWYg
KCFjYW5TYXZlTWVkaWFEYXRhKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwor
ICAgICAgICBPcHRpb25hbDxib29sPiBoYXNBdWRpbzsKKyAgICAgICAgZGVjb2RlciA+PiBoYXNB
dWRpbzsKKyAgICAgICAgaWYgKCFoYXNBdWRpbykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gaGFzVmlkZW87CisgICAgICAgIGRlY29k
ZXIgPj4gaGFzVmlkZW87CisgICAgICAgIGlmICghaGFzVmlkZW8pCisgICAgICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc0Nsb3NlZENhcHRp
b25zOworICAgICAgICBkZWNvZGVyID4+IGhhc0Nsb3NlZENhcHRpb25zOworICAgICAgICBpZiAo
IWhhc0Nsb3NlZENhcHRpb25zKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKwor
ICAgICAgICBPcHRpb25hbDxib29sPiBoYXNBdmFpbGFibGVWaWRlb0ZyYW1lOworICAgICAgICBk
ZWNvZGVyID4+IGhhc0F2YWlsYWJsZVZpZGVvRnJhbWU7CisgICAgICAgIGlmICghaGFzQXZhaWxh
YmxlVmlkZW9GcmFtZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAg
ICAgT3B0aW9uYWw8Ym9vbD4gd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQ7CisgICAgICAg
IGRlY29kZXIgPj4gd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQ7CisgICAgICAgIGlmICgh
d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2lu
OworICAgICAgICBkZWNvZGVyID4+IGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luOworICAgICAgICBp
ZiAoIWhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgICAgICBPcHRpb25hbDxib29sPiBkaWRQYXNzQ09SU0FjY2Vzc0NoZWNrOwor
ICAgICAgICBkZWNvZGVyID4+IGRpZFBhc3NDT1JTQWNjZXNzQ2hlY2s7CisgICAgICAgIGlmICgh
ZGlkUGFzc0NPUlNBY2Nlc3NDaGVjaykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlv
bjsKKyAgICAgICAgZGVjb2RlciA+PiByZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uOwor
ICAgICAgICBpZiAoIXJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24pCisgICAgICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgICAgIHJldHVybiB7ewogICAgICAgICAgICAg
V1RGTW92ZSgqY3VycmVudFRpbWUpLAogICAgICAgICAgICAgV1RGTW92ZSgqZHVyYXRpb24pLAog
ICAgICAgICAgICAgV1RGTW92ZSgqbWluVGltZVNlZWthYmxlKSwKICAgICAgICAgICAgIFdURk1v
dmUoKm1heFRpbWVTZWVrYWJsZSksCisgICAgICAgICAgICBXVEZNb3ZlKCpzdGFydERhdGUpLAor
ICAgICAgICAgICAgV1RGTW92ZSgqc3RhcnRUaW1lKSwKKyAgICAgICAgICAgIFdURk1vdmUoKmxh
bmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjayksCisgICAgICAgICAgICBXVEZNb3ZlKCp3aXJlbGVz
c1BsYXliYWNrVGFyZ2V0TmFtZSksCiAgICAgICAgICAgICBXVEZNb3ZlKCpidWZmZXJlZFJhbmdl
cyksCiAgICAgICAgICAgICBuZXR3b3JrU3RhdGUsCiAgICAgICAgICAgICByZWFkeVN0YXRlLAor
ICAgICAgICAgICAgbW92aWVMb2FkVHlwZSwKKyAgICAgICAgICAgIHdpcmVsZXNzUGxheWJhY2tU
YXJnZXRUeXBlLAogICAgICAgICAgICAgV1RGTW92ZSgqbmF0dXJhbFNpemUpLAorICAgICAgICAg
ICAgKm1heEZhc3RGb3J3YXJkUmF0ZSwKKyAgICAgICAgICAgICptaW5GYXN0UmV2ZXJzZVJhdGUs
CisgICAgICAgICAgICAqc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSwKKyAgICAg
ICAgICAgICpsaXZlVXBkYXRlSW50ZXJ2YWwsCisgICAgICAgICAgICAqdG90YWxCeXRlcywKICAg
ICAgICAgICAgICpwYXVzZWQsCi0gICAgICAgICAgICAqbG9hZGluZ1Byb2dyZXNzZWQgfX07Cisg
ICAgICAgICAgICAqbG9hZGluZ1Byb2dyZXNzZWQsCisgICAgICAgICAgICAqY2FuU2F2ZU1lZGlh
RGF0YSwKKyAgICAgICAgICAgICpoYXNBdWRpbywKKyAgICAgICAgICAgICpoYXNWaWRlbywKKyAg
ICAgICAgICAgICpoYXNDbG9zZWRDYXB0aW9ucywKKyAgICAgICAgICAgICpoYXNBdmFpbGFibGVW
aWRlb0ZyYW1lLAorICAgICAgICAgICAgKndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkLAor
ICAgICAgICAgICAgKmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luLAorICAgICAgICAgICAgKmRpZFBh
c3NDT1JTQWNjZXNzQ2hlY2ssCisgICAgICAgICAgICAqcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbiwKKyAgICAgICAgfX07CiAgICAgfQogCiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM3MWNhZmEzMDVhMDNm
ZDE2M2JlNGQ5NGYyNzExYjA5NmM2ZjU1OTkuLmU0NjQ5ZWYyZTZlNDQ4ZDU4Y2M3YWNmMzNkYTlm
NTFiMWFkNjJkOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wMi0yOSAgRXJpYyBDYXJs
c29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVUF0gUGx1bWIgdGhy
b3VnaCBtb3JlIE1lZGlhUGxheWVyIG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTk5
MjQzODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zOiBVbnNraXAgfjEyMDAgbWVkaWEgdGVzdHMu
CisKIDIwMjAtMDItMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtGbG9hdHNdIEZsb2F0aW5nU3RhdGU6OnRvcCBzaG91bGQgcmV0dXJuIHRvcG1vc3Qg
bG9naWNhbCB2ZXJ0aWNhbCBwb3NpdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZ3B1LXBy
b2Nlc3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggNjQ4NDgxMzZjNzQ2MzA4ZWVjZmZlM2Y1ZTY1Yzg3MTA5MGE5OWFkOS4u
OTk0OWE4MTAwMWM1YTJiNDBhNTllZTdhMmI4MzcxNzI4ODYzNWQwZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZ3B1LXByb2Nlc3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9n
cHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzgsNjcgKzE3OCwyMDkgQEAgaW1wb3J0
ZWQvYmxpbmsvY29tcG9zaXRpbmcgWyBTa2lwIF0KIGxlZ2FjeS1hbmltYXRpb24tZW5naW5lL2lt
cG9ydGVkL2JsaW5rL2NvbXBvc2l0aW5nL3NxdWFzaGluZy9yZW1vdmUtZnJvbS1ncm91cGVkLW1h
cHBpbmctb24tcmVhc3NpZ25tZW50Lmh0bWwgWyBTa2lwIF0KIGluc3BlY3Rvci9sYXllcnMvbGF5
ZXJzLWNvbXBvc2l0aW5nLXJlYXNvbnMuaHRtbCBbIFNraXAgXQogCi1tZWRpYSBbIFNraXAgXQot
bWVkaWEvbWVkaWEtY29udHJvbGxlci5odG1sIFsgUGFzcyBdCi1tZWRpYS9tZWRpYS1wcmVsb2Fk
LW5vLWRlbGF5LWxvYWRldmVudC5odG1sIFsgUGFzcyBdCi1tZWRpYS92aWRlby1zcmMuaHRtbCBb
IFBhc3MgXQotbWVkaWEvdmlkZW8tc3JjLWJsb2ItdXNpbmctb3Blbi1wYW5lbC5odG1sIFsgUGFz
cyBdCi1tZWRpYS92aWRlby1zb3VyY2UuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tYXMtdmlk
ZW8tZnVsbHNjcmVlbi5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1iYWNrZ3JvdW5kLXBsYXli
YWNrLXBsYXlsaXN0Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWNvbmN1cnJlbnQtc3VwcG9y
dGVkLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLXByZWxvYWQuaHRtbCBb
IFBhc3MgXQotbWVkaWEvYXVkaW8tY29uc3RydWN0b3Itc3JjLmh0bWwgWyBQYXNzIF0KLW1lZGlh
L2F1ZGlvLWNvbnN0cnVjdG9yLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWNvbnRyb2xzLWRv
LW5vdC1mYWRlLW91dC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1jb250cm9scy10aW1lbGlu
ZS1pbi1tZWRpYS1kb2N1bWVudC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1kZWFsbG9jLWNy
YXNoLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWRlbGV0ZS13aGlsZS1zbGlkZXItdGh1bWIt
Y2xpY2tlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1nYXJiYWdlLWNvbGxlY3QuaHRtbCBb
IFBhc3MgXQotbWVkaWEvYXVkaW8tbXBlZy1zdXBwb3J0ZWQuaHRtbCBbIFBhc3MgXQotbWVkaWEv
YXVkaW8tbXBlZzQtc3VwcG9ydGVkLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLW5vLWluc3Rh
bGxlZC1lbmdpbmVzLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLW9ubHktdmlkZW8taW50cmlu
c2ljLXNpemUuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheS1ldmVudC5odG1sIFsgUGFz
cyBdCi1tZWRpYS9hdWRpby1wbGF5LXdpdGgtdmlkZW8tZWxlbWVudC5odG1sIFsgUGFzcyBdCi1t
ZWRpYS9hdWRpby1wbGF5Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3Ry
aWN0aW9uLWF1dG9wbGF5Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3Ry
aWN0aW9uLXBsYXktbXV0ZWQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheWJhY2stcmVz
dHJpY3Rpb24tcGxheS5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmlj
dGlvbi1yZW1vdmVkLW11dGVkLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXliYWNrLXZv
bHVtZS1jaGFuZ2VzLXdpdGgtcmVzdHJpY3Rpb25zLWFuZC11c2VyLWdlc3R1cmVzLmh0bWwgWyBQ
YXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXliYWNrLXZvbHVtZS1jaGFuZ2VzLXdpdGgtcmVzdHJpY3Rp
b25zLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2RlYWN0aXZhdGUtYXVkaW8tc2Vzc2lvbi5odG1sIFsg
UGFzcyBdCi1tZWRpYS9tZWRpYS1jYW4tcGxheS1tcGVnLWF1ZGlvLmh0bWwgWyBQYXNzIF0KLW1l
ZGlhL21lZGlhLWNhbi1wbGF5LXdhdi1hdWRpby5odG1sIFsgUGFzcyBdCi1tZWRpYS9tZWRpYS1k
b2N1bWVudC1hdWRpby1jb250cm9scy12aXNpYmxlLmh0bWwgWyBQYXNzIF0KLW1lZGlhL21lZGlh
LWRvY3VtZW50LWF1ZGlvLXJlcGFpbnQuaHRtbCBbIFBhc3MgXQotbWVkaWEvbWVkaWEtZG9jdW1l
bnQtYXVkaW8tc2l6ZS5odG1sIFsgUGFzcyBdCi1tZWRpYS9tdXRlZC12aWRlby1pcy1wbGF5aW5n
LWF1ZGlvLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3Jlc3RyaWN0ZWQtYXVkaW8tcGxheWJhY2std2l0
aC1kb2N1bWVudC1nZXN0dXJlLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3Jlc3RyaWN0ZWQtYXVkaW8t
cGxheWJhY2std2l0aC1tdWx0aXBsZS1zZXR0aW1lb3V0cy5odG1sIFsgUGFzcyBdCi1tZWRpYS92
aWRlby1jb250cm9scy12aXNpYmxlLWF1ZGlvLW9ubHkuaHRtbCBbIFBhc3MgXQotbWVkaWEvdmlk
ZW8tcGxheS1hdWRpby1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sIFsgUGFzcyBdCi1tZWRpYS90
cmFjay9hdWRpby10cmFjay5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay92aWRlby10cmFjay1h
ZGQtcmVtb3ZlLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3ZpZGVvLXRyYWNrLWFsdGVybmF0
ZS1ncm91cHMuaHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdmlkZW8tdHJhY2stYWRkaXRpb24t
YW5kLWZyYW1lLXJlbW92YWwuaHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdmlkZW8tdHJhY2su
aHRtbCBbIFBhc3MgXQogCi1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLmh0bWwgWyBQYXNzIF0K
K21lZGlhL2FpcnBsYXktYWxsb3dzLWJ1ZmZlcmluZy5odG1sIFsgU2tpcCBdCittZWRpYS9haXJw
bGF5LWF1dG9wbGF5Lmh0bWwgWyBTa2lwIF0KK21lZGlhL2F1ZGlvLWJhY2tncm91bmQtcGxheWJh
Y2stcGxheWxpc3QuaHRtbCBbIFNraXAgXQorbWVkaWEvYXVkaW8tY29udHJvbHMtcmVuZGVyaW5n
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL2F1ZGlvLWRlbGV0ZS13aGlsZS1zdGVwLWJ1dHRvbi1jbGlj
a2VkLmh0bWwgWyBTa2lwIF0KK21lZGlhL2F1ZGlvLXJlcGFpbnQuaHRtbCBbIFNraXAgXQorbWVk
aWEvY2xpY2stcGxhY2Vob2xkZXItbm90LXBhdXNpbmcuaHRtbCBbIFNraXAgXQorbWVkaWEvY29u
dGV4dC1tZW51LWFjdGlvbnMuaHRtbCBbIFNraXAgXQorbWVkaWEvY29udHJvbHMtc3RyaWN0Lmh0
bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRyb2xzLXN0eWxpbmctc3RyaWN0Lmh0bWwgWyBTa2lwIF0K
K21lZGlhL2NvbnRyb2xzLXdpdGhvdXQtcHJlbG9hZC5odG1sIFsgU2tpcCBdCittZWRpYS9jb250
cm9scy9haXJwbGF5LWNvbnRyb2xzLmh0bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRyb2xzL2lubGlu
ZS1lbGVtZW50cy1kcm9wb2ZmLW9yZGVyLmh0bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRyb2xzL3Bp
Y3R1cmUtaW4tcGljdHVyZS5odG1sIFsgU2tpcCBdCittZWRpYS9jb250cm9scy9waXAtcGxhY2Vo
b2xkZXItd2l0aG91dC12aWRlby1jb250cm9scy5odG1sIFsgU2tpcCBdCittZWRpYS9kZWFjdGl2
YXRlLWF1ZGlvLXNlc3Npb24uaHRtbCBbIFNraXAgXQorbWVkaWEvZWxlbWVudC1jb250YWluaW5n
LXBpcC12aWRlby1nb2luZy1pbnRvLWZ1bGxzY3JlZW4uaHRtbCBbIFNraXAgXQorbWVkaWEvZnVs
bHNjcmVlbi1hcGktZW5hYmxlZC1tZWRpYS13aXRoLXByZXNlbnRhdGlvbi1tb2RlLmh0bWwgWyBT
a2lwIF0KKworbWVkaWEvZW5jcnlwdGVkLW1lZGlhL2NsZWFyS2V5IFsgU2tpcCBdCisKK21lZGlh
L2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtZXZlbnRzLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEtbm90LWxvYWRlZC5odG1sIFsgU2tp
cCBdCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLXN5bnRheC5odG1sIFsg
U2tpcCBdCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRpYUtleVNlc3Npb24tcmVtb3Zl
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL2VuY3J5cHRlZC1tZWRpYS9tb2NrLU1lZGlhS2V5U3lzdGVt
QWNjZXNzLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvaW9zL3ZpZGVvLXZvbHVtZS1pb3MtcXVpcmsu
aHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtY2FuLXBsYXktZmxhYy1hdWRpby5odG1sIFsgU2tp
cCBdCittZWRpYS9tZWRpYS1jYW4tcGxheS1vZ2cuaHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEt
Y29udHJvbHMtaW52YWxpZC11cmwuaHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtY29udHJvbHMt
cGxheS1idXR0b24tdXBkYXRlcy5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1mdWxsc2NyZWVu
LWxvb3AtaW5saW5lLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcGF1c2Ut
aW5saW5lLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWZ1bGxzY3JlZW4tcmV0dXJuLXRvLWlu
bGluZS5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1oaWdoZXItcHJpby1hdWRpby1zdHJlYW0u
aHRtbCBbIFNraXAgXQorCittZWRpYS9tZWRpYS1zb3VyY2UgWyBTa2lwIF0KKworbWVkaWEvbWVk
aWEtdm9sdW1lLXNsaWRlci1yZW5kZXJlZC1iZWxvdy5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRp
YS12b2x1bWUtc2xpZGVyLXJlbmRlcmVkLW5vcm1hbC5odG1sIFsgU2tpcCBdCisKK21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9haXJwbGF5LXN1cHBvcnQvYWlycGxheS1zdXBwb3J0Lmh0bWwg
WyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9hdWRpby9hdWRpby1jb250cm9s
cy1zdHlsZXMuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzLXZpc2liaWxpdHktc3VwcG9ydC9jb250cm9scy12aXNpYmlsaXR5LXN1cHBvcnQtZnVsbHNj
cmVlbi1vbi12aWRlby5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
aW9zLWlubGluZS1tZWRpYS1jb250cm9scy9pb3MtaW5saW5lLW1lZGlhLWNvbnRyb2xzLWNvbnN0
cnVjdG9yLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1j
b250cm9sbGVyL2lvcy9tZWRpYS1jb250cm9sbGVyLWlvcy1kby1ub3QtaGlkZS1jb250cm9scy13
aGVuLXRhcHBpbmctYnV0dG9uLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9tZWRpYS1jb250cm9sbGVyL2lvcy9tZWRpYS1jb250cm9sbGVyLWlvcy1sYXlvdXQtdHJh
aXRzLW1vZGVybi1jb21wYXRpYmlsaXR5LW1vZGUuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvaW9zL21lZGlhLWNvbnRyb2xsZXItaW9z
LW9ubHktZW5hYmxlLXRhcC1nZXN0dXJlLXJlY29nbml6ZXItd2l0aC1mYWRlcy13aGVuLWlkbGUu
aHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xs
ZXIvaW9zL21lZGlhLWNvbnRyb2xsZXItc2NhbGUtZmFjdG9yLWF1ZGlvLmh0bWwgWyBTa2lwIF0K
K21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL2lvcy9tZWRpYS1j
b250cm9sbGVyLXNjYWxlLWZhY3Rvci5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvbWVkaWEtY29udHJvbGxlci9pb3MvbWVkaWEtY29udHJvbGxlci1zdG9wLXVwZGF0
ZXMtaW4tZnVsbHNjcmVlbi5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1tb3VzZS1lbnRl
ci1vdmVyLWNvbnRyb2xzLWJhci5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZhZGUtY29udHJvbHMtd2hl
bi1lbnRlcmluZy1mdWxsc2NyZWVuLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItZnVsbHNjcmVlbi1jaGFu
Z2UuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRy
b2xsZXIvbWVkaWEtY29udHJvbGxlci1pbmxpbmUtdG8tZnVsbHNjcmVlbi10by1pbmxpbmUuaHRt
bCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIv
bWVkaWEtY29udHJvbGxlci1pbmxpbmUtdG8tZnVsbHNjcmVlbi10by1waXAtdG8taW5saW5lLmh0
bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVy
L21lZGlhLWNvbnRyb2xsZXItdmlkZW8td2l0aC1vbmx5LWF1ZGlvLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1kb2N1bWVudHMvYmFja2dyb3VuZC1jb2xv
ci1hbmQtY2VudGVyaW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS1kb2N1bWVudHMvbWVkaWEtZG9jdW1lbnQtYXVkaW8taW9zLXNpemluZy5odG1sIFsg
U2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtZG9jdW1lbnRzL21lZGlh
LWRvY3VtZW50LXZpZGVvLWlwaG9uZS1zaXppbmcuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL3BpcC1zdXBwb3J0L3BpcC1zdXBwb3J0LWNsaWNrLmh0bWwgWyBTa2lw
IF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9waXAtc3VwcG9ydC9waXAtc3VwcG9ydC1l
bmFibGVkLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9wbGFjYXJk
LXN1cHBvcnQvaXBhZC9wbGFjYXJkLXN1cHBvcnQtcGlwLmh0bWwgWyBTa2lwIF0KK21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9wbGFjYXJkLXN1cHBvcnQvcGxhY2FyZC1zdXBwb3J0LWFpcnBs
YXktZnVsbHNjcmVlbi1uby1jb250cm9scy5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvcGxhY2FyZC1zdXBwb3J0L3BsYWNhcmQtc3VwcG9ydC1haXJwbGF5LWZ1bGxz
Y3JlZW4uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3BsYWNhcmQt
c3VwcG9ydC9wbGFjYXJkLXN1cHBvcnQtYWlycGxheS5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvcGxhY2FyZC1zdXBwb3J0L3BsYWNhcmQtc3VwcG9ydC1waXAuaHRt
bCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3NjcnViYmVyLXN1cHBvcnQv
aXBhZC9zY3J1YmJlci1zdXBwb3J0LWRyYWcuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL3N0YXJ0LXN1cHBvcnQvc3RhcnQtc3VwcG9ydC1mdWxsc2NyZWVuLmh0bWwg
WyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy90cmFja3Mtc3VwcG9ydC90cmFj
a3Mtc3VwcG9ydC1vZmYtdGV4dC10cmFjay5odG1sIFsgU2tpcCBdCisKK21lZGlhL211dGVkLXZp
ZGVvLWlzLXBsYXlpbmctYXVkaW8uaHRtbCBbIFNraXAgXQorbWVkaWEvbmF2aWdhdGUtd2l0aC1w
aXAtc2hvdWxkLW5vdC1jcmFzaC5odG1sIFsgU2tpcCBdCittZWRpYS9waWN0dXJlLWluLXBpY3R1
cmUvcGljdHVyZS1pbi1waWN0dXJlLWFwaS1jc3Mtc2VsZWN0b3IuaHRtbCBbIFNraXAgXQorbWVk
aWEvcGljdHVyZS1pbi1waWN0dXJlL3BpY3R1cmUtaW4tcGljdHVyZS1hcGktZW50ZXItcGlwLTQu
aHRtbCBbIFNraXAgXQorbWVkaWEvcGljdHVyZS1pbi1waWN0dXJlL3BpY3R1cmUtaW4tcGljdHVy
ZS1hcGktZXZlbnRzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3BpY3R1cmUtaW4tcGljdHVyZS9waWN0
dXJlLWluLXBpY3R1cmUtYXBpLWV4aXQtcGlwLTEuaHRtbCBbIFNraXAgXQorbWVkaWEvcGljdHVy
ZS1pbi1waWN0dXJlL3BpY3R1cmUtaW4tcGljdHVyZS1hcGktcGlwLXdpbmRvdy5odG1sIFsgU2tp
cCBdCittZWRpYS9waWN0dXJlLWluLXBpY3R1cmUvcGljdHVyZS1pbi1waWN0dXJlLWludGVycnVw
dGlvbi5odG1sIFsgU2tpcCBdCittZWRpYS9waXAtdmlkZW8tZ29pbmctaW50by1mdWxsc2NyZWVu
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkLWZpcmVkLW9uY2Uu
aHRtbCBbIFNraXAgXQorbWVkaWEvcHJvZ3Jlc3MtZXZlbnRzLWdlbmVyYXRlZC1jb3JyZWN0bHku
aHRtbCBbIFNraXAgXQorbWVkaWEvcmVtb3RlcGxheWJhY2stcHJvbXB0Lmh0bWwgWyBTa2lwIF0K
KworbWVkaWEvc2Vzc2lvbiBbIFNraXAgXQorCittZWRpYS90cmFjay9hdWRpby9hdWRpby10cmFj
ay1ta3Ytdm9yYmlzLWFkZHRyYWNrLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL2F1ZGlvL2F1
ZGlvLXRyYWNrLW1rdi12b3JiaXMtZW5hYmxlZC5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9h
dWRpby9hdWRpby10cmFjay1ta3Ytdm9yYmlzLWxhbmd1YWdlLmh0bWwgWyBTa2lwIF0KKworbWVk
aWEvdHJhY2svaW4tYmFuZCBbIFNraXAgXQorCittZWRpYS90cmFjay9vcGVyYS9pZGwvbWVkaWEt
aWRsLXRlc3RzLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvdHJhY2svcmVnaW9ucy13ZWJ2dHQvdnR0
LXJlZ2lvbi1kaXNwbGF5Lmh0bWwgWyBTa2lwIF0KKworbWVkaWEvdHJhY2svdGV4dHRyYWNrY3Vl
L3RleHR0cmFja2N1ZS1kaXNwbGF5Y3VlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3RyYWNr
LWN1ZS1jc3MuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdHJhY2stY3VlLW1pc3NpbmcuaHRt
bCBbIFNraXAgXQorbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy12ZXJ0aWNhbC5odG1s
IFsgU2tpcCBdCittZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLmh0bWwgWyBTa2lwIF0K
K21lZGlhL3RyYWNrL3RyYWNrLWN1ZXMtcGF1c2Utb24tZXhpdC5odG1sICBbIFNraXAgXQorbWVk
aWEvdHJhY2svdHJhY2stZm9yY2VkLXN1YnRpdGxlcy1pbi1iYW5kLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtbW9kZS5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay90
cmFjay1pbi1iYW5kLXN1YnRpdGxlcy10b28tbGFyZ2UuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJh
Y2svdHJhY2stbG9uZy13b3JkLWNvbnRhaW5lci1zaXppbmcuaHRtbCBbIFNraXAgXQorbWVkaWEv
dHJhY2svdHJhY2stcHJlZmVyLWNhcHRpb25zLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3Ry
YWNrLXVzZXItcHJlZmVyZW5jZXMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdmlkZW8vdmlk
ZW8tdHJhY2stbWt2LXRoZW9yYS1hZGR0cmFjay5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay92
aWRlby92aWRlby10cmFjay1ta3YtdGhlb3JhLWxhbmd1YWdlLmh0bWwgWyBTa2lwIF0KK21lZGlh
L3RyYWNrL3ZpZGVvL3ZpZGVvLXRyYWNrLW1rdi10aGVvcmEtc2VsZWN0ZWQuaHRtbCBbIFNraXAg
XQorbWVkaWEvdHJhY2svdzNjL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2FsaWduLmh0bWwgWyBT
a2lwIF0KK21lZGlhL3RyYWNrL3czYy90cmFjay93ZWJ2dHQvYXVkaW9faGFzX25vX3N1YnRpdGxl
cy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay93M2MvdHJhY2svd2VidnR0L2F1ZGlvX2hhc19u
b19zdWJ0aXRsZXMuaHRtbCBbIFNraXAgXQorCittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2Vz
L0hUTUxFbGVtZW50L0hUTUxNZWRpYUVsZW1lbnQvY3Jvc3NPcmlnaW4uaHRtbCBbIFNraXAgXQor
bWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9IVE1MRWxlbWVudC9IVE1MVHJhY2tFbGVtZW50
L2tpbmQuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9IVE1MRWxl
bWVudC9IVE1MVHJhY2tFbGVtZW50L3NyYy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVy
YS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9nZXRDdWVBc0hUTUwuaHRtbCBbIFNraXAgXQorbWVk
aWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvbGluZS5odG1sIFsgU2tpcCBd
CittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9zbmFwVG9MaW5lcy5o
dG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS90
ZXh0Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNr
Q3VlL3ZlcnRpY2FsLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0
dC9wYXJzaW5nLWN1ZS1kYXRhL3Rlc3RzL2VudGl0aWVzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3Ry
YWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9wYXJzaW5nLWN1ZS1kYXRhL3Rlc3RzL3RhZ3MuaHRtbCBb
IFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmctY3VlLWRhdGEv
dGVzdHMvdGltZXN0YW1wcy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS90cmFjay93
ZWJ2dHQvcGFyc2luZy1jdWUtZGF0YS90ZXN0cy90cmVlLWJ1aWxkaW5nLmh0bWwgWyBTa2lwIF0K
K21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9wYXJzaW5nLzAwMS5odG1sIFsgU2tpcCBd
CittZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcmVuZGVyaW5nL2FkaG9jLzEyMzQ1X3Rp
bWVzdGFtcHMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3Jl
bmRlcmluZy9hZGhvYy9jdWVfZm9udF9zaXplX3RyYW5zaXRpb24uaHRtbCBbIFNraXAgXQorbWVk
aWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy92b2ljZV93aXRoX2V2
aWxfdGltZXN0YW1wLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvdmlkZW8tYmFja2dyb3VuZC1wbGF5
YmFjay5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jYW52YXMtY3JlYXRlUGF0dGVybi5odG1s
IFsgU2tpcCBdCittZWRpYS92aWRlby1jYW52YXMtZHJhd2luZy1vdXRwdXQuaHRtbCBbIFNraXAg
XQorbWVkaWEvdmlkZW8tY2FudmFzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbG9yc3Bh
Y2UteXV2NDIwLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbG9yc3BhY2UteXV2NDIyLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbmN1cnJlbnQtcGxheWJhY2suaHRtbCBbIFNraXAg
XQorbWVkaWEvdmlkZW8tY29uY3VycmVudC12aXNpYmxlLXBsYXliYWNrLmh0bWwgWyBTa2lwIF0K
K21lZGlhL3ZpZGVvLWNvbnRyb2xsZXItY2hpbGQtcmF0ZS5odG1sIFsgU2tpcCBdCittZWRpYS92
aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaGlkZS1vbi1jbGljay1vdXRzaWRlLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1oaWRl
LW9uLWNsaWNrLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLWNhcHRpb25zLXRy
YWNrbWVudS1pbmNsdWRlcy1lbmFibGVkLXRyYWNrLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVv
LWNvbnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1j
b250cm9scy1jYXB0aW9ucy5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb250cm9scy1mdWxs
c2NyZWVuLXZvbHVtZS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb250cm9scy1uby1zY3Jp
cHRpbmcuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtc2hvdy1vbi1rYi1vci1h
eC1ldmVudC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb250cm9scy10b2dnbGluZy5odG1s
IFsgU2tpcCBdCittZWRpYS92aWRlby1kb2VzLW5vdC1sb29wLmh0bWwgWyBTa2lwIF0KK21lZGlh
L3ZpZGVvLWVycm9yLWRvZXMtbm90LWV4aXN0Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWZ1
bGxzY3JlZW4tb25seS1wbGF5YmFjay5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1pbmFjdGl2
ZS1wbGF5YmFjay5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1pc3BsYXlpbmd0b2F1dG9tb3Rp
dmVoZWFkdW5pdC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxsb3ct
dGhlbi1kZW55Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hbGxvdy10
aGVuLXNjcm9sbC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxsb3cu
aHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWF1dG9wbGF5Lmh0bWwgWyBT
a2lwIF0KK21lZGlhL3ZpZGVvLW11bHRpcGxlLWNvbmN1cnJlbnQtcGxheWJhY2suaHRtbCBbIFNr
aXAgXQorbWVkaWEvdmlkZW8tb2JqZWN0LWZpdC1jaGFuZ2UuaHRtbCBbIFNraXAgXQorbWVkaWEv
dmlkZW8tb3JpZW50YXRpb24uaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tb3JpZW50YXRpb24t
Y2FudmFzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXBsYXktYXVkaW8tcmVxdWlyZS11c2Vy
LWdlc3R1cmUuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tcGxheWJhY2stcmVzdHJpY3Rpb24t
cGxheS1iZWZvcmUtbG9hZC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1wbGF5aW5nLWFuZC1w
YXVzZS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1wbGF5c2lubGluZS5odG1sIFsgU2tpcCBd
CittZWRpYS92aWRlby1yZXN0cmljdGVkLWludmlzaWJsZS1hdXRvcGxheS1hbGxvd2VkLWlmLWF1
ZGlibGUuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tc2l6ZS1pbnRyaW5zaWMtc2NhbGUuaHRt
bCBbIFNraXAgXQorbWVkaWEvdmlkZW8tc3JjLWJsb2IuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlk
ZW8tdHJhbnNmb3JtZWQtYnktamF2YXNjcmlwdC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby11
bm11dGVkLWFmdGVyLXBsYXktaG9sZHMtc2xlZXAtYXNzZXJ0aW9uLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3ZpZGVvLXdlYmtpdC1wbGF5c2lubGluZS5odG1sIFsgU2tpcCBdCisKK21lZGlhL1czQy9h
dWRpby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV9zdXBwb3J0ZWRfYnV0X25vX2NvZGVjc19wYXJh
bWV0ZXJfMS5odG1sIFsgU2tpcCBdCittZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X29yZGVy
X2xvYWRzdGFydF9wcm9ncmVzcy5odG1sIFsgU2tpcCBdCisKK21lZGlhL1czQy92aWRlby9jYW5Q
bGF5VHlwZS9jYW5QbGF5VHlwZV9jb2RlY3Nfb3JkZXJfMi5odG1sIFsgU2tpcCBdCittZWRpYS9X
M0MvdmlkZW8vY2FuUGxheVR5cGUvY2FuUGxheVR5cGVfY29kZWNzX29yZGVyXzMuaHRtbCBbIFNr
aXAgXQorbWVkaWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3N1cHBvcnRlZF9i
dXRfbm9fY29kZWNzX3BhcmFtZXRlcl8yLmh0bWwgWyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9j
YW5QbGF5VHlwZS9jYW5QbGF5VHlwZV90d29faW1wbGllc19vbmVfMy5odG1sIFsgU2tpcCBdCitt
ZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5cGUvY2FuUGxheVR5cGVfdHdvX2ltcGxpZXNfb25lXzQu
aHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3R3
b19pbXBsaWVzX29uZV81Lmh0bWwgWyBTa2lwIF0KK21lZGlhL1czQy92aWRlby9jYW5QbGF5VHlw
ZS9jYW5QbGF5VHlwZV90d29faW1wbGllc19vbmVfNi5odG1sIFsgU2tpcCBdCittZWRpYS9XM0Mv
dmlkZW8vZXZlbnRzL2V2ZW50X3Byb2dyZXNzX21hbnVhbC5odG1sIFsgU2tpcCBdCittZWRpYS9X
M0MvdmlkZW8vbmV0d29ya1N0YXRlL25ldHdvcmtTdGF0ZV9kdXJpbmdfcHJvZ3Jlc3MuaHRtbCBb
IFNraXAgXQorbWVkaWEvVzNDL3ZpZGVvL25ldHdvcmtTdGF0ZS9uZXR3b3JrU3RhdGVfZHVyaW5n
X2xvYWRzdGFydC5odG1sIFsgU2tpcCBdCisKK3BsYXRmb3JtL21hYy9tZWRpYSBbIFBhc3MgXQor
cGxhdGZvcm0vbWFjL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnktYXVkaW8tYXV0b3BsYXku
aHRtbCBbIFNraXAgXQorcGxhdGZvcm0vbWFjL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnkt
dmlkZW8tcGF1c2VkLmh0bWwgWyBTa2lwIF0KK3BsYXRmb3JtL21hYy9tZWRpYS9hdWRpby1zZXNz
aW9uLWNhdGVnb3J5LXZpZGVvLXRyYWNrLWNoYW5nZS5odG1sIFsgU2tpcCBdCitwbGF0Zm9ybS9t
YWMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1kZWFjdGl2YXRlZC13aGVuLXN1c3BlbmRlZC5odG1sIFsg
U2tpcCBdCitwbGF0Zm9ybS9tYWMvbWVkaWEvdmlkZW8tYmVzdC1lbGVtZW50LWZvci1wbGF5YmFj
ay1jb250cm9scy1wdXJwb3NlLmh0bWwgWyBTa2lwIF0KKwogaHR0cC90ZXN0cy9tZWRpYS90cmFj
ay90cmFjay13ZWJ2dHQtc2xvdy1sb2FkaW5nLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvbWVk
aWEvdHJhY2svdHJhY2std2VidnR0LXNsb3ctbG9hZGluZy0yLmh0bWwgWyBQYXNzIF0KIGh0dHAv
dGVzdHMvbWVkaWEvaGxzL2hscy13ZWJ2dHQtdHJhY2tzLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVz
dHMvbWVkaWEvdHJhY2staW4tYmFuZC1obHMtbWV0YWRhdGEuaHRtbCBbIFBhc3MgXQogaHR0cC90
ZXN0cy9tZWRpYS90cmFjay1pbi1iYW5kLWhscy1tZXRhZGF0YS1jcmFzaC5odG1sIFsgUGFzcyBd
CiAKLW1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtY3Vlcy1hZGRlZC1vbmNlLmh0bWwgWyBQYXNz
IF0KLW1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUuaHRtbCBbIFBhc3MgXQotbWVkaWEv
dHJhY2svdHJhY2staW4tYmFuZC1kdXBsaWNhdGUtdHJhY2tzLXdoZW4tc291cmNlLWNoYW5nZXMu
aHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1sZWdhY3ktYXBpLmh0bWwg
WyBQYXNzIF0KLW1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQuaHRtbCBbIFBhc3MgXQotbWVkaWEv
dHJhY2svdHJhY2staW4tYmFuZC1tZXRhZGF0YS1kaXNwbGF5LW9yZGVyLmh0bWwgWyBQYXNzIF0K
LQogYWNjZXNzaWJpbGl0eS9tZWRpYS1lbGVtZW50Lmh0bWwgWyBTa2lwIF0KIGZhc3QvYmxvY2sv
ZmxvYXQvbGlzdC1tYXJrZXItaXMtZmxvYXQtY3Jhc2guaHRtbCBbIFNraXAgXQogZmFzdC9jc3Mv
cmVsYXRpdmUtcG9zaXRpb24tcmVwbGFjZWQtaW4tdGFibGUtZGlzcGxheS1jcmFzaC5odG1sIFsg
U2tpcCBdCkBAIC0yNjIsNyArNDA0LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItZXJyb3IuaHRtbCBbIFMKIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9zdXBwb3J0L01l
ZGlhUmVjb3JkZXItaWZyYW1lLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BpY3R1cmUtaW4tcGljdHVyZS9tZWRpYXN0cmVhbS5odG1sIFsgU2tpcCBdCi1wbGF0
Zm9ybS9tYWMvbWVkaWEgWyBTa2lwIF0KIAogd2ViZ2wgWyBTa2lwIF0KIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvd2ViZ2wtcmVtb3RlLXJlYWQtcmVtb3RlLWltYWdlLWFsbG93ZWQuaHRtbCBbIFNraXAg
XQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392138</attachid>
            <date>2020-03-02 06:36:12 -0800</date>
            <delta_ts>2020-03-02 07:54:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208423-20200302063612.patch</filename>
            <type>text/plain</type>
            <size>66228</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Njg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYzNWRlYzYzMTE4YTll
ZDVhZmIyMGMwZTNjYzhjYmViNTJjMWZlNS4uMGE0YTlmYzY4NTJlZjg3OTQ3NzQ4N2RiMWJjNmU1
OTdiZjUyMGY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAyLTI5ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtHUFVQXSBQbHVt
YiB0aHJvdWdoIG1vcmUgTWVkaWFQbGF5ZXIgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81OTkyNDM4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMsIHVuc2tpcHBlZCB+MTIwMCBleGlzdGluZyBtZWRpYSB0ZXN0cy4K
KworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxheSk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGll
bnQ6Om1lZGlhUGxheWVyQ29udGVudHNTY2FsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQYXVzZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJQbGF5KTogRGVsZXRlZC4KKwog
MjAyMC0wMi0yOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBNYXBwaW5nIGZyb20gTUlNRSB0eXBlIHRvIFVUSSB0eXBlIHNob3VsZCBiZSBk
b25lIGluIHRoZSBVSSBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZiNDBlZjg0OWQxY2MwZGFiYzYxYWUx
ODU1ZjJiNzRiNTNjODNmZDYuLmQzMDhiZWVmMDE1YTg3YzVmZTJjZDI2MDk3NGUxYThhMTI5ZjNj
MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjAtMDItMjkgIEVyaWMgQ2FybHNvbiAg
PGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFBsdW1iIHRocm91Z2gg
bW9yZSBNZWRpYVBsYXllciBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDg0MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5OTI0Mzg2
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojp1cGRhdGVWaWRlb0Z1bGxz
Y3JlZW5JbmxpbmVJbWFnZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRWaWRlb0Z1
bGxzY3JlZW5HcmF2aXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZpZGVvRnVsbHNjcmVlbk1vZGUpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c2V0Vm9sdW1lKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6
OnNldEJ1ZmZlcmluZ1BvbGljeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5Ojp2aWRlb0Z1bGxzY3JlZW5TdGFuZGJ5Q2hhbmdlZCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojph
Y2Nlc3NMb2cpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eTo6ZXJyb3JMb2cpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUGF1c2UpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXll
clBsYXkpOiBEZWxldGVkLgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oOgorCiAyMDIwLTAyLTI5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIE1hcHBpbmcgZnJvbSBNSU1FIHR5cGUgdG8gVVRJ
IHR5cGUgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIFVJIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3Bw
CmluZGV4IDUzNjY3NGFlZjMzZGFjOGU4ZWZlOTAzMDJiY2Y5Mzk2ZDJkZDUzMzkuLmJmYmI3YWE2
NTU1OTRhMDFhYTY3YzNjNDU0NmFmNWFjNTJlOTkwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmNwcApA
QCAtMjQ4LDExICsyNDgsMTEgQEAgYXV0byBNZWRpYUNvbnRyb2xzSG9zdDo6ZXh0ZXJuYWxEZXZp
Y2VUeXBlKCkgY29uc3QgLT4gRGV2aWNlVHlwZQogICAgIH0KICAgICAKICAgICBzd2l0Y2ggKHBs
YXllci0+d2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSkgewotICAgIGNhc2UgTWVkaWFQbGF5
ZXI6OlRhcmdldFR5cGVOb25lOgorICAgIGNhc2UgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZToKICAgICAgICAgcmV0dXJuIERldmljZVR5cGU6
Ok5vbmU7Ci0gICAgY2FzZSBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZUFpclBsYXk6CisgICAgY2Fz
ZSBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVBaXJQ
bGF5OgogICAgICAgICByZXR1cm4gRGV2aWNlVHlwZTo6QWlycGxheTsKLSAgICBjYXNlIE1lZGlh
UGxheWVyOjpUYXJnZXRUeXBlVFZPdXQ6CisgICAgY2FzZSBNZWRpYVBsYXllcjo6V2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVUVk91dDoKICAgICAgICAgcmV0dXJuIERldmlj
ZVR5cGU6OlR2b3V0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKaW5kZXggZmRjNzI4YWI2ODY3MzI0ZmExNzBlN2VhMDAwYzEzNzdhNzgxYzk1My4uODMz
MmJjNTc2MDQyYjQ2YTczMDU5MWJlNWQ0YzAxYTMyNmRmYTVkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03MDkyLDE2ICs3MDkyLDYgQEAgZmxvYXQgSFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29uc3QKICAgICByZXR1
cm4gMTsKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllclBhdXNlKCkKLXsK
LSAgICBwYXVzZSgpOwotfQotCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyUGxh
eSgpCi17Ci0gICAgcGxheSgpOwotfQotCiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxh
eWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWlyZWQoKSBjb25zdAogewogICAgIHJl
dHVybiAhbV92b2x1bWVJbml0aWFsaXplZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKaW5kZXggZWYwMGMzNTAzOTU1MmFiNDgyNWIzNjhiOTMxZmY0ZjFmMWY0YzVmMy4uZDUx
MTRjYTIyZjAzYWMyMWZmNzUyYTFmZDU2NjEwNjMzODQwODBkMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTcyMiw4ICs3MjIsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0UmVjdCBt
ZWRpYVBsYXllckNvbnRlbnRCb3hSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgZmxvYXQgbWVk
aWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBtZWRpYVBs
YXllclBhdXNlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBtZWRpYVBsYXllclBsYXkoKSBvdmVycmlk
ZTsKICAgICBib29sIG1lZGlhUGxheWVyUGxhdGZvcm1Wb2x1bWVDb25maWd1cmF0aW9uUmVxdWly
ZWQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIG1lZGlhUGxheWVySXNMb29waW5nKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVk
UmVzb3VyY2VMb2FkZXIoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA4NmI0NzNkMzhhMGNiNWE4MGUwMjYwZmNj
ZGEwYzhlODdjNGFlMzZjLi42MTlkNmUxMDE2ZWMwNGU0NzE0MWY5MmI4OGE5ZmFlOWYzOGNjMzE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
Y3BwCkBAIC0xMDg3LDExICsxMDg3LDYgQEAgYm9vbCBNZWRpYVBsYXllcjo6c3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+c3VwcG9ydHNB
Y2NlbGVyYXRlZFJlbmRlcmluZygpOwogfQogCi1ib29sIE1lZGlhUGxheWVyOjpzaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5zaG91bGRN
YWludGFpbkFzcGVjdFJhdGlvKCk7Ci19Ci0KIHZvaWQgTWVkaWFQbGF5ZXI6OnNldFNob3VsZE1h
aW50YWluQXNwZWN0UmF0aW8oYm9vbCBtYWludGFpbkFzcGVjdFJhdGlvKQogewogICAgIG1fcHJp
dmF0ZS0+c2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhtYWludGFpbkFzcGVjdFJhdGlvKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4
IGE3NWFhY2ExZWJlMzhmZDcxZDA4ODg2NWM4MWQwMzU0ZmNhZTNhNjkuLmRmMTU3MzRjN2JkMDlh
NmY0ZTMxNmRjZmEyMGM0N2VhYTg5YmNiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMjIyLDggKzIyMiw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIExheW91dFJlY3QgbWVkaWFQbGF5ZXJDb250ZW50Qm94UmVjdCgpIGNv
bnN0IHsgcmV0dXJuIExheW91dFJlY3QoKTsgfQogICAgIHZpcnR1YWwgZmxvYXQgbWVkaWFQbGF5
ZXJDb250ZW50c1NjYWxlKCkgY29uc3QgeyByZXR1cm4gMTsgfQotICAgIHZpcnR1YWwgdm9pZCBt
ZWRpYVBsYXllclBhdXNlKCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyUGxheSgp
IHsgfQogICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllclBsYXRmb3JtVm9sdW1lQ29uZmlndXJh
dGlvblJlcXVpcmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
bWVkaWFQbGF5ZXJJc0xvb3BpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIG1lZGlhUGxheWVyQ2FjaGVkUmVzb3VyY2VMb2FkZXIo
KSB7IHJldHVybiBudWxscHRyOyB9CkBAIC00NjEsOCArNDU5LDggQEAgcHVibGljOgogICAgIGJv
b2wgaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0OwogICAgIHZvaWQgcHJlcGFyZUZvclJl
bmRlcmluZygpOwogCisgICAgdXNpbmcgTWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFj
a1RhcmdldFR5cGU7CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKLSAgICBl
bnVtIFdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHsgVGFyZ2V0VHlwZU5vbmUsIFRhcmdldFR5
cGVBaXJQbGF5LCBUYXJnZXRUeXBlVFZPdXQgfTsKICAgICBXaXJlbGVzc1BsYXliYWNrVGFyZ2V0
VHlwZSB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSgpIGNvbnN0OwogCiAgICAgU3RyaW5nIHdp
cmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3Q7CkBAIC00ODgsNyArNDg2LDYgQEAgcHVi
bGljOgogICAgIC8vIGNhbGxlZCB3aGVuIHRoZSByZW5kZXJpbmcgc3lzdGVtIGZsaXBzIHRoZSBp
bnRvIG9yIG91dCBvZiBhY2NlbGVyYXRlZCByZW5kZXJpbmcgbW9kZS4KICAgICB2b2lkIGFjY2Vs
ZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCk7CiAKLSAgICBib29sIHNob3VsZE1haW50YWlu
QXNwZWN0UmF0aW8oKSBjb25zdDsKICAgICB2b2lkIHNldFNob3VsZE1haW50YWluQXNwZWN0UmF0
aW8oYm9vbCk7CiAKICNpZiBQTEFURk9STShXSU4pICYmIFVTRShBVkZPVU5EQVRJT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1z
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllckVudW1zLmgK
aW5kZXggYTlmMDQ5ZjdiZjEzNTNlZDc0YmJjOTYyNGQyNDJkZGY3NzQ3MTk3OS4uYTAwMTU5NzFh
ODIyYjQ2ZjdhY2MxYjg4MDMwMzhhMjcxYTQ2NzFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJFbnVtcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyRW51bXMuaApAQCAtOTksNiArOTksMTMg
QEAgcHVibGljOgogICAgICAgICBNZWRpYUZvdW5kYXRpb24sCiAgICAgICAgIE1vY2tNU0UsCiAg
ICAgfTsKKworICAgIGVudW0gY2xhc3MgV2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgOiB1aW50
OF90IHsKKyAgICAgICAgVGFyZ2V0VHlwZU5vbmUsCisgICAgICAgIFRhcmdldFR5cGVBaXJQbGF5
LAorICAgICAgICBUYXJnZXRUeXBlVFZPdXQKKyAgICB9OworCiB9OwogCiBTdHJpbmcgY29udmVy
dEVudW1lcmF0aW9uVG9TdHJpbmcoTWVkaWFQbGF5ZXJFbnVtczo6UmVhZHlTdGF0ZSk7CkBAIC0y
MjQsNCArMjMxLDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVk
aWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyPiB7CiAgICAgPjsKIH07CiAKK3Rl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGU+IHsKK3VzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Cisg
ICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUs
CisgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5
cGU6OlRhcmdldFR5cGVOb25lLAorICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVs
ZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlQWlyUGxheSwKKyAgICBXZWJDb3JlOjpN
ZWRpYVBsYXllckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZVRW
T3V0CisgICAgPjsKK307CisKIH07IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggMWJk
NDA5NWEwOTYzOGNjOTE3NmEwNGQzNGZiYzExMmZjMjVmMzJkYy4uMTcwNzU5M2QyMjkzNDYyYTkx
NTY3M2JiOTJkMGUxZDYzZWZmOTgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKIAogICAgIHZpcnR1
YWwgU3RyaW5nIHdpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lKCkgY29uc3QgeyByZXR1cm4gZW1w
dHlTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tU
YXJnZXRUeXBlIHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QgeyByZXR1cm4gTWVk
aWFQbGF5ZXI6OlRhcmdldFR5cGVOb25lOyB9CisgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6V2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUgd2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25z
dCB7IHJldHVybiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdl
dFR5cGVOb25lOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFdpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wpIHsgfQpAQCAtMTg1LDcgKzE4NSw2IEBAIHB1
YmxpYzoKICAgICAvLyBjYWxsZWQgd2hlbiB0aGUgcmVuZGVyaW5nIHN5c3RlbSBmbGlwcyB0aGUg
aW50byBvciBvdXQgb2YgYWNjZWxlcmF0ZWQgcmVuZGVyaW5nIG1vZGUuCiAgICAgdmlydHVhbCB2
b2lkIGFjY2VsZXJhdGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgeyB9CiAKLSAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhib29sKSB7IH0K
IAogICAgIHZpcnR1YWwgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uLmgKaW5kZXggMWEyMGMwNWJlNGNjMDEzN2EwNjJmM2ZjZTM4NGI1YTU1ZWI2
ODk0My4uMmU1NDY3MDFjNzhkYjQ0OTllYWE4YmFmM2JmM2JiNjk0N2YxNTM5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAt
MTk0LDcgKzE5NCw3IEBAIHByb3RlY3RlZDoKICAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxh
eWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMDsgfQogICAgIGJvb2wgc3VwcG9ydHNBY2Nl
bGVyYXRlZFJlbmRlcmluZygpIGNvbnN0IG92ZXJyaWRlID0gMDsKICAgICB2b2lkIGFjY2VsZXJh
dGVkUmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBzaG91bGRNYWlu
dGFpbkFzcGVjdFJhdGlvKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zaG91bGRNYWludGFp
bkFzcGVjdFJhdGlvOyB9CisgICAgYm9vbCBzaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRNYWludGFpbkFzcGVjdFJhdGlvOyB9CiAgICAgdm9pZCBzZXRT
aG91bGRNYWludGFpbkFzcGVjdFJhdGlvKGJvb2wpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuU2F2
ZU1lZGlhRGF0YSgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRl
eCBkN2NmYmY5ZDc0MjE2MTJjOTkxYWQ3YjMwMzU1YmE5ZTFkYmMyZDc2Li44ZDE5NTJhOTQ0Y2Rj
N2VkN2Q0Nzc5M2M3M2E4Mzk3MzdlMDJiNWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAg
LTI2MTksNyArMjYxOSw3IEBAIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdAogI2lmIEVOQUJMRShXSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpCiAvLyBBVlBsYXllckl0ZW0udHJhY2tzIGlzIGVtcHR5IGR1
cmluZyBBaXJQbGF5IHNvIGlmIEFpclBsYXkgaXMgYWN0aXZhdGVkIGltbWVkaWF0ZWx5CiAvLyBh
ZnRlciB0aGUgaXRlbSBpcyBjcmVhdGVkLCB3ZSBkb24ndCBrbm93IGlmIGl0IGhhcyBhdWRpbyBv
ciB2aWRlbyBhbmQgc3RhdGUgcmVwb3J0ZWQKLS8vIHRvIHRoZSBXZWJNZWRpYVNlc3Npb25NYW5h
Z2VyIGlzIGluY29ycmVjdC4gQWlyUGxheSBjYW4ndCBhY3R1YWxseSBiZSBhY3RpdmUgaXMgYW4g
aXRlbQorLy8gdG8gdGhlIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXIgaXMgaW5jb3JyZWN0LiBBaXJQ
bGF5IGNhbid0IGFjdHVhbGx5IGJlIGFjdGl2ZSBpZiBhbiBpdGVtCiAvLyBkb2Vzbid0IGhhdmUg
YXVkaW8gb3IgdmlkZW8sIHNvIGxpZSBkdXJpbmcgQWlyUGxheS4KIAogYm9vbCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpoYXNWaWRlbygpIGNvbnN0CkBAIC0yNjYxLDI2ICsy
NjYxLDI2IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aXNDdXJy
ZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcygpIGNvbnN0CiBNZWRpYVBsYXllcjo6V2lyZWxlc3NQ
bGF5YmFja1RhcmdldFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6d2ly
ZWxlc3NQbGF5YmFja1RhcmdldFR5cGUoKSBjb25zdAogewogICAgIGlmICghbV9hdlBsYXllcikK
LSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICAgICAgcmV0
dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5v
bmU7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGlmICghUEFMOjppc0FWRm91bmRh
dGlvbkZyYW1ld29ya0F2YWlsYWJsZSgpKQotICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OlRh
cmdldFR5cGVOb25lOworICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJh
Y2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsKIAogICAgIHN3aXRjaCAoW21fYXZQbGF5ZXIg
ZXh0ZXJuYWxQbGF5YmFja1R5cGVdKSB7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJh
Y2tUeXBlTm9uZToKLSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsK
KyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6
VGFyZ2V0VHlwZU5vbmU7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlQWly
UGxheToKLSAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlQWlyUGxheTsKKyAg
ICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFy
Z2V0VHlwZUFpclBsYXk7CiAgICAgY2FzZSBBVlBsYXllckV4dGVybmFsUGxheWJhY2tUeXBlVFZP
dXQ6Ci0gICAgICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZVRWT3V0OworICAgICAg
ICByZXR1cm4gTWVkaWFQbGF5ZXI6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRU
eXBlVFZPdXQ7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IE1lZGlhUGxheWVyOjpUYXJnZXRUeXBlTm9uZTsKKyAgICByZXR1cm4gTWVkaWFQbGF5ZXI6Oldp
cmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZTsKIAogI2Vsc2UKLSAgICBy
ZXR1cm4gTWVkaWFQbGF5ZXI6OlRhcmdldFR5cGVBaXJQbGF5OworICAgIHJldHVybiBNZWRpYVBs
YXllcjo6V2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU6OlRhcmdldFR5cGVBaXJQbGF5OwogI2Vu
ZGlmCiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAppbmRleCA5MTQ4OTBm
ZjY0YmEzMjM1OGY2ZDBiYmJjNjVkZTU0YzUwYWZjYTY2Li44MjY0ZjNjNzYwMmJiNTZmNGRlN2M4
MWFlZmEzYmIxNmRmODIyNmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKQEAg
LTE5MiwyNCArMTkyLDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c3Vw
cG9ydHNLZXlTeXN0ZW0oTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmcKICAgICBjb21wbGV0aW9u
SGFuZGxlcihyZXN1bHQpOwogfQogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLXZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
U3RyaW5nKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBpZiAoYXV0byBwbGF5ZXIgPSBt
X3Byb3hpZXMuZ2V0KHBsYXllcklkZW50aWZpZXIpKSB7Ci0gICAgICAgIFN0cmluZyBsb2cgPSBw
bGF5ZXItPmFjY2Vzc0xvZygpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihsb2cpOwotICAg
IH0KLX0KLQotdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZXJyb3JMb2coTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgaWYg
KGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChwbGF5ZXJJZGVudGlmaWVyKSkgewotICAgICAg
ICBTdHJpbmcgbG9nID0gcGxheWVyLT5lcnJvckxvZygpOwotICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihsb2cpOwotICAgIH0KLX0KLSNlbmRpZgotCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5OjpkaWRSZWNlaXZlUGxheWVyTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoYXV0byogcGxheWVyID0g
bV9wcm94aWVzLmdldChtYWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVJZGVudGlmaWVyVHlwZT4oZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5LmgKaW5kZXggMjlkZGMyMDQ1MDI1N2I0NmQ5MTYwMzEwZDY4MzY1NDhlY2Jm
MThiMS4uYWUzMjhjYjdkMDkzNjI2YWIyYjMyN2NkNWE2MzM0NjBmZDcwNDE0NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5LmgKQEAgLTg0LDExICs4NCw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBjbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiYsIFZlY3RvcjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGE+JiYpOwogICAgIHZvaWQgc3VwcG9ydHNLZXlTeXN0ZW0oV2ViQ29yZTo6
TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmJiwg
Y29uc3QgU3RyaW5nJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogCi0jaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIGFjY2Vzc0xvZyhNZWRpYVBsYXllclByaXZh
dGVSZW1vdGVJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOwot
ICAgIHZvaWQgZXJyb3JMb2coTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKLSNlbmRpZgotCiAgICAgSGFzaE1hcDxN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eT4+IG1fcHJveGllczsKICAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBjODZiZGE1N2MyYjk0OGM1ZDBmNDhlODVj
MWNkNjczYTA3ODdiYmFmLi40Y2JkNDYxNGI2MmI4YzNlN2Q0ZjU2Y2E5NTBjOTQ0NzYxMjk5MzJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0z
NCwxMSArMzQsNiBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBO
b3RSZWZDb3VudGVkIHsKICAgICBDbGVhck1lZGlhQ2FjaGUoZW51bTp1aW50OF90IFdlYkNvcmU6
Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVu
dGlmaWVyLCBTdHJpbmcgcGF0aCwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSkKICAgICBDbGVhck1l
ZGlhQ2FjaGVGb3JPcmlnaW5zKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllciwgU3RyaW5nIHBh
dGgsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMpCiAgICAgU3Vw
cG9ydHNLZXlTeXN0ZW0oZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1l
ZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcga2V5U3lz
dGVtLCBTdHJpbmcgbWltZVR5cGUpIC0+IChib29sIHN1cHBvcnRzKSBTeW5jaHJvbm91cwotCi0j
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBBY2Nlc3NMb2coV2ViS2l0OjpNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVJZGVudGlmaWVyIHBsYXllcklkZW50aWZpZXIpIC0+IChTdHJpbmcgYWNj
ZXNzTG9nKSBTeW5jaHJvbm91cwotICAgIEVycm9yTG9nKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlSWRlbnRpZmllciBwbGF5ZXJJZGVudGlmaWVyKSAtPiAoU3RyaW5nIGVycm9yTG9n
KSBTeW5jaHJvbm91cwotI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCmluZGV4
IDYzMmIxM2RlNmNkYzBiZmNkOTU1YmVhNzU4MDFjMGI4MzI0YTI3MDEuLmM5ZDJlZTQ0NWJkNWU2
YTk0YWE0OGQ1OGI5ZTA0MjEzYmM1YWYyZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKQEAgLTgzLDYg
KzgzLDggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjppbnZhbGlkYXRlKCkKIHZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Z2V0Q29uZmlndXJhdGlvbihSZW1vdGVNZWRpYVBsYXll
ckNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiB7CiAgICAgY29uZmlndXJhdGlvbi5lbmdp
bmVEZXNjcmlwdGlvbiA9IG1fcGxheWVyLT5lbmdpbmVEZXNjcmlwdGlvbigpOworICAgIGF1dG8g
bWF4RHVyYXRpb24gPSBtX3BsYXllci0+bWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSgp
OworICAgIGNvbmZpZ3VyYXRpb24ubWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSA9IG1h
eER1cmF0aW9uID8gbWF4RHVyYXRpb24gOiAwLjI7CiAgICAgY29uZmlndXJhdGlvbi5zdXBwb3J0
c1NjYW5uaW5nID0gbV9wbGF5ZXItPnN1cHBvcnRzU2Nhbm5pbmcoKTsKICAgICBjb25maWd1cmF0
aW9uLnN1cHBvcnRzRnVsbHNjcmVlbiA9IG1fcGxheWVyLT5zdXBwb3J0c0Z1bGxzY3JlZW4oKTsK
ICAgICBjb25maWd1cmF0aW9uLnN1cHBvcnRzUGljdHVyZUluUGljdHVyZSA9IG1fcGxheWVyLT5z
dXBwb3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKQEAgLTI0NSwxNCArMjQ3LDE0IEBAIHZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6dmlkZW9GdWxsc2NyZWVuU3RhbmRieUNoYW5nZWQoKQogfQog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLVN0cmluZyBSZW1vdGVNZWRpYVBsYXllclByb3h5
OjphY2Nlc3NMb2coKQordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjphY2Nlc3NMb2coQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IHJldHVybiBtX3BsYXllci0+YWNjZXNzTG9nKCk7CisgICAgY29tcGxldGlvbkhhbmRsZXIobV9w
bGF5ZXItPmFjY2Vzc0xvZygpKTsKIH0KIAotU3RyaW5nIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OmVycm9yTG9nKCkKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6ZXJyb3JMb2coQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHJl
dHVybiBtX3BsYXllci0+ZXJyb3JMb2coKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihtX3BsYXll
ci0+ZXJyb3JMb2coKSk7CiB9CiAjZW5kaWYKIApAQCAtMjY1LDcgKzI2NywxNyBAQCB2b2lkIFJl
bW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTmV0d29ya1N0YXRlQ2hhbmdlZCgpCiB2
b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmVhZHlTdGF0ZUNoYW5nZWQo
KQogewogICAgIHVwZGF0ZUNhY2hlZFN0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5jYW5TYXZl
TWVkaWFEYXRhID0gbV9wbGF5ZXItPmNhblNhdmVNZWRpYURhdGEoKTsKKyAgICBtX2NhY2hlZFN0
YXRlLnN0YXJ0RGF0ZSA9IG1fcGxheWVyLT5nZXRTdGFydERhdGUoKTsKKyAgICBtX2NhY2hlZFN0
YXRlLnN0YXJ0VGltZSA9IG1fcGxheWVyLT5zdGFydFRpbWUoKTsKICAgICBtX2NhY2hlZFN0YXRl
Lm5hdHVyYWxTaXplID0gbV9wbGF5ZXItPm5hdHVyYWxTaXplKCk7CisgICAgbV9jYWNoZWRTdGF0
ZS5tYXhGYXN0Rm9yd2FyZFJhdGUgPSBtX3BsYXllci0+bWF4RmFzdEZvcndhcmRSYXRlKCk7Cisg
ICAgbV9jYWNoZWRTdGF0ZS5taW5GYXN0UmV2ZXJzZVJhdGUgPSBtX3BsYXllci0+bWluRmFzdFJl
dmVyc2VSYXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNBdmFpbGFibGVWaWRlb0ZyYW1lID0g
bV9wbGF5ZXItPmhhc0F2YWlsYWJsZVZpZGVvRnJhbWUoKTsKKyAgICBtX2NhY2hlZFN0YXRlLndp
cmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkID0gbV9wbGF5ZXItPndpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNTaW5nbGVTZWN1cml0eU9yaWdp
biA9IG1fcGxheWVyLT5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpOworICAgIG1fY2FjaGVkU3Rh
dGUuZGlkUGFzc0NPUlNBY2Nlc3NDaGVjayA9IG1fcGxheWVyLT5kaWRQYXNzQ09SU0FjY2Vzc0No
ZWNrKCk7CisKICAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpNZWRp
YVBsYXllclByaXZhdGVSZW1vdGU6OlJlYWR5U3RhdGVDaGFuZ2VkKG1fY2FjaGVkU3RhdGUpLCBt
X2lkKTsKIH0KIApAQCAtMzY5LDEyICszODEsMjIgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllclBy
b3h5OjptZWRpYVBsYXllckJ1ZmZlcmVkVGltZVJhbmdlc0NoYW5nZWQoKQogCiB2b2lkIFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyU2Vla2FibGVUaW1lUmFuZ2VzQ2hhbmdlZCgp
CiB7Ci0gICAgbV9zZWVrYWJsZUNoYW5nZWQgPSB0cnVlOworICAgIG1fY2FjaGVkU3RhdGUubWlu
VGltZVNlZWthYmxlID0gbV9wbGF5ZXItPm1pblRpbWVTZWVrYWJsZSgpOworICAgIG1fY2FjaGVk
U3RhdGUubWF4VGltZVNlZWthYmxlID0gbV9wbGF5ZXItPm1heFRpbWVTZWVrYWJsZSgpOworICAg
IG1fY2FjaGVkU3RhdGUuc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZSA9IG1fcGxh
eWVyLT5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lKCk7CisgICAgbV9jYWNoZWRT
dGF0ZS5saXZlVXBkYXRlSW50ZXJ2YWwgPSBtX3BsYXllci0+bGl2ZVVwZGF0ZUludGVydmFsKCk7
CisKKyAgICBpZiAoIW1fdXBkYXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXIuaXNBY3RpdmUoKSkK
KyAgICAgICAgc2VuZENhY2hlZFN0YXRlKCk7CiB9CiAKIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6bWVkaWFQbGF5ZXJDaGFyYWN0ZXJpc3RpY0NoYW5nZWQoKQogewotICAgIG1fd2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
Q2hhcmFjdGVyaXN0aWNDaGFuZ2VkKG1fcGxheWVyLT5oYXNBdWRpbygpLCBtX3BsYXllci0+aGFz
VmlkZW8oKSwgbV9wbGF5ZXItPm1vdmllTG9hZFR5cGUoKSksIG1faWQpOworICAgIHVwZGF0ZUNh
Y2hlZFN0YXRlKCk7CisgICAgbV9jYWNoZWRTdGF0ZS5oYXNDbG9zZWRDYXB0aW9ucyA9IG1fcGxh
eWVyLT5oYXNDbG9zZWRDYXB0aW9ucygpOworICAgIG1fY2FjaGVkU3RhdGUubGFuZ3VhZ2VPZlBy
aW1hcnlBdWRpb1RyYWNrID0gbV9wbGF5ZXItPmxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjaygp
OworCisgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpDaGFyYWN0ZXJpc3RpY0NoYW5nZWQobV9jYWNoZWRTdGF0ZSksIG1f
aWQpOwogfQogCiBib29sIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmVuZGVy
aW5nQ2FuQmVBY2NlbGVyYXRlZCgpCkBAIC01MTUsMTIgKzUzNywxNiBAQCB2b2lkIFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyV2FpdGluZ0ZvcktleUNoYW5nZWQoKQogI2lmIEVO
QUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6Om1lZGlhUGxheWVyQ3VycmVudFBsYXliYWNrVGFyZ2V0SXNXaXJlbGVzc0NoYW5nZWQoYm9v
bCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKQogeworICAgIG1fY2FjaGVkU3RhdGUu
d2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWUgPSBtX3BsYXllci0+d2lyZWxlc3NQbGF5YmFja1Rh
cmdldE5hbWUoKTsKKyAgICBtX2NhY2hlZFN0YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBl
ID0gbV9wbGF5ZXItPndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCk7CisgICAgc2VuZENhY2hl
ZFN0YXRlKCk7CiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6TWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpDdXJyZW50UGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzQ2hh
bmdlZChpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKSwgbV9pZCk7CiB9CiAKIHZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQo
Ym9vbCBkaXNhYmxlZCkKIHsKICAgICBtX3BsYXllci0+c2V0V2lyZWxlc3NWaWRlb1BsYXliYWNr
RGlzYWJsZWQoZGlzYWJsZWQpOworICAgIG1fY2FjaGVkU3RhdGUud2lyZWxlc3NWaWRlb1BsYXli
YWNrRGlzYWJsZWQgPSBtX3BsYXllci0+d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKTsK
IH0KIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRTaG91bGRQbGF5VG9QbGF5YmFj
a1RhcmdldChib29sIHNob3VsZFBsYXkpCkBAIC01NTUsMTYgKzU4MSw2IEBAIGZsb2F0IFJlbW90
ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyQ29udGVudHNTY2FsZSgpIGNvbnN0CiAgICAg
cmV0dXJuIG1fdmlkZW9Db250ZW50U2NhbGU7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6bWVkaWFQbGF5ZXJQYXVzZSgpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KLQot
dm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclBsYXkoKQotewotICAgIG5v
dEltcGxlbWVudGVkKCk7Ci19Ci0KIGJvb2wgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVkaWFQ
bGF5ZXJQbGF0Zm9ybVZvbHVtZUNvbmZpZ3VyYXRpb25SZXF1aXJlZCgpIGNvbnN0CiB7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKQEAgLTY1OSwxMiArNjc1LDYgQEAgdm9pZCBSZW1vdGVNZWRpYVBs
YXllclByb3h5Ojp1cGRhdGVDYWNoZWRTdGF0ZSgpCiAgICAgbV9jYWNoZWRTdGF0ZS5wYXVzZWQg
PSBtX3BsYXllci0+cGF1c2VkKCk7CiAgICAgbV9jYWNoZWRTdGF0ZS5sb2FkaW5nUHJvZ3Jlc3Nl
ZCA9IG1fcGxheWVyLT5kaWRMb2FkaW5nUHJvZ3Jlc3MoKTsKIAotICAgIGlmIChtX3NlZWthYmxl
Q2hhbmdlZCkgewotICAgICAgICBtX3NlZWthYmxlQ2hhbmdlZCA9IGZhbHNlOwotICAgICAgICBt
X2NhY2hlZFN0YXRlLm1pblRpbWVTZWVrYWJsZSA9IG1fcGxheWVyLT5taW5UaW1lU2Vla2FibGUo
KTsKLSAgICAgICAgbV9jYWNoZWRTdGF0ZS5tYXhUaW1lU2Vla2FibGUgPSBtX3BsYXllci0+bWF4
VGltZVNlZWthYmxlKCk7Ci0gICAgfQotCiAgICAgaWYgKG1fYnVmZmVyZWRDaGFuZ2VkKSB7CiAg
ICAgICAgIG1fYnVmZmVyZWRDaGFuZ2VkID0gZmFsc2U7CiAgICAgICAgIG1fY2FjaGVkU3RhdGUu
YnVmZmVyZWRSYW5nZXMgPSAqbV9wbGF5ZXItPmJ1ZmZlcmVkKCk7CkBAIC03MTAsNiArNzIwLDIx
IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6YXBwbGljYXRpb25EaWRCZWNvbWVBY3Rp
dmUoKQogICAgIG1fcGxheWVyLT5hcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpOwogfQogCit2
b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om5vdGlmeVRyYWNrTW9kZUNoYW5nZWQoKQorewor
ICAgIG1fcGxheWVyLT5ub3RpZnlUcmFja01vZGVDaGFuZ2VkKCk7Cit9CisKK3ZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJQcm94eTo6dHJhY2tzQ2hhbmdlZCgpCit7CisgICAgbV9wbGF5ZXItPnRyYWNr
c0NoYW5nZWQoKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzeW5jVGV4dFRy
YWNrQm91bmRzKCkKK3sKKyAgICBtX3BsYXllci0+c3luY1RleHRUcmFja0JvdW5kcygpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eS5oCmluZGV4IDJjMDFkMGU1ZjAxYWYzMmYzMjNiZWJjNjFkOGM4ZjBiZDg0YTYw
ODEuLmZhZGJlMDlhN2Q1NDNkMTFhMTg4NjYyYWZjNzhhZWM0ZDFlNGY4MDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaApAQCAtODQsMTEgKzg0LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIHZpZGVvRnVsbHNjcmVl
blN0YW5kYnlDaGFuZ2VkKCk7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFN0cmlu
ZyBhY2Nlc3NMb2coKTsKLSAgICBTdHJpbmcgZXJyb3JMb2coKTsKKyAgICB2b2lkIGFjY2Vzc0xv
ZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOworICAgIHZvaWQgZXJyb3JMb2co
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKICNlbmRpZgogCiAgICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsK
KyAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpOwogCiAgICAgdm9pZCBnZXRD
b25maWd1cmF0aW9uKFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiYpOwogCkBAIC0xNDgs
NiArMTQ5LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2
ZSgpOwogICAgIHZvaWQgYXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKTsKIAorICAgIHZvaWQg
bm90aWZ5VHJhY2tNb2RlQ2hhbmdlZCgpOworICAgIHZvaWQgdHJhY2tzQ2hhbmdlZCgpOworICAg
IHZvaWQgc3luY1RleHRUcmFja0JvdW5kcygpOworCiAgICAgUmVmPFdlYkNvcmU6OlBsYXRmb3Jt
TWVkaWFSZXNvdXJjZT4gcmVxdWVzdFJlc291cmNlKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYm
LCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI6OkxvYWRPcHRpb25zKTsKICAg
ICB2b2lkIHJlbW92ZVJlc291cmNlKFJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyKTsKIApA
QCAtMjAxLDggKzIwNiw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtZWRpYVBsYXllcklzRnVsbHNj
cmVlblBlcm1pdHRlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgbWVkaWFQbGF5ZXJJc1ZpZGVv
KCkgY29uc3QgZmluYWw7CiAgICAgZmxvYXQgbWVkaWFQbGF5ZXJDb250ZW50c1NjYWxlKCkgY29u
c3QgZmluYWw7Ci0gICAgdm9pZCBtZWRpYVBsYXllclBhdXNlKCkgZmluYWw7Ci0gICAgdm9pZCBt
ZWRpYVBsYXllclBsYXkoKSBmaW5hbDsKICAgICBib29sIG1lZGlhUGxheWVyUGxhdGZvcm1Wb2x1
bWVDb25maWd1cmF0aW9uUmVxdWlyZWQoKSBjb25zdCBmaW5hbDsKICAgICBXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZUxvYWRlciogbWVkaWFQbGF5ZXJDYWNoZWRSZXNvdXJjZUxvYWRlcigpIGZpbmFs
OwogICAgIFJlZlB0cjxXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXI+IG1lZGlh
UGxheWVyQ3JlYXRlUmVzb3VyY2VMb2FkZXIoKSBmaW5hbDsKQEAgLTI2MSw3ICsyNjQsNiBAQCBw
cml2YXRlOgogICAgIFJ1bkxvb3A6OlRpbWVyPFJlbW90ZU1lZGlhUGxheWVyUHJveHk+IG1fdXBk
YXRlQ2FjaGVkU3RhdGVNZXNzYWdlVGltZXI7CiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSBt
X2NhY2hlZFN0YXRlOwogICAgIFJlbW90ZU1lZGlhUGxheWVyUHJveHlDb25maWd1cmF0aW9uIG1f
Y29uZmlndXJhdGlvbjsKLSAgICBib29sIG1fc2Vla2FibGVDaGFuZ2VkIHsgdHJ1ZSB9OwogICAg
IGJvb2wgbV9idWZmZXJlZENoYW5nZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX3JlbmRlcmluZ0Nh
bkJlQWNjZWxlcmF0ZWQgeyB0cnVlIH07CiAgICAgV2ViQ29yZTo6TGF5b3V0UmVjdCBtX3ZpZGVv
Q29udGVudEJveFJlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGJj
MmQyMjY2NmFkZWRjOGI3MzBjMmZiZGNmMWM0ZjhmMDdmNzE4ZTkuLjUwMzE4OTY3ZjI4MDZkYmMw
NWZiYTc1ZmI4ZTBjNTliMzQxZmQyYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC05NCw2ICs5NCwxNSBAQCBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllclByb3h5
IE5vdFJlZkNvdW50ZWQgewogCiAgICAgQXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlKCkKICAg
ICBBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCisKKyAgICBOb3RpZnlUcmFja01vZGVDaGFu
Z2VkKCkKKyAgICBUcmFja3NDaGFuZ2VkKCkKKyAgICBTeW5jVGV4dFRyYWNrQm91bmRzKCkKKwor
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgRXJyb3JMb2coKSAtPiAoU3RyaW5nIGVycm9y
TG9nKSBTeW5jaHJvbm91cworICAgIEFjY2Vzc0xvZygpIC0+IChTdHJpbmcgYWNjZXNzTG9nKSBT
eW5jaHJvbm91cworI2VuZGlmCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvV2ViS2l0Lnhjc2NoZW1l
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMv
V2ViS2l0Lnhjc2NoZW1lCmluZGV4IDIxOGRiMmIzNzY5OTBjNDU4YjVlOTgzYjE1ZDgyZjlkYzRh
MzE4NmEuLjYxMDM5YjFjNzE3MzhmMzIzM2RiOGIzNTk4NDNjNDRjODNlZjljOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVz
L1dlYktpdC54Y3NjaGVtZQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2oveGNz
aGFyZWRkYXRhL3hjc2NoZW1lcy9XZWJLaXQueGNzY2hlbWUKQEAgLTMxLDcgKzMxLDcgQEAKICAg
ICAgIDwvVGVzdGFibGVzPgogICAgPC9UZXN0QWN0aW9uPgogICAgPExhdW5jaEFjdGlvbgotICAg
ICAgYnVpbGRDb25maWd1cmF0aW9uID0gIkRlYnVnIgorICAgICAgYnVpbGRDb25maWd1cmF0aW9u
ID0gIlJlbGVhc2UiCiAgICAgICBzZWxlY3RlZERlYnVnZ2VySWRlbnRpZmllciA9ICJYY29kZS5E
ZWJ1Z2dlckZvdW5kYXRpb24uRGVidWdnZXIuTExEQiIKICAgICAgIHNlbGVjdGVkTGF1bmNoZXJJ
ZGVudGlmaWVyID0gIlhjb2RlLkRlYnVnZ2VyRm91bmRhdGlvbi5MYXVuY2hlci5MTERCIgogICAg
ICAgbGF1bmNoU3R5bGUgPSAiMCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAppbmRleCBm
M2RjODljNmY2MTA5ZjNiNjA1YjlkNWY2ZTQxN2RmOWNhMjcxOWJjLi5hZDAzZTVlNzJiOTJmNmE2
ZWIyYTVlMTI2YjJjMWEzZjlmZjM0M2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3Bw
CkBAIC0yMTUsMTIgKzIxNSwxMiBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZGlk
TG9hZGluZ1Byb2dyZXNzKCkgY29uc3QKIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
Omhhc1ZpZGVvKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9oYXNWaWRlbzsKKyAgICByZXR1cm4g
bV9jYWNoZWRTdGF0ZS5oYXNWaWRlbzsKIH0KIAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6Omhhc0F1ZGlvKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9oYXNBdWRpbzsKKyAgICByZXR1
cm4gbV9jYWNoZWRTdGF0ZS5oYXNBdWRpbzsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3Jt
VGltZVJhbmdlcz4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZWVrYWJsZSgpIGNvbnN0CkBA
IC0yMzgsNyArMjM4LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpidWZmZXJlZCgpIGNvbnN0CiAKIE1lZGlhUGxheWVyOjpN
b3ZpZUxvYWRUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bW92aWVMb2FkVHlwZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fbW92aWVMb2FkVHlwZTsKKyAgICByZXR1cm4gbV9jYWNoZWRT
dGF0ZS5tb3ZpZUxvYWRUeXBlOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
bmV0d29ya1N0YXRlQ2hhbmdlZChSZW1vdGVNZWRpYVBsYXllclN0YXRlJiYgc3RhdGUpCkBAIC0y
OTYsMTEgKzI5Niw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjplbmdpbmVGYWls
ZWRUb0xvYWQobG9uZyBwbGF0Zm9ybUVycm9yQ29kZSkKICAgICBtX3BsYXllci0+cmVtb3RlRW5n
aW5lRmFpbGVkVG9Mb2FkKCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpj
aGFyYWN0ZXJpc3RpY0NoYW5nZWQoYm9vbCBoYXNBdWRpbywgYm9vbCBoYXNWaWRlbywgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKQordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmNoYXJhY3RlcmlzdGljQ2hhbmdlZChSZW1vdGVNZWRp
YVBsYXllclN0YXRlJiYgc3RhdGUpCiB7Ci0gICAgbV9tb3ZpZUxvYWRUeXBlID0gbW92aWVMb2Fk
VHlwZTsKLSAgICBtX2hhc0F1ZGlvID0gaGFzQXVkaW87Ci0gICAgbV9oYXNWaWRlbyA9IGhhc1Zp
ZGVvOworICAgIHVwZGF0ZUNhY2hlZFN0YXRlKFdURk1vdmUoc3RhdGUpKTsKICAgICBtX3BsYXll
ci0+Y2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCk7CiB9CiAKQEAgLTM2Miw2ICszNjAsMjUgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnVwZGF0ZUNhY2hlZFN0YXRlKFJlbW90ZU1lZGlh
UGxheWVyU3RhdGUmJiBzdGF0ZSkKICAgICBtX2NhY2hlZFN0YXRlLnBhdXNlZCA9IHN0YXRlLnBh
dXNlZDsKICAgICBtX2NhY2hlZFN0YXRlLmxvYWRpbmdQcm9ncmVzc2VkID0gc3RhdGUubG9hZGlu
Z1Byb2dyZXNzZWQ7CiAgICAgbV9jYWNoZWRTdGF0ZS5uYXR1cmFsU2l6ZSA9IHN0YXRlLm5hdHVy
YWxTaXplOworICAgIG1fY2FjaGVkU3RhdGUubW92aWVMb2FkVHlwZSA9IHN0YXRlLm1vdmllTG9h
ZFR5cGU7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSA9IHN0
YXRlLndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlOworCisgICAgbV9jYWNoZWRTdGF0ZS5zdGFy
dERhdGUgPSBzdGF0ZS5zdGFydERhdGU7CisgICAgbV9jYWNoZWRTdGF0ZS5zdGFydFRpbWUgPSBz
dGF0ZS5zdGFydFRpbWU7CisgICAgbV9jYWNoZWRTdGF0ZS5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlv
VHJhY2sgPSBzdGF0ZS5sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2s7CisgICAgbV9jYWNoZWRT
dGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGUgPSBzdGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGU7CisgICAg
bV9jYWNoZWRTdGF0ZS5taW5GYXN0UmV2ZXJzZVJhdGUgPSBzdGF0ZS5taW5GYXN0UmV2ZXJzZVJh
dGU7CisgICAgbV9jYWNoZWRTdGF0ZS5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1l
ID0gc3RhdGUuc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZTsKKyAgICBtX2NhY2hl
ZFN0YXRlLmxpdmVVcGRhdGVJbnRlcnZhbCA9IHN0YXRlLmxpdmVVcGRhdGVJbnRlcnZhbDsKKyAg
ICBtX2NhY2hlZFN0YXRlLmNhblNhdmVNZWRpYURhdGEgPSBzdGF0ZS5jYW5TYXZlTWVkaWFEYXRh
OworICAgIG1fY2FjaGVkU3RhdGUuaGFzQXVkaW8gPSBzdGF0ZS5oYXNBdWRpbzsKKyAgICBtX2Nh
Y2hlZFN0YXRlLmhhc1ZpZGVvID0gc3RhdGUuaGFzVmlkZW87CisgICAgbV9jYWNoZWRTdGF0ZS5o
YXNDbG9zZWRDYXB0aW9ucyA9IHN0YXRlLmhhc0Nsb3NlZENhcHRpb25zOworICAgIG1fY2FjaGVk
U3RhdGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZSA9IHN0YXRlLmhhc0F2YWlsYWJsZVZpZGVvRnJh
bWU7CisgICAgbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCA9IHN0
YXRlLndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOworICAgIG1fY2FjaGVkU3RhdGUuaGFz
U2luZ2xlU2VjdXJpdHlPcmlnaW4gPSBzdGF0ZS5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKKyAg
ICBtX2NhY2hlZFN0YXRlLmRpZFBhc3NDT1JTQWNjZXNzQ2hlY2sgPSBzdGF0ZS5kaWRQYXNzQ09S
U0FjY2Vzc0NoZWNrOworCiAgICAgaWYgKHN0YXRlLmJ1ZmZlcmVkUmFuZ2VzLmxlbmd0aCgpKQog
ICAgICAgICBtX2NhY2hlZEJ1ZmZlcmVkVGltZVJhbmdlcyA9IG1ha2VVbmlxdWU8UGxhdGZvcm1U
aW1lUmFuZ2VzPihzdGF0ZS5idWZmZXJlZFJhbmdlcyk7CiB9CkBAIC01NzEsOCArNTg4LDYgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnJlbW90ZVZpZGVvVHJhY2tDb25maWd1cmF0
aW9uQ2hhbmdlZChUcmFja1ByaXZhdGUKICAgICAgICAgdHJhY2stPnVwZGF0ZUNvbmZpZ3VyYXRp
b24oV1RGTW92ZShjb25maWd1cmF0aW9uKSk7CiB9CiAKLS8vIEZJWE1FOiBVbmltcGxlbWVudGVk
Ci0KICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmxvYWQoY29uc3QgU3RyaW5nJiwgTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50KikKIHsKQEAg
LTU5MCw3ICs2MDUsOCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25z
dCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisKICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlz
KSwgdGhpc10gewogICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgcmV0dXJuOwpA
QCAtNjU1LDggKzY3MSw3IEBAIE5TQXJyYXkqIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dGlt
ZWRNZXRhZGF0YSgpIGNvbnN0CiBTdHJpbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjphY2Nl
c3NMb2coKSBjb25zdAogewogICAgIFN0cmluZyBsb2c7Ci0gICAgCi0gICAgaWYgKCFjb25uZWN0
aW9uKCkuc2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpB
Y2Nlc3NMb2cobV9pZCksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6
QWNjZXNzTG9nOjpSZXBseShsb2cpLCBtX2lkKSkKKyAgICBpZiAoIWNvbm5lY3Rpb24oKS5zZW5k
U3luYyhNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6QWNjZXNzTG9nKCksIE1lc3Nh
Z2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpBY2Nlc3NMb2c6OlJlcGx5KGxvZyksIG1faWQp
KQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIHJldHVybiBsb2c7CkBAIC02
NjUsOCArNjgwLDcgQEAgU3RyaW5nIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6YWNjZXNzTG9n
KCkgY29uc3QKIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmVycm9yTG9nKCkgY29u
c3QKIHsKICAgICBTdHJpbmcgbG9nOwotICAgIAotICAgIGlmICghY29ubmVjdGlvbigpLnNlbmRT
eW5jKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6RXJyb3JMb2cobV9p
ZCksIE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6RXJyb3JMb2c6OlJl
cGx5KGxvZyksIG1faWQpKQorICAgIGlmICghY29ubmVjdGlvbigpLnNlbmRTeW5jKE1lc3NhZ2Vz
OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjpFcnJvckxvZygpLCBNZXNzYWdlczo6UmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6RXJyb3JMb2c6OlJlcGx5KGxvZyksIG1faWQpKQogICAgICAgICByZXR1
cm4gZW1wdHlTdHJpbmcoKTsKIAogICAgIHJldHVybiBsb2c7CkBAIC02ODAsMzEgKzY5NCwyNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0QnVmZmVyaW5nUG9saWN5KE1lZGlh
UGxheWVyOjpCdWZmZXJpbmdQb2xpY3kgcAogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZTo6Y2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAg
ICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuY2FuU2F2ZU1lZGlhRGF0
YTsKIH0KIAogTWVkaWFUaW1lIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Z2V0U3RhcnREYXRl
KCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBNZWRpYVRpbWU6
Onplcm9UaW1lKCk7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuc3RhcnREYXRlOwogfQogCiBN
ZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzdGFydFRpbWUoKSBjb25zdAogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIE1lZGlhVGltZTo6emVyb1RpbWUoKTsK
KyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5zdGFydFRpbWU7CiB9CiAKLXZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpzZXRSYXRlRG91YmxlKGRvdWJsZSkKK3ZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpzZXRSYXRlRG91YmxlKGRvdWJsZSByYXRlKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxh
eWVyUHJveHk6OlNldFJhdGUocmF0ZSksIG1faWQpOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJp
dmF0ZVJlbW90ZTo6aGFzQ2xvc2VkQ2FwdGlvbnMoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmhhc0Ns
b3NlZENhcHRpb25zOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xv
c2VkQ2FwdGlvbnNWaXNpYmxlKGJvb2wpCkBAIC03MTQsMTQgKzcyNCwxMiBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKGJvb2wpCiAKIGRv
dWJsZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1heEZhc3RGb3J3YXJkUmF0ZSgpIGNvbnN0
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9j
YWNoZWRTdGF0ZS5tYXhGYXN0Rm9yd2FyZFJhdGU7CiB9CiAKIGRvdWJsZSBNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6Om1pbkZhc3RSZXZlcnNlUmF0ZSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5taW5GYXN0
UmV2ZXJzZVJhdGU7CiB9CiAKIE1lZGlhVGltZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1h
eE1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QKQEAgLTczNiwxNCArNzQ0LDEyIEBAIE1lZGlhVGlt
ZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om1pbk1lZGlhVGltZVNlZWthYmxlKCkgY29uc3QK
IAogZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2Vla2FibGVUaW1lUmFuZ2VzTGFz
dE1vZGlmaWVkVGltZSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gbV9jYWNoZWRTdGF0ZS5zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9k
aWZpZWRUaW1lOwogfQogCiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsaXZlVXBk
YXRlSW50ZXJ2YWwoKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUubGl2ZVVwZGF0ZUludGVydmFsOwogfQogCiB1
bnNpZ25lZCBsb25nIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp0b3RhbEJ5dGVzKCkg
Y29uc3QKQEAgLTc4Myw4ICs3ODksNyBAQCBOYXRpdmVJbWFnZVB0ciBNZWRpYVBsYXllclByaXZh
dGVSZW1vdGU6Om5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUoKQogCiBib29sIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6aGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0CiB7Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3Rh
dGUuaGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKIH0KIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpCkBAIC03OTYsMTQgKzgwMSwxMiBAQCBTdHJpbmcgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjp3aXJlbGVzc1BsYXliYWNrVGFyZ2V0TmFtZSgpIGNvbnN0CiAKIE1lZGlhUGxh
eWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6
OndpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOwotICAgIHJldHVybiBNZWRpYVBsYXllcjo6VGFyZ2V0VHlwZU5vbmU7CisgICAgcmV0dXJu
IG1fY2FjaGVkU3RhdGUud2lyZWxlc3NQbGF5YmFja1RhcmdldFR5cGU7CiB9CiAKIGJvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNv
bnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gbV9jYWNoZWRTdGF0ZS53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZDsKIH0KIAogdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkKGJvb2wgZGlzYWJsZWQpCkBAIC04MzMsMjIgKzgzNiwxNCBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZTo6c2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJnZXQoYm9vbCBzaG91bGRQ
bGF5KQogfQogI2VuZGlmCiAKLWJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzaG91bGRN
YWludGFpbkFzcGVjdFJhdGlvKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IHJldHVybiB0cnVlOwotfQotCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6aGFzU2lu
Z2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2NhY2hlZFN0YXRlLmhhc1NpbmdsZVNlY3VyaXR5
T3JpZ2luOwogfQogCiBib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6ZGlkUGFzc0NPUlNB
Y2Nlc3NDaGVjaygpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIG1fY2FjaGVkU3RhdGUuZGlkUGFzc0NPUlNBY2Nlc3NDaGVjazsK
IH0KIAogT3B0aW9uYWw8Ym9vbD4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp3b3VsZFRhaW50
T3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2luJikgY29uc3QKQEAgLTg2NSw3ICs4NjAsNyBAQCBN
ZWRpYVRpbWUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptZWRpYVRpbWVGb3JUaW1lVmFsdWUo
Y29uc3QgTWVkaWFUaW1lJiB0aW1lVgogCiBkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjptYXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
LjI7IC8vIEZJWE1FOiBnZXQgdGhpcyB2YWx1ZSBmcm9tIHRoZSBtZWRpYSBlbmdpbmUgd2hlbiBp
dCBpcyBjcmVhdGVkLgorICAgIHJldHVybiBtX2NvbmZpZ3VyYXRpb24ubWF4aW11bUR1cmF0aW9u
VG9DYWNoZU1lZGlhVGltZTsKIH0KIAogdW5zaWduZWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
OjpkZWNvZGVkRnJhbWVDb3VudCgpIGNvbnN0CkBAIC05NjAsMTIgKzk1NSwxMiBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0VGV4dFRyYWNrUmVwcmVzZW50YXRpb24oVGV4dFRy
YWNrUmVwcmVzZW50YXRpbwogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c3luY1Rl
eHRUcmFja0JvdW5kcygpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBjb25uZWN0aW9u
KCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6U3luY1RleHRUcmFja0Jv
dW5kcygpLCBtX2lkKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnRyYWNr
c0NoYW5nZWQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY29ubmVjdGlvbigpLnNl
bmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6OlRyYWNrc0NoYW5nZWQoKSwgbV9p
ZCk7CiB9CiAjZW5kaWYKIApAQCAtOTg4LDggKzk4Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjplbmRTaW11bGF0ZWRIRENQRXJyb3IoKQogCiBTdHJpbmcgTWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBjb25zdAogewotICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisgICAgcmV0dXJu
IG1fY2FjaGVkU3RhdGUubGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOwogfQogCiBzaXplX3Qg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpleHRyYU1lbW9yeUNvc3QoKSBjb25zdApAQCAtOTk4
LDE4ICs5OTIsNiBAQCBzaXplX3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpleHRyYU1lbW9y
eUNvc3QoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi11bnNpZ25lZCBsb25nIGxvbmcgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpmaWxlU2l6ZSgpIGNvbnN0Ci17Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLQotYm9vbCBNZWRpYVBsYXllclByaXZhdGVSZW1v
dGU6OmVuZGVkKCkgY29uc3QKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBm
YWxzZTsKLX0KLQogT3B0aW9uYWw8VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzPiBNZWRpYVBs
YXllclByaXZhdGVSZW1vdGU6OnZpZGVvUGxheWJhY2tRdWFsaXR5TWV0cmljcygpCiB7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKQEAgLTEwMTksNyArMTAwMSw3IEBAIE9wdGlvbmFsPFZpZGVvUGxh
eWJhY2tRdWFsaXR5TWV0cmljcz4gTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjp2aWRlb1BsYXli
YWNrUXVhCiAjaWYgRU5BQkxFKEFWRl9DQVBUSU9OUykKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlOjpub3RpZnlUcmFja01vZGVDaGFuZ2VkKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllclByb3h5
OjpOb3RpZnlUcmFja01vZGVDaGFuZ2VkKCksIG1faWQpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZS5oCmluZGV4IDRkN2RjODBlOTdmZmQ4N2NiZThkMGFiYTQ2NjUzZDcyMTM1
MTYxYjUuLjU1OWZkNjUwMjA4OGViYjM3ZDc2ZWE3ZDY5MzU1NzI2MzhmMjEwMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBs
YXllclByaXZhdGVSZW1vdGUuaApAQCAtOTQsNyArOTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBw
bGF5YmFja1N0YXRlQ2hhbmdlZChib29sKTsKICAgICB2b2lkIGVuZ2luZUZhaWxlZFRvTG9hZChs
b25nKTsKICAgICB2b2lkIHVwZGF0ZUNhY2hlZFN0YXRlKFJlbW90ZU1lZGlhUGxheWVyU3RhdGUm
Jik7Ci0gICAgdm9pZCBjaGFyYWN0ZXJpc3RpY0NoYW5nZWQoYm9vbCBoYXNBdWRpbywgYm9vbCBo
YXNWaWRlbywgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSk7CisgICAg
dm9pZCBjaGFyYWN0ZXJpc3RpY0NoYW5nZWQoUmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSYmKTsKICAg
ICB2b2lkIHNpemVDaGFuZ2VkKFdlYkNvcmU6OkZsb2F0U2l6ZSk7CiAgICAgdm9pZCBmaXJzdFZp
ZGVvRnJhbWVBdmFpbGFibGUoKTsKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTI3Nyw3ICsyNzcs
NiBAQCBwcml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNBY2NlbGVyYXRlZFJlbmRlcmluZygpIGNv
bnN0IGZpbmFsOwogICAgIHZvaWQgYWNjZWxlcmF0ZWRSZW5kZXJpbmdTdGF0ZUNoYW5nZWQoKSBm
aW5hbDsKIAotICAgIGJvb2wgc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0IGZpbmFs
OwogICAgIHZvaWQgc2V0U2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbyhib29sKSBmaW5hbDsKIAog
ICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCBmaW5hbDsKQEAgLTMzNCwx
MCArMzMzLDYgQEAgcHJpdmF0ZToKIAogICAgIHNpemVfdCBleHRyYU1lbW9yeUNvc3QoKSBjb25z
dCBmaW5hbDsKIAotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmaWxlU2l6ZSgpIGNvbnN0IGZpbmFs
OwotCi0gICAgYm9vbCBlbmRlZCgpIGNvbnN0IGZpbmFsOwotCiAgICAgT3B0aW9uYWw8V2ViQ29y
ZTo6VmlkZW9QbGF5YmFja1F1YWxpdHlNZXRyaWNzPiB2aWRlb1BsYXliYWNrUXVhbGl0eU1ldHJp
Y3MoKSBmaW5hbDsKIAogI2lmIEVOQUJMRShBVkZfQ0FQVElPTlMpCkBAIC0zNzgsOSArMzczLDYg
QEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV92b2x1bWUgeyAxIH07CiAgICAgZG91YmxlIG1fcmF0
ZSB7IDEgfTsKICAgICBsb25nIG1fcGxhdGZvcm1FcnJvckNvZGUgeyAwIH07Ci0gICAgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtX21vdmllTG9hZFR5cGUgeyBXZWJD
b3JlOjpNZWRpYVBsYXllckVudW1zOjpNb3ZpZUxvYWRUeXBlOjpVbmtub3duIH07Ci0gICAgYm9v
bCBtX2hhc0F1ZGlvIHsgZmFsc2UgfTsKLSAgICBib29sIG1faGFzVmlkZW8geyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9tdXRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NlZWtpbmcgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzIHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KaW5kZXggM2ZmY2Yz
NmVmZTI0YjNkMDg1MGVlYTI4NmUyY2U3MjhlNGEyZmMxYS4uYTUwNzc2ZGRhYTQyNzZjMWM2ZGRl
N2U1ZGIwN2JmOThhNjdhZThmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUu
bWVzc2FnZXMuaW4KQEAgLTM1LDcgKzM1LDcgQEAgbWVzc2FnZXMgLT4gTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlIE5vdFJlZkNvdW50ZWQgewogICAgIFBsYXliYWNrU3RhdGVDaGFuZ2VkKGJvb2wg
cGF1c2VkKQogICAgIEVuZ2luZUZhaWxlZFRvTG9hZChpbnQgcGxhdGZvcm1FcnJvckNvZGUpCiAg
ICAgVXBkYXRlQ2FjaGVkU3RhdGUoc3RydWN0IFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJTdGF0
ZSBzdGF0ZSkKLSAgICBDaGFyYWN0ZXJpc3RpY0NoYW5nZWQoYm9vbCBoYXNBdWRpbywgYm9vbCBo
YXNWaWRlbywgZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9h
ZFR5cGUgbW92aWVMb2FkVHlwZSkKKyAgICBDaGFyYWN0ZXJpc3RpY0NoYW5nZWQoc3RydWN0IFdl
YktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJTdGF0ZSBzdGF0ZSkKICAgICBTaXplQ2hhbmdlZChXZWJD
b3JlOjpGbG9hdFNpemUgbmF0dXJhbFNpemUpCiAKICAgICBBZGRSZW1vdGVBdWRpb1RyYWNrKFdl
YktpdDo6VHJhY2tQcml2YXRlUmVtb3RlSWRlbnRpZmllciB0cmFja0lELCBzdHJ1Y3QgV2ViS2l0
OjpUcmFja1ByaXZhdGVSZW1vdGVDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
Q29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1v
dGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24uaAppbmRleCBkMjJiN2I5NzU5ODExODEzZjJlNjM4
NDhmNWZlNzA3MDE4MTQ5NTFmLi45ZmJmZjU5YWZjNTE5MWE5MzUxNjkyNGQ5ZWY5YWM3Mjc1N2Iy
YWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJDb25maWd1cmF0aW9uLmgKQEAgLTM1LDYgKzM1
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllckNvbmZp
Z3VyYXRpb24gewogICAgIFN0cmluZyBlbmdpbmVEZXNjcmlwdGlvbjsKKyAgICBkb3VibGUgbWF4
aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZTsKICAgICBib29sIHN1cHBvcnRzU2Nhbm5pbmcg
eyBmYWxzZSB9OwogICAgIGJvb2wgc3VwcG9ydHNGdWxsc2NyZWVuIHsgZmFsc2UgfTsKICAgICBi
b29sIHN1cHBvcnRzUGljdHVyZUluUGljdHVyZSB7IGZhbHNlIH07CkBAIC00Niw2ICs0Nyw3IEBA
IHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllckNvbmZpZ3VyYXRpb24gewogICAgIHZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgewogICAgICAgICBlbmNvZGVyIDw8IGVuZ2lu
ZURlc2NyaXB0aW9uOworICAgICAgICBlbmNvZGVyIDw8IG1heGltdW1EdXJhdGlvblRvQ2FjaGVN
ZWRpYVRpbWU7CiAgICAgICAgIGVuY29kZXIgPDwgc3VwcG9ydHNTY2FubmluZzsKICAgICAgICAg
ZW5jb2RlciA8PCBzdXBwb3J0c0Z1bGxzY3JlZW47CiAgICAgICAgIGVuY29kZXIgPDwgc3VwcG9y
dHNQaWN0dXJlSW5QaWN0dXJlOwpAQCAtNjIsNiArNjQsMTEgQEAgc3RydWN0IFJlbW90ZU1lZGlh
UGxheWVyQ29uZmlndXJhdGlvbiB7CiAgICAgICAgIGlmICghZW5naW5lRGVzY3JpcHRpb24pCiAg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCisgICAgICAgIE9wdGlvbmFsPGRvdWJs
ZT4gbWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZTsKKyAgICAgICAgZGVjb2RlciA+PiBt
YXhpbXVtRHVyYXRpb25Ub0NhY2hlTWVkaWFUaW1lOworICAgICAgICBpZiAoIW1heGltdW1EdXJh
dGlvblRvQ2FjaGVNZWRpYVRpbWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CiAgICAgICAgIE9wdGlvbmFsPGJvb2w+IHN1cHBvcnRzU2Nhbm5pbmc7CiAgICAgICAgIGRlY29k
ZXIgPj4gc3VwcG9ydHNTY2FubmluZzsKICAgICAgICAgaWYgKCFzdXBwb3J0c1NjYW5uaW5nKQpA
QCAtOTQsNiArMTAxLDcgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyQ29uZmlndXJhdGlvbiB7
CiAKICAgICAgICAgcmV0dXJuIHt7CiAgICAgICAgICAgICBXVEZNb3ZlKCplbmdpbmVEZXNjcmlw
dGlvbiksCisgICAgICAgICAgICAqbWF4aW11bUR1cmF0aW9uVG9DYWNoZU1lZGlhVGltZSwKICAg
ICAgICAgICAgICpzdXBwb3J0c1NjYW5uaW5nLAogICAgICAgICAgICAgKnN1cHBvcnRzUGljdHVy
ZUluUGljdHVyZSwKICAgICAgICAgICAgICpzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRp
YVBsYXllclN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyU3RhdGUuaAppbmRleCA0ZWRmMGE3MDZlOWIyODAyZDk1YWNmMTBhMGM4ZWYz
YmJmOThmYjc4Li40YmQ0OGJiMzdkNjU3YTdiNThmZDEwOTY4OTY4NjUyZjgwMjM4Y2UzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyU3RhdGUuaApAQCAtMzksMTIgKzM5LDMyIEBAIHN0cnVjdCBSZW1vdGVNZWRp
YVBsYXllclN0YXRlIHsKICAgICBNZWRpYVRpbWUgZHVyYXRpb247CiAgICAgTWVkaWFUaW1lIG1p
blRpbWVTZWVrYWJsZTsKICAgICBNZWRpYVRpbWUgbWF4VGltZVNlZWthYmxlOworICAgIE1lZGlh
VGltZSBzdGFydERhdGU7CisgICAgTWVkaWFUaW1lIHN0YXJ0VGltZTsKKyAgICBTdHJpbmcgbGFu
Z3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOworICAgIFN0cmluZyB3aXJlbGVzc1BsYXliYWNrVGFy
Z2V0TmFtZTsKICAgICBXZWJDb3JlOjpQbGF0Zm9ybVRpbWVSYW5nZXMgYnVmZmVyZWRSYW5nZXM7
CiAgICAgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TmV0d29ya1N0YXRlIG5ldHdvcmtTdGF0
ZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok5ldHdvcmtTdGF0ZTo6RW1wdHkgfTsKICAg
ICBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpSZWFkeVN0YXRlIHJlYWR5U3RhdGUgeyBXZWJD
b3JlOjpNZWRpYVBsYXllckVudW1zOjpSZWFkeVN0YXRlOjpIYXZlTm90aGluZyB9OworICAgIFdl
YkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGUgbW92aWVMb2FkVHlwZSB7IFdl
YkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGU6OlVua25vd24gfTsKKyAgICBX
ZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSB3aXJl
bGVzc1BsYXliYWNrVGFyZ2V0VHlwZSB7IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6OldpcmVs
ZXNzUGxheWJhY2tUYXJnZXRUeXBlOjpUYXJnZXRUeXBlTm9uZSB9OwogICAgIFdlYkNvcmU6OkZs
b2F0U2l6ZSBuYXR1cmFsU2l6ZTsKKyAgICBkb3VibGUgbWF4RmFzdEZvcndhcmRSYXRlIHsgMCB9
OworICAgIGRvdWJsZSBtaW5GYXN0UmV2ZXJzZVJhdGUgeyAwIH07CisgICAgZG91YmxlIHNlZWth
YmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUgeyAwIH07CisgICAgZG91YmxlIGxpdmVVcGRh
dGVJbnRlcnZhbCB7IDAgfTsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlcyB7IDAg
fTsKICAgICBib29sIHBhdXNlZCB7IHRydWUgfTsKICAgICBib29sIGxvYWRpbmdQcm9ncmVzc2Vk
IHsgZmFsc2UgfTsKKyAgICBib29sIGNhblNhdmVNZWRpYURhdGEgeyBmYWxzZSB9OworICAgIGJv
b2wgaGFzQXVkaW8geyBmYWxzZSB9OworICAgIGJvb2wgaGFzVmlkZW8geyBmYWxzZSB9OworICAg
IGJvb2wgaGFzQ2xvc2VkQ2FwdGlvbnMgeyBmYWxzZSB9OworICAgIGJvb2wgaGFzQXZhaWxhYmxl
VmlkZW9GcmFtZSB7IGZhbHNlIH07CisgICAgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNh
YmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbiB7IGZhbHNl
IH07CisgICAgYm9vbCBkaWRQYXNzQ09SU0FjY2Vzc0NoZWNrIHsgZmFsc2UgfTsKKyAgICBib29s
IHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24geyBmYWxzZSB9OwogCiAgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KICAgICB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dApAQCAtNTMsMTIgKzczLDMyIEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0YXRlIHsKICAg
ICAgICAgZW5jb2RlciA8PCBkdXJhdGlvbjsKICAgICAgICAgZW5jb2RlciA8PCBtaW5UaW1lU2Vl
a2FibGU7CiAgICAgICAgIGVuY29kZXIgPDwgbWF4VGltZVNlZWthYmxlOworICAgICAgICBlbmNv
ZGVyIDw8IHN0YXJ0RGF0ZTsKKyAgICAgICAgZW5jb2RlciA8PCBzdGFydFRpbWU7CisgICAgICAg
IGVuY29kZXIgPDwgbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOworICAgICAgICBlbmNvZGVy
IDw8IHdpcmVsZXNzUGxheWJhY2tUYXJnZXROYW1lOwogICAgICAgICBlbmNvZGVyIDw8IGJ1ZmZl
cmVkUmFuZ2VzOwogICAgICAgICBlbmNvZGVyLmVuY29kZUVudW0obmV0d29ya1N0YXRlKTsKICAg
ICAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHJlYWR5U3RhdGUpOworICAgICAgICBlbmNvZGVyLmVu
Y29kZUVudW0obW92aWVMb2FkVHlwZSk7CisgICAgICAgIGVuY29kZXIuZW5jb2RlRW51bSh3aXJl
bGVzc1BsYXliYWNrVGFyZ2V0VHlwZSk7CiAgICAgICAgIGVuY29kZXIgPDwgbmF0dXJhbFNpemU7
CisgICAgICAgIGVuY29kZXIgPDwgbWF4RmFzdEZvcndhcmRSYXRlOworICAgICAgICBlbmNvZGVy
IDw8IG1pbkZhc3RSZXZlcnNlUmF0ZTsKKyAgICAgICAgZW5jb2RlciA8PCBzZWVrYWJsZVRpbWVS
YW5nZXNMYXN0TW9kaWZpZWRUaW1lOworICAgICAgICBlbmNvZGVyIDw8IGxpdmVVcGRhdGVJbnRl
cnZhbDsKKyAgICAgICAgZW5jb2RlciA8PCB0b3RhbEJ5dGVzOwogICAgICAgICBlbmNvZGVyIDw8
IHBhdXNlZDsKICAgICAgICAgZW5jb2RlciA8PCBsb2FkaW5nUHJvZ3Jlc3NlZDsKKyAgICAgICAg
ZW5jb2RlciA8PCBjYW5TYXZlTWVkaWFEYXRhOworICAgICAgICBlbmNvZGVyIDw8IGhhc0F1ZGlv
OworICAgICAgICBlbmNvZGVyIDw8IGhhc1ZpZGVvOworICAgICAgICBlbmNvZGVyIDw8IGhhc0Ns
b3NlZENhcHRpb25zOworICAgICAgICBlbmNvZGVyIDw8IGhhc0F2YWlsYWJsZVZpZGVvRnJhbWU7
CisgICAgICAgIGVuY29kZXIgPDwgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQ7CisgICAg
ICAgIGVuY29kZXIgPDwgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW47CisgICAgICAgIGVuY29kZXIg
PDwgZGlkUGFzc0NPUlNBY2Nlc3NDaGVjazsKKyAgICAgICAgZW5jb2RlciA8PCByZXF1aXJlc1Rl
eHRUcmFja1JlcHJlc2VudGF0aW9uOwogICAgIH0KIAogICAgIHRlbXBsYXRlIDxjbGFzcyBEZWNv
ZGVyPgpAQCAtODQsNiArMTI0LDI2IEBAIHN0cnVjdCBSZW1vdGVNZWRpYVBsYXllclN0YXRlIHsK
ICAgICAgICAgaWYgKCFtYXhUaW1lU2Vla2FibGUpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogCisgICAgICAgIE9wdGlvbmFsPE1lZGlhVGltZT4gc3RhcnREYXRlOworICAgICAg
ICBkZWNvZGVyID4+IHN0YXJ0RGF0ZTsKKyAgICAgICAgaWYgKCFzdGFydERhdGUpCisgICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPE1lZGlhVGltZT4g
c3RhcnRUaW1lOworICAgICAgICBkZWNvZGVyID4+IHN0YXJ0VGltZTsKKyAgICAgICAgaWYgKCFz
dGFydFRpbWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9w
dGlvbmFsPFN0cmluZz4gbGFuZ3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrOworICAgICAgICBkZWNv
ZGVyID4+IGxhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjazsKKyAgICAgICAgaWYgKCFsYW5ndWFn
ZU9mUHJpbWFyeUF1ZGlvVHJhY2spCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgICAgIE9wdGlvbmFsPFN0cmluZz4gd2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWU7Cisg
ICAgICAgIGRlY29kZXIgPj4gd2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWU7CisgICAgICAgIGlm
ICghd2lyZWxlc3NQbGF5YmFja1RhcmdldE5hbWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCiAgICAgICAgIE9wdGlvbmFsPFdlYkNvcmU6OlBsYXRmb3JtVGltZVJhbmdlcz4g
YnVmZmVyZWRSYW5nZXM7CiAgICAgICAgIGRlY29kZXIgPj4gYnVmZmVyZWRSYW5nZXM7CiAgICAg
ICAgIGlmICghYnVmZmVyZWRSYW5nZXMpCkBAIC05NywxMSArMTU3LDQ0IEBAIHN0cnVjdCBSZW1v
dGVNZWRpYVBsYXllclN0YXRlIHsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVh
ZHlTdGF0ZSkpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCisgICAgICAgIFdl
YkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9hZFR5cGUgbW92aWVMb2FkVHlwZTsKKyAg
ICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0obW92aWVMb2FkVHlwZSkpCisgICAgICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51
bXM6OldpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBlIHdpcmVsZXNzUGxheWJhY2tUYXJnZXRUeXBl
OworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bSh3aXJlbGVzc1BsYXliYWNrVGFyZ2V0
VHlwZSkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgICAgIE9wdGlv
bmFsPFdlYkNvcmU6OkZsb2F0U2l6ZT4gbmF0dXJhbFNpemU7CiAgICAgICAgIGRlY29kZXIgPj4g
bmF0dXJhbFNpemU7CiAgICAgICAgIGlmICghbmF0dXJhbFNpemUpCiAgICAgICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gbWF4RmFzdEZvcndh
cmRSYXRlOworICAgICAgICBkZWNvZGVyID4+IG1heEZhc3RGb3J3YXJkUmF0ZTsKKyAgICAgICAg
aWYgKCFtYXhGYXN0Rm9yd2FyZFJhdGUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gbWluRmFzdFJldmVyc2VSYXRlOworICAgICAg
ICBkZWNvZGVyID4+IG1pbkZhc3RSZXZlcnNlUmF0ZTsKKyAgICAgICAgaWYgKCFtaW5GYXN0UmV2
ZXJzZVJhdGUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9w
dGlvbmFsPGRvdWJsZT4gc2Vla2FibGVUaW1lUmFuZ2VzTGFzdE1vZGlmaWVkVGltZTsKKyAgICAg
ICAgZGVjb2RlciA+PiBzZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lOworICAgICAg
ICBpZiAoIXNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUpCisgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlvbmFsPGRvdWJsZT4gbGl2ZVVwZGF0
ZUludGVydmFsOworICAgICAgICBkZWNvZGVyID4+IGxpdmVVcGRhdGVJbnRlcnZhbDsKKyAgICAg
ICAgaWYgKCFsaXZlVXBkYXRlSW50ZXJ2YWwpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworCisgICAgICAgIE9wdGlvbmFsPHVuc2lnbmVkIGxvbmcgbG9uZz4gdG90YWxCeXRlczsK
KyAgICAgICAgZGVjb2RlciA+PiB0b3RhbEJ5dGVzOworICAgICAgICBpZiAoIXRvdGFsQnl0ZXMp
CisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgICAgIE9wdGlvbmFsPGJv
b2w+IHBhdXNlZDsKICAgICAgICAgZGVjb2RlciA+PiBwYXVzZWQ7CiAgICAgICAgIGlmICghcGF1
c2VkKQpAQCAtMTEyLDE3ICsyMDUsODMgQEAgc3RydWN0IFJlbW90ZU1lZGlhUGxheWVyU3RhdGUg
ewogICAgICAgICBpZiAoIWxvYWRpbmdQcm9ncmVzc2VkKQogICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKIAorICAgICAgICBPcHRpb25hbDxib29sPiBjYW5TYXZlTWVkaWFEYXRhOwor
ICAgICAgICBkZWNvZGVyID4+IGNhblNhdmVNZWRpYURhdGE7CisgICAgICAgIGlmICghY2FuU2F2
ZU1lZGlhRGF0YSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAg
T3B0aW9uYWw8Ym9vbD4gaGFzQXVkaW87CisgICAgICAgIGRlY29kZXIgPj4gaGFzQXVkaW87Cisg
ICAgICAgIGlmICghaGFzQXVkaW8pCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc1ZpZGVvOworICAgICAgICBkZWNvZGVyID4+IGhh
c1ZpZGVvOworICAgICAgICBpZiAoIWhhc1ZpZGVvKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgICAgICBPcHRpb25hbDxib29sPiBoYXNDbG9zZWRDYXB0aW9uczsKKyAg
ICAgICAgZGVjb2RlciA+PiBoYXNDbG9zZWRDYXB0aW9uczsKKyAgICAgICAgaWYgKCFoYXNDbG9z
ZWRDYXB0aW9ucykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAg
T3B0aW9uYWw8Ym9vbD4gaGFzQXZhaWxhYmxlVmlkZW9GcmFtZTsKKyAgICAgICAgZGVjb2RlciA+
PiBoYXNBdmFpbGFibGVWaWRlb0ZyYW1lOworICAgICAgICBpZiAoIWhhc0F2YWlsYWJsZVZpZGVv
RnJhbWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIE9wdGlv
bmFsPGJvb2w+IHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOworICAgICAgICBkZWNvZGVy
ID4+IHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOworICAgICAgICBpZiAoIXdpcmVsZXNz
VmlkZW9QbGF5YmFja0Rpc2FibGVkKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworICAgICAgICBPcHRpb25hbDxib29sPiBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKKyAgICAg
ICAgZGVjb2RlciA+PiBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbjsKKyAgICAgICAgaWYgKCFoYXNT
aW5nbGVTZWN1cml0eU9yaWdpbikKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICAgICAgT3B0aW9uYWw8Ym9vbD4gZGlkUGFzc0NPUlNBY2Nlc3NDaGVjazsKKyAgICAgICAg
ZGVjb2RlciA+PiBkaWRQYXNzQ09SU0FjY2Vzc0NoZWNrOworICAgICAgICBpZiAoIWRpZFBhc3ND
T1JTQWNjZXNzQ2hlY2spCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAg
ICAgIE9wdGlvbmFsPGJvb2w+IHJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb247CisgICAg
ICAgIGRlY29kZXIgPj4gcmVxdWlyZXNUZXh0VHJhY2tSZXByZXNlbnRhdGlvbjsKKyAgICAgICAg
aWYgKCFyZXF1aXJlc1RleHRUcmFja1JlcHJlc2VudGF0aW9uKQorICAgICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKwogICAgICAgICByZXR1cm4ge3sKICAgICAgICAgICAgIFdURk1vdmUo
KmN1cnJlbnRUaW1lKSwKICAgICAgICAgICAgIFdURk1vdmUoKmR1cmF0aW9uKSwKICAgICAgICAg
ICAgIFdURk1vdmUoKm1pblRpbWVTZWVrYWJsZSksCiAgICAgICAgICAgICBXVEZNb3ZlKCptYXhU
aW1lU2Vla2FibGUpLAorICAgICAgICAgICAgV1RGTW92ZSgqc3RhcnREYXRlKSwKKyAgICAgICAg
ICAgIFdURk1vdmUoKnN0YXJ0VGltZSksCisgICAgICAgICAgICBXVEZNb3ZlKCpsYW5ndWFnZU9m
UHJpbWFyeUF1ZGlvVHJhY2spLAorICAgICAgICAgICAgV1RGTW92ZSgqd2lyZWxlc3NQbGF5YmFj
a1RhcmdldE5hbWUpLAogICAgICAgICAgICAgV1RGTW92ZSgqYnVmZmVyZWRSYW5nZXMpLAogICAg
ICAgICAgICAgbmV0d29ya1N0YXRlLAogICAgICAgICAgICAgcmVhZHlTdGF0ZSwKKyAgICAgICAg
ICAgIG1vdmllTG9hZFR5cGUsCisgICAgICAgICAgICB3aXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlw
ZSwKICAgICAgICAgICAgIFdURk1vdmUoKm5hdHVyYWxTaXplKSwKKyAgICAgICAgICAgICptYXhG
YXN0Rm9yd2FyZFJhdGUsCisgICAgICAgICAgICAqbWluRmFzdFJldmVyc2VSYXRlLAorICAgICAg
ICAgICAgKnNlZWthYmxlVGltZVJhbmdlc0xhc3RNb2RpZmllZFRpbWUsCisgICAgICAgICAgICAq
bGl2ZVVwZGF0ZUludGVydmFsLAorICAgICAgICAgICAgKnRvdGFsQnl0ZXMsCiAgICAgICAgICAg
ICAqcGF1c2VkLAotICAgICAgICAgICAgKmxvYWRpbmdQcm9ncmVzc2VkIH19OworICAgICAgICAg
ICAgKmxvYWRpbmdQcm9ncmVzc2VkLAorICAgICAgICAgICAgKmNhblNhdmVNZWRpYURhdGEsCisg
ICAgICAgICAgICAqaGFzQXVkaW8sCisgICAgICAgICAgICAqaGFzVmlkZW8sCisgICAgICAgICAg
ICAqaGFzQ2xvc2VkQ2FwdGlvbnMsCisgICAgICAgICAgICAqaGFzQXZhaWxhYmxlVmlkZW9GcmFt
ZSwKKyAgICAgICAgICAgICp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCwKKyAgICAgICAg
ICAgICpoYXNTaW5nbGVTZWN1cml0eU9yaWdpbiwKKyAgICAgICAgICAgICpkaWRQYXNzQ09SU0Fj
Y2Vzc0NoZWNrLAorICAgICAgICAgICAgKnJlcXVpcmVzVGV4dFRyYWNrUmVwcmVzZW50YXRpb24s
CisgICAgICAgIH19OwogICAgIH0KIAogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNzFjYWZhMzA1YTAzZmQxNjNiZTRk
OTRmMjcxMWIwOTZjNmY1NTk5Li5lNDY0OWVmMmU2ZTQ0OGQ1OGNjN2FjZjMzZGE5ZjUxYjFhZDYy
ZDk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDItMjkgIEVyaWMgQ2FybHNvbiAgPGVy
aWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFBsdW1iIHRocm91Z2ggbW9y
ZSBNZWRpYVBsYXllciBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDg0MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5OTI0Mzg2Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZ3B1LXBy
b2Nlc3MvVGVzdEV4cGVjdGF0aW9uczogVW5za2lwIH4xMjAwIG1lZGlhIHRlc3RzLgorCiAyMDIw
LTAyLTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
RmxvYXRzXSBGbG9hdGluZ1N0YXRlOjp0b3Agc2hvdWxkIHJldHVybiB0b3Btb3N0IGxvZ2ljYWwg
dmVydGljYWwgcG9zaXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9ncHUtcHJvY2Vzcy9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDY0ODQ4MTM2Yzc0NjMwOGVlY2ZmZTNmNWU2NWM4NzEwOTBhOTlhZDkuLjk5NDlhODEw
MDFjNWEyYjQwYTU5ZWU3YTJiODM3MTcyODg2MzVkMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2dwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvZ3B1LXByb2Nl
c3MvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTc4LDY3ICsxNzgsMjA5IEBAIGltcG9ydGVkL2JsaW5r
L2NvbXBvc2l0aW5nIFsgU2tpcCBdCiBsZWdhY3ktYW5pbWF0aW9uLWVuZ2luZS9pbXBvcnRlZC9i
bGluay9jb21wb3NpdGluZy9zcXVhc2hpbmcvcmVtb3ZlLWZyb20tZ3JvdXBlZC1tYXBwaW5nLW9u
LXJlYXNzaWdubWVudC5odG1sIFsgU2tpcCBdCiBpbnNwZWN0b3IvbGF5ZXJzL2xheWVycy1jb21w
b3NpdGluZy1yZWFzb25zLmh0bWwgWyBTa2lwIF0KIAotbWVkaWEgWyBTa2lwIF0KLW1lZGlhL21l
ZGlhLWNvbnRyb2xsZXIuaHRtbCBbIFBhc3MgXQotbWVkaWEvbWVkaWEtcHJlbG9hZC1uby1kZWxh
eS1sb2FkZXZlbnQuaHRtbCBbIFBhc3MgXQotbWVkaWEvdmlkZW8tc3JjLmh0bWwgWyBQYXNzIF0K
LW1lZGlhL3ZpZGVvLXNyYy1ibG9iLXVzaW5nLW9wZW4tcGFuZWwuaHRtbCBbIFBhc3MgXQotbWVk
aWEvdmlkZW8tc291cmNlLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLWFzLXZpZGVvLWZ1bGxz
Y3JlZW4uaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tYmFja2dyb3VuZC1wbGF5YmFjay1wbGF5
bGlzdC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1jb25jdXJyZW50LXN1cHBvcnRlZC5odG1s
IFsgUGFzcyBdCi1tZWRpYS9hdWRpby1jb25zdHJ1Y3Rvci1wcmVsb2FkLmh0bWwgWyBQYXNzIF0K
LW1lZGlhL2F1ZGlvLWNvbnN0cnVjdG9yLXNyYy5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1j
b25zdHJ1Y3Rvci5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1jb250cm9scy1kby1ub3QtZmFk
ZS1vdXQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tY29udHJvbHMtdGltZWxpbmUtaW4tbWVk
aWEtZG9jdW1lbnQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tZGVhbGxvYy1jcmFzaC5odG1s
IFsgUGFzcyBdCi1tZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc2xpZGVyLXRodW1iLWNsaWNrZWQu
aHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tZ2FyYmFnZS1jb2xsZWN0Lmh0bWwgWyBQYXNzIF0K
LW1lZGlhL2F1ZGlvLW1wZWctc3VwcG9ydGVkLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLW1w
ZWc0LXN1cHBvcnRlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1uby1pbnN0YWxsZWQtZW5n
aW5lcy5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1vbmx5LXZpZGVvLWludHJpbnNpYy1zaXpl
Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXktZXZlbnQuaHRtbCBbIFBhc3MgXQotbWVk
aWEvYXVkaW8tcGxheS13aXRoLXZpZGVvLWVsZW1lbnQuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVk
aW8tcGxheS5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1h
dXRvcGxheS5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFjay1yZXN0cmljdGlvbi1w
bGF5LW11dGVkLmh0bWwgWyBQYXNzIF0KLW1lZGlhL2F1ZGlvLXBsYXliYWNrLXJlc3RyaWN0aW9u
LXBsYXkuaHRtbCBbIFBhc3MgXQotbWVkaWEvYXVkaW8tcGxheWJhY2stcmVzdHJpY3Rpb24tcmVt
b3ZlZC1tdXRlZC5odG1sIFsgUGFzcyBdCi1tZWRpYS9hdWRpby1wbGF5YmFjay12b2x1bWUtY2hh
bmdlcy13aXRoLXJlc3RyaWN0aW9ucy1hbmQtdXNlci1nZXN0dXJlcy5odG1sIFsgUGFzcyBdCi1t
ZWRpYS9hdWRpby1wbGF5YmFjay12b2x1bWUtY2hhbmdlcy13aXRoLXJlc3RyaWN0aW9ucy5odG1s
IFsgUGFzcyBdCi1tZWRpYS9kZWFjdGl2YXRlLWF1ZGlvLXNlc3Npb24uaHRtbCBbIFBhc3MgXQot
bWVkaWEvbWVkaWEtY2FuLXBsYXktbXBlZy1hdWRpby5odG1sIFsgUGFzcyBdCi1tZWRpYS9tZWRp
YS1jYW4tcGxheS13YXYtYXVkaW8uaHRtbCBbIFBhc3MgXQotbWVkaWEvbWVkaWEtZG9jdW1lbnQt
YXVkaW8tY29udHJvbHMtdmlzaWJsZS5odG1sIFsgUGFzcyBdCi1tZWRpYS9tZWRpYS1kb2N1bWVu
dC1hdWRpby1yZXBhaW50Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL21lZGlhLWRvY3VtZW50LWF1ZGlv
LXNpemUuaHRtbCBbIFBhc3MgXQotbWVkaWEvbXV0ZWQtdmlkZW8taXMtcGxheWluZy1hdWRpby5o
dG1sIFsgUGFzcyBdCi1tZWRpYS9yZXN0cmljdGVkLWF1ZGlvLXBsYXliYWNrLXdpdGgtZG9jdW1l
bnQtZ2VzdHVyZS5odG1sIFsgUGFzcyBdCi1tZWRpYS9yZXN0cmljdGVkLWF1ZGlvLXBsYXliYWNr
LXdpdGgtbXVsdGlwbGUtc2V0dGltZW91dHMuaHRtbCBbIFBhc3MgXQotbWVkaWEvdmlkZW8tY29u
dHJvbHMtdmlzaWJsZS1hdWRpby1vbmx5Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL3ZpZGVvLXBsYXkt
YXVkaW8tcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svYXVk
aW8tdHJhY2suaHRtbCBbIFBhc3MgXQotbWVkaWEvdHJhY2svdmlkZW8tdHJhY2stYWRkLXJlbW92
ZS5odG1sIFsgUGFzcyBdCi1tZWRpYS90cmFjay92aWRlby10cmFjay1hbHRlcm5hdGUtZ3JvdXBz
Lmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3ZpZGVvLXRyYWNrLWFkZGl0aW9uLWFuZC1mcmFt
ZS1yZW1vdmFsLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3ZpZGVvLXRyYWNrLmh0bWwgWyBQ
YXNzIF0KIAotbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC5odG1sIFsgUGFzcyBdCittZWRpYS9h
aXJwbGF5LWFsbG93cy1idWZmZXJpbmcuaHRtbCBbIFNraXAgXQorbWVkaWEvYWlycGxheS1hdXRv
cGxheS5odG1sIFsgU2tpcCBdCittZWRpYS9hdWRpby1iYWNrZ3JvdW5kLXBsYXliYWNrLXBsYXls
aXN0Lmh0bWwgWyBTa2lwIF0KK21lZGlhL2F1ZGlvLWNvbnRyb2xzLXJlbmRlcmluZy5odG1sIFsg
U2tpcCBdCittZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc3RlcC1idXR0b24tY2xpY2tlZC5odG1s
IFsgU2tpcCBdCittZWRpYS9hdWRpby1yZXBhaW50Lmh0bWwgWyBTa2lwIF0KK21lZGlhL2NsaWNr
LXBsYWNlaG9sZGVyLW5vdC1wYXVzaW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRleHQtbWVu
dS1hY3Rpb25zLmh0bWwgWyBTa2lwIF0KK21lZGlhL2NvbnRyb2xzLXN0cmljdC5odG1sIFsgU2tp
cCBdCittZWRpYS9jb250cm9scy1zdHlsaW5nLXN0cmljdC5odG1sIFsgU2tpcCBdCittZWRpYS9j
b250cm9scy13aXRob3V0LXByZWxvYWQuaHRtbCBbIFNraXAgXQorbWVkaWEvY29udHJvbHMvYWly
cGxheS1jb250cm9scy5odG1sIFsgU2tpcCBdCittZWRpYS9jb250cm9scy9pbmxpbmUtZWxlbWVu
dHMtZHJvcG9mZi1vcmRlci5odG1sIFsgU2tpcCBdCittZWRpYS9jb250cm9scy9waWN0dXJlLWlu
LXBpY3R1cmUuaHRtbCBbIFNraXAgXQorbWVkaWEvY29udHJvbHMvcGlwLXBsYWNlaG9sZGVyLXdp
dGhvdXQtdmlkZW8tY29udHJvbHMuaHRtbCBbIFNraXAgXQorbWVkaWEvZGVhY3RpdmF0ZS1hdWRp
by1zZXNzaW9uLmh0bWwgWyBTa2lwIF0KK21lZGlhL2VsZW1lbnQtY29udGFpbmluZy1waXAtdmlk
ZW8tZ29pbmctaW50by1mdWxsc2NyZWVuLmh0bWwgWyBTa2lwIF0KK21lZGlhL2Z1bGxzY3JlZW4t
YXBpLWVuYWJsZWQtbWVkaWEtd2l0aC1wcmVzZW50YXRpb24tbW9kZS5odG1sIFsgU2tpcCBdCisK
K21lZGlhL2VuY3J5cHRlZC1tZWRpYS9jbGVhcktleSBbIFNraXAgXQorCittZWRpYS9lbmNyeXB0
ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLWV2ZW50cy5odG1sIFsgU2tpcCBdCittZWRpYS9lbmNy
eXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLW5vdC1sb2FkZWQuaHRtbCBbIFNraXAgXQorbWVk
aWEvZW5jcnlwdGVkLW1lZGlhL2VuY3J5cHRlZC1tZWRpYS1zeW50YXguaHRtbCBbIFNraXAgXQor
bWVkaWEvZW5jcnlwdGVkLW1lZGlhL21vY2stTWVkaWFLZXlTZXNzaW9uLXJlbW92ZS5odG1sIFsg
U2tpcCBdCittZWRpYS9lbmNyeXB0ZWQtbWVkaWEvbW9jay1NZWRpYUtleVN5c3RlbUFjY2Vzcy5o
dG1sIFsgU2tpcCBdCisKK21lZGlhL2lvcy92aWRlby12b2x1bWUtaW9zLXF1aXJrLmh0bWwgWyBT
a2lwIF0KK21lZGlhL21lZGlhLWNhbi1wbGF5LWZsYWMtYXVkaW8uaHRtbCBbIFNraXAgXQorbWVk
aWEvbWVkaWEtY2FuLXBsYXktb2dnLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWNvbnRyb2xz
LWludmFsaWQtdXJsLmh0bWwgWyBTa2lwIF0KK21lZGlhL21lZGlhLWNvbnRyb2xzLXBsYXktYnV0
dG9uLXVwZGF0ZXMuaHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtZnVsbHNjcmVlbi1sb29wLWlu
bGluZS5odG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXBhdXNlLWlubGluZS5o
dG1sIFsgU2tpcCBdCittZWRpYS9tZWRpYS1mdWxsc2NyZWVuLXJldHVybi10by1pbmxpbmUuaHRt
bCBbIFNraXAgXQorbWVkaWEvbWVkaWEtaGlnaGVyLXByaW8tYXVkaW8tc3RyZWFtLmh0bWwgWyBT
a2lwIF0KKworbWVkaWEvbWVkaWEtc291cmNlIFsgU2tpcCBdCisKK21lZGlhL21lZGlhLXZvbHVt
ZS1zbGlkZXItcmVuZGVyZWQtYmVsb3cuaHRtbCBbIFNraXAgXQorbWVkaWEvbWVkaWEtdm9sdW1l
LXNsaWRlci1yZW5kZXJlZC1ub3JtYWwuaHRtbCBbIFNraXAgXQorCittZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvYWlycGxheS1zdXBwb3J0L2FpcnBsYXktc3VwcG9ydC5odG1sIFsgU2tpcCBd
CittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvYXVkaW8vYXVkaW8tY29udHJvbHMtc3R5bGVz
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy12aXNp
YmlsaXR5LXN1cHBvcnQvY29udHJvbHMtdmlzaWJpbGl0eS1zdXBwb3J0LWZ1bGxzY3JlZW4tb24t
dmlkZW8uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2lvcy1pbmxp
bmUtbWVkaWEtY29udHJvbHMvaW9zLWlubGluZS1tZWRpYS1jb250cm9scy1jb25zdHJ1Y3Rvci5o
dG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxl
ci9pb3MvbWVkaWEtY29udHJvbGxlci1pb3MtZG8tbm90LWhpZGUtY29udHJvbHMtd2hlbi10YXBw
aW5nLWJ1dHRvbi5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVk
aWEtY29udHJvbGxlci9pb3MvbWVkaWEtY29udHJvbGxlci1pb3MtbGF5b3V0LXRyYWl0cy1tb2Rl
cm4tY29tcGF0aWJpbGl0eS1tb2RlLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS1jb250cm9sbGVyL2lvcy9tZWRpYS1jb250cm9sbGVyLWlvcy1vbmx5LWVu
YWJsZS10YXAtZ2VzdHVyZS1yZWNvZ25pemVyLXdpdGgtZmFkZXMtd2hlbi1pZGxlLmh0bWwgWyBT
a2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL2lvcy9t
ZWRpYS1jb250cm9sbGVyLXNjYWxlLWZhY3Rvci1hdWRpby5odG1sIFsgU2tpcCBdCittZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9pb3MvbWVkaWEtY29udHJvbGxl
ci1zY2FsZS1mYWN0b3IuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L21lZGlhLWNvbnRyb2xsZXIvaW9zL21lZGlhLWNvbnRyb2xsZXItc3RvcC11cGRhdGVzLWluLWZ1
bGxzY3JlZW4uaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
LWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtbW91c2UtZW50ZXItb3Zlci1j
b250cm9scy1iYXIuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21l
ZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1mYWRlLWNvbnRyb2xzLXdoZW4tZW50ZXJp
bmctZnVsbHNjcmVlbi5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWZ1bGxzY3JlZW4tY2hhbmdlLmh0bWwg
WyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21l
ZGlhLWNvbnRyb2xsZXItaW5saW5lLXRvLWZ1bGxzY3JlZW4tdG8taW5saW5lLmh0bWwgWyBTa2lw
IF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNv
bnRyb2xsZXItaW5saW5lLXRvLWZ1bGxzY3JlZW4tdG8tcGlwLXRvLWlubGluZS5odG1sIFsgU2tp
cCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1j
b250cm9sbGVyLXZpZGVvLXdpdGgtb25seS1hdWRpby5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvbWVkaWEtZG9jdW1lbnRzL2JhY2tncm91bmQtY29sb3ItYW5kLWNl
bnRlcmluZy5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEt
ZG9jdW1lbnRzL21lZGlhLWRvY3VtZW50LWF1ZGlvLWlvcy1zaXppbmcuaHRtbCBbIFNraXAgXQor
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWRvY3VtZW50cy9tZWRpYS1kb2N1bWVu
dC12aWRlby1pcGhvbmUtc2l6aW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1j
b250cm9scy9waXAtc3VwcG9ydC9waXAtc3VwcG9ydC1jbGljay5odG1sIFsgU2tpcCBdCittZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1cHBvcnQvcGlwLXN1cHBvcnQtZW5hYmxlZC5o
dG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGxhY2FyZC1zdXBwb3J0
L2lwYWQvcGxhY2FyZC1zdXBwb3J0LXBpcC5odG1sIFsgU2tpcCBdCittZWRpYS9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvcGxhY2FyZC1zdXBwb3J0L3BsYWNhcmQtc3VwcG9ydC1haXJwbGF5LWZ1bGxz
Y3JlZW4tbm8tY29udHJvbHMuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL3BsYWNhcmQtc3VwcG9ydC9wbGFjYXJkLXN1cHBvcnQtYWlycGxheS1mdWxsc2NyZWVuLmh0
bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9wbGFjYXJkLXN1cHBvcnQv
cGxhY2FyZC1zdXBwb3J0LWFpcnBsYXkuaHRtbCBbIFNraXAgXQorbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL3BsYWNhcmQtc3VwcG9ydC9wbGFjYXJkLXN1cHBvcnQtcGlwLmh0bWwgWyBTa2lw
IF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9zY3J1YmJlci1zdXBwb3J0L2lwYWQvc2Ny
dWJiZXItc3VwcG9ydC1kcmFnLmh0bWwgWyBTa2lwIF0KK21lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9zdGFydC1zdXBwb3J0L3N0YXJ0LXN1cHBvcnQtZnVsbHNjcmVlbi5odG1sIFsgU2tpcCBd
CittZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdHJhY2tzLXN1cHBvcnQvdHJhY2tzLXN1cHBv
cnQtb2ZmLXRleHQtdHJhY2suaHRtbCBbIFNraXAgXQorCittZWRpYS9tdXRlZC12aWRlby1pcy1w
bGF5aW5nLWF1ZGlvLmh0bWwgWyBTa2lwIF0KK21lZGlhL25hdmlnYXRlLXdpdGgtcGlwLXNob3Vs
ZC1ub3QtY3Jhc2guaHRtbCBbIFNraXAgXQorbWVkaWEvcGljdHVyZS1pbi1waWN0dXJlL3BpY3R1
cmUtaW4tcGljdHVyZS1hcGktY3NzLXNlbGVjdG9yLmh0bWwgWyBTa2lwIF0KK21lZGlhL3BpY3R1
cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBpY3R1cmUtYXBpLWVudGVyLXBpcC00Lmh0bWwgWyBT
a2lwIF0KK21lZGlhL3BpY3R1cmUtaW4tcGljdHVyZS9waWN0dXJlLWluLXBpY3R1cmUtYXBpLWV2
ZW50cy5odG1sIFsgU2tpcCBdCittZWRpYS9waWN0dXJlLWluLXBpY3R1cmUvcGljdHVyZS1pbi1w
aWN0dXJlLWFwaS1leGl0LXBpcC0xLmh0bWwgWyBTa2lwIF0KK21lZGlhL3BpY3R1cmUtaW4tcGlj
dHVyZS9waWN0dXJlLWluLXBpY3R1cmUtYXBpLXBpcC13aW5kb3cuaHRtbCBbIFNraXAgXQorbWVk
aWEvcGljdHVyZS1pbi1waWN0dXJlL3BpY3R1cmUtaW4tcGljdHVyZS1pbnRlcnJ1cHRpb24uaHRt
bCBbIFNraXAgXQorbWVkaWEvcGlwLXZpZGVvLWdvaW5nLWludG8tZnVsbHNjcmVlbi5odG1sIFsg
U2tpcCBdCittZWRpYS9wcmVzZW50YXRpb25tb2RlY2hhbmdlZC1maXJlZC1vbmNlLmh0bWwgWyBT
a2lwIF0KK21lZGlhL3Byb2dyZXNzLWV2ZW50cy1nZW5lcmF0ZWQtY29ycmVjdGx5Lmh0bWwgWyBT
a2lwIF0KK21lZGlhL3JlbW90ZXBsYXliYWNrLXByb21wdC5odG1sIFsgU2tpcCBdCisKK21lZGlh
L3Nlc3Npb24gWyBTa2lwIF0KKworbWVkaWEvdHJhY2svYXVkaW8vYXVkaW8tdHJhY2stbWt2LXZv
cmJpcy1hZGR0cmFjay5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9hdWRpby9hdWRpby10cmFj
ay1ta3Ytdm9yYmlzLWVuYWJsZWQuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svYXVkaW8vYXVk
aW8tdHJhY2stbWt2LXZvcmJpcy1sYW5ndWFnZS5odG1sIFsgU2tpcCBdCisKK21lZGlhL3RyYWNr
L2luLWJhbmQgWyBTa2lwIF0KKworbWVkaWEvdHJhY2svb3BlcmEvaWRsL21lZGlhLWlkbC10ZXN0
cy5odG1sIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL3JlZ2lvbnMtd2VidnR0L3Z0dC1yZWdpb24t
ZGlzcGxheS5odG1sIFsgU2tpcCBdCisKK21lZGlhL3RyYWNrL3RleHR0cmFja2N1ZS90ZXh0dHJh
Y2tjdWUtZGlzcGxheWN1ZS5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay90cmFjay1jdWUtY3Nz
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLmh0bWwgWyBTa2lw
IF0KK21lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctdmVydGljYWwuaHRtbCBbIFNraXAg
XQorbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy5odG1sIFsgU2tpcCBdCittZWRpYS90
cmFjay90cmFjay1jdWVzLXBhdXNlLW9uLWV4aXQuaHRtbCAgWyBTa2lwIF0KK21lZGlhL3RyYWNr
L3RyYWNrLWZvcmNlZC1zdWJ0aXRsZXMtaW4tYmFuZC5odG1sIFsgU2tpcCBdCittZWRpYS90cmFj
ay90cmFjay1pbi1iYW5kLW1vZGUuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdHJhY2staW4t
YmFuZC1zdWJ0aXRsZXMtdG9vLWxhcmdlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3RyYWNr
LWxvbmctd29yZC1jb250YWluZXItc2l6aW5nLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3Ry
YWNrLXByZWZlci1jYXB0aW9ucy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay90cmFjay11c2Vy
LXByZWZlcmVuY2VzLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL3ZpZGVvL3ZpZGVvLXRyYWNr
LW1rdi10aGVvcmEtYWRkdHJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svdmlkZW8vdmlk
ZW8tdHJhY2stbWt2LXRoZW9yYS1sYW5ndWFnZS5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay92
aWRlby92aWRlby10cmFjay1ta3YtdGhlb3JhLXNlbGVjdGVkLmh0bWwgWyBTa2lwIF0KK21lZGlh
L3RyYWNrL3czYy9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS9hbGlnbi5odG1sIFsgU2tpcCBdCitt
ZWRpYS90cmFjay93M2MvdHJhY2svd2VidnR0L2F1ZGlvX2hhc19ub19zdWJ0aXRsZXMuaHRtbCBb
IFNraXAgXQorbWVkaWEvdHJhY2svdzNjL3RyYWNrL3dlYnZ0dC9hdWRpb19oYXNfbm9fc3VidGl0
bGVzLmh0bWwgWyBTa2lwIF0KKworbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9IVE1MRWxl
bWVudC9IVE1MTWVkaWFFbGVtZW50L2Nyb3NzT3JpZ2luLmh0bWwgWyBTa2lwIF0KK21lZGlhL3Ry
YWNrL29wZXJhL2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRNTFRyYWNrRWxlbWVudC9raW5kLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL2ludGVyZmFjZXMvSFRNTEVsZW1lbnQvSFRN
TFRyYWNrRWxlbWVudC9zcmMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJm
YWNlcy9UZXh0VHJhY2tDdWUvZ2V0Q3VlQXNIVE1MLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNr
L29wZXJhL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2xpbmUuaHRtbCBbIFNraXAgXQorbWVkaWEv
dHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvc25hcFRvTGluZXMuaHRtbCBbIFNr
aXAgXQorbWVkaWEvdHJhY2svb3BlcmEvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvdGV4dC5odG1s
IFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS9pbnRlcmZhY2VzL1RleHRUcmFja0N1ZS92ZXJ0
aWNhbC5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2lu
Zy1jdWUtZGF0YS90ZXN0cy9lbnRpdGllcy5odG1sIFsgU2tpcCBdCittZWRpYS90cmFjay9vcGVy
YS90cmFjay93ZWJ2dHQvcGFyc2luZy1jdWUtZGF0YS90ZXN0cy90YWdzLmh0bWwgWyBTa2lwIF0K
K21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9wYXJzaW5nLWN1ZS1kYXRhL3Rlc3RzL3Rp
bWVzdGFtcHMuaHRtbCBbIFNraXAgXQorbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3Bh
cnNpbmctY3VlLWRhdGEvdGVzdHMvdHJlZS1idWlsZGluZy5odG1sIFsgU2tpcCBdCittZWRpYS90
cmFjay9vcGVyYS90cmFjay93ZWJ2dHQvcGFyc2luZy8wMDEuaHRtbCBbIFNraXAgXQorbWVkaWEv
dHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3JlbmRlcmluZy9hZGhvYy8xMjM0NV90aW1lc3RhbXBz
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcv
YWRob2MvY3VlX2ZvbnRfc2l6ZV90cmFuc2l0aW9uLmh0bWwgWyBTa2lwIF0KK21lZGlhL3RyYWNr
L29wZXJhL3RyYWNrL3dlYnZ0dC9yZW5kZXJpbmcvYWRob2Mvdm9pY2Vfd2l0aF9ldmlsX3RpbWVz
dGFtcC5odG1sIFsgU2tpcCBdCisKK21lZGlhL3ZpZGVvLWJhY2tncm91bmQtcGxheWJhY2suaHRt
bCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY2FudmFzLWNyZWF0ZVBhdHRlcm4uaHRtbCBbIFNraXAg
XQorbWVkaWEvdmlkZW8tY2FudmFzLWRyYXdpbmctb3V0cHV0Lmh0bWwgWyBTa2lwIF0KK21lZGlh
L3ZpZGVvLWNhbnZhcy5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb2xvcnNwYWNlLXl1djQy
MC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb2xvcnNwYWNlLXl1djQyMi5odG1sIFsgU2tp
cCBdCittZWRpYS92aWRlby1jb25jdXJyZW50LXBsYXliYWNrLmh0bWwgWyBTa2lwIF0KK21lZGlh
L3ZpZGVvLWNvbmN1cnJlbnQtdmlzaWJsZS1wbGF5YmFjay5odG1sIFsgU2tpcCBdCittZWRpYS92
aWRlby1jb250cm9sbGVyLWNoaWxkLXJhdGUuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29u
dHJvbHMtY2FwdGlvbnMtdHJhY2ttZW51LWhpZGUtb24tY2xpY2stb3V0c2lkZS5odG1sIFsgU2tp
cCBdCittZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUtaGlkZS1vbi1jbGlj
ay5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb250cm9scy1jYXB0aW9ucy10cmFja21lbnUt
aW5jbHVkZXMtZW5hYmxlZC10cmFjay5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1jb250cm9s
cy1jYXB0aW9ucy10cmFja21lbnUuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMt
Y2FwdGlvbnMuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtZnVsbHNjcmVlbi12
b2x1bWUuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtbm8tc2NyaXB0aW5nLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLWNvbnRyb2xzLXNob3ctb24ta2Itb3ItYXgtZXZlbnQu
aHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tY29udHJvbHMtdG9nZ2xpbmcuaHRtbCBbIFNraXAg
XQorbWVkaWEvdmlkZW8tZG9lcy1ub3QtbG9vcC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1l
cnJvci1kb2VzLW5vdC1leGlzdC5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1mdWxsc2NyZWVu
LW9ubHktcGxheWJhY2suaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8taW5hY3RpdmUtcGxheWJh
Y2suaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8taXNwbGF5aW5ndG9hdXRvbW90aXZlaGVhZHVu
aXQuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWFsbG93LXRoZW4tZGVu
eS5odG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1tYWluLWNvbnRlbnQtYWxsb3ctdGhlbi1zY3Jv
bGwuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tbWFpbi1jb250ZW50LWFsbG93Lmh0bWwgWyBT
a2lwIF0KK21lZGlhL3ZpZGVvLW1haW4tY29udGVudC1hdXRvcGxheS5odG1sIFsgU2tpcCBdCitt
ZWRpYS92aWRlby1tdWx0aXBsZS1jb25jdXJyZW50LXBsYXliYWNrLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL3ZpZGVvLW9iamVjdC1maXQtY2hhbmdlLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW9y
aWVudGF0aW9uLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLW9yaWVudGF0aW9uLWNhbnZhcy5o
dG1sIFsgU2tpcCBdCittZWRpYS92aWRlby1wbGF5LWF1ZGlvLXJlcXVpcmUtdXNlci1nZXN0dXJl
Lmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXBsYXliYWNrLXJlc3RyaWN0aW9uLXBsYXktYmVm
b3JlLWxvYWQuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tcGxheWluZy1hbmQtcGF1c2UuaHRt
bCBbIFNraXAgXQorbWVkaWEvdmlkZW8tcGxheXNpbmxpbmUuaHRtbCBbIFNraXAgXQorbWVkaWEv
dmlkZW8tcmVzdHJpY3RlZC1pbnZpc2libGUtYXV0b3BsYXktYWxsb3dlZC1pZi1hdWRpYmxlLmh0
bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXNpemUtaW50cmluc2ljLXNjYWxlLmh0bWwgWyBTa2lw
IF0KK21lZGlhL3ZpZGVvLXNyYy1ibG9iLmh0bWwgWyBTa2lwIF0KK21lZGlhL3ZpZGVvLXRyYW5z
Zm9ybWVkLWJ5LWphdmFzY3JpcHQuaHRtbCBbIFNraXAgXQorbWVkaWEvdmlkZW8tdW5tdXRlZC1h
ZnRlci1wbGF5LWhvbGRzLXNsZWVwLWFzc2VydGlvbi5odG1sIFsgU2tpcCBdCittZWRpYS92aWRl
by13ZWJraXQtcGxheXNpbmxpbmUuaHRtbCBbIFNraXAgXQorCittZWRpYS9XM0MvYXVkaW8vY2Fu
UGxheVR5cGUvY2FuUGxheVR5cGVfc3VwcG9ydGVkX2J1dF9ub19jb2RlY3NfcGFyYW1ldGVyXzEu
aHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9vcmRlcl9sb2Fkc3Rh
cnRfcHJvZ3Jlc3MuaHRtbCBbIFNraXAgXQorCittZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5cGUv
Y2FuUGxheVR5cGVfY29kZWNzX29yZGVyXzIuaHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL3ZpZGVv
L2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX2NvZGVjc19vcmRlcl8zLmh0bWwgWyBTa2lwIF0KK21l
ZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV9zdXBwb3J0ZWRfYnV0X25vX2Nv
ZGVjc19wYXJhbWV0ZXJfMi5odG1sIFsgU2tpcCBdCittZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5
cGUvY2FuUGxheVR5cGVfdHdvX2ltcGxpZXNfb25lXzMuaHRtbCBbIFNraXAgXQorbWVkaWEvVzND
L3ZpZGVvL2NhblBsYXlUeXBlL2NhblBsYXlUeXBlX3R3b19pbXBsaWVzX29uZV80Lmh0bWwgWyBT
a2lwIF0KK21lZGlhL1czQy92aWRlby9jYW5QbGF5VHlwZS9jYW5QbGF5VHlwZV90d29faW1wbGll
c19vbmVfNS5odG1sIFsgU2tpcCBdCittZWRpYS9XM0MvdmlkZW8vY2FuUGxheVR5cGUvY2FuUGxh
eVR5cGVfdHdvX2ltcGxpZXNfb25lXzYuaHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL3ZpZGVvL2V2
ZW50cy9ldmVudF9wcm9ncmVzc19tYW51YWwuaHRtbCBbIFNraXAgXQorbWVkaWEvVzNDL3ZpZGVv
L25ldHdvcmtTdGF0ZS9uZXR3b3JrU3RhdGVfZHVyaW5nX3Byb2dyZXNzLmh0bWwgWyBTa2lwIF0K
K21lZGlhL1czQy92aWRlby9uZXR3b3JrU3RhdGUvbmV0d29ya1N0YXRlX2R1cmluZ19sb2Fkc3Rh
cnQuaHRtbCBbIFNraXAgXQorCitwbGF0Zm9ybS9tYWMvbWVkaWEgWyBQYXNzIF0KK3BsYXRmb3Jt
L21hYy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWF1ZGlvLWF1dG9wbGF5Lmh0bWwgWyBT
a2lwIF0KK3BsYXRmb3JtL21hYy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LXZpZGVvLXBh
dXNlZC5odG1sIFsgU2tpcCBdCitwbGF0Zm9ybS9tYWMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRl
Z29yeS12aWRlby10cmFjay1jaGFuZ2UuaHRtbCBbIFNraXAgXQorcGxhdGZvcm0vbWFjL21lZGlh
L2F1ZGlvLXNlc3Npb24tZGVhY3RpdmF0ZWQtd2hlbi1zdXNwZW5kZWQuaHRtbCBbIFNraXAgXQor
cGxhdGZvcm0vbWFjL21lZGlhL3ZpZGVvLWJlc3QtZWxlbWVudC1mb3ItcGxheWJhY2stY29udHJv
bHMtcHVycG9zZS5odG1sIFsgU2tpcCBdCisKIGh0dHAvdGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
d2VidnR0LXNsb3ctbG9hZGluZy5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL21lZGlhL3RyYWNr
L3RyYWNrLXdlYnZ0dC1zbG93LWxvYWRpbmctMi5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL21l
ZGlhL2hscy9obHMtd2VidnR0LXRyYWNrcy5odG1sIFsgUGFzcyBdCiBodHRwL3Rlc3RzL21lZGlh
L3RyYWNrLWluLWJhbmQtaGxzLW1ldGFkYXRhLmh0bWwgWyBQYXNzIF0KIGh0dHAvdGVzdHMvbWVk
aWEvdHJhY2staW4tYmFuZC1obHMtbWV0YWRhdGEtY3Jhc2guaHRtbCBbIFBhc3MgXQogCi1tZWRp
YS90cmFjay90cmFjay1pbi1iYW5kLWN1ZXMtYWRkZWQtb25jZS5odG1sIFsgUGFzcyBdCi1tZWRp
YS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3Ry
YWNrLWluLWJhbmQtZHVwbGljYXRlLXRyYWNrcy13aGVuLXNvdXJjZS1jaGFuZ2VzLmh0bWwgWyBQ
YXNzIF0KLW1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtbGVnYWN5LWFwaS5odG1sIFsgUGFzcyBd
Ci1tZWRpYS90cmFjay90cmFjay1pbi1iYW5kLmh0bWwgWyBQYXNzIF0KLW1lZGlhL3RyYWNrL3Ry
YWNrLWluLWJhbmQtbWV0YWRhdGEtZGlzcGxheS1vcmRlci5odG1sIFsgUGFzcyBdCi0KIGFjY2Vz
c2liaWxpdHkvbWVkaWEtZWxlbWVudC5odG1sIFsgU2tpcCBdCiBmYXN0L2Jsb2NrL2Zsb2F0L2xp
c3QtbWFya2VyLWlzLWZsb2F0LWNyYXNoLmh0bWwgWyBTa2lwIF0KIGZhc3QvY3NzL3JlbGF0aXZl
LXBvc2l0aW9uLXJlcGxhY2VkLWluLXRhYmxlLWRpc3BsYXktY3Jhc2guaHRtbCBbIFNraXAgXQpA
QCAtMjYyLDcgKzQwNCw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLWVycm9yLmh0bWwgWyBTCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvc3VwcG9ydC9NZWRpYVJlY29y
ZGVyLWlmcmFtZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLXNvdXJjZSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
aWN0dXJlLWluLXBpY3R1cmUvbWVkaWFzdHJlYW0uaHRtbCBbIFNraXAgXQotcGxhdGZvcm0vbWFj
L21lZGlhIFsgU2tpcCBdCiAKIHdlYmdsIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3NlY3VyaXR5L3dl
YmdsLXJlbW90ZS1yZWFkLXJlbW90ZS1pbWFnZS1hbGxvd2VkLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392159</attachid>
            <date>2020-03-02 11:17:04 -0800</date>
            <delta_ts>2020-03-02 11:17:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208423-20200302111703.patch</filename>
            <type>text/plain</type>
            <size>1506</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ5NGVjNDAzMGI1YjJkMjA2
MjQ4ZGVkODI2ZTI0MzEzMjNkMzM1MTIuLjY5NjlkN2Y3YzgzYTZlY2NiMWNhMjQzYjBlZjEyNmIz
MDQwNGExMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMDIgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFBsdW1iIHRo
cm91Z2ggbW9yZSBNZWRpYVBsYXllciBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5
OTI0Mzg2PgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJlbW92ZSBhbiBpbnZhbGlkIEFTU0VSVCB0
aGF0IGNhdXNlcyBzb21lCisgICAgICAgIHRlc3RzIHRvIGNyYXNoLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvbWVkaWEv
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpsb2FkKToKKwogMjAyMC0wMy0wMiAgSmFjb2IgVXBob2ZmICA8amFj
b2JfdXBob2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MjU3Njg3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IGFkMDNlNWU3MmI5MmY2
YTZlYjJhNWUxMjZiMmMxYTNmOWZmMzQzZWEuLmQ4MDkwMTBkMWI1ZTQzNzY5MWM0MjgwZDZhNDcy
MzkwODRmM2ZlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAgLTYwNSw4ICs2
MDUsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25zdCBTdHJpbmcm
LCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKQog
ewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCiAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vh
a1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXNdIHsKICAgICAgICAgaWYgKCF3ZWFrVGhp
cykKICAgICAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392160</attachid>
            <date>2020-03-02 11:18:37 -0800</date>
            <delta_ts>2020-03-02 12:07:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208423-20200302111836.patch</filename>
            <type>text/plain</type>
            <size>1458</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ5NGVjNDAzMGI1YjJkMjA2
MjQ4ZGVkODI2ZTI0MzEzMjNkMzM1MTIuLmE5YTdiNWQwNDk1ODc2ODZiNmFjMmFjMjEyYjc1YWVh
ZGQ1MTJhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDMtMDIgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVVBdIFBsdW1iIHRo
cm91Z2ggbW9yZSBNZWRpYVBsYXllciBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg0MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5
OTI0Mzg2PgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJlbW92ZSBhbiBpbnZhbGlkIEFTU0VSVCB0
aGF0IGNhdXNlcyBzb21lIHRlc3RzIHRvIGNyYXNoLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKToKKwogMjAyMC0wMy0wMiAgSmFjb2IgVXBo
b2ZmICA8amFjb2JfdXBob2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMjU3Njg3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwCmluZGV4IGFkMDNl
NWU3MmI5MmY2YTZlYjJhNWUxMjZiMmMxYTNmOWZmMzQzZWEuLmQ4MDkwMTBkMWI1ZTQzNzY5MWM0
MjgwZDZhNDcyMzkwODRmM2ZlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKQEAg
LTYwNSw4ICs2MDUsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChjb25z
dCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKQogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChNZWRpYVN0cmVhbVBy
aXZhdGUmKQogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCiAgICAgY2FsbE9uTWFpblRo
cmVhZChbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXNdIHsKICAgICAgICAgaWYg
KCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>