<?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>124871</bug_id>
          
          <creation_ts>2013-11-25 16:45:09 -0800</creation_ts>
          <short_desc>[WebGL] Implement OES texture float linear</short_desc>
          <delta_ts>2014-01-10 10:45:57 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ltilve+ews</cc>
    
    <cc>nayankk</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>rego+ews</cc>
    
    <cc>roger_fong</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954159</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-11-25 16:45:09 -0800</bug_when>
    <thetext>This demo was passed around last week: http://www.cake23.de/fmx/turing-fluid-particle-projection-feedback.html
WebKit gets a warning saying we don&apos;t implement OES_texture_float_linear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954161</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-11-25 16:45:51 -0800</bug_when>
    <thetext>&lt;rdar://problem/15548220
&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954162</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-11-25 16:49:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/15548220&gt;

(not sure what is up with the tool that adds this with an extra newline)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954164</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-11-25 16:50:58 -0800</bug_when>
    <thetext>I&apos;ve got the web facing bits done. Just need to make sure we actually use the right code in the implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955228</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-12-01 20:54:48 -0800</bug_when>
    <thetext>Renaming this to only be about enabling float linear, and not yet half float linear, which will depend on 110936</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955231</commentid>
    <comment_count>5</comment_count>
      <attachid>218139</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-12-01 21:23:41 -0800</bug_when>
    <thetext>Created attachment 218139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955232</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-01 21:26:15 -0800</bug_when>
    <thetext>Attachment 218139 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-float-linear.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/resources/oes-texture-float-and-half-float-linear.js&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/DerivedSources.make&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.h&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.idl&apos;, u&apos;Source/WebCore/html/canvas/WebGLExtension.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLTexture.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLTexture.h&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;, u&apos;Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp&apos;]&quot; exit_code: 1
Source/WebCore/html/canvas/OESTextureFloatLinear.cpp:30:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
Total errors found: 1 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955234</commentid>
    <comment_count>7</comment_count>
      <attachid>218139</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-01 21:28:06 -0800</bug_when>
    <thetext>Comment on attachment 218139
Patch

Attachment 218139 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/41718007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955235</commentid>
    <comment_count>8</comment_count>
      <attachid>218139</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-01 21:30:22 -0800</bug_when>
    <thetext>Comment on attachment 218139
Patch

Attachment 218139 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/40008280</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955237</commentid>
    <comment_count>9</comment_count>
      <attachid>218140</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-12-01 21:35:24 -0800</bug_when>
    <thetext>Created attachment 218140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955240</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-01 21:39:36 -0800</bug_when>
    <thetext>Attachment 218140 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-float-linear.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/resources/oes-texture-float-and-half-float-linear.js&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/DerivedSources.make&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.h&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.idl&apos;, u&apos;Source/WebCore/html/canvas/WebGLExtension.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLTexture.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLTexture.h&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;, u&apos;Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp&apos;]&quot; exit_code: 1
Source/WebCore/html/canvas/OESTextureFloatLinear.cpp:30:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
Total errors found: 1 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955243</commentid>
    <comment_count>11</comment_count>
      <attachid>218140</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-01 21:41:16 -0800</bug_when>
    <thetext>Comment on attachment 218140
Patch

Attachment 218140 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/41648016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955246</commentid>
    <comment_count>12</comment_count>
      <attachid>218140</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-01 21:42:34 -0800</bug_when>
    <thetext>Comment on attachment 218140
Patch

Attachment 218140 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/39908274</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955247</commentid>
    <comment_count>13</comment_count>
      <attachid>218140</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-12-01 21:43:16 -0800</bug_when>
    <thetext>Comment on attachment 218140
Patch

Attachment 218140 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/41648017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955248</commentid>
    <comment_count>14</comment_count>
      <attachid>218141</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-12-01 21:52:58 -0800</bug_when>
    <thetext>Created attachment 218141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955249</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-01 21:54:18 -0800</bug_when>
    <thetext>Attachment 218141 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-float-linear-expected.txt&apos;, u&apos;LayoutTests/fast/canvas/webgl/oes-texture-float-linear.html&apos;, u&apos;LayoutTests/fast/canvas/webgl/resources/oes-texture-float-and-half-float-linear.js&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/DerivedSources.make&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.cpp&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.h&apos;, u&apos;Source/WebCore/html/canvas/OESTextureFloatLinear.idl&apos;, u&apos;Source/WebCore/html/canvas/WebGLExtension.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLRenderingContext.h&apos;, u&apos;Source/WebCore/html/canvas/WebGLTexture.cpp&apos;, u&apos;Source/WebCore/html/canvas/WebGLTexture.h&apos;, u&apos;Source/WebCore/platform/graphics/Extensions3D.h&apos;, u&apos;Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp&apos;]&quot; exit_code: 1
Source/WebCore/html/canvas/OESTextureFloatLinear.cpp:30:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
Total errors found: 1 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955250</commentid>
    <comment_count>16</comment_count>
      <attachid>218141</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-01 21:57:16 -0800</bug_when>
    <thetext>Comment on attachment 218141
Patch

Attachment 218141 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/41718014</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955251</commentid>
    <comment_count>17</comment_count>
      <attachid>218141</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-12-01 21:58:32 -0800</bug_when>
    <thetext>Comment on attachment 218141
Patch

Attachment 218141 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/41268018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955252</commentid>
    <comment_count>18</comment_count>
      <attachid>218141</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-01 22:02:05 -0800</bug_when>
    <thetext>Comment on attachment 218141
Patch

Attachment 218141 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/41698012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955970</commentid>
    <comment_count>19</comment_count>
      <attachid>218306</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-12-03 10:33:59 -0800</bug_when>
    <thetext>Created attachment 218306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955972</commentid>
    <comment_count>20</comment_count>
      <attachid>218306</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-03 10:39:57 -0800</bug_when>
    <thetext>Comment on attachment 218306
Patch

Attachment 218306 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/39358321</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955983</commentid>
    <comment_count>21</comment_count>
      <attachid>218309</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-12-03 10:55:40 -0800</bug_when>
    <thetext>Created attachment 218309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955990</commentid>
    <comment_count>22</comment_count>
      <attachid>218309</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-03 11:10:11 -0800</bug_when>
    <thetext>Comment on attachment 218309
Patch

Attachment 218309 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/42108154</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955994</commentid>
    <comment_count>23</comment_count>
      <attachid>218312</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-12-03 11:15:24 -0800</bug_when>
    <thetext>Created attachment 218312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956023</commentid>
    <comment_count>24</comment_count>
      <attachid>218312</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-12-03 11:43:59 -0800</bug_when>
    <thetext>Comment on attachment 218312
Patch

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

r=me.

&gt; Source/WebCore/html/canvas/WebGLRenderingContext.h:564
&gt; +    void checkTextureCompleteness(const char*, bool);

I like this name change!

&gt; Source/WebCore/html/canvas/WebGLTexture.cpp:369
&gt; +        m_isFloatType = m_info[0][0].type == GraphicsContext3D::FLOAT;

:-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956050</commentid>
    <comment_count>25</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-12-03 12:19:11 -0800</bug_when>
    <thetext>Committed r160030: &lt;http://trac.webkit.org/changeset/160030&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966439</commentid>
    <comment_count>26</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-10 10:45:57 -0800</bug_when>
    <thetext>*** Bug 109853 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218139</attachid>
            <date>2013-12-01 21:23:41 -0800</date>
            <delta_ts>2013-12-01 21:35:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124871-20131202162340.patch</filename>
            <type>text/plain</type>
            <size>43186</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ2YjllNDRiYTU3ZTFh
MDI5NTY3YzMwYzYyODM5MjdmNGQ3ZmMxYi4uZmQ5MzE3M2JkZjE5ZjJmYTZiODkzOWQ3YWVlMTQw
ZWIxYzBmOTY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTEyLTAxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEltcGxlbWVudCBP
RVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4
dGVuc2lvbi4gR2VuZXJhbGx5CisgICAgICAgIHdlJ2QgYWxzbyBlbmFibGUgT0VTX3RleHR1cmVf
aGFsZl9mbG9hdF9saW5lYXIgYXQgdGhlIHNhbWUKKyAgICAgICAgdGltZSwgYnV0IHRoYXQncyBi
bG9ja2VkIG9uIHdlYmtpdC5vcmcvYi8xMTA5MzYuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52
YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwKKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6IEdlbmVyYXRlIG5ldyBmaWxlIGZyb20gSURMLgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTmV3IGZpbGVzIGZvciBPRVNUZXh0dXJl
RmxvYXRMaW5lYXIuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKTogTWFwIHRoZSBuZXcgbmFt
ZSBpbnRvIHRoZSBhcHByb3ByaWF0ZSB0eXBlLgorCisgICAgICAgICogaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcDogQWRkZWQuIFRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBjbGFz
cworICAgICAgICB0aGF0J3MgbW9zdGx5IGVtcHR5LgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4
dHVyZUZsb2F0TGluZWFyOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXIpOgorICAgICAgICAoV2ViQ29y
ZTo6T0VTVGV4dHVyZUZsb2F0TGluZWFyOjp+T0VTVGV4dHVyZUZsb2F0TGluZWFyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVGbG9hdExpbmVhcjo6Z2V0TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGw6IEFkZGVkLgorCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xFeHRlbnNpb24uaDogRGVjbGFyZSB0aGUgbmV3IG5hbWUgaW4gdGhlIGVudW0g
b2YgZXh0ZW5zaW9ucy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdB
cnJheXMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpkcmF3RWxlbWVudHMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOiBDcmVhdGUgdGhlIG5ldyBleHRl
bnNpb24gaWYgYXNrZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyk6IFJlbmFtZWQgZnJvbSBoYW5kbGVOUE9UVGV4dHVy
ZXMuIE5vdworICAgICAgICBjaGVja3MgZm9yIHRoZSB0eXBlIG9mIHRoZSB0ZXh0dXJlIHRvby4K
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDogTWVtYmVyIHZh
cmlhYmxlIGZvciBuZXcgZXh0ZW5zaW9uLgorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xU
ZXh0dXJlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6V2ViR0xUZXh0dXJl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxhY2tUZXh0dXJl
KTogVGFrZXMgYW4gZXh0cmEgcGFyYW1ldGVyIHdoaWNoIGluZGljYXRlcworICAgICAgICBpZiBp
dCBoYXMgYW4gZXh0ZW5zaW9uIGVuYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFRleHR1
cmU6OnVwZGF0ZSk6IE5vdGUgaXQgaXMgYSBmbG9hdCB0eXBlIHdoZW4gdXBkYXRpbmcuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IE5ldyBmbGFnIHRvIGluZGljYXRlIGZs
b2F0IHR5cGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaDog
TmV3IGZsYWcgdHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5z
aW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6
c3VwcG9ydHNFeHRlbnNpb24pOiBBZGQgYSBjb21tZW50IGFib3V0IHRoZSBleHRlbnNpb24uCisK
IDIwMTMtMTEtMjUgIFNlcmdpbyBDb3JyZWlhICA8c2VyZ2lvLmNvcnJlaWFAb3BlbmJvc3NhLm9y
Zz4KIAogICAgICAgICBbTWVkaWFTdHJlYW1dIFVzZSBzdGQ6OnVuaXF1ZV9wdHIgaW5zdGVhZCBv
ZiBPd25QdHIvUGFzc093blB0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNmVi
ODRhNGE1YmQ4MGEyZDA4MDA2NTczNzE2MDBhNDJkMzYyODQ3Yi4uNTcyMDg2ZTZkYzdiOTdjMDY0
YjhmZjM3ZDMyMDBhNTA1ZTBjZTY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC00MTYsNiArNDE2LDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlRmxvYXRMaW5lYXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1ZlcnRl
eEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2
ZUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA1OTQzMjdhYzA4MWJhZTYxODAxYjc5YzkwOGQ5MzQ1YjZjMjkzNDk3
Li40ZTVmZWU3M2I0ZTI0MzUwMWMyMGYxMTViYjU2ZmEwMzdmMDE2ZGZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDU5LDYg
KzEwNTksMTAgQEAKIAkJMzEzMTNGNjUxNDQzQjM1RjAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJl
bmRlcmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxMzEzRjYzMTQ0M0IzNUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgKi87
IH07CiAJCTMxMzEzRjY2MTQ0M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTNGNjQx
NDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi87IH07CiAJCTMxMzhB
OUU1MTQ3NDQzNDYwMEIwRUQxMiAvKiBTdHlsZVNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzOEE5RTQxNDc0NDM0NjAwQjBFRDEyIC8qIFN0
eWxlU2hhZGVyLmggKi87IH07CisJCTMxNDZGRTZFMTg0NDIwQTgwMDFBOTM3QyAvKiBPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aCAqLzsgfTsKKwkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExp
bmVhci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MTQ2RkU2NTE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsg
fTsKKwkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZG
RTcwMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07
CisJCTMxNDZGRTc1MTg0NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzEx
ODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CiAJCTMx
NjAyM0YwMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyog
RGljdGlvbmFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NjExRTU4MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAq
LzsgfTsKIAkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NjExRTU5MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87
IH07CkBAIC03NjkyLDYgKzc2OTYsMTEgQEAKIAkJMzEzMTNGNjMxNDQzQjM1RTAwNkUyQTkwIC8q
IEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzEzMTNGNjQxNDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMzhBOUU0MTQ3NDQzNDYwMEIwRUQxMiAv
KiBTdHlsZVNoYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZVNo
YWRlci5oOyBwYXRoID0gc3R5bGUvU3R5bGVTaGFkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzE0NkZFNjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVh
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlRmxv
YXRMaW5lYXIuY3BwOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBP
RVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
T0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGlu
ZWFyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY3MTg0NDIwODcwMDFB
OTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9
IE9FU1RleHR1cmVGbG9hdExpbmVhci5pZGw7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0
TGluZWFyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0NkZFNzAxODQ0MjM2
NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgcGF0aCA9
IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFy
Lmg7IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1ODBFMUM0REUw
MDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTExLDYgKzE0OTIwLDkgQEAKIAkJCQk2RUJG
MEU0NTEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJG
MEU0NjEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmggKi8sCiAJCQkJNkVCRjBF
NDcxMkE4OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9hdC5pZGwgKi8sCisJCQkJMzE0NkZF
NjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi8sCisJCQkJ
MzE0NkZFNjYxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAor
CQkJCTMxNDZGRTY3MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRs
ICovLAogCQkJCUEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0
LmNwcCAqLywKIAkJCQlBMzFDNEU0RTE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdC5oICovLAogCQkJCUEzMUM0RTUwMTZFMDJBQzUwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFs
ZkZsb2F0LmlkbCAqLywKQEAgLTE3NjM5LDYgKzE3NjUxLDggQEAKIAkJCQk5MDAxNzg3RjEyRTAz
NzA3MDA2NDg0NjIgLyogSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggKi8sCiAJCQkJNkVCRjBF
NzQxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJG
MEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLywKKwkJCQkzMTQ2
RkU3MDE4NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwICovLAor
CQkJCTMxNDZGRTcxMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5o
ICovLAogCQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxv
YXQuY3BwICovLAogCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVI
YWxmRmxvYXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNWZXJ0
ZXhBcnJheU9iamVjdC5jcHAgKi8sCkBAIC0yMzM4Miw2ICsyMzM5Niw3IEBACiAJCQkJNTlBODYw
MDgxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNFNDM4OUMxNDBCMUJBODAwNUU0MzdFIC8qIEpTRGljdGlvbmFyeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTRBRTdDMUExN0QyMzIzNTAwMDlGQjMxIC8qIEVsZW1lbnRBbmNl
c3Rvckl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTQ2RkU3NTE4NDQyMzcwMDAxQTkz
N0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OURE
QzgzMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTQ5NEVERjBBMTIzRjRDMDBGREFGQzEgLyogSlNEb2N1bWVudEZyYWdtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2NURGMzFGNjA5RDFDQzYwMDAwQkUzMjUgLyogSlNEb2N1bWVudFR5cGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjM2NDMsNiArMjM2NTgsNyBAQAogCQkJCUIyRkEzRDM5MEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
RkEzRDNCMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQm9vbGVhbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGQTNEM0QwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzE0NkZFNkUxODQ0MjBBODAwMUE5MzdDIC8q
IE9FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEM0YwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMkZBM0Q0MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZExlbmd0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJGQTNENDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NzM3LDYgKzI1NzUzLDcgQEAKIAkJCQk5
MzMwOUREQzA5OUU2NDkyMDA1NkU1ODEgLyogQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNzlGMkY1QTExMDkxOTM5QTAwMEQ4N0NCIC8qIENvbXBvc2l0aW9uRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwOEUxMkIwMjZGNzAwQzFBMzU5IC8qIENv
bmUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9F
U1RleHR1cmVGbG9hdExpbmVhci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBCMzZBNDBDRDND
NjdDMDBBQzdFQjUgLyogQ29uc29sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjE4RjBG
NUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTgxODcyMUYwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yNjQyMSw2ICsyNjQzOCw3IEBACiAJCQkJQTg3MURDMjYwQTE1MjA1NzAwQjEyQTY4
IC8qIEhUTUxTdHlsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNENEU5NzIxMzBD
N0NGRTAwN0JBNTQwIC8qIEhUTUxTdW1tYXJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBODcxREIzMjBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4
dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYw
MEIxMkE2OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
ODcxREIyOTBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ29sRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBODcxREIyODBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA5MTUwZmUx
NDRhMTlkYWJhMDQ5NmRhZmMzMDU0MDExMDBiNjYzYmZhLi4wOWQ5ODI2YTliNzM5OTAxZDg2OTg1
MjY1ODJmN2ZhZGRjMGQ1MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiSlNPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiSlNP
RVNTdGFuZGFyZERlcml2YXRpdmVzLmgiCiAjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXQuaCIK
KyNpbmNsdWRlICJKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIkpTT0VTVGV4
dHVyZUhhbGZGbG9hdC5oIgogI2luY2x1ZGUgIkpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNp
bmNsdWRlICJKU1dlYkdMQnVmZmVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiT0VT
RWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIK
ICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRM
aW5lYXIuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VT
VmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgpAQCAtMjA3LDYg
KzIwOSw4IEBAIHN0YXRpYyBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBXZWJHTEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyo+KGV4
dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6
CiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VT
VGV4dHVyZUZsb2F0Kj4oZXh0ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VT
VGV4dHVyZUZsb2F0TGluZWFyTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXRMaW5lYXIqPihleHRlbnNpb24pKTsK
ICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKICAgICAg
ICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJl
SGFsZkZsb2F0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVy
dGV4QXJyYXlPYmplY3ROYW1lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2IwOTU4ODZhYjY1YWQ1ZWMx
YTU5MDU0NDEwNmYzZDQwOTY0NGFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKQEAgLTAsMCArMSw1NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXRUJHTCkKKwor
I2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdExpbmVhci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK09FU1RleHR1cmVGbG9hdExpbmVhcjo6T0VTVGV4dHVyZUZsb2F0TGluZWFyKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCkKKyAgICA6IFdlYkdMRXh0ZW5zaW9uKGNvbnRleHQpCit7
Cit9CisKK09FU1RleHR1cmVGbG9hdExpbmVhcjo6fk9FU1RleHR1cmVGbG9hdExpbmVhcigpCit7
Cit9CisKK1dlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIE9FU1RleHR1cmVGbG9hdExpbmVh
cjo6Z2V0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIE9FU1RleHR1cmVGbG9hdExpbmVhck5h
bWU7Cit9CisKK093blB0cjxPRVNUZXh0dXJlRmxvYXRMaW5lYXI+IE9FU1RleHR1cmVGbG9hdExp
bmVhcjo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1
cm4gYWRvcHRQdHIobmV3IE9FU1RleHR1cmVGbG9hdExpbmVhcihjb250ZXh0KSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGVmOGI4MGJhNGRlNGE2NDc1NTAzYjlmNzg5OWRlZTI2Mzk0YmU5NQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVh
ci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE9FU1RleHR1cmVGbG9h
dExpbmVhcl9oCisjZGVmaW5lIE9FU1RleHR1cmVGbG9hdExpbmVhcl9oCisKKyNpbmNsdWRlICJX
ZWJHTEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgT0VTVGV4dHVyZUZsb2F0TGluZWFyIDogcHVibGljIFdlYkdM
RXh0ZW5zaW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgT3duUHRyPE9FU1RleHR1cmVGbG9hdExp
bmVhcj4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVhbCB+T0VT
VGV4dHVyZUZsb2F0TGluZWFyKCk7CisgICAgdmlydHVhbCBFeHRlbnNpb25OYW1lIGdldE5hbWUo
KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBPRVNUZXh0dXJlRmxvYXRMaW5lYXIoV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Kik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBPRVNUZXh0dXJlRmxvYXRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L09FU1RleHR1cmVGbG9hdExpbmVhci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlNGIwNjM0NzEwOWU1MDdj
MjliMGEzY2I3ZTU3MjU2YmM1NGRlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGwKQEAgLTAsMCArMSwzMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBOb0ludGVyZmFjZU9iamVjdCwKKyAgICBDb25kaXRpb25hbD1X
RUJHTCwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJHTFJlbmRlcmluZ0NvbnRleHQs
CitdIGludGVyZmFjZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXIgeworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCmluZGV4IGYwNWUzOWU5ODc2Mzk5NDExMGVj
Yjg5ZDljYjhkNzBhZWYxODFhZDIuLjc0ZTlkYThmNmUzZDUyMjFiZGNiZjUxZGJkNTlmM2I1Y2Nm
N2IwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaApA
QCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgICAgIEVYVERyYXdCdWZmZXJzTmFtZSwKICAg
ICAgICAgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljTmFtZSwKICAgICAgICAgT0VTVGV4dHVy
ZUZsb2F0TmFtZSwKKyAgICAgICAgT0VTVGV4dHVyZUZsb2F0TGluZWFyTmFtZSwKICAgICAgICAg
T0VTVGV4dHVyZUhhbGZGbG9hdE5hbWUsCiAgICAgICAgIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNO
YW1lLAogICAgICAgICBPRVNWZXJ0ZXhBcnJheU9iamVjdE5hbWUsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA3NDQy
YTU0NWJjZTQ3OWMxNDQxYTM4ZGY0OGFhYjI1ODJlY2Y4ZjE3Li5kMmIzNDJiZjMyY2UzZDA1YjU3
YzIyYWQyY2NjNWFkNzNiNGFkMjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNs
dWRlICJPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiT0VTU3RhbmRhcmREZXJpdmF0
aXZlcy5oIgogI2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIk9FU1RleHR1
cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIk9FU1RleHR1cmVIYWxmRmxvYXQuaCIKICNpbmNs
dWRlICJPRVNWZXJ0ZXhBcnJheU9iamVjdC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTE5ODYs
MTIgKzE5ODcsMTIgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdBcnJheXMoR0Mz
RGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGMKICAgICBpZiAoIWlzR0xFUzJD
b21wbGlhbnQoKSkKICAgICAgICAgdmVydGV4QXR0cmliMFNpbXVsYXRlZCA9IHNpbXVsYXRlVmVy
dGV4QXR0cmliMChmaXJzdCArIGNvdW50IC0gMSk7CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmlj
dCgpKQotICAgICAgICBoYW5kbGVOUE9UVGV4dHVyZXMoImRyYXdBcnJheXMiLCB0cnVlKTsKKyAg
ICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3QXJyYXlzIiwgdHJ1ZSk7CiAgICAg
bV9jb250ZXh0LT5kcmF3QXJyYXlzKG1vZGUsIGZpcnN0LCBjb3VudCk7CiAgICAgaWYgKCFpc0dM
RVMyQ29tcGxpYW50KCkgJiYgdmVydGV4QXR0cmliMFNpbXVsYXRlZCkKICAgICAgICAgcmVzdG9y
ZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKTsKICAgICBpZiAoIWlzR0xFUzJO
UE9UU3RyaWN0KCkpCi0gICAgICAgIGhhbmRsZU5QT1RUZXh0dXJlcygiZHJhd0FycmF5cyIsIGZh
bHNlKTsKKyAgICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3QXJyYXlzIiwgZmFs
c2UpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbCh0cnVlKTsKIH0KIApAQCAtMjA3MCwx
MiArMjA3MSwxMiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1lbnRzKEdD
M0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudQogICAgICAgICB2ZXJ0ZXhBdHRy
aWIwU2ltdWxhdGVkID0gc2ltdWxhdGVWZXJ0ZXhBdHRyaWIwKG51bUVsZW1lbnRzKTsKICAgICB9
CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQotICAgICAgICBoYW5kbGVOUE9UVGV4dHVy
ZXMoImRyYXdFbGVtZW50cyIsIHRydWUpOworICAgICAgICBjaGVja1RleHR1cmVDb21wbGV0ZW5l
c3MoImRyYXdFbGVtZW50cyIsIHRydWUpOwogICAgIG1fY29udGV4dC0+ZHJhd0VsZW1lbnRzKG1v
ZGUsIGNvdW50LCB0eXBlLCBzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpKTsKICAgICBp
ZiAoIWlzR0xFUzJDb21wbGlhbnQoKSAmJiB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkKQogICAgICAg
ICByZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpOwogICAgIGlmICgh
aXNHTEVTMk5QT1RTdHJpY3QoKSkKLSAgICAgICAgaGFuZGxlTlBPVFRleHR1cmVzKCJkcmF3RWxl
bWVudHMiLCBmYWxzZSk7CisgICAgICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0Vs
ZW1lbnRzIiwgZmFsc2UpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbCh0cnVlKTsKIH0K
IApAQCAtMjM5MSw2ICsyMzkyLDE0IEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIG1fb2VzVGV4dHVyZUZsb2F0LmdldCgpOwogICAgIH0KKyAgICBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpCisgICAgICAgICYm
IG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfZmxv
YXRfbGluZWFyIikpIHsKKyAgICAgICAgaWYgKCFtX29lc1RleHR1cmVGbG9hdExpbmVhcikgewor
ICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCktPmVuc3VyZUVuYWJsZWQoIkdM
X09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpOworICAgICAgICAgICAgbV9vZXNUZXh0dXJlRmxv
YXRMaW5lYXIgPSBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXIuZ2V0KCk7CisgICAgfQog
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIp
CiAgICAgICAgICYmIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCIpKSB7CiAgICAgICAgIGlmICghbV9vZXNUZXh0dXJlSGFsZkZs
b2F0KSB7CkBAIC00ODQ0LDEyICs0ODUzLDE0IEBAIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldFdlYkdMSW50QXJyYXlQYXJhbWV0ZXIoR0MzRGVudW0gcG5hbWUpCiAgICAg
cmV0dXJuIFdlYkdMR2V0SW5mbyhJbnQzMkFycmF5OjpjcmVhdGUodmFsdWUsIGxlbmd0aCkpOwog
fQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVzKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSwgYm9vbCBwcmVwYXJlVG9EcmF3KQordm9pZCBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyhjb25zdCBjaGFyKiBmdW5jdGlv
bk5hbWUsIGJvb2wgcHJlcGFyZVRvRHJhdykKIHsKICAgICBib29sIHJlc2V0QWN0aXZlVW5pdCA9
IGZhbHNlOworICAgIFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsYWcgZXh0ZW5zaW9u
cyA9IHN0YXRpY19jYXN0PFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsYWc+KG1fb2Vz
VGV4dHVyZUZsb2F0TGluZWFyID8gV2ViR0xUZXh0dXJlOjpUZXh0dXJlRXh0ZW5zaW9uRmxvYXRM
aW5lYXJFbmFibGVkIDogMCk7CisKICAgICBmb3IgKHVuc2lnbmVkIGlpID0gMDsgaWkgPCBtX3Rl
eHR1cmVVbml0cy5zaXplKCk7ICsraWkpIHsKLSAgICAgICAgaWYgKChtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGlu
Zy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpCi0gICAgICAgICAgICB8fCAobV90ZXh0dXJlVW5p
dHNbaWldLnRleHR1cmVDdWJlTWFwQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVy
ZUN1YmVNYXBCaW5kaW5nLT5uZWVkVG9Vc2VCbGFja1RleHR1cmUoKSkpIHsKKyAgICAgICAgaWYg
KChtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZTJEQmluZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKGV4dGVuc2lvbnMpKQor
ICAgICAgICAgICAgfHwgKG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcg
JiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFwQmluZGluZy0+bmVlZFRvVXNlQmxh
Y2tUZXh0dXJlKGV4dGVuc2lvbnMpKSkgewogICAgICAgICAgICAgaWYgKGlpICE9IG1fYWN0aXZl
VGV4dHVyZVVuaXQpIHsKICAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmFjdGl2ZVRleHR1cmUo
aWkpOwogICAgICAgICAgICAgICAgIHJlc2V0QWN0aXZlVW5pdCA9IHRydWU7CkBAIC00ODYxLDcg
KzQ4NzIsOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVz
KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgYm9vbCBwcgogICAgICAgICAgICAgV2ViR0xUZXh0
dXJlKiB0ZXhDdWJlTWFwOwogICAgICAgICAgICAgaWYgKHByZXBhcmVUb0RyYXcpIHsKICAgICAg
ICAgICAgICAgICBTdHJpbmcgbXNnKFN0cmluZygidGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVu
aXQgIikgKyBTdHJpbmc6Om51bWJlcihpaSkKLSAgICAgICAgICAgICAgICAgICAgKyAiIGlzIG5v
dCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGli
bGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJyIpOworICAg
ICAgICAgICAgICAgICAgICArICIgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dl
ci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3Qg
J3RleHR1cmUgY29tcGxldGUnLCIKKyAgICAgICAgICAgICAgICAgICAgKyAiIG9yIGl0IGlzIGEg
RmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50
IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4iKTsKICAgICAgICAgICAgICAgICBwcmlu
dEdMV2FybmluZ1RvQ29uc29sZShmdW5jdGlvbk5hbWUsIG1zZy51dGY4KCkuZGF0YSgpKTsKICAg
ICAgICAgICAgICAgICB0ZXgyRCA9IG1fYmxhY2tUZXh0dXJlMkQuZ2V0KCk7CiAgICAgICAgICAg
ICAgICAgdGV4Q3ViZU1hcCA9IG1fYmxhY2tUZXh0dXJlQ3ViZU1hcC5nZXQoKTsKQEAgLTQ4Njks
OSArNDg4MSw5IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpoYW5kbGVOUE9UVGV4dHVy
ZXMoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBib29sIHByCiAgICAgICAgICAgICAgICAgdGV4
MkQgPSBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGluZy5nZXQoKTsKICAgICAgICAg
ICAgICAgICB0ZXhDdWJlTWFwID0gbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFwQmlu
ZGluZy5nZXQoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChtX3RleHR1cmVVbml0
c1tpaV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmlu
ZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpCisgICAgICAgICAgICBpZiAobV90ZXh0dXJl
VW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUy
REJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKICAgICAgICAgICAg
ICAgICBtX2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJE
LCBvYmplY3RPclplcm8odGV4MkQpKTsKLSAgICAgICAgICAgIGlmIChtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3Vi
ZU1hcEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZSgpKQorICAgICAgICAgICAgaWYgKG1f
dGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNb
aWldLnRleHR1cmVDdWJlTWFwQmluZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKGV4dGVuc2lv
bnMpKQogICAgICAgICAgICAgICAgIG1fY29udGV4dC0+YmluZFRleHR1cmUoR3JhcGhpY3NDb250
ZXh0M0Q6OlRFWFRVUkVfQ1VCRV9NQVAsIG9iamVjdE9yWmVybyh0ZXhDdWJlTWFwKSk7CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5oCmluZGV4IDRmODhiNDRlMGU1NDQwYzkxYmJjMjFjNGRjZTk1MjQwMTRj
ZWI0N2EuLjM0YjZkMGVjNTRkMjgzMzRiZWYzNTQ1MDMxNjJlYzI5MjI2MmEzN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCkBA
IC01MCw2ICs1MCw3IEBAIGNsYXNzIEltYWdlRGF0YTsKIGNsYXNzIEludFNpemU7CiBjbGFzcyBP
RVNTdGFuZGFyZERlcml2YXRpdmVzOwogY2xhc3MgT0VTVGV4dHVyZUZsb2F0OworY2xhc3MgT0VT
VGV4dHVyZUZsb2F0TGluZWFyOwogY2xhc3MgT0VTVGV4dHVyZUhhbGZGbG9hdDsKIGNsYXNzIE9F
U1ZlcnRleEFycmF5T2JqZWN0OwogY2xhc3MgT0VTRWxlbWVudEluZGV4VWludDsKQEAgLTUyNSw2
ICs1MjYsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxFWFREcmF3QnVmZmVycz4gbV9leHREcmF3
QnVmZmVyczsKICAgICBPd25QdHI8RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljPiBtX2V4dFRl
eHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYzsKICAgICBPd25QdHI8T0VTVGV4dHVyZUZsb2F0PiBtX29l
c1RleHR1cmVGbG9hdDsKKyAgICBPd25QdHI8T0VTVGV4dHVyZUZsb2F0TGluZWFyPiBtX29lc1Rl
eHR1cmVGbG9hdExpbmVhcjsKICAgICBPd25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gbV9vZXNU
ZXh0dXJlSGFsZkZsb2F0OwogICAgIE93blB0cjxPRVNTdGFuZGFyZERlcml2YXRpdmVzPiBtX29l
c1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiAgICAgT3duUHRyPE9FU1ZlcnRleEFycmF5T2JqZWN0PiBt
X29lc1ZlcnRleEFycmF5T2JqZWN0OwpAQCAtNTU5LDcgKzU2MSw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCB0ZXhTdWJJbWFnZTJEQmFzZShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXpl
aSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qgdm9pZCogcGl4
ZWxzLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTJESW1wbChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEltYWdlKiwgR3JhcGhpY3NDb250ZXh0
M0Q6OkltYWdlSHRtbERvbVNvdXJjZSwgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFscGhh
LCBFeGNlcHRpb25Db2RlJik7CiAKLSAgICB2b2lkIGhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBj
aGFyKiwgYm9vbCk7CisgICAgdm9pZCBjaGVja1RleHR1cmVDb21wbGV0ZW5lc3MoY29uc3QgY2hh
ciosIGJvb2wpOwogCiAgICAgdm9pZCBjcmVhdGVGYWxsYmFja0JsYWNrVGV4dHVyZXMxeDEoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAKaW5kZXggYzNj
Yzc5MDAxNTU3NTE5ZWMxNGM5MjE2NjMxYzBlMTk1MWUwMzdkNi4uZjEwZjVkZjA1YWUxNTQ0NTcw
OWQ3OGQyMjFkOGVjYTc0NDBkZGYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xUZXh0dXJlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFRleHR1cmUuY3BwCkBAIC01MSw2ICs1MSw3IEBAIFdlYkdMVGV4dHVyZTo6V2ViR0xUZXh0
dXJlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY3R4KQogICAgICwgbV9pc0NvbXBsZXRlKGZhbHNl
KQogICAgICwgbV9uZWVkVG9Vc2VCbGFja1RleHR1cmUoZmFsc2UpCiAgICAgLCBtX2lzQ29tcHJl
c3NlZChmYWxzZSkKKyAgICAsIG1faXNGbG9hdFR5cGUoZmFsc2UpCiB7CiAgICAgc2V0T2JqZWN0
KGN0eC0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3JlYXRlVGV4dHVyZSgpKTsKIH0KQEAgLTIzMywx
MSArMjM0LDE3IEBAIGJvb2wgV2ViR0xUZXh0dXJlOjppc05QT1QoKSBjb25zdAogICAgIHJldHVy
biBtX2lzTlBPVDsKIH0KIAotYm9vbCBXZWJHTFRleHR1cmU6Om5lZWRUb1VzZUJsYWNrVGV4dHVy
ZSgpIGNvbnN0Citib29sIFdlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxhY2tUZXh0dXJlKFRleHR1
cmVFeHRlbnNpb25GbGFnIGV4dGVuc2lvbnMpIGNvbnN0CiB7CiAgICAgaWYgKCFvYmplY3QoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX25lZWRUb1VzZUJsYWNrVGV4dHVy
ZTsKKyAgICBpZiAobV9uZWVkVG9Vc2VCbGFja1RleHR1cmUpCisgICAgICAgIHJldHVybiB0cnVl
OworICAgIGlmIChtX2lzRmxvYXRUeXBlICYmICEoZXh0ZW5zaW9ucyAmIFRleHR1cmVFeHRlbnNp
b25GbG9hdExpbmVhckVuYWJsZWQpKSB7CisgICAgICAgIGlmIChtX21hZ0ZpbHRlciAhPSBHcmFw
aGljc0NvbnRleHQzRDo6TkVBUkVTVCB8fCAobV9taW5GaWx0ZXIgIT0gR3JhcGhpY3NDb250ZXh0
M0Q6Ok5FQVJFU1QgJiYgbV9taW5GaWx0ZXIgIT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1Rf
TUlQTUFQX05FQVJFU1QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJl
dHVybiBmYWxzZTsKIH0KIAogYm9vbCBXZWJHTFRleHR1cmU6OmlzQ29tcHJlc3NlZCgpIGNvbnN0
CkBAIC0zNTcsNiArMzY0LDE4IEBAIHZvaWQgV2ViR0xUZXh0dXJlOjp1cGRhdGUoKQogICAgICAg
ICB9CiAgICAgfQogCisgICAgbV9pc0Zsb2F0VHlwZSA9IGZhbHNlOworICAgIGlmIChtX2lzQ29t
cGxldGUpCisgICAgICAgIG1faXNGbG9hdFR5cGUgPSBtX2luZm9bMF1bMF0udHlwZSA9PSBHcmFw
aGljc0NvbnRleHQzRDo6RkxPQVQ7CisgICAgZWxzZSB7CisgICAgICAgIGZvciAoc2l6ZV90IGlp
ID0gMDsgaWkgPCBtX2luZm8uc2l6ZSgpOyArK2lpKSB7CisgICAgICAgICAgICBpZiAobV9pbmZv
W2lpXVswXS50eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVCkgeworICAgICAgICAgICAg
ICAgIG1faXNGbG9hdFR5cGUgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfQorCiAgICAgbV9uZWVkVG9Vc2VCbGFja1RleHR1cmUg
PSBmYWxzZTsKICAgICAvLyBOUE9UCiAgICAgaWYgKG1faXNOUE9UICYmICgobV9taW5GaWx0ZXIg
IT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1QgJiYgbV9taW5GaWx0ZXIgIT0gR3JhcGhpY3ND
b250ZXh0M0Q6OkxJTkVBUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVGV4dHVyZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJl
LmgKaW5kZXggMmRmNTRlNjhkMzdkMTVlZGE2ZmRjZTMxM2YwOWQyMmQ4ZWYxNDVmMC4uODgzNjBi
ZTA2MGRhMTc5ZGYyZjIwNDc3MTNlNjFiYmZhNzZmMThjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xUZXh0dXJlLmgKQEAgLTM1LDYgKzM1LDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgV2ViR0xUZXh0dXJlIDogcHVibGljIFdlYkdMU2hhcmVkT2JqZWN0IHsK
IHB1YmxpYzoKKworICAgIGVudW0gVGV4dHVyZUV4dGVuc2lvbkZsYWcgeworICAgICAgICBUZXh0
dXJlRXh0ZW5zaW9uc0Rpc2FibGVkID0gMCwKKyAgICAgICAgVGV4dHVyZUV4dGVuc2lvbkZsb2F0
TGluZWFyRW5hYmxlZCA9IDEgPDwgMAorICAgIH07CisKICAgICB2aXJ0dWFsIH5XZWJHTFRleHR1
cmUoKTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkdMVGV4dHVyZT4gY3JlYXRlKFdlYkdM
UmVuZGVyaW5nQ29udGV4dCopOwpAQCAtNjQsNyArNzAsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGlzTlBPVCgpIGNvbnN0OwogICAgIC8vIERldGVybWluZSBpZiB0ZXh0dXJlIHNhbXBsaW5nIHNo
b3VsZCBhbHdheXMgcmV0dXJuIFswLCAwLCAwLCAxXSAoT3BlbkdMIEVTIDIuMCBTZWMgMy44LjIp
LgotICAgIGJvb2wgbmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkgY29uc3Q7CisgICAgYm9vbCBuZWVk
VG9Vc2VCbGFja1RleHR1cmUoVGV4dHVyZUV4dGVuc2lvbkZsYWcpIGNvbnN0OwogCiAgICAgYm9v
bCBpc0NvbXByZXNzZWQoKSBjb25zdDsKICAgICB2b2lkIHNldENvbXByZXNzZWQoKTsKQEAgLTEy
Nyw2ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0NvbXBsZXRlOwogICAgIGJvb2wg
bV9uZWVkVG9Vc2VCbGFja1RleHR1cmU7CiAgICAgYm9vbCBtX2lzQ29tcHJlc3NlZDsKKyAgICBi
b29sIG1faXNGbG9hdFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCmluZGV4IDNiZWQ0
NmZkMmY2NDM0ZTVkNmExMThlYmNlZGQwNmFlMGQ2YmQ5YzAuLjU4ZjY5ODY4NWE4YzA0MjkyZjNl
ZGViMmVlMzI1MjY2Nzc1YzIyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0V4dGVuc2lvbnMzRC5oCkBAIC01Myw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICAvLyAg
IEdMX0VYVF9wYWNrZWRfZGVwdGhfc3RlbmNpbCAvIEdMX09FU19wYWNrZWRfZGVwdGhfc3RlbmNp
bAogICAgIC8vICAgR0xfQU5HTEVfZnJhbWVidWZmZXJfYmxpdCAvIEdMX0FOR0xFX2ZyYW1lYnVm
ZmVyX211bHRpc2FtcGxlCiAgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9mbG9hdAorICAgIC8vICAg
R0xfT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyCiAgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9oYWxm
X2Zsb2F0CiAgICAgLy8gICBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMKICAgICAvLyAgIEdM
X09FU19yZ2I4X3JnYmE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCmluZGV4IDM4NDc4YmI5
MDQwZTA3YjNmMTA5NTEyMTU2MWE4NGM4MmM3ZWQ4ZWIuLmZhMjc5MGQzYWY5NTBjZmY0ZGNiNTZj
NWZjZDNiNDg2NmMyYzNjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCkBAIC0xNTMs
OSArMTUzLDkgQEAgYm9vbCBFeHRlbnNpb25zM0RPcGVuR0w6OnN1cHBvcnRzRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgbmFtZSkKICAgICBpZiAobmFtZSA9PSAiR0xfT0VTX3JnYjhfcmdiYTgiKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIEdMX0FSQl90ZXh0dXJlX2Zsb2F0IGlz
IGF2YWlsYWJsZSB0aGVuIHdlIHJlcG9ydCBHTF9PRVNfdGV4dHVyZV9mbG9hdCBhbmQKLSAgICAv
LyBHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGFzIGF2YWlsYWJsZS4KLSAgICBpZiAobmFtZSA9
PSAiR0xfT0VTX3RleHR1cmVfZmxvYXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJlX2hhbGZf
ZmxvYXQiKQorICAgIC8vIElmIEdMX0FSQl90ZXh0dXJlX2Zsb2F0IGlzIGF2YWlsYWJsZSB0aGVu
IHdlIHJlcG9ydCBHTF9PRVNfdGV4dHVyZV9mbG9hdCwKKyAgICAvLyBHTF9PRVNfdGV4dHVyZV9o
YWxmX2Zsb2F0IGFuZCBHTF9PRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgYXMgYXZhaWxhYmxlLgor
ICAgIGlmIChuYW1lID09ICJHTF9PRVNfdGV4dHVyZV9mbG9hdCIgfHwgbmFtZSA9PSAiR0xfT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCIgfHwgbmFtZSA9PSAiR0xfT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIikKICAgICAgICAgcmV0dXJuIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5jb250YWlucygiR0xf
QVJCX3RleHR1cmVfZmxvYXQiKTsKIAogICAgIC8vIEdMX09FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMjQyMjRmODUyZjU0ZjljZGEyZWYzYThmMjk4ZDM3Yzc3YmE3YjU1Yi4uOTZkNTNi
N2NjZWU2YmQzNjZlZWE1NWUxMjk2M2M2NWNmODc1ZmY0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDEzLTEyLTAxICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBb
V2ViR0xdIEltcGxlbWVudCBPRVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0aGUgS2hyb25vcyB0ZXN0IGZp
bGVzIGZvciB0aGlzIGV4dGVuc2lvbi4KKworICAgICAgICBBZGQgdGhlIEpTIHRlc3QgZmlsZSBm
b3IgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGFuZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xp
bmVhcgorICAgICAgICBldmVuIHRob3VnaCBpdCdzIG9ubHkgdXNlZCBmb3IgdGhlIGZvcm1lciBh
dCB0aGUgbW9tZW50LgorCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUt
ZmxvYXQtbGluZWFyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3Jl
c291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIuanM6IEFkZGVk
LgorCiAyMDEzLTExLTI1ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW5kZXJUYWJsZVNlY3Rpb24gQmxpbmsgbWVyZ2UgYXNzZXJ0aW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1mbG9hdC1saW5lYXIuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWZsb2F0LWxpbmVh
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ4ZmY4ZmZlODdhOGJkNzk0NTFkNzNkM2YwYjg4ZTI2MTQ3YTEz
MDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMt
dGV4dHVyZS1mbG9hdC1saW5lYXIuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL29lcy10ZXh0dXJlLWZs
b2F0LWFuZC1oYWxmLWZsb2F0LWxpbmVhci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsLCBleHRlbnNpb25UeXBlTmFtZSkgewor
ICAgIGlmICghZ2wuZ2V0RXh0ZW5zaW9uKGV4dGVuc2lvblR5cGVOYW1lKSkgeworICAgICAgICB0
ZXN0UGFzc2VkKCJObyAiICsgZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIHN1cHBvcnQgLS0gdGhpcyBp
cyBsZWdhbCIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHRlc3RQYXNzZWQo
IlN1Y2Nlc3NmdWxseSBlbmFibGVkICIgKyBleHRlbnNpb25UeXBlTmFtZSArICIgZXh0ZW5zaW9u
Iik7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0nZ2VuZXJhdGVUZXN0KCJPRVNfdGV4dHVyZV9mbG9hdCIsICJPRVNfdGV4dHVyZV9mbG9hdF9s
aW5lYXIiLCAiRkxPQVQiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiBzdHlsZT0id2lkdGg6IDUwcHg7IGhlaWdodDog
NTBweDsiPiA8L2NhbnZhcz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3VyY2Vz
L29lcy10ZXh0dXJlLWZsb2F0LWFuZC1oYWxmLWZsb2F0LWxpbmVhci5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1m
bG9hdC1saW5lYXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJjYzc0MDk4ZWNhM2M1MjRhMjM3ODk4YTliNzEy
MTc3NjIzNzYxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3Jlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIuanMK
QEAgLTAsMCArMSwxNzIgQEAKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworZnVuY3Rpb24gZ2Vu
ZXJhdGVUZXN0KGV4dGVuc2lvblR5cGVOYW1lLCBleHRlbnNpb25OYW1lLCBwaXhlbFR5cGUsIHBy
b2xvZ3VlKSB7CisgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIHZhciBnbCA9IG51
bGw7CisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCisgICAgdmFyIGluaXQg
PSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSAiICsgZXh0ZW5zaW9uTmFtZSArICIgZXh0ZW5z
aW9uLCBpZiBpdCBpcyBhdmFpbGFibGUuIik7CisKKyAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKKyAgICAgICAgZ2wgPSB3dHUuY3JlYXRlM0RD
b250ZXh0KGNhbnZhcyk7CisKKyAgICAgICAgaWYgKCFwcm9sb2d1ZShnbCwgZXh0ZW5zaW9uVHlw
ZU5hbWUpKSB7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKworICAgICAgICAvLyBCZWZvcmUgdGhlIGV4dGVuc2lvbiBpcyBlbmFibGVk
CisgICAgICAgIHZhciBleHRlbnNpb25FbmFibGVkID0gZmFsc2U7CisgICAgICAgIHJ1blRlc3RT
dWl0ZShleHRlbnNpb25FbmFibGVkKTsKKworICAgICAgICAvLyBpZiAoIWdsLmdldEV4dGVuc2lv
bihleHRlbnNpb25OYW1lKSkKKyAgICAgICAgLy8gICAgIHRlc3RQYXNzZWQoIk5vICIgKyBleHRl
bnNpb25OYW1lICsgIiBzdXBwb3J0IC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgLy8gZWxz
ZSB7CisgICAgICAgIC8vICAgICAvLyBBZnRlciB0aGUgZXh0ZW5zaW9uIGlzIGVuYWJsZWQKKyAg
ICAgICAgLy8gICAgIGV4dGVuc2lvbkVuYWJsZWQgPSB0cnVlOworICAgICAgICAvLyAgICAgcnVu
VGVzdFN1aXRlKGV4dGVuc2lvbkVuYWJsZWQpOworICAgICAgICAvLyB9CisKKyAgICAgICAgZmlu
aXNoVGVzdCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3RTdWl0ZShleHRlbnNpb25F
bmFibGVkKQorICAgIHsKKyAgICAgICAgdmFyIG1hZ0YgPSBbZ2wuTkVBUkVTVCwgZ2wuTElORUFS
XTsKKyAgICAgICAgdmFyIG1pbkYgPSBbZ2wuTkVBUkVTVCwgZ2wuTElORUFSLCBnbC5ORUFSRVNU
X01JUE1BUF9ORUFSRVNULCBnbC5ORUFSRVNUX01JUE1BUF9MSU5FQVIsIGdsLkxJTkVBUl9NSVBN
QVBfTkVBUkVTVCwgZ2wuTElORUFSX01JUE1BUF9MSU5FQVJdOworICAgICAgICB2YXIgdGV4MkRG
U2hhZGVyID0gWworICAgICAgICAgICAgJ3VuaWZvcm0gc2FtcGxlcjJEIHRleDsnLAorICAgICAg
ICAgICAgJ3ZvaWQgbWFpbigpIHsnLAorICAgICAgICAgICAgJyAgICBnbF9GcmFnRGF0YVswXSA9
IHRleHR1cmUyRCh0ZXgsIHZlYzIoMC41LCAwLjUpKSAqIHZlYzQoNC4wLCAyLjAsIDIuMCwgMSk7
JywKKyAgICAgICAgICAgICd9J10uam9pbignXG4nKTsKKworICAgICAgICB2YXIgcG9zaXRpb25W
ZXJ0ZXhTaGFkZXIgPSBbCisgICAgICAgICAgICdhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247JywK
KyAgICAgICAgICAgJ3ZvaWQgbWFpbigpIHsnLAorICAgICAgICAgICAnICAgIGdsX1Bvc2l0aW9u
ID0gdlBvc2l0aW9uOycsCisgICAgICAgICAgICd9J10uam9pbignXG4nKTsKKworICAgICAgICB2
YXIgdGV4Q3ViZUZTaGFkZXIgPSBbCisgICAgICAgICAgICAndW5pZm9ybSBzYW1wbGVyQ3ViZSB0
ZXg7JywKKyAgICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgICcgICAgZ2xf
RnJhZ0NvbG9yID0gdGV4dHVyZUN1YmUodGV4LCBub3JtYWxpemUodmVjMygwLjUsIDAuNSwgMSkp
KSAqIHZlYzQoNC4wLCAyLjAsIDIuMCwgMSk7JywKKyAgICAgICAgICAgICd9J10uam9pbignXG4n
KTsKKworICAgICAgICB2YXIgdnMgPSB3dHUubG9hZFNoYWRlcihnbCwgcG9zaXRpb25WZXJ0ZXhT
aGFkZXIsIGdsLlZFUlRFWF9TSEFERVIpOworICAgICAgICB2YXIgZnNfMmQgPSB3dHUubG9hZFNo
YWRlcihnbCwgdGV4MkRGU2hhZGVyLCBnbC5GUkFHTUVOVF9TSEFERVIpOworICAgICAgICB2YXIg
ZnNfY3ViZSA9IHd0dS5sb2FkU2hhZGVyKGdsLCB0ZXhDdWJlRlNoYWRlciwgZ2wuRlJBR01FTlRf
U0hBREVSKTsKKworICAgICAgICAvLyBURVhUVVJFXzJECisgICAgICAgIHZhciBwcm9ncmFtID0g
d3R1LnNldHVwUHJvZ3JhbShnbCwgW3ZzLCBmc18yZF0pOworICAgICAgICBnbC51c2VQcm9ncmFt
KHByb2dyYW0pOworICAgICAgICB3dHUuc2V0dXBVbml0UXVhZChnbCk7CisgICAgICAgIGZvciAo
dmFyIGtrID0gMDsga2sgPCAyOyArK2trKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7
IGlpIDwgNjsgKytpaSkgeworICAgICAgICAgICAgICAgIHZhciBsaW5lYXIgPSBmYWxzZTsKKyAg
ICAgICAgICAgICAgICBpZiAobWFnRltra10gPT0gZ2wuTElORUFSIHx8IChtaW5GW2lpXSAhPSBn
bC5ORUFSRVNUICYmIG1pbkZbaWldICE9IGdsLk5FQVJFU1RfTUlQTUFQX05FQVJFU1QpKQorICAg
ICAgICAgICAgICAgICAgICBsaW5lYXIgPSB0cnVlOworICAgICAgICAgICAgICAgIHZhciBjb2xv
ciA9ICghZXh0ZW5zaW9uRW5hYmxlZCAmJiBsaW5lYXIpID8gWzAsIDAsIDAsIDI1NV0gOiBbMjU1
LCAyNTUsIDI1NSwgMjU1XTsKKyAgICAgICAgICAgICAgICBydW5FYWNoVGVzdChnbC5URVhUVVJF
XzJELCBtYWdGW2trXSwgbWluRltpaV0sIGxpbmVhciwgZXh0ZW5zaW9uRW5hYmxlZCwgY29sb3Ip
OworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gVEVYVFVSRV9DVUJFX01B
UAorICAgICAgICB2YXIgcHJvZ3JhbUN1YmUgPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbdnMsIGZz
X2N1YmVdKTsKKyAgICAgICAgZ2wudXNlUHJvZ3JhbShwcm9ncmFtQ3ViZSk7CisgICAgICAgIHd0
dS5zZXR1cFVuaXRRdWFkKGdsKTsKKyAgICAgICAgZm9yICh2YXIga2sgPSAwOyBrayA8IDI7ICsr
a2spIHsKKyAgICAgICAgICAgIGZvciAodmFyIGlpID0gMDsgaWkgPCA2OyArK2lpKSB7CisgICAg
ICAgICAgICAgICAgdmFyIGxpbmVhciA9IGZhbHNlOworICAgICAgICAgICAgICAgIGlmIChtYWdG
W2trXSA9PSBnbC5MSU5FQVIgfHwgKG1pbkZbaWldICE9IGdsLk5FQVJFU1QgJiYgbWluRltpaV0g
IT0gZ2wuTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCkpCisgICAgICAgICAgICAgICAgICAgIGxpbmVh
ciA9IHRydWU7CisgICAgICAgICAgICAgICAgdmFyIGNvbG9yID0gKCFleHRlbnNpb25FbmFibGVk
ICYmIGxpbmVhcikgPyBbMCwgMCwgMCwgMjU1XSA6IFsyNTUsIDI1NSwgMjU1LCAyNTVdOworICAg
ICAgICAgICAgICAgIHJ1bkVhY2hUZXN0KGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG1hZ0Zba2tdLCBt
aW5GW2lpXSwgbGluZWFyLCBleHRlbnNpb25FbmFibGVkLCBjb2xvcik7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5FYWNoVGVzdCh0ZXh0dXJlVGFy
Z2V0LCBtYWdGaWx0ZXIsIG1pbkZpbHRlciwgbGluZWFyLCBleHRlbnNpb25FbmFibGVkLCBleHBl
Y3RlZCkKKyAgICB7CisgICAgICAgIHZhciBmb3JtYXQgPSBnbC5SR0JBOworICAgICAgICB2YXIg
bnVtYmVyT2ZDaGFubmVscyA9IDQ7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWco
InRlc3RpbmcgdGFyZ2V0OiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLHRleHR1cmVUYXJnZXQp
ICsKKyAgICAgICAgICAgICIsIHRlc3RpbmcgZm9ybWF0OiAiICsgd3R1LmdsRW51bVRvU3RyaW5n
KGdsLCBmb3JtYXQpICsKKyAgICAgICAgICAgICIsIG1hZ0ZpbHRlciBpczogIiArIHd0dS5nbEVu
dW1Ub1N0cmluZyhnbCwgbWFnRmlsdGVyKSArCisgICAgICAgICAgICAiLCBtaW5GaWx0ZXIgaXM6
ICIgKyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIG1pbkZpbHRlcikgKworICAgICAgICAgICAgIiwg
IiArIGV4dGVuc2lvbk5hbWUgKyAiIGlzICIgKyAgKGV4dGVuc2lvbkVuYWJsZWQgPyAiZW5hYmxl
ZCI6ICJub3QgZW5hYmxlZCIpCisgICAgICAgICAgICApOworCisgICAgICAgIC8vIEdlbmVyYXRl
IGRhdGEuCisgICAgICAgIHZhciB3aWR0aCA9IDQ7CisgICAgICAgIHZhciBoZWlnaHQgPSA0Owor
ICAgICAgICB2YXIgY2FudmFzMmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsK
KyAgICAgICAgY2FudmFzMmQud2lkdGggPSB3aWR0aDsKKyAgICAgICAgY2FudmFzMmQuaGVpZ2h0
ID0gaGVpZ2h0OworICAgICAgICB2YXIgY3R4MmQgPSBjYW52YXMyZC5nZXRDb250ZXh0KCcyZCcp
OworICAgICAgICB2YXIgY29sb3IgPSBbNjQsIDEyOCwgMTI4LCAyNTVdOworICAgICAgICBjdHgy
ZC5maWxsU3R5bGUgPSAicmdiYSgiICsgY29sb3JbMF0gKyAiLCIgKyBjb2xvclsxXSArICIsIiAr
IGNvbG9yWzJdICsgIiwiICsgY29sb3JbM10gKyAiKSI7CisgICAgICAgIGN0eDJkLmZpbGxSZWN0
KDAsIDAsIHdpZHRoLCBoZWlnaHQpOworCisgICAgICAgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRl
VGV4dHVyZSgpOworICAgICAgICBnbC5iaW5kVGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJl
KTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBnbC5URVhUVVJFX01B
R19GSUxURVIsIG1hZ0ZpbHRlcik7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRh
cmdldCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBtaW5GaWx0ZXIpOworICAgICAgICBnbC50ZXhQ
YXJhbWV0ZXJpKHRleHR1cmVUYXJnZXQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19F
REdFKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBnbC5URVhUVVJF
X1dSQVBfVCwgZ2wuQ0xBTVBfVE9fRURHRSk7CisKKyAgICAgICAgaWYgKHRleHR1cmVUYXJnZXQg
PT0gZ2wuVEVYVFVSRV8yRCkgeworICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJF
XzJELCAwLCBmb3JtYXQsIGZvcm1hdCwgZ2xbcGl4ZWxUeXBlXSwgY2FudmFzMmQpOworICAgICAg
ICAgICAgaWYgKG1pbkZpbHRlciAhPSBnbC5ORUFSRVNUICYmIG1pbkZpbHRlciAhPSAgZ2wuTElO
RUFSKQorICAgICAgICAgICAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgICAg
ICAgIH0KKyAgICAgICAgZWxzZSBpZiAodGV4dHVyZVRhcmdldCA9PSBnbC5URVhUVVJFX0NVQkVf
TUFQKSB7CisgICAgICAgICAgICB2YXIgdGFyZ2V0cyA9IFsKKyAgICAgICAgICAgICAgICBnbC5U
RVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1gsCisgICAgICAgICAgICAgICAgZ2wuVEVYVFVSRV9D
VUJFX01BUF9ORUdBVElWRV9YLAorICAgICAgICAgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBf
UE9TSVRJVkVfWSwKKyAgICAgICAgICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZF
X1ksCisgICAgICAgICAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAg
ICAgICAgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWl07CisgICAgICAgICAg
ICAgICAgZm9yICh2YXIgdHQgPSAwOyB0dCA8IHRhcmdldHMubGVuZ3RoOyArK3R0KQorICAgICAg
ICAgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKHRhcmdldHNbdHRdLCAwLCBmb3JtYXQsIGZvcm1h
dCwgZ2xbcGl4ZWxUeXBlXSwgY2FudmFzMmQpOworICAgICAgICAgICAgICAgIGlmIChtaW5GaWx0
ZXIgIT0gZ2wuTkVBUkVTVCAmJiBtaW5GaWx0ZXIgIT0gIGdsLkxJTkVBUikKKyAgICAgICAgICAg
ICAgICAgICAgZ2wuZ2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV9DVUJFX01BUCk7CisgICAgICAg
IH0KKyAgICAgICAgd3R1LmRyYXdRdWFkKGdsKTsKKyAgICAgICAgaWYgKCFsaW5lYXIpIHsKKyAg
ICAgICAgICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCBleHRlbnNpb25U
eXBlTmFtZSArICIgdGV4dHVyZSB3aXRoIG5vbi1MaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVk
IHdpdGggTk9fRVJST1Igbm8gbWF0dGVyIHdoZXRoZXIgIiArIGV4dGVuc2lvbk5hbWUgKyAiIGlz
IGVuYWJsZWQgb3Igbm90Iik7CisgICAgICAgIH0gZWxzZSBpZiAoIWV4dGVuc2lvbkVuYWJsZWQp
IHsKKyAgICAgICAgICAgIHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCBleHRl
bnNpb25UeXBlTmFtZSArICIgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1
Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiAiICsgZXh0ZW5zaW9uTmFtZSArICIg
aXNuJ3QgZW5hYmxlZCIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgd3R1LmdsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsIGV4dGVuc2lvblR5cGVOYW1lICsgIiB0ZXh0dXJl
IHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmICIgKyBl
eHRlbnNpb25UeXBlTmFtZSArICIgaXMgZW5hYmxlZCIpOworICAgICAgICB9CisKKyAgICAgICAg
d3R1LmNoZWNrQ2FudmFzKGdsLCBleHBlY3RlZCwgInNob3VsZCBiZSAiICsgZXhwZWN0ZWRbMF0g
KyAiLCIgKyBleHBlY3RlZFsxXSAgKyAiLCIgKyAgZXhwZWN0ZWRbMl0gKyAiLCIgKyBleHBlY3Rl
ZFszXSk7CisgICAgfQorCisgICAgcmV0dXJuIGluaXQ7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218140</attachid>
            <date>2013-12-01 21:35:24 -0800</date>
            <delta_ts>2013-12-01 21:52:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124871-20131202163522.patch</filename>
            <type>text/plain</type>
            <size>43165</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ2YjllNDRiYTU3ZTFh
MDI5NTY3YzMwYzYyODM5MjdmNGQ3ZmMxYi4uZmQ5MzE3M2JkZjE5ZjJmYTZiODkzOWQ3YWVlMTQw
ZWIxYzBmOTY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTEyLTAxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEltcGxlbWVudCBP
RVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4
dGVuc2lvbi4gR2VuZXJhbGx5CisgICAgICAgIHdlJ2QgYWxzbyBlbmFibGUgT0VTX3RleHR1cmVf
aGFsZl9mbG9hdF9saW5lYXIgYXQgdGhlIHNhbWUKKyAgICAgICAgdGltZSwgYnV0IHRoYXQncyBi
bG9ja2VkIG9uIHdlYmtpdC5vcmcvYi8xMTA5MzYuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52
YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwKKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6IEdlbmVyYXRlIG5ldyBmaWxlIGZyb20gSURMLgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTmV3IGZpbGVzIGZvciBPRVNUZXh0dXJl
RmxvYXRMaW5lYXIuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKTogTWFwIHRoZSBuZXcgbmFt
ZSBpbnRvIHRoZSBhcHByb3ByaWF0ZSB0eXBlLgorCisgICAgICAgICogaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcDogQWRkZWQuIFRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBjbGFz
cworICAgICAgICB0aGF0J3MgbW9zdGx5IGVtcHR5LgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4
dHVyZUZsb2F0TGluZWFyOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXIpOgorICAgICAgICAoV2ViQ29y
ZTo6T0VTVGV4dHVyZUZsb2F0TGluZWFyOjp+T0VTVGV4dHVyZUZsb2F0TGluZWFyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVGbG9hdExpbmVhcjo6Z2V0TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGw6IEFkZGVkLgorCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xFeHRlbnNpb24uaDogRGVjbGFyZSB0aGUgbmV3IG5hbWUgaW4gdGhlIGVudW0g
b2YgZXh0ZW5zaW9ucy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdB
cnJheXMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpkcmF3RWxlbWVudHMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOiBDcmVhdGUgdGhlIG5ldyBleHRl
bnNpb24gaWYgYXNrZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyk6IFJlbmFtZWQgZnJvbSBoYW5kbGVOUE9UVGV4dHVy
ZXMuIE5vdworICAgICAgICBjaGVja3MgZm9yIHRoZSB0eXBlIG9mIHRoZSB0ZXh0dXJlIHRvby4K
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDogTWVtYmVyIHZh
cmlhYmxlIGZvciBuZXcgZXh0ZW5zaW9uLgorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xU
ZXh0dXJlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6V2ViR0xUZXh0dXJl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxhY2tUZXh0dXJl
KTogVGFrZXMgYW4gZXh0cmEgcGFyYW1ldGVyIHdoaWNoIGluZGljYXRlcworICAgICAgICBpZiBp
dCBoYXMgYW4gZXh0ZW5zaW9uIGVuYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFRleHR1
cmU6OnVwZGF0ZSk6IE5vdGUgaXQgaXMgYSBmbG9hdCB0eXBlIHdoZW4gdXBkYXRpbmcuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IE5ldyBmbGFnIHRvIGluZGljYXRlIGZs
b2F0IHR5cGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaDog
TmV3IGZsYWcgdHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5z
aW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6
c3VwcG9ydHNFeHRlbnNpb24pOiBBZGQgYSBjb21tZW50IGFib3V0IHRoZSBleHRlbnNpb24uCisK
IDIwMTMtMTEtMjUgIFNlcmdpbyBDb3JyZWlhICA8c2VyZ2lvLmNvcnJlaWFAb3BlbmJvc3NhLm9y
Zz4KIAogICAgICAgICBbTWVkaWFTdHJlYW1dIFVzZSBzdGQ6OnVuaXF1ZV9wdHIgaW5zdGVhZCBv
ZiBPd25QdHIvUGFzc093blB0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNmVi
ODRhNGE1YmQ4MGEyZDA4MDA2NTczNzE2MDBhNDJkMzYyODQ3Yi4uNTcyMDg2ZTZkYzdiOTdjMDY0
YjhmZjM3ZDMyMDBhNTA1ZTBjZTY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC00MTYsNiArNDE2LDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlRmxvYXRMaW5lYXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1ZlcnRl
eEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2
ZUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA1OTQzMjdhYzA4MWJhZTYxODAxYjc5YzkwOGQ5MzQ1YjZjMjkzNDk3
Li40ZTVmZWU3M2I0ZTI0MzUwMWMyMGYxMTViYjU2ZmEwMzdmMDE2ZGZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDU5LDYg
KzEwNTksMTAgQEAKIAkJMzEzMTNGNjUxNDQzQjM1RjAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJl
bmRlcmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxMzEzRjYzMTQ0M0IzNUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgKi87
IH07CiAJCTMxMzEzRjY2MTQ0M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTNGNjQx
NDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi87IH07CiAJCTMxMzhB
OUU1MTQ3NDQzNDYwMEIwRUQxMiAvKiBTdHlsZVNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzOEE5RTQxNDc0NDM0NjAwQjBFRDEyIC8qIFN0
eWxlU2hhZGVyLmggKi87IH07CisJCTMxNDZGRTZFMTg0NDIwQTgwMDFBOTM3QyAvKiBPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aCAqLzsgfTsKKwkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExp
bmVhci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MTQ2RkU2NTE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsg
fTsKKwkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZG
RTcwMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07
CisJCTMxNDZGRTc1MTg0NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzEx
ODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CiAJCTMx
NjAyM0YwMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyog
RGljdGlvbmFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NjExRTU4MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAq
LzsgfTsKIAkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NjExRTU5MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87
IH07CkBAIC03NjkyLDYgKzc2OTYsMTEgQEAKIAkJMzEzMTNGNjMxNDQzQjM1RTAwNkUyQTkwIC8q
IEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzEzMTNGNjQxNDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMzhBOUU0MTQ3NDQzNDYwMEIwRUQxMiAv
KiBTdHlsZVNoYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZVNo
YWRlci5oOyBwYXRoID0gc3R5bGUvU3R5bGVTaGFkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzE0NkZFNjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVh
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlRmxv
YXRMaW5lYXIuY3BwOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBP
RVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
T0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGlu
ZWFyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY3MTg0NDIwODcwMDFB
OTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9
IE9FU1RleHR1cmVGbG9hdExpbmVhci5pZGw7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0
TGluZWFyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0NkZFNzAxODQ0MjM2
NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgcGF0aCA9
IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFy
Lmg7IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1ODBFMUM0REUw
MDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTExLDYgKzE0OTIwLDkgQEAKIAkJCQk2RUJG
MEU0NTEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJG
MEU0NjEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmggKi8sCiAJCQkJNkVCRjBF
NDcxMkE4OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9hdC5pZGwgKi8sCisJCQkJMzE0NkZF
NjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi8sCisJCQkJ
MzE0NkZFNjYxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAor
CQkJCTMxNDZGRTY3MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRs
ICovLAogCQkJCUEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0
LmNwcCAqLywKIAkJCQlBMzFDNEU0RTE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdC5oICovLAogCQkJCUEzMUM0RTUwMTZFMDJBQzUwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFs
ZkZsb2F0LmlkbCAqLywKQEAgLTE3NjM5LDYgKzE3NjUxLDggQEAKIAkJCQk5MDAxNzg3RjEyRTAz
NzA3MDA2NDg0NjIgLyogSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggKi8sCiAJCQkJNkVCRjBF
NzQxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJG
MEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLywKKwkJCQkzMTQ2
RkU3MDE4NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwICovLAor
CQkJCTMxNDZGRTcxMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5o
ICovLAogCQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxv
YXQuY3BwICovLAogCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVI
YWxmRmxvYXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNWZXJ0
ZXhBcnJheU9iamVjdC5jcHAgKi8sCkBAIC0yMzM4Miw2ICsyMzM5Niw3IEBACiAJCQkJNTlBODYw
MDgxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNFNDM4OUMxNDBCMUJBODAwNUU0MzdFIC8qIEpTRGljdGlvbmFyeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTRBRTdDMUExN0QyMzIzNTAwMDlGQjMxIC8qIEVsZW1lbnRBbmNl
c3Rvckl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTQ2RkU3NTE4NDQyMzcwMDAxQTkz
N0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OURE
QzgzMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTQ5NEVERjBBMTIzRjRDMDBGREFGQzEgLyogSlNEb2N1bWVudEZyYWdtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2NURGMzFGNjA5RDFDQzYwMDAwQkUzMjUgLyogSlNEb2N1bWVudFR5cGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjM2NDMsNiArMjM2NTgsNyBAQAogCQkJCUIyRkEzRDM5MEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
RkEzRDNCMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQm9vbGVhbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGQTNEM0QwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzE0NkZFNkUxODQ0MjBBODAwMUE5MzdDIC8q
IE9FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEM0YwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMkZBM0Q0MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZExlbmd0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJGQTNENDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NzM3LDYgKzI1NzUzLDcgQEAKIAkJCQk5
MzMwOUREQzA5OUU2NDkyMDA1NkU1ODEgLyogQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNzlGMkY1QTExMDkxOTM5QTAwMEQ4N0NCIC8qIENvbXBvc2l0aW9uRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwOEUxMkIwMjZGNzAwQzFBMzU5IC8qIENv
bmUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9F
U1RleHR1cmVGbG9hdExpbmVhci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBCMzZBNDBDRDND
NjdDMDBBQzdFQjUgLyogQ29uc29sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjE4RjBG
NUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTgxODcyMUYwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yNjQyMSw2ICsyNjQzOCw3IEBACiAJCQkJQTg3MURDMjYwQTE1MjA1NzAwQjEyQTY4
IC8qIEhUTUxTdHlsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNENEU5NzIxMzBD
N0NGRTAwN0JBNTQwIC8qIEhUTUxTdW1tYXJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBODcxREIzMjBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4
dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYw
MEIxMkE2OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
ODcxREIyOTBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ29sRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBODcxREIyODBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA5MTUwZmUx
NDRhMTlkYWJhMDQ5NmRhZmMzMDU0MDExMDBiNjYzYmZhLi4wOWQ5ODI2YTliNzM5OTAxZDg2OTg1
MjY1ODJmN2ZhZGRjMGQ1MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiSlNPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiSlNP
RVNTdGFuZGFyZERlcml2YXRpdmVzLmgiCiAjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXQuaCIK
KyNpbmNsdWRlICJKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIkpTT0VTVGV4
dHVyZUhhbGZGbG9hdC5oIgogI2luY2x1ZGUgIkpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNp
bmNsdWRlICJKU1dlYkdMQnVmZmVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiT0VT
RWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIK
ICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRM
aW5lYXIuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VT
VmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgpAQCAtMjA3LDYg
KzIwOSw4IEBAIHN0YXRpYyBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBXZWJHTEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyo+KGV4
dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6
CiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VT
VGV4dHVyZUZsb2F0Kj4oZXh0ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VT
VGV4dHVyZUZsb2F0TGluZWFyTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXRMaW5lYXIqPihleHRlbnNpb24pKTsK
ICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKICAgICAg
ICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJl
SGFsZkZsb2F0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVy
dGV4QXJyYXlPYmplY3ROYW1lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2IwOTU4ODZhYjY1YWQ1ZWMx
YTU5MDU0NDEwNmYzZDQwOTY0NGFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKQEAgLTAsMCArMSw1NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXRUJHTCkKKwor
I2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdExpbmVhci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK09FU1RleHR1cmVGbG9hdExpbmVhcjo6T0VTVGV4dHVyZUZsb2F0TGluZWFyKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCkKKyAgICA6IFdlYkdMRXh0ZW5zaW9uKGNvbnRleHQpCit7
Cit9CisKK09FU1RleHR1cmVGbG9hdExpbmVhcjo6fk9FU1RleHR1cmVGbG9hdExpbmVhcigpCit7
Cit9CisKK1dlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIE9FU1RleHR1cmVGbG9hdExpbmVh
cjo6Z2V0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIE9FU1RleHR1cmVGbG9hdExpbmVhck5h
bWU7Cit9CisKK093blB0cjxPRVNUZXh0dXJlRmxvYXRMaW5lYXI+IE9FU1RleHR1cmVGbG9hdExp
bmVhcjo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1
cm4gYWRvcHRQdHIobmV3IE9FU1RleHR1cmVGbG9hdExpbmVhcihjb250ZXh0KSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGVmOGI4MGJhNGRlNGE2NDc1NTAzYjlmNzg5OWRlZTI2Mzk0YmU5NQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVh
ci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE9FU1RleHR1cmVGbG9h
dExpbmVhcl9oCisjZGVmaW5lIE9FU1RleHR1cmVGbG9hdExpbmVhcl9oCisKKyNpbmNsdWRlICJX
ZWJHTEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgT0VTVGV4dHVyZUZsb2F0TGluZWFyIDogcHVibGljIFdlYkdM
RXh0ZW5zaW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgT3duUHRyPE9FU1RleHR1cmVGbG9hdExp
bmVhcj4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVhbCB+T0VT
VGV4dHVyZUZsb2F0TGluZWFyKCk7CisgICAgdmlydHVhbCBFeHRlbnNpb25OYW1lIGdldE5hbWUo
KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBPRVNUZXh0dXJlRmxvYXRMaW5lYXIoV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Kik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBPRVNUZXh0dXJlRmxvYXRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L09FU1RleHR1cmVGbG9hdExpbmVhci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlNGIwNjM0NzEwOWU1MDdj
MjliMGEzY2I3ZTU3MjU2YmM1NGRlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGwKQEAgLTAsMCArMSwzMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBOb0ludGVyZmFjZU9iamVjdCwKKyAgICBDb25kaXRpb25hbD1X
RUJHTCwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJHTFJlbmRlcmluZ0NvbnRleHQs
CitdIGludGVyZmFjZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXIgeworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCmluZGV4IGYwNWUzOWU5ODc2Mzk5NDExMGVj
Yjg5ZDljYjhkNzBhZWYxODFhZDIuLjc0ZTlkYThmNmUzZDUyMjFiZGNiZjUxZGJkNTlmM2I1Y2Nm
N2IwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaApA
QCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgICAgIEVYVERyYXdCdWZmZXJzTmFtZSwKICAg
ICAgICAgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljTmFtZSwKICAgICAgICAgT0VTVGV4dHVy
ZUZsb2F0TmFtZSwKKyAgICAgICAgT0VTVGV4dHVyZUZsb2F0TGluZWFyTmFtZSwKICAgICAgICAg
T0VTVGV4dHVyZUhhbGZGbG9hdE5hbWUsCiAgICAgICAgIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNO
YW1lLAogICAgICAgICBPRVNWZXJ0ZXhBcnJheU9iamVjdE5hbWUsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA3NDQy
YTU0NWJjZTQ3OWMxNDQxYTM4ZGY0OGFhYjI1ODJlY2Y4ZjE3Li5kMmIzNDJiZjMyY2UzZDA1YjU3
YzIyYWQyY2NjNWFkNzNiNGFkMjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNs
dWRlICJPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiT0VTU3RhbmRhcmREZXJpdmF0
aXZlcy5oIgogI2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIk9FU1RleHR1
cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIk9FU1RleHR1cmVIYWxmRmxvYXQuaCIKICNpbmNs
dWRlICJPRVNWZXJ0ZXhBcnJheU9iamVjdC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTE5ODYs
MTIgKzE5ODcsMTIgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdBcnJheXMoR0Mz
RGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGMKICAgICBpZiAoIWlzR0xFUzJD
b21wbGlhbnQoKSkKICAgICAgICAgdmVydGV4QXR0cmliMFNpbXVsYXRlZCA9IHNpbXVsYXRlVmVy
dGV4QXR0cmliMChmaXJzdCArIGNvdW50IC0gMSk7CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmlj
dCgpKQotICAgICAgICBoYW5kbGVOUE9UVGV4dHVyZXMoImRyYXdBcnJheXMiLCB0cnVlKTsKKyAg
ICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3QXJyYXlzIiwgdHJ1ZSk7CiAgICAg
bV9jb250ZXh0LT5kcmF3QXJyYXlzKG1vZGUsIGZpcnN0LCBjb3VudCk7CiAgICAgaWYgKCFpc0dM
RVMyQ29tcGxpYW50KCkgJiYgdmVydGV4QXR0cmliMFNpbXVsYXRlZCkKICAgICAgICAgcmVzdG9y
ZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKTsKICAgICBpZiAoIWlzR0xFUzJO
UE9UU3RyaWN0KCkpCi0gICAgICAgIGhhbmRsZU5QT1RUZXh0dXJlcygiZHJhd0FycmF5cyIsIGZh
bHNlKTsKKyAgICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3QXJyYXlzIiwgZmFs
c2UpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbCh0cnVlKTsKIH0KIApAQCAtMjA3MCwx
MiArMjA3MSwxMiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1lbnRzKEdD
M0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudQogICAgICAgICB2ZXJ0ZXhBdHRy
aWIwU2ltdWxhdGVkID0gc2ltdWxhdGVWZXJ0ZXhBdHRyaWIwKG51bUVsZW1lbnRzKTsKICAgICB9
CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQotICAgICAgICBoYW5kbGVOUE9UVGV4dHVy
ZXMoImRyYXdFbGVtZW50cyIsIHRydWUpOworICAgICAgICBjaGVja1RleHR1cmVDb21wbGV0ZW5l
c3MoImRyYXdFbGVtZW50cyIsIHRydWUpOwogICAgIG1fY29udGV4dC0+ZHJhd0VsZW1lbnRzKG1v
ZGUsIGNvdW50LCB0eXBlLCBzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpKTsKICAgICBp
ZiAoIWlzR0xFUzJDb21wbGlhbnQoKSAmJiB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkKQogICAgICAg
ICByZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpOwogICAgIGlmICgh
aXNHTEVTMk5QT1RTdHJpY3QoKSkKLSAgICAgICAgaGFuZGxlTlBPVFRleHR1cmVzKCJkcmF3RWxl
bWVudHMiLCBmYWxzZSk7CisgICAgICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0Vs
ZW1lbnRzIiwgZmFsc2UpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbCh0cnVlKTsKIH0K
IApAQCAtMjM5MSw2ICsyMzkyLDE0IEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIG1fb2VzVGV4dHVyZUZsb2F0LmdldCgpOwogICAgIH0KKyAgICBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpCisgICAgICAgICYm
IG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfZmxv
YXRfbGluZWFyIikpIHsKKyAgICAgICAgaWYgKCFtX29lc1RleHR1cmVGbG9hdExpbmVhcikgewor
ICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCktPmVuc3VyZUVuYWJsZWQoIkdM
X09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpOworICAgICAgICAgICAgbV9vZXNUZXh0dXJlRmxv
YXRMaW5lYXIgPSBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXIuZ2V0KCk7CisgICAgfQog
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIp
CiAgICAgICAgICYmIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCIpKSB7CiAgICAgICAgIGlmICghbV9vZXNUZXh0dXJlSGFsZkZs
b2F0KSB7CkBAIC00ODQ0LDEyICs0ODUzLDE0IEBAIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldFdlYkdMSW50QXJyYXlQYXJhbWV0ZXIoR0MzRGVudW0gcG5hbWUpCiAgICAg
cmV0dXJuIFdlYkdMR2V0SW5mbyhJbnQzMkFycmF5OjpjcmVhdGUodmFsdWUsIGxlbmd0aCkpOwog
fQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVzKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSwgYm9vbCBwcmVwYXJlVG9EcmF3KQordm9pZCBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyhjb25zdCBjaGFyKiBmdW5jdGlv
bk5hbWUsIGJvb2wgcHJlcGFyZVRvRHJhdykKIHsKICAgICBib29sIHJlc2V0QWN0aXZlVW5pdCA9
IGZhbHNlOworICAgIFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsYWcgZXh0ZW5zaW9u
cyA9IHN0YXRpY19jYXN0PFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsYWc+KG1fb2Vz
VGV4dHVyZUZsb2F0TGluZWFyID8gV2ViR0xUZXh0dXJlOjpUZXh0dXJlRXh0ZW5zaW9uRmxvYXRM
aW5lYXJFbmFibGVkIDogMCk7CisKICAgICBmb3IgKHVuc2lnbmVkIGlpID0gMDsgaWkgPCBtX3Rl
eHR1cmVVbml0cy5zaXplKCk7ICsraWkpIHsKLSAgICAgICAgaWYgKChtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGlu
Zy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpCi0gICAgICAgICAgICB8fCAobV90ZXh0dXJlVW5p
dHNbaWldLnRleHR1cmVDdWJlTWFwQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVy
ZUN1YmVNYXBCaW5kaW5nLT5uZWVkVG9Vc2VCbGFja1RleHR1cmUoKSkpIHsKKyAgICAgICAgaWYg
KChtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZTJEQmluZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKGV4dGVuc2lvbnMpKQor
ICAgICAgICAgICAgfHwgKG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcg
JiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFwQmluZGluZy0+bmVlZFRvVXNlQmxh
Y2tUZXh0dXJlKGV4dGVuc2lvbnMpKSkgewogICAgICAgICAgICAgaWYgKGlpICE9IG1fYWN0aXZl
VGV4dHVyZVVuaXQpIHsKICAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmFjdGl2ZVRleHR1cmUo
aWkpOwogICAgICAgICAgICAgICAgIHJlc2V0QWN0aXZlVW5pdCA9IHRydWU7CkBAIC00ODYxLDcg
KzQ4NzIsOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVz
KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgYm9vbCBwcgogICAgICAgICAgICAgV2ViR0xUZXh0
dXJlKiB0ZXhDdWJlTWFwOwogICAgICAgICAgICAgaWYgKHByZXBhcmVUb0RyYXcpIHsKICAgICAg
ICAgICAgICAgICBTdHJpbmcgbXNnKFN0cmluZygidGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVu
aXQgIikgKyBTdHJpbmc6Om51bWJlcihpaSkKLSAgICAgICAgICAgICAgICAgICAgKyAiIGlzIG5v
dCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGli
bGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJyIpOworICAg
ICAgICAgICAgICAgICAgICArICIgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dl
ci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3Qg
J3RleHR1cmUgY29tcGxldGUnLCIKKyAgICAgICAgICAgICAgICAgICAgKyAiIG9yIGl0IGlzIGEg
RmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50
IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4iKTsKICAgICAgICAgICAgICAgICBwcmlu
dEdMV2FybmluZ1RvQ29uc29sZShmdW5jdGlvbk5hbWUsIG1zZy51dGY4KCkuZGF0YSgpKTsKICAg
ICAgICAgICAgICAgICB0ZXgyRCA9IG1fYmxhY2tUZXh0dXJlMkQuZ2V0KCk7CiAgICAgICAgICAg
ICAgICAgdGV4Q3ViZU1hcCA9IG1fYmxhY2tUZXh0dXJlQ3ViZU1hcC5nZXQoKTsKQEAgLTQ4Njks
OSArNDg4MSw5IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpoYW5kbGVOUE9UVGV4dHVy
ZXMoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBib29sIHByCiAgICAgICAgICAgICAgICAgdGV4
MkQgPSBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGluZy5nZXQoKTsKICAgICAgICAg
ICAgICAgICB0ZXhDdWJlTWFwID0gbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFwQmlu
ZGluZy5nZXQoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChtX3RleHR1cmVVbml0
c1tpaV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmlu
ZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpCisgICAgICAgICAgICBpZiAobV90ZXh0dXJl
VW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUy
REJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKICAgICAgICAgICAg
ICAgICBtX2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJE
LCBvYmplY3RPclplcm8odGV4MkQpKTsKLSAgICAgICAgICAgIGlmIChtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3Vi
ZU1hcEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZSgpKQorICAgICAgICAgICAgaWYgKG1f
dGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNb
aWldLnRleHR1cmVDdWJlTWFwQmluZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKGV4dGVuc2lv
bnMpKQogICAgICAgICAgICAgICAgIG1fY29udGV4dC0+YmluZFRleHR1cmUoR3JhcGhpY3NDb250
ZXh0M0Q6OlRFWFRVUkVfQ1VCRV9NQVAsIG9iamVjdE9yWmVybyh0ZXhDdWJlTWFwKSk7CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5oCmluZGV4IDRmODhiNDRlMGU1NDQwYzkxYmJjMjFjNGRjZTk1MjQwMTRj
ZWI0N2EuLjM0YjZkMGVjNTRkMjgzMzRiZWYzNTQ1MDMxNjJlYzI5MjI2MmEzN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCkBA
IC01MCw2ICs1MCw3IEBAIGNsYXNzIEltYWdlRGF0YTsKIGNsYXNzIEludFNpemU7CiBjbGFzcyBP
RVNTdGFuZGFyZERlcml2YXRpdmVzOwogY2xhc3MgT0VTVGV4dHVyZUZsb2F0OworY2xhc3MgT0VT
VGV4dHVyZUZsb2F0TGluZWFyOwogY2xhc3MgT0VTVGV4dHVyZUhhbGZGbG9hdDsKIGNsYXNzIE9F
U1ZlcnRleEFycmF5T2JqZWN0OwogY2xhc3MgT0VTRWxlbWVudEluZGV4VWludDsKQEAgLTUyNSw2
ICs1MjYsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxFWFREcmF3QnVmZmVycz4gbV9leHREcmF3
QnVmZmVyczsKICAgICBPd25QdHI8RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljPiBtX2V4dFRl
eHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYzsKICAgICBPd25QdHI8T0VTVGV4dHVyZUZsb2F0PiBtX29l
c1RleHR1cmVGbG9hdDsKKyAgICBPd25QdHI8T0VTVGV4dHVyZUZsb2F0TGluZWFyPiBtX29lc1Rl
eHR1cmVGbG9hdExpbmVhcjsKICAgICBPd25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gbV9vZXNU
ZXh0dXJlSGFsZkZsb2F0OwogICAgIE93blB0cjxPRVNTdGFuZGFyZERlcml2YXRpdmVzPiBtX29l
c1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiAgICAgT3duUHRyPE9FU1ZlcnRleEFycmF5T2JqZWN0PiBt
X29lc1ZlcnRleEFycmF5T2JqZWN0OwpAQCAtNTU5LDcgKzU2MSw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCB0ZXhTdWJJbWFnZTJEQmFzZShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXpl
aSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qgdm9pZCogcGl4
ZWxzLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTJESW1wbChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEltYWdlKiwgR3JhcGhpY3NDb250ZXh0
M0Q6OkltYWdlSHRtbERvbVNvdXJjZSwgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFscGhh
LCBFeGNlcHRpb25Db2RlJik7CiAKLSAgICB2b2lkIGhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBj
aGFyKiwgYm9vbCk7CisgICAgdm9pZCBjaGVja1RleHR1cmVDb21wbGV0ZW5lc3MoY29uc3QgY2hh
ciosIGJvb2wpOwogCiAgICAgdm9pZCBjcmVhdGVGYWxsYmFja0JsYWNrVGV4dHVyZXMxeDEoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAKaW5kZXggYzNj
Yzc5MDAxNTU3NTE5ZWMxNGM5MjE2NjMxYzBlMTk1MWUwMzdkNi4uZjEwZjVkZjA1YWUxNTQ0NTcw
OWQ3OGQyMjFkOGVjYTc0NDBkZGYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xUZXh0dXJlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFRleHR1cmUuY3BwCkBAIC01MSw2ICs1MSw3IEBAIFdlYkdMVGV4dHVyZTo6V2ViR0xUZXh0
dXJlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY3R4KQogICAgICwgbV9pc0NvbXBsZXRlKGZhbHNl
KQogICAgICwgbV9uZWVkVG9Vc2VCbGFja1RleHR1cmUoZmFsc2UpCiAgICAgLCBtX2lzQ29tcHJl
c3NlZChmYWxzZSkKKyAgICAsIG1faXNGbG9hdFR5cGUoZmFsc2UpCiB7CiAgICAgc2V0T2JqZWN0
KGN0eC0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3JlYXRlVGV4dHVyZSgpKTsKIH0KQEAgLTIzMywx
MSArMjM0LDE3IEBAIGJvb2wgV2ViR0xUZXh0dXJlOjppc05QT1QoKSBjb25zdAogICAgIHJldHVy
biBtX2lzTlBPVDsKIH0KIAotYm9vbCBXZWJHTFRleHR1cmU6Om5lZWRUb1VzZUJsYWNrVGV4dHVy
ZSgpIGNvbnN0Citib29sIFdlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxhY2tUZXh0dXJlKFRleHR1
cmVFeHRlbnNpb25GbGFnIGV4dGVuc2lvbnMpIGNvbnN0CiB7CiAgICAgaWYgKCFvYmplY3QoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX25lZWRUb1VzZUJsYWNrVGV4dHVy
ZTsKKyAgICBpZiAobV9uZWVkVG9Vc2VCbGFja1RleHR1cmUpCisgICAgICAgIHJldHVybiB0cnVl
OworICAgIGlmIChtX2lzRmxvYXRUeXBlICYmICEoZXh0ZW5zaW9ucyAmIFRleHR1cmVFeHRlbnNp
b25GbG9hdExpbmVhckVuYWJsZWQpKSB7CisgICAgICAgIGlmIChtX21hZ0ZpbHRlciAhPSBHcmFw
aGljc0NvbnRleHQzRDo6TkVBUkVTVCB8fCAobV9taW5GaWx0ZXIgIT0gR3JhcGhpY3NDb250ZXh0
M0Q6Ok5FQVJFU1QgJiYgbV9taW5GaWx0ZXIgIT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1Rf
TUlQTUFQX05FQVJFU1QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJl
dHVybiBmYWxzZTsKIH0KIAogYm9vbCBXZWJHTFRleHR1cmU6OmlzQ29tcHJlc3NlZCgpIGNvbnN0
CkBAIC0zNTcsNiArMzY0LDE4IEBAIHZvaWQgV2ViR0xUZXh0dXJlOjp1cGRhdGUoKQogICAgICAg
ICB9CiAgICAgfQogCisgICAgbV9pc0Zsb2F0VHlwZSA9IGZhbHNlOworICAgIGlmIChtX2lzQ29t
cGxldGUpCisgICAgICAgIG1faXNGbG9hdFR5cGUgPSBtX2luZm9bMF1bMF0udHlwZSA9PSBHcmFw
aGljc0NvbnRleHQzRDo6RkxPQVQ7CisgICAgZWxzZSB7CisgICAgICAgIGZvciAoc2l6ZV90IGlp
ID0gMDsgaWkgPCBtX2luZm8uc2l6ZSgpOyArK2lpKSB7CisgICAgICAgICAgICBpZiAobV9pbmZv
W2lpXVswXS50eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVCkgeworICAgICAgICAgICAg
ICAgIG1faXNGbG9hdFR5cGUgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfQorCiAgICAgbV9uZWVkVG9Vc2VCbGFja1RleHR1cmUg
PSBmYWxzZTsKICAgICAvLyBOUE9UCiAgICAgaWYgKG1faXNOUE9UICYmICgobV9taW5GaWx0ZXIg
IT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1QgJiYgbV9taW5GaWx0ZXIgIT0gR3JhcGhpY3ND
b250ZXh0M0Q6OkxJTkVBUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVGV4dHVyZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJl
LmgKaW5kZXggMmRmNTRlNjhkMzdkMTVlZGE2ZmRjZTMxM2YwOWQyMmQ4ZWYxNDVmMC4uODgzNjBi
ZTA2MGRhMTc5ZGYyZjIwNDc3MTNlNjFiYmZhNzZmMThjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xUZXh0dXJlLmgKQEAgLTM1LDYgKzM1LDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgV2ViR0xUZXh0dXJlIDogcHVibGljIFdlYkdMU2hhcmVkT2JqZWN0IHsK
IHB1YmxpYzoKKworICAgIGVudW0gVGV4dHVyZUV4dGVuc2lvbkZsYWcgeworICAgICAgICBUZXh0
dXJlRXh0ZW5zaW9uc0Rpc2FibGVkID0gMCwKKyAgICAgICAgVGV4dHVyZUV4dGVuc2lvbkZsb2F0
TGluZWFyRW5hYmxlZCA9IDEgPDwgMAorICAgIH07CisKICAgICB2aXJ0dWFsIH5XZWJHTFRleHR1
cmUoKTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkdMVGV4dHVyZT4gY3JlYXRlKFdlYkdM
UmVuZGVyaW5nQ29udGV4dCopOwpAQCAtNjQsNyArNzAsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGlzTlBPVCgpIGNvbnN0OwogICAgIC8vIERldGVybWluZSBpZiB0ZXh0dXJlIHNhbXBsaW5nIHNo
b3VsZCBhbHdheXMgcmV0dXJuIFswLCAwLCAwLCAxXSAoT3BlbkdMIEVTIDIuMCBTZWMgMy44LjIp
LgotICAgIGJvb2wgbmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkgY29uc3Q7CisgICAgYm9vbCBuZWVk
VG9Vc2VCbGFja1RleHR1cmUoVGV4dHVyZUV4dGVuc2lvbkZsYWcpIGNvbnN0OwogCiAgICAgYm9v
bCBpc0NvbXByZXNzZWQoKSBjb25zdDsKICAgICB2b2lkIHNldENvbXByZXNzZWQoKTsKQEAgLTEy
Nyw2ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0NvbXBsZXRlOwogICAgIGJvb2wg
bV9uZWVkVG9Vc2VCbGFja1RleHR1cmU7CiAgICAgYm9vbCBtX2lzQ29tcHJlc3NlZDsKKyAgICBi
b29sIG1faXNGbG9hdFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCmluZGV4IDNiZWQ0
NmZkMmY2NDM0ZTVkNmExMThlYmNlZGQwNmFlMGQ2YmQ5YzAuLjU4ZjY5ODY4NWE4YzA0MjkyZjNl
ZGViMmVlMzI1MjY2Nzc1YzIyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0V4dGVuc2lvbnMzRC5oCkBAIC01Myw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICAvLyAg
IEdMX0VYVF9wYWNrZWRfZGVwdGhfc3RlbmNpbCAvIEdMX09FU19wYWNrZWRfZGVwdGhfc3RlbmNp
bAogICAgIC8vICAgR0xfQU5HTEVfZnJhbWVidWZmZXJfYmxpdCAvIEdMX0FOR0xFX2ZyYW1lYnVm
ZmVyX211bHRpc2FtcGxlCiAgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9mbG9hdAorICAgIC8vICAg
R0xfT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyCiAgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9oYWxm
X2Zsb2F0CiAgICAgLy8gICBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMKICAgICAvLyAgIEdM
X09FU19yZ2I4X3JnYmE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCmluZGV4IDM4NDc4YmI5
MDQwZTA3YjNmMTA5NTEyMTU2MWE4NGM4MmM3ZWQ4ZWIuLmZhMjc5MGQzYWY5NTBjZmY0ZGNiNTZj
NWZjZDNiNDg2NmMyYzNjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCkBAIC0xNTMs
OSArMTUzLDkgQEAgYm9vbCBFeHRlbnNpb25zM0RPcGVuR0w6OnN1cHBvcnRzRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgbmFtZSkKICAgICBpZiAobmFtZSA9PSAiR0xfT0VTX3JnYjhfcmdiYTgiKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIEdMX0FSQl90ZXh0dXJlX2Zsb2F0IGlz
IGF2YWlsYWJsZSB0aGVuIHdlIHJlcG9ydCBHTF9PRVNfdGV4dHVyZV9mbG9hdCBhbmQKLSAgICAv
LyBHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGFzIGF2YWlsYWJsZS4KLSAgICBpZiAobmFtZSA9
PSAiR0xfT0VTX3RleHR1cmVfZmxvYXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJlX2hhbGZf
ZmxvYXQiKQorICAgIC8vIElmIEdMX0FSQl90ZXh0dXJlX2Zsb2F0IGlzIGF2YWlsYWJsZSB0aGVu
IHdlIHJlcG9ydCBHTF9PRVNfdGV4dHVyZV9mbG9hdCwKKyAgICAvLyBHTF9PRVNfdGV4dHVyZV9o
YWxmX2Zsb2F0IGFuZCBHTF9PRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgYXMgYXZhaWxhYmxlLgor
ICAgIGlmIChuYW1lID09ICJHTF9PRVNfdGV4dHVyZV9mbG9hdCIgfHwgbmFtZSA9PSAiR0xfT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCIgfHwgbmFtZSA9PSAiR0xfT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIikKICAgICAgICAgcmV0dXJuIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5jb250YWlucygiR0xf
QVJCX3RleHR1cmVfZmxvYXQiKTsKIAogICAgIC8vIEdMX09FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMjQyMjRmODUyZjU0ZjljZGEyZWYzYThmMjk4ZDM3Yzc3YmE3YjU1Yi4uOTZkNTNi
N2NjZWU2YmQzNjZlZWE1NWUxMjk2M2M2NWNmODc1ZmY0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDEzLTEyLTAxICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBb
V2ViR0xdIEltcGxlbWVudCBPRVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0aGUgS2hyb25vcyB0ZXN0IGZp
bGVzIGZvciB0aGlzIGV4dGVuc2lvbi4KKworICAgICAgICBBZGQgdGhlIEpTIHRlc3QgZmlsZSBm
b3IgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGFuZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xp
bmVhcgorICAgICAgICBldmVuIHRob3VnaCBpdCdzIG9ubHkgdXNlZCBmb3IgdGhlIGZvcm1lciBh
dCB0aGUgbW9tZW50LgorCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUt
ZmxvYXQtbGluZWFyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3Jl
c291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIuanM6IEFkZGVk
LgorCiAyMDEzLTExLTI1ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW5kZXJUYWJsZVNlY3Rpb24gQmxpbmsgbWVyZ2UgYXNzZXJ0aW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1mbG9hdC1saW5lYXIuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWZsb2F0LWxpbmVh
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ4ZmY4ZmZlODdhOGJkNzk0NTFkNzNkM2YwYjg4ZTI2MTQ3YTEz
MDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMt
dGV4dHVyZS1mbG9hdC1saW5lYXIuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IS0tCisKKy8qCisq
KiBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEtocm9ub3MgR3JvdXAgSW5jLgorKioKKyoqIFBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kL29yIGFzc29jaWF0ZWQgZG9j
dW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJpYWxzIiksIHRvIGRlYWwgaW4gdGhlIE1h
dGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyoqIHdpdGhvdXQgbGltaXRh
dGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoq
IGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJp
YWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIE1hdGVyaWFscyBhcmUg
ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisqKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoqCisqKiBUSEUgTUFURVJJQUxTIEFSRSBQ
Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKiogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBP
UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWQorKiogQ0xBSU0sIERBTUFHRVMg
T1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyoq
IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O
IFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU
SEUgTUFURVJJQUxTLgorKi8KKworLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJn
bC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC11
dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL29lcy10ZXh0dXJlLWZs
b2F0LWFuZC1oYWxmLWZsb2F0LWxpbmVhci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsLCBleHRlbnNpb25UeXBlTmFtZSkgewor
ICAgIGlmICghZ2wuZ2V0RXh0ZW5zaW9uKGV4dGVuc2lvblR5cGVOYW1lKSkgeworICAgICAgICB0
ZXN0UGFzc2VkKCJObyAiICsgZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIHN1cHBvcnQgLS0gdGhpcyBp
cyBsZWdhbCIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHRlc3RQYXNzZWQo
IlN1Y2Nlc3NmdWxseSBlbmFibGVkICIgKyBleHRlbnNpb25UeXBlTmFtZSArICIgZXh0ZW5zaW9u
Iik7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0nZ2VuZXJhdGVUZXN0KCJPRVNfdGV4dHVyZV9mbG9hdCIsICJPRVNfdGV4dHVyZV9mbG9hdF9s
aW5lYXIiLCAiRkxPQVQiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiBzdHlsZT0id2lkdGg6IDUwcHg7IGhlaWdodDog
NTBweDsiPiA8L2NhbnZhcz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3VyY2Vz
L29lcy10ZXh0dXJlLWZsb2F0LWFuZC1oYWxmLWZsb2F0LWxpbmVhci5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1m
bG9hdC1saW5lYXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ4ZDBhZjAxMjVlYjA1MWRhMzE2NWEzMmViOWU2
MTYzNDNlNjc3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3Jlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIuanMK
QEAgLTAsMCArMSwxNzIgQEAKKy8qCisqKiBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIEtocm9ub3Mg
R3JvdXAgSW5jLgorKioKKyoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisqKiBjb3B5IG9mIHRoaXMgc29mdHdh
cmUgYW5kL29yIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisqKiAiTWF0ZXJp
YWxzIiksIHRvIGRlYWwgaW4gdGhlIE1hdGVyaWFscyB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs
dWRpbmcKKyoqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKKyoqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz
ZWxsIGNvcGllcyBvZiB0aGUgTWF0ZXJpYWxzLCBhbmQgdG8KKyoqIHBlcm1pdCBwZXJzb25zIHRv
IHdob20gdGhlIE1hdGVyaWFscyBhcmUgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisq
KiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisqKgorKiogVGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKKyoqIGlu
IGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIE1hdGVyaWFscy4KKyoq
CisqKiBUSEUgTUFURVJJQUxTIEFSRSBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ
IE9GIEFOWSBLSU5ELAorKiogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM
SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisqKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCisqKiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiogQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyoqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisqKiBNQVRFUklBTFMgT1IgVEhFIFVT
RSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgTUFURVJJQUxTLgorKi8KKworZnVuY3Rpb24gZ2Vu
ZXJhdGVUZXN0KGV4dGVuc2lvblR5cGVOYW1lLCBleHRlbnNpb25OYW1lLCBwaXhlbFR5cGUsIHBy
b2xvZ3VlKSB7CisgICAgdmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICAgIHZhciBnbCA9IG51
bGw7CisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCisgICAgdmFyIGluaXQg
PSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSAiICsgZXh0ZW5zaW9uTmFtZSArICIgZXh0ZW5z
aW9uLCBpZiBpdCBpcyBhdmFpbGFibGUuIik7CisKKyAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsKKyAgICAgICAgZ2wgPSB3dHUuY3JlYXRlM0RD
b250ZXh0KGNhbnZhcyk7CisKKyAgICAgICAgaWYgKCFwcm9sb2d1ZShnbCwgZXh0ZW5zaW9uVHlw
ZU5hbWUpKSB7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKworICAgICAgICAvLyBCZWZvcmUgdGhlIGV4dGVuc2lvbiBpcyBlbmFibGVk
CisgICAgICAgIHZhciBleHRlbnNpb25FbmFibGVkID0gZmFsc2U7CisgICAgICAgIHJ1blRlc3RT
dWl0ZShleHRlbnNpb25FbmFibGVkKTsKKworICAgICAgICBpZiAoIWdsLmdldEV4dGVuc2lvbihl
eHRlbnNpb25OYW1lKSkKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIk5vICIgKyBleHRlbnNpb25O
YW1lICsgIiBzdXBwb3J0IC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICAvLyBBZnRlciB0aGUgZXh0ZW5zaW9uIGlzIGVuYWJsZWQKKyAgICAgICAgICAgIGV4
dGVuc2lvbkVuYWJsZWQgPSB0cnVlOworICAgICAgICAgICAgcnVuVGVzdFN1aXRlKGV4dGVuc2lv
bkVuYWJsZWQpOworICAgICAgICB9CisKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHJ1blRlc3RTdWl0ZShleHRlbnNpb25FbmFibGVkKQorICAgIHsKKyAgICAg
ICAgdmFyIG1hZ0YgPSBbZ2wuTkVBUkVTVCwgZ2wuTElORUFSXTsKKyAgICAgICAgdmFyIG1pbkYg
PSBbZ2wuTkVBUkVTVCwgZ2wuTElORUFSLCBnbC5ORUFSRVNUX01JUE1BUF9ORUFSRVNULCBnbC5O
RUFSRVNUX01JUE1BUF9MSU5FQVIsIGdsLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCwgZ2wuTElORUFS
X01JUE1BUF9MSU5FQVJdOworICAgICAgICB2YXIgdGV4MkRGU2hhZGVyID0gWworICAgICAgICAg
ICAgJ3VuaWZvcm0gc2FtcGxlcjJEIHRleDsnLAorICAgICAgICAgICAgJ3ZvaWQgbWFpbigpIHsn
LAorICAgICAgICAgICAgJyAgICBnbF9GcmFnRGF0YVswXSA9IHRleHR1cmUyRCh0ZXgsIHZlYzIo
MC41LCAwLjUpKSAqIHZlYzQoNC4wLCAyLjAsIDIuMCwgMSk7JywKKyAgICAgICAgICAgICd9J10u
am9pbignXG4nKTsKKworICAgICAgICB2YXIgcG9zaXRpb25WZXJ0ZXhTaGFkZXIgPSBbCisgICAg
ICAgICAgICdhdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247JywKKyAgICAgICAgICAgJ3ZvaWQgbWFp
bigpIHsnLAorICAgICAgICAgICAnICAgIGdsX1Bvc2l0aW9uID0gdlBvc2l0aW9uOycsCisgICAg
ICAgICAgICd9J10uam9pbignXG4nKTsKKworICAgICAgICB2YXIgdGV4Q3ViZUZTaGFkZXIgPSBb
CisgICAgICAgICAgICAndW5pZm9ybSBzYW1wbGVyQ3ViZSB0ZXg7JywKKyAgICAgICAgICAgICd2
b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgICcgICAgZ2xfRnJhZ0NvbG9yID0gdGV4dHVyZUN1
YmUodGV4LCBub3JtYWxpemUodmVjMygwLjUsIDAuNSwgMSkpKSAqIHZlYzQoNC4wLCAyLjAsIDIu
MCwgMSk7JywKKyAgICAgICAgICAgICd9J10uam9pbignXG4nKTsKKworICAgICAgICB2YXIgdnMg
PSB3dHUubG9hZFNoYWRlcihnbCwgcG9zaXRpb25WZXJ0ZXhTaGFkZXIsIGdsLlZFUlRFWF9TSEFE
RVIpOworICAgICAgICB2YXIgZnNfMmQgPSB3dHUubG9hZFNoYWRlcihnbCwgdGV4MkRGU2hhZGVy
LCBnbC5GUkFHTUVOVF9TSEFERVIpOworICAgICAgICB2YXIgZnNfY3ViZSA9IHd0dS5sb2FkU2hh
ZGVyKGdsLCB0ZXhDdWJlRlNoYWRlciwgZ2wuRlJBR01FTlRfU0hBREVSKTsKKworICAgICAgICAv
LyBURVhUVVJFXzJECisgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJvZ3JhbShnbCwg
W3ZzLCBmc18yZF0pOworICAgICAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworICAgICAgICB3
dHUuc2V0dXBVbml0UXVhZChnbCk7CisgICAgICAgIGZvciAodmFyIGtrID0gMDsga2sgPCAyOyAr
K2trKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNjsgKytpaSkgeworICAg
ICAgICAgICAgICAgIHZhciBsaW5lYXIgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpZiAobWFn
Rltra10gPT0gZ2wuTElORUFSIHx8IChtaW5GW2lpXSAhPSBnbC5ORUFSRVNUICYmIG1pbkZbaWld
ICE9IGdsLk5FQVJFU1RfTUlQTUFQX05FQVJFU1QpKQorICAgICAgICAgICAgICAgICAgICBsaW5l
YXIgPSB0cnVlOworICAgICAgICAgICAgICAgIHZhciBjb2xvciA9ICghZXh0ZW5zaW9uRW5hYmxl
ZCAmJiBsaW5lYXIpID8gWzAsIDAsIDAsIDI1NV0gOiBbMjU1LCAyNTUsIDI1NSwgMjU1XTsKKyAg
ICAgICAgICAgICAgICBydW5FYWNoVGVzdChnbC5URVhUVVJFXzJELCBtYWdGW2trXSwgbWluRltp
aV0sIGxpbmVhciwgZXh0ZW5zaW9uRW5hYmxlZCwgY29sb3IpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisKKyAgICAgICAgLy8gVEVYVFVSRV9DVUJFX01BUAorICAgICAgICB2YXIgcHJvZ3Jh
bUN1YmUgPSB3dHUuc2V0dXBQcm9ncmFtKGdsLCBbdnMsIGZzX2N1YmVdKTsKKyAgICAgICAgZ2wu
dXNlUHJvZ3JhbShwcm9ncmFtQ3ViZSk7CisgICAgICAgIHd0dS5zZXR1cFVuaXRRdWFkKGdsKTsK
KyAgICAgICAgZm9yICh2YXIga2sgPSAwOyBrayA8IDI7ICsra2spIHsKKyAgICAgICAgICAgIGZv
ciAodmFyIGlpID0gMDsgaWkgPCA2OyArK2lpKSB7CisgICAgICAgICAgICAgICAgdmFyIGxpbmVh
ciA9IGZhbHNlOworICAgICAgICAgICAgICAgIGlmIChtYWdGW2trXSA9PSBnbC5MSU5FQVIgfHwg
KG1pbkZbaWldICE9IGdsLk5FQVJFU1QgJiYgbWluRltpaV0gIT0gZ2wuTkVBUkVTVF9NSVBNQVBf
TkVBUkVTVCkpCisgICAgICAgICAgICAgICAgICAgIGxpbmVhciA9IHRydWU7CisgICAgICAgICAg
ICAgICAgdmFyIGNvbG9yID0gKCFleHRlbnNpb25FbmFibGVkICYmIGxpbmVhcikgPyBbMCwgMCwg
MCwgMjU1XSA6IFsyNTUsIDI1NSwgMjU1LCAyNTVdOworICAgICAgICAgICAgICAgIHJ1bkVhY2hU
ZXN0KGdsLlRFWFRVUkVfQ1VCRV9NQVAsIG1hZ0Zba2tdLCBtaW5GW2lpXSwgbGluZWFyLCBleHRl
bnNpb25FbmFibGVkLCBjb2xvcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBmdW5jdGlvbiBydW5FYWNoVGVzdCh0ZXh0dXJlVGFyZ2V0LCBtYWdGaWx0ZXIsIG1pbkZp
bHRlciwgbGluZWFyLCBleHRlbnNpb25FbmFibGVkLCBleHBlY3RlZCkKKyAgICB7CisgICAgICAg
IHZhciBmb3JtYXQgPSBnbC5SR0JBOworICAgICAgICB2YXIgbnVtYmVyT2ZDaGFubmVscyA9IDQ7
CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoInRlc3RpbmcgdGFyZ2V0OiAiICsg
d3R1LmdsRW51bVRvU3RyaW5nKGdsLHRleHR1cmVUYXJnZXQpICsKKyAgICAgICAgICAgICIsIHRl
c3RpbmcgZm9ybWF0OiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBmb3JtYXQpICsKKyAgICAg
ICAgICAgICIsIG1hZ0ZpbHRlciBpczogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCwgbWFnRmls
dGVyKSArCisgICAgICAgICAgICAiLCBtaW5GaWx0ZXIgaXM6ICIgKyB3dHUuZ2xFbnVtVG9TdHJp
bmcoZ2wsIG1pbkZpbHRlcikgKworICAgICAgICAgICAgIiwgIiArIGV4dGVuc2lvbk5hbWUgKyAi
IGlzICIgKyAgKGV4dGVuc2lvbkVuYWJsZWQgPyAiZW5hYmxlZCI6ICJub3QgZW5hYmxlZCIpCisg
ICAgICAgICAgICApOworCisgICAgICAgIC8vIEdlbmVyYXRlIGRhdGEuCisgICAgICAgIHZhciB3
aWR0aCA9IDQ7CisgICAgICAgIHZhciBoZWlnaHQgPSA0OworICAgICAgICB2YXIgY2FudmFzMmQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICAgICAgY2FudmFzMmQud2lk
dGggPSB3aWR0aDsKKyAgICAgICAgY2FudmFzMmQuaGVpZ2h0ID0gaGVpZ2h0OworICAgICAgICB2
YXIgY3R4MmQgPSBjYW52YXMyZC5nZXRDb250ZXh0KCcyZCcpOworICAgICAgICB2YXIgY29sb3Ig
PSBbNjQsIDEyOCwgMTI4LCAyNTVdOworICAgICAgICBjdHgyZC5maWxsU3R5bGUgPSAicmdiYSgi
ICsgY29sb3JbMF0gKyAiLCIgKyBjb2xvclsxXSArICIsIiArIGNvbG9yWzJdICsgIiwiICsgY29s
b3JbM10gKyAiKSI7CisgICAgICAgIGN0eDJkLmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQp
OworCisgICAgICAgIHZhciB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgICAgICBn
bC5iaW5kVGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlKTsKKyAgICAgICAgZ2wudGV4UGFy
YW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBnbC5URVhUVVJFX01BR19GSUxURVIsIG1hZ0ZpbHRlcik7
CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwgZ2wuVEVYVFVSRV9NSU5f
RklMVEVSLCBtaW5GaWx0ZXIpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKHRleHR1cmVUYXJn
ZXQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKTsKKyAgICAgICAgZ2wudGV4
UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBnbC5URVhUVVJFX1dSQVBfVCwgZ2wuQ0xBTVBfVE9f
RURHRSk7CisKKyAgICAgICAgaWYgKHRleHR1cmVUYXJnZXQgPT0gZ2wuVEVYVFVSRV8yRCkgewor
ICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBmb3JtYXQsIGZvcm1h
dCwgZ2xbcGl4ZWxUeXBlXSwgY2FudmFzMmQpOworICAgICAgICAgICAgaWYgKG1pbkZpbHRlciAh
PSBnbC5ORUFSRVNUICYmIG1pbkZpbHRlciAhPSAgZ2wuTElORUFSKQorICAgICAgICAgICAgZ2wu
Z2VuZXJhdGVNaXBtYXAoZ2wuVEVYVFVSRV8yRCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBp
ZiAodGV4dHVyZVRhcmdldCA9PSBnbC5URVhUVVJFX0NVQkVfTUFQKSB7CisgICAgICAgICAgICB2
YXIgdGFyZ2V0cyA9IFsKKyAgICAgICAgICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX1BPU0lU
SVZFX1gsCisgICAgICAgICAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9YLAor
ICAgICAgICAgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSwKKyAgICAgICAg
ICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1ksCisgICAgICAgICAgICAgICAg
Z2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9aLAorICAgICAgICAgICAgICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWl07CisgICAgICAgICAgICAgICAgZm9yICh2YXIgdHQgPSAw
OyB0dCA8IHRhcmdldHMubGVuZ3RoOyArK3R0KQorICAgICAgICAgICAgICAgICAgICBnbC50ZXhJ
bWFnZTJEKHRhcmdldHNbdHRdLCAwLCBmb3JtYXQsIGZvcm1hdCwgZ2xbcGl4ZWxUeXBlXSwgY2Fu
dmFzMmQpOworICAgICAgICAgICAgICAgIGlmIChtaW5GaWx0ZXIgIT0gZ2wuTkVBUkVTVCAmJiBt
aW5GaWx0ZXIgIT0gIGdsLkxJTkVBUikKKyAgICAgICAgICAgICAgICAgICAgZ2wuZ2VuZXJhdGVN
aXBtYXAoZ2wuVEVYVFVSRV9DVUJFX01BUCk7CisgICAgICAgIH0KKyAgICAgICAgd3R1LmRyYXdR
dWFkKGdsKTsKKyAgICAgICAgaWYgKCFsaW5lYXIpIHsKKyAgICAgICAgICAgIHd0dS5nbEVycm9y
U2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCBleHRlbnNpb25UeXBlTmFtZSArICIgdGV4dHVyZSB3
aXRoIG5vbi1MaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1Igbm8gbWF0
dGVyIHdoZXRoZXIgIiArIGV4dGVuc2lvbk5hbWUgKyAiIGlzIGVuYWJsZWQgb3Igbm90Iik7Cisg
ICAgICAgIH0gZWxzZSBpZiAoIWV4dGVuc2lvbkVuYWJsZWQpIHsKKyAgICAgICAgICAgIHd0dS5n
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCBleHRlbnNpb25UeXBlTmFtZSArICIgdGV4
dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0
aCBOT19FUlJPUiBpZiAiICsgZXh0ZW5zaW9uTmFtZSArICIgaXNuJ3QgZW5hYmxlZCIpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgd3R1LmdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsIGV4dGVuc2lvblR5cGVOYW1lICsgIiB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBz
aG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmICIgKyBleHRlbnNpb25UeXBlTmFtZSArICIg
aXMgZW5hYmxlZCIpOworICAgICAgICB9CisKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzKGdsLCBl
eHBlY3RlZCwgInNob3VsZCBiZSAiICsgZXhwZWN0ZWRbMF0gKyAiLCIgKyBleHBlY3RlZFsxXSAg
KyAiLCIgKyAgZXhwZWN0ZWRbMl0gKyAiLCIgKyBleHBlY3RlZFszXSk7CisgICAgfQorCisgICAg
cmV0dXJuIGluaXQ7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218141</attachid>
            <date>2013-12-01 21:52:58 -0800</date>
            <delta_ts>2013-12-03 10:33:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124871-20131202165251.patch</filename>
            <type>text/plain</type>
            <size>66617</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQ2YjllNDRiYTU3ZTFh
MDI5NTY3YzMwYzYyODM5MjdmNGQ3ZmMxYi4uZmQ5MzE3M2JkZjE5ZjJmYTZiODkzOWQ3YWVlMTQw
ZWIxYzBmOTY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTEyLTAxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEltcGxlbWVudCBP
RVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4
dGVuc2lvbi4gR2VuZXJhbGx5CisgICAgICAgIHdlJ2QgYWxzbyBlbmFibGUgT0VTX3RleHR1cmVf
aGFsZl9mbG9hdF9saW5lYXIgYXQgdGhlIHNhbWUKKyAgICAgICAgdGltZSwgYnV0IHRoYXQncyBi
bG9ja2VkIG9uIHdlYmtpdC5vcmcvYi8xMTA5MzYuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52
YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwKKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6IEdlbmVyYXRlIG5ldyBmaWxlIGZyb20gSURMLgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTmV3IGZpbGVzIGZvciBPRVNUZXh0dXJl
RmxvYXRMaW5lYXIuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKTogTWFwIHRoZSBuZXcgbmFt
ZSBpbnRvIHRoZSBhcHByb3ByaWF0ZSB0eXBlLgorCisgICAgICAgICogaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcDogQWRkZWQuIFRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBjbGFz
cworICAgICAgICB0aGF0J3MgbW9zdGx5IGVtcHR5LgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4
dHVyZUZsb2F0TGluZWFyOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXIpOgorICAgICAgICAoV2ViQ29y
ZTo6T0VTVGV4dHVyZUZsb2F0TGluZWFyOjp+T0VTVGV4dHVyZUZsb2F0TGluZWFyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVGbG9hdExpbmVhcjo6Z2V0TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGw6IEFkZGVkLgorCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xFeHRlbnNpb24uaDogRGVjbGFyZSB0aGUgbmV3IG5hbWUgaW4gdGhlIGVudW0g
b2YgZXh0ZW5zaW9ucy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdB
cnJheXMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpkcmF3RWxlbWVudHMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOiBDcmVhdGUgdGhlIG5ldyBleHRl
bnNpb24gaWYgYXNrZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyk6IFJlbmFtZWQgZnJvbSBoYW5kbGVOUE9UVGV4dHVy
ZXMuIE5vdworICAgICAgICBjaGVja3MgZm9yIHRoZSB0eXBlIG9mIHRoZSB0ZXh0dXJlIHRvby4K
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDogTWVtYmVyIHZh
cmlhYmxlIGZvciBuZXcgZXh0ZW5zaW9uLgorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xU
ZXh0dXJlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6V2ViR0xUZXh0dXJl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxhY2tUZXh0dXJl
KTogVGFrZXMgYW4gZXh0cmEgcGFyYW1ldGVyIHdoaWNoIGluZGljYXRlcworICAgICAgICBpZiBp
dCBoYXMgYW4gZXh0ZW5zaW9uIGVuYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFRleHR1
cmU6OnVwZGF0ZSk6IE5vdGUgaXQgaXMgYSBmbG9hdCB0eXBlIHdoZW4gdXBkYXRpbmcuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IE5ldyBmbGFnIHRvIGluZGljYXRlIGZs
b2F0IHR5cGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaDog
TmV3IGZsYWcgdHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5z
aW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6
c3VwcG9ydHNFeHRlbnNpb24pOiBBZGQgYSBjb21tZW50IGFib3V0IHRoZSBleHRlbnNpb24uCisK
IDIwMTMtMTEtMjUgIFNlcmdpbyBDb3JyZWlhICA8c2VyZ2lvLmNvcnJlaWFAb3BlbmJvc3NhLm9y
Zz4KIAogICAgICAgICBbTWVkaWFTdHJlYW1dIFVzZSBzdGQ6OnVuaXF1ZV9wdHIgaW5zdGVhZCBv
ZiBPd25QdHIvUGFzc093blB0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNmVi
ODRhNGE1YmQ4MGEyZDA4MDA2NTczNzE2MDBhNDJkMzYyODQ3Yi4uNTcyMDg2ZTZkYzdiOTdjMDY0
YjhmZjM3ZDMyMDBhNTA1ZTBjZTY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBA
IC00MTYsNiArNDE2LDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlRmxvYXRMaW5lYXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1ZlcnRl
eEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2
ZUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA1OTQzMjdhYzA4MWJhZTYxODAxYjc5YzkwOGQ5MzQ1YjZjMjkzNDk3
Li40ZTVmZWU3M2I0ZTI0MzUwMWMyMGYxMTViYjU2ZmEwMzdmMDE2ZGZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDU5LDYg
KzEwNTksMTAgQEAKIAkJMzEzMTNGNjUxNDQzQjM1RjAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJl
bmRlcmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxMzEzRjYzMTQ0M0IzNUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgKi87
IH07CiAJCTMxMzEzRjY2MTQ0M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTNGNjQx
NDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi87IH07CiAJCTMxMzhB
OUU1MTQ3NDQzNDYwMEIwRUQxMiAvKiBTdHlsZVNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzOEE5RTQxNDc0NDM0NjAwQjBFRDEyIC8qIFN0
eWxlU2hhZGVyLmggKi87IH07CisJCTMxNDZGRTZFMTg0NDIwQTgwMDFBOTM3QyAvKiBPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aCAqLzsgfTsKKwkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExp
bmVhci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MTQ2RkU2NTE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsg
fTsKKwkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZG
RTcwMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07
CisJCTMxNDZGRTc1MTg0NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzEx
ODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CiAJCTMx
NjAyM0YwMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyog
RGljdGlvbmFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZh
bHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NjExRTU4MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAq
LzsgfTsKIAkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NjExRTU5MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87
IH07CkBAIC03NjkyLDYgKzc2OTYsMTEgQEAKIAkJMzEzMTNGNjMxNDQzQjM1RTAwNkUyQTkwIC8q
IEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzEzMTNGNjQxNDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMzhBOUU0MTQ3NDQzNDYwMEIwRUQxMiAv
KiBTdHlsZVNoYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZVNo
YWRlci5oOyBwYXRoID0gc3R5bGUvU3R5bGVTaGFkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzE0NkZFNjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVh
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlRmxv
YXRMaW5lYXIuY3BwOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBP
RVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
T0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGlu
ZWFyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY3MTg0NDIwODcwMDFB
OTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9
IE9FU1RleHR1cmVGbG9hdExpbmVhci5pZGw7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0
TGluZWFyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0NkZFNzAxODQ0MjM2
NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgcGF0aCA9
IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFy
Lmg7IHBhdGggPSBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1ODBFMUM0REUw
MDBGNkE1NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTExLDYgKzE0OTIwLDkgQEAKIAkJCQk2RUJG
MEU0NTEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJG
MEU0NjEyQTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmggKi8sCiAJCQkJNkVCRjBF
NDcxMkE4OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9hdC5pZGwgKi8sCisJCQkJMzE0NkZF
NjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi8sCisJCQkJ
MzE0NkZFNjYxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAor
CQkJCTMxNDZGRTY3MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRs
ICovLAogCQkJCUEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0
LmNwcCAqLywKIAkJCQlBMzFDNEU0RTE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdC5oICovLAogCQkJCUEzMUM0RTUwMTZFMDJBQzUwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFs
ZkZsb2F0LmlkbCAqLywKQEAgLTE3NjM5LDYgKzE3NjUxLDggQEAKIAkJCQk5MDAxNzg3RjEyRTAz
NzA3MDA2NDg0NjIgLyogSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggKi8sCiAJCQkJNkVCRjBF
NzQxMkE5ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJG
MEU3NTEyQTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLywKKwkJCQkzMTQ2
RkU3MDE4NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwICovLAor
CQkJCTMxNDZGRTcxMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5o
ICovLAogCQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxv
YXQuY3BwICovLAogCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVI
YWxmRmxvYXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNWZXJ0
ZXhBcnJheU9iamVjdC5jcHAgKi8sCkBAIC0yMzM4Miw2ICsyMzM5Niw3IEBACiAJCQkJNTlBODYw
MDgxMTlEQUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNFNDM4OUMxNDBCMUJBODAwNUU0MzdFIC8qIEpTRGljdGlvbmFyeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTRBRTdDMUExN0QyMzIzNTAwMDlGQjMxIC8qIEVsZW1lbnRBbmNl
c3Rvckl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTQ2RkU3NTE4NDQyMzcwMDAxQTkz
N0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OURE
QzgzMDlFMTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTQ5NEVERjBBMTIzRjRDMDBGREFGQzEgLyogSlNEb2N1bWVudEZyYWdtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk2NURGMzFGNjA5RDFDQzYwMDAwQkUzMjUgLyogSlNEb2N1bWVudFR5cGUuaCBp
biBIZWFkZXJzICovLApAQCAtMjM2NDMsNiArMjM2NTgsNyBAQAogCQkJCUIyRkEzRDM5MEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
RkEzRDNCMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQm9vbGVhbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGQTNEM0QwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzE0NkZFNkUxODQ0MjBBODAwMUE5MzdDIC8q
IE9FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEM0YwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMkZBM0Q0MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZExlbmd0aC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJGQTNENDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NzM3LDYgKzI1NzUzLDcgQEAKIAkJCQk5
MzMwOUREQzA5OUU2NDkyMDA1NkU1ODEgLyogQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNzlGMkY1QTExMDkxOTM5QTAwMEQ4N0NCIC8qIENvbXBvc2l0aW9uRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwOEUxMkIwMjZGNzAwQzFBMzU5IC8qIENv
bmUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9F
U1RleHR1cmVGbG9hdExpbmVhci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBCMzZBNDBDRDND
NjdDMDBBQzdFQjUgLyogQ29uc29sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjE4RjBG
NUYwNjk4MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTgxODcyMUYwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yNjQyMSw2ICsyNjQzOCw3IEBACiAJCQkJQTg3MURDMjYwQTE1MjA1NzAwQjEyQTY4
IC8qIEhUTUxTdHlsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNENEU5NzIxMzBD
N0NGRTAwN0JBNTQwIC8qIEhUTUxTdW1tYXJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBODcxREIzMjBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4
dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYw
MEIxMkE2OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
ODcxREIyOTBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ29sRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBODcxREIyODBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA5MTUwZmUx
NDRhMTlkYWJhMDQ5NmRhZmMzMDU0MDExMDBiNjYzYmZhLi4wOWQ5ODI2YTliNzM5OTAxZDg2OTg1
MjY1ODJmN2ZhZGRjMGQ1MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiSlNPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiSlNP
RVNTdGFuZGFyZERlcml2YXRpdmVzLmgiCiAjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXQuaCIK
KyNpbmNsdWRlICJKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIkpTT0VTVGV4
dHVyZUhhbGZGbG9hdC5oIgogI2luY2x1ZGUgIkpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNp
bmNsdWRlICJKU1dlYkdMQnVmZmVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiT0VT
RWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIK
ICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRM
aW5lYXIuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VT
VmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgpAQCAtMjA3LDYg
KzIwOSw4IEBAIHN0YXRpYyBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBXZWJHTEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4
ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyo+KGV4
dGVuc2lvbikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6
CiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VT
VGV4dHVyZUZsb2F0Kj4oZXh0ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VT
VGV4dHVyZUZsb2F0TGluZWFyTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFs
T2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXRMaW5lYXIqPihleHRlbnNpb24pKTsK
ICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKICAgICAg
ICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJl
SGFsZkZsb2F0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVy
dGV4QXJyYXlPYmplY3ROYW1lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2IwOTU4ODZhYjY1YWQ1ZWMx
YTU5MDU0NDEwNmYzZDQwOTY0NGFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKQEAgLTAsMCArMSw1NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXRUJHTCkKKwor
I2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdExpbmVhci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK09FU1RleHR1cmVGbG9hdExpbmVhcjo6T0VTVGV4dHVyZUZsb2F0TGluZWFyKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCkKKyAgICA6IFdlYkdMRXh0ZW5zaW9uKGNvbnRleHQpCit7
Cit9CisKK09FU1RleHR1cmVGbG9hdExpbmVhcjo6fk9FU1RleHR1cmVGbG9hdExpbmVhcigpCit7
Cit9CisKK1dlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIE9FU1RleHR1cmVGbG9hdExpbmVh
cjo6Z2V0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIE9FU1RleHR1cmVGbG9hdExpbmVhck5h
bWU7Cit9CisKK093blB0cjxPRVNUZXh0dXJlRmxvYXRMaW5lYXI+IE9FU1RleHR1cmVGbG9hdExp
bmVhcjo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK3sKKyAgICByZXR1
cm4gYWRvcHRQdHIobmV3IE9FU1RleHR1cmVGbG9hdExpbmVhcihjb250ZXh0KSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGVmOGI4MGJhNGRlNGE2NDc1NTAzYjlmNzg5OWRlZTI2Mzk0YmU5NQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVh
ci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE9FU1RleHR1cmVGbG9h
dExpbmVhcl9oCisjZGVmaW5lIE9FU1RleHR1cmVGbG9hdExpbmVhcl9oCisKKyNpbmNsdWRlICJX
ZWJHTEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgT0VTVGV4dHVyZUZsb2F0TGluZWFyIDogcHVibGljIFdlYkdM
RXh0ZW5zaW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgT3duUHRyPE9FU1RleHR1cmVGbG9hdExp
bmVhcj4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworCisgICAgdmlydHVhbCB+T0VT
VGV4dHVyZUZsb2F0TGluZWFyKCk7CisgICAgdmlydHVhbCBFeHRlbnNpb25OYW1lIGdldE5hbWUo
KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBPRVNUZXh0dXJlRmxvYXRMaW5lYXIoV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Kik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBPRVNUZXh0dXJlRmxvYXRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L09FU1RleHR1cmVGbG9hdExpbmVhci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlNGIwNjM0NzEwOWU1MDdj
MjliMGEzY2I3ZTU3MjU2YmM1NGRlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGwKQEAgLTAsMCArMSwzMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBOb0ludGVyZmFjZU9iamVjdCwKKyAgICBDb25kaXRpb25hbD1X
RUJHTCwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJHTFJlbmRlcmluZ0NvbnRleHQs
CitdIGludGVyZmFjZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXIgeworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCmluZGV4IGYwNWUzOWU5ODc2Mzk5NDExMGVj
Yjg5ZDljYjhkNzBhZWYxODFhZDIuLjc0ZTlkYThmNmUzZDUyMjFiZGNiZjUxZGJkNTlmM2I1Y2Nm
N2IwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5z
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaApA
QCAtMzksNiArMzksNyBAQCBwdWJsaWM6CiAgICAgICAgIEVYVERyYXdCdWZmZXJzTmFtZSwKICAg
ICAgICAgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljTmFtZSwKICAgICAgICAgT0VTVGV4dHVy
ZUZsb2F0TmFtZSwKKyAgICAgICAgT0VTVGV4dHVyZUZsb2F0TGluZWFyTmFtZSwKICAgICAgICAg
T0VTVGV4dHVyZUhhbGZGbG9hdE5hbWUsCiAgICAgICAgIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXNO
YW1lLAogICAgICAgICBPRVNWZXJ0ZXhBcnJheU9iamVjdE5hbWUsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA3NDQy
YTU0NWJjZTQ3OWMxNDQxYTM4ZGY0OGFhYjI1ODJlY2Y4ZjE3Li5kMmIzNDJiZjMyY2UzZDA1YjU3
YzIyYWQyY2NjNWFkNzNiNGFkMjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNs
dWRlICJPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiT0VTU3RhbmRhcmREZXJpdmF0
aXZlcy5oIgogI2luY2x1ZGUgIk9FU1RleHR1cmVGbG9hdC5oIgorI2luY2x1ZGUgIk9FU1RleHR1
cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIk9FU1RleHR1cmVIYWxmRmxvYXQuaCIKICNpbmNs
dWRlICJPRVNWZXJ0ZXhBcnJheU9iamVjdC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTE5ODYs
MTIgKzE5ODcsMTIgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdBcnJheXMoR0Mz
RGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGMKICAgICBpZiAoIWlzR0xFUzJD
b21wbGlhbnQoKSkKICAgICAgICAgdmVydGV4QXR0cmliMFNpbXVsYXRlZCA9IHNpbXVsYXRlVmVy
dGV4QXR0cmliMChmaXJzdCArIGNvdW50IC0gMSk7CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmlj
dCgpKQotICAgICAgICBoYW5kbGVOUE9UVGV4dHVyZXMoImRyYXdBcnJheXMiLCB0cnVlKTsKKyAg
ICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3QXJyYXlzIiwgdHJ1ZSk7CiAgICAg
bV9jb250ZXh0LT5kcmF3QXJyYXlzKG1vZGUsIGZpcnN0LCBjb3VudCk7CiAgICAgaWYgKCFpc0dM
RVMyQ29tcGxpYW50KCkgJiYgdmVydGV4QXR0cmliMFNpbXVsYXRlZCkKICAgICAgICAgcmVzdG9y
ZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKTsKICAgICBpZiAoIWlzR0xFUzJO
UE9UU3RyaWN0KCkpCi0gICAgICAgIGhhbmRsZU5QT1RUZXh0dXJlcygiZHJhd0FycmF5cyIsIGZh
bHNlKTsKKyAgICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3QXJyYXlzIiwgZmFs
c2UpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbCh0cnVlKTsKIH0KIApAQCAtMjA3MCwx
MiArMjA3MSwxMiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1lbnRzKEdD
M0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudQogICAgICAgICB2ZXJ0ZXhBdHRy
aWIwU2ltdWxhdGVkID0gc2ltdWxhdGVWZXJ0ZXhBdHRyaWIwKG51bUVsZW1lbnRzKTsKICAgICB9
CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQotICAgICAgICBoYW5kbGVOUE9UVGV4dHVy
ZXMoImRyYXdFbGVtZW50cyIsIHRydWUpOworICAgICAgICBjaGVja1RleHR1cmVDb21wbGV0ZW5l
c3MoImRyYXdFbGVtZW50cyIsIHRydWUpOwogICAgIG1fY29udGV4dC0+ZHJhd0VsZW1lbnRzKG1v
ZGUsIGNvdW50LCB0eXBlLCBzdGF0aWNfY2FzdDxHQzNEaW50cHRyPihvZmZzZXQpKTsKICAgICBp
ZiAoIWlzR0xFUzJDb21wbGlhbnQoKSAmJiB2ZXJ0ZXhBdHRyaWIwU2ltdWxhdGVkKQogICAgICAg
ICByZXN0b3JlU3RhdGVzQWZ0ZXJWZXJ0ZXhBdHRyaWIwU2ltdWxhdGlvbigpOwogICAgIGlmICgh
aXNHTEVTMk5QT1RTdHJpY3QoKSkKLSAgICAgICAgaGFuZGxlTlBPVFRleHR1cmVzKCJkcmF3RWxl
bWVudHMiLCBmYWxzZSk7CisgICAgICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0Vs
ZW1lbnRzIiwgZmFsc2UpOwogICAgIGNsZWFudXBBZnRlckdyYXBoaWNzQ2FsbCh0cnVlKTsKIH0K
IApAQCAtMjM5MSw2ICsyMzkyLDE0IEBAIFdlYkdMRXh0ZW5zaW9uKiBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmdldEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIG1fb2VzVGV4dHVyZUZsb2F0LmdldCgpOwogICAgIH0KKyAgICBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpCisgICAgICAgICYm
IG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VTX3RleHR1cmVfZmxv
YXRfbGluZWFyIikpIHsKKyAgICAgICAgaWYgKCFtX29lc1RleHR1cmVGbG9hdExpbmVhcikgewor
ICAgICAgICAgICAgbV9jb250ZXh0LT5nZXRFeHRlbnNpb25zKCktPmVuc3VyZUVuYWJsZWQoIkdM
X09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpOworICAgICAgICAgICAgbV9vZXNUZXh0dXJlRmxv
YXRMaW5lYXIgPSBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXIuZ2V0KCk7CisgICAgfQog
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIp
CiAgICAgICAgICYmIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5zdXBwb3J0cygiR0xfT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCIpKSB7CiAgICAgICAgIGlmICghbV9vZXNUZXh0dXJlSGFsZkZs
b2F0KSB7CkBAIC00ODQ0LDEyICs0ODUzLDE0IEBAIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldFdlYkdMSW50QXJyYXlQYXJhbWV0ZXIoR0MzRGVudW0gcG5hbWUpCiAgICAg
cmV0dXJuIFdlYkdMR2V0SW5mbyhJbnQzMkFycmF5OjpjcmVhdGUodmFsdWUsIGxlbmd0aCkpOwog
fQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVzKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSwgYm9vbCBwcmVwYXJlVG9EcmF3KQordm9pZCBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyhjb25zdCBjaGFyKiBmdW5jdGlv
bk5hbWUsIGJvb2wgcHJlcGFyZVRvRHJhdykKIHsKICAgICBib29sIHJlc2V0QWN0aXZlVW5pdCA9
IGZhbHNlOworICAgIFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsYWcgZXh0ZW5zaW9u
cyA9IHN0YXRpY19jYXN0PFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsYWc+KG1fb2Vz
VGV4dHVyZUZsb2F0TGluZWFyID8gV2ViR0xUZXh0dXJlOjpUZXh0dXJlRXh0ZW5zaW9uRmxvYXRM
aW5lYXJFbmFibGVkIDogMCk7CisKICAgICBmb3IgKHVuc2lnbmVkIGlpID0gMDsgaWkgPCBtX3Rl
eHR1cmVVbml0cy5zaXplKCk7ICsraWkpIHsKLSAgICAgICAgaWYgKChtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGlu
Zy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpCi0gICAgICAgICAgICB8fCAobV90ZXh0dXJlVW5p
dHNbaWldLnRleHR1cmVDdWJlTWFwQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVy
ZUN1YmVNYXBCaW5kaW5nLT5uZWVkVG9Vc2VCbGFja1RleHR1cmUoKSkpIHsKKyAgICAgICAgaWYg
KChtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZTJEQmluZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKGV4dGVuc2lvbnMpKQor
ICAgICAgICAgICAgfHwgKG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcg
JiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFwQmluZGluZy0+bmVlZFRvVXNlQmxh
Y2tUZXh0dXJlKGV4dGVuc2lvbnMpKSkgewogICAgICAgICAgICAgaWYgKGlpICE9IG1fYWN0aXZl
VGV4dHVyZVVuaXQpIHsKICAgICAgICAgICAgICAgICBtX2NvbnRleHQtPmFjdGl2ZVRleHR1cmUo
aWkpOwogICAgICAgICAgICAgICAgIHJlc2V0QWN0aXZlVW5pdCA9IHRydWU7CkBAIC00ODYxLDcg
KzQ4NzIsOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVz
KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgYm9vbCBwcgogICAgICAgICAgICAgV2ViR0xUZXh0
dXJlKiB0ZXhDdWJlTWFwOwogICAgICAgICAgICAgaWYgKHByZXBhcmVUb0RyYXcpIHsKICAgICAg
ICAgICAgICAgICBTdHJpbmcgbXNnKFN0cmluZygidGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVu
aXQgIikgKyBTdHJpbmc6Om51bWJlcihpaSkKLSAgICAgICAgICAgICAgICAgICAgKyAiIGlzIG5v
dCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGli
bGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJyIpOworICAg
ICAgICAgICAgICAgICAgICArICIgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dl
ci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3Qg
J3RleHR1cmUgY29tcGxldGUnLCIKKyAgICAgICAgICAgICAgICAgICAgKyAiIG9yIGl0IGlzIGEg
RmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50
IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4iKTsKICAgICAgICAgICAgICAgICBwcmlu
dEdMV2FybmluZ1RvQ29uc29sZShmdW5jdGlvbk5hbWUsIG1zZy51dGY4KCkuZGF0YSgpKTsKICAg
ICAgICAgICAgICAgICB0ZXgyRCA9IG1fYmxhY2tUZXh0dXJlMkQuZ2V0KCk7CiAgICAgICAgICAg
ICAgICAgdGV4Q3ViZU1hcCA9IG1fYmxhY2tUZXh0dXJlQ3ViZU1hcC5nZXQoKTsKQEAgLTQ4Njks
OSArNDg4MSw5IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpoYW5kbGVOUE9UVGV4dHVy
ZXMoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBib29sIHByCiAgICAgICAgICAgICAgICAgdGV4
MkQgPSBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmluZGluZy5nZXQoKTsKICAgICAgICAg
ICAgICAgICB0ZXhDdWJlTWFwID0gbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFwQmlu
ZGluZy5nZXQoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChtX3RleHR1cmVVbml0
c1tpaV0udGV4dHVyZTJEQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZTJEQmlu
ZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpCisgICAgICAgICAgICBpZiAobV90ZXh0dXJl
VW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUy
REJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKICAgICAgICAgICAg
ICAgICBtX2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJE
LCBvYmplY3RPclplcm8odGV4MkQpKTsKLSAgICAgICAgICAgIGlmIChtX3RleHR1cmVVbml0c1tp
aV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3Vi
ZU1hcEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZSgpKQorICAgICAgICAgICAgaWYgKG1f
dGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNb
aWldLnRleHR1cmVDdWJlTWFwQmluZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKGV4dGVuc2lv
bnMpKQogICAgICAgICAgICAgICAgIG1fY29udGV4dC0+YmluZFRleHR1cmUoR3JhcGhpY3NDb250
ZXh0M0Q6OlRFWFRVUkVfQ1VCRV9NQVAsIG9iamVjdE9yWmVybyh0ZXhDdWJlTWFwKSk7CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5oCmluZGV4IDRmODhiNDRlMGU1NDQwYzkxYmJjMjFjNGRjZTk1MjQwMTRj
ZWI0N2EuLjM0YjZkMGVjNTRkMjgzMzRiZWYzNTQ1MDMxNjJlYzI5MjI2MmEzN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCkBA
IC01MCw2ICs1MCw3IEBAIGNsYXNzIEltYWdlRGF0YTsKIGNsYXNzIEludFNpemU7CiBjbGFzcyBP
RVNTdGFuZGFyZERlcml2YXRpdmVzOwogY2xhc3MgT0VTVGV4dHVyZUZsb2F0OworY2xhc3MgT0VT
VGV4dHVyZUZsb2F0TGluZWFyOwogY2xhc3MgT0VTVGV4dHVyZUhhbGZGbG9hdDsKIGNsYXNzIE9F
U1ZlcnRleEFycmF5T2JqZWN0OwogY2xhc3MgT0VTRWxlbWVudEluZGV4VWludDsKQEAgLTUyNSw2
ICs1MjYsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxFWFREcmF3QnVmZmVycz4gbV9leHREcmF3
QnVmZmVyczsKICAgICBPd25QdHI8RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljPiBtX2V4dFRl
eHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYzsKICAgICBPd25QdHI8T0VTVGV4dHVyZUZsb2F0PiBtX29l
c1RleHR1cmVGbG9hdDsKKyAgICBPd25QdHI8T0VTVGV4dHVyZUZsb2F0TGluZWFyPiBtX29lc1Rl
eHR1cmVGbG9hdExpbmVhcjsKICAgICBPd25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gbV9vZXNU
ZXh0dXJlSGFsZkZsb2F0OwogICAgIE93blB0cjxPRVNTdGFuZGFyZERlcml2YXRpdmVzPiBtX29l
c1N0YW5kYXJkRGVyaXZhdGl2ZXM7CiAgICAgT3duUHRyPE9FU1ZlcnRleEFycmF5T2JqZWN0PiBt
X29lc1ZlcnRleEFycmF5T2JqZWN0OwpAQCAtNTU5LDcgKzU2MSw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCB0ZXhTdWJJbWFnZTJEQmFzZShHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXpl
aSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgY29uc3Qgdm9pZCogcGl4
ZWxzLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCB0ZXhTdWJJbWFnZTJESW1wbChHQzNEZW51
bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIEltYWdlKiwgR3JhcGhpY3NDb250ZXh0
M0Q6OkltYWdlSHRtbERvbVNvdXJjZSwgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFscGhh
LCBFeGNlcHRpb25Db2RlJik7CiAKLSAgICB2b2lkIGhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBj
aGFyKiwgYm9vbCk7CisgICAgdm9pZCBjaGVja1RleHR1cmVDb21wbGV0ZW5lc3MoY29uc3QgY2hh
ciosIGJvb2wpOwogCiAgICAgdm9pZCBjcmVhdGVGYWxsYmFja0JsYWNrVGV4dHVyZXMxeDEoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAKaW5kZXggYzNj
Yzc5MDAxNTU3NTE5ZWMxNGM5MjE2NjMxYzBlMTk1MWUwMzdkNi4uZjEwZjVkZjA1YWUxNTQ0NTcw
OWQ3OGQyMjFkOGVjYTc0NDBkZGYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xUZXh0dXJlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFRleHR1cmUuY3BwCkBAIC01MSw2ICs1MSw3IEBAIFdlYkdMVGV4dHVyZTo6V2ViR0xUZXh0
dXJlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY3R4KQogICAgICwgbV9pc0NvbXBsZXRlKGZhbHNl
KQogICAgICwgbV9uZWVkVG9Vc2VCbGFja1RleHR1cmUoZmFsc2UpCiAgICAgLCBtX2lzQ29tcHJl
c3NlZChmYWxzZSkKKyAgICAsIG1faXNGbG9hdFR5cGUoZmFsc2UpCiB7CiAgICAgc2V0T2JqZWN0
KGN0eC0+Z3JhcGhpY3NDb250ZXh0M0QoKS0+Y3JlYXRlVGV4dHVyZSgpKTsKIH0KQEAgLTIzMywx
MSArMjM0LDE3IEBAIGJvb2wgV2ViR0xUZXh0dXJlOjppc05QT1QoKSBjb25zdAogICAgIHJldHVy
biBtX2lzTlBPVDsKIH0KIAotYm9vbCBXZWJHTFRleHR1cmU6Om5lZWRUb1VzZUJsYWNrVGV4dHVy
ZSgpIGNvbnN0Citib29sIFdlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxhY2tUZXh0dXJlKFRleHR1
cmVFeHRlbnNpb25GbGFnIGV4dGVuc2lvbnMpIGNvbnN0CiB7CiAgICAgaWYgKCFvYmplY3QoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX25lZWRUb1VzZUJsYWNrVGV4dHVy
ZTsKKyAgICBpZiAobV9uZWVkVG9Vc2VCbGFja1RleHR1cmUpCisgICAgICAgIHJldHVybiB0cnVl
OworICAgIGlmIChtX2lzRmxvYXRUeXBlICYmICEoZXh0ZW5zaW9ucyAmIFRleHR1cmVFeHRlbnNp
b25GbG9hdExpbmVhckVuYWJsZWQpKSB7CisgICAgICAgIGlmIChtX21hZ0ZpbHRlciAhPSBHcmFw
aGljc0NvbnRleHQzRDo6TkVBUkVTVCB8fCAobV9taW5GaWx0ZXIgIT0gR3JhcGhpY3NDb250ZXh0
M0Q6Ok5FQVJFU1QgJiYgbV9taW5GaWx0ZXIgIT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1Rf
TUlQTUFQX05FQVJFU1QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJl
dHVybiBmYWxzZTsKIH0KIAogYm9vbCBXZWJHTFRleHR1cmU6OmlzQ29tcHJlc3NlZCgpIGNvbnN0
CkBAIC0zNTcsNiArMzY0LDE4IEBAIHZvaWQgV2ViR0xUZXh0dXJlOjp1cGRhdGUoKQogICAgICAg
ICB9CiAgICAgfQogCisgICAgbV9pc0Zsb2F0VHlwZSA9IGZhbHNlOworICAgIGlmIChtX2lzQ29t
cGxldGUpCisgICAgICAgIG1faXNGbG9hdFR5cGUgPSBtX2luZm9bMF1bMF0udHlwZSA9PSBHcmFw
aGljc0NvbnRleHQzRDo6RkxPQVQ7CisgICAgZWxzZSB7CisgICAgICAgIGZvciAoc2l6ZV90IGlp
ID0gMDsgaWkgPCBtX2luZm8uc2l6ZSgpOyArK2lpKSB7CisgICAgICAgICAgICBpZiAobV9pbmZv
W2lpXVswXS50eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpGTE9BVCkgeworICAgICAgICAgICAg
ICAgIG1faXNGbG9hdFR5cGUgPSB0cnVlOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfQorCiAgICAgbV9uZWVkVG9Vc2VCbGFja1RleHR1cmUg
PSBmYWxzZTsKICAgICAvLyBOUE9UCiAgICAgaWYgKG1faXNOUE9UICYmICgobV9taW5GaWx0ZXIg
IT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1QgJiYgbV9taW5GaWx0ZXIgIT0gR3JhcGhpY3ND
b250ZXh0M0Q6OkxJTkVBUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVGV4dHVyZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJl
LmgKaW5kZXggMmRmNTRlNjhkMzdkMTVlZGE2ZmRjZTMxM2YwOWQyMmQ4ZWYxNDVmMC4uODgzNjBi
ZTA2MGRhMTc5ZGYyZjIwNDc3MTNlNjFiYmZhNzZmMThjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xUZXh0dXJlLmgKQEAgLTM1LDYgKzM1LDEyIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgV2ViR0xUZXh0dXJlIDogcHVibGljIFdlYkdMU2hhcmVkT2JqZWN0IHsK
IHB1YmxpYzoKKworICAgIGVudW0gVGV4dHVyZUV4dGVuc2lvbkZsYWcgeworICAgICAgICBUZXh0
dXJlRXh0ZW5zaW9uc0Rpc2FibGVkID0gMCwKKyAgICAgICAgVGV4dHVyZUV4dGVuc2lvbkZsb2F0
TGluZWFyRW5hYmxlZCA9IDEgPDwgMAorICAgIH07CisKICAgICB2aXJ0dWFsIH5XZWJHTFRleHR1
cmUoKTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkdMVGV4dHVyZT4gY3JlYXRlKFdlYkdM
UmVuZGVyaW5nQ29udGV4dCopOwpAQCAtNjQsNyArNzAsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGlzTlBPVCgpIGNvbnN0OwogICAgIC8vIERldGVybWluZSBpZiB0ZXh0dXJlIHNhbXBsaW5nIHNo
b3VsZCBhbHdheXMgcmV0dXJuIFswLCAwLCAwLCAxXSAoT3BlbkdMIEVTIDIuMCBTZWMgMy44LjIp
LgotICAgIGJvb2wgbmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkgY29uc3Q7CisgICAgYm9vbCBuZWVk
VG9Vc2VCbGFja1RleHR1cmUoVGV4dHVyZUV4dGVuc2lvbkZsYWcpIGNvbnN0OwogCiAgICAgYm9v
bCBpc0NvbXByZXNzZWQoKSBjb25zdDsKICAgICB2b2lkIHNldENvbXByZXNzZWQoKTsKQEAgLTEy
Nyw2ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0NvbXBsZXRlOwogICAgIGJvb2wg
bV9uZWVkVG9Vc2VCbGFja1RleHR1cmU7CiAgICAgYm9vbCBtX2lzQ29tcHJlc3NlZDsKKyAgICBi
b29sIG1faXNGbG9hdFR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCmluZGV4IDNiZWQ0
NmZkMmY2NDM0ZTVkNmExMThlYmNlZGQwNmFlMGQ2YmQ5YzAuLjU4ZjY5ODY4NWE4YzA0MjkyZjNl
ZGViMmVlMzI1MjY2Nzc1YzIyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0V4dGVuc2lvbnMzRC5oCkBAIC01Myw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICAvLyAg
IEdMX0VYVF9wYWNrZWRfZGVwdGhfc3RlbmNpbCAvIEdMX09FU19wYWNrZWRfZGVwdGhfc3RlbmNp
bAogICAgIC8vICAgR0xfQU5HTEVfZnJhbWVidWZmZXJfYmxpdCAvIEdMX0FOR0xFX2ZyYW1lYnVm
ZmVyX211bHRpc2FtcGxlCiAgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9mbG9hdAorICAgIC8vICAg
R0xfT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyCiAgICAgLy8gICBHTF9PRVNfdGV4dHVyZV9oYWxm
X2Zsb2F0CiAgICAgLy8gICBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMKICAgICAvLyAgIEdM
X09FU19yZ2I4X3JnYmE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCmluZGV4IDM4NDc4YmI5
MDQwZTA3YjNmMTA5NTEyMTU2MWE4NGM4MmM3ZWQ4ZWIuLmZhMjc5MGQzYWY5NTBjZmY0ZGNiNTZj
NWZjZDNiNDg2NmMyYzNjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCkBAIC0xNTMs
OSArMTUzLDkgQEAgYm9vbCBFeHRlbnNpb25zM0RPcGVuR0w6OnN1cHBvcnRzRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyYgbmFtZSkKICAgICBpZiAobmFtZSA9PSAiR0xfT0VTX3JnYjhfcmdiYTgiKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIElmIEdMX0FSQl90ZXh0dXJlX2Zsb2F0IGlz
IGF2YWlsYWJsZSB0aGVuIHdlIHJlcG9ydCBHTF9PRVNfdGV4dHVyZV9mbG9hdCBhbmQKLSAgICAv
LyBHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IGFzIGF2YWlsYWJsZS4KLSAgICBpZiAobmFtZSA9
PSAiR0xfT0VTX3RleHR1cmVfZmxvYXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJlX2hhbGZf
ZmxvYXQiKQorICAgIC8vIElmIEdMX0FSQl90ZXh0dXJlX2Zsb2F0IGlzIGF2YWlsYWJsZSB0aGVu
IHdlIHJlcG9ydCBHTF9PRVNfdGV4dHVyZV9mbG9hdCwKKyAgICAvLyBHTF9PRVNfdGV4dHVyZV9o
YWxmX2Zsb2F0IGFuZCBHTF9PRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgYXMgYXZhaWxhYmxlLgor
ICAgIGlmIChuYW1lID09ICJHTF9PRVNfdGV4dHVyZV9mbG9hdCIgfHwgbmFtZSA9PSAiR0xfT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCIgfHwgbmFtZSA9PSAiR0xfT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIikKICAgICAgICAgcmV0dXJuIG1fYXZhaWxhYmxlRXh0ZW5zaW9ucy5jb250YWlucygiR0xf
QVJCX3RleHR1cmVfZmxvYXQiKTsKIAogICAgIC8vIEdMX09FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMjQyMjRmODUyZjU0ZjljZGEyZWYzYThmMjk4ZDM3Yzc3YmE3YjU1Yi4uOTZkNTNi
N2NjZWU2YmQzNjZlZWE1NWUxMjk2M2M2NWNmODc1ZmY0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDEzLTEyLTAxICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBb
V2ViR0xdIEltcGxlbWVudCBPRVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0aGUgS2hyb25vcyB0ZXN0IGZp
bGVzIGZvciB0aGlzIGV4dGVuc2lvbi4KKworICAgICAgICBBZGQgdGhlIEpTIHRlc3QgZmlsZSBm
b3IgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGFuZCBPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xp
bmVhcgorICAgICAgICBldmVuIHRob3VnaCBpdCdzIG9ubHkgdXNlZCBmb3IgdGhlIGZvcm1lciBh
dCB0aGUgbW9tZW50LgorCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUt
ZmxvYXQtbGluZWFyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3Jl
c291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIuanM6IEFkZGVk
LgorCiAyMDEzLTExLTI1ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW5kZXJUYWJsZVNlY3Rpb24gQmxpbmsgbWVyZ2UgYXNzZXJ0aW5nCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1mbG9hdC1saW5lYXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxv
YXQtbGluZWFyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTYwZDgyMjVhYjZiNTI0Y2JlOGYz
NDNkM2QyNjIwMTFhMmQzYWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIyMCBAQAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBi
b3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBv
d2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5v
dCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBm
aWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24g
ZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91
bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dl
ci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3Qg
J3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmls
dGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVu
YWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5k
IHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXIt
b2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0
ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRl
cmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFi
bGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0
byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9m
LTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4
dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJp
bmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxl
ZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8g
dGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0y
IGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1
cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5n
IGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQu
CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRl
eHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBh
bmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJl
IGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBh
bmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgor
Q09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0
dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5k
IGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBj
b21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5k
IHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NP
TlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVy
ZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBo
YXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29t
cGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3
aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05T
T0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUg
dW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2
ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBs
ZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0
aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09M
RSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVu
aXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUg
aW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0
ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhv
dXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUg
TUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0
IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGlu
Y29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUn
LCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0
IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1F
U1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAw
IGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNv
bXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywg
b3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0
aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNT
QUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBp
cyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21w
YXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9y
IGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhl
IHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FH
RTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMg
bm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0
aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBp
dCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSBy
ZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6
IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5v
dCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGli
bGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQg
aXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVs
ZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBX
ZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3Qg
cmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxl
IHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlz
IGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2
YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2Vi
R0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJl
bmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0
ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBh
IEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFu
dCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdM
OiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5k
ZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4
dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBG
bG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQg
ZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDog
ZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVy
YWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1
cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxv
YXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZs
b2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRy
YXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFi
bGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJl
IGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0
IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9h
dCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3
QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxl
LiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBm
aWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0
eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQg
bGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0Fy
cmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4g
SXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmls
dGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlw
ZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxp
bmVhciBleHRlbnNpb24gZW5hYmxlZC4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVuY3Rpb25h
bGl0eSBvZiB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4dGVuc2lvbiwgaWYgaXQgaXMg
YXZhaWxhYmxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKyBQQVNTIFN1Y2Nlc3Nm
dWxseSBlbmFibGVkIE9FU190ZXh0dXJlX2Zsb2F0IGV4dGVuc2lvbgorCit0ZXN0aW5nIHRhcmdl
dDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVT
VCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90
IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9F
U190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3Vj
Y2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xp
bmVhciBpcyBlbmFibGVkIG9yIG5vdAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisK
K3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmls
dGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRf
bGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBz
aG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwor
dGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0
ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VT
X3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGgg
bm9uLUxpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIg
d2hldGhlciBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mg
c2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwg
dGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlz
OiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3Qg
ZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VT
X3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2Ug
WzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0
OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNU
LCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRf
bGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBz
aG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwor
dGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0
ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9MSU5FQVIsIE9FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExp
bmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBp
ZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUg
MCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDog
UkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVCwgT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGlu
ZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlm
IE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAw
LDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBS
R0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9FU190ZXh0
dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVh
ciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBP
RVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCww
LDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdC
QSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVB
UkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0
dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRo
IE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNT
IHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3Rp
bmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBORUFS
RVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1
cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAs
IDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3Qg
ZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhU
VVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZp
bHRlciBpczogTElORUFSX01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBw
cm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRf
bGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5n
IHRhcmdldDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczog
TElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9m
bG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmls
dGVyIHNob3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1
NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJH
QkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4
dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBub24t
TGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0
aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkIG9yIG5vdAorUEFTUyBzaG91
bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQ
LCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIg
aXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9h
dCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4w
XSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVk
CitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VC
RV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZp
bHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFy
IGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9uLUxpbmVhciBmaWx0ZXIgc2hv
dWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hldGhlciBPRVNfdGV4dHVyZV9m
bG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1
LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6
IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1B
UF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQg
dGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0g
d2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAor
UEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVf
TUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5GaWx0
ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlz
IG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJv
ZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xp
bmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0
YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIg
aXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0
dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVh
ciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBP
RVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCww
LDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1h
dDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVCwgT0VT
X3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGgg
TGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9S
IGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBi
ZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3Rpbmcg
Zm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIs
IE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3
aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19F
UlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91
bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0
aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVB
UkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFi
bGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4
dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwg
MCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24n
dCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRF
WFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVB
UiwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0
X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIg
c2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVy
ZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisK
K3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwg
bWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9ORUFSRVNU
LCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUg
d2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9f
RVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hv
dWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVz
dGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJ
TkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJs
ZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0
dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9kdWNlIFswLCAw
LCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzbid0
IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVY
VFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWlu
RmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVf
ZmxvYXQgdGV4dHVyZSB3aXRoIG5vbi1MaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGgg
Tk9fRVJST1Igbm8gbWF0dGVyIHdoZXRoZXIgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVu
YWJsZWQgb3Igbm90CitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0
YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5F
QVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMg
ZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VT
X3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQg
d2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3Vs
ZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3Rp
bmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTkVB
UkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJl
X2Zsb2F0IHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRo
IE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBl
bmFibGVkIG9yIG5vdAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3Rpbmcg
dGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBO
RUFSRVNULCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1RfTUlQTUFQX0xJTkVBUiwgT0VTX3RleHR1cmVf
ZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVy
IHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5h
YmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBU
RVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBt
aW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBz
dWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFT
UyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJE
LCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIg
aXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3Rl
eHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0
aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBi
ZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3Rpbmcg
Zm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBORUFSRVNU
LCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRo
IExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVy
ZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVz
dGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIg
aXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3Vj
Y2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mg
c2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwg
dGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6
IE5FQVJFU1RfTUlQTUFQX05FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFi
bGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4
dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRo
IE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJl
IDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwgdGVzdGluZyBm
b3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1Rf
TUlQTUFQX0xJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1Mg
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0
IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1Ig
aWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwy
NTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdC
QSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9ORUFS
RVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3
aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4
dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwor
dGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0
ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVJfTUlQTUFQX0xJTkVBUiwgT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIg
ZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQg
aXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFy
Z2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlz
OiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9uLUxpbmVhciBmaWx0ZXIgc2hvdWxk
IHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hldGhlciBPRVNfdGV4dHVyZV9mbG9h
dF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1
NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJH
QkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9FU190ZXh0
dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZp
bHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlz
IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdl
dDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczog
TkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVy
ZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIG5vbi1MaW5lYXIg
ZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1Igbm8gbWF0dGVyIHdoZXRoZXIgT0VT
X3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQgb3Igbm90CitQQVNTIHNob3VsZCBiZSAy
NTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3Rp
bmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTkVB
UkVTVF9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVf
ZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19F
UlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUs
MjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3Rpbmcg
Zm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFS
X01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxv
YXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJP
UiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1
LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9y
bWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01J
UE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0
ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlm
IE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1
LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6
IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1QsIE9FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFy
IGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0
IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRh
cmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBp
czogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFy
IGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNj
ZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBz
aG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVf
TUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRl
ciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlz
IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9F
U190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVk
IHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91
bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQ
LCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBp
czogTkVBUkVTVF9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3Rl
eHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0
aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBi
ZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRl
c3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBM
SU5FQVJfTUlQTUFQX05FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVy
ZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5P
X0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1
NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGlu
ZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVB
Ul9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxv
YXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJP
UiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1
LDI1NSwyNTUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2Vz
LXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC9vZXMtdGV4dHVyZS1mbG9hdC1saW5lYXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGZmOGZmZTg3YThi
ZDc5NDUxZDczZDNmMGI4OGUyNjE0N2ExMzAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwKQEAgLTAs
MCArMSw1MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBLaHJvbm9z
IEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m
IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVy
aWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5j
bHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1v
ZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Ig
c2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0
byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwor
KiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBp
biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisq
KgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5U
WSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1Qg
TElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBV
U0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShn
bCwgZXh0ZW5zaW9uVHlwZU5hbWUpIHsKKyAgICBpZiAoIWdsLmdldEV4dGVuc2lvbihleHRlbnNp
b25UeXBlTmFtZSkpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiTm8gIiArIGV4dGVuc2lvblR5cGVO
YW1lICsgIiBzdXBwb3J0IC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKyAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCAiICsgZXh0ZW5z
aW9uVHlwZU5hbWUgKyAiIGV4dGVuc2lvbiIpOworICAgIHJldHVybiB0cnVlOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiT0VTX3RleHR1cmVfZmxv
YXQiLCAiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIiwgIkZMT0FUIiwgdGVzdFByb2xvZ3VlKSgp
Jz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgc3R5
bGU9IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7Ij4gPC9jYW52YXM+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9h
dC1saW5lYXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvb2Vz
LXRleHR1cmUtZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkOGQw
YWYwMTI1ZWIwNTFkYTMxNjVhMzJlYjllNjE2MzQzZTY3N2UKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvb2VzLXRleHR1cmUtZmxvYXQt
YW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzCkBAIC0wLDAgKzEsMTcyIEBACisvKgorKiogQ29weXJp
Z2h0IChjKSAyMDEzIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlz
IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg
YQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhl
IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmli
dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5k
IHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hl
ZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioK
KyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl
IHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRp
b25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQg
IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1Q
TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiog
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9O
SU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJ
R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVS
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9S
IE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI
RQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVS
SUFMUy4KKyovCisKK2Z1bmN0aW9uIGdlbmVyYXRlVGVzdChleHRlbnNpb25UeXBlTmFtZSwgZXh0
ZW5zaW9uTmFtZSwgcGl4ZWxUeXBlLCBwcm9sb2d1ZSkgeworICAgIHZhciB3dHUgPSBXZWJHTFRl
c3RVdGlsczsKKyAgICB2YXIgZ2wgPSBudWxsOworICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSBmYWxzZTsKKworICAgIHZhciBpbml0ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgIiAr
IGV4dGVuc2lvbk5hbWUgKyAiIGV4dGVuc2lvbiwgaWYgaXQgaXMgYXZhaWxhYmxlLiIpOworCisg
ICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Cisg
ICAgICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworCisgICAgICAgIGlmICgh
cHJvbG9ndWUoZ2wsIGV4dGVuc2lvblR5cGVOYW1lKSkgeworICAgICAgICAgICAgZmluaXNoVGVz
dCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gQmVmb3Jl
IHRoZSBleHRlbnNpb24gaXMgZW5hYmxlZAorICAgICAgICB2YXIgZXh0ZW5zaW9uRW5hYmxlZCA9
IGZhbHNlOworICAgICAgICBydW5UZXN0U3VpdGUoZXh0ZW5zaW9uRW5hYmxlZCk7CisKKyAgICAg
ICAgaWYgKCFnbC5nZXRFeHRlbnNpb24oZXh0ZW5zaW9uTmFtZSkpCisgICAgICAgICAgICB0ZXN0
UGFzc2VkKCJObyAiICsgZXh0ZW5zaW9uTmFtZSArICIgc3VwcG9ydCAtLSB0aGlzIGlzIGxlZ2Fs
Iik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLy8gQWZ0ZXIgdGhlIGV4dGVuc2lvbiBp
cyBlbmFibGVkCisgICAgICAgICAgICBleHRlbnNpb25FbmFibGVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgIHJ1blRlc3RTdWl0ZShleHRlbnNpb25FbmFibGVkKTsKKyAgICAgICAgfQorCisgICAgICAg
IGZpbmlzaFRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0U3VpdGUoZXh0ZW5z
aW9uRW5hYmxlZCkKKyAgICB7CisgICAgICAgIHZhciBtYWdGID0gW2dsLk5FQVJFU1QsIGdsLkxJ
TkVBUl07CisgICAgICAgIHZhciBtaW5GID0gW2dsLk5FQVJFU1QsIGdsLkxJTkVBUiwgZ2wuTkVB
UkVTVF9NSVBNQVBfTkVBUkVTVCwgZ2wuTkVBUkVTVF9NSVBNQVBfTElORUFSLCBnbC5MSU5FQVJf
TUlQTUFQX05FQVJFU1QsIGdsLkxJTkVBUl9NSVBNQVBfTElORUFSXTsKKyAgICAgICAgdmFyIHRl
eDJERlNoYWRlciA9IFsKKyAgICAgICAgICAgICd1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7JywKKyAg
ICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgICcgICAgZ2xfRnJhZ0RhdGFb
MF0gPSB0ZXh0dXJlMkQodGV4LCB2ZWMyKDAuNSwgMC41KSkgKiB2ZWM0KDQuMCwgMi4wLCAyLjAs
IDEpOycsCisgICAgICAgICAgICAnfSddLmpvaW4oJ1xuJyk7CisKKyAgICAgICAgdmFyIHBvc2l0
aW9uVmVydGV4U2hhZGVyID0gWworICAgICAgICAgICAnYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9u
OycsCisgICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgJyAgICBnbF9Qb3Np
dGlvbiA9IHZQb3NpdGlvbjsnLAorICAgICAgICAgICAnfSddLmpvaW4oJ1xuJyk7CisKKyAgICAg
ICAgdmFyIHRleEN1YmVGU2hhZGVyID0gWworICAgICAgICAgICAgJ3VuaWZvcm0gc2FtcGxlckN1
YmUgdGV4OycsCisgICAgICAgICAgICAndm9pZCBtYWluKCkgeycsCisgICAgICAgICAgICAnICAg
IGdsX0ZyYWdDb2xvciA9IHRleHR1cmVDdWJlKHRleCwgbm9ybWFsaXplKHZlYzMoMC41LCAwLjUs
IDEpKSkgKiB2ZWM0KDQuMCwgMi4wLCAyLjAsIDEpOycsCisgICAgICAgICAgICAnfSddLmpvaW4o
J1xuJyk7CisKKyAgICAgICAgdmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIHBvc2l0aW9uVmVy
dGV4U2hhZGVyLCBnbC5WRVJURVhfU0hBREVSKTsKKyAgICAgICAgdmFyIGZzXzJkID0gd3R1Lmxv
YWRTaGFkZXIoZ2wsIHRleDJERlNoYWRlciwgZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICAgICAg
dmFyIGZzX2N1YmUgPSB3dHUubG9hZFNoYWRlcihnbCwgdGV4Q3ViZUZTaGFkZXIsIGdsLkZSQUdN
RU5UX1NIQURFUik7CisKKyAgICAgICAgLy8gVEVYVFVSRV8yRAorICAgICAgICB2YXIgcHJvZ3Jh
bSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFt2cywgZnNfMmRdKTsKKyAgICAgICAgZ2wudXNlUHJv
Z3JhbShwcm9ncmFtKTsKKyAgICAgICAgd3R1LnNldHVwVW5pdFF1YWQoZ2wpOworICAgICAgICBm
b3IgKHZhciBrayA9IDA7IGtrIDwgMjsgKytraykgeworICAgICAgICAgICAgZm9yICh2YXIgaWkg
PSAwOyBpaSA8IDY7ICsraWkpIHsKKyAgICAgICAgICAgICAgICB2YXIgbGluZWFyID0gZmFsc2U7
CisgICAgICAgICAgICAgICAgaWYgKG1hZ0Zba2tdID09IGdsLkxJTkVBUiB8fCAobWluRltpaV0g
IT0gZ2wuTkVBUkVTVCAmJiBtaW5GW2lpXSAhPSBnbC5ORUFSRVNUX01JUE1BUF9ORUFSRVNUKSkK
KyAgICAgICAgICAgICAgICAgICAgbGluZWFyID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB2YXIg
Y29sb3IgPSAoIWV4dGVuc2lvbkVuYWJsZWQgJiYgbGluZWFyKSA/IFswLCAwLCAwLCAyNTVdIDog
WzI1NSwgMjU1LCAyNTUsIDI1NV07CisgICAgICAgICAgICAgICAgcnVuRWFjaFRlc3QoZ2wuVEVY
VFVSRV8yRCwgbWFnRltra10sIG1pbkZbaWldLCBsaW5lYXIsIGV4dGVuc2lvbkVuYWJsZWQsIGNv
bG9yKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFRFWFRVUkVfQ1VC
RV9NQVAKKyAgICAgICAgdmFyIHByb2dyYW1DdWJlID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgW3Zz
LCBmc19jdWJlXSk7CisgICAgICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbUN1YmUpOworICAgICAg
ICB3dHUuc2V0dXBVbml0UXVhZChnbCk7CisgICAgICAgIGZvciAodmFyIGtrID0gMDsga2sgPCAy
OyArK2trKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNjsgKytpaSkgewor
ICAgICAgICAgICAgICAgIHZhciBsaW5lYXIgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpZiAo
bWFnRltra10gPT0gZ2wuTElORUFSIHx8IChtaW5GW2lpXSAhPSBnbC5ORUFSRVNUICYmIG1pbkZb
aWldICE9IGdsLk5FQVJFU1RfTUlQTUFQX05FQVJFU1QpKQorICAgICAgICAgICAgICAgICAgICBs
aW5lYXIgPSB0cnVlOworICAgICAgICAgICAgICAgIHZhciBjb2xvciA9ICghZXh0ZW5zaW9uRW5h
YmxlZCAmJiBsaW5lYXIpID8gWzAsIDAsIDAsIDI1NV0gOiBbMjU1LCAyNTUsIDI1NSwgMjU1XTsK
KyAgICAgICAgICAgICAgICBydW5FYWNoVGVzdChnbC5URVhUVVJFX0NVQkVfTUFQLCBtYWdGW2tr
XSwgbWluRltpaV0sIGxpbmVhciwgZXh0ZW5zaW9uRW5hYmxlZCwgY29sb3IpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuRWFjaFRlc3QodGV4dHVy
ZVRhcmdldCwgbWFnRmlsdGVyLCBtaW5GaWx0ZXIsIGxpbmVhciwgZXh0ZW5zaW9uRW5hYmxlZCwg
ZXhwZWN0ZWQpCisgICAgeworICAgICAgICB2YXIgZm9ybWF0ID0gZ2wuUkdCQTsKKyAgICAgICAg
dmFyIG51bWJlck9mQ2hhbm5lbHMgPSA0OworICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgIGRl
YnVnKCJ0ZXN0aW5nIHRhcmdldDogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCx0ZXh0dXJlVGFy
Z2V0KSArCisgICAgICAgICAgICAiLCB0ZXN0aW5nIGZvcm1hdDogIiArIHd0dS5nbEVudW1Ub1N0
cmluZyhnbCwgZm9ybWF0KSArCisgICAgICAgICAgICAiLCBtYWdGaWx0ZXIgaXM6ICIgKyB3dHUu
Z2xFbnVtVG9TdHJpbmcoZ2wsIG1hZ0ZpbHRlcikgKworICAgICAgICAgICAgIiwgbWluRmlsdGVy
IGlzOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBtaW5GaWx0ZXIpICsKKyAgICAgICAgICAg
ICIsICIgKyBleHRlbnNpb25OYW1lICsgIiBpcyAiICsgIChleHRlbnNpb25FbmFibGVkID8gImVu
YWJsZWQiOiAibm90IGVuYWJsZWQiKQorICAgICAgICAgICAgKTsKKworICAgICAgICAvLyBHZW5l
cmF0ZSBkYXRhLgorICAgICAgICB2YXIgd2lkdGggPSA0OworICAgICAgICB2YXIgaGVpZ2h0ID0g
NDsKKyAgICAgICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFz
Jyk7CisgICAgICAgIGNhbnZhczJkLndpZHRoID0gd2lkdGg7CisgICAgICAgIGNhbnZhczJkLmhl
aWdodCA9IGhlaWdodDsKKyAgICAgICAgdmFyIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgn
MmQnKTsKKyAgICAgICAgdmFyIGNvbG9yID0gWzY0LCAxMjgsIDEyOCwgMjU1XTsKKyAgICAgICAg
Y3R4MmQuZmlsbFN0eWxlID0gInJnYmEoIiArIGNvbG9yWzBdICsgIiwiICsgY29sb3JbMV0gKyAi
LCIgKyBjb2xvclsyXSArICIsIiArIGNvbG9yWzNdICsgIikiOworICAgICAgICBjdHgyZC5maWxs
UmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKworICAgICAgICB2YXIgdGV4dHVyZSA9IGdsLmNy
ZWF0ZVRleHR1cmUoKTsKKyAgICAgICAgZ2wuYmluZFRleHR1cmUodGV4dHVyZVRhcmdldCwgdGV4
dHVyZSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwgZ2wuVEVYVFVS
RV9NQUdfRklMVEVSLCBtYWdGaWx0ZXIpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKHRleHR1
cmVUYXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgbWluRmlsdGVyKTsKKyAgICAgICAgZ2wu
dGV4UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBf
VE9fRURHRSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwgZ2wuVEVY
VFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworCisgICAgICAgIGlmICh0ZXh0dXJlVGFy
Z2V0ID09IGdsLlRFWFRVUkVfMkQpIHsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVY
VFVSRV8yRCwgMCwgZm9ybWF0LCBmb3JtYXQsIGdsW3BpeGVsVHlwZV0sIGNhbnZhczJkKTsKKyAg
ICAgICAgICAgIGlmIChtaW5GaWx0ZXIgIT0gZ2wuTkVBUkVTVCAmJiBtaW5GaWx0ZXIgIT0gIGds
LkxJTkVBUikKKyAgICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpOwor
ICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHRleHR1cmVUYXJnZXQgPT0gZ2wuVEVYVFVSRV9D
VUJFX01BUCkgeworICAgICAgICAgICAgdmFyIHRhcmdldHMgPSBbCisgICAgICAgICAgICAgICAg
Z2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgICAgICAgICAgICAgIGdsLlRFWFRV
UkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICAgICAgICAgICAgICBnbC5URVhUVVJFX0NVQkVf
TUFQX1BPU0lUSVZFX1ksCisgICAgICAgICAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdB
VElWRV9ZLAorICAgICAgICAgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwK
KyAgICAgICAgICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pdOworICAgICAg
ICAgICAgICAgIGZvciAodmFyIHR0ID0gMDsgdHQgPCB0YXJnZXRzLmxlbmd0aDsgKyt0dCkKKyAg
ICAgICAgICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXRzW3R0XSwgMCwgZm9ybWF0LCBm
b3JtYXQsIGdsW3BpeGVsVHlwZV0sIGNhbnZhczJkKTsKKyAgICAgICAgICAgICAgICBpZiAobWlu
RmlsdGVyICE9IGdsLk5FQVJFU1QgJiYgbWluRmlsdGVyICE9ICBnbC5MSU5FQVIpCisgICAgICAg
ICAgICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVApOworICAg
ICAgICB9CisgICAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICAgIGlmICghbGluZWFyKSB7
CisgICAgICAgICAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgZXh0ZW5z
aW9uVHlwZU5hbWUgKyAiIHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3Vj
Y2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyICIgKyBleHRlbnNpb25OYW1lICsg
IiBpcyBlbmFibGVkIG9yIG5vdCIpOworICAgICAgICB9IGVsc2UgaWYgKCFleHRlbnNpb25FbmFi
bGVkKSB7CisgICAgICAgICAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
ZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBw
cm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgIiArIGV4dGVuc2lvbk5hbWUg
KyAiIGlzbid0IGVuYWJsZWQiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHd0dS5n
bEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCBleHRlbnNpb25UeXBlTmFtZSArICIgdGV4
dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiAi
ICsgZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIGlzIGVuYWJsZWQiKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgZXhwZWN0ZWQsICJzaG91bGQgYmUgIiArIGV4cGVjdGVk
WzBdICsgIiwiICsgZXhwZWN0ZWRbMV0gICsgIiwiICsgIGV4cGVjdGVkWzJdICsgIiwiICsgZXhw
ZWN0ZWRbM10pOworICAgIH0KKworICAgIHJldHVybiBpbml0OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218306</attachid>
            <date>2013-12-03 10:33:59 -0800</date>
            <delta_ts>2013-12-03 10:55:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124871-20131204053358.patch</filename>
            <type>text/plain</type>
            <size>66671</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJjYWM1Yjk1ZjZmZWQ2
NjEyOTcyZjUyYjdkYTFjNjM1MzJhNGRjNS4uNjM4NmRlOTczOWM1MmY5YjVkZmUzNmVkMDZhNmVi
YTk5MjE1MzdkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTEyLTAzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEltcGxlbWVudCBP
RVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4
dGVuc2lvbi4gR2VuZXJhbGx5CisgICAgICAgIHdlJ2QgYWxzbyBlbmFibGUgT0VTX3RleHR1cmVf
aGFsZl9mbG9hdF9saW5lYXIgYXQgdGhlIHNhbWUKKyAgICAgICAgdGltZSwgYnV0IHRoYXQncyBi
bG9ja2VkIG9uIHdlYmtpdC5vcmcvYi8xMTA5MzYuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52
YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwKKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6IEdlbmVyYXRlIG5ldyBmaWxlIGZyb20gSURMLgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTmV3IGZpbGVzIGZvciBPRVNUZXh0dXJl
RmxvYXRMaW5lYXIuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKTogTWFwIHRoZSBuZXcgbmFt
ZSBpbnRvIHRoZSBhcHByb3ByaWF0ZSB0eXBlLgorCisgICAgICAgICogaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcDogQWRkZWQuIFRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBjbGFz
cworICAgICAgICB0aGF0J3MgbW9zdGx5IGVtcHR5LgorICAgICAgICAoV2ViQ29yZTo6T0VTVGV4
dHVyZUZsb2F0TGluZWFyOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXIpOgorICAgICAgICAoV2ViQ29y
ZTo6T0VTVGV4dHVyZUZsb2F0TGluZWFyOjp+T0VTVGV4dHVyZUZsb2F0TGluZWFyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVGbG9hdExpbmVhcjo6Z2V0TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGw6IEFkZGVkLgorCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xFeHRlbnNpb24uaDogRGVjbGFyZSB0aGUgbmV3IG5hbWUgaW4gdGhlIGVudW0g
b2YgZXh0ZW5zaW9ucy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdB
cnJheXMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0OjpkcmF3RWxlbWVudHMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOiBDcmVhdGUgdGhlIG5ldyBleHRl
bnNpb24gaWYgYXNrZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyk6IFJlbmFtZWQgZnJvbSBoYW5kbGVOUE9UVGV4dHVy
ZXMuIE5vdworICAgICAgICBjaGVja3MgZm9yIHRoZSB0eXBlIG9mIHRoZSB0ZXh0dXJlIHRvby4K
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDogTWVtYmVyIHZh
cmlhYmxlIGZvciBuZXcgZXh0ZW5zaW9uLgorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xU
ZXh0dXJlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6V2ViR0xUZXh0dXJl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxhY2tUZXh0dXJl
KTogVGFrZXMgYW4gZXh0cmEgcGFyYW1ldGVyIHdoaWNoIGluZGljYXRlcworICAgICAgICBpZiBp
dCBoYXMgYW4gZXh0ZW5zaW9uIGVuYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFRleHR1
cmU6OnVwZGF0ZSk6IE5vdGUgaXQgaXMgYSBmbG9hdCB0eXBlIHdoZW4gdXBkYXRpbmcuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IE5ldyBmbGFnIHRvIGluZGljYXRlIGZs
b2F0IHR5cGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaDog
TmV3IGZsYWcgdHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5z
aW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6
c3VwcG9ydHNFeHRlbnNpb24pOiBBZGQgYSBjb21tZW50IGFib3V0IHRoZSBleHRlbnNpb24uCisK
IDIwMTMtMTItMDMgIEzDoXN6bMOzIExhbmfDsyAgPGxhbmdvQGluZi51LXN6ZWdlZC5odT4KIAog
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhdmFsdWUgfHwgKHZhbHVlLT5pc1ByaW1pdGl2ZVZh
bHVlKCkpIGluIFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Z2V0TGF5ZXJlZFNob3J0aGFuZFZh
bHVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMzVjMGYyOGI3ZDE3NTU2YmEz
OTY4NmZjYmFhYWFiMmZhN2MzMGViMi4uNTI1YWQ5MGRlMzdhOGIzMzEyMjRhNzY4M2M1ZmQzMmVh
OTk2YTZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00MTksNiArNDE5LDcg
QEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTRWxlbWVu
dEluZGV4VWludC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmRE
ZXJpdmF0aXZlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZs
b2F0LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5l
YXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA2N2FiNzY3MTA0MWZhNzA4YTY0YTc1NDNiYmIyZmJlNzBkZWU5YTUwLi4xOTY4MzYyMWRkMzY3
M2RlMzc5OTZkY2IyYWYyYWVjYjU1YjcwZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDY2LDYgKzEwNjYsMTAgQEAKIAkJ
MzEzMTNGNjUxNDQzQjM1RjAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzEzRjYzMTQ0M0Iz
NUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgKi87IH07CiAJCTMxMzEzRjY2
MTQ0M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTNGNjQxNDQzQjM1RTAwNkUyQTkw
IC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi87IH07CiAJCTMxMzhBOUU1MTQ3NDQzNDYwMEIw
RUQxMiAvKiBTdHlsZVNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzEzOEE5RTQxNDc0NDM0NjAwQjBFRDEyIC8qIFN0eWxlU2hhZGVyLmggKi87
IH07CisJCTMxNDZGRTZFMTg0NDIwQTgwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTY2
MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAqLzsgfTsKKwkJMzE0
NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU2NTE4NDQyMDg3
MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKKwkJMzE0NkZFNzQx
ODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTcwMTg0NDIzNjcwMDFB
OTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07CisJCTMxNDZGRTc1MTg0
NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzExODQ0MjM2NzAwMUE5MzdD
IC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CiAJCTMxNjAyM0YwMTUzMkM0MEMw
MEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNjExRTVB
MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU4MEUxQzRERTAw
MEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAqLzsgfTsKIAkJMzE2MTFF
NUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU5MEUxQzRERTAw
MEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87IH07CkBAIC03NzE4LDYg
Kzc3MjIsMTEgQEAKIAkJMzEzMTNGNjMxNDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJl
bmRlcmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbHRlckVm
ZmVjdFJlbmRlcmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEzMTNGNjQx
NDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxMzhBOUU0MTQ3NDQzNDYwMEIwRUQxMiAvKiBTdHlsZVNoYWRlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZVNoYWRlci5oOyBwYXRoID0g
c3R5bGUvU3R5bGVTaGFkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0NkZF
NjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwOyBw
YXRoID0gY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRM
aW5lYXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gT0VTVGV4dHVyZUZsb2F0
TGluZWFyLmg7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY3MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE9FU1RleHR1cmVGbG9h
dExpbmVhci5pZGw7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5MzdDIC8qIEpT
T0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgcGF0aCA9IEpTT0VTVGV4dHVyZUZs
b2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0NkZFNzExODQ0
MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHBhdGggPSBKU09F
U1RleHR1cmVGbG9hdExpbmVhci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYw
MjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1ODBFMUM0REUwMDBGNkE1NzkgLyogSlNX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE0OTY0LDYgKzE0OTczLDkgQEAKIAkJCQk2RUJGMEU0NTEyQTg5MjYxMDBE
QjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJGMEU0NjEyQTg5MjYxMDBE
QjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmggKi8sCiAJCQkJNkVCRjBFNDcxMkE4OTI2MTAwREIx
NzA5IC8qIE9FU1RleHR1cmVGbG9hdC5pZGwgKi8sCisJCQkJMzE0NkZFNjUxODQ0MjA4NzAwMUE5
MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi8sCisJCQkJMzE0NkZFNjYxODQ0MjA4
NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAorCQkJCTMxNDZGRTY3MTg0
NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsICovLAogCQkJCUEzMUM0
RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAqLywKIAkJCQlB
MzFDNEU0RTE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5oICovLAogCQkJ
CUEzMUM0RTUwMTZFMDJBQzUwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmlkbCAqLywK
QEAgLTE3NjkzLDYgKzE3NzA1LDggQEAKIAkJCQk5MDAxNzg3RjEyRTAzNzA3MDA2NDg0NjIgLyog
SlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggKi8sCiAJCQkJNkVCRjBFNzQxMkE5ODY4ODAwREIx
NzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJGMEU3NTEyQTk4Njg4MDBE
QjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLywKKwkJCQkzMTQ2RkU3MDE4NDQyMzY3MDAx
QTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwICovLAorCQkJCTMxNDZGRTcxMTg0
NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAogCQkJCUEzMUM0
RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3BwICovLAogCQkJ
CUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuaCAqLywK
IAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNWZXJ0ZXhBcnJheU9iamVjdC5j
cHAgKi8sCkBAIC0yMzQ0OSw2ICsyMzQ2Myw3IEBACiAJCQkJNTlBODYwMDgxMTlEQUZBMTAwREVG
MUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNF
NDM4OUMxNDBCMUJBODAwNUU0MzdFIC8qIEpTRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTRBRTdDMUExN0QyMzIzNTAwMDlGQjMxIC8qIEVsZW1lbnRBbmNlc3Rvckl0ZXJhdG9yLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkzMTQ2RkU3NTE4NDQyMzcwMDAxQTkzN0MgLyogSlNPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OUREQzgzMDlFMTk4QkEwMDFC
RjNDNiAvKiBKU0RvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ5NEVERjBBMTIzRjRD
MDBGREFGQzEgLyogSlNEb2N1bWVudEZyYWdtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURG
MzFGNjA5RDFDQzYwMDAwQkUzMjUgLyogSlNEb2N1bWVudFR5cGUuaCBpbiBIZWFkZXJzICovLApA
QCAtMjM3MTAsNiArMjM3MjUsNyBAQAogCQkJCUIyRkEzRDM5MEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR0FuaW1hdGVkQW5nbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDNCMEFCNzVBNkYw
MDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQm9vbGVhbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJG
QTNEM0QwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMzE0NkZFNkUxODQ0MjBBODAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9h
dExpbmVhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEM0YwQUI3NUE2RjAwMEU1QUM0IC8q
IEpTU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q0MTBBQjc1
QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZExlbmd0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QjJGQTNENDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmggaW4g
SGVhZGVycyAqLywKQEAgLTI1ODA3LDYgKzI1ODIzLDcgQEAKIAkJCQk5MzMwOUREQzA5OUU2NDky
MDA1NkU1ODEgLyogQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NzlGMkY1QTExMDkxOTM5QTAwMEQ4N0NCIC8qIENvbXBvc2l0aW9uRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkQzMTYwOEUxMkIwMjZGNzAwQzFBMzU5IC8qIENvbmUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExp
bmVhci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBCMzZBNDBDRDNDNjdDMDBBQzdFQjUgLyog
Q29uc29sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjE4RjBGNUYwNjk4MDBBMDdFQUMg
LyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgxODcyMUYwOTc3RDND
MDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNjQ5Miw2
ICsyNjUwOSw3IEBACiAJCQkJQTg3MURDMjYwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxTdHlsZUVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNENEU5NzIxMzBDN0NGRTAwN0JBNTQwIC8q
IEhUTUxTdW1tYXJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREIzMjBBMTUw
QkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2OCAvKiBIVE1M
VGFibGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREIyOTBBMTUwQkQ2
MDBCMTJBNjggLyogSFRNTFRhYmxlQ29sRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
ODcxREIyODBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5k
ZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA5MTUwZmUxNDRhMTlkYWJhMDQ5NmRh
ZmMzMDU0MDExMDBiNjYzYmZhLi4wOWQ5ODI2YTliNzM5OTAxZDg2OTg1MjY1ODJmN2ZhZGRjMGQ1
MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
ZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVk
ZSAiSlNPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFuZGFyZERlcml2
YXRpdmVzLmgiCiAjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJKU09F
U1RleHR1cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIkpTT0VTVGV4dHVyZUhhbGZGbG9hdC5o
IgogI2luY2x1ZGUgIkpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJKU1dlYkdM
QnVmZmVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiT0VTRWxlbWVudEluZGV4VWlu
dC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNsdWRlICJPRVNU
ZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCIKICNpbmNs
dWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4QXJyYXlPYmpl
Y3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgpAQCAtMjA3LDYgKzIwOSw4IEBAIHN0YXRp
YyBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBXZWJHTEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVj
dCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyo+KGV4dGVuc2lvbikpOwogICAg
IGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6CiAgICAgICAgIHJldHVy
biB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTVGV4dHVyZUZsb2F0Kj4o
ZXh0ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVyZUZsb2F0TGlu
ZWFyTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNf
Y2FzdDxPRVNUZXh0dXJlRmxvYXRMaW5lYXIqPihleHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdM
RXh0ZW5zaW9uOjpPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlSGFsZkZsb2F0Kj4oZXh0
ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVydGV4QXJyYXlPYmplY3RO
YW1lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZs
b2F0TGluZWFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9h
dExpbmVhci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4Zjg1ZTY2MjM4OWQ3NmQ3NWJlNTJkYWI0NmFjYzUy
ZDA0ZWFhNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09F
U1RleHR1cmVGbG9hdExpbmVhci5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
ZiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitPRVNUZXh0dXJlRmxv
YXRMaW5lYXI6Ok9FU1RleHR1cmVGbG9hdExpbmVhcihXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNv
bnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbihjb250ZXh0KQoreworfQorCitPRVNUZXh0dXJl
RmxvYXRMaW5lYXI6On5PRVNUZXh0dXJlRmxvYXRMaW5lYXIoKQoreworfQorCitXZWJHTEV4dGVu
c2lvbjo6RXh0ZW5zaW9uTmFtZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmdldE5hbWUoKSBjb25z
dAoreworICAgIHJldHVybiBPRVNUZXh0dXJlRmxvYXRMaW5lYXJOYW1lOworfQorCitPd25QdHI8
T0VTVGV4dHVyZUZsb2F0TGluZWFyPiBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZShXZWJH
TFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBP
RVNUZXh0dXJlRmxvYXRMaW5lYXIoY29udGV4dCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlZjhiODBiYTRk
ZTRhNjQ3NTUwM2I5Zjc4OTlkZWUyNjM5NGJlOTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaApAQCAtMCwwICsxLDQ3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBPRVNUZXh0dXJlRmxvYXRMaW5lYXJfaAorI2RlZmlu
ZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXJfaAorCisjaW5jbHVkZSAiV2ViR0xFeHRlbnNpb24uaCIK
KyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE9FU1RleHR1cmVGbG9hdExpbmVhciA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CitwdWJs
aWM6CisgICAgc3RhdGljIE93blB0cjxPRVNUZXh0dXJlRmxvYXRMaW5lYXI+IGNyZWF0ZShXZWJH
TFJlbmRlcmluZ0NvbnRleHQqKTsKKworICAgIHZpcnR1YWwgfk9FU1RleHR1cmVGbG9hdExpbmVh
cigpOworICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7CisKK3ByaXZh
dGU6CisgICAgT0VTVGV4dHVyZUZsb2F0TGluZWFyKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gT0VTVGV4dHVyZUZsb2F0
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9h
dExpbmVhci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRM
aW5lYXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiZTRiMDYzNDcxMDllNTA3YzI5YjBhM2NiN2U1NzI1NmJj
NTRkZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlRmxvYXRMaW5lYXIuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgTm9JbnRlcmZhY2VPYmplY3QsCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisgICAgR2VuZXJh
dGVJc1JlYWNoYWJsZT1JbXBsV2ViR0xSZW5kZXJpbmdDb250ZXh0LAorXSBpbnRlcmZhY2UgT0VT
VGV4dHVyZUZsb2F0TGluZWFyIHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xFeHRlbnNpb24uaAppbmRleCBmMDVlMzllOTg3NjM5OTQxMTBlY2I4OWQ5Y2I4ZDcwYWVmMTgx
YWQyLi43NGU5ZGE4ZjZlM2Q1MjIxYmRjYmY1MWRiZDU5ZjNiNWNjZjdiMGU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAg
cHVibGljOgogICAgICAgICBFWFREcmF3QnVmZmVyc05hbWUsCiAgICAgICAgIEVYVFRleHR1cmVG
aWx0ZXJBbmlzb3Ryb3BpY05hbWUsCiAgICAgICAgIE9FU1RleHR1cmVGbG9hdE5hbWUsCisgICAg
ICAgIE9FU1RleHR1cmVGbG9hdExpbmVhck5hbWUsCiAgICAgICAgIE9FU1RleHR1cmVIYWxmRmxv
YXROYW1lLAogICAgICAgICBPRVNTdGFuZGFyZERlcml2YXRpdmVzTmFtZSwKICAgICAgICAgT0VT
VmVydGV4QXJyYXlPYmplY3ROYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggZjhlYzIxOTczZDE4NjY0OTA0Njdj
ZmY0OTEwMGYxNmQzZmU1YTc2ZC4uM2ZhYWVmMDZlNTZmMzRiNTQ2ZTljZDkwNjdiMGZkODU5YmI2
YjAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiT0VTRWxlbWVudElu
ZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNsdWRl
ICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCIK
ICNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4QXJy
YXlPYmplY3QuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0xOTg2LDEyICsxOTg3LDEyIEBAIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkcmF3QXJyYXlzKEdDM0RlbnVtIG1vZGUsIEdDM0Rp
bnQgZmlyc3QsIEdDM0RzaXplaSBjCiAgICAgaWYgKCFpc0dMRVMyQ29tcGxpYW50KCkpCiAgICAg
ICAgIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQgPSBzaW11bGF0ZVZlcnRleEF0dHJpYjAoZmlyc3Qg
KyBjb3VudCAtIDEpOwogICAgIGlmICghaXNHTEVTMk5QT1RTdHJpY3QoKSkKLSAgICAgICAgaGFu
ZGxlTlBPVFRleHR1cmVzKCJkcmF3QXJyYXlzIiwgdHJ1ZSk7CisgICAgICAgIGNoZWNrVGV4dHVy
ZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5cyIsIHRydWUpOwogICAgIG1fY29udGV4dC0+ZHJhd0Fy
cmF5cyhtb2RlLCBmaXJzdCwgY291bnQpOwogICAgIGlmICghaXNHTEVTMkNvbXBsaWFudCgpICYm
IHZlcnRleEF0dHJpYjBTaW11bGF0ZWQpCiAgICAgICAgIHJlc3RvcmVTdGF0ZXNBZnRlclZlcnRl
eEF0dHJpYjBTaW11bGF0aW9uKCk7CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmljdCgpKQotICAg
ICAgICBoYW5kbGVOUE9UVGV4dHVyZXMoImRyYXdBcnJheXMiLCBmYWxzZSk7CisgICAgICAgIGNo
ZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5cyIsIGZhbHNlKTsKICAgICBjbGVhbnVw
QWZ0ZXJHcmFwaGljc0NhbGwodHJ1ZSk7CiB9CiAKQEAgLTIwNzAsMTIgKzIwNzEsMTIgQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdFbGVtZW50cyhHQzNEZW51bSBtb2RlLCBHQzNE
c2l6ZWkgY291bnQsIEdDM0RlbnUKICAgICAgICAgdmVydGV4QXR0cmliMFNpbXVsYXRlZCA9IHNp
bXVsYXRlVmVydGV4QXR0cmliMChudW1FbGVtZW50cyk7CiAgICAgfQogICAgIGlmICghaXNHTEVT
Mk5QT1RTdHJpY3QoKSkKLSAgICAgICAgaGFuZGxlTlBPVFRleHR1cmVzKCJkcmF3RWxlbWVudHMi
LCB0cnVlKTsKKyAgICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3RWxlbWVudHMi
LCB0cnVlKTsKICAgICBtX2NvbnRleHQtPmRyYXdFbGVtZW50cyhtb2RlLCBjb3VudCwgdHlwZSwg
c3RhdGljX2Nhc3Q8R0MzRGludHB0cj4ob2Zmc2V0KSk7CiAgICAgaWYgKCFpc0dMRVMyQ29tcGxp
YW50KCkgJiYgdmVydGV4QXR0cmliMFNpbXVsYXRlZCkKICAgICAgICAgcmVzdG9yZVN0YXRlc0Fm
dGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKTsKICAgICBpZiAoIWlzR0xFUzJOUE9UU3RyaWN0
KCkpCi0gICAgICAgIGhhbmRsZU5QT1RUZXh0dXJlcygiZHJhd0VsZW1lbnRzIiwgZmFsc2UpOwor
ICAgICAgICBjaGVja1RleHR1cmVDb21wbGV0ZW5lc3MoImRyYXdFbGVtZW50cyIsIGZhbHNlKTsK
ICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwodHJ1ZSk7CiB9CiAKQEAgLTIzOTEsNiArMjM5
MiwxNCBAQCBXZWJHTEV4dGVuc2lvbiogV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNp
b24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX29lc1Rl
eHR1cmVGbG9hdC5nZXQoKTsKICAgICB9CisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUs
ICJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKQorICAgICAgICAmJiBtX2NvbnRleHQtPmdldEV4
dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpKSB7Cisg
ICAgICAgIGlmICghbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXIpIHsKKyAgICAgICAgICAgIG1fY29u
dGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5lbnN1cmVFbmFibGVkKCJHTF9PRVNfdGV4dHVyZV9mbG9h
dF9saW5lYXIiKTsKKyAgICAgICAgICAgIG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyID0gT0VTVGV4
dHVyZUZsb2F0TGluZWFyOjpjcmVhdGUodGhpcyk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyLmdldCgpOworICAgIH0KICAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UobmFtZSwgIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKQogICAgICAgICAmJiBtX2Nv
bnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU190ZXh0dXJlX2hhbGZfZmxv
YXQiKSkgewogICAgICAgICBpZiAoIW1fb2VzVGV4dHVyZUhhbGZGbG9hdCkgewpAQCAtNDg0NCwx
MiArNDg1MywxNCBAQCBXZWJHTEdldEluZm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRXZWJH
TEludEFycmF5UGFyYW1ldGVyKEdDM0RlbnVtIHBuYW1lKQogICAgIHJldHVybiBXZWJHTEdldElu
Zm8oSW50MzJBcnJheTo6Y3JlYXRlKHZhbHVlLCBsZW5ndGgpKTsKIH0KIAotdm9pZCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OmhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBjaGFyKiBmdW5jdGlvbk5h
bWUsIGJvb2wgcHJlcGFyZVRvRHJhdykKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpjaGVj
a1RleHR1cmVDb21wbGV0ZW5lc3MoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBib29sIHByZXBh
cmVUb0RyYXcpCiB7CiAgICAgYm9vbCByZXNldEFjdGl2ZVVuaXQgPSBmYWxzZTsKKyAgICBXZWJH
TFRleHR1cmU6OlRleHR1cmVFeHRlbnNpb25GbGFnIGV4dGVuc2lvbnMgPSBzdGF0aWNfY2FzdDxX
ZWJHTFRleHR1cmU6OlRleHR1cmVFeHRlbnNpb25GbGFnPihtX29lc1RleHR1cmVGbG9hdExpbmVh
ciA/IFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsb2F0TGluZWFyRW5hYmxlZCA6IDAp
OworCiAgICAgZm9yICh1bnNpZ25lZCBpaSA9IDA7IGlpIDwgbV90ZXh0dXJlVW5pdHMuc2l6ZSgp
OyArK2lpKSB7Ci0gICAgICAgIGlmICgobV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRp
bmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmctPm5lZWRUb1VzZUJsYWNr
VGV4dHVyZSgpKQotICAgICAgICAgICAgfHwgKG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3Vi
ZU1hcEJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFwQmluZGluZy0+
bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpKSB7CisgICAgICAgIGlmICgobV90ZXh0dXJlVW5pdHNb
aWldLnRleHR1cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRp
bmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKKyAgICAgICAgICAgIHx8ICht
X3RleHR1cmVVbml0c1tpaV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRz
W2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNp
b25zKSkpIHsKICAgICAgICAgICAgIGlmIChpaSAhPSBtX2FjdGl2ZVRleHR1cmVVbml0KSB7CiAg
ICAgICAgICAgICAgICAgbV9jb250ZXh0LT5hY3RpdmVUZXh0dXJlKGlpKTsKICAgICAgICAgICAg
ICAgICByZXNldEFjdGl2ZVVuaXQgPSB0cnVlOwpAQCAtNDg2MSw3ICs0ODcyLDggQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBjaGFyKiBmdW5j
dGlvbk5hbWUsIGJvb2wgcHIKICAgICAgICAgICAgIFdlYkdMVGV4dHVyZSogdGV4Q3ViZU1hcDsK
ICAgICAgICAgICAgIGlmIChwcmVwYXJlVG9EcmF3KSB7CiAgICAgICAgICAgICAgICAgU3RyaW5n
IG1zZyhTdHJpbmcoInRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0ICIpICsgU3RyaW5nOjpu
dW1iZXIoaWkpCi0gICAgICAgICAgICAgICAgICAgICsgIiBpcyBub3QgcmVuZGVyYWJsZS4gSXQg
bWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVy
aW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZSciKTsKKyAgICAgICAgICAgICAgICAgICAg
KyAiIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBp
bmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRl
JywiCisgICAgICAgICAgICAgICAgICAgICsgIiBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBs
aW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0
ZW5zaW9uIGVuYWJsZWQuIik7CiAgICAgICAgICAgICAgICAgcHJpbnRHTFdhcm5pbmdUb0NvbnNv
bGUoZnVuY3Rpb25OYW1lLCBtc2cudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAgICAgICAgdGV4
MkQgPSBtX2JsYWNrVGV4dHVyZTJELmdldCgpOwogICAgICAgICAgICAgICAgIHRleEN1YmVNYXAg
PSBtX2JsYWNrVGV4dHVyZUN1YmVNYXAuZ2V0KCk7CkBAIC00ODY5LDkgKzQ4ODEsOSBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVzKGNvbnN0IGNoYXIqIGZ1
bmN0aW9uTmFtZSwgYm9vbCBwcgogICAgICAgICAgICAgICAgIHRleDJEID0gbV90ZXh0dXJlVW5p
dHNbaWldLnRleHR1cmUyREJpbmRpbmcuZ2V0KCk7CiAgICAgICAgICAgICAgICAgdGV4Q3ViZU1h
cCA9IG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcuZ2V0KCk7CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBpZiAobV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJp
bmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmctPm5lZWRUb1VzZUJs
YWNrVGV4dHVyZSgpKQorICAgICAgICAgICAgaWYgKG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJl
MkRCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlMkRCaW5kaW5nLT5uZWVkVG9V
c2VCbGFja1RleHR1cmUoZXh0ZW5zaW9ucykpCiAgICAgICAgICAgICAgICAgbV9jb250ZXh0LT5i
aW5kVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgb2JqZWN0T3JaZXJvKHRl
eDJEKSk7Ci0gICAgICAgICAgICBpZiAobV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFw
QmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nLT5uZWVk
VG9Vc2VCbGFja1RleHR1cmUoKSkKKyAgICAgICAgICAgIGlmIChtX3RleHR1cmVVbml0c1tpaV0u
dGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1h
cEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKICAgICAgICAgICAg
ICAgICBtX2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX0NV
QkVfTUFQLCBvYmplY3RPclplcm8odGV4Q3ViZU1hcCkpOwogICAgICAgICB9CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApp
bmRleCA1ZGU2OGMzZTMxOTNjMzQ1N2M3MTBkNDU0MDFhMzllYzE5OTQxNzUzLi44YjIzNGM1NzYx
OTM3OGRhYWJiMmFmODIzN2Y2Njk5ZTQ4OTEwMjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTAsNiArNTAsNyBAQCBj
bGFzcyBJbWFnZURhdGE7CiBjbGFzcyBJbnRTaXplOwogY2xhc3MgT0VTU3RhbmRhcmREZXJpdmF0
aXZlczsKIGNsYXNzIE9FU1RleHR1cmVGbG9hdDsKK2NsYXNzIE9FU1RleHR1cmVGbG9hdExpbmVh
cjsKIGNsYXNzIE9FU1RleHR1cmVIYWxmRmxvYXQ7CiBjbGFzcyBPRVNWZXJ0ZXhBcnJheU9iamVj
dDsKIGNsYXNzIE9FU0VsZW1lbnRJbmRleFVpbnQ7CkBAIC01MjUsNiArNTI2LDcgQEAgcHJpdmF0
ZToKICAgICBPd25QdHI8RVhURHJhd0J1ZmZlcnM+IG1fZXh0RHJhd0J1ZmZlcnM7CiAgICAgT3du
UHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4gbV9leHRUZXh0dXJlRmlsdGVyQW5pc290
cm9waWM7CiAgICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdD4gbV9vZXNUZXh0dXJlRmxvYXQ7Cisg
ICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdExpbmVhcj4gbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXI7
CiAgICAgT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IG1fb2VzVGV4dHVyZUhhbGZGbG9hdDsK
ICAgICBPd25QdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gbV9vZXNTdGFuZGFyZERlcml2YXRp
dmVzOwogICAgIE93blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVjdD4gbV9vZXNWZXJ0ZXhBcnJheU9i
amVjdDsKQEAgLTU1OSw3ICs1NjEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdGV4U3ViSW1hZ2Uy
REJhc2UoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdD
M0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51
bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscywgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgdGV4U3ViSW1hZ2UyREltcGwoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRGVudW0gZm9ybWF0
LCBHQzNEZW51bSB0eXBlLCBJbWFnZSosIEdyYXBoaWNzQ29udGV4dDNEOjpJbWFnZUh0bWxEb21T
b3VyY2UsIGJvb2wgZmxpcFksIGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgRXhjZXB0aW9uQ29kZSYp
OwogCi0gICAgdm9pZCBoYW5kbGVOUE9UVGV4dHVyZXMoY29uc3QgY2hhciosIGJvb2wpOworICAg
IHZvaWQgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKGNvbnN0IGNoYXIqLCBib29sKTsKIAogICAg
IHZvaWQgY3JlYXRlRmFsbGJhY2tCbGFja1RleHR1cmVzMXgxKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwCmluZGV4IGMzY2M3OTAwMTU1NzUxOWVjMTRj
OTIxNjYzMWMwZTE5NTFlMDM3ZDYuLmYxMGY1ZGYwNWFlMTU0NDU3MDlkNzhkMjIxZDhlY2E3NDQw
ZGRmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVy
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmNwcApA
QCAtNTEsNiArNTEsNyBAQCBXZWJHTFRleHR1cmU6OldlYkdMVGV4dHVyZShXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqIGN0eCkKICAgICAsIG1faXNDb21wbGV0ZShmYWxzZSkKICAgICAsIG1fbmVlZFRv
VXNlQmxhY2tUZXh0dXJlKGZhbHNlKQogICAgICwgbV9pc0NvbXByZXNzZWQoZmFsc2UpCisgICAg
LCBtX2lzRmxvYXRUeXBlKGZhbHNlKQogewogICAgIHNldE9iamVjdChjdHgtPmdyYXBoaWNzQ29u
dGV4dDNEKCktPmNyZWF0ZVRleHR1cmUoKSk7CiB9CkBAIC0yMzMsMTEgKzIzNCwxNyBAQCBib29s
IFdlYkdMVGV4dHVyZTo6aXNOUE9UKCkgY29uc3QKICAgICByZXR1cm4gbV9pc05QT1Q7CiB9CiAK
LWJvb2wgV2ViR0xUZXh0dXJlOjpuZWVkVG9Vc2VCbGFja1RleHR1cmUoKSBjb25zdAorYm9vbCBX
ZWJHTFRleHR1cmU6Om5lZWRUb1VzZUJsYWNrVGV4dHVyZShUZXh0dXJlRXh0ZW5zaW9uRmxhZyBl
eHRlbnNpb25zKSBjb25zdAogewogICAgIGlmICghb2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICByZXR1cm4gbV9uZWVkVG9Vc2VCbGFja1RleHR1cmU7CisgICAgaWYgKG1fbmVl
ZFRvVXNlQmxhY2tUZXh0dXJlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAobV9pc0Zs
b2F0VHlwZSAmJiAhKGV4dGVuc2lvbnMgJiBUZXh0dXJlRXh0ZW5zaW9uRmxvYXRMaW5lYXJFbmFi
bGVkKSkgeworICAgICAgICBpZiAobV9tYWdGaWx0ZXIgIT0gR3JhcGhpY3NDb250ZXh0M0Q6Ok5F
QVJFU1QgfHwgKG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNEOjpORUFSRVNUICYmIG1f
bWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNEOjpORUFSRVNUX01JUE1BUF9ORUFSRVNUKSkK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAK
IGJvb2wgV2ViR0xUZXh0dXJlOjppc0NvbXByZXNzZWQoKSBjb25zdApAQCAtMzU3LDYgKzM2NCwx
OCBAQCB2b2lkIFdlYkdMVGV4dHVyZTo6dXBkYXRlKCkKICAgICAgICAgfQogICAgIH0KIAorICAg
IG1faXNGbG9hdFR5cGUgPSBmYWxzZTsKKyAgICBpZiAobV9pc0NvbXBsZXRlKQorICAgICAgICBt
X2lzRmxvYXRUeXBlID0gbV9pbmZvWzBdWzBdLnR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZM
T0FUOworICAgIGVsc2UgeworICAgICAgICBmb3IgKHNpemVfdCBpaSA9IDA7IGlpIDwgbV9pbmZv
LnNpemUoKTsgKytpaSkgeworICAgICAgICAgICAgaWYgKG1faW5mb1tpaV1bMF0udHlwZSA9PSBH
cmFwaGljc0NvbnRleHQzRDo6RkxPQVQpIHsKKyAgICAgICAgICAgICAgICBtX2lzRmxvYXRUeXBl
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KKwogICAgIG1fbmVlZFRvVXNlQmxhY2tUZXh0dXJlID0gZmFsc2U7CiAgICAgLy8g
TlBPVAogICAgIGlmIChtX2lzTlBPVCAmJiAoKG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4
dDNEOjpORUFSRVNUICYmIG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNEOjpMSU5FQVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oCmluZGV4IDJkZjU0ZTY4
ZDM3ZDE1ZWRhNmZkY2UzMTNmMDlkMjJkOGVmMTQ1ZjAuLjg4MzYwYmUwNjBkYTE3OWRmMmYyMDQ3
NzEzZTYxYmJmYTc2ZjE4YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVGV4dHVyZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4
dHVyZS5oCkBAIC0zNSw2ICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFdl
YkdMVGV4dHVyZSA6IHB1YmxpYyBXZWJHTFNoYXJlZE9iamVjdCB7CiBwdWJsaWM6CisKKyAgICBl
bnVtIFRleHR1cmVFeHRlbnNpb25GbGFnIHsKKyAgICAgICAgVGV4dHVyZUV4dGVuc2lvbnNEaXNh
YmxlZCA9IDAsCisgICAgICAgIFRleHR1cmVFeHRlbnNpb25GbG9hdExpbmVhckVuYWJsZWQgPSAx
IDw8IDAKKyAgICB9OworCiAgICAgdmlydHVhbCB+V2ViR0xUZXh0dXJlKCk7CiAKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxXZWJHTFRleHR1cmU+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQq
KTsKQEAgLTY0LDcgKzcwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc05QT1QoKSBjb25zdDsK
ICAgICAvLyBEZXRlcm1pbmUgaWYgdGV4dHVyZSBzYW1wbGluZyBzaG91bGQgYWx3YXlzIHJldHVy
biBbMCwgMCwgMCwgMV0gKE9wZW5HTCBFUyAyLjAgU2VjIDMuOC4yKS4KLSAgICBib29sIG5lZWRU
b1VzZUJsYWNrVGV4dHVyZSgpIGNvbnN0OworICAgIGJvb2wgbmVlZFRvVXNlQmxhY2tUZXh0dXJl
KFRleHR1cmVFeHRlbnNpb25GbGFnKSBjb25zdDsKIAogICAgIGJvb2wgaXNDb21wcmVzc2VkKCkg
Y29uc3Q7CiAgICAgdm9pZCBzZXRDb21wcmVzc2VkKCk7CkBAIC0xMjcsNiArMTMzLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNDb21wbGV0ZTsKICAgICBib29sIG1fbmVlZFRvVXNlQmxhY2tU
ZXh0dXJlOwogICAgIGJvb2wgbV9pc0NvbXByZXNzZWQ7CisgICAgYm9vbCBtX2lzRmxvYXRUeXBl
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaAppbmRleCAzYmVkNDZmZDJmNjQzNGU1ZDZhMTE4
ZWJjZWRkMDZhZTBkNmJkOWMwLi41OGY2OTg2ODVhOGMwNDI5MmYzZWRlYjJlZTMyNTI2Njc3NWMy
MmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNp
b25zM0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25z
M0QuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgLy8gICBHTF9FWFRfcGFja2VkX2Rl
cHRoX3N0ZW5jaWwgLyBHTF9PRVNfcGFja2VkX2RlcHRoX3N0ZW5jaWwKICAgICAvLyAgIEdMX0FO
R0xFX2ZyYW1lYnVmZmVyX2JsaXQgLyBHTF9BTkdMRV9mcmFtZWJ1ZmZlcl9tdWx0aXNhbXBsZQog
ICAgIC8vICAgR0xfT0VTX3RleHR1cmVfZmxvYXQKKyAgICAvLyAgIEdMX09FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhcgogICAgIC8vICAgR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdAogICAgIC8vICAg
R0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzCiAgICAgLy8gICBHTF9PRVNfcmdiOF9yZ2JhOApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcAppbmRleCAzODQ3OGJiOTA0MGUwN2IzZjEwOTUxMjE1
NjFhODRjODJjN2VkOGViLi5mYTI3OTBkM2FmOTUwY2ZmNGRjYjU2YzVmY2QzYjQ4NjZjMmMzYzY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcApAQCAtMTUzLDkgKzE1Myw5IEBAIGJvb2wg
RXh0ZW5zaW9uczNET3BlbkdMOjpzdXBwb3J0c0V4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5hbWUp
CiAgICAgaWYgKG5hbWUgPT0gIkdMX09FU19yZ2I4X3JnYmE4IikKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICAvLyBJZiBHTF9BUkJfdGV4dHVyZV9mbG9hdCBpcyBhdmFpbGFibGUgdGhlbiB3
ZSByZXBvcnQgR0xfT0VTX3RleHR1cmVfZmxvYXQgYW5kCi0gICAgLy8gR0xfT0VTX3RleHR1cmVf
aGFsZl9mbG9hdCBhcyBhdmFpbGFibGUuCi0gICAgaWYgKG5hbWUgPT0gIkdMX09FU190ZXh0dXJl
X2Zsb2F0IiB8fCBuYW1lID09ICJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IikKKyAgICAvLyBJ
ZiBHTF9BUkJfdGV4dHVyZV9mbG9hdCBpcyBhdmFpbGFibGUgdGhlbiB3ZSByZXBvcnQgR0xfT0VT
X3RleHR1cmVfZmxvYXQsCisgICAgLy8gR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdCBhbmQgR0xf
T0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGFzIGF2YWlsYWJsZS4KKyAgICBpZiAobmFtZSA9PSAi
R0xfT0VTX3RleHR1cmVfZmxvYXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJlX2hhbGZfZmxv
YXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpCiAgICAgICAgIHJl
dHVybiBtX2F2YWlsYWJsZUV4dGVuc2lvbnMuY29udGFpbnMoIkdMX0FSQl90ZXh0dXJlX2Zsb2F0
Iik7CiAKICAgICAvLyBHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU3ZmM0ZTUw
NGRhM2VjZGMwNmI0OTExZjZiMjkwYzgyYmJkNzJmY2YuLmI0OWJjNGI1NjYxNjBiMGNhMjkwNGFj
OGFlZTZiOTM5MDgzMmI2ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0xMi0wMyAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBJbXBsZW1lbnQg
T0VTIHRleHR1cmUgZmxvYXQgbGluZWFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjQ4NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgdGhlIEtocm9ub3MgdGVzdCBmaWxlcyBmb3IgdGhpcyBleHRl
bnNpb24uCisKKyAgICAgICAgQWRkIHRoZSBKUyB0ZXN0IGZpbGUgZm9yIE9FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhciBhbmQgT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIKKyAgICAgICAgZXZl
biB0aG91Z2ggaXQncyBvbmx5IHVzZWQgZm9yIHRoZSBmb3JtZXIgYXQgdGhlIG1vbWVudC4KKwor
ICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWZsb2F0LWxpbmVhci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvb2VzLXRleHR1
cmUtZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzOiBBZGRlZC4KKwogMjAxMy0xMi0wMyAg
Q2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBhcmlh
LWhpZGRlbj1mYWxzZSBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1mbG9hdC1saW5lYXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQt
bGluZWFyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTYwZDgyMjVhYjZiNTI0Y2JlOGYzNDNk
M2QyNjIwMTFhMmQzYWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIyMCBAQAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3Vu
ZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2Vy
LW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAn
dGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0
ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5h
YmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQg
dG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1v
Zi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3Rl
eHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVy
aW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJs
ZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRv
IHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2Yt
MiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0
dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmlu
ZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVk
LgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0
ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIg
YW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVy
ZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcg
YW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4K
K0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4
dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFu
ZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUg
Y29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFu
ZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitD
T05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1
cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQg
aGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNv
bXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQg
d2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09O
U09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJl
IHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhh
dmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21w
bGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdp
dGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNP
TEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1
bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZl
IGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxl
dGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRo
b3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xF
IE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5p
dCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBp
bmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRl
Jywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91
dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBN
RVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQg
MCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5j
b21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScs
IG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQg
dGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVT
U0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAg
aXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29t
cGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBv
ciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRo
ZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NB
R0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlz
IG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBh
dGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3Ig
aXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUg
cmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdF
OiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBu
b3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRp
YmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0
IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJl
bGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTog
V2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90
IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJs
ZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBp
cyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxl
dmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdl
YkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCBy
ZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUg
dGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMg
YSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZh
bnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJH
TDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVu
ZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRl
eHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEg
RmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50
IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6
IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRl
cmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0
dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZs
b2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBm
bG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBk
cmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJh
YmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVy
ZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9h
dCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxv
YXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJh
d0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJs
ZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUg
ZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQg
dHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0
IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdB
cnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUu
IEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZp
bHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5
cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBs
aW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJy
YXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJ
dCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0
ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBl
IHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGlu
ZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5
czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQg
bWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVy
aW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3
aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVh
ciBleHRlbnNpb24gZW5hYmxlZC4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVuY3Rpb25hbGl0
eSBvZiB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4dGVuc2lvbiwgaWYgaXQgaXMgYXZh
aWxhYmxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKyBQQVNTIFN1Y2Nlc3NmdWxs
eSBlbmFibGVkIE9FU190ZXh0dXJlX2Zsb2F0IGV4dGVuc2lvbgorCit0ZXN0aW5nIHRhcmdldDog
VEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwg
bWluRmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVu
YWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190
ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2Vl
ZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciBpcyBlbmFibGVkIG9yIG5vdAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rl
c3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVy
IGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91
bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVz
dGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIg
aXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9u
LUxpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hl
dGhlciBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hv
dWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwgdGVz
dGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBO
RUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3Rl
eHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAs
IDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNu
J3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBU
RVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBt
aW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91
bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVz
dGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIg
aXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0
dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVh
ciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBP
RVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCww
LDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdC
QSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVCwgT0VTX3RleHR1
cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFy
IGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9F
U190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAs
MCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JB
LCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBm
aWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNf
dGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAs
MjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwg
bWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVT
VCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJl
IHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5P
X0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNo
b3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3Rpbmcg
Zm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBORUFSRVNU
X01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVf
ZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAs
IDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5h
YmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJF
XzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRl
ciBpczogTElORUFSX01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMg
bm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9k
dWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRh
cmdldDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElO
RUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9h
dF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVy
IHNob3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1
cmVfZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQor
Cit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEs
IG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVy
ZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBub24tTGlu
ZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVy
IE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkIG9yIG5vdAorUEFTUyBzaG91bGQg
YmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0
ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6
IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0
ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3
aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQ
QVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9N
QVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRl
ciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlz
IG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9uLUxpbmVhciBmaWx0ZXIgc2hvdWxk
IHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hldGhlciBPRVNfdGV4dHVyZV9mbG9h
dF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1
NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJH
QkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9M
SU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4
dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0
aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFT
UyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQ
LCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIg
aXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5v
dCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBP
RVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVj
ZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJn
ZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6
IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBm
aWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNf
dGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAs
MjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDog
UkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVCwgT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGlu
ZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlm
IE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAw
LDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9y
bWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9F
U190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRo
IExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJP
UiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQg
YmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5n
IGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVT
VF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVy
ZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwg
MCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBl
bmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRV
UkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwg
bWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xp
bmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hv
dWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9m
bG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rl
c3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFn
RmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9ORUFSRVNULCBP
RVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0
aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJS
T1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxk
IGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGlu
ZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVB
Ul9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJl
X2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9kdWNlIFswLCAwLCAw
LCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzbid0IGVu
YWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVS
RV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmls
dGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxv
YXQgdGV4dHVyZSB3aXRoIG5vbi1MaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9f
RVJST1Igbm8gbWF0dGVyIHdoZXRoZXIgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJs
ZWQgb3Igbm90CitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJn
ZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJF
U1QsIG1pbkZpbHRlciBpczogTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3Rl
eHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0
aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBi
ZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3Rpbmcg
Zm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTkVBUkVT
VF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zs
b2F0IHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5P
X0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFi
bGVkIG9yIG5vdAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFy
Z2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFS
RVNULCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1RfTUlQTUFQX0xJTkVBUiwgT0VTX3RleHR1cmVfZmxv
YXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNo
b3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxl
ZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhU
VVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5G
aWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFy
IGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNj
ZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBz
aG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0
ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6
IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1
cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBO
T19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAy
NTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9y
bWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBP
RVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExp
bmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9m
bG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGlu
ZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6
IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBp
cyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBP
RVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2Vl
ZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hv
dWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwgdGVz
dGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5F
QVJFU1RfTUlQTUFQX05FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVy
ZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5P
X0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1
NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3Jt
YXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1RfTUlQ
TUFQX0xJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRl
eHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYg
T0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUs
MjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwg
bWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9ORUFSRVNU
LCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRo
IExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVy
ZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVz
dGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIg
aXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVJfTUlQTUFQX0xJTkVBUiwgT0VTX3RleHR1
cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmls
dGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMg
ZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0
OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBO
RUFSRVNULCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBp
cyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBP
RVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9uLUxpbmVhciBmaWx0ZXIgc2hvdWxkIHN1
Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hldGhlciBPRVNfdGV4dHVyZV9mbG9hdF9s
aW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQor
Cit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEs
IG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRl
ciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVu
YWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDog
VEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVB
UkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9m
bG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIG5vbi1MaW5lYXIgZmls
dGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1Igbm8gbWF0dGVyIHdoZXRoZXIgT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQgb3Igbm90CitQQVNTIHNob3VsZCBiZSAyNTUs
MjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3Rpbmcg
Zm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTkVBUkVT
VF9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxv
YXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJP
UiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1
LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9y
bWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01J
UE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQg
dGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBp
ZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1
NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0
OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1B
UF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0
dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9F
U190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1
NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJH
QkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1QsIE9FU190ZXh0
dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZp
bHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlz
IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdl
dDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczog
TElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlz
IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9F
U190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVk
IHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91
bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQ
LCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBp
czogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVu
YWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190
ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdp
dGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91bGQg
YmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0
ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczog
TkVBUkVTVF9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1
cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBO
T19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAy
NTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3Rp
bmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5F
QVJfTUlQTUFQX05FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9m
bG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VS
Uk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwy
NTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBm
b3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9N
SVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQg
dGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBp
ZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1
NSwyNTUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRl
eHR1cmUtZmxvYXQtbGluZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9v
ZXMtdGV4dHVyZS1mbG9hdC1saW5lYXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGZmOGZmZTg3YThiZDc5
NDUxZDczZDNmMGI4OGUyNjE0N2ExMzAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwKQEAgLTAsMCAr
MSw1MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCwg
ZXh0ZW5zaW9uVHlwZU5hbWUpIHsKKyAgICBpZiAoIWdsLmdldEV4dGVuc2lvbihleHRlbnNpb25U
eXBlTmFtZSkpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiTm8gIiArIGV4dGVuc2lvblR5cGVOYW1l
ICsgIiBzdXBwb3J0IC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCAiICsgZXh0ZW5zaW9u
VHlwZU5hbWUgKyAiIGV4dGVuc2lvbiIpOworICAgIHJldHVybiB0cnVlOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiT0VTX3RleHR1cmVfZmxvYXQi
LCAiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIiwgIkZMT0FUIiwgdGVzdFByb2xvZ3VlKSgpJz4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgc3R5bGU9
IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7Ij4gPC9jYW52YXM+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL3Jlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1s
aW5lYXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvb2VzLXRl
eHR1cmUtZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkOGQwYWYw
MTI1ZWIwNTFkYTMxNjVhMzJlYjllNjE2MzQzZTY3N2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvb2VzLXRleHR1cmUtZmxvYXQtYW5k
LWhhbGYtZmxvYXQtbGluZWFyLmpzCkBAIC0wLDAgKzEsMTcyIEBACisvKgorKiogQ29weXJpZ2h0
IChjKSAyMDEzIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor
KiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g
ZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp
Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRl
LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRv
CisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoq
IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo
YWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z
IG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElF
RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVS
Q0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5G
UklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU
IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9U
SEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQor
KiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFM
Uy4KKyovCisKK2Z1bmN0aW9uIGdlbmVyYXRlVGVzdChleHRlbnNpb25UeXBlTmFtZSwgZXh0ZW5z
aW9uTmFtZSwgcGl4ZWxUeXBlLCBwcm9sb2d1ZSkgeworICAgIHZhciB3dHUgPSBXZWJHTFRlc3RV
dGlsczsKKyAgICB2YXIgZ2wgPSBudWxsOworICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBm
YWxzZTsKKworICAgIHZhciBpbml0ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgIiArIGV4
dGVuc2lvbk5hbWUgKyAiIGV4dGVuc2lvbiwgaWYgaXQgaXMgYXZhaWxhYmxlLiIpOworCisgICAg
ICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CisgICAg
ICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworCisgICAgICAgIGlmICghcHJv
bG9ndWUoZ2wsIGV4dGVuc2lvblR5cGVOYW1lKSkgeworICAgICAgICAgICAgZmluaXNoVGVzdCgp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8gQmVmb3JlIHRo
ZSBleHRlbnNpb24gaXMgZW5hYmxlZAorICAgICAgICB2YXIgZXh0ZW5zaW9uRW5hYmxlZCA9IGZh
bHNlOworICAgICAgICBydW5UZXN0U3VpdGUoZXh0ZW5zaW9uRW5hYmxlZCk7CisKKyAgICAgICAg
aWYgKCFnbC5nZXRFeHRlbnNpb24oZXh0ZW5zaW9uTmFtZSkpCisgICAgICAgICAgICB0ZXN0UGFz
c2VkKCJObyAiICsgZXh0ZW5zaW9uTmFtZSArICIgc3VwcG9ydCAtLSB0aGlzIGlzIGxlZ2FsIik7
CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLy8gQWZ0ZXIgdGhlIGV4dGVuc2lvbiBpcyBl
bmFibGVkCisgICAgICAgICAgICBleHRlbnNpb25FbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgICAg
IHJ1blRlc3RTdWl0ZShleHRlbnNpb25FbmFibGVkKTsKKyAgICAgICAgfQorCisgICAgICAgIGZp
bmlzaFRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0U3VpdGUoZXh0ZW5zaW9u
RW5hYmxlZCkKKyAgICB7CisgICAgICAgIHZhciBtYWdGID0gW2dsLk5FQVJFU1QsIGdsLkxJTkVB
Ul07CisgICAgICAgIHZhciBtaW5GID0gW2dsLk5FQVJFU1QsIGdsLkxJTkVBUiwgZ2wuTkVBUkVT
VF9NSVBNQVBfTkVBUkVTVCwgZ2wuTkVBUkVTVF9NSVBNQVBfTElORUFSLCBnbC5MSU5FQVJfTUlQ
TUFQX05FQVJFU1QsIGdsLkxJTkVBUl9NSVBNQVBfTElORUFSXTsKKyAgICAgICAgdmFyIHRleDJE
RlNoYWRlciA9IFsKKyAgICAgICAgICAgICd1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7JywKKyAgICAg
ICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgICcgICAgZ2xfRnJhZ0RhdGFbMF0g
PSB0ZXh0dXJlMkQodGV4LCB2ZWMyKDAuNSwgMC41KSkgKiB2ZWM0KDQuMCwgMi4wLCAyLjAsIDEp
OycsCisgICAgICAgICAgICAnfSddLmpvaW4oJ1xuJyk7CisKKyAgICAgICAgdmFyIHBvc2l0aW9u
VmVydGV4U2hhZGVyID0gWworICAgICAgICAgICAnYXR0cmlidXRlIHZlYzQgdlBvc2l0aW9uOycs
CisgICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgJyAgICBnbF9Qb3NpdGlv
biA9IHZQb3NpdGlvbjsnLAorICAgICAgICAgICAnfSddLmpvaW4oJ1xuJyk7CisKKyAgICAgICAg
dmFyIHRleEN1YmVGU2hhZGVyID0gWworICAgICAgICAgICAgJ3VuaWZvcm0gc2FtcGxlckN1YmUg
dGV4OycsCisgICAgICAgICAgICAndm9pZCBtYWluKCkgeycsCisgICAgICAgICAgICAnICAgIGds
X0ZyYWdDb2xvciA9IHRleHR1cmVDdWJlKHRleCwgbm9ybWFsaXplKHZlYzMoMC41LCAwLjUsIDEp
KSkgKiB2ZWM0KDQuMCwgMi4wLCAyLjAsIDEpOycsCisgICAgICAgICAgICAnfSddLmpvaW4oJ1xu
Jyk7CisKKyAgICAgICAgdmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIHBvc2l0aW9uVmVydGV4
U2hhZGVyLCBnbC5WRVJURVhfU0hBREVSKTsKKyAgICAgICAgdmFyIGZzXzJkID0gd3R1LmxvYWRT
aGFkZXIoZ2wsIHRleDJERlNoYWRlciwgZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAgICAgICAgdmFy
IGZzX2N1YmUgPSB3dHUubG9hZFNoYWRlcihnbCwgdGV4Q3ViZUZTaGFkZXIsIGdsLkZSQUdNRU5U
X1NIQURFUik7CisKKyAgICAgICAgLy8gVEVYVFVSRV8yRAorICAgICAgICB2YXIgcHJvZ3JhbSA9
IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFt2cywgZnNfMmRdKTsKKyAgICAgICAgZ2wudXNlUHJvZ3Jh
bShwcm9ncmFtKTsKKyAgICAgICAgd3R1LnNldHVwVW5pdFF1YWQoZ2wpOworICAgICAgICBmb3Ig
KHZhciBrayA9IDA7IGtrIDwgMjsgKytraykgeworICAgICAgICAgICAgZm9yICh2YXIgaWkgPSAw
OyBpaSA8IDY7ICsraWkpIHsKKyAgICAgICAgICAgICAgICB2YXIgbGluZWFyID0gZmFsc2U7Cisg
ICAgICAgICAgICAgICAgaWYgKG1hZ0Zba2tdID09IGdsLkxJTkVBUiB8fCAobWluRltpaV0gIT0g
Z2wuTkVBUkVTVCAmJiBtaW5GW2lpXSAhPSBnbC5ORUFSRVNUX01JUE1BUF9ORUFSRVNUKSkKKyAg
ICAgICAgICAgICAgICAgICAgbGluZWFyID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB2YXIgY29s
b3IgPSAoIWV4dGVuc2lvbkVuYWJsZWQgJiYgbGluZWFyKSA/IFswLCAwLCAwLCAyNTVdIDogWzI1
NSwgMjU1LCAyNTUsIDI1NV07CisgICAgICAgICAgICAgICAgcnVuRWFjaFRlc3QoZ2wuVEVYVFVS
RV8yRCwgbWFnRltra10sIG1pbkZbaWldLCBsaW5lYXIsIGV4dGVuc2lvbkVuYWJsZWQsIGNvbG9y
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFRFWFRVUkVfQ1VCRV9N
QVAKKyAgICAgICAgdmFyIHByb2dyYW1DdWJlID0gd3R1LnNldHVwUHJvZ3JhbShnbCwgW3ZzLCBm
c19jdWJlXSk7CisgICAgICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbUN1YmUpOworICAgICAgICB3
dHUuc2V0dXBVbml0UXVhZChnbCk7CisgICAgICAgIGZvciAodmFyIGtrID0gMDsga2sgPCAyOyAr
K2trKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNjsgKytpaSkgeworICAg
ICAgICAgICAgICAgIHZhciBsaW5lYXIgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBpZiAobWFn
Rltra10gPT0gZ2wuTElORUFSIHx8IChtaW5GW2lpXSAhPSBnbC5ORUFSRVNUICYmIG1pbkZbaWld
ICE9IGdsLk5FQVJFU1RfTUlQTUFQX05FQVJFU1QpKQorICAgICAgICAgICAgICAgICAgICBsaW5l
YXIgPSB0cnVlOworICAgICAgICAgICAgICAgIHZhciBjb2xvciA9ICghZXh0ZW5zaW9uRW5hYmxl
ZCAmJiBsaW5lYXIpID8gWzAsIDAsIDAsIDI1NV0gOiBbMjU1LCAyNTUsIDI1NSwgMjU1XTsKKyAg
ICAgICAgICAgICAgICBydW5FYWNoVGVzdChnbC5URVhUVVJFX0NVQkVfTUFQLCBtYWdGW2trXSwg
bWluRltpaV0sIGxpbmVhciwgZXh0ZW5zaW9uRW5hYmxlZCwgY29sb3IpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuRWFjaFRlc3QodGV4dHVyZVRh
cmdldCwgbWFnRmlsdGVyLCBtaW5GaWx0ZXIsIGxpbmVhciwgZXh0ZW5zaW9uRW5hYmxlZCwgZXhw
ZWN0ZWQpCisgICAgeworICAgICAgICB2YXIgZm9ybWF0ID0gZ2wuUkdCQTsKKyAgICAgICAgdmFy
IG51bWJlck9mQ2hhbm5lbHMgPSA0OworICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgIGRlYnVn
KCJ0ZXN0aW5nIHRhcmdldDogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCx0ZXh0dXJlVGFyZ2V0
KSArCisgICAgICAgICAgICAiLCB0ZXN0aW5nIGZvcm1hdDogIiArIHd0dS5nbEVudW1Ub1N0cmlu
ZyhnbCwgZm9ybWF0KSArCisgICAgICAgICAgICAiLCBtYWdGaWx0ZXIgaXM6ICIgKyB3dHUuZ2xF
bnVtVG9TdHJpbmcoZ2wsIG1hZ0ZpbHRlcikgKworICAgICAgICAgICAgIiwgbWluRmlsdGVyIGlz
OiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBtaW5GaWx0ZXIpICsKKyAgICAgICAgICAgICIs
ICIgKyBleHRlbnNpb25OYW1lICsgIiBpcyAiICsgIChleHRlbnNpb25FbmFibGVkID8gImVuYWJs
ZWQiOiAibm90IGVuYWJsZWQiKQorICAgICAgICAgICAgKTsKKworICAgICAgICAvLyBHZW5lcmF0
ZSBkYXRhLgorICAgICAgICB2YXIgd2lkdGggPSA0OworICAgICAgICB2YXIgaGVpZ2h0ID0gNDsK
KyAgICAgICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7
CisgICAgICAgIGNhbnZhczJkLndpZHRoID0gd2lkdGg7CisgICAgICAgIGNhbnZhczJkLmhlaWdo
dCA9IGhlaWdodDsKKyAgICAgICAgdmFyIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgnMmQn
KTsKKyAgICAgICAgdmFyIGNvbG9yID0gWzY0LCAxMjgsIDEyOCwgMjU1XTsKKyAgICAgICAgY3R4
MmQuZmlsbFN0eWxlID0gInJnYmEoIiArIGNvbG9yWzBdICsgIiwiICsgY29sb3JbMV0gKyAiLCIg
KyBjb2xvclsyXSArICIsIiArIGNvbG9yWzNdICsgIikiOworICAgICAgICBjdHgyZC5maWxsUmVj
dCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKworICAgICAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0
ZVRleHR1cmUoKTsKKyAgICAgICAgZ2wuYmluZFRleHR1cmUodGV4dHVyZVRhcmdldCwgdGV4dHVy
ZSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwgZ2wuVEVYVFVSRV9N
QUdfRklMVEVSLCBtYWdGaWx0ZXIpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJpKHRleHR1cmVU
YXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgbWluRmlsdGVyKTsKKyAgICAgICAgZ2wudGV4
UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9f
RURHRSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwgZ2wuVEVYVFVS
RV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworCisgICAgICAgIGlmICh0ZXh0dXJlVGFyZ2V0
ID09IGdsLlRFWFRVUkVfMkQpIHsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZm9ybWF0LCBmb3JtYXQsIGdsW3BpeGVsVHlwZV0sIGNhbnZhczJkKTsKKyAgICAg
ICAgICAgIGlmIChtaW5GaWx0ZXIgIT0gZ2wuTkVBUkVTVCAmJiBtaW5GaWx0ZXIgIT0gIGdsLkxJ
TkVBUikKKyAgICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfMkQpOworICAg
ICAgICB9CisgICAgICAgIGVsc2UgaWYgKHRleHR1cmVUYXJnZXQgPT0gZ2wuVEVYVFVSRV9DVUJF
X01BUCkgeworICAgICAgICAgICAgdmFyIHRhcmdldHMgPSBbCisgICAgICAgICAgICAgICAgZ2wu
VEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgICAgICAgICAgICAgIGdsLlRFWFRVUkVf
Q1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICAgICAgICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQ
X1BPU0lUSVZFX1ksCisgICAgICAgICAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9ORUdBVElW
RV9ZLAorICAgICAgICAgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiwKKyAg
ICAgICAgICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pdOworICAgICAgICAg
ICAgICAgIGZvciAodmFyIHR0ID0gMDsgdHQgPCB0YXJnZXRzLmxlbmd0aDsgKyt0dCkKKyAgICAg
ICAgICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXRzW3R0XSwgMCwgZm9ybWF0LCBmb3Jt
YXQsIGdsW3BpeGVsVHlwZV0sIGNhbnZhczJkKTsKKyAgICAgICAgICAgICAgICBpZiAobWluRmls
dGVyICE9IGdsLk5FQVJFU1QgJiYgbWluRmlsdGVyICE9ICBnbC5MSU5FQVIpCisgICAgICAgICAg
ICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVApOworICAgICAg
ICB9CisgICAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICAgIGlmICghbGluZWFyKSB7Cisg
ICAgICAgICAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgZXh0ZW5zaW9u
VHlwZU5hbWUgKyAiIHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2Vl
ZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyICIgKyBleHRlbnNpb25OYW1lICsgIiBp
cyBlbmFibGVkIG9yIG5vdCIpOworICAgICAgICB9IGVsc2UgaWYgKCFleHRlbnNpb25FbmFibGVk
KSB7CisgICAgICAgICAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgZXh0
ZW5zaW9uVHlwZU5hbWUgKyAiIHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9k
dWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgIiArIGV4dGVuc2lvbk5hbWUgKyAi
IGlzbid0IGVuYWJsZWQiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHd0dS5nbEVy
cm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCBleHRlbnNpb25UeXBlTmFtZSArICIgdGV4dHVy
ZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiAiICsg
ZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIGlzIGVuYWJsZWQiKTsKKyAgICAgICAgfQorCisgICAgICAg
IHd0dS5jaGVja0NhbnZhcyhnbCwgZXhwZWN0ZWQsICJzaG91bGQgYmUgIiArIGV4cGVjdGVkWzBd
ICsgIiwiICsgZXhwZWN0ZWRbMV0gICsgIiwiICsgIGV4cGVjdGVkWzJdICsgIiwiICsgZXhwZWN0
ZWRbM10pOworICAgIH0KKworICAgIHJldHVybiBpbml0OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218309</attachid>
            <date>2013-12-03 10:55:40 -0800</date>
            <delta_ts>2013-12-03 11:15:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124871-20131204055538.patch</filename>
            <type>text/plain</type>
            <size>77225</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJjYWM1Yjk1ZjZmZWQ2
NjEyOTcyZjUyYjdkYTFjNjM1MzJhNGRjNS4uNDhkMjkxNmE2ODU4M2I4MWQ5YmYyMTIzODBlYzhk
N2NlMzhjMDgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEzLTEyLTAzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEltcGxlbWVudCBP
RVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4
dGVuc2lvbi4gR2VuZXJhbGx5CisgICAgICAgIHdlJ2QgYWxzbyBlbmFibGUgT0VTX3RleHR1cmVf
aGFsZl9mbG9hdF9saW5lYXIgYXQgdGhlIHNhbWUKKyAgICAgICAgdGltZSwgYnV0IHRoYXQncyBi
bG9ja2VkIG9uIHdlYmtpdC5vcmcvYi8xMTA5MzYuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52
YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwKKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDog
RGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogR2VuZXJhdGUgbmV3IGZpbGUg
ZnJvbSBJREwuCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogQWRkIG5ldyBmaWxlcy4K
KyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOiBEaXR0by4KKyAgICAg
ICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTmV3IGZpbGVzIGZvciBP
RVNUZXh0dXJlRmxvYXRMaW5lYXIuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKTogTWFwIHRo
ZSBuZXcgbmFtZSBpbnRvIHRoZSBhcHByb3ByaWF0ZSB0eXBlLgorCisgICAgICAgICogaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDogQWRkZWQuIFRoaXMgaXMgYSB2ZXJ5IHNp
bXBsZSBjbGFzcworICAgICAgICB0aGF0J3MgbW9zdGx5IGVtcHR5LgorICAgICAgICAoV2ViQ29y
ZTo6T0VTVGV4dHVyZUZsb2F0TGluZWFyOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXIpOgorICAgICAg
ICAoV2ViQ29yZTo6T0VTVGV4dHVyZUZsb2F0TGluZWFyOjp+T0VTVGV4dHVyZUZsb2F0TGluZWFy
KToKKyAgICAgICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVGbG9hdExpbmVhcjo6Z2V0TmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg6IEFkZGVkLgorICAgICAgICAq
IGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGw6IEFkZGVkLgorCisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaDogRGVjbGFyZSB0aGUgbmV3IG5hbWUgaW4g
dGhlIGVudW0gb2YgZXh0ZW5zaW9ucy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmRyYXdBcnJheXMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpkcmF3RWxlbWVudHMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOiBDcmVhdGUgdGhl
IG5ldyBleHRlbnNpb24gaWYgYXNrZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyk6IFJlbmFtZWQgZnJvbSBoYW5kbGVO
UE9UVGV4dHVyZXMuIE5vdworICAgICAgICBjaGVja3MgZm9yIHRoZSB0eXBlIG9mIHRoZSB0ZXh0
dXJlIHRvby4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDog
TWVtYmVyIHZhcmlhYmxlIGZvciBuZXcgZXh0ZW5zaW9uLgorCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xUZXh0dXJlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6V2Vi
R0xUZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxh
Y2tUZXh0dXJlKTogVGFrZXMgYW4gZXh0cmEgcGFyYW1ldGVyIHdoaWNoIGluZGljYXRlcworICAg
ICAgICBpZiBpdCBoYXMgYW4gZXh0ZW5zaW9uIGVuYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFRleHR1cmU6OnVwZGF0ZSk6IE5vdGUgaXQgaXMgYSBmbG9hdCB0eXBlIHdoZW4gdXBkYXRp
bmcuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IE5ldyBmbGFnIHRvIGlu
ZGljYXRlIGZsb2F0IHR5cGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNp
b25zM0QuaDogTmV3IGZsYWcgdHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMz
RE9wZW5HTDo6c3VwcG9ydHNFeHRlbnNpb24pOiBBZGQgYSBjb21tZW50IGFib3V0IHRoZSBleHRl
bnNpb24uCisKIDIwMTMtMTItMDMgIEzDoXN6bMOzIExhbmfDsyAgPGxhbmdvQGluZi51LXN6ZWdl
ZC5odT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhdmFsdWUgfHwgKHZhbHVlLT5pc1By
aW1pdGl2ZVZhbHVlKCkpIGluIFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Z2V0TGF5ZXJlZFNo
b3J0aGFuZFZhbHVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyYTE4OTc0ODVmYzFkZGFkYTk3
MjZlYjdjNDUxZGQ4YzBhNjdiZDdiLi5iMDI5OWQ4NTdmNDNjOTM5YTZlOTVjNGU3ZTFmNDBjNmZm
MmE0NDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTAyLDYgKzUwMiw3IEBAIHNldChXZWJD
b3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsCiAg
ICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKICAgICBodG1sL2NhbnZh
cy9PRVNUZXh0dXJlRmxvYXQuaWRsCisgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGlu
ZWFyLmlkbAogICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCiAgICAgaHRt
bC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsCiAgICAgaHRtbC9jYW52YXMvV2ViR0xB
Y3RpdmVJbmZvLmlkbApAQCAtMTQ5MSw2ICsxNDkyLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxv
YXQuY3BwCisgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcAogICAgIGh0
bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTVmVy
dGV4QXJyYXlPYmplY3QuY3BwCiAgICAgaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCkBAIC0y
NjU3LDYgKzI2NTksNyBAQCBpZiAoRU5BQkxFX1dFQkdMKQogICAgICAgICBodG1sL2NhbnZhcy9P
RVNFbGVtZW50SW5kZXhVaW50LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERl
cml2YXRpdmVzLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwCisg
ICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKICAgICAgICAgaHRt
bC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VT
VmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNw
cApAQCAtMjY5MSw2ICsyNjk0LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAgICAgaHRtbC9j
YW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTU3Rh
bmRhcmREZXJpdmF0aXZlcy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0
LmlkbAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsCiAgICAg
ICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCiAgICAgICAgIGh0bWwvY2Fu
dmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEFj
dGl2ZUluZm8uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNGZmZmJmMTFmMGI5
Y2QxMTZiYzQxZTA4MWZkM2E3YzhmN2NmYmFhMi4uMDFhNTA5NTA2MmY4OWNmNjBmNWEzY2IwMTIz
YWVjNjk1NzZiMzI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNDMsNiArNDMs
NyBAQAogI2luY2x1ZGUgIkpTT0VTRWxlbWVudEluZGV4VWludC5jcHAiCiAjaW5jbHVkZSAiSlNP
RVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcCIKICNpbmNsdWRlICJKU09FU1RleHR1cmVGbG9hdC5j
cHAiCisjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIgogI2luY2x1ZGUgIkpT
T0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAiCiAjaW5jbHVkZSAiSlNPRVNWZXJ0ZXhBcnJheU9iamVj
dC5jcHAiCiAjaW5jbHVkZSAiSlNXZWJHTEFjdGl2ZUluZm8uY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKaW5kZXggMzVjMGYyOGI3ZDE3NTU2YmEzOTY4NmZjYmFhYWFiMmZhN2MzMGVi
Mi4uNTI1YWQ5MGRlMzdhOGIzMzEyMjRhNzY4M2M1ZmQzMmVhOTk2YTZkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC00MTksNiArNDE5LDcgQEAgQklORElOR19JRExTID0gXAog
ICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAg
ICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAg
ICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IDg0ZWU5NTBiNmI4NzU1NzMyNmE5NWI2MjI2NzNmMmRhZTc4ZDUwZjkuLjlhNjcw
MDc4Njk5ZTRmMmNiYWY4ODhjYWU3Y2YxNTZlYTQxM2ZmNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtNTQzLDYgKzU0Myw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VT
VGV4dHVyZUhhbGZGbG9hdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4
QXJyYXlPYmplY3QuY3BwIFwKQEAgLTE1MDksNiArMTUxMSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMg
Kz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGlj
LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlk
bCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKKwkkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGwgXAogCSQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwgXAogCSQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKQEAgLTMyNDUsNiArMzI0OCw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmRE
ZXJpdmF0aXZlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxv
YXQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaCBc
CisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBc
CisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBmODJiODg3
NWRiMzgyYWFhYWIwOWEzYjJhNjhhMmUwODhiMmY1M2I5Li4wOWVmNjU2MGJjY2FlOGExNDIwYjVi
MzE1NDQ2OGU4YmM4OGRiNjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2oKQEAgLTM0MCw2ICszNDAsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0
Zm9ybUFyY2hpdGVjdHVyZSlcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU09FU1RleHR1cmVGbG9h
dExpbmVhci5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
KyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVy
aXZlZFNvdXJjZXNcSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCI+CiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC02NTAxLDYgKzY1MTUsNyBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VTRWxlbWVudEluZGV4VWludC5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xPRVNTdGFuZGFyZERl
cml2YXRpdmVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcY2FudmFz
XE9FU1RleHR1cmVGbG9hdC5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1s
XGNhbnZhc1xPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxjYW52YXNcT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xPRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xXZWJHTEJ1ZmZlci5j
cHAiIC8+CkBAIC0xODUzMyw2ICsxODU0OCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcV2ViQ29y
ZVxEZXJpdmVkU291cmNlc1xKU09FU0VsZW1lbnRJbmRleFVpbnQuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0
ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
aiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXNcSlNPRVNUZXh0
dXJlRmxvYXQuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2Vz
XEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcV2ViQ29y
ZVxEZXJpdmVkU291cmNlc1xKU09FU1RleHR1cmVIYWxmRmxvYXQuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0
ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmok
KFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTV2ViR0xBY3Rp
dmVJbmZvLmgiIC8+CkBAIC0xODYxNCw2ICsxODYzMCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxodG1sXGNhbnZhc1xPRVNFbGVtZW50SW5kZXhVaW50LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xPRVNUZXh0dXJlRmxvYXQu
aCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcY2FudmFzXE9FU1RleHR1cmVG
bG9hdExpbmVhci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNc
T0VTVGV4dHVyZUhhbGZGbG9hdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRt
bFxjYW52YXNcT0VTVmVydGV4QXJyYXlPYmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxcY2FudmFzXFdlYkdMQWN0aXZlSW5mby5oIiAvPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4
IDM3NzUyYzczZjlmNDViNTQ5MDg2ODg2ZjIyYTg5M2QxMjc0Y2YzNTIuLjU3MTk5NWY0Mjc5MmIz
YWViYTBhYjJhMzIxNDRmYzQ4NjgzMmM2N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTY2MjUsNiArNjYy
NSw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU09FU1Rl
eHR1cmVGbG9hdC5jcHAiPgogICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVyaXZlZFNvdXJj
ZXNcSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIj4KKyAgICAgIDxGaWx0ZXI+RGVyaXZlZFNv
dXJjZXM8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJD
b3JlXERlcml2ZWRTb3VyY2VzXEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAiPgogICAgICAgPEZp
bHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNjcxNSw2
ICs2NzE4LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcY2FudmFzXE9FU1Rl
eHR1cmVGbG9hdC5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sXGNhbnZhczwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcCI+CisgICAgICA8RmlsdGVyPmh0bWxcY2FudmFzPC9GaWx0
ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXGNh
bnZhc1xPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCI+CiAgICAgICA8RmlsdGVyPmh0bWxcY2FudmFz
PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xNDQwMiw2ICsxNDQwOCw5IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU09FU1RleHR1cmVGbG9hdC5o
Ij4KICAgICAgIDxGaWx0ZXI+RGVyaXZlZFNvdXJjZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmok
KFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTT0VTVGV4dHVy
ZUZsb2F0TGluZWFyLmgiPgorICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgor
ICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVyaXZlZFNvdXJj
ZXNcSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmgiPgogICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNl
czwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTQ0OTUsNiArMTQ1MDQsOSBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VTVGV4dHVyZUZsb2F0LmgiPgog
ICAgICAgPEZpbHRlcj5odG1sXGNhbnZhczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmgiPgorICAgICAgPEZpbHRlcj5odG1sXGNhbnZhczwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VTVGV4dHVyZUhhbGZG
bG9hdC5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxjYW52YXM8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA2N2FiNzY3MTA0MWZhNzA4YTY0YTc1NDNiYmIyZmJlNzBkZWU5YTUwLi4xOTY4
MzYyMWRkMzY3M2RlMzc5OTZkY2IyYWYyYWVjYjU1YjcwZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDY2LDYgKzEwNjYs
MTAgQEAKIAkJMzEzMTNGNjUxNDQzQjM1RjAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzEz
RjYzMTQ0M0IzNUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgKi87IH07CiAJ
CTMxMzEzRjY2MTQ0M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTNGNjQxNDQzQjM1
RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi87IH07CiAJCTMxMzhBOUU1MTQ3
NDQzNDYwMEIwRUQxMiAvKiBTdHlsZVNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzOEE5RTQxNDc0NDM0NjAwQjBFRDEyIC8qIFN0eWxlU2hh
ZGVyLmggKi87IH07CisJCTMxNDZGRTZFMTg0NDIwQTgwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxv
YXRMaW5lYXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAqLzsg
fTsKKwkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU2
NTE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKKwkJ
MzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTcwMTg0
NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07CisJCTMx
NDZGRTc1MTg0NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzExODQ0MjM2
NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CiAJCTMxNjAyM0Yw
MTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlv
bmFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU4
MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAqLzsgfTsK
IAkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU5
MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87IH07CkBA
IC03NzE4LDYgKzc3MjIsMTEgQEAKIAkJMzEzMTNGNjMxNDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRl
ckVmZmVjdFJlbmRlcmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzEzMTNGNjQxNDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMzhBOUU0MTQ3NDQzNDYwMEIwRUQxMiAvKiBTdHls
ZVNoYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZVNoYWRlci5o
OyBwYXRoID0gc3R5bGUvU3R5bGVTaGFkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzE0NkZFNjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlRmxvYXRMaW5l
YXIuY3BwOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gT0VTVGV4
dHVyZUZsb2F0TGluZWFyLmg7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY3MTg0NDIwODcwMDFBOTM3QyAv
KiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE9FU1Rl
eHR1cmVGbG9hdExpbmVhci5pZGw7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5
MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgcGF0aCA9IEpTT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0
NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHBh
dGggPSBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1W
YWx1ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1ODBFMUM0REUwMDBGNkE1
NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTY0LDYgKzE0OTczLDkgQEAKIAkJCQk2RUJGMEU0NTEy
QTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJGMEU0NjEy
QTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmggKi8sCiAJCQkJNkVCRjBFNDcxMkE4
OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9hdC5pZGwgKi8sCisJCQkJMzE0NkZFNjUxODQ0
MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi8sCisJCQkJMzE0NkZF
NjYxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAorCQkJCTMx
NDZGRTY3MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsICovLAog
CQkJCUEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAq
LywKIAkJCQlBMzFDNEU0RTE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5o
ICovLAogCQkJCUEzMUM0RTUwMTZFMDJBQzUwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0
LmlkbCAqLywKQEAgLTE3NjkzLDYgKzE3NzA1LDggQEAKIAkJCQk5MDAxNzg3RjEyRTAzNzA3MDA2
NDg0NjIgLyogSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggKi8sCiAJCQkJNkVCRjBFNzQxMkE5
ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJGMEU3NTEy
QTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLywKKwkJCQkzMTQ2RkU3MDE4
NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwICovLAorCQkJCTMx
NDZGRTcxMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAog
CQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3Bw
ICovLAogCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxv
YXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNWZXJ0ZXhBcnJh
eU9iamVjdC5jcHAgKi8sCkBAIC0yMzQ0OSw2ICsyMzQ2Myw3IEBACiAJCQkJNTlBODYwMDgxMTlE
QUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNFNDM4OUMxNDBCMUJBODAwNUU0MzdFIC8qIEpTRGljdGlvbmFyeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTRBRTdDMUExN0QyMzIzNTAwMDlGQjMxIC8qIEVsZW1lbnRBbmNlc3Rvckl0
ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTQ2RkU3NTE4NDQyMzcwMDAxQTkzN0MgLyog
SlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OUREQzgzMDlF
MTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ5NEVE
RjBBMTIzRjRDMDBGREFGQzEgLyogSlNEb2N1bWVudEZyYWdtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk2NURGMzFGNjA5RDFDQzYwMDAwQkUzMjUgLyogSlNEb2N1bWVudFR5cGUuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjM3MTAsNiArMjM3MjUsNyBAQAogCQkJCUIyRkEzRDM5MEFCNzVBNkYwMDBF
NUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDNC
MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQm9vbGVhbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjJGQTNEM0QwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRFbnVtZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzE0NkZFNkUxODQ0MjBBODAwMUE5MzdDIC8qIE9FU1Rl
eHR1cmVGbG9hdExpbmVhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEM0YwQUI3NUE2RjAw
MEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZB
M0Q0MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZExlbmd0aC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjJGQTNENDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRMZW5ndGhM
aXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI1ODA3LDYgKzI1ODIzLDcgQEAKIAkJCQk5MzMwOURE
QzA5OUU2NDkyMDA1NkU1ODEgLyogQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNzlGMkY1QTExMDkxOTM5QTAwMEQ4N0NCIC8qIENvbXBvc2l0aW9uRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwOEUxMkIwMjZGNzAwQzFBMzU5IC8qIENvbmUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1
cmVGbG9hdExpbmVhci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBCMzZBNDBDRDNDNjdDMDBB
QzdFQjUgLyogQ29uc29sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjE4RjBGNUYwNjk4
MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgxODcy
MUYwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0yNjQ5Miw2ICsyNjUwOSw3IEBACiAJCQkJQTg3MURDMjYwQTE1MjA1NzAwQjEyQTY4IC8qIEhU
TUxTdHlsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNENEU5NzIxMzBDN0NGRTAw
N0JBNTQwIC8qIEhUTUxTdW1tYXJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcx
REIzMjBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZs
b2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2
OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREIy
OTBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ29sRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBODcxREIyODBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA5MTUwZmUxNDRhMTlk
YWJhMDQ5NmRhZmMzMDU0MDExMDBiNjYzYmZhLi4wOWQ5ODI2YTliNzM5OTAxZDg2OTg1MjY1ODJm
N2ZhZGRjMGQ1MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC00Miw2ICs0Miw3IEBA
CiAjaW5jbHVkZSAiSlNPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFu
ZGFyZERlcml2YXRpdmVzLmgiCiAjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNs
dWRlICJKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIkpTT0VTVGV4dHVyZUhh
bGZGbG9hdC5oIgogI2luY2x1ZGUgIkpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRl
ICJKU1dlYkdMQnVmZmVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiT0VTRWxlbWVu
dEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNs
dWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aCIKICNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4
QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgpAQCAtMjA3LDYgKzIwOSw4
IEBAIHN0YXRpYyBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBXZWJHTEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGds
b2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyo+KGV4dGVuc2lv
bikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6CiAgICAg
ICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTVGV4dHVy
ZUZsb2F0Kj4oZXh0ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVy
ZUZsb2F0TGluZWFyTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0
LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXRMaW5lYXIqPihleHRlbnNpb24pKTsKICAgICBj
YXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKICAgICAgICAgcmV0
dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlSGFsZkZs
b2F0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVydGV4QXJy
YXlPYmplY3ROYW1lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVGbG9hdExpbmVhci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4Zjg1ZTY2MjM4OWQ3NmQ3NWJlNTJk
YWI0NmFjYzUyZDA0ZWFhNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZiBFTkFCTEUoV0VCR0wpCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitPRVNU
ZXh0dXJlRmxvYXRMaW5lYXI6Ok9FU1RleHR1cmVGbG9hdExpbmVhcihXZWJHTFJlbmRlcmluZ0Nv
bnRleHQqIGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbihjb250ZXh0KQoreworfQorCitP
RVNUZXh0dXJlRmxvYXRMaW5lYXI6On5PRVNUZXh0dXJlRmxvYXRMaW5lYXIoKQoreworfQorCitX
ZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmdldE5h
bWUoKSBjb25zdAoreworICAgIHJldHVybiBPRVNUZXh0dXJlRmxvYXRMaW5lYXJOYW1lOworfQor
CitPd25QdHI8T0VTVGV4dHVyZUZsb2F0TGluZWFyPiBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNy
ZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCit7CisgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBPRVNUZXh0dXJlRmxvYXRMaW5lYXIoY29udGV4dCkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBl
ZjhiODBiYTRkZTRhNjQ3NTUwM2I5Zjc4OTlkZWUyNjM5NGJlOTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaApAQCAt
MCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBPRVNUZXh0dXJlRmxvYXRMaW5lYXJf
aAorI2RlZmluZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXJfaAorCisjaW5jbHVkZSAiV2ViR0xFeHRl
bnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIE9FU1RleHR1cmVGbG9hdExpbmVhciA6IHB1YmxpYyBXZWJHTEV4dGVuc2lv
biB7CitwdWJsaWM6CisgICAgc3RhdGljIE93blB0cjxPRVNUZXh0dXJlRmxvYXRMaW5lYXI+IGNy
ZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKworICAgIHZpcnR1YWwgfk9FU1RleHR1cmVG
bG9hdExpbmVhcigpOworICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7
CisKK3ByaXZhdGU6CisgICAgT0VTVGV4dHVyZUZsb2F0TGluZWFyKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gT0VTVGV4
dHVyZUZsb2F0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVGbG9hdExpbmVhci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiZTRiMDYzNDcxMDllNTA3YzI5YjBhM2Ni
N2U1NzI1NmJjNTRkZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCitbCisgICAgTm9JbnRlcmZhY2VPYmplY3QsCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsV2ViR0xSZW5kZXJpbmdDb250ZXh0LAorXSBpbnRl
cmZhY2UgT0VTVGV4dHVyZUZsb2F0TGluZWFyIHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xFeHRlbnNpb24uaAppbmRleCBmMDVlMzllOTg3NjM5OTQxMTBlY2I4OWQ5Y2I4
ZDcwYWVmMTgxYWQyLi43NGU5ZGE4ZjZlM2Q1MjIxYmRjYmY1MWRiZDU5ZjNiNWNjZjdiMGU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKQEAgLTM5LDYg
KzM5LDcgQEAgcHVibGljOgogICAgICAgICBFWFREcmF3QnVmZmVyc05hbWUsCiAgICAgICAgIEVY
VFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpY05hbWUsCiAgICAgICAgIE9FU1RleHR1cmVGbG9hdE5h
bWUsCisgICAgICAgIE9FU1RleHR1cmVGbG9hdExpbmVhck5hbWUsCiAgICAgICAgIE9FU1RleHR1
cmVIYWxmRmxvYXROYW1lLAogICAgICAgICBPRVNTdGFuZGFyZERlcml2YXRpdmVzTmFtZSwKICAg
ICAgICAgT0VTVmVydGV4QXJyYXlPYmplY3ROYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggZjhlYzIxOTczZDE4
NjY0OTA0NjdjZmY0OTEwMGYxNmQzZmU1YTc2ZC4uM2ZhYWVmMDZlNTZmMzRiNTQ2ZTljZDkwNjdi
MGZkODU5YmI2YjAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiT0VT
RWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIK
ICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRM
aW5lYXIuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VT
VmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0xOTg2LDEyICsxOTg3
LDEyIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkcmF3QXJyYXlzKEdDM0RlbnVtIG1v
ZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBjCiAgICAgaWYgKCFpc0dMRVMyQ29tcGxpYW50
KCkpCiAgICAgICAgIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQgPSBzaW11bGF0ZVZlcnRleEF0dHJp
YjAoZmlyc3QgKyBjb3VudCAtIDEpOwogICAgIGlmICghaXNHTEVTMk5QT1RTdHJpY3QoKSkKLSAg
ICAgICAgaGFuZGxlTlBPVFRleHR1cmVzKCJkcmF3QXJyYXlzIiwgdHJ1ZSk7CisgICAgICAgIGNo
ZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5cyIsIHRydWUpOwogICAgIG1fY29udGV4
dC0+ZHJhd0FycmF5cyhtb2RlLCBmaXJzdCwgY291bnQpOwogICAgIGlmICghaXNHTEVTMkNvbXBs
aWFudCgpICYmIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQpCiAgICAgICAgIHJlc3RvcmVTdGF0ZXNB
ZnRlclZlcnRleEF0dHJpYjBTaW11bGF0aW9uKCk7CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmlj
dCgpKQotICAgICAgICBoYW5kbGVOUE9UVGV4dHVyZXMoImRyYXdBcnJheXMiLCBmYWxzZSk7Cisg
ICAgICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5cyIsIGZhbHNlKTsKICAg
ICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwodHJ1ZSk7CiB9CiAKQEAgLTIwNzAsMTIgKzIwNzEs
MTIgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdFbGVtZW50cyhHQzNEZW51bSBt
b2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0RlbnUKICAgICAgICAgdmVydGV4QXR0cmliMFNpbXVs
YXRlZCA9IHNpbXVsYXRlVmVydGV4QXR0cmliMChudW1FbGVtZW50cyk7CiAgICAgfQogICAgIGlm
ICghaXNHTEVTMk5QT1RTdHJpY3QoKSkKLSAgICAgICAgaGFuZGxlTlBPVFRleHR1cmVzKCJkcmF3
RWxlbWVudHMiLCB0cnVlKTsKKyAgICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3
RWxlbWVudHMiLCB0cnVlKTsKICAgICBtX2NvbnRleHQtPmRyYXdFbGVtZW50cyhtb2RlLCBjb3Vu
dCwgdHlwZSwgc3RhdGljX2Nhc3Q8R0MzRGludHB0cj4ob2Zmc2V0KSk7CiAgICAgaWYgKCFpc0dM
RVMyQ29tcGxpYW50KCkgJiYgdmVydGV4QXR0cmliMFNpbXVsYXRlZCkKICAgICAgICAgcmVzdG9y
ZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKTsKICAgICBpZiAoIWlzR0xFUzJO
UE9UU3RyaWN0KCkpCi0gICAgICAgIGhhbmRsZU5QT1RUZXh0dXJlcygiZHJhd0VsZW1lbnRzIiwg
ZmFsc2UpOworICAgICAgICBjaGVja1RleHR1cmVDb21wbGV0ZW5lc3MoImRyYXdFbGVtZW50cyIs
IGZhbHNlKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwodHJ1ZSk7CiB9CiAKQEAgLTIz
OTEsNiArMjM5MiwxNCBAQCBXZWJHTEV4dGVuc2lvbiogV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICB9CiAgICAgICAgIHJldHVy
biBtX29lc1RleHR1cmVGbG9hdC5nZXQoKTsKICAgICB9CisgICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKG5hbWUsICJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKQorICAgICAgICAmJiBtX2NvbnRl
eHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciIpKSB7CisgICAgICAgIGlmICghbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXIpIHsKKyAgICAgICAg
ICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5lbnN1cmVFbmFibGVkKCJHTF9PRVNfdGV4
dHVyZV9mbG9hdF9saW5lYXIiKTsKKyAgICAgICAgICAgIG1fb2VzVGV4dHVyZUZsb2F0TGluZWFy
ID0gT0VTVGV4dHVyZUZsb2F0TGluZWFyOjpjcmVhdGUodGhpcyk7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyLmdldCgpOworICAgIH0KICAgICBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKQogICAgICAg
ICAmJiBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU190ZXh0dXJl
X2hhbGZfZmxvYXQiKSkgewogICAgICAgICBpZiAoIW1fb2VzVGV4dHVyZUhhbGZGbG9hdCkgewpA
QCAtNDg0NCwxMiArNDg1MywxNCBAQCBXZWJHTEdldEluZm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpnZXRXZWJHTEludEFycmF5UGFyYW1ldGVyKEdDM0RlbnVtIHBuYW1lKQogICAgIHJldHVybiBX
ZWJHTEdldEluZm8oSW50MzJBcnJheTo6Y3JlYXRlKHZhbHVlLCBsZW5ndGgpKTsKIH0KIAotdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBjaGFyKiBm
dW5jdGlvbk5hbWUsIGJvb2wgcHJlcGFyZVRvRHJhdykKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpjaGVja1RleHR1cmVDb21wbGV0ZW5lc3MoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBi
b29sIHByZXBhcmVUb0RyYXcpCiB7CiAgICAgYm9vbCByZXNldEFjdGl2ZVVuaXQgPSBmYWxzZTsK
KyAgICBXZWJHTFRleHR1cmU6OlRleHR1cmVFeHRlbnNpb25GbGFnIGV4dGVuc2lvbnMgPSBzdGF0
aWNfY2FzdDxXZWJHTFRleHR1cmU6OlRleHR1cmVFeHRlbnNpb25GbGFnPihtX29lc1RleHR1cmVG
bG9hdExpbmVhciA/IFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsb2F0TGluZWFyRW5h
YmxlZCA6IDApOworCiAgICAgZm9yICh1bnNpZ25lZCBpaSA9IDA7IGlpIDwgbV90ZXh0dXJlVW5p
dHMuc2l6ZSgpOyArK2lpKSB7Ci0gICAgICAgIGlmICgobV90ZXh0dXJlVW5pdHNbaWldLnRleHR1
cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmctPm5lZWRU
b1VzZUJsYWNrVGV4dHVyZSgpKQotICAgICAgICAgICAgfHwgKG1fdGV4dHVyZVVuaXRzW2lpXS50
ZXh0dXJlQ3ViZU1hcEJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFw
QmluZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpKSB7CisgICAgICAgIGlmICgobV90ZXh0
dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1
cmUyREJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKKyAgICAgICAg
ICAgIHx8IChtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4
dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVy
ZShleHRlbnNpb25zKSkpIHsKICAgICAgICAgICAgIGlmIChpaSAhPSBtX2FjdGl2ZVRleHR1cmVV
bml0KSB7CiAgICAgICAgICAgICAgICAgbV9jb250ZXh0LT5hY3RpdmVUZXh0dXJlKGlpKTsKICAg
ICAgICAgICAgICAgICByZXNldEFjdGl2ZVVuaXQgPSB0cnVlOwpAQCAtNDg2MSw3ICs0ODcyLDgg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBj
aGFyKiBmdW5jdGlvbk5hbWUsIGJvb2wgcHIKICAgICAgICAgICAgIFdlYkdMVGV4dHVyZSogdGV4
Q3ViZU1hcDsKICAgICAgICAgICAgIGlmIChwcmVwYXJlVG9EcmF3KSB7CiAgICAgICAgICAgICAg
ICAgU3RyaW5nIG1zZyhTdHJpbmcoInRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0ICIpICsg
U3RyaW5nOjpudW1iZXIoaWkpCi0gICAgICAgICAgICAgICAgICAgICsgIiBpcyBub3QgcmVuZGVy
YWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1
cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZSciKTsKKyAgICAgICAgICAg
ICAgICAgICAgKyAiIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBh
bmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJl
IGNvbXBsZXRlJywiCisgICAgICAgICAgICAgICAgICAgICsgIiBvciBpdCBpcyBhIEZsb2F0IHR5
cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBs
aW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuIik7CiAgICAgICAgICAgICAgICAgcHJpbnRHTFdhcm5p
bmdUb0NvbnNvbGUoZnVuY3Rpb25OYW1lLCBtc2cudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAg
ICAgICAgdGV4MkQgPSBtX2JsYWNrVGV4dHVyZTJELmdldCgpOwogICAgICAgICAgICAgICAgIHRl
eEN1YmVNYXAgPSBtX2JsYWNrVGV4dHVyZUN1YmVNYXAuZ2V0KCk7CkBAIC00ODY5LDkgKzQ4ODEs
OSBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVzKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSwgYm9vbCBwcgogICAgICAgICAgICAgICAgIHRleDJEID0gbV90
ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmcuZ2V0KCk7CiAgICAgICAgICAgICAgICAg
dGV4Q3ViZU1hcCA9IG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcuZ2V0
KCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAobV90ZXh0dXJlVW5pdHNbaWldLnRl
eHR1cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmctPm5l
ZWRUb1VzZUJsYWNrVGV4dHVyZSgpKQorICAgICAgICAgICAgaWYgKG1fdGV4dHVyZVVuaXRzW2lp
XS50ZXh0dXJlMkRCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlMkRCaW5kaW5n
LT5uZWVkVG9Vc2VCbGFja1RleHR1cmUoZXh0ZW5zaW9ucykpCiAgICAgICAgICAgICAgICAgbV9j
b250ZXh0LT5iaW5kVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgb2JqZWN0
T3JaZXJvKHRleDJEKSk7Ci0gICAgICAgICAgICBpZiAobV90ZXh0dXJlVW5pdHNbaWldLnRleHR1
cmVDdWJlTWFwQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZUN1YmVNYXBCaW5k
aW5nLT5uZWVkVG9Vc2VCbGFja1RleHR1cmUoKSkKKyAgICAgICAgICAgIGlmIChtX3RleHR1cmVV
bml0c1tpaV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0
dXJlQ3ViZU1hcEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKICAg
ICAgICAgICAgICAgICBtX2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpU
RVhUVVJFX0NVQkVfTUFQLCBvYmplY3RPclplcm8odGV4Q3ViZU1hcCkpOwogICAgICAgICB9CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuaAppbmRleCA1ZGU2OGMzZTMxOTNjMzQ1N2M3MTBkNDU0MDFhMzllYzE5OTQxNzUzLi44
YjIzNGM1NzYxOTM3OGRhYWJiMmFmODIzN2Y2Njk5ZTQ4OTEwMjBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTAsNiAr
NTAsNyBAQCBjbGFzcyBJbWFnZURhdGE7CiBjbGFzcyBJbnRTaXplOwogY2xhc3MgT0VTU3RhbmRh
cmREZXJpdmF0aXZlczsKIGNsYXNzIE9FU1RleHR1cmVGbG9hdDsKK2NsYXNzIE9FU1RleHR1cmVG
bG9hdExpbmVhcjsKIGNsYXNzIE9FU1RleHR1cmVIYWxmRmxvYXQ7CiBjbGFzcyBPRVNWZXJ0ZXhB
cnJheU9iamVjdDsKIGNsYXNzIE9FU0VsZW1lbnRJbmRleFVpbnQ7CkBAIC01MjUsNiArNTI2LDcg
QEAgcHJpdmF0ZToKICAgICBPd25QdHI8RVhURHJhd0J1ZmZlcnM+IG1fZXh0RHJhd0J1ZmZlcnM7
CiAgICAgT3duUHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4gbV9leHRUZXh0dXJlRmls
dGVyQW5pc290cm9waWM7CiAgICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdD4gbV9vZXNUZXh0dXJl
RmxvYXQ7CisgICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdExpbmVhcj4gbV9vZXNUZXh0dXJlRmxv
YXRMaW5lYXI7CiAgICAgT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IG1fb2VzVGV4dHVyZUhh
bGZGbG9hdDsKICAgICBPd25QdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gbV9vZXNTdGFuZGFy
ZERlcml2YXRpdmVzOwogICAgIE93blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVjdD4gbV9vZXNWZXJ0
ZXhBcnJheU9iamVjdDsKQEAgLTU1OSw3ICs1NjEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdGV4
U3ViSW1hZ2UyREJhc2UoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhv
ZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscywgRXhj
ZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgdGV4U3ViSW1hZ2UyREltcGwoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRGVu
dW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBJbWFnZSosIEdyYXBoaWNzQ29udGV4dDNEOjpJbWFn
ZUh0bWxEb21Tb3VyY2UsIGJvb2wgZmxpcFksIGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgRXhjZXB0
aW9uQ29kZSYpOwogCi0gICAgdm9pZCBoYW5kbGVOUE9UVGV4dHVyZXMoY29uc3QgY2hhciosIGJv
b2wpOworICAgIHZvaWQgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKGNvbnN0IGNoYXIqLCBib29s
KTsKIAogICAgIHZvaWQgY3JlYXRlRmFsbGJhY2tCbGFja1RleHR1cmVzMXgxKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwCmluZGV4IGMzY2M3OTAwMTU1
NzUxOWVjMTRjOTIxNjYzMWMwZTE5NTFlMDM3ZDYuLmYxMGY1ZGYwNWFlMTU0NDU3MDlkNzhkMjIx
ZDhlY2E3NDQwZGRmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMVGV4dHVyZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0
dXJlLmNwcApAQCAtNTEsNiArNTEsNyBAQCBXZWJHTFRleHR1cmU6OldlYkdMVGV4dHVyZShXZWJH
TFJlbmRlcmluZ0NvbnRleHQqIGN0eCkKICAgICAsIG1faXNDb21wbGV0ZShmYWxzZSkKICAgICAs
IG1fbmVlZFRvVXNlQmxhY2tUZXh0dXJlKGZhbHNlKQogICAgICwgbV9pc0NvbXByZXNzZWQoZmFs
c2UpCisgICAgLCBtX2lzRmxvYXRUeXBlKGZhbHNlKQogewogICAgIHNldE9iamVjdChjdHgtPmdy
YXBoaWNzQ29udGV4dDNEKCktPmNyZWF0ZVRleHR1cmUoKSk7CiB9CkBAIC0yMzMsMTEgKzIzNCwx
NyBAQCBib29sIFdlYkdMVGV4dHVyZTo6aXNOUE9UKCkgY29uc3QKICAgICByZXR1cm4gbV9pc05Q
T1Q7CiB9CiAKLWJvb2wgV2ViR0xUZXh0dXJlOjpuZWVkVG9Vc2VCbGFja1RleHR1cmUoKSBjb25z
dAorYm9vbCBXZWJHTFRleHR1cmU6Om5lZWRUb1VzZUJsYWNrVGV4dHVyZShUZXh0dXJlRXh0ZW5z
aW9uRmxhZyBleHRlbnNpb25zKSBjb25zdAogewogICAgIGlmICghb2JqZWN0KCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbV9uZWVkVG9Vc2VCbGFja1RleHR1cmU7CisgICAg
aWYgKG1fbmVlZFRvVXNlQmxhY2tUZXh0dXJlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBp
ZiAobV9pc0Zsb2F0VHlwZSAmJiAhKGV4dGVuc2lvbnMgJiBUZXh0dXJlRXh0ZW5zaW9uRmxvYXRM
aW5lYXJFbmFibGVkKSkgeworICAgICAgICBpZiAobV9tYWdGaWx0ZXIgIT0gR3JhcGhpY3NDb250
ZXh0M0Q6Ok5FQVJFU1QgfHwgKG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNEOjpORUFS
RVNUICYmIG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNEOjpORUFSRVNUX01JUE1BUF9O
RUFSRVNUKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7CiB9CiAKIGJvb2wgV2ViR0xUZXh0dXJlOjppc0NvbXByZXNzZWQoKSBjb25zdApAQCAtMzU3
LDYgKzM2NCwxOCBAQCB2b2lkIFdlYkdMVGV4dHVyZTo6dXBkYXRlKCkKICAgICAgICAgfQogICAg
IH0KIAorICAgIG1faXNGbG9hdFR5cGUgPSBmYWxzZTsKKyAgICBpZiAobV9pc0NvbXBsZXRlKQor
ICAgICAgICBtX2lzRmxvYXRUeXBlID0gbV9pbmZvWzBdWzBdLnR5cGUgPT0gR3JhcGhpY3NDb250
ZXh0M0Q6OkZMT0FUOworICAgIGVsc2UgeworICAgICAgICBmb3IgKHNpemVfdCBpaSA9IDA7IGlp
IDwgbV9pbmZvLnNpemUoKTsgKytpaSkgeworICAgICAgICAgICAgaWYgKG1faW5mb1tpaV1bMF0u
dHlwZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQpIHsKKyAgICAgICAgICAgICAgICBtX2lz
RmxvYXRUeXBlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KKwogICAgIG1fbmVlZFRvVXNlQmxhY2tUZXh0dXJlID0gZmFsc2U7
CiAgICAgLy8gTlBPVAogICAgIGlmIChtX2lzTlBPVCAmJiAoKG1fbWluRmlsdGVyICE9IEdyYXBo
aWNzQ29udGV4dDNEOjpORUFSRVNUICYmIG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNE
OjpMSU5FQVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRl
eHR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oCmluZGV4
IDJkZjU0ZTY4ZDM3ZDE1ZWRhNmZkY2UzMTNmMDlkMjJkOGVmMTQ1ZjAuLjg4MzYwYmUwNjBkYTE3
OWRmMmYyMDQ3NzEzZTYxYmJmYTc2ZjE4YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVGV4dHVyZS5oCkBAIC0zNSw2ICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFdlYkdMVGV4dHVyZSA6IHB1YmxpYyBXZWJHTFNoYXJlZE9iamVjdCB7CiBwdWJsaWM6
CisKKyAgICBlbnVtIFRleHR1cmVFeHRlbnNpb25GbGFnIHsKKyAgICAgICAgVGV4dHVyZUV4dGVu
c2lvbnNEaXNhYmxlZCA9IDAsCisgICAgICAgIFRleHR1cmVFeHRlbnNpb25GbG9hdExpbmVhckVu
YWJsZWQgPSAxIDw8IDAKKyAgICB9OworCiAgICAgdmlydHVhbCB+V2ViR0xUZXh0dXJlKCk7CiAK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJHTFRleHR1cmU+IGNyZWF0ZShXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqKTsKQEAgLTY0LDcgKzcwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc05QT1Qo
KSBjb25zdDsKICAgICAvLyBEZXRlcm1pbmUgaWYgdGV4dHVyZSBzYW1wbGluZyBzaG91bGQgYWx3
YXlzIHJldHVybiBbMCwgMCwgMCwgMV0gKE9wZW5HTCBFUyAyLjAgU2VjIDMuOC4yKS4KLSAgICBi
b29sIG5lZWRUb1VzZUJsYWNrVGV4dHVyZSgpIGNvbnN0OworICAgIGJvb2wgbmVlZFRvVXNlQmxh
Y2tUZXh0dXJlKFRleHR1cmVFeHRlbnNpb25GbGFnKSBjb25zdDsKIAogICAgIGJvb2wgaXNDb21w
cmVzc2VkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDb21wcmVzc2VkKCk7CkBAIC0xMjcsNiArMTMz
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNDb21wbGV0ZTsKICAgICBib29sIG1fbmVlZFRv
VXNlQmxhY2tUZXh0dXJlOwogICAgIGJvb2wgbV9pc0NvbXByZXNzZWQ7CisgICAgYm9vbCBtX2lz
RmxvYXRUeXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaAppbmRleCAzYmVkNDZmZDJmNjQz
NGU1ZDZhMTE4ZWJjZWRkMDZhZTBkNmJkOWMwLi41OGY2OTg2ODVhOGMwNDI5MmYzZWRlYjJlZTMy
NTI2Njc3NWMyMmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9FeHRlbnNpb25zM0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9F
eHRlbnNpb25zM0QuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgLy8gICBHTF9FWFRf
cGFja2VkX2RlcHRoX3N0ZW5jaWwgLyBHTF9PRVNfcGFja2VkX2RlcHRoX3N0ZW5jaWwKICAgICAv
LyAgIEdMX0FOR0xFX2ZyYW1lYnVmZmVyX2JsaXQgLyBHTF9BTkdMRV9mcmFtZWJ1ZmZlcl9tdWx0
aXNhbXBsZQogICAgIC8vICAgR0xfT0VTX3RleHR1cmVfZmxvYXQKKyAgICAvLyAgIEdMX09FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhcgogICAgIC8vICAgR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdAog
ICAgIC8vICAgR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzCiAgICAgLy8gICBHTF9PRVNfcmdi
OF9yZ2JhOApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcAppbmRleCAzODQ3OGJiOTA0MGUwN2Iz
ZjEwOTUxMjE1NjFhODRjODJjN2VkOGViLi5mYTI3OTBkM2FmOTUwY2ZmNGRjYjU2YzVmY2QzYjQ4
NjZjMmMzYzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcApAQCAtMTUzLDkgKzE1Myw5
IEBAIGJvb2wgRXh0ZW5zaW9uczNET3BlbkdMOjpzdXBwb3J0c0V4dGVuc2lvbihjb25zdCBTdHJp
bmcmIG5hbWUpCiAgICAgaWYgKG5hbWUgPT0gIkdMX09FU19yZ2I4X3JnYmE4IikKICAgICAgICAg
cmV0dXJuIHRydWU7CiAKLSAgICAvLyBJZiBHTF9BUkJfdGV4dHVyZV9mbG9hdCBpcyBhdmFpbGFi
bGUgdGhlbiB3ZSByZXBvcnQgR0xfT0VTX3RleHR1cmVfZmxvYXQgYW5kCi0gICAgLy8gR0xfT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCBhcyBhdmFpbGFibGUuCi0gICAgaWYgKG5hbWUgPT0gIkdMX09F
U190ZXh0dXJlX2Zsb2F0IiB8fCBuYW1lID09ICJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IikK
KyAgICAvLyBJZiBHTF9BUkJfdGV4dHVyZV9mbG9hdCBpcyBhdmFpbGFibGUgdGhlbiB3ZSByZXBv
cnQgR0xfT0VTX3RleHR1cmVfZmxvYXQsCisgICAgLy8gR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9h
dCBhbmQgR0xfT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGFzIGF2YWlsYWJsZS4KKyAgICBpZiAo
bmFtZSA9PSAiR0xfT0VTX3RleHR1cmVfZmxvYXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJl
X2hhbGZfZmxvYXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpCiAg
ICAgICAgIHJldHVybiBtX2F2YWlsYWJsZUV4dGVuc2lvbnMuY29udGFpbnMoIkdMX0FSQl90ZXh0
dXJlX2Zsb2F0Iik7CiAKICAgICAvLyBHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDU3ZmM0ZTUwNGRhM2VjZGMwNmI0OTExZjZiMjkwYzgyYmJkNzJmY2YuLmI0OWJjNGI1NjYxNjBi
MGNhMjkwNGFjOGFlZTZiOTM5MDgzMmI2ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0x
Mi0wMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBJ
bXBsZW1lbnQgT0VTIHRleHR1cmUgZmxvYXQgbGluZWFyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ4NzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIEtocm9ub3MgdGVzdCBmaWxlcyBmb3Ig
dGhpcyBleHRlbnNpb24uCisKKyAgICAgICAgQWRkIHRoZSBKUyB0ZXN0IGZpbGUgZm9yIE9FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhciBhbmQgT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIKKyAg
ICAgICAgZXZlbiB0aG91Z2ggaXQncyBvbmx5IHVzZWQgZm9yIHRoZSBmb3JtZXIgYXQgdGhlIG1v
bWVudC4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWZsb2F0LWxp
bmVhci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMv
b2VzLXRleHR1cmUtZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzOiBBZGRlZC4KKwogMjAx
My0xMi0wMyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAg
IEFYOiBhcmlhLWhpZGRlbj1mYWxzZSBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1mbG9hdC1saW5l
YXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1
cmUtZmxvYXQtbGluZWFyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTYwZDgyMjVhYjZiNTI0
Y2JlOGYzNDNkM2QyNjIwMTFhMmQzYWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIyMCBAQAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4
dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUg
bm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9y
IGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxp
bmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRl
bnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1
cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5v
bi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBp
cyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5l
YXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5z
aW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJl
IGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24t
cG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMg
bm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFy
IGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lv
biBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBi
b3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBv
d2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5v
dCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBm
aWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24g
ZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91
bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dl
ci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3Qg
J3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmls
dGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVu
YWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5k
IHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXIt
b2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0
ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRl
cmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFi
bGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0
byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9m
LTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4
dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJp
bmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxl
ZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8g
dGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0y
IGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1
cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5n
IGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQu
CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRl
eHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBh
bmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJl
IGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBh
bmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgor
Q09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0
dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5k
IGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBj
b21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5k
IHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NP
TlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVy
ZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBo
YXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29t
cGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3
aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05T
T0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUg
dW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2
ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBs
ZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0
aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09M
RSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVu
aXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUg
aW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0
ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhv
dXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUg
TUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0
IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGlu
Y29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUn
LCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0
IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1F
U1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAw
IGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNv
bXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywg
b3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0
aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNT
QUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBp
cyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21w
YXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9y
IGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhl
IHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FH
RTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMg
bm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0
aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBp
dCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSBy
ZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6
IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5v
dCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGli
bGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQg
aXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVs
ZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBX
ZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3Qg
cmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxl
IHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlz
IGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2
YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2Vi
R0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJl
bmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0
ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBh
IEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFu
dCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdM
OiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5k
ZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4
dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBG
bG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQg
ZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDog
ZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVy
YWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1
cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxv
YXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZs
b2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVu
Y3Rpb25hbGl0eSBvZiB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4dGVuc2lvbiwgaWYg
aXQgaXMgYXZhaWxhYmxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKyBQQVNTIFN1
Y2Nlc3NmdWxseSBlbmFibGVkIE9FU190ZXh0dXJlX2Zsb2F0IGV4dGVuc2lvbgorCit0ZXN0aW5n
IHRhcmdldDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczog
TkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91
bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhciBpcyBlbmFibGVkIG9yIG5vdAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUs
MjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwg
bWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVf
ZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZp
bHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwy
NTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBt
YWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVT
VCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJl
IHdpdGggbm9uLUxpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBt
YXR0ZXIgd2hldGhlciBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QK
K1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVS
RV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmls
dGVyIGlzOiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBp
cyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHBy
b2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9s
aW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3Rpbmcg
dGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBO
RUFSRVNULCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVf
ZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZp
bHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwy
NTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBt
YWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9MSU5FQVIs
IE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3
aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19F
UlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91
bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZv
cm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVCwg
T0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdp
dGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VS
Uk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3Vs
ZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9y
bWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9F
U190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRo
IExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJP
UiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQg
YmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1h
dDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBN
QVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9h
dCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4w
XSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVk
CitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQs
IHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlz
OiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3Qg
ZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VT
X3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2Ug
WzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0
OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIs
IG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9s
aW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNo
b3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVf
ZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0
ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRl
ciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4
dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5l
YXIgZmlsdGVyIHNob3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYg
T0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAs
MCwwLDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3Jt
YXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBP
RVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0
aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRl
ciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkIG9yIG5vdAorUEFT
UyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NV
QkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5G
aWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVy
ZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwg
MCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBl
bmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRV
UkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1Qs
IG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRf
bGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9uLUxpbmVhciBmaWx0
ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hldGhlciBPRVNfdGV4
dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hvdWxkIGJlIDI1NSwy
NTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBm
b3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNU
X01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVf
ZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAs
IDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5h
YmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJF
X0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBt
aW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91
bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVz
dGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdG
aWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9MSU5FQVIsIE9F
U190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRo
IExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJP
UiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQg
YmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5n
IGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVT
VCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJl
IHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5P
X0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNo
b3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRl
c3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBM
SU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4
dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0
aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFT
UyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQ
LCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBp
czogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5v
dCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBP
RVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVj
ZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJn
ZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6
IExJTkVBUiwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBm
aWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNf
dGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAs
MjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDog
UkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9O
RUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRl
eHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdp
dGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BB
U1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01B
UCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIg
aXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90
IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9F
U190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9kdWNl
IFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFy
IGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRhcmdl
dDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVT
VCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3Rl
eHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIG5vbi1MaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVk
IHdpdGggTk9fRVJST1Igbm8gbWF0dGVyIHdoZXRoZXIgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFy
IGlzIGVuYWJsZWQgb3Igbm90CitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVz
dGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIg
aXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5l
YXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1
Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNT
IHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQs
IHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBp
czogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVu
YWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190
ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2Vl
ZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciBpcyBlbmFibGVkIG9yIG5vdAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rl
c3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVy
IGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1RfTUlQTUFQX0xJTkVBUiwgT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIg
ZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQg
aXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFy
Z2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFS
RVNULCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxv
YXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNo
b3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxl
ZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhU
VVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5G
aWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
T0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2Nl
ZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNo
b3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRl
c3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBO
RUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVy
ZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNf
dGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUK
KwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdG
aWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0
X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91
bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQK
K1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVS
RV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0
ZXIgaXM6IE5FQVJFU1RfTUlQTUFQX05FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBp
cyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBP
RVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2Vl
ZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hv
dWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwgdGVz
dGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5F
QVJFU1RfTUlQTUFQX0xJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJl
X2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9f
RVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1
LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1h
dDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1B
UF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4
dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBP
RVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwy
NTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBt
YWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVJfTUlQTUFQX0xJTkVBUiwg
T0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBM
aW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVf
ZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3Rp
bmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmls
dGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0
X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9uLUxpbmVhciBmaWx0ZXIg
c2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hldGhlciBPRVNfdGV4dHVy
ZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUs
MjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3Jt
YXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9F
U190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGlu
ZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zs
b2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5n
IHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRl
ciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9ORUFSRVNULCBPRVNf
dGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIG5vbi1M
aW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1Igbm8gbWF0dGVyIHdoZXRo
ZXIgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQgb3Igbm90CitQQVNTIHNob3Vs
ZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAs
IHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBp
czogTkVBUkVTVF9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3Rl
eHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0
aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBi
ZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRl
c3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczog
TElORUFSX01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1
cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBO
T19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAy
NTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3Rp
bmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElO
RUFSX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9m
bG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VS
Uk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwy
NTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBm
b3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1Qs
IE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGgg
TGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJl
X2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0
aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0Zp
bHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRf
bGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3Vs
ZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAor
UEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJF
X0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1p
bkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBz
dWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFT
UyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NV
QkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZp
bHRlciBpczogTkVBUkVTVF9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
T0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2Nl
ZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNo
b3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9N
QVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVy
IGlzOiBMSU5FQVJfTUlQTUFQX05FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBl
bmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNf
dGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3
aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxk
IGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwg
dGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6
IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1
cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBO
T19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAy
NTUsMjU1LDI1NSwyNTUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9vZXMtdGV4dHVyZS1mbG9hdC1saW5lYXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGZmOGZm
ZTg3YThiZDc5NDUxZDczZDNmMGI4OGUyNjE0N2ExMzAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwK
QEAgLTAsMCArMSw1MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9s
b2d1ZShnbCwgZXh0ZW5zaW9uVHlwZU5hbWUpIHsKKyAgICBpZiAoIWdsLmdldEV4dGVuc2lvbihl
eHRlbnNpb25UeXBlTmFtZSkpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiTm8gIiArIGV4dGVuc2lv
blR5cGVOYW1lICsgIiBzdXBwb3J0IC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKyAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCAiICsg
ZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIGV4dGVuc2lvbiIpOworICAgIHJldHVybiB0cnVlOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiT0VTX3RleHR1
cmVfZmxvYXQiLCAiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIiwgIkZMT0FUIiwgdGVzdFByb2xv
Z3VlKSgpJz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZh
cyIgc3R5bGU9IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7Ij4gPC9jYW52YXM+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFs
Zi1mbG9hdC1saW5lYXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJj
ZXMvb2VzLXRleHR1cmUtZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJkOGQwYWYwMTI1ZWIwNTFkYTMxNjVhMzJlYjllNjE2MzQzZTY3N2UKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvb2VzLXRleHR1cmUt
ZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzCkBAIC0wLDAgKzEsMTcyIEBACisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEzIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKK2Z1bmN0aW9uIGdlbmVyYXRlVGVzdChleHRlbnNpb25UeXBlTmFt
ZSwgZXh0ZW5zaW9uTmFtZSwgcGl4ZWxUeXBlLCBwcm9sb2d1ZSkgeworICAgIHZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKKyAgICB2YXIgZ2wgPSBudWxsOworICAgIHZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSBmYWxzZTsKKworICAgIHZhciBpbml0ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0
aGUgIiArIGV4dGVuc2lvbk5hbWUgKyAiIGV4dGVuc2lvbiwgaWYgaXQgaXMgYXZhaWxhYmxlLiIp
OworCisgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
Iik7CisgICAgICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworCisgICAgICAg
IGlmICghcHJvbG9ndWUoZ2wsIGV4dGVuc2lvblR5cGVOYW1lKSkgeworICAgICAgICAgICAgZmlu
aXNoVGVzdCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8g
QmVmb3JlIHRoZSBleHRlbnNpb24gaXMgZW5hYmxlZAorICAgICAgICB2YXIgZXh0ZW5zaW9uRW5h
YmxlZCA9IGZhbHNlOworICAgICAgICBydW5UZXN0U3VpdGUoZXh0ZW5zaW9uRW5hYmxlZCk7CisK
KyAgICAgICAgaWYgKCFnbC5nZXRFeHRlbnNpb24oZXh0ZW5zaW9uTmFtZSkpCisgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJObyAiICsgZXh0ZW5zaW9uTmFtZSArICIgc3VwcG9ydCAtLSB0aGlzIGlz
IGxlZ2FsIik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLy8gQWZ0ZXIgdGhlIGV4dGVu
c2lvbiBpcyBlbmFibGVkCisgICAgICAgICAgICBleHRlbnNpb25FbmFibGVkID0gdHJ1ZTsKKyAg
ICAgICAgICAgIHJ1blRlc3RTdWl0ZShleHRlbnNpb25FbmFibGVkKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0U3VpdGUo
ZXh0ZW5zaW9uRW5hYmxlZCkKKyAgICB7CisgICAgICAgIHZhciBtYWdGID0gW2dsLk5FQVJFU1Qs
IGdsLkxJTkVBUl07CisgICAgICAgIHZhciBtaW5GID0gW2dsLk5FQVJFU1QsIGdsLkxJTkVBUiwg
Z2wuTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgZ2wuTkVBUkVTVF9NSVBNQVBfTElORUFSLCBnbC5M
SU5FQVJfTUlQTUFQX05FQVJFU1QsIGdsLkxJTkVBUl9NSVBNQVBfTElORUFSXTsKKyAgICAgICAg
dmFyIHRleDJERlNoYWRlciA9IFsKKyAgICAgICAgICAgICd1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7
JywKKyAgICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgICcgICAgZ2xfRnJh
Z0RhdGFbMF0gPSB0ZXh0dXJlMkQodGV4LCB2ZWMyKDAuNSwgMC41KSkgKiB2ZWM0KDQuMCwgMi4w
LCAyLjAsIDEpOycsCisgICAgICAgICAgICAnfSddLmpvaW4oJ1xuJyk7CisKKyAgICAgICAgdmFy
IHBvc2l0aW9uVmVydGV4U2hhZGVyID0gWworICAgICAgICAgICAnYXR0cmlidXRlIHZlYzQgdlBv
c2l0aW9uOycsCisgICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgJyAgICBn
bF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsnLAorICAgICAgICAgICAnfSddLmpvaW4oJ1xuJyk7CisK
KyAgICAgICAgdmFyIHRleEN1YmVGU2hhZGVyID0gWworICAgICAgICAgICAgJ3VuaWZvcm0gc2Ft
cGxlckN1YmUgdGV4OycsCisgICAgICAgICAgICAndm9pZCBtYWluKCkgeycsCisgICAgICAgICAg
ICAnICAgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmVDdWJlKHRleCwgbm9ybWFsaXplKHZlYzMoMC41
LCAwLjUsIDEpKSkgKiB2ZWM0KDQuMCwgMi4wLCAyLjAsIDEpOycsCisgICAgICAgICAgICAnfSdd
LmpvaW4oJ1xuJyk7CisKKyAgICAgICAgdmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIHBvc2l0
aW9uVmVydGV4U2hhZGVyLCBnbC5WRVJURVhfU0hBREVSKTsKKyAgICAgICAgdmFyIGZzXzJkID0g
d3R1LmxvYWRTaGFkZXIoZ2wsIHRleDJERlNoYWRlciwgZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAg
ICAgICAgdmFyIGZzX2N1YmUgPSB3dHUubG9hZFNoYWRlcihnbCwgdGV4Q3ViZUZTaGFkZXIsIGds
LkZSQUdNRU5UX1NIQURFUik7CisKKyAgICAgICAgLy8gVEVYVFVSRV8yRAorICAgICAgICB2YXIg
cHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFt2cywgZnNfMmRdKTsKKyAgICAgICAgZ2wu
dXNlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICAgICAgd3R1LnNldHVwVW5pdFF1YWQoZ2wpOworICAg
ICAgICBmb3IgKHZhciBrayA9IDA7IGtrIDwgMjsgKytraykgeworICAgICAgICAgICAgZm9yICh2
YXIgaWkgPSAwOyBpaSA8IDY7ICsraWkpIHsKKyAgICAgICAgICAgICAgICB2YXIgbGluZWFyID0g
ZmFsc2U7CisgICAgICAgICAgICAgICAgaWYgKG1hZ0Zba2tdID09IGdsLkxJTkVBUiB8fCAobWlu
RltpaV0gIT0gZ2wuTkVBUkVTVCAmJiBtaW5GW2lpXSAhPSBnbC5ORUFSRVNUX01JUE1BUF9ORUFS
RVNUKSkKKyAgICAgICAgICAgICAgICAgICAgbGluZWFyID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICB2YXIgY29sb3IgPSAoIWV4dGVuc2lvbkVuYWJsZWQgJiYgbGluZWFyKSA/IFswLCAwLCAwLCAy
NTVdIDogWzI1NSwgMjU1LCAyNTUsIDI1NV07CisgICAgICAgICAgICAgICAgcnVuRWFjaFRlc3Qo
Z2wuVEVYVFVSRV8yRCwgbWFnRltra10sIG1pbkZbaWldLCBsaW5lYXIsIGV4dGVuc2lvbkVuYWJs
ZWQsIGNvbG9yKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFRFWFRV
UkVfQ1VCRV9NQVAKKyAgICAgICAgdmFyIHByb2dyYW1DdWJlID0gd3R1LnNldHVwUHJvZ3JhbShn
bCwgW3ZzLCBmc19jdWJlXSk7CisgICAgICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbUN1YmUpOwor
ICAgICAgICB3dHUuc2V0dXBVbml0UXVhZChnbCk7CisgICAgICAgIGZvciAodmFyIGtrID0gMDsg
a2sgPCAyOyArK2trKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNjsgKytp
aSkgeworICAgICAgICAgICAgICAgIHZhciBsaW5lYXIgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICBpZiAobWFnRltra10gPT0gZ2wuTElORUFSIHx8IChtaW5GW2lpXSAhPSBnbC5ORUFSRVNUICYm
IG1pbkZbaWldICE9IGdsLk5FQVJFU1RfTUlQTUFQX05FQVJFU1QpKQorICAgICAgICAgICAgICAg
ICAgICBsaW5lYXIgPSB0cnVlOworICAgICAgICAgICAgICAgIHZhciBjb2xvciA9ICghZXh0ZW5z
aW9uRW5hYmxlZCAmJiBsaW5lYXIpID8gWzAsIDAsIDAsIDI1NV0gOiBbMjU1LCAyNTUsIDI1NSwg
MjU1XTsKKyAgICAgICAgICAgICAgICBydW5FYWNoVGVzdChnbC5URVhUVVJFX0NVQkVfTUFQLCBt
YWdGW2trXSwgbWluRltpaV0sIGxpbmVhciwgZXh0ZW5zaW9uRW5hYmxlZCwgY29sb3IpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuRWFjaFRlc3Qo
dGV4dHVyZVRhcmdldCwgbWFnRmlsdGVyLCBtaW5GaWx0ZXIsIGxpbmVhciwgZXh0ZW5zaW9uRW5h
YmxlZCwgZXhwZWN0ZWQpCisgICAgeworICAgICAgICB2YXIgZm9ybWF0ID0gZ2wuUkdCQTsKKyAg
ICAgICAgdmFyIG51bWJlck9mQ2hhbm5lbHMgPSA0OworICAgICAgICBkZWJ1ZygiIik7CisgICAg
ICAgIGRlYnVnKCJ0ZXN0aW5nIHRhcmdldDogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCx0ZXh0
dXJlVGFyZ2V0KSArCisgICAgICAgICAgICAiLCB0ZXN0aW5nIGZvcm1hdDogIiArIHd0dS5nbEVu
dW1Ub1N0cmluZyhnbCwgZm9ybWF0KSArCisgICAgICAgICAgICAiLCBtYWdGaWx0ZXIgaXM6ICIg
KyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIG1hZ0ZpbHRlcikgKworICAgICAgICAgICAgIiwgbWlu
RmlsdGVyIGlzOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBtaW5GaWx0ZXIpICsKKyAgICAg
ICAgICAgICIsICIgKyBleHRlbnNpb25OYW1lICsgIiBpcyAiICsgIChleHRlbnNpb25FbmFibGVk
ID8gImVuYWJsZWQiOiAibm90IGVuYWJsZWQiKQorICAgICAgICAgICAgKTsKKworICAgICAgICAv
LyBHZW5lcmF0ZSBkYXRhLgorICAgICAgICB2YXIgd2lkdGggPSA0OworICAgICAgICB2YXIgaGVp
Z2h0ID0gNDsKKyAgICAgICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
Y2FudmFzJyk7CisgICAgICAgIGNhbnZhczJkLndpZHRoID0gd2lkdGg7CisgICAgICAgIGNhbnZh
czJkLmhlaWdodCA9IGhlaWdodDsKKyAgICAgICAgdmFyIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29u
dGV4dCgnMmQnKTsKKyAgICAgICAgdmFyIGNvbG9yID0gWzY0LCAxMjgsIDEyOCwgMjU1XTsKKyAg
ICAgICAgY3R4MmQuZmlsbFN0eWxlID0gInJnYmEoIiArIGNvbG9yWzBdICsgIiwiICsgY29sb3Jb
MV0gKyAiLCIgKyBjb2xvclsyXSArICIsIiArIGNvbG9yWzNdICsgIikiOworICAgICAgICBjdHgy
ZC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKworICAgICAgICB2YXIgdGV4dHVyZSA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICAgICAgZ2wuYmluZFRleHR1cmUodGV4dHVyZVRhcmdl
dCwgdGV4dHVyZSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwgZ2wu
VEVYVFVSRV9NQUdfRklMVEVSLCBtYWdGaWx0ZXIpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJp
KHRleHR1cmVUYXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgbWluRmlsdGVyKTsKKyAgICAg
ICAgZ2wudGV4UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBnbC5URVhUVVJFX1dSQVBfUywgZ2wu
Q0xBTVBfVE9fRURHRSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwg
Z2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworCisgICAgICAgIGlmICh0ZXh0
dXJlVGFyZ2V0ID09IGdsLlRFWFRVUkVfMkQpIHsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCBmb3JtYXQsIGdsW3BpeGVsVHlwZV0sIGNhbnZhczJk
KTsKKyAgICAgICAgICAgIGlmIChtaW5GaWx0ZXIgIT0gZ2wuTkVBUkVTVCAmJiBtaW5GaWx0ZXIg
IT0gIGdsLkxJTkVBUikKKyAgICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVf
MkQpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHRleHR1cmVUYXJnZXQgPT0gZ2wuVEVY
VFVSRV9DVUJFX01BUCkgeworICAgICAgICAgICAgdmFyIHRhcmdldHMgPSBbCisgICAgICAgICAg
ICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgICAgICAgICAgICAgIGds
LlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICAgICAgICAgICAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgICAgICAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9ZLAorICAgICAgICAgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJ
VkVfWiwKKyAgICAgICAgICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pdOwor
ICAgICAgICAgICAgICAgIGZvciAodmFyIHR0ID0gMDsgdHQgPCB0YXJnZXRzLmxlbmd0aDsgKyt0
dCkKKyAgICAgICAgICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXRzW3R0XSwgMCwgZm9y
bWF0LCBmb3JtYXQsIGdsW3BpeGVsVHlwZV0sIGNhbnZhczJkKTsKKyAgICAgICAgICAgICAgICBp
ZiAobWluRmlsdGVyICE9IGdsLk5FQVJFU1QgJiYgbWluRmlsdGVyICE9ICBnbC5MSU5FQVIpCisg
ICAgICAgICAgICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVAp
OworICAgICAgICB9CisgICAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICAgIGlmICghbGlu
ZWFyKSB7CisgICAgICAgICAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
ZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91
bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyICIgKyBleHRlbnNpb25O
YW1lICsgIiBpcyBlbmFibGVkIG9yIG5vdCIpOworICAgICAgICB9IGVsc2UgaWYgKCFleHRlbnNp
b25FbmFibGVkKSB7CisgICAgICAgICAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUiwgZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNo
b3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgIiArIGV4dGVuc2lv
bk5hbWUgKyAiIGlzbid0IGVuYWJsZWQiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCBleHRlbnNpb25UeXBlTmFtZSAr
ICIgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJP
UiBpZiAiICsgZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIGlzIGVuYWJsZWQiKTsKKyAgICAgICAgfQor
CisgICAgICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgZXhwZWN0ZWQsICJzaG91bGQgYmUgIiArIGV4
cGVjdGVkWzBdICsgIiwiICsgZXhwZWN0ZWRbMV0gICsgIiwiICsgIGV4cGVjdGVkWzJdICsgIiwi
ICsgZXhwZWN0ZWRbM10pOworICAgIH0KKworICAgIHJldHVybiBpbml0OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218312</attachid>
            <date>2013-12-03 11:15:24 -0800</date>
            <delta_ts>2013-12-03 11:43:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124871-20131204061521.patch</filename>
            <type>text/plain</type>
            <size>77225</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJjYWM1Yjk1ZjZmZWQ2
NjEyOTcyZjUyYjdkYTFjNjM1MzJhNGRjNS4uNDhkMjkxNmE2ODU4M2I4MWQ5YmYyMTIzODBlYzhk
N2NlMzhjMDgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEzLTEyLTAzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIEltcGxlbWVudCBP
RVMgdGV4dHVyZSBmbG9hdCBsaW5lYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNDg3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4
dGVuc2lvbi4gR2VuZXJhbGx5CisgICAgICAgIHdlJ2QgYWxzbyBlbmFibGUgT0VTX3RleHR1cmVf
aGFsZl9mbG9hdF9saW5lYXIgYXQgdGhlIHNhbWUKKyAgICAgICAgdGltZSwgYnV0IHRoYXQncyBi
bG9ja2VkIG9uIHdlYmtpdC5vcmcvYi8xMTA5MzYuCisKKyAgICAgICAgVGVzdDogZmFzdC9jYW52
YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwKKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OiBBZGQgbmV3IGZpbGVzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDog
RGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogR2VuZXJhdGUgbmV3IGZpbGUg
ZnJvbSBJREwuCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogQWRkIG5ldyBmaWxlcy4K
KyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOiBEaXR0by4KKyAgICAg
ICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6IERpdHRvLgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTmV3IGZpbGVzIGZvciBP
RVNUZXh0dXJlRmxvYXRMaW5lYXIuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKTogTWFwIHRo
ZSBuZXcgbmFtZSBpbnRvIHRoZSBhcHByb3ByaWF0ZSB0eXBlLgorCisgICAgICAgICogaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDogQWRkZWQuIFRoaXMgaXMgYSB2ZXJ5IHNp
bXBsZSBjbGFzcworICAgICAgICB0aGF0J3MgbW9zdGx5IGVtcHR5LgorICAgICAgICAoV2ViQ29y
ZTo6T0VTVGV4dHVyZUZsb2F0TGluZWFyOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXIpOgorICAgICAg
ICAoV2ViQ29yZTo6T0VTVGV4dHVyZUZsb2F0TGluZWFyOjp+T0VTVGV4dHVyZUZsb2F0TGluZWFy
KToKKyAgICAgICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVGbG9hdExpbmVhcjo6Z2V0TmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNyZWF0ZSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg6IEFkZGVkLgorICAgICAgICAq
IGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGw6IEFkZGVkLgorCisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaDogRGVjbGFyZSB0aGUgbmV3IG5hbWUgaW4g
dGhlIGVudW0gb2YgZXh0ZW5zaW9ucy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmRyYXdBcnJheXMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpkcmF3RWxlbWVudHMpOiBDYWxsIG5ldyBuYW1lLgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24pOiBDcmVhdGUgdGhl
IG5ldyBleHRlbnNpb24gaWYgYXNrZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcyk6IFJlbmFtZWQgZnJvbSBoYW5kbGVO
UE9UVGV4dHVyZXMuIE5vdworICAgICAgICBjaGVja3MgZm9yIHRoZSB0eXBlIG9mIHRoZSB0ZXh0
dXJlIHRvby4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDog
TWVtYmVyIHZhcmlhYmxlIGZvciBuZXcgZXh0ZW5zaW9uLgorCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xUZXh0dXJlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6V2Vi
R0xUZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVGV4dHVyZTo6bmVlZFRvVXNlQmxh
Y2tUZXh0dXJlKTogVGFrZXMgYW4gZXh0cmEgcGFyYW1ldGVyIHdoaWNoIGluZGljYXRlcworICAg
ICAgICBpZiBpdCBoYXMgYW4gZXh0ZW5zaW9uIGVuYWJsZWQuCisgICAgICAgIChXZWJDb3JlOjpX
ZWJHTFRleHR1cmU6OnVwZGF0ZSk6IE5vdGUgaXQgaXMgYSBmbG9hdCB0eXBlIHdoZW4gdXBkYXRp
bmcuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmg6IE5ldyBmbGFnIHRvIGlu
ZGljYXRlIGZsb2F0IHR5cGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNp
b25zM0QuaDogTmV3IGZsYWcgdHlwZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMz
RE9wZW5HTDo6c3VwcG9ydHNFeHRlbnNpb24pOiBBZGQgYSBjb21tZW50IGFib3V0IHRoZSBleHRl
bnNpb24uCisKIDIwMTMtMTItMDMgIEzDoXN6bMOzIExhbmfDsyAgPGxhbmdvQGluZi51LXN6ZWdl
ZC5odT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhdmFsdWUgfHwgKHZhbHVlLT5pc1By
aW1pdGl2ZVZhbHVlKCkpIGluIFdlYkNvcmU6OlN0eWxlUHJvcGVydGllczo6Z2V0TGF5ZXJlZFNo
b3J0aGFuZFZhbHVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyYTE4OTc0ODVmYzFkZGFkYTk3
MjZlYjdjNDUxZGQ4YzBhNjdiZDdiLi5iMDI5OWQ4NTdmNDNjOTM5YTZlOTVjNGU3ZTFmNDBjNmZm
MmE0NDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTAyLDYgKzUwMiw3IEBAIHNldChXZWJD
b3JlX0lETF9GSUxFUwogICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsCiAg
ICAgaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKICAgICBodG1sL2NhbnZh
cy9PRVNUZXh0dXJlRmxvYXQuaWRsCisgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGlu
ZWFyLmlkbAogICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCiAgICAgaHRt
bC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsCiAgICAgaHRtbC9jYW52YXMvV2ViR0xB
Y3RpdmVJbmZvLmlkbApAQCAtMTQ5MSw2ICsxNDkyLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGh0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuY3BwCiAgICAgaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAKICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxv
YXQuY3BwCisgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcAogICAgIGh0
bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwCiAgICAgaHRtbC9jYW52YXMvT0VTVmVy
dGV4QXJyYXlPYmplY3QuY3BwCiAgICAgaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCkBAIC0y
NjU3LDYgKzI2NTksNyBAQCBpZiAoRU5BQkxFX1dFQkdMKQogICAgICAgICBodG1sL2NhbnZhcy9P
RVNFbGVtZW50SW5kZXhVaW50LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERl
cml2YXRpdmVzLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwCisg
ICAgICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKICAgICAgICAgaHRt
bC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VT
VmVydGV4QXJyYXlPYmplY3QuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNw
cApAQCAtMjY5MSw2ICsyNjk0LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAgICAgaHRtbC9j
YW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTU3Rh
bmRhcmREZXJpdmF0aXZlcy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0
LmlkbAorICAgICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsCiAgICAg
ICAgIGh0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsCiAgICAgICAgIGh0bWwvY2Fu
dmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEFj
dGl2ZUluZm8uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNGZmZmJmMTFmMGI5
Y2QxMTZiYzQxZTA4MWZkM2E3YzhmN2NmYmFhMi4uMDFhNTA5NTA2MmY4OWNmNjBmNWEzY2IwMTIz
YWVjNjk1NzZiMzI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNDMsNiArNDMs
NyBAQAogI2luY2x1ZGUgIkpTT0VTRWxlbWVudEluZGV4VWludC5jcHAiCiAjaW5jbHVkZSAiSlNP
RVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcCIKICNpbmNsdWRlICJKU09FU1RleHR1cmVGbG9hdC5j
cHAiCisjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIgogI2luY2x1ZGUgIkpT
T0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAiCiAjaW5jbHVkZSAiSlNPRVNWZXJ0ZXhBcnJheU9iamVj
dC5jcHAiCiAjaW5jbHVkZSAiSlNXZWJHTEFjdGl2ZUluZm8uY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKaW5kZXggMzVjMGYyOGI3ZDE3NTU2YmEzOTY4NmZjYmFhYWFiMmZhN2MzMGVi
Mi4uNTI1YWQ5MGRlMzdhOGIzMzEyMjRhNzY4M2M1ZmQzMmVhOTk2YTZkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC00MTksNiArNDE5LDcgQEAgQklORElOR19JRExTID0gXAog
ICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGwgXAogICAg
ICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwgXAogICAg
ICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbCBcCisgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IDg0ZWU5NTBiNmI4NzU1NzMyNmE5NWI2MjI2NzNmMmRhZTc4ZDUwZjkuLjlhNjcw
MDc4Njk5ZTRmMmNiYWY4ODhjYWU3Y2YxNTZlYTQxM2ZmNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtNTQzLDYgKzU0Myw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU09FU1RleHR1cmVGbG9hdC5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNPRVNUZXh0dXJlRmxvYXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VT
VGV4dHVyZUhhbGZGbG9hdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTT0VTVmVydGV4
QXJyYXlPYmplY3QuY3BwIFwKQEAgLTE1MDksNiArMTUxMSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMg
Kz0gXAogCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGlj
LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlk
bCBcCiAJJChXZWJDb3JlKS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsIFwKKwkkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5pZGwgXAogCSQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5pZGwgXAogCSQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaWRsIFwKIAkkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaWRsIFwKQEAgLTMyNDUsNiArMzI0OCw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmRE
ZXJpdmF0aXZlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxv
YXQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaCBc
CisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBc
CisJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggXAog
CVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBmODJiODg3
NWRiMzgyYWFhYWIwOWEzYjJhNjhhMmUwODhiMmY1M2I5Li4wOWVmNjU2MGJjY2FlOGExNDIwYjVi
MzE1NDQ2OGU4YmM4OGRiNjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2oKQEAgLTM0MCw2ICszNDAsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0
Zm9ybUFyY2hpdGVjdHVyZSlcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU09FU1RleHR1cmVGbG9h
dExpbmVhci5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
KyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVy
aXZlZFNvdXJjZXNcSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCI+CiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC02NTAxLDYgKzY1MTUsNyBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VTRWxlbWVudEluZGV4VWludC5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xPRVNTdGFuZGFyZERl
cml2YXRpdmVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcY2FudmFz
XE9FU1RleHR1cmVGbG9hdC5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1s
XGNhbnZhc1xPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxjYW52YXNcT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xPRVNWZXJ0ZXhBcnJheU9iamVjdC5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xXZWJHTEJ1ZmZlci5j
cHAiIC8+CkBAIC0xODUzMyw2ICsxODU0OCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcV2ViQ29y
ZVxEZXJpdmVkU291cmNlc1xKU09FU0VsZW1lbnRJbmRleFVpbnQuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0
ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
aiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXNcSlNPRVNUZXh0
dXJlRmxvYXQuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2Vz
XEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcV2ViQ29y
ZVxEZXJpdmVkU291cmNlc1xKU09FU1RleHR1cmVIYWxmRmxvYXQuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0
ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmok
KFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTV2ViR0xBY3Rp
dmVJbmZvLmgiIC8+CkBAIC0xODYxNCw2ICsxODYzMCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxodG1sXGNhbnZhc1xPRVNFbGVtZW50SW5kZXhVaW50LmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXGNhbnZhc1xPRVNUZXh0dXJlRmxvYXQu
aCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcY2FudmFzXE9FU1RleHR1cmVG
bG9hdExpbmVhci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNc
T0VTVGV4dHVyZUhhbGZGbG9hdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRt
bFxjYW52YXNcT0VTVmVydGV4QXJyYXlPYmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxcY2FudmFzXFdlYkdMQWN0aXZlSW5mby5oIiAvPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4
IDM3NzUyYzczZjlmNDViNTQ5MDg2ODg2ZjIyYTg5M2QxMjc0Y2YzNTIuLjU3MTk5NWY0Mjc5MmIz
YWViYTBhYjJhMzIxNDRmYzQ4NjgzMmM2N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTY2MjUsNiArNjYy
NSw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU09FU1Rl
eHR1cmVGbG9hdC5jcHAiPgogICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVyaXZlZFNvdXJj
ZXNcSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwIj4KKyAgICAgIDxGaWx0ZXI+RGVyaXZlZFNv
dXJjZXM8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJD
b3JlXERlcml2ZWRTb3VyY2VzXEpTT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAiPgogICAgICAgPEZp
bHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtNjcxNSw2
ICs2NzE4LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcY2FudmFzXE9FU1Rl
eHR1cmVGbG9hdC5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sXGNhbnZhczwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcCI+CisgICAgICA8RmlsdGVyPmh0bWxcY2FudmFzPC9GaWx0
ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXGNh
bnZhc1xPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCI+CiAgICAgICA8RmlsdGVyPmh0bWxcY2FudmFz
PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xNDQwMiw2ICsxNDQwOCw5IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU09FU1RleHR1cmVGbG9hdC5o
Ij4KICAgICAgIDxGaWx0ZXI+RGVyaXZlZFNvdXJjZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmok
KFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTT0VTVGV4dHVy
ZUZsb2F0TGluZWFyLmgiPgorICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNlczwvRmlsdGVyPgor
ICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXFdlYkNvcmVcRGVyaXZlZFNvdXJj
ZXNcSlNPRVNUZXh0dXJlSGFsZkZsb2F0LmgiPgogICAgICAgPEZpbHRlcj5EZXJpdmVkU291cmNl
czwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMTQ0OTUsNiArMTQ1MDQsOSBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VTVGV4dHVyZUZsb2F0LmgiPgog
ICAgICAgPEZpbHRlcj5odG1sXGNhbnZhczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmgiPgorICAgICAgPEZpbHRlcj5odG1sXGNhbnZhczwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxjYW52YXNcT0VTVGV4dHVyZUhhbGZG
bG9hdC5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxjYW52YXM8L0ZpbHRlcj4KICAgICA8L0NsSW5j
bHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA2N2FiNzY3MTA0MWZhNzA4YTY0YTc1NDNiYmIyZmJlNzBkZWU5YTUwLi4xOTY4
MzYyMWRkMzY3M2RlMzc5OTZkY2IyYWYyYWVjYjU1YjcwZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDY2LDYgKzEwNjYs
MTAgQEAKIAkJMzEzMTNGNjUxNDQzQjM1RjAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzEz
RjYzMTQ0M0IzNUUwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5jcHAgKi87IH07CiAJ
CTMxMzEzRjY2MTQ0M0IzNUYwMDZFMkE5MCAvKiBGaWx0ZXJFZmZlY3RSZW5kZXJlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTNGNjQxNDQzQjM1
RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi87IH07CiAJCTMxMzhBOUU1MTQ3
NDQzNDYwMEIwRUQxMiAvKiBTdHlsZVNoYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzOEE5RTQxNDc0NDM0NjAwQjBFRDEyIC8qIFN0eWxlU2hh
ZGVyLmggKi87IH07CisJCTMxNDZGRTZFMTg0NDIwQTgwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxv
YXRMaW5lYXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCAqLzsg
fTsKKwkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ2RkU2
NTE4NDQyMDg3MDAxQTkzN0MgLyogT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLzsgfTsKKwkJ
MzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNDZGRTcwMTg0
NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi87IH07CisJCTMx
NDZGRTc1MTg0NDIzNzAwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0NkZFNzExODQ0MjM2
NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi87IH07CiAJCTMxNjAyM0Yw
MTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlv
bmFyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTMxNjExRTVBMEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU4
MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCAqLzsgfTsK
IAkJMzE2MTFFNUIwRTFDNERFMDAwRjZBNTc5IC8qIEpTV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjExRTU5
MEUxQzRERTAwMEY2QTU3OSAvKiBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmggKi87IH07CkBA
IC03NzE4LDYgKzc3MjIsMTEgQEAKIAkJMzEzMTNGNjMxNDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRl
ckVmZmVjdFJlbmRlcmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZpbHRlckVmZmVjdFJlbmRlcmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzEzMTNGNjQxNDQzQjM1RTAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbHRlckVmZmVjdFJlbmRlcmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMzhBOUU0MTQ3NDQzNDYwMEIwRUQxMiAvKiBTdHls
ZVNoYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZVNoYWRlci5o
OyBwYXRoID0gc3R5bGUvU3R5bGVTaGFkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzE0NkZFNjUxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBPRVNUZXh0dXJlRmxvYXRMaW5l
YXIuY3BwOyBwYXRoID0gY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY2MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gT0VTVGV4
dHVyZUZsb2F0TGluZWFyLmg7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxNDZGRTY3MTg0NDIwODcwMDFBOTM3QyAv
KiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE9FU1Rl
eHR1cmVGbG9hdExpbmVhci5pZGw7IHBhdGggPSBjYW52YXMvT0VTVGV4dHVyZUZsb2F0TGluZWFy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0NkZFNzAxODQ0MjM2NzAwMUE5
MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgcGF0aCA9IEpTT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE0
NkZFNzExODQ0MjM2NzAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTT0VTVGV4dHVyZUZsb2F0TGluZWFyLmg7IHBh
dGggPSBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTYwMjNFRjE1MzJDNDBDMDBENTBGRjQgLyogRGljdGlvbmFyeS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxNjExRTU0MEUxQzRENEEwMEY2QTU3OSAvKiBXZWJLaXRDU1NUcmFuc2Zvcm1W
YWx1ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTYxMUU1ODBFMUM0REUwMDBGNkE1
NzkgLyogSlNXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTY0LDYgKzE0OTczLDkgQEAKIAkJCQk2RUJGMEU0NTEy
QTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJGMEU0NjEy
QTg5MjYxMDBEQjE3MDkgLyogT0VTVGV4dHVyZUZsb2F0LmggKi8sCiAJCQkJNkVCRjBFNDcxMkE4
OTI2MTAwREIxNzA5IC8qIE9FU1RleHR1cmVGbG9hdC5pZGwgKi8sCisJCQkJMzE0NkZFNjUxODQ0
MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5jcHAgKi8sCisJCQkJMzE0NkZF
NjYxODQ0MjA4NzAwMUE5MzdDIC8qIE9FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAorCQkJCTMx
NDZGRTY3MTg0NDIwODcwMDFBOTM3QyAvKiBPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsICovLAog
CQkJCUEzMUM0RTRDMTZFMDJBQTYwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCAq
LywKIAkJCQlBMzFDNEU0RTE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5o
ICovLAogCQkJCUEzMUM0RTUwMTZFMDJBQzUwMDJGNzk1NyAvKiBPRVNUZXh0dXJlSGFsZkZsb2F0
LmlkbCAqLywKQEAgLTE3NjkzLDYgKzE3NzA1LDggQEAKIAkJCQk5MDAxNzg3RjEyRTAzNzA3MDA2
NDg0NjIgLyogSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggKi8sCiAJCQkJNkVCRjBFNzQxMkE5
ODY4ODAwREIxNzA5IC8qIEpTT0VTVGV4dHVyZUZsb2F0LmNwcCAqLywKIAkJCQk2RUJGMEU3NTEy
QTk4Njg4MDBEQjE3MDkgLyogSlNPRVNUZXh0dXJlRmxvYXQuaCAqLywKKwkJCQkzMTQ2RkU3MDE4
NDQyMzY3MDAxQTkzN0MgLyogSlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3BwICovLAorCQkJCTMx
NDZGRTcxMTg0NDIzNjcwMDFBOTM3QyAvKiBKU09FU1RleHR1cmVGbG9hdExpbmVhci5oICovLAog
CQkJCUEzMUM0RTUxMTZFMDJCMDgwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxvYXQuY3Bw
ICovLAogCQkJCUEzMUM0RTUzMTZFMDJCNDAwMDJGNzk1NyAvKiBKU09FU1RleHR1cmVIYWxmRmxv
YXQuaCAqLywKIAkJCQk3N0ExN0FBMjEyRjI4QjJBMDA0RTAyRjYgLyogSlNPRVNWZXJ0ZXhBcnJh
eU9iamVjdC5jcHAgKi8sCkBAIC0yMzQ0OSw2ICsyMzQ2Myw3IEBACiAJCQkJNTlBODYwMDgxMTlE
QUZBMTAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNFNDM4OUMxNDBCMUJBODAwNUU0MzdFIC8qIEpTRGljdGlvbmFyeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTRBRTdDMUExN0QyMzIzNTAwMDlGQjMxIC8qIEVsZW1lbnRBbmNlc3Rvckl0
ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTQ2RkU3NTE4NDQyMzcwMDAxQTkzN0MgLyog
SlNPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OUREQzgzMDlF
MTk4QkEwMDFCRjNDNiAvKiBKU0RvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ5NEVE
RjBBMTIzRjRDMDBGREFGQzEgLyogSlNEb2N1bWVudEZyYWdtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk2NURGMzFGNjA5RDFDQzYwMDAwQkUzMjUgLyogSlNEb2N1bWVudFR5cGUuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjM3MTAsNiArMjM3MjUsNyBAQAogCQkJCUIyRkEzRDM5MEFCNzVBNkYwMDBF
NUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDNC
MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQm9vbGVhbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjJGQTNEM0QwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRFbnVtZXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzE0NkZFNkUxODQ0MjBBODAwMUE5MzdDIC8qIE9FU1Rl
eHR1cmVGbG9hdExpbmVhci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEM0YwQUI3NUE2RjAw
MEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRJbnRlZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZB
M0Q0MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZExlbmd0aC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjJGQTNENDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRMZW5ndGhM
aXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI1ODA3LDYgKzI1ODIzLDcgQEAKIAkJCQk5MzMwOURE
QzA5OUU2NDkyMDA1NkU1ODEgLyogQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNzlGMkY1QTExMDkxOTM5QTAwMEQ4N0NCIC8qIENvbXBvc2l0aW9uRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwOEUxMkIwMjZGNzAwQzFBMzU5IC8qIENvbmUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMzE0NkZFNkYxODQ0MjBBQTAwMUE5MzdDIC8qIE9FU1RleHR1
cmVGbG9hdExpbmVhci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBCMzZBNDBDRDNDNjdDMDBB
QzdFQjUgLyogQ29uc29sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjE4RjBGNUYwNjk4
MDBBMDdFQUMgLyogQ29uc29sZU1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgxODcy
MUYwOTc3RDNDMDAwNTgyNkQ5IC8qIENvbnRhaW5lck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0yNjQ5Miw2ICsyNjUwOSw3IEBACiAJCQkJQTg3MURDMjYwQTE1MjA1NzAwQjEyQTY4IC8qIEhU
TUxTdHlsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNENEU5NzIxMzBDN0NGRTAw
N0JBNTQwIC8qIEhUTUxTdW1tYXJ5RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcx
REIzMjBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMzE0NkZFNzQxODQ0MjM3MDAwMUE5MzdDIC8qIEpTT0VTVGV4dHVyZUZs
b2F0TGluZWFyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQjJFMEExNTBCRDYwMEIxMkE2
OCAvKiBIVE1MVGFibGVDZWxsRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREIy
OTBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlQ29sRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBODcxREIyODBBMTUwQkQ2MDBCMTJBNjggLyogSFRNTFRhYmxlRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA5MTUwZmUxNDRhMTlk
YWJhMDQ5NmRhZmMzMDU0MDExMDBiNjYzYmZhLi4wOWQ5ODI2YTliNzM5OTAxZDg2OTg1MjY1ODJm
N2ZhZGRjMGQ1MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC00Miw2ICs0Miw3IEBA
CiAjaW5jbHVkZSAiSlNPRVNFbGVtZW50SW5kZXhVaW50LmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFu
ZGFyZERlcml2YXRpdmVzLmgiCiAjaW5jbHVkZSAiSlNPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNs
dWRlICJKU09FU1RleHR1cmVGbG9hdExpbmVhci5oIgogI2luY2x1ZGUgIkpTT0VTVGV4dHVyZUhh
bGZGbG9hdC5oIgogI2luY2x1ZGUgIkpTT0VTVmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRl
ICJKU1dlYkdMQnVmZmVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiT0VTRWxlbWVu
dEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKICNpbmNs
dWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRMaW5lYXIu
aCIKICNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVmVydGV4
QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgpAQCAtMjA3LDYgKzIwOSw4
IEBAIHN0YXRpYyBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBXZWJHTEV4dGVuCiAgICAgICAgIHJldHVybiB0b0pTKGV4ZWMsIGds
b2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTU3RhbmRhcmREZXJpdmF0aXZlcyo+KGV4dGVuc2lv
bikpOwogICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9FU1RleHR1cmVGbG9hdE5hbWU6CiAgICAg
ICAgIHJldHVybiB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTVGV4dHVy
ZUZsb2F0Kj4oZXh0ZW5zaW9uKSk7CisgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVGV4dHVy
ZUZsb2F0TGluZWFyTmFtZToKKyAgICAgICAgcmV0dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0
LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlRmxvYXRMaW5lYXIqPihleHRlbnNpb24pKTsKICAgICBj
YXNlIFdlYkdMRXh0ZW5zaW9uOjpPRVNUZXh0dXJlSGFsZkZsb2F0TmFtZToKICAgICAgICAgcmV0
dXJuIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNUZXh0dXJlSGFsZkZs
b2F0Kj4oZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6T0VTVmVydGV4QXJy
YXlPYmplY3ROYW1lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VT
VGV4dHVyZUZsb2F0TGluZWFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVGbG9hdExpbmVhci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDkzNDkxNjA4OGVlNTk5NzIxNTdjNGUw
ZGY2MWQ1MzNkMTFiYTgzYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRl
ICJPRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitPRVNU
ZXh0dXJlRmxvYXRMaW5lYXI6Ok9FU1RleHR1cmVGbG9hdExpbmVhcihXZWJHTFJlbmRlcmluZ0Nv
bnRleHQqIGNvbnRleHQpCisgICAgOiBXZWJHTEV4dGVuc2lvbihjb250ZXh0KQoreworfQorCitP
RVNUZXh0dXJlRmxvYXRMaW5lYXI6On5PRVNUZXh0dXJlRmxvYXRMaW5lYXIoKQoreworfQorCitX
ZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmdldE5h
bWUoKSBjb25zdAoreworICAgIHJldHVybiBPRVNUZXh0dXJlRmxvYXRMaW5lYXJOYW1lOworfQor
CitPd25QdHI8T0VTVGV4dHVyZUZsb2F0TGluZWFyPiBPRVNUZXh0dXJlRmxvYXRMaW5lYXI6OmNy
ZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCit7CisgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBPRVNUZXh0dXJlRmxvYXRMaW5lYXIoY29udGV4dCkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdExpbmVhci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBl
ZjhiODBiYTRkZTRhNjQ3NTUwM2I5Zjc4OTlkZWUyNjM5NGJlOTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaApAQCAt
MCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBPRVNUZXh0dXJlRmxvYXRMaW5lYXJf
aAorI2RlZmluZSBPRVNUZXh0dXJlRmxvYXRMaW5lYXJfaAorCisjaW5jbHVkZSAiV2ViR0xFeHRl
bnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIE9FU1RleHR1cmVGbG9hdExpbmVhciA6IHB1YmxpYyBXZWJHTEV4dGVuc2lv
biB7CitwdWJsaWM6CisgICAgc3RhdGljIE93blB0cjxPRVNUZXh0dXJlRmxvYXRMaW5lYXI+IGNy
ZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKworICAgIHZpcnR1YWwgfk9FU1RleHR1cmVG
bG9hdExpbmVhcigpOworICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7
CisKK3ByaXZhdGU6CisgICAgT0VTVGV4dHVyZUZsb2F0TGluZWFyKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gT0VTVGV4
dHVyZUZsb2F0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVGbG9hdExpbmVhci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0
dXJlRmxvYXRMaW5lYXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiZTRiMDYzNDcxMDllNTA3YzI5YjBhM2Ni
N2U1NzI1NmJjNTRkZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCitbCisgICAgTm9JbnRlcmZhY2VPYmplY3QsCisgICAgQ29uZGl0aW9uYWw9V0VCR0wsCisg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsV2ViR0xSZW5kZXJpbmdDb250ZXh0LAorXSBpbnRl
cmZhY2UgT0VTVGV4dHVyZUZsb2F0TGluZWFyIHsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xFeHRlbnNpb24uaAppbmRleCBmMDVlMzllOTg3NjM5OTQxMTBlY2I4OWQ5Y2I4
ZDcwYWVmMTgxYWQyLi43NGU5ZGE4ZjZlM2Q1MjIxYmRjYmY1MWRiZDU5ZjNiNWNjZjdiMGU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKQEAgLTM5LDYg
KzM5LDcgQEAgcHVibGljOgogICAgICAgICBFWFREcmF3QnVmZmVyc05hbWUsCiAgICAgICAgIEVY
VFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpY05hbWUsCiAgICAgICAgIE9FU1RleHR1cmVGbG9hdE5h
bWUsCisgICAgICAgIE9FU1RleHR1cmVGbG9hdExpbmVhck5hbWUsCiAgICAgICAgIE9FU1RleHR1
cmVIYWxmRmxvYXROYW1lLAogICAgICAgICBPRVNTdGFuZGFyZERlcml2YXRpdmVzTmFtZSwKICAg
ICAgICAgT0VTVmVydGV4QXJyYXlPYmplY3ROYW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggZjhlYzIxOTczZDE4
NjY0OTA0NjdjZmY0OTEwMGYxNmQzZmU1YTc2ZC4uM2ZhYWVmMDZlNTZmMzRiNTQ2ZTljZDkwNjdi
MGZkODU5YmI2YjAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiT0VT
RWxlbWVudEluZGV4VWludC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIK
ICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKKyNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXRM
aW5lYXIuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlSGFsZkZsb2F0LmgiCiAjaW5jbHVkZSAiT0VT
VmVydGV4QXJyYXlPYmplY3QuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0xOTg2LDEyICsxOTg3
LDEyIEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkcmF3QXJyYXlzKEdDM0RlbnVtIG1v
ZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBjCiAgICAgaWYgKCFpc0dMRVMyQ29tcGxpYW50
KCkpCiAgICAgICAgIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQgPSBzaW11bGF0ZVZlcnRleEF0dHJp
YjAoZmlyc3QgKyBjb3VudCAtIDEpOwogICAgIGlmICghaXNHTEVTMk5QT1RTdHJpY3QoKSkKLSAg
ICAgICAgaGFuZGxlTlBPVFRleHR1cmVzKCJkcmF3QXJyYXlzIiwgdHJ1ZSk7CisgICAgICAgIGNo
ZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5cyIsIHRydWUpOwogICAgIG1fY29udGV4
dC0+ZHJhd0FycmF5cyhtb2RlLCBmaXJzdCwgY291bnQpOwogICAgIGlmICghaXNHTEVTMkNvbXBs
aWFudCgpICYmIHZlcnRleEF0dHJpYjBTaW11bGF0ZWQpCiAgICAgICAgIHJlc3RvcmVTdGF0ZXNB
ZnRlclZlcnRleEF0dHJpYjBTaW11bGF0aW9uKCk7CiAgICAgaWYgKCFpc0dMRVMyTlBPVFN0cmlj
dCgpKQotICAgICAgICBoYW5kbGVOUE9UVGV4dHVyZXMoImRyYXdBcnJheXMiLCBmYWxzZSk7Cisg
ICAgICAgIGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0FycmF5cyIsIGZhbHNlKTsKICAg
ICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwodHJ1ZSk7CiB9CiAKQEAgLTIwNzAsMTIgKzIwNzEs
MTIgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmRyYXdFbGVtZW50cyhHQzNEZW51bSBt
b2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0RlbnUKICAgICAgICAgdmVydGV4QXR0cmliMFNpbXVs
YXRlZCA9IHNpbXVsYXRlVmVydGV4QXR0cmliMChudW1FbGVtZW50cyk7CiAgICAgfQogICAgIGlm
ICghaXNHTEVTMk5QT1RTdHJpY3QoKSkKLSAgICAgICAgaGFuZGxlTlBPVFRleHR1cmVzKCJkcmF3
RWxlbWVudHMiLCB0cnVlKTsKKyAgICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKCJkcmF3
RWxlbWVudHMiLCB0cnVlKTsKICAgICBtX2NvbnRleHQtPmRyYXdFbGVtZW50cyhtb2RlLCBjb3Vu
dCwgdHlwZSwgc3RhdGljX2Nhc3Q8R0MzRGludHB0cj4ob2Zmc2V0KSk7CiAgICAgaWYgKCFpc0dM
RVMyQ29tcGxpYW50KCkgJiYgdmVydGV4QXR0cmliMFNpbXVsYXRlZCkKICAgICAgICAgcmVzdG9y
ZVN0YXRlc0FmdGVyVmVydGV4QXR0cmliMFNpbXVsYXRpb24oKTsKICAgICBpZiAoIWlzR0xFUzJO
UE9UU3RyaWN0KCkpCi0gICAgICAgIGhhbmRsZU5QT1RUZXh0dXJlcygiZHJhd0VsZW1lbnRzIiwg
ZmFsc2UpOworICAgICAgICBjaGVja1RleHR1cmVDb21wbGV0ZW5lc3MoImRyYXdFbGVtZW50cyIs
IGZhbHNlKTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwodHJ1ZSk7CiB9CiAKQEAgLTIz
OTEsNiArMjM5MiwxNCBAQCBXZWJHTEV4dGVuc2lvbiogV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpn
ZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICB9CiAgICAgICAgIHJldHVy
biBtX29lc1RleHR1cmVGbG9hdC5nZXQoKTsKICAgICB9CisgICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKG5hbWUsICJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKQorICAgICAgICAmJiBtX2NvbnRl
eHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciIpKSB7CisgICAgICAgIGlmICghbV9vZXNUZXh0dXJlRmxvYXRMaW5lYXIpIHsKKyAgICAgICAg
ICAgIG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLT5lbnN1cmVFbmFibGVkKCJHTF9PRVNfdGV4
dHVyZV9mbG9hdF9saW5lYXIiKTsKKyAgICAgICAgICAgIG1fb2VzVGV4dHVyZUZsb2F0TGluZWFy
ID0gT0VTVGV4dHVyZUZsb2F0TGluZWFyOjpjcmVhdGUodGhpcyk7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIG1fb2VzVGV4dHVyZUZsb2F0TGluZWFyLmdldCgpOworICAgIH0KICAgICBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKQogICAgICAg
ICAmJiBtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX09FU190ZXh0dXJl
X2hhbGZfZmxvYXQiKSkgewogICAgICAgICBpZiAoIW1fb2VzVGV4dHVyZUhhbGZGbG9hdCkgewpA
QCAtNDg0NCwxMiArNDg1MywxNCBAQCBXZWJHTEdldEluZm8gV2ViR0xSZW5kZXJpbmdDb250ZXh0
OjpnZXRXZWJHTEludEFycmF5UGFyYW1ldGVyKEdDM0RlbnVtIHBuYW1lKQogICAgIHJldHVybiBX
ZWJHTEdldEluZm8oSW50MzJBcnJheTo6Y3JlYXRlKHZhbHVlLCBsZW5ndGgpKTsKIH0KIAotdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBjaGFyKiBm
dW5jdGlvbk5hbWUsIGJvb2wgcHJlcGFyZVRvRHJhdykKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpjaGVja1RleHR1cmVDb21wbGV0ZW5lc3MoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBi
b29sIHByZXBhcmVUb0RyYXcpCiB7CiAgICAgYm9vbCByZXNldEFjdGl2ZVVuaXQgPSBmYWxzZTsK
KyAgICBXZWJHTFRleHR1cmU6OlRleHR1cmVFeHRlbnNpb25GbGFnIGV4dGVuc2lvbnMgPSBzdGF0
aWNfY2FzdDxXZWJHTFRleHR1cmU6OlRleHR1cmVFeHRlbnNpb25GbGFnPihtX29lc1RleHR1cmVG
bG9hdExpbmVhciA/IFdlYkdMVGV4dHVyZTo6VGV4dHVyZUV4dGVuc2lvbkZsb2F0TGluZWFyRW5h
YmxlZCA6IDApOworCiAgICAgZm9yICh1bnNpZ25lZCBpaSA9IDA7IGlpIDwgbV90ZXh0dXJlVW5p
dHMuc2l6ZSgpOyArK2lpKSB7Ci0gICAgICAgIGlmICgobV90ZXh0dXJlVW5pdHNbaWldLnRleHR1
cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmctPm5lZWRU
b1VzZUJsYWNrVGV4dHVyZSgpKQotICAgICAgICAgICAgfHwgKG1fdGV4dHVyZVVuaXRzW2lpXS50
ZXh0dXJlQ3ViZU1hcEJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmVDdWJlTWFw
QmluZGluZy0+bmVlZFRvVXNlQmxhY2tUZXh0dXJlKCkpKSB7CisgICAgICAgIGlmICgobV90ZXh0
dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1
cmUyREJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKKyAgICAgICAg
ICAgIHx8IChtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4
dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVy
ZShleHRlbnNpb25zKSkpIHsKICAgICAgICAgICAgIGlmIChpaSAhPSBtX2FjdGl2ZVRleHR1cmVV
bml0KSB7CiAgICAgICAgICAgICAgICAgbV9jb250ZXh0LT5hY3RpdmVUZXh0dXJlKGlpKTsKICAg
ICAgICAgICAgICAgICByZXNldEFjdGl2ZVVuaXQgPSB0cnVlOwpAQCAtNDg2MSw3ICs0ODcyLDgg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmhhbmRsZU5QT1RUZXh0dXJlcyhjb25zdCBj
aGFyKiBmdW5jdGlvbk5hbWUsIGJvb2wgcHIKICAgICAgICAgICAgIFdlYkdMVGV4dHVyZSogdGV4
Q3ViZU1hcDsKICAgICAgICAgICAgIGlmIChwcmVwYXJlVG9EcmF3KSB7CiAgICAgICAgICAgICAg
ICAgU3RyaW5nIG1zZyhTdHJpbmcoInRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0ICIpICsg
U3RyaW5nOjpudW1iZXIoaWkpCi0gICAgICAgICAgICAgICAgICAgICsgIiBpcyBub3QgcmVuZGVy
YWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1
cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZSciKTsKKyAgICAgICAgICAg
ICAgICAgICAgKyAiIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBh
bmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJl
IGNvbXBsZXRlJywiCisgICAgICAgICAgICAgICAgICAgICsgIiBvciBpdCBpcyBhIEZsb2F0IHR5
cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBs
aW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuIik7CiAgICAgICAgICAgICAgICAgcHJpbnRHTFdhcm5p
bmdUb0NvbnNvbGUoZnVuY3Rpb25OYW1lLCBtc2cudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgICAg
ICAgICAgdGV4MkQgPSBtX2JsYWNrVGV4dHVyZTJELmdldCgpOwogICAgICAgICAgICAgICAgIHRl
eEN1YmVNYXAgPSBtX2JsYWNrVGV4dHVyZUN1YmVNYXAuZ2V0KCk7CkBAIC00ODY5LDkgKzQ4ODEs
OSBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6aGFuZGxlTlBPVFRleHR1cmVzKGNvbnN0
IGNoYXIqIGZ1bmN0aW9uTmFtZSwgYm9vbCBwcgogICAgICAgICAgICAgICAgIHRleDJEID0gbV90
ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmcuZ2V0KCk7CiAgICAgICAgICAgICAgICAg
dGV4Q3ViZU1hcCA9IG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlQ3ViZU1hcEJpbmRpbmcuZ2V0
KCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAobV90ZXh0dXJlVW5pdHNbaWldLnRl
eHR1cmUyREJpbmRpbmcgJiYgbV90ZXh0dXJlVW5pdHNbaWldLnRleHR1cmUyREJpbmRpbmctPm5l
ZWRUb1VzZUJsYWNrVGV4dHVyZSgpKQorICAgICAgICAgICAgaWYgKG1fdGV4dHVyZVVuaXRzW2lp
XS50ZXh0dXJlMkRCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0dXJlMkRCaW5kaW5n
LT5uZWVkVG9Vc2VCbGFja1RleHR1cmUoZXh0ZW5zaW9ucykpCiAgICAgICAgICAgICAgICAgbV9j
b250ZXh0LT5iaW5kVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgb2JqZWN0
T3JaZXJvKHRleDJEKSk7Ci0gICAgICAgICAgICBpZiAobV90ZXh0dXJlVW5pdHNbaWldLnRleHR1
cmVDdWJlTWFwQmluZGluZyAmJiBtX3RleHR1cmVVbml0c1tpaV0udGV4dHVyZUN1YmVNYXBCaW5k
aW5nLT5uZWVkVG9Vc2VCbGFja1RleHR1cmUoKSkKKyAgICAgICAgICAgIGlmIChtX3RleHR1cmVV
bml0c1tpaV0udGV4dHVyZUN1YmVNYXBCaW5kaW5nICYmIG1fdGV4dHVyZVVuaXRzW2lpXS50ZXh0
dXJlQ3ViZU1hcEJpbmRpbmctPm5lZWRUb1VzZUJsYWNrVGV4dHVyZShleHRlbnNpb25zKSkKICAg
ICAgICAgICAgICAgICBtX2NvbnRleHQtPmJpbmRUZXh0dXJlKEdyYXBoaWNzQ29udGV4dDNEOjpU
RVhUVVJFX0NVQkVfTUFQLCBvYmplY3RPclplcm8odGV4Q3ViZU1hcCkpOwogICAgICAgICB9CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuaAppbmRleCA1ZGU2OGMzZTMxOTNjMzQ1N2M3MTBkNDU0MDFhMzllYzE5OTQxNzUzLi44
YjIzNGM1NzYxOTM3OGRhYWJiMmFmODIzN2Y2Njk5ZTQ4OTEwMjBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaApAQCAtNTAsNiAr
NTAsNyBAQCBjbGFzcyBJbWFnZURhdGE7CiBjbGFzcyBJbnRTaXplOwogY2xhc3MgT0VTU3RhbmRh
cmREZXJpdmF0aXZlczsKIGNsYXNzIE9FU1RleHR1cmVGbG9hdDsKK2NsYXNzIE9FU1RleHR1cmVG
bG9hdExpbmVhcjsKIGNsYXNzIE9FU1RleHR1cmVIYWxmRmxvYXQ7CiBjbGFzcyBPRVNWZXJ0ZXhB
cnJheU9iamVjdDsKIGNsYXNzIE9FU0VsZW1lbnRJbmRleFVpbnQ7CkBAIC01MjUsNiArNTI2LDcg
QEAgcHJpdmF0ZToKICAgICBPd25QdHI8RVhURHJhd0J1ZmZlcnM+IG1fZXh0RHJhd0J1ZmZlcnM7
CiAgICAgT3duUHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4gbV9leHRUZXh0dXJlRmls
dGVyQW5pc290cm9waWM7CiAgICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdD4gbV9vZXNUZXh0dXJl
RmxvYXQ7CisgICAgT3duUHRyPE9FU1RleHR1cmVGbG9hdExpbmVhcj4gbV9vZXNUZXh0dXJlRmxv
YXRMaW5lYXI7CiAgICAgT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IG1fb2VzVGV4dHVyZUhh
bGZGbG9hdDsKICAgICBPd25QdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gbV9vZXNTdGFuZGFy
ZERlcml2YXRpdmVzOwogICAgIE93blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVjdD4gbV9vZXNWZXJ0
ZXhBcnJheU9iamVjdDsKQEAgLTU1OSw3ICs1NjEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdGV4
U3ViSW1hZ2UyREJhc2UoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhv
ZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGNvbnN0IHZvaWQqIHBpeGVscywgRXhj
ZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgdGV4U3ViSW1hZ2UyREltcGwoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRGVu
dW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBJbWFnZSosIEdyYXBoaWNzQ29udGV4dDNEOjpJbWFn
ZUh0bWxEb21Tb3VyY2UsIGJvb2wgZmxpcFksIGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgRXhjZXB0
aW9uQ29kZSYpOwogCi0gICAgdm9pZCBoYW5kbGVOUE9UVGV4dHVyZXMoY29uc3QgY2hhciosIGJv
b2wpOworICAgIHZvaWQgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNzKGNvbnN0IGNoYXIqLCBib29s
KTsKIAogICAgIHZvaWQgY3JlYXRlRmFsbGJhY2tCbGFja1RleHR1cmVzMXgxKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwCmluZGV4IGMzY2M3OTAwMTU1
NzUxOWVjMTRjOTIxNjYzMWMwZTE5NTFlMDM3ZDYuLmYxMGY1ZGYwNWFlMTU0NDU3MDlkNzhkMjIx
ZDhlY2E3NDQwZGRmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMVGV4dHVyZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0
dXJlLmNwcApAQCAtNTEsNiArNTEsNyBAQCBXZWJHTFRleHR1cmU6OldlYkdMVGV4dHVyZShXZWJH
TFJlbmRlcmluZ0NvbnRleHQqIGN0eCkKICAgICAsIG1faXNDb21wbGV0ZShmYWxzZSkKICAgICAs
IG1fbmVlZFRvVXNlQmxhY2tUZXh0dXJlKGZhbHNlKQogICAgICwgbV9pc0NvbXByZXNzZWQoZmFs
c2UpCisgICAgLCBtX2lzRmxvYXRUeXBlKGZhbHNlKQogewogICAgIHNldE9iamVjdChjdHgtPmdy
YXBoaWNzQ29udGV4dDNEKCktPmNyZWF0ZVRleHR1cmUoKSk7CiB9CkBAIC0yMzMsMTEgKzIzNCwx
NyBAQCBib29sIFdlYkdMVGV4dHVyZTo6aXNOUE9UKCkgY29uc3QKICAgICByZXR1cm4gbV9pc05Q
T1Q7CiB9CiAKLWJvb2wgV2ViR0xUZXh0dXJlOjpuZWVkVG9Vc2VCbGFja1RleHR1cmUoKSBjb25z
dAorYm9vbCBXZWJHTFRleHR1cmU6Om5lZWRUb1VzZUJsYWNrVGV4dHVyZShUZXh0dXJlRXh0ZW5z
aW9uRmxhZyBleHRlbnNpb25zKSBjb25zdAogewogICAgIGlmICghb2JqZWN0KCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbV9uZWVkVG9Vc2VCbGFja1RleHR1cmU7CisgICAg
aWYgKG1fbmVlZFRvVXNlQmxhY2tUZXh0dXJlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBp
ZiAobV9pc0Zsb2F0VHlwZSAmJiAhKGV4dGVuc2lvbnMgJiBUZXh0dXJlRXh0ZW5zaW9uRmxvYXRM
aW5lYXJFbmFibGVkKSkgeworICAgICAgICBpZiAobV9tYWdGaWx0ZXIgIT0gR3JhcGhpY3NDb250
ZXh0M0Q6Ok5FQVJFU1QgfHwgKG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNEOjpORUFS
RVNUICYmIG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNEOjpORUFSRVNUX01JUE1BUF9O
RUFSRVNUKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7CiB9CiAKIGJvb2wgV2ViR0xUZXh0dXJlOjppc0NvbXByZXNzZWQoKSBjb25zdApAQCAtMzU3
LDYgKzM2NCwxOCBAQCB2b2lkIFdlYkdMVGV4dHVyZTo6dXBkYXRlKCkKICAgICAgICAgfQogICAg
IH0KIAorICAgIG1faXNGbG9hdFR5cGUgPSBmYWxzZTsKKyAgICBpZiAobV9pc0NvbXBsZXRlKQor
ICAgICAgICBtX2lzRmxvYXRUeXBlID0gbV9pbmZvWzBdWzBdLnR5cGUgPT0gR3JhcGhpY3NDb250
ZXh0M0Q6OkZMT0FUOworICAgIGVsc2UgeworICAgICAgICBmb3IgKHNpemVfdCBpaSA9IDA7IGlp
IDwgbV9pbmZvLnNpemUoKTsgKytpaSkgeworICAgICAgICAgICAgaWYgKG1faW5mb1tpaV1bMF0u
dHlwZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6RkxPQVQpIHsKKyAgICAgICAgICAgICAgICBtX2lz
RmxvYXRUeXBlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KKwogICAgIG1fbmVlZFRvVXNlQmxhY2tUZXh0dXJlID0gZmFsc2U7
CiAgICAgLy8gTlBPVAogICAgIGlmIChtX2lzTlBPVCAmJiAoKG1fbWluRmlsdGVyICE9IEdyYXBo
aWNzQ29udGV4dDNEOjpORUFSRVNUICYmIG1fbWluRmlsdGVyICE9IEdyYXBoaWNzQ29udGV4dDNE
OjpMSU5FQVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRl
eHR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oCmluZGV4
IDJkZjU0ZTY4ZDM3ZDE1ZWRhNmZkY2UzMTNmMDlkMjJkOGVmMTQ1ZjAuLjg4MzYwYmUwNjBkYTE3
OWRmMmYyMDQ3NzEzZTYxYmJmYTc2ZjE4YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVGV4dHVyZS5oCkBAIC0zNSw2ICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFdlYkdMVGV4dHVyZSA6IHB1YmxpYyBXZWJHTFNoYXJlZE9iamVjdCB7CiBwdWJsaWM6
CisKKyAgICBlbnVtIFRleHR1cmVFeHRlbnNpb25GbGFnIHsKKyAgICAgICAgVGV4dHVyZUV4dGVu
c2lvbnNEaXNhYmxlZCA9IDAsCisgICAgICAgIFRleHR1cmVFeHRlbnNpb25GbG9hdExpbmVhckVu
YWJsZWQgPSAxIDw8IDAKKyAgICB9OworCiAgICAgdmlydHVhbCB+V2ViR0xUZXh0dXJlKCk7CiAK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJHTFRleHR1cmU+IGNyZWF0ZShXZWJHTFJlbmRlcmlu
Z0NvbnRleHQqKTsKQEAgLTY0LDcgKzcwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc05QT1Qo
KSBjb25zdDsKICAgICAvLyBEZXRlcm1pbmUgaWYgdGV4dHVyZSBzYW1wbGluZyBzaG91bGQgYWx3
YXlzIHJldHVybiBbMCwgMCwgMCwgMV0gKE9wZW5HTCBFUyAyLjAgU2VjIDMuOC4yKS4KLSAgICBi
b29sIG5lZWRUb1VzZUJsYWNrVGV4dHVyZSgpIGNvbnN0OworICAgIGJvb2wgbmVlZFRvVXNlQmxh
Y2tUZXh0dXJlKFRleHR1cmVFeHRlbnNpb25GbGFnKSBjb25zdDsKIAogICAgIGJvb2wgaXNDb21w
cmVzc2VkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDb21wcmVzc2VkKCk7CkBAIC0xMjcsNiArMTMz
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNDb21wbGV0ZTsKICAgICBib29sIG1fbmVlZFRv
VXNlQmxhY2tUZXh0dXJlOwogICAgIGJvb2wgbV9pc0NvbXByZXNzZWQ7CisgICAgYm9vbCBtX2lz
RmxvYXRUeXBlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaAppbmRleCAzYmVkNDZmZDJmNjQz
NGU1ZDZhMTE4ZWJjZWRkMDZhZTBkNmJkOWMwLi41OGY2OTg2ODVhOGMwNDI5MmYzZWRlYjJlZTMy
NTI2Njc3NWMyMmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9FeHRlbnNpb25zM0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9F
eHRlbnNpb25zM0QuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgLy8gICBHTF9FWFRf
cGFja2VkX2RlcHRoX3N0ZW5jaWwgLyBHTF9PRVNfcGFja2VkX2RlcHRoX3N0ZW5jaWwKICAgICAv
LyAgIEdMX0FOR0xFX2ZyYW1lYnVmZmVyX2JsaXQgLyBHTF9BTkdMRV9mcmFtZWJ1ZmZlcl9tdWx0
aXNhbXBsZQogICAgIC8vICAgR0xfT0VTX3RleHR1cmVfZmxvYXQKKyAgICAvLyAgIEdMX09FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhcgogICAgIC8vICAgR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9hdAog
ICAgIC8vICAgR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzCiAgICAgLy8gICBHTF9PRVNfcmdi
OF9yZ2JhOApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcAppbmRleCAzODQ3OGJiOTA0MGUwN2Iz
ZjEwOTUxMjE1NjFhODRjODJjN2VkOGViLi5mYTI3OTBkM2FmOTUwY2ZmNGRjYjU2YzVmY2QzYjQ4
NjZjMmMzYzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcApAQCAtMTUzLDkgKzE1Myw5
IEBAIGJvb2wgRXh0ZW5zaW9uczNET3BlbkdMOjpzdXBwb3J0c0V4dGVuc2lvbihjb25zdCBTdHJp
bmcmIG5hbWUpCiAgICAgaWYgKG5hbWUgPT0gIkdMX09FU19yZ2I4X3JnYmE4IikKICAgICAgICAg
cmV0dXJuIHRydWU7CiAKLSAgICAvLyBJZiBHTF9BUkJfdGV4dHVyZV9mbG9hdCBpcyBhdmFpbGFi
bGUgdGhlbiB3ZSByZXBvcnQgR0xfT0VTX3RleHR1cmVfZmxvYXQgYW5kCi0gICAgLy8gR0xfT0VT
X3RleHR1cmVfaGFsZl9mbG9hdCBhcyBhdmFpbGFibGUuCi0gICAgaWYgKG5hbWUgPT0gIkdMX09F
U190ZXh0dXJlX2Zsb2F0IiB8fCBuYW1lID09ICJHTF9PRVNfdGV4dHVyZV9oYWxmX2Zsb2F0IikK
KyAgICAvLyBJZiBHTF9BUkJfdGV4dHVyZV9mbG9hdCBpcyBhdmFpbGFibGUgdGhlbiB3ZSByZXBv
cnQgR0xfT0VTX3RleHR1cmVfZmxvYXQsCisgICAgLy8gR0xfT0VTX3RleHR1cmVfaGFsZl9mbG9h
dCBhbmQgR0xfT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGFzIGF2YWlsYWJsZS4KKyAgICBpZiAo
bmFtZSA9PSAiR0xfT0VTX3RleHR1cmVfZmxvYXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJl
X2hhbGZfZmxvYXQiIHx8IG5hbWUgPT0gIkdMX09FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpCiAg
ICAgICAgIHJldHVybiBtX2F2YWlsYWJsZUV4dGVuc2lvbnMuY29udGFpbnMoIkdMX0FSQl90ZXh0
dXJlX2Zsb2F0Iik7CiAKICAgICAvLyBHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDU3ZmM0ZTUwNGRhM2VjZGMwNmI0OTExZjZiMjkwYzgyYmJkNzJmY2YuLmI0OWJjNGI1NjYxNjBi
MGNhMjkwNGFjOGFlZTZiOTM5MDgzMmI2ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0x
Mi0wMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBJ
bXBsZW1lbnQgT0VTIHRleHR1cmUgZmxvYXQgbGluZWFyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ4NzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIEtocm9ub3MgdGVzdCBmaWxlcyBmb3Ig
dGhpcyBleHRlbnNpb24uCisKKyAgICAgICAgQWRkIHRoZSBKUyB0ZXN0IGZpbGUgZm9yIE9FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhciBhbmQgT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIKKyAg
ICAgICAgZXZlbiB0aG91Z2ggaXQncyBvbmx5IHVzZWQgZm9yIHRoZSBmb3JtZXIgYXQgdGhlIG1v
bWVudC4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWZsb2F0LWxp
bmVhci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMv
b2VzLXRleHR1cmUtZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzOiBBZGRlZC4KKwogMjAx
My0xMi0wMyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAg
IEFYOiBhcmlhLWhpZGRlbj1mYWxzZSBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9vZXMtdGV4dHVyZS1mbG9hdC1saW5l
YXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1
cmUtZmxvYXQtbGluZWFyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZTYwZDgyMjVhYjZiNTI0
Y2JlOGYzNDNkM2QyNjIwMTFhMmQzYWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIyMCBAQAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4
dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUg
bm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9y
IGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxp
bmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRl
bnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1
cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5v
bi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBp
cyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5l
YXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5z
aW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJl
IGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24t
cG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMg
bm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFy
IGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lv
biBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBi
b3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBv
d2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5v
dCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBm
aWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24g
ZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91
bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dl
ci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3Qg
J3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmls
dGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVu
YWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5k
IHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXIt
b2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0
ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRl
cmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFi
bGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0
byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9m
LTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4
dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJp
bmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxl
ZC4KK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8g
dGV4dHVyZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0y
IGFuZCBoYXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1
cmUgY29tcGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5n
IGFuZCB3aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQu
CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRl
eHR1cmUgdW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBh
bmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJl
IGNvbXBsZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBh
bmQgd2l0aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgor
Q09OU09MRSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0
dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5k
IGhhdmUgaW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBj
b21wbGV0ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5k
IHdpdGhvdXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NP
TlNPTEUgTUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVy
ZSB1bml0IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBo
YXZlIGluY29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29t
cGxldGUnLCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3
aXRob3V0IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05T
T0xFIE1FU1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUg
dW5pdCAwIGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2
ZSBpbmNvbXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBs
ZXRlJywgb3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0
aG91dCB0aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09M
RSBNRVNTQUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVu
aXQgMCBpcyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUg
aW5jb21wYXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0
ZScsIG9yIGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhv
dXQgdGhlIHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUg
TUVTU0FHRTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0
IDAgaXMgbm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGlu
Y29tcGF0aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUn
LCBvciBpdCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0
IHRoZSByZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1F
U1NBR0U6IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAw
IGlzIG5vdCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNv
bXBhdGlibGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywg
b3IgaXQgaXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0
aGUgcmVsZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNT
QUdFOiBXZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBp
cyBub3QgcmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21w
YXRpYmxlIHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9y
IGl0IGlzIGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhl
IHJlbGV2YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FH
RTogV2ViR0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMg
bm90IHJlbmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0
aWJsZSB0ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBp
dCBpcyBhIEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSBy
ZWxldmFudCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6
IFdlYkdMOiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5v
dCByZW5kZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGli
bGUgdGV4dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQg
aXMgYSBGbG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVs
ZXZhbnQgZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBX
ZWJHTDogZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3Qg
cmVuZGVyYWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxl
IHRleHR1cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlz
IGEgRmxvYXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2
YW50IGZsb2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK0NPTlNPTEUgTUVTU0FHRTogV2Vi
R0w6IGRyYXdBcnJheXM6IHRleHR1cmUgYm91bmQgdG8gdGV4dHVyZSB1bml0IDAgaXMgbm90IHJl
bmRlcmFibGUuIEl0IG1heWJlIG5vbi1wb3dlci1vZi0yIGFuZCBoYXZlIGluY29tcGF0aWJsZSB0
ZXh0dXJlIGZpbHRlcmluZyBvciBpcyBub3QgJ3RleHR1cmUgY29tcGxldGUnLCBvciBpdCBpcyBh
IEZsb2F0IHR5cGUgd2l0aCBsaW5lYXIgZmlsdGVyaW5nIGFuZCB3aXRob3V0IHRoZSByZWxldmFu
dCBmbG9hdCBsaW5lYXIgZXh0ZW5zaW9uIGVuYWJsZWQuCitDT05TT0xFIE1FU1NBR0U6IFdlYkdM
OiBkcmF3QXJyYXlzOiB0ZXh0dXJlIGJvdW5kIHRvIHRleHR1cmUgdW5pdCAwIGlzIG5vdCByZW5k
ZXJhYmxlLiBJdCBtYXliZSBub24tcG93ZXItb2YtMiBhbmQgaGF2ZSBpbmNvbXBhdGlibGUgdGV4
dHVyZSBmaWx0ZXJpbmcgb3IgaXMgbm90ICd0ZXh0dXJlIGNvbXBsZXRlJywgb3IgaXQgaXMgYSBG
bG9hdCB0eXBlIHdpdGggbGluZWFyIGZpbHRlcmluZyBhbmQgd2l0aG91dCB0aGUgcmVsZXZhbnQg
ZmxvYXQgbGluZWFyIGV4dGVuc2lvbiBlbmFibGVkLgorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDog
ZHJhd0FycmF5czogdGV4dHVyZSBib3VuZCB0byB0ZXh0dXJlIHVuaXQgMCBpcyBub3QgcmVuZGVy
YWJsZS4gSXQgbWF5YmUgbm9uLXBvd2VyLW9mLTIgYW5kIGhhdmUgaW5jb21wYXRpYmxlIHRleHR1
cmUgZmlsdGVyaW5nIG9yIGlzIG5vdCAndGV4dHVyZSBjb21wbGV0ZScsIG9yIGl0IGlzIGEgRmxv
YXQgdHlwZSB3aXRoIGxpbmVhciBmaWx0ZXJpbmcgYW5kIHdpdGhvdXQgdGhlIHJlbGV2YW50IGZs
b2F0IGxpbmVhciBleHRlbnNpb24gZW5hYmxlZC4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVu
Y3Rpb25hbGl0eSBvZiB0aGUgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGV4dGVuc2lvbiwgaWYg
aXQgaXMgYXZhaWxhYmxlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKyBQQVNTIFN1
Y2Nlc3NmdWxseSBlbmFibGVkIE9FU190ZXh0dXJlX2Zsb2F0IGV4dGVuc2lvbgorCit0ZXN0aW5n
IHRhcmdldDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczog
TkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91
bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhciBpcyBlbmFibGVkIG9yIG5vdAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUs
MjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwg
bWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVf
ZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZp
bHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwy
NTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBt
YWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVT
VCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJl
IHdpdGggbm9uLUxpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBt
YXR0ZXIgd2hldGhlciBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QK
K1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVS
RV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmls
dGVyIGlzOiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBp
cyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHBy
b2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9s
aW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3Rpbmcg
dGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBO
RUFSRVNULCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVf
ZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZp
bHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190
ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwy
NTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBt
YWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9MSU5FQVIs
IE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3
aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19F
UlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91
bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZv
cm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVCwg
T0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdp
dGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VS
Uk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3Vs
ZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9y
bWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9F
U190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRo
IExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJP
UiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQg
YmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1h
dDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBN
QVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNT
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9h
dCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4w
XSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVk
CitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQs
IHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlz
OiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3Qg
ZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VT
X3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2Ug
WzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0
OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIs
IG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9s
aW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNo
b3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVf
ZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0
ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRl
ciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4
dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5l
YXIgZmlsdGVyIHNob3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYg
T0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAs
MCwwLDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3Jt
YXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBP
RVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0
aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRl
ciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkIG9yIG5vdAorUEFT
UyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NV
QkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5G
aWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVk
CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVy
ZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwg
MCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBl
bmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRV
UkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1Qs
IG1pbkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRf
bGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9uLUxpbmVhciBmaWx0
ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hldGhlciBPRVNfdGV4
dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hvdWxkIGJlIDI1NSwy
NTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBm
b3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNU
X01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAor
UEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVf
ZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAs
IDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5h
YmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJF
X0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBt
aW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91
bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zs
b2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVz
dGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdG
aWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9MSU5FQVIsIE9F
U190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRo
IExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJP
UiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQg
YmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5n
IGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTkVBUkVT
VCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5vdCBlbmFibGVkCitQQVNTIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJl
IHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVjZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5P
X0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpc24ndCBlbmFibGVkCitQQVNTIHNo
b3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRl
c3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBM
SU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4
dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0
aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFT
UyBzaG91bGQgYmUgMCwwLDAsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQ
LCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBp
czogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIG5v
dCBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBP
RVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgcHJvZHVj
ZSBbMCwgMCwgMCwgMS4wXSB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciBpc24ndCBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAwLDAsMCwyNTUKKwordGVzdGluZyB0YXJn
ZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6
IExJTkVBUiwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJl
X2Zsb2F0X2xpbmVhciBpcyBub3QgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBm
aWx0ZXIgc2hvdWxkIHByb2R1Y2UgWzAsIDAsIDAsIDEuMF0gd2l0aCBOT19FUlJPUiBpZiBPRVNf
dGV4dHVyZV9mbG9hdF9saW5lYXIgaXNuJ3QgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMCwwLDAs
MjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDog
UkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1BUF9O
RUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90IGVuYWJsZWQKK1BBU1MgZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRl
eHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdp
dGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzbid0IGVuYWJsZWQKK1BB
U1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01B
UCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIg
aXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgbm90
IGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9F
U190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBwcm9kdWNl
IFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFy
IGlzbid0IGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDAsMCwwLDI1NQorCit0ZXN0aW5nIHRhcmdl
dDogVEVYVFVSRV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVT
VCwgbWluRmlsdGVyIGlzOiBORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3Rl
eHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIG5vbi1MaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVk
IHdpdGggTk9fRVJST1Igbm8gbWF0dGVyIHdoZXRoZXIgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFy
IGlzIGVuYWJsZWQgb3Igbm90CitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVz
dGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIg
aXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5l
YXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1
Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNT
IHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQs
IHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBp
czogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVu
YWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190
ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2Vl
ZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVh
ciBpcyBlbmFibGVkIG9yIG5vdAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rl
c3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVy
IGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1RfTUlQTUFQX0xJTkVBUiwgT0VTX3Rl
eHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIg
ZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQg
aXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFy
Z2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFS
RVNULCBtaW5GaWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxv
YXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNo
b3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxl
ZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhU
VVJFXzJELCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBORUFSRVNULCBtaW5G
aWx0ZXIgaXM6IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
T0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2Nl
ZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNo
b3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRl
c3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBO
RUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVy
ZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNf
dGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUK
KwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdG
aWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0
X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91
bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQK
K1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVS
RV8yRCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0
ZXIgaXM6IE5FQVJFU1RfTUlQTUFQX05FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBp
cyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBP
RVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2Vl
ZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hv
dWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV8yRCwgdGVz
dGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5F
QVJFU1RfTUlQTUFQX0xJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQK
K1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJl
X2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9f
RVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1
LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFXzJELCB0ZXN0aW5nIGZvcm1h
dDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZpbHRlciBpczogTElORUFSX01JUE1B
UF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4
dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBpZiBP
RVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAyNTUsMjU1LDI1NSwy
NTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfMkQsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBt
YWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVyIGlzOiBMSU5FQVJfTUlQTUFQX0xJTkVBUiwg
T0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBM
aW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVf
ZmxvYXQgaXMgZW5hYmxlZAorUEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3Rp
bmcgdGFyZ2V0OiBURVhUVVJFX0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmls
dGVyIGlzOiBORUFSRVNULCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0
X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggbm9uLUxpbmVhciBmaWx0ZXIg
c2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJPUiBubyBtYXR0ZXIgd2hldGhlciBPRVNfdGV4dHVy
ZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZCBvciBub3QKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUs
MjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3Jt
YXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBMSU5FQVIsIE9F
U190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGlu
ZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zs
b2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5n
IHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRl
ciBpczogTkVBUkVTVCwgbWluRmlsdGVyIGlzOiBORUFSRVNUX01JUE1BUF9ORUFSRVNULCBPRVNf
dGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIG5vbi1M
aW5lYXIgZmlsdGVyIHNob3VsZCBzdWNjZWVkIHdpdGggTk9fRVJST1Igbm8gbWF0dGVyIHdoZXRo
ZXIgT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIGlzIGVuYWJsZWQgb3Igbm90CitQQVNTIHNob3Vs
ZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAs
IHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBp
czogTkVBUkVTVF9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5h
YmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3Rl
eHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0
aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBi
ZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRl
c3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczog
TElORUFSX01JUE1BUF9ORUFSRVNULCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1
cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBO
T19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAy
NTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9NQVAsIHRlc3Rp
bmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IE5FQVJFU1QsIG1pbkZpbHRlciBpczogTElO
RUFSX01JUE1BUF9MSU5FQVIsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQ
QVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9m
bG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VS
Uk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwy
NTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBm
b3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IE5FQVJFU1Qs
IE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBlbmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNfdGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGgg
TGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJl
X2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxkIGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0
aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwgdGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0Zp
bHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6IExJTkVBUiwgT0VTX3RleHR1cmVfZmxvYXRf
bGluZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3Vs
ZCBzdWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAor
UEFTUyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJF
X0NVQkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1p
bkZpbHRlciBpczogTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgT0VTX3RleHR1cmVfZmxvYXRfbGlu
ZWFyIGlzIGVuYWJsZWQKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IE9FU190ZXh0dXJlX2Zsb2F0IHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNob3VsZCBz
dWNjZWVkIHdpdGggTk9fRVJST1IgaWYgT0VTX3RleHR1cmVfZmxvYXQgaXMgZW5hYmxlZAorUEFT
UyBzaG91bGQgYmUgMjU1LDI1NSwyNTUsMjU1CisKK3Rlc3RpbmcgdGFyZ2V0OiBURVhUVVJFX0NV
QkVfTUFQLCB0ZXN0aW5nIGZvcm1hdDogUkdCQSwgbWFnRmlsdGVyIGlzOiBMSU5FQVIsIG1pbkZp
bHRlciBpczogTkVBUkVTVF9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIg
aXMgZW5hYmxlZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
T0VTX3RleHR1cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2Nl
ZWQgd2l0aCBOT19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNo
b3VsZCBiZSAyNTUsMjU1LDI1NSwyNTUKKwordGVzdGluZyB0YXJnZXQ6IFRFWFRVUkVfQ1VCRV9N
QVAsIHRlc3RpbmcgZm9ybWF0OiBSR0JBLCBtYWdGaWx0ZXIgaXM6IExJTkVBUiwgbWluRmlsdGVy
IGlzOiBMSU5FQVJfTUlQTUFQX05FQVJFU1QsIE9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciBpcyBl
bmFibGVkCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBPRVNf
dGV4dHVyZV9mbG9hdCB0ZXh0dXJlIHdpdGggTGluZWFyIGZpbHRlciBzaG91bGQgc3VjY2VlZCB3
aXRoIE5PX0VSUk9SIGlmIE9FU190ZXh0dXJlX2Zsb2F0IGlzIGVuYWJsZWQKK1BBU1Mgc2hvdWxk
IGJlIDI1NSwyNTUsMjU1LDI1NQorCit0ZXN0aW5nIHRhcmdldDogVEVYVFVSRV9DVUJFX01BUCwg
dGVzdGluZyBmb3JtYXQ6IFJHQkEsIG1hZ0ZpbHRlciBpczogTElORUFSLCBtaW5GaWx0ZXIgaXM6
IExJTkVBUl9NSVBNQVBfTElORUFSLCBPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIgaXMgZW5hYmxl
ZAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogT0VTX3RleHR1
cmVfZmxvYXQgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBO
T19FUlJPUiBpZiBPRVNfdGV4dHVyZV9mbG9hdCBpcyBlbmFibGVkCitQQVNTIHNob3VsZCBiZSAy
NTUsMjU1LDI1NSwyNTUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC9vZXMtdGV4dHVyZS1mbG9hdC1saW5lYXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGZmOGZm
ZTg3YThiZDc5NDUxZDczZDNmMGI4OGUyNjE0N2ExMzAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtZmxvYXQtbGluZWFyLmh0bWwK
QEAgLTAsMCArMSw1MyBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFsZi1mbG9hdC1saW5lYXIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIHRlc3RQcm9s
b2d1ZShnbCwgZXh0ZW5zaW9uVHlwZU5hbWUpIHsKKyAgICBpZiAoIWdsLmdldEV4dGVuc2lvbihl
eHRlbnNpb25UeXBlTmFtZSkpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiTm8gIiArIGV4dGVuc2lv
blR5cGVOYW1lICsgIiBzdXBwb3J0IC0tIHRoaXMgaXMgbGVnYWwiKTsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKyAgICB0ZXN0UGFzc2VkKCJTdWNjZXNzZnVsbHkgZW5hYmxlZCAiICsg
ZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIGV4dGVuc2lvbiIpOworICAgIHJldHVybiB0cnVlOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiT0VTX3RleHR1
cmVfZmxvYXQiLCAiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIiwgIkZMT0FUIiwgdGVzdFByb2xv
Z3VlKSgpJz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZh
cyIgc3R5bGU9IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7Ij4gPC9jYW52YXM+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy9vZXMtdGV4dHVyZS1mbG9hdC1hbmQtaGFs
Zi1mbG9hdC1saW5lYXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJj
ZXMvb2VzLXRleHR1cmUtZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJkOGQwYWYwMTI1ZWIwNTFkYTMxNjVhMzJlYjllNjE2MzQzZTY3N2UKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvb2VzLXRleHR1cmUt
ZmxvYXQtYW5kLWhhbGYtZmxvYXQtbGluZWFyLmpzCkBAIC0wLDAgKzEsMTcyIEBACisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEzIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKK2Z1bmN0aW9uIGdlbmVyYXRlVGVzdChleHRlbnNpb25UeXBlTmFt
ZSwgZXh0ZW5zaW9uTmFtZSwgcGl4ZWxUeXBlLCBwcm9sb2d1ZSkgeworICAgIHZhciB3dHUgPSBX
ZWJHTFRlc3RVdGlsczsKKyAgICB2YXIgZ2wgPSBudWxsOworICAgIHZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSBmYWxzZTsKKworICAgIHZhciBpbml0ID0gZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0
aGUgIiArIGV4dGVuc2lvbk5hbWUgKyAiIGV4dGVuc2lvbiwgaWYgaXQgaXMgYXZhaWxhYmxlLiIp
OworCisgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFz
Iik7CisgICAgICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOworCisgICAgICAg
IGlmICghcHJvbG9ndWUoZ2wsIGV4dGVuc2lvblR5cGVOYW1lKSkgeworICAgICAgICAgICAgZmlu
aXNoVGVzdCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8g
QmVmb3JlIHRoZSBleHRlbnNpb24gaXMgZW5hYmxlZAorICAgICAgICB2YXIgZXh0ZW5zaW9uRW5h
YmxlZCA9IGZhbHNlOworICAgICAgICBydW5UZXN0U3VpdGUoZXh0ZW5zaW9uRW5hYmxlZCk7CisK
KyAgICAgICAgaWYgKCFnbC5nZXRFeHRlbnNpb24oZXh0ZW5zaW9uTmFtZSkpCisgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCJObyAiICsgZXh0ZW5zaW9uTmFtZSArICIgc3VwcG9ydCAtLSB0aGlzIGlz
IGxlZ2FsIik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLy8gQWZ0ZXIgdGhlIGV4dGVu
c2lvbiBpcyBlbmFibGVkCisgICAgICAgICAgICBleHRlbnNpb25FbmFibGVkID0gdHJ1ZTsKKyAg
ICAgICAgICAgIHJ1blRlc3RTdWl0ZShleHRlbnNpb25FbmFibGVkKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0U3VpdGUo
ZXh0ZW5zaW9uRW5hYmxlZCkKKyAgICB7CisgICAgICAgIHZhciBtYWdGID0gW2dsLk5FQVJFU1Qs
IGdsLkxJTkVBUl07CisgICAgICAgIHZhciBtaW5GID0gW2dsLk5FQVJFU1QsIGdsLkxJTkVBUiwg
Z2wuTkVBUkVTVF9NSVBNQVBfTkVBUkVTVCwgZ2wuTkVBUkVTVF9NSVBNQVBfTElORUFSLCBnbC5M
SU5FQVJfTUlQTUFQX05FQVJFU1QsIGdsLkxJTkVBUl9NSVBNQVBfTElORUFSXTsKKyAgICAgICAg
dmFyIHRleDJERlNoYWRlciA9IFsKKyAgICAgICAgICAgICd1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7
JywKKyAgICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgICcgICAgZ2xfRnJh
Z0RhdGFbMF0gPSB0ZXh0dXJlMkQodGV4LCB2ZWMyKDAuNSwgMC41KSkgKiB2ZWM0KDQuMCwgMi4w
LCAyLjAsIDEpOycsCisgICAgICAgICAgICAnfSddLmpvaW4oJ1xuJyk7CisKKyAgICAgICAgdmFy
IHBvc2l0aW9uVmVydGV4U2hhZGVyID0gWworICAgICAgICAgICAnYXR0cmlidXRlIHZlYzQgdlBv
c2l0aW9uOycsCisgICAgICAgICAgICd2b2lkIG1haW4oKSB7JywKKyAgICAgICAgICAgJyAgICBn
bF9Qb3NpdGlvbiA9IHZQb3NpdGlvbjsnLAorICAgICAgICAgICAnfSddLmpvaW4oJ1xuJyk7CisK
KyAgICAgICAgdmFyIHRleEN1YmVGU2hhZGVyID0gWworICAgICAgICAgICAgJ3VuaWZvcm0gc2Ft
cGxlckN1YmUgdGV4OycsCisgICAgICAgICAgICAndm9pZCBtYWluKCkgeycsCisgICAgICAgICAg
ICAnICAgIGdsX0ZyYWdDb2xvciA9IHRleHR1cmVDdWJlKHRleCwgbm9ybWFsaXplKHZlYzMoMC41
LCAwLjUsIDEpKSkgKiB2ZWM0KDQuMCwgMi4wLCAyLjAsIDEpOycsCisgICAgICAgICAgICAnfSdd
LmpvaW4oJ1xuJyk7CisKKyAgICAgICAgdmFyIHZzID0gd3R1LmxvYWRTaGFkZXIoZ2wsIHBvc2l0
aW9uVmVydGV4U2hhZGVyLCBnbC5WRVJURVhfU0hBREVSKTsKKyAgICAgICAgdmFyIGZzXzJkID0g
d3R1LmxvYWRTaGFkZXIoZ2wsIHRleDJERlNoYWRlciwgZ2wuRlJBR01FTlRfU0hBREVSKTsKKyAg
ICAgICAgdmFyIGZzX2N1YmUgPSB3dHUubG9hZFNoYWRlcihnbCwgdGV4Q3ViZUZTaGFkZXIsIGds
LkZSQUdNRU5UX1NIQURFUik7CisKKyAgICAgICAgLy8gVEVYVFVSRV8yRAorICAgICAgICB2YXIg
cHJvZ3JhbSA9IHd0dS5zZXR1cFByb2dyYW0oZ2wsIFt2cywgZnNfMmRdKTsKKyAgICAgICAgZ2wu
dXNlUHJvZ3JhbShwcm9ncmFtKTsKKyAgICAgICAgd3R1LnNldHVwVW5pdFF1YWQoZ2wpOworICAg
ICAgICBmb3IgKHZhciBrayA9IDA7IGtrIDwgMjsgKytraykgeworICAgICAgICAgICAgZm9yICh2
YXIgaWkgPSAwOyBpaSA8IDY7ICsraWkpIHsKKyAgICAgICAgICAgICAgICB2YXIgbGluZWFyID0g
ZmFsc2U7CisgICAgICAgICAgICAgICAgaWYgKG1hZ0Zba2tdID09IGdsLkxJTkVBUiB8fCAobWlu
RltpaV0gIT0gZ2wuTkVBUkVTVCAmJiBtaW5GW2lpXSAhPSBnbC5ORUFSRVNUX01JUE1BUF9ORUFS
RVNUKSkKKyAgICAgICAgICAgICAgICAgICAgbGluZWFyID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICB2YXIgY29sb3IgPSAoIWV4dGVuc2lvbkVuYWJsZWQgJiYgbGluZWFyKSA/IFswLCAwLCAwLCAy
NTVdIDogWzI1NSwgMjU1LCAyNTUsIDI1NV07CisgICAgICAgICAgICAgICAgcnVuRWFjaFRlc3Qo
Z2wuVEVYVFVSRV8yRCwgbWFnRltra10sIG1pbkZbaWldLCBsaW5lYXIsIGV4dGVuc2lvbkVuYWJs
ZWQsIGNvbG9yKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIFRFWFRV
UkVfQ1VCRV9NQVAKKyAgICAgICAgdmFyIHByb2dyYW1DdWJlID0gd3R1LnNldHVwUHJvZ3JhbShn
bCwgW3ZzLCBmc19jdWJlXSk7CisgICAgICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbUN1YmUpOwor
ICAgICAgICB3dHUuc2V0dXBVbml0UXVhZChnbCk7CisgICAgICAgIGZvciAodmFyIGtrID0gMDsg
a2sgPCAyOyArK2trKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgNjsgKytp
aSkgeworICAgICAgICAgICAgICAgIHZhciBsaW5lYXIgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICBpZiAobWFnRltra10gPT0gZ2wuTElORUFSIHx8IChtaW5GW2lpXSAhPSBnbC5ORUFSRVNUICYm
IG1pbkZbaWldICE9IGdsLk5FQVJFU1RfTUlQTUFQX05FQVJFU1QpKQorICAgICAgICAgICAgICAg
ICAgICBsaW5lYXIgPSB0cnVlOworICAgICAgICAgICAgICAgIHZhciBjb2xvciA9ICghZXh0ZW5z
aW9uRW5hYmxlZCAmJiBsaW5lYXIpID8gWzAsIDAsIDAsIDI1NV0gOiBbMjU1LCAyNTUsIDI1NSwg
MjU1XTsKKyAgICAgICAgICAgICAgICBydW5FYWNoVGVzdChnbC5URVhUVVJFX0NVQkVfTUFQLCBt
YWdGW2trXSwgbWluRltpaV0sIGxpbmVhciwgZXh0ZW5zaW9uRW5hYmxlZCwgY29sb3IpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuRWFjaFRlc3Qo
dGV4dHVyZVRhcmdldCwgbWFnRmlsdGVyLCBtaW5GaWx0ZXIsIGxpbmVhciwgZXh0ZW5zaW9uRW5h
YmxlZCwgZXhwZWN0ZWQpCisgICAgeworICAgICAgICB2YXIgZm9ybWF0ID0gZ2wuUkdCQTsKKyAg
ICAgICAgdmFyIG51bWJlck9mQ2hhbm5lbHMgPSA0OworICAgICAgICBkZWJ1ZygiIik7CisgICAg
ICAgIGRlYnVnKCJ0ZXN0aW5nIHRhcmdldDogIiArIHd0dS5nbEVudW1Ub1N0cmluZyhnbCx0ZXh0
dXJlVGFyZ2V0KSArCisgICAgICAgICAgICAiLCB0ZXN0aW5nIGZvcm1hdDogIiArIHd0dS5nbEVu
dW1Ub1N0cmluZyhnbCwgZm9ybWF0KSArCisgICAgICAgICAgICAiLCBtYWdGaWx0ZXIgaXM6ICIg
KyB3dHUuZ2xFbnVtVG9TdHJpbmcoZ2wsIG1hZ0ZpbHRlcikgKworICAgICAgICAgICAgIiwgbWlu
RmlsdGVyIGlzOiAiICsgd3R1LmdsRW51bVRvU3RyaW5nKGdsLCBtaW5GaWx0ZXIpICsKKyAgICAg
ICAgICAgICIsICIgKyBleHRlbnNpb25OYW1lICsgIiBpcyAiICsgIChleHRlbnNpb25FbmFibGVk
ID8gImVuYWJsZWQiOiAibm90IGVuYWJsZWQiKQorICAgICAgICAgICAgKTsKKworICAgICAgICAv
LyBHZW5lcmF0ZSBkYXRhLgorICAgICAgICB2YXIgd2lkdGggPSA0OworICAgICAgICB2YXIgaGVp
Z2h0ID0gNDsKKyAgICAgICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
Y2FudmFzJyk7CisgICAgICAgIGNhbnZhczJkLndpZHRoID0gd2lkdGg7CisgICAgICAgIGNhbnZh
czJkLmhlaWdodCA9IGhlaWdodDsKKyAgICAgICAgdmFyIGN0eDJkID0gY2FudmFzMmQuZ2V0Q29u
dGV4dCgnMmQnKTsKKyAgICAgICAgdmFyIGNvbG9yID0gWzY0LCAxMjgsIDEyOCwgMjU1XTsKKyAg
ICAgICAgY3R4MmQuZmlsbFN0eWxlID0gInJnYmEoIiArIGNvbG9yWzBdICsgIiwiICsgY29sb3Jb
MV0gKyAiLCIgKyBjb2xvclsyXSArICIsIiArIGNvbG9yWzNdICsgIikiOworICAgICAgICBjdHgy
ZC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgaGVpZ2h0KTsKKworICAgICAgICB2YXIgdGV4dHVyZSA9
IGdsLmNyZWF0ZVRleHR1cmUoKTsKKyAgICAgICAgZ2wuYmluZFRleHR1cmUodGV4dHVyZVRhcmdl
dCwgdGV4dHVyZSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwgZ2wu
VEVYVFVSRV9NQUdfRklMVEVSLCBtYWdGaWx0ZXIpOworICAgICAgICBnbC50ZXhQYXJhbWV0ZXJp
KHRleHR1cmVUYXJnZXQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgbWluRmlsdGVyKTsKKyAgICAg
ICAgZ2wudGV4UGFyYW1ldGVyaSh0ZXh0dXJlVGFyZ2V0LCBnbC5URVhUVVJFX1dSQVBfUywgZ2wu
Q0xBTVBfVE9fRURHRSk7CisgICAgICAgIGdsLnRleFBhcmFtZXRlcmkodGV4dHVyZVRhcmdldCwg
Z2wuVEVYVFVSRV9XUkFQX1QsIGdsLkNMQU1QX1RPX0VER0UpOworCisgICAgICAgIGlmICh0ZXh0
dXJlVGFyZ2V0ID09IGdsLlRFWFRVUkVfMkQpIHsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQo
Z2wuVEVYVFVSRV8yRCwgMCwgZm9ybWF0LCBmb3JtYXQsIGdsW3BpeGVsVHlwZV0sIGNhbnZhczJk
KTsKKyAgICAgICAgICAgIGlmIChtaW5GaWx0ZXIgIT0gZ2wuTkVBUkVTVCAmJiBtaW5GaWx0ZXIg
IT0gIGdsLkxJTkVBUikKKyAgICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVf
MkQpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHRleHR1cmVUYXJnZXQgPT0gZ2wuVEVY
VFVSRV9DVUJFX01BUCkgeworICAgICAgICAgICAgdmFyIHRhcmdldHMgPSBbCisgICAgICAgICAg
ICAgICAgZ2wuVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9YLAorICAgICAgICAgICAgICAgIGds
LlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCwKKyAgICAgICAgICAgICAgICBnbC5URVhUVVJF
X0NVQkVfTUFQX1BPU0lUSVZFX1ksCisgICAgICAgICAgICAgICAgZ2wuVEVYVFVSRV9DVUJFX01B
UF9ORUdBVElWRV9ZLAorICAgICAgICAgICAgICAgIGdsLlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJ
VkVfWiwKKyAgICAgICAgICAgICAgICBnbC5URVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1pdOwor
ICAgICAgICAgICAgICAgIGZvciAodmFyIHR0ID0gMDsgdHQgPCB0YXJnZXRzLmxlbmd0aDsgKyt0
dCkKKyAgICAgICAgICAgICAgICAgICAgZ2wudGV4SW1hZ2UyRCh0YXJnZXRzW3R0XSwgMCwgZm9y
bWF0LCBmb3JtYXQsIGdsW3BpeGVsVHlwZV0sIGNhbnZhczJkKTsKKyAgICAgICAgICAgICAgICBp
ZiAobWluRmlsdGVyICE9IGdsLk5FQVJFU1QgJiYgbWluRmlsdGVyICE9ICBnbC5MSU5FQVIpCisg
ICAgICAgICAgICAgICAgICAgIGdsLmdlbmVyYXRlTWlwbWFwKGdsLlRFWFRVUkVfQ1VCRV9NQVAp
OworICAgICAgICB9CisgICAgICAgIHd0dS5kcmF3UXVhZChnbCk7CisgICAgICAgIGlmICghbGlu
ZWFyKSB7CisgICAgICAgICAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwg
ZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIHRleHR1cmUgd2l0aCBub24tTGluZWFyIGZpbHRlciBzaG91
bGQgc3VjY2VlZCB3aXRoIE5PX0VSUk9SIG5vIG1hdHRlciB3aGV0aGVyICIgKyBleHRlbnNpb25O
YW1lICsgIiBpcyBlbmFibGVkIG9yIG5vdCIpOworICAgICAgICB9IGVsc2UgaWYgKCFleHRlbnNp
b25FbmFibGVkKSB7CisgICAgICAgICAgICB3dHUuZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUiwgZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIHRleHR1cmUgd2l0aCBMaW5lYXIgZmlsdGVyIHNo
b3VsZCBwcm9kdWNlIFswLCAwLCAwLCAxLjBdIHdpdGggTk9fRVJST1IgaWYgIiArIGV4dGVuc2lv
bk5hbWUgKyAiIGlzbid0IGVuYWJsZWQiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IHd0dS5nbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCBleHRlbnNpb25UeXBlTmFtZSAr
ICIgdGV4dHVyZSB3aXRoIExpbmVhciBmaWx0ZXIgc2hvdWxkIHN1Y2NlZWQgd2l0aCBOT19FUlJP
UiBpZiAiICsgZXh0ZW5zaW9uVHlwZU5hbWUgKyAiIGlzIGVuYWJsZWQiKTsKKyAgICAgICAgfQor
CisgICAgICAgIHd0dS5jaGVja0NhbnZhcyhnbCwgZXhwZWN0ZWQsICJzaG91bGQgYmUgIiArIGV4
cGVjdGVkWzBdICsgIiwiICsgZXhwZWN0ZWRbMV0gICsgIiwiICsgIGV4cGVjdGVkWzJdICsgIiwi
ICsgZXhwZWN0ZWRbM10pOworICAgIH0KKworICAgIHJldHVybiBpbml0OworfQo=
</data>
<flag name="review"
          id="241693"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>