<?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>202570</bug_id>
          
          <creation_ts>2019-10-04 01:10:55 -0700</creation_ts>
          <short_desc>Clean up some includes to make the build a bit faster: DOMPromise</short_desc>
          <delta_ts>2019-10-04 13:01:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>aestes</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>kangil.han</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1576761</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 01:10:55 -0700</bug_when>
    <thetext>Clean up some includes to make the build a bit faster: DOMPromise</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576762</commentid>
    <comment_count>1</comment_count>
      <attachid>380194</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 01:11:46 -0700</bug_when>
    <thetext>Created attachment 380194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576763</commentid>
    <comment_count>2</comment_count>
      <attachid>380194</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 01:12:34 -0700</bug_when>
    <thetext>Comment on attachment 380194
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        One remains (FetchBodyConsumer.h); I leave it as an exercise to the reader.

Really, it&apos;s too hard for me (I&apos;ll solicit assistance tomorrow). But also it doesn&apos;t seem to change the outcome any.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576766</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 01:29:24 -0700</bug_when>
    <thetext>Welp, mac-debug builds, who needs all those orange bubbles anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576778</commentid>
    <comment_count>4</comment_count>
      <attachid>380199</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 02:03:04 -0700</bug_when>
    <thetext>Created attachment 380199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576782</commentid>
    <comment_count>5</comment_count>
      <attachid>380202</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 02:15:42 -0700</bug_when>
    <thetext>Created attachment 380202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576786</commentid>
    <comment_count>6</comment_count>
      <attachid>380204</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 02:23:56 -0700</bug_when>
    <thetext>Created attachment 380204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576878</commentid>
    <comment_count>7</comment_count>
      <attachid>380204</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-10-04 09:19:13 -0700</bug_when>
    <thetext>Comment on attachment 380204
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Apply some profile-guided optimizations to our headers.

I do not think &quot;profile-guided optimizations&quot; means what you think it means.

&gt; Source/WebCore/ChangeLog:14
&gt; +        In my testing, this is worth a reliable 5-6% on the WebCore Build Benchmark.

Very nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576887</commentid>
    <comment_count>8</comment_count>
      <attachid>380204</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 09:42:15 -0700</bug_when>
    <thetext>Comment on attachment 380204
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        Apply some profile-guided optimizations to our headers.
&gt; 
&gt; I do not think &quot;profile-guided optimizations&quot; means what you think it means.

They&apos;re (header) optimizations guided by profiling (the build)! Don&apos;t let the language police win! (but yes, it was a bit of a joke)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576891</commentid>
    <comment_count>9</comment_count>
      <attachid>380224</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 09:49:19 -0700</bug_when>
    <thetext>Created attachment 380224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576896</commentid>
    <comment_count>10</comment_count>
      <attachid>380225</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 09:56:20 -0700</bug_when>
    <thetext>Created attachment 380225
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576901</commentid>
    <comment_count>11</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-10-04 10:05:59 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #8)
&gt; Comment on attachment 380204 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=380204&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/ChangeLog:10
&gt; &gt;&gt; +        Apply some profile-guided optimizations to our headers.
&gt; &gt; 
&gt; &gt; I do not think &quot;profile-guided optimizations&quot; means what you think it means.
&gt; 
&gt; They&apos;re (header) optimizations guided by profiling (the build)! Don&apos;t let
&gt; the language police win! (but yes, it was a bit of a joke)

Ah, in honor of the movie &quot;Joker&quot;, in theaters worldwide today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576933</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 11:30:35 -0700</bug_when>
    <thetext>This gets JSDOMPromiseDeferred from 295-&gt;85 separate parses, and JSDOMGlobalObject from 338-&gt;286 (still the hottest header).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576938</commentid>
    <comment_count>13</comment_count>
      <attachid>380225</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-04 11:52:29 -0700</bug_when>
    <thetext>Comment on attachment 380225
Patch

Rejecting attachment 380225 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 380225, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 5000 characters of output:
Core/Modules/streams/ReadableStreamSource.cpp
patching file Source/WebCore/Modules/streams/ReadableStreamSource.h
patching file Source/WebCore/Modules/webaudio/AudioContext.h
patching file Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
patching file Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.h
patching file Source/WebCore/Modules/webauthn/PublicKeyCredential.h
patching file Source/WebCore/Modules/webgpu/WebGPU.cpp
patching file Source/WebCore/Modules/webgpu/WebGPU.h
patching file Source/WebCore/Modules/webgpu/WebGPUAdapter.cpp
patching file Source/WebCore/Modules/webgpu/WebGPUAdapter.h
patching file Source/WebCore/Modules/webgpu/WebGPUBuffer.cpp
patching file Source/WebCore/Modules/webgpu/WebGPUBuffer.h
patching file Source/WebCore/Modules/webgpu/WebGPUDevice.cpp
patching file Source/WebCore/Modules/webgpu/WebGPUDevice.h
patching file Source/WebCore/Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp
patching file Source/WebCore/Modules/webgpu/WHLSL/WHLSLStandardLibraryUtilities.cpp
patching file Source/WebCore/Modules/webvr/NavigatorWebVR.cpp
patching file Source/WebCore/Modules/webvr/NavigatorWebVR.h
patching file Source/WebCore/Modules/webvr/VRDisplay.cpp
patching file Source/WebCore/Modules/webvr/VRDisplay.h
patching file Source/WebCore/WebCore.xcodeproj/project.pbxproj
patching file Source/WebCore/animation/KeyframeEffect.cpp
patching file Source/WebCore/animation/WebAnimation.cpp
patching file Source/WebCore/animation/WebAnimation.h
patching file Source/WebCore/bindings/js/CachedModuleScriptLoader.cpp
patching file Source/WebCore/bindings/js/CachedModuleScriptLoaderClient.h
patching file Source/WebCore/bindings/js/JSDOMPromiseDeferred.h
patching file Source/WebCore/bindings/js/JSHTMLTemplateElementCustom.cpp
patching file Source/WebCore/bindings/js/JSImageDataCustom.cpp
patching file Source/WebCore/bindings/js/JSMessageEventCustom.cpp
patching file Source/WebCore/bindings/js/JSReadableStreamSourceCustom.cpp
patching file Source/WebCore/bindings/js/JSWebAnimationCustom.cpp
patching file Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp
patching file Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp
patching file Source/WebCore/bindings/js/JSWorkletGlobalScopeBase.cpp
patching file Source/WebCore/bindings/js/ScriptModuleLoader.cpp
patching file Source/WebCore/css/FontFace.cpp
patching file Source/WebCore/css/FontFace.h
patching file Source/WebCore/css/FontFaceSet.cpp
Hunk #2 FAILED at 57.
Hunk #3 FAILED at 68.
Hunk #6 FAILED at 205.
Hunk #7 succeeded at 238 (offset 2 lines).
3 out of 7 hunks FAILED -- saving rejects to file Source/WebCore/css/FontFaceSet.cpp.rej
patching file Source/WebCore/css/FontFaceSet.h
patching file Source/WebCore/dom/CustomElementRegistry.cpp
patching file Source/WebCore/dom/DeviceOrientationOrMotionEvent.cpp
patching file Source/WebCore/dom/DeviceOrientationOrMotionEvent.h
patching file Source/WebCore/dom/MouseEvent.cpp
patching file Source/WebCore/dom/MouseEvent.h
patching file Source/WebCore/html/CustomPaintCanvas.h
patching file Source/WebCore/html/ImageBitmap.cpp
patching file Source/WebCore/html/ImageBitmap.h
patching file Source/WebCore/html/OffscreenCanvas.cpp
patching file Source/WebCore/html/OffscreenCanvas.h
patching file Source/WebCore/loader/ImageLoader.cpp
patching file Source/WebCore/loader/ImageLoader.h
patching file Source/WebCore/page/DOMWindow.cpp
patching file Source/WebCore/page/Navigator.h
patching file Source/WebCore/page/PageConsoleClient.cpp
patching file Source/WebCore/platform/graphics/CustomPaintImage.cpp
patching file Source/WebCore/testing/Internals.cpp
patching file Source/WebCore/testing/Internals.h
patching file Source/WebCore/testing/ServiceWorkerInternals.h
patching file Source/WebCore/testing/ServiceWorkerInternals.mm
patching file Source/WebCore/workers/service/ServiceWorkerContainer.cpp
patching file Source/WebCore/workers/service/ServiceWorkerContainer.h
patching file Source/WebCore/workers/service/ServiceWorkerJob.cpp
patching file Source/WebCore/workers/service/ServiceWorkerJob.h
patching file Source/WebCore/workers/service/ServiceWorkerRegistration.cpp
patching file Source/WebCore/workers/service/ServiceWorkerRegistration.h
patching file Source/WebCore/worklets/PaintWorkletGlobalScope.cpp

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
From https://git.webkit.org/git/WebKit
   d2143ddc96d..08eac19a9b4  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 250730 = d2143ddc96d93f04c5a6b5339230ee3efa2ea346
r250731 = fd553cf3ddb252f284857f8bd823c7a5af65a17f
r250732 = 08eac19a9b4b4c7413a76bf93bcafe5a847a9008
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: https://webkit-queues.webkit.org/results/13095896</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576945</commentid>
    <comment_count>14</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 12:29:01 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/250735/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576946</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-04 12:29:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/55991406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576961</commentid>
    <comment_count>16</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2019-10-04 12:45:43 -0700</bug_when>
    <thetext>&gt;They&apos;re (header) optimizations guided by profiling (the build)!

What methodology are you using to identify which includes have the biggest impact?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576972</commentid>
    <comment_count>17</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-04 13:01:40 -0700</bug_when>
    <thetext>(In reply to Konstantin Tokarev from comment #16)
&gt; &gt;They&apos;re (header) optimizations guided by profiling (the build)!
&gt; 
&gt; What methodology are you using to identify which includes have the biggest
&gt; impact?

-ftime-trace</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380194</attachid>
            <date>2019-10-04 01:11:46 -0700</date>
            <delta_ts>2019-10-04 02:03:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202570-20191004011145.patch</filename>
            <type>text/plain</type>
            <size>95818</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU4ZTE4ZmE5NzY3Mjk2
YTNlYjQyOGVjMGZlYmM5MGUyNzE3MWFlMC4uNzAyOWNmMmVlNDA0ZTY1NjgzMjA5ZmU1YTIzNzc1
YzgwYjY1YTNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMCBAQAorMjAxOS0xMC0wNCAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBz
b21lIGluY2x1ZGVzIHRvIG1ha2UgdGhlIGJ1aWxkIGEgYml0IGZhc3RlcjogRE9NUHJvbWlzZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNTcwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBqdXN0IHJlb3JnYW5pemluZy4KKworICAgICAgICBBcHBseSBzb21lIHByb2ZpbGUtZ3Vp
ZGVkIG9wdGltaXphdGlvbnMgdG8gb3VyIGhlYWRlcnMuCisKKyAgICAgICAgR2V0IEpTRE9NUHJv
bWlzZURlZmVycmVkLmggYW5kIERPTVByb21pc2VQcm94eS5oIG91dCBvZiBXZWJDb3JlIGhlYWRl
cnMuCisgICAgICAgIE9uZSByZW1haW5zIChGZXRjaEJvZHlDb25zdW1lci5oKTsgSSBsZWF2ZSBp
dCBhcyBhbiBleGVyY2lzZSB0byB0aGUgcmVhZGVyLgorICAgICAgICBJbiBteSB0ZXN0aW5nLCB0
aGlzIGlzIHdvcnRoIGEgcmVsaWFibGUgNS02JSBvbiB0aGUgV2ViQ29yZSBCdWlsZCBCZW5jaG1h
cmsuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuaDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5cy5jcHA6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDoK
KyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHA6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDoKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0RPTVdpbmRvd0ZldGNoLmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Lmg6CisgICAgICAgICogTW9kdWxl
cy9mZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5j
cHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSZWNlaXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1
ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
TWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICog
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwOgorICAgICAgICAqIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvci5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tl
eUNyZWRlbnRpYWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNl
cnZlVmFyaWFibGVMaWZldGltZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XZWJHUFUuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVCdWZmZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZp
Z2F0b3JXZWJWUi5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5o
OgorICAgICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYnZyL1ZSRGlzcGxheS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3Bw
OgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NUHJvbWlzZURlZmVycmVkLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MVGVt
cGxhdGVFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0
YUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJj
ZUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20u
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHA6CisgICAgICAgICogY3NzL0Zv
bnRGYWNlLmNwcDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvRm9u
dEZhY2VTZXQuY3BwOgorICAgICAgICAqIGNzcy9Gb250RmFjZVNldC5oOgorICAgICAgICAqIGRv
bS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgICog
ZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBodG1sL0N1c3RvbVBhaW50Q2FudmFzLmg6Cisg
ICAgICAgICogaHRtbC9JbWFnZUJpdG1hcC5jcHA6CisgICAgICAgICogaHRtbC9JbWFnZUJpdG1h
cC5oOgorICAgICAgICAqIGh0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcDoKKyAgICAgICAgKiBodG1s
L09mZnNjcmVlbkNhbnZhcy5oOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
Y3BwOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9T
ZXJ2aWNlV29ya2VySW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLm1tOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmg6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6Cisg
ICAgICAgICogd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorCiAyMDE5LTEw
LTA0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEEgbmV3bHkg
aW5zZXJ0ZWQgZWxlbWVudCBkb2Vzbid0IGdldCBhc3NpZ25lZCB0byBhIG5hbWVkIHNsb3QgaWYg
c2xvdCBhc3NpZ25tZW50cyBoYWQgYWxyZWFkeSBoYXBwZW5lZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRI
YW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKaW5kZXggMGY3ZTNiYTJhMjMzNWU5MGY3N2Ex
ZGZhNjljNjY1NzRkZjU0M2RkYy4uMDdiMzY5NGJiM2NkZTIwNDY3OGNiZGQ1ZDg0YWNjNTllN2Jl
YzFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50
cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3Bw
CkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnQuaCIKICNpbmNs
dWRlICJKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oIgogI2luY2x1ZGUgIkpTQXBwbGVQYXlSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiTGlua0ljb25Db2xs
ZWN0b3IuaCIKICNpbmNsdWRlICJNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgogI2luY2x1ZGUg
IlBhZ2UuaCIKQEAgLTU2LDYgKzU3LDcgQEAKICNpbmNsdWRlICJQYXltZW50UmVzcG9uc2UuaCIK
ICNpbmNsdWRlICJQYXltZW50VmFsaWRhdGlvbkVycm9ycy5oIgogI2luY2x1ZGUgIlNldHRpbmdz
LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPTk9iamVjdC5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCA1NTA4YjM3OGNlZjg4ODM2NjY3YjVk
ZTljZDk2ZjQyNmM4OTM3OWVhLi45NjYwMmVkMmU1YmVjYWExNTU2YTVhMWY0OWFiN2ZlYjNjMDgx
OTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJD
RE0uaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQcm94
eS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTYzLDYgKzY0LDcgQEAgTWVkaWFLZXlTZXNzaW9uOjpNZWRp
YUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV2Vha1B0cjxNZWRp
YUsKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAgICAsIG1fa2V5cyhXVEZNb3Zl
KGtleXMpKQogICAgICwgbV9leHBpcmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6
cXVpZXRfTmFOKCkpCisgICAgLCBtX2Nsb3NlZFByb21pc2UobWFrZVVuaXF1ZVJlZjxDbG9zZWRQ
cm9taXNlPigpKQogICAgICwgbV9rZXlTdGF0dXNlcyhNZWRpYUtleVN0YXR1c01hcDo6Y3JlYXRl
KCp0aGlzKSkKICAgICAsIG1fdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKHVzZURpc3RpbmN0aXZl
SWRlbnRpZmllcikKICAgICAsIG1fc2Vzc2lvblR5cGUoc2Vzc2lvblR5cGUpCkBAIC03MDksNyAr
NzExLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnNlc3Npb25DbG9zZWQoKQogCiAgICAgLy8g
NS4gTGV0IHByb21pc2UgYmUgdGhlIGNsb3NlZCBhdHRyaWJ1dGUgb2YgdGhlIHNlc3Npb24uCiAg
ICAgLy8gNi4gUmVzb2x2ZSBwcm9taXNlLgotICAgIG1fY2xvc2VkUHJvbWlzZS5yZXNvbHZlKCk7
CisgICAgbV9jbG9zZWRQcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKIFN0cmluZyBNZWRpYUtleVNl
c3Npb246Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5k
ZXggOTViYWYzNTQ4ZDc5Nzg0ZWEyZDUxYWE0ODQ5ZjEwZDBmZWEyYzk4MC4uODIzODQ0ZmU0MmY0
YjllYmEyOWUyNjUwNDczYWVlNDFlNzMxODExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0zMiwxMCAr
MzIsMTAgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNETUlu
c3RhbmNlU2Vzc2lvbi5oIgotI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUg
IkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKICNpbmNsdWRl
ICJHZW5lcmljVGFza1F1ZXVlLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJN
ZWRpYUtleU1lc3NhZ2VUeXBlLmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlwZS5oIgog
I2luY2x1ZGUgIk1lZGlhS2V5U3RhdHVzLmgiCkBAIC00OCwxMCArNDgsMTMgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBCdWZmZXJTb3VyY2U7CiBjbGFzcyBDRE07CitjbGFzcyBEZWZl
cnJlZFByb21pc2U7CiBjbGFzcyBNZWRpYUtleVN0YXR1c01hcDsKIGNsYXNzIE1lZGlhS2V5czsK
IGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3Mg
RE9NUHJvbWlzZVByb3h5OworCiBjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5l
RGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIENETUluc3RhbmNlU2Vzc2lvbkNs
aWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChNZWRpYUtleVNlc3Npb24pOwogcHVi
bGljOgpAQCAtNzQsNyArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmUoUmVmPERlZmVy
cmVkUHJvbWlzZT4mJik7CiAKICAgICB1c2luZyBDbG9zZWRQcm9taXNlID0gRE9NUHJvbWlzZVBy
b3h5PElETFZvaWQ+OwotICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJuIG1fY2xv
c2VkUHJvbWlzZTsgfQorICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJuIG1fY2xv
c2VkUHJvbWlzZS5nZXQoKTsgfQogCiAgICAgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWY8U2hh
cmVkQnVmZmVyPiwgTWVkaWFLZXlTdGF0dXM+PiYgc3RhdHVzZXMoKSBjb25zdCB7IHJldHVybiBt
X3N0YXR1c2VzOyB9CiAKQEAgLTEwNSw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8
TWVkaWFLZXlzPiBtX2tleXM7CiAgICAgU3RyaW5nIG1fc2Vzc2lvbklkOwogICAgIGRvdWJsZSBt
X2V4cGlyYXRpb247Ci0gICAgQ2xvc2VkUHJvbWlzZSBtX2Nsb3NlZFByb21pc2U7CisgICAgVW5p
cXVlUmVmPENsb3NlZFByb21pc2U+IG1fY2xvc2VkUHJvbWlzZTsKICAgICBSZWY8TWVkaWFLZXlT
dGF0dXNNYXA+IG1fa2V5U3RhdHVzZXM7CiAgICAgYm9vbCBtX2Nsb3NlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3VuaW5pdGlhbGl6ZWQgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mu
Y3BwCmluZGV4IGRkNDg3NmI2YzUzYzE4MzY0MzUxMDJjYzNjMThkMWNmZTdmMWFhYmYuLjMwYzM0
Y2RjNDRlYjhkNjdjZDIyMWVjODk5Y2MwZDZiYTMxNzI0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJDRE0uaCIKICNpbmNsdWRl
ICJDRE1JbnN0YW5jZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5j
bHVkZSAiSlNNZWRpYUtleXMuaCIKICNpbmNsdWRlICJNZWRpYUtleXMuaCIKICNpbmNsdWRlICJN
ZWRpYUtleXNSZXF1aXJlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oCmluZGV4IDI4NGQ5
NDk0Mjg4OWNkZmVlNmFkNmZjZWM2NzVhYzUwZGYwNDlhOWYuLjRmNWExNTVjNjgwZDllZjQxNzQ2
MDAzYzc3Mjg2YTRlZjg1YTNjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmgKQEAgLTMxLDcg
KzMxLDYgQEAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAjaW5jbHVkZSAiR2VuZXJp
Y1Rhc2tRdWV1ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM5LDYgKzM4LDcgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0RNOworY2xhc3MgRGVmZXJyZWRQcm9taXNl
OwogY2xhc3MgTWVkaWFLZXlzOwogCiBjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzcyA6IHB1Ymxp
YyBSZWZDb3VudGVkPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAKaW5kZXggMDUxNzhjNTNl
YTU3YmExODAzYmY5YzVkNTAzOWFkYzlmZjhkYjQ2MC4uMmZjZDAzNGE1ZjhlYjZiYjUzMDA4NWFm
OWE0ZmYxMGRjZGU2MjkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkNE
TS5oIgogI2luY2x1ZGUgIkNETUNsaWVudC5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNlLmgiCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaApp
bmRleCA5MTQ2MTRkZTcxOWYzNzUzMDdiY2I4YjdkOGNlNWIzMGEwMDY3MTU4Li5mYTI2OTMzMDAy
YzljNzQ0MTFjNGUzMjJjYTA3MzQ1MWVhYTEyYTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKQEAgLTMyLDcgKzMyLDYgQEAKIAog
I2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgot
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNz
aW9uVHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgpAQCAtNDQsNyArNDMsOSBAQCBjbGFzcyBDRE07CiBjbGFzcyBDRE1DbGllbnQ7CiBjbGFz
cyBDRE1JbnN0YW5jZTsKIGNsYXNzIEJ1ZmZlclNvdXJjZTsKK2NsYXNzIERlZmVycmVkUHJvbWlz
ZTsKIGNsYXNzIE1lZGlhS2V5U2Vzc2lvbjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAKIGNsYXNzIE1lZGlhS2V5cyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5cz4sIHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxNZWRpYUtleXM+IHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcAppbmRleCBk
ZjFmNGRmOTA0NmE0NTgyYmNjMDQ5NTMzOWVlY2ViZGEyY2E5YWJhLi4wYmFhZjhkNWZkMjhjNTlh
YmE3NWM2YzgyNjAyN2Y0NDExNjE4MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwCkBAIC0zMyw2ICszMyw3IEBA
CiAKICNpbmNsdWRlICJDRE0uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmgKaW5kZXggZDk1Zjc2NjkzMzllYjgwMTUz
ZjY5MzJhYzhhOGUwYzJmZjUxOGMyMC4uYThiMTJmNmJmMWEwMWJmM2Q2MDNhOWZhYTI4MTY2OGY2
NWI2MWU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9OYXZpZ2F0b3JFTUUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL05hdmlnYXRvckVNRS5oCkBAIC0zMCwxMiArMzAsMTIgQEAKIAogI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1
ZGUgIk1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlN1cHBsZW1lbnRh
YmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwog
Y2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzczsKIGNsYXNzIE5hdmln
YXRvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93
RmV0Y2guY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5j
cHAKaW5kZXggMjFlNDg3ZTVjNGZlZTQzMmVkZTMzZTNlNGE5ZTYwZTY5ZTRhNGQwYi4uZGVjMzFk
OTQwYTU3NDRlNDlkNjViNmUxNWU3NjQyYzkzYzMwYjMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZl
dGNoUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1
ZGUgIkpTRmV0Y2hSZXNwb25zZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmgKaW5kZXggMmE4YThhYmU5NGI3
N2EwNWJiYTY3MmI2OTFkZTI0NWMyODdjMTRlNS4uMjc0ODM0NWU1MjMxODZjNzNlNDIzZDQ4Yzk0
YzFjMDIxYmMyNzIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9E
T01XaW5kb3dGZXRjaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2lu
ZG93RmV0Y2guaApAQCAtMjksMTEgKzI5LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IkZldGNoUmVxdWVzdC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZl
cnJlZFByb21pc2U7CiBjbGFzcyBET01XaW5kb3c7CiAKIGNsYXNzIERPTVdpbmRvd0ZldGNoIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAppbmRleCAyOTE4NTRh
ZTE3YzdmZDNhNGY1Y2EyN2QwODE1ZDIzODE2NjMwNWIyLi4zZDY5ZjhhYjNkZDg4MjQ5NjY1Y2M0
NjMxYTM1ZWM0YjdhZmU0MDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHkuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRmV0Y2hIZWFkZXJzLmgiCiAj
aW5jbHVkZSAiSFRUUEhlYWRlclZhbHVlcy5oIgogI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVh
bVNvdXJjZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyVmlldy5oPgog
CkBAIC0xMjksNiArMTMwLDExIEBAIHZvaWQgRmV0Y2hCb2R5Ojp0ZXh0KEZldGNoQm9keU93bmVy
JiBvd25lciwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGNvbnN1bWUob3du
ZXIsIFdURk1vdmUocHJvbWlzZSkpOwogfQogCit2b2lkIEZldGNoQm9keTo6Zm9ybURhdGEoRmV0
Y2hCb2R5T3duZXImLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgcHJv
bWlzZS5nZXQoKS5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCiB2b2lkIEZldGNoQm9k
eTo6Y29uc3VtZU9uY2VMb2FkaW5nRmluaXNoZWQoRmV0Y2hCb2R5Q29uc3VtZXI6OlR5cGUgdHlw
ZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRU
eXBlKQogewogICAgIG1fY29uc3VtZXIuc2V0VHlwZSh0eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGMzZjk2ZmY0YWZmZjIwZDExMzY0NDMzYTFmMmFj
ZjZhZDFkOWZiNzMuLjg1Yzg2MjE3MWRlN2ZiOGQzZjRlOTdlMWRkMWMzMTIwMDBjYzA4MTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtMzIsMTMgKzMyLDEz
IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJGZXRjaEJvZHlDb25zdW1l
ci5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbS5oIgogI2luY2x1ZGUgIlVSTFNlYXJjaFBh
cmFtcy5oIgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRmV0Y2hCb2R5T3duZXI7CiBjbGFzcyBG
ZXRjaEJvZHlTb3VyY2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpAQCAtNDksNyAr
NDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBibG9iKEZldGNoQm9keU93bmVyJiwgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBqc29uKEZldGNoQm9keU93
bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCB0ZXh0KEZldGNoQm9keU93
bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9pZCBmb3JtRGF0YShGZXRjaEJv
ZHlPd25lciYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkgeyBwcm9taXNlLmdldCgp
LnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7IH0KKyAgICB2b2lkIGZvcm1EYXRhKEZldGNoQm9k
eU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKICNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCiAgICAgdm9pZCBjb25zdW1lQXNTdHJlYW0oRmV0Y2hCb2R5T3duZXImLCBGZXRjaEJvZHlT
b3VyY2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAK
aW5kZXggYzBkYmY1ZmU1NzhmMWY1OWI2ZjRjMWIwN2FiYzAxZTdkMjUxZDc3OS4uZDIxNjYyNGMy
ZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRlNzUzYmIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJD
YWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3Vy
aXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5LmgiCisjaW5jbHVkZSAiRmV0Y2hCb2R5
Q29uc3VtZXIuaCIKICNpbmNsdWRlICJGZXRjaExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkZl
dGNoUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAppbmRleCAxZTQ3YTA1NmQwZDZkYTZmMDg1Mzhh
Y2RiZjIwNDNlYTJlMjEzNmI3Li4wZTM3M2ZhNGYyMjNmM2JhNWJmMWMwMmU5YzU5YmY2N2Q3ZjYy
ZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRmV0Y2hCb2R5Q29uc3Vt
ZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJs
ZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KQEAgLTM2LDYgKzM1LDcgQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIEZldGNoQm9keUNvbnN1
bWVyOwogY2xhc3MgRmV0Y2hMb2FkZXJDbGllbnQ7CiBjbGFzcyBGZXRjaFJlcXVlc3Q7CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKaW5kZXggNzNjMDQ1MTAxMTU3
M2NjMjY5MmRhOTY3NWU5OWNkYjMzOTk2Y2Q1OS4uMzQ0MDE3N2Y4YWU5NjgwMjZlNTQ2MWY4ODY2
ZGIyOWUyMzJiZTEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9X
b3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSAiV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgogCiAjaW5jbHVkZSAiRmV0Y2hSZXNwb25zZS5o
IgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNGZXRjaFJl
c3BvbnNlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAppbmRl
eCAyYTZkOGJiZTBjYjllMGViMmI1YzIxMDlhYTMxYjcyZTNmZjA0YjViLi5mYWQwNzljY2Q5MzM0
YTlhMmZkMWJjYzZiMWRmNTMyNGEzODY0MzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaApAQCAtMjksMTAgKzI5LDEw
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3Mg
RGVmZXJyZWRQcm9taXNlOwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdvcmtl
ckdsb2JhbFNjb3BlRmV0Y2ggewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAxMzk3
NTJjMTQwN2ViYWQ0MzZmNmYzZDFmOTRkZDI1NjY4MmJjMGY3Li4yNjNjMDZmYTdiNTU5Nzg2NGVh
ZjMxYTk0NTllNTNjYjBiMjMxMWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcApAQCAt
MjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRlICJEb2N1
bWVudC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNN
ZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgogI2luY2x1ZGUgIkpTTWVkaWFDYXBhYmls
aXRpZXNFbmNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5n
SW5mby5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oCmluZGV4IDE4NTRmYTQ2NjQ2MGFjZmM2ZDI2
NjI3MTdhNTRkMmQ2Njc2MjBlZjQuLjYwNjYyOTdmNzU1MjAxZjg3ZTZhMWFiMDc2NWJlNDdiYjdl
NzI3YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRp
ZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
Y2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKQEAgLTI2LDExICsyNiwxMSBAQAogI3By
YWdtYSBvbmNlCiAKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCi0jaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERvY3VtZW50
Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwogc3RydWN0IE1lZGlhRW5jb2Rp
bmdDb25maWd1cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYURldmljZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYURldmljZXMuY3BwCmluZGV4IDA4NjI0MTRhZGI0OWY5YzgyNDRjNzkxYzRmZTM2
OGVkMjAxMDZlNzcuLmM1NjUyY2VmODU0YTlmOTVkYjEzYTU3YzgyZWZiNTZkZjEwZjc5MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNl
cy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNNZWRpYURldmljZUluZm8uaCIKICNpbmNsdWRlICJN
ZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlh
U291cmNlU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFEZXZpY2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhRGV2aWNlcy5oCmluZGV4IDUxY2QxYjRjZTliOTcyMTg4YjFiMTA3ZGM1OGE1YjVi
MWY5NzlhYmUuLjlhZjYzN2ZjZjZjNDFjODBlYTMyMmY4ZjI3MjcxMmNiNmU0MjBlZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaApA
QCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVu
dFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIk1lZGlhVHJh
Y2tDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIK
ICNpbmNsdWRlICJUaW1lci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggNzU2YjQ1NzNlYWU3N2RmNTAw
YzFlZjU0ZmRhNjUyNjZiMzNiMWM4Ny4uODUxMzE3OTQ3MmM5MjE5MDRmYzExY2UxZWU1ZjA5YTEy
N2Q0MTI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTT3ZlcmNvbnN0cmFp
bmVkRXJyb3IuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzLmgiCiAjaW5jbHVkZSAiTWVk
aWFTdHJlYW0uaCIKQEAgLTM3OSw3ICszODAsNyBAQCBzdGF0aWMgTWVkaWFDb25zdHJhaW50cyBj
cmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0IE9wdGlvbmFsPE1lZGlhVHJhY2tDb25zdHJhaQog
CiB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OmFwcGx5Q29uc3RyYWludHMoY29uc3QgT3B0aW9uYWw8
TWVkaWFUcmFja0NvbnN0cmFpbnRzPiYgY29uc3RyYWludHMsIERPTVByb21pc2VEZWZlcnJlZDx2
b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgbV9wcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAg
ICBtX3Byb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihX
VEZNb3ZlKHByb21pc2UpKTsKIAogICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBbdGhpcywg
d2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGNvbnN0cmFpbnRzXShhdXRvJiYgZXJyb3Ip
IG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzIHx8ICFtX3Byb21pc2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5o
CmluZGV4IDhmYTg5MDNkMDkwYzg0ODkwNWNlNWRmY2M4ZmUyZmQ5OGE3MTlmYTMuLjYyN2Y2ZGZj
Yzg3MDNmYjBkOTVhMzY0MTU2NjUxZjRhMDIzODM2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC0zMyw3ICsz
Myw2IEBACiAjaW5jbHVkZSAiRG91YmxlUmFuZ2UuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgogI2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVldWUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogI2luY2x1ZGUgIkxvbmdSYW5nZS5oIgogI2luY2x1ZGUgIk1lZGlhUHJvZHVj
ZXIuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgpAQCAtNDcsNiArNDYs
OCBAQCBjbGFzcyBEb2N1bWVudDsKIAogc3RydWN0IE1lZGlhVHJhY2tDb25zdHJhaW50czsKIAor
dGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBj
bGFzcyBNZWRpYVN0cmVhbVRyYWNrCiAgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVN0cmVh
bVRyYWNrPgogICAgICwgcHVibGljIEFjdGl2ZURPTU9iamVjdApAQCAtMjAxLDcgKzIwMiw3IEBA
IHByaXZhdGU6CiAgICAgVmVjdG9yPE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7CiAKICAgICBNZWRp
YVRyYWNrQ29uc3RyYWludHMgbV9jb25zdHJhaW50czsKLSAgICBPcHRpb25hbDxET01Qcm9taXNl
RGVmZXJyZWQ8dm9pZD4+IG1fcHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NUHJvbWlz
ZURlZmVycmVkPHZvaWQ+PiBtX3Byb21pc2U7CiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRF
eGVjdXRpb25Db250ZXh0PiBtX3Rhc2tRdWV1ZTsKICAgICBHZW5lcmljVGFza1F1ZXVlPFRpbWVy
PiBtX2V2ZW50VGFza1F1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXggZTY4ZWQ5
OWY5MjllZWVkNGNmOTk3MDNiYTY2M2Y5NDc3ZTE3OTFhZC4uMmZmMjMwZTQ2NDY3YTgyMTFlZGYw
MDU0MzdjNTQwYzZiZjk5YjdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcApAQCAtMzUsNiAr
MzUsNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNSVENTZXNzaW9u
RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENDZXJ0aWZpY2F0ZUdlbmVyYXRvci5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTgyLDEyICs4MywxNCBAQCBQZWVyQ29ubmVjdGlv
bkJhY2tlbmQ6OlBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVyQ29ubmVjdGlvbiYgcGVlckNv
bm5lY3Rpb24pCiB7CiB9CiAKK1BlZXJDb25uZWN0aW9uQmFja2VuZDo6flBlZXJDb25uZWN0aW9u
QmFja2VuZCgpID0gZGVmYXVsdDsKKwogdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmNyZWF0
ZU9mZmVyKFJUQ09mZmVyT3B0aW9ucyYmIG9wdGlvbnMsIFBlZXJDb25uZWN0aW9uOjpTZXNzaW9u
RGVzY3JpcHRpb25Qcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBBU1NFUlQoIW1fb2ZmZXJBbnN3
ZXJQcm9taXNlKTsKICAgICBBU1NFUlQoIW1fcGVlckNvbm5lY3Rpb24uaXNDbG9zZWQoKSk7CiAK
LSAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9vZmZl
ckFuc3dlclByb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8UGVlckNvbm5lY3Rpb246OlNlc3Npb25E
ZXNjcmlwdGlvblByb21pc2U+KFdURk1vdmUocHJvbWlzZSkpOwogICAgIGRvQ3JlYXRlT2ZmZXIo
V1RGTW92ZShvcHRpb25zKSk7CiB9CiAKQEAgLTEyNCw3ICsxMjcsNyBAQCB2b2lkIFBlZXJDb25u
ZWN0aW9uQmFja2VuZDo6Y3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9wdGlvbnMmJiBvcHRpb25zLCBQ
ZWVyQ29ubmVjdAogICAgIEFTU0VSVCghbV9vZmZlckFuc3dlclByb21pc2UpOwogICAgIEFTU0VS
VCghbV9wZWVyQ29ubmVjdGlvbi5pc0Nsb3NlZCgpKTsKIAotICAgIG1fb2ZmZXJBbnN3ZXJQcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9IFdURjo6
bWFrZVVuaXF1ZTxQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlzZT4oV1RG
TW92ZShwcm9taXNlKSk7CiAgICAgZG9DcmVhdGVBbnN3ZXIoV1RGTW92ZShvcHRpb25zKSk7CiB9
CiAKQEAgLTE4NCw3ICsxODcsNyBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c2V0TG9j
YWxEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mIHNlc3Npb25EZQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgbV9zZXREZXNjcmlwdGlvblByb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpOworICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPERP
TVByb21pc2VEZWZlcnJlZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9TZXRMb2Nh
bERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbik7CiB9CiAKQEAgLTI0NSw3ICsyNDgsNyBA
QCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c2V0UmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uJiBzZXNzaW9uRAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
bV9zZXREZXNjcmlwdGlvblByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOworICAgIG1fc2V0RGVz
Y3JpcHRpb25Qcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZlcnJlZDx2b2lk
Pj4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9TZXRSZW1vdGVEZXNjcmlwdGlvbihzZXNzaW9u
RGVzY3JpcHRpb24pOwogfQogCkBAIC0zMjUsNyArMzI4LDcgQEAgdm9pZCBQZWVyQ29ubmVjdGlv
bkJhY2tlbmQ6OmFkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUqIGljZUNhbmRpZGF0ZSwg
RE9NUHIKICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiVHJ5
aW5nIHRvIGFkZCBhIGNhbmRpZGF0ZSB0aGF0IGlzIG1pc3NpbmcgYm90aCBzZHBNaWQgYW5kIHNk
cE1MaW5lSW5kZXgiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9hZGRJY2VD
YW5kaWRhdGVQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX2FkZEljZUNhbmRpZGF0
ZVByb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZN
b3ZlKHByb21pc2UpKTsKICAgICBkb0FkZEljZUNhbmRpZGF0ZSgqaWNlQ2FuZGlkYXRlKTsKIH0K
IApAQCAtNDcwLDYgKzQ3MywxMSBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6ZG9uZUdh
dGhlcmluZ0NhbmRpZGF0ZXMoKQogICAgIG1fcGVuZGluZ0lDRUNhbmRpZGF0ZXMuY2xlYXIoKTsK
IH0KIAordm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmVuZE9mSWNlQ2FuZGlkYXRlcyhET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQoreworICAgIHByb21pc2UucmVzb2x2ZSgp
OworfQorCiB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVnaXN0ZXJNRE5TTmFtZShjb25z
dCBTdHJpbmcmIGlwQWRkcmVzcykKIHsKICAgICArK21fd2FpdGluZ0Zvck1ETlNSZWdpc3RyYXRp
b247CkBAIC01MjAsOSArNTI4LDkgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnVwZGF0
ZVNpZ25hbGluZ1N0YXRlKFJUQ1NpZ25hbGluZ1N0YXRlIG5ld1NpZ25hbGluZ1MKIAogdm9pZCBQ
ZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnN0b3AoKQogewotICAgIG1fb2ZmZXJBbnN3ZXJQcm9taXNl
ID0gV1RGOjpudWxsb3B0OwotICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RGOjpudWxs
b3B0OwotICAgIG1fYWRkSWNlQ2FuZGlkYXRlUHJvbWlzZSA9IFdURjo6bnVsbG9wdDsKKyAgICBt
X29mZmVyQW5zd2VyUHJvbWlzZSA9IG51bGxwdHI7CisgICAgbV9zZXREZXNjcmlwdGlvblByb21p
c2UgPSBudWxscHRyOworICAgIG1fYWRkSWNlQ2FuZGlkYXRlUHJvbWlzZSA9IG51bGxwdHI7CiAK
ICAgICBtX3BlbmRpbmdUcmFja0V2ZW50cy5jbGVhcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaApp
bmRleCAxYWMwOTU4OTNlODhkMjg0OTJhMDIzZTAyODg0MmNjMjQ0N2NhODc2Li4yZGEzZGRjOWIx
YTQxNjdlMDQ2ODhhMzRlNzhhYTJjYTljYmNiODRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgKQEAg
LTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCi0jaW5jbHVkZSAiSlNET01Q
cm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIkxpYldl
YlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUlRDUnRwU2VuZFBhcmFtZXRlcnMuaCIKICNpbmNs
dWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb24uaCIKQEAgLTQzLDYgKzQzLDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBEb2N1bWVudDsK
IGNsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgTWVkaWFTdHJlYW1UcmFjazsKQEAgLTU2LDYgKzU3
LDcgQEAgY2xhc3MgUlRDUnRwU2VuZGVyOwogY2xhc3MgUlRDUnRwVHJhbnNjZWl2ZXI7CiBjbGFz
cyBSVENTZXNzaW9uRGVzY3JpcHRpb247CiBjbGFzcyBSVENTdGF0c1JlcG9ydDsKK2NsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIHN0cnVjdCBNZWRpYUVuZHBvaW50Q29uZmlndXJhdGlv
bjsKIHN0cnVjdCBSVENBbnN3ZXJPcHRpb25zOwpAQCAtNjMsNiArNjUsOCBAQCBzdHJ1Y3QgUlRD
RGF0YUNoYW5uZWxJbml0Owogc3RydWN0IFJUQ09mZmVyT3B0aW9uczsKIHN0cnVjdCBSVENSdHBU
cmFuc2NlaXZlckluaXQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVBy
b21pc2VEZWZlcnJlZDsKKwogbmFtZXNwYWNlIFBlZXJDb25uZWN0aW9uIHsKIHVzaW5nIFNlc3Np
b25EZXNjcmlwdGlvblByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMRGljdGlvbmFyeTxS
VENTZXNzaW9uRGVzY3JpcHRpb246OkluaXQ+PjsKIHVzaW5nIFN0YXRzUHJvbWlzZSA9IERPTVBy
b21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UlRDU3RhdHNSZXBvcnQ+PjsKQEAgLTgzLDcgKzg3
LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBPcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IHNl
bmRlckNhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiBr
aW5kKTsKIAogICAgIGV4cGxpY2l0IFBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVyQ29ubmVj
dGlvbiYpOwotICAgIHZpcnR1YWwgflBlZXJDb25uZWN0aW9uQmFja2VuZCgpID0gZGVmYXVsdDsK
KyAgICB2aXJ0dWFsIH5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKTsKIAogICAgIHZvaWQgY3JlYXRl
T2ZmZXIoUlRDT2ZmZXJPcHRpb25zJiYsIFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRp
b25Qcm9taXNlJiYpOwogICAgIHZvaWQgY3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9wdGlvbnMmJiwg
UGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblByb21pc2UmJik7CkBAIC0yMDksNyAr
MjEzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZG9TZXRMb2NhbERlc2NyaXB0aW9u
KFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZG9TZXRSZW1v
dGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGRvQWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSYpID0gMDsKLSAgICB2aXJ0dWFs
IHZvaWQgZW5kT2ZJY2VDYW5kaWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21p
c2UpIHsgcHJvbWlzZS5yZXNvbHZlKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZW5kT2ZJY2VDYW5k
aWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKICAgICB2aXJ0dWFsIHZvaWQgZG9T
dG9wKCkgPSAwOwogCiAgICAgdm9pZCByZWdpc3Rlck1ETlNOYW1lKGNvbnN0IFN0cmluZyYgaXBB
ZGRyZXNzKTsKQEAgLTIxOCw5ICsyMjIsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgUlRDUGVlckNvbm5l
Y3Rpb24mIG1fcGVlckNvbm5lY3Rpb247CiAKIHByaXZhdGU6Ci0gICAgT3B0aW9uYWw8UGVlckNv
bm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblByb21pc2U+IG1fb2ZmZXJBbnN3ZXJQcm9taXNl
OwotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9zZXREZXNjcmlwdGlv
blByb21pc2U7Ci0gICAgT3B0aW9uYWw8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX2FkZElj
ZUNhbmRpZGF0ZVByb21pc2U7CisgICAgc3RkOjp1bmlxdWVfcHRyPFBlZXJDb25uZWN0aW9uOjpT
ZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlPiBtX29mZmVyQW5zd2VyUHJvbWlzZTsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3NldERlc2NyaXB0aW9uUHJv
bWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX2Fk
ZEljZUNhbmRpZGF0ZVByb21pc2U7CiAKICAgICBib29sIG1fc2hvdWxkRmlsdGVySUNFQ2FuZGlk
YXRlcyB7IHRydWUgfTsKICAgICBzdHJ1Y3QgUGVuZGluZ0lDRUNhbmRpZGF0ZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uY3BwCmluZGV4IGM5ODNmYTNlM2EyYjI0NjllZWUwMGZmMzA3ZGNkMzNjMjY2ODFmOTEuLjM3
NDZiOGJlZmMyM2M2MTdiOTg3YWRmOThkMzRjODQ4NTczMzllYWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3Bw
CkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgogI2luY2x1ZGUgIkpTUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiTWVkaWFFbmRwb2ludENvbmZpZ3VyYXRpb24uaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAppbmRleCA5
ZGQ5NDY3NjAxY2EyNTYyOGM2NGY2MjMzYzc5ZTcxOWNjNjI3ZDJjLi4zY2NhOGIyYjk2NzE4YWU0
NzZkODM5NDMyNjEyMGM5Nzk5MDc5MzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCkBAIC0zOSw2ICszOSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgUGVlckNv
bm5lY3Rpb25CYWNrZW5kOwogc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5k
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tl
bmQuaAppbmRleCA2NTYzOGNkYWFhMTc5MzgwZjZiY2VkMTUwMjZmNGNjM2EwYTFjYTNkLi5hZDUy
NDA5NzhjZGQ5YzJjZTMwZDBmNzUyMWNiZjFhNTE1ZTAzNzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tlbmQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tlbmQuaApA
QCAtMjYsMTYgKzI2LDE3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAotI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVk
aWFTdHJlYW1UcmFjazsKIGNsYXNzIFJUQ0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3MgUlRDUnRw
U2VuZGVyOwotc3RydWN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOwogY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIAorc3RydWN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOworCit0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFJUQ1J0
cFNlbmRlckJhY2tlbmQgewogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlVHJhY2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJUQ1J0cFNlbmRlciYsIFJlZlB0cjxNZWRpYVN0cmVh
bVRyYWNrPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJikgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAK
aW5kZXggNzM4N2EzOGFiMDUxMzg2NzRjNjdiYmFhYzkzMjkzNzc4OTk1YzU0ZS4uNGYyNTE3ZTE2
NWFkZTVmYzMxZGYyYTEwMjQ5NjlmNWJiZTMwODczYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCkBAIC0zOCw2
ICszOCw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhU3RyZWFt
LmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWluZWRFcnJvci5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKQEAgLTYxLDcgKzYyLDcgQEAgUmVmPFVzZXJNZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJl
cXVlc3Q6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhU3RyZWFtUmUKIFVzZXJNZWRp
YVJlcXVlc3Q6OlVzZXJNZWRpYVJlcXVlc3QoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVN0cmVh
bVJlcXVlc3QmJiByZXF1ZXN0LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPE1lZGlh
U3RyZWFtPj4mJiBwcm9taXNlKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGRvY3VtZW50KQogICAg
ICwgbV9pZGVudGlmaWVyKFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQot
ICAgICwgbV9wcm9taXNlKFdURk1vdmUocHJvbWlzZSkpCisgICAgLCBtX3Byb21pc2UobWFrZVVu
aXF1ZVJlZjxET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPE1lZGlhU3RyZWFtPj4+KFdU
Rk1vdmUocHJvbWlzZSkpKQogICAgICwgbV9yZXF1ZXN0KFdURk1vdmUocmVxdWVzdCkpCiB7CiB9
CkBAIC0yNTYsNyArMjU3LDcgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjphbGxvdyhDYXB0dXJl
RGV2aWNlJiYgYXVkaW9EZXZpY2UsIENhcHR1cmVEZXZpY2UmJiB2aWRlb0QKIAogICAgICAgICBB
U1NFUlQoZG9jdW1lbnQuaXNDYXB0dXJpbmcoKSk7CiAgICAgICAgIHN0cmVhbS0+ZG9jdW1lbnQo
KS0+c2V0SGFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2soKTsKLSAgICAgICAgbV9wcm9taXNlLnJl
c29sdmUoV1RGTW92ZShzdHJlYW0pKTsKKyAgICAgICAgbV9wcm9taXNlLT5yZXNvbHZlKFdURk1v
dmUoc3RyZWFtKSk7CiAgICAgfTsKIAogICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9j
dW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpAQCAtMjk4LDcgKzI5OSw3IEBAIHZv
aWQgVXNlck1lZGlhUmVxdWVzdDo6ZGVueShNZWRpYUFjY2Vzc0RlbmlhbFJlYXNvbiByZWFzb24s
IGNvbnN0IFN0cmluZyYgbWVzc2FnCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTWVkaWFBY2Nl
c3NEZW5pYWxSZWFzb246OkludmFsaWRDb25zdHJhaW50OgogICAgICAgICBSRUxFQVNFX0xPRyhN
ZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkgLSBpbnZhbGlkIGNvbnN0cmFpbnQg
LSAlcyIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIG1fcHJvbWlzZS5yZWplY3RU
eXBlPElETEludGVyZmFjZTxPdmVyY29uc3RyYWluZWRFcnJvcj4+KE92ZXJjb25zdHJhaW5lZEVy
cm9yOjpjcmVhdGUobWVzc2FnZSwgIkludmFsaWQgY29uc3RyYWludCJfcykuZ2V0KCkpOworICAg
ICAgICBtX3Byb21pc2UtPnJlamVjdFR5cGU8SURMSW50ZXJmYWNlPE92ZXJjb25zdHJhaW5lZEVy
cm9yPj4oT3ZlcmNvbnN0cmFpbmVkRXJyb3I6OmNyZWF0ZShtZXNzYWdlLCAiSW52YWxpZCBjb25z
dHJhaW50Il9zKS5nZXQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIE1lZGlhQWNjZXNz
RGVuaWFsUmVhc29uOjpIYXJkd2FyZUVycm9yOgogICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0
cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkgLSBoYXJkd2FyZSBlcnJvciIpOwpAQCAtMzE5
LDkgKzMyMCw5IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6ZGVueShNZWRpYUFjY2Vzc0Rlbmlh
bFJlYXNvbiByZWFzb24sIGNvbnN0IFN0cmluZyYgbWVzc2FnCiAgICAgfQogCiAgICAgaWYgKCFt
ZXNzYWdlLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wcm9taXNlLnJlamVjdChjb2RlLCBtZXNzYWdl
KTsKKyAgICAgICAgbV9wcm9taXNlLT5yZWplY3QoY29kZSwgbWVzc2FnZSk7CiAgICAgZWxzZQot
ICAgICAgICBtX3Byb21pc2UucmVqZWN0KGNvZGUpOworICAgICAgICBtX3Byb21pc2UtPnJlamVj
dChjb2RlKTsKIH0KIAogdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjpzdG9wKCkKQEAgLTM2MSw3ICsz
NjIsNyBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbChSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiAgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJ1bmtu
b3duIjsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1fcHJvbWlzZS5yZWplY3QoTm90UmVh
ZGFibGVFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHN0YXJ0aW5nIGNhcHR1cmUgb2YgYSAiX3Ms
IHR5cGVEZXNjcmlwdGlvbiwgIiB0cmFjayJfcykpOworICAgIG1fcHJvbWlzZS0+cmVqZWN0KE5v
dFJlYWRhYmxlRXJyb3IsIG1ha2VTdHJpbmcoIkZhaWxlZCBzdGFydGluZyBjYXB0dXJlIG9mIGEg
Il9zLCB0eXBlRGVzY3JpcHRpb24sICIgdHJhY2siX3MpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9V
c2VyTWVkaWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuaAppbmRleCAzZmJjNDczODMyZTZhNzQxZjQzNTE3NDhlZTEzNmU1ODVh
NDdkYTIwLi5jNmQ1ZWFjZGUyYWRmOThlMjQ2YWI4MGQ5NzYxNGYzYWQwYmE0NDA4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuaApAQCAtMzYsNyArMzYsNyBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAj
aW5jbHVkZSAiQ2FwdHVyZURldmljZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVk
LmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzLmgi
CiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1S
ZXF1ZXN0LmgiCkBAIC00OCw2ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1l
ZGlhU3RyZWFtOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElE
TFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogZW51bSBVc2VyTWVkaWFSZXF1ZXN0
SWRlbnRpZmllclR5cGUgeyB9OwogdXNpbmcgVXNlck1lZGlhUmVxdWVzdElkZW50aWZpZXIgPSBP
YmplY3RJZGVudGlmaWVyPFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyVHlwZT47CiAKQEAgLTkx
LDcgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U3RyaW5nPiBtX3ZpZGVvRGV2aWNlVUlE
czsKICAgICBWZWN0b3I8U3RyaW5nPiBtX2F1ZGlvRGV2aWNlVUlEczsKIAotICAgIERPTVByb21p
c2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+PiBtX3Byb21pc2U7CisgICAgVW5p
cXVlUmVmPERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+Pj4gbV9w
cm9taXNlOwogICAgIE1lZGlhU3RyZWFtUmVxdWVzdCBtX3JlcXVlc3Q7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDkwMGY0OWI0ZjE0ZDZj
ZDNiOTY5NjQ1MzNkODlmNTI5YjMwMDZhYWYuLmJjYjFjODZjOWVlYzZhNjhhNzc0OTRlZThjZTQ1
ZTc5YTA5YWVhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQu
Y3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKExJQldFQlJUQykKIAogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IkpTUlRDU3RhdHNSZXBvcnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENEYXRhQ2hhbm5lbEhhbmRs
ZXIuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKaW5kZXggNmFlZWEx
MzM4OTJkMjA2M2YwMzUzOWI4ZWVjNGRiOWJjZTY0ZDdkOS4uODk0MjU4Yjg2MDk4N2JkODJkM2Q3
OTlhMmVkZDI2MzlmOGYzYzZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRw
U2VuZGVyQmFja2VuZC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRD
KSAmJiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJMaWJXZWJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldl
YlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0aWxzLmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5k
LmNwcAppbmRleCA1YzBkN2U5NWUyZmQxMmUzZjg0ZjE3Y2ZiZWI2ZDg2N2E1MWYyZTQxLi5lNjQz
YTgzYWZjZTJkNDc0ZTA4MmM0YjZlYjQ2YjY2N2IwYzNmMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Nl
aXZlckJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAKQEAgLTI3LDYgKzI3
LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmgiCiAjaW5j
bHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKaW5kZXggMDc3NGZjNmUxNWI2
Zjk4NTNjMmQwYjNlMTQ4YmE1Y2ZjMzcxYzgzNC4uY2MwNzc0YmM1NzEwNGZmMjA3MjVjYzYzNjBj
YjI1ZGQ5MTg4MmQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJKU0RP
TVByb21pc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IkpTUGF5bWVudERldGFpbHNVcGRhdGUuaCIKICNpbmNsdWRlICJKU1BheW1lbnRSZXNwb25zZS5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTQxMCw3ICs0MTEsNyBAQCB2b2lkIFBheW1lbnRSZXF1
ZXN0OjpzaG93KERvY3VtZW50JiBkb2N1bWVudCwgUmVmUHRyPERPTVByb21pc2U+JiYgZGV0YWls
c1Byb21pcwogCiAgICAgbV9zdGF0ZSA9IFN0YXRlOjpJbnRlcmFjdGl2ZTsKICAgICBBU1NFUlQo
IW1fc2hvd1Byb21pc2UpOwotICAgIG1fc2hvd1Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOwor
ICAgIG1fc2hvd1Byb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8U2hvd1Byb21pc2U+KFdURk1vdmUo
cHJvbWlzZSkpOwogCiAgICAgUmVmUHRyPFBheW1lbnRIYW5kbGVyPiBzZWxlY3RlZFBheW1lbnRI
YW5kbGVyOwogICAgIGZvciAoYXV0byYgcGF5bWVudE1ldGhvZCA6IG1fc2VyaWFsaXplZE1ldGhv
ZERhdGEpIHsKQEAgLTQ2OCw3ICs0NjksNyBAQCB2b2lkIFBheW1lbnRSZXF1ZXN0OjphYm9ydFdp
dGhFeGNlcHRpb24oRXhjZXB0aW9uJiYgZXhjZXB0aW9uKQogCiB2b2lkIFBheW1lbnRSZXF1ZXN0
OjpzZXR0bGVTaG93UHJvbWlzZShFeGNlcHRpb25PcjxQYXltZW50UmVzcG9uc2UmPiYmIHJlc3Vs
dCkKIHsKLSAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0ZDo6ZXhjaGFuZ2UobV9zaG93UHJv
bWlzZSwgV1RGOjpudWxsb3B0KSkKKyAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0ZDo6ZXhj
aGFuZ2UobV9zaG93UHJvbWlzZSwgbnVsbHB0cikpCiAgICAgICAgIHNob3dQcm9taXNlLT5zZXR0
bGUoV1RGTW92ZShyZXN1bHQpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4IGY3YzM0MjY3OTQ0NTFi
NWJlZmRhMDdiYjk1ZDM1NzY0NDFhZGVkOGIuLjdmMWI1MmZhMDJkNGUzZjhiMmE0YTViOTJlNDYx
MWUzZTg2NTUxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJB
Y3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRl
ICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlBheW1lbnREZXRhaWxzSW5pdC5oIgogI2luY2x1ZGUg
IlBheW1lbnRNZXRob2RDaGFuZ2VFdmVudC5oIgogI2luY2x1ZGUgIlBheW1lbnRPcHRpb25zLmgi
CkBAIC00OSw2ICs0OSw3IEBAIGVudW0gY2xhc3MgUGF5bWVudENvbXBsZXRlOwogZW51bSBjbGFz
cyBQYXltZW50U2hpcHBpbmdUeXBlOwogc3RydWN0IFBheW1lbnREZXRhaWxzVXBkYXRlOwogc3Ry
dWN0IFBheW1lbnRNZXRob2REYXRhOwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3Mg
RE9NUHJvbWlzZURlZmVycmVkOwogCiBjbGFzcyBQYXltZW50UmVxdWVzdCBmaW5hbCA6IHB1Ymxp
YyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQYXltZW50UmVxdWVzdD4s
IHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUmVmQ291bnRlZDxQYXlt
ZW50UmVxdWVzdD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGF5bWVudFJlcXVlc3Qp
OwpAQCAtMTQyLDcgKzE0Myw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fc2hpcHBpbmdPcHRp
b247CiAgICAgUmVmUHRyPFBheW1lbnRBZGRyZXNzPiBtX3NoaXBwaW5nQWRkcmVzczsKICAgICBT
dGF0ZSBtX3N0YXRlIHsgU3RhdGU6OkNyZWF0ZWQgfTsKLSAgICBPcHRpb25hbDxTaG93UHJvbWlz
ZT4gbV9zaG93UHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U2hvd1Byb21pc2U+IG1fc2hv
d1Byb21pc2U7CiAgICAgT3B0aW9uYWw8UGF5bWVudEhhbmRsZXJXaXRoUGVuZGluZ0FjdGl2aXR5
PiBtX2FjdGl2ZVBheW1lbnRIYW5kbGVyOwogICAgIFJlZlB0cjxET01Qcm9taXNlPiBtX2RldGFp
bHNQcm9taXNlOwogICAgIFJlZlB0cjxET01Qcm9taXNlPiBtX21lcmNoYW50U2Vzc2lvblByb21p
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRSZXNwb25zZS5jcHAKaW5kZXggZDZjMThiODJlNTc5YjRjMjliNWJlNjQ0NGVmZDdj
NDcxZTc4OGIyZS4uOThiNWQ2Y2YyNDA5N2EwY2M4ZTE4ZTFjY2RkMGIzMTk2ODJmZGRmZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVz
cG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5
bWVudFJlc3BvbnNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRf
UkVRVUVTVCkKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMDMsNyArMTA0LDcgQEAgdm9pZCBQYXltZW50
UmVzcG9uc2U6OnJldHJ5KFBheW1lbnRWYWxpZGF0aW9uRXJyb3JzJiYgZXJyb3JzLCBET01Qcm9t
aXNlRGVmZXJyZWQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fcmV0cnlQcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX3JldHJ5UHJvbWlzZSA9IFdURjo6bWFrZVVuaXF1
ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOwogfQogCiB2b2lk
IFBheW1lbnRSZXNwb25zZTo6YWJvcnRXaXRoRXhjZXB0aW9uKEV4Y2VwdGlvbiYmIGV4Y2VwdGlv
bikKQEAgLTEyMCw3ICsxMjEsOCBAQCB2b2lkIFBheW1lbnRSZXNwb25zZTo6c2V0dGxlUmV0cnlQ
cm9taXNlKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVzdWx0KQogCiAgICAgQVNTRVJUKGhhc1BlbmRp
bmdBY3Rpdml0eSgpKTsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6Q3JlYXRlZCk7Ci0g
ICAgc3RkOjpleGNoYW5nZShtX3JldHJ5UHJvbWlzZSwgV1RGOjpudWxsb3B0KS0+c2V0dGxlKFdU
Rk1vdmUocmVzdWx0KSk7CisgICAgbV9yZXRyeVByb21pc2UtPnNldHRsZShXVEZNb3ZlKHJlc3Vs
dCkpOworICAgIG1fcmV0cnlQcm9taXNlID0gbnVsbHB0cjsKIH0KIAogYm9vbCBQYXltZW50UmVz
cG9uc2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNl
LmgKaW5kZXggZWUyMjZhMDZmNDNmNGFiNmYwMGZkNmI3MTg3MmQ5ZThhM2JiOWUwYS4uOWFlOWY4
NWMzMzFiZjE4MzFiY2UyMDc1ZDY1YzdkZThhZWI3MzJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29u
dGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNWYWx1ZUluV3JhcHBl
ZE9iamVjdC5oIgogI2luY2x1ZGUgIlBheW1lbnRBZGRyZXNzLmgiCiAjaW5jbHVkZSAiUGF5bWVu
dENvbXBsZXRlLmgiCkBAIC00Miw2ICs0MSw4IEBAIGNsYXNzIERvY3VtZW50OwogY2xhc3MgUGF5
bWVudFJlcXVlc3Q7CiBzdHJ1Y3QgUGF5bWVudFZhbGlkYXRpb25FcnJvcnM7CiAKK3RlbXBsYXRl
PHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3MgUGF5
bWVudFJlc3BvbnNlIGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50
VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBSZWZDb3VudGVkPFBheW1lbnRSZXNwb25zZT4g
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGF5bWVudFJlc3BvbnNlKTsKIHB1YmxpYzoK
QEAgLTEyMyw3ICsxMjQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3BheWVyRW1haWw7CiAg
ICAgU3RyaW5nIG1fcGF5ZXJQaG9uZTsKICAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6OkNyZWF0
ZWQgfTsKLSAgICBPcHRpb25hbDxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcmV0cnlQcm9t
aXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcmV0
cnlQcm9taXNlOwogICAgIFJlZlB0cjxQZW5kaW5nQWN0aXZpdHk8UGF5bWVudFJlc3BvbnNlPj4g
bV9wZW5kaW5nQWN0aXZpdHk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTBmMGUz
MzE1MDNhYmE2ZTg2YTliZTczMjdkODQ0NWQwYWJjNjg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmNwcApAQCAt
MCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCIKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCisKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworUmVhZGFibGVTdHJlYW1Tb3VyY2U6On5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpID0gZGVmYXVs
dDsKKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6c3RhcnQoUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlciYmIGNvbnRyb2xsZXIsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHBy
b21pc2UpCit7CisgICAgQVNTRVJUKCFtX3Byb21pc2UpOworICAgIG1fcHJvbWlzZSA9IFdURjo6
bWFrZVVuaXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOwor
ICAgIG1fY29udHJvbGxlciA9IFdURk1vdmUoY29udHJvbGxlcik7CisKKyAgICBzZXRBY3RpdmUo
KTsKKyAgICBkb1N0YXJ0KCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGwo
RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAgICBBU1NFUlQoIW1fcHJv
bWlzZSk7CisgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CisKKyAgICBtX3Byb21pc2UgPSBXVEY6
Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21pc2UpKTsK
KworICAgIHNldEFjdGl2ZSgpOworICAgIGRvUHVsbCgpOworfQorCit2b2lkIFJlYWRhYmxlU3Ry
ZWFtU291cmNlOjpzdGFydEZpbmlzaGVkKCkKK3sKKyAgICBBU1NFUlQobV9wcm9taXNlKTsKKyAg
ICBtX3Byb21pc2UtPnJlc29sdmUoKTsKKyAgICBtX3Byb21pc2UgPSBudWxscHRyOworICAgIHNl
dEluYWN0aXZlKCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGxGaW5pc2hl
ZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisgICAgbV9wcm9taXNlLT5yZXNvbHZlKCk7
CisgICAgbV9wcm9taXNlID0gbnVsbHB0cjsKKyAgICBzZXRJbmFjdGl2ZSgpOworfQorCit2b2lk
IFJlYWRhYmxlU3RyZWFtU291cmNlOjpjYW5jZWwoSlNDOjpKU1ZhbHVlKQoreworICAgIGNsZWFu
KCk7CisgICAgZG9DYW5jZWwoKTsKK30KKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6Y2xl
YW4oKQoreworICAgIGlmIChtX3Byb21pc2UpIHsKKyAgICAgICAgbV9wcm9taXNlID0gbnVsbHB0
cjsKKyAgICAgICAgc2V0SW5hY3RpdmUoKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVFJFQU1TX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKaW5kZXggZjRm
MDJiM2FhNmMxZmI3Mjc5ZTQ0M2E3ZTE5Y2E3MjMzN2FhNTIyZi4uZDRjZWZlYmJhNmQ1MmFhNGRi
NWFlMmI1YWEyOWFhYTcwYzJlZmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKQEAgLTMwLDE1ICszMCwxNiBAQAog
CiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordGVtcGxhdGU8
dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFzcyBSZWFk
YWJsZVN0cmVhbVNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlYWRhYmxlU3RyZWFtU291cmNl
PiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+UmVhZGFibGVTdHJlYW1Tb3VyY2UoKSA9IGRlZmF1
bHQ7CisgICAgdmlydHVhbCB+UmVhZGFibGVTdHJlYW1Tb3VyY2UoKTsKIAogICAgIHZvaWQgc3Rh
cnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYmLCBET01Qcm9taXNlRGVmZXJyZWQ8
dm9pZD4mJik7CiAgICAgdm9pZCBwdWxsKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKQEAg
LTYzLDU5ICs2NCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRvQ2FuY2VsKCkg
PSAwOwogCiBwcml2YXRlOgotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4g
bV9wcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+
IG1fcHJvbWlzZTsKICAgICBPcHRpb25hbDxSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
PiBtX2NvbnRyb2xsZXI7CiB9OwogCi1pbmxpbmUgdm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6
c3RhcnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYmIGNvbnRyb2xsZXIsIERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCi17Ci0gICAgQVNTRVJUKCFtX3Byb21pc2Up
OwotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7Ci0gICAgbV9jb250cm9sbGVyID0g
V1RGTW92ZShjb250cm9sbGVyKTsKLQotICAgIHNldEFjdGl2ZSgpOwotICAgIGRvU3RhcnQoKTsK
LX0KLQotaW5saW5lIHZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGwoRE9NUHJvbWlzZURl
ZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKLXsKLSAgICBBU1NFUlQoIW1fcHJvbWlzZSk7Ci0gICAg
QVNTRVJUKG1fY29udHJvbGxlcik7Ci0KLSAgICBtX3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
OwotCi0gICAgc2V0QWN0aXZlKCk7Ci0gICAgZG9QdWxsKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJl
YWRhYmxlU3RyZWFtU291cmNlOjpzdGFydEZpbmlzaGVkKCkKLXsKLSAgICBBU1NFUlQobV9wcm9t
aXNlKTsKLSAgICBzdGQ6OmV4Y2hhbmdlKG1fcHJvbWlzZSwgV1RGOjpudWxsb3B0KS52YWx1ZSgp
LnJlc29sdmUoKTsKLSAgICBzZXRJbmFjdGl2ZSgpOwotfQotCi1pbmxpbmUgdm9pZCBSZWFkYWJs
ZVN0cmVhbVNvdXJjZTo6cHVsbEZpbmlzaGVkKCkKLXsKLSAgICBBU1NFUlQobV9wcm9taXNlKTsK
LSAgICBzdGQ6OmV4Y2hhbmdlKG1fcHJvbWlzZSwgV1RGOjpudWxsb3B0KS52YWx1ZSgpLnJlc29s
dmUoKTsKLSAgICBzZXRJbmFjdGl2ZSgpOwotfQotCi1pbmxpbmUgdm9pZCBSZWFkYWJsZVN0cmVh
bVNvdXJjZTo6Y2FuY2VsKEpTQzo6SlNWYWx1ZSkKLXsKLSAgICBjbGVhbigpOwotICAgIGRvQ2Fu
Y2VsKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpjbGVhbigpCi17
Ci0gICAgaWYgKG1fcHJvbWlzZSkgewotICAgICAgICBtX3Byb21pc2UgPSBXVEY6Om51bGxvcHQ7
Ci0gICAgICAgIHNldEluYWN0aXZlKCk7Ci0gICAgfQotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1RSRUFNU19BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAppbmRleCAzNDE5OTgxYzM1NzRjMzczZWU5
NzYxYmZmZWI1ZGUwZGJkYWFhYjJmLi4wYzQ1YWQ1Zjk5MzUwMGMxNGYzZWM0MTgwMGJhNzI2N2Jk
MjNmZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2luY2x1ZGUg
IkF1ZGlvRGVzdGluYXRpb25Ob2RlLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNs
dWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIk1lZGlhQ2FuU3RhcnRMaXN0
ZW5lci5oIgogI2luY2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5oIgpAQCAtNzgsNiArNzcsOCBAQCBjbGFzcyBTY3JpcHRQcm9jZXNzb3JOb2Rl
OwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBXYXZlU2hhcGVyTm9kZTsKIAordGVtcGxh
dGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiAvLyBBdWRp
b0NvbnRleHQgaXMgdGhlIGNvcm5lcnN0b25lIG9mIHRoZSB3ZWIgYXVkaW8gQVBJIGFuZCBhbGwg
QXVkaW9Ob2RlcyBhcmUgY3JlYXRlZCBmcm9tIGl0LgogLy8gRm9yIHRocmVhZCBzYWZldHkgYmV0
d2VlbiB0aGUgYXVkaW8gdGhyZWFkIGFuZCB0aGUgbWFpbiB0aHJlYWQsIGl0IGhhcyBhIHJlbmRl
cmluZyBncmFwaCBsb2NraW5nIG1lY2hhbmlzbS4gCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcApp
bmRleCA5MTkzNGU4ZDQyY2RhMmZjZjkyNTY5YWVlMDc0YTVjMDg2MjUzODJlLi44NDdkMjY2MTQz
NTcwMTE3YWNlMDRkMjNkYjdlZTYxNWNkYjIxY2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3Bw
CkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVz
cG9uc2UuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQuaCIKICNp
bmNsdWRlICJKU0Jhc2ljQ3JlZGVudGlhbC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlhbC5oIgogI2luY2x1ZGUgIlB1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCIKICNpbmNsdWRlICJQdWJsaWNLZXlDcmVk
ZW50aWFsRGF0YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgKaW5kZXggMGI4Yjg0OWU0MzQ4Y2U0MmFk
MWNkYjBlYWRhZTFmNTNjYmNhM2ZmZS4uOWM2NWFlNmE2NzliYTQ5Nzk1OTJlMjI5OTliODkzZWFh
MzY2MjE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBF
TkFCTEUoV0VCX0FVVEhOKQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNp
bmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTQxLDYgKzQxLDggQEAgY2xhc3MgU2VjdXJpdHlPcmln
aW47CiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczsKIHN0cnVjdCBQ
dWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElE
TFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogdXNpbmcgQ3JlZGVudGlhbFByb21p
c2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8SURMSW50ZXJmYWNlPEJhc2ljQ3Jl
ZGVudGlhbD4+PjsKIAogY2xhc3MgQXV0aGVudGljYXRvckNvb3JkaW5hdG9yIGZpbmFsIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVu
dGlhbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50
aWFsLmgKaW5kZXggMTJkZjBjMmQ2OWM1MmNiMTk5NWRlNDk3ZDE1YmI0OGNlNGJkZjg5MC4uNGJl
NzE1YjM1NDdkODJhNzZmZDdkMzgyOWFkNmIxZGQxMGYzZWE5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmgKQEAgLTI5
LDcgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkJhc2ljQ3JlZGVudGlhbC5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRl
ICJJRExUeXBlcy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtNDAsNiArNDAsOCBAQCBjbGFzcyBEb2N1bWVu
dDsKIAogc3RydWN0IFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhOwogCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFB1YmxpY0tleUNy
ZWRlbnRpYWwgZmluYWwgOiBwdWJsaWMgQmFzaWNDcmVkZW50aWFsIHsKIHB1YmxpYzoKICAgICBz
dHJ1Y3QgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cyB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNlcnZlVmFyaWFi
bGVMaWZldGltZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hM
U0xQcmVzZXJ2ZVZhcmlhYmxlTGlmZXRpbWVzLmNwcAppbmRleCA1M2UzNzg4MzA0NTE3YTFiYzhj
NGVlODcxY2Y0YWE1MzhlODI0YmQ3Li5lMTAxNjM2ZjFhZTk1MmM5OWQzMGQzNmEyZGYxMjYwMTZm
NTk4OWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFByZXNlcnZlVmFyaWFibGVMaWZldGltZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlc2VydmVWYXJpYWJsZUxpZmV0aW1lcy5jcHAKQEAg
LTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIldITFNMQVNULmgiCiAjaW5jbHVkZSAiV0hMU0xB
U1REdW1wZXIuaCIKKyNpbmNsdWRlICJXSExTTExleGVyLmgiCiAjaW5jbHVkZSAiV0hMU0xQcm9n
cmFtLmgiCiAjaW5jbHVkZSAiV0hMU0xSZXBsYWNlV2l0aC5oIgogI2luY2x1ZGUgIldITFNMVmlz
aXRvci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCmluZGV4IDEy
ZGMzNTA2ZjQ3ZGNiNzVmNjVmZTFlNTA0MWZlMjZlMmVkNzkwZDkuLjUwOGZlOThkZmIxZDYzZTZm
OWFlMDAyMjI3YjdiOWFiZWM5NDVkOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGlicmFyeVV0
aWxpdGllcy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIldITFNMQ2FsbEV4cHJl
c3Npb24uaCIKICNpbmNsdWRlICJXSExTTFBhcnNlci5oIgorI2luY2x1ZGUgIldITFNMUHJvZ3Jh
bS5oIgogI2luY2x1ZGUgIldITFNMU3RhbmRhcmRMaWJyYXJ5LmgiCiAjaW5jbHVkZSAiV0hMU0xT
dGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5oIgogI2luY2x1ZGUgIldITFNMVmlzaXRvci5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHAKaW5kZXggMTZjYTRkOTEyMjhj
YWMzZDljOTU0NDcwY2E5NWIxOWNkZTU1MGJhMC4uNmIzOWJkYzc4Y2ZiMTMyNzg3ZjQwZDZlYjk5
ODYzZTdmMjBhNTc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuY3Bw
CkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIkdQVVJl
cXVlc3RBZGFwdGVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSAiSlNXZWJHUFVBZGFwdGVyLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmgKaW5kZXggNzhhMzhlMjkzMTM1
MWU5YzhmMTg2NmE0YjQ5ZGMxODNjNjNjOWM4Mi4uMTYxZTZjZGU3Nzg4Mzk4N2E4MTgxZTJjY2Ey
OTQxMmQxYTRjMTBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmgKQEAg
LTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUpCiAKLSNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzUsNiArMzUsOCBAQCBjbGFzcyBXZWJHUFVBZGFwdGVyOwogCiBzdHJ1Y3Qg
R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBj
bGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFdlYkdQVSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFdlYkdQVT4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViR1BVPiBjcmVhdGUoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKaW5k
ZXggNjk3ODlkOTQ5MWU3NzBkYzYyN2RlNTY5OWRmYzIyMzY0MDMwOGY2MC4uNmRiYTdkMDY3Y2Vj
ZTQ5YjRmZDU4YjI1M2M2YjlhZDM1MGRjZjM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU1dlYkdQVURldmlj
ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVBZGFwdGVyLmgKaW5kZXggMTg0OTUxOTc3MmQzMmJjMjNiYjUyNDU3NGI3ODA2
ODIzMTZjOTgzYy4uOWQ3YzE3Y2FhMTczYTcxYTVjNDJjODM5Nzg3ODA2Y2QzNDg2YzEyMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaApAQCAtMjgs
NyArMjgsNyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVSZXF1ZXN0QWRh
cHRlck9wdGlvbnMuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1
ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zOCw2ICszOCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgV2ViR1BVRGV2aWNlOwog
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisK
IGNsYXNzIFdlYkdQVUFkYXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVBZGFwdGVyPiB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJHUFVBZGFwdGVyPiBjcmVhdGUoT3B0aW9uYWw8
R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVCdWZmZXIuY3BwCmluZGV4IGJhMjU5NjNhMTIwNDdlN2IwZDE0NWRjNDI4
NDc4MDBhNmEyZTFmZGUuLjQxZjQxNjg3OWVlNmMzNGM3NzEyYjJhZGZiYjU2OTMxMmY5ZmU1YTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmNwcApA
QCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVFcnJv
clNjb3Blcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuaAppbmRleCBkOTk2YjVl
ZWU5ZDhlMDI4MWUwNjI2ZDdjZWI2YzE4NTExNjZjZTM5Li5iMmVlZTIwOTJhM2RlZGY3YjczNTI2
ZDllZDhhMzI5MjNhZWY0YjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVCdWZmZXIuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkdQVUJ1ZmZlci5oIgog
I2luY2x1ZGUgIkdQVUJ1ZmZlclVzYWdlLmgiCiAjaW5jbHVkZSAiR1BVT2JqZWN0QmFzZS5oIgot
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIK
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDEsNiArNDEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBHUFVCdWZmZXJEZXNjcmlwdG9yOwog
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisK
IGNsYXNzIFdlYkdQVUJ1ZmZlciA6IHB1YmxpYyBHUFVPYmplY3RCYXNlIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmPFdlYkdQVUJ1ZmZlcj4gY3JlYXRlKFJlZlB0cjxHUFVCdWZmZXI+JiYsIEdQ
VUVycm9yU2NvcGVzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcAppbmRleCA3ZDVkZTc5YzgwMjY1MThjNDA4MWFhMDJjNjg5NDI5ZjJiNzJmYTNi
Li42ZGM4ZGIzMTQwYzkwOTM5MjhjZmE2ZmFmYzk5ZDhhNTIyYTgwMmQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTUxLDYgKzUxLDcg
QEAKICNpbmNsdWRlICJHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydEJ1ZmZlclNvdXJj
ZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNHUFVP
dXRPZk1lbW9yeUVycm9yLmgiCiAjaW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3IuaCIKICNp
bmNsdWRlICJKU1dlYkdQVUJ1ZmZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuaAppbmRleCAyMWI1NDE3YzIxMGE3NWY4YmI5OWMyMjczMTIxNGNiZDIw
MzlkMWExLi41ZDM1YmNmMjdmZjhkMjZiNTE0MzUxNDg5ZmJhYzg0Y2NhZDEzZjY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMzAsNyArMzAs
NyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR1BVRGV2aWNlLmgiCiAj
aW5jbHVkZSAiR1BVRXJyb3JTY29wZXMuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViR1BVQWRhcHRlci5oIgog
I2luY2x1ZGUgIldlYkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWluRGVzY3Jp
cHRvci5oIgpAQCAtNzIsNiArNzIsOCBAQCBzdHJ1Y3QgV2ViR1BVU2hhZGVyTW9kdWxlRGVzY3Jp
cHRvcjsKIAogZW51bSBjbGFzcyBHUFVFcnJvckZpbHRlcjsKIAordGVtcGxhdGU8dHlwZW5hbWUg
SURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiB1c2luZyBFcnJvcklETFVuaW9u
ID0gSURMVW5pb248SURMSW50ZXJmYWNlPEdQVU91dE9mTWVtb3J5RXJyb3I+LCBJRExJbnRlcmZh
Y2U8R1BVVmFsaWRhdGlvbkVycm9yPj47CiB1c2luZyBFcnJvclByb21pc2UgPSBET01Qcm9taXNl
RGVmZXJyZWQ8SURMTnVsbGFibGU8RXJyb3JJRExVbmlvbj4+OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmlnYXRvcldlYlZSLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuY3BwCmluZGV4IDc3NmM0M2FlYzBiOWI1
YmRlYWRjM2RkODkxMjZhY2VkNmJhNzUxNjguLjRkZjEwMjExYTdhNDY5ZWFlMTg5ZGZhNGRjNTBh
OGMzZjc5YTUzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2
aWdhdG9yV2ViVlIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdh
dG9yV2ViVlIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiTmF2aWdhdG9yV2ViVlIu
aCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKICNpbmNsdWRlICJKU1ZSRGlzcGxheS5oIgogI2luY2x1ZGUgIk5hdmlnYXRvci5oIgog
I2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuaAppbmRleCA1NjEwYmExZTgyNDY2ZTU0ZTA1YWNj
N2EwNTE1ZTY1YzVmOGVmZDlmLi5mZmQ3MTM5Y2VhYzc1ZWQ0YjgwZDc4OTEzNWMzODg2ZWRiY2Fl
Y2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmlnYXRvcldl
YlZSLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5o
CkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlN1cHBsZW1l
bnRhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zNiw2ICszNiw4IEBAIGNs
YXNzIE5hdmlnYXRvcjsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBWUkRpc3BsYXk7CiAKK3RlbXBsYXRl
PHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3MgTmF2
aWdhdG9yV2ViVlIgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VidnIvVlJEaXNwbGF5LmNwcAppbmRleCBjNjY2N2JiZjYwMGVjMjAyZGZmOWZlNWNiMzYwNGI5
YmE2ZGViZWNkLi44MDZhN2FiOWE0MDYyM2MwMzJhZGYyN2UzNTI1NmMwNzEyNGI0Zjg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCkBAIC0zMSw2ICszMSw3
IEBACiAjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ2ci9WUkRpc3BsYXkuaAppbmRleCA1ODUxM2M2ZWY5YjExYmI3MGVlNjY5MjgxMTMw
Zjc4MzIwM2ZlNTQzLi4xY2FkODQ2NGZiMDFhYTEzMjUzM2JiZDJkMTQzOTljZWE3NGM0MWE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmgKQEAgLTI3LDcgKzI3LDYg
QEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0
LmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJWUkV5ZS5o
IgogI2luY2x1ZGUgIlZSTGF5ZXJJbml0LmgiCiAjaW5jbHVkZSAiVlJQbGF0Zm9ybURpc3BsYXlD
bGllbnQuaCIKQEAgLTM2LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBF
eGNlcHRpb25Db2RlOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgUmVxdWVzdEFuaW1h
dGlvbkZyYW1lQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI7CiBj
bGFzcyBWUkRpc3BsYXlDYXBhYmlsaXRpZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDljMTcxZTU2YzAw
ZTMyZWM0OTgwN2U3MTA1MDAwM2Q2MGRiMDFkMDguLmRjZWE2NjYyM2ZjMjRkYjg4NDUwMmIyYzVm
NGUwYzhhOGFhNmZkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMDUsNiArMjA1LDcgQEAgTW9kdWxl
cy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmNwcAogTW9kdWxlcy9zcGVlY2gvU3Bl
ZWNoU3ludGhlc2lzVm9pY2UuY3BwCiAKIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNp
bmsuY3BwCitNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3BwCiAKIE1vZHVs
ZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmNwcAogTW9kdWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlv
RGVjb2Rlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCAwOGE0NjkyYzcxOGYzOTUyMGYxYzIyZmRlYjU4MjAzN2E0ZjlhZGRm
Li44MGNlYjM5MGExMWExNzcyMGM4MzJlN2RlZTMxZDNmNTRiOGM2ZDA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NjMxLDYg
KzY2MzEsNyBAQAogCQkyRDNFRjQ0NTE5MTc5MTVDMDAwMzQxODQgLyogV2ViQWN0aW9uRGlzYWJs
aW5nQ0FMYXllckRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV2ViQWN0aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDNFRjQ0NjE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ29yZUNBTGF5
ZXJFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZUNBTGF5
ZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQzRUY0NDcxOTE3OTE1
QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJENDNFQjJEMjM0NzJCQzMwMDJBMUVENCAvKiBSZWFkYWJsZVN0
cmVhbVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFk
YWJsZVN0cmVhbVNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENDZG
MDREMTdCOTZGQkQwMDU2NDdGMCAvKiBJbnRQb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJbnRQb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJENDZGMDRGMTdCOTZGRDIwMDU2NDdGMCAvKiBJbnRTaXplLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludFNpemUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJGODggLyogVGV4dEluZGljYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0SW5kaWNhdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTM2LDYgKzE3OTM3LDcgQEAKIAkJCQk0
MTI5Qzk4NzFGNTg2NjJEMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmNwcCAqLywKIAkJ
CQk0MTI5Qzk4MDFGNTg2MUM3MDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmggKi8sCiAJ
CQkJNDEyOUM5ODExRjU4NjFDNzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5pZGwgKi8s
CisJCQkJMkQ0M0VCMkQyMzQ3MkJDMzAwMkExRUQ0IC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmNw
cCAqLywKIAkJCQk0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1Tb3Vy
Y2UuaCAqLywKIAkJCQk0MThDMzk1QzFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1T
b3VyY2UuaWRsICovLAogCQkJCTk5MDhCMEYxMUJDQUNGOTEwMEVEMEY1NSAvKiBTdHJlYW1JbnRl
cm5hbHMuanMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNw
cAppbmRleCBjMDdhMDJmNTY5NGIxYTAxYzZmZTMwNTZkNzY3OGQ4YTRiMzFhYWU0Li5mYTE1N2Rj
M2FiNjUzOGU1Y2NjYmNlOTliYzBmMWZhYjIyNmY3M2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJH
ZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkpTQ29tcG9zaXRlT3BlcmF0aW9uLmgiCiAj
aW5jbHVkZSAiSlNDb21wb3NpdGVPcGVyYXRpb25PckF1dG8uaCIKKyNpbmNsdWRlICJKU0RPTUNv
bnZlcnQuaCIKICNpbmNsdWRlICJKU0tleWZyYW1lRWZmZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVy
Qm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggNTA0YTJmM2VlZmY3YWZjYThkZTdkNWZj
NDhmMDlmOTUxNGUzMTIxNS4uMzE5NGIzMjc0NzVmZjE2ZTlhZGQxMTQyOWM2OGUwZTU1YmFlNDFm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3QuaCIKICNpbmNsdWRlICJBbmltYXRp
b25QbGF5YmFja0V2ZW50LmgiCiAjaW5jbHVkZSAiQW5pbWF0aW9uVGltZWxpbmUuaCIKKyNpbmNs
dWRlICJET01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJEZWNsYXJhdGl2ZUFuaW1hdGlvbi5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUaW1lbGluZS5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDM1OTJkNjI2MmNlODZi
MjA5MTJhYzVmNGQ1NmMzY2QzNDcxZWYwZGUuLjIwYjRjY2E2YzdhNTQ5NjViNjAwYmZlYmE3MDc1
ZGMzMWFiZDQ1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmlt
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKQEAg
LTI2LDkgKzI2LDkgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0
LmgiCi0jaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5j
bHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSA8d3RmL01hcmthYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ1LDYgKzQ1LDggQEAgY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKK3RlbXBsYXRlPHR5
cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7
CisKIGNsYXNzIFdlYkFuaW1hdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkFuaW1hdGlvbj4s
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJBbmltYXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRX
aXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChXZWJBbmltYXRpb24pOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5kZXggNWZi
NzRlNGFiYTQwYmVmM2UwMTVlYWI3YzIwYTgxZmViYThkZTYwOC4uYWFjM2Q0YWM0ZjkwOTM1ODUy
OWFiNjEzZjc1Zjk4NWRhNDMxYzdkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNs
dWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9h
ZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50LmgKaW5kZXggN2M0MTRkODlkNGU5NzM1OTk1OTkxMzc5NWY4Yzc1NjU5MTUxODgxMy4u
ODY4OGFkOTBkYWUzZWNlOTQ5ZWEwOWIxZWZlZTVkYTI2Zjk0Yzc4NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVy
Q2xpZW50LmgKQEAgLTI1LDExICsyNSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
Q2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogCiBjbGFz
cyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogcHVibGljOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZURlZmVycmVkLmgKaW5kZXggZDk2MDI4
YmMyZmQzZDEwNmIwZTQ0ZDY4N2RkMDE5M2UyMWNhMGY0Mi4uYmM3NGFhZjNjYWYyOWRlMzg5NjA4
ODI5ZjRmZjAyZmM0ZDIyNTQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01Qcm9taXNlRGVmZXJyZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVByb21pc2VEZWZlcnJlZC5oCkBAIC0xNjYsNiArMTY2LDcgQEAgcHJpdmF0ZToKIH07
CiAKIGNsYXNzIERPTVByb21pc2VEZWZlcnJlZEJhc2UgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIERPTVByb21pc2VEZWZlcnJlZEJhc2UoUmVmPERlZmVycmVk
UHJvbWlzZT4mJiBnZW5lcmljUHJvbWlzZSkKICAgICAgICAgOiBtX3Byb21pc2VEZWZlcnJlZChX
VEZNb3ZlKGdlbmVyaWNQcm9taXNlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCmluZGV4IDVlMzRjZGUy
ZGYzOGNhMDM5NzdhNDA2OWE2ZjQ3NzY0YmI3ZTBhMjguLjgzNWZkNjdlMzhiY2RkMmVhMjhjMTE0
MTgzMmY1ZjVjM2Q2YWU2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcApAQCAtMzEsOSArMzEsOSBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTSFRNTFRlbXBsYXRlRWxlbWVudC5o
IgogCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiSlNEb2N1bWVudEZyYWdt
ZW50LmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20uY3BwCmlu
ZGV4IDdhOGNhZWRjMGE3ZDY0MzRlZTMxZjI5NmRkMGE0OWFmMDljYjYyZmYuLmZhYjQwY2E4YWNj
ZDZjYTYyNTU1MGYwZjMzYWRjY2Q1M2RkYjcxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSW1hZ2VEYXRhQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgogCi0jaW5jbHVkZSAiSlNE
T01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5j
bHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9IZWFw
SW5saW5lcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0lkZW50aWZpZXJJbmxpbmVzLmg+
CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBKU0M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKaW5kZXggZmU5NzVmYjBkNTZi
NGFiNTczYzBkMmNjY2NhMDZlYWVjZjU1MWM1Yi4uYjY1MDI2ZWY5NmE4N2EwMDk4ZGE4ZDg3Yjhi
YjBmMzkyMDBkMzgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNS
ZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAK
IAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1c3RvbS5jcHAK
aW5kZXggZjFiNDQ3ZDgzNGYyODY5Y2ZkNjRhZGM5ZGIzMmJiMWQxN2I4ZDNlZi4uOGU5Y2I5ZWI5
NDYzOTRmNTg5MzgzYmI0NTY4YzJlZGE5NWI5MzMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9uQ3VzdG9tLmNwcApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgIkpTQ1NTQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDU1NUcmFuc2l0aW9u
LmgiCiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvci5oIgorI2luY2x1ZGUgIkpTRE9NQ29udmVy
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCA5YmQ2NjQ0NjAx
NzA1NDk1YTk0ZTdiM2ZhZGYwNDhmM2M3YjA0M2Y3Li5mYzM2YjMzMGUxNWMzYThjOTQ1Zjc5NTVh
NTg1MTdmNWZiMTNkODU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVk
ZSAiQWN0aXZlRE9NQ2FsbGJhY2tNaWNyb3Rhc2suaCIKICNpbmNsdWRlICJET01XcmFwcGVyV29y
bGQuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdFRhc2suaCIKKyNpbmNsdWRlICJKU0RP
TUd1YXJkZWRPYmplY3QuaCIKICNpbmNsdWRlICJKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmgiCiAjaW5jbHVkZSAiSlNNaWNyb3Rhc2tDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTV29ya2Vy
R2xvYmFsU2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V29ya2VyR2xvYmFsU2NvcGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKaW5kZXggMGI3MzQ1YWMxMWIzYTRhZTZiNmRk
MTdmMjk2MjI0ZDBkY2IyNTcyZC4uZGQzZGUyY2VmNzM1MjMzNGQxMmUyOTI5NDBlNmYyNDNmNmEw
NTNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9i
YWxTY29wZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKQEAgLTI2LDEwICsyNiwxMCBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGUuaCIKIAorI2luY2x1ZGUgIkpT
RE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTWljcm90YXNrLmg+CiAKLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggNzE1MTNh
NzI0OTIyM2E5NzJiMGEwYjc1ZjkzMTYwMWE1ZTk4OWEyZC4uODk0MzZlOTNiY2RlMzMyMjU3ZGE1
ZGY1MjRjYjFhODY5MzJlOTdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAK
ICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dFRhc2suaCIKKyNpbmNsdWRlICJKU0RPTUd1YXJkZWRPYmplY3QuaCIKICNpbmNsdWRlICJKU1dv
cmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtsZXRHbG9iYWxTY29wZS5oIgogI2lu
Y2x1ZGUgIldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAppbmRleCBhOTQxZmI0ZTI1MDIxNWJj
ZDdiNTI2NmEwZjNlZjNhMTc1NGRmNTVkLi41ZWFlMjEyMDQ3MjkwOWVlNWYwMzViNDA2Nzk4MmVh
Y2MzODE3YTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRN
b2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1v
ZHVsZUxvYWRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5o
IgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNb2R1bGVGZXRjaEZh
aWx1cmVLaW5kLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcAppbmRleCBlMWIxYWYyMGZiMTFhZTNk
ZmVlMTkyY2FjOTJlNjJjZGVhNTU3ZGM4Li5hMmU5M2U4ZWRjYTk1ZmEyZGVhNjI4MzkxNWNiZWUw
OTk1NTBlYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNp
bmNsdWRlICJDU1NVbmljb2RlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5o
IgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udFZhcmlhbnRCdWlsZGVyLmgi
CiAjaW5jbHVkZSAiSlNGb250RmFjZS5oIgpAQCAtMTI2LDE0ICsxMjcsMTQgQEAgUmVmPEZvbnRG
YWNlPiBGb250RmFjZTo6Y3JlYXRlKENTU0ZvbnRGYWNlJiBmYWNlKQogCiBGb250RmFjZTo6Rm9u
dEZhY2UoQ1NTRm9udFNlbGVjdG9yJiBmb250U2VsZWN0b3IpCiAgICAgOiBtX2JhY2tpbmcoQ1NT
Rm9udEZhY2U6OmNyZWF0ZSgmZm9udFNlbGVjdG9yLCBudWxscHRyLCB0aGlzKSkKLSAgICAsIG1f
bG9hZGVkUHJvbWlzZSgqdGhpcywgJkZvbnRGYWNlOjpsb2FkZWRQcm9taXNlUmVzb2x2ZSkKKyAg
ICAsIG1fbG9hZGVkUHJvbWlzZShtYWtlVW5pcXVlUmVmPExvYWRlZFByb21pc2U+KCp0aGlzLCAm
Rm9udEZhY2U6OmxvYWRlZFByb21pc2VSZXNvbHZlKSkKIHsKICAgICBtX2JhY2tpbmctPmFkZENs
aWVudCgqdGhpcyk7CiB9CiAKIEZvbnRGYWNlOjpGb250RmFjZShDU1NGb250RmFjZSYgZmFjZSkK
ICAgICA6IG1fYmFja2luZyhmYWNlKQotICAgICwgbV9sb2FkZWRQcm9taXNlKCp0aGlzLCAmRm9u
dEZhY2U6OmxvYWRlZFByb21pc2VSZXNvbHZlKQorICAgICwgbV9sb2FkZWRQcm9taXNlKG1ha2VV
bmlxdWVSZWY8TG9hZGVkUHJvbWlzZT4oKnRoaXMsICZGb250RmFjZTo6bG9hZGVkUHJvbWlzZVJl
c29sdmUpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKIH0KQEAgLTQ2Mywx
NSArNDY0LDE1IEBAIHZvaWQgRm9udEZhY2U6OmZvbnRTdGF0ZUNoYW5nZWQoQ1NTRm9udEZhY2Um
IGZhY2UsIENTU0ZvbnRGYWNlOjpTdGF0dXMsIENTU0ZvbnRGCiAgICAgY2FzZSBDU1NGb250RmFj
ZTo6U3RhdHVzOjpTdWNjZXNzOgogICAgICAgICAvLyBGSVhNRTogVGhpcyBjaGVjayBzaG91bGQg
bm90IGJlIG5lZWRlZCwgYnV0IGJlY2F1c2UgRm9udEZhY2UncyBhcmUgc29tZXRpbWVzIGFkb3B0
ZWQgYWZ0ZXIgdGhleSBoYXZlIGFscmVhZHkKICAgICAgICAgLy8gZ29uZSB0aHJvdWdoIGEgbG9h
ZCBjeWNsZSwgd2UgY2FuIHNvbWV0aW1lcyBjb21lIGJhY2sgdGhyb3VnaCBoZXJlIGFuZCB0cnkg
dG8gcmVzb2x2ZSB0aGUgcHJvbWlzZSBhZ2Fpbi4gIAotICAgICAgICBpZiAoIW1fbG9hZGVkUHJv
bWlzZS5pc0Z1bGZpbGxlZCgpKQotICAgICAgICAgICAgbV9sb2FkZWRQcm9taXNlLnJlc29sdmUo
KnRoaXMpOworICAgICAgICBpZiAoIW1fbG9hZGVkUHJvbWlzZS0+aXNGdWxmaWxsZWQoKSkKKyAg
ICAgICAgICAgIG1fbG9hZGVkUHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAgICAgICAgIGRlcmVm
KCk7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIENTU0ZvbnRGYWNlOjpTdGF0dXM6OkZhaWx1
cmU6CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIHNob3VsZCBub3QgYmUgbmVlZGVkLCBi
dXQgYmVjYXVzZSBGb250RmFjZSdzIGFyZSBzb21ldGltZXMgYWRvcHRlZCBhZnRlciB0aGV5IGhh
dmUgYWxyZWFkeQogICAgICAgICAvLyBnb25lIHRocm91Z2ggYSBsb2FkIGN5Y2xlLCB3ZSBjYW4g
c29tZXRpbWVzIGNvbWUgYmFjayB0aHJvdWdoIGhlcmUgYW5kIHRyeSB0byByZXNvbHZlIHRoZSBw
cm9taXNlIGFnYWluLiAgCi0gICAgICAgIGlmICghbV9sb2FkZWRQcm9taXNlLmlzRnVsZmlsbGVk
KCkpCi0gICAgICAgICAgICBtX2xvYWRlZFByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5ldHdv
cmtFcnJvciB9KTsKKyAgICAgICAgaWYgKCFtX2xvYWRlZFByb21pc2UtPmlzRnVsZmlsbGVkKCkp
CisgICAgICAgICAgICBtX2xvYWRlZFByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBOZXR3b3Jr
RXJyb3IgfSk7CiAgICAgICAgIGRlcmVmKCk7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIENT
U0ZvbnRGYWNlOjpTdGF0dXM6OlBlbmRpbmc6CkBAIC00ODMsNyArNDg0LDcgQEAgdm9pZCBGb250
RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwgQ1NTRm9udEZhY2U6OlN0
YXR1cywgQ1NTRm9udEYKIGF1dG8gRm9udEZhY2U6OmxvYWQoKSAtPiBMb2FkZWRQcm9taXNlJgog
ewogICAgIG1fYmFja2luZy0+bG9hZCgpOwotICAgIHJldHVybiBtX2xvYWRlZFByb21pc2U7Cisg
ICAgcmV0dXJuIG1fbG9hZGVkUHJvbWlzZS5nZXQoKTsKIH0KIAogRm9udEZhY2UmIEZvbnRGYWNl
Ojpsb2FkZWRQcm9taXNlUmVzb2x2ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Rm9udEZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oCmluZGV4IGYwNWE3ZWYw
ODZmOWMzNWFkMTgyZDA1MmViNmQxNzc0Yzc4MTM5MGUuLmRjN2IxYWM2OWJjNTAzMjNiNzc2ZTll
MWVkODgwMmE0YWMxMWEwZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oCkBAIC0yNyw3ICsyNyw4IEBA
CiAKICNpbmNsdWRlICJDU1NGb250RmFjZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMu
aCIKLSNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgor
I2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTM4LDYgKzM5LDggQEAgY2xhc3MgQXJyYXlCdWZm
ZXJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5
cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNsYXNzIEZv
bnRGYWNlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udEZhY2U+LCBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8Rm9udEZhY2U+LCBwcml2YXRlIENTU0ZvbnRGYWNlOjpDbGllbnQgewogcHVibGlj
OgogICAgIHN0cnVjdCBEZXNjcmlwdG9ycyB7CkBAIC03Nyw3ICs4MCw3IEBAIHB1YmxpYzoKICAg
ICBMb2FkU3RhdHVzIHN0YXR1cygpIGNvbnN0OwogCiAgICAgdXNpbmcgTG9hZGVkUHJvbWlzZSA9
IERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s8SURMSW50ZXJmYWNlPEZvbnRGYWNl
Pj47Ci0gICAgTG9hZGVkUHJvbWlzZSYgbG9hZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQcm9taXNl
OyB9CisgICAgTG9hZGVkUHJvbWlzZSYgbG9hZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQcm9taXNl
LmdldCgpOyB9CiAgICAgTG9hZGVkUHJvbWlzZSYgbG9hZCgpOwogCiAgICAgdm9pZCBhZG9wdChD
U1NGb250RmFjZSYpOwpAQCAtOTksNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBGb250RmFjZSYg
bG9hZGVkUHJvbWlzZVJlc29sdmUoKTsKIAogICAgIFJlZjxDU1NGb250RmFjZT4gbV9iYWNraW5n
OwotICAgIExvYWRlZFByb21pc2UgbV9sb2FkZWRQcm9taXNlOworICAgIFVuaXF1ZVJlZjxMb2Fk
ZWRQcm9taXNlPiBtX2xvYWRlZFByb21pc2U7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNl
U2V0LmNwcAppbmRleCBhMTcwZTAxMmY5YzhmOWQwYTZkMzgzNTAwNjBkZmRkNzQ5MWFiZWVhLi5i
YTY3ZWI0NmM3NTg1MmEzMmI5MTkzMjkzNzU3MzRlNjNjZGU1ODgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9G
b250RmFjZVNldC5jcHAKQEAgLTI5LDcgKzI5LDkgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRl
ICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZS5oIgogI2luY2x1ZGUgIkpT
Rm9udEZhY2VTZXQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNTUs
NyArNTcsNyBAQCBSZWY8Rm9udEZhY2VTZXQ+IEZvbnRGYWNlU2V0OjpjcmVhdGUoRG9jdW1lbnQm
IGRvY3VtZW50LCBDU1NGb250RmFjZVNldCYgYmFja2luZwogRm9udEZhY2VTZXQ6OkZvbnRGYWNl
U2V0KERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVmVjdG9yPFJlZlB0cjxGb250RmFjZT4+JiBp
bml0aWFsRmFjZXMpCiAgICAgOiBBY3RpdmVET01PYmplY3QoZG9jdW1lbnQpCiAgICAgLCBtX2Jh
Y2tpbmcoQ1NTRm9udEZhY2VTZXQ6OmNyZWF0ZSgpKQotICAgICwgbV9yZWFkeVByb21pc2UoKnRo
aXMsICZGb250RmFjZVNldDo6cmVhZHlQcm9taXNlUmVzb2x2ZSkKKyAgICAsIG1fcmVhZHlQcm9t
aXNlKG1ha2VVbmlxdWVSZWY8UmVhZHlQcm9taXNlPigqdGhpcywgJkZvbnRGYWNlU2V0OjpyZWFk
eVByb21pc2VSZXNvbHZlKSkKICAgICAsIG1fdGFza1F1ZXVlKFN1c3BlbmRhYmxlVGFza1F1ZXVl
OjpjcmVhdGUoJmRvY3VtZW50KSkKIHsKICAgICBtX2JhY2tpbmctPmFkZENsaWVudCgqdGhpcyk7
CkBAIC02NiwxNCArNjgsMTQgQEAgRm9udEZhY2VTZXQ6OkZvbnRGYWNlU2V0KERvY3VtZW50JiBk
b2N1bWVudCwgY29uc3QgVmVjdG9yPFJlZlB0cjxGb250RmFjZT4+JiBpbmkKIEZvbnRGYWNlU2V0
OjpGb250RmFjZVNldChEb2N1bWVudCYgZG9jdW1lbnQsIENTU0ZvbnRGYWNlU2V0JiBiYWNraW5n
KQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGRvY3VtZW50KQogICAgICwgbV9iYWNraW5nKGJhY2tp
bmcpCi0gICAgLCBtX3JlYWR5UHJvbWlzZSgqdGhpcywgJkZvbnRGYWNlU2V0OjpyZWFkeVByb21p
c2VSZXNvbHZlKQorICAgICwgbV9yZWFkeVByb21pc2UobWFrZVVuaXF1ZVJlZjxSZWFkeVByb21p
c2U+KCp0aGlzLCAmRm9udEZhY2VTZXQ6OnJlYWR5UHJvbWlzZVJlc29sdmUpKQogICAgICwgbV90
YXNrUXVldWUoU3VzcGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZSgmZG9jdW1lbnQpKQogewogICAg
IGlmIChkb2N1bWVudC5mcmFtZSgpKQogICAgICAgICBtX2lzRmlyc3RMYXlvdXREb25lID0gZG9j
dW1lbnQuZnJhbWUoKS0+bG9hZGVyKCkuc3RhdGVNYWNoaW5lKCkuZmlyc3RMYXlvdXREb25lKCk7
CiAKICAgICBpZiAobV9pc0ZpcnN0TGF5b3V0RG9uZSAmJiAhYmFja2luZy5oYXNBY3RpdmVGb250
RmFjZXMoKSkKLSAgICAgICAgbV9yZWFkeVByb21pc2UucmVzb2x2ZSgqdGhpcyk7CisgICAgICAg
IG1fcmVhZHlQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKIAogICAgIG1fYmFja2luZy0+YWRkQ2xp
ZW50KCp0aGlzKTsKIH0KQEAgLTk2LDcgKzk4LDcgQEAgUmVmUHRyPEZvbnRGYWNlPiBGb250RmFj
ZVNldDo6SXRlcmF0b3I6Om5leHQoKQogfQogCiBGb250RmFjZVNldDo6UGVuZGluZ1Byb21pc2U6
OlBlbmRpbmdQcm9taXNlKExvYWRQcm9taXNlJiYgcHJvbWlzZSkKLSAgICA6IHByb21pc2UoV1RG
TW92ZShwcm9taXNlKSkKKyAgICA6IHByb21pc2UobWFrZVVuaXF1ZVJlZjxMb2FkUHJvbWlzZT4o
V1RGTW92ZShwcm9taXNlKSkpCiB7CiB9CiAKQEAgLTE3MCw3ICsxNzIsNyBAQCB2b2lkIEZvbnRG
YWNlU2V0Ojpsb2FkKGNvbnN0IFN0cmluZyYgZm9udCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBMb2Fk
UHJvbWlzZSYmIHBybwogICAgIH0KIAogICAgIGlmICghd2FpdGluZykKLSAgICAgICAgcGVuZGlu
Z1Byb21pc2UtPnByb21pc2UucmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOworICAgICAg
ICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS0+cmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMp
OwogfQogCiBFeGNlcHRpb25Pcjxib29sPiBGb250RmFjZVNldDo6Y2hlY2soY29uc3QgU3RyaW5n
JiBmYW1pbHksIGNvbnN0IFN0cmluZyYgdGV4dCkKQEAgLTIwMywxOCArMjA1LDE4IEBAIHZvaWQg
Rm9udEZhY2VTZXQ6OnN0YXJ0ZWRMb2FkaW5nKCkKIHZvaWQgRm9udEZhY2VTZXQ6OmRpZEZpcnN0
TGF5b3V0KCkKIHsKICAgICBtX2lzRmlyc3RMYXlvdXREb25lID0gdHJ1ZTsKLSAgICBpZiAoIW1f
YmFja2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkgJiYgIW1fcmVhZHlQcm9taXNlLmlzRnVsZmls
bGVkKCkpIHsKKyAgICBpZiAoIW1fYmFja2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkgJiYgIW1f
cmVhZHlQcm9taXNlLT5pc0Z1bGZpbGxlZCgpKSB7CiAgICAgICAgIG1fdGFza1F1ZXVlLT5lbnF1
ZXVlVGFzayhbdGhpc10gewotICAgICAgICAgICAgbV9yZWFkeVByb21pc2UucmVzb2x2ZSgqdGhp
cyk7CisgICAgICAgICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAgICAgICAg
IH0pOwogICAgIH0KIH0KIAogdm9pZCBGb250RmFjZVNldDo6Y29tcGxldGVkTG9hZGluZygpCiB7
Ci0gICAgaWYgKG1faXNGaXJzdExheW91dERvbmUgJiYgIW1fcmVhZHlQcm9taXNlLmlzRnVsZmls
bGVkKCkpIHsKKyAgICBpZiAobV9pc0ZpcnN0TGF5b3V0RG9uZSAmJiAhbV9yZWFkeVByb21pc2Ut
PmlzRnVsZmlsbGVkKCkpIHsKICAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlz
XSB7Ci0gICAgICAgICAgICBtX3JlYWR5UHJvbWlzZS5yZXNvbHZlKCp0aGlzKTsKKyAgICAgICAg
ICAgIG1fcmVhZHlQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKICAgICAgICAgfSk7CiAgICAgfQog
fQpAQCAtMjM0LDEyICsyMzYsMTIgQEAgdm9pZCBGb250RmFjZVNldDo6ZmFjZUZpbmlzaGVkKENT
U0ZvbnRGYWNlJiBmYWNlLCBDU1NGb250RmFjZTo6U3RhdHVzIG5ld1N0YXR1cykKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChuZXdTdGF0dXMgPT0gQ1NTRm9udEZh
Y2U6OlN0YXR1czo6U3VjY2VzcykgewogICAgICAgICAgICAgICAgIGlmIChwZW5kaW5nUHJvbWlz
ZS0+aGFzT25lUmVmKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgcGVuZGluZ1Byb21pc2UtPnBy
b21pc2UucmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOworICAgICAgICAgICAgICAgICAg
ICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS0+cmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMp
OwogICAgICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+aGFzUmVhY2hlZFRlcm1pbmFs
U3RhdGUgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgQVNTRVJUKG5ld1N0YXR1cyA9PSBDU1NGb250RmFjZTo6U3RhdHVzOjpG
YWlsdXJlKTsKLSAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS5yZWplY3Qo
TmV0d29ya0Vycm9yKTsKKyAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS0+
cmVqZWN0KE5ldHdvcmtFcnJvcik7CiAgICAgICAgICAgICAgICAgcGVuZGluZ1Byb21pc2UtPmhh
c1JlYWNoZWRUZXJtaW5hbFN0YXRlID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZhY2VTZXQuaAppbmRleCBjNTdiMjExNjVkNzMwYjcxYTAzZDBhYTgxNzlk
OTA2MGZkYmIzODZlLi44ZjQ4MzVmNTNiZTM5MWIyZTNhNjA3ODI4ZmU3NDE2Nzk1YzMwY2JhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaApAQCAtMjcsMTMgKzI3LDE0IEBACiAKICNpbmNsdWRl
ICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNldC5oIgotI2luY2x1
ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJTdXNwZW5kYWJsZVRhc2tRdWV1
ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+
IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNs
YXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNsYXNzIERPTUV4Y2Vw
dGlvbjsKIAogY2xhc3MgRm9udEZhY2VTZXQgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxGb250
RmFjZVNldD4sIHByaXZhdGUgQ1NTRm9udEZhY2VTZXRDbGllbnQsIHB1YmxpYyBFdmVudFRhcmdl
dFdpdGhJbmxpbmVEYXRhLCBwcml2YXRlICBBY3RpdmVET01PYmplY3QgewpAQCAtNTcsNyArNTgs
NyBAQCBwdWJsaWM6CiAgICAgTG9hZFN0YXR1cyBzdGF0dXMoKSBjb25zdDsKIAogICAgIHVzaW5n
IFJlYWR5UHJvbWlzZSA9IERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s8SURMSW50
ZXJmYWNlPEZvbnRGYWNlU2V0Pj47Ci0gICAgUmVhZHlQcm9taXNlJiByZWFkeSgpIHsgcmV0dXJu
IG1fcmVhZHlQcm9taXNlOyB9CisgICAgUmVhZHlQcm9taXNlJiByZWFkeSgpIHsgcmV0dXJuIG1f
cmVhZHlQcm9taXNlLmdldCgpOyB9CiAgICAgdm9pZCBkaWRGaXJzdExheW91dCgpOwogCiAgICAg
Q1NTRm9udEZhY2VTZXQmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KQEAgLTg5LDcg
KzkwLDcgQEAgcHJpdmF0ZToKIAogICAgIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPFJlZjxGb250
RmFjZT4+IGZhY2VzOwotICAgICAgICBMb2FkUHJvbWlzZSBwcm9taXNlOworICAgICAgICBVbmlx
dWVSZWY8TG9hZFByb21pc2U+IHByb21pc2U7CiAgICAgICAgIGJvb2wgaGFzUmVhY2hlZFRlcm1p
bmFsU3RhdGUgeyBmYWxzZSB9OwogICAgIH07CiAKQEAgLTExNiw3ICsxMTcsNyBAQCBwcml2YXRl
OgogCiAgICAgUmVmPENTU0ZvbnRGYWNlU2V0PiBtX2JhY2tpbmc7CiAgICAgSGFzaE1hcDxSZWZQ
dHI8Rm9udEZhY2U+LCBWZWN0b3I8UmVmPFBlbmRpbmdQcm9taXNlPj4+IG1fcGVuZGluZ1Byb21p
c2VzOwotICAgIFJlYWR5UHJvbWlzZSBtX3JlYWR5UHJvbWlzZTsKKyAgICBVbmlxdWVSZWY8UmVh
ZHlQcm9taXNlPiBtX3JlYWR5UHJvbWlzZTsKICAgICBVbmlxdWVSZWY8U3VzcGVuZGFibGVUYXNr
UXVldWU+IG1fdGFza1F1ZXVlOwogICAgIGJvb2wgbV9pc0ZpcnN0TGF5b3V0RG9uZSB7IHRydWUg
fTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlZ2lz
dHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCmlu
ZGV4IDc2OWIxNmJiNGZiZTVlNzk1MDNmNjQ1MGU4ZjI3MTFhZWY1NzJiNTYuLjk0NTgyZWY0M2Y2
ZjNkNzQyYjcwMDg3Mjk2OWUzZjkzOTVjZGQyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9D
dXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRWxl
bWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJKU0N1c3Rv
bUVsZW1lbnRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2lu
Y2x1ZGUgIlNoYWRvd1Jvb3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZp
Y2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKaW5kZXggNjllMDZlN2IwNTQwMDI2YzRiMTBj
MjFhMTdiYjljNmE5YmUzMmYyMy4uMTVjMDU2ZDc2NDMwMTc1OWY2YmNlMGU1YmY5NjcyNWYwYTkx
ZWZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JN
b3Rpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
T3JNb3Rpb25FdmVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJEZXZpY2VPcmll
bnRhdGlvbk9yTW90aW9uRXZlbnQuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmgK
aW5kZXggMWJhZTY4MWYzOGY5ZDg5ZTdiMDdkN2EyNDRiZjZmNzM1N2Y4NmY4OC4uN2EzMGYzZDJj
MTc0Mjk1NTExYTM1OGUyNjU0ODgwNGNlZTIzMjAwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaApAQCAtMjYsMTIgKzI2LDE0
IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uT3JNb3Rpb25Q
ZXJtaXNzaW9uU3RhdGUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2lu
Y2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1l
bnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJl
ZDsKKwogY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50IHsKIHB1YmxpYzoKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCmluZGV4IDEyMTY2OGJiODhhYWFkZDk2ZDBmOWRlMjI1
Y2ExOWUyZjE3YjE2MDIuLjAxMzJlNjgxMjZlZDQzMjk2YzgzMzEwMGRhNWU5NTM3ODlkNTc2NzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJKU0V2ZW50VGFyZ2V0Q3VzdG9tLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50Lmgi
CiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvQ2FsbEZyYW1lLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01v
dXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKaW5kZXggZDZiZDFk
YTM2YTY0NGI2ZDBhYzE0MjhiMzM3MWVmYzA2Mjc4MjJiYy4uZDE5MTFiMDg5NjQwMzA2NjMzYzkz
MjNlMzA0YzFiYzdlMDUxYzk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNl
RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCkBAIC0zMSw2ICsz
MSwxMSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtVG91Y2hFdmVudElPUy5oIgogI2VuZGlmCiAKK25h
bWVzcGFjZSBKU0MgeworY2xhc3MgRXhlY1N0YXRlOworY2xhc3MgSlNWYWx1ZTsKK30KKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRhVHJhbnNmZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0N1c3RvbVBhaW50Q2FudmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0N1c3RvbVBhaW50Q2FudmFzLmgKaW5kZXggMjFkMmQwY2E3ODlhNTJmMzBhMmQ5NGUxOTJjMjg5
NDIzNDBhODViNi4uNzY1NmM2YzdiOTkwMzczNDhhMmQ0ZDZkY2FiOGI4ZjkwYTI4YThkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludENhbnZhcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFpbnRDYW52YXMuaApAQCAtMzMsNyArMzMsNiBAQAog
I2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNs
dWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNs
dWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lt
YWdlQml0bWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCmluZGV4
IDZiMGM3YTNkNjdjZGM3YTViYjVkZTI5ODRjZDJiYTU1ZGYzMDI3MDcuLjIwNzBkMGViNzEwNWEx
MzNjN2ZlODgwYWQ0NzY0YThkZDg1YWUzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSW1hZ2VCaXRtYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAu
Y3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRl
ICJJbWFnZURhdGEuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0ltYWdlQml0bWFwLmgiCiAjaW5jbHVkZSAiTGF5
b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VC
aXRtYXAuaAppbmRleCA5YzM3MjBmZDEwMGZmZGFjMjRhZTU4NTlmMzliMzExOGI4ODMwNGIyLi45
YTFlZWZmZDdlMGU5MmFkMjgzMjhlODEwYmM1MDI1NzFkZWMzZTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9J
bWFnZUJpdG1hcC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1
ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAg
LTQ1LDYgKzQ1LDggQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFR5cGVk
T01DU1NJbWFnZVZhbHVlOwogc3RydWN0IEltYWdlQml0bWFwT3B0aW9uczsKIAordGVtcGxhdGU8
dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFzcyBJbWFn
ZUJpdG1hcCBmaW5hbCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVk
PEltYWdlQml0bWFwPiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUJpdG1hcCk7
CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZh
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5jcHAKaW5kZXggMWQ3
MmE3NWFhODM4NTRmMWI2ZWZjODM1NDYzMDRmNjZhNzEwMTc4Ny4uNmU5MzljYjVhZWVlYWM0OGEy
M2E4Y2ZlOGJlMjU5YzY1Mjk4ZDYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9P
ZmZzY3JlZW5DYW52YXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2Fu
dmFzLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5oIgogI2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL09mZnNjcmVlbkNhbnZhcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9PZmZzY3JlZW5DYW52
YXMuaAppbmRleCA1N2E2ZjM3ZjliNmNmMDdiNDAyNjU5ZjU4ZjY2ZGYwOTdhMTI5YmZmLi5hZjc1
ZmNjZTRlMmExYzVkY2EzZjY0YzE1NTViNjIxMGRlYjhlZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
T2Zmc2NyZWVuQ2FudmFzLmgKQEAgLTI3LDEwICsyNywxMSBAQAogCiAjaW5jbHVkZSAiQWZmaW5l
VHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiQ2FudmFzQmFzZS5oIgorI2luY2x1ZGUgIkNvbnRleHRE
ZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRl
ICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiSW50U2l6
ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiU2NyaXB0
V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggM2I4NTBm
Y2MxOTNiNDc5MDhjZjQ2YWFlYTc1NDhkYmY5M2VmZjBmMy4uYTgzNDJlMWE0YmUzM2IyZWE5ZmEz
ZmQ0OTVmOTZkMDY1ODc2ODYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3Bw
CkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJbWFnZS5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaAppbmRleCA0ODdlY2U2YTgyMTA2YzMzYjFk
YWI5NGY5MWYyOGU5NmVmMWI2NjM4Li4xNjIyOTkyNzcyZWZjNmViZjNiNTJiOWJkOWQ1OTRiYTJk
OWMzZmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaApAQCAtMjQsMTMgKzI0LDEz
IEBACiAKICNpbmNsdWRlICJDYWNoZWRJbWFnZUNsaWVudC5oIgogI2luY2x1ZGUgIkNhY2hlZFJl
c291cmNlSGFuZGxlLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9tU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQ
cm9taXNlOwogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3MgUmVuZGVy
SW1hZ2VSZXNvdXJjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBhYjk2ODU2MTMy
NDdmMjkwYmY3ODgzZTVkNWZjN2FmZmFkOGRhYWFjLi5kZjQ3ZDhlMmU5MTdjYTViMDIxN2Y5ODRh
YWNhM2NkNGQ4YjZjODgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC02OSw2ICs2
OSw3IEBACiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKICNpbmNsdWRlICJIaXN0b3J5LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0Jhc2UuaCIKICNpbmNsdWRlICJK
U0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aAppbmRleCAwNTAxNDJkNzMxZjNkYjFiMTQ5NTIxYTYwMDNkYjI3N2I2M2RmYzYzLi4zOGRhYmE3
ZTVkNTZiMmU5NWNlZThiNjM2MDJkYTFiN2Y3YTAzZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL05hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
LmgKQEAgLTIwLDcgKzIwLDYgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiRE9NV2luZG93
UHJvcGVydHkuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
Ik5hdmlnYXRvckJhc2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRl
ICJTaGFyZURhdGEuaCIKQEAgLTI5LDYgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBET01NaW1lVHlwZUFycmF5OwogY2xhc3Mg
RE9NUGx1Z2luQXJyYXk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0N1c3RvbVBhaW50SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ3VzdG9tUGFpbnRJbWFnZS5jcHAKaW5kZXggNmY3ZDA5YTM3ZWYyNTkzNTRmNjJkZTQx
MTRiZWJjMmMzMTJjYTVmNC4uZmQ1MWJjNDUxMTkwNTVkZTg5NzU5NDY0NWEwYmU1ZDRlN2RiZGY5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3VzdG9tUGFp
bnRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3VzdG9t
UGFpbnRJbWFnZS5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJJbWFnZUJpdG1hcC5o
IgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSlNDU1NQYWludENhbGxiYWNr
LmgiCisjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIlBhaW50
UmVuZGVyaW5nQ29udGV4dDJELmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1
ZGUgIlN0eWxlUHJvcGVydHlNYXAuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCA1ODQyMDZmNTE2OWNjOWQ0MTIxNjBmMGMxM2IzMmZmOWUyNjg3NGFkLi4xODA3ODcwYjEy
ZGQ2M2Q1ZDQxNGE4NjRkZjczMDBhZGM0MzNiNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC0xMDcsNiArMTA3LDcgQEAKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdl
bnRzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0dGluZ3Mu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTSW1hZ2VE
YXRhLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJMb2FkZXJT
dHJhdGVneS5oIgpAQCAtNDc4Nyw3ICs0Nzg4LDcgQEAgdm9pZCBJbnRlcm5hbHM6Om9ic2VydmVN
ZWRpYVN0cmVhbVRyYWNrKE1lZGlhU3RyZWFtVHJhY2smIHRyYWNrKQogCiB2b2lkIEludGVybmFs
czo6Z3JhYk5leHRNZWRpYVN0cmVhbVRyYWNrRnJhbWUoVHJhY2tGcmFtZVByb21pc2UmJiBwcm9t
aXNlKQogewotICAgIG1fbmV4dFRyYWNrRnJhbWVQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsK
KyAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IFdURjo6bWFrZVVuaXF1ZTxUcmFja0ZyYW1l
UHJvbWlzZT4ocHJvbWlzZSk7CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjp2aWRlb1NhbXBsZUF2YWls
YWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQpAQCAtNDgwOSw3ICs0ODEwLDcgQEAgdm9pZCBJbnRl
cm5hbHM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCiAgICAgICAg
IG1fbmV4dFRyYWNrRnJhbWVQcm9taXNlLT5yZXNvbHZlKGltYWdlRGF0YS5yZWxlYXNlUmV0dXJu
VmFsdWUoKS5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICBlbHNlCiAgICAgICAgIG1fbmV4dFRyYWNr
RnJhbWVQcm9taXNlLT5yZWplY3QoaW1hZ2VEYXRhLmV4Y2VwdGlvbigpLmNvZGUoKSk7Ci0gICAg
bV9uZXh0VHJhY2tGcmFtZVByb21pc2UgPSBXVEY6Om51bGxvcHQ7CisgICAgbV9uZXh0VHJhY2tG
cmFtZVByb21pc2UgPSBudWxscHRyOwogfQogCiB2b2lkIEludGVybmFsczo6ZGVsYXlNZWRpYVN0
cmVhbVRyYWNrU2FtcGxlcyhNZWRpYVN0cmVhbVRyYWNrJiB0cmFjaywgZmxvYXQgZGVsYXkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA1ODcwZGU0NjMyMjBmZTk4MjhlZjRiYjE3
NmI2ZTBmOTcyMzEwZTgwLi44MTY1OTVjNWY2MzlmMDk0YzBjYTZkNmVlM2NjYzcwNGRhN2MzZGU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNs
dWRlICJDb29raWUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIkhFVkNV
dGlsaXRpZXMuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUg
IklETFR5cGVzLmgiCiAjaW5jbHVkZSAiT3JpZW50YXRpb25Ob3RpZmllci5oIgogI2luY2x1ZGUg
IlBhZ2VDb25zb2xlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgpA
QCAtOTYsOCArOTYsMTAgQEAgY2xhc3MgU3RyaW5nQ2FsbGJhY2s7CiBjbGFzcyBTdHlsZVNoZWV0
OwogY2xhc3MgVGltZVJhbmdlczsKIGNsYXNzIFR5cGVDb252ZXJzaW9uczsKK2NsYXNzIFVuc3Vz
cGVuZGFibGVBY3RpdmVET01PYmplY3Q7CiBjbGFzcyBWb2lkQ2FsbGJhY2s7CiBjbGFzcyBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ7CitjbGFzcyBXaW5kb3dQcm94eTsKIGNsYXNzIFhNTEh0dHBSZXF1
ZXN0OwogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQpAQCAtMTA4LDcgKzExMCw3IEBAIGNsYXNz
IFRleHRUcmFja0N1ZUdlbmVyaWM7CiBjbGFzcyBTZXJ2aWNlV29ya2VyOwogI2VuZGlmCiAKLWNs
YXNzIFVuc3VzcGVuZGFibGVBY3RpdmVET01PYmplY3Q7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExU
eXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiAKIGNsYXNzIEludGVybmFscyBmaW5hbCA6
IHB1YmxpYyBSZWZDb3VudGVkPEludGVybmFscz4sIHByaXZhdGUgQ29udGV4dERlc3RydWN0aW9u
T2JzZXJ2ZXIKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpAQCAtODk4LDcgKzkwMCw3IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbG9uZyBtX3RyYWNrVmlkZW9TYW1wbGVDb3VudCB7IDAgfTsK
ICAgICB1bnNpZ25lZCBsb25nIG1fdHJhY2tBdWRpb1NhbXBsZUNvdW50IHsgMCB9OwogICAgIFJl
ZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBtX3RyYWNrOwotICAgIE9wdGlvbmFsPFRyYWNrRnJhbWVQ
cm9taXNlPiBtX25leHRUcmFja0ZyYW1lUHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VHJh
Y2tGcmFtZVByb21pc2U+IG1fbmV4dFRyYWNrRnJhbWVQcm9taXNlOwogI2VuZGlmCiAKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yU3R1YkZyb250ZW5kPiBtX2luc3BlY3RvckZyb250ZW5k
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaApp
bmRleCA4OTM5NTc0NGI5ODdkMjM2NDM0YmY1MTJjYzcxMzM4NzI3YmJjZjYxLi45MzQ4YTBjYzFi
MmU1YjMyOGIxMWI1MTE0OTgzNThlYzgwMTNjMmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtMzcsNiArMzcsOCBAQCBj
bGFzcyBGZXRjaEV2ZW50OwogY2xhc3MgRmV0Y2hSZXNwb25zZTsKIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKKwogY2xhc3MgV0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQgU2VydmljZVdv
cmtlckludGVybmFscyA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJJbnRlcm5hbHM+
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJJbnRlcm5hbHM+IGNyZWF0
ZShTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMgeyBpZGVudGlmaWVyIH0pOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMubW0KaW5kZXggMGQ2ZDAx
ZDU1MDVhNzQ4NDUyNjZmMDBjYzc2Y2RjMjI5MjliYTUwYS4uZmU5YjFkMWIzMWNmYTJmYmQ5OTkw
YWMxNWNkZmJjZDFmNTU5MjYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9T
ZXJ2aWNlV29ya2VySW50ZXJuYWxzLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2Vy
dmljZVdvcmtlckludGVybmFscy5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaWYgUExBVEZPUk0o
TUFDKQogCisjaW1wb3J0ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9MYXVuY2hTZXJ2aWNlc1NQSS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5jcHAKaW5kZXggNzIxMWViNmZjYjU0ZjNmNDU3MjZjZWEzNjczMjEyYTg2NTgzN2Nj
NS4uNmQ4MDdlYmQyMmFkMDZkMTNkMzRjYmFkNTIyNjVjOGYwMWYxNjdkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQog
CisjaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmlu
ZGV4IDc1ZWE5NTMyMTkwZjBjNjZjNjYwYmJlOWIyNWQ0YmNkN2M5MWQ5YzMuLjJlMGQ5ZDA0ZDcz
NmUyYjUxOTcxY2U4NTNjZTVhN2M0MmY2NWMyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtMjgsOSAr
MjgsOSBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkFjdGl2ZURP
TU9iamVjdC5oIgotI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKKyNpbmNsdWRlICJJRExU
eXBlcy5oIgogI2luY2x1ZGUgIlNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlNXU2Vy
dmVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkNsaWVudC5oIgpAQCAtNDgsNiArNDgs
OCBAQCBjbGFzcyBTZXJ2aWNlV29ya2VyOwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRl
VmlhQ2FjaGUgOiB1aW50OF90OwogZW51bSBjbGFzcyBXb3JrZXJUeXBlOwogCit0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHk7CisKIGNsYXNzIFNlcnZpY2VX
b3JrZXJDb250YWluZXIgZmluYWwgOiBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFNlcnZpY2VXb3JrZXJKb2JDbGllbnQgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlcnZpY2VXb3JrZXJDb250YWluZXIpOwogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU2VydmljZVdvcmtlckNvbnRhaW5lcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuaAppbmRleCBiNTVh
Yjk1OGU4OWRhNjQ2OGNjZGE4MDkxYjg3OTRmYWY4MWI2OTFkLi40ZDRhMTFlNGJlYzllMzI4MGVj
NTZjYTk5ZDA0ZmNmNDhlMjczODQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmgKQEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JD
bGllbnQuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0YS5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24uY3BwCmluZGV4IGUxOTAzMDc4YmEzZmZiNjgzMTNmOTE5ODQ5MmY5MGVjZGY3ODU0ZDIu
LjRkM2JjNmY2NGVjZGVmODYxZGZjMTk5YzRmMmNhZTM5MzY2YzMxMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uaAppbmRleCAwMTJhNzdkNDY1OWZiNWQyZmMwNDkzNDBmZDA1MjA0YjA3YmFjY2Ex
Li4wNTI2NjVjNjg4OGY5M2UxNzE4ZDBmZTc5OGY5ZDVkYmZhMzFkODU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0
LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIlNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OwogY2xhc3MgU2VydmljZVdvcmtlcjsKIGNsYXNzIFNlcnZpY2VXb3JrZXJD
b250YWluZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmts
ZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRH
bG9iYWxTY29wZS5jcHAKaW5kZXggNjU4YTM5MjdlOTgzODg4M2Y4YTA3NWYwNjM5OTA0MzdhZGQ5
N2QzZS4uMjZiOWFmOWNiZjdiNGZjYTIyMDViOGI3OTg3YzI4MTg1MTEzODcwZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcApA
QCAtMzEsOCArMzEsNyBAQAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCiAjaW5jbHVkZSAiSlNDU1NQYWludENhbGxiYWNrLmgiCi0jaW5jbHVkZSAiSlNET01D
b252ZXJ0Q2FsbGJhY2tzLmgiCi0jaW5jbHVkZSAiSlNET01Db252ZXJ0U2VxdWVuY2VzLmgiCisj
aW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1
ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380199</attachid>
            <date>2019-10-04 02:03:04 -0700</date>
            <delta_ts>2019-10-04 02:15:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202570-20191004020303.patch</filename>
            <type>text/plain</type>
            <size>96315</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ1OGVkYTg5NDg4NmIw
OTQ1NWRmY2Y3NDU2N2U1OTA1ZThmNGM0Ni4uODJmZDVhMzhiYmQwYzc4MTg3OWZkMjdmOGFlZGVm
ZGY2ZjMwOWJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMCBAQAorMjAxOS0xMC0wNCAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBz
b21lIGluY2x1ZGVzIHRvIG1ha2UgdGhlIGJ1aWxkIGEgYml0IGZhc3RlcjogRE9NUHJvbWlzZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNTcwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBqdXN0IHJlb3JnYW5pemluZy4KKworICAgICAgICBBcHBseSBzb21lIHByb2ZpbGUtZ3Vp
ZGVkIG9wdGltaXphdGlvbnMgdG8gb3VyIGhlYWRlcnMuCisKKyAgICAgICAgR2V0IEpTRE9NUHJv
bWlzZURlZmVycmVkLmggYW5kIERPTVByb21pc2VQcm94eS5oIG91dCBvZiBXZWJDb3JlIGhlYWRl
cnMuCisgICAgICAgIE9uZSByZW1haW5zIChGZXRjaEJvZHlDb25zdW1lci5oKTsgSSBsZWF2ZSBp
dCBhcyBhbiBleGVyY2lzZSB0byB0aGUgcmVhZGVyLgorICAgICAgICBJbiBteSB0ZXN0aW5nLCB0
aGlzIGlzIHdvcnRoIGEgcmVsaWFibGUgNS02JSBvbiB0aGUgV2ViQ29yZSBCdWlsZCBCZW5jaG1h
cmsuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuaDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5cy5jcHA6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDoK
KyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHA6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDoKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0RPTVdpbmRvd0ZldGNoLmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Lmg6CisgICAgICAgICogTW9kdWxl
cy9mZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5j
cHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSZWNlaXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1
ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
TWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICog
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwOgorICAgICAgICAqIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvci5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tl
eUNyZWRlbnRpYWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNl
cnZlVmFyaWFibGVMaWZldGltZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XZWJHUFUuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVCdWZmZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZp
Z2F0b3JXZWJWUi5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5o
OgorICAgICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYnZyL1ZSRGlzcGxheS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3Bw
OgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NUHJvbWlzZURlZmVycmVkLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MVGVt
cGxhdGVFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0
YUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJj
ZUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20u
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHA6CisgICAgICAgICogY3NzL0Zv
bnRGYWNlLmNwcDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvRm9u
dEZhY2VTZXQuY3BwOgorICAgICAgICAqIGNzcy9Gb250RmFjZVNldC5oOgorICAgICAgICAqIGRv
bS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgICog
ZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBodG1sL0N1c3RvbVBhaW50Q2FudmFzLmg6Cisg
ICAgICAgICogaHRtbC9JbWFnZUJpdG1hcC5jcHA6CisgICAgICAgICogaHRtbC9JbWFnZUJpdG1h
cC5oOgorICAgICAgICAqIGh0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcDoKKyAgICAgICAgKiBodG1s
L09mZnNjcmVlbkNhbnZhcy5oOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
Y3BwOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9T
ZXJ2aWNlV29ya2VySW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLm1tOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmg6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6Cisg
ICAgICAgICogd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorCiAyMDE5LTEw
LTA0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNo
YWRvdyBQYXJ0c10gU3VwcG9ydCAnZXhwb3J0cGFydHMnIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKaW5kZXggMGY3ZTNiYTJhMjMzNWU5
MGY3N2ExZGZhNjljNjY1NzRkZjU0M2RkYy4uMDdiMzY5NGJiM2NkZTIwNDY3OGNiZGQ1ZDg0YWNj
NTllN2JlYzFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRs
ZXIuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnQuaCIK
ICNpbmNsdWRlICJKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oIgogI2luY2x1ZGUgIkpTQXBwbGVQ
YXlSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiTGlua0lj
b25Db2xsZWN0b3IuaCIKICNpbmNsdWRlICJNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKQEAgLTU2LDYgKzU3LDcgQEAKICNpbmNsdWRlICJQYXltZW50UmVzcG9u
c2UuaCIKICNpbmNsdWRlICJQYXltZW50VmFsaWRhdGlvbkVycm9ycy5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPTk9iamVjdC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCA1NTA4YjM3OGNlZjg4ODM2
NjY3YjVkZTljZDk2ZjQyNmM4OTM3OWVhLi45NjYwMmVkMmU1YmVjYWExNTU2YTVhMWY0OWFiN2Zl
YjNjMDgxOTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNs
dWRlICJDRE0uaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgorI2luY2x1ZGUgIkRPTVByb21p
c2VQcm94eS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTYzLDYgKzY0LDcgQEAgTWVkaWFLZXlTZXNzaW9u
OjpNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV2Vha1B0
cjxNZWRpYUsKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAgICAsIG1fa2V5cyhX
VEZNb3ZlKGtleXMpKQogICAgICwgbV9leHBpcmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCkpCisgICAgLCBtX2Nsb3NlZFByb21pc2UobWFrZVVuaXF1ZVJlZjxD
bG9zZWRQcm9taXNlPigpKQogICAgICwgbV9rZXlTdGF0dXNlcyhNZWRpYUtleVN0YXR1c01hcDo6
Y3JlYXRlKCp0aGlzKSkKICAgICAsIG1fdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKHVzZURpc3Rp
bmN0aXZlSWRlbnRpZmllcikKICAgICAsIG1fc2Vzc2lvblR5cGUoc2Vzc2lvblR5cGUpCkBAIC03
MDksNyArNzExLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnNlc3Npb25DbG9zZWQoKQogCiAg
ICAgLy8gNS4gTGV0IHByb21pc2UgYmUgdGhlIGNsb3NlZCBhdHRyaWJ1dGUgb2YgdGhlIHNlc3Np
b24uCiAgICAgLy8gNi4gUmVzb2x2ZSBwcm9taXNlLgotICAgIG1fY2xvc2VkUHJvbWlzZS5yZXNv
bHZlKCk7CisgICAgbV9jbG9zZWRQcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKIFN0cmluZyBNZWRp
YUtleVNlc3Npb246Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmgKaW5kZXggOTViYWYzNTQ4ZDc5Nzg0ZWEyZDUxYWE0ODQ5ZjEwZDBmZWEyYzk4MC4uODIzODQ0
ZmU0MmY0YjllYmEyOWUyNjUwNDczYWVlNDFlNzMxODExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0z
MiwxMCArMzIsMTAgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUg
IkNETUluc3RhbmNlU2Vzc2lvbi5oIgotI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKICNp
bmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNs
dWRlICJNZWRpYUtleU1lc3NhZ2VUeXBlLmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlw
ZS5oIgogI2luY2x1ZGUgIk1lZGlhS2V5U3RhdHVzLmgiCkBAIC00OCwxMCArNDgsMTMgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCdWZmZXJTb3VyY2U7CiBjbGFzcyBDRE07CitjbGFz
cyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBNZWRpYUtleVN0YXR1c01hcDsKIGNsYXNzIE1lZGlh
S2V5czsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZVByb3h5OworCiBjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRo
SW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIENETUluc3RhbmNlU2Vz
c2lvbkNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChNZWRpYUtleVNlc3Npb24p
OwogcHVibGljOgpAQCAtNzQsNyArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmUoUmVm
PERlZmVycmVkUHJvbWlzZT4mJik7CiAKICAgICB1c2luZyBDbG9zZWRQcm9taXNlID0gRE9NUHJv
bWlzZVByb3h5PElETFZvaWQ+OwotICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJu
IG1fY2xvc2VkUHJvbWlzZTsgfQorICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJu
IG1fY2xvc2VkUHJvbWlzZS5nZXQoKTsgfQogCiAgICAgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxS
ZWY8U2hhcmVkQnVmZmVyPiwgTWVkaWFLZXlTdGF0dXM+PiYgc3RhdHVzZXMoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXR1c2VzOyB9CiAKQEAgLTEwNSw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIFdl
YWtQdHI8TWVkaWFLZXlzPiBtX2tleXM7CiAgICAgU3RyaW5nIG1fc2Vzc2lvbklkOwogICAgIGRv
dWJsZSBtX2V4cGlyYXRpb247Ci0gICAgQ2xvc2VkUHJvbWlzZSBtX2Nsb3NlZFByb21pc2U7Cisg
ICAgVW5pcXVlUmVmPENsb3NlZFByb21pc2U+IG1fY2xvc2VkUHJvbWlzZTsKICAgICBSZWY8TWVk
aWFLZXlTdGF0dXNNYXA+IG1fa2V5U3RhdHVzZXM7CiAgICAgYm9vbCBtX2Nsb3NlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX3VuaW5pdGlhbGl6ZWQgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwCmluZGV4IGRkNDg3NmI2YzUzYzE4MzY0MzUxMDJjYzNjMThkMWNmZTdmMWFhYmYu
LjMwYzM0Y2RjNDRlYjhkNjdjZDIyMWVjODk5Y2MwZDZiYTMxNzI0ZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJDRE0uaCIKICNp
bmNsdWRlICJDRE1JbnN0YW5jZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSAiSlNNZWRpYUtleXMuaCIKICNpbmNsdWRlICJNZWRpYUtleXMuaCIKICNpbmNs
dWRlICJNZWRpYUtleXNSZXF1aXJlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oCmluZGV4
IDI4NGQ5NDk0Mjg4OWNkZmVlNmFkNmZjZWM2NzVhYzUwZGYwNDlhOWYuLjRmNWExNTVjNjgwZDll
ZjQxNzQ2MDAzYzc3Mjg2YTRlZjg1YTNjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmgKQEAg
LTMxLDcgKzMxLDYgQEAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAjaW5jbHVkZSAi
R2VuZXJpY1Rhc2tRdWV1ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM5LDYgKzM4
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0RNOworY2xhc3MgRGVmZXJyZWRQ
cm9taXNlOwogY2xhc3MgTWVkaWFLZXlzOwogCiBjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzcyA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAKaW5kZXggMDUx
NzhjNTNlYTU3YmExODAzYmY5YzVkNTAzOWFkYzlmZjhkYjQ2MC4uMmZjZDAzNGE1ZjhlYjZiYjUz
MDA4NWFmOWE0ZmYxMGRjZGU2MjkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1
ZGUgIkNETS5oIgogI2luY2x1ZGUgIkNETUNsaWVudC5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNl
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eXMuaAppbmRleCA5MTQ2MTRkZTcxOWYzNzUzMDdiY2I4YjdkOGNlNWIzMGEwMDY3MTU4Li5mYTI2
OTMzMDAyYzljNzQ0MTFjNGUzMjJjYTA3MzQ1MWVhYTEyYTZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKQEAgLTMyLDcgKzMyLDYg
QEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1
ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFL
ZXlTZXNzaW9uVHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpAQCAtNDQsNyArNDMsOSBAQCBjbGFzcyBDRE07CiBjbGFzcyBDRE1DbGllbnQ7
CiBjbGFzcyBDRE1JbnN0YW5jZTsKIGNsYXNzIEJ1ZmZlclNvdXJjZTsKK2NsYXNzIERlZmVycmVk
UHJvbWlzZTsKIGNsYXNzIE1lZGlhS2V5U2Vzc2lvbjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CiAKIGNsYXNzIE1lZGlhS2V5cyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5cz4s
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYUtleXM+IHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcApp
bmRleCBkZjFmNGRmOTA0NmE0NTgyYmNjMDQ5NTMzOWVlY2ViZGEyY2E5YWJhLi4wYmFhZjhkNWZk
MjhjNTlhYmE3NWM2YzgyNjAyN2Y0NDExNjE4MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwCkBAIC0zMyw2ICsz
Myw3IEBACiAKICNpbmNsdWRlICJDRE0uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1
ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNNZWRpYUtleVN5c3RlbUFj
Y2Vzcy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmgKaW5kZXggZDk1Zjc2NjkzMzll
YjgwMTUzZjY5MzJhYzhhOGUwYzJmZjUxOGMyMC4uYThiMTJmNmJmMWEwMWJmM2Q2MDNhOWZhYTI4
MTY2OGY2NWI2MWU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL05hdmlnYXRvckVNRS5oCkBAIC0zMCwxMiArMzAsMTIgQEAKIAogI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlN1cHBs
ZW1lbnRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9t
aXNlOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzczsKIGNsYXNz
IE5hdmlnYXRvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9N
V2luZG93RmV0Y2guY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dG
ZXRjaC5jcHAKaW5kZXggMjFlNDg3ZTVjNGZlZTQzMmVkZTMzZTNlNGE5ZTYwZTY5ZTRhNGQwYi4u
ZGVjMzFkOTQwYTU3NDRlNDlkNjViNmUxNWU3NjQyYzkzYzMwYjMyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkZldGNoUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIkpTRmV0Y2hSZXNwb25zZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmgKaW5kZXggMmE4YThh
YmU5NGI3N2EwNWJiYTY3MmI2OTFkZTI0NWMyODdjMTRlNS4uMjc0ODM0NWU1MjMxODZjNzNlNDIz
ZDQ4Yzk0YzFjMDIxYmMyNzIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9ET01XaW5kb3dGZXRjaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RE9NV2luZG93RmV0Y2guaApAQCAtMjksMTEgKzI5LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2lu
Y2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBET01XaW5kb3c7CiAKIGNsYXNzIERPTVdpbmRvd0Zl
dGNoIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAppbmRleCAy
OTE4NTRhZTE3YzdmZDNhNGY1Y2EyN2QwODE1ZDIzODE2NjMwNWIyLi4zZDY5ZjhhYjNkZDg4MjQ5
NjY1Y2M0NjMxYTM1ZWM0YjdhZmU0MDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHkuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRmV0Y2hIZWFkZXJz
LmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlclZhbHVlcy5oIgogI2luY2x1ZGUgIkhUVFBQYXJzZXJz
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJs
ZVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyVmll
dy5oPgogCkBAIC0xMjksNiArMTMwLDExIEBAIHZvaWQgRmV0Y2hCb2R5Ojp0ZXh0KEZldGNoQm9k
eU93bmVyJiBvd25lciwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGNvbnN1
bWUob3duZXIsIFdURk1vdmUocHJvbWlzZSkpOwogfQogCit2b2lkIEZldGNoQm9keTo6Zm9ybURh
dGEoRmV0Y2hCb2R5T3duZXImLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7Cisg
ICAgcHJvbWlzZS5nZXQoKS5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCiB2b2lkIEZl
dGNoQm9keTo6Y29uc3VtZU9uY2VMb2FkaW5nRmluaXNoZWQoRmV0Y2hCb2R5Q29uc3VtZXI6OlR5
cGUgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBjb25zdCBTdHJpbmcmIGNv
bnRlbnRUeXBlKQogewogICAgIG1fY29uc3VtZXIuc2V0VHlwZSh0eXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGMzZjk2ZmY0YWZmZjIwZDExMzY0NDMz
YTFmMmFjZjZhZDFkOWZiNzMuLjg1Yzg2MjE3MWRlN2ZiOGQzZjRlOTdlMWRkMWMzMTIwMDBjYzA4
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtMzIsMTMg
KzMyLDEzIEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJGZXRjaEJvZHlD
b25zdW1lci5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbS5oIgogI2luY2x1ZGUgIlVSTFNl
YXJjaFBhcmFtcy5oIgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRmV0Y2hCb2R5T3duZXI7CiBj
bGFzcyBGZXRjaEJvZHlTb3VyY2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpAQCAt
NDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBibG9iKEZldGNoQm9keU93bmVyJiwgUmVm
PERlZmVycmVkUHJvbWlzZT4mJiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBqc29uKEZldGNo
Qm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCB0ZXh0KEZldGNo
Qm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9pZCBmb3JtRGF0YShG
ZXRjaEJvZHlPd25lciYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkgeyBwcm9taXNl
LmdldCgpLnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7IH0KKyAgICB2b2lkIGZvcm1EYXRhKEZl
dGNoQm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKICNpZiBFTkFCTEUoU1RS
RUFNU19BUEkpCiAgICAgdm9pZCBjb25zdW1lQXNTdHJlYW0oRmV0Y2hCb2R5T3duZXImLCBGZXRj
aEJvZHlTb3VyY2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRl
ci5jcHAKaW5kZXggYzBkYmY1ZmU1NzhmMWY1OWI2ZjRjMWIwN2FiYzAxZTdkMjUxZDc3OS4uZDIx
NjYyNGMyZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRlNzUzYmIzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmgiCiAjaW5jbHVkZSAiQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5LmgiCisjaW5jbHVkZSAiRmV0
Y2hCb2R5Q29uc3VtZXIuaCIKICNpbmNsdWRlICJGZXRjaExvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgIkZldGNoUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAppbmRleCAxZTQ3YTA1NmQwZDZkYTZm
MDg1MzhhY2RiZjIwNDNlYTJlMjEzNmI3Li4wZTM3M2ZhNGYyMjNmM2JhNWJmMWMwMmU5YzU5YmY2
N2Q3ZjYyZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5o
CkBAIC0yOCw3ICsyOCw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRmV0Y2hCb2R5
Q29uc3VtZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KQEAgLTM2LDYgKzM1
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIEZldGNoQm9k
eUNvbnN1bWVyOwogY2xhc3MgRmV0Y2hMb2FkZXJDbGllbnQ7CiBjbGFzcyBGZXRjaFJlcXVlc3Q7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKaW5kZXggNzNjMDQ1
MTAxMTU3M2NjMjY5MmRhOTY3NWU5OWNkYjMzOTk2Y2Q1OS4uMzQ0MDE3N2Y4YWU5NjgwMjZlNTQ2
MWY4ODY2ZGIyOWUyMzJiZTEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgogCiAjaW5jbHVkZSAiRmV0Y2hSZXNw
b25zZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNG
ZXRjaFJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNo
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
aAppbmRleCAyYTZkOGJiZTBjYjllMGViMmI1YzIxMDlhYTMxYjcyZTNmZjA0YjViLi5mYWQwNzlj
Y2Q5MzM0YTlhMmZkMWJjYzZiMWRmNTMyNGEzODY0MzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaApAQCAtMjksMTAg
KzI5LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Y2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNz
IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2ggewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRl
eCAxMzk3NTJjMTQwN2ViYWQ0MzZmNmYzZDFmOTRkZDI1NjY4MmJjMGY3Li4yNjNjMDZmYTdiNTU5
Nzg2NGVhZjMxYTk0NTllNTNjYjBiMjMxMWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiSlNNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgogI2luY2x1ZGUgIkpTTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0Rl
Y29kaW5nSW5mby5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oCmluZGV4IDE4NTRmYTQ2NjQ2MGFj
ZmM2ZDI2NjI3MTdhNTRkMmQ2Njc2MjBlZjQuLjYwNjYyOTdmNzU1MjAxZjg3ZTZhMWFiMDc2NWJl
NDdiYjdlNzI3YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKQEAgLTI2LDExICsyNiwxMSBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERv
Y3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwogc3RydWN0IE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCmluZGV4IDA4NjI0MTRhZGI0OWY5YzgyNDRjNzkx
YzRmZTM2OGVkMjAxMDZlNzcuLmM1NjUyY2VmODU0YTlmOTVkYjEzYTU3YzgyZWZiNTZkZjEwZjc5
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFE
ZXZpY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
RGV2aWNlcy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNNZWRpYURldmljZUluZm8uaCIKICNpbmNs
dWRlICJNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSZWFsdGlt
ZU1lZGlhU291cmNlU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCmluZGV4IDUxY2QxYjRjZTliOTcyMTg4YjFiMTA3ZGM1
OGE1YjViMWY5NzlhYmUuLjlhZjYzN2ZjZjZjNDFjODBlYTMyMmY4ZjI3MjcxMmNiNmU0MjBlZmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZp
Y2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmlj
ZXMuaApAQCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIk1l
ZGlhVHJhY2tDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggNzU2YjQ1NzNlYWU3
N2RmNTAwYzFlZjU0ZmRhNjUyNjZiMzNiMWM4Ny4uODUxMzE3OTQ3MmM5MjE5MDRmYzExY2UxZWU1
ZjA5YTEyN2Q0MTI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTT3ZlcmNv
bnN0cmFpbmVkRXJyb3IuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzLmgiCiAjaW5jbHVk
ZSAiTWVkaWFTdHJlYW0uaCIKQEAgLTM3OSw3ICszODAsNyBAQCBzdGF0aWMgTWVkaWFDb25zdHJh
aW50cyBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0IE9wdGlvbmFsPE1lZGlhVHJhY2tDb25z
dHJhaQogCiB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OmFwcGx5Q29uc3RyYWludHMoY29uc3QgT3B0
aW9uYWw8TWVkaWFUcmFja0NvbnN0cmFpbnRzPiYgY29uc3RyYWludHMsIERPTVByb21pc2VEZWZl
cnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgbV9wcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KTsKKyAgICBtX3Byb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZv
aWQ+PihXVEZNb3ZlKHByb21pc2UpKTsKIAogICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBb
dGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGNvbnN0cmFpbnRzXShhdXRvJiYg
ZXJyb3IpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzIHx8ICFtX3Byb21pc2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5oCmluZGV4IDhmYTg5MDNkMDkwYzg0ODkwNWNlNWRmY2M4ZmUyZmQ5OGE3MTlmYTMuLjYy
N2Y2ZGZjYzg3MDNmYjBkOTVhMzY0MTU2NjUxZjRhMDIzODM2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC0z
Myw3ICszMyw2IEBACiAjaW5jbHVkZSAiRG91YmxlUmFuZ2UuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVldWUuaCIKLSNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkxvbmdSYW5nZS5oIgogI2luY2x1ZGUgIk1lZGlh
UHJvZHVjZXIuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgpAQCAtNDcs
NiArNDYsOCBAQCBjbGFzcyBEb2N1bWVudDsKIAogc3RydWN0IE1lZGlhVHJhY2tDb25zdHJhaW50
czsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVk
OworCiBjbGFzcyBNZWRpYVN0cmVhbVRyYWNrCiAgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YVN0cmVhbVRyYWNrPgogICAgICwgcHVibGljIEFjdGl2ZURPTU9iamVjdApAQCAtMjAxLDcgKzIw
Miw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7CiAKICAg
ICBNZWRpYVRyYWNrQ29uc3RyYWludHMgbV9jb25zdHJhaW50czsKLSAgICBPcHRpb25hbDxET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9N
UHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3Byb21pc2U7CiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Rhc2tRdWV1ZTsKICAgICBHZW5lcmljVGFza1F1ZXVl
PFRpbWVyPiBtX2V2ZW50VGFza1F1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXgg
ZTY4ZWQ5OWY5MjllZWVkNGNmOTk3MDNiYTY2M2Y5NDc3ZTE3OTFhZC4uMmZmMjMwZTQ2NDY3YTgy
MTFlZGYwMDU0MzdjNTQwYzZiZjk5YjdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcApAQCAt
MzUsNiArMzUsNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNSVENT
ZXNzaW9uRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENDZXJ0aWZpY2F0ZUdlbmVy
YXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTgyLDEyICs4MywxNCBAQCBQZWVyQ29u
bmVjdGlvbkJhY2tlbmQ6OlBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVyQ29ubmVjdGlvbiYg
cGVlckNvbm5lY3Rpb24pCiB7CiB9CiAKK1BlZXJDb25uZWN0aW9uQmFja2VuZDo6flBlZXJDb25u
ZWN0aW9uQmFja2VuZCgpID0gZGVmYXVsdDsKKwogdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OmNyZWF0ZU9mZmVyKFJUQ09mZmVyT3B0aW9ucyYmIG9wdGlvbnMsIFBlZXJDb25uZWN0aW9uOjpT
ZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBBU1NFUlQoIW1fb2Zm
ZXJBbnN3ZXJQcm9taXNlKTsKICAgICBBU1NFUlQoIW1fcGVlckNvbm5lY3Rpb24uaXNDbG9zZWQo
KSk7CiAKLSAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAg
bV9vZmZlckFuc3dlclByb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8UGVlckNvbm5lY3Rpb246OlNl
c3Npb25EZXNjcmlwdGlvblByb21pc2U+KFdURk1vdmUocHJvbWlzZSkpOwogICAgIGRvQ3JlYXRl
T2ZmZXIoV1RGTW92ZShvcHRpb25zKSk7CiB9CiAKQEAgLTEyNCw3ICsxMjcsNyBAQCB2b2lkIFBl
ZXJDb25uZWN0aW9uQmFja2VuZDo6Y3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9wdGlvbnMmJiBvcHRp
b25zLCBQZWVyQ29ubmVjdAogICAgIEFTU0VSVCghbV9vZmZlckFuc3dlclByb21pc2UpOwogICAg
IEFTU0VSVCghbV9wZWVyQ29ubmVjdGlvbi5pc0Nsb3NlZCgpKTsKIAotICAgIG1fb2ZmZXJBbnN3
ZXJQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9
IFdURjo6bWFrZVVuaXF1ZTxQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlz
ZT4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9DcmVhdGVBbnN3ZXIoV1RGTW92ZShvcHRpb25z
KSk7CiB9CiAKQEAgLTE4NCw3ICsxODcsNyBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6
c2V0TG9jYWxEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mIHNlc3Npb25EZQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9zZXREZXNjcmlwdGlvblByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpOworICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RGOjptYWtlVW5p
cXVlPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9T
ZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbik7CiB9CiAKQEAgLTI0NSw3ICsy
NDgsNyBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c2V0UmVtb3RlRGVzY3JpcHRpb24o
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uJiBzZXNzaW9uRAogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgbV9zZXREZXNjcmlwdGlvblByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOworICAgIG1f
c2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZlcnJl
ZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9TZXRSZW1vdGVEZXNjcmlwdGlvbihz
ZXNzaW9uRGVzY3JpcHRpb24pOwogfQogCkBAIC0zMjUsNyArMzI4LDcgQEAgdm9pZCBQZWVyQ29u
bmVjdGlvbkJhY2tlbmQ6OmFkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUqIGljZUNhbmRp
ZGF0ZSwgRE9NUHIKICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCAiVHJ5aW5nIHRvIGFkZCBhIGNhbmRpZGF0ZSB0aGF0IGlzIG1pc3NpbmcgYm90aCBzZHBNaWQg
YW5kIHNkcE1MaW5lSW5kZXgiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9h
ZGRJY2VDYW5kaWRhdGVQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX2FkZEljZUNh
bmRpZGF0ZVByb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
PihXVEZNb3ZlKHByb21pc2UpKTsKICAgICBkb0FkZEljZUNhbmRpZGF0ZSgqaWNlQ2FuZGlkYXRl
KTsKIH0KIApAQCAtNDcwLDYgKzQ3MywxMSBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6
ZG9uZUdhdGhlcmluZ0NhbmRpZGF0ZXMoKQogICAgIG1fcGVuZGluZ0lDRUNhbmRpZGF0ZXMuY2xl
YXIoKTsKIH0KIAordm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmVuZE9mSWNlQ2FuZGlkYXRl
cyhET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQoreworICAgIHByb21pc2UucmVz
b2x2ZSgpOworfQorCiB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVnaXN0ZXJNRE5TTmFt
ZShjb25zdCBTdHJpbmcmIGlwQWRkcmVzcykKIHsKICAgICArK21fd2FpdGluZ0Zvck1ETlNSZWdp
c3RyYXRpb247CkBAIC01MjAsOSArNTI4LDkgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OnVwZGF0ZVNpZ25hbGluZ1N0YXRlKFJUQ1NpZ25hbGluZ1N0YXRlIG5ld1NpZ25hbGluZ1MKIAog
dm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnN0b3AoKQogewotICAgIG1fb2ZmZXJBbnN3ZXJQ
cm9taXNlID0gV1RGOjpudWxsb3B0OwotICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RG
OjpudWxsb3B0OwotICAgIG1fYWRkSWNlQ2FuZGlkYXRlUHJvbWlzZSA9IFdURjo6bnVsbG9wdDsK
KyAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9IG51bGxwdHI7CisgICAgbV9zZXREZXNjcmlwdGlv
blByb21pc2UgPSBudWxscHRyOworICAgIG1fYWRkSWNlQ2FuZGlkYXRlUHJvbWlzZSA9IG51bGxw
dHI7CiAKICAgICBtX3BlbmRpbmdUcmFja0V2ZW50cy5jbGVhcigpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tl
bmQuaAppbmRleCAxYWMwOTU4OTNlODhkMjg0OTJhMDIzZTAyODg0MmNjMjQ0N2NhODc2Li4yZGEz
ZGRjOWIxYTQxNjdlMDQ2ODhhMzRlNzhhYTJjYTljYmNiODRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCi0jaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUg
IkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUlRDUnRwU2VuZFBhcmFtZXRlcnMuaCIK
ICNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb24uaCIKQEAgLTQzLDYgKzQzLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBEb2N1
bWVudDsKIGNsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgTWVkaWFTdHJlYW1UcmFjazsKQEAgLTU2
LDYgKzU3LDcgQEAgY2xhc3MgUlRDUnRwU2VuZGVyOwogY2xhc3MgUlRDUnRwVHJhbnNjZWl2ZXI7
CiBjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb247CiBjbGFzcyBSVENTdGF0c1JlcG9ydDsKK2Ns
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIHN0cnVjdCBNZWRpYUVuZHBvaW50Q29uZmln
dXJhdGlvbjsKIHN0cnVjdCBSVENBbnN3ZXJPcHRpb25zOwpAQCAtNjMsNiArNjUsOCBAQCBzdHJ1
Y3QgUlRDRGF0YUNoYW5uZWxJbml0Owogc3RydWN0IFJUQ09mZmVyT3B0aW9uczsKIHN0cnVjdCBS
VENSdHBUcmFuc2NlaXZlckluaXQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNz
IERPTVByb21pc2VEZWZlcnJlZDsKKwogbmFtZXNwYWNlIFBlZXJDb25uZWN0aW9uIHsKIHVzaW5n
IFNlc3Npb25EZXNjcmlwdGlvblByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMRGljdGlv
bmFyeTxSVENTZXNzaW9uRGVzY3JpcHRpb246OkluaXQ+PjsKIHVzaW5nIFN0YXRzUHJvbWlzZSA9
IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UlRDU3RhdHNSZXBvcnQ+PjsKQEAgLTgz
LDcgKzg3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBPcHRpb25hbDxSVENSdHBDYXBhYmlsaXRp
ZXM+IHNlbmRlckNhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3Ry
aW5nJiBraW5kKTsKIAogICAgIGV4cGxpY2l0IFBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVy
Q29ubmVjdGlvbiYpOwotICAgIHZpcnR1YWwgflBlZXJDb25uZWN0aW9uQmFja2VuZCgpID0gZGVm
YXVsdDsKKyAgICB2aXJ0dWFsIH5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKTsKIAogICAgIHZvaWQg
Y3JlYXRlT2ZmZXIoUlRDT2ZmZXJPcHRpb25zJiYsIFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVz
Y3JpcHRpb25Qcm9taXNlJiYpOwogICAgIHZvaWQgY3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9wdGlv
bnMmJiwgUGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblByb21pc2UmJik7CkBAIC0y
MDksNyArMjEzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZG9TZXRMb2NhbERlc2Ny
aXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZG9T
ZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGRvQWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSYpID0gMDsKLSAgICB2
aXJ0dWFsIHZvaWQgZW5kT2ZJY2VDYW5kaWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYm
IHByb21pc2UpIHsgcHJvbWlzZS5yZXNvbHZlKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZW5kT2ZJ
Y2VDYW5kaWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKICAgICB2aXJ0dWFsIHZv
aWQgZG9TdG9wKCkgPSAwOwogCiAgICAgdm9pZCByZWdpc3Rlck1ETlNOYW1lKGNvbnN0IFN0cmlu
ZyYgaXBBZGRyZXNzKTsKQEAgLTIxOCw5ICsyMjIsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgUlRDUGVl
ckNvbm5lY3Rpb24mIG1fcGVlckNvbm5lY3Rpb247CiAKIHByaXZhdGU6Ci0gICAgT3B0aW9uYWw8
UGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblByb21pc2U+IG1fb2ZmZXJBbnN3ZXJQ
cm9taXNlOwotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9zZXREZXNj
cmlwdGlvblByb21pc2U7Ci0gICAgT3B0aW9uYWw8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBt
X2FkZEljZUNhbmRpZGF0ZVByb21pc2U7CisgICAgc3RkOjp1bmlxdWVfcHRyPFBlZXJDb25uZWN0
aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlPiBtX29mZmVyQW5zd2VyUHJvbWlzZTsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3NldERlc2NyaXB0
aW9uUHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
PiBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2U7CiAKICAgICBib29sIG1fc2hvdWxkRmlsdGVySUNF
Q2FuZGlkYXRlcyB7IHRydWUgfTsKICAgICBzdHJ1Y3QgUGVuZGluZ0lDRUNhbmRpZGF0ZSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uY3BwCmluZGV4IGM5ODNmYTNlM2EyYjI0NjllZWUwMGZmMzA3ZGNkMzNjMjY2ODFm
OTEuLjM3NDZiOGJlZmMyM2M2MTdiOTg3YWRmOThkMzRjODQ4NTczMzllYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFFbmRwb2ludENvbmZpZ3VyYXRpb24uaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaApp
bmRleCA5ZGQ5NDY3NjAxY2EyNTYyOGM2NGY2MjMzYzc5ZTcxOWNjNjI3ZDJjLi4zY2NhOGIyYjk2
NzE4YWU0NzZkODM5NDMyNjEyMGM5Nzk5MDc5MzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCkBAIC0zOSw2ICszOSw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3Mg
UGVlckNvbm5lY3Rpb25CYWNrZW5kOwogc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJC
YWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ckJhY2tlbmQuaAppbmRleCA2NTYzOGNkYWFhMTc5MzgwZjZiY2VkMTUwMjZmNGNjM2EwYTFjYTNk
Li5hZDUyNDA5NzhjZGQ5YzJjZTMwZDBmNzUyMWNiZjFhNTE1ZTAzNzQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tlbmQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tl
bmQuaApAQCAtMjYsMTYgKzI2LDE3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAotI2luY2x1
ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgTWVkaWFTdHJlYW1UcmFjazsKIGNsYXNzIFJUQ0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3Mg
UlRDUnRwU2VuZGVyOwotc3RydWN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOwogY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKIAorc3RydWN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOworCit0ZW1w
bGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNz
IFJUQ1J0cFNlbmRlckJhY2tlbmQgewogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXBsYWNl
VHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJUQ1J0cFNlbmRlciYsIFJlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJikgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVz
dC5jcHAKaW5kZXggNzM4N2EzOGFiMDUxMzg2NzRjNjdiYmFhYzkzMjkzNzc4OTk1YzU0ZS4uNGYy
NTE3ZTE2NWFkZTVmYzMxZGYyYTEwMjQ5NjlmNWJiZTMwODczYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCkBA
IC0zOCw2ICszOCw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlh
U3RyZWFtLmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWluZWRFcnJvci5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKQEAgLTYxLDcgKzYyLDcgQEAgUmVmPFVzZXJNZWRpYVJlcXVlc3Q+IFVzZXJN
ZWRpYVJlcXVlc3Q6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhU3RyZWFtUmUKIFVz
ZXJNZWRpYVJlcXVlc3Q6OlVzZXJNZWRpYVJlcXVlc3QoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRp
YVN0cmVhbVJlcXVlc3QmJiByZXF1ZXN0LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNl
PE1lZGlhU3RyZWFtPj4mJiBwcm9taXNlKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGRvY3VtZW50
KQogICAgICwgbV9pZGVudGlmaWVyKFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyOjpnZW5lcmF0
ZSgpKQotICAgICwgbV9wcm9taXNlKFdURk1vdmUocHJvbWlzZSkpCisgICAgLCBtX3Byb21pc2Uo
bWFrZVVuaXF1ZVJlZjxET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPE1lZGlhU3RyZWFt
Pj4+KFdURk1vdmUocHJvbWlzZSkpKQogICAgICwgbV9yZXF1ZXN0KFdURk1vdmUocmVxdWVzdCkp
CiB7CiB9CkBAIC0yNTYsNyArMjU3LDcgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjphbGxvdyhD
YXB0dXJlRGV2aWNlJiYgYXVkaW9EZXZpY2UsIENhcHR1cmVEZXZpY2UmJiB2aWRlb0QKIAogICAg
ICAgICBBU1NFUlQoZG9jdW1lbnQuaXNDYXB0dXJpbmcoKSk7CiAgICAgICAgIHN0cmVhbS0+ZG9j
dW1lbnQoKS0+c2V0SGFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2soKTsKLSAgICAgICAgbV9wcm9t
aXNlLnJlc29sdmUoV1RGTW92ZShzdHJlYW0pKTsKKyAgICAgICAgbV9wcm9taXNlLT5yZXNvbHZl
KFdURk1vdmUoc3RyZWFtKSk7CiAgICAgfTsKIAogICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNh
c3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpAQCAtMjk4LDcgKzI5OSw3
IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6ZGVueShNZWRpYUFjY2Vzc0RlbmlhbFJlYXNvbiBy
ZWFzb24sIGNvbnN0IFN0cmluZyYgbWVzc2FnCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTWVk
aWFBY2Nlc3NEZW5pYWxSZWFzb246OkludmFsaWRDb25zdHJhaW50OgogICAgICAgICBSRUxFQVNF
X0xPRyhNZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkgLSBpbnZhbGlkIGNvbnN0
cmFpbnQgLSAlcyIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIG1fcHJvbWlzZS5y
ZWplY3RUeXBlPElETEludGVyZmFjZTxPdmVyY29uc3RyYWluZWRFcnJvcj4+KE92ZXJjb25zdHJh
aW5lZEVycm9yOjpjcmVhdGUobWVzc2FnZSwgIkludmFsaWQgY29uc3RyYWludCJfcykuZ2V0KCkp
OworICAgICAgICBtX3Byb21pc2UtPnJlamVjdFR5cGU8SURMSW50ZXJmYWNlPE92ZXJjb25zdHJh
aW5lZEVycm9yPj4oT3ZlcmNvbnN0cmFpbmVkRXJyb3I6OmNyZWF0ZShtZXNzYWdlLCAiSW52YWxp
ZCBjb25zdHJhaW50Il9zKS5nZXQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIE1lZGlh
QWNjZXNzRGVuaWFsUmVhc29uOjpIYXJkd2FyZUVycm9yOgogICAgICAgICBSRUxFQVNFX0xPRyhN
ZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkgLSBoYXJkd2FyZSBlcnJvciIpOwpA
QCAtMzE5LDkgKzMyMCw5IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6ZGVueShNZWRpYUFjY2Vz
c0RlbmlhbFJlYXNvbiByZWFzb24sIGNvbnN0IFN0cmluZyYgbWVzc2FnCiAgICAgfQogCiAgICAg
aWYgKCFtZXNzYWdlLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wcm9taXNlLnJlamVjdChjb2RlLCBt
ZXNzYWdlKTsKKyAgICAgICAgbV9wcm9taXNlLT5yZWplY3QoY29kZSwgbWVzc2FnZSk7CiAgICAg
ZWxzZQotICAgICAgICBtX3Byb21pc2UucmVqZWN0KGNvZGUpOworICAgICAgICBtX3Byb21pc2Ut
PnJlamVjdChjb2RlKTsKIH0KIAogdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjpzdG9wKCkKQEAgLTM2
MSw3ICszNjIsNyBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbChS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiAgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9
ICJ1bmtub3duIjsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1fcHJvbWlzZS5yZWplY3Qo
Tm90UmVhZGFibGVFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHN0YXJ0aW5nIGNhcHR1cmUgb2Yg
YSAiX3MsIHR5cGVEZXNjcmlwdGlvbiwgIiB0cmFjayJfcykpOworICAgIG1fcHJvbWlzZS0+cmVq
ZWN0KE5vdFJlYWRhYmxlRXJyb3IsIG1ha2VTdHJpbmcoIkZhaWxlZCBzdGFydGluZyBjYXB0dXJl
IG9mIGEgIl9zLCB0eXBlRGVzY3JpcHRpb24sICIgdHJhY2siX3MpKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAppbmRleCAzZmJjNDczODMyZTZhNzQxZjQzNTE3NDhlZTEz
NmU1ODVhNDdkYTIwLi5jNmQ1ZWFjZGUyYWRmOThlMjQ2YWI4MGQ5NzYxNGYzYWQwYmE0NDA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YVJlcXVlc3QuaApAQCAtMzYsNyArMzYsNyBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0
LmgiCiAjaW5jbHVkZSAiQ2FwdHVyZURldmljZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURl
ZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFp
bnRzLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW1SZXF1ZXN0LmgiCkBAIC00OCw2ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKK3RlbXBsYXRlPHR5cGVu
YW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogZW51bSBVc2VyTWVkaWFS
ZXF1ZXN0SWRlbnRpZmllclR5cGUgeyB9OwogdXNpbmcgVXNlck1lZGlhUmVxdWVzdElkZW50aWZp
ZXIgPSBPYmplY3RJZGVudGlmaWVyPFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyVHlwZT47CiAK
QEAgLTkxLDcgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U3RyaW5nPiBtX3ZpZGVvRGV2
aWNlVUlEczsKICAgICBWZWN0b3I8U3RyaW5nPiBtX2F1ZGlvRGV2aWNlVUlEczsKIAotICAgIERP
TVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+PiBtX3Byb21pc2U7Cisg
ICAgVW5pcXVlUmVmPERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+
Pj4gbV9wcm9taXNlOwogICAgIE1lZGlhU3RyZWFtUmVxdWVzdCBtX3JlcXVlc3Q7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDkwMGY0OWI0
ZjE0ZDZjZDNiOTY5NjQ1MzNkODlmNTI5YjMwMDZhYWYuLmJjYjFjODZjOWVlYzZhNjhhNzc0OTRl
ZThjZTQ1ZTc5YTA5YWVhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5k
cG9pbnQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKExJQldFQlJUQykKIAogI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIkpTUlRDU3RhdHNSZXBvcnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENEYXRhQ2hhbm5l
bEhhbmRsZXIuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKaW5kZXgg
NmFlZWExMzM4OTJkMjA2M2YwMzUzOWI4ZWVjNGRiOWJjZTY0ZDdkOS4uODk0MjU4Yjg2MDk4N2Jk
ODJkM2Q3OTlhMmVkZDI2MzlmOGYzYzZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShX
RUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUg
IkxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0
aWxzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJC
YWNrZW5kLmNwcAppbmRleCA1YzBkN2U5NWUyZmQxMmUzZjg0ZjE3Y2ZiZWI2ZDg2N2E1MWYyZTQx
Li5lNjQzYTgzYWZjZTJkNDc0ZTA4MmM0YjZlYjQ2YjY2N2IwYzNmMTAwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBU
cmFuc2NlaXZlckJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAKQEAgLTI3
LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQogCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENSdHBS
ZWNlaXZlckJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmgi
CiAjaW5jbHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKaW5kZXggMDc3NGZj
NmUxNWI2Zjk4NTNjMmQwYjNlMTQ4YmE1Y2ZjMzcxYzgzNC4uY2MwNzc0YmM1NzEwNGZmMjA3MjVj
YzYzNjBjYjI1ZGQ5MTg4MmQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIkpTUGF5bWVudERldGFpbHNVcGRhdGUuaCIKICNpbmNsdWRlICJKU1BheW1lbnRSZXNw
b25zZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTQxMCw3ICs0MTEsNyBAQCB2b2lkIFBheW1l
bnRSZXF1ZXN0OjpzaG93KERvY3VtZW50JiBkb2N1bWVudCwgUmVmUHRyPERPTVByb21pc2U+JiYg
ZGV0YWlsc1Byb21pcwogCiAgICAgbV9zdGF0ZSA9IFN0YXRlOjpJbnRlcmFjdGl2ZTsKICAgICBB
U1NFUlQoIW1fc2hvd1Byb21pc2UpOwotICAgIG1fc2hvd1Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpOworICAgIG1fc2hvd1Byb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8U2hvd1Byb21pc2U+KFdU
Rk1vdmUocHJvbWlzZSkpOwogCiAgICAgUmVmUHRyPFBheW1lbnRIYW5kbGVyPiBzZWxlY3RlZFBh
eW1lbnRIYW5kbGVyOwogICAgIGZvciAoYXV0byYgcGF5bWVudE1ldGhvZCA6IG1fc2VyaWFsaXpl
ZE1ldGhvZERhdGEpIHsKQEAgLTQ2OCw3ICs0NjksNyBAQCB2b2lkIFBheW1lbnRSZXF1ZXN0Ojph
Ym9ydFdpdGhFeGNlcHRpb24oRXhjZXB0aW9uJiYgZXhjZXB0aW9uKQogCiB2b2lkIFBheW1lbnRS
ZXF1ZXN0OjpzZXR0bGVTaG93UHJvbWlzZShFeGNlcHRpb25PcjxQYXltZW50UmVzcG9uc2UmPiYm
IHJlc3VsdCkKIHsKLSAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0ZDo6ZXhjaGFuZ2UobV9z
aG93UHJvbWlzZSwgV1RGOjpudWxsb3B0KSkKKyAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0
ZDo6ZXhjaGFuZ2UobV9zaG93UHJvbWlzZSwgbnVsbHB0cikpCiAgICAgICAgIHNob3dQcm9taXNl
LT5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4IGY3YzM0MjY3
OTQ0NTFiNWJlZmRhMDdiYjk1ZDM1NzY0NDFhZGVkOGIuLjdmMWI1MmZhMDJkNGUzZjhiMmE0YTVi
OTJlNDYxMWUzZTg2NTUxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNs
dWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1
ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNp
bmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlBheW1lbnREZXRhaWxzSW5pdC5oIgogI2lu
Y2x1ZGUgIlBheW1lbnRNZXRob2RDaGFuZ2VFdmVudC5oIgogI2luY2x1ZGUgIlBheW1lbnRPcHRp
b25zLmgiCkBAIC00OSw2ICs0OSw3IEBAIGVudW0gY2xhc3MgUGF5bWVudENvbXBsZXRlOwogZW51
bSBjbGFzcyBQYXltZW50U2hpcHBpbmdUeXBlOwogc3RydWN0IFBheW1lbnREZXRhaWxzVXBkYXRl
Owogc3RydWN0IFBheW1lbnRNZXRob2REYXRhOwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwogCiBjbGFzcyBQYXltZW50UmVxdWVzdCBmaW5hbCA6
IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQYXltZW50UmVx
dWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUmVmQ291bnRl
ZDxQYXltZW50UmVxdWVzdD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGF5bWVudFJl
cXVlc3QpOwpAQCAtMTQyLDcgKzE0Myw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fc2hpcHBp
bmdPcHRpb247CiAgICAgUmVmUHRyPFBheW1lbnRBZGRyZXNzPiBtX3NoaXBwaW5nQWRkcmVzczsK
ICAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6OkNyZWF0ZWQgfTsKLSAgICBPcHRpb25hbDxTaG93
UHJvbWlzZT4gbV9zaG93UHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U2hvd1Byb21pc2U+
IG1fc2hvd1Byb21pc2U7CiAgICAgT3B0aW9uYWw8UGF5bWVudEhhbmRsZXJXaXRoUGVuZGluZ0Fj
dGl2aXR5PiBtX2FjdGl2ZVBheW1lbnRIYW5kbGVyOwogICAgIFJlZlB0cjxET01Qcm9taXNlPiBt
X2RldGFpbHNQcm9taXNlOwogICAgIFJlZlB0cjxET01Qcm9taXNlPiBtX21lcmNoYW50U2Vzc2lv
blByb21pc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAKaW5kZXggZDZjMThiODJlNTc5YjRjMjliNWJlNjQ0
NGVmZDdjNDcxZTc4OGIyZS4uOThiNWQ2Y2YyNDA5N2EwY2M4ZTE4ZTFjY2RkMGIzMTk2ODJmZGRm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50UmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFJlc3BvbnNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBB
WU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMDMsNyArMTA0LDcgQEAgdm9pZCBQ
YXltZW50UmVzcG9uc2U6OnJldHJ5KFBheW1lbnRWYWxpZGF0aW9uRXJyb3JzJiYgZXJyb3JzLCBE
T01Qcm9taXNlRGVmZXJyZWQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fcmV0cnlQ
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX3JldHJ5UHJvbWlzZSA9IFdURjo6bWFr
ZVVuaXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOwogfQog
CiB2b2lkIFBheW1lbnRSZXNwb25zZTo6YWJvcnRXaXRoRXhjZXB0aW9uKEV4Y2VwdGlvbiYmIGV4
Y2VwdGlvbikKQEAgLTEyMCw3ICsxMjEsOCBAQCB2b2lkIFBheW1lbnRSZXNwb25zZTo6c2V0dGxl
UmV0cnlQcm9taXNlKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVzdWx0KQogCiAgICAgQVNTRVJUKGhh
c1BlbmRpbmdBY3Rpdml0eSgpKTsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6Q3JlYXRl
ZCk7Ci0gICAgc3RkOjpleGNoYW5nZShtX3JldHJ5UHJvbWlzZSwgV1RGOjpudWxsb3B0KS0+c2V0
dGxlKFdURk1vdmUocmVzdWx0KSk7CisgICAgbV9yZXRyeVByb21pc2UtPnNldHRsZShXVEZNb3Zl
KHJlc3VsdCkpOworICAgIG1fcmV0cnlQcm9taXNlID0gbnVsbHB0cjsKIH0KIAogYm9vbCBQYXlt
ZW50UmVzcG9uc2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVz
cG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
c3BvbnNlLmgKaW5kZXggZWUyMjZhMDZmNDNmNGFiNmYwMGZkNmI3MTg3MmQ5ZThhM2JiOWUwYS4u
OWFlOWY4NWMzMzFiZjE4MzFiY2UyMDc1ZDY1YzdkZThhZWI3MzJjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5o
CkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNWYWx1ZUlu
V3JhcHBlZE9iamVjdC5oIgogI2luY2x1ZGUgIlBheW1lbnRBZGRyZXNzLmgiCiAjaW5jbHVkZSAi
UGF5bWVudENvbXBsZXRlLmgiCkBAIC00Miw2ICs0MSw4IEBAIGNsYXNzIERvY3VtZW50OwogY2xh
c3MgUGF5bWVudFJlcXVlc3Q7CiBzdHJ1Y3QgUGF5bWVudFZhbGlkYXRpb25FcnJvcnM7CiAKK3Rl
bXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xh
c3MgUGF5bWVudFJlc3BvbnNlIGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGlj
IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBSZWZDb3VudGVkPFBheW1lbnRSZXNw
b25zZT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGF5bWVudFJlc3BvbnNlKTsKIHB1
YmxpYzoKQEAgLTEyMyw3ICsxMjQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3BheWVyRW1h
aWw7CiAgICAgU3RyaW5nIG1fcGF5ZXJQaG9uZTsKICAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6
OkNyZWF0ZWQgfTsKLSAgICBPcHRpb25hbDxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcmV0
cnlQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+
IG1fcmV0cnlQcm9taXNlOwogICAgIFJlZlB0cjxQZW5kaW5nQWN0aXZpdHk8UGF5bWVudFJlc3Bv
bnNlPj4gbV9wZW5kaW5nQWN0aXZpdHk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
OTBmMGUzMzE1MDNhYmE2ZTg2YTliZTczMjdkODQ0NWQwYWJjNjg2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmNw
cApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCIKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCisKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUmVhZGFibGVTdHJlYW1Tb3VyY2U6On5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpID0g
ZGVmYXVsdDsKKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6c3RhcnQoUmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlciYmIGNvbnRyb2xsZXIsIERPTVByb21pc2VEZWZlcnJlZDx2b2lk
PiYmIHByb21pc2UpCit7CisgICAgQVNTRVJUKCFtX3Byb21pc2UpOworICAgIG1fcHJvbWlzZSA9
IFdURjo6bWFrZVVuaXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlz
ZSkpOworICAgIG1fY29udHJvbGxlciA9IFdURk1vdmUoY29udHJvbGxlcik7CisKKyAgICBzZXRB
Y3RpdmUoKTsKKyAgICBkb1N0YXJ0KCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6
OnB1bGwoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAgICBBU1NFUlQo
IW1fcHJvbWlzZSk7CisgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CisKKyAgICBtX3Byb21pc2Ug
PSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21p
c2UpKTsKKworICAgIHNldEFjdGl2ZSgpOworICAgIGRvUHVsbCgpOworfQorCit2b2lkIFJlYWRh
YmxlU3RyZWFtU291cmNlOjpzdGFydEZpbmlzaGVkKCkKK3sKKyAgICBBU1NFUlQobV9wcm9taXNl
KTsKKyAgICBtX3Byb21pc2UtPnJlc29sdmUoKTsKKyAgICBtX3Byb21pc2UgPSBudWxscHRyOwor
ICAgIHNldEluYWN0aXZlKCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGxG
aW5pc2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisgICAgbV9wcm9taXNlLT5yZXNv
bHZlKCk7CisgICAgbV9wcm9taXNlID0gbnVsbHB0cjsKKyAgICBzZXRJbmFjdGl2ZSgpOworfQor
Cit2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpjYW5jZWwoSlNDOjpKU1ZhbHVlKQoreworICAg
IGNsZWFuKCk7CisgICAgZG9DYW5jZWwoKTsKK30KKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJj
ZTo6Y2xlYW4oKQoreworICAgIGlmIChtX3Byb21pc2UpIHsKKyAgICAgICAgbV9wcm9taXNlID0g
bnVsbHB0cjsKKyAgICAgICAgc2V0SW5hY3RpdmUoKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVFJFQU1TX0FQSSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKaW5k
ZXggZjRmMDJiM2FhNmMxZmI3Mjc5ZTQ0M2E3ZTE5Y2E3MjMzN2FhNTIyZi4uZDRjZWZlYmJhNmQ1
MmFhNGRiNWFlMmI1YWEyOWFhYTcwYzJlZmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKQEAgLTMwLDE1ICszMCwx
NiBAQAogCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmgi
CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordGVt
cGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFz
cyBSZWFkYWJsZVN0cmVhbVNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlYWRhYmxlU3RyZWFt
U291cmNlPiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+UmVhZGFibGVTdHJlYW1Tb3VyY2UoKSA9
IGRlZmF1bHQ7CisgICAgdmlydHVhbCB+UmVhZGFibGVTdHJlYW1Tb3VyY2UoKTsKIAogICAgIHZv
aWQgc3RhcnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdWxsKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYm
KTsKQEAgLTYzLDU5ICs2NCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRvQ2Fu
Y2VsKCkgPSAwOwogCiBwcml2YXRlOgotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2
b2lkPj4gbV9wcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Qcm9taXNlRGVmZXJyZWQ8
dm9pZD4+IG1fcHJvbWlzZTsKICAgICBPcHRpb25hbDxSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyPiBtX2NvbnRyb2xsZXI7CiB9OwogCi1pbmxpbmUgdm9pZCBSZWFkYWJsZVN0cmVhbVNv
dXJjZTo6c3RhcnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYmIGNvbnRyb2xsZXIs
IERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCi17Ci0gICAgQVNTRVJUKCFtX3By
b21pc2UpOwotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7Ci0gICAgbV9jb250cm9s
bGVyID0gV1RGTW92ZShjb250cm9sbGVyKTsKLQotICAgIHNldEFjdGl2ZSgpOwotICAgIGRvU3Rh
cnQoKTsKLX0KLQotaW5saW5lIHZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGwoRE9NUHJv
bWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKLXsKLSAgICBBU1NFUlQoIW1fcHJvbWlzZSk7
Ci0gICAgQVNTRVJUKG1fY29udHJvbGxlcik7Ci0KLSAgICBtX3Byb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpOwotCi0gICAgc2V0QWN0aXZlKCk7Ci0gICAgZG9QdWxsKCk7Ci19Ci0KLWlubGluZSB2
b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpzdGFydEZpbmlzaGVkKCkKLXsKLSAgICBBU1NFUlQo
bV9wcm9taXNlKTsKLSAgICBzdGQ6OmV4Y2hhbmdlKG1fcHJvbWlzZSwgV1RGOjpudWxsb3B0KS52
YWx1ZSgpLnJlc29sdmUoKTsKLSAgICBzZXRJbmFjdGl2ZSgpOwotfQotCi1pbmxpbmUgdm9pZCBS
ZWFkYWJsZVN0cmVhbVNvdXJjZTo6cHVsbEZpbmlzaGVkKCkKLXsKLSAgICBBU1NFUlQobV9wcm9t
aXNlKTsKLSAgICBzdGQ6OmV4Y2hhbmdlKG1fcHJvbWlzZSwgV1RGOjpudWxsb3B0KS52YWx1ZSgp
LnJlc29sdmUoKTsKLSAgICBzZXRJbmFjdGl2ZSgpOwotfQotCi1pbmxpbmUgdm9pZCBSZWFkYWJs
ZVN0cmVhbVNvdXJjZTo6Y2FuY2VsKEpTQzo6SlNWYWx1ZSkKLXsKLSAgICBjbGVhbigpOwotICAg
IGRvQ2FuY2VsKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpjbGVh
bigpCi17Ci0gICAgaWYgKG1fcHJvbWlzZSkgewotICAgICAgICBtX3Byb21pc2UgPSBXVEY6Om51
bGxvcHQ7Ci0gICAgICAgIHNldEluYWN0aXZlKCk7Ci0gICAgfQotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1RSRUFNU19BUEkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAppbmRleCAzNDE5OTgxYzM1NzRj
MzczZWU5NzYxYmZmZWI1ZGUwZGJkYWFhYjJmLi4wYzQ1YWQ1Zjk5MzUwMGMxNGYzZWM0MTgwMGJh
NzI2N2JkMjNmZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2lu
Y2x1ZGUgIkF1ZGlvRGVzdGluYXRpb25Ob2RlLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIk1lZGlhQ2FuU3Rh
cnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5oIgpAQCAtNzgsNiArNzcsOCBAQCBjbGFzcyBTY3JpcHRQcm9jZXNz
b3JOb2RlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBXYXZlU2hhcGVyTm9kZTsKIAor
dGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiAv
LyBBdWRpb0NvbnRleHQgaXMgdGhlIGNvcm5lcnN0b25lIG9mIHRoZSB3ZWIgYXVkaW8gQVBJIGFu
ZCBhbGwgQXVkaW9Ob2RlcyBhcmUgY3JlYXRlZCBmcm9tIGl0LgogLy8gRm9yIHRocmVhZCBzYWZl
dHkgYmV0d2VlbiB0aGUgYXVkaW8gdGhyZWFkIGFuZCB0aGUgbWFpbiB0aHJlYWQsIGl0IGhhcyBh
IHJlbmRlcmluZyBncmFwaCBsb2NraW5nIG1lY2hhbmlzbS4gCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
LmNwcAppbmRleCA5MTkzNGU4ZDQyY2RhMmZjZjkyNTY5YWVlMDc0YTVjMDg2MjUzODJlLi44NDdk
MjY2MTQzNTcwMTE3YWNlMDRkMjNkYjdlZTYxNWNkYjIxY2IwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQu
aCIKICNpbmNsdWRlICJKU0Jhc2ljQ3JlZGVudGlhbC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlhbC5oIgogI2luY2x1ZGUg
IlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCIKICNpbmNsdWRlICJQdWJsaWNL
ZXlDcmVkZW50aWFsRGF0YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgKaW5kZXggMGI4Yjg0OWU0MzQ4
Y2U0MmFkMWNkYjBlYWRhZTFmNTNjYmNhM2ZmZS4uOWM2NWFlNmE2NzliYTQ5Nzk1OTJlMjI5OTli
ODkzZWFhMzY2MjE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oCkBAIC0yNyw3ICsyNyw3IEBACiAK
ICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTQxLDYgKzQxLDggQEAgY2xhc3MgU2VjdXJp
dHlPcmlnaW47CiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczsKIHN0
cnVjdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnM7CiAKK3RlbXBsYXRlPHR5cGVu
YW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogdXNpbmcgQ3JlZGVudGlh
bFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8SURMSW50ZXJmYWNlPEJh
c2ljQ3JlZGVudGlhbD4+PjsKIAogY2xhc3MgQXV0aGVudGljYXRvckNvb3JkaW5hdG9yIGZpbmFs
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5
Q3JlZGVudGlhbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsLmgKaW5kZXggMTJkZjBjMmQ2OWM1MmNiMTk5NWRlNDk3ZDE1YmI0OGNlNGJkZjg5
MC4uNGJlNzE1YjM1NDdkODJhNzZmZDdkMzgyOWFkNmIxZGQxMGYzZWE5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmgK
QEAgLTI5LDcgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkJhc2ljQ3JlZGVudGlhbC5oIgogI2luY2x1
ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNp
bmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVy
Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtNDAsNiArNDAsOCBAQCBjbGFzcyBE
b2N1bWVudDsKIAogc3RydWN0IFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhOwogCit0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFB1Ymxp
Y0tleUNyZWRlbnRpYWwgZmluYWwgOiBwdWJsaWMgQmFzaWNDcmVkZW50aWFsIHsKIHB1YmxpYzoK
ICAgICBzdHJ1Y3QgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cyB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNlcnZl
VmFyaWFibGVMaWZldGltZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcmVzZXJ2ZVZhcmlhYmxlTGlmZXRpbWVzLmNwcAppbmRleCA1M2UzNzg4MzA0NTE3
YTFiYzhjNGVlODcxY2Y0YWE1MzhlODI0YmQ3Li5lMTAxNjM2ZjFhZTk1MmM5OWQzMGQzNmEyZGYx
MjYwMTZmNTk4OWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFByZXNlcnZlVmFyaWFibGVMaWZldGltZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlc2VydmVWYXJpYWJsZUxpZmV0aW1lcy5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIldITFNMQVNULmgiCiAjaW5jbHVkZSAi
V0hMU0xBU1REdW1wZXIuaCIKKyNpbmNsdWRlICJXSExTTExleGVyLmgiCiAjaW5jbHVkZSAiV0hM
U0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAiV0hMU0xSZXBsYWNlV2l0aC5oIgogI2luY2x1ZGUgIldI
TFNMVmlzaXRvci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCmlu
ZGV4IDEyZGMzNTA2ZjQ3ZGNiNzVmNjVmZTFlNTA0MWZlMjZlMmVkNzkwZDkuLjUwOGZlOThkZmIx
ZDYzZTZmOWFlMDAyMjI3YjdiOWFiZWM5NDVkOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGli
cmFyeVV0aWxpdGllcy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIldITFNMQ2Fs
bEV4cHJlc3Npb24uaCIKICNpbmNsdWRlICJXSExTTFBhcnNlci5oIgorI2luY2x1ZGUgIldITFNM
UHJvZ3JhbS5oIgogI2luY2x1ZGUgIldITFNMU3RhbmRhcmRMaWJyYXJ5LmgiCiAjaW5jbHVkZSAi
V0hMU0xTdGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5oIgogI2luY2x1ZGUgIldITFNMVmlzaXRv
ci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHAKaW5kZXggMTZjYTRk
OTEyMjhjYWMzZDljOTU0NDcwY2E5NWIxOWNkZTU1MGJhMC4uNmIzOWJkYzc4Y2ZiMTMyNzg3ZjQw
ZDZlYjk5ODYzZTdmMjBhNTc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFUuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUg
IkdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiSlNXZWJHUFVBZGFwdGVyLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlv
bmFsLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmgKaW5kZXggNzhhMzhl
MjkzMTM1MWU5YzhmMTg2NmE0YjQ5ZGMxODNjNjNjOWM4Mi4uMTYxZTZjZGU3Nzg4Mzk4N2E4MTgx
ZTJjY2EyOTQxMmQxYTRjMTBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
LmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUpCiAKLSNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMzUsNiArMzUsOCBAQCBjbGFzcyBXZWJHUFVBZGFwdGVyOwogCiBz
dHJ1Y3QgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExU
eXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFdlYkdQVSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFdlYkdQVT4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViR1BVPiBjcmVh
dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFk
YXB0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5j
cHAKaW5kZXggNjk3ODlkOTQ5MWU3NzBkYzYyN2RlNTY5OWRmYzIyMzY0MDMwOGY2MC4uNmRiYTdk
MDY3Y2VjZTQ5YjRmZDU4YjI1M2M2YjlhZDM1MGRjZjM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU1dlYkdQ
VURldmljZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmgKaW5kZXggMTg0OTUxOTc3MmQzMmJjMjNiYjUyNDU3
NGI3ODA2ODIzMTZjOTgzYy4uOWQ3YzE3Y2FhMTczYTcxYTVjNDJjODM5Nzg3ODA2Y2QzNDg2YzEy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaApA
QCAtMjgsNyArMjgsNyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVSZXF1
ZXN0QWRhcHRlck9wdGlvbnMuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgor
I2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zOCw2ICszOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgV2ViR1BVRGV2
aWNlOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJy
ZWQ7CisKIGNsYXNzIFdlYkdQVUFkYXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVBZGFw
dGVyPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJHUFVBZGFwdGVyPiBjcmVhdGUoT3B0
aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuY3BwCmluZGV4IGJhMjU5NjNhMTIwNDdlN2IwZDE0
NWRjNDI4NDc4MDBhNmEyZTFmZGUuLjQxZjQxNjg3OWVlNmMzNGM3NzEyYjJhZGZiYjU2OTMxMmY5
ZmU1YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1
ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVy
LmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJH
UFVFcnJvclNjb3Blcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuaAppbmRleCBk
OTk2YjVlZWU5ZDhlMDI4MWUwNjI2ZDdjZWI2YzE4NTExNjZjZTM5Li5iMmVlZTIwOTJhM2RlZGY3
YjczNTI2ZDllZDhhMzI5MjNhZWY0YjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVCdWZmZXIuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkdQVUJ1ZmZl
ci5oIgogI2luY2x1ZGUgIkdQVUJ1ZmZlclVzYWdlLmgiCiAjaW5jbHVkZSAiR1BVT2JqZWN0QmFz
ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlw
ZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDEs
NiArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBHUFVCdWZmZXJEZXNjcmlw
dG9yOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJy
ZWQ7CisKIGNsYXNzIFdlYkdQVUJ1ZmZlciA6IHB1YmxpYyBHUFVPYmplY3RCYXNlIHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPFdlYkdQVUJ1ZmZlcj4gY3JlYXRlKFJlZlB0cjxHUFVCdWZmZXI+
JiYsIEdQVUVycm9yU2NvcGVzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmNwcAppbmRleCA3ZDVkZTc5YzgwMjY1MThjNDA4MWFhMDJjNjg5NDI5ZjJi
NzJmYTNiLi42ZGM4ZGIzMTQwYzkwOTM5MjhjZmE2ZmFmYzk5ZDhhNTIyYTgwMmQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTUxLDYg
KzUxLDcgQEAKICNpbmNsdWRlICJHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydEJ1ZmZl
clNvdXJjZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
SlNHUFVPdXRPZk1lbW9yeUVycm9yLmgiCiAjaW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3Iu
aCIKICNpbmNsdWRlICJKU1dlYkdQVUJ1ZmZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2UuaAppbmRleCAyMWI1NDE3YzIxMGE3NWY4YmI5OWMyMjczMTIx
NGNiZDIwMzlkMWExLi41ZDM1YmNmMjdmZjhkMjZiNTE0MzUxNDg5ZmJhYzg0Y2NhZDEzZjY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMzAs
NyArMzAsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR1BVRGV2aWNl
LmgiCiAjaW5jbHVkZSAiR1BVRXJyb3JTY29wZXMuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViR1BVQWRhcHRl
ci5oIgogI2luY2x1ZGUgIldlYkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWlu
RGVzY3JpcHRvci5oIgpAQCAtNzIsNiArNzIsOCBAQCBzdHJ1Y3QgV2ViR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvcjsKIAogZW51bSBjbGFzcyBHUFVFcnJvckZpbHRlcjsKIAordGVtcGxhdGU8dHlw
ZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiB1c2luZyBFcnJvcklE
TFVuaW9uID0gSURMVW5pb248SURMSW50ZXJmYWNlPEdQVU91dE9mTWVtb3J5RXJyb3I+LCBJRExJ
bnRlcmZhY2U8R1BVVmFsaWRhdGlvbkVycm9yPj47CiB1c2luZyBFcnJvclByb21pc2UgPSBET01Q
cm9taXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8RXJyb3JJRExVbmlvbj4+OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmlnYXRvcldlYlZSLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuY3BwCmluZGV4IDc3NmM0M2Fl
YzBiOWI1YmRlYWRjM2RkODkxMjZhY2VkNmJhNzUxNjguLjRkZjEwMjExYTdhNDY5ZWFlMTg5ZGZh
NGRjNTBhOGMzZjc5YTUzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
dnIvTmF2aWdhdG9yV2ViVlIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIv
TmF2aWdhdG9yV2ViVlIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiTmF2aWdhdG9y
V2ViVlIuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU1ZSRGlzcGxheS5oIgogI2luY2x1ZGUgIk5hdmlnYXRv
ci5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuaAppbmRleCA1NjEwYmExZTgyNDY2ZTU0
ZTA1YWNjN2EwNTE1ZTY1YzVmOGVmZDlmLi5mZmQ3MTM5Y2VhYzc1ZWQ0YjgwZDc4OTEzNWMzODg2
ZWRiY2FlY2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmln
YXRvcldlYlZSLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JX
ZWJWUi5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlN1
cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zNiw2ICszNiw4
IEBAIGNsYXNzIE5hdmlnYXRvcjsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBWUkRpc3BsYXk7CiAKK3Rl
bXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xh
c3MgTmF2aWdhdG9yV2ViVlIgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcAppbmRleCBjNjY2N2JiZjYwMGVjMjAyZGZmOWZlNWNi
MzYwNGI5YmE2ZGViZWNkLi44MDZhN2FiOWE0MDYyM2MwMzJhZGYyN2UzNTI1NmMwNzEyNGI0Zjg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93
LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuaAppbmRleCA1ODUxM2M2ZWY5YjExYmI3MGVlNjY5
MjgxMTMwZjc4MzIwM2ZlNTQzLi4xY2FkODQ2NGZiMDFhYTEzMjUzM2JiZDJkMTQzOTljZWE3NGM0
MWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmgKQEAgLTI3LDcg
KzI3LDYgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJW
UkV5ZS5oIgogI2luY2x1ZGUgIlZSTGF5ZXJJbml0LmgiCiAjaW5jbHVkZSAiVlJQbGF0Zm9ybURp
c3BsYXlDbGllbnQuaCIKQEAgLTM2LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ZW51bSBFeGNlcHRpb25Db2RlOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgUmVxdWVz
dEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXI7CiBjbGFzcyBWUkRpc3BsYXlDYXBhYmlsaXRpZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDljMTcx
ZTU2YzAwZTMyZWM0OTgwN2U3MTA1MDAwM2Q2MGRiMDFkMDguLmRjZWE2NjYyM2ZjMjRkYjg4NDUw
MmIyYzVmNGUwYzhhOGFhNmZkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMDUsNiArMjA1LDcgQEAg
TW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmNwcAogTW9kdWxlcy9zcGVl
Y2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuY3BwCiAKIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbVNpbmsuY3BwCitNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3BwCiAK
IE1vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmNwcAogTW9kdWxlcy93ZWJhdWRpby9Bc3lu
Y0F1ZGlvRGVjb2Rlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwOGE0NjkyYzcxOGYzOTUyMGYxYzIyZmRlYjU4MjAzN2E0
ZjlhZGRmLi44MGNlYjM5MGExMWExNzcyMGM4MzJlN2RlZTMxZDNmNTRiOGM2ZDA3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02
NjMxLDYgKzY2MzEsNyBAQAogCQkyRDNFRjQ0NTE5MTc5MTVDMDAwMzQxODQgLyogV2ViQWN0aW9u
RGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViQWN0aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRDNFRjQ0NjE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ29y
ZUNBTGF5ZXJFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29y
ZUNBTGF5ZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQzRUY0NDcx
OTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENDNFQjJEMjM0NzJCQzMwMDJBMUVENCAvKiBSZWFk
YWJsZVN0cmVhbVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZWFkYWJsZVN0cmVhbVNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJENDZGMDREMTdCOTZGQkQwMDU2NDdGMCAvKiBJbnRQb2ludC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnRQb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJENDZGMDRGMTdCOTZGRDIwMDU2NDdGMCAvKiBJbnRTaXplLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludFNpemUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJGODggLyogVGV4dEluZGljYXRv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0SW5kaWNhdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTM2LDYgKzE3OTM3LDcgQEAK
IAkJCQk0MTI5Qzk4NzFGNTg2NjJEMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmNwcCAq
LywKIAkJCQk0MTI5Qzk4MDFGNTg2MUM3MDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmgg
Ki8sCiAJCQkJNDEyOUM5ODExRjU4NjFDNzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5p
ZGwgKi8sCisJCQkJMkQ0M0VCMkQyMzQ3MkJDMzAwMkExRUQ0IC8qIFJlYWRhYmxlU3RyZWFtU291
cmNlLmNwcCAqLywKIAkJCQk0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVTdHJl
YW1Tb3VyY2UuaCAqLywKIAkJCQk0MThDMzk1QzFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVT
dHJlYW1Tb3VyY2UuaWRsICovLAogCQkJCTk5MDhCMEYxMUJDQUNGOTEwMEVEMEY1NSAvKiBTdHJl
YW1JbnRlcm5hbHMuanMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmNwcAppbmRleCBjMDdhMDJmNTY5NGIxYTAxYzZmZTMwNTZkNzY3OGQ4YTRiMzFhYWU0Li5m
YTE1N2RjM2FiNjUzOGU1Y2NjYmNlOTliYzBmMWZhYjIyNmY3M2VlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNs
dWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkpTQ29tcG9zaXRlT3BlcmF0aW9u
LmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGVPcGVyYXRpb25PckF1dG8uaCIKKyNpbmNsdWRlICJK
U0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJKU0tleWZyYW1lRWZmZWN0LmgiCiAjaW5jbHVkZSAi
UmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggNTA0YTJmM2VlZmY3YWZjYThk
ZTdkNWZjNDhmMDlmOTUxNGUzMTIxNS4uMzE5NGIzMjc0NzVmZjE2ZTlhZGQxMTQyOWM2OGUwZTU1
YmFlNDFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAg
LTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3QuaCIKICNpbmNsdWRlICJB
bmltYXRpb25QbGF5YmFja0V2ZW50LmgiCiAjaW5jbHVkZSAiQW5pbWF0aW9uVGltZWxpbmUuaCIK
KyNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJEZWNsYXJhdGl2ZUFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUaW1lbGlu
ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDM1OTJkNjI2
MmNlODZiMjA5MTJhYzVmNGQ1NmMzY2QzNDcxZWYwZGUuLjIwYjRjY2E2YzdhNTQ5NjViNjAwYmZl
YmE3MDc1ZGMzMWFiZDQ1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9X
ZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
LmgKQEAgLTI2LDkgKzI2LDkgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQWN0aXZlRE9N
T2JqZWN0LmgiCi0jaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRXZlbnRU
YXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgi
CiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSA8d3RmL01hcmth
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ1LDYgKzQ1LDggQEAgY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKK3RlbXBs
YXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2Fs
bGJhY2s7CisKIGNsYXNzIFdlYkFuaW1hdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkFuaW1h
dGlvbj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJBbmltYXRpb24+LCBwdWJsaWMgRXZlbnRU
YXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChXZWJBbmltYXRpb24pOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5k
ZXggNWZiNzRlNGFiYTQwYmVmM2UwMTVlYWI3YzIwYTgxZmViYThkZTYwOC4uYWFjM2Q0YWM0Zjkw
OTM1ODUyOWFiNjEzZjc1Zjk4NWRhNDMxYzdkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIK
ICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgogI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlJlc291
cmNlTG9hZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmgKaW5kZXggN2M0MTRkODlkNGU5NzM1OTk1OTkxMzc5NWY4Yzc1NjU5MTUx
ODgxMy4uODY4OGFkOTBkYWUzZWNlOTQ5ZWEwOWIxZWZlZTVkYTI2Zjk0Yzc4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmgKQEAgLTI1LDExICsyNSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwog
CiBjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZURlZmVycmVkLmgKaW5kZXgg
ZDk2MDI4YmMyZmQzZDEwNmIwZTQ0ZDY4N2RkMDE5M2UyMWNhMGY0Mi4uYmM3NGFhZjNjYWYyOWRl
Mzg5NjA4ODI5ZjRmZjAyZmM0ZDIyNTQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJlZC5oCkBAIC0xNjYsNiArMTY2LDcgQEAgcHJpdmF0
ZToKIH07CiAKIGNsYXNzIERPTVByb21pc2VEZWZlcnJlZEJhc2UgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERPTVByb21pc2VEZWZlcnJlZEJhc2UoUmVmPERl
ZmVycmVkUHJvbWlzZT4mJiBnZW5lcmljUHJvbWlzZSkKICAgICAgICAgOiBtX3Byb21pc2VEZWZl
cnJlZChXVEZNb3ZlKGdlbmVyaWNQcm9taXNlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCmluZGV4IDVl
MzRjZGUyZGYzOGNhMDM5NzdhNDA2OWE2ZjQ3NzY0YmI3ZTBhMjguLjgzNWZkNjdlMzhiY2RkMmVh
MjhjMTE0MTgzMmY1ZjVjM2Q2YWU2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcApAQCAtMzEsOSAr
MzEsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTSFRNTFRlbXBsYXRlRWxl
bWVudC5oIgogCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiSlNEb2N1bWVu
dEZyYWdtZW50LmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpT
QzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURhdGFD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20u
Y3BwCmluZGV4IDdhOGNhZWRjMGE3ZDY0MzRlZTMxZjI5NmRkMGE0OWFmMDljYjYyZmYuLmZhYjQw
Y2E4YWNjZDZjYTYyNTU1MGYwZjMzYWRjY2Q1M2RkYjcxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VEYXRhQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgogCi0jaW5jbHVk
ZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0Lmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9IZWFwSW5saW5lcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0lkZW50aWZpZXJJbmxp
bmVzLmg+CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKaW5kZXggZmU5NzVm
YjBkNTZiNGFiNTczYzBkMmNjY2NhMDZlYWVjZjU1MWM1Yi4uYjY1MDI2ZWY5NmE4N2EwMDk4ZGE4
ZDg3YjhiYjBmMzkyMDBkMzgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKQEAgLTMxLDYgKzMx
LDcgQEAKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1c3Rv
bS5jcHAKaW5kZXggZjFiNDQ3ZDgzNGYyODY5Y2ZkNjRhZGM5ZGIzMmJiMWQxN2I4ZDNlZi4uOGU5
Y2I5ZWI5NDYzOTRmNTg5MzgzYmI0NTY4YzJlZGE5NWI5MzMxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9uQ3VzdG9tLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkpTQ1NTQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDU1NUcmFu
c2l0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvci5oIgorI2luY2x1ZGUgIkpTRE9N
Q29udmVydC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCA5YmQ2
NjQ0NjAxNzA1NDk1YTk0ZTdiM2ZhZGYwNDhmM2M3YjA0M2Y3Li5mYzM2YjMzMGUxNWMzYThjOTQ1
Zjc5NTVhNTg1MTdmNWZiMTNkODU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiQWN0aXZlRE9NQ2FsbGJhY2tNaWNyb3Rhc2suaCIKICNpbmNsdWRlICJET01XcmFw
cGVyV29ybGQuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdFRhc2suaCIKKyNpbmNsdWRl
ICJKU0RPTUd1YXJkZWRPYmplY3QuaCIKICNpbmNsdWRlICJKU0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNNaWNyb3Rhc2tDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpT
V29ya2VyR2xvYmFsU2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV29ya2VyR2xvYmFsU2NvcGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKaW5kZXggMGI3MzQ1YWMxMWIzYTRh
ZTZiNmRkMTdmMjk2MjI0ZDBkY2IyNTcyZC4uZGQzZGUyY2VmNzM1MjMzNGQxMmUyOTI5NDBlNmYy
NDNmNmEwNTNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKQEAgLTI2LDEwICsyNiwxMCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGUuaCIKIAorI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29w
ZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTWljcm90YXNrLmg+CiAKLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXgg
NzE1MTNhNzI0OTIyM2E5NzJiMGEwYjc1ZjkzMTYwMWE1ZTk4OWEyZC4uODk0MzZlOTNiY2RlMzMy
MjU3ZGE1ZGY1MjRjYjFhODY5MzJlOTdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC0zMSw2ICszMSw3
IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJKU0RPTUdsb2Jh
bE9iamVjdFRhc2suaCIKKyNpbmNsdWRlICJKU0RPTUd1YXJkZWRPYmplY3QuaCIKICNpbmNsdWRl
ICJKU1dvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtsZXRHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAppbmRleCBhOTQxZmI0ZTI1
MDIxNWJjZDdiNTI2NmEwZjNlZjNhMTc1NGRmNTVkLi41ZWFlMjEyMDQ3MjkwOWVlNWYwMzViNDA2
Nzk4MmVhY2MzODE3YTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5j
bHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNj
cmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcAppbmRleCBlMWIxYWYyMGZi
MTFhZTNkZmVlMTkyY2FjOTJlNjJjZGVhNTU3ZGM4Li5hMmU5M2U4ZWRjYTk1ZmEyZGVhNjI4Mzkx
NWNiZWUwOTk1NTBlYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKQEAgLTM1LDYgKzM1LDcg
QEAKICNpbmNsdWRlICJDU1NVbmljb2RlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVl
TGlzdC5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQ
cm94eS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udFZhcmlhbnRCdWls
ZGVyLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZS5oIgpAQCAtMTI2LDE0ICsxMjcsMTQgQEAgUmVm
PEZvbnRGYWNlPiBGb250RmFjZTo6Y3JlYXRlKENTU0ZvbnRGYWNlJiBmYWNlKQogCiBGb250RmFj
ZTo6Rm9udEZhY2UoQ1NTRm9udFNlbGVjdG9yJiBmb250U2VsZWN0b3IpCiAgICAgOiBtX2JhY2tp
bmcoQ1NTRm9udEZhY2U6OmNyZWF0ZSgmZm9udFNlbGVjdG9yLCBudWxscHRyLCB0aGlzKSkKLSAg
ICAsIG1fbG9hZGVkUHJvbWlzZSgqdGhpcywgJkZvbnRGYWNlOjpsb2FkZWRQcm9taXNlUmVzb2x2
ZSkKKyAgICAsIG1fbG9hZGVkUHJvbWlzZShtYWtlVW5pcXVlUmVmPExvYWRlZFByb21pc2U+KCp0
aGlzLCAmRm9udEZhY2U6OmxvYWRlZFByb21pc2VSZXNvbHZlKSkKIHsKICAgICBtX2JhY2tpbmct
PmFkZENsaWVudCgqdGhpcyk7CiB9CiAKIEZvbnRGYWNlOjpGb250RmFjZShDU1NGb250RmFjZSYg
ZmFjZSkKICAgICA6IG1fYmFja2luZyhmYWNlKQotICAgICwgbV9sb2FkZWRQcm9taXNlKCp0aGlz
LCAmRm9udEZhY2U6OmxvYWRlZFByb21pc2VSZXNvbHZlKQorICAgICwgbV9sb2FkZWRQcm9taXNl
KG1ha2VVbmlxdWVSZWY8TG9hZGVkUHJvbWlzZT4oKnRoaXMsICZGb250RmFjZTo6bG9hZGVkUHJv
bWlzZVJlc29sdmUpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKIH0KQEAg
LTQ2MywxNSArNDY0LDE1IEBAIHZvaWQgRm9udEZhY2U6OmZvbnRTdGF0ZUNoYW5nZWQoQ1NTRm9u
dEZhY2UmIGZhY2UsIENTU0ZvbnRGYWNlOjpTdGF0dXMsIENTU0ZvbnRGCiAgICAgY2FzZSBDU1NG
b250RmFjZTo6U3RhdHVzOjpTdWNjZXNzOgogICAgICAgICAvLyBGSVhNRTogVGhpcyBjaGVjayBz
aG91bGQgbm90IGJlIG5lZWRlZCwgYnV0IGJlY2F1c2UgRm9udEZhY2UncyBhcmUgc29tZXRpbWVz
IGFkb3B0ZWQgYWZ0ZXIgdGhleSBoYXZlIGFscmVhZHkKICAgICAgICAgLy8gZ29uZSB0aHJvdWdo
IGEgbG9hZCBjeWNsZSwgd2UgY2FuIHNvbWV0aW1lcyBjb21lIGJhY2sgdGhyb3VnaCBoZXJlIGFu
ZCB0cnkgdG8gcmVzb2x2ZSB0aGUgcHJvbWlzZSBhZ2Fpbi4gIAotICAgICAgICBpZiAoIW1fbG9h
ZGVkUHJvbWlzZS5pc0Z1bGZpbGxlZCgpKQotICAgICAgICAgICAgbV9sb2FkZWRQcm9taXNlLnJl
c29sdmUoKnRoaXMpOworICAgICAgICBpZiAoIW1fbG9hZGVkUHJvbWlzZS0+aXNGdWxmaWxsZWQo
KSkKKyAgICAgICAgICAgIG1fbG9hZGVkUHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAgICAgICAg
IGRlcmVmKCk7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIENTU0ZvbnRGYWNlOjpTdGF0dXM6
OkZhaWx1cmU6CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIHNob3VsZCBub3QgYmUgbmVl
ZGVkLCBidXQgYmVjYXVzZSBGb250RmFjZSdzIGFyZSBzb21ldGltZXMgYWRvcHRlZCBhZnRlciB0
aGV5IGhhdmUgYWxyZWFkeQogICAgICAgICAvLyBnb25lIHRocm91Z2ggYSBsb2FkIGN5Y2xlLCB3
ZSBjYW4gc29tZXRpbWVzIGNvbWUgYmFjayB0aHJvdWdoIGhlcmUgYW5kIHRyeSB0byByZXNvbHZl
IHRoZSBwcm9taXNlIGFnYWluLiAgCi0gICAgICAgIGlmICghbV9sb2FkZWRQcm9taXNlLmlzRnVs
ZmlsbGVkKCkpCi0gICAgICAgICAgICBtX2xvYWRlZFByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7
IE5ldHdvcmtFcnJvciB9KTsKKyAgICAgICAgaWYgKCFtX2xvYWRlZFByb21pc2UtPmlzRnVsZmls
bGVkKCkpCisgICAgICAgICAgICBtX2xvYWRlZFByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBO
ZXR3b3JrRXJyb3IgfSk7CiAgICAgICAgIGRlcmVmKCk7CiAgICAgICAgIHJldHVybjsKICAgICBj
YXNlIENTU0ZvbnRGYWNlOjpTdGF0dXM6OlBlbmRpbmc6CkBAIC00ODMsNyArNDg0LDcgQEAgdm9p
ZCBGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwgQ1NTRm9udEZh
Y2U6OlN0YXR1cywgQ1NTRm9udEYKIGF1dG8gRm9udEZhY2U6OmxvYWQoKSAtPiBMb2FkZWRQcm9t
aXNlJgogewogICAgIG1fYmFja2luZy0+bG9hZCgpOwotICAgIHJldHVybiBtX2xvYWRlZFByb21p
c2U7CisgICAgcmV0dXJuIG1fbG9hZGVkUHJvbWlzZS5nZXQoKTsKIH0KIAogRm9udEZhY2UmIEZv
bnRGYWNlOjpsb2FkZWRQcm9taXNlUmVzb2x2ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oCmluZGV4IGYw
NWE3ZWYwODZmOWMzNWFkMTgyZDA1MmViNmQxNzc0Yzc4MTM5MGUuLmRjN2IxYWM2OWJjNTAzMjNi
Nzc2ZTllMWVkODgwMmE0YWMxMWEwZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9G
b250RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oCkBAIC0yNyw3ICsy
Nyw4IEBACiAKICNpbmNsdWRlICJDU1NGb250RmFjZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
TmFtZXMuaCIKLSNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKKyNpbmNsdWRlICJJRExUeXBl
cy5oIgorI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5o
PgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTM4LDYgKzM5LDggQEAgY2xhc3MgQXJy
YXlCdWZmZXJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3RlbXBsYXRlPHR5cGVuYW1l
IElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNs
YXNzIEZvbnRGYWNlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udEZhY2U+LCBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8Rm9udEZhY2U+LCBwcml2YXRlIENTU0ZvbnRGYWNlOjpDbGllbnQgewog
cHVibGljOgogICAgIHN0cnVjdCBEZXNjcmlwdG9ycyB7CkBAIC03Nyw3ICs4MCw3IEBAIHB1Ymxp
YzoKICAgICBMb2FkU3RhdHVzIHN0YXR1cygpIGNvbnN0OwogCiAgICAgdXNpbmcgTG9hZGVkUHJv
bWlzZSA9IERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s8SURMSW50ZXJmYWNlPEZv
bnRGYWNlPj47Ci0gICAgTG9hZGVkUHJvbWlzZSYgbG9hZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQ
cm9taXNlOyB9CisgICAgTG9hZGVkUHJvbWlzZSYgbG9hZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQ
cm9taXNlLmdldCgpOyB9CiAgICAgTG9hZGVkUHJvbWlzZSYgbG9hZCgpOwogCiAgICAgdm9pZCBh
ZG9wdChDU1NGb250RmFjZSYpOwpAQCAtOTksNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBGb250
RmFjZSYgbG9hZGVkUHJvbWlzZVJlc29sdmUoKTsKIAogICAgIFJlZjxDU1NGb250RmFjZT4gbV9i
YWNraW5nOwotICAgIExvYWRlZFByb21pc2UgbV9sb2FkZWRQcm9taXNlOworICAgIFVuaXF1ZVJl
ZjxMb2FkZWRQcm9taXNlPiBtX2xvYWRlZFByb21pc2U7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRGYWNlU2V0LmNwcAppbmRleCBhMTcwZTAxMmY5YzhmOWQwYTZkMzgzNTAwNjBkZmRkNzQ5MWFi
ZWVhLi5iYTY3ZWI0NmM3NTg1MmEzMmI5MTkzMjkzNzU3MzRlNjNjZGU1ODgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9Gb250RmFjZVNldC5jcHAKQEAgLTI5LDcgKzI5LDkgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNp
bmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZS5oIgogI2luY2x1
ZGUgIkpTRm9udEZhY2VTZXQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpA
QCAtNTUsNyArNTcsNyBAQCBSZWY8Rm9udEZhY2VTZXQ+IEZvbnRGYWNlU2V0OjpjcmVhdGUoRG9j
dW1lbnQmIGRvY3VtZW50LCBDU1NGb250RmFjZVNldCYgYmFja2luZwogRm9udEZhY2VTZXQ6OkZv
bnRGYWNlU2V0KERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVmVjdG9yPFJlZlB0cjxGb250RmFj
ZT4+JiBpbml0aWFsRmFjZXMpCiAgICAgOiBBY3RpdmVET01PYmplY3QoZG9jdW1lbnQpCiAgICAg
LCBtX2JhY2tpbmcoQ1NTRm9udEZhY2VTZXQ6OmNyZWF0ZSgpKQotICAgICwgbV9yZWFkeVByb21p
c2UoKnRoaXMsICZGb250RmFjZVNldDo6cmVhZHlQcm9taXNlUmVzb2x2ZSkKKyAgICAsIG1fcmVh
ZHlQcm9taXNlKG1ha2VVbmlxdWVSZWY8UmVhZHlQcm9taXNlPigqdGhpcywgJkZvbnRGYWNlU2V0
OjpyZWFkeVByb21pc2VSZXNvbHZlKSkKICAgICAsIG1fdGFza1F1ZXVlKFN1c3BlbmRhYmxlVGFz
a1F1ZXVlOjpjcmVhdGUoJmRvY3VtZW50KSkKIHsKICAgICBtX2JhY2tpbmctPmFkZENsaWVudCgq
dGhpcyk7CkBAIC02NiwxNCArNjgsMTQgQEAgRm9udEZhY2VTZXQ6OkZvbnRGYWNlU2V0KERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgVmVjdG9yPFJlZlB0cjxGb250RmFjZT4+JiBpbmkKIEZvbnRG
YWNlU2V0OjpGb250RmFjZVNldChEb2N1bWVudCYgZG9jdW1lbnQsIENTU0ZvbnRGYWNlU2V0JiBi
YWNraW5nKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGRvY3VtZW50KQogICAgICwgbV9iYWNraW5n
KGJhY2tpbmcpCi0gICAgLCBtX3JlYWR5UHJvbWlzZSgqdGhpcywgJkZvbnRGYWNlU2V0OjpyZWFk
eVByb21pc2VSZXNvbHZlKQorICAgICwgbV9yZWFkeVByb21pc2UobWFrZVVuaXF1ZVJlZjxSZWFk
eVByb21pc2U+KCp0aGlzLCAmRm9udEZhY2VTZXQ6OnJlYWR5UHJvbWlzZVJlc29sdmUpKQogICAg
ICwgbV90YXNrUXVldWUoU3VzcGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZSgmZG9jdW1lbnQpKQog
ewogICAgIGlmIChkb2N1bWVudC5mcmFtZSgpKQogICAgICAgICBtX2lzRmlyc3RMYXlvdXREb25l
ID0gZG9jdW1lbnQuZnJhbWUoKS0+bG9hZGVyKCkuc3RhdGVNYWNoaW5lKCkuZmlyc3RMYXlvdXRE
b25lKCk7CiAKICAgICBpZiAobV9pc0ZpcnN0TGF5b3V0RG9uZSAmJiAhYmFja2luZy5oYXNBY3Rp
dmVGb250RmFjZXMoKSkKLSAgICAgICAgbV9yZWFkeVByb21pc2UucmVzb2x2ZSgqdGhpcyk7Cisg
ICAgICAgIG1fcmVhZHlQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKIAogICAgIG1fYmFja2luZy0+
YWRkQ2xpZW50KCp0aGlzKTsKIH0KQEAgLTk2LDcgKzk4LDcgQEAgUmVmUHRyPEZvbnRGYWNlPiBG
b250RmFjZVNldDo6SXRlcmF0b3I6Om5leHQoKQogfQogCiBGb250RmFjZVNldDo6UGVuZGluZ1By
b21pc2U6OlBlbmRpbmdQcm9taXNlKExvYWRQcm9taXNlJiYgcHJvbWlzZSkKLSAgICA6IHByb21p
c2UoV1RGTW92ZShwcm9taXNlKSkKKyAgICA6IHByb21pc2UobWFrZVVuaXF1ZVJlZjxMb2FkUHJv
bWlzZT4oV1RGTW92ZShwcm9taXNlKSkpCiB7CiB9CiAKQEAgLTE3MCw3ICsxNzIsNyBAQCB2b2lk
IEZvbnRGYWNlU2V0Ojpsb2FkKGNvbnN0IFN0cmluZyYgZm9udCwgY29uc3QgU3RyaW5nJiB0ZXh0
LCBMb2FkUHJvbWlzZSYmIHBybwogICAgIH0KIAogICAgIGlmICghd2FpdGluZykKLSAgICAgICAg
cGVuZGluZ1Byb21pc2UtPnByb21pc2UucmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOwor
ICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS0+cmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+
ZmFjZXMpOwogfQogCiBFeGNlcHRpb25Pcjxib29sPiBGb250RmFjZVNldDo6Y2hlY2soY29uc3Qg
U3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluZyYgdGV4dCkKQEAgLTIwMywxOCArMjA1LDE4IEBA
IHZvaWQgRm9udEZhY2VTZXQ6OnN0YXJ0ZWRMb2FkaW5nKCkKIHZvaWQgRm9udEZhY2VTZXQ6OmRp
ZEZpcnN0TGF5b3V0KCkKIHsKICAgICBtX2lzRmlyc3RMYXlvdXREb25lID0gdHJ1ZTsKLSAgICBp
ZiAoIW1fYmFja2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkgJiYgIW1fcmVhZHlQcm9taXNlLmlz
RnVsZmlsbGVkKCkpIHsKKyAgICBpZiAoIW1fYmFja2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkg
JiYgIW1fcmVhZHlQcm9taXNlLT5pc0Z1bGZpbGxlZCgpKSB7CiAgICAgICAgIG1fdGFza1F1ZXVl
LT5lbnF1ZXVlVGFzayhbdGhpc10gewotICAgICAgICAgICAgbV9yZWFkeVByb21pc2UucmVzb2x2
ZSgqdGhpcyk7CisgICAgICAgICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAg
ICAgICAgIH0pOwogICAgIH0KIH0KIAogdm9pZCBGb250RmFjZVNldDo6Y29tcGxldGVkTG9hZGlu
ZygpCiB7Ci0gICAgaWYgKG1faXNGaXJzdExheW91dERvbmUgJiYgIW1fcmVhZHlQcm9taXNlLmlz
RnVsZmlsbGVkKCkpIHsKKyAgICBpZiAobV9pc0ZpcnN0TGF5b3V0RG9uZSAmJiAhbV9yZWFkeVBy
b21pc2UtPmlzRnVsZmlsbGVkKCkpIHsKICAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNr
KFt0aGlzXSB7Ci0gICAgICAgICAgICBtX3JlYWR5UHJvbWlzZS5yZXNvbHZlKCp0aGlzKTsKKyAg
ICAgICAgICAgIG1fcmVhZHlQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKICAgICAgICAgfSk7CiAg
ICAgfQogfQpAQCAtMjM0LDEyICsyMzYsMTIgQEAgdm9pZCBGb250RmFjZVNldDo6ZmFjZUZpbmlz
aGVkKENTU0ZvbnRGYWNlJiBmYWNlLCBDU1NGb250RmFjZTo6U3RhdHVzIG5ld1N0YXR1cykKICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChuZXdTdGF0dXMgPT0gQ1NT
Rm9udEZhY2U6OlN0YXR1czo6U3VjY2VzcykgewogICAgICAgICAgICAgICAgIGlmIChwZW5kaW5n
UHJvbWlzZS0+aGFzT25lUmVmKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgcGVuZGluZ1Byb21p
c2UtPnByb21pc2UucmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOworICAgICAgICAgICAg
ICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS0+cmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+
ZmFjZXMpOwogICAgICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+aGFzUmVhY2hlZFRl
cm1pbmFsU3RhdGUgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKG5ld1N0YXR1cyA9PSBDU1NGb250RmFjZTo6U3Rh
dHVzOjpGYWlsdXJlKTsKLSAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS5y
ZWplY3QoTmV0d29ya0Vycm9yKTsKKyAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJv
bWlzZS0+cmVqZWN0KE5ldHdvcmtFcnJvcik7CiAgICAgICAgICAgICAgICAgcGVuZGluZ1Byb21p
c2UtPmhhc1JlYWNoZWRUZXJtaW5hbFN0YXRlID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAppbmRleCBjNTdiMjExNjVkNzMwYjcxYTAzZDBh
YTgxNzlkOTA2MGZkYmIzODZlLi44ZjQ4MzVmNTNiZTM5MWIyZTNhNjA3ODI4ZmU3NDE2Nzk1YzMw
Y2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaApAQCAtMjcsMTMgKzI3LDE0IEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNldC5oIgot
I2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0j
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJTdXNwZW5kYWJsZVRh
c2tRdWV1ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElE
TFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5
cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNsYXNzIERP
TUV4Y2VwdGlvbjsKIAogY2xhc3MgRm9udEZhY2VTZXQgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxGb250RmFjZVNldD4sIHByaXZhdGUgQ1NTRm9udEZhY2VTZXRDbGllbnQsIHB1YmxpYyBFdmVu
dFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwcml2YXRlICBBY3RpdmVET01PYmplY3QgewpAQCAtNTcs
NyArNTgsNyBAQCBwdWJsaWM6CiAgICAgTG9hZFN0YXR1cyBzdGF0dXMoKSBjb25zdDsKIAogICAg
IHVzaW5nIFJlYWR5UHJvbWlzZSA9IERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s8
SURMSW50ZXJmYWNlPEZvbnRGYWNlU2V0Pj47Ci0gICAgUmVhZHlQcm9taXNlJiByZWFkeSgpIHsg
cmV0dXJuIG1fcmVhZHlQcm9taXNlOyB9CisgICAgUmVhZHlQcm9taXNlJiByZWFkeSgpIHsgcmV0
dXJuIG1fcmVhZHlQcm9taXNlLmdldCgpOyB9CiAgICAgdm9pZCBkaWRGaXJzdExheW91dCgpOwog
CiAgICAgQ1NTRm9udEZhY2VTZXQmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KQEAg
LTg5LDcgKzkwLDcgQEAgcHJpdmF0ZToKIAogICAgIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPFJl
ZjxGb250RmFjZT4+IGZhY2VzOwotICAgICAgICBMb2FkUHJvbWlzZSBwcm9taXNlOworICAgICAg
ICBVbmlxdWVSZWY8TG9hZFByb21pc2U+IHByb21pc2U7CiAgICAgICAgIGJvb2wgaGFzUmVhY2hl
ZFRlcm1pbmFsU3RhdGUgeyBmYWxzZSB9OwogICAgIH07CiAKQEAgLTExNiw3ICsxMTcsNyBAQCBw
cml2YXRlOgogCiAgICAgUmVmPENTU0ZvbnRGYWNlU2V0PiBtX2JhY2tpbmc7CiAgICAgSGFzaE1h
cDxSZWZQdHI8Rm9udEZhY2U+LCBWZWN0b3I8UmVmPFBlbmRpbmdQcm9taXNlPj4+IG1fcGVuZGlu
Z1Byb21pc2VzOwotICAgIFJlYWR5UHJvbWlzZSBtX3JlYWR5UHJvbWlzZTsKKyAgICBVbmlxdWVS
ZWY8UmVhZHlQcm9taXNlPiBtX3JlYWR5UHJvbWlzZTsKICAgICBVbmlxdWVSZWY8U3VzcGVuZGFi
bGVUYXNrUXVldWU+IG1fdGFza1F1ZXVlOwogICAgIGJvb2wgbV9pc0ZpcnN0TGF5b3V0RG9uZSB7
IHRydWUgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVu
dFJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnku
Y3BwCmluZGV4IDc2OWIxNmJiNGZiZTVlNzk1MDNmNjQ1MGU4ZjI3MTFhZWY1NzJiNTYuLjk0NTgy
ZWY0M2Y2ZjNkNzQyYjcwMDg3Mjk2OWUzZjkzOTVjZGQyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJK
U0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5o
IgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKaW5kZXggNjllMDZlN2IwNTQwMDI2
YzRiMTBjMjFhMTdiYjljNmE5YmUzMmYyMy4uMTVjMDU2ZDc2NDMwMTc1OWY2YmNlMGU1YmY5Njcy
NWYwYTkxZWZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0
aW9uT3JNb3Rpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJEZXZp
Y2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlv
bkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2
ZW50LmgKaW5kZXggMWJhZTY4MWYzOGY5ZDg5ZTdiMDdkN2EyNDRiZjZmNzM1N2Y4NmY4OC4uN2Ez
MGYzZDJjMTc0Mjk1NTExYTM1OGUyNjU0ODgwNGNlZTIzMjAwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaApAQCAtMjYsMTIg
KzI2LDE0IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uT3JN
b3Rpb25QZXJtaXNzaW9uU3RhdGUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5o
IgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
RG9jdW1lbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VE
ZWZlcnJlZDsKKwogY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50IHsKIHB1Ymxp
YzoKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCmluZGV4IDEyMTY2OGJiODhhYWFkZDk2ZDBm
OWRlMjI1Y2ExOWUyZjE3YjE2MDIuLjAxMzJlNjgxMjZlZDQzMjk2YzgzMzEwMGRhNWU5NTM3ODlk
NTc2NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlICJKU0V2ZW50VGFyZ2V0Q3VzdG9tLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2
ZW50LmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvQ2FsbEZyYW1lLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL01vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKaW5kZXgg
ZDZiZDFkYTM2YTY0NGI2ZDBhYzE0MjhiMzM3MWVmYzA2Mjc4MjJiYy4uZDE5MTFiMDg5NjQwMzA2
NjMzYzkzMjNlMzA0YzFiYzdlMDUxYzk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCkBAIC0z
MSw2ICszMSwxMSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtVG91Y2hFdmVudElPUy5oIgogI2VuZGlm
CiAKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgRXhlY1N0YXRlOworY2xhc3MgSlNWYWx1ZTsKK30K
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRhVHJhbnNmZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0N1c3RvbVBhaW50Q2FudmFzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0N1c3RvbVBhaW50Q2FudmFzLmgKaW5kZXggMjFkMmQwY2E3ODlhNTJmMzBhMmQ5NGUx
OTJjMjg5NDIzNDBhODViNi4uNzY1NmM2YzdiOTkwMzczNDhhMmQ0ZDZkY2FiOGI4ZjkwYTI4YThk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludENhbnZhcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFpbnRDYW52YXMuaApAQCAtMzMsNyArMzMs
NiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIK
ICNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ltYWdlQml0bWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3Bw
CmluZGV4IDZiMGM3YTNkNjdjZGM3YTViYjVkZTI5ODRjZDJiYTU1ZGYzMDI3MDcuLjIwNzBkMGVi
NzEwNWExMzNjN2ZlODgwYWQ0NzY0YThkZDg1YWUzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VC
aXRtYXAuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNp
bmNsdWRlICJJbWFnZURhdGEuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0ltYWdlQml0bWFwLmgiCiAjaW5jbHVk
ZSAiTGF5b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW1hZ2VCaXRtYXAuaAppbmRleCA5YzM3MjBmZDEwMGZmZGFjMjRhZTU4NTlmMzliMzExOGI4ODMw
NGIyLi45YTFlZWZmZDdlMGU5MmFkMjgzMjhlODEwYmM1MDI1NzFkZWMzZTk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9JbWFnZUJpdG1hcC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0j
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgog
I2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKQEAgLTQ1LDYgKzQ1LDggQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNz
IFR5cGVkT01DU1NJbWFnZVZhbHVlOwogc3RydWN0IEltYWdlQml0bWFwT3B0aW9uczsKIAordGVt
cGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFz
cyBJbWFnZUJpdG1hcCBmaW5hbCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZD
b3VudGVkPEltYWdlQml0bWFwPiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUJp
dG1hcCk7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVl
bkNhbnZhcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5jcHAKaW5k
ZXggMWQ3MmE3NWFhODM4NTRmMWI2ZWZjODM1NDYzMDRmNjZhNzEwMTc4Ny4uNmU5MzljYjVhZWVl
YWM0OGEyM2E4Y2ZlOGJlMjU5YzY1Mjk4ZDYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9PZmZzY3JlZW5DYW52YXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2Ny
ZWVuQ2FudmFzLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCisjaW5jbHVkZSAiSlNET01Q
cm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9PZmZzY3Jl
ZW5DYW52YXMuaAppbmRleCA1N2E2ZjM3ZjliNmNmMDdiNDAyNjU5ZjU4ZjY2ZGYwOTdhMTI5YmZm
Li5hZjc1ZmNjZTRlMmExYzVkY2EzZjY0YzE1NTViNjIxMGRlYjhlZWFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmgKQEAgLTI3LDEwICsyNywxMSBAQAogCiAjaW5jbHVkZSAi
QWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiQ2FudmFzQmFzZS5oIgorI2luY2x1ZGUgIkNv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAi
SW50U2l6ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
U2NyaXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXgg
M2I4NTBmY2MxOTNiNDc5MDhjZjQ2YWFlYTc1NDhkYmY5M2VmZjBmMy4uYTgzNDJlMWE0YmUzM2Iy
ZWE5ZmEzZmQ0OTVmOTZkMDY1ODc2ODYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJ
bWFnZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaAppbmRleCA0ODdlY2U2YTgyMTA2
YzMzYjFkYWI5NGY5MWYyOGU5NmVmMWI2NjM4Li4xNjIyOTkyNzcyZWZjNmViZjNiNTJiOWJkOWQ1
OTRiYTJkOWMzZmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaApAQCAtMjQsMTMg
KzI0LDEzIEBACiAKICNpbmNsdWRlICJDYWNoZWRJbWFnZUNsaWVudC5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlSGFuZGxlLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9tU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVm
ZXJyZWRQcm9taXNlOwogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3Mg
UmVuZGVySW1hZ2VSZXNvdXJjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBhYjk2
ODU2MTMyNDdmMjkwYmY3ODgzZTVkNWZjN2FmZmFkOGRhYWFjLi5kZjQ3ZDhlMmU5MTdjYTViMDIx
N2Y5ODRhYWNhM2NkNGQ4YjZjODgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC02
OSw2ICs2OSw3IEBACiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKICNpbmNsdWRlICJIaXN0b3J5
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0Jhc2UuaCIKICNpbmNs
dWRlICJKU0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3IuaAppbmRleCAwNTAxNDJkNzMxZjNkYjFiMTQ5NTIxYTYwMDNkYjI3N2I2M2RmYzYzLi4z
OGRhYmE3ZTVkNTZiMmU5NWNlZThiNjM2MDJkYTFiN2Y3YTAzZTRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmgKQEAgLTIwLDcgKzIwLDYgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiRE9N
V2luZG93UHJvcGVydHkuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIk5hdmlnYXRvckJhc2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNp
bmNsdWRlICJTaGFyZURhdGEuaCIKQEAgLTI5LDYgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBET01NaW1lVHlwZUFycmF5Owog
Y2xhc3MgRE9NUGx1Z2luQXJyYXk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbnNvbGVDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNs
aWVudC5jcHAKaW5kZXggNmYyYjEzOGYxODBiMDYxM2UxYzgxNGJkZjAyMzc3N2E1ZTc3MGQ0Mi4u
Y2MwYzIxZjEwMTZhOTcwMmI5NGYwZmJiYWE0MDcyMDFjYzQyNjhjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAKQEAgLTY3LDYgKzY3LDcgQEAKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRBcmd1bWVudHMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5l
cy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgRU5BQkxFKFdFQkdM
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3VzdG9tUGFp
bnRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DdXN0b21QYWlu
dEltYWdlLmNwcAppbmRleCA2ZjdkMDlhMzdlZjI1OTM1NGY2MmRlNDExNGJlYmMyYzMxMmNhNWY0
Li5mZDUxYmM0NTExOTA1NWRlODk3NTk0NjQ1YTBiZTVkNGU3ZGJkZjkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DdXN0b21QYWludEltYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DdXN0b21QYWludEltYWdlLmNwcApA
QCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCiAjaW5jbHVkZSAiSW1h
Z2VCdWZmZXIuaCIKICNpbmNsdWRlICJKU0NTU1BhaW50Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJK
U0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiUGFpbnRSZW5kZXJpbmdDb250ZXh0
MkQuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
eU1hcC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDU4NDIwNmY1MTY5
Y2M5ZDQxMjE2MGYwYzEzYjMyZmY5ZTI2ODc0YWQuLjE4MDc4NzBiMTJkZDYzZDVkNDE0YTg2NGRm
NzMwMGFkYzQzM2I0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTEw
Nyw2ICsxMDcsNyBAQAogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRl
ICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgorI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNJbWFnZURhdGEuaCIKICNpbmNsdWRl
ICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCkBAIC00
Nzg3LDcgKzQ3ODgsNyBAQCB2b2lkIEludGVybmFsczo6b2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2so
TWVkaWFTdHJlYW1UcmFjayYgdHJhY2spCiAKIHZvaWQgSW50ZXJuYWxzOjpncmFiTmV4dE1lZGlh
U3RyZWFtVHJhY2tGcmFtZShUcmFja0ZyYW1lUHJvbWlzZSYmIHByb21pc2UpCiB7Ci0gICAgbV9u
ZXh0VHJhY2tGcmFtZVByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOworICAgIG1fbmV4dFRyYWNr
RnJhbWVQcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPFRyYWNrRnJhbWVQcm9taXNlPihwcm9taXNl
KTsKIH0KIAogdm9pZCBJbnRlcm5hbHM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxl
JiBzYW1wbGUpCkBAIC00ODA5LDcgKzQ4MTAsNyBAQCB2b2lkIEludGVybmFsczo6dmlkZW9TYW1w
bGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKICAgICAgICAgbV9uZXh0VHJhY2tGcmFt
ZVByb21pc2UtPnJlc29sdmUoaW1hZ2VEYXRhLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLnJlbGVhc2VO
b25OdWxsKCkpOwogICAgIGVsc2UKICAgICAgICAgbV9uZXh0VHJhY2tGcmFtZVByb21pc2UtPnJl
amVjdChpbWFnZURhdGEuZXhjZXB0aW9uKCkuY29kZSgpKTsKLSAgICBtX25leHRUcmFja0ZyYW1l
UHJvbWlzZSA9IFdURjo6bnVsbG9wdDsKKyAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IG51
bGxwdHI7CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpkZWxheU1lZGlhU3RyZWFtVHJhY2tTYW1wbGVz
KE1lZGlhU3RyZWFtVHJhY2smIHRyYWNrLCBmbG9hdCBkZWxheSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IDU4NzBkZTQ2MzIyMGZlOTgyOGVmNGJiMTc2YjZlMGY5NzIzMTBlODAu
LjgxNjU5NWM1ZjYzOWYwOTRjMGNhNmQ2ZWUzY2NjNzA0ZGE3YzNkZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkNvb2tpZS5oIgog
I2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiSEVWQ1V0aWxpdGllcy5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNp
bmNsdWRlICJPcmllbnRhdGlvbk5vdGlmaWVyLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVDbGll
bnQuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCkBAIC05Niw4ICs5NiwxMCBA
QCBjbGFzcyBTdHJpbmdDYWxsYmFjazsKIGNsYXNzIFN0eWxlU2hlZXQ7CiBjbGFzcyBUaW1lUmFu
Z2VzOwogY2xhc3MgVHlwZUNvbnZlcnNpb25zOworY2xhc3MgVW5zdXNwZW5kYWJsZUFjdGl2ZURP
TU9iamVjdDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDsKK2NsYXNzIFdpbmRvd1Byb3h5OwogY2xhc3MgWE1MSHR0cFJlcXVlc3Q7CiAKICNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCkBAIC0xMDgsNyArMTEwLDcgQEAgY2xhc3MgVGV4dFRyYWNrQ3VlR2Vu
ZXJpYzsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiAjZW5kaWYKIAotY2xhc3MgVW5zdXNwZW5kYWJs
ZUFjdGl2ZURPTU9iamVjdDsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVBy
b21pc2VEZWZlcnJlZDsKIAogY2xhc3MgSW50ZXJuYWxzIGZpbmFsIDogcHVibGljIFJlZkNvdW50
ZWQ8SW50ZXJuYWxzPiwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcgogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCkBAIC04OTgsNyArOTAwLDcgQEAgcHJpdmF0ZToKICAgICB1bnNp
Z25lZCBsb25nIG1fdHJhY2tWaWRlb1NhbXBsZUNvdW50IHsgMCB9OwogICAgIHVuc2lnbmVkIGxv
bmcgbV90cmFja0F1ZGlvU2FtcGxlQ291bnQgeyAwIH07CiAgICAgUmVmUHRyPE1lZGlhU3RyZWFt
VHJhY2s+IG1fdHJhY2s7Ci0gICAgT3B0aW9uYWw8VHJhY2tGcmFtZVByb21pc2U+IG1fbmV4dFRy
YWNrRnJhbWVQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxUcmFja0ZyYW1lUHJvbWlzZT4g
bV9uZXh0VHJhY2tGcmFtZVByb21pc2U7CiAjZW5kaWYKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJ
bnNwZWN0b3JTdHViRnJvbnRlbmQ+IG1faW5zcGVjdG9yRnJvbnRlbmQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5oCmluZGV4IDg5Mzk1NzQ0Yjk4
N2QyMzY0MzRiZjUxMmNjNzEzMzg3MjdiYmNmNjEuLjkzNDhhMGNjMWIyZTViMzI4YjExYjUxMTQ5
ODM1OGVjODAxM2MyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2Vydmlj
ZVdvcmtlckludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdv
cmtlckludGVybmFscy5oCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklE
TFR5cGVzLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIuaCIKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC0zNyw2ICszNyw4IEBAIGNsYXNzIEZldGNoRXZlbnQ7
CiBjbGFzcyBGZXRjaFJlc3BvbnNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAor
dGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBj
bGFzcyBXRUJDT1JFX1RFU1RTVVBQT1JUX0VYUE9SVCBTZXJ2aWNlV29ya2VySW50ZXJuYWxzIDog
cHVibGljIFJlZkNvdW50ZWQ8U2VydmljZVdvcmtlckludGVybmFscz4gewogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckludGVybmFscz4gY3JlYXRlKFNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyIGlkZW50aWZpZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtl
ckludGVybmFscyB7IGlkZW50aWZpZXIgfSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvU2VydmljZVdvcmtlckludGVybmFscy5tbQppbmRleCAwZDZkMDFkNTUwNWE3NDg0NTI2NmYw
MGNjNzZjZGMyMjkyOWJhNTBhLi5mZTliMWQxYjMxY2ZhMmZiZDk5OTBhYzE1Y2RmYmNkMWY1NTky
NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRl
cm5hbHMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLm1tCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0xhdW5jaFNl
cnZpY2VzU1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRl
eCA3MjExZWI2ZmNiNTRmM2Y0NTcyNmNlYTM2NzMyMTJhODY1ODM3Y2M1Li42ZDgwN2ViZDIyYWQw
NmQxM2QzNGNiYWQ1MjI2NWM4ZjAxZjE2N2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0yOCw2
ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKKyNpbmNsdWRlICJET01Q
cm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50Lmgi
CiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggNzVlYTk1MzIxOTBm
MGM2NmM2NjBiYmU5YjI1ZDRiY2Q3YzkxZDljMy4uMmUwZDlkMDRkNzM2ZTJiNTE5NzFjZTg1M2Nl
NWE3YzQyZjY1YzJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC0yOCw5ICsyOCw5IEBACiAjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5j
bHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNs
dWRlICJHZW5lcmljRXZlbnRRdWV1ZS5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVk
ZSAiU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiU1dTZXJ2ZXIuaCIKICNpbmNsdWRl
ICJTZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgiCkBAIC00OCw2ICs0OCw4IEBAIGNsYXNzIFNlcnZp
Y2VXb3JrZXI7CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSA6IHVpbnQ4
X3Q7CiBlbnVtIGNsYXNzIFdvcmtlclR5cGU7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+
IGNsYXNzIERPTVByb21pc2VQcm94eTsKKwogY2xhc3MgU2VydmljZVdvcmtlckNvbnRhaW5lciBm
aW5hbCA6IHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0LCBwdWJsaWMgU2VydmljZVdvcmtlckpvYkNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2VydmljZVdvcmtlckNvbnRhaW5lcik7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChTZXJ2aWNlV29ya2VyQ29udGFpbmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5oCmluZGV4IGI1NWFiOTU4ZTg5ZGE2NDY4Y2Nk
YTgwOTFiODc5NGZhZjgxYjY5MWQuLjRkNGExMWU0YmVjOWUzMjgwZWM1NmNhOTlkMDRmY2Y0OGUy
NzM4NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VySm9iLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJKb2IuaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkNsaWVudC5oIgogI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJKb2JEYXRhLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXgg
ZTE5MDMwNzhiYTNmZmI2ODMxM2Y5MTk4NDkyZjkwZWNkZjc4NTRkMi4uNGQzYmM2ZjY0ZWNkZWY4
NjFkZmMxOTljNGYyY2FlMzkzNjZjMzEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcApAQCAt
MzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlci5oIgogI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJDb250YWluZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCmluZGV4
IDAxMmE3N2Q0NjU5ZmI1ZDJmYzA0OTM0MGZkMDUyMDRiMDdiYWNjYTEuLjA1MjY2NWM2ODg4Zjkz
ZTE3MThkMGZlNzk4ZjlkNWRiZmEzMWQ4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApAQCAtMjks
MTMgKzI5LDEzIEBACiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJF
dmVudFRhcmdldC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGEuaCIKICNpbmNsdWRlICJUaW1lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBj
bGFzcyBTZXJ2aWNlV29ya2VyOwogY2xhc3MgU2VydmljZVdvcmtlckNvbnRhaW5lcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcApp
bmRleCA2NThhMzkyN2U5ODM4ODgzZjhhMDc1ZjA2Mzk5MDQzN2FkZDk3ZDNlLi4yNmI5YWY5Y2Jm
N2I0ZmNhMjIwNWI4Yjc5ODdjMjgxODUxMTM4NzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0zMSw4ICszMSw3IEBA
CiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJKU0NTU1BhaW50Q2FsbGJhY2suaCIKLSNpbmNsdWRlICJKU0RPTUNvbnZlcnRDYWxsYmFja3Mu
aCIKLSNpbmNsdWRlICJKU0RPTUNvbnZlcnRTZXF1ZW5jZXMuaCIKKyNpbmNsdWRlICJKU0RPTUNv
bnZlcnQuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxv
Y0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380202</attachid>
            <date>2019-10-04 02:15:42 -0700</date>
            <delta_ts>2019-10-04 02:23:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202570-20191004021541.patch</filename>
            <type>text/plain</type>
            <size>97349</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ1OGVkYTg5NDg4NmIw
OTQ1NWRmY2Y3NDU2N2U1OTA1ZThmNGM0Ni4uODJmZDVhMzhiYmQwYzc4MTg3OWZkMjdmOGFlZGVm
ZGY2ZjMwOWJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMCBAQAorMjAxOS0xMC0wNCAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBz
b21lIGluY2x1ZGVzIHRvIG1ha2UgdGhlIGJ1aWxkIGEgYml0IGZhc3RlcjogRE9NUHJvbWlzZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNTcwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBqdXN0IHJlb3JnYW5pemluZy4KKworICAgICAgICBBcHBseSBzb21lIHByb2ZpbGUtZ3Vp
ZGVkIG9wdGltaXphdGlvbnMgdG8gb3VyIGhlYWRlcnMuCisKKyAgICAgICAgR2V0IEpTRE9NUHJv
bWlzZURlZmVycmVkLmggYW5kIERPTVByb21pc2VQcm94eS5oIG91dCBvZiBXZWJDb3JlIGhlYWRl
cnMuCisgICAgICAgIE9uZSByZW1haW5zIChGZXRjaEJvZHlDb25zdW1lci5oKTsgSSBsZWF2ZSBp
dCBhcyBhbiBleGVyY2lzZSB0byB0aGUgcmVhZGVyLgorICAgICAgICBJbiBteSB0ZXN0aW5nLCB0
aGlzIGlzIHdvcnRoIGEgcmVsaWFibGUgNS02JSBvbiB0aGUgV2ViQ29yZSBCdWlsZCBCZW5jaG1h
cmsuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuaDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5cy5jcHA6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDoK
KyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHA6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDoKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0RPTVdpbmRvd0ZldGNoLmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Lmg6CisgICAgICAgICogTW9kdWxl
cy9mZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5j
cHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSZWNlaXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1
ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
TWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICog
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwOgorICAgICAgICAqIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvci5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tl
eUNyZWRlbnRpYWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNl
cnZlVmFyaWFibGVMaWZldGltZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XZWJHUFUuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVCdWZmZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZp
Z2F0b3JXZWJWUi5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5o
OgorICAgICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYnZyL1ZSRGlzcGxheS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3Bw
OgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NUHJvbWlzZURlZmVycmVkLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MVGVt
cGxhdGVFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0
YUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJj
ZUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20u
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHA6CisgICAgICAgICogY3NzL0Zv
bnRGYWNlLmNwcDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvRm9u
dEZhY2VTZXQuY3BwOgorICAgICAgICAqIGNzcy9Gb250RmFjZVNldC5oOgorICAgICAgICAqIGRv
bS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgICog
ZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBodG1sL0N1c3RvbVBhaW50Q2FudmFzLmg6Cisg
ICAgICAgICogaHRtbC9JbWFnZUJpdG1hcC5jcHA6CisgICAgICAgICogaHRtbC9JbWFnZUJpdG1h
cC5oOgorICAgICAgICAqIGh0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcDoKKyAgICAgICAgKiBodG1s
L09mZnNjcmVlbkNhbnZhcy5oOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
Y3BwOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9T
ZXJ2aWNlV29ya2VySW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLm1tOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmg6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6Cisg
ICAgICAgICogd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorCiAyMDE5LTEw
LTA0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNo
YWRvdyBQYXJ0c10gU3VwcG9ydCAnZXhwb3J0cGFydHMnIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKaW5kZXggMGY3ZTNiYTJhMjMzNWU5
MGY3N2ExZGZhNjljNjY1NzRkZjU0M2RkYy4uMDdiMzY5NGJiM2NkZTIwNDY3OGNiZGQ1ZDg0YWNj
NTllN2JlYzFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRs
ZXIuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnQuaCIK
ICNpbmNsdWRlICJKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oIgogI2luY2x1ZGUgIkpTQXBwbGVQ
YXlSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiTGlua0lj
b25Db2xsZWN0b3IuaCIKICNpbmNsdWRlICJNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKQEAgLTU2LDYgKzU3LDcgQEAKICNpbmNsdWRlICJQYXltZW50UmVzcG9u
c2UuaCIKICNpbmNsdWRlICJQYXltZW50VmFsaWRhdGlvbkVycm9ycy5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPTk9iamVjdC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCA1NTA4YjM3OGNlZjg4ODM2
NjY3YjVkZTljZDk2ZjQyNmM4OTM3OWVhLi45NjYwMmVkMmU1YmVjYWExNTU2YTVhMWY0OWFiN2Zl
YjNjMDgxOTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNs
dWRlICJDRE0uaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgorI2luY2x1ZGUgIkRPTVByb21p
c2VQcm94eS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTYzLDYgKzY0LDcgQEAgTWVkaWFLZXlTZXNzaW9u
OjpNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV2Vha1B0
cjxNZWRpYUsKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAgICAsIG1fa2V5cyhX
VEZNb3ZlKGtleXMpKQogICAgICwgbV9leHBpcmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCkpCisgICAgLCBtX2Nsb3NlZFByb21pc2UobWFrZVVuaXF1ZVJlZjxD
bG9zZWRQcm9taXNlPigpKQogICAgICwgbV9rZXlTdGF0dXNlcyhNZWRpYUtleVN0YXR1c01hcDo6
Y3JlYXRlKCp0aGlzKSkKICAgICAsIG1fdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKHVzZURpc3Rp
bmN0aXZlSWRlbnRpZmllcikKICAgICAsIG1fc2Vzc2lvblR5cGUoc2Vzc2lvblR5cGUpCkBAIC03
MDksNyArNzExLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnNlc3Npb25DbG9zZWQoKQogCiAg
ICAgLy8gNS4gTGV0IHByb21pc2UgYmUgdGhlIGNsb3NlZCBhdHRyaWJ1dGUgb2YgdGhlIHNlc3Np
b24uCiAgICAgLy8gNi4gUmVzb2x2ZSBwcm9taXNlLgotICAgIG1fY2xvc2VkUHJvbWlzZS5yZXNv
bHZlKCk7CisgICAgbV9jbG9zZWRQcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKIFN0cmluZyBNZWRp
YUtleVNlc3Npb246Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmgKaW5kZXggOTViYWYzNTQ4ZDc5Nzg0ZWEyZDUxYWE0ODQ5ZjEwZDBmZWEyYzk4MC4uODIzODQ0
ZmU0MmY0YjllYmEyOWUyNjUwNDczYWVlNDFlNzMxODExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0z
MiwxMCArMzIsMTAgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUg
IkNETUluc3RhbmNlU2Vzc2lvbi5oIgotI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKICNp
bmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNs
dWRlICJNZWRpYUtleU1lc3NhZ2VUeXBlLmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlw
ZS5oIgogI2luY2x1ZGUgIk1lZGlhS2V5U3RhdHVzLmgiCkBAIC00OCwxMCArNDgsMTMgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCdWZmZXJTb3VyY2U7CiBjbGFzcyBDRE07CitjbGFz
cyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBNZWRpYUtleVN0YXR1c01hcDsKIGNsYXNzIE1lZGlh
S2V5czsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZVByb3h5OworCiBjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRo
SW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIENETUluc3RhbmNlU2Vz
c2lvbkNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChNZWRpYUtleVNlc3Npb24p
OwogcHVibGljOgpAQCAtNzQsNyArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmUoUmVm
PERlZmVycmVkUHJvbWlzZT4mJik7CiAKICAgICB1c2luZyBDbG9zZWRQcm9taXNlID0gRE9NUHJv
bWlzZVByb3h5PElETFZvaWQ+OwotICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJu
IG1fY2xvc2VkUHJvbWlzZTsgfQorICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJu
IG1fY2xvc2VkUHJvbWlzZS5nZXQoKTsgfQogCiAgICAgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxS
ZWY8U2hhcmVkQnVmZmVyPiwgTWVkaWFLZXlTdGF0dXM+PiYgc3RhdHVzZXMoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXR1c2VzOyB9CiAKQEAgLTEwNSw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIFdl
YWtQdHI8TWVkaWFLZXlzPiBtX2tleXM7CiAgICAgU3RyaW5nIG1fc2Vzc2lvbklkOwogICAgIGRv
dWJsZSBtX2V4cGlyYXRpb247Ci0gICAgQ2xvc2VkUHJvbWlzZSBtX2Nsb3NlZFByb21pc2U7Cisg
ICAgVW5pcXVlUmVmPENsb3NlZFByb21pc2U+IG1fY2xvc2VkUHJvbWlzZTsKICAgICBSZWY8TWVk
aWFLZXlTdGF0dXNNYXA+IG1fa2V5U3RhdHVzZXM7CiAgICAgYm9vbCBtX2Nsb3NlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX3VuaW5pdGlhbGl6ZWQgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwCmluZGV4IGRkNDg3NmI2YzUzYzE4MzY0MzUxMDJjYzNjMThkMWNmZTdmMWFhYmYu
LjMwYzM0Y2RjNDRlYjhkNjdjZDIyMWVjODk5Y2MwZDZiYTMxNzI0ZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJDRE0uaCIKICNp
bmNsdWRlICJDRE1JbnN0YW5jZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSAiSlNNZWRpYUtleXMuaCIKICNpbmNsdWRlICJNZWRpYUtleXMuaCIKICNpbmNs
dWRlICJNZWRpYUtleXNSZXF1aXJlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oCmluZGV4
IDI4NGQ5NDk0Mjg4OWNkZmVlNmFkNmZjZWM2NzVhYzUwZGYwNDlhOWYuLjRmNWExNTVjNjgwZDll
ZjQxNzQ2MDAzYzc3Mjg2YTRlZjg1YTNjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmgKQEAg
LTMxLDcgKzMxLDYgQEAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAjaW5jbHVkZSAi
R2VuZXJpY1Rhc2tRdWV1ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM5LDYgKzM4
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0RNOworY2xhc3MgRGVmZXJyZWRQ
cm9taXNlOwogY2xhc3MgTWVkaWFLZXlzOwogCiBjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzcyA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAKaW5kZXggMDUx
NzhjNTNlYTU3YmExODAzYmY5YzVkNTAzOWFkYzlmZjhkYjQ2MC4uMmZjZDAzNGE1ZjhlYjZiYjUz
MDA4NWFmOWE0ZmYxMGRjZGU2MjkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1
ZGUgIkNETS5oIgogI2luY2x1ZGUgIkNETUNsaWVudC5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNl
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eXMuaAppbmRleCA5MTQ2MTRkZTcxOWYzNzUzMDdiY2I4YjdkOGNlNWIzMGEwMDY3MTU4Li5mYTI2
OTMzMDAyYzljNzQ0MTFjNGUzMjJjYTA3MzQ1MWVhYTEyYTZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKQEAgLTMyLDcgKzMyLDYg
QEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1
ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFL
ZXlTZXNzaW9uVHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpAQCAtNDQsNyArNDMsOSBAQCBjbGFzcyBDRE07CiBjbGFzcyBDRE1DbGllbnQ7
CiBjbGFzcyBDRE1JbnN0YW5jZTsKIGNsYXNzIEJ1ZmZlclNvdXJjZTsKK2NsYXNzIERlZmVycmVk
UHJvbWlzZTsKIGNsYXNzIE1lZGlhS2V5U2Vzc2lvbjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CiAKIGNsYXNzIE1lZGlhS2V5cyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5cz4s
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYUtleXM+IHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcApp
bmRleCBkZjFmNGRmOTA0NmE0NTgyYmNjMDQ5NTMzOWVlY2ViZGEyY2E5YWJhLi4wYmFhZjhkNWZk
MjhjNTlhYmE3NWM2YzgyNjAyN2Y0NDExNjE4MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwCkBAIC0zMyw2ICsz
Myw3IEBACiAKICNpbmNsdWRlICJDRE0uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1
ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNNZWRpYUtleVN5c3RlbUFj
Y2Vzcy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmgKaW5kZXggZDk1Zjc2NjkzMzll
YjgwMTUzZjY5MzJhYzhhOGUwYzJmZjUxOGMyMC4uYThiMTJmNmJmMWEwMWJmM2Q2MDNhOWZhYTI4
MTY2OGY2NWI2MWU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL05hdmlnYXRvckVNRS5oCkBAIC0zMCwxMiArMzAsMTIgQEAKIAogI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlN1cHBs
ZW1lbnRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9t
aXNlOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzczsKIGNsYXNz
IE5hdmlnYXRvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9N
V2luZG93RmV0Y2guY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dG
ZXRjaC5jcHAKaW5kZXggMjFlNDg3ZTVjNGZlZTQzMmVkZTMzZTNlNGE5ZTYwZTY5ZTRhNGQwYi4u
ZGVjMzFkOTQwYTU3NDRlNDlkNjViNmUxNWU3NjQyYzkzYzMwYjMyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkZldGNoUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIkpTRmV0Y2hSZXNwb25zZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmgKaW5kZXggMmE4YThh
YmU5NGI3N2EwNWJiYTY3MmI2OTFkZTI0NWMyODdjMTRlNS4uMjc0ODM0NWU1MjMxODZjNzNlNDIz
ZDQ4Yzk0YzFjMDIxYmMyNzIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9ET01XaW5kb3dGZXRjaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RE9NV2luZG93RmV0Y2guaApAQCAtMjksMTEgKzI5LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2lu
Y2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBET01XaW5kb3c7CiAKIGNsYXNzIERPTVdpbmRvd0Zl
dGNoIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAppbmRleCAy
OTE4NTRhZTE3YzdmZDNhNGY1Y2EyN2QwODE1ZDIzODE2NjMwNWIyLi4zZDY5ZjhhYjNkZDg4MjQ5
NjY1Y2M0NjMxYTM1ZWM0YjdhZmU0MDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHkuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRmV0Y2hIZWFkZXJz
LmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlclZhbHVlcy5oIgogI2luY2x1ZGUgIkhUVFBQYXJzZXJz
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJs
ZVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyVmll
dy5oPgogCkBAIC0xMjksNiArMTMwLDExIEBAIHZvaWQgRmV0Y2hCb2R5Ojp0ZXh0KEZldGNoQm9k
eU93bmVyJiBvd25lciwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGNvbnN1
bWUob3duZXIsIFdURk1vdmUocHJvbWlzZSkpOwogfQogCit2b2lkIEZldGNoQm9keTo6Zm9ybURh
dGEoRmV0Y2hCb2R5T3duZXImLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7Cisg
ICAgcHJvbWlzZS5nZXQoKS5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCiB2b2lkIEZl
dGNoQm9keTo6Y29uc3VtZU9uY2VMb2FkaW5nRmluaXNoZWQoRmV0Y2hCb2R5Q29uc3VtZXI6OlR5
cGUgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBjb25zdCBTdHJpbmcmIGNv
bnRlbnRUeXBlKQogewogICAgIG1fY29uc3VtZXIuc2V0VHlwZSh0eXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGMzZjk2ZmY0YWZmZjIwZDExMzY0NDMz
YTFmMmFjZjZhZDFkOWZiNzMuLjg1Yzg2MjE3MWRlN2ZiOGQzZjRlOTdlMWRkMWMzMTIwMDBjYzA4
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtMzIsMTMg
KzMyLDEzIEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJGZXRjaEJvZHlD
b25zdW1lci5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbS5oIgogI2luY2x1ZGUgIlVSTFNl
YXJjaFBhcmFtcy5oIgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRmV0Y2hCb2R5T3duZXI7CiBj
bGFzcyBGZXRjaEJvZHlTb3VyY2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpAQCAt
NDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBibG9iKEZldGNoQm9keU93bmVyJiwgUmVm
PERlZmVycmVkUHJvbWlzZT4mJiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBqc29uKEZldGNo
Qm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCB0ZXh0KEZldGNo
Qm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9pZCBmb3JtRGF0YShG
ZXRjaEJvZHlPd25lciYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkgeyBwcm9taXNl
LmdldCgpLnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7IH0KKyAgICB2b2lkIGZvcm1EYXRhKEZl
dGNoQm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKICNpZiBFTkFCTEUoU1RS
RUFNU19BUEkpCiAgICAgdm9pZCBjb25zdW1lQXNTdHJlYW0oRmV0Y2hCb2R5T3duZXImLCBGZXRj
aEJvZHlTb3VyY2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRl
ci5jcHAKaW5kZXggYzBkYmY1ZmU1NzhmMWY1OWI2ZjRjMWIwN2FiYzAxZTdkMjUxZDc3OS4uZDIx
NjYyNGMyZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRlNzUzYmIzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmgiCiAjaW5jbHVkZSAiQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5LmgiCisjaW5jbHVkZSAiRmV0
Y2hCb2R5Q29uc3VtZXIuaCIKICNpbmNsdWRlICJGZXRjaExvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgIkZldGNoUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAppbmRleCAxZTQ3YTA1NmQwZDZkYTZm
MDg1MzhhY2RiZjIwNDNlYTJlMjEzNmI3Li4wZTM3M2ZhNGYyMjNmM2JhNWJmMWMwMmU5YzU5YmY2
N2Q3ZjYyZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5o
CkBAIC0yOCw3ICsyOCw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRmV0Y2hCb2R5
Q29uc3VtZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KQEAgLTM2LDYgKzM1
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIEZldGNoQm9k
eUNvbnN1bWVyOwogY2xhc3MgRmV0Y2hMb2FkZXJDbGllbnQ7CiBjbGFzcyBGZXRjaFJlcXVlc3Q7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKaW5kZXggNzNjMDQ1
MTAxMTU3M2NjMjY5MmRhOTY3NWU5OWNkYjMzOTk2Y2Q1OS4uMzQ0MDE3N2Y4YWU5NjgwMjZlNTQ2
MWY4ODY2ZGIyOWUyMzJiZTEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgogCiAjaW5jbHVkZSAiRmV0Y2hSZXNw
b25zZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNG
ZXRjaFJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNo
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
aAppbmRleCAyYTZkOGJiZTBjYjllMGViMmI1YzIxMDlhYTMxYjcyZTNmZjA0YjViLi5mYWQwNzlj
Y2Q5MzM0YTlhMmZkMWJjYzZiMWRmNTMyNGEzODY0MzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaApAQCAtMjksMTAg
KzI5LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Y2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNz
IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2ggewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRl
eCAxMzk3NTJjMTQwN2ViYWQ0MzZmNmYzZDFmOTRkZDI1NjY4MmJjMGY3Li4yNjNjMDZmYTdiNTU5
Nzg2NGVhZjMxYTk0NTllNTNjYjBiMjMxMWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiSlNNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgogI2luY2x1ZGUgIkpTTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0Rl
Y29kaW5nSW5mby5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oCmluZGV4IDE4NTRmYTQ2NjQ2MGFj
ZmM2ZDI2NjI3MTdhNTRkMmQ2Njc2MjBlZjQuLjYwNjYyOTdmNzU1MjAxZjg3ZTZhMWFiMDc2NWJl
NDdiYjdlNzI3YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKQEAgLTI2LDExICsyNiwxMSBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERv
Y3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwogc3RydWN0IE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCmluZGV4IDA4NjI0MTRhZGI0OWY5YzgyNDRjNzkx
YzRmZTM2OGVkMjAxMDZlNzcuLmM1NjUyY2VmODU0YTlmOTVkYjEzYTU3YzgyZWZiNTZkZjEwZjc5
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFE
ZXZpY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
RGV2aWNlcy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNNZWRpYURldmljZUluZm8uaCIKICNpbmNs
dWRlICJNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSZWFsdGlt
ZU1lZGlhU291cmNlU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCmluZGV4IDUxY2QxYjRjZTliOTcyMTg4YjFiMTA3ZGM1
OGE1YjViMWY5NzlhYmUuLjlhZjYzN2ZjZjZjNDFjODBlYTMyMmY4ZjI3MjcxMmNiNmU0MjBlZmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZp
Y2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmlj
ZXMuaApAQCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIk1l
ZGlhVHJhY2tDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggNzU2YjQ1NzNlYWU3
N2RmNTAwYzFlZjU0ZmRhNjUyNjZiMzNiMWM4Ny4uODUxMzE3OTQ3MmM5MjE5MDRmYzExY2UxZWU1
ZjA5YTEyN2Q0MTI2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTT3ZlcmNv
bnN0cmFpbmVkRXJyb3IuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzLmgiCiAjaW5jbHVk
ZSAiTWVkaWFTdHJlYW0uaCIKQEAgLTM3OSw3ICszODAsNyBAQCBzdGF0aWMgTWVkaWFDb25zdHJh
aW50cyBjcmVhdGVNZWRpYUNvbnN0cmFpbnRzKGNvbnN0IE9wdGlvbmFsPE1lZGlhVHJhY2tDb25z
dHJhaQogCiB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OmFwcGx5Q29uc3RyYWludHMoY29uc3QgT3B0
aW9uYWw8TWVkaWFUcmFja0NvbnN0cmFpbnRzPiYgY29uc3RyYWludHMsIERPTVByb21pc2VEZWZl
cnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAgbV9wcm9taXNlID0gV1RGTW92ZShwcm9taXNl
KTsKKyAgICBtX3Byb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZv
aWQ+PihXVEZNb3ZlKHByb21pc2UpKTsKIAogICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBb
dGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGNvbnN0cmFpbnRzXShhdXRvJiYg
ZXJyb3IpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzIHx8ICFtX3Byb21pc2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5oCmluZGV4IDhmYTg5MDNkMDkwYzg0ODkwNWNlNWRmY2M4ZmUyZmQ5OGE3MTlmYTMuLjYy
N2Y2ZGZjYzg3MDNmYjBkOTVhMzY0MTU2NjUxZjRhMDIzODM2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC0z
Myw3ICszMyw2IEBACiAjaW5jbHVkZSAiRG91YmxlUmFuZ2UuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVldWUuaCIKLSNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkxvbmdSYW5nZS5oIgogI2luY2x1ZGUgIk1lZGlh
UHJvZHVjZXIuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgpAQCAtNDcs
NiArNDYsOCBAQCBjbGFzcyBEb2N1bWVudDsKIAogc3RydWN0IE1lZGlhVHJhY2tDb25zdHJhaW50
czsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVk
OworCiBjbGFzcyBNZWRpYVN0cmVhbVRyYWNrCiAgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YVN0cmVhbVRyYWNrPgogICAgICwgcHVibGljIEFjdGl2ZURPTU9iamVjdApAQCAtMjAxLDcgKzIw
Miw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7CiAKICAg
ICBNZWRpYVRyYWNrQ29uc3RyYWludHMgbV9jb25zdHJhaW50czsKLSAgICBPcHRpb25hbDxET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9N
UHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3Byb21pc2U7CiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Rhc2tRdWV1ZTsKICAgICBHZW5lcmljVGFza1F1ZXVl
PFRpbWVyPiBtX2V2ZW50VGFza1F1ZXVlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXgg
ZTY4ZWQ5OWY5MjllZWVkNGNmOTk3MDNiYTY2M2Y5NDc3ZTE3OTFhZC4uMmZmMjMwZTQ2NDY3YTgy
MTFlZGYwMDU0MzdjNTQwYzZiZjk5YjdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcApAQCAt
MzUsNiArMzUsNyBAQAogI2lmIEVOQUJMRShXRUJfUlRDKQogCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNSVENT
ZXNzaW9uRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENDZXJ0aWZpY2F0ZUdlbmVy
YXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTgyLDEyICs4MywxNCBAQCBQZWVyQ29u
bmVjdGlvbkJhY2tlbmQ6OlBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVyQ29ubmVjdGlvbiYg
cGVlckNvbm5lY3Rpb24pCiB7CiB9CiAKK1BlZXJDb25uZWN0aW9uQmFja2VuZDo6flBlZXJDb25u
ZWN0aW9uQmFja2VuZCgpID0gZGVmYXVsdDsKKwogdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OmNyZWF0ZU9mZmVyKFJUQ09mZmVyT3B0aW9ucyYmIG9wdGlvbnMsIFBlZXJDb25uZWN0aW9uOjpT
ZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBBU1NFUlQoIW1fb2Zm
ZXJBbnN3ZXJQcm9taXNlKTsKICAgICBBU1NFUlQoIW1fcGVlckNvbm5lY3Rpb24uaXNDbG9zZWQo
KSk7CiAKLSAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAg
bV9vZmZlckFuc3dlclByb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8UGVlckNvbm5lY3Rpb246OlNl
c3Npb25EZXNjcmlwdGlvblByb21pc2U+KFdURk1vdmUocHJvbWlzZSkpOwogICAgIGRvQ3JlYXRl
T2ZmZXIoV1RGTW92ZShvcHRpb25zKSk7CiB9CiAKQEAgLTEyNCw3ICsxMjcsNyBAQCB2b2lkIFBl
ZXJDb25uZWN0aW9uQmFja2VuZDo6Y3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9wdGlvbnMmJiBvcHRp
b25zLCBQZWVyQ29ubmVjdAogICAgIEFTU0VSVCghbV9vZmZlckFuc3dlclByb21pc2UpOwogICAg
IEFTU0VSVCghbV9wZWVyQ29ubmVjdGlvbi5pc0Nsb3NlZCgpKTsKIAotICAgIG1fb2ZmZXJBbnN3
ZXJQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9
IFdURjo6bWFrZVVuaXF1ZTxQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlz
ZT4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9DcmVhdGVBbnN3ZXIoV1RGTW92ZShvcHRpb25z
KSk7CiB9CiAKQEAgLTE4NCw3ICsxODcsNyBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6
c2V0TG9jYWxEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mIHNlc3Npb25EZQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9zZXREZXNjcmlwdGlvblByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpOworICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RGOjptYWtlVW5p
cXVlPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9T
ZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbik7CiB9CiAKQEAgLTI0NSw3ICsy
NDgsNyBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c2V0UmVtb3RlRGVzY3JpcHRpb24o
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uJiBzZXNzaW9uRAogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgbV9zZXREZXNjcmlwdGlvblByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOworICAgIG1f
c2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZlcnJl
ZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9TZXRSZW1vdGVEZXNjcmlwdGlvbihz
ZXNzaW9uRGVzY3JpcHRpb24pOwogfQogCkBAIC0zMjUsNyArMzI4LDcgQEAgdm9pZCBQZWVyQ29u
bmVjdGlvbkJhY2tlbmQ6OmFkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUqIGljZUNhbmRp
ZGF0ZSwgRE9NUHIKICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9y
LCAiVHJ5aW5nIHRvIGFkZCBhIGNhbmRpZGF0ZSB0aGF0IGlzIG1pc3NpbmcgYm90aCBzZHBNaWQg
YW5kIHNkcE1MaW5lSW5kZXgiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9h
ZGRJY2VDYW5kaWRhdGVQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX2FkZEljZUNh
bmRpZGF0ZVByb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
PihXVEZNb3ZlKHByb21pc2UpKTsKICAgICBkb0FkZEljZUNhbmRpZGF0ZSgqaWNlQ2FuZGlkYXRl
KTsKIH0KIApAQCAtNDcwLDYgKzQ3MywxMSBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6
ZG9uZUdhdGhlcmluZ0NhbmRpZGF0ZXMoKQogICAgIG1fcGVuZGluZ0lDRUNhbmRpZGF0ZXMuY2xl
YXIoKTsKIH0KIAordm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmVuZE9mSWNlQ2FuZGlkYXRl
cyhET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQoreworICAgIHByb21pc2UucmVz
b2x2ZSgpOworfQorCiB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVnaXN0ZXJNRE5TTmFt
ZShjb25zdCBTdHJpbmcmIGlwQWRkcmVzcykKIHsKICAgICArK21fd2FpdGluZ0Zvck1ETlNSZWdp
c3RyYXRpb247CkBAIC01MjAsOSArNTI4LDkgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OnVwZGF0ZVNpZ25hbGluZ1N0YXRlKFJUQ1NpZ25hbGluZ1N0YXRlIG5ld1NpZ25hbGluZ1MKIAog
dm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnN0b3AoKQogewotICAgIG1fb2ZmZXJBbnN3ZXJQ
cm9taXNlID0gV1RGOjpudWxsb3B0OwotICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RG
OjpudWxsb3B0OwotICAgIG1fYWRkSWNlQ2FuZGlkYXRlUHJvbWlzZSA9IFdURjo6bnVsbG9wdDsK
KyAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9IG51bGxwdHI7CisgICAgbV9zZXREZXNjcmlwdGlv
blByb21pc2UgPSBudWxscHRyOworICAgIG1fYWRkSWNlQ2FuZGlkYXRlUHJvbWlzZSA9IG51bGxw
dHI7CiAKICAgICBtX3BlbmRpbmdUcmFja0V2ZW50cy5jbGVhcigpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tl
bmQuaAppbmRleCAxYWMwOTU4OTNlODhkMjg0OTJhMDIzZTAyODg0MmNjMjQ0N2NhODc2Li4yZGEz
ZGRjOWIxYTQxNjdlMDQ2ODhhMzRlNzhhYTJjYTljYmNiODRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmgKQEAgLTMzLDcgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCi0jaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUg
IkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUlRDUnRwU2VuZFBhcmFtZXRlcnMuaCIK
ICNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb24uaCIKQEAgLTQzLDYgKzQzLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBEb2N1
bWVudDsKIGNsYXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgTWVkaWFTdHJlYW1UcmFjazsKQEAgLTU2
LDYgKzU3LDcgQEAgY2xhc3MgUlRDUnRwU2VuZGVyOwogY2xhc3MgUlRDUnRwVHJhbnNjZWl2ZXI7
CiBjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb247CiBjbGFzcyBSVENTdGF0c1JlcG9ydDsKK2Ns
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIHN0cnVjdCBNZWRpYUVuZHBvaW50Q29uZmln
dXJhdGlvbjsKIHN0cnVjdCBSVENBbnN3ZXJPcHRpb25zOwpAQCAtNjMsNiArNjUsOCBAQCBzdHJ1
Y3QgUlRDRGF0YUNoYW5uZWxJbml0Owogc3RydWN0IFJUQ09mZmVyT3B0aW9uczsKIHN0cnVjdCBS
VENSdHBUcmFuc2NlaXZlckluaXQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNz
IERPTVByb21pc2VEZWZlcnJlZDsKKwogbmFtZXNwYWNlIFBlZXJDb25uZWN0aW9uIHsKIHVzaW5n
IFNlc3Npb25EZXNjcmlwdGlvblByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMRGljdGlv
bmFyeTxSVENTZXNzaW9uRGVzY3JpcHRpb246OkluaXQ+PjsKIHVzaW5nIFN0YXRzUHJvbWlzZSA9
IERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UlRDU3RhdHNSZXBvcnQ+PjsKQEAgLTgz
LDcgKzg3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBPcHRpb25hbDxSVENSdHBDYXBhYmlsaXRp
ZXM+IHNlbmRlckNhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3Ry
aW5nJiBraW5kKTsKIAogICAgIGV4cGxpY2l0IFBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVy
Q29ubmVjdGlvbiYpOwotICAgIHZpcnR1YWwgflBlZXJDb25uZWN0aW9uQmFja2VuZCgpID0gZGVm
YXVsdDsKKyAgICB2aXJ0dWFsIH5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKTsKIAogICAgIHZvaWQg
Y3JlYXRlT2ZmZXIoUlRDT2ZmZXJPcHRpb25zJiYsIFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVz
Y3JpcHRpb25Qcm9taXNlJiYpOwogICAgIHZvaWQgY3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9wdGlv
bnMmJiwgUGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblByb21pc2UmJik7CkBAIC0y
MDksNyArMjEzLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZG9TZXRMb2NhbERlc2Ny
aXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZG9T
ZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGRvQWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSYpID0gMDsKLSAgICB2
aXJ0dWFsIHZvaWQgZW5kT2ZJY2VDYW5kaWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYm
IHByb21pc2UpIHsgcHJvbWlzZS5yZXNvbHZlKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZW5kT2ZJ
Y2VDYW5kaWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKICAgICB2aXJ0dWFsIHZv
aWQgZG9TdG9wKCkgPSAwOwogCiAgICAgdm9pZCByZWdpc3Rlck1ETlNOYW1lKGNvbnN0IFN0cmlu
ZyYgaXBBZGRyZXNzKTsKQEAgLTIxOCw5ICsyMjIsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgUlRDUGVl
ckNvbm5lY3Rpb24mIG1fcGVlckNvbm5lY3Rpb247CiAKIHByaXZhdGU6Ci0gICAgT3B0aW9uYWw8
UGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblByb21pc2U+IG1fb2ZmZXJBbnN3ZXJQ
cm9taXNlOwotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9zZXREZXNj
cmlwdGlvblByb21pc2U7Ci0gICAgT3B0aW9uYWw8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBt
X2FkZEljZUNhbmRpZGF0ZVByb21pc2U7CisgICAgc3RkOjp1bmlxdWVfcHRyPFBlZXJDb25uZWN0
aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlPiBtX29mZmVyQW5zd2VyUHJvbWlzZTsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3NldERlc2NyaXB0
aW9uUHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
PiBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2U7CiAKICAgICBib29sIG1fc2hvdWxkRmlsdGVySUNF
Q2FuZGlkYXRlcyB7IHRydWUgfTsKICAgICBzdHJ1Y3QgUGVuZGluZ0lDRUNhbmRpZGF0ZSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uY3BwCmluZGV4IGM5ODNmYTNlM2EyYjI0NjllZWUwMGZmMzA3ZGNkMzNjMjY2ODFm
OTEuLjM3NDZiOGJlZmMyM2M2MTdiOTg3YWRmOThkMzRjODQ4NTczMzllYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFFbmRwb2ludENvbmZpZ3VyYXRpb24uaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaApp
bmRleCA5ZGQ5NDY3NjAxY2EyNTYyOGM2NGY2MjMzYzc5ZTcxOWNjNjI3ZDJjLi4zY2NhOGIyYjk2
NzE4YWU0NzZkODM5NDMyNjEyMGM5Nzk5MDc5MzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCkBAIC0zOSw2ICszOSw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3Mg
UGVlckNvbm5lY3Rpb25CYWNrZW5kOwogc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJC
YWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ckJhY2tlbmQuaAppbmRleCA2NTYzOGNkYWFhMTc5MzgwZjZiY2VkMTUwMjZmNGNjM2EwYTFjYTNk
Li5hZDUyNDA5NzhjZGQ5YzJjZTMwZDBmNzUyMWNiZjFhNTE1ZTAzNzQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tlbmQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tl
bmQuaApAQCAtMjYsMTYgKzI2LDE3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAotI2luY2x1
ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgTWVkaWFTdHJlYW1UcmFjazsKIGNsYXNzIFJUQ0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3Mg
UlRDUnRwU2VuZGVyOwotc3RydWN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOwogY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKIAorc3RydWN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOworCit0ZW1w
bGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNz
IFJUQ1J0cFNlbmRlckJhY2tlbmQgewogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXBsYWNl
VHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJUQ1J0cFNlbmRlciYsIFJlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrPiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJikgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVz
dC5jcHAKaW5kZXggNzM4N2EzOGFiMDUxMzg2NzRjNjdiYmFhYzkzMjkzNzc4OTk1YzU0ZS4uNGYy
NTE3ZTE2NWFkZTVmYzMxZGYyYTEwMjQ5NjlmNWJiZTMwODczYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCkBA
IC0zOCw2ICszOCw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlh
U3RyZWFtLmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWluZWRFcnJvci5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKQEAgLTYxLDcgKzYyLDcgQEAgUmVmPFVzZXJNZWRpYVJlcXVlc3Q+IFVzZXJN
ZWRpYVJlcXVlc3Q6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhU3RyZWFtUmUKIFVz
ZXJNZWRpYVJlcXVlc3Q6OlVzZXJNZWRpYVJlcXVlc3QoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRp
YVN0cmVhbVJlcXVlc3QmJiByZXF1ZXN0LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNl
PE1lZGlhU3RyZWFtPj4mJiBwcm9taXNlKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGRvY3VtZW50
KQogICAgICwgbV9pZGVudGlmaWVyKFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyOjpnZW5lcmF0
ZSgpKQotICAgICwgbV9wcm9taXNlKFdURk1vdmUocHJvbWlzZSkpCisgICAgLCBtX3Byb21pc2Uo
bWFrZVVuaXF1ZVJlZjxET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPE1lZGlhU3RyZWFt
Pj4+KFdURk1vdmUocHJvbWlzZSkpKQogICAgICwgbV9yZXF1ZXN0KFdURk1vdmUocmVxdWVzdCkp
CiB7CiB9CkBAIC0yNTYsNyArMjU3LDcgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjphbGxvdyhD
YXB0dXJlRGV2aWNlJiYgYXVkaW9EZXZpY2UsIENhcHR1cmVEZXZpY2UmJiB2aWRlb0QKIAogICAg
ICAgICBBU1NFUlQoZG9jdW1lbnQuaXNDYXB0dXJpbmcoKSk7CiAgICAgICAgIHN0cmVhbS0+ZG9j
dW1lbnQoKS0+c2V0SGFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2soKTsKLSAgICAgICAgbV9wcm9t
aXNlLnJlc29sdmUoV1RGTW92ZShzdHJlYW0pKTsKKyAgICAgICAgbV9wcm9taXNlLT5yZXNvbHZl
KFdURk1vdmUoc3RyZWFtKSk7CiAgICAgfTsKIAogICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNh
c3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpAQCAtMjk4LDcgKzI5OSw3
IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6ZGVueShNZWRpYUFjY2Vzc0RlbmlhbFJlYXNvbiBy
ZWFzb24sIGNvbnN0IFN0cmluZyYgbWVzc2FnCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTWVk
aWFBY2Nlc3NEZW5pYWxSZWFzb246OkludmFsaWRDb25zdHJhaW50OgogICAgICAgICBSRUxFQVNF
X0xPRyhNZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkgLSBpbnZhbGlkIGNvbnN0
cmFpbnQgLSAlcyIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIG1fcHJvbWlzZS5y
ZWplY3RUeXBlPElETEludGVyZmFjZTxPdmVyY29uc3RyYWluZWRFcnJvcj4+KE92ZXJjb25zdHJh
aW5lZEVycm9yOjpjcmVhdGUobWVzc2FnZSwgIkludmFsaWQgY29uc3RyYWludCJfcykuZ2V0KCkp
OworICAgICAgICBtX3Byb21pc2UtPnJlamVjdFR5cGU8SURMSW50ZXJmYWNlPE92ZXJjb25zdHJh
aW5lZEVycm9yPj4oT3ZlcmNvbnN0cmFpbmVkRXJyb3I6OmNyZWF0ZShtZXNzYWdlLCAiSW52YWxp
ZCBjb25zdHJhaW50Il9zKS5nZXQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIE1lZGlh
QWNjZXNzRGVuaWFsUmVhc29uOjpIYXJkd2FyZUVycm9yOgogICAgICAgICBSRUxFQVNFX0xPRyhN
ZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkgLSBoYXJkd2FyZSBlcnJvciIpOwpA
QCAtMzE5LDkgKzMyMCw5IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6ZGVueShNZWRpYUFjY2Vz
c0RlbmlhbFJlYXNvbiByZWFzb24sIGNvbnN0IFN0cmluZyYgbWVzc2FnCiAgICAgfQogCiAgICAg
aWYgKCFtZXNzYWdlLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wcm9taXNlLnJlamVjdChjb2RlLCBt
ZXNzYWdlKTsKKyAgICAgICAgbV9wcm9taXNlLT5yZWplY3QoY29kZSwgbWVzc2FnZSk7CiAgICAg
ZWxzZQotICAgICAgICBtX3Byb21pc2UucmVqZWN0KGNvZGUpOworICAgICAgICBtX3Byb21pc2Ut
PnJlamVjdChjb2RlKTsKIH0KIAogdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjpzdG9wKCkKQEAgLTM2
MSw3ICszNjIsNyBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbChS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiAgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9
ICJ1bmtub3duIjsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1fcHJvbWlzZS5yZWplY3Qo
Tm90UmVhZGFibGVFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHN0YXJ0aW5nIGNhcHR1cmUgb2Yg
YSAiX3MsIHR5cGVEZXNjcmlwdGlvbiwgIiB0cmFjayJfcykpOworICAgIG1fcHJvbWlzZS0+cmVq
ZWN0KE5vdFJlYWRhYmxlRXJyb3IsIG1ha2VTdHJpbmcoIkZhaWxlZCBzdGFydGluZyBjYXB0dXJl
IG9mIGEgIl9zLCB0eXBlRGVzY3JpcHRpb24sICIgdHJhY2siX3MpKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAppbmRleCAzZmJjNDczODMyZTZhNzQxZjQzNTE3NDhlZTEz
NmU1ODVhNDdkYTIwLi5jNmQ1ZWFjZGUyYWRmOThlMjQ2YWI4MGQ5NzYxNGYzYWQwYmE0NDA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YVJlcXVlc3QuaApAQCAtMzYsNyArMzYsNyBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0
LmgiCiAjaW5jbHVkZSAiQ2FwdHVyZURldmljZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURl
ZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFp
bnRzLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW1SZXF1ZXN0LmgiCkBAIC00OCw2ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE1lZGlhU3RyZWFtOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKK3RlbXBsYXRlPHR5cGVu
YW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogZW51bSBVc2VyTWVkaWFS
ZXF1ZXN0SWRlbnRpZmllclR5cGUgeyB9OwogdXNpbmcgVXNlck1lZGlhUmVxdWVzdElkZW50aWZp
ZXIgPSBPYmplY3RJZGVudGlmaWVyPFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyVHlwZT47CiAK
QEAgLTkxLDcgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U3RyaW5nPiBtX3ZpZGVvRGV2
aWNlVUlEczsKICAgICBWZWN0b3I8U3RyaW5nPiBtX2F1ZGlvRGV2aWNlVUlEczsKIAotICAgIERP
TVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+PiBtX3Byb21pc2U7Cisg
ICAgVW5pcXVlUmVmPERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+
Pj4gbV9wcm9taXNlOwogICAgIE1lZGlhU3RyZWFtUmVxdWVzdCBtX3JlcXVlc3Q7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDkwMGY0OWI0
ZjE0ZDZjZDNiOTY5NjQ1MzNkODlmNTI5YjMwMDZhYWYuLmJjYjFjODZjOWVlYzZhNjhhNzc0OTRl
ZThjZTQ1ZTc5YTA5YWVhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5k
cG9pbnQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKExJQldFQlJUQykKIAogI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIkpTUlRDU3RhdHNSZXBvcnQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENEYXRhQ2hhbm5l
bEhhbmRsZXIuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKaW5kZXgg
NmFlZWExMzM4OTJkMjA2M2YwMzUzOWI4ZWVjNGRiOWJjZTY0ZDdkOS4uODk0MjU4Yjg2MDk4N2Jk
ODJkM2Q3OTlhMmVkZDI2MzlmOGYzYzZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShX
RUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUg
IkxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0
aWxzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJC
YWNrZW5kLmNwcAppbmRleCA1YzBkN2U5NWUyZmQxMmUzZjg0ZjE3Y2ZiZWI2ZDg2N2E1MWYyZTQx
Li5lNjQzYTgzYWZjZTJkNDc0ZTA4MmM0YjZlYjQ2YjY2N2IwYzNmMTAwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBU
cmFuc2NlaXZlckJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAKQEAgLTI3
LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQogCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENSdHBS
ZWNlaXZlckJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmgi
CiAjaW5jbHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKaW5kZXggMDc3NGZj
NmUxNWI2Zjk4NTNjMmQwYjNlMTQ4YmE1Y2ZjMzcxYzgzNC4uY2MwNzc0YmM1NzEwNGZmMjA3MjVj
YzYzNjBjYjI1ZGQ5MTg4MmQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIkpTUGF5bWVudERldGFpbHNVcGRhdGUuaCIKICNpbmNsdWRlICJKU1BheW1lbnRSZXNw
b25zZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTQxMCw3ICs0MTEsNyBAQCB2b2lkIFBheW1l
bnRSZXF1ZXN0OjpzaG93KERvY3VtZW50JiBkb2N1bWVudCwgUmVmUHRyPERPTVByb21pc2U+JiYg
ZGV0YWlsc1Byb21pcwogCiAgICAgbV9zdGF0ZSA9IFN0YXRlOjpJbnRlcmFjdGl2ZTsKICAgICBB
U1NFUlQoIW1fc2hvd1Byb21pc2UpOwotICAgIG1fc2hvd1Byb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpOworICAgIG1fc2hvd1Byb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8U2hvd1Byb21pc2U+KFdU
Rk1vdmUocHJvbWlzZSkpOwogCiAgICAgUmVmUHRyPFBheW1lbnRIYW5kbGVyPiBzZWxlY3RlZFBh
eW1lbnRIYW5kbGVyOwogICAgIGZvciAoYXV0byYgcGF5bWVudE1ldGhvZCA6IG1fc2VyaWFsaXpl
ZE1ldGhvZERhdGEpIHsKQEAgLTQ2OCw3ICs0NjksNyBAQCB2b2lkIFBheW1lbnRSZXF1ZXN0Ojph
Ym9ydFdpdGhFeGNlcHRpb24oRXhjZXB0aW9uJiYgZXhjZXB0aW9uKQogCiB2b2lkIFBheW1lbnRS
ZXF1ZXN0OjpzZXR0bGVTaG93UHJvbWlzZShFeGNlcHRpb25PcjxQYXltZW50UmVzcG9uc2UmPiYm
IHJlc3VsdCkKIHsKLSAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0ZDo6ZXhjaGFuZ2UobV9z
aG93UHJvbWlzZSwgV1RGOjpudWxsb3B0KSkKKyAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0
ZDo6ZXhjaGFuZ2UobV9zaG93UHJvbWlzZSwgbnVsbHB0cikpCiAgICAgICAgIHNob3dQcm9taXNl
LT5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4IGY3YzM0MjY3
OTQ0NTFiNWJlZmRhMDdiYjk1ZDM1NzY0NDFhZGVkOGIuLjdmMWI1MmZhMDJkNGUzZjhiMmE0YTVi
OTJlNDYxMWUzZTg2NTUxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNs
dWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1
ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNp
bmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlBheW1lbnREZXRhaWxzSW5pdC5oIgogI2lu
Y2x1ZGUgIlBheW1lbnRNZXRob2RDaGFuZ2VFdmVudC5oIgogI2luY2x1ZGUgIlBheW1lbnRPcHRp
b25zLmgiCkBAIC00OSw2ICs0OSw3IEBAIGVudW0gY2xhc3MgUGF5bWVudENvbXBsZXRlOwogZW51
bSBjbGFzcyBQYXltZW50U2hpcHBpbmdUeXBlOwogc3RydWN0IFBheW1lbnREZXRhaWxzVXBkYXRl
Owogc3RydWN0IFBheW1lbnRNZXRob2REYXRhOwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwogCiBjbGFzcyBQYXltZW50UmVxdWVzdCBmaW5hbCA6
IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQYXltZW50UmVx
dWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgUmVmQ291bnRl
ZDxQYXltZW50UmVxdWVzdD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGF5bWVudFJl
cXVlc3QpOwpAQCAtMTQyLDcgKzE0Myw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fc2hpcHBp
bmdPcHRpb247CiAgICAgUmVmUHRyPFBheW1lbnRBZGRyZXNzPiBtX3NoaXBwaW5nQWRkcmVzczsK
ICAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6OkNyZWF0ZWQgfTsKLSAgICBPcHRpb25hbDxTaG93
UHJvbWlzZT4gbV9zaG93UHJvbWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U2hvd1Byb21pc2U+
IG1fc2hvd1Byb21pc2U7CiAgICAgT3B0aW9uYWw8UGF5bWVudEhhbmRsZXJXaXRoUGVuZGluZ0Fj
dGl2aXR5PiBtX2FjdGl2ZVBheW1lbnRIYW5kbGVyOwogICAgIFJlZlB0cjxET01Qcm9taXNlPiBt
X2RldGFpbHNQcm9taXNlOwogICAgIFJlZlB0cjxET01Qcm9taXNlPiBtX21lcmNoYW50U2Vzc2lv
blByb21pc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAKaW5kZXggZDZjMThiODJlNTc5YjRjMjliNWJlNjQ0
NGVmZDdjNDcxZTc4OGIyZS4uOThiNWQ2Y2YyNDA5N2EwY2M4ZTE4ZTFjY2RkMGIzMTk2ODJmZGRm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50UmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFJlc3BvbnNlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFBB
WU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYXltZW50UmVxdWVzdC5oIgogI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMDMsNyArMTA0LDcgQEAgdm9pZCBQ
YXltZW50UmVzcG9uc2U6OnJldHJ5KFBheW1lbnRWYWxpZGF0aW9uRXJyb3JzJiYgZXJyb3JzLCBE
T01Qcm9taXNlRGVmZXJyZWQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fcmV0cnlQ
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX3JldHJ5UHJvbWlzZSA9IFdURjo6bWFr
ZVVuaXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOwogfQog
CiB2b2lkIFBheW1lbnRSZXNwb25zZTo6YWJvcnRXaXRoRXhjZXB0aW9uKEV4Y2VwdGlvbiYmIGV4
Y2VwdGlvbikKQEAgLTEyMCw3ICsxMjEsOCBAQCB2b2lkIFBheW1lbnRSZXNwb25zZTo6c2V0dGxl
UmV0cnlQcm9taXNlKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVzdWx0KQogCiAgICAgQVNTRVJUKGhh
c1BlbmRpbmdBY3Rpdml0eSgpKTsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6Q3JlYXRl
ZCk7Ci0gICAgc3RkOjpleGNoYW5nZShtX3JldHJ5UHJvbWlzZSwgV1RGOjpudWxsb3B0KS0+c2V0
dGxlKFdURk1vdmUocmVzdWx0KSk7CisgICAgbV9yZXRyeVByb21pc2UtPnNldHRsZShXVEZNb3Zl
KHJlc3VsdCkpOworICAgIG1fcmV0cnlQcm9taXNlID0gbnVsbHB0cjsKIH0KIAogYm9vbCBQYXlt
ZW50UmVzcG9uc2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVz
cG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
c3BvbnNlLmgKaW5kZXggZWUyMjZhMDZmNDNmNGFiNmYwMGZkNmI3MTg3MmQ5ZThhM2JiOWUwYS4u
OWFlOWY4NWMzMzFiZjE4MzFiY2UyMDc1ZDY1YzdkZThhZWI3MzJjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5o
CkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNWYWx1ZUlu
V3JhcHBlZE9iamVjdC5oIgogI2luY2x1ZGUgIlBheW1lbnRBZGRyZXNzLmgiCiAjaW5jbHVkZSAi
UGF5bWVudENvbXBsZXRlLmgiCkBAIC00Miw2ICs0MSw4IEBAIGNsYXNzIERvY3VtZW50OwogY2xh
c3MgUGF5bWVudFJlcXVlc3Q7CiBzdHJ1Y3QgUGF5bWVudFZhbGlkYXRpb25FcnJvcnM7CiAKK3Rl
bXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xh
c3MgUGF5bWVudFJlc3BvbnNlIGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGlj
IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBSZWZDb3VudGVkPFBheW1lbnRSZXNw
b25zZT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUGF5bWVudFJlc3BvbnNlKTsKIHB1
YmxpYzoKQEAgLTEyMyw3ICsxMjQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3BheWVyRW1h
aWw7CiAgICAgU3RyaW5nIG1fcGF5ZXJQaG9uZTsKICAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6
OkNyZWF0ZWQgfTsKLSAgICBPcHRpb25hbDxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcmV0
cnlQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+
IG1fcmV0cnlQcm9taXNlOwogICAgIFJlZlB0cjxQZW5kaW5nQWN0aXZpdHk8UGF5bWVudFJlc3Bv
bnNlPj4gbV9wZW5kaW5nQWN0aXZpdHk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
OTBmMGUzMzE1MDNhYmE2ZTg2YTliZTczMjdkODQ0NWQwYWJjNjg2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmNw
cApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiUmVhZGFibGVTdHJlYW1Tb3VyY2UuaCIKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCisKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUmVhZGFibGVTdHJlYW1Tb3VyY2U6On5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpID0g
ZGVmYXVsdDsKKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6c3RhcnQoUmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlciYmIGNvbnRyb2xsZXIsIERPTVByb21pc2VEZWZlcnJlZDx2b2lk
PiYmIHByb21pc2UpCit7CisgICAgQVNTRVJUKCFtX3Byb21pc2UpOworICAgIG1fcHJvbWlzZSA9
IFdURjo6bWFrZVVuaXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlz
ZSkpOworICAgIG1fY29udHJvbGxlciA9IFdURk1vdmUoY29udHJvbGxlcik7CisKKyAgICBzZXRB
Y3RpdmUoKTsKKyAgICBkb1N0YXJ0KCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6
OnB1bGwoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAgICBBU1NFUlQo
IW1fcHJvbWlzZSk7CisgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CisKKyAgICBtX3Byb21pc2Ug
PSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21p
c2UpKTsKKworICAgIHNldEFjdGl2ZSgpOworICAgIGRvUHVsbCgpOworfQorCit2b2lkIFJlYWRh
YmxlU3RyZWFtU291cmNlOjpzdGFydEZpbmlzaGVkKCkKK3sKKyAgICBBU1NFUlQobV9wcm9taXNl
KTsKKyAgICBtX3Byb21pc2UtPnJlc29sdmUoKTsKKyAgICBtX3Byb21pc2UgPSBudWxscHRyOwor
ICAgIHNldEluYWN0aXZlKCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGxG
aW5pc2hlZCgpCit7CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisgICAgbV9wcm9taXNlLT5yZXNv
bHZlKCk7CisgICAgbV9wcm9taXNlID0gbnVsbHB0cjsKKyAgICBzZXRJbmFjdGl2ZSgpOworfQor
Cit2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpjYW5jZWwoSlNDOjpKU1ZhbHVlKQoreworICAg
IGNsZWFuKCk7CisgICAgZG9DYW5jZWwoKTsKK30KKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJj
ZTo6Y2xlYW4oKQoreworICAgIGlmIChtX3Byb21pc2UpIHsKKyAgICAgICAgbV9wcm9taXNlID0g
bnVsbHB0cjsKKyAgICAgICAgc2V0SW5hY3RpdmUoKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTVFJFQU1TX0FQSSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKaW5k
ZXggZjRmMDJiM2FhNmMxZmI3Mjc5ZTQ0M2E3ZTE5Y2E3MjMzN2FhNTIyZi4uZDRjZWZlYmJhNmQ1
MmFhNGRiNWFlMmI1YWEyOWFhYTcwYzJlZmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmgKQEAgLTMwLDE1ICszMCwx
NiBAQAogCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmgi
CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordGVt
cGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFz
cyBSZWFkYWJsZVN0cmVhbVNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlYWRhYmxlU3RyZWFt
U291cmNlPiB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+UmVhZGFibGVTdHJlYW1Tb3VyY2UoKSA9
IGRlZmF1bHQ7CisgICAgdmlydHVhbCB+UmVhZGFibGVTdHJlYW1Tb3VyY2UoKTsKIAogICAgIHZv
aWQgc3RhcnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJik7CiAgICAgdm9pZCBwdWxsKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYm
KTsKQEAgLTYzLDU5ICs2NCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRvQ2Fu
Y2VsKCkgPSAwOwogCiBwcml2YXRlOgotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2
b2lkPj4gbV9wcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Qcm9taXNlRGVmZXJyZWQ8
dm9pZD4+IG1fcHJvbWlzZTsKICAgICBPcHRpb25hbDxSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyPiBtX2NvbnRyb2xsZXI7CiB9OwogCi1pbmxpbmUgdm9pZCBSZWFkYWJsZVN0cmVhbVNv
dXJjZTo6c3RhcnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYmIGNvbnRyb2xsZXIs
IERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCi17Ci0gICAgQVNTRVJUKCFtX3By
b21pc2UpOwotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7Ci0gICAgbV9jb250cm9s
bGVyID0gV1RGTW92ZShjb250cm9sbGVyKTsKLQotICAgIHNldEFjdGl2ZSgpOwotICAgIGRvU3Rh
cnQoKTsKLX0KLQotaW5saW5lIHZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGwoRE9NUHJv
bWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKLXsKLSAgICBBU1NFUlQoIW1fcHJvbWlzZSk7
Ci0gICAgQVNTRVJUKG1fY29udHJvbGxlcik7Ci0KLSAgICBtX3Byb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpOwotCi0gICAgc2V0QWN0aXZlKCk7Ci0gICAgZG9QdWxsKCk7Ci19Ci0KLWlubGluZSB2
b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpzdGFydEZpbmlzaGVkKCkKLXsKLSAgICBBU1NFUlQo
bV9wcm9taXNlKTsKLSAgICBzdGQ6OmV4Y2hhbmdlKG1fcHJvbWlzZSwgV1RGOjpudWxsb3B0KS52
YWx1ZSgpLnJlc29sdmUoKTsKLSAgICBzZXRJbmFjdGl2ZSgpOwotfQotCi1pbmxpbmUgdm9pZCBS
ZWFkYWJsZVN0cmVhbVNvdXJjZTo6cHVsbEZpbmlzaGVkKCkKLXsKLSAgICBBU1NFUlQobV9wcm9t
aXNlKTsKLSAgICBzdGQ6OmV4Y2hhbmdlKG1fcHJvbWlzZSwgV1RGOjpudWxsb3B0KS52YWx1ZSgp
LnJlc29sdmUoKTsKLSAgICBzZXRJbmFjdGl2ZSgpOwotfQotCi1pbmxpbmUgdm9pZCBSZWFkYWJs
ZVN0cmVhbVNvdXJjZTo6Y2FuY2VsKEpTQzo6SlNWYWx1ZSkKLXsKLSAgICBjbGVhbigpOwotICAg
IGRvQ2FuY2VsKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpjbGVh
bigpCi17Ci0gICAgaWYgKG1fcHJvbWlzZSkgewotICAgICAgICBtX3Byb21pc2UgPSBXVEY6Om51
bGxvcHQ7Ci0gICAgICAgIHNldEluYWN0aXZlKCk7Ci0gICAgfQotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1RSRUFNU19BUEkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAppbmRleCAzNDE5OTgxYzM1NzRj
MzczZWU5NzYxYmZmZWI1ZGUwZGJkYWFhYjJmLi4wYzQ1YWQ1Zjk5MzUwMGMxNGYzZWM0MTgwMGJh
NzI2N2JkMjNmZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJBdWRpb0J1cy5oIgogI2lu
Y2x1ZGUgIkF1ZGlvRGVzdGluYXRpb25Ob2RlLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIk1lZGlhQ2FuU3Rh
cnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5oIgpAQCAtNzgsNiArNzcsOCBAQCBjbGFzcyBTY3JpcHRQcm9jZXNz
b3JOb2RlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBXYXZlU2hhcGVyTm9kZTsKIAor
dGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiAv
LyBBdWRpb0NvbnRleHQgaXMgdGhlIGNvcm5lcnN0b25lIG9mIHRoZSB3ZWIgYXVkaW8gQVBJIGFu
ZCBhbGwgQXVkaW9Ob2RlcyBhcmUgY3JlYXRlZCBmcm9tIGl0LgogLy8gRm9yIHRocmVhZCBzYWZl
dHkgYmV0d2VlbiB0aGUgYXVkaW8gdGhyZWFkIGFuZCB0aGUgbWFpbiB0aHJlYWQsIGl0IGhhcyBh
IHJlbmRlcmluZyBncmFwaCBsb2NraW5nIG1lY2hhbmlzbS4gCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
LmNwcAppbmRleCA5MTkzNGU4ZDQyY2RhMmZjZjkyNTY5YWVlMDc0YTVjMDg2MjUzODJlLi44NDdk
MjY2MTQzNTcwMTE3YWNlMDRkMjNkYjdlZTYxNWNkYjIxY2IwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQXV0aGVudGljYXRvckF0dGVzdGF0
aW9uUmVzcG9uc2UuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQu
aCIKICNpbmNsdWRlICJKU0Jhc2ljQ3JlZGVudGlhbC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlhbC5oIgogI2luY2x1ZGUg
IlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaCIKICNpbmNsdWRlICJQdWJsaWNL
ZXlDcmVkZW50aWFsRGF0YS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgKaW5kZXggMGI4Yjg0OWU0MzQ4
Y2U0MmFkMWNkYjBlYWRhZTFmNTNjYmNhM2ZmZS4uOWM2NWFlNmE2NzliYTQ5Nzk1OTJlMjI5OTli
ODkzZWFhMzY2MjE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRo
bi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oCkBAIC0yNyw3ICsyNyw3IEBACiAK
ICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTQxLDYgKzQxLDggQEAgY2xhc3MgU2VjdXJp
dHlPcmlnaW47CiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uczsKIHN0
cnVjdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnM7CiAKK3RlbXBsYXRlPHR5cGVu
YW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogdXNpbmcgQ3JlZGVudGlh
bFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8SURMSW50ZXJmYWNlPEJh
c2ljQ3JlZGVudGlhbD4+PjsKIAogY2xhc3MgQXV0aGVudGljYXRvckNvb3JkaW5hdG9yIGZpbmFs
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5
Q3JlZGVudGlhbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsLmgKaW5kZXggMTJkZjBjMmQ2OWM1MmNiMTk5NWRlNDk3ZDE1YmI0OGNlNGJkZjg5
MC4uNGJlNzE1YjM1NDdkODJhNzZmZDdkMzgyOWFkNmIxZGQxMGYzZWE5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmgK
QEAgLTI5LDcgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkJhc2ljQ3JlZGVudGlhbC5oIgogI2luY2x1
ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNp
bmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVy
Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtNDAsNiArNDAsOCBAQCBjbGFzcyBE
b2N1bWVudDsKIAogc3RydWN0IFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhOwogCit0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFB1Ymxp
Y0tleUNyZWRlbnRpYWwgZmluYWwgOiBwdWJsaWMgQmFzaWNDcmVkZW50aWFsIHsKIHB1YmxpYzoK
ICAgICBzdHJ1Y3QgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cyB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNlcnZl
VmFyaWFibGVMaWZldGltZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcmVzZXJ2ZVZhcmlhYmxlTGlmZXRpbWVzLmNwcAppbmRleCA1M2UzNzg4MzA0NTE3
YTFiYzhjNGVlODcxY2Y0YWE1MzhlODI0YmQ3Li5lMTAxNjM2ZjFhZTk1MmM5OWQzMGQzNmEyZGYx
MjYwMTZmNTk4OWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
SExTTC9XSExTTFByZXNlcnZlVmFyaWFibGVMaWZldGltZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlc2VydmVWYXJpYWJsZUxpZmV0aW1lcy5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIldITFNMQVNULmgiCiAjaW5jbHVkZSAi
V0hMU0xBU1REdW1wZXIuaCIKKyNpbmNsdWRlICJXSExTTExleGVyLmgiCiAjaW5jbHVkZSAiV0hM
U0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAiV0hMU0xSZXBsYWNlV2l0aC5oIgogI2luY2x1ZGUgIldI
TFNMVmlzaXRvci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCmlu
ZGV4IDEyZGMzNTA2ZjQ3ZGNiNzVmNjVmZTFlNTA0MWZlMjZlMmVkNzkwZDkuLjUwOGZlOThkZmIx
ZDYzZTZmOWFlMDAyMjI3YjdiOWFiZWM5NDVkOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGli
cmFyeVV0aWxpdGllcy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIldITFNMQ2Fs
bEV4cHJlc3Npb24uaCIKICNpbmNsdWRlICJXSExTTFBhcnNlci5oIgorI2luY2x1ZGUgIldITFNM
UHJvZ3JhbS5oIgogI2luY2x1ZGUgIldITFNMU3RhbmRhcmRMaWJyYXJ5LmgiCiAjaW5jbHVkZSAi
V0hMU0xTdGFuZGFyZExpYnJhcnlGdW5jdGlvbk1hcC5oIgogI2luY2x1ZGUgIldITFNMVmlzaXRv
ci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHAKaW5kZXggMTZjYTRk
OTEyMjhjYWMzZDljOTU0NDcwY2E5NWIxOWNkZTU1MGJhMC4uNmIzOWJkYzc4Y2ZiMTMyNzg3ZjQw
ZDZlYjk5ODYzZTdmMjBhNTc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFUuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUg
IkdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiSlNXZWJHUFVBZGFwdGVyLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlv
bmFsLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmgKaW5kZXggNzhhMzhl
MjkzMTM1MWU5YzhmMTg2NmE0YjQ5ZGMxODNjNjNjOWM4Mi4uMTYxZTZjZGU3Nzg4Mzk4N2E4MTgx
ZTJjY2EyOTQxMmQxYTRjMTBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
LmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJHUFUpCiAKLSNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMzUsNiArMzUsOCBAQCBjbGFzcyBXZWJHUFVBZGFwdGVyOwogCiBz
dHJ1Y3QgR1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExU
eXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFdlYkdQVSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFdlYkdQVT4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViR1BVPiBjcmVh
dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFk
YXB0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5j
cHAKaW5kZXggNjk3ODlkOTQ5MWU3NzBkYzYyN2RlNTY5OWRmYzIyMzY0MDMwOGY2MC4uNmRiYTdk
MDY3Y2VjZTQ5YjRmZDU4YjI1M2M2YjlhZDM1MGRjZjM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU1dlYkdQ
VURldmljZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmgKaW5kZXggMTg0OTUxOTc3MmQzMmJjMjNiYjUyNDU3
NGI3ODA2ODIzMTZjOTgzYy4uOWQ3YzE3Y2FhMTczYTcxYTVjNDJjODM5Nzg3ODA2Y2QzNDg2YzEy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaApA
QCAtMjgsNyArMjgsNyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVSZXF1
ZXN0QWRhcHRlck9wdGlvbnMuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgor
I2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zOCw2ICszOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgV2ViR1BVRGV2
aWNlOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJy
ZWQ7CisKIGNsYXNzIFdlYkdQVUFkYXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVBZGFw
dGVyPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJHUFVBZGFwdGVyPiBjcmVhdGUoT3B0
aW9uYWw8R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuY3BwCmluZGV4IGJhMjU5NjNhMTIwNDdlN2IwZDE0
NWRjNDI4NDc4MDBhNmEyZTFmZGUuLjQxZjQxNjg3OWVlNmMzNGM3NzEyYjJhZGZiYjU2OTMxMmY5
ZmU1YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1
ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVy
LmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJH
UFVFcnJvclNjb3Blcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuaAppbmRleCBk
OTk2YjVlZWU5ZDhlMDI4MWUwNjI2ZDdjZWI2YzE4NTExNjZjZTM5Li5iMmVlZTIwOTJhM2RlZGY3
YjczNTI2ZDllZDhhMzI5MjNhZWY0YjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVCdWZmZXIuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkdQVUJ1ZmZl
ci5oIgogI2luY2x1ZGUgIkdQVUJ1ZmZlclVzYWdlLmgiCiAjaW5jbHVkZSAiR1BVT2JqZWN0QmFz
ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlw
ZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDEs
NiArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBHUFVCdWZmZXJEZXNjcmlw
dG9yOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJy
ZWQ7CisKIGNsYXNzIFdlYkdQVUJ1ZmZlciA6IHB1YmxpYyBHUFVPYmplY3RCYXNlIHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPFdlYkdQVUJ1ZmZlcj4gY3JlYXRlKFJlZlB0cjxHUFVCdWZmZXI+
JiYsIEdQVUVycm9yU2NvcGVzJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVRGV2aWNlLmNwcAppbmRleCA3ZDVkZTc5YzgwMjY1MThjNDA4MWFhMDJjNjg5NDI5ZjJi
NzJmYTNiLi42ZGM4ZGIzMTQwYzkwOTM5MjhjZmE2ZmFmYzk5ZDhhNTIyYTgwMmQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKQEAgLTUxLDYg
KzUxLDcgQEAKICNpbmNsdWRlICJHUFVVbmNhcHR1cmVkRXJyb3JFdmVudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydEJ1ZmZl
clNvdXJjZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
SlNHUFVPdXRPZk1lbW9yeUVycm9yLmgiCiAjaW5jbHVkZSAiSlNHUFVWYWxpZGF0aW9uRXJyb3Iu
aCIKICNpbmNsdWRlICJKU1dlYkdQVUJ1ZmZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFVEZXZpY2UuaAppbmRleCAyMWI1NDE3YzIxMGE3NWY4YmI5OWMyMjczMTIx
NGNiZDIwMzlkMWExLi41ZDM1YmNmMjdmZjhkMjZiNTE0MzUxNDg5ZmJhYzg0Y2NhZDEzZjY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtMzAs
NyArMzAsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR1BVRGV2aWNl
LmgiCiAjaW5jbHVkZSAiR1BVRXJyb3JTY29wZXMuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViR1BVQWRhcHRl
ci5oIgogI2luY2x1ZGUgIldlYkdQVVF1ZXVlLmgiCiAjaW5jbHVkZSAiV2ViR1BVU3dhcENoYWlu
RGVzY3JpcHRvci5oIgpAQCAtNzIsNiArNzIsOCBAQCBzdHJ1Y3QgV2ViR1BVU2hhZGVyTW9kdWxl
RGVzY3JpcHRvcjsKIAogZW51bSBjbGFzcyBHUFVFcnJvckZpbHRlcjsKIAordGVtcGxhdGU8dHlw
ZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiB1c2luZyBFcnJvcklE
TFVuaW9uID0gSURMVW5pb248SURMSW50ZXJmYWNlPEdQVU91dE9mTWVtb3J5RXJyb3I+LCBJRExJ
bnRlcmZhY2U8R1BVVmFsaWRhdGlvbkVycm9yPj47CiB1c2luZyBFcnJvclByb21pc2UgPSBET01Q
cm9taXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8RXJyb3JJRExVbmlvbj4+OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmlnYXRvcldlYlZSLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuY3BwCmluZGV4IDc3NmM0M2Fl
YzBiOWI1YmRlYWRjM2RkODkxMjZhY2VkNmJhNzUxNjguLjRkZjEwMjExYTdhNDY5ZWFlMTg5ZGZh
NGRjNTBhOGMzZjc5YTUzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
dnIvTmF2aWdhdG9yV2ViVlIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIv
TmF2aWdhdG9yV2ViVlIuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiTmF2aWdhdG9y
V2ViVlIuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU1ZSRGlzcGxheS5oIgogI2luY2x1ZGUgIk5hdmlnYXRv
ci5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuaAppbmRleCA1NjEwYmExZTgyNDY2ZTU0
ZTA1YWNjN2EwNTE1ZTY1YzVmOGVmZDlmLi5mZmQ3MTM5Y2VhYzc1ZWQ0YjgwZDc4OTEzNWMzODg2
ZWRiY2FlY2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmln
YXRvcldlYlZSLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JX
ZWJWUi5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlN1
cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zNiw2ICszNiw4
IEBAIGNsYXNzIE5hdmlnYXRvcjsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBWUkRpc3BsYXk7CiAKK3Rl
bXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xh
c3MgTmF2aWdhdG9yV2ViVlIgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcAppbmRleCBjNjY2N2JiZjYwMGVjMjAyZGZmOWZlNWNi
MzYwNGI5YmE2ZGViZWNkLi44MDZhN2FiOWE0MDYyM2MwMzJhZGYyN2UzNTI1NmMwNzEyNGI0Zjg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93
LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuaAppbmRleCA1ODUxM2M2ZWY5YjExYmI3MGVlNjY5
MjgxMTMwZjc4MzIwM2ZlNTQzLi4xY2FkODQ2NGZiMDFhYTEzMjUzM2JiZDJkMTQzOTljZWE3NGM0
MWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmgKQEAgLTI3LDcg
KzI3LDYgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJW
UkV5ZS5oIgogI2luY2x1ZGUgIlZSTGF5ZXJJbml0LmgiCiAjaW5jbHVkZSAiVlJQbGF0Zm9ybURp
c3BsYXlDbGllbnQuaCIKQEAgLTM2LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ZW51bSBFeGNlcHRpb25Db2RlOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgUmVxdWVz
dEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXI7CiBjbGFzcyBWUkRpc3BsYXlDYXBhYmlsaXRpZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDljMTcx
ZTU2YzAwZTMyZWM0OTgwN2U3MTA1MDAwM2Q2MGRiMDFkMDguLmRjZWE2NjYyM2ZjMjRkYjg4NDUw
MmIyYzVmNGUwYzhhOGFhNmZkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMDUsNiArMjA1LDcgQEAg
TW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmNwcAogTW9kdWxlcy9zcGVl
Y2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuY3BwCiAKIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbVNpbmsuY3BwCitNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3BwCiAK
IE1vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmNwcAogTW9kdWxlcy93ZWJhdWRpby9Bc3lu
Y0F1ZGlvRGVjb2Rlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwOGE0NjkyYzcxOGYzOTUyMGYxYzIyZmRlYjU4MjAzN2E0
ZjlhZGRmLi44MGNlYjM5MGExMWExNzcyMGM4MzJlN2RlZTMxZDNmNTRiOGM2ZDA3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02
NjMxLDYgKzY2MzEsNyBAQAogCQkyRDNFRjQ0NTE5MTc5MTVDMDAwMzQxODQgLyogV2ViQWN0aW9u
RGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViQWN0aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRDNFRjQ0NjE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ29y
ZUNBTGF5ZXJFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29y
ZUNBTGF5ZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQzRUY0NDcx
OTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENDNFQjJEMjM0NzJCQzMwMDJBMUVENCAvKiBSZWFk
YWJsZVN0cmVhbVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSZWFkYWJsZVN0cmVhbVNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJENDZGMDREMTdCOTZGQkQwMDU2NDdGMCAvKiBJbnRQb2ludC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnRQb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJENDZGMDRGMTdCOTZGRDIwMDU2NDdGMCAvKiBJbnRTaXplLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludFNpemUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJGODggLyogVGV4dEluZGljYXRv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0SW5kaWNhdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTM2LDYgKzE3OTM3LDcgQEAK
IAkJCQk0MTI5Qzk4NzFGNTg2NjJEMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmNwcCAq
LywKIAkJCQk0MTI5Qzk4MDFGNTg2MUM3MDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmgg
Ki8sCiAJCQkJNDEyOUM5ODExRjU4NjFDNzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5p
ZGwgKi8sCisJCQkJMkQ0M0VCMkQyMzQ3MkJDMzAwMkExRUQ0IC8qIFJlYWRhYmxlU3RyZWFtU291
cmNlLmNwcCAqLywKIAkJCQk0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVTdHJl
YW1Tb3VyY2UuaCAqLywKIAkJCQk0MThDMzk1QzFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVT
dHJlYW1Tb3VyY2UuaWRsICovLAogCQkJCTk5MDhCMEYxMUJDQUNGOTEwMEVEMEY1NSAvKiBTdHJl
YW1JbnRlcm5hbHMuanMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmNwcAppbmRleCBjMDdhMDJmNTY5NGIxYTAxYzZmZTMwNTZkNzY3OGQ4YTRiMzFhYWU0Li5m
YTE1N2RjM2FiNjUzOGU1Y2NjYmNlOTliYzBmMWZhYjIyNmY3M2VlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNs
dWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkpTQ29tcG9zaXRlT3BlcmF0aW9u
LmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGVPcGVyYXRpb25PckF1dG8uaCIKKyNpbmNsdWRlICJK
U0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJKU0tleWZyYW1lRWZmZWN0LmgiCiAjaW5jbHVkZSAi
UmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggNTA0YTJmM2VlZmY3YWZjYThk
ZTdkNWZjNDhmMDlmOTUxNGUzMTIxNS4uMzE5NGIzMjc0NzVmZjE2ZTlhZGQxMTQyOWM2OGUwZTU1
YmFlNDFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAg
LTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3QuaCIKICNpbmNsdWRlICJB
bmltYXRpb25QbGF5YmFja0V2ZW50LmgiCiAjaW5jbHVkZSAiQW5pbWF0aW9uVGltZWxpbmUuaCIK
KyNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJEZWNsYXJhdGl2ZUFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUaW1lbGlu
ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDM1OTJkNjI2
MmNlODZiMjA5MTJhYzVmNGQ1NmMzY2QzNDcxZWYwZGUuLjIwYjRjY2E2YzdhNTQ5NjViNjAwYmZl
YmE3MDc1ZGMzMWFiZDQ1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9X
ZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9u
LmgKQEAgLTI2LDkgKzI2LDkgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQWN0aXZlRE9N
T2JqZWN0LmgiCi0jaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRXZlbnRU
YXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgi
CiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSA8d3RmL01hcmth
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ1LDYgKzQ1LDggQEAgY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKK3RlbXBs
YXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2Fs
bGJhY2s7CisKIGNsYXNzIFdlYkFuaW1hdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkFuaW1h
dGlvbj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJBbmltYXRpb24+LCBwdWJsaWMgRXZlbnRU
YXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChXZWJBbmltYXRpb24pOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKaW5k
ZXggNWZiNzRlNGFiYTQwYmVmM2UwMTVlYWI3YzIwYTgxZmViYThkZTYwOC4uYWFjM2Q0YWM0Zjkw
OTM1ODUyOWFiNjEzZjc1Zjk4NWRhNDMxYzdkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIK
ICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgogI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlJlc291
cmNlTG9hZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRl
ckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmgKaW5kZXggN2M0MTRkODlkNGU5NzM1OTk1OTkxMzc5NWY4Yzc1NjU5MTUx
ODgxMy4uODY4OGFkOTBkYWUzZWNlOTQ5ZWEwOWIxZWZlZTVkYTI2Zjk0Yzc4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0
TG9hZGVyQ2xpZW50LmgKQEAgLTI1LDExICsyNSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyOworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwog
CiBjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQgewogcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZURlZmVycmVkLmgKaW5kZXgg
ZDk2MDI4YmMyZmQzZDEwNmIwZTQ0ZDY4N2RkMDE5M2UyMWNhMGY0Mi4uYmM3NGFhZjNjYWYyOWRl
Mzg5NjA4ODI5ZjRmZjAyZmM0ZDIyNTQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJlZC5oCkBAIC0xNjYsNiArMTY2LDcgQEAgcHJpdmF0
ZToKIH07CiAKIGNsYXNzIERPTVByb21pc2VEZWZlcnJlZEJhc2UgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERPTVByb21pc2VEZWZlcnJlZEJhc2UoUmVmPERl
ZmVycmVkUHJvbWlzZT4mJiBnZW5lcmljUHJvbWlzZSkKICAgICAgICAgOiBtX3Byb21pc2VEZWZl
cnJlZChXVEZNb3ZlKGdlbmVyaWNQcm9taXNlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCmluZGV4IDVl
MzRjZGUyZGYzOGNhMDM5NzdhNDA2OWE2ZjQ3NzY0YmI3ZTBhMjguLjgzNWZkNjdlMzhiY2RkMmVh
MjhjMTE0MTgzMmY1ZjVjM2Q2YWU2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcApAQCAtMzEsOSAr
MzEsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTSFRNTFRlbXBsYXRlRWxl
bWVudC5oIgogCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiSlNEb2N1bWVu
dEZyYWdtZW50LmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpT
QzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURhdGFD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURhdGFDdXN0b20u
Y3BwCmluZGV4IDdhOGNhZWRjMGE3ZDY0MzRlZTMxZjI5NmRkMGE0OWFmMDljYjYyZmYuLmZhYjQw
Y2E4YWNjZDZjYTYyNTU1MGYwZjMzYWRjY2Q1M2RkYjcxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VEYXRhQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgogCi0jaW5jbHVk
ZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0Lmgi
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9IZWFwSW5saW5lcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0lkZW50aWZpZXJJbmxp
bmVzLmg+CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKaW5kZXggZmU5NzVm
YjBkNTZiNGFiNTczYzBkMmNjY2NhMDZlYWVjZjU1MWM1Yi4uYjY1MDI2ZWY5NmE4N2EwMDk4ZGE4
ZDg3YjhiYjBmMzkyMDBkMzgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3RvbS5jcHAKQEAgLTMxLDYgKzMx
LDcgQEAKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1c3Rv
bS5jcHAKaW5kZXggZjFiNDQ3ZDgzNGYyODY5Y2ZkNjRhZGM5ZGIzMmJiMWQxN2I4ZDNlZi4uOGU5
Y2I5ZWI5NDYzOTRmNTg5MzgzYmI0NTY4YzJlZGE5NWI5MzMxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9uQ3VzdG9tLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkpTQ1NTQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDU1NUcmFu
c2l0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvci5oIgorI2luY2x1ZGUgIkpTRE9N
Q29udmVydC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCA5YmQ2
NjQ0NjAxNzA1NDk1YTk0ZTdiM2ZhZGYwNDhmM2M3YjA0M2Y3Li5mYzM2YjMzMGUxNWMzYThjOTQ1
Zjc5NTVhNTg1MTdmNWZiMTNkODU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiQWN0aXZlRE9NQ2FsbGJhY2tNaWNyb3Rhc2suaCIKICNpbmNsdWRlICJET01XcmFw
cGVyV29ybGQuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdFRhc2suaCIKKyNpbmNsdWRl
ICJKU0RPTUd1YXJkZWRPYmplY3QuaCIKICNpbmNsdWRlICJKU0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNNaWNyb3Rhc2tDYWxsYmFjay5oIgogI2luY2x1ZGUgIkpT
V29ya2VyR2xvYmFsU2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV29ya2VyR2xvYmFsU2NvcGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKaW5kZXggMGI3MzQ1YWMxMWIzYTRh
ZTZiNmRkMTdmMjk2MjI0ZDBkY2IyNTcyZC4uZGQzZGUyY2VmNzM1MjMzNGQxMmUyOTI5NDBlNmYy
NDNmNmEwNTNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKQEAgLTI2LDEwICsyNiwxMCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGUuaCIKIAorI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29w
ZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTWljcm90YXNrLmg+CiAKLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xldEdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXgg
NzE1MTNhNzI0OTIyM2E5NzJiMGEwYjc1ZjkzMTYwMWE1ZTk4OWEyZC4uODk0MzZlOTNiY2RlMzMy
MjU3ZGE1ZGY1MjRjYjFhODY5MzJlOTdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC0zMSw2ICszMSw3
IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJKU0RPTUdsb2Jh
bE9iamVjdFRhc2suaCIKKyNpbmNsdWRlICJKU0RPTUd1YXJkZWRPYmplY3QuaCIKICNpbmNsdWRl
ICJKU1dvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtsZXRHbG9iYWxTY29wZS5o
IgogI2luY2x1ZGUgIldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcAppbmRleCBhOTQxZmI0ZTI1
MDIxNWJjZDdiNTI2NmEwZjNlZjNhMTc1NGRmNTVkLi41ZWFlMjEyMDQ3MjkwOWVlNWYwMzViNDA2
Nzk4MmVhY2MzODE3YTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRNb2R1bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdE1vZHVsZUxvYWRlci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5j
bHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNj
cmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNb2R1bGVG
ZXRjaEZhaWx1cmVLaW5kLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmNwcAppbmRleCBlMWIxYWYyMGZi
MTFhZTNkZmVlMTkyY2FjOTJlNjJjZGVhNTU3ZGM4Li5hMmU5M2U4ZWRjYTk1ZmEyZGVhNjI4Mzkx
NWNiZWUwOTk1NTBlYjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKQEAgLTM1LDYgKzM1LDcg
QEAKICNpbmNsdWRlICJDU1NVbmljb2RlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVl
TGlzdC5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQ
cm94eS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udFZhcmlhbnRCdWls
ZGVyLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZS5oIgpAQCAtMTI2LDE0ICsxMjcsMTQgQEAgUmVm
PEZvbnRGYWNlPiBGb250RmFjZTo6Y3JlYXRlKENTU0ZvbnRGYWNlJiBmYWNlKQogCiBGb250RmFj
ZTo6Rm9udEZhY2UoQ1NTRm9udFNlbGVjdG9yJiBmb250U2VsZWN0b3IpCiAgICAgOiBtX2JhY2tp
bmcoQ1NTRm9udEZhY2U6OmNyZWF0ZSgmZm9udFNlbGVjdG9yLCBudWxscHRyLCB0aGlzKSkKLSAg
ICAsIG1fbG9hZGVkUHJvbWlzZSgqdGhpcywgJkZvbnRGYWNlOjpsb2FkZWRQcm9taXNlUmVzb2x2
ZSkKKyAgICAsIG1fbG9hZGVkUHJvbWlzZShtYWtlVW5pcXVlUmVmPExvYWRlZFByb21pc2U+KCp0
aGlzLCAmRm9udEZhY2U6OmxvYWRlZFByb21pc2VSZXNvbHZlKSkKIHsKICAgICBtX2JhY2tpbmct
PmFkZENsaWVudCgqdGhpcyk7CiB9CiAKIEZvbnRGYWNlOjpGb250RmFjZShDU1NGb250RmFjZSYg
ZmFjZSkKICAgICA6IG1fYmFja2luZyhmYWNlKQotICAgICwgbV9sb2FkZWRQcm9taXNlKCp0aGlz
LCAmRm9udEZhY2U6OmxvYWRlZFByb21pc2VSZXNvbHZlKQorICAgICwgbV9sb2FkZWRQcm9taXNl
KG1ha2VVbmlxdWVSZWY8TG9hZGVkUHJvbWlzZT4oKnRoaXMsICZGb250RmFjZTo6bG9hZGVkUHJv
bWlzZVJlc29sdmUpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKIH0KQEAg
LTQ2MywxNSArNDY0LDE1IEBAIHZvaWQgRm9udEZhY2U6OmZvbnRTdGF0ZUNoYW5nZWQoQ1NTRm9u
dEZhY2UmIGZhY2UsIENTU0ZvbnRGYWNlOjpTdGF0dXMsIENTU0ZvbnRGCiAgICAgY2FzZSBDU1NG
b250RmFjZTo6U3RhdHVzOjpTdWNjZXNzOgogICAgICAgICAvLyBGSVhNRTogVGhpcyBjaGVjayBz
aG91bGQgbm90IGJlIG5lZWRlZCwgYnV0IGJlY2F1c2UgRm9udEZhY2UncyBhcmUgc29tZXRpbWVz
IGFkb3B0ZWQgYWZ0ZXIgdGhleSBoYXZlIGFscmVhZHkKICAgICAgICAgLy8gZ29uZSB0aHJvdWdo
IGEgbG9hZCBjeWNsZSwgd2UgY2FuIHNvbWV0aW1lcyBjb21lIGJhY2sgdGhyb3VnaCBoZXJlIGFu
ZCB0cnkgdG8gcmVzb2x2ZSB0aGUgcHJvbWlzZSBhZ2Fpbi4gIAotICAgICAgICBpZiAoIW1fbG9h
ZGVkUHJvbWlzZS5pc0Z1bGZpbGxlZCgpKQotICAgICAgICAgICAgbV9sb2FkZWRQcm9taXNlLnJl
c29sdmUoKnRoaXMpOworICAgICAgICBpZiAoIW1fbG9hZGVkUHJvbWlzZS0+aXNGdWxmaWxsZWQo
KSkKKyAgICAgICAgICAgIG1fbG9hZGVkUHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAgICAgICAg
IGRlcmVmKCk7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIENTU0ZvbnRGYWNlOjpTdGF0dXM6
OkZhaWx1cmU6CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIHNob3VsZCBub3QgYmUgbmVl
ZGVkLCBidXQgYmVjYXVzZSBGb250RmFjZSdzIGFyZSBzb21ldGltZXMgYWRvcHRlZCBhZnRlciB0
aGV5IGhhdmUgYWxyZWFkeQogICAgICAgICAvLyBnb25lIHRocm91Z2ggYSBsb2FkIGN5Y2xlLCB3
ZSBjYW4gc29tZXRpbWVzIGNvbWUgYmFjayB0aHJvdWdoIGhlcmUgYW5kIHRyeSB0byByZXNvbHZl
IHRoZSBwcm9taXNlIGFnYWluLiAgCi0gICAgICAgIGlmICghbV9sb2FkZWRQcm9taXNlLmlzRnVs
ZmlsbGVkKCkpCi0gICAgICAgICAgICBtX2xvYWRlZFByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7
IE5ldHdvcmtFcnJvciB9KTsKKyAgICAgICAgaWYgKCFtX2xvYWRlZFByb21pc2UtPmlzRnVsZmls
bGVkKCkpCisgICAgICAgICAgICBtX2xvYWRlZFByb21pc2UtPnJlamVjdChFeGNlcHRpb24geyBO
ZXR3b3JrRXJyb3IgfSk7CiAgICAgICAgIGRlcmVmKCk7CiAgICAgICAgIHJldHVybjsKICAgICBj
YXNlIENTU0ZvbnRGYWNlOjpTdGF0dXM6OlBlbmRpbmc6CkBAIC00ODMsNyArNDg0LDcgQEAgdm9p
ZCBGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwgQ1NTRm9udEZh
Y2U6OlN0YXR1cywgQ1NTRm9udEYKIGF1dG8gRm9udEZhY2U6OmxvYWQoKSAtPiBMb2FkZWRQcm9t
aXNlJgogewogICAgIG1fYmFja2luZy0+bG9hZCgpOwotICAgIHJldHVybiBtX2xvYWRlZFByb21p
c2U7CisgICAgcmV0dXJuIG1fbG9hZGVkUHJvbWlzZS5nZXQoKTsKIH0KIAogRm9udEZhY2UmIEZv
bnRGYWNlOjpsb2FkZWRQcm9taXNlUmVzb2x2ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oCmluZGV4IGYw
NWE3ZWYwODZmOWMzNWFkMTgyZDA1MmViNmQxNzc0Yzc4MTM5MGUuLmRjN2IxYWM2OWJjNTAzMjNi
Nzc2ZTllMWVkODgwMmE0YWMxMWEwZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9G
b250RmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oCkBAIC0yNyw3ICsy
Nyw4IEBACiAKICNpbmNsdWRlICJDU1NGb250RmFjZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
TmFtZXMuaCIKLSNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKKyNpbmNsdWRlICJJRExUeXBl
cy5oIgorI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5o
PgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTM4LDYgKzM5LDggQEAgY2xhc3MgQXJy
YXlCdWZmZXJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3RlbXBsYXRlPHR5cGVuYW1l
IElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNs
YXNzIEZvbnRGYWNlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udEZhY2U+LCBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8Rm9udEZhY2U+LCBwcml2YXRlIENTU0ZvbnRGYWNlOjpDbGllbnQgewog
cHVibGljOgogICAgIHN0cnVjdCBEZXNjcmlwdG9ycyB7CkBAIC03Nyw3ICs4MCw3IEBAIHB1Ymxp
YzoKICAgICBMb2FkU3RhdHVzIHN0YXR1cygpIGNvbnN0OwogCiAgICAgdXNpbmcgTG9hZGVkUHJv
bWlzZSA9IERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s8SURMSW50ZXJmYWNlPEZv
bnRGYWNlPj47Ci0gICAgTG9hZGVkUHJvbWlzZSYgbG9hZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQ
cm9taXNlOyB9CisgICAgTG9hZGVkUHJvbWlzZSYgbG9hZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQ
cm9taXNlLmdldCgpOyB9CiAgICAgTG9hZGVkUHJvbWlzZSYgbG9hZCgpOwogCiAgICAgdm9pZCBh
ZG9wdChDU1NGb250RmFjZSYpOwpAQCAtOTksNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBGb250
RmFjZSYgbG9hZGVkUHJvbWlzZVJlc29sdmUoKTsKIAogICAgIFJlZjxDU1NGb250RmFjZT4gbV9i
YWNraW5nOwotICAgIExvYWRlZFByb21pc2UgbV9sb2FkZWRQcm9taXNlOworICAgIFVuaXF1ZVJl
ZjxMb2FkZWRQcm9taXNlPiBtX2xvYWRlZFByb21pc2U7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRGYWNlU2V0LmNwcAppbmRleCBhMTcwZTAxMmY5YzhmOWQwYTZkMzgzNTAwNjBkZmRkNzQ5MWFi
ZWVhLi5iYTY3ZWI0NmM3NTg1MmEzMmI5MTkzMjkzNzU3MzRlNjNjZGU1ODgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9Gb250RmFjZVNldC5jcHAKQEAgLTI5LDcgKzI5LDkgQEAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNp
bmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZS5oIgogI2luY2x1
ZGUgIkpTRm9udEZhY2VTZXQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpA
QCAtNTUsNyArNTcsNyBAQCBSZWY8Rm9udEZhY2VTZXQ+IEZvbnRGYWNlU2V0OjpjcmVhdGUoRG9j
dW1lbnQmIGRvY3VtZW50LCBDU1NGb250RmFjZVNldCYgYmFja2luZwogRm9udEZhY2VTZXQ6OkZv
bnRGYWNlU2V0KERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVmVjdG9yPFJlZlB0cjxGb250RmFj
ZT4+JiBpbml0aWFsRmFjZXMpCiAgICAgOiBBY3RpdmVET01PYmplY3QoZG9jdW1lbnQpCiAgICAg
LCBtX2JhY2tpbmcoQ1NTRm9udEZhY2VTZXQ6OmNyZWF0ZSgpKQotICAgICwgbV9yZWFkeVByb21p
c2UoKnRoaXMsICZGb250RmFjZVNldDo6cmVhZHlQcm9taXNlUmVzb2x2ZSkKKyAgICAsIG1fcmVh
ZHlQcm9taXNlKG1ha2VVbmlxdWVSZWY8UmVhZHlQcm9taXNlPigqdGhpcywgJkZvbnRGYWNlU2V0
OjpyZWFkeVByb21pc2VSZXNvbHZlKSkKICAgICAsIG1fdGFza1F1ZXVlKFN1c3BlbmRhYmxlVGFz
a1F1ZXVlOjpjcmVhdGUoJmRvY3VtZW50KSkKIHsKICAgICBtX2JhY2tpbmctPmFkZENsaWVudCgq
dGhpcyk7CkBAIC02NiwxNCArNjgsMTQgQEAgRm9udEZhY2VTZXQ6OkZvbnRGYWNlU2V0KERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgVmVjdG9yPFJlZlB0cjxGb250RmFjZT4+JiBpbmkKIEZvbnRG
YWNlU2V0OjpGb250RmFjZVNldChEb2N1bWVudCYgZG9jdW1lbnQsIENTU0ZvbnRGYWNlU2V0JiBi
YWNraW5nKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KGRvY3VtZW50KQogICAgICwgbV9iYWNraW5n
KGJhY2tpbmcpCi0gICAgLCBtX3JlYWR5UHJvbWlzZSgqdGhpcywgJkZvbnRGYWNlU2V0OjpyZWFk
eVByb21pc2VSZXNvbHZlKQorICAgICwgbV9yZWFkeVByb21pc2UobWFrZVVuaXF1ZVJlZjxSZWFk
eVByb21pc2U+KCp0aGlzLCAmRm9udEZhY2VTZXQ6OnJlYWR5UHJvbWlzZVJlc29sdmUpKQogICAg
ICwgbV90YXNrUXVldWUoU3VzcGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZSgmZG9jdW1lbnQpKQog
ewogICAgIGlmIChkb2N1bWVudC5mcmFtZSgpKQogICAgICAgICBtX2lzRmlyc3RMYXlvdXREb25l
ID0gZG9jdW1lbnQuZnJhbWUoKS0+bG9hZGVyKCkuc3RhdGVNYWNoaW5lKCkuZmlyc3RMYXlvdXRE
b25lKCk7CiAKICAgICBpZiAobV9pc0ZpcnN0TGF5b3V0RG9uZSAmJiAhYmFja2luZy5oYXNBY3Rp
dmVGb250RmFjZXMoKSkKLSAgICAgICAgbV9yZWFkeVByb21pc2UucmVzb2x2ZSgqdGhpcyk7Cisg
ICAgICAgIG1fcmVhZHlQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKIAogICAgIG1fYmFja2luZy0+
YWRkQ2xpZW50KCp0aGlzKTsKIH0KQEAgLTk2LDcgKzk4LDcgQEAgUmVmUHRyPEZvbnRGYWNlPiBG
b250RmFjZVNldDo6SXRlcmF0b3I6Om5leHQoKQogfQogCiBGb250RmFjZVNldDo6UGVuZGluZ1By
b21pc2U6OlBlbmRpbmdQcm9taXNlKExvYWRQcm9taXNlJiYgcHJvbWlzZSkKLSAgICA6IHByb21p
c2UoV1RGTW92ZShwcm9taXNlKSkKKyAgICA6IHByb21pc2UobWFrZVVuaXF1ZVJlZjxMb2FkUHJv
bWlzZT4oV1RGTW92ZShwcm9taXNlKSkpCiB7CiB9CiAKQEAgLTE3MCw3ICsxNzIsNyBAQCB2b2lk
IEZvbnRGYWNlU2V0Ojpsb2FkKGNvbnN0IFN0cmluZyYgZm9udCwgY29uc3QgU3RyaW5nJiB0ZXh0
LCBMb2FkUHJvbWlzZSYmIHBybwogICAgIH0KIAogICAgIGlmICghd2FpdGluZykKLSAgICAgICAg
cGVuZGluZ1Byb21pc2UtPnByb21pc2UucmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOwor
ICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS0+cmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+
ZmFjZXMpOwogfQogCiBFeGNlcHRpb25Pcjxib29sPiBGb250RmFjZVNldDo6Y2hlY2soY29uc3Qg
U3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluZyYgdGV4dCkKQEAgLTIwMywxOCArMjA1LDE4IEBA
IHZvaWQgRm9udEZhY2VTZXQ6OnN0YXJ0ZWRMb2FkaW5nKCkKIHZvaWQgRm9udEZhY2VTZXQ6OmRp
ZEZpcnN0TGF5b3V0KCkKIHsKICAgICBtX2lzRmlyc3RMYXlvdXREb25lID0gdHJ1ZTsKLSAgICBp
ZiAoIW1fYmFja2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkgJiYgIW1fcmVhZHlQcm9taXNlLmlz
RnVsZmlsbGVkKCkpIHsKKyAgICBpZiAoIW1fYmFja2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkg
JiYgIW1fcmVhZHlQcm9taXNlLT5pc0Z1bGZpbGxlZCgpKSB7CiAgICAgICAgIG1fdGFza1F1ZXVl
LT5lbnF1ZXVlVGFzayhbdGhpc10gewotICAgICAgICAgICAgbV9yZWFkeVByb21pc2UucmVzb2x2
ZSgqdGhpcyk7CisgICAgICAgICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAg
ICAgICAgIH0pOwogICAgIH0KIH0KIAogdm9pZCBGb250RmFjZVNldDo6Y29tcGxldGVkTG9hZGlu
ZygpCiB7Ci0gICAgaWYgKG1faXNGaXJzdExheW91dERvbmUgJiYgIW1fcmVhZHlQcm9taXNlLmlz
RnVsZmlsbGVkKCkpIHsKKyAgICBpZiAobV9pc0ZpcnN0TGF5b3V0RG9uZSAmJiAhbV9yZWFkeVBy
b21pc2UtPmlzRnVsZmlsbGVkKCkpIHsKICAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNr
KFt0aGlzXSB7Ci0gICAgICAgICAgICBtX3JlYWR5UHJvbWlzZS5yZXNvbHZlKCp0aGlzKTsKKyAg
ICAgICAgICAgIG1fcmVhZHlQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKICAgICAgICAgfSk7CiAg
ICAgfQogfQpAQCAtMjM0LDEyICsyMzYsMTIgQEAgdm9pZCBGb250RmFjZVNldDo6ZmFjZUZpbmlz
aGVkKENTU0ZvbnRGYWNlJiBmYWNlLCBDU1NGb250RmFjZTo6U3RhdHVzIG5ld1N0YXR1cykKICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChuZXdTdGF0dXMgPT0gQ1NT
Rm9udEZhY2U6OlN0YXR1czo6U3VjY2VzcykgewogICAgICAgICAgICAgICAgIGlmIChwZW5kaW5n
UHJvbWlzZS0+aGFzT25lUmVmKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgcGVuZGluZ1Byb21p
c2UtPnByb21pc2UucmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOworICAgICAgICAgICAg
ICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS0+cmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+
ZmFjZXMpOwogICAgICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+aGFzUmVhY2hlZFRl
cm1pbmFsU3RhdGUgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUKG5ld1N0YXR1cyA9PSBDU1NGb250RmFjZTo6U3Rh
dHVzOjpGYWlsdXJlKTsKLSAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS5y
ZWplY3QoTmV0d29ya0Vycm9yKTsKKyAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJv
bWlzZS0+cmVqZWN0KE5ldHdvcmtFcnJvcik7CiAgICAgICAgICAgICAgICAgcGVuZGluZ1Byb21p
c2UtPmhhc1JlYWNoZWRUZXJtaW5hbFN0YXRlID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAppbmRleCBjNTdiMjExNjVkNzMwYjcxYTAzZDBh
YTgxNzlkOTA2MGZkYmIzODZlLi44ZjQ4MzVmNTNiZTM5MWIyZTNhNjA3ODI4ZmU3NDE2Nzk1YzMw
Y2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaApAQCAtMjcsMTMgKzI3LDE0IEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNldC5oIgot
I2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0j
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJTdXNwZW5kYWJsZVRh
c2tRdWV1ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElE
TFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5
cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNsYXNzIERP
TUV4Y2VwdGlvbjsKIAogY2xhc3MgRm9udEZhY2VTZXQgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxGb250RmFjZVNldD4sIHByaXZhdGUgQ1NTRm9udEZhY2VTZXRDbGllbnQsIHB1YmxpYyBFdmVu
dFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwcml2YXRlICBBY3RpdmVET01PYmplY3QgewpAQCAtNTcs
NyArNTgsNyBAQCBwdWJsaWM6CiAgICAgTG9hZFN0YXR1cyBzdGF0dXMoKSBjb25zdDsKIAogICAg
IHVzaW5nIFJlYWR5UHJvbWlzZSA9IERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s8
SURMSW50ZXJmYWNlPEZvbnRGYWNlU2V0Pj47Ci0gICAgUmVhZHlQcm9taXNlJiByZWFkeSgpIHsg
cmV0dXJuIG1fcmVhZHlQcm9taXNlOyB9CisgICAgUmVhZHlQcm9taXNlJiByZWFkeSgpIHsgcmV0
dXJuIG1fcmVhZHlQcm9taXNlLmdldCgpOyB9CiAgICAgdm9pZCBkaWRGaXJzdExheW91dCgpOwog
CiAgICAgQ1NTRm9udEZhY2VTZXQmIGJhY2tpbmcoKSB7IHJldHVybiBtX2JhY2tpbmc7IH0KQEAg
LTg5LDcgKzkwLDcgQEAgcHJpdmF0ZToKIAogICAgIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPFJl
ZjxGb250RmFjZT4+IGZhY2VzOwotICAgICAgICBMb2FkUHJvbWlzZSBwcm9taXNlOworICAgICAg
ICBVbmlxdWVSZWY8TG9hZFByb21pc2U+IHByb21pc2U7CiAgICAgICAgIGJvb2wgaGFzUmVhY2hl
ZFRlcm1pbmFsU3RhdGUgeyBmYWxzZSB9OwogICAgIH07CiAKQEAgLTExNiw3ICsxMTcsNyBAQCBw
cml2YXRlOgogCiAgICAgUmVmPENTU0ZvbnRGYWNlU2V0PiBtX2JhY2tpbmc7CiAgICAgSGFzaE1h
cDxSZWZQdHI8Rm9udEZhY2U+LCBWZWN0b3I8UmVmPFBlbmRpbmdQcm9taXNlPj4+IG1fcGVuZGlu
Z1Byb21pc2VzOwotICAgIFJlYWR5UHJvbWlzZSBtX3JlYWR5UHJvbWlzZTsKKyAgICBVbmlxdWVS
ZWY8UmVhZHlQcm9taXNlPiBtX3JlYWR5UHJvbWlzZTsKICAgICBVbmlxdWVSZWY8U3VzcGVuZGFi
bGVUYXNrUXVldWU+IG1fdGFza1F1ZXVlOwogICAgIGJvb2wgbV9pc0ZpcnN0TGF5b3V0RG9uZSB7
IHRydWUgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVu
dFJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnku
Y3BwCmluZGV4IDc2OWIxNmJiNGZiZTVlNzk1MDNmNjQ1MGU4ZjI3MTFhZWY1NzJiNTYuLjk0NTgy
ZWY0M2Y2ZjNkNzQyYjcwMDg3Mjk2OWUzZjkzOTVjZGQyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJK
U0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5o
IgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKaW5kZXggNjllMDZlN2IwNTQwMDI2
YzRiMTBjMjFhMTdiYjljNmE5YmUzMmYyMy4uMTVjMDU2ZDc2NDMwMTc1OWY2YmNlMGU1YmY5Njcy
NWYwYTkxZWZhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0
aW9uT3JNb3Rpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJEZXZp
Y2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlv
bkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2
ZW50LmgKaW5kZXggMWJhZTY4MWYzOGY5ZDg5ZTdiMDdkN2EyNDRiZjZmNzM1N2Y4NmY4OC4uN2Ez
MGYzZDJjMTc0Mjk1NTExYTM1OGUyNjU0ODgwNGNlZTIzMjAwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaApAQCAtMjYsMTIg
KzI2LDE0IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uT3JN
b3Rpb25QZXJtaXNzaW9uU3RhdGUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5o
IgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
RG9jdW1lbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VE
ZWZlcnJlZDsKKwogY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50IHsKIHB1Ymxp
YzoKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCmluZGV4IDEyMTY2OGJiODhhYWFkZDk2ZDBm
OWRlMjI1Y2ExOWUyZjE3YjE2MDIuLjAxMzJlNjgxMjZlZDQzMjk2YzgzMzEwMGRhNWU5NTM3ODlk
NTc2NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlICJKU0V2ZW50VGFyZ2V0Q3VzdG9tLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2
ZW50LmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvQ2FsbEZyYW1lLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL01vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKaW5kZXgg
ZDZiZDFkYTM2YTY0NGI2ZDBhYzE0MjhiMzM3MWVmYzA2Mjc4MjJiYy4uZDE5MTFiMDg5NjQwMzA2
NjMzYzkzMjNlMzA0YzFiYzdlMDUxYzk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L01vdXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCkBAIC0z
MSw2ICszMSwxMSBAQAogI2luY2x1ZGUgIlBsYXRmb3JtVG91Y2hFdmVudElPUy5oIgogI2VuZGlm
CiAKK25hbWVzcGFjZSBKU0MgeworY2xhc3MgRXhlY1N0YXRlOworY2xhc3MgSlNWYWx1ZTsKK30K
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRhVHJhbnNmZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0N1c3RvbVBhaW50Q2FudmFzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0N1c3RvbVBhaW50Q2FudmFzLmgKaW5kZXggMjFkMmQwY2E3ODlhNTJmMzBhMmQ5NGUx
OTJjMjg5NDIzNDBhODViNi4uNzY1NmM2YzdiOTkwMzczNDhhMmQ0ZDZkY2FiOGI4ZjkwYTI4YThk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0b21QYWludENhbnZhcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFpbnRDYW52YXMuaApAQCAtMzMsNyArMzMs
NiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIK
ICNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ltYWdlQml0bWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3Bw
CmluZGV4IDZiMGM3YTNkNjdjZGM3YTViYjVkZTI5ODRjZDJiYTU1ZGYzMDI3MDcuLjIwNzBkMGVi
NzEwNWExMzNjN2ZlODgwYWQ0NzY0YThkZDg1YWUzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VC
aXRtYXAuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNp
bmNsdWRlICJJbWFnZURhdGEuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0ltYWdlQml0bWFwLmgiCiAjaW5jbHVk
ZSAiTGF5b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW1hZ2VCaXRtYXAuaAppbmRleCA5YzM3MjBmZDEwMGZmZGFjMjRhZTU4NTlmMzliMzExOGI4ODMw
NGIyLi45YTFlZWZmZDdlMGU5MmFkMjgzMjhlODEwYmM1MDI1NzFkZWMzZTk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9JbWFnZUJpdG1hcC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0j
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgog
I2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKQEAgLTQ1LDYgKzQ1LDggQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNz
IFR5cGVkT01DU1NJbWFnZVZhbHVlOwogc3RydWN0IEltYWdlQml0bWFwT3B0aW9uczsKIAordGVt
cGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFz
cyBJbWFnZUJpdG1hcCBmaW5hbCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZD
b3VudGVkPEltYWdlQml0bWFwPiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUJp
dG1hcCk7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVl
bkNhbnZhcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5jcHAKaW5k
ZXggMWQ3MmE3NWFhODM4NTRmMWI2ZWZjODM1NDYzMDRmNjZhNzEwMTc4Ny4uNmU5MzljYjVhZWVl
YWM0OGEyM2E4Y2ZlOGJlMjU5YzY1Mjk4ZDYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9PZmZzY3JlZW5DYW52YXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2Ny
ZWVuQ2FudmFzLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCisjaW5jbHVkZSAiSlNET01Q
cm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9PZmZzY3Jl
ZW5DYW52YXMuaAppbmRleCA1N2E2ZjM3ZjliNmNmMDdiNDAyNjU5ZjU4ZjY2ZGYwOTdhMTI5YmZm
Li5hZjc1ZmNjZTRlMmExYzVkY2EzZjY0YzE1NTViNjIxMGRlYjhlZWFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmgKQEAgLTI3LDEwICsyNywxMSBAQAogCiAjaW5jbHVkZSAi
QWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiQ2FudmFzQmFzZS5oIgorI2luY2x1ZGUgIkNv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAi
SW50U2l6ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
U2NyaXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXgg
M2I4NTBmY2MxOTNiNDc5MDhjZjQ2YWFlYTc1NDhkYmY5M2VmZjBmMy4uYTgzNDJlMWE0YmUzM2Iy
ZWE5ZmEzZmQ0OTVmOTZkMDY1ODc2ODYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdJ
bWFnZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaAppbmRleCA0ODdlY2U2YTgyMTA2
YzMzYjFkYWI5NGY5MWYyOGU5NmVmMWI2NjM4Li4xNjIyOTkyNzcyZWZjNmViZjNiNTJiOWJkOWQ1
OTRiYTJkOWMzZmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaApAQCAtMjQsMTMg
KzI0LDEzIEBACiAKICNpbmNsdWRlICJDYWNoZWRJbWFnZUNsaWVudC5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlSGFuZGxlLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9tU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVm
ZXJyZWRQcm9taXNlOwogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3Mg
UmVuZGVySW1hZ2VSZXNvdXJjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBhYjk2
ODU2MTMyNDdmMjkwYmY3ODgzZTVkNWZjN2FmZmFkOGRhYWFjLi5kZjQ3ZDhlMmU5MTdjYTViMDIx
N2Y5ODRhYWNhM2NkNGQ4YjZjODgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC02
OSw2ICs2OSw3IEBACiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKICNpbmNsdWRlICJIaXN0b3J5
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0Jhc2UuaCIKICNpbmNs
dWRlICJKU0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3IuaAppbmRleCAwNTAxNDJkNzMxZjNkYjFiMTQ5NTIxYTYwMDNkYjI3N2I2M2RmYzYzLi4z
OGRhYmE3ZTVkNTZiMmU5NWNlZThiNjM2MDJkYTFiN2Y3YTAzZTRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmgKQEAgLTIwLDcgKzIwLDYgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiRE9N
V2luZG93UHJvcGVydHkuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIk5hdmlnYXRvckJhc2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNp
bmNsdWRlICJTaGFyZURhdGEuaCIKQEAgLTI5LDYgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBET01NaW1lVHlwZUFycmF5Owog
Y2xhc3MgRE9NUGx1Z2luQXJyYXk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbnNvbGVDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNs
aWVudC5jcHAKaW5kZXggNmYyYjEzOGYxODBiMDYxM2UxYzgxNGJkZjAyMzc3N2E1ZTc3MGQ0Mi4u
Y2MwYzIxZjEwMTZhOTcwMmI5NGYwZmJiYWE0MDcyMDFjYzQyNjhjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAKQEAgLTY3LDYgKzY3LDcgQEAKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRBcmd1bWVudHMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5saW5l
cy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgRU5BQkxFKFdFQkdM
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3VzdG9tUGFp
bnRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DdXN0b21QYWlu
dEltYWdlLmNwcAppbmRleCA2ZjdkMDlhMzdlZjI1OTM1NGY2MmRlNDExNGJlYmMyYzMxMmNhNWY0
Li5mZDUxYmM0NTExOTA1NWRlODk3NTk0NjQ1YTBiZTVkNGU3ZGJkZjkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DdXN0b21QYWludEltYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DdXN0b21QYWludEltYWdlLmNwcApA
QCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCiAjaW5jbHVkZSAiSW1h
Z2VCdWZmZXIuaCIKICNpbmNsdWRlICJKU0NTU1BhaW50Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJK
U0RPTUV4Y2VwdGlvbkhhbmRsaW5nLmgiCiAjaW5jbHVkZSAiUGFpbnRSZW5kZXJpbmdDb250ZXh0
MkQuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
eU1hcC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDU4NDIwNmY1MTY5
Y2M5ZDQxMjE2MGYwYzEzYjMyZmY5ZTI2ODc0YWQuLjE4MDc4NzBiMTJkZDYzZDVkNDE0YTg2NGRm
NzMwMGFkYzQzM2I0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTEw
Nyw2ICsxMDcsNyBAQAogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRl
ICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgorI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNJbWFnZURhdGEuaCIKICNpbmNsdWRl
ICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCkBAIC00
Nzg3LDcgKzQ3ODgsNyBAQCB2b2lkIEludGVybmFsczo6b2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2so
TWVkaWFTdHJlYW1UcmFjayYgdHJhY2spCiAKIHZvaWQgSW50ZXJuYWxzOjpncmFiTmV4dE1lZGlh
U3RyZWFtVHJhY2tGcmFtZShUcmFja0ZyYW1lUHJvbWlzZSYmIHByb21pc2UpCiB7Ci0gICAgbV9u
ZXh0VHJhY2tGcmFtZVByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOworICAgIG1fbmV4dFRyYWNr
RnJhbWVQcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPFRyYWNrRnJhbWVQcm9taXNlPihwcm9taXNl
KTsKIH0KIAogdm9pZCBJbnRlcm5hbHM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxl
JiBzYW1wbGUpCkBAIC00ODA5LDcgKzQ4MTAsNyBAQCB2b2lkIEludGVybmFsczo6dmlkZW9TYW1w
bGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKICAgICAgICAgbV9uZXh0VHJhY2tGcmFt
ZVByb21pc2UtPnJlc29sdmUoaW1hZ2VEYXRhLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLnJlbGVhc2VO
b25OdWxsKCkpOwogICAgIGVsc2UKICAgICAgICAgbV9uZXh0VHJhY2tGcmFtZVByb21pc2UtPnJl
amVjdChpbWFnZURhdGEuZXhjZXB0aW9uKCkuY29kZSgpKTsKLSAgICBtX25leHRUcmFja0ZyYW1l
UHJvbWlzZSA9IFdURjo6bnVsbG9wdDsKKyAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IG51
bGxwdHI7CiB9CiAKIHZvaWQgSW50ZXJuYWxzOjpkZWxheU1lZGlhU3RyZWFtVHJhY2tTYW1wbGVz
KE1lZGlhU3RyZWFtVHJhY2smIHRyYWNrLCBmbG9hdCBkZWxheSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCmluZGV4IDU4NzBkZTQ2MzIyMGZlOTgyOGVmNGJiMTc2YjZlMGY5NzIzMTBlODAu
LjgxNjU5NWM1ZjYzOWYwOTRjMGNhNmQ2ZWUzY2NjNzA0ZGE3YzNkZTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkNvb2tpZS5oIgog
I2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiSEVWQ1V0aWxpdGllcy5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNp
bmNsdWRlICJPcmllbnRhdGlvbk5vdGlmaWVyLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVDbGll
bnQuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCkBAIC05Niw4ICs5NiwxMCBA
QCBjbGFzcyBTdHJpbmdDYWxsYmFjazsKIGNsYXNzIFN0eWxlU2hlZXQ7CiBjbGFzcyBUaW1lUmFu
Z2VzOwogY2xhc3MgVHlwZUNvbnZlcnNpb25zOworY2xhc3MgVW5zdXNwZW5kYWJsZUFjdGl2ZURP
TU9iamVjdDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4
dDsKK2NsYXNzIFdpbmRvd1Byb3h5OwogY2xhc3MgWE1MSHR0cFJlcXVlc3Q7CiAKICNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCkBAIC0xMDgsNyArMTEwLDcgQEAgY2xhc3MgVGV4dFRyYWNrQ3VlR2Vu
ZXJpYzsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiAjZW5kaWYKIAotY2xhc3MgVW5zdXNwZW5kYWJs
ZUFjdGl2ZURPTU9iamVjdDsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVBy
b21pc2VEZWZlcnJlZDsKIAogY2xhc3MgSW50ZXJuYWxzIGZpbmFsIDogcHVibGljIFJlZkNvdW50
ZWQ8SW50ZXJuYWxzPiwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcgogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCkBAIC04OTgsNyArOTAwLDcgQEAgcHJpdmF0ZToKICAgICB1bnNp
Z25lZCBsb25nIG1fdHJhY2tWaWRlb1NhbXBsZUNvdW50IHsgMCB9OwogICAgIHVuc2lnbmVkIGxv
bmcgbV90cmFja0F1ZGlvU2FtcGxlQ291bnQgeyAwIH07CiAgICAgUmVmUHRyPE1lZGlhU3RyZWFt
VHJhY2s+IG1fdHJhY2s7Ci0gICAgT3B0aW9uYWw8VHJhY2tGcmFtZVByb21pc2U+IG1fbmV4dFRy
YWNrRnJhbWVQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxUcmFja0ZyYW1lUHJvbWlzZT4g
bV9uZXh0VHJhY2tGcmFtZVByb21pc2U7CiAjZW5kaWYKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJ
bnNwZWN0b3JTdHViRnJvbnRlbmQ+IG1faW5zcGVjdG9yRnJvbnRlbmQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5oCmluZGV4IDg5Mzk1NzQ0Yjk4
N2QyMzY0MzRiZjUxMmNjNzEzMzg3MjdiYmNmNjEuLjkzNDhhMGNjMWIyZTViMzI4YjExYjUxMTQ5
ODM1OGVjODAxM2MyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2Vydmlj
ZVdvcmtlckludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdv
cmtlckludGVybmFscy5oCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklE
TFR5cGVzLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlcklkZW50aWZpZXIuaCIKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC0zNyw2ICszNyw4IEBAIGNsYXNzIEZldGNoRXZlbnQ7
CiBjbGFzcyBGZXRjaFJlc3BvbnNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAor
dGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBj
bGFzcyBXRUJDT1JFX1RFU1RTVVBQT1JUX0VYUE9SVCBTZXJ2aWNlV29ya2VySW50ZXJuYWxzIDog
cHVibGljIFJlZkNvdW50ZWQ8U2VydmljZVdvcmtlckludGVybmFscz4gewogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckludGVybmFscz4gY3JlYXRlKFNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyIGlkZW50aWZpZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VydmljZVdvcmtl
ckludGVybmFscyB7IGlkZW50aWZpZXIgfSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvU2VydmljZVdvcmtlckludGVybmFscy5tbQppbmRleCAwZDZkMDFkNTUwNWE3NDg0NTI2NmYw
MGNjNzZjZGMyMjkyOWJhNTBhLi5mZTliMWQxYjMxY2ZhMmZiZDk5OTBhYzE1Y2RmYmNkMWY1NTky
NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRl
cm5hbHMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLm1tCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0xhdW5jaFNl
cnZpY2VzU1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRl
eCA3MjExZWI2ZmNiNTRmM2Y0NTcyNmNlYTM2NzMyMTJhODY1ODM3Y2M1Li42ZDgwN2ViZDIyYWQw
NmQxM2QzNGNiYWQ1MjI2NWM4ZjAxZjE2N2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0yOCw2
ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKKyNpbmNsdWRlICJET01Q
cm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50Lmgi
CiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggNzVlYTk1MzIxOTBm
MGM2NmM2NjBiYmU5YjI1ZDRiY2Q3YzkxZDljMy4uMmUwZDlkMDRkNzM2ZTJiNTE5NzFjZTg1M2Nl
NWE3YzQyZjY1YzJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC0yOCw5ICsyOCw5IEBACiAjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5j
bHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNs
dWRlICJHZW5lcmljRXZlbnRRdWV1ZS5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVk
ZSAiU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiU1dTZXJ2ZXIuaCIKICNpbmNsdWRl
ICJTZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgiCkBAIC00OCw2ICs0OCw4IEBAIGNsYXNzIFNlcnZp
Y2VXb3JrZXI7CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSA6IHVpbnQ4
X3Q7CiBlbnVtIGNsYXNzIFdvcmtlclR5cGU7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+
IGNsYXNzIERPTVByb21pc2VQcm94eTsKKwogY2xhc3MgU2VydmljZVdvcmtlckNvbnRhaW5lciBm
aW5hbCA6IHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0LCBwdWJsaWMgU2VydmljZVdvcmtlckpvYkNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2VydmljZVdvcmtlckNvbnRhaW5lcik7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChTZXJ2aWNlV29ya2VyQ29udGFpbmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAppbmRleCA3MTk2NWZkOTJiYjZjZGE2
MDg3YTNjYWQwYTVjODczOTBlZDUxNzk0Li5jNmQyYTI4ZDI4Y2Q3ZWJjZmIxNDUwNjI1OGMzYzdh
ZWZkMjk1YTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJKb2IuY3BwCkBAIC01Myw2ICs1MywxMSBAQCBTZXJ2aWNlV29ya2VySm9iOjp+
U2VydmljZVdvcmtlckpvYigpCiAgICAgQVNTRVJUKG1fY3JlYXRpb25UaHJlYWQucHRyKCkgPT0g
JlRocmVhZDo6Y3VycmVudCgpKTsKIH0KIAorUmVmUHRyPERlZmVycmVkUHJvbWlzZT4gU2Vydmlj
ZVdvcmtlckpvYjo6dGFrZVByb21pc2UoKQoreworICAgIHJldHVybiBXVEZNb3ZlKG1fcHJvbWlz
ZSk7Cit9CisKIHZvaWQgU2VydmljZVdvcmtlckpvYjo6ZmFpbGVkV2l0aEV4Y2VwdGlvbihjb25z
dCBFeGNlcHRpb24mIGV4Y2VwdGlvbikKIHsKICAgICBBU1NFUlQobV9jcmVhdGlvblRocmVhZC5w
dHIoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmgKaW5kZXggYjU1YWI5NThlODlkYTY0NjhjY2Rh
ODA5MWI4Nzk0ZmFmODFiNjkxZC4uN2RiYjdkM2JhY2UyMGUzY2FlZDc2MjYxOWU4ODRmY2Y1ZDA4
NzRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJKb2IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckpvYi5oCkBAIC0yNyw3ICsyNyw2IEBACiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlJlc291cmNl
UmVzcG9uc2UuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlckpvYkRhdGEuaCIKQEAgLTYzLDcgKzYyLDcgQEAgcHVibGljOgogCiAg
ICAgY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmIGRhdGEoKSBjb25zdCB7IHJldHVybiBtX2pv
YkRhdGE7IH0KICAgICBib29sIGhhc1Byb21pc2UoKSBjb25zdCB7IHJldHVybiAhIW1fcHJvbWlz
ZTsgfQotICAgIFJlZlB0cjxEZWZlcnJlZFByb21pc2U+IHRha2VQcm9taXNlKCkgeyByZXR1cm4g
V1RGTW92ZShtX3Byb21pc2UpOyB9CisgICAgUmVmUHRyPERlZmVycmVkUHJvbWlzZT4gdGFrZVBy
b21pc2UoKTsKIAogICAgIHZvaWQgZmV0Y2hTY3JpcHRXaXRoQ29udGV4dChTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgRmV0Y2hPcHRpb25zOjpDYWNoZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNw
cAppbmRleCBlMTkwMzA3OGJhM2ZmYjY4MzEzZjkxOTg0OTJmOTBlY2RmNzg1NGQyLi40ZDNiYzZm
NjRlY2RlZjg2MWRmYzE5OWM0ZjJjYWUzOTM2NmMzMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24u
Y3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJF
dmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2Vy
LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckNvbnRhaW5lci5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmgKaW5kZXggMDEyYTc3ZDQ2NTlmYjVkMmZjMDQ5MzQwZmQwNTIwNGIwN2JhY2NhMS4uMDUyNjY1
YzY4ODhmOTNlMTcxOGQwZmU3OThmOWQ1ZGJmYTMxZDg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5o
CkBAIC0yOSwxMyArMjksMTMgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJTV0NsaWVudENvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiBjbGFzcyBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGUuY3BwCmluZGV4IDY1OGEzOTI3ZTk4Mzg4ODNmOGEwNzVmMDYzOTkwNDM3YWRkOTdkM2UuLjI2
YjlhZjljYmY3YjRmY2EyMjA1YjhiNzk4N2MyODE4NTExMzg3MGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTMxLDgg
KzMxLDcgQEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkpTQ1NTUGFpbnRDYWxsYmFjay5oIgotI2luY2x1ZGUgIkpTRE9NQ29udmVydENh
bGxiYWNrcy5oIgotI2luY2x1ZGUgIkpTRE9NQ29udmVydFNlcXVlbmNlcy5oIgorI2luY2x1ZGUg
IkpTRE9NQ29udmVydC5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlIDx3dGYv
SXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi9TZXRGb3JTY29wZS5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380204</attachid>
            <date>2019-10-04 02:23:56 -0700</date>
            <delta_ts>2019-10-04 09:49:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202570-20191004022355.patch</filename>
            <type>text/plain</type>
            <size>97783</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ1OGVkYTg5NDg4NmIw
OTQ1NWRmY2Y3NDU2N2U1OTA1ZThmNGM0Ni4uODJmZDVhMzhiYmQwYzc4MTg3OWZkMjdmOGFlZGVm
ZGY2ZjMwOWJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMCBAQAorMjAxOS0xMC0wNCAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBz
b21lIGluY2x1ZGVzIHRvIG1ha2UgdGhlIGJ1aWxkIGEgYml0IGZhc3RlcjogRE9NUHJvbWlzZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNTcwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBqdXN0IHJlb3JnYW5pemluZy4KKworICAgICAgICBBcHBseSBzb21lIHByb2ZpbGUtZ3Vp
ZGVkIG9wdGltaXphdGlvbnMgdG8gb3VyIGhlYWRlcnMuCisKKyAgICAgICAgR2V0IEpTRE9NUHJv
bWlzZURlZmVycmVkLmggYW5kIERPTVByb21pc2VQcm94eS5oIG91dCBvZiBXZWJDb3JlIGhlYWRl
cnMuCisgICAgICAgIE9uZSByZW1haW5zIChGZXRjaEJvZHlDb25zdW1lci5oKTsgSSBsZWF2ZSBp
dCBhcyBhbiBleGVyY2lzZSB0byB0aGUgcmVhZGVyLgorICAgICAgICBJbiBteSB0ZXN0aW5nLCB0
aGlzIGlzIHdvcnRoIGEgcmVsaWFibGUgNS02JSBvbiB0aGUgV2ViQ29yZSBCdWlsZCBCZW5jaG1h
cmsuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuaDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5cy5jcHA6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDoK
KyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHA6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDoKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0RPTVdpbmRvd0ZldGNoLmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3Bw
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Lmg6CisgICAgICAgICogTW9kdWxl
cy9mZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5j
cHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5o
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBSZWNlaXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyQmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1
ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
TWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmNwcDoKKyAg
ICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICog
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwOgorICAgICAgICAqIE1v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvci5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tl
eUNyZWRlbnRpYWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNl
cnZlVmFyaWFibGVMaWZldGltZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNM
L1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmdwdS9XZWJHUFUuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJH
UFVCdWZmZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZp
Z2F0b3JXZWJWUi5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5o
OgorICAgICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYnZyL1ZSRGlzcGxheS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3Bw
OgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NUHJvbWlzZURlZmVycmVkLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MVGVt
cGxhdGVFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0
YUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJj
ZUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20u
Y3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHA6CisgICAgICAgICogY3NzL0Zv
bnRGYWNlLmNwcDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvRm9u
dEZhY2VTZXQuY3BwOgorICAgICAgICAqIGNzcy9Gb250RmFjZVNldC5oOgorICAgICAgICAqIGRv
bS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uRXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgICog
ZG9tL01vdXNlRXZlbnQuaDoKKyAgICAgICAgKiBodG1sL0N1c3RvbVBhaW50Q2FudmFzLmg6Cisg
ICAgICAgICogaHRtbC9JbWFnZUJpdG1hcC5jcHA6CisgICAgICAgICogaHRtbC9JbWFnZUJpdG1h
cC5oOgorICAgICAgICAqIGh0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcDoKKyAgICAgICAgKiBodG1s
L09mZnNjcmVlbkNhbnZhcy5oOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6Cisg
ICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cu
Y3BwOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvQ3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
Y3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9T
ZXJ2aWNlV29ya2VySW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLm1tOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmg6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6Cisg
ICAgICAgICogd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorCiAyMDE5LTEw
LTA0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFNo
YWRvdyBQYXJ0c10gU3VwcG9ydCAnZXhwb3J0cGFydHMnIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKaW5kZXggMGY3ZTNiYTJhMjMzNWU5
MGY3N2ExZGZhNjljNjY1NzRkZjU0M2RkYy4uMDdiMzY5NGJiM2NkZTIwNDY3OGNiZGQ1ZDg0YWNj
NTllN2JlYzFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRs
ZXIuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnQuaCIK
ICNpbmNsdWRlICJKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oIgogI2luY2x1ZGUgIkpTQXBwbGVQ
YXlSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiTGlua0lj
b25Db2xsZWN0b3IuaCIKICNpbmNsdWRlICJNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKQEAgLTU2LDYgKzU3LDcgQEAKICNpbmNsdWRlICJQYXltZW50UmVzcG9u
c2UuaCIKICNpbmNsdWRlICJQYXltZW50VmFsaWRhdGlvbkVycm9ycy5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPTk9iamVjdC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCA1NTA4YjM3OGNlZjg4ODM2
NjY3YjVkZTljZDk2ZjQyNmM4OTM3OWVhLi45NjYwMmVkMmU1YmVjYWExNTU2YTVhMWY0OWFiN2Zl
YjNjMDgxOTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNs
dWRlICJDRE0uaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgorI2luY2x1ZGUgIkRPTVByb21p
c2VQcm94eS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTYzLDYgKzY0LDcgQEAgTWVkaWFLZXlTZXNzaW9u
OjpNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV2Vha1B0
cjxNZWRpYUsKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAgICAsIG1fa2V5cyhX
VEZNb3ZlKGtleXMpKQogICAgICwgbV9leHBpcmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCkpCisgICAgLCBtX2Nsb3NlZFByb21pc2UobWFrZVVuaXF1ZVJlZjxD
bG9zZWRQcm9taXNlPigpKQogICAgICwgbV9rZXlTdGF0dXNlcyhNZWRpYUtleVN0YXR1c01hcDo6
Y3JlYXRlKCp0aGlzKSkKICAgICAsIG1fdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKHVzZURpc3Rp
bmN0aXZlSWRlbnRpZmllcikKICAgICAsIG1fc2Vzc2lvblR5cGUoc2Vzc2lvblR5cGUpCkBAIC03
MDksNyArNzExLDcgQEAgdm9pZCBNZWRpYUtleVNlc3Npb246OnNlc3Npb25DbG9zZWQoKQogCiAg
ICAgLy8gNS4gTGV0IHByb21pc2UgYmUgdGhlIGNsb3NlZCBhdHRyaWJ1dGUgb2YgdGhlIHNlc3Np
b24uCiAgICAgLy8gNi4gUmVzb2x2ZSBwcm9taXNlLgotICAgIG1fY2xvc2VkUHJvbWlzZS5yZXNv
bHZlKCk7CisgICAgbV9jbG9zZWRQcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKIFN0cmluZyBNZWRp
YUtleVNlc3Npb246Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmgKaW5kZXggOTViYWYzNTQ4ZDc5Nzg0ZWEyZDUxYWE0ODQ5ZjEwZDBmZWEyYzk4MC4uODIzODQ0
ZmU0MmY0YjllYmEyOWUyNjUwNDczYWVlNDFlNzMxODExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0z
MiwxMCArMzIsMTAgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUg
IkNETUluc3RhbmNlU2Vzc2lvbi5oIgotI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2lu
Y2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKICNp
bmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNs
dWRlICJNZWRpYUtleU1lc3NhZ2VUeXBlLmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlw
ZS5oIgogI2luY2x1ZGUgIk1lZGlhS2V5U3RhdHVzLmgiCkBAIC00OCwxMCArNDgsMTMgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCdWZmZXJTb3VyY2U7CiBjbGFzcyBDRE07CitjbGFz
cyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBNZWRpYUtleVN0YXR1c01hcDsKIGNsYXNzIE1lZGlh
S2V5czsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZVByb3h5OworCiBjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRo
SW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIENETUluc3RhbmNlU2Vz
c2lvbkNsaWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChNZWRpYUtleVNlc3Npb24p
OwogcHVibGljOgpAQCAtNzQsNyArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmUoUmVm
PERlZmVycmVkUHJvbWlzZT4mJik7CiAKICAgICB1c2luZyBDbG9zZWRQcm9taXNlID0gRE9NUHJv
bWlzZVByb3h5PElETFZvaWQ+OwotICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJu
IG1fY2xvc2VkUHJvbWlzZTsgfQorICAgIENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJu
IG1fY2xvc2VkUHJvbWlzZS5nZXQoKTsgfQogCiAgICAgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxS
ZWY8U2hhcmVkQnVmZmVyPiwgTWVkaWFLZXlTdGF0dXM+PiYgc3RhdHVzZXMoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXR1c2VzOyB9CiAKQEAgLTEwNSw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIFdl
YWtQdHI8TWVkaWFLZXlzPiBtX2tleXM7CiAgICAgU3RyaW5nIG1fc2Vzc2lvbklkOwogICAgIGRv
dWJsZSBtX2V4cGlyYXRpb247Ci0gICAgQ2xvc2VkUHJvbWlzZSBtX2Nsb3NlZFByb21pc2U7Cisg
ICAgVW5pcXVlUmVmPENsb3NlZFByb21pc2U+IG1fY2xvc2VkUHJvbWlzZTsKICAgICBSZWY8TWVk
aWFLZXlTdGF0dXNNYXA+IG1fa2V5U3RhdHVzZXM7CiAgICAgYm9vbCBtX2Nsb3NlZCB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX3VuaW5pdGlhbGl6ZWQgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwCmluZGV4IGRkNDg3NmI2YzUzYzE4MzY0MzUxMDJjYzNjMThkMWNmZTdmMWFhYmYu
LjMwYzM0Y2RjNDRlYjhkNjdjZDIyMWVjODk5Y2MwZDZiYTMxNzI0ZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJDRE0uaCIKICNp
bmNsdWRlICJDRE1JbnN0YW5jZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSAiSlNNZWRpYUtleXMuaCIKICNpbmNsdWRlICJNZWRpYUtleXMuaCIKICNpbmNs
dWRlICJNZWRpYUtleXNSZXF1aXJlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oCmluZGV4
IDI4NGQ5NDk0Mjg4OWNkZmVlNmFkNmZjZWM2NzVhYzUwZGYwNDlhOWYuLjRmNWExNTVjNjgwZDll
ZjQxNzQ2MDAzYzc3Mjg2YTRlZjg1YTNjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmgKQEAg
LTMxLDcgKzMxLDYgQEAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAjaW5jbHVkZSAi
R2VuZXJpY1Rhc2tRdWV1ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM5LDYgKzM4
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0RNOworY2xhc3MgRGVmZXJyZWRQ
cm9taXNlOwogY2xhc3MgTWVkaWFLZXlzOwogCiBjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzcyA6
IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAKaW5kZXggMDUx
NzhjNTNlYTU3YmExODAzYmY5YzVkNTAzOWFkYzlmZjhkYjQ2MC4uMmZjZDAzNGE1ZjhlYjZiYjUz
MDA4NWFmOWE0ZmYxMGRjZGU2MjkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1
ZGUgIkNETS5oIgogI2luY2x1ZGUgIkNETUNsaWVudC5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNl
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eXMuaAppbmRleCA5MTQ2MTRkZTcxOWYzNzUzMDdiY2I4YjdkOGNlNWIzMGEwMDY3MTU4Li5mYTI2
OTMzMDAyYzljNzQ0MTFjNGUzMjJjYTA3MzQ1MWVhYTEyYTZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKQEAgLTMyLDcgKzMyLDYg
QEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1
ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFL
ZXlTZXNzaW9uVHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpAQCAtNDQsNyArNDMsOSBAQCBjbGFzcyBDRE07CiBjbGFzcyBDRE1DbGllbnQ7
CiBjbGFzcyBDRE1JbnN0YW5jZTsKIGNsYXNzIEJ1ZmZlclNvdXJjZTsKK2NsYXNzIERlZmVycmVk
UHJvbWlzZTsKIGNsYXNzIE1lZGlhS2V5U2Vzc2lvbjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CiAKIGNsYXNzIE1lZGlhS2V5cyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5cz4s
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYUtleXM+IHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcApp
bmRleCBkZjFmNGRmOTA0NmE0NTgyYmNjMDQ5NTMzOWVlY2ViZGEyY2E5YWJhLi4wYmFhZjhkNWZk
MjhjNTlhYmE3NWM2YzgyNjAyN2Y0NDExNjE4MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwCkBAIC0zMyw2ICsz
Myw3IEBACiAKICNpbmNsdWRlICJDRE0uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1
ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNNZWRpYUtleVN5c3RlbUFj
Y2Vzcy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmgKaW5kZXggZDk1Zjc2NjkzMzll
YjgwMTUzZjY5MzJhYzhhOGUwYzJmZjUxOGMyMC4uYThiMTJmNmJmMWEwMWJmM2Q2MDNhOWZhYTI4
MTY2OGY2NWI2MWU1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL05hdmlnYXRvckVNRS5oCkBAIC0zMCwxMiArMzAsMTIgQEAKIAogI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIlN1cHBs
ZW1lbnRhYmxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9t
aXNlOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzczsKIGNsYXNz
IE5hdmlnYXRvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9N
V2luZG93RmV0Y2guY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dG
ZXRjaC5jcHAKaW5kZXggMjFlNDg3ZTVjNGZlZTQzMmVkZTMzZTNlNGE5ZTYwZTY5ZTRhNGQwYi4u
ZGVjMzFkOTQwYTU3NDRlNDlkNjViNmUxNWU3NjQyYzkzYzMwYjMyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkZldGNoUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIkpTRmV0Y2hSZXNwb25zZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0RPTVdpbmRvd0ZldGNoLmgKaW5kZXggMmE4YThh
YmU5NGI3N2EwNWJiYTY3MmI2OTFkZTI0NWMyODdjMTRlNS4uMjc0ODM0NWU1MjMxODZjNzNlNDIz
ZDQ4Yzk0YzFjMDIxYmMyNzIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9ET01XaW5kb3dGZXRjaC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RE9NV2luZG93RmV0Y2guaApAQCAtMjksMTEgKzI5LDExIEBACiAjcHJhZ21hIG9uY2UKIAogI2lu
Y2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBET01XaW5kb3c7CiAKIGNsYXNzIERPTVdpbmRvd0Zl
dGNoIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAppbmRleCAy
OTE4NTRhZTE3YzdmZDNhNGY1Y2EyN2QwODE1ZDIzODE2NjMwNWIyLi4zZDY5ZjhhYjNkZDg4MjQ5
NjY1Y2M0NjMxYTM1ZWM0YjdhZmU0MDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHkuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRmV0Y2hIZWFkZXJz
LmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlclZhbHVlcy5oIgogI2luY2x1ZGUgIkhUVFBQYXJzZXJz
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJs
ZVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyVmll
dy5oPgogCkBAIC0xMjksNiArMTMwLDExIEBAIHZvaWQgRmV0Y2hCb2R5Ojp0ZXh0KEZldGNoQm9k
eU93bmVyJiBvd25lciwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIGNvbnN1
bWUob3duZXIsIFdURk1vdmUocHJvbWlzZSkpOwogfQogCit2b2lkIEZldGNoQm9keTo6Zm9ybURh
dGEoRmV0Y2hCb2R5T3duZXImLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7Cisg
ICAgcHJvbWlzZS5nZXQoKS5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCiB2b2lkIEZl
dGNoQm9keTo6Y29uc3VtZU9uY2VMb2FkaW5nRmluaXNoZWQoRmV0Y2hCb2R5Q29uc3VtZXI6OlR5
cGUgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBjb25zdCBTdHJpbmcmIGNv
bnRlbnRUeXBlKQogewogICAgIG1fY29uc3VtZXIuc2V0VHlwZSh0eXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGMzZjk2ZmY0YWZmZjIwZDExMzY0NDMz
YTFmMmFjZjZhZDFkOWZiNzMuLjg1Yzg2MjE3MWRlN2ZiOGQzZjRlOTdlMWRkMWMzMTIwMDBjYzA4
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtMzIsMTMg
KzMyLDEzIEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJGZXRjaEJvZHlD
b25zdW1lci5oIgogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbS5oIgogI2luY2x1ZGUgIlVSTFNl
YXJjaFBhcmFtcy5oIgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRmV0Y2hCb2R5T3duZXI7CiBj
bGFzcyBGZXRjaEJvZHlTb3VyY2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpAQCAt
NDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBibG9iKEZldGNoQm9keU93bmVyJiwgUmVm
PERlZmVycmVkUHJvbWlzZT4mJiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBqc29uKEZldGNo
Qm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCB0ZXh0KEZldGNo
Qm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Ci0gICAgdm9pZCBmb3JtRGF0YShG
ZXRjaEJvZHlPd25lciYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkgeyBwcm9taXNl
LmdldCgpLnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7IH0KKyAgICB2b2lkIGZvcm1EYXRhKEZl
dGNoQm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKICNpZiBFTkFCTEUoU1RS
RUFNU19BUEkpCiAgICAgdm9pZCBjb25zdW1lQXNTdHJlYW0oRmV0Y2hCb2R5T3duZXImLCBGZXRj
aEJvZHlTb3VyY2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRl
ci5jcHAKaW5kZXggYzBkYmY1ZmU1NzhmMWY1OWI2ZjRjMWIwN2FiYzAxZTdkMjUxZDc3OS4uZDIx
NjYyNGMyZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRlNzUzYmIzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmgiCiAjaW5jbHVkZSAiQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5LmgiCisjaW5jbHVkZSAiRmV0
Y2hCb2R5Q29uc3VtZXIuaCIKICNpbmNsdWRlICJGZXRjaExvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgIkZldGNoUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAppbmRleCAxZTQ3YTA1NmQwZDZkYTZm
MDg1MzhhY2RiZjIwNDNlYTJlMjEzNmI3Li4wZTM3M2ZhNGYyMjNmM2JhNWJmMWMwMmU5YzU5YmY2
N2Q3ZjYyZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5o
CkBAIC0yOCw3ICsyOCw2IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRmV0Y2hCb2R5
Q29uc3VtZXIuaCIKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVkZSAiVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9VUkwuaD4KQEAgLTM2LDYgKzM1
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQmxvYjsKK2NsYXNzIEZldGNoQm9k
eUNvbnN1bWVyOwogY2xhc3MgRmV0Y2hMb2FkZXJDbGllbnQ7CiBjbGFzcyBGZXRjaFJlcXVlc3Q7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKaW5kZXggNzNjMDQ1
MTAxMTU3M2NjMjY5MmRhOTY3NWU5OWNkYjMzOTk2Y2Q1OS4uMzQ0MDE3N2Y4YWU5NjgwMjZlNTQ2
MWY4ODY2ZGIyOWUyMzJiZTEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oIgogCiAjaW5jbHVkZSAiRmV0Y2hSZXNw
b25zZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNG
ZXRjaFJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNo
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2gu
aAppbmRleCAyYTZkOGJiZTBjYjllMGViMmI1YzIxMDlhYTMxYjcyZTNmZjA0YjViLi5mYWQwNzlj
Y2Q5MzM0YTlhMmZkMWJjYzZiMWRmNTMyNGEzODY0MzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtlckdsb2JhbFNjb3BlRmV0Y2guaApAQCAtMjksMTAg
KzI5LDEwIEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAor
Y2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNz
IFdvcmtlckdsb2JhbFNjb3BlRmV0Y2ggewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAppbmRl
eCAxMzk3NTJjMTQwN2ViYWQ0MzZmNmYzZDFmOTRkZDI1NjY4MmJjMGY3Li4yNjNjMDZmYTdiNTU5
Nzg2NGVhZjMxYTk0NTllNTNjYjBiMjMxMWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiSlNNZWRpYUNhcGFiaWxpdGllc0RlY29kaW5nSW5mby5oIgogI2luY2x1ZGUgIkpTTWVkaWFD
YXBhYmlsaXRpZXNFbmNvZGluZ0luZm8uaCIKICNpbmNsdWRlICJNZWRpYUNhcGFiaWxpdGllc0Rl
Y29kaW5nSW5mby5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNh
cGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oCmluZGV4IDE4NTRmYTQ2NjQ2MGFj
ZmM2ZDI2NjI3MTdhNTRkMmQ2Njc2MjBlZjQuLjYwNjYyOTdmNzU1MjAxZjg3ZTZhMWFiMDc2NWJl
NDdiYjdlNzI3YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBh
YmlsaXRpZXMvTWVkaWFDYXBhYmlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgKQEAgLTI2LDExICsyNiwxMSBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERv
Y3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1cmF0aW9uOwogc3RydWN0IE1lZGlh
RW5jb2RpbmdDb25maWd1cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCmluZGV4IDA4NjI0MTRhZGI0OWY5YzgyNDRjNzkx
YzRmZTM2OGVkMjAxMDZlNzcuLmM1NjUyY2VmODU0YTlmOTVkYjEzYTU3YzgyZWZiNTZkZjEwZjc5
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFE
ZXZpY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
RGV2aWNlcy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNNZWRpYURldmljZUluZm8uaCIKICNpbmNs
dWRlICJNZWRpYVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSZWFsdGlt
ZU1lZGlhU291cmNlU2V0dGluZ3MuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCmluZGV4IDUxY2QxYjRjZTliOTcyMTg4YjFiMTA3ZGM1
OGE1YjViMWY5NzlhYmUuLmU1NGM1YjNiNzNmYjIyZDg4MTAxNDc2YmRkMWM1YmIxMGFjNGZmMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZp
Y2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmlj
ZXMuaApAQCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCi0jaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIk1l
ZGlhVHJhY2tDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgpAQCAtNTIsNiArNTIsOCBAQCBjbGFzcyBNZWRpYVN0
cmVhbTsKIAogc3RydWN0IE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czsKIAordGVtcGxh
dGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFzcyBN
ZWRpYURldmljZXMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYURldmljZXM+LCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVi
bGljIENhbk1ha2VXZWFrUHRyPE1lZGlhRGV2aWNlcz4gewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoTWVkaWFEZXZpY2VzKTsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDc1NmI0NTcz
ZWFlNzdkZjUwMGMxZWY1NGZkYTY1MjY2YjMzYjFjODcuLjg1MTMxNzk0NzJjOTIxOTA0ZmMxMWNl
MWVlNWYwOWExMjdkNDEyNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU092
ZXJjb25zdHJhaW5lZEVycm9yLmgiCiAjaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50cy5oIgogI2lu
Y2x1ZGUgIk1lZGlhU3RyZWFtLmgiCkBAIC0zNzksNyArMzgwLDcgQEAgc3RhdGljIE1lZGlhQ29u
c3RyYWludHMgY3JlYXRlTWVkaWFDb25zdHJhaW50cyhjb25zdCBPcHRpb25hbDxNZWRpYVRyYWNr
Q29uc3RyYWkKIAogdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjphcHBseUNvbnN0cmFpbnRzKGNvbnN0
IE9wdGlvbmFsPE1lZGlhVHJhY2tDb25zdHJhaW50cz4mIGNvbnN0cmFpbnRzLCBET01Qcm9taXNl
RGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogewotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSk7CisgICAgbV9wcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZlcnJl
ZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CiAKICAgICBhdXRvIGNvbXBsZXRpb25IYW5kbGVy
ID0gW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjb25zdHJhaW50c10oYXV0
byYmIGVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcyB8fCAhbV9wcm9taXNl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbVRyYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtVHJhY2suaAppbmRleCA4ZmE4OTAzZDA5MGM4NDg5MDVjZTVkZmNjOGZlMmZkOThhNzE5ZmEz
Li42MjdmNmRmY2M4NzAzZmIwZDk1YTM2NDE1NjY1MWY0YTAyMzgzNjBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaApA
QCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkRvdWJsZVJhbmdlLmgiCiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXQuaCIKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCi0jaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMb25nUmFuZ2UuaCIKICNpbmNsdWRlICJN
ZWRpYVByb2R1Y2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaCIKQEAg
LTQ3LDYgKzQ2LDggQEAgY2xhc3MgRG9jdW1lbnQ7CiAKIHN0cnVjdCBNZWRpYVRyYWNrQ29uc3Ry
YWludHM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZl
cnJlZDsKKwogY2xhc3MgTWVkaWFTdHJlYW1UcmFjawogICAgIDogcHVibGljIFJlZkNvdW50ZWQ8
TWVkaWFTdHJlYW1UcmFjaz4KICAgICAsIHB1YmxpYyBBY3RpdmVET01PYmplY3QKQEAgLTIwMSw3
ICsyMDIsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwog
CiAgICAgTWVkaWFUcmFja0NvbnN0cmFpbnRzIG1fY29uc3RyYWludHM7Ci0gICAgT3B0aW9uYWw8
RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3Byb21pc2U7CisgICAgc3RkOjp1bmlxdWVfcHRy
PERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9wcm9taXNlOwogICAgIEdlbmVyaWNUYXNrUXVl
dWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV90YXNrUXVldWU7CiAgICAgR2VuZXJpY1Rhc2tR
dWV1ZTxUaW1lcj4gbV9ldmVudFRhc2tRdWV1ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCmlu
ZGV4IGU2OGVkOTlmOTI5ZWVlZDRjZjk5NzAzYmE2NjNmOTQ3N2UxNzkxYWQuLjJmZjIzMGU0NjQ2
N2E4MjExZWRmMDA1NDM3YzU0MGM2YmY5OWI3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAK
QEAgLTM1LDYgKzM1LDcgQEAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpT
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDQ2VydGlmaWNhdGVH
ZW5lcmF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC04MiwxMiArODMsMTQgQEAgUGVl
ckNvbm5lY3Rpb25CYWNrZW5kOjpQZWVyQ29ubmVjdGlvbkJhY2tlbmQoUlRDUGVlckNvbm5lY3Rp
b24mIHBlZXJDb25uZWN0aW9uKQogewogfQogCitQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6On5QZWVy
Q29ubmVjdGlvbkJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNr
ZW5kOjpjcmVhdGVPZmZlcihSVENPZmZlck9wdGlvbnMmJiBvcHRpb25zLCBQZWVyQ29ubmVjdGlv
bjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlzZSYmIHByb21pc2UpCiB7CiAgICAgQVNTRVJUKCFt
X29mZmVyQW5zd2VyUHJvbWlzZSk7CiAgICAgQVNTRVJUKCFtX3BlZXJDb25uZWN0aW9uLmlzQ2xv
c2VkKCkpOwogCi0gICAgbV9vZmZlckFuc3dlclByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOwor
ICAgIG1fb2ZmZXJBbnN3ZXJQcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPFBlZXJDb25uZWN0aW9u
OjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlPihXVEZNb3ZlKHByb21pc2UpKTsKICAgICBkb0Ny
ZWF0ZU9mZmVyKFdURk1vdmUob3B0aW9ucykpOwogfQogCkBAIC0xMjQsNyArMTI3LDcgQEAgdm9p
ZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmNyZWF0ZUFuc3dlcihSVENBbnN3ZXJPcHRpb25zJiYg
b3B0aW9ucywgUGVlckNvbm5lY3QKICAgICBBU1NFUlQoIW1fb2ZmZXJBbnN3ZXJQcm9taXNlKTsK
ICAgICBBU1NFUlQoIW1fcGVlckNvbm5lY3Rpb24uaXNDbG9zZWQoKSk7CiAKLSAgICBtX29mZmVy
QW5zd2VyUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9vZmZlckFuc3dlclByb21p
c2UgPSBXVEY6Om1ha2VVbmlxdWU8UGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblBy
b21pc2U+KFdURk1vdmUocHJvbWlzZSkpOwogICAgIGRvQ3JlYXRlQW5zd2VyKFdURk1vdmUob3B0
aW9ucykpOwogfQogCkBAIC0xODQsNyArMTg3LDcgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tl
bmQ6OnNldExvY2FsRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJiBzZXNzaW9uRGUK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9taXNlID0g
V1RGTW92ZShwcm9taXNlKTsKKyAgICBtX3NldERlc2NyaXB0aW9uUHJvbWlzZSA9IFdURjo6bWFr
ZVVuaXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOwogICAg
IGRvU2V0TG9jYWxEZXNjcmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24pOwogfQogCkBAIC0yNDUs
NyArMjQ4LDcgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnNldFJlbW90ZURlc2NyaXB0
aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYgc2Vzc2lvbkQKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAg
ICBtX3NldERlc2NyaXB0aW9uUHJvbWlzZSA9IFdURjo6bWFrZVVuaXF1ZTxET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOwogICAgIGRvU2V0UmVtb3RlRGVzY3JpcHRp
b24oc2Vzc2lvbkRlc2NyaXB0aW9uKTsKIH0KIApAQCAtMzI1LDcgKzMyOCw3IEBAIHZvaWQgUGVl
ckNvbm5lY3Rpb25CYWNrZW5kOjphZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlKiBpY2VD
YW5kaWRhdGUsIERPTVByCiAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciwgIlRyeWluZyB0byBhZGQgYSBjYW5kaWRhdGUgdGhhdCBpcyBtaXNzaW5nIGJvdGggc2Rw
TWlkIGFuZCBzZHBNTGluZUluZGV4Il9zIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAg
IG1fYWRkSWNlQ2FuZGlkYXRlUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9hZGRJ
Y2VDYW5kaWRhdGVQcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZlcnJlZDx2
b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9BZGRJY2VDYW5kaWRhdGUoKmljZUNhbmRp
ZGF0ZSk7CiB9CiAKQEAgLTQ3MCw2ICs0NzMsMTEgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tl
bmQ6OmRvbmVHYXRoZXJpbmdDYW5kaWRhdGVzKCkKICAgICBtX3BlbmRpbmdJQ0VDYW5kaWRhdGVz
LmNsZWFyKCk7CiB9CiAKK3ZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjplbmRPZkljZUNhbmRp
ZGF0ZXMoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAgICBwcm9taXNl
LnJlc29sdmUoKTsKK30KKwogdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnJlZ2lzdGVyTURO
U05hbWUoY29uc3QgU3RyaW5nJiBpcEFkZHJlc3MpCiB7CiAgICAgKyttX3dhaXRpbmdGb3JNRE5T
UmVnaXN0cmF0aW9uOwpAQCAtNTIwLDkgKzUyOCw5IEBAIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNr
ZW5kOjp1cGRhdGVTaWduYWxpbmdTdGF0ZShSVENTaWduYWxpbmdTdGF0ZSBuZXdTaWduYWxpbmdT
CiAKIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpzdG9wKCkKIHsKLSAgICBtX29mZmVyQW5z
d2VyUHJvbWlzZSA9IFdURjo6bnVsbG9wdDsKLSAgICBtX3NldERlc2NyaXB0aW9uUHJvbWlzZSA9
IFdURjo6bnVsbG9wdDsKLSAgICBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2UgPSBXVEY6Om51bGxv
cHQ7CisgICAgbV9vZmZlckFuc3dlclByb21pc2UgPSBudWxscHRyOworICAgIG1fc2V0RGVzY3Jp
cHRpb25Qcm9taXNlID0gbnVsbHB0cjsKKyAgICBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2UgPSBu
dWxscHRyOwogCiAgICAgbV9wZW5kaW5nVHJhY2tFdmVudHMuY2xlYXIoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tl
bmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25C
YWNrZW5kLmgKaW5kZXggMWFjMDk1ODkzZTg4ZDI4NDkyYTAyM2UwMjg4NDJjYzI0NDdjYTg3Ni4u
MmRhM2RkYzliMWE0MTY3ZTA0Njg4YTM0ZTc4YWEyY2E5Y2JjYjg0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFj
a2VuZC5oCkBAIC0zMyw3ICszMyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAotI2luY2x1
ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNs
dWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIlJUQ1J0cFNlbmRQYXJhbWV0ZXJz
LmgiCiAjaW5jbHVkZSAiUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgiCkBAIC00Myw2ICs0Myw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3Mg
RG9jdW1lbnQ7CiBjbGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2s7CkBA
IC01Niw2ICs1Nyw3IEBAIGNsYXNzIFJUQ1J0cFNlbmRlcjsKIGNsYXNzIFJUQ1J0cFRyYW5zY2Vp
dmVyOwogY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOwogY2xhc3MgUlRDU3RhdHNSZXBvcnQ7
CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBzdHJ1Y3QgTWVkaWFFbmRwb2ludENv
bmZpZ3VyYXRpb247CiBzdHJ1Y3QgUlRDQW5zd2VyT3B0aW9uczsKQEAgLTYzLDYgKzY1LDggQEAg
c3RydWN0IFJUQ0RhdGFDaGFubmVsSW5pdDsKIHN0cnVjdCBSVENPZmZlck9wdGlvbnM7CiBzdHJ1
Y3QgUlRDUnRwVHJhbnNjZWl2ZXJJbml0OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBj
bGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIG5hbWVzcGFjZSBQZWVyQ29ubmVjdGlvbiB7CiB1
c2luZyBTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETERp
Y3Rpb25hcnk8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpJbml0Pj47CiB1c2luZyBTdGF0c1Byb21p
c2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPFJUQ1N0YXRzUmVwb3J0Pj47CkBA
IC04Myw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgT3B0aW9uYWw8UlRDUnRwQ2FwYWJp
bGl0aWVzPiBzZW5kZXJDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0
IFN0cmluZyYga2luZCk7CiAKICAgICBleHBsaWNpdCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQoUlRD
UGVlckNvbm5lY3Rpb24mKTsKLSAgICB2aXJ0dWFsIH5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKSA9
IGRlZmF1bHQ7CisgICAgdmlydHVhbCB+UGVlckNvbm5lY3Rpb25CYWNrZW5kKCk7CiAKICAgICB2
b2lkIGNyZWF0ZU9mZmVyKFJUQ09mZmVyT3B0aW9ucyYmLCBQZWVyQ29ubmVjdGlvbjo6U2Vzc2lv
bkRlc2NyaXB0aW9uUHJvbWlzZSYmKTsKICAgICB2b2lkIGNyZWF0ZUFuc3dlcihSVENBbnN3ZXJP
cHRpb25zJiYsIFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiYpOwpA
QCAtMjA5LDcgKzIxMyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRvU2V0TG9jYWxE
ZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRvU2V0UmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkb0FkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUmKSA9IDA7Ci0g
ICAgdmlydHVhbCB2b2lkIGVuZE9mSWNlQ2FuZGlkYXRlcyhET01Qcm9taXNlRGVmZXJyZWQ8dm9p
ZD4mJiBwcm9taXNlKSB7IHByb21pc2UucmVzb2x2ZSgpOyB9CisgICAgdmlydHVhbCB2b2lkIGVu
ZE9mSWNlQ2FuZGlkYXRlcyhET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAgICAgdmlydHVh
bCB2b2lkIGRvU3RvcCgpID0gMDsKIAogICAgIHZvaWQgcmVnaXN0ZXJNRE5TTmFtZShjb25zdCBT
dHJpbmcmIGlwQWRkcmVzcyk7CkBAIC0yMTgsOSArMjIyLDkgQEAgcHJvdGVjdGVkOgogICAgIFJU
Q1BlZXJDb25uZWN0aW9uJiBtX3BlZXJDb25uZWN0aW9uOwogCiBwcml2YXRlOgotICAgIE9wdGlv
bmFsPFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlPiBtX29mZmVyQW5z
d2VyUHJvbWlzZTsKLSAgICBPcHRpb25hbDxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fc2V0
RGVzY3JpcHRpb25Qcm9taXNlOwotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2b2lk
Pj4gbV9hZGRJY2VDYW5kaWRhdGVQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQZWVyQ29u
bmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlzZT4gbV9vZmZlckFuc3dlclByb21pc2U7
CisgICAgc3RkOjp1bmlxdWVfcHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9zZXREZXNj
cmlwdGlvblByb21pc2U7CisgICAgc3RkOjp1bmlxdWVfcHRyPERPTVByb21pc2VEZWZlcnJlZDx2
b2lkPj4gbV9hZGRJY2VDYW5kaWRhdGVQcm9taXNlOwogCiAgICAgYm9vbCBtX3Nob3VsZEZpbHRl
cklDRUNhbmRpZGF0ZXMgeyB0cnVlIH07CiAgICAgc3RydWN0IFBlbmRpbmdJQ0VDYW5kaWRhdGUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLmNwcAppbmRleCBjOTgzZmEzZTNhMmIyNDY5ZWVlMDBmZjMwN2RjZDMzYzI2
NjgxZjkxLi4zNzQ2YjhiZWZjMjNjNjE3Yjk4N2FkZjk4ZDM0Yzg0ODU3MzM5ZWFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVk
ZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU1JUQ1BlZXJDb25uZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhRW5kcG9pbnRDb25maWd1cmF0aW9uLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2Vp
dmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVy
LmgKaW5kZXggOWRkOTQ2NzYwMWNhMjU2MjhjNjRmNjIzM2M3OWU3MTljYzYyN2QyYy4uM2NjYThi
MmI5NjcxOGFlNDc2ZDgzOTQzMjYxMjBjOTc5OTA3OTM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaApAQCAtMzksNiArMzks
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNs
YXNzIFBlZXJDb25uZWN0aW9uQmFja2VuZDsKIHN0cnVjdCBSVENSdHBDYXBhYmlsaXRpZXM7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2Vu
ZGVyQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXJCYWNrZW5kLmgKaW5kZXggNjU2MzhjZGFhYTE3OTM4MGY2YmNlZDE1MDI2ZjRjYzNhMGEx
Y2EzZC4uYWQ1MjQwOTc4Y2RkOWMyY2UzMGQwZjc1MjFjYmYxYTUxNWUwMzc0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5k
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJC
YWNrZW5kLmgKQEAgLTI2LDE2ICsyNiwxNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAKLSNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE1lZGlhU3RyZWFtVHJhY2s7CiBjbGFzcyBSVENEVE1GU2VuZGVyQmFja2VuZDsKIGNs
YXNzIFJUQ1J0cFNlbmRlcjsKLXN0cnVjdCBSVENSdHBTZW5kUGFyYW1ldGVyczsKIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKK3N0cnVjdCBSVENSdHBTZW5kUGFyYW1ldGVyczsKKwor
dGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBj
bGFzcyBSVENSdHBTZW5kZXJCYWNrZW5kIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVw
bGFjZVRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSVENSdHBTZW5kZXImLCBSZWZQdHI8
TWVkaWFTdHJlYW1UcmFjaz4mJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVx
dWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuY3BwCmluZGV4IDczODdhMzhhYjA1MTM4Njc0YzY3YmJhYWM5MzI5Mzc3ODk5NWM1NGUu
LjRmMjUxN2UxNjVhZGU1ZmMzMWRmMmExMDI0OTY5ZjViYmUzMDg3M2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cApAQCAtMzgsNiArMzgsNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNN
ZWRpYVN0cmVhbS5oIgogI2luY2x1ZGUgIkpTT3ZlcmNvbnN0cmFpbmVkRXJyb3IuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCkBAIC02MSw3ICs2Miw3IEBAIFJlZjxVc2VyTWVkaWFSZXF1ZXN0PiBV
c2VyTWVkaWFSZXF1ZXN0OjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVN0cmVhbVJl
CiBVc2VyTWVkaWFSZXF1ZXN0OjpVc2VyTWVkaWFSZXF1ZXN0KERvY3VtZW50JiBkb2N1bWVudCwg
TWVkaWFTdHJlYW1SZXF1ZXN0JiYgcmVxdWVzdCwgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVy
ZmFjZTxNZWRpYVN0cmVhbT4+JiYgcHJvbWlzZSkKICAgICA6IEFjdGl2ZURPTU9iamVjdChkb2N1
bWVudCkKICAgICAsIG1faWRlbnRpZmllcihVc2VyTWVkaWFSZXF1ZXN0SWRlbnRpZmllcjo6Z2Vu
ZXJhdGUoKSkKLSAgICAsIG1fcHJvbWlzZShXVEZNb3ZlKHByb21pc2UpKQorICAgICwgbV9wcm9t
aXNlKG1ha2VVbmlxdWVSZWY8RE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxNZWRpYVN0
cmVhbT4+PihXVEZNb3ZlKHByb21pc2UpKSkKICAgICAsIG1fcmVxdWVzdChXVEZNb3ZlKHJlcXVl
c3QpKQogewogfQpAQCAtMjU2LDcgKzI1Nyw3IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6YWxs
b3coQ2FwdHVyZURldmljZSYmIGF1ZGlvRGV2aWNlLCBDYXB0dXJlRGV2aWNlJiYgdmlkZW9ECiAK
ICAgICAgICAgQVNTRVJUKGRvY3VtZW50LmlzQ2FwdHVyaW5nKCkpOwogICAgICAgICBzdHJlYW0t
PmRvY3VtZW50KCktPnNldEhhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrKCk7Ci0gICAgICAgIG1f
cHJvbWlzZS5yZXNvbHZlKFdURk1vdmUoc3RyZWFtKSk7CisgICAgICAgIG1fcHJvbWlzZS0+cmVz
b2x2ZShXVEZNb3ZlKHN0cmVhbSkpOwogICAgIH07CiAKICAgICBhdXRvJiBkb2N1bWVudCA9IGRv
d25jYXN0PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKQEAgLTI5OCw3ICsy
OTksNyBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkoTWVkaWFBY2Nlc3NEZW5pYWxSZWFz
b24gcmVhc29uLCBjb25zdCBTdHJpbmcmIG1lc3NhZwogICAgICAgICBicmVhazsKICAgICBjYXNl
IE1lZGlhQWNjZXNzRGVuaWFsUmVhc29uOjpJbnZhbGlkQ29uc3RyYWludDoKICAgICAgICAgUkVM
RUFTRV9MT0coTWVkaWFTdHJlYW0sICJVc2VyTWVkaWFSZXF1ZXN0OjpkZW55IC0gaW52YWxpZCBj
b25zdHJhaW50IC0gJXMiLCBtZXNzYWdlLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBtX3Byb21p
c2UucmVqZWN0VHlwZTxJRExJbnRlcmZhY2U8T3ZlcmNvbnN0cmFpbmVkRXJyb3I+PihPdmVyY29u
c3RyYWluZWRFcnJvcjo6Y3JlYXRlKG1lc3NhZ2UsICJJbnZhbGlkIGNvbnN0cmFpbnQiX3MpLmdl
dCgpKTsKKyAgICAgICAgbV9wcm9taXNlLT5yZWplY3RUeXBlPElETEludGVyZmFjZTxPdmVyY29u
c3RyYWluZWRFcnJvcj4+KE92ZXJjb25zdHJhaW5lZEVycm9yOjpjcmVhdGUobWVzc2FnZSwgIklu
dmFsaWQgY29uc3RyYWludCJfcykuZ2V0KCkpOwogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBN
ZWRpYUFjY2Vzc0RlbmlhbFJlYXNvbjo6SGFyZHdhcmVFcnJvcjoKICAgICAgICAgUkVMRUFTRV9M
T0coTWVkaWFTdHJlYW0sICJVc2VyTWVkaWFSZXF1ZXN0OjpkZW55IC0gaGFyZHdhcmUgZXJyb3Ii
KTsKQEAgLTMxOSw5ICszMjAsOSBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkoTWVkaWFB
Y2Nlc3NEZW5pYWxSZWFzb24gcmVhc29uLCBjb25zdCBTdHJpbmcmIG1lc3NhZwogICAgIH0KIAog
ICAgIGlmICghbWVzc2FnZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fcHJvbWlzZS5yZWplY3QoY29k
ZSwgbWVzc2FnZSk7CisgICAgICAgIG1fcHJvbWlzZS0+cmVqZWN0KGNvZGUsIG1lc3NhZ2UpOwog
ICAgIGVsc2UKLSAgICAgICAgbV9wcm9taXNlLnJlamVjdChjb2RlKTsKKyAgICAgICAgbV9wcm9t
aXNlLT5yZWplY3QoY29kZSk7CiB9CiAKIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6c3RvcCgpCkBA
IC0zNjEsNyArMzYyLDcgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVhbURpZEZh
aWwoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlKQogICAgICAgICB0eXBlRGVzY3JpcHRp
b24gPSAidW5rbm93biI7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBtX3Byb21pc2UucmVq
ZWN0KE5vdFJlYWRhYmxlRXJyb3IsIG1ha2VTdHJpbmcoIkZhaWxlZCBzdGFydGluZyBjYXB0dXJl
IG9mIGEgIl9zLCB0eXBlRGVzY3JpcHRpb24sICIgdHJhY2siX3MpKTsKKyAgICBtX3Byb21pc2Ut
PnJlamVjdChOb3RSZWFkYWJsZUVycm9yLCBtYWtlU3RyaW5nKCJGYWlsZWQgc3RhcnRpbmcgY2Fw
dHVyZSBvZiBhICJfcywgdHlwZURlc2NyaXB0aW9uLCAiIHRyYWNrIl9zKSk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgKaW5kZXggM2ZiYzQ3MzgzMmU2YTc0MWY0MzUxNzQ4
ZWUxMzZlNTg1YTQ3ZGEyMC4uZjJjMGVmY2IyZDU2MmQyNTEyMzlkMjgwMWQ0MjYxZDc5MDhjODIz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVk
aWFSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2Vy
TWVkaWFSZXF1ZXN0LmgKQEAgLTM2LDE4ICszNiwyMSBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9N
T2JqZWN0LmgiCiAjaW5jbHVkZSAiQ2FwdHVyZURldmljZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJNZWRpYUNv
bnN0cmFpbnRzLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAi
TWVkaWFTdHJlYW1SZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+
CiAjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKyNpbmNsdWRlIDx3dGYvVW5pcXVl
UmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFTdHJlYW07CiBjbGFz
cyBTZWN1cml0eU9yaWdpbjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9N
UHJvbWlzZURlZmVycmVkOworCiBlbnVtIFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyVHlwZSB7
IH07CiB1c2luZyBVc2VyTWVkaWFSZXF1ZXN0SWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8
VXNlck1lZGlhUmVxdWVzdElkZW50aWZpZXJUeXBlPjsKIApAQCAtOTEsNyArOTQsNyBAQCBwcml2
YXRlOgogICAgIFZlY3RvcjxTdHJpbmc+IG1fdmlkZW9EZXZpY2VVSURzOwogICAgIFZlY3RvcjxT
dHJpbmc+IG1fYXVkaW9EZXZpY2VVSURzOwogCi0gICAgRE9NUHJvbWlzZURlZmVycmVkPElETElu
dGVyZmFjZTxNZWRpYVN0cmVhbT4+IG1fcHJvbWlzZTsKKyAgICBVbmlxdWVSZWY8RE9NUHJvbWlz
ZURlZmVycmVkPElETEludGVyZmFjZTxNZWRpYVN0cmVhbT4+PiBtX3Byb21pc2U7CiAgICAgTWVk
aWFTdHJlYW1SZXF1ZXN0IG1fcmVxdWVzdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDTWVkaWFFbmRwb2ludC5jcHAKaW5kZXggOTAwZjQ5YjRmMTRkNmNkM2I5Njk2NDUzM2Q4OWY1
MjliMzAwNmFhZi4uYmNiMWM4NmM5ZWVjNmE2OGE3NzQ5NGVlOGNlNDVlNzlhMDlhZWE0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAKQEAgLTI4LDYgKzI4
LDcgQEAKICNpZiBVU0UoTElCV0VCUlRDKQogCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNSVENTdGF0c1JlcG9y
dC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ0RhdGFDaGFubmVsSGFuZGxlci5oIgogI2luY2x1ZGUg
IkxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFj
a2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcAppbmRleCA2YWVlYTEzMzg5MmQyMDYzZjAzNTM5
YjhlZWM0ZGI5YmNlNjRkN2Q5Li44OTQyNThiODYwOTg3YmQ4MmQzZDc5OWEyZWRkMjYzOWY4ZjNj
NmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNw
cApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJS
VEMpCiAKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkxpYldl
YlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUGVlckNvbm5lY3Rp
b25CYWNrZW5kLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRy
YW5zY2VpdmVyQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuY3BwCmluZGV4IDVjMGQ3
ZTk1ZTJmZDEyZTNmODRmMTdjZmJlYjZkODY3YTUxZjJlNDEuLmU2NDNhODNhZmNlMmQ0NzRlMDgy
YzRiNmViNDZiNjY3YjBjM2YxMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmNwcApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5B
QkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogI2lu
Y2x1ZGUgIkxpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENV
dGlscy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9QYXltZW50UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAppbmRleCAwNzc0ZmM2ZTE1YjZmOTg1M2MyZDBiM2UxNDhi
YTVjZmMzNzFjODM0Li5jYzA3NzRiYzU3MTA0ZmYyMDcyNWNjNjM2MGNiMjVkZDkxODgyZDg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRS
ZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1Bh
eW1lbnRSZXF1ZXN0LmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNQYXltZW50RGV0YWls
c1VwZGF0ZS5oIgogI2luY2x1ZGUgIkpTUGF5bWVudFJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgpAQCAtNDEwLDcgKzQxMSw3IEBAIHZvaWQgUGF5bWVudFJlcXVlc3Q6OnNob3coRG9jdW1l
bnQmIGRvY3VtZW50LCBSZWZQdHI8RE9NUHJvbWlzZT4mJiBkZXRhaWxzUHJvbWlzCiAKICAgICBt
X3N0YXRlID0gU3RhdGU6OkludGVyYWN0aXZlOwogICAgIEFTU0VSVCghbV9zaG93UHJvbWlzZSk7
Ci0gICAgbV9zaG93UHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9zaG93UHJvbWlz
ZSA9IFdURjo6bWFrZVVuaXF1ZTxTaG93UHJvbWlzZT4oV1RGTW92ZShwcm9taXNlKSk7CiAKICAg
ICBSZWZQdHI8UGF5bWVudEhhbmRsZXI+IHNlbGVjdGVkUGF5bWVudEhhbmRsZXI7CiAgICAgZm9y
IChhdXRvJiBwYXltZW50TWV0aG9kIDogbV9zZXJpYWxpemVkTWV0aG9kRGF0YSkgewpAQCAtNDY4
LDcgKzQ2OSw3IEBAIHZvaWQgUGF5bWVudFJlcXVlc3Q6OmFib3J0V2l0aEV4Y2VwdGlvbihFeGNl
cHRpb24mJiBleGNlcHRpb24pCiAKIHZvaWQgUGF5bWVudFJlcXVlc3Q6OnNldHRsZVNob3dQcm9t
aXNlKEV4Y2VwdGlvbk9yPFBheW1lbnRSZXNwb25zZSY+JiYgcmVzdWx0KQogewotICAgIGlmIChh
dXRvIHNob3dQcm9taXNlID0gc3RkOjpleGNoYW5nZShtX3Nob3dQcm9taXNlLCBXVEY6Om51bGxv
cHQpKQorICAgIGlmIChhdXRvIHNob3dQcm9taXNlID0gc3RkOjpleGNoYW5nZShtX3Nob3dQcm9t
aXNlLCBudWxscHRyKSkKICAgICAgICAgc2hvd1Byb21pc2UtPnNldHRsZShXVEZNb3ZlKHJlc3Vs
dCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0LmgKaW5kZXggZjdjMzQyNjc5NDQ1MWI1YmVmZGEwN2JiOTVkMzU3
NjQ0MWFkZWQ4Yi4uN2YxYjUyZmEwMmQ0ZTNmOGIyYTRhNWI5MmU0NjExZTNlODY1NTFhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVx
dWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFJlcXVlc3QuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5o
IgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAj
aW5jbHVkZSAiUGF5bWVudERldGFpbHNJbml0LmgiCiAjaW5jbHVkZSAiUGF5bWVudE1ldGhvZENo
YW5nZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGF5bWVudE9wdGlvbnMuaCIKQEAgLTQ5LDYgKzQ5LDcg
QEAgZW51bSBjbGFzcyBQYXltZW50Q29tcGxldGU7CiBlbnVtIGNsYXNzIFBheW1lbnRTaGlwcGlu
Z1R5cGU7CiBzdHJ1Y3QgUGF5bWVudERldGFpbHNVcGRhdGU7CiBzdHJ1Y3QgUGF5bWVudE1ldGhv
ZERhdGE7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJy
ZWQ7CiAKIGNsYXNzIFBheW1lbnRSZXF1ZXN0IGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVj
dCwgcHVibGljIENhbk1ha2VXZWFrUHRyPFBheW1lbnRSZXF1ZXN0PiwgcHVibGljIEV2ZW50VGFy
Z2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBSZWZDb3VudGVkPFBheW1lbnRSZXF1ZXN0PiB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQYXltZW50UmVxdWVzdCk7CkBAIC0xNDIsNyArMTQz
LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9zaGlwcGluZ09wdGlvbjsKICAgICBSZWZQdHI8
UGF5bWVudEFkZHJlc3M+IG1fc2hpcHBpbmdBZGRyZXNzOwogICAgIFN0YXRlIG1fc3RhdGUgeyBT
dGF0ZTo6Q3JlYXRlZCB9OwotICAgIE9wdGlvbmFsPFNob3dQcm9taXNlPiBtX3Nob3dQcm9taXNl
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTaG93UHJvbWlzZT4gbV9zaG93UHJvbWlzZTsKICAgICBP
cHRpb25hbDxQYXltZW50SGFuZGxlcldpdGhQZW5kaW5nQWN0aXZpdHk+IG1fYWN0aXZlUGF5bWVu
dEhhbmRsZXI7CiAgICAgUmVmUHRyPERPTVByb21pc2U+IG1fZGV0YWlsc1Byb21pc2U7CiAgICAg
UmVmUHRyPERPTVByb21pc2U+IG1fbWVyY2hhbnRTZXNzaW9uUHJvbWlzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNl
LmNwcAppbmRleCBkNmMxOGI4MmU1NzliNGMyOWI1YmU2NDQ0ZWZkN2M0NzFlNzg4YjJlLi45OGI1
ZDZjZjI0MDk3YTBjYzhlMThlMWNjZGQwYjMxOTY4MmZkZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3Bw
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQogCisjaW5j
bHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5o
IgogI2luY2x1ZGUgIlBheW1lbnRSZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lu
bGluZXMuaD4KQEAgLTEwMyw3ICsxMDQsNyBAQCB2b2lkIFBheW1lbnRSZXNwb25zZTo6cmV0cnko
UGF5bWVudFZhbGlkYXRpb25FcnJvcnMmJiBlcnJvcnMsIERPTVByb21pc2VEZWZlcnJlZAogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9yZXRyeVByb21pc2UgPSBXVEZNb3ZlKHByb21p
c2UpOworICAgIG1fcmV0cnlQcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZl
cnJlZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIHZvaWQgUGF5bWVudFJlc3BvbnNl
OjphYm9ydFdpdGhFeGNlcHRpb24oRXhjZXB0aW9uJiYgZXhjZXB0aW9uKQpAQCAtMTIwLDcgKzEy
MSw4IEBAIHZvaWQgUGF5bWVudFJlc3BvbnNlOjpzZXR0bGVSZXRyeVByb21pc2UoRXhjZXB0aW9u
T3I8dm9pZD4mJiByZXN1bHQpCiAKICAgICBBU1NFUlQoaGFzUGVuZGluZ0FjdGl2aXR5KCkpOwog
ICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpDcmVhdGVkKTsKLSAgICBzdGQ6OmV4Y2hhbmdl
KG1fcmV0cnlQcm9taXNlLCBXVEY6Om51bGxvcHQpLT5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsK
KyAgICBtX3JldHJ5UHJvbWlzZS0+c2V0dGxlKFdURk1vdmUocmVzdWx0KSk7CisgICAgbV9yZXRy
eVByb21pc2UgPSBudWxscHRyOwogfQogCiBib29sIFBheW1lbnRSZXNwb25zZTo6Y2FuU3VzcGVu
ZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaAppbmRleCBlZTIyNmEw
NmY0M2Y0YWI2ZjAwZmQ2YjcxODcyZDllOGEzYmI5ZTBhLi45YWU5Zjg1YzMzMWJmMTgzMWJjZTIw
NzVkNjVjN2RlOGFlYjczMmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25P
YnNlcnZlci5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmgiCiAjaW5j
bHVkZSAiUGF5bWVudEFkZHJlc3MuaCIKICNpbmNsdWRlICJQYXltZW50Q29tcGxldGUuaCIKQEAg
LTQyLDYgKzQxLDggQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBQYXltZW50UmVxdWVzdDsKIHN0
cnVjdCBQYXltZW50VmFsaWRhdGlvbkVycm9yczsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlw
ZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFzcyBQYXltZW50UmVzcG9uc2UgZmlu
YWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5l
RGF0YSwgcHVibGljIFJlZkNvdW50ZWQ8UGF5bWVudFJlc3BvbnNlPiB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChQYXltZW50UmVzcG9uc2UpOwogcHVibGljOgpAQCAtMTIzLDcgKzEyNCw3
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fcGF5ZXJFbWFpbDsKICAgICBTdHJpbmcgbV9wYXll
clBob25lOwogICAgIFN0YXRlIG1fc3RhdGUgeyBTdGF0ZTo6Q3JlYXRlZCB9OwotICAgIE9wdGlv
bmFsPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9yZXRyeVByb21pc2U7CisgICAgc3RkOjp1
bmlxdWVfcHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9yZXRyeVByb21pc2U7CiAgICAg
UmVmUHRyPFBlbmRpbmdBY3Rpdml0eTxQYXltZW50UmVzcG9uc2U+PiBtX3BlbmRpbmdBY3Rpdml0
eTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1Tb3VyY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5MGYwZTMzMTUwM2FiYTZlODZhOWJl
NzMyN2Q4NDQ1ZDBhYmM2ODYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3BwCkBAIC0wLDAgKzEsOTEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZWFkYWJsZVN0cmVh
bVNvdXJjZS5oIgorCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKworI2lmIEVO
QUJMRShTVFJFQU1TX0FQSSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWFkYWJsZVN0cmVh
bVNvdXJjZTo6flJlYWRhYmxlU3RyZWFtU291cmNlKCkgPSBkZWZhdWx0OworCit2b2lkIFJlYWRh
YmxlU3RyZWFtU291cmNlOjpzdGFydChSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyJiYg
Y29udHJvbGxlciwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAgICBB
U1NFUlQoIW1fcHJvbWlzZSk7CisgICAgbV9wcm9taXNlID0gV1RGOjptYWtlVW5pcXVlPERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7CisgICAgbV9jb250cm9sbGVy
ID0gV1RGTW92ZShjb250cm9sbGVyKTsKKworICAgIHNldEFjdGl2ZSgpOworICAgIGRvU3RhcnQo
KTsKK30KKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6cHVsbChET01Qcm9taXNlRGVmZXJy
ZWQ8dm9pZD4mJiBwcm9taXNlKQoreworICAgIEFTU0VSVCghbV9wcm9taXNlKTsKKyAgICBBU1NF
UlQobV9jb250cm9sbGVyKTsKKworICAgIG1fcHJvbWlzZSA9IFdURjo6bWFrZVVuaXF1ZTxET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOworCisgICAgc2V0QWN0aXZl
KCk7CisgICAgZG9QdWxsKCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnN0YXJ0
RmluaXNoZWQoKQoreworICAgIEFTU0VSVChtX3Byb21pc2UpOworICAgIG1fcHJvbWlzZS0+cmVz
b2x2ZSgpOworICAgIG1fcHJvbWlzZSA9IG51bGxwdHI7CisgICAgc2V0SW5hY3RpdmUoKTsKK30K
Kwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6cHVsbEZpbmlzaGVkKCkKK3sKKyAgICBBU1NF
UlQobV9wcm9taXNlKTsKKyAgICBtX3Byb21pc2UtPnJlc29sdmUoKTsKKyAgICBtX3Byb21pc2Ug
PSBudWxscHRyOworICAgIHNldEluYWN0aXZlKCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1T
b3VyY2U6OmNhbmNlbChKU0M6OkpTVmFsdWUpCit7CisgICAgY2xlYW4oKTsKKyAgICBkb0NhbmNl
bCgpOworfQorCit2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpjbGVhbigpCit7CisgICAgaWYg
KG1fcHJvbWlzZSkgeworICAgICAgICBtX3Byb21pc2UgPSBudWxscHRyOworICAgICAgICBzZXRJ
bmFjdGl2ZSgpOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNUUkVBTVNfQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaAppbmRleCBmNGYwMmIzYWE2YzFmYjcyNzll
NDQzYTdlMTljYTcyMzM3YWE1MjJmLi5kNGNlZmViYmE2ZDUyYWE0ZGI1YWUyYjVhYTI5YWFhNzBj
MmVmYzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW1Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW1Tb3VyY2UuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAKICNpZiBFTkFCTEUoU1RS
RUFNU19BUEkpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9u
YWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBl
PiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFJlYWRhYmxlU3RyZWFtU291cmNl
IDogcHVibGljIFJlZkNvdW50ZWQ8UmVhZGFibGVTdHJlYW1Tb3VyY2U+IHsKIHB1YmxpYzoKLSAg
ICB2aXJ0dWFsIH5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFs
IH5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpOwogCiAgICAgdm9pZCBzdGFydChSZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyJiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKICAgICB2
b2lkIHB1bGwoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwpAQCAtNjMsNTkgKzY0LDEwIEBA
IHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZG9DYW5jZWwoKSA9IDA7CiAKIHByaXZhdGU6
Ci0gICAgT3B0aW9uYWw8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3Byb21pc2U7CisgICAg
c3RkOjp1bmlxdWVfcHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9wcm9taXNlOwogICAg
IE9wdGlvbmFsPFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI+IG1fY29udHJvbGxlcjsK
IH07CiAKLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpzdGFydChSZWFkYWJsZVN0
cmVhbURlZmF1bHRDb250cm9sbGVyJiYgY29udHJvbGxlciwgRE9NUHJvbWlzZURlZmVycmVkPHZv
aWQ+JiYgcHJvbWlzZSkKLXsKLSAgICBBU1NFUlQoIW1fcHJvbWlzZSk7Ci0gICAgbV9wcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKTsKLSAgICBtX2NvbnRyb2xsZXIgPSBXVEZNb3ZlKGNvbnRyb2xs
ZXIpOwotCi0gICAgc2V0QWN0aXZlKCk7Ci0gICAgZG9TdGFydCgpOwotfQotCi1pbmxpbmUgdm9p
ZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6cHVsbChET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBw
cm9taXNlKQotewotICAgIEFTU0VSVCghbV9wcm9taXNlKTsKLSAgICBBU1NFUlQobV9jb250cm9s
bGVyKTsKLQotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7Ci0KLSAgICBzZXRBY3Rp
dmUoKTsKLSAgICBkb1B1bGwoKTsKLX0KLQotaW5saW5lIHZvaWQgUmVhZGFibGVTdHJlYW1Tb3Vy
Y2U6OnN0YXJ0RmluaXNoZWQoKQotewotICAgIEFTU0VSVChtX3Byb21pc2UpOwotICAgIHN0ZDo6
ZXhjaGFuZ2UobV9wcm9taXNlLCBXVEY6Om51bGxvcHQpLnZhbHVlKCkucmVzb2x2ZSgpOwotICAg
IHNldEluYWN0aXZlKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpw
dWxsRmluaXNoZWQoKQotewotICAgIEFTU0VSVChtX3Byb21pc2UpOwotICAgIHN0ZDo6ZXhjaGFu
Z2UobV9wcm9taXNlLCBXVEY6Om51bGxvcHQpLnZhbHVlKCkucmVzb2x2ZSgpOwotICAgIHNldElu
YWN0aXZlKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpjYW5jZWwo
SlNDOjpKU1ZhbHVlKQotewotICAgIGNsZWFuKCk7Ci0gICAgZG9DYW5jZWwoKTsKLX0KLQotaW5s
aW5lIHZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OmNsZWFuKCkKLXsKLSAgICBpZiAobV9wcm9t
aXNlKSB7Ci0gICAgICAgIG1fcHJvbWlzZSA9IFdURjo6bnVsbG9wdDsKLSAgICAgICAgc2V0SW5h
Y3RpdmUoKTsKLSAgICB9Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShTVFJFQU1TX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5oCmluZGV4IDM0MTk5ODFjMzU3NGMzNzNlZTk3NjFiZmZlYjVkZTBkYmRh
YWFiMmYuLjBjNDVhZDVmOTkzNTAwYzE0ZjNlYzQxODAwYmE3MjY3YmQyM2ZmZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaApAQCAtMzAsNyAr
MzAsNiBAQAogI2luY2x1ZGUgIkF1ZGlvQnVzLmgiCiAjaW5jbHVkZSAiQXVkaW9EZXN0aW5hdGlv
bk5vZGUuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFDYW5TdGFydExpc3RlbmVyLmgiCiAjaW5jbHVk
ZSAiTWVkaWFQcm9kdWNlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uLmgiCkBA
IC03OCw2ICs3Nyw4IEBAIGNsYXNzIFNjcmlwdFByb2Nlc3Nvck5vZGU7CiBjbGFzcyBTZWN1cml0
eU9yaWdpbjsKIGNsYXNzIFdhdmVTaGFwZXJOb2RlOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExU
eXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIC8vIEF1ZGlvQ29udGV4dCBpcyB0aGUg
Y29ybmVyc3RvbmUgb2YgdGhlIHdlYiBhdWRpbyBBUEkgYW5kIGFsbCBBdWRpb05vZGVzIGFyZSBj
cmVhdGVkIGZyb20gaXQuCiAvLyBGb3IgdGhyZWFkIHNhZmV0eSBiZXR3ZWVuIHRoZSBhdWRpbyB0
aHJlYWQgYW5kIHRoZSBtYWluIHRocmVhZCwgaXQgaGFzIGEgcmVuZGVyaW5nIGdyYXBoIGxvY2tp
bmcgbWVjaGFuaXNtLiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCmluZGV4IDkxOTM0ZThkNDJj
ZGEyZmNmOTI1NjlhZWUwNzRhNWMwODYyNTM4MmUuLjg0N2QyNjYxNDM1NzAxMTdhY2UwNGQyM2Ri
N2VlNjE1Y2RiMjFjYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0
aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZS5oIgogI2luY2x1
ZGUgIkF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkpTQmFzaWND
cmVkZW50aWFsLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRl
ICJQdWJsaWNLZXlDcmVkZW50aWFsLmgiCiAjaW5jbHVkZSAiUHVibGljS2V5Q3JlZGVudGlhbENy
ZWF0aW9uT3B0aW9ucy5oIgogI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWxEYXRhLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3IuaAppbmRleCAwYjhiODQ5ZTQzNDhjZTQyYWQxY2RiMGVhZGFlMWY1M2Ni
Y2EzZmZlLi45YzY1YWU2YTY3OWJhNDk3OTU5MmUyMjk5OWI4OTNlYWEzNjYyMTljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfQVVUSE4p
CiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVz
LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIApAQCAtNDEsNiArNDEsOCBAQCBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIHN0cnVjdCBQdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zOwogc3RydWN0IFB1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9uczsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9N
UHJvbWlzZURlZmVycmVkOworCiB1c2luZyBDcmVkZW50aWFsUHJvbWlzZSA9IERPTVByb21pc2VE
ZWZlcnJlZDxJRExOdWxsYWJsZTxJRExJbnRlcmZhY2U8QmFzaWNDcmVkZW50aWFsPj4+OwogCiBj
bGFzcyBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IgZmluYWwgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaAppbmRleCAxMmRm
MGMyZDY5YzUyY2IxOTk1ZGU0OTdkMTViYjQ4Y2U0YmRmODkwLi40YmU3MTViMzU0N2Q4MmE3NmZk
N2QzODI5YWQ2YjFkZDEwZjNlYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRpYWwuaApAQCAtMjksNyArMjksNyBAQAogCiAj
aW5jbHVkZSAiQmFzaWNDcmVkZW50aWFsLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogCkBAIC00MCw2ICs0MCw4IEBAIGNsYXNzIERvY3VtZW50OwogCiBzdHJ1Y3QgUHVi
bGljS2V5Q3JlZGVudGlhbERhdGE7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNz
IERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3MgUHVibGljS2V5Q3JlZGVudGlhbCBmaW5hbCA6
IHB1YmxpYyBCYXNpY0NyZWRlbnRpYWwgewogcHVibGljOgogICAgIHN0cnVjdCBBdXRoZW50aWNh
dGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlc2VydmVWYXJpYWJsZUxpZmV0aW1lcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNlcnZlVmFyaWFi
bGVMaWZldGltZXMuY3BwCmluZGV4IDUzZTM3ODgzMDQ1MTdhMWJjOGM0ZWU4NzFjZjRhYTUzOGU4
MjRiZDcuLmUxMDE2MzZmMWFlOTUyYzk5ZDMwZDM2YTJkZjEyNjAxNmY1OTg5YTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMUHJlc2VydmVWYXJp
YWJsZUxpZmV0aW1lcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hM
U0wvV0hMU0xQcmVzZXJ2ZVZhcmlhYmxlTGlmZXRpbWVzLmNwcApAQCAtMzAsNiArMzAsNyBAQAog
CiAjaW5jbHVkZSAiV0hMU0xBU1QuaCIKICNpbmNsdWRlICJXSExTTEFTVER1bXBlci5oIgorI2lu
Y2x1ZGUgIldITFNMTGV4ZXIuaCIKICNpbmNsdWRlICJXSExTTFByb2dyYW0uaCIKICNpbmNsdWRl
ICJXSExTTFJlcGxhY2VXaXRoLmgiCiAjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFN0YW5kYXJkTGli
cmFyeVV0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFN0YW5kYXJkTGlicmFyeVV0aWxpdGllcy5jcHAKaW5kZXggMTJkYzM1MDZmNDdkY2I3NWY2
NWZlMWU1MDQxZmUyNmUyZWQ3OTBkOS4uNTA4ZmU5OGRmYjFkNjNlNmY5YWUwMDIyMjdiN2I5YWJl
Yzk0NWQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wv
V0hMU0xTdGFuZGFyZExpYnJhcnlVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcApAQCAt
MzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiV0hMU0xDYWxsRXhwcmVzc2lvbi5oIgogI2luY2x1
ZGUgIldITFNMUGFyc2VyLmgiCisjaW5jbHVkZSAiV0hMU0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAi
V0hMU0xTdGFuZGFyZExpYnJhcnkuaCIKICNpbmNsdWRlICJXSExTTFN0YW5kYXJkTGlicmFyeUZ1
bmN0aW9uTWFwLmgiCiAjaW5jbHVkZSAiV0hMU0xWaXNpdG9yLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVLmNwcAppbmRleCAxNmNhNGQ5MTIyOGNhYzNkOWM5NTQ0NzBjYTk1
YjE5Y2RlNTUwYmEwLi42YjM5YmRjNzhjZmIxMzI3ODdmNDBkNmViOTk4NjNlN2YyMGE1NzRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVS5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKICNpZiBFTkFCTEUoV0VCR1BVKQogCiAjaW5jbHVkZSAiR1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU1dl
YkdQVUFkYXB0ZXIuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmdwdS9XZWJHUFUuaAppbmRleCA3OGEzOGUyOTMxMzUxZTljOGYxODY2YTRiNDlk
YzE4M2M2M2M5YzgyLi4xNjFlNmNkZTc3ODgzOTg3YTgxODFlMmNjYTI5NDEyZDFhNGMxMGEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFUuaApAQCAtMjcsNyArMjcsNyBAQAog
CiAjaWYgRU5BQkxFKFdFQkdQVSkKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CisjaW5jbHVkZSAiSURMVHlwZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNSw2
ICszNSw4IEBAIGNsYXNzIFdlYkdQVUFkYXB0ZXI7CiAKIHN0cnVjdCBHUFVSZXF1ZXN0QWRhcHRl
ck9wdGlvbnM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VE
ZWZlcnJlZDsKKwogY2xhc3MgV2ViR1BVIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVPiB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJHUFU+IGNyZWF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmNwcAppbmRleCA2OTc4OWQ5NDkxZTc3
MGRjNjI3ZGU1Njk5ZGZjMjIzNjQwMzA4ZjYwLi42ZGJhN2QwNjdjZWNlNDliNGZkNThiMjUzYzZi
OWFkMzUwZGNmMzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9X
ZWJHUFVBZGFwdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVBZGFwdGVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTV2ViR1BVRGV2aWNlLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVUFkYXB0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0
ZXIuaAppbmRleCAxODQ5NTE5NzcyZDMyYmMyM2JiNTI0NTc0Yjc4MDY4MjMxNmM5ODNjLi45ZDdj
MTdjYWExNzNhNzFhNWM0MmM4Mzk3ODc4MDZjZDM0ODZjMTIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQWRhcHRlci5oCkBAIC0yOCw3ICsyOCw3IEBACiAjaWYg
RU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIkdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucy5oIgot
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIK
ICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTM4LDYgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBXZWJHUFVEZXZpY2U7CiAKK3RlbXBsYXRlPHR5cGVu
YW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3MgV2ViR1BVQWRh
cHRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVUFkYXB0ZXI+IHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFdlYkdQVUFkYXB0ZXI+IGNyZWF0ZShPcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRl
ck9wdGlvbnM+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1
ZmZlci5jcHAKaW5kZXggYmEyNTk2M2ExMjA0N2U3YjBkMTQ1ZGM0Mjg0NzgwMGE2YTJlMWZkZS4u
NDFmNDE2ODc5ZWU2YzM0Yzc3MTJiMmFkZmJiNTY5MzEyZjlmZTVhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaWYgRU5BQkxFKFdFQkdQVSkKIAogI2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCisjaW5j
bHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdD
b25jYXRlbmF0ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oCmluZGV4IGQ5OTZiNWVlZTlkOGUwMjgxZTA2MjZk
N2NlYjZjMTg1MTE2NmNlMzkuLmIyZWVlMjA5MmEzZGVkZjdiNzM1MjZkOWVkOGEzMjkyM2FlZjRi
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oCkBA
IC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiR1BVQnVmZmVyLmgiCiAjaW5jbHVkZSAiR1BVQnVm
ZmVyVXNhZ2UuaCIKICNpbmNsdWRlICJHUFVPYmplY3RCYXNlLmgiCi0jaW5jbHVkZSAiSlNET01Q
cm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00MSw2ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RydWN0IEdQVUJ1ZmZlckRlc2NyaXB0b3I7CiAKK3RlbXBsYXRlPHR5cGVu
YW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3MgV2ViR1BVQnVm
ZmVyIDogcHVibGljIEdQVU9iamVjdEJhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2Vi
R1BVQnVmZmVyPiBjcmVhdGUoUmVmUHRyPEdQVUJ1ZmZlcj4mJiwgR1BVRXJyb3JTY29wZXMmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuY3BwCmluZGV4
IDdkNWRlNzljODAyNjUxOGM0MDgxYWEwMmM2ODk0MjlmMmI3MmZhM2IuLjZkYzhkYjMxNDBjOTA5
MzkyOGNmYTZmYWZjOTlkOGE1MjJhODAyZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV2ViR1BVRGV2aWNlLmNwcApAQCAtNTEsNiArNTEsNyBAQAogI2luY2x1ZGUgIkdQ
VVVuY2FwdHVyZWRFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0dQVU91dE9mTWVtb3J5RXJyb3Iu
aCIKICNpbmNsdWRlICJKU0dQVVZhbGlkYXRpb25FcnJvci5oIgogI2luY2x1ZGUgIkpTV2ViR1BV
QnVmZmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJH
UFVEZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5o
CmluZGV4IDIxYjU0MTdjMjEwYTc1ZjhiYjk5YzIyNzMxMjE0Y2JkMjAzOWQxYTEuLjVkMzViY2Yy
N2ZmOGQyNmI1MTQzNTE0ODlmYmFjODRjY2FkMTNmNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAi
RXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJHUFVEZXZpY2UuaCIKICNpbmNsdWRlICJHUFVFcnJv
clNjb3Blcy5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAi
SURMVHlwZXMuaCIKICNpbmNsdWRlICJXZWJHUFVBZGFwdGVyLmgiCiAjaW5jbHVkZSAiV2ViR1BV
UXVldWUuaCIKICNpbmNsdWRlICJXZWJHUFVTd2FwQ2hhaW5EZXNjcmlwdG9yLmgiCkBAIC03Miw2
ICs3Miw4IEBAIHN0cnVjdCBXZWJHUFVTaGFkZXJNb2R1bGVEZXNjcmlwdG9yOwogCiBlbnVtIGNs
YXNzIEdQVUVycm9yRmlsdGVyOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBE
T01Qcm9taXNlRGVmZXJyZWQ7CisKIHVzaW5nIEVycm9ySURMVW5pb24gPSBJRExVbmlvbjxJRExJ
bnRlcmZhY2U8R1BVT3V0T2ZNZW1vcnlFcnJvcj4sIElETEludGVyZmFjZTxHUFVWYWxpZGF0aW9u
RXJyb3I+PjsKIHVzaW5nIEVycm9yUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExOdWxs
YWJsZTxFcnJvcklETFVuaW9uPj47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2
ci9OYXZpZ2F0b3JXZWJWUi5jcHAKaW5kZXggNzc2YzQzYWVjMGI5YjViZGVhZGMzZGQ4OTEyNmFj
ZWQ2YmE3NTE2OC4uNGRmMTAyMTFhN2E0NjllYWUxODlkZmE0ZGM1MGE4YzNmNzlhNTNjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5jcHAKQEAg
LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJOYXZpZ2F0b3JXZWJWUi5oIgogCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IkpTVlJEaXNwbGF5LmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCiAjaW5jbHVkZSAiUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9OYXZp
Z2F0b3JXZWJWUi5oCmluZGV4IDU2MTBiYTFlODI0NjZlNTRlMDVhY2M3YTA1MTVlNjVjNWY4ZWZk
OWYuLmZmZDcxMzljZWFjNzVlZDRiODBkNzg5MTM1YzM4ODZlZGJjYWVjYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9yV2ViVlIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmlnYXRvcldlYlZSLmgKQEAgLTI1LDcgKzI1LDcg
QEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgor
I2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM2LDYgKzM2LDggQEAgY2xhc3MgTmF2aWdhdG9yOwog
Y2xhc3MgUGFnZTsKIGNsYXNzIFZSRGlzcGxheTsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlw
ZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFzcyBOYXZpZ2F0b3JXZWJWUiBmaW5h
bCA6IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2
ci9WUkRpc3BsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXku
Y3BwCmluZGV4IGM2NjY3YmJmNjAwZWMyMDJkZmY5ZmU1Y2IzNjA0YjliYTZkZWJlY2QuLjgwNmE3
YWI5YTQwNjIzYzAzMmFkZjI3ZTM1MjU2YzA3MTI0YjRmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJE
T01FeGNlcHRpb24uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
VXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VidnIvVlJEaXNwbGF5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlz
cGxheS5oCmluZGV4IDU4NTEzYzZlZjliMTFiYjcwZWU2NjkyODExMzBmNzgzMjAzZmU1NDMuLjFj
YWQ4NDY0ZmIwMWFhMTMyNTMzYmJkMmQxNDM5OWNlYTc0YzQxYTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaW5jbHVkZSAi
QWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlZSRXllLmgiCiAjaW5jbHVkZSAiVlJM
YXllckluaXQuaCIKICNpbmNsdWRlICJWUlBsYXRmb3JtRGlzcGxheUNsaWVudC5oIgpAQCAtMzYs
NiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIEV4Y2VwdGlvbkNvZGU7Citj
bGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFj
azsKIGNsYXNzIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjsKIGNsYXNzIFZSRGlzcGxheUNh
cGFiaWxpdGllczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggOWMxNzFlNTZjMDBlMzJlYzQ5ODA3ZTcxMDUw
MDAzZDYwZGIwMWQwOC4uZGNlYTY2NjIzZmMyNGRiODg0NTAyYjJjNWY0ZTBjOGE4YWE2ZmRkNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKQEAgLTIwNSw2ICsyMDUsNyBAQCBNb2R1bGVzL3NwZWVjaC9TcGVlY2hT
eW50aGVzaXNVdHRlcmFuY2UuY3BwCiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2lj
ZS5jcHAKIAogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU2luay5jcHAKK01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5jcHAKIAogTW9kdWxlcy93ZWJhdWRpby9BbmFs
eXNlck5vZGUuY3BwCiBNb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDA4YTQ2OTJjNzE4ZjM5NTIwZjFjMjJmZGViNTgyMDM3YTRmOWFkZGYuLjgwY2ViMzkwYTExYTE3
NzIwYzgzMmU3ZGVlMzFkM2Y1NGI4YzZkMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY2MzEsNiArNjYzMSw3IEBACiAJCTJE
M0VGNDQ1MTkxNzkxNUMwMDAzNDE4NCAvKiBXZWJBY3Rpb25EaXNhYmxpbmdDQUxheWVyRGVsZWdh
dGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY3Rpb25E
aXNhYmxpbmdDQUxheWVyRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJEM0VGNDQ2MTkxNzkxNUMwMDAzNDE4NCAvKiBXZWJDb3JlQ0FMYXllckV4dHJhcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlQ0FMYXllckV4dHJhcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDNFRjQ0NzE5MTc5MTVDMDAwMzQxODQgLyogV2Vi
Q29yZUNBTGF5ZXJFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBXZWJDb3JlQ0FMYXllckV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMkQ0M0VCMkQyMzQ3MkJDMzAwMkExRUQ0IC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtU291cmNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ0NkYwNEQxN0I5NkZCRDAwNTY0
N0YwIC8qIEludFBvaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEludFBvaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ0NkYwNEYxN0I5
NkZEMjAwNTY0N0YwIC8qIEludFNpemUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW50U2l6ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENEY5
NkYxMUExRUNDMjQwMDk4QkY4OCAvKiBUZXh0SW5kaWNhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRJbmRpY2F0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTc5MzYsNiArMTc5MzcsNyBAQAogCQkJCTQxMjlDOTg3MUY1ODY2MkQw
MDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuY3BwICovLAogCQkJCTQxMjlDOTgwMUY1ODYx
QzcwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNpbmsuaCAqLywKIAkJCQk0MTI5Qzk4MTFGNTg2
MUM3MDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmlkbCAqLywKKwkJCQkyRDQzRUIyRDIz
NDcyQkMzMDAyQTFFRDQgLyogUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3BwICovLAogCQkJCTQxOEMz
OTVCMUM4RjBBNjEwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5oICovLAogCQkJCTQx
OEMzOTVDMUM4RjBBNjEwMDUxQzhBMyAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5pZGwgKi8sCiAJ
CQkJOTkwOEIwRjExQkNBQ0Y5MTAwRUQwRjU1IC8qIFN0cmVhbUludGVybmFscy5qcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmluZGV4IGMwN2EwMmY1
Njk0YjFhMDFjNmZlMzA1NmQ3Njc4ZDhhNGIzMWFhZTQuLmZhMTU3ZGMzYWI2NTM4ZTVjY2NiY2U5
OWJjMGYxZmFiMjI2ZjczZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9L
ZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0LmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVz
LmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGVPcGVyYXRpb24uaCIKICNpbmNsdWRlICJKU0NvbXBv
c2l0ZU9wZXJhdGlvbk9yQXV0by5oIgorI2luY2x1ZGUgIkpTRE9NQ29udmVydC5oIgogI2luY2x1
ZGUgIkpTS2V5ZnJhbWVFZmZlY3QuaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKICNpbmNsdWRl
ICJSZW5kZXJCb3hNb2RlbE9iamVjdC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5p
bWF0aW9uLmNwcAppbmRleCA1MDRhMmYzZWVmZjdhZmNhOGRlN2Q1ZmM0OGYwOWY5NTE0ZTMxMjE1
Li4zMTk0YjMyNzQ3NWZmMTZlOWFkZDExNDI5YzY4ZTBlNTViYWU0MWZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkFuaW1hdGlvbkVmZmVjdC5oIgogI2luY2x1ZGUgIkFuaW1hdGlvblBsYXliYWNrRXZlbnQu
aCIKICNpbmNsdWRlICJBbmltYXRpb25UaW1lbGluZS5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQ
cm94eS5oIgogI2luY2x1ZGUgIkRlY2xhcmF0aXZlQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudFRpbWVsaW5lLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vV2ViQW5pbWF0aW9uLmgKaW5kZXggMzU5MmQ2MjYyY2U4NmIyMDkxMmFjNWY0ZDU2YzNj
ZDM0NzFlZjBkZS4uMjBiNGNjYTZjN2E1NDk2NWI2MDBiZmViYTcwNzVkYzMxYWJkNDUxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaApAQCAtMjYsOSArMjYsOSBAQAog
I3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJE
T01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJXZWJBbmltYXRp
b25VdGlsaXRpZXMuaCIKICNpbmNsdWRlIDx3dGYvTWFya2FibGUuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpAQCAtNDUsNiArNDUsOCBAQCBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEVs
ZW1lbnQ7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZVByb3h5V2l0aFJlc29sdmVDYWxsYmFjazsKKwogY2xhc3MgV2ViQW5p
bWF0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViQW5pbWF0aW9uPiwgcHVibGljIENhbk1ha2VX
ZWFrUHRyPFdlYkFuaW1hdGlvbj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYkFu
aW1hdGlvbik7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyLmNwcAppbmRleCA1ZmI3NGU0YWJhNDBiZWYzZTAx
NWVhYjdjMjBhODFmZWJhOGRlNjA4Li5hYWMzZDRhYzRmOTA5MzU4NTI5YWI2MTNmNzVmOTg1ZGE0
MzFjN2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1
bGVTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlci5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJET01X
cmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTW9kdWxl
RmV0Y2hQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgiCiAj
aW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkTW9kdWxlU2NyaXB0TG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaAppbmRleCA3
YzQxNGQ4OWQ0ZTk3MzU5OTU5OTEzNzk1ZjhjNzU2NTkxNTE4ODEzLi44Njg4YWQ5MGRhZTNlY2U5
NDllYTA5YjFlZmVlNWRhMjZmOTRjNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXJDbGllbnQuaApAQCAtMjUs
MTEgKzI1LDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVm
ZXJyZWQuaCIKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRNb2R1bGVTY3Jp
cHRMb2FkZXI7CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiAKIGNsYXNzIENhY2hlZE1vZHVsZVNj
cmlwdExvYWRlckNsaWVudCB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJlZC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaAppbmRleCBkOTYwMjhiYzJmZDNkMTA2YjBlNDRk
Njg3ZGQwMTkzZTIxY2EwZjQyLi5iYzc0YWFmM2NhZjI5ZGUzODk2MDg4MjlmNGZmMDJmYzRkMjI1
NDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2VE
ZWZlcnJlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZURl
ZmVycmVkLmgKQEAgLTE2Niw2ICsxNjYsNyBAQCBwcml2YXRlOgogfTsKIAogY2xhc3MgRE9NUHJv
bWlzZURlZmVycmVkQmFzZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgRE9NUHJvbWlzZURlZmVycmVkQmFzZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIGdlbmVy
aWNQcm9taXNlKQogICAgICAgICA6IG1fcHJvbWlzZURlZmVycmVkKFdURk1vdmUoZ2VuZXJpY1By
b21pc2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MVGVt
cGxhdGVFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRN
TFRlbXBsYXRlRWxlbWVudEN1c3RvbS5jcHAKaW5kZXggNWUzNGNkZTJkZjM4Y2EwMzk3N2E0MDY5
YTZmNDc3NjRiYjdlMGEyOC4uODM1ZmQ2N2UzOGJjZGQyZWEyOGMxMTQxODMyZjVmNWMzZDZhZTZm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVF
bGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxU
ZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCkBAIC0zMSw5ICszMSw5IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiSlNIVE1MVGVtcGxhdGVFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJK
U0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJKU0RvY3VtZW50RnJhZ21lbnQuaCIKIAotCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAKaW5kZXggN2E4Y2FlZGMwYTdk
NjQzNGVlMzFmMjk2ZGQwYTQ5YWYwOWNiNjJmZi4uZmFiNDBjYThhY2NkNmNhNjI1NTUwZjBmMzNh
ZGNjZDUzZGRiNzExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJ
bWFnZURhdGFDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1h
Z2VEYXRhQ3VzdG9tLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkpTSW1hZ2VEYXRhLmgiCiAKLSNpbmNsdWRlICJKU0RPTUNvbnZlcnRCdWZmZXJT
b3VyY2UuaCIKKyNpbmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJKU0RPTVdyYXBw
ZXJDYWNoZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hlYXBJbmxpbmVzLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSWRlbnRpZmllcklubGluZXMuaD4KQEAgLTM0LDcgKzM0LDYg
QEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVh
bVNvdXJjZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxl
U3RyZWFtU291cmNlQ3VzdG9tLmNwcAppbmRleCBmZTk3NWZiMGQ1NmI0YWI1NzNjMGQyY2NjY2Ew
NmVhZWNmNTUxYzViLi5iNjUwMjZlZjk2YTg3YTAwOThkYThkODdiOGJiMGYzOTIwMGQzODE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtU291
cmNlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxl
U3RyZWFtU291cmNlQ3VzdG9tLmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaWYgRU5BQkxFKFNU
UkVBTVNfQVBJKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9uQ3VzdG9tLmNwcAppbmRleCBmMWI0NDdkODM0
ZjI4NjljZmQ2NGFkYzlkYjMyYmIxZDE3YjhkM2VmLi44ZTljYjllYjk0NjM5NGY1ODkzODNiYjQ1
NjhjMmVkYTk1YjkzMzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dlYkFuaW1hdGlvbkN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXZWJBbmltYXRpb25DdXN0b20uY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSlND
U1NBbmltYXRpb24uaCIKICNpbmNsdWRlICJKU0NTU1RyYW5zaXRpb24uaCIKICNpbmNsdWRlICJK
U0RPTUNvbnN0cnVjdG9yLmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCmluZGV4IDliZDY2NDQ2MDE3MDU0OTVhOTRlN2IzZmFk
ZjA0OGYzYzdiMDQzZjcuLmZjMzZiMzMwZTE1YzNhOGM5NDVmNzk1NWE1ODUxN2Y1ZmIxM2Q4NTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2Nv
cGVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2Jh
bFNjb3BlQmFzZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJBY3RpdmVET01DYWxs
YmFja01pY3JvdGFzay5oIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUg
IkpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIgorI2luY2x1ZGUgIkpTRE9NR3VhcmRlZE9iamVjdC5o
IgogI2luY2x1ZGUgIkpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJK
U01pY3JvdGFza0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiSlNXb3JrZXJHbG9iYWxTY29wZS5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNj
b3BlQ3VzdG9tLmNwcAppbmRleCAwYjczNDVhYzExYjNhNGFlNmI2ZGQxN2YyOTYyMjRkMGRjYjI1
NzJkLi5kZDNkZTJjZWY3MzUyMzM0ZDEyZTI5Mjk0MGU2ZjI0M2Y2YTA1M2QxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3Vz
dG9tLmNwcApAQCAtMjYsMTAgKzI2LDEwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSlNXb3JrZXJHbG9iYWxTY29wZS5oIgogCisjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5k
bGluZy5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNNaWNyb3Rhc2suaD4KIAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBu
YW1lc3BhY2UgSlNDOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXb3JrbGV0R2xvYmFsU2NvcGVCYXNlLmNwcAppbmRleCA3MTUxM2E3MjQ5MjIzYTk3MmIwYTBi
NzVmOTMxNjAxYTVlOTg5YTJkLi44OTQzNmU5M2JjZGUzMzIyNTdkYTVkZjUyNGNiMWE4NjkzMmU5
N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9i
YWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2xl
dEdsb2JhbFNjb3BlQmFzZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgIkRPTVdy
YXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0VGFzay5oIgorI2luY2x1
ZGUgIkpTRE9NR3VhcmRlZE9iamVjdC5oIgogI2luY2x1ZGUgIkpTV29ya2xldEdsb2JhbFNjb3Bl
LmgiCiAjaW5jbHVkZSAiV29ya2xldEdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29ya2xldFNj
cmlwdENvbnRyb2xsZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdE1vZHVsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRNb2R1bGVMb2FkZXIuY3BwCmluZGV4IGE5NDFmYjRlMjUwMjE1YmNkN2I1MjY2YTBmM2VmM2Ex
NzU0ZGY1NWQuLjVlYWUyMTIwNDcyOTA5ZWU1ZjAzNWI0MDY3OTgyZWFjYzM4MTdhNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0TW9kdWxlTG9hZGVyLmNwcApA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIkxvYWRhYmxlTW9kdWxlU2NyaXB0LmgiCiAjaW5jbHVkZSAiTUlN
RVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1vZHVsZUZldGNoRmFpbHVyZUtpbmQuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZhY2UuY3BwCmluZGV4IGUxYjFhZjIwZmIxMWFlM2RmZWUxOTJjYWM5MmU2MmNk
ZWE1NTdkYzguLmEyZTkzZThlZGNhOTVmYTJkZWE2MjgzOTE1Y2JlZTA5OTU1MGViNDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0ZvbnRGYWNlLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkNTU1VuaWNv
ZGVSYW5nZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVkZSAiQ1NT
VmFsdWVQb29sLmgiCisjaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJGb250VmFyaWFudEJ1aWxkZXIuaCIKICNpbmNsdWRlICJKU0Zv
bnRGYWNlLmgiCkBAIC0xMjYsMTQgKzEyNywxNCBAQCBSZWY8Rm9udEZhY2U+IEZvbnRGYWNlOjpj
cmVhdGUoQ1NTRm9udEZhY2UmIGZhY2UpCiAKIEZvbnRGYWNlOjpGb250RmFjZShDU1NGb250U2Vs
ZWN0b3ImIGZvbnRTZWxlY3RvcikKICAgICA6IG1fYmFja2luZyhDU1NGb250RmFjZTo6Y3JlYXRl
KCZmb250U2VsZWN0b3IsIG51bGxwdHIsIHRoaXMpKQotICAgICwgbV9sb2FkZWRQcm9taXNlKCp0
aGlzLCAmRm9udEZhY2U6OmxvYWRlZFByb21pc2VSZXNvbHZlKQorICAgICwgbV9sb2FkZWRQcm9t
aXNlKG1ha2VVbmlxdWVSZWY8TG9hZGVkUHJvbWlzZT4oKnRoaXMsICZGb250RmFjZTo6bG9hZGVk
UHJvbWlzZVJlc29sdmUpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKIH0K
IAogRm9udEZhY2U6OkZvbnRGYWNlKENTU0ZvbnRGYWNlJiBmYWNlKQogICAgIDogbV9iYWNraW5n
KGZhY2UpCi0gICAgLCBtX2xvYWRlZFByb21pc2UoKnRoaXMsICZGb250RmFjZTo6bG9hZGVkUHJv
bWlzZVJlc29sdmUpCisgICAgLCBtX2xvYWRlZFByb21pc2UobWFrZVVuaXF1ZVJlZjxMb2FkZWRQ
cm9taXNlPigqdGhpcywgJkZvbnRGYWNlOjpsb2FkZWRQcm9taXNlUmVzb2x2ZSkpCiB7CiAgICAg
bV9iYWNraW5nLT5hZGRDbGllbnQoKnRoaXMpOwogfQpAQCAtNDYzLDE1ICs0NjQsMTUgQEAgdm9p
ZCBGb250RmFjZTo6Zm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYgZmFjZSwgQ1NTRm9udEZh
Y2U6OlN0YXR1cywgQ1NTRm9udEYKICAgICBjYXNlIENTU0ZvbnRGYWNlOjpTdGF0dXM6OlN1Y2Nl
c3M6CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIHNob3VsZCBub3QgYmUgbmVlZGVkLCBi
dXQgYmVjYXVzZSBGb250RmFjZSdzIGFyZSBzb21ldGltZXMgYWRvcHRlZCBhZnRlciB0aGV5IGhh
dmUgYWxyZWFkeQogICAgICAgICAvLyBnb25lIHRocm91Z2ggYSBsb2FkIGN5Y2xlLCB3ZSBjYW4g
c29tZXRpbWVzIGNvbWUgYmFjayB0aHJvdWdoIGhlcmUgYW5kIHRyeSB0byByZXNvbHZlIHRoZSBw
cm9taXNlIGFnYWluLiAgCi0gICAgICAgIGlmICghbV9sb2FkZWRQcm9taXNlLmlzRnVsZmlsbGVk
KCkpCi0gICAgICAgICAgICBtX2xvYWRlZFByb21pc2UucmVzb2x2ZSgqdGhpcyk7CisgICAgICAg
IGlmICghbV9sb2FkZWRQcm9taXNlLT5pc0Z1bGZpbGxlZCgpKQorICAgICAgICAgICAgbV9sb2Fk
ZWRQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKICAgICAgICAgZGVyZWYoKTsKICAgICAgICAgcmV0
dXJuOwogICAgIGNhc2UgQ1NTRm9udEZhY2U6OlN0YXR1czo6RmFpbHVyZToKICAgICAgICAgLy8g
RklYTUU6IFRoaXMgY2hlY2sgc2hvdWxkIG5vdCBiZSBuZWVkZWQsIGJ1dCBiZWNhdXNlIEZvbnRG
YWNlJ3MgYXJlIHNvbWV0aW1lcyBhZG9wdGVkIGFmdGVyIHRoZXkgaGF2ZSBhbHJlYWR5CiAgICAg
ICAgIC8vIGdvbmUgdGhyb3VnaCBhIGxvYWQgY3ljbGUsIHdlIGNhbiBzb21ldGltZXMgY29tZSBi
YWNrIHRocm91Z2ggaGVyZSBhbmQgdHJ5IHRvIHJlc29sdmUgdGhlIHByb21pc2UgYWdhaW4uICAK
LSAgICAgICAgaWYgKCFtX2xvYWRlZFByb21pc2UuaXNGdWxmaWxsZWQoKSkKLSAgICAgICAgICAg
IG1fbG9hZGVkUHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTmV0d29ya0Vycm9yIH0pOworICAg
ICAgICBpZiAoIW1fbG9hZGVkUHJvbWlzZS0+aXNGdWxmaWxsZWQoKSkKKyAgICAgICAgICAgIG1f
bG9hZGVkUHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IE5ldHdvcmtFcnJvciB9KTsKICAgICAg
ICAgZGVyZWYoKTsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ1NTRm9udEZhY2U6OlN0YXR1
czo6UGVuZGluZzoKQEAgLTQ4Myw3ICs0ODQsNyBAQCB2b2lkIEZvbnRGYWNlOjpmb250U3RhdGVD
aGFuZ2VkKENTU0ZvbnRGYWNlJiBmYWNlLCBDU1NGb250RmFjZTo6U3RhdHVzLCBDU1NGb250Rgog
YXV0byBGb250RmFjZTo6bG9hZCgpIC0+IExvYWRlZFByb21pc2UmCiB7CiAgICAgbV9iYWNraW5n
LT5sb2FkKCk7Ci0gICAgcmV0dXJuIG1fbG9hZGVkUHJvbWlzZTsKKyAgICByZXR1cm4gbV9sb2Fk
ZWRQcm9taXNlLmdldCgpOwogfQogCiBGb250RmFjZSYgRm9udEZhY2U6OmxvYWRlZFByb21pc2VS
ZXNvbHZlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKaW5kZXggZjA1YTdlZjA4NmY5YzM1YWQxODJkMDUy
ZWI2ZDE3NzRjNzgxMzkwZS4uZGM3YjFhYzY5YmM1MDMyM2I3NzZlOWUxZWQ4ODAyYTRhYzExYTBl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKQEAgLTI3LDcgKzI3LDggQEAKIAogI2luY2x1ZGUgIkNT
U0ZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgotI2luY2x1ZGUgIkRP
TVByb21pc2VQcm94eS5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCisjaW5jbHVkZSA8d3RmL1Vu
aXF1ZVJlZi5oPgogI2luY2x1ZGUgPHd0Zi9WYXJpYW50Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KIApAQCAtMzgsNiArMzksOCBAQCBjbGFzcyBBcnJheUJ1ZmZlclZpZXc7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJv
bWlzZVByb3h5V2l0aFJlc29sdmVDYWxsYmFjazsKKwogY2xhc3MgRm9udEZhY2UgZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxGb250RmFjZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxGb250RmFj
ZT4sIHByaXZhdGUgQ1NTRm9udEZhY2U6OkNsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RydWN0IERl
c2NyaXB0b3JzIHsKQEAgLTc3LDcgKzgwLDcgQEAgcHVibGljOgogICAgIExvYWRTdGF0dXMgc3Rh
dHVzKCkgY29uc3Q7CiAKICAgICB1c2luZyBMb2FkZWRQcm9taXNlID0gRE9NUHJvbWlzZVByb3h5
V2l0aFJlc29sdmVDYWxsYmFjazxJRExJbnRlcmZhY2U8Rm9udEZhY2U+PjsKLSAgICBMb2FkZWRQ
cm9taXNlJiBsb2FkZWQoKSB7IHJldHVybiBtX2xvYWRlZFByb21pc2U7IH0KKyAgICBMb2FkZWRQ
cm9taXNlJiBsb2FkZWQoKSB7IHJldHVybiBtX2xvYWRlZFByb21pc2UuZ2V0KCk7IH0KICAgICBM
b2FkZWRQcm9taXNlJiBsb2FkKCk7CiAKICAgICB2b2lkIGFkb3B0KENTU0ZvbnRGYWNlJik7CkBA
IC05OSw3ICsxMDIsNyBAQCBwcml2YXRlOgogICAgIEZvbnRGYWNlJiBsb2FkZWRQcm9taXNlUmVz
b2x2ZSgpOwogCiAgICAgUmVmPENTU0ZvbnRGYWNlPiBtX2JhY2tpbmc7Ci0gICAgTG9hZGVkUHJv
bWlzZSBtX2xvYWRlZFByb21pc2U7CisgICAgVW5pcXVlUmVmPExvYWRlZFByb21pc2U+IG1fbG9h
ZGVkUHJvbWlzZTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250
RmFjZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCmluZGV4IGEx
NzBlMDEyZjljOGY5ZDBhNmQzODM1MDA2MGRmZGQ3NDkxYWJlZWEuLmJhNjdlYjQ2Yzc1ODUyYTMy
YjkxOTMyOTM3NTczNGU2M2NkZTU4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9G
b250RmFjZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmNwcApA
QCAtMjksNyArMjksOSBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udEZh
Y2UuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAj
aW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJKU0ZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZVNldC5oIgog
I2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC01NSw3ICs1Nyw3IEBAIFJlZjxG
b250RmFjZVNldD4gRm9udEZhY2VTZXQ6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIENTU0Zv
bnRGYWNlU2V0JiBiYWNraW5nCiBGb250RmFjZVNldDo6Rm9udEZhY2VTZXQoRG9jdW1lbnQmIGRv
Y3VtZW50LCBjb25zdCBWZWN0b3I8UmVmUHRyPEZvbnRGYWNlPj4mIGluaXRpYWxGYWNlcykKICAg
ICA6IEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCkKICAgICAsIG1fYmFja2luZyhDU1NGb250RmFj
ZVNldDo6Y3JlYXRlKCkpCi0gICAgLCBtX3JlYWR5UHJvbWlzZSgqdGhpcywgJkZvbnRGYWNlU2V0
OjpyZWFkeVByb21pc2VSZXNvbHZlKQorICAgICwgbV9yZWFkeVByb21pc2UobWFrZVVuaXF1ZVJl
ZjxSZWFkeVByb21pc2U+KCp0aGlzLCAmRm9udEZhY2VTZXQ6OnJlYWR5UHJvbWlzZVJlc29sdmUp
KQogICAgICwgbV90YXNrUXVldWUoU3VzcGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZSgmZG9jdW1l
bnQpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKQEAgLTY2LDE0ICs2OCwx
NCBAQCBGb250RmFjZVNldDo6Rm9udEZhY2VTZXQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBW
ZWN0b3I8UmVmUHRyPEZvbnRGYWNlPj4mIGluaQogRm9udEZhY2VTZXQ6OkZvbnRGYWNlU2V0KERv
Y3VtZW50JiBkb2N1bWVudCwgQ1NTRm9udEZhY2VTZXQmIGJhY2tpbmcpCiAgICAgOiBBY3RpdmVE
T01PYmplY3QoZG9jdW1lbnQpCiAgICAgLCBtX2JhY2tpbmcoYmFja2luZykKLSAgICAsIG1fcmVh
ZHlQcm9taXNlKCp0aGlzLCAmRm9udEZhY2VTZXQ6OnJlYWR5UHJvbWlzZVJlc29sdmUpCisgICAg
LCBtX3JlYWR5UHJvbWlzZShtYWtlVW5pcXVlUmVmPFJlYWR5UHJvbWlzZT4oKnRoaXMsICZGb250
RmFjZVNldDo6cmVhZHlQcm9taXNlUmVzb2x2ZSkpCiAgICAgLCBtX3Rhc2tRdWV1ZShTdXNwZW5k
YWJsZVRhc2tRdWV1ZTo6Y3JlYXRlKCZkb2N1bWVudCkpCiB7CiAgICAgaWYgKGRvY3VtZW50LmZy
YW1lKCkpCiAgICAgICAgIG1faXNGaXJzdExheW91dERvbmUgPSBkb2N1bWVudC5mcmFtZSgpLT5s
b2FkZXIoKS5zdGF0ZU1hY2hpbmUoKS5maXJzdExheW91dERvbmUoKTsKIAogICAgIGlmIChtX2lz
Rmlyc3RMYXlvdXREb25lICYmICFiYWNraW5nLmhhc0FjdGl2ZUZvbnRGYWNlcygpKQotICAgICAg
ICBtX3JlYWR5UHJvbWlzZS5yZXNvbHZlKCp0aGlzKTsKKyAgICAgICAgbV9yZWFkeVByb21pc2Ut
PnJlc29sdmUoKnRoaXMpOwogCiAgICAgbV9iYWNraW5nLT5hZGRDbGllbnQoKnRoaXMpOwogfQpA
QCAtOTYsNyArOTgsNyBAQCBSZWZQdHI8Rm9udEZhY2U+IEZvbnRGYWNlU2V0OjpJdGVyYXRvcjo6
bmV4dCgpCiB9CiAKIEZvbnRGYWNlU2V0OjpQZW5kaW5nUHJvbWlzZTo6UGVuZGluZ1Byb21pc2Uo
TG9hZFByb21pc2UmJiBwcm9taXNlKQotICAgIDogcHJvbWlzZShXVEZNb3ZlKHByb21pc2UpKQor
ICAgIDogcHJvbWlzZShtYWtlVW5pcXVlUmVmPExvYWRQcm9taXNlPihXVEZNb3ZlKHByb21pc2Up
KSkKIHsKIH0KIApAQCAtMTcwLDcgKzE3Miw3IEBAIHZvaWQgRm9udEZhY2VTZXQ6OmxvYWQoY29u
c3QgU3RyaW5nJiBmb250LCBjb25zdCBTdHJpbmcmIHRleHQsIExvYWRQcm9taXNlJiYgcHJvCiAg
ICAgfQogCiAgICAgaWYgKCF3YWl0aW5nKQotICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlz
ZS5yZXNvbHZlKHBlbmRpbmdQcm9taXNlLT5mYWNlcyk7CisgICAgICAgIHBlbmRpbmdQcm9taXNl
LT5wcm9taXNlLT5yZXNvbHZlKHBlbmRpbmdQcm9taXNlLT5mYWNlcyk7CiB9CiAKIEV4Y2VwdGlv
bk9yPGJvb2w+IEZvbnRGYWNlU2V0OjpjaGVjayhjb25zdCBTdHJpbmcmIGZhbWlseSwgY29uc3Qg
U3RyaW5nJiB0ZXh0KQpAQCAtMjAzLDE4ICsyMDUsMTggQEAgdm9pZCBGb250RmFjZVNldDo6c3Rh
cnRlZExvYWRpbmcoKQogdm9pZCBGb250RmFjZVNldDo6ZGlkRmlyc3RMYXlvdXQoKQogewogICAg
IG1faXNGaXJzdExheW91dERvbmUgPSB0cnVlOwotICAgIGlmICghbV9iYWNraW5nLT5oYXNBY3Rp
dmVGb250RmFjZXMoKSAmJiAhbV9yZWFkeVByb21pc2UuaXNGdWxmaWxsZWQoKSkgeworICAgIGlm
ICghbV9iYWNraW5nLT5oYXNBY3RpdmVGb250RmFjZXMoKSAmJiAhbV9yZWFkeVByb21pc2UtPmlz
RnVsZmlsbGVkKCkpIHsKICAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzXSB7
Ci0gICAgICAgICAgICBtX3JlYWR5UHJvbWlzZS5yZXNvbHZlKCp0aGlzKTsKKyAgICAgICAgICAg
IG1fcmVhZHlQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKICAgICAgICAgfSk7CiAgICAgfQogfQog
CiB2b2lkIEZvbnRGYWNlU2V0Ojpjb21wbGV0ZWRMb2FkaW5nKCkKIHsKLSAgICBpZiAobV9pc0Zp
cnN0TGF5b3V0RG9uZSAmJiAhbV9yZWFkeVByb21pc2UuaXNGdWxmaWxsZWQoKSkgeworICAgIGlm
IChtX2lzRmlyc3RMYXlvdXREb25lICYmICFtX3JlYWR5UHJvbWlzZS0+aXNGdWxmaWxsZWQoKSkg
ewogICAgICAgICBtX3Rhc2tRdWV1ZS0+ZW5xdWV1ZVRhc2soW3RoaXNdIHsKLSAgICAgICAgICAg
IG1fcmVhZHlQcm9taXNlLnJlc29sdmUoKnRoaXMpOworICAgICAgICAgICAgbV9yZWFkeVByb21p
c2UtPnJlc29sdmUoKnRoaXMpOwogICAgICAgICB9KTsKICAgICB9CiB9CkBAIC0yMzQsMTIgKzIz
NiwxMiBAQCB2b2lkIEZvbnRGYWNlU2V0OjpmYWNlRmluaXNoZWQoQ1NTRm9udEZhY2UmIGZhY2Us
IENTU0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3RhdHVzKQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICAgICAgaWYgKG5ld1N0YXR1cyA9PSBDU1NGb250RmFjZTo6U3RhdHVzOjpTdWNj
ZXNzKSB7CiAgICAgICAgICAgICAgICAgaWYgKHBlbmRpbmdQcm9taXNlLT5oYXNPbmVSZWYoKSkg
ewotICAgICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS5yZXNvbHZlKHBl
bmRpbmdQcm9taXNlLT5mYWNlcyk7CisgICAgICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNl
LT5wcm9taXNlLT5yZXNvbHZlKHBlbmRpbmdQcm9taXNlLT5mYWNlcyk7CiAgICAgICAgICAgICAg
ICAgICAgIHBlbmRpbmdQcm9taXNlLT5oYXNSZWFjaGVkVGVybWluYWxTdGF0ZSA9IHRydWU7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBB
U1NFUlQobmV3U3RhdHVzID09IENTU0ZvbnRGYWNlOjpTdGF0dXM6OkZhaWx1cmUpOwotICAgICAg
ICAgICAgICAgIHBlbmRpbmdQcm9taXNlLT5wcm9taXNlLnJlamVjdChOZXR3b3JrRXJyb3IpOwor
ICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLT5wcm9taXNlLT5yZWplY3QoTmV0d29ya0Vy
cm9yKTsKICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+aGFzUmVhY2hlZFRlcm1pbmFs
U3RhdGUgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFj
ZVNldC5oCmluZGV4IGM1N2IyMTE2NWQ3MzBiNzFhMDNkMGFhODE3OWQ5MDYwZmRiYjM4NmUuLjhm
NDgzNWY1M2JlMzkxYjJlM2E2MDc4MjhmZTc0MTY3OTVjMzBjYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250
RmFjZVNldC5oCkBAIC0yNywxMyArMjcsMTQgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVj
dC5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlU2V0LmgiCi0jaW5jbHVkZSAiRE9NUHJvbWlzZVBy
b3h5LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogI2luY2x1ZGUgIlN1c3BlbmRhYmxlVGFza1F1ZXVlLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlz
ZURlZmVycmVkOwordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZVBy
b3h5V2l0aFJlc29sdmVDYWxsYmFjazsKKwogY2xhc3MgRE9NRXhjZXB0aW9uOwogCiBjbGFzcyBG
b250RmFjZVNldCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEZvbnRGYWNlU2V0PiwgcHJpdmF0
ZSBDU1NGb250RmFjZVNldENsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEs
IHByaXZhdGUgIEFjdGl2ZURPTU9iamVjdCB7CkBAIC01Nyw3ICs1OCw3IEBAIHB1YmxpYzoKICAg
ICBMb2FkU3RhdHVzIHN0YXR1cygpIGNvbnN0OwogCiAgICAgdXNpbmcgUmVhZHlQcm9taXNlID0g
RE9NUHJvbWlzZVByb3h5V2l0aFJlc29sdmVDYWxsYmFjazxJRExJbnRlcmZhY2U8Rm9udEZhY2VT
ZXQ+PjsKLSAgICBSZWFkeVByb21pc2UmIHJlYWR5KCkgeyByZXR1cm4gbV9yZWFkeVByb21pc2U7
IH0KKyAgICBSZWFkeVByb21pc2UmIHJlYWR5KCkgeyByZXR1cm4gbV9yZWFkeVByb21pc2UuZ2V0
KCk7IH0KICAgICB2b2lkIGRpZEZpcnN0TGF5b3V0KCk7CiAKICAgICBDU1NGb250RmFjZVNldCYg
YmFja2luZygpIHsgcmV0dXJuIG1fYmFja2luZzsgfQpAQCAtODksNyArOTAsNyBAQCBwcml2YXRl
OgogCiAgICAgcHVibGljOgogICAgICAgICBWZWN0b3I8UmVmPEZvbnRGYWNlPj4gZmFjZXM7Ci0g
ICAgICAgIExvYWRQcm9taXNlIHByb21pc2U7CisgICAgICAgIFVuaXF1ZVJlZjxMb2FkUHJvbWlz
ZT4gcHJvbWlzZTsKICAgICAgICAgYm9vbCBoYXNSZWFjaGVkVGVybWluYWxTdGF0ZSB7IGZhbHNl
IH07CiAgICAgfTsKIApAQCAtMTE2LDcgKzExNyw3IEBAIHByaXZhdGU6CiAKICAgICBSZWY8Q1NT
Rm9udEZhY2VTZXQ+IG1fYmFja2luZzsKICAgICBIYXNoTWFwPFJlZlB0cjxGb250RmFjZT4sIFZl
Y3RvcjxSZWY8UGVuZGluZ1Byb21pc2U+Pj4gbV9wZW5kaW5nUHJvbWlzZXM7Ci0gICAgUmVhZHlQ
cm9taXNlIG1fcmVhZHlQcm9taXNlOworICAgIFVuaXF1ZVJlZjxSZWFkeVByb21pc2U+IG1fcmVh
ZHlQcm9taXNlOwogICAgIFVuaXF1ZVJlZjxTdXNwZW5kYWJsZVRhc2tRdWV1ZT4gbV90YXNrUXVl
dWU7CiAgICAgYm9vbCBtX2lzRmlyc3RMYXlvdXREb25lIHsgdHJ1ZSB9OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdpc3RyeS5jcHAKaW5kZXggNzY5YjE2YmI0ZmJl
NWU3OTUwM2Y2NDUwZThmMjcxMWFlZjU3MmI1Ni4uOTQ1ODJlZjQzZjZmM2Q3NDJiNzAwODcyOTY5
ZTNmOTM5NWNkZDI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1l
bnRSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWdp
c3RyeS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIkpTQ3VzdG9tRWxlbWVudEludGVyZmFj
ZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTWF0aE1M
TmFtZXMuaCIKICNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9v
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JN
b3Rpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1v
dGlvbkV2ZW50LmNwcAppbmRleCA2OWUwNmU3YjA1NDAwMjZjNGIxMGMyMWExN2JiOWM2YTliZTMy
ZjIzLi4xNWMwNTZkNzY0MzAxNzU5ZjZiY2UwZTViZjk2NzI1ZjBhOTFlZmEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNw
cApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uT3JNb3Rpb25F
dmVudC5oIgogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaAppbmRleCAxYmFlNjgxZjM4
ZjlkODllN2IwN2Q3YTI0NGJmNmY3MzU3Zjg2Zjg4Li43YTMwZjNkMmMxNzQyOTU1MTFhMzU4ZTI2
NTQ4ODA0Y2VlMjMyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25Pck1vdGlvbkV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uT3JNb3Rpb25FdmVudC5oCkBAIC0yNiwxMiArMjYsMTQgQEAKICNwcmFnbWEgb25j
ZQogCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5o
IgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKIAordGVtcGxhdGU8
dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFzcyBEZXZp
Y2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQgewogcHVibGljOgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAKaW5kZXggMTIxNjY4YmI4OGFhYWRkOTZkMGY5ZGUyMjVjYTE5ZTJmMTdiMTYwMi4u
MDEzMmU2ODEyNmVkNDMyOTZjODMzMTAwZGE1ZTk1Mzc4OWQ1NzY3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9N
b3VzZUV2ZW50LmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXRD
dXN0b20uaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJSdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9DYWxsRnJh
bWUuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAppbmRleCBkNmJkMWRhMzZhNjQ0YjZkMGFjMTQy
OGIzMzcxZWZjMDYyNzgyMmJjLi5kMTkxMWIwODk2NDAzMDY2MzNjOTMyM2UzMDRjMWJjN2UwNTFj
OTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKQEAgLTMxLDYgKzMxLDExIEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1Ub3VjaEV2ZW50SU9TLmgiCiAjZW5kaWYKIAorbmFtZXNwYWNlIEpTQyB7Citj
bGFzcyBFeGVjU3RhdGU7CitjbGFzcyBKU1ZhbHVlOworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIERhdGFUcmFuc2ZlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Q3VzdG9tUGFpbnRDYW52YXMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9tUGFpbnRDYW52
YXMuaAppbmRleCAyMWQyZDBjYTc4OWE1MmYzMGEyZDk0ZTE5MmMyODk0MjM0MGE4NWI2Li43NjU2
YzZjN2I5OTAzNzM0OGEyZDRkNmRjYWI4YjhmOTBhMjhhOGRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0N1c3RvbVBhaW50Q2FudmFzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9DdXN0b21QYWludENhbnZhcy5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiRXhjZXB0
aW9uT3IuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBw
YWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKaW5kZXggNmIwYzdhM2Q2N2NkYzdh
NWJiNWRlMjk4NGNkMmJhNTVkZjMwMjcwNy4uMjA3MGQwZWI3MTA1YTEzM2M3ZmU4ODBhZDQ3NjRh
OGRkODVhZTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKQEAgLTQwLDYgKzQw
LDcgQEAKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgog
I2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIkpTSW1hZ2VCaXRtYXAuaCIKICNpbmNsdWRlICJMYXlvdXRTaXplLmgiCiAjaW5j
bHVkZSAiUmVuZGVyRWxlbWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9J
bWFnZUJpdG1hcC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5oCmluZGV4IDlj
MzcyMGZkMTAwZmZkYWMyNGFlNTg1OWYzOWIzMTE4Yjg4MzA0YjIuLjlhMWVlZmZkN2UwZTkyYWQy
ODMyOGU4MTBiYzUwMjU3MWRlYzNlOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW1hZ2VCaXRtYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKQEAg
LTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBh
YmxlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNDUsNiArNDUsOCBAQCBj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVHlwZWRPTUNTU0ltYWdlVmFsdWU7
CiBzdHJ1Y3QgSW1hZ2VCaXRtYXBPcHRpb25zOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBl
PiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIEltYWdlQml0bWFwIGZpbmFsIDog
cHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8SW1hZ2VCaXRtYXA+IHsK
ICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEltYWdlQml0bWFwKTsKIHB1YmxpYzoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcAppbmRleCAxZDcyYTc1YWE4Mzg1NGYxYjZl
ZmM4MzU0NjMwNGY2NmE3MTAxNzg3Li42ZTkzOWNiNWFlZWVhYzQ4YTIzYThjZmU4YmUyNTljNjUy
OThkNjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9PZmZzY3JlZW5DYW52YXMuY3BwCkBAIC0yOCw2
ICsyOCw3IEBACiAKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiSW1hZ2VCaXRtYXAuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIldlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJ
bmxpbmVzLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2Fu
dmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5oCmluZGV4IDU3YTZm
MzdmOWI2Y2YwN2I0MDI2NTlmNThmNjZkZjA5N2ExMjliZmYuLmFmNzVmY2NlNGUyYTFjNWRjYTNm
NjRjMTU1NWI2MjEwZGViOGVlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvT2Zm
c2NyZWVuQ2FudmFzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9PZmZzY3JlZW5DYW52YXMu
aApAQCAtMjcsMTAgKzI3LDExIEBACiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNp
bmNsdWRlICJDYW52YXNCYXNlLmgiCisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2
ZXIuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgi
CisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCAzYjg1MGZjYzE5M2I0NzkwOGNmNDZh
YWVhNzU0OGRiZjkzZWZmMGYzLi5hODM0MmUxYTRiZTMzYjJlYTlmYTNmZDQ5NWY5NmQwNjU4NzY4
NjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTM4LDYgKzM4LDcg
QEAKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRl
ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJS
ZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclNWR0ltYWdlLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9JbWFnZUxvYWRlci5oCmluZGV4IDQ4N2VjZTZhODIxMDZjMzNiMWRhYjk0ZjkxZjI4ZTk2ZWYx
YjY2MzguLjE2MjI5OTI3NzJlZmM2ZWJmM2I1MmI5YmQ5ZDU5NGJhMmQ5YzNmYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCkBAIC0yNCwxMyArMjQsMTMgQEAKIAogI2luY2x1ZGUg
IkNhY2hlZEltYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBF
bGVtZW50OwogY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGFiOTY4NTYxMzI0N2YyOTBiZjc4ODNlNWQ1
ZmM3YWZmYWQ4ZGFhYWMuLmRmNDdkOGUyZTkxN2NhNWIwMjE3Zjk4NGFhY2EzY2Q0ZDhiNmM4ODMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTY5LDYgKzY5LDcgQEAKICNpbmNsdWRl
ICJIVFRQUGFyc2Vycy5oIgogI2luY2x1ZGUgIkhpc3RvcnkuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgog
I2luY2x1ZGUgIkpTRE9NV2luZG93QmFzZS5oIgogI2luY2x1ZGUgIkpTRXhlY1N0YXRlLmgiCiAj
aW5jbHVkZSAiTG9jYXRpb24uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCmluZGV4IDA1MDE0MmQ3
MzFmM2RiMWIxNDk1MjFhNjAwM2RiMjc3YjYzZGZjNjMuLjM4ZGFiYTdlNWQ1NmIyZTk1Y2VlOGI2
MzYwMmRhMWI3ZjdhMDNlNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaApAQCAtMjAsNyArMjAs
NiBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0eS5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yQmFzZS5o
IgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgIlNoYXJlRGF0YS5oIgpA
QCAtMjksNiArMjgsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlZmVycmVk
UHJvbWlzZTsKIGNsYXNzIERPTU1pbWVUeXBlQXJyYXk7CiBjbGFzcyBET01QbHVnaW5BcnJheTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZUNsaWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAppbmRleCA2ZjJiMTM4
ZjE4MGIwNjEzZTFjODE0YmRmMDIzNzc3YTVlNzcwZDQyLi5jYzBjMjFmMTAxNmE5NzAyYjk0ZjBm
YmJhYTQwNzIwMWNjNDI2OGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VD
b25zb2xlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xp
ZW50LmNwcApAQCAtNjcsNiArNjcsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Njcmlw
dEFyZ3VtZW50cy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5o
PgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJvbmdJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKICNpZiBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DdXN0b21QYWludEltYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0N1c3RvbVBhaW50SW1hZ2UuY3BwCmluZGV4IDZmN2Qw
OWEzN2VmMjU5MzU0ZjYyZGU0MTE0YmViYzJjMzEyY2E1ZjQuLmZkNTFiYzQ1MTE5MDU1ZGU4OTc1
OTQ2NDVhMGJlNWQ0ZTdkYmRmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0N1c3RvbVBhaW50SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0N1c3RvbVBhaW50SW1hZ2UuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5j
bHVkZSAiSW1hZ2VCaXRtYXAuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUg
IkpTQ1NTUGFpbnRDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcu
aCIKICNpbmNsdWRlICJQYWludFJlbmRlcmluZ0NvbnRleHQyRC5oIgogI2luY2x1ZGUgIlJlbmRl
ckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5TWFwLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggNTg0MjA2ZjUxNjljYzlkNDEyMTYwZjBjMTNiMzJmZjll
MjY4NzRhZC4uMTgwNzg3MGIxMmRkNjNkNWQ0MTRhODY0ZGY3MzAwYWRjNDMzYjRlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTA3LDYgKzEwNyw3IEBACiAjaW5jbHVk
ZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRl
ICJJbnRlcm5hbFNldHRpbmdzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgi
CiAjaW5jbHVkZSAiTG9hZGVyU3RyYXRlZ3kuaCIKQEAgLTQ3ODcsNyArNDc4OCw3IEBAIHZvaWQg
SW50ZXJuYWxzOjpvYnNlcnZlTWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0cmVhbVRyYWNrJiB0cmFj
aykKIAogdm9pZCBJbnRlcm5hbHM6OmdyYWJOZXh0TWVkaWFTdHJlYW1UcmFja0ZyYW1lKFRyYWNr
RnJhbWVQcm9taXNlJiYgcHJvbWlzZSkKIHsKLSAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9uZXh0VHJhY2tGcmFtZVByb21pc2UgPSBXVEY6Om1h
a2VVbmlxdWU8VHJhY2tGcmFtZVByb21pc2U+KHByb21pc2UpOwogfQogCiB2b2lkIEludGVybmFs
czo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKQEAgLTQ4MDksNyAr
NDgxMCw3IEBAIHZvaWQgSW50ZXJuYWxzOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBs
ZSYgc2FtcGxlKQogICAgICAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZS0+cmVzb2x2ZShpbWFn
ZURhdGEucmVsZWFzZVJldHVyblZhbHVlKCkucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgZWxzZQog
ICAgICAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZS0+cmVqZWN0KGltYWdlRGF0YS5leGNlcHRp
b24oKS5jb2RlKCkpOwotICAgIG1fbmV4dFRyYWNrRnJhbWVQcm9taXNlID0gV1RGOjpudWxsb3B0
OworICAgIG1fbmV4dFRyYWNrRnJhbWVQcm9taXNlID0gbnVsbHB0cjsKIH0KIAogdm9pZCBJbnRl
cm5hbHM6OmRlbGF5TWVkaWFTdHJlYW1UcmFja1NhbXBsZXMoTWVkaWFTdHJlYW1UcmFjayYgdHJh
Y2ssIGZsb2F0IGRlbGF5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNTg3MGRl
NDYzMjIwZmU5ODI4ZWY0YmIxNzZiNmUwZjk3MjMxMGU4MC4uODE2NTk1YzVmNjM5ZjA5NGMwY2E2
ZDZlZTNjY2M3MDRkYTdjM2RlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0z
MSw3ICszMSw3IEBACiAjaW5jbHVkZSAiQ29va2llLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3Iu
aCIKICNpbmNsdWRlICJIRVZDVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVm
ZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIk9yaWVudGF0aW9uTm90
aWZpZXIuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlYWx0
aW1lTWVkaWFTb3VyY2UuaCIKQEAgLTk2LDggKzk2LDEwIEBAIGNsYXNzIFN0cmluZ0NhbGxiYWNr
OwogY2xhc3MgU3R5bGVTaGVldDsKIGNsYXNzIFRpbWVSYW5nZXM7CiBjbGFzcyBUeXBlQ29udmVy
c2lvbnM7CitjbGFzcyBVbnN1c3BlbmRhYmxlQWN0aXZlRE9NT2JqZWN0OwogY2xhc3MgVm9pZENh
bGxiYWNrOwogY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250ZXh0OworY2xhc3MgV2luZG93UHJveHk7
CiBjbGFzcyBYTUxIdHRwUmVxdWVzdDsKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKQEAgLTEw
OCw3ICsxMTAsNyBAQCBjbGFzcyBUZXh0VHJhY2tDdWVHZW5lcmljOwogY2xhc3MgU2VydmljZVdv
cmtlcjsKICNlbmRpZgogCi1jbGFzcyBVbnN1c3BlbmRhYmxlQWN0aXZlRE9NT2JqZWN0OwordGVt
cGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwogCiBjbGFz
cyBJbnRlcm5hbHMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxJbnRlcm5hbHM+LCBwcml2YXRl
IENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAg
LTg5OCw3ICs5MDAsNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIGxvbmcgbV90cmFja1ZpZGVv
U2FtcGxlQ291bnQgeyAwIH07CiAgICAgdW5zaWduZWQgbG9uZyBtX3RyYWNrQXVkaW9TYW1wbGVD
b3VudCB7IDAgfTsKICAgICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gbV90cmFjazsKLSAgICBP
cHRpb25hbDxUcmFja0ZyYW1lUHJvbWlzZT4gbV9uZXh0VHJhY2tGcmFtZVByb21pc2U7CisgICAg
c3RkOjp1bmlxdWVfcHRyPFRyYWNrRnJhbWVQcm9taXNlPiBtX25leHRUcmFja0ZyYW1lUHJvbWlz
ZTsKICNlbmRpZgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3RvclN0dWJGcm9udGVuZD4g
bV9pbnNwZWN0b3JGcm9udGVuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
U2VydmljZVdvcmtlckludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNl
V29ya2VySW50ZXJuYWxzLmgKaW5kZXggODkzOTU3NDRiOTg3ZDIzNjQzNGJmNTEyY2M3MTMzODcy
N2JiY2Y2MS4uOTM0OGEwY2MxYjJlNWIzMjhiMTFiNTExNDk4MzU4ZWM4MDEzYzJlNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmgKQEAgLTI3
LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAotI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJT
ZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAK
QEAgLTM3LDYgKzM3LDggQEAgY2xhc3MgRmV0Y2hFdmVudDsKIGNsYXNzIEZldGNoUmVzcG9uc2U7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExU
eXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFdFQkNPUkVfVEVTVFNVUFBP
UlRfRVhQT1JUIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMgOiBwdWJsaWMgUmVmQ291bnRlZDxTZXJ2
aWNlV29ya2VySW50ZXJuYWxzPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTZXJ2aWNlV29y
a2VySW50ZXJuYWxzPiBjcmVhdGUoU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcikg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VySW50ZXJuYWxzIHsgaWRlbnRpZmll
ciB9KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLm1tIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLm1tCmluZGV4IDBkNmQwMWQ1NTA1YTc0ODQ1MjY2ZjAwY2M3NmNkYzIyOTI5YmE1MGEuLmZl
OWIxZDFiMzFjZmEyZmJkOTk5MGFjMTVjZGZiY2QxZjU1OTI2MDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMubW0KQEAgLTMwLDYgKzMwLDcg
QEAKIAogI2lmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTGF1bmNoU2VydmljZXNTUEkuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IDcyMTFlYjZmY2I1NGYzZjQ1NzI2
Y2VhMzY3MzIxMmE4NjU4MzdjYzUuLjZkODA3ZWJkMjJhZDA2ZDEzZDM0Y2JhZDUyMjY1YzhmMDFm
MTY3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIAorI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuaAppbmRleCA3NWVhOTUzMjE5MGYwYzY2YzY2MGJiZTliMjVkNGJjZDdj
OTFkOWMzLi4yZTBkOWQwNGQ3MzZlMmI1MTk3MWNlODUzY2U1YTdjNDJmNjVjMmEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmgKQEAgLTI4LDkgKzI4LDkgQEAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAK
ICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJET01Qcm9taXNlUHJveHku
aCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkdlbmVyaWNFdmVudFF1ZXVl
LmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJTV0NsaWVudENvbm5lY3Rpb24u
aCIKICNpbmNsdWRlICJTV1NlcnZlci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JDbGll
bnQuaCIKQEAgLTQ4LDYgKzQ4LDggQEAgY2xhc3MgU2VydmljZVdvcmtlcjsKIGVudW0gY2xhc3Mg
U2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIDogdWludDhfdDsKIGVudW0gY2xhc3MgV29ya2Vy
VHlwZTsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZVByb3h5
OworCiBjbGFzcyBTZXJ2aWNlV29ya2VyQ29udGFpbmVyIGZpbmFsIDogcHVibGljIEV2ZW50VGFy
Z2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBTZXJ2aWNl
V29ya2VySm9iQ2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyKTsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNlcnZpY2VXb3JrZXJDb250
YWluZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJKb2IuY3BwCmluZGV4IDcxOTY1ZmQ5MmJiNmNkYTYwODdhM2NhZDBhNWM4NzM5MGVkNTE3
OTQuLmM2ZDJhMjhkMjhjZDdlYmNmYjE0NTA2MjU4YzNjN2FlZmQyOTVhOTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAKQEAg
LTUzLDYgKzUzLDExIEBAIFNlcnZpY2VXb3JrZXJKb2I6On5TZXJ2aWNlV29ya2VySm9iKCkKICAg
ICBBU1NFUlQobV9jcmVhdGlvblRocmVhZC5wdHIoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpOwog
fQogCitSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBTZXJ2aWNlV29ya2VySm9iOjp0YWtlUHJvbWlz
ZSgpCit7CisgICAgcmV0dXJuIFdURk1vdmUobV9wcm9taXNlKTsKK30KKwogdm9pZCBTZXJ2aWNl
V29ya2VySm9iOjpmYWlsZWRXaXRoRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbiYgZXhjZXB0aW9u
KQogewogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFkLnB0cigpID09ICZUaHJlYWQ6OmN1cnJl
bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckpvYi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2IuaAppbmRleCBiNTVhYjk1OGU4OWRhNjQ2OGNjZGE4MDkxYjg3OTRmYWY4MWI2OTFkLi43
ZGJiN2QzYmFjZTIwZTNjYWVkNzYyNjE5ZTg4NGZjZjVkMDg3NGFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmgKQEAgLTI3LDcgKzI3
LDYgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAotI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUg
IlNlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0
YS5oIgpAQCAtNjMsNyArNjIsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTZXJ2aWNlV29ya2Vy
Sm9iRGF0YSYgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fam9iRGF0YTsgfQogICAgIGJvb2wgaGFz
UHJvbWlzZSgpIGNvbnN0IHsgcmV0dXJuICEhbV9wcm9taXNlOyB9Ci0gICAgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4gdGFrZVByb21pc2UoKSB7IHJldHVybiBXVEZNb3ZlKG1fcHJvbWlzZSk7IH0K
KyAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiB0YWtlUHJvbWlzZSgpOwogCiAgICAgdm9pZCBm
ZXRjaFNjcmlwdFdpdGhDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRjaE9wdGlv
bnM6OkNhY2hlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IGUxOTAzMDc4YmEzZmZi
NjgzMTNmOTE5ODQ5MmY5MGVjZGY3ODU0ZDIuLjRkM2JjNmY2NGVjZGVmODYxZGZjMTk5YzRmMmNh
ZTM5MzY2YzMxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTMxLDYgKzMxLDcgQEAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCAwMTJhNzdkNDY1OWZi
NWQyZmMwNDkzNDBmZDA1MjA0YjA3YmFjY2ExLi4wNTI2NjVjNjg4OGY5M2UxNzE4ZDBmZTc5OGY5
ZDVkYmZhMzFkODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTI5LDEzICsyOSwxMyBAQAog
CiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlNXQ2xpZW50Q29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLmgiCiAj
aW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJl
ZFByb21pc2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgU2VydmljZVdv
cmtlcjsKIGNsYXNzIFNlcnZpY2VXb3JrZXJDb250YWluZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggNjU4YTM5Mjdl
OTgzODg4M2Y4YTA3NWYwNjM5OTA0MzdhZGQ5N2QzZS4uMjZiOWFmOWNiZjdiNGZjYTIyMDViOGI3
OTg3YzI4MTg1MTEzODcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFp
bnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1Bh
aW50V29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMzEsOCArMzEsNyBAQAogI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSlNDU1NQYWludENh
bGxiYWNrLmgiCi0jaW5jbHVkZSAiSlNET01Db252ZXJ0Q2FsbGJhY2tzLmgiCi0jaW5jbHVkZSAi
SlNET01Db252ZXJ0U2VxdWVuY2VzLmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0LmgiCiAjaW5j
bHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAj
aW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380224</attachid>
            <date>2019-10-04 09:49:19 -0700</date>
            <delta_ts>2019-10-04 09:56:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202570-20191004094918.patch</filename>
            <type>text/plain</type>
            <size>90990</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyMCBAQAorMjAxOS0xMC0wNCAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBzb21l
IGluY2x1ZGVzIHRvIG1ha2UgdGhlIGJ1aWxkIGEgYml0IGZhc3RlcjogRE9NUHJvbWlzZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNTcwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBq
dXN0IHJlb3JnYW5pemluZy4KKworICAgICAgICBBcHBseSBzb21lIHByb2ZpbGUtZ3VpZGVkIG9w
dGltaXphdGlvbnMgdG8gb3VyIGhlYWRlcnMuCisKKyAgICAgICAgR2V0IEpTRE9NUHJvbWlzZURl
ZmVycmVkLmggYW5kIERPTVByb21pc2VQcm94eS5oIG91dCBvZiBXZWJDb3JlIGhlYWRlcnMuCisg
ICAgICAgIE9uZSByZW1haW5zIChGZXRjaEJvZHlDb25zdW1lci5oKTsgSSBsZWF2ZSBpdCBhcyBh
biBleGVyY2lzZSB0byB0aGUgcmVhZGVyLgorICAgICAgICBJbiBteSB0ZXN0aW5nLCB0aGlzIGlz
IHdvcnRoIGEgcmVsaWFibGUgNS02JSBvbiB0aGUgV2ViQ29yZSBCdWlsZCBCZW5jaG1hcmsuCisK
KyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0
ZW1BY2Nlc3MuaDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5j
cHA6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHA6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDoKKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0RPTVdp
bmRvd0ZldGNoLmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwOgorICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRj
aC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5o
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHA6Cisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmg6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
QmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVz
dC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0Lmg6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFF
bmRwb2ludC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmNwcDoKKyAgICAgICAg
KiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwOgorICAgICAgICAqIE1vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRl
bnRpYWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNlcnZlVmFy
aWFibGVMaWZldGltZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
U3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFUuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZm
ZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JX
ZWJWUi5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnZyL1ZSRGlzcGxheS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAg
ICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9D
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
UHJvbWlzZURlZmVycmVkLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVF
bGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3Rv
bS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3Rv
bS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20uY3BwOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHA6CisgICAgICAgICogY3NzL0ZvbnRGYWNl
LmNwcDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2VT
ZXQuY3BwOgorICAgICAgICAqIGNzcy9Gb250RmFjZVNldC5oOgorICAgICAgICAqIGRvbS9DdXN0
b21FbGVtZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9u
RXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgICogZG9tL01v
dXNlRXZlbnQuaDoKKyAgICAgICAgKiBodG1sL0N1c3RvbVBhaW50Q2FudmFzLmg6CisgICAgICAg
ICogaHRtbC9JbWFnZUJpdG1hcC5jcHA6CisgICAgICAgICogaHRtbC9JbWFnZUJpdG1hcC5oOgor
ICAgICAgICAqIGh0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcDoKKyAgICAgICAgKiBodG1sL09mZnNj
cmVlbkNhbnZhcy5oOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAg
ICogbG9hZGVyL0ltYWdlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgor
ICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Q3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNl
V29ya2VySW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLm1tOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmg6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6CisgICAgICAg
ICogd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorCiAyMDE5LTEwLTA0ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92
ZSBXS1Byb2Nlc3NQb29sLl9yZWdpc3RlclVSTFNjaGVtZVNlcnZpY2VXb3JrZXJzQ2FuSGFuZGxl
IHRvIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTIwNSw2ICsyMDUsNyBAQCBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNV
dHRlcmFuY2UuCiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2ljZS5jcHAKIAogTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU2luay5jcHAKK01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbVNvdXJjZS5jcHAKIAogTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuY3Bw
CiBNb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcApJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5k
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCShyZXZpc2lvbiAyNTA3Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UGF5bWVudEhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAj
aW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnQuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UGF5bWVu
dE1ldGhvZC5oIgogI2luY2x1ZGUgIkpTQXBwbGVQYXlSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNE
T01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiTGlua0ljb25Db2xsZWN0b3IuaCIKICNpbmNsdWRlICJN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTU2LDYgKzU3
LDcgQEAKICNpbmNsdWRlICJQYXltZW50UmVzcG9uc2UuaCIKICNpbmNsdWRlICJQYXltZW50VmFs
aWRhdGlvbkVycm9ycy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNPTk9iamVjdC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiQ0RNLmgiCiAjaW5jbHVkZSAiQ0RNSW5zdGFuY2Uu
aCIKKyNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC02Myw2ICs2
NCw3IEBAIE1lZGlhS2V5U2Vzc2lvbjo6TWVkaWFLZXlTZXNzaW9uKFNjcmlwdEUKICAgICA6IEFj
dGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAgICAsIG1fa2V5cyhXVEZNb3ZlKGtleXMpKQogICAg
ICwgbV9leHBpcmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkp
CisgICAgLCBtX2Nsb3NlZFByb21pc2UobWFrZVVuaXF1ZVJlZjxDbG9zZWRQcm9taXNlPigpKQog
ICAgICwgbV9rZXlTdGF0dXNlcyhNZWRpYUtleVN0YXR1c01hcDo6Y3JlYXRlKCp0aGlzKSkKICAg
ICAsIG1fdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKHVzZURpc3RpbmN0aXZlSWRlbnRpZmllcikK
ICAgICAsIG1fc2Vzc2lvblR5cGUoc2Vzc2lvblR5cGUpCkBAIC03MDksNyArNzExLDcgQEAgdm9p
ZCBNZWRpYUtleVNlc3Npb246OnNlc3Npb25DbG9zZWQoKQogCiAgICAgLy8gNS4gTGV0IHByb21p
c2UgYmUgdGhlIGNsb3NlZCBhdHRyaWJ1dGUgb2YgdGhlIHNlc3Npb24uCiAgICAgLy8gNi4gUmVz
b2x2ZSBwcm9taXNlLgotICAgIG1fY2xvc2VkUHJvbWlzZS5yZXNvbHZlKCk7CisgICAgbV9jbG9z
ZWRQcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKIFN0cmluZyBNZWRpYUtleVNlc3Npb246Om1lZGlh
S2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCShyZXZpc2lv
biAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMCArMzIsMTAgQEAKIAogI2luY2x1
ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNlU2Vzc2lvbi5oIgot
I2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAj
aW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVl
LmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJNZWRpYUtleU1lc3NhZ2VUeXBl
LmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlwZS5oIgogI2luY2x1ZGUgIk1lZGlhS2V5
U3RhdHVzLmgiCkBAIC00OCwxMCArNDgsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBCdWZmZXJTb3VyY2U7CiBjbGFzcyBDRE07CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFz
cyBNZWRpYUtleVN0YXR1c01hcDsKIGNsYXNzIE1lZGlhS2V5czsKIGNsYXNzIFNoYXJlZEJ1ZmZl
cjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZVByb3h5Owor
CiBjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtl
eVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCwgcHVibGljIENETUluc3RhbmNlU2Vzc2lvbkNsaWVudCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChNZWRpYUtleVNlc3Npb24pOwogcHVibGljOgpAQCAtNzQsNyArNzcs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmUoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAK
ICAgICB1c2luZyBDbG9zZWRQcm9taXNlID0gRE9NUHJvbWlzZVByb3h5PElETFZvaWQ+OwotICAg
IENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJuIG1fY2xvc2VkUHJvbWlzZTsgfQorICAg
IENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJuIG1fY2xvc2VkUHJvbWlzZS5nZXQoKTsg
fQogCiAgICAgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWY8U2hhcmVkQnVmZmVyPiwgTWVkaWFL
ZXlTdGF0dXM+PiYgc3RhdHVzZXMoKSBjb25zdCB7IHJldHVybiBtX3N0YXR1c2VzOyB9CiAKQEAg
LTEwNSw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8TWVkaWFLZXlzPiBtX2tleXM7
CiAgICAgU3RyaW5nIG1fc2Vzc2lvbklkOwogICAgIGRvdWJsZSBtX2V4cGlyYXRpb247Ci0gICAg
Q2xvc2VkUHJvbWlzZSBtX2Nsb3NlZFByb21pc2U7CisgICAgVW5pcXVlUmVmPENsb3NlZFByb21p
c2U+IG1fY2xvc2VkUHJvbWlzZTsKICAgICBSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IG1fa2V5U3Rh
dHVzZXM7CiAgICAgYm9vbCBtX2Nsb3NlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3VuaW5pdGlh
bGl6ZWQgeyB0cnVlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcAkocmV2aXNp
b24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN5c3RlbUFjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAog
I2luY2x1ZGUgIkNETS5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNlLmgiCisjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhS2V5cy5oIgogI2luY2x1ZGUg
Ik1lZGlhS2V5cy5oIgogI2luY2x1ZGUgIk1lZGlhS2V5c1JlcXVpcmVtZW50LmgiCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVN5c3RlbUFjY2Vzcy5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDcgKzMxLDYgQEAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAj
aW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAg
LTM5LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0RNOworY2xhc3Mg
RGVmZXJyZWRQcm9taXNlOwogY2xhc3MgTWVkaWFLZXlzOwogCiBjbGFzcyBNZWRpYUtleVN5c3Rl
bUFjY2VzcyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eXMuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAK
ICNpbmNsdWRlICJDRE0uaCIKICNpbmNsdWRlICJDRE1DbGllbnQuaCIKICNpbmNsdWRlICJDRE1J
bnN0YW5jZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhS2V5U2Vzc2lvbi5oIgogI2luY2x1ZGUgIlNoYXJl
ZEJ1ZmZlci5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5cy5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3
ICszMiw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIkdlbmVyaWNU
YXNrUXVldWUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
Ik1lZGlhS2V5U2Vzc2lvblR5cGUuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ0LDcgKzQzLDkgQEAgY2xhc3MgQ0RNOwogY2xhc3MgQ0RN
Q2xpZW50OwogY2xhc3MgQ0RNSW5zdGFuY2U7CiBjbGFzcyBCdWZmZXJTb3VyY2U7CitjbGFzcyBE
ZWZlcnJlZFByb21pc2U7CiBjbGFzcyBNZWRpYUtleVNlc3Npb247CitjbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OwogCiBjbGFzcyBNZWRpYUtleXMgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YUtleXM+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFLZXlzPiB7CiBwdWJsaWM6CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZp
Z2F0b3JFTUUuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYg
KzMzLDcgQEAKIAogI2luY2x1ZGUgIkNETS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5j
bHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhS2V5U3lzdGVt
QWNjZXNzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmgJKHJldmlzaW9u
IDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdh
dG9yRU1FLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEyICszMCwxMiBAQAogCiAjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiU3VwcGxl
bWVudGFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21p
c2U7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhS2V5U3lzdGVtQWNjZXNzOwogY2xhc3Mg
TmF2aWdhdG9yOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dG
ZXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01X
aW5kb3dGZXRjaC5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJGZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJKU0ZldGNoUmVzcG9uc2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guaAkocmV2
aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dG
ZXRjaC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTEgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERPTVdpbmRvdzsKIAogY2xhc3MgRE9NV2lu
ZG93RmV0Y2ggewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
LmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAi
RmV0Y2hIZWFkZXJzLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlclZhbHVlcy5oIgogI2luY2x1ZGUg
IkhUVFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNs
dWRlICJSZWFkYWJsZVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Fy
cmF5QnVmZmVyVmlldy5oPgogCkBAIC0xMjksNiArMTMwLDExIEBAIHZvaWQgRmV0Y2hCb2R5Ojp0
ZXh0KEZldGNoQm9keU93bmVyJiBvd24KICAgICBjb25zdW1lKG93bmVyLCBXVEZNb3ZlKHByb21p
c2UpKTsKIH0KIAordm9pZCBGZXRjaEJvZHk6OmZvcm1EYXRhKEZldGNoQm9keU93bmVyJiwgUmVm
PERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIHByb21pc2UuZ2V0KCkucmVqZWN0
KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKwogdm9pZCBGZXRjaEJvZHk6OmNvbnN1bWVPbmNlTG9h
ZGluZ0ZpbmlzaGVkKEZldGNoQm9keUNvbnN1bWVyOjpUeXBlIHR5cGUsIFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYgcHJvbWlzZSwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkKIHsKICAgICBtX2Nv
bnN1bWVyLnNldFR5cGUodHlwZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoQm9keS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hCb2R5LmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hCb2R5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDEzICszMiwxMyBAQAogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5Q29uc3VtZXIuaCIKICNp
bmNsdWRlICJGb3JtRGF0YS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIKICNpbmNsdWRlICJVUkxTZWFyY2hQYXJhbXMuaCIK
ICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNz
IERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIEZldGNoQm9keU93bmVyOwogY2xhc3MgRmV0Y2hCb2R5
U291cmNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTQ5LDcgKzQ5LDcgQEAg
cHVibGljOgogICAgIHZvaWQgYmxvYihGZXRjaEJvZHlPd25lciYsIFJlZjxEZWZlcnJlZFByb21p
c2U+JiYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQganNvbihGZXRjaEJvZHlPd25lciYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgdGV4dChGZXRjaEJvZHlPd25lciYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgZm9ybURhdGEoRmV0Y2hCb2R5T3duZXIm
LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpIHsgcHJvbWlzZS5nZXQoKS5yZWplY3Qo
Tm90U3VwcG9ydGVkRXJyb3IpOyB9CisgICAgdm9pZCBmb3JtRGF0YShGZXRjaEJvZHlPd25lciYs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogICAg
IHZvaWQgY29uc3VtZUFzU3RyZWFtKEZldGNoQm9keU93bmVyJiwgRmV0Y2hCb2R5U291cmNlJik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5
UG9saWN5LmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5LmgiCisjaW5jbHVkZSAiRmV0Y2hCb2R5Q29u
c3VtZXIuaCIKICNpbmNsdWRlICJGZXRjaExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkZldGNo
UmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNyArMjgsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkZldGNoQm9keUNv
bnN1bWVyLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlRocmVh
ZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvVVJMLmg+CkBAIC0zNiw2ICszNSw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7CitjbGFzcyBGZXRjaEJvZHlD
b25zdW1lcjsKIGNsYXNzIEZldGNoTG9hZGVyQ2xpZW50OwogY2xhc3MgRmV0Y2hSZXF1ZXN0Owog
Y2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAkocmV2aXNp
b24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
Ildvcmtlckdsb2JhbFNjb3BlRmV0Y2guaCIKIAogI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTRmV0Y2hSZXNw
b25zZS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5o
CShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtl
ckdsb2JhbFNjb3BlRmV0Y2guaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTAgKzI5LDEwIEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJy
ZWRQcm9taXNlOwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdvcmtlckdsb2Jh
bFNjb3BlRmV0Y2ggewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAJKHJldmlzaW9u
IDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
bmNsdWRlICJDb250ZW50VHlwZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvLmgiCiAjaW5jbHVkZSAiSlNNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5o
IgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUNhcGFiaWxpdGllcy5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDExICsyNiwxMSBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJHZW5lcmlj
VGFza1F1ZXVlLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlZmVy
cmVkUHJvbWlzZTsKIGNsYXNzIERvY3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uOwogc3RydWN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTTWVkaWFE
ZXZpY2VJbmZvLmgiCiAjaW5jbHVkZSAiTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmgi
CiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgJKHJldmlz
aW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFE
ZXZpY2VzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlICJFdmVu
dE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25P
ci5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlw
ZXMuaCIKICNpbmNsdWRlICJNZWRpYVRyYWNrQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKQEAgLTUyLDYgKzUy
LDggQEAgY2xhc3MgTWVkaWFTdHJlYW07CiAKIHN0cnVjdCBNZWRpYVRyYWNrU3VwcG9ydGVkQ29u
c3RyYWludHM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VE
ZWZlcnJlZDsKKwogY2xhc3MgTWVkaWFEZXZpY2VzIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8
TWVkaWFEZXZpY2VzPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYURldmljZXM+IHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlhRGV2aWNlcyk7CiBwdWJsaWM6CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYg
KzMzLDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5j
bHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiSlNPdmVyY29uc3RyYWluZWRFcnJvci5oIgogI2luY2x1ZGUgIk1lZGlhQ29uc3Ry
YWludHMuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgpAQCAtMzc5LDcgKzM4MCw3IEBAIHN0
YXRpYyBNZWRpYUNvbnN0cmFpbnRzIGNyZWF0ZU1lZGlhQ29uc3QKIAogdm9pZCBNZWRpYVN0cmVh
bVRyYWNrOjphcHBseUNvbnN0cmFpbnRzKGNvbnN0IE9wdGlvbmFsPE1lZGlhVHJhY2tDb25zdHJh
aW50cz4mIGNvbnN0cmFpbnRzLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQog
ewotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9wcm9taXNlID0gV1RG
OjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7
CiAKICAgICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdl
YWtQdHIoKnRoaXMpLCBjb25zdHJhaW50c10oYXV0byYmIGVycm9yKSBtdXRhYmxlIHsKICAgICAg
ICAgaWYgKCF3ZWFrVGhpcyB8fCAhbV9wcm9taXNlKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgJKHJldmlzaW9u
IDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiRG91
YmxlUmFuZ2UuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkdlbmVyaWNU
YXNrUXVldWUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IkxvbmdSYW5nZS5oIgogI2luY2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKICNpbmNsdWRlICJNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgpAQCAtNDcsNiArNDYsOCBAQCBjbGFzcyBEb2N1bWVudDsK
IAogc3RydWN0IE1lZGlhVHJhY2tDb25zdHJhaW50czsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURM
VHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFzcyBNZWRpYVN0cmVhbVRyYWNr
CiAgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVN0cmVhbVRyYWNrPgogICAgICwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdApAQCAtMjAxLDcgKzIwMiw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9y
PE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7CiAKICAgICBNZWRpYVRyYWNrQ29uc3RyYWludHMgbV9j
b25zdHJhaW50czsKLSAgICBPcHRpb25hbDxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcHJv
bWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3By
b21pc2U7CiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Rh
c2tRdWV1ZTsKICAgICBHZW5lcmljVGFza1F1ZXVlPFRpbWVyPiBtX2V2ZW50VGFza1F1ZXVlOwog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9u
QmFja2VuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5o
IgogI2luY2x1ZGUgIkpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDQ2VydGlmaWNhdGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC04Miwx
MiArODMsMTQgQEAgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpQZWVyQ29ubmVjdGlvbkJhYwogewog
fQogCitQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6On5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKSA9IGRl
ZmF1bHQ7CisKIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpjcmVhdGVPZmZlcihSVENPZmZl
ck9wdGlvbnMmJiBvcHRpb25zLCBQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJv
bWlzZSYmIHByb21pc2UpCiB7CiAgICAgQVNTRVJUKCFtX29mZmVyQW5zd2VyUHJvbWlzZSk7CiAg
ICAgQVNTRVJUKCFtX3BlZXJDb25uZWN0aW9uLmlzQ2xvc2VkKCkpOwogCi0gICAgbV9vZmZlckFu
c3dlclByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOworICAgIG1fb2ZmZXJBbnN3ZXJQcm9taXNl
ID0gV1RGOjptYWtlVW5pcXVlPFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9t
aXNlPihXVEZNb3ZlKHByb21pc2UpKTsKICAgICBkb0NyZWF0ZU9mZmVyKFdURk1vdmUob3B0aW9u
cykpOwogfQogCkBAIC0xMjQsNyArMTI3LDcgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OmNyZWF0ZUFuc3dlcgogICAgIEFTU0VSVCghbV9vZmZlckFuc3dlclByb21pc2UpOwogICAgIEFT
U0VSVCghbV9wZWVyQ29ubmVjdGlvbi5pc0Nsb3NlZCgpKTsKIAotICAgIG1fb2ZmZXJBbnN3ZXJQ
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9IFdU
Rjo6bWFrZVVuaXF1ZTxQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlzZT4o
V1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9DcmVhdGVBbnN3ZXIoV1RGTW92ZShvcHRpb25zKSk7
CiB9CiAKQEAgLTE4NCw3ICsxODcsNyBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c2V0
TG9jYWxEZXNjCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3NldERlc2NyaXB0aW9u
UHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9zZXREZXNjcmlwdGlvblByb21pc2Ug
PSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21p
c2UpKTsKICAgICBkb1NldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uKTsKIH0K
IApAQCAtMjQ1LDcgKzI0OCw3IEBAIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpzZXRSZW1v
dGVEZXMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX3NldERlc2NyaXB0aW9uUHJvbWlzZSA9IFdU
Rjo6bWFrZVVuaXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkp
OwogICAgIGRvU2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uKTsKIH0KIApA
QCAtMzI1LDcgKzMyOCw3IEBAIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjphZGRJY2VDYW5k
aWQKICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiVHJ5aW5n
IHRvIGFkZCBhIGNhbmRpZGF0ZSB0aGF0IGlzIG1pc3NpbmcgYm90aCBzZHBNaWQgYW5kIHNkcE1M
aW5lSW5kZXgiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9hZGRJY2VDYW5k
aWRhdGVQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX2FkZEljZUNhbmRpZGF0ZVBy
b21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3Zl
KHByb21pc2UpKTsKICAgICBkb0FkZEljZUNhbmRpZGF0ZSgqaWNlQ2FuZGlkYXRlKTsKIH0KIApA
QCAtNDcwLDYgKzQ3MywxMSBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6ZG9uZUdhdGhl
cmluCiAgICAgbV9wZW5kaW5nSUNFQ2FuZGlkYXRlcy5jbGVhcigpOwogfQogCit2b2lkIFBlZXJD
b25uZWN0aW9uQmFja2VuZDo6ZW5kT2ZJY2VDYW5kaWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2
b2lkPiYmIHByb21pc2UpCit7CisgICAgcHJvbWlzZS5yZXNvbHZlKCk7Cit9CisKIHZvaWQgUGVl
ckNvbm5lY3Rpb25CYWNrZW5kOjpyZWdpc3Rlck1ETlNOYW1lKGNvbnN0IFN0cmluZyYgaXBBZGRy
ZXNzKQogewogICAgICsrbV93YWl0aW5nRm9yTUROU1JlZ2lzdHJhdGlvbjsKQEAgLTUyMCw5ICs1
MjgsOSBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6dXBkYXRlU2lnbmFsCiAKIHZvaWQg
UGVlckNvbm5lY3Rpb25CYWNrZW5kOjpzdG9wKCkKIHsKLSAgICBtX29mZmVyQW5zd2VyUHJvbWlz
ZSA9IFdURjo6bnVsbG9wdDsKLSAgICBtX3NldERlc2NyaXB0aW9uUHJvbWlzZSA9IFdURjo6bnVs
bG9wdDsKLSAgICBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2UgPSBXVEY6Om51bGxvcHQ7CisgICAg
bV9vZmZlckFuc3dlclByb21pc2UgPSBudWxscHRyOworICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9t
aXNlID0gbnVsbHB0cjsKKyAgICBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2UgPSBudWxscHRyOwog
CiAgICAgbV9wZW5kaW5nVHJhY2tFdmVudHMuY2xlYXIoKTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFj
a2VuZC5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICsz
Myw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURl
ZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92
aWRlci5oIgogI2luY2x1ZGUgIlJUQ1J0cFNlbmRQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uLmgiCkBAIC00Myw2ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBN
ZWRpYVN0cmVhbTsKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2s7CkBAIC01Niw2ICs1Nyw3IEBAIGNs
YXNzIFJUQ1J0cFNlbmRlcjsKIGNsYXNzIFJUQ1J0cFRyYW5zY2VpdmVyOwogY2xhc3MgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uOwogY2xhc3MgUlRDU3RhdHNSZXBvcnQ7CitjbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OwogCiBzdHJ1Y3QgTWVkaWFFbmRwb2ludENvbmZpZ3VyYXRpb247CiBzdHJ1
Y3QgUlRDQW5zd2VyT3B0aW9uczsKQEAgLTYzLDYgKzY1LDggQEAgc3RydWN0IFJUQ0RhdGFDaGFu
bmVsSW5pdDsKIHN0cnVjdCBSVENPZmZlck9wdGlvbnM7CiBzdHJ1Y3QgUlRDUnRwVHJhbnNjZWl2
ZXJJbml0OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVm
ZXJyZWQ7CisKIG5hbWVzcGFjZSBQZWVyQ29ubmVjdGlvbiB7CiB1c2luZyBTZXNzaW9uRGVzY3Jp
cHRpb25Qcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETERpY3Rpb25hcnk8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uOjpJbml0Pj47CiB1c2luZyBTdGF0c1Byb21pc2UgPSBET01Qcm9taXNlRGVm
ZXJyZWQ8SURMSW50ZXJmYWNlPFJUQ1N0YXRzUmVwb3J0Pj47CkBAIC04Myw3ICs4Nyw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgT3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBzZW5kZXJDYXBh
YmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYga2luZCk7CiAK
ICAgICBleHBsaWNpdCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQoUlRDUGVlckNvbm5lY3Rpb24mKTsK
LSAgICB2aXJ0dWFsIH5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKSA9IGRlZmF1bHQ7CisgICAgdmly
dHVhbCB+UGVlckNvbm5lY3Rpb25CYWNrZW5kKCk7CiAKICAgICB2b2lkIGNyZWF0ZU9mZmVyKFJU
Q09mZmVyT3B0aW9ucyYmLCBQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlz
ZSYmKTsKICAgICB2b2lkIGNyZWF0ZUFuc3dlcihSVENBbnN3ZXJPcHRpb25zJiYsIFBlZXJDb25u
ZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiYpOwpAQCAtMjEyLDcgKzIxNiw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRvU2V0TG9jYWxEZXNjcmlwdGlvbihSVENTZXNz
aW9uRGVzY3JpcHRpb24mKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRvU2V0UmVtb3RlRGVzY3Jp
cHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkb0Fk
ZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGVu
ZE9mSWNlQ2FuZGlkYXRlcyhET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKSB7IHBy
b21pc2UucmVzb2x2ZSgpOyB9CisgICAgdmlydHVhbCB2b2lkIGVuZE9mSWNlQ2FuZGlkYXRlcyhE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAgICAgdmlydHVhbCB2b2lkIGRvU3RvcCgpID0g
MDsKIAogICAgIHZvaWQgcmVnaXN0ZXJNRE5TTmFtZShjb25zdCBTdHJpbmcmIGlwQWRkcmVzcyk7
CkBAIC0yMjEsOSArMjI1LDkgQEAgcHJvdGVjdGVkOgogICAgIFJUQ1BlZXJDb25uZWN0aW9uJiBt
X3BlZXJDb25uZWN0aW9uOwogCiBwcml2YXRlOgotICAgIE9wdGlvbmFsPFBlZXJDb25uZWN0aW9u
OjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlPiBtX29mZmVyQW5zd2VyUHJvbWlzZTsKLSAgICBP
cHRpb25hbDxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fc2V0RGVzY3JpcHRpb25Qcm9taXNl
OwotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9hZGRJY2VDYW5kaWRh
dGVQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRl
c2NyaXB0aW9uUHJvbWlzZT4gbV9vZmZlckFuc3dlclByb21pc2U7CisgICAgc3RkOjp1bmlxdWVf
cHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9zZXREZXNjcmlwdGlvblByb21pc2U7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9hZGRJY2VDYW5k
aWRhdGVQcm9taXNlOwogCiAgICAgYm9vbCBtX3Nob3VsZEZpbHRlcklDRUNhbmRpZGF0ZXMgeyB0
cnVlIH07CiAgICAgc3RydWN0IFBlbmRpbmdJQ0VDYW5kaWRhdGUgewpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3
IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVk
ZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IkpTUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAi
TWVkaWFFbmRwb2ludENvbmZpZ3VyYXRpb24uaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmgJKHJldmlzaW9uIDI1MDcy
OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIFBlZXJDb25uZWN0aW9uQmFja2VuZDsK
IHN0cnVjdCBSVENSdHBDYXBhYmlsaXRpZXM7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oCShyZXZp
c2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRlckJhY2tlbmQuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsMTYgKzI2LDE3IEBACiAKICNp
ZiBFTkFCTEUoV0VCX1JUQykKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0K
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFTdHJlYW1UcmFjazsKIGNsYXNzIFJU
Q0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3MgUlRDUnRwU2VuZGVyOwotc3RydWN0IFJUQ1J0cFNl
bmRQYXJhbWV0ZXJzOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAorc3RydWN0IFJU
Q1J0cFNlbmRQYXJhbWV0ZXJzOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBE
T01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFJUQ1J0cFNlbmRlckJhY2tlbmQgewogcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlVHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IFJUQ1J0cFNlbmRlciYsIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJikgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCShyZXZpc2lvbiAyNTA3Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJKU01lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWlu
ZWRFcnJvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTYxLDcgKzYyLDcgQEAgUmVmPFVz
ZXJNZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OgogVXNlck1lZGlhUmVxdWVzdDo6VXNl
ck1lZGlhUmVxdWVzdChEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhU3RyZWFtUmVxdWVzdCYmIHJl
cXVlc3QsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+PiYmIHBy
b21pc2UpCiAgICAgOiBBY3RpdmVET01PYmplY3QoZG9jdW1lbnQpCiAgICAgLCBtX2lkZW50aWZp
ZXIoVXNlck1lZGlhUmVxdWVzdElkZW50aWZpZXI6OmdlbmVyYXRlKCkpCi0gICAgLCBtX3Byb21p
c2UoV1RGTW92ZShwcm9taXNlKSkKKyAgICAsIG1fcHJvbWlzZShtYWtlVW5pcXVlUmVmPERPTVBy
b21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+Pj4oV1RGTW92ZShwcm9taXNl
KSkpCiAgICAgLCBtX3JlcXVlc3QoV1RGTW92ZShyZXF1ZXN0KSkKIHsKIH0KQEAgLTI1Niw3ICsy
NTcsNyBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmFsbG93KENhcHR1cmVEZXZpCiAKICAgICAg
ICAgQVNTRVJUKGRvY3VtZW50LmlzQ2FwdHVyaW5nKCkpOwogICAgICAgICBzdHJlYW0tPmRvY3Vt
ZW50KCktPnNldEhhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrKCk7Ci0gICAgICAgIG1fcHJvbWlz
ZS5yZXNvbHZlKFdURk1vdmUoc3RyZWFtKSk7CisgICAgICAgIG1fcHJvbWlzZS0+cmVzb2x2ZShX
VEZNb3ZlKHN0cmVhbSkpOwogICAgIH07CiAKICAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKQEAgLTI5OCw3ICsyOTksNyBA
QCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkoTWVkaWFBY2Nlc3NECiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgTWVkaWFBY2Nlc3NEZW5pYWxSZWFzb246OkludmFsaWRDb25zdHJhaW50Ogog
ICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkg
LSBpbnZhbGlkIGNvbnN0cmFpbnQgLSAlcyIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAg
ICAgIG1fcHJvbWlzZS5yZWplY3RUeXBlPElETEludGVyZmFjZTxPdmVyY29uc3RyYWluZWRFcnJv
cj4+KE92ZXJjb25zdHJhaW5lZEVycm9yOjpjcmVhdGUobWVzc2FnZSwgIkludmFsaWQgY29uc3Ry
YWludCJfcykuZ2V0KCkpOworICAgICAgICBtX3Byb21pc2UtPnJlamVjdFR5cGU8SURMSW50ZXJm
YWNlPE92ZXJjb25zdHJhaW5lZEVycm9yPj4oT3ZlcmNvbnN0cmFpbmVkRXJyb3I6OmNyZWF0ZSht
ZXNzYWdlLCAiSW52YWxpZCBjb25zdHJhaW50Il9zKS5nZXQoKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICBjYXNlIE1lZGlhQWNjZXNzRGVuaWFsUmVhc29uOjpIYXJkd2FyZUVycm9yOgogICAgICAg
ICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkgLSBoYXJk
d2FyZSBlcnJvciIpOwpAQCAtMzE5LDkgKzMyMCw5IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6
ZGVueShNZWRpYUFjY2Vzc0QKICAgICB9CiAKICAgICBpZiAoIW1lc3NhZ2UuaXNFbXB0eSgpKQot
ICAgICAgICBtX3Byb21pc2UucmVqZWN0KGNvZGUsIG1lc3NhZ2UpOworICAgICAgICBtX3Byb21p
c2UtPnJlamVjdChjb2RlLCBtZXNzYWdlKTsKICAgICBlbHNlCi0gICAgICAgIG1fcHJvbWlzZS5y
ZWplY3QoY29kZSk7CisgICAgICAgIG1fcHJvbWlzZS0+cmVqZWN0KGNvZGUpOwogfQogCiB2b2lk
IFVzZXJNZWRpYVJlcXVlc3Q6OnN0b3AoKQpAQCAtMzYxLDcgKzM2Miw3IEBAIHZvaWQgVXNlck1l
ZGlhUmVxdWVzdDo6bWVkaWFTdHJlYW1EaWRGYWkKICAgICAgICAgdHlwZURlc2NyaXB0aW9uID0g
InVua25vd24iOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV9wcm9taXNlLnJlamVjdChO
b3RSZWFkYWJsZUVycm9yLCBtYWtlU3RyaW5nKCJGYWlsZWQgc3RhcnRpbmcgY2FwdHVyZSBvZiBh
ICJfcywgdHlwZURlc2NyaXB0aW9uLCAiIHRyYWNrIl9zKSk7CisgICAgbV9wcm9taXNlLT5yZWpl
Y3QoTm90UmVhZGFibGVFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHN0YXJ0aW5nIGNhcHR1cmUg
b2YgYSAiX3MsIHR5cGVEZXNjcmlwdGlvbiwgIiB0cmFjayJfcykpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM2LDE4ICszNiwyMSBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiQ2FwdHVyZURldmljZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRz
LmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJl
YW1SZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKyNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFTdHJlYW07CiBjbGFzcyBTZWN1cml0
eU9yaWdpbjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURl
ZmVycmVkOworCiBlbnVtIFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyVHlwZSB7IH07CiB1c2lu
ZyBVc2VyTWVkaWFSZXF1ZXN0SWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8VXNlck1lZGlh
UmVxdWVzdElkZW50aWZpZXJUeXBlPjsKIApAQCAtOTEsNyArOTQsNyBAQCBwcml2YXRlOgogICAg
IFZlY3RvcjxTdHJpbmc+IG1fdmlkZW9EZXZpY2VVSURzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1f
YXVkaW9EZXZpY2VVSURzOwogCi0gICAgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxN
ZWRpYVN0cmVhbT4+IG1fcHJvbWlzZTsKKyAgICBVbmlxdWVSZWY8RE9NUHJvbWlzZURlZmVycmVk
PElETEludGVyZmFjZTxNZWRpYVN0cmVhbT4+PiBtX3Byb21pc2U7CiAgICAgTWVkaWFTdHJlYW1S
ZXF1ZXN0IG1fcmVxdWVzdDsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q01lZGlhRW5kcG9pbnQuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2lmIFVTRShMSUJXRUJSVEMpCiAKICNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJKU1JUQ1N0YXRzUmVwb3J0LmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDRGF0YUNo
YW5uZWxIYW5kbGVyLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5k
LmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VC
UlRDKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJX
ZWJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1BlZXJDb25uZWN0
aW9uQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0aWxzLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Nl
aXZlckJhY2tlbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAJKHJl
dmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRD
KQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJXZWJS
VENSdHBSZWNlaXZlckJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENSdHBTZW5kZXJCYWNr
ZW5kLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3Bw
CShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5j
bHVkZSAiSlNQYXltZW50RGV0YWlsc1VwZGF0ZS5oIgogI2luY2x1ZGUgIkpTUGF5bWVudFJlc3Bv
bnNlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNDEwLDcgKzQxMSw3IEBAIHZvaWQgUGF5bWVu
dFJlcXVlc3Q6OnNob3coRG9jdW1lbnQmIGRvY3UKIAogICAgIG1fc3RhdGUgPSBTdGF0ZTo6SW50
ZXJhY3RpdmU7CiAgICAgQVNTRVJUKCFtX3Nob3dQcm9taXNlKTsKLSAgICBtX3Nob3dQcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX3Nob3dQcm9taXNlID0gV1RGOjptYWtlVW5pcXVl
PFNob3dQcm9taXNlPihXVEZNb3ZlKHByb21pc2UpKTsKIAogICAgIFJlZlB0cjxQYXltZW50SGFu
ZGxlcj4gc2VsZWN0ZWRQYXltZW50SGFuZGxlcjsKICAgICBmb3IgKGF1dG8mIHBheW1lbnRNZXRo
b2QgOiBtX3NlcmlhbGl6ZWRNZXRob2REYXRhKSB7CkBAIC00NjgsNyArNDY5LDcgQEAgdm9pZCBQ
YXltZW50UmVxdWVzdDo6YWJvcnRXaXRoRXhjZXB0aW9uKAogCiB2b2lkIFBheW1lbnRSZXF1ZXN0
OjpzZXR0bGVTaG93UHJvbWlzZShFeGNlcHRpb25PcjxQYXltZW50UmVzcG9uc2UmPiYmIHJlc3Vs
dCkKIHsKLSAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0ZDo6ZXhjaGFuZ2UobV9zaG93UHJv
bWlzZSwgV1RGOjpudWxsb3B0KSkKKyAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0ZDo6ZXhj
aGFuZ2UobV9zaG93UHJvbWlzZSwgbnVsbHB0cikpCiAgICAgICAgIHNob3dQcm9taXNlLT5zZXR0
bGUoV1RGTW92ZShyZXN1bHQpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAkocmV2aXNpb24gMjUw
NzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVx
dWVzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiQWN0aXZl
RE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Pci5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURM
VHlwZXMuaCIKICNpbmNsdWRlICJQYXltZW50RGV0YWlsc0luaXQuaCIKICNpbmNsdWRlICJQYXlt
ZW50TWV0aG9kQ2hhbmdlRXZlbnQuaCIKICNpbmNsdWRlICJQYXltZW50T3B0aW9ucy5oIgpAQCAt
NDksNiArNDksNyBAQCBlbnVtIGNsYXNzIFBheW1lbnRDb21wbGV0ZTsKIGVudW0gY2xhc3MgUGF5
bWVudFNoaXBwaW5nVHlwZTsKIHN0cnVjdCBQYXltZW50RGV0YWlsc1VwZGF0ZTsKIHN0cnVjdCBQ
YXltZW50TWV0aG9kRGF0YTsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVBy
b21pc2VEZWZlcnJlZDsKIAogY2xhc3MgUGF5bWVudFJlcXVlc3QgZmluYWwgOiBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UGF5bWVudFJlcXVlc3Q+LCBwdWJs
aWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIFJlZkNvdW50ZWQ8UGF5bWVudFJl
cXVlc3Q+IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBheW1lbnRSZXF1ZXN0KTsKQEAg
LTE0Miw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3NoaXBwaW5nT3B0aW9uOwog
ICAgIFJlZlB0cjxQYXltZW50QWRkcmVzcz4gbV9zaGlwcGluZ0FkZHJlc3M7CiAgICAgU3RhdGUg
bV9zdGF0ZSB7IFN0YXRlOjpDcmVhdGVkIH07Ci0gICAgT3B0aW9uYWw8U2hvd1Byb21pc2U+IG1f
c2hvd1Byb21pc2U7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNob3dQcm9taXNlPiBtX3Nob3dQcm9t
aXNlOwogICAgIE9wdGlvbmFsPFBheW1lbnRIYW5kbGVyV2l0aFBlbmRpbmdBY3Rpdml0eT4gbV9h
Y3RpdmVQYXltZW50SGFuZGxlcjsKICAgICBSZWZQdHI8RE9NUHJvbWlzZT4gbV9kZXRhaWxzUHJv
bWlzZTsKICAgICBSZWZQdHI8RE9NUHJvbWlzZT4gbV9tZXJjaGFudFNlc3Npb25Qcm9taXNlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9u
c2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFJlc3BvbnNlLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQogCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgogI2luY2x1ZGUgIlBheW1lbnRSZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxv
Y0lubGluZXMuaD4KQEAgLTEwMyw3ICsxMDQsNyBAQCB2b2lkIFBheW1lbnRSZXNwb25zZTo6cmV0
cnkoUGF5bWVudFZhbGlkCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3JldHJ5UHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9yZXRyeVByb21pc2UgPSBXVEY6Om1ha2VV
bmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAog
dm9pZCBQYXltZW50UmVzcG9uc2U6OmFib3J0V2l0aEV4Y2VwdGlvbihFeGNlcHRpb24mJiBleGNl
cHRpb24pCkBAIC0xMjAsNyArMTIxLDggQEAgdm9pZCBQYXltZW50UmVzcG9uc2U6OnNldHRsZVJl
dHJ5UHJvbWlzZQogCiAgICAgQVNTRVJUKGhhc1BlbmRpbmdBY3Rpdml0eSgpKTsKICAgICBBU1NF
UlQobV9zdGF0ZSA9PSBTdGF0ZTo6Q3JlYXRlZCk7Ci0gICAgc3RkOjpleGNoYW5nZShtX3JldHJ5
UHJvbWlzZSwgV1RGOjpudWxsb3B0KS0+c2V0dGxlKFdURk1vdmUocmVzdWx0KSk7CisgICAgbV9y
ZXRyeVByb21pc2UtPnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAgIG1fcmV0cnlQcm9taXNl
ID0gbnVsbHB0cjsKIH0KIAogYm9vbCBQYXltZW50UmVzcG9uc2U6OmNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24oKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5oCShyZXZpc2lvbiAyNTA3
MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNw
b25zZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQWN0aXZl
RE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNp
bmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSAiSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIgogI2luY2x1ZGUgIlBheW1lbnRB
ZGRyZXNzLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvbXBsZXRlLmgiCkBAIC00Miw2ICs0MSw4IEBA
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgUGF5bWVudFJlcXVlc3Q7CiBzdHJ1Y3QgUGF5bWVudFZh
bGlkYXRpb25FcnJvcnM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVBy
b21pc2VEZWZlcnJlZDsKKwogY2xhc3MgUGF5bWVudFJlc3BvbnNlIGZpbmFsIDogcHVibGljIEFj
dGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBS
ZWZDb3VudGVkPFBheW1lbnRSZXNwb25zZT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
UGF5bWVudFJlc3BvbnNlKTsKIHB1YmxpYzoKQEAgLTEyMyw3ICsxMjQsNyBAQCBwcml2YXRlOgog
ICAgIFN0cmluZyBtX3BheWVyRW1haWw7CiAgICAgU3RyaW5nIG1fcGF5ZXJQaG9uZTsKICAgICBT
dGF0ZSBtX3N0YXRlIHsgU3RhdGU6OkNyZWF0ZWQgfTsKLSAgICBPcHRpb25hbDxET01Qcm9taXNl
RGVmZXJyZWQ8dm9pZD4+IG1fcmV0cnlQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcmV0cnlQcm9taXNlOwogICAgIFJlZlB0cjxQZW5kaW5n
QWN0aXZpdHk8UGF5bWVudFJlc3BvbnNlPj4gbV9wZW5kaW5nQWN0aXZpdHk7CiB9OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbVNvdXJjZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVh
ZGFibGVTdHJlYW1Tb3VyY2UuaCIKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CisKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVh
ZGFibGVTdHJlYW1Tb3VyY2U6On5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpID0gZGVmYXVsdDsKKwor
dm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6c3RhcnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29u
dHJvbGxlciYmIGNvbnRyb2xsZXIsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2Up
Cit7CisgICAgQVNTRVJUKCFtX3Byb21pc2UpOworICAgIG1fcHJvbWlzZSA9IFdURjo6bWFrZVVu
aXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOworICAgIG1f
Y29udHJvbGxlciA9IFdURk1vdmUoY29udHJvbGxlcik7CisKKyAgICBzZXRBY3RpdmUoKTsKKyAg
ICBkb1N0YXJ0KCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGwoRE9NUHJv
bWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAgICBBU1NFUlQoIW1fcHJvbWlzZSk7
CisgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CisKKyAgICBtX3Byb21pc2UgPSBXVEY6Om1ha2VV
bmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21pc2UpKTsKKworICAg
IHNldEFjdGl2ZSgpOworICAgIGRvUHVsbCgpOworfQorCit2b2lkIFJlYWRhYmxlU3RyZWFtU291
cmNlOjpzdGFydEZpbmlzaGVkKCkKK3sKKyAgICBBU1NFUlQobV9wcm9taXNlKTsKKyAgICBtX3By
b21pc2UtPnJlc29sdmUoKTsKKyAgICBtX3Byb21pc2UgPSBudWxscHRyOworICAgIHNldEluYWN0
aXZlKCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGxGaW5pc2hlZCgpCit7
CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisgICAgbV9wcm9taXNlLT5yZXNvbHZlKCk7CisgICAg
bV9wcm9taXNlID0gbnVsbHB0cjsKKyAgICBzZXRJbmFjdGl2ZSgpOworfQorCit2b2lkIFJlYWRh
YmxlU3RyZWFtU291cmNlOjpjYW5jZWwoSlNDOjpKU1ZhbHVlKQoreworICAgIGNsZWFuKCk7Cisg
ICAgZG9DYW5jZWwoKTsKK30KKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6Y2xlYW4oKQor
eworICAgIGlmIChtX3Byb21pc2UpIHsKKyAgICAgICAgbV9wcm9taXNlID0gbnVsbHB0cjsKKyAg
ICAgICAgc2V0SW5hY3RpdmUoKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShTVFJFQU1TX0FQSSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5oCShyZXZpc2lv
biAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1Tb3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTUgKzMwLDE2IEBACiAKICNpZiBFTkFC
TEUoU1RSRUFNU19BUEkpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJ
RExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFJlYWRhYmxlU3RyZWFt
U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8UmVhZGFibGVTdHJlYW1Tb3VyY2U+IHsKIHB1Ymxp
YzoKLSAgICB2aXJ0dWFsIH5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpID0gZGVmYXVsdDsKKyAgICB2
aXJ0dWFsIH5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpOwogCiAgICAgdm9pZCBzdGFydChSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyJiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsK
ICAgICB2b2lkIHB1bGwoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwpAQCAtNjMsNTkgKzY0
LDEwIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZG9DYW5jZWwoKSA9IDA7CiAKIHBy
aXZhdGU6Ci0gICAgT3B0aW9uYWw8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3Byb21pc2U7
CisgICAgc3RkOjp1bmlxdWVfcHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9wcm9taXNl
OwogICAgIE9wdGlvbmFsPFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI+IG1fY29udHJv
bGxlcjsKIH07CiAKLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpzdGFydChSZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyJiYgY29udHJvbGxlciwgRE9NUHJvbWlzZURlZmVy
cmVkPHZvaWQ+JiYgcHJvbWlzZSkKLXsKLSAgICBBU1NFUlQoIW1fcHJvbWlzZSk7Ci0gICAgbV9w
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKLSAgICBtX2NvbnRyb2xsZXIgPSBXVEZNb3ZlKGNv
bnRyb2xsZXIpOwotCi0gICAgc2V0QWN0aXZlKCk7Ci0gICAgZG9TdGFydCgpOwotfQotCi1pbmxp
bmUgdm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6cHVsbChET01Qcm9taXNlRGVmZXJyZWQ8dm9p
ZD4mJiBwcm9taXNlKQotewotICAgIEFTU0VSVCghbV9wcm9taXNlKTsKLSAgICBBU1NFUlQobV9j
b250cm9sbGVyKTsKLQotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7Ci0KLSAgICBz
ZXRBY3RpdmUoKTsKLSAgICBkb1B1bGwoKTsKLX0KLQotaW5saW5lIHZvaWQgUmVhZGFibGVTdHJl
YW1Tb3VyY2U6OnN0YXJ0RmluaXNoZWQoKQotewotICAgIEFTU0VSVChtX3Byb21pc2UpOwotICAg
IHN0ZDo6ZXhjaGFuZ2UobV9wcm9taXNlLCBXVEY6Om51bGxvcHQpLnZhbHVlKCkucmVzb2x2ZSgp
OwotICAgIHNldEluYWN0aXZlKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291
cmNlOjpwdWxsRmluaXNoZWQoKQotewotICAgIEFTU0VSVChtX3Byb21pc2UpOwotICAgIHN0ZDo6
ZXhjaGFuZ2UobV9wcm9taXNlLCBXVEY6Om51bGxvcHQpLnZhbHVlKCkucmVzb2x2ZSgpOwotICAg
IHNldEluYWN0aXZlKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpj
YW5jZWwoSlNDOjpKU1ZhbHVlKQotewotICAgIGNsZWFuKCk7Ci0gICAgZG9DYW5jZWwoKTsKLX0K
LQotaW5saW5lIHZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OmNsZWFuKCkKLXsKLSAgICBpZiAo
bV9wcm9taXNlKSB7Ci0gICAgICAgIG1fcHJvbWlzZSA9IFdURjo6bnVsbG9wdDsKLSAgICAgICAg
c2V0SW5hY3RpdmUoKTsKLSAgICB9Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShTVFJFQU1TX0FQSSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkF1ZGlvQnVzLmgiCiAjaW5jbHVkZSAiQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFDYW5TdGFydExpc3RlbmVyLmgi
CiAjaW5jbHVkZSAiTWVkaWFQcm9kdWNlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNz
aW9uLmgiCkBAIC03OCw2ICs3Nyw4IEBAIGNsYXNzIFNjcmlwdFByb2Nlc3Nvck5vZGU7CiBjbGFz
cyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFdhdmVTaGFwZXJOb2RlOwogCit0ZW1wbGF0ZTx0eXBl
bmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIC8vIEF1ZGlvQ29udGV4
dCBpcyB0aGUgY29ybmVyc3RvbmUgb2YgdGhlIHdlYiBhdWRpbyBBUEkgYW5kIGFsbCBBdWRpb05v
ZGVzIGFyZSBjcmVhdGVkIGZyb20gaXQuCiAvLyBGb3IgdGhyZWFkIHNhZmV0eSBiZXR3ZWVuIHRo
ZSBhdWRpbyB0aHJlYWQgYW5kIHRoZSBtYWluIHRocmVhZCwgaXQgaGFzIGEgcmVuZGVyaW5nIGdy
YXBoIGxvY2tpbmcgbWVjaGFuaXNtLiAKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBA
CiAjaW5jbHVkZSAiQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCIKICNpbmNsdWRl
ICJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQuaCIKICNpbmNsdWRlICJKU0Jhc2ljQ3Jl
ZGVudGlhbC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
UHVibGljS2V5Q3JlZGVudGlhbC5oIgogI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnMuaCIKICNpbmNsdWRlICJQdWJsaWNLZXlDcmVkZW50aWFsRGF0YS5oIgpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JDb29yZGluYXRvci5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTQx
LDYgKzQxLDggQEAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9uczsKIHN0cnVjdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZl
cnJlZDsKKwogdXNpbmcgQ3JlZGVudGlhbFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURM
TnVsbGFibGU8SURMSW50ZXJmYWNlPEJhc2ljQ3JlZGVudGlhbD4+PjsKIAogY2xhc3MgQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yIGZpbmFsIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5oCShyZXZpc2lvbiAyNTA3
MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAiQmFzaWND
cmVkZW50aWFsLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC00
MCw2ICs0MCw4IEBAIGNsYXNzIERvY3VtZW50OwogCiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlh
bERhdGE7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZl
cnJlZDsKKwogY2xhc3MgUHVibGljS2V5Q3JlZGVudGlhbCBmaW5hbCA6IHB1YmxpYyBCYXNpY0Ny
ZWRlbnRpYWwgewogcHVibGljOgogICAgIHN0cnVjdCBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnND
bGllbnRPdXRwdXRzIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
LmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShX
RUJHUFUpCiAKICNpbmNsdWRlICJHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCIKKyNpbmNsdWRl
ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTV2ViR1BVQWRhcHRlci5oIgog
I2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFUuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV2ViR1BVLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lm
IEVOQUJMRShXRUJHUFUpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2lu
Y2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzUsNiArMzUs
OCBAQCBjbGFzcyBXZWJHUFVBZGFwdGVyOwogCiBzdHJ1Y3QgR1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJy
ZWQ7CisKIGNsYXNzIFdlYkdQVSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVT4gewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8V2ViR1BVPiBjcmVhdGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCShyZXZpc2lvbiAyNTA3Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTV2ViR1BVRGV2aWNlLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVB
ZGFwdGVyLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUFkYXB0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2lm
IEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgi
CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zOCw2ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgV2ViR1BVRGV2aWNlOwogCit0ZW1wbGF0ZTx0eXBl
bmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFdlYkdQVUFk
YXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVBZGFwdGVyPiB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxXZWJHUFVBZGFwdGVyPiBjcmVhdGUoT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0
ZXJPcHRpb25zPiYmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUJ1ZmZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVQnVmZmVyLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjks
NyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVFcnJvclNjb3Blcy5oIgor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmgJKHJldmlzaW9uIDI1MDcyOCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiR1BVQnVmZmVyLmgiCiAjaW5jbHVk
ZSAiR1BVQnVmZmVyVXNhZ2UuaCIKICNpbmNsdWRlICJHUFVPYmplY3RCYXNlLmgiCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00MSw2ICs0MSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEdQVUJ1ZmZlckRlc2NyaXB0b3I7CiAKK3RlbXBs
YXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3Mg
V2ViR1BVQnVmZmVyIDogcHVibGljIEdQVU9iamVjdEJhc2UgewogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8V2ViR1BVQnVmZmVyPiBjcmVhdGUoUmVmUHRyPEdQVUJ1ZmZlcj4mJiwgR1BVRXJyb3JT
Y29wZXMmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmlj
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBAQAog
I2luY2x1ZGUgIkdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgi
CisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0dQVU91dE9m
TWVtb3J5RXJyb3IuaCIKICNpbmNsdWRlICJKU0dQVVZhbGlkYXRpb25FcnJvci5oIgogI2luY2x1
ZGUgIkpTV2ViR1BVQnVmZmVyLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVEZXZpY2UuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMw
LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkdQVURldmljZS5oIgog
I2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIldlYkdQVUFkYXB0ZXIuaCIK
ICNpbmNsdWRlICJXZWJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIldlYkdQVVN3YXBDaGFpbkRlc2Ny
aXB0b3IuaCIKQEAgLTcyLDYgKzcyLDggQEAgc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2Ny
aXB0b3I7CiAKIGVudW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CiAKK3RlbXBsYXRlPHR5cGVuYW1l
IElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogdXNpbmcgRXJyb3JJRExVbmlv
biA9IElETFVuaW9uPElETEludGVyZmFjZTxHUFVPdXRPZk1lbW9yeUVycm9yPiwgSURMSW50ZXJm
YWNlPEdQVVZhbGlkYXRpb25FcnJvcj4+OwogdXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlz
ZURlZmVycmVkPElETE51bGxhYmxlPEVycm9ySURMVW5pb24+PjsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVzZXJ2ZVZhcmlhYmxlTGlmZXRpbWVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFByZXNlcnZlVmFyaWFibGVMaWZldGltZXMuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNlcnZlVmFyaWFibGVM
aWZldGltZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRl
ICJXSExTTEFTVC5oIgogI2luY2x1ZGUgIldITFNMQVNURHVtcGVyLmgiCisjaW5jbHVkZSAiV0hM
U0xMZXhlci5oIgogI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgogI2luY2x1ZGUgIldITFNMUmVw
bGFjZVdpdGguaCIKICNpbmNsdWRlICJXSExTTFZpc2l0b3IuaCIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN0YW5kYXJkTGlicmFyeVV0aWxpdGllcy5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0
aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiV0hM
U0xDYWxsRXhwcmVzc2lvbi5oIgogI2luY2x1ZGUgIldITFNMUGFyc2VyLmgiCisjaW5jbHVkZSAi
V0hMU0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAiV0hMU0xTdGFuZGFyZExpYnJhcnkuaCIKICNpbmNs
dWRlICJXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmgiCiAjaW5jbHVkZSAiV0hMU0xW
aXNpdG9yLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmlnYXRvcldl
YlZSLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmln
YXRvcldlYlZSLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcg
QEAKICNpbmNsdWRlICJOYXZpZ2F0b3JXZWJWUi5oIgogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTVlJEaXNwbGF5
LmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJW
Ui5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9y
V2ViVlIuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2
ci9OYXZpZ2F0b3JXZWJWUi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRl
ICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCkBAIC0zNiw2ICszNiw4IEBAIGNsYXNzIE5hdmlnYXRvcjsKIGNsYXNzIFBh
Z2U7CiBjbGFzcyBWUkRpc3BsYXk7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNz
IERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3MgTmF2aWdhdG9yV2ViVlIgZmluYWwgOiBwdWJs
aWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5j
cHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJE
aXNwbGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkRP
TUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJV
c2VyR2VzdHVyZUluZGljYXRvci5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2
ci9WUkRpc3BsYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnZyL1ZSRGlzcGxheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiVlJFeWUuaCIKICNpbmNs
dWRlICJWUkxheWVySW5pdC5oIgogI2luY2x1ZGUgIlZSUGxhdGZvcm1EaXNwbGF5Q2xpZW50Lmgi
CkBAIC0zNiw2ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gRXhjZXB0aW9u
Q29kZTsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIFJlcXVlc3RBbmltYXRpb25GcmFt
ZUNhbGxiYWNrOwogY2xhc3MgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOwogY2xhc3MgVlJE
aXNwbGF5Q2FwYWJpbGl0aWVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC02NjMxLDYgKzY2MzEsNyBAQAogCQkyRDNFRjQ0NTE5MTc5MTVDMDAwMzQxODQgLyogV2ViQWN0
aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViQWN0aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDNFRjQ0NjE5MTc5MTVDMDAwMzQxODQgLyogV2Vi
Q29yZUNBTGF5ZXJFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
Q29yZUNBTGF5ZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQzRUY0
NDcxOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENDNFQjJEMjM0NzJCQzMwMDJBMUVENCAvKiBS
ZWFkYWJsZVN0cmVhbVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZWFkYWJsZVN0cmVhbVNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJENDZGMDREMTdCOTZGQkQwMDU2NDdGMCAvKiBJbnRQb2ludC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnRQb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJENDZGMDRGMTdCOTZGRDIwMDU2NDdGMCAvKiBJbnRTaXplLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludFNpemUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJGODggLyogVGV4dEluZGlj
YXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0SW5kaWNh
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTM4LDYgKzE3OTM5LDcg
QEAKIAkJCQk0MTI5Qzk4NzFGNTg2NjJEMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmNw
cCAqLywKIAkJCQk0MTI5Qzk4MDFGNTg2MUM3MDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5r
LmggKi8sCiAJCQkJNDEyOUM5ODExRjU4NjFDNzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2lu
ay5pZGwgKi8sCisJCQkJMkQ0M0VCMkQyMzQ3MkJDMzAwMkExRUQ0IC8qIFJlYWRhYmxlU3RyZWFt
U291cmNlLmNwcCAqLywKIAkJCQk0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVT
dHJlYW1Tb3VyY2UuaCAqLywKIAkJCQk0MThDMzk1QzFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFi
bGVTdHJlYW1Tb3VyY2UuaWRsICovLAogCQkJCTk5MDhCMEYxMUJDQUNGOTEwMEVEMEY1NSAvKiBT
dHJlYW1JbnRlcm5hbHMuanMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5
ZnJhbWVFZmZlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9L
ZXlmcmFtZUVmZmVjdC5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcg
QEAKICNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkpTQ29tcG9zaXRl
T3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGVPcGVyYXRpb25PckF1dG8uaCIKKyNp
bmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJKU0tleWZyYW1lRWZmZWN0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCShyZXZpc2lv
biAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFuaW1hdGlvbkVmZmVj
dC5oIgogI2luY2x1ZGUgIkFuaW1hdGlvblBsYXliYWNrRXZlbnQuaCIKICNpbmNsdWRlICJBbmlt
YXRpb25UaW1lbGluZS5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUg
IkRlY2xhcmF0aXZlQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudFRpbWVsaW5lLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2Vi
QW5pbWF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFu
aW1hdGlvbi5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
V2ViQW5pbWF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDkgKzI2LDkgQEAKICNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVkZSAiRE9NUHJvbWlz
ZVByb3h5LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25P
ci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0
aWVzLmgiCiAjaW5jbHVkZSA8d3RmL01hcmthYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KQEAgLTQ1LDYgKzQ1LDggQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50Owog
Y2xhc3MgUmVuZGVyU3R5bGU7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERP
TVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNsYXNzIFdlYkFuaW1hdGlvbiA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYkFuaW1hdGlvbj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxX
ZWJBbmltYXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJBbmltYXRpb24p
OwogcHVibGljOgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRl
ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVy
cy5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlw
dENvbnRyb2xsZXIuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCShyZXZpc2lvbiAyNTA3
MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsMTEgKzI1LDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI7CitjbGFzcyBEZWZlcnJl
ZFByb21pc2U7CiAKIGNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiBwdWJs
aWM6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJl
ZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlz
ZURlZmVycmVkLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NUHJvbWlzZURlZmVycmVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw2ICsxNjYs
NyBAQCBwcml2YXRlOgogfTsKIAogY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkQmFzZSB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRE9NUHJvbWlzZURlZmVycmVk
QmFzZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIGdlbmVyaWNQcm9taXNlKQogICAgICAgICA6IG1f
cHJvbWlzZURlZmVycmVkKFdURk1vdmUoZ2VuZXJpY1Byb21pc2UpKQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRD
dXN0b20uY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5
ICszMSw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNIVE1MVGVtcGxhdGVF
bGVtZW50LmgiCiAKKyNpbmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJKU0RvY3Vt
ZW50RnJhZ21lbnQuaCIKIAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3Rv
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURh
dGFDdXN0b20uY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgogCi0jaW5j
bHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0
LmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9IZWFwSW5saW5lcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0lkZW50aWZpZXJJ
bmxpbmVzLmg+CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20uY3BwCShy
ZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxl
U3RyZWFtU291cmNlQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAog
CiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9uQ3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1c3Rv
bS5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V2ViQW5pbWF0aW9uQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkpTQ1NTQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDU1NUcmFuc2l0aW9uLmgi
CiAjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvci5oIgorI2luY2x1ZGUgIkpTRE9NQ29udmVydC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAJKHJldmlzaW9uIDI1
MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVC
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkFjdGl2
ZURPTUNhbGxiYWNrTWljcm90YXNrLmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAj
aW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3RUYXNrLmgiCisjaW5jbHVkZSAiSlNET01HdWFyZGVk
T2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2lu
Y2x1ZGUgIkpTTWljcm90YXNrQ2FsbGJhY2suaCIKICNpbmNsdWRlICJKU1dvcmtlckdsb2JhbFNj
b3BlLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNj
b3BlQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDEwICsyNiwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkpTV29ya2VyR2xvYmFsU2NvcGUuaCIKIAorI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFu
ZGxpbmcuaCIKICNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTTWljcm90YXNrLmg+CiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcg
bmFtZXNwYWNlIEpTQzsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3Jr
bGV0R2xvYmFsU2NvcGVCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVy
V29ybGQuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdFRhc2suaCIKKyNpbmNsdWRlICJK
U0RPTUd1YXJkZWRPYmplY3QuaCIKICNpbmNsdWRlICJKU1dvcmtsZXRHbG9iYWxTY29wZS5oIgog
I2luY2x1ZGUgIldvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtsZXRTY3JpcHRD
b250cm9sbGVyLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1
bGVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdE1vZHVsZUxvYWRlci5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMy
LDYgKzMyLDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBl
UmVnaXN0cnkuaCIKICNpbmNsdWRlICJNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmgiCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9Gb250RmFjZS5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9Gb250RmFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNs
dWRlICJDU1NVbmljb2RlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgog
I2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udFZhcmlhbnRCdWlsZGVyLmgiCiAj
aW5jbHVkZSAiSlNGb250RmFjZS5oIgpAQCAtMTI2LDE0ICsxMjcsMTQgQEAgUmVmPEZvbnRGYWNl
PiBGb250RmFjZTo6Y3JlYXRlKENTU0ZvbnRGYQogCiBGb250RmFjZTo6Rm9udEZhY2UoQ1NTRm9u
dFNlbGVjdG9yJiBmb250U2VsZWN0b3IpCiAgICAgOiBtX2JhY2tpbmcoQ1NTRm9udEZhY2U6OmNy
ZWF0ZSgmZm9udFNlbGVjdG9yLCBudWxscHRyLCB0aGlzKSkKLSAgICAsIG1fbG9hZGVkUHJvbWlz
ZSgqdGhpcywgJkZvbnRGYWNlOjpsb2FkZWRQcm9taXNlUmVzb2x2ZSkKKyAgICAsIG1fbG9hZGVk
UHJvbWlzZShtYWtlVW5pcXVlUmVmPExvYWRlZFByb21pc2U+KCp0aGlzLCAmRm9udEZhY2U6Omxv
YWRlZFByb21pc2VSZXNvbHZlKSkKIHsKICAgICBtX2JhY2tpbmctPmFkZENsaWVudCgqdGhpcyk7
CiB9CiAKIEZvbnRGYWNlOjpGb250RmFjZShDU1NGb250RmFjZSYgZmFjZSkKICAgICA6IG1fYmFj
a2luZyhmYWNlKQotICAgICwgbV9sb2FkZWRQcm9taXNlKCp0aGlzLCAmRm9udEZhY2U6OmxvYWRl
ZFByb21pc2VSZXNvbHZlKQorICAgICwgbV9sb2FkZWRQcm9taXNlKG1ha2VVbmlxdWVSZWY8TG9h
ZGVkUHJvbWlzZT4oKnRoaXMsICZGb250RmFjZTo6bG9hZGVkUHJvbWlzZVJlc29sdmUpKQogewog
ICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKIH0KQEAgLTQ2MywxNSArNDY0LDE1IEBA
IHZvaWQgRm9udEZhY2U6OmZvbnRTdGF0ZUNoYW5nZWQoQ1NTRm9udEYKICAgICBjYXNlIENTU0Zv
bnRGYWNlOjpTdGF0dXM6OlN1Y2Nlc3M6CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIHNo
b3VsZCBub3QgYmUgbmVlZGVkLCBidXQgYmVjYXVzZSBGb250RmFjZSdzIGFyZSBzb21ldGltZXMg
YWRvcHRlZCBhZnRlciB0aGV5IGhhdmUgYWxyZWFkeQogICAgICAgICAvLyBnb25lIHRocm91Z2gg
YSBsb2FkIGN5Y2xlLCB3ZSBjYW4gc29tZXRpbWVzIGNvbWUgYmFjayB0aHJvdWdoIGhlcmUgYW5k
IHRyeSB0byByZXNvbHZlIHRoZSBwcm9taXNlIGFnYWluLiAgCi0gICAgICAgIGlmICghbV9sb2Fk
ZWRQcm9taXNlLmlzRnVsZmlsbGVkKCkpCi0gICAgICAgICAgICBtX2xvYWRlZFByb21pc2UucmVz
b2x2ZSgqdGhpcyk7CisgICAgICAgIGlmICghbV9sb2FkZWRQcm9taXNlLT5pc0Z1bGZpbGxlZCgp
KQorICAgICAgICAgICAgbV9sb2FkZWRQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKICAgICAgICAg
ZGVyZWYoKTsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ1NTRm9udEZhY2U6OlN0YXR1czo6
RmFpbHVyZToKICAgICAgICAgLy8gRklYTUU6IFRoaXMgY2hlY2sgc2hvdWxkIG5vdCBiZSBuZWVk
ZWQsIGJ1dCBiZWNhdXNlIEZvbnRGYWNlJ3MgYXJlIHNvbWV0aW1lcyBhZG9wdGVkIGFmdGVyIHRo
ZXkgaGF2ZSBhbHJlYWR5CiAgICAgICAgIC8vIGdvbmUgdGhyb3VnaCBhIGxvYWQgY3ljbGUsIHdl
IGNhbiBzb21ldGltZXMgY29tZSBiYWNrIHRocm91Z2ggaGVyZSBhbmQgdHJ5IHRvIHJlc29sdmUg
dGhlIHByb21pc2UgYWdhaW4uICAKLSAgICAgICAgaWYgKCFtX2xvYWRlZFByb21pc2UuaXNGdWxm
aWxsZWQoKSkKLSAgICAgICAgICAgIG1fbG9hZGVkUHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
TmV0d29ya0Vycm9yIH0pOworICAgICAgICBpZiAoIW1fbG9hZGVkUHJvbWlzZS0+aXNGdWxmaWxs
ZWQoKSkKKyAgICAgICAgICAgIG1fbG9hZGVkUHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IE5l
dHdvcmtFcnJvciB9KTsKICAgICAgICAgZGVyZWYoKTsKICAgICAgICAgcmV0dXJuOwogICAgIGNh
c2UgQ1NTRm9udEZhY2U6OlN0YXR1czo6UGVuZGluZzoKQEAgLTQ4Myw3ICs0ODQsNyBAQCB2b2lk
IEZvbnRGYWNlOjpmb250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGCiBhdXRvIEZvbnRGYWNlOjpsb2Fk
KCkgLT4gTG9hZGVkUHJvbWlzZSYKIHsKICAgICBtX2JhY2tpbmctPmxvYWQoKTsKLSAgICByZXR1
cm4gbV9sb2FkZWRQcm9taXNlOworICAgIHJldHVybiBtX2xvYWRlZFByb21pc2UuZ2V0KCk7CiB9
CiAKIEZvbnRGYWNlJiBGb250RmFjZTo6bG9hZGVkUHJvbWlzZVJlc29sdmUoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3NzL0ZvbnRGYWNlLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9G
b250RmFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw4IEBACiAKICNpbmNsdWRlICJD
U1NGb250RmFjZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJE
T01Qcm9taXNlUHJveHkuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPHd0Zi9V
bmlxdWVSZWYuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CiAKQEAgLTM4LDYgKzM5LDggQEAgY2xhc3MgQXJyYXlCdWZmZXJWaWV3OwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVBy
b21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNsYXNzIEZvbnRGYWNlIGZpbmFsIDog
cHVibGljIFJlZkNvdW50ZWQ8Rm9udEZhY2U+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8Rm9udEZh
Y2U+LCBwcml2YXRlIENTU0ZvbnRGYWNlOjpDbGllbnQgewogcHVibGljOgogICAgIHN0cnVjdCBE
ZXNjcmlwdG9ycyB7CkBAIC03Nyw3ICs4MCw3IEBAIHB1YmxpYzoKICAgICBMb2FkU3RhdHVzIHN0
YXR1cygpIGNvbnN0OwogCiAgICAgdXNpbmcgTG9hZGVkUHJvbWlzZSA9IERPTVByb21pc2VQcm94
eVdpdGhSZXNvbHZlQ2FsbGJhY2s8SURMSW50ZXJmYWNlPEZvbnRGYWNlPj47Ci0gICAgTG9hZGVk
UHJvbWlzZSYgbG9hZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQcm9taXNlOyB9CisgICAgTG9hZGVk
UHJvbWlzZSYgbG9hZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQcm9taXNlLmdldCgpOyB9CiAgICAg
TG9hZGVkUHJvbWlzZSYgbG9hZCgpOwogCiAgICAgdm9pZCBhZG9wdChDU1NGb250RmFjZSYpOwpA
QCAtOTksNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBGb250RmFjZSYgbG9hZGVkUHJvbWlzZVJl
c29sdmUoKTsKIAogICAgIFJlZjxDU1NGb250RmFjZT4gbV9iYWNraW5nOwotICAgIExvYWRlZFBy
b21pc2UgbV9sb2FkZWRQcm9taXNlOworICAgIFVuaXF1ZVJlZjxMb2FkZWRQcm9taXNlPiBtX2xv
YWRlZFByb21pc2U7CiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VT
ZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5jcHAJ
KHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDkgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkZvbnRGYWNlLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRl
ICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZS5oIgogI2luY2x1ZGUgIkpT
Rm9udEZhY2VTZXQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNTUs
NyArNTcsNyBAQCBSZWY8Rm9udEZhY2VTZXQ+IEZvbnRGYWNlU2V0OjpjcmVhdGUoRG9jCiBGb250
RmFjZVNldDo6Rm9udEZhY2VTZXQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBWZWN0b3I8UmVm
UHRyPEZvbnRGYWNlPj4mIGluaXRpYWxGYWNlcykKICAgICA6IEFjdGl2ZURPTU9iamVjdChkb2N1
bWVudCkKICAgICAsIG1fYmFja2luZyhDU1NGb250RmFjZVNldDo6Y3JlYXRlKCkpCi0gICAgLCBt
X3JlYWR5UHJvbWlzZSgqdGhpcywgJkZvbnRGYWNlU2V0OjpyZWFkeVByb21pc2VSZXNvbHZlKQor
ICAgICwgbV9yZWFkeVByb21pc2UobWFrZVVuaXF1ZVJlZjxSZWFkeVByb21pc2U+KCp0aGlzLCAm
Rm9udEZhY2VTZXQ6OnJlYWR5UHJvbWlzZVJlc29sdmUpKQogICAgICwgbV90YXNrUXVldWUoU3Vz
cGVuZGFibGVUYXNrUXVldWU6OmNyZWF0ZSgmZG9jdW1lbnQpKQogewogICAgIG1fYmFja2luZy0+
YWRkQ2xpZW50KCp0aGlzKTsKQEAgLTY2LDE0ICs2OCwxNCBAQCBGb250RmFjZVNldDo6Rm9udEZh
Y2VTZXQoRG9jdW1lbnQmIGRvY3VtCiBGb250RmFjZVNldDo6Rm9udEZhY2VTZXQoRG9jdW1lbnQm
IGRvY3VtZW50LCBDU1NGb250RmFjZVNldCYgYmFja2luZykKICAgICA6IEFjdGl2ZURPTU9iamVj
dChkb2N1bWVudCkKICAgICAsIG1fYmFja2luZyhiYWNraW5nKQotICAgICwgbV9yZWFkeVByb21p
c2UoKnRoaXMsICZGb250RmFjZVNldDo6cmVhZHlQcm9taXNlUmVzb2x2ZSkKKyAgICAsIG1fcmVh
ZHlQcm9taXNlKG1ha2VVbmlxdWVSZWY8UmVhZHlQcm9taXNlPigqdGhpcywgJkZvbnRGYWNlU2V0
OjpyZWFkeVByb21pc2VSZXNvbHZlKSkKICAgICAsIG1fdGFza1F1ZXVlKFN1c3BlbmRhYmxlVGFz
a1F1ZXVlOjpjcmVhdGUoJmRvY3VtZW50KSkKIHsKICAgICBpZiAoZG9jdW1lbnQuZnJhbWUoKSkK
ICAgICAgICAgbV9pc0ZpcnN0TGF5b3V0RG9uZSA9IGRvY3VtZW50LmZyYW1lKCktPmxvYWRlcigp
LnN0YXRlTWFjaGluZSgpLmZpcnN0TGF5b3V0RG9uZSgpOwogCiAgICAgaWYgKG1faXNGaXJzdExh
eW91dERvbmUgJiYgIWJhY2tpbmcuaGFzQWN0aXZlRm9udEZhY2VzKCkpCi0gICAgICAgIG1fcmVh
ZHlQcm9taXNlLnJlc29sdmUoKnRoaXMpOworICAgICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2
ZSgqdGhpcyk7CiAKICAgICBtX2JhY2tpbmctPmFkZENsaWVudCgqdGhpcyk7CiB9CkBAIC05Niw3
ICs5OCw3IEBAIFJlZlB0cjxGb250RmFjZT4gRm9udEZhY2VTZXQ6Okl0ZXJhdG9yOjoKIH0KIAog
Rm9udEZhY2VTZXQ6OlBlbmRpbmdQcm9taXNlOjpQZW5kaW5nUHJvbWlzZShMb2FkUHJvbWlzZSYm
IHByb21pc2UpCi0gICAgOiBwcm9taXNlKFdURk1vdmUocHJvbWlzZSkpCisgICAgOiBwcm9taXNl
KG1ha2VVbmlxdWVSZWY8TG9hZFByb21pc2U+KFdURk1vdmUocHJvbWlzZSkpKQogewogfQogCkBA
IC0xNzAsNyArMTcyLDcgQEAgdm9pZCBGb250RmFjZVNldDo6bG9hZChjb25zdCBTdHJpbmcmIGZv
bgogICAgIH0KIAogICAgIGlmICghd2FpdGluZykKLSAgICAgICAgcGVuZGluZ1Byb21pc2UtPnBy
b21pc2UucmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOworICAgICAgICBwZW5kaW5nUHJv
bWlzZS0+cHJvbWlzZS0+cmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOwogfQogCiBFeGNl
cHRpb25Pcjxib29sPiBGb250RmFjZVNldDo6Y2hlY2soY29uc3QgU3RyaW5nJiBmYW1pbHksIGNv
bnN0IFN0cmluZyYgdGV4dCkKQEAgLTIwMywxOCArMjA1LDE4IEBAIHZvaWQgRm9udEZhY2VTZXQ6
OnN0YXJ0ZWRMb2FkaW5nKCkKIHZvaWQgRm9udEZhY2VTZXQ6OmRpZEZpcnN0TGF5b3V0KCkKIHsK
ICAgICBtX2lzRmlyc3RMYXlvdXREb25lID0gdHJ1ZTsKLSAgICBpZiAoIW1fYmFja2luZy0+aGFz
QWN0aXZlRm9udEZhY2VzKCkgJiYgIW1fcmVhZHlQcm9taXNlLmlzRnVsZmlsbGVkKCkpIHsKKyAg
ICBpZiAoIW1fYmFja2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkgJiYgIW1fcmVhZHlQcm9taXNl
LT5pc0Z1bGZpbGxlZCgpKSB7CiAgICAgICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhp
c10gewotICAgICAgICAgICAgbV9yZWFkeVByb21pc2UucmVzb2x2ZSgqdGhpcyk7CisgICAgICAg
ICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAgICAgICAgIH0pOwogICAgIH0K
IH0KIAogdm9pZCBGb250RmFjZVNldDo6Y29tcGxldGVkTG9hZGluZygpCiB7Ci0gICAgaWYgKG1f
aXNGaXJzdExheW91dERvbmUgJiYgIW1fcmVhZHlQcm9taXNlLmlzRnVsZmlsbGVkKCkpIHsKKyAg
ICBpZiAobV9pc0ZpcnN0TGF5b3V0RG9uZSAmJiAhbV9yZWFkeVByb21pc2UtPmlzRnVsZmlsbGVk
KCkpIHsKICAgICAgICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzXSB7Ci0gICAgICAg
ICAgICBtX3JlYWR5UHJvbWlzZS5yZXNvbHZlKCp0aGlzKTsKKyAgICAgICAgICAgIG1fcmVhZHlQ
cm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKICAgICAgICAgfSk7CiAgICAgfQogfQpAQCAtMjM0LDEy
ICsyMzYsMTIgQEAgdm9pZCBGb250RmFjZVNldDo6ZmFjZUZpbmlzaGVkKENTU0ZvbnRGYQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKG5ld1N0YXR1cyA9PSBDU1NG
b250RmFjZTo6U3RhdHVzOjpTdWNjZXNzKSB7CiAgICAgICAgICAgICAgICAgaWYgKHBlbmRpbmdQ
cm9taXNlLT5oYXNPbmVSZWYoKSkgewotICAgICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlz
ZS0+cHJvbWlzZS5yZXNvbHZlKHBlbmRpbmdQcm9taXNlLT5mYWNlcyk7CisgICAgICAgICAgICAg
ICAgICAgIHBlbmRpbmdQcm9taXNlLT5wcm9taXNlLT5yZXNvbHZlKHBlbmRpbmdQcm9taXNlLT5m
YWNlcyk7CiAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLT5oYXNSZWFjaGVkVGVy
bWluYWxTdGF0ZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICBBU1NFUlQobmV3U3RhdHVzID09IENTU0ZvbnRGYWNlOjpTdGF0
dXM6OkZhaWx1cmUpOwotICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLT5wcm9taXNlLnJl
amVjdChOZXR3b3JrRXJyb3IpOworICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLT5wcm9t
aXNlLT5yZWplY3QoTmV0d29ya0Vycm9yKTsKICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlz
ZS0+aGFzUmVhY2hlZFRlcm1pbmFsU3RhdGUgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAkocmV2aXNpb24gMjUwNzI4KQorKysg
U291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEz
ICsyNywxNCBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ1NT
Rm9udEZhY2VTZXQuaCIKLSNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJF
dmVudFRhcmdldC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiU3VzcGVuZGFibGVUYXNrUXVldWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit0ZW1w
bGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7Cit0ZW1wbGF0
ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHlXaXRoUmVzb2x2ZUNhbGxi
YWNrOworCiBjbGFzcyBET01FeGNlcHRpb247CiAKIGNsYXNzIEZvbnRGYWNlU2V0IGZpbmFsIDog
cHVibGljIFJlZkNvdW50ZWQ8Rm9udEZhY2VTZXQ+LCBwcml2YXRlIENTU0ZvbnRGYWNlU2V0Q2xp
ZW50LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSAgQWN0aXZlRE9N
T2JqZWN0IHsKQEAgLTU3LDcgKzU4LDcgQEAgcHVibGljOgogICAgIExvYWRTdGF0dXMgc3RhdHVz
KCkgY29uc3Q7CiAKICAgICB1c2luZyBSZWFkeVByb21pc2UgPSBET01Qcm9taXNlUHJveHlXaXRo
UmVzb2x2ZUNhbGxiYWNrPElETEludGVyZmFjZTxGb250RmFjZVNldD4+OwotICAgIFJlYWR5UHJv
bWlzZSYgcmVhZHkoKSB7IHJldHVybiBtX3JlYWR5UHJvbWlzZTsgfQorICAgIFJlYWR5UHJvbWlz
ZSYgcmVhZHkoKSB7IHJldHVybiBtX3JlYWR5UHJvbWlzZS5nZXQoKTsgfQogICAgIHZvaWQgZGlk
Rmlyc3RMYXlvdXQoKTsKIAogICAgIENTU0ZvbnRGYWNlU2V0JiBiYWNraW5nKCkgeyByZXR1cm4g
bV9iYWNraW5nOyB9CkBAIC04OSw3ICs5MCw3IEBAIHByaXZhdGU6CiAKICAgICBwdWJsaWM6CiAg
ICAgICAgIFZlY3RvcjxSZWY8Rm9udEZhY2U+PiBmYWNlczsKLSAgICAgICAgTG9hZFByb21pc2Ug
cHJvbWlzZTsKKyAgICAgICAgVW5pcXVlUmVmPExvYWRQcm9taXNlPiBwcm9taXNlOwogICAgICAg
ICBib29sIGhhc1JlYWNoZWRUZXJtaW5hbFN0YXRlIHsgZmFsc2UgfTsKICAgICB9OwogCkBAIC0x
MTYsNyArMTE3LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxDU1NGb250RmFjZVNldD4gbV9iYWNr
aW5nOwogICAgIEhhc2hNYXA8UmVmUHRyPEZvbnRGYWNlPiwgVmVjdG9yPFJlZjxQZW5kaW5nUHJv
bWlzZT4+PiBtX3BlbmRpbmdQcm9taXNlczsKLSAgICBSZWFkeVByb21pc2UgbV9yZWFkeVByb21p
c2U7CisgICAgVW5pcXVlUmVmPFJlYWR5UHJvbWlzZT4gbV9yZWFkeVByb21pc2U7CiAgICAgVW5p
cXVlUmVmPFN1c3BlbmRhYmxlVGFza1F1ZXVlPiBtX3Rhc2tRdWV1ZTsKICAgICBib29sIG1faXNG
aXJzdExheW91dERvbmUgeyB0cnVlIH07CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0N1
c3RvbUVsZW1lbnRSZWdpc3RyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0N1c3RvbUVsZW1lbnRSZWdpc3RyeS5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRUcmF2
ZXJzYWwuaCIKICNpbmNsdWRlICJKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuaCIKKyNpbmNsdWRl
ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCiAjaW5j
bHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZl
bnQuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBA
QAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5oIgogCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjYsMTIgKzI2LDE0IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkRldmlj
ZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUuaCIKLSNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNs
YXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Pck1vdGlv
bkV2ZW50IHsKIHB1YmxpYzoKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAkocmV2
aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSlNFdmVudFRhcmdldEN1c3Rv
bS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrcy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NhbGxGcmFtZS5o
PgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEs
MTEgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnRJT1MuaCIKICNlbmRpZgogCituYW1l
c3BhY2UgSlNDIHsKK2NsYXNzIEV4ZWNTdGF0ZTsKK2NsYXNzIEpTVmFsdWU7Cit9CisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGF0YVRyYW5zZmVyOwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9DdXN0b21QYWludENhbnZhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvQ3VzdG9tUGFpbnRDYW52YXMuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9DdXN0b21QYWludENhbnZhcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSAr
MjksMTEgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkNhbnZh
c0Jhc2UuaCIKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJJ
bWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSW1hZ2VCaXRtYXAuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0ltYWdlQml0bWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAog
I2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCiAjaW5jbHVk
ZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiSlNJbWFnZUJpdG1hcC5oIgogI2luY2x1ZGUgIkxheW91dFNpemUuaCIKICNpbmNsdWRlICJS
ZW5kZXJFbGVtZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5oCShyZXZpc2lv
biAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJKU0RP
TVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNDUsNiAr
NDUsOCBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVHlwZWRPTUNTU0lt
YWdlVmFsdWU7CiBzdHJ1Y3QgSW1hZ2VCaXRtYXBPcHRpb25zOwogCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIEltYWdlQml0bWFw
IGZpbmFsIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8SW1hZ2VC
aXRtYXA+IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEltYWdlQml0bWFwKTsKIHB1Ymxp
YzoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5jcHAJKHJldmlzaW9u
IDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5oIgogI2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L09mZnNjcmVlbkNhbnZhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvT2Zm
c2NyZWVuQ2FudmFzLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
T2Zmc2NyZWVuQ2FudmFzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEwICsyNywxMSBAQAogCiAj
aW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiQ2FudmFzQmFzZS5oIgorI2lu
Y2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAj
aW5jbHVkZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VM
b2FkZXIuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1h
Z2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAi
SFRNTE9iamVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNl
RGVmZXJyZWQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIK
ICNpbmNsdWRlICJSZW5kZXJTVkdJbWFnZS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxMyArMjQsMTMgQEAKIAogI2luY2x1ZGUg
IkNhY2hlZEltYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBF
bGVtZW50OwogY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2
OSw3IEBACiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKICNpbmNsdWRlICJIaXN0b3J5LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0Jhc2UuaCIKICNpbmNsdWRlICJK
U0V4ZWNTdGF0ZS5oIgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDYgQEAKICNwcmFnbWEgb25jZQogCiAj
aW5jbHVkZSAiRE9NV2luZG93UHJvcGVydHkuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIk5hdmlnYXRvckJhc2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFw
cGFibGUuaCIKICNpbmNsdWRlICJTaGFyZURhdGEuaCIKQEAgLTI5LDYgKzI4LDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBET01NaW1l
VHlwZUFycmF5OwogY2xhc3MgRE9NUGx1Z2luQXJyYXk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbnNvbGVDbGllbnQuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcs
NiArNjcsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEFyZ3VtZW50cy5oPgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KKyNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9TdHJvbmdJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKICNpZiBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9DdXN0b21QYWludEltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9DdXN0b21QYWludEltYWdlLmNwcAkocmV2aXNpb24gMjUwNzI4KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3VzdG9tUGFpbnRJbWFnZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJJbWFnZUJpdG1hcC5o
IgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSlNDU1NQYWludENhbGxiYWNr
LmgiCisjaW5jbHVkZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIlBhaW50
UmVuZGVyaW5nQ29udGV4dDJELmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1
ZGUgIlN0eWxlUHJvcGVydHlNYXAuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNyw3IEBACiAjaW5jbHVkZSAiSW5z
dHJ1bWVudGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRl
cm5hbFNldHRpbmdzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNs
dWRlICJKU0ltYWdlRGF0YS5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5j
bHVkZSAiTG9hZGVyU3RyYXRlZ3kuaCIKQEAgLTQ3ODcsNyArNDc4OCw3IEBAIHZvaWQgSW50ZXJu
YWxzOjpvYnNlcnZlTWVkaWFTdHJlYW1UcmFjaygKIAogdm9pZCBJbnRlcm5hbHM6OmdyYWJOZXh0
TWVkaWFTdHJlYW1UcmFja0ZyYW1lKFRyYWNrRnJhbWVQcm9taXNlJiYgcHJvbWlzZSkKIHsKLSAg
ICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9uZXh0
VHJhY2tGcmFtZVByb21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8VHJhY2tGcmFtZVByb21pc2U+KHBy
b21pc2UpOwogfQogCiB2b2lkIEludGVybmFsczo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFT
YW1wbGUmIHNhbXBsZSkKQEAgLTQ4MDksNyArNDgxMCw3IEBAIHZvaWQgSW50ZXJuYWxzOjp2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWQKICAgICAgICAgbV9uZXh0VHJhY2tGcmFtZVByb21pc2UtPnJl
c29sdmUoaW1hZ2VEYXRhLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLnJlbGVhc2VOb25OdWxsKCkpOwog
ICAgIGVsc2UKICAgICAgICAgbV9uZXh0VHJhY2tGcmFtZVByb21pc2UtPnJlamVjdChpbWFnZURh
dGEuZXhjZXB0aW9uKCkuY29kZSgpKTsKLSAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IFdU
Rjo6bnVsbG9wdDsKKyAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IG51bGxwdHI7CiB9CiAK
IHZvaWQgSW50ZXJuYWxzOjpkZWxheU1lZGlhU3RyZWFtVHJhY2tTYW1wbGVzKE1lZGlhU3RyZWFt
VHJhY2smIHRyYWNrLCBmbG9hdCBkZWxheSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkNvb2tpZS5o
IgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiSEVWQ1V0aWxpdGllcy5oIgot
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIK
ICNpbmNsdWRlICJPcmllbnRhdGlvbk5vdGlmaWVyLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVD
bGllbnQuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCkBAIC05Niw4ICs5Niwx
MCBAQCBjbGFzcyBTdHJpbmdDYWxsYmFjazsKIGNsYXNzIFN0eWxlU2hlZXQ7CiBjbGFzcyBUaW1l
UmFuZ2VzOwogY2xhc3MgVHlwZUNvbnZlcnNpb25zOworY2xhc3MgVW5zdXNwZW5kYWJsZUFjdGl2
ZURPTU9iamVjdDsKIGNsYXNzIFZvaWRDYWxsYmFjazsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDsKK2NsYXNzIFdpbmRvd1Byb3h5OwogY2xhc3MgWE1MSHR0cFJlcXVlc3Q7CiAKICNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCkBAIC0xMDgsNyArMTEwLDcgQEAgY2xhc3MgVGV4dFRyYWNrQ3Vl
R2VuZXJpYzsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiAjZW5kaWYKIAotY2xhc3MgVW5zdXNwZW5k
YWJsZUFjdGl2ZURPTU9iamVjdDsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERP
TVByb21pc2VEZWZlcnJlZDsKIAogY2xhc3MgSW50ZXJuYWxzIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8SW50ZXJuYWxzPiwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcgogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCkBAIC04OTgsNyArOTAwLDcgQEAgcHJpdmF0ZToKICAgICB1
bnNpZ25lZCBsb25nIG1fdHJhY2tWaWRlb1NhbXBsZUNvdW50IHsgMCB9OwogICAgIHVuc2lnbmVk
IGxvbmcgbV90cmFja0F1ZGlvU2FtcGxlQ291bnQgeyAwIH07CiAgICAgUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2s+IG1fdHJhY2s7Ci0gICAgT3B0aW9uYWw8VHJhY2tGcmFtZVByb21pc2U+IG1fbmV4
dFRyYWNrRnJhbWVQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxUcmFja0ZyYW1lUHJvbWlz
ZT4gbV9uZXh0VHJhY2tGcmFtZVByb21pc2U7CiAjZW5kaWYKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxJbnNwZWN0b3JTdHViRnJvbnRlbmQ+IG1faW5zcGVjdG9yRnJvbnRlbmQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaAkocmV2aXNp
b24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVk
ZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTM3LDYgKzM3LDggQEAgY2xhc3MgRmV0Y2hF
dmVudDsKIGNsYXNzIEZldGNoUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7
CisKIGNsYXNzIFdFQkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JUIFNlcnZpY2VXb3JrZXJJbnRlcm5h
bHMgOiBwdWJsaWMgUmVmQ291bnRlZDxTZXJ2aWNlV29ya2VySW50ZXJuYWxzPiB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxTZXJ2aWNlV29ya2VySW50ZXJuYWxzPiBjcmVhdGUoU2VydmljZVdv
cmtlcklkZW50aWZpZXIgaWRlbnRpZmllcikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXJ2aWNl
V29ya2VySW50ZXJuYWxzIHsgaWRlbnRpZmllciB9KTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
dGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5tbQkocmV2aXNpb24gMjUwNzI4
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAKKyNp
bXBvcnQgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0xh
dW5jaFNlcnZpY2VzU1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRh
aW5lci5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiRE9NUHJv
bWlzZVByb3h5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAkocmV2aXNpb24gMjUw
NzI4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250
YWluZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOSArMjgsOSBAQAogI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgotI2luY2x1ZGUgIkRP
TVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR2Vu
ZXJpY0V2ZW50UXVldWUuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlNXQ2xp
ZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlNXU2VydmVyLmgiCiAjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckpvYkNsaWVudC5oIgpAQCAtNDgsNiArNDgsOCBAQCBjbGFzcyBTZXJ2aWNlV29ya2Vy
OwogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgOiB1aW50OF90OwogZW51
bSBjbGFzcyBXb3JrZXJUeXBlOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBE
T01Qcm9taXNlUHJveHk7CisKIGNsYXNzIFNlcnZpY2VXb3JrZXJDb250YWluZXIgZmluYWwgOiBw
dWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwg
cHVibGljIFNlcnZpY2VXb3JrZXJKb2JDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNlcnZpY2VXb3JrZXJDb250YWluZXIpOwogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU2Vy
dmljZVdvcmtlckNvbnRhaW5lcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckpvYi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBT
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUzLDYgKzUzLDExIEBAIFNlcnZpY2VXb3JrZXJKb2I6On5TZXJ2aWNlV29y
a2VySm9iKCkKICAgICBBU1NFUlQobV9jcmVhdGlvblRocmVhZC5wdHIoKSA9PSAmVGhyZWFkOjpj
dXJyZW50KCkpOwogfQogCitSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBTZXJ2aWNlV29ya2VySm9i
Ojp0YWtlUHJvbWlzZSgpCit7CisgICAgcmV0dXJuIFdURk1vdmUobV9wcm9taXNlKTsKK30KKwog
dm9pZCBTZXJ2aWNlV29ya2VySm9iOjpmYWlsZWRXaXRoRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlv
biYgZXhjZXB0aW9uKQogewogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFkLnB0cigpID09ICZU
aHJlYWQ6OmN1cnJlbnQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckpvYi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAotI2luY2x1
ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5o
IgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VySm9iRGF0YS5oIgpAQCAtNjMsNyArNjIsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBT
ZXJ2aWNlV29ya2VySm9iRGF0YSYgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fam9iRGF0YTsgfQog
ICAgIGJvb2wgaGFzUHJvbWlzZSgpIGNvbnN0IHsgcmV0dXJuICEhbV9wcm9taXNlOyB9Ci0gICAg
UmVmUHRyPERlZmVycmVkUHJvbWlzZT4gdGFrZVByb21pc2UoKSB7IHJldHVybiBXVEZNb3ZlKG1f
cHJvbWlzZSk7IH0KKyAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiB0YWtlUHJvbWlzZSgpOwog
CiAgICAgdm9pZCBmZXRjaFNjcmlwdFdpdGhDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBGZXRjaE9wdGlvbnM6OkNhY2hlKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyLmgiCiAjaW5jbHVkZSAiU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCShyZXZpc2lvbiAy
NTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMyArMjksMTMgQEAKIAogI2luY2x1
ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJTV0NsaWVudENvbm5lY3Rpb24u
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oIgogI2luY2x1ZGUg
IlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNl
OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiBj
bGFzcyBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2xl
dHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAkocmV2aXNpb24gMjUwNzI4
KQorKysgU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw4ICszMSw3IEBACiAjaW5jbHVkZSAiRE9NV2luZG93Lmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0NTU1BhaW50Q2FsbGJhY2suaCIK
LSNpbmNsdWRlICJKU0RPTUNvbnZlcnRDYWxsYmFja3MuaCIKLSNpbmNsdWRlICJKU0RPTUNvbnZl
cnRTZXF1ZW5jZXMuaCIKKyNpbmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJSZW5k
ZXJWaWV3LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3
dGYvU2V0Rm9yU2NvcGUuaD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380225</attachid>
            <date>2019-10-04 09:56:20 -0700</date>
            <delta_ts>2019-10-04 11:52:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202570-20191004095619.patch</filename>
            <type>text/plain</type>
            <size>91548</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyMCBAQAorMjAxOS0xMC0wNCAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBzb21l
IGluY2x1ZGVzIHRvIG1ha2UgdGhlIGJ1aWxkIGEgYml0IGZhc3RlcjogRE9NUHJvbWlzZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNTcwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBq
dXN0IHJlb3JnYW5pemluZy4KKworICAgICAgICBBcHBseSBzb21lIHByb2ZpbGUtZ3VpZGVkIG9w
dGltaXphdGlvbnMgdG8gb3VyIGhlYWRlcnMuCisKKyAgICAgICAgR2V0IEpTRE9NUHJvbWlzZURl
ZmVycmVkLmggYW5kIERPTVByb21pc2VQcm94eS5oIG91dCBvZiBXZWJDb3JlIGhlYWRlcnMuCisg
ICAgICAgIE9uZSByZW1haW5zIChGZXRjaEJvZHlDb25zdW1lci5oKTsgSSBsZWF2ZSBpdCBhcyBh
biBleGVyY2lzZSB0byB0aGUgcmVhZGVyLgorICAgICAgICBJbiBteSB0ZXN0aW5nLCB0aGlzIGlz
IHdvcnRoIGEgcmVsaWFibGUgNS02JSBvbiB0aGUgV2ViQ29yZSBCdWlsZCBCZW5jaG1hcmsuCisK
KyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0
ZW1BY2Nlc3MuaDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5j
cHA6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHA6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDoKKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0RPTVdpbmRvd0ZldGNoLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0RPTVdp
bmRvd0ZldGNoLmg6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwOgorICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Lmg6CisgICAgICAgICogTW9kdWxlcy9mZXRj
aC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5o
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHA6Cisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmg6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHA6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5oOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
QmFja2VuZC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVz
dC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0Lmg6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFF
bmRwb2ludC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmNwcDoKKyAgICAgICAg
KiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwOgorICAgICAgICAqIE1vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmg6CisgICAgICAgICogTW9kdWxlcy9zdHJl
YW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRl
bnRpYWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNlcnZlVmFy
aWFibGVMaWZldGltZXMuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNM
U3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9X
ZWJHUFUuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVS5oOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUFkYXB0ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVCdWZm
ZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oOgorICAgICAg
ICAqIE1vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5jcHA6CisgICAgICAgICogTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JX
ZWJWUi5jcHA6CisgICAgICAgICogTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnZyL1ZSRGlzcGxheS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJh
bWVFZmZlY3QuY3BwOgorICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAg
ICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9D
YWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0NhY2hl
ZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
UHJvbWlzZURlZmVycmVkLmg6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVF
bGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3Rv
bS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZWFkYWJsZVN0cmVhbVNvdXJjZUN1c3Rv
bS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20uY3BwOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxvYWRlci5jcHA6CisgICAgICAgICogY3NzL0ZvbnRGYWNl
LmNwcDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2UuaDoKKyAgICAgICAgKiBjc3MvRm9udEZhY2VT
ZXQuY3BwOgorICAgICAgICAqIGNzcy9Gb250RmFjZVNldC5oOgorICAgICAgICAqIGRvbS9DdXN0
b21FbGVtZW50UmVnaXN0cnkuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uRXZlbnQuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9u
RXZlbnQuaDoKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgICogZG9tL01v
dXNlRXZlbnQuaDoKKyAgICAgICAgKiBodG1sL0N1c3RvbVBhaW50Q2FudmFzLmg6CisgICAgICAg
ICogaHRtbC9JbWFnZUJpdG1hcC5jcHA6CisgICAgICAgICogaHRtbC9JbWFnZUJpdG1hcC5oOgor
ICAgICAgICAqIGh0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcDoKKyAgICAgICAgKiBodG1sL09mZnNj
cmVlbkNhbnZhcy5oOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAg
ICogbG9hZGVyL0ltYWdlTG9hZGVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgor
ICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Q3VzdG9tUGFpbnRJbWFnZS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNl
V29ya2VySW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLm1tOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVy
LmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5o
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmg6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmg6CisgICAgICAg
ICogd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorCiAyMDE5LTEwLTA0ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92
ZSBXS1Byb2Nlc3NQb29sLl9yZWdpc3RlclVSTFNjaGVtZVNlcnZpY2VXb3JrZXJzQ2FuSGFuZGxl
IHRvIF9XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTIwNSw2ICsyMDUsNyBAQCBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNV
dHRlcmFuY2UuCiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNWb2ljZS5jcHAKIAogTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU2luay5jcHAKK01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbVNvdXJjZS5jcHAKIAogTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuY3Bw
CiBNb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcApJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5k
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCShyZXZpc2lvbiAyNTA3Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UGF5bWVudEhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBACiAj
aW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnQuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UGF5bWVu
dE1ldGhvZC5oIgogI2luY2x1ZGUgIkpTQXBwbGVQYXlSZXF1ZXN0LmgiCisjaW5jbHVkZSAiSlNE
T01Db252ZXJ0LmgiCiAjaW5jbHVkZSAiTGlua0ljb25Db2xsZWN0b3IuaCIKICNpbmNsdWRlICJN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTU2LDYgKzU3
LDcgQEAKICNpbmNsdWRlICJQYXltZW50UmVzcG9uc2UuaCIKICNpbmNsdWRlICJQYXltZW50VmFs
aWRhdGlvbkVycm9ycy5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNPTk9iamVjdC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiQ0RNLmgiCiAjaW5jbHVkZSAiQ0RNSW5zdGFuY2Uu
aCIKKyNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC02Myw2ICs2
NCw3IEBAIE1lZGlhS2V5U2Vzc2lvbjo6TWVkaWFLZXlTZXNzaW9uKFNjcmlwdEUKICAgICA6IEFj
dGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAgICAsIG1fa2V5cyhXVEZNb3ZlKGtleXMpKQogICAg
ICwgbV9leHBpcmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkp
CisgICAgLCBtX2Nsb3NlZFByb21pc2UobWFrZVVuaXF1ZVJlZjxDbG9zZWRQcm9taXNlPigpKQog
ICAgICwgbV9rZXlTdGF0dXNlcyhNZWRpYUtleVN0YXR1c01hcDo6Y3JlYXRlKCp0aGlzKSkKICAg
ICAsIG1fdXNlRGlzdGluY3RpdmVJZGVudGlmaWVyKHVzZURpc3RpbmN0aXZlSWRlbnRpZmllcikK
ICAgICAsIG1fc2Vzc2lvblR5cGUoc2Vzc2lvblR5cGUpCkBAIC03MDksNyArNzExLDcgQEAgdm9p
ZCBNZWRpYUtleVNlc3Npb246OnNlc3Npb25DbG9zZWQoKQogCiAgICAgLy8gNS4gTGV0IHByb21p
c2UgYmUgdGhlIGNsb3NlZCBhdHRyaWJ1dGUgb2YgdGhlIHNlc3Npb24uCiAgICAgLy8gNi4gUmVz
b2x2ZSBwcm9taXNlLgotICAgIG1fY2xvc2VkUHJvbWlzZS5yZXNvbHZlKCk7CisgICAgbV9jbG9z
ZWRQcm9taXNlLT5yZXNvbHZlKCk7CiB9CiAKIFN0cmluZyBNZWRpYUtleVNlc3Npb246Om1lZGlh
S2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCShyZXZpc2lv
biAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMCArMzIsMTAgQEAKIAogI2luY2x1
ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNlU2Vzc2lvbi5oIgot
I2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAj
aW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKICNpbmNsdWRlICJHZW5lcmljVGFza1F1ZXVl
LmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJNZWRpYUtleU1lc3NhZ2VUeXBl
LmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlwZS5oIgogI2luY2x1ZGUgIk1lZGlhS2V5
U3RhdHVzLmgiCkBAIC00OCwxMCArNDgsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBCdWZmZXJTb3VyY2U7CiBjbGFzcyBDRE07CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFz
cyBNZWRpYUtleVN0YXR1c01hcDsKIGNsYXNzIE1lZGlhS2V5czsKIGNsYXNzIFNoYXJlZEJ1ZmZl
cjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZVByb3h5Owor
CiBjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtl
eVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCwgcHVibGljIENETUluc3RhbmNlU2Vzc2lvbkNsaWVudCB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChNZWRpYUtleVNlc3Npb24pOwogcHVibGljOgpAQCAtNzQsNyArNzcs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmUoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAK
ICAgICB1c2luZyBDbG9zZWRQcm9taXNlID0gRE9NUHJvbWlzZVByb3h5PElETFZvaWQ+OwotICAg
IENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJuIG1fY2xvc2VkUHJvbWlzZTsgfQorICAg
IENsb3NlZFByb21pc2UmIGNsb3NlZCgpIHsgcmV0dXJuIG1fY2xvc2VkUHJvbWlzZS5nZXQoKTsg
fQogCiAgICAgY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWY8U2hhcmVkQnVmZmVyPiwgTWVkaWFL
ZXlTdGF0dXM+PiYgc3RhdHVzZXMoKSBjb25zdCB7IHJldHVybiBtX3N0YXR1c2VzOyB9CiAKQEAg
LTEwNSw3ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8TWVkaWFLZXlzPiBtX2tleXM7
CiAgICAgU3RyaW5nIG1fc2Vzc2lvbklkOwogICAgIGRvdWJsZSBtX2V4cGlyYXRpb247Ci0gICAg
Q2xvc2VkUHJvbWlzZSBtX2Nsb3NlZFByb21pc2U7CisgICAgVW5pcXVlUmVmPENsb3NlZFByb21p
c2U+IG1fY2xvc2VkUHJvbWlzZTsKICAgICBSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IG1fa2V5U3Rh
dHVzZXM7CiAgICAgYm9vbCBtX2Nsb3NlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3VuaW5pdGlh
bGl6ZWQgeyB0cnVlIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcAkocmV2aXNp
b24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN5c3RlbUFjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAog
I2luY2x1ZGUgIkNETS5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNlLmgiCisjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhS2V5cy5oIgogI2luY2x1ZGUg
Ik1lZGlhS2V5cy5oIgogI2luY2x1ZGUgIk1lZGlhS2V5c1JlcXVpcmVtZW50LmgiCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVN5c3RlbUFjY2Vzcy5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDcgKzMxLDYgQEAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAj
aW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAg
LTM5LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ0RNOworY2xhc3Mg
RGVmZXJyZWRQcm9taXNlOwogY2xhc3MgTWVkaWFLZXlzOwogCiBjbGFzcyBNZWRpYUtleVN5c3Rl
bUFjY2VzcyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiB7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eXMuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAK
ICNpbmNsdWRlICJDRE0uaCIKICNpbmNsdWRlICJDRE1DbGllbnQuaCIKICNpbmNsdWRlICJDRE1J
bnN0YW5jZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhS2V5U2Vzc2lvbi5oIgogI2luY2x1ZGUgIlNoYXJl
ZEJ1ZmZlci5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5cy5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3
ICszMiw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIkdlbmVyaWNU
YXNrUXVldWUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
Ik1lZGlhS2V5U2Vzc2lvblR5cGUuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ0LDcgKzQzLDkgQEAgY2xhc3MgQ0RNOwogY2xhc3MgQ0RN
Q2xpZW50OwogY2xhc3MgQ0RNSW5zdGFuY2U7CiBjbGFzcyBCdWZmZXJTb3VyY2U7CitjbGFzcyBE
ZWZlcnJlZFByb21pc2U7CiBjbGFzcyBNZWRpYUtleVNlc3Npb247CitjbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OwogCiBjbGFzcyBNZWRpYUtleXMgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YUtleXM+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFLZXlzPiB7CiBwdWJsaWM6CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZp
Z2F0b3JFTUUuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYg
KzMzLDcgQEAKIAogI2luY2x1ZGUgIkNETS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5j
bHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhS2V5U3lzdGVt
QWNjZXNzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmgJKHJldmlzaW9u
IDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdh
dG9yRU1FLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEyICszMCwxMiBAQAogCiAjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiU3VwcGxl
bWVudGFibGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21p
c2U7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhS2V5U3lzdGVtQWNjZXNzOwogY2xhc3Mg
TmF2aWdhdG9yOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dG
ZXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01X
aW5kb3dGZXRjaC5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJGZXRjaFJlc3BvbnNlLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJKU0ZldGNoUmVzcG9uc2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dGZXRjaC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRE9NV2luZG93RmV0Y2guaAkocmV2
aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9ET01XaW5kb3dG
ZXRjaC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTEgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0LmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIERPTVdpbmRvdzsKIAogY2xhc3MgRE9NV2lu
ZG93RmV0Y2ggewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
LmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAi
RmV0Y2hIZWFkZXJzLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlclZhbHVlcy5oIgogI2luY2x1ZGUg
IkhUVFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNs
dWRlICJSZWFkYWJsZVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Fy
cmF5QnVmZmVyVmlldy5oPgogCkBAIC0xMjksNiArMTMwLDExIEBAIHZvaWQgRmV0Y2hCb2R5Ojp0
ZXh0KEZldGNoQm9keU93bmVyJiBvd24KICAgICBjb25zdW1lKG93bmVyLCBXVEZNb3ZlKHByb21p
c2UpKTsKIH0KIAordm9pZCBGZXRjaEJvZHk6OmZvcm1EYXRhKEZldGNoQm9keU93bmVyJiwgUmVm
PERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIHByb21pc2UuZ2V0KCkucmVqZWN0
KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKwogdm9pZCBGZXRjaEJvZHk6OmNvbnN1bWVPbmNlTG9h
ZGluZ0ZpbmlzaGVkKEZldGNoQm9keUNvbnN1bWVyOjpUeXBlIHR5cGUsIFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYgcHJvbWlzZSwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkKIHsKICAgICBtX2Nv
bnN1bWVyLnNldFR5cGUodHlwZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoQm9keS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hCb2R5LmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hCb2R5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDEzICszMiwxMyBAQAogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5Q29uc3VtZXIuaCIKICNp
bmNsdWRlICJGb3JtRGF0YS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIKICNpbmNsdWRlICJVUkxTZWFyY2hQYXJhbXMuaCIK
ICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNz
IERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIEZldGNoQm9keU93bmVyOwogY2xhc3MgRmV0Y2hCb2R5
U291cmNlOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKQEAgLTQ5LDcgKzQ5LDcgQEAg
cHVibGljOgogICAgIHZvaWQgYmxvYihGZXRjaEJvZHlPd25lciYsIFJlZjxEZWZlcnJlZFByb21p
c2U+JiYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQganNvbihGZXRjaEJvZHlPd25lciYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgdGV4dChGZXRjaEJvZHlPd25lciYsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwotICAgIHZvaWQgZm9ybURhdGEoRmV0Y2hCb2R5T3duZXIm
LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpIHsgcHJvbWlzZS5nZXQoKS5yZWplY3Qo
Tm90U3VwcG9ydGVkRXJyb3IpOyB9CisgICAgdm9pZCBmb3JtRGF0YShGZXRjaEJvZHlPd25lciYs
IFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogICAg
IHZvaWQgY29uc3VtZUFzU3RyZWFtKEZldGNoQm9keU93bmVyJiwgRmV0Y2hCb2R5U291cmNlJik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5
UG9saWN5LmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5LmgiCisjaW5jbHVkZSAiRmV0Y2hCb2R5Q29u
c3VtZXIuaCIKICNpbmNsdWRlICJGZXRjaExvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkZldGNo
UmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNyArMjgsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkZldGNoQm9keUNv
bnN1bWVyLmgiCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlci5oIgogI2luY2x1ZGUgIlRocmVh
ZGFibGVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvVVJMLmg+CkBAIC0zNiw2ICszNSw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJsb2I7CitjbGFzcyBGZXRjaEJvZHlD
b25zdW1lcjsKIGNsYXNzIEZldGNoTG9hZGVyQ2xpZW50OwogY2xhc3MgRmV0Y2hSZXF1ZXN0Owog
Y2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAkocmV2aXNp
b24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9Xb3JrZXJHbG9iYWxT
Y29wZUZldGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
Ildvcmtlckdsb2JhbFNjb3BlRmV0Y2guaCIKIAogI2luY2x1ZGUgIkZldGNoUmVzcG9uc2UuaCIK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTRmV0Y2hSZXNw
b25zZS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5o
CShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dvcmtl
ckdsb2JhbFNjb3BlRmV0Y2guaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTAgKzI5LDEwIEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkZldGNoUmVxdWVzdC5oIgotI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJy
ZWRQcm9taXNlOwogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGU7CiAKIGNsYXNzIFdvcmtlckdsb2Jh
bFNjb3BlRmV0Y2ggewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxp
dGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9NZWRpYUNhcGFiaWxpdGllcy5jcHAJKHJldmlzaW9u
IDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvTWVk
aWFDYXBhYmlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
bmNsdWRlICJDb250ZW50VHlwZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU01lZGlhQ2FwYWJpbGl0aWVzRGVj
b2RpbmdJbmZvLmgiCiAjaW5jbHVkZSAiSlNNZWRpYUNhcGFiaWxpdGllc0VuY29kaW5nSW5mby5o
IgogI2luY2x1ZGUgIk1lZGlhQ2FwYWJpbGl0aWVzRGVjb2RpbmdJbmZvLmgiCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9N
ZWRpYUNhcGFiaWxpdGllcy5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhY2FwYWJpbGl0aWVzL01lZGlhQ2FwYWJpbGl0aWVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDExICsyNiwxMSBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJHZW5lcmlj
VGFza1F1ZXVlLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERlZmVy
cmVkUHJvbWlzZTsKIGNsYXNzIERvY3VtZW50Owogc3RydWN0IE1lZGlhRGVjb2RpbmdDb25maWd1
cmF0aW9uOwogc3RydWN0IE1lZGlhRW5jb2RpbmdDb25maWd1cmF0aW9uOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTTWVkaWFE
ZXZpY2VJbmZvLmgiCiAjaW5jbHVkZSAiTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmgi
CiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgJKHJldmlz
aW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFE
ZXZpY2VzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlICJFdmVu
dE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25P
ci5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlw
ZXMuaCIKICNpbmNsdWRlICJNZWRpYVRyYWNrQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKQEAgLTUyLDYgKzUy
LDggQEAgY2xhc3MgTWVkaWFTdHJlYW07CiAKIHN0cnVjdCBNZWRpYVRyYWNrU3VwcG9ydGVkQ29u
c3RyYWludHM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VE
ZWZlcnJlZDsKKwogY2xhc3MgTWVkaWFEZXZpY2VzIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8
TWVkaWFEZXZpY2VzPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZWRpYURldmljZXM+IHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlhRGV2aWNlcyk7CiBwdWJsaWM6CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYg
KzMzLDcgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5j
bHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAj
aW5jbHVkZSAiSlNPdmVyY29uc3RyYWluZWRFcnJvci5oIgogI2luY2x1ZGUgIk1lZGlhQ29uc3Ry
YWludHMuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgpAQCAtMzc5LDcgKzM4MCw3IEBAIHN0
YXRpYyBNZWRpYUNvbnN0cmFpbnRzIGNyZWF0ZU1lZGlhQ29uc3QKIAogdm9pZCBNZWRpYVN0cmVh
bVRyYWNrOjphcHBseUNvbnN0cmFpbnRzKGNvbnN0IE9wdGlvbmFsPE1lZGlhVHJhY2tDb25zdHJh
aW50cz4mIGNvbnN0cmFpbnRzLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQog
ewotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9wcm9taXNlID0gV1RG
OjptYWtlVW5pcXVlPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4oV1RGTW92ZShwcm9taXNlKSk7
CiAKICAgICBhdXRvIGNvbXBsZXRpb25IYW5kbGVyID0gW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdl
YWtQdHIoKnRoaXMpLCBjb25zdHJhaW50c10oYXV0byYmIGVycm9yKSBtdXRhYmxlIHsKICAgICAg
ICAgaWYgKCF3ZWFrVGhpcyB8fCAhbV9wcm9taXNlKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgJKHJldmlzaW9u
IDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiRG91
YmxlUmFuZ2UuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkdlbmVyaWNU
YXNrUXVldWUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IkxvbmdSYW5nZS5oIgogI2luY2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKICNpbmNsdWRlICJNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgpAQCAtNDcsNiArNDYsOCBAQCBjbGFzcyBEb2N1bWVudDsK
IAogc3RydWN0IE1lZGlhVHJhY2tDb25zdHJhaW50czsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURM
VHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOworCiBjbGFzcyBNZWRpYVN0cmVhbVRyYWNr
CiAgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVN0cmVhbVRyYWNrPgogICAgICwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdApAQCAtMjAxLDcgKzIwMiw3IEBAIHByaXZhdGU6CiAgICAgVmVjdG9y
PE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7CiAKICAgICBNZWRpYVRyYWNrQ29uc3RyYWludHMgbV9j
b25zdHJhaW50czsKLSAgICBPcHRpb25hbDxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcHJv
bWlzZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3By
b21pc2U7CiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3Rh
c2tRdWV1ZTsKICAgICBHZW5lcmljVGFza1F1ZXVlPFRpbWVyPiBtX2V2ZW50VGFza1F1ZXVlOwog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9u
QmFja2VuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5o
IgogI2luY2x1ZGUgIkpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDQ2VydGlmaWNhdGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC04Miwx
MiArODMsMTQgQEAgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpQZWVyQ29ubmVjdGlvbkJhYwogewog
fQogCitQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6On5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKSA9IGRl
ZmF1bHQ7CisKIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpjcmVhdGVPZmZlcihSVENPZmZl
ck9wdGlvbnMmJiBvcHRpb25zLCBQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJv
bWlzZSYmIHByb21pc2UpCiB7CiAgICAgQVNTRVJUKCFtX29mZmVyQW5zd2VyUHJvbWlzZSk7CiAg
ICAgQVNTRVJUKCFtX3BlZXJDb25uZWN0aW9uLmlzQ2xvc2VkKCkpOwogCi0gICAgbV9vZmZlckFu
c3dlclByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpOworICAgIG1fb2ZmZXJBbnN3ZXJQcm9taXNl
ID0gV1RGOjptYWtlVW5pcXVlPFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9t
aXNlPihXVEZNb3ZlKHByb21pc2UpKTsKICAgICBkb0NyZWF0ZU9mZmVyKFdURk1vdmUob3B0aW9u
cykpOwogfQogCkBAIC0xMjQsNyArMTI3LDcgQEAgdm9pZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OmNyZWF0ZUFuc3dlcgogICAgIEFTU0VSVCghbV9vZmZlckFuc3dlclByb21pc2UpOwogICAgIEFT
U0VSVCghbV9wZWVyQ29ubmVjdGlvbi5pc0Nsb3NlZCgpKTsKIAotICAgIG1fb2ZmZXJBbnN3ZXJQ
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX29mZmVyQW5zd2VyUHJvbWlzZSA9IFdU
Rjo6bWFrZVVuaXF1ZTxQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlzZT4o
V1RGTW92ZShwcm9taXNlKSk7CiAgICAgZG9DcmVhdGVBbnN3ZXIoV1RGTW92ZShvcHRpb25zKSk7
CiB9CiAKQEAgLTE4NCw3ICsxODcsNyBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c2V0
TG9jYWxEZXNjCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3NldERlc2NyaXB0aW9u
UHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9zZXREZXNjcmlwdGlvblByb21pc2Ug
PSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21p
c2UpKTsKICAgICBkb1NldExvY2FsRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uKTsKIH0K
IApAQCAtMjQ1LDcgKzI0OCw3IEBAIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpzZXRSZW1v
dGVEZXMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9t
aXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX3NldERlc2NyaXB0aW9uUHJvbWlzZSA9IFdU
Rjo6bWFrZVVuaXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkp
OwogICAgIGRvU2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uKTsKIH0KIApA
QCAtMzI1LDcgKzMyOCw3IEBAIHZvaWQgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjphZGRJY2VDYW5k
aWQKICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiVHJ5aW5n
IHRvIGFkZCBhIGNhbmRpZGF0ZSB0aGF0IGlzIG1pc3NpbmcgYm90aCBzZHBNaWQgYW5kIHNkcE1M
aW5lSW5kZXgiX3MgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9hZGRJY2VDYW5k
aWRhdGVQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX2FkZEljZUNhbmRpZGF0ZVBy
b21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3Zl
KHByb21pc2UpKTsKICAgICBkb0FkZEljZUNhbmRpZGF0ZSgqaWNlQ2FuZGlkYXRlKTsKIH0KIApA
QCAtNDcwLDYgKzQ3MywxMSBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6ZG9uZUdhdGhl
cmluCiAgICAgbV9wZW5kaW5nSUNFQ2FuZGlkYXRlcy5jbGVhcigpOwogfQogCit2b2lkIFBlZXJD
b25uZWN0aW9uQmFja2VuZDo6ZW5kT2ZJY2VDYW5kaWRhdGVzKERPTVByb21pc2VEZWZlcnJlZDx2
b2lkPiYmIHByb21pc2UpCit7CisgICAgcHJvbWlzZS5yZXNvbHZlKCk7Cit9CisKIHZvaWQgUGVl
ckNvbm5lY3Rpb25CYWNrZW5kOjpyZWdpc3Rlck1ETlNOYW1lKGNvbnN0IFN0cmluZyYgaXBBZGRy
ZXNzKQogewogICAgICsrbV93YWl0aW5nRm9yTUROU1JlZ2lzdHJhdGlvbjsKQEAgLTUyMCw5ICs1
MjgsOSBAQCB2b2lkIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6dXBkYXRlU2lnbmFsCiAKIHZvaWQg
UGVlckNvbm5lY3Rpb25CYWNrZW5kOjpzdG9wKCkKIHsKLSAgICBtX29mZmVyQW5zd2VyUHJvbWlz
ZSA9IFdURjo6bnVsbG9wdDsKLSAgICBtX3NldERlc2NyaXB0aW9uUHJvbWlzZSA9IFdURjo6bnVs
bG9wdDsKLSAgICBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2UgPSBXVEY6Om51bGxvcHQ7CisgICAg
bV9vZmZlckFuc3dlclByb21pc2UgPSBudWxscHRyOworICAgIG1fc2V0RGVzY3JpcHRpb25Qcm9t
aXNlID0gbnVsbHB0cjsKKyAgICBtX2FkZEljZUNhbmRpZGF0ZVByb21pc2UgPSBudWxscHRyOwog
CiAgICAgbV9wZW5kaW5nVHJhY2tFdmVudHMuY2xlYXIoKTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFj
a2VuZC5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICsz
Myw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURl
ZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92
aWRlci5oIgogI2luY2x1ZGUgIlJUQ1J0cFNlbmRQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uLmgiCkBAIC00Myw2ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBN
ZWRpYVN0cmVhbTsKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2s7CkBAIC01Niw2ICs1Nyw3IEBAIGNs
YXNzIFJUQ1J0cFNlbmRlcjsKIGNsYXNzIFJUQ1J0cFRyYW5zY2VpdmVyOwogY2xhc3MgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uOwogY2xhc3MgUlRDU3RhdHNSZXBvcnQ7CitjbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OwogCiBzdHJ1Y3QgTWVkaWFFbmRwb2ludENvbmZpZ3VyYXRpb247CiBzdHJ1
Y3QgUlRDQW5zd2VyT3B0aW9uczsKQEAgLTYzLDYgKzY1LDggQEAgc3RydWN0IFJUQ0RhdGFDaGFu
bmVsSW5pdDsKIHN0cnVjdCBSVENPZmZlck9wdGlvbnM7CiBzdHJ1Y3QgUlRDUnRwVHJhbnNjZWl2
ZXJJbml0OwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVm
ZXJyZWQ7CisKIG5hbWVzcGFjZSBQZWVyQ29ubmVjdGlvbiB7CiB1c2luZyBTZXNzaW9uRGVzY3Jp
cHRpb25Qcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETERpY3Rpb25hcnk8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uOjpJbml0Pj47CiB1c2luZyBTdGF0c1Byb21pc2UgPSBET01Qcm9taXNlRGVm
ZXJyZWQ8SURMSW50ZXJmYWNlPFJUQ1N0YXRzUmVwb3J0Pj47CkBAIC04Myw3ICs4Nyw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgT3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBzZW5kZXJDYXBh
YmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYga2luZCk7CiAK
ICAgICBleHBsaWNpdCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQoUlRDUGVlckNvbm5lY3Rpb24mKTsK
LSAgICB2aXJ0dWFsIH5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKSA9IGRlZmF1bHQ7CisgICAgdmly
dHVhbCB+UGVlckNvbm5lY3Rpb25CYWNrZW5kKCk7CiAKICAgICB2b2lkIGNyZWF0ZU9mZmVyKFJU
Q09mZmVyT3B0aW9ucyYmLCBQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRlc2NyaXB0aW9uUHJvbWlz
ZSYmKTsKICAgICB2b2lkIGNyZWF0ZUFuc3dlcihSVENBbnN3ZXJPcHRpb25zJiYsIFBlZXJDb25u
ZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiYpOwpAQCAtMjEyLDcgKzIxNiw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRvU2V0TG9jYWxEZXNjcmlwdGlvbihSVENTZXNz
aW9uRGVzY3JpcHRpb24mKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRvU2V0UmVtb3RlRGVzY3Jp
cHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkb0Fk
ZEljZUNhbmRpZGF0ZShSVENJY2VDYW5kaWRhdGUmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGVu
ZE9mSWNlQ2FuZGlkYXRlcyhET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKSB7IHBy
b21pc2UucmVzb2x2ZSgpOyB9CisgICAgdmlydHVhbCB2b2lkIGVuZE9mSWNlQ2FuZGlkYXRlcyhE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CiAgICAgdmlydHVhbCB2b2lkIGRvU3RvcCgpID0g
MDsKIAogICAgIHZvaWQgcmVnaXN0ZXJNRE5TTmFtZShjb25zdCBTdHJpbmcmIGlwQWRkcmVzcyk7
CkBAIC0yMjEsOSArMjI1LDkgQEAgcHJvdGVjdGVkOgogICAgIFJUQ1BlZXJDb25uZWN0aW9uJiBt
X3BlZXJDb25uZWN0aW9uOwogCiBwcml2YXRlOgotICAgIE9wdGlvbmFsPFBlZXJDb25uZWN0aW9u
OjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlPiBtX29mZmVyQW5zd2VyUHJvbWlzZTsKLSAgICBP
cHRpb25hbDxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fc2V0RGVzY3JpcHRpb25Qcm9taXNl
OwotICAgIE9wdGlvbmFsPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9hZGRJY2VDYW5kaWRh
dGVQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQZWVyQ29ubmVjdGlvbjo6U2Vzc2lvbkRl
c2NyaXB0aW9uUHJvbWlzZT4gbV9vZmZlckFuc3dlclByb21pc2U7CisgICAgc3RkOjp1bmlxdWVf
cHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9zZXREZXNjcmlwdGlvblByb21pc2U7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9hZGRJY2VDYW5k
aWRhdGVQcm9taXNlOwogCiAgICAgYm9vbCBtX3Nob3VsZEZpbHRlcklDRUNhbmRpZGF0ZXMgeyB0
cnVlIH07CiAgICAgc3RydWN0IFBlbmRpbmdJQ0VDYW5kaWRhdGUgewpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3
IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVk
ZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUg
IkpTUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAi
TWVkaWFFbmRwb2ludENvbmZpZ3VyYXRpb24uaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmgJKHJldmlzaW9uIDI1MDcy
OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIFBlZXJDb25uZWN0aW9uQmFja2VuZDsK
IHN0cnVjdCBSVENSdHBDYXBhYmlsaXRpZXM7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oCShyZXZp
c2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRlckJhY2tlbmQuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsMTYgKzI2LDE3IEBACiAKICNp
ZiBFTkFCTEUoV0VCX1JUQykKIAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCi0K
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFTdHJlYW1UcmFjazsKIGNsYXNzIFJU
Q0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3MgUlRDUnRwU2VuZGVyOwotc3RydWN0IFJUQ1J0cFNl
bmRQYXJhbWV0ZXJzOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAorc3RydWN0IFJU
Q1J0cFNlbmRQYXJhbWV0ZXJzOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBE
T01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFJUQ1J0cFNlbmRlckJhY2tlbmQgewogcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCByZXBsYWNlVHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IFJUQ1J0cFNlbmRlciYsIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBET01Qcm9taXNlRGVm
ZXJyZWQ8dm9pZD4mJikgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCShyZXZpc2lvbiAyNTA3Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJKU01lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWlu
ZWRFcnJvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTYxLDcgKzYyLDcgQEAgUmVmPFVz
ZXJNZWRpYVJlcXVlc3Q+IFVzZXJNZWRpYVJlcXVlc3Q6OgogVXNlck1lZGlhUmVxdWVzdDo6VXNl
ck1lZGlhUmVxdWVzdChEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhU3RyZWFtUmVxdWVzdCYmIHJl
cXVlc3QsIERPTVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+PiYmIHBy
b21pc2UpCiAgICAgOiBBY3RpdmVET01PYmplY3QoZG9jdW1lbnQpCiAgICAgLCBtX2lkZW50aWZp
ZXIoVXNlck1lZGlhUmVxdWVzdElkZW50aWZpZXI6OmdlbmVyYXRlKCkpCi0gICAgLCBtX3Byb21p
c2UoV1RGTW92ZShwcm9taXNlKSkKKyAgICAsIG1fcHJvbWlzZShtYWtlVW5pcXVlUmVmPERPTVBy
b21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8TWVkaWFTdHJlYW0+Pj4oV1RGTW92ZShwcm9taXNl
KSkpCiAgICAgLCBtX3JlcXVlc3QoV1RGTW92ZShyZXF1ZXN0KSkKIHsKIH0KQEAgLTI1Niw3ICsy
NTcsNyBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmFsbG93KENhcHR1cmVEZXZpCiAKICAgICAg
ICAgQVNTRVJUKGRvY3VtZW50LmlzQ2FwdHVyaW5nKCkpOwogICAgICAgICBzdHJlYW0tPmRvY3Vt
ZW50KCktPnNldEhhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrKCk7Ci0gICAgICAgIG1fcHJvbWlz
ZS5yZXNvbHZlKFdURk1vdmUoc3RyZWFtKSk7CisgICAgICAgIG1fcHJvbWlzZS0+cmVzb2x2ZShX
VEZNb3ZlKHN0cmVhbSkpOwogICAgIH07CiAKICAgICBhdXRvJiBkb2N1bWVudCA9IGRvd25jYXN0
PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKQEAgLTI5OCw3ICsyOTksNyBA
QCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkoTWVkaWFBY2Nlc3NECiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgTWVkaWFBY2Nlc3NEZW5pYWxSZWFzb246OkludmFsaWRDb25zdHJhaW50Ogog
ICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkg
LSBpbnZhbGlkIGNvbnN0cmFpbnQgLSAlcyIsIG1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7Ci0gICAg
ICAgIG1fcHJvbWlzZS5yZWplY3RUeXBlPElETEludGVyZmFjZTxPdmVyY29uc3RyYWluZWRFcnJv
cj4+KE92ZXJjb25zdHJhaW5lZEVycm9yOjpjcmVhdGUobWVzc2FnZSwgIkludmFsaWQgY29uc3Ry
YWludCJfcykuZ2V0KCkpOworICAgICAgICBtX3Byb21pc2UtPnJlamVjdFR5cGU8SURMSW50ZXJm
YWNlPE92ZXJjb25zdHJhaW5lZEVycm9yPj4oT3ZlcmNvbnN0cmFpbmVkRXJyb3I6OmNyZWF0ZSht
ZXNzYWdlLCAiSW52YWxpZCBjb25zdHJhaW50Il9zKS5nZXQoKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICBjYXNlIE1lZGlhQWNjZXNzRGVuaWFsUmVhc29uOjpIYXJkd2FyZUVycm9yOgogICAgICAg
ICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6OmRlbnkgLSBoYXJk
d2FyZSBlcnJvciIpOwpAQCAtMzE5LDkgKzMyMCw5IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6
ZGVueShNZWRpYUFjY2Vzc0QKICAgICB9CiAKICAgICBpZiAoIW1lc3NhZ2UuaXNFbXB0eSgpKQot
ICAgICAgICBtX3Byb21pc2UucmVqZWN0KGNvZGUsIG1lc3NhZ2UpOworICAgICAgICBtX3Byb21p
c2UtPnJlamVjdChjb2RlLCBtZXNzYWdlKTsKICAgICBlbHNlCi0gICAgICAgIG1fcHJvbWlzZS5y
ZWplY3QoY29kZSk7CisgICAgICAgIG1fcHJvbWlzZS0+cmVqZWN0KGNvZGUpOwogfQogCiB2b2lk
IFVzZXJNZWRpYVJlcXVlc3Q6OnN0b3AoKQpAQCAtMzYxLDcgKzM2Miw3IEBAIHZvaWQgVXNlck1l
ZGlhUmVxdWVzdDo6bWVkaWFTdHJlYW1EaWRGYWkKICAgICAgICAgdHlwZURlc2NyaXB0aW9uID0g
InVua25vd24iOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV9wcm9taXNlLnJlamVjdChO
b3RSZWFkYWJsZUVycm9yLCBtYWtlU3RyaW5nKCJGYWlsZWQgc3RhcnRpbmcgY2FwdHVyZSBvZiBh
ICJfcywgdHlwZURlc2NyaXB0aW9uLCAiIHRyYWNrIl9zKSk7CisgICAgbV9wcm9taXNlLT5yZWpl
Y3QoTm90UmVhZGFibGVFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHN0YXJ0aW5nIGNhcHR1cmUg
b2YgYSAiX3MsIHR5cGVEZXNjcmlwdGlvbiwgIiB0cmFjayJfcykpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM2LDE4ICszNiwyMSBAQAogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiQ2FwdHVyZURldmljZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRz
LmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJl
YW1SZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKyNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTWVkaWFTdHJlYW07CiBjbGFzcyBTZWN1cml0
eU9yaWdpbjsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURl
ZmVycmVkOworCiBlbnVtIFVzZXJNZWRpYVJlcXVlc3RJZGVudGlmaWVyVHlwZSB7IH07CiB1c2lu
ZyBVc2VyTWVkaWFSZXF1ZXN0SWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8VXNlck1lZGlh
UmVxdWVzdElkZW50aWZpZXJUeXBlPjsKIApAQCAtOTEsNyArOTQsNyBAQCBwcml2YXRlOgogICAg
IFZlY3RvcjxTdHJpbmc+IG1fdmlkZW9EZXZpY2VVSURzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1f
YXVkaW9EZXZpY2VVSURzOwogCi0gICAgRE9NUHJvbWlzZURlZmVycmVkPElETEludGVyZmFjZTxN
ZWRpYVN0cmVhbT4+IG1fcHJvbWlzZTsKKyAgICBVbmlxdWVSZWY8RE9NUHJvbWlzZURlZmVycmVk
PElETEludGVyZmFjZTxNZWRpYVN0cmVhbT4+PiBtX3Byb21pc2U7CiAgICAgTWVkaWFTdHJlYW1S
ZXF1ZXN0IG1fcmVxdWVzdDsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q01lZGlhRW5kcG9pbnQuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogI2lmIFVTRShMSUJXRUJSVEMpCiAKICNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJKU1JUQ1N0YXRzUmVwb3J0LmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDRGF0YUNo
YW5uZWxIYW5kbGVyLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5k
LmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VC
UlRDKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJX
ZWJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1BlZXJDb25uZWN0
aW9uQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0aWxzLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Nl
aXZlckJhY2tlbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAJKHJl
dmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRD
KQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJXZWJS
VENSdHBSZWNlaXZlckJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENSdHBTZW5kZXJCYWNr
ZW5kLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3Bw
CShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5j
bHVkZSAiSlNQYXltZW50RGV0YWlsc1VwZGF0ZS5oIgogI2luY2x1ZGUgIkpTUGF5bWVudFJlc3Bv
bnNlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtNDEwLDcgKzQxMSw3IEBAIHZvaWQgUGF5bWVu
dFJlcXVlc3Q6OnNob3coRG9jdW1lbnQmIGRvY3UKIAogICAgIG1fc3RhdGUgPSBTdGF0ZTo6SW50
ZXJhY3RpdmU7CiAgICAgQVNTRVJUKCFtX3Nob3dQcm9taXNlKTsKLSAgICBtX3Nob3dQcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKTsKKyAgICBtX3Nob3dQcm9taXNlID0gV1RGOjptYWtlVW5pcXVl
PFNob3dQcm9taXNlPihXVEZNb3ZlKHByb21pc2UpKTsKIAogICAgIFJlZlB0cjxQYXltZW50SGFu
ZGxlcj4gc2VsZWN0ZWRQYXltZW50SGFuZGxlcjsKICAgICBmb3IgKGF1dG8mIHBheW1lbnRNZXRo
b2QgOiBtX3NlcmlhbGl6ZWRNZXRob2REYXRhKSB7CkBAIC00NjgsNyArNDY5LDcgQEAgdm9pZCBQ
YXltZW50UmVxdWVzdDo6YWJvcnRXaXRoRXhjZXB0aW9uKAogCiB2b2lkIFBheW1lbnRSZXF1ZXN0
OjpzZXR0bGVTaG93UHJvbWlzZShFeGNlcHRpb25PcjxQYXltZW50UmVzcG9uc2UmPiYmIHJlc3Vs
dCkKIHsKLSAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0ZDo6ZXhjaGFuZ2UobV9zaG93UHJv
bWlzZSwgV1RGOjpudWxsb3B0KSkKKyAgICBpZiAoYXV0byBzaG93UHJvbWlzZSA9IHN0ZDo6ZXhj
aGFuZ2UobV9zaG93UHJvbWlzZSwgbnVsbHB0cikpCiAgICAgICAgIHNob3dQcm9taXNlLT5zZXR0
bGUoV1RGTW92ZShyZXN1bHQpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAkocmV2aXNpb24gMjUw
NzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVx
dWVzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiQWN0aXZl
RE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Pci5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURM
VHlwZXMuaCIKICNpbmNsdWRlICJQYXltZW50RGV0YWlsc0luaXQuaCIKICNpbmNsdWRlICJQYXlt
ZW50TWV0aG9kQ2hhbmdlRXZlbnQuaCIKICNpbmNsdWRlICJQYXltZW50T3B0aW9ucy5oIgpAQCAt
NDksNiArNDksNyBAQCBlbnVtIGNsYXNzIFBheW1lbnRDb21wbGV0ZTsKIGVudW0gY2xhc3MgUGF5
bWVudFNoaXBwaW5nVHlwZTsKIHN0cnVjdCBQYXltZW50RGV0YWlsc1VwZGF0ZTsKIHN0cnVjdCBQ
YXltZW50TWV0aG9kRGF0YTsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVBy
b21pc2VEZWZlcnJlZDsKIAogY2xhc3MgUGF5bWVudFJlcXVlc3QgZmluYWwgOiBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UGF5bWVudFJlcXVlc3Q+LCBwdWJs
aWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIFJlZkNvdW50ZWQ8UGF5bWVudFJl
cXVlc3Q+IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBheW1lbnRSZXF1ZXN0KTsKQEAg
LTE0Miw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3NoaXBwaW5nT3B0aW9uOwog
ICAgIFJlZlB0cjxQYXltZW50QWRkcmVzcz4gbV9zaGlwcGluZ0FkZHJlc3M7CiAgICAgU3RhdGUg
bV9zdGF0ZSB7IFN0YXRlOjpDcmVhdGVkIH07Ci0gICAgT3B0aW9uYWw8U2hvd1Byb21pc2U+IG1f
c2hvd1Byb21pc2U7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNob3dQcm9taXNlPiBtX3Nob3dQcm9t
aXNlOwogICAgIE9wdGlvbmFsPFBheW1lbnRIYW5kbGVyV2l0aFBlbmRpbmdBY3Rpdml0eT4gbV9h
Y3RpdmVQYXltZW50SGFuZGxlcjsKICAgICBSZWZQdHI8RE9NUHJvbWlzZT4gbV9kZXRhaWxzUHJv
bWlzZTsKICAgICBSZWZQdHI8RE9NUHJvbWlzZT4gbV9tZXJjaGFudFNlc3Npb25Qcm9taXNlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9u
c2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFJlc3BvbnNlLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQogCisj
aW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgogI2luY2x1ZGUgIlBheW1lbnRSZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxv
Y0lubGluZXMuaD4KQEAgLTEwMyw3ICsxMDQsNyBAQCB2b2lkIFBheW1lbnRSZXNwb25zZTo6cmV0
cnkoUGF5bWVudFZhbGlkCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3JldHJ5UHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9yZXRyeVByb21pc2UgPSBXVEY6Om1ha2VV
bmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAog
dm9pZCBQYXltZW50UmVzcG9uc2U6OmFib3J0V2l0aEV4Y2VwdGlvbihFeGNlcHRpb24mJiBleGNl
cHRpb24pCkBAIC0xMjAsNyArMTIxLDggQEAgdm9pZCBQYXltZW50UmVzcG9uc2U6OnNldHRsZVJl
dHJ5UHJvbWlzZQogCiAgICAgQVNTRVJUKGhhc1BlbmRpbmdBY3Rpdml0eSgpKTsKICAgICBBU1NF
UlQobV9zdGF0ZSA9PSBTdGF0ZTo6Q3JlYXRlZCk7Ci0gICAgc3RkOjpleGNoYW5nZShtX3JldHJ5
UHJvbWlzZSwgV1RGOjpudWxsb3B0KS0+c2V0dGxlKFdURk1vdmUocmVzdWx0KSk7CisgICAgbV9y
ZXRyeVByb21pc2UtPnNldHRsZShXVEZNb3ZlKHJlc3VsdCkpOworICAgIG1fcmV0cnlQcm9taXNl
ID0gbnVsbHB0cjsKIH0KIAogYm9vbCBQYXltZW50UmVzcG9uc2U6OmNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24oKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5oCShyZXZpc2lvbiAyNTA3
MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNw
b25zZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQWN0aXZl
RE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNp
bmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CiAjaW5jbHVkZSAiSlNWYWx1ZUluV3JhcHBlZE9iamVjdC5oIgogI2luY2x1ZGUgIlBheW1lbnRB
ZGRyZXNzLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvbXBsZXRlLmgiCkBAIC00Miw2ICs0MSw4IEBA
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgUGF5bWVudFJlcXVlc3Q7CiBzdHJ1Y3QgUGF5bWVudFZh
bGlkYXRpb25FcnJvcnM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVBy
b21pc2VEZWZlcnJlZDsKKwogY2xhc3MgUGF5bWVudFJlc3BvbnNlIGZpbmFsIDogcHVibGljIEFj
dGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBS
ZWZDb3VudGVkPFBheW1lbnRSZXNwb25zZT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
UGF5bWVudFJlc3BvbnNlKTsKIHB1YmxpYzoKQEAgLTEyMyw3ICsxMjQsNyBAQCBwcml2YXRlOgog
ICAgIFN0cmluZyBtX3BheWVyRW1haWw7CiAgICAgU3RyaW5nIG1fcGF5ZXJQaG9uZTsKICAgICBT
dGF0ZSBtX3N0YXRlIHsgU3RhdGU6OkNyZWF0ZWQgfTsKLSAgICBPcHRpb25hbDxET01Qcm9taXNl
RGVmZXJyZWQ8dm9pZD4+IG1fcmV0cnlQcm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4+IG1fcmV0cnlQcm9taXNlOwogICAgIFJlZlB0cjxQZW5kaW5n
QWN0aXZpdHk8UGF5bWVudFJlc3BvbnNlPj4gbV9wZW5kaW5nQWN0aXZpdHk7CiB9OwogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbVNvdXJjZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVh
ZGFibGVTdHJlYW1Tb3VyY2UuaCIKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgi
CisKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVh
ZGFibGVTdHJlYW1Tb3VyY2U6On5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpID0gZGVmYXVsdDsKKwor
dm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6c3RhcnQoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29u
dHJvbGxlciYmIGNvbnRyb2xsZXIsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2Up
Cit7CisgICAgQVNTRVJUKCFtX3Byb21pc2UpOworICAgIG1fcHJvbWlzZSA9IFdURjo6bWFrZVVu
aXF1ZTxET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4+KFdURk1vdmUocHJvbWlzZSkpOworICAgIG1f
Y29udHJvbGxlciA9IFdURk1vdmUoY29udHJvbGxlcik7CisKKyAgICBzZXRBY3RpdmUoKTsKKyAg
ICBkb1N0YXJ0KCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGwoRE9NUHJv
bWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sKKyAgICBBU1NFUlQoIW1fcHJvbWlzZSk7
CisgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CisKKyAgICBtX3Byb21pc2UgPSBXVEY6Om1ha2VV
bmlxdWU8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PihXVEZNb3ZlKHByb21pc2UpKTsKKworICAg
IHNldEFjdGl2ZSgpOworICAgIGRvUHVsbCgpOworfQorCit2b2lkIFJlYWRhYmxlU3RyZWFtU291
cmNlOjpzdGFydEZpbmlzaGVkKCkKK3sKKyAgICBBU1NFUlQobV9wcm9taXNlKTsKKyAgICBtX3By
b21pc2UtPnJlc29sdmUoKTsKKyAgICBtX3Byb21pc2UgPSBudWxscHRyOworICAgIHNldEluYWN0
aXZlKCk7Cit9CisKK3ZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OnB1bGxGaW5pc2hlZCgpCit7
CisgICAgQVNTRVJUKG1fcHJvbWlzZSk7CisgICAgbV9wcm9taXNlLT5yZXNvbHZlKCk7CisgICAg
bV9wcm9taXNlID0gbnVsbHB0cjsKKyAgICBzZXRJbmFjdGl2ZSgpOworfQorCit2b2lkIFJlYWRh
YmxlU3RyZWFtU291cmNlOjpjYW5jZWwoSlNDOjpKU1ZhbHVlKQoreworICAgIGNsZWFuKCk7Cisg
ICAgZG9DYW5jZWwoKTsKK30KKwordm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6Y2xlYW4oKQor
eworICAgIGlmIChtX3Byb21pc2UpIHsKKyAgICAgICAgbV9wcm9taXNlID0gbnVsbHB0cjsKKyAg
ICAgICAgc2V0SW5hY3RpdmUoKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShTVFJFQU1TX0FQSSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVNvdXJjZS5oCShyZXZpc2lv
biAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJl
YW1Tb3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTUgKzMwLDE2IEBACiAKICNpZiBFTkFC
TEUoU1RSRUFNU19BUEkpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDx3dGYv
T3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJ
RExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFJlYWRhYmxlU3RyZWFt
U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8UmVhZGFibGVTdHJlYW1Tb3VyY2U+IHsKIHB1Ymxp
YzoKLSAgICB2aXJ0dWFsIH5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpID0gZGVmYXVsdDsKKyAgICB2
aXJ0dWFsIH5SZWFkYWJsZVN0cmVhbVNvdXJjZSgpOwogCiAgICAgdm9pZCBzdGFydChSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyJiYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsK
ICAgICB2b2lkIHB1bGwoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwpAQCAtNjMsNTkgKzY0
LDEwIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZG9DYW5jZWwoKSA9IDA7CiAKIHBy
aXZhdGU6Ci0gICAgT3B0aW9uYWw8RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+PiBtX3Byb21pc2U7
CisgICAgc3RkOjp1bmlxdWVfcHRyPERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9wcm9taXNl
OwogICAgIE9wdGlvbmFsPFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI+IG1fY29udHJv
bGxlcjsKIH07CiAKLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpzdGFydChSZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyJiYgY29udHJvbGxlciwgRE9NUHJvbWlzZURlZmVy
cmVkPHZvaWQ+JiYgcHJvbWlzZSkKLXsKLSAgICBBU1NFUlQoIW1fcHJvbWlzZSk7Ci0gICAgbV9w
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKTsKLSAgICBtX2NvbnRyb2xsZXIgPSBXVEZNb3ZlKGNv
bnRyb2xsZXIpOwotCi0gICAgc2V0QWN0aXZlKCk7Ci0gICAgZG9TdGFydCgpOwotfQotCi1pbmxp
bmUgdm9pZCBSZWFkYWJsZVN0cmVhbVNvdXJjZTo6cHVsbChET01Qcm9taXNlRGVmZXJyZWQ8dm9p
ZD4mJiBwcm9taXNlKQotewotICAgIEFTU0VSVCghbV9wcm9taXNlKTsKLSAgICBBU1NFUlQobV9j
b250cm9sbGVyKTsKLQotICAgIG1fcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7Ci0KLSAgICBz
ZXRBY3RpdmUoKTsKLSAgICBkb1B1bGwoKTsKLX0KLQotaW5saW5lIHZvaWQgUmVhZGFibGVTdHJl
YW1Tb3VyY2U6OnN0YXJ0RmluaXNoZWQoKQotewotICAgIEFTU0VSVChtX3Byb21pc2UpOwotICAg
IHN0ZDo6ZXhjaGFuZ2UobV9wcm9taXNlLCBXVEY6Om51bGxvcHQpLnZhbHVlKCkucmVzb2x2ZSgp
OwotICAgIHNldEluYWN0aXZlKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291
cmNlOjpwdWxsRmluaXNoZWQoKQotewotICAgIEFTU0VSVChtX3Byb21pc2UpOwotICAgIHN0ZDo6
ZXhjaGFuZ2UobV9wcm9taXNlLCBXVEY6Om51bGxvcHQpLnZhbHVlKCkucmVzb2x2ZSgpOwotICAg
IHNldEluYWN0aXZlKCk7Ci19Ci0KLWlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtU291cmNlOjpj
YW5jZWwoSlNDOjpKU1ZhbHVlKQotewotICAgIGNsZWFuKCk7Ci0gICAgZG9DYW5jZWwoKTsKLX0K
LQotaW5saW5lIHZvaWQgUmVhZGFibGVTdHJlYW1Tb3VyY2U6OmNsZWFuKCkKLXsKLSAgICBpZiAo
bV9wcm9taXNlKSB7Ci0gICAgICAgIG1fcHJvbWlzZSA9IFdURjo6bnVsbG9wdDsKLSAgICAgICAg
c2V0SW5hY3RpdmUoKTsKLSAgICB9Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShTVFJFQU1TX0FQSSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkF1ZGlvQnVzLmgiCiAjaW5jbHVkZSAiQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTWVkaWFDYW5TdGFydExpc3RlbmVyLmgi
CiAjaW5jbHVkZSAiTWVkaWFQcm9kdWNlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNz
aW9uLmgiCkBAIC03OCw2ICs3Nyw4IEBAIGNsYXNzIFNjcmlwdFByb2Nlc3Nvck5vZGU7CiBjbGFz
cyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFdhdmVTaGFwZXJOb2RlOwogCit0ZW1wbGF0ZTx0eXBl
bmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIC8vIEF1ZGlvQ29udGV4
dCBpcyB0aGUgY29ybmVyc3RvbmUgb2YgdGhlIHdlYiBhdWRpbyBBUEkgYW5kIGFsbCBBdWRpb05v
ZGVzIGFyZSBjcmVhdGVkIGZyb20gaXQuCiAvLyBGb3IgdGhyZWFkIHNhZmV0eSBiZXR3ZWVuIHRo
ZSBhdWRpbyB0aHJlYWQgYW5kIHRoZSBtYWluIHRocmVhZCwgaXQgaGFzIGEgcmVuZGVyaW5nIGdy
YXBoIGxvY2tpbmcgbWVjaGFuaXNtLiAKIApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXV0aG4vQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcAko
cmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBA
CiAjaW5jbHVkZSAiQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UuaCIKICNpbmNsdWRl
ICJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQuaCIKICNpbmNsdWRlICJKU0Jhc2ljQ3Jl
ZGVudGlhbC5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAi
UHVibGljS2V5Q3JlZGVudGlhbC5oIgogI2luY2x1ZGUgIlB1YmxpY0tleUNyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnMuaCIKICNpbmNsdWRlICJQdWJsaWNLZXlDcmVkZW50aWFsRGF0YS5oIgpJbmRl
eDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9BdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhl
bnRpY2F0b3JDb29yZGluYXRvci5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1dGhuL0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQogCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTQx
LDYgKzQxLDggQEAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVu
dGlhbENyZWF0aW9uT3B0aW9uczsKIHN0cnVjdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnM7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZl
cnJlZDsKKwogdXNpbmcgQ3JlZGVudGlhbFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURM
TnVsbGFibGU8SURMSW50ZXJmYWNlPEJhc2ljQ3JlZGVudGlhbD4+PjsKIAogY2xhc3MgQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yIGZpbmFsIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVudGlhbC5oCShyZXZpc2lvbiAyNTA3
MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAiQmFzaWND
cmVkZW50aWFsLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKLSNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC00
MCw2ICs0MCw4IEBAIGNsYXNzIERvY3VtZW50OwogCiBzdHJ1Y3QgUHVibGljS2V5Q3JlZGVudGlh
bERhdGE7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZl
cnJlZDsKKwogY2xhc3MgUHVibGljS2V5Q3JlZGVudGlhbCBmaW5hbCA6IHB1YmxpYyBCYXNpY0Ny
ZWRlbnRpYWwgewogcHVibGljOgogICAgIHN0cnVjdCBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnND
bGllbnRPdXRwdXRzIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
LmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShX
RUJHUFUpCiAKICNpbmNsdWRlICJHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCIKKyNpbmNsdWRl
ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTV2ViR1BVQWRhcHRlci5oIgog
I2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmdwdS9XZWJHUFUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFUuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJncHUvV2ViR1BVLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lm
IEVOQUJMRShXRUJHUFUpCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2lu
Y2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzUsNiArMzUs
OCBAQCBjbGFzcyBXZWJHUFVBZGFwdGVyOwogCiBzdHJ1Y3QgR1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJy
ZWQ7CisKIGNsYXNzIFdlYkdQVSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVT4gewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8V2ViR1BVPiBjcmVhdGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0ZXIuY3BwCShyZXZpc2lvbiAyNTA3Mjgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVBZGFwdGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTV2ViR1BVRGV2aWNlLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUFkYXB0
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVB
ZGFwdGVyLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
Z3B1L1dlYkdQVUFkYXB0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2lm
IEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMuaCIK
LSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgi
CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zOCw2ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgV2ViR1BVRGV2aWNlOwogCit0ZW1wbGF0ZTx0eXBl
bmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFdlYkdQVUFk
YXB0ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVBZGFwdGVyPiB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxXZWJHUFVBZGFwdGVyPiBjcmVhdGUoT3B0aW9uYWw8R1BVUmVxdWVzdEFkYXB0
ZXJPcHRpb25zPiYmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VUJ1ZmZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUv
V2ViR1BVQnVmZmVyLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjks
NyBAQAogI2lmIEVOQUJMRShXRUJHUFUpCiAKICNpbmNsdWRlICJHUFVFcnJvclNjb3Blcy5oIgor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVQnVmZmVyLmgJKHJldmlzaW9uIDI1MDcyOCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVUJ1ZmZlci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiR1BVQnVmZmVyLmgiCiAjaW5jbHVk
ZSAiR1BVQnVmZmVyVXNhZ2UuaCIKICNpbmNsdWRlICJHUFVPYmplY3RCYXNlLmgiCi0jaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00MSw2ICs0MSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEdQVUJ1ZmZlckRlc2NyaXB0b3I7CiAKK3RlbXBs
YXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3Mg
V2ViR1BVQnVmZmVyIDogcHVibGljIEdQVU9iamVjdEJhc2UgewogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8V2ViR1BVQnVmZmVyPiBjcmVhdGUoUmVmUHRyPEdQVUJ1ZmZlcj4mJiwgR1BVRXJyb3JT
Y29wZXMmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmlj
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJncHUvV2ViR1BVRGV2aWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBAQAog
I2luY2x1ZGUgIkdQVVVuY2FwdHVyZWRFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgi
CisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0dQVU91dE9m
TWVtb3J5RXJyb3IuaCIKICNpbmNsdWRlICJKU0dQVVZhbGlkYXRpb25FcnJvci5oIgogI2luY2x1
ZGUgIkpTV2ViR1BVQnVmZmVyLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmdwdS9XZWJHUFVEZXZpY2UuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMw
LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkdQVURldmljZS5oIgog
I2luY2x1ZGUgIkdQVUVycm9yU2NvcGVzLmgiCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIldlYkdQVUFkYXB0ZXIuaCIK
ICNpbmNsdWRlICJXZWJHUFVRdWV1ZS5oIgogI2luY2x1ZGUgIldlYkdQVVN3YXBDaGFpbkRlc2Ny
aXB0b3IuaCIKQEAgLTcyLDYgKzcyLDggQEAgc3RydWN0IFdlYkdQVVNoYWRlck1vZHVsZURlc2Ny
aXB0b3I7CiAKIGVudW0gY2xhc3MgR1BVRXJyb3JGaWx0ZXI7CiAKK3RlbXBsYXRlPHR5cGVuYW1l
IElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKKwogdXNpbmcgRXJyb3JJRExVbmlv
biA9IElETFVuaW9uPElETEludGVyZmFjZTxHUFVPdXRPZk1lbW9yeUVycm9yPiwgSURMSW50ZXJm
YWNlPEdQVVZhbGlkYXRpb25FcnJvcj4+OwogdXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlz
ZURlZmVycmVkPElETE51bGxhYmxlPEVycm9ySURMVW5pb24+PjsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV0hMU0wvV0hMU0xQcmVzZXJ2ZVZhcmlhYmxlTGlmZXRpbWVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9X
SExTTFByZXNlcnZlVmFyaWFibGVMaWZldGltZXMuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExTTFByZXNlcnZlVmFyaWFibGVM
aWZldGltZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRl
ICJXSExTTEFTVC5oIgogI2luY2x1ZGUgIldITFNMQVNURHVtcGVyLmgiCisjaW5jbHVkZSAiV0hM
U0xMZXhlci5oIgogI2luY2x1ZGUgIldITFNMUHJvZ3JhbS5oIgogI2luY2x1ZGUgIldITFNMUmVw
bGFjZVdpdGguaCIKICNpbmNsdWRlICJXSExTTFZpc2l0b3IuaCIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0aWVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XSExTTC9XSExT
TFN0YW5kYXJkTGlicmFyeVV0aWxpdGllcy5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dITFNML1dITFNMU3RhbmRhcmRMaWJyYXJ5VXRpbGl0
aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiV0hM
U0xDYWxsRXhwcmVzc2lvbi5oIgogI2luY2x1ZGUgIldITFNMUGFyc2VyLmgiCisjaW5jbHVkZSAi
V0hMU0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAiV0hMU0xTdGFuZGFyZExpYnJhcnkuaCIKICNpbmNs
dWRlICJXSExTTFN0YW5kYXJkTGlicmFyeUZ1bmN0aW9uTWFwLmgiCiAjaW5jbHVkZSAiV0hMU0xW
aXNpdG9yLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmlnYXRvcldl
YlZSLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL05hdmln
YXRvcldlYlZSLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ2ci9OYXZpZ2F0b3JXZWJWUi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcg
QEAKICNpbmNsdWRlICJOYXZpZ2F0b3JXZWJWUi5oIgogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTVlJEaXNwbGF5
LmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9OYXZpZ2F0b3JXZWJW
Ui5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvTmF2aWdhdG9y
V2ViVlIuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2
ci9OYXZpZ2F0b3JXZWJWUi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRl
ICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCkBAIC0zNiw2ICszNiw4IEBAIGNsYXNzIE5hdmlnYXRvcjsKIGNsYXNzIFBh
Z2U7CiBjbGFzcyBWUkRpc3BsYXk7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNz
IERPTVByb21pc2VEZWZlcnJlZDsKKwogY2xhc3MgTmF2aWdhdG9yV2ViVlIgZmluYWwgOiBwdWJs
aWMgU3VwcGxlbWVudDxOYXZpZ2F0b3I+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5j
cHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJE
aXNwbGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkRP
TUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJV
c2VyR2VzdHVyZUluZGljYXRvci5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2
ci9WUkRpc3BsYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnZyL1ZSRGlzcGxheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgotI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiVlJFeWUuaCIKICNpbmNs
dWRlICJWUkxheWVySW5pdC5oIgogI2luY2x1ZGUgIlZSUGxhdGZvcm1EaXNwbGF5Q2xpZW50Lmgi
CkBAIC0zNiw2ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gRXhjZXB0aW9u
Q29kZTsKK2NsYXNzIERlZmVycmVkUHJvbWlzZTsKIGNsYXNzIFJlcXVlc3RBbmltYXRpb25GcmFt
ZUNhbGxiYWNrOwogY2xhc3MgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOwogY2xhc3MgVlJE
aXNwbGF5Q2FwYWJpbGl0aWVzOwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC02NjMxLDYgKzY2MzEsNyBAQAogCQkyRDNFRjQ0NTE5MTc5MTVDMDAwMzQxODQgLyogV2ViQWN0
aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gV2ViQWN0aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDNFRjQ0NjE5MTc5MTVDMDAwMzQxODQgLyogV2Vi
Q29yZUNBTGF5ZXJFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
Q29yZUNBTGF5ZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQzRUY0
NDcxOTE3OTE1QzAwMDM0MTg0IC8qIFdlYkNvcmVDQUxheWVyRXh0cmFzLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENDNFQjJEMjM0NzJCQzMwMDJBMUVENCAvKiBS
ZWFkYWJsZVN0cmVhbVNvdXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZWFkYWJsZVN0cmVhbVNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJENDZGMDREMTdCOTZGQkQwMDU2NDdGMCAvKiBJbnRQb2ludC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnRQb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJENDZGMDRGMTdCOTZGRDIwMDU2NDdGMCAvKiBJbnRTaXplLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludFNpemUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJGODggLyogVGV4dEluZGlj
YXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0SW5kaWNh
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTM4LDYgKzE3OTM5LDcg
QEAKIAkJCQk0MTI5Qzk4NzFGNTg2NjJEMDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5rLmNw
cCAqLywKIAkJCQk0MTI5Qzk4MDFGNTg2MUM3MDA5RDc0MDMgLyogUmVhZGFibGVTdHJlYW1TaW5r
LmggKi8sCiAJCQkJNDEyOUM5ODExRjU4NjFDNzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2lu
ay5pZGwgKi8sCisJCQkJMkQ0M0VCMkQyMzQ3MkJDMzAwMkExRUQ0IC8qIFJlYWRhYmxlU3RyZWFt
U291cmNlLmNwcCAqLywKIAkJCQk0MThDMzk1QjFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFibGVT
dHJlYW1Tb3VyY2UuaCAqLywKIAkJCQk0MThDMzk1QzFDOEYwQTYxMDA1MUM4QTMgLyogUmVhZGFi
bGVTdHJlYW1Tb3VyY2UuaWRsICovLAogCQkJCTk5MDhCMEYxMUJDQUNGOTEwMEVEMEY1NSAvKiBT
dHJlYW1JbnRlcm5hbHMuanMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5
ZnJhbWVFZmZlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9L
ZXlmcmFtZUVmZmVjdC5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcg
QEAKICNpbmNsdWRlICJHZW9tZXRyeVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIkpTQ29tcG9zaXRl
T3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDb21wb3NpdGVPcGVyYXRpb25PckF1dG8uaCIKKyNp
bmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJKU0tleWZyYW1lRWZmZWN0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3QuaCIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCShyZXZpc2lv
biAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFuaW1hdGlvbkVmZmVj
dC5oIgogI2luY2x1ZGUgIkFuaW1hdGlvblBsYXliYWNrRXZlbnQuaCIKICNpbmNsdWRlICJBbmlt
YXRpb25UaW1lbGluZS5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUg
IkRlY2xhcmF0aXZlQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudFRpbWVsaW5lLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2Vi
QW5pbWF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFu
aW1hdGlvbi5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
V2ViQW5pbWF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDkgKzI2LDkgQEAKICNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCi0jaW5jbHVkZSAiRE9NUHJvbWlz
ZVByb3h5LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25P
ci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVXRpbGl0
aWVzLmgiCiAjaW5jbHVkZSA8d3RmL01hcmthYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KQEAgLTQ1LDYgKzQ1LDggQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50Owog
Y2xhc3MgUmVuZGVyU3R5bGU7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERP
TVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNsYXNzIFdlYkFuaW1hdGlvbiA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYkFuaW1hdGlvbj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxX
ZWJBbmltYXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJBbmltYXRpb24p
OwogcHVibGljOgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkTW9kdWxl
U2NyaXB0TG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRl
ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIk1vZHVsZUZldGNoUGFyYW1ldGVy
cy5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIlNjcmlw
dENvbnRyb2xsZXIuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZE1v
ZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudC5oCShyZXZpc2lvbiAyNTA3
MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRNb2R1bGVTY3JpcHRMb2Fk
ZXJDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsMTEgKzI1LDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0jaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDYWNoZWRNb2R1bGVTY3JpcHRMb2FkZXI7CitjbGFzcyBEZWZlcnJl
ZFByb21pc2U7CiAKIGNsYXNzIENhY2hlZE1vZHVsZVNjcmlwdExvYWRlckNsaWVudCB7CiBwdWJs
aWM6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJl
ZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlz
ZURlZmVycmVkLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NUHJvbWlzZURlZmVycmVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw2ICsxNjYs
NyBAQCBwcml2YXRlOgogfTsKIAogY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkQmFzZSB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRE9NUHJvbWlzZURlZmVycmVk
QmFzZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIGdlbmVyaWNQcm9taXNlKQogICAgICAgICA6IG1f
cHJvbWlzZURlZmVycmVkKFdURk1vdmUoZ2VuZXJpY1Byb21pc2UpKQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRD
dXN0b20uY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw5
ICszMSw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNIVE1MVGVtcGxhdGVF
bGVtZW50LmgiCiAKKyNpbmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJKU0RvY3Vt
ZW50RnJhZ21lbnQuaCIKIAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3Rv
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZURh
dGFDdXN0b20uY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0ltYWdlRGF0YUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgogCi0jaW5j
bHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiSlNET01Db252ZXJ0
LmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9IZWFwSW5saW5lcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0lkZW50aWZpZXJJ
bmxpbmVzLmg+CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDI1MDcyOCkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsNyBAQAogCiAjaW5jbHVkZSAiSlNCbG9iLmgiCiAj
aW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0jaW5jbHVkZSAiSlNET01Db252ZXJ0QnVmZmVyU291
cmNlLmgiCi0jaW5jbHVkZSAiSlNET01Db252ZXJ0SW50ZXJmYWNlLmgiCi0jaW5jbHVkZSAiSlNE
T01Db252ZXJ0U3RyaW5ncy5oIgorI2luY2x1ZGUgIkpTRE9NQ29udmVydC5oIgogI2luY2x1ZGUg
IkpTRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSlNFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIkpT
TWVzc2FnZVBvcnQuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVhZGFi
bGVTdHJlYW1Tb3VyY2VDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTUmVhZGFibGVTdHJlYW1Tb3VyY2VDdXN0b20uY3BwCShyZXZpc2lvbiAyNTA3
MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlYWRhYmxlU3RyZWFtU291cmNl
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogCiAjaWYgRU5BQkxF
KFNUUkVBTVNfQVBJKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpTQzsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9uQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlvbkN1c3RvbS5jcHAJKHJldmlz
aW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViQW5pbWF0aW9u
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkpT
Q1NTQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDU1NUcmFuc2l0aW9uLmgiCiAjaW5jbHVkZSAi
SlNET01Db25zdHJ1Y3Rvci5oIgorI2luY2x1ZGUgIkpTRE9NQ29udmVydC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2Vy
R2xvYmFsU2NvcGVCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkFjdGl2ZURPTUNhbGxiYWNr
TWljcm90YXNrLmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiSlNE
T01HbG9iYWxPYmplY3RUYXNrLmgiCisjaW5jbHVkZSAiSlNET01HdWFyZGVkT2JqZWN0LmgiCiAj
aW5jbHVkZSAiSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIkpTTWlj
cm90YXNrQ2FsbGJhY2suaCIKICNpbmNsdWRlICJKU1dvcmtlckdsb2JhbFNjb3BlLmgiCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2Jh
bFNjb3BlQ3VzdG9tLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDEwICsyNiwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkpTV29ya2Vy
R2xvYmFsU2NvcGUuaCIKIAorI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKICNp
bmNsdWRlICJXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
TWljcm90YXNrLmg+CiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEpT
QzsKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrbGV0R2xvYmFsU2Nv
cGVCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dv
cmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNp
bmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdFRhc2suaCIKKyNpbmNsdWRlICJKU0RPTUd1YXJkZWRP
YmplY3QuaCIKICNpbmNsdWRlICJKU1dvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldv
cmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtsZXRTY3JpcHRDb250cm9sbGVyLmgi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRNb2R1bGVMb2FkZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdE1vZHVsZUxv
YWRlci5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdE1vZHVsZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSlNE
T01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRl
ICJMb2FkYWJsZU1vZHVsZVNjcmlwdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIK
ICNpbmNsdWRlICJNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250
RmFjZS5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFj
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJDU1NVbmlj
b2RlUmFuZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2luY2x1ZGUgIkNT
U1ZhbHVlUG9vbC5oIgorI2luY2x1ZGUgIkRPTVByb21pc2VQcm94eS5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udFZhcmlhbnRCdWlsZGVyLmgiCiAjaW5jbHVkZSAiSlNG
b250RmFjZS5oIgpAQCAtMTI2LDE0ICsxMjcsMTQgQEAgUmVmPEZvbnRGYWNlPiBGb250RmFjZTo6
Y3JlYXRlKENTU0ZvbnRGYQogCiBGb250RmFjZTo6Rm9udEZhY2UoQ1NTRm9udFNlbGVjdG9yJiBm
b250U2VsZWN0b3IpCiAgICAgOiBtX2JhY2tpbmcoQ1NTRm9udEZhY2U6OmNyZWF0ZSgmZm9udFNl
bGVjdG9yLCBudWxscHRyLCB0aGlzKSkKLSAgICAsIG1fbG9hZGVkUHJvbWlzZSgqdGhpcywgJkZv
bnRGYWNlOjpsb2FkZWRQcm9taXNlUmVzb2x2ZSkKKyAgICAsIG1fbG9hZGVkUHJvbWlzZShtYWtl
VW5pcXVlUmVmPExvYWRlZFByb21pc2U+KCp0aGlzLCAmRm9udEZhY2U6OmxvYWRlZFByb21pc2VS
ZXNvbHZlKSkKIHsKICAgICBtX2JhY2tpbmctPmFkZENsaWVudCgqdGhpcyk7CiB9CiAKIEZvbnRG
YWNlOjpGb250RmFjZShDU1NGb250RmFjZSYgZmFjZSkKICAgICA6IG1fYmFja2luZyhmYWNlKQot
ICAgICwgbV9sb2FkZWRQcm9taXNlKCp0aGlzLCAmRm9udEZhY2U6OmxvYWRlZFByb21pc2VSZXNv
bHZlKQorICAgICwgbV9sb2FkZWRQcm9taXNlKG1ha2VVbmlxdWVSZWY8TG9hZGVkUHJvbWlzZT4o
KnRoaXMsICZGb250RmFjZTo6bG9hZGVkUHJvbWlzZVJlc29sdmUpKQogewogICAgIG1fYmFja2lu
Zy0+YWRkQ2xpZW50KCp0aGlzKTsKIH0KQEAgLTQ2MywxNSArNDY0LDE1IEBAIHZvaWQgRm9udEZh
Y2U6OmZvbnRTdGF0ZUNoYW5nZWQoQ1NTRm9udEYKICAgICBjYXNlIENTU0ZvbnRGYWNlOjpTdGF0
dXM6OlN1Y2Nlc3M6CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIHNob3VsZCBub3QgYmUg
bmVlZGVkLCBidXQgYmVjYXVzZSBGb250RmFjZSdzIGFyZSBzb21ldGltZXMgYWRvcHRlZCBhZnRl
ciB0aGV5IGhhdmUgYWxyZWFkeQogICAgICAgICAvLyBnb25lIHRocm91Z2ggYSBsb2FkIGN5Y2xl
LCB3ZSBjYW4gc29tZXRpbWVzIGNvbWUgYmFjayB0aHJvdWdoIGhlcmUgYW5kIHRyeSB0byByZXNv
bHZlIHRoZSBwcm9taXNlIGFnYWluLiAgCi0gICAgICAgIGlmICghbV9sb2FkZWRQcm9taXNlLmlz
RnVsZmlsbGVkKCkpCi0gICAgICAgICAgICBtX2xvYWRlZFByb21pc2UucmVzb2x2ZSgqdGhpcyk7
CisgICAgICAgIGlmICghbV9sb2FkZWRQcm9taXNlLT5pc0Z1bGZpbGxlZCgpKQorICAgICAgICAg
ICAgbV9sb2FkZWRQcm9taXNlLT5yZXNvbHZlKCp0aGlzKTsKICAgICAgICAgZGVyZWYoKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ1NTRm9udEZhY2U6OlN0YXR1czo6RmFpbHVyZToKICAg
ICAgICAgLy8gRklYTUU6IFRoaXMgY2hlY2sgc2hvdWxkIG5vdCBiZSBuZWVkZWQsIGJ1dCBiZWNh
dXNlIEZvbnRGYWNlJ3MgYXJlIHNvbWV0aW1lcyBhZG9wdGVkIGFmdGVyIHRoZXkgaGF2ZSBhbHJl
YWR5CiAgICAgICAgIC8vIGdvbmUgdGhyb3VnaCBhIGxvYWQgY3ljbGUsIHdlIGNhbiBzb21ldGlt
ZXMgY29tZSBiYWNrIHRocm91Z2ggaGVyZSBhbmQgdHJ5IHRvIHJlc29sdmUgdGhlIHByb21pc2Ug
YWdhaW4uICAKLSAgICAgICAgaWYgKCFtX2xvYWRlZFByb21pc2UuaXNGdWxmaWxsZWQoKSkKLSAg
ICAgICAgICAgIG1fbG9hZGVkUHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTmV0d29ya0Vycm9y
IH0pOworICAgICAgICBpZiAoIW1fbG9hZGVkUHJvbWlzZS0+aXNGdWxmaWxsZWQoKSkKKyAgICAg
ICAgICAgIG1fbG9hZGVkUHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbiB7IE5ldHdvcmtFcnJvciB9
KTsKICAgICAgICAgZGVyZWYoKTsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ1NTRm9udEZh
Y2U6OlN0YXR1czo6UGVuZGluZzoKQEAgLTQ4Myw3ICs0ODQsNyBAQCB2b2lkIEZvbnRGYWNlOjpm
b250U3RhdGVDaGFuZ2VkKENTU0ZvbnRGCiBhdXRvIEZvbnRGYWNlOjpsb2FkKCkgLT4gTG9hZGVk
UHJvbWlzZSYKIHsKICAgICBtX2JhY2tpbmctPmxvYWQoKTsKLSAgICByZXR1cm4gbV9sb2FkZWRQ
cm9taXNlOworICAgIHJldHVybiBtX2xvYWRlZFByb21pc2UuZ2V0KCk7CiB9CiAKIEZvbnRGYWNl
JiBGb250RmFjZTo6bG9hZGVkUHJvbWlzZVJlc29sdmUoKQpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL0ZvbnRGYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNl
LmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw4IEBACiAKICNpbmNsdWRlICJDU1NGb250RmFjZS5o
IgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJET01Qcm9taXNlUHJv
eHkuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgPHd0Zi9VbmlxdWVSZWYuaD4K
ICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAg
LTM4LDYgKzM5LDggQEAgY2xhc3MgQXJyYXlCdWZmZXJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdp
dGhSZXNvbHZlQ2FsbGJhY2s7CisKIGNsYXNzIEZvbnRGYWNlIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8Rm9udEZhY2U+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8Rm9udEZhY2U+LCBwcml2YXRl
IENTU0ZvbnRGYWNlOjpDbGllbnQgewogcHVibGljOgogICAgIHN0cnVjdCBEZXNjcmlwdG9ycyB7
CkBAIC03Nyw3ICs4MCw3IEBAIHB1YmxpYzoKICAgICBMb2FkU3RhdHVzIHN0YXR1cygpIGNvbnN0
OwogCiAgICAgdXNpbmcgTG9hZGVkUHJvbWlzZSA9IERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZl
Q2FsbGJhY2s8SURMSW50ZXJmYWNlPEZvbnRGYWNlPj47Ci0gICAgTG9hZGVkUHJvbWlzZSYgbG9h
ZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQcm9taXNlOyB9CisgICAgTG9hZGVkUHJvbWlzZSYgbG9h
ZGVkKCkgeyByZXR1cm4gbV9sb2FkZWRQcm9taXNlLmdldCgpOyB9CiAgICAgTG9hZGVkUHJvbWlz
ZSYgbG9hZCgpOwogCiAgICAgdm9pZCBhZG9wdChDU1NGb250RmFjZSYpOwpAQCAtOTksNyArMTAy
LDcgQEAgcHJpdmF0ZToKICAgICBGb250RmFjZSYgbG9hZGVkUHJvbWlzZVJlc29sdmUoKTsKIAog
ICAgIFJlZjxDU1NGb250RmFjZT4gbV9iYWNraW5nOwotICAgIExvYWRlZFByb21pc2UgbV9sb2Fk
ZWRQcm9taXNlOworICAgIFVuaXF1ZVJlZjxMb2FkZWRQcm9taXNlPiBtX2xvYWRlZFByb21pc2U7
CiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5jcHAJKHJldmlzaW9uIDI1
MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDcgKzI5LDkgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZv
bnRGYWNlLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5o
IgogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiSlNGb250RmFjZS5oIgogI2luY2x1ZGUgIkpTRm9udEZhY2VTZXQu
aCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNTUsNyArNTcsNyBAQCBS
ZWY8Rm9udEZhY2VTZXQ+IEZvbnRGYWNlU2V0OjpjcmVhdGUoRG9jCiBGb250RmFjZVNldDo6Rm9u
dEZhY2VTZXQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBWZWN0b3I8UmVmUHRyPEZvbnRGYWNl
Pj4mIGluaXRpYWxGYWNlcykKICAgICA6IEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCkKICAgICAs
IG1fYmFja2luZyhDU1NGb250RmFjZVNldDo6Y3JlYXRlKCkpCi0gICAgLCBtX3JlYWR5UHJvbWlz
ZSgqdGhpcywgJkZvbnRGYWNlU2V0OjpyZWFkeVByb21pc2VSZXNvbHZlKQorICAgICwgbV9yZWFk
eVByb21pc2UobWFrZVVuaXF1ZVJlZjxSZWFkeVByb21pc2U+KCp0aGlzLCAmRm9udEZhY2VTZXQ6
OnJlYWR5UHJvbWlzZVJlc29sdmUpKQogICAgICwgbV90YXNrUXVldWUoU3VzcGVuZGFibGVUYXNr
UXVldWU6OmNyZWF0ZSgmZG9jdW1lbnQpKQogewogICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0
aGlzKTsKQEAgLTY2LDE0ICs2OCwxNCBAQCBGb250RmFjZVNldDo6Rm9udEZhY2VTZXQoRG9jdW1l
bnQmIGRvY3VtCiBGb250RmFjZVNldDo6Rm9udEZhY2VTZXQoRG9jdW1lbnQmIGRvY3VtZW50LCBD
U1NGb250RmFjZVNldCYgYmFja2luZykKICAgICA6IEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCkK
ICAgICAsIG1fYmFja2luZyhiYWNraW5nKQotICAgICwgbV9yZWFkeVByb21pc2UoKnRoaXMsICZG
b250RmFjZVNldDo6cmVhZHlQcm9taXNlUmVzb2x2ZSkKKyAgICAsIG1fcmVhZHlQcm9taXNlKG1h
a2VVbmlxdWVSZWY8UmVhZHlQcm9taXNlPigqdGhpcywgJkZvbnRGYWNlU2V0OjpyZWFkeVByb21p
c2VSZXNvbHZlKSkKICAgICAsIG1fdGFza1F1ZXVlKFN1c3BlbmRhYmxlVGFza1F1ZXVlOjpjcmVh
dGUoJmRvY3VtZW50KSkKIHsKICAgICBpZiAoZG9jdW1lbnQuZnJhbWUoKSkKICAgICAgICAgbV9p
c0ZpcnN0TGF5b3V0RG9uZSA9IGRvY3VtZW50LmZyYW1lKCktPmxvYWRlcigpLnN0YXRlTWFjaGlu
ZSgpLmZpcnN0TGF5b3V0RG9uZSgpOwogCiAgICAgaWYgKG1faXNGaXJzdExheW91dERvbmUgJiYg
IWJhY2tpbmcuaGFzQWN0aXZlRm9udEZhY2VzKCkpCi0gICAgICAgIG1fcmVhZHlQcm9taXNlLnJl
c29sdmUoKnRoaXMpOworICAgICAgICBtX3JlYWR5UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAK
ICAgICBtX2JhY2tpbmctPmFkZENsaWVudCgqdGhpcyk7CiB9CkBAIC05Niw3ICs5OCw3IEBAIFJl
ZlB0cjxGb250RmFjZT4gRm9udEZhY2VTZXQ6Okl0ZXJhdG9yOjoKIH0KIAogRm9udEZhY2VTZXQ6
OlBlbmRpbmdQcm9taXNlOjpQZW5kaW5nUHJvbWlzZShMb2FkUHJvbWlzZSYmIHByb21pc2UpCi0g
ICAgOiBwcm9taXNlKFdURk1vdmUocHJvbWlzZSkpCisgICAgOiBwcm9taXNlKG1ha2VVbmlxdWVS
ZWY8TG9hZFByb21pc2U+KFdURk1vdmUocHJvbWlzZSkpKQogewogfQogCkBAIC0xNzAsNyArMTcy
LDcgQEAgdm9pZCBGb250RmFjZVNldDo6bG9hZChjb25zdCBTdHJpbmcmIGZvbgogICAgIH0KIAog
ICAgIGlmICghd2FpdGluZykKLSAgICAgICAgcGVuZGluZ1Byb21pc2UtPnByb21pc2UucmVzb2x2
ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOworICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlz
ZS0+cmVzb2x2ZShwZW5kaW5nUHJvbWlzZS0+ZmFjZXMpOwogfQogCiBFeGNlcHRpb25Pcjxib29s
PiBGb250RmFjZVNldDo6Y2hlY2soY29uc3QgU3RyaW5nJiBmYW1pbHksIGNvbnN0IFN0cmluZyYg
dGV4dCkKQEAgLTIwMywxOCArMjA1LDE4IEBAIHZvaWQgRm9udEZhY2VTZXQ6OnN0YXJ0ZWRMb2Fk
aW5nKCkKIHZvaWQgRm9udEZhY2VTZXQ6OmRpZEZpcnN0TGF5b3V0KCkKIHsKICAgICBtX2lzRmly
c3RMYXlvdXREb25lID0gdHJ1ZTsKLSAgICBpZiAoIW1fYmFja2luZy0+aGFzQWN0aXZlRm9udEZh
Y2VzKCkgJiYgIW1fcmVhZHlQcm9taXNlLmlzRnVsZmlsbGVkKCkpIHsKKyAgICBpZiAoIW1fYmFj
a2luZy0+aGFzQWN0aXZlRm9udEZhY2VzKCkgJiYgIW1fcmVhZHlQcm9taXNlLT5pc0Z1bGZpbGxl
ZCgpKSB7CiAgICAgICAgIG1fdGFza1F1ZXVlLT5lbnF1ZXVlVGFzayhbdGhpc10gewotICAgICAg
ICAgICAgbV9yZWFkeVByb21pc2UucmVzb2x2ZSgqdGhpcyk7CisgICAgICAgICAgICBtX3JlYWR5
UHJvbWlzZS0+cmVzb2x2ZSgqdGhpcyk7CiAgICAgICAgIH0pOwogICAgIH0KIH0KIAogdm9pZCBG
b250RmFjZVNldDo6Y29tcGxldGVkTG9hZGluZygpCiB7Ci0gICAgaWYgKG1faXNGaXJzdExheW91
dERvbmUgJiYgIW1fcmVhZHlQcm9taXNlLmlzRnVsZmlsbGVkKCkpIHsKKyAgICBpZiAobV9pc0Zp
cnN0TGF5b3V0RG9uZSAmJiAhbV9yZWFkeVByb21pc2UtPmlzRnVsZmlsbGVkKCkpIHsKICAgICAg
ICAgbV90YXNrUXVldWUtPmVucXVldWVUYXNrKFt0aGlzXSB7Ci0gICAgICAgICAgICBtX3JlYWR5
UHJvbWlzZS5yZXNvbHZlKCp0aGlzKTsKKyAgICAgICAgICAgIG1fcmVhZHlQcm9taXNlLT5yZXNv
bHZlKCp0aGlzKTsKICAgICAgICAgfSk7CiAgICAgfQogfQpAQCAtMjM0LDEyICsyMzYsMTIgQEAg
dm9pZCBGb250RmFjZVNldDo6ZmFjZUZpbmlzaGVkKENTU0ZvbnRGYQogICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKG5ld1N0YXR1cyA9PSBDU1NGb250RmFjZTo6U3Rh
dHVzOjpTdWNjZXNzKSB7CiAgICAgICAgICAgICAgICAgaWYgKHBlbmRpbmdQcm9taXNlLT5oYXNP
bmVSZWYoKSkgewotICAgICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+cHJvbWlzZS5y
ZXNvbHZlKHBlbmRpbmdQcm9taXNlLT5mYWNlcyk7CisgICAgICAgICAgICAgICAgICAgIHBlbmRp
bmdQcm9taXNlLT5wcm9taXNlLT5yZXNvbHZlKHBlbmRpbmdQcm9taXNlLT5mYWNlcyk7CiAgICAg
ICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLT5oYXNSZWFjaGVkVGVybWluYWxTdGF0ZSA9
IHRydWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICBBU1NFUlQobmV3U3RhdHVzID09IENTU0ZvbnRGYWNlOjpTdGF0dXM6OkZhaWx1cmUp
OwotICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLT5wcm9taXNlLnJlamVjdChOZXR3b3Jr
RXJyb3IpOworICAgICAgICAgICAgICAgIHBlbmRpbmdQcm9taXNlLT5wcm9taXNlLT5yZWplY3Qo
TmV0d29ya0Vycm9yKTsKICAgICAgICAgICAgICAgICBwZW5kaW5nUHJvbWlzZS0+aGFzUmVhY2hl
ZFRlcm1pbmFsU3RhdGUgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZhY2VTZXQuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNv
cmUvY3NzL0ZvbnRGYWNlU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEzICsyNywxNCBAQAog
CiAjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VTZXQu
aCIKLSNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiU3VzcGVuZGFi
bGVUYXNrUXVldWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBJ
RExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHlXaXRoUmVzb2x2ZUNhbGxiYWNrOworCiBjbGFz
cyBET01FeGNlcHRpb247CiAKIGNsYXNzIEZvbnRGYWNlU2V0IGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8Rm9udEZhY2VTZXQ+LCBwcml2YXRlIENTU0ZvbnRGYWNlU2V0Q2xpZW50LCBwdWJsaWMg
RXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSAgQWN0aXZlRE9NT2JqZWN0IHsKQEAg
LTU3LDcgKzU4LDcgQEAgcHVibGljOgogICAgIExvYWRTdGF0dXMgc3RhdHVzKCkgY29uc3Q7CiAK
ICAgICB1c2luZyBSZWFkeVByb21pc2UgPSBET01Qcm9taXNlUHJveHlXaXRoUmVzb2x2ZUNhbGxi
YWNrPElETEludGVyZmFjZTxGb250RmFjZVNldD4+OwotICAgIFJlYWR5UHJvbWlzZSYgcmVhZHko
KSB7IHJldHVybiBtX3JlYWR5UHJvbWlzZTsgfQorICAgIFJlYWR5UHJvbWlzZSYgcmVhZHkoKSB7
IHJldHVybiBtX3JlYWR5UHJvbWlzZS5nZXQoKTsgfQogICAgIHZvaWQgZGlkRmlyc3RMYXlvdXQo
KTsKIAogICAgIENTU0ZvbnRGYWNlU2V0JiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9
CkBAIC04OSw3ICs5MCw3IEBAIHByaXZhdGU6CiAKICAgICBwdWJsaWM6CiAgICAgICAgIFZlY3Rv
cjxSZWY8Rm9udEZhY2U+PiBmYWNlczsKLSAgICAgICAgTG9hZFByb21pc2UgcHJvbWlzZTsKKyAg
ICAgICAgVW5pcXVlUmVmPExvYWRQcm9taXNlPiBwcm9taXNlOwogICAgICAgICBib29sIGhhc1Jl
YWNoZWRUZXJtaW5hbFN0YXRlIHsgZmFsc2UgfTsKICAgICB9OwogCkBAIC0xMTYsNyArMTE3LDcg
QEAgcHJpdmF0ZToKIAogICAgIFJlZjxDU1NGb250RmFjZVNldD4gbV9iYWNraW5nOwogICAgIEhh
c2hNYXA8UmVmUHRyPEZvbnRGYWNlPiwgVmVjdG9yPFJlZjxQZW5kaW5nUHJvbWlzZT4+PiBtX3Bl
bmRpbmdQcm9taXNlczsKLSAgICBSZWFkeVByb21pc2UgbV9yZWFkeVByb21pc2U7CisgICAgVW5p
cXVlUmVmPFJlYWR5UHJvbWlzZT4gbV9yZWFkeVByb21pc2U7CiAgICAgVW5pcXVlUmVmPFN1c3Bl
bmRhYmxlVGFza1F1ZXVlPiBtX3Rhc2tRdWV1ZTsKICAgICBib29sIG1faXNGaXJzdExheW91dERv
bmUgeyB0cnVlIH07CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRS
ZWdpc3RyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1l
bnRSZWdpc3RyeS5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9D
dXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBA
CiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNp
bmNsdWRlICJKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCiAjaW5jbHVkZSAiUXVhbGlm
aWVkTmFtZS5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCShyZXZp
c2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1v
dGlvbkV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUg
IkRldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5oIgogCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9u
RXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25Pck1vdGlvbkV2ZW50LmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjYs
MTIgKzI2LDE0IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9u
T3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRG9jdW1lbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKKwogY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50IHsKIHB1
YmxpYzoKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAkocmV2aXNpb24gMjUwNzI4
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSlNFdmVudFRhcmdldEN1c3RvbS5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrcy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NhbGxGcmFtZS5oPgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL01vdXNlRXZlbnQuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL01vdXNlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsMTEgQEAKICNpbmNs
dWRlICJQbGF0Zm9ybVRvdWNoRXZlbnRJT1MuaCIKICNlbmRpZgogCituYW1lc3BhY2UgSlNDIHsK
K2NsYXNzIEV4ZWNTdGF0ZTsKK2NsYXNzIEpTVmFsdWU7Cit9CisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgRGF0YVRyYW5zZmVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9DdXN0
b21QYWludENhbnZhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvQ3VzdG9t
UGFpbnRDYW52YXMuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9D
dXN0b21QYWludENhbnZhcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMSArMjksMTEgQEAKIAog
I2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkNhbnZhc0Jhc2UuaCIKKyNp
bmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5o
IgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5o
IgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SW1hZ2VCaXRtYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VC
aXRtYXAuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdl
Qml0bWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5o
IgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNJbWFnZUJp
dG1hcC5oIgogI2luY2x1ZGUgIkxheW91dFNpemUuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50
LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5oCShyZXZpc2lvbiAyNTA3MjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1
LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxl
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNDUsNiArNDUsOCBAQCBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgVHlwZWRPTUNTU0ltYWdlVmFsdWU7CiBz
dHJ1Y3QgSW1hZ2VCaXRtYXBPcHRpb25zOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBj
bGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIEltYWdlQml0bWFwIGZpbmFsIDogcHVi
bGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8SW1hZ2VCaXRtYXA+IHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEltYWdlQml0bWFwKTsKIHB1YmxpYzoKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNhbnZhcy5jcHAJKHJldmlzaW9uIDI1MDcyOCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIgog
I2luY2x1ZGUgIkltYWdlQml0bWFwLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvSXNv
TWFsbG9jSW5saW5lcy5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL09mZnNjcmVlbkNh
bnZhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2FudmFz
LmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvT2Zmc2NyZWVuQ2Fu
dmFzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEwICsyNywxMSBAQAogCiAjaW5jbHVkZSAiQWZm
aW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiQ2FudmFzQmFzZS5oIgorI2luY2x1ZGUgIkNvbnRl
eHREZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNs
dWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiSW50
U2l6ZS5oIgotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCShy
ZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSFRNTE9iamVjdEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJS
ZW5kZXJTVkdJbWFnZS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmgJKHJl
dmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNCwxMyArMjQsMTMgQEAKIAogI2luY2x1ZGUgIkNhY2hlZEltYWdl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKLSNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBFbGVtZW50OwogY2xh
c3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBACiAjaW5j
bHVkZSAiSFRUUFBhcnNlcnMuaCIKICNpbmNsdWRlICJIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJKU0RPTVdpbmRvd0Jhc2UuaCIKICNpbmNsdWRlICJKU0V4ZWNTdGF0ZS5o
IgogI2luY2x1ZGUgIkxvY2F0aW9uLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgJKHJl
dmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIwLDcgKzIwLDYgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiRE9N
V2luZG93UHJvcGVydHkuaCIKLSNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgIk5hdmlnYXRvckJhc2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKICNp
bmNsdWRlICJTaGFyZURhdGEuaCIKQEAgLTI5LDYgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CiBjbGFzcyBET01NaW1lVHlwZUFycmF5Owog
Y2xhc3MgRE9NUGx1Z2luQXJyYXk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bnNvbGVDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNv
bnNvbGVDbGllbnQuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VDb25zb2xlQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcsNyBAQAog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEFyZ3VtZW50cy5oPgogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJv
bmdJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBFTkFC
TEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DdXN0b21Q
YWludEltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9DdXN0b21QYWludEltYWdlLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ3VzdG9tUGFpbnRJbWFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJJbWFnZUJpdG1hcC5oIgogI2luY2x1ZGUg
IkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSlNDU1NQYWludENhbGxiYWNrLmgiCisjaW5jbHVk
ZSAiSlNET01FeGNlcHRpb25IYW5kbGluZy5oIgogI2luY2x1ZGUgIlBhaW50UmVuZGVyaW5nQ29u
dGV4dDJELmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlN0eWxlUHJv
cGVydHlNYXAuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlz
aW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNyw3IEBACiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdz
LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0ltYWdl
RGF0YS5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiTG9hZGVy
U3RyYXRlZ3kuaCIKQEAgLTQ3ODcsNyArNDc4OCw3IEBAIHZvaWQgSW50ZXJuYWxzOjpvYnNlcnZl
TWVkaWFTdHJlYW1UcmFjaygKIAogdm9pZCBJbnRlcm5hbHM6OmdyYWJOZXh0TWVkaWFTdHJlYW1U
cmFja0ZyYW1lKFRyYWNrRnJhbWVQcm9taXNlJiYgcHJvbWlzZSkKIHsKLSAgICBtX25leHRUcmFj
a0ZyYW1lUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSk7CisgICAgbV9uZXh0VHJhY2tGcmFtZVBy
b21pc2UgPSBXVEY6Om1ha2VVbmlxdWU8VHJhY2tGcmFtZVByb21pc2U+KHByb21pc2UpOwogfQog
CiB2b2lkIEludGVybmFsczo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBs
ZSkKQEAgLTQ4MDksNyArNDgxMCw3IEBAIHZvaWQgSW50ZXJuYWxzOjp2aWRlb1NhbXBsZUF2YWls
YWJsZShNZWQKICAgICAgICAgbV9uZXh0VHJhY2tGcmFtZVByb21pc2UtPnJlc29sdmUoaW1hZ2VE
YXRhLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLnJlbGVhc2VOb25OdWxsKCkpOwogICAgIGVsc2UKICAg
ICAgICAgbV9uZXh0VHJhY2tGcmFtZVByb21pc2UtPnJlamVjdChpbWFnZURhdGEuZXhjZXB0aW9u
KCkuY29kZSgpKTsKLSAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IFdURjo6bnVsbG9wdDsK
KyAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IG51bGxwdHI7CiB9CiAKIHZvaWQgSW50ZXJu
YWxzOjpkZWxheU1lZGlhU3RyZWFtVHJhY2tTYW1wbGVzKE1lZGlhU3RyZWFtVHJhY2smIHRyYWNr
LCBmbG9hdCBkZWxheSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNp
b24gMjUwNzI4KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkNvb2tpZS5oIgogI2luY2x1ZGUg
IkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiSEVWQ1V0aWxpdGllcy5oIgotI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJP
cmllbnRhdGlvbk5vdGlmaWVyLmgiCiAjaW5jbHVkZSAiUGFnZUNvbnNvbGVDbGllbnQuaCIKICNp
bmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCkBAIC05Niw4ICs5NiwxMCBAQCBjbGFzcyBT
dHJpbmdDYWxsYmFjazsKIGNsYXNzIFN0eWxlU2hlZXQ7CiBjbGFzcyBUaW1lUmFuZ2VzOwogY2xh
c3MgVHlwZUNvbnZlcnNpb25zOworY2xhc3MgVW5zdXNwZW5kYWJsZUFjdGl2ZURPTU9iamVjdDsK
IGNsYXNzIFZvaWRDYWxsYmFjazsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dDsKK2NsYXNz
IFdpbmRvd1Byb3h5OwogY2xhc3MgWE1MSHR0cFJlcXVlc3Q7CiAKICNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCkBAIC0xMDgsNyArMTEwLDcgQEAgY2xhc3MgVGV4dFRyYWNrQ3VlR2VuZXJpYzsKIGNs
YXNzIFNlcnZpY2VXb3JrZXI7CiAjZW5kaWYKIAotY2xhc3MgVW5zdXNwZW5kYWJsZUFjdGl2ZURP
TU9iamVjdDsKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VEZWZl
cnJlZDsKIAogY2xhc3MgSW50ZXJuYWxzIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8SW50ZXJu
YWxzPiwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcgogI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCkBAIC04OTgsNyArOTAwLDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBsb25n
IG1fdHJhY2tWaWRlb1NhbXBsZUNvdW50IHsgMCB9OwogICAgIHVuc2lnbmVkIGxvbmcgbV90cmFj
a0F1ZGlvU2FtcGxlQ291bnQgeyAwIH07CiAgICAgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2s+IG1f
dHJhY2s7Ci0gICAgT3B0aW9uYWw8VHJhY2tGcmFtZVByb21pc2U+IG1fbmV4dFRyYWNrRnJhbWVQ
cm9taXNlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxUcmFja0ZyYW1lUHJvbWlzZT4gbV9uZXh0VHJh
Y2tGcmFtZVByb21pc2U7CiAjZW5kaWYKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3JT
dHViRnJvbnRlbmQ+IG1faW5zcGVjdG9yRnJvbnRlbmQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaAkocmV2aXNpb24gMjUwNzI4KQor
KysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
IAotI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiSURMVHlwZXMu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySWRlbnRpZmllci5oIgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAKQEAgLTM3LDYgKzM3LDggQEAgY2xhc3MgRmV0Y2hFdmVudDsKIGNsYXNz
IEZldGNoUmVzcG9uc2U7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCit0ZW1wbGF0
ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CisKIGNsYXNzIFdF
QkNPUkVfVEVTVFNVUFBPUlRfRVhQT1JUIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMgOiBwdWJsaWMg
UmVmQ291bnRlZDxTZXJ2aWNlV29ya2VySW50ZXJuYWxzPiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxTZXJ2aWNlV29ya2VySW50ZXJuYWxzPiBjcmVhdGUoU2VydmljZVdvcmtlcklkZW50aWZp
ZXIgaWRlbnRpZmllcikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXJ2aWNlV29ya2VySW50ZXJu
YWxzIHsgaWRlbnRpZmllciB9KTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2
aWNlV29ya2VySW50ZXJuYWxzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvU2VydmljZVdvcmtlckludGVybmFscy5tbQkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNl
L1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0xhdW5jaFNlcnZpY2Vz
U1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAJKHJl
dmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5jbHVkZSAiRE9NUHJvbWlzZVByb3h5Lmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAkocmV2aXNpb24gMjUwNzI4KQorKysgU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMjgsOSArMjgsOSBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
IAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgotI2luY2x1ZGUgIkRPTVByb21pc2VQcm94
eS5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVl
dWUuaCIKKyNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIlNXQ2xpZW50Q29ubmVjdGlv
bi5oIgogI2luY2x1ZGUgIlNXU2VydmVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkNs
aWVudC5oIgpAQCAtNDgsNiArNDgsOCBAQCBjbGFzcyBTZXJ2aWNlV29ya2VyOwogZW51bSBjbGFz
cyBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgOiB1aW50OF90OwogZW51bSBjbGFzcyBXb3Jr
ZXJUeXBlOwogCit0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJv
eHk7CisKIGNsYXNzIFNlcnZpY2VXb3JrZXJDb250YWluZXIgZmluYWwgOiBwdWJsaWMgRXZlbnRU
YXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFNlcnZp
Y2VXb3JrZXJKb2JDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlcnZpY2VXb3Jr
ZXJDb250YWluZXIpOwogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU2VydmljZVdvcmtlckNv
bnRhaW5lcik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckpvYi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJKb2IuY3BwCShyZXZpc2lvbiAyNTA3MjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUzLDYgKzUzLDExIEBAIFNlcnZpY2VXb3JrZXJKb2I6On5TZXJ2aWNlV29ya2VySm9iKCkKICAg
ICBBU1NFUlQobV9jcmVhdGlvblRocmVhZC5wdHIoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkpOwog
fQogCitSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiBTZXJ2aWNlV29ya2VySm9iOjp0YWtlUHJvbWlz
ZSgpCit7CisgICAgcmV0dXJuIFdURk1vdmUobV9wcm9taXNlKTsKK30KKwogdm9pZCBTZXJ2aWNl
V29ya2VySm9iOjpmYWlsZWRXaXRoRXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbiYgZXhjZXB0aW9u
KQogewogICAgIEFTU0VSVChtX2NyZWF0aW9uVGhyZWFkLnB0cigpID09ICZUaHJlYWQ6OmN1cnJl
bnQoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckpvYi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iLmgJKHJldmlzaW9uIDI1MDcyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3
LDYgQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAotI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUg
IlNlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0
YS5oIgpAQCAtNjMsNyArNjIsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTZXJ2aWNlV29ya2Vy
Sm9iRGF0YSYgZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fam9iRGF0YTsgfQogICAgIGJvb2wgaGFz
UHJvbWlzZSgpIGNvbnN0IHsgcmV0dXJuICEhbV9wcm9taXNlOyB9Ci0gICAgUmVmUHRyPERlZmVy
cmVkUHJvbWlzZT4gdGFrZVByb21pc2UoKSB7IHJldHVybiBXVEZNb3ZlKG1fcHJvbWlzZSk7IH0K
KyAgICBSZWZQdHI8RGVmZXJyZWRQcm9taXNlPiB0YWtlUHJvbWlzZSgpOwogCiAgICAgdm9pZCBm
ZXRjaFNjcmlwdFdpdGhDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBGZXRjaE9wdGlv
bnM6OkNhY2hlKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAkocmV2aXNpb24gMjUw
NzI4KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
ICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckNvbnRh
aW5lci5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCShyZXZpc2lvbiAyNTA3MjgpCisrKyBT
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMyArMjksMTMgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURP
TU9iamVjdC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCi0jaW5jbHVkZSAiSlNET01Qcm9t
aXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJTV0NsaWVudENvbm5lY3Rpb24uaCIKICNpbmNsdWRl
ICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGVmZXJyZWRQcm9taXNlOwogY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiBjbGFzcyBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3Jr
bGV0R2xvYmFsU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtsZXRz
L1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAkocmV2aXNpb24gMjUwNzI4KQorKysgU291cmNl
L1dlYkNvcmUvd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMSw4ICszMSw3IEBACiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0NTU1BhaW50Q2FsbGJhY2suaCIKLSNpbmNsdWRlICJK
U0RPTUNvbnZlcnRDYWxsYmFja3MuaCIKLSNpbmNsdWRlICJKU0RPTUNvbnZlcnRTZXF1ZW5jZXMu
aCIKKyNpbmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAj
aW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2Nv
cGUuaD4K
</data>
<flag name="commit-queue"
          id="395956"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>