<?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>116317</bug_id>
          
          <creation_ts>2013-05-17 08:19:27 -0700</creation_ts>
          <short_desc>[GTK] Metabug: Memory leak detection using valgrind</short_desc>
          <delta_ts>2017-03-11 10:53:03 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>118382</dependson>
    
    <dependson>118385</dependson>
    
    <dependson>118567</dependson>
    
    <dependson>118248</dependson>
    
    <dependson>118297</dependson>
    
    <dependson>118307</dependson>
    
    <dependson>118362</dependson>
    
    <dependson>118386</dependson>
    
    <dependson>118412</dependson>
    
    <dependson>118473</dependson>
    
    <dependson>118497</dependson>
    
    <dependson>118505</dependson>
    
    <dependson>118528</dependson>
    
    <dependson>118596</dependson>
    
    <dependson>118675</dependson>
    
    <dependson>118785</dependson>
    
    <dependson>125441</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Brian Holt">brian.holt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>amruthraj</cc>
    
    <cc>arajp</cc>
    
    <cc>bjonesbe</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>d.nomiyama</cc>
    
    <cc>dpranke</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jose.lejin</cc>
    
    <cc>kevin.cs.oh</cc>
    
    <cc>lauro.neto</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>nick.diego</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>sergio</cc>
    
    <cc>spena</cc>
    
    <cc>svillar</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>890396</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-05-17 08:19:27 -0700</bug_when>
    <thetext>Memory leak detection is a recurrent topic on webkit-dev but at present there exists only support for the Mac leaks tool.  

This meta-bug is to track work required to 
1) launch the DRT under valgrind to generate a xml file with details of leaks found
2) to parse this file and display leak results
3) update the valgrind suppressions file(s)
4) raise bugs for known memory leaks/violations.

A work-in-progress patch will be uploaded shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891186</commentid>
    <comment_count>1</comment_count>
      <attachid>202274</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-05-20 07:45:50 -0700</bug_when>
    <thetext>Created attachment 202274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891272</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-20 11:29:14 -0700</bug_when>
    <thetext>You shouldn’t be copying the suppressions from Chromium. It’s got all sorts of things that are irrelevant for DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891273</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-20 11:30:56 -0700</bug_when>
    <thetext>I also don’t think we should be copying code from Chromium. It’s got all sorts of useless stuff in it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891732</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-05-21 06:10:23 -0700</bug_when>
    <thetext>As I mentioned in the email to webkit-dev, Chromium has a fairly mature process for memory leak and error detection. The simplest path to follow was to reuse Chromium code as a starting point.  As you&apos;ve suggested I&apos;ll start to strip away unnecessary code to simplify the patch.

Any other suggestions, comments, feedback?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897693</commentid>
    <comment_count>5</comment_count>
      <attachid>203916</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-06-06 02:29:03 -0700</bug_when>
    <thetext>Created attachment 203916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897694</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-06 02:31:00 -0700</bug_when>
    <thetext>Attachment 203916 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&apos;, u&apos;Tools/Scripts/webkitpy/port/base.py&apos;, u&apos;Tools/Scripts/webkitpy/port/common.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gdb_helper.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gtk.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gtk_leakdetector.py&apos;, u&apos;Tools/Scripts/webkitpy/port/mac.py&apos;, u&apos;Tools/Scripts/webkitpy/port/memcheck_analyze.py&apos;, u&apos;Tools/Scripts/webkitpy/port/server_process.py&apos;, u&apos;Tools/Scripts/webkitpy/port/server_process_unittest.py&apos;, u&apos;Tools/valgrind/memcheck/suppressions.txt&apos;]&quot; exit_code: 1
Tools/Scripts/webkitpy/port/gtk.py:174:  [GtkPort.print_leaks_summary] Instance of &apos;GtkLeakDetector&apos; has no &apos;parse_leaks_output&apos; member  [pylint/E1101] [5]
Tools/Scripts/webkitpy/port/common.py:131:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/port/common.py:134:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/port/common.py:135:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/port/gtk_leakdetector.py:78:  [GtkLeakDetector.check_for_leaks] Undefined variable &apos;leaks_output&apos;  [pylint/E0602] [5]
Tools/Scripts/webkitpy/port/memcheck_analyze.py:126:  whitespace before &apos;}&apos;  [pep8/E202] [5]
Total errors found: 6 in 12 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>897695</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-06-06 02:34:36 -0700</bug_when>
    <thetext>Be sure to copy all copyright notices, etc... and be sure to follow the license terms of Chromium.  I also don&apos;t think you should be adding your copyright notice if you&apos;re simply coping fils and stripping code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897698</commentid>
    <comment_count>8</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-06-06 02:40:59 -0700</bug_when>
    <thetext>I&apos;ve gone through the suppressions file very carefully, removing all Chromium specific bits.

After running 
$ Tools/Scripts/run-webkit-tests --gtk --leak --wrapper=&quot;valgrind&quot; --run-singly LayoutTests/
there are no leaks/errors that are not in the suppressions file.

I&apos;ll post the results of memcheck_analyse shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906121</commentid>
    <comment_count>9</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-07-04 03:46:54 -0700</bug_when>
    <thetext>Looks great, god job. Note that you have several suppressions that refer to the V8 engine, they&apos;re no longer valid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906125</commentid>
    <comment_count>10</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-07-04 04:06:21 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Looks great, god job. 
               ^^^
Good to know I work with a god!

/me could not resist</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906154</commentid>
    <comment_count>11</comment_count>
      <attachid>206083</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-04 05:58:14 -0700</bug_when>
    <thetext>Created attachment 206083
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907683</commentid>
    <comment_count>12</comment_count>
      <attachid>206472</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-11 09:30:00 -0700</bug_when>
    <thetext>Created attachment 206472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907684</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-11 09:32:21 -0700</bug_when>
    <thetext>Attachment 206472 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&apos;, u&apos;Tools/Scripts/webkitpy/port/base.py&apos;, u&apos;Tools/Scripts/webkitpy/port/common.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gdb_helper.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gtk.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gtk_leakdetector.py&apos;, u&apos;Tools/Scripts/webkitpy/port/mac.py&apos;, u&apos;Tools/Scripts/webkitpy/port/memcheck_analyze.py&apos;, u&apos;Tools/Scripts/webkitpy/port/server_process.py&apos;, u&apos;Tools/Scripts/webkitpy/port/server_process_unittest.py&apos;, u&apos;Tools/valgrind/memcheck/suppressions.txt&apos;]&quot; exit_code: 1
Tools/Scripts/webkitpy/port/common.py:129:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/port/common.py:132:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/port/common.py:133:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Total errors found: 3 in 12 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>907685</commentid>
    <comment_count>14</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-11 09:33:30 -0700</bug_when>
    <thetext>This patch has proven itself as quite useful so far for finding and resolving leaks.  I think that this patch is probably quite close so any feedback would be very welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907687</commentid>
    <comment_count>15</comment_count>
      <attachid>206472</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-11 09:36:00 -0700</bug_when>
    <thetext>Comment on attachment 206472
Patch

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

This seems to be an issue with the style checker because Popen definitely has a member called pid.

&gt;&gt; Tools/Scripts/webkitpy/port/common.py:129
&gt;&gt; +            subprocess.call([&quot;taskkill&quot;, &quot;/T&quot;, &quot;/F&quot;, &quot;/PID&quot;, str(p.pid)])
&gt; 
&gt; [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]

From http://docs.python.org/2/library/subprocess.html:
Popen.pid
    The process ID of the child process.
    Note that if you set the shell argument to True, this is the process ID of the spawned shell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907688</commentid>
    <comment_count>16</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-11 09:40:56 -0700</bug_when>
    <thetext>Nice. This is a big patch, so I haven&apos;t had time to review it. It&apos;s probably best when adding a lot of Python code to follow the style of the existing code though -- which is PEP8 as far as I know. Also, we typically don&apos;t abbreviate variable names and comments are complete sentences with periods at the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907694</commentid>
    <comment_count>17</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-11 09:53:23 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Nice. This is a big patch, so I haven&apos;t had time to review it. It&apos;s probably best when adding a lot of Python code to follow the style of the existing code though -- which is PEP8 as far as I know. Also, we typically don&apos;t abbreviate variable names and comments are complete sentences with periods at the end.

I&apos;ve PEP8&apos;ed the code so it passes the style check with the exception of the erroneous message about Popen.pid.  

I&apos;ll go back through all the code to check for variable names and comments, hopefully I can upload a new patch tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907881</commentid>
    <comment_count>18</comment_count>
      <attachid>206519</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-12 03:18:41 -0700</bug_when>
    <thetext>Created attachment 206519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907882</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-12 03:21:36 -0700</bug_when>
    <thetext>Attachment 206519 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&apos;, u&apos;Tools/Scripts/webkitpy/port/base.py&apos;, u&apos;Tools/Scripts/webkitpy/port/common.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gdb_helper.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gtk.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gtk_leakdetector.py&apos;, u&apos;Tools/Scripts/webkitpy/port/mac.py&apos;, u&apos;Tools/Scripts/webkitpy/port/memcheck_analyze.py&apos;, u&apos;Tools/Scripts/webkitpy/port/server_process.py&apos;, u&apos;Tools/Scripts/webkitpy/port/server_process_unittest.py&apos;, u&apos;Tools/valgrind/memcheck/suppressions.txt&apos;]&quot; exit_code: 1
Tools/Scripts/webkitpy/port/common.py:129:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/port/common.py:132:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Tools/Scripts/webkitpy/port/common.py:133:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
Total errors found: 3 in 12 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>907885</commentid>
    <comment_count>20</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-12 03:37:38 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Attachment 206519 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&apos;, u&apos;Tools/Scripts/webkitpy/port/base.py&apos;, u&apos;Tools/Scripts/webkitpy/port/common.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gdb_helper.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gtk.py&apos;, u&apos;Tools/Scripts/webkitpy/port/gtk_leakdetector.py&apos;, u&apos;Tools/Scripts/webkitpy/port/mac.py&apos;, u&apos;Tools/Scripts/webkitpy/port/memcheck_analyze.py&apos;, u&apos;Tools/Scripts/webkitpy/port/server_process.py&apos;, u&apos;Tools/Scripts/webkitpy/port/server_process_unittest.py&apos;, u&apos;Tools/valgrind/memcheck/suppressions.txt&apos;]&quot; exit_code: 1
&gt; Tools/Scripts/webkitpy/port/common.py:129:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
&gt; Tools/Scripts/webkitpy/port/common.py:132:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
&gt; Tools/Scripts/webkitpy/port/common.py:133:  [RunSubprocess] Instance of &apos;Popen&apos; has no &apos;pid&apos; member (but some types could not be inferred)  [pylint/E1103] [5]
&gt; Total errors found: 3 in 12 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

https://bugs.webkit.org/show_bug.cgi?id=118592 filed to fix the false positives.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909275</commentid>
    <comment_count>21</comment_count>
      <attachid>206519</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-17 03:00:21 -0700</bug_when>
    <thetext>Comment on attachment 206519
Patch

This bug should remain a metabug for tracking open leaks, so moving the leak tool itself to https://bugs.webkit.org/show_bug.cgi?id=118785.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202274</attachid>
            <date>2013-05-20 07:45:50 -0700</date>
            <delta_ts>2013-06-06 02:28:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116317-20130520154439.patch</filename>
            <type>text/plain</type>
            <size>228547</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMzY2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzY1MWU0MWRkNDM0NGVjOTlkZGFmZTk1OGVlMTI1OGZl
ODNhMGQ1ZC4uY2Y3OWRiYzljZGY3NDlkMWMzOTViZjlkZmFmOWM1NzQ5NDY2MWI2MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg2
IEBACisyMDEzLTA1LTIwICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbV0lQXVtHVEtdIFN1cHBvcnQgbWVtb3J5IGxlYWsgY2hlY2tpbmcgd2l0aCB2YWxn
cmluZC9tZW1jaGVjay4KKworICAgICAgICBbR1RLXSBNZXRhYnVnOiBNZW1vcnkgbGVhayBkZXRl
Y3Rpb24gdXNpbmcgdmFsZ3JpbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNjMxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIExhdW5jaCB0aGUgRFJUIHVuZGVyIFZhbGdyaW5kIHRvIGdlbmVyYXRlIGEg
eG1sIGZpbGUgd2l0aCBkZXRhaWxzCisgICAgICAgIG9mIGxlYWtzIGZvdW5kLCBhbmQgdGhlbiB0
byBwYXJzZSB0aGlzIGZpbGUgYW5kIGRpc3BsYXkgdGhpcworICAgICAgICBpbmZvcm1hdGlvbi4g
IEZhaWx1cmVzIHNob3VsZCByZXN1bHQgaW4gdGhlIGZpbGluZyBvZiBtZW1vcnkgYnVncworICAg
ICAgICBhbmQgYWRkaW5nIHRoZSBlcnJvciB0byB0aGUgc3VwcHJlc3Npb24gZmlsZS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6
CisgICAgICAgIChwYXJzZV9hcmdzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
YmFzZS5weToKKyAgICAgICAgKFBvcnQuY2hlY2tfZm9yX2xlYWtzKToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvY29tbW9uLnB5OiBBZGRlZC4KKyAgICAgICAgKE5vdEltcGxlbWVu
dGVkRXJyb3IpOgorICAgICAgICAoVGltZW91dEVycm9yKToKKyAgICAgICAgKF9wcmludF9saW5l
KToKKyAgICAgICAgKFJ1blN1YnByb2Nlc3NJbkJhY2tncm91bmQpOgorICAgICAgICAoUnVuU3Vi
cHJvY2Vzcyk6CisgICAgICAgIChJc0xpbnV4KToKKyAgICAgICAgKElzTWFjKToKKyAgICAgICAg
KElzV2luZG93cyk6CisgICAgICAgIChXaW5kb3dzVmVyc2lvbk5hbWUpOgorICAgICAgICAoUGxh
dGZvcm1OYW1lcyk6CisgICAgICAgIChQdXRFbnZBbmRMb2cpOgorICAgICAgICAoQm9yaW5nQ2Fs
bGVycyk6CisgICAgICAgIChOb3JtYWxpemVXaW5kb3dzUGF0aCk6CisgICAgICAgIChQcmludFVz
ZWRTdXBwcmVzc2lvbnNMaXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ2Ri
X2hlbHBlci5weTogQWRkZWQuCisgICAgICAgIChfR2RiT3V0cHV0VG9GaWxlTGluZSk6CisgICAg
ICAgIChSZXNvbHZlQWRkcmVzc2VzV2l0aGluQUJpbmFyeSk6CisgICAgICAgIChBZGRyZXNzVGFi
bGUpOgorICAgICAgICAoQWRkcmVzc1RhYmxlLl9faW5pdF9fKToKKyAgICAgICAgKEFkZHJlc3NU
YWJsZS5BZGRCaW5hcnlBdCk6CisgICAgICAgIChBZGRyZXNzVGFibGUuQWRkKToKKyAgICAgICAg
KEFkZHJlc3NUYWJsZS5SZXNvbHZlQWxsKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5HZXRGaWxl
TGluZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAg
KEd0a1BvcnQuX19pbml0X18pOgorICAgICAgICAoR3RrUG9ydC5kZWZhdWx0X3RpbWVvdXRfbXMp
OgorICAgICAgICAoR3RrUG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAgICAgICAgKEd0a1Bv
cnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAgICAgICAgKEd0a1BvcnQuY2hlY2tfZm9y
X2xlYWtzKToKKyAgICAgICAgKEd0a1BvcnQpOgorICAgICAgICAoR3RrUG9ydC5wcmludF9sZWFr
c19zdW1tYXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX2xlYWtkZXRl
Y3Rvci5weTogQWRkZWQuCisgICAgICAgIChHdGtMZWFrRGV0ZWN0b3IpOgorICAgICAgICAoR3Rr
TGVha0RldGVjdG9yLl9faW5pdF9fKToKKyAgICAgICAgKEd0a0xlYWtEZXRlY3Rvci5wYXJzZV9s
ZWFrc19vdXRwdXQpOgorICAgICAgICAoR3RrTGVha0RldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2Rp
cmVjdG9yeSk6CisgICAgICAgIChHdGtMZWFrRGV0ZWN0b3IubGVha3NfZmlsZV9uYW1lKToKKyAg
ICAgICAgKEd0a0xlYWtEZXRlY3Rvci5jaGVja19mb3JfbGVha3MpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvcG9ydC9tYWMucHk6CisgICAgICAgIChNYWNQb3J0LmNoZWNrX2Zvcl9sZWFr
cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUucHk6
IEFkZGVkLgorICAgICAgICAoZ2V0VGV4dE9mKToKKyAgICAgICAgKGdldENEQVRBT2YpOgorICAg
ICAgICAoc2hvcnRlbkZpbGVQYXRoKToKKyAgICAgICAgKGdhdGhlckZyYW1lcyk6CisgICAgICAg
IChWYWxncmluZEVycm9yKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuX19pbml0X18pOgorICAg
ICAgICAoVmFsZ3JpbmRFcnJvci5fX3N0cl9fKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuVW5p
cXVlU3RyaW5nKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuRXJyb3JIYXNoKToKKyAgICAgICAg
KFZhbGdyaW5kRXJyb3IuX19oYXNoX18pOgorICAgICAgICAoVmFsZ3JpbmRFcnJvci5fX2VxX18p
OgorICAgICAgICAobG9nX2lzX2ZpbmlzaGVkKToKKyAgICAgICAgKE1lbWNoZWNrQW5hbHl6ZXIp
OgorICAgICAgICAoTWVtY2hlY2tBbmFseXplci5fX2luaXRfXyk6CisgICAgICAgIChNZW1jaGVj
a0FuYWx5emVyLlJlcG9ydCk6CisgICAgICAgIChfbWFpbik6CisgICAgICAgIChfbWFpbi5zaG91
bGQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weToK
KyAgICAgICAgKFNlcnZlclByb2Nlc3Muc3RvcCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3NlcnZlcl9wcm9jZXNzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVHJpdmlhbE1vY2tQ
b3J0LmNoZWNrX2Zvcl9sZWFrcyk6CisgICAgICAgICogdmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJl
c3Npb25zLnR4dDogQWRkZWQuCisKIDIwMTMtMDUtMTkgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9p
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIGluaXQvc2h1dGRvd24gc2hvdWxkIGJlIHBh
aXJlZCBpbiBFV2ViTGF1bmNoZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CmluZGV4IDhiMWMxMTMyNjY3YTIzZjA1
MzJiMzY3ZTI2ODRiNTk1YTVkNjQ2OGYuLmY0ZDhkOGI0YjJiY2M4YjM3YzZiOTBlMDFmMGQ5MDMw
ZmJlYWVjMTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQpAQCAtMTEwLDcgKzExMCw3IEBAIGRlZiBwYXJzZV9h
cmdzKGFyZ3MpOgogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1jb21wbGV4LXRleHQi
LCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAogICAgICAgICAgICAgaGVscD0i
VXNlIHRoZSBjb21wbGV4IHRleHQgY29kZSBwYXRoIGZvciBhbGwgdGV4dCAoTWFjIE9TIFggYW5k
IFdpbmRvd3Mgb25seSkiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi1sIiwgIi0t
bGVha3MiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAg
aGVscD0iRW5hYmxlIGxlYWtzIGNoZWNraW5nIChNYWMgT1MgWCBvbmx5KSIpLAorICAgICAgICAg
ICAgaGVscD0iRW5hYmxlIGxlYWtzIGNoZWNraW5nIChNYWMgT1MgWCBhbmQgR3RrKyBvbmx5KSIp
LAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLWciLCAiLS1ndWFyZC1tYWxsb2MiLCBh
Y3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAogICAgICAgICAgICAgaGVscD0iRW5h
YmxlIEd1YXJkIE1hbGxvYyAoTWFjIE9TIFggb25seSkiKSwKICAgICAgICAgb3B0cGFyc2UubWFr
ZV9vcHRpb24oIi0tdGhyZWFkZWQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNl
LApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQppbmRleCBhOTBjNDM1ODQyYjAyNjBkMGMw
MmQwY2ZjZDY5ZDdlYWNmODJjNWEwLi5lNTU5OWY4MDc3YWZkMzFjNGUzMDY5YmQ3NGNjMTQ3ZjRh
OGJjMDBhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQpAQCAtMzgxLDcgKzM4MSw3
IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFjdHVhbF9maWxlbmFtZSkKICAgICAgICAgcmV0dXJuICcnLmpvaW4oZGlmZikKIAotICAg
IGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6Cisg
ICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBp
c19ydW5uaW5nKToKICAgICAgICAgIyBTdWJjbGFzc2VzIHNob3VsZCBjaGVjayBmb3IgbGVha3Mg
aW4gdGhlIHJ1bm5pbmcgcHJvY2VzcwogICAgICAgICAjIGFuZCBwcmludCBhbnkgbmVjZXNzYXJ5
IHdhcm5pbmdzIGlmIGxlYWtzIGFyZSBmb3VuZC4KICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxk
IGNvbnNpZGVyIG1vdmluZyBtdWNoIG9mIHRoaXMgbG9naWMgaW50bwpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2NvbW1vbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9jb21tb24ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkNjlmNWJkOGQzODcyNmQ3MTViMDI3M2Jh
MWY3YzFhZjExY2U1MQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9jb21tb24ucHkKQEAgLTAsMCArMSwzMDcgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEzIFNh
bXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIE9yaWdpbmFsbHkg
ZnJvbSBDaHJvbWl1bSwgY29weXJpZ2h0IGFzIGZvbGxvd3M6CisjCisjIENvcHlyaWdodCAoYykg
MjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgcGxhdGZvcm0KK2ltcG9ydCBvcworaW1w
b3J0IHNpZ25hbAoraW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCisK
KworY2xhc3MgTm90SW1wbGVtZW50ZWRFcnJvcihFeGNlcHRpb24pOgorICBwYXNzCisKKworY2xh
c3MgVGltZW91dEVycm9yKEV4Y2VwdGlvbik6CisgIHBhc3MKKworCitkZWYgX3ByaW50X2xpbmUo
bGluZSwgZmx1c2g9VHJ1ZSk6CisgICMgUHJpbnRpbmcgdG8gYSB0ZXh0IGZpbGUgKGluY2x1ZGlu
ZyBzdGRvdXQpIG9uIFdpbmRvd3MgYWx3YXlzIHdpbmRzIHVwCisgICMgdXNpbmcgXHJcbiBhdXRv
bWF0aWNhbGx5LiAgT24gYnVpbGRib3QsIHRoaXMgd2luZHMgdXAgYmVpbmcgcmVhZCBieSBhIG1h
c3RlcgorICAjIHJ1bm5pbmcgb24gTGludXgsIHNvIHdlIG1hbnVhbGx5IGNvbnZlcnQgY3JsZiB0
byAnXG4nCisgIHByaW50IGxpbmUucnN0cmlwKCkgKyAnXG4nLAorICBpZiBmbHVzaDoKKyAgICBz
eXMuc3Rkb3V0LmZsdXNoKCkKKworCitkZWYgUnVuU3VicHJvY2Vzc0luQmFja2dyb3VuZChwcm9j
KToKKyAgIiIiUnVucyBhIHN1YnByb2Nlc3MgaW4gdGhlIGJhY2tncm91bmQuIFJldHVybnMgYSBo
YW5kbGUgdG8gdGhlIHByb2Nlc3MuIiIiCisgIGxvZ2dpbmcuaW5mbygicnVubmluZyAlcyBpbiB0
aGUgYmFja2dyb3VuZCIgJSAiICIuam9pbihwcm9jKSkKKyAgcmV0dXJuIHN1YnByb2Nlc3MuUG9w
ZW4ocHJvYykKKworCitkZWYgUnVuU3VicHJvY2Vzcyhwcm9jLCB0aW1lb3V0PTAsIGRldGFjaD1G
YWxzZSwgYmFja2dyb3VuZD1GYWxzZSk6CisgICIiIiBSdW5zIGEgc3VicHJvY2VzcywgdW50aWwg
aXQgZmluaXNoZXMgb3IgfHRpbWVvdXR8IGlzIGV4Y2VlZGVkIGFuZCB0aGUKKyAgcHJvY2VzcyBp
cyBraWxsZWQgd2l0aCB0YXNra2lsbC4gIEEgfHRpbWVvdXR8IDw9IDAgIG1lYW5zIG5vIHRpbWVv
dXQuCisKKyAgQXJnczoKKyAgICBwcm9jOiBsaXN0IG9mIHByb2Nlc3MgY29tcG9uZW50cyAoZXhl
ICsgYXJncykKKyAgICB0aW1lb3V0OiBob3cgbG9uZyB0byB3YWl0IGJlZm9yZSBraWxsaW5nLCA8
PSAwIG1lYW5zIHdhaXQgZm9yZXZlcgorICAgIGRldGFjaDogV2hldGhlciB0byBwYXNzIHRoZSBE
RVRBQ0hFRF9QUk9DRVNTIGFyZ3VtZW50IHRvIENyZWF0ZVByb2Nlc3MKKyAgICAgICAgb24gV2lu
ZG93cy4gIFRoaXMgaXMgdXNlZCBieSBQdXJpZnkgc3VicHJvY2Vzc2VzIG9uIGJ1aWxkYm90IHdo
aWNoCisgICAgICAgIHNlZW0gdG8gZ2V0IGNvbmZ1c2VkIGJ5IHRoZSBwYXJlbnQgY29uc29sZSB0
aGF0IGJ1aWxkYm90IHNldHMgdXAuCisgICIiIgorCisgIGxvZ2dpbmcuaW5mbygicnVubmluZyAl
cywgdGltZW91dCAlZCBzZWMiICUgKCIgIi5qb2luKHByb2MpLCB0aW1lb3V0KSkKKyAgaWYgZGV0
YWNoOgorICAgICMgc2VlIE1TRE4gZG9jcyBmb3IgIlByb2Nlc3MgQ3JlYXRpb24gRmxhZ3MiCisg
ICAgREVUQUNIRURfUFJPQ0VTUyA9IDB4OAorICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKHByb2Ms
IGNyZWF0aW9uZmxhZ3M9REVUQUNIRURfUFJPQ0VTUykKKyAgZWxzZToKKyAgICAjIEZvciBub24t
ZGV0YWNoZWQgcHJvY2Vzc2VzLCBtYW51YWxseSByZWFkIGFuZCBwcmludCBvdXQgc3Rkb3V0IGFu
ZCBzdGRlcnIuCisgICAgIyBCeSBkZWZhdWx0LCB0aGUgc3VicHJvY2VzcyBpcyBzdXBwb3NlZCB0
byBpbmhlcml0IHRoZXNlIGZyb20gaXRzIHBhcmVudCwKKyAgICAjIGhvd2V2ZXIgd2hlbiBydW4g
dW5kZXIgYnVpbGRib3QsIGl0IHNlZW1zIHVuYWJsZSB0byByZWFkIGRhdGEgZnJvbSBhCisgICAg
IyBncmFuZGNoaWxkIHByb2Nlc3MsIHNvIHdlIGhhdmUgdG8gcmVhZCB0aGUgY2hpbGQgYW5kIHBy
aW50IHRoZSBkYXRhIGFzIGlmCisgICAgIyBpdCBjYW1lIGZyb20gdXMgZm9yIGJ1aWxkYm90IHRv
IHJlYWQgaXQuICBXZSdyZSBub3Qgc3VyZSB3aHkgdGhpcyBpcworICAgICMgbmVjZXNzYXJ5Lgor
ICAgICMgVE9ETyhlcmlra2F5KTogc2hvdWxkIHdlIGJ1ZmZlciBzdGRlcnIgYW5kIHN0ZG91dCBz
ZXBhcmF0ZWx5PworICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKHByb2MsIHN0ZG91dD1zdWJwcm9j
ZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKKworICBsb2dnaW5nLmluZm8oInN0
YXJ0ZWQgc3VicHJvY2VzcyIpCisKKyAgIyBIb3cgbG9uZyB0byB3YWl0IChpbiBzZWNvbmRzKSBi
ZWZvcmUgcHJpbnRpbmcgcHJvZ3Jlc3MgbG9nIG1lc3NhZ2VzLgorICBwcm9ncmVzc19kZWxheSA9
IDMwMAorICBwcm9ncmVzc19kZWxheV90aW1lID0gdGltZS50aW1lKCkgKyBwcm9ncmVzc19kZWxh
eQorICBkaWRfdGltZW91dCA9IEZhbHNlCisgIGlmIHRpbWVvdXQgPiAwOgorICAgIHdhaXRfdW50
aWwgPSB0aW1lLnRpbWUoKSArIHRpbWVvdXQKKyAgd2hpbGUgcC5wb2xsKCkgaXMgTm9uZSBhbmQg
bm90IGRpZF90aW1lb3V0OgorICAgIGlmIG5vdCBkZXRhY2g6CisgICAgICBsaW5lID0gcC5zdGRv
dXQucmVhZGxpbmUoKQorICAgICAgd2hpbGUgbGluZSBhbmQgbm90IGRpZF90aW1lb3V0OgorICAg
ICAgICBfcHJpbnRfbGluZShsaW5lKQorICAgICAgICBsaW5lID0gcC5zdGRvdXQucmVhZGxpbmUo
KQorICAgICAgICBpZiB0aW1lb3V0ID4gMDoKKyAgICAgICAgICBkaWRfdGltZW91dCA9IHRpbWUu
dGltZSgpID4gd2FpdF91bnRpbAorICAgIGVsc2U6CisgICAgICAjIFdoZW4gd2UgZGV0YWNoLCBi
bG9ja2luZyBvbiByZWFkaW5nIHN0ZG91dCBkb2Vzbid0IHdvcmssIHNvIHdlIHNsZWVwCisgICAg
ICAjIGEgc2hvcnQgdGltZSBhbmQgcG9sbC4KKyAgICAgIHRpbWUuc2xlZXAoMC41KQorICAgICAg
aWYgdGltZS50aW1lKCkgPj0gcHJvZ3Jlc3NfZGVsYXlfdGltZToKKyAgICAgICAgIyBGb3JjZSBv
dXRwdXQgb24gYSBwZXJpb2RpYyBiYXNpcyB0byBhdm9pZCBnZXR0aW5nIGtpbGxlZCBvZmYgYnkg
dGhlCisgICAgICAgICMgYnVpbGRib3QuCisgICAgICAgICMgVE9ETyhlcmlra2F5KTogSSdkIHBy
ZWZlciBhIGxlc3Mgb2J0cnVzaXZlICdwcmludCAiLiIsJyB3aXRoIGEgZmx1c2gKKyAgICAgICAg
IyBidXQgYmVjYXVzZSBvZiBob3cgd2UncmUgZG9pbmcgc3VicHJvY2Vzc2VzLCB0aGlzIGRvZXNu
J3QgYXBwZWFyIHRvCisgICAgICAgICMgd29yayByZWxpYWJseS4KKyAgICAgICAgbG9nZ2luZy5p
bmZvKCIlcyBzdGlsbCBydW5uaW5nLi4uIiAlIG9zLnBhdGguYmFzZW5hbWUocHJvY1swXSkpCisg
ICAgICAgIHByb2dyZXNzX2RlbGF5X3RpbWUgPSB0aW1lLnRpbWUoKSArIHByb2dyZXNzX2RlbGF5
CisgICAgaWYgdGltZW91dCA+IDA6CisgICAgICBkaWRfdGltZW91dCA9IHRpbWUudGltZSgpID4g
d2FpdF91bnRpbAorCisgIGlmIGRpZF90aW1lb3V0OgorICAgIGxvZ2dpbmcuaW5mbygicHJvY2Vz
cyB0aW1lZCBvdXQiKQorICBlbHNlOgorICAgIGxvZ2dpbmcuaW5mbygicHJvY2VzcyBlbmRlZCwg
ZGlkIG5vdCB0aW1lIG91dCIpCisKKyAgaWYgZGlkX3RpbWVvdXQ6CisgICAgaWYgSXNXaW5kb3dz
KCk6CisgICAgICBzdWJwcm9jZXNzLmNhbGwoWyJ0YXNra2lsbCIsICIvVCIsICIvRiIsICIvUElE
Iiwgc3RyKHAucGlkKV0pCisgICAgZWxzZToKKyAgICAgICMgRG9lcyB0aGlzIGtpbGwgYWxsIGNo
aWxkcmVuLCB0b28/CisgICAgICBvcy5raWxsKHAucGlkLCBzaWduYWwuU0lHSU5UKQorICAgIGxv
Z2dpbmcuZXJyb3IoIktJTExFRCAlZCIgJSBwLnBpZCkKKyAgICAjIEdpdmUgdGhlIHByb2Nlc3Mg
YSBjaGFuY2UgdG8gYWN0dWFsbHkgZGllIGJlZm9yZSBjb250aW51aW5nCisgICAgIyBzbyB0aGF0
IGNsZWFudXAgY2FuIGhhcHBlbiBzYWZlbHkuCisgICAgdGltZS5zbGVlcCgxLjApCisgICAgbG9n
Z2luZy5lcnJvcigiVElNRU9VVCB3YWl0aW5nIGZvciAlcyIgJSBwcm9jWzBdKQorICAgIHJhaXNl
IFRpbWVvdXRFcnJvcihwcm9jWzBdKQorICBlbGlmIG5vdCBkZXRhY2g6CisgICAgZm9yIGxpbmUg
aW4gcC5zdGRvdXQucmVhZGxpbmVzKCk6CisgICAgICBfcHJpbnRfbGluZShsaW5lLCBGYWxzZSkK
KyAgICBpZiBub3QgSXNNYWMoKTogICAjIHN0ZG91dCBmbHVzaCBmYWlscyBvbiBNYWMKKyAgICAg
IGxvZ2dpbmcuaW5mbygiZmx1c2hpbmcgc3Rkb3V0IikKKyAgICAgIHAuc3Rkb3V0LmZsdXNoKCkK
KworICBsb2dnaW5nLmluZm8oImNvbGxlY3RpbmcgcmVzdWx0IGNvZGUiKQorICByZXN1bHQgPSBw
LnBvbGwoKQorICBpZiByZXN1bHQ6CisgICAgbG9nZ2luZy5lcnJvcigiJXMgZXhpdGVkIHdpdGgg
bm9uLXplcm8gcmVzdWx0IGNvZGUgJWQiICUgKHByb2NbMF0sIHJlc3VsdCkpCisgIHJldHVybiBy
ZXN1bHQKKworCitkZWYgSXNMaW51eCgpOgorICByZXR1cm4gc3lzLnBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2xpbnV4JykKKworCitkZWYgSXNNYWMoKToKKyAgcmV0dXJuIHN5cy5wbGF0Zm9ybS5zdGFy
dHN3aXRoKCdkYXJ3aW4nKQorCisKK2RlZiBJc1dpbmRvd3MoKToKKyAgcmV0dXJuIHN5cy5wbGF0
Zm9ybSA9PSAnY3lnd2luJyBvciBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJykKKworCitk
ZWYgV2luZG93c1ZlcnNpb25OYW1lKCk6CisgICIiIlJldHVybnMgdGhlIG5hbWUgb2YgdGhlIFdp
bmRvd3MgdmVyc2lvbiBpZiBpdCBpcyBrbm93biwgb3IgTm9uZS4KKworICBQb3NzaWJsZSByZXR1
cm4gdmFsdWVzIGFyZTogeHAsIHZpc3RhLCA3LCA4LCBvciBOb25lCisgICIiIgorICBpZiBzeXMu
cGxhdGZvcm0gPT0gJ2N5Z3dpbic6CisgICAgIyBXaW5kb3dzIHZlcnNpb24gbnVtYmVyIGlzIGhp
ZGluZyBpbiBzeXN0ZW0gbmFtZS4gIExvb2tzIGxpa2U6CisgICAgIyBDWUdXSU5fTlQtNi4xLVdP
VzY0CisgICAgdHJ5OgorICAgICAgdmVyc2lvbl9zdHIgPSBwbGF0Zm9ybS51bmFtZSgpWzBdLnNw
bGl0KCctJylbMV0KKyAgICBleGNlcHQ6CisgICAgICByZXR1cm4gTm9uZQorICBlbGlmIHN5cy5w
bGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKToKKyAgICAjIE5vcm1hbCBXaW5kb3dzIHZlcnNpb24g
c3RyaW5nLiAgTWluZTogNi4xLjc2MDEKKyAgICB2ZXJzaW9uX3N0ciA9IHBsYXRmb3JtLnZlcnNp
b24oKQorICBlbHNlOgorICAgIHJldHVybiBOb25lCisKKyAgcGFydHMgPSB2ZXJzaW9uX3N0ci5z
cGxpdCgnLicpCisgIHRyeToKKyAgICBtYWpvciA9IGludChwYXJ0c1swXSkKKyAgICBtaW5vciA9
IGludChwYXJ0c1sxXSkKKyAgZXhjZXB0OgorICAgIHJldHVybiBOb25lICAjIENhbid0IHBhcnNl
LCB1bmtub3duIHZlcnNpb24uCisKKyAgaWYgbWFqb3IgPT0gNToKKyAgICByZXR1cm4gJ3hwJwor
ICBlbGlmIG1ham9yID09IDYgYW5kIG1pbm9yID09IDA6CisgICAgcmV0dXJuICd2aXN0YScKKyAg
ZWxpZiBtYWpvciA9PSA2IGFuZCBtaW5vciA9PSAxOgorICAgIHJldHVybiAnNycKKyAgZWxpZiBt
YWpvciA9PSA2IGFuZCBtaW5vciA9PSAyOgorICAgIHJldHVybiAnOCcgICMgRnV0dXJlIHByb29m
LiAgOykKKyAgcmV0dXJuIE5vbmUKKworCitkZWYgUGxhdGZvcm1OYW1lcygpOgorICAiIiJSZXR1
cm4gYW4gYXJyYXkgb2Ygc3RyaW5nIHRvIGJlIHVzZWQgaW4gcGF0aHMgZm9yIHRoZSBwbGF0Zm9y
bQorICAoZS5nLiBzdXBwcmVzc2lvbnMsIGd0ZXN0IGZpbHRlcnMsIGlnbm9yZSBmaWxlcyBldGMu
KQorICBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgZGVzY3JpYmVzIHRoZSAnbWFpbicg
cGxhdGZvcm0KKyAgIiIiCisgIGlmIElzTGludXgoKToKKyAgICByZXR1cm4gWydsaW51eCddCisg
IGlmIElzTWFjKCk6CisgICAgcmV0dXJuIFsnbWFjJ10KKyAgaWYgSXNXaW5kb3dzKCk6CisgICAg
bmFtZXMgPSBbJ3dpbjMyJ10KKyAgICB2ZXJzaW9uX25hbWUgPSBXaW5kb3dzVmVyc2lvbk5hbWUo
KQorICAgIGlmIHZlcnNpb25fbmFtZSBpcyBub3QgTm9uZToKKyAgICAgIG5hbWVzLmFwcGVuZCgn
d2luLSVzJyAlIHZlcnNpb25fbmFtZSkKKyAgICByZXR1cm4gbmFtZXMKKyAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcignVW5rbm93biBwbGF0Zm9ybSAiJXMiLicgJSBzeXMucGxhdGZvcm0pCisK
KworZGVmIFB1dEVudkFuZExvZyhlbnZfbmFtZSwgZW52X3ZhbHVlKToKKyAgb3MucHV0ZW52KGVu
dl9uYW1lLCBlbnZfdmFsdWUpCisgIGxvZ2dpbmcuaW5mbygnZXhwb3J0ICVzPSVzJywgZW52X25h
bWUsIGVudl92YWx1ZSkKKworZGVmIEJvcmluZ0NhbGxlcnMobWFuZ2xlZCwgdXNlX3JlX3dpbGRj
YXJkcyk6CisgICIiIlJldHVybiBhIGxpc3Qgb2YgJ2JvcmluZycgZnVuY3Rpb24gbmFtZXMgKG9w
dGluYWxseSBtYW5nbGVkKQorICB3aXRoICovPyB3aWxkY2FyZHMgKG9wdGlvbmFsbHkgLiovLiku
CisgIEJvcmluZyA9IHdlIGRyb3Agb2ZmIHRoZSBib3R0b20gb2Ygc3RhY2sgdHJhY2VzIGJlbG93
IHN1Y2ggZnVuY3Rpb25zLgorICAiIiIKKworICBuZWVkX21hbmdsaW5nID0gWworICAgICMgRG9u
J3Qgc2hvdyBvdXIgdGVzdGluZyBmcmFtZXdvcms6CisgICAgKCJ0ZXN0aW5nOjpUZXN0OjpSdW4i
LCAgICAgIl9aTjd0ZXN0aW5nNFRlc3QzUnVuRXYiKSwKKyAgICAoInRlc3Rpbmc6OlRlc3RJbmZv
OjpSdW4iLCAiX1pON3Rlc3Rpbmc4VGVzdEluZm8zUnVuRXYiKSwKKyAgICAoInRlc3Rpbmc6Omlu
dGVybmFsOjpIYW5kbGUqRXhjZXB0aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQqIiwKKyAgICAgIl9a
Tjd0ZXN0aW5nOGludGVybmFsMz9IYW5kbGUqRXhjZXB0aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQq
IiksCisKKyAgICAjIERlcGVuZCBvbiBzY2hlZHVsaW5nOgorICAgICgiTWVzc2FnZUxvb3A6OlJ1
biIsICAgICAiX1pOMTFNZXNzYWdlTG9vcDNSdW5FdiIpLAorICAgICgiTWVzc2FnZUxvb3A6OlJ1
blRhc2siLCAiX1pOMTFNZXNzYWdlTG9vcDdSdW5UYXNrKiIpLAorICAgICgiUnVubmFibGVNZXRo
b2QqIiwgICAgICAiX1pOMTRSdW5uYWJsZU1ldGhvZCoiKSwKKyAgICAoIkRpc3BhdGNoVG9NZXRo
b2QqIiwgICAgIl9aKjE2RGlzcGF0Y2hUb01ldGhvZCoiKSwKKyAgICAoImJhc2U6OmludGVybmFs
OjpJbnZva2VyKjo6RG9JbnZva2UqIiwKKyAgICAgIl9aTjRiYXNlOGludGVybmFsOEludm9rZXIq
RG9JbnZva2UqIiksICAjIEludm9rZXJ7MSwyLDN9CisgICAgKCJiYXNlOjppbnRlcm5hbDo6UnVu
bmFibGVBZGFwdGVyKjo6UnVuKiIsCisgICAgICJfWk40YmFzZThpbnRlcm5hbDE1UnVubmFibGVB
ZGFwdGVyKlJ1bioiKSwKKyAgXQorCisgIHJldCA9IFtdCisgIGZvciBwYWlyIGluIG5lZWRfbWFu
Z2xpbmc6CisgICAgcmV0LmFwcGVuZChwYWlyWzEgaWYgbWFuZ2xlZCBlbHNlIDBdKQorCisgIHJl
dCArPSBbCisgICAgIyBBbHNvIGRvbid0IHNob3cgdGhlIGludGVybmFscyBvZiBsaWJjL3B0aHJl
YWQuCisgICAgInN0YXJ0X3RocmVhZCIsCisgICAgIm1haW4iLAorICAgICJCYXNlVGhyZWFkSW5p
dFRodW5rIiwKKyAgXQorCisgIGlmIHVzZV9yZV93aWxkY2FyZHM6CisgICAgZm9yIGkgaW4gcmFu
Z2UoMCwgbGVuKHJldCkpOgorICAgICAgcmV0W2ldID0gcmV0W2ldLnJlcGxhY2UoJyonLCAnLion
KS5yZXBsYWNlKCc/JywgJy4nKQorCisgIHJldHVybiByZXQKKworZGVmIE5vcm1hbGl6ZVdpbmRv
d3NQYXRoKHBhdGgpOgorICAiIiJJZiB3ZSdyZSB1c2luZyBDeWd3aW4gUHl0aG9uLCB0dXJuIHRo
ZSBwYXRoIGludG8gYSBXaW5kb3dzIHBhdGguCisKKyAgRG9uJ3QgdHVybiBmb3J3YXJkIHNsYXNo
ZXMgaW50byBiYWNrc2xhc2hlcyBmb3IgZWFzaWVyIGNvcHktcGFzdGluZyBhbmQKKyAgZXNjYXBp
bmcuCisKKyAgVE9ETyhybmspOiBJZiB3ZSBldmVyIHdhbnQgdG8gY3V0IG91dCB0aGUgc3VicHJv
Y2VzcyBpbnZvY2F0aW9uLCB3ZSBjYW4gdXNlCisgIF93aW5yZWcgdG8gZ2V0IHRoZSByb290IEN5
Z3dpbiBkaXJlY3RvcnkgZnJvbSB0aGUgcmVnaXN0cnkga2V5OgorICBIS0VZX0xPQ0FMX01BQ0hJ
TkVcU09GVFdBUkVcQ3lnd2luXHNldHVwXHJvb3RkaXIuCisgICIiIgorICBpZiBzeXMucGxhdGZv
cm0uc3RhcnRzd2l0aCgiY3lnd2luIik6CisgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWyJjeWdw
YXRoIiwgIi1tIiwgcGF0aF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnBy
b2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5Q
SVBFKQorICAgIChvdXQsIGVycikgPSBwLmNvbW11bmljYXRlKCkKKyAgICBpZiBlcnI6CisgICAg
ICBsb2dnaW5nLndhcm5pbmcoIldBUk5JTkc6IGN5Z3BhdGggZXJyb3I6ICVzIiwgZXJyKQorICAg
IHJldHVybiBvdXQuc3RyaXAoKQorICBlbHNlOgorICAgIHJldHVybiBwYXRoCisKKyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ29tbW9uIG91dHB1dCBmb3JtYXQgY29kZQorCitkZWYg
UHJpbnRVc2VkU3VwcHJlc3Npb25zTGlzdChzdXBwY291bnRzKToKKyAgIiIiIFByaW50cyBvdXQg
dGhlIGxpc3Qgb2YgdXNlZCBzdXBwcmVzc2lvbnMgaW4gYSBmb3JtYXQgY29tbW9uIHRvIGFsbCB0
aGUKKyAgICAgIG1lbW9yeSB0b29scy4gSWYgdGhlIGxpc3QgaXMgZW1wdHksIHByaW50cyBub3Ro
aW5nIGFuZCByZXR1cm5zIEZhbHNlLAorICAgICAgb3RoZXJ3aXNlIFRydWUuCisKKyAgICAgIHN1
cHBjb3VudHM6IGEgZGljdGlvbmFyeSBvZiB1c2VkIHN1cHByZXNzaW9uIGNvdW50cywKKyAgICAg
ICAgICAgICAgICAgIEtleSAtPiBuYW1lLCBWYWx1ZSAtPiBjb3VudC4KKyAgIiIiCisgIGlmIG5v
dCBzdXBwY291bnRzOgorICAgIHJldHVybiBGYWxzZQorCisgIHByaW50ICItLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKyAgcHJpbnQgIlN1cHBy
ZXNzaW9ucyB1c2VkOiIKKyAgcHJpbnQgIiAgY291bnQgbmFtZSIKKyAgZm9yIChuYW1lLCBjb3Vu
dCkgaW4gc29ydGVkKHN1cHBjb3VudHMuaXRlbXMoKSwga2V5PWxhbWJkYSAoayx2KTogKHYsaykp
OgorICAgIHByaW50ICIlN2QgJXMiICUgKGNvdW50LCBuYW1lKQorICBwcmludCAiLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisgIHN5cy5zdGRv
dXQuZmx1c2goKQorICByZXR1cm4gVHJ1ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9nZGJfaGVscGVyLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2dkYl9oZWxwZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ0NWYw
ZDMxYWVmMDg3NWZhNGY4ZjhmMTRmN2Y4OWJhNWNkZDc0ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9nZGJfaGVscGVyLnB5CkBAIC0wLDAgKzEsMTE1IEBA
CisjIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBPcmlnaW5hbGx5IGZyb20gQ2hyb21pdW0sIGNvcHlyaWdodCBhcyBmb2xs
b3dzOgorIworIyBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoK
KyMKKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyMgZGlzdHJpYnV0aW9uLgorIyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
IyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisnJycgQSBidW5jaCBvZiBoZWxwZXIg
ZnVuY3Rpb25zIGZvciBxdWVyeWluZyBnZGIuJycnCisKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQg
b3MKK2ltcG9ydCByZQoraW1wb3J0IHRlbXBmaWxlCisKK0dEQl9MSU5FX1JFID0gcmUuY29tcGls
ZShyJ0xpbmUgKFswLTldKikgb2YgIihbXiJdKikiLionKQorCitkZWYgX0dkYk91dHB1dFRvRmls
ZUxpbmUob3V0cHV0X2xpbmUpOgorICAnJycgUGFyc2UgdGhlIGdkYiBvdXRwdXQgbGluZSwgcmV0
dXJuIGEgcGFpciAoZmlsZSwgbGluZSBudW0pICcnJworICBtYXRjaCA9ICBHREJfTElORV9SRS5t
YXRjaChvdXRwdXRfbGluZSkKKyAgaWYgbWF0Y2g6CisgICAgcmV0dXJuIG1hdGNoLmdyb3Vwcygp
WzFdLCBtYXRjaC5ncm91cHMoKVswXQorICBlbHNlOgorICAgIHJldHVybiBOb25lCisKK2RlZiBS
ZXNvbHZlQWRkcmVzc2VzV2l0aGluQUJpbmFyeShiaW5hcnlfbmFtZSwgbG9hZF9hZGRyZXNzLCBh
ZGRyZXNzX2xpc3QpOgorICAnJycgRm9yIGVhY2ggYWRkcmVzcywgcmV0dXJuIGEgcGFpciAoZmls
ZSwgbGluZSBudW0pICcnJworICBjb21tYW5kcyA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5Rmls
ZSgpCisgIGNvbW1hbmRzLndyaXRlKCdhZGQtc3ltYm9sLWZpbGUgIiVzIiAlc1xuJyAlIChiaW5h
cnlfbmFtZSwgbG9hZF9hZGRyZXNzKSkKKyAgZm9yIGFkZHIgaW4gYWRkcmVzc19saXN0OgorICAg
IGNvbW1hbmRzLndyaXRlKCdpbmZvIGxpbmUgKiVzXG4nICUgYWRkcikKKyAgY29tbWFuZHMud3Jp
dGUoJ3F1aXRcbicpCisgIGNvbW1hbmRzLmZsdXNoKCkKKyAgZ2RiX2NvbW1hbmRsaW5lID0gJ2dk
YiAtYmF0Y2ggLXggJXMgMj4vZGV2L251bGwnICUgY29tbWFuZHMubmFtZQorICBnZGJfcGlwZSA9
IG9zLnBvcGVuKGdkYl9jb21tYW5kbGluZSkKKyAgcmVzdWx0ID0gZ2RiX3BpcGUucmVhZGxpbmVz
KCkKKworICBhZGRyZXNzX2NvdW50ID0gMAorICByZXQgPSB7fQorICBmb3IgbGluZSBpbiByZXN1
bHQ6CisgICAgaWYgbGluZS5zdGFydHN3aXRoKCdMaW5lJyk6CisgICAgICByZXRbYWRkcmVzc19s
aXN0W2FkZHJlc3NfY291bnRdXSA9IF9HZGJPdXRwdXRUb0ZpbGVMaW5lKGxpbmUpCisgICAgICBh
ZGRyZXNzX2NvdW50ICs9IDEKKyAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJ05vIGxpbmUnKToKKyAg
ICAgIHJldFthZGRyZXNzX2xpc3RbYWRkcmVzc19jb3VudF1dID0gKE5vbmUsIE5vbmUpCisgICAg
ICBhZGRyZXNzX2NvdW50ICs9IDEKKyAgZ2RiX3BpcGUuY2xvc2UoKQorICBjb21tYW5kcy5jbG9z
ZSgpCisgIHJldHVybiByZXQKKworY2xhc3MgQWRkcmVzc1RhYmxlKG9iamVjdCk6CisgICcnJyBP
YmplY3QgdG8gZG8gYmF0Y2hlZCBsaW5lIG51bWJlciBsb29rdXAuICcnJworICBkZWYgX19pbml0
X18oc2VsZik6CisgICAgc2VsZi5fbG9hZF9hZGRyZXNzZXMgPSB7fQorICAgIHNlbGYuX2JpbmFy
aWVzID0ge30KKyAgICBzZWxmLl9hbGxfcmVzb2x2ZWQgPSBGYWxzZQorCisgIGRlZiBBZGRCaW5h
cnlBdChzZWxmLCBiaW5hcnksIGxvYWRfYWRkcmVzcyk6CisgICAgJycnIFJlZ2lzdGVyIGEgbmV3
IHNoYXJlZCBsaWJyYXJ5IG9yIGV4ZWN1dGFibGUuICcnJworICAgIHNlbGYuX2xvYWRfYWRkcmVz
c2VzW2JpbmFyeV0gPSBsb2FkX2FkZHJlc3MKKworICBkZWYgQWRkKHNlbGYsIGJpbmFyeSwgYWRk
cmVzcyk6CisgICAgJycnIFJlZ2lzdGVyIGEgbG9va3VwIHJlcXVlc3QuICcnJworICAgIGlmIGJp
bmFyeSA9PSAnJzoKKyAgICAgIGxvZ2dpbmcud2FybignYWRkaW5nIGFkZHJlc3MgJXMgaW4gZW1w
dHkgYmluYXJ5PycgJSBhZGRyZXNzKQorICAgIGlmIGJpbmFyeSBpbiBzZWxmLl9iaW5hcmllczoK
KyAgICAgIHNlbGYuX2JpbmFyaWVzW2JpbmFyeV0uYXBwZW5kKGFkZHJlc3MpCisgICAgZWxzZToK
KyAgICAgIHNlbGYuX2JpbmFyaWVzW2JpbmFyeV0gPSBbYWRkcmVzc10KKyAgICBzZWxmLl9hbGxf
cmVzb2x2ZWQgPSBGYWxzZQorCisgIGRlZiBSZXNvbHZlQWxsKHNlbGYpOgorICAgICcnJyBDYXJy
eSBvdXQgYWxsIGxvb2t1cCByZXF1ZXN0cy4gJycnCisgICAgc2VsZi5fdHJhbnNsYXRpb24gPSB7
fQorICAgIGZvciBiaW5hcnkgaW4gc2VsZi5fYmluYXJpZXMua2V5cygpOgorICAgICAgaWYgYmlu
YXJ5ICE9ICcnIGFuZCBiaW5hcnkgaW4gc2VsZi5fbG9hZF9hZGRyZXNzZXM6CisgICAgICAgIGxv
YWRfYWRkcmVzcyA9IHNlbGYuX2xvYWRfYWRkcmVzc2VzW2JpbmFyeV0KKyAgICAgICAgYWRkciA9
IFJlc29sdmVBZGRyZXNzZXNXaXRoaW5BQmluYXJ5KAorICAgICAgICAgICAgYmluYXJ5LCBsb2Fk
X2FkZHJlc3MsIHNlbGYuX2JpbmFyaWVzW2JpbmFyeV0pCisgICAgICAgIHNlbGYuX3RyYW5zbGF0
aW9uW2JpbmFyeV0gPSBhZGRyCisgICAgc2VsZi5fYWxsX3Jlc29sdmVkID0gVHJ1ZQorCisgIGRl
ZiBHZXRGaWxlTGluZShzZWxmLCBiaW5hcnksIGFkZHIpOgorICAgICcnJyBHZXQgdGhlIChmaWxl
bmFtZSwgbGluZW51bSkgcmVzdWx0IG9mIGEgcHJldmlvdXNseS1yZWdpc3RlcmVkIGxvb2t1cAor
ICAgIHJlcXVlc3QuCisgICAgJycnCisgICAgaWYgc2VsZi5fYWxsX3Jlc29sdmVkOgorICAgICAg
aWYgYmluYXJ5IGluIHNlbGYuX3RyYW5zbGF0aW9uOgorICAgICAgICBpZiBhZGRyIGluIHNlbGYu
X3RyYW5zbGF0aW9uW2JpbmFyeV06CisgICAgICAgICAgcmV0dXJuIHNlbGYuX3RyYW5zbGF0aW9u
W2JpbmFyeV1bYWRkcl0KKyAgICByZXR1cm4gKE5vbmUsIE5vbmUpClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKaW5kZXggYzk0ZjAzNmVkMDU5
MGRhOTE4NmQzNjQwODMxZjZiMmZlODUzYTFmMS4uNmEwY2MzMTI5MTg0OWEzMzEwYjk4Mzk1MmUz
Nzc2OWQ5NDJjMjkwZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0
ay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CkBAIC0xLDQgKzEs
NSBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMgQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzMsNyArMzQs
NyBAQCBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9u
IGltcG9ydCBUZXN0Q29uZmlndXJhdGlvbgogZnJvbSB3ZWJraXRweS5wb3J0LmJhc2UgaW1wb3J0
IFBvcnQKIGZyb20gd2Via2l0cHkucG9ydC5wdWxzZWF1ZGlvX3Nhbml0aXplciBpbXBvcnQgUHVs
c2VBdWRpb1Nhbml0aXplcgogZnJvbSB3ZWJraXRweS5wb3J0Lnh2ZmJkcml2ZXIgaW1wb3J0IFh2
ZmJEcml2ZXIKLQorZnJvbSB3ZWJraXRweS5wb3J0Lmd0a19sZWFrZGV0ZWN0b3IgaW1wb3J0IEd0
a0xlYWtEZXRlY3RvcgogCiBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgIHBvcnRfbmFtZSA9ICJn
dGsiCkBAIC00Miw2ICs0MywxMiBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBzdXBl
cihHdGtQb3J0LCBzZWxmKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYu
X3B1bHNlYXVkaW9fc2FuaXRpemVyID0gUHVsc2VBdWRpb1Nhbml0aXplcigpCiAKKyAgICAgICAg
c2VsZi5fbGVha19kZXRlY3RvciA9IEd0a0xlYWtEZXRlY3RvcihzZWxmKQorICAgICAgICBpZiBz
ZWxmLmdldF9vcHRpb24oImxlYWtzIik6CisgICAgICAgICAgICAjIER1bXBSZW5kZXJUcmVlIHNs
b3dzIGRvd24gbm90aWNhYmx5IGlmIHdlIHJ1biBtb3JlIHRoYW4gYWJvdXQgMTAwMCB0ZXN0cyBp
biBhIGJhdGNoCisgICAgICAgICAgICAjIHdpdGggTWFsbG9jU3RhY2tMb2dnaW5nIGVuYWJsZWQu
CisgICAgICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgiYmF0Y2hfc2l6ZSIsIDEwMDAp
CisKICAgICBkZWYgd2Fybl9pZl9idWdfbWlzc2luZ19pbl90ZXN0X2V4cGVjdGF0aW9ucyhzZWxm
KToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdldF9vcHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5l
cicpCiAKQEAgLTU0LDggKzYxLDE2IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgZGVmIGRl
ZmF1bHRfdGltZW91dF9tcyhzZWxmKToKICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdjb25m
aWd1cmF0aW9uJykgPT0gJ0RlYnVnJzoKICAgICAgICAgICAgIHJldHVybiAxMiAqIDEwMDAKKyAg
ICAgICAgZWxpZiBzZWxmLmdldF9vcHRpb24oImxlYWtzIikgYW5kIHNlbGYuZ2V0X29wdGlvbigi
d3JhcHBlciIpOgorICAgICAgICAgICAgcmV0dXJuIDEyMCAqIDEwMDAKICAgICAgICAgcmV0dXJu
IDYgKiAxMDAwCiAKKyAgICBkZWYgZHJpdmVyX3N0b3BfdGltZW91dChzZWxmKToKKyAgICAgICAg
IiIiIFJldHVybnMgdGhlIGFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgdG8gd2FpdCBiZWZvcmUg
a2lsbGluZyB0aGUgcHJvY2VzcyBpbiBkcml2ZXIuc3RvcCgpLiIiIgorICAgICAgICAjIFdlIHdh
bnQgdG8gd2FpdCBmb3IgYXQgbGVhc3QgMyBzZWNvbmRzLCBidXQgaWYgd2UgYXJlIHJlYWxseSBz
bG93LCB3ZSB3YW50IHRvIGJlIHNsb3cgb24gY2xlYW51cCBhcworICAgICAgICAjIHdlbGwgKGZv
ciB0aGluZ3MgbGlrZSBBU0FOLCBWYWxncmluZCwgZXRjLikKKyAgICAgICAgcmV0dXJuIDMuMCAq
IHNlbGYuZGVmYXVsdF90aW1lb3V0X21zKCkKKwogICAgIGRlZiBzZXR1cF90ZXN0X3J1bihzZWxm
KToKICAgICAgICAgc3VwZXIoR3RrUG9ydCwgc2VsZikuc2V0dXBfdGVzdF9ydW4oKQogICAgICAg
ICBzZWxmLl9wdWxzZWF1ZGlvX3Nhbml0aXplci51bmxvYWRfcHVsc2VhdWRpb19tb2R1bGUoKQpA
QCAtNzMsNiArODgsMTMgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAgZW52aXJvbm1l
bnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ1Rl
c3ROZXRzY2FwZVBsdWdpbicsICcubGlicycpCiAgICAgICAgIGVudmlyb25tZW50WydXRUJLSVRf
SU5TUEVDVE9SX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ1Byb2dyYW1zJywgJ3Jlc291cmNl
cycsICdpbnNwZWN0b3InKQogICAgICAgICBlbnZpcm9ubWVudFsnQVVESU9fUkVTT1VSQ0VTX1BB
VEgnXSA9IHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdTb3VyY2UnLCAnV2ViQ29yZScsICdw
bGF0Zm9ybScsICdhdWRpbycsICdyZXNvdXJjZXMnKQorICAgICAgICBpZiBzZWxmLmdldF9vcHRp
b24oImxlYWtzIikgYW5kIHNlbGYuZ2V0X29wdGlvbigid3JhcHBlciIpOgorICAgICAgICAgICAg
ZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMtbWFsbG9jJworICAgICAgICAgICAgeG1s
ZmlsZSA9ICIiLmpvaW4oKCdcIicsc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpLCAiL2RydC0lcC1s
ZWFrcy54bWwiLCAnXCInKSkKKyAgICAgICAgICAgIHN1cHByZXNzaW9uc2ZpbGU9IHNlbGYucGF0
aF9mcm9tX3dlYmtpdF9iYXNlKCdUb29scycsICd2YWxncmluZCcsICdtZW1jaGVjaycsICdzdXBw
cmVzc2lvbnMudHh0JykKKyAgICAgICAgICAgIGVudmlyb25tZW50WydWQUxHUklORF9PUFRTJ10g
PSAnLS10b29sPW1lbWNoZWNrIC0tdHJhY2UtY2hpbGRyZW49bm8gLS1udW0tY2FsbGVycz0zMCAt
LWRlbWFuZ2xlPW5vIC0tbGVhay1jaGVjaz15ZXMgLS1sZWFrLXJlc29sdXRpb249bG93IC0tc2hv
dy1wb3NzaWJseS1sb3N0PW5vIC0tZ2VuLXN1cHByZXNzaW9ucz1hbGwgLS14bWw9eWVzIC0teG1s
LWZpbGU9JXMgLS1zdXBwcmVzc2lvbnM9JXMnICUgKHhtbGZpbGUsIHN1cHByZXNzaW9uc2ZpbGUp
CisgICAgICAgICAgICAjIEZJWE1FOiBpbnN0ZWFkIHdlIHNob3VsZCBiZSB1c2luZyAiamhidWls
ZC13cmFwcGVyIC0tZ3RrIHJ1biIgdG8gZW5zdXJlIHdlIGdldCB0aGUgY29ycmVjdCBsaWJyYXJ5
IHBhdGgKKyAgICAgICAgICAgIGVudmlyb25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSA9IHNlbGYu
cGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdXZWJLaXRCdWlsZCcsICdEZXBlbmRlbmNpZXMnLCAnUm9v
dCcsICdsaWI2NCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3Nl
dChlbnZpcm9ubWVudCwgJ1dFQktJVE9VVFBVVERJUicpCiAgICAgICAgIHJldHVybiBlbnZpcm9u
bWVudAogCkBAIC0xMTcsNiArMTM5LDI0IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgZGVm
IF9wb3J0X3NwZWNpZmljX2V4cGVjdGF0aW9uc19maWxlcyhzZWxmKToKICAgICAgICAgcmV0dXJu
IFtzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5fd2Via2l0X2Jhc2VsaW5lX3BhdGgocCksICdU
ZXN0RXhwZWN0YXRpb25zJykgZm9yIHAgaW4gcmV2ZXJzZWQoc2VsZi5fc2VhcmNoX3BhdGhzKCkp
XQogCisgICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3Nf
cGlkLCBpc19ydW5uaW5nKToKKyAgICAgICAgIyBXaXRoIEd0ayB3ZSBpbml0aWF0ZSBtZW1vcnkg
Y2hlY2tpbmcgYnkgcGFzc2luZyB2YWxncmluZCBhcyBhIHdyYXBwZXIgdG8gdGhlIHRlc3QKKyAg
ICAgICAgcGFzcworCisgICAgZGVmIHByaW50X2xlYWtzX3N1bW1hcnkoc2VsZik6CisgICAgICAg
IGlmIG5vdCBzZWxmLmdldF9vcHRpb24oJ2xlYWtzJyk6CisgICAgICAgICAgICByZXR1cm4KKyAg
ICAgICAgIyBXZSdyZSBpbiB0aGUgbWFuYWdlciBwcm9jZXNzLCBzbyB0aGUgbGVhayBkZXRlY3Rv
ciB3aWxsIG5vdCBoYXZlIGEgdmFsaWQgbGlzdCBvZiBsZWFrIGZpbGVzLgorICAgICAgICAjIEZJ
WE1FOiBUaGlzIGlzIGEgaGFjaywgYnV0IHdlIGRvbid0IGhhdmUgYSBiZXR0ZXIgd2F5IHRvIGdl
dCB0aGlzIGluZm9ybWF0aW9uIGZyb20gdGhlIHdvcmtlcnMgeWV0LgorICAgICAgICAjIEZJWE1F
OiBUaGlzIHdpbGwgaW5jbHVkZSB0b28gbWFueSBsZWFrcyBpbiBzdWJzZXF1ZW50IHJ1bnMgdW50
aWwgdGhlIHJlc3VsdHMgZGlyZWN0b3J5IGlzIGNsZWFyZWQhCisgICAgICAgIGxlYWtzX2ZpbGVz
ID0gc2VsZi5fbGVha19kZXRlY3Rvci5sZWFrc19maWxlc19pbl9kaXJlY3Rvcnkoc2VsZi5yZXN1
bHRzX2RpcmVjdG9yeSgpKQorICAgICAgICBpZiBub3QgbGVha3NfZmlsZXM6CisgICAgICAgICAg
ICByZXR1cm4KKyAgICAgICAgc2VsZi5fbGVha19kZXRlY3Rvci5wYXJzZV9sZWFrc19vdXRwdXQo
bGVha3NfZmlsZXMpCisgICAgICAgICN0b3RhbF9sZWFrcyA9IHNlbGYuX2xlYWtfZGV0ZWN0b3Iu
Y291bnRfdG90YWxfbGVha3MobGVha3NfZmlsZXMpCisgICAgICAgICNfbG9nLmluZm8oIiVzIHRv
dGFsIGxlYWtzIGZvdW5kIGZvciBhIHRvdGFsIG9mICVzISIgJSAodG90YWxfbGVha3MsIHRvdGFs
X2J5dGVzX3N0cmluZykpCisgICAgICAgICNfbG9nLmluZm8oIiVzIHVuaXF1ZSBsZWFrcyBmb3Vu
ZCEiICUgdW5pcXVlX2xlYWtzKQorCiAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQgYSB3YXkg
dG8gc2hhcmUgdGhpcyBpbXBsbWVudGF0aW9uIHdpdGggR3RrLAogICAgICMgb3IgdGVhY2ggcnVu
LWxhdW5jaGVyIGhvdyB0byBjYWxsIHJ1bi1zYWZhcmkgYW5kIG1vdmUgdGhpcyBkb3duIHRvIFBv
cnQuCiAgICAgZGVmIHNob3dfcmVzdWx0c19odG1sX2ZpbGUoc2VsZiwgcmVzdWx0c19maWxlbmFt
ZSk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX2xlYWtkZXRl
Y3Rvci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGtfbGVha2RldGVjdG9yLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjNhMWVlM2IwYTQ5YjM1ODkzNTI0NjZkZjAyNTllNGExNTlmNWU5YmIKLS0t
IC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX2xlYWtkZXRl
Y3Rvci5weQpAQCAtMCwwICsxLDc5IEBACisjIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVs
ZWN0cm9uaWNzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUg
R29vZ2xlIG5hbWUgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgbG9n
Z2luZworCitmcm9tIHdlYmtpdHB5LnBvcnQubWVtY2hlY2tfYW5hbHl6ZSBpbXBvcnQgTWVtY2hl
Y2tBbmFseXplcgorCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKKworIyBJ
ZiBvdGhlciBwb3J0cy9wbGF0Zm9ybXMgZGVjaWRlIHRvIHN1cHBvcnQgLS1sZWFrcywgd2Ugc2hv
dWxkIHNlZSBhYm91dCBzaGFyaW5nIGFzIG11Y2ggb2YgdGhpcyBjb2RlIGFzIHBvc3NpYmxlLgor
IyBUaGlzIGNvZGUgaXMgZm9yIHRoZSBHdGsrIHBvcnQsIHRha2VuIGZyb20gdGhlIE1hYyBwb3J0
LgorCitjbGFzcyBHdGtMZWFrRGV0ZWN0b3Iob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcG9ydCk6CisgICAgICAgICMgV2Ugc2hvdWxkIG9wZXJhdGUgb24gYSAicGxhdGZvcm0iIG5v
dCBhIHBvcnQgaGVyZS4KKyAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQKKyAgICAgICAgc2VsZi5f
ZXhlY3V0aXZlID0gcG9ydC5fZXhlY3V0aXZlCisgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0gPSBw
b3J0Ll9maWxlc3lzdGVtCisgICAgICAgIHNlbGYuX21lbWNoZWNrX2xlYWtfYW5hbHl6ZXIgPSBN
ZW1jaGVja0FuYWx5emVyKHBvcnQud2Via2l0X2Jhc2UoKSwgdXNlX2dkYj1GYWxzZSkKKworICAg
IGRlZiBwYXJzZV9sZWFrc19vdXRwdXQoc2VsZiwgbGVha3NfZmlsZXMpOgorICAgICAgICBzZWxm
Ll9tZW1jaGVja19sZWFrX2FuYWx5emVyLlJlcG9ydChsZWFrc19maWxlcywgIE5vbmUpCisgICAg
ICAgICNyZXR1cm4gaW50KGNvdW50KSwgaW50KGV4Y2x1ZGVkKSwgaW50KGJ5dGVzKQorCisgICAg
ZGVmIGxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLCBkaXJlY3RvcnkpOgorICAgICAgICBy
ZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5nbG9iKHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihkaXJlY3Rv
cnksICIqLWxlYWtzLnhtbCIpKQorCisgICAgZGVmIGxlYWtzX2ZpbGVfbmFtZShzZWxmLCBwcm9j
ZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKKyAgICAgICAgcmV0dXJuICJkcnQtJXMtbGVha3MueG1s
IiAlIChwcm9jZXNzX3BpZCkKKworICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vz
c19uYW1lLCBwcm9jZXNzX3BpZCk6CisgICAgICAgIF9sb2cuZGVidWcoIkNoZWNraW5nIGZvciBs
ZWFrcyBpbiAlcyIgJSBwcm9jZXNzX25hbWUpCisKKyAgICAgICAgbGVha3NfZmlsZXMgPSBzZWxm
LmxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLl9wb3J0LnJlc3VsdHNfZGlyZWN0b3J5KCkp
CisgICAgICAgIGlmIG5vdCBsZWFrc19maWxlczoKKyAgICAgICAgICAgIF9sb2cud2FybigiRmFp
bGVkIHRvIGZpbmQgdmFsZ3JpbmQgb3V0cHV0IHhtbCBmaWxlcy4gIikKKyAgICAgICAgICAgIHJl
dHVybgorCisgICAgICAgIGNvdW50LCBleGNsdWRlZCwgYnl0ZXMgPSBzZWxmLl9wYXJzZV9sZWFr
c19vdXRwdXQobGVha3NfZmlsZXMpCisgICAgICAgIGFkanVzdGVkX2NvdW50ID0gY291bnQgLSBl
eGNsdWRlZAorICAgICAgICBpZiBub3QgYWRqdXN0ZWRfY291bnQ6CisgICAgICAgICAgICByZXR1
cm4KKworICAgICAgICBsZWFrc19maWxlbmFtZSA9IHNlbGYubGVha3NfZmlsZV9uYW1lKHByb2Nl
c3NfbmFtZSwgcHJvY2Vzc19waWQpCisgICAgICAgIGxlYWtzX291dHB1dF9wYXRoID0gc2VsZi5f
ZmlsZXN5c3RlbS5qb2luKHNlbGYuX3BvcnQucmVzdWx0c19kaXJlY3RvcnkoKSwgbGVha3NfZmls
ZW5hbWUpCisgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ud3JpdGVfYmluYXJ5X2ZpbGUobGVha3Nf
b3V0cHV0X3BhdGgsIGxlYWtzX291dHB1dCkKKworICAgICAgICAjIEZJWE1FOiBJZGVhbGx5IHdl
IHdvdWxkIG5vdCBiZSBsb2dnaW5nIGZyb20gdGhlIHdvcmtlciBwcm9jZXNzLCBidXQgcmF0aGVy
IHBhc3MgdGhlIGxlYWsKKyAgICAgICAgIyBpbmZvcm1hdGlvbiBiYWNrIHRvIHRoZSBtYW5hZ2Vy
IGFuZCBoYXZlIGl0IGxvZy4KKyAgICAgICAgaWYgZXhjbHVkZWQ6CisgICAgICAgICAgICBfbG9n
LmluZm8oIiVzIGxlYWtzICglcyBieXRlcyBpbmNsdWRpbmcgJXMgZXhjbHVkZWQgbGVha3MpIHdl
cmUgZm91bmQsIGRldGFpbHMgaW4gJXMiICUgKGFkanVzdGVkX2NvdW50LCBieXRlcywgZXhjbHVk
ZWQsIGxlYWtzX291dHB1dF9wYXRoKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIF9sb2cu
aW5mbygiJXMgbGVha3MgKCVzIGJ5dGVzKSB3ZXJlIGZvdW5kLCBkZXRhaWxzIGluICVzIiAlIChj
b3VudCwgYnl0ZXMsIGxlYWtzX291dHB1dF9wYXRoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9tYWMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFj
LnB5CmluZGV4IDkxMzkwNWIyODMxZDIwODlkNWM0Mjc0MWZiZWYyNzc5ZjY3N2E2NmEuLjMxZTEw
MjlmNWI5YzY4MGZkNzMxYWNhOWFhNjgwYjFjNzNkYWFkNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L21hYy5weQpAQCAtMTQ3LDggKzE0Nyw5IEBAIGNsYXNzIE1hY1BvcnQoQXBwbGVQb3J0KToK
ICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgZGVm
IGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKLSAgICAg
ICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbignbGVha3MnKToKKyAgICBkZWYgY2hlY2tfZm9yX2xl
YWtzKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQsIGlzX3J1bm5pbmcpOgorICAgICAg
ICAjIE9ubHkgYm90aGVyIHRvIGNoZWNrIGZvciBsZWFrcyBvciBzdGRlcnIgaWYgdGhlIHByb2Nl
c3MgaXMgc3RpbGwgcnVubmluZy4KKyAgICAgICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbignbGVh
a3MnKSBvciBub3QgaXNfcnVubmluZzoKICAgICAgICAgICAgIHJldHVybgogICAgICAgICAjIFdl
IGNvdWxkIHVzZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcHN1dGlsLyB0byBnZXQgdGhlIHBy
b2Nlc3NfbmFtZSBmcm9tIHRoZSBwaWQuCiAgICAgICAgIHNlbGYuX2xlYWtfZGV0ZWN0b3IuY2hl
Y2tfZm9yX2xlYWtzKHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWVtY2hlY2tfYW5hbHl6ZS5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9tZW1jaGVja19hbmFseXplLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhZjM4NWI1
OGRhYmM1MGJjYzgxNzczZTUyOGNkOWViMjQzMGUzNGIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWVtY2hlY2tfYW5hbHl6ZS5weQpAQCAtMCwwICsxLDY2
MyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5n
IEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBPcmlnaW5hbGx5IGZyb20g
Q2hyb21pdW0sIGNvcHlyaWdodCBhcyBmb2xsb3dzOgorIworIyBDb3B5cmlnaHQgKGMpIDIwMTMg
VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMg
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisj
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCisKKyMgbWVtY2hlY2tfYW5hbHl6ZS5weQorCisnJycgR2l2ZW4gYSB2YWxncmluZCBYTUwg
ZmlsZSwgcGFyc2VzIGVycm9ycyBhbmQgdW5pcXVlcyB0aGVtLicnJworCitpbXBvcnQgZ2RiX2hl
bHBlcgorCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdAoraW1wb3J0IGhhc2hs
aWIKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcworaW1wb3J0IHJl
CitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworaW1wb3J0IHRpbWUKK2Zyb20geG1sLmRv
bS5taW5pZG9tIGltcG9ydCBwYXJzZQorZnJvbSB4bWwucGFyc2Vycy5leHBhdCBpbXBvcnQgRXhw
YXRFcnJvcgorCitpbXBvcnQgY29tbW9uCisKKyMgR2xvYmFsIHN5bWJvbCB0YWJsZSAoeXVjaykK
K1RoZUFkZHJlc3NUYWJsZSA9IE5vbmUKKworIyBUaGVzZSBhcmUgcmVnZXhwcyB0aGF0IGRlZmlu
ZSBmdW5jdGlvbnMgKHVzaW5nIEMrKyBtYW5nbGVkIG5hbWVzKQorIyB3ZSBkb24ndCB3YW50IHRv
IHNlZSBpbiBzdGFjayB0cmFjZXMgd2hpbGUgcHJldHR5IHByaW50aW5nCisjIG9yIGdlbmVyYXRp
bmcgc3VwcHJlc3Npb25zLgorIyBKdXN0IHN0b3AgcHJpbnRpbmcgdGhlIHN0YWNrL3N1cHByZXNz
aW9uIGZyYW1lcyB3aGVuIHRoZSBjdXJyZW50IG9uZQorIyBtYXRjaGVzIGFueSBvZiB0aGVzZS4K
K19CT1JJTkdfQ0FMTEVSUyA9IGNvbW1vbi5Cb3JpbmdDYWxsZXJzKG1hbmdsZWQ9VHJ1ZSwgdXNl
X3JlX3dpbGRjYXJkcz1UcnVlKQorCitkZWYgZ2V0VGV4dE9mKHRvcF9ub2RlLCBuYW1lKToKKyAg
JycnIFJldHVybnMgYWxsIHRleHQgaW4gYWxsIERPTSBub2RlcyB3aXRoIGEgY2VydGFpbiB8bmFt
ZXwgdGhhdCBhcmUgY2hpbGRyZW4KKyAgb2YgfHRvcF9ub2RlfC4KKyAgJycnCisKKyAgdGV4dCA9
ICIiCisgIGZvciBub2Rlc19uYW1lZCBpbiB0b3Bfbm9kZS5nZXRFbGVtZW50c0J5VGFnTmFtZShu
YW1lKToKKyAgICB0ZXh0ICs9ICIiLmpvaW4oW25vZGUuZGF0YSBmb3Igbm9kZSBpbiBub2Rlc19u
YW1lZC5jaGlsZE5vZGVzCisgICAgICAgICAgICAgICAgICAgICBpZiBub2RlLm5vZGVUeXBlID09
IG5vZGUuVEVYVF9OT0RFXSkKKyAgcmV0dXJuIHRleHQKKworZGVmIGdldENEQVRBT2YodG9wX25v
ZGUsIG5hbWUpOgorICAnJycgUmV0dXJucyBhbGwgQ0RBVEEgaW4gYWxsIERPTSBub2RlcyB3aXRo
IGEgY2VydGFpbiB8bmFtZXwgdGhhdCBhcmUgY2hpbGRyZW4KKyAgb2YgfHRvcF9ub2RlfC4KKyAg
JycnCisKKyAgdGV4dCA9ICIiCisgIGZvciBub2Rlc19uYW1lZCBpbiB0b3Bfbm9kZS5nZXRFbGVt
ZW50c0J5VGFnTmFtZShuYW1lKToKKyAgICB0ZXh0ICs9ICIiLmpvaW4oW25vZGUuZGF0YSBmb3Ig
bm9kZSBpbiBub2Rlc19uYW1lZC5jaGlsZE5vZGVzCisgICAgICAgICAgICAgICAgICAgICBpZiBu
b2RlLm5vZGVUeXBlID09IG5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFXSkKKyAgaWYgKHRleHQgPT0g
IiIpOgorICAgIHJldHVybiBOb25lCisgIHJldHVybiB0ZXh0CisKK2RlZiBzaG9ydGVuRmlsZVBh
dGgoc291cmNlX2RpciwgZGlyZWN0b3J5KToKKyAgJycnUmV0dXJucyBhIHN0cmluZyB3aXRoIHRo
ZSBzdHJpbmcgcHJlZml4IHxzb3VyY2VfZGlyfCByZW1vdmVkIGZyb20KKyAgfGRpcmVjdG9yeXwu
JycnCisgIHByZWZpeGVzX3RvX2N1dCA9IFsiYnVpbGQvc3JjLyIsICJ2YWxncmluZC9jb3JlZ3Jp
bmQvIl0KKworICBpZiBzb3VyY2VfZGlyOgorICAgIHByZWZpeGVzX3RvX2N1dC5hcHBlbmQoc291
cmNlX2RpcikKKworICBmb3IgcCBpbiBwcmVmaXhlc190b19jdXQ6CisgICAgaW5kZXggPSBkaXJl
Y3RvcnkucmZpbmQocCkKKyAgICBpZiBpbmRleCAhPSAtMToKKyAgICAgIGRpcmVjdG9yeSA9IGRp
cmVjdG9yeVtpbmRleCArIGxlbihwKTpdCisKKyAgcmV0dXJuIGRpcmVjdG9yeQorCisjIENvbnN0
YW50cyB0aGF0IGdpdmUgcmVhbCBuYW1lcyB0byB0aGUgYWJicmV2aWF0aW9ucyBpbiB2YWxncmlu
ZCBYTUwgb3V0cHV0LgorSU5TVFJVQ1RJT05fUE9JTlRFUiA9ICJpcCIKK09CSkVDVF9GSUxFID0g
Im9iaiIKK0ZVTkNUSU9OX05BTUUgPSAiZm4iCitTUkNfRklMRV9ESVIgPSAiZGlyIgorU1JDX0ZJ
TEVfTkFNRSA9ICJmaWxlIgorU1JDX0xJTkUgPSAibGluZSIKKworZGVmIGdhdGhlckZyYW1lcyhu
b2RlLCBzb3VyY2VfZGlyKToKKyAgZnJhbWVzID0gW10KKyAgZm9yIGZyYW1lIGluIG5vZGUuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoImZyYW1lIik6CisgICAgZnJhbWVfZGljdCA9IHsKKyAgICAgIElO
U1RSVUNUSU9OX1BPSU5URVIgOiBnZXRUZXh0T2YoZnJhbWUsIElOU1RSVUNUSU9OX1BPSU5URVIp
LAorICAgICAgT0JKRUNUX0ZJTEUgICAgICAgICA6IGdldFRleHRPZihmcmFtZSwgT0JKRUNUX0ZJ
TEUpLAorICAgICAgRlVOQ1RJT05fTkFNRSAgICAgICA6IGdldFRleHRPZihmcmFtZSwgRlVOQ1RJ
T05fTkFNRSksCisgICAgICBTUkNfRklMRV9ESVIgICAgICAgIDogc2hvcnRlbkZpbGVQYXRoKAor
ICAgICAgICAgIHNvdXJjZV9kaXIsIGdldFRleHRPZihmcmFtZSwgU1JDX0ZJTEVfRElSKSksCisg
ICAgICBTUkNfRklMRV9OQU1FICAgICAgIDogZ2V0VGV4dE9mKGZyYW1lLCBTUkNfRklMRV9OQU1F
KSwKKyAgICAgIFNSQ19MSU5FICAgICAgICAgICAgOiBnZXRUZXh0T2YoZnJhbWUsIFNSQ19MSU5F
KQorICAgIH0KKworICAgICMgSWdub3JlIHRoaXMgZnJhbWUgYW5kIGFsbCB0aGUgZm9sbG93aW5n
IGlmIGl0J3MgYSAiYm9yaW5nIiBmdW5jdGlvbi4KKyAgICBlbm91Z2hfZnJhbWVzID0gRmFsc2UK
KyAgICBmb3IgcmVnZXhwIGluIF9CT1JJTkdfQ0FMTEVSUzoKKyAgICAgIGlmIHJlLm1hdGNoKCJe
JXMkIiAlIHJlZ2V4cCwgZnJhbWVfZGljdFtGVU5DVElPTl9OQU1FXSk6CisgICAgICAgIGVub3Vn
aF9mcmFtZXMgPSBUcnVlCisgICAgICAgIGJyZWFrCisgICAgaWYgZW5vdWdoX2ZyYW1lczoKKyAg
ICAgIGJyZWFrCisKKyAgICBmcmFtZXMgKz0gW2ZyYW1lX2RpY3RdCisKKyAgICBnbG9iYWwgVGhl
QWRkcmVzc1RhYmxlCisgICAgaWYgVGhlQWRkcmVzc1RhYmxlICE9IE5vbmUgYW5kIGZyYW1lX2Rp
Y3RbU1JDX0xJTkVdID09ICIiOgorICAgICAgIyBUcnkgdXNpbmcgZ2RiCisgICAgICBUaGVBZGRy
ZXNzVGFibGUuQWRkKGZyYW1lX2RpY3RbT0JKRUNUX0ZJTEVdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICBmcmFtZV9kaWN0W0lOU1RSVUNUSU9OX1BPSU5URVJdKQorICByZXR1cm4gZnJhbWVz
CisKK2NsYXNzIFZhbGdyaW5kRXJyb3I6CisgICcnJyBUYWtlcyBhIDxET00gRWxlbWVudDogZXJy
b3I+IG5vZGUgYW5kIHJlYWRzIGFsbCB0aGUgZGF0YSBmcm9tIGl0LiBBCisgIFZhbGdyaW5kRXJy
b3IgaXMgaW1tdXRhYmxlIGFuZCBpcyBoYXNoZWQgb24gaXRzIHByZXR0eSBwcmludGVkIG91dHB1
dC4KKyAgJycnCisKKyAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZV9kaXIsIGVycm9yX25vZGUs
IGNvbW1hbmRsaW5lLCB0ZXN0Y2FzZSk6CisgICAgJycnIENvcGllcyBhbGwgdGhlIHJlbGV2YW50
IGluZm9ybWF0aW9uIG91dCBvZiB0aGUgRE9NIGFuZCBpbnRvIG9iamVjdAorICAgIHByb3BlcnRp
ZXMuCisKKyAgICBBcmdzOgorICAgICAgZXJyb3Jfbm9kZTogVGhlIDxlcnJvcj48L2Vycm9yPiBE
T00gbm9kZSB3ZSdyZSBleHRyYWN0aW5nIGZyb20uCisgICAgICBzb3VyY2VfZGlyOiBQcmVmaXgg
dGhhdCBzaG91bGQgYmUgc3RyaXBwZWQgZnJvbSB0aGUgPGRpcj4gbm9kZS4KKyAgICAgIGNvbW1h
bmRsaW5lOiBUaGUgY29tbWFuZCB0aGF0IHdhcyBydW4gdW5kZXIgdmFsZ3JpbmQKKyAgICAgIHRl
c3RjYXNlOiBUaGUgdGVzdCBjYXNlIG5hbWUsIGlmIGtub3duLgorICAgICcnJworCisgICAgIyBW
YWxncmluZCBlcnJvcnMgY29udGFpbiBvbmUgPHdoYXQ+PHN0YWNrPiBwYWlyLCBwbHVzIGFuIG9w
dGlvbmFsCisgICAgIyA8YXV4d2hhdD48c3RhY2s+IHBhaXIsIHBsdXMgYW4gb3B0aW9uYWwgPG9y
aWdpbj48d2hhdD48c3RhY2s+PC9vcmlnaW4+LAorICAgICMgcGx1cyAoc2luY2UgMy41LjApIGEg
PHN1cHByZXNzaW9uPjwvc3VwcHJlc3Npb24+IHBhaXIuCisgICAgIyAoT3JpZ2luIGlzIG5pY2Vs
eSBlbmNsb3NlZDsgdG9vIGJhZCB0aGUgb3RoZXIgdHdvIGFyZW4ndC4pCisgICAgIyBUaGUgbW9z
dCBjb21tb24gd2F5IHRvIHNlZSBhbGwgdGhyZWUgaW4gb25lIHJlcG9ydCBpcworICAgICMgYSBz
eXNjYWxsIHdpdGggYSBwYXJhbWV0ZXIgdGhhdCBwb2ludHMgdG8gdW5pbml0aWFsaXplZCBtZW1v
cnksIGUuZy4KKyAgICAjIEZvcm1hdDoKKyAgICAjIDxlcnJvcj4KKyAgICAjICAgPHVuaXF1ZT4w
eDZkPC91bmlxdWU+CisgICAgIyAgIDx0aWQ+MTwvdGlkPgorICAgICMgICA8a2luZD5TeXNjYWxs
UGFyYW08L2tpbmQ+CisgICAgIyAgIDx3aGF0PlN5c2NhbGwgcGFyYW0gd3JpdGUoYnVmKSBwb2lu
dHMgdG8gdW5pbml0aWFsaXNlZCBieXRlKHMpPC93aGF0PgorICAgICMgICA8c3RhY2s+CisgICAg
IyAgICAgPGZyYW1lPgorICAgICMgICAgIC4uLgorICAgICMgICAgIDwvZnJhbWU+CisgICAgIyAg
IDwvc3RhY2s+CisgICAgIyAgIDxhdXh3aGF0PkFkZHJlc3MgMHg1YzlhZjRmIGlzIDcgYnl0ZXMg
aW5zaWRlIGEgYmxvY2sgb2YgLi4uPC9hdXh3aGF0PgorICAgICMgICA8c3RhY2s+CisgICAgIyAg
ICAgPGZyYW1lPgorICAgICMgICAgIC4uLgorICAgICMgICAgIDwvZnJhbWU+CisgICAgIyAgIDwv
c3RhY2s+CisgICAgIyAgIDxvcmlnaW4+CisgICAgIyAgIDx3aGF0PlVuaW5pdGlhbGlzZWQgdmFs
dWUgd2FzIGNyZWF0ZWQgYnkgYSBoZWFwIGFsbG9jYXRpb248L3doYXQ+CisgICAgIyAgIDxzdGFj
az4KKyAgICAjICAgICA8ZnJhbWU+CisgICAgIyAgICAgLi4uCisgICAgIyAgICAgPC9mcmFtZT4K
KyAgICAjICAgPC9zdGFjaz4KKyAgICAjICAgPC9vcmlnaW4+CisgICAgIyAgIDxzdXBwcmVzc2lv
bj4KKyAgICAjICAgICA8c25hbWU+aW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9oZXJlPC9zbmFt
ZT4KKyAgICAjICAgICA8c2tpbmQ+TWVtY2hlY2s6UGFyYW08L3NraW5kPgorICAgICMgICAgIDxz
a2F1eD53cml0ZShidWYpPC9za2F1eD4KKyAgICAjICAgICA8c2ZyYW1lPiA8ZnVuPl9fd3JpdGVf
bm9jYW5jZWw8L2Z1bj4gPC9zZnJhbWU+CisgICAgIyAgICAgLi4uCisgICAgIyAgICAgPHNmcmFt
ZT4gPGZ1bj5tYWluPC9mdW4+IDwvc2ZyYW1lPgorICAgICMgICAgIDxyYXd0ZXh0PgorICAgICMg
PCFbQ0RBVEFbCisgICAgIyB7CisgICAgIyAgICA8aW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9o
ZXJlPgorICAgICMgICAgTWVtY2hlY2s6UGFyYW0KKyAgICAjICAgIHdyaXRlKGJ1ZikKKyAgICAj
ICAgIGZ1bjpfX3dyaXRlX25vY2FuY2VsCisgICAgIyAgICAuLi4KKyAgICAjICAgIGZ1bjptYWlu
CisgICAgIyB9CisgICAgIyBdXT4KKyAgICAjICAgICA8L3Jhd3RleHQ+CisgICAgIyAgIDwvc3Vw
cHJlc3Npb24+CisgICAgIyA8L2Vycm9yPgorICAgICMKKyAgICAjIEVhY2ggZnJhbWUgbG9va3Mg
bGlrZSB0aGlzOgorICAgICMgIDxmcmFtZT4KKyAgICAjICAgIDxpcD4weDgzNzUxQkM8L2lwPgor
ICAgICMgICAgPG9iaj4vZGF0YS9ka2VnZWwvY2hyb21lLWJ1aWxkL3NyYy9vdXQvUmVsZWFzZS9i
YXNlX3VuaXR0ZXN0czwvb2JqPgorICAgICMgICAgPGZuPl9aTjd0ZXN0aW5nOGludGVybmFsMTJU
ZXN0SW5mb0ltcGw3UnVuVGVzdEVQTlNfOFRlc3RJbmZvRTwvZm4+CisgICAgIyAgICA8ZGlyPi9k
YXRhL2RrZWdlbC9jaHJvbWUtYnVpbGQvc3JjL3Rlc3RpbmcvZ3Rlc3Qvc3JjPC9kaXI+CisgICAg
IyAgICA8ZmlsZT5ndGVzdC1pbnRlcm5hbC1pbmwuaDwvZmlsZT4KKyAgICAjICAgIDxsaW5lPjY1
NTwvbGluZT4KKyAgICAjICA8L2ZyYW1lPgorICAgICMgYWx0aG91Z2ggdGhlIGRpciwgZmlsZSwg
YW5kIGxpbmUgZWxlbWVudHMgYXJlIG1pc3NpbmcgaWYgdGhlcmUgaXMKKyAgICAjIG5vIGRlYnVn
IGluZm8uCisKKyAgICBzZWxmLl9raW5kID0gZ2V0VGV4dE9mKGVycm9yX25vZGUsICJraW5kIikK
KyAgICBzZWxmLl9iYWNrdHJhY2VzID0gW10KKyAgICBzZWxmLl9zdXBwcmVzc2lvbiA9IE5vbmUK
KyAgICBzZWxmLl9jb21tYW5kbGluZSA9IGNvbW1hbmRsaW5lCisgICAgc2VsZi5fdGVzdGNhc2Ug
PSB0ZXN0Y2FzZQorICAgIHNlbGYuX2FkZGl0aW9uYWwgPSBbXQorCisgICAgIyBJdGVyYXRlIHRo
cm91Z2ggdGhlIG5vZGVzLCBwYXJzaW5nIDx3aGF0fGF1eHdoYXQ+PHN0YWNrPiBwYWlycy4KKyAg
ICBkZXNjcmlwdGlvbiA9IE5vbmUKKyAgICBmb3Igbm9kZSBpbiBlcnJvcl9ub2RlLmNoaWxkTm9k
ZXM6CisgICAgICBpZiBub2RlLmxvY2FsTmFtZSA9PSAid2hhdCIgb3Igbm9kZS5sb2NhbE5hbWUg
PT0gImF1eHdoYXQiOgorICAgICAgICBkZXNjcmlwdGlvbiA9ICIiLmpvaW4oW24uZGF0YSBmb3Ig
biBpbiBub2RlLmNoaWxkTm9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG4u
bm9kZVR5cGUgPT0gbi5URVhUX05PREVdKQorICAgICAgZWxpZiBub2RlLmxvY2FsTmFtZSA9PSAi
eHdoYXQiOgorICAgICAgICBkZXNjcmlwdGlvbiA9IGdldFRleHRPZihub2RlLCAidGV4dCIpCisg
ICAgICBlbGlmIG5vZGUubG9jYWxOYW1lID09ICJzdGFjayI6CisgICAgICAgIGFzc2VydCBkZXNj
cmlwdGlvbgorICAgICAgICBzZWxmLl9iYWNrdHJhY2VzLmFwcGVuZChbZGVzY3JpcHRpb24sIGdh
dGhlckZyYW1lcyhub2RlLCBzb3VyY2VfZGlyKV0pCisgICAgICAgIGRlc2NyaXB0aW9uID0gTm9u
ZQorICAgICAgZWxpZiBub2RlLmxvY2FsTmFtZSA9PSAib3JpZ2luIjoKKyAgICAgICAgZGVzY3Jp
cHRpb24gPSBnZXRUZXh0T2Yobm9kZSwgIndoYXQiKQorICAgICAgICBzdGFjayA9IG5vZGUuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoInN0YWNrIilbMF0KKyAgICAgICAgZnJhbWVzID0gZ2F0aGVyRnJh
bWVzKHN0YWNrLCBzb3VyY2VfZGlyKQorICAgICAgICBzZWxmLl9iYWNrdHJhY2VzLmFwcGVuZChb
ZGVzY3JpcHRpb24sIGZyYW1lc10pCisgICAgICAgIGRlc2NyaXB0aW9uID0gTm9uZQorICAgICAg
ICBzdGFjayA9IE5vbmUKKyAgICAgICAgZnJhbWVzID0gTm9uZQorICAgICAgZWxpZiBkZXNjcmlw
dGlvbiBhbmQgbm9kZS5sb2NhbE5hbWUgIT0gTm9uZToKKyAgICAgICAgIyBUaGUgbGFzdGVzdCBk
ZXNjcmlwdGlvbiBoYXMgbm8gc3RhY2ssIGUuZy4gIkFkZHJlc3MgMHgyOCBpcyB1bmtub3duIgor
ICAgICAgICBzZWxmLl9hZGRpdGlvbmFsLmFwcGVuZChkZXNjcmlwdGlvbikKKyAgICAgICAgZGVz
Y3JpcHRpb24gPSBOb25lCisKKyAgICAgIGlmIG5vZGUubG9jYWxOYW1lID09ICJzdXBwcmVzc2lv
biI6CisgICAgICAgIHNlbGYuX3N1cHByZXNzaW9uID0gZ2V0Q0RBVEFPZihub2RlLCAicmF3dGV4
dCIpOworCisgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICcnJyBQcmV0dHkgcHJpbnQgdGhlIHR5
cGUgYW5kIGJhY2t0cmFjZShzKSBvZiB0aGlzIHNwZWNpZmljIGVycm9yLAorICAgICAgICBpbmNs
dWRpbmcgc3VwcHJlc3Npb24gKHdoaWNoIGlzIGp1c3QgYSBtYW5nbGVkIGJhY2t0cmFjZSkuJycn
CisgICAgb3V0cHV0ID0gIiIKKyAgICBpZiAoc2VsZi5fY29tbWFuZGxpbmUpOgorICAgICAgb3V0
cHV0ICs9IHNlbGYuX2NvbW1hbmRsaW5lICsgIlxuIgorCisgICAgb3V0cHV0ICs9IHNlbGYuX2tp
bmQgKyAiXG4iCisgICAgZm9yIGJhY2t0cmFjZSBpbiBzZWxmLl9iYWNrdHJhY2VzOgorICAgICAg
b3V0cHV0ICs9IGJhY2t0cmFjZVswXSArICJcbiIKKyAgICAgIGZpbHRlciA9IHN1YnByb2Nlc3Mu
UG9wZW4oImMrK2ZpbHQgLW4iLCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2hlbGw9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY2xvc2VfZmRzPVRydWUpCisgICAgICBidWYgPSAiIgorICAgICAgZm9yIGZyYW1l
IGluIGJhY2t0cmFjZVsxXToKKyAgICAgICAgYnVmICs9ICAoZnJhbWVbRlVOQ1RJT05fTkFNRV0g
b3IgZnJhbWVbSU5TVFJVQ1RJT05fUE9JTlRFUl0pICsgIlxuIgorICAgICAgKHN0ZG91dGJ1Ziwg
c3RkZXJyYnVmKSA9IGZpbHRlci5jb21tdW5pY2F0ZShidWYuZW5jb2RlKCdsYXRpbi0xJykpCisg
ICAgICBkZW1hbmdsZWRfbmFtZXMgPSBzdGRvdXRidWYuc3BsaXQoIlxuIikKKworICAgICAgaSA9
IDAKKyAgICAgIGZvciBmcmFtZSBpbiBiYWNrdHJhY2VbMV06CisgICAgICAgIG91dHB1dCArPSAo
IiAgIiArIGRlbWFuZ2xlZF9uYW1lc1tpXSkKKyAgICAgICAgaSA9IGkgKyAxCisKKyAgICAgICAg
Z2xvYmFsIFRoZUFkZHJlc3NUYWJsZQorICAgICAgICBpZiBUaGVBZGRyZXNzVGFibGUgIT0gTm9u
ZSBhbmQgZnJhbWVbU1JDX0ZJTEVfRElSXSA9PSAiIjoKKyAgICAgICAgICAgIyBUcnkgdXNpbmcg
Z2RiCisgICAgICAgICAgIGZvbyA9IFRoZUFkZHJlc3NUYWJsZS5HZXRGaWxlTGluZShmcmFtZVtP
QkpFQ1RfRklMRV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmcmFtZVtJTlNUUlVDVElPTl9QT0lOVEVSXSkKKyAgICAgICAgICAgaWYgZm9vWzBdICE9IE5v
bmU6CisgICAgICAgICAgICAgb3V0cHV0ICs9ICgiICgiICsgZm9vWzBdICsgIjoiICsgZm9vWzFd
ICsgIikiKQorICAgICAgICBlbGlmIGZyYW1lW1NSQ19GSUxFX0RJUl0gIT0gIiI6CisgICAgICAg
ICAgb3V0cHV0ICs9ICgiICgiICsgZnJhbWVbU1JDX0ZJTEVfRElSXSArICIvIiArIGZyYW1lW1NS
Q19GSUxFX05BTUVdICsKKyAgICAgICAgICAgICAgICAgICAgICI6IiArIGZyYW1lW1NSQ19MSU5F
XSArICIpIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICBvdXRwdXQgKz0gIiAoIiArIGZyYW1l
W09CSkVDVF9GSUxFXSArICIpIgorICAgICAgICBvdXRwdXQgKz0gIlxuIgorCisgICAgZm9yIGFk
ZGl0aW9uYWwgaW4gc2VsZi5fYWRkaXRpb25hbDoKKyAgICAgIG91dHB1dCArPSBhZGRpdGlvbmFs
ICsgIlxuIgorCisgICAgYXNzZXJ0IHNlbGYuX3N1cHByZXNzaW9uICE9IE5vbmUsICJZb3VyIFZh
bGdyaW5kIGRvZXNuJ3QgZ2VuZXJhdGUgIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJzdXBwcmVzc2lvbnMgLSBpcyBpdCB0b28gb2xkPyIKKworICAgIGlmIHNlbGYu
X3Rlc3RjYXNlOgorICAgICAgb3V0cHV0ICs9ICJUaGUgcmVwb3J0IGNhbWUgZnJvbSB0aGUgYCVz
YCB0ZXN0LlxuIiAlIHNlbGYuX3Rlc3RjYXNlCisgICAgb3V0cHV0ICs9ICJTdXBwcmVzc2lvbiAo
ZXJyb3IgaGFzaD0jJTAxNlgjKTpcbiIgJSBzZWxmLkVycm9ySGFzaCgpCisgICAgb3V0cHV0ICs9
ICgiICBGb3IgbW9yZSBpbmZvIG9uIHVzaW5nIHN1cHByZXNzaW9ucyBzZWUgIgorICAgICAgICAg
ICAgICAgImh0dHA6Ly9kZXYuY2hyb21pdW0ub3JnL2RldmVsb3BlcnMvdHJlZS1zaGVyaWZmcy9z
aGVyaWZmLWRldGFpbHMtY2hyb21pdW0vbWVtb3J5LXNoZXJpZmYjVE9DLVN1cHByZXNzaW5nLW1l
bW9yeS1yZXBvcnRzIikKKworICAgICMgV2lkZW4gc3VwcHJlc3Npb24gc2xpZ2h0bHkgdG8gbWFr
ZSBwb3J0YWJsZSBiZXR3ZWVuIG1hYyBhbmQgbGludXgKKyAgICAjIFRPRE8odGltdXJycnIpOiBP
b3BzLCB0aGVzZSB0cmFuc2Zvcm1hdGlvbnMgc2hvdWxkIGhhcHBlbgorICAgICMgQkVGT1JFIGNh
bGN1bGF0aW5nIHRoZSBoYXNoIQorICAgIHN1cHAgPSBzZWxmLl9zdXBwcmVzc2lvbjsKKyAgICBz
dXBwID0gc3VwcC5yZXBsYWNlKCJmdW46X1pud2oiLCAiZnVuOl9abncqIikKKyAgICBzdXBwID0g
c3VwcC5yZXBsYWNlKCJmdW46X1pud20iLCAiZnVuOl9abncqIikKKyAgICBzdXBwID0gc3VwcC5y
ZXBsYWNlKCJmdW46X1puYWoiLCAiZnVuOl9abmEqIikKKyAgICBzdXBwID0gc3VwcC5yZXBsYWNl
KCJmdW46X1puYW0iLCAiZnVuOl9abmEqIikKKworICAgICMgTWFrZSBzdXBwcmVzc2lvbnMgZXZl
biBsZXNzIHBsYXRmb3JtLWRlcGVuZGVudC4KKyAgICBmb3Igc3ogaW4gWzEsIDIsIDQsIDhdOgor
ICAgICAgc3VwcCA9IHN1cHAucmVwbGFjZSgiTWVtY2hlY2s6QWRkciVkIiAlIHN6LCAiTWVtY2hl
Y2s6VW5hZGRyZXNzYWJsZSIpCisgICAgICBzdXBwID0gc3VwcC5yZXBsYWNlKCJNZW1jaGVjazpW
YWx1ZSVkIiAlIHN6LCAiTWVtY2hlY2s6VW5pbml0aWFsaXplZCIpCisgICAgc3VwcCA9IHN1cHAu
cmVwbGFjZSgiTWVtY2hlY2s6Q29uZCIsICJNZW1jaGVjazpVbmluaXRpYWxpemVkIikKKworICAg
ICMgU3BsaXQgaW50byBsaW5lcyBzbyB3ZSBjYW4gZW5mb3JjZSBsZW5ndGggbGltaXRzCisgICAg
c3VwcGxpbmVzID0gc3VwcC5zcGxpdCgiXG4iKQorICAgIHN1cHAgPSBOb25lICAjIHRvIGF2b2lk
IHJlLXVzZQorCisgICAgIyBUcnVuY2F0ZSBhdCBsaW5lIDI2IChWR19NQVhfU1VQUF9DQUxMRVJT
IHBsdXMgMiBmb3IgbmFtZSBhbmQgdHlwZSkKKyAgICAjIG9yIGF0IHRoZSBmaXJzdCAnYm9yaW5n
JyBjYWxsZXIuCisgICAgIyAoaHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lkPTE5
OTQ2OCBwcm9wb3NlcyByYWlzaW5nCisgICAgIyBWR19NQVhfU1VQUF9DQUxMRVJTLCBidXQgd2Un
cmUgcHJvYmFibHkgZmluZSB3aXRoIGl0IGFzIGlzLikKKyAgICBuZXdsZW4gPSBtaW4oMjYsIGxl
bihzdXBwbGluZXMpKTsKKworICAgICMgRHJvcCBib3JpbmcgZnJhbWVzIGFuZCBhbGwgdGhlIGZv
bGxvd2luZy4KKyAgICBlbm91Z2hfZnJhbWVzID0gRmFsc2UKKyAgICBmb3IgZnJhbWVubyBpbiBy
YW5nZShuZXdsZW4pOgorICAgICAgZm9yIGJvcmluZ19jYWxsZXIgaW4gX0JPUklOR19DQUxMRVJT
OgorICAgICAgICBpZiByZS5tYXRjaCgiXiArZnVuOiVzJCIgJSBib3JpbmdfY2FsbGVyLCBzdXBw
bGluZXNbZnJhbWVub10pOgorICAgICAgICAgIG5ld2xlbiA9IGZyYW1lbm8KKyAgICAgICAgICBl
bm91Z2hfZnJhbWVzID0gVHJ1ZQorICAgICAgICAgIGJyZWFrCisgICAgICBpZiBlbm91Z2hfZnJh
bWVzOgorICAgICAgICBicmVhaworICAgIGlmIChsZW4oc3VwcGxpbmVzKSA+IG5ld2xlbik6Cisg
ICAgICBzdXBwbGluZXMgPSBzdXBwbGluZXNbMDpuZXdsZW5dCisgICAgICBzdXBwbGluZXMuYXBw
ZW5kKCJ9IikKKworICAgIGZvciBmcmFtZSBpbiByYW5nZShsZW4oc3VwcGxpbmVzKSk6CisgICAg
ICAjIFJlcGxhY2UgdGhlIGFsd2F5cy1jaGFuZ2luZyBhbm9ueW1vdXMgbmFtZXNwYWNlIHByZWZp
eCB3aXRoICIqIi4KKyAgICAgIG0gPSByZS5tYXRjaCgiKCArZnVuOilfWk4uKl9HTE9CQUxfX05f
LipcLmNjXyIgKworICAgICAgICAgICAgICAgICAgICJbMC05YS1mQS1GXXs4fV9bMC05YS1mQS1G
XXs4fSguKikiLAorICAgICAgICAgICAgICAgICAgIHN1cHBsaW5lc1tmcmFtZV0pCisgICAgICBp
ZiBtOgorICAgICAgICBzdXBwbGluZXNbZnJhbWVdID0gIioiLmpvaW4obS5ncm91cHMoKSkKKwor
ICAgIG91dHB1dCArPSAiXG4iLmpvaW4oc3VwcGxpbmVzKSArICJcbiIKKworICAgIHJldHVybiBv
dXRwdXQKKworICBkZWYgVW5pcXVlU3RyaW5nKHNlbGYpOgorICAgICcnJyBTdHJpbmcgdG8gdXNl
IGZvciBvYmplY3QgaWRlbnRpdHkuIERvbid0IHByaW50IHRoaXMsIHVzZSBzdHIob2JqKQorICAg
IGluc3RlYWQuJycnCisgICAgcmVwID0gc2VsZi5fa2luZCArICIgIgorICAgIGZvciBiYWNrdHJh
Y2UgaW4gc2VsZi5fYmFja3RyYWNlczoKKyAgICAgIGZvciBmcmFtZSBpbiBiYWNrdHJhY2VbMV06
CisgICAgICAgIHJlcCArPSBmcmFtZVtGVU5DVElPTl9OQU1FXQorCisgICAgICAgIGlmIGZyYW1l
W1NSQ19GSUxFX0RJUl0gIT0gIiI6CisgICAgICAgICAgcmVwICs9IGZyYW1lW1NSQ19GSUxFX0RJ
Ul0gKyAiLyIgKyBmcmFtZVtTUkNfRklMRV9OQU1FXQorICAgICAgICBlbHNlOgorICAgICAgICAg
IHJlcCArPSBmcmFtZVtPQkpFQ1RfRklMRV0KKworICAgIHJldHVybiByZXAKKworICAjIFRoaXMg
aXMgYSBkZXZpY2UtaW5kZXBlbmRlbnQgaGFzaCBpZGVudGlmeWluZyB0aGUgc3VwcHJlc3Npb24u
CisgICMgQnkgcHJpbnRpbmcgb3V0IHRoaXMgaGFzaCB3ZSBjYW4gZmluZCBkdXBsaWNhdGUgcmVw
b3J0cyBiZXR3ZWVuIHRlc3RzIGFuZAorICAjIGRpZmZlcmVudCBzaGFyZHMgcnVubmluZyBvbiBt
dWx0aXBsZSBidWlsZGJvdHMKKyAgZGVmIEVycm9ySGFzaChzZWxmKToKKyAgICByZXR1cm4gaW50
KGhhc2hsaWIubWQ1KHNlbGYuVW5pcXVlU3RyaW5nKCkpLmhleGRpZ2VzdCgpWzoxNl0sIDE2KQor
CisgIGRlZiBfX2hhc2hfXyhzZWxmKToKKyAgICByZXR1cm4gaGFzaChzZWxmLlVuaXF1ZVN0cmlu
ZygpKQorICBkZWYgX19lcV9fKHNlbGYsIHJocyk6CisgICAgcmV0dXJuIHNlbGYuVW5pcXVlU3Ry
aW5nKCkgPT0gcmhzCisKK2RlZiBsb2dfaXNfZmluaXNoZWQoZiwgZm9yY2VfZmluaXNoKToKKyAg
Zi5zZWVrKDApCisgIHByZXZfbGluZSA9ICIiCisgIHdoaWxlIFRydWU6CisgICAgbGluZSA9IGYu
cmVhZGxpbmUoKQorICAgIGlmIGxpbmUgPT0gIiI6CisgICAgICBpZiBub3QgZm9yY2VfZmluaXNo
OgorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICMgT2theSwgdGhlIGxvZyBpcyBub3QgZmlu
aXNoZWQgYnV0IHdlIGNhbiBtYWtlIGl0IHVwIHRvIGJlIHBhcnNlYWJsZToKKyAgICAgIGlmIHBy
ZXZfbGluZS5zdHJpcCgpIGluIFsiPC9lcnJvcj4iLCAiPC9lcnJvcmNvdW50cz4iLCAiPC9zdGF0
dXM+Il06CisgICAgICAgIGYud3JpdGUoIjwvdmFsZ3JpbmRvdXRwdXQ+XG4iKQorICAgICAgICBy
ZXR1cm4gVHJ1ZQorICAgICAgcmV0dXJuIEZhbHNlCisgICAgaWYgJzwvdmFsZ3JpbmRvdXRwdXQ+
JyBpbiBsaW5lOgorICAgICAgIyBWYWxncmluZCBvZnRlbiBoYXMgZ2FyYmFnZSBhZnRlciA8L3Zh
bGdyaW5kb3V0cHV0PiB1cG9uIGNyYXNoLgorICAgICAgZi50cnVuY2F0ZSgpCisgICAgICByZXR1
cm4gVHJ1ZQorICAgIHByZXZfbGluZSA9IGxpbmUKKworY2xhc3MgTWVtY2hlY2tBbmFseXplcjoK
KyAgJycnIEdpdmVuIGEgc2V0IG9mIFZhbGdyaW5kIFhNTCBmaWxlcywgcGFyc2UgYWxsIHRoZSBl
cnJvcnMgb3V0IG9mIHRoZW0sCisgIHVuaXF1ZSB0aGVtIGFuZCBvdXRwdXQgdGhlIHJlc3VsdHMu
JycnCisKKyAgU0FOSVRZX1RFU1RfU1VQUFJFU1NJT05TID0geworICAgICAgIk1lbWNoZWNrIHNh
bml0eSB0ZXN0IDAxIChtZW1vcnkgbGVhaykuIjogMSwKKyAgICAgICJNZW1jaGVjayBzYW5pdHkg
dGVzdCAwMiAobWFsbG9jL3JlYWQgbGVmdCkuIjogMSwKKyAgICAgICJNZW1jaGVjayBzYW5pdHkg
dGVzdCAwMyAobWFsbG9jL3JlYWQgcmlnaHQpLiI6IDEsCisgICAgICAiTWVtY2hlY2sgc2FuaXR5
IHRlc3QgMDQgKG1hbGxvYy93cml0ZSBsZWZ0KS4iOiAxLAorICAgICAgIk1lbWNoZWNrIHNhbml0
eSB0ZXN0IDA1IChtYWxsb2Mvd3JpdGUgcmlnaHQpLiI6IDEsCisgICAgICAiTWVtY2hlY2sgc2Fu
aXR5IHRlc3QgMDYgKG5ldy9yZWFkIGxlZnQpLiI6IDEsCisgICAgICAiTWVtY2hlY2sgc2FuaXR5
IHRlc3QgMDcgKG5ldy9yZWFkIHJpZ2h0KS4iOiAxLAorICAgICAgIk1lbWNoZWNrIHNhbml0eSB0
ZXN0IDA4IChuZXcvd3JpdGUgbGVmdCkuIjogMSwKKyAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVz
dCAwOSAobmV3L3dyaXRlIHJpZ2h0KS4iOiAxLAorICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0
IDEwICh3cml0ZSBhZnRlciBmcmVlKS4iOiAxLAorICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0
IDExICh3cml0ZSBhZnRlciBkZWxldGUpLiI6IDEsCisgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRl
c3QgMTIgKGFycmF5IGRlbGV0ZWQgd2l0aG91dCBbXSkuIjogMSwKKyAgICAgICJNZW1jaGVjayBz
YW5pdHkgdGVzdCAxMyAoc2luZ2xlIGVsZW1lbnQgZGVsZXRlZCB3aXRoIFtdKS4iOiAxLAorICAg
ICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDE0IChtYWxsb2MvcmVhZCB1bmluaXQpLiI6IDEsCisg
ICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTUgKG5ldy9yZWFkIHVuaW5pdCkuIjogMSwKKyAg
fQorCisgICMgTWF4IHRpbWUgdG8gd2FpdCBmb3IgbWVtY2hlY2sgbG9ncyB0byBjb21wbGV0ZS4K
KyAgTE9HX0NPTVBMRVRJT05fVElNRU9VVCA9IDE4MC4wCisKKyAgZGVmIF9faW5pdF9fKHNlbGYs
IHNvdXJjZV9kaXIsIHNob3dfYWxsX2xlYWtzPUZhbHNlLCB1c2VfZ2RiPUZhbHNlKToKKyAgICAn
JydDcmVhdGUgYSBwYXJzZXIgZm9yIE1lbWNoZWNrIGxvZ3MuCisKKyAgICBBcmdzOgorICAgICAg
c291cmNlX2RpcjogUGF0aCB0byB0b3Agb2Ygc291cmNlIHRyZWUgZm9yIHRoaXMgYnVpbGQKKyAg
ICAgIHNob3dfYWxsX2xlYWtzOiBXaGV0aGVyIHRvIHNob3cgZXZlbiBsZXNzIGltcG9ydGFudCBs
ZWFrcworICAgICAgdXNlX2dkYjogV2hldGhlciB0byB1c2UgZ2RiIHRvIHJlc29sdmUgc291cmNl
IGZpbGVuYW1lcyBhbmQgbGluZSBudW1iZXJzCisgICAgICAgICAgICAgICBpbiB0aGUgcmVwb3J0
IHN0YWNrdHJhY2VzCisgICAgJycnCisgICAgc2VsZi5fc291cmNlX2RpciA9IHNvdXJjZV9kaXIK
KyAgICBzZWxmLl9zaG93X2FsbF9sZWFrcyA9IHNob3dfYWxsX2xlYWtzCisgICAgc2VsZi5fdXNl
X2dkYiA9IHVzZV9nZGIKKworICAgICMgQ29udGFpbnMgdGhlIHNldCBvZiB1bmlxdWUgZXJyb3Jz
CisgICAgc2VsZi5fZXJyb3JzID0gc2V0KCkKKworICAgICMgQ29udGFpbnMgdGhlIHRpbWUgd2hl
biB0aGUgd2Ugc3RhcnRlZCBhbmFseXppbmcgdGhlIGZpcnN0IGxvZyBmaWxlLgorICAgICMgVGhp
cyB2YXJpYWJsZSBpcyB1c2VkIHRvIHNraXAgaW5jb21wbGV0ZSBsb2dzIGFmdGVyIHNvbWUgdGlt
ZW91dC4KKyAgICBzZWxmLl9hbmFseXplX3N0YXJ0X3RpbWUgPSBOb25lCisKKworICBkZWYgUmVw
b3J0KHNlbGYsIGZpbGVzLCB0ZXN0Y2FzZSwgY2hlY2tfc2FuaXR5PUZhbHNlKToKKyAgICAnJydS
ZWFkcyBpbiBhIHNldCBvZiBmaWxlcyBhbmQgcHJpbnRzIE1lbWNoZWNrIHJlcG9ydC4KKworICAg
IEFyZ3M6CisgICAgICBmaWxlczogQSBsaXN0IG9mIGZpbGVuYW1lcy4KKyAgICAgIGNoZWNrX3Nh
bml0eTogaWYgdHJ1ZSwgc2VhcmNoIGZvciBTQU5JVFlfVEVTVF9TVVBQUkVTU0lPTlMKKyAgICAn
JycKKyAgICAjIEJleW9uZCB0aGUgZGV0YWlsZWQgZXJyb3JzIHBhcnNlZCBieSBWYWxncmluZEVy
cm9yIGFib3ZlLAorICAgICMgdGhlIHhtbCBmaWxlIGNvbnRhaW4gcmVjb3JkcyBkZXNjcmliaW5n
IHN1cHByZXNzaW9ucyB0aGF0IHdlcmUgdXNlZDoKKyAgICAjIDxzdXBwY291bnRzPgorICAgICMg
IDxwYWlyPgorICAgICMgICAgPGNvdW50PjI4PC9jb3VudD4KKyAgICAjICAgIDxuYW1lPnBhbmdv
X2ZvbnRfbGVha190b2RvPC9uYW1lPgorICAgICMgIDwvcGFpcj4KKyAgICAjICA8cGFpcj4KKyAg
ICAjICAgIDxjb3VudD4zNzg8L2NvdW50PgorICAgICMgICAgPG5hbWU+YnVnXzEzMjQzPC9uYW1l
PgorICAgICMgIDwvcGFpcj4KKyAgICAjIDwvc3VwcGNvdW50cworICAgICMgQ29sbGVjdCB0aGVz
ZSBhbmQgcHJpbnQgdGhlbSBhdCB0aGUgZW5kLgorICAgICMKKyAgICAjIFdpdGggb3VyIHBhdGNo
IGZvciBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDAwIGluLAorICAg
ICMgdGhlIGZpbGUgYWxzbyBpbmNsdWRlcyByZWNvcmRzIG9mIHRoZSBmb3JtCisgICAgIyA8bG9h
ZF9vYmo+PG9iaj4vdXNyL2xpYi9saWJnY2Nfcy4xLmR5bGliPC9vYmo+PGlwPjB4MjcwMDA8L2lw
PjwvbG9hZF9vYmo+CisgICAgIyBnaXZpbmcgdGhlIGZpbGVuYW1lIGFuZCBsb2FkIGFkZHJlc3Mg
b2YgZWFjaCBiaW5hcnkgdGhhdCB3YXMgbWFwcGVkCisgICAgIyBpbnRvIHRoZSBwcm9jZXNzLgor
CisgICAgZ2xvYmFsIFRoZUFkZHJlc3NUYWJsZQorICAgIGlmIHNlbGYuX3VzZV9nZGI6CisgICAg
ICBUaGVBZGRyZXNzVGFibGUgPSBnZGJfaGVscGVyLkFkZHJlc3NUYWJsZSgpCisgICAgZWxzZToK
KyAgICAgIFRoZUFkZHJlc3NUYWJsZSA9IE5vbmUKKyAgICBjdXJfcmVwb3J0X2Vycm9ycyA9IHNl
dCgpCisgICAgc3VwcGNvdW50cyA9IGRlZmF1bHRkaWN0KGludCkKKyAgICBiYWRmaWxlcyA9IHNl
dCgpCisKKyAgICBpZiBzZWxmLl9hbmFseXplX3N0YXJ0X3RpbWUgPT0gTm9uZToKKyAgICAgIHNl
bGYuX2FuYWx5emVfc3RhcnRfdGltZSA9IHRpbWUudGltZSgpCisgICAgc3RhcnRfdGltZSA9IHNl
bGYuX2FuYWx5emVfc3RhcnRfdGltZQorCisgICAgcGFyc2VfZmFpbGVkID0gRmFsc2UKKyAgICBm
b3IgZmlsZSBpbiBmaWxlczoKKyAgICAgICMgV2FpdCB1cCB0byB0aHJlZSBtaW51dGVzIGZvciB2
YWxncmluZCB0byBmaW5pc2ggd3JpdGluZyBhbGwgZmlsZXMsCisgICAgICAjIGJ1dCBhZnRlciB0
aGF0LCBqdXN0IHNraXAgaW5jb21wbGV0ZSBmaWxlcyBhbmQgd2Fybi4KKyAgICAgIGYgPSBvcGVu
KGZpbGUsICJyKyIpCisgICAgICBwaWQgPSByZS5tYXRjaCgiLipcLihbMC05XSspJCIsIGZpbGUp
CisgICAgICBpZiBwaWQ6CisgICAgICAgIHBpZCA9IHBpZC5ncm91cHMoKVswXQorICAgICAgZm91
bmQgPSBGYWxzZQorICAgICAgcnVubmluZyA9IFRydWUKKyAgICAgIGZpcnN0cnVuID0gVHJ1ZQor
ICAgICAgc2tpcCA9IEZhbHNlCisgICAgICBvcmlnc2l6ZSA9IG9zLnBhdGguZ2V0c2l6ZShmaWxl
KQorICAgICAgd2hpbGUgKHJ1bm5pbmcgYW5kIG5vdCBmb3VuZCBhbmQgbm90IHNraXAgYW5kCisg
ICAgICAgICAgICAgKGZpcnN0cnVuIG9yCisgICAgICAgICAgICAgICgodGltZS50aW1lKCkgLSBz
dGFydF90aW1lKSA8IHNlbGYuTE9HX0NPTVBMRVRJT05fVElNRU9VVCkpKToKKyAgICAgICAgZmly
c3RydW4gPSBGYWxzZQorICAgICAgICBmLnNlZWsoMCkKKyAgICAgICAgaWYgcGlkOgorICAgICAg
ICAgICMgTWFrZSBzdXJlIHRoZSBwcm9jZXNzIGlzIHN0aWxsIHJ1bm5pbmcgc28gd2UgZG9uJ3Qg
d2FpdCBmb3IKKyAgICAgICAgICAjIDMgbWludXRlcyBpZiBpdCB3YXMga2lsbGVkLiBTZWUgaHR0
cDovL2NyYnVnLmNvbS8xNzQ1MworICAgICAgICAgIHBzX291dCA9IHN1YnByb2Nlc3MuUG9wZW4o
InBzIHAgJXMiICUgcGlkLCBzaGVsbD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkuc3Rkb3V0CisgICAgICAgICAgaWYgbGVu
KHBzX291dC5yZWFkbGluZXMoKSkgPCAyOgorICAgICAgICAgICAgcnVubmluZyA9IEZhbHNlCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgc2tpcCA9IFRydWUKKyAgICAgICAgICBydW5uaW5nID0g
RmFsc2UKKyAgICAgICAgZm91bmQgPSBsb2dfaXNfZmluaXNoZWQoZiwgRmFsc2UpCisgICAgICAg
IGlmIG5vdCBydW5uaW5nIGFuZCBub3QgZm91bmQ6CisgICAgICAgICAgbG9nZ2luZy53YXJuKCJW
YWxncmluZCBwcm9jZXNzIFBJRCA9ICVzIGlzIG5vdCBydW5uaW5nIGJ1dCBpdHMgIgorICAgICAg
ICAgICAgICAgICAgICAgICAiWE1MIGxvZyBoYXMgbm90IGJlZW4gZmluaXNoZWQgY29ycmVjdGx5
LlxuIgorICAgICAgICAgICAgICAgICAgICAgICAiTWFrZSBpdCB1cCBieSBhZGRpbmcgc29tZSBj
bG9zaW5nIHRhZ3MgbWFudWFsbHkuIiAlIHBpZCkKKyAgICAgICAgICBmb3VuZCA9IGxvZ19pc19m
aW5pc2hlZChmLCBub3QgcnVubmluZykKKyAgICAgICAgaWYgcnVubmluZyBhbmQgbm90IGZvdW5k
OgorICAgICAgICAgIHRpbWUuc2xlZXAoMSkKKyAgICAgIGYuY2xvc2UoKQorICAgICAgaWYgbm90
IGZvdW5kOgorICAgICAgICBiYWRmaWxlcy5hZGQoZmlsZSkKKyAgICAgIGVsc2U6CisgICAgICAg
IG5ld3NpemUgPSBvcy5wYXRoLmdldHNpemUoZmlsZSkKKyAgICAgICAgaWYgb3JpZ3NpemUgPiBu
ZXdzaXplKzE6CisgICAgICAgICAgbG9nZ2luZy53YXJuKHN0cihvcmlnc2l6ZSAtIG5ld3NpemUp
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgIiBieXRlcyBvZiBqdW5rIHdlcmUgYWZ0ZXIgPC92
YWxncmluZG91dHB1dD4gaW4gJXMhIiAlCisgICAgICAgICAgICAgICAgICAgICAgIGZpbGUpCisg
ICAgICAgIHRyeToKKyAgICAgICAgICBwYXJzZWRfZmlsZSA9IHBhcnNlKGZpbGUpOworICAgICAg
ICBleGNlcHQgRXhwYXRFcnJvciwgZToKKyAgICAgICAgICBwYXJzZV9mYWlsZWQgPSBUcnVlCisg
ICAgICAgICAgbG9nZ2luZy53YXJuKCJjb3VsZCBub3QgcGFyc2UgJXM6ICVzIiAlIChmaWxlLCBl
KSkKKyAgICAgICAgICBsaW5lbm8gPSBlLmxpbmVubyAtIDEKKyAgICAgICAgICBjb250ZXh0X2xp
bmVzID0gNQorICAgICAgICAgIGNvbnRleHRfc3RhcnQgPSBtYXgoMCwgbGluZW5vIC0gY29udGV4
dF9saW5lcykKKyAgICAgICAgICBjb250ZXh0X2VuZCA9IGxpbmVubyArIGNvbnRleHRfbGluZXMg
KyAxCisgICAgICAgICAgY29udGV4dF9maWxlID0gb3BlbihmaWxlLCAiciIpCisgICAgICAgICAg
Zm9yIGkgaW4gcmFuZ2UoMCwgY29udGV4dF9zdGFydCk6CisgICAgICAgICAgICBjb250ZXh0X2Zp
bGUucmVhZGxpbmUoKQorICAgICAgICAgIGZvciBpIGluIHJhbmdlKGNvbnRleHRfc3RhcnQsIGNv
bnRleHRfZW5kKToKKyAgICAgICAgICAgIGNvbnRleHRfZGF0YSA9IGNvbnRleHRfZmlsZS5yZWFk
bGluZSgpLnJzdHJpcCgpCisgICAgICAgICAgICBpZiBpICE9IGxpbmVubzoKKyAgICAgICAgICAg
ICAgbG9nZ2luZy53YXJuKCIgICVzIiAlIGNvbnRleHRfZGF0YSkKKyAgICAgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAgIGxvZ2dpbmcud2FybigiPiAlcyIgJSBjb250ZXh0X2RhdGEpCisgICAg
ICAgICAgY29udGV4dF9maWxlLmNsb3NlKCkKKyAgICAgICAgICBjb250aW51ZQorICAgICAgICBp
ZiBUaGVBZGRyZXNzVGFibGUgIT0gTm9uZToKKyAgICAgICAgICBsb2FkX29ianMgPSBwYXJzZWRf
ZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgibG9hZF9vYmoiKQorICAgICAgICAgIGZvciBsb2Fk
X29iaiBpbiBsb2FkX29ianM6CisgICAgICAgICAgICBvYmogPSBnZXRUZXh0T2YobG9hZF9vYmos
ICJvYmoiKQorICAgICAgICAgICAgaXAgPSBnZXRUZXh0T2YobG9hZF9vYmosICJpcCIpCisgICAg
ICAgICAgICBUaGVBZGRyZXNzVGFibGUuQWRkQmluYXJ5QXQob2JqLCBpcCkKKworICAgICAgICBj
b21tYW5kbGluZSA9IE5vbmUKKyAgICAgICAgcHJlYW1ibGUgPSBwYXJzZWRfZmlsZS5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgicHJlYW1ibGUiKVswXTsKKyAgICAgICAgZm9yIG5vZGUgaW4gcHJlYW1i
bGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmUiKToKKyAgICAgICAgICBpZiBub2RlLmxvY2Fs
TmFtZSA9PSAibGluZSI6CisgICAgICAgICAgICBmb3IgeCBpbiBub2RlLmNoaWxkTm9kZXM6Cisg
ICAgICAgICAgICAgIGlmIHgubm9kZVR5cGUgPT0gbm9kZS5URVhUX05PREUgYW5kICJDb21tYW5k
IiBpbiB4LmRhdGE6CisgICAgICAgICAgICAgICAgY29tbWFuZGxpbmUgPSB4LmRhdGEKKyAgICAg
ICAgICAgICAgICBicmVhaworCisgICAgICAgIHJhd19lcnJvcnMgPSBwYXJzZWRfZmlsZS5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiZXJyb3IiKQorICAgICAgICBmb3IgcmF3X2Vycm9yIGluIHJhd19l
cnJvcnM6CisgICAgICAgICAgIyBJZ25vcmUgInBvc3NpYmxlIiBsZWFrcyBmb3Igbm93IGJ5IGRl
ZmF1bHQuCisgICAgICAgICAgaWYgKHNlbGYuX3Nob3dfYWxsX2xlYWtzIG9yCisgICAgICAgICAg
ICAgIGdldFRleHRPZihyYXdfZXJyb3IsICJraW5kIikgIT0gIkxlYWtfUG9zc2libHlMb3N0Iik6
CisgICAgICAgICAgICBlcnJvciA9IFZhbGdyaW5kRXJyb3Ioc2VsZi5fc291cmNlX2RpciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXdfZXJyb3IsIGNvbW1hbmRsaW5lLCB0
ZXN0Y2FzZSkKKyAgICAgICAgICAgIGlmIGVycm9yIG5vdCBpbiBjdXJfcmVwb3J0X2Vycm9yczoK
KyAgICAgICAgICAgICAgIyBXZSBoYXZlbid0IHNlZW4gc3VjaCBlcnJvcnMgZG9pbmcgdGhpcyBy
ZXBvcnQgeWV0Li4uCisgICAgICAgICAgICAgIGlmIGVycm9yIGluIHNlbGYuX2Vycm9yczoKKyAg
ICAgICAgICAgICAgICAjIC4uLiBidXQgd2Ugc2F3IGl0IGluIGVhcmxpZXIgcmVwb3J0cywgZS5n
LiBwcmV2aW91cyBVSSB0ZXN0CisgICAgICAgICAgICAgICAgY3VyX3JlcG9ydF9lcnJvcnMuYWRk
KCJUaGlzIGVycm9yIHdhcyBhbHJlYWR5IHByaW50ZWQgaW4gIgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAic29tZSBvdGhlciB0ZXN0LCBzZWUgJ2hhc2g9IyUwMTZYIyci
ICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci5FcnJvckhh
c2goKSkKKyAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIC4uLiBhbmQgd2Ug
aGF2ZW4ndCBzZWVuIGl0IGluIG90aGVyIHRlc3RzIGFzIHdlbGwKKyAgICAgICAgICAgICAgICBz
ZWxmLl9lcnJvcnMuYWRkKGVycm9yKQorICAgICAgICAgICAgICAgIGN1cl9yZXBvcnRfZXJyb3Jz
LmFkZChlcnJvcikKKworICAgICAgICBzdXBwY291bnRsaXN0ID0gcGFyc2VkX2ZpbGUuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoInN1cHBjb3VudHMiKQorICAgICAgICBpZiBsZW4oc3VwcGNvdW50bGlz
dCkgPiAwOgorICAgICAgICAgIHN1cHBjb3VudGxpc3QgPSBzdXBwY291bnRsaXN0WzBdCisgICAg
ICAgICAgZm9yIG5vZGUgaW4gc3VwcGNvdW50bGlzdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicGFp
ciIpOgorICAgICAgICAgICAgY291bnQgPSBnZXRUZXh0T2Yobm9kZSwgImNvdW50Iik7CisgICAg
ICAgICAgICBuYW1lID0gZ2V0VGV4dE9mKG5vZGUsICJuYW1lIik7CisgICAgICAgICAgICBzdXBw
Y291bnRzW25hbWVdICs9IGludChjb3VudCkKKworICAgIGlmIGxlbihiYWRmaWxlcykgPiAwOgor
ICAgICAgbG9nZ2luZy53YXJuKCJ2YWxncmluZCBkaWRuJ3QgZmluaXNoIHdyaXRpbmcgJWQgZmls
ZXM/ISIgJSBsZW4oYmFkZmlsZXMpKQorICAgICAgZm9yIGZpbGUgaW4gYmFkZmlsZXM6CisgICAg
ICAgIGxvZ2dpbmcud2FybigiTGFzdCAyMCBsaW5lcyBvZiAlcyA6IiAlIGZpbGUpCisgICAgICAg
IG9zLnN5c3RlbSgidGFpbCAtbiAyMCAnJXMnIDE+JjIiICUgZmlsZSkKKworICAgIGlmIHBhcnNl
X2ZhaWxlZDoKKyAgICAgIGxvZ2dpbmcuZXJyb3IoIkZBSUwhIENvdWxkbid0IHBhcnNlIFZhbGdy
aW5kIG91dHB1dCBmaWxlIikKKyAgICAgIHJldHVybiAtMgorCisgICAgY29tbW9uLlByaW50VXNl
ZFN1cHByZXNzaW9uc0xpc3Qoc3VwcGNvdW50cykKKworICAgIHJldGNvZGUgPSAwCisgICAgaWYg
Y3VyX3JlcG9ydF9lcnJvcnM6CisgICAgICBsb2dnaW5nLmVycm9yKCJGQUlMISBUaGVyZSB3ZXJl
ICVzIGVycm9yczogIiAlIGxlbihjdXJfcmVwb3J0X2Vycm9ycykpCisKKyAgICAgIGlmIFRoZUFk
ZHJlc3NUYWJsZSAhPSBOb25lOgorICAgICAgICBUaGVBZGRyZXNzVGFibGUuUmVzb2x2ZUFsbCgp
CisKKyAgICAgIGZvciBlcnJvciBpbiBjdXJfcmVwb3J0X2Vycm9yczoKKyAgICAgICAgbG9nZ2lu
Zy5lcnJvcihlcnJvcikKKworICAgICAgcmV0Y29kZSA9IC0xCisKKyAgICAjIFJlcG9ydCB0b29s
J3MgaW5zYW5pdHkgZXZlbiBpZiB0aGVyZSB3ZXJlIGVycm9ycy4KKyAgICBpZiBjaGVja19zYW5p
dHk6CisgICAgICByZW1haW5pbmdfc2FuaXR5X3N1cHAgPSBNZW1jaGVja0FuYWx5emVyLlNBTklU
WV9URVNUX1NVUFBSRVNTSU9OUworICAgICAgZm9yIChuYW1lLCBjb3VudCkgaW4gc3VwcGNvdW50
cy5pdGVyaXRlbXMoKToKKyAgICAgICAgaWYgKG5hbWUgaW4gcmVtYWluaW5nX3Nhbml0eV9zdXBw
IGFuZAorICAgICAgICAgICAgcmVtYWluaW5nX3Nhbml0eV9zdXBwW25hbWVdID09IGNvdW50KToK
KyAgICAgICAgICBkZWwgcmVtYWluaW5nX3Nhbml0eV9zdXBwW25hbWVdCisgICAgICBpZiByZW1h
aW5pbmdfc2FuaXR5X3N1cHA6CisgICAgICAgIGxvZ2dpbmcuZXJyb3IoIkZBSUwhIFNhbml0eSBj
aGVjayBmYWlsZWQhIikKKyAgICAgICAgbG9nZ2luZy5pbmZvKCJUaGUgZm9sbG93aW5nIHRlc3Qg
ZXJyb3JzIHdlcmUgbm90IGhhbmRsZWQ6ICIpCisgICAgICAgIGZvciAobmFtZSwgY291bnQpIGlu
IHJlbWFpbmluZ19zYW5pdHlfc3VwcC5pdGVyaXRlbXMoKToKKyAgICAgICAgICBsb2dnaW5nLmlu
Zm8oIiAgKiAlZHggJXMiICUgKGNvdW50LCBuYW1lKSkKKyAgICAgICAgcmV0Y29kZSA9IC0zCisK
KyAgICBpZiByZXRjb2RlICE9IDA6CisgICAgICByZXR1cm4gcmV0Y29kZQorCisgICAgbG9nZ2lu
Zy5pbmZvKCJQQVNTISBObyBlcnJvcnMgZm91bmQhIikKKyAgICByZXR1cm4gMAorCisKK2RlZiBf
bWFpbigpOgorICAnJydGb3IgdGVzdGluZyBvbmx5LiBUaGUgTWVtY2hlY2tBbmFseXplciBjbGFz
cyBzaG91bGQgYmUgaW1wb3J0ZWQgaW5zdGVhZC4nJycKKyAgcGFyc2VyID0gb3B0cGFyc2UuT3B0
aW9uUGFyc2VyKCJ1c2FnZTogJXByb2cgW29wdGlvbnNdIDxmaWxlcyB0byBhbmFseXplPiIpCisg
IHBhcnNlci5hZGRfb3B0aW9uKCIiLCAiLS1zb3VyY2VfZGlyIiwKKyAgICAgICAgICAgICAgICAg
ICAgaGVscD0icGF0aCB0byB0b3Agb2Ygc291cmNlIHRyZWUgZm9yIHRoaXMgYnVpbGQiCisgICAg
ICAgICAgICAgICAgICAgICIodXNlZCB0byBub3JtYWxpemUgc291cmNlIHBhdGhzIGluIGJhc2Vs
aW5lKSIpCisKKyAgKG9wdGlvbnMsIGFyZ3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICBpZiBs
ZW4oYXJncykgPT0gMDoKKyAgICBwYXJzZXIuZXJyb3IoIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIp
CisgIGZpbGVuYW1lcyA9IGFyZ3MKKworICBhbmFseXplciA9IE1lbWNoZWNrQW5hbHl6ZXIob3B0
aW9ucy5zb3VyY2VfZGlyLCB1c2VfZ2RiPVRydWUpCisgIHJldHVybiBhbmFseXplci5SZXBvcnQo
ZmlsZW5hbWVzLCBOb25lKQorCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgIHN5cy5l
eGl0KF9tYWluKCkpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5CmluZGV4IDdjZTFlMDZhNjA2ZTZmMmQx
MjZlOTRjYWMzYTllYTY1NTk1YjkwOWYuLmMwOWY2YmZmMzcyMGQ0NDVmZDBhZWQ5NzY2MjNlM2Q2
YTRiMDQ5OTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJf
cHJvY2Vzcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nl
c3MucHkKQEAgLTMzMCw5ICszMzAsOCBAQCBjbGFzcyBTZXJ2ZXJQcm9jZXNzKG9iamVjdCk6CiAg
ICAgICAgIGlmIG5vdCBzZWxmLl9wcm9jOgogICAgICAgICAgICAgcmV0dXJuIChOb25lLCBOb25l
KQogCi0gICAgICAgICMgT25seSBib3RoZXIgdG8gY2hlY2sgZm9yIGxlYWtzIG9yIHN0ZGVyciBp
ZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBydW5uaW5nLgotICAgICAgICBpZiBzZWxmLnBvbGwoKSBp
cyBOb25lOgotICAgICAgICAgICAgc2VsZi5fcG9ydC5jaGVja19mb3JfbGVha3Moc2VsZi5uYW1l
KCksIHNlbGYucGlkKCkpCisgICAgICAgIGlzX3J1bm5pbmcgPSBzZWxmLnBvbGwoKSBpcyBOb25l
CisgICAgICAgIHNlbGYuX3BvcnQuY2hlY2tfZm9yX2xlYWtzKHNlbGYubmFtZSgpLCBzZWxmLnBp
ZCgpLCBpc19ydW5uaW5nKQogCiAgICAgICAgIG5vdyA9IHRpbWUudGltZSgpCiAgICAgICAgIGlm
IHNlbGYuX3Byb2Muc3RkaW46CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkKaW5kZXggNWFkN2QwZWE3ZTY1ZjQxZTVmZGM2
YmVkYjMxYWM2MWFmMjZjOGY0MS4uYjIzNmU0ZDIwZWMxYTgwMDFhYmQzODRmY2I1OGRkZjVmOTJj
NTk5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9j
ZXNzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJf
cHJvY2Vzc191bml0dGVzdC5weQpAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBUcml2aWFsTW9ja1Bv
cnQob2JqZWN0KToKICAgICBkZWYgcmVzdWx0c19kaXJlY3Rvcnkoc2VsZik6CiAgICAgICAgIHJl
dHVybiAiL21vY2stcmVzdWx0cyIKIAotICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJv
Y2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6CisgICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBw
cm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBpc19ydW5uaW5nKToKICAgICAgICAgcGFzcwogCiAg
ICAgZGVmIHByb2Nlc3Nfa2lsbF90aW1lKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvdmFsZ3Jp
bmQvbWVtY2hlY2svc3VwcHJlc3Npb25zLnR4dCBiL1Rvb2xzL3ZhbGdyaW5kL21lbWNoZWNrL3N1
cHByZXNzaW9ucy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTMwMmNhZDA2NTRmOGQxM2U2NDRkMWQ0ODY3Mjlk
NDI2NzY3YTRiYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL3ZhbGdyaW5kL21lbWNoZWNrL3N1
cHByZXNzaW9ucy50eHQKQEAgLTAsMCArMSw0Nzk0IEBACisjIFRoZXJlIGFyZSBmb3VyIGtpbmRz
IG9mIHN1cHByZXNzaW9ucyBpbiB0aGlzIGZpbGUuCisjIDEuIHRoaXJkIHBhcnR5IHN0dWZmIHdl
IGhhdmUgbm8gY29udHJvbCBvdmVyCisjCisjIDIuIGludGVudGlvbmFsIHVuaXQgdGVzdCBlcnJv
cnMsIG9yIHN0dWZmIHRoYXQgaXMgc29tZWhvdyBhIGZhbHNlIHBvc2l0aXZlCisjIGluIG91ciBv
d24gY29kZSwgb3Igc3R1ZmYgdGhhdCBpcyBzbyB0cml2aWFsIGl0J3Mgbm90IHdvcnRoIGZpeGlu
ZworIworIyAzLiBTdXBwcmVzc2lvbnMgZm9yIHJlYWwgd2Via2l0IGJ1Z3MgdGhhdCBhcmUgbm90
IHlldCBmaXhlZC4KKyMgVGhlc2Ugc2hvdWxkIGFsbCBiZSBpbiB3ZWJraXQncyBidWcgdHJhY2tp
bmcgc3lzdGVtIChidXQgYSBmZXcgYXJlbid0IHlldCkuCisjIFBlcmlvZGljYWxseSB3ZSBzaG91
bGQgc3dlZXAgdGhpcyBmaWxlIGFuZCB0aGUgYnVnIHRyYWNrZXIgY2xlYW4gYnkKKyMgcnVubmlu
ZyBvdmVybmlnaHQgYW5kIHJlbW92aW5nIG91dGRhdGVkIGJ1Z3Mvc3VwcHJlc3Npb25zLgorIy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisKKyMgMS4gdGhpcmQgcGFydHkgc3R1ZmYgd2UgaGF2ZSBubyBjb250cm9s
IG92ZXIKK3sKKyAgICNndGsgZGV2ZWxvcGVycyBkb24ndCBsaWtlIGNsZWFuaW5nIHVwIG9uZS10
aW1lIGxlYWtzLiAgU2VlIGh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy9ndGstZGV2ZWwt
bGlzdC8yMDA0LUFwcmlsL21zZzAwMjMwLmh0bWwKKyAgIGd0a19pbml0X2NoZWNrIGxlYWsgKFRo
aXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46Z3RrX2luaXRfY2hl
Y2sKK30KK3sKKyAgIEZvbnRjb25maWcgbGVhaz8KKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOlhNTF9QYXJzZUJ1ZmZlcgorICAgZnVuOkZjQ29uZmlnUGFyc2VBbmRMb2FkCit9Cit7
CisgICBGY0NvbmZpZ0FwcEZvbnRBZGRGaWxlX2xlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4u
LgorICAgZnVuOkZjQ29uZmlnQXBwRm9udEFkZEZpbGUKK30KK3sKKyAgICMgU2VlIGFsc28gaHR0
cDovL3d3dy5nbm9tZS5vcmcvfmpvaGFuL2d0ay5zdXBwcmVzc2lvbgorICAgIyAod2hpY2ggaGFz
IGEgc21hdHRlcmluZyBvZiBzaW1pbGFyIHBhbmdvIHN1cHByZXNzaW9ucykKKyAgIHBhbmdvX2Zv
bnRfbGVha190b2RvCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5k
ZXJQcmVwYXJlCisgICBvYmo6KgorICAgZnVuOnBhbmdvX2ZvbnRfbWFwX2xvYWRfZm9udHNldAor
fQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fMgorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Om1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19zdHJkdXAKKyAgIGZ1bjpwYW5nb19z
Y3JpcHRfZ2V0X3NhbXBsZV9sYW5ndWFnZQorICAgLi4uCisgICBmdW46cGFuZ29fZm9udF9nZXRf
bWV0cmljcworfQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fMworICAgTWVtY2hlY2s6TGVh
aworICAgLi4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBmdW46cGFu
Z29faXRlbWl6ZV93aXRoX2Jhc2VfZGlyCit9Cit7CisgICBwYW5nb19mb250X2xlYWtfdG9kb180
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5kZXJQcmVwYXJlCisg
ICAuLi4KKyAgIGZ1bjpwYW5nb19vdF9idWZmZXJfb3V0cHV0Cit9Cit7CisgICBwYW5nb19mb250
X2xlYWtfdG9kb181CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0ZvbnRSZW5k
ZXJQcmVwYXJlCisgICAuLi4KKyAgIGZ1bjpwYW5nb19jb250ZXh0X2dldF9tZXRyaWNzCit9Cit7
CisgICBwYW5nb19mb250X2xlYWtfdG9kb182CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IGZ1bjpGY0RlZmF1bHRTdWJzdGl0dXRlCisgICAuLi4KKyAgIGZ1bjpwYW5nb19pdGVtaXplX3dp
dGhfYmFzZV9kaXIKK30KK3sKKyAgICMgU2ltaWxhciB0byBmb250Y29uZmlnX2J1Z184NDI4IGJl
bG93LiBSZXBvcnRlZCBpbgorICAgIyBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3df
YnVnLmNnaT9pZD04MjE1CisgICBmb250Y29uZmlnX2J1Z184MjE1CisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46bWFsbG9jCisgICBmdW46RmNQYXR0ZXJuT2JqZWN0SW5zZXJ0RWx0CisgICBmdW46
RmNQYXR0ZXJuT2JqZWN0QWRkV2l0aEJpbmRpbmcKK30KK3sKKyAgICMgRm9udGNvbmZpZyBsZWFr
LCBzZWVuIGluIHNoYXJkIDE2IG9mIDIwIG9mIHVpX3Rlc3RzCisgICAjIFNlZSBodHRwczovL2J1
Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD04NDI4CisgICAjIGFuZCBodHRwOi8v
d3d3Lmdub21lLm9yZy9+am9oYW4vZ3RrLnN1cHByZXNzaW9uCisgICBmb250Y29uZmlnX2J1Z184
NDI4CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpyZWFsbG9jCisgICBmdW46RmNQ
YXR0ZXJuT2JqZWN0SW5zZXJ0RWx0CisgICBmdW46RmNQYXR0ZXJuT2JqZWN0QWRkV2l0aEJpbmRp
bmcKK30KK3sKKyAgICMgQW5vdGhlciBwZXJtdXRhdGlvbiBvZiBwcmV2aW91cyBsZWFrLgorICAg
Zm9udGNvbmZpZ19idWdfODQyOF8yCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpy
ZWFsbG9jCisgICBmdW46RmNQYXR0ZXJuT2JqZWN0SW5zZXJ0RWx0CisgICBmdW46RmNQYXR0ZXJu
T2JqZWN0QWRkCit9Cit7CisgICBidWdfMTg1OTAgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6
TGVhaworICAgLi4uCisgICBmdW46bWFsbG9jCisgICBmdW46RmNDb25maWdWYWx1ZXMKKyAgIGZ1
bjpGY0NvbmZpZ1ZhbHVlcworICAgLi4uCisgICBmdW46RmNDb25maWdWYWx1ZXMKKyAgIGZ1bjpG
Y0NvbmZpZ1ZhbHVlcworfQoreworICAgYnVnXzE4NTkwYSAoVGhpcmQgUGFydHkpCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46RmNDb25maWdWYWx1ZXMKKyAgIGZ1bjpG
Y0NvbmZpZ1N1YnN0aXR1dGVXaXRoUGF0CisgICBmdW46KlNrRm9udENvbmZpZ0ludGVyZmFjZURp
cmVjdCptYXRjaCoKK30KK3sKKyAgIGJ1Z180NjE3N19hIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjQ2hhclNldE9wZXJhdGUKKyAgIGZ1bjpGY0ZvbnRT
ZXRTb3J0CisgICBmdW46RmNGb250U29ydAorICAgLi4uCisgICBmdW46cGFuZ29fbGF5b3V0X2dl
dF9waXhlbF9zaXplCit9Cit7CisgICBidWdfNDYxNzdfYiAoVGhpcmQgUGFydHkpCisgICBNZW1j
aGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0NoYXJTZXRGaW5kTGVhZkNyZWF0ZQorICAgZnVu
OkZjQ2hhclNldEFkZExlYWYKKyAgIGZ1bjpGY0NoYXJTZXRPcGVyYXRlCisgICBmdW46RmNGb250
U2V0U29ydAorICAgZnVuOkZjRm9udFNvcnQKKyAgIC4uLgorICAgZnVuOnBhbmdvX2xheW91dF9n
ZXRfaXRlcgorfQoreworICAgYnVnXzQ2MTc3X2MgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6
TGVhaworICAgLi4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAgIGZ1bjpGY0No
YXJTZXRBZGRMZWFmCisgICBmdW46RmNDaGFyU2V0T3BlcmF0ZQorICAgZnVuOkZjRm9udFNldFNv
cnQKKyAgIGZ1bjpGY0ZvbnRTb3J0CisgICAuLi4KKyAgIGZ1bjpwYW5nb19sYXlvdXRfbGluZV9n
ZXRfZXh0ZW50cworfQoreworICAgYnVnXzQ2MTc3X2QgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOkZjRm9udFNldENyZWF0ZQorICAgZnVuOkZj
Rm9udFNldFNvcnQKKyAgIGZ1bjpGY0ZvbnRTb3J0Cit9Cit7CisgICBidWdfNDYxNzdfZSAoVGhp
cmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0NoYXJTZXRGaW5k
TGVhZkNyZWF0ZQorICAgZnVuOkZjQ2hhclNldEFkZENoYXIKK30KK3sKKyAgIGRsb3BlbiBsZWFr
IG9uIGVycm9yLiBTZWUgaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNn
aT9pZD0xMjg3OC4KKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpjYWxsb2MKKyAgIGZ1bjpfZGxl
cnJvcl9ydW4KKyAgIGZ1bjpkbG9wZW5AQEdMSUJDXzIuMQorfQoreworICAgZ2xpYmMgbGVhay4g
IFNlZSBhbHNvIGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dp
P2lkPTI0NTEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfZGxfbWFw
X29iamVjdF9mcm9tX2ZkCit9Cit7CisgICAjIGFycmF5IG9mIHdlYWsgcmVmZXJlbmNlcyBmcmVl
ZCBidXQgbm90IHByb2Nlc3NlZD8KKyAgIGJ1Z18xNjU3NgorICAgTWVtY2hlY2s6TGVhaworICAg
Li4uCisgICBmdW46Z19vYmplY3Rfd2Vha19yZWYKKyAgIGZ1bjpnX29iamVjdF9hZGRfd2Vha19w
b2ludGVyCit9Cit7CisgICAjIFRvdGVtIHBsdWdpbiBsZWFrcyB3aGVuIHdlIGxvYWQgaXQuCisg
ICBidWdfMjEzMjYgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBm
dW46X1pONTZ3ZWJraXQ1bnBhcGk5UGx1Z2luTGliMTdSZWFkV2ViUGx1Z2luSW5mb0UqCit9Cit7
CisgICBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01
MTcxCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisgICBmdW46YWxsb2NhdGVfZHR2
CisgICBmdW46X2RsX2FsbG9jYXRlX3RscworICAgZnVuOnB0aHJlYWRfY3JlYXRlQEBHTElCQ18y
LjEKK30KK3sKKyAgIGJ1Z18zMzM5NCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46Y2FsbG9jCisgICBmdW46UFJfQ2FsbG9jCisgICBmdW46UFJfTmV3TG9jaworICAgZnVu
Ol9QUl9Vbml4SW5pdAorICAgZnVuOl9QUl9JbXBsaWNpdEluaXRpYWxpemF0aW9uCisgICAuLi4K
KyAgIGZ1bjpfWk40YmFzZTE0RW5zdXJlTlNQUkluaXRFdgorfQoreworICAgYnVnXzMzMzk0X2Ig
KFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOmNhbGxvYworICAgZnVuOlBS
X0NhbGxvYworICAgZnVuOlBSX05ld01vbml0b3IKKyAgIGZ1bjpfUFJfVW5peEluaXQKKyAgIGZ1
bjpfUFJfSW1wbGljaXRJbml0aWFsaXphdGlvbgorICAgLi4uCisgICBmdW46X1pONGJhc2UxNEVu
c3VyZU5TUFJJbml0RXYKK30KK3sKKyAgICMgTG9va3MgbGlrZSBhIGxlYWsgaW4gZ3RrJ3MgY29k
ZSB3aGVuIGxvYWRpbmcgdGhlIGltIGNvbnRleHQgbW9kdWxlLgorICAgYnVnXzQxMjMxIChUaGly
ZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOm1hbGxvYworICAgZnVu
OmdfbWFsbG9jCisgICBmdW46Z19zdHJkdXAKKyAgIGZ1bjpndGtfaW1fbXVsdGljb250ZXh0X2dl
dF9zbGF2ZQorICAgZnVuOmd0a19pbV9tdWx0aWNvbnRleHRfc2V0X2NsaWVudF93aW5kb3cKKyAg
IGZ1bjpndGtfaW1fY29udGV4dF9zZXRfY2xpZW50X3dpbmRvdworfQoreworICAgYnVnXzUxMzMy
YSAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpQT1JUX05l
d0FyZW5hX1V0aWwKKyAgIGZ1bjpzZWNfcGtjczdfY3JlYXRlX2NvbnRlbnRfaW5mbworICAgZnVu
OlNFQ19QS0NTN0NyZWF0ZURhdGEKKyAgIGZ1bjpzZWNfcGtjczEyX2VuY29kZXJfc3RhcnRfY29u
dGV4dAorICAgZnVuOlNFQ19QS0NTMTJFbmNvZGUKK30KK3sKKyAgIGJ1Z181MTMzMmIgKFRoaXJk
IFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46UE9SVF9BcmVuYVpBbGxv
Y19VdGlsCisgICBmdW46c2VjX3BrY3M3X2NyZWF0ZV9jb250ZW50X2luZm8KKyAgIGZ1bjpTRUNf
UEtDUzdDcmVhdGVEYXRhCisgICBmdW46c2VjX3BrY3MxMl9lbmNvZGVyX3N0YXJ0X2NvbnRleHQK
KyAgIGZ1bjpTRUNfUEtDUzEyRW5jb2RlCit9Cit7CisgICBidWdfNTEzMzJjIChUaGlyZCBQYXJ0
eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpjYWxsb2MKKyAgIGZ1bjpQT1JUX1pBbGxvY19V
dGlsCisgICBmdW46UE9SVF9OZXdBcmVuYV9VdGlsCisgICBmdW46c2VjX3BrY3M3X2NyZWF0ZV9j
b250ZW50X2luZm8KKyAgIGZ1bjpzZWNfcGtjczEyX2VuY29kZXJfc3RhcnRfY29udGV4dAorICAg
ZnVuOlNFQ19QS0NTMTJFbmNvZGUKK30KK3sKKyAgIGJ1Z181MTMzMCAoVGhpcmQgUGFydHkpCisg
ICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpwMTJ1X0RpZ2VzdE9wZW4KKyAgIC4uLgor
ICAgZnVuOlNFQ19QS0NTMTJEZWNvZGVyVXBkYXRlCit9Cit7CisgICBidWdfNTEzMjhhIChUaGly
ZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOlNFQ19BU04xRGVjb2Rl
clVwZGF0ZV9VdGlsCisgICAuLi4KKyAgIGZ1bjpTRUNfQVNOMURlY29kZXJVcGRhdGVfVXRpbAor
ICAgZnVuOlNFQ19QS0NTN0RlY29kZXJVcGRhdGUKKyAgIC4uLgorICAgZnVuOlNFQ19BU04xRGVj
b2RlclVwZGF0ZV9VdGlsCisgICBmdW46U0VDX1BLQ1MxMkRlY29kZXJVcGRhdGUKK30KK3sKKyAg
IGJ1Z181MTMyOGIgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBm
dW46U0VDX1BLQ1M3RGVjb2RlclN0YXJ0CisgICAuLi4KKyAgIGZ1bjpTRUNfQVNOMURlY29kZXJV
cGRhdGVfVXRpbAorICAgZnVuOlNFQ19QS0NTMTJEZWNvZGVyVXBkYXRlCit9Cit7CisgICAjIFNl
ZSBodHRwOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTE0MDE1Lgor
ICAgYnVnXzUxNzcwIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpjYWxs
b2MKKyAgIGZ1bjpfZGxlcnJvcl9ydW4KKyAgIGZ1bjpkbHN5bQorfQoreworICAgIyBJIGJlbGll
dmUgaXQncyBhIGJ1ZyBpbiBndGsrLTIuMTIueCBhbmQgc2hvdWxkIGFscmVhZHkgYmUgZml4ZWQg
aW4gcmVjZW50IGd0ay4KKyAgIGJ1Z182MTY4NSAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpndGtfdGV4dF9idWZmZXJfc2VsZWN0
X3JhbmdlCisgICAuLi4KK30KK3sKKyAgIGd0a19jc3MgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOnJlYWxsb2MKKyAgIGZ1bjpnX3JlYWxsb2MKKyAgIGZ1bjpnX3N0cmlu
Z19tYXliZV9leHBhbmQKKyAgIGZ1bjpnX3N0cmluZ19pbnNlcnRfYworICAgZnVuOl9ndGtfY3Nz
X3BhcnNlcl9yZWFkX2NoYXIKKyAgIGZ1bjpfZ3RrX2Nzc19wYXJzZXJfdHJ5X2lkZW50CisgICBm
dW46YmluZGluZ3NfdmFsdWVfcGFyc2Vfb25lCisgICBmdW46X2d0a19jc3NfYXJyYXlfdmFsdWVf
cGFyc2UKKyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVyX2xvYWRfaW50ZXJuYWwKKyAgIGZ1bjpndGtf
Y3NzX3Byb3ZpZGVyX2xvYWRfZnJvbV9kYXRhCisgICBmdW46bWFpbgorfQoreworICAgYnVnXzk2
NDAyIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1
bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jMAor
ICAgZnVuOmdfdHlwZV9jcmVhdGVfaW5zdGFuY2UKKyAgIGZ1bjpnX29iamVjdF9jb25zdHJ1Y3Rv
cgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpnX29iamVjdF9uZXcKKyAgIGZ1bjpfZ2Rr
X3dpbmRvd19pbXBsX25ldworICAgZnVuOmdka193aW5kb3dfZW5zdXJlX25hdGl2ZQorICAgZnVu
Omdka194MTFfZHJhd2FibGVfZ2V0X3hpZAorICAgLi4uCisgICBmdW46Z19jbG9zdXJlX2ludm9r
ZQorICAgZnVuOnNpZ25hbF9lbWl0X3VubG9ja2VkX1IKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X3Zh
bGlzdAorICAgZnVuOmdfc2lnbmFsX2VtaXQKKyAgIGZ1bjpndGtfd2lkZ2V0X3JlYWxpemUKKyAg
IGZ1bjpndGtfd2lkZ2V0X3NldF9wYXJlbnQKK30KK3sKKyAgIGd0a193aWRnZXRfZGlzcG9zZSAo
VGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpDb25kCisgICBmdW46aGFuZGxlcnNfZmluZAorICAg
ZnVuOnNpZ25hbF9oYW5kbGVyc19mb3JlYWNoX21hdGNoZWRfUgorICAgZnVuOmdfc2lnbmFsX2hh
bmRsZXJzX2Rpc2Nvbm5lY3RfbWF0Y2hlZAorICAgZnVuOmd0a19ib3hfcmVtb3ZlCisgICBmdW46
Z19jbG9zdXJlX2ludm9rZQorICAgZnVuOnNpZ25hbF9lbWl0X3VubG9ja2VkX1IKKyAgIGZ1bjpn
X3NpZ25hbF9lbWl0X3ZhbGlzdAorICAgZnVuOmdfc2lnbmFsX2VtaXQKKyAgIGZ1bjpndGtfd2lk
Z2V0X2Rpc3Bvc2UKKyAgIGZ1bjpnX29iamVjdF9ydW5fZGlzcG9zZQorICAgZnVuOmd0a19ib3hf
Zm9yYWxsCisgICBmdW46Z3RrX2NvbnRhaW5lcl9kZXN0cm95CisgICBmdW46Z19jbG9zdXJlX2lu
dm9rZQorICAgZnVuOnNpZ25hbF9lbWl0X3VubG9ja2VkX1IKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0
X3ZhbGlzdAorICAgZnVuOmdfc2lnbmFsX2VtaXQKKyAgIGZ1bjpndGtfd2lkZ2V0X2Rpc3Bvc2UK
KyAgIGZ1bjpnX29iamVjdF9ydW5fZGlzcG9zZQorICAgZnVuOmd0a19jb250YWluZXJfZGVzdHJv
eQorICAgZnVuOmdfY2xvc3VyZV9pbnZva2UKKyAgIGZ1bjpzaWduYWxfZW1pdF91bmxvY2tlZF9S
CisgICBmdW46Z19zaWduYWxfZW1pdF92YWxpc3QKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0CisgICBm
dW46Z3RrX3dpZGdldF9kaXNwb3NlCit9Cit7CisgICBidWdfNjY5NDEgKFRoaXJkIFBhcnR5KQor
ICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46U1RBTl9DaGFuZ2VDZXJ0VHJ1c3QKKyAg
IGZ1bjpDRVJUX0NoYW5nZUNlcnRUcnVzdAorfQoreworICAgbGVha3MgaW4gYmFzaAorICAgTWVt
Y2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6L2Jpbi9iYXNoCit9Cit7CisgICBFbmNoYW50IHNw
ZWxsaW5nIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53bQorICAg
Li4uCisgICBvYmo6Ki9saWJlbmNoYW50LnNvLjEuNi4wCisgICBmdW46ZW5jaGFudF9icm9rZXJf
ZGljdF9leGlzdHMKKyAgIGZ1bjpfWk43V2ViQ29yZTE4VGV4dENoZWNrZXJFbmNoYW50Mjh1cGRh
dGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzRVJLTjNXVEY2VmVjdG9ySU5TMV82U3RyaW5nRUxtMEVO
UzFfMTVDcmFzaE9uT3ZlcmZsb3dFRUUKKyAgIGZ1bjpfWkwyOHVwZGF0ZVNwZWxsQ2hlY2tpbmdM
YW5ndWFnZXNQMTlfV2ViS2l0U3BlbGxDaGVja2VyUEtjCit9CisKK3sKKyAgIGJ1Z183NjM4NmEg
KFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pO
U3M0X1JlcDlfU19jcmVhdGVFKlJLU2FJY0UKKyAgIC4uLgorICAgZnVuOl9aTlNzQzEqS1MqCit9
Cit7CisgICBidWdfNzYzODZiIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjpfWm53KgorICAgZnVuOl9aTlNzNF9SZXA5X1NfY3JlYXRlRSpSS1NhSWNFCisgICBmdW46X1pO
U3M0X1JlcDhfTV9jbG9uZUVSS1NhSWNFKgorfQoreworICAgYnVnXzc2Mzg2YyAoVGhpcmQgUGFy
dHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk5TczRfUmVwOV9T
X2NyZWF0ZUUqUktTYUljRQorICAgZnVuOl9aTlNzOV9NX211dGF0ZUVqamoKK30KK3sKKyAgIGJ1
Z184MDM3OF9maXhlZF91cHN0cmVhbV9mb3JfbmV4dF9ndGsKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MKKyAgIC4u
LgorICAgZnVuOmd0a193aW5kb3dfZ3JvdXBfbGlzdF93aW5kb3dzCisgICBmdW46X1pOOGd0a191
dGlsKkFwcE1vZGFsKgorfQoreworICAgZ2V0cHd1aWRfYW5kX2dldGdyb3VwbGlzdAorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOm5zc19wYXJzZV9zZXJ2aWNlX2xpc3QK
KyAgIGZ1bjpfX25zc19kYXRhYmFzZV9sb29rdXAKKyAgIG9iajoqCisgICAuLi4KKyAgIGZ1bjpn
ZXQqCit9Cit7CisgICBkYnVzX3g2NF9sZWFrcworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisg
ICBvYmo6L3Vzci9iaW4vZGJ1cy1sYXVuY2gKK30KK3sKKyAgIHB1bHNlYXVkaW86IHBhX3NldF9l
bnZfYW5kX3JlY29yZAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOnJl
YWxsb2MKKyAgIGZ1bjpwYV94cmVhbGxvYworICAgZnVuOnBhX3NwcmludGZfbWFsbG9jCisgICBm
dW46cGFfc2V0X2VudgorICAgZnVuOnBhX3NldF9lbnZfYW5kX3JlY29yZAorICAgZnVuOm1haW4K
K30KKworIyBJbnZhbGlkIGZyZWVzIGZyb20gZXhpdCgpIGFuZCBhY2NlcHQoKS4KK3sKKyAgIGJ1
Z18xMDg2MTggKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6RnJlZQorICAgZnVuOmZyZWUKKyAg
IGZ1bjpfX2xpYmNfZnJlZXJlcworICAgZnVuOl92Z25VX2ZyZWVyZXMKK30KKworIyBYUmFuZFJJ
bmZvIG9iamVjdCBzZWVtcyB0byBiZSBsZWFraW5nIGluc2lkZSBYUlJGaW5kRGlzcGxheS4gIFRo
aXMgaGFwcGVucyB0aGUKKyMgZmlyc3QgdGltZSBpdCBpcyBjYWxsZWQsIG5vIG1hdHRlciB3aG8g
dGhlIGNhbGxlciBpcy4gIFdlIGhhdmUgb2JzZXJ2ZWQgdGhpcworIyBwcm9ibGVtIHdpdGggYm90
aCBYUlJTZWxlY3RJbnB1dCBhbmQgWFJSUXVlcnlFeHRlbnNpb24uCit7CisgICBidWdfMTE5Njc3
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46WFJSRmluZERpc3BsYXkK
K30KK3sKKyAgIEZsYXNoIFBsYXllciBMZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IG9iajovdXNyL2xpYi9mbGFzaHBsdWdpbi1pbnN0YWxsZXIvbGliZmxhc2hwbGF5ZXIuc28KK30K
K3sKKyAgIE9jY2FzaW9uYWwgbGVhayBpbnNpZGUgc2V0bG9jYWxlKCkKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOl9ubF9tYWtlX2wxMG5mbGlzdAorICAg
ZnVuOl9ubF9maW5kX2xvY2FsZQorICAgZnVuOnNldGxvY2FsZQorICAgZnVuOl9aTjEyX0dMT0JB
TF9fTl8xMjFDb250ZW50TWFpblJ1bm5lckltcGwxMEluaXRpYWxpemVFaVBQS2NQTjdjb250ZW50
MTlDb250ZW50TWFpbkRlbGVnYXRlRQorICAgZnVuOl9aTjdjb250ZW50MTFDb250ZW50TWFpbkVp
UFBLY1BOU18xOUNvbnRlbnRNYWluRGVsZWdhdGVFCisgICBmdW46Q2hyb21lTWFpbgorfQorewor
ICAgT2NjYXNpb25hbCBsZWFrIGluc2lkZSBnZGtfaW5pdCgpCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpfbmxfZmluZF9kb21haW4KKyAgIGZ1bjpfX2Rj
aWdldHRleHQKKyAgIGZ1bjpnZGtfc2NyZWVuX2NsYXNzX2ludGVybl9pbml0CisgICBmdW46Z190
eXBlX2NsYXNzX3JlZgorICAgZnVuOmdfdHlwZV9jbGFzc19yZWYKKyAgIGZ1bjpnX29iamVjdF9u
ZXd2CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46X2dka194MTFfc2NyZWVuX25ldworICAg
ZnVuOmdka19kaXNwbGF5X29wZW4KKyAgIGZ1bjpnZGtfZGlzcGxheV9vcGVuX2RlZmF1bHRfbGli
Z3RrX29ubHkKKyAgIGZ1bjpnZGtfaW5pdF9jaGVjaworICAgZnVuOmdka19pbml0Cit9CisKKyMg
bGVhayBpbiBPU01lc2EgdXNlZCB0byBydW4gY29tcG9zaXRvcl91bml0dGVzdHMgaW4gYm90cy4K
K3sKKyAgIGJ1Z18xNDg0NzcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4u
LgorICAgZnVuOl9aTjNnZng5R0xBcGlCYXNlMTdnbENvbXBpbGVTaGFkZXJGbkVqCisgICBmdW46
X1pONndlYmtpdDNncHUzM1dlYkdyYXBoaWNzQ29udGV4dDNESW5Qcm9jZXNzSW1wbDEzY29tcGls
ZVNoYWRlckVqCisgICBmdW46X1pOMmNjMThQcm9ncmFtQmluZGluZ0Jhc2UxMExvYWRTaGFkZXJF
UE42V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzREVqUktTcworICAgZnVuOl9aTjJjYzE4UHJv
Z3JhbUJpbmRpbmdCYXNlNEluaXRFUE42V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzREVSS1Nz
UzVfCit9Cit7CisgICBidWdfMTQ4NDc3X2xpbmsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpt
YWxsb2MKKyAgIC4uLgorICAgZnVuOl9aTjNnZng5R0xBcGlCYXNlMTVnbExpbmtQcm9ncmFtRm5F
agorICAgZnVuOl9aTjZ3ZWJraXQzZ3B1MzNXZWJHcmFwaGljc0NvbnRleHQzREluUHJvY2Vzc0lt
cGwxMWxpbmtQcm9ncmFtRWoKKyAgIGZ1bjpfWk4yY2MxOFByb2dyYW1CaW5kaW5nQmFzZTRMaW5r
RVBONldlYktpdDIwV2ViR3JhcGhpY3NDb250ZXh0M0RFCisgICBmdW46X1pOMmNjMTRQcm9ncmFt
QmluZGluZ0lOU18qCit9CisjIGJ1Z190b2RvX2dldGRlbGltLCBidWdfdG9kb19nZXRkZWxpbTIg
YW5kIGJ1Z190b2RvX2dyZXAgdXNlZCB0byBoYXBwZW4gb24KKyMgR29vZ2xlIEx1Y2lkIHdvcmtz
dGF0aW9ucyBvbmx5LgoreworICAgYnVnX3RvZG9fZ2V0ZGVsaW0KKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnZXRkZWxpbQorICAgLi4uCisgICBmdW46Y2FsbF9pbml0
CisgICBmdW46X2RsX2luaXQKK30KK3sKKyAgIGJ1Z190b2RvX2dldGRlbGltMgorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmdldGRlbGltCisgICBvYmo6L2xpYi9saWJz
ZWxpbnV4LnNvLjEKKyAgIG9iajovbGliL2xpYnNlbGludXguc28uMQorICAgb2JqOi9saWIvbGli
c2VsaW51eC5zby4xCit9Cit7CisgICBidWdfdG9kb19ncmVwCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46bWFsbG9jCisgICBvYmo6L2Jpbi9ncmVwCisgICBvYmo6L2Jpbi9ncmVwCit9CisKK3sK
KyAgICMgTW9zdCBwbHVnaW5zIHJldHVybiBhIGNvbnN0YW50IGNoYXIgKiBzdHJpbmcsIGJ1dCB0
aGlzIHRvdGVtIHBsdWdpbgorICAgIyB1c2VzIHByaW50ZiBhbmQgYWxsb2NhdGVzIG9uZS4KKyAg
IFVidW50dV9QcmVjaXNlX3RvdGVtX21pbWVfZGVzY19sZWFrCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46Z19zdHJkdXBfcHJpbnRmCisgICBvYmo6Ki9saWJ0b3RlbS1jb25lLXBsdWdpbi5zbwor
ICAgZnVuOl9aTjZ3ZWJraXQ1bnBhcGk5UGx1Z2luTGliMTdSZWFkV2ViUGx1Z2luSW5mb0VSS040
YmFzZThGaWxlUGF0aEVQTlNfMTNXZWJQbHVnaW5JbmZvRQorfQoreworICAgZ2xpYi9ndGhyZWFk
IG1hbGxvYyBsZWFrIGluIGNvbXBvbmVudCBidWlsZAorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Om1hbGxvYworICAgLi4uCisgICBmdW46Z190aHJlYWRfcHJveHkKK30KK3sKKyAgIGdsaWIvZ3Ro
cmVhZCBjYWxsb2MgbGVhayBpbiBjb21wb25lbnQgYnVpbGQKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpjYWxsb2MKKyAgIC4uLgorICAgZnVuOmdfdGhyZWFkX3Byb3h5Cit9Cit7CisgICBKYXZh
IGxlYWtzIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkpO
SV9DcmVhdGVKYXZhVk0KKyAgIGZ1bjpKYXZhTWFpbgorICAgZnVuOnN0YXJ0X3RocmVhZAorfQor
eworICAgSmF2YSBiYWQgcmVhZHMgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6Q29uZAorICAg
Li4uCisgICBmdW46Sk5JX0NyZWF0ZUphdmFWTQorICAgZnVuOkphdmFNYWluCisgICBmdW46c3Rh
cnRfdGhyZWFkCit9Cit7CisgICBKYXZhIGJhZCByZWFkcyAyIChUaGlyZCBwYXJ0eSkKKyAgIE1l
bWNoZWNrOkNvbmQKKyAgIGZ1bjpfWk43TW9uaXRvcjdUcnlTcGluRVA2VGhyZWFkCisgICBmdW46
X1pON01vbml0b3I1SUxvY2tFUDZUaHJlYWQKKyAgIGZ1bjpfWk43TW9uaXRvcjI4bG9ja193aXRo
b3V0X3NhZmVwb2ludF9jaGVja0VQNlRocmVhZAorICAgZnVuOl9aTjIwU2FmZXBvaW50U3luY2hy
b25pemU1YmxvY2tFUDEwSmF2YVRocmVhZAorICAgZnVuOl9aTjJvczExc2lnbmFsX3dhaXRFdgor
ICAgZnVuOl9aTDE5c2lnbmFsX3RocmVhZF9lbnRyeVAxMEphdmFUaHJlYWRQNlRocmVhZAorICAg
ZnVuOl9aTjEwSmF2YVRocmVhZDE3dGhyZWFkX21haW5faW5uZXJFdgorICAgZnVuOl9aTDEwamF2
YV9zdGFydFA2VGhyZWFkCisgICBmdW46c3RhcnRfdGhyZWFkCit9Cit7CisgICBKTkkgYmFkIHJl
YWQgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6QWRkcjQKKyAgIG9iajoqCisgICBmdW46X1pO
OUphdmFDYWxsczExY2FsbF9oZWxwZXJFUDlKYXZhVmFsdWVQMTJtZXRob2RIYW5kbGVQMTdKYXZh
Q2FsbEFyZ3VtZW50c1A2VGhyZWFkCisgICAuLi4KKyAgIGZ1bjpfWk4xM2luc3RhbmNlS2xhc3Mx
NWluaXRpYWxpemVfaW1wbEUxOWluc3RhbmNlS2xhc3NIYW5kbGVQNlRocmVhZAorICAgZnVuOl9a
TjEzaW5zdGFuY2VLbGFzczEwaW5pdGlhbGl6ZUVQNlRocmVhZAorICAgZnVuOl9aTjdUaHJlYWRz
OWNyZWF0ZV92bUVQMTRKYXZhVk1Jbml0QXJnc1BiCisgICBmdW46Sk5JX0NyZWF0ZUphdmFWTQor
ICAgZnVuOkphdmFNYWluCisgICBmdW46c3RhcnRfdGhyZWFkCit9Cit7CisgICBKYXZhIGxlYWsg
KFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6L3Vzci9saWIv
anZtL2phdmEtNi1vcGVuamRrLWFtZDY0L2pyZS9iaW4vamF2YQorICAgLi4uCisgICBmdW46KGJl
bG93IG1haW4pCit9Cit7CisgICBPY2Nhc2lvbmFsIE9wZW5HTCBsZWFrcyAoVGhpcmQgcGFydHkp
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIG9iajoqL2xpYkdMLnNvLioKKyAgIC4uLgor
fQorCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAyLiBpbnRlbnRpb25hbCB1bml0IHRlc3QgZXJyb3Jz
LCBvciBzdHVmZiB0aGF0IGlzIHNvbWVob3cgYSBmYWxzZSBwb3NpdGl2ZQorIyBpbiBvdXIgb3du
IGNvZGUsIG9yIHN0dWZmIHRoYXQgaXMgc28gdHJpdmlhbCBpdCdzIG5vdCB3b3J0aCBmaXhpbmcK
KworIyBTZWUgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUucHkg
YmVmb3JlIG1vZGlmeWluZyBzYW5pdHkgdGVzdHMuCit7CisgICBNZW1jaGVjayBzYW5pdHkgdGVz
dCAwMSAobWVtb3J5IGxlYWspLgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abmEqCisgICBm
dW46X1pONGJhc2UzMVRvb2xzU2FuaXR5VGVzdF9NZW1vcnlMZWFrX1Rlc3Q4VGVzdEJvZHlFdgor
fQorCit7CisgICBNZW1jaGVjayBzYW5pdHkgdGVzdCAxMiAoYXJyYXkgZGVsZXRlZCB3aXRob3V0
IFtdKS4KKyAgIE1lbWNoZWNrOkZyZWUKKyAgIC4uLgorICAgZnVuOl9aTjRiYXNlNDZUb29sc1Nh
bml0eVRlc3RfQXJyYXlEZWxldGVkV2l0aG91dEJyYWNlc19UZXN0OFRlc3RCb2R5RXYKK30KK3sK
KyAgIE1lbWNoZWNrIHNhbml0eSB0ZXN0IDEzIChzaW5nbGUgZWxlbWVudCBkZWxldGVkIHdpdGgg
W10pLgorICAgTWVtY2hlY2s6RnJlZQorICAgLi4uCisgICBmdW46X1pONGJhc2U1MVRvb2xzU2Fu
aXR5VGVzdF9TaW5nbGVFbGVtZW50RGVsZXRlZFdpdGhCcmFjZXNfVGVzdDhUZXN0Qm9keUV2Cit9
CisKK3sKKyAgIGJ1Z184NjMwMSBUaGlzIHRlc3QgZXhwbGljaXRseSB2ZXJpZmllcyBQb3N0VGFz
a0FuZFJlcGx5IGxlYWtzIHRoZSB0YXNrIGlmIHRoZSBvcmlnaW5hdGluZyBNZXNzYWdlTG9vcCBo
YXMgYmVlbiBkZWxldGVkLgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1pONGJhc2U4aW50ZXJuYWwyMFBvc3RUYXNrQW5kUmVwbHlJbXBsMTZQb3N0VGFza0FuZFJlcGx5
RVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVNBXwor
ICAgZnVuOl9aTjRiYXNlMTBUYXNrUnVubmVyMTZQb3N0VGFza0FuZFJlcGx5RVJLTjE1dHJhY2tl
ZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVM5XworICAgZnVuOl9aTjRi
YXNlMTJfR0xPQkFMX19OXzE2OU1lc3NhZ2VMb29wUHJveHlUZXN0X1Bvc3RUYXNrQW5kUmVwbHlf
RGVhZFJlcGx5TG9vcERvZXNOb3REZWxldGVfVGVzdDhUZXN0Qm9keUV2Cit9Cit7CisgICBsb2dn
aW5nOjpJbml0TG9nZ2luZyBuZXZlciBmcmVlcyBmaWxlbmFtZS4gSXQgd291bGQgYmUgaGFyZCB0
byBmcmVlIHByb3Blcmx5LgorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pON2xv
Z2dpbmcxMUluaXRMb2dnaW5nRVBLY05TXzE4TG9nZ2luZ0Rlc3RpbmF0aW9uRU5TXzE1TG9nTG9j
a2luZ1N0YXRlRU5TXzIwT2xkRmlsZURlbGV0aW9uU3RhdGVFCit9Cit7CisgICBMaW51eCB0ZXN0
cyBkb24ndCBib3RoZXIgdG8gdW5kbyBuZXQ6OlRlc3RTZXJ2ZXI6OkxvYWRUZXN0Um9vdENlcnQo
KS4KKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjNuZXQxMFRlc3RTZXJ2ZXIx
NkxvYWRUZXN0Um9vdENlcnRFdgorfQorCit7CisgICAjIE5vbi1qb2luYWJsZSB0aHJlYWQgZG9l
c24ndCBjbGVhbiB1cCBhbGwgc3RhdGUgb24gcHJvZ3JhbSBleGl0CisgICAjIHZlcnkgY29tbW9u
IGluIHVpIHRlc3RzCisgICBidWdfMTYwOTYgKFdvbnRGaXgpCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46X1pudyoKKyAgIGZ1bjpfWk5TczRfUmVwOV9TX2NyZWF0ZUUqUktTYUljRQorICAgZnVu
Ol9aTlNzNF9SZXA4X01fY2xvbmVFUktTYUljRSoKKyAgIGZ1bjpfWk5TczdyZXNlcnZlRSoKKyAg
IGZ1bjpfWk5TczZhcHBlbmRFUEtjKgorICAgZnVuOipTdHJpbmdBcHBlbmRWKgorICAgLi4uCisg
ICBmdW46X1pONGJhc2UxMlN0cmluZ1ByaW50ZkVQS2N6Cit9Cit7CisgICAjIEFjY29yZGluZyB0
byBkZ2xhemtvdiwgdGhlc2UgYXJlIG9uZS10aW1lIGxlYWtzIGFuZCBpbnRlbnRpb25hbC4KKyAg
ICMgVGhleSBtYXkgZ28gYXdheSBpZiB0aGUgY2hhbmdlIHRvIG1vdmUgdGhlc2Ugb2ZmIHRoZSBo
ZWFwIGxhbmRzLgorICAgYnVnXzE3OTk2IChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlOFNWR05hbWVzNGluaXRFdgorfQoreworICAgaW50
ZW50aW9uYWxfQnJvd3NlclRocmVhZFRlc3RfTm90UmVsZWFzZWRJZlRhcmdldFRocmVhZE5vbkV4
aXN0ZW50X1Rlc3RfbGVhaworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
KkJyb3dzZXJUaHJlYWRUZXN0X05vdFJlbGVhc2VkSWZUYXJnZXRUaHJlYWROb25FeGlzdGVudF9U
ZXN0OFRlc3RCb2R5RXYKK30KK3sKKyAgICMgVGhpcyBpcyBhbiBvbiBkZW1hbmQgaW5pdGlhbGl6
YXRpb24gd2hpY2ggaXMgZG9uZSBhbmQgdGhlbiBpbnRlbnRpb25hbGx5CisgICAjIGtlcHQgYXJv
dW5kIChub3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcuCisgICBpbnRlbnRp
b25hbF9XZWJDb3JlX1hNTE5hbWVzX2luaXRfbGVhaworICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBmdW46X1pON1dlYkNvcmU4WE1MTmFtZXM0aW5pdEV2Cit9Cit7CisgICAjIFRoaXMgaXMg
V2ViS2l0IHdpZGUgdGhlYWRpbmcgaW5pdGlhbGl6YXRpb24gd2hpY2ggaXMgaW50ZW50aW9uYWxs
eSBrZXB0CisgICAjIGFyb3VuZCAobm90IGZyZWVkKSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5u
aW5nLgorICAgaW50ZW50aW9uYWxfV1RGX1RocmVhZElkZW50aWZpZXJEYXRhX2luaXRpYWxpemVf
bGVhaworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOM1dURjIwVGhyZWFkSWRl
bnRpZmllckRhdGExMGluaXRpYWxpemVFagorfQoreworICAgIyBUaGlzIGlzIFdlYktpdCB3aWRl
IHRoZWFkaW5nIGluaXRpYWxpemF0aW9uIHdoaWNoIGlzIGludGVudGlvbmFsbHkga2VwdAorICAg
IyBhcm91bmQgKG5vdCBmcmVlZCkgd2hpbGUgdGhlIHByb2Nlc3MgaXMgcnVubmluZy4KKyAgIGlu
dGVudGlvbmFsX1dURl93dGZUaHJlYWREYXRhX2xlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4u
LgorICAgZnVuOl9aTjNXVEYxM3d0ZlRocmVhZERhdGFFdgorfQorCit7CisgICAjIFBSX0dldEN1
cnJlbnRUaHJlYWQgYWxsb2NhdGVzIGEgUFJUaHJlYWQgc3RydWN0dXJlIGFuZCBzdG9yZXMgaXQg
aW4KKyAgICMgdGhyZWFkLXNwZWNpZmljIGRhdGEuICBUaGUgUFJUaHJlYWQgc3RydWN0dXJlIGlz
IGZyZWVkIGJ5IHRoZQorICAgIyBQUl9EZXRhY2hUaHJlYWQgY2FsbCBpbiBDZXJ0VmVyaWZpZXJX
b3JrZXI6OlJ1biBvciB3aGVuIHRoZSB0aHJlYWQKKyAgICMgdGVybWluYXRlcy4gIFNpbmNlIHdl
IGRvIG5vdCBzaHV0IGRvd24gd29ya2VyIHRocmVhZHMsIHRoZSBQUlRocmVhZAorICAgIyBzdHJ1
Y3R1cmUgY3JlYXRlZCBmb3IgYSB3b3JrZXIgdGhyZWFkIG1heSBiZSBsZWFrZWQgYXQgQ2hyb21l
IHNodXRkb3duCisgICAjIGlmIHRoZSB3b3JrZXIgdGhyZWFkIGRpZCBub3QgbWFrZSBpdCB0byB0
aGUgUFJfRGV0YWNoVGhyZWFkIGNhbGwuCisgICBidWdfMzI2MjQgKEludGVudGlvbmFsKQorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOmNhbGxvYworICAgZnVuOlBSX0NhbGxvYworICAgZnVuOlBS
X0dldEN1cnJlbnRUaHJlYWQKKyAgIC4uLgorICAgZnVuOl9aTkszbmV0MTVYNTA5Q2VydGlmaWNh
dGUxNFZlcmlmeUludGVybmFsRVJLU3NpUE5TXzE2Q2VydFZlcmlmeVJlc3VsdEUKKyAgIGZ1bjpf
Wk5LM25ldDE1WDUwOUNlcnRpZmljYXRlNlZlcmlmeUVSS1NzaVBOU18xNkNlcnRWZXJpZnlSZXN1
bHRFCisgICBmdW46X1pOM25ldDE4Q2VydFZlcmlmaWVyV29ya2VyM1J1bkV2Cit9Cit7CisgICAj
IEludGVudGlvbmFsbHkgbGVha2luZyBOU1MgdG8gcHJldmVudCBzaHV0ZG93biBjcmFzaGVzCisg
ICBidWdfNjE1ODVhIChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpjYWxs
b2MKKyAgIC4uLgorICAgZnVuOmVycm9yX2dldF9teV9zdGFjaworfQoreworICAgRmlsZVN0cmVh
bTo6Q29udGV4dCBjYW4gbGVhayB0aHJvdWdoIFdvcmtlclBvb2wgYnkgZGVzaWduCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4zbmV0MTBGaWxlU3RyZWFtQzFFUE5T
XzZOZXRMb2dFCit9Cit7CisgICBUYXNrcyBwb3N0ZWQgdG8gV29ya2VyUG9vbCBjYW4gbGVhayBi
eSBkZXNpZ24KKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjRiYXNl
OGludGVybmFsMjBQb3N0VGFza0FuZFJlcGx5SW1wbDE2UG9zdFRhc2tBbmRSZXBseUVSS04xNXRy
YWNrZWRfb2JqZWN0czhMb2NhdGlvbkVSS05TXzhDYWxsYmFja0lGdnZFRUVTQV8KKyAgIGZ1bjpf
Wk40YmFzZTEwV29ya2VyUG9vbDE2UG9zdFRhc2tBbmRSZXBseUVSS04xNXRyYWNrZWRfb2JqZWN0
czhMb2NhdGlvbkVSS05TXzhDYWxsYmFja0lGdnZFRUVTOV9iCit9Cit7CisgICBidWdfNjE1ODVi
IChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpQ
TF9BcmVuYUFsbG9jYXRlCisgICBmdW46UE9SVF9BcmVuYUFsbG9jKgorfQoreworICAgIyBIaXN0
b2dyYW1zIGFyZSB1c2VkIG9uIHVuLWpvaW5lZCB0aHJlYWRzLCBhbmQgY2FuJ3QgYmUgZGVsZXRl
ZCBhdGV4aXQuCisgICBIaXN0b2dyYW1zIHZpYSBGYWN0b3J5R2V0IGluY2x1ZGluZyBMaW5lYXIg
Q3VzdG9tIEJvb2xlYW4gYW5kIEJhc2ljCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIC4uLgorICAgZnVuOl9aTjRiYXNlKkhpc3RvZ3JhbTEwRmFjdG9yeUdldCoKK30KK3sKKyAg
ICMgSGlzdG9ncmFtcyBhcmUgdXNlZCBvbiB1bi1qb2luZWQgdGhyZWFkcywgYW5kIGNhbid0IGJl
IGRlbGV0ZWQgYXRleGl0LgorICAgSGlzdG9ncmFtcyB2aWEgRmFjdG9yeUdldCBpbmNsdWRpbmcg
U3RhdHMgZm9yIGRpc2tfY2FjaGUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
Li4uCisgICBmdW46X1pOMTBkaXNrX2NhY2hlMTRTdGF0c0hpc3RvZ3JhbTEwRmFjdG9yeUdldCoK
K30KK3sKKyAgIEludGVudGlvbmFsIGxlYWsgZm9yIEhpc3RvZ3JhbSAoaW4gU3RhdGlzdGljc1Jl
Y29yZGVyVGVzdCwgTm90SW5pdGlhbGl6ZWQpLgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICBmdW46X1pONGJhc2U0MlN0YXRpc3RpY3NSZWNvcmRlclRlc3RfTm90SW5pdGlhbGl6
ZWRfVGVzdDhUZXN0Qm9keUV2Cit9Cit7CisgICBJbnRlbnRpb25hbCBsZWFrIGZvciBTYW1wbGVN
YXAgKHN0b3JlcyBTcGFyc2VIaXN0b2dyYW0gY291bnRzKS4KKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IC4uLgorICAgZnVuOl9aTjRiYXNlOVNhbXBsZU1hcDEwQWNjdW11bGF0ZUVpaQorICAgZnVuOl9a
TjRiYXNlMTVTcGFyc2VIaXN0b2dyYW0zQWRkRWkKK30KK3sKKyAgIEludGVudGlvbmFsIGxlYWsg
Zm9yIGxpc3Q8Y29uc3QgQnVja2V0UmFuZ2VzKj4oaW4gU3RhdGlzdGljc1JlY29yZGVyVGVzdCwg
UmVnaXN0ZXJCdWNrZXRSYW5nZXMpLgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisg
ICBmdW46X1pONGJhc2UxOFN0YXRpc3RpY3NSZWNvcmRlcjMxUmVnaXN0ZXJPckRlbGV0ZUR1cGxp
Y2F0ZVJhbmdlc0VQS05TXzEyQnVja2V0UmFuZ2VzRQorICAgZnVuOl9aTjRiYXNlNDhTdGF0aXN0
aWNzUmVjb3JkZXJUZXN0X1JlZ2lzdGVyQnVja2V0UmFuZ2VzX1Rlc3Q4VGVzdEJvZHlFdgorfQor
eworICAgIyBTZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRh
aWw/aWQ9NzAwNjIjYzgKKyAgIGJ1Z183MDA2MiAoSW50ZW50aW9uYWwpCisgICBNZW1jaGVjazpM
ZWFrCisgICAuLi4KKyAgIGZ1bjpJbml0U2Vzc2lvbkNhY2hlTG9ja3MKKyAgIGZ1bjppbml0U2Vz
c2lvbkNhY2hlTG9ja3NMYXppbHkKKyAgIC4uLgorICAgZnVuOnNzbF9Jbml0U2Vzc2lvbkNhY2hl
TG9ja3MKK30KK3sKKyAgIGJ1Z184MzM0NSAoTmVlZHNfQW5ub3RhdGlvbikKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjRiYXNlKjIzTGVha3lMYXp5SW5zdGFuY2VUcmFpdHMq
TmV3RVB2CisgICBmdW46X1pONGJhc2UxMkxhenlJbnN0YW5jZSpMZWFreUxhenlJbnN0YW5jZVRy
YWl0cypQb2ludGVyRXYKK30KK3sKKyAgIGJ1Z184NzUwMF9hIChJbnRlbnRpb25hbCkKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjEwZGlza19jYWNoZTlCYWNrZW5kSU8yM0V4
ZWN1dGVCYWNrZW5kT3BlcmF0aW9uRXYKKyAgIGZ1bjpfWk4xMGRpc2tfY2FjaGU5QmFja2VuZElP
MTZFeGVjdXRlT3BlcmF0aW9uRXYKK30KK3sKKyAgIGJ1Z184NzUwMF9iIChJbnRlbnRpb25hbCkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjRiYXNlNEJpbmQqVGFz
a0Nsb3N1cmVBZGFwdGVyRUZ2dkVQUzJfRUVOU184aW50ZXJuYWwyMEludm9rZXJTdG9yYWdlSG9s
ZGVySU5TNl8xNUludm9rZXJTdG9yYWdlMUlUX1QwX0VFRUVTOV9SS1NBXworICAgZnVuOl9aTjRi
YXNlMTFNZXNzYWdlTG9vcDE1UG9zdERlbGF5ZWRUYXNrRVJLTjE1dHJhY2tlZF9vYmplY3RzOExv
Y2F0aW9uRVA0VGFza3gKKyAgIGZ1bjpfWk40YmFzZTIwTWVzc2FnZUxvb3BQcm94eUltcGwxNFBv
c3RUYXNrSGVscGVyRVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVA0VGFza3hiCisgICBm
dW46X1pONGJhc2UyME1lc3NhZ2VMb29wUHJveHlJbXBsOFBvc3RUYXNrRVJLTjE1dHJhY2tlZF9v
YmplY3RzOExvY2F0aW9uRVA0VGFzaworICAgZnVuOl9aTjEwZGlza19jYWNoZTEwSW5GbGlnaHRJ
TzEyT25JT0NvbXBsZXRlRVBOU18xMkJhY2tncm91bmRJT0UKK30KK3sKKyAgIGJ1Z184NzUwMF9j
IChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9a
TjNuZXQ5SHR0cENhY2hlKkVudHJ5RVJLU3NQUE5TMF8xMUFjdGl2ZUVudHJ5RVBOUzBfMTFUcmFu
c2FjdGlvbkUKKyAgIGZ1bjpfWk4zbmV0OUh0dHBDYWNoZTExVHJhbnNhY3Rpb24xM0RvKkVudHJ5
RXYKKyAgIGZ1bjpfWk4zbmV0OUh0dHBDYWNoZTExVHJhbnNhY3Rpb242RG9Mb29wRWkKKyAgIGZ1
bjpfWk4zbmV0OUh0dHBDYWNoZTExVHJhbnNhY3Rpb24xMk9uSU9Db21wbGV0ZUVpCit9Cit7Cisg
ICBJbnRlbnRpb25hbCwgc2VlIGh0dHA6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy83NjcwMDI1
CisgICBNZW1jaGVjazpQYXJhbQorICAgbXN5bmMoc3RhcnQpCisgICBmdW46bXN5bmMkVU5JWDIw
MDMKKyAgIGZ1bjptYWNoX292ZXJyaWRlX3B0cgorICAgZnVuOl9aTjRiYXNlMzNFbmFibGVUZXJt
aW5hdGlvbk9uSGVhcENvcnJ1cHRpb25FdgorfQoreworICAgIyBJbnRlbnRpb25hbCAtIGRhdGEg
aXMgc3RvcmVkIGluIHRocmVhZC1sb2NhbCBzdG9yYWdlIGZvciBhbiB1bmpvaW5lZAorICAgIyB3
b3JrZXIgdGhyZWFkLCBhbmQgc28gY2FuIG9jY2FzaW9uYWxseSBsZWFrLiBTZWUgY3JidWcuY29t
Lzg5NTUzIGZvcgorICAgIyBhZGRpdGlvbmFsIGluZm8KKyAgIGJ1Z184OTU1MworICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTJfR0xPQkFMX19OXzExMURuc1JlbG9h
ZGVyMTFNYXliZVJlbG9hZEV2Cit9Cit7CisgICAjIEludGVudGlvbmFsIC0gYXRvbWljIHN0cmlu
Z3MgYW5kIGhhc2ggbWFwIGluIFdlYkNvcmU6Om5hbWVUb1BzZXVkb1R5cGVNYXAoKSAoQ1NTU2Vs
ZWN0b3IuY3BwKSBhcmUgdG8gYmUgbGVha2VkCisgICBidWdfMTA4NTE2CisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZUwxOW5hbWVUb1BzZXVkb1R5cGVN
YXBFdgorfQoreworICAgYnVnXzc5MzIyIChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1pONGJhc2UqU3RhdGlzdGljc1JlY29yZGVy
VGVzdF8qX1Rlc3Q4VGVzdEJvZHlFdgorfQoreworICAgIyBUaGlzIHRlc3Qgc2ltdWxhdGVzIGEg
cHBhcGkgcGx1Z2luIHRoYXQgZmFpbHMgdG8gZGVjcmVtZW50IGEgcmVmZXJlbmNlCisgICAjIGNv
dW50LiBJbiB0aGF0IGNhc2UsIHRoZSBwcGFwaSBydW50aW1lIHdpbGwgY2xlYW4gdXAgaXRzIGlu
dGVybmFsIGRhdGEKKyAgICMgc3RydWN0dXJlcywgYnV0IGludGVudGlvbmFsbHkgZG9lcyBub3Qg
ZGVsZXRlIHRoZSBwbHVnaW4gb2JqZWN0J3MKKyAgICMgZGVzY3RydWN0b3IsIGJlY2F1c2Ugd2Ug
ZG9uJ3Qgd2FudCB0aGVtIHRvIGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvIGRvCisgICAjIGFueXRo
aW5nIGF0IHRoYXQgcGFydCBvZiBzaHV0ZG93bi4KKyAgIGJ1Z18xNDU3MTAgKEludGVudGlvbmFs
KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTJUZXN0SW5zdGFu
Y2UyN1Rlc3RMZWFrZWRPYmplY3REZXN0cnVjdG9yc0V2CisgICBmdW46X1pOMTJUZXN0SW5zdGFu
Y2U4UnVuVGVzdHNFUktTcworICAgZnVuOl9aTjE1VGVzdGluZ0luc3RhbmNlMTJFeGVjdXRlVGVz
dHNFaQorICAgZnVuOl9aTjJwcDI1Q29tcGxldGlvbkNhbGxiYWNrRmFjdG9yeUkxNVRlc3RpbmdJ
bnN0YW5jZU5TXzIyVGhyZWFkU2FmZVRocmVhZFRyYWl0c0VFMTFEaXNwYXRjaGVyMElNUzFfRnZp
RUVjbEVQUzFfaQorICAgZnVuOl9aTjJwcDI1Q29tcGxldGlvbkNhbGxiYWNrRmFjdG9yeUkxNVRl
c3RpbmdJbnN0YW5jZU5TXzIyVGhyZWFkU2FmZVRocmVhZFRyYWl0c0VFMTJDYWxsYmFja0RhdGFJ
TlMzXzExRGlzcGF0Y2hlcjBJTVMxX0Z2aUVFRUU1VGh1bmtFUHZpCit9Cit7CisgICBpbnRlbnRp
b25hbF9zZWVfYnVnXzE1NjQ2NgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pOM2FzaDVTaGVsbEMxRVBOU18xM1NoZWxsRGVsZWdhdGVFCisgICBmdW46X1pOM2FzaDVT
aGVsbDE0Q3JlYXRlSW5zdGFuY2VFUE5TXzEzU2hlbGxEZWxlZ2F0ZUUKK30KKworCisjLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKyMgMy4gU3VwcHJlc3Npb25zIGZvciByZWFsIHdlYmtpdCBidWdzIHRoYXQgYXJl
IG5vdCB5ZXQgZml4ZWQuCisjIFRoZXNlIHNob3VsZCBhbGwgYmUgaW4gd2Via2l0J3MgYnVnIHRy
YWNraW5nIHN5c3RlbSAoYnV0IGEgZmV3IGFyZW4ndCB5ZXQpLgorCit7CisgICAjIENocm9taXVt
IGZsYWtpbHkgbGVha3MgdGFza3MgYXQgc2h1dGRvd24sIHNlZQorICAgIyBodHRwOi8vY3JidWcu
Y29tLzY1MzIKKyAgICMgaHR0cDovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzIwMDY3CisgICAj
IGh0dHA6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy80MjA4MworICAgIyBUbyByZXByb2R1Y2Us
IHJ1biBpcGMgdGVzdHMKKyAgICMgVGhpcyBpcyB0aGUgLU8wIGNhc2UKKyAgICMgSW4gUHVyaWZ5
LCB0aGV5IGRvbid0IGV2ZW4gdHJ5IHRvIGZyZWUgdGhlbSBhbnltb3JlLgorICAgIyBGb3Igbm93
LCBpbiBWYWxncmluZCwgd2UnbGwgYWRkIHN1cHByZXNzaW9ucyB0byBpZ25vcmUgdGhlc2UgbGVh
a3MuCisgICBidWdfNjUzMgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1oxN05ld1J1bm5hYmxlTWV0aG9kSU4zSVBDMTJDaGFubmVsUHJveHk3Q29udGV4dEVNUzJfRnZ2
RUVQMTRDYW5jZWxhYmxlVGFza1BUX1QwXworfQoreworICAgIyBTZWUgaHR0cDovL2NyYnVnLmNv
bS82NTMyCisgICAjIFRoaXMgaXMgdGhlIC1PMSBjYXNlCisgICBidWdfNjUzMmIKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjNJUEMxMkNoYW5uZWxQcm94eTdDb250ZXh0MTRP
bkNoYW5uZWxFcnJvckV2CisgICBmdW46X1pOM0lQQzdDaGFubmVsMTFDaGFubmVsSW1wbDI4T25G
aWxlQ2FuUmVhZFdpdGhvdXRCbG9ja2luZ0VpCit9Cit7CisgICAjIHdlYmtpdCBsZWFrPyAgU2Vl
IGh0dHA6Ly9jcmJ1Zy5jb20vOTUwMworICAgYnVnXzk1MDMKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IC4uLgorICAgZnVuOl9aTjE5VGVzdFdlYlZpZXdEZWxlZ2F0ZTI0VXBkYXRlU2VsZWN0aW9uQ2xp
cGJvYXJkRWIKK30KK3sKKyAgICMgdmVyeSBjb21tb24gaW4gdWkgdGVzdHMKKyAgIGJ1Z18xNjA5
MQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pONGJhc2UxMU1lc3NhZ2VMb29w
MjJBZGREZXN0cnVjdGlvbk9ic2VydmVyRVBOUzBfMTlEZXN0cnVjdGlvbk9ic2VydmVyRQorICAg
Li4uCisgICBmdW46X1pOM0lQQzExU3luY0NoYW5uZWwxMVN5bmNDb250ZXh0MTVPbkNoYW5uZWxP
cGVuZWRFdgorfQoreworICAgIyB2ZXJ5IGNvbW1vbiBpbiB1aSB0ZXN0cworICAgYnVnXzE2MDky
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46KgorICAgZnVuOl9aTjRiYXNlMTFNZXNzYWdlTG9v
cEMxRU5TMF80VHlwZUUKKyAgIGZ1bjpfWk40YmFzZTZUaHJlYWQxMFRocmVhZE1haW5FdgorfQor
eworICAgIyB2ZXJ5IGNvbW1vbiBpbiB1aSB0ZXN0cworICAgYnVnXzE2MDkyYgorICAgTWVtY2hl
Y2s6TGVhaworICAgLi4uCisgICBmdW46X1pOU3QxMV9EZXF1ZV9iYXNlSU40YmFzZTExUGVuZGlu
Z1Rhc2tFU2FJUzFfRUUxN19NX2luaXRpYWxpemVfbWFwRSoKKyAgIC4uLgorICAgZnVuOl9aTjRi
YXNlMTFNZXNzYWdlTG9vcEMxRU5TMF80VHlwZUUKK30KK3sKKyAgICMgdmVyeSBjb21tb24gaW4g
dWkgdGVzdHMKKyAgIGJ1Z18xNjA5MmMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVu
Ol9aTlN0MTRwcmlvcml0eV9xdWV1ZUlOMTFNZXNzYWdlTG9vcDExUGVuZGluZ1Rhc2tFU3Q2dmVj
dG9ySVMxX1NhSVMxX0VFU3Q0bGVzc0lTMV9FRUMxRVJLUzZfUktTNF8KKyAgIGZ1bjpfWk40YmFz
ZTExTWVzc2FnZUxvb3BDMUVOUzBfNFR5cGVFCisgICBmdW46X1pONGJhc2U2VGhyZWFkMTBUaHJl
YWRNYWluRXYKK30KK3sKKyAgICMgdmVyeSBjb21tb24gaW4gdWkgdGVzdHMsIGFsc28gc2VlbiBp
biBMaW51eCBSZWxpYWJpbGl0eQorICAgYnVnXzE2MDkzCisgICBNZW1jaGVjazpMZWFrCisgICAu
Li4KKyAgIGZ1bjpnZXRhZGRyaW5mbworfQoreworICAgIyB2ZXJ5IGNvbW1vbiBpbiB1aSB0ZXN0
cywgYWxzbyBzZWVuIGluIExpbnV4IFJlbGlhYmlsaXR5CisgICBidWdfMTYwOTUKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjRiYXNlMTFNZXNzYWdlTG9vcDIxQWRkVG9EZWxh
eWVkV29ya1F1ZXVlRVJLTipQZW5kaW5nVGFza0UKKyAgIGZ1bjpfWk40YmFzZTExTWVzc2FnZUxv
b3A2RG9Xb3JrRXYKK30KK3sKKyAgIGJ1Z18xNjEyOAorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Ol9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4zSVBDMTFTeW5jQ2hhbm5lbEMxRSoKKyAgIC4uLgor
ICAgZnVuOl9aTjdjb250ZW50MTFDaGlsZFRocmVhZDRJbml0RXYKK30KK3sKKyAgIGJ1Z18xNjMy
NgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4xMXdl
YmtpdF9nbHVlMTZXZWJVUkxMb2FkZXJJbXBsQzFFdgorICAgZnVuOl9aTjExd2Via2l0X2dsdWUx
NldlYktpdENsaWVudEltcGwxNWNyZWF0ZVVSTExvYWRlckV2CisgICBmdW46X1pON1dlYkNvcmUy
MlJlc291cmNlSGFuZGxlSW50ZXJuYWw1c3RhcnRFdgorfQoreworICAgYnVnXzE3MjkxCisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0Uq
CisgICAuLi4KKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWw4SlNPYmplY3QyM1NldFByb3BlcnR5V2l0
aENhbGxiYWNrRVBOUzBfNk9iamVjdEVQTlMwXzZTdHJpbmdFUzNfUFMxXworfQoreworICAgIyBh
bHNvIGJ1ZyAxNzk3OS4gIEl0J3MgYSBuZXN0IG9mIGxlYWtzLgorICAgYnVnXzE3Mzg1CisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjNJUEMxMkNoYW5u
ZWxQcm94eTdDb250ZXh0MTNDcmVhdGVDaGFubmVsRVJLU3NSS05TXzdDaGFubmVsNE1vZGVFCisg
ICBmdW46X1pOM0lQQzEyQ2hhbm5lbFByb3h5NEluaXRFUktTc05TXzdDaGFubmVsNE1vZGVFUDEx
TWVzc2FnZUxvb3BiCisgICBmdW46X1pOM0lQQzEyQ2hhbm5lbFByb3h5QzJFUktTc05TXzdDaGFu
bmVsNE1vZGVFUDExTWVzc2FnZUxvb3BQTlMwXzdDb250ZXh0RWIKKyAgIC4uLgorICAgZnVuOl9a
TjNJUEMxMVN5bmNDaGFubmVsQzFFUktTc05TXzdDaGFubmVsNE1vZGVFUE5TM184TGlzdGVuZXJF
UE5TXzEyQ2hhbm5lbFByb3h5MTNNZXNzYWdlRmlsdGVyRVAxMU1lc3NhZ2VMb29wYlBONGJhc2Ux
M1dhaXRhYmxlRXZlbnRFCit9Cit7CisgICBidWdfMTc1NDAKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpfWm53KgorICAgZnVuOl9aTjRiYXNlMTlNZXNzYWdlUHVtcExpYmV2ZW50MTlXYXRjaEZp
bGVEZXNjcmlwdG9yRWliTlMwXzRNb2RlRVBOUzBfMjFGaWxlRGVzY3JpcHRvcldhdGNoZXJFUE5T
MF83V2F0Y2hlckUKKyAgIGZ1bjpfWk40YmFzZTE2TWVzc2FnZUxvb3BGb3JJTzE5V2F0Y2hGaWxl
RGVzY3JpcHRvckVpYk5TXzRNb2RlRVBONGJhc2UxOU1lc3NhZ2VQdW1wTGliZXZlbnQyMUZpbGVE
ZXNjcmlwdG9yV2F0Y2hlckVQTlMyXzdXYXRjaGVyRQorICAgZnVuOl9aTjNJUEM3Q2hhbm5lbDEx
Q2hhbm5lbEltcGw3Q29ubmVjdEV2CisgICBmdW46X1pOM0lQQzdDaGFubmVsN0Nvbm5lY3RFdgor
ICAgZnVuOl9aTjNJUEMxMkNoYW5uZWxQcm94eTdDb250ZXh0MTVPbkNoYW5uZWxPcGVuZWRFdgor
fQoreworICAgIyBPcmlnaW5hbGx5IGZpbGVkIGFzIGh0dHA6Ly9jcmJ1Zy5jb20vNjU0NywgYnV0
IHRoYXQgd2FzIGNsb3NlZAorICAgIyBGb3VuZCBieSBydW5uaW5nIHVpIHRlc3RzIG92ZXIgYW5k
IG92ZXIKKyAgIGJ1Z18xODY2NAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pOMThSZXNvdXJjZURpc3BhdGNoZXIxMkNyZWF0ZUJyaWRnZUVSS04xMXdlYmtpdF9nbHVl
MjBSZXNvdXJjZUxvYWRlckJyaWRnZTExUmVxdWVzdEluZm9FaWkKKyAgIGZ1bjpfWk4xMUNoaWxk
VGhyZWFkMTJDcmVhdGVCcmlkZ2VFUktOMTF3ZWJraXRfZ2x1ZTIwUmVzb3VyY2VMb2FkZXJCcmlk
Z2UxMVJlcXVlc3RJbmZvRWlpCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTE0UmVzb3VyY2VI
YW5kbGU1c3RhcnRFUE5TXzVGcmFtZUUKK30KK3sKKyAgIGJ1Z18xOTE5NgorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMnY4MTdSZWdpc3RlckV4dGVuc2lvbkVQTlNf
OUV4dGVuc2lvbkUKKyAgIGZ1bjpfWk43V2ViQ29yZTdWOFByb3h5MjNyZWdpc3RlckV4dGVuc2lv
bldpdGhWOEVQTjJ2ODlFeHRlbnNpb25FCisgICBmdW46X1pON1dlYkNvcmU3VjhQcm94eTE3cmVn
aXN0ZXJFeHRlbnNpb25FUE4ydjg5RXh0ZW5zaW9uRWkKKyAgIGZ1bjpfWk42V2ViS2l0MTdyZWdp
c3RlckV4dGVuc2lvbkVQTjJ2ODlFeHRlbnNpb25FaQorICAgZnVuOl9aTjEyUmVuZGVyVGhyZWFk
MjNFbnN1cmVXZWJLaXRJbml0aWFsaXplZEV2Cit9Cit7CisgICBidWdfMTkzNzEKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1pONGJhc2UxM1dhaXRhYmxl
RXZlbnQ3RW5xdWV1ZUVQTlMwXzZXYWl0ZXJFCisgICBmdW46X1pONGJhc2UxM1dhaXRhYmxlRXZl
bnQ5VGltZWRXYWl0RVJLTlNfOVRpbWVEZWx0YUUKKyAgIGZ1bjpfWk40YmFzZTEzV2FpdGFibGVF
dmVudDRXYWl0RXYKKyAgIGZ1bjpfWk40YmFzZTE4TWVzc2FnZVB1bXBEZWZhdWx0M1J1bkVQTlNf
MTFNZXNzYWdlUHVtcDhEZWxlZ2F0ZUUKK30KK3sKKyAgICMgc2xpZ2h0IHZhcmlhbnQgb2YgdGhl
IGFib3ZlCisgICBidWdfMTkzNzFhCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IC4uLgorICAgZnVuOl9aTjRiYXNlMTNXYWl0YWJsZUV2ZW50N0VucXVldWVFUE5TMF82V2FpdGVy
RQorICAgZnVuOl9aTjRiYXNlMTNXYWl0YWJsZUV2ZW50OVRpbWVkV2FpdEVSS05TXzlUaW1lRGVs
dGFFCisgICBmdW46X1pONGJhc2UxOE1lc3NhZ2VQdW1wRGVmYXVsdDNSdW5FUE5TXzExTWVzc2Fn
ZVB1bXA4RGVsZWdhdGVFCit9Cit7CisgICBidWdfMTkzNzcKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpjYWxsb2MKKyAgIC4uLgorICAgZnVuOmV2ZW50X2Jhc2VfbmV3CisgICBmdW46X1pONGJh
c2UxOU1lc3NhZ2VQdW1wTGliZXZlbnRDMUV2CisgICBmdW46X1pONGJhc2UxMU1lc3NhZ2VMb29w
QzFFTlMwXzRUeXBlRQorICAgZnVuOl9aTjRiYXNlNlRocmVhZDEwVGhyZWFkTWFpbkV2Cit9Cit7
CisgICBidWdfMTk0NjMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjRiYXNl
MTlNZXNzYWdlUHVtcExpYmV2ZW50NEluaXRFdgorICAgZnVuOl9aTjRiYXNlMTlNZXNzYWdlUHVt
cExpYmV2ZW50QzFFdgorICAgZnVuOl9aTjRiYXNlMTFNZXNzYWdlTG9vcEMxRU5TMF80VHlwZUUK
K30KK3sKKyAgIGJ1Z18xOTc3NV9hCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpt
YWxsb2MKKyAgIGZ1bjpzcWxpdGUzTWVtTWFsbG9jCisgICBmdW46bWFsbG9jV2l0aEFsYXJtCisg
ICBmdW46c3FsaXRlM01hbGxvYworICAgLi4uCisgICBmdW46c3FsaXRlM1ZkYmVFeGVjCisgICBm
dW46c3FsaXRlM1N0ZXAKKyAgIGZ1bjpzcWxpdGUzX3N0ZXAKKyAgIGZ1bjpzcWxpdGUzX2V4ZWMK
KyAgIGZ1bjpfWk4zc3FsMTBDb25uZWN0aW9uN0V4ZWN1dGUqCisgICAuLi4KKyAgIGZ1bjpfWk43
aGlzdG9yeSpEYXRhYmFzZSpDcmVhdGUqCit9Cit7CisgICBidWdfMTk3NzVfYworICAgTWVtY2hl
Y2s6TGVhaworICAgLi4uCisgICBmdW46b3BlbkRhdGFiYXNlCisgICBmdW46c3FsaXRlM19vcGVu
CisgICBmdW46X1pOM3NxbDEwQ29ubmVjdGlvbjEyT3BlbkludGVybmFsRVJLU3MKK30KK3sKKyAg
IGJ1Z18xOTc3NV9nCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46c3Fs
aXRlM01lbU1hbGxvYworICAgZnVuOm1hbGxvY1dpdGhBbGFybQorICAgZnVuOnNxbGl0ZTNNYWxs
b2MKKyAgIGZ1bjpzcWxpdGUzUGFyc2VyQWxsb2MKKyAgIGZ1bjpzcWxpdGUzUnVuUGFyc2VyCisg
ICBmdW46c3FsaXRlM1ByZXBhcmUKKyAgIGZ1bjpzcWxpdGUzTG9ja0FuZFByZXBhcmUKKyAgIGZ1
bjpzcWxpdGUzX3ByZXBhcmUqCit9Cit7CisgICBidWdfMTk3NzVfaAorICAgTWVtY2hlY2s6TGVh
aworICAgLi4uCisgICBmdW46bWFsbG9jCisgICBmdW46c3FsaXRlM01lbU1hbGxvYworICAgZnVu
Om1hbGxvY1dpdGhBbGFybQorICAgZnVuOnNxbGl0ZTNNYWxsb2MKKyAgIC4uLgorICAgZnVuOnl5
X3JlZHVjZQorfQorIyBJUENpbmcgdW5pbml0aWFsaXplZCBkYXRhCit7CisgICBidWdfMjA5OTdf
YQorICAgTWVtY2hlY2s6UGFyYW0KKyAgIHNvY2tldGNhbGwuc2VuZG1zZyhtc2cubXNnX2lvdltp
XSkKKyAgIGZ1bjpzZW5kbXNnKgorICAgZnVuOl9aTjNJUEM3Q2hhbm5lbDExQ2hhbm5lbEltcGw0
U2VuZEVQTlNfN01lc3NhZ2VFCit9Cit7CisgICBidWdfMjA5OTdfYgorICAgTWVtY2hlY2s6UGFy
YW0KKyAgIHNvY2tldGNhbGwuc2VuZG1zZyhtc2cubXNnX2lvdltpXSkKKyAgIGZ1bjpzZW5kbXNn
JFVOSVgyMDAzCisgICAuLi4KKyAgIGZ1bjpfWk40YmFzZTE5TWVzc2FnZVB1bXBMaWJldmVudDIx
RmlsZURlc2NyaXB0b3JXYXRjaGVyMjhPbkZpbGVDYW5SZWFkV2l0aG91dEJsb2NraW5nRWlQUzBf
CisgICAuLi4KKyAgIGZ1bjpldmVudF9wcm9jZXNzX2FjdGl2ZQorICAgZnVuOmV2ZW50X2Jhc2Vf
bG9vcAorfQoreworICAgYnVnXzIyMDk4CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk40YmFzZTE5TWVzc2FnZVB1bXBMaWJldmVudDE5V2F0Y2hGaWxlRGVzY3JpcHRv
ckVpYk5TMF80TW9kZUVQTlMwXzIxRmlsZURlc2NyaXB0b3JXYXRjaGVyRVBOUzBfN1dhdGNoZXJF
CisgICBmdW46X1pONGJhc2UxNk1lc3NhZ2VMb29wRm9ySU8xOVdhdGNoRmlsZURlc2NyaXB0b3JF
aWJOU180TW9kZUVQTjRiYXNlMTlNZXNzYWdlUHVtcExpYmV2ZW50MjFGaWxlRGVzY3JpcHRvcldh
dGNoZXJFUE5TMl83V2F0Y2hlckUKKyAgIGZ1bjpfWk4zSVBDN0NoYW5uZWwxMUNoYW5uZWxJbXBs
MjNQcm9jZXNzT3V0Z29pbmdNZXNzYWdlc0V2CisgICBmdW46X1pOM0lQQzdDaGFubmVsMTFDaGFu
bmVsSW1wbDRTZW5kRVBOU183TWVzc2FnZUUKKyAgIGZ1bjpfWk4zSVBDN0NoYW5uZWw0U2VuZEVQ
TlNfN01lc3NhZ2VFCisgICBmdW46X1pOM0lQQzEyQ2hhbm5lbFByb3h5N0NvbnRleHQxM09uU2Vu
ZE1lc3NhZ2VFUE5TXzdNZXNzYWdlRQorICAgZnVuOl9aTjNJUEM4U2VuZFRhc2szUnVuRXYKK30K
K3sKKyAgIGJ1Z18yMjkyMworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4K
KyAgIGZ1bjpfWk4xM1dvcmtlclNlcnZpY2UxMkNyZWF0ZVdvcmtlcioKKyAgIGZ1bjpfWk4xOVJl
bmRlck1lc3NhZ2VGaWx0ZXIxNE9uQ3JlYXRlV29ya2VyKgorfQoreworICAgYnVnXzI3NjY1Cisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMFNrWGZlcm1vZGU2Q3Jl
YXRlRU5TXzRNb2RlRQorICAgZnVuOl9aTjdTa1BhaW50MTVzZXRYZmVybW9kZU1vZGVFTjEwU2tY
ZmVybW9kZTRNb2RlRQorICAgZnVuOl9aTks3V2ViQ29yZTE5UGxhdGZvcm1Db250ZXh0U2tpYTE2
c2V0dXBQYWludENvbW1vbkVQN1NrUGFpbnQKKyAgIGZ1bjpfWk43V2ViQ29yZTE1R3JhcGhpY3ND
b250ZXh0OGZpbGxSZWN0RVJLTlNfOUZsb2F0UmVjdEVSS05TXzVDb2xvckVOU18xMENvbG9yU3Bh
Y2VFCisgICBmdW46X1pON1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDhmaWxsUmVjdEVSS05TXzlG
bG9hdFJlY3RFUktOU181Q29sb3JFTlNfMTBDb2xvclNwYWNlRU5TXzE3Q29tcG9zaXRlT3BlcmF0
b3JFCit9CisjIFRoZSBmb2xsb3dpbmcgdGhyZWUgc3VwcHJlc3Npb25zIGFyZSByZWxhdGVkIHRv
IHRoZSB3b3JrZXJzIGNvZGUuCit7CisgICBidWdfMjc4MzcKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpfWm53KgorICAgZnVuOl9aTjE5V2ViU2hhcmVkV29ya2VyU3R1YjlPbkNvbm5lY3RFaWkK
K30KK3sKKyAgIGJ1Z18yNzgzOAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
ZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFagorICAgZnVuOl9aTjNXVEYxM0Zhc3RBbGxvY0Jhc2Vu
d0VqCisgICBmdW46X1pON1dlYkNvcmUxOE1lc3NhZ2VQb3J0Q2hhbm5lbDZjcmVhdGVFTjNXVEYx
MFBhc3NSZWZQdHJJTlNfMjZQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbEVFRQorICAgZnVuOl9a
TjZXZWJLaXQxOVdlYlNoYXJlZFdvcmtlckltcGw3Y29ubmVjdEVQTlNfMjFXZWJNZXNzYWdlUG9y
dENoYW5uZWxFUE5TXzE1V2ViU2hhcmVkV29ya2VyMTVDb25uZWN0TGlzdGVuZXJFCisgICBmdW46
X1pOMTlXZWJTaGFyZWRXb3JrZXJTdHViOU9uQ29ubmVjdEVpaQorfQoreworICAgYnVnXzI4MjAw
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46bWFsbG9jCisgICBmdW46
X1pOM1dURjEwZmFzdE1hbGxvY0VqCisgICBmdW46X1pOM1dURjEzRmFzdEFsbG9jQmFzZW53RWoK
KyAgIGZ1bjpfWk43V2ViQ29yZTE4TWVzc2FnZVBvcnRDaGFubmVsNmNyZWF0ZUVOM1dURjEwUGFz
c1JlZlB0cklOU18yNlBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsRUVFCisgICBmdW46X1pONldl
YktpdDE5V2ViU2hhcmVkV29ya2VySW1wbDdjb25uZWN0RVBOU18yMVdlYk1lc3NhZ2VQb3J0Q2hh
bm5lbEVQTlNfMTVXZWJTaGFyZWRXb3JrZXIxNUNvbm5lY3RMaXN0ZW5lckUKKyAgIGZ1bjpfWk4x
OVdlYlNoYXJlZFdvcmtlclN0dWI5T25Db25uZWN0RWlpCit9CisKK3sKKyAgIGJ1Z18yOTY3NQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMjdDaHJvbWVCcm93c2Vy
TWFpblBhcnRzUG9zaXgyNFBvc3RNYWluTWVzc2FnZUxvb3BTdGFydEV2CisgICBmdW46X1pON2Nv
bnRlbnQxNUJyb3dzZXJNYWluTG9vcDIwTWFpbk1lc3NhZ2VMb29wU3RhcnRFdgorICAgZnVuOl9a
Tjdjb250ZW50MjFCcm93c2VyTWFpblJ1bm5lckltcGwxMEluaXRpYWxpemVFUktOU18xOE1haW5G
dW5jdGlvblBhcmFtc0UKKyAgIGZ1bjpfWk43Y29udGVudDExQnJvd3Nlck1haW5FUktOU18xOE1h
aW5GdW5jdGlvblBhcmFtc0UKKyAgIGZ1bjpfWk43Y29udGVudDIzUnVuTmFtZWRQcm9jZXNzVHlw
ZU1haW5FUktTc1JLTlNfMThNYWluRnVuY3Rpb25QYXJhbXNFUE5TXzE5Q29udGVudE1haW5EZWxl
Z2F0ZUUKKyAgIGZ1bjpfWk43Y29udGVudDIxQ29udGVudE1haW5SdW5uZXJJbXBsM1J1bkV2Cisg
ICBmdW46X1pON2NvbnRlbnQxMUNvbnRlbnRNYWluRWlQUEtjUE5TXzE5Q29udGVudE1haW5EZWxl
Z2F0ZUUKKyAgIGZ1bjpDaHJvbWVNYWluCit9Cit7CisgICBidWdfMzAzNDYKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1pOMTNUQ01hbGxvY0d1YXJkQzFF
dgorICAgZnVuOl9aNDFfX3N0YXRpY19pbml0aWFsaXphdGlvbl9hbmRfZGVzdHJ1Y3Rpb25fMGlp
CisgICBmdW46X0dMT0JBTF9fSV9fWk42MUZMQUdfX25hbWVzcGFjZV9kb19ub3RfdXNlX2RpcmVj
dGx5X3VzZV9ERUNMQVJFX2ludDY0X2luc3RlYWQ0M0ZMQUdTX3RjbWFsbG9jX2xhcmdlX2FsbG9j
X3JlcG9ydF90aHJlc2hvbGRFCit9CisKK3sKKyAgIGJ1Z18zMTgwMAorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmUyOGNyZWF0ZUZvbnRDdXN0b21QbGF0
Zm9ybURhdGFFUE5TXzEyU2hhcmVkQnVmZmVyRQorICAgZnVuOl9aTjdXZWJDb3JlMTBDYWNoZWRG
b250MjBlbnN1cmVDdXN0b21Gb250RGF0YUV2CisgICBmdW46X1pON1dlYkNvcmUxN0NTU0ZvbnRG
YWNlU291cmNlMTFnZXRGb250RGF0YUVSS05TXzE1Rm9udERlc2NyaXB0aW9uRWJiUE5TXzE1Q1NT
Rm9udFNlbGVjdG9yRQorICAgZnVuOl9aTjdXZWJDb3JlMTFDU1NGb250RmFjZTExZ2V0Rm9udERh
dGFFUktOU18xNUZvbnREZXNjcmlwdGlvbkViYgorICAgZnVuOl9aTjdXZWJDb3JlMjBDU1NTZWdt
ZW50ZWRGb250RmFjZTExZ2V0Rm9udERhdGFFUktOU18xNUZvbnREZXNjcmlwdGlvbkUKKyAgIGZ1
bjpfWk43V2ViQ29yZTE1Q1NTRm9udFNlbGVjdG9yMTFnZXRGb250RGF0YUVSS05TXzE1Rm9udERl
c2NyaXB0aW9uRVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKKyAgIGZ1bjpfWk43V2ViQ29yZTlGb250
Q2FjaGUxMWdldEZvbnREYXRhRVJLTlNfNEZvbnRFUmlQTlNfMTJGb250U2VsZWN0b3JFCisgICBm
dW46X1pOSzdXZWJDb3JlMTZGb250RmFsbGJhY2tMaXN0MTBmb250RGF0YUF0RVBLTlNfNEZvbnRF
agorICAgZnVuOl9aTks3V2ViQ29yZTE2Rm9udEZhbGxiYWNrTGlzdDE1cHJpbWFyeUZvbnREYXRh
RVBLTlNfNEZvbnRFCit9Cit7CisgICBidWdfMzE5ODUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjpfWm53KgorICAgLi4uCisgICBmdW46X1pOM25ldDE2SHR0cE5ldHdvcmtMYXllcjEwR2V0U2Vz
c2lvbkV2CisgICBmdW46X1pOM25ldDE2SHR0cE5ldHdvcmtMYXllcjE3Q3JlYXRlVHJhbnNhY3Rp
b25FUDEwc2NvcGVkX3B0cklOU18xNUh0dHBUcmFuc2FjdGlvbkVFCisgICBmdW46X1pOM25ldDlI
dHRwQ2FjaGUxMVRyYW5zYWN0aW9uMTNEb1NlbmRSZXF1ZXN0RXYKKyAgIGZ1bjpfWk4zbmV0OUh0
dHBDYWNoZTExVHJhbnNhY3Rpb242RG9Mb29wRWkKK30KK3sKKyAgIGJ1Z18zMjA4NQorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9j
YXRvcklON2NvbnRlbnQyMU5vdGlmaWNhdGlvblJlZ2lzdHJhcjZSZWNvcmRFRThhbGxvY2F0ZSoK
KyAgIGZ1bjpfWk5TdDEyX1ZlY3Rvcl9iYXNlSU43Y29udGVudDIxTm90aWZpY2F0aW9uUmVnaXN0
cmFyNlJlY29yZEVTYUlTKgorICAgZnVuOl9aTlN0NnZlY3RvcklON2NvbnRlbnQyMU5vdGlmaWNh
dGlvblJlZ2lzdHJhcjZSZWNvcmRFU2FJUzJfRUUxM19NX2luc2VydF9hdXhFTjlfX2dudV9jeHgx
N19fbm9ybWFsX2l0ZXJhdG9ySVBTMl9TKgorICAgZnVuOl9aTlN0NnZlY3RvcklON2NvbnRlbnQy
MU5vdGlmaWNhdGlvblJlZ2lzdHJhcjZSZWNvcmRFU2FJUyoKKyAgIGZ1bjpfWk43Y29udGVudDIx
Tm90aWZpY2F0aW9uUmVnaXN0cmFyM0FkZCoKK30KK3sKKyAgIGJ1Z18zMjI3M19hCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4zSVBDMTJDaGFubmVsUHJveHk0U2Vu
ZEVQTlNfN01lc3NhZ2VFCisgICBmdW46X1pOM0lQQzExU3luY0NoYW5uZWwxNVNlbmRXaXRoVGlt
ZW91dEVQTlNfN01lc3NhZ2VFaQorICAgZnVuOl9aTjNJUEMxMVN5bmNDaGFubmVsNFNlbmRFUE5T
XzdNZXNzYWdlRQorICAgZnVuOl9aTjExQ2hpbGRUaHJlYWQ0U2VuZEVQTjNJUEM3TWVzc2FnZUUK
KyAgIGZ1bjpfWk4xMlJlbmRlclRocmVhZDRTZW5kRVBOM0lQQzdNZXNzYWdlRQorICAgZnVuOl9a
TjEyUmVuZGVyV2lkZ2V0NFNlbmRFUE4zSVBDN01lc3NhZ2VFCisgICBmdW46X1pOMTJSZW5kZXJX
aWRnZXQxNkRvRGVmZXJyZWRVcGRhdGVFdgorICAgZnVuOl9aTjEyUmVuZGVyV2lkZ2V0MjBDYWxs
RG9EZWZlcnJlZFVwZGF0ZUV2Cit9Cit7CisgICBidWdfMzIyNzNfYgorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4yNEJyb3dzZXJSZW5kZXJQcm9jZXNz
SG9zdDRTZW5kRVBOM0lQQzdNZXNzYWdlRQorICAgZnVuOl9aTjE2UmVuZGVyV2lkZ2V0SG9zdDRT
ZW5kRVBOM0lQQzdNZXNzYWdlRQorfQoreworICAgYnVnXzMyNjIzCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIGZ1bjpzc2wzX0hhbmRsZUhhbmRzaGFrZU1lc3NhZ2UKKyAgIGZ1bjpzc2wz
X0hhbmRsZUhhbmRzaGFrZQorICAgZnVuOnNzbDNfSGFuZGxlUmVjb3JkCisgICBmdW46c3NsM19H
YXRoZXJDb21wbGV0ZUhhbmRzaGFrZQorICAgZnVuOlNTTF9Gb3JjZUhhbmRzaGFrZQorICAgZnVu
Ol9aTjNuZXQxOFNTTENsaWVudFNvY2tldE5TUzRDb3JlMTFEb0hhbmRzaGFrZUV2Cit9Cit7Cisg
ICBidWdfMzI2MjRfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgb2JqOioK
KyAgIG9iajoqCisgICBvYmo6KgorICAgb2JqOioKKyAgIG9iajoqCisgICBvYmo6KgorICAgb2Jq
OioKKyAgIG9iajoqCisgICBvYmo6KgorICAgb2JqOioKKyAgIG9iajoqCisgICBvYmo6KgorICAg
b2JqOioKKyAgIG9iajoqCisgICBvYmo6KgorICAgb2JqOioKKyAgIG9iajoqCisgICBvYmo6Kgor
ICAgb2JqOioKKyAgIG9iajoqCisgICBmdW46c2VjbW9kX01vZHVsZUluaXQKK30KK3sKKyAgIGJ1
Z18zMjYyNF9jCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjptYWxsb2MKKyAgIC4u
LgorICAgZnVuOlBPUlRfQWxsb2NfVXRpbAorICAgLi4uCisgICBmdW46UEsxMV9Jbml0UGluCit9
Cit7CisgICBidWdfMzI2MjRfZgorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46Q0VS
VF9QS0lYVmVyaWZ5Q2VydAorICAgZnVuOl9aTjNuZXQxMl9HTE9CQUxfX05fMTE0UEtJWFZlcmlm
eUNlcnRFKgorfQoreworICAgYnVnXzMyNjI0X2cKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOkNFUlRfVmVyaWZ5U2lnbmVkRGF0YQorICAgZnVuOmNlcnRfVmVyaWZ5Q2VydENoYWlu
CisgICBmdW46Q0VSVF9WZXJpZnlDZXJ0Q2hhaW4KKyAgIGZ1bjpDRVJUX1ZlcmlmeUNlcnQKK30K
KworeworICAgYnVnXzMwNjMzXzM5MzI1CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIC4uLgorICAgZnVuOl9aTjExUHJvZmlsZUltcGwxN0dldFJlcXVlc3RDb250ZXh0RXYKKyAg
IGZ1bjpfWk4xOVNhZmVCcm93c2luZ1NlcnZpY2U1U3RhcnRFdgorICAgZnVuOl9aTjE5U2FmZUJy
b3dzaW5nU2VydmljZTEwSW5pdGlhbGl6ZUV2CisgICBmdW46X1pOMjJSZXNvdXJjZURpc3BhdGNo
ZXJIb3N0MTBJbml0aWFsaXplRXYKKyAgIGZ1bjpfWk4xOEJyb3dzZXJQcm9jZXNzSW1wbDI4Q3Jl
YXRlUmVzb3VyY2VEaXNwYXRjaGVySG9zdEV2CisgICBmdW46X1pOMThCcm93c2VyUHJvY2Vzc0lt
cGwyNHJlc291cmNlX2Rpc3BhdGNoZXJfaG9zdEV2CisgICBmdW46X1pOMTZFeHRlbnNpb25TZXJ2
aWNlNEluaXRFdgorfQoreworICAgYnVnXzQyODQyCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
X1pudyoKKyAgIGZ1bjpfWk4xOVRlc3RXZWJWaWV3RGVsZWdhdGUxMmNyZWF0ZVdvcmtlckVQTjZX
ZWJLaXQ4V2ViRnJhbWVFUE5TMF8xNVdlYldvcmtlckNsaWVudEUKKyAgIGZ1bjpfWk42V2ViS2l0
MTlXZWJXb3JrZXJDbGllbnRJbXBsMjRjcmVhdGVXb3JrZXJDb250ZXh0UHJveHlFUE43V2ViQ29y
ZTZXb3JrZXJFCisgICBmdW46X1pON1dlYkNvcmUxOFdvcmtlckNvbnRleHRQcm94eTZjcmVhdGVF
UE5TXzZXb3JrZXJFCisgICBmdW46X1pON1dlYkNvcmU2V29ya2VyQzFFUE5TXzIyU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dEUKKyAgIGZ1bjpfWk43V2ViQ29yZTZXb3JrZXI2Y3JlYXRlRVJLTjNXVEY2
U3RyaW5nRVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRFUmkKKyAgIGZ1bjpfWk43V2ViQ29y
ZThWOFdvcmtlcjE5Y29uc3RydWN0b3JDYWxsYmFja0VSS04ydjg5QXJndW1lbnRzRQorfQorewor
ICAgYnVnXzQyOTQyX2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisg
ICBmdW46X1pOM3NxbDEwQ29ubmVjdGlvbjE4R2V0Q2FjaGVkU3RhdGVtZW50RVJLTlNfMTFTdGF0
ZW1lbnRJREVQS2MKKyAgIGZ1bjpfWk4zc3FsOU1ldGFUYWJsZTE5UHJlcGFyZUdldFN0YXRlbWVu
dEVQTlNfOVN0YXRlbWVudEVQS2MKKyAgIGZ1bjpfWk4zc3FsOU1ldGFUYWJsZThHZXRWYWx1ZUVQ
S2NQaQorICAgZnVuOl9aTjNzcWw5TWV0YVRhYmxlMjZHZXRDb21wYXRpYmxlVmVyc2lvbk51bWJl
ckV2CisgICAuLi4KKyAgIGZ1bjpfWk4zbmV0MTNDb29raWVNb25zdGVyOUluaXRTdG9yZUV2Cit9
Cit7CisgICBidWdfNDI5NDJfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAu
Li4KKyAgIGZ1bjpfWk4zc3FsMTBDb25uZWN0aW9uMThHZXRDYWNoZWRTdGF0ZW1lbnRFUktOU18x
MVN0YXRlbWVudElERVBLYworICAgZnVuOl9aTjNzcWw5TWV0YVRhYmxlMTlQcmVwYXJlU2V0U3Rh
dGVtZW50RVBOU185U3RhdGVtZW50RVBLYworICAgZnVuOl9aTjNzcWw5TWV0YVRhYmxlOFNldFZh
bHVlRVBLY2kKKyAgIGZ1bjpfWk4zc3FsOU1ldGFUYWJsZTE2U2V0VmVyc2lvbk51bWJlckVpCisg
ICAuLi4KKyAgIGZ1bjpfWk4zbmV0MTNDb29raWVNb25zdGVyOUluaXRTdG9yZUV2Cit9Cit7Cisg
ICBidWdfNDI5NThfYQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgLi4uCisg
ICBmdW46X05QTl9SZWdpc3Rlck9iamVjdAorICAgZnVuOl9aTjdXZWJDb3JlMTZTY3JpcHRDb250
cm9sbGVyMjB3aW5kb3dTY3JpcHROUE9iamVjdEV2CisgICBmdW46X1pOSzZXZWJLaXQxMldlYkZy
YW1lSW1wbDEyd2luZG93T2JqZWN0RXYKKyAgIGZ1bjpfWk42d2Via2l0NW5wYXBpMTNXZWJQbHVn
aW5JbXBsMjNHZXRXaW5kb3dTY3JpcHROUE9iamVjdEV2CisgICBmdW46TlBOX0dldFZhbHVlCit9
Cit7CisgICBidWdfNDI5NThfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
Li4uCisgICBmdW46X05QTl9SZWdpc3Rlck9iamVjdAorICAgZnVuOl9aTjdXZWJDb3JlMjVjcmVh
dGVWOE9iamVjdEZvck5QT2JqZWN0RVA4TlBPYmplY3RTMV8KKyAgIGZ1bjpfWk43V2ViQ29yZTE2
U2NyaXB0Q29udHJvbGxlcjE4YmluZFRvV2luZG93T2JqZWN0RVBOU181RnJhbWVFUktOM1dURjZT
dHJpbmdFUDhOUE9iamVjdAorICAgZnVuOl9aTjZXZWJLaXQxMldlYkZyYW1lSW1wbDE4YmluZFRv
V2luZG93T2JqZWN0RVJLTlNfOVdlYlN0cmluZ0VQOE5QT2JqZWN0CisgICBmdW46X1pOMTNDcHBC
b3VuZENsYXNzMTZiaW5kVG9KYXZhc2NyaXB0RVBONldlYktpdDhXZWJGcmFtZUVSS05TMF85V2Vi
U3RyaW5nRQorfQoreworICAgYnVnXzQyOTU4X2MKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpt
YWxsb2MKKyAgIC4uLgorICAgZnVuOl9OUE5fUmVnaXN0ZXJPYmplY3QKKyAgIGZ1bjpfWk43V2Vi
Q29yZTI1Y3JlYXRlVjhPYmplY3RGb3JOUE9iamVjdEVQOE5QT2JqZWN0UzFfCisgICBmdW46X1pO
N1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyOWNyZWF0ZVNjcmlwdEluc3RhbmNlRm9yV2lkZ2V0
RVBOU182V2lkZ2V0RQorICAgZnVuOl9aTio3V2ViQ29yZTE3SFRNTFBsdWdJbkVsZW1lbnQxMWdl
dEluc3RhbmNlRXYKK30KK3sKKyAgIGJ1Z180MzQ3MQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Ol9abncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcklQTjRiYXNlMTFNZXNz
YWdlTG9vcDE5RGVzdHJ1Y3Rpb25PYnNlcnZlckVFOGFsbG9jYXRlRSoKKyAgIGZ1bjpfWk5TdDEy
X1ZlY3Rvcl9iYXNlSVBONGJhc2UxMU1lc3NhZ2VMb29wMTlEZXN0cnVjdGlvbk9ic2VydmVyRVNh
SVMqCisgICBmdW46X1pOU3Q2dmVjdG9ySVBONGJhc2UxMU1lc3NhZ2VMb29wMTlEZXN0cnVjdGlv
bk9ic2VydmVyRVNhSVMqCisgICBmdW46X1pOU3Q2dmVjdG9ySVBONGJhc2UxMU1lc3NhZ2VMb29w
MTlEZXN0cnVjdGlvbk9ic2VydmVyRVNhSVMqCisgICBmdW46X1pOMTZPYnNlcnZlckxpc3RCYXNl
SU40YmFzZTExTWVzc2FnZUxvb3AxOURlc3RydWN0aW9uT2JzZXJ2ZXJFRTExQWRkT2JzZXJ2ZXJF
UFMqCisgICBmdW46X1pONGJhc2UxMU1lc3NhZ2VMb29wMjJBZGREZXN0cnVjdGlvbk9ic2VydmVy
RVBOUzBfMTlEZXN0cnVjdGlvbk9ic2VydmVyRQorfQoreworICAgYnVnXzQ2MjUwCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4MTNuZXdfYWxsb2Nh
dG9ySVBOMTFNZXNzYWdlTG9vcDEyVGFza09ic2VydmVyRUU4YWxsb2NhdGVFalBLdgorICAgZnVu
Ol9aTlN0MTJfVmVjdG9yX2Jhc2VJUE4xMU1lc3NhZ2VMb29wMTJUYXNrT2JzZXJ2ZXJFU2FJUzJf
RUUxMV9NX2FsbG9jYXRlRWoKKyAgIGZ1bjpfWk5TdDZ2ZWN0b3JJUE4xMU1lc3NhZ2VMb29wMTJU
YXNrT2JzZXJ2ZXJFU2FJUzJfRUUxM19NX2luc2VydF9hdXhFTjlfX2dudV9jeHgxN19fbm9ybWFs
X2l0ZXJhdG9ySVBTMl9TNF9FRVJLUzJfCisgICBmdW46X1pOU3Q2dmVjdG9ySVBOMTFNZXNzYWdl
TG9vcDEyVGFza09ic2VydmVyRVNhSVMyX0VFOXB1c2hfYmFja0VSS1MyXworICAgZnVuOl9aTjE2
T2JzZXJ2ZXJMaXN0QmFzZUlOMTFNZXNzYWdlTG9vcDEyVGFza09ic2VydmVyRUUxMUFkZE9ic2Vy
dmVyRVBTMV8KKyAgIGZ1bjpfWk40YmFzZTExTWVzc2FnZUxvb3AxNUFkZFRhc2tPYnNlcnZlckVQ
TlNfMTJUYXNrT2JzZXJ2ZXJFCisgICBmdW46KklPSmFua09ic2VydmVyMjFBdHRhY2hUb0N1cnJl
bnRUaHJlYWRFdgorfQoreworICAgYnVnXzQ3OTUwCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
X1pudyoKKyAgIC4uLgorICAgZnVuOipDcmVhdGVTcGR5SGVhZGVyc0Zyb21IdHRwUmVxdWVzdEVS
S04zbmV0MTVIdHRwUmVxdWVzdEluZm9FUFN0M21hcElTc1NzU3Q0bGVzc0lTc0VTYUlTdDRwYWly
SUtTc1NzRUVFCit9Cit7CisgICBidWdfNDkyNzlfYQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Ol9abncqCisgICBmdW46KkNocm9tZUNvb2tpZU1vbnN0ZXJEZWxlZ2F0ZUMxRVA3UHJvZmlsZQor
ICAgZnVuOl9aTjMwQ2hyb21lVVJMUmVxdWVzdENvbnRleHRGYWN0b3J5QzJFUDdQcm9maWxlCit9
Cit7CisgICBidWdfNDkyNzlfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAu
Li4KKyAgIGZ1bjpfWk4yOUNocm9tZVVSTFJlcXVlc3RDb250ZXh0R2V0dGVyMjhDcmVhdGVSZXF1
ZXN0Q29udGV4dEZvck1lZGlhRSoKKyAgIGZ1bjpfWk4yOUNocm9tZVVSTFJlcXVlc3RDb250ZXh0
R2V0dGVyMjJDcmVhdGVPcmlnaW5hbEZvck1lZGlhRSoKKyAgIGZ1bjpfWk4xMVByb2ZpbGVJbXBs
MjVHZXRSZXF1ZXN0Q29udGV4dEZvck1lZGlhRXYKK30KK3sKKyAgIGJ1Z180OTI3OV9jCisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjoqQ2hyb21lQ29va2llTW9uc3RlckRl
bGVnYXRlQzJFUDdQcm9maWxlCisgICBmdW46KkNocm9tZUNvb2tpZU1vbnN0ZXJEZWxlZ2F0ZUMx
RVA3UHJvZmlsZQorICAgZnVuOl9aTjMwQ2hyb21lVVJMUmVxdWVzdENvbnRleHRGYWN0b3J5QzJF
UDdQcm9maWxlCit9Cit7CisgICBidWdfNTAzMDQKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOl9aTjdoaXN0b3J5MTRIaXN0b3J5QmFja2VuZDhJbml0SW1wbCoKKyAgIGZ1bjpfWk43
aGlzdG9yeTE0SGlzdG9yeUJhY2tlbmQ0SW5pdCoKK30KK3sKKyAgIGJ1Z181MDkzNgorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4yM09mZlRoZVJlY29y
ZFByb2ZpbGVJbXBsNEluaXRFdgorICAgZnVuOl9aTjdQcm9maWxlMjVDcmVhdGVPZmZUaGVSZWNv
cmRQcm9maWxlRXYKKyAgIGZ1bjpfWk4xMVByb2ZpbGVJbXBsMjJHZXRPZmZUaGVSZWNvcmRQcm9m
aWxlRXYKK30KK3sKKyAgIGJ1Z181MDk2OF9hCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IGZ1bjpfWk4xNFdlYkRhdGFTZXJ2aWNlMjlJbml0aWFsaXplRGF0YWJhc2VJZk5lY2Vzc2FyeUV2
Cit9CisKK3sKKyAgIGJ1Z181NjM1OV9hCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk4zbmV0OUh0dHBDYWNoZTI0R2V0QmFja2VuZEZvclRyYW5zYWN0aW9uRVBOUzBf
MTFUcmFuc2FjdGlvbkUKKyAgIGZ1bjpfWk4zbmV0OUh0dHBDYWNoZTExVHJhbnNhY3Rpb24xMkRv
R2V0QmFja2VuZEV2CisgICBmdW46X1pOM25ldDlIdHRwQ2FjaGUxMVRyYW5zYWN0aW9uNkRvTG9v
cEVpCisgICBmdW46X1pOM25ldDlIdHRwQ2FjaGUxMVRyYW5zYWN0aW9uNVN0YXJ0RVBLTlNfMTVI
dHRwUmVxdWVzdEluZm9FUDE0Q2FsbGJhY2tSdW5uZXJJNlR1cGxlMUlpRUVSS05TXzExQm91bmRO
ZXRMb2dFCisgICBmdW46X1pOMTdVUkxSZXF1ZXN0SHR0cEpvYjE2U3RhcnRUcmFuc2FjdGlvbkV2
CisgICBmdW46X1pOMTdVUkxSZXF1ZXN0SHR0cEpvYjI0T25DYW5HZXRDb29raWVzQ29tcGxldGVk
RWkKKyAgIGZ1bjpfWk4xN1VSTFJlcXVlc3RIdHRwSm9iMjNBZGRDb29raWVIZWFkZXJBbmRTdGFy
dEV2CisgICBmdW46X1pOMTdVUkxSZXF1ZXN0SHR0cEpvYjVTdGFydEV2CisgICBmdW46X1pOMTBV
UkxSZXF1ZXN0OFN0YXJ0Sm9iRVAxM1VSTFJlcXVlc3RKb2IKKyAgIGZ1bjpfWk4xMFVSTFJlcXVl
c3Q1U3RhcnRFdgorICAgZnVuOl9aTjEwVVJMRmV0Y2hlcjRDb3JlMTVTdGFydFVSTFJlcXVlc3RF
dgorfQoreworICAgYnVnXzUxMTUzCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpf
Wk43aGlzdG9yeTE0SGlzdG9yeUJhY2tlbmQxNkdldEZhdmljb25Gb3JVUkxFMTNzY29wZWRfcmVm
cHRySTE3Q2FuY2VsYWJsZVJlcXVlc3RJMTRDYWxsYmFja1J1bm5lckk2VHVwbGU1SWliUzFfSTE2
UmVmQ291bnRlZE1lbW9yeUViNEdVUkxFRUVFUktTN18KK30KK3sKKyAgIGJ1Z181MTM3OQorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgLi4uCisgICBvYmo6L3Vzci9saWIvbGli
cGFuZ29jYWlyby0xLjAuc28uMC4yMDAyLjMKKyAgIC4uLgorICAgZnVuOl9aTjNnZngxMENhbnZh
czEzRHJhd1N0cmluZ0ludEVSS1NiSXdTdDExY2hhcl90cmFpdHNJd0VTYUl3RUVSS05TXzRGb250
RVJLamlpaWlpCisgICBmdW46X1pOM2dmeDEwQ2FudmFzMTNEcmF3U3RyaW5nSW50RVJLU2JJd1N0
MTFjaGFyX3RyYWl0c0l3RVNhSXdFRVJLTlNfNEZvbnRFUktqaWlpaQorfQorCit7CisgICBidWdf
NTE2NzkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1pO
MjNNZXNzYWdlU2VydmljZTE2QWRkRXZlbnRMaXN0ZW5lckVSS1NzaQorICAgZnVuOl9aTjI0QnJv
d3NlclJlbmRlclByb2Nlc3NIb3N0MjJPbkV4dGVuc2lvbkFkZExpc3RlbmVyRVJLU3MKK30KK3sK
KyAgIGJ1Z181MjgzMQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAg
IGZ1bjoqSW5vdGlmeVJlYWRlclRhc2szUnVuRXYKKyAgIC4uLgorICAgZnVuOl9aTjRiYXNlMTFN
ZXNzYWdlTG9vcDExUnVuSW50ZXJuYWxFdgorICAgZnVuOl9aTjRiYXNlMTFNZXNzYWdlTG9vcDEw
UnVuSGFuZGxlckV2Cit9Cit7CisgICBidWdfNTI4MzcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjpfWm53KgorICAgLi4uCisgICBmdW46X1pOU3QzbWFwKkZpbGVQYXRoKmluc2VydCoKKyAgIGZ1
bjpfWk5TdDNtYXAqRmlsZVBhdGgqaXgqCisgICBmdW46X1pOMTZFeHRlbnNpb25TZXJ2aWNlMTVV
bmxvYWRFeHRlbnNpb25FUktTcworICAgZnVuOl9aTjE2RXh0ZW5zaW9uU2VydmljZTE4VW5pbnN0
YWxsRXh0ZW5zaW9uRVJLU3NiCisgICBmdW46X1pOMThBdXRvbWF0aW9uUHJvdmlkZXIxOFVuaW5z
dGFsbEV4dGVuc2lvbkVpUGIKK30KKworeworICAgYnVnXzU0MzA4CisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTks4Y2hyb21lb3MyNUNyb3NTZXR0aW5n
c1Byb3ZpZGVyUHJveHkzR2V0RVJLU3NQUDVWYWx1ZQorICAgZnVuOl9aTks4Y2hyb21lb3MxMkNy
b3NTZXR0aW5nczNHZXRFUktTc1BQNVZhbHVlCisgICBmdW46X1pOOGNocm9tZW9zMjZDb3JlQ2hy
b21lT1NPcHRpb25zSGFuZGxlcjlGZXRjaFByZWZFUktTcworICAgZnVuOl9aTjE4Q29yZU9wdGlv
bnNIYW5kbGVyMTZIYW5kbGVGZXRjaFByZWZzRVBLOUxpc3RWYWx1ZQorfQoreworICAgYnVnXzU1
NTMzCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjVJ
RE1hcElOM0lQQzdDaGFubmVsOExpc3RlbmVyRUwyM0lETWFwT3duZXJzaGlwU2VtYW50aWNzKgor
ICAgZnVuOl9aTjE3UmVuZGVyUHJvY2Vzc0hvc3QqUHJvZmlsZQorICAgZnVuOl9aTjIxTW9ja1Jl
bmRlclByb2Nlc3NIb3N0KlByb2ZpbGUKK30KK3sKKyAgIGJ1Z181NjY3NgorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcklO
NGJhc2UxNWZpbGVfdXRpbF9wcm94eTVFbnRyeUVFOGFsbG9jYXRlKgorICAgZnVuOl9aTlN0MTJf
VmVjdG9yX2Jhc2VJTjRiYXNlMTVmaWxlX3V0aWxfcHJveHk1RW50cnlFU2FJUzJfRUUxMV9NX2Fs
bG9jYXRlKgorICAgZnVuOl9aTlN0NnZlY3RvcklONGJhc2UxNWZpbGVfdXRpbF9wcm94eTVFbnRy
eUVTYUlTMl9FRTIwX01fYWxsb2NhdGVfYW5kX2NvcHlJTjlfX2dudV9jeHgxN19fbm9ybWFsX2l0
ZXJhdG9ySVBLUzIqCisgICBmdW46X1pOU3Q2dmVjdG9ySU40YmFzZTE1ZmlsZV91dGlsX3Byb3h5
NUVudHJ5RVNhSVMyX0VFYVNFUktTNF8KKyAgIGZ1bjpfWk4xNE1vY2tEaXNwYXRjaGVyMTZEaWRS
ZWFkRGlyZWN0b3J5RVJLU3Q2dmVjdG9ySU40YmFzZTE1ZmlsZV91dGlsX3Byb3h5NUVudHJ5RVNh
SVMzX0VFYgorICAgZnVuOl9aTjdmaWxlYXBpMTlGaWxlU3lzdGVtT3BlcmF0aW9uMTZEaWRSZWFk
RGlyZWN0b3J5RU40YmFzZTE3UGxhdGZvcm1GaWxlRXJyb3JFUktTdDZ2ZWN0b3JJTlMxXzE1Zmls
ZV91dGlsX3Byb3h5NUVudHJ5RVNhSVM1X0VFCit9CisKK3sKKyAgIGJ1Z181ODQ0OQorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4xMVByb2ZpbGVJbXBs
MThHZXREb3dubG9hZE1hbmFnZXJFdgorfQoreworICAgYnVnXzU4NTQ2CisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4yN1NTTENvbmZpZ1NlcnZpY2VNYW5hZ2VyUHJl
ZkMxRVA3UHJvZmlsZQorICAgZnVuOl9aTjIzU1NMQ29uZmlnU2VydmljZU1hbmFnZXIyMENyZWF0
ZURlZmF1bHRNYW5hZ2VyRVA3UHJvZmlsZQorICAgZnVuOl9aTjExUHJvZmlsZUltcGxDMUUqCisg
ICBmdW46X1pON1Byb2ZpbGUxM0NyZWF0ZVByb2ZpbGVFKgorICAgZnVuOl9aTjE0UHJvZmlsZU1h
bmFnZXIxM0NyZWF0ZVByb2ZpbGVFKgorICAgZnVuOl9aTjE0UHJvZmlsZU1hbmFnZXIxMEdldFBy
b2ZpbGVFKgorICAgZnVuOl9aTjE0UHJvZmlsZU1hbmFnZXIxN0dldERlZmF1bHRQcm9maWxlRSoK
KyAgIGZ1bjpfWk4xNFByb2ZpbGVNYW5hZ2VyMTdHZXREZWZhdWx0UHJvZmlsZUV2Cit9Cit7Cisg
ICBidWdfNTg1NjEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBm
dW46X1pOM25ldDhpbnRlcm5hbDI2Q2xpZW50U29ja2V0UG9vbEJhc2VIZWxwZXIxNkdldE9yQ3Jl
YXRlR3JvdXBFUktTcworICAgZnVuOl9aTjNuZXQ4aW50ZXJuYWwyNkNsaWVudFNvY2tldFBvb2xC
YXNlSGVscGVyMTNSZXF1ZXN0U29ja2V0RVJLU3NQS05TMV83UmVxdWVzdEUKKyAgIGZ1bjpfWk4z
bmV0MjBDbGllbnRTb2NrZXRQb29sQmFzZUlOU18qCisgICBmdW46X1pOM25ldCpTb2NrZXRQb29s
MTNSZXF1ZXN0U29ja2V0RSoKKyAgIGZ1bjpfWk4zbmV0MThDbGllbnRTb2NrZXRIYW5kbGU0SW5p
dElOU18qCisgICAuLi4KKyAgIGZ1bjpfWk4zbmV0MjFIdHRwU3RyZWFtRmFjdG9yeUltcGwzSm9i
MTZEb0luaXRDb25uZWN0aW9uRXYKKyAgIGZ1bjpfWk4zbmV0MjFIdHRwU3RyZWFtRmFjdG9yeUlt
cGwzSm9iNkRvTG9vcEVpCit9Cit7CisgICBidWdfNTg1NjQKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpjYWxsb2MKKyAgIC4uLgorICAgZnVuOlNTTF9JbXBvcnRGRAorICAgZnVuOl9aTjNuZXQx
OFNTTENsaWVudFNvY2tldE5TUzIwSW5pdGlhbGl6ZVNTTE9wdGlvbnNFdgorICAgZnVuOl9aTjNu
ZXQxOFNTTENsaWVudFNvY2tldE5TUzdDb25uZWN0RVAxNENhbGxiYWNrUnVubmVySTZUdXBsZTFJ
aUVFCisgICBmdW46X1pOM25ldDEzU1NMQ29ubmVjdEpvYjEyRG9TU0xDb25uZWN0RXYKKyAgIGZ1
bjpfWk4zbmV0MTNTU0xDb25uZWN0Sm9iNkRvTG9vcEVpCit9CisKK3sKKyAgIGJ1Z182MDY2N2MK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOioKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMy
MTZHTEVTMkRlY29kZXJJbXBsMTVEb0NvbXBpbGVTaGFkZXJFagorICAgZnVuOl9aTjNncHU1Z2xl
czIxNkdMRVMyRGVjb2RlckltcGwxOUhhbmRsZUNvbXBpbGVTaGFkZXJFalJLTlMwXzEzQ29tcGls
ZVNoYWRlckUKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTZHTEVTMkRlY29kZXJJbXBsOURvQ29tbWFu
ZEVqalBLdgorfQorCit7CisgICBidWdfNjkwNzMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpt
YWxsb2MKKyAgIC4uLgorICAgZnVuOnNxbGl0ZTMqCisgICAuLi4KKyAgIGZ1bjpmaW5kX29iamVj
dHMKKyAgIGZ1bjpmaW5kX29iamVjdHNfYnlfdGVtcGxhdGUKKyAgIGZ1bjpuc3NUb2tlbl9GaW5k
Q2VydGlmaWNhdGVzQnlTdWJqZWN0CisgICBmdW46bnNzVHJ1c3REb21haW5fRmluZENlcnRpZmlj
YXRlc0J5U3ViamVjdAorICAgZnVuOm5zc0NlcnRpZmljYXRlX0J1aWxkQ2hhaW4KKyAgIGZ1bjpO
U1NDZXJ0aWZpY2F0ZV9CdWlsZENoYWluCit9Cit7CisgICBidWdfNjE0MjQKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjEzRm9ybVN0cnVjdHVyZTE4RW5jb2RlUXVl
cnlSZXF1ZXN0RVJLMTJTY29wZWRWZWN0b3JJU19FUFN0NnZlY3RvcklTc1NhSVNzRUVQU3MKKyAg
IGZ1bjoqRm9ybVN0cnVjdHVyZVRlc3RfRW5jb2RlUXVlcnlSZXF1ZXN0X1Rlc3Q4VGVzdEJvZHlF
dgorfQoreworICAgYnVnXzYxNDI0X2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53Kgor
ICAgZnVuOl9aTjEzRm9ybVN0cnVjdHVyZTE4RW5jb2RlUXVlcnlSZXF1ZXN0RVJLMTJTY29wZWRW
ZWN0b3JJU19FUFN0NnZlY3RvcklTc1NhSVNzRUVQU3MKKyAgIGZ1bjpfWk4xMl9HTE9CQUxfX05f
MTQxRm9ybVN0cnVjdHVyZVRlc3RfRW5jb2RlUXVlcnlSZXF1ZXN0X1Rlc3Q4VGVzdEJvZHlFdgor
fQorCit7CisgICBidWdfNjQ4MDQKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
ZnVuOl9aTjRiYXNlMTZNZXNzYWdlTG9vcFByb3h5MjJjdXJyZW50RXYKKyAgIC4uLgorICAgZnVu
Ol9aTjEwVVJMRmV0Y2hlcjRDb3JlQzFFUFNfUks0R1VSTE5TXzExUmVxdWVzdFR5cGVFUE5TXzhE
ZWxlZ2F0ZUUKKyAgIGZ1bjpfWk4xMFVSTEZldGNoZXJDKkVSSzRHVVJMTlNfMTFSZXF1ZXN0VHlw
ZUVQTlNfOERlbGVnYXRlRQorfQorCit7CisgICBidWdfNjU5NDBfYQorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4zSVBDMTJDaGFubmVsUHJveHk3Q29u
dGV4dDEzQ3JlYXRlQ2hhbm5lbEVSS05TXzEzQ2hhbm5lbEhhbmRsZUVSS05TXzdDaGFubmVsNE1v
ZGVFCisgICBmdW46X1pOM0lQQzEyQ2hhbm5lbFByb3h5NEluaXRFUktOU18xM0NoYW5uZWxIYW5k
bGVFTlNfN0NoYW5uZWw0TW9kZUVQMTFNZXNzYWdlTG9vcGIKKyAgIGZ1bjpfWk4zSVBDMTJDaGFu
bmVsUHJveHlDMkVSS05TXzEzQ2hhbm5lbEhhbmRsZUVOU183Q2hhbm5lbDRNb2RlRVAxMU1lc3Nh
Z2VMb29wUE5TMF83Q29udGV4dEViCisgICBmdW46X1pOM0lQQzExU3luY0NoYW5uZWxDMUVSS05T
XzEzQ2hhbm5lbEhhbmRsZUVOU183Q2hhbm5lbDRNb2RlRVBOUzRfOExpc3RlbmVyRVAxMU1lc3Nh
Z2VMb29wYlBONGJhc2UxM1dhaXRhYmxlRXZlbnRFCit9Cit7CisgICBidWdfNjU5NDBfYgorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4zSVBDMTFTeW5j
Q2hhbm5lbEMxRVJLTlNfMTNDaGFubmVsSGFuZGxlRU5TXzdDaGFubmVsNE1vZGVFUE5TXzhMaXN0
ZW5lckVQTjRiYXNlMjJTaW5nbGVUaHJlYWRUYXNrUnVubmVyRWJQTlM4XzEzV2FpdGFibGVFdmVu
dEUKKyAgIGZ1bjpfWk43Y29udGVudDExQ2hpbGRUaHJlYWQ0SW5pdEV2CisgICBmdW46X1pON2Nv
bnRlbnQxMUNoaWxkVGhyZWFkQzJFUktTcworfQoreworICAgYnVnXzY1OTQwX2MKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2dudV9jeHgxM25ld19hbGxvY2F0
b3JJMTNzY29wZWRfcmVmcHRySU4zSVBDMTJDaGFubmVsUHJveHkxM01lc3NhZ2VGaWx0ZXJFRUU4
YWxsb2NhdGVFbVBLdgorICAgZnVuOl9aTlN0MTJfVmVjdG9yX2Jhc2VJMTNzY29wZWRfcmVmcHRy
SU4zSVBDMTJDaGFubmVsUHJveHkxM01lc3NhZ2VGaWx0ZXJFRVNhSVM0X0VFMTFfTV9hbGxvY2F0
ZUVtCisgICBmdW46X1pOU3Q2dmVjdG9ySTEzc2NvcGVkX3JlZnB0cklOM0lQQzEyQ2hhbm5lbFBy
b3h5MTNNZXNzYWdlRmlsdGVyRUVTYUlTNF9FRTEzX01faW5zZXJ0X2F1eEVOOV9fZ251X2N4eDE3
X19ub3JtYWxfaXRlcmF0b3JJUFM0X1M2X0VFUktTNF8KKyAgIGZ1bjpfWk5TdDZ2ZWN0b3JJMTNz
Y29wZWRfcmVmcHRySU4zSVBDMTJDaGFubmVsUHJveHkxM01lc3NhZ2VGaWx0ZXJFRVNhSVM0X0VF
OXB1c2hfYmFja0VSS1M0XworICAgZnVuOl9aTjNJUEMxMkNoYW5uZWxQcm94eTdDb250ZXh0MTFP
bkFkZEZpbHRlckV2Cit9Cit7CisgICBidWdfNjU5NDBfZAorICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOl9abncqCisgICBmdW46X1pON2NvbnRlbnQxMUNoaWxkVGhyZWFkNEluaXRFdgorICAgZnVu
Ol9aTjdjb250ZW50MTFDaGlsZFRocmVhZEMqCisgICAuLi4KKyAgIGZ1bjpfWk43Y29udGVudDIx
V2ViUlRDQXVkaW9EZXZpY2VUZXN0NVNldFVwRXYKK30KK3sKKyAgIGJ1Z182NTk0MF9lCisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43Y29udGVudDE2UmVuZGVyVGhy
ZWFkSW1wbDRJbml0RXYKKyAgIGZ1bjpfWk43Y29udGVudDE2UmVuZGVyVGhyZWFkSW1wbEMqCisg
ICAuLi4KKyAgIGZ1bjpfWk43Y29udGVudDIxV2ViUlRDQXVkaW9EZXZpY2VUZXN0NVNldFVwRXYK
K30KK3sKKyAgIGJ1Z182Njg1M19hCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IGZ1bjpfWk4xMVByb2ZpbGVJbXBsMTRHZXRIb3N0Wm9vbU1hcEV2CisgICAuLi4KKyAgIGZ1bjpf
Wk5LMTdQcm9maWxlSW1wbElPRGF0YTZIYW5kbGUyN0dldE1haW5SZXF1ZXN0Q29udGV4dEdldHRl
ckV2CisgICBmdW46X1pOMTFQcm9maWxlSW1wbDE3R2V0UmVxdWVzdENvbnRleHRFdgorICAgZnVu
Ol9aTjE5U2FmZUJyb3dzaW5nU2VydmljZTVTdGFydEV2CisgICBmdW46X1pOMTlTYWZlQnJvd3Np
bmdTZXJ2aWNlMTBJbml0aWFsaXplRXYKKyAgIGZ1bjpfWk4yMlJlc291cmNlRGlzcGF0Y2hlckhv
c3QxMEluaXRpYWxpemVFdgorICAgZnVuOl9aTjE4QnJvd3NlclByb2Nlc3NJbXBsMjhDcmVhdGVS
ZXNvdXJjZURpc3BhdGNoZXJIb3N0RXYKKyAgIGZ1bjpfWk4xOEJyb3dzZXJQcm9jZXNzSW1wbDI0
cmVzb3VyY2VfZGlzcGF0Y2hlcl9ob3N0RXYKKyAgIGZ1bjpfWk4xNkV4dGVuc2lvblNlcnZpY2U0
SW5pdEV2CisgICBmdW46X1pOMTFQcm9maWxlSW1wbDE0SW5pdEV4dGVuc2lvbnNFKgorICAgZnVu
Ol9aTjE0UHJvZmlsZU1hbmFnZXIxMEFkZFByb2ZpbGVFUDdQcm9maWxlYgorfQoreworICAgYnVn
XzY3MTQyCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xNkNoaWxk
UHJvY2Vzc0hvc3QxM0NyZWF0ZUNoYW5uZWxFdgorICAgZnVuOl9aTjE0R3B1UHJvY2Vzc0hvc3Q0
SW5pdEV2Cit9Cit7CisgICBidWdfNjcyNjEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53
KgorICAgLi4uCisgICBmdW46X1pOM3NxbDEwQ29ubmVjdGlvbjE4R2V0VW5pcXVlU3RhdGVtZW50
RVBLYworICAgZnVuOl9aTjNzcWwxMENvbm5lY3Rpb24xOEdldENhY2hlZFN0YXRlbWVudEVSS05T
XzExU3RhdGVtZW50SURFUEtjCisgICBmdW46X1pOOGFwcGNhY2hlMTZBcHBDYWNoZURhdGFiYXNl
MjJQcmVwYXJlQ2FjaGVkU3RhdGVtZW50RVJLTjNzcWwxMVN0YXRlbWVudElERVBLY1BOUzFfOVN0
YXRlbWVudEUKK30KK3sKKyAgIGJ1Z182NzU1MworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICAuLi4KKyAgIGZ1bjpfWk5TdDNtYXBJU3MxM3Njb3BlZF9yZWZwdHJJSzlFeHRlbnNp
b25FU3Q0bGVzc0lTc0VTYUlTdDRwYWlySUtTc1MzX0VFRWl4RVJTN18KKyAgIGZ1bjpfWk4xNkV4
dGVuc2lvbkluZm9NYXAxMkFkZEV4dGVuc2lvbkVQSzlFeHRlbnNpb24KK30KK3sKKyAgIGJ1Z182
ODA2OV9hCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBvYmo6KgorICAgb2Jq
OioKKyAgIG9iajoqCisgICBvYmo6KgorICAgZnVuOl9aTjNnZngyMEdldEdMQ29yZVByb2NBZGRy
ZXNzRVBLYworICAgZnVuOl9aTjNnZngyMkluaXRpYWxpemVHTEJpbmRpbmdzR0xFdgorICAgZnVu
Ol9aTjNnZngyMEluaXRpYWxpemVHTEJpbmRpbmdzRU5TXzE2R0xJbXBsZW1lbnRhdGlvbkUKKyAg
IGZ1bjpfWk4zZ2Z4OUdMU3VyZmFjZTE2SW5pdGlhbGl6ZU9uZU9mZkV2Cit9Cit7CisgICBidWdf
NjgwNjlfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOlhleHRDcmVh
dGVFeHRlbnNpb24KKyAgIC4uLgorICAgZnVuOl9aTjNnZngxMkdMU3VyZmFjZUdMWDE2SW5pdGlh
bGl6ZU9uZU9mZkV2CisgICBmdW46X1pOM2dmeDlHTFN1cmZhY2UyNEluaXRpYWxpemVPbmVPZmZJ
bnRlcm5hbEV2CisgICBmdW46X1pOM2dmeDlHTFN1cmZhY2UxNkluaXRpYWxpemVPbmVPZmZFdgor
fQoreworICAgYnVnXzY4NTUzCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1
bjpfWk4zbmV0MjVEaXNrQ2FjaGVCYXNlZFNTTEhvc3RJbmZvQzFFUktTc1JLTlNfOVNTTENvbmZp
Z0VQTlNfMTJDZXJ0VmVyaWZpZXJFUE5TXzlIdHRwQ2FjaGVFCisgICBmdW46X1pOM25ldDlIdHRw
Q2FjaGUyNVNTTEhvc3RJbmZvRmFjdG9yeUFkYXB0b3IxMEdldEZvckhvc3RFUktTc1JLTlNfOVNT
TENvbmZpZ0UKKyAgIGZ1bjpfWk4zbmV0MTNTU0xDb25uZWN0Sm9iMTJEb1RDUENvbm5lY3RFdgor
ICAgZnVuOl9aTjNuZXQxM1NTTENvbm5lY3RKb2I2RG9Mb29wRWkKKyAgIGZ1bjpfWk4zbmV0MTNT
U0xDb25uZWN0Sm9iMTVDb25uZWN0SW50ZXJuYWxFdgorICAgZnVuOl9aTjNuZXQxMENvbm5lY3RK
b2I3Q29ubmVjdEV2CisgICBmdW46X1pOM25ldDhpbnRlcm5hbDI2Q2xpZW50U29ja2V0UG9vbEJh
c2VIZWxwZXIyMVJlcXVlc3RTb2NrZXRJbnRlcm5hbEVSS1NzUEtOUzFfN1JlcXVlc3RFCisgICBm
dW46X1pOM25ldDhpbnRlcm5hbDI2Q2xpZW50U29ja2V0UG9vbEJhc2VIZWxwZXIxM1JlcXVlc3RT
b2NrZXRFUktTc1BLTlMxXzdSZXF1ZXN0RQorICAgZnVuOl9aTjNuZXQyMENsaWVudFNvY2tldFBv
b2xCYXNlSU5TXzE1U1NMU29ja2V0UGFyYW1zRUUxM1JlcXVlc3RTb2NrZXRFUktTc1JLMTNzY29w
ZWRfcmVmcHRySVMxX0VOU18xNVJlcXVlc3RQcmlvcml0eUVQTlNfMThDbGllbnRTb2NrZXRIYW5k
bGVFUDE0Q2FsbGJhY2tSdW5uZXJJNlR1cGxlMUlpRUVSS05TXzExQm91bmROZXRMb2dFCisgICBm
dW46X1pOM25ldDE5U1NMQ2xpZW50U29ja2V0UG9vbDEzUmVxdWVzdFNvY2tldEVSS1NzUEt2TlNf
MTVSZXF1ZXN0UHJpb3JpdHlFUE5TXzE4Q2xpZW50U29ja2V0SGFuZGxlRVAxNENhbGxiYWNrUnVu
bmVySTZUdXBsZTFJaUVFUktOU18xMUJvdW5kTmV0TG9nRQorICAgZnVuOl9aTjNuZXQxOENsaWVu
dFNvY2tldEhhbmRsZTRJbml0SU5TXzE1U1NMU29ja2V0UGFyYW1zRU5TXzE5U1NMQ2xpZW50U29j
a2V0UG9vbEVFRWlSS1NzUksxM3Njb3BlZF9yZWZwdHJJVF9FTlNfMTVSZXF1ZXN0UHJpb3JpdHlF
UDE0Q2FsbGJhY2tSdW5uZXJJNlR1cGxlMUlpRUVQVDBfUktOU18xMUJvdW5kTmV0TG9nRQorfQor
eworICAgQnVnXzY5OTE5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisgICAuLi4K
KyAgIGZ1bjpfWk4zZ2Z4MTVPU01lc2FHTENvbnRleHQxMEluaXRpYWxpemVFalBOU185R0xDb250
ZXh0RQorICAgZnVuOl9aTjNnZng5R0xDb250ZXh0MjRDcmVhdGVPZmZzY3JlZW5HTENvbnRleHRF
UFMwXworICAgZnVuOipJbml0aWFsaXplR0xDb250ZXh0RXYKK30KK3sKKyAgIEJ1Z182OTkzNF9h
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xM05QT2JqZWN0UHJv
eHkxME5QQWxsb2NhdGVFUDRfTlBQUDdOUENsYXNzCisgICBmdW46X05QTl9DcmVhdGVPYmplY3QK
KyAgIGZ1bjpfWk42V2ViS2l0MTFXZWJCaW5kaW5nczEyY3JlYXRlT2JqZWN0RVA0X05QUFA3TlBD
bGFzcworfQoreworICAgQnVnXzY5OTM0X2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53
KgorICAgZnVuOl9aTjNJUEMxMVN5bmNNZXNzYWdlMTNHZW5lcmF0ZVJlcGx5RVBLTlNfN01lc3Nh
Z2VFCisgICBmdW46X1pOM0lQQzE3U3luY01lc3NhZ2VTY2hlbWEqCit9Cit7CisgICBidWdfNzAz
MjcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOnNoYXBlcl9mb250X2NhY2hlX2lu
c2VydAorICAgZnVuOmdldF9zaGFwZXJfYW5kX2ZvbnQKKyAgIGZ1bjppdGVtaXplX3N0YXRlX3By
b2Nlc3NfcnVuCisgICBmdW46cGFuZ29faXRlbWl6ZV93aXRoX2Jhc2VfZGlyCisgICBmdW46cGFu
Z29fbGF5b3V0X2NoZWNrX2xpbmVzCisgICBmdW46cGFuZ29fbGF5b3V0X2dldF9leHRlbnRzX2lu
dGVybmFsCisgICBmdW46cGFuZ29fbGF5b3V0X2dldF9waXhlbF9leHRlbnRzCisgICBmdW46cGFu
Z29fbGF5b3V0X2dldF9waXhlbF9zaXplCisgICBmdW46X1pOM2dmeDEwQ2FudmFzMTNTaXplU3Ry
aW5nSW50RVJLU2JJdE40YmFzZTIwc3RyaW5nMTZfY2hhcl90cmFpdHNFU2FJdEVFUktOU180Rm9u
dEVQaVNBX2kKK30KKworeworICAgYnVnXzcxMTUyCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjE0U2Vzc2lvblNlcnZpY2UyME9uR290U2Vzc2lvbkNv
bW1hbmRzRWkxM3Njb3BlZF9yZWZwdHJJTjE4QmFzZVNlc3Npb25TZXJ2aWNlMjZJbnRlcm5hbEdl
dENvbW1hbmRzUmVxdWVzdEVFCit9Cit7CisgICBidWdfNzE3MjgKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjpfWm53KgorICAgZnVuOipEb3dubG9hZEZpbGVUZXN0NVNldFVwRXYKK30KK3sKKyAg
IGJ1Z183MjU0NAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNX
VEYxMGZhc3RNYWxsb2NFagorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJDb3JlMTRT
dHlsZVNoZWV0TGlzdEVFbndFagorICAgZnVuOl9aTjdXZWJDb3JlMTRTdHlsZVNoZWV0TGlzdDZj
cmVhdGVFUE5TXzhEb2N1bWVudEUKKyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1bWVudEMyRVBOU181
RnJhbWVFUktOU180S1VSTEViYlM1XworICAgZnVuOl9aTjdXZWJDb3JlMTJIVE1MRG9jdW1lbnRD
MUVQTlNfNUZyYW1lRVJLTlNfNEtVUkxFUzVfCisgICBmdW46X1pON1dlYkNvcmUxMkhUTUxEb2N1
bWVudDZjcmVhdGVFUE5TXzVGcmFtZUVSS05TXzRLVVJMRVM1XworICAgZnVuOl9aTjdXZWJDb3Jl
MTdET01JbXBsZW1lbnRhdGlvbjE0Y3JlYXRlRG9jdW1lbnRFUktOM1dURjZTdHJpbmdFUE5TXzVG
cmFtZUVSS05TXzRLVVJMRWIKKyAgIGZ1bjpfWk43V2ViQ29yZTE0RG9jdW1lbnRXcml0ZXIxNGNy
ZWF0ZURvY3VtZW50RVJLTlNfNEtVUkxFCisgICBmdW46X1pON1dlYkNvcmUxNERvY3VtZW50V3Jp
dGVyNWJlZ2luRVJLTlNfNEtVUkxFYlBOU18xNFNlY3VyaXR5T3JpZ2luRQorICAgZnVuOl9aTjdX
ZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKKyAgIGZ1bjpfWk43V2ViQ29yZTVGcmFtZTRpbml0
RXYKKyAgIGZ1bjpfWk42V2ViS2l0MTJXZWJGcmFtZUltcGwyMWluaXRpYWxpemVBc01haW5GcmFt
ZUVQTlNfMTFXZWJWaWV3SW1wbEUKKyAgIGZ1bjpfWk42V2ViS2l0MTFXZWJWaWV3SW1wbDE5aW5p
dGlhbGl6ZU1haW5GcmFtZUVQTlNfMTRXZWJGcmFtZUNsaWVudEUKKyAgIGZ1bjpfWk4xMFJlbmRl
clZpZXdDMUVQMTZSZW5kZXJUaHJlYWRCYXNlaWlSSzE5UmVuZGVyZXJQcmVmZXJlbmNlc1JLMTRX
ZWJQcmVmZXJlbmNlc1BONGJhc2UxNFJlZkNvdW50ZWREYXRhSWlFRWl4UktTYkl0TlM4XzIwc3Ry
aW5nMTZfY2hhcl90cmFpdHNFU2FJdEVFCisgICBmdW46X1pOMTBSZW5kZXJWaWV3NkNyZWF0ZUVQ
MTZSZW5kZXJUaHJlYWRCYXNlaWlSSzE5UmVuZGVyZXJQcmVmZXJlbmNlc1JLMTRXZWJQcmVmZXJl
bmNlc1BONGJhc2UxNFJlZkNvdW50ZWREYXRhSWlFRWl4UktTYkl0TlM4XzIwc3RyaW5nMTZfY2hh
cl90cmFpdHNFU2FJdEVFCisgICBmdW46X1pOMTJSZW5kZXJUaHJlYWQxNU9uQ3JlYXRlTmV3Vmll
d0VSSzE4Vmlld01zZ19OZXdfUGFyYW1zCit9Cit7CisgICBidWdfNzI2OThfYQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4xM1Byb2ZpbGVJT0RhdGEy
MEluaXRpYWxpemVPblVJVGhyZWFkRVA3UHJvZmlsZQorfQoreworICAgYnVnXzczMjk5CisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjIxUmVuZGVyUHJv
Y2Vzc0hvc3RJbXBsMjBDcmVhdGVNZXNzYWdlRmlsdGVyc0V2CisgICBmdW46X1pOMjFSZW5kZXJQ
cm9jZXNzSG9zdEltcGw0SW5pdEViCisgICBmdW46X1pON2NvbnRlbnQxOFJlbmRlclZpZXdIb3N0
SW1wbDE2Q3JlYXRlUmVuZGVyVmlld0VSS1NiSXRONGJhc2UyMHN0cmluZzE2X2NoYXJfdHJhaXRz
RVNhSXRFRWkKK30KKworeworICAgYnVnXzczNjc1CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
X1pudyoKKyAgIGZ1bjpfWk4yMExheW91dFRlc3RDb250cm9sbGVyMTN3YWl0VW50aWxEb25lRVJL
TjNXVEY2VmVjdG9ySTEwQ3BwVmFyaWFudExqMEVFRVBTMl8KKyAgIGZ1bjpfWk4xM0NwcEJvdW5k
Q2xhc3MxNE1lbWJlckNhbGxiYWNrSTIwTGF5b3V0VGVzdENvbnRyb2xsZXJFM3J1bkVSS04zV1RG
NlZlY3RvckkxMENwcFZhcmlhbnRMajBFRUVQUzVfCisgICBmdW46X1pOMTNDcHBCb3VuZENsYXNz
Nmludm9rZUVQdlBLMTBfTlBWYXJpYW50alBTMV8KKyAgIGZ1bjpfWk4xMUNwcE5QT2JqZWN0Nmlu
dm9rZUVQOE5QT2JqZWN0UHZQSzEwX05QVmFyaWFudGpQUzNfCisgICBmdW46X1pON1dlYkNvcmUx
OG5wT2JqZWN0SW52b2tlSW1wbEVSS04ydjg5QXJndW1lbnRzRU5TXzE4SW52b2tlRnVuY3Rpb25U
eXBlRQorICAgZnVuOl9aTjdXZWJDb3JlMjFucE9iamVjdE1ldGhvZEhhbmRsZXJFUktOMnY4OUFy
Z3VtZW50c0UKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWwxOUhhbmRsZUFwaUNhbGxIZWxwZXJJTGIw
RUVFUE5TMF8xMU1heWJlT2JqZWN0RU5TMF80N19HTE9CQUxfX05fdjhfc3JjX2J1aWx0aW5zLmNj
XypCdWlsdGluQXJndW1lbnRzSUxOUzBfMjFCdWlsdGluRXh0cmFBcmd1bWVudHNFMUVFRQorICAg
b2JqOioKK30KK3sKKyAgIGJ1Z183NTAxOQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICAuLi4KKyAgIGZ1bjpfWk4xNEdwdURhdGFNYW5hZ2VyQzFFdgorICAgZnVuOl9aTjIyRGVm
YXVsdFNpbmdsZXRvblRyYWl0c0kxNEdwdURhdGFNYW5hZ2VyRTNOZXdFdgorICAgZnVuOl9aTjlT
aW5nbGV0b25JMTRHcHVEYXRhTWFuYWdlcjIyRGVmYXVsdFNpbmdsZXRvblRyYWl0c0lTMF9FUzBf
RTNnZXRFdgorICAgZnVuOl9aTjE0R3B1RGF0YU1hbmFnZXIxMUdldEluc3RhbmNlRXYKKyAgIGZ1
bjpfWjExQnJvd3Nlck1haW5SSzE4TWFpbkZ1bmN0aW9uUGFyYW1zCisgICBmdW46X1pOMjBJblBy
b2Nlc3NCcm93c2VyVGVzdDVTZXRVcEV2Cit9Cit7CisgICBidWdfNzUwNTEKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1pOM25ldDEyQ2VydFZlcmlmaWVy
NlZlcmlmeUVQTlNfMTVYNTA5Q2VydGlmaWNhdGVFUktTc2lQTlNfMTZDZXJ0VmVyaWZ5UmVzdWx0
RVAxNENhbGxiYWNrUnVubmVySTZUdXBsZTFJaUVFUFB2CisgICBmdW46X1pOM25ldDI1U2luZ2xl
UmVxdWVzdENlcnRWZXJpZmllcjZWZXJpZnlFUE5TXzE1WDUwOUNlcnRpZmljYXRlRVJLU3NpUE5T
XzE2Q2VydFZlcmlmeVJlc3VsdEVQMTRDYWxsYmFja1J1bm5lckk2VHVwbGUxSWlFRQorICAgZnVu
Ol9aTjNuZXQxOFNTTENsaWVudFNvY2tldE5TUzEyRG9WZXJpZnlDZXJ0RWkKKyAgIGZ1bjpfWk4z
bmV0MThTU0xDbGllbnRTb2NrZXROU1MxNURvSGFuZHNoYWtlTG9vcEVpCit9CisKK3sKKyAgIGJ1
Z183Nzc2NgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYx
MGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjdXZWJDb3JlMThQZXJmb3JtVGFza0NvbnRleHRud0Vt
CisgICBmdW46X1pON1dlYkNvcmU4RG9jdW1lbnQ4cG9zdFRhc2tFTjNXVEYxMFBhc3NPd25QdHJJ
TlNfMjJTY3JpcHRFeGVjdXRpb25Db250ZXh0NFRhc2tFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTIw
V29ya2VyTWVzc2FnaW5nUHJveHkyMndvcmtlckNvbnRleHREZXN0cm95ZWRFdgorICAgZnVuOl9a
TjZXZWJLaXQxOVdlYldvcmtlckNsaWVudEltcGwyMndvcmtlckNvbnRleHREZXN0cm95ZWRFdgor
ICAgZnVuOl9aTjdXZWJDb3JlMTNXb3JrZXJDb250ZXh0RDJFdgorICAgZnVuOl9aTjdXZWJDb3Jl
MjJEZWRpY2F0ZWRXb3JrZXJDb250ZXh0RDBFdgorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50ZWRJ
TjdXZWJDb3JlMTNXb3JrZXJDb250ZXh0RUU1ZGVyZWZFdgorICAgZnVuOl9aTjNXVEY2UmVmUHRy
SU43V2ViQ29yZTEzV29ya2VyQ29udGV4dEVFYVNFUFMyXworICAgZnVuOl9aTjdXZWJDb3JlMTJX
b3JrZXJUaHJlYWQxMndvcmtlclRocmVhZEV2CisgICBmdW46X1pON1dlYkNvcmUxMldvcmtlclRo
cmVhZDE3d29ya2VyVGhyZWFkU3RhcnRFUHYKKyAgIGZ1bjpfWk4zV1RGTDE2dGhyZWFkRW50cnlQ
b2ludEVQdgorICAgZnVuOl9aTjNXVEZMMTl3dGZUaHJlYWRFbnRyeVBvaW50RVB2Cit9Cit7Cisg
ICBidWdfNzgyMDEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjE4
QnJvd3NlclByb2Nlc3NJbXBsMjhDcmVhdGVSZXNvdXJjZURpc3BhdGNoZXJIb3N0RXYKKyAgIGZ1
bjpfWk4xOEJyb3dzZXJQcm9jZXNzSW1wbDI0cmVzb3VyY2VfZGlzcGF0Y2hlcl9ob3N0RXYKKyAg
IGZ1bjpfWk4xNkV4dGVuc2lvblNlcnZpY2U0SW5pdEV2CisgICBmdW46X1pOMTFQcm9maWxlSW1w
bDE0SW5pdEV4dGVuc2lvbnNFKgorfQoreworICAgYnVnXzc4Nzg2CisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46X1pudyoKKyAgIGZ1bjoqMzVOb25CbG9ja2luZ0ludmFsaWRhdGlvbk5vdGlmaWVy
VGVzdDVTZXRVcEV2Cit9CisKK3sKKyAgIGJ1Z183OTM1N2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IC4uLgorICAgZnVuOipGaWxlUGF0aFdhdGNoZXJJbXBsKldhdGNoKkRlbGVnYXRlKgorICAgZnVu
OipGaWxlUGF0aFdhdGNoZXIqV2F0Y2gqCisgICBmdW46X1pOMjFVc2VyU3R5bGVTaGVldFdhdGNo
ZXI0SW5pdEV2Cit9Cit7CisgICBidWdfNzk2NTEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOl9aTjhub3RpZmllcjE0WG1wcENvbm5lY3Rpb25DMUVSS040YnV6ejE4WG1wcENsaWVu
dFNldHRpbmdzRVJLMTNzY29wZWRfcmVmcHRySU4zbmV0MjNVUkxSZXF1ZXN0Q29udGV4dEdldHRl
ckVFUE5TMF84RGVsZWdhdGVFUE5TMV8xMVByZVhtcHBBdXRoRQorICAgZnVuOl9aTjhub3RpZmll
cjE4U2luZ2xlTG9naW5BdHRlbXB0MTNPbk5ld1NldHRpbmdzRVJLTlNfMThDb25uZWN0aW9uU2V0
dGluZ3NFCisgICBmdW46X1pOOG5vdGlmaWVyMjNYbXBwQ29ubmVjdGlvbkdlbmVyYXRvcjE3VXNl
TmV4dENvbm5lY3Rpb25FdgorICAgZnVuOl9aTjhub3RpZmllcjIzWG1wcENvbm5lY3Rpb25HZW5l
cmF0b3IxNVN0YXJ0R2VuZXJhdGluZ0V2CisgICBmdW46X1pOOG5vdGlmaWVyMThTaW5nbGVMb2dp
bkF0dGVtcHRDMUVQTlNfMTNMb2dpblNldHRpbmdzRVBOUzBfOERlbGVnYXRlRQorICAgZnVuOl9a
Tjhub3RpZmllcjVMb2dpbjE1U3RhcnRDb25uZWN0aW9uRXYKKyAgIGZ1bjpfWk4xM3N5bmNfbm90
aWZpZXIyMEludmFsaWRhdGlvbk5vdGlmaWVyMTdVcGRhdGVDcmVkZW50aWFsc0VSS1NzUzJfCisg
ICBmdW46KjM1SW52YWxpZGF0aW9uTm90aWZpZXJUZXN0X0Jhc2ljX1Rlc3Q4VGVzdEJvZHlFdgor
fQoreworICAgYnVnXzc5NjUyCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk44
Y2hyb21lb3MxNEF1ZGlvTWl4ZXJBbHNhMTVDb25uZWN0SW50ZXJuYWxFdgorICAgZnVuOl9aTjhj
aHJvbWVvczE0QXVkaW9NaXhlckFsc2E3Q29ubmVjdEV2Cit9Cit7CisgICBidWdfNzk2NTRfYQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk5TdDNzZXRJ
UDE2UmVuZGVyV2lkZ2V0SG9zdFN0NGxlc3NJUzFfRVNhSVMxX0VFNmluc2VydEVSS1MxXworICAg
ZnVuOl9aTio5VGFiTG9hZGVyMTJUYWJJc0xvYWRpbmdFUDI0TmF2aWdhdGlvbkNvbnRyb2xsZXJJ
bXBsCisgICBmdW46X1pOKjE4U2Vzc2lvblJlc3RvcmVJbXBsMjFQcm9jZXNzU2Vzc2lvbldpbmRv
d3NFUFN0NnZlY3RvcklQMTNTZXNzaW9uV2luZG93U2FJUzNfRUUKKyAgIGZ1bjpfWk4qMThTZXNz
aW9uUmVzdG9yZUltcGwxMk9uR290U2Vzc2lvbkVpUFN0NnZlY3RvcklQMTNTZXNzaW9uV2luZG93
U2FJUzNfRUUKK30KK3sKKyAgIGJ1Z183OTY1NF9iCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
X1pudyoKKyAgIC4uLgorICAgZnVuOipSZW5kZXJXaWRnZXRIb3N0KgorICAgLi4uCisgICBmdW46
X1pOU3Qzc2V0SVAxNlJlbmRlcldpZGdldEhvc3RTdDRsZXNzSVMxX0VTYUlTMV9FRTZpbnNlcnRF
UktTMV8KKyAgIGZ1bjoqVGFiTG9hZGVyN09ic2VydmVFaVJLTjdjb250ZW50MThOb3RpZmljYXRp
b25Tb3VyY2VFUktOUzFfMTlOb3RpZmljYXRpb25EZXRhaWxzRQorICAgZnVuOl9aTjIzTm90aWZp
Y2F0aW9uU2VydmljZUltcGwqCisgICBmdW46X1pOMTVXZWJDb250ZW50c0ltcGwxMlNldElzTG9h
ZGluZyoKKyAgIGZ1bjpfWk4xNVdlYkNvbnRlbnRzSW1wbDE0UmVuZGVyVmlld0dvbmUqCit9Cit7
CisgICBidWdfNzk4NjVhCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgor
ICAgZnVuOl9aTjMzTWFsd2FyZURldGFpbHNUZXN0X0hUVFBDYWNoZV9UZXN0OFRlc3RCb2R5RXYK
K30KK3sKKyAgIGJ1Z183OTg2NWIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9a
bncqCisgICBmdW46X1pOMTRUZXN0aW5nUHJvZmlsZTIwQ3JlYXRlUmVxdWVzdENvbnRleHRFdgor
ICAgZnVuOl9aTjQyTWFsd2FyZURldGFpbHNUZXN0X0hUVFBDYWNoZU5vRW50cmllc19UZXN0OFRl
c3RCb2R5RXYKK30KK3sKKyAgIGJ1Z183OTkzM2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpf
Wm53KgorICAgLi4uCisgICBmdW46X1pOMjFUZXN0VVJMUmVxdWVzdENvbnRleHQ0SW5pdEV2Cisg
ICAuLi4KKyAgIGZ1bjpfWk4yMVRlc3RVUkxSZXF1ZXN0Q29udGV4dEMxRXYKKyAgIGZ1bjpfWk4y
N1Rlc3RVUkxSZXF1ZXN0Q29udGV4dEdldHRlcjIwR2V0VVJMUmVxdWVzdENvbnRleHRFdgorfQor
eworICAgYnVnXzE2MDg5IFdvcmtlclBvb2wgdGhyZWFkcyBjYW4gbGVhayBieSBkZXNpZ24KKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjRiYXNlMjJQb3NpeER5bmFt
aWNUaHJlYWRQb29sOFBvc3RUYXNrKgorfQoreworICAgYnVnXzgwNDYyX2EKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk43V2ViQ29yZUwxNWFsbG9jVjhOUE9iamVj
dEVQNF9OUFBQN05QQ2xhc3MKKyAgIGZ1bjpfTlBOX0NyZWF0ZU9iamVjdAorICAgZnVuOl9aTjdX
ZWJDb3JlMjJucENyZWF0ZVY4U2NyaXB0T2JqZWN0RVA0X05QUE4ydjg2SGFuZGxlSU5TMl82T2Jq
ZWN0RUVFUE5TXzlET01XaW5kb3dFCisgICBmdW46X1pONldlYktpdEwxNm1ha2VJbnRBcnJheUlt
cGxFUktOU185V2ViVmVjdG9ySWlFRQorICAgZnVuOl9aTjZXZWJLaXQxMVdlYkJpbmRpbmdzMTJt
YWtlSW50QXJyYXlFUktOU185V2ViVmVjdG9ySWlFRQorfQoreworICAgYnVnXzgwNDYyX2IKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk43V2ViQ29yZUwxNWFsbG9j
VjhOUE9iamVjdEVQNF9OUFBQN05QQ2xhc3MKKyAgIGZ1bjpfTlBOX0NyZWF0ZU9iamVjdAorICAg
ZnVuOl9aTjdXZWJDb3JlMjJucENyZWF0ZVY4U2NyaXB0T2JqZWN0RVA0X05QUE4ydjg2SGFuZGxl
SU5TMl82T2JqZWN0RUVFUE5TXzlET01XaW5kb3dFCisgICBmdW46X1pONldlYktpdEwxOW1ha2VT
dHJpbmdBcnJheUltcGxFUktOU185V2ViVmVjdG9ySU5TXzlXZWJTdHJpbmdFRUUKKyAgIGZ1bjpf
Wk42V2ViS2l0MTFXZWJCaW5kaW5nczE1bWFrZVN0cmluZ0FycmF5RVJLTlNfOVdlYlZlY3RvcklO
U185V2ViU3RyaW5nRUVFCit9Cit7CisgICBidWdfODA1MzdfYQorICAgTWVtY2hlY2s6TGVhawor
ICAgZnVuOmNhbGxvYworICAgLi4uCisgICBmdW46X1pOM2dmeDE1R0xDb250ZXh0T1NNZXNhMTFN
YWtlQ3VycmVudEV2Cit9Cit7CisgICBidWdfODA1MzdfYgorICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOmNhbGxvYworICAgLi4uCisgICBmdW46X1pOM2dmeDE1R0xDb250ZXh0T1NNZXNhMTFNYWtl
Q3VycmVudEVQTlNfOUdMU3VyZmFjZUUKK30KK3sKKyAgIGJ1Z184MDU1MQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1oxMUJyb3dzZXJNYWluUksxOE1haW5GdW5jdGlv
blBhcmFtcworICAgZnVuOl9aTjIwSW5Qcm9jZXNzQnJvd3NlclRlc3Q1U2V0VXBFdgorfQorewor
ICAgYnVnXzgwNTUwX2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9a
TjE2UmVuZGVyV2lkZ2V0SG9zdDExV2FzUmVzdG9yZWRFdgorfQoreworICAgYnVnXzgwNTUwX2IK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjE2UmVuZGVyV2lkZ2V0
SG9zdDlXYXNIaWRkZW5FdgorfQoreworICAgYnVnXzgwNjYzCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTRCaW5kSU1OM25ldDE3VVJMUmVxdWVzdEh0dHBK
b2JFRnZQU3NQU3Q2dmVjdG9ySU5TMV8xMUNvb2tpZVN0b3JlMTBDb29raWVJbmZvRVNhSVM2X0VF
RVBTMl9FRU5TXzhpbnRlcm5hbDIwSW52b2tlclN0b3JhZ2VIb2xkZXJJTlNEXzE1SW52b2tlclN0
b3JhZ2UxSVRfVDBfRUVFRVNHX1JLU0hfCisgICBmdW46X1pOM25ldDE3VVJMUmVxdWVzdEh0dHBK
b2IyM0FkZENvb2tpZUhlYWRlckFuZFN0YXJ0RXYKKyAgIGZ1bjpfWk4zbmV0MTdVUkxSZXF1ZXN0
SHR0cEpvYjVTdGFydEV2CisgICBmdW46X1pOM25ldDEwVVJMUmVxdWVzdDhTdGFydEpvYkVQTlNf
MTNVUkxSZXF1ZXN0Sm9iRQorICAgZnVuOl9aTjNuZXQxMFVSTFJlcXVlc3Q1U3RhcnRFdgorICAg
ZnVuOl9aTjEwVVJMRmV0Y2hlcjRDb3JlMTVTdGFydFVSTFJlcXVlc3RFdgorICAgZnVuOl9aTjEw
VVJMRmV0Y2hlcjRDb3JlMzBTdGFydFVSTFJlcXVlc3RXaGVuQXBwcm9wcmlhdGVFdgorfQorewor
ICAgYnVnXzgyNzE3CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAg
ZnVuOl9aTjZjaHJvbWUyNkNocm9tZUNvbnRlbnRCcm93c2VyQ2xpZW50MjRSZW5kZXJQcm9jZXNz
SG9zdENyZWF0ZWRFUE43Y29udGVudDE3UmVuZGVyUHJvY2Vzc0hvc3RFCisgICBmdW46X1pOMjFS
ZW5kZXJQcm9jZXNzSG9zdEltcGw0SW5pdCoKKyAgIC4uLgorICAgZnVuOl9aTjE1V2ViQ29udGVu
dHNJbXBsMzJDcmVhdGVSZW5kZXJWaWV3Rm9yUmVuZGVyTWFuYWdlckVQKgorICAgZnVuOl9aTjIx
UmVuZGVyVmlld0hvc3RNYW5hZ2VyMTRJbml0UmVuZGVyVmlld0VQKgorICAgLi4uCisgICBmdW46
X1pOMjFSZW5kZXJWaWV3SG9zdE1hbmFnZXI4TmF2aWdhdGVFUktON2NvbnRlbnQxOU5hdmlnYXRp
b25FbnRyeUltcGxFCisgICBmdW46X1pOMTVXZWJDb250ZW50c0ltcGwxNU5hdmlnYXRlVG9FbnRy
eUVSS043Y29udGVudDE5TmF2aWdhdGlvbkVudHJ5SW1wbEVOUzBfMjBOYXZpZ2F0aW9uQ29udHJv
bGxlcjEwUmVsb2FkVHlwZUUKK30KK3sKKyAgIGJ1Z184MzYwOQorICAgTWVtY2hlY2s6TGVhawor
ICAgZnVuOl9abncqCisgICBmdW46X1pONGJhc2U0QmluZCpUYXNrQ2xvc3VyZUFkYXB0ZXJFRnZ2
RVBTMl9FRU5TXzhpbnRlcm5hbDIwSW52b2tlclN0b3JhZ2VIb2xkZXJJTlM2XzE1SW52b2tlclN0
b3JhZ2UxSVRfVDBfRUVFRVM5X1JLU0FfCisgICBmdW46X1pONGJhc2UxMU1lc3NhZ2VMb29wMTVQ
b3N0RGVsYXllZFRhc2tFUktOMTV0cmFja2VkX29iamVjdHM4TG9jYXRpb25FUDRUYXNreAorICAg
ZnVuOl9aTjEzQnJvd3NlclRocmVhZDE0UG9zdFRhc2tIZWxwZXJFTlNfMklERVJLTjE1dHJhY2tl
ZF9vYmplY3RzOExvY2F0aW9uRVA0VGFza3hiCisgICBmdW46X1pOMTNCcm93c2VyVGhyZWFkOFBv
c3RUYXNrRU5TXzJJREVSS04xNXRyYWNrZWRfb2JqZWN0czhMb2NhdGlvbkVQNFRhc2sKK30KK3sK
KyAgIGJ1Z184MzYwOWIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9a
TjRiYXNlNEJpbmQqVGFza0Nsb3N1cmVBZGFwdGVyRUZ2dkVQUzJfRUVOU184aW50ZXJuYWwyMElu
dm9rZXJTdG9yYWdlSG9sZGVySU5TNl8xNUludm9rZXJTdG9yYWdlMUlUX1QwX0VFRUVTOV9SS1NB
XworICAgZnVuOl9aTjRiYXNlMTFNZXNzYWdlTG9vcDhQb3N0VGFza0VSS04xNXRyYWNrZWRfb2Jq
ZWN0czhMb2NhdGlvbkVQNFRhc2sKK30KK3sKKyAgIGJ1Z184NDIyNF9hCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4MTNuZXdfYWxsb2NhdG9yKlBl
bmRpbmdUYXNrRUU4YWxsb2NhdGUqCisgICBmdW46X1pOKl9EZXF1ZV9iYXNlSU4qUGVuZGluZ1Rh
c2tFU2FJUzFfKl9NX2FsbG9jYXRlXyoKKyAgIC4uLgorICAgZnVuOl9aTlN0NWRlcXVlSU4qUGVu
ZGluZ1Rhc2tFU2FJUzFfRUUqcHVzaF9iYWNrKgorICAgZnVuOl9aTlN0NXF1ZXVlSU40KlBlbmRp
bmdUYXNrKmRlcXVlKnB1c2gqCisgICBmdW46X1pONGJhc2UxMU1lc3NhZ2VMb29wMThBZGRUb0lu
Y29taW5nUXVldWVFUE4qUGVuZGluZ1Rhc2tFCit9CisKK3sKKyAgIGJ1Z184NDI2NQorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTJMb2dpbkhhbmRsZXI2Q3JlYXRl
RVBOM25ldDE3QXV0aENoYWxsZW5nZUluZm9FUE5TMF8xMFVSTFJlcXVlc3RFCisgICBmdW46X1ox
N0NyZWF0ZUxvZ2luUHJvbXB0UE4zbmV0MTdBdXRoQ2hhbGxlbmdlSW5mb0VQTlNfMTBVUkxSZXF1
ZXN0RQorICAgZnVuOl9aTjIyUmVzb3VyY2VEaXNwYXRjaGVySG9zdDE0T25BdXRoUmVxdWlyZWRF
UE4zbmV0MTBVUkxSZXF1ZXN0RVBOUzBfMTdBdXRoQ2hhbGxlbmdlSW5mb0UKKyAgIGZ1bjpfWk4z
bmV0MTNVUkxSZXF1ZXN0Sm9iMjFOb3RpZnlIZWFkZXJzQ29tcGxldGVFdgorfQorCit7CisgICBi
dWdfODY0ODEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2du
dV9jeHgxM25ld19hbGxvY2F0b3IqRmlsZVBhdGgqYWxsb2NhdGUqCisgICBmdW46X1pOU3QxMV9E
ZXF1ZV9iYXNlKkZpbGVQYXRoKl9NX2FsbG9jYXRlX21hcCoKKyAgIGZ1bjpfWk5TdDExX0RlcXVl
X2Jhc2UqRmlsZVBhdGgqX01faW5pdGlhbGl6ZV9tYXAqCisgICBmdW46X1pOU3QxMV9EZXF1ZV9i
YXNlSSpGaWxlUGF0aCoKKyAgIGZ1bjpfWk5TdDVkZXF1ZUkqRmlsZVBhdGgqCisgICBmdW46X1pO
U3Q1c3RhY2tJKkZpbGVQYXRoKmRlcXVlKgorICAgZnVuOl9aTjlmaWxlX3V0aWwxNEZpbGVFbnVt
ZXJhdG9yQzFFKgorICAgZnVuOl9aTjdoaXN0b3J5MjBFeHBpcmVIaXN0b3J5QmFja2VuZDI1RG9F
eHBpcmVIaXN0b3J5SW5kZXhGaWxlc0V2Cit9CisKK3sKKyAgIGJ1Z184ODY0MF9hCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMVByb2ZpbGVJbXBsMzBJbml0UmVn
aXN0ZXJlZFByb3RvY29sSGFuZGxlcnNFdgorICAgZnVuOl9aTjExUHJvZmlsZUltcGwxMURvRmlu
YWxJbml0RXYKKyAgIGZ1bjpfWk4xMVByb2ZpbGVJbXBsMTNPblByZWZzTG9hZGVkRWIKK30KK3sK
KyAgIGJ1Z184ODY0MF9iCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk4xMVBy
b2ZpbGVJbXBsMTNPblByZWZzTG9hZGVkRWIKKyAgIC4uLgorICAgZnVuOl9aTjExUHJvZmlsZUlt
cGxDKkUqCit9Cit7CisgICBidWdfODg2NDBfYworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICBmdW46X1pOMjlDaHJvbWVVUkxSZXF1ZXN0Q29udGV4dEdldHRlcjE0Q3JlYXRlT3Jp
Z2luYWxFUDdQcm9maWxlUEsxM1Byb2ZpbGVJT0RhdGEKKyAgIGZ1bjpfWk4xN1Byb2ZpbGVJbXBs
SU9EYXRhNkhhbmRsZTRJbml0RSoKKyAgIGZ1bjpfWk4xMVByb2ZpbGVJbXBsMTFEb0ZpbmFsSW5p
dEV2CisgICBmdW46X1pOMTFQcm9maWxlSW1wbDEzT25QcmVmc0xvYWRlZEViCit9Cit7CisgICBi
dWdfODE3OTYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjRiYXNl
MTZNZXNzYWdlTG9vcFByb3h5MjJjdXJyZW50RXYKKyAgIGZ1bjpfWk4zSVBDMTJDaGFubmVsUHJv
eHk3Q29udGV4dEMxRVBOU183Q2hhbm5lbDhMaXN0ZW5lckVQTjRiYXNlMTZNZXNzYWdlTG9vcFBy
b3h5RQorICAgZnVuOl9aTjNJUEMxMkNoYW5uZWxQcm94eUMxRVJLTlNfMTNDaGFubmVsSGFuZGxl
RU5TXzdDaGFubmVsNE1vZGVFUE5TNF84TGlzdGVuZXJFUE40YmFzZTE2TWVzc2FnZUxvb3BQcm94
eUUKK30KK3sKKyAgIGJ1Z184OTMwNAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisg
ICAuLi4KKyAgIGZ1bjpfWk4zbmV0MjBDbGllbnRTb2NrZXRQb29sQmFzZUlOU18qU29ja2V0UGFy
YW1zRUUxM1JlcXVlc3RTb2NrZXRFUktTc1JLMTNzY29wZWRfcmVmcHRySVMxX0VOU18xNVJlcXVl
c3RQcmlvcml0eUVQTlNfMThDbGllbnRTb2NrZXRIYW5kbGVFUDE0Q2FsbGJhY2tSdW5uZXJJNlR1
cGxlMUlpRUVSS05TXzExQm91bmROZXRMb2dFCisgICBmdW46X1pOM25ldCpTb2NrZXRQb29sMTNS
ZXF1ZXN0U29ja2V0RVJLU3NQS3ZOU18xNVJlcXVlc3RQcmlvcml0eUVQTlNfMThDbGllbnRTb2Nr
ZXRIYW5kbGVFUDE0Q2FsbGJhY2tSdW5uZXJJNlR1cGxlMUlpRUVSS05TXzExQm91bmROZXRMb2dF
CisgICBmdW46X1pOM25ldDE4Q2xpZW50U29ja2V0SGFuZGxlNEluaXQqCisgICAuLi4KKyAgIGZ1
bjpfWk4zbmV0MjNDbGllbnRTb2NrZXRQb29sTWFuYWdlcjMwSW5pdFNvY2tldEhhbmRsZUZvckh0
dHBSZXF1ZXN0RVJLNEdVUkxSS05TXzE4SHR0cFJlcXVlc3RIZWFkZXJzRWlOU18xNVJlcXVlc3RQ
cmlvcml0eUVQTlNfMThIdHRwTmV0d29ya1Nlc3Npb25FUktOU185UHJveHlJbmZvRWJiUktOU185
U1NMQ29uZmlnRVNGX1JLTlNfMTFCb3VuZE5ldExvZ0VQTlNfMThDbGllbnRTb2NrZXRIYW5kbGVF
UDE0Q2FsbGJhY2tSdW5uZXJJNlR1cGxlMUlpRUUKKyAgIGZ1bjpfWk4zbmV0MjFIdHRwU3RyZWFt
RmFjdG9yeUltcGwzSm9iMTZEb0luaXRDb25uZWN0aW9uRXYKK30KK3sKKyAgIGJ1Z184OTMxMQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4zbmV0MTZI
dHRwU3RyZWFtUGFyc2VyMjJEb1BhcnNlUmVzcG9uc2VIZWFkZXJzRWkKKyAgIGZ1bjpfWk4zbmV0
MTZIdHRwU3RyZWFtUGFyc2VyMjBQYXJzZVJlc3BvbnNlSGVhZGVyc0V2CisgICBmdW46X1pOM25l
dDE2SHR0cFN0cmVhbVBhcnNlcjIxRG9SZWFkSGVhZGVyc0NvbXBsZXRlRWkKK30KK3sKKyAgIGJ1
Z184OTk0Ml9hCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk4xMFp5Z290ZUhv
c3QxMUZvcmtSZXF1ZXN0RVJLU3Q2dmVjdG9ySVNzU2FJU3NFRVJLUzBfSVN0NHBhaXJJamlFU2FJ
UzZfRUVSS1NzCisgICBmdW46X1pOMjBDaGlsZFByb2Nlc3NMYXVuY2hlcjdDb250ZXh0MTRMYXVu
Y2hJbnRlcm5hbEUxM3Njb3BlZF9yZWZwdHJJUzBfRU4xM0Jyb3dzZXJUaHJlYWQySURFYlJLU3Q2
dmVjdG9ySVN0NHBhaXJJU3NTc0VTYUlTN19FRWlQMTFDb21tYW5kTGluZQorfQoreworICAgYnVn
Xzg5OTQyX2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTlN0NnZlY3RvcklT
dDRwYWlySWppRVNhSVMxX0VFOXB1c2hfYmFja0VSS1MxXworICAgZnVuOl9aTjIwQ2hpbGRQcm9j
ZXNzTGF1bmNoZXI3Q29udGV4dDE0TGF1bmNoSW50ZXJuYWxFMTNzY29wZWRfcmVmcHRySVMwX0VO
MTNCcm93c2VyVGhyZWFkMklERWJSS1N0NnZlY3RvcklTdDRwYWlySVNzU3NFU2FJUzdfRUVpUDEx
Q29tbWFuZExpbmUKK30KK3sKKyAgIGJ1Z185MDA1N2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4u
LgorICAgZnVuOl9aTjNuZXQxM0Nvb2tpZU1vbnN0ZXI5SW5pdFN0b3JlRXYKKyAgIGZ1bjpfWk4z
bmV0MTNDb29raWVNb25zdGVyMTVJbml0SWZOZWNlc3NhcnlFdgorICAgZnVuOl9aTjNuZXQxM0Nv
b2tpZU1vbnN0ZXIzMEdldEFsbENvb2tpZXNGb3JVUkxXaXRoT3B0aW9uc0VSSzRHVVJMUktOU18x
M0Nvb2tpZU9wdGlvbnNFCisgICBmdW46X1pOM25ldDEzQ29va2llTW9uc3RlcjE5R2V0QWxsQ29v
a2llc0ZvclVSTEVSSzRHVVJMCisgICBmdW46X1pOMjJSZXNvdXJjZURpc3BhdGNoZXJIb3N0MTND
YW5HZXRDb29raWVzRVBOM25ldDEwVVJMUmVxdWVzdEUKKyAgIGZ1bjpfWk4zbmV0MTBVUkxSZXF1
ZXN0MTNDYW5HZXRDb29raWVzRXYKKyAgIGZ1bjpfWk4zbmV0MTNVUkxSZXF1ZXN0Sm9iMTNDYW5H
ZXRDb29raWVzRXYKKyAgIGZ1bjpfWk4zbmV0MTdVUkxSZXF1ZXN0SHR0cEpvYjIzQWRkQ29va2ll
SGVhZGVyQW5kU3RhcnRFdgorfQoreworICAgYnVnXzkwMDU3YgorICAgTWVtY2hlY2s6TGVhawor
ICAgLi4uCisgICBmdW46X1pOM25ldDEzQ29va2llTW9uc3RlcjlJbml0U3RvcmVFdgorICAgZnVu
Ol9aTjNuZXQxM0Nvb2tpZU1vbnN0ZXIxNUluaXRJZk5lY2Vzc2FyeUV2CisgICBmdW46X1pOM25l
dDEzQ29va2llTW9uc3RlcjIxR2V0Q29va2llc1dpdGhPcHRpb25zRVJLNEdVUkxSS05TXzEzQ29v
a2llT3B0aW9uc0UKKyAgIGZ1bjpfWk4zbmV0MTNDb29raWVNb25zdGVyMjZHZXRDb29raWVzV2l0
aE9wdGlvbnNBc3luY0VSSzRHVVJMUktOU18xM0Nvb2tpZU9wdGlvbnNFUktONGJhc2U4Q2FsbGJh
Y2tJRnZSS1NzRUVFCisgICBmdW46X1pOM25ldDExQ29va2llU3RvcmUxNUdldENvb2tpZXNBc3lu
Y0VSSzRHVVJMUktONGJhc2U4Q2FsbGJhY2tJRnZSS1NzRUVFCisgICBmdW46X1pOMTJfR0xPQkFM
X19OXzEyMEdldENvb2tpZXNPbklPVGhyZWFkRVJLNEdVUkxSSzEzc2NvcGVkX3JlZnB0cklOM25l
dDIzVVJMUmVxdWVzdENvbnRleHRHZXR0ZXJFRVBONGJhc2UxM1dhaXRhYmxlRXZlbnRFUFNzCit9
Cit7CisgICBidWdfOTAwNTdjCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4u
LgorICAgZnVuOl9aTjNuZXQxN1VSTFJlcXVlc3RIdHRwSm9iMTRTYXZlTmV4dENvb2tpZUV2Cisg
ICBmdW46X1pOM25ldDE3VVJMUmVxdWVzdEh0dHBKb2IzNVNhdmVDb29raWVzQW5kTm90aWZ5SGVh
ZGVyc0NvbXBsZXRlRXYKKyAgIGZ1bjpfWk4zbmV0MTdVUkxSZXF1ZXN0SHR0cEpvYjE2T25TdGFy
dENvbXBsZXRlZEVpCit9Cit7CisgICBidWdfOTAyMTVfYworICAgTWVtY2hlY2s6TGVhaworICAg
Li4uCisgICBmdW46X1pOM25ldDEzVVJMUmVxdWVzdEpvYjIxTm90aWZ5UmVzdGFydFJlcXVpcmVk
RXYKKyAgIGZ1bjpfWk44YXBwY2FjaGUyMUFwcENhY2hlVVJMUmVxdWVzdEpvYjEzQmVnaW5EZWxp
dmVyeUV2Cit9Cit7CisgICBidWdfOTAyMTVfZAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisg
ICBmdW46X1pOOGFwcGNhY2hlMTlBcHBDYWNoZVN0b3JhZ2VJbXBsMjNSdW5PbmVQZW5kaW5nU2lt
cGxlVGFza0V2Cit9Cit7CisgICBidWdfOTAyMTVfZQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Ol9abncqCisgICBmdW46X1pOOGFwcGNhY2hlMTVBcHBDYWNoZVNlcnZpY2UxMEluaXRpYWxpemVF
KgorICAgZnVuOl9aTjIxQ2hyb21lQXBwQ2FjaGVTZXJ2aWNlMjBJbml0aWFsaXplT25JT1RocmVh
ZEUqCit9Cit7CisgICBidWdfOTAyMTVfZgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICAuLi4KKyAgIGZ1bjpfWk4yNlRyYW5zcG9ydFNlY3VyaXR5UGVyc2lzdGVyQzFFUE4zbmV0
MjJUcmFuc3BvcnRTZWN1cml0eVN0YXRlRVJLTjRiYXNlOEZpbGVQYXRoRWIKKyAgIGZ1bjpfWk5L
MTNQcm9maWxlSU9EYXRhNEluaXRFUFN0M21hcElTczEwbGlua2VkX3B0cklOM25ldDIwVVJMUmVx
dWVzdEpvYkZhY3RvcnkxNVByb3RvY29sSGFuZGxlckVFU3Q0bGVzc0lTc0VTYUlTdDRwYWlySUtT
c1M1X0VFRQorICAgZnVuOl9aTjEyX0dMT0JBTF9fTl8xMTRGYWN0b3J5Rm9yTWFpbjZDcmVhdGVF
dgorICAgZnVuOl9aTjI5Q2hyb21lVVJMUmVxdWVzdENvbnRleHRHZXR0ZXIyMEdldFVSTFJlcXVl
c3RDb250ZXh0RXYKKyAgIGZ1bjpfWk43Y29udGVudDIxQ2hyb21lQXBwQ2FjaGVTZXJ2aWNlMjBJ
bml0aWFsaXplT25JT1RocmVhZEVSS040YmFzZThGaWxlUGF0aEVQTlNfMTVSZXNvdXJjZUNvbnRl
eHRFUE4zbmV0MjNVUkxSZXF1ZXN0Q29udGV4dEdldHRlckUxM3Njb3BlZF9yZWZwdHJJTjVxdW90
YTIwU3BlY2lhbFN0b3JhZ2VQb2xpY3lFRQorfQoreworICAgYnVnXzkwMjQwCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjJwcDVwcm94eTI2UFBQX0lu
c3RhbmNlX1ByaXZhdGVfUHJveHkyMk9uTXNnR2V0SW5zdGFuY2VPYmplY3RFaU5TMF8yNFNlcmlh
bGl6ZWRWYXJSZXR1cm5WYWx1ZUUKK30KK3sKKyAgIGJ1Z185MDQwMAorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOl9abncqCisgICBmdW46X1pOMTFQcm9maWxlSW1wbDI0R2V0VXNlclN0eWxlU2hl
ZXRXYXRjaGVyRXYKKyAgIGZ1bjpfWk42Y2hyb21lMjZDaHJvbWVDb250ZW50QnJvd3NlckNsaWVu
dDE0R2V0V2Via2l0UHJlZnMqCisgICBmdW46X1pOMTVXZWJDb250ZW50c0ltcGwxNEdldFdlYmtp
dFByZWZzRXYKK30KK3sKKyAgIGJ1Z185MDQ4NworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcklTdDEwX0xpc3Rfbm9kZUlQ
TjVxdW90YTExUXVvdGFDbGllbnRFRUU4YWxsb2NhdGVFalBLdgorICAgZnVuOl9aTlN0MTBfTGlz
dF9iYXNlSVBONXF1b3RhMTFRdW90YUNsaWVudEVTYUlTMl9FRTExX01fZ2V0X25vZGVFdgorICAg
ZnVuOl9aTlN0NGxpc3RJUE41cXVvdGExMVF1b3RhQ2xpZW50RVNhSVMyX0VFMTRfTV9jcmVhdGVf
bm9kZUVSS1MyXworICAgZnVuOl9aTlN0NGxpc3RJUE41cXVvdGExMVF1b3RhQ2xpZW50RVNhSVMy
X0VFOV9NX2luc2VydEVTdDE0X0xpc3RfaXRlcmF0b3JJUzJfRVJLUzJfCisgICBmdW46X1pOU3Q0
bGlzdElQTjVxdW90YTExUXVvdGFDbGllbnRFU2FJUzJfRUU5cHVzaF9iYWNrRVJLUzJfCisgICBm
dW46X1pONXF1b3RhMTJRdW90YU1hbmFnZXIxNFJlZ2lzdGVyQ2xpZW50RVBOU18xMVF1b3RhQ2xp
ZW50RQorICAgZnVuOl9aTjVxdW90YTE3UXVvdGFNYW5hZ2VyUHJveHkxNFJlZ2lzdGVyQ2xpZW50
RVBOU18xMVF1b3RhQ2xpZW50RQorfQoreworICAgYnVnXzkwNDk2YQorICAgTWVtY2hlY2s6TGVh
aworICAgLi4uCisgICBmdW46X1pOM0lQQzE2TWVzc2FnZVdpdGhUdXBsZUk2VHVwbGUySWkyM1Jl
c291cmNlSG9zdE1zZ19SZXF1ZXN0RUU4RGlzcGF0Y2hJMjJSZXNvdXJjZURpc3BhdGNoZXJIb3N0
UzZfaVJLUzJfRUViUEtOU183TWVzc2FnZUVQVF9QVDBfTVNDX0Z2UlNBX1QxX1QyX0UKKyAgIGZ1
bjpfWk4yMlJlc291cmNlRGlzcGF0Y2hlckhvc3QxN09uTWVzc2FnZVJlY2VpdmVkRVJLTjNJUEM3
TWVzc2FnZUVQMjFSZXNvdXJjZU1lc3NhZ2VGaWx0ZXJQYgorICAgZnVuOl9aTjIxUmVzb3VyY2VN
ZXNzYWdlRmlsdGVyMTdPbk1lc3NhZ2VSZWNlaXZlZEVSS04zSVBDN01lc3NhZ2VFUGIKKyAgIGZ1
bjpfWk4yMEJyb3dzZXJNZXNzYWdlRmlsdGVyMTVEaXNwYXRjaE1lc3NhZ2VFUktOM0lQQzdNZXNz
YWdlRQorICAgZnVuOl9aTjIwQnJvd3Nlck1lc3NhZ2VGaWx0ZXIxN09uTWVzc2FnZVJlY2VpdmVk
RVJLTjNJUEM3TWVzc2FnZUUKKyAgIGZ1bjpfWk4zSVBDMTJDaGFubmVsUHJveHk3Q29udGV4dDEw
VHJ5RmlsdGVyc0VSS05TXzdNZXNzYWdlRQorICAgZnVuOl9aTjNJUEMxMkNoYW5uZWxQcm94eTdD
b250ZXh0MTdPbk1lc3NhZ2VSZWNlaXZlZEVSS05TXzdNZXNzYWdlRQorICAgZnVuOl9aTjNJUEM3
Q2hhbm5lbDExQ2hhbm5lbEltcGwyM1Byb2Nlc3NJbmNvbWluZ01lc3NhZ2VzRXYKKyAgIGZ1bjpf
Wk4zSVBDN0NoYW5uZWwxMUNoYW5uZWxJbXBsMjhPbkZpbGVDYW5SZWFkV2l0aG91dEJsb2NraW5n
RWkKK30KK3sKKyAgIGJ1Z185MDQ5NmIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53Kgor
ICAgZnVuOl9aTjIyUmVzb3VyY2VEaXNwYXRjaGVySG9zdDIzQ29tcGxldGVSZXNwb25zZVN0YXJ0
ZWRFUE4zbmV0MTBVUkxSZXF1ZXN0RQorICAgZnVuOl9aTjIyUmVzb3VyY2VEaXNwYXRjaGVySG9z
dDE3T25SZXNwb25zZVN0YXJ0ZWRFUE4zbmV0MTBVUkxSZXF1ZXN0RQorICAgZnVuOl9aTjNuZXQx
MFVSTFJlcXVlc3QyMU5vdGlmeVJlc3BvbnNlU3RhcnRlZEV2CisgICBmdW46X1pOM25ldDEzVVJM
UmVxdWVzdEpvYjIxTm90aWZ5SGVhZGVyc0NvbXBsZXRlRXYKK30KK3sKKyAgIGJ1Z185MDQ5NmMK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjIwQXN5bmNSZXNvdXJj
ZUhhbmRsZXIxNU9uUmVhZENvbXBsZXRlZEVpUGkKKyAgIGZ1bjpfWk4yM0J1ZmZlcmVkUmVzb3Vy
Y2VIYW5kbGVyMTVPblJlYWRDb21wbGV0ZWRFaVBpCisgICBmdW46X1pOMjdTYWZlQnJvd3NpbmdS
ZXNvdXJjZUhhbmRsZXIxNU9uUmVhZENvbXBsZXRlZEVpUGkKKyAgIGZ1bjpfWk4yMk9mZmxpbmVS
ZXNvdXJjZUhhbmRsZXIxNU9uUmVhZENvbXBsZXRlZEVpUGkKKyAgIGZ1bjpfWk4yMlJlc291cmNl
RGlzcGF0Y2hlckhvc3QxMkNvbXBsZXRlUmVhZEVQTjNuZXQxMFVSTFJlcXVlc3RFUGkKKyAgIGZ1
bjpfWk4yMlJlc291cmNlRGlzcGF0Y2hlckhvc3QxNU9uUmVhZENvbXBsZXRlZEVQTjNuZXQxMFVS
TFJlcXVlc3RFaQorICAgZnVuOl9aTjNuZXQxMFVSTFJlcXVlc3QxOU5vdGlmeVJlYWRDb21wbGV0
ZWRFaQorICAgZnVuOl9aTjNuZXQxM1VSTFJlcXVlc3RKb2IxOE5vdGlmeVJlYWRDb21wbGV0ZUVp
CisgICBmdW46X1pOMTlVUkxSZXF1ZXN0Q2hyb21lSm9iMTNEYXRhQXZhaWxhYmxlRVAxNlJlZkNv
dW50ZWRNZW1vcnkKKyAgIGZ1bjpfWk4yN0Nocm9tZVVSTERhdGFNYW5hZ2VyQmFja2VuZDEzRGF0
YUF2YWlsYWJsZUVpUDE2UmVmQ291bnRlZE1lbW9yeQorICAgZnVuOl9aTjIwQ2hyb21lVVJMRGF0
YU1hbmFnZXIxMERhdGFTb3VyY2UyMlNlbmRSZXNwb25zZU9uSU9UaHJlYWRFaTEzc2NvcGVkX3Jl
ZnB0ckkxNlJlZkNvdW50ZWRNZW1vcnlFCit9Cit7CisgICBidWdfOTA0OTZkCisgICBNZW1jaGVj
azpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk4yNENyb3NzU2l0ZVJlc291cmNlSGFuZGxlcjE0UmVz
dW1lUmVzcG9uc2VFdgorICAgZnVuOl9aTjIyUmVzb3VyY2VEaXNwYXRjaGVySG9zdDEyT25Td2Fw
T3V0QUNLRVJLMjJWaWV3TXNnX1N3YXBPdXRfUGFyYW1zCisgICBmdW46X1pOMThSZW5kZXJXaWRn
ZXRIZWxwZXIyMU9uQ3Jvc3NTaXRlU3dhcE91dEFDS0VSSzIyVmlld01zZ19Td2FwT3V0X1BhcmFt
cworfQoreworICAgYnVnXzkwNDk2ZQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46
X1pOMTRTaGFyZWRJT0J1ZmZlcjRJbml0RXYKKyAgIGZ1bjpfWk4yMEFzeW5jUmVzb3VyY2VIYW5k
bGVyMTBPbldpbGxSZWFkRWlQUE4zbmV0OElPQnVmZmVyRVBpaQorICAgZnVuOl9aTjI0Q3Jvc3NT
aXRlUmVzb3VyY2VIYW5kbGVyMTBPbldpbGxSZWFkRWlQUE4zbmV0OElPQnVmZmVyRVBpaQorICAg
ZnVuOl9aTjIzQnVmZmVyZWRSZXNvdXJjZUhhbmRsZXIxME9uV2lsbFJlYWRFaVBQTjNuZXQ4SU9C
dWZmZXJFUGlpCisgICBmdW46X1pOMjdTYWZlQnJvd3NpbmdSZXNvdXJjZUhhbmRsZXIxME9uV2ls
bFJlYWRFaVBQTjNuZXQ4SU9CdWZmZXJFUGlpCisgICBmdW46X1pOMjJPZmZsaW5lUmVzb3VyY2VI
YW5kbGVyMTBPbldpbGxSZWFkRWlQUE4zbmV0OElPQnVmZmVyRVBpaQorICAgZnVuOl9aTjIyUmVz
b3VyY2VEaXNwYXRjaGVySG9zdDRSZWFkRVBOM25ldDEwVVJMUmVxdWVzdEVQaQorICAgZnVuOl9a
TjIyUmVzb3VyY2VEaXNwYXRjaGVySG9zdDEyU3RhcnRSZWFkaW5nRVBOM25ldDEwVVJMUmVxdWVz
dEUKK30KK3sKKyAgIGJ1Z185MDY3MQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisg
ICAuLi4KKyAgIGZ1bjpfWk5LM3NxbDlTdGF0ZW1lbnQqQ29sdW1uU3RyaW5nKgorICAgZnVuOl9a
TjdoaXN0b3J5MTFVUkxEYXRhYmFzZTEwRmlsbFVSTFJvd0VSTjNzcWw5U3RhdGVtZW50RVBOU182
VVJMUm93RQorICAgZnVuOl9aTjdoaXN0b3J5MTFVUkxEYXRhYmFzZTEzVVJMRW51bWVyYXRvcjEw
R2V0TmV4dFVSTEVQTlNfNlVSTFJvd0UKKyAgIGZ1bjpfWk43aGlzdG9yeTE0SGlzdG9yeUJhY2tl
bmQxMUl0ZXJhdGVVUkxzRVBOMTRIaXN0b3J5U2VydmljZTEzVVJMRW51bWVyYXRvckUKK30KK3sK
KyAgIGJ1Z185MTE5OQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pO
MTlVUkxSZXF1ZXN0Q2hyb21lSm9iMTVHZXRSZXNwb25zZUluZm9FUE4zbmV0MTZIdHRwUmVzcG9u
c2VJbmZvRQorICAgZnVuOl9aTjNuZXQxM1VSTFJlcXVlc3RKb2IyMU5vdGlmeUhlYWRlcnNDb21w
bGV0ZUV2CisgICBmdW46X1pOMTlVUkxSZXF1ZXN0Q2hyb21lSm9iMTBTdGFydEFzeW5jRXYKK30K
K3sKKyAgIGJ1Z185MjM4OQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1pOM25ldDExQWRkcmVzc0xpc3QyN0NyZWF0ZUJ5Q29weWluZ0ZpcnN0QWRkcmVzc0VQSzhhZGRy
aW5mbworICAgZnVuOl9aTkszbmV0MjNUQ1BDbGllbnRTb2NrZXRMaWJldmVudDE0R2V0UGVlckFk
ZHJlc3NFUE5TXzExQWRkcmVzc0xpc3RFCisgICAuLi4KKyAgIGZ1bjpfWk4zbmV0MjJIdHRwTmV0
d29ya1RyYW5zYWN0aW9uMTNEb1NlbmRSZXF1ZXN0RXYKKyAgIGZ1bjpfWk4zbmV0MjJIdHRwTmV0
d29ya1RyYW5zYWN0aW9uNkRvTG9vcEVpCisgICBmdW46X1pOM25ldDIySHR0cE5ldHdvcmtUcmFu
c2FjdGlvbjEyT25JT0NvbXBsZXRlRWkKKyAgIGZ1bjpfWk4zbmV0MjJIdHRwTmV0d29ya1RyYW5z
YWN0aW9uMTNPblN0cmVhbVJlYWR5RVJLTlNfOVNTTENvbmZpZ0VSS05TXzlQcm94eUluZm9FUE5T
XzEwSHR0cFN0cmVhbUUKKyAgIGZ1bjpfWk4zbmV0MjFIdHRwU3RyZWFtRmFjdG9yeUltcGw3UmVx
dWVzdCoKKyAgIGZ1bjpfWk4zbmV0MjFIdHRwU3RyZWFtRmFjdG9yeUltcGwzSm9iKgorfQorewor
ICAgYnVnXzkyNTcxCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43
aGlzdG9yeTE2VG9wU2l0ZXNEYXRhYmFzZThDcmVhdGVEQkUqCisgICBmdW46X1pON2hpc3Rvcnkx
NlRvcFNpdGVzRGF0YWJhc2U0SW5pdEUqCisgICBmdW46X1pON2hpc3RvcnkxNVRvcFNpdGVzQmFj
a2VuZDE2SW5pdERCT25EQlRocmVhZEUqCit9Cit7CisgICBidWdfOTI3NDFhCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTRCaW5kSVBGdlBOU18xM1dhaXRh
YmxlRXZlbnRFUFNzUktTc0VTMl9TM19FRU5TXzhpbnRlcm5hbDIwSW52b2tlclN0b3JhZ2VIb2xk
ZXJJTlM4XzE1SW52b2tlclN0b3JhZ2UySVRfVDBfVDFfRUVFRVNCX1JLU0NfUktTRF8KKyAgIGZ1
bjpfWk4xMl9HTE9CQUxfX05fMTIwR2V0Q29va2llc09uSU9UaHJlYWRFUks0R1VSTFJLMTNzY29w
ZWRfcmVmcHRySU4zbmV0MjNVUkxSZXF1ZXN0Q29udGV4dEdldHRlckVFUE40YmFzZTEzV2FpdGFi
bGVFdmVudEVQU3MKKyAgIGZ1bjpfWjE4RGlzcGF0Y2hUb0Z1bmN0aW9uSVBGdlJLNEdVUkxSSzEz
c2NvcGVkX3JlZnB0cklOM25ldDIzVVJMUmVxdWVzdENvbnRleHRHZXR0ZXJFRVBONGJhc2UxM1dh
aXRhYmxlRXZlbnRFUFNzRVMwX1M2X1NCX1NDX0V2VF9SSzZUdXBsZTRJVDBfVDFfVDJfVDNfRQor
fQoreworICAgYnVnXzkyNzQxYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pONGJhc2U0QmluZElNTjNuZXQxN1VSTFJlcXVlc3RIdHRwSm9iRUZ2UFNzUFN0NnZlY3Rv
cklOUzFfMTFDb29raWVTdG9yZTEwQ29va2llSW5mb0VTYUlTNl9FRUVOU183V2Vha1B0cklTMl9F
RUVFTlNfOGludGVybmFsMjBJbnZva2VyU3RvcmFnZUhvbGRlcklOU0VfMTVJbnZva2VyU3RvcmFn
ZTFJVF9UMF9FRUVFU0hfUktTSV8KKyAgIGZ1bjpfWk4zbmV0MTdVUkxSZXF1ZXN0SHR0cEpvYjI0
Q2hlY2tDb29raWVQb2xpY3lBbmRMb2FkRVJLTlNfMTBDb29raWVMaXN0RQorfQoreworICAgYnVn
XzkyNzQxYworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pONGJhc2U0
QmluZElNTjNuZXQxN1VSTFJlcXVlc3RIdHRwSm9iRUZ2UktOUzFfMTBDb29raWVMaXN0RUVOU183
V2Vha1B0cklTMl9FRUVFTlNfOGludGVybmFsMjBJbnZva2VyU3RvcmFnZUhvbGRlcklOU0FfMTVJ
bnZva2VyU3RvcmFnZTFJVF9UMF9FRUVFU0RfUktTRV8KKyAgIGZ1bjpfWk4zbmV0MTdVUkxSZXF1
ZXN0SHR0cEpvYjIzQWRkQ29va2llSGVhZGVyQW5kU3RhcnRFdgorICAgZnVuOl9aTjNuZXQxN1VS
TFJlcXVlc3RIdHRwSm9iNVN0YXJ0RXYKKyAgIGZ1bjpfWk4zbmV0MTBVUkxSZXF1ZXN0OFN0YXJ0
Sm9iRVBOU18xM1VSTFJlcXVlc3RKb2JFCisgICBmdW46X1pOM25ldDEwVVJMUmVxdWVzdDVTdGFy
dEV2Cit9Cit7CisgICBidWdfOTI4NzZhCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk4zbmV0MThTU0xDbGllbnRTb2NrZXROU1MxMEJ1ZmZlclNlbmRFdgorICAgZnVu
Ol9aTjNuZXQxOFNTTENsaWVudFNvY2tldE5TUzEzRG9UcmFuc3BvcnRJT0V2CisgICBmdW46X1pO
M25ldDE4U1NMQ2xpZW50U29ja2V0TlNTMTFEb1dyaXRlTG9vcEVpCisgICBmdW46X1pOM25ldDE4
U1NMQ2xpZW50U29ja2V0TlNTNVdyaXRlRVBOU184SU9CdWZmZXJFaVAxNENhbGxiYWNrUnVubmVy
STZUdXBsZTFJaUVFCisgICBmdW46X1pOM25ldDExU3BkeVNlc3Npb24xMVdyaXRlU29ja2V0RXYK
K30KK3sKKyAgIGJ1Z185Mjg3NmIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
ZnVuOl9aTjNuZXQxOFNTTENsaWVudFNvY2tldE5TUzEwQnVmZmVyU2VuZEV2CisgICBmdW46X1pO
M25ldDE4U1NMQ2xpZW50U29ja2V0TlNTMTNEb1RyYW5zcG9ydElPRXYKKyAgIGZ1bjpfWk4zbmV0
MThTU0xDbGllbnRTb2NrZXROU1MxNURvSGFuZHNoYWtlTG9vcEVpCisgICBmdW46X1pOM25ldDE4
U1NMQ2xpZW50U29ja2V0TlNTN0Nvbm5lY3RFUDE0Q2FsbGJhY2tSdW5uZXJJNlR1cGxlMUlpRUUK
KyAgIGZ1bjpfWk4zbmV0MTNTU0xDb25uZWN0Sm9iMTJEb1NTTENvbm5lY3RFdgorICAgZnVuOl9a
TjNuZXQxM1NTTENvbm5lY3RKb2I2RG9Mb29wRWkKKyAgIGZ1bjpfWk4zbmV0MTNTU0xDb25uZWN0
Sm9iMTJPbklPQ29tcGxldGVFaQorfQoreworICAgYnVnXzkzMDA2YQorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOl9abncqCisgICBmdW46X1pOMTlEb3dubG9hZE1hbmFnZXJUZXN0QzJFdgorICAg
ZnVuOl9aTipEb3dubG9hZE1hbmFnZXJUZXN0XyoKK30KK3sKKyAgIGJ1Z185MzAwNmIKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjE1RG93bmxvYWRNYW5hZ2VyNElu
aXRFUDdQcm9maWxlCisgICBmdW46X1pOMTlEb3dubG9hZE1hbmFnZXJUZXN0QzJFdgorICAgZnVu
Ol9aTipEb3dubG9hZE1hbmFnZXJUZXN0XyoKK30KK3sKKyAgIGJ1Z185MzI1MGEKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46KlNIQTFGaW5nZXJwcmludCoK
KyAgIGZ1bjpfWk4zbmV0MTZDZXJ0VmVyaWZ5UmVzdWx0YVNFUktTMF8KKyAgIGZ1bjpfWk4zbmV0
MTJDZXJ0VmVyaWZpZXIxMkhhbmRsZVJlc3VsdEVQTlNfMTVYNTA5Q2VydGlmaWNhdGVFUktTc2lp
UktOU18xNkNlcnRWZXJpZnlSZXN1bHRFCisgICBmdW46X1pOM25ldDE4Q2VydFZlcmlmaWVyV29y
a2VyN0RvUmVwbHlFdgorfQoreworICAgYnVnXzkzMjUwYgorICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOl9abncqCisgICBmdW46X1pONGJhc2U0QmluZElNTlNfNnN1YnRsZTE4VGFza0Nsb3N1cmVB
ZGFwdGVyRUZ2dkVQUzJfRUVOU184aW50ZXJuYWwyMEludm9rZXJTdG9yYWdlSG9sZGVySU5TNl8x
NUludm9rZXJTdG9yYWdlMUlUX1QwX0VFRUVTOV9SS1NBXworICAgZnVuOl9aTjRiYXNlMTFNZXNz
YWdlTG9vcDhQb3N0VGFza0VSS04xNXRyYWNrZWRfb2JqZWN0czhMb2NhdGlvbkVQNFRhc2sKKyAg
IGZ1bjpfWk4zbmV0MThDZXJ0VmVyaWZpZXJXb3JrZXI2RmluaXNoRXYKKyAgIGZ1bjpfWk4zbmV0
MThDZXJ0VmVyaWZpZXJXb3JrZXIzUnVuRXYKK30KK3sKKyAgIGJ1Z185MzczMF9hCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xNFNlcnZpY2VQcm9jZXNzMTBJbml0
aWFsaXplRVAxNk1lc3NhZ2VMb29wRm9yVUlSSzExQ29tbWFuZExpbmVQMTlTZXJ2aWNlUHJvY2Vz
c1N0YXRlCisgICBmdW46X1oxOFNlcnZpY2VQcm9jZXNzTWFpblJLMThNYWluRnVuY3Rpb25QYXJh
bXMKKyAgIC4uLgorICAgZnVuOkNocm9tZU1haW4KKyAgIGZ1bjptYWluCit9Cit7CisgICBidWdf
OTM3MzBfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abmEqCisgICBmdW46X1pONGJhc2Ux
M0xhdW5jaFByb2Nlc3NFUktTdDZ2ZWN0b3JJU3NTYUlTc0VFUktOU18xM0xhdW5jaE9wdGlvbnNF
UGkKKyAgIGZ1bjpfWk40YmFzZTEzTGF1bmNoUHJvY2Vzc0VSSzExQ29tbWFuZExpbmVSS05TXzEz
TGF1bmNoT3B0aW9uc0VQaQorICAgZnVuOl9aTjIxU2VydmljZVByb2Nlc3NDb250cm9sOExhdW5j
aGVyNURvUnVuRXYKK30KK3sKKyAgIGJ1Z185MzczMF9jCisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46X1pudyoKKyAgIGZ1bjpfWjE3TmV3UnVubmFibGVNZXRob2RJTjIxU2VydmljZVByb2Nlc3ND
b250cm9sOExhdW5jaGVyRU1TMV9GdnZFRVAxNENhbmNlbGFibGVUYXNrUFRfVDBfCisgICBmdW46
X1pOMjFTZXJ2aWNlUHJvY2Vzc0NvbnRyb2w4TGF1bmNoZXI1RG9SdW5FdgorfQoreworICAgYnVn
XzkzNzMwX2QKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjNJUEMx
MVN5bmNDaGFubmVsQzFFUktOU18xM0NoYW5uZWxIYW5kbGVFTlNfN0NoYW5uZWw0TW9kZUVQTlM0
XzhMaXN0ZW5lckVQTjRiYXNlMTZNZXNzYWdlTG9vcFByb3h5RWJQTlM4XzEzV2FpdGFibGVFdmVu
dEUKKyAgIGZ1bjpfWk4xNlNlcnZpY2VJUENTZXJ2ZXIxM0NyZWF0ZUNoYW5uZWxFdgorICAgZnVu
Ol9aTjE2U2VydmljZUlQQ1NlcnZlcjRJbml0RXYKKyAgIGZ1bjpfWk4xNFNlcnZpY2VQcm9jZXNz
MTBJbml0aWFsaXplRVAxNk1lc3NhZ2VMb29wRm9yVUlSSzExQ29tbWFuZExpbmVQMTlTZXJ2aWNl
UHJvY2Vzc1N0YXRlCisgICBmdW46X1oxOFNlcnZpY2VQcm9jZXNzTWFpblJLMThNYWluRnVuY3Rp
b25QYXJhbXMKKyAgIC4uLgorICAgZnVuOkNocm9tZU1haW4KKyAgIGZ1bjptYWluCit9Cit7Cisg
ICBidWdfOTQxOTUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjEyR3B1Qmxh
Y2tsaXN0MTZMb2FkR3B1QmxhY2tsaXN0RVJLU3NOU184T3NGaWx0ZXJFCit9Cit7CisgICBidWdf
OTQzNDUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTks0YmFzZThp
bnRlcm5hbDE4V2Vha1JlZmVyZW5jZU93bmVyNkdldFJlZkV2CisgICBmdW46X1pONGJhc2UxNVN1
cHBvcnRzV2Vha1B0ckkxNk9ic2VydmVyTGlzdEJhc2VJTjExTWVzc2FnZUxvb3AxMlRhc2tPYnNl
cnZlckVFRTlBc1dlYWtQdHJFdgorICAgZnVuOl9aTjE2T2JzZXJ2ZXJMaXN0QmFzZUlOMTFNZXNz
YWdlTG9vcDEyVGFza09ic2VydmVyRUU4SXRlcmF0b3JDMUVSUzJfCit9Cit7CisgICBidWdfOTQ3
NjQKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjhyZW1vdGluZzEz
Q2xpZW50U2Vzc2lvbjExVW5wcmVzc0tleXNFdgorICAgZnVuOl9aTjhyZW1vdGluZzM0Q2xpZW50
U2Vzc2lvblRlc3RfVW5wcmVzc0tleXNfVGVzdDhUZXN0Qm9keUV2Cit9Cit7CisgICBidWdfOTU0
NDgKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2dudV9jeHgx
M25ld19hbGxvY2F0b3JJU3QxM19SYl90cmVlX25vZGVJU3Q0cGFpcklLU3NQTjRiYXNlNVZhbHVl
RUVFRThhbGxvY2F0ZUVqUEt2CisgICBmdW46X1pOU3Q4X1JiX3RyZWVJU3NTdDRwYWlySUtTc1BO
NGJhc2U1VmFsdWVFRVN0MTBfU2VsZWN0MXN0SVM1X0VTdDRsZXNzSVNzRVNhSVM1X0VFMTFfTV9n
ZXRfbm9kZUV2CisgICBmdW46X1pOU3Q4X1JiX3RyZWVJU3NTdDRwYWlySUtTc1BONGJhc2U1VmFs
dWVFRVN0MTBfU2VsZWN0MXN0SVM1X0VTdDRsZXNzSVNzRVNhSVM1X0VFMTRfTV9jcmVhdGVfbm9k
ZUVSS1M1XworICAgZnVuOl9aTlN0OF9SYl90cmVlSVNzU3Q0cGFpcklLU3NQTjRiYXNlNVZhbHVl
RUVTdDEwX1NlbGVjdDFzdElTNV9FU3Q0bGVzc0lTc0VTYUlTNV9FRTEwX01faW5zZXJ0X0VQS1N0
MThfUmJfdHJlZV9ub2RlX2Jhc2VTRV9SS1M1XworICAgZnVuOl9aTlN0OF9SYl90cmVlSVNzU3Q0
cGFpcklLU3NQTjRiYXNlNVZhbHVlRUVTdDEwX1NlbGVjdDFzdElTNV9FU3Q0bGVzc0lTc0VTYUlT
NV9FRTE3X01faW5zZXJ0X3VuaXF1ZV9FU3QyM19SYl90cmVlX2NvbnN0X2l0ZXJhdG9ySVM1X0VS
S1M1XworICAgZnVuOl9aTlN0M21hcElTc1BONGJhc2U1VmFsdWVFU3Q0bGVzc0lTc0VTYUlTdDRw
YWlySUtTc1MyX0VFRTZpbnNlcnRFU3QxN19SYl90cmVlX2l0ZXJhdG9ySVM3X0VSS1M3XworICAg
ZnVuOl9aTlN0M21hcElTc1BONGJhc2U1VmFsdWVFU3Q0bGVzc0lTc0VTYUlTdDRwYWlySUtTc1My
X0VFRWl4RVJTNl8KKyAgIGZ1bjpfWk40YmFzZTE1RGljdGlvbmFyeVZhbHVlMjNTZXRXaXRob3V0
UGF0aEV4cGFuc2lvbkVSS1NzUE5TXzVWYWx1ZUUKKyAgIGZ1bjpfWk40YmFzZTE1RGljdGlvbmFy
eVZhbHVlM1NldEVSS1NzUE5TXzVWYWx1ZUUKKyAgIGZ1bjpfWk40YmFzZTE1RGljdGlvbmFyeVZh
bHVlOVNldFN0cmluZ0VSS1NzUktTYkl0TlNfMjBzdHJpbmcxNl9jaGFyX3RyYWl0c0VTYUl0RUUK
KyAgIGZ1bjpfWk4xMVBsdWdpblByZWZzMjNDcmVhdGVQbHVnaW5GaWxlU3VtbWFyeUVSS042d2Vi
a2l0MTNXZWJQbHVnaW5JbmZvRQorICAgZnVuOl9aTjExUGx1Z2luUHJlZnMxOU9uVXBkYXRlUHJl
ZmVyZW5jZXNFU3Q2dmVjdG9ySU42d2Via2l0MTNXZWJQbHVnaW5JbmZvRVNhSVMyX0VFUzBfSU5T
MV81bnBhcGkxMVBsdWdpbkdyb3VwRVNhSVM2X0VFCit9Cit7CisgICBidWdfOTU5MDIKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOnhkZ19taW1lX2luaXQKKyAgIGZ1bjp4ZGdfbWlt
ZV9nZXRfbWltZV90eXBlX2Zyb21fZmlsZV9uYW1lCisgICBmdW46KkdldEZpbGVNaW1lVHlwZUUq
CisgICBmdW46X1pOSzNuZXQxNlBsYXRmb3JtTWltZVV0aWwzMkdldFBsYXRmb3JtTWltZVR5cGVG
cm9tRXh0ZW5zaW9uRVJLU3NQU3MKKyAgIGZ1bjpfWk5LM25ldDhNaW1lVXRpbDMwR2V0TWltZVR5
cGVGcm9tRXh0ZW5zaW9uSGVscGVyRVJLU3NiUFNzCisgICBmdW46X1pOSzNuZXQ4TWltZVV0aWwy
NEdldE1pbWVUeXBlRnJvbUV4dGVuc2lvbkVSS1NzUFNzCisgICBmdW46X1pOSzNuZXQ4TWltZVV0
aWwxOUdldE1pbWVUeXBlRnJvbUZpbGVFKgorICAgZnVuOl9aTjNuZXQxOUdldE1pbWVUeXBlRnJv
bUZpbGVFKgorfQoreworICAgYnVnXzk2MDY5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
dyoKKyAgIGZ1bjpfWk4zbmV0OUh0dHBDYWNoZTEzQ3JlYXRlQmFja2VuZEVQUE4xMGRpc2tfY2Fj
aGU3QmFja2VuZEVQMTRDYWxsYmFja1J1bm5lckk2VHVwbGUxSWlFRQorICAgZnVuOl9aTjNuZXQ5
SHR0cENhY2hlMTdDcmVhdGVUcmFuc2FjdGlvbkVQMTBzY29wZWRfcHRySU5TXzE1SHR0cFRyYW5z
YWN0aW9uRUUKKyAgIC4uLgorICAgZnVuOl9aTjNuZXQxM0Nvb2tpZU1vbnN0ZXIxN0Nvb2tpZU1v
bnN0ZXJUYXNrMTRJbnZva2VDYWxsYmFja0VONGJhc2U4Q2FsbGJhY2tJRnZ2RUVFCit9Cit7Cisg
ICBidWdfOTYzNjUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjI3
UGFzc3dvcmRNYW5hZ2VyRGVsZWdhdGVJbXBsMzNBZGRTYXZlUGFzc3dvcmRJbmZvQmFySWZQZXJt
aXR0ZWRFUDE5UGFzc3dvcmRGb3JtTWFuYWdlcgorICAgZnVuOl9aTjE1UGFzc3dvcmRNYW5hZ2Vy
MjNPblBhc3N3b3JkRm9ybXNSZW5kZXJlZEVSS1N0NnZlY3RvcklONndlYmtpdDVmb3JtczEyUGFz
c3dvcmRGb3JtRVNhSVMzX0VFCit9Cit7CisgICBidWdfOTYzNjkKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MKKyAg
IGZ1bjpnX3NsaWNlX2FsbG9jMAorICAgZnVuOmdfdHlwZV9jcmVhdGVfaW5zdGFuY2UKKyAgIGZ1
bjpnX29iamVjdF9jb25zdHJ1Y3RvcgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpnX29i
amVjdF9uZXcKKyAgIGZ1bjpfZ2RrX3dpbmRvd19pbXBsX25ldworICAgZnVuOmdka193aW5kb3df
ZW5zdXJlX25hdGl2ZQorICAgZnVuOmdka194MTFfZHJhd2FibGVfZ2V0X3hpZAorICAgZnVuOl9a
TjIwR3RrTmF0aXZlVmlld01hbmFnZXIxNEdldElkRm9yV2lkZ2V0RVAxMF9HdGtXaWRnZXQKKyAg
IGZ1bjpfWk5LN2NvbnRlbnQyM1JlbmRlcldpZGdldEhvc3RWaWV3R3RrMTVHZXROYXRpdmVWaWV3
SWRFdgorfQorCit7CisgICBidWdfOTY0MDcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxs
b2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MKKyAgIGZ1bjpnX3NsaWNl
X2FsbG9jMAorICAgZnVuOmdfdHlwZV9jcmVhdGVfaW5zdGFuY2UKKyAgIGZ1bjpnX29iamVjdF9j
b25zdHJ1Y3RvcgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpnX29iamVjdF9uZXcKKyAg
IGZ1bjpfZ2RrX3dpbmRvd19pbXBsX25ldworICAgZnVuOmdka193aW5kb3dfZW5zdXJlX25hdGl2
ZQorICAgZnVuOmdka194MTFfZHJhd2FibGVfZ2V0X3hpZAorICAgZnVuOl9aTjE5VGVzdFdlYlZp
ZXdEZWxlZ2F0ZTIwQ3JlYXRlUGx1Z2luRGVsZWdhdGVFKgorfQoreworICAgYnVnXzk2NTY4YQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOiphbGxvYworICAgLi4uCisgICBmdW46SEJfT3BlblR5
cGUqCisgICAuLi4KKyAgIGZ1bjpIQl9TaGFwZUl0ZW0KKyAgIGZ1bjpfWk43V2ViQ29yZTIxQ29t
cGxleFRleHRDb250cm9sbGVyMTFzaGFwZUdseXBoc0V2CisgICBmdW46X1pON1dlYkNvcmUyMUNv
bXBsZXhUZXh0Q29udHJvbGxlcjEzbmV4dFNjcmlwdFJ1bkV2Cit9Cit7CisgICBidWdfOTY1Njhi
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpIQl9OZXdGYWNlCisgICBmdW46X1pO
N1dlYkNvcmVMMjFnZXRDYWNoZWRIYXJmYnV6ekZhY2VFUE5TXzE2Rm9udFBsYXRmb3JtRGF0YUUK
KyAgIGZ1bjpfWk43V2ViQ29yZTEySGFyZmJ1enpGYWNlQzFFUE5TXzE2Rm9udFBsYXRmb3JtRGF0
YUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEySGFyZmJ1enpGYWNlNmNyZWF0ZUVQTlNfMTZGb250UGxh
dGZvcm1EYXRhRQorICAgZnVuOl9aTks3V2ViQ29yZTE2Rm9udFBsYXRmb3JtRGF0YTEyaGFyZmJ1
enpGYWNlRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTIxQ29tcGxleFRleHRDb250cm9sbGVyMjFzZXR1
cEZvbnRGb3JTY3JpcHRSdW5FdgorfQoreworICAgYnVnXzk4NTY4CisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIGZ1bjpfWk40NFdlYkRyYWdEZXN0R3RrVGVzdF9Ob1RhYkNvbnRlbnRzV3Jh
cHBlcl9UZXN0OFRlc3RCb2R5RXYKK30KKworeworICAgYnVnXzk5MzA0CisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDEwUGFnZWRT
cGFjZTExQWxsb2NhdGVSYXdFaQorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDEyRGVzZXJpYWxpemVy
OEFsbG9jYXRlRWlQTlMwXzVTcGFjZUVpCisgICBmdW46X1pOMnY4OGludGVybmFsMTJEZXNlcmlh
bGl6ZXIxMFJlYWRPYmplY3RFaVBOUzBfNVNwYWNlRVBQTlMwXzZPYmplY3RFCisgICBmdW46X1pO
MnY4OGludGVybmFsMTJEZXNlcmlhbGl6ZXI5UmVhZENodW5rRVBQTlMwXzZPYmplY3RFUzRfaVBo
CisgICBmdW46X1pOMnY4OGludGVybmFsMTJEZXNlcmlhbGl6ZXIxMFJlYWRPYmplY3RFaVBOUzBf
NVNwYWNlRVBQTlMwXzZPYmplY3RFCisgICBmdW46X1pOMnY4OGludGVybmFsMTJEZXNlcmlhbGl6
ZXI5UmVhZENodW5rRVBQTlMwXzZPYmplY3RFUzRfaVBoCisgICBmdW46X1pOMnY4OGludGVybmFs
MTJEZXNlcmlhbGl6ZXIxM1Zpc2l0UG9pbnRlcnNFUFBOUzBfNk9iamVjdEVTNF8KK30KKworewor
ICAgYnVnXzk5MzA4CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pM
OXRvQ1N0cmluZ1JLOV9OUFN0cmluZworICAgZnVuOl9aTDE1dGVzdFBvc3RVUkxGaWxlUDEyUGx1
Z2luT2JqZWN0UEsxMF9OUFZhcmlhbnRqUFMxXworICAgZnVuOl9aTDEycGx1Z2luSW52b2tlUDhO
UE9iamVjdFB2UEsxMF9OUFZhcmlhbnRqUFMyXworICAgZnVuOl9aTjdXZWJDb3JlTDE4bnBPYmpl
Y3RJbnZva2VJbXBsRVJLTjJ2ODlBcmd1bWVudHNFTlNfMThJbnZva2VGdW5jdGlvblR5cGVFCit9
Cit7CisgICBidWdfOTkzMjEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVu
Ol9aTjZXZWJLaXQxMkNDVGhyZWFkSW1wbDZjcmVhdGVFUE5TXzlXZWJUaHJlYWRFCisgICBmdW46
X1pONldlYktpdDEzV2ViQ29tcG9zaXRvcjlzZXRUaHJlYWRFUE5TXzlXZWJUaHJlYWRFCisgICBm
dW46X1pOMTFXZWJWaWV3SG9zdEMxRVA5VGVzdFNoZWxsCisgICBmdW46X1pOOVRlc3RTaGVsbDE1
Y3JlYXRlTmV3V2luZG93RVJLTjZXZWJLaXQ2V2ViVVJMRVAxNkRSVERldlRvb2xzQWdlbnQKK30K
K3sKKyAgIGJ1Z185OTQzNQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1pONGJhc2UxOU1lc3NhZ2VQdW1wTGliZXZlbnQzUnVuRVBOU18xMU1lc3NhZ2VQdW1wOERlbGVn
YXRlRQorICAgZnVuOl9aTjRiYXNlMTFNZXNzYWdlTG9vcDExUnVuSW50ZXJuYWxFdgorICAgZnVu
Ol9aTjRiYXNlMTFNZXNzYWdlTG9vcDEwUnVuSGFuZGxlckV2Cit9Cit7CisgICBidWdfMTAwMDQz
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4MTNu
ZXdfYWxsb2NhdG9ySU42d2Via2l0MTNXZWJQbHVnaW5JbmZvRUU4YWxsb2NhdGVFalBLdgorICAg
Li4uCisgICBmdW46X1pOU3Q2dmVjdG9ySU42d2Via2l0MTNXZWJQbHVnaW5JbmZvRVNhSVMxKgor
fQorCit7CisgICBidWdfMTAwMTMzCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IGZ1bjpfWjIyUmVjb3ZlcnlSZWdpc3RlckhlbHBlclAyMkNvbXBvbmVudFVwZGF0ZVNlcnZpY2VQ
MTFQcmVmU2VydmljZQorfQoreworICAgYnVnXzEwMDMzMAorICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOl9abncqCisgICBmdW46X1pOMjVUZXN0aW5nQXV0b21hdGlvblByb3ZpZGVyNDJOYXZpZ2F0
ZVRvVVJMQmxvY2tVbnRpbE5hdmlnYXRpb25zQ29tcGxldGVFaVJLNEdVUkxpUE4zSVBDN01lc3Nh
Z2VFCit9Cit7CisgICBidWdfMTAwNjQ3CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk4xOFdlYlJlc291cmNlU2VydmljZTE5VXBkYXRlUmVzb3VyY2VDYWNoZUVSS1Nz
CisgICBmdW46X1pOMThXZWJSZXNvdXJjZVNlcnZpY2UxOFdlYlJlc291cmNlRmV0Y2hlcjE4T25V
UkxGZXRjaENvbXBsZXRlRVBLMTBVUkxGZXRjaGVyUks0R1VSTFJLTjNuZXQxNlVSTFJlcXVlc3RT
dGF0dXNFaVJLU3Q2dmVjdG9ySVNzU2FJU3NFRVJLU3MKKyAgIGZ1bjpfWk4xMFVSTEZldGNoZXI4
RGVsZWdhdGUxOE9uVVJMRmV0Y2hDb21wbGV0ZUVQS1NfCisgICBmdW46X1pOMTBVUkxGZXRjaGVy
NENvcmUyOUluZm9ybURlbGVnYXRlRmV0Y2hJc0NvbXBsZXRlRXYKKyAgIGZ1bjpfWk4xMFVSTEZl
dGNoZXI0Q29yZTIxT25Db21wbGV0ZWRVUkxSZXF1ZXN0RU40YmFzZTlUaW1lRGVsdGFFCit9Cit7
CisgICBidWdfMTAwNzc3CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpf
Wk4xMl9HTE9CQUxfX05fMTE5TWFrZUNvbnRleHREZWxlZ2F0ZUkxNkNyeFVwZGF0ZVNlcnZpY2VO
UzFfMTNVcGRhdGVDb250ZXh0RUVFUE43Y29udGVudDE4VVJMRmV0Y2hlckRlbGVnYXRlRVBUX1BU
MF8KKyAgIGZ1bjpfWk4xNkNyeFVwZGF0ZVNlcnZpY2UxOVByb2Nlc3NQZW5kaW5nSXRlbXNFdgor
fQoreworICAgYnVnXzEwMDkxNgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pONldlYktpdDE5V2ViV29ya2VyQ2xpZW50SW1wbDI0Y3JlYXRlV29ya2VyQ29udGV4dFBy
b3h5RVBON1dlYkNvcmU2V29ya2VyRQorICAgLi4uCisgICBmdW46X1pON1dlYkNvcmU2V29ya2Vy
QzFFUE5TXzIyU2NyaXB0RXhlY3V0aW9uQ29udGV4dEUKKyAgIGZ1bjpfWk43V2ViQ29yZTZXb3Jr
ZXI2Y3JlYXRlRVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRFUktOM1dURjZTdHJpbmdFUmkK
KyAgIGZ1bjpfWk43V2ViQ29yZThWOFdvcmtlcjE5Y29uc3RydWN0b3JDYWxsYmFja0VSS04ydjg5
QXJndW1lbnRzRQorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbEwxOUhhbmRsZUFwaUNhbGxIZWxwZXJJ
TGIxRUVFUE5TMF8xMU1heWJlT2JqZWN0RU5TMF8xMl9HTE9CQUxfX05fMTE2QnVpbHRpbkFyZ3Vt
ZW50c0lMTlMwXzIxQnVpbHRpbkV4dHJhQXJndW1lbnRzRTFFRUVQTlMwXzdJc29sYXRlRQorfQor
Cit7CisgICBidWdfMTAwOTgyCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1
bjpfWk43V2ViQ29yZTEyUmVuZGVyUmVnaW9uMjJzZXRSZW5kZXJCb3hSZWdpb25JbmZvRVBLTlNf
OVJlbmRlckJveEVpaWIKKyAgIGZ1bjpfWk5LN1dlYkNvcmU5UmVuZGVyQm94MTlyZW5kZXJCb3hS
ZWdpb25JbmZvRVBOU18xMlJlbmRlclJlZ2lvbkVpTlMwXzI0UmVuZGVyQm94UmVnaW9uSW5mb0Zs
YWdzRQorICAgLi4uCisgICBmdW46X1pON1dlYkNvcmUxMVJlbmRlckJsb2NrNXBhaW50RVJOU185
UGFpbnRJbmZvRVJLTlNfOEludFBvaW50RQorfQoreworICAgYnVnXzEwMTE0NWEKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDJPUzE1Q3JlYXRl
U2VtYXBob3JlRWkKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWw4UHJvZmlsZXJDMUVQTlMwXzdJc29s
YXRlRQorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDZMb2dnZXI1U2V0VXBFdgorICAgZnVuOl9aTjJ2
ODhpbnRlcm5hbDdJc29sYXRlNEluaXRFUE5TMF8xMkRlc2VyaWFsaXplckUKKyAgIC4uLgorICAg
ZnVuOl9aTjdXZWJDb3JlMjdXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk4ZXZhbHVhdGVFUktO
M1dURjZTdHJpbmdFUzRfUktOUzFfMTJUZXh0UG9zaXRpb25FUE5TXzI3V29ya2VyQ29udGV4dEV4
ZWN1dGlvblN0YXRlRQorfQoreworICAgYnVnXzEwMTE0NWIKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpfWm53KgorICAgZnVuOl9aTjdXZWJDb3JlMjN2OFN0cmluZ1RvV2ViQ29yZVN0cmluZ0lO
M1dURjZTdHJpbmdFRUVUX04ydjg2SGFuZGxlSU5TNF82U3RyaW5nRUVFTlNfMTJFeHRlcm5hbE1v
ZGVFCisgICBmdW46X1pON1dlYkNvcmUxNlY4U3RyaW5nUmVzb3VyY2VJTE5TXzIwVjhTdHJpbmdS
ZXNvdXJjZU1vZGUqCit9Cit7CisgICBidWdfMTAxMTQ1YworICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmVMMThtYWtlRXh0ZXJuYWxTdHJpbmdFUktOM1dU
RjZTdHJpbmdFCisgICBmdW46X1pON1dlYkNvcmUxMVN0cmluZ0NhY2hlMjB2OEV4dGVybmFsU3Ry
aW5nU2xvdyoKKyAgIGZ1bjpfWk43V2ViQ29yZTExU3RyaW5nQ2FjaGUxNnY4RXh0ZXJuYWxTdHJp
bmdFUE4qCit9Cit7CisgICBidWdfMTAxMTQ2YQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTE2V2ViVVJMTG9hZGVySW1wbEMxRVBOU18yNVdl
YktpdFBsYXRmb3JtU3VwcG9ydEltcGxFCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTI1V2ViS2l0
UGxhdGZvcm1TdXBwb3J0SW1wbDE1Y3JlYXRlVVJMTG9hZGVyRXYKKyAgIGZ1bjpfWk43V2ViQ29y
ZTIyUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDVzdGFydEV2CisgICBmdW46X1pON1dlYkNvcmUxNFJl
c291cmNlSGFuZGxlNXN0YXJ0RVBOU18xN05ldHdvcmtpbmdDb250ZXh0RQorICAgZnVuOl9aTjdX
ZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTZjcmVhdGVFUE5TXzE3TmV0d29ya2luZ0NvbnRleHRFUktO
U18xNVJlc291cmNlUmVxdWVzdEVQTlNfMjBSZXNvdXJjZUhhbmRsZUNsaWVudEViYgorfQorewor
ICAgYnVnXzEwMTE0NmIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9a
TjE4UmVzb3VyY2VEaXNwYXRjaGVyMTJDcmVhdGVCcmlkZ2VFUktOMTF3ZWJraXRfZ2x1ZTIwUmVz
b3VyY2VMb2FkZXJCcmlkZ2UxMVJlcXVlc3RJbmZvRQorICAgZnVuOl9aTjExQ2hpbGRUaHJlYWQx
MkNyZWF0ZUJyaWRnZUVSS04xMXdlYmtpdF9nbHVlMjBSZXNvdXJjZUxvYWRlckJyaWRnZTExUmVx
dWVzdEluZm9FCisgICBmdW46X1pON2NvbnRlbnQyNVdlYktpdFBsYXRmb3JtU3VwcG9ydEltcGwy
MENyZWF0ZVJlc291cmNlTG9hZGVyRVJLTjExd2Via2l0X2dsdWUyMFJlc291cmNlTG9hZGVyQnJp
ZGdlMTFSZXF1ZXN0SW5mb0UKKyAgIGZ1bjpfWk4xMXdlYmtpdF9nbHVlMTZXZWJVUkxMb2FkZXJJ
bXBsN0NvbnRleHQ1U3RhcnRFUktONldlYktpdDEzV2ViVVJMUmVxdWVzdEVQTlNfMjBSZXNvdXJj
ZUxvYWRlckJyaWRnZTE2U3luY0xvYWRSZXNwb25zZUVQTlNfMjVXZWJLaXRQbGF0Zm9ybVN1cHBv
cnRJbXBsRQorICAgZnVuOl9aTjExd2Via2l0X2dsdWUxNldlYlVSTExvYWRlckltcGwxOGxvYWRB
c3luY2hyb25vdXNseUVSS042V2ViS2l0MTNXZWJVUkxSZXF1ZXN0RVBOUzFfMThXZWJVUkxMb2Fk
ZXJDbGllbnRFCisgICBmdW46X1pON1dlYkNvcmUyMlJlc291cmNlSGFuZGxlSW50ZXJuYWw1c3Rh
cnRFdgorICAgZnVuOl9aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTVzdGFydEVQTlNfMTdOZXR3
b3JraW5nQ29udGV4dEUKK30KK3sKKyAgIGJ1Z18xMDExNDZjCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMXdlYmtpdF9nbHVlMTZXZWJVUkxMb2FkZXJJbXBsQzFF
UE5TXzI1V2ViS2l0UGxhdGZvcm1TdXBwb3J0SW1wbEUKKyAgIGZ1bjpfWk4xMXdlYmtpdF9nbHVl
MjVXZWJLaXRQbGF0Zm9ybVN1cHBvcnRJbXBsMTVjcmVhdGVVUkxMb2FkZXJFdgorICAgZnVuOl9a
TjExd2Via2l0X2dsdWUxNVJlc291cmNlRmV0Y2hlcjVTdGFydEVQTjZXZWJLaXQ4V2ViRnJhbWVF
CisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTE1UmVzb3VyY2VGZXRjaGVyQzJFUks0R1VSTFBONldl
YktpdDhXZWJGcmFtZUVOUzRfMTNXZWJVUkxSZXF1ZXN0MTBUYXJnZXRUeXBlRVJLTjRiYXNlOENh
bGxiYWNrSUZ2UktOUzRfMTRXZWJVUkxSZXNwb25zZUVSS1NzRUVFCisgICBmdW46X1pOMTF3ZWJr
aXRfZ2x1ZTI2UmVzb3VyY2VGZXRjaGVyV2l0aFRpbWVvdXRDMUVSSzRHVVJMUE42V2ViS2l0OFdl
YkZyYW1lRU5TNF8xM1dlYlVSTFJlcXVlc3QxMFRhcmdldFR5cGVFaVJLTjRiYXNlOENhbGxiYWNr
SUZ2UktOUzRfMTRXZWJVUkxSZXNwb25zZUVSS1NzRUVFCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1
ZTI3QWx0RXJyb3JQYWdlUmVzb3VyY2VGZXRjaGVyQzFFUks0R1VSTFBONldlYktpdDhXZWJGcmFt
ZUVSS05TNF8xMVdlYlVSTEVycm9yKkNhbGxiYWNrKgorICAgZnVuOl9aTjE0UmVuZGVyVmlld0lt
cGwyN01heWJlTG9hZEFsdGVybmF0ZUVycm9yUGFnZUVQTjZXZWJLaXQ4V2ViRnJhbWVFUktOUzBf
MTFXZWJVUkxFcnJvckViCisgICBmdW46X1pOMTRSZW5kZXJWaWV3SW1wbDIyZGlkRmFpbFByb3Zp
c2lvbmFsTG9hZEVQTjZXZWJLaXQ4V2ViRnJhbWVFUktOUzBfMTFXZWJVUkxFcnJvckUKKyAgIGZ1
bjpfWk42V2ViS2l0MTJXZWJGcmFtZUltcGw3ZGlkRmFpbEVSS043V2ViQ29yZTEzUmVzb3VyY2VF
cnJvckViCit9Cit7CisgICBidWdfMTAxMTQ2ZAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTE2V2ViVVJMTG9hZGVySW1wbEMxRVBOU18yNVdl
YktpdFBsYXRmb3JtU3VwcG9ydEltcGxFCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTI1V2ViS2l0
UGxhdGZvcm1TdXBwb3J0SW1wbDE1Y3JlYXRlVVJMTG9hZGVyRXYKK30KK3sKKyAgIGJ1Z18xMDEx
NTEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdXZWJDb3JlMjN2
OFN0cmluZ1RvV2ViQ29yZVN0cmluZ0lOM1dURipTdHJpbmdFRUVUXyoKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE1VjhQYXJhbWV0ZXJCYXNlOHRvU3RyaW5nSU4zV1RGKlN0cmluZ0VFRVRfKgorICAgZnVu
Ol9aTjdXZWJDb3JlMTVWOFBhcmFtZXRlckJhc2Vjdk4zV1RGKlN0cmluZ0VFdgorICAgLi4uCisg
ICBmdW46X1pOMnY4OGludGVybmFsTCpIYW5kbGVBcGlDYWxsKgorICAgb2JqOioKK30KK3sKKyAg
IGJ1Z18xMDExNTkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdX
ZWJDb3JlMTVOUE9iamVjdFdyYXBwZXIxME5QQWxsb2NhdGVFUDRfTlBQUDdOUENsYXNzCisgICBm
dW46X05QTl9DcmVhdGVPYmplY3QKKyAgIGZ1bjpfWk43V2ViQ29yZTE1TlBPYmplY3RXcmFwcGVy
NmNyZWF0ZUVQOE5QT2JqZWN0CisgICBmdW46X1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIy
MHdpbmRvd1NjcmlwdE5QT2JqZWN0RXYKKyAgIGZ1bjpfWk5LNldlYktpdDEyV2ViRnJhbWVJbXBs
MTJ3aW5kb3dPYmplY3RFdgorICAgZnVuOl9aTjZ3ZWJraXQ1bnBhcGkxM1dlYlBsdWdpbkltcGwy
M0dldFdpbmRvd1NjcmlwdE5QT2JqZWN0RXYKKyAgIGZ1bjpOUE5fR2V0VmFsdWUKK30KK3sKKyAg
IGJ1Z18xMDEzNDUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjIy
V2ViUGx1Z2luRGVsZWdhdGVQcm94eTIwQ3JlYXRlUmVzb3VyY2VDbGllbnRFbVJLNEdVUkxpCisg
ICBmdW46X1pONndlYmtpdDVucGFwaTEzV2ViUGx1Z2luSW1wbDI0SGFuZGxlVVJMUmVxdWVzdElu
dGVybmFsRVBLY1MzX1MzX1MzX2ppYk5TMV84UmVmZXJyZXJFYmIKK30KK3sKKyAgIGJ1Z18xMDEz
NDcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjJwcDI1Q29tcGxl
dGlvbkNhbGxiYWNrRmFjdG9yeUlONXBwYXBpNXByb3h5MjBQUEJfR3JhcGhpY3MyRF9Qcm94eUVO
UzJfMjZQcm94eU5vblRocmVhZFNhZmVSZWZDb3VudEVFMTdOZXdDYWxsYmFja0hlbHBlcklOUzVf
MTFEaXNwYXRjaGVyMUlNUzNfRnZpUktOUzFfMTJIb3N0UmVzb3VyY2VFRVM4X0VFRUVOU18xOENv
bXBsZXRpb25DYWxsYmFja0VSS1RfCisgICBmdW46X1pOMnBwMjVDb21wbGV0aW9uQ2FsbGJhY2tG
YWN0b3J5SU41cHBhcGk1cHJveHkyMFBQQl9HcmFwaGljczJEX1Byb3h5RU5TMl8yNlByb3h5Tm9u
VGhyZWFkU2FmZVJlZkNvdW50RUUxMU5ld0NhbGxiYWNrSU1TM19GdmlSS05TMV8xMkhvc3RSZXNv
dXJjZUVFUzdfRUVOU18xOENvbXBsZXRpb25DYWxsYmFja0VUX1JLVDBfCisgICBmdW46X1pOMnBw
MjVDb21wbGV0aW9uQ2FsbGJhY2tGYWN0b3J5SU41cHBhcGk1cHJveHkyMFBQQl9HcmFwaGljczJE
X1Byb3h5RU5TMl8yNlByb3h5Tm9uVGhyZWFkU2FmZVJlZkNvdW50RUUxOU5ld09wdGlvbmFsQ2Fs
bGJhY2tJTVMzX0Z2aVJLTlMxXzEySG9zdFJlc291cmNlRUVTN19FRU5TXzE4Q29tcGxldGlvbkNh
bGxiYWNrRVRfUktUMF8KKyAgIGZ1bjpfWk41cHBhcGk1cHJveHkzOEVudGVySG9zdEZyb21Ib3N0
UmVzb3VyY2VGb3JjZUNhbGxiYWNrSU5TXzV0aHVuazE4UFBCX0dyYXBoaWNzMkRfQVBJRUVDMUlO
MnBwMjVDb21wbGV0aW9uQ2FsbGJhY2tGYWN0b3J5SU5TMF8yMFBQQl9HcmFwaGljczJEX1Byb3h5
RU5TMF8yNlByb3h5Tm9uVGhyZWFkU2FmZVJlZkNvdW50RUVFTVM4X0Z2aVJLTlNfMTJIb3N0UmVz
b3VyY2VFRVNCX0VFU0RfUlRfVDBfUktUMV8KKyAgIGZ1bjpfWk41cHBhcGk1cHJveHkyMFBQQl9H
cmFwaGljczJEX1Byb3h5MTBPbk1zZ0ZsdXNoRVJLTlNfMTJIb3N0UmVzb3VyY2VFCit9CisKK3sK
KyAgIGJ1Z18xMDE3NTAKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpf
Wk4zV1RGMTBmYXN0TWFsbG9jRWoKKyAgIGZ1bjpfWk4zV1RGN0hhc2hTZXRJUE43V2ViQ29yZTE2
U1ZHU3R5bGVkRWxlbWVudEVOU183UHRySGFzaElTM19FRU5TXzEwSGFzaFRyYWl0c0lTM19FRUVu
d0VqCisgICBmdW46X1pON1dlYkNvcmUyMVNWR0RvY3VtZW50RXh0ZW5zaW9uczE4YWRkUGVuZGlu
Z1Jlc291cmNlRVJLTjNXVEYxMkF0b21pY1N0cmluZ0VQTlNfMTZTVkdTdHlsZWRFbGVtZW50RQor
fQoreworICAgYnVnXzEwMTc1MQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pON1dlYkNvcmUxNFNWR0ZvbnRFbGVtZW50NmNyZWF0ZUVSS05TXzEzUXVhbGlmaWVkTmFt
ZUVQTlNfOERvY3VtZW50RQorICAgZnVuOl9aTjdXZWJDb3JlTDE1Zm9udENvbnN0cnVjdG9yRVJL
TlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFYgorICAgZnVuOl9aTjdXZWJDb3JlMTdT
VkdFbGVtZW50RmFjdG9yeTE2Y3JlYXRlU1ZHRWxlbWVudEVSS05TXzEzUXVhbGlmaWVkTmFtZUVQ
TlNfOERvY3VtZW50RWIKKyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1bWVudDEzY3JlYXRlRWxlbWVu
dEVSS05TXzEzUXVhbGlmaWVkTmFtZUViCit9CisKK3sKKyAgIGJ1Z18xMDIzMjdhCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xNXRyYWNrZWRfb2JqZWN0czEwVGhy
ZWFkRGF0YTEwSW5pdGlhbGl6ZUV2CisgICBmdW46X1pOMTV0cmFja2VkX29iamVjdHMxMFRocmVh
ZERhdGEzMEluaXRpYWxpemVBbmRTZXRUcmFja2luZ1N0YXR1c0ViCisgICBmdW46X1pOMTV0cmFj
a2VkX29iamVjdHMxMFRocmVhZERhdGEyOVNodXRkb3duU2luZ2xlVGhyZWFkZWRDbGVhbnVwRWIK
K30KK3sKKyAgIGJ1Z18xMDIzMjdiCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IGZ1bjpfWk45X19nbnVfY3h4MTNuZXdfYWxsb2NhdG9ySVN0MTNfUmJfdHJlZV9ub2RlSVN0NHBh
aXJJS1BLTjE1dHJhY2tlZF9vYmplY3RzNkJpcnRoc0VOUzNfOURlYXRoRGF0YUVFRUU4YWxsb2Nh
dGVFKgorICAgLi4uCisgICBmdW46X1pOU3QzbWFwSVBLTjE1dHJhY2tlZF9vYmplY3RzNkJpcnRo
c0VOUzBfOURlYXRoRGF0YUVTdDRsZXNzSVMzX0VTYUlTdDRwYWlySUtTM19TNF9FRUU2aW5zZXJ0
RVN0MTdfUmJfdHJlZV9pdGVyYXRvcklTOV9FUktTOV8KKyAgIGZ1bjpfWk5TdDNtYXBJUEtOMTV0
cmFja2VkX29iamVjdHM2QmlydGhzRU5TMF85RGVhdGhEYXRhRVN0NGxlc3NJUzNfRVNhSVN0NHBh
aXJJS1MzX1M0X0VFRWl4RVJTOF8KKyAgIGZ1bjpfWk4xNXRyYWNrZWRfb2JqZWN0czEwVGhyZWFk
RGF0YTExVGFsbHlBRGVhdGhFUktOU182QmlydGhzKgorICAgZnVuOl9aTjE1dHJhY2tlZF9vYmpl
Y3RzMTBUaHJlYWREYXRhMz9UYWxseVJ1bipJZlRyYWNraW5nRSoKK30KK3sKKyAgIGJ1Z18xMDIz
MjdjCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xNXRyYWNrZWRf
b2JqZWN0czEwVGhyZWFkRGF0YTExVGFsbHlBQmlydGhFUktOU184TG9jYXRpb25FCisgICBmdW46
X1pOMTV0cmFja2VkX29iamVjdHMxMFRocmVhZERhdGExOVRhbGx5QUJpcnRoSWZBY3RpdmVFUktO
U184TG9jYXRpb25FCit9CisKK3sKKyAgIEludGVudGlvbmFsIGxlYWsgb2Ygc3RsIG1hcCBkdXJp
bmcgdGhyZWFkIGNsZWFudXAgaW4gcHJvZmlsZXIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpf
Wm53KgorICAgZnVuOl9aTksxNXRyYWNrZWRfb2JqZWN0czEwVGhyZWFkRGF0YTI2T25UaHJlYWRU
ZXJtaW5hdGlvbkNsZWFudXBFdgorfQoreworICAgYnVnXzEwMjYxNAorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOl9abncqCisgICBmdW46X1pOMTIqRmluaXNoUGVwcGVyRmxhc2hVcGRhdGVSZWdp
c3RyYXRpb25FUDIyQ29tcG9uZW50VXBkYXRlU2VydmljZVJLN1ZlcnNpb24KK30KK3sKKyAgIGJ1
Z18xMDI4MzFfYQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOMTdQbHVnaW5M
b2FkZXJQb3NpeDE5TG9hZFBsdWdpbnNJbnRlcm5hbEV2Cit9CisKK3sKKyAgIGJ1Z18xMDQ0NDcK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkhCX09wZW5UeXBlU2hhcGUKKyAgIGZ1
bjphcmFiaWNTeXJpYWNPcGVuVHlwZVNoYXBlCisgICBmdW46SEJfQXJhYmljU2hhcGUKKyAgIGZ1
bjpIQl9TaGFwZUl0ZW0KKyAgIGZ1bjpfWk43V2ViQ29yZTIxQ29tcGxleFRleHRDb250cm9sbGVy
MTFzaGFwZUdseXBoc0V2CisgICBmdW46X1pON1dlYkNvcmUyMUNvbXBsZXhUZXh0Q29udHJvbGxl
cjEzbmV4dFNjcmlwdFJ1bkV2CisgICBmdW46X1pON1dlYkNvcmUyMUNvbXBsZXhUZXh0Q29udHJv
bGxlcjE0d2lkdGhPZkZ1bGxSdW5FdgorICAgZnVuOl9aTks3V2ViQ29yZTRGb250MjRmbG9hdFdp
ZHRoRm9yQ29tcGxleFRleHRFUktOU183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2lt
cGxlRm9udERhdGFFTlM0XzdQdHJIYXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5T
XzEzR2x5cGhPdmVyZmxvd0UKKyAgIGZ1bjpfWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdU
ZXh0UnVuRVJpUk4zV1RGNlN0cmluZ0UKKyAgIGZ1bjpfWk43V2ViQ29yZTE0U1ZHVGV4dE1ldHJp
Y3NDMUVQTlNfMTlSZW5kZXJTVkdJbmxpbmVUZXh0RVJLTlNfN1RleHRSdW5FCisgICBmdW46X1pO
N1dlYkNvcmUxNFNWR1RleHRNZXRyaWNzMjFtZWFzdXJlQ2hhcmFjdGVyUmFuZ2VFUE5TXzE5UmVu
ZGVyU1ZHSW5saW5lVGV4dEVqagorICAgZnVuOl9aTks3V2ViQ29yZTMwU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyMjVwcm9wYWdhdGVMYXlvdXRBdHRyaWJ1dGVzRVBOU18xMlJlbmRlck9i
amVjdEVSTjNXVEY2VmVjdG9ySU5TXzIzU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNFTG0wRUVFUmpS
dAorfQoreworICAgIyBQcm9jZXNzU2luZ2xldG9uOjpMaW51eFdhdGNoZXIgaXMgbWFya2VkIERl
bGV0ZU9uSU9UaHJlYWQuICBTb21ldGltZXMgaXQKKyAgICMgbGVha3Mgb24gc2h1dGRvd24gaW5z
dGVhZCBvZiBnZXR0aW5nIGRlbGV0ZWQuICBUaGUgZGVzdHJ1Y3RvciBkb2Vzbid0IGRvCisgICAj
IGFueXRoaW5nIGltcG9ydGFudCwgc28gdGhpcyBzaG91bGRuJ3QgYmUgYSBiaWcgZGVhbC4KKyAg
IGJ1Z18xMDQ1NzgKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjE2
UHJvY2Vzc1NpbmdsZXRvbkMxRSoKKyAgIGZ1bjpfWk4yMkNocm9tZVByb2Nlc3NTaW5nbGV0b25D
MUUqCit9Cit7CisgICBidWdfMTA0ODA2X2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53
KgorICAgLi4uCisgICBmdW46X1pOMTV0cmFja2VkX29iamVjdHMxMFRocmVhZERhdGExOVRhbGx5
QUJpcnRoSWZBY3RpdmVFUktOU184TG9jYXRpb25FCisgICBmdW46X1pONGJhc2UxMlRyYWNraW5n
SW5mb0MyRVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRU5TXzlUaW1lVGlja3NFCit9Cit7
CisgICBidWdfMTA0ODA2X2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4u
CisgICBmdW46X1pOU3QzbWFwSVBLTjE1dHJhY2tlZF9vYmplY3RzNkJpcnRoc0VOUzBfOURlYXRo
RGF0YUVTdDRsZXNzSVMzX0VTYUlTdDRwYWlySUtTM19TNF9FRUVpeEVSUzhfCisgICBmdW46X1pO
MTV0cmFja2VkX29iamVjdHMxMFRocmVhZERhdGExMVRhbGx5QURlYXRoRVJLTlNfNkJpcnRoc0Vp
aQorICAgZnVuOl9aTjE1dHJhY2tlZF9vYmplY3RzMTBUaHJlYWREYXRhMzJUYWxseVJ1bk9uV29y
a2VyVGhyZWFkSWZUcmFja2luZ0VQS05TXzZCaXJ0aHNFUktOU18xMVRyYWNrZWRUaW1lRVM2X1M2
XworfQorCit7CisgICBidWdfMTA1NzQ0YgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICAuLi4KKyAgIGZ1bjpfWk5TdDZ2ZWN0b3IqOXB1c2hfYmFjayoKKyAgIGZ1bjpfWk40c2tp
YTE5Q29udm9sdXRpb25GaWx0ZXIxRDlBZGRGaWx0ZXJFaVBLc2kKKyAgIGZ1bjpfWk40c2tpYTEy
X0dMT0JBTF9fTl8xMTJSZXNpemVGaWx0ZXIxNENvbXB1dGVGaWx0ZXJzRWlpaWZmUE5TXzE5Q29u
dm9sdXRpb25GaWx0ZXIxREUKKyAgIGZ1bjpfWk40c2tpYTEyX0dMT0JBTF9fTl8xMTJSZXNpemVG
aWx0ZXJDMUVOU18xNUltYWdlT3BlcmF0aW9uczEyUmVzaXplTWV0aG9kRWlpaWlSSzdTa0lSZWN0
CisgICBmdW46X1pONHNraWExNUltYWdlT3BlcmF0aW9uczExUmVzaXplQmFzaWNFUks4U2tCaXRt
YXBOUzBfMTJSZXNpemVNZXRob2RFaWlSSzdTa0lSZWN0CisgICBmdW46X1pONHNraWExNUltYWdl
T3BlcmF0aW9uczZSZXNpemVFUks4U2tCaXRtYXBOUzBfMTJSZXNpemVNZXRob2RFaWlSSzdTa0lS
ZWN0CisgICBmdW46X1pONHNraWExNUltYWdlT3BlcmF0aW9uczZSZXNpemVFUks4U2tCaXRtYXBO
UzBfMTJSZXNpemVNZXRob2RFaWkKKyAgIGZ1bjpfWk4yNENocm9tZVJlbmRlclZpZXdPYnNlcnZl
cjIxQ2FwdHVyZUZyYW1lVGh1bWJuYWlsRVBONldlYktpdDdXZWJWaWV3RWlpUDhTa0JpdG1hcFAx
NFRodW1ibmFpbFNjb3JlCisgICBmdW46X1pOMjRDaHJvbWVSZW5kZXJWaWV3T2JzZXJ2ZXIxNkNh
cHR1cmVUaHVtYm5haWxFdgorICAgZnVuOl9aTjI0Q2hyb21lUmVuZGVyVmlld09ic2VydmVyMTVD
YXB0dXJlUGFnZUluZm9FaWIKK30KKworeworICAgYnVnXzEwNjQwMgorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOl9abncqCisgICBmdW46X1pOMnBwMjVDb21wbGV0aW9uQ2FsbGJhY2tGYWN0b3J5
SU41cHBhcGk1cHJveHkyMFBQQl9HcmFwaGljczJEX1Byb3h5RU5TMl8yNlByb3h5Tm9uVGhyZWFk
U2FmZVJlZkNvdW50RUUxN05ld0NhbGxiYWNrSGVscGVySU5TNV8xMURpc3BhdGNoZXIxSU1TM19G
dmlSS05TMV8xMkhvc3RSZXNvdXJjZUVFUzhfRUVFRU5TXzE4Q29tcGxldGlvbkNhbGxiYWNrRVJL
VF8KKyAgIGZ1bjpfWk4ycHAyNUNvbXBsZXRpb25DYWxsYmFja0ZhY3RvcnlJTjVwcGFwaTVwcm94
eTIwUFBCX0dyYXBoaWNzMkRfUHJveHlFTlMyXzI2UHJveHlOb25UaHJlYWRTYWZlUmVmQ291bnRF
RTExTmV3Q2FsbGJhY2tJTVMzX0Z2aVJLTlMxXzEySG9zdFJlc291cmNlRUVTN19FRU5TXzE4Q29t
cGxldGlvbkNhbGxiYWNrRVRfUktUMF8KKyAgIGZ1bjpfWk4ycHAyNUNvbXBsZXRpb25DYWxsYmFj
a0ZhY3RvcnlJTjVwcGFwaTVwcm94eTIwUFBCX0dyYXBoaWNzMkRfUHJveHlFTlMyXzI2UHJveHlO
b25UaHJlYWRTYWZlUmVmQ291bnRFRTE5TmV3T3B0aW9uYWxDYWxsYmFja0lNUzNfRnZpUktOUzFf
MTJIb3N0UmVzb3VyY2VFRVM3X0VFTlNfMThDb21wbGV0aW9uQ2FsbGJhY2tFVF9SS1QwXworICAg
ZnVuOl9aTjVwcGFwaTVwcm94eTM4RW50ZXJIb3N0RnJvbUhvc3RSZXNvdXJjZUZvcmNlQ2FsbGJh
Y2tJTlNfNXRodW5rMThQUEJfR3JhcGhpY3MyRF9BUElFRUMxSU4ycHAyNUNvbXBsZXRpb25DYWxs
YmFja0ZhY3RvcnlJTlMwXzIwUFBCX0dyYXBoaWNzMkRfUHJveHlFTlMwXzI2UHJveHlOb25UaHJl
YWRTYWZlUmVmQ291bnRFRUVNUzhfRnZpUktOU18xMkhvc3RSZXNvdXJjZUVFU0JfRUVTRF9SVF9U
MF9SS1QxXworICAgZnVuOl9aTjVwcGFwaTVwcm94eTIwUFBCX0dyYXBoaWNzMkRfUHJveHkxNE9u
SG9zdE1zZ0ZsdXNoRVJLTlNfMTJIb3N0UmVzb3VyY2VFCit9CisKK3sKKyAgIGJ1Z18xMDc2OTYK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdXZWJDb3JlMTFpQmVh
bUN1cnNvckV2CisgICBmdW46X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjEyc2VsZWN0Q3Vyc29y
RVJLTlNfMjhNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzRVBOU185U2Nyb2xsYmFyRQorICAg
ZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIyMGhhbmRsZU1vdXNlTW92ZUV2ZW50RVJLTlNf
MThQbGF0Zm9ybU1vdXNlRXZlbnRFUE5TXzEzSGl0VGVzdFJlc3VsdEViCisgICBmdW46X1pON1dl
YkNvcmUxMkV2ZW50SGFuZGxlcjEwbW91c2VNb3ZlZEVSS05TXzE4UGxhdGZvcm1Nb3VzZUV2ZW50
RWIKKyAgIGZ1bjpfWk42V2ViS2l0MTFXZWJWaWV3SW1wbDltb3VzZU1vdmVFUktOU18xM1dlYk1v
dXNlRXZlbnRFCisgICBmdW46X1pONldlYktpdDExV2ViVmlld0ltcGwxNmhhbmRsZUlucHV0RXZl
bnRFUktOU18xM1dlYklucHV0RXZlbnRFCisgICBmdW46X1pOMTJSZW5kZXJXaWRnZXQxOE9uSGFu
ZGxlSW5wdXRFdmVudEVSS04zSVBDN01lc3NhZ2VFCit9Cit7CisgICBidWdfMTA3Njk4CisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTlD
U1NQYXJzZXIxMHBhcnNlU2hlZXRFUE5TXzEzQ1NTU3R5bGVTaGVldEVSS04zV1RGNlN0cmluZ0Vp
UE5TM183SGFzaE1hcElQTlNfMTJDU1NTdHlsZVJ1bGVFTlMzXzZSZWZQdHJJTlNfMTdDU1NSdWxl
U291cmNlRGF0YUVFRU5TM183UHRySGFzaElTOV9FRU5TM18xMEhhc2hUcmFpdHNJUzlfRUVOU0Zf
SVNDX0VFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEzQ1NTU3R5bGVTaGVldDE3cGFyc2VTdHJpbmdB
dExpbmVFUktOM1dURjZTdHJpbmdFYmkKKyAgIGZ1bjpfWk43V2ViQ29yZTEzQ1NTU3R5bGVTaGVl
dDExcGFyc2VTdHJpbmdFUktOM1dURjZTdHJpbmdFYgorICAgZnVuOl9aTjdXZWJDb3JlTDEycGFy
c2VVQVNoZWV0RVJLTjNXVEY2U3RyaW5nRQorfQoreworICAgYnVnXzEwNzY5OGEKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlOUNTU1Bh
cnNlcjEwcGFyc2VTaGVldEVQTlNfMTNDU1NTdHlsZVNoZWV0RVJLTjNXVEY2U3RyaW5nRWlQTlMz
XzdIYXNoTWFwSVBOU18xMkNTU1N0eWxlUnVsZUVOUzNfNlJlZlB0cklOU18xN0NTU1J1bGVTb3Vy
Y2VEYXRhRUVFTlMzXzdQdHJIYXNoSVM5X0VFTlMzXzEwSGFzaFRyYWl0c0lTOV9FRU5TRl9JU0Nf
RUVFRQorICAgZnVuOl9aTjdXZWJDb3JlMTNDU1NTdHlsZVNoZWV0MTdwYXJzZVN0cmluZ0F0TGlu
ZUVSS04zV1RGNlN0cmluZ0ViaQorICAgZnVuOl9aTjdXZWJDb3JlMTJTdHlsZUVsZW1lbnQxMWNy
ZWF0ZVNoZWV0RVBOU183RWxlbWVudEVpUktOM1dURjZTdHJpbmdFCisgICBmdW46X1pON1dlYkNv
cmUxMlN0eWxlRWxlbWVudDdwcm9jZXNzRVBOU183RWxlbWVudEUKK30KK3sKKyAgIGJ1Z18xMDc2
OThiCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpfWk4z
V1RGMTBSZWZDb3VudGVkSU43V2ViQ29yZTE4U3R5bGVTaGVldEludGVybmFsRUVud0VtCisgICBm
dW46X1pON1dlYkNvcmUxOFN0eWxlU2hlZXRJbnRlcm5hbDZjcmVhdGVFdgorICAgZnVuOl9aTjdX
ZWJDb3JlTDEycGFyc2VVQVNoZWV0RVJLTjNXVEY2U3RyaW5nRQorfQoreworICAgYnVnXzEwNzY5
OGMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0
TWFsbG9jRW0KKyAgIC4uLgorICAgZnVuOl9aMTBjc3N5eXBhcnNlUE43V2ViQ29yZTlDU1NQYXJz
ZXJFCisgICBmdW46X1pON1dlYkNvcmU5Q1NTUGFyc2VyMTNwYXJzZVNlbGVjdG9yRVJLTjNXVEY2
U3RyaW5nRVJOU18xNUNTU1NlbGVjdG9yTGlzdEUKKyAgIGZ1bjpfWk43V2ViQ29yZTE4SFRNTENv
bnRlbnRFbGVtZW50MThlbnN1cmVTZWxlY3RQYXJzZWRFdgorICAgZnVuOl9aTjdXZWJDb3JlMThI
VE1MQ29udGVudEVsZW1lbnQxM2lzU2VsZWN0VmFsaWRFdgorICAgZnVuOl9aTjdXZWJDb3JlOUlu
dGVybmFsczIwaXNWYWxpZENvbnRlbnRTZWxlY3RFUE5TXzdFbGVtZW50RVJpCisgICAuLi4KKyAg
IGZ1bjpfWk4ydjg4aW50ZXJuYWxMMTlIYW5kbGVBcGlDYWxsSGVscGVySUxiMEVFRVBOUzBfMTFN
YXliZU9iamVjdEVOUzBfMTJfR0xPQkFMX19OXzExNkJ1aWx0aW5Bcmd1bWVudHNJTE5TMF8yMUJ1
aWx0aW5FeHRyYUFyZ3VtZW50c0UxRUVFUE5TMF83SXNvbGF0ZUUKKyAgIGZ1bjpfWk4ydjg4aW50
ZXJuYWxMMjFCdWlsdGluX0hhbmRsZUFwaUNhbGxFTlMwXzEyX0dMT0JBTF9fTl8xMTZCdWlsdGlu
QXJndW1lbnRzSUxOUzBfMjFCdWlsdGluRXh0cmFBcmd1bWVudHNFMUVFRVBOUzBfN0lzb2xhdGVF
Cit9Cit7CisgICBidWdfMTA3Njk5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisg
ICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTEz
QW5pbWF0aW9uQmFzZTE3ZW5zdXJlUHJvcGVydHlNYXBFdgorICAgZnVuOl9aTjdXZWJDb3JlMTNB
bmltYXRpb25CYXNlMTZnZXROdW1Qcm9wZXJ0aWVzRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTE4Q29t
cG9zaXRlQW5pbWF0aW9uMTd1cGRhdGVUcmFuc2l0aW9uc0VQTlNfMTJSZW5kZXJPYmplY3RFUE5T
XzExUmVuZGVyU3R5bGVFUzRfCisgICBmdW46X1pON1dlYkNvcmUxOENvbXBvc2l0ZUFuaW1hdGlv
bjdhbmltYXRlRVBOU18xMlJlbmRlck9iamVjdEVQTlNfMTFSZW5kZXJTdHlsZUVTNF8KKyAgIGZ1
bjpfWk43V2ViQ29yZTE5QW5pbWF0aW9uQ29udHJvbGxlcjE2dXBkYXRlQW5pbWF0aW9uc0VQTlNf
MTJSZW5kZXJPYmplY3RFUE5TXzExUmVuZGVyU3R5bGVFCisgICBmdW46X1pON1dlYkNvcmUxMlJl
bmRlck9iamVjdDE4c2V0QW5pbWF0YWJsZVN0eWxlRU4zV1RGMTBQYXNzUmVmUHRySU5TXzExUmVu
ZGVyU3R5bGVFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTROb2RlMTRzZXRSZW5kZXJTdHlsZUVOM1dU
RjEwUGFzc1JlZlB0cklOU18xMVJlbmRlclN0eWxlRUVFCisgICAuLi4KKyAgIGZ1bjpfWk43V2Vi
Q29yZTdFbGVtZW50MTFyZWNhbGNTdHlsZUVOU180Tm9kZTExU3R5bGVDaGFuZ2VFCisgICBmdW46
X1pON1dlYkNvcmU4RG9jdW1lbnQxMXJlY2FsY1N0eWxlRU5TXzROb2RlMTFTdHlsZUNoYW5nZUUK
KyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1bWVudDE5dXBkYXRlU3R5bGVJZk5lZWRlZEV2CisgICBm
dW46X1pON1dlYkNvcmU4RG9jdW1lbnQxMnVwZGF0ZUxheW91dEV2CisgICBmdW46X1pON1dlYkNv
cmU4RG9jdW1lbnQzNnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0V2Cit9Cit7
CisgICBidWdfMTA4MTQ2YQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4K
KyAgIGZ1bjpfWk41cHBhcGk1cHJveHkyNlBQUF9JbnN0YW5jZV9Qcml2YXRlX1Byb3h5MjJPbk1z
Z0dldEluc3RhbmNlT2JqZWN0RWlOUzBfMjRTZXJpYWxpemVkVmFyUmV0dXJuVmFsdWVFCit9CisK
K3sKKyAgIGJ1Z18xMDg2MjEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1
bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGMTBSZWZDb3VudGVkSU43V2Vi
Q29yZTVFdmVudEVFbndFbQorICAgZnVuOl9aTjdXZWJDb3JlMTJNZXNzYWdlRXZlbnQ2Y3JlYXRl
RU4zV1RGMTBQYXNzT3duUHRySU5TMV82VmVjdG9ySU5TMV82UmVmUHRySU5TXzExTWVzc2FnZVBv
cnRFRUVMbTFFRUVFRU5TMV8xMFBhc3NSZWZQdHJJTlNfMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVF
RUVSS05TMV82U3RyaW5nRVNFX05TOV9JTlNfOURPTVdpbmRvd0VFRQorICAgZnVuOl9aTjdXZWJD
b3JlMTZQb3N0TWVzc2FnZVRpbWVyNWV2ZW50RVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRF
CisgICBmdW46X1pON1dlYkNvcmU5RE9NV2luZG93MjFwb3N0TWVzc2FnZVRpbWVyRmlyZWRFTjNX
VEYxMFBhc3NPd25QdHJJTlNfMTZQb3N0TWVzc2FnZVRpbWVyRUVFCisgICBmdW46X1pON1dlYkNv
cmUxNlBvc3RNZXNzYWdlVGltZXI1ZmlyZWRFdgorICAgZnVuOl9aTjdXZWJDb3JlMTJUaHJlYWRU
aW1lcnMyNHNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbEV2CisgICBmdW46X1pON1dlYkNvcmUxMlRo
cmVhZFRpbWVyczE2c2hhcmVkVGltZXJGaXJlZEV2CisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTI1
V2ViS2l0UGxhdGZvcm1TdXBwb3J0SW1wbDlEb1RpbWVvdXRFdgorICAgZnVuOl9aTjRiYXNlOUJh
c2VUaW1lcklOMTF3ZWJraXRfZ2x1ZTI1V2ViS2l0UGxhdGZvcm1TdXBwb3J0SW1wbEVMYjBFRTlU
aW1lclRhc2szUnVuRXYKK30KK3sKKyAgIGJ1Z18xMDg2MjIKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpfWm5hKgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDhOZXdBcnJheUloRUVQVCoKKyAgIGZ1
bjpfWk4ydjg4aW50ZXJuYWwxMVJlZ0V4cFN0YWNrMTRFbnN1cmVDYXBhY2l0eUVtCisgICBmdW46
X1pOMnY4OGludGVybmFsMTZSZWdFeHBTdGFja1Njb3BlQzFFUE5TMF83SXNvbGF0ZUUKKyAgIGZ1
bjpfWk4ydjg4aW50ZXJuYWwyNk5hdGl2ZVJlZ0V4cE1hY3JvQXNzZW1ibGVyN0V4ZWN1dGVFUE5T
MF80Q29kZUVQTlMwXzZTdHJpbmcqCisgICBmdW46X1pOMnY4OGludGVybmFsMjZOYXRpdmVSZWdF
eHBNYWNyb0Fzc2VtYmxlcjVNYXRjaEVOUzBfNkhhbmRsZUlOUzBfNENvZGVFRUVOUzJfSU5TMF82
U3RyaW5nRUVFUGlpaVBOUzBfN0lzb2xhdGVFCisgICBmdW46X1pOMnY4OGludGVybmFsMTBSZWdF
eHBJbXBsKklycmVnZXhwRXhlYypFTlMwXzZIYW5kbGVJTlMwXzhKU1JlZ0V4cEVFRU5TMl9JTlMw
XzZTdHJpbmdFRUVpUGlpCit9Cit7CisgICBidWdfMTA4NjI0CisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZTIzdjhTdHJpbmdUb1dlYkNvcmVTdHJpbmdJ
TjNXVEY2U3RyaW5nRUVFVF9OMnY4NkhhbmRsZUlOUzRfNlN0cmluZ0VFRU5TXzEyRXh0ZXJuYWxN
b2RlRQorICAgZnVuOl9aTjdXZWJDb3JlMTVWOFBhcmFtZXRlckJhc2U4dG9TdHJpbmdJTjNXVEY2
U3RyaW5nRUVFVF92CisgICBmdW46X1pON1dlYkNvcmUxNVY4UGFyYW1ldGVyQmFzZWN2TjNXVEY2
U3RyaW5nRUV2CisgICAuLi4KKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWxMNkludm9rZUViTlMwXzZI
YW5kbGVJTlMwXzEwSlNGdW5jdGlvbkVFRU5TMV9JTlMwXzZPYmplY3RFRUVpUFM1X1BiCisgICBm
dW46X1pOMnY4OGludGVybmFsOUV4ZWN1dGlvbjRDYWxsRU5TMF82SGFuZGxlSU5TMF82T2JqZWN0
RUVFUzRfaVBTNF9QYmIKKyAgIGZ1bjpfWk4ydjg4RnVuY3Rpb240Q2FsbEVOU182SGFuZGxlSU5T
XzZPYmplY3RFRUVpUE5TMV9JTlNfNVZhbHVlRUVFCisgICBmdW46X1pON1dlYkNvcmUyOFY4V29y
a2VyQ29udGV4dEV2ZW50TGlzdGVuZXIyMGNhbGxMaXN0ZW5lckZ1bmN0aW9uRVBOU18yMlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRFTjJ2ODZIYW5kbGVJTlMzXzVWYWx1ZUVFRVBOU181RXZlbnRFCisg
ICBmdW46X1pON1dlYkNvcmUyM1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyMThpbnZva2VFdmVudEhh
bmRsZXJFUE5TXzIyU2NyaXB0RXhlY3V0aW9uQ29udGV4dEVQTlNfNUV2ZW50RU4ydjg2SGFuZGxl
SU5TNV81VmFsdWVFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTI4VjhXb3JrZXJDb250ZXh0RXZlbnRM
aXN0ZW5lcjExaGFuZGxlRXZlbnRFUE5TXzIyU2NyaXB0RXhlY3V0aW9uQ29udGV4dEVQTlNfNUV2
ZW50RQorICAgZnVuOl9aTjdXZWJDb3JlMTFFdmVudFRhcmdldDE4ZmlyZUV2ZW50TGlzdGVuZXJz
RVBOU181RXZlbnRFUE5TXzE1RXZlbnRUYXJnZXREYXRhRVJOM1dURjZWZWN0b3JJTlNfMjNSZWdp
c3RlcmVkRXZlbnRMaXN0ZW5lckVMbTFFRUUKK30KK3sKKyAgIGJ1Z18xMDg2MjRhCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZTIzdjhTdHJpbmdUb1dl
YkNvcmVTdHJpbmdJTjNXVEY2U3RyaW5nRUVFVF9OMnY4NkhhbmRsZUlOUzRfNlN0cmluZ0VFRU5T
XzEyRXh0ZXJuYWxNb2RlRQorICAgZnVuOl9aTjdXZWJDb3JlMTVWOFBhcmFtZXRlckJhc2U4dG9T
dHJpbmdJTjNXVEY2U3RyaW5nRUVFVF92CisgICBmdW46X1pON1dlYkNvcmUxNVY4UGFyYW1ldGVy
QmFzZWN2TjNXVEY2U3RyaW5nRUV2CisgICBmdW46X1pON1dlYkNvcmUyNVdlYktpdEJsb2JCdWls
ZGVySW50ZXJuYWwqCit9Cit7CisgICBidWdfMTA4NjI4CisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZTIzdjhTdHJpbmdUb1dlYkNvcmVTdHJpbmdJTjNX
VEYxMkF0b21pY1N0cmluZ0VFRVRfTjJ2ODZIYW5kbGVJTlM0XzZTdHJpbmdFRUVOU18xMkV4dGVy
bmFsTW9kZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE2VjhTdHJpbmdSZXNvdXJjZUlMTlNfMjBWOFN0
cmluZ1Jlc291cmNlTW9kZUUwRUU4dG9TdHJpbmdJTjNXVEYxMkF0b21pY1N0cmluZ0VFRVRfdgor
ICAgZnVuOl9aTjdXZWJDb3JlMTZWOFN0cmluZ1Jlc291cmNlSUxOU18yMFY4U3RyaW5nUmVzb3Vy
Y2VNb2RlRTBFRWN2TjNXVEYxMkF0b21pY1N0cmluZ0VFdgorICAgLi4uCisgICBmdW46X1pON1dl
YkNvcmUyNFhNTEh0dHBSZXF1ZXN0VjhJbnRlcm5hbCoKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWxM
MTlIYW5kbGVBcGlDYWxsSGVscGVySUxiMEVFRVBOUzBfMTFNYXliZU9iamVjdEVOUzBfMTJfR0xP
QkFMX19OXzExNkJ1aWx0aW5Bcmd1bWVudHNJTE5TMF8yMUJ1aWx0aW5FeHRyYUFyZ3VtZW50c0Ux
RUVFUE5TMF83SXNvbGF0ZUUKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWxMMjFCdWlsdGluX0hhbmRs
ZUFwaUNhbGxFTlMwXzEyX0dMT0JBTF9fTl8xMTZCdWlsdGluQXJndW1lbnRzSUxOUzBfMjFCdWls
dGluRXh0cmFBcmd1bWVudHNFMUVFRVBOUzBfN0lzb2xhdGVFCit9CisKK3sKKyAgIGJ1Z18xMDk0
OTVlCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4
MTNuZXdfYWxsb2NhdG9ySVN0MTBfTGlzdF9ub2RlSVBOM2dwdTVnbGVzMjE5VmVydGV4QXR0cmli
TWFuYWdlcjE2VmVydGV4QXR0cmliSW5mb0VFRThhbGxvY2F0ZUVtUEt2CisgICBmdW46X1pOU3Qx
MF9MaXN0X2Jhc2VJUE4zZ3B1NWdsZXMyMTlWZXJ0ZXhBdHRyaWJNYW5hZ2VyMTZWZXJ0ZXhBdHRy
aWJJbmZvRVNhSVM0X0VFMTFfTV9nZXRfbm9kZUV2CisgICBmdW46X1pOU3Q0bGlzdElQTjNncHU1
Z2xlczIxOVZlcnRleEF0dHJpYk1hbmFnZXIxNlZlcnRleEF0dHJpYkluZm9FU2FJUzRfRUUxNF9N
X2NyZWF0ZV9ub2RlRVJLUzRfCisgICBmdW46X1pOU3Q0bGlzdElQTjNncHU1Z2xlczIxOVZlcnRl
eEF0dHJpYk1hbmFnZXIxNlZlcnRleEF0dHJpYkluZm9FU2FJUzRfRUU2aW5zZXJ0RVN0MTRfTGlz
dF9pdGVyYXRvcklTNF9FUktTNF8KKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTlWZXJ0ZXhBdHRyaWJN
YW5hZ2VyMTZWZXJ0ZXhBdHRyaWJJbmZvN1NldExpc3RFUFN0NGxpc3RJUFMyX1NhSVM0X0VFCisg
ICBmdW46X1pOM2dwdTVnbGVzMjE5VmVydGV4QXR0cmliTWFuYWdlcjEwSW5pdGlhbGl6ZUVqCisg
ICBmdW46X1pOM2dwdTVnbGVzMjE2R0xFUzJEZWNvZGVySW1wbDEwSW5pdGlhbGl6ZSoKKyAgIGZ1
bjpfWk42d2Via2l0M2dwdTE4R0xJblByb2Nlc3NDb250ZXh0MTBJbml0aWFsaXplRVJLTjNnZng0
U2l6ZUVQUzFfUEtjUEtpTlMyXzEzR3B1UHJlZmVyZW5jZUUKKyAgIGZ1bjpfWk42d2Via2l0M2dw
dTE4R0xJblByb2Nlc3NDb250ZXh0MjJDcmVhdGVPZmZzY3JlZW5Db250ZXh0RVBTMV9SS04zZ2Z4
NFNpemVFUzJfUEtjUEtpTlMzXzEzR3B1UHJlZmVyZW5jZUUKKyAgIGZ1bjpfWk42d2Via2l0M2dw
dTQ2V2ViR3JhcGhpY3NDb250ZXh0M0RJblByb2Nlc3NDb21tYW5kQnVmZmVySW1wbDEwSW5pdGlh
bGl6ZUVONldlYktpdDIwV2ViR3JhcGhpY3NDb250ZXh0M0QxMEF0dHJpYnV0ZXNFUFMzXworfQor
eworICAgYnVnXzEwOTQ5NWYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4u
CisgICBmdW46X1pONndlYmtpdDNncHUxOEdMSW5Qcm9jZXNzQ29udGV4dDIyQ3JlYXRlT2Zmc2Ny
ZWVuQ29udGV4dEVQUzFfUktOM2dmeDRTaXplRVMyX1BLY1BLaU5TM18xM0dwdVByZWZlcmVuY2VF
CisgICBmdW46X1pONndlYmtpdDNncHU0NldlYkdyYXBoaWNzQ29udGV4dDNESW5Qcm9jZXNzQ29t
bWFuZEJ1ZmZlckltcGwxMEluaXRpYWxpemVFTjZXZWJLaXQyMFdlYkdyYXBoaWNzQ29udGV4dDNE
MTBBdHRyaWJ1dGVzRVBTM18KKyAgIGZ1bjpfWk4yNVRlc3RXZWJLaXRQbGF0Zm9ybVN1cHBvcnQz
MmNyZWF0ZU9mZnNjcmVlbkdyYXBoaWNzQ29udGV4dDNERVJLTjZXZWJLaXQyMFdlYkdyYXBoaWNz
Q29udGV4dDNEMTBBdHRyaWJ1dGVzRQorICAgZnVuOl9aTjdXZWJDb3JlMTdHcmFwaGljc0NvbnRl
eHQzRDZjcmVhdGVFTlMwXzEwQXR0cmlidXRlc0VQTlNfMTBIb3N0V2luZG93RU5TMF8xMVJlbmRl
clN0eWxlRQorICAgZnVuOl9aTjdXZWJDb3JlMjFXZWJHTFJlbmRlcmluZ0NvbnRleHQ2Y3JlYXRl
RVBOU18xN0hUTUxDYW52YXNFbGVtZW50RVBOU18yMldlYkdMQ29udGV4dEF0dHJpYnV0ZXNFCisg
ICBmdW46X1pON1dlYkNvcmUxN0hUTUxDYW52YXNFbGVtZW50MTBnZXRDb250ZXh0RVJLTjNXVEY2
U3RyaW5nRVBOU18yM0NhbnZhc0NvbnRleHRBdHRyaWJ1dGVzRQorICAgZnVuOl9aTjdXZWJDb3Jl
MTlWOEhUTUxDYW52YXNFbGVtZW50MThnZXRDb250ZXh0Q2FsbGJhY2tFUktOMnY4OUFyZ3VtZW50
c0UKK30KKworeworICAgYnVnXzExMjMxNQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pOMnY4OGludGVybmFsMjFOYXRpdmVPYmplY3RzRXhwbG9yZXIxOEZpbmRPckFk
ZEdyb3VwSW5mb0VQS2MKKyAgIC4uLgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDIxTmF0aXZlT2Jq
ZWN0c0V4cGxvcmVyMjdJdGVyYXRlQW5kRXh0cmFjdFJlZmVyZW5jZXNFUE5TMF8yM1NuYXBzaG90
RmlsbGVySW50ZXJmYWNlRQorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDIxSGVhcFNuYXBzaG90R2Vu
ZXJhdG9yMjVDb3VudEVudHJpZXNBbmRSZWZlcmVuY2VzRXYKKyAgIGZ1bjpfWk4ydjg4aW50ZXJu
YWwyMUhlYXBTbmFwc2hvdEdlbmVyYXRvcjE2R2VuZXJhdGVTbmFwc2hvdEV2CisgICBmdW46X1pO
MnY4OGludGVybmFsMTJIZWFwUHJvZmlsZXIxNlRha2VTbmFwc2hvdEltcGxFUEtjaVBOU18xNUFj
dGl2aXR5Q29udHJvbEUKKyAgIC4uLgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDEySGVhcFByb2Zp
bGVyMTJUYWtlU25hcHNob3RFUE5TMF82U3RyaW5nRWlQTlNfMTVBY3Rpdml0eUNvbnRyb2xFCisg
ICBmdW46X1pOMnY4MTJIZWFwUHJvZmlsZXIxMlRha2VTbmFwc2hvdEVOU182SGFuZGxlSU5TXzZT
dHJpbmdFRUVOU18xMkhlYXBTbmFwc2hvdDRUeXBlRVBOU18xNUFjdGl2aXR5Q29udHJvbEUKKyAg
IGZ1bjpfWkwxM0dldE51bU9iamVjdHNQS2MKK30KKworeworICAgYnVnXzExMjU5NF9hCisgICBN
ZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpOUFBfTmV3CisgICBmdW46X1pONndlYmtpdDVu
cGFwaTE0UGx1Z2luSW5zdGFuY2U3TlBQX05ld0V0c1BQY1MzXworICAgZnVuOl9aTjZ3ZWJraXQ1
bnBhcGkxNFBsdWdpbkluc3RhbmNlNVN0YXJ0RVJLNEdVUkxQUGNTNl9pYgorICAgZnVuOl9aTjZ3
ZWJraXQ1bnBhcGkyMVdlYlBsdWdpbkRlbGVnYXRlSW1wbDEwSW5pdGlhbGl6ZUVSSzRHVVJMUktT
dDZ2ZWN0b3JJU3NTYUlTc0VFUzlfUE5TMF85V2ViUGx1Z2luRWIKKyAgIGZ1bjpfWk42d2Via2l0
NW5wYXBpMTNXZWJQbHVnaW5JbXBsMTBpbml0aWFsaXplRVBONldlYktpdDE4V2ViUGx1Z2luQ29u
dGFpbmVyRQorICAgZnVuOl9aTjZXZWJLaXQyMUZyYW1lTG9hZGVyQ2xpZW50SW1wbDEyY3JlYXRl
UGx1Z2luRVJLTjdXZWJDb3JlN0ludFNpemVFUE5TMV8xN0hUTUxQbHVnSW5FbGVtZW50RVJLTlMx
XzRLVVJMRVJLTjNXVEY2VmVjdG9ySU5TQV82U3RyaW5nRUxtMEVFRVNGX1JLU0NfYgorICAgZnVu
Ol9aTjdXZWJDb3JlMTRTdWJmcmFtZUxvYWRlcjEwbG9hZFBsdWdpbkVQTlNfMjJIVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50RVJLTlNfNEtVUkxFUktOM1dURjZTdHJpbmdFUktOUzZfNlZlY3RvcklTN19M
bTBFRUVTRF9iCisgICBmdW46X1pON1dlYkNvcmUxNFN1YmZyYW1lTG9hZGVyMTNyZXF1ZXN0UGx1
Z2luRVBOU18yMkhUTUxQbHVnSW5JbWFnZUVsZW1lbnRFUktOU180S1VSTEVSS04zV1RGNlN0cmlu
Z0VSS05TNl82VmVjdG9ySVM3X0xtMEVFRVNEX2IKKyAgIGZ1bjpfWk43V2ViQ29yZTE0U3ViZnJh
bWVMb2FkZXIxM3JlcXVlc3RPYmplY3RFUE5TXzIySFRNTFBsdWdJbkltYWdlRWxlbWVudEVSS04z
V1RGNlN0cmluZ0VSS05TM18xMkF0b21pY1N0cmluZ0VTNl9SS05TM182VmVjdG9ySVM0X0xtMEVF
RVNEXworfQorCit7CisgICBidWdfMTEyNTk0X2QKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpt
YWxsb2MKKyAgIGZ1bjpOUE5fTWVtQWxsb2MKKyAgIGZ1bjpfWkwxM3Rlc3RFbnVtZXJhdGVQOE5Q
T2JqZWN0UFBQdlBqCisgICBmdW46X1pON1dlYkNvcmUyNm5wT2JqZWN0UHJvcGVydHlFbnVtZXJh
dG9yRVJLTjJ2ODEyQWNjZXNzb3JJbmZvRWIKKyAgIC4uLgorICAgZnVuOl9aTjJ2ODhpbnRlcm5h
bDI4UnVudGltZV9HZXRQcm9wZXJ0eU5hbWVzRmFzdEVOUzBfOUFyZ3VtZW50c0VQTlMwXzdJc29s
YXRlRQorfQoreworICAgYnVnXzExMjU3MworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pOMnY4OGludGVybmFsMk9TMTVDcmVhdGVTZW1hcGhvcmVFaQorICAgZnVuOl9a
TjJ2ODhpbnRlcm5hbDhQcm9maWxlckMxRVBOUzBfN0lzb2xhdGVFCisgICBmdW46X1pOMnY4OGlu
dGVybmFsNkxvZ2dlcjVTZXRVcEV2CisgICBmdW46X1pOMnY4OGludGVybmFsN0lzb2xhdGU0SW5p
dEVQTlMwXzEyRGVzZXJpYWxpemVyRQorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDJWODEwSW5pdGlh
bGl6ZUVQTlMwXzEyRGVzZXJpYWxpemVyRQorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDhTbmFwc2hv
dDExRGVzZXJpYWxpemVFUEtoaQorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDhTbmFwc2hvdDEwSW5p
dGlhbGl6ZUVQS2MKKyAgIGZ1bjpfWk4ydjhMMTZJbml0aWFsaXplSGVscGVyRXYKKyAgIGZ1bjpf
Wk4ydjhMMjdFbnN1cmVJbml0aWFsaXplZEZvcklzb2xhdGVFUE5TXzhpbnRlcm5hbDdJc29sYXRl
RVBLYworICAgZnVuOl9aTjJ2ODJWODE4QWRkTWVzc2FnZUxpc3RlbmVyRVBGdk5TXzZIYW5kbGVJ
TlNfN01lc3NhZ2VFRUVOUzFfSU5TXzVWYWx1ZUVFRUVTNV8KKyAgIGZ1bjpfWk43V2ViQ29yZTI3
V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5MTlpbml0Q29udGV4dElmTmVlZGVkRXYKKyAgIGZ1
bjpfWk43V2ViQ29yZTI3V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OGV2YWx1YXRlRVJLTjNX
VEY2U3RyaW5nRVM0X1JLTlMxXzEyVGV4dFBvc2l0aW9uRVBOU18yN1dvcmtlckNvbnRleHRFeGVj
dXRpb25TdGF0ZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTIyV29ya2VyU2NyaXB0Q29udHJvbGxlcjhl
dmFsdWF0ZUVSS05TXzE2U2NyaXB0U291cmNlQ29kZUVQTlNfMTFTY3JpcHRWYWx1ZUUKKyAgIGZ1
bjpfWk43V2ViQ29yZTIyV29ya2VyU2NyaXB0Q29udHJvbGxlcjhldmFsdWF0ZUVSS05TXzE2U2Ny
aXB0U291cmNlQ29kZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEyV29ya2VyVGhyZWFkMTJ3b3JrZXJU
aHJlYWRFdgorICAgZnVuOl9aTjdXZWJDb3JlMTJXb3JrZXJUaHJlYWQxN3dvcmtlclRocmVhZFN0
YXJ0RVB2CisgICBmdW46X1pOM1dURkwxNnRocmVhZEVudHJ5UG9pbnRFUHYKK30KKworeworICAg
YnVnXzExNTI5NAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1
bjpfWk4xN0F1ZGlvUmVuZGVyZXJIb3N0MTRPbkNyZWF0ZVN0cmVhbUVpUksxNUF1ZGlvUGFyYW1l
dGVycworfQoreworICAgYnVnXzExODg5MF9hCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IGZ1bjpfWk44bm90aWZpZXIxOFNpbmdsZUxvZ2luQXR0ZW1wdEMxRVBOU18xM0xvZ2luU2V0dGlu
Z3NFUE5TMF84RGVsZWdhdGVFCisgICBmdW46X1pOOG5vdGlmaWVyNUxvZ2luMTVTdGFydENvbm5l
Y3Rpb25FdgorICAgZnVuOl9aTjEzc3luY19ub3RpZmllcjIwSW52YWxpZGF0aW9uTm90aWZpZXIx
N1VwZGF0ZUNyZWRlbnRpYWxzRVJLU3NTMl8KK30KK3sKKyAgIGJ1Z18xMTg4OTBfYgorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTNzeW5jX25vdGlmaWVyMTJfR0xP
QkFMX19OXzEyNEludmFsaWRhdGlvbk5vdGlmaWVyVGVzdDVTZXRVcEV2Cit9Cit7CisgICBidWdf
MTIxNzI5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEw
ZmFzdE1hbGxvY0UqCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZUwxMnBhcnNlVUFTaGVldEVS
S04zV1RGNlN0cmluZ0UKKyAgIGZ1bjpfWk43V2ViQ29yZUwxMnBhcnNlVUFTaGVldEVQS2NqCisg
ICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTdFbGVtZW50MTZzdHlsZUZvclJlbmRlcmVyRXYKK30K
K3sKKyAgIGJ1Z18xMjIxNzcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjdo
aXN0b3J5MTZJbk1lbW9yeVVSTEluZGV4MjNQb3N0U2F2ZVRvQ2FjaGVGaWxlVGFza0V2CisgICBm
dW46X1pON2hpc3RvcnkxNkluTWVtb3J5VVJMSW5kZXg4U2h1dERvd25FdgorICAgZnVuOl9aTjE0
SGlzdG9yeVNlcnZpY2UxM1VubG9hZEJhY2tlbmRFdgorICAgZnVuOl9aTjE0SGlzdG9yeVNlcnZp
Y2U3Q2xlYW51cEV2Cit9Cit7CisgICBidWdfMTIyMTg5CisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46X1pudyoKKyAgIGZ1bjpfWk42V2ViS2l0MTZDaHJvbWVDbGllbnRJbXBsMThjcmVhdGVDb2xv
ckNob29zZXJFUE43V2ViQ29yZTE4Q29sb3JDaG9vc2VyQ2xpZW50RVJLTlMxXzVDb2xvckUKKyAg
IGZ1bjpfWk43V2ViQ29yZTZDaHJvbWUxOGNyZWF0ZUNvbG9yQ2hvb3NlckVQTlNfMThDb2xvckNo
b29zZXJDbGllbnRFUktOU181Q29sb3JFCisgICBmdW46X1pON1dlYkNvcmUxNENvbG9ySW5wdXRU
eXBlMjJoYW5kbGVET01BY3RpdmF0ZUV2ZW50RVBOU181RXZlbnRFCisgICBmdW46X1pON1dlYkNv
cmUxNkhUTUxJbnB1dEVsZW1lbnQxOWRlZmF1bHRFdmVudEhhbmRsZXJFUE5TXzVFdmVudEUKKyAg
IGZ1bjpfWk43V2ViQ29yZTE1RXZlbnREaXNwYXRjaGVyMTNkaXNwYXRjaEV2ZW50RU4zV1RGMTBQ
YXNzUmVmUHRySU5TXzVFdmVudEVFRQorICAgZnVuOl9aTks3V2ViQ29yZTIxRXZlbnREaXNwYXRj
aE1lZGlhdG9yMTNkaXNwYXRjaEV2ZW50RVBOU18xNUV2ZW50RGlzcGF0Y2hlckUKK30KK3sKKyAg
IGJ1Z18xMjIxOTIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBm
dW46X1pONndlYmtpdDNncHUxOEdMSW5Qcm9jZXNzQ29udGV4dDIyQ3JlYXRlT2Zmc2NyZWVuQ29u
dGV4dEVQUzFfUktOM2dmeDRTaXplRVMyX1BLY1BLaU5TM18xM0dwdVByZWZlcmVuY2VFCisgICBm
dW46X1pONndlYmtpdDNncHU0NldlYkdyYXBoaWNzQ29udGV4dDNESW5Qcm9jZXNzQ29tbWFuZEJ1
ZmZlckltcGwxMEluaXRpYWxpemVFTjZXZWJLaXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRy
aWJ1dGVzRVBTM18KKyAgIGZ1bjpfWk4xNHdlYmtpdF9zdXBwb3J0MjNDcmVhdGVHcmFwaGljc0Nv
bnRleHQzREVSS042V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzRDEwQXR0cmlidXRlc0VQTlMw
XzdXZWJWaWV3RWIKKyAgIGZ1bjpfWk4xMVdlYlZpZXdIb3N0MjNjcmVhdGVHcmFwaGljc0NvbnRl
eHQzREVSS042V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzRDEwQXR0cmlidXRlc0UKKyAgIGZ1
bjpfWk42V2ViS2l0MTFXZWJWaWV3SW1wbDMzY3JlYXRlQ29tcG9zaXRvckdyYXBoaWNzQ29udGV4
dDNERXYKKyAgIGZ1bjpfWk42V2ViS2l0MTFXZWJWaWV3SW1wbDE1Y3JlYXRlQ29udGV4dDNERXYK
K30KK3sKKyAgIGJ1Z18xMjIxOTUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9a
TlN0MyppbnNlcnQqCisgICBmdW46X1pOM2dwdTVnbGVzMjE5R0xFUzJJbXBsZW1lbnRhdGlvbjE1
R2V0U3RyaW5nSGVscGVyRWoKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTlHTEVTMkltcGxlbWVudGF0
aW9uOUdldFN0cmluZ0VqCisgICBmdW46X1pONndlYmtpdDNncHU0NldlYkdyYXBoaWNzQ29udGV4
dDNESW5Qcm9jZXNzQ29tbWFuZEJ1ZmZlckltcGw5Z2V0U3RyaW5nRWoKKyAgIGZ1bjpfWk43V2Vi
Q29yZTI0R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOWdldFN0cmluZ0VqCisgICBmdW46X1pON1dl
YkNvcmUyNEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTIwaW5pdGlhbGl6ZUV4dGVuc2lvbnNFdgor
ICAgZnVuOl9aTjdXZWJDb3JlMjRHcmFwaGljc0NvbnRleHQzRFByaXZhdGUxN3N1cHBvcnRzRXh0
ZW5zaW9uRVJLTjNXVEY2U3RyaW5nRQorICAgZnVuOl9aTjdXZWJDb3JlMjBFeHRlbnNpb25zM0RD
aHJvbWl1bThzdXBwb3J0c0VSS04zV1RGNlN0cmluZ0UKK30KKworeworICAgYnVnXzEyMjQyOQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pONndlYmtpdDNncHUxOEdM
SW5Qcm9jZXNzQ29udGV4dDIyQ3JlYXRlT2Zmc2NyZWVuQ29udGV4dEVQUzFfUktOM2dmeDRTaXpl
RVMyX1BLY1BLaU5TM18xM0dwdVByZWZlcmVuY2VFCisgICBmdW46X1pONndlYmtpdDNncHU0Nldl
YkdyYXBoaWNzQ29udGV4dDNESW5Qcm9jZXNzQ29tbWFuZEJ1ZmZlckltcGwxMEluaXRpYWxpemVF
TjZXZWJLaXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRVBTM18KKyAgIGZ1bjpf
Wk4yNVRlc3RXZWJLaXRQbGF0Zm9ybVN1cHBvcnQzMmNyZWF0ZU9mZnNjcmVlbkdyYXBoaWNzQ29u
dGV4dDNERVJLTjZXZWJLaXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRQorICAg
ZnVuOl9aTjEzVGVzdFdlYlBsdWdpbjEwaW5pdGlhbGl6ZUVQTjZXZWJLaXQxOFdlYlBsdWdpbkNv
bnRhaW5lckUKKyAgIGZ1bjpfWk42V2ViS2l0MjFGcmFtZUxvYWRlckNsaWVudEltcGwxMmNyZWF0
ZVBsdWdpbkVSS043V2ViQ29yZTdJbnRTaXplRVBOUzFfMTdIVE1MUGx1Z0luRWxlbWVudEVSS05T
MV80S1VSTEVSS04zV1RGNlZlY3RvcklOU0FfNlN0cmluZ0VMbTBFRUVTRl9SS1NDX2IKK30KK3sK
KyAgIGJ1Z18xMjI0MzEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9a
TjExV2ViVmlld0hvc3QxMmNyZWF0ZVBsdWdpbkVQTjZXZWJLaXQ4V2ViRnJhbWVFUktOUzBfMTVX
ZWJQbHVnaW5QYXJhbXNFCisgICBmdW46X1pONldlYktpdDIxRnJhbWVMb2FkZXJDbGllbnRJbXBs
MTJjcmVhdGVQbHVnaW5FUktON1dlYkNvcmU3SW50U2l6ZUVQTlMxXzE3SFRNTFBsdWdJbkVsZW1l
bnRFUktOUzFfNEtVUkxFUktOM1dURjZWZWN0b3JJTlNBXzZTdHJpbmdFTG0wRUVFU0ZfUktTQ19i
CisgICBmdW46X1pON1dlYkNvcmUxNFN1YmZyYW1lTG9hZGVyMTBsb2FkUGx1Z2luRVBOU18yMkhU
TUxQbHVnSW5JbWFnZUVsZW1lbnRFUktOU180S1VSTEVSS04zV1RGNlN0cmluZ0VSS05TNl82VmVj
dG9ySVM3X0xtMEVFRVNEX2IKKyAgIGZ1bjpfWk43V2ViQ29yZTE0U3ViZnJhbWVMb2FkZXIxM3Jl
cXVlc3RQbHVnaW5FUE5TXzIySFRNTFBsdWdJbkltYWdlRWxlbWVudEVSS05TXzRLVVJMRVJLTjNX
VEY2U3RyaW5nRVJLTlM2XzZWZWN0b3JJUzdfTG0wRUVFU0RfYgorICAgZnVuOl9aTjdXZWJDb3Jl
MTRTdWJmcmFtZUxvYWRlcjEzcmVxdWVzdE9iamVjdEVQTlNfMjJIVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50RVJLTjNXVEY2U3RyaW5nRVJLTlMzXzEyQXRvbWljU3RyaW5nRVM2X1JLTlMzXzZWZWN0b3JJ
UzRfTG0wRUVFU0RfCisgICBmdW46X1pON1dlYkNvcmUxNkhUTUxFbWJlZEVsZW1lbnQxMnVwZGF0
ZVdpZGdldEVOU18yMFBsdWdpbkNyZWF0aW9uT3B0aW9uRQorfQoreworICAgYnVnXzEyMjQzNWEK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm5hKgorICAgZnVuOl9aTjNncHU1Z2xlczIxOVZl
cnRleEF0dHJpYk1hbmFnZXIxMEluaXRpYWxpemVFagorICAgZnVuOl9aTjNncHU1Z2xlczIxNkdM
RVMyRGVjb2RlckltcGwxMEluaXRpYWxpemVFUksxM3Njb3BlZF9yZWZwdHJJTjNnZng5R0xTdXJm
YWNlRUVSS1MyX0lOUzNfOUdMQ29udGV4dCpTaXplRVJLTlMwXzE4RGlzYWxsb3dlZEZlYXR1cmVz
RVBLY1JLU3Q2dmVjdG9ySWlTYUlpRUUKKyAgIGZ1bjpfWk42d2Via2l0M2dwdTE4R0xJblByb2Nl
c3NDb250ZXh0MTBJbml0aWFsaXplRVJLTjNnZng0U2l6ZUVQUzFfUEtjUEtpTlMyXzEzR3B1UHJl
ZmVyZW5jZUUKKyAgIGZ1bjpfWk42d2Via2l0M2dwdTE4R0xJblByb2Nlc3NDb250ZXh0MjJDcmVh
dGVPZmZzY3JlZW5Db250ZXh0RVBTMV9SS04zZ2Z4NFNpemVFUzJfUEtjUEtpTlMzXzEzR3B1UHJl
ZmVyZW5jZUUKKyAgIGZ1bjpfWk42d2Via2l0M2dwdTQ2V2ViR3JhcGhpY3NDb250ZXh0M0RJblBy
b2Nlc3NDb21tYW5kQnVmZmVySW1wbDEwSW5pdGlhbGl6ZUVONldlYktpdDIwV2ViR3JhcGhpY3ND
b250ZXh0M0QxMEF0dHJpYnV0ZXNFUFMzXworfQoreworICAgYnVnXzEyMjQzNWIKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2dudV9jeHgxM25ld19hbGxvY2F0
b3JJU3QxMF9MaXN0X25vZGVJUE4zZ3B1NWdsZXMyMTlWZXJ0ZXhBdHRyaWJNYW5hZ2VyMTZWZXJ0
ZXhBdHRyaWJJbmZvRUVFOGFsbG9jYXRlRW1QS3YKKyAgIGZ1bjpfWk5TdDEwX0xpc3RfYmFzZUlQ
TjNncHU1Z2xlczIxOVZlcnRleEF0dHJpYk1hbmFnZXIxNlZlcnRleEF0dHJpYkluZm9FU2FJUzRf
RUUxMV9NX2dldF9ub2RlRXYKKyAgIGZ1bjpfWk5TdDRsaXN0SVBOM2dwdTVnbGVzMjE5VmVydGV4
QXR0cmliTWFuYWdlcjE2VmVydGV4QXR0cmliSW5mb0VTYUlTNF9FRTE0X01fY3JlYXRlX25vZGVF
UktTNF8KKyAgIGZ1bjpfWk5TdDRsaXN0SVBOM2dwdTVnbGVzMjE5VmVydGV4QXR0cmliTWFuYWdl
cjE2VmVydGV4QXR0cmliSW5mb0VTYUlTNF9FRTZpbnNlcnRFU3QxNF9MaXN0X2l0ZXJhdG9ySVM0
X0VSS1M0XworICAgZnVuOl9aTjNncHU1Z2xlczIxOVZlcnRleEF0dHJpYk1hbmFnZXIxNlZlcnRl
eEF0dHJpYkluZm83U2V0TGlzdEVQU3Q0bGlzdElQUzJfU2FJUzRfRUUKKyAgIGZ1bjpfWk4zZ3B1
NWdsZXMyMTlWZXJ0ZXhBdHRyaWJNYW5hZ2VyNkVuYWJsZUVqYgorfQoreworICAgYnVnXzEyMjQz
NgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOOV9fZ251X2N4eDEz
bmV3X2FsbG9jYXRvcklTdDEzX1JiX3RyZWVfbm9kZUlTdDRwYWlySUtqMTBsaW5rZWRfcHRySU4z
Z3B1MTNDb21tb25EZWNvZGVyNkJ1Y2tldEVFRUVFOGFsbG9jYXRlRW1QS3YKKyAgIGZ1bjpfWk5T
dDhfUmJfdHJlZUlqU3Q0cGFpcklLajEwbGlua2VkX3B0cklOM2dwdTEzQ29tbW9uRGVjb2RlcjZC
dWNrZXRFRUVTdDEwX1NlbGVjdDFzdElTN19FU3Q0bGVzc0lqRVNhSVM3X0VFMTFfTV9nZXRfbm9k
ZUV2CisgICBmdW46X1pOU3Q4X1JiX3RyZWVJalN0NHBhaXJJS2oxMGxpbmtlZF9wdHJJTjNncHUx
M0NvbW1vbkRlY29kZXI2QnVja2V0RUVFU3QxMF9TZWxlY3Qxc3RJUzdfRVN0NGxlc3NJakVTYUlT
N19FRTE0X01fY3JlYXRlX25vZGVFUktTN18KKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlqU3Q0cGFp
cklLajEwbGlua2VkX3B0cklOM2dwdTEzQ29tbW9uRGVjb2RlcjZCdWNrZXRFRUVTdDEwX1NlbGVj
dDFzdElTN19FU3Q0bGVzc0lqRVNhSVM3X0VFMTBfTV9pbnNlcnRfRVBLU3QxOF9SYl90cmVlX25v
ZGVfYmFzZVNHX1JLUzdfCisgICBmdW46X1pOU3Q4X1JiX3RyZWVJalN0NHBhaXJJS2oxMGxpbmtl
ZF9wdHJJTjNncHUxM0NvbW1vbkRlY29kZXI2QnVja2V0RUVFU3QxMF9TZWxlY3Qxc3RJUzdfRVN0
NGxlc3NJakVTYUlTN19FRTE2X01faW5zZXJ0X3VuaXF1ZUVSS1M3XworICAgZnVuOl9aTlN0OF9S
Yl90cmVlSWpTdDRwYWlySUtqMTBsaW5rZWRfcHRySU4zZ3B1MTNDb21tb25EZWNvZGVyNkJ1Y2tl
dEVFRVN0MTBfU2VsZWN0MXN0SVM3X0VTdDRsZXNzSWpFU2FJUzdfRUUxN19NX2luc2VydF91bmlx
dWVfRVN0MjNfUmJfdHJlZV9jb25zdF9pdGVyYXRvcklTN19FUktTN18KKyAgIGZ1bjpfWk5TdDNt
YXBJajEwbGlua2VkX3B0cklOM2dwdTEzQ29tbW9uRGVjb2RlcjZCdWNrZXRFRVN0NGxlc3NJakVT
YUlTdDRwYWlySUtqUzRfRUVFNmluc2VydEVTdDE3X1JiX3RyZWVfaXRlcmF0b3JJUzlfRVJLUzlf
CisgICBmdW46X1pOU3QzbWFwSWoxMGxpbmtlZF9wdHJJTjNncHUxM0NvbW1vbkRlY29kZXI2QnVj
a2V0RUVTdDRsZXNzSWpFU2FJU3Q0cGFpcklLalM0X0VFRWl4RVJTOF8KKyAgIGZ1bjpfWk4zZ3B1
MTNDb21tb25EZWNvZGVyMTJDcmVhdGVCdWNrZXRFagorfQoreworICAgYnVnXzEyMjQzNworICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk4zZ3B1MTlNYXBw
ZWRNZW1vcnlNYW5hZ2VyNUFsbG9jKgorICAgZnVuOl9aTjNncHU1Z2xlczIxOUdMRVMySW1wbGVt
ZW50YXRpb24yNE1hcFRleFN1YkltYWdlMkRDSFJPTUlVTSoKKyAgIGZ1bjpfWk42d2Via2l0M2dw
dTQ2V2ViR3JhcGhpY3NDb250ZXh0M0RJblByb2Nlc3NDb21tYW5kQnVmZmVySW1wbDI0bWFwVGV4
U3ViSW1hZ2UyRENIUk9NSVVNKgorICAgZnVuOl9aTjdXZWJDb3JlMjRHcmFwaGljc0NvbnRleHQz
RFByaXZhdGUyNG1hcFRleFN1YkltYWdlMkRDSFJPTUlVTSoKKyAgIGZ1bjpfWk43V2ViQ29yZTIw
RXh0ZW5zaW9uczNEQ2hyb21pdW0yNG1hcFRleFN1YkltYWdlMkRDSFJPTUlVTSoKKyAgIGZ1bjpf
Wk43V2ViQ29yZTIwTGF5ZXJUZXh0dXJlU3ViSW1hZ2UyNHVwbG9hZFdpdGhNYXBUZXhTdWJJbWFn
ZUVQS2hSS05TXzdJbnRSZWN0RVM1X1M1X2pQTlNfMTdHcmFwaGljc0NvbnRleHQzREUKKyAgIGZ1
bjpfWk43V2ViQ29yZTIwTGF5ZXJUZXh0dXJlU3ViSW1hZ2U2dXBsb2FkRVBLaFJLTlNfN0ludFJl
Y3RFUzVfUzVfalBOU18xN0dyYXBoaWNzQ29udGV4dDNERQorICAgZnVuOl9aTjdXZWJDb3JlMzFC
aXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyMTd1cGRhdGVUZXh0dXJlUmVjdEVQTlNfMTdH
cmFwaGljc0NvbnRleHQzREVQTlNfMTZUZXh0dXJlQWxsb2NhdG9yRVBOU18xNE1hbmFnZWRUZXh0
dXJlRVJLTlNfN0ludFJlY3RFUzlfCisgICBmdW46X1pON1dlYkNvcmUzMUJpdG1hcENhbnZhc0xh
eWVyVGV4dHVyZVVwZGF0ZXI3VGV4dHVyZTEwdXBkYXRlUmVjdEVQTlNfMTdHcmFwaGljc0NvbnRl
eHQzREVQTlNfMTZUZXh0dXJlQWxsb2NhdG9yRVJLTlNfN0ludFJlY3RFUzhfCit9Cit7CisgICBi
dWdfMTIyNDU0CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMUdy
R0xUZXh0dXJlNGluaXRFUDdHckdwdUdMUktOU180RGVzY0VQS04xNkdyR0xSZW5kZXJUYXJnZXQ0
RGVzY0UKKyAgIGZ1bjpfWk4xMUdyR0xUZXh0dXJlQzFFUDdHckdwdUdMUktOU180RGVzY0UKKyAg
IGZ1bjpfWk43R3JHcHVHTDE1b25DcmVhdGVUZXh0dXJlRVJLMTNHclRleHR1cmVEZXNjUEt2bQor
ICAgZnVuOl9aTjVHckdwdTEzY3JlYXRlVGV4dHVyZUVSSzEzR3JUZXh0dXJlRGVzY1BLdm0KKyAg
IGZ1bjpfWk45R3JDb250ZXh0MjBjcmVhdGVBbmRMb2NrVGV4dHVyZUVtUEsxNEdyU2FtcGxlclN0
YXRlUksxM0dyVGV4dHVyZURlc2NQdm0KKyAgIGZ1bjpfWjI3c2tfZ3JfY3JlYXRlX2JpdG1hcF90
ZXh0dXJlUDlHckNvbnRleHRtUEsxNEdyU2FtcGxlclN0YXRlUks4U2tCaXRtYXAKKyAgIGZ1bjpf
Wk4xMVNrR3B1RGV2aWNlMTdsb2NrQ2FjaGVkVGV4dHVyZUVSSzhTa0JpdG1hcFBLMTRHclNhbXBs
ZXJTdGF0ZQorfQoreworICAgYnVnXzEyMjQ1NQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcklTdDEzX1JiX3RyZWVfbm9k
ZUlTc0VFOGFsbG9jYXRlRW1QS3YKKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlTc1NzU3Q5X0lkZW50
aXR5SVNzRVN0NGxlc3NJU3NFU2FJU3NFRTExX01fZ2V0X25vZGVFdgorICAgZnVuOl9aTlN0OF9S
Yl90cmVlSVNzU3NTdDlfSWRlbnRpdHlJU3NFU3Q0bGVzc0lTc0VTYUlTc0VFMTRfTV9jcmVhdGVf
bm9kZUVSS1NzCisgICBmdW46X1pOU3Q4X1JiX3RyZWVJU3NTc1N0OV9JZGVudGl0eUlTc0VTdDRs
ZXNzSVNzRVNhSVNzRUUxMF9NX2luc2VydF9FUEtTdDE4X1JiX3RyZWVfbm9kZV9iYXNlUzhfUktT
cworICAgZnVuOl9aTlN0OF9SYl90cmVlSVNzU3NTdDlfSWRlbnRpdHlJU3NFU3Q0bGVzc0lTc0VT
YUlTc0VFMTZfTV9pbnNlcnRfdW5pcXVlRVJLU3MKKyAgIGZ1bjpfWk5TdDNzZXRJU3NTdDRsZXNz
SVNzRVNhSVNzRUU2aW5zZXJ0RVJLU3MKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTlHTEVTMkltcGxl
bWVudGF0aW9uMzJHZXRSZXF1ZXN0YWJsZUV4dGVuc2lvbnNDSFJPTUlVTUV2CisgICBmdW46X1pO
NndlYmtpdDNncHU0NldlYkdyYXBoaWNzQ29udGV4dDNESW5Qcm9jZXNzQ29tbWFuZEJ1ZmZlcklt
cGwzMmdldFJlcXVlc3RhYmxlRXh0ZW5zaW9uc0NIUk9NSVVNRXYKKyAgIGZ1bjpfWk43V2ViQ29y
ZTI0R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlMjBpbml0aWFsaXplRXh0ZW5zaW9uc0V2CisgICBm
dW46X1pON1dlYkNvcmUyNEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTE3c3VwcG9ydHNFeHRlbnNp
b25FUktOM1dURjZTdHJpbmdFCit9Cit7CisgICBidWdfMTIyNDU3CisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICBmdW46X1pO
M1dURjEwUmVmQ291bnRlZElON1dlYkNvcmU3QXJjaGl2ZUVFbndFbQorICAgZnVuOl9aTjdXZWJD
b3JlMTJNSFRNTEFyY2hpdmU2Y3JlYXRlRXYKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlMTFN
SFRNTFBhcnNlcjIycGFyc2VBcmNoaXZlV2l0aEhlYWRlckVQTlNfMTBNSU1FSGVhZGVyRQorICAg
ZnVuOl9aTjdXZWJDb3JlMTFNSFRNTFBhcnNlcjEycGFyc2VBcmNoaXZlRXYKKyAgIGZ1bjpfWk43
V2ViQ29yZTEyTUhUTUxBcmNoaXZlNmNyZWF0ZUVSS05TXzRLVVJMRVBOU18xMlNoYXJlZEJ1ZmZl
ckUKKyAgIGZ1bjpfWk43V2ViQ29yZUwyMGFyY2hpdmVGYWN0b3J5Q3JlYXRlSU5TXzEyTUhUTUxB
cmNoaXZlRUVFTjNXVEYxMFBhc3NSZWZQdHJJTlNfN0FyY2hpdmVFRUVSS05TXzRLVVJMRVBOU18x
MlNoYXJlZEJ1ZmZlckUKKyAgIGZ1bjpfWk43V2ViQ29yZTE0QXJjaGl2ZUZhY3Rvcnk2Y3JlYXRl
RVJLTlNfNEtVUkxFUE5TXzEyU2hhcmVkQnVmZmVyRVJLTjNXVEY2U3RyaW5nRQorICAgLi4uCisg
ICBmdW46X1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTVmaW5pc2hlZExvYWRpbmdFdgorICAg
ZnVuOl9aTjdXZWJDb3JlMThNYWluUmVzb3VyY2VMb2FkZXIxNmRpZEZpbmlzaExvYWRpbmdFZAor
fQoreworICAgYnVnXzEyMjY3MAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pOM1dURjExTGlzdEhhc2hTZXRJUE43V2ViQ29yZTEyUmVuZGVySW5saW5lRUxtMjU2RU5T
XzdQdHJIYXNoSVMzX0VFRUMxRXYKKyAgIGZ1bjpfWk5LN1dlYkNvcmUxN1JlbmRlckxpbmVCb3hM
aXN0NXBhaW50RVBOU18yMFJlbmRlckJveE1vZGVsT2JqZWN0RVJOU185UGFpbnRJbmZvRVJLTlMq
CisgICBmdW46X1pON1dlYkNvcmUxMVJlbmRlckJsb2NrMTNwYWludENvbnRlbnRzRVJOU185UGFp
bnRJbmZvRVJLTlMqCisgICBmdW46X1pON1dlYkNvcmUxMVJlbmRlckJsb2NrMTFwYWludE9iamVj
dEVSTlNfOVBhaW50SW5mb0VSS05TKgorICAgZnVuOl9aTjdXZWJDb3JlMTFSZW5kZXJCbG9jazVw
YWludEVSTlNfOVBhaW50SW5mb0VSS05TKgorfQoreworICAgYnVnXzEyMjcxNgorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRv
cklTc0U4YWxsb2NhdGUqCisgICBmdW46X1pOU3QxMl9WZWN0b3JfYmFzZUlTc1NhSVNzRUUxMV9N
X2FsbG9jYXRlKgorICAgZnVuOl9aTlN0NnZlY3RvcklTc1NhSVNzRUUxM19NX2luc2VydF9hdXhF
TjlfX2dudV9jeHgxN19fbm9ybWFsX2l0ZXJhdG9ySVBTc1MxX0VFUktTcworICAgZnVuOl9aTlN0
NnZlY3RvcklTc1NhSVNzRUU5cHVzaF9iYWNrRVJLU3MKKyAgIGZ1bjpfWk40YmFzZUwxMlNwbGl0
U3RyaW5nVElTc0VFdlJLVF9OUzFfMTB2YWx1ZV90eXBlRWJQU3Q2dmVjdG9ySVMxX1NhSVMxX0VF
Cit9CisKK3sKKyAgIGJ1Z18xMjI3MTdfbGVhaworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICBmdW46X1pONGJhc2U4aW50ZXJuYWwyMFBvc3RUYXNrQW5kUmVwbHlJbXBsMTZQb3N0
VGFza0FuZFJlcGx5RVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNr
SUZ2dkVFRVNBXworICAgZnVuOl9aTjRiYXNlMTBUYXNrUnVubmVyMTZQb3N0VGFza0FuZFJlcGx5
RVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVM5Xwor
ICAgZnVuOl9aTjdjb250ZW50MTNCcm93c2VyVGhyZWFkMTZQb3N0VGFza0FuZFJlcGx5RU5TMF8y
SURFUktOMTV0cmFja2VkX29iamVjdHM4TG9jYXRpb25FUktONGJhc2U4Q2FsbGJhY2tJRnZ2RUVF
U0JfCisgICBmdW46X1pONWdkYXRhMTVHRGF0YUZpbGVTeXN0ZW0zN1Bvc3RCbG9ja2luZ1Bvb2xT
ZXF1ZW5jZWRUYXNrQW5kUmVwbHlFUktTc1JLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVJL
TjRiYXNlOENhbGxiYWNrSUZ2dkVFRVNDXworICAgZnVuOl9aTjVnZGF0YTE1R0RhdGFGaWxlU3lz
dGVtMjlQb3N0QmxvY2tpbmdQb29sU2VxdWVuY2VkVGFza0VSS1NzUktOMTV0cmFja2VkX29iamVj
dHM4TG9jYXRpb25FUktONGJhc2U4Q2FsbGJhY2tJRnZ2RUVFCisgICBmdW46X1pONWdkYXRhMTVH
RGF0YUZpbGVTeXN0ZW04U2F2ZUZlZWRFMTBzY29wZWRfcHRySU40YmFzZTVWYWx1ZUVFKgorICAg
ZnVuOl9aTjVnZGF0YTE1R0RhdGFGaWxlU3lzdGVtMTRPbkdldERvY3VtZW50c0VQTlMwXzE4R2V0
RG9jdW1lbnRzUGFyYW1zRU5TXzE0R0RhdGFFcnJvckNvZGVFMTBzY29wZWRfcHRySU40YmFzZTVW
YWx1ZUVFCit9Cit7CisgICBidWdfMTIyNzMzCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
dyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4MTNuZXdfYWxsb2NhdG9ySU5TXzE1X0hhc2h0YWJsZV9u
b2RlSVNzRUVFOGFsbG9jYXRlRW1QS3YKKyAgIGZ1bjpfWk45X19nbnVfY3h4OWhhc2h0YWJsZUlT
c1NzTlNfNGhhc2hJU3NFRVN0OV9JZGVudGl0eUlTc0VTdDhlcXVhbF90b0lTc0VTYUlTc0VFMTFf
TV9nZXRfbm9kZUV2CisgICBmdW46X1pOOV9fZ251X2N4eDloYXNodGFibGVJU3NTc05TXzRoYXNo
SVNzRUVTdDlfSWRlbnRpdHlJU3NFU3Q4ZXF1YWxfdG9JU3NFU2FJU3NFRTExX01fbmV3X25vZGVF
UktTcworICAgZnVuOl9aTjlfX2dudV9jeHg5aGFzaHRhYmxlSVNzU3NOU180aGFzaElTc0VFU3Q5
X0lkZW50aXR5SVNzRVN0OGVxdWFsX3RvSVNzRVNhSVNzRUUyMmluc2VydF91bmlxdWVfbm9yZXNp
emVFUktTcworICAgZnVuOl9aTjlfX2dudV9jeHg5aGFzaHRhYmxlSVNzU3NOU180aGFzaElTc0VF
U3Q5X0lkZW50aXR5SVNzRVN0OGVxdWFsX3RvSVNzRVNhSVNzRUUxM2luc2VydF91bmlxdWVFUktT
cworICAgZnVuOl9aTjlfX2dudV9jeHg4aGFzaF9zZXRJU3NOU180aGFzaElTc0VFU3Q4ZXF1YWxf
dG9JU3NFU2FJU3NFRTZpbnNlcnRFUktTcworICAgZnVuOl9aTjEzc2FmZV9icm93c2luZzZTY29y
ZXI2Q3JlYXRlRVJLTjRiYXNlMTZCYXNpY1N0cmluZ1BpZWNlSVNzRUUKKyAgIGZ1bjpfWk4xM3Nh
ZmVfYnJvd3NpbmcyNFBoaXNoaW5nQ2xhc3NpZmllckZpbHRlcjE4T25TZXRQaGlzaGluZ01vZGVs
RVJLU3MKK30KK3sKKyAgIGJ1Z18xMjI3MzNiCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
dyoKKyAgIC4uLgorICAgZnVuOl9aTjEzc2FmZV9icm93c2luZzE1Q2xpZW50U2lkZU1vZGVsMjdN
ZXJnZVBhcnRpYWxGcm9tQ29kZWRTdHJlYW1FUE42Z29vZ2xlOHByb3RvYnVmMmlvMTZDb2RlZElu
cHV0U3RyZWFtRQorICAgZnVuOl9aTjZnb29nbGU4cHJvdG9idWYxMU1lc3NhZ2VMaXRlMTRQYXJz
ZUZyb21BcnJheUVQS3ZpCisgICBmdW46X1pOMTNzYWZlX2Jyb3dzaW5nNlNjb3JlcjZDcmVhdGVF
UktONGJhc2UxNkJhc2ljU3RyaW5nUGllY2VJU3NFRQorICAgZnVuOl9aTjEzc2FmZV9icm93c2lu
ZzI0UGhpc2hpbmdDbGFzc2lmaWVyRmlsdGVyMThPblNldFBoaXNoaW5nTW9kZWxFUktTcworfQor
Cit7CisgICBidWdfMTIzMzA3CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBm
dW46X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICBmdW46X1pOM1dURjE2ZmFzdFplcm9lZE1hbGxv
Y0VtCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTEyX0dMT0JBTF9fTl8xMTFWOE9iamVjdE1h
cElOMnY4Nk9iamVjdEVqRTNzZXRFUktOUzJfNkhhbmRsZUlTM19FRVJLagorICAgZnVuOl9aTjdX
ZWJDb3JlMTJfR0xPQkFMX19OXzExMFNlcmlhbGl6ZXIxMGdyZXlPYmplY3RFUktOMnY4NkhhbmRs
ZUlOUzJfNk9iamVjdEVFRQorICAgZnVuOl9aTjdXZWJDb3JlMTJfR0xPQkFMX19OXzExMFNlcmlh
bGl6ZXIxMWRvU2VyaWFsaXplRU4ydjg2SGFuZGxlSU5TMl81VmFsdWVFRUVQTlMxXzlTdGF0ZUJh
c2VFCisgICBmdW46X1pON1dlYkNvcmUxMl9HTE9CQUxfX05fMTEwU2VyaWFsaXplcjlzZXJpYWxp
emVFTjJ2ODZIYW5kbGVJTlMyXzVWYWx1ZUVFRQorICAgZnVuOl9aTjdXZWJDb3JlMjFTZXJpYWxp
emVkU2NyaXB0VmFsdWVDMUVOMnY4NkhhbmRsZUlOUzFfNVZhbHVlRUVFUE4zV1RGNlZlY3RvcklO
UzVfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVFTG0xRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJh
eUJ1ZmZlckVFRUxtMUVFRVJiCisgICBmdW46X1pON1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTZjcmVhdGVFTjJ2ODZIYW5kbGVJTlMxXzVWYWx1ZUVFRVBOM1dURjZWZWN0b3JJTlM1XzZS
ZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZm
ZXJFRUVMbTFFRUVSYgorICAgZnVuOl9aTjdXZWJDb3JlTDI1aGFuZGxlUG9zdE1lc3NhZ2VDYWxs
YmFja0VSS04ydjg5QXJndW1lbnRzRWIKKyAgIGZ1bjpfWk43V2ViQ29yZTExVjhET01XaW5kb3cx
OXBvc3RNZXNzYWdlQ2FsbGJhY2tFUktOMnY4OUFyZ3VtZW50c0UKKyAgIGZ1bjpfWk4ydjg4aW50
ZXJuYWxMMTlIYW5kbGVBcGlDYWxsSGVscGVySUxiMEVFRVBOUzBfMTFNYXliZU9iamVjdEVOUzBf
MTJfR0xPQkFMX19OXzExNkJ1aWx0aW5Bcmd1bWVudHNJTE5TMF8yMUJ1aWx0aW5FeHRyYUFyZ3Vt
ZW50c0UxRUVFUE5TMF83SXNvbGF0ZUUKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWxMMjFCdWlsdGlu
X0hhbmRsZUFwaUNhbGxFTlMwXzEyX0dMT0JBTF9fTl8xMTZCdWlsdGluQXJndW1lbnRzSUxOUzBf
MjFCdWlsdGluRXh0cmFBcmd1bWVudHNFMUVFRVBOUzBfN0lzb2xhdGVFCit9Cit7CisgICBidWdf
MTI0MTU2CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4yNlNpbXBs
ZVJlc291cmNlTG9hZGVyQnJpZGdlNkNyZWF0ZUVSS04xMXdlYmtpdF9nbHVlMjBSZXNvdXJjZUxv
YWRlckJyaWRnZTExUmVxdWVzdEluZm9FCisgICBmdW46X1pOMjVUZXN0V2ViS2l0UGxhdGZvcm1T
dXBwb3J0MjBDcmVhdGVSZXNvdXJjZUxvYWRlckVSS04xMXdlYmtpdF9nbHVlMjBSZXNvdXJjZUxv
YWRlckJyaWRnZTExUmVxdWVzdEluZm9FCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTE2V2ViVVJM
TG9hZGVySW1wbDdDb250ZXh0NVN0YXJ0RVJLTjZXZWJLaXQxM1dlYlVSTFJlcXVlc3RFUE5TXzIw
UmVzb3VyY2VMb2FkZXJCcmlkZ2UxNlN5bmNMb2FkUmVzcG9uc2VFUE5TXzI1V2ViS2l0UGxhdGZv
cm1TdXBwb3J0SW1wbEUKKyAgIGZ1bjpfWk4xMXdlYmtpdF9nbHVlMTZXZWJVUkxMb2FkZXJJbXBs
MThsb2FkQXN5bmNocm9ub3VzbHlFUktONldlYktpdDEzV2ViVVJMUmVxdWVzdEVQTlMxXzE4V2Vi
VVJMTG9hZGVyQ2xpZW50RQorICAgZnVuOl9aTjdXZWJDb3JlMjJSZXNvdXJjZUhhbmRsZUludGVy
bmFsNXN0YXJ0RXYKK30KK3sKKyAgIGJ1Z18xMjQ0ODgKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjptYWxsb2MKKyAgIGZ1bjpzdHJkdXAKKyAgIC4uLgorICAgZnVuOl9aTjM0Q29weVRleHR1cmVD
SFJPTUlVTVJlc291cmNlTWFuYWdlcjEwSW5pdGlhbGl6ZUV2CisgICBmdW46X1pOM2dwdTVnbGVz
MjE2R0xFUzJEZWNvZGVySW1wbDEwSW5pdGlhbGl6ZUVSSzEzc2NvcGVkX3JlZnB0cklOM2dmeDlH
TFN1cmZhY2VFRVJLUzJfSU5TM185R0xDb250ZXh0RUVSS05TM180U2l6ZUVSS05TMF8xOERpc2Fs
bG93ZWRGZWF0dXJlc0VQS2NSS1N0NnZlY3RvcklpU2FJaUVFCisgICBmdW46X1pONndlYmtpdDNn
cHUxOEdMSW5Qcm9jZXNzQ29udGV4dDEwSW5pdGlhbGl6ZUVSS04zZ2Z4NFNpemVFUFMxX1BLY1BL
aU5TMl8xM0dwdVByZWZlcmVuY2VFCisgICBmdW46X1pONndlYmtpdDNncHUxOEdMSW5Qcm9jZXNz
Q29udGV4dDIyQ3JlYXRlT2Zmc2NyZWVuQ29udGV4dEVQUzFfUktOM2dmeDRTaXplRVMyX1BLY1BL
aU5TM18xM0dwdVByZWZlcmVuY2VFCisgICBmdW46X1pONndlYmtpdDNncHU0NldlYkdyYXBoaWNz
Q29udGV4dDNESW5Qcm9jZXNzQ29tbWFuZEJ1ZmZlckltcGwxMEluaXRpYWxpemVFTjZXZWJLaXQy
MFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRVBTM18KK30KK3sKKyAgIGJ1Z18xMjQ0
OTYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1pOOG5v
dGlmaWVyMjZQcm94eVJlc29sdmluZ0NsaWVudFNvY2tldDIzUHJvY2Vzc1Byb3h5UmVzb2x2ZURv
bmVFaQorfQoreworICAgYnVnXzEyNDUwMAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcklONndlYmtpdDE3V2ViUGx1Z2lu
TWltZVR5cGVFRThhbGxvY2F0ZUVtUEt2CisgICBmdW46X1pOU3QxMl9WZWN0b3JfYmFzZUlONndl
YmtpdDE3V2ViUGx1Z2luTWltZVR5cGVFU2FJUzFfRUUxMV9NX2FsbG9jYXRlRW0KKyAgIGZ1bjpf
Wk5TdDZ2ZWN0b3JJTjZ3ZWJraXQxN1dlYlBsdWdpbk1pbWVUeXBlRVNhSVMxX0VFMTNfTV9pbnNl
cnRfYXV4RU45X19nbnVfY3h4MTdfX25vcm1hbF9pdGVyYXRvcklQUzFfUzNfRUVSS1MxXworICAg
ZnVuOl9aTlN0NnZlY3RvcklONndlYmtpdDE3V2ViUGx1Z2luTWltZVR5cGVFU2FJUzFfRUU5cHVz
aF9iYWNrRVJLUzFfCisgICBmdW46X1pONndlYmtpdDVucGFwaTlQbHVnaW5MaWIyMFBhcnNlTUlN
RURlc2NyaXB0aW9uRVJLU3NQU3Q2dmVjdG9ySU5TXzE3V2ViUGx1Z2luTWltZVR5cGVFU2FJUzVf
RUUKKyAgIGZ1bjpfWk42d2Via2l0NW5wYXBpOVBsdWdpbkxpYjE3UmVhZFdlYlBsdWdpbkluZm9F
KgorICAgZnVuOl9aTjZ3ZWJraXQ1bnBhcGkxMFBsdWdpbkxpc3QxNFJlYWRQbHVnaW5JbmZvRSoK
KyAgIGZ1bjpfWk42d2Via2l0NW5wYXBpMTBQbHVnaW5MaXN0MTBMb2FkUGx1Z2luRSoKKyAgIGZ1
bjpfWk4xN1V0aWxpdHlUaHJlYWRJbXBsMTNPbkxvYWRQbHVnaW5zRSoKK30KK3sKKyAgIGJ1Z18x
Mjc3MTYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjNnZng1SW1h
Z2VDMUVSSzhTa0JpdG1hcAorICAgZnVuOl9aTjE2QnJvd3NlclRoZW1lUGFjazE2TG9hZFJhd0Jp
dG1hcHNUb0UqCisgICBmdW46X1pOMTZCcm93c2VyVGhlbWVQYWNrMThCdWlsZEZyb21FeHRlbnNp
b25FUEs5RXh0ZW5zaW9uCisgICBmdW46X1pONDVCcm93c2VyVGhlbWVQYWNrVGVzdF9DYW5CdWls
ZEFuZFJlYWRQYWNrX1Rlc3Q4VGVzdEJvZHlFdgorfQoreworICAgYnVnXzEzMDM2MgorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTJpbnZhbGlkYXRpb24yME5ld1Bl
cm1hbmVudENhbGxiYWNrSU5TXzIySW52YWxpZGF0aW9uQ2xpZW50SW1wbEVTMV9TdDRwYWlySU5T
XzZTdGF0dXNFU3NFRUVQTjRiYXNlOENhbGxiYWNrSUZ2VDFfRUVFUFRfTVQwX0Z2UzdfRQorICAg
ZnVuOl9aTjEyaW52YWxpZGF0aW9uMjJJbnZhbGlkYXRpb25DbGllbnRJbXBsMzRTY2hlZHVsZVN0
YXJ0QWZ0ZXJSZWFkaW5nU3RhdGVCbG9iRXYKKyAgIGZ1bjpfWk4xMmludmFsaWRhdGlvbjIySW52
YWxpZGF0aW9uQ2xpZW50SW1wbDVTdGFydEV2CisgICBmdW46X1pONnN5bmNlcjI0U3luY0ludmFs
aWRhdGlvbkxpc3RlbmVyNVN0YXJ0RVJLU3NTMl9TMl9SS1N0M21hcElOOHN5bmNhYmxlOU1vZGVs
VHlwZUVsU3Q0bGVzc0lTNV9FU2FJU3Q0cGFpcklLUzVfbEVFRVJLTjEyYnJvd3Nlcl9zeW5jMTBX
ZWFrSGFuZGxlSU5TXzI0SW52YWxpZGF0aW9uU3RhdGVUcmFja2VyRUVFUE5TMF84TGlzdGVuZXJF
UE5TXzExU3RhdGVXcml0ZXJFCisgICBmdW46X1pONnN5bmNlcjIwSW52YWxpZGF0aW9uTm90aWZp
ZXIxN1VwZGF0ZUNyZWRlbnRpYWxzRVJLU3NTMl8KKyAgIGZ1bjpfWk42c3luY2VyMzFOb25CbG9j
a2luZ0ludmFsaWRhdGlvbk5vdGlmaWVyNENvcmUxN1VwZGF0ZUNyZWRlbnRpYWxzRVJLU3NTM18K
K30KK3sKKyAgIGJ1Z18xMzA0NDkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
ZnVuOl9aTjEyaW52YWxpZGF0aW9uMjBOZXdQZXJtYW5lbnRDYWxsYmFja0lOU18yMkludmFsaWRh
dGlvbkNsaWVudEltcGxFUzFfU3Q0cGFpcklOU182U3RhdHVzRVNzRUVFUE40YmFzZThDYWxsYmFj
a0lGdlQxX0VFRVBUX01UMF9GdlM3X0UKKyAgIGZ1bjpfWk4xMmludmFsaWRhdGlvbjIySW52YWxp
ZGF0aW9uQ2xpZW50SW1wbDM0U2NoZWR1bGVTdGFydEFmdGVyUmVhZGluZ1N0YXRlQmxvYkV2Cisg
ICBmdW46X1pOMTJpbnZhbGlkYXRpb24yMkludmFsaWRhdGlvbkNsaWVudEltcGw1U3RhcnRFdgor
ICAgZnVuOl9aTjZzeW5jZXIyNFN5bmNJbnZhbGlkYXRpb25MaXN0ZW5lcjVTdGFydEVSS1NzUzJf
UzJfUktTdDNtYXBJTjhzeW5jYWJsZTlNb2RlbFR5cGVFbFN0NGxlc3NJUzVfRVNhSVN0NHBhaXJJ
S1M1X2xFRUVSS04xMmJyb3dzZXJfc3luYzEwV2Vha0hhbmRsZUlOU18yNEludmFsaWRhdGlvblN0
YXRlVHJhY2tlckVFRVBOUzBfOExpc3RlbmVyRQorICAgZnVuOl9aTjZzeW5jZXIyMEludmFsaWRh
dGlvbk5vdGlmaWVyMTdVcGRhdGVDcmVkZW50aWFsc0VSS1NzUzJfCisgICBmdW46X1pONnN5bmNl
cjMxTm9uQmxvY2tpbmdJbnZhbGlkYXRpb25Ob3RpZmllcjRDb3JlMTdVcGRhdGVDcmVkZW50aWFs
c0VSS1NzUzNfCit9Cit7CisgICBidWdfMTMwNjE5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZTlDbGlwUmVjdHM2Y3JlYXRlRVJLUzBfCisgICBmdW46
X1pON1dlYkNvcmUxMVJlbmRlckxheWVyMTV1cGRhdGVDbGlwUmVjdHNFUEtTMF9QTlNfMTJSZW5k
ZXJSZWdpb25FTlNfMTNDbGlwUmVjdHNUeXBlRU5TXzI5T3ZlcmxheVNjcm9sbGJhclNpemVSZWxl
dmFuY3lFCisgICAuLi4KKyAgIGZ1bjpfWk5LN1dlYkNvcmUxMVJlbmRlckxheWVyMTVwYXJlbnRD
bGlwUmVjdHNFUEtTMF9QTlNfMTJSZW5kZXJSZWdpb25FTlNfMTNDbGlwUmVjdHNUeXBlRVJOU185
Q2xpcFJlY3RzRU5TXzI5T3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3lFCisgICBmdW46X1pO
SzdXZWJDb3JlMTFSZW5kZXJMYXllcjE4YmFja2dyb3VuZENsaXBSZWN0RVBLUzBfUE5TXzEyUmVu
ZGVyUmVnaW9uRU5TXzEzQ2xpcFJlY3RzVHlwZUVOU18yOU92ZXJsYXlTY3JvbGxiYXJTaXplUmVs
ZXZhbmN5RQorfQorCit7CisgICBidWdfMTM4MjMzX2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGMTBS
ZWZDb3VudGVkSU43V2ViQ29yZTE3U2NyaXB0UHJvZmlsZU5vZGVFRW53RW0KKyAgIGZ1bjpfWk43
V2ViQ29yZTE3U2NyaXB0UHJvZmlsZU5vZGU2Y3JlYXRlRVBLTjJ2ODE0Q3B1UHJvZmlsZU5vZGVF
CisgICBmdW46X1pOSzdXZWJDb3JlMTNTY3JpcHRQcm9maWxlNGhlYWRFdgorICAgZnVuOl9aTjdX
ZWJDb3JlMjNTY3JpcHRQcm9maWxlVjhJbnRlcm5hbEwxNGhlYWRBdHRyR2V0dGVyRU4ydjg1TG9j
YWxJTlMxXzZTdHJpbmdFRUVSS05TMV8xMkFjY2Vzc29ySW5mb0UKKyAgIGZ1bjpfWk4ydjg4aW50
ZXJuYWw4SlNPYmplY3QyM0dldFByb3BlcnR5V2l0aENhbGxiYWNrRVBOUzBfNk9iamVjdEVTM19Q
TlMwXzZTdHJpbmdFCisgICBmdW46X1pOMnY4OGludGVybmFsNk9iamVjdDExR2V0UHJvcGVydHlF
UFMxX1BOUzBfMTJMb29rdXBSZXN1bHRFUE5TMF82U3RyaW5nRVAxOFByb3BlcnR5QXR0cmlidXRl
cworICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDZMb2FkSUM0TG9hZEVOUzBfMTZJbmxpbmVDYWNoZVN0
YXRlRU5TMF82SGFuZGxlSU5TMF82T2JqZWN0RUVFTlMzX0lOUzBfNlN0cmluZ0VFRQorICAgZnVu
Ol9aTjJ2ODhpbnRlcm5hbDExTG9hZElDX01pc3NFTlMwXzlBcmd1bWVudHNFUE5TMF83SXNvbGF0
ZUUKK30KK3sKKyAgIGJ1Z18xMzgyMzNfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxv
YworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50
ZWRJTjdXZWJDb3JlMTdTY3JpcHRQcm9maWxlTm9kZUVFbndFbQorICAgZnVuOl9aTjdXZWJDb3Jl
MTdTY3JpcHRQcm9maWxlTm9kZTZjcmVhdGVFUEtOMnY4MTRDcHVQcm9maWxlTm9kZUUKKyAgIGZ1
bjpfWk5LN1dlYkNvcmUxN1NjcmlwdFByb2ZpbGVOb2RlOGNoaWxkcmVuRXYKKyAgIGZ1bjpfWk43
V2ViQ29yZTI3U2NyaXB0UHJvZmlsZU5vZGVWOEludGVybmFsTDE2Y2hpbGRyZW5DYWxsYmFja0VS
S04ydjg5QXJndW1lbnRzRQorfQorCit7CisgICBidWdfMTM4NTIyCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZTIzdjhTdHJpbmdUb1dlYkNvcmVTdHJp
bmdJTjNXVEYxMkF0b21pY1N0cmluZ0VFRVRfTjJ2ODZIYW5kbGVJTlM0XzZTdHJpbmdFRUVOU18x
MkV4dGVybmFsTW9kZUUKKyAgIGZ1bjpfWk43V2ViQ29yZSpWOFN0cmluZ1Jlc291cmNlSUxOU18y
MFY4U3RyaW5nUmVzb3VyY2VNb2RlKgorICAgLi4uCisgICBmdW46X1pON1dlYkNvcmUyM1dvcmtl
ckNvbnRleHRWOEludGVybmFsTDIyYWRkRXZlbnRMaXN0ZW5lck1ldGhvZEVSS04ydjg5QXJndW1l
bnRzRQorfQorCit7CisgICBidWdfMTYwODkgV29ya2VyUG9vbCB0aHJlYWRzIGFuZCBpdHMgdGFz
a3MgY2FuIGxlYWsgYnkgZGVzaWduCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IGZ1bjpfWk40YmFzZTIyUG9zaXhEeW5hbWljVGhyZWFkUG9vbDdBZGRUYXNrRVBOU18xMVBlbmRp
bmdUYXNrRQorICAgZnVuOl9aTjRiYXNlMjJQb3NpeER5bmFtaWNUaHJlYWRQb29sOFBvc3RUYXNr
KgorfQorCit7CisgICBidWdfMTM5NDcwCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk43V2ViQ29yZTIyVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTE3dW5yZWdpc3RlckJs
b2JVUkxFUktOU180S1VSTEUKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlMTVXcmFwcGVyVHlw
ZUluZm8xMWRlcmVmT2JqZWN0RVB2CisgICBmdW46X1pON1dlYkNvcmU3RE9NRGF0YTExZGVyZWZP
YmplY3RFUE5TXzE1V3JhcHBlclR5cGVJbmZvRVB2CisgICBmdW46X1pON1dlYkNvcmU3RE9NRGF0
YTIzV3JhcHBlck1hcE9iamVjdFJlbW92ZXJJdkUxNXZpc2l0RE9NV3JhcHBlckVQTlNfMTJET01E
YXRhU3RvcmVFUHZOMnY4MTBQZXJzaXN0ZW50SU5TNl82T2JqZWN0RUVFCisgICBmdW46X1pON1dl
YkNvcmUxNldlYWtSZWZlcmVuY2VNYXBJdk4ydjg2T2JqZWN0RUU1dmlzaXRFUE5TXzEyRE9NRGF0
YVN0b3JlRVBOU18yNEFic3RyYWN0V2Vha1JlZmVyZW5jZU1hcEl2UzJfRTdWaXNpdG9yRQorICAg
ZnVuOl9aTjdXZWJDb3JlN0RPTURhdGEyN3JlbW92ZU9iamVjdHNGcm9tV3JhcHBlck1hcEl2RUV2
UE5TXzEyRE9NRGF0YVN0b3JlRVJOU18yNEFic3RyYWN0V2Vha1JlZmVyZW5jZU1hcElUX04ydjg2
T2JqZWN0RUVFCisgICBmdW46X1pON1dlYkNvcmUxOXJlbW92ZUFsbERPTU9iamVjdHNFdgorICAg
ZnVuOl9aTjdXZWJDb3JlMjJXb3JrZXJTY3JpcHRDb250cm9sbGVyRDFFdgorICAgZnVuOl9aTjNX
VEYxNGRlbGV0ZU93bmVkUHRySU43V2ViQ29yZTIyV29ya2VyU2NyaXB0Q29udHJvbGxlckVFRXZQ
VF8KKyAgIGZ1bjpfWk4zV1RGNk93blB0cklON1dlYkNvcmUyMldvcmtlclNjcmlwdENvbnRyb2xs
ZXJFRTVjbGVhckV2CisgICBmdW46X1pON1dlYkNvcmUxM1dvcmtlckNvbnRleHQxMWNsZWFyU2Ny
aXB0RXYKKyAgIGZ1bjpfWk43V2ViQ29yZTMwV29ya2VyVGhyZWFkU2h1dGRvd25GaW5pc2hUYXNr
MTFwZXJmb3JtVGFza0VQTlNfMjJTY3JpcHRFeGVjdXRpb25Db250ZXh0RQorICAgZnVuOl9aTjdX
ZWJDb3JlMTNXb3JrZXJSdW5Mb29wNFRhc2sxMXBlcmZvcm1UYXNrRVJLUzBfUE5TXzIyU2NyaXB0
RXhlY3V0aW9uQ29udGV4dEUKKyAgIGZ1bjpfWk43V2ViQ29yZTEzV29ya2VyUnVuTG9vcDlydW5J
bk1vZGVFUE5TXzEzV29ya2VyQ29udGV4dEVSS05TXzEzTW9kZVByZWRpY2F0ZUVOUzBfOFdhaXRN
b2RlRQorICAgZnVuOl9aTjdXZWJDb3JlMTNXb3JrZXJSdW5Mb29wM3J1bkVQTlNfMTNXb3JrZXJD
b250ZXh0RQorICAgZnVuOl9aTjdXZWJDb3JlMTJXb3JrZXJUaHJlYWQxMnJ1bkV2ZW50TG9vcEV2
CisgICBmdW46X1pON1dlYkNvcmUyMURlZGljYXRlZFdvcmtlclRocmVhZDEycnVuRXZlbnRMb29w
RXYKK30KKworeworICAgYnVnXzEzOTk5NgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pON1dlYkNvcmUyM3Y4U3RyaW5nVG9XZWJDb3JlU3RyaW5nSU4zV1RGNlN0cmlu
Z0VFRVRfTjJ2ODZIYW5kbGVJTlM0XzZTdHJpbmdFRUVOU18xMkV4dGVybmFsTW9kZUUKKyAgIGZ1
bjpfWk43V2ViQ29yZTE1dG9XZWJDb3JlU3RyaW5nRU4ydjg2SGFuZGxlSU5TMF81VmFsdWVFRUUK
KyAgIGZ1bjpfWk43V2ViQ29yZTZWOEJsb2IxOWNvbnN0cnVjdG9yQ2FsbGJhY2tFUktOMnY4OUFy
Z3VtZW50c0UKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWxMMTlIYW5kbGVBcGlDYWxsSGVscGVySUxi
MUVFRVBOUzBfMTFNYXliZU9iamVjdEVOUzBfMTJfR0xPQkFMX19OXzExNkJ1aWx0aW5Bcmd1bWVu
dHNJTE5TMF8yMUJ1aWx0aW5FeHRyYUFyZ3VtZW50c0UxRUVFUE5TMF83SXNvbGF0ZUUKKyAgIGZ1
bjpfWk4ydjg4aW50ZXJuYWxMMzBCdWlsdGluX0hhbmRsZUFwaUNhbGxDb25zdHJ1Y3RFTlMwXzEy
X0dMT0JBTF9fTl8xMTZCdWlsdGluQXJndW1lbnRzSUxOUzBfMjFCdWlsdGluRXh0cmFBcmd1bWVu
dHNFMUVFRVBOUzBfN0lzb2xhdGVFCit9Cit7CisgICBidWdfMTM5OTk4CisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46KmFsbG9jCisgICAuLi4KKyAgIGZ1bjpfWkwyM2xpbmtfaW50cmFzdGFnZV9z
aGFkZXJzUDE0X19HTGNvbnRleHRSZWNQMTdnbF9zaGFkZXJfcHJvZ3JhbVBQOWdsX3NoYWRlcmoK
KyAgIGZ1bjpfWjEybGlua19zaGFkZXJzUDE0X19HTGNvbnRleHRSZWNQMTdnbF9zaGFkZXJfcHJv
Z3JhbQorICAgZnVuOl9tZXNhX2dsc2xfbGlua19zaGFkZXIKKyAgIGZ1bjpsaW5rX3Byb2dyYW0K
KyAgIGZ1bjpfbWVzYV9MaW5rUHJvZ3JhbUFSQgorICAgZnVuOmdsTGlua1Byb2dyYW0KKyAgIC4u
LgorICAgZnVuOl9aTjNncHU1Z2xlczIxNkdMRVMyRGVjb2RlckltcGwxM0RvTGlua1Byb2dyYW1F
agorICAgZnVuOl9aTjNncHU1Z2xlczIxNkdMRVMyRGVjb2RlckltcGwxN0hhbmRsZUxpbmtQcm9n
cmFtKgorICAgZnVuOl9aTjNncHU1Z2xlczIxNkdMRVMyRGVjb2RlckltcGw5RG9Db21tYW5kRWpq
UEt2CisgICBmdW46X1pOM2dwdTEzQ29tbWFuZFBhcnNlcjE0UHJvY2Vzc0NvbW1hbmRFdgorICAg
ZnVuOl9aTjNncHUxMkdwdVNjaGVkdWxlcjEwUHV0Q2hhbmdlZEV2CisgICBmdW46X1pONndlYmtp
dDNncHUxOEdMSW5Qcm9jZXNzQ29udGV4dDEyUHVtcENvbW1hbmRzRXYKK30KKworeworICAgYnVn
XzE0NDkxMworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOOGNocm9t
ZW9zMzBCbHVldG9vdGhBZGFwdGVyQ2xpZW50U3R1YkltcGxDMUV2CisgICBmdW46X1pOOGNocm9t
ZW9zMjJCbHVldG9vdGhBZGFwdGVyQ2xpZW50NkNyZWF0ZUVOU18yOERCdXNDbGllbnRJbXBsZW1l
bnRhdGlvblR5cGVFUE40ZGJ1czNCdXNFUE5TXzIyQmx1ZXRvb3RoTWFuYWdlckNsaWVudEUKKyAg
IGZ1bjpfWk44Y2hyb21lb3MyMURCdXNUaHJlYWRNYW5hZ2VySW1wbEMxRU5TXzI4REJ1c0NsaWVu
dEltcGxlbWVudGF0aW9uVHlwZUUKKyAgIGZ1bjpfWk44Y2hyb21lb3MxN0RCdXNUaHJlYWRNYW5h
Z2VyMTBJbml0aWFsaXplRXYKKyAgIGZ1bjpfWk44Y2hyb21lb3MyM0tpb3NrTW9kZUlkbGVMb2dv
dXRUZXN0NVNldFVwRXYKK30KK3sKKyAgIGJ1Z18xNDQ5MTNfYgorICAgTWVtY2hlY2s6TGVhawor
ICAgZnVuOl9abncqCisgICBmdW46X1pOOGNocm9tZW9zMTdEQnVzVGhyZWFkTWFuYWdlcjEwSW5p
dGlhbGl6ZUV2CisgICBmdW46X1pOOGNocm9tZW9zMjNLaW9za01vZGVJZGxlTG9nb3V0VGVzdDVT
ZXRVcEV2Cit9Cit7CisgICBidWdfMTQ0OTEzX2MKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpf
Wm53KgorICAgLi4uCisgICBmdW46X1pOOGNocm9tZW9zMjFEQnVzVGhyZWFkTWFuYWdlckltcGxD
MUVOU18yOERCdXNDbGllbnRJbXBsZW1lbnRhdGlvblR5cGVFCisgICBmdW46X1pOOGNocm9tZW9z
MTdEQnVzVGhyZWFkTWFuYWdlcjEwSW5pdGlhbGl6ZUV2CisgICBmdW46X1pOOGNocm9tZW9zMjNL
aW9za01vZGVJZGxlTG9nb3V0VGVzdDVTZXRVcEV2Cit9Cit7CisgICBidWdfMTQ0OTMwCisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWkwyMGNhY2hlZFBhaW50THVtaW5h
bmNlZgorfQoreworICAgYnVnXzE0NDkzMF9iCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
dyoKKyAgIGZ1bjpfWkwyMWNhY2hlZERldmljZUx1bWluYW5jZWYKK30KKworeworICAgYnVnXzE0
NTY0NQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZh
c3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJDb3JlMThJbmplY3Rl
ZFNjcmlwdEhvc3RFRW53RW0KKyAgIGZ1bjpfWk43V2ViQ29yZTE4SW5qZWN0ZWRTY3JpcHRIb3N0
NmNyZWF0ZUV2CisgICBmdW46X1pON1dlYkNvcmUyMUluamVjdGVkU2NyaXB0TWFuYWdlckMxRVBG
YlBOU18xMVNjcmlwdFN0YXRlRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTIxSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyMTVjcmVhdGVGb3JXb3JrZXJFdgorICAgZnVuOl9aTjdXZWJDb3JlMjVXb3JrZXJJbnNw
ZWN0b3JDb250cm9sbGVyQzFFUE5TXzEzV29ya2VyQ29udGV4dEUKK30KKworeworICAgYnVnXzE0
NTcxMgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pONldlYktpdDI1
Tm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDE3cmVxdWVzdFBlcm1pc3Npb25FUE43V2ViQ29yZTIy
U2NyaSBwdEV4ZWN1dGlvbkNvbnRleHRFTjNXVEYxMFBhc3NSZWZQdHJJTlMxXzEyVm9pZENhbGxi
YWNrRUVFCisgICBmdW46X1pON1dlYkNvcmUxOE5vdGlmaWNhdGlvbkNlbnRlcjE3cmVxdWVzdFBl
cm1pc3Npb25FTjNXVEYxMFBhc3NSZWZQdHJJTlNfMSAyVm9pZENhbGxiYWNrRUVFCisgICBmdW46
X1pON1dlYkNvcmUyMFY4Tm90aWZpY2F0aW9uQ2VudGVyMjVyZXF1ZXN0UGVybWlzc2lvbkNhbGxi
YWNrRVJLTjJ2ODlBcmd1bSBlbnRzRQorfQorCisKK3sKKyAgIGJ1Z18xNDU3NDdhCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4yNFRyYW5zbGF0ZUluZm9CYXJEZWxl
Z2F0ZTE5Q3JlYXRlRXJyb3JEZWxlZ2F0ZUVOMTVUcmFuc2xhdGVFcnJvcnM0VHlwZUVQMTRJbmZv
QmFyU2VydmljZVAxMVByZWZTZXJ2aWNlUktTc1M3XworICAgZnVuOl9aTjE2VHJhbnNsYXRlTWFu
YWdlcjE0UGFnZVRyYW5zbGF0ZWRFUE43Y29udGVudDExV2ViQ29udGVudHNFUDIxUGFnZVRyYW5z
bGF0ZWREZXRhaWxzCisgICBmdW46X1pOMTZUcmFuc2xhdGVNYW5hZ2VyN09ic2VydmVFaVJLTjdj
b250ZW50MThOb3RpZmljYXRpb25Tb3VyY2VFUktOUzBfMTlOb3RpZmljYXRpb25EZXRhaWxzRQor
ICAgZnVuOl9aTjIzTm90aWZpY2F0aW9uU2VydmljZUltcGw2Tm90aWZ5RWlSS043Y29udGVudDE4
Tm90aWZpY2F0aW9uU291cmNlRVJLTlMwXzE5Tm90aWZpY2F0aW9uRGV0YWlsc0UKKyAgIGZ1bjpf
Wk4xOFRyYW5zbGF0ZVRhYkhlbHBlcjE2T25QYWdlVHJhbnNsYXRlZEVpUktTc1MxX04xNVRyYW5z
bGF0ZUVycm9yczRUeXBlRQorfQoreworICAgYnVnXzE0NTc0N2IKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjI0VHJhbnNsYXRlSW5mb0JhckRlbGVnYXRlMTlDcmVh
dGVFcnJvckRlbGVnYXRlRU4xNVRyYW5zbGF0ZUVycm9yczRUeXBlRVAxNEluZm9CYXJTZXJ2aWNl
UDExUHJlZlNlcnZpY2VSS1NzUzdfCisgICBmdW46X1pOMTZUcmFuc2xhdGVNYW5hZ2VyMThPblVS
TEZldGNoQ29tcGxldGVFUEtOM25ldDEwVVJMRmV0Y2hlckUKKyAgIGZ1bjpfWk4yMFRyYW5zbGF0
ZU1hbmFnZXJUZXN0MzFTaW11bGF0ZVRyYW5zbGF0ZVNjcmlwdFVSTEZldGNoRWIKK30KK3sKKyAg
IGJ1Z18xNDY0NjQKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisgICBmdW46YWRk
X2NvZGVzZXQuaXNyYS4xMAorICAgLi4uCisgICBmdW46WENyZWF0ZVBpeG1hcAorICAgZnVuOlhD
cmVhdGVCaXRtYXBGcm9tRGF0YQorICAgLi4uCisgICBmdW46X1pONGF1cmExOVJvb3RXaW5kb3dI
b3N0TGludXhDMUVQTlNfMjJSb290V2luZG93SG9zdERlbGVnYXRlRVJLTjNnZng0UmVjdEUKK30K
K3sKKyAgIGJ1Z18xNDY5NTAKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1
bjpnZXRfcGVlcl9zb2NrX25hbWUKKyAgIGZ1bjpfeGNiX2dldF9hdXRoX2luZm8KKyAgIGZ1bjp4
Y2JfY29ubmVjdF90b19kaXNwbGF5X3dpdGhfYXV0aF9pbmZvCisgICBmdW46X1hDb25uZWN0WENC
CisgICBmdW46WE9wZW5EaXNwbGF5CisgICBmdW46X1pONGJhc2UxOE1lc3NhZ2VQdW1wQXVyYVgx
MTE4R2V0RGVmYXVsdFhEaXNwbGF5RXYKK30KK3sKKyAgIGJ1Z18xNDc3NTVfYQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTJQbHVnaW5GaW5kZXIxOEdldFBsdWdp
bkluc3RhbGxlckVSS042d2Via2l0MTNXZWJQbHVnaW5JbmZvRQorICAgZnVuOl9aTjExUGx1Z2lu
UHJlZnMzMEVuYWJsZVBsdWdpbklmUG9zc2libGVDYWxsYmFja0UqCit9Cit7CisgICBidWdfMTQ3
NzU1X2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjEyUGx1Z2lu
RmluZGVyMTdHZXRQbHVnaW5NZXRhZGF0YUVSS042d2Via2l0MTNXZWJQbHVnaW5JbmZvRQorICAg
ZnVuOl9aTjExUGx1Z2luUHJlZnMxMkVuYWJsZVBsdWdpbkUqCisgICBmdW46X1pOMTVQbHVnaW5Q
cmVmc1Rlc3QyNUVuYWJsZVBsdWdpblN5bmNocm9ub3VzbHlFKgorICAgZnVuOl9aTjQ0UGx1Z2lu
UHJlZnNUZXN0X1VuaWZpZWRQZXBwZXJGbGFzaFN0YXRlX1Rlc3Q4VGVzdEJvZHlFdgorfQorCit7
CisgICBidWdfMTQ5NzM0YQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVu
Ol9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxNlZlY3RvckJ1ZmZlckJhc2VJ
TjdXZWJDb3JlOUF0dHJpYnV0ZUVFMTRhbGxvY2F0ZUJ1ZmZlckVtCisgICBmdW46X1pOM1dURjEy
VmVjdG9yQnVmZmVySU43V2ViQ29yZTlBdHRyaWJ1dGVFTG00RUUxNGFsbG9jYXRlQnVmZmVyRW0K
KyAgIGZ1bjpfWk4zV1RGNlZlY3RvcklON1dlYkNvcmU5QXR0cmlidXRlRUxtNEVFMjJyZXNlcnZl
SW5pdGlhbENhcGFjaXR5RW0KKyAgIGZ1bjpfWk43V2ViQ29yZTIwRWxlbWVudEF0dHJpYnV0ZURh
dGExM2Nsb25lRGF0YUZyb21FUktTMF9SS05TXzdFbGVtZW50RVJTM18KK30KK3sKKyAgIGJ1Z18x
NDk3MzRiCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEw
ZmFzdE1hbGxvY0VtCisgICBmdW46X1pOM1dURjE2VmVjdG9yQnVmZmVyQmFzZUlON1dlYkNvcmU5
QXR0cmlidXRlRUUxNGFsbG9jYXRlQnVmZmVyRW0KKyAgIGZ1bjpfWk4zV1RGMTJWZWN0b3JCdWZm
ZXJJTjdXZWJDb3JlOUF0dHJpYnV0ZUVMbTRFRTE0YWxsb2NhdGVCdWZmZXJFbQorICAgZnVuOl9a
TjNXVEY2VmVjdG9ySU43V2ViQ29yZTlBdHRyaWJ1dGVFTG00RUUxNXJlc2VydmVDYXBhY2l0eUVt
CisgICBmdW46X1pOM1dURjZWZWN0b3JJTjdXZWJDb3JlOUF0dHJpYnV0ZUVMbTRFRTE0ZXhwYW5k
Q2FwYWNpdHlFbQorICAgZnVuOl9aTjNXVEY2VmVjdG9ySU43V2ViQ29yZTlBdHRyaWJ1dGVFTG00
RUUxNGV4cGFuZENhcGFjaXR5RW1QS1MyXworICAgZnVuOl9aTjNXVEY2VmVjdG9ySU43V2ViQ29y
ZTlBdHRyaWJ1dGVFTG00RUUxNGFwcGVuZFNsb3dDYXNlSVMyX0VFdlJLVF8KKyAgIGZ1bjpfWk43
V2ViQ29yZTIwRWxlbWVudEF0dHJpYnV0ZURhdGExMmFkZEF0dHJpYnV0ZUVSS05TXzlBdHRyaWJ1
dGVFUE5TXzdFbGVtZW50RU5TXzMwU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlRQorfQor
Cit7CisgICBidWdfMTQ5NzQxYgorICAgTWVtY2hlY2s6RnJlZQorICAgLi4uCisgICBmdW46X1ox
MVNrU2FmZVVucmVmSTlTa1BhdGhSZWZFdlBUXworICAgZnVuOl9aTjEyU2tBdXRvVFVucmVmSTlT
a1BhdGhSZWZFRDFFdgorICAgZnVuOl9aTjZTa1BhdGhEMUV2CisgICBmdW46X1pOMTFTa0NsaXBT
dGFjazNSZWNEMUV2CisgICBmdW46X1pOMTFTa0NsaXBTdGFjazdyZXN0b3JlRXYKKyAgIGZ1bjpf
Wk44U2tDYW52YXMxNWludGVybmFsUmVzdG9yZUV2CisgICBmdW46X1pOOFNrQ2FudmFzN3Jlc3Rv
cmVFdgorICAgZnVuOl9aTjdXZWJDb3JlMTlQbGF0Zm9ybUNvbnRleHRTa2lhN3Jlc3RvcmVFdgor
fQorCit7CisgICBidWdfMTUwOTk1CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1puYSoKKyAg
IGZ1bjpfWk4xNHdlYmtpdF9zdXBwb3J0MTJfR0xPQkFMX19OXzExM0RvTGlicG5nV3JpdGUqCisg
ICBmdW46X1pOMTR3ZWJraXRfc3VwcG9ydDI2RW5jb2RlV2l0aENvbXByZXNzaW9uTGV2ZWwqCisg
ICBmdW46X1pOMTR3ZWJraXRfc3VwcG9ydDZFbmNvZGVFUEtoTlNfMTJfR0xPQkFMX19OXzExMUNv
bG9yRm9ybWF0KgorICAgZnVuOl9aTjE0d2Via2l0X3N1cHBvcnQyNUVuY29kZUJHUkFQTkdXaXRo
Q2hlY2tzdW0qCisgICBmdW46X1pOSzlUZXN0U2hlbGw5ZHVtcEltYWdlRVA4U2tDYW52YXMKKyAg
IGZ1bjpfWk45VGVzdFNoZWxsNGR1bXBFdgorICAgZnVuOl9aTjlUZXN0U2hlbGwxMnRlc3RGaW5p
c2hlZEVQMTFXZWJWaWV3SG9zdAorICAgZnVuOl9aTjExV2ViVmlld0hvc3QxMnRlc3RGaW5pc2hl
ZEV2CisgICBmdW46X1pOMTNXZWJUZXN0UnVubmVyMTBUZXN0UnVubmVyOVdvcmtRdWV1ZTE1cHJv
Y2Vzc1dvcmtTb29uRXYKK30KK3sKKyAgIGJ1Z18xNTEwMDYKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjptYWxsb2MKKyAgIGZ1bjp1cHJ2X21hbGxvY180NgorICAgZnVuOl9aTjZpY3VfNDY3VU1l
bW9yeW53RW0KKyAgIGZ1bjpfWk42aWN1XzQ2MTBEYXRlRm9ybWF0NmNyZWF0ZUVOUzBfNkVTdHls
ZUVTMV9SS05TXzZMb2NhbGVFCisgICBmdW46X1pONmljdV80NjEwRGF0ZUZvcm1hdDIyY3JlYXRl
RGF0ZVRpbWVJbnN0YW5jZUVOUzBfNkVTdHlsZUVTMV9SS05TXzZMb2NhbGVFCisgICBmdW46dWRh
dF9vcGVuXzQ2CisgICBmdW46X1pOSzdXZWJDb3JlOUxvY2FsZUlDVTE0b3BlbkRhdGVGb3JtYXRF
MTZVRGF0ZUZvcm1hdFN0eWxlUzFfCisgICBmdW46X1pON1dlYkNvcmU5TG9jYWxlSUNVMjRpbml0
aWFsaXplRGF0ZVRpbWVGb3JtYXRFdgorICAgZnVuOl9aTjdXZWJDb3JlOUxvY2FsZUlDVTE1c2hv
cnRUaW1lRm9ybWF0RXYKKyAgIGZ1bjpfWk43V2ViQ29yZTE5RGF0ZVRpbWVFZGl0RWxlbWVudDZs
YXlvdXRFUktOU185U3RlcFJhbmdlRVJLTlNfMTREYXRlQ29tcG9uZW50c0VSTlNfOUxvY2FsaXpl
ckUKKyAgIGZ1bjpfWk43V2ViQ29yZTE5RGF0ZVRpbWVFZGl0RWxlbWVudDEzc2V0RW1wdHlWYWx1
ZUVSS05TXzlTdGVwUmFuZ2VFUktOU18xNERhdGVDb21wb25lbnRzRVJOU185TG9jYWxpemVyRQor
ICAgZnVuOl9aTjdXZWJDb3JlMTNUaW1lSW5wdXRUeXBlMjB1cGRhdGVJbm5lclRleHRWYWx1ZUV2
CisgICBmdW46X1pON1dlYkNvcmUxM1RpbWVJbnB1dFR5cGUxOWNyZWF0ZVNoYWRvd1N1YnRyZWVF
dgorICAgZnVuOl9aTjdXZWJDb3JlMTZIVE1MSW5wdXRFbGVtZW50MTB1cGRhdGVUeXBlRXYKKyAg
IGZ1bjpfWk43V2ViQ29yZTE2SFRNTElucHV0RWxlbWVudDE0cGFyc2VBdHRyaWJ1dGVFUktOU185
QXR0cmlidXRlRQorICAgZnVuOl9aTjdXZWJDb3JlN0VsZW1lbnQxNmF0dHJpYnV0ZUNoYW5nZWRF
UktOU185QXR0cmlidXRlRQorICAgZnVuOl9aTjdXZWJDb3JlMTNTdHlsZWRFbGVtZW50MTZhdHRy
aWJ1dGVDaGFuZ2VkRVJLTlNfOUF0dHJpYnV0ZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTdFbGVtZW50
MTlwYXJzZXJTZXRBdHRyaWJ1dGVzRVJLTjNXVEY2VmVjdG9ySU5TXzlBdHRyaWJ1dGVFTG0wRUVF
TlNfMjdGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb25FCisgICBmdW46X1pON1dlYkNvcmUyMEhU
TUxDb25zdHJ1Y3Rpb25TaXRlMTdjcmVhdGVIVE1MRWxlbWVudEVQTlNfMTVBdG9taWNIVE1MVG9r
ZW5FCisgICBmdW46X1pON1dlYkNvcmUyMEhUTUxDb25zdHJ1Y3Rpb25TaXRlMjhpbnNlcnRTZWxm
Q2xvc2luZ0hUTUxFbGVtZW50RVBOU18xNUF0b21pY0hUTUxUb2tlbkUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE1SFRNTFRyZWVCdWlsZGVyMjRwcm9jZXNzU3RhcnRUYWdGb3JJbkJvZHlFUE5TXzE1QXRv
bWljSFRNTFRva2VuRQorICAgZnVuOl9aTjdXZWJDb3JlMTVIVE1MVHJlZUJ1aWxkZXIxNXByb2Nl
c3NTdGFydFRhZ0VQTlNfMTVBdG9taWNIVE1MVG9rZW5FCit9Cit7CisgICBidWdfMTUxMDA3Cisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxv
Y0VtCisgICBmdW46X1pOM1dURjEwUmVmQ291bnRlZElON1dlYkNvcmUxNUF0b21pY0hUTUxUb2tl
bkVFbndFbQorICAgZnVuOl9aTjdXZWJDb3JlMTVBdG9taWNIVE1MVG9rZW42Y3JlYXRlRVJOU185
SFRNTFRva2VuRQorICAgZnVuOl9aTjdXZWJDb3JlMTVIVE1MVHJlZUJ1aWxkZXIyMmNvbnN0cnVj
dFRyZWVGcm9tVG9rZW5FUk5TXzlIVE1MVG9rZW5FCisgICBmdW46X1pON1dlYkNvcmUxOEhUTUxE
b2N1bWVudFBhcnNlcjEzcHVtcFRva2VuaXplckVOUzBfMTVTeW5jaHJvbm91c01vZGVFCisgICBm
dW46X1pON1dlYkNvcmUxOEhUTUxEb2N1bWVudFBhcnNlcjIzcHVtcFRva2VuaXplcklmUG9zc2li
bGVFTlMwXzE1U3luY2hyb25vdXNNb2RlRQorICAgZnVuOl9aTjdXZWJDb3JlMThIVE1MRG9jdW1l
bnRQYXJzZXI2aW5zZXJ0RVJLTlNfMTVTZWdtZW50ZWRTdHJpbmdFCisgICBmdW46X1pON1dlYkNv
cmUxOEhUTUxEb2N1bWVudFBhcnNlcjIxcGFyc2VEb2N1bWVudEZyYWdtZW50RVJLTjNXVEY2U3Ry
aW5nRVBOU18xNkRvY3VtZW50RnJhZ21lbnRFUE5TXzdFbGVtZW50RU5TXzI3RnJhZ21lbnRTY3Jp
cHRpbmdQZXJtaXNzaW9uRQorICAgZnVuOl9aTjdXZWJDb3JlMTZEb2N1bWVudEZyYWdtZW50OXBh
cnNlSFRNTEVSS04zV1RGNlN0cmluZ0VQTlNfN0VsZW1lbnRFTlNfMjdGcmFnbWVudFNjcmlwdGlu
Z1Blcm1pc3Npb25FCisgICBmdW46X1pON1dlYkNvcmUzMWNyZWF0ZUZyYWdtZW50Rm9ySW5uZXJP
dXRlckhUTUxFUktOM1dURjZTdHJpbmdFUE5TXzdFbGVtZW50RU5TXzI3RnJhZ21lbnRTY3JpcHRp
bmdQZXJtaXNzaW9uRVJpCisgICBmdW46X1pON1dlYkNvcmUxMUhUTUxFbGVtZW50MTJzZXRJbm5l
ckhUTUxFUktOM1dURjZTdHJpbmdFUmkKKyAgIGZ1bjpfWk43V2ViQ29yZTIxSFRNTEVsZW1lbnRW
OEludGVybmFsTDE5aW5uZXJIVE1MQXR0clNldHRlckVOMnY4NUxvY2FsSU5TMV82U3RyaW5nRUVF
TlMyX0lOUzFfNVZhbHVlRUVFUktOUzFfMTJBY2Nlc3NvckluZm9FCisgICBmdW46X1pOMnY4OGlu
dGVybmFsMjFTdG9yZUNhbGxiYWNrUHJvcGVydHlFTlMwXzlBcmd1bWVudHNFUE5TMF83SXNvbGF0
ZUUKKyAgIC4uLgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbEw2SW52b2tlRWJOUzBfNkhhbmRsZUlO
UzBfMTBKU0Z1bmN0aW9uRUVFTlMxX0lOUzBfNk9iamVjdEVFRWlQUzVfUGIKK30KKworeworICAg
YnVnXzE1MTkwOAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1
bjpfWk42d2Via2l0M2dwdTE4R0xJblByb2Nlc3NDb250ZXh0MjJDcmVhdGVPZmZzY3JlZW5Db250
ZXh0RVBTMV9SS04zZ2Z4NFNpemVFUzJfUEtjUEtpTlMzXzEzR3B1UHJlZmVyZW5jZUUKKyAgIGZ1
bjpfWk42d2Via2l0M2dwdTQ2V2ViR3JhcGhpY3NDb250ZXh0M0RJblByb2Nlc3NDb21tYW5kQnVm
ZmVySW1wbDEwSW5pdGlhbGl6ZUVONldlYktpdDIwV2ViR3JhcGhpY3NDb250ZXh0M0QxMEF0dHJp
YnV0ZXNFUFMzXworICAgZnVuOl9aTjE0d2Via2l0X3N1cHBvcnQyM0NyZWF0ZUdyYXBoaWNzQ29u
dGV4dDNERVJLTjZXZWJLaXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRVBOUzBf
N1dlYlZpZXdFCisgICBmdW46X1pOMTFXZWJWaWV3SG9zdDE5Y3JlYXRlT3V0cHV0U3VyZmFjZUV2
CisgICBmdW46X1pONldlYktpdDExV2ViVmlld0ltcGwxOWNyZWF0ZU91dHB1dFN1cmZhY2VFdgor
ICAgZnVuOl9aTjZXZWJLaXQyMFdlYkxheWVyVHJlZVZpZXdJbXBsMTljcmVhdGVPdXRwdXRTdXJm
YWNlRXYKK30KKworeworICAgYnVnXzE1NTUzMAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICAuLi4KKyAgIGZ1bjpfWk43N0dlb2xvY2F0aW9uSW5mb0JhclF1ZXVlQ29udHJvbGxl
clRlc3RzX09uZU9ic2VydmF0aW9uUGVySW5mb0JhckNhbmNlbGxlZF9UZXN0OFRlc3RCb2R5RXYK
K30KK3sKKyAgIGJ1Z18xNTY3MDUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
ZnVuOl9aTjMzR2VvbG9jYXRpb25JbmZvQmFyUXVldWVDb250cm9sbGVyMjFDcmVhdGVJbmZvQmFy
RGVsZWdhdGVFUDE0SW5mb0JhclNlcnZpY2VQU19paWlSSzRHVVJMUktTcworICAgZnVuOl9aTjMz
R2VvbG9jYXRpb25JbmZvQmFyUXVldWVDb250cm9sbGVyMTdTaG93UXVldWVkSW5mb0JhckVpaVAx
NEluZm9CYXJTZXJ2aWNlCit9Cit7CisgICBidWdfMTU2ODI5CisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46X1pudyoKKyAgIGZ1bjpfWk43Y29udGVudDIzQXVkaW9JbnB1dERldmljZU1hbmFnZXIy
M0VudW1lcmF0ZU9uRGV2aWNlVGhyZWFkKgorfQorCit7CisgICBidWdfMTYwODc3CisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjdjb250ZW50KkR1bW15
TGlzdGVuU29ja2V0QzFFdgorICAgZnVuOl9aTks3Y29udGVudCpEdW1teUxpc3RlblNvY2tldEZh
Y3RvcnkxNUNyZWF0ZUFuZExpc3RlbkVQTjNuZXQxOFN0cmVhbUxpc3RlblNvY2tldDhEZWxlZ2F0
ZUUKKyAgIC4uLgorICAgZnVuOl9aTjNuZXQxMEh0dHBTZXJ2ZXJDMUVSS05TXzI1U3RyZWFtTGlz
dGVuU29ja2V0RmFjdG9yeUVQTlMwXzhEZWxlZ2F0ZUUKKyAgIGZ1bjpfWk43Y29udGVudDIzRGV2
VG9vbHNIdHRwSGFuZGxlckltcGw0SW5pdEV2Cit9CisKK3sKKyAgIGJ1Z18xNjI4MjgKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWjE1c2tfbWFsbG9jX2ZsYWdzbWoK
KyAgIGZ1bjpfWjE1c2tfbWFsbG9jX3Rocm93bQorICAgZnVuOl9aTjZTa01hc2sxMEFsbG9jSW1h
Z2VFbQorICAgZnVuOl9aTDE3ZHJhd1JlY3RzSW50b01hc2tQSzZTa1JlY3RpUDZTa01hc2sKKyAg
IGZ1bjpfWk4yMFNrQmx1ck1hc2tGaWx0ZXJJbXBsMTdmaWx0ZXJSZWN0c1RvTmluZUVQSzZTa1Jl
Y3RpUks4U2tNYXRyaXhSSzdTa0lSZWN0UE4xMlNrTWFza0ZpbHRlcjlOaW5lUGF0Y2hFCisgICBm
dW46X1pOMTJTa01hc2tGaWx0ZXIxMGZpbHRlclBhdGhFUks2U2tQYXRoUks4U2tNYXRyaXhSSzEy
U2tSYXN0ZXJDbGlwUDlTa0JvdW5kZXJQOVNrQmxpdHRlck43U2tQYWludDVTdHlsZUUKKyAgIGZ1
bjpfWk5LNlNrRHJhdzhkcmF3UGF0aEVSSzZTa1BhdGhSSzdTa1BhaW50UEs4U2tNYXRyaXhiCit9
Cit7CisgICAjIHN0b3JhZ2UvaW5kZXhlZGRiL2Jhc2ljcy13b3JrZXJzLmh0bWwKKyAgICMgc3Rv
cmFnZS9pbmRleGVkZGIvb3Blbi10d2ljZS13b3JrZXJzLmh0bWwKKyAgIGJ1Z18xNjI4Mjlfawor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pONldlYktpdCpXZWJJREJG
YWN0b3J5KmNyZWF0ZSoKKyAgIGZ1bjpfWk4xN1Rlc3RXZWJJREJGYWN0b3J5KkdldEZhY3Rvcnkq
CisgICBmdW46X1pOMTdUZXN0V2ViSURCRmFjdG9yeSpvcGVuKgorICAgLi4uCisgICBmdW46X1pO
NldlYktpdCpJREJGYWN0b3J5QmFja2VuZFByb3h5Km9wZW4qCisgICBmdW46X1pON1dlYkNvcmUq
SURCRmFjdG9yeSpvcGVuSW50ZXJuYWwqCisgICBmdW46X1pON1dlYkNvcmUqSURCRmFjdG9yeSpv
cGVuKgorfQoreworICAgIyBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13b3JrZXIt
aW5kZXhlZGRiLmh0bWwKKyAgICMgc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWFkdmFuY2Utd29y
a2Vycy5odG1sCisgICAjIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy13b3JrZXJzLmh0
bWwKKyAgIGJ1Z18xNjI4MjlfbAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pONldlYktpdCpXZWJJREJGYWN0b3J5KmNyZWF0ZSoKKyAgIGZ1bjpfWk4xN1Rlc3RXZWJJ
REJGYWN0b3J5KkdldEZhY3RvcnkqCisgICBmdW46X1pOMTdUZXN0V2ViSURCRmFjdG9yeSpkZWxl
dGVEYXRhYmFzZSoKKyAgIC4uLgorICAgZnVuOl9aTjZXZWJLaXQqSURCRmFjdG9yeUJhY2tlbmRQ
cm94eSpkZWxldGVEYXRhYmFzZSoKKyAgIGZ1bjpfWk43V2ViQ29yZSpJREJGYWN0b3J5KmRlbGV0
ZURhdGFiYXNlKgorfQoreworICAgIyBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWJhc2ljcy13
b3JrZXJzLmh0bWwKKyAgIGJ1Z18xNjI4MjlfbQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9a
bncqCisgICBmdW46X1pONldlYktpdCpXZWJJREJGYWN0b3J5KmNyZWF0ZSoKKyAgIGZ1bjpfWk4x
N1Rlc3RXZWJJREJGYWN0b3J5KkdldEZhY3RvcnkqCisgICBmdW46X1pOMTdUZXN0V2ViSURCRmFj
dG9yeSpnZXREYXRhYmFzZU5hbWVzKgorICAgZnVuOl9aTjZXZWJLaXQqSURCRmFjdG9yeUJhY2tl
bmRQcm94eSoKKyAgIGZ1bjpfWk43V2ViQ29yZSpJREJGYWN0b3J5KmdldERhdGFiYXNlTmFtZXMq
Cit9Cit7CisgICAjIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLXdvcmtlcnMuaHRt
bAorICAgIyBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mtd29ya2Vycy5odG1sCisgICAj
IHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy13b3JrZXJzLmh0bWwKKyAgICMg
c3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLmh0bWwKKyAgICMgKFN0
YWNrIGhhcyBhZGRNZXRob2QgLyBwdXRNZXRob2QgZGVwZW5kaW5nIG9uIHRlc3QpCisgICBidWdf
MTYyODI5X24KKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdXZWJD
b3JlKlNjcmlwdFN0YXRlKmZvckNvbnRleHQqCisgICBmdW46X1pON1dlYkNvcmUqU2NyaXB0U3Rh
dGUqY3VycmVudCoKKyAgIGZ1bjpfWk43V2ViQ29yZSpJREJPYmplY3RTdG9yZVY4SW50ZXJuYWwq
TWV0aG9kKgorICAgZnVuOl9aTjdXZWJDb3JlKklEQk9iamVjdFN0b3JlVjhJbnRlcm5hbCpNZXRo
b2QqCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZSpWOFdvcmtlckNvbnRleHQqCit9Cit7Cisg
ICAjIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy13b3JrZXJzLmh0bWwKKyAg
IGJ1Z18xNjI4MjlfbworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pO
N1dlYkNvcmUqdjhTdHJpbmdUb1dlYkNvcmVTdHJpbmcqCisgICBmdW46X1pON1dlYkNvcmUqVjhT
dHJpbmdSZXNvdXJjZSoKKyAgIGZ1bjpfWk43V2ViQ29yZSpWOFN0cmluZ1Jlc291cmNlKgorICAg
ZnVuOl9aTjdXZWJDb3JlKklEQlJlcXVlc3RWOEludGVybmFsKmFkZEV2ZW50TGlzdGVuZXJNZXRo
b2QqCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZSpWOFdvcmtlckNvbnRleHQqCit9CisKK3sK
KyAgIGJ1Z18xNjM5MjIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9a
TjEwZXh0ZW5zaW9uczE2U2V0dGluZ3NGcm9udGVuZEMxRVJLMTNzY29wZWRfcmVmcHRySU5TXzIy
U2V0dGluZ3NTdG9yYWdlRmFjdG9yeUVFUDdQcm9maWxlCisgICBmdW46X1pOMTBleHRlbnNpb25z
MTZTZXR0aW5nc0Zyb250ZW5kNkNyZWF0ZUVQN1Byb2ZpbGUKKyAgIGZ1bjpfWk4xNkV4dGVuc2lv
blNlcnZpY2VDMUUqCisgICBmdW46X1pOMTBleHRlbnNpb25zMTlFeHRlbnNpb25TeXN0ZW1JbXBs
NlNoYXJlZDRJbml0RWIKKyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnMxOUV4dGVuc2lvblN5c3RlbUlt
cGwyMUluaXRGb3JSZWd1bGFyUHJvZmlsZUViCisgICBmdW46X1pOMTRQcm9maWxlTWFuYWdlcjIy
RG9GaW5hbEluaXRGb3JTZXJ2aWNlc0VQN1Byb2ZpbGViCisgICBmdW46X1pOMTRQcm9maWxlTWFu
YWdlcjExRG9GaW5hbEluaXRFUDdQcm9maWxlYgorICAgZnVuOl9aTjE0UHJvZmlsZU1hbmFnZXIx
MEFkZFByb2ZpbGVFUDdQcm9maWxlCisgICBmdW46X1pOMTRQcm9maWxlTWFuYWdlcjEwR2V0UHJv
ZmlsZUUqCit9Cit7CisgICBidWdfMTYzOTI0CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
dyoKKyAgIGZ1bjpfWk4yOEpTT05Bc3luY2hyb25vdXNVbnBhY2tlckltcGwyMlN0YXJ0UHJvY2Vz
c09uSU9UaHJlYWRFTjdjb250ZW50MTNCcm93c2VyVGhyZWFkMklERVJLU3MKK30KK3sKKyAgIGJ1
Z18xNjQxNzkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46
X1pOM25ldDEwVVJMRmV0Y2hlcjZDcmVhdGVFUks0R1VSTE5TMF8xMVJlcXVlc3RUeXBlRVBOU18x
OFVSTEZldGNoZXJEZWxlZ2F0ZUUKKyAgIGZ1bjpfWk4xOFdlYlJlc291cmNlU2VydmljZTEwU3Rh
cnRGZXRjaEV2Cit9CisKK3sKKyAgIGJ1Z18xNjY0NzAKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjpfWm53KgorICAgZnVuOl9aTjRiYXNlNEJpbmRJTU4xMWRvbV9zdG9yYWdlMTdEb21TdG9yYWdl
Q29udGV4dEVGdlJLNEdVUkxFMTNzY29wZWRfcmVmcHRySVMyX0VTM19FRU5TXzhDYWxsYmFja0lO
U184aW50ZXJuYWw5QmluZFN0YXRlSU5TQl8xM0Z1bmN0b3JUcmFpdHNJVF9FMTJSdW5uYWJsZVR5
cGVFTlNGXzdSdW5UeXBlRUZ2TlNCXzE5Q2FsbGJhY2tQYXJhbVRyYWl0c0lUMF9FMTFTdG9yYWdl
VHlwZUVOU0lfSVQxX0UxMVN0b3JhZ2VUeXBlRUVFMTRVbmJvdW5kUnVuVHlwZUVFRVNFX1JLU0pf
UktTTV8KKyAgIGZ1bjpfWk43Y29udGVudDIxRE9NU3RvcmFnZUNvbnRleHRJbXBsMThEZWxldGVM
b2NhbFN0b3JhZ2VFUks0R1VSTAorICAgZnVuOl9aTjdjb250ZW50MjBTdG9yYWdlUGFydGl0aW9u
SW1wbDIzQXN5bmNDbGVhckRhdGFGb3JPcmlnaW5FalJLNEdVUkxQTjNuZXQyM1VSTFJlcXVlc3RD
b250ZXh0R2V0dGVyRQorICAgZnVuOl9aTjEwZXh0ZW5zaW9uczExRGF0YURlbGV0ZXIxM1N0YXJ0
RGVsZXRpbmdFUDdQcm9maWxlUktTc1JLNEdVUkwKKyAgIGZ1bjpfWk4xNkV4dGVuc2lvblNlcnZp
Y2UxOFVuaW5zdGFsbEV4dGVuc2lvbkVTc2JQU2JJdE40YmFzZTIwc3RyaW5nMTZfY2hhcl90cmFp
dHNFU2FJdEVFCit9Cit7CisgICBidWdfMTY2NDcwYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Ol9abncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcipGaWxlUGF0aCphbGxv
Y2F0ZSoKKyAgIGZ1bjpfWk5TdDEyX1ZlY3Rvcl9iYXNlKkZpbGVQYXRoKl9NX2FsbG9jYXRlKgor
ICAgZnVuOl9aTlN0NnZlY3RvcipGaWxlUGF0aCpfTV9pbnNlcnRfYXV4KgorICAgZnVuOl9aTlN0
NnZlY3RvcipGaWxlUGF0aCpwdXNoX2JhY2sqCisgICBmdW46X1pOOWZpbGVfdXRpbDE1Q3JlYXRl
RGlyZWN0b3J5RSoKKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdlMTdEb21TdG9yYWdlQ29udGV4dDE5
R2V0U3RvcmFnZU5hbWVzcGFjZUVsCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE3RG9tU3RvcmFn
ZUNvbnRleHQxOERlbGV0ZUxvY2FsU3RvcmFnZUVSSzRHVVJMCit9Cit7CisgICBidWdfMTY2NDcw
YworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTFkb21fc3RvcmFn
ZTE5RG9tU3RvcmFnZU5hbWVzcGFjZTI0RGVsZXRlTG9jYWxTdG9yYWdlT3JpZ2luRVJLNEdVUkwK
KyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdlMTdEb21TdG9yYWdlQ29udGV4dDE4RGVsZXRlTG9jYWxT
dG9yYWdlRVJLNEdVUkwKK30KK3sKKyAgIGJ1Z18xNjY0NzBkCisgICBNZW1jaGVjazpMZWFrCisg
ICAuLi4KKyAgIGZ1bjpfWk43ZmlsZWFwaTI2R2V0T3JpZ2luSWRlbnRpZmllckZyb21VUkxFUks0
R1VSTAorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UxNERvbVN0b3JhZ2VBcmVhMjZEYXRhYmFzZUZp
bGVOYW1lRnJvbU9yaWdpbkVSSzRHVVJMCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE0RG9tU3Rv
cmFnZUFyZWFDMUUqCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE5RG9tU3RvcmFnZU5hbWVzcGFj
ZTI0RGVsZXRlTG9jYWxTdG9yYWdlT3JpZ2luRVJLNEdVUkwKKyAgIGZ1bjpfWk4xMWRvbV9zdG9y
YWdlMTdEb21TdG9yYWdlQ29udGV4dDE4RGVsZXRlTG9jYWxTdG9yYWdlRVJLNEdVUkwKK30KK3sK
KyAgIGJ1Z18xNjY3MDkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9a
TjRiYXNlNEJpbmRJTU5TXzEyX0dMT0JBTF9fTl8xMjFQb3N0VGFza0FuZFJlcGx5UmVsYXlFRnZ2
RU5TXzhpbnRlcm5hbDE3VW5yZXRhaW5lZFdyYXBwZXIqCisgICBmdW46X1pONGJhc2U4aW50ZXJu
YWwyMFBvc3RUYXNrQW5kUmVwbHlJbXBsMTZQb3N0VGFza0FuZFJlcGx5RVJLTjE1dHJhY2tlZF9v
YmplY3RzOExvY2F0aW9uKgorICAgLi4uCisgICBmdW46X1pOMTZFeHRlbnNpb25TZXJ2aWNlMTJB
ZGRFeHRlbnNpb25FUEtOMTBleHRlbnNpb25zOUV4dGVuc2lvbkUKKyAgIGZ1bjpfWk41MkJhY2tn
cm91bmRBcHBsaWNhdGlvbkxpc3RNb2RlbFRlc3RfRXhwbGljaXRUZXN0X1Rlc3Q4VGVzdEJvZHlF
dgorfQoreworICAgYnVnXzE2NjcwOWIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53Kgor
ICAgZnVuOl9aTjRiYXNlMTJfR0xPQkFMX19OXzExMkNyZWF0ZVRocmVhZEVtYlBOU18xNFBsYXRm
b3JtVGhyZWFkOERlbGVnYXRlRVBtTlNfMTRUaHJlYWRQcmlvcml0eUUKKyAgIGZ1bjpfWk40YmFz
ZTE0UGxhdGZvcm1UaHJlYWQ2Q3JlYXRlRW1QTlMwXzhEZWxlZ2F0ZUVQbQorICAgZnVuOl9aTjRi
YXNlMTJTaW1wbGVUaHJlYWQ1U3RhcnRFdgorICAgZnVuOl9aTjRiYXNlMTlTZXF1ZW5jZWRXb3Jr
ZXJQb29sNldvcmtlckMxRVJLMTNzY29wZWRfcmVmcHRySVMwX0VpUktTcworICAgZnVuOl9aTjRi
YXNlMTlTZXF1ZW5jZWRXb3JrZXJQb29sNUlubmVyMzBGaW5pc2hTdGFydGluZ0FkZGl0aW9uYWxU
aHJlYWRFaQorICAgZnVuOl9aTjRiYXNlMTlTZXF1ZW5jZWRXb3JrZXJQb29sNUlubmVyMTBUaHJl
YWRMb29wRVBOUzBfNldvcmtlckUKKyAgIGZ1bjpfWk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9v
bDZXb3JrZXIzUnVuRXYKKyAgIGZ1bjpfWk40YmFzZTEyU2ltcGxlVGhyZWFkMTBUaHJlYWRNYWlu
RXYKKyAgIGZ1bjpfWk40YmFzZTEyX0dMT0JBTF9fTl8xMTBUaHJlYWRGdW5jRVB2Cit9Cit7Cisg
ICBidWdfMTY2NzA5YworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pO
NGJhc2U4aW50ZXJuYWwyMFBvc3RUYXNrQW5kUmVwbHlJbXBsMTZQb3N0VGFza0FuZFJlcGx5RVJL
TjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVNBXworICAg
ZnVuOl9aTjRiYXNlMTBUYXNrUnVubmVyMTZQb3N0VGFza0FuZFJlcGx5RVJLTjE1dHJhY2tlZF9v
YmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVM5XworICAgZnVuOl9aTjdjb250
ZW50MTNCcm93c2VyVGhyZWFkMjhQb3N0QmxvY2tpbmdQb29sVGFza0FuZFJlcGx5RVJLTjE1dHJh
Y2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTjRiYXNlOENhbGxiYWNrSUZ2dkVFRVNBXworICAgZnVu
Ol9aTjEwZXh0ZW5zaW9uczExSW1hZ2VMb2FkZXIxNUxvYWRJbWFnZXNBc3luY0VQS05TXzlFeHRl
bnNpb25FUktTdDZ2ZWN0b3JJTlMwXzE5SW1hZ2VSZXByZXNlbnRhdGlvbkVTYUlTNV9FRVJLTjRi
YXNlOENhbGxiYWNrSUZ2UktOM2dmeDVJbWFnZUVFRUUKKyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnMx
MUltYWdlTG9hZGVyMTRMb2FkSW1hZ2VBc3luY0VQS05TXzlFeHRlbnNpb25FUksxN0V4dGVuc2lv
blJlc291cmNlUktOM2dmeDRTaXplRVJLTjRiYXNlOENhbGxiYWNrSUZ2UktOUzdfNUltYWdlRUVF
RQorfQoreworICAgYnVnXzE2NjgxOAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYwor
ICAgZnVuOmdfbWFsbG9jCisgICAuLi4KKyAgIGZ1bjpnZGtfcGl4YnVmX2xvYWRlcl9sb2FkX21v
ZHVsZQorICAgZnVuOmdka19waXhidWZfbG9hZGVyX2Nsb3NlCisgICBmdW46X1pOMnVpMTJfR0xP
QkFMX19OXzExMExvYWRQaXhidWZFUE40YmFzZTIyUmVmQ291bnRlZFN0YXRpY01lbW9yeUViCisg
ICBmdW46X1pOMnVpMTRSZXNvdXJjZUJ1bmRsZTE5R2V0TmF0aXZlSW1hZ2VOYW1lZEVpTlMwXzhJ
bWFnZVJUTEUKKyAgIGZ1bjpfWk4ydWkxNFJlc291cmNlQnVuZGxlMTlHZXROYXRpdmVJbWFnZU5h
bWVkRWkKK30KK3sKKyAgIGJ1Z18xNjY4MTkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53
KgorICAgZnVuOl9aTkszc3FsMTBDb25uZWN0aW9uMjFHZXRVbnRyYWNrZWRTdGF0ZW1lbnRFUEtj
CisgICBmdW46X1pOSzNzcWwxMENvbm5lY3Rpb24yMURvZXNUYWJsZU9ySW5kZXhFeGlzdEVQS2NT
Ml8KKyAgIGZ1bjpfWk5LM3NxbDEwQ29ubmVjdGlvbjE0RG9lc1RhYmxlRXhpc3RFUEtjCisgICBm
dW46X1pOM3NxbDlNZXRhVGFibGUxNERvZXNUYWJsZUV4aXN0RVBOU18xMENvbm5lY3Rpb25FCisg
ICAuLi4KKyAgIGZ1bjpfWk43aGlzdG9yeTE2VG9wU2l0ZXNEYXRhYmFzZTRJbml0RSoKKyAgIGZ1
bjpfWk43aGlzdG9yeTE1VG9wU2l0ZXNCYWNrZW5kMTZJbml0REJPbkRCVGhyZWFkRSoKK30KK3sK
KyAgIGJ1Z18xNjY4MTliCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpf
Wk5LM3NxbDEwQ29ubmVjdGlvbjIxR2V0VW50cmFja2VkU3RhdGVtZW50RVBLYworICAgZnVuOl9a
Tkszc3FsMTBDb25uZWN0aW9uMjFEb2VzVGFibGVPckluZGV4RXhpc3RFUEtjUzJfCisgICBmdW46
X1pOSzNzcWwxMENvbm5lY3Rpb24xNERvZXNUYWJsZUV4aXN0RVBLYworICAgZnVuOl9aTjdoaXN0
b3J5MTdTaG9ydGN1dHNEYXRhYmFzZTExRW5zdXJlVGFibGVFdgorICAgZnVuOl9aTjdoaXN0b3J5
MTdTaG9ydGN1dHNEYXRhYmFzZTRJbml0RXYKKyAgIGZ1bjpfWk43aGlzdG9yeTE2U2hvcnRjdXRz
QmFja2VuZDEySW5pdEludGVybmFsRXYKK30KK3sKKyAgIGJ1Z18xNjY5NzZhCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9v
bDVJbm5lcjMwRmluaXNoU3RhcnRpbmdBZGRpdGlvbmFsVGhyZWFkRWkKKyAgIGZ1bjpfWk40YmFz
ZTE5U2VxdWVuY2VkV29ya2VyUG9vbDVJbm5lcjEwVGhyZWFkTG9vcEVQTlMwXzZXb3JrZXJFCisg
ICBmdW46X1pONGJhc2UxOVNlcXVlbmNlZFdvcmtlclBvb2w2V29ya2VyM1J1bkV2CisgICBmdW46
X1pONGJhc2UxMlNpbXBsZVRocmVhZDEwVGhyZWFkTWFpbkV2CisgICBmdW46X1pONGJhc2UxMl9H
TE9CQUxfX05fMTEwVGhyZWFkRnVuY0VQdgorfQoreworICAgYnVnXzE2Njk3NmIKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2dudV9jeHgxM25ld19hbGxvY2F0
b3JJU3QxMF9MaXN0X25vZGVJUE40YmFzZTEzV2FpdGFibGVFdmVudDZXYWl0ZXJFRUU4YWxsb2Nh
dGVFbVBLdgorICAgZnVuOl9aTlN0MTBfTGlzdF9iYXNlSVBONGJhc2UxM1dhaXRhYmxlRXZlbnQ2
V2FpdGVyRVNhSVMzX0VFMTFfTV9nZXRfbm9kZUV2CisgICBmdW46X1pOU3Q0bGlzdElQTjRiYXNl
MTNXYWl0YWJsZUV2ZW50NldhaXRlckVTYUlTM19FRTE0X01fY3JlYXRlX25vZGVFUktTM18KKyAg
IGZ1bjpfWk5TdDRsaXN0SVBONGJhc2UxM1dhaXRhYmxlRXZlbnQ2V2FpdGVyRVNhSVMzX0VFOV9N
X2luc2VydEVTdDE0X0xpc3RfaXRlcmF0b3JJUzNfRVJLUzNfCisgICBmdW46X1pOU3Q0bGlzdElQ
TjRiYXNlMTNXYWl0YWJsZUV2ZW50NldhaXRlckVTYUlTM19FRTlwdXNoX2JhY2tFUktTM18KKyAg
IGZ1bjpfWk40YmFzZTEzV2FpdGFibGVFdmVudDdFbnF1ZXVlRVBOUzBfNldhaXRlckUKKyAgIGZ1
bjpfWk40YmFzZTEzV2FpdGFibGVFdmVudDlUaW1lZFdhaXRFUktOU185VGltZURlbHRhRQorICAg
ZnVuOl9aTjRiYXNlMTNXYWl0YWJsZUV2ZW50NFdhaXRFdgorICAgZnVuOl9aTjRiYXNlMTJTaW1w
bGVUaHJlYWQ1U3RhcnRFdgorICAgZnVuOl9aTjRiYXNlMTlTZXF1ZW5jZWRXb3JrZXJQb29sNldv
cmtlckMxRVJLMTNzY29wZWRfcmVmcHRySVMwX0VpUktTcworICAgZnVuOl9aTjRiYXNlMTlTZXF1
ZW5jZWRXb3JrZXJQb29sNUlubmVyMzBGaW5pc2hTdGFydGluZ0FkZGl0aW9uYWxUaHJlYWRFaQor
ICAgZnVuOl9aTjRiYXNlMTlTZXF1ZW5jZWRXb3JrZXJQb29sNUlubmVyMTBUaHJlYWRMb29wRVBO
UzBfNldvcmtlckUKKyAgIGZ1bjpfWk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9vbDZXb3JrZXIz
UnVuRXYKKyAgIGZ1bjpfWk40YmFzZTEyU2ltcGxlVGhyZWFkMTBUaHJlYWRNYWluRXYKKyAgIGZ1
bjpfWk40YmFzZTEyX0dMT0JBTF9fTl8xMTBUaHJlYWRGdW5jRVB2Cit9Cit7CisgICBidWdfMTY3
MTc1YQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46Z18qCisgICAuLi4KKyAgIGZ1
bjpfWk4xNkJyb3dzZXJXaW5kb3dHdGsxMUluaXRXaWRnZXRzRXYKKyAgIGZ1bjpfWk4xNkJyb3dz
ZXJXaW5kb3dHdGs0SW5pdEV2CisgICBmdW46X1pOMTNCcm93c2VyV2luZG93MTlDcmVhdGVCcm93
c2VyV2luZG93RVA3QnJvd3NlcgorfQoreworICAgYnVnXzE2NzE3NWIKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjptYWxsb2MKKyAgIG9iajovbGliL2xpYnBuZzEyLnNvLjAuNDIuMAorICAgZnVu
OnBuZ19jcmVhdGVfcmVhZF9zdHJ1Y3RfMgorICAgLi4uCisgICBmdW46X1pOMTVSZWxvYWRCdXR0
b25HdGtDMUVQMThMb2NhdGlvbkJhclZpZXdHdGtQN0Jyb3dzZXIKKyAgIGZ1bjpfWk4xN0Jyb3dz
ZXJUb29sYmFyR3RrNEluaXRFUDEwX0d0a1dpbmRvdworICAgZnVuOl9aTjE2QnJvd3NlcldpbmRv
d0d0azExSW5pdFdpZGdldHNFdgorICAgZnVuOl9aTjE2QnJvd3NlcldpbmRvd0d0azRJbml0RXYK
KyAgIGZ1bjpfWk4xM0Jyb3dzZXJXaW5kb3cxOUNyZWF0ZUJyb3dzZXJXaW5kb3dFUDdCcm93c2Vy
Cit9Cit7CisgICBidWdfMTY3MTc1ZAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisg
ICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcklTYkl0TjRiYXNlMjBzdHJpbmcxNl9j
aGFyX3RyYWl0c0VTYUl0RUVFOGFsbG9jYXRlRW1QS3YKKyAgIGZ1bjpfWk5TdDEyX1ZlY3Rvcl9i
YXNlSVNiSXRONGJhc2UyMHN0cmluZzE2X2NoYXJfdHJhaXRzRVNhSXRFRVNhSVMzX0VFMTFfTV9h
bGxvY2F0ZUVtCisgICAuLi4KKyAgIGZ1bjpfWk4xNVdyZW5jaE1lbnVNb2RlbDVCdWlsZEViYgor
ICAgZnVuOl9aTjE1V3JlbmNoTWVudU1vZGVsQzFFUE4ydWkxOUFjY2VsZXJhdG9yUHJvdmlkZXJF
UDdCcm93c2VyYmIKKyAgIGZ1bjpfWk4xN0Jyb3dzZXJUb29sYmFyR3RrQzFFUDdCcm93c2VyUDE2
QnJvd3NlcldpbmRvd0d0aworICAgZnVuOl9aTjE2QnJvd3NlcldpbmRvd0d0azExSW5pdFdpZGdl
dHNFdgorICAgZnVuOl9aTjE2QnJvd3NlcldpbmRvd0d0azRJbml0RXYKKyAgIGZ1bjpfWk4xM0Jy
b3dzZXJXaW5kb3cxOUNyZWF0ZUJyb3dzZXJXaW5kb3dFUDdCcm93c2VyCit9CisKK3sKKyAgIGJ1
Z18xNjkzMTEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RG
MTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGMTBSZWZDb3VudGVkSU43V2ViQ29yZTE4U3R5
bGVTaGVldENvbnRlbnRzRUVud0VtCisgICBmdW46X1pON1dlYkNvcmUxOFN0eWxlU2hlZXRDb250
ZW50czZjcmVhdGVFUktOU18xNkNTU1BhcnNlckNvbnRleHRFCisgICBmdW46X1pON1dlYkNvcmVM
MTJwYXJzZVVBU2hlZXRFUktOM1dURjZTdHJpbmdFCisgICBmdW46X1pON1dlYkNvcmVMMTJwYXJz
ZVVBU2hlZXRFUEtjagorICAgLi4uCisgICBmdW46X1pON1dlYkNvcmUxM1N0eWxlUmVzb2x2ZXIx
Mm1hdGNoVUFSdWxlc0VSTlMwXzExTWF0Y2hSZXN1bHRFCisgICBmdW46X1pON1dlYkNvcmUxM1N0
eWxlUmVzb2x2ZXIxNXN0eWxlRm9yRWxlbWVudEVQTlNfN0VsZW1lbnRFUE5TXzExUmVuZGVyU3R5
bGVFTlNfMjBTdHlsZVNoYXJpbmdCZWhhdmlvckVOU18yMFJ1bGVNYXRjaGluZ0JlaGF2aW9yRVBO
U18xMlJlbmRlclJlZ2lvbkUKKyAgIGZ1bjpfWk43V2ViQ29yZTEzU3R5bGVSZXNvbHZlckMxRVBO
U184RG9jdW1lbnRFYgorICAgZnVuOl9aTjdXZWJDb3JlOERvY3VtZW50MTljcmVhdGVTdHlsZVJl
c29sdmVyRXYKKyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1bWVudDEzc3R5bGVSZXNvbHZlckV2Cisg
ICBmdW46X1pON1dlYkNvcmU3RWxlbWVudDE2c3R5bGVGb3JSZW5kZXJlckV2Cit9CisKK3sKKyAg
IGJ1Z18xNzE3MjIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjNu
ZXQxMl9HTE9CQUxfX05fMTIwVVJMUmVxdWVzdEZ0cEpvYlRlc3Q5QWRkU29ja2V0RVBOU18xM01v
Y2tSZWFkV3JpdGVJTE5TXzE3TW9ja1JlYWRXcml0ZVR5cGVFMEVFRW1QTlMyX0lMUzNfMUVFRW0K
K30KK3sKKyAgIGJ1Z18xNzE5ODMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
ZnVuOl9aTjhjaHJvbWVvczUxTWFnbmlmaWNhdGlvbk1hbmFnZXJUZXN0X01hZ25pZmljYXRpb25P
YnNlcnZlcl9UZXN0OFRlc3RCb2R5RXYKK30KK3sKKyAgIGJ1Z18xNzIwMDUKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdsZXZlbGRiMTBWZXJzaW9uU2V0MTFMb2dB
bmRBcHBseUVQTlNfMTFWZXJzaW9uRWRpdEVQTlNfNHBvcnQ1TXV0ZXhFCisgICBmdW46X1pON2xl
dmVsZGIyREI0T3BlbkVSS05TXzdPcHRpb25zRVJLU3NQUFMwXworICAgZnVuOl9aTjExZG9tX3N0
b3JhZ2UyMlNlc3Npb25TdG9yYWdlRGF0YWJhc2U5VHJ5VG9PcGVuRVBQTjdsZXZlbGRiMkRCRQor
ICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UyMlNlc3Npb25TdG9yYWdlRGF0YWJhc2U4TGF6eU9wZW5F
YgorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UyMlNlc3Npb25TdG9yYWdlRGF0YWJhc2UyNFJlYWRO
YW1lc3BhY2VzQW5kT3JpZ2luc0VQU3QzbWFwSVNzU3Q2dmVjdG9ySTRHVVJMU2FJUzNfRUVTdDRs
ZXNzSVNzRVNhSVN0NHBhaXJJS1NzUzVfRUVFCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE3RG9t
U3RvcmFnZUNvbnRleHQzNkZpbmRVbnVzZWROYW1lc3BhY2VzSW5Db21taXRTZXF1ZW5jZUVSS1N0
M3NldElTc1N0NGxlc3NJU3NFU2FJU3NFRVM3XworfQoreworICAgYnVnXzE3MjAwNWIKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdsZXZlbGRiNkRCSW1wbEMxRVJL
TlNfN09wdGlvbnNFUktTcworICAgZnVuOl9aTjdsZXZlbGRiMkRCNE9wZW5FUktOU183T3B0aW9u
c0VSS1NzUFBTMF8KKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdlMjJTZXNzaW9uU3RvcmFnZURhdGFi
YXNlOVRyeVRvT3BlbkVQUE43bGV2ZWxkYjJEQkUKKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdlMjJT
ZXNzaW9uU3RvcmFnZURhdGFiYXNlOExhenlPcGVuRWIKKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdl
MjJTZXNzaW9uU3RvcmFnZURhdGFiYXNlMjRSZWFkTmFtZXNwYWNlc0FuZE9yaWdpbnNFUFN0M21h
cElTc1N0NnZlY3Rvckk0R1VSTFNhSVMzX0VFU3Q0bGVzc0lTc0VTYUlTdDRwYWlySUtTc1M1X0VF
RQorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UxN0RvbVN0b3JhZ2VDb250ZXh0MzZGaW5kVW51c2Vk
TmFtZXNwYWNlc0luQ29tbWl0U2VxdWVuY2VFUktTdDNzZXRJU3NTdDRsZXNzSVNzRVNhSVNzRUVT
N18KK30KKworeworICAgYnVnXzE3NTgxNQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pONGJhc2U1VmFsdWUxOENyZWF0ZUludGVnZXJWYWx1ZUVpCisgICBmdW46X1pO
SzRiYXNlMTZGdW5kYW1lbnRhbFZhbHVlOERlZXBDb3B5RXYKKyAgIGZ1bjpfWk40YmFzZThpbnRl
cm5hbDEyX0dMT0JBTF9fTl8xMjVEaWN0aW9uYXJ5SGlkZGVuUm9vdFZhbHVlMjZSZW1vdmVXaXRo
b3V0UGF0aEV4cGFuc2lvbkVSS1NzUFBOU181VmFsdWVFCisgICBmdW46X1pONGJhc2UxNURpY3Rp
b25hcnlWYWx1ZTZSZW1vdmVFUktTc1BQTlNfNVZhbHVlRQorICAgZnVuOl9aTjMyUGx1Z2luRmlu
ZGVyVGVzdF9Kc29uU3ludGF4X1Rlc3Q4VGVzdEJvZHlFdgorfQoreworICAgYnVnXzE3NTgyMwor
ICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOMThWYWx1ZVN0b3JlRnJvbnRlbmQq
Cit9CisKK3sKKyAgIGJ1Z18xNzY2MjEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53Kgor
ICAgZnVuOl9aTjEzV2ViVGVzdFJ1bm5lcjEwVGVzdFBsdWdpbjZjcmVhdGVFUE42V2ViS2l0OFdl
YkZyYW1lRVJLTlMxXzE1V2ViUGx1Z2luUGFyYW1zRVBOU18xNVdlYlRlc3REZWxlZ2F0ZUUKKyAg
IGZ1bjpfWk4xM1dlYlRlc3RSdW5uZXIxNldlYlRlc3RQcm94eUJhc2UxMmNyZWF0ZVBsdWdpbkVQ
TjZXZWJLaXQ4V2ViRnJhbWVFUktOUzFfMTVXZWJQbHVnaW5QYXJhbXNFCisgICBmdW46X1pOMTNX
ZWJUZXN0UnVubmVyMTJXZWJUZXN0UHJveHlJMTFXZWJWaWV3SG9zdFA5VGVzdFNoZWxsRTEyY3Jl
YXRlUGx1Z2luRVBONldlYktpdDhXZWJGcmFtZUVSS05TNV8xNVdlYlBsdWdpblBhcmFtc0UKKyAg
IGZ1bjpfWk42V2ViS2l0MjFGcmFtZUxvYWRlckNsaWVudEltcGwxMmNyZWF0ZVBsdWdpbkVSS043
V2ViQ29yZTdJbnRTaXplRVBOUzFfMTdIVE1MUGx1Z0luRWxlbWVudEVSS05TMV80S1VSTEVSS04z
V1RGNlZlY3RvcklOU0FfNlN0cmluZyoKKyAgIGZ1bjpfWk43V2ViQ29yZTE0U3ViZnJhbWVMb2Fk
ZXIxMGxvYWRQbHVnaW5FUE5TXzIySFRNTFBsdWdJbkltYWdlRWxlbWVudEVSS05TXzRLVVJMRVJL
TjNXVEY2U3RyaW5nRVJLTlM2XzZWZWN0b3JJUzcqCit9Cit7CisgICBidWdfMTc2ODg4CisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46c3RyZHVwCisgICBmdW46cDExX2tp
dF9yZWdpc3RlcmVkX21vZHVsZV90b19uYW1lCisgICBmdW46Z251dGxzX3BrY3MxMV9pbml0Cisg
ICBmdW46Z251dGxzX2dsb2JhbF9pbml0CisgICBmdW46X1pOMTJfR0xPQkFMX19OXzExN0djcnlw
dEluaXRpYWxpemVyNEluaXRFdgorICAgZnVuOl9aTjEyX0dMT0JBTF9fTl8xMTdHY3J5cHRJbml0
aWFsaXplckMxRXYKKyAgIGZ1bjpfWk40YmFzZTI1RGVmYXVsdExhenlJbnN0YW5jZVRyYWl0c0lO
MTJfR0xPQkFMX19OXzExN0djcnlwdEluaXRpYWxpemVyRUUzTmV3RVB2Cit9CisKK3sKKyAgIGJ1
Z18xNzcyMTMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjEwZXh0ZW5zaW9u
c0w5U2VyaWFsaXplRVJLU3Q2dmVjdG9ySU5TXzEwVXNlclNjcmlwdEVTYUlTMV9FRQorfQorCit7
CisgICBidWdfMTc5NzU4X2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVu
Ol9aTjRiYXNlNTRXZWFrUHRyVGVzdF9Ob25Pd25lclRocmVhZENhbkNvcHlBbmRBc3NpZ25XZWFr
UHRyX1Rlc3Q4VGVzdEJvZHlFdgorfQoreworICAgYnVnXzE3OTc1OF9iCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTU4V2Vha1B0clRlc3RfTm9uT3duZXJU
aHJlYWRDYW5Db3B5QW5kQXNzaWduV2Vha1B0ckJhc2VfVGVzdDhUZXN0Qm9keUV2Cit9Cit7Cisg
ICBidWdfMTgwMzgxCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAg
ZnVuOl9aTjRiYXNlOEZpbGVQYXRoMzFTdHJpcFRyYWlsaW5nU2VwYXJhdG9yc0ludGVybmFsRXYK
KyAgIGZ1bjpfWk5LNGJhc2U4RmlsZVBhdGg3RGlyTmFtZUV2CisgICBmdW46X1pOMTFkb21fc3Rv
cmFnZTE4RG9tU3RvcmFnZURhdGFiYXNlMThHZXRKb3VybmFsRmlsZVBhdGhFUktONGJhc2U4Rmls
ZVBhdGhFCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTI3TG9jYWxTdG9yYWdlRGF0YWJhc2VBZGFw
dGVyMTFEZWxldGVGaWxlc0V2CisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE0RG9tU3RvcmFnZUFy
ZWExMkRlbGV0ZU9yaWdpbkV2CisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE5RG9tU3RvcmFnZU5h
bWVzcGFjZTI0RGVsZXRlTG9jYWxTdG9yYWdlT3JpZ2luRVJLNEdVUkwKKyAgIGZ1bjpfWk4xMWRv
bV9zdG9yYWdlMTdEb21TdG9yYWdlQ29udGV4dDE4RGVsZXRlTG9jYWxTdG9yYWdlRVJLNEdVUkwK
K30KK3sKKyAgIGJ1Z18xODEwMzgKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9a
TjNnZng5R0xBcGlCYXNlMTdnbENvbXBpbGVTaGFkZXJGbkVqCisgICBmdW46X1pOM2dwdTVnbGVz
MjE0UHJvZ3JhbU1hbmFnZXIxOEZvcmNlQ29tcGlsZVNoYWRlckVQS1NzUE5TMF82U2hhZGVyRVBO
UzBfMTZTaGFkZXJUcmFuc2xhdG9yRVBOUzBfMTFGZWF0dXJlSW5mb0UKKyAgIGZ1bjpfWk4zZ3B1
NWdsZXMyMTRQcm9ncmFtTWFuYWdlcjE1RG9Db21waWxlU2hhZGVyRVBOUzBfNlNoYWRlckVQTlMw
XzE2U2hhZGVyVHJhbnNsYXRvckVQTlMwXzExRmVhdHVyZUluZm9FCisgICBmdW46X1pOM2dwdTVn
bGVzMjE2R0xFUzJEZWNvZGVySW1wbDE1RG9Db21waWxlU2hhZGVyRWoKK30KK3sKKyAgIGJ1Z18x
ODEwMzhfbGluaworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgLi4uCisgICBm
dW46X1pOM2dmeDlHTEFwaUJhc2UxNWdsTGlua1Byb2dyYW1GbkVqCisgICBmdW46X1pOM2dwdTVn
bGVzMjdQcm9ncmFtNExpbmtFUE5TMF8xM1NoYWRlck1hbmFnZXJFUE5TMF8xNlNoYWRlclRyYW5z
bGF0b3JFUzVfUE5TMF8xMUZlYXR1cmVJbmZvRQorICAgZnVuOl9aTjNncHU1Z2xlczIxNkdMRVMy
RGVjb2RlckltcGwxM0RvTGlua1Byb2dyYW1FagorICAgZnVuOl9aTjNncHU1Z2xlczIxNkdMRVMy
RGVjb2RlckltcGwxN0hhbmRsZUxpbmtQcm9ncmFtRWpSS05TMF80Y21kczExTGlua1Byb2dyYW1F
CisgICBmdW46X1pOM2dwdTVnbGVzMjE2R0xFUzJEZWNvZGVySW1wbDlEb0NvbW1hbmRFampQS3YK
KyAgIGZ1bjpfWk4zZ3B1MTNDb21tYW5kUGFyc2VyMTRQcm9jZXNzQ29tbWFuZEV2CisgICBmdW46
X1pOM2dwdTEyR3B1U2NoZWR1bGVyMTBQdXRDaGFuZ2VkRXYKKyAgIGZ1bjpfWk42d2Via2l0M2dw
dTE4R0xJblByb2Nlc3NDb250ZXh0MTJQdW1wQ29tbWFuZHNFdgorfQorCit7CisgICBidWdfMTgx
MDgyCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMl9HTE9CQUxf
X05fMTI0UmVzb3VyY2VMb2FkZXJCcmlkZ2VJbXBsNVN0YXJ0RVBOMTF3ZWJraXRfZ2x1ZTIwUmVz
b3VyY2VMb2FkZXJCcmlkZ2U0UGVlckUKKyAgIGZ1bjpfWk4xMXdlYmtpdF9nbHVlMTZXZWJVUkxM
b2FkZXJJbXBsN0NvbnRleHQ1U3RhcnRFUktONldlYktpdDEzV2ViVVJMUmVxdWVzdEVQTlNfMjBS
ZXNvdXJjZUxvYWRlckJyaWRnZTE2U3luY0xvYWRSZXNwb25zZUVQTlNfMjVXZWJLaXRQbGF0Zm9y
bVN1cHBvcnRJbXBsRQorICAgZnVuOl9aTjExd2Via2l0X2dsdWUxNldlYlVSTExvYWRlckltcGwx
OGxvYWRBc3luY2hyb25vdXNseUVSS042V2ViS2l0MTNXZWJVUkxSZXF1ZXN0RVBOUzFfMThXZWJV
UkxMb2FkZXJDbGllbnRFCisgICBmdW46X1pON1dlYkNvcmUyMlJlc291cmNlSGFuZGxlSW50ZXJu
YWw1c3RhcnRFdgorICAgZnVuOl9aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTVzdGFydEV2Cisg
ICBmdW46X1pON1dlYkNvcmUxNFJlc291cmNlSGFuZGxlNmNyZWF0ZUVQTlNfMTdOZXR3b3JraW5n
Q29udGV4dEVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RVBOU18yMFJlc291cmNlSGFuZGxlQ2xpZW50
RWJiCisgICBmdW46X1pON1dlYkNvcmUxNFJlc291cmNlTG9hZGVyNXN0YXJ0RXYKKyAgIGZ1bjpf
Wk43V2ViQ29yZTIxUmVzb3VyY2VMb2FkU2NoZWR1bGVyMjBzZXJ2ZVBlbmRpbmdSZXF1ZXN0c0VQ
TlMwXzE1SG9zdEluZm9ybWF0aW9uRU5TXzIwUmVzb3VyY2VMb2FkUHJpb3JpdHlFCisgICBmdW46
X1pON1dlYkNvcmUyMVJlc291cmNlTG9hZFNjaGVkdWxlcjEyc2NoZWR1bGVMb2FkRVBOU18xNFJl
c291cmNlTG9hZGVyRU5TXzIwUmVzb3VyY2VMb2FkUHJpb3JpdHlFCisgICBmdW46X1pON1dlYkNv
cmUyMVJlc291cmNlTG9hZFNjaGVkdWxlcjIzc2NoZWR1bGVTdWJyZXNvdXJjZUxvYWRFUE5TXzVG
cmFtZUVQTlNfMTRDYWNoZWRSZXNvdXJjZUVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RU5TXzIwUmVz
b3VyY2VMb2FkUHJpb3JpdHlFUktOU18yMVJlc291cmNlTG9hZGVyT3B0aW9uc0UKKyAgIGZ1bjpf
Wk43V2ViQ29yZTE0Q2FjaGVkUmVzb3VyY2U0bG9hZEVQTlNfMjBDYWNoZWRSZXNvdXJjZUxvYWRl
ckVSS05TXzIxUmVzb3VyY2VMb2FkZXJPcHRpb25zRQorICAgZnVuOl9aTjdXZWJDb3JlMjBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjE1cmVxdWVzdFJlc291cmNlRU5TXzE0Q2FjaGVkUmVzb3VyY2U0VHlw
ZUVSTlNfMjFDYWNoZWRSZXNvdXJjZVJlcXVlc3RFCit9CisKK3sKKyAgIGJ1Z18xODE2OTEKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1oxMEluaXRUaHJl
YWR2CisgICBmdW46U2hDb21waWxlCisgICBmdW46X1pOM2dwdTVnbGVzMjE2U2hhZGVyVHJhbnNs
YXRvcjlUcmFuc2xhdGVFUEtjCisgICBmdW46X1pOM2dwdTVnbGVzMjE0UHJvZ3JhbU1hbmFnZXIx
OEZvcmNlQ29tcGlsZVNoYWRlckVQS1NzUE5TMF82U2hhZGVyRVBOUzBfMTZTaGFkZXJUcmFuc2xh
dG9yRVBOUzBfMTFGZWF0dXJlSW5mb0UKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTRQcm9ncmFtTWFu
YWdlcjE1RG9Db21waWxlU2hhZGVyRVBOUzBfNlNoYWRlckVQTlMwXzE2U2hhZGVyVHJhbnNsYXRv
ckVQTlMwXzExRmVhdHVyZUluZm9FCit9Cit7CisgICBidWdfMTg0MjY0CisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZTI0Y3JlYXRlRHJhZ0ltYWdlRnJv
bUltYWdlRVBOU181SW1hZ2VFTlNfMjdSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW1FCisgICBm
dW46X1pON1dlYkNvcmU1RnJhbWUyMWRyYWdJbWFnZUZvclNlbGVjdGlvbkV2CisgICBmdW46X1pO
N1dlYkNvcmUyN2NyZWF0ZURyYWdJbWFnZUZvclNlbGVjdGlvbkVQTlNfNUZyYW1lRQorICAgZnVu
Ol9aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjlzdGFydERyYWdFUE5TXzVGcmFtZUVSS05TXzlE
cmFnU3RhdGVFTlNfMTNEcmFnT3BlcmF0aW9uRVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFUktO
U184SW50UG9pbnRFCisgICBmdW46X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjEwaGFuZGxlRHJh
Z0VSS05TXzI4TW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0c0VOU18xOUNoZWNrRHJhZ0h5c3Rl
cmVzaXNFCisgICBmdW46X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjIzaGFuZGxlTW91c2VEcmFn
Z2VkRXZlbnRFUktOU18yOE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHNFCisgICBmdW46X1pO
N1dlYkNvcmUxMkV2ZW50SGFuZGxlcjIwaGFuZGxlTW91c2VNb3ZlRXZlbnRFUktOU18xOFBsYXRm
b3JtTW91c2VFdmVudEVQTlNfMTNIaXRUZXN0UmVzdWx0RWIKKyAgIGZ1bjpfWk43V2ViQ29yZTEy
RXZlbnRIYW5kbGVyMjhwYXNzTW91c2VNb3ZlRXZlbnRUb1N1YmZyYW1lRVJOU18yOE1vdXNlRXZl
bnRXaXRoSGl0VGVzdFJlc3VsdHNFUE5TXzVGcmFtZUVQTlNfMTNIaXRUZXN0UmVzdWx0RQorICAg
ZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIyMGhhbmRsZU1vdXNlTW92ZUV2ZW50RVJLTlNf
MThQbGF0Zm9ybU1vdXNlRXZlbnRFUE5TXzEzSGl0VGVzdFJlc3VsdEViCisgICBmdW46X1pON1dl
YkNvcmUxMkV2ZW50SGFuZGxlcjEwbW91c2VNb3ZlZEVSS05TXzE4UGxhdGZvcm1Nb3VzZUV2ZW50
RQorfQorCit7CisgICBidWdfMTk1MTYwX2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53
KgorICAgZnVuOl9aTjlfX2dudV9jeHgxM25ld19hbGxvY2F0b3JJU3QxM19SYl90cmVlX25vZGVJ
aUVFOGFsbG9jYXRlRW1QS3YKKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlpaVN0OV9JZGVudGl0eUlp
RVN0NGxlc3NJaUVTYUlpRUUxMV9NX2dldF9ub2RlRXYKKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlp
aVN0OV9JZGVudGl0eUlpRVN0NGxlc3NJaUVTYUlpRUUxNF9NX2NyZWF0ZV9ub2RlRVJLaQorICAg
ZnVuOl9aTlN0OF9SYl90cmVlSWlpU3Q5X0lkZW50aXR5SWlFU3Q0bGVzc0lpRVNhSWlFRTEwX01f
aW5zZXJ0X0VQS1N0MThfUmJfdHJlZV9ub2RlX2Jhc2VTOF9SS2kKKyAgIGZ1bjpfWk5TdDhfUmJf
dHJlZUlpaVN0OV9JZGVudGl0eUlpRVN0NGxlc3NJaUVTYUlpRUUxNl9NX2luc2VydF91bmlxdWVF
UktpCisgICBmdW46X1pOU3Qzc2V0SWlTdDRsZXNzSWlFU2FJaUVFNmluc2VydEVSS2kKKyAgIGZ1
bjpfWk4xMGV4dGVuc2lvbnMxMFVSTE1hdGNoZXIxNFVwZGF0ZVRyaWdnZXJzRXYKKyAgIGZ1bjpf
Wk4xMGV4dGVuc2lvbnMxMFVSTE1hdGNoZXIyOFVwZGF0ZUludGVybmFsRGF0YXN0cnVjdHVyZXNF
dgorICAgZnVuOl9aTjEwZXh0ZW5zaW9uczEwVVJMTWF0Y2hlcjE2QWRkQ29uZGl0aW9uU2V0c0VS
S1N0NnZlY3RvckkxM3Njb3BlZF9yZWZwdHJJTlNfMjJVUkxNYXRjaGVyQ29uZGl0aW9uU2V0RUVT
YUlTNF9FRQorICAgZnVuOl9aTjEyX0dMT0JBTF9fTl8xMTNGaWx0ZXJCdWlsZGVyNUJ1aWxkRXYK
KyAgIGZ1bjpfWk4xMl9HTE9CQUxfX05fMTM0TG9hZFdoaXRlbGlzdHNPbkJsb2NraW5nUG9vbFRo
cmVhZEUxMlNjb3BlZFZlY3RvckkxOU1hbmFnZWRNb2RlU2l0ZUxpc3RFCit9Cit7CisgICBidWdf
MTk1MTYwX2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2du
dV9jeHgxM25ld19hbGxvY2F0b3JJU3QxM19SYl90cmVlX25vZGVJUE4xMGV4dGVuc2lvbnMxM1N0
cmluZ1BhdHRlcm5FRUU4YWxsb2NhdGVFbVBLdgorICAgZnVuOl9aTlN0OF9SYl90cmVlSVBOMTBl
eHRlbnNpb25zMTNTdHJpbmdQYXR0ZXJuRVMyX1N0OV9JZGVudGl0eUlTMl9FTlMwXzI2VVJMTWF0
Y2hlckNvbmRpdGlvbkZhY3RvcnkyN1N0cmluZ1BhdHRlcm5Qb2ludGVyQ29tcGFyZUVTYUlTMl9F
RTExX01fZ2V0X25vZGVFdgorICAgZnVuOl9aTlN0OF9SYl90cmVlSVBOMTBleHRlbnNpb25zMTNT
dHJpbmdQYXR0ZXJuRVMyX1N0OV9JZGVudGl0eUlTMl9FTlMwXzI2VVJMTWF0Y2hlckNvbmRpdGlv
bkZhY3RvcnkyN1N0cmluZ1BhdHRlcm5Qb2ludGVyQ29tcGFyZUVTYUlTMl9FRTE0X01fY3JlYXRl
X25vZGVFUktTMl8KKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlQTjEwZXh0ZW5zaW9uczEzU3RyaW5n
UGF0dGVybkVTMl9TdDlfSWRlbnRpdHlJUzJfRU5TMF8yNlVSTE1hdGNoZXJDb25kaXRpb25GYWN0
b3J5MjdTdHJpbmdQYXR0ZXJuUG9pbnRlckNvbXBhcmVFU2FJUzJfRUUxMF9NX2luc2VydF9FUEtT
dDE4X1JiX3RyZWVfbm9kZV9iYXNlU0JfUktTMl8KKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlQTjEw
ZXh0ZW5zaW9uczEzU3RyaW5nUGF0dGVybkVTMl9TdDlfSWRlbnRpdHlJUzJfRU5TMF8yNlVSTE1h
dGNoZXJDb25kaXRpb25GYWN0b3J5MjdTdHJpbmdQYXR0ZXJuUG9pbnRlckNvbXBhcmVFU2FJUzJf
RUUxNl9NX2luc2VydF91bmlxdWVFUktTMl8KKyAgIGZ1bjpfWk5TdDNzZXRJUE4xMGV4dGVuc2lv
bnMxM1N0cmluZ1BhdHRlcm5FTlMwXzI2VVJMTWF0Y2hlckNvbmRpdGlvbkZhY3RvcnkyN1N0cmlu
Z1BhdHRlcm5Qb2ludGVyQ29tcGFyZUVTYUlTMl9FRTZpbnNlcnRFUktTMl8KKyAgIGZ1bjpfWk4x
MGV4dGVuc2lvbnMyNlVSTE1hdGNoZXJDb25kaXRpb25GYWN0b3J5MTVDcmVhdGVDb25kaXRpb25F
TlNfMTlVUkxNYXRjaGVyQ29uZGl0aW9uOUNyaXRlcmlvbkVSS1NzCisgICBmdW46X1pOMTBleHRl
bnNpb25zMjZVUkxNYXRjaGVyQ29uZGl0aW9uRmFjdG9yeTM1Q3JlYXRlSG9zdFN1ZmZpeFBhdGhQ
cmVmaXhDb25kaXRpb25FUktTc1MyXworICAgZnVuOl9aTjZwb2xpY3kxMlVSTEJsYWNrbGlzdDE4
Q3JlYXRlQ29uZGl0aW9uU2V0RVBOMTBleHRlbnNpb25zMTBVUkxNYXRjaGVyRWlSS1NzUzVfYnRT
NV8KKyAgIGZ1bjpfWk4xMl9HTE9CQUxfX05fMTEzRmlsdGVyQnVpbGRlcjEwQWRkUGF0dGVybkVS
S1NzaQorICAgZnVuOl9aTjEyX0dMT0JBTF9fTl8xMTNGaWx0ZXJCdWlsZGVyMTFBZGRTaXRlTGlz
dEVQMTlNYW5hZ2VkTW9kZVNpdGVMaXN0CisgICBmdW46X1pOMTJfR0xPQkFMX19OXzEzNExvYWRX
aGl0ZWxpc3RzT25CbG9ja2luZ1Bvb2xUaHJlYWRFMTJTY29wZWRWZWN0b3JJMTlNYW5hZ2VkTW9k
ZVNpdGVMaXN0RQorfQoreworICAgYnVnXzE5NTE2MF9jCisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZThpbnRlcm5hbDIwUG9zdFRhc2tBbmRSZXBseUltcGwx
NlBvc3RUYXNrQW5kUmVwbHlFUktOMTV0cmFja2VkX29iamVjdHM4TG9jYXRpb25FUktOU184Q2Fs
bGJhY2tJRnZ2RUVFU0FfCisgICBmdW46X1pONGJhc2UxMFRhc2tSdW5uZXIxNlBvc3RUYXNrQW5k
UmVwbHlFUktOMTV0cmFja2VkX29iamVjdHM4TG9jYXRpb25FUktOU184Q2FsbGJhY2tJRnZ2RUVF
UzlfCisgICBmdW46X1pONGJhc2UyNlBvc3RUYXNrQW5kUmVwbHlXaXRoUmVzdWx0STEwc2NvcGVk
X3B0cklOMjBNYW5hZ2VkTW9kZVVSTEZpbHRlcjhDb250ZW50c0VOU18xNERlZmF1bHREZWxldGVy
SVMzX0VFRVM2X0VFYlBOU18xMFRhc2tSdW5uZXJFUktOMTV0cmFja2VkX29iamVjdHM4TG9jYXRp
b25FUktOU184Q2FsbGJhY2tJRlRfdkVFRVJLTlNEX0lGdlQwX0VFRQorICAgZnVuOl9aTjIwTWFu
YWdlZE1vZGVVUkxGaWx0ZXIxNExvYWRXaGl0ZWxpc3RzRTEyU2NvcGVkVmVjdG9ySTE5TWFuYWdl
ZE1vZGVTaXRlTGlzdEUKK30KK3sKKyAgIGJ1Z18yMjIzNjMKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpfWm53KgorICAgZnVuOl9aTjE4V2ViRGF0YWJhc2VTZXJ2aWNlMTJMb2FkRGF0YWJhc2VF
UktONGJhc2U4Q2FsbGJhY2tJRnZOM3NxbDEwSW5pdFN0YXR1c0VFRUUKK30KKworeworICAgYnVn
XzIyMjg4MAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYx
MGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxNlZlY3RvckJ1ZmZlckJhc2VJTlNfNlJlZlB0
cklON1dlYkNvcmU3QXJjaGl2ZUVFRUUxNGFsbG9jYXRlQnVmZmVyRW0KKyAgIC4uLgorICAgZnVu
Ol9aTjdXZWJDb3JlN0FyY2hpdmUxOGFkZFN1YmZyYW1lQXJjaGl2ZUVOM1dURjEwUGFzc1JlZlB0
cklTMF9FRQorICAgZnVuOl9aTjdXZWJDb3JlMTFNSFRNTFBhcnNlcjIycGFyc2VBcmNoaXZlV2l0
aEhlYWRlckVQTlNfMTBNSU1FSGVhZGVyRQorICAgZnVuOl9aTjdXZWJDb3JlMTFNSFRNTFBhcnNl
cjEycGFyc2VBcmNoaXZlRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTEyTUhUTUxBcmNoaXZlNmNyZWF0
ZUVSS05TXzRLVVJMRVBOU18xMlNoYXJlZEJ1ZmZlckUKK30KKworeworICAgYnVnXzIyMjg4Nwor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pONndlYmtpdDNncHUxOEdM
SW5Qcm9jZXNzQ29udGV4dDEwSW5pdGlhbGl6ZUVSS04zZ2Z4NFNpemVFUFMxX1BLY1BLaU5TMl8x
M0dwdVByZWZlcmVuY2VFCisgICBmdW46X1pONndlYmtpdDNncHUxOEdMSW5Qcm9jZXNzQ29udGV4
dDIyQ3JlYXRlT2Zmc2NyZWVuQ29udGV4dEVQUzFfUktOM2dmeDRTaXplRVMyX1BLY1BLaU5TM18x
M0dwdVByZWZlcmVuY2VFCisgICBmdW46X1pONndlYmtpdDNncHU0NldlYkdyYXBoaWNzQ29udGV4
dDNESW5Qcm9jZXNzQ29tbWFuZEJ1ZmZlckltcGwxMEluaXRpYWxpemVFTjZXZWJLaXQyMFdlYkdy
YXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRVBTM18KKyAgIGZ1bjpfWk4yNVRlc3RXZWJLaXRQ
bGF0Zm9ybVN1cHBvcnQzMmNyZWF0ZU9mZnNjcmVlbkdyYXBoaWNzQ29udGV4dDNERVJLTjZXZWJL
aXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRQorICAgZnVuOl9aTjdXZWJDb3Jl
MTdHcmFwaGljc0NvbnRleHQzRDZjcmVhdGVFTlMwXzEwQXR0cmlidXRlc0VQTlNfMTBIb3N0V2lu
ZG93RU5TMF8xMVJlbmRlclN0eWxlRQorfQoreworICAgYnVnXzIyMjg5OAorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVu
Ol9aTjNXVEY5Qml0VmVjdG9yMTNPdXRPZkxpbmVCaXRzNmNyZWF0ZUVtCisgICBmdW46X1pOM1dU
RjlCaXRWZWN0b3IxNXJlc2l6ZU91dE9mTGluZUVtCisgICBmdW46X1pOM1dURjlCaXRWZWN0b3Ix
MGVuc3VyZVNpemVFbQorICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9yQzFFbQorICAgZnVuOl9aTjdX
ZWJDb3JlMTBVc2VDb3VudGVyMTBkaWRPYnNlcnZlRU5TMF83RmVhdHVyZUUKKyAgIGZ1bjpfWk43
V2ViQ29yZTEwVXNlQ291bnRlcjdvYnNlcnZlRVBOU184RG9jdW1lbnRFTlMwXzdGZWF0dXJlRQor
fQoreworICAgYnVnXzIyNDc0NworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pONGJhc2U4aW50ZXJuYWwyMFBvc3RUYXNrQW5kUmVwbHlJbXBsMTZQb3N0VGFza0FuZFJl
cGx5RVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVNB
XworICAgLi4uCisgICBmdW46X1pONjRCYWNrZ3JvdW5kQXBwbGljYXRpb25MaXN0TW9kZWxUZXN0
X0FkZFJlbW92ZVBlcm1pc3Npb25zVGVzdF9UZXN0OFRlc3RCb2R5RXYKK30KK3sKKyAgIFdlYkNv
cmU6OlBsdWdpbkRhdGFiYXNlIHVuaW5pdCB2YWx1ZQorICAgTWVtY2hlY2s6VmFsdWU4CisgICBm
dW46X1pON1dlYkNvcmUxNFBsdWdpbkRhdGFiYXNlM2FkZEVOM1dURjEwUGFzc1JlZlB0cklOU18x
M1BsdWdpblBhY2thZ2VFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE0UGx1Z2luRGF0YWJhc2U3cmVm
cmVzaEV2CisgICBmdW46d2Via2l0X3dlYl9zZXR0aW5nc19hZGRfZXh0cmFfcGx1Z2luX2RpcmVj
dG9yeQorICAgZnVuOm1haW4KK30KK3sKKyAgIFJlbmRlclN0eWxlIHVuaW5pdCBjb25kCisgICBN
ZW1jaGVjazpDb25kCisgICBmdW46X1pOM1dURjhmYXN0RnJlZUVQdgorICAgZnVuOl9aTjdXZWJD
b3JlMTFSZW5kZXJTdHlsZUQxRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTdFbGVtZW50MTFyZWNhbGNT
dHlsZUVOU180Tm9kZTExU3R5bGVDaGFuZ2VFCisgICBmdW46X1pON1dlYkNvcmU3RWxlbWVudDEx
cmVjYWxjU3R5bGVFTlNfNE5vZGUxMVN0eWxlQ2hhbmdlRQorICAgZnVuOl9aTjdXZWJDb3JlOERv
Y3VtZW50MTFyZWNhbGNTdHlsZUVOU180Tm9kZTExU3R5bGVDaGFuZ2VFCisgICBmdW46X1pON1dl
YkNvcmU4RG9jdW1lbnQxOXVwZGF0ZVN0eWxlSWZOZWVkZWRFdgorICAgZnVuOl9aTjdXZWJDb3Jl
OUZyYW1lVmlldzZsYXlvdXRFYgorICAgZnVuOl9aTjdXZWJDb3JlOUZyYW1lVmlldzIydmlzaWJs
ZUNvbnRlbnRzUmVzaXplZEV2CisgICBmdW46X1pON1dlYkNvcmUxMFNjcm9sbFZpZXcxNnVwZGF0
ZVNjcm9sbGJhcnNFUktOU183SW50U2l6ZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEwU2Nyb2xsVmll
dzEyc2V0RnJhbWVSZWN0RVJLTlNfN0ludFJlY3RFCisgICBmdW46X1pON1dlYkNvcmU5RnJhbWVW
aWV3MTJzZXRGcmFtZVJlY3RFUktOU183SW50UmVjdEUKK30KK3sKKyAgIFdlYkNvcmU6OkVsZW1l
bnQ6OmNyZWF0ZVJlbmRlcmVyIGZyZWUgdW5pbml0IGNvbmQKKyAgIE1lbWNoZWNrOkNvbmQKKyAg
IGZ1bjpfWk4zV1RGOGZhc3RGcmVlRVB2CisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTdFbGVt
ZW50MjJjcmVhdGVSZW5kZXJlcklmTmVlZGVkRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTdFbGVtZW50
NmF0dGFjaEV2CisgICBmdW46X1pON1dlYkNvcmUyMEhUTUxDb25zdHJ1Y3Rpb25TaXRlMThleGVj
dXRlUXVldWVkVGFza3NFdgorICAgZnVuOl9aTjdXZWJDb3JlMThIVE1MRG9jdW1lbnRQYXJzZXIy
NmNvbnN0cnVjdFRyZWVGcm9tSFRNTFRva2VuRVJOU185SFRNTFRva2VuRQorICAgZnVuOl9aTjdX
ZWJDb3JlMThIVE1MRG9jdW1lbnRQYXJzZXIxM3B1bXBUb2tlbml6ZXJFTlMwXzE1U3luY2hyb25v
dXNNb2RlRQorICAgZnVuOl9aTjdXZWJDb3JlMThIVE1MRG9jdW1lbnRQYXJzZXI2YXBwZW5kRU4z
V1RGMTBQYXNzUmVmUHRySU5TMV8xMFN0cmluZ0ltcGxFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTI1
RGVjb2RlZERhdGFEb2N1bWVudFBhcnNlcjExYXBwZW5kQnl0ZXNFUE5TXzE0RG9jdW1lbnRXcml0
ZXJFUEtjbQorICAgZnVuOl9aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjEwY29tbWl0RGF0YUVQ
S2NtCisgICBmdW46X1pONldlYktpdDE3RnJhbWVMb2FkZXJDbGllbnQxM2NvbW1pdHRlZExvYWRF
UE43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXJFUEtjaQorICAgZnVuOl9aTjdXZWJDb3JlMTREb2N1
bWVudExvYWRlcjEwY29tbWl0TG9hZEVQS2NpCit9Cit7CisgICBWZWN0b3I6OkV4cHJlc3Npb25S
YW5nZUluZm8gb3ZlcmZsb3cgY3Jhc2ggY29uZAorICAgTWVtY2hlY2s6Q29uZAorICAgZnVuOl9a
TjNXVEY4ZmFzdEZyZWVFUHYKKyAgIGZ1bjpfWk4zV1RGNlZlY3RvcklOM0pTQzE5RXhwcmVzc2lv
blJhbmdlSW5mb0VMbTBFTlNfMTVDcmFzaE9uT3ZlcmZsb3dFRTE0YXBwZW5kU2xvd0Nhc2VJUzJf
RUV2UktUXworICAgLi4uCisgICBmdW46X1pOM0pTQzE3Qnl0ZWNvZGVHZW5lcmF0b3I4Z2VuZXJh
dGVFdgorICAgZnVuOl9aTjNKU0M5Q29kZUNhY2hlMTJnZXRDb2RlQmxvY2tJTlNfMjRVbmxpbmtl
ZFByb2dyYW1Db2RlQmxvY2tFTlNfMTdQcm9ncmFtRXhlY3V0YWJsZUVFRVBUX1JOU18yVk1FUE5T
XzdKU1Njb3BlRVBUMF9SS05TXzEwU291cmNlQ29kZUVOU18xOEpTUGFyc2VyU3RyaWN0bmVzc0VO
U18xMkRlYnVnZ2VyTW9kZUVOU18xMlByb2ZpbGVyTW9kZUVSTlNfMTFQYXJzZXJFcnJvckUKKyAg
IGZ1bjpfWk4zSlNDOUNvZGVDYWNoZTE5Z2V0UHJvZ3JhbUNvZGVCbG9ja0VSTlNfMlZNRVBOU18x
N1Byb2dyYW1FeGVjdXRhYmxlRVJLTlNfMTBTb3VyY2VDb2RlRU5TXzE4SlNQYXJzZXJTdHJpY3Ru
ZXNzRU5TXzEyRGVidWdnZXJNb2RlRU5TXzEyUHJvZmlsZXJNb2RlRVJOU18xMVBhcnNlckVycm9y
RQorICAgZnVuOl9aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MjJjcmVhdGVQcm9ncmFtQ29kZUJsb2Nr
RVBOU185RXhlY1N0YXRlRVBOU18xN1Byb2dyYW1FeGVjdXRhYmxlRVBQTlNfOEpTT2JqZWN0RQor
ICAgZnVuOl9aTjNKU0MxN1Byb2dyYW1FeGVjdXRhYmxlMjZpbml0aWFsaXplR2xvYmFsUHJvcGVy
dGllc0VSTlNfMlZNRVBOU185RXhlY1N0YXRlRVBOU183SlNTY29wZUUKKyAgIGZ1bjpfWk4zSlND
MTFJbnRlcnByZXRlcjdleGVjdXRlRVBOU18xN1Byb2dyYW1FeGVjdXRhYmxlRVBOU185RXhlY1N0
YXRlRVBOU184SlNPYmplY3RFCisgICBmdW46X1pOM0pTQzhldmFsdWF0ZUVQTlNfOUV4ZWNTdGF0
ZUVSS05TXzEwU291cmNlQ29kZUVOU183SlNWYWx1ZUVQUzVfCisgICBmdW46X1pON1dlYkNvcmUx
NlNjcmlwdENvbnRyb2xsZXIxNWV2YWx1YXRlSW5Xb3JsZEVSS05TXzE2U2NyaXB0U291cmNlQ29k
ZUVQTlNfMTVET01XcmFwcGVyV29ybGRFCisgICBmdW46X1pON1dlYkNvcmUxNlNjcmlwdENvbnRy
b2xsZXI4ZXZhbHVhdGVFUktOU18xNlNjcmlwdFNvdXJjZUNvZGVFCisgICBmdW46X1pON1dlYkNv
cmUxM1NjcmlwdEVsZW1lbnQxM2V4ZWN1dGVTY3JpcHRFUktOU18xNlNjcmlwdFNvdXJjZUNvZGVF
CisgICBmdW46X1pON1dlYkNvcmUxM1NjcmlwdEVsZW1lbnQxM3ByZXBhcmVTY3JpcHRFUktOM1dU
RjEyVGV4dFBvc2l0aW9uRU5TMF8xN0xlZ2FjeVR5cGVTdXBwb3J0RQorICAgZnVuOl9aTjdXZWJD
b3JlMTZIVE1MU2NyaXB0UnVubmVyOXJ1blNjcmlwdEVQTlNfN0VsZW1lbnRFUktOM1dURjEyVGV4
dFBvc2l0aW9uRQorICAgZnVuOl9aTjdXZWJDb3JlMTZIVE1MU2NyaXB0UnVubmVyN2V4ZWN1dGVF
TjNXVEYxMFBhc3NSZWZQdHJJTlNfN0VsZW1lbnRFRUVSS05TMV8xMlRleHRQb3NpdGlvbkUKK30K
K3sKKyAgIEphdmFDYWxsczo6Y2FsbF9oZWxwZXIgaW52YWxpZCBhZGRyZXNzCisgICBNZW1jaGVj
azpBZGRyNAorICAgLi4uCisgICBmdW46X1pOOUphdmFDYWxsczExY2FsbF9oZWxwZXJFUDlKYXZh
VmFsdWVQMTJtZXRob2RIYW5kbGVQMTdKYXZhQ2FsbEFyZ3VtZW50c1A2VGhyZWFkCisgICBmdW46
X1pOOUphdmFDYWxsczRjYWxsRVA5SmF2YVZhbHVlMTJtZXRob2RIYW5kbGVQMTdKYXZhQ2FsbEFy
Z3VtZW50c1A2VGhyZWFkCisgICAuLi4KK30KK3sKKyAgIFdlYkNvcmU6OlNjcmlwdENvbnRyb2xs
ZXIgdW5pbml0IGNvbmQKKyAgIE1lbWNoZWNrOkNvbmQKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJD
b3JlMTZTY3JpcHRDb250cm9sbGVyMTVldmFsdWF0ZUluV29ybGRFUktOU18xNlNjcmlwdFNvdXJj
ZUNvZGVFUE5TXzE1RE9NV3JhcHBlcldvcmxkRQorICAgZnVuOl9aTjdXZWJDb3JlMTZTY3JpcHRD
b250cm9sbGVyOGV2YWx1YXRlRVJLTlNfMTZTY3JpcHRTb3VyY2VDb2RlRQorICAgZnVuOl9aTjdX
ZWJDb3JlMTNTY3JpcHRFbGVtZW50MTNleGVjdXRlU2NyaXB0RVJLTlNfMTZTY3JpcHRTb3VyY2VD
b2RlRQorfQoreworICAgSGVhcDo6Y29sbGVjdCB1bmluaXQgdmFsdWUKKyAgIE1lbWNoZWNrOlZh
bHVlOAorICAgLi4uCisgICBmdW46X1pOM0pTQzRIZWFwN2NvbGxlY3RFTlMwXzExU3dlZXBUb2dn
bGVFCisgICBmdW46X1pON1dlYkNvcmUxMkdDQ29udHJvbGxlcjE3Z2FyYmFnZUNvbGxlY3ROb3dF
dgorICAgZnVuOl9aTDE1Y29sbGVjdENhbGxiYWNrUEsxNU9wYXF1ZUpTQ29udGV4dFAxM09wYXF1
ZUpTVmFsdWVTM19tUEtQS1MyX1BTNV8KKyAgIGZ1bjpfWk4zSlNDMThKU0NhbGxiYWNrRnVuY3Rp
b240Y2FsbEVQTlNfOUV4ZWNTdGF0ZUUKKyAgIGZ1bjpfWk4zSlNDNUxMSW50TDE0aGFuZGxlSG9z
dENhbGxFUE5TXzlFeGVjU3RhdGVFUE5TXzExSW5zdHJ1Y3Rpb25FTlNfN0pTVmFsdWVFTlNfMjJD
b2RlU3BlY2lhbGl6YXRpb25LaW5kRQorICAgZnVuOmxsaW50X3Nsb3dfcGF0aF9jYWxsCisgICBv
Ymo6Ki9saWJqYXZhc2NyaXB0Y29yZWd0ay0zLjAuc28uKgorICAgZnVuOl9aTjNKU0MxMUludGVy
cHJldGVyN2V4ZWN1dGVFUE5TXzE3UHJvZ3JhbUV4ZWN1dGFibGVFUE5TXzlFeGVjU3RhdGVFUE5T
XzhKU09iamVjdEUKK30KK3sKKyAgIEhlYXA6OmNvbGxlY3QgdW5pbml0IGNvbmQKKyAgIE1lbWNo
ZWNrOkNvbmQKKyAgIC4uLgorICAgZnVuOl9aTjNKU0M0SGVhcDdjb2xsZWN0RU5TMF8xMVN3ZWVw
VG9nZ2xlRQorICAgZnVuOl9aTjdXZWJDb3JlTDdjb2xsZWN0RVB2Cit9Cit7CisgICBIZWFwOjpj
b2xsZWN0IHVuaW5pdCB2YWx1ZSAyCisgICBNZW1jaGVjazpWYWx1ZTgKKyAgIC4uLgorICAgZnVu
Ol9aTjNKU0M0SGVhcDdjb2xsZWN0RU5TMF8xMVN3ZWVwVG9nZ2xlRQorICAgZnVuOl9aTjdXZWJD
b3JlTDdjb2xsZWN0RVB2Cit9Cit7CisgICBXZWJDb3JlOjpQbHVnaW5QYWNrYWdlIGxlYWsKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjoqYWxsb2MKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3Jl
MTNQbHVnaW5QYWNrYWdlOWZldGNoSW5mb0V2CisgICBmdW46X1pON1dlYkNvcmUxM1BsdWdpblBh
Y2thZ2UxM2NyZWF0ZVBhY2thZ2VFUktOM1dURjZTdHJpbmdFUktsCisgICBmdW46X1pON1dlYkNv
cmUxNFBsdWdpbkRhdGFiYXNlN3JlZnJlc2hFdgorICAgZnVuOl9aTjdXZWJDb3JlMTRQbHVnaW5E
YXRhYmFzZTE2aW5zdGFsbGVkUGx1Z2luc0ViCit9Cit7CisgICBDb25zZXJ2YXRpdmVSb290cyB1
bmluaXQgdmFsdWUKKyAgIE1lbWNoZWNrOlZhbHVlOAorICAgZnVuOl9aTjNKU0MxN0NvbnNlcnZh
dGl2ZVJvb3RzMTRnZW5lcmljQWRkU3BhbklOU18xM0R1bW15TWFya0hvb2tFRUV2UHZTM19SVF8K
K30KKworeworICAgV2ViQ29yZTo6UmVuZGVyT2JqZWN0IHVuaW5pdCBjb25kCisgICBNZW1jaGVj
azpDb25kCisgICBmdW46X1pOM1dURjhmYXN0RnJlZUVQdgorICAgZnVuOl9aTjdXZWJDb3JlMTJS
ZW5kZXJPYmplY3REMUV2CisgICBmdW46X1pON1dlYkNvcmUxMVJlbmRlckJsb2NrRDFFdgorICAg
ZnVuOl9aTjdXZWJDb3JlMTFSZW5kZXJCbG9ja0QwRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTEyUmVu
ZGVyT2JqZWN0MTFhcmVuYURlbGV0ZUVQTlNfMTFSZW5kZXJBcmVuYUVQdgorICAgZnVuOl9aTjdX
ZWJDb3JlNE5vZGU2ZGV0YWNoRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTdFbGVtZW50NmRldGFjaEV2
CisgICBmdW46X1pON1dlYkNvcmUxM0NvbnRhaW5lck5vZGU2ZGV0YWNoRXYKKyAgIGZ1bjpfWk43
V2ViQ29yZTdFbGVtZW50NmRldGFjaEV2CisgICBmdW46X1pON1dlYkNvcmUxM0NvbnRhaW5lck5v
ZGU2ZGV0YWNoRXYKKyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1bWVudDZkZXRhY2hFdgorICAgZnVu
Ol9aTjdXZWJDb3JlNUZyYW1lN3NldFZpZXdFTjNXVEYxMFBhc3NSZWZQdHJJTlNfOUZyYW1lVmll
d0VFRQorICAgZnVuOl9aTjdXZWJDb3JlNUZyYW1lMTBjcmVhdGVWaWV3RVJLTlNfN0ludFNpemVF
UktOU181Q29sb3JFYlMzX1JLTlNfN0ludFJlY3RFYk5TXzEzU2Nyb2xsYmFyTW9kZUViU0FfYgor
ICAgZnVuOl9aTjZXZWJLaXQxN0ZyYW1lTG9hZGVyQ2xpZW50MzF0cmFuc2l0aW9uVG9Db21taXR0
ZWRGb3JOZXdQYWdlRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMXRyYW5zaXRp
b25Ub0NvbW1pdHRlZEVOM1dURjEwUGFzc1JlZlB0cklOU18xMENhY2hlZFBhZ2VFRUUKKyAgIGZ1
bjpfWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWNvbW1pdFByb3Zpc2lvbmFsTG9hZEV2CisgICBm
dW46X1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTBjb21taXRMb2FkRVBLY2kKKyAgIGZ1bjpf
Wk43V2ViQ29yZTE3Q2FjaGVkUmF3UmVzb3VyY2U0ZGF0YUVOM1dURjEwUGFzc1JlZlB0cklOU18x
NFJlc291cmNlQnVmZmVyRUVFYgorICAgZnVuOl9aTjdXZWJDb3JlMTdTdWJyZXNvdXJjZUxvYWRl
cjE4c2VuZERhdGFUb1Jlc291cmNlRVBLY2kKKyAgIGZ1bjpfWk43V2ViQ29yZTE3U3VicmVzb3Vy
Y2VMb2FkZXIyMmRpZFJlY2VpdmVEYXRhT3JCdWZmZXJFUEtjaU4zV1RGMTBQYXNzUmVmUHRySU5T
XzEyU2hhcmVkQnVmZmVyRUVFeE5TXzE1RGF0YVBheWxvYWRUeXBlRQorICAgZnVuOl9aTjdXZWJD
b3JlMTdTdWJyZXNvdXJjZUxvYWRlcjE0ZGlkUmVjZWl2ZURhdGFFUEtjaXhOU18xNURhdGFQYXls
b2FkVHlwZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE0UmVzb3VyY2VMb2FkZXIxNGRpZFJlY2VpdmVE
YXRhRVBOU18xNFJlc291cmNlSGFuZGxlRVBLY2lpCisgICBmdW46X1pON1dlYkNvcmVMMTJyZWFk
Q2FsbGJhY2tFUDhfR09iamVjdFAxM19HQXN5bmNSZXN1bHRQdgorICAgZnVuOmFzeW5jX3JlYWR5
X2NhbGxiYWNrX3dyYXBwZXIKK30KK3sKKyAgIFNsb3RWaXNpdG9yOjpkcmFpbiB1bmluaXQgdmFs
dWUKKyAgIE1lbWNoZWNrOlZhbHVlOAorICAgLi4uCisgICBmdW46X1pOM0pTQzExU2xvdFZpc2l0
b3I1ZHJhaW5FdgorICAgZnVuOl9aTjNKU0MxMVNsb3RWaXNpdG9yMTVkcmFpbkZyb21TaGFyZWRF
TlMwXzE1U2hhcmVkRHJhaW5Nb2RlRQorICAgZnVuOl9aTjNKU0M4R0NUaHJlYWQxMmdjVGhyZWFk
TWFpbkV2CisgICBmdW46X1pOM1dURkwxOXd0ZlRocmVhZEVudHJ5UG9pbnRFUHYKKyAgIGZ1bjpz
dGFydF90aHJlYWQKKyAgIGZ1bjpjbG9uZQorfQoreworICAgU2xvdFZpc2l0b3I6OmRyYWluIHVu
aW5pdCBjb25kCisgICBNZW1jaGVjazpDb25kCisgICAuLi4KKyAgIGZ1bjpfWk4zSlNDMTFTbG90
VmlzaXRvcjVkcmFpbkV2CisgICBmdW46X1pOM0pTQzExU2xvdFZpc2l0b3IxNWRyYWluRnJvbVNo
YXJlZEVOUzBfMTVTaGFyZWREcmFpbk1vZGVFCisgICBmdW46X1pOM0pTQzhHQ1RocmVhZDEyZ2NU
aHJlYWRNYWluRXYKKyAgIGZ1bjpfWk4zV1RGTDE5d3RmVGhyZWFkRW50cnlQb2ludEVQdgorICAg
ZnVuOnN0YXJ0X3RocmVhZAorICAgZnVuOmNsb25lCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203916</attachid>
            <date>2013-06-06 02:29:03 -0700</date>
            <delta_ts>2013-07-04 05:58:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116317-20130606102730.patch</filename>
            <type>text/plain</type>
            <size>144835</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxMjAyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjgwMTlkMDRlMjQ4NjJjY2FlYjk4ZWZjMjQ1MTNjNDUy
NTk3YWExMy4uNjFkMmY5ZTE5OGNjY2I4Mjk0Mjc2YjhjMjRiYjA1Nzk4MjM0MGQ5MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg2
IEBACisyMDEzLTA2LTA2ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbV0lQXVtHVEtdIFN1cHBvcnQgbWVtb3J5IGxlYWsgY2hlY2tpbmcgd2l0aCB2YWxn
cmluZC9tZW1jaGVjay4KKworICAgICAgICBbR1RLXSBNZXRhYnVnOiBNZW1vcnkgbGVhayBkZXRl
Y3Rpb24gdXNpbmcgdmFsZ3JpbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNjMxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIExhdW5jaCB0aGUgRFJUIHVuZGVyIFZhbGdyaW5kIHRvIGdlbmVyYXRlIGEg
eG1sIGZpbGUgd2l0aCBkZXRhaWxzCisgICAgICAgIG9mIGxlYWtzIGZvdW5kLCBhbmQgdGhlbiB0
byBwYXJzZSB0aGlzIGZpbGUgYW5kIGRpc3BsYXkgdGhpcworICAgICAgICBpbmZvcm1hdGlvbi4g
IEZhaWx1cmVzIHNob3VsZCByZXN1bHQgaW4gdGhlIGZpbGluZyBvZiBtZW1vcnkgYnVncworICAg
ICAgICBhbmQgYWRkaW5nIHRoZSBlcnJvciB0byB0aGUgc3VwcHJlc3Npb24gZmlsZS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6
CisgICAgICAgIChwYXJzZV9hcmdzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
YmFzZS5weToKKyAgICAgICAgKFBvcnQuY2hlY2tfZm9yX2xlYWtzKToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvY29tbW9uLnB5OiBBZGRlZC4KKyAgICAgICAgKE5vdEltcGxlbWVu
dGVkRXJyb3IpOgorICAgICAgICAoVGltZW91dEVycm9yKToKKyAgICAgICAgKF9wcmludF9saW5l
KToKKyAgICAgICAgKFJ1blN1YnByb2Nlc3NJbkJhY2tncm91bmQpOgorICAgICAgICAoUnVuU3Vi
cHJvY2Vzcyk6CisgICAgICAgIChJc0xpbnV4KToKKyAgICAgICAgKElzTWFjKToKKyAgICAgICAg
KElzV2luZG93cyk6CisgICAgICAgIChXaW5kb3dzVmVyc2lvbk5hbWUpOgorICAgICAgICAoUGxh
dGZvcm1OYW1lcyk6CisgICAgICAgIChQdXRFbnZBbmRMb2cpOgorICAgICAgICAoQm9yaW5nQ2Fs
bGVycyk6CisgICAgICAgIChOb3JtYWxpemVXaW5kb3dzUGF0aCk6CisgICAgICAgIChQcmludFVz
ZWRTdXBwcmVzc2lvbnNMaXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ2Ri
X2hlbHBlci5weTogQWRkZWQuCisgICAgICAgIChfR2RiT3V0cHV0VG9GaWxlTGluZSk6CisgICAg
ICAgIChSZXNvbHZlQWRkcmVzc2VzV2l0aGluQUJpbmFyeSk6CisgICAgICAgIChBZGRyZXNzVGFi
bGUpOgorICAgICAgICAoQWRkcmVzc1RhYmxlLl9faW5pdF9fKToKKyAgICAgICAgKEFkZHJlc3NU
YWJsZS5BZGRCaW5hcnlBdCk6CisgICAgICAgIChBZGRyZXNzVGFibGUuQWRkKToKKyAgICAgICAg
KEFkZHJlc3NUYWJsZS5SZXNvbHZlQWxsKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5HZXRGaWxl
TGluZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAg
KEd0a1BvcnQuX19pbml0X18pOgorICAgICAgICAoR3RrUG9ydC5kZWZhdWx0X3RpbWVvdXRfbXMp
OgorICAgICAgICAoR3RrUG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAgICAgICAgKEd0a1Bv
cnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAgICAgICAgKEd0a1BvcnQuY2hlY2tfZm9y
X2xlYWtzKToKKyAgICAgICAgKEd0a1BvcnQpOgorICAgICAgICAoR3RrUG9ydC5wcmludF9sZWFr
c19zdW1tYXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX2xlYWtkZXRl
Y3Rvci5weTogQWRkZWQuCisgICAgICAgIChHdGtMZWFrRGV0ZWN0b3IpOgorICAgICAgICAoR3Rr
TGVha0RldGVjdG9yLl9faW5pdF9fKToKKyAgICAgICAgKEd0a0xlYWtEZXRlY3Rvci5wYXJzZV9s
ZWFrc19vdXRwdXQpOgorICAgICAgICAoR3RrTGVha0RldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2Rp
cmVjdG9yeSk6CisgICAgICAgIChHdGtMZWFrRGV0ZWN0b3IubGVha3NfZmlsZV9uYW1lKToKKyAg
ICAgICAgKEd0a0xlYWtEZXRlY3Rvci5jaGVja19mb3JfbGVha3MpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvcG9ydC9tYWMucHk6CisgICAgICAgIChNYWNQb3J0LmNoZWNrX2Zvcl9sZWFr
cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUucHk6
IEFkZGVkLgorICAgICAgICAoZ2V0VGV4dE9mKToKKyAgICAgICAgKGdldENEQVRBT2YpOgorICAg
ICAgICAoc2hvcnRlbkZpbGVQYXRoKToKKyAgICAgICAgKGdhdGhlckZyYW1lcyk6CisgICAgICAg
IChWYWxncmluZEVycm9yKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuX19pbml0X18pOgorICAg
ICAgICAoVmFsZ3JpbmRFcnJvci5fX3N0cl9fKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuVW5p
cXVlU3RyaW5nKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuRXJyb3JIYXNoKToKKyAgICAgICAg
KFZhbGdyaW5kRXJyb3IuX19oYXNoX18pOgorICAgICAgICAoVmFsZ3JpbmRFcnJvci5fX2VxX18p
OgorICAgICAgICAobG9nX2lzX2ZpbmlzaGVkKToKKyAgICAgICAgKE1lbWNoZWNrQW5hbHl6ZXIp
OgorICAgICAgICAoTWVtY2hlY2tBbmFseXplci5fX2luaXRfXyk6CisgICAgICAgIChNZW1jaGVj
a0FuYWx5emVyLlJlcG9ydCk6CisgICAgICAgIChfbWFpbik6CisgICAgICAgIChfbWFpbi5zaG91
bGQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weToK
KyAgICAgICAgKFNlcnZlclByb2Nlc3Muc3RvcCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3NlcnZlcl9wcm9jZXNzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVHJpdmlhbE1vY2tQ
b3J0LmNoZWNrX2Zvcl9sZWFrcyk6CisgICAgICAgICogdmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJl
c3Npb25zLnR4dDogQWRkZWQuCisKIDIwMTMtMDYtMDUgIERhcml1c3ogRnJhbmtpZXdpY3ogIDxk
LmZyYW5raWV3aWNAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQmFkIHZhbHVlIGluIHRlc3RzIGNv
dW50ZXIgYXQgbmV3LXJ1bi13ZWJraXQtdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CmluZGV4IDhiMWMxMTMy
NjY3YTIzZjA1MzJiMzY3ZTI2ODRiNTk1YTVkNjQ2OGYuLmY0ZDhkOGI0YjJiY2M4YjM3YzZiOTBl
MDFmMGQ5MDMwZmJlYWVjMTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQpAQCAtMTEwLDcgKzExMCw3IEBAIGRl
ZiBwYXJzZV9hcmdzKGFyZ3MpOgogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1jb21w
bGV4LXRleHQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAogICAgICAgICAg
ICAgaGVscD0iVXNlIHRoZSBjb21wbGV4IHRleHQgY29kZSBwYXRoIGZvciBhbGwgdGV4dCAoTWFj
IE9TIFggYW5kIFdpbmRvd3Mgb25seSkiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24o
Ii1sIiwgIi0tbGVha3MiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAotICAg
ICAgICAgICAgaGVscD0iRW5hYmxlIGxlYWtzIGNoZWNraW5nIChNYWMgT1MgWCBvbmx5KSIpLAor
ICAgICAgICAgICAgaGVscD0iRW5hYmxlIGxlYWtzIGNoZWNraW5nIChNYWMgT1MgWCBhbmQgR3Rr
KyBvbmx5KSIpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLWciLCAiLS1ndWFyZC1t
YWxsb2MiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAogICAgICAgICAgICAg
aGVscD0iRW5hYmxlIEd1YXJkIE1hbGxvYyAoTWFjIE9TIFggb25seSkiKSwKICAgICAgICAgb3B0
cGFyc2UubWFrZV9vcHRpb24oIi0tdGhyZWFkZWQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZh
dWx0PUZhbHNlLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2Uu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQppbmRleCA3MjAwYTdiZjk0
MjFiYTIxM2YwNmVkNmIzMTAyN2E1NWVjMDVkOWI2Li45YmJiOWU5OTczYzE1ODljMTlkNWYzZjU3
OGRhODhjZmUzZGJjNzRmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
YmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQpAQCAtMzgx
LDcgKzM4MSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFjdHVhbF9maWxlbmFtZSkKICAgICAgICAgcmV0dXJuICcnLmpvaW4oZGlm
ZikKIAotICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNz
X3BpZCk6CisgICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nl
c3NfcGlkLCBpc19ydW5uaW5nKToKICAgICAgICAgIyBTdWJjbGFzc2VzIHNob3VsZCBjaGVjayBm
b3IgbGVha3MgaW4gdGhlIHJ1bm5pbmcgcHJvY2VzcwogICAgICAgICAjIGFuZCBwcmludCBhbnkg
bmVjZXNzYXJ5IHdhcm5pbmdzIGlmIGxlYWtzIGFyZSBmb3VuZC4KICAgICAgICAgIyBGSVhNRTog
V2Ugc2hvdWxkIGNvbnNpZGVyIG1vdmluZyBtdWNoIG9mIHRoaXMgbG9naWMgaW50bwpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2NvbW1vbi5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9jb21tb24ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM2ODcwYjdmYjc5Yjk5YmY3
OWQxMjY5ZWE4ZmNjZmI4YjZlNGU4ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9jb21tb24ucHkKQEAgLTAsMCArMSwzMTIgQEAKKyMgQ29weXJpZ2h0IChD
KSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIE9y
aWdpbmFsbHkgZnJvbSBDaHJvbWl1bSwgY29weXJpZ2h0IGFzIGZvbGxvd3M6CisjCisjIENvcHly
aWdodCAoYykgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlv
bi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisj
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
IyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgcGxhdGZvcm0KK2lt
cG9ydCBvcworaW1wb3J0IHNpZ25hbAoraW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMKK2lt
cG9ydCB0aW1lCisKKworY2xhc3MgTm90SW1wbGVtZW50ZWRFcnJvcihFeGNlcHRpb24pOgorICAg
IHBhc3MKKworCitjbGFzcyBUaW1lb3V0RXJyb3IoRXhjZXB0aW9uKToKKyAgICBwYXNzCisKKwor
ZGVmIF9wcmludF9saW5lKGxpbmUsIGZsdXNoPVRydWUpOgorICAgICMgUHJpbnRpbmcgdG8gYSB0
ZXh0IGZpbGUgKGluY2x1ZGluZyBzdGRvdXQpIG9uIFdpbmRvd3MgYWx3YXlzIHdpbmRzIHVwCisg
ICAgIyB1c2luZyBcclxuIGF1dG9tYXRpY2FsbHkuIE9uIGJ1aWxkYm90LCB0aGlzIHdpbmRzIHVw
IGJlaW5nIHJlYWQgYnkgYQorICAgICMgbWFzdGVyIHJ1bm5pbmcgb24gTGludXgsIHNvIHdlIG1h
bnVhbGx5IGNvbnZlcnQgY3JsZiB0byAnXG4nCisgICAgcHJpbnQgbGluZS5yc3RyaXAoKSArICdc
bicsCisgICAgaWYgZmx1c2g6CisgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQorCisKK2RlZiBS
dW5TdWJwcm9jZXNzSW5CYWNrZ3JvdW5kKHByb2MpOgorICAgICIiIlJ1bnMgYSBzdWJwcm9jZXNz
IGluIHRoZSBiYWNrZ3JvdW5kLiBSZXR1cm5zIGEgaGFuZGxlIHRvIHRoZSBwcm9jZXNzLiIiIgor
ICAgIGxvZ2dpbmcuaW5mbygicnVubmluZyAlcyBpbiB0aGUgYmFja2dyb3VuZCIgJSAiICIuam9p
bihwcm9jKSkKKyAgICByZXR1cm4gc3VicHJvY2Vzcy5Qb3Blbihwcm9jKQorCisKK2RlZiBSdW5T
dWJwcm9jZXNzKHByb2MsIHRpbWVvdXQ9MCwgZGV0YWNoPUZhbHNlLCBiYWNrZ3JvdW5kPUZhbHNl
KToKKyAgICAiIiIgUnVucyBhIHN1YnByb2Nlc3MsIHVudGlsIGl0IGZpbmlzaGVzIG9yIHx0aW1l
b3V0fCBpcyBleGNlZWRlZCBhbmQgdGhlCisgICAgcHJvY2VzcyBpcyBraWxsZWQgd2l0aCB0YXNr
a2lsbC4gICAgQSB8dGltZW91dHwgPD0gMCAgICBtZWFucyBubyB0aW1lb3V0LgorCisgICAgQXJn
czoKKyAgICAgICAgcHJvYzogbGlzdCBvZiBwcm9jZXNzIGNvbXBvbmVudHMgKGV4ZSArIGFyZ3Mp
CisgICAgICAgIHRpbWVvdXQ6IGhvdyBsb25nIHRvIHdhaXQgYmVmb3JlIGtpbGxpbmcsIDw9IDAg
bWVhbnMgd2FpdCBmb3JldmVyCisgICAgICAgIGRldGFjaDogV2hldGhlciB0byBwYXNzIHRoZSBE
RVRBQ0hFRF9QUk9DRVNTIGFyZ3VtZW50IHRvIENyZWF0ZVByb2Nlc3MKKyAgICAgICAgICBvbiBX
aW5kb3dzLiAgVGhpcyBpcyB1c2VkIGJ5IFB1cmlmeSBzdWJwcm9jZXNzZXMgb24gYnVpbGRib3Qg
d2hpY2gKKyAgICAgICAgICBzZWVtIHRvIGdldCBjb25mdXNlZCBieSB0aGUgcGFyZW50IGNvbnNv
bGUgdGhhdCBidWlsZGJvdCBzZXRzIHVwLgorICAgICIiIgorCisgICAgbG9nZ2luZy5pbmZvKCJy
dW5uaW5nICVzLCB0aW1lb3V0ICVkIHNlYyIgJSAoIiAiLmpvaW4ocHJvYyksIHRpbWVvdXQpKQor
ICAgIGlmIGRldGFjaDoKKyAgICAgICAgIyBzZWUgTVNETiBkb2NzIGZvciAiUHJvY2VzcyBDcmVh
dGlvbiBGbGFncyIKKyAgICAgICAgREVUQUNIRURfUFJPQ0VTUyA9IDB4OAorICAgICAgICBwID0g
c3VicHJvY2Vzcy5Qb3Blbihwcm9jLCBjcmVhdGlvbmZsYWdzPURFVEFDSEVEX1BST0NFU1MpCisg
ICAgZWxzZToKKyAgICAgICAgIyBGb3Igbm9uLWRldGFjaGVkIHByb2Nlc3NlcywgbWFudWFsbHkg
cmVhZCBhbmQgcHJpbnQgb3V0IHN0ZG91dCBhbmQKKyAgICAgICAgIyBzdGRlcnIuIEJ5IGRlZmF1
bHQsIHRoZSBzdWJwcm9jZXNzIGlzIHN1cHBvc2VkIHRvIGluaGVyaXQgdGhlc2UgZnJvbQorICAg
ICAgICAjIGl0cyBwYXJlbnQsIGhvd2V2ZXIgd2hlbiBydW4gdW5kZXIgYnVpbGRib3QsIGl0IHNl
ZW1zIHVuYWJsZSB0byByZWFkCisgICAgICAgICMgZGF0YSBmcm9tIGEgZ3JhbmRjaGlsZCBwcm9j
ZXNzLCBzbyB3ZSBoYXZlIHRvIHJlYWQgdGhlIGNoaWxkIGFuZAorICAgICAgICAjIHByaW50IHRo
ZSBkYXRhIGFzIGlmIGl0IGNhbWUgZnJvbSB1cyBmb3IgYnVpbGRib3QgdG8gcmVhZCBpdC4KKyAg
ICAgICAgIyBXZSdyZSBub3Qgc3VyZSB3aHkgdGhpcyBpcyBuZWNlc3NhcnkuCisgICAgICAgICMg
VE9ETyhlcmlra2F5KTogc2hvdWxkIHdlIGJ1ZmZlciBzdGRlcnIgYW5kIHN0ZG91dCBzZXBhcmF0
ZWx5PworICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3Blbihwcm9jLCBzdGRvdXQ9c3VicHJvY2Vz
cy5QSVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5T
VERPVVQpCisKKyAgICBsb2dnaW5nLmluZm8oInN0YXJ0ZWQgc3VicHJvY2VzcyIpCisKKyAgICAj
IEhvdyBsb25nIHRvIHdhaXQgKGluIHNlY29uZHMpIGJlZm9yZSBwcmludGluZyBwcm9ncmVzcyBs
b2cgbWVzc2FnZXMuCisgICAgcHJvZ3Jlc3NfZGVsYXkgPSAzMDAKKyAgICBwcm9ncmVzc19kZWxh
eV90aW1lID0gdGltZS50aW1lKCkgKyBwcm9ncmVzc19kZWxheQorICAgIGRpZF90aW1lb3V0ID0g
RmFsc2UKKyAgICBpZiB0aW1lb3V0ID4gMDoKKyAgICAgICAgd2FpdF91bnRpbCA9IHRpbWUudGlt
ZSgpICsgdGltZW91dAorICAgIHdoaWxlIHAucG9sbCgpIGlzIE5vbmUgYW5kIG5vdCBkaWRfdGlt
ZW91dDoKKyAgICAgICAgaWYgbm90IGRldGFjaDoKKyAgICAgICAgICAgIGxpbmUgPSBwLnN0ZG91
dC5yZWFkbGluZSgpCisgICAgICAgICAgICB3aGlsZSBsaW5lIGFuZCBub3QgZGlkX3RpbWVvdXQ6
CisgICAgICAgICAgICAgICAgX3ByaW50X2xpbmUobGluZSkKKyAgICAgICAgICAgICAgICBsaW5l
ID0gcC5zdGRvdXQucmVhZGxpbmUoKQorICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgPiAwOgor
ICAgICAgICAgICAgICAgICAgICBkaWRfdGltZW91dCA9IHRpbWUudGltZSgpID4gd2FpdF91bnRp
bAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBXaGVuIHdlIGRldGFjaCwgYmxvY2tpbmcg
b24gcmVhZGluZyBzdGRvdXQgZG9lc24ndCB3b3JrLCBzbworICAgICAgICAgICAgIyB3ZSBzbGVl
cCBhIHNob3J0IHRpbWUgYW5kIHBvbGwuCisgICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKKyAg
ICAgICAgICAgIGlmIHRpbWUudGltZSgpID49IHByb2dyZXNzX2RlbGF5X3RpbWU6CisgICAgICAg
ICAgICAgICAgIyBGb3JjZSBvdXRwdXQgb24gYSBwZXJpb2RpYyBiYXNpcyB0byBhdm9pZCBnZXR0
aW5nIGtpbGxlZCBvZmYKKyAgICAgICAgICAgICAgICAjIGJ5IHRoZSBidWlsZGJvdC4KKyAgICAg
ICAgICAgICAgICAjIFRPRE8oZXJpa2theSk6IEknZCBwcmVmZXIgYSBsZXNzIG9idHJ1c2l2ZSAn
cHJpbnQgIi4iLCcgd2l0aAorICAgICAgICAgICAgICAgICMgYSBmbHVzaCBidXQgYmVjYXVzZSBv
ZiBob3cgd2UncmUgZG9pbmcgc3VicHJvY2Vzc2VzLCB0aGlzCisgICAgICAgICAgICAgICAgIyBk
b2Vzbid0IGFwcGVhciB0byB3b3JrIHJlbGlhYmx5LgorICAgICAgICAgICAgICAgIGxvZ2dpbmcu
aW5mbygiJXMgc3RpbGwgcnVubmluZy4uLiIgJSBvcy5wYXRoLmJhc2VuYW1lKHByb2NbMF0pKQor
ICAgICAgICAgICAgICAgIHByb2dyZXNzX2RlbGF5X3RpbWUgPSB0aW1lLnRpbWUoKSArIHByb2dy
ZXNzX2RlbGF5CisgICAgICAgIGlmIHRpbWVvdXQgPiAwOgorICAgICAgICAgICAgZGlkX3RpbWVv
dXQgPSB0aW1lLnRpbWUoKSA+IHdhaXRfdW50aWwKKworICAgIGlmIGRpZF90aW1lb3V0OgorICAg
ICAgICBsb2dnaW5nLmluZm8oInByb2Nlc3MgdGltZWQgb3V0IikKKyAgICBlbHNlOgorICAgICAg
ICBsb2dnaW5nLmluZm8oInByb2Nlc3MgZW5kZWQsIGRpZCBub3QgdGltZSBvdXQiKQorCisgICAg
aWYgZGlkX3RpbWVvdXQ6CisgICAgICAgIGlmIElzV2luZG93cygpOgorICAgICAgICAgICAgc3Vi
cHJvY2Vzcy5jYWxsKFsidGFza2tpbGwiLCAiL1QiLCAiL0YiLCAiL1BJRCIsIHN0cihwLnBpZCld
KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBEb2VzIHRoaXMga2lsbCBhbGwgY2hpbGRy
ZW4sIHRvbz8KKyAgICAgICAgICAgIG9zLmtpbGwocC5waWQsIHNpZ25hbC5TSUdJTlQpCisgICAg
ICAgIGxvZ2dpbmcuZXJyb3IoIktJTExFRCAlZCIgJSBwLnBpZCkKKyAgICAgICAgIyBHaXZlIHRo
ZSBwcm9jZXNzIGEgY2hhbmNlIHRvIGFjdHVhbGx5IGRpZSBiZWZvcmUgY29udGludWluZworICAg
ICAgICAjIHNvIHRoYXQgY2xlYW51cCBjYW4gaGFwcGVuIHNhZmVseS4KKyAgICAgICAgdGltZS5z
bGVlcCgxLjApCisgICAgICAgIGxvZ2dpbmcuZXJyb3IoIlRJTUVPVVQgd2FpdGluZyBmb3IgJXMi
ICUgcHJvY1swXSkKKyAgICAgICAgcmFpc2UgVGltZW91dEVycm9yKHByb2NbMF0pCisgICAgZWxp
ZiBub3QgZGV0YWNoOgorICAgICAgICBmb3IgbGluZSBpbiBwLnN0ZG91dC5yZWFkbGluZXMoKToK
KyAgICAgICAgICAgIF9wcmludF9saW5lKGxpbmUsIEZhbHNlKQorICAgICAgICBpZiBub3QgSXNN
YWMoKTogICAgICMgc3Rkb3V0IGZsdXNoIGZhaWxzIG9uIE1hYworICAgICAgICAgICAgbG9nZ2lu
Zy5pbmZvKCJmbHVzaGluZyBzdGRvdXQiKQorICAgICAgICAgICAgcC5zdGRvdXQuZmx1c2goKQor
CisgICAgbG9nZ2luZy5pbmZvKCJjb2xsZWN0aW5nIHJlc3VsdCBjb2RlIikKKyAgICByZXN1bHQg
PSBwLnBvbGwoKQorICAgIGlmIHJlc3VsdDoKKyAgICAgICAgbG9nZ2luZy5lcnJvcigiJXMgZXhp
dGVkIHdpdGggbm9uLXplcm8gcmVzdWx0IGNvZGUgJWQiICUKKyAgICAgICAgICAgICAgICAgICAg
ICAocHJvY1swXSwgcmVzdWx0KSkKKyAgICByZXR1cm4gcmVzdWx0CisKKworZGVmIElzTGludXgo
KToKKyAgICByZXR1cm4gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2xpbnV4JykKKworCitkZWYg
SXNNYWMoKToKKyAgICByZXR1cm4gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2RhcndpbicpCisK
KworZGVmIElzV2luZG93cygpOgorICAgIHJldHVybiBzeXMucGxhdGZvcm0gPT0gJ2N5Z3dpbicg
b3Igc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpCisKKworZGVmIFdpbmRvd3NWZXJzaW9u
TmFtZSgpOgorICAgICIiIlJldHVybnMgdGhlIG5hbWUgb2YgdGhlIFdpbmRvd3MgdmVyc2lvbiBp
ZiBpdCBpcyBrbm93biwgb3IgTm9uZS4KKworICAgIFBvc3NpYmxlIHJldHVybiB2YWx1ZXMgYXJl
OiB4cCwgdmlzdGEsIDcsIDgsIG9yIE5vbmUKKyAgICAiIiIKKyAgICBpZiBzeXMucGxhdGZvcm0g
PT0gJ2N5Z3dpbic6CisgICAgICAgICMgV2luZG93cyB2ZXJzaW9uIG51bWJlciBpcyBoaWRpbmcg
aW4gc3lzdGVtIG5hbWUuICAgIExvb2tzIGxpa2U6CisgICAgICAgICMgQ1lHV0lOX05ULTYuMS1X
T1c2NAorICAgICAgICB0cnk6CisgICAgICAgICAgICB2ZXJzaW9uX3N0ciA9IHBsYXRmb3JtLnVu
YW1lKClbMF0uc3BsaXQoJy0nKVsxXQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICByZXR1
cm4gTm9uZQorICAgIGVsaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOgorICAgICAg
ICAjIE5vcm1hbCBXaW5kb3dzIHZlcnNpb24gc3RyaW5nLiAgICBNaW5lOiA2LjEuNzYwMQorICAg
ICAgICB2ZXJzaW9uX3N0ciA9IHBsYXRmb3JtLnZlcnNpb24oKQorICAgIGVsc2U6CisgICAgICAg
IHJldHVybiBOb25lCisKKyAgICBwYXJ0cyA9IHZlcnNpb25fc3RyLnNwbGl0KCcuJykKKyAgICB0
cnk6CisgICAgICAgIG1ham9yID0gaW50KHBhcnRzWzBdKQorICAgICAgICBtaW5vciA9IGludChw
YXJ0c1sxXSkKKyAgICBleGNlcHQ6CisgICAgICAgIHJldHVybiBOb25lICAgICMgQ2FuJ3QgcGFy
c2UsIHVua25vd24gdmVyc2lvbi4KKworICAgIGlmIG1ham9yID09IDU6CisgICAgICAgIHJldHVy
biAneHAnCisgICAgZWxpZiBtYWpvciA9PSA2IGFuZCBtaW5vciA9PSAwOgorICAgICAgICByZXR1
cm4gJ3Zpc3RhJworICAgIGVsaWYgbWFqb3IgPT0gNiBhbmQgbWlub3IgPT0gMToKKyAgICAgICAg
cmV0dXJuICc3JworICAgIGVsaWYgbWFqb3IgPT0gNiBhbmQgbWlub3IgPT0gMjoKKyAgICAgICAg
cmV0dXJuICc4JyAgICAjIEZ1dHVyZSBwcm9vZi4gICAgOykKKyAgICByZXR1cm4gTm9uZQorCisK
K2RlZiBQbGF0Zm9ybU5hbWVzKCk6CisgICAgIiIiUmV0dXJuIGFuIGFycmF5IG9mIHN0cmluZyB0
byBiZSB1c2VkIGluIHBhdGhzIGZvciB0aGUgcGxhdGZvcm0KKyAgICAoZS5nLiBzdXBwcmVzc2lv
bnMsIGd0ZXN0IGZpbHRlcnMsIGlnbm9yZSBmaWxlcyBldGMuKQorICAgIFRoZSBmaXJzdCBlbGVt
ZW50IG9mIHRoZSBhcnJheSBkZXNjcmliZXMgdGhlICdtYWluJyBwbGF0Zm9ybQorICAgICIiIgor
ICAgIGlmIElzTGludXgoKToKKyAgICAgICAgcmV0dXJuIFsnbGludXgnXQorICAgIGlmIElzTWFj
KCk6CisgICAgICAgIHJldHVybiBbJ21hYyddCisgICAgaWYgSXNXaW5kb3dzKCk6CisgICAgICAg
IG5hbWVzID0gWyd3aW4zMiddCisgICAgICAgIHZlcnNpb25fbmFtZSA9IFdpbmRvd3NWZXJzaW9u
TmFtZSgpCisgICAgICAgIGlmIHZlcnNpb25fbmFtZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
IG5hbWVzLmFwcGVuZCgnd2luLSVzJyAlIHZlcnNpb25fbmFtZSkKKyAgICAgICAgcmV0dXJuIG5h
bWVzCisgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignVW5rbm93biBwbGF0Zm9ybSAiJXMi
LicgJSBzeXMucGxhdGZvcm0pCisKKworZGVmIFB1dEVudkFuZExvZyhlbnZfbmFtZSwgZW52X3Zh
bHVlKToKKyAgICBvcy5wdXRlbnYoZW52X25hbWUsIGVudl92YWx1ZSkKKyAgICBsb2dnaW5nLmlu
Zm8oJ2V4cG9ydCAlcz0lcycsIGVudl9uYW1lLCBlbnZfdmFsdWUpCisKKworZGVmIEJvcmluZ0Nh
bGxlcnMobWFuZ2xlZCwgdXNlX3JlX3dpbGRjYXJkcyk6CisgICAgIiIiUmV0dXJuIGEgbGlzdCBv
ZiAnYm9yaW5nJyBmdW5jdGlvbiBuYW1lcyAob3B0aW5hbGx5IG1hbmdsZWQpCisgICAgd2l0aCAq
Lz8gd2lsZGNhcmRzIChvcHRpb25hbGx5IC4qLy4pLgorICAgIEJvcmluZyA9IHdlIGRyb3Agb2Zm
IHRoZSBib3R0b20gb2Ygc3RhY2sgdHJhY2VzIGJlbG93IHN1Y2ggZnVuY3Rpb25zLgorICAgICIi
IgorCisgICAgbmVlZF9tYW5nbGluZyA9IFsKKyAgICAgICAgIyBEb24ndCBzaG93IG91ciB0ZXN0
aW5nIGZyYW1ld29yazoKKyAgICAgICAgKCJ0ZXN0aW5nOjpUZXN0OjpSdW4iLCAgICAgICAgICJf
Wk43dGVzdGluZzRUZXN0M1J1bkV2IiksCisgICAgICAgICgidGVzdGluZzo6VGVzdEluZm86OlJ1
biIsICJfWk43dGVzdGluZzhUZXN0SW5mbzNSdW5FdiIpLAorICAgICAgICAoInRlc3Rpbmc6Omlu
dGVybmFsOjpIYW5kbGUqRXhjZXB0aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQqIiwKKyAgICAgICAg
ICJfWk43dGVzdGluZzhpbnRlcm5hbDM/SGFuZGxlKkV4Y2VwdGlvbnNJbk1ldGhvZElmU3VwcG9y
dGVkKiIpLAorCisgICAgICAgICMgRGVwZW5kIG9uIHNjaGVkdWxpbmc6CisgICAgICAgICgiTWVz
c2FnZUxvb3A6OlJ1biIsICAgICAgICAgIl9aTjExTWVzc2FnZUxvb3AzUnVuRXYiKSwKKyAgICAg
ICAgKCJNZXNzYWdlTG9vcDo6UnVuVGFzayIsICJfWk4xMU1lc3NhZ2VMb29wN1J1blRhc2sqIiks
CisgICAgICAgICgiUnVubmFibGVNZXRob2QqIiwgICAgICAgICAgICAiX1pOMTRSdW5uYWJsZU1l
dGhvZCoiKSwKKyAgICAgICAgKCJEaXNwYXRjaFRvTWV0aG9kKiIsICAgICAgICAiX1oqMTZEaXNw
YXRjaFRvTWV0aG9kKiIpLAorICAgICAgICAoImJhc2U6OmludGVybmFsOjpJbnZva2VyKjo6RG9J
bnZva2UqIiwKKyAgICAgICAgICJfWk40YmFzZThpbnRlcm5hbDhJbnZva2VyKkRvSW52b2tlKiIp
LCAgICAjIEludm9rZXJ7MSwyLDN9CisgICAgICAgICgiYmFzZTo6aW50ZXJuYWw6OlJ1bm5hYmxl
QWRhcHRlcio6OlJ1bioiLAorICAgICAgICAgIl9aTjRiYXNlOGludGVybmFsMTVSdW5uYWJsZUFk
YXB0ZXIqUnVuKiIpLAorICAgIF0KKworICAgIHJldCA9IFtdCisgICAgZm9yIHBhaXIgaW4gbmVl
ZF9tYW5nbGluZzoKKyAgICAgICAgcmV0LmFwcGVuZChwYWlyWzEgaWYgbWFuZ2xlZCBlbHNlIDBd
KQorCisgICAgcmV0ICs9IFsKKyAgICAgICAgIyBBbHNvIGRvbid0IHNob3cgdGhlIGludGVybmFs
cyBvZiBsaWJjL3B0aHJlYWQuCisgICAgICAgICJzdGFydF90aHJlYWQiLAorICAgICAgICAibWFp
biIsCisgICAgICAgICJCYXNlVGhyZWFkSW5pdFRodW5rIiwKKyAgICBdCisKKyAgICBpZiB1c2Vf
cmVfd2lsZGNhcmRzOgorICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4ocmV0KSk6CisgICAg
ICAgICAgICByZXRbaV0gPSByZXRbaV0ucmVwbGFjZSgnKicsICcuKicpLnJlcGxhY2UoJz8nLCAn
LicpCisKKyAgICByZXR1cm4gcmV0CisKKworZGVmIE5vcm1hbGl6ZVdpbmRvd3NQYXRoKHBhdGgp
OgorICAgICIiIklmIHdlJ3JlIHVzaW5nIEN5Z3dpbiBQeXRob24sIHR1cm4gdGhlIHBhdGggaW50
byBhIFdpbmRvd3MgcGF0aC4KKworICAgIERvbid0IHR1cm4gZm9yd2FyZCBzbGFzaGVzIGludG8g
YmFja3NsYXNoZXMgZm9yIGVhc2llciBjb3B5LXBhc3RpbmcgYW5kCisgICAgZXNjYXBpbmcuCisK
KyAgICBUT0RPKHJuayk6IElmIHdlIGV2ZXIgd2FudCB0byBjdXQgb3V0IHRoZSBzdWJwcm9jZXNz
IGludm9jYXRpb24sIHdlIGNhbiB1c2UKKyAgICBfd2lucmVnIHRvIGdldCB0aGUgcm9vdCBDeWd3
aW4gZGlyZWN0b3J5IGZyb20gdGhlIHJlZ2lzdHJ5IGtleToKKyAgICBIS0VZX0xPQ0FMX01BQ0hJ
TkVcU09GVFdBUkVcQ3lnd2luXHNldHVwXHJvb3RkaXIuCisgICAgIiIiCisgICAgaWYgc3lzLnBs
YXRmb3JtLnN0YXJ0c3dpdGgoImN5Z3dpbiIpOgorICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3Bl
bihbImN5Z3BhdGgiLCAiLW0iLCBwYXRoXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJ
UEUpCisgICAgICAgIChvdXQsIGVycikgPSBwLmNvbW11bmljYXRlKCkKKyAgICAgICAgaWYgZXJy
OgorICAgICAgICAgICAgbG9nZ2luZy53YXJuaW5nKCJXQVJOSU5HOiBjeWdwYXRoIGVycm9yOiAl
cyIsIGVycikKKyAgICAgICAgcmV0dXJuIG91dC5zdHJpcCgpCisgICAgZWxzZToKKyAgICAgICAg
cmV0dXJuIHBhdGgKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb21tb24gb3V0
cHV0IGZvcm1hdCBjb2RlCisKKworZGVmIFByaW50VXNlZFN1cHByZXNzaW9uc0xpc3Qoc3VwcGNv
dW50cyk6CisgICAgIiIiIFByaW50cyBvdXQgdGhlIGxpc3Qgb2YgdXNlZCBzdXBwcmVzc2lvbnMg
aW4gYSBmb3JtYXQgY29tbW9uIHRvIGFsbCB0aGUKKyAgICAgICAgbWVtb3J5IHRvb2xzLiBJZiB0
aGUgbGlzdCBpcyBlbXB0eSwgcHJpbnRzIG5vdGhpbmcgYW5kIHJldHVybnMgRmFsc2UsCisgICAg
ICAgIG90aGVyd2lzZSBUcnVlLgorCisgICAgICAgIHN1cHBjb3VudHM6IGEgZGljdGlvbmFyeSBv
ZiB1c2VkIHN1cHByZXNzaW9uIGNvdW50cywKKyAgICAgICAgICAgICAgICAgICAgS2V5IC0+IG5h
bWUsIFZhbHVlIC0+IGNvdW50LgorICAgICIiIgorICAgIGlmIG5vdCBzdXBwY291bnRzOgorICAg
ICAgICByZXR1cm4gRmFsc2UKKworICAgIHByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKyAgICBwcmludCAiU3VwcHJlc3Npb25zIHVz
ZWQ6IgorICAgIHByaW50ICIgICAgY291bnQgbmFtZSIKKyAgICBmb3IgKG5hbWUsIGNvdW50KSBp
biBzb3J0ZWQoc3VwcGNvdW50cy5pdGVtcygpLCBrZXk9bGFtYmRhIChrLCB2KTogKHYsIGspKToK
KyAgICAgICAgcHJpbnQgIiU3ZCAlcyIgJSAoY291bnQsIG5hbWUpCisgICAgcHJpbnQgIi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorICAgIHN5
cy5zdGRvdXQuZmx1c2goKQorICAgIHJldHVybiBUcnVlCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvZ2RiX2hlbHBlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9nZGJfaGVscGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxODVhYmJmMGM4ZTViZWZkNDI2YjMzNWEx
MjQxMjg5MDczNzNjYTMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZ2RiX2hlbHBlci5weQpAQCAtMCwwICsxLDExOCBAQAorIyBDb3B5cmlnaHQgKEMpIDIw
MTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgT3JpZ2lu
YWxseSBmcm9tIENocm9taXVtLCBjb3B5cmlnaHQgYXMgZm9sbG93czoKKyMKKyMgQ29weXJpZ2h0
IChjKSAyMDEzIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIwor
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgor
IyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworJycnIEEgYnVuY2ggb2YgaGVscGVyIGZ1bmN0aW9ucyBmb3IgcXVl
cnlpbmcgZ2RiLicnJworCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCitpbXBvcnQgcmUKK2lt
cG9ydCB0ZW1wZmlsZQorCitHREJfTElORV9SRSA9IHJlLmNvbXBpbGUocidMaW5lIChbMC05XSop
IG9mICIoW14iXSopIi4qJykKKworCitkZWYgX0dkYk91dHB1dFRvRmlsZUxpbmUob3V0cHV0X2xp
bmUpOgorICAgICcnJyBQYXJzZSB0aGUgZ2RiIG91dHB1dCBsaW5lLCByZXR1cm4gYSBwYWlyIChm
aWxlLCBsaW5lIG51bSkgJycnCisgICAgbWF0Y2ggPSBHREJfTElORV9SRS5tYXRjaChvdXRwdXRf
bGluZSkKKyAgICBpZiBtYXRjaDoKKyAgICAgICAgcmV0dXJuIG1hdGNoLmdyb3VwcygpWzFdLCBt
YXRjaC5ncm91cHMoKVswXQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBOb25lCisKKworZGVm
IFJlc29sdmVBZGRyZXNzZXNXaXRoaW5BQmluYXJ5KGJpbmFyeV9uYW1lLCBsb2FkX2FkZHJlc3Ms
IGFkZHJlc3NfbGlzdCk6CisgICAgJycnIEZvciBlYWNoIGFkZHJlc3MsIHJldHVybiBhIHBhaXIg
KGZpbGUsIGxpbmUgbnVtKSAnJycKKyAgICBjb21tYW5kcyA9IHRlbXBmaWxlLk5hbWVkVGVtcG9y
YXJ5RmlsZSgpCisgICAgY29tbWFuZHMud3JpdGUoJ2FkZC1zeW1ib2wtZmlsZSAiJXMiICVzXG4n
ICUgKGJpbmFyeV9uYW1lLCBsb2FkX2FkZHJlc3MpKQorICAgIGZvciBhZGRyIGluIGFkZHJlc3Nf
bGlzdDoKKyAgICAgICAgY29tbWFuZHMud3JpdGUoJ2luZm8gbGluZSAqJXNcbicgJSBhZGRyKQor
ICAgIGNvbW1hbmRzLndyaXRlKCdxdWl0XG4nKQorICAgIGNvbW1hbmRzLmZsdXNoKCkKKyAgICBn
ZGJfY29tbWFuZGxpbmUgPSAnZ2RiIC1iYXRjaCAteCAlcyAyPi9kZXYvbnVsbCcgJSBjb21tYW5k
cy5uYW1lCisgICAgZ2RiX3BpcGUgPSBvcy5wb3BlbihnZGJfY29tbWFuZGxpbmUpCisgICAgcmVz
dWx0ID0gZ2RiX3BpcGUucmVhZGxpbmVzKCkKKworICAgIGFkZHJlc3NfY291bnQgPSAwCisgICAg
cmV0ID0ge30KKyAgICBmb3IgbGluZSBpbiByZXN1bHQ6CisgICAgICAgIGlmIGxpbmUuc3RhcnRz
d2l0aCgnTGluZScpOgorICAgICAgICAgICAgcmV0W2FkZHJlc3NfbGlzdFthZGRyZXNzX2NvdW50
XV0gPSBfR2RiT3V0cHV0VG9GaWxlTGluZShsaW5lKQorICAgICAgICAgICAgYWRkcmVzc19jb3Vu
dCArPSAxCisgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnTm8gbGluZScpOgorICAgICAgICAg
ICAgcmV0W2FkZHJlc3NfbGlzdFthZGRyZXNzX2NvdW50XV0gPSAoTm9uZSwgTm9uZSkKKyAgICAg
ICAgICAgIGFkZHJlc3NfY291bnQgKz0gMQorICAgIGdkYl9waXBlLmNsb3NlKCkKKyAgICBjb21t
YW5kcy5jbG9zZSgpCisgICAgcmV0dXJuIHJldAorCisKK2NsYXNzIEFkZHJlc3NUYWJsZShvYmpl
Y3QpOgorICAgICcnJyBPYmplY3QgdG8gZG8gYmF0Y2hlZCBsaW5lIG51bWJlciBsb29rdXAuICcn
JworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5fbG9hZF9hZGRyZXNzZXMg
PSB7fQorICAgICAgICBzZWxmLl9iaW5hcmllcyA9IHt9CisgICAgICAgIHNlbGYuX2FsbF9yZXNv
bHZlZCA9IEZhbHNlCisKKyAgICBkZWYgQWRkQmluYXJ5QXQoc2VsZiwgYmluYXJ5LCBsb2FkX2Fk
ZHJlc3MpOgorICAgICAgICAnJycgUmVnaXN0ZXIgYSBuZXcgc2hhcmVkIGxpYnJhcnkgb3IgZXhl
Y3V0YWJsZS4gJycnCisgICAgICAgIHNlbGYuX2xvYWRfYWRkcmVzc2VzW2JpbmFyeV0gPSBsb2Fk
X2FkZHJlc3MKKworICAgIGRlZiBBZGQoc2VsZiwgYmluYXJ5LCBhZGRyZXNzKToKKyAgICAgICAg
JycnIFJlZ2lzdGVyIGEgbG9va3VwIHJlcXVlc3QuICcnJworICAgICAgICBpZiBiaW5hcnkgPT0g
Jyc6CisgICAgICAgICAgICBsb2dnaW5nLndhcm4oJ2FkZGluZyBhZGRyZXNzICVzIGluIGVtcHR5
IGJpbmFyeT8nICUgYWRkcmVzcykKKyAgICAgICAgaWYgYmluYXJ5IGluIHNlbGYuX2JpbmFyaWVz
OgorICAgICAgICAgICAgc2VsZi5fYmluYXJpZXNbYmluYXJ5XS5hcHBlbmQoYWRkcmVzcykKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX2JpbmFyaWVzW2JpbmFyeV0gPSBbYWRkcmVz
c10KKyAgICAgICAgc2VsZi5fYWxsX3Jlc29sdmVkID0gRmFsc2UKKworICAgIGRlZiBSZXNvbHZl
QWxsKHNlbGYpOgorICAgICAgICAnJycgQ2Fycnkgb3V0IGFsbCBsb29rdXAgcmVxdWVzdHMuICcn
JworICAgICAgICBzZWxmLl90cmFuc2xhdGlvbiA9IHt9CisgICAgICAgIGZvciBiaW5hcnkgaW4g
c2VsZi5fYmluYXJpZXMua2V5cygpOgorICAgICAgICAgICAgaWYgYmluYXJ5ICE9ICcnIGFuZCBi
aW5hcnkgaW4gc2VsZi5fbG9hZF9hZGRyZXNzZXM6CisgICAgICAgICAgICAgICAgbG9hZF9hZGRy
ZXNzID0gc2VsZi5fbG9hZF9hZGRyZXNzZXNbYmluYXJ5XQorICAgICAgICAgICAgICAgIGFkZHIg
PSBSZXNvbHZlQWRkcmVzc2VzV2l0aGluQUJpbmFyeSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IGJpbmFyeSwgbG9hZF9hZGRyZXNzLCBzZWxmLl9iaW5hcmllc1tiaW5hcnldKQorICAgICAgICAg
ICAgICAgIHNlbGYuX3RyYW5zbGF0aW9uW2JpbmFyeV0gPSBhZGRyCisgICAgICAgIHNlbGYuX2Fs
bF9yZXNvbHZlZCA9IFRydWUKKworICAgIGRlZiBHZXRGaWxlTGluZShzZWxmLCBiaW5hcnksIGFk
ZHIpOgorICAgICAgICAnJycgR2V0IHRoZSAoZmlsZW5hbWUsIGxpbmVudW0pIHJlc3VsdCBvZiBh
IHByZXZpb3VzbHktcmVnaXN0ZXJlZAorICAgICAgICBsb29rdXAgcmVxdWVzdC4KKyAgICAgICAg
JycnCisgICAgICAgIGlmIHNlbGYuX2FsbF9yZXNvbHZlZDoKKyAgICAgICAgICAgIGlmIGJpbmFy
eSBpbiBzZWxmLl90cmFuc2xhdGlvbjoKKyAgICAgICAgICAgICAgICBpZiBhZGRyIGluIHNlbGYu
X3RyYW5zbGF0aW9uW2JpbmFyeV06CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl90
cmFuc2xhdGlvbltiaW5hcnldW2FkZHJdCisgICAgICAgIHJldHVybiAoTm9uZSwgTm9uZSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CmluZGV4IGM5NGYwMzZlZDA1OTBkYTkxODZkMzY0MDgz
MWY2YjJmZTg1M2ExZjEuLjI5ZDk3OTU4NjFhNmNjYmQ4NmY0MzY5NDQ0ZjdiM2Q3YzFkNTBlZWIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQpAQCAtMSw0ICsxLDUgQEAKICMgQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdo
dCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMK
ICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTI4LDEyICsyOSwxMyBAQAogCiBpbXBv
cnQgb3MKIGltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgdXVpZAogCiBmcm9tIHdlYmtpdHB5Lmxh
eW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCBUZXN0Q29uZmlndXJh
dGlvbgogZnJvbSB3ZWJraXRweS5wb3J0LmJhc2UgaW1wb3J0IFBvcnQKIGZyb20gd2Via2l0cHku
cG9ydC5wdWxzZWF1ZGlvX3Nhbml0aXplciBpbXBvcnQgUHVsc2VBdWRpb1Nhbml0aXplcgogZnJv
bSB3ZWJraXRweS5wb3J0Lnh2ZmJkcml2ZXIgaW1wb3J0IFh2ZmJEcml2ZXIKLQorZnJvbSB3ZWJr
aXRweS5wb3J0Lmd0a19sZWFrZGV0ZWN0b3IgaW1wb3J0IEd0a0xlYWtEZXRlY3RvcgogCiBjbGFz
cyBHdGtQb3J0KFBvcnQpOgogICAgIHBvcnRfbmFtZSA9ICJndGsiCkBAIC00Miw2ICs0NCwxNCBA
QCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBzdXBlcihHdGtQb3J0LCBzZWxmKS5fX2lu
aXRfXygqYXJncywgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYuX3B1bHNlYXVkaW9fc2FuaXRpemVy
ID0gUHVsc2VBdWRpb1Nhbml0aXplcigpCiAKKyAgICAgICAgc2VsZi5fbGVha19kZXRlY3RvciA9
IEd0a0xlYWtEZXRlY3RvcihzZWxmKQorICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oImxlYWtz
Iik6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5nZXRfb3B0aW9uKCJ3cmFwcGVyIik6CisgICAg
ICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigndXNlIC0td3JhcHBlcj1cInZhbGdyaW5kXCIg
Zm9yIG1lbW9yeSBsZWFrIGRldGVjdGlvbiBvbiBHVEsnKQorICAgICAgICAgICAgIyBEdW1wUmVu
ZGVyVHJlZSBzbG93cyBkb3duIG5vdGljYWJseSBpZiB3ZSBydW4gbW9yZSB0aGFuIGFib3V0IDEw
MDAgdGVzdHMgaW4gYSBiYXRjaAorICAgICAgICAgICAgIyB3aXRoIE1hbGxvY1N0YWNrTG9nZ2lu
ZyBlbmFibGVkLgorICAgICAgICAgICAgc2VsZi5zZXRfb3B0aW9uX2RlZmF1bHQoImJhdGNoX3Np
emUiLCAxMDAwKQorCiAgICAgZGVmIHdhcm5faWZfYnVnX21pc3NpbmdfaW5fdGVzdF9leHBlY3Rh
dGlvbnMoc2VsZik6CiAgICAgICAgIHJldHVybiBub3Qgc2VsZi5nZXRfb3B0aW9uKCd3ZWJraXRf
dGVzdF9ydW5uZXInKQogCkBAIC01NCw4ICs2NCwxNiBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgog
ICAgIGRlZiBkZWZhdWx0X3RpbWVvdXRfbXMoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuZ2V0X29w
dGlvbignY29uZmlndXJhdGlvbicpID09ICdEZWJ1Zyc6CiAgICAgICAgICAgICByZXR1cm4gMTIg
KiAxMDAwCisgICAgICAgIGVsaWYgc2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgorICAgICAgICAg
ICAgcmV0dXJuIDEyMCAqIDEwMDAKICAgICAgICAgcmV0dXJuIDYgKiAxMDAwCiAKKyAgICBkZWYg
ZHJpdmVyX3N0b3BfdGltZW91dChzZWxmKToKKyAgICAgICAgIiIiIFJldHVybnMgdGhlIGFtb3Vu
dCBvZiB0aW1lIGluIHNlY29uZHMgdG8gd2FpdCBiZWZvcmUga2lsbGluZyB0aGUgcHJvY2VzcyBp
biBkcml2ZXIuc3RvcCgpLiIiIgorICAgICAgICAjIFdlIHdhbnQgdG8gd2FpdCBmb3IgYXQgbGVh
c3QgMyBzZWNvbmRzLCBidXQgaWYgd2UgYXJlIHJlYWxseSBzbG93LCB3ZSB3YW50IHRvIGJlIHNs
b3cgb24gY2xlYW51cCBhcworICAgICAgICAjIHdlbGwgKGZvciB0aGluZ3MgbGlrZSBBU0FOLCBW
YWxncmluZCwgZXRjLikKKyAgICAgICAgcmV0dXJuIDMuMCAqIHNlbGYuZGVmYXVsdF90aW1lb3V0
X21zKCkKKwogICAgIGRlZiBzZXR1cF90ZXN0X3J1bihzZWxmKToKICAgICAgICAgc3VwZXIoR3Rr
UG9ydCwgc2VsZikuc2V0dXBfdGVzdF9ydW4oKQogICAgICAgICBzZWxmLl9wdWxzZWF1ZGlvX3Nh
bml0aXplci51bmxvYWRfcHVsc2VhdWRpb19tb2R1bGUoKQpAQCAtNjksMTcgKzg3LDQwIEBAIGNs
YXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgIGVudmlyb25tZW50WydHVEtfTU9EVUxFUyddID0g
J2dhaWwnCiAgICAgICAgIGVudmlyb25tZW50WydHU0VUVElOR1NfQkFDS0VORCddID0gJ21lbW9y
eScKICAgICAgICAgZW52aXJvbm1lbnRbJ0xJQk9WRVJMQVlfU0NST0xMQkFSJ10gPSAnMCcKLSAg
ICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSdd
ID0gc2VsZi5fYnVpbGRfcGF0aCgnTGlicmFyaWVzJywgJ2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1
bmRsZS5sYScpCi0gICAgICAgIGVudmlyb25tZW50WydURVNUX1JVTk5FUl9URVNUX1BMVUdJTl9Q
QVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdUZXN0TmV0c2NhcGVQbHVnaW4nLCAnLmxpYnMnKQot
ICAgICAgICBlbnZpcm9ubWVudFsnV0VCS0lUX0lOU1BFQ1RPUl9QQVRIJ10gPSBzZWxmLl9idWls
ZF9wYXRoKCdQcm9ncmFtcycsICdyZXNvdXJjZXMnLCAnaW5zcGVjdG9yJykKLSAgICAgICAgZW52
aXJvbm1lbnRbJ0FVRElPX1JFU09VUkNFU19QQVRIJ10gPSBzZWxmLnBhdGhfZnJvbV93ZWJraXRf
YmFzZSgnU291cmNlJywgJ1dlYkNvcmUnLCAncGxhdGZvcm0nLCAnYXVkaW8nLCAncmVzb3VyY2Vz
JykKKyAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxF
TkFNRSddID0gc2VsZi5fYnVpbGRfcGF0aCgKKyAgICAgICAgICAgICdMaWJyYXJpZXMnLCAnbGli
VGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLmxhJykKKyAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1Rf
UlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoCisgICAgICAgICAg
ICAnVGVzdE5ldHNjYXBlUGx1Z2luJywgJy5saWJzJykKKyAgICAgICAgZW52aXJvbm1lbnRbJ1dF
QktJVF9JTlNQRUNUT1JfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgKKyAgICAgICAgICAgICdQ
cm9ncmFtcycsICdyZXNvdXJjZXMnLCAnaW5zcGVjdG9yJykKKyAgICAgICAgZW52aXJvbm1lbnRb
J0FVRElPX1JFU09VUkNFU19QQVRIJ10gPSBzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgKKyAg
ICAgICAgICAgICdTb3VyY2UnLCAnV2ViQ29yZScsICdwbGF0Zm9ybScsICdhdWRpbycsICdyZXNv
dXJjZXMnKQorICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oImxlYWtzIik6CisgICAgICAgICAg
ICBlbnZpcm9ubWVudFsnR19TTElDRSddID0gJ2Fsd2F5cy1tYWxsb2MnCisgICAgICAgICAgICB4
bWxmaWxlID0gIiIuam9pbigoJ1wiJywgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpLCAiL2RydC0l
cC0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV1aWQudXVpZDEoKS5oZXgsICIt
bGVha3MueG1sIiwgJ1wiJykpCisgICAgICAgICAgICBzdXBwcmVzc2lvbnNmaWxlID0gc2VsZi5w
YXRoX2Zyb21fd2Via2l0X2Jhc2UoCisgICAgICAgICAgICAgICAgJ1Rvb2xzJywgJ3ZhbGdyaW5k
JywgJ21lbWNoZWNrJywgJ3N1cHByZXNzaW9ucy50eHQnKQorICAgICAgICAgICAgZW52aXJvbm1l
bnRbJ1ZBTEdSSU5EX09QVFMnXSA9ICItLXRvb2w9bWVtY2hlY2sgIiBcCisgICAgICAgICAgICAg
ICAgIi0tbnVtLWNhbGxlcnM9MzAgLS1kZW1hbmdsZT1ubyAtLXRyYWNlLWNoaWxkcmVuPW5vICAi
IFwKKyAgICAgICAgICAgICAgICAiLS1zbWMtY2hlY2s9YWxsLW5vbi1maWxlIC0tbGVhay1jaGVj
az15ZXMgIiBcCisgICAgICAgICAgICAgICAgIi0tbGVhay1yZXNvbHV0aW9uPWxvdyAtLXNob3ct
cG9zc2libHktbG9zdD1ubyAiIFwKKyAgICAgICAgICAgICAgICAiLS1nZW4tc3VwcHJlc3Npb25z
PWFsbCAtLXhtbD15ZXMgLS14bWwtZmlsZT0lcyAiIFwKKyAgICAgICAgICAgICAgICAiLS1zdXBw
cmVzc2lvbnM9JXMiICUgKHhtbGZpbGUsIHN1cHByZXNzaW9uc2ZpbGUpCisgICAgICAgICAgICAj
IEZJWE1FOiBpbnN0ZWFkIHdlIHNob3VsZCBiZSB1c2luZyAiamhidWlsZC13cmFwcGVyIC0tZ3Rr
IHJ1biIKKyAgICAgICAgICAgICMgdG8gZW5zdXJlIHdlIGdldCB0aGUgY29ycmVjdCBsaWJyYXJ5
IHBhdGgKKyAgICAgICAgICAgIGVudmlyb25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSA9IHNlbGYu
cGF0aF9mcm9tX3dlYmtpdF9iYXNlKAorICAgICAgICAgICAgICAgICdXZWJLaXRCdWlsZCcsICdE
ZXBlbmRlbmNpZXMnLCAnUm9vdCcsICdsaWI2NCcpCiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVf
ZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVE9VVFBVVERJUicpCiAgICAg
ICAgIHJldHVybiBlbnZpcm9ubWVudAogCiAgICAgZGVmIF9nZW5lcmF0ZV9hbGxfdGVzdF9jb25m
aWd1cmF0aW9ucyhzZWxmKToKICAgICAgICAgY29uZmlndXJhdGlvbnMgPSBbXQogICAgICAgICBm
b3IgYnVpbGRfdHlwZSBpbiBzZWxmLkFMTF9CVUlMRF9UWVBFUzoKLSAgICAgICAgICAgIGNvbmZp
Z3VyYXRpb25zLmFwcGVuZChUZXN0Q29uZmlndXJhdGlvbih2ZXJzaW9uPXNlbGYuX3ZlcnNpb24s
IGFyY2hpdGVjdHVyZT0neDg2JywgYnVpbGRfdHlwZT1idWlsZF90eXBlKSkKKyAgICAgICAgICAg
IGNvbmZpZ3VyYXRpb25zLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBUZXN0Q29uZmlndXJhdGlv
bih2ZXJzaW9uPXNlbGYuX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXJjaGl0ZWN0dXJlPSd4ODYnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJ1aWxkX3R5cGU9YnVpbGRfdHlwZSkpCiAgICAgICAgIHJldHVybiBjb25maWd1cmF0aW9ucwog
CiAgICAgZGVmIF9wYXRoX3RvX2RyaXZlcihzZWxmKToKQEAgLTExNyw2ICsxNTgsMjQgQEAgY2xh
c3MgR3RrUG9ydChQb3J0KToKICAgICBkZWYgX3BvcnRfc3BlY2lmaWNfZXhwZWN0YXRpb25zX2Zp
bGVzKHNlbGYpOgogICAgICAgICByZXR1cm4gW3NlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl93
ZWJraXRfYmFzZWxpbmVfcGF0aChwKSwgJ1Rlc3RFeHBlY3RhdGlvbnMnKSBmb3IgcCBpbiByZXZl
cnNlZChzZWxmLl9zZWFyY2hfcGF0aHMoKSldCiAKKyAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNl
bGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQsIGlzX3J1bm5pbmcpOgorICAgICAgICAjIFdp
dGggR3RrIHdlIGluaXRpYXRlIG1lbW9yeSBjaGVja2luZyBieSBwYXNzaW5nIHZhbGdyaW5kIGFz
IGEgd3JhcHBlciB0byB0aGUgdGVzdAorICAgICAgICBwYXNzCisKKyAgICBkZWYgcHJpbnRfbGVh
a3Nfc3VtbWFyeShzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbignbGVha3Mn
KToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICAjIFdlJ3JlIGluIHRoZSBtYW5hZ2VyIHBy
b2Nlc3MsIHNvIHRoZSBsZWFrIGRldGVjdG9yIHdpbGwgbm90IGhhdmUgYSB2YWxpZCBsaXN0IG9m
IGxlYWsgZmlsZXMuCisgICAgICAgICMgRklYTUU6IFRoaXMgaXMgYSBoYWNrLCBidXQgd2UgZG9u
J3QgaGF2ZSBhIGJldHRlciB3YXkgdG8gZ2V0IHRoaXMgaW5mb3JtYXRpb24gZnJvbSB0aGUgd29y
a2VycyB5ZXQuCisgICAgICAgICMgRklYTUU6IFRoaXMgd2lsbCBpbmNsdWRlIHRvbyBtYW55IGxl
YWtzIGluIHN1YnNlcXVlbnQgcnVucyB1bnRpbCB0aGUgcmVzdWx0cyBkaXJlY3RvcnkgaXMgY2xl
YXJlZCEKKyAgICAgICAgbGVha3NfZmlsZXMgPSBzZWxmLl9sZWFrX2RldGVjdG9yLmxlYWtzX2Zp
bGVzX2luX2RpcmVjdG9yeShzZWxmLnJlc3VsdHNfZGlyZWN0b3J5KCkpCisgICAgICAgIGlmIG5v
dCBsZWFrc19maWxlczoKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLl9sZWFrX2Rl
dGVjdG9yLnBhcnNlX2xlYWtzX291dHB1dChsZWFrc19maWxlcykKKyAgICAgICAgI3RvdGFsX2xl
YWtzID0gc2VsZi5fbGVha19kZXRlY3Rvci5jb3VudF90b3RhbF9sZWFrcyhsZWFrc19maWxlcykK
KyAgICAgICAgI19sb2cuaW5mbygiJXMgdG90YWwgbGVha3MgZm91bmQgZm9yIGEgdG90YWwgb2Yg
JXMhIiAlICh0b3RhbF9sZWFrcywgdG90YWxfYnl0ZXNfc3RyaW5nKSkKKyAgICAgICAgI19sb2cu
aW5mbygiJXMgdW5pcXVlIGxlYWtzIGZvdW5kISIgJSB1bmlxdWVfbGVha3MpCisKICAgICAjIEZJ
WE1FOiBXZSBzaG91bGQgZmluZCBhIHdheSB0byBzaGFyZSB0aGlzIGltcGxtZW50YXRpb24gd2l0
aCBHdGssCiAgICAgIyBvciB0ZWFjaCBydW4tbGF1bmNoZXIgaG93IHRvIGNhbGwgcnVuLXNhZmFy
aSBhbmQgbW92ZSB0aGlzIGRvd24gdG8gUG9ydC4KICAgICBkZWYgc2hvd19yZXN1bHRzX2h0bWxf
ZmlsZShzZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9ndGtfbGVha2RldGVjdG9yLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2d0a19sZWFrZGV0ZWN0b3IucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMxNzMyOTFjMmI0MTc0NzVh
ZjhkYzMyNDg1MzBiYmVmNDcxNTZjYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9ndGtfbGVha2RldGVjdG9yLnB5CkBAIC0wLDAgKzEsODkgQEAKKyMgQ29w
eXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0
aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworaW1wb3J0IGxvZ2dpbmcKKworZnJvbSB3ZWJraXRweS5w
b3J0Lm1lbWNoZWNrX2FuYWx5emUgaW1wb3J0IE1lbWNoZWNrQW5hbHl6ZXIKKworX2xvZyA9IGxv
Z2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCisKKyMgSWYgb3RoZXIgcG9ydHMvcGxhdGZvcm1z
IGRlY2lkZSB0byBzdXBwb3J0IC0tbGVha3MsIHdlIHNob3VsZCBzZWUgYWJvdXQKKyMgc2hhcmlu
ZyBhcyBtdWNoIG9mIHRoaXMgY29kZSBhcyBwb3NzaWJsZS4KKyMgVGhpcyBjb2RlIGlzIGZvciB0
aGUgR3RrKyBwb3J0LCB0YWtlbiBmcm9tIHRoZSBNYWMgcG9ydC4KKworY2xhc3MgR3RrTGVha0Rl
dGVjdG9yKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnQpOgorICAgICAgICAj
IFdlIHNob3VsZCBvcGVyYXRlIG9uIGEgInBsYXRmb3JtIiBub3QgYSBwb3J0IGhlcmUuCisgICAg
ICAgIHNlbGYuX3BvcnQgPSBwb3J0CisgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IHBvcnQuX2V4
ZWN1dGl2ZQorICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gcG9ydC5fZmlsZXN5c3RlbQorICAg
ICAgICBzZWxmLl9tZW1jaGVja19sZWFrX2FuYWx5emVyID0gTWVtY2hlY2tBbmFseXplcihwb3J0
LndlYmtpdF9iYXNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVzZV9nZGI9RmFsc2UpCisKKyAgICBkZWYgX3BhcnNlX2xlYWtzX291
dHB1dChzZWxmLCBsZWFrc19maWxlcyk6CisgICAgICAgIHNlbGYuX21lbWNoZWNrX2xlYWtfYW5h
bHl6ZXIuUmVwb3J0KGxlYWtzX2ZpbGVzLCAgTm9uZSkKKyAgICAgICAgI3JldHVybiBpbnQoY291
bnQpLCBpbnQoZXhjbHVkZWQpLCBpbnQoYnl0ZXMpCisKKyAgICBkZWYgbGVha3NfZmlsZXNfaW5f
ZGlyZWN0b3J5KHNlbGYsIGRpcmVjdG9yeSk6CisgICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lz
dGVtLmdsb2Ioc2VsZi5fZmlsZXN5c3RlbS5qb2luKGRpcmVjdG9yeSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiotbGVha3MueG1s
IikpCisKKyAgICBkZWYgbGVha3NfZmlsZV9uYW1lKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vz
c19waWQpOgorICAgICAgICByZXR1cm4gImRydC0lcy1sZWFrcy54bWwiICUgKHByb2Nlc3NfcGlk
KQorCisgICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3Nf
cGlkKToKKyAgICAgICAgX2xvZy5kZWJ1ZygiQ2hlY2tpbmcgZm9yIGxlYWtzIGluICVzIiAlIHBy
b2Nlc3NfbmFtZSkKKworICAgICAgICBsZWFrc19maWxlcyA9IHNlbGYubGVha3NfZmlsZXNfaW5f
ZGlyZWN0b3J5KAorICAgICAgICAgICAgc2VsZi5fcG9ydC5yZXN1bHRzX2RpcmVjdG9yeSgpKQor
ICAgICAgICBpZiBub3QgbGVha3NfZmlsZXM6CisgICAgICAgICAgICBfbG9nLndhcm4oIkZhaWxl
ZCB0byBmaW5kIHZhbGdyaW5kIG91dHB1dCB4bWwgZmlsZXMuICIpCisgICAgICAgICAgICByZXR1
cm4KKworICAgICAgICBjb3VudCwgZXhjbHVkZWQsIGJ5dGVfY291bnQgPSBzZWxmLl9wYXJzZV9s
ZWFrc19vdXRwdXQobGVha3NfZmlsZXMpCisgICAgICAgIGFkanVzdGVkX2NvdW50ID0gY291bnQg
LSBleGNsdWRlZAorICAgICAgICBpZiBub3QgYWRqdXN0ZWRfY291bnQ6CisgICAgICAgICAgICBy
ZXR1cm4KKworICAgICAgICBsZWFrc19maWxlbmFtZSA9IHNlbGYubGVha3NfZmlsZV9uYW1lKHBy
b2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpCisgICAgICAgIGxlYWtzX291dHB1dF9wYXRoID0gc2Vs
Zi5fZmlsZXN5c3RlbS5qb2luKAorICAgICAgICAgICAgc2VsZi5fcG9ydC5yZXN1bHRzX2RpcmVj
dG9yeSgpLAorICAgICAgICAgICAgbGVha3NfZmlsZW5hbWUpCisgICAgICAgIHNlbGYuX2ZpbGVz
eXN0ZW0ud3JpdGVfYmluYXJ5X2ZpbGUobGVha3Nfb3V0cHV0X3BhdGgsIGxlYWtzX291dHB1dCkK
KworICAgICAgICAjIEZJWE1FOiBJZGVhbGx5IHdlIHdvdWxkIG5vdCBiZSBsb2dnaW5nIGZyb20g
dGhlIHdvcmtlciBwcm9jZXNzLAorICAgICAgICAjIGJ1dCByYXRoZXIgcGFzcyB0aGUgbGVhayBp
bmZvcm1hdGlvbiBiYWNrIHRvIHRoZSBtYW5hZ2VyCisgICAgICAgICMgYW5kIGhhdmUgaXQgbG9n
LgorICAgICAgICBpZiBleGNsdWRlZDoKKyAgICAgICAgICAgIF9sb2cuaW5mbygiJXMgbGVha3Mg
KCVzIGJ5dGVzIGluY2x1ZGluZyAlcyBleGNsdWRlZCBsZWFrcykgd2VyZSAiCisgICAgICAgICAg
ICAgICAgICAgICAgImZvdW5kLCBkZXRhaWxzIGluICVzIiAlCisgICAgICAgICAgICAgICAgICAg
ICAgKGFkanVzdGVkX2NvdW50LCBieXRlX2NvdW50LCBleGNsdWRlZCwgbGVha3Nfb3V0cHV0X3Bh
dGgpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgX2xvZy5pbmZvKCIlcyBsZWFrcyAoJXMg
Ynl0ZXMpIHdlcmUgZm91bmQsIGRldGFpbHMgaW4gJXMiICUKKyAgICAgICAgICAgICAgICAgICAg
ICAoY291bnQsIGJ5dGVfY291bnQsIGxlYWtzX291dHB1dF9wYXRoKSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvbWFjLnB5CmluZGV4IDkxMzkwNWIyODMxZDIwODlkNWM0Mjc0MWZiZWYyNzc5ZjY3N2E2
NmEuLjMxZTEwMjlmNWI5YzY4MGZkNzMxYWNhOWFhNjgwYjFjNzNkYWFkNmQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L21hYy5weQpAQCAtMTQ3LDggKzE0Nyw5IEBAIGNsYXNzIE1hY1BvcnQoQXBw
bGVQb3J0KToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gVHJ1ZQog
Ci0gICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlk
KToKLSAgICAgICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbignbGVha3MnKToKKyAgICBkZWYgY2hl
Y2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQsIGlzX3J1bm5pbmcp
OgorICAgICAgICAjIE9ubHkgYm90aGVyIHRvIGNoZWNrIGZvciBsZWFrcyBvciBzdGRlcnIgaWYg
dGhlIHByb2Nlc3MgaXMgc3RpbGwgcnVubmluZy4KKyAgICAgICAgaWYgbm90IHNlbGYuZ2V0X29w
dGlvbignbGVha3MnKSBvciBub3QgaXNfcnVubmluZzoKICAgICAgICAgICAgIHJldHVybgogICAg
ICAgICAjIFdlIGNvdWxkIHVzZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcHN1dGlsLyB0byBn
ZXQgdGhlIHByb2Nlc3NfbmFtZSBmcm9tIHRoZSBwaWQuCiAgICAgICAgIHNlbGYuX2xlYWtfZGV0
ZWN0b3IuY2hlY2tfZm9yX2xlYWtzKHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWVtY2hlY2tfYW5hbHl6ZS5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tZW1jaGVja19hbmFseXplLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVmMzRlMjhlZmEzYmU2NmE1NDg3YTBjZWM0MTFkYzEyOGNhYWE3M2EKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWVtY2hlY2tfYW5hbHl6ZS5weQpAQCAt
MCwwICsxLDY4NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAx
MyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBPcmlnaW5h
bGx5IGZyb20gQ2hyb21pdW0sIGNvcHlyaWdodCBhcyBmb2xsb3dzOgorIworIyBDb3B5cmlnaHQg
KGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisj
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisKKyMgbWVtY2hlY2tfYW5hbHl6ZS5weQorCisnJycgR2l2ZW4gYSB2
YWxncmluZCBYTUwgZmlsZSwgcGFyc2VzIGVycm9ycyBhbmQgdW5pcXVlcyB0aGVtLicnJworCitp
bXBvcnQgZ2RiX2hlbHBlcgorCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdAor
aW1wb3J0IGhhc2hsaWIKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBv
cworaW1wb3J0IHJlCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworaW1wb3J0IHRpbWUK
K2Zyb20geG1sLmRvbS5taW5pZG9tIGltcG9ydCBwYXJzZQorZnJvbSB4bWwucGFyc2Vycy5leHBh
dCBpbXBvcnQgRXhwYXRFcnJvcgorCitpbXBvcnQgY29tbW9uCisKKyMgR2xvYmFsIHN5bWJvbCB0
YWJsZSAoeXVjaykKK1RoZUFkZHJlc3NUYWJsZSA9IE5vbmUKKworIyBUaGVzZSBhcmUgcmVnZXhw
cyB0aGF0IGRlZmluZSBmdW5jdGlvbnMgKHVzaW5nIEMrKyBtYW5nbGVkIG5hbWVzKQorIyB3ZSBk
b24ndCB3YW50IHRvIHNlZSBpbiBzdGFjayB0cmFjZXMgd2hpbGUgcHJldHR5IHByaW50aW5nCisj
IG9yIGdlbmVyYXRpbmcgc3VwcHJlc3Npb25zLgorIyBKdXN0IHN0b3AgcHJpbnRpbmcgdGhlIHN0
YWNrL3N1cHByZXNzaW9uIGZyYW1lcyB3aGVuIHRoZSBjdXJyZW50IG9uZQorIyBtYXRjaGVzIGFu
eSBvZiB0aGVzZS4KK19CT1JJTkdfQ0FMTEVSUyA9IGNvbW1vbi5Cb3JpbmdDYWxsZXJzKG1hbmds
ZWQ9VHJ1ZSwgdXNlX3JlX3dpbGRjYXJkcz1UcnVlKQorCisKK2RlZiBnZXRUZXh0T2YodG9wX25v
ZGUsIG5hbWUpOgorICAgICcnJyBSZXR1cm5zIGFsbCB0ZXh0IGluIGFsbCBET00gbm9kZXMgd2l0
aCBhIGNlcnRhaW4gfG5hbWV8IHRoYXQgYXJlCisgICAgY2hpbGRyZW4gb2YgfHRvcF9ub2RlfC4K
KyAgICAnJycKKworICAgIHRleHQgPSAiIgorICAgIGZvciBub2Rlc19uYW1lZCBpbiB0b3Bfbm9k
ZS5nZXRFbGVtZW50c0J5VGFnTmFtZShuYW1lKToKKyAgICAgICAgdGV4dCArPSAiIi5qb2luKFtu
b2RlLmRhdGEgZm9yIG5vZGUgaW4gbm9kZXNfbmFtZWQuY2hpbGROb2RlcworICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIG5vZGUubm9kZVR5cGUgPT0gbm9kZS5URVhUX05PREVdKQorICAgIHJl
dHVybiB0ZXh0CisKKworZGVmIGdldENEQVRBT2YodG9wX25vZGUsIG5hbWUpOgorICAgICcnJyBS
ZXR1cm5zIGFsbCBDREFUQSBpbiBhbGwgRE9NIG5vZGVzIHdpdGggYSBjZXJ0YWluIHxuYW1lfCB0
aGF0IGFyZQorICAgIGNoaWxkcmVuIG9mIHx0b3Bfbm9kZXwuCisgICAgJycnCisKKyAgICB0ZXh0
ID0gIiIKKyAgICBmb3Igbm9kZXNfbmFtZWQgaW4gdG9wX25vZGUuZ2V0RWxlbWVudHNCeVRhZ05h
bWUobmFtZSk6CisgICAgICAgIHRleHQgKz0gIiIuam9pbihbbm9kZS5kYXRhIGZvciBub2RlIGlu
IG5vZGVzX25hbWVkLmNoaWxkTm9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub2Rl
Lm5vZGVUeXBlID09IG5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFXSkKKyAgICBpZiAodGV4dCA9PSAi
Iik6CisgICAgICAgIHJldHVybiBOb25lCisgICAgcmV0dXJuIHRleHQKKworCitkZWYgc2hvcnRl
bkZpbGVQYXRoKHNvdXJjZV9kaXIsIGRpcmVjdG9yeSk6CisgICAgJycnUmV0dXJucyBhIHN0cmlu
ZyB3aXRoIHRoZSBzdHJpbmcgcHJlZml4IHxzb3VyY2VfZGlyfCByZW1vdmVkIGZyb20KKyAgICB8
ZGlyZWN0b3J5fC4nJycKKyAgICBwcmVmaXhlc190b19jdXQgPSBbImJ1aWxkL3NyYy8iLCAidmFs
Z3JpbmQvY29yZWdyaW5kLyJdCisKKyAgICBpZiBzb3VyY2VfZGlyOgorICAgICAgICBwcmVmaXhl
c190b19jdXQuYXBwZW5kKHNvdXJjZV9kaXIpCisKKyAgICBmb3IgcCBpbiBwcmVmaXhlc190b19j
dXQ6CisgICAgICAgIGluZGV4ID0gZGlyZWN0b3J5LnJmaW5kKHApCisgICAgICAgIGlmIGluZGV4
ICE9IC0xOgorICAgICAgICAgICAgZGlyZWN0b3J5ID0gZGlyZWN0b3J5W2luZGV4ICsgbGVuKHAp
Ol0KKworICAgIHJldHVybiBkaXJlY3RvcnkKKworIyBDb25zdGFudHMgdGhhdCBnaXZlIHJlYWwg
bmFtZXMgdG8gdGhlIGFiYnJldmlhdGlvbnMgaW4gdmFsZ3JpbmQgWE1MIG91dHB1dC4KK0lOU1RS
VUNUSU9OX1BPSU5URVIgPSAiaXAiCitPQkpFQ1RfRklMRSA9ICJvYmoiCitGVU5DVElPTl9OQU1F
ID0gImZuIgorU1JDX0ZJTEVfRElSID0gImRpciIKK1NSQ19GSUxFX05BTUUgPSAiZmlsZSIKK1NS
Q19MSU5FID0gImxpbmUiCisKKworZGVmIGdhdGhlckZyYW1lcyhub2RlLCBzb3VyY2VfZGlyKToK
KyAgICBmcmFtZXMgPSBbXQorICAgIGZvciBmcmFtZSBpbiBub2RlLmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJmcmFtZSIpOgorICAgICAgICBmcmFtZV9kaWN0ID0geworICAgICAgICAgICAgSU5TVFJV
Q1RJT05fUE9JTlRFUjogZ2V0VGV4dE9mKGZyYW1lLCBJTlNUUlVDVElPTl9QT0lOVEVSKSwKKyAg
ICAgICAgICAgIE9CSkVDVF9GSUxFOiBnZXRUZXh0T2YoZnJhbWUsIE9CSkVDVF9GSUxFKSwKKyAg
ICAgICAgICAgIEZVTkNUSU9OX05BTUU6IGdldFRleHRPZihmcmFtZSwgRlVOQ1RJT05fTkFNRSks
CisgICAgICAgICAgICBTUkNfRklMRV9ESVI6IHNob3J0ZW5GaWxlUGF0aCgKKyAgICAgICAgICAg
ICAgICAgICAgc291cmNlX2RpciwgZ2V0VGV4dE9mKGZyYW1lLCBTUkNfRklMRV9ESVIpKSwKKyAg
ICAgICAgICAgIFNSQ19GSUxFX05BTUU6IGdldFRleHRPZihmcmFtZSwgU1JDX0ZJTEVfTkFNRSks
CisgICAgICAgICAgICBTUkNfTElORTogZ2V0VGV4dE9mKGZyYW1lLCBTUkNfTElORSkKKyAgICAg
ICAgfQorCisgICAgICAgICMgSWdub3JlIHRoaXMgZnJhbWUgYW5kIGFsbCB0aGUgZm9sbG93aW5n
IGlmIGl0J3MgYSAiYm9yaW5nIiBmdW5jdGlvbi4KKyAgICAgICAgZW5vdWdoX2ZyYW1lcyA9IEZh
bHNlCisgICAgICAgIGZvciByZWdleHAgaW4gX0JPUklOR19DQUxMRVJTOgorICAgICAgICAgICAg
aWYgcmUubWF0Y2goIl4lcyQiICUgcmVnZXhwLCBmcmFtZV9kaWN0W0ZVTkNUSU9OX05BTUVdKToK
KyAgICAgICAgICAgICAgICBlbm91Z2hfZnJhbWVzID0gVHJ1ZQorICAgICAgICAgICAgICAgIGJy
ZWFrCisgICAgICAgIGlmIGVub3VnaF9mcmFtZXM6CisgICAgICAgICAgICBicmVhaworCisgICAg
ICAgIGZyYW1lcyArPSBbZnJhbWVfZGljdF0KKworICAgICAgICBnbG9iYWwgVGhlQWRkcmVzc1Rh
YmxlCisgICAgICAgIGlmIFRoZUFkZHJlc3NUYWJsZSAhPSBOb25lIGFuZCBmcmFtZV9kaWN0W1NS
Q19MSU5FXSA9PSAiIjoKKyAgICAgICAgICAgICMgVHJ5IHVzaW5nIGdkYgorICAgICAgICAgICAg
VGhlQWRkcmVzc1RhYmxlLkFkZChmcmFtZV9kaWN0W09CSkVDVF9GSUxFXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZnJhbWVfZGljdFtJTlNUUlVDVElPTl9QT0lOVEVSXSkKKyAg
ICByZXR1cm4gZnJhbWVzCisKKworY2xhc3MgVmFsZ3JpbmRFcnJvcjoKKyAgICAnJycgVGFrZXMg
YSA8RE9NIEVsZW1lbnQ6IGVycm9yPiBub2RlIGFuZCByZWFkcyBhbGwgdGhlIGRhdGEgZnJvbSBp
dC4gQQorICAgIFZhbGdyaW5kRXJyb3IgaXMgaW1tdXRhYmxlIGFuZCBpcyBoYXNoZWQgb24gaXRz
IHByZXR0eSBwcmludGVkIG91dHB1dC4KKyAgICAnJycKKworICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBzb3VyY2VfZGlyLCBlcnJvcl9ub2RlLCBjb21tYW5kbGluZSwgdGVzdGNhc2UpOgorICAgICAg
ICAnJycgQ29waWVzIGFsbCB0aGUgcmVsZXZhbnQgaW5mb3JtYXRpb24gb3V0IG9mIHRoZSBET00g
YW5kIGludG8gb2JqZWN0CisgICAgICAgIHByb3BlcnRpZXMuCisKKyAgICAgICAgQXJnczoKKyAg
ICAgICAgICAgIGVycm9yX25vZGU6IFRoZSA8ZXJyb3I+PC9lcnJvcj4gRE9NIG5vZGUgd2UncmUg
ZXh0cmFjdGluZyBmcm9tLgorICAgICAgICAgICAgc291cmNlX2RpcjogUHJlZml4IHRoYXQgc2hv
dWxkIGJlIHN0cmlwcGVkIGZyb20gdGhlIDxkaXI+IG5vZGUuCisgICAgICAgICAgICBjb21tYW5k
bGluZTogVGhlIGNvbW1hbmQgdGhhdCB3YXMgcnVuIHVuZGVyIHZhbGdyaW5kCisgICAgICAgICAg
ICB0ZXN0Y2FzZTogVGhlIHRlc3QgY2FzZSBuYW1lLCBpZiBrbm93bi4KKyAgICAgICAgJycnCisK
KyAgICAgICAgIyBWYWxncmluZCBlcnJvcnMgY29udGFpbiBvbmUgPHdoYXQ+PHN0YWNrPiBwYWly
LCBwbHVzIGFuIG9wdGlvbmFsCisgICAgICAgICMgPGF1eHdoYXQ+PHN0YWNrPiBwYWlyLCBwbHVz
IGFuIG9wdGlvbmFsIDxvcmlnaW4+PHdoYXQ+PHN0YWNrPjwvb3JpZ2luPiwKKyAgICAgICAgIyBw
bHVzIChzaW5jZSAzLjUuMCkgYSA8c3VwcHJlc3Npb24+PC9zdXBwcmVzc2lvbj4gcGFpci4KKyAg
ICAgICAgIyAoT3JpZ2luIGlzIG5pY2VseSBlbmNsb3NlZDsgdG9vIGJhZCB0aGUgb3RoZXIgdHdv
IGFyZW4ndC4pCisgICAgICAgICMgVGhlIG1vc3QgY29tbW9uIHdheSB0byBzZWUgYWxsIHRocmVl
IGluIG9uZSByZXBvcnQgaXMKKyAgICAgICAgIyBhIHN5c2NhbGwgd2l0aCBhIHBhcmFtZXRlciB0
aGF0IHBvaW50cyB0byB1bmluaXRpYWxpemVkIG1lbW9yeSwgZS5nLgorICAgICAgICAjIEZvcm1h
dDoKKyAgICAgICAgIyA8ZXJyb3I+CisgICAgICAgICMgICAgIDx1bmlxdWU+MHg2ZDwvdW5pcXVl
PgorICAgICAgICAjICAgICA8dGlkPjE8L3RpZD4KKyAgICAgICAgIyAgICAgPGtpbmQ+U3lzY2Fs
bFBhcmFtPC9raW5kPgorICAgICAgICAjICAgICA8d2hhdD5TeXNjYWxsIHBhcmFtIHdyaXRlKGJ1
ZikgcG9pbnRzIHRvIHVuaW5pdGlhbGlzZWQgYnl0ZShzKTwvd2hhdD4KKyAgICAgICAgIyAgICAg
PHN0YWNrPgorICAgICAgICAjICAgICAgICAgPGZyYW1lPgorICAgICAgICAjICAgICAgICAgLi4u
CisgICAgICAgICMgICAgICAgICA8L2ZyYW1lPgorICAgICAgICAjICAgICA8L3N0YWNrPgorICAg
ICAgICAjICAgICA8YXV4d2hhdD5BZGRyZXNzIDB4NWM5YWY0ZiBpcyA3IGJ5dGVzIGluc2lkZSBh
IGJsb2NrIG9mIC4uLjwvYXV4d2hhdD4KKyAgICAgICAgIyAgICAgPHN0YWNrPgorICAgICAgICAj
ICAgICAgICAgPGZyYW1lPgorICAgICAgICAjICAgICAgICAgLi4uCisgICAgICAgICMgICAgICAg
ICA8L2ZyYW1lPgorICAgICAgICAjICAgICA8L3N0YWNrPgorICAgICAgICAjICAgICA8b3JpZ2lu
PgorICAgICAgICAjICAgICA8d2hhdD5VbmluaXRpYWxpc2VkIHZhbHVlIHdhcyBjcmVhdGVkIGJ5
IGEgaGVhcCBhbGxvY2F0aW9uPC93aGF0PgorICAgICAgICAjICAgICA8c3RhY2s+CisgICAgICAg
ICMgICAgICAgICA8ZnJhbWU+CisgICAgICAgICMgICAgICAgICAuLi4KKyAgICAgICAgIyAgICAg
ICAgIDwvZnJhbWU+CisgICAgICAgICMgICAgIDwvc3RhY2s+CisgICAgICAgICMgICAgIDwvb3Jp
Z2luPgorICAgICAgICAjICAgICA8c3VwcHJlc3Npb24+CisgICAgICAgICMgICAgICAgICA8c25h
bWU+aW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9oZXJlPC9zbmFtZT4KKyAgICAgICAgIyAgICAg
ICAgIDxza2luZD5NZW1jaGVjazpQYXJhbTwvc2tpbmQ+CisgICAgICAgICMgICAgICAgICA8c2th
dXg+d3JpdGUoYnVmKTwvc2thdXg+CisgICAgICAgICMgICAgICAgICA8c2ZyYW1lPiA8ZnVuPl9f
d3JpdGVfbm9jYW5jZWw8L2Z1bj4gPC9zZnJhbWU+CisgICAgICAgICMgICAgICAgICAuLi4KKyAg
ICAgICAgIyAgICAgICAgIDxzZnJhbWU+IDxmdW4+bWFpbjwvZnVuPiA8L3NmcmFtZT4KKyAgICAg
ICAgIyAgICAgICAgIDxyYXd0ZXh0PgorICAgICAgICAjIDwhW0NEQVRBWworICAgICAgICAjIHsK
KyAgICAgICAgIyAgICAgICAgPGluc2VydF9hX3N1cHByZXNzaW9uX25hbWVfaGVyZT4KKyAgICAg
ICAgIyAgICAgICAgTWVtY2hlY2s6UGFyYW0KKyAgICAgICAgIyAgICAgICAgd3JpdGUoYnVmKQor
ICAgICAgICAjICAgICAgICBmdW46X193cml0ZV9ub2NhbmNlbAorICAgICAgICAjICAgICAgICAu
Li4KKyAgICAgICAgIyAgICAgICAgZnVuOm1haW4KKyAgICAgICAgIyB9CisgICAgICAgICMgXV0+
CisgICAgICAgICMgICAgICAgICA8L3Jhd3RleHQ+CisgICAgICAgICMgICAgIDwvc3VwcHJlc3Np
b24+CisgICAgICAgICMgPC9lcnJvcj4KKyAgICAgICAgIworICAgICAgICAjIEVhY2ggZnJhbWUg
bG9va3MgbGlrZSB0aGlzOgorICAgICAgICAjICAgIDxmcmFtZT4KKyAgICAgICAgIyAgICAgICAg
PGlwPjB4ODM3NTFCQzwvaXA+CisgICAgICAgICMgICAgICAgIDxvYmo+L2RhdGEvZGtlZ2VsL2No
cm9tZS1idWlsZC9zcmMvb3V0L1JlbGVhc2UvYmFzZV91bml0dGVzdHM8L29iaj4KKyAgICAgICAg
IyAgICAgICAgPGZuPl9aTjd0ZXN0aW5nOGludGVybmFsMTJUZXN0SW5mb0ltcGw3UnVuVGVzdEVQ
TlNfOFRlc3RJbmZvRTwvZm4+CisgICAgICAgICMgICAgICAgIDxkaXI+L2RhdGEvZGtlZ2VsL2No
cm9tZS1idWlsZC9zcmMvdGVzdGluZy9ndGVzdC9zcmM8L2Rpcj4KKyAgICAgICAgIyAgICAgICAg
PGZpbGU+Z3Rlc3QtaW50ZXJuYWwtaW5sLmg8L2ZpbGU+CisgICAgICAgICMgICAgICAgIDxsaW5l
PjY1NTwvbGluZT4KKyAgICAgICAgIyAgICA8L2ZyYW1lPgorICAgICAgICAjIGFsdGhvdWdoIHRo
ZSBkaXIsIGZpbGUsIGFuZCBsaW5lIGVsZW1lbnRzIGFyZSBtaXNzaW5nIGlmIHRoZXJlIGlzCisg
ICAgICAgICMgbm8gZGVidWcgaW5mby4KKworICAgICAgICBzZWxmLl9raW5kID0gZ2V0VGV4dE9m
KGVycm9yX25vZGUsICJraW5kIikKKyAgICAgICAgc2VsZi5fYmFja3RyYWNlcyA9IFtdCisgICAg
ICAgIHNlbGYuX3N1cHByZXNzaW9uID0gTm9uZQorICAgICAgICBzZWxmLl9jb21tYW5kbGluZSA9
IGNvbW1hbmRsaW5lCisgICAgICAgIHNlbGYuX3Rlc3RjYXNlID0gdGVzdGNhc2UKKyAgICAgICAg
c2VsZi5fYWRkaXRpb25hbCA9IFtdCisKKyAgICAgICAgIyBJdGVyYXRlIHRocm91Z2ggdGhlIG5v
ZGVzLCBwYXJzaW5nIDx3aGF0fGF1eHdoYXQ+PHN0YWNrPiBwYWlycy4KKyAgICAgICAgZGVzY3Jp
cHRpb24gPSBOb25lCisgICAgICAgIGZvciBub2RlIGluIGVycm9yX25vZGUuY2hpbGROb2RlczoK
KyAgICAgICAgICAgIGlmIG5vZGUubG9jYWxOYW1lID09ICJ3aGF0IiBvciBub2RlLmxvY2FsTmFt
ZSA9PSAiYXV4d2hhdCI6CisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gPSAiIi5qb2luKFtu
LmRhdGEgZm9yIG4gaW4gbm9kZS5jaGlsZE5vZGVzCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiBuLm5vZGVUeXBlID09IG4uVEVYVF9OT0RFXSkKKyAgICAgICAgICAg
IGVsaWYgbm9kZS5sb2NhbE5hbWUgPT0gInh3aGF0IjoKKyAgICAgICAgICAgICAgICBkZXNjcmlw
dGlvbiA9IGdldFRleHRPZihub2RlLCAidGV4dCIpCisgICAgICAgICAgICBlbGlmIG5vZGUubG9j
YWxOYW1lID09ICJzdGFjayI6CisgICAgICAgICAgICAgICAgYXNzZXJ0IGRlc2NyaXB0aW9uCisg
ICAgICAgICAgICAgICAgc2VsZi5fYmFja3RyYWNlcy5hcHBlbmQoW2Rlc2NyaXB0aW9uLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXRoZXJGcmFtZXMobm9kZSwg
c291cmNlX2RpcildKQorICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gTm9uZQorICAgICAg
ICAgICAgZWxpZiBub2RlLmxvY2FsTmFtZSA9PSAib3JpZ2luIjoKKyAgICAgICAgICAgICAgICBk
ZXNjcmlwdGlvbiA9IGdldFRleHRPZihub2RlLCAid2hhdCIpCisgICAgICAgICAgICAgICAgc3Rh
Y2sgPSBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzdGFjayIpWzBdCisgICAgICAgICAgICAg
ICAgZnJhbWVzID0gZ2F0aGVyRnJhbWVzKHN0YWNrLCBzb3VyY2VfZGlyKQorICAgICAgICAgICAg
ICAgIHNlbGYuX2JhY2t0cmFjZXMuYXBwZW5kKFtkZXNjcmlwdGlvbiwgZnJhbWVzXSkKKyAgICAg
ICAgICAgICAgICBkZXNjcmlwdGlvbiA9IE5vbmUKKyAgICAgICAgICAgICAgICBzdGFjayA9IE5v
bmUKKyAgICAgICAgICAgICAgICBmcmFtZXMgPSBOb25lCisgICAgICAgICAgICBlbGlmIGRlc2Ny
aXB0aW9uIGFuZCBub2RlLmxvY2FsTmFtZSAhPSBOb25lOgorICAgICAgICAgICAgICAgICMgVGhl
IGxhc3Rlc3QgZGVzY3JpcHRpb24gaGFzIG5vIHN0YWNrLAorICAgICAgICAgICAgICAgICMgZS5n
LiAiQWRkcmVzcyAweDI4IGlzIHVua25vd24iCisgICAgICAgICAgICAgICAgc2VsZi5fYWRkaXRp
b25hbC5hcHBlbmQoZGVzY3JpcHRpb24pCisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gPSBO
b25lCisKKyAgICAgICAgICAgIGlmIG5vZGUubG9jYWxOYW1lID09ICJzdXBwcmVzc2lvbiI6Cisg
ICAgICAgICAgICAgICAgc2VsZi5fc3VwcHJlc3Npb24gPSBnZXRDREFUQU9mKG5vZGUsICJyYXd0
ZXh0IikKKworICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICAnJycgUHJldHR5IHByaW50
IHRoZSB0eXBlIGFuZCBiYWNrdHJhY2Uocykgb2YgdGhpcyBzcGVjaWZpYyBlcnJvciwKKyAgICAg
ICAgICAgICAgICBpbmNsdWRpbmcgc3VwcHJlc3Npb24gKHdoaWNoIGlzIGp1c3QgYSBtYW5nbGVk
IGJhY2t0cmFjZSkuJycnCisgICAgICAgIG91dHB1dCA9ICIiCisgICAgICAgIGlmIChzZWxmLl9j
b21tYW5kbGluZSk6CisgICAgICAgICAgICBvdXRwdXQgKz0gc2VsZi5fY29tbWFuZGxpbmUgKyAi
XG4iCisKKyAgICAgICAgb3V0cHV0ICs9IHNlbGYuX2tpbmQgKyAiXG4iCisgICAgICAgIGZvciBi
YWNrdHJhY2UgaW4gc2VsZi5fYmFja3RyYWNlczoKKyAgICAgICAgICAgIG91dHB1dCArPSBiYWNr
dHJhY2VbMF0gKyAiXG4iCisgICAgICAgICAgICBmaWx0ZXIgPSBzdWJwcm9jZXNzLlBvcGVuKCJj
KytmaWx0IC1uIiwgc3RkaW49c3VicHJvY2Vzcy5QSVBFLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJy
PXN1YnByb2Nlc3MuU1RET1VULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNoZWxsPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VfZmRzPVRydWUpCisgICAgICAgICAgICBidWYg
PSAiIgorICAgICAgICAgICAgZm9yIGZyYW1lIGluIGJhY2t0cmFjZVsxXToKKyAgICAgICAgICAg
ICAgICBidWYgKz0gKGZyYW1lW0ZVTkNUSU9OX05BTUVdIG9yIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGZyYW1lW0lOU1RSVUNUSU9OX1BPSU5URVJdKSArICJcbiIKKyAgICAgICAgICAgIChz
dGRvdXRidWYsIHN0ZGVycmJ1ZikgPSBmaWx0ZXIuY29tbXVuaWNhdGUoYnVmLmVuY29kZSgnbGF0
aW4tMScpKQorICAgICAgICAgICAgZGVtYW5nbGVkX25hbWVzID0gc3Rkb3V0YnVmLnNwbGl0KCJc
biIpCisKKyAgICAgICAgICAgIGkgPSAwCisgICAgICAgICAgICBmb3IgZnJhbWUgaW4gYmFja3Ry
YWNlWzFdOgorICAgICAgICAgICAgICAgIG91dHB1dCArPSAoIiAgICAiICsgZGVtYW5nbGVkX25h
bWVzW2ldKQorICAgICAgICAgICAgICAgIGkgPSBpICsgMQorCisgICAgICAgICAgICAgICAgZ2xv
YmFsIFRoZUFkZHJlc3NUYWJsZQorICAgICAgICAgICAgICAgIGlmIFRoZUFkZHJlc3NUYWJsZSAh
PSBOb25lIGFuZCBmcmFtZVtTUkNfRklMRV9ESVJdID09ICIiOgorICAgICAgICAgICAgICAgICAg
ICAjIFRyeSB1c2luZyBnZGIKKyAgICAgICAgICAgICAgICAgICAgZm9vID0gVGhlQWRkcmVzc1Rh
YmxlLkdldEZpbGVMaW5lKAorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVbT0JKRUNUX0ZJ
TEVdLAorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVbSU5TVFJVQ1RJT05fUE9JTlRFUl0p
CisgICAgICAgICAgICAgICAgICAgIGlmIGZvb1swXSAhPSBOb25lOgorICAgICAgICAgICAgICAg
ICAgICAgICAgb3V0cHV0ICs9ICgiICgiICsgZm9vWzBdICsgIjoiICsgZm9vWzFdICsgIikiKQor
ICAgICAgICAgICAgICAgIGVsaWYgZnJhbWVbU1JDX0ZJTEVfRElSXSAhPSAiIjoKKyAgICAgICAg
ICAgICAgICAgICAgb3V0cHV0ICs9ICgiICgiICsgZnJhbWVbU1JDX0ZJTEVfRElSXSArCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi8iICsgZnJhbWVbU1JDX0ZJTEVfTkFNRV0gKwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IiArIGZyYW1lW1NSQ19MSU5FXSArICIp
IikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXQgKz0g
IiAoIiArIGZyYW1lW09CSkVDVF9GSUxFXSArICIpIgorICAgICAgICAgICAgICAgIG91dHB1dCAr
PSAiXG4iCisKKyAgICAgICAgZm9yIGFkZGl0aW9uYWwgaW4gc2VsZi5fYWRkaXRpb25hbDoKKyAg
ICAgICAgICAgIG91dHB1dCArPSBhZGRpdGlvbmFsICsgIlxuIgorCisgICAgICAgIGFzc2VydCBz
ZWxmLl9zdXBwcmVzc2lvbiAhPSBOb25lLCAiWW91ciBWYWxncmluZCBkb2Vzbid0IGdlbmVyYXRl
ICIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdXBwcmVz
c2lvbnMgLSBpcyBpdCB0b28gb2xkPyIKKworICAgICAgICBpZiBzZWxmLl90ZXN0Y2FzZToKKyAg
ICAgICAgICAgIG91dHB1dCArPSAiVGhlIHJlcG9ydCBjYW1lIGZyb20gdGhlIGAlc2AgdGVzdC5c
biIgJSBzZWxmLl90ZXN0Y2FzZQorICAgICAgICBvdXRwdXQgKz0gIlN1cHByZXNzaW9uIChlcnJv
ciBoYXNoPSMlMDE2WCMpOlxuIiAlIHNlbGYuRXJyb3JIYXNoKCkKKyAgICAgICAgb3V0cHV0ICs9
ICgiICBGb3IgbW9yZSBpbmZvIG9uIHVzaW5nIHN1cHByZXNzaW9ucyBzZWUgIgorICAgICAgICAg
ICAgICAgICAgICAgICJodHRwOi8vZGV2LmNocm9taXVtLm9yZy9kZXZlbG9wZXJzL3RyZWUtc2hl
cmlmZnMvIgorICAgICAgICAgICAgICAgICAgICAgICJzaGVyaWZmLWRldGFpbHMtY2hyb21pdW0v
bWVtb3J5LXNoZXJpZmYjIgorICAgICAgICAgICAgICAgICAgICAgICJUT0MtU3VwcHJlc3Npbmct
bWVtb3J5LXJlcG9ydHMiKQorCisgICAgICAgICMgV2lkZW4gc3VwcHJlc3Npb24gc2xpZ2h0bHkg
dG8gbWFrZSBwb3J0YWJsZSBiZXR3ZWVuIG1hYyBhbmQgbGludXgKKyAgICAgICAgIyBUT0RPKHRp
bXVycnJyKTogT29wcywgdGhlc2UgdHJhbnNmb3JtYXRpb25zIHNob3VsZCBoYXBwZW4KKyAgICAg
ICAgIyBCRUZPUkUgY2FsY3VsYXRpbmcgdGhlIGhhc2ghCisgICAgICAgIHN1cHAgPSBzZWxmLl9z
dXBwcmVzc2lvbgorICAgICAgICBzdXBwID0gc3VwcC5yZXBsYWNlKCJmdW46X1pud2oiLCAiZnVu
Ol9abncqIikKKyAgICAgICAgc3VwcCA9IHN1cHAucmVwbGFjZSgiZnVuOl9abndtIiwgImZ1bjpf
Wm53KiIpCisgICAgICAgIHN1cHAgPSBzdXBwLnJlcGxhY2UoImZ1bjpfWm5haiIsICJmdW46X1pu
YSoiKQorICAgICAgICBzdXBwID0gc3VwcC5yZXBsYWNlKCJmdW46X1puYW0iLCAiZnVuOl9abmEq
IikKKworICAgICAgICAjIFNwbGl0IGludG8gbGluZXMgc28gd2UgY2FuIGVuZm9yY2UgbGVuZ3Ro
IGxpbWl0cworICAgICAgICBzdXBwbGluZXMgPSBzdXBwLnNwbGl0KCJcbiIpCisgICAgICAgIHN1
cHAgPSBOb25lICAgICMgdG8gYXZvaWQgcmUtdXNlCisKKyAgICAgICAgIyBUcnVuY2F0ZSBhdCBs
aW5lIDI2IChWR19NQVhfU1VQUF9DQUxMRVJTIHBsdXMgMiBmb3IgbmFtZSBhbmQgdHlwZSkKKyAg
ICAgICAgIyBvciBhdCB0aGUgZmlyc3QgJ2JvcmluZycgY2FsbGVyLgorICAgICAgICAjIChodHRw
czovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NDY4IHByb3Bvc2VzIHJhaXNpbmcK
KyAgICAgICAgIyBWR19NQVhfU1VQUF9DQUxMRVJTLCBidXQgd2UncmUgcHJvYmFibHkgZmluZSB3
aXRoIGl0IGFzIGlzLikKKyAgICAgICAgbmV3bGVuID0gbWluKDI2LCBsZW4oc3VwcGxpbmVzKSkK
KworICAgICAgICAjIERyb3AgYm9yaW5nIGZyYW1lcyBhbmQgYWxsIHRoZSBmb2xsb3dpbmcuCisg
ICAgICAgIGVub3VnaF9mcmFtZXMgPSBGYWxzZQorICAgICAgICBmb3IgZnJhbWVubyBpbiByYW5n
ZShuZXdsZW4pOgorICAgICAgICAgICAgZm9yIGJvcmluZ19jYWxsZXIgaW4gX0JPUklOR19DQUxM
RVJTOgorICAgICAgICAgICAgICAgIGlmIHJlLm1hdGNoKCJeICtmdW46JXMkIiAlIGJvcmluZ19j
YWxsZXIsIHN1cHBsaW5lc1tmcmFtZW5vXSk6CisgICAgICAgICAgICAgICAgICAgIG5ld2xlbiA9
IGZyYW1lbm8KKyAgICAgICAgICAgICAgICAgICAgZW5vdWdoX2ZyYW1lcyA9IFRydWUKKyAgICAg
ICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGlmIGVub3VnaF9mcmFtZXM6CisgICAg
ICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgaWYgKGxlbihzdXBwbGluZXMpID4gbmV3bGVuKToK
KyAgICAgICAgICAgIHN1cHBsaW5lcyA9IHN1cHBsaW5lc1swOm5ld2xlbl0KKyAgICAgICAgICAg
IHN1cHBsaW5lcy5hcHBlbmQoIn0iKQorCisgICAgICAgIGZvciBmcmFtZSBpbiByYW5nZShsZW4o
c3VwcGxpbmVzKSk6CisgICAgICAgICAgICAjIFJlcGxhY2UgdGhlIGFsd2F5cy1jaGFuZ2luZyBh
bm9ueW1vdXMgbmFtZXNwYWNlIHByZWZpeCB3aXRoICIqIi4KKyAgICAgICAgICAgIG0gPSByZS5t
YXRjaCgiKCArZnVuOilfWk4uKl9HTE9CQUxfX05fLipcLmNjXyIgKworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJbMC05YS1mQS1GXXs4fV9bMC05YS1mQS1GXXs4fSguKiki
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBsaW5lc1tmcmFtZV0p
CisgICAgICAgICAgICBpZiBtOgorICAgICAgICAgICAgICAgIHN1cHBsaW5lc1tmcmFtZV0gPSAi
KiIuam9pbihtLmdyb3VwcygpKQorCisgICAgICAgIG91dHB1dCArPSAiXG4iLmpvaW4oc3VwcGxp
bmVzKSArICJcbiIKKworICAgICAgICByZXR1cm4gb3V0cHV0CisKKyAgICBkZWYgVW5pcXVlU3Ry
aW5nKHNlbGYpOgorICAgICAgICAnJycgU3RyaW5nIHRvIHVzZSBmb3Igb2JqZWN0IGlkZW50aXR5
LiBEb24ndCBwcmludCB0aGlzLCB1c2Ugc3RyKG9iaikKKyAgICAgICAgaW5zdGVhZC4nJycKKyAg
ICAgICAgcmVwID0gc2VsZi5fa2luZCArICIgIgorICAgICAgICBmb3IgYmFja3RyYWNlIGluIHNl
bGYuX2JhY2t0cmFjZXM6CisgICAgICAgICAgICBmb3IgZnJhbWUgaW4gYmFja3RyYWNlWzFdOgor
ICAgICAgICAgICAgICAgIHJlcCArPSBmcmFtZVtGVU5DVElPTl9OQU1FXQorCisgICAgICAgICAg
ICAgICAgaWYgZnJhbWVbU1JDX0ZJTEVfRElSXSAhPSAiIjoKKyAgICAgICAgICAgICAgICAgICAg
cmVwICs9IGZyYW1lW1NSQ19GSUxFX0RJUl0gKyAiLyIgKyBmcmFtZVtTUkNfRklMRV9OQU1FXQor
ICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJlcCArPSBmcmFtZVtP
QkpFQ1RfRklMRV0KKworICAgICAgICByZXR1cm4gcmVwCisKKyAgICAjIFRoaXMgaXMgYSBkZXZp
Y2UtaW5kZXBlbmRlbnQgaGFzaCBpZGVudGlmeWluZyB0aGUgc3VwcHJlc3Npb24uCisgICAgIyBC
eSBwcmludGluZyBvdXQgdGhpcyBoYXNoIHdlIGNhbiBmaW5kIGR1cGxpY2F0ZSByZXBvcnRzIGJl
dHdlZW4gdGVzdHMgYW5kCisgICAgIyBkaWZmZXJlbnQgc2hhcmRzIHJ1bm5pbmcgb24gbXVsdGlw
bGUgYnVpbGRib3RzCisgICAgZGVmIEVycm9ySGFzaChzZWxmKToKKyAgICAgICAgcmV0dXJuIGlu
dChoYXNobGliLm1kNShzZWxmLlVuaXF1ZVN0cmluZygpKS5oZXhkaWdlc3QoKVs6MTZdLCAxNikK
KworICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGhhc2goc2VsZi5Vbmlx
dWVTdHJpbmcoKSkKKworICAgIGRlZiBfX2VxX18oc2VsZiwgcmhzKToKKyAgICAgICAgcmV0dXJu
IHNlbGYuVW5pcXVlU3RyaW5nKCkgPT0gcmhzCisKKworZGVmIGxvZ19pc19maW5pc2hlZChmLCBm
b3JjZV9maW5pc2gpOgorICAgIGYuc2VlaygwKQorICAgIHByZXZfbGluZSA9ICIiCisgICAgd2hp
bGUgVHJ1ZToKKyAgICAgICAgbGluZSA9IGYucmVhZGxpbmUoKQorICAgICAgICBpZiBsaW5lID09
ICIiOgorICAgICAgICAgICAgaWYgbm90IGZvcmNlX2ZpbmlzaDoKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gRmFsc2UKKyAgICAgICAgICAgICMgT2theSwgdGhlIGxvZyBpcyBub3QgZmluaXNoZWQg
YnV0IHdlIGNhbgorICAgICAgICAgICAgIyBtYWtlIGl0IHVwIHRvIGJlIHBhcnNlYWJsZToKKyAg
ICAgICAgICAgIGlmIHByZXZfbGluZS5zdHJpcCgpIGluIFsiPC9lcnJvcj4iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8L2Vycm9yY291bnRzPiIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIjwvc3RhdHVzPiJdOgorICAgICAgICAgICAgICAg
IGYud3JpdGUoIjwvdmFsZ3JpbmRvdXRwdXQ+XG4iKQorICAgICAgICAgICAgICAgIHJldHVybiBU
cnVlCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgaWYgJzwvdmFsZ3JpbmRvdXRw
dXQ+JyBpbiBsaW5lOgorICAgICAgICAgICAgIyBWYWxncmluZCBvZnRlbiBoYXMgZ2FyYmFnZSBh
ZnRlciA8L3ZhbGdyaW5kb3V0cHV0PiB1cG9uIGNyYXNoLgorICAgICAgICAgICAgZi50cnVuY2F0
ZSgpCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBwcmV2X2xpbmUgPSBsaW5lCisK
KworY2xhc3MgTWVtY2hlY2tBbmFseXplcjoKKyAgICAnJycgR2l2ZW4gYSBzZXQgb2YgVmFsZ3Jp
bmQgWE1MIGZpbGVzLCBwYXJzZSBhbGwgdGhlIGVycm9ycyBvdXQgb2YgdGhlbSwKKyAgICB1bmlx
dWUgdGhlbSBhbmQgb3V0cHV0IHRoZSByZXN1bHRzLicnJworCisgICAgU0FOSVRZX1RFU1RfU1VQ
UFJFU1NJT05TID0geworICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDAxIChtZW1v
cnkgbGVhaykuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAwMiAobWFs
bG9jL3JlYWQgbGVmdCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAw
MyAobWFsbG9jL3JlYWQgcmlnaHQpLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5
IHRlc3QgMDQgKG1hbGxvYy93cml0ZSBsZWZ0KS4iOiAxLAorICAgICAgICAgICAgIk1lbWNoZWNr
IHNhbml0eSB0ZXN0IDA1IChtYWxsb2Mvd3JpdGUgcmlnaHQpLiI6IDEsCisgICAgICAgICAgICAi
TWVtY2hlY2sgc2FuaXR5IHRlc3QgMDYgKG5ldy9yZWFkIGxlZnQpLiI6IDEsCisgICAgICAgICAg
ICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMDcgKG5ldy9yZWFkIHJpZ2h0KS4iOiAxLAorICAgICAg
ICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDA4IChuZXcvd3JpdGUgbGVmdCkuIjogMSwKKyAg
ICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAwOSAobmV3L3dyaXRlIHJpZ2h0KS4iOiAx
LAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDEwICh3cml0ZSBhZnRlciBmcmVl
KS4iOiAxLAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDExICh3cml0ZSBhZnRl
ciBkZWxldGUpLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTIgKGFy
cmF5IGRlbGV0ZWQgd2l0aG91dCBbXSkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5p
dHkgdGVzdCAxMyAoc2luZ2xlIGVsZW1lbnQgZGVsZXRlZCB3aXRoIFtdKS4iOiAxLAorICAgICAg
ICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDE0IChtYWxsb2MvcmVhZCB1bmluaXQpLiI6IDEs
CisgICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTUgKG5ldy9yZWFkIHVuaW5pdCku
IjogMSwKKyAgICB9CisKKyAgICAjIE1heCB0aW1lIHRvIHdhaXQgZm9yIG1lbWNoZWNrIGxvZ3Mg
dG8gY29tcGxldGUuCisgICAgTE9HX0NPTVBMRVRJT05fVElNRU9VVCA9IDE4MC4wCisKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgc291cmNlX2Rpciwgc2hvd19hbGxfbGVha3M9RmFsc2UsIHVzZV9n
ZGI9RmFsc2UpOgorICAgICAgICAnJydDcmVhdGUgYSBwYXJzZXIgZm9yIE1lbWNoZWNrIGxvZ3Mu
CisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIHNvdXJjZV9kaXI6IFBhdGggdG8gdG9wIG9m
IHNvdXJjZSB0cmVlIGZvciB0aGlzIGJ1aWxkCisgICAgICAgICAgICBzaG93X2FsbF9sZWFrczog
V2hldGhlciB0byBzaG93IGV2ZW4gbGVzcyBpbXBvcnRhbnQgbGVha3MKKyAgICAgICAgICAgIHVz
ZV9nZGI6IFdoZXRoZXIgdG8gdXNlIGdkYiB0byByZXNvbHZlIHNvdXJjZSBmaWxlbmFtZXMgYW5k
IGxpbmUKKyAgICAgICAgICAgICAgICAgICAgIG51bWJlcnMgaW4gdGhlIHJlcG9ydCBzdGFja3Ry
YWNlcworICAgICAgICAnJycKKyAgICAgICAgc2VsZi5fc291cmNlX2RpciA9IHNvdXJjZV9kaXIK
KyAgICAgICAgc2VsZi5fc2hvd19hbGxfbGVha3MgPSBzaG93X2FsbF9sZWFrcworICAgICAgICBz
ZWxmLl91c2VfZ2RiID0gdXNlX2dkYgorCisgICAgICAgICMgQ29udGFpbnMgdGhlIHNldCBvZiB1
bmlxdWUgZXJyb3JzCisgICAgICAgIHNlbGYuX2Vycm9ycyA9IHNldCgpCisKKyAgICAgICAgIyBD
b250YWlucyB0aGUgdGltZSB3aGVuIHRoZSB3ZSBzdGFydGVkIGFuYWx5emluZyB0aGUgZmlyc3Qg
bG9nIGZpbGUuCisgICAgICAgICMgVGhpcyB2YXJpYWJsZSBpcyB1c2VkIHRvIHNraXAgaW5jb21w
bGV0ZSBsb2dzIGFmdGVyIHNvbWUgdGltZW91dC4KKyAgICAgICAgc2VsZi5fYW5hbHl6ZV9zdGFy
dF90aW1lID0gTm9uZQorCisgICAgZGVmIFJlcG9ydChzZWxmLCBmaWxlcywgdGVzdGNhc2UsIGNo
ZWNrX3Nhbml0eT1GYWxzZSk6CisgICAgICAgICcnJ1JlYWRzIGluIGEgc2V0IG9mIGZpbGVzIGFu
ZCBwcmludHMgTWVtY2hlY2sgcmVwb3J0LgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgICBm
aWxlczogQSBsaXN0IG9mIGZpbGVuYW1lcy4KKyAgICAgICAgICAgIGNoZWNrX3Nhbml0eTogaWYg
dHJ1ZSwgc2VhcmNoIGZvciBTQU5JVFlfVEVTVF9TVVBQUkVTU0lPTlMKKyAgICAgICAgJycnCisg
ICAgICAgICMgQmV5b25kIHRoZSBkZXRhaWxlZCBlcnJvcnMgcGFyc2VkIGJ5IFZhbGdyaW5kRXJy
b3IgYWJvdmUsCisgICAgICAgICMgdGhlIHhtbCBmaWxlIGNvbnRhaW4gcmVjb3JkcyBkZXNjcmli
aW5nIHN1cHByZXNzaW9ucyB0aGF0IHdlcmUgdXNlZDoKKyAgICAgICAgIyA8c3VwcGNvdW50cz4K
KyAgICAgICAgIyAgICA8cGFpcj4KKyAgICAgICAgIyAgICAgICAgPGNvdW50PjI4PC9jb3VudD4K
KyAgICAgICAgIyAgICAgICAgPG5hbWU+cGFuZ29fZm9udF9sZWFrX3RvZG88L25hbWU+CisgICAg
ICAgICMgICAgPC9wYWlyPgorICAgICAgICAjICAgIDxwYWlyPgorICAgICAgICAjICAgICAgICA8
Y291bnQ+Mzc4PC9jb3VudD4KKyAgICAgICAgIyAgICAgICAgPG5hbWU+YnVnXzEzMjQzPC9uYW1l
PgorICAgICAgICAjICAgIDwvcGFpcj4KKyAgICAgICAgIyA8L3N1cHBjb3VudHMKKyAgICAgICAg
IyBDb2xsZWN0IHRoZXNlIGFuZCBwcmludCB0aGVtIGF0IHRoZSBlbmQuCisgICAgICAgICMKKyAg
ICAgICAgIyBXaXRoIG91ciBwYXRjaCBmb3IgaHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNTAwMCBpbiwKKyAgICAgICAgIyB0aGUgZmlsZSBhbHNvIGluY2x1ZGVzIHJlY29y
ZHMgb2YgdGhlIGZvcm0KKyAgICAgICAgIyA8bG9hZF9vYmo+PG9iaj4vdXNyL2xpYi9saWJnY2Nf
cy4xLmR5bGliPC9vYmo+PGlwPjB4MjcwMDA8L2lwPjwvbG9hZF9vYmo+CisgICAgICAgICMgZ2l2
aW5nIHRoZSBmaWxlbmFtZSBhbmQgbG9hZCBhZGRyZXNzIG9mIGVhY2ggYmluYXJ5IHRoYXQgd2Fz
IG1hcHBlZAorICAgICAgICAjIGludG8gdGhlIHByb2Nlc3MuCisKKyAgICAgICAgZ2xvYmFsIFRo
ZUFkZHJlc3NUYWJsZQorICAgICAgICBpZiBzZWxmLl91c2VfZ2RiOgorICAgICAgICAgICAgVGhl
QWRkcmVzc1RhYmxlID0gZ2RiX2hlbHBlci5BZGRyZXNzVGFibGUoKQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgVGhlQWRkcmVzc1RhYmxlID0gTm9uZQorICAgICAgICBjdXJfcmVwb3J0X2Vy
cm9ycyA9IHNldCgpCisgICAgICAgIHN1cHBjb3VudHMgPSBkZWZhdWx0ZGljdChpbnQpCisgICAg
ICAgIGJhZGZpbGVzID0gc2V0KCkKKworICAgICAgICBpZiBzZWxmLl9hbmFseXplX3N0YXJ0X3Rp
bWUgPT0gTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2FuYWx5emVfc3RhcnRfdGltZSA9IHRpbWUu
dGltZSgpCisgICAgICAgIHN0YXJ0X3RpbWUgPSBzZWxmLl9hbmFseXplX3N0YXJ0X3RpbWUKKwor
ICAgICAgICBwYXJzZV9mYWlsZWQgPSBGYWxzZQorICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoK
KyAgICAgICAgICAgICMgV2FpdCB1cCB0byB0aHJlZSBtaW51dGVzIGZvciB2YWxncmluZCB0byBm
aW5pc2ggd3JpdGluZyBhbGwKKyAgICAgICAgICAgICMgZmlsZXMsIGJ1dCBhZnRlciB0aGF0LCBq
dXN0IHNraXAgaW5jb21wbGV0ZSBmaWxlcyBhbmQgd2Fybi4KKyAgICAgICAgICAgIGYgPSBvcGVu
KGZpbGUsICJyKyIpCisgICAgICAgICAgICBwaWQgPSByZS5tYXRjaCgiLipcLihbMC05XSspJCIs
IGZpbGUpCisgICAgICAgICAgICBpZiBwaWQ6CisgICAgICAgICAgICAgICAgcGlkID0gcGlkLmdy
b3VwcygpWzBdCisgICAgICAgICAgICBmb3VuZCA9IEZhbHNlCisgICAgICAgICAgICBydW5uaW5n
ID0gVHJ1ZQorICAgICAgICAgICAgZmlyc3RydW4gPSBUcnVlCisgICAgICAgICAgICBza2lwID0g
RmFsc2UKKyAgICAgICAgICAgIG9yaWdzaXplID0gb3MucGF0aC5nZXRzaXplKGZpbGUpCisgICAg
ICAgICAgICB3aGlsZSAocnVubmluZyBhbmQgbm90IGZvdW5kIGFuZCBub3Qgc2tpcCBhbmQKKyAg
ICAgICAgICAgICAgICAgICAoZmlyc3RydW4gb3IgKCh0aW1lLnRpbWUoKSAtIHN0YXJ0X3RpbWUp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IHNlbGYuTE9HX0NPTVBMRVRJT05f
VElNRU9VVCkpKToKKyAgICAgICAgICAgICAgICBmaXJzdHJ1biA9IEZhbHNlCisgICAgICAgICAg
ICAgICAgZi5zZWVrKDApCisgICAgICAgICAgICAgICAgaWYgcGlkOgorICAgICAgICAgICAgICAg
ICAgICAjIE1ha2Ugc3VyZSB0aGUgcHJvY2VzcyBpcyBzdGlsbCBydW5uaW5nIHNvIHdlIGRvbid0
IHdhaXQKKyAgICAgICAgICAgICAgICAgICAgIyBmb3IgMyBtaW51dGVzIGlmIGl0IHdhcyBraWxs
ZWQuCisgICAgICAgICAgICAgICAgICAgICMgU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vMTc0NTMKKyAg
ICAgICAgICAgICAgICAgICAgcHNfb3V0ID0gc3VicHJvY2Vzcy5Qb3BlbigicHMgcCAlcyIgJSBw
aWQsIHNoZWxsPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkuc3Rkb3V0CisgICAgICAgICAgICAgICAgICAg
IGlmIGxlbihwc19vdXQucmVhZGxpbmVzKCkpIDwgMjoKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJ1bm5pbmcgPSBGYWxzZQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg
ICAgIHNraXAgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgIHJ1bm5pbmcgPSBGYWxzZQorICAg
ICAgICAgICAgICAgIGZvdW5kID0gbG9nX2lzX2ZpbmlzaGVkKGYsIEZhbHNlKQorICAgICAgICAg
ICAgICAgIGlmIG5vdCBydW5uaW5nIGFuZCBub3QgZm91bmQ6CisgICAgICAgICAgICAgICAgICAg
IGxvZ2dpbmcud2FybigiVmFsZ3JpbmQgcHJvY2VzcyBQSUQgPSAlcyBpcyBub3QgcnVubmluZyBi
dXQiCisgICAgICAgICAgICAgICAgICAgICAgICAiIGl0cyBYTUwgbG9nIGhhcyBub3QgYmVlbiBm
aW5pc2hlZCBjb3JyZWN0bHkuXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAiTWFrZSBpdCB1
cCBieSBhZGRpbmcgc29tZSBjbG9zaW5nIHRhZ3MgbWFudWFsbHkuIiAlCisgICAgICAgICAgICAg
ICAgICAgICAgICBwaWQpCisgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gbG9nX2lzX2Zpbmlz
aGVkKGYsIG5vdCBydW5uaW5nKQorICAgICAgICAgICAgICAgIGlmIHJ1bm5pbmcgYW5kIG5vdCBm
b3VuZDoKKyAgICAgICAgICAgICAgICAgICAgdGltZS5zbGVlcCgxKQorICAgICAgICAgICAgZi5j
bG9zZSgpCisgICAgICAgICAgICBpZiBub3QgZm91bmQ6CisgICAgICAgICAgICAgICAgYmFkZmls
ZXMuYWRkKGZpbGUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5ld3NpemUg
PSBvcy5wYXRoLmdldHNpemUoZmlsZSkKKyAgICAgICAgICAgICAgICBpZiBvcmlnc2l6ZSA+IG5l
d3NpemUgKyAxOgorICAgICAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm4oc3RyKG9yaWdzaXpl
IC0gbmV3c2l6ZSkgKworICAgICAgICAgICAgICAgICAgICAgICAgIiBieXRlcyBvZiBqdW5rIHdl
cmUgYWZ0ZXIgPC92YWxncmluZG91dHB1dD4gaW4gJXMhIiAlCisgICAgICAgICAgICAgICAgICAg
ICAgICBmaWxlKQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgcGFy
c2VkX2ZpbGUgPSBwYXJzZShmaWxlKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBFeHBhdEVycm9y
LCBlOgorICAgICAgICAgICAgICAgICAgICBwYXJzZV9mYWlsZWQgPSBUcnVlCisgICAgICAgICAg
ICAgICAgICAgIGxvZ2dpbmcud2FybigiY291bGQgbm90IHBhcnNlICVzOiAlcyIgJSAoZmlsZSwg
ZSkpCisgICAgICAgICAgICAgICAgICAgIGxpbmVubyA9IGUubGluZW5vIC0gMQorICAgICAgICAg
ICAgICAgICAgICBjb250ZXh0X2xpbmVzID0gNQorICAgICAgICAgICAgICAgICAgICBjb250ZXh0
X3N0YXJ0ID0gbWF4KDAsIGxpbmVubyAtIGNvbnRleHRfbGluZXMpCisgICAgICAgICAgICAgICAg
ICAgIGNvbnRleHRfZW5kID0gbGluZW5vICsgY29udGV4dF9saW5lcyArIDEKKyAgICAgICAgICAg
ICAgICAgICAgY29udGV4dF9maWxlID0gb3BlbihmaWxlLCAiciIpCisgICAgICAgICAgICAgICAg
ICAgIGZvciBpIGluIHJhbmdlKDAsIGNvbnRleHRfc3RhcnQpOgorICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGV4dF9maWxlLnJlYWRsaW5lKCkKKyAgICAgICAgICAgICAgICAgICAgZm9yIGkg
aW4gcmFuZ2UoY29udGV4dF9zdGFydCwgY29udGV4dF9lbmQpOgorICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGV4dF9kYXRhID0gY29udGV4dF9maWxlLnJlYWRsaW5lKCkucnN0cmlwKCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIGkgIT0gbGluZW5vOgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxvZ2dpbmcud2FybigiICAgICVzIiAlIGNvbnRleHRfZGF0YSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2lu
Zy53YXJuKCI+ICVzIiAlIGNvbnRleHRfZGF0YSkKKyAgICAgICAgICAgICAgICAgICAgY29udGV4
dF9maWxlLmNsb3NlKCkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAg
ICAgICBpZiBUaGVBZGRyZXNzVGFibGUgIT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgbG9h
ZF9vYmpzID0gcGFyc2VkX2ZpbGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxvYWRfb2JqIikKKyAg
ICAgICAgICAgICAgICAgICAgZm9yIGxvYWRfb2JqIGluIGxvYWRfb2JqczoKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG9iaiA9IGdldFRleHRPZihsb2FkX29iaiwgIm9iaiIpCisgICAgICAgICAg
ICAgICAgICAgICAgICBpcCA9IGdldFRleHRPZihsb2FkX29iaiwgImlwIikKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFRoZUFkZHJlc3NUYWJsZS5BZGRCaW5hcnlBdChvYmosIGlwKQorCisgICAg
ICAgICAgICAgICAgY29tbWFuZGxpbmUgPSBOb25lCisgICAgICAgICAgICAgICAgcHJlYW1ibGUg
PSBwYXJzZWRfZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicHJlYW1ibGUiKVswXQorICAgICAg
ICAgICAgICAgIGZvciBub2RlIGluIHByZWFtYmxlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5l
Iik6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vZGUubG9jYWxOYW1lID09ICJsaW5lIjoKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGZvciB4IGluIG5vZGUuY2hpbGROb2RlczoKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiB4Lm5vZGVUeXBlID09IG5vZGUuVEVYVF9OT0RFIGFuZCBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb21tYW5kIiBpbiB4LmRhdGE6
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRsaW5lID0geC5kYXRhCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgICAgICAgICBy
YXdfZXJyb3JzID0gcGFyc2VkX2ZpbGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImVycm9yIikKKyAg
ICAgICAgICAgICAgICBmb3IgcmF3X2Vycm9yIGluIHJhd19lcnJvcnM6CisgICAgICAgICAgICAg
ICAgICAgICMgSWdub3JlICJwb3NzaWJsZSIgbGVha3MgZm9yIG5vdyBieSBkZWZhdWx0LgorICAg
ICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fc2hvd19hbGxfbGVha3Mgb3IgZ2V0VGV4dE9mKHJh
d19lcnJvciwgImtpbmQiKSAhPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMZWFrX1Bv
c3NpYmx5TG9zdCIpOgorICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBWYWxncmluZEVy
cm9yKHNlbGYuX3NvdXJjZV9kaXIsIHJhd19lcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kbGluZSwgdGVzdGNhc2UpCisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiBlcnJvciBub3QgaW4gY3VyX3JlcG9ydF9lcnJvcnM6CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIyBXZSBoYXZlbid0IHNlZW4gc3VjaCBlcnJvcnMgZG9pbmcg
dGhpcyByZXBvcnQgeWV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXJyb3IgaW4g
c2VsZi5fZXJyb3JzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIC4uLiBidXQg
d2Ugc2F3IGl0IGluIGVhcmxpZXIgcmVwb3J0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIyBlLmcuIHByZXZpb3VzIFVJIHRlc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY3VyX3JlcG9ydF9lcnJvcnMuYWRkKCJUaGlzIGVycm9yIHdhcyBhbHJlYWR5ICIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmludGVkIGluIHNvbWUgb3RoZXIg
dGVzdCwgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlZSAnaGFzaD0j
JTAxNlgjJyIgJSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci5F
cnJvckhhc2goKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIC4uLiBhbmQgd2UgaGF2ZW4ndCBzZWVuIGl0IGluCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb3RoZXIgdGVzdHMgYXMgd2VsbAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9lcnJvcnMuYWRkKGVycm9yKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJfcmVwb3J0X2Vycm9ycy5hZGQoZXJyb3Ip
CisKKyAgICAgICAgICAgICAgICBzdXBwY291bnRsaXN0ID0gcGFyc2VkX2ZpbGUuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoInN1cHBjb3VudHMiKQorICAgICAgICAgICAgICAgIGlmIGxlbihzdXBwY291
bnRsaXN0KSA+IDA6CisgICAgICAgICAgICAgICAgICAgIHN1cHBjb3VudGxpc3QgPSBzdXBwY291
bnRsaXN0WzBdCisgICAgICAgICAgICAgICAgICAgIGZvciBub2RlIGluIHN1cHBjb3VudGxpc3Qu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoInBhaXIiKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv
dW50ID0gZ2V0VGV4dE9mKG5vZGUsICJjb3VudCIpCisgICAgICAgICAgICAgICAgICAgICAgICBu
YW1lID0gZ2V0VGV4dE9mKG5vZGUsICJuYW1lIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1
cHBjb3VudHNbbmFtZV0gKz0gaW50KGNvdW50KQorCisgICAgICAgIGlmIGxlbihiYWRmaWxlcykg
PiAwOgorICAgICAgICAgICAgbG9nZ2luZy53YXJuKCJ2YWxncmluZCBkaWRuJ3QgZmluaXNoIHdy
aXRpbmcgJWQgZmlsZXM/ISIgJQorICAgICAgICAgICAgICAgIGxlbihiYWRmaWxlcykpCisgICAg
ICAgICAgICBmb3IgZmlsZSBpbiBiYWRmaWxlczoKKyAgICAgICAgICAgICAgICBsb2dnaW5nLndh
cm4oIkxhc3QgMjAgbGluZXMgb2YgJXMgOiIgJSBmaWxlKQorICAgICAgICAgICAgICAgIG9zLnN5
c3RlbSgidGFpbCAtbiAyMCAnJXMnIDE+JjIiICUgZmlsZSkKKworICAgICAgICBpZiBwYXJzZV9m
YWlsZWQ6CisgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCJGQUlMISBDb3VsZG4ndCBwYXJzZSBW
YWxncmluZCBvdXRwdXQgZmlsZSIpCisgICAgICAgICAgICByZXR1cm4gLTIKKworICAgICAgICBj
b21tb24uUHJpbnRVc2VkU3VwcHJlc3Npb25zTGlzdChzdXBwY291bnRzKQorCisgICAgICAgIHJl
dGNvZGUgPSAwCisgICAgICAgIGlmIGN1cl9yZXBvcnRfZXJyb3JzOgorICAgICAgICAgICAgbG9n
Z2luZy5lcnJvcigiRkFJTCEgVGhlcmUgd2VyZSAlcyBlcnJvcnM6ICIgJQorICAgICAgICAgICAg
ICAgIGxlbihjdXJfcmVwb3J0X2Vycm9ycykpCisKKyAgICAgICAgICAgIGlmIFRoZUFkZHJlc3NU
YWJsZSAhPSBOb25lOgorICAgICAgICAgICAgICAgIFRoZUFkZHJlc3NUYWJsZS5SZXNvbHZlQWxs
KCkKKworICAgICAgICAgICAgZm9yIGVycm9yIGluIGN1cl9yZXBvcnRfZXJyb3JzOgorICAgICAg
ICAgICAgICAgIGxvZ2dpbmcuZXJyb3IoZXJyb3IpCisKKyAgICAgICAgICAgIHJldGNvZGUgPSAt
MQorCisgICAgICAgICMgUmVwb3J0IHRvb2wncyBpbnNhbml0eSBldmVuIGlmIHRoZXJlIHdlcmUg
ZXJyb3JzLgorICAgICAgICBpZiBjaGVja19zYW5pdHk6CisgICAgICAgICAgICByZW1haW5pbmdf
c2FuaXR5X3N1cHAgPSBNZW1jaGVja0FuYWx5emVyLlNBTklUWV9URVNUX1NVUFBSRVNTSU9OUwor
ICAgICAgICAgICAgZm9yIChuYW1lLCBjb3VudCkgaW4gc3VwcGNvdW50cy5pdGVyaXRlbXMoKToK
KyAgICAgICAgICAgICAgICBpZiAobmFtZSBpbiByZW1haW5pbmdfc2FuaXR5X3N1cHAgYW5kCisg
ICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmdfc2FuaXR5X3N1cHBbbmFtZV0gPT0gY291
bnQpOgorICAgICAgICAgICAgICAgICAgICBkZWwgcmVtYWluaW5nX3Nhbml0eV9zdXBwW25hbWVd
CisgICAgICAgICAgICBpZiByZW1haW5pbmdfc2FuaXR5X3N1cHA6CisgICAgICAgICAgICAgICAg
bG9nZ2luZy5lcnJvcigiRkFJTCEgU2FuaXR5IGNoZWNrIGZhaWxlZCEiKQorICAgICAgICAgICAg
ICAgIGxvZ2dpbmcuaW5mbygiVGhlIGZvbGxvd2luZyB0ZXN0IGVycm9ycyB3ZXJlIG5vdCBoYW5k
bGVkOiAiKQorICAgICAgICAgICAgICAgIGZvciAobmFtZSwgY291bnQpIGluIHJlbWFpbmluZ19z
YW5pdHlfc3VwcC5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5pbmZv
KCIgICAgKiAlZHggJXMiICUgKGNvdW50LCBuYW1lKSkKKyAgICAgICAgICAgICAgICByZXRjb2Rl
ID0gLTMKKworICAgICAgICBpZiByZXRjb2RlICE9IDA6CisgICAgICAgICAgICByZXR1cm4gcmV0
Y29kZQorCisgICAgICAgIGxvZ2dpbmcuaW5mbygiUEFTUyEgTm8gZXJyb3JzIGZvdW5kISIpCisg
ICAgICAgIHJldHVybiAwCisKKworZGVmIF9tYWluKCk6CisgICAgJycnRm9yIHRlc3Rpbmcgb25s
eS4KKyAgICBUaGUgTWVtY2hlY2tBbmFseXplciBjbGFzcyBzaG91bGQgYmUgaW1wb3J0ZWQgaW5z
dGVhZC4KKyAgICAnJycKKyAgICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIoInVzYWdl
OiAlcHJvZyBbb3B0aW9uc10gPGZpbGVzIHRvIGFuYWx5emU+IikKKyAgICBwYXJzZXIuYWRkX29w
dGlvbigiIiwgIi0tc291cmNlX2RpciIsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0icGF0
aCB0byB0b3Agb2Ygc291cmNlIHRyZWUgZm9yIHRoaXMgYnVpbGQiCisgICAgICAgICAgICAgICAg
ICAgICAgIih1c2VkIHRvIG5vcm1hbGl6ZSBzb3VyY2UgcGF0aHMgaW4gYmFzZWxpbmUpIikKKwor
ICAgIChvcHRpb25zLCBhcmdzKSA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKyAgICBpZiBsZW4oYXJn
cykgPT0gMDoKKyAgICAgICAgcGFyc2VyLmVycm9yKCJubyBmaWxlbmFtZSBzcGVjaWZpZWQiKQor
ICAgIGZpbGVuYW1lcyA9IGFyZ3MKKworICAgIGFuYWx5emVyID0gTWVtY2hlY2tBbmFseXplcihv
cHRpb25zLnNvdXJjZV9kaXIsIHVzZV9nZGI9VHJ1ZSkKKyAgICByZXR1cm4gYW5hbHl6ZXIuUmVw
b3J0KGZpbGVuYW1lcywgTm9uZSkKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAg
IHN5cy5leGl0KF9tYWluKCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvc2VydmVyX3Byb2Nlc3MucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVy
X3Byb2Nlc3MucHkKaW5kZXggODE4NGQyNTg3YWIxZDlkOWM4YTM2NWM1ZjFiYTUwZDA5NjgwOTY5
ZS4uZTQyMWU3YjIxODU2N2U1NTEwNTk0NzRlMDcxODk4YjFiODhiMGIzOCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weQpAQCAtMzMxLDkgKzMzMSw4
IEBAIGNsYXNzIFNlcnZlclByb2Nlc3Mob2JqZWN0KToKICAgICAgICAgaWYgbm90IHNlbGYuX3By
b2M6CiAgICAgICAgICAgICByZXR1cm4gKE5vbmUsIE5vbmUpCiAKLSAgICAgICAgIyBPbmx5IGJv
dGhlciB0byBjaGVjayBmb3IgbGVha3Mgb3Igc3RkZXJyIGlmIHRoZSBwcm9jZXNzIGlzIHN0aWxs
IHJ1bm5pbmcuCi0gICAgICAgIGlmIHNlbGYucG9sbCgpIGlzIE5vbmU6Ci0gICAgICAgICAgICBz
ZWxmLl9wb3J0LmNoZWNrX2Zvcl9sZWFrcyhzZWxmLm5hbWUoKSwgc2VsZi5waWQoKSkKKyAgICAg
ICAgaXNfcnVubmluZyA9IHNlbGYucG9sbCgpIGlzIE5vbmUKKyAgICAgICAgc2VsZi5fcG9ydC5j
aGVja19mb3JfbGVha3Moc2VsZi5uYW1lKCksIHNlbGYucGlkKCksIGlzX3J1bm5pbmcpCiAKICAg
ICAgICAgbm93ID0gdGltZS50aW1lKCkKICAgICAgICAgaWYgc2VsZi5fcHJvYy5zdGRpbjoKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0
dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0
dGVzdC5weQppbmRleCA1YWQ3ZDBlYTdlNjVmNDFlNWZkYzZiZWRiMzFhYzYxYWYyNmM4ZjQxLi5i
MjM2ZTRkMjBlYzFhODAwMWFiZDM4NGZjYjU4ZGRmNWY5MmM1OTllIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzX3VuaXR0ZXN0LnB5CkBA
IC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFRyaXZpYWxNb2NrUG9ydChvYmplY3QpOgogICAgIGRlZiBy
ZXN1bHRzX2RpcmVjdG9yeShzZWxmKToKICAgICAgICAgcmV0dXJuICIvbW9jay1yZXN1bHRzIgog
Ci0gICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlk
KToKKyAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19w
aWQsIGlzX3J1bm5pbmcpOgogICAgICAgICBwYXNzCiAKICAgICBkZWYgcHJvY2Vzc19raWxsX3Rp
bWUoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy92YWxncmluZC9tZW1jaGVjay9zdXBwcmVzc2lv
bnMudHh0IGIvVG9vbHMvdmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJlc3Npb25zLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zZmM5ZGNmZjc3MmE0MmFmNjI2OGE5YzQwOWFlODE3MjVkODcyNTYxCi0tLSAvZGV2L251
bGwKKysrIGIvVG9vbHMvdmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJlc3Npb25zLnR4dApAQCAtMCww
ICsxLDIxOTAgQEAKKyMgVGhlcmUgYXJlIGZvdXIga2luZHMgb2Ygc3VwcHJlc3Npb25zIGluIHRo
aXMgZmlsZS4KKyMgMS4gdGhpcmQgcGFydHkgc3R1ZmYgd2UgaGF2ZSBubyBjb250cm9sIG92ZXIK
KyMKKyMgMi4gaW50ZW50aW9uYWwgdW5pdCB0ZXN0IGVycm9ycywgb3Igc3R1ZmYgdGhhdCBpcyBz
b21laG93IGEgZmFsc2UgcG9zaXRpdmUKKyMgaW4gb3VyIG93biBjb2RlLCBvciBzdHVmZiB0aGF0
IGlzIHNvIHRyaXZpYWwgaXQncyBub3Qgd29ydGggZml4aW5nCisjCisjIDMuIFN1cHByZXNzaW9u
cyBmb3IgcmVhbCB3ZWJraXQgYnVncyB0aGF0IGFyZSBub3QgeWV0IGZpeGVkLgorIyBUaGVzZSBz
aG91bGQgYWxsIGJlIGluIHdlYmtpdCdzIGJ1ZyB0cmFja2luZyBzeXN0ZW0gKGJ1dCBhIGZldyBh
cmVuJ3QgeWV0KS4KKyMgUGVyaW9kaWNhbGx5IHdlIHNob3VsZCBzd2VlcCB0aGlzIGZpbGUgYW5k
IHRoZSBidWcgdHJhY2tlciBjbGVhbiBieQorIyBydW5uaW5nIG92ZXJuaWdodCBhbmQgcmVtb3Zp
bmcgb3V0ZGF0ZWQgYnVncy9zdXBwcmVzc2lvbnMuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyAxLiB0
aGlyZCBwYXJ0eSBzdHVmZiB3ZSBoYXZlIG5vIGNvbnRyb2wgb3ZlcgoreworICAgI2d0ayBkZXZl
bG9wZXJzIGRvbid0IGxpa2UgY2xlYW5pbmcgdXAgb25lLXRpbWUgbGVha3MuICBTZWUgaHR0cDov
L21haWwuZ25vbWUub3JnL2FyY2hpdmVzL2d0ay1kZXZlbC1saXN0LzIwMDQtQXByaWwvbXNnMDAy
MzAuaHRtbAorICAgZ3RrX2luaXRfY2hlY2sgbGVhayAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVj
azpMZWFrCisgICAuLi4KKyAgIGZ1bjpndGtfaW5pdF9jaGVjaworfQoreworICAgRm9udGNvbmZp
ZyBsZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpYTUxfUGFyc2VCdWZmZXIK
KyAgIGZ1bjpGY0NvbmZpZ1BhcnNlQW5kTG9hZAorfQoreworICAgRmNDb25maWdBcHBGb250QWRk
RmlsZV9sZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ0FwcEZv
bnRBZGRGaWxlCit9Cit7CisgICAjIFNlZSBhbHNvIGh0dHA6Ly93d3cuZ25vbWUub3JnL35qb2hh
bi9ndGsuc3VwcHJlc3Npb24KKyAgICMgKHdoaWNoIGhhcyBhIHNtYXR0ZXJpbmcgb2Ygc2ltaWxh
ciBwYW5nbyBzdXBwcmVzc2lvbnMpCisgICBwYW5nb19mb250X2xlYWtfdG9kbworICAgTWVtY2hl
Y2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgb2JqOioKKyAg
IGZ1bjpwYW5nb19mb250X21hcF9sb2FkX2ZvbnRzZXQKK30KK3sKKyAgIHBhbmdvX2ZvbnRfbGVh
a190b2RvXzIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxv
YworICAgZnVuOmdfc3RyZHVwCisgICBmdW46cGFuZ29fc2NyaXB0X2dldF9zYW1wbGVfbGFuZ3Vh
Z2UKKyAgIC4uLgorICAgZnVuOnBhbmdvX2ZvbnRfZ2V0X21ldHJpY3MKK30KK3sKKyAgIHBhbmdv
X2ZvbnRfbGVha190b2RvXzMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9u
dFJlbmRlclByZXBhcmUKKyAgIC4uLgorICAgZnVuOnBhbmdvX2l0ZW1pemVfd2l0aF9iYXNlX2Rp
cgorfQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fNAorICAgTWVtY2hlY2s6TGVhaworICAg
Li4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBmdW46cGFuZ29fb3Rf
YnVmZmVyX291dHB1dAorfQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fNQorICAgTWVtY2hl
Y2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBm
dW46cGFuZ29fY29udGV4dF9nZXRfbWV0cmljcworfQoreworICAgcGFuZ29fZm9udF9sZWFrX3Rv
ZG9fNgorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNEZWZhdWx0U3Vic3RpdHV0
ZQorICAgLi4uCisgICBmdW46cGFuZ29faXRlbWl6ZV93aXRoX2Jhc2VfZGlyCit9Cit7CisgICAj
IFNpbWlsYXIgdG8gZm9udGNvbmZpZ19idWdfODQyOCBiZWxvdy4gUmVwb3J0ZWQgaW4KKyAgICMg
aHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxNQorICAgZm9u
dGNvbmZpZ19idWdfODIxNQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVu
OkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhC
aW5kaW5nCit9Cit7CisgICAjIEZvbnRjb25maWcgbGVhaywgc2VlbiBpbiBzaGFyZCAxNiBvZiAy
MCBvZiB1aV90ZXN0cworICAgIyBTZWUgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODQyOAorICAgIyBhbmQgaHR0cDovL3d3dy5nbm9tZS5vcmcvfmpvaGFuL2d0
ay5zdXBwcmVzc2lvbgorICAgZm9udGNvbmZpZ19idWdfODQyOAorICAgTWVtY2hlY2s6TGVhawor
ICAgLi4uCisgICBmdW46cmVhbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVsdAor
ICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhCaW5kaW5nCit9Cit7CisgICAjIEFub3RoZXIg
cGVybXV0YXRpb24gb2YgcHJldmlvdXMgbGVhay4KKyAgIGZvbnRjb25maWdfYnVnXzg0MjhfMgor
ICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46cmVhbGxvYworICAgZnVuOkZjUGF0dGVy
bk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZAorfQoreworICAgZm9u
dGNvbmZpZ19idWcgICAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IGZ1bjptYWxsb2MKKyAgIGZ1bjpGY0NvbmZpZ1ZhbHVlcworICAgZnVuOkZjQ29uZmlnVmFsdWVz
CisgICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ1ZhbHVlcworICAgZnVuOkZjQ29uZmlnVmFsdWVzCit9
Cit7CisgICBidWdfNDYxNzdfYSAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAu
Li4KKyAgIGZ1bjpGY0NoYXJTZXRPcGVyYXRlCisgICBmdW46RmNGb250U2V0U29ydAorICAgZnVu
OkZjRm9udFNvcnQKKyAgIC4uLgorICAgZnVuOnBhbmdvX2xheW91dF9nZXRfcGl4ZWxfc2l6ZQor
fQoreworICAgYnVnXzQ2MTc3X2IgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAg
Li4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAgIGZ1bjpGY0NoYXJTZXRBZGRM
ZWFmCisgICBmdW46RmNDaGFyU2V0T3BlcmF0ZQorICAgZnVuOkZjRm9udFNldFNvcnQKKyAgIGZ1
bjpGY0ZvbnRTb3J0CisgICAuLi4KKyAgIGZ1bjpwYW5nb19sYXlvdXRfZ2V0X2l0ZXIKK30KK3sK
KyAgIGJ1Z180NjE3N19jIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOkZjQ2hhclNldEZpbmRMZWFmQ3JlYXRlCisgICBmdW46RmNDaGFyU2V0QWRkTGVhZgor
ICAgZnVuOkZjQ2hhclNldE9wZXJhdGUKKyAgIGZ1bjpGY0ZvbnRTZXRTb3J0CisgICBmdW46RmNG
b250U29ydAorICAgLi4uCisgICBmdW46cGFuZ29fbGF5b3V0X2xpbmVfZ2V0X2V4dGVudHMKK30K
K3sKKyAgIGJ1Z180NjE3N19kIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjptYWxsb2MKKyAgIGZ1bjpGY0ZvbnRTZXRDcmVhdGUKKyAgIGZ1bjpGY0ZvbnRTZXRTb3J0Cisg
ICBmdW46RmNGb250U29ydAorfQoreworICAgYnVnXzQ2MTc3X2UgKFRoaXJkIFBhcnR5KQorICAg
TWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAg
IGZ1bjpGY0NoYXJTZXRBZGRDaGFyCit9Cit7CisgICBkbG9wZW4gbGVhayBvbiBlcnJvci4gU2Vl
IGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTI4NzguCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisgICBmdW46X2RsZXJyb3JfcnVuCisgICBm
dW46ZGxvcGVuQEBHTElCQ18yLjEKK30KK3sKKyAgIF9kbF9zdGFydCBKdW1wCisgICBNZW1jaGVj
azpKdW1wCisgICBvYmo6KgorICAgb2JqOioKKyAgIGZ1bjpkbF9tYWluCisgICBmdW46X2RsX3N5
c2RlcF9zdGFydAorICAgZnVuOl9kbF9zdGFydAorICAgb2JqOi9saWIveDg2XzY0LWxpbnV4LWdu
dS9sZC0yLjE1LnNvCisgICBvYmo6KgorICAgb2JqOioKKyAgIG9iajoqCit9CisKK3sKKyAgIGds
aWJjIGxlYWsuICBTZWUgYWxzbyBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2J1Z3ppbGxhL3No
b3dfYnVnLmNnaT9pZD0yNDUxCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBm
dW46X2RsX21hcF9vYmplY3RfZnJvbV9mZAorfQoreworICAgIyBhcnJheSBvZiB3ZWFrIHJlZmVy
ZW5jZXMgZnJlZWQgYnV0IG5vdCBwcm9jZXNzZWQ/CisgICBidWdfMTY1NzYKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOmdfb2JqZWN0X3dlYWtfcmVmCisgICBmdW46Z19vYmplY3Rf
YWRkX3dlYWtfcG9pbnRlcgorfQoreworICAgaHR0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9idWd6
aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTE3MQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOmNhbGxv
YworICAgZnVuOmFsbG9jYXRlX2R0dgorICAgZnVuOl9kbF9hbGxvY2F0ZV90bHMKKyAgIGZ1bjpw
dGhyZWFkX2NyZWF0ZUBAR0xJQkNfMi4xCit9CisKK3sKKyAgIGdfYnVpbGRfZmlsZW5hbWUgZm9y
IGZvbnRzIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisg
ICBmdW46Z19yZWFsbG9jCisgICBmdW46Z19zdHJpbmdfbWF5YmVfZXhwYW5kCisgICBmdW46Z19z
dHJpbmdfaW5zZXJ0X2xlbgorICAgZnVuOmdfYnVpbGRfcGF0aF92YQorICAgZnVuOmdfYnVpbGRf
ZmlsZW5hbWUKKyAgIGZ1bjpfWkwxNWluaXRpYWxpemVGb250c1BLYworfQorCisKK3sKKyAgICMg
TG9va3MgbGlrZSBhIGxlYWsgaW4gZ3RrJ3MgY29kZSB3aGVuIGxvYWRpbmcgdGhlIGltIGNvbnRl
eHQgbW9kdWxlLgorICAgYnVnXzQxMjMxIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIC4uLgorICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19zdHJkdXAK
KyAgIGZ1bjpndGtfaW1fbXVsdGljb250ZXh0X2dldF9zbGF2ZQorICAgZnVuOmd0a19pbV9tdWx0
aWNvbnRleHRfc2V0X2NsaWVudF93aW5kb3cKKyAgIGZ1bjpndGtfaW1fY29udGV4dF9zZXRfY2xp
ZW50X3dpbmRvdworfQoreworICAgIyBTZWUgaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxh
L3Nob3dfYnVnLmNnaT9pZD0xNDAxNS4KKyAgIGJ1Z181MTc3MCAoVGhpcmQgUGFydHkpCisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisgICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46
ZGxzeW0KK30KKworeworICAgZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcgKFRoaXJkIHBhcnR5
KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBm
dW46Z19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcKKyAgIGZ1bjpnb2JqZWN0X2luaXRfY3Rvcgor
ICAgZnVuOmNhbGxfaW5pdC5wYXJ0LjAKKyAgIGZ1bjpfZGxfaW5pdAorICAgb2JqOi9saWIveDg2
XzY0LWxpbnV4LWdudS9sZC0yLjE1LnNvCisgICBvYmo6KgorICAgb2JqOioKKyAgIG9iajoqCit9
CisKK3sKKyAgIGd0a19jc3MgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVu
OnJlYWxsb2MKKyAgIGZ1bjpnX3JlYWxsb2MKKyAgIGZ1bjpnX3N0cmluZ19tYXliZV9leHBhbmQK
KyAgIGZ1bjpnX3N0cmluZ19pbnNlcnRfYworICAgZnVuOl9ndGtfY3NzX3BhcnNlcl9yZWFkX2No
YXIKKyAgIGZ1bjpfZ3RrX2Nzc19wYXJzZXJfdHJ5X2lkZW50CisgICBmdW46YmluZGluZ3NfdmFs
dWVfcGFyc2Vfb25lCisgICBmdW46X2d0a19jc3NfYXJyYXlfdmFsdWVfcGFyc2UKKyAgIGZ1bjpn
dGtfY3NzX3Byb3ZpZGVyX2xvYWRfaW50ZXJuYWwKKyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVyX2xv
YWRfZnJvbV9kYXRhCisgICBmdW46bWFpbgorfQoreworICAgYnVnXzk2NDAyIChUaGlyZCBwYXJ0
eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAg
ZnVuOmdfc2xpY2VfYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jMAorICAgZnVuOmdfdHlwZV9j
cmVhdGVfaW5zdGFuY2UKKyAgIGZ1bjpnX29iamVjdF9jb25zdHJ1Y3RvcgorICAgZnVuOmdfb2Jq
ZWN0X25ld3YKKyAgIGZ1bjpnX29iamVjdF9uZXcKKyAgIGZ1bjpfZ2RrX3dpbmRvd19pbXBsX25l
dworICAgZnVuOmdka193aW5kb3dfZW5zdXJlX25hdGl2ZQorICAgZnVuOmdka194MTFfZHJhd2Fi
bGVfZ2V0X3hpZAorICAgLi4uCisgICBmdW46Z19jbG9zdXJlX2ludm9rZQorICAgZnVuOnNpZ25h
bF9lbWl0X3VubG9ja2VkX1IKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X3ZhbGlzdAorICAgZnVuOmdf
c2lnbmFsX2VtaXQKKyAgIGZ1bjpndGtfd2lkZ2V0X3JlYWxpemUKKyAgIGZ1bjpndGtfd2lkZ2V0
X3NldF9wYXJlbnQKK30KK3sKKyAgIGd0a193aWRnZXRfZGlzcG9zZSAoVGhpcmQgcGFydHkpCisg
ICBNZW1jaGVjazpDb25kCisgICBmdW46aGFuZGxlcnNfZmluZAorICAgZnVuOnNpZ25hbF9oYW5k
bGVyc19mb3JlYWNoX21hdGNoZWRfUgorICAgZnVuOmdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5l
Y3RfbWF0Y2hlZAorICAgZnVuOmd0a19ib3hfcmVtb3ZlCisgICBmdW46Z19jbG9zdXJlX2ludm9r
ZQorICAgZnVuOnNpZ25hbF9lbWl0X3VubG9ja2VkX1IKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X3Zh
bGlzdAorICAgZnVuOmdfc2lnbmFsX2VtaXQKKyAgIGZ1bjpndGtfd2lkZ2V0X2Rpc3Bvc2UKKyAg
IGZ1bjpnX29iamVjdF9ydW5fZGlzcG9zZQorICAgZnVuOmd0a19ib3hfZm9yYWxsCisgICBmdW46
Z3RrX2NvbnRhaW5lcl9kZXN0cm95CisgICBmdW46Z19jbG9zdXJlX2ludm9rZQorICAgZnVuOnNp
Z25hbF9lbWl0X3VubG9ja2VkX1IKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X3ZhbGlzdAorICAgZnVu
Omdfc2lnbmFsX2VtaXQKKyAgIGZ1bjpndGtfd2lkZ2V0X2Rpc3Bvc2UKKyAgIGZ1bjpnX29iamVj
dF9ydW5fZGlzcG9zZQorICAgZnVuOmd0a19jb250YWluZXJfZGVzdHJveQorICAgZnVuOmdfY2xv
c3VyZV9pbnZva2UKKyAgIGZ1bjpzaWduYWxfZW1pdF91bmxvY2tlZF9SCisgICBmdW46Z19zaWdu
YWxfZW1pdF92YWxpc3QKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0CisgICBmdW46Z3RrX3dpZGdldF9k
aXNwb3NlCit9Cit7CisgICBsZWFrcyBpbiBiYXNoCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4K
KyAgIG9iajovYmluL2Jhc2gKK30KK3sKKyAgIEVuY2hhbnQgc3BlbGxpbmcgKFRoaXJkIHBhcnR5
KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIG9iajoqL2xpYmVu
Y2hhbnQuc28uMS42LjAKKyAgIGZ1bjplbmNoYW50X2Jyb2tlcl9kaWN0X2V4aXN0cworfQorCit7
CisgICBFbmNoYW50IHNwZWxsaW5nIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjoqYWxsb2MKKyAgIC4uLgorICAgb2JqOiovbGliZW5jaGFudC5zby4xLjYuMAorICAgZnVu
OmVuY2hhbnRfYnJva2VyX2RpY3RfZXhpc3RzCit9CisKKyMgWFJhbmRSSW5mbyBvYmplY3Qgc2Vl
bXMgdG8gYmUgbGVha2luZyBpbnNpZGUgWFJSRmluZERpc3BsYXkuICBUaGlzIGhhcHBlbnMgdGhl
CisjIGZpcnN0IHRpbWUgaXQgaXMgY2FsbGVkLCBubyBtYXR0ZXIgd2hvIHRoZSBjYWxsZXIgaXMu
ICBXZSBoYXZlIG9ic2VydmVkIHRoaXMKKyMgcHJvYmxlbSB3aXRoIGJvdGggWFJSU2VsZWN0SW5w
dXQgYW5kIFhSUlF1ZXJ5RXh0ZW5zaW9uLgoreworICAgWFJSRmluZERpc3BsYXkgbGVhaworICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOlhSUkZpbmREaXNwbGF5Cit9Cit7
CisgICBGbGFzaCBQbGF5ZXIgTGVhaworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6
L3Vzci9saWIvZmxhc2hwbHVnaW4taW5zdGFsbGVyL2xpYmZsYXNocGxheWVyLnNvCit9CisKK3sK
KyAgIE9jY2FzaW9uYWwgbGVhayBpbnNpZGUgZ2RrX2luaXQoKQorICAgTWVtY2hlY2s6TGVhawor
ICAgZnVuOm1hbGxvYworICAgLi4uCisgICBmdW46X25sX2ZpbmRfZG9tYWluCisgICBmdW46X19k
Y2lnZXR0ZXh0CisgICBmdW46Z2RrX3NjcmVlbl9jbGFzc19pbnRlcm5faW5pdAorICAgZnVuOmdf
dHlwZV9jbGFzc19yZWYKKyAgIGZ1bjpnX3R5cGVfY2xhc3NfcmVmCisgICBmdW46Z19vYmplY3Rf
bmV3dgorICAgZnVuOmdfb2JqZWN0X25ldworICAgZnVuOl9nZGtfeDExX3NjcmVlbl9uZXcKKyAg
IGZ1bjpnZGtfZGlzcGxheV9vcGVuCisgICBmdW46Z2RrX2Rpc3BsYXlfb3Blbl9kZWZhdWx0X2xp
Ymd0a19vbmx5CisgICBmdW46Z2RrX2luaXRfY2hlY2sKKyAgIGZ1bjpnZGtfaW5pdAorfQorCit7
CisgICBnbGliL2d0aHJlYWQgbWFsbG9jIGxlYWsgaW4gY29tcG9uZW50IGJ1aWxkCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46KmFsbG9jCisgICAuLi4KKyAgIGZ1bjpnX3RocmVhZF9wcm94eQor
fQoreworICAgSmF2YSBjcmVhdGUgSk5JIGxlYWsgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6
TGVhaworICAgLi4uCisgICBmdW46Sk5JX0NyZWF0ZUphdmFWTQorICAgZnVuOkphdmFNYWluCit9
Cit7CisgICBKYXZhIHVuaW5pdGlhbGlzZWQgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6Q29u
ZAorICAgLi4uCisgICBmdW46Sk5JX0NyZWF0ZUphdmFWTQorICAgZnVuOkphdmFNYWluCit9Cit7
CisgICBKYXZhIHVuaW5pdGlhbGlzZWQgMiAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpDb25k
CisgICAuLi4KKyAgIGZ1bjpfWkwxMGphdmFfc3RhcnRQNlRocmVhZAorfQoreworICAgSmF2YSBz
dGFydCB0aHJlYWQgbGVhayAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4K
KyAgIGZ1bjpfWk44Vk1UaHJlYWQzcnVuRXYKKyAgIGZ1bjpfWkwxMGphdmFfc3RhcnRQNlRocmVh
ZAorICAgLi4uCisKK30KK3sKKyAgIEpOSSB1bmFkZHJlc3NhYmxlIChUaGlyZCBwYXJ0eSkKKyAg
IE1lbWNoZWNrOkFkZHI0CisgICAuLi4KKyAgIGZ1bjpKTklfQ3JlYXRlSmF2YVZNCisgICBmdW46
SmF2YU1haW4KK30KK3sKKyAgIEphdmEgbGVhayAob2JqKSAoVGhpcmQgcGFydHkpCisgICBNZW1j
aGVjazpMZWFrCisgICAuLi4KKyAgIG9iajovdXNyL2xpYi9qdm0vamF2YS02LW9wZW5qZGstYW1k
NjQvanJlL2Jpbi9qYXZhCisgICAuLi4KK30KK3sKKyAgIE9jY2FzaW9uYWwgT3BlbkdMIGxlYWtz
IChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOiovbGliR0wu
c28uKgorICAgLi4uCit9CisKK3sKKyAgIGNhaXJvX3hsaWJfc291cmNlX2NyZWF0ZV9mb3JfcGF0
dGVybiB1bmFkZHJlc3NhYmxlIChBZGRyNCkgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6QWRk
cjQKKyAgIC4uLgorICAgZnVuOl9jYWlyb194bGliX3NvdXJjZV9jcmVhdGVfZm9yX3BhdHRlcm4K
K30KKworeworICAgY2Fpcm9feGxpYl9zb3VyY2VfY3JlYXRlX2Zvcl9wYXR0ZXJuIHVuYWRkcmVz
c2FibGUgKEFkZHI4KSAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpBZGRyOAorICAgLi4uCisg
ICBmdW46X2NhaXJvX3hsaWJfc291cmNlX2NyZWF0ZV9mb3JfcGF0dGVybgorfQorCit7CisgICBj
YWlybyBwaXhtYW4gaW1hZ2UgYWxsb2NhdGUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxs
b2MKKyAgIGZ1bjpfcGl4bWFuX2ltYWdlX2FsbG9jYXRlCisgICBmdW46cGl4bWFuX2ltYWdlX2Ny
ZWF0ZV9iaXRzCisgICBmdW46X2NhaXJvX3hsaWJfc2htX3N1cmZhY2VfY3JlYXRlLmlzcmEuMTEK
KyAgIGZ1bjpfY2Fpcm9feGxpYl9zdXJmYWNlX2NyZWF0ZV9zaG0KKyAgIGZ1bjpfY2Fpcm9feGxp
Yl9zdXJmYWNlX2NyZWF0ZV9zaW1pbGFyX3NobQorICAgZnVuOl9jYWlyb194bGliX3NvdXJjZV9j
cmVhdGVfZm9yX3BhdHRlcm4KKyAgIGZ1bjpjbGlwX2FuZF9jb21wb3NpdGVfYm94ZXMKKyAgIGZ1
bjpfY2Fpcm9fdHJhcHNfY29tcG9zaXRvcl9maWxsCisgICBmdW46X2NhaXJvX2NvbXBvc2l0b3Jf
ZmlsbAorICAgZnVuOl9jYWlyb194bGliX3N1cmZhY2VfZmlsbAorICAgZnVuOl9jYWlyb19zdXJm
YWNlX2ZpbGwKKyAgIGZ1bjpfY2Fpcm9fZ3N0YXRlX2ZpbGwKKyAgIGZ1bjpfY2Fpcm9fZGVmYXVs
dF9jb250ZXh0X2ZpbGwKKyAgIGZ1bjpjYWlyb19maWxsCit9CisKK3sKKyAgIFVuaW50aWFsaXNl
ZCBtZW1vcnkgaW4gVENNYWxsb2Mgc2hvdWxkIGJlIGNoZWNrZWQgYnkgY29tcGlsaW5nIHdpdGgg
V1RGX01BTExPQ19WQUxJREFUSU9OIGVuYWJsZWQKKyAgIE1lbWNoZWNrOkNvbmQKKyAgIGZ1bjpf
Wk4zV1RGOGZhc3RGcmVlRVB2CisgICAuLi4KK30KKworCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgMi4g
aW50ZW50aW9uYWwgdW5pdCB0ZXN0IGVycm9ycywgb3Igc3R1ZmYgdGhhdCBpcyBzb21laG93IGEg
ZmFsc2UgcG9zaXRpdmUKKyMgaW4gb3VyIG93biBjb2RlLCBvciBzdHVmZiB0aGF0IGlzIHNvIHRy
aXZpYWwgaXQncyBub3Qgd29ydGggZml4aW5nCisKKyMgU2VlIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9tZW1jaGVja19hbmFseXplLnB5IGJlZm9yZSBtb2RpZnlpbmcgc2FuaXR5IHRlc3Rz
LgoreworICAgTWVtY2hlY2sgc2FuaXR5IHRlc3QgMDEgKG1lbW9yeSBsZWFrKS4KKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpfWm5hKgorICAgZnVuOl9aTjRiYXNlMzFUb29sc1Nhbml0eVRlc3Rf
TWVtb3J5TGVha19UZXN0OFRlc3RCb2R5RXYKK30KKworeworICAgTWVtY2hlY2sgc2FuaXR5IHRl
c3QgMTIgKGFycmF5IGRlbGV0ZWQgd2l0aG91dCBbXSkuCisgICBNZW1jaGVjazpGcmVlCisgICAu
Li4KKyAgIGZ1bjpfWk40YmFzZTQ2VG9vbHNTYW5pdHlUZXN0X0FycmF5RGVsZXRlZFdpdGhvdXRC
cmFjZXNfVGVzdDhUZXN0Qm9keUV2Cit9Cit7CisgICBNZW1jaGVjayBzYW5pdHkgdGVzdCAxMyAo
c2luZ2xlIGVsZW1lbnQgZGVsZXRlZCB3aXRoIFtdKS4KKyAgIE1lbWNoZWNrOkZyZWUKKyAgIC4u
LgorICAgZnVuOl9aTjRiYXNlNTFUb29sc1Nhbml0eVRlc3RfU2luZ2xlRWxlbWVudERlbGV0ZWRX
aXRoQnJhY2VzX1Rlc3Q4VGVzdEJvZHlFdgorfQorCit7CisgICAjIEFjY29yZGluZyB0byBkZ2xh
emtvdiwgdGhlc2UgYXJlIG9uZS10aW1lIGxlYWtzIGFuZCBpbnRlbnRpb25hbC4KKyAgICMgVGhl
eSBtYXkgZ28gYXdheSBpZiB0aGUgY2hhbmdlIHRvIG1vdmUgdGhlc2Ugb2ZmIHRoZSBoZWFwIGxh
bmRzLgorICAgYnVnXzE3OTk2IChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4u
LgorICAgZnVuOl9aTjdXZWJDb3JlOFNWR05hbWVzNGluaXRFdgorfQorCit7CisgICAjIFRoaXMg
aXMgYW4gb24gZGVtYW5kIGluaXRpYWxpemF0aW9uIHdoaWNoIGlzIGRvbmUgYW5kIHRoZW4gaW50
ZW50aW9uYWxseQorICAgIyBrZXB0IGFyb3VuZCAobm90IGZyZWVkKSB3aGlsZSB0aGUgcHJvY2Vz
cyBpcyBydW5uaW5nLgorICAgaW50ZW50aW9uYWxfV2ViQ29yZV9YTUxOYW1lc19pbml0X2xlYWsK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlOFhNTE5hbWVzNGlu
aXRFdgorfQoreworICAgIyBUaGlzIGlzIFdlYktpdCB3aWRlIHRoZWFkaW5nIGluaXRpYWxpemF0
aW9uIHdoaWNoIGlzIGludGVudGlvbmFsbHkga2VwdAorICAgIyBhcm91bmQgKG5vdCBmcmVlZCkg
d2hpbGUgdGhlIHByb2Nlc3MgaXMgcnVubmluZy4KKyAgIGludGVudGlvbmFsX1dURl9UaHJlYWRJ
ZGVudGlmaWVyRGF0YV9pbml0aWFsaXplX2xlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOl9aTjNXVEYyMFRocmVhZElkZW50aWZpZXJEYXRhMTBpbml0aWFsaXplRWoKK30KK3sK
KyAgICMgVGhpcyBpcyBXZWJLaXQgd2lkZSB0aGVhZGluZyBpbml0aWFsaXphdGlvbiB3aGljaCBp
cyBpbnRlbnRpb25hbGx5IGtlcHQKKyAgICMgYXJvdW5kIChub3QgZnJlZWQpIHdoaWxlIHRoZSBw
cm9jZXNzIGlzIHJ1bm5pbmcuCisgICBpbnRlbnRpb25hbF9XVEZfd3RmVGhyZWFkRGF0YV9sZWFr
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk4zV1RGMTN3dGZUaHJlYWREYXRh
RXYKK30KKworeworICAgIyBJbnRlbnRpb25hbCAtIGF0b21pYyBzdHJpbmdzIGFuZCBoYXNoIG1h
cCBpbiBXZWJDb3JlOjpuYW1lVG9Qc2V1ZG9UeXBlTWFwKCkgKENTU1NlbGVjdG9yLmNwcCkgYXJl
IHRvIGJlIGxlYWtlZAorICAgY3JidWcuY29tLzEwODUxNiAoSW50ZW50aW9uYWwpCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZUwxOW5hbWVUb1BzZXVk
b1R5cGVNYXBFdgorfQorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgMy4gU3VwcHJlc3Npb25zIGZvciBy
ZWFsIHdlYmtpdCBidWdzIHRoYXQgYXJlIG5vdCB5ZXQgZml4ZWQuCisjIFRoZXNlIHNob3VsZCBh
bGwgYmUgaW4gd2Via2l0J3MgYnVnIHRyYWNraW5nIHN5c3RlbSAoYnV0IGEgZmV3IGFyZW4ndCB5
ZXQpLgorCit7CisgICBidWdfMTYzMjYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53Kgor
ICAgLi4uCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTE2V2ViVVJMTG9hZGVySW1wbEMxRXYKKyAg
IGZ1bjpfWk4xMXdlYmtpdF9nbHVlMTZXZWJLaXRDbGllbnRJbXBsMTVjcmVhdGVVUkxMb2FkZXJF
dgorICAgZnVuOl9aTjdXZWJDb3JlMjJSZXNvdXJjZUhhbmRsZUludGVybmFsNXN0YXJ0RXYKK30K
KworeworICAgIyBPcmlnaW5hbGx5IGZpbGVkIGFzIGh0dHA6Ly9jcmJ1Zy5jb20vNjU0NywgYnV0
IHRoYXQgd2FzIGNsb3NlZAorICAgIyBGb3VuZCBieSBydW5uaW5nIHVpIHRlc3RzIG92ZXIgYW5k
IG92ZXIKKyAgIGJ1Z18xODY2NAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pOMThSZXNvdXJjZURpc3BhdGNoZXIxMkNyZWF0ZUJyaWRnZUVSS04xMXdlYmtpdF9nbHVl
MjBSZXNvdXJjZUxvYWRlckJyaWRnZTExUmVxdWVzdEluZm9FaWkKKyAgIGZ1bjpfWk4xMUNoaWxk
VGhyZWFkMTJDcmVhdGVCcmlkZ2VFUktOMTF3ZWJraXRfZ2x1ZTIwUmVzb3VyY2VMb2FkZXJCcmlk
Z2UxMVJlcXVlc3RJbmZvRWlpCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTE0UmVzb3VyY2VI
YW5kbGU1c3RhcnRFUE5TXzVGcmFtZUUKK30KKworeworICAgYnVnXzI3NjY1CisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMFNrWGZlcm1vZGU2Q3JlYXRlRU5TXzRN
b2RlRQorICAgZnVuOl9aTjdTa1BhaW50MTVzZXRYZmVybW9kZU1vZGVFTjEwU2tYZmVybW9kZTRN
b2RlRQorICAgZnVuOl9aTks3V2ViQ29yZTE5UGxhdGZvcm1Db250ZXh0U2tpYTE2c2V0dXBQYWlu
dENvbW1vbkVQN1NrUGFpbnQKKyAgIGZ1bjpfWk43V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0OGZp
bGxSZWN0RVJLTlNfOUZsb2F0UmVjdEVSS05TXzVDb2xvckVOU18xMENvbG9yU3BhY2VFCisgICBm
dW46X1pON1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDhmaWxsUmVjdEVSS05TXzlGbG9hdFJlY3RF
UktOU181Q29sb3JFTlNfMTBDb2xvclNwYWNlRU5TXzE3Q29tcG9zaXRlT3BlcmF0b3JFCit9CisK
K3sKKyAgIGJ1Z18zMTgwMAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1pON1dlYkNvcmUyOGNyZWF0ZUZvbnRDdXN0b21QbGF0Zm9ybURhdGFFUE5TXzEyU2hhcmVkQnVm
ZmVyRQorICAgZnVuOl9aTjdXZWJDb3JlMTBDYWNoZWRGb250MjBlbnN1cmVDdXN0b21Gb250RGF0
YUV2CisgICBmdW46X1pON1dlYkNvcmUxN0NTU0ZvbnRGYWNlU291cmNlMTFnZXRGb250RGF0YUVS
S05TXzE1Rm9udERlc2NyaXB0aW9uRWJiUE5TXzE1Q1NTRm9udFNlbGVjdG9yRQorICAgZnVuOl9a
TjdXZWJDb3JlMTFDU1NGb250RmFjZTExZ2V0Rm9udERhdGFFUktOU18xNUZvbnREZXNjcmlwdGlv
bkViYgorICAgZnVuOl9aTjdXZWJDb3JlMjBDU1NTZWdtZW50ZWRGb250RmFjZTExZ2V0Rm9udERh
dGFFUktOU18xNUZvbnREZXNjcmlwdGlvbkUKKyAgIGZ1bjpfWk43V2ViQ29yZTE1Q1NTRm9udFNl
bGVjdG9yMTFnZXRGb250RGF0YUVSS05TXzE1Rm9udERlc2NyaXB0aW9uRVJLTjNXVEYxMkF0b21p
Y1N0cmluZ0UKKyAgIGZ1bjpfWk43V2ViQ29yZTlGb250Q2FjaGUxMWdldEZvbnREYXRhRVJLTlNf
NEZvbnRFUmlQTlNfMTJGb250U2VsZWN0b3JFCisgICBmdW46X1pOSzdXZWJDb3JlMTZGb250RmFs
bGJhY2tMaXN0MTBmb250RGF0YUF0RVBLTlNfNEZvbnRFagorICAgZnVuOl9aTks3V2ViQ29yZTE2
Rm9udEZhbGxiYWNrTGlzdDE1cHJpbWFyeUZvbnREYXRhRVBLTlNfNEZvbnRFCit9CisKK3sKKyAg
IGJ1Z180Mjg0MgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTlU
ZXN0V2ViVmlld0RlbGVnYXRlMTJjcmVhdGVXb3JrZXJFUE42V2ViS2l0OFdlYkZyYW1lRVBOUzBf
MTVXZWJXb3JrZXJDbGllbnRFCisgICBmdW46X1pONldlYktpdDE5V2ViV29ya2VyQ2xpZW50SW1w
bDI0Y3JlYXRlV29ya2VyQ29udGV4dFByb3h5RVBON1dlYkNvcmU2V29ya2VyRQorICAgZnVuOl9a
TjdXZWJDb3JlMThXb3JrZXJDb250ZXh0UHJveHk2Y3JlYXRlRVBOU182V29ya2VyRQorICAgZnVu
Ol9aTjdXZWJDb3JlNldvcmtlckMxRVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRFCisgICBm
dW46X1pON1dlYkNvcmU2V29ya2VyNmNyZWF0ZUVSS04zV1RGNlN0cmluZ0VQTlNfMjJTY3JpcHRF
eGVjdXRpb25Db250ZXh0RVJpCisgICBmdW46X1pON1dlYkNvcmU4VjhXb3JrZXIxOWNvbnN0cnVj
dG9yQ2FsbGJhY2tFUktOMnY4OUFyZ3VtZW50c0UKK30KKworeworICAgYnVnXzQyOTU4X2MKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOl9OUE5fUmVnaXN0
ZXJPYmplY3QKKyAgIGZ1bjpfWk43V2ViQ29yZTI1Y3JlYXRlVjhPYmplY3RGb3JOUE9iamVjdEVQ
OE5QT2JqZWN0UzFfCisgICBmdW46X1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyOWNyZWF0
ZVNjcmlwdEluc3RhbmNlRm9yV2lkZ2V0RVBOU182V2lkZ2V0RQorICAgZnVuOl9aTio3V2ViQ29y
ZTE3SFRNTFBsdWdJbkVsZW1lbnQxMWdldEluc3RhbmNlRXYKK30KKworeworICAgYnVnXzcyNTQ0
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1h
bGxvY0VqCisgICBmdW46X1pOM1dURjEwUmVmQ291bnRlZElON1dlYkNvcmUxNFN0eWxlU2hlZXRM
aXN0RUVud0VqCisgICBmdW46X1pON1dlYkNvcmUxNFN0eWxlU2hlZXRMaXN0NmNyZWF0ZUVQTlNf
OERvY3VtZW50RQorICAgZnVuOl9aTjdXZWJDb3JlOERvY3VtZW50QzJFUE5TXzVGcmFtZUVSS05T
XzRLVVJMRWJiUzVfCisgICBmdW46X1pON1dlYkNvcmUxMkhUTUxEb2N1bWVudEMxRVBOU181RnJh
bWVFUktOU180S1VSTEVTNV8KKyAgIGZ1bjpfWk43V2ViQ29yZTEySFRNTERvY3VtZW50NmNyZWF0
ZUVQTlNfNUZyYW1lRVJLTlNfNEtVUkxFUzVfCisgICBmdW46X1pON1dlYkNvcmUxN0RPTUltcGxl
bWVudGF0aW9uMTRjcmVhdGVEb2N1bWVudEVSS04zV1RGNlN0cmluZ0VQTlNfNUZyYW1lRVJLTlNf
NEtVUkxFYgorICAgZnVuOl9aTjdXZWJDb3JlMTREb2N1bWVudFdyaXRlcjE0Y3JlYXRlRG9jdW1l
bnRFUktOU180S1VSTEUKKyAgIGZ1bjpfWk43V2ViQ29yZTE0RG9jdW1lbnRXcml0ZXI1YmVnaW5F
UktOU180S1VSTEViUE5TXzE0U2VjdXJpdHlPcmlnaW5FCisgICBmdW46X1pON1dlYkNvcmUxMUZy
YW1lTG9hZGVyNGluaXRFdgorICAgZnVuOl9aTjdXZWJDb3JlNUZyYW1lNGluaXRFdgorICAgZnVu
Ol9aTjZXZWJLaXQxMldlYkZyYW1lSW1wbDIxaW5pdGlhbGl6ZUFzTWFpbkZyYW1lRVBOU18xMVdl
YlZpZXdJbXBsRQorICAgZnVuOl9aTjZXZWJLaXQxMVdlYlZpZXdJbXBsMTlpbml0aWFsaXplTWFp
bkZyYW1lRVBOU18xNFdlYkZyYW1lQ2xpZW50RQorfQoreworICAgYnVnXzczNjc1CisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4yMExheW91dFRlc3RDb250cm9sbGVy
MTN3YWl0VW50aWxEb25lRVJLTjNXVEY2VmVjdG9ySTEwQ3BwVmFyaWFudExqMEVFRVBTMl8KKyAg
IGZ1bjpfWk4xM0NwcEJvdW5kQ2xhc3MxNE1lbWJlckNhbGxiYWNrSTIwTGF5b3V0VGVzdENvbnRy
b2xsZXJFM3J1bkVSS04zV1RGNlZlY3RvckkxMENwcFZhcmlhbnRMajBFRUVQUzVfCisgICBmdW46
X1pOMTNDcHBCb3VuZENsYXNzNmludm9rZUVQdlBLMTBfTlBWYXJpYW50alBTMV8KKyAgIGZ1bjpf
Wk4xMUNwcE5QT2JqZWN0Nmludm9rZUVQOE5QT2JqZWN0UHZQSzEwX05QVmFyaWFudGpQUzNfCisg
ICBmdW46X1pON1dlYkNvcmUxOG5wT2JqZWN0SW52b2tlSW1wbEVSS04ydjg5QXJndW1lbnRzRU5T
XzE4SW52b2tlRnVuY3Rpb25UeXBlRQorICAgZnVuOl9aTjdXZWJDb3JlMjFucE9iamVjdE1ldGhv
ZEhhbmRsZXJFUktOMnY4OUFyZ3VtZW50c0UKKyAgIG9iajoqCit9CisKK3sKKyAgIGJ1Z183Nzc2
NgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RN
YWxsb2NFbQorICAgZnVuOl9aTjdXZWJDb3JlMThQZXJmb3JtVGFza0NvbnRleHRud0VtCisgICBm
dW46X1pON1dlYkNvcmU4RG9jdW1lbnQ4cG9zdFRhc2tFTjNXVEYxMFBhc3NPd25QdHJJTlNfMjJT
Y3JpcHRFeGVjdXRpb25Db250ZXh0NFRhc2tFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTIwV29ya2Vy
TWVzc2FnaW5nUHJveHkyMndvcmtlckNvbnRleHREZXN0cm95ZWRFdgorICAgZnVuOl9aTjZXZWJL
aXQxOVdlYldvcmtlckNsaWVudEltcGwyMndvcmtlckNvbnRleHREZXN0cm95ZWRFdgorICAgZnVu
Ol9aTjdXZWJDb3JlMTNXb3JrZXJDb250ZXh0RDJFdgorICAgZnVuOl9aTjdXZWJDb3JlMjJEZWRp
Y2F0ZWRXb3JrZXJDb250ZXh0RDBFdgorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJD
b3JlMTNXb3JrZXJDb250ZXh0RUU1ZGVyZWZFdgorICAgZnVuOl9aTjNXVEY2UmVmUHRySU43V2Vi
Q29yZTEzV29ya2VyQ29udGV4dEVFYVNFUFMyXworICAgZnVuOl9aTjdXZWJDb3JlMTJXb3JrZXJU
aHJlYWQxMndvcmtlclRocmVhZEV2CisgICBmdW46X1pON1dlYkNvcmUxMldvcmtlclRocmVhZDE3
d29ya2VyVGhyZWFkU3RhcnRFUHYKKyAgIGZ1bjpfWk4zV1RGTDE2dGhyZWFkRW50cnlQb2ludEVQ
dgorICAgZnVuOl9aTjNXVEZMMTl3dGZUaHJlYWRFbnRyeVBvaW50RVB2Cit9CisKK3sKKyAgIGJ1
Z184MDQ2Ml9hCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pON1dl
YkNvcmVMMTVhbGxvY1Y4TlBPYmplY3RFUDRfTlBQUDdOUENsYXNzCisgICBmdW46X05QTl9DcmVh
dGVPYmplY3QKKyAgIGZ1bjpfWk43V2ViQ29yZTIybnBDcmVhdGVWOFNjcmlwdE9iamVjdEVQNF9O
UFBOMnY4NkhhbmRsZUlOUzJfNk9iamVjdEVFRVBOU185RE9NV2luZG93RQorICAgZnVuOl9aTjZX
ZWJLaXRMMTZtYWtlSW50QXJyYXlJbXBsRVJLTlNfOVdlYlZlY3RvcklpRUUKKyAgIGZ1bjpfWk42
V2ViS2l0MTFXZWJCaW5kaW5nczEybWFrZUludEFycmF5RVJLTlNfOVdlYlZlY3RvcklpRUUKK30K
K3sKKyAgIGJ1Z184MDQ2Ml9iCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBm
dW46X1pON1dlYkNvcmVMMTVhbGxvY1Y4TlBPYmplY3RFUDRfTlBQUDdOUENsYXNzCisgICBmdW46
X05QTl9DcmVhdGVPYmplY3QKKyAgIGZ1bjpfWk43V2ViQ29yZTIybnBDcmVhdGVWOFNjcmlwdE9i
amVjdEVQNF9OUFBOMnY4NkhhbmRsZUlOUzJfNk9iamVjdEVFRVBOU185RE9NV2luZG93RQorICAg
ZnVuOl9aTjZXZWJLaXRMMTltYWtlU3RyaW5nQXJyYXlJbXBsRVJLTlNfOVdlYlZlY3RvcklOU185
V2ViU3RyaW5nRUVFCisgICBmdW46X1pONldlYktpdDExV2ViQmluZGluZ3MxNW1ha2VTdHJpbmdB
cnJheUVSS05TXzlXZWJWZWN0b3JJTlNfOVdlYlN0cmluZ0VFRQorfQorCit7CisgICBidWdfOTY1
NjhiCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpIQl9OZXdGYWNlCisgICBmdW46
X1pON1dlYkNvcmVMMjFnZXRDYWNoZWRIYXJmYnV6ekZhY2VFUE5TXzE2Rm9udFBsYXRmb3JtRGF0
YUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEySGFyZmJ1enpGYWNlQzFFUE5TXzE2Rm9udFBsYXRmb3Jt
RGF0YUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEySGFyZmJ1enpGYWNlNmNyZWF0ZUVQTlNfMTZGb250
UGxhdGZvcm1EYXRhRQorICAgZnVuOl9aTks3V2ViQ29yZTE2Rm9udFBsYXRmb3JtRGF0YTEyaGFy
ZmJ1enpGYWNlRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTIxQ29tcGxleFRleHRDb250cm9sbGVyMjFz
ZXR1cEZvbnRGb3JTY3JpcHRSdW5FdgorfQorCit7CisgICBidWdfOTkzMDgKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWkw5dG9DU3RyaW5nUks5X05QU3RyaW5nCisg
ICBmdW46X1pMMTV0ZXN0UG9zdFVSTEZpbGVQMTJQbHVnaW5PYmplY3RQSzEwX05QVmFyaWFudGpQ
UzFfCisgICBmdW46X1pMMTJwbHVnaW5JbnZva2VQOE5QT2JqZWN0UHZQSzEwX05QVmFyaWFudGpQ
UzJfCisgICBmdW46X1pON1dlYkNvcmVMMThucE9iamVjdEludm9rZUltcGxFUktOMnY4OUFyZ3Vt
ZW50c0VOU18xOEludm9rZUZ1bmN0aW9uVHlwZUUKK30KKworeworICAgYnVnXzEwMDA0MworICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2Fs
bG9jYXRvcklONndlYmtpdDEzV2ViUGx1Z2luSW5mb0VFOGFsbG9jYXRlRWpQS3YKKyAgIC4uLgor
ICAgZnVuOl9aTlN0NnZlY3RvcklONndlYmtpdDEzV2ViUGx1Z2luSW5mb0VTYUlTMSoKK30KKwor
eworICAgYnVnXzEwMDk4MgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1pON1dlYkNvcmUxMlJlbmRlclJlZ2lvbjIyc2V0UmVuZGVyQm94UmVnaW9uSW5mb0VQS05TXzlS
ZW5kZXJCb3hFaWliCisgICBmdW46X1pOSzdXZWJDb3JlOVJlbmRlckJveDE5cmVuZGVyQm94UmVn
aW9uSW5mb0VQTlNfMTJSZW5kZXJSZWdpb25FaU5TMF8yNFJlbmRlckJveFJlZ2lvbkluZm9GbGFn
c0UKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlMTFSZW5kZXJCbG9jazVwYWludEVSTlNfOVBh
aW50SW5mb0VSS05TXzhJbnRQb2ludEUKK30KK3sKKyAgIGJ1Z18xMDExNDVhCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWwyT1MxNUNyZWF0ZVNl
bWFwaG9yZUVpCisgICBmdW46X1pOMnY4OGludGVybmFsOFByb2ZpbGVyQzFFUE5TMF83SXNvbGF0
ZUUKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWw2TG9nZ2VyNVNldFVwRXYKKyAgIGZ1bjpfWk4ydjg4
aW50ZXJuYWw3SXNvbGF0ZTRJbml0RVBOUzBfMTJEZXNlcmlhbGl6ZXJFCisgICAuLi4KKyAgIGZ1
bjpfWk43V2ViQ29yZTI3V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OGV2YWx1YXRlRVJLTjNX
VEY2U3RyaW5nRVM0X1JLTlMxXzEyVGV4dFBvc2l0aW9uRVBOU18yN1dvcmtlckNvbnRleHRFeGVj
dXRpb25TdGF0ZUUKK30KK3sKKyAgIGJ1Z18xMDExNDViCisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZTIzdjhTdHJpbmdUb1dlYkNvcmVTdHJpbmdJTjNX
VEY2U3RyaW5nRUVFVF9OMnY4NkhhbmRsZUlOUzRfNlN0cmluZ0VFRU5TXzEyRXh0ZXJuYWxNb2Rl
RQorICAgZnVuOl9aTjdXZWJDb3JlMTZWOFN0cmluZ1Jlc291cmNlSUxOU18yMFY4U3RyaW5nUmVz
b3VyY2VNb2RlKgorfQoreworICAgYnVnXzEwMTE0NWMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjpfWm53KgorICAgZnVuOl9aTjdXZWJDb3JlTDE4bWFrZUV4dGVybmFsU3RyaW5nRVJLTjNXVEY2
U3RyaW5nRQorICAgZnVuOl9aTjdXZWJDb3JlMTFTdHJpbmdDYWNoZTIwdjhFeHRlcm5hbFN0cmlu
Z1Nsb3cqCisgICBmdW46X1pON1dlYkNvcmUxMVN0cmluZ0NhY2hlMTZ2OEV4dGVybmFsU3RyaW5n
RVBOKgorfQoreworICAgYnVnXzEwMTE0NmEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53
KgorICAgZnVuOl9aTjExd2Via2l0X2dsdWUxNldlYlVSTExvYWRlckltcGxDMUVQTlNfMjVXZWJL
aXRQbGF0Zm9ybVN1cHBvcnRJbXBsRQorICAgZnVuOl9aTjExd2Via2l0X2dsdWUyNVdlYktpdFBs
YXRmb3JtU3VwcG9ydEltcGwxNWNyZWF0ZVVSTExvYWRlckV2CisgICBmdW46X1pON1dlYkNvcmUy
MlJlc291cmNlSGFuZGxlSW50ZXJuYWw1c3RhcnRFdgorICAgZnVuOl9aTjdXZWJDb3JlMTRSZXNv
dXJjZUhhbmRsZTVzdGFydEVQTlNfMTdOZXR3b3JraW5nQ29udGV4dEUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE0UmVzb3VyY2VIYW5kbGU2Y3JlYXRlRVBOU18xN05ldHdvcmtpbmdDb250ZXh0RVJLTlNf
MTVSZXNvdXJjZVJlcXVlc3RFUE5TXzIwUmVzb3VyY2VIYW5kbGVDbGllbnRFYmIKK30KK3sKKyAg
IGJ1Z18xMDE3NTAKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4z
V1RGMTBmYXN0TWFsbG9jRWoKKyAgIGZ1bjpfWk4zV1RGN0hhc2hTZXRJUE43V2ViQ29yZTE2U1ZH
U3R5bGVkRWxlbWVudEVOU183UHRySGFzaElTM19FRU5TXzEwSGFzaFRyYWl0c0lTM19FRUVud0Vq
CisgICBmdW46X1pON1dlYkNvcmUyMVNWR0RvY3VtZW50RXh0ZW5zaW9uczE4YWRkUGVuZGluZ1Jl
c291cmNlRVJLTjNXVEYxMkF0b21pY1N0cmluZ0VQTlNfMTZTVkdTdHlsZWRFbGVtZW50RQorfQor
eworICAgYnVnXzEwMTc1MQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1pON1dlYkNvcmUxNFNWR0ZvbnRFbGVtZW50NmNyZWF0ZUVSS05TXzEzUXVhbGlmaWVkTmFtZUVQ
TlNfOERvY3VtZW50RQorICAgZnVuOl9aTjdXZWJDb3JlTDE1Zm9udENvbnN0cnVjdG9yRVJLTlNf
MTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1lbnRFYgorICAgZnVuOl9aTjdXZWJDb3JlMTdTVkdF
bGVtZW50RmFjdG9yeTE2Y3JlYXRlU1ZHRWxlbWVudEVSS05TXzEzUXVhbGlmaWVkTmFtZUVQTlNf
OERvY3VtZW50RWIKKyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1bWVudDEzY3JlYXRlRWxlbWVudEVS
S05TXzEzUXVhbGlmaWVkTmFtZUViCit9Cit7CisgICBidWdfMTA0NDQ3CisgICBNZW1jaGVjazpM
ZWFrCisgICAuLi4KKyAgIGZ1bjpIQl9PcGVuVHlwZVNoYXBlCisgICBmdW46YXJhYmljU3lyaWFj
T3BlblR5cGVTaGFwZQorICAgZnVuOkhCX0FyYWJpY1NoYXBlCisgICBmdW46SEJfU2hhcGVJdGVt
CisgICBmdW46X1pON1dlYkNvcmUyMUNvbXBsZXhUZXh0Q29udHJvbGxlcjExc2hhcGVHbHlwaHNF
dgorICAgZnVuOl9aTjdXZWJDb3JlMjFDb21wbGV4VGV4dENvbnRyb2xsZXIxM25leHRTY3JpcHRS
dW5FdgorICAgZnVuOl9aTjdXZWJDb3JlMjFDb21wbGV4VGV4dENvbnRyb2xsZXIxNHdpZHRoT2ZG
dWxsUnVuRXYKKyAgIGZ1bjpfWk5LN1dlYkNvcmU0Rm9udDI0ZmxvYXRXaWR0aEZvckNvbXBsZXhU
ZXh0RVJLTlNfN1RleHRSdW5FUE4zV1RGN0hhc2hTZXRJUEtOU18xNFNpbXBsZUZvbnREYXRhRU5T
NF83UHRySGFzaElTOF9FRU5TNF8xMEhhc2hUcmFpdHNJUzhfRUVFRVBOU18xM0dseXBoT3ZlcmZs
b3dFCisgICBmdW46X1pOSzdXZWJDb3JlNEZvbnQ1d2lkdGhFUktOU183VGV4dFJ1bkVSaVJOM1dU
RjZTdHJpbmdFCisgICBmdW46X1pON1dlYkNvcmUxNFNWR1RleHRNZXRyaWNzQzFFUE5TXzE5UmVu
ZGVyU1ZHSW5saW5lVGV4dEVSS05TXzdUZXh0UnVuRQorICAgZnVuOl9aTjdXZWJDb3JlMTRTVkdU
ZXh0TWV0cmljczIxbWVhc3VyZUNoYXJhY3RlclJhbmdlRVBOU18xOVJlbmRlclNWR0lubGluZVRl
eHRFamoKKyAgIGZ1bjpfWk5LN1dlYkNvcmUzMFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
cjI1cHJvcGFnYXRlTGF5b3V0QXR0cmlidXRlc0VQTlNfMTJSZW5kZXJPYmplY3RFUk4zV1RGNlZl
Y3RvcklOU18yM1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzRUxtMEVFRVJqUnQKK30KK3sKKyAgIGJ1
Z18xMDc2OTYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdXZWJD
b3JlMTFpQmVhbUN1cnNvckV2CisgICBmdW46X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjEyc2Vs
ZWN0Q3Vyc29yRVJLTlNfMjhNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzRVBOU185U2Nyb2xs
YmFyRQorICAgZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIyMGhhbmRsZU1vdXNlTW92ZUV2
ZW50RVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFUE5TXzEzSGl0VGVzdFJlc3VsdEViCisgICBm
dW46X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjEwbW91c2VNb3ZlZEVSS05TXzE4UGxhdGZvcm1N
b3VzZUV2ZW50RWIKKyAgIGZ1bjpfWk42V2ViS2l0MTFXZWJWaWV3SW1wbDltb3VzZU1vdmVFUktO
U18xM1dlYk1vdXNlRXZlbnRFCisgICBmdW46X1pONldlYktpdDExV2ViVmlld0ltcGwxNmhhbmRs
ZUlucHV0RXZlbnRFUktOU18xM1dlYklucHV0RXZlbnRFCisgICBmdW46X1pOMTJSZW5kZXJXaWRn
ZXQxOE9uSGFuZGxlSW5wdXRFdmVudEVSS04zSVBDN01lc3NhZ2VFCit9Cit7CisgICBidWdfMTA3
Njk4CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpfWk43
V2ViQ29yZTlDU1NQYXJzZXIxMHBhcnNlU2hlZXRFUE5TXzEzQ1NTU3R5bGVTaGVldEVSS04zV1RG
NlN0cmluZ0VpUE5TM183SGFzaE1hcElQTlNfMTJDU1NTdHlsZVJ1bGVFTlMzXzZSZWZQdHJJTlNf
MTdDU1NSdWxlU291cmNlRGF0YUVFRU5TM183UHRySGFzaElTOV9FRU5TM18xMEhhc2hUcmFpdHNJ
UzlfRUVOU0ZfSVNDX0VFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEzQ1NTU3R5bGVTaGVldDE3cGFy
c2VTdHJpbmdBdExpbmVFUktOM1dURjZTdHJpbmdFYmkKKyAgIGZ1bjpfWk43V2ViQ29yZTEzQ1NT
U3R5bGVTaGVldDExcGFyc2VTdHJpbmdFUktOM1dURjZTdHJpbmdFYgorICAgZnVuOl9aTjdXZWJD
b3JlTDEycGFyc2VVQVNoZWV0RVJLTjNXVEY2U3RyaW5nRQorfQoreworICAgYnVnXzEwNzY5OGEK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJD
b3JlOUNTU1BhcnNlcjEwcGFyc2VTaGVldEVQTlNfMTNDU1NTdHlsZVNoZWV0RVJLTjNXVEY2U3Ry
aW5nRWlQTlMzXzdIYXNoTWFwSVBOU18xMkNTU1N0eWxlUnVsZUVOUzNfNlJlZlB0cklOU18xN0NT
U1J1bGVTb3VyY2VEYXRhRUVFTlMzXzdQdHJIYXNoSVM5X0VFTlMzXzEwSGFzaFRyYWl0c0lTOV9F
RU5TRl9JU0NfRUVFRQorICAgZnVuOl9aTjdXZWJDb3JlMTNDU1NTdHlsZVNoZWV0MTdwYXJzZVN0
cmluZ0F0TGluZUVSS04zV1RGNlN0cmluZ0ViaQorICAgZnVuOl9aTjdXZWJDb3JlMTJTdHlsZUVs
ZW1lbnQxMWNyZWF0ZVNoZWV0RVBOU183RWxlbWVudEVpUktOM1dURjZTdHJpbmdFCisgICBmdW46
X1pON1dlYkNvcmUxMlN0eWxlRWxlbWVudDdwcm9jZXNzRVBOU183RWxlbWVudEUKK30KK3sKKyAg
IGJ1Z18xMDc2OThiCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAg
IGZ1bjpfWk4zV1RGMTBSZWZDb3VudGVkSU43V2ViQ29yZTE4U3R5bGVTaGVldEludGVybmFsRUVu
d0VtCisgICBmdW46X1pON1dlYkNvcmUxOFN0eWxlU2hlZXRJbnRlcm5hbDZjcmVhdGVFdgorICAg
ZnVuOl9aTjdXZWJDb3JlTDEycGFyc2VVQVNoZWV0RVJLTjNXVEY2U3RyaW5nRQorfQoreworICAg
YnVnXzEwNzY5OGMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4z
V1RGMTBmYXN0TWFsbG9jRW0KKyAgIC4uLgorICAgZnVuOl9aMTBjc3N5eXBhcnNlUE43V2ViQ29y
ZTlDU1NQYXJzZXJFCisgICBmdW46X1pON1dlYkNvcmU5Q1NTUGFyc2VyMTNwYXJzZVNlbGVjdG9y
RVJLTjNXVEY2U3RyaW5nRVJOU18xNUNTU1NlbGVjdG9yTGlzdEUKKyAgIGZ1bjpfWk43V2ViQ29y
ZTE4SFRNTENvbnRlbnRFbGVtZW50MThlbnN1cmVTZWxlY3RQYXJzZWRFdgorICAgZnVuOl9aTjdX
ZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQxM2lzU2VsZWN0VmFsaWRFdgorICAgZnVuOl9aTjdX
ZWJDb3JlOUludGVybmFsczIwaXNWYWxpZENvbnRlbnRTZWxlY3RFUE5TXzdFbGVtZW50RVJpCisg
ICAuLi4KKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWxMMTlIYW5kbGVBcGlDYWxsSGVscGVySUxiMEVF
RVBOUzBfMTFNYXliZU9iamVjdEVOUzBfMTJfR0xPQkFMX19OXzExNkJ1aWx0aW5Bcmd1bWVudHNJ
TE5TMF8yMUJ1aWx0aW5FeHRyYUFyZ3VtZW50c0UxRUVFUE5TMF83SXNvbGF0ZUUKKyAgIGZ1bjpf
Wk4ydjg4aW50ZXJuYWxMMjFCdWlsdGluX0hhbmRsZUFwaUNhbGxFTlMwXzEyX0dMT0JBTF9fTl8x
MTZCdWlsdGluQXJndW1lbnRzSUxOUzBfMjFCdWlsdGluRXh0cmFBcmd1bWVudHNFMUVFRVBOUzBf
N0lzb2xhdGVFCit9Cit7CisgICBidWdfMTA3Njk5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICAuLi4KKyAgIGZ1bjpfWk43
V2ViQ29yZTEzQW5pbWF0aW9uQmFzZTE3ZW5zdXJlUHJvcGVydHlNYXBFdgorICAgZnVuOl9aTjdX
ZWJDb3JlMTNBbmltYXRpb25CYXNlMTZnZXROdW1Qcm9wZXJ0aWVzRXYKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE4Q29tcG9zaXRlQW5pbWF0aW9uMTd1cGRhdGVUcmFuc2l0aW9uc0VQTlNfMTJSZW5kZXJP
YmplY3RFUE5TXzExUmVuZGVyU3R5bGVFUzRfCisgICBmdW46X1pON1dlYkNvcmUxOENvbXBvc2l0
ZUFuaW1hdGlvbjdhbmltYXRlRVBOU18xMlJlbmRlck9iamVjdEVQTlNfMTFSZW5kZXJTdHlsZUVT
NF8KKyAgIGZ1bjpfWk43V2ViQ29yZTE5QW5pbWF0aW9uQ29udHJvbGxlcjE2dXBkYXRlQW5pbWF0
aW9uc0VQTlNfMTJSZW5kZXJPYmplY3RFUE5TXzExUmVuZGVyU3R5bGVFCisgICBmdW46X1pON1dl
YkNvcmUxMlJlbmRlck9iamVjdDE4c2V0QW5pbWF0YWJsZVN0eWxlRU4zV1RGMTBQYXNzUmVmUHRy
SU5TXzExUmVuZGVyU3R5bGVFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTROb2RlMTRzZXRSZW5kZXJT
dHlsZUVOM1dURjEwUGFzc1JlZlB0cklOU18xMVJlbmRlclN0eWxlRUVFCisgICAuLi4KKyAgIGZ1
bjpfWk43V2ViQ29yZTdFbGVtZW50MTFyZWNhbGNTdHlsZUVOU180Tm9kZTExU3R5bGVDaGFuZ2VF
CisgICBmdW46X1pON1dlYkNvcmU4RG9jdW1lbnQxMXJlY2FsY1N0eWxlRU5TXzROb2RlMTFTdHls
ZUNoYW5nZUUKKyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1bWVudDE5dXBkYXRlU3R5bGVJZk5lZWRl
ZEV2CisgICBmdW46X1pON1dlYkNvcmU4RG9jdW1lbnQxMnVwZGF0ZUxheW91dEV2CisgICBmdW46
X1pON1dlYkNvcmU4RG9jdW1lbnQzNnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
c0V2Cit9CisKK3sKKyAgIGJ1Z18xMDg2MjEKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxs
b2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGMTBSZWZDb3Vu
dGVkSU43V2ViQ29yZTVFdmVudEVFbndFbQorICAgZnVuOl9aTjdXZWJDb3JlMTJNZXNzYWdlRXZl
bnQ2Y3JlYXRlRU4zV1RGMTBQYXNzT3duUHRySU5TMV82VmVjdG9ySU5TMV82UmVmUHRySU5TXzEx
TWVzc2FnZVBvcnRFRUVMbTFFRUVFRU5TMV8xMFBhc3NSZWZQdHJJTlNfMjFTZXJpYWxpemVkU2Ny
aXB0VmFsdWVFRUVSS05TMV82U3RyaW5nRVNFX05TOV9JTlNfOURPTVdpbmRvd0VFRQorICAgZnVu
Ol9aTjdXZWJDb3JlMTZQb3N0TWVzc2FnZVRpbWVyNWV2ZW50RVBOU18yMlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRFCisgICBmdW46X1pON1dlYkNvcmU5RE9NV2luZG93MjFwb3N0TWVzc2FnZVRpbWVy
RmlyZWRFTjNXVEYxMFBhc3NPd25QdHJJTlNfMTZQb3N0TWVzc2FnZVRpbWVyRUVFCisgICBmdW46
X1pON1dlYkNvcmUxNlBvc3RNZXNzYWdlVGltZXI1ZmlyZWRFdgorICAgZnVuOl9aTjdXZWJDb3Jl
MTJUaHJlYWRUaW1lcnMyNHNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbEV2CisgICBmdW46X1pON1dl
YkNvcmUxMlRocmVhZFRpbWVyczE2c2hhcmVkVGltZXJGaXJlZEV2CisgICBmdW46X1pOMTF3ZWJr
aXRfZ2x1ZTI1V2ViS2l0UGxhdGZvcm1TdXBwb3J0SW1wbDlEb1RpbWVvdXRFdgorICAgZnVuOl9a
TjRiYXNlOUJhc2VUaW1lcklOMTF3ZWJraXRfZ2x1ZTI1V2ViS2l0UGxhdGZvcm1TdXBwb3J0SW1w
bEVMYjBFRTlUaW1lclRhc2szUnVuRXYKK30KKworeworICAgYnVnXzEwODYyNAorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmUyM3Y4U3RyaW5nVG9XZWJD
b3JlU3RyaW5nSU4zV1RGNlN0cmluZ0VFRVRfTjJ2ODZIYW5kbGVJTlM0XzZTdHJpbmdFRUVOU18x
MkV4dGVybmFsTW9kZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE1VjhQYXJhbWV0ZXJCYXNlOHRvU3Ry
aW5nSU4zV1RGNlN0cmluZ0VFRVRfdgorICAgZnVuOl9aTjdXZWJDb3JlMTVWOFBhcmFtZXRlckJh
c2Vjdk4zV1RGNlN0cmluZ0VFdgorICAgLi4uCisgICBmdW46X1pOMnY4OGludGVybmFsTDZJbnZv
a2VFYk5TMF82SGFuZGxlSU5TMF8xMEpTRnVuY3Rpb25FRUVOUzFfSU5TMF82T2JqZWN0RUVFaVBT
NV9QYgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDlFeGVjdXRpb240Q2FsbEVOUzBfNkhhbmRsZUlO
UzBfNk9iamVjdEVFRVM0X2lQUzRfUGJiCisgICBmdW46X1pOMnY4OEZ1bmN0aW9uNENhbGxFTlNf
NkhhbmRsZUlOU182T2JqZWN0RUVFaVBOUzFfSU5TXzVWYWx1ZUVFRQorICAgZnVuOl9aTjdXZWJD
b3JlMjhWOFdvcmtlckNvbnRleHRFdmVudExpc3RlbmVyMjBjYWxsTGlzdGVuZXJGdW5jdGlvbkVQ
TlNfMjJTY3JpcHRFeGVjdXRpb25Db250ZXh0RU4ydjg2SGFuZGxlSU5TM181VmFsdWVFRUVQTlNf
NUV2ZW50RQorICAgZnVuOl9aTjdXZWJDb3JlMjNWOEFic3RyYWN0RXZlbnRMaXN0ZW5lcjE4aW52
b2tlRXZlbnRIYW5kbGVyRVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRFUE5TXzVFdmVudEVO
MnY4NkhhbmRsZUlOUzVfNVZhbHVlRUVFCisgICBmdW46X1pON1dlYkNvcmUyOFY4V29ya2VyQ29u
dGV4dEV2ZW50TGlzdGVuZXIxMWhhbmRsZUV2ZW50RVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRFUE5TXzVFdmVudEUKKyAgIGZ1bjpfWk43V2ViQ29yZTExRXZlbnRUYXJnZXQxOGZpcmVFdmVu
dExpc3RlbmVyc0VQTlNfNUV2ZW50RVBOU18xNUV2ZW50VGFyZ2V0RGF0YUVSTjNXVEY2VmVjdG9y
SU5TXzIzUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXJFTG0xRUVFCit9Cit7CisgICBidWdfMTA4NjI0
YQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmUyM3Y4
U3RyaW5nVG9XZWJDb3JlU3RyaW5nSU4zV1RGNlN0cmluZ0VFRVRfTjJ2ODZIYW5kbGVJTlM0XzZT
dHJpbmdFRUVOU18xMkV4dGVybmFsTW9kZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE1VjhQYXJhbWV0
ZXJCYXNlOHRvU3RyaW5nSU4zV1RGNlN0cmluZ0VFRVRfdgorICAgZnVuOl9aTjdXZWJDb3JlMTVW
OFBhcmFtZXRlckJhc2Vjdk4zV1RGNlN0cmluZ0VFdgorICAgZnVuOl9aTjdXZWJDb3JlMjVXZWJL
aXRCbG9iQnVpbGRlckludGVybmFsKgorfQorCit7CisgICBidWdfMTA5NDk1ZgorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk42d2Via2l0M2dwdTE4R0xJ
blByb2Nlc3NDb250ZXh0MjJDcmVhdGVPZmZzY3JlZW5Db250ZXh0RVBTMV9SS04zZ2Z4NFNpemVF
UzJfUEtjUEtpTlMzXzEzR3B1UHJlZmVyZW5jZUUKKyAgIGZ1bjpfWk42d2Via2l0M2dwdTQ2V2Vi
R3JhcGhpY3NDb250ZXh0M0RJblByb2Nlc3NDb21tYW5kQnVmZmVySW1wbDEwSW5pdGlhbGl6ZUVO
NldlYktpdDIwV2ViR3JhcGhpY3NDb250ZXh0M0QxMEF0dHJpYnV0ZXNFUFMzXworICAgZnVuOl9a
TjI1VGVzdFdlYktpdFBsYXRmb3JtU3VwcG9ydDMyY3JlYXRlT2Zmc2NyZWVuR3JhcGhpY3NDb250
ZXh0M0RFUktONldlYktpdDIwV2ViR3JhcGhpY3NDb250ZXh0M0QxMEF0dHJpYnV0ZXNFCisgICBm
dW46X1pON1dlYkNvcmUxN0dyYXBoaWNzQ29udGV4dDNENmNyZWF0ZUVOUzBfMTBBdHRyaWJ1dGVz
RVBOU18xMEhvc3RXaW5kb3dFTlMwXzExUmVuZGVyU3R5bGVFCisgICBmdW46X1pON1dlYkNvcmUy
MVdlYkdMUmVuZGVyaW5nQ29udGV4dDZjcmVhdGVFUE5TXzE3SFRNTENhbnZhc0VsZW1lbnRFUE5T
XzIyV2ViR0xDb250ZXh0QXR0cmlidXRlc0UKKyAgIGZ1bjpfWk43V2ViQ29yZTE3SFRNTENhbnZh
c0VsZW1lbnQxMGdldENvbnRleHRFUktOM1dURjZTdHJpbmdFUE5TXzIzQ2FudmFzQ29udGV4dEF0
dHJpYnV0ZXNFCisgICBmdW46X1pON1dlYkNvcmUxOVY4SFRNTENhbnZhc0VsZW1lbnQxOGdldENv
bnRleHRDYWxsYmFja0VSS04ydjg5QXJndW1lbnRzRQorfQorCit7CisgICBidWdfMTEyNTk0X2EK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOk5QUF9OZXcKKyAgIGZ1bjpfWk42d2Vi
a2l0NW5wYXBpMTRQbHVnaW5JbnN0YW5jZTdOUFBfTmV3RXRzUFBjUzNfCisgICBmdW46X1pONndl
YmtpdDVucGFwaTE0UGx1Z2luSW5zdGFuY2U1U3RhcnRFUks0R1VSTFBQY1M2X2liCisgICBmdW46
X1pONndlYmtpdDVucGFwaTIxV2ViUGx1Z2luRGVsZWdhdGVJbXBsMTBJbml0aWFsaXplRVJLNEdV
UkxSS1N0NnZlY3RvcklTc1NhSVNzRUVTOV9QTlMwXzlXZWJQbHVnaW5FYgorICAgZnVuOl9aTjZ3
ZWJraXQ1bnBhcGkxM1dlYlBsdWdpbkltcGwxMGluaXRpYWxpemVFUE42V2ViS2l0MThXZWJQbHVn
aW5Db250YWluZXJFCisgICBmdW46X1pONldlYktpdDIxRnJhbWVMb2FkZXJDbGllbnRJbXBsMTJj
cmVhdGVQbHVnaW5FUktON1dlYkNvcmU3SW50U2l6ZUVQTlMxXzE3SFRNTFBsdWdJbkVsZW1lbnRF
UktOUzFfNEtVUkxFUktOM1dURjZWZWN0b3JJTlNBXzZTdHJpbmdFTG0wRUVFU0ZfUktTQ19iCisg
ICBmdW46X1pON1dlYkNvcmUxNFN1YmZyYW1lTG9hZGVyMTBsb2FkUGx1Z2luRVBOU18yMkhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnRFUktOU180S1VSTEVSS04zV1RGNlN0cmluZ0VSS05TNl82VmVjdG9y
SVM3X0xtMEVFRVNEX2IKKyAgIGZ1bjpfWk43V2ViQ29yZTE0U3ViZnJhbWVMb2FkZXIxM3JlcXVl
c3RQbHVnaW5FUE5TXzIySFRNTFBsdWdJbkltYWdlRWxlbWVudEVSS05TXzRLVVJMRVJLTjNXVEY2
U3RyaW5nRVJLTlM2XzZWZWN0b3JJUzdfTG0wRUVFU0RfYgorICAgZnVuOl9aTjdXZWJDb3JlMTRT
dWJmcmFtZUxvYWRlcjEzcmVxdWVzdE9iamVjdEVQTlNfMjJIVE1MUGx1Z0luSW1hZ2VFbGVtZW50
RVJLTjNXVEY2U3RyaW5nRVJLTlMzXzEyQXRvbWljU3RyaW5nRVM2X1JLTlMzXzZWZWN0b3JJUzRf
TG0wRUVFU0RfCit9CisKK3sKKyAgIGJ1Z18xMTI1NzMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjpfWm53KgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDJPUzE1Q3JlYXRlU2VtYXBob3JlRWkKKyAg
IGZ1bjpfWk4ydjg4aW50ZXJuYWw4UHJvZmlsZXJDMUVQTlMwXzdJc29sYXRlRQorICAgZnVuOl9a
TjJ2ODhpbnRlcm5hbDZMb2dnZXI1U2V0VXBFdgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDdJc29s
YXRlNEluaXRFUE5TMF8xMkRlc2VyaWFsaXplckUKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWwyVjgx
MEluaXRpYWxpemVFUE5TMF8xMkRlc2VyaWFsaXplckUKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWw4
U25hcHNob3QxMURlc2VyaWFsaXplRVBLaGkKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWw4U25hcHNo
b3QxMEluaXRpYWxpemVFUEtjCisgICBmdW46X1pOMnY4TDE2SW5pdGlhbGl6ZUhlbHBlckV2Cisg
ICBmdW46X1pOMnY4TDI3RW5zdXJlSW5pdGlhbGl6ZWRGb3JJc29sYXRlRVBOU184aW50ZXJuYWw3
SXNvbGF0ZUVQS2MKKyAgIGZ1bjpfWk4ydjgyVjgxOEFkZE1lc3NhZ2VMaXN0ZW5lckVQRnZOU182
SGFuZGxlSU5TXzdNZXNzYWdlRUVFTlMxX0lOU181VmFsdWVFRUVFUzVfCisgICBmdW46X1pON1dl
YkNvcmUyN1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTE5aW5pdENvbnRleHRJZk5lZWRlZEV2
CisgICBmdW46X1pON1dlYkNvcmUyN1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eThldmFsdWF0
ZUVSS04zV1RGNlN0cmluZ0VTNF9SS05TMV8xMlRleHRQb3NpdGlvbkVQTlNfMjdXb3JrZXJDb250
ZXh0RXhlY3V0aW9uU3RhdGVFCisgICBmdW46X1pON1dlYkNvcmUyMldvcmtlclNjcmlwdENvbnRy
b2xsZXI4ZXZhbHVhdGVFUktOU18xNlNjcmlwdFNvdXJjZUNvZGVFUE5TXzExU2NyaXB0VmFsdWVF
CisgICBmdW46X1pON1dlYkNvcmUyMldvcmtlclNjcmlwdENvbnRyb2xsZXI4ZXZhbHVhdGVFUktO
U18xNlNjcmlwdFNvdXJjZUNvZGVFCisgICBmdW46X1pON1dlYkNvcmUxMldvcmtlclRocmVhZDEy
d29ya2VyVGhyZWFkRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTEyV29ya2VyVGhyZWFkMTd3b3JrZXJU
aHJlYWRTdGFydEVQdgorICAgZnVuOl9aTjNXVEZMMTZ0aHJlYWRFbnRyeVBvaW50RVB2Cit9CisK
K3sKKyAgIGJ1Z18xMjE3MjkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1
bjpfWk4zV1RGMTBmYXN0TWFsbG9jRSoKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlTDEycGFy
c2VVQVNoZWV0RVJLTjNXVEY2U3RyaW5nRQorICAgZnVuOl9aTjdXZWJDb3JlTDEycGFyc2VVQVNo
ZWV0RVBLY2oKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlN0VsZW1lbnQxNnN0eWxlRm9yUmVu
ZGVyZXJFdgorfQorCit7CisgICBidWdfMTIyMTg5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46
X1pudyoKKyAgIGZ1bjpfWk42V2ViS2l0MTZDaHJvbWVDbGllbnRJbXBsMThjcmVhdGVDb2xvckNo
b29zZXJFUE43V2ViQ29yZTE4Q29sb3JDaG9vc2VyQ2xpZW50RVJLTlMxXzVDb2xvckUKKyAgIGZ1
bjpfWk43V2ViQ29yZTZDaHJvbWUxOGNyZWF0ZUNvbG9yQ2hvb3NlckVQTlNfMThDb2xvckNob29z
ZXJDbGllbnRFUktOU181Q29sb3JFCisgICBmdW46X1pON1dlYkNvcmUxNENvbG9ySW5wdXRUeXBl
MjJoYW5kbGVET01BY3RpdmF0ZUV2ZW50RVBOU181RXZlbnRFCisgICBmdW46X1pON1dlYkNvcmUx
NkhUTUxJbnB1dEVsZW1lbnQxOWRlZmF1bHRFdmVudEhhbmRsZXJFUE5TXzVFdmVudEUKKyAgIGZ1
bjpfWk43V2ViQ29yZTE1RXZlbnREaXNwYXRjaGVyMTNkaXNwYXRjaEV2ZW50RU4zV1RGMTBQYXNz
UmVmUHRySU5TXzVFdmVudEVFRQorICAgZnVuOl9aTks3V2ViQ29yZTIxRXZlbnREaXNwYXRjaE1l
ZGlhdG9yMTNkaXNwYXRjaEV2ZW50RVBOU18xNUV2ZW50RGlzcGF0Y2hlckUKK30KK3sKKyAgIGJ1
Z18xMjIxOTIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46
X1pONndlYmtpdDNncHUxOEdMSW5Qcm9jZXNzQ29udGV4dDIyQ3JlYXRlT2Zmc2NyZWVuQ29udGV4
dEVQUzFfUktOM2dmeDRTaXplRVMyX1BLY1BLaU5TM18xM0dwdVByZWZlcmVuY2VFCisgICBmdW46
X1pONndlYmtpdDNncHU0NldlYkdyYXBoaWNzQ29udGV4dDNESW5Qcm9jZXNzQ29tbWFuZEJ1ZmZl
ckltcGwxMEluaXRpYWxpemVFTjZXZWJLaXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1
dGVzRVBTM18KKyAgIGZ1bjpfWk4xNHdlYmtpdF9zdXBwb3J0MjNDcmVhdGVHcmFwaGljc0NvbnRl
eHQzREVSS042V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzRDEwQXR0cmlidXRlc0VQTlMwXzdX
ZWJWaWV3RWIKKyAgIGZ1bjpfWk4xMVdlYlZpZXdIb3N0MjNjcmVhdGVHcmFwaGljc0NvbnRleHQz
REVSS042V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzRDEwQXR0cmlidXRlc0UKKyAgIGZ1bjpf
Wk42V2ViS2l0MTFXZWJWaWV3SW1wbDMzY3JlYXRlQ29tcG9zaXRvckdyYXBoaWNzQ29udGV4dDNE
RXYKKyAgIGZ1bjpfWk42V2ViS2l0MTFXZWJWaWV3SW1wbDE1Y3JlYXRlQ29udGV4dDNERXYKK30K
K3sKKyAgIGJ1Z18xMjIxOTUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTlN0
MyppbnNlcnQqCisgICBmdW46X1pOM2dwdTVnbGVzMjE5R0xFUzJJbXBsZW1lbnRhdGlvbjE1R2V0
U3RyaW5nSGVscGVyRWoKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTlHTEVTMkltcGxlbWVudGF0aW9u
OUdldFN0cmluZ0VqCisgICBmdW46X1pONndlYmtpdDNncHU0NldlYkdyYXBoaWNzQ29udGV4dDNE
SW5Qcm9jZXNzQ29tbWFuZEJ1ZmZlckltcGw5Z2V0U3RyaW5nRWoKKyAgIGZ1bjpfWk43V2ViQ29y
ZTI0R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOWdldFN0cmluZ0VqCisgICBmdW46X1pON1dlYkNv
cmUyNEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTIwaW5pdGlhbGl6ZUV4dGVuc2lvbnNFdgorICAg
ZnVuOl9aTjdXZWJDb3JlMjRHcmFwaGljc0NvbnRleHQzRFByaXZhdGUxN3N1cHBvcnRzRXh0ZW5z
aW9uRVJLTjNXVEY2U3RyaW5nRQorICAgZnVuOl9aTjdXZWJDb3JlMjBFeHRlbnNpb25zM0RDaHJv
bWl1bThzdXBwb3J0c0VSS04zV1RGNlN0cmluZ0UKK30KKworeworICAgYnVnXzEyMjQzMQorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTFXZWJWaWV3SG9zdDEyY3Jl
YXRlUGx1Z2luRVBONldlYktpdDhXZWJGcmFtZUVSS05TMF8xNVdlYlBsdWdpblBhcmFtc0UKKyAg
IGZ1bjpfWk42V2ViS2l0MjFGcmFtZUxvYWRlckNsaWVudEltcGwxMmNyZWF0ZVBsdWdpbkVSS043
V2ViQ29yZTdJbnRTaXplRVBOUzFfMTdIVE1MUGx1Z0luRWxlbWVudEVSS05TMV80S1VSTEVSS04z
V1RGNlZlY3RvcklOU0FfNlN0cmluZ0VMbTBFRUVTRl9SS1NDX2IKKyAgIGZ1bjpfWk43V2ViQ29y
ZTE0U3ViZnJhbWVMb2FkZXIxMGxvYWRQbHVnaW5FUE5TXzIySFRNTFBsdWdJbkltYWdlRWxlbWVu
dEVSS05TXzRLVVJMRVJLTjNXVEY2U3RyaW5nRVJLTlM2XzZWZWN0b3JJUzdfTG0wRUVFU0RfYgor
ICAgZnVuOl9aTjdXZWJDb3JlMTRTdWJmcmFtZUxvYWRlcjEzcmVxdWVzdFBsdWdpbkVQTlNfMjJI
VE1MUGx1Z0luSW1hZ2VFbGVtZW50RVJLTlNfNEtVUkxFUktOM1dURjZTdHJpbmdFUktOUzZfNlZl
Y3RvcklTN19MbTBFRUVTRF9iCisgICBmdW46X1pON1dlYkNvcmUxNFN1YmZyYW1lTG9hZGVyMTNy
ZXF1ZXN0T2JqZWN0RVBOU18yMkhUTUxQbHVnSW5JbWFnZUVsZW1lbnRFUktOM1dURjZTdHJpbmdF
UktOUzNfMTJBdG9taWNTdHJpbmdFUzZfUktOUzNfNlZlY3RvcklTNF9MbTBFRUVTRF8KKyAgIGZ1
bjpfWk43V2ViQ29yZTE2SFRNTEVtYmVkRWxlbWVudDEydXBkYXRlV2lkZ2V0RU5TXzIwUGx1Z2lu
Q3JlYXRpb25PcHRpb25FCit9CisKK3sKKyAgIGJ1Z18xMjI0NTcKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4z
V1RGMTBSZWZDb3VudGVkSU43V2ViQ29yZTdBcmNoaXZlRUVud0VtCisgICBmdW46X1pON1dlYkNv
cmUxMk1IVE1MQXJjaGl2ZTZjcmVhdGVFdgorICAgLi4uCisgICBmdW46X1pON1dlYkNvcmUxMU1I
VE1MUGFyc2VyMjJwYXJzZUFyY2hpdmVXaXRoSGVhZGVyRVBOU18xME1JTUVIZWFkZXJFCisgICBm
dW46X1pON1dlYkNvcmUxMU1IVE1MUGFyc2VyMTJwYXJzZUFyY2hpdmVFdgorICAgZnVuOl9aTjdX
ZWJDb3JlMTJNSFRNTEFyY2hpdmU2Y3JlYXRlRVJLTlNfNEtVUkxFUE5TXzEyU2hhcmVkQnVmZmVy
RQorICAgZnVuOl9aTjdXZWJDb3JlTDIwYXJjaGl2ZUZhY3RvcnlDcmVhdGVJTlNfMTJNSFRNTEFy
Y2hpdmVFRUVOM1dURjEwUGFzc1JlZlB0cklOU183QXJjaGl2ZUVFRVJLTlNfNEtVUkxFUE5TXzEy
U2hhcmVkQnVmZmVyRQorICAgZnVuOl9aTjdXZWJDb3JlMTRBcmNoaXZlRmFjdG9yeTZjcmVhdGVF
UktOU180S1VSTEVQTlNfMTJTaGFyZWRCdWZmZXJFUktOM1dURjZTdHJpbmdFCisgICAuLi4KKyAg
IGZ1bjpfWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxNWZpbmlzaGVkTG9hZGluZ0V2CisgICBm
dW46X1pON1dlYkNvcmUxOE1haW5SZXNvdXJjZUxvYWRlcjE2ZGlkRmluaXNoTG9hZGluZ0VkCit9
Cit7CisgICBidWdfMTIyNjcwCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1
bjpfWk4zV1RGMTFMaXN0SGFzaFNldElQTjdXZWJDb3JlMTJSZW5kZXJJbmxpbmVFTG0yNTZFTlNf
N1B0ckhhc2hJUzNfRUVFQzFFdgorICAgZnVuOl9aTks3V2ViQ29yZTE3UmVuZGVyTGluZUJveExp
c3Q1cGFpbnRFUE5TXzIwUmVuZGVyQm94TW9kZWxPYmplY3RFUk5TXzlQYWludEluZm9FUktOUyoK
KyAgIGZ1bjpfWk43V2ViQ29yZTExUmVuZGVyQmxvY2sxM3BhaW50Q29udGVudHNFUk5TXzlQYWlu
dEluZm9FUktOUyoKKyAgIGZ1bjpfWk43V2ViQ29yZTExUmVuZGVyQmxvY2sxMXBhaW50T2JqZWN0
RVJOU185UGFpbnRJbmZvRVJLTlMqCisgICBmdW46X1pON1dlYkNvcmUxMVJlbmRlckJsb2NrNXBh
aW50RVJOU185UGFpbnRJbmZvRVJLTlMqCit9Cit7CisgICBidWdfMTIzMzA3CisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICBm
dW46X1pOM1dURjE2ZmFzdFplcm9lZE1hbGxvY0VtCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29y
ZTEyX0dMT0JBTF9fTl8xMTFWOE9iamVjdE1hcElOMnY4Nk9iamVjdEVqRTNzZXRFUktOUzJfNkhh
bmRsZUlTM19FRVJLagorICAgZnVuOl9aTjdXZWJDb3JlMTJfR0xPQkFMX19OXzExMFNlcmlhbGl6
ZXIxMGdyZXlPYmplY3RFUktOMnY4NkhhbmRsZUlOUzJfNk9iamVjdEVFRQorICAgZnVuOl9aTjdX
ZWJDb3JlMTJfR0xPQkFMX19OXzExMFNlcmlhbGl6ZXIxMWRvU2VyaWFsaXplRU4ydjg2SGFuZGxl
SU5TMl81VmFsdWVFRUVQTlMxXzlTdGF0ZUJhc2VFCisgICBmdW46X1pON1dlYkNvcmUxMl9HTE9C
QUxfX05fMTEwU2VyaWFsaXplcjlzZXJpYWxpemVFTjJ2ODZIYW5kbGVJTlMyXzVWYWx1ZUVFRQor
ICAgZnVuOl9aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVDMUVOMnY4NkhhbmRsZUlO
UzFfNVZhbHVlRUVFUE4zV1RGNlZlY3RvcklOUzVfNlJlZlB0cklOU18xMU1lc3NhZ2VQb3J0RUVF
TG0xRUVFUE5TNl9JTlM3X0lOUzVfMTFBcnJheUJ1ZmZlckVFRUxtMUVFRVJiCisgICBmdW46X1pO
N1dlYkNvcmUyMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTZjcmVhdGVFTjJ2ODZIYW5kbGVJTlMxXzVW
YWx1ZUVFRVBOM1dURjZWZWN0b3JJTlM1XzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVF
RVBOUzZfSU5TN19JTlM1XzExQXJyYXlCdWZmZXJFRUVMbTFFRUVSYgorICAgZnVuOl9aTjdXZWJD
b3JlTDI1aGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFja0VSS04ydjg5QXJndW1lbnRzRWIKKyAgIGZ1
bjpfWk43V2ViQ29yZTExVjhET01XaW5kb3cxOXBvc3RNZXNzYWdlQ2FsbGJhY2tFUktOMnY4OUFy
Z3VtZW50c0UKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWxMMTlIYW5kbGVBcGlDYWxsSGVscGVySUxi
MEVFRVBOUzBfMTFNYXliZU9iamVjdEVOUzBfMTJfR0xPQkFMX19OXzExNkJ1aWx0aW5Bcmd1bWVu
dHNJTE5TMF8yMUJ1aWx0aW5FeHRyYUFyZ3VtZW50c0UxRUVFUE5TMF83SXNvbGF0ZUUKKyAgIGZ1
bjpfWk4ydjg4aW50ZXJuYWxMMjFCdWlsdGluX0hhbmRsZUFwaUNhbGxFTlMwXzEyX0dMT0JBTF9f
Tl8xMTZCdWlsdGluQXJndW1lbnRzSUxOUzBfMjFCdWlsdGluRXh0cmFBcmd1bWVudHNFMUVFRVBO
UzBfN0lzb2xhdGVFCit9Cit7CisgICBidWdfMTI0MTU2CisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46X1pudyoKKyAgIGZ1bjpfWk4yNlNpbXBsZVJlc291cmNlTG9hZGVyQnJpZGdlNkNyZWF0ZUVS
S04xMXdlYmtpdF9nbHVlMjBSZXNvdXJjZUxvYWRlckJyaWRnZTExUmVxdWVzdEluZm9FCisgICBm
dW46X1pOMjVUZXN0V2ViS2l0UGxhdGZvcm1TdXBwb3J0MjBDcmVhdGVSZXNvdXJjZUxvYWRlckVS
S04xMXdlYmtpdF9nbHVlMjBSZXNvdXJjZUxvYWRlckJyaWRnZTExUmVxdWVzdEluZm9FCisgICBm
dW46X1pOMTF3ZWJraXRfZ2x1ZTE2V2ViVVJMTG9hZGVySW1wbDdDb250ZXh0NVN0YXJ0RVJLTjZX
ZWJLaXQxM1dlYlVSTFJlcXVlc3RFUE5TXzIwUmVzb3VyY2VMb2FkZXJCcmlkZ2UxNlN5bmNMb2Fk
UmVzcG9uc2VFUE5TXzI1V2ViS2l0UGxhdGZvcm1TdXBwb3J0SW1wbEUKKyAgIGZ1bjpfWk4xMXdl
YmtpdF9nbHVlMTZXZWJVUkxMb2FkZXJJbXBsMThsb2FkQXN5bmNocm9ub3VzbHlFUktONldlYktp
dDEzV2ViVVJMUmVxdWVzdEVQTlMxXzE4V2ViVVJMTG9hZGVyQ2xpZW50RQorICAgZnVuOl9aTjdX
ZWJDb3JlMjJSZXNvdXJjZUhhbmRsZUludGVybmFsNXN0YXJ0RXYKK30KKworeworICAgYnVnXzEz
MDYxOQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmU5
Q2xpcFJlY3RzNmNyZWF0ZUVSS1MwXworICAgZnVuOl9aTjdXZWJDb3JlMTFSZW5kZXJMYXllcjE1
dXBkYXRlQ2xpcFJlY3RzRVBLUzBfUE5TXzEyUmVuZGVyUmVnaW9uRU5TXzEzQ2xpcFJlY3RzVHlw
ZUVOU18yOU92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5RQorICAgLi4uCisgICBmdW46X1pO
SzdXZWJDb3JlMTFSZW5kZXJMYXllcjE1cGFyZW50Q2xpcFJlY3RzRVBLUzBfUE5TXzEyUmVuZGVy
UmVnaW9uRU5TXzEzQ2xpcFJlY3RzVHlwZUVSTlNfOUNsaXBSZWN0c0VOU18yOU92ZXJsYXlTY3Jv
bGxiYXJTaXplUmVsZXZhbmN5RQorICAgZnVuOl9aTks3V2ViQ29yZTExUmVuZGVyTGF5ZXIxOGJh
Y2tncm91bmRDbGlwUmVjdEVQS1MwX1BOU18xMlJlbmRlclJlZ2lvbkVOU18xM0NsaXBSZWN0c1R5
cGVFTlNfMjlPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeUUKK30KKworeworICAgYnVnXzEz
ODIzM19hCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEw
ZmFzdE1hbGxvY0VtCisgICBmdW46X1pOM1dURjEwUmVmQ291bnRlZElON1dlYkNvcmUxN1Njcmlw
dFByb2ZpbGVOb2RlRUVud0VtCisgICBmdW46X1pON1dlYkNvcmUxN1NjcmlwdFByb2ZpbGVOb2Rl
NmNyZWF0ZUVQS04ydjgxNENwdVByb2ZpbGVOb2RlRQorICAgZnVuOl9aTks3V2ViQ29yZTEzU2Ny
aXB0UHJvZmlsZTRoZWFkRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTIzU2NyaXB0UHJvZmlsZVY4SW50
ZXJuYWxMMTRoZWFkQXR0ckdldHRlckVOMnY4NUxvY2FsSU5TMV82U3RyaW5nRUVFUktOUzFfMTJB
Y2Nlc3NvckluZm9FCisgICBmdW46X1pOMnY4OGludGVybmFsOEpTT2JqZWN0MjNHZXRQcm9wZXJ0
eVdpdGhDYWxsYmFja0VQTlMwXzZPYmplY3RFUzNfUE5TMF82U3RyaW5nRQorICAgZnVuOl9aTjJ2
ODhpbnRlcm5hbDZPYmplY3QxMUdldFByb3BlcnR5RVBTMV9QTlMwXzEyTG9va3VwUmVzdWx0RVBO
UzBfNlN0cmluZ0VQMThQcm9wZXJ0eUF0dHJpYnV0ZXMKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWw2
TG9hZElDNExvYWRFTlMwXzE2SW5saW5lQ2FjaGVTdGF0ZUVOUzBfNkhhbmRsZUlOUzBfNk9iamVj
dEVFRU5TM19JTlMwXzZTdHJpbmdFRUUKKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWwxMUxvYWRJQ19N
aXNzRU5TMF85QXJndW1lbnRzRVBOUzBfN0lzb2xhdGVFCit9Cit7CisgICBidWdfMTM4MjMzX2IK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0TWFs
bG9jRW0KKyAgIGZ1bjpfWk4zV1RGMTBSZWZDb3VudGVkSU43V2ViQ29yZTE3U2NyaXB0UHJvZmls
ZU5vZGVFRW53RW0KKyAgIGZ1bjpfWk43V2ViQ29yZTE3U2NyaXB0UHJvZmlsZU5vZGU2Y3JlYXRl
RVBLTjJ2ODE0Q3B1UHJvZmlsZU5vZGVFCisgICBmdW46X1pOSzdXZWJDb3JlMTdTY3JpcHRQcm9m
aWxlTm9kZThjaGlsZHJlbkV2CisgICBmdW46X1pON1dlYkNvcmUyN1NjcmlwdFByb2ZpbGVOb2Rl
VjhJbnRlcm5hbEwxNmNoaWxkcmVuQ2FsbGJhY2tFUktOMnY4OUFyZ3VtZW50c0UKK30KKworewor
ICAgYnVnXzEzODUyMgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pO
N1dlYkNvcmUyM3Y4U3RyaW5nVG9XZWJDb3JlU3RyaW5nSU4zV1RGMTJBdG9taWNTdHJpbmdFRUVU
X04ydjg2SGFuZGxlSU5TNF82U3RyaW5nRUVFTlNfMTJFeHRlcm5hbE1vZGVFCisgICBmdW46X1pO
N1dlYkNvcmUqVjhTdHJpbmdSZXNvdXJjZUlMTlNfMjBWOFN0cmluZ1Jlc291cmNlTW9kZSoKKyAg
IC4uLgorICAgZnVuOl9aTjdXZWJDb3JlMjNXb3JrZXJDb250ZXh0VjhJbnRlcm5hbEwyMmFkZEV2
ZW50TGlzdGVuZXJNZXRob2RFUktOMnY4OUFyZ3VtZW50c0UKK30KKworeworICAgYnVnXzE2MDg5
IFdvcmtlclBvb2wgdGhyZWFkcyBhbmQgaXRzIHRhc2tzIGNhbiBsZWFrIGJ5IGRlc2lnbgorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pONGJhc2UyMlBvc2l4RHluYW1p
Y1RocmVhZFBvb2w3QWRkVGFza0VQTlNfMTFQZW5kaW5nVGFza0UKKyAgIGZ1bjpfWk40YmFzZTIy
UG9zaXhEeW5hbWljVGhyZWFkUG9vbDhQb3N0VGFzayoKK30KKworeworICAgYnVnXzEzOTQ3MAor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmUyMlRocmVh
ZGFibGVCbG9iUmVnaXN0cnkxN3VucmVnaXN0ZXJCbG9iVVJMRVJLTlNfNEtVUkxFCisgICAuLi4K
KyAgIGZ1bjpfWk43V2ViQ29yZTE1V3JhcHBlclR5cGVJbmZvMTFkZXJlZk9iamVjdEVQdgorICAg
ZnVuOl9aTjdXZWJDb3JlN0RPTURhdGExMWRlcmVmT2JqZWN0RVBOU18xNVdyYXBwZXJUeXBlSW5m
b0VQdgorICAgZnVuOl9aTjdXZWJDb3JlN0RPTURhdGEyM1dyYXBwZXJNYXBPYmplY3RSZW1vdmVy
SXZFMTV2aXNpdERPTVdyYXBwZXJFUE5TXzEyRE9NRGF0YVN0b3JlRVB2TjJ2ODEwUGVyc2lzdGVu
dElOUzZfNk9iamVjdEVFRQorICAgZnVuOl9aTjdXZWJDb3JlMTZXZWFrUmVmZXJlbmNlTWFwSXZO
MnY4Nk9iamVjdEVFNXZpc2l0RVBOU18xMkRPTURhdGFTdG9yZUVQTlNfMjRBYnN0cmFjdFdlYWtS
ZWZlcmVuY2VNYXBJdlMyX0U3VmlzaXRvckUKKyAgIGZ1bjpfWk43V2ViQ29yZTdET01EYXRhMjdy
ZW1vdmVPYmplY3RzRnJvbVdyYXBwZXJNYXBJdkVFdlBOU18xMkRPTURhdGFTdG9yZUVSTlNfMjRB
YnN0cmFjdFdlYWtSZWZlcmVuY2VNYXBJVF9OMnY4Nk9iamVjdEVFRQorICAgZnVuOl9aTjdXZWJD
b3JlMTlyZW1vdmVBbGxET01PYmplY3RzRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTIyV29ya2VyU2Ny
aXB0Q29udHJvbGxlckQxRXYKKyAgIGZ1bjpfWk4zV1RGMTRkZWxldGVPd25lZFB0cklON1dlYkNv
cmUyMldvcmtlclNjcmlwdENvbnRyb2xsZXJFRUV2UFRfCisgICBmdW46X1pOM1dURjZPd25QdHJJ
TjdXZWJDb3JlMjJXb3JrZXJTY3JpcHRDb250cm9sbGVyRUU1Y2xlYXJFdgorICAgZnVuOl9aTjdX
ZWJDb3JlMTNXb3JrZXJDb250ZXh0MTFjbGVhclNjcmlwdEV2CisgICBmdW46X1pON1dlYkNvcmUz
MFdvcmtlclRocmVhZFNodXRkb3duRmluaXNoVGFzazExcGVyZm9ybVRhc2tFUE5TXzIyU2NyaXB0
RXhlY3V0aW9uQ29udGV4dEUKKyAgIGZ1bjpfWk43V2ViQ29yZTEzV29ya2VyUnVuTG9vcDRUYXNr
MTFwZXJmb3JtVGFza0VSS1MwX1BOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRFCisgICBmdW46
X1pON1dlYkNvcmUxM1dvcmtlclJ1bkxvb3A5cnVuSW5Nb2RlRVBOU18xM1dvcmtlckNvbnRleHRF
UktOU18xM01vZGVQcmVkaWNhdGVFTlMwXzhXYWl0TW9kZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEz
V29ya2VyUnVuTG9vcDNydW5FUE5TXzEzV29ya2VyQ29udGV4dEUKKyAgIGZ1bjpfWk43V2ViQ29y
ZTEyV29ya2VyVGhyZWFkMTJydW5FdmVudExvb3BFdgorICAgZnVuOl9aTjdXZWJDb3JlMjFEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQxMnJ1bkV2ZW50TG9vcEV2Cit9CisKK3sKKyAgIGJ1Z18xMzk5OTYK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdXZWJDb3JlMjN2OFN0
cmluZ1RvV2ViQ29yZVN0cmluZ0lOM1dURjZTdHJpbmdFRUVUX04ydjg2SGFuZGxlSU5TNF82U3Ry
aW5nRUVFTlNfMTJFeHRlcm5hbE1vZGVFCisgICBmdW46X1pON1dlYkNvcmUxNXRvV2ViQ29yZVN0
cmluZ0VOMnY4NkhhbmRsZUlOUzBfNVZhbHVlRUVFCisgICBmdW46X1pON1dlYkNvcmU2VjhCbG9i
MTljb25zdHJ1Y3RvckNhbGxiYWNrRVJLTjJ2ODlBcmd1bWVudHNFCisgICBmdW46X1pOMnY4OGlu
dGVybmFsTDE5SGFuZGxlQXBpQ2FsbEhlbHBlcklMYjFFRUVQTlMwXzExTWF5YmVPYmplY3RFTlMw
XzEyX0dMT0JBTF9fTl8xMTZCdWlsdGluQXJndW1lbnRzSUxOUzBfMjFCdWlsdGluRXh0cmFBcmd1
bWVudHNFMUVFRVBOUzBfN0lzb2xhdGVFCisgICBmdW46X1pOMnY4OGludGVybmFsTDMwQnVpbHRp
bl9IYW5kbGVBcGlDYWxsQ29uc3RydWN0RU5TMF8xMl9HTE9CQUxfX05fMTE2QnVpbHRpbkFyZ3Vt
ZW50c0lMTlMwXzIxQnVpbHRpbkV4dHJhQXJndW1lbnRzRTFFRUVQTlMwXzdJc29sYXRlRQorfQor
eworICAgYnVnXzEzOTk5OAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOiphbGxvYworICAgLi4u
CisgICBmdW46X1pMMjNsaW5rX2ludHJhc3RhZ2Vfc2hhZGVyc1AxNF9fR0xjb250ZXh0UmVjUDE3
Z2xfc2hhZGVyX3Byb2dyYW1QUDlnbF9zaGFkZXJqCisgICBmdW46X1oxMmxpbmtfc2hhZGVyc1Ax
NF9fR0xjb250ZXh0UmVjUDE3Z2xfc2hhZGVyX3Byb2dyYW0KKyAgIGZ1bjpfbWVzYV9nbHNsX2xp
bmtfc2hhZGVyCisgICBmdW46bGlua19wcm9ncmFtCisgICBmdW46X21lc2FfTGlua1Byb2dyYW1B
UkIKKyAgIGZ1bjpnbExpbmtQcm9ncmFtCisgICAuLi4KKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTZH
TEVTMkRlY29kZXJJbXBsMTNEb0xpbmtQcm9ncmFtRWoKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTZH
TEVTMkRlY29kZXJJbXBsMTdIYW5kbGVMaW5rUHJvZ3JhbSoKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMy
MTZHTEVTMkRlY29kZXJJbXBsOURvQ29tbWFuZEVqalBLdgorICAgZnVuOl9aTjNncHUxM0NvbW1h
bmRQYXJzZXIxNFByb2Nlc3NDb21tYW5kRXYKKyAgIGZ1bjpfWk4zZ3B1MTJHcHVTY2hlZHVsZXIx
MFB1dENoYW5nZWRFdgorICAgZnVuOl9aTjZ3ZWJraXQzZ3B1MThHTEluUHJvY2Vzc0NvbnRleHQx
MlB1bXBDb21tYW5kc0V2Cit9CisKK3sKKyAgIGJ1Z18xNDQ5MTMKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjhjaHJvbWVvczMwQmx1ZXRvb3RoQWRhcHRlckNsaWVu
dFN0dWJJbXBsQzFFdgorICAgZnVuOl9aTjhjaHJvbWVvczIyQmx1ZXRvb3RoQWRhcHRlckNsaWVu
dDZDcmVhdGVFTlNfMjhEQnVzQ2xpZW50SW1wbGVtZW50YXRpb25UeXBlRVBONGRidXMzQnVzRVBO
U18yMkJsdWV0b290aE1hbmFnZXJDbGllbnRFCisgICBmdW46X1pOOGNocm9tZW9zMjFEQnVzVGhy
ZWFkTWFuYWdlckltcGxDMUVOU18yOERCdXNDbGllbnRJbXBsZW1lbnRhdGlvblR5cGVFCisgICBm
dW46X1pOOGNocm9tZW9zMTdEQnVzVGhyZWFkTWFuYWdlcjEwSW5pdGlhbGl6ZUV2CisgICBmdW46
X1pOOGNocm9tZW9zMjNLaW9za01vZGVJZGxlTG9nb3V0VGVzdDVTZXRVcEV2Cit9Cit7CisgICBi
dWdfMTQ0OTEzX2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjhj
aHJvbWVvczE3REJ1c1RocmVhZE1hbmFnZXIxMEluaXRpYWxpemVFdgorICAgZnVuOl9aTjhjaHJv
bWVvczIzS2lvc2tNb2RlSWRsZUxvZ291dFRlc3Q1U2V0VXBFdgorfQoreworICAgYnVnXzE0NDkx
M19jCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjhj
aHJvbWVvczIxREJ1c1RocmVhZE1hbmFnZXJJbXBsQzFFTlNfMjhEQnVzQ2xpZW50SW1wbGVtZW50
YXRpb25UeXBlRQorICAgZnVuOl9aTjhjaHJvbWVvczE3REJ1c1RocmVhZE1hbmFnZXIxMEluaXRp
YWxpemVFdgorICAgZnVuOl9aTjhjaHJvbWVvczIzS2lvc2tNb2RlSWRsZUxvZ291dFRlc3Q1U2V0
VXBFdgorfQoreworICAgYnVnXzE0NDkzMAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pMMjBjYWNoZWRQYWludEx1bWluYW5jZWYKK30KK3sKKyAgIGJ1Z18xNDQ5MzBf
YgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pMMjFjYWNoZWREZXZp
Y2VMdW1pbmFuY2VmCit9CisKK3sKKyAgIGJ1Z18xNDU2NDUKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RG
MTBSZWZDb3VudGVkSU43V2ViQ29yZTE4SW5qZWN0ZWRTY3JpcHRIb3N0RUVud0VtCisgICBmdW46
X1pON1dlYkNvcmUxOEluamVjdGVkU2NyaXB0SG9zdDZjcmVhdGVFdgorICAgZnVuOl9aTjdXZWJD
b3JlMjFJbmplY3RlZFNjcmlwdE1hbmFnZXJDMUVQRmJQTlNfMTFTY3JpcHRTdGF0ZUVFCisgICBm
dW46X1pON1dlYkNvcmUyMUluamVjdGVkU2NyaXB0TWFuYWdlcjE1Y3JlYXRlRm9yV29ya2VyRXYK
KyAgIGZ1bjpfWk43V2ViQ29yZTI1V29ya2VySW5zcGVjdG9yQ29udHJvbGxlckMxRVBOU18xM1dv
cmtlckNvbnRleHRFCit9CisKK3sKKyAgIGJ1Z18xNDU3MTIKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjpfWm53KgorICAgZnVuOl9aTjZXZWJLaXQyNU5vdGlmaWNhdGlvblByZXNlbnRlckltcGwx
N3JlcXVlc3RQZXJtaXNzaW9uRVBON1dlYkNvcmUyMlNjcmkgcHRFeGVjdXRpb25Db250ZXh0RU4z
V1RGMTBQYXNzUmVmUHRySU5TMV8xMlZvaWRDYWxsYmFja0VFRQorICAgZnVuOl9aTjdXZWJDb3Jl
MThOb3RpZmljYXRpb25DZW50ZXIxN3JlcXVlc3RQZXJtaXNzaW9uRU4zV1RGMTBQYXNzUmVmUHRy
SU5TXzEgMlZvaWRDYWxsYmFja0VFRQorICAgZnVuOl9aTjdXZWJDb3JlMjBWOE5vdGlmaWNhdGlv
bkNlbnRlcjI1cmVxdWVzdFBlcm1pc3Npb25DYWxsYmFja0VSS04ydjg5QXJndW0gZW50c0UKK30K
KworCit7CisgICBidWdfMTQ1NzQ3YQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisg
ICBmdW46X1pOMjRUcmFuc2xhdGVJbmZvQmFyRGVsZWdhdGUxOUNyZWF0ZUVycm9yRGVsZWdhdGVF
TjE1VHJhbnNsYXRlRXJyb3JzNFR5cGVFUDE0SW5mb0JhclNlcnZpY2VQMTFQcmVmU2VydmljZVJL
U3NTN18KKyAgIGZ1bjpfWk4xNlRyYW5zbGF0ZU1hbmFnZXIxNFBhZ2VUcmFuc2xhdGVkRVBON2Nv
bnRlbnQxMVdlYkNvbnRlbnRzRVAyMVBhZ2VUcmFuc2xhdGVkRGV0YWlscworICAgZnVuOl9aTjE2
VHJhbnNsYXRlTWFuYWdlcjdPYnNlcnZlRWlSS043Y29udGVudDE4Tm90aWZpY2F0aW9uU291cmNl
RVJLTlMwXzE5Tm90aWZpY2F0aW9uRGV0YWlsc0UKKyAgIGZ1bjpfWk4yM05vdGlmaWNhdGlvblNl
cnZpY2VJbXBsNk5vdGlmeUVpUktON2NvbnRlbnQxOE5vdGlmaWNhdGlvblNvdXJjZUVSS05TMF8x
OU5vdGlmaWNhdGlvbkRldGFpbHNFCisgICBmdW46X1pOMThUcmFuc2xhdGVUYWJIZWxwZXIxNk9u
UGFnZVRyYW5zbGF0ZWRFaVJLU3NTMV9OMTVUcmFuc2xhdGVFcnJvcnM0VHlwZUUKK30KK3sKKyAg
IGJ1Z18xNDU3NDdiCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4y
NFRyYW5zbGF0ZUluZm9CYXJEZWxlZ2F0ZTE5Q3JlYXRlRXJyb3JEZWxlZ2F0ZUVOMTVUcmFuc2xh
dGVFcnJvcnM0VHlwZUVQMTRJbmZvQmFyU2VydmljZVAxMVByZWZTZXJ2aWNlUktTc1M3XworICAg
ZnVuOl9aTjE2VHJhbnNsYXRlTWFuYWdlcjE4T25VUkxGZXRjaENvbXBsZXRlRVBLTjNuZXQxMFVS
TEZldGNoZXJFCisgICBmdW46X1pOMjBUcmFuc2xhdGVNYW5hZ2VyVGVzdDMxU2ltdWxhdGVUcmFu
c2xhdGVTY3JpcHRVUkxGZXRjaEViCit9Cit7CisgICBidWdfMTQ2NDY0CisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46cmVhbGxvYworICAgZnVuOmFkZF9jb2Rlc2V0LmlzcmEuMTAKKyAgIC4uLgor
ICAgZnVuOlhDcmVhdGVQaXhtYXAKKyAgIGZ1bjpYQ3JlYXRlQml0bWFwRnJvbURhdGEKKyAgIC4u
LgorICAgZnVuOl9aTjRhdXJhMTlSb290V2luZG93SG9zdExpbnV4QzFFUE5TXzIyUm9vdFdpbmRv
d0hvc3REZWxlZ2F0ZUVSS04zZ2Z4NFJlY3RFCit9Cit7CisgICBidWdfMTQ2OTUwCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46Z2V0X3BlZXJfc29ja19uYW1lCisgICBm
dW46X3hjYl9nZXRfYXV0aF9pbmZvCisgICBmdW46eGNiX2Nvbm5lY3RfdG9fZGlzcGxheV93aXRo
X2F1dGhfaW5mbworICAgZnVuOl9YQ29ubmVjdFhDQgorICAgZnVuOlhPcGVuRGlzcGxheQorICAg
ZnVuOl9aTjRiYXNlMThNZXNzYWdlUHVtcEF1cmFYMTExOEdldERlZmF1bHRYRGlzcGxheUV2Cit9
Cit7CisgICBidWdfMTQ3NzU1X2EKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
ZnVuOl9aTjEyUGx1Z2luRmluZGVyMThHZXRQbHVnaW5JbnN0YWxsZXJFUktONndlYmtpdDEzV2Vi
UGx1Z2luSW5mb0UKKyAgIGZ1bjpfWk4xMVBsdWdpblByZWZzMzBFbmFibGVQbHVnaW5JZlBvc3Np
YmxlQ2FsbGJhY2tFKgorfQoreworICAgYnVnXzE0Nzc1NV9iCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMlBsdWdpbkZpbmRlcjE3R2V0UGx1Z2luTWV0YWRhdGFF
UktONndlYmtpdDEzV2ViUGx1Z2luSW5mb0UKKyAgIGZ1bjpfWk4xMVBsdWdpblByZWZzMTJFbmFi
bGVQbHVnaW5FKgorICAgZnVuOl9aTjE1UGx1Z2luUHJlZnNUZXN0MjVFbmFibGVQbHVnaW5TeW5j
aHJvbm91c2x5RSoKKyAgIGZ1bjpfWk40NFBsdWdpblByZWZzVGVzdF9VbmlmaWVkUGVwcGVyRmxh
c2hTdGF0ZV9UZXN0OFRlc3RCb2R5RXYKK30KKworeworICAgYnVnXzE0OTczNGEKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAg
IGZ1bjpfWk4zV1RGMTZWZWN0b3JCdWZmZXJCYXNlSU43V2ViQ29yZTlBdHRyaWJ1dGVFRTE0YWxs
b2NhdGVCdWZmZXJFbQorICAgZnVuOl9aTjNXVEYxMlZlY3RvckJ1ZmZlcklON1dlYkNvcmU5QXR0
cmlidXRlRUxtNEVFMTRhbGxvY2F0ZUJ1ZmZlckVtCisgICBmdW46X1pOM1dURjZWZWN0b3JJTjdX
ZWJDb3JlOUF0dHJpYnV0ZUVMbTRFRTIycmVzZXJ2ZUluaXRpYWxDYXBhY2l0eUVtCisgICBmdW46
X1pON1dlYkNvcmUyMEVsZW1lbnRBdHRyaWJ1dGVEYXRhMTNjbG9uZURhdGFGcm9tRVJLUzBfUktO
U183RWxlbWVudEVSUzNfCit9Cit7CisgICBidWdfMTQ5NzM0YgorICAgTWVtY2hlY2s6TGVhawor
ICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNX
VEYxNlZlY3RvckJ1ZmZlckJhc2VJTjdXZWJDb3JlOUF0dHJpYnV0ZUVFMTRhbGxvY2F0ZUJ1ZmZl
ckVtCisgICBmdW46X1pOM1dURjEyVmVjdG9yQnVmZmVySU43V2ViQ29yZTlBdHRyaWJ1dGVFTG00
RUUxNGFsbG9jYXRlQnVmZmVyRW0KKyAgIGZ1bjpfWk4zV1RGNlZlY3RvcklON1dlYkNvcmU5QXR0
cmlidXRlRUxtNEVFMTVyZXNlcnZlQ2FwYWNpdHlFbQorICAgZnVuOl9aTjNXVEY2VmVjdG9ySU43
V2ViQ29yZTlBdHRyaWJ1dGVFTG00RUUxNGV4cGFuZENhcGFjaXR5RW0KKyAgIGZ1bjpfWk4zV1RG
NlZlY3RvcklON1dlYkNvcmU5QXR0cmlidXRlRUxtNEVFMTRleHBhbmRDYXBhY2l0eUVtUEtTMl8K
KyAgIGZ1bjpfWk4zV1RGNlZlY3RvcklON1dlYkNvcmU5QXR0cmlidXRlRUxtNEVFMTRhcHBlbmRT
bG93Q2FzZUlTMl9FRXZSS1RfCisgICBmdW46X1pON1dlYkNvcmUyMEVsZW1lbnRBdHRyaWJ1dGVE
YXRhMTJhZGRBdHRyaWJ1dGVFUktOU185QXR0cmlidXRlRVBOU183RWxlbWVudEVOU18zMFN5bmNo
cm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZUUKK30KKworeworICAgYnVnXzE0OTc0MWIKKyAgIE1l
bWNoZWNrOkZyZWUKKyAgIC4uLgorICAgZnVuOl9aMTFTa1NhZmVVbnJlZkk5U2tQYXRoUmVmRXZQ
VF8KKyAgIGZ1bjpfWk4xMlNrQXV0b1RVbnJlZkk5U2tQYXRoUmVmRUQxRXYKKyAgIGZ1bjpfWk42
U2tQYXRoRDFFdgorICAgZnVuOl9aTjExU2tDbGlwU3RhY2szUmVjRDFFdgorICAgZnVuOl9aTjEx
U2tDbGlwU3RhY2s3cmVzdG9yZUV2CisgICBmdW46X1pOOFNrQ2FudmFzMTVpbnRlcm5hbFJlc3Rv
cmVFdgorICAgZnVuOl9aTjhTa0NhbnZhczdyZXN0b3JlRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTE5
UGxhdGZvcm1Db250ZXh0U2tpYTdyZXN0b3JlRXYKK30KKworeworICAgYnVnXzE1MDk5NQorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abmEqCisgICBmdW46X1pOMTR3ZWJraXRfc3VwcG9ydDEy
X0dMT0JBTF9fTl8xMTNEb0xpYnBuZ1dyaXRlKgorICAgZnVuOl9aTjE0d2Via2l0X3N1cHBvcnQy
NkVuY29kZVdpdGhDb21wcmVzc2lvbkxldmVsKgorICAgZnVuOl9aTjE0d2Via2l0X3N1cHBvcnQ2
RW5jb2RlRVBLaE5TXzEyX0dMT0JBTF9fTl8xMTFDb2xvckZvcm1hdCoKKyAgIGZ1bjpfWk4xNHdl
YmtpdF9zdXBwb3J0MjVFbmNvZGVCR1JBUE5HV2l0aENoZWNrc3VtKgorICAgZnVuOl9aTks5VGVz
dFNoZWxsOWR1bXBJbWFnZUVQOFNrQ2FudmFzCisgICBmdW46X1pOOVRlc3RTaGVsbDRkdW1wRXYK
KyAgIGZ1bjpfWk45VGVzdFNoZWxsMTJ0ZXN0RmluaXNoZWRFUDExV2ViVmlld0hvc3QKKyAgIGZ1
bjpfWk4xMVdlYlZpZXdIb3N0MTJ0ZXN0RmluaXNoZWRFdgorICAgZnVuOl9aTjEzV2ViVGVzdFJ1
bm5lcjEwVGVzdFJ1bm5lcjlXb3JrUXVldWUxNXByb2Nlc3NXb3JrU29vbkV2Cit9Cit7CisgICBi
dWdfMTUxMDA2CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46dXBydl9t
YWxsb2NfNDYKKyAgIGZ1bjpfWk42aWN1XzQ2N1VNZW1vcnlud0VtCisgICBmdW46X1pONmljdV80
NjEwRGF0ZUZvcm1hdDZjcmVhdGVFTlMwXzZFU3R5bGVFUzFfUktOU182TG9jYWxlRQorICAgZnVu
Ol9aTjZpY3VfNDYxMERhdGVGb3JtYXQyMmNyZWF0ZURhdGVUaW1lSW5zdGFuY2VFTlMwXzZFU3R5
bGVFUzFfUktOU182TG9jYWxlRQorICAgZnVuOnVkYXRfb3Blbl80NgorICAgZnVuOl9aTks3V2Vi
Q29yZTlMb2NhbGVJQ1UxNG9wZW5EYXRlRm9ybWF0RTE2VURhdGVGb3JtYXRTdHlsZVMxXworICAg
ZnVuOl9aTjdXZWJDb3JlOUxvY2FsZUlDVTI0aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0RXYKKyAg
IGZ1bjpfWk43V2ViQ29yZTlMb2NhbGVJQ1UxNXNob3J0VGltZUZvcm1hdEV2CisgICBmdW46X1pO
N1dlYkNvcmUxOURhdGVUaW1lRWRpdEVsZW1lbnQ2bGF5b3V0RVJLTlNfOVN0ZXBSYW5nZUVSS05T
XzE0RGF0ZUNvbXBvbmVudHNFUk5TXzlMb2NhbGl6ZXJFCisgICBmdW46X1pON1dlYkNvcmUxOURh
dGVUaW1lRWRpdEVsZW1lbnQxM3NldEVtcHR5VmFsdWVFUktOU185U3RlcFJhbmdlRVJLTlNfMTRE
YXRlQ29tcG9uZW50c0VSTlNfOUxvY2FsaXplckUKKyAgIGZ1bjpfWk43V2ViQ29yZTEzVGltZUlu
cHV0VHlwZTIwdXBkYXRlSW5uZXJUZXh0VmFsdWVFdgorICAgZnVuOl9aTjdXZWJDb3JlMTNUaW1l
SW5wdXRUeXBlMTljcmVhdGVTaGFkb3dTdWJ0cmVlRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTE2SFRN
TElucHV0RWxlbWVudDEwdXBkYXRlVHlwZUV2CisgICBmdW46X1pON1dlYkNvcmUxNkhUTUxJbnB1
dEVsZW1lbnQxNHBhcnNlQXR0cmlidXRlRVJLTlNfOUF0dHJpYnV0ZUUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTdFbGVtZW50MTZhdHRyaWJ1dGVDaGFuZ2VkRVJLTlNfOUF0dHJpYnV0ZUUKKyAgIGZ1bjpf
Wk43V2ViQ29yZTEzU3R5bGVkRWxlbWVudDE2YXR0cmlidXRlQ2hhbmdlZEVSS05TXzlBdHRyaWJ1
dGVFCisgICBmdW46X1pON1dlYkNvcmU3RWxlbWVudDE5cGFyc2VyU2V0QXR0cmlidXRlc0VSS04z
V1RGNlZlY3RvcklOU185QXR0cmlidXRlRUxtMEVFRU5TXzI3RnJhZ21lbnRTY3JpcHRpbmdQZXJt
aXNzaW9uRQorICAgZnVuOl9aTjdXZWJDb3JlMjBIVE1MQ29uc3RydWN0aW9uU2l0ZTE3Y3JlYXRl
SFRNTEVsZW1lbnRFUE5TXzE1QXRvbWljSFRNTFRva2VuRQorICAgZnVuOl9aTjdXZWJDb3JlMjBI
VE1MQ29uc3RydWN0aW9uU2l0ZTI4aW5zZXJ0U2VsZkNsb3NpbmdIVE1MRWxlbWVudEVQTlNfMTVB
dG9taWNIVE1MVG9rZW5FCisgICBmdW46X1pON1dlYkNvcmUxNUhUTUxUcmVlQnVpbGRlcjI0cHJv
Y2Vzc1N0YXJ0VGFnRm9ySW5Cb2R5RVBOU18xNUF0b21pY0hUTUxUb2tlbkUKKyAgIGZ1bjpfWk43
V2ViQ29yZTE1SFRNTFRyZWVCdWlsZGVyMTVwcm9jZXNzU3RhcnRUYWdFUE5TXzE1QXRvbWljSFRN
TFRva2VuRQorfQoreworICAgYnVnXzE1MTAwNworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1h
bGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMFJlZkNv
dW50ZWRJTjdXZWJDb3JlMTVBdG9taWNIVE1MVG9rZW5FRW53RW0KKyAgIGZ1bjpfWk43V2ViQ29y
ZTE1QXRvbWljSFRNTFRva2VuNmNyZWF0ZUVSTlNfOUhUTUxUb2tlbkUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE1SFRNTFRyZWVCdWlsZGVyMjJjb25zdHJ1Y3RUcmVlRnJvbVRva2VuRVJOU185SFRNTFRv
a2VuRQorICAgZnVuOl9aTjdXZWJDb3JlMThIVE1MRG9jdW1lbnRQYXJzZXIxM3B1bXBUb2tlbml6
ZXJFTlMwXzE1U3luY2hyb25vdXNNb2RlRQorICAgZnVuOl9aTjdXZWJDb3JlMThIVE1MRG9jdW1l
bnRQYXJzZXIyM3B1bXBUb2tlbml6ZXJJZlBvc3NpYmxlRU5TMF8xNVN5bmNocm9ub3VzTW9kZUUK
KyAgIGZ1bjpfWk43V2ViQ29yZTE4SFRNTERvY3VtZW50UGFyc2VyNmluc2VydEVSS05TXzE1U2Vn
bWVudGVkU3RyaW5nRQorICAgZnVuOl9aTjdXZWJDb3JlMThIVE1MRG9jdW1lbnRQYXJzZXIyMXBh
cnNlRG9jdW1lbnRGcmFnbWVudEVSS04zV1RGNlN0cmluZ0VQTlNfMTZEb2N1bWVudEZyYWdtZW50
RVBOU183RWxlbWVudEVOU18yN0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbkUKKyAgIGZ1bjpf
Wk43V2ViQ29yZTE2RG9jdW1lbnRGcmFnbWVudDlwYXJzZUhUTUxFUktOM1dURjZTdHJpbmdFUE5T
XzdFbGVtZW50RU5TXzI3RnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uRQorICAgZnVuOl9aTjdX
ZWJDb3JlMzFjcmVhdGVGcmFnbWVudEZvcklubmVyT3V0ZXJIVE1MRVJLTjNXVEY2U3RyaW5nRVBO
U183RWxlbWVudEVOU18yN0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbkVSaQorICAgZnVuOl9a
TjdXZWJDb3JlMTFIVE1MRWxlbWVudDEyc2V0SW5uZXJIVE1MRVJLTjNXVEY2U3RyaW5nRVJpCisg
ICBmdW46X1pON1dlYkNvcmUyMUhUTUxFbGVtZW50VjhJbnRlcm5hbEwxOWlubmVySFRNTEF0dHJT
ZXR0ZXJFTjJ2ODVMb2NhbElOUzFfNlN0cmluZ0VFRU5TMl9JTlMxXzVWYWx1ZUVFRVJLTlMxXzEy
QWNjZXNzb3JJbmZvRQorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbDIxU3RvcmVDYWxsYmFja1Byb3Bl
cnR5RU5TMF85QXJndW1lbnRzRVBOUzBfN0lzb2xhdGVFCisgICAuLi4KKyAgIGZ1bjpfWk4ydjg4
aW50ZXJuYWxMNkludm9rZUViTlMwXzZIYW5kbGVJTlMwXzEwSlNGdW5jdGlvbkVFRU5TMV9JTlMw
XzZPYmplY3RFRUVpUFM1X1BiCit9CisKK3sKKyAgIGJ1Z18xNTE5MDgKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1pONndlYmtpdDNncHUxOEdMSW5Qcm9j
ZXNzQ29udGV4dDIyQ3JlYXRlT2Zmc2NyZWVuQ29udGV4dEVQUzFfUktOM2dmeDRTaXplRVMyX1BL
Y1BLaU5TM18xM0dwdVByZWZlcmVuY2VFCisgICBmdW46X1pONndlYmtpdDNncHU0NldlYkdyYXBo
aWNzQ29udGV4dDNESW5Qcm9jZXNzQ29tbWFuZEJ1ZmZlckltcGwxMEluaXRpYWxpemVFTjZXZWJL
aXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRVBTM18KKyAgIGZ1bjpfWk4xNHdl
YmtpdF9zdXBwb3J0MjNDcmVhdGVHcmFwaGljc0NvbnRleHQzREVSS042V2ViS2l0MjBXZWJHcmFw
aGljc0NvbnRleHQzRDEwQXR0cmlidXRlc0VQTlMwXzdXZWJWaWV3RQorICAgZnVuOl9aTjExV2Vi
Vmlld0hvc3QxOWNyZWF0ZU91dHB1dFN1cmZhY2VFdgorICAgZnVuOl9aTjZXZWJLaXQxMVdlYlZp
ZXdJbXBsMTljcmVhdGVPdXRwdXRTdXJmYWNlRXYKKyAgIGZ1bjpfWk42V2ViS2l0MjBXZWJMYXll
clRyZWVWaWV3SW1wbDE5Y3JlYXRlT3V0cHV0U3VyZmFjZUV2Cit9CisKK3sKKyAgIGJ1Z18xNTU1
MzAKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBmdW46X1pONzdH
ZW9sb2NhdGlvbkluZm9CYXJRdWV1ZUNvbnRyb2xsZXJUZXN0c19PbmVPYnNlcnZhdGlvblBlcklu
Zm9CYXJDYW5jZWxsZWRfVGVzdDhUZXN0Qm9keUV2Cit9Cit7CisgICBidWdfMTU2NzA1CisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4zM0dlb2xvY2F0aW9uSW5mb0Jh
clF1ZXVlQ29udHJvbGxlcjIxQ3JlYXRlSW5mb0JhckRlbGVnYXRlRVAxNEluZm9CYXJTZXJ2aWNl
UFNfaWlpUks0R1VSTFJLU3MKKyAgIGZ1bjpfWk4zM0dlb2xvY2F0aW9uSW5mb0JhclF1ZXVlQ29u
dHJvbGxlcjE3U2hvd1F1ZXVlZEluZm9CYXJFaWlQMTRJbmZvQmFyU2VydmljZQorfQoreworICAg
YnVnXzE1NjgyOQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON2Nv
bnRlbnQyM0F1ZGlvSW5wdXREZXZpY2VNYW5hZ2VyMjNFbnVtZXJhdGVPbkRldmljZVRocmVhZCoK
K30KKworeworICAgYnVnXzE2MDg3NworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisg
ICAuLi4KKyAgIGZ1bjpfWk43Y29udGVudCpEdW1teUxpc3RlblNvY2tldEMxRXYKKyAgIGZ1bjpf
Wk5LN2NvbnRlbnQqRHVtbXlMaXN0ZW5Tb2NrZXRGYWN0b3J5MTVDcmVhdGVBbmRMaXN0ZW5FUE4z
bmV0MThTdHJlYW1MaXN0ZW5Tb2NrZXQ4RGVsZWdhdGVFCisgICAuLi4KKyAgIGZ1bjpfWk4zbmV0
MTBIdHRwU2VydmVyQzFFUktOU18yNVN0cmVhbUxpc3RlblNvY2tldEZhY3RvcnlFUE5TMF84RGVs
ZWdhdGVFCisgICBmdW46X1pON2NvbnRlbnQyM0RldlRvb2xzSHR0cEhhbmRsZXJJbXBsNEluaXRF
dgorfQorCit7CisgICBidWdfMTYyODI4CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9j
CisgICBmdW46X1oxNXNrX21hbGxvY19mbGFnc21qCisgICBmdW46X1oxNXNrX21hbGxvY190aHJv
d20KKyAgIGZ1bjpfWk42U2tNYXNrMTBBbGxvY0ltYWdlRW0KKyAgIGZ1bjpfWkwxN2RyYXdSZWN0
c0ludG9NYXNrUEs2U2tSZWN0aVA2U2tNYXNrCisgICBmdW46X1pOMjBTa0JsdXJNYXNrRmlsdGVy
SW1wbDE3ZmlsdGVyUmVjdHNUb05pbmVFUEs2U2tSZWN0aVJLOFNrTWF0cml4Uks3U2tJUmVjdFBO
MTJTa01hc2tGaWx0ZXI5TmluZVBhdGNoRQorICAgZnVuOl9aTjEyU2tNYXNrRmlsdGVyMTBmaWx0
ZXJQYXRoRVJLNlNrUGF0aFJLOFNrTWF0cml4UksxMlNrUmFzdGVyQ2xpcFA5U2tCb3VuZGVyUDlT
a0JsaXR0ZXJON1NrUGFpbnQ1U3R5bGVFCisgICBmdW46X1pOSzZTa0RyYXc4ZHJhd1BhdGhFUks2
U2tQYXRoUks3U2tQYWludFBLOFNrTWF0cml4YgorfQoreworICAgIyBzdG9yYWdlL2luZGV4ZWRk
Yi9iYXNpY3Mtd29ya2Vycy5odG1sCisgICAjIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tdHdpY2Ut
d29ya2Vycy5odG1sCisgICBidWdfMTYyODI5X2sKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpf
Wm53KgorICAgZnVuOl9aTjZXZWJLaXQqV2ViSURCRmFjdG9yeSpjcmVhdGUqCisgICBmdW46X1pO
MTdUZXN0V2ViSURCRmFjdG9yeSpHZXRGYWN0b3J5KgorICAgZnVuOl9aTjE3VGVzdFdlYklEQkZh
Y3Rvcnkqb3BlbioKKyAgIC4uLgorICAgZnVuOl9aTjZXZWJLaXQqSURCRmFjdG9yeUJhY2tlbmRQ
cm94eSpvcGVuKgorICAgZnVuOl9aTjdXZWJDb3JlKklEQkZhY3Rvcnkqb3BlbkludGVybmFsKgor
ICAgZnVuOl9aTjdXZWJDb3JlKklEQkZhY3Rvcnkqb3BlbioKK30KK3sKKyAgICMgaHR0cC90ZXN0
cy9zZWN1cml0eS9jcm9zcy1vcmlnaW4td29ya2VyLWluZGV4ZWRkYi5odG1sCisgICAjIHN0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLXdvcmtlcnMuaHRtbAorICAgIyBzdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1iYXNpY3Mtd29ya2Vycy5odG1sCisgICBidWdfMTYyODI5X2wKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjZXZWJLaXQqV2ViSURCRmFjdG9y
eSpjcmVhdGUqCisgICBmdW46X1pOMTdUZXN0V2ViSURCRmFjdG9yeSpHZXRGYWN0b3J5KgorICAg
ZnVuOl9aTjE3VGVzdFdlYklEQkZhY3RvcnkqZGVsZXRlRGF0YWJhc2UqCisgICAuLi4KKyAgIGZ1
bjpfWk42V2ViS2l0KklEQkZhY3RvcnlCYWNrZW5kUHJveHkqZGVsZXRlRGF0YWJhc2UqCisgICBm
dW46X1pON1dlYkNvcmUqSURCRmFjdG9yeSpkZWxldGVEYXRhYmFzZSoKK30KK3sKKyAgICMgc3Rv
cmFnZS9pbmRleGVkZGIvZmFjdG9yeS1iYXNpY3Mtd29ya2Vycy5odG1sCisgICBidWdfMTYyODI5
X20KKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjZXZWJLaXQqV2Vi
SURCRmFjdG9yeSpjcmVhdGUqCisgICBmdW46X1pOMTdUZXN0V2ViSURCRmFjdG9yeSpHZXRGYWN0
b3J5KgorICAgZnVuOl9aTjE3VGVzdFdlYklEQkZhY3RvcnkqZ2V0RGF0YWJhc2VOYW1lcyoKKyAg
IGZ1bjpfWk42V2ViS2l0KklEQkZhY3RvcnlCYWNrZW5kUHJveHkqCisgICBmdW46X1pON1dlYkNv
cmUqSURCRmFjdG9yeSpnZXREYXRhYmFzZU5hbWVzKgorfQoreworICAgIyBzdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItYWR2YW5jZS13b3JrZXJzLmh0bWwKKyAgICMgc3RvcmFnZS9pbmRleGVkZGIv
aW5kZXgtYmFzaWNzLXdvcmtlcnMuaHRtbAorICAgIyBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1iYXNpY3Mtd29ya2Vycy5odG1sCisgICAjIHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmct
YWN0aXZpdHktd29ya2Vycy5odG1sCisgICAjIChTdGFjayBoYXMgYWRkTWV0aG9kIC8gcHV0TWV0
aG9kIGRlcGVuZGluZyBvbiB0ZXN0KQorICAgYnVnXzE2MjgyOV9uCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZSpTY3JpcHRTdGF0ZSpmb3JDb250ZXh0
KgorICAgZnVuOl9aTjdXZWJDb3JlKlNjcmlwdFN0YXRlKmN1cnJlbnQqCisgICBmdW46X1pON1dl
YkNvcmUqSURCT2JqZWN0U3RvcmVWOEludGVybmFsKk1ldGhvZCoKKyAgIGZ1bjpfWk43V2ViQ29y
ZSpJREJPYmplY3RTdG9yZVY4SW50ZXJuYWwqTWV0aG9kKgorICAgLi4uCisgICBmdW46X1pON1dl
YkNvcmUqVjhXb3JrZXJDb250ZXh0KgorfQoreworICAgIyBzdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1iYXNpY3Mtd29ya2Vycy5odG1sCisgICBidWdfMTYyODI5X28KKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdXZWJDb3JlKnY4U3RyaW5nVG9XZWJDb3Jl
U3RyaW5nKgorICAgZnVuOl9aTjdXZWJDb3JlKlY4U3RyaW5nUmVzb3VyY2UqCisgICBmdW46X1pO
N1dlYkNvcmUqVjhTdHJpbmdSZXNvdXJjZSoKKyAgIGZ1bjpfWk43V2ViQ29yZSpJREJSZXF1ZXN0
VjhJbnRlcm5hbCphZGRFdmVudExpc3RlbmVyTWV0aG9kKgorICAgLi4uCisgICBmdW46X1pON1dl
YkNvcmUqVjhXb3JrZXJDb250ZXh0KgorfQorCit7CisgICBidWdfMTYzOTIyCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnMxNlNldHRpbmdzRnJv
bnRlbmRDMUVSSzEzc2NvcGVkX3JlZnB0cklOU18yMlNldHRpbmdzU3RvcmFnZUZhY3RvcnlFRVA3
UHJvZmlsZQorICAgZnVuOl9aTjEwZXh0ZW5zaW9uczE2U2V0dGluZ3NGcm9udGVuZDZDcmVhdGVF
UDdQcm9maWxlCisgICBmdW46X1pOMTZFeHRlbnNpb25TZXJ2aWNlQzFFKgorICAgZnVuOl9aTjEw
ZXh0ZW5zaW9uczE5RXh0ZW5zaW9uU3lzdGVtSW1wbDZTaGFyZWQ0SW5pdEViCisgICBmdW46X1pO
MTBleHRlbnNpb25zMTlFeHRlbnNpb25TeXN0ZW1JbXBsMjFJbml0Rm9yUmVndWxhclByb2ZpbGVF
YgorICAgZnVuOl9aTjE0UHJvZmlsZU1hbmFnZXIyMkRvRmluYWxJbml0Rm9yU2VydmljZXNFUDdQ
cm9maWxlYgorICAgZnVuOl9aTjE0UHJvZmlsZU1hbmFnZXIxMURvRmluYWxJbml0RVA3UHJvZmls
ZWIKKyAgIGZ1bjpfWk4xNFByb2ZpbGVNYW5hZ2VyMTBBZGRQcm9maWxlRVA3UHJvZmlsZQorICAg
ZnVuOl9aTjE0UHJvZmlsZU1hbmFnZXIxMEdldFByb2ZpbGVFKgorfQoreworICAgYnVnXzE2Mzky
NAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMjhKU09OQXN5bmNo
cm9ub3VzVW5wYWNrZXJJbXBsMjJTdGFydFByb2Nlc3NPbklPVGhyZWFkRU43Y29udGVudDEzQnJv
d3NlclRocmVhZDJJREVSS1NzCit9Cit7CisgICBidWdfMTY0MTc5CisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46X1pudyoKKyAgIC4uLgorICAgZnVuOl9aTjNuZXQxMFVSTEZldGNoZXI2Q3JlYXRl
RVJLNEdVUkxOUzBfMTFSZXF1ZXN0VHlwZUVQTlNfMThVUkxGZXRjaGVyRGVsZWdhdGVFCisgICBm
dW46X1pOMThXZWJSZXNvdXJjZVNlcnZpY2UxMFN0YXJ0RmV0Y2hFdgorfQorCit7CisgICBidWdf
MTY2NDcwCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTRC
aW5kSU1OMTFkb21fc3RvcmFnZTE3RG9tU3RvcmFnZUNvbnRleHRFRnZSSzRHVVJMRTEzc2NvcGVk
X3JlZnB0cklTMl9FUzNfRUVOU184Q2FsbGJhY2tJTlNfOGludGVybmFsOUJpbmRTdGF0ZUlOU0Jf
MTNGdW5jdG9yVHJhaXRzSVRfRTEyUnVubmFibGVUeXBlRU5TRl83UnVuVHlwZUVGdk5TQl8xOUNh
bGxiYWNrUGFyYW1UcmFpdHNJVDBfRTExU3RvcmFnZVR5cGVFTlNJX0lUMV9FMTFTdG9yYWdlVHlw
ZUVFRTE0VW5ib3VuZFJ1blR5cGVFRUVTRV9SS1NKX1JLU01fCisgICBmdW46X1pON2NvbnRlbnQy
MURPTVN0b3JhZ2VDb250ZXh0SW1wbDE4RGVsZXRlTG9jYWxTdG9yYWdlRVJLNEdVUkwKKyAgIGZ1
bjpfWk43Y29udGVudDIwU3RvcmFnZVBhcnRpdGlvbkltcGwyM0FzeW5jQ2xlYXJEYXRhRm9yT3Jp
Z2luRWpSSzRHVVJMUE4zbmV0MjNVUkxSZXF1ZXN0Q29udGV4dEdldHRlckUKKyAgIGZ1bjpfWk4x
MGV4dGVuc2lvbnMxMURhdGFEZWxldGVyMTNTdGFydERlbGV0aW5nRVA3UHJvZmlsZVJLU3NSSzRH
VVJMCisgICBmdW46X1pOMTZFeHRlbnNpb25TZXJ2aWNlMThVbmluc3RhbGxFeHRlbnNpb25FU3Ni
UFNiSXRONGJhc2UyMHN0cmluZzE2X2NoYXJfdHJhaXRzRVNhSXRFRQorfQoreworICAgYnVnXzE2
NjQ3MGIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2dudV9j
eHgxM25ld19hbGxvY2F0b3IqRmlsZVBhdGgqYWxsb2NhdGUqCisgICBmdW46X1pOU3QxMl9WZWN0
b3JfYmFzZSpGaWxlUGF0aCpfTV9hbGxvY2F0ZSoKKyAgIGZ1bjpfWk5TdDZ2ZWN0b3IqRmlsZVBh
dGgqX01faW5zZXJ0X2F1eCoKKyAgIGZ1bjpfWk5TdDZ2ZWN0b3IqRmlsZVBhdGgqcHVzaF9iYWNr
KgorICAgZnVuOl9aTjlmaWxlX3V0aWwxNUNyZWF0ZURpcmVjdG9yeUUqCisgICBmdW46X1pOMTFk
b21fc3RvcmFnZTE3RG9tU3RvcmFnZUNvbnRleHQxOUdldFN0b3JhZ2VOYW1lc3BhY2VFbAorICAg
ZnVuOl9aTjExZG9tX3N0b3JhZ2UxN0RvbVN0b3JhZ2VDb250ZXh0MThEZWxldGVMb2NhbFN0b3Jh
Z2VFUks0R1VSTAorfQoreworICAgYnVnXzE2NjQ3MGMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjpfWm53KgorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UxOURvbVN0b3JhZ2VOYW1lc3BhY2UyNERl
bGV0ZUxvY2FsU3RvcmFnZU9yaWdpbkVSSzRHVVJMCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE3
RG9tU3RvcmFnZUNvbnRleHQxOERlbGV0ZUxvY2FsU3RvcmFnZUVSSzRHVVJMCit9Cit7CisgICBi
dWdfMTY2NDcwZAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pON2ZpbGVhcGky
NkdldE9yaWdpbklkZW50aWZpZXJGcm9tVVJMRVJLNEdVUkwKKyAgIGZ1bjpfWk4xMWRvbV9zdG9y
YWdlMTREb21TdG9yYWdlQXJlYTI2RGF0YWJhc2VGaWxlTmFtZUZyb21PcmlnaW5FUks0R1VSTAor
ICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UxNERvbVN0b3JhZ2VBcmVhQzFFKgorICAgZnVuOl9aTjEx
ZG9tX3N0b3JhZ2UxOURvbVN0b3JhZ2VOYW1lc3BhY2UyNERlbGV0ZUxvY2FsU3RvcmFnZU9yaWdp
bkVSSzRHVVJMCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE3RG9tU3RvcmFnZUNvbnRleHQxOERl
bGV0ZUxvY2FsU3RvcmFnZUVSSzRHVVJMCit9Cit7CisgICBidWdfMTY2NzA5CisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTRCaW5kSU1OU18xMl9HTE9CQUxf
X05fMTIxUG9zdFRhc2tBbmRSZXBseVJlbGF5RUZ2dkVOU184aW50ZXJuYWwxN1VucmV0YWluZWRX
cmFwcGVyKgorICAgZnVuOl9aTjRiYXNlOGludGVybmFsMjBQb3N0VGFza0FuZFJlcGx5SW1wbDE2
UG9zdFRhc2tBbmRSZXBseUVSS04xNXRyYWNrZWRfb2JqZWN0czhMb2NhdGlvbioKKyAgIC4uLgor
ICAgZnVuOl9aTjE2RXh0ZW5zaW9uU2VydmljZTEyQWRkRXh0ZW5zaW9uRVBLTjEwZXh0ZW5zaW9u
czlFeHRlbnNpb25FCisgICBmdW46X1pONTJCYWNrZ3JvdW5kQXBwbGljYXRpb25MaXN0TW9kZWxU
ZXN0X0V4cGxpY2l0VGVzdF9UZXN0OFRlc3RCb2R5RXYKK30KK3sKKyAgIGJ1Z18xNjY3MDliCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTEyX0dMT0JBTF9f
Tl8xMTJDcmVhdGVUaHJlYWRFbWJQTlNfMTRQbGF0Zm9ybVRocmVhZDhEZWxlZ2F0ZUVQbU5TXzE0
VGhyZWFkUHJpb3JpdHlFCisgICBmdW46X1pONGJhc2UxNFBsYXRmb3JtVGhyZWFkNkNyZWF0ZUVt
UE5TMF84RGVsZWdhdGVFUG0KKyAgIGZ1bjpfWk40YmFzZTEyU2ltcGxlVGhyZWFkNVN0YXJ0RXYK
KyAgIGZ1bjpfWk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9vbDZXb3JrZXJDMUVSSzEzc2NvcGVk
X3JlZnB0cklTMF9FaVJLU3MKKyAgIGZ1bjpfWk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9vbDVJ
bm5lcjMwRmluaXNoU3RhcnRpbmdBZGRpdGlvbmFsVGhyZWFkRWkKKyAgIGZ1bjpfWk40YmFzZTE5
U2VxdWVuY2VkV29ya2VyUG9vbDVJbm5lcjEwVGhyZWFkTG9vcEVQTlMwXzZXb3JrZXJFCisgICBm
dW46X1pONGJhc2UxOVNlcXVlbmNlZFdvcmtlclBvb2w2V29ya2VyM1J1bkV2CisgICBmdW46X1pO
NGJhc2UxMlNpbXBsZVRocmVhZDEwVGhyZWFkTWFpbkV2CisgICBmdW46X1pONGJhc2UxMl9HTE9C
QUxfX05fMTEwVGhyZWFkRnVuY0VQdgorfQoreworICAgYnVnXzE2NjcwOWMKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjRiYXNlOGludGVybmFsMjBQb3N0VGFza0Fu
ZFJlcGx5SW1wbDE2UG9zdFRhc2tBbmRSZXBseUVSS04xNXRyYWNrZWRfb2JqZWN0czhMb2NhdGlv
bkVSS05TXzhDYWxsYmFja0lGdnZFRUVTQV8KKyAgIGZ1bjpfWk40YmFzZTEwVGFza1J1bm5lcjE2
UG9zdFRhc2tBbmRSZXBseUVSS04xNXRyYWNrZWRfb2JqZWN0czhMb2NhdGlvbkVSS05TXzhDYWxs
YmFja0lGdnZFRUVTOV8KKyAgIGZ1bjpfWk43Y29udGVudDEzQnJvd3NlclRocmVhZDI4UG9zdEJs
b2NraW5nUG9vbFRhc2tBbmRSZXBseUVSS04xNXRyYWNrZWRfb2JqZWN0czhMb2NhdGlvbkVSS040
YmFzZThDYWxsYmFja0lGdnZFRUVTQV8KKyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnMxMUltYWdlTG9h
ZGVyMTVMb2FkSW1hZ2VzQXN5bmNFUEtOU185RXh0ZW5zaW9uRVJLU3Q2dmVjdG9ySU5TMF8xOUlt
YWdlUmVwcmVzZW50YXRpb25FU2FJUzVfRUVSS040YmFzZThDYWxsYmFja0lGdlJLTjNnZng1SW1h
Z2VFRUVFCisgICBmdW46X1pOMTBleHRlbnNpb25zMTFJbWFnZUxvYWRlcjE0TG9hZEltYWdlQXN5
bmNFUEtOU185RXh0ZW5zaW9uRVJLMTdFeHRlbnNpb25SZXNvdXJjZVJLTjNnZng0U2l6ZUVSS040
YmFzZThDYWxsYmFja0lGdlJLTlM3XzVJbWFnZUVFRUUKK30KK3sKKyAgIGJ1Z18xNjY4MTgKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgLi4uCisg
ICBmdW46Z2RrX3BpeGJ1Zl9sb2FkZXJfbG9hZF9tb2R1bGUKKyAgIGZ1bjpnZGtfcGl4YnVmX2xv
YWRlcl9jbG9zZQorICAgZnVuOl9aTjJ1aTEyX0dMT0JBTF9fTl8xMTBMb2FkUGl4YnVmRVBONGJh
c2UyMlJlZkNvdW50ZWRTdGF0aWNNZW1vcnlFYgorICAgZnVuOl9aTjJ1aTE0UmVzb3VyY2VCdW5k
bGUxOUdldE5hdGl2ZUltYWdlTmFtZWRFaU5TMF84SW1hZ2VSVExFCisgICBmdW46X1pOMnVpMTRS
ZXNvdXJjZUJ1bmRsZTE5R2V0TmF0aXZlSW1hZ2VOYW1lZEVpCit9Cit7CisgICBidWdfMTY2ODE5
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk5LM3NxbDEwQ29ubmVj
dGlvbjIxR2V0VW50cmFja2VkU3RhdGVtZW50RVBLYworICAgZnVuOl9aTkszc3FsMTBDb25uZWN0
aW9uMjFEb2VzVGFibGVPckluZGV4RXhpc3RFUEtjUzJfCisgICBmdW46X1pOSzNzcWwxMENvbm5l
Y3Rpb24xNERvZXNUYWJsZUV4aXN0RVBLYworICAgZnVuOl9aTjNzcWw5TWV0YVRhYmxlMTREb2Vz
VGFibGVFeGlzdEVQTlNfMTBDb25uZWN0aW9uRQorICAgLi4uCisgICBmdW46X1pON2hpc3Rvcnkx
NlRvcFNpdGVzRGF0YWJhc2U0SW5pdEUqCisgICBmdW46X1pON2hpc3RvcnkxNVRvcFNpdGVzQmFj
a2VuZDE2SW5pdERCT25EQlRocmVhZEUqCit9Cit7CisgICBidWdfMTY2ODE5YgorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOSzNzcWwxMENvbm5lY3Rpb24yMUdldFVu
dHJhY2tlZFN0YXRlbWVudEVQS2MKKyAgIGZ1bjpfWk5LM3NxbDEwQ29ubmVjdGlvbjIxRG9lc1Rh
YmxlT3JJbmRleEV4aXN0RVBLY1MyXworICAgZnVuOl9aTkszc3FsMTBDb25uZWN0aW9uMTREb2Vz
VGFibGVFeGlzdEVQS2MKKyAgIGZ1bjpfWk43aGlzdG9yeTE3U2hvcnRjdXRzRGF0YWJhc2UxMUVu
c3VyZVRhYmxlRXYKKyAgIGZ1bjpfWk43aGlzdG9yeTE3U2hvcnRjdXRzRGF0YWJhc2U0SW5pdEV2
CisgICBmdW46X1pON2hpc3RvcnkxNlNob3J0Y3V0c0JhY2tlbmQxMkluaXRJbnRlcm5hbEV2Cit9
Cit7CisgICBidWdfMTY2OTc2YQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pONGJhc2UxOVNlcXVlbmNlZFdvcmtlclBvb2w1SW5uZXIzMEZpbmlzaFN0YXJ0aW5nQWRk
aXRpb25hbFRocmVhZEVpCisgICBmdW46X1pONGJhc2UxOVNlcXVlbmNlZFdvcmtlclBvb2w1SW5u
ZXIxMFRocmVhZExvb3BFUE5TMF82V29ya2VyRQorICAgZnVuOl9aTjRiYXNlMTlTZXF1ZW5jZWRX
b3JrZXJQb29sNldvcmtlcjNSdW5FdgorICAgZnVuOl9aTjRiYXNlMTJTaW1wbGVUaHJlYWQxMFRo
cmVhZE1haW5FdgorICAgZnVuOl9aTjRiYXNlMTJfR0xPQkFMX19OXzExMFRocmVhZEZ1bmNFUHYK
K30KK3sKKyAgIGJ1Z18xNjY5NzZiCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IGZ1bjpfWk45X19nbnVfY3h4MTNuZXdfYWxsb2NhdG9ySVN0MTBfTGlzdF9ub2RlSVBONGJhc2Ux
M1dhaXRhYmxlRXZlbnQ2V2FpdGVyRUVFOGFsbG9jYXRlRW1QS3YKKyAgIGZ1bjpfWk5TdDEwX0xp
c3RfYmFzZUlQTjRiYXNlMTNXYWl0YWJsZUV2ZW50NldhaXRlckVTYUlTM19FRTExX01fZ2V0X25v
ZGVFdgorICAgZnVuOl9aTlN0NGxpc3RJUE40YmFzZTEzV2FpdGFibGVFdmVudDZXYWl0ZXJFU2FJ
UzNfRUUxNF9NX2NyZWF0ZV9ub2RlRVJLUzNfCisgICBmdW46X1pOU3Q0bGlzdElQTjRiYXNlMTNX
YWl0YWJsZUV2ZW50NldhaXRlckVTYUlTM19FRTlfTV9pbnNlcnRFU3QxNF9MaXN0X2l0ZXJhdG9y
SVMzX0VSS1MzXworICAgZnVuOl9aTlN0NGxpc3RJUE40YmFzZTEzV2FpdGFibGVFdmVudDZXYWl0
ZXJFU2FJUzNfRUU5cHVzaF9iYWNrRVJLUzNfCisgICBmdW46X1pONGJhc2UxM1dhaXRhYmxlRXZl
bnQ3RW5xdWV1ZUVQTlMwXzZXYWl0ZXJFCisgICBmdW46X1pONGJhc2UxM1dhaXRhYmxlRXZlbnQ5
VGltZWRXYWl0RVJLTlNfOVRpbWVEZWx0YUUKKyAgIGZ1bjpfWk40YmFzZTEzV2FpdGFibGVFdmVu
dDRXYWl0RXYKKyAgIGZ1bjpfWk40YmFzZTEyU2ltcGxlVGhyZWFkNVN0YXJ0RXYKKyAgIGZ1bjpf
Wk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9vbDZXb3JrZXJDMUVSSzEzc2NvcGVkX3JlZnB0cklT
MF9FaVJLU3MKKyAgIGZ1bjpfWk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9vbDVJbm5lcjMwRmlu
aXNoU3RhcnRpbmdBZGRpdGlvbmFsVGhyZWFkRWkKKyAgIGZ1bjpfWk40YmFzZTE5U2VxdWVuY2Vk
V29ya2VyUG9vbDVJbm5lcjEwVGhyZWFkTG9vcEVQTlMwXzZXb3JrZXJFCisgICBmdW46X1pONGJh
c2UxOVNlcXVlbmNlZFdvcmtlclBvb2w2V29ya2VyM1J1bkV2CisgICBmdW46X1pONGJhc2UxMlNp
bXBsZVRocmVhZDEwVGhyZWFkTWFpbkV2CisgICBmdW46X1pONGJhc2UxMl9HTE9CQUxfX05fMTEw
VGhyZWFkRnVuY0VQdgorfQoreworICAgYnVnXzE2NzE3NWEKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IC4uLgorICAgZnVuOmdfKgorICAgLi4uCisgICBmdW46X1pOMTZCcm93c2VyV2luZG93R3RrMTFJ
bml0V2lkZ2V0c0V2CisgICBmdW46X1pOMTZCcm93c2VyV2luZG93R3RrNEluaXRFdgorICAgZnVu
Ol9aTjEzQnJvd3NlcldpbmRvdzE5Q3JlYXRlQnJvd3NlcldpbmRvd0VQN0Jyb3dzZXIKK30KK3sK
KyAgIGJ1Z18xNjcxNzViCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBvYmo6
L2xpYi9saWJwbmcxMi5zby4wLjQyLjAKKyAgIGZ1bjpwbmdfY3JlYXRlX3JlYWRfc3RydWN0XzIK
KyAgIC4uLgorICAgZnVuOl9aTjE1UmVsb2FkQnV0dG9uR3RrQzFFUDE4TG9jYXRpb25CYXJWaWV3
R3RrUDdCcm93c2VyCisgICBmdW46X1pOMTdCcm93c2VyVG9vbGJhckd0azRJbml0RVAxMF9HdGtX
aW5kb3cKKyAgIGZ1bjpfWk4xNkJyb3dzZXJXaW5kb3dHdGsxMUluaXRXaWRnZXRzRXYKKyAgIGZ1
bjpfWk4xNkJyb3dzZXJXaW5kb3dHdGs0SW5pdEV2CisgICBmdW46X1pOMTNCcm93c2VyV2luZG93
MTlDcmVhdGVCcm93c2VyV2luZG93RVA3QnJvd3NlcgorfQoreworICAgYnVnXzE2NzE3NWQKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2dudV9jeHgxM25ld19h
bGxvY2F0b3JJU2JJdE40YmFzZTIwc3RyaW5nMTZfY2hhcl90cmFpdHNFU2FJdEVFRThhbGxvY2F0
ZUVtUEt2CisgICBmdW46X1pOU3QxMl9WZWN0b3JfYmFzZUlTYkl0TjRiYXNlMjBzdHJpbmcxNl9j
aGFyX3RyYWl0c0VTYUl0RUVTYUlTM19FRTExX01fYWxsb2NhdGVFbQorICAgLi4uCisgICBmdW46
X1pOMTVXcmVuY2hNZW51TW9kZWw1QnVpbGRFYmIKKyAgIGZ1bjpfWk4xNVdyZW5jaE1lbnVNb2Rl
bEMxRVBOMnVpMTlBY2NlbGVyYXRvclByb3ZpZGVyRVA3QnJvd3NlcmJiCisgICBmdW46X1pOMTdC
cm93c2VyVG9vbGJhckd0a0MxRVA3QnJvd3NlclAxNkJyb3dzZXJXaW5kb3dHdGsKKyAgIGZ1bjpf
Wk4xNkJyb3dzZXJXaW5kb3dHdGsxMUluaXRXaWRnZXRzRXYKKyAgIGZ1bjpfWk4xNkJyb3dzZXJX
aW5kb3dHdGs0SW5pdEV2CisgICBmdW46X1pOMTNCcm93c2VyV2luZG93MTlDcmVhdGVCcm93c2Vy
V2luZG93RVA3QnJvd3NlcgorfQorCit7CisgICBidWdfMTY5MzExCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICBmdW46X1pO
M1dURjEwUmVmQ291bnRlZElON1dlYkNvcmUxOFN0eWxlU2hlZXRDb250ZW50c0VFbndFbQorICAg
ZnVuOl9aTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVudHM2Y3JlYXRlRVJLTlNfMTZDU1NQYXJz
ZXJDb250ZXh0RQorICAgZnVuOl9aTjdXZWJDb3JlTDEycGFyc2VVQVNoZWV0RVJLTjNXVEY2U3Ry
aW5nRQorICAgZnVuOl9aTjdXZWJDb3JlTDEycGFyc2VVQVNoZWV0RVBLY2oKKyAgIC4uLgorICAg
ZnVuOl9aTjdXZWJDb3JlMTNTdHlsZVJlc29sdmVyMTJtYXRjaFVBUnVsZXNFUk5TMF8xMU1hdGNo
UmVzdWx0RQorICAgZnVuOl9aTjdXZWJDb3JlMTNTdHlsZVJlc29sdmVyMTVzdHlsZUZvckVsZW1l
bnRFUE5TXzdFbGVtZW50RVBOU18xMVJlbmRlclN0eWxlRU5TXzIwU3R5bGVTaGFyaW5nQmVoYXZp
b3JFTlNfMjBSdWxlTWF0Y2hpbmdCZWhhdmlvckVQTlNfMTJSZW5kZXJSZWdpb25FCisgICBmdW46
X1pON1dlYkNvcmUxM1N0eWxlUmVzb2x2ZXJDMUVQTlNfOERvY3VtZW50RWIKKyAgIGZ1bjpfWk43
V2ViQ29yZThEb2N1bWVudDE5Y3JlYXRlU3R5bGVSZXNvbHZlckV2CisgICBmdW46X1pON1dlYkNv
cmU4RG9jdW1lbnQxM3N0eWxlUmVzb2x2ZXJFdgorICAgZnVuOl9aTjdXZWJDb3JlN0VsZW1lbnQx
NnN0eWxlRm9yUmVuZGVyZXJFdgorfQorCit7CisgICBidWdfMTcxNzIyCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4zbmV0MTJfR0xPQkFMX19OXzEyMFVSTFJlcXVl
c3RGdHBKb2JUZXN0OUFkZFNvY2tldEVQTlNfMTNNb2NrUmVhZFdyaXRlSUxOU18xN01vY2tSZWFk
V3JpdGVUeXBlRTBFRUVtUE5TMl9JTFMzXzFFRUVtCit9Cit7CisgICBidWdfMTcxOTgzCisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk44Y2hyb21lb3M1MU1hZ25pZmlj
YXRpb25NYW5hZ2VyVGVzdF9NYWduaWZpY2F0aW9uT2JzZXJ2ZXJfVGVzdDhUZXN0Qm9keUV2Cit9
Cit7CisgICBidWdfMTcyMDA1CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1
bjpfWk43bGV2ZWxkYjEwVmVyc2lvblNldDExTG9nQW5kQXBwbHlFUE5TXzExVmVyc2lvbkVkaXRF
UE5TXzRwb3J0NU11dGV4RQorICAgZnVuOl9aTjdsZXZlbGRiMkRCNE9wZW5FUktOU183T3B0aW9u
c0VSS1NzUFBTMF8KKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdlMjJTZXNzaW9uU3RvcmFnZURhdGFi
YXNlOVRyeVRvT3BlbkVQUE43bGV2ZWxkYjJEQkUKKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdlMjJT
ZXNzaW9uU3RvcmFnZURhdGFiYXNlOExhenlPcGVuRWIKKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdl
MjJTZXNzaW9uU3RvcmFnZURhdGFiYXNlMjRSZWFkTmFtZXNwYWNlc0FuZE9yaWdpbnNFUFN0M21h
cElTc1N0NnZlY3Rvckk0R1VSTFNhSVMzX0VFU3Q0bGVzc0lTc0VTYUlTdDRwYWlySUtTc1M1X0VF
RQorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UxN0RvbVN0b3JhZ2VDb250ZXh0MzZGaW5kVW51c2Vk
TmFtZXNwYWNlc0luQ29tbWl0U2VxdWVuY2VFUktTdDNzZXRJU3NTdDRsZXNzSVNzRVNhSVNzRUVT
N18KK30KK3sKKyAgIGJ1Z18xNzIwMDViCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk43bGV2ZWxkYjZEQkltcGxDMUVSS05TXzdPcHRpb25zRVJLU3MKKyAgIGZ1bjpf
Wk43bGV2ZWxkYjJEQjRPcGVuRVJLTlNfN09wdGlvbnNFUktTc1BQUzBfCisgICBmdW46X1pOMTFk
b21fc3RvcmFnZTIyU2Vzc2lvblN0b3JhZ2VEYXRhYmFzZTlUcnlUb09wZW5FUFBON2xldmVsZGIy
REJFCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTIyU2Vzc2lvblN0b3JhZ2VEYXRhYmFzZThMYXp5
T3BlbkViCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTIyU2Vzc2lvblN0b3JhZ2VEYXRhYmFzZTI0
UmVhZE5hbWVzcGFjZXNBbmRPcmlnaW5zRVBTdDNtYXBJU3NTdDZ2ZWN0b3JJNEdVUkxTYUlTM19F
RVN0NGxlc3NJU3NFU2FJU3Q0cGFpcklLU3NTNV9FRUUKKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdl
MTdEb21TdG9yYWdlQ29udGV4dDM2RmluZFVudXNlZE5hbWVzcGFjZXNJbkNvbW1pdFNlcXVlbmNl
RVJLU3Qzc2V0SVNzU3Q0bGVzc0lTc0VTYUlTc0VFUzdfCit9CisKK3sKKyAgIGJ1Z18xNzU4MTUK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjRiYXNlNVZhbHVlMThD
cmVhdGVJbnRlZ2VyVmFsdWVFaQorICAgZnVuOl9aTks0YmFzZTE2RnVuZGFtZW50YWxWYWx1ZThE
ZWVwQ29weUV2CisgICBmdW46X1pONGJhc2U4aW50ZXJuYWwxMl9HTE9CQUxfX05fMTI1RGljdGlv
bmFyeUhpZGRlblJvb3RWYWx1ZTI2UmVtb3ZlV2l0aG91dFBhdGhFeHBhbnNpb25FUktTc1BQTlNf
NVZhbHVlRQorICAgZnVuOl9aTjRiYXNlMTVEaWN0aW9uYXJ5VmFsdWU2UmVtb3ZlRVJLU3NQUE5T
XzVWYWx1ZUUKKyAgIGZ1bjpfWk4zMlBsdWdpbkZpbmRlclRlc3RfSnNvblN5bnRheF9UZXN0OFRl
c3RCb2R5RXYKK30KK3sKKyAgIGJ1Z18xNzU4MjMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOl9aTjE4VmFsdWVTdG9yZUZyb250ZW5kKgorfQorCit7CisgICBidWdfMTc2NjIxCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xM1dlYlRlc3RSdW5uZXIx
MFRlc3RQbHVnaW42Y3JlYXRlRVBONldlYktpdDhXZWJGcmFtZUVSS05TMV8xNVdlYlBsdWdpblBh
cmFtc0VQTlNfMTVXZWJUZXN0RGVsZWdhdGVFCisgICBmdW46X1pOMTNXZWJUZXN0UnVubmVyMTZX
ZWJUZXN0UHJveHlCYXNlMTJjcmVhdGVQbHVnaW5FUE42V2ViS2l0OFdlYkZyYW1lRVJLTlMxXzE1
V2ViUGx1Z2luUGFyYW1zRQorICAgZnVuOl9aTjEzV2ViVGVzdFJ1bm5lcjEyV2ViVGVzdFByb3h5
STExV2ViVmlld0hvc3RQOVRlc3RTaGVsbEUxMmNyZWF0ZVBsdWdpbkVQTjZXZWJLaXQ4V2ViRnJh
bWVFUktOUzVfMTVXZWJQbHVnaW5QYXJhbXNFCisgICBmdW46X1pONldlYktpdDIxRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsMTJjcmVhdGVQbHVnaW5FUktON1dlYkNvcmU3SW50U2l6ZUVQTlMxXzE3SFRN
TFBsdWdJbkVsZW1lbnRFUktOUzFfNEtVUkxFUktOM1dURjZWZWN0b3JJTlNBXzZTdHJpbmcqCisg
ICBmdW46X1pON1dlYkNvcmUxNFN1YmZyYW1lTG9hZGVyMTBsb2FkUGx1Z2luRVBOU18yMkhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnRFUktOU180S1VSTEVSS04zV1RGNlN0cmluZ0VSS05TNl82VmVjdG9y
SVM3KgorfQoreworICAgYnVnXzE3Njg4OAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxv
YworICAgZnVuOnN0cmR1cAorICAgZnVuOnAxMV9raXRfcmVnaXN0ZXJlZF9tb2R1bGVfdG9fbmFt
ZQorICAgZnVuOmdudXRsc19wa2NzMTFfaW5pdAorICAgZnVuOmdudXRsc19nbG9iYWxfaW5pdAor
ICAgZnVuOl9aTjEyX0dMT0JBTF9fTl8xMTdHY3J5cHRJbml0aWFsaXplcjRJbml0RXYKKyAgIGZ1
bjpfWk4xMl9HTE9CQUxfX05fMTE3R2NyeXB0SW5pdGlhbGl6ZXJDMUV2CisgICBmdW46X1pONGJh
c2UyNURlZmF1bHRMYXp5SW5zdGFuY2VUcmFpdHNJTjEyX0dMT0JBTF9fTl8xMTdHY3J5cHRJbml0
aWFsaXplckVFM05ld0VQdgorfQorCit7CisgICBidWdfMTc3MjEzCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnNMOVNlcmlhbGl6ZUVSS1N0NnZlY3RvcklO
U18xMFVzZXJTY3JpcHRFU2FJUzFfRUUKK30KKworeworICAgYnVnXzE3OTc1OF9hCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTU0V2Vha1B0clRlc3RfTm9u
T3duZXJUaHJlYWRDYW5Db3B5QW5kQXNzaWduV2Vha1B0cl9UZXN0OFRlc3RCb2R5RXYKK30KK3sK
KyAgIGJ1Z18xNzk3NThfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1pONGJhc2U1OFdlYWtQdHJUZXN0X05vbk93bmVyVGhyZWFkQ2FuQ29weUFuZEFzc2lnbldlYWtQ
dHJCYXNlX1Rlc3Q4VGVzdEJvZHlFdgorfQoreworICAgYnVnXzE4MDM4MQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk40YmFzZThGaWxlUGF0aDMxU3Ry
aXBUcmFpbGluZ1NlcGFyYXRvcnNJbnRlcm5hbEV2CisgICBmdW46X1pOSzRiYXNlOEZpbGVQYXRo
N0Rpck5hbWVFdgorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UxOERvbVN0b3JhZ2VEYXRhYmFzZTE4
R2V0Sm91cm5hbEZpbGVQYXRoRVJLTjRiYXNlOEZpbGVQYXRoRQorICAgZnVuOl9aTjExZG9tX3N0
b3JhZ2UyN0xvY2FsU3RvcmFnZURhdGFiYXNlQWRhcHRlcjExRGVsZXRlRmlsZXNFdgorICAgZnVu
Ol9aTjExZG9tX3N0b3JhZ2UxNERvbVN0b3JhZ2VBcmVhMTJEZWxldGVPcmlnaW5FdgorICAgZnVu
Ol9aTjExZG9tX3N0b3JhZ2UxOURvbVN0b3JhZ2VOYW1lc3BhY2UyNERlbGV0ZUxvY2FsU3RvcmFn
ZU9yaWdpbkVSSzRHVVJMCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE3RG9tU3RvcmFnZUNvbnRl
eHQxOERlbGV0ZUxvY2FsU3RvcmFnZUVSSzRHVVJMCit9Cit7CisgICBidWdfMTgxMDM4CisgICBN
ZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk4zZ2Z4OUdMQXBpQmFzZTE3Z2xDb21waWxl
U2hhZGVyRm5FagorICAgZnVuOl9aTjNncHU1Z2xlczIxNFByb2dyYW1NYW5hZ2VyMThGb3JjZUNv
bXBpbGVTaGFkZXJFUEtTc1BOUzBfNlNoYWRlckVQTlMwXzE2U2hhZGVyVHJhbnNsYXRvckVQTlMw
XzExRmVhdHVyZUluZm9FCisgICBmdW46X1pOM2dwdTVnbGVzMjE0UHJvZ3JhbU1hbmFnZXIxNURv
Q29tcGlsZVNoYWRlckVQTlMwXzZTaGFkZXJFUE5TMF8xNlNoYWRlclRyYW5zbGF0b3JFUE5TMF8x
MUZlYXR1cmVJbmZvRQorICAgZnVuOl9aTjNncHU1Z2xlczIxNkdMRVMyRGVjb2RlckltcGwxNURv
Q29tcGlsZVNoYWRlckVqCit9Cit7CisgICBidWdfMTgxMDM4X2xpbmsKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOl9aTjNnZng5R0xBcGlCYXNlMTVnbExp
bmtQcm9ncmFtRm5FagorICAgZnVuOl9aTjNncHU1Z2xlczI3UHJvZ3JhbTRMaW5rRVBOUzBfMTNT
aGFkZXJNYW5hZ2VyRVBOUzBfMTZTaGFkZXJUcmFuc2xhdG9yRVM1X1BOUzBfMTFGZWF0dXJlSW5m
b0UKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTZHTEVTMkRlY29kZXJJbXBsMTNEb0xpbmtQcm9ncmFt
RWoKKyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTZHTEVTMkRlY29kZXJJbXBsMTdIYW5kbGVMaW5rUHJv
Z3JhbUVqUktOUzBfNGNtZHMxMUxpbmtQcm9ncmFtRQorICAgZnVuOl9aTjNncHU1Z2xlczIxNkdM
RVMyRGVjb2RlckltcGw5RG9Db21tYW5kRWpqUEt2CisgICBmdW46X1pOM2dwdTEzQ29tbWFuZFBh
cnNlcjE0UHJvY2Vzc0NvbW1hbmRFdgorICAgZnVuOl9aTjNncHUxMkdwdVNjaGVkdWxlcjEwUHV0
Q2hhbmdlZEV2CisgICBmdW46X1pONndlYmtpdDNncHUxOEdMSW5Qcm9jZXNzQ29udGV4dDEyUHVt
cENvbW1hbmRzRXYKK30KKworeworICAgYnVnXzE4MTA4MgorICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOl9abncqCisgICBmdW46X1pOMTJfR0xPQkFMX19OXzEyNFJlc291cmNlTG9hZGVyQnJpZGdl
SW1wbDVTdGFydEVQTjExd2Via2l0X2dsdWUyMFJlc291cmNlTG9hZGVyQnJpZGdlNFBlZXJFCisg
ICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTE2V2ViVVJMTG9hZGVySW1wbDdDb250ZXh0NVN0YXJ0RVJL
TjZXZWJLaXQxM1dlYlVSTFJlcXVlc3RFUE5TXzIwUmVzb3VyY2VMb2FkZXJCcmlkZ2UxNlN5bmNM
b2FkUmVzcG9uc2VFUE5TXzI1V2ViS2l0UGxhdGZvcm1TdXBwb3J0SW1wbEUKKyAgIGZ1bjpfWk4x
MXdlYmtpdF9nbHVlMTZXZWJVUkxMb2FkZXJJbXBsMThsb2FkQXN5bmNocm9ub3VzbHlFUktONldl
YktpdDEzV2ViVVJMUmVxdWVzdEVQTlMxXzE4V2ViVVJMTG9hZGVyQ2xpZW50RQorICAgZnVuOl9a
TjdXZWJDb3JlMjJSZXNvdXJjZUhhbmRsZUludGVybmFsNXN0YXJ0RXYKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE0UmVzb3VyY2VIYW5kbGU1c3RhcnRFdgorICAgZnVuOl9aTjdXZWJDb3JlMTRSZXNvdXJj
ZUhhbmRsZTZjcmVhdGVFUE5TXzE3TmV0d29ya2luZ0NvbnRleHRFUktOU18xNVJlc291cmNlUmVx
dWVzdEVQTlNfMjBSZXNvdXJjZUhhbmRsZUNsaWVudEViYgorICAgZnVuOl9aTjdXZWJDb3JlMTRS
ZXNvdXJjZUxvYWRlcjVzdGFydEV2CisgICBmdW46X1pON1dlYkNvcmUyMVJlc291cmNlTG9hZFNj
aGVkdWxlcjIwc2VydmVQZW5kaW5nUmVxdWVzdHNFUE5TMF8xNUhvc3RJbmZvcm1hdGlvbkVOU18y
MFJlc291cmNlTG9hZFByaW9yaXR5RQorICAgZnVuOl9aTjdXZWJDb3JlMjFSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIxMnNjaGVkdWxlTG9hZEVQTlNfMTRSZXNvdXJjZUxvYWRlckVOU18yMFJlc291cmNl
TG9hZFByaW9yaXR5RQorICAgZnVuOl9aTjdXZWJDb3JlMjFSZXNvdXJjZUxvYWRTY2hlZHVsZXIy
M3NjaGVkdWxlU3VicmVzb3VyY2VMb2FkRVBOU181RnJhbWVFUE5TXzE0Q2FjaGVkUmVzb3VyY2VF
UktOU18xNVJlc291cmNlUmVxdWVzdEVOU18yMFJlc291cmNlTG9hZFByaW9yaXR5RVJLTlNfMjFS
ZXNvdXJjZUxvYWRlck9wdGlvbnNFCisgICBmdW46X1pON1dlYkNvcmUxNENhY2hlZFJlc291cmNl
NGxvYWRFUE5TXzIwQ2FjaGVkUmVzb3VyY2VMb2FkZXJFUktOU18yMVJlc291cmNlTG9hZGVyT3B0
aW9uc0UKKyAgIGZ1bjpfWk43V2ViQ29yZTIwQ2FjaGVkUmVzb3VyY2VMb2FkZXIxNXJlcXVlc3RS
ZXNvdXJjZUVOU18xNENhY2hlZFJlc291cmNlNFR5cGVFUk5TXzIxQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0RQorfQorCit7CisgICBidWdfMTgxNjkxCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
dyoKKyAgIC4uLgorICAgZnVuOl9aMTBJbml0VGhyZWFkdgorICAgZnVuOlNoQ29tcGlsZQorICAg
ZnVuOl9aTjNncHU1Z2xlczIxNlNoYWRlclRyYW5zbGF0b3I5VHJhbnNsYXRlRVBLYworICAgZnVu
Ol9aTjNncHU1Z2xlczIxNFByb2dyYW1NYW5hZ2VyMThGb3JjZUNvbXBpbGVTaGFkZXJFUEtTc1BO
UzBfNlNoYWRlckVQTlMwXzE2U2hhZGVyVHJhbnNsYXRvckVQTlMwXzExRmVhdHVyZUluZm9FCisg
ICBmdW46X1pOM2dwdTVnbGVzMjE0UHJvZ3JhbU1hbmFnZXIxNURvQ29tcGlsZVNoYWRlckVQTlMw
XzZTaGFkZXJFUE5TMF8xNlNoYWRlclRyYW5zbGF0b3JFUE5TMF8xMUZlYXR1cmVJbmZvRQorfQor
eworICAgYnVnXzE4NDI2NAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46
X1pON1dlYkNvcmUyNGNyZWF0ZURyYWdJbWFnZUZyb21JbWFnZUVQTlNfNUltYWdlRU5TXzI3UmVz
cGVjdEltYWdlT3JpZW50YXRpb25FbnVtRQorICAgZnVuOl9aTjdXZWJDb3JlNUZyYW1lMjFkcmFn
SW1hZ2VGb3JTZWxlY3Rpb25FdgorICAgZnVuOl9aTjdXZWJDb3JlMjdjcmVhdGVEcmFnSW1hZ2VG
b3JTZWxlY3Rpb25FUE5TXzVGcmFtZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xs
ZXI5c3RhcnREcmFnRVBOU181RnJhbWVFUktOU185RHJhZ1N0YXRlRU5TXzEzRHJhZ09wZXJhdGlv
bkVSS05TXzE4UGxhdGZvcm1Nb3VzZUV2ZW50RVJLTlNfOEludFBvaW50RQorICAgZnVuOl9aTjdX
ZWJDb3JlMTJFdmVudEhhbmRsZXIxMGhhbmRsZURyYWdFUktOU18yOE1vdXNlRXZlbnRXaXRoSGl0
VGVzdFJlc3VsdHNFTlNfMTlDaGVja0RyYWdIeXN0ZXJlc2lzRQorICAgZnVuOl9aTjdXZWJDb3Jl
MTJFdmVudEhhbmRsZXIyM2hhbmRsZU1vdXNlRHJhZ2dlZEV2ZW50RVJLTlNfMjhNb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzRQorICAgZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIyMGhh
bmRsZU1vdXNlTW92ZUV2ZW50RVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFUE5TXzEzSGl0VGVz
dFJlc3VsdEViCisgICBmdW46X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjI4cGFzc01vdXNlTW92
ZUV2ZW50VG9TdWJmcmFtZUVSTlNfMjhNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzRVBOU181
RnJhbWVFUE5TXzEzSGl0VGVzdFJlc3VsdEUKKyAgIGZ1bjpfWk43V2ViQ29yZTEyRXZlbnRIYW5k
bGVyMjBoYW5kbGVNb3VzZU1vdmVFdmVudEVSS05TXzE4UGxhdGZvcm1Nb3VzZUV2ZW50RVBOU18x
M0hpdFRlc3RSZXN1bHRFYgorICAgZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIxMG1vdXNl
TW92ZWRFUktOU18xOFBsYXRmb3JtTW91c2VFdmVudEUKK30KKworeworICAgYnVnXzE5NTE2MF9h
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4MTNu
ZXdfYWxsb2NhdG9ySVN0MTNfUmJfdHJlZV9ub2RlSWlFRThhbGxvY2F0ZUVtUEt2CisgICBmdW46
X1pOU3Q4X1JiX3RyZWVJaWlTdDlfSWRlbnRpdHlJaUVTdDRsZXNzSWlFU2FJaUVFMTFfTV9nZXRf
bm9kZUV2CisgICBmdW46X1pOU3Q4X1JiX3RyZWVJaWlTdDlfSWRlbnRpdHlJaUVTdDRsZXNzSWlF
U2FJaUVFMTRfTV9jcmVhdGVfbm9kZUVSS2kKKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlpaVN0OV9J
ZGVudGl0eUlpRVN0NGxlc3NJaUVTYUlpRUUxMF9NX2luc2VydF9FUEtTdDE4X1JiX3RyZWVfbm9k
ZV9iYXNlUzhfUktpCisgICBmdW46X1pOU3Q4X1JiX3RyZWVJaWlTdDlfSWRlbnRpdHlJaUVTdDRs
ZXNzSWlFU2FJaUVFMTZfTV9pbnNlcnRfdW5pcXVlRVJLaQorICAgZnVuOl9aTlN0M3NldElpU3Q0
bGVzc0lpRVNhSWlFRTZpbnNlcnRFUktpCisgICBmdW46X1pOMTBleHRlbnNpb25zMTBVUkxNYXRj
aGVyMTRVcGRhdGVUcmlnZ2Vyc0V2CisgICBmdW46X1pOMTBleHRlbnNpb25zMTBVUkxNYXRjaGVy
MjhVcGRhdGVJbnRlcm5hbERhdGFzdHJ1Y3R1cmVzRXYKKyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnMx
MFVSTE1hdGNoZXIxNkFkZENvbmRpdGlvblNldHNFUktTdDZ2ZWN0b3JJMTNzY29wZWRfcmVmcHRy
SU5TXzIyVVJMTWF0Y2hlckNvbmRpdGlvblNldEVFU2FJUzRfRUUKKyAgIGZ1bjpfWk4xMl9HTE9C
QUxfX05fMTEzRmlsdGVyQnVpbGRlcjVCdWlsZEV2CisgICBmdW46X1pOMTJfR0xPQkFMX19OXzEz
NExvYWRXaGl0ZWxpc3RzT25CbG9ja2luZ1Bvb2xUaHJlYWRFMTJTY29wZWRWZWN0b3JJMTlNYW5h
Z2VkTW9kZVNpdGVMaXN0RQorfQoreworICAgYnVnXzE5NTE2MF9iCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4MTNuZXdfYWxsb2NhdG9ySVN0MTNf
UmJfdHJlZV9ub2RlSVBOMTBleHRlbnNpb25zMTNTdHJpbmdQYXR0ZXJuRUVFOGFsbG9jYXRlRW1Q
S3YKKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlQTjEwZXh0ZW5zaW9uczEzU3RyaW5nUGF0dGVybkVT
Ml9TdDlfSWRlbnRpdHlJUzJfRU5TMF8yNlVSTE1hdGNoZXJDb25kaXRpb25GYWN0b3J5MjdTdHJp
bmdQYXR0ZXJuUG9pbnRlckNvbXBhcmVFU2FJUzJfRUUxMV9NX2dldF9ub2RlRXYKKyAgIGZ1bjpf
Wk5TdDhfUmJfdHJlZUlQTjEwZXh0ZW5zaW9uczEzU3RyaW5nUGF0dGVybkVTMl9TdDlfSWRlbnRp
dHlJUzJfRU5TMF8yNlVSTE1hdGNoZXJDb25kaXRpb25GYWN0b3J5MjdTdHJpbmdQYXR0ZXJuUG9p
bnRlckNvbXBhcmVFU2FJUzJfRUUxNF9NX2NyZWF0ZV9ub2RlRVJLUzJfCisgICBmdW46X1pOU3Q4
X1JiX3RyZWVJUE4xMGV4dGVuc2lvbnMxM1N0cmluZ1BhdHRlcm5FUzJfU3Q5X0lkZW50aXR5SVMy
X0VOUzBfMjZVUkxNYXRjaGVyQ29uZGl0aW9uRmFjdG9yeTI3U3RyaW5nUGF0dGVyblBvaW50ZXJD
b21wYXJlRVNhSVMyX0VFMTBfTV9pbnNlcnRfRVBLU3QxOF9SYl90cmVlX25vZGVfYmFzZVNCX1JL
UzJfCisgICBmdW46X1pOU3Q4X1JiX3RyZWVJUE4xMGV4dGVuc2lvbnMxM1N0cmluZ1BhdHRlcm5F
UzJfU3Q5X0lkZW50aXR5SVMyX0VOUzBfMjZVUkxNYXRjaGVyQ29uZGl0aW9uRmFjdG9yeTI3U3Ry
aW5nUGF0dGVyblBvaW50ZXJDb21wYXJlRVNhSVMyX0VFMTZfTV9pbnNlcnRfdW5pcXVlRVJLUzJf
CisgICBmdW46X1pOU3Qzc2V0SVBOMTBleHRlbnNpb25zMTNTdHJpbmdQYXR0ZXJuRU5TMF8yNlVS
TE1hdGNoZXJDb25kaXRpb25GYWN0b3J5MjdTdHJpbmdQYXR0ZXJuUG9pbnRlckNvbXBhcmVFU2FJ
UzJfRUU2aW5zZXJ0RVJLUzJfCisgICBmdW46X1pOMTBleHRlbnNpb25zMjZVUkxNYXRjaGVyQ29u
ZGl0aW9uRmFjdG9yeTE1Q3JlYXRlQ29uZGl0aW9uRU5TXzE5VVJMTWF0Y2hlckNvbmRpdGlvbjlD
cml0ZXJpb25FUktTcworICAgZnVuOl9aTjEwZXh0ZW5zaW9uczI2VVJMTWF0Y2hlckNvbmRpdGlv
bkZhY3RvcnkzNUNyZWF0ZUhvc3RTdWZmaXhQYXRoUHJlZml4Q29uZGl0aW9uRVJLU3NTMl8KKyAg
IGZ1bjpfWk42cG9saWN5MTJVUkxCbGFja2xpc3QxOENyZWF0ZUNvbmRpdGlvblNldEVQTjEwZXh0
ZW5zaW9uczEwVVJMTWF0Y2hlckVpUktTc1M1X2J0UzVfCisgICBmdW46X1pOMTJfR0xPQkFMX19O
XzExM0ZpbHRlckJ1aWxkZXIxMEFkZFBhdHRlcm5FUktTc2kKKyAgIGZ1bjpfWk4xMl9HTE9CQUxf
X05fMTEzRmlsdGVyQnVpbGRlcjExQWRkU2l0ZUxpc3RFUDE5TWFuYWdlZE1vZGVTaXRlTGlzdAor
ICAgZnVuOl9aTjEyX0dMT0JBTF9fTl8xMzRMb2FkV2hpdGVsaXN0c09uQmxvY2tpbmdQb29sVGhy
ZWFkRTEyU2NvcGVkVmVjdG9ySTE5TWFuYWdlZE1vZGVTaXRlTGlzdEUKK30KK3sKKyAgIGJ1Z18x
OTUxNjBfYworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pONGJhc2U4
aW50ZXJuYWwyMFBvc3RUYXNrQW5kUmVwbHlJbXBsMTZQb3N0VGFza0FuZFJlcGx5RVJLTjE1dHJh
Y2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVNBXworICAgZnVuOl9a
TjRiYXNlMTBUYXNrUnVubmVyMTZQb3N0VGFza0FuZFJlcGx5RVJLTjE1dHJhY2tlZF9vYmplY3Rz
OExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVM5XworICAgZnVuOl9aTjRiYXNlMjZQb3N0
VGFza0FuZFJlcGx5V2l0aFJlc3VsdEkxMHNjb3BlZF9wdHJJTjIwTWFuYWdlZE1vZGVVUkxGaWx0
ZXI4Q29udGVudHNFTlNfMTREZWZhdWx0RGVsZXRlcklTM19FRUVTNl9FRWJQTlNfMTBUYXNrUnVu
bmVyRVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZUX3ZFRUVS
S05TRF9JRnZUMF9FRUUKKyAgIGZ1bjpfWk4yME1hbmFnZWRNb2RlVVJMRmlsdGVyMTRMb2FkV2hp
dGVsaXN0c0UxMlNjb3BlZFZlY3RvckkxOU1hbmFnZWRNb2RlU2l0ZUxpc3RFCit9Cit7CisgICBi
dWdfMjIyMzYzCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xOFdl
YkRhdGFiYXNlU2VydmljZTEyTG9hZERhdGFiYXNlRVJLTjRiYXNlOENhbGxiYWNrSUZ2TjNzcWwx
MEluaXRTdGF0dXNFRUVFCit9CisKK3sKKyAgIGJ1Z18yMjI4ODAKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4z
V1RGMTZWZWN0b3JCdWZmZXJCYXNlSU5TXzZSZWZQdHJJTjdXZWJDb3JlN0FyY2hpdmVFRUVFMTRh
bGxvY2F0ZUJ1ZmZlckVtCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTdBcmNoaXZlMThhZGRT
dWJmcmFtZUFyY2hpdmVFTjNXVEYxMFBhc3NSZWZQdHJJUzBfRUUKKyAgIGZ1bjpfWk43V2ViQ29y
ZTExTUhUTUxQYXJzZXIyMnBhcnNlQXJjaGl2ZVdpdGhIZWFkZXJFUE5TXzEwTUlNRUhlYWRlckUK
KyAgIGZ1bjpfWk43V2ViQ29yZTExTUhUTUxQYXJzZXIxMnBhcnNlQXJjaGl2ZUV2CisgICBmdW46
X1pON1dlYkNvcmUxMk1IVE1MQXJjaGl2ZTZjcmVhdGVFUktOU180S1VSTEVQTlNfMTJTaGFyZWRC
dWZmZXJFCit9CisKK3sKKyAgIGJ1Z18yMjI4ODcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpf
Wm53KgorICAgZnVuOl9aTjZ3ZWJraXQzZ3B1MThHTEluUHJvY2Vzc0NvbnRleHQxMEluaXRpYWxp
emVFUktOM2dmeDRTaXplRVBTMV9QS2NQS2lOUzJfMTNHcHVQcmVmZXJlbmNlRQorICAgZnVuOl9a
TjZ3ZWJraXQzZ3B1MThHTEluUHJvY2Vzc0NvbnRleHQyMkNyZWF0ZU9mZnNjcmVlbkNvbnRleHRF
UFMxX1JLTjNnZng0U2l6ZUVTMl9QS2NQS2lOUzNfMTNHcHVQcmVmZXJlbmNlRQorICAgZnVuOl9a
TjZ3ZWJraXQzZ3B1NDZXZWJHcmFwaGljc0NvbnRleHQzREluUHJvY2Vzc0NvbW1hbmRCdWZmZXJJ
bXBsMTBJbml0aWFsaXplRU42V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzRDEwQXR0cmlidXRl
c0VQUzNfCisgICBmdW46X1pOMjVUZXN0V2ViS2l0UGxhdGZvcm1TdXBwb3J0MzJjcmVhdGVPZmZz
Y3JlZW5HcmFwaGljc0NvbnRleHQzREVSS042V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzRDEw
QXR0cmlidXRlc0UKKyAgIGZ1bjpfWk43V2ViQ29yZTE3R3JhcGhpY3NDb250ZXh0M0Q2Y3JlYXRl
RU5TMF8xMEF0dHJpYnV0ZXNFUE5TXzEwSG9zdFdpbmRvd0VOUzBfMTFSZW5kZXJTdHlsZUUKK30K
K3sKKyAgIGJ1Z18yMjI4OTgKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1
bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGOUJpdFZlY3RvcjEzT3V0T2ZM
aW5lQml0czZjcmVhdGVFbQorICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9yMTVyZXNpemVPdXRPZkxp
bmVFbQorICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9yMTBlbnN1cmVTaXplRW0KKyAgIGZ1bjpfWk4z
V1RGOUJpdFZlY3RvckMxRW0KKyAgIGZ1bjpfWk43V2ViQ29yZTEwVXNlQ291bnRlcjEwZGlkT2Jz
ZXJ2ZUVOUzBfN0ZlYXR1cmVFCisgICBmdW46X1pON1dlYkNvcmUxMFVzZUNvdW50ZXI3b2JzZXJ2
ZUVQTlNfOERvY3VtZW50RU5TMF83RmVhdHVyZUUKK30KKworeworICAgV2ViQ29yZTo6UGx1Z2lu
RGF0YWJhc2UgdW5pbml0IHZhbHVlCisgICBNZW1jaGVjazpWYWx1ZTgKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE0UGx1Z2luRGF0YWJhc2UzYWRkRU4zV1RGMTBQYXNzUmVmUHRySU5TXzEzUGx1Z2luUGFj
a2FnZUVFRQorICAgZnVuOl9aTjdXZWJDb3JlMTRQbHVnaW5EYXRhYmFzZTdyZWZyZXNoRXYKKyAg
IGZ1bjp3ZWJraXRfd2ViX3NldHRpbmdzX2FkZF9leHRyYV9wbHVnaW5fZGlyZWN0b3J5CisgICBm
dW46bWFpbgorfQorCit7CisgICBKYXZhQ2FsbHM6OmNhbGxfaGVscGVyIGludmFsaWQgYWRkcmVz
cworICAgTWVtY2hlY2s6QWRkcjQKKyAgIC4uLgorICAgZnVuOl9aTjlKYXZhQ2FsbHMxMWNhbGxf
aGVscGVyRVA5SmF2YVZhbHVlUDEybWV0aG9kSGFuZGxlUDE3SmF2YUNhbGxBcmd1bWVudHNQNlRo
cmVhZAorICAgZnVuOl9aTjlKYXZhQ2FsbHM0Y2FsbEVQOUphdmFWYWx1ZTEybWV0aG9kSGFuZGxl
UDE3SmF2YUNhbGxBcmd1bWVudHNQNlRocmVhZAorICAgLi4uCit9Cit7CisgICBXZWJDb3JlOjpT
Y3JpcHRDb250cm9sbGVyIHVuaW5pdCBjb25kCisgICBNZW1jaGVjazpDb25kCisgICAuLi4KKyAg
IGZ1bjpfWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjE1ZXZhbHVhdGVJbldvcmxkRVJLTlNf
MTZTY3JpcHRTb3VyY2VDb2RlRVBOU18xNURPTVdyYXBwZXJXb3JsZEUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE2U2NyaXB0Q29udHJvbGxlcjhldmFsdWF0ZUVSS05TXzE2U2NyaXB0U291cmNlQ29kZUUK
KyAgIGZ1bjpfWk43V2ViQ29yZTEzU2NyaXB0RWxlbWVudDEzZXhlY3V0ZVNjcmlwdEVSS05TXzE2
U2NyaXB0U291cmNlQ29kZUUKK30KKworeworICAgSGVhcDo6Y29sbGVjdCB1bmluaXRpYWxpc2Vk
CisgICBNZW1jaGVjazpDb25kCisgICAuLi4KKyAgIGZ1bjpfWk4zSlNDNEhlYXA3Y29sbGVjdEVO
UzBfMTFTd2VlcFRvZ2dsZUUKKyAgIGZ1bjpfWk43V2ViQ29yZUw3Y29sbGVjdEVQdgorfQorewor
ICAgSGVhcDo6Y29sbGVjdCB1bmluaXRpYWxpemVkIHZhbHVlCisgICBNZW1jaGVjazpWYWx1ZTgK
KyAgIC4uLgorICAgZnVuOl9aTjNKU0M0SGVhcDdjb2xsZWN0RU5TMF8xMVN3ZWVwVG9nZ2xlRQor
ICAgZnVuOl9aTjdXZWJDb3JlTDdjb2xsZWN0RVB2Cit9Cit7CisgICBXZWJDb3JlOjpQbHVnaW5Q
YWNrYWdlIGxlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjoqYWxsb2MKKyAgIC4uLgorICAg
ZnVuOl9aTjdXZWJDb3JlMTNQbHVnaW5QYWNrYWdlOWZldGNoSW5mb0V2CisgICBmdW46X1pON1dl
YkNvcmUxM1BsdWdpblBhY2thZ2UxM2NyZWF0ZVBhY2thZ2VFUktOM1dURjZTdHJpbmdFUktsCisg
ICBmdW46X1pON1dlYkNvcmUxNFBsdWdpbkRhdGFiYXNlN3JlZnJlc2hFdgorICAgZnVuOl9aTjdX
ZWJDb3JlMTRQbHVnaW5EYXRhYmFzZTE2aW5zdGFsbGVkUGx1Z2luc0ViCit9Cit7CisgICBXZWJD
b3JlOjpQbHVnaW5EYXRhYmFzZSB1bmluaXRpYWxpemVkCisgICBNZW1jaGVjazpWYWx1ZTgKKyAg
IC4uLgorICAgZnVuOl9aTjdXZWJDb3JlMTRQbHVnaW5EYXRhYmFzZTdyZWZyZXNoRXYKKyAgIGZ1
bjpfWk43V2ViQ29yZTE0UGx1Z2luRGF0YWJhc2UxNmluc3RhbGxlZFBsdWdpbnNFYgorfQorCit7
CisgICBDb25zZXJ2YXRpdmVSb290cyB1bmluaXQgdmFsdWUKKyAgIE1lbWNoZWNrOlZhbHVlOAor
ICAgZnVuOl9aTjNKU0MxN0NvbnNlcnZhdGl2ZVJvb3RzMTRnZW5lcmljQWRkU3BhbklOU18xM0R1
bW15TWFya0hvb2tFRUV2UHZTM19SVF8KK30KKworeworICAgU2xvdFZpc2l0b3I6OmRyYWluIHVu
aW5pdCB2YWx1ZQorICAgTWVtY2hlY2s6VmFsdWU4CisgICAuLi4KKyAgIGZ1bjpfWk4zSlNDMTFT
bG90VmlzaXRvcjVkcmFpbkV2CisgICBmdW46X1pOM0pTQzExU2xvdFZpc2l0b3IxNWRyYWluRnJv
bVNoYXJlZEVOUzBfMTVTaGFyZWREcmFpbk1vZGVFCisgICBmdW46X1pOM0pTQzhHQ1RocmVhZDEy
Z2NUaHJlYWRNYWluRXYKKyAgIGZ1bjpfWk4zV1RGTDE5d3RmVGhyZWFkRW50cnlQb2ludEVQdgor
ICAgZnVuOnN0YXJ0X3RocmVhZAorICAgZnVuOmNsb25lCit9Cit7CisgICBTbG90VmlzaXRvcjo6
ZHJhaW4gdW5pbml0IGNvbmQKKyAgIE1lbWNoZWNrOkNvbmQKKyAgIC4uLgorICAgZnVuOl9aTjNK
U0MxMVNsb3RWaXNpdG9yNWRyYWluRXYKKyAgIGZ1bjpfWk4zSlNDMTFTbG90VmlzaXRvcjE1ZHJh
aW5Gcm9tU2hhcmVkRU5TMF8xNVNoYXJlZERyYWluTW9kZUUKKyAgIGZ1bjpfWk4zSlNDOEdDVGhy
ZWFkMTJnY1RocmVhZE1haW5FdgorICAgZnVuOl9aTjNXVEZMMTl3dGZUaHJlYWRFbnRyeVBvaW50
RVB2CisgICBmdW46c3RhcnRfdGhyZWFkCisgICBmdW46Y2xvbmUKK30KKworeworICAgVW5pbml0
aWFsaXNlZCBtZW1vcnkgYWNjZXNzIGluIE1hcmtlZEJsb2NrCisgICBNZW1jaGVjazpDb25kCisg
ICBmdW46X1pOM0pTQzExTWFya2VkQmxvY2sxNnNwZWNpYWxpemVkU3dlZXBJTE5TMF8xMEJsb2Nr
U3RhdGVFM0VMTlMwXzlTd2VlcE1vZGVFMUVMTlMwXzE0RGVzdHJ1Y3RvclR5cGVFMUVFRU5TMF84
RnJlZUxpc3RFdgorICAgZnVuOl9aTjNKU0MxMU1hcmtlZEJsb2NrNXN3ZWVwRU5TMF85U3dlZXBN
b2RlRQorICAgZnVuOl9aTjNKU0MxNU1hcmtlZEFsbG9jYXRvcjE3dHJ5QWxsb2NhdGVIZWxwZXJF
bQorICAgZnVuOl9aTjNKU0MxNU1hcmtlZEFsbG9jYXRvcjE2YWxsb2NhdGVTbG93Q2FzZUVtCisg
ICBmdW46X1pON1dlYkNvcmUxNkpTRE9NV2luZG93U2hlbGw5c2V0V2luZG93RU4zV1RGMTBQYXNz
UmVmUHRySU5TXzlET01XaW5kb3dFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE2U2NyaXB0Q29udHJv
bGxlcjE2Y2xlYXJXaW5kb3dTaGVsbEVQTlNfOURPTVdpbmRvd0ViCisgICBmdW46X1pON1dlYkNv
cmUxMUZyYW1lTG9hZGVyNWNsZWFyRVBOU184RG9jdW1lbnRFYmJiCisgICBmdW46X1pON1dlYkNv
cmUxNERvY3VtZW50V3JpdGVyNWJlZ2luRVJLTlNfNEtVUkxFYlBOU184RG9jdW1lbnRFCisgICBm
dW46X1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTBjb21taXREYXRhRVBLY20KKyAgIGZ1bjpf
Wk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxNWZpbmlzaGVkTG9hZGluZ0VkCisgICBmdW46X1pO
N1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTRtYXliZUxvYWRFbXB0eUV2CisgICBmdW46X1pON1dl
YkNvcmUxNERvY3VtZW50TG9hZGVyMjRzdGFydExvYWRpbmdNYWluUmVzb3VyY2VFdgorICAgZnVu
Ol9aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjMzY29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9s
aWN5RVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFTjNXVEYxMFBhc3NSZWZQdHJJTlNfOUZvcm1TdGF0
ZUVFRWIKKyAgIGZ1bjpfWk43V2ViQ29yZTExRnJhbWVMb2FkZXIzN2NhbGxDb250aW51ZUxvYWRB
ZnRlck5hdmlnYXRpb25Qb2xpY3lFUHZSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RU4zV1RGMTBQYXNz
UmVmUHRySU5TXzlGb3JtU3RhdGVFRUViCisgICBmdW46X1pON1dlYkNvcmUxNFBvbGljeUNhbGxi
YWNrNGNhbGxFYgorICAgZnVuOl9aTjdXZWJDb3JlMTNQb2xpY3lDaGVja2VyMjljb250aW51ZUFm
dGVyTmF2aWdhdGlvblBvbGljeUVOU18xMlBvbGljeUFjdGlvbkUKKyAgIGZ1bjpfWk42V2ViS2l0
MTdGcmFtZUxvYWRlckNsaWVudDM5ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uRU1ON1dlYkNvcmUxM1BvbGljeUNoZWNrZXJFRnZOUzFfMTJQb2xpY3lBY3Rpb25FRVJLTlMx
XzE2TmF2aWdhdGlvbkFjdGlvbkVSS05TMV8xNVJlc291cmNlUmVxdWVzdEVOM1dURjEwUGFzc1Jl
ZlB0cklOUzFfOUZvcm1TdGF0ZUVFRQorICAgZnVuOl9aTjdXZWJDb3JlMTNQb2xpY3lDaGVja2Vy
MjFjaGVja05hdmlnYXRpb25Qb2xpY3lFUktOU18xNVJlc291cmNlUmVxdWVzdEVQTlNfMTREb2N1
bWVudExvYWRlckVOM1dURjEwUGFzc1JlZlB0cklOU185Rm9ybVN0YXRlRUVFUEZ2UHZTM19TOV9i
RVNBXworICAgZnVuOl9aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjIybG9hZFdpdGhEb2N1bWVudExv
YWRlckVQTlNfMTREb2N1bWVudExvYWRlckVOU18xM0ZyYW1lTG9hZFR5cGVFTjNXVEYxMFBhc3NS
ZWZQdHJJTlNfOUZvcm1TdGF0ZUVFRQorICAgZnVuOl9aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRs
b2FkRVBOU18xNERvY3VtZW50TG9hZGVyRQorICAgZnVuOl9aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjRsb2FkRVJLTlNfMTZGcmFtZUxvYWRSZXF1ZXN0RQorfQorCit7CisgICBVbmluaXRpYWxpc2Vk
IG1lbW9yeSBhY2Nlc3MgaW4gQ29waWVkU3BhY2UKKyAgIE1lbWNoZWNrOkNvbmQKKyAgIGZ1bjpf
Wk4zSlNDMTFDb3BpZWRTcGFjZTE5dHJ5QWxsb2NhdGVTbG93Q2FzZUVtUFB2CisgICBmdW46X1pO
M0pTQzhKU09iamVjdDIwZ3Jvd091dE9mTGluZVN0b3JhZ2VFUk5TXzJWTUVtbQorICAgZnVuOl9a
TjNKU0MxNkludGVybmFsRnVuY3Rpb24xNGZpbmlzaENyZWF0aW9uRVJOU18yVk1FUktOM1dURjZT
dHJpbmdFCisgICBmdW46X1pOM0pTQzE3RnVuY3Rpb25Qcm90b3R5cGUxNGZpbmlzaENyZWF0aW9u
RVBOU185RXhlY1N0YXRlRVJLTjNXVEY2U3RyaW5nRQorICAgZnVuOl9aTjNKU0MxN0Z1bmN0aW9u
UHJvdG90eXBlNmNyZWF0ZUVQTlNfOUV4ZWNTdGF0ZUVQTlNfMTRKU0dsb2JhbE9iamVjdEVQTlNf
OVN0cnVjdHVyZUUKKyAgIGZ1bjpfWk4zSlNDMTRKU0dsb2JhbE9iamVjdDVyZXNldEVOU183SlNW
YWx1ZUUKKyAgIGZ1bjpfWk4zSlNDMTRKU0dsb2JhbE9iamVjdDRpbml0RVBOU184SlNPYmplY3RF
CisgICBmdW46X1pON1dlYkNvcmUxNUpTRE9NV2luZG93QmFzZTE0ZmluaXNoQ3JlYXRpb25FUk4z
SlNDMlZNRVBOU18xNkpTRE9NV2luZG93U2hlbGxFCisgICBmdW46X1pON1dlYkNvcmUxNkpTRE9N
V2luZG93U2hlbGw5c2V0V2luZG93RU4zV1RGMTBQYXNzUmVmUHRySU5TXzlET01XaW5kb3dFRUUK
KyAgIGZ1bjpfWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjE2Y2xlYXJXaW5kb3dTaGVsbEVQ
TlNfOURPTVdpbmRvd0ViCisgICBmdW46X1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyNWNsZWFyRVBO
U184RG9jdW1lbnRFYmJiCisgICBmdW46X1pON1dlYkNvcmUxNERvY3VtZW50V3JpdGVyNWJlZ2lu
RVJLTlNfNEtVUkxFYlBOU184RG9jdW1lbnRFCisgICBmdW46X1pON1dlYkNvcmUxNERvY3VtZW50
TG9hZGVyMTBjb21taXREYXRhRVBLY20KKyAgIGZ1bjpfWk43V2ViQ29yZTE0RG9jdW1lbnRMb2Fk
ZXIxNWZpbmlzaGVkTG9hZGluZ0VkCisgICBmdW46X1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVy
MTRtYXliZUxvYWRFbXB0eUV2CisgICBmdW46X1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjRz
dGFydExvYWRpbmdNYWluUmVzb3VyY2VFdgorICAgZnVuOl9aTjdXZWJDb3JlMTFGcmFtZUxvYWRl
cjMzY29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5RVJLTlNfMTVSZXNvdXJjZVJlcXVl
c3RFTjNXVEYxMFBhc3NSZWZQdHJJTlNfOUZvcm1TdGF0ZUVFRWIKKyAgIGZ1bjpfWk43V2ViQ29y
ZTExRnJhbWVMb2FkZXIzN2NhbGxDb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3lFUHZS
S05TXzE1UmVzb3VyY2VSZXF1ZXN0RU4zV1RGMTBQYXNzUmVmUHRySU5TXzlGb3JtU3RhdGVFRUVi
CisgICBmdW46X1pON1dlYkNvcmUxNFBvbGljeUNhbGxiYWNrNGNhbGxFYgorICAgZnVuOl9aTjdX
ZWJDb3JlMTNQb2xpY3lDaGVja2VyMjljb250aW51ZUFmdGVyTmF2aWdhdGlvblBvbGljeUVOU18x
MlBvbGljeUFjdGlvbkUKKyAgIGZ1bjpfWk42V2ViS2l0MTdGcmFtZUxvYWRlckNsaWVudDM5ZGlz
cGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uRU1ON1dlYkNvcmUxM1BvbGljeUNo
ZWNrZXJFRnZOUzFfMTJQb2xpY3lBY3Rpb25FRVJLTlMxXzE2TmF2aWdhdGlvbkFjdGlvbkVSS05T
MV8xNVJlc291cmNlUmVxdWVzdEVOM1dURjEwUGFzc1JlZlB0cklOUzFfOUZvcm1TdGF0ZUVFRQor
ICAgZnVuOl9aTjdXZWJDb3JlMTNQb2xpY3lDaGVja2VyMjFjaGVja05hdmlnYXRpb25Qb2xpY3lF
UktOU18xNVJlc291cmNlUmVxdWVzdEVQTlNfMTREb2N1bWVudExvYWRlckVOM1dURjEwUGFzc1Jl
ZlB0cklOU185Rm9ybVN0YXRlRUVFUEZ2UHZTM19TOV9iRVNBXworfQorCit7CisgICBVbmFkZHJl
c3NhYmxlIG1lbW9yeSBpbiBDb2RlQmxvY2sKKyAgIE1lbWNoZWNrOkFkZHI4CisgICBmdW46X1pO
M0pTQzlDb2RlQmxvY2tEMUV2CisgICBmdW46X1pOM0pTQzE3RnVuY3Rpb25Db2RlQmxvY2tEMEV2
CisgICBmdW46X1pOM0pTQzE4RnVuY3Rpb25FeGVjdXRhYmxlOWNsZWFyQ29kZUV2CisgICBmdW46
X1pOM0pTQzRIZWFwMjZkZWxldGVVbm1hcmtlZENvbXBpbGVkQ29kZUV2CisgICBmdW46X1pOM0pT
QzRIZWFwN2NvbGxlY3RFTlMwXzExU3dlZXBUb2dnbGVFCisgICBmdW46X1pON1dlYkNvcmVMN2Nv
bGxlY3RFUHYKKyAgIGZ1bjpfWk43V2ViQ29yZTEyVGhyZWFkVGltZXJzMjRzaGFyZWRUaW1lckZp
cmVkSW50ZXJuYWxFdgorICAgZnVuOl9aTjdXZWJDb3JlTDEwdGltZW91dF9jYkVQdgorfQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206083</attachid>
            <date>2013-07-04 05:58:14 -0700</date>
            <delta_ts>2013-07-11 09:29:48 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-116317-20130704135616.patch</filename>
            <type>text/plain</type>
            <size>121226</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMzkyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGU0ZmQ1NGU5MmM3NmM0ZGMxZTZlNzYyMzhlMjQ3NzBi
YzU1M2Y5Zi4uODNhZjFhZTNhZGJkYzczODQyNzZhNjM0YjlhNWJhMWEwYjJlYTMwMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg2
IEBACisyMDEzLTA2LTI4ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbV0lQXVtHVEtdIFN1cHBvcnQgbWVtb3J5IGxlYWsgY2hlY2tpbmcgd2l0aCB2YWxn
cmluZC9tZW1jaGVjay4KKworICAgICAgICBbR1RLXSBNZXRhYnVnOiBNZW1vcnkgbGVhayBkZXRl
Y3Rpb24gdXNpbmcgdmFsZ3JpbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNjMxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIExhdW5jaCB0aGUgRFJUIHVuZGVyIFZhbGdyaW5kIHRvIGdlbmVyYXRlIGEg
eG1sIGZpbGUgd2l0aCBkZXRhaWxzCisgICAgICAgIG9mIGxlYWtzIGZvdW5kLCBhbmQgdGhlbiB0
byBwYXJzZSB0aGlzIGZpbGUgYW5kIGRpc3BsYXkgdGhpcworICAgICAgICBpbmZvcm1hdGlvbi4g
IEZhaWx1cmVzIHNob3VsZCByZXN1bHQgaW4gdGhlIGZpbGluZyBvZiBtZW1vcnkgYnVncworICAg
ICAgICBhbmQgYWRkaW5nIHRoZSBlcnJvciB0byB0aGUgc3VwcHJlc3Npb24gZmlsZS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6
CisgICAgICAgIChwYXJzZV9hcmdzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
YmFzZS5weToKKyAgICAgICAgKFBvcnQuY2hlY2tfZm9yX2xlYWtzKToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvY29tbW9uLnB5OiBBZGRlZC4KKyAgICAgICAgKE5vdEltcGxlbWVu
dGVkRXJyb3IpOgorICAgICAgICAoVGltZW91dEVycm9yKToKKyAgICAgICAgKF9wcmludF9saW5l
KToKKyAgICAgICAgKFJ1blN1YnByb2Nlc3NJbkJhY2tncm91bmQpOgorICAgICAgICAoUnVuU3Vi
cHJvY2Vzcyk6CisgICAgICAgIChJc0xpbnV4KToKKyAgICAgICAgKElzTWFjKToKKyAgICAgICAg
KElzV2luZG93cyk6CisgICAgICAgIChXaW5kb3dzVmVyc2lvbk5hbWUpOgorICAgICAgICAoUGxh
dGZvcm1OYW1lcyk6CisgICAgICAgIChQdXRFbnZBbmRMb2cpOgorICAgICAgICAoQm9yaW5nQ2Fs
bGVycyk6CisgICAgICAgIChOb3JtYWxpemVXaW5kb3dzUGF0aCk6CisgICAgICAgIChQcmludFVz
ZWRTdXBwcmVzc2lvbnNMaXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ2Ri
X2hlbHBlci5weTogQWRkZWQuCisgICAgICAgIChfR2RiT3V0cHV0VG9GaWxlTGluZSk6CisgICAg
ICAgIChSZXNvbHZlQWRkcmVzc2VzV2l0aGluQUJpbmFyeSk6CisgICAgICAgIChBZGRyZXNzVGFi
bGUpOgorICAgICAgICAoQWRkcmVzc1RhYmxlLl9faW5pdF9fKToKKyAgICAgICAgKEFkZHJlc3NU
YWJsZS5BZGRCaW5hcnlBdCk6CisgICAgICAgIChBZGRyZXNzVGFibGUuQWRkKToKKyAgICAgICAg
KEFkZHJlc3NUYWJsZS5SZXNvbHZlQWxsKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5HZXRGaWxl
TGluZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAg
KEd0a1BvcnQuX19pbml0X18pOgorICAgICAgICAoR3RrUG9ydC5kZWZhdWx0X3RpbWVvdXRfbXMp
OgorICAgICAgICAoR3RrUG9ydC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAgICAgICAgKEd0a1Bv
cnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAgICAgICAgKEd0a1BvcnQuY2hlY2tfZm9y
X2xlYWtzKToKKyAgICAgICAgKEd0a1BvcnQpOgorICAgICAgICAoR3RrUG9ydC5wcmludF9sZWFr
c19zdW1tYXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX2xlYWtkZXRl
Y3Rvci5weTogQWRkZWQuCisgICAgICAgIChHdGtMZWFrRGV0ZWN0b3IpOgorICAgICAgICAoR3Rr
TGVha0RldGVjdG9yLl9faW5pdF9fKToKKyAgICAgICAgKEd0a0xlYWtEZXRlY3Rvci5wYXJzZV9s
ZWFrc19vdXRwdXQpOgorICAgICAgICAoR3RrTGVha0RldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2Rp
cmVjdG9yeSk6CisgICAgICAgIChHdGtMZWFrRGV0ZWN0b3IubGVha3NfZmlsZV9uYW1lKToKKyAg
ICAgICAgKEd0a0xlYWtEZXRlY3Rvci5jaGVja19mb3JfbGVha3MpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvcG9ydC9tYWMucHk6CisgICAgICAgIChNYWNQb3J0LmNoZWNrX2Zvcl9sZWFr
cyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUucHk6
IEFkZGVkLgorICAgICAgICAoZ2V0VGV4dE9mKToKKyAgICAgICAgKGdldENEQVRBT2YpOgorICAg
ICAgICAoc2hvcnRlbkZpbGVQYXRoKToKKyAgICAgICAgKGdhdGhlckZyYW1lcyk6CisgICAgICAg
IChWYWxncmluZEVycm9yKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuX19pbml0X18pOgorICAg
ICAgICAoVmFsZ3JpbmRFcnJvci5fX3N0cl9fKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuVW5p
cXVlU3RyaW5nKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuRXJyb3JIYXNoKToKKyAgICAgICAg
KFZhbGdyaW5kRXJyb3IuX19oYXNoX18pOgorICAgICAgICAoVmFsZ3JpbmRFcnJvci5fX2VxX18p
OgorICAgICAgICAobG9nX2lzX2ZpbmlzaGVkKToKKyAgICAgICAgKE1lbWNoZWNrQW5hbHl6ZXIp
OgorICAgICAgICAoTWVtY2hlY2tBbmFseXplci5fX2luaXRfXyk6CisgICAgICAgIChNZW1jaGVj
a0FuYWx5emVyLlJlcG9ydCk6CisgICAgICAgIChfbWFpbik6CisgICAgICAgIChfbWFpbi5zaG91
bGQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weToK
KyAgICAgICAgKFNlcnZlclByb2Nlc3Muc3RvcCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3NlcnZlcl9wcm9jZXNzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVHJpdmlhbE1vY2tQ
b3J0LmNoZWNrX2Zvcl9sZWFrcyk6CisgICAgICAgICogdmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJl
c3Npb25zLnR4dDogQWRkZWQuCisKIDIwMTMtMDctMDMgIERhdmlkIEZhcmxlciAgPGRmYXJsZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBNYWtlZmlsZSB0byBXZWJLaXRMYXVuY2hlcgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90
ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRf
dGVzdHMucHkKaW5kZXggNmI0YmI3NmQxZTFhM2FiNGFkYWE5ZDI2Y2Q4M2ZlZjRlMTdmMzZlOC4u
Y2FmM2ZlMDRjN2E0ZjIzNDg0NTM0MDRlNmE0MjBiYjljNDg0YjE3YiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5
CkBAIC0xMTAsNyArMTEwLDcgQEAgZGVmIHBhcnNlX2FyZ3MoYXJncyk6CiAgICAgICAgIG9wdHBh
cnNlLm1ha2Vfb3B0aW9uKCItLWNvbXBsZXgtdGV4dCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRl
ZmF1bHQ9RmFsc2UsCiAgICAgICAgICAgICBoZWxwPSJVc2UgdGhlIGNvbXBsZXggdGV4dCBjb2Rl
IHBhdGggZm9yIGFsbCB0ZXh0IChNYWMgT1MgWCBhbmQgV2luZG93cyBvbmx5KSIpLAogICAgICAg
ICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLWwiLCAiLS1sZWFrcyIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIsIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICBoZWxwPSJFbmFibGUgbGVha3MgY2hlY2tp
bmcgKE1hYyBPUyBYIG9ubHkpIiksCisgICAgICAgICAgICBoZWxwPSJFbmFibGUgbGVha3MgY2hl
Y2tpbmcgKE1hYyBPUyBYIGFuZCBHdGsrIG9ubHkpIiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vf
b3B0aW9uKCItZyIsICItLWd1YXJkLW1hbGxvYyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1
bHQ9RmFsc2UsCiAgICAgICAgICAgICBoZWxwPSJFbmFibGUgR3VhcmQgTWFsbG9jIChNYWMgT1Mg
WCBvbmx5KSIpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS10aHJlYWRlZCIsIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9i
YXNlLnB5CmluZGV4IGY3NjhhMWY3MmE3YTBmYjI4OTI1MGUyY2YyOThkMmMzZGQ1ODgxOTguLmU5
ODFjZGM3YWMxNDhiNDc1NDI3MGEyMjZjNzIxMzRiOTlhMjBkNTAgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9iYXNlLnB5CkBAIC0zODEsNyArMzgxLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsX2ZpbGVuYW1lKQogICAg
ICAgICByZXR1cm4gJycuam9pbihkaWZmKQogCi0gICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxm
LCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKKyAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNl
bGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQsIGlzX3J1bm5pbmcpOgogICAgICAgICAjIFN1
YmNsYXNzZXMgc2hvdWxkIGNoZWNrIGZvciBsZWFrcyBpbiB0aGUgcnVubmluZyBwcm9jZXNzCiAg
ICAgICAgICMgYW5kIHByaW50IGFueSBuZWNlc3Nhcnkgd2FybmluZ3MgaWYgbGVha3MgYXJlIGZv
dW5kLgogICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgY29uc2lkZXIgbW92aW5nIG11Y2ggb2Yg
dGhpcyBsb2dpYyBpbnRvCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
Y29tbW9uLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2NvbW1vbi5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mYzY4NzBiN2ZiNzliOTliZjc5ZDEyNjllYThmY2NmYjhiNmU0ZThmCi0tLSAvZGV2L251
bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2NvbW1vbi5weQpAQCAtMCwwICsx
LDMxMiBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgT3JpZ2luYWxseSBmcm9tIENocm9taXVtLCBjb3B5cmlnaHQg
YXMgZm9sbG93czoKKyMKKyMgQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBDaHJvbWl1bSBBdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
IyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworaW1wb3J0IGxvZ2dp
bmcKK2ltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IG9zCitpbXBvcnQgc2lnbmFsCitpbXBvcnQgc3Vi
cHJvY2VzcworaW1wb3J0IHN5cworaW1wb3J0IHRpbWUKKworCitjbGFzcyBOb3RJbXBsZW1lbnRl
ZEVycm9yKEV4Y2VwdGlvbik6CisgICAgcGFzcworCisKK2NsYXNzIFRpbWVvdXRFcnJvcihFeGNl
cHRpb24pOgorICAgIHBhc3MKKworCitkZWYgX3ByaW50X2xpbmUobGluZSwgZmx1c2g9VHJ1ZSk6
CisgICAgIyBQcmludGluZyB0byBhIHRleHQgZmlsZSAoaW5jbHVkaW5nIHN0ZG91dCkgb24gV2lu
ZG93cyBhbHdheXMgd2luZHMgdXAKKyAgICAjIHVzaW5nIFxyXG4gYXV0b21hdGljYWxseS4gT24g
YnVpbGRib3QsIHRoaXMgd2luZHMgdXAgYmVpbmcgcmVhZCBieSBhCisgICAgIyBtYXN0ZXIgcnVu
bmluZyBvbiBMaW51eCwgc28gd2UgbWFudWFsbHkgY29udmVydCBjcmxmIHRvICdcbicKKyAgICBw
cmludCBsaW5lLnJzdHJpcCgpICsgJ1xuJywKKyAgICBpZiBmbHVzaDoKKyAgICAgICAgc3lzLnN0
ZG91dC5mbHVzaCgpCisKKworZGVmIFJ1blN1YnByb2Nlc3NJbkJhY2tncm91bmQocHJvYyk6Cisg
ICAgIiIiUnVucyBhIHN1YnByb2Nlc3MgaW4gdGhlIGJhY2tncm91bmQuIFJldHVybnMgYSBoYW5k
bGUgdG8gdGhlIHByb2Nlc3MuIiIiCisgICAgbG9nZ2luZy5pbmZvKCJydW5uaW5nICVzIGluIHRo
ZSBiYWNrZ3JvdW5kIiAlICIgIi5qb2luKHByb2MpKQorICAgIHJldHVybiBzdWJwcm9jZXNzLlBv
cGVuKHByb2MpCisKKworZGVmIFJ1blN1YnByb2Nlc3MocHJvYywgdGltZW91dD0wLCBkZXRhY2g9
RmFsc2UsIGJhY2tncm91bmQ9RmFsc2UpOgorICAgICIiIiBSdW5zIGEgc3VicHJvY2VzcywgdW50
aWwgaXQgZmluaXNoZXMgb3IgfHRpbWVvdXR8IGlzIGV4Y2VlZGVkIGFuZCB0aGUKKyAgICBwcm9j
ZXNzIGlzIGtpbGxlZCB3aXRoIHRhc2traWxsLiAgICBBIHx0aW1lb3V0fCA8PSAwICAgIG1lYW5z
IG5vIHRpbWVvdXQuCisKKyAgICBBcmdzOgorICAgICAgICBwcm9jOiBsaXN0IG9mIHByb2Nlc3Mg
Y29tcG9uZW50cyAoZXhlICsgYXJncykKKyAgICAgICAgdGltZW91dDogaG93IGxvbmcgdG8gd2Fp
dCBiZWZvcmUga2lsbGluZywgPD0gMCBtZWFucyB3YWl0IGZvcmV2ZXIKKyAgICAgICAgZGV0YWNo
OiBXaGV0aGVyIHRvIHBhc3MgdGhlIERFVEFDSEVEX1BST0NFU1MgYXJndW1lbnQgdG8gQ3JlYXRl
UHJvY2VzcworICAgICAgICAgIG9uIFdpbmRvd3MuICBUaGlzIGlzIHVzZWQgYnkgUHVyaWZ5IHN1
YnByb2Nlc3NlcyBvbiBidWlsZGJvdCB3aGljaAorICAgICAgICAgIHNlZW0gdG8gZ2V0IGNvbmZ1
c2VkIGJ5IHRoZSBwYXJlbnQgY29uc29sZSB0aGF0IGJ1aWxkYm90IHNldHMgdXAuCisgICAgIiIi
CisKKyAgICBsb2dnaW5nLmluZm8oInJ1bm5pbmcgJXMsIHRpbWVvdXQgJWQgc2VjIiAlICgiICIu
am9pbihwcm9jKSwgdGltZW91dCkpCisgICAgaWYgZGV0YWNoOgorICAgICAgICAjIHNlZSBNU0RO
IGRvY3MgZm9yICJQcm9jZXNzIENyZWF0aW9uIEZsYWdzIgorICAgICAgICBERVRBQ0hFRF9QUk9D
RVNTID0gMHg4CisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKHByb2MsIGNyZWF0aW9uZmxh
Z3M9REVUQUNIRURfUFJPQ0VTUykKKyAgICBlbHNlOgorICAgICAgICAjIEZvciBub24tZGV0YWNo
ZWQgcHJvY2Vzc2VzLCBtYW51YWxseSByZWFkIGFuZCBwcmludCBvdXQgc3Rkb3V0IGFuZAorICAg
ICAgICAjIHN0ZGVyci4gQnkgZGVmYXVsdCwgdGhlIHN1YnByb2Nlc3MgaXMgc3VwcG9zZWQgdG8g
aW5oZXJpdCB0aGVzZSBmcm9tCisgICAgICAgICMgaXRzIHBhcmVudCwgaG93ZXZlciB3aGVuIHJ1
biB1bmRlciBidWlsZGJvdCwgaXQgc2VlbXMgdW5hYmxlIHRvIHJlYWQKKyAgICAgICAgIyBkYXRh
IGZyb20gYSBncmFuZGNoaWxkIHByb2Nlc3MsIHNvIHdlIGhhdmUgdG8gcmVhZCB0aGUgY2hpbGQg
YW5kCisgICAgICAgICMgcHJpbnQgdGhlIGRhdGEgYXMgaWYgaXQgY2FtZSBmcm9tIHVzIGZvciBi
dWlsZGJvdCB0byByZWFkIGl0LgorICAgICAgICAjIFdlJ3JlIG5vdCBzdXJlIHdoeSB0aGlzIGlz
IG5lY2Vzc2FyeS4KKyAgICAgICAgIyBUT0RPKGVyaWtrYXkpOiBzaG91bGQgd2UgYnVmZmVyIHN0
ZGVyciBhbmQgc3Rkb3V0IHNlcGFyYXRlbHk/CisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVu
KHByb2MsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKKworICAgIGxvZ2dpbmcuaW5mbygic3RhcnRl
ZCBzdWJwcm9jZXNzIikKKworICAgICMgSG93IGxvbmcgdG8gd2FpdCAoaW4gc2Vjb25kcykgYmVm
b3JlIHByaW50aW5nIHByb2dyZXNzIGxvZyBtZXNzYWdlcy4KKyAgICBwcm9ncmVzc19kZWxheSA9
IDMwMAorICAgIHByb2dyZXNzX2RlbGF5X3RpbWUgPSB0aW1lLnRpbWUoKSArIHByb2dyZXNzX2Rl
bGF5CisgICAgZGlkX3RpbWVvdXQgPSBGYWxzZQorICAgIGlmIHRpbWVvdXQgPiAwOgorICAgICAg
ICB3YWl0X3VudGlsID0gdGltZS50aW1lKCkgKyB0aW1lb3V0CisgICAgd2hpbGUgcC5wb2xsKCkg
aXMgTm9uZSBhbmQgbm90IGRpZF90aW1lb3V0OgorICAgICAgICBpZiBub3QgZGV0YWNoOgorICAg
ICAgICAgICAgbGluZSA9IHAuc3Rkb3V0LnJlYWRsaW5lKCkKKyAgICAgICAgICAgIHdoaWxlIGxp
bmUgYW5kIG5vdCBkaWRfdGltZW91dDoKKyAgICAgICAgICAgICAgICBfcHJpbnRfbGluZShsaW5l
KQorICAgICAgICAgICAgICAgIGxpbmUgPSBwLnN0ZG91dC5yZWFkbGluZSgpCisgICAgICAgICAg
ICAgICAgaWYgdGltZW91dCA+IDA6CisgICAgICAgICAgICAgICAgICAgIGRpZF90aW1lb3V0ID0g
dGltZS50aW1lKCkgPiB3YWl0X3VudGlsCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIFdo
ZW4gd2UgZGV0YWNoLCBibG9ja2luZyBvbiByZWFkaW5nIHN0ZG91dCBkb2Vzbid0IHdvcmssIHNv
CisgICAgICAgICAgICAjIHdlIHNsZWVwIGEgc2hvcnQgdGltZSBhbmQgcG9sbC4KKyAgICAgICAg
ICAgIHRpbWUuc2xlZXAoMC41KQorICAgICAgICAgICAgaWYgdGltZS50aW1lKCkgPj0gcHJvZ3Jl
c3NfZGVsYXlfdGltZToKKyAgICAgICAgICAgICAgICAjIEZvcmNlIG91dHB1dCBvbiBhIHBlcmlv
ZGljIGJhc2lzIHRvIGF2b2lkIGdldHRpbmcga2lsbGVkIG9mZgorICAgICAgICAgICAgICAgICMg
YnkgdGhlIGJ1aWxkYm90LgorICAgICAgICAgICAgICAgICMgVE9ETyhlcmlra2F5KTogSSdkIHBy
ZWZlciBhIGxlc3Mgb2J0cnVzaXZlICdwcmludCAiLiIsJyB3aXRoCisgICAgICAgICAgICAgICAg
IyBhIGZsdXNoIGJ1dCBiZWNhdXNlIG9mIGhvdyB3ZSdyZSBkb2luZyBzdWJwcm9jZXNzZXMsIHRo
aXMKKyAgICAgICAgICAgICAgICAjIGRvZXNuJ3QgYXBwZWFyIHRvIHdvcmsgcmVsaWFibHkuCisg
ICAgICAgICAgICAgICAgbG9nZ2luZy5pbmZvKCIlcyBzdGlsbCBydW5uaW5nLi4uIiAlIG9zLnBh
dGguYmFzZW5hbWUocHJvY1swXSkpCisgICAgICAgICAgICAgICAgcHJvZ3Jlc3NfZGVsYXlfdGlt
ZSA9IHRpbWUudGltZSgpICsgcHJvZ3Jlc3NfZGVsYXkKKyAgICAgICAgaWYgdGltZW91dCA+IDA6
CisgICAgICAgICAgICBkaWRfdGltZW91dCA9IHRpbWUudGltZSgpID4gd2FpdF91bnRpbAorCisg
ICAgaWYgZGlkX3RpbWVvdXQ6CisgICAgICAgIGxvZ2dpbmcuaW5mbygicHJvY2VzcyB0aW1lZCBv
dXQiKQorICAgIGVsc2U6CisgICAgICAgIGxvZ2dpbmcuaW5mbygicHJvY2VzcyBlbmRlZCwgZGlk
IG5vdCB0aW1lIG91dCIpCisKKyAgICBpZiBkaWRfdGltZW91dDoKKyAgICAgICAgaWYgSXNXaW5k
b3dzKCk6CisgICAgICAgICAgICBzdWJwcm9jZXNzLmNhbGwoWyJ0YXNra2lsbCIsICIvVCIsICIv
RiIsICIvUElEIiwgc3RyKHAucGlkKV0pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIERv
ZXMgdGhpcyBraWxsIGFsbCBjaGlsZHJlbiwgdG9vPworICAgICAgICAgICAgb3Mua2lsbChwLnBp
ZCwgc2lnbmFsLlNJR0lOVCkKKyAgICAgICAgbG9nZ2luZy5lcnJvcigiS0lMTEVEICVkIiAlIHAu
cGlkKQorICAgICAgICAjIEdpdmUgdGhlIHByb2Nlc3MgYSBjaGFuY2UgdG8gYWN0dWFsbHkgZGll
IGJlZm9yZSBjb250aW51aW5nCisgICAgICAgICMgc28gdGhhdCBjbGVhbnVwIGNhbiBoYXBwZW4g
c2FmZWx5LgorICAgICAgICB0aW1lLnNsZWVwKDEuMCkKKyAgICAgICAgbG9nZ2luZy5lcnJvcigi
VElNRU9VVCB3YWl0aW5nIGZvciAlcyIgJSBwcm9jWzBdKQorICAgICAgICByYWlzZSBUaW1lb3V0
RXJyb3IocHJvY1swXSkKKyAgICBlbGlmIG5vdCBkZXRhY2g6CisgICAgICAgIGZvciBsaW5lIGlu
IHAuc3Rkb3V0LnJlYWRsaW5lcygpOgorICAgICAgICAgICAgX3ByaW50X2xpbmUobGluZSwgRmFs
c2UpCisgICAgICAgIGlmIG5vdCBJc01hYygpOiAgICAgIyBzdGRvdXQgZmx1c2ggZmFpbHMgb24g
TWFjCisgICAgICAgICAgICBsb2dnaW5nLmluZm8oImZsdXNoaW5nIHN0ZG91dCIpCisgICAgICAg
ICAgICBwLnN0ZG91dC5mbHVzaCgpCisKKyAgICBsb2dnaW5nLmluZm8oImNvbGxlY3RpbmcgcmVz
dWx0IGNvZGUiKQorICAgIHJlc3VsdCA9IHAucG9sbCgpCisgICAgaWYgcmVzdWx0OgorICAgICAg
ICBsb2dnaW5nLmVycm9yKCIlcyBleGl0ZWQgd2l0aCBub24temVybyByZXN1bHQgY29kZSAlZCIg
JQorICAgICAgICAgICAgICAgICAgICAgIChwcm9jWzBdLCByZXN1bHQpKQorICAgIHJldHVybiBy
ZXN1bHQKKworCitkZWYgSXNMaW51eCgpOgorICAgIHJldHVybiBzeXMucGxhdGZvcm0uc3RhcnRz
d2l0aCgnbGludXgnKQorCisKK2RlZiBJc01hYygpOgorICAgIHJldHVybiBzeXMucGxhdGZvcm0u
c3RhcnRzd2l0aCgnZGFyd2luJykKKworCitkZWYgSXNXaW5kb3dzKCk6CisgICAgcmV0dXJuIHN5
cy5wbGF0Zm9ybSA9PSAnY3lnd2luJyBvciBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJykK
KworCitkZWYgV2luZG93c1ZlcnNpb25OYW1lKCk6CisgICAgIiIiUmV0dXJucyB0aGUgbmFtZSBv
ZiB0aGUgV2luZG93cyB2ZXJzaW9uIGlmIGl0IGlzIGtub3duLCBvciBOb25lLgorCisgICAgUG9z
c2libGUgcmV0dXJuIHZhbHVlcyBhcmU6IHhwLCB2aXN0YSwgNywgOCwgb3IgTm9uZQorICAgICIi
IgorICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnY3lnd2luJzoKKyAgICAgICAgIyBXaW5kb3dzIHZl
cnNpb24gbnVtYmVyIGlzIGhpZGluZyBpbiBzeXN0ZW0gbmFtZS4gICAgTG9va3MgbGlrZToKKyAg
ICAgICAgIyBDWUdXSU5fTlQtNi4xLVdPVzY0CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHZl
cnNpb25fc3RyID0gcGxhdGZvcm0udW5hbWUoKVswXS5zcGxpdCgnLScpWzFdCisgICAgICAgIGV4
Y2VwdDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgZWxpZiBzeXMucGxhdGZvcm0uc3Rh
cnRzd2l0aCgnd2luJyk6CisgICAgICAgICMgTm9ybWFsIFdpbmRvd3MgdmVyc2lvbiBzdHJpbmcu
ICAgIE1pbmU6IDYuMS43NjAxCisgICAgICAgIHZlcnNpb25fc3RyID0gcGxhdGZvcm0udmVyc2lv
bigpCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIHBhcnRzID0gdmVyc2lv
bl9zdHIuc3BsaXQoJy4nKQorICAgIHRyeToKKyAgICAgICAgbWFqb3IgPSBpbnQocGFydHNbMF0p
CisgICAgICAgIG1pbm9yID0gaW50KHBhcnRzWzFdKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcmV0
dXJuIE5vbmUgICAgIyBDYW4ndCBwYXJzZSwgdW5rbm93biB2ZXJzaW9uLgorCisgICAgaWYgbWFq
b3IgPT0gNToKKyAgICAgICAgcmV0dXJuICd4cCcKKyAgICBlbGlmIG1ham9yID09IDYgYW5kIG1p
bm9yID09IDA6CisgICAgICAgIHJldHVybiAndmlzdGEnCisgICAgZWxpZiBtYWpvciA9PSA2IGFu
ZCBtaW5vciA9PSAxOgorICAgICAgICByZXR1cm4gJzcnCisgICAgZWxpZiBtYWpvciA9PSA2IGFu
ZCBtaW5vciA9PSAyOgorICAgICAgICByZXR1cm4gJzgnICAgICMgRnV0dXJlIHByb29mLiAgICA7
KQorICAgIHJldHVybiBOb25lCisKKworZGVmIFBsYXRmb3JtTmFtZXMoKToKKyAgICAiIiJSZXR1
cm4gYW4gYXJyYXkgb2Ygc3RyaW5nIHRvIGJlIHVzZWQgaW4gcGF0aHMgZm9yIHRoZSBwbGF0Zm9y
bQorICAgIChlLmcuIHN1cHByZXNzaW9ucywgZ3Rlc3QgZmlsdGVycywgaWdub3JlIGZpbGVzIGV0
Yy4pCisgICAgVGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGFycmF5IGRlc2NyaWJlcyB0aGUgJ21h
aW4nIHBsYXRmb3JtCisgICAgIiIiCisgICAgaWYgSXNMaW51eCgpOgorICAgICAgICByZXR1cm4g
WydsaW51eCddCisgICAgaWYgSXNNYWMoKToKKyAgICAgICAgcmV0dXJuIFsnbWFjJ10KKyAgICBp
ZiBJc1dpbmRvd3MoKToKKyAgICAgICAgbmFtZXMgPSBbJ3dpbjMyJ10KKyAgICAgICAgdmVyc2lv
bl9uYW1lID0gV2luZG93c1ZlcnNpb25OYW1lKCkKKyAgICAgICAgaWYgdmVyc2lvbl9uYW1lIGlz
IG5vdCBOb25lOgorICAgICAgICAgICAgbmFtZXMuYXBwZW5kKCd3aW4tJXMnICUgdmVyc2lvbl9u
YW1lKQorICAgICAgICByZXR1cm4gbmFtZXMKKyAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9y
KCdVbmtub3duIHBsYXRmb3JtICIlcyIuJyAlIHN5cy5wbGF0Zm9ybSkKKworCitkZWYgUHV0RW52
QW5kTG9nKGVudl9uYW1lLCBlbnZfdmFsdWUpOgorICAgIG9zLnB1dGVudihlbnZfbmFtZSwgZW52
X3ZhbHVlKQorICAgIGxvZ2dpbmcuaW5mbygnZXhwb3J0ICVzPSVzJywgZW52X25hbWUsIGVudl92
YWx1ZSkKKworCitkZWYgQm9yaW5nQ2FsbGVycyhtYW5nbGVkLCB1c2VfcmVfd2lsZGNhcmRzKToK
KyAgICAiIiJSZXR1cm4gYSBsaXN0IG9mICdib3JpbmcnIGZ1bmN0aW9uIG5hbWVzIChvcHRpbmFs
bHkgbWFuZ2xlZCkKKyAgICB3aXRoICovPyB3aWxkY2FyZHMgKG9wdGlvbmFsbHkgLiovLikuCisg
ICAgQm9yaW5nID0gd2UgZHJvcCBvZmYgdGhlIGJvdHRvbSBvZiBzdGFjayB0cmFjZXMgYmVsb3cg
c3VjaCBmdW5jdGlvbnMuCisgICAgIiIiCisKKyAgICBuZWVkX21hbmdsaW5nID0gWworICAgICAg
ICAjIERvbid0IHNob3cgb3VyIHRlc3RpbmcgZnJhbWV3b3JrOgorICAgICAgICAoInRlc3Rpbmc6
OlRlc3Q6OlJ1biIsICAgICAgICAgIl9aTjd0ZXN0aW5nNFRlc3QzUnVuRXYiKSwKKyAgICAgICAg
KCJ0ZXN0aW5nOjpUZXN0SW5mbzo6UnVuIiwgIl9aTjd0ZXN0aW5nOFRlc3RJbmZvM1J1bkV2Iiks
CisgICAgICAgICgidGVzdGluZzo6aW50ZXJuYWw6OkhhbmRsZSpFeGNlcHRpb25zSW5NZXRob2RJ
ZlN1cHBvcnRlZCoiLAorICAgICAgICAgIl9aTjd0ZXN0aW5nOGludGVybmFsMz9IYW5kbGUqRXhj
ZXB0aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQqIiksCisKKyAgICAgICAgIyBEZXBlbmQgb24gc2No
ZWR1bGluZzoKKyAgICAgICAgKCJNZXNzYWdlTG9vcDo6UnVuIiwgICAgICAgICAiX1pOMTFNZXNz
YWdlTG9vcDNSdW5FdiIpLAorICAgICAgICAoIk1lc3NhZ2VMb29wOjpSdW5UYXNrIiwgIl9aTjEx
TWVzc2FnZUxvb3A3UnVuVGFzayoiKSwKKyAgICAgICAgKCJSdW5uYWJsZU1ldGhvZCoiLCAgICAg
ICAgICAgICJfWk4xNFJ1bm5hYmxlTWV0aG9kKiIpLAorICAgICAgICAoIkRpc3BhdGNoVG9NZXRo
b2QqIiwgICAgICAgICJfWioxNkRpc3BhdGNoVG9NZXRob2QqIiksCisgICAgICAgICgiYmFzZTo6
aW50ZXJuYWw6Okludm9rZXIqOjpEb0ludm9rZSoiLAorICAgICAgICAgIl9aTjRiYXNlOGludGVy
bmFsOEludm9rZXIqRG9JbnZva2UqIiksICAgICMgSW52b2tlcnsxLDIsM30KKyAgICAgICAgKCJi
YXNlOjppbnRlcm5hbDo6UnVubmFibGVBZGFwdGVyKjo6UnVuKiIsCisgICAgICAgICAiX1pONGJh
c2U4aW50ZXJuYWwxNVJ1bm5hYmxlQWRhcHRlcipSdW4qIiksCisgICAgXQorCisgICAgcmV0ID0g
W10KKyAgICBmb3IgcGFpciBpbiBuZWVkX21hbmdsaW5nOgorICAgICAgICByZXQuYXBwZW5kKHBh
aXJbMSBpZiBtYW5nbGVkIGVsc2UgMF0pCisKKyAgICByZXQgKz0gWworICAgICAgICAjIEFsc28g
ZG9uJ3Qgc2hvdyB0aGUgaW50ZXJuYWxzIG9mIGxpYmMvcHRocmVhZC4KKyAgICAgICAgInN0YXJ0
X3RocmVhZCIsCisgICAgICAgICJtYWluIiwKKyAgICAgICAgIkJhc2VUaHJlYWRJbml0VGh1bmsi
LAorICAgIF0KKworICAgIGlmIHVzZV9yZV93aWxkY2FyZHM6CisgICAgICAgIGZvciBpIGluIHJh
bmdlKDAsIGxlbihyZXQpKToKKyAgICAgICAgICAgIHJldFtpXSA9IHJldFtpXS5yZXBsYWNlKCcq
JywgJy4qJykucmVwbGFjZSgnPycsICcuJykKKworICAgIHJldHVybiByZXQKKworCitkZWYgTm9y
bWFsaXplV2luZG93c1BhdGgocGF0aCk6CisgICAgIiIiSWYgd2UncmUgdXNpbmcgQ3lnd2luIFB5
dGhvbiwgdHVybiB0aGUgcGF0aCBpbnRvIGEgV2luZG93cyBwYXRoLgorCisgICAgRG9uJ3QgdHVy
biBmb3J3YXJkIHNsYXNoZXMgaW50byBiYWNrc2xhc2hlcyBmb3IgZWFzaWVyIGNvcHktcGFzdGlu
ZyBhbmQKKyAgICBlc2NhcGluZy4KKworICAgIFRPRE8ocm5rKTogSWYgd2UgZXZlciB3YW50IHRv
IGN1dCBvdXQgdGhlIHN1YnByb2Nlc3MgaW52b2NhdGlvbiwgd2UgY2FuIHVzZQorICAgIF93aW5y
ZWcgdG8gZ2V0IHRoZSByb290IEN5Z3dpbiBkaXJlY3RvcnkgZnJvbSB0aGUgcmVnaXN0cnkga2V5
OgorICAgIEhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FSRVxDeWd3aW5cc2V0dXBccm9vdGRpci4K
KyAgICAiIiIKKyAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgiY3lnd2luIik6CisgICAg
ICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFsiY3lncGF0aCIsICItbSIsIHBhdGhdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9j
ZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKKyAgICAgICAgKG91dCwgZXJyKSA9IHAuY29tbXVu
aWNhdGUoKQorICAgICAgICBpZiBlcnI6CisgICAgICAgICAgICBsb2dnaW5nLndhcm5pbmcoIldB
Uk5JTkc6IGN5Z3BhdGggZXJyb3I6ICVzIiwgZXJyKQorICAgICAgICByZXR1cm4gb3V0LnN0cmlw
KCkKKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gcGF0aAorCisjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCisjIENvbW1vbiBvdXRwdXQgZm9ybWF0IGNvZGUKKworCitkZWYgUHJpbnRVc2Vk
U3VwcHJlc3Npb25zTGlzdChzdXBwY291bnRzKToKKyAgICAiIiIgUHJpbnRzIG91dCB0aGUgbGlz
dCBvZiB1c2VkIHN1cHByZXNzaW9ucyBpbiBhIGZvcm1hdCBjb21tb24gdG8gYWxsIHRoZQorICAg
ICAgICBtZW1vcnkgdG9vbHMuIElmIHRoZSBsaXN0IGlzIGVtcHR5LCBwcmludHMgbm90aGluZyBh
bmQgcmV0dXJucyBGYWxzZSwKKyAgICAgICAgb3RoZXJ3aXNlIFRydWUuCisKKyAgICAgICAgc3Vw
cGNvdW50czogYSBkaWN0aW9uYXJ5IG9mIHVzZWQgc3VwcHJlc3Npb24gY291bnRzLAorICAgICAg
ICAgICAgICAgICAgICBLZXkgLT4gbmFtZSwgVmFsdWUgLT4gY291bnQuCisgICAgIiIiCisgICAg
aWYgbm90IHN1cHBjb3VudHM6CisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgcHJpbnQgIi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorICAg
IHByaW50ICJTdXBwcmVzc2lvbnMgdXNlZDoiCisgICAgcHJpbnQgIiAgICBjb3VudCBuYW1lIgor
ICAgIGZvciAobmFtZSwgY291bnQpIGluIHNvcnRlZChzdXBwY291bnRzLml0ZW1zKCksIGtleT1s
YW1iZGEgKGssIHYpOiAodiwgaykpOgorICAgICAgICBwcmludCAiJTdkICVzIiAlIChjb3VudCwg
bmFtZSkKKyAgICBwcmludCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0iCisgICAgc3lzLnN0ZG91dC5mbHVzaCgpCisgICAgcmV0dXJuIFRydWUK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9nZGJfaGVscGVyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2dkYl9oZWxwZXIucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE4
NWFiYmYwYzhlNWJlZmQ0MjZiMzM1YTEyNDEyODkwNzM3M2NhMwotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9nZGJfaGVscGVyLnB5CkBAIC0wLDAgKzEsMTE4
IEBACisjIENvcHlyaWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBPcmlnaW5hbGx5IGZyb20gQ2hyb21pdW0sIGNvcHlyaWdodCBhcyBm
b2xsb3dzOgorIworIyBDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1l
dDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisnJycgQSBidW5jaCBvZiBo
ZWxwZXIgZnVuY3Rpb25zIGZvciBxdWVyeWluZyBnZGIuJycnCisKK2ltcG9ydCBsb2dnaW5nCitp
bXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHRlbXBmaWxlCisKK0dEQl9MSU5FX1JFID0gcmUu
Y29tcGlsZShyJ0xpbmUgKFswLTldKikgb2YgIihbXiJdKikiLionKQorCisKK2RlZiBfR2RiT3V0
cHV0VG9GaWxlTGluZShvdXRwdXRfbGluZSk6CisgICAgJycnIFBhcnNlIHRoZSBnZGIgb3V0cHV0
IGxpbmUsIHJldHVybiBhIHBhaXIgKGZpbGUsIGxpbmUgbnVtKSAnJycKKyAgICBtYXRjaCA9IEdE
Ql9MSU5FX1JFLm1hdGNoKG91dHB1dF9saW5lKQorICAgIGlmIG1hdGNoOgorICAgICAgICByZXR1
cm4gbWF0Y2guZ3JvdXBzKClbMV0sIG1hdGNoLmdyb3VwcygpWzBdCisgICAgZWxzZToKKyAgICAg
ICAgcmV0dXJuIE5vbmUKKworCitkZWYgUmVzb2x2ZUFkZHJlc3Nlc1dpdGhpbkFCaW5hcnkoYmlu
YXJ5X25hbWUsIGxvYWRfYWRkcmVzcywgYWRkcmVzc19saXN0KToKKyAgICAnJycgRm9yIGVhY2gg
YWRkcmVzcywgcmV0dXJuIGEgcGFpciAoZmlsZSwgbGluZSBudW0pICcnJworICAgIGNvbW1hbmRz
ID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkKKyAgICBjb21tYW5kcy53cml0ZSgnYWRk
LXN5bWJvbC1maWxlICIlcyIgJXNcbicgJSAoYmluYXJ5X25hbWUsIGxvYWRfYWRkcmVzcykpCisg
ICAgZm9yIGFkZHIgaW4gYWRkcmVzc19saXN0OgorICAgICAgICBjb21tYW5kcy53cml0ZSgnaW5m
byBsaW5lIColc1xuJyAlIGFkZHIpCisgICAgY29tbWFuZHMud3JpdGUoJ3F1aXRcbicpCisgICAg
Y29tbWFuZHMuZmx1c2goKQorICAgIGdkYl9jb21tYW5kbGluZSA9ICdnZGIgLWJhdGNoIC14ICVz
IDI+L2Rldi9udWxsJyAlIGNvbW1hbmRzLm5hbWUKKyAgICBnZGJfcGlwZSA9IG9zLnBvcGVuKGdk
Yl9jb21tYW5kbGluZSkKKyAgICByZXN1bHQgPSBnZGJfcGlwZS5yZWFkbGluZXMoKQorCisgICAg
YWRkcmVzc19jb3VudCA9IDAKKyAgICByZXQgPSB7fQorICAgIGZvciBsaW5lIGluIHJlc3VsdDoK
KyAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdMaW5lJyk6CisgICAgICAgICAgICByZXRbYWRk
cmVzc19saXN0W2FkZHJlc3NfY291bnRdXSA9IF9HZGJPdXRwdXRUb0ZpbGVMaW5lKGxpbmUpCisg
ICAgICAgICAgICBhZGRyZXNzX2NvdW50ICs9IDEKKyAgICAgICAgaWYgbGluZS5zdGFydHN3aXRo
KCdObyBsaW5lJyk6CisgICAgICAgICAgICByZXRbYWRkcmVzc19saXN0W2FkZHJlc3NfY291bnRd
XSA9IChOb25lLCBOb25lKQorICAgICAgICAgICAgYWRkcmVzc19jb3VudCArPSAxCisgICAgZ2Ri
X3BpcGUuY2xvc2UoKQorICAgIGNvbW1hbmRzLmNsb3NlKCkKKyAgICByZXR1cm4gcmV0CisKKwor
Y2xhc3MgQWRkcmVzc1RhYmxlKG9iamVjdCk6CisgICAgJycnIE9iamVjdCB0byBkbyBiYXRjaGVk
IGxpbmUgbnVtYmVyIGxvb2t1cC4gJycnCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAg
ICBzZWxmLl9sb2FkX2FkZHJlc3NlcyA9IHt9CisgICAgICAgIHNlbGYuX2JpbmFyaWVzID0ge30K
KyAgICAgICAgc2VsZi5fYWxsX3Jlc29sdmVkID0gRmFsc2UKKworICAgIGRlZiBBZGRCaW5hcnlB
dChzZWxmLCBiaW5hcnksIGxvYWRfYWRkcmVzcyk6CisgICAgICAgICcnJyBSZWdpc3RlciBhIG5l
dyBzaGFyZWQgbGlicmFyeSBvciBleGVjdXRhYmxlLiAnJycKKyAgICAgICAgc2VsZi5fbG9hZF9h
ZGRyZXNzZXNbYmluYXJ5XSA9IGxvYWRfYWRkcmVzcworCisgICAgZGVmIEFkZChzZWxmLCBiaW5h
cnksIGFkZHJlc3MpOgorICAgICAgICAnJycgUmVnaXN0ZXIgYSBsb29rdXAgcmVxdWVzdC4gJycn
CisgICAgICAgIGlmIGJpbmFyeSA9PSAnJzoKKyAgICAgICAgICAgIGxvZ2dpbmcud2FybignYWRk
aW5nIGFkZHJlc3MgJXMgaW4gZW1wdHkgYmluYXJ5PycgJSBhZGRyZXNzKQorICAgICAgICBpZiBi
aW5hcnkgaW4gc2VsZi5fYmluYXJpZXM6CisgICAgICAgICAgICBzZWxmLl9iaW5hcmllc1tiaW5h
cnldLmFwcGVuZChhZGRyZXNzKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fYmlu
YXJpZXNbYmluYXJ5XSA9IFthZGRyZXNzXQorICAgICAgICBzZWxmLl9hbGxfcmVzb2x2ZWQgPSBG
YWxzZQorCisgICAgZGVmIFJlc29sdmVBbGwoc2VsZik6CisgICAgICAgICcnJyBDYXJyeSBvdXQg
YWxsIGxvb2t1cCByZXF1ZXN0cy4gJycnCisgICAgICAgIHNlbGYuX3RyYW5zbGF0aW9uID0ge30K
KyAgICAgICAgZm9yIGJpbmFyeSBpbiBzZWxmLl9iaW5hcmllcy5rZXlzKCk6CisgICAgICAgICAg
ICBpZiBiaW5hcnkgIT0gJycgYW5kIGJpbmFyeSBpbiBzZWxmLl9sb2FkX2FkZHJlc3NlczoKKyAg
ICAgICAgICAgICAgICBsb2FkX2FkZHJlc3MgPSBzZWxmLl9sb2FkX2FkZHJlc3Nlc1tiaW5hcnld
CisgICAgICAgICAgICAgICAgYWRkciA9IFJlc29sdmVBZGRyZXNzZXNXaXRoaW5BQmluYXJ5KAor
ICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5LCBsb2FkX2FkZHJlc3MsIHNlbGYuX2JpbmFy
aWVzW2JpbmFyeV0pCisgICAgICAgICAgICAgICAgc2VsZi5fdHJhbnNsYXRpb25bYmluYXJ5XSA9
IGFkZHIKKyAgICAgICAgc2VsZi5fYWxsX3Jlc29sdmVkID0gVHJ1ZQorCisgICAgZGVmIEdldEZp
bGVMaW5lKHNlbGYsIGJpbmFyeSwgYWRkcik6CisgICAgICAgICcnJyBHZXQgdGhlIChmaWxlbmFt
ZSwgbGluZW51bSkgcmVzdWx0IG9mIGEgcHJldmlvdXNseS1yZWdpc3RlcmVkCisgICAgICAgIGxv
b2t1cCByZXF1ZXN0LgorICAgICAgICAnJycKKyAgICAgICAgaWYgc2VsZi5fYWxsX3Jlc29sdmVk
OgorICAgICAgICAgICAgaWYgYmluYXJ5IGluIHNlbGYuX3RyYW5zbGF0aW9uOgorICAgICAgICAg
ICAgICAgIGlmIGFkZHIgaW4gc2VsZi5fdHJhbnNsYXRpb25bYmluYXJ5XToKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHNlbGYuX3RyYW5zbGF0aW9uW2JpbmFyeV1bYWRkcl0KKyAgICAgICAg
cmV0dXJuIChOb25lLCBOb25lKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKaW5kZXggNjNi
OGViODlhNThiZjViZjg5ZjJmZmJlMGQ1NGM1YTk4OTNkYjE1Yy4uOWQ0Y2RkMWUwYTFmZGYyMjMy
NWRjZmZhY2QxOGFiZjMwMjAwNWViZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2d0ay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CkBA
IC0xLDQgKzEsNSBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAt
MjgsMTIgKzI5LDEzIEBACiAKIGltcG9ydCBvcwogaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCB1
dWlkCiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRp
b24gaW1wb3J0IFRlc3RDb25maWd1cmF0aW9uCiBmcm9tIHdlYmtpdHB5LnBvcnQuYmFzZSBpbXBv
cnQgUG9ydAogZnJvbSB3ZWJraXRweS5wb3J0LnB1bHNlYXVkaW9fc2FuaXRpemVyIGltcG9ydCBQ
dWxzZUF1ZGlvU2FuaXRpemVyCiBmcm9tIHdlYmtpdHB5LnBvcnQueHZmYmRyaXZlciBpbXBvcnQg
WHZmYkRyaXZlcgotCitmcm9tIHdlYmtpdHB5LnBvcnQuZ3RrX2xlYWtkZXRlY3RvciBpbXBvcnQg
R3RrTGVha0RldGVjdG9yCiAKIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgcG9ydF9uYW1lID0g
Imd0ayIKQEAgLTQyLDYgKzQ0LDE0IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgIHN1
cGVyKEd0a1BvcnQsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKICAgICAgICAgc2Vs
Zi5fcHVsc2VhdWRpb19zYW5pdGl6ZXIgPSBQdWxzZUF1ZGlvU2FuaXRpemVyKCkKIAorICAgICAg
ICBzZWxmLl9sZWFrX2RldGVjdG9yID0gR3RrTGVha0RldGVjdG9yKHNlbGYpCisgICAgICAgIGlm
IHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLmdldF9v
cHRpb24oIndyYXBwZXIiKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd1c2Ug
LS13cmFwcGVyPVwidmFsZ3JpbmRcIiBmb3IgbWVtb3J5IGxlYWsgZGV0ZWN0aW9uIG9uIEdUSycp
CisgICAgICAgICAgICAjIER1bXBSZW5kZXJUcmVlIHNsb3dzIGRvd24gbm90aWNhYmx5IGlmIHdl
IHJ1biBtb3JlIHRoYW4gYWJvdXQgMTAwMCB0ZXN0cyBpbiBhIGJhdGNoCisgICAgICAgICAgICAj
IHdpdGggTWFsbG9jU3RhY2tMb2dnaW5nIGVuYWJsZWQuCisgICAgICAgICAgICBzZWxmLnNldF9v
cHRpb25fZGVmYXVsdCgiYmF0Y2hfc2l6ZSIsIDEwMDApCisKICAgICBkZWYgd2Fybl9pZl9idWdf
bWlzc2luZ19pbl90ZXN0X2V4cGVjdGF0aW9ucyhzZWxmKToKICAgICAgICAgcmV0dXJuIG5vdCBz
ZWxmLmdldF9vcHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5lcicpCiAKQEAgLTU0LDggKzY0LDE2IEBA
IGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgZGVmIGRlZmF1bHRfdGltZW91dF9tcyhzZWxmKToK
ICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykgPT0gJ0RlYnVnJzoK
ICAgICAgICAgICAgIHJldHVybiAxMiAqIDEwMDAKKyAgICAgICAgZWxpZiBzZWxmLmdldF9vcHRp
b24oImxlYWtzIik6CisgICAgICAgICAgICByZXR1cm4gMTIwICogMTAwMAogICAgICAgICByZXR1
cm4gNiAqIDEwMDAKIAorICAgIGRlZiBkcml2ZXJfc3RvcF90aW1lb3V0KHNlbGYpOgorICAgICAg
ICAiIiIgUmV0dXJucyB0aGUgYW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyB0byB3YWl0IGJlZm9y
ZSBraWxsaW5nIHRoZSBwcm9jZXNzIGluIGRyaXZlci5zdG9wKCkuIiIiCisgICAgICAgICMgV2Ug
d2FudCB0byB3YWl0IGZvciBhdCBsZWFzdCAzIHNlY29uZHMsIGJ1dCBpZiB3ZSBhcmUgcmVhbGx5
IHNsb3csIHdlIHdhbnQgdG8gYmUgc2xvdyBvbiBjbGVhbnVwIGFzCisgICAgICAgICMgd2VsbCAo
Zm9yIHRoaW5ncyBsaWtlIEFTQU4sIFZhbGdyaW5kLCBldGMuKQorICAgICAgICByZXR1cm4gMy4w
ICogc2VsZi5kZWZhdWx0X3RpbWVvdXRfbXMoKQorCiAgICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNl
bGYpOgogICAgICAgICBzdXBlcihHdGtQb3J0LCBzZWxmKS5zZXR1cF90ZXN0X3J1bigpCiAgICAg
ICAgIHNlbGYuX3B1bHNlYXVkaW9fc2FuaXRpemVyLnVubG9hZF9wdWxzZWF1ZGlvX21vZHVsZSgp
CkBAIC02OSwxNyArODcsNDEgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAgZW52aXJv
bm1lbnRbJ0dUS19NT0RVTEVTJ10gPSAnZ2FpbCcKICAgICAgICAgZW52aXJvbm1lbnRbJ0dTRVRU
SU5HU19CQUNLRU5EJ10gPSAnbWVtb3J5JwogICAgICAgICBlbnZpcm9ubWVudFsnTElCT1ZFUkxB
WV9TQ1JPTExCQVInXSA9ICcwJwotICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfSU5K
RUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdMaWJyYXJpZXMnLCAn
bGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLmxhJykKLSAgICAgICAgZW52aXJvbm1lbnRbJ1RF
U1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ1Rlc3ROZXRz
Y2FwZVBsdWdpbicsICcubGlicycpCi0gICAgICAgIGVudmlyb25tZW50WydXRUJLSVRfSU5TUEVD
VE9SX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ1Byb2dyYW1zJywgJ3Jlc291cmNlcycsICdp
bnNwZWN0b3InKQotICAgICAgICBlbnZpcm9ubWVudFsnQVVESU9fUkVTT1VSQ0VTX1BBVEgnXSA9
IHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdTb3VyY2UnLCAnV2ViQ29yZScsICdwbGF0Zm9y
bScsICdhdWRpbycsICdyZXNvdXJjZXMnKQotICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21f
ZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfT1VUUFVURElSJykKKyAgICAgICAg
ZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSddID0gc2Vs
Zi5fYnVpbGRfcGF0aCgKKyAgICAgICAgICAgICdMaWJyYXJpZXMnLCAnbGliVGVzdFJ1bm5lcklu
amVjdGVkQnVuZGxlLmxhJykKKyAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1Rf
UExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoCisgICAgICAgICAgICAnVGVzdE5ldHNj
YXBlUGx1Z2luJywgJy5saWJzJykKKyAgICAgICAgZW52aXJvbm1lbnRbJ1dFQktJVF9JTlNQRUNU
T1JfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgKKyAgICAgICAgICAgICdQcm9ncmFtcycsICdy
ZXNvdXJjZXMnLCAnaW5zcGVjdG9yJykKKyAgICAgICAgZW52aXJvbm1lbnRbJ0FVRElPX1JFU09V
UkNFU19QQVRIJ10gPSBzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgKKyAgICAgICAgICAgICdT
b3VyY2UnLCAnV2ViQ29yZScsICdwbGF0Zm9ybScsICdhdWRpbycsICdyZXNvdXJjZXMnKQorICAg
ICAgICBpZiBzZWxmLmdldF9vcHRpb24oImxlYWtzIik6CisgICAgICAgICAgICBlbnZpcm9ubWVu
dFsnR19TTElDRSddID0gJ2Fsd2F5cy1tYWxsb2MnCisgICAgICAgICAgICB4bWxmaWxlID0gIiIu
am9pbigoJ1wiJywgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpLCAiL2RydC0lcC0iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHV1aWQudXVpZDEoKS5oZXgsICItbGVha3MueG1sIiwg
J1wiJykpCisgICAgICAgICAgICBzdXBwcmVzc2lvbnNmaWxlID0gc2VsZi5wYXRoX2Zyb21fd2Vi
a2l0X2Jhc2UoCisgICAgICAgICAgICAgICAgJ1Rvb2xzJywgJ3ZhbGdyaW5kJywgJ21lbWNoZWNr
JywgJ3N1cHByZXNzaW9ucy50eHQnKQorICAgICAgICAgICAgZW52aXJvbm1lbnRbJ1ZBTEdSSU5E
X09QVFMnXSA9ICItLXRvb2w9bWVtY2hlY2sgIiBcCisgICAgICAgICAgICAgICAgIi0tbnVtLWNh
bGxlcnM9MzAgLS1kZW1hbmdsZT1ubyAtLXRyYWNlLWNoaWxkcmVuPW5vICAiIFwKKyAgICAgICAg
ICAgICAgICAiLS1zbWMtY2hlY2s9YWxsLW5vbi1maWxlIC0tbGVhay1jaGVjaz15ZXMgIiBcCisg
ICAgICAgICAgICAgICAgIi0tbGVhay1yZXNvbHV0aW9uPWxvdyAtLXNob3ctcG9zc2libHktbG9z
dD1ubyAiIFwKKyAgICAgICAgICAgICAgICAiIC0tdW5kZWYtdmFsdWUtZXJyb3JzPW5vICIgXAor
ICAgICAgICAgICAgICAgICItLWdlbi1zdXBwcmVzc2lvbnM9YWxsIC0teG1sPXllcyAtLXhtbC1m
aWxlPSVzICIgXAorICAgICAgICAgICAgICAgICItLXN1cHByZXNzaW9ucz0lcyIgJSAoeG1sZmls
ZSwgc3VwcHJlc3Npb25zZmlsZSkKKyAgICAgICAgICAgICMgRklYTUU6IGluc3RlYWQgd2Ugc2hv
dWxkIGJlIHVzaW5nICJqaGJ1aWxkLXdyYXBwZXIgLS1ndGsgcnVuIgorICAgICAgICAgICAgIyB0
byBlbnN1cmUgd2UgZ2V0IHRoZSBjb3JyZWN0IGxpYnJhcnkgcGF0aAorICAgICAgICAgICAgZW52
aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddID0gc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2Uo
CisgICAgICAgICAgICAgICAgJ1dlYktpdEJ1aWxkJywgJ0RlcGVuZGVuY2llcycsICdSb290Jywg
J2xpYjY0JykKKyAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVu
dmlyb25tZW50LCAnV0VCS0lUT1VUUFVURElSJykKICAgICAgICAgcmV0dXJuIGVudmlyb25tZW50
CiAKICAgICBkZWYgX2dlbmVyYXRlX2FsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKHNlbGYpOgogICAg
ICAgICBjb25maWd1cmF0aW9ucyA9IFtdCiAgICAgICAgIGZvciBidWlsZF90eXBlIGluIHNlbGYu
QUxMX0JVSUxEX1RZUEVTOgotICAgICAgICAgICAgY29uZmlndXJhdGlvbnMuYXBwZW5kKFRlc3RD
b25maWd1cmF0aW9uKHZlcnNpb249c2VsZi5fdmVyc2lvbiwgYXJjaGl0ZWN0dXJlPSd4ODYnLCBi
dWlsZF90eXBlPWJ1aWxkX3R5cGUpKQorICAgICAgICAgICAgY29uZmlndXJhdGlvbnMuYXBwZW5k
KAorICAgICAgICAgICAgICAgIFRlc3RDb25maWd1cmF0aW9uKHZlcnNpb249c2VsZi5fdmVyc2lv
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmNoaXRlY3R1cmU9J3g4Nics
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfdHlwZT1idWlsZF90eXBl
KSkKICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb25zCiAKICAgICBkZWYgX3BhdGhfdG9fZHJp
dmVyKHNlbGYpOgpAQCAtMTE3LDYgKzE1OSwyNCBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAg
IGRlZiBfcG9ydF9zcGVjaWZpY19leHBlY3RhdGlvbnNfZmlsZXMoc2VsZik6CiAgICAgICAgIHJl
dHVybiBbc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoKHAp
LCAnVGVzdEV4cGVjdGF0aW9ucycpIGZvciBwIGluIHJldmVyc2VkKHNlbGYuX3NlYXJjaF9wYXRo
cygpKV0KIAorICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9j
ZXNzX3BpZCwgaXNfcnVubmluZyk6CisgICAgICAgICMgV2l0aCBHdGsgd2UgaW5pdGlhdGUgbWVt
b3J5IGNoZWNraW5nIGJ5IHBhc3NpbmcgdmFsZ3JpbmQgYXMgYSB3cmFwcGVyIHRvIHRoZSB0ZXN0
CisgICAgICAgIHBhc3MKKworICAgIGRlZiBwcmludF9sZWFrc19zdW1tYXJ5KHNlbGYpOgorICAg
ICAgICBpZiBub3Qgc2VsZi5nZXRfb3B0aW9uKCdsZWFrcycpOgorICAgICAgICAgICAgcmV0dXJu
CisgICAgICAgICMgV2UncmUgaW4gdGhlIG1hbmFnZXIgcHJvY2Vzcywgc28gdGhlIGxlYWsgZGV0
ZWN0b3Igd2lsbCBub3QgaGF2ZSBhIHZhbGlkIGxpc3Qgb2YgbGVhayBmaWxlcy4KKyAgICAgICAg
IyBGSVhNRTogVGhpcyBpcyBhIGhhY2ssIGJ1dCB3ZSBkb24ndCBoYXZlIGEgYmV0dGVyIHdheSB0
byBnZXQgdGhpcyBpbmZvcm1hdGlvbiBmcm9tIHRoZSB3b3JrZXJzIHlldC4KKyAgICAgICAgIyBG
SVhNRTogVGhpcyB3aWxsIGluY2x1ZGUgdG9vIG1hbnkgbGVha3MgaW4gc3Vic2VxdWVudCBydW5z
IHVudGlsIHRoZSByZXN1bHRzIGRpcmVjdG9yeSBpcyBjbGVhcmVkIQorICAgICAgICBsZWFrc19m
aWxlcyA9IHNlbGYuX2xlYWtfZGV0ZWN0b3IubGVha3NfZmlsZXNfaW5fZGlyZWN0b3J5KHNlbGYu
cmVzdWx0c19kaXJlY3RvcnkoKSkKKyAgICAgICAgaWYgbm90IGxlYWtzX2ZpbGVzOgorICAgICAg
ICAgICAgcmV0dXJuCisgICAgICAgIHNlbGYuX2xlYWtfZGV0ZWN0b3IucGFyc2VfbGVha3Nfb3V0
cHV0KGxlYWtzX2ZpbGVzKQorICAgICAgICAjdG90YWxfbGVha3MgPSBzZWxmLl9sZWFrX2RldGVj
dG9yLmNvdW50X3RvdGFsX2xlYWtzKGxlYWtzX2ZpbGVzKQorICAgICAgICAjX2xvZy5pbmZvKCIl
cyB0b3RhbCBsZWFrcyBmb3VuZCBmb3IgYSB0b3RhbCBvZiAlcyEiICUgKHRvdGFsX2xlYWtzLCB0
b3RhbF9ieXRlc19zdHJpbmcpKQorICAgICAgICAjX2xvZy5pbmZvKCIlcyB1bmlxdWUgbGVha3Mg
Zm91bmQhIiAlIHVuaXF1ZV9sZWFrcykKKwogICAgICMgRklYTUU6IFdlIHNob3VsZCBmaW5kIGEg
d2F5IHRvIHNoYXJlIHRoaXMgaW1wbG1lbnRhdGlvbiB3aXRoIEd0aywKICAgICAjIG9yIHRlYWNo
IHJ1bi1sYXVuY2hlciBob3cgdG8gY2FsbCBydW4tc2FmYXJpIGFuZCBtb3ZlIHRoaXMgZG93biB0
byBQb3J0LgogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmls
ZW5hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0a19sZWFr
ZGV0ZWN0b3IucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX2xlYWtkZXRlY3Rv
ci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYTBhZTY2ZjgyYjdkYzk3ODI0ZTEyYmI2ZWFlOWM0ZjA3YmM1M2Mx
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0a19sZWFr
ZGV0ZWN0b3IucHkKQEAgLTAsMCArMSw1OCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3Vu
ZyBFbGVjdHJvbmljcy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisj
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CitpbXBvcnQgbG9nZ2luZworCitmcm9tIHdlYmtpdHB5LnBvcnQubWVtY2hlY2tfYW5hbHl6ZSBp
bXBvcnQgTWVtY2hlY2tBbmFseXplcgorCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCisKKworIyBJZiBvdGhlciBwb3J0cy9wbGF0Zm9ybXMgZGVjaWRlIHRvIHN1cHBvcnQgLS1s
ZWFrcywgd2Ugc2hvdWxkIHNlZSBhYm91dAorIyBzaGFyaW5nIGFzIG11Y2ggb2YgdGhpcyBjb2Rl
IGFzIHBvc3NpYmxlLgorIyBUaGlzIGNvZGUgaXMgZm9yIHRoZSBHdGsrIHBvcnQsIHRha2VuIGZy
b20gdGhlIE1hYyBwb3J0LgorCitjbGFzcyBHdGtMZWFrRGV0ZWN0b3Iob2JqZWN0KToKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgcG9ydCk6CisgICAgICAgICMgV2Ugc2hvdWxkIG9wZXJhdGUgb24g
YSAicGxhdGZvcm0iIG5vdCBhIHBvcnQgaGVyZS4KKyAgICAgICAgc2VsZi5fcG9ydCA9IHBvcnQK
KyAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gcG9ydC5fZXhlY3V0aXZlCisgICAgICAgIHNlbGYu
X2ZpbGVzeXN0ZW0gPSBwb3J0Ll9maWxlc3lzdGVtCisgICAgICAgIHNlbGYuX21lbWNoZWNrX2xl
YWtfYW5hbHl6ZXIgPSBNZW1jaGVja0FuYWx5emVyKHBvcnQud2Via2l0X2Jhc2UoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlX2dk
Yj1GYWxzZSkKKworICAgIGRlZiBwYXJzZV9sZWFrc19vdXRwdXQoc2VsZiwgbGVha3NfZmlsZXMp
OgorICAgICAgICBzZWxmLl9tZW1jaGVja19sZWFrX2FuYWx5emVyLlJlcG9ydChsZWFrc19maWxl
cywgIE5vbmUpCisgICAgICAgICNyZXR1cm4gaW50KGNvdW50KSwgaW50KGV4Y2x1ZGVkKSwgaW50
KGJ5dGVzKQorCisgICAgZGVmIGxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLCBkaXJlY3Rv
cnkpOgorICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5nbG9iKHNlbGYuX2ZpbGVzeXN0
ZW0uam9pbihkaXJlY3RvcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICIqLWxlYWtzLnhtbCIpKQorCisgICAgZGVmIGxlYWtzX2Zp
bGVfbmFtZShzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKKyAgICAgICAgcmV0dXJu
ICJkcnQtJXMtbGVha3MueG1sIiAlIChwcm9jZXNzX3BpZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
bWFjLnB5CmluZGV4IDBiMjRjZTcwZWNlN2YxZjZiNDQ2Zjc4OTg4NGVjN2UwNGIxNWI3MzMuLmZh
MTYwNGQ2ZWYxMWUzYmUzMDcwYjRlNjhjNzdhZjY0ZGVlMzYyNmMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L21hYy5weQpAQCAtMTQ3LDggKzE0Nyw5IEBAIGNsYXNzIE1hY1BvcnQoQXBwbGVQb3J0
KToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAg
ZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKLSAg
ICAgICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbignbGVha3MnKToKKyAgICBkZWYgY2hlY2tfZm9y
X2xlYWtzKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQsIGlzX3J1bm5pbmcpOgorICAg
ICAgICAjIE9ubHkgYm90aGVyIHRvIGNoZWNrIGZvciBsZWFrcyBvciBzdGRlcnIgaWYgdGhlIHBy
b2Nlc3MgaXMgc3RpbGwgcnVubmluZy4KKyAgICAgICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbign
bGVha3MnKSBvciBub3QgaXNfcnVubmluZzoKICAgICAgICAgICAgIHJldHVybgogICAgICAgICAj
IFdlIGNvdWxkIHVzZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcHN1dGlsLyB0byBnZXQgdGhl
IHByb2Nlc3NfbmFtZSBmcm9tIHRoZSBwaWQuCiAgICAgICAgIHNlbGYuX2xlYWtfZGV0ZWN0b3Iu
Y2hlY2tfZm9yX2xlYWtzKHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWVtY2hlY2tfYW5hbHl6ZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tZW1jaGVja19hbmFseXplLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiZDU1
ZTAxZmJjMDU1YjQ4ZTlmNTNhZDVmY2ZmNmU1OWJkNWViNjAKLS0tIC9kZXYvbnVsbAorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWVtY2hlY2tfYW5hbHl6ZS5weQpAQCAtMCwwICsx
LDY4MyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxMyBTYW1z
dW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBPcmlnaW5hbGx5IGZy
b20gQ2hyb21pdW0sIGNvcHlyaWdodCBhcyBmb2xsb3dzOgorIworIyBDb3B5cmlnaHQgKGMpIDIw
MTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
IyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCisKKyMgbWVtY2hlY2tfYW5hbHl6ZS5weQorCisnJycgR2l2ZW4gYSB2YWxncmlu
ZCBYTUwgZmlsZSwgcGFyc2VzIGVycm9ycyBhbmQgdW5pcXVlcyB0aGVtLicnJworCitpbXBvcnQg
Z2RiX2hlbHBlcgorCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdAoraW1wb3J0
IGhhc2hsaWIKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcworaW1w
b3J0IHJlCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworaW1wb3J0IHRpbWUKK2Zyb20g
eG1sLmRvbS5taW5pZG9tIGltcG9ydCBwYXJzZQorZnJvbSB4bWwucGFyc2Vycy5leHBhdCBpbXBv
cnQgRXhwYXRFcnJvcgorCitpbXBvcnQgY29tbW9uCisKKyMgR2xvYmFsIHN5bWJvbCB0YWJsZSAo
eXVjaykKK1RoZUFkZHJlc3NUYWJsZSA9IE5vbmUKKworIyBUaGVzZSBhcmUgcmVnZXhwcyB0aGF0
IGRlZmluZSBmdW5jdGlvbnMgKHVzaW5nIEMrKyBtYW5nbGVkIG5hbWVzKQorIyB3ZSBkb24ndCB3
YW50IHRvIHNlZSBpbiBzdGFjayB0cmFjZXMgd2hpbGUgcHJldHR5IHByaW50aW5nCisjIG9yIGdl
bmVyYXRpbmcgc3VwcHJlc3Npb25zLgorIyBKdXN0IHN0b3AgcHJpbnRpbmcgdGhlIHN0YWNrL3N1
cHByZXNzaW9uIGZyYW1lcyB3aGVuIHRoZSBjdXJyZW50IG9uZQorIyBtYXRjaGVzIGFueSBvZiB0
aGVzZS4KK19CT1JJTkdfQ0FMTEVSUyA9IGNvbW1vbi5Cb3JpbmdDYWxsZXJzKG1hbmdsZWQ9VHJ1
ZSwgdXNlX3JlX3dpbGRjYXJkcz1UcnVlKQorCisKK2RlZiBnZXRUZXh0T2YodG9wX25vZGUsIG5h
bWUpOgorICAgICcnJyBSZXR1cm5zIGFsbCB0ZXh0IGluIGFsbCBET00gbm9kZXMgd2l0aCBhIGNl
cnRhaW4gfG5hbWV8IHRoYXQgYXJlCisgICAgY2hpbGRyZW4gb2YgfHRvcF9ub2RlfC4KKyAgICAn
JycKKworICAgIHRleHQgPSAiIgorICAgIGZvciBub2Rlc19uYW1lZCBpbiB0b3Bfbm9kZS5nZXRF
bGVtZW50c0J5VGFnTmFtZShuYW1lKToKKyAgICAgICAgdGV4dCArPSAiIi5qb2luKFtub2RlLmRh
dGEgZm9yIG5vZGUgaW4gbm9kZXNfbmFtZWQuY2hpbGROb2RlcworICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIG5vZGUubm9kZVR5cGUgPT0gbm9kZS5URVhUX05PREVdKQorICAgIHJldHVybiB0
ZXh0CisKKworZGVmIGdldENEQVRBT2YodG9wX25vZGUsIG5hbWUpOgorICAgICcnJyBSZXR1cm5z
IGFsbCBDREFUQSBpbiBhbGwgRE9NIG5vZGVzIHdpdGggYSBjZXJ0YWluIHxuYW1lfCB0aGF0IGFy
ZQorICAgIGNoaWxkcmVuIG9mIHx0b3Bfbm9kZXwuCisgICAgJycnCisKKyAgICB0ZXh0ID0gIiIK
KyAgICBmb3Igbm9kZXNfbmFtZWQgaW4gdG9wX25vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUobmFt
ZSk6CisgICAgICAgIHRleHQgKz0gIiIuam9pbihbbm9kZS5kYXRhIGZvciBub2RlIGluIG5vZGVz
X25hbWVkLmNoaWxkTm9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub2RlLm5vZGVU
eXBlID09IG5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFXSkKKyAgICBpZiAodGV4dCA9PSAiIik6Cisg
ICAgICAgIHJldHVybiBOb25lCisgICAgcmV0dXJuIHRleHQKKworCitkZWYgc2hvcnRlbkZpbGVQ
YXRoKHNvdXJjZV9kaXIsIGRpcmVjdG9yeSk6CisgICAgJycnUmV0dXJucyBhIHN0cmluZyB3aXRo
IHRoZSBzdHJpbmcgcHJlZml4IHxzb3VyY2VfZGlyfCByZW1vdmVkIGZyb20KKyAgICB8ZGlyZWN0
b3J5fC4nJycKKyAgICBwcmVmaXhlc190b19jdXQgPSBbImJ1aWxkL3NyYy8iLCAidmFsZ3JpbmQv
Y29yZWdyaW5kLyJdCisKKyAgICBpZiBzb3VyY2VfZGlyOgorICAgICAgICBwcmVmaXhlc190b19j
dXQuYXBwZW5kKHNvdXJjZV9kaXIpCisKKyAgICBmb3IgcCBpbiBwcmVmaXhlc190b19jdXQ6Cisg
ICAgICAgIGluZGV4ID0gZGlyZWN0b3J5LnJmaW5kKHApCisgICAgICAgIGlmIGluZGV4ICE9IC0x
OgorICAgICAgICAgICAgZGlyZWN0b3J5ID0gZGlyZWN0b3J5W2luZGV4ICsgbGVuKHApOl0KKwor
ICAgIHJldHVybiBkaXJlY3RvcnkKKworIyBDb25zdGFudHMgdGhhdCBnaXZlIHJlYWwgbmFtZXMg
dG8gdGhlIGFiYnJldmlhdGlvbnMgaW4gdmFsZ3JpbmQgWE1MIG91dHB1dC4KK0lOU1RSVUNUSU9O
X1BPSU5URVIgPSAiaXAiCitPQkpFQ1RfRklMRSA9ICJvYmoiCitGVU5DVElPTl9OQU1FID0gImZu
IgorU1JDX0ZJTEVfRElSID0gImRpciIKK1NSQ19GSUxFX05BTUUgPSAiZmlsZSIKK1NSQ19MSU5F
ID0gImxpbmUiCisKKworZGVmIGdhdGhlckZyYW1lcyhub2RlLCBzb3VyY2VfZGlyKToKKyAgICBm
cmFtZXMgPSBbXQorICAgIGZvciBmcmFtZSBpbiBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJm
cmFtZSIpOgorICAgICAgICBmcmFtZV9kaWN0ID0geworICAgICAgICAgICAgSU5TVFJVQ1RJT05f
UE9JTlRFUjogZ2V0VGV4dE9mKGZyYW1lLCBJTlNUUlVDVElPTl9QT0lOVEVSKSwKKyAgICAgICAg
ICAgIE9CSkVDVF9GSUxFOiBnZXRUZXh0T2YoZnJhbWUsIE9CSkVDVF9GSUxFKSwKKyAgICAgICAg
ICAgIEZVTkNUSU9OX05BTUU6IGdldFRleHRPZihmcmFtZSwgRlVOQ1RJT05fTkFNRSksCisgICAg
ICAgICAgICBTUkNfRklMRV9ESVI6IHNob3J0ZW5GaWxlUGF0aCgKKyAgICAgICAgICAgICAgICAg
ICAgc291cmNlX2RpciwgZ2V0VGV4dE9mKGZyYW1lLCBTUkNfRklMRV9ESVIpKSwKKyAgICAgICAg
ICAgIFNSQ19GSUxFX05BTUU6IGdldFRleHRPZihmcmFtZSwgU1JDX0ZJTEVfTkFNRSksCisgICAg
ICAgICAgICBTUkNfTElORTogZ2V0VGV4dE9mKGZyYW1lLCBTUkNfTElORSl9CisKKyAgICAgICAg
IyBJZ25vcmUgdGhpcyBmcmFtZSBhbmQgYWxsIHRoZSBmb2xsb3dpbmcgaWYgaXQncyBhICJib3Jp
bmciIGZ1bmN0aW9uLgorICAgICAgICBlbm91Z2hfZnJhbWVzID0gRmFsc2UKKyAgICAgICAgZm9y
IHJlZ2V4cCBpbiBfQk9SSU5HX0NBTExFUlM6CisgICAgICAgICAgICBpZiByZS5tYXRjaCgiXiVz
JCIgJSByZWdleHAsIGZyYW1lX2RpY3RbRlVOQ1RJT05fTkFNRV0pOgorICAgICAgICAgICAgICAg
IGVub3VnaF9mcmFtZXMgPSBUcnVlCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgaWYg
ZW5vdWdoX2ZyYW1lczoKKyAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgZnJhbWVzICs9IFtm
cmFtZV9kaWN0XQorCisgICAgICAgIGdsb2JhbCBUaGVBZGRyZXNzVGFibGUKKyAgICAgICAgaWYg
VGhlQWRkcmVzc1RhYmxlICE9IE5vbmUgYW5kIGZyYW1lX2RpY3RbU1JDX0xJTkVdID09ICIiOgor
ICAgICAgICAgICAgIyBUcnkgdXNpbmcgZ2RiCisgICAgICAgICAgICBUaGVBZGRyZXNzVGFibGUu
QWRkKGZyYW1lX2RpY3RbT0JKRUNUX0ZJTEVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmcmFtZV9kaWN0W0lOU1RSVUNUSU9OX1BPSU5URVJdKQorICAgIHJldHVybiBmcmFtZXMK
KworCitjbGFzcyBWYWxncmluZEVycm9yOgorICAgICcnJyBUYWtlcyBhIDxET00gRWxlbWVudDog
ZXJyb3I+IG5vZGUgYW5kIHJlYWRzIGFsbCB0aGUgZGF0YSBmcm9tIGl0LiBBCisgICAgVmFsZ3Jp
bmRFcnJvciBpcyBpbW11dGFibGUgYW5kIGlzIGhhc2hlZCBvbiBpdHMgcHJldHR5IHByaW50ZWQg
b3V0cHV0LgorICAgICcnJworCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZV9kaXIsIGVy
cm9yX25vZGUsIGNvbW1hbmRsaW5lLCB0ZXN0Y2FzZSk6CisgICAgICAgICcnJyBDb3BpZXMgYWxs
IHRoZSByZWxldmFudCBpbmZvcm1hdGlvbiBvdXQgb2YgdGhlIERPTSBhbmQgaW50byBvYmplY3QK
KyAgICAgICAgcHJvcGVydGllcy4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgZXJyb3Jf
bm9kZTogVGhlIDxlcnJvcj48L2Vycm9yPiBET00gbm9kZSB3ZSdyZSBleHRyYWN0aW5nIGZyb20u
CisgICAgICAgICAgICBzb3VyY2VfZGlyOiBQcmVmaXggdGhhdCBzaG91bGQgYmUgc3RyaXBwZWQg
ZnJvbSB0aGUgPGRpcj4gbm9kZS4KKyAgICAgICAgICAgIGNvbW1hbmRsaW5lOiBUaGUgY29tbWFu
ZCB0aGF0IHdhcyBydW4gdW5kZXIgdmFsZ3JpbmQKKyAgICAgICAgICAgIHRlc3RjYXNlOiBUaGUg
dGVzdCBjYXNlIG5hbWUsIGlmIGtub3duLgorICAgICAgICAnJycKKworICAgICAgICAjIFZhbGdy
aW5kIGVycm9ycyBjb250YWluIG9uZSA8d2hhdD48c3RhY2s+IHBhaXIsIHBsdXMgYW4gb3B0aW9u
YWwKKyAgICAgICAgIyA8YXV4d2hhdD48c3RhY2s+IHBhaXIsIHBsdXMgYW4gb3B0aW9uYWwgPG9y
aWdpbj48d2hhdD48c3RhY2s+PC9vcmlnaW4+LAorICAgICAgICAjIHBsdXMgKHNpbmNlIDMuNS4w
KSBhIDxzdXBwcmVzc2lvbj48L3N1cHByZXNzaW9uPiBwYWlyLgorICAgICAgICAjIChPcmlnaW4g
aXMgbmljZWx5IGVuY2xvc2VkOyB0b28gYmFkIHRoZSBvdGhlciB0d28gYXJlbid0LikKKyAgICAg
ICAgIyBUaGUgbW9zdCBjb21tb24gd2F5IHRvIHNlZSBhbGwgdGhyZWUgaW4gb25lIHJlcG9ydCBp
cworICAgICAgICAjIGEgc3lzY2FsbCB3aXRoIGEgcGFyYW1ldGVyIHRoYXQgcG9pbnRzIHRvIHVu
aW5pdGlhbGl6ZWQgbWVtb3J5LCBlLmcuCisgICAgICAgICMgRm9ybWF0OgorICAgICAgICAjIDxl
cnJvcj4KKyAgICAgICAgIyAgICAgPHVuaXF1ZT4weDZkPC91bmlxdWU+CisgICAgICAgICMgICAg
IDx0aWQ+MTwvdGlkPgorICAgICAgICAjICAgICA8a2luZD5TeXNjYWxsUGFyYW08L2tpbmQ+Cisg
ICAgICAgICMgICAgIDx3aGF0PlN5c2NhbGwgcGFyYW0gd3JpdGUoYnVmKSBwb2ludHMgdG8gdW5p
bml0aWFsaXNlZCBieXRlKHMpPC93aGF0PgorICAgICAgICAjICAgICA8c3RhY2s+CisgICAgICAg
ICMgICAgICAgICA8ZnJhbWU+CisgICAgICAgICMgICAgICAgICAuLi4KKyAgICAgICAgIyAgICAg
ICAgIDwvZnJhbWU+CisgICAgICAgICMgICAgIDwvc3RhY2s+CisgICAgICAgICMgICAgIDxhdXh3
aGF0PkFkZHJlc3MgMHg1YzlhZjRmIGlzIDcgYnl0ZXMgaW5zaWRlIGEgYmxvY2sgb2YgLi4uPC9h
dXh3aGF0PgorICAgICAgICAjICAgICA8c3RhY2s+CisgICAgICAgICMgICAgICAgICA8ZnJhbWU+
CisgICAgICAgICMgICAgICAgICAuLi4KKyAgICAgICAgIyAgICAgICAgIDwvZnJhbWU+CisgICAg
ICAgICMgICAgIDwvc3RhY2s+CisgICAgICAgICMgICAgIDxvcmlnaW4+CisgICAgICAgICMgICAg
IDx3aGF0PlVuaW5pdGlhbGlzZWQgdmFsdWUgd2FzIGNyZWF0ZWQgYnkgYSBoZWFwIGFsbG9jYXRp
b248L3doYXQ+CisgICAgICAgICMgICAgIDxzdGFjaz4KKyAgICAgICAgIyAgICAgICAgIDxmcmFt
ZT4KKyAgICAgICAgIyAgICAgICAgIC4uLgorICAgICAgICAjICAgICAgICAgPC9mcmFtZT4KKyAg
ICAgICAgIyAgICAgPC9zdGFjaz4KKyAgICAgICAgIyAgICAgPC9vcmlnaW4+CisgICAgICAgICMg
ICAgIDxzdXBwcmVzc2lvbj4KKyAgICAgICAgIyAgICAgICAgIDxzbmFtZT5pbnNlcnRfYV9zdXBw
cmVzc2lvbl9uYW1lX2hlcmU8L3NuYW1lPgorICAgICAgICAjICAgICAgICAgPHNraW5kPk1lbWNo
ZWNrOlBhcmFtPC9za2luZD4KKyAgICAgICAgIyAgICAgICAgIDxza2F1eD53cml0ZShidWYpPC9z
a2F1eD4KKyAgICAgICAgIyAgICAgICAgIDxzZnJhbWU+IDxmdW4+X193cml0ZV9ub2NhbmNlbDwv
ZnVuPiA8L3NmcmFtZT4KKyAgICAgICAgIyAgICAgICAgIC4uLgorICAgICAgICAjICAgICAgICAg
PHNmcmFtZT4gPGZ1bj5tYWluPC9mdW4+IDwvc2ZyYW1lPgorICAgICAgICAjICAgICAgICAgPHJh
d3RleHQ+CisgICAgICAgICMgPCFbQ0RBVEFbCisgICAgICAgICMgeworICAgICAgICAjICAgICAg
ICA8aW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9oZXJlPgorICAgICAgICAjICAgICAgICBNZW1j
aGVjazpQYXJhbQorICAgICAgICAjICAgICAgICB3cml0ZShidWYpCisgICAgICAgICMgICAgICAg
IGZ1bjpfX3dyaXRlX25vY2FuY2VsCisgICAgICAgICMgICAgICAgIC4uLgorICAgICAgICAjICAg
ICAgICBmdW46bWFpbgorICAgICAgICAjIH0KKyAgICAgICAgIyBdXT4KKyAgICAgICAgIyAgICAg
ICAgIDwvcmF3dGV4dD4KKyAgICAgICAgIyAgICAgPC9zdXBwcmVzc2lvbj4KKyAgICAgICAgIyA8
L2Vycm9yPgorICAgICAgICAjCisgICAgICAgICMgRWFjaCBmcmFtZSBsb29rcyBsaWtlIHRoaXM6
CisgICAgICAgICMgICAgPGZyYW1lPgorICAgICAgICAjICAgICAgICA8aXA+MHg4Mzc1MUJDPC9p
cD4KKyAgICAgICAgIyAgICAgICAgPG9iaj4vZGF0YS9ka2VnZWwvY2hyb21lLWJ1aWxkL3NyYy9v
dXQvUmVsZWFzZS9iYXNlX3VuaXR0ZXN0czwvb2JqPgorICAgICAgICAjICAgICAgICA8Zm4+X1pO
N3Rlc3Rpbmc4aW50ZXJuYWwxMlRlc3RJbmZvSW1wbDdSdW5UZXN0RVBOU184VGVzdEluZm9FPC9m
bj4KKyAgICAgICAgIyAgICAgICAgPGRpcj4vZGF0YS9ka2VnZWwvY2hyb21lLWJ1aWxkL3NyYy90
ZXN0aW5nL2d0ZXN0L3NyYzwvZGlyPgorICAgICAgICAjICAgICAgICA8ZmlsZT5ndGVzdC1pbnRl
cm5hbC1pbmwuaDwvZmlsZT4KKyAgICAgICAgIyAgICAgICAgPGxpbmU+NjU1PC9saW5lPgorICAg
ICAgICAjICAgIDwvZnJhbWU+CisgICAgICAgICMgYWx0aG91Z2ggdGhlIGRpciwgZmlsZSwgYW5k
IGxpbmUgZWxlbWVudHMgYXJlIG1pc3NpbmcgaWYgdGhlcmUgaXMKKyAgICAgICAgIyBubyBkZWJ1
ZyBpbmZvLgorCisgICAgICAgIHNlbGYuX2tpbmQgPSBnZXRUZXh0T2YoZXJyb3Jfbm9kZSwgImtp
bmQiKQorICAgICAgICBzZWxmLl9iYWNrdHJhY2VzID0gW10KKyAgICAgICAgc2VsZi5fc3VwcHJl
c3Npb24gPSBOb25lCisgICAgICAgIHNlbGYuX2NvbW1hbmRsaW5lID0gY29tbWFuZGxpbmUKKyAg
ICAgICAgc2VsZi5fdGVzdGNhc2UgPSB0ZXN0Y2FzZQorICAgICAgICBzZWxmLl9hZGRpdGlvbmFs
ID0gW10KKworICAgICAgICAjIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbm9kZXMsIHBhcnNpbmcgPHdo
YXR8YXV4d2hhdD48c3RhY2s+IHBhaXJzLgorICAgICAgICBkZXNjcmlwdGlvbiA9IE5vbmUKKyAg
ICAgICAgZm9yIG5vZGUgaW4gZXJyb3Jfbm9kZS5jaGlsZE5vZGVzOgorICAgICAgICAgICAgaWYg
bm9kZS5sb2NhbE5hbWUgPT0gIndoYXQiIG9yIG5vZGUubG9jYWxOYW1lID09ICJhdXh3aGF0IjoK
KyAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA9ICIiLmpvaW4oW24uZGF0YSBmb3IgbiBpbiBu
b2RlLmNoaWxkTm9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
IG4ubm9kZVR5cGUgPT0gbi5URVhUX05PREVdKQorICAgICAgICAgICAgZWxpZiBub2RlLmxvY2Fs
TmFtZSA9PSAieHdoYXQiOgorICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gZ2V0VGV4dE9m
KG5vZGUsICJ0ZXh0IikKKyAgICAgICAgICAgIGVsaWYgbm9kZS5sb2NhbE5hbWUgPT0gInN0YWNr
IjoKKyAgICAgICAgICAgICAgICBhc3NlcnQgZGVzY3JpcHRpb24KKyAgICAgICAgICAgICAgICBz
ZWxmLl9iYWNrdHJhY2VzLmFwcGVuZChbZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdhdGhlckZyYW1lcyhub2RlLCBzb3VyY2VfZGlyKV0pCisg
ICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gPSBOb25lCisgICAgICAgICAgICBlbGlmIG5vZGUu
bG9jYWxOYW1lID09ICJvcmlnaW4iOgorICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gZ2V0
VGV4dE9mKG5vZGUsICJ3aGF0IikKKyAgICAgICAgICAgICAgICBzdGFjayA9IG5vZGUuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoInN0YWNrIilbMF0KKyAgICAgICAgICAgICAgICBmcmFtZXMgPSBnYXRo
ZXJGcmFtZXMoc3RhY2ssIHNvdXJjZV9kaXIpCisgICAgICAgICAgICAgICAgc2VsZi5fYmFja3Ry
YWNlcy5hcHBlbmQoW2Rlc2NyaXB0aW9uLCBmcmFtZXNdKQorICAgICAgICAgICAgICAgIGRlc2Ny
aXB0aW9uID0gTm9uZQorICAgICAgICAgICAgICAgIHN0YWNrID0gTm9uZQorICAgICAgICAgICAg
ICAgIGZyYW1lcyA9IE5vbmUKKyAgICAgICAgICAgIGVsaWYgZGVzY3JpcHRpb24gYW5kIG5vZGUu
bG9jYWxOYW1lICE9IE5vbmU6CisgICAgICAgICAgICAgICAgIyBUaGUgbGFzdGVzdCBkZXNjcmlw
dGlvbiBoYXMgbm8gc3RhY2ssCisgICAgICAgICAgICAgICAgIyBlLmcuICJBZGRyZXNzIDB4Mjgg
aXMgdW5rbm93biIKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRpdGlvbmFsLmFwcGVuZChkZXNj
cmlwdGlvbikKKyAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA9IE5vbmUKKworICAgICAgICAg
ICAgaWYgbm9kZS5sb2NhbE5hbWUgPT0gInN1cHByZXNzaW9uIjoKKyAgICAgICAgICAgICAgICBz
ZWxmLl9zdXBwcmVzc2lvbiA9IGdldENEQVRBT2Yobm9kZSwgInJhd3RleHQiKQorCisgICAgZGVm
IF9fc3RyX18oc2VsZik6CisgICAgICAgICcnJyBQcmV0dHkgcHJpbnQgdGhlIHR5cGUgYW5kIGJh
Y2t0cmFjZShzKSBvZiB0aGlzIHNwZWNpZmljIGVycm9yLAorICAgICAgICAgICAgICAgIGluY2x1
ZGluZyBzdXBwcmVzc2lvbiAod2hpY2ggaXMganVzdCBhIG1hbmdsZWQgYmFja3RyYWNlKS4nJycK
KyAgICAgICAgb3V0cHV0ID0gIiIKKyAgICAgICAgaWYgKHNlbGYuX2NvbW1hbmRsaW5lKToKKyAg
ICAgICAgICAgIG91dHB1dCArPSBzZWxmLl9jb21tYW5kbGluZSArICJcbiIKKworICAgICAgICBv
dXRwdXQgKz0gc2VsZi5fa2luZCArICJcbiIKKyAgICAgICAgZm9yIGJhY2t0cmFjZSBpbiBzZWxm
Ll9iYWNrdHJhY2VzOgorICAgICAgICAgICAgb3V0cHV0ICs9IGJhY2t0cmFjZVswXSArICJcbiIK
KyAgICAgICAgICAgIGZpbHRlciA9IHN1YnByb2Nlc3MuUG9wZW4oImMrK2ZpbHQgLW4iLCBzdGRp
bj1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5TVERP
VVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2hlbGw9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjbG9zZV9mZHM9VHJ1ZSkKKyAgICAgICAgICAgIGJ1ZiA9ICIiCisgICAgICAgICAg
ICBmb3IgZnJhbWUgaW4gYmFja3RyYWNlWzFdOgorICAgICAgICAgICAgICAgIGJ1ZiArPSAoZnJh
bWVbRlVOQ1RJT05fTkFNRV0gb3IgXAorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVbSU5T
VFJVQ1RJT05fUE9JTlRFUl0pICsgIlxuIgorICAgICAgICAgICAgKHN0ZG91dGJ1Ziwgc3RkZXJy
YnVmKSA9IGZpbHRlci5jb21tdW5pY2F0ZShidWYuZW5jb2RlKCdsYXRpbi0xJykpCisgICAgICAg
ICAgICBkZW1hbmdsZWRfbmFtZXMgPSBzdGRvdXRidWYuc3BsaXQoIlxuIikKKworICAgICAgICAg
ICAgaSA9IDAKKyAgICAgICAgICAgIGZvciBmcmFtZSBpbiBiYWNrdHJhY2VbMV06CisgICAgICAg
ICAgICAgICAgb3V0cHV0ICs9ICgiICAgICIgKyBkZW1hbmdsZWRfbmFtZXNbaV0pCisgICAgICAg
ICAgICAgICAgaSA9IGkgKyAxCisKKyAgICAgICAgICAgICAgICBnbG9iYWwgVGhlQWRkcmVzc1Rh
YmxlCisgICAgICAgICAgICAgICAgaWYgVGhlQWRkcmVzc1RhYmxlICE9IE5vbmUgYW5kIGZyYW1l
W1NSQ19GSUxFX0RJUl0gPT0gIiI6CisgICAgICAgICAgICAgICAgICAgICMgVHJ5IHVzaW5nIGdk
YgorICAgICAgICAgICAgICAgICAgICBmb28gPSBUaGVBZGRyZXNzVGFibGUuR2V0RmlsZUxpbmUo
CisgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVtPQkpFQ1RfRklMRV0sCisgICAgICAgICAg
ICAgICAgICAgICAgICBmcmFtZVtJTlNUUlVDVElPTl9QT0lOVEVSXSkKKyAgICAgICAgICAgICAg
ICAgICAgaWYgZm9vWzBdICE9IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQg
Kz0gKCIgKCIgKyBmb29bMF0gKyAiOiIgKyBmb29bMV0gKyAiKSIpCisgICAgICAgICAgICAgICAg
ZWxpZiBmcmFtZVtTUkNfRklMRV9ESVJdICE9ICIiOgorICAgICAgICAgICAgICAgICAgICBvdXRw
dXQgKz0gKCIgKCIgKyBmcmFtZVtTUkNfRklMRV9ESVJdICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiLyIgKyBmcmFtZVtTUkNfRklMRV9OQU1FXSArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIjoiICsgZnJhbWVbU1JDX0xJTkVdICsgIikiKQorICAgICAgICAgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIG91dHB1dCArPSAiICgiICsgZnJhbWVbT0JK
RUNUX0ZJTEVdICsgIikiCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICJcbiIKKworICAgICAg
ICBmb3IgYWRkaXRpb25hbCBpbiBzZWxmLl9hZGRpdGlvbmFsOgorICAgICAgICAgICAgb3V0cHV0
ICs9IGFkZGl0aW9uYWwgKyAiXG4iCisKKyAgICAgICAgYXNzZXJ0IHNlbGYuX3N1cHByZXNzaW9u
ICE9IE5vbmUsICJZb3VyIFZhbGdyaW5kIGRvZXNuJ3QgZ2VuZXJhdGUgIiBcCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1cHByZXNzaW9ucyAtIGlzIGl0IHRv
byBvbGQ/IgorCisgICAgICAgIGlmIHNlbGYuX3Rlc3RjYXNlOgorICAgICAgICAgICAgb3V0cHV0
ICs9ICJUaGUgcmVwb3J0IGNhbWUgZnJvbSB0aGUgYCVzYCB0ZXN0LlxuIiAlIHNlbGYuX3Rlc3Rj
YXNlCisgICAgICAgIG91dHB1dCArPSAiU3VwcHJlc3Npb24gKGVycm9yIGhhc2g9IyUwMTZYIyk6
XG4iICUgc2VsZi5FcnJvckhhc2goKQorICAgICAgICBvdXRwdXQgKz0gKCIgIEZvciBtb3JlIGlu
Zm8gb24gdXNpbmcgc3VwcHJlc3Npb25zIHNlZSAiCisgICAgICAgICAgICAgICAgICAgICAgImh0
dHA6Ly9kZXYuY2hyb21pdW0ub3JnL2RldmVsb3BlcnMvdHJlZS1zaGVyaWZmcy8iCisgICAgICAg
ICAgICAgICAgICAgICAgInNoZXJpZmYtZGV0YWlscy1jaHJvbWl1bS9tZW1vcnktc2hlcmlmZiMi
CisgICAgICAgICAgICAgICAgICAgICAgIlRPQy1TdXBwcmVzc2luZy1tZW1vcnktcmVwb3J0cyIp
CisKKyAgICAgICAgIyBXaWRlbiBzdXBwcmVzc2lvbiBzbGlnaHRseSB0byBtYWtlIHBvcnRhYmxl
IGJldHdlZW4gbWFjIGFuZCBsaW51eAorICAgICAgICAjIFRPRE8odGltdXJycnIpOiBPb3BzLCB0
aGVzZSB0cmFuc2Zvcm1hdGlvbnMgc2hvdWxkIGhhcHBlbgorICAgICAgICAjIEJFRk9SRSBjYWxj
dWxhdGluZyB0aGUgaGFzaCEKKyAgICAgICAgc3VwcCA9IHNlbGYuX3N1cHByZXNzaW9uCisgICAg
ICAgIHN1cHAgPSBzdXBwLnJlcGxhY2UoImZ1bjpfWm53aiIsICJmdW46X1pudyoiKQorICAgICAg
ICBzdXBwID0gc3VwcC5yZXBsYWNlKCJmdW46X1pud20iLCAiZnVuOl9abncqIikKKyAgICAgICAg
c3VwcCA9IHN1cHAucmVwbGFjZSgiZnVuOl9abmFqIiwgImZ1bjpfWm5hKiIpCisgICAgICAgIHN1
cHAgPSBzdXBwLnJlcGxhY2UoImZ1bjpfWm5hbSIsICJmdW46X1puYSoiKQorCisgICAgICAgICMg
U3BsaXQgaW50byBsaW5lcyBzbyB3ZSBjYW4gZW5mb3JjZSBsZW5ndGggbGltaXRzCisgICAgICAg
IHN1cHBsaW5lcyA9IHN1cHAuc3BsaXQoIlxuIikKKyAgICAgICAgc3VwcCA9IE5vbmUgICAgIyB0
byBhdm9pZCByZS11c2UKKworICAgICAgICAjIFRydW5jYXRlIGF0IGxpbmUgMjYgKFZHX01BWF9T
VVBQX0NBTExFUlMgcGx1cyAyIGZvciBuYW1lIGFuZCB0eXBlKQorICAgICAgICAjIG9yIGF0IHRo
ZSBmaXJzdCAnYm9yaW5nJyBjYWxsZXIuCisgICAgICAgICMgKGh0dHBzOi8vYnVncy5rZGUub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTk0NjggcHJvcG9zZXMgcmFpc2luZworICAgICAgICAjIFZHX01B
WF9TVVBQX0NBTExFUlMsIGJ1dCB3ZSdyZSBwcm9iYWJseSBmaW5lIHdpdGggaXQgYXMgaXMuKQor
ICAgICAgICBuZXdsZW4gPSBtaW4oMjYsIGxlbihzdXBwbGluZXMpKQorCisgICAgICAgICMgRHJv
cCBib3JpbmcgZnJhbWVzIGFuZCBhbGwgdGhlIGZvbGxvd2luZy4KKyAgICAgICAgZW5vdWdoX2Zy
YW1lcyA9IEZhbHNlCisgICAgICAgIGZvciBmcmFtZW5vIGluIHJhbmdlKG5ld2xlbik6CisgICAg
ICAgICAgICBmb3IgYm9yaW5nX2NhbGxlciBpbiBfQk9SSU5HX0NBTExFUlM6CisgICAgICAgICAg
ICAgICAgaWYgcmUubWF0Y2goIl4gK2Z1bjolcyQiICUgYm9yaW5nX2NhbGxlciwgc3VwcGxpbmVz
W2ZyYW1lbm9dKToKKyAgICAgICAgICAgICAgICAgICAgbmV3bGVuID0gZnJhbWVubworICAgICAg
ICAgICAgICAgICAgICBlbm91Z2hfZnJhbWVzID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICBi
cmVhaworICAgICAgICAgICAgaWYgZW5vdWdoX2ZyYW1lczoKKyAgICAgICAgICAgICAgICBicmVh
aworICAgICAgICBpZiAobGVuKHN1cHBsaW5lcykgPiBuZXdsZW4pOgorICAgICAgICAgICAgc3Vw
cGxpbmVzID0gc3VwcGxpbmVzWzA6bmV3bGVuXQorICAgICAgICAgICAgc3VwcGxpbmVzLmFwcGVu
ZCgifSIpCisKKyAgICAgICAgZm9yIGZyYW1lIGluIHJhbmdlKGxlbihzdXBwbGluZXMpKToKKyAg
ICAgICAgICAgICMgUmVwbGFjZSB0aGUgYWx3YXlzLWNoYW5naW5nIGFub255bW91cyBuYW1lc3Bh
Y2UgcHJlZml4IHdpdGggIioiLgorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCIoICtmdW46KV9a
Ti4qX0dMT0JBTF9fTl8uKlwuY2NfIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIlswLTlhLWZBLUZdezh9X1swLTlhLWZBLUZdezh9KC4qKSIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3VwcGxpbmVzW2ZyYW1lXSkKKyAgICAgICAgICAgIGlm
IG06CisgICAgICAgICAgICAgICAgc3VwcGxpbmVzW2ZyYW1lXSA9ICIqIi5qb2luKG0uZ3JvdXBz
KCkpCisKKyAgICAgICAgb3V0cHV0ICs9ICJcbiIuam9pbihzdXBwbGluZXMpICsgIlxuIgorCisg
ICAgICAgIHJldHVybiBvdXRwdXQKKworICAgIGRlZiBVbmlxdWVTdHJpbmcoc2VsZik6CisgICAg
ICAgICcnJyBTdHJpbmcgdG8gdXNlIGZvciBvYmplY3QgaWRlbnRpdHkuIERvbid0IHByaW50IHRo
aXMsIHVzZSBzdHIob2JqKQorICAgICAgICBpbnN0ZWFkLicnJworICAgICAgICByZXAgPSBzZWxm
Ll9raW5kICsgIiAiCisgICAgICAgIGZvciBiYWNrdHJhY2UgaW4gc2VsZi5fYmFja3RyYWNlczoK
KyAgICAgICAgICAgIGZvciBmcmFtZSBpbiBiYWNrdHJhY2VbMV06CisgICAgICAgICAgICAgICAg
cmVwICs9IGZyYW1lW0ZVTkNUSU9OX05BTUVdCisKKyAgICAgICAgICAgICAgICBpZiBmcmFtZVtT
UkNfRklMRV9ESVJdICE9ICIiOgorICAgICAgICAgICAgICAgICAgICByZXAgKz0gZnJhbWVbU1JD
X0ZJTEVfRElSXSArICIvIiArIGZyYW1lW1NSQ19GSUxFX05BTUVdCisgICAgICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmVwICs9IGZyYW1lW09CSkVDVF9GSUxFXQorCisg
ICAgICAgIHJldHVybiByZXAKKworICAgICMgVGhpcyBpcyBhIGRldmljZS1pbmRlcGVuZGVudCBo
YXNoIGlkZW50aWZ5aW5nIHRoZSBzdXBwcmVzc2lvbi4KKyAgICAjIEJ5IHByaW50aW5nIG91dCB0
aGlzIGhhc2ggd2UgY2FuIGZpbmQgZHVwbGljYXRlIHJlcG9ydHMgYmV0d2VlbiB0ZXN0cyBhbmQK
KyAgICAjIGRpZmZlcmVudCBzaGFyZHMgcnVubmluZyBvbiBtdWx0aXBsZSBidWlsZGJvdHMKKyAg
ICBkZWYgRXJyb3JIYXNoKHNlbGYpOgorICAgICAgICByZXR1cm4gaW50KGhhc2hsaWIubWQ1KHNl
bGYuVW5pcXVlU3RyaW5nKCkpLmhleGRpZ2VzdCgpWzoxNl0sIDE2KQorCisgICAgZGVmIF9faGFz
aF9fKHNlbGYpOgorICAgICAgICByZXR1cm4gaGFzaChzZWxmLlVuaXF1ZVN0cmluZygpKQorCisg
ICAgZGVmIF9fZXFfXyhzZWxmLCByaHMpOgorICAgICAgICByZXR1cm4gc2VsZi5VbmlxdWVTdHJp
bmcoKSA9PSByaHMKKworCitkZWYgbG9nX2lzX2ZpbmlzaGVkKGYsIGZvcmNlX2ZpbmlzaCk6Cisg
ICAgZi5zZWVrKDApCisgICAgcHJldl9saW5lID0gIiIKKyAgICB3aGlsZSBUcnVlOgorICAgICAg
ICBsaW5lID0gZi5yZWFkbGluZSgpCisgICAgICAgIGlmIGxpbmUgPT0gIiI6CisgICAgICAgICAg
ICBpZiBub3QgZm9yY2VfZmluaXNoOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAg
ICAgICAgICAgIyBPa2F5LCB0aGUgbG9nIGlzIG5vdCBmaW5pc2hlZCBidXQgd2UgY2FuCisgICAg
ICAgICAgICAjIG1ha2UgaXQgdXAgdG8gYmUgcGFyc2VhYmxlOgorICAgICAgICAgICAgaWYgcHJl
dl9saW5lLnN0cmlwKCkgaW4gWyI8L2Vycm9yPiIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIjwvZXJyb3Jjb3VudHM+IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiPC9zdGF0dXM+Il06CisgICAgICAgICAgICAgICAgZi53cml0ZSgiPC92YWxn
cmluZG91dHB1dD5cbiIpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgICAg
IHJldHVybiBGYWxzZQorICAgICAgICBpZiAnPC92YWxncmluZG91dHB1dD4nIGluIGxpbmU6Cisg
ICAgICAgICAgICAjIFZhbGdyaW5kIG9mdGVuIGhhcyBnYXJiYWdlIGFmdGVyIDwvdmFsZ3JpbmRv
dXRwdXQ+IHVwb24gY3Jhc2guCisgICAgICAgICAgICBmLnRydW5jYXRlKCkKKyAgICAgICAgICAg
IHJldHVybiBUcnVlCisgICAgICAgIHByZXZfbGluZSA9IGxpbmUKKworCitjbGFzcyBNZW1jaGVj
a0FuYWx5emVyOgorICAgICcnJyBHaXZlbiBhIHNldCBvZiBWYWxncmluZCBYTUwgZmlsZXMsIHBh
cnNlIGFsbCB0aGUgZXJyb3JzIG91dCBvZiB0aGVtLAorICAgIHVuaXF1ZSB0aGVtIGFuZCBvdXRw
dXQgdGhlIHJlc3VsdHMuJycnCisKKyAgICBTQU5JVFlfVEVTVF9TVVBQUkVTU0lPTlMgPSB7Cisg
ICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMDEgKG1lbW9yeSBsZWFrKS4iOiAxLAor
ICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDAyIChtYWxsb2MvcmVhZCBsZWZ0KS4i
OiAxLAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDAzIChtYWxsb2MvcmVhZCBy
aWdodCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAwNCAobWFsbG9j
L3dyaXRlIGxlZnQpLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMDUg
KG1hbGxvYy93cml0ZSByaWdodCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkg
dGVzdCAwNiAobmV3L3JlYWQgbGVmdCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5p
dHkgdGVzdCAwNyAobmV3L3JlYWQgcmlnaHQpLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hlY2sg
c2FuaXR5IHRlc3QgMDggKG5ldy93cml0ZSBsZWZ0KS4iOiAxLAorICAgICAgICAgICAgIk1lbWNo
ZWNrIHNhbml0eSB0ZXN0IDA5IChuZXcvd3JpdGUgcmlnaHQpLiI6IDEsCisgICAgICAgICAgICAi
TWVtY2hlY2sgc2FuaXR5IHRlc3QgMTAgKHdyaXRlIGFmdGVyIGZyZWUpLiI6IDEsCisgICAgICAg
ICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTEgKHdyaXRlIGFmdGVyIGRlbGV0ZSkuIjogMSwK
KyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAxMiAoYXJyYXkgZGVsZXRlZCB3aXRo
b3V0IFtdKS4iOiAxLAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDEzIChzaW5n
bGUgZWxlbWVudCBkZWxldGVkIHdpdGggW10pLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hlY2sg
c2FuaXR5IHRlc3QgMTQgKG1hbGxvYy9yZWFkIHVuaW5pdCkuIjogMSwKKyAgICAgICAgICAgICJN
ZW1jaGVjayBzYW5pdHkgdGVzdCAxNSAobmV3L3JlYWQgdW5pbml0KS4iOiAxLAorICAgIH0KKwor
ICAgICMgTWF4IHRpbWUgdG8gd2FpdCBmb3IgbWVtY2hlY2sgbG9ncyB0byBjb21wbGV0ZS4KKyAg
ICBMT0dfQ09NUExFVElPTl9USU1FT1VUID0gMTgwLjAKKworICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBzb3VyY2VfZGlyLCBzaG93X2FsbF9sZWFrcz1GYWxzZSwgdXNlX2dkYj1GYWxzZSk6CisgICAg
ICAgICcnJ0NyZWF0ZSBhIHBhcnNlciBmb3IgTWVtY2hlY2sgbG9ncy4KKworICAgICAgICBBcmdz
OgorICAgICAgICAgICAgc291cmNlX2RpcjogUGF0aCB0byB0b3Agb2Ygc291cmNlIHRyZWUgZm9y
IHRoaXMgYnVpbGQKKyAgICAgICAgICAgIHNob3dfYWxsX2xlYWtzOiBXaGV0aGVyIHRvIHNob3cg
ZXZlbiBsZXNzIGltcG9ydGFudCBsZWFrcworICAgICAgICAgICAgdXNlX2dkYjogV2hldGhlciB0
byB1c2UgZ2RiIHRvIHJlc29sdmUgc291cmNlIGZpbGVuYW1lcyBhbmQgbGluZQorICAgICAgICAg
ICAgICAgICAgICAgbnVtYmVycyBpbiB0aGUgcmVwb3J0IHN0YWNrdHJhY2VzCisgICAgICAgICcn
JworICAgICAgICBzZWxmLl9zb3VyY2VfZGlyID0gc291cmNlX2RpcgorICAgICAgICBzZWxmLl9z
aG93X2FsbF9sZWFrcyA9IHNob3dfYWxsX2xlYWtzCisgICAgICAgIHNlbGYuX3VzZV9nZGIgPSB1
c2VfZ2RiCisKKyAgICAgICAgIyBDb250YWlucyB0aGUgc2V0IG9mIHVuaXF1ZSBlcnJvcnMKKyAg
ICAgICAgc2VsZi5fZXJyb3JzID0gc2V0KCkKKworICAgICAgICAjIENvbnRhaW5zIHRoZSB0aW1l
IHdoZW4gdGhlIHdlIHN0YXJ0ZWQgYW5hbHl6aW5nIHRoZSBmaXJzdCBsb2cgZmlsZS4KKyAgICAg
ICAgIyBUaGlzIHZhcmlhYmxlIGlzIHVzZWQgdG8gc2tpcCBpbmNvbXBsZXRlIGxvZ3MgYWZ0ZXIg
c29tZSB0aW1lb3V0LgorICAgICAgICBzZWxmLl9hbmFseXplX3N0YXJ0X3RpbWUgPSBOb25lCisK
KyAgICBkZWYgUmVwb3J0KHNlbGYsIGZpbGVzLCB0ZXN0Y2FzZSwgY2hlY2tfc2FuaXR5PUZhbHNl
KToKKyAgICAgICAgJycnUmVhZHMgaW4gYSBzZXQgb2YgZmlsZXMgYW5kIHByaW50cyBNZW1jaGVj
ayByZXBvcnQuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGZpbGVzOiBBIGxpc3Qgb2Yg
ZmlsZW5hbWVzLgorICAgICAgICAgICAgY2hlY2tfc2FuaXR5OiBpZiB0cnVlLCBzZWFyY2ggZm9y
IFNBTklUWV9URVNUX1NVUFBSRVNTSU9OUworICAgICAgICAnJycKKyAgICAgICAgIyBCZXlvbmQg
dGhlIGRldGFpbGVkIGVycm9ycyBwYXJzZWQgYnkgVmFsZ3JpbmRFcnJvciBhYm92ZSwKKyAgICAg
ICAgIyB0aGUgeG1sIGZpbGUgY29udGFpbiByZWNvcmRzIGRlc2NyaWJpbmcgc3VwcHJlc3Npb25z
IHRoYXQgd2VyZSB1c2VkOgorICAgICAgICAjIDxzdXBwY291bnRzPgorICAgICAgICAjICAgIDxw
YWlyPgorICAgICAgICAjICAgICAgICA8Y291bnQ+Mjg8L2NvdW50PgorICAgICAgICAjICAgICAg
ICA8bmFtZT5wYW5nb19mb250X2xlYWtfdG9kbzwvbmFtZT4KKyAgICAgICAgIyAgICA8L3BhaXI+
CisgICAgICAgICMgICAgPHBhaXI+CisgICAgICAgICMgICAgICAgIDxjb3VudD4zNzg8L2NvdW50
PgorICAgICAgICAjICAgICAgICA8bmFtZT5idWdfMTMyNDM8L25hbWU+CisgICAgICAgICMgICAg
PC9wYWlyPgorICAgICAgICAjIDwvc3VwcGNvdW50cworICAgICAgICAjIENvbGxlY3QgdGhlc2Ug
YW5kIHByaW50IHRoZW0gYXQgdGhlIGVuZC4KKyAgICAgICAgIworICAgICAgICAjIFdpdGggb3Vy
IHBhdGNoIGZvciBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDAwIGlu
LAorICAgICAgICAjIHRoZSBmaWxlIGFsc28gaW5jbHVkZXMgcmVjb3JkcyBvZiB0aGUgZm9ybQor
ICAgICAgICAjIDxsb2FkX29iaj48b2JqPi91c3IvbGliL2xpYmdjY19zLjEuZHlsaWI8L29iaj48
aXA+MHgyNzAwMDwvaXA+PC9sb2FkX29iaj4KKyAgICAgICAgIyBnaXZpbmcgdGhlIGZpbGVuYW1l
IGFuZCBsb2FkIGFkZHJlc3Mgb2YgZWFjaCBiaW5hcnkgdGhhdCB3YXMgbWFwcGVkCisgICAgICAg
ICMgaW50byB0aGUgcHJvY2Vzcy4KKworICAgICAgICBnbG9iYWwgVGhlQWRkcmVzc1RhYmxlCisg
ICAgICAgIGlmIHNlbGYuX3VzZV9nZGI6CisgICAgICAgICAgICBUaGVBZGRyZXNzVGFibGUgPSBn
ZGJfaGVscGVyLkFkZHJlc3NUYWJsZSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBUaGVB
ZGRyZXNzVGFibGUgPSBOb25lCisgICAgICAgIGN1cl9yZXBvcnRfZXJyb3JzID0gc2V0KCkKKyAg
ICAgICAgc3VwcGNvdW50cyA9IGRlZmF1bHRkaWN0KGludCkKKyAgICAgICAgYmFkZmlsZXMgPSBz
ZXQoKQorCisgICAgICAgIGlmIHNlbGYuX2FuYWx5emVfc3RhcnRfdGltZSA9PSBOb25lOgorICAg
ICAgICAgICAgc2VsZi5fYW5hbHl6ZV9zdGFydF90aW1lID0gdGltZS50aW1lKCkKKyAgICAgICAg
c3RhcnRfdGltZSA9IHNlbGYuX2FuYWx5emVfc3RhcnRfdGltZQorCisgICAgICAgIHBhcnNlX2Zh
aWxlZCA9IEZhbHNlCisgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgorICAgICAgICAgICAgIyBX
YWl0IHVwIHRvIHRocmVlIG1pbnV0ZXMgZm9yIHZhbGdyaW5kIHRvIGZpbmlzaCB3cml0aW5nIGFs
bAorICAgICAgICAgICAgIyBmaWxlcywgYnV0IGFmdGVyIHRoYXQsIGp1c3Qgc2tpcCBpbmNvbXBs
ZXRlIGZpbGVzIGFuZCB3YXJuLgorICAgICAgICAgICAgZiA9IG9wZW4oZmlsZSwgInIrIikKKyAg
ICAgICAgICAgIHBpZCA9IHJlLm1hdGNoKCIuKlwuKFswLTldKykkIiwgZmlsZSkKKyAgICAgICAg
ICAgIGlmIHBpZDoKKyAgICAgICAgICAgICAgICBwaWQgPSBwaWQuZ3JvdXBzKClbMF0KKyAgICAg
ICAgICAgIGZvdW5kID0gRmFsc2UKKyAgICAgICAgICAgIHJ1bm5pbmcgPSBUcnVlCisgICAgICAg
ICAgICBmaXJzdHJ1biA9IFRydWUKKyAgICAgICAgICAgIHNraXAgPSBGYWxzZQorICAgICAgICAg
ICAgb3JpZ3NpemUgPSBvcy5wYXRoLmdldHNpemUoZmlsZSkKKyAgICAgICAgICAgIHdoaWxlIChy
dW5uaW5nIGFuZCBub3QgZm91bmQgYW5kIG5vdCBza2lwIGFuZAorICAgICAgICAgICAgICAgICAg
IChmaXJzdHJ1biBvciAoKHRpbWUudGltZSgpIC0gc3RhcnRfdGltZSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDwgc2VsZi5MT0dfQ09NUExFVElPTl9USU1FT1VUKSkpOgorICAg
ICAgICAgICAgICAgIGZpcnN0cnVuID0gRmFsc2UKKyAgICAgICAgICAgICAgICBmLnNlZWsoMCkK
KyAgICAgICAgICAgICAgICBpZiBwaWQ6CisgICAgICAgICAgICAgICAgICAgICMgTWFrZSBzdXJl
IHRoZSBwcm9jZXNzIGlzIHN0aWxsIHJ1bm5pbmcgc28gd2UgZG9uJ3Qgd2FpdAorICAgICAgICAg
ICAgICAgICAgICAjIGZvciAzIG1pbnV0ZXMgaWYgaXQgd2FzIGtpbGxlZC4KKyAgICAgICAgICAg
ICAgICAgICAgIyBTZWUgaHR0cDovL2NyYnVnLmNvbS8xNzQ1MworICAgICAgICAgICAgICAgICAg
ICBwc19vdXQgPSBzdWJwcm9jZXNzLlBvcGVuKCJwcyBwICVzIiAlIHBpZCwgc2hlbGw9VHJ1ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3Vi
cHJvY2Vzcy5QSVBFKS5zdGRvdXQKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHBzX291dC5y
ZWFkbGluZXMoKSkgPCAyOgorICAgICAgICAgICAgICAgICAgICAgICAgcnVubmluZyA9IEZhbHNl
CisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2tpcCA9IFRydWUK
KyAgICAgICAgICAgICAgICAgICAgcnVubmluZyA9IEZhbHNlCisgICAgICAgICAgICAgICAgZm91
bmQgPSBsb2dfaXNfZmluaXNoZWQoZiwgRmFsc2UpCisgICAgICAgICAgICAgICAgaWYgbm90IHJ1
bm5pbmcgYW5kIG5vdCBmb3VuZDoKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy53YXJuKCJW
YWxncmluZCBwcm9jZXNzIFBJRCA9ICVzIGlzIG5vdCBydW5uaW5nIGJ1dCIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICIgaXRzIFhNTCBsb2cgaGFzIG5vdCBiZWVuIGZpbmlzaGVkIGNvcnJlY3Rs
eS5cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICJNYWtlIGl0IHVwIGJ5IGFkZGluZyBzb21l
IGNsb3NpbmcgdGFncyBtYW51YWxseS4iICUKKyAgICAgICAgICAgICAgICAgICAgICAgIHBpZCkK
KyAgICAgICAgICAgICAgICAgICAgZm91bmQgPSBsb2dfaXNfZmluaXNoZWQoZiwgbm90IHJ1bm5p
bmcpCisgICAgICAgICAgICAgICAgaWYgcnVubmluZyBhbmQgbm90IGZvdW5kOgorICAgICAgICAg
ICAgICAgICAgICB0aW1lLnNsZWVwKDEpCisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAg
ICAgIGlmIG5vdCBmb3VuZDoKKyAgICAgICAgICAgICAgICBiYWRmaWxlcy5hZGQoZmlsZSkKKyAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbmV3c2l6ZSA9IG9zLnBhdGguZ2V0c2l6
ZShmaWxlKQorICAgICAgICAgICAgICAgIGlmIG9yaWdzaXplID4gbmV3c2l6ZSArIDE6CisgICAg
ICAgICAgICAgICAgICAgIGxvZ2dpbmcud2FybihzdHIob3JpZ3NpemUgLSBuZXdzaXplKSArCisg
ICAgICAgICAgICAgICAgICAgICAgICAiIGJ5dGVzIG9mIGp1bmsgd2VyZSBhZnRlciA8L3ZhbGdy
aW5kb3V0cHV0PiBpbiAlcyEiICUKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUpCisgICAg
ICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBwYXJzZWRfZmlsZSA9IHBhcnNl
KGZpbGUpCisgICAgICAgICAgICAgICAgZXhjZXB0IEV4cGF0RXJyb3IsIGU6CisgICAgICAgICAg
ICAgICAgICAgIHBhcnNlX2ZhaWxlZCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2lu
Zy53YXJuKCJjb3VsZCBub3QgcGFyc2UgJXM6ICVzIiAlIChmaWxlLCBlKSkKKyAgICAgICAgICAg
ICAgICAgICAgbGluZW5vID0gZS5saW5lbm8gLSAxCisgICAgICAgICAgICAgICAgICAgIGNvbnRl
eHRfbGluZXMgPSA1CisgICAgICAgICAgICAgICAgICAgIGNvbnRleHRfc3RhcnQgPSBtYXgoMCwg
bGluZW5vIC0gY29udGV4dF9saW5lcykKKyAgICAgICAgICAgICAgICAgICAgY29udGV4dF9lbmQg
PSBsaW5lbm8gKyBjb250ZXh0X2xpbmVzICsgMQorICAgICAgICAgICAgICAgICAgICBjb250ZXh0
X2ZpbGUgPSBvcGVuKGZpbGUsICJyIikKKyAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4gcmFu
Z2UoMCwgY29udGV4dF9zdGFydCk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0X2Zp
bGUucmVhZGxpbmUoKQorICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShjb250ZXh0
X3N0YXJ0LCBjb250ZXh0X2VuZCk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0X2Rh
dGEgPSBjb250ZXh0X2ZpbGUucmVhZGxpbmUoKS5yc3RyaXAoKQorICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgaSAhPSBsaW5lbm86CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2lu
Zy53YXJuKCIgICAgJXMiICUgY29udGV4dF9kYXRhKQorICAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm4oIj4gJXMiICUg
Y29udGV4dF9kYXRhKQorICAgICAgICAgICAgICAgICAgICBjb250ZXh0X2ZpbGUuY2xvc2UoKQor
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIFRoZUFkZHJl
c3NUYWJsZSAhPSBOb25lOgorICAgICAgICAgICAgICAgICAgICBsb2FkX29ianMgPSBwYXJzZWRf
ZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgibG9hZF9vYmoiKQorICAgICAgICAgICAgICAgICAg
ICBmb3IgbG9hZF9vYmogaW4gbG9hZF9vYmpzOgorICAgICAgICAgICAgICAgICAgICAgICAgb2Jq
ID0gZ2V0VGV4dE9mKGxvYWRfb2JqLCAib2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAgIGlw
ID0gZ2V0VGV4dE9mKGxvYWRfb2JqLCAiaXAiKQorICAgICAgICAgICAgICAgICAgICAgICAgVGhl
QWRkcmVzc1RhYmxlLkFkZEJpbmFyeUF0KG9iaiwgaXApCisKKyAgICAgICAgICAgICAgICBjb21t
YW5kbGluZSA9IE5vbmUKKyAgICAgICAgICAgICAgICBwcmVhbWJsZSA9IHBhcnNlZF9maWxlLmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJwcmVhbWJsZSIpWzBdCisgICAgICAgICAgICAgICAgZm9yIG5v
ZGUgaW4gcHJlYW1ibGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmUiKToKKyAgICAgICAgICAg
ICAgICAgICAgaWYgbm9kZS5sb2NhbE5hbWUgPT0gImxpbmUiOgorICAgICAgICAgICAgICAgICAg
ICAgICAgZm9yIHggaW4gbm9kZS5jaGlsZE5vZGVzOgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIHgubm9kZVR5cGUgPT0gbm9kZS5URVhUX05PREUgYW5kIFwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIkNvbW1hbmQiIGluIHguZGF0YToKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29tbWFuZGxpbmUgPSB4LmRhdGEKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAgICAgICAgIHJhd19lcnJvcnMgPSBwYXJz
ZWRfZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZXJyb3IiKQorICAgICAgICAgICAgICAgIGZv
ciByYXdfZXJyb3IgaW4gcmF3X2Vycm9yczoKKyAgICAgICAgICAgICAgICAgICAgIyBJZ25vcmUg
InBvc3NpYmxlIiBsZWFrcyBmb3Igbm93IGJ5IGRlZmF1bHQuCisgICAgICAgICAgICAgICAgICAg
IGlmIChzZWxmLl9zaG93X2FsbF9sZWFrcyBvciBnZXRUZXh0T2YocmF3X2Vycm9yLCAia2luZCIp
ICE9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxlYWtfUG9zc2libHlMb3N0Iik6Cisg
ICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IFZhbGdyaW5kRXJyb3Ioc2VsZi5fc291cmNl
X2RpciwgcmF3X2Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbW1hbmRsaW5lLCB0ZXN0Y2FzZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
IGVycm9yIG5vdCBpbiBjdXJfcmVwb3J0X2Vycm9yczoKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFdlIGhhdmVuJ3Qgc2VlbiBzdWNoIGVycm9ycyBkb2luZyB0aGlzIHJlcG9ydCB5ZXQK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBlcnJvciBpbiBzZWxmLl9lcnJvcnM6Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgLi4uIGJ1dCB3ZSBzYXcgaXQgaW4gZWFy
bGllciByZXBvcnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGUuZy4gcHJl
dmlvdXMgVUkgdGVzdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJfcmVwb3J0
X2Vycm9ycy5hZGQoIlRoaXMgZXJyb3Igd2FzIGFscmVhZHkgIgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInByaW50ZWQgaW4gc29tZSBvdGhlciB0ZXN0LCAiCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VlICdoYXNoPSMlMDE2WCMnIiAlIFwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLkVycm9ySGFzaCgpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICMgLi4uIGFuZCB3ZSBoYXZlbid0IHNlZW4gaXQgaW4KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIyBvdGhlciB0ZXN0cyBhcyB3ZWxsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuX2Vycm9ycy5hZGQoZXJyb3IpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGN1cl9yZXBvcnRfZXJyb3JzLmFkZChlcnJvcikKKworICAgICAgICAgICAg
ICAgIHN1cHBjb3VudGxpc3QgPSBwYXJzZWRfZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3Vw
cGNvdW50cyIpCisgICAgICAgICAgICAgICAgaWYgbGVuKHN1cHBjb3VudGxpc3QpID4gMDoKKyAg
ICAgICAgICAgICAgICAgICAgc3VwcGNvdW50bGlzdCA9IHN1cHBjb3VudGxpc3RbMF0KKyAgICAg
ICAgICAgICAgICAgICAgZm9yIG5vZGUgaW4gc3VwcGNvdW50bGlzdC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgicGFpciIpOgorICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgPSBnZXRUZXh0T2Yo
bm9kZSwgImNvdW50IikKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBnZXRUZXh0T2Yo
bm9kZSwgIm5hbWUiKQorICAgICAgICAgICAgICAgICAgICAgICAgc3VwcGNvdW50c1tuYW1lXSAr
PSBpbnQoY291bnQpCisKKyAgICAgICAgaWYgbGVuKGJhZGZpbGVzKSA+IDA6CisgICAgICAgICAg
ICBsb2dnaW5nLndhcm4oInZhbGdyaW5kIGRpZG4ndCBmaW5pc2ggd3JpdGluZyAlZCBmaWxlcz8h
IiAlCisgICAgICAgICAgICAgICAgbGVuKGJhZGZpbGVzKSkKKyAgICAgICAgICAgIGZvciBmaWxl
IGluIGJhZGZpbGVzOgorICAgICAgICAgICAgICAgIGxvZ2dpbmcud2FybigiTGFzdCAyMCBsaW5l
cyBvZiAlcyA6IiAlIGZpbGUpCisgICAgICAgICAgICAgICAgb3Muc3lzdGVtKCJ0YWlsIC1uIDIw
ICclcycgMT4mMiIgJSBmaWxlKQorCisgICAgICAgIGlmIHBhcnNlX2ZhaWxlZDoKKyAgICAgICAg
ICAgIGxvZ2dpbmcuZXJyb3IoIkZBSUwhIENvdWxkbid0IHBhcnNlIFZhbGdyaW5kIG91dHB1dCBm
aWxlIikKKyAgICAgICAgICAgIHJldHVybiAtMgorCisgICAgICAgIGNvbW1vbi5QcmludFVzZWRT
dXBwcmVzc2lvbnNMaXN0KHN1cHBjb3VudHMpCisKKyAgICAgICAgcmV0Y29kZSA9IDAKKyAgICAg
ICAgaWYgY3VyX3JlcG9ydF9lcnJvcnM6CisgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCJGQUlM
ISBUaGVyZSB3ZXJlICVzIGVycm9yczogIiAlCisgICAgICAgICAgICAgICAgbGVuKGN1cl9yZXBv
cnRfZXJyb3JzKSkKKworICAgICAgICAgICAgaWYgVGhlQWRkcmVzc1RhYmxlICE9IE5vbmU6Cisg
ICAgICAgICAgICAgICAgVGhlQWRkcmVzc1RhYmxlLlJlc29sdmVBbGwoKQorCisgICAgICAgICAg
ICBmb3IgZXJyb3IgaW4gY3VyX3JlcG9ydF9lcnJvcnM6CisgICAgICAgICAgICAgICAgbG9nZ2lu
Zy5lcnJvcihlcnJvcikKKworICAgICAgICAgICAgcmV0Y29kZSA9IC0xCisKKyAgICAgICAgIyBS
ZXBvcnQgdG9vbCdzIGluc2FuaXR5IGV2ZW4gaWYgdGhlcmUgd2VyZSBlcnJvcnMuCisgICAgICAg
IGlmIGNoZWNrX3Nhbml0eToKKyAgICAgICAgICAgIHJlbWFpbmluZ19zYW5pdHlfc3VwcCA9IE1l
bWNoZWNrQW5hbHl6ZXIuU0FOSVRZX1RFU1RfU1VQUFJFU1NJT05TCisgICAgICAgICAgICBmb3Ig
KG5hbWUsIGNvdW50KSBpbiBzdXBwY291bnRzLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgICAg
IGlmIChuYW1lIGluIHJlbWFpbmluZ19zYW5pdHlfc3VwcCBhbmQKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJlbWFpbmluZ19zYW5pdHlfc3VwcFtuYW1lXSA9PSBjb3VudCk6CisgICAgICAgICAg
ICAgICAgICAgIGRlbCByZW1haW5pbmdfc2FuaXR5X3N1cHBbbmFtZV0KKyAgICAgICAgICAgIGlm
IHJlbWFpbmluZ19zYW5pdHlfc3VwcDoKKyAgICAgICAgICAgICAgICBsb2dnaW5nLmVycm9yKCJG
QUlMISBTYW5pdHkgY2hlY2sgZmFpbGVkISIpCisgICAgICAgICAgICAgICAgbG9nZ2luZy5pbmZv
KCJUaGUgZm9sbG93aW5nIHRlc3QgZXJyb3JzIHdlcmUgbm90IGhhbmRsZWQ6ICIpCisgICAgICAg
ICAgICAgICAgZm9yIChuYW1lLCBjb3VudCkgaW4gcmVtYWluaW5nX3Nhbml0eV9zdXBwLml0ZXJp
dGVtcygpOgorICAgICAgICAgICAgICAgICAgICBsb2dnaW5nLmluZm8oIiAgICAqICVkeCAlcyIg
JSAoY291bnQsIG5hbWUpKQorICAgICAgICAgICAgICAgIHJldGNvZGUgPSAtMworCisgICAgICAg
IGlmIHJldGNvZGUgIT0gMDoKKyAgICAgICAgICAgIHJldHVybiByZXRjb2RlCisKKyAgICAgICAg
bG9nZ2luZy5pbmZvKCJQQVNTISBObyBlcnJvcnMgZm91bmQhIikKKyAgICAgICAgcmV0dXJuIDAK
KworCitkZWYgX21haW4oKToKKyAgICAnJydGb3IgdGVzdGluZyBvbmx5LgorICAgIFRoZSBNZW1j
aGVja0FuYWx5emVyIGNsYXNzIHNob3VsZCBiZSBpbXBvcnRlZCBpbnN0ZWFkLgorICAgICcnJwor
ICAgIHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcigidXNhZ2U6ICVwcm9nIFtvcHRpb25z
XSA8ZmlsZXMgdG8gYW5hbHl6ZT4iKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCIiLCAiLS1zb3Vy
Y2VfZGlyIiwKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJwYXRoIHRvIHRvcCBvZiBzb3Vy
Y2UgdHJlZSBmb3IgdGhpcyBidWlsZCIKKyAgICAgICAgICAgICAgICAgICAgICAiKHVzZWQgdG8g
bm9ybWFsaXplIHNvdXJjZSBwYXRocyBpbiBiYXNlbGluZSkiKQorCisgICAgKG9wdGlvbnMsIGFy
Z3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIGlmIGxlbihhcmdzKSA9PSAwOgorICAgICAg
ICBwYXJzZXIuZXJyb3IoIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIpCisgICAgZmlsZW5hbWVzID0g
YXJncworCisgICAgYW5hbHl6ZXIgPSBNZW1jaGVja0FuYWx5emVyKG9wdGlvbnMuc291cmNlX2Rp
ciwgdXNlX2dkYj1GYWxzZSkKKyAgICByZXR1cm4gYW5hbHl6ZXIuUmVwb3J0KGZpbGVuYW1lcywg
Tm9uZSkKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHN5cy5leGl0KF9tYWlu
KCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nl
c3MucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nlc3MucHkKaW5k
ZXggODE4NGQyNTg3YWIxZDlkOWM4YTM2NWM1ZjFiYTUwZDA5NjgwOTY5ZS4uZTQyMWU3YjIxODU2
N2U1NTEwNTk0NzRlMDcxODk4YjFiODhiMGIzOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weQpAQCAtMzMxLDkgKzMzMSw4IEBAIGNsYXNzIFNlcnZl
clByb2Nlc3Mob2JqZWN0KToKICAgICAgICAgaWYgbm90IHNlbGYuX3Byb2M6CiAgICAgICAgICAg
ICByZXR1cm4gKE5vbmUsIE5vbmUpCiAKLSAgICAgICAgIyBPbmx5IGJvdGhlciB0byBjaGVjayBm
b3IgbGVha3Mgb3Igc3RkZXJyIGlmIHRoZSBwcm9jZXNzIGlzIHN0aWxsIHJ1bm5pbmcuCi0gICAg
ICAgIGlmIHNlbGYucG9sbCgpIGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9wb3J0LmNoZWNr
X2Zvcl9sZWFrcyhzZWxmLm5hbWUoKSwgc2VsZi5waWQoKSkKKyAgICAgICAgaXNfcnVubmluZyA9
IHNlbGYucG9sbCgpIGlzIE5vbmUKKyAgICAgICAgc2VsZi5fcG9ydC5jaGVja19mb3JfbGVha3Mo
c2VsZi5uYW1lKCksIHNlbGYucGlkKCksIGlzX3J1bm5pbmcpCiAKICAgICAgICAgbm93ID0gdGlt
ZS50aW1lKCkKICAgICAgICAgaWYgc2VsZi5fcHJvYy5zdGRpbjoKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weQppbmRleCA1
YWQ3ZDBlYTdlNjVmNDFlNWZkYzZiZWRiMzFhYzYxYWYyNmM4ZjQxLi5iMjM2ZTRkMjBlYzFhODAw
MWFiZDM4NGZjYjU4ZGRmNWY5MmM1OTllIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzX3VuaXR0ZXN0LnB5CkBAIC00Nyw3ICs0Nyw3IEBA
IGNsYXNzIFRyaXZpYWxNb2NrUG9ydChvYmplY3QpOgogICAgIGRlZiByZXN1bHRzX2RpcmVjdG9y
eShzZWxmKToKICAgICAgICAgcmV0dXJuICIvbW9jay1yZXN1bHRzIgogCi0gICAgZGVmIGNoZWNr
X2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKToKKyAgICBkZWYgY2hl
Y2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQsIGlzX3J1bm5pbmcp
OgogICAgICAgICBwYXNzCiAKICAgICBkZWYgcHJvY2Vzc19raWxsX3RpbWUoc2VsZik6CmRpZmYg
LS1naXQgYS9Ub29scy92YWxncmluZC9tZW1jaGVjay9zdXBwcmVzc2lvbnMudHh0IGIvVG9vbHMv
dmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJlc3Npb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzVjYzQ4ZDY3
NjY2OGUzM2E4N2Y4YjE2NDhkZDNkYmZhYzNhNDI3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
dmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJlc3Npb25zLnR4dApAQCAtMCwwICsxLDE2MDYgQEAKKyMg
VGhlcmUgYXJlIGZvdXIga2luZHMgb2Ygc3VwcHJlc3Npb25zIGluIHRoaXMgZmlsZS4KKyMgMS4g
dGhpcmQgcGFydHkgc3R1ZmYgd2UgaGF2ZSBubyBjb250cm9sIG92ZXIKKyMKKyMgMi4gaW50ZW50
aW9uYWwgdW5pdCB0ZXN0IGVycm9ycywgb3Igc3R1ZmYgdGhhdCBpcyBzb21laG93IGEgZmFsc2Ug
cG9zaXRpdmUKKyMgaW4gb3VyIG93biBjb2RlLCBvciBzdHVmZiB0aGF0IGlzIHNvIHRyaXZpYWwg
aXQncyBub3Qgd29ydGggZml4aW5nCisjCisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCB3ZWJr
aXQgYnVncyB0aGF0IGFyZSBub3QgeWV0IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGlu
IHdlYmtpdCdzIGJ1ZyB0cmFja2luZyBzeXN0ZW0gKGJ1dCBhIGZldyBhcmVuJ3QgeWV0KS4KKyMg
UGVyaW9kaWNhbGx5IHdlIHNob3VsZCBzd2VlcCB0aGlzIGZpbGUgYW5kIHRoZSBidWcgdHJhY2tl
ciBjbGVhbiBieQorIyBydW5uaW5nIG92ZXJuaWdodCBhbmQgcmVtb3Zpbmcgb3V0ZGF0ZWQgYnVn
cy9zdXBwcmVzc2lvbnMuCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyAxLiB0aGlyZCBwYXJ0eSBzdHVm
ZiB3ZSBoYXZlIG5vIGNvbnRyb2wgb3ZlcgoreworICAgI2d0ayBkZXZlbG9wZXJzIGRvbid0IGxp
a2UgY2xlYW5pbmcgdXAgb25lLXRpbWUgbGVha3MuICBTZWUgaHR0cDovL21haWwuZ25vbWUub3Jn
L2FyY2hpdmVzL2d0ay1kZXZlbC1saXN0LzIwMDQtQXByaWwvbXNnMDAyMzAuaHRtbAorICAgZ3Rr
X2luaXRfY2hlY2sgbGVhayAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4K
KyAgIGZ1bjpndGtfaW5pdF9jaGVjaworfQoreworICAgRm9udGNvbmZpZyBsZWFrCisgICBNZW1j
aGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpYTUxfUGFyc2VCdWZmZXIKKyAgIGZ1bjpGY0NvbmZp
Z1BhcnNlQW5kTG9hZAorfQoreworICAgRmNDb25maWdBcHBGb250QWRkRmlsZV9sZWFrCisgICBN
ZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ0FwcEZvbnRBZGRGaWxlCit9Cit7
CisgICAjIFNlZSBhbHNvIGh0dHA6Ly93d3cuZ25vbWUub3JnL35qb2hhbi9ndGsuc3VwcHJlc3Np
b24KKyAgICMgKHdoaWNoIGhhcyBhIHNtYXR0ZXJpbmcgb2Ygc2ltaWxhciBwYW5nbyBzdXBwcmVz
c2lvbnMpCisgICBwYW5nb19mb250X2xlYWtfdG9kbworICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgb2JqOioKKyAgIGZ1bjpwYW5nb19mb250
X21hcF9sb2FkX2ZvbnRzZXQKK30KK3sKKyAgIHBhbmdvX2ZvbnRfbGVha190b2RvXzIKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3Ry
ZHVwCisgICBmdW46cGFuZ29fc2NyaXB0X2dldF9zYW1wbGVfbGFuZ3VhZ2UKKyAgIC4uLgorICAg
ZnVuOnBhbmdvX2ZvbnRfZ2V0X21ldHJpY3MKK30KK3sKKyAgIHBhbmdvX2ZvbnRfbGVha190b2Rv
XzMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9udFJlbmRlclByZXBhcmUK
KyAgIC4uLgorICAgZnVuOnBhbmdvX2l0ZW1pemVfd2l0aF9iYXNlX2RpcgorfQoreworICAgcGFu
Z29fZm9udF9sZWFrX3RvZG9fNAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNG
b250UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBmdW46cGFuZ29fb3RfYnVmZmVyX291dHB1dAor
fQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fNQorICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBmdW46RmNGb250UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBmdW46cGFuZ29fY29udGV4
dF9nZXRfbWV0cmljcworfQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fNgorICAgTWVtY2hl
Y2s6TGVhaworICAgLi4uCisgICBmdW46RmNEZWZhdWx0U3Vic3RpdHV0ZQorICAgLi4uCisgICBm
dW46cGFuZ29faXRlbWl6ZV93aXRoX2Jhc2VfZGlyCit9Cit7CisgICAjIFNpbWlsYXIgdG8gZm9u
dGNvbmZpZ19idWdfODQyOCBiZWxvdy4gUmVwb3J0ZWQgaW4KKyAgICMgaHR0cHM6Ly9idWdzLmZy
ZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIxNQorICAgZm9udGNvbmZpZ19idWdfODIx
NQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVj
dEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhCaW5kaW5nCit9Cit7Cisg
ICAjIEZvbnRjb25maWcgbGVhaywgc2VlbiBpbiBzaGFyZCAxNiBvZiAyMCBvZiB1aV90ZXN0cwor
ICAgIyBTZWUgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQy
OAorICAgIyBhbmQgaHR0cDovL3d3dy5nbm9tZS5vcmcvfmpvaGFuL2d0ay5zdXBwcmVzc2lvbgor
ICAgZm9udGNvbmZpZ19idWdfODQyOAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46
cmVhbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVy
bk9iamVjdEFkZFdpdGhCaW5kaW5nCit9Cit7CisgICAjIEFub3RoZXIgcGVybXV0YXRpb24gb2Yg
cHJldmlvdXMgbGVhay4KKyAgIGZvbnRjb25maWdfYnVnXzg0MjhfMgorICAgTWVtY2hlY2s6TGVh
aworICAgLi4uCisgICBmdW46cmVhbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVs
dAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZAorfQoreworICAgZm9udGNvbmZpZ19idWcgICAo
VGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjptYWxsb2MKKyAg
IGZ1bjpGY0NvbmZpZ1ZhbHVlcworICAgZnVuOkZjQ29uZmlnVmFsdWVzCisgICAuLi4KKyAgIGZ1
bjpGY0NvbmZpZ1ZhbHVlcworICAgZnVuOkZjQ29uZmlnVmFsdWVzCit9Cit7CisgICBidWdfNDYx
NzdfYSAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0No
YXJTZXRPcGVyYXRlCisgICBmdW46RmNGb250U2V0U29ydAorICAgZnVuOkZjRm9udFNvcnQKKyAg
IC4uLgorICAgZnVuOnBhbmdvX2xheW91dF9nZXRfcGl4ZWxfc2l6ZQorfQoreworICAgYnVnXzQ2
MTc3X2IgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmND
aGFyU2V0RmluZExlYWZDcmVhdGUKKyAgIGZ1bjpGY0NoYXJTZXRBZGRMZWFmCisgICBmdW46RmND
aGFyU2V0T3BlcmF0ZQorICAgZnVuOkZjRm9udFNldFNvcnQKKyAgIGZ1bjpGY0ZvbnRTb3J0Cisg
ICAuLi4KKyAgIGZ1bjpwYW5nb19sYXlvdXRfZ2V0X2l0ZXIKK30KK3sKKyAgIGJ1Z180NjE3N19j
IChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjQ2hhclNl
dEZpbmRMZWFmQ3JlYXRlCisgICBmdW46RmNDaGFyU2V0QWRkTGVhZgorICAgZnVuOkZjQ2hhclNl
dE9wZXJhdGUKKyAgIGZ1bjpGY0ZvbnRTZXRTb3J0CisgICBmdW46RmNGb250U29ydAorICAgLi4u
CisgICBmdW46cGFuZ29fbGF5b3V0X2xpbmVfZ2V0X2V4dGVudHMKK30KK3sKKyAgIGJ1Z180NjE3
N19kIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1
bjpGY0ZvbnRTZXRDcmVhdGUKKyAgIGZ1bjpGY0ZvbnRTZXRTb3J0CisgICBmdW46RmNGb250U29y
dAorfQoreworICAgYnVnXzQ2MTc3X2UgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhawor
ICAgLi4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAgIGZ1bjpGY0NoYXJTZXRB
ZGRDaGFyCit9Cit7CisgICBkbG9wZW4gbGVhayBvbiBlcnJvci4gU2VlIGh0dHA6Ly9zb3VyY2V3
YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTI4NzguCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46Y2FsbG9jCisgICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46ZGxvcGVuQEBHTElC
Q18yLjEKK30KK3sKKyAgIF9kbF9zdGFydCBKdW1wCisgICBNZW1jaGVjazpKdW1wCisgICBvYmo6
KgorICAgb2JqOioKKyAgIGZ1bjpkbF9tYWluCisgICBmdW46X2RsX3N5c2RlcF9zdGFydAorICAg
ZnVuOl9kbF9zdGFydAorICAgb2JqOi9saWIveDg2XzY0LWxpbnV4LWdudS9sZC0yLjE1LnNvCisg
ICBvYmo6KgorICAgb2JqOioKKyAgIG9iajoqCit9CisKK3sKKyAgIGdsaWJjIGxlYWsuICBTZWUg
YWxzbyBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0y
NDUxCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X2RsX21hcF9vYmpl
Y3RfZnJvbV9mZAorfQoreworICAgIyBhcnJheSBvZiB3ZWFrIHJlZmVyZW5jZXMgZnJlZWQgYnV0
IG5vdCBwcm9jZXNzZWQ/CisgICBidWdfMTY1NzYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOmdfb2JqZWN0X3dlYWtfcmVmCisgICBmdW46Z19vYmplY3RfYWRkX3dlYWtfcG9pbnRl
cgorfQoreworICAgaHR0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5j
Z2k/aWQ9NTE3MQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOmNhbGxvYworICAgZnVuOmFsbG9j
YXRlX2R0dgorICAgZnVuOl9kbF9hbGxvY2F0ZV90bHMKKyAgIGZ1bjpwdGhyZWFkX2NyZWF0ZUBA
R0xJQkNfMi4xCit9CisKK3sKKyAgIGdfYnVpbGRfZmlsZW5hbWUgZm9yIGZvbnRzIChUaGlyZCBw
YXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisgICBmdW46Z19yZWFsbG9j
CisgICBmdW46Z19zdHJpbmdfbWF5YmVfZXhwYW5kCisgICBmdW46Z19zdHJpbmdfaW5zZXJ0X2xl
bgorICAgZnVuOmdfYnVpbGRfcGF0aF92YQorICAgZnVuOmdfYnVpbGRfZmlsZW5hbWUKKyAgIGZ1
bjpfWkwxNWluaXRpYWxpemVGb250c1BLYworfQorCisKK3sKKyAgICMgTG9va3MgbGlrZSBhIGxl
YWsgaW4gZ3RrJ3MgY29kZSB3aGVuIGxvYWRpbmcgdGhlIGltIGNvbnRleHQgbW9kdWxlLgorICAg
YnVnXzQxMjMxIChUaGlyZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVu
Om1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19zdHJkdXAKKyAgIGZ1bjpndGtfaW1f
bXVsdGljb250ZXh0X2dldF9zbGF2ZQorICAgZnVuOmd0a19pbV9tdWx0aWNvbnRleHRfc2V0X2Ns
aWVudF93aW5kb3cKKyAgIGZ1bjpndGtfaW1fY29udGV4dF9zZXRfY2xpZW50X3dpbmRvdworfQor
eworICAgIyBTZWUgaHR0cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9p
ZD0xNDAxNS4KKyAgIGJ1Z181MTc3MCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46Y2FsbG9jCisgICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46ZGxzeW0KK30KKworewor
ICAgZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19xdWFya19mcm9t
X3N0YXRpY19zdHJpbmcKKyAgIGZ1bjpnb2JqZWN0X2luaXRfY3RvcgorICAgZnVuOmNhbGxfaW5p
dC5wYXJ0LjAKKyAgIGZ1bjpfZGxfaW5pdAorICAgb2JqOi9saWIveDg2XzY0LWxpbnV4LWdudS9s
ZC0yLjE1LnNvCisgICBvYmo6KgorICAgb2JqOioKKyAgIG9iajoqCit9CisKK3sKKyAgIGd0a19j
c3MgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOnJlYWxsb2MKKyAgIGZ1
bjpnX3JlYWxsb2MKKyAgIGZ1bjpnX3N0cmluZ19tYXliZV9leHBhbmQKKyAgIGZ1bjpnX3N0cmlu
Z19pbnNlcnRfYworICAgZnVuOl9ndGtfY3NzX3BhcnNlcl9yZWFkX2NoYXIKKyAgIGZ1bjpfZ3Rr
X2Nzc19wYXJzZXJfdHJ5X2lkZW50CisgICBmdW46YmluZGluZ3NfdmFsdWVfcGFyc2Vfb25lCisg
ICBmdW46X2d0a19jc3NfYXJyYXlfdmFsdWVfcGFyc2UKKyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVy
X2xvYWRfaW50ZXJuYWwKKyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVyX2xvYWRfZnJvbV9kYXRhCisg
ICBmdW46bWFpbgorfQoreworICAgYnVnXzk2NDAyIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxs
b2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jMAorICAgZnVuOmdfdHlwZV9jcmVhdGVfaW5zdGFuY2UK
KyAgIGZ1bjpnX29iamVjdF9jb25zdHJ1Y3RvcgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1
bjpnX29iamVjdF9uZXcKKyAgIGZ1bjpfZ2RrX3dpbmRvd19pbXBsX25ldworICAgZnVuOmdka193
aW5kb3dfZW5zdXJlX25hdGl2ZQorICAgZnVuOmdka194MTFfZHJhd2FibGVfZ2V0X3hpZAorICAg
Li4uCisgICBmdW46Z19jbG9zdXJlX2ludm9rZQorICAgZnVuOnNpZ25hbF9lbWl0X3VubG9ja2Vk
X1IKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0X3ZhbGlzdAorICAgZnVuOmdfc2lnbmFsX2VtaXQKKyAg
IGZ1bjpndGtfd2lkZ2V0X3JlYWxpemUKKyAgIGZ1bjpndGtfd2lkZ2V0X3NldF9wYXJlbnQKK30K
KworeworICAgbGVha3MgaW4gYmFzaAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6
L2Jpbi9iYXNoCit9Cit7CisgICBFbmNoYW50IHNwZWxsaW5nIChUaGlyZCBwYXJ0eSkKKyAgIE1l
bWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgLi4uCisgICBvYmo6Ki9saWJlbmNoYW50LnNv
LjEuNi4wCisgICBmdW46ZW5jaGFudF9icm9rZXJfZGljdF9leGlzdHMKK30KKworeworICAgRW5j
aGFudCBzcGVsbGluZyAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46KmFs
bG9jCisgICAuLi4KKyAgIG9iajoqL2xpYmVuY2hhbnQuc28uMS42LjAKKyAgIGZ1bjplbmNoYW50
X2Jyb2tlcl9kaWN0X2V4aXN0cworfQorCisjIFhSYW5kUkluZm8gb2JqZWN0IHNlZW1zIHRvIGJl
IGxlYWtpbmcgaW5zaWRlIFhSUkZpbmREaXNwbGF5LiAgVGhpcyBoYXBwZW5zIHRoZQorIyBmaXJz
dCB0aW1lIGl0IGlzIGNhbGxlZCwgbm8gbWF0dGVyIHdobyB0aGUgY2FsbGVyIGlzLiAgV2UgaGF2
ZSBvYnNlcnZlZCB0aGlzCisjIHByb2JsZW0gd2l0aCBib3RoIFhSUlNlbGVjdElucHV0IGFuZCBY
UlJRdWVyeUV4dGVuc2lvbi4KK3sKKyAgIFhSUkZpbmREaXNwbGF5IGxlYWsKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpYUlJGaW5kRGlzcGxheQorfQoreworICAgRmxh
c2ggUGxheWVyIExlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOi91c3IvbGli
L2ZsYXNocGx1Z2luLWluc3RhbGxlci9saWJmbGFzaHBsYXllci5zbworfQorCit7CisgICBPY2Nh
c2lvbmFsIGxlYWsgaW5zaWRlIGdka19pbml0KCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpt
YWxsb2MKKyAgIC4uLgorICAgZnVuOl9ubF9maW5kX2RvbWFpbgorICAgZnVuOl9fZGNpZ2V0dGV4
dAorICAgZnVuOmdka19zY3JlZW5fY2xhc3NfaW50ZXJuX2luaXQKKyAgIGZ1bjpnX3R5cGVfY2xh
c3NfcmVmCisgICBmdW46Z190eXBlX2NsYXNzX3JlZgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAg
IGZ1bjpnX29iamVjdF9uZXcKKyAgIGZ1bjpfZ2RrX3gxMV9zY3JlZW5fbmV3CisgICBmdW46Z2Rr
X2Rpc3BsYXlfb3BlbgorICAgZnVuOmdka19kaXNwbGF5X29wZW5fZGVmYXVsdF9saWJndGtfb25s
eQorICAgZnVuOmdka19pbml0X2NoZWNrCisgICBmdW46Z2RrX2luaXQKK30KKworeworICAgZ2xp
Yi9ndGhyZWFkIG1hbGxvYyBsZWFrIGluIGNvbXBvbmVudCBidWlsZAorICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOiphbGxvYworICAgLi4uCisgICBmdW46Z190aHJlYWRfcHJveHkKK30KK3sKKyAg
IEphdmEgY3JlYXRlIEpOSSBsZWFrIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IC4uLgorICAgZnVuOkpOSV9DcmVhdGVKYXZhVk0KKyAgIGZ1bjpKYXZhTWFpbgorfQorCit7Cisg
ICBKYXZhIHN0YXJ0IHRocmVhZCBsZWFrIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIC4uLgorICAgZnVuOl9aTjhWTVRocmVhZDNydW5FdgorICAgZnVuOl9aTDEwamF2YV9zdGFy
dFA2VGhyZWFkCisgICAuLi4KKworfQorCit7CisgICBKYXZhIGxlYWsgKG9iaikgKFRoaXJkIHBh
cnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBvYmo6L3Vzci9saWIvanZtL2phdmEt
Ni1vcGVuamRrLWFtZDY0L2pyZS9iaW4vamF2YQorICAgLi4uCit9Cit7CisgICBPY2Nhc2lvbmFs
IE9wZW5HTCBsZWFrcyAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAg
IG9iajoqL2xpYkdMLnNvLioKKyAgIC4uLgorfQorCit7CisgICBjYWlybyBwaXhtYW4gaW1hZ2Ug
YWxsb2NhdGUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfcGl4bWFu
X2ltYWdlX2FsbG9jYXRlCisgICBmdW46cGl4bWFuX2ltYWdlX2NyZWF0ZV9iaXRzCisgICBmdW46
X2NhaXJvX3hsaWJfc2htX3N1cmZhY2VfY3JlYXRlLmlzcmEuMTEKK30KKworeworICAgTlNTIHBh
cnNlIGxlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpuc3NfcGFy
c2Vfc2VydmljZV9saXN0CisgICBmdW46X19uc3NfZGF0YWJhc2VfbG9va3VwCisgICBvYmo6Kgor
fQorCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAyLiBpbnRlbnRpb25hbCB1bml0IHRlc3QgZXJyb3Jz
LCBvciBzdHVmZiB0aGF0IGlzIHNvbWVob3cgYSBmYWxzZSBwb3NpdGl2ZQorIyBpbiBvdXIgb3du
IGNvZGUsIG9yIHN0dWZmIHRoYXQgaXMgc28gdHJpdmlhbCBpdCdzIG5vdCB3b3J0aCBmaXhpbmcK
KworIyBTZWUgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUucHkg
YmVmb3JlIG1vZGlmeWluZyBzYW5pdHkgdGVzdHMuCit7CisgICBNZW1jaGVjayBzYW5pdHkgdGVz
dCAwMSAobWVtb3J5IGxlYWspLgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abmEqCisgICBm
dW46X1pONGJhc2UzMVRvb2xzU2FuaXR5VGVzdF9NZW1vcnlMZWFrX1Rlc3Q4VGVzdEJvZHlFdgor
fQorCit7CisgICBNZW1jaGVjayBzYW5pdHkgdGVzdCAxMiAoYXJyYXkgZGVsZXRlZCB3aXRob3V0
IFtdKS4KKyAgIE1lbWNoZWNrOkZyZWUKKyAgIC4uLgorICAgZnVuOl9aTjRiYXNlNDZUb29sc1Nh
bml0eVRlc3RfQXJyYXlEZWxldGVkV2l0aG91dEJyYWNlc19UZXN0OFRlc3RCb2R5RXYKK30KK3sK
KyAgIE1lbWNoZWNrIHNhbml0eSB0ZXN0IDEzIChzaW5nbGUgZWxlbWVudCBkZWxldGVkIHdpdGgg
W10pLgorICAgTWVtY2hlY2s6RnJlZQorICAgLi4uCisgICBmdW46X1pONGJhc2U1MVRvb2xzU2Fu
aXR5VGVzdF9TaW5nbGVFbGVtZW50RGVsZXRlZFdpdGhCcmFjZXNfVGVzdDhUZXN0Qm9keUV2Cit9
CisKK3sKKyAgICMgQWNjb3JkaW5nIHRvIGRnbGF6a292LCB0aGVzZSBhcmUgb25lLXRpbWUgbGVh
a3MgYW5kIGludGVudGlvbmFsLgorICAgIyBUaGV5IG1heSBnbyBhd2F5IGlmIHRoZSBjaGFuZ2Ug
dG8gbW92ZSB0aGVzZSBvZmYgdGhlIGhlYXAgbGFuZHMuCisgICBidWdfMTc5OTYgKEludGVudGlv
bmFsKQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pON1dlYkNvcmU4U1ZHTmFt
ZXM0aW5pdEV2Cit9CisKK3sKKyAgICMgVGhpcyBpcyBhbiBvbiBkZW1hbmQgaW5pdGlhbGl6YXRp
b24gd2hpY2ggaXMgZG9uZSBhbmQgdGhlbiBpbnRlbnRpb25hbGx5CisgICAjIGtlcHQgYXJvdW5k
IChub3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcuCisgICBpbnRlbnRpb25h
bF9XZWJDb3JlX1hNTE5hbWVzX2luaXRfbGVhaworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisg
ICBmdW46X1pON1dlYkNvcmU4WE1MTmFtZXM0aW5pdEV2Cit9Cit7CisgICAjIFRoaXMgaXMgV2Vi
S2l0IHdpZGUgdGhlYWRpbmcgaW5pdGlhbGl6YXRpb24gd2hpY2ggaXMgaW50ZW50aW9uYWxseSBr
ZXB0CisgICAjIGFyb3VuZCAobm90IGZyZWVkKSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5uaW5n
LgorICAgaW50ZW50aW9uYWxfV1RGX1RocmVhZElkZW50aWZpZXJEYXRhX2luaXRpYWxpemVfbGVh
aworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOM1dURjIwVGhyZWFkSWRlbnRp
ZmllckRhdGExMGluaXRpYWxpemVFagorfQoreworICAgIyBUaGlzIGlzIFdlYktpdCB3aWRlIHRo
ZWFkaW5nIGluaXRpYWxpemF0aW9uIHdoaWNoIGlzIGludGVudGlvbmFsbHkga2VwdAorICAgIyBh
cm91bmQgKG5vdCBmcmVlZCkgd2hpbGUgdGhlIHByb2Nlc3MgaXMgcnVubmluZy4KKyAgIGludGVu
dGlvbmFsX1dURl93dGZUaHJlYWREYXRhX2xlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgor
ICAgZnVuOl9aTjNXVEYxM3d0ZlRocmVhZERhdGFFdgorfQorCit7CisgICAjIEludGVudGlvbmFs
IC0gYXRvbWljIHN0cmluZ3MgYW5kIGhhc2ggbWFwIGluIFdlYkNvcmU6Om5hbWVUb1BzZXVkb1R5
cGVNYXAoKSAoQ1NTU2VsZWN0b3IuY3BwKSBhcmUgdG8gYmUgbGVha2VkCisgICBjcmJ1Zy5jb20v
MTA4NTE2IChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
ZnVuOl9aTjdXZWJDb3JlTDE5bmFtZVRvUHNldWRvVHlwZU1hcEV2Cit9CisKKyMtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorIyAzLiBTdXBwcmVzc2lvbnMgZm9yIHJlYWwgd2Via2l0IGJ1Z3MgdGhhdCBhcmUgbm90
IHlldCBmaXhlZC4KKyMgVGhlc2Ugc2hvdWxkIGFsbCBiZSBpbiB3ZWJraXQncyBidWcgdHJhY2tp
bmcgc3lzdGVtIChidXQgYSBmZXcgYXJlbid0IHlldCkuCisKK3sKKyAgIGJ1Z18zMTgwMAorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmUyOGNyZWF0ZUZv
bnRDdXN0b21QbGF0Zm9ybURhdGFFUE5TXzEyU2hhcmVkQnVmZmVyRQorICAgZnVuOl9aTjdXZWJD
b3JlMTBDYWNoZWRGb250MjBlbnN1cmVDdXN0b21Gb250RGF0YUV2CisgICBmdW46X1pON1dlYkNv
cmUxN0NTU0ZvbnRGYWNlU291cmNlMTFnZXRGb250RGF0YUVSS05TXzE1Rm9udERlc2NyaXB0aW9u
RWJiUE5TXzE1Q1NTRm9udFNlbGVjdG9yRQorICAgZnVuOl9aTjdXZWJDb3JlMTFDU1NGb250RmFj
ZTExZ2V0Rm9udERhdGFFUktOU18xNUZvbnREZXNjcmlwdGlvbkViYgorICAgZnVuOl9aTjdXZWJD
b3JlMjBDU1NTZWdtZW50ZWRGb250RmFjZTExZ2V0Rm9udERhdGFFUktOU18xNUZvbnREZXNjcmlw
dGlvbkUKKyAgIGZ1bjpfWk43V2ViQ29yZTE1Q1NTRm9udFNlbGVjdG9yMTFnZXRGb250RGF0YUVS
S05TXzE1Rm9udERlc2NyaXB0aW9uRVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKKyAgIGZ1bjpfWk43
V2ViQ29yZTlGb250Q2FjaGUxMWdldEZvbnREYXRhRVJLTlNfNEZvbnRFUmlQTlNfMTJGb250U2Vs
ZWN0b3JFCisgICBmdW46X1pOSzdXZWJDb3JlMTZGb250RmFsbGJhY2tMaXN0MTBmb250RGF0YUF0
RVBLTlNfNEZvbnRFagorICAgZnVuOl9aTks3V2ViQ29yZTE2Rm9udEZhbGxiYWNrTGlzdDE1cHJp
bWFyeUZvbnREYXRhRVBLTlNfNEZvbnRFCit9CisKK3sKKyAgIGJ1Z180Mjg0MgorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTlUZXN0V2ViVmlld0RlbGVnYXRlMTJj
cmVhdGVXb3JrZXJFUE42V2ViS2l0OFdlYkZyYW1lRVBOUzBfMTVXZWJXb3JrZXJDbGllbnRFCisg
ICBmdW46X1pONldlYktpdDE5V2ViV29ya2VyQ2xpZW50SW1wbDI0Y3JlYXRlV29ya2VyQ29udGV4
dFByb3h5RVBON1dlYkNvcmU2V29ya2VyRQorICAgZnVuOl9aTjdXZWJDb3JlMThXb3JrZXJDb250
ZXh0UHJveHk2Y3JlYXRlRVBOU182V29ya2VyRQorICAgZnVuOl9aTjdXZWJDb3JlNldvcmtlckMx
RVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRFCisgICBmdW46X1pON1dlYkNvcmU2V29ya2Vy
NmNyZWF0ZUVSS04zV1RGNlN0cmluZ0VQTlNfMjJTY3JpcHRFeGVjdXRpb25Db250ZXh0RVJpCisg
ICBmdW46X1pON1dlYkNvcmU4VjhXb3JrZXIxOWNvbnN0cnVjdG9yQ2FsbGJhY2tFUktOMnY4OUFy
Z3VtZW50c0UKK30KKworeworICAgYnVnXzQyOTU4X2MKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1
bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOl9OUE5fUmVnaXN0ZXJPYmplY3QKKyAgIGZ1bjpfWk43
V2ViQ29yZTI1Y3JlYXRlVjhPYmplY3RGb3JOUE9iamVjdEVQOE5QT2JqZWN0UzFfCisgICBmdW46
X1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyOWNyZWF0ZVNjcmlwdEluc3RhbmNlRm9yV2lk
Z2V0RVBOU182V2lkZ2V0RQorICAgZnVuOl9aTio3V2ViQ29yZTE3SFRNTFBsdWdJbkVsZW1lbnQx
MWdldEluc3RhbmNlRXYKK30KKworeworICAgYnVnXzcyNTQ0CisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0VqCisgICBmdW46X1pOM1dU
RjEwUmVmQ291bnRlZElON1dlYkNvcmUxNFN0eWxlU2hlZXRMaXN0RUVud0VqCisgICBmdW46X1pO
N1dlYkNvcmUxNFN0eWxlU2hlZXRMaXN0NmNyZWF0ZUVQTlNfOERvY3VtZW50RQorICAgZnVuOl9a
TjdXZWJDb3JlOERvY3VtZW50QzJFUE5TXzVGcmFtZUVSS05TXzRLVVJMRWJiUzVfCisgICBmdW46
X1pON1dlYkNvcmUxMkhUTUxEb2N1bWVudEMxRVBOU181RnJhbWVFUktOU180S1VSTEVTNV8KKyAg
IGZ1bjpfWk43V2ViQ29yZTEySFRNTERvY3VtZW50NmNyZWF0ZUVQTlNfNUZyYW1lRVJLTlNfNEtV
UkxFUzVfCisgICBmdW46X1pON1dlYkNvcmUxN0RPTUltcGxlbWVudGF0aW9uMTRjcmVhdGVEb2N1
bWVudEVSS04zV1RGNlN0cmluZ0VQTlNfNUZyYW1lRVJLTlNfNEtVUkxFYgorICAgZnVuOl9aTjdX
ZWJDb3JlMTREb2N1bWVudFdyaXRlcjE0Y3JlYXRlRG9jdW1lbnRFUktOU180S1VSTEUKKyAgIGZ1
bjpfWk43V2ViQ29yZTE0RG9jdW1lbnRXcml0ZXI1YmVnaW5FUktOU180S1VSTEViUE5TXzE0U2Vj
dXJpdHlPcmlnaW5FCisgICBmdW46X1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyNGluaXRFdgorICAg
ZnVuOl9aTjdXZWJDb3JlNUZyYW1lNGluaXRFdgorICAgZnVuOl9aTjZXZWJLaXQxMldlYkZyYW1l
SW1wbDIxaW5pdGlhbGl6ZUFzTWFpbkZyYW1lRVBOU18xMVdlYlZpZXdJbXBsRQorICAgZnVuOl9a
TjZXZWJLaXQxMVdlYlZpZXdJbXBsMTlpbml0aWFsaXplTWFpbkZyYW1lRVBOU18xNFdlYkZyYW1l
Q2xpZW50RQorfQoreworICAgYnVnXzczNjc1CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
dyoKKyAgIGZ1bjpfWk4yMExheW91dFRlc3RDb250cm9sbGVyMTN3YWl0VW50aWxEb25lRVJLTjNX
VEY2VmVjdG9ySTEwQ3BwVmFyaWFudExqMEVFRVBTMl8KKyAgIGZ1bjpfWk4xM0NwcEJvdW5kQ2xh
c3MxNE1lbWJlckNhbGxiYWNrSTIwTGF5b3V0VGVzdENvbnRyb2xsZXJFM3J1bkVSS04zV1RGNlZl
Y3RvckkxMENwcFZhcmlhbnRMajBFRUVQUzVfCisgICBmdW46X1pOMTNDcHBCb3VuZENsYXNzNmlu
dm9rZUVQdlBLMTBfTlBWYXJpYW50alBTMV8KKyAgIGZ1bjpfWk4xMUNwcE5QT2JqZWN0Nmludm9r
ZUVQOE5QT2JqZWN0UHZQSzEwX05QVmFyaWFudGpQUzNfCisgICBmdW46X1pON1dlYkNvcmUxOG5w
T2JqZWN0SW52b2tlSW1wbEVSS04ydjg5QXJndW1lbnRzRU5TXzE4SW52b2tlRnVuY3Rpb25UeXBl
RQorICAgZnVuOl9aTjdXZWJDb3JlMjFucE9iamVjdE1ldGhvZEhhbmRsZXJFUktOMnY4OUFyZ3Vt
ZW50c0UKKyAgIG9iajoqCit9CisKK3sKKyAgIGJ1Z183Nzc2NgorICAgTWVtY2hlY2s6TGVhawor
ICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjdX
ZWJDb3JlMThQZXJmb3JtVGFza0NvbnRleHRud0VtCisgICBmdW46X1pON1dlYkNvcmU4RG9jdW1l
bnQ4cG9zdFRhc2tFTjNXVEYxMFBhc3NPd25QdHJJTlNfMjJTY3JpcHRFeGVjdXRpb25Db250ZXh0
NFRhc2tFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTIwV29ya2VyTWVzc2FnaW5nUHJveHkyMndvcmtl
ckNvbnRleHREZXN0cm95ZWRFdgorICAgZnVuOl9aTjZXZWJLaXQxOVdlYldvcmtlckNsaWVudElt
cGwyMndvcmtlckNvbnRleHREZXN0cm95ZWRFdgorICAgZnVuOl9aTjdXZWJDb3JlMTNXb3JrZXJD
b250ZXh0RDJFdgorICAgZnVuOl9aTjdXZWJDb3JlMjJEZWRpY2F0ZWRXb3JrZXJDb250ZXh0RDBF
dgorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJDb3JlMTNXb3JrZXJDb250ZXh0RUU1
ZGVyZWZFdgorICAgZnVuOl9aTjNXVEY2UmVmUHRySU43V2ViQ29yZTEzV29ya2VyQ29udGV4dEVF
YVNFUFMyXworICAgZnVuOl9aTjdXZWJDb3JlMTJXb3JrZXJUaHJlYWQxMndvcmtlclRocmVhZEV2
CisgICBmdW46X1pON1dlYkNvcmUxMldvcmtlclRocmVhZDE3d29ya2VyVGhyZWFkU3RhcnRFUHYK
KyAgIGZ1bjpfWk4zV1RGTDE2dGhyZWFkRW50cnlQb2ludEVQdgorICAgZnVuOl9aTjNXVEZMMTl3
dGZUaHJlYWRFbnRyeVBvaW50RVB2Cit9CisKK3sKKyAgIGJ1Z184MDQ2Ml9hCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pON1dlYkNvcmVMMTVhbGxvY1Y4TlBPYmpl
Y3RFUDRfTlBQUDdOUENsYXNzCisgICBmdW46X05QTl9DcmVhdGVPYmplY3QKKyAgIGZ1bjpfWk43
V2ViQ29yZTIybnBDcmVhdGVWOFNjcmlwdE9iamVjdEVQNF9OUFBOMnY4NkhhbmRsZUlOUzJfNk9i
amVjdEVFRVBOU185RE9NV2luZG93RQorICAgZnVuOl9aTjZXZWJLaXRMMTZtYWtlSW50QXJyYXlJ
bXBsRVJLTlNfOVdlYlZlY3RvcklpRUUKKyAgIGZ1bjpfWk42V2ViS2l0MTFXZWJCaW5kaW5nczEy
bWFrZUludEFycmF5RVJLTlNfOVdlYlZlY3RvcklpRUUKK30KK3sKKyAgIGJ1Z184MDQ2Ml9iCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pON1dlYkNvcmVMMTVhbGxv
Y1Y4TlBPYmplY3RFUDRfTlBQUDdOUENsYXNzCisgICBmdW46X05QTl9DcmVhdGVPYmplY3QKKyAg
IGZ1bjpfWk43V2ViQ29yZTIybnBDcmVhdGVWOFNjcmlwdE9iamVjdEVQNF9OUFBOMnY4NkhhbmRs
ZUlOUzJfNk9iamVjdEVFRVBOU185RE9NV2luZG93RQorICAgZnVuOl9aTjZXZWJLaXRMMTltYWtl
U3RyaW5nQXJyYXlJbXBsRVJLTlNfOVdlYlZlY3RvcklOU185V2ViU3RyaW5nRUVFCisgICBmdW46
X1pONldlYktpdDExV2ViQmluZGluZ3MxNW1ha2VTdHJpbmdBcnJheUVSS05TXzlXZWJWZWN0b3JJ
TlNfOVdlYlN0cmluZ0VFRQorfQorCit7CisgICBidWdfOTY1NjhiCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIGZ1bjpIQl9OZXdGYWNlCisgICBmdW46X1pON1dlYkNvcmVMMjFnZXRDYWNo
ZWRIYXJmYnV6ekZhY2VFUE5TXzE2Rm9udFBsYXRmb3JtRGF0YUUKKyAgIGZ1bjpfWk43V2ViQ29y
ZTEySGFyZmJ1enpGYWNlQzFFUE5TXzE2Rm9udFBsYXRmb3JtRGF0YUUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTEySGFyZmJ1enpGYWNlNmNyZWF0ZUVQTlNfMTZGb250UGxhdGZvcm1EYXRhRQorICAgZnVu
Ol9aTks3V2ViQ29yZTE2Rm9udFBsYXRmb3JtRGF0YTEyaGFyZmJ1enpGYWNlRXYKKyAgIGZ1bjpf
Wk43V2ViQ29yZTIxQ29tcGxleFRleHRDb250cm9sbGVyMjFzZXR1cEZvbnRGb3JTY3JpcHRSdW5F
dgorfQorCit7CisgICBidWdfOTkzMDgKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MK
KyAgIGZ1bjpfWkw5dG9DU3RyaW5nUks5X05QU3RyaW5nCisgICBmdW46X1pMMTV0ZXN0UG9zdFVS
TEZpbGVQMTJQbHVnaW5PYmplY3RQSzEwX05QVmFyaWFudGpQUzFfCisgICBmdW46X1pMMTJwbHVn
aW5JbnZva2VQOE5QT2JqZWN0UHZQSzEwX05QVmFyaWFudGpQUzJfCisgICBmdW46X1pON1dlYkNv
cmVMMThucE9iamVjdEludm9rZUltcGxFUktOMnY4OUFyZ3VtZW50c0VOU18xOEludm9rZUZ1bmN0
aW9uVHlwZUUKK30KKworeworICAgYnVnXzEwMDA0MworICAgTWVtY2hlY2s6TGVhaworICAgZnVu
Ol9abncqCisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcklONndlYmtpdDEzV2Vi
UGx1Z2luSW5mb0VFOGFsbG9jYXRlRWpQS3YKKyAgIC4uLgorICAgZnVuOl9aTlN0NnZlY3RvcklO
NndlYmtpdDEzV2ViUGx1Z2luSW5mb0VTYUlTMSoKK30KKworeworICAgYnVnXzEwMDk4MgorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmUxMlJlbmRlclJl
Z2lvbjIyc2V0UmVuZGVyQm94UmVnaW9uSW5mb0VQS05TXzlSZW5kZXJCb3hFaWliCisgICBmdW46
X1pOSzdXZWJDb3JlOVJlbmRlckJveDE5cmVuZGVyQm94UmVnaW9uSW5mb0VQTlNfMTJSZW5kZXJS
ZWdpb25FaU5TMF8yNFJlbmRlckJveFJlZ2lvbkluZm9GbGFnc0UKKyAgIC4uLgorICAgZnVuOl9a
TjdXZWJDb3JlMTFSZW5kZXJCbG9jazVwYWludEVSTlNfOVBhaW50SW5mb0VSS05TXzhJbnRQb2lu
dEUKK30KKworeworICAgYnVnXzEwMTE0NWIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53
KgorICAgZnVuOl9aTjdXZWJDb3JlMjN2OFN0cmluZ1RvV2ViQ29yZVN0cmluZ0lOM1dURjZTdHJp
bmdFRUVUX04ydjg2SGFuZGxlSU5TNF82U3RyaW5nRUVFTlNfMTJFeHRlcm5hbE1vZGVFCisgICBm
dW46X1pON1dlYkNvcmUxNlY4U3RyaW5nUmVzb3VyY2VJTE5TXzIwVjhTdHJpbmdSZXNvdXJjZU1v
ZGUqCit9Cit7CisgICBidWdfMTAxMTQ1YworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pON1dlYkNvcmVMMThtYWtlRXh0ZXJuYWxTdHJpbmdFUktOM1dURjZTdHJpbmdF
CisgICBmdW46X1pON1dlYkNvcmUxMVN0cmluZ0NhY2hlMjB2OEV4dGVybmFsU3RyaW5nU2xvdyoK
KyAgIGZ1bjpfWk43V2ViQ29yZTExU3RyaW5nQ2FjaGUxNnY4RXh0ZXJuYWxTdHJpbmdFUE4qCit9
Cit7CisgICBidWdfMTAxMTQ2YQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBm
dW46X1pOMTF3ZWJraXRfZ2x1ZTE2V2ViVVJMTG9hZGVySW1wbEMxRVBOU18yNVdlYktpdFBsYXRm
b3JtU3VwcG9ydEltcGxFCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTI1V2ViS2l0UGxhdGZvcm1T
dXBwb3J0SW1wbDE1Y3JlYXRlVVJMTG9hZGVyRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTIyUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbDVzdGFydEV2CisgICBmdW46X1pON1dlYkNvcmUxNFJlc291cmNlSGFu
ZGxlNXN0YXJ0RVBOU18xN05ldHdvcmtpbmdDb250ZXh0RQorICAgZnVuOl9aTjdXZWJDb3JlMTRS
ZXNvdXJjZUhhbmRsZTZjcmVhdGVFUE5TXzE3TmV0d29ya2luZ0NvbnRleHRFUktOU18xNVJlc291
cmNlUmVxdWVzdEVQTlNfMjBSZXNvdXJjZUhhbmRsZUNsaWVudEViYgorfQoreworICAgYnVnXzEw
MTc1MAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZh
c3RNYWxsb2NFagorICAgZnVuOl9aTjNXVEY3SGFzaFNldElQTjdXZWJDb3JlMTZTVkdTdHlsZWRF
bGVtZW50RU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFRW53RWoKKyAgIGZ1
bjpfWk43V2ViQ29yZTIxU1ZHRG9jdW1lbnRFeHRlbnNpb25zMThhZGRQZW5kaW5nUmVzb3VyY2VF
UktOM1dURjEyQXRvbWljU3RyaW5nRVBOU18xNlNWR1N0eWxlZEVsZW1lbnRFCit9Cit7CisgICBi
dWdfMTAxNzUxCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE0U1ZHRm9udEVsZW1lbnQ2Y3JlYXRlRVJLTlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9j
dW1lbnRFCisgICBmdW46X1pON1dlYkNvcmVMMTVmb250Q29uc3RydWN0b3JFUktOU18xM1F1YWxp
ZmllZE5hbWVFUE5TXzhEb2N1bWVudEViCisgICBmdW46X1pON1dlYkNvcmUxN1NWR0VsZW1lbnRG
YWN0b3J5MTZjcmVhdGVTVkdFbGVtZW50RVJLTlNfMTNRdWFsaWZpZWROYW1lRVBOU184RG9jdW1l
bnRFYgorICAgZnVuOl9aTjdXZWJDb3JlOERvY3VtZW50MTNjcmVhdGVFbGVtZW50RVJLTlNfMTNR
dWFsaWZpZWROYW1lRWIKK30KK3sKKyAgIGJ1Z18xMDQ0NDcKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IC4uLgorICAgZnVuOkhCX09wZW5UeXBlU2hhcGUKKyAgIGZ1bjphcmFiaWNTeXJpYWNPcGVuVHlw
ZVNoYXBlCisgICBmdW46SEJfQXJhYmljU2hhcGUKKyAgIGZ1bjpIQl9TaGFwZUl0ZW0KKyAgIGZ1
bjpfWk43V2ViQ29yZTIxQ29tcGxleFRleHRDb250cm9sbGVyMTFzaGFwZUdseXBoc0V2CisgICBm
dW46X1pON1dlYkNvcmUyMUNvbXBsZXhUZXh0Q29udHJvbGxlcjEzbmV4dFNjcmlwdFJ1bkV2Cisg
ICBmdW46X1pON1dlYkNvcmUyMUNvbXBsZXhUZXh0Q29udHJvbGxlcjE0d2lkdGhPZkZ1bGxSdW5F
dgorICAgZnVuOl9aTks3V2ViQ29yZTRGb250MjRmbG9hdFdpZHRoRm9yQ29tcGxleFRleHRFUktO
U183VGV4dFJ1bkVQTjNXVEY3SGFzaFNldElQS05TXzE0U2ltcGxlRm9udERhdGFFTlM0XzdQdHJI
YXNoSVM4X0VFTlM0XzEwSGFzaFRyYWl0c0lTOF9FRUVFUE5TXzEzR2x5cGhPdmVyZmxvd0UKKyAg
IGZ1bjpfWk5LN1dlYkNvcmU0Rm9udDV3aWR0aEVSS05TXzdUZXh0UnVuRVJpUk4zV1RGNlN0cmlu
Z0UKKyAgIGZ1bjpfWk43V2ViQ29yZTE0U1ZHVGV4dE1ldHJpY3NDMUVQTlNfMTlSZW5kZXJTVkdJ
bmxpbmVUZXh0RVJLTlNfN1RleHRSdW5FCisgICBmdW46X1pON1dlYkNvcmUxNFNWR1RleHRNZXRy
aWNzMjFtZWFzdXJlQ2hhcmFjdGVyUmFuZ2VFUE5TXzE5UmVuZGVyU1ZHSW5saW5lVGV4dEVqagor
ICAgZnVuOl9aTks3V2ViQ29yZTMwU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyMjVwcm9w
YWdhdGVMYXlvdXRBdHRyaWJ1dGVzRVBOU18xMlJlbmRlck9iamVjdEVSTjNXVEY2VmVjdG9ySU5T
XzIzU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNFTG0wRUVFUmpSdAorfQoreworICAgYnVnXzEwNzY5
NgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmUxMWlC
ZWFtQ3Vyc29yRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTJzZWxlY3RDdXJz
b3JFUktOU18yOE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHNFUE5TXzlTY3JvbGxiYXJFCisg
ICBmdW46X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjIwaGFuZGxlTW91c2VNb3ZlRXZlbnRFUktO
U18xOFBsYXRmb3JtTW91c2VFdmVudEVQTlNfMTNIaXRUZXN0UmVzdWx0RWIKKyAgIGZ1bjpfWk43
V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTBtb3VzZU1vdmVkRVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZl
bnRFYgorICAgZnVuOl9aTjZXZWJLaXQxMVdlYlZpZXdJbXBsOW1vdXNlTW92ZUVSS05TXzEzV2Vi
TW91c2VFdmVudEUKKyAgIGZ1bjpfWk42V2ViS2l0MTFXZWJWaWV3SW1wbDE2aGFuZGxlSW5wdXRF
dmVudEVSS05TXzEzV2ViSW5wdXRFdmVudEUKKyAgIGZ1bjpfWk4xMlJlbmRlcldpZGdldDE4T25I
YW5kbGVJbnB1dEV2ZW50RVJLTjNJUEM3TWVzc2FnZUUKK30KK3sKKyAgIGJ1Z18xMDc2OTgKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3Jl
OUNTU1BhcnNlcjEwcGFyc2VTaGVldEVQTlNfMTNDU1NTdHlsZVNoZWV0RVJLTjNXVEY2U3RyaW5n
RWlQTlMzXzdIYXNoTWFwSVBOU18xMkNTU1N0eWxlUnVsZUVOUzNfNlJlZlB0cklOU18xN0NTU1J1
bGVTb3VyY2VEYXRhRUVFTlMzXzdQdHJIYXNoSVM5X0VFTlMzXzEwSGFzaFRyYWl0c0lTOV9FRU5T
Rl9JU0NfRUVFRQorICAgZnVuOl9aTjdXZWJDb3JlMTNDU1NTdHlsZVNoZWV0MTdwYXJzZVN0cmlu
Z0F0TGluZUVSS04zV1RGNlN0cmluZ0ViaQorICAgZnVuOl9aTjdXZWJDb3JlMTNDU1NTdHlsZVNo
ZWV0MTFwYXJzZVN0cmluZ0VSS04zV1RGNlN0cmluZ0ViCisgICBmdW46X1pON1dlYkNvcmVMMTJw
YXJzZVVBU2hlZXRFUktOM1dURjZTdHJpbmdFCit9Cit7CisgICBidWdfMTA3Njk4YQorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgLi4uCisgICBmdW46X1pON1dlYkNvcmU5Q1NT
UGFyc2VyMTBwYXJzZVNoZWV0RVBOU18xM0NTU1N0eWxlU2hlZXRFUktOM1dURjZTdHJpbmdFaVBO
UzNfN0hhc2hNYXBJUE5TXzEyQ1NTU3R5bGVSdWxlRU5TM182UmVmUHRySU5TXzE3Q1NTUnVsZVNv
dXJjZURhdGFFRUVOUzNfN1B0ckhhc2hJUzlfRUVOUzNfMTBIYXNoVHJhaXRzSVM5X0VFTlNGX0lT
Q19FRUVFCisgICBmdW46X1pON1dlYkNvcmUxM0NTU1N0eWxlU2hlZXQxN3BhcnNlU3RyaW5nQXRM
aW5lRVJLTjNXVEY2U3RyaW5nRWJpCisgICBmdW46X1pON1dlYkNvcmUxMlN0eWxlRWxlbWVudDEx
Y3JlYXRlU2hlZXRFUE5TXzdFbGVtZW50RWlSS04zV1RGNlN0cmluZ0UKKyAgIGZ1bjpfWk43V2Vi
Q29yZTEyU3R5bGVFbGVtZW50N3Byb2Nlc3NFUE5TXzdFbGVtZW50RQorfQoreworICAgYnVnXzEw
NzY5OGIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOl9a
TjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJDb3JlMThTdHlsZVNoZWV0SW50ZXJuYWxFRW53RW0KKyAg
IGZ1bjpfWk43V2ViQ29yZTE4U3R5bGVTaGVldEludGVybmFsNmNyZWF0ZUV2CisgICBmdW46X1pO
N1dlYkNvcmVMMTJwYXJzZVVBU2hlZXRFUktOM1dURjZTdHJpbmdFCit9CisKK3sKKyAgIGJ1Z18x
MDc2OTkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBm
YXN0TWFsbG9jRW0KKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlMTNBbmltYXRpb25CYXNlMTdl
bnN1cmVQcm9wZXJ0eU1hcEV2CisgICBmdW46X1pON1dlYkNvcmUxM0FuaW1hdGlvbkJhc2UxNmdl
dE51bVByb3BlcnRpZXNFdgorICAgZnVuOl9aTjdXZWJDb3JlMThDb21wb3NpdGVBbmltYXRpb24x
N3VwZGF0ZVRyYW5zaXRpb25zRVBOU18xMlJlbmRlck9iamVjdEVQTlNfMTFSZW5kZXJTdHlsZUVT
NF8KKyAgIGZ1bjpfWk43V2ViQ29yZTE4Q29tcG9zaXRlQW5pbWF0aW9uN2FuaW1hdGVFUE5TXzEy
UmVuZGVyT2JqZWN0RVBOU18xMVJlbmRlclN0eWxlRVM0XworICAgZnVuOl9aTjdXZWJDb3JlMTlB
bmltYXRpb25Db250cm9sbGVyMTZ1cGRhdGVBbmltYXRpb25zRVBOU18xMlJlbmRlck9iamVjdEVQ
TlNfMTFSZW5kZXJTdHlsZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTEyUmVuZGVyT2JqZWN0MThzZXRB
bmltYXRhYmxlU3R5bGVFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTFSZW5kZXJTdHlsZUVFRQorICAg
ZnVuOl9aTjdXZWJDb3JlNE5vZGUxNHNldFJlbmRlclN0eWxlRU4zV1RGMTBQYXNzUmVmUHRySU5T
XzExUmVuZGVyU3R5bGVFRUUKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlN0VsZW1lbnQxMXJl
Y2FsY1N0eWxlRU5TXzROb2RlMTFTdHlsZUNoYW5nZUUKKyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1
bWVudDExcmVjYWxjU3R5bGVFTlNfNE5vZGUxMVN0eWxlQ2hhbmdlRQorICAgZnVuOl9aTjdXZWJD
b3JlOERvY3VtZW50MTl1cGRhdGVTdHlsZUlmTmVlZGVkRXYKKyAgIGZ1bjpfWk43V2ViQ29yZThE
b2N1bWVudDEydXBkYXRlTGF5b3V0RXYKKyAgIGZ1bjpfWk43V2ViQ29yZThEb2N1bWVudDM2dXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzRXYKK30KKworeworICAgYnVnXzEwODYy
MQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RN
YWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJDb3JlNUV2ZW50RUVud0Vt
CisgICBmdW46X1pON1dlYkNvcmUxMk1lc3NhZ2VFdmVudDZjcmVhdGVFTjNXVEYxMFBhc3NPd25Q
dHJJTlMxXzZWZWN0b3JJTlMxXzZSZWZQdHJJTlNfMTFNZXNzYWdlUG9ydEVFRUxtMUVFRUVFTlMx
XzEwUGFzc1JlZlB0cklOU18yMVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUVFRVJLTlMxXzZTdHJpbmdF
U0VfTlM5X0lOU185RE9NV2luZG93RUVFCisgICBmdW46X1pON1dlYkNvcmUxNlBvc3RNZXNzYWdl
VGltZXI1ZXZlbnRFUE5TXzIyU2NyaXB0RXhlY3V0aW9uQ29udGV4dEUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTlET01XaW5kb3cyMXBvc3RNZXNzYWdlVGltZXJGaXJlZEVOM1dURjEwUGFzc093blB0cklO
U18xNlBvc3RNZXNzYWdlVGltZXJFRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE2UG9zdE1lc3NhZ2VU
aW1lcjVmaXJlZEV2CisgICBmdW46X1pON1dlYkNvcmUxMlRocmVhZFRpbWVyczI0c2hhcmVkVGlt
ZXJGaXJlZEludGVybmFsRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTEyVGhyZWFkVGltZXJzMTZzaGFy
ZWRUaW1lckZpcmVkRXYKKyAgIGZ1bjpfWk4xMXdlYmtpdF9nbHVlMjVXZWJLaXRQbGF0Zm9ybVN1
cHBvcnRJbXBsOURvVGltZW91dEV2CisgICBmdW46X1pONGJhc2U5QmFzZVRpbWVySU4xMXdlYmtp
dF9nbHVlMjVXZWJLaXRQbGF0Zm9ybVN1cHBvcnRJbXBsRUxiMEVFOVRpbWVyVGFzazNSdW5Fdgor
fQorCit7CisgICBidWdfMTA4NjI0CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IGZ1bjpfWk43V2ViQ29yZTIzdjhTdHJpbmdUb1dlYkNvcmVTdHJpbmdJTjNXVEY2U3RyaW5nRUVF
VF9OMnY4NkhhbmRsZUlOUzRfNlN0cmluZ0VFRU5TXzEyRXh0ZXJuYWxNb2RlRQorICAgZnVuOl9a
TjdXZWJDb3JlMTVWOFBhcmFtZXRlckJhc2U4dG9TdHJpbmdJTjNXVEY2U3RyaW5nRUVFVF92Cisg
ICBmdW46X1pON1dlYkNvcmUxNVY4UGFyYW1ldGVyQmFzZWN2TjNXVEY2U3RyaW5nRUV2CisgICAu
Li4KKyAgIGZ1bjpfWk4ydjg4aW50ZXJuYWxMNkludm9rZUViTlMwXzZIYW5kbGVJTlMwXzEwSlNG
dW5jdGlvbkVFRU5TMV9JTlMwXzZPYmplY3RFRUVpUFM1X1BiCisgICBmdW46X1pOMnY4OGludGVy
bmFsOUV4ZWN1dGlvbjRDYWxsRU5TMF82SGFuZGxlSU5TMF82T2JqZWN0RUVFUzRfaVBTNF9QYmIK
KyAgIGZ1bjpfWk4ydjg4RnVuY3Rpb240Q2FsbEVOU182SGFuZGxlSU5TXzZPYmplY3RFRUVpUE5T
MV9JTlNfNVZhbHVlRUVFCisgICBmdW46X1pON1dlYkNvcmUyOFY4V29ya2VyQ29udGV4dEV2ZW50
TGlzdGVuZXIyMGNhbGxMaXN0ZW5lckZ1bmN0aW9uRVBOU18yMlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRFTjJ2ODZIYW5kbGVJTlMzXzVWYWx1ZUVFRVBOU181RXZlbnRFCisgICBmdW46X1pON1dlYkNv
cmUyM1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyMThpbnZva2VFdmVudEhhbmRsZXJFUE5TXzIyU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dEVQTlNfNUV2ZW50RU4ydjg2SGFuZGxlSU5TNV81VmFsdWVFRUUK
KyAgIGZ1bjpfWk43V2ViQ29yZTI4VjhXb3JrZXJDb250ZXh0RXZlbnRMaXN0ZW5lcjExaGFuZGxl
RXZlbnRFUE5TXzIyU2NyaXB0RXhlY3V0aW9uQ29udGV4dEVQTlNfNUV2ZW50RQorICAgZnVuOl9a
TjdXZWJDb3JlMTFFdmVudFRhcmdldDE4ZmlyZUV2ZW50TGlzdGVuZXJzRVBOU181RXZlbnRFUE5T
XzE1RXZlbnRUYXJnZXREYXRhRVJOM1dURjZWZWN0b3JJTlNfMjNSZWdpc3RlcmVkRXZlbnRMaXN0
ZW5lckVMbTFFRUUKK30KK3sKKyAgIGJ1Z18xMDg2MjRhCisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46X1pudyoKKyAgIGZ1bjpfWk43V2ViQ29yZTIzdjhTdHJpbmdUb1dlYkNvcmVTdHJpbmdJTjNX
VEY2U3RyaW5nRUVFVF9OMnY4NkhhbmRsZUlOUzRfNlN0cmluZ0VFRU5TXzEyRXh0ZXJuYWxNb2Rl
RQorICAgZnVuOl9aTjdXZWJDb3JlMTVWOFBhcmFtZXRlckJhc2U4dG9TdHJpbmdJTjNXVEY2U3Ry
aW5nRUVFVF92CisgICBmdW46X1pON1dlYkNvcmUxNVY4UGFyYW1ldGVyQmFzZWN2TjNXVEY2U3Ry
aW5nRUV2CisgICBmdW46X1pON1dlYkNvcmUyNVdlYktpdEJsb2JCdWlsZGVySW50ZXJuYWwqCit9
CisKK3sKKyAgIGJ1Z18xMDk0OTVmCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IC4uLgorICAgZnVuOl9aTjZ3ZWJraXQzZ3B1MThHTEluUHJvY2Vzc0NvbnRleHQyMkNyZWF0ZU9m
ZnNjcmVlbkNvbnRleHRFUFMxX1JLTjNnZng0U2l6ZUVTMl9QS2NQS2lOUzNfMTNHcHVQcmVmZXJl
bmNlRQorICAgZnVuOl9aTjZ3ZWJraXQzZ3B1NDZXZWJHcmFwaGljc0NvbnRleHQzREluUHJvY2Vz
c0NvbW1hbmRCdWZmZXJJbXBsMTBJbml0aWFsaXplRU42V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRl
eHQzRDEwQXR0cmlidXRlc0VQUzNfCisgICBmdW46X1pOMjVUZXN0V2ViS2l0UGxhdGZvcm1TdXBw
b3J0MzJjcmVhdGVPZmZzY3JlZW5HcmFwaGljc0NvbnRleHQzREVSS042V2ViS2l0MjBXZWJHcmFw
aGljc0NvbnRleHQzRDEwQXR0cmlidXRlc0UKKyAgIGZ1bjpfWk43V2ViQ29yZTE3R3JhcGhpY3ND
b250ZXh0M0Q2Y3JlYXRlRU5TMF8xMEF0dHJpYnV0ZXNFUE5TXzEwSG9zdFdpbmRvd0VOUzBfMTFS
ZW5kZXJTdHlsZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTIxV2ViR0xSZW5kZXJpbmdDb250ZXh0NmNy
ZWF0ZUVQTlNfMTdIVE1MQ2FudmFzRWxlbWVudEVQTlNfMjJXZWJHTENvbnRleHRBdHRyaWJ1dGVz
RQorICAgZnVuOl9aTjdXZWJDb3JlMTdIVE1MQ2FudmFzRWxlbWVudDEwZ2V0Q29udGV4dEVSS04z
V1RGNlN0cmluZ0VQTlNfMjNDYW52YXNDb250ZXh0QXR0cmlidXRlc0UKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE5VjhIVE1MQ2FudmFzRWxlbWVudDE4Z2V0Q29udGV4dENhbGxiYWNrRVJLTjJ2ODlBcmd1
bWVudHNFCit9CisKK3sKKyAgIGJ1Z18xMTI1OTRfYQorICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBmdW46TlBQX05ldworICAgZnVuOl9aTjZ3ZWJraXQ1bnBhcGkxNFBsdWdpbkluc3RhbmNl
N05QUF9OZXdFdHNQUGNTM18KKyAgIGZ1bjpfWk42d2Via2l0NW5wYXBpMTRQbHVnaW5JbnN0YW5j
ZTVTdGFydEVSSzRHVVJMUFBjUzZfaWIKKyAgIGZ1bjpfWk42d2Via2l0NW5wYXBpMjFXZWJQbHVn
aW5EZWxlZ2F0ZUltcGwxMEluaXRpYWxpemVFUks0R1VSTFJLU3Q2dmVjdG9ySVNzU2FJU3NFRVM5
X1BOUzBfOVdlYlBsdWdpbkViCisgICBmdW46X1pONndlYmtpdDVucGFwaTEzV2ViUGx1Z2luSW1w
bDEwaW5pdGlhbGl6ZUVQTjZXZWJLaXQxOFdlYlBsdWdpbkNvbnRhaW5lckUKKyAgIGZ1bjpfWk42
V2ViS2l0MjFGcmFtZUxvYWRlckNsaWVudEltcGwxMmNyZWF0ZVBsdWdpbkVSS043V2ViQ29yZTdJ
bnRTaXplRVBOUzFfMTdIVE1MUGx1Z0luRWxlbWVudEVSS05TMV80S1VSTEVSS04zV1RGNlZlY3Rv
cklOU0FfNlN0cmluZ0VMbTBFRUVTRl9SS1NDX2IKKyAgIGZ1bjpfWk43V2ViQ29yZTE0U3ViZnJh
bWVMb2FkZXIxMGxvYWRQbHVnaW5FUE5TXzIySFRNTFBsdWdJbkltYWdlRWxlbWVudEVSS05TXzRL
VVJMRVJLTjNXVEY2U3RyaW5nRVJLTlM2XzZWZWN0b3JJUzdfTG0wRUVFU0RfYgorICAgZnVuOl9a
TjdXZWJDb3JlMTRTdWJmcmFtZUxvYWRlcjEzcmVxdWVzdFBsdWdpbkVQTlNfMjJIVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50RVJLTlNfNEtVUkxFUktOM1dURjZTdHJpbmdFUktOUzZfNlZlY3RvcklTN19M
bTBFRUVTRF9iCisgICBmdW46X1pON1dlYkNvcmUxNFN1YmZyYW1lTG9hZGVyMTNyZXF1ZXN0T2Jq
ZWN0RVBOU18yMkhUTUxQbHVnSW5JbWFnZUVsZW1lbnRFUktOM1dURjZTdHJpbmdFUktOUzNfMTJB
dG9taWNTdHJpbmdFUzZfUktOUzNfNlZlY3RvcklTNF9MbTBFRUVTRF8KK30KKworeworICAgYnVn
XzEyMTcyOQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYx
MGZhc3RNYWxsb2NFKgorICAgLi4uCisgICBmdW46X1pON1dlYkNvcmVMMTJwYXJzZVVBU2hlZXRF
UktOM1dURjZTdHJpbmdFCisgICBmdW46X1pON1dlYkNvcmVMMTJwYXJzZVVBU2hlZXRFUEtjagor
ICAgLi4uCisgICBmdW46X1pON1dlYkNvcmU3RWxlbWVudDE2c3R5bGVGb3JSZW5kZXJlckV2Cit9
CisKK3sKKyAgIGJ1Z18xMjIxODkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAg
ZnVuOl9aTjZXZWJLaXQxNkNocm9tZUNsaWVudEltcGwxOGNyZWF0ZUNvbG9yQ2hvb3NlckVQTjdX
ZWJDb3JlMThDb2xvckNob29zZXJDbGllbnRFUktOUzFfNUNvbG9yRQorICAgZnVuOl9aTjdXZWJD
b3JlNkNocm9tZTE4Y3JlYXRlQ29sb3JDaG9vc2VyRVBOU18xOENvbG9yQ2hvb3NlckNsaWVudEVS
S05TXzVDb2xvckUKKyAgIGZ1bjpfWk43V2ViQ29yZTE0Q29sb3JJbnB1dFR5cGUyMmhhbmRsZURP
TUFjdGl2YXRlRXZlbnRFUE5TXzVFdmVudEUKKyAgIGZ1bjpfWk43V2ViQ29yZTE2SFRNTElucHV0
RWxlbWVudDE5ZGVmYXVsdEV2ZW50SGFuZGxlckVQTlNfNUV2ZW50RQorICAgZnVuOl9aTjdXZWJD
b3JlMTVFdmVudERpc3BhdGNoZXIxM2Rpc3BhdGNoRXZlbnRFTjNXVEYxMFBhc3NSZWZQdHJJTlNf
NUV2ZW50RUVFCisgICBmdW46X1pOSzdXZWJDb3JlMjFFdmVudERpc3BhdGNoTWVkaWF0b3IxM2Rp
c3BhdGNoRXZlbnRFUE5TXzE1RXZlbnREaXNwYXRjaGVyRQorfQoreworICAgYnVnXzEyMjE5Mgor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4KKyAgIGZ1bjpfWk42d2Via2l0
M2dwdTE4R0xJblByb2Nlc3NDb250ZXh0MjJDcmVhdGVPZmZzY3JlZW5Db250ZXh0RVBTMV9SS04z
Z2Z4NFNpemVFUzJfUEtjUEtpTlMzXzEzR3B1UHJlZmVyZW5jZUUKKyAgIGZ1bjpfWk42d2Via2l0
M2dwdTQ2V2ViR3JhcGhpY3NDb250ZXh0M0RJblByb2Nlc3NDb21tYW5kQnVmZmVySW1wbDEwSW5p
dGlhbGl6ZUVONldlYktpdDIwV2ViR3JhcGhpY3NDb250ZXh0M0QxMEF0dHJpYnV0ZXNFUFMzXwor
ICAgZnVuOl9aTjE0d2Via2l0X3N1cHBvcnQyM0NyZWF0ZUdyYXBoaWNzQ29udGV4dDNERVJLTjZX
ZWJLaXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRVBOUzBfN1dlYlZpZXdFYgor
ICAgZnVuOl9aTjExV2ViVmlld0hvc3QyM2NyZWF0ZUdyYXBoaWNzQ29udGV4dDNERVJLTjZXZWJL
aXQyMFdlYkdyYXBoaWNzQ29udGV4dDNEMTBBdHRyaWJ1dGVzRQorICAgZnVuOl9aTjZXZWJLaXQx
MVdlYlZpZXdJbXBsMzNjcmVhdGVDb21wb3NpdG9yR3JhcGhpY3NDb250ZXh0M0RFdgorICAgZnVu
Ol9aTjZXZWJLaXQxMVdlYlZpZXdJbXBsMTVjcmVhdGVDb250ZXh0M0RFdgorfQoreworICAgYnVn
XzEyMjE5NQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOU3QzKmluc2VydCoK
KyAgIGZ1bjpfWk4zZ3B1NWdsZXMyMTlHTEVTMkltcGxlbWVudGF0aW9uMTVHZXRTdHJpbmdIZWxw
ZXJFagorICAgZnVuOl9aTjNncHU1Z2xlczIxOUdMRVMySW1wbGVtZW50YXRpb245R2V0U3RyaW5n
RWoKKyAgIGZ1bjpfWk42d2Via2l0M2dwdTQ2V2ViR3JhcGhpY3NDb250ZXh0M0RJblByb2Nlc3ND
b21tYW5kQnVmZmVySW1wbDlnZXRTdHJpbmdFagorICAgZnVuOl9aTjdXZWJDb3JlMjRHcmFwaGlj
c0NvbnRleHQzRFByaXZhdGU5Z2V0U3RyaW5nRWoKKyAgIGZ1bjpfWk43V2ViQ29yZTI0R3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlMjBpbml0aWFsaXplRXh0ZW5zaW9uc0V2CisgICBmdW46X1pON1dl
YkNvcmUyNEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTE3c3VwcG9ydHNFeHRlbnNpb25FUktOM1dU
RjZTdHJpbmdFCisgICBmdW46X1pON1dlYkNvcmUyMEV4dGVuc2lvbnMzRENocm9taXVtOHN1cHBv
cnRzRVJLTjNXVEY2U3RyaW5nRQorfQorCit7CisgICBidWdfMTIyNDMxCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xMVdlYlZpZXdIb3N0MTJjcmVhdGVQbHVnaW5F
UE42V2ViS2l0OFdlYkZyYW1lRVJLTlMwXzE1V2ViUGx1Z2luUGFyYW1zRQorICAgZnVuOl9aTjZX
ZWJLaXQyMUZyYW1lTG9hZGVyQ2xpZW50SW1wbDEyY3JlYXRlUGx1Z2luRVJLTjdXZWJDb3JlN0lu
dFNpemVFUE5TMV8xN0hUTUxQbHVnSW5FbGVtZW50RVJLTlMxXzRLVVJMRVJLTjNXVEY2VmVjdG9y
SU5TQV82U3RyaW5nRUxtMEVFRVNGX1JLU0NfYgorICAgZnVuOl9aTjdXZWJDb3JlMTRTdWJmcmFt
ZUxvYWRlcjEwbG9hZFBsdWdpbkVQTlNfMjJIVE1MUGx1Z0luSW1hZ2VFbGVtZW50RVJLTlNfNEtV
UkxFUktOM1dURjZTdHJpbmdFUktOUzZfNlZlY3RvcklTN19MbTBFRUVTRF9iCisgICBmdW46X1pO
N1dlYkNvcmUxNFN1YmZyYW1lTG9hZGVyMTNyZXF1ZXN0UGx1Z2luRVBOU18yMkhUTUxQbHVnSW5J
bWFnZUVsZW1lbnRFUktOU180S1VSTEVSS04zV1RGNlN0cmluZ0VSS05TNl82VmVjdG9ySVM3X0xt
MEVFRVNEX2IKKyAgIGZ1bjpfWk43V2ViQ29yZTE0U3ViZnJhbWVMb2FkZXIxM3JlcXVlc3RPYmpl
Y3RFUE5TXzIySFRNTFBsdWdJbkltYWdlRWxlbWVudEVSS04zV1RGNlN0cmluZ0VSS05TM18xMkF0
b21pY1N0cmluZ0VTNl9SS05TM182VmVjdG9ySVM0X0xtMEVFRVNEXworICAgZnVuOl9aTjdXZWJD
b3JlMTZIVE1MRW1iZWRFbGVtZW50MTJ1cGRhdGVXaWRnZXRFTlNfMjBQbHVnaW5DcmVhdGlvbk9w
dGlvbkUKK30KKworeworICAgYnVnXzEyMjQ1NworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1h
bGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMFJlZkNv
dW50ZWRJTjdXZWJDb3JlN0FyY2hpdmVFRW53RW0KKyAgIGZ1bjpfWk43V2ViQ29yZTEyTUhUTUxB
cmNoaXZlNmNyZWF0ZUV2CisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTExTUhUTUxQYXJzZXIy
MnBhcnNlQXJjaGl2ZVdpdGhIZWFkZXJFUE5TXzEwTUlNRUhlYWRlckUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTExTUhUTUxQYXJzZXIxMnBhcnNlQXJjaGl2ZUV2CisgICBmdW46X1pON1dlYkNvcmUxMk1I
VE1MQXJjaGl2ZTZjcmVhdGVFUktOU180S1VSTEVQTlNfMTJTaGFyZWRCdWZmZXJFCisgICBmdW46
X1pON1dlYkNvcmVMMjBhcmNoaXZlRmFjdG9yeUNyZWF0ZUlOU18xMk1IVE1MQXJjaGl2ZUVFRU4z
V1RGMTBQYXNzUmVmUHRySU5TXzdBcmNoaXZlRUVFUktOU180S1VSTEVQTlNfMTJTaGFyZWRCdWZm
ZXJFCisgICBmdW46X1pON1dlYkNvcmUxNEFyY2hpdmVGYWN0b3J5NmNyZWF0ZUVSS05TXzRLVVJM
RVBOU18xMlNoYXJlZEJ1ZmZlckVSS04zV1RGNlN0cmluZ0UKKyAgIC4uLgorICAgZnVuOl9aTjdX
ZWJDb3JlMTREb2N1bWVudExvYWRlcjE1ZmluaXNoZWRMb2FkaW5nRXYKKyAgIGZ1bjpfWk43V2Vi
Q29yZTE4TWFpblJlc291cmNlTG9hZGVyMTZkaWRGaW5pc2hMb2FkaW5nRWQKK30KK3sKKyAgIGJ1
Z18xMjI2NzAKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjNXVEYx
MUxpc3RIYXNoU2V0SVBON1dlYkNvcmUxMlJlbmRlcklubGluZUVMbTI1NkVOU183UHRySGFzaElT
M19FRUVDMUV2CisgICBmdW46X1pOSzdXZWJDb3JlMTdSZW5kZXJMaW5lQm94TGlzdDVwYWludEVQ
TlNfMjBSZW5kZXJCb3hNb2RlbE9iamVjdEVSTlNfOVBhaW50SW5mb0VSS05TKgorICAgZnVuOl9a
TjdXZWJDb3JlMTFSZW5kZXJCbG9jazEzcGFpbnRDb250ZW50c0VSTlNfOVBhaW50SW5mb0VSS05T
KgorICAgZnVuOl9aTjdXZWJDb3JlMTFSZW5kZXJCbG9jazExcGFpbnRPYmplY3RFUk5TXzlQYWlu
dEluZm9FUktOUyoKKyAgIGZ1bjpfWk43V2ViQ29yZTExUmVuZGVyQmxvY2s1cGFpbnRFUk5TXzlQ
YWludEluZm9FUktOUyoKK30KKworeworICAgYnVnXzEyNDE1NgorICAgTWVtY2hlY2s6TGVhawor
ICAgZnVuOl9abncqCisgICBmdW46X1pOMjZTaW1wbGVSZXNvdXJjZUxvYWRlckJyaWRnZTZDcmVh
dGVFUktOMTF3ZWJraXRfZ2x1ZTIwUmVzb3VyY2VMb2FkZXJCcmlkZ2UxMVJlcXVlc3RJbmZvRQor
ICAgZnVuOl9aTjI1VGVzdFdlYktpdFBsYXRmb3JtU3VwcG9ydDIwQ3JlYXRlUmVzb3VyY2VMb2Fk
ZXJFUktOMTF3ZWJraXRfZ2x1ZTIwUmVzb3VyY2VMb2FkZXJCcmlkZ2UxMVJlcXVlc3RJbmZvRQor
ICAgZnVuOl9aTjExd2Via2l0X2dsdWUxNldlYlVSTExvYWRlckltcGw3Q29udGV4dDVTdGFydEVS
S042V2ViS2l0MTNXZWJVUkxSZXF1ZXN0RVBOU18yMFJlc291cmNlTG9hZGVyQnJpZGdlMTZTeW5j
TG9hZFJlc3BvbnNlRVBOU18yNVdlYktpdFBsYXRmb3JtU3VwcG9ydEltcGxFCisgICBmdW46X1pO
MTF3ZWJraXRfZ2x1ZTE2V2ViVVJMTG9hZGVySW1wbDE4bG9hZEFzeW5jaHJvbm91c2x5RVJLTjZX
ZWJLaXQxM1dlYlVSTFJlcXVlc3RFUE5TMV8xOFdlYlVSTExvYWRlckNsaWVudEUKKyAgIGZ1bjpf
Wk43V2ViQ29yZTIyUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDVzdGFydEV2Cit9CisKK3sKKyAgIGJ1
Z18xMzA2MTkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjdXZWJD
b3JlOUNsaXBSZWN0czZjcmVhdGVFUktTMF8KKyAgIGZ1bjpfWk43V2ViQ29yZTExUmVuZGVyTGF5
ZXIxNXVwZGF0ZUNsaXBSZWN0c0VQS1MwX1BOU18xMlJlbmRlclJlZ2lvbkVOU18xM0NsaXBSZWN0
c1R5cGVFTlNfMjlPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeUUKKyAgIC4uLgorICAgZnVu
Ol9aTks3V2ViQ29yZTExUmVuZGVyTGF5ZXIxNXBhcmVudENsaXBSZWN0c0VQS1MwX1BOU18xMlJl
bmRlclJlZ2lvbkVOU18xM0NsaXBSZWN0c1R5cGVFUk5TXzlDbGlwUmVjdHNFTlNfMjlPdmVybGF5
U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeUUKKyAgIGZ1bjpfWk5LN1dlYkNvcmUxMVJlbmRlckxheWVy
MThiYWNrZ3JvdW5kQ2xpcFJlY3RFUEtTMF9QTlNfMTJSZW5kZXJSZWdpb25FTlNfMTNDbGlwUmVj
dHNUeXBlRU5TXzI5T3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3lFCit9CisKK3sKKyAgIGJ1
Z18xMzgyMzNfYgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNX
VEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJDb3JlMTdT
Y3JpcHRQcm9maWxlTm9kZUVFbndFbQorICAgZnVuOl9aTjdXZWJDb3JlMTdTY3JpcHRQcm9maWxl
Tm9kZTZjcmVhdGVFUEtOMnY4MTRDcHVQcm9maWxlTm9kZUUKKyAgIGZ1bjpfWk5LN1dlYkNvcmUx
N1NjcmlwdFByb2ZpbGVOb2RlOGNoaWxkcmVuRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTI3U2NyaXB0
UHJvZmlsZU5vZGVWOEludGVybmFsTDE2Y2hpbGRyZW5DYWxsYmFja0VSS04ydjg5QXJndW1lbnRz
RQorfQorCit7CisgICBidWdfMTM4NTIyCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk43V2ViQ29yZTIzdjhTdHJpbmdUb1dlYkNvcmVTdHJpbmdJTjNXVEYxMkF0b21p
Y1N0cmluZ0VFRVRfTjJ2ODZIYW5kbGVJTlM0XzZTdHJpbmdFRUVOU18xMkV4dGVybmFsTW9kZUUK
KyAgIGZ1bjpfWk43V2ViQ29yZSpWOFN0cmluZ1Jlc291cmNlSUxOU18yMFY4U3RyaW5nUmVzb3Vy
Y2VNb2RlKgorICAgLi4uCisgICBmdW46X1pON1dlYkNvcmUyM1dvcmtlckNvbnRleHRWOEludGVy
bmFsTDIyYWRkRXZlbnRMaXN0ZW5lck1ldGhvZEVSS04ydjg5QXJndW1lbnRzRQorfQorCit7Cisg
ICBidWdfMTM5NDcwCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk43
V2ViQ29yZTIyVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTE3dW5yZWdpc3RlckJsb2JVUkxFUktOU180
S1VSTEUKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlMTVXcmFwcGVyVHlwZUluZm8xMWRlcmVm
T2JqZWN0RVB2CisgICBmdW46X1pON1dlYkNvcmU3RE9NRGF0YTExZGVyZWZPYmplY3RFUE5TXzE1
V3JhcHBlclR5cGVJbmZvRVB2CisgICBmdW46X1pON1dlYkNvcmU3RE9NRGF0YTIzV3JhcHBlck1h
cE9iamVjdFJlbW92ZXJJdkUxNXZpc2l0RE9NV3JhcHBlckVQTlNfMTJET01EYXRhU3RvcmVFUHZO
MnY4MTBQZXJzaXN0ZW50SU5TNl82T2JqZWN0RUVFCisgICBmdW46X1pON1dlYkNvcmUxNldlYWtS
ZWZlcmVuY2VNYXBJdk4ydjg2T2JqZWN0RUU1dmlzaXRFUE5TXzEyRE9NRGF0YVN0b3JlRVBOU18y
NEFic3RyYWN0V2Vha1JlZmVyZW5jZU1hcEl2UzJfRTdWaXNpdG9yRQorICAgZnVuOl9aTjdXZWJD
b3JlN0RPTURhdGEyN3JlbW92ZU9iamVjdHNGcm9tV3JhcHBlck1hcEl2RUV2UE5TXzEyRE9NRGF0
YVN0b3JlRVJOU18yNEFic3RyYWN0V2Vha1JlZmVyZW5jZU1hcElUX04ydjg2T2JqZWN0RUVFCisg
ICBmdW46X1pON1dlYkNvcmUxOXJlbW92ZUFsbERPTU9iamVjdHNFdgorICAgZnVuOl9aTjdXZWJD
b3JlMjJXb3JrZXJTY3JpcHRDb250cm9sbGVyRDFFdgorICAgZnVuOl9aTjNXVEYxNGRlbGV0ZU93
bmVkUHRySU43V2ViQ29yZTIyV29ya2VyU2NyaXB0Q29udHJvbGxlckVFRXZQVF8KKyAgIGZ1bjpf
Wk4zV1RGNk93blB0cklON1dlYkNvcmUyMldvcmtlclNjcmlwdENvbnRyb2xsZXJFRTVjbGVhckV2
CisgICBmdW46X1pON1dlYkNvcmUxM1dvcmtlckNvbnRleHQxMWNsZWFyU2NyaXB0RXYKKyAgIGZ1
bjpfWk43V2ViQ29yZTMwV29ya2VyVGhyZWFkU2h1dGRvd25GaW5pc2hUYXNrMTFwZXJmb3JtVGFz
a0VQTlNfMjJTY3JpcHRFeGVjdXRpb25Db250ZXh0RQorICAgZnVuOl9aTjdXZWJDb3JlMTNXb3Jr
ZXJSdW5Mb29wNFRhc2sxMXBlcmZvcm1UYXNrRVJLUzBfUE5TXzIyU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dEUKKyAgIGZ1bjpfWk43V2ViQ29yZTEzV29ya2VyUnVuTG9vcDlydW5Jbk1vZGVFUE5TXzEz
V29ya2VyQ29udGV4dEVSS05TXzEzTW9kZVByZWRpY2F0ZUVOUzBfOFdhaXRNb2RlRQorICAgZnVu
Ol9aTjdXZWJDb3JlMTNXb3JrZXJSdW5Mb29wM3J1bkVQTlNfMTNXb3JrZXJDb250ZXh0RQorICAg
ZnVuOl9aTjdXZWJDb3JlMTJXb3JrZXJUaHJlYWQxMnJ1bkV2ZW50TG9vcEV2CisgICBmdW46X1pO
N1dlYkNvcmUyMURlZGljYXRlZFdvcmtlclRocmVhZDEycnVuRXZlbnRMb29wRXYKK30KKworewor
ICAgYnVnXzE0NTY0NQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9a
TjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJDb3Jl
MThJbmplY3RlZFNjcmlwdEhvc3RFRW53RW0KKyAgIGZ1bjpfWk43V2ViQ29yZTE4SW5qZWN0ZWRT
Y3JpcHRIb3N0NmNyZWF0ZUV2CisgICBmdW46X1pON1dlYkNvcmUyMUluamVjdGVkU2NyaXB0TWFu
YWdlckMxRVBGYlBOU18xMVNjcmlwdFN0YXRlRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTIxSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyMTVjcmVhdGVGb3JXb3JrZXJFdgorICAgZnVuOl9aTjdXZWJDb3JlMjVX
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyQzFFUE5TXzEzV29ya2VyQ29udGV4dEUKK30KKworewor
ICAgYnVnXzE0NTcxMgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pO
NldlYktpdDI1Tm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDE3cmVxdWVzdFBlcm1pc3Npb25FUE43
V2ViQ29yZTIyU2NyaSBwdEV4ZWN1dGlvbkNvbnRleHRFTjNXVEYxMFBhc3NSZWZQdHJJTlMxXzEy
Vm9pZENhbGxiYWNrRUVFCisgICBmdW46X1pON1dlYkNvcmUxOE5vdGlmaWNhdGlvbkNlbnRlcjE3
cmVxdWVzdFBlcm1pc3Npb25FTjNXVEYxMFBhc3NSZWZQdHJJTlNfMSAyVm9pZENhbGxiYWNrRUVF
CisgICBmdW46X1pON1dlYkNvcmUyMFY4Tm90aWZpY2F0aW9uQ2VudGVyMjVyZXF1ZXN0UGVybWlz
c2lvbkNhbGxiYWNrRVJLTjJ2ODlBcmd1bSBlbnRzRQorfQorCisKK3sKKyAgIGJ1Z18xNDU3NDdh
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4yNFRyYW5zbGF0ZUlu
Zm9CYXJEZWxlZ2F0ZTE5Q3JlYXRlRXJyb3JEZWxlZ2F0ZUVOMTVUcmFuc2xhdGVFcnJvcnM0VHlw
ZUVQMTRJbmZvQmFyU2VydmljZVAxMVByZWZTZXJ2aWNlUktTc1M3XworICAgZnVuOl9aTjE2VHJh
bnNsYXRlTWFuYWdlcjE0UGFnZVRyYW5zbGF0ZWRFUE43Y29udGVudDExV2ViQ29udGVudHNFUDIx
UGFnZVRyYW5zbGF0ZWREZXRhaWxzCisgICBmdW46X1pOMTZUcmFuc2xhdGVNYW5hZ2VyN09ic2Vy
dmVFaVJLTjdjb250ZW50MThOb3RpZmljYXRpb25Tb3VyY2VFUktOUzBfMTlOb3RpZmljYXRpb25E
ZXRhaWxzRQorICAgZnVuOl9aTjIzTm90aWZpY2F0aW9uU2VydmljZUltcGw2Tm90aWZ5RWlSS043
Y29udGVudDE4Tm90aWZpY2F0aW9uU291cmNlRVJLTlMwXzE5Tm90aWZpY2F0aW9uRGV0YWlsc0UK
KyAgIGZ1bjpfWk4xOFRyYW5zbGF0ZVRhYkhlbHBlcjE2T25QYWdlVHJhbnNsYXRlZEVpUktTc1Mx
X04xNVRyYW5zbGF0ZUVycm9yczRUeXBlRQorfQoreworICAgYnVnXzE0NTc0N2IKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjI0VHJhbnNsYXRlSW5mb0JhckRlbGVn
YXRlMTlDcmVhdGVFcnJvckRlbGVnYXRlRU4xNVRyYW5zbGF0ZUVycm9yczRUeXBlRVAxNEluZm9C
YXJTZXJ2aWNlUDExUHJlZlNlcnZpY2VSS1NzUzdfCisgICBmdW46X1pOMTZUcmFuc2xhdGVNYW5h
Z2VyMThPblVSTEZldGNoQ29tcGxldGVFUEtOM25ldDEwVVJMRmV0Y2hlckUKKyAgIGZ1bjpfWk4y
MFRyYW5zbGF0ZU1hbmFnZXJUZXN0MzFTaW11bGF0ZVRyYW5zbGF0ZVNjcmlwdFVSTEZldGNoRWIK
K30KK3sKKyAgIGJ1Z18xNDY0NjQKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisg
ICBmdW46YWRkX2NvZGVzZXQuaXNyYS4xMAorICAgLi4uCisgICBmdW46WENyZWF0ZVBpeG1hcAor
ICAgZnVuOlhDcmVhdGVCaXRtYXBGcm9tRGF0YQorICAgLi4uCisgICBmdW46X1pONGF1cmExOVJv
b3RXaW5kb3dIb3N0TGludXhDMUVQTlNfMjJSb290V2luZG93SG9zdERlbGVnYXRlRVJLTjNnZng0
UmVjdEUKK30KK3sKKyAgIGJ1Z18xNDY5NTAKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxs
b2MKKyAgIGZ1bjpnZXRfcGVlcl9zb2NrX25hbWUKKyAgIGZ1bjpfeGNiX2dldF9hdXRoX2luZm8K
KyAgIGZ1bjp4Y2JfY29ubmVjdF90b19kaXNwbGF5X3dpdGhfYXV0aF9pbmZvCisgICBmdW46X1hD
b25uZWN0WENCCisgICBmdW46WE9wZW5EaXNwbGF5CisgICBmdW46X1pONGJhc2UxOE1lc3NhZ2VQ
dW1wQXVyYVgxMTE4R2V0RGVmYXVsdFhEaXNwbGF5RXYKK30KK3sKKyAgIGJ1Z18xNDc3NTVfYQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pOMTJQbHVnaW5GaW5kZXIx
OEdldFBsdWdpbkluc3RhbGxlckVSS042d2Via2l0MTNXZWJQbHVnaW5JbmZvRQorICAgZnVuOl9a
TjExUGx1Z2luUHJlZnMzMEVuYWJsZVBsdWdpbklmUG9zc2libGVDYWxsYmFja0UqCit9Cit7Cisg
ICBidWdfMTQ3NzU1X2IKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9a
TjEyUGx1Z2luRmluZGVyMTdHZXRQbHVnaW5NZXRhZGF0YUVSS042d2Via2l0MTNXZWJQbHVnaW5J
bmZvRQorICAgZnVuOl9aTjExUGx1Z2luUHJlZnMxMkVuYWJsZVBsdWdpbkUqCisgICBmdW46X1pO
MTVQbHVnaW5QcmVmc1Rlc3QyNUVuYWJsZVBsdWdpblN5bmNocm9ub3VzbHlFKgorICAgZnVuOl9a
TjQ0UGx1Z2luUHJlZnNUZXN0X1VuaWZpZWRQZXBwZXJGbGFzaFN0YXRlX1Rlc3Q4VGVzdEJvZHlF
dgorfQorCit7CisgICBidWdfMTQ5NzM0YQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxv
YworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxNlZlY3RvckJ1
ZmZlckJhc2VJTjdXZWJDb3JlOUF0dHJpYnV0ZUVFMTRhbGxvY2F0ZUJ1ZmZlckVtCisgICBmdW46
X1pOM1dURjEyVmVjdG9yQnVmZmVySU43V2ViQ29yZTlBdHRyaWJ1dGVFTG00RUUxNGFsbG9jYXRl
QnVmZmVyRW0KKyAgIGZ1bjpfWk4zV1RGNlZlY3RvcklON1dlYkNvcmU5QXR0cmlidXRlRUxtNEVF
MjJyZXNlcnZlSW5pdGlhbENhcGFjaXR5RW0KKyAgIGZ1bjpfWk43V2ViQ29yZTIwRWxlbWVudEF0
dHJpYnV0ZURhdGExM2Nsb25lRGF0YUZyb21FUktTMF9SS05TXzdFbGVtZW50RVJTM18KK30KK3sK
KyAgIGJ1Z18xNDk3MzRiCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46
X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICBmdW46X1pOM1dURjE2VmVjdG9yQnVmZmVyQmFzZUlO
N1dlYkNvcmU5QXR0cmlidXRlRUUxNGFsbG9jYXRlQnVmZmVyRW0KKyAgIGZ1bjpfWk4zV1RGMTJW
ZWN0b3JCdWZmZXJJTjdXZWJDb3JlOUF0dHJpYnV0ZUVMbTRFRTE0YWxsb2NhdGVCdWZmZXJFbQor
ICAgZnVuOl9aTjNXVEY2VmVjdG9ySU43V2ViQ29yZTlBdHRyaWJ1dGVFTG00RUUxNXJlc2VydmVD
YXBhY2l0eUVtCisgICBmdW46X1pOM1dURjZWZWN0b3JJTjdXZWJDb3JlOUF0dHJpYnV0ZUVMbTRF
RTE0ZXhwYW5kQ2FwYWNpdHlFbQorICAgZnVuOl9aTjNXVEY2VmVjdG9ySU43V2ViQ29yZTlBdHRy
aWJ1dGVFTG00RUUxNGV4cGFuZENhcGFjaXR5RW1QS1MyXworICAgZnVuOl9aTjNXVEY2VmVjdG9y
SU43V2ViQ29yZTlBdHRyaWJ1dGVFTG00RUUxNGFwcGVuZFNsb3dDYXNlSVMyX0VFdlJLVF8KKyAg
IGZ1bjpfWk43V2ViQ29yZTIwRWxlbWVudEF0dHJpYnV0ZURhdGExMmFkZEF0dHJpYnV0ZUVSS05T
XzlBdHRyaWJ1dGVFUE5TXzdFbGVtZW50RU5TXzMwU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmli
dXRlRQorfQorCit7CisgICBidWdfMTUwOTk1CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
YSoKKyAgIGZ1bjpfWk4xNHdlYmtpdF9zdXBwb3J0MTJfR0xPQkFMX19OXzExM0RvTGlicG5nV3Jp
dGUqCisgICBmdW46X1pOMTR3ZWJraXRfc3VwcG9ydDI2RW5jb2RlV2l0aENvbXByZXNzaW9uTGV2
ZWwqCisgICBmdW46X1pOMTR3ZWJraXRfc3VwcG9ydDZFbmNvZGVFUEtoTlNfMTJfR0xPQkFMX19O
XzExMUNvbG9yRm9ybWF0KgorICAgZnVuOl9aTjE0d2Via2l0X3N1cHBvcnQyNUVuY29kZUJHUkFQ
TkdXaXRoQ2hlY2tzdW0qCisgICBmdW46X1pOSzlUZXN0U2hlbGw5ZHVtcEltYWdlRVA4U2tDYW52
YXMKKyAgIGZ1bjpfWk45VGVzdFNoZWxsNGR1bXBFdgorICAgZnVuOl9aTjlUZXN0U2hlbGwxMnRl
c3RGaW5pc2hlZEVQMTFXZWJWaWV3SG9zdAorICAgZnVuOl9aTjExV2ViVmlld0hvc3QxMnRlc3RG
aW5pc2hlZEV2CisgICBmdW46X1pOMTNXZWJUZXN0UnVubmVyMTBUZXN0UnVubmVyOVdvcmtRdWV1
ZTE1cHJvY2Vzc1dvcmtTb29uRXYKK30KK3sKKyAgIGJ1Z18xNTEwMDYKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjp1cHJ2X21hbGxvY180NgorICAgZnVuOl9aTjZpY3Vf
NDY3VU1lbW9yeW53RW0KKyAgIGZ1bjpfWk42aWN1XzQ2MTBEYXRlRm9ybWF0NmNyZWF0ZUVOUzBf
NkVTdHlsZUVTMV9SS05TXzZMb2NhbGVFCisgICBmdW46X1pONmljdV80NjEwRGF0ZUZvcm1hdDIy
Y3JlYXRlRGF0ZVRpbWVJbnN0YW5jZUVOUzBfNkVTdHlsZUVTMV9SS05TXzZMb2NhbGVFCisgICBm
dW46dWRhdF9vcGVuXzQ2CisgICBmdW46X1pOSzdXZWJDb3JlOUxvY2FsZUlDVTE0b3BlbkRhdGVG
b3JtYXRFMTZVRGF0ZUZvcm1hdFN0eWxlUzFfCisgICBmdW46X1pON1dlYkNvcmU5TG9jYWxlSUNV
MjRpbml0aWFsaXplRGF0ZVRpbWVGb3JtYXRFdgorICAgZnVuOl9aTjdXZWJDb3JlOUxvY2FsZUlD
VTE1c2hvcnRUaW1lRm9ybWF0RXYKKyAgIGZ1bjpfWk43V2ViQ29yZTE5RGF0ZVRpbWVFZGl0RWxl
bWVudDZsYXlvdXRFUktOU185U3RlcFJhbmdlRVJLTlNfMTREYXRlQ29tcG9uZW50c0VSTlNfOUxv
Y2FsaXplckUKKyAgIGZ1bjpfWk43V2ViQ29yZTE5RGF0ZVRpbWVFZGl0RWxlbWVudDEzc2V0RW1w
dHlWYWx1ZUVSS05TXzlTdGVwUmFuZ2VFUktOU18xNERhdGVDb21wb25lbnRzRVJOU185TG9jYWxp
emVyRQorICAgZnVuOl9aTjdXZWJDb3JlMTNUaW1lSW5wdXRUeXBlMjB1cGRhdGVJbm5lclRleHRW
YWx1ZUV2CisgICBmdW46X1pON1dlYkNvcmUxM1RpbWVJbnB1dFR5cGUxOWNyZWF0ZVNoYWRvd1N1
YnRyZWVFdgorICAgZnVuOl9aTjdXZWJDb3JlMTZIVE1MSW5wdXRFbGVtZW50MTB1cGRhdGVUeXBl
RXYKKyAgIGZ1bjpfWk43V2ViQ29yZTE2SFRNTElucHV0RWxlbWVudDE0cGFyc2VBdHRyaWJ1dGVF
UktOU185QXR0cmlidXRlRQorICAgZnVuOl9aTjdXZWJDb3JlN0VsZW1lbnQxNmF0dHJpYnV0ZUNo
YW5nZWRFUktOU185QXR0cmlidXRlRQorICAgZnVuOl9aTjdXZWJDb3JlMTNTdHlsZWRFbGVtZW50
MTZhdHRyaWJ1dGVDaGFuZ2VkRVJLTlNfOUF0dHJpYnV0ZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTdF
bGVtZW50MTlwYXJzZXJTZXRBdHRyaWJ1dGVzRVJLTjNXVEY2VmVjdG9ySU5TXzlBdHRyaWJ1dGVF
TG0wRUVFTlNfMjdGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb25FCisgICBmdW46X1pON1dlYkNv
cmUyMEhUTUxDb25zdHJ1Y3Rpb25TaXRlMTdjcmVhdGVIVE1MRWxlbWVudEVQTlNfMTVBdG9taWNI
VE1MVG9rZW5FCisgICBmdW46X1pON1dlYkNvcmUyMEhUTUxDb25zdHJ1Y3Rpb25TaXRlMjhpbnNl
cnRTZWxmQ2xvc2luZ0hUTUxFbGVtZW50RVBOU18xNUF0b21pY0hUTUxUb2tlbkUKKyAgIGZ1bjpf
Wk43V2ViQ29yZTE1SFRNTFRyZWVCdWlsZGVyMjRwcm9jZXNzU3RhcnRUYWdGb3JJbkJvZHlFUE5T
XzE1QXRvbWljSFRNTFRva2VuRQorICAgZnVuOl9aTjdXZWJDb3JlMTVIVE1MVHJlZUJ1aWxkZXIx
NXByb2Nlc3NTdGFydFRhZ0VQTlNfMTVBdG9taWNIVE1MVG9rZW5FCit9Cit7CisgICBidWdfMTUx
MDA3CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFz
dE1hbGxvY0VtCisgICBmdW46X1pOM1dURjEwUmVmQ291bnRlZElON1dlYkNvcmUxNUF0b21pY0hU
TUxUb2tlbkVFbndFbQorICAgZnVuOl9aTjdXZWJDb3JlMTVBdG9taWNIVE1MVG9rZW42Y3JlYXRl
RVJOU185SFRNTFRva2VuRQorICAgZnVuOl9aTjdXZWJDb3JlMTVIVE1MVHJlZUJ1aWxkZXIyMmNv
bnN0cnVjdFRyZWVGcm9tVG9rZW5FUk5TXzlIVE1MVG9rZW5FCisgICBmdW46X1pON1dlYkNvcmUx
OEhUTUxEb2N1bWVudFBhcnNlcjEzcHVtcFRva2VuaXplckVOUzBfMTVTeW5jaHJvbm91c01vZGVF
CisgICBmdW46X1pON1dlYkNvcmUxOEhUTUxEb2N1bWVudFBhcnNlcjIzcHVtcFRva2VuaXplcklm
UG9zc2libGVFTlMwXzE1U3luY2hyb25vdXNNb2RlRQorICAgZnVuOl9aTjdXZWJDb3JlMThIVE1M
RG9jdW1lbnRQYXJzZXI2aW5zZXJ0RVJLTlNfMTVTZWdtZW50ZWRTdHJpbmdFCisgICBmdW46X1pO
N1dlYkNvcmUxOEhUTUxEb2N1bWVudFBhcnNlcjIxcGFyc2VEb2N1bWVudEZyYWdtZW50RVJLTjNX
VEY2U3RyaW5nRVBOU18xNkRvY3VtZW50RnJhZ21lbnRFUE5TXzdFbGVtZW50RU5TXzI3RnJhZ21l
bnRTY3JpcHRpbmdQZXJtaXNzaW9uRQorICAgZnVuOl9aTjdXZWJDb3JlMTZEb2N1bWVudEZyYWdt
ZW50OXBhcnNlSFRNTEVSS04zV1RGNlN0cmluZ0VQTlNfN0VsZW1lbnRFTlNfMjdGcmFnbWVudFNj
cmlwdGluZ1Blcm1pc3Npb25FCisgICBmdW46X1pON1dlYkNvcmUzMWNyZWF0ZUZyYWdtZW50Rm9y
SW5uZXJPdXRlckhUTUxFUktOM1dURjZTdHJpbmdFUE5TXzdFbGVtZW50RU5TXzI3RnJhZ21lbnRT
Y3JpcHRpbmdQZXJtaXNzaW9uRVJpCisgICBmdW46X1pON1dlYkNvcmUxMUhUTUxFbGVtZW50MTJz
ZXRJbm5lckhUTUxFUktOM1dURjZTdHJpbmdFUmkKKyAgIGZ1bjpfWk43V2ViQ29yZTIxSFRNTEVs
ZW1lbnRWOEludGVybmFsTDE5aW5uZXJIVE1MQXR0clNldHRlckVOMnY4NUxvY2FsSU5TMV82U3Ry
aW5nRUVFTlMyX0lOUzFfNVZhbHVlRUVFUktOUzFfMTJBY2Nlc3NvckluZm9FCisgICBmdW46X1pO
MnY4OGludGVybmFsMjFTdG9yZUNhbGxiYWNrUHJvcGVydHlFTlMwXzlBcmd1bWVudHNFUE5TMF83
SXNvbGF0ZUUKKyAgIC4uLgorICAgZnVuOl9aTjJ2ODhpbnRlcm5hbEw2SW52b2tlRWJOUzBfNkhh
bmRsZUlOUzBfMTBKU0Z1bmN0aW9uRUVFTlMxX0lOUzBfNk9iamVjdEVFRWlQUzVfUGIKK30KKwor
eworICAgYnVnXzE1NTUzMAorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICAuLi4K
KyAgIGZ1bjpfWk43N0dlb2xvY2F0aW9uSW5mb0JhclF1ZXVlQ29udHJvbGxlclRlc3RzX09uZU9i
c2VydmF0aW9uUGVySW5mb0JhckNhbmNlbGxlZF9UZXN0OFRlc3RCb2R5RXYKK30KK3sKKyAgIGJ1
Z18xNTY3MDUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjMzR2Vv
bG9jYXRpb25JbmZvQmFyUXVldWVDb250cm9sbGVyMjFDcmVhdGVJbmZvQmFyRGVsZWdhdGVFUDE0
SW5mb0JhclNlcnZpY2VQU19paWlSSzRHVVJMUktTcworICAgZnVuOl9aTjMzR2VvbG9jYXRpb25J
bmZvQmFyUXVldWVDb250cm9sbGVyMTdTaG93UXVldWVkSW5mb0JhckVpaVAxNEluZm9CYXJTZXJ2
aWNlCit9CisKKworeworICAgIyBzdG9yYWdlL2luZGV4ZWRkYi9iYXNpY3Mtd29ya2Vycy5odG1s
CisgICAjIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tdHdpY2Utd29ya2Vycy5odG1sCisgICBidWdf
MTYyODI5X2sKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjZXZWJL
aXQqV2ViSURCRmFjdG9yeSpjcmVhdGUqCisgICBmdW46X1pOMTdUZXN0V2ViSURCRmFjdG9yeSpH
ZXRGYWN0b3J5KgorICAgZnVuOl9aTjE3VGVzdFdlYklEQkZhY3Rvcnkqb3BlbioKKyAgIC4uLgor
ICAgZnVuOl9aTjZXZWJLaXQqSURCRmFjdG9yeUJhY2tlbmRQcm94eSpvcGVuKgorICAgZnVuOl9a
TjdXZWJDb3JlKklEQkZhY3Rvcnkqb3BlbkludGVybmFsKgorICAgZnVuOl9aTjdXZWJDb3JlKklE
QkZhY3Rvcnkqb3BlbioKK30KK3sKKyAgICMgaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4td29ya2VyLWluZGV4ZWRkYi5odG1sCisgICAjIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1h
ZHZhbmNlLXdvcmtlcnMuaHRtbAorICAgIyBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mt
d29ya2Vycy5odG1sCisgICBidWdfMTYyODI5X2wKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpf
Wm53KgorICAgZnVuOl9aTjZXZWJLaXQqV2ViSURCRmFjdG9yeSpjcmVhdGUqCisgICBmdW46X1pO
MTdUZXN0V2ViSURCRmFjdG9yeSpHZXRGYWN0b3J5KgorICAgZnVuOl9aTjE3VGVzdFdlYklEQkZh
Y3RvcnkqZGVsZXRlRGF0YWJhc2UqCisgICAuLi4KKyAgIGZ1bjpfWk42V2ViS2l0KklEQkZhY3Rv
cnlCYWNrZW5kUHJveHkqZGVsZXRlRGF0YWJhc2UqCisgICBmdW46X1pON1dlYkNvcmUqSURCRmFj
dG9yeSpkZWxldGVEYXRhYmFzZSoKK30KK3sKKyAgICMgc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9y
eS1iYXNpY3Mtd29ya2Vycy5odG1sCisgICBidWdfMTYyODI5X20KKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjZXZWJLaXQqV2ViSURCRmFjdG9yeSpjcmVhdGUqCisg
ICBmdW46X1pOMTdUZXN0V2ViSURCRmFjdG9yeSpHZXRGYWN0b3J5KgorICAgZnVuOl9aTjE3VGVz
dFdlYklEQkZhY3RvcnkqZ2V0RGF0YWJhc2VOYW1lcyoKKyAgIGZ1bjpfWk42V2ViS2l0KklEQkZh
Y3RvcnlCYWNrZW5kUHJveHkqCisgICBmdW46X1pON1dlYkNvcmUqSURCRmFjdG9yeSpnZXREYXRh
YmFzZU5hbWVzKgorfQoreworICAgIyBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS13
b3JrZXJzLmh0bWwKKyAgICMgc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLXdvcmtlcnMu
aHRtbAorICAgIyBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mtd29ya2Vycy5o
dG1sCisgICAjIHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctYWN0aXZpdHktd29ya2Vycy5odG1s
CisgICAjIChTdGFjayBoYXMgYWRkTWV0aG9kIC8gcHV0TWV0aG9kIGRlcGVuZGluZyBvbiB0ZXN0
KQorICAgYnVnXzE2MjgyOV9uCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1
bjpfWk43V2ViQ29yZSpTY3JpcHRTdGF0ZSpmb3JDb250ZXh0KgorICAgZnVuOl9aTjdXZWJDb3Jl
KlNjcmlwdFN0YXRlKmN1cnJlbnQqCisgICBmdW46X1pON1dlYkNvcmUqSURCT2JqZWN0U3RvcmVW
OEludGVybmFsKk1ldGhvZCoKKyAgIGZ1bjpfWk43V2ViQ29yZSpJREJPYmplY3RTdG9yZVY4SW50
ZXJuYWwqTWV0aG9kKgorICAgLi4uCisgICBmdW46X1pON1dlYkNvcmUqVjhXb3JrZXJDb250ZXh0
KgorfQorCit7CisgICBidWdfMTYzOTIyCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnMxNlNldHRpbmdzRnJvbnRlbmRDMUVSSzEzc2NvcGVkX3Jl
ZnB0cklOU18yMlNldHRpbmdzU3RvcmFnZUZhY3RvcnlFRVA3UHJvZmlsZQorICAgZnVuOl9aTjEw
ZXh0ZW5zaW9uczE2U2V0dGluZ3NGcm9udGVuZDZDcmVhdGVFUDdQcm9maWxlCisgICBmdW46X1pO
MTZFeHRlbnNpb25TZXJ2aWNlQzFFKgorICAgZnVuOl9aTjEwZXh0ZW5zaW9uczE5RXh0ZW5zaW9u
U3lzdGVtSW1wbDZTaGFyZWQ0SW5pdEViCisgICBmdW46X1pOMTBleHRlbnNpb25zMTlFeHRlbnNp
b25TeXN0ZW1JbXBsMjFJbml0Rm9yUmVndWxhclByb2ZpbGVFYgorICAgZnVuOl9aTjE0UHJvZmls
ZU1hbmFnZXIyMkRvRmluYWxJbml0Rm9yU2VydmljZXNFUDdQcm9maWxlYgorICAgZnVuOl9aTjE0
UHJvZmlsZU1hbmFnZXIxMURvRmluYWxJbml0RVA3UHJvZmlsZWIKKyAgIGZ1bjpfWk4xNFByb2Zp
bGVNYW5hZ2VyMTBBZGRQcm9maWxlRVA3UHJvZmlsZQorICAgZnVuOl9aTjE0UHJvZmlsZU1hbmFn
ZXIxMEdldFByb2ZpbGVFKgorfQoreworICAgYnVnXzE2MzkyNAorICAgTWVtY2hlY2s6TGVhawor
ICAgZnVuOl9abncqCisgICBmdW46X1pOMjhKU09OQXN5bmNocm9ub3VzVW5wYWNrZXJJbXBsMjJT
dGFydFByb2Nlc3NPbklPVGhyZWFkRU43Y29udGVudDEzQnJvd3NlclRocmVhZDJJREVSS1NzCit9
Cit7CisgICBidWdfMTY0MTc5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIC4u
LgorICAgZnVuOl9aTjNuZXQxMFVSTEZldGNoZXI2Q3JlYXRlRVJLNEdVUkxOUzBfMTFSZXF1ZXN0
VHlwZUVQTlNfMThVUkxGZXRjaGVyRGVsZWdhdGVFCisgICBmdW46X1pOMThXZWJSZXNvdXJjZVNl
cnZpY2UxMFN0YXJ0RmV0Y2hFdgorfQorCit7CisgICBidWdfMTY2NDcwCisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTRCaW5kSU1OMTFkb21fc3RvcmFnZTE3
RG9tU3RvcmFnZUNvbnRleHRFRnZSSzRHVVJMRTEzc2NvcGVkX3JlZnB0cklTMl9FUzNfRUVOU184
Q2FsbGJhY2tJTlNfOGludGVybmFsOUJpbmRTdGF0ZUlOU0JfMTNGdW5jdG9yVHJhaXRzSVRfRTEy
UnVubmFibGVUeXBlRU5TRl83UnVuVHlwZUVGdk5TQl8xOUNhbGxiYWNrUGFyYW1UcmFpdHNJVDBf
RTExU3RvcmFnZVR5cGVFTlNJX0lUMV9FMTFTdG9yYWdlVHlwZUVFRTE0VW5ib3VuZFJ1blR5cGVF
RUVTRV9SS1NKX1JLU01fCisgICBmdW46X1pON2NvbnRlbnQyMURPTVN0b3JhZ2VDb250ZXh0SW1w
bDE4RGVsZXRlTG9jYWxTdG9yYWdlRVJLNEdVUkwKKyAgIGZ1bjpfWk43Y29udGVudDIwU3RvcmFn
ZVBhcnRpdGlvbkltcGwyM0FzeW5jQ2xlYXJEYXRhRm9yT3JpZ2luRWpSSzRHVVJMUE4zbmV0MjNV
UkxSZXF1ZXN0Q29udGV4dEdldHRlckUKKyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnMxMURhdGFEZWxl
dGVyMTNTdGFydERlbGV0aW5nRVA3UHJvZmlsZVJLU3NSSzRHVVJMCisgICBmdW46X1pOMTZFeHRl
bnNpb25TZXJ2aWNlMThVbmluc3RhbGxFeHRlbnNpb25FU3NiUFNiSXRONGJhc2UyMHN0cmluZzE2
X2NoYXJfdHJhaXRzRVNhSXRFRQorfQoreworICAgYnVnXzE2NjQ3MGIKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjlfX2dudV9jeHgxM25ld19hbGxvY2F0b3IqRmls
ZVBhdGgqYWxsb2NhdGUqCisgICBmdW46X1pOU3QxMl9WZWN0b3JfYmFzZSpGaWxlUGF0aCpfTV9h
bGxvY2F0ZSoKKyAgIGZ1bjpfWk5TdDZ2ZWN0b3IqRmlsZVBhdGgqX01faW5zZXJ0X2F1eCoKKyAg
IGZ1bjpfWk5TdDZ2ZWN0b3IqRmlsZVBhdGgqcHVzaF9iYWNrKgorICAgZnVuOl9aTjlmaWxlX3V0
aWwxNUNyZWF0ZURpcmVjdG9yeUUqCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE3RG9tU3RvcmFn
ZUNvbnRleHQxOUdldFN0b3JhZ2VOYW1lc3BhY2VFbAorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2Ux
N0RvbVN0b3JhZ2VDb250ZXh0MThEZWxldGVMb2NhbFN0b3JhZ2VFUks0R1VSTAorfQoreworICAg
YnVnXzE2NjQ3MGMKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjEx
ZG9tX3N0b3JhZ2UxOURvbVN0b3JhZ2VOYW1lc3BhY2UyNERlbGV0ZUxvY2FsU3RvcmFnZU9yaWdp
bkVSSzRHVVJMCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE3RG9tU3RvcmFnZUNvbnRleHQxOERl
bGV0ZUxvY2FsU3RvcmFnZUVSSzRHVVJMCit9Cit7CisgICBidWdfMTY2NDcwZAorICAgTWVtY2hl
Y2s6TGVhaworICAgLi4uCisgICBmdW46X1pON2ZpbGVhcGkyNkdldE9yaWdpbklkZW50aWZpZXJG
cm9tVVJMRVJLNEdVUkwKKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdlMTREb21TdG9yYWdlQXJlYTI2
RGF0YWJhc2VGaWxlTmFtZUZyb21PcmlnaW5FUks0R1VSTAorICAgZnVuOl9aTjExZG9tX3N0b3Jh
Z2UxNERvbVN0b3JhZ2VBcmVhQzFFKgorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UxOURvbVN0b3Jh
Z2VOYW1lc3BhY2UyNERlbGV0ZUxvY2FsU3RvcmFnZU9yaWdpbkVSSzRHVVJMCisgICBmdW46X1pO
MTFkb21fc3RvcmFnZTE3RG9tU3RvcmFnZUNvbnRleHQxOERlbGV0ZUxvY2FsU3RvcmFnZUVSSzRH
VVJMCit9Cit7CisgICBidWdfMTY2NzA5CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIGZ1bjpfWk40YmFzZTRCaW5kSU1OU18xMl9HTE9CQUxfX05fMTIxUG9zdFRhc2tBbmRSZXBs
eVJlbGF5RUZ2dkVOU184aW50ZXJuYWwxN1VucmV0YWluZWRXcmFwcGVyKgorICAgZnVuOl9aTjRi
YXNlOGludGVybmFsMjBQb3N0VGFza0FuZFJlcGx5SW1wbDE2UG9zdFRhc2tBbmRSZXBseUVSS04x
NXRyYWNrZWRfb2JqZWN0czhMb2NhdGlvbioKKyAgIC4uLgorICAgZnVuOl9aTjE2RXh0ZW5zaW9u
U2VydmljZTEyQWRkRXh0ZW5zaW9uRVBLTjEwZXh0ZW5zaW9uczlFeHRlbnNpb25FCisgICBmdW46
X1pONTJCYWNrZ3JvdW5kQXBwbGljYXRpb25MaXN0TW9kZWxUZXN0X0V4cGxpY2l0VGVzdF9UZXN0
OFRlc3RCb2R5RXYKK30KK3sKKyAgIGJ1Z18xNjY3MDliCisgICBNZW1jaGVjazpMZWFrCisgICBm
dW46X1pudyoKKyAgIGZ1bjpfWk40YmFzZTEyX0dMT0JBTF9fTl8xMTJDcmVhdGVUaHJlYWRFbWJQ
TlNfMTRQbGF0Zm9ybVRocmVhZDhEZWxlZ2F0ZUVQbU5TXzE0VGhyZWFkUHJpb3JpdHlFCisgICBm
dW46X1pONGJhc2UxNFBsYXRmb3JtVGhyZWFkNkNyZWF0ZUVtUE5TMF84RGVsZWdhdGVFUG0KKyAg
IGZ1bjpfWk40YmFzZTEyU2ltcGxlVGhyZWFkNVN0YXJ0RXYKKyAgIGZ1bjpfWk40YmFzZTE5U2Vx
dWVuY2VkV29ya2VyUG9vbDZXb3JrZXJDMUVSSzEzc2NvcGVkX3JlZnB0cklTMF9FaVJLU3MKKyAg
IGZ1bjpfWk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9vbDVJbm5lcjMwRmluaXNoU3RhcnRpbmdB
ZGRpdGlvbmFsVGhyZWFkRWkKKyAgIGZ1bjpfWk40YmFzZTE5U2VxdWVuY2VkV29ya2VyUG9vbDVJ
bm5lcjEwVGhyZWFkTG9vcEVQTlMwXzZXb3JrZXJFCisgICBmdW46X1pONGJhc2UxOVNlcXVlbmNl
ZFdvcmtlclBvb2w2V29ya2VyM1J1bkV2CisgICBmdW46X1pONGJhc2UxMlNpbXBsZVRocmVhZDEw
VGhyZWFkTWFpbkV2CisgICBmdW46X1pONGJhc2UxMl9HTE9CQUxfX05fMTEwVGhyZWFkRnVuY0VQ
dgorfQorCit7CisgICBidWdfMTY2OTc2YgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pOOV9fZ251X2N4eDEzbmV3X2FsbG9jYXRvcklTdDEwX0xpc3Rfbm9kZUlQTjRi
YXNlMTNXYWl0YWJsZUV2ZW50NldhaXRlckVFRThhbGxvY2F0ZUVtUEt2CisgICBmdW46X1pOU3Qx
MF9MaXN0X2Jhc2VJUE40YmFzZTEzV2FpdGFibGVFdmVudDZXYWl0ZXJFU2FJUzNfRUUxMV9NX2dl
dF9ub2RlRXYKKyAgIGZ1bjpfWk5TdDRsaXN0SVBONGJhc2UxM1dhaXRhYmxlRXZlbnQ2V2FpdGVy
RVNhSVMzX0VFMTRfTV9jcmVhdGVfbm9kZUVSS1MzXworICAgZnVuOl9aTlN0NGxpc3RJUE40YmFz
ZTEzV2FpdGFibGVFdmVudDZXYWl0ZXJFU2FJUzNfRUU5X01faW5zZXJ0RVN0MTRfTGlzdF9pdGVy
YXRvcklTM19FUktTM18KKyAgIGZ1bjpfWk5TdDRsaXN0SVBONGJhc2UxM1dhaXRhYmxlRXZlbnQ2
V2FpdGVyRVNhSVMzX0VFOXB1c2hfYmFja0VSS1MzXworICAgZnVuOl9aTjRiYXNlMTNXYWl0YWJs
ZUV2ZW50N0VucXVldWVFUE5TMF82V2FpdGVyRQorICAgZnVuOl9aTjRiYXNlMTNXYWl0YWJsZUV2
ZW50OVRpbWVkV2FpdEVSS05TXzlUaW1lRGVsdGFFCisgICBmdW46X1pONGJhc2UxM1dhaXRhYmxl
RXZlbnQ0V2FpdEV2CisgICBmdW46X1pONGJhc2UxMlNpbXBsZVRocmVhZDVTdGFydEV2CisgICBm
dW46X1pONGJhc2UxOVNlcXVlbmNlZFdvcmtlclBvb2w2V29ya2VyQzFFUksxM3Njb3BlZF9yZWZw
dHJJUzBfRWlSS1NzCisgICBmdW46X1pONGJhc2UxOVNlcXVlbmNlZFdvcmtlclBvb2w1SW5uZXIz
MEZpbmlzaFN0YXJ0aW5nQWRkaXRpb25hbFRocmVhZEVpCisgICBmdW46X1pONGJhc2UxOVNlcXVl
bmNlZFdvcmtlclBvb2w1SW5uZXIxMFRocmVhZExvb3BFUE5TMF82V29ya2VyRQorICAgZnVuOl9a
TjRiYXNlMTlTZXF1ZW5jZWRXb3JrZXJQb29sNldvcmtlcjNSdW5FdgorICAgZnVuOl9aTjRiYXNl
MTJTaW1wbGVUaHJlYWQxMFRocmVhZE1haW5FdgorICAgZnVuOl9aTjRiYXNlMTJfR0xPQkFMX19O
XzExMFRocmVhZEZ1bmNFUHYKK30KK3sKKyAgIGJ1Z18xNjcxNzVhCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIGZ1bjpnXyoKKyAgIC4uLgorICAgZnVuOl9aTjE2QnJvd3NlcldpbmRvd0d0
azExSW5pdFdpZGdldHNFdgorICAgZnVuOl9aTjE2QnJvd3NlcldpbmRvd0d0azRJbml0RXYKKyAg
IGZ1bjpfWk4xM0Jyb3dzZXJXaW5kb3cxOUNyZWF0ZUJyb3dzZXJXaW5kb3dFUDdCcm93c2VyCit9
Cit7CisgICBidWdfMTY3MTc1YgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
b2JqOi9saWIvbGlicG5nMTIuc28uMC40Mi4wCisgICBmdW46cG5nX2NyZWF0ZV9yZWFkX3N0cnVj
dF8yCisgICAuLi4KKyAgIGZ1bjpfWk4xNVJlbG9hZEJ1dHRvbkd0a0MxRVAxOExvY2F0aW9uQmFy
Vmlld0d0a1A3QnJvd3NlcgorICAgZnVuOl9aTjE3QnJvd3NlclRvb2xiYXJHdGs0SW5pdEVQMTBf
R3RrV2luZG93CisgICBmdW46X1pOMTZCcm93c2VyV2luZG93R3RrMTFJbml0V2lkZ2V0c0V2Cisg
ICBmdW46X1pOMTZCcm93c2VyV2luZG93R3RrNEluaXRFdgorICAgZnVuOl9aTjEzQnJvd3Nlcldp
bmRvdzE5Q3JlYXRlQnJvd3NlcldpbmRvd0VQN0Jyb3dzZXIKK30KK3sKKyAgIGJ1Z18xNjcxNzVk
CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4MTNu
ZXdfYWxsb2NhdG9ySVNiSXRONGJhc2UyMHN0cmluZzE2X2NoYXJfdHJhaXRzRVNhSXRFRUU4YWxs
b2NhdGVFbVBLdgorICAgZnVuOl9aTlN0MTJfVmVjdG9yX2Jhc2VJU2JJdE40YmFzZTIwc3RyaW5n
MTZfY2hhcl90cmFpdHNFU2FJdEVFU2FJUzNfRUUxMV9NX2FsbG9jYXRlRW0KKyAgIC4uLgorICAg
ZnVuOl9aTjE1V3JlbmNoTWVudU1vZGVsNUJ1aWxkRWJiCisgICBmdW46X1pOMTVXcmVuY2hNZW51
TW9kZWxDMUVQTjJ1aTE5QWNjZWxlcmF0b3JQcm92aWRlckVQN0Jyb3dzZXJiYgorICAgZnVuOl9a
TjE3QnJvd3NlclRvb2xiYXJHdGtDMUVQN0Jyb3dzZXJQMTZCcm93c2VyV2luZG93R3RrCisgICBm
dW46X1pOMTZCcm93c2VyV2luZG93R3RrMTFJbml0V2lkZ2V0c0V2CisgICBmdW46X1pOMTZCcm93
c2VyV2luZG93R3RrNEluaXRFdgorICAgZnVuOl9aTjEzQnJvd3NlcldpbmRvdzE5Q3JlYXRlQnJv
d3NlcldpbmRvd0VQN0Jyb3dzZXIKK30KKworeworICAgYnVnXzE2OTMxMQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVu
Ol9aTjNXVEYxMFJlZkNvdW50ZWRJTjdXZWJDb3JlMThTdHlsZVNoZWV0Q29udGVudHNFRW53RW0K
KyAgIGZ1bjpfWk43V2ViQ29yZTE4U3R5bGVTaGVldENvbnRlbnRzNmNyZWF0ZUVSS05TXzE2Q1NT
UGFyc2VyQ29udGV4dEUKKyAgIGZ1bjpfWk43V2ViQ29yZUwxMnBhcnNlVUFTaGVldEVSS04zV1RG
NlN0cmluZ0UKKyAgIGZ1bjpfWk43V2ViQ29yZUwxMnBhcnNlVUFTaGVldEVQS2NqCisgICAuLi4K
KyAgIGZ1bjpfWk43V2ViQ29yZTEzU3R5bGVSZXNvbHZlcjEybWF0Y2hVQVJ1bGVzRVJOUzBfMTFN
YXRjaFJlc3VsdEUKKyAgIGZ1bjpfWk43V2ViQ29yZTEzU3R5bGVSZXNvbHZlcjE1c3R5bGVGb3JF
bGVtZW50RVBOU183RWxlbWVudEVQTlNfMTFSZW5kZXJTdHlsZUVOU18yMFN0eWxlU2hhcmluZ0Jl
aGF2aW9yRU5TXzIwUnVsZU1hdGNoaW5nQmVoYXZpb3JFUE5TXzEyUmVuZGVyUmVnaW9uRQorICAg
ZnVuOl9aTjdXZWJDb3JlMTNTdHlsZVJlc29sdmVyQzFFUE5TXzhEb2N1bWVudEViCisgICBmdW46
X1pON1dlYkNvcmU4RG9jdW1lbnQxOWNyZWF0ZVN0eWxlUmVzb2x2ZXJFdgorICAgZnVuOl9aTjdX
ZWJDb3JlOERvY3VtZW50MTNzdHlsZVJlc29sdmVyRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTdFbGVt
ZW50MTZzdHlsZUZvclJlbmRlcmVyRXYKK30KKworeworICAgYnVnXzE3MjAwNQorICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON2xldmVsZGIxMFZlcnNpb25TZXQxMUxv
Z0FuZEFwcGx5RVBOU18xMVZlcnNpb25FZGl0RVBOU180cG9ydDVNdXRleEUKKyAgIGZ1bjpfWk43
bGV2ZWxkYjJEQjRPcGVuRVJLTlNfN09wdGlvbnNFUktTc1BQUzBfCisgICBmdW46X1pOMTFkb21f
c3RvcmFnZTIyU2Vzc2lvblN0b3JhZ2VEYXRhYmFzZTlUcnlUb09wZW5FUFBON2xldmVsZGIyREJF
CisgICBmdW46X1pOMTFkb21fc3RvcmFnZTIyU2Vzc2lvblN0b3JhZ2VEYXRhYmFzZThMYXp5T3Bl
bkViCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTIyU2Vzc2lvblN0b3JhZ2VEYXRhYmFzZTI0UmVh
ZE5hbWVzcGFjZXNBbmRPcmlnaW5zRVBTdDNtYXBJU3NTdDZ2ZWN0b3JJNEdVUkxTYUlTM19FRVN0
NGxlc3NJU3NFU2FJU3Q0cGFpcklLU3NTNV9FRUUKKyAgIGZ1bjpfWk4xMWRvbV9zdG9yYWdlMTdE
b21TdG9yYWdlQ29udGV4dDM2RmluZFVudXNlZE5hbWVzcGFjZXNJbkNvbW1pdFNlcXVlbmNlRVJL
U3Qzc2V0SVNzU3Q0bGVzc0lTc0VTYUlTc0VFUzdfCit9Cit7CisgICBidWdfMTcyMDA1YgorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON2xldmVsZGI2REJJbXBsQzFF
UktOU183T3B0aW9uc0VSS1NzCisgICBmdW46X1pON2xldmVsZGIyREI0T3BlbkVSS05TXzdPcHRp
b25zRVJLU3NQUFMwXworICAgZnVuOl9aTjExZG9tX3N0b3JhZ2UyMlNlc3Npb25TdG9yYWdlRGF0
YWJhc2U5VHJ5VG9PcGVuRVBQTjdsZXZlbGRiMkRCRQorICAgZnVuOl9aTjExZG9tX3N0b3JhZ2Uy
MlNlc3Npb25TdG9yYWdlRGF0YWJhc2U4TGF6eU9wZW5FYgorICAgZnVuOl9aTjExZG9tX3N0b3Jh
Z2UyMlNlc3Npb25TdG9yYWdlRGF0YWJhc2UyNFJlYWROYW1lc3BhY2VzQW5kT3JpZ2luc0VQU3Qz
bWFwSVNzU3Q2dmVjdG9ySTRHVVJMU2FJUzNfRUVTdDRsZXNzSVNzRVNhSVN0NHBhaXJJS1NzUzVf
RUVFCisgICBmdW46X1pOMTFkb21fc3RvcmFnZTE3RG9tU3RvcmFnZUNvbnRleHQzNkZpbmRVbnVz
ZWROYW1lc3BhY2VzSW5Db21taXRTZXF1ZW5jZUVSS1N0M3NldElTc1N0NGxlc3NJU3NFU2FJU3NF
RVM3XworfQorCit7CisgICBidWdfMTc1ODE1CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pu
dyoKKyAgIGZ1bjpfWk40YmFzZTVWYWx1ZTE4Q3JlYXRlSW50ZWdlclZhbHVlRWkKKyAgIGZ1bjpf
Wk5LNGJhc2UxNkZ1bmRhbWVudGFsVmFsdWU4RGVlcENvcHlFdgorICAgZnVuOl9aTjRiYXNlOGlu
dGVybmFsMTJfR0xPQkFMX19OXzEyNURpY3Rpb25hcnlIaWRkZW5Sb290VmFsdWUyNlJlbW92ZVdp
dGhvdXRQYXRoRXhwYW5zaW9uRVJLU3NQUE5TXzVWYWx1ZUUKKyAgIGZ1bjpfWk40YmFzZTE1RGlj
dGlvbmFyeVZhbHVlNlJlbW92ZUVSS1NzUFBOU181VmFsdWVFCisgICBmdW46X1pOMzJQbHVnaW5G
aW5kZXJUZXN0X0pzb25TeW50YXhfVGVzdDhUZXN0Qm9keUV2Cit9Cit7CisgICBidWdfMTc1ODIz
CisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpfWk4xOFZhbHVlU3RvcmVGcm9udGVu
ZCoKK30KKworeworICAgYnVnXzE3NjYyMQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncq
CisgICBmdW46X1pOMTNXZWJUZXN0UnVubmVyMTBUZXN0UGx1Z2luNmNyZWF0ZUVQTjZXZWJLaXQ4
V2ViRnJhbWVFUktOUzFfMTVXZWJQbHVnaW5QYXJhbXNFUE5TXzE1V2ViVGVzdERlbGVnYXRlRQor
ICAgZnVuOl9aTjEzV2ViVGVzdFJ1bm5lcjE2V2ViVGVzdFByb3h5QmFzZTEyY3JlYXRlUGx1Z2lu
RVBONldlYktpdDhXZWJGcmFtZUVSS05TMV8xNVdlYlBsdWdpblBhcmFtc0UKKyAgIGZ1bjpfWk4x
M1dlYlRlc3RSdW5uZXIxMldlYlRlc3RQcm94eUkxMVdlYlZpZXdIb3N0UDlUZXN0U2hlbGxFMTJj
cmVhdGVQbHVnaW5FUE42V2ViS2l0OFdlYkZyYW1lRVJLTlM1XzE1V2ViUGx1Z2luUGFyYW1zRQor
ICAgZnVuOl9aTjZXZWJLaXQyMUZyYW1lTG9hZGVyQ2xpZW50SW1wbDEyY3JlYXRlUGx1Z2luRVJL
TjdXZWJDb3JlN0ludFNpemVFUE5TMV8xN0hUTUxQbHVnSW5FbGVtZW50RVJLTlMxXzRLVVJMRVJL
TjNXVEY2VmVjdG9ySU5TQV82U3RyaW5nKgorICAgZnVuOl9aTjdXZWJDb3JlMTRTdWJmcmFtZUxv
YWRlcjEwbG9hZFBsdWdpbkVQTlNfMjJIVE1MUGx1Z0luSW1hZ2VFbGVtZW50RVJLTlNfNEtVUkxF
UktOM1dURjZTdHJpbmdFUktOUzZfNlZlY3RvcklTNyoKK30KKworeworICAgYnVnXzE3NzIxMwor
ICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pOMTBleHRlbnNpb25zTDlTZXJpYWxp
emVFUktTdDZ2ZWN0b3JJTlNfMTBVc2VyU2NyaXB0RVNhSVMxX0VFCit9CisKK3sKKyAgIGJ1Z18x
ODEwODIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjEyX0dMT0JB
TF9fTl8xMjRSZXNvdXJjZUxvYWRlckJyaWRnZUltcGw1U3RhcnRFUE4xMXdlYmtpdF9nbHVlMjBS
ZXNvdXJjZUxvYWRlckJyaWRnZTRQZWVyRQorICAgZnVuOl9aTjExd2Via2l0X2dsdWUxNldlYlVS
TExvYWRlckltcGw3Q29udGV4dDVTdGFydEVSS042V2ViS2l0MTNXZWJVUkxSZXF1ZXN0RVBOU18y
MFJlc291cmNlTG9hZGVyQnJpZGdlMTZTeW5jTG9hZFJlc3BvbnNlRVBOU18yNVdlYktpdFBsYXRm
b3JtU3VwcG9ydEltcGxFCisgICBmdW46X1pOMTF3ZWJraXRfZ2x1ZTE2V2ViVVJMTG9hZGVySW1w
bDE4bG9hZEFzeW5jaHJvbm91c2x5RVJLTjZXZWJLaXQxM1dlYlVSTFJlcXVlc3RFUE5TMV8xOFdl
YlVSTExvYWRlckNsaWVudEUKKyAgIGZ1bjpfWk43V2ViQ29yZTIyUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbDVzdGFydEV2CisgICBmdW46X1pON1dlYkNvcmUxNFJlc291cmNlSGFuZGxlNXN0YXJ0RXYK
KyAgIGZ1bjpfWk43V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGU2Y3JlYXRlRVBOU18xN05ldHdvcmtp
bmdDb250ZXh0RVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUE5TXzIwUmVzb3VyY2VIYW5kbGVDbGll
bnRFYmIKKyAgIGZ1bjpfWk43V2ViQ29yZTE0UmVzb3VyY2VMb2FkZXI1c3RhcnRFdgorICAgZnVu
Ol9aTjdXZWJDb3JlMjFSZXNvdXJjZUxvYWRTY2hlZHVsZXIyMHNlcnZlUGVuZGluZ1JlcXVlc3Rz
RVBOUzBfMTVIb3N0SW5mb3JtYXRpb25FTlNfMjBSZXNvdXJjZUxvYWRQcmlvcml0eUUKKyAgIGZ1
bjpfWk43V2ViQ29yZTIxUmVzb3VyY2VMb2FkU2NoZWR1bGVyMTJzY2hlZHVsZUxvYWRFUE5TXzE0
UmVzb3VyY2VMb2FkZXJFTlNfMjBSZXNvdXJjZUxvYWRQcmlvcml0eUUKKyAgIGZ1bjpfWk43V2Vi
Q29yZTIxUmVzb3VyY2VMb2FkU2NoZWR1bGVyMjNzY2hlZHVsZVN1YnJlc291cmNlTG9hZEVQTlNf
NUZyYW1lRVBOU18xNENhY2hlZFJlc291cmNlRVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFTlNfMjBS
ZXNvdXJjZUxvYWRQcmlvcml0eUVSS05TXzIxUmVzb3VyY2VMb2FkZXJPcHRpb25zRQorICAgZnVu
Ol9aTjdXZWJDb3JlMTRDYWNoZWRSZXNvdXJjZTRsb2FkRVBOU18yMENhY2hlZFJlc291cmNlTG9h
ZGVyRVJLTlNfMjFSZXNvdXJjZUxvYWRlck9wdGlvbnNFCisgICBmdW46X1pON1dlYkNvcmUyMENh
Y2hlZFJlc291cmNlTG9hZGVyMTVyZXF1ZXN0UmVzb3VyY2VFTlNfMTRDYWNoZWRSZXNvdXJjZTRU
eXBlRVJOU18yMUNhY2hlZFJlc291cmNlUmVxdWVzdEUKK30KKworeworICAgYnVnXzE4NDI2NAor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pON1dlYkNvcmUyNGNyZWF0
ZURyYWdJbWFnZUZyb21JbWFnZUVQTlNfNUltYWdlRU5TXzI3UmVzcGVjdEltYWdlT3JpZW50YXRp
b25FbnVtRQorICAgZnVuOl9aTjdXZWJDb3JlNUZyYW1lMjFkcmFnSW1hZ2VGb3JTZWxlY3Rpb25F
dgorICAgZnVuOl9aTjdXZWJDb3JlMjdjcmVhdGVEcmFnSW1hZ2VGb3JTZWxlY3Rpb25FUE5TXzVG
cmFtZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXI5c3RhcnREcmFnRVBOU181
RnJhbWVFUktOU185RHJhZ1N0YXRlRU5TXzEzRHJhZ09wZXJhdGlvbkVSS05TXzE4UGxhdGZvcm1N
b3VzZUV2ZW50RVJLTlNfOEludFBvaW50RQorICAgZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRs
ZXIxMGhhbmRsZURyYWdFUktOU18yOE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHNFTlNfMTlD
aGVja0RyYWdIeXN0ZXJlc2lzRQorICAgZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIyM2hh
bmRsZU1vdXNlRHJhZ2dlZEV2ZW50RVJLTlNfMjhNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRz
RQorICAgZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIyMGhhbmRsZU1vdXNlTW92ZUV2ZW50
RVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFUE5TXzEzSGl0VGVzdFJlc3VsdEViCisgICBmdW46
X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjI4cGFzc01vdXNlTW92ZUV2ZW50VG9TdWJmcmFtZUVS
TlNfMjhNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzRVBOU181RnJhbWVFUE5TXzEzSGl0VGVz
dFJlc3VsdEUKKyAgIGZ1bjpfWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMjBoYW5kbGVNb3VzZU1v
dmVFdmVudEVSS05TXzE4UGxhdGZvcm1Nb3VzZUV2ZW50RVBOU18xM0hpdFRlc3RSZXN1bHRFYgor
ICAgZnVuOl9aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIxMG1vdXNlTW92ZWRFUktOU18xOFBsYXRm
b3JtTW91c2VFdmVudEUKK30KKworeworICAgYnVnXzE5NTE2MF9hCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk45X19nbnVfY3h4MTNuZXdfYWxsb2NhdG9ySVN0MTNf
UmJfdHJlZV9ub2RlSWlFRThhbGxvY2F0ZUVtUEt2CisgICBmdW46X1pOU3Q4X1JiX3RyZWVJaWlT
dDlfSWRlbnRpdHlJaUVTdDRsZXNzSWlFU2FJaUVFMTFfTV9nZXRfbm9kZUV2CisgICBmdW46X1pO
U3Q4X1JiX3RyZWVJaWlTdDlfSWRlbnRpdHlJaUVTdDRsZXNzSWlFU2FJaUVFMTRfTV9jcmVhdGVf
bm9kZUVSS2kKKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlpaVN0OV9JZGVudGl0eUlpRVN0NGxlc3NJ
aUVTYUlpRUUxMF9NX2luc2VydF9FUEtTdDE4X1JiX3RyZWVfbm9kZV9iYXNlUzhfUktpCisgICBm
dW46X1pOU3Q4X1JiX3RyZWVJaWlTdDlfSWRlbnRpdHlJaUVTdDRsZXNzSWlFU2FJaUVFMTZfTV9p
bnNlcnRfdW5pcXVlRVJLaQorICAgZnVuOl9aTlN0M3NldElpU3Q0bGVzc0lpRVNhSWlFRTZpbnNl
cnRFUktpCisgICBmdW46X1pOMTBleHRlbnNpb25zMTBVUkxNYXRjaGVyMTRVcGRhdGVUcmlnZ2Vy
c0V2CisgICBmdW46X1pOMTBleHRlbnNpb25zMTBVUkxNYXRjaGVyMjhVcGRhdGVJbnRlcm5hbERh
dGFzdHJ1Y3R1cmVzRXYKKyAgIGZ1bjpfWk4xMGV4dGVuc2lvbnMxMFVSTE1hdGNoZXIxNkFkZENv
bmRpdGlvblNldHNFUktTdDZ2ZWN0b3JJMTNzY29wZWRfcmVmcHRySU5TXzIyVVJMTWF0Y2hlckNv
bmRpdGlvblNldEVFU2FJUzRfRUUKKyAgIGZ1bjpfWk4xMl9HTE9CQUxfX05fMTEzRmlsdGVyQnVp
bGRlcjVCdWlsZEV2CisgICBmdW46X1pOMTJfR0xPQkFMX19OXzEzNExvYWRXaGl0ZWxpc3RzT25C
bG9ja2luZ1Bvb2xUaHJlYWRFMTJTY29wZWRWZWN0b3JJMTlNYW5hZ2VkTW9kZVNpdGVMaXN0RQor
fQoreworICAgYnVnXzE5NTE2MF9iCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAg
IGZ1bjpfWk45X19nbnVfY3h4MTNuZXdfYWxsb2NhdG9ySVN0MTNfUmJfdHJlZV9ub2RlSVBOMTBl
eHRlbnNpb25zMTNTdHJpbmdQYXR0ZXJuRUVFOGFsbG9jYXRlRW1QS3YKKyAgIGZ1bjpfWk5TdDhf
UmJfdHJlZUlQTjEwZXh0ZW5zaW9uczEzU3RyaW5nUGF0dGVybkVTMl9TdDlfSWRlbnRpdHlJUzJf
RU5TMF8yNlVSTE1hdGNoZXJDb25kaXRpb25GYWN0b3J5MjdTdHJpbmdQYXR0ZXJuUG9pbnRlckNv
bXBhcmVFU2FJUzJfRUUxMV9NX2dldF9ub2RlRXYKKyAgIGZ1bjpfWk5TdDhfUmJfdHJlZUlQTjEw
ZXh0ZW5zaW9uczEzU3RyaW5nUGF0dGVybkVTMl9TdDlfSWRlbnRpdHlJUzJfRU5TMF8yNlVSTE1h
dGNoZXJDb25kaXRpb25GYWN0b3J5MjdTdHJpbmdQYXR0ZXJuUG9pbnRlckNvbXBhcmVFU2FJUzJf
RUUxNF9NX2NyZWF0ZV9ub2RlRVJLUzJfCisgICBmdW46X1pOU3Q4X1JiX3RyZWVJUE4xMGV4dGVu
c2lvbnMxM1N0cmluZ1BhdHRlcm5FUzJfU3Q5X0lkZW50aXR5SVMyX0VOUzBfMjZVUkxNYXRjaGVy
Q29uZGl0aW9uRmFjdG9yeTI3U3RyaW5nUGF0dGVyblBvaW50ZXJDb21wYXJlRVNhSVMyX0VFMTBf
TV9pbnNlcnRfRVBLU3QxOF9SYl90cmVlX25vZGVfYmFzZVNCX1JLUzJfCisgICBmdW46X1pOU3Q4
X1JiX3RyZWVJUE4xMGV4dGVuc2lvbnMxM1N0cmluZ1BhdHRlcm5FUzJfU3Q5X0lkZW50aXR5SVMy
X0VOUzBfMjZVUkxNYXRjaGVyQ29uZGl0aW9uRmFjdG9yeTI3U3RyaW5nUGF0dGVyblBvaW50ZXJD
b21wYXJlRVNhSVMyX0VFMTZfTV9pbnNlcnRfdW5pcXVlRVJLUzJfCisgICBmdW46X1pOU3Qzc2V0
SVBOMTBleHRlbnNpb25zMTNTdHJpbmdQYXR0ZXJuRU5TMF8yNlVSTE1hdGNoZXJDb25kaXRpb25G
YWN0b3J5MjdTdHJpbmdQYXR0ZXJuUG9pbnRlckNvbXBhcmVFU2FJUzJfRUU2aW5zZXJ0RVJLUzJf
CisgICBmdW46X1pOMTBleHRlbnNpb25zMjZVUkxNYXRjaGVyQ29uZGl0aW9uRmFjdG9yeTE1Q3Jl
YXRlQ29uZGl0aW9uRU5TXzE5VVJMTWF0Y2hlckNvbmRpdGlvbjlDcml0ZXJpb25FUktTcworICAg
ZnVuOl9aTjEwZXh0ZW5zaW9uczI2VVJMTWF0Y2hlckNvbmRpdGlvbkZhY3RvcnkzNUNyZWF0ZUhv
c3RTdWZmaXhQYXRoUHJlZml4Q29uZGl0aW9uRVJLU3NTMl8KKyAgIGZ1bjpfWk42cG9saWN5MTJV
UkxCbGFja2xpc3QxOENyZWF0ZUNvbmRpdGlvblNldEVQTjEwZXh0ZW5zaW9uczEwVVJMTWF0Y2hl
ckVpUktTc1M1X2J0UzVfCisgICBmdW46X1pOMTJfR0xPQkFMX19OXzExM0ZpbHRlckJ1aWxkZXIx
MEFkZFBhdHRlcm5FUktTc2kKKyAgIGZ1bjpfWk4xMl9HTE9CQUxfX05fMTEzRmlsdGVyQnVpbGRl
cjExQWRkU2l0ZUxpc3RFUDE5TWFuYWdlZE1vZGVTaXRlTGlzdAorICAgZnVuOl9aTjEyX0dMT0JB
TF9fTl8xMzRMb2FkV2hpdGVsaXN0c09uQmxvY2tpbmdQb29sVGhyZWFkRTEyU2NvcGVkVmVjdG9y
STE5TWFuYWdlZE1vZGVTaXRlTGlzdEUKK30KK3sKKyAgIGJ1Z18xOTUxNjBfYworICAgTWVtY2hl
Y2s6TGVhaworICAgZnVuOl9abncqCisgICBmdW46X1pONGJhc2U4aW50ZXJuYWwyMFBvc3RUYXNr
QW5kUmVwbHlJbXBsMTZQb3N0VGFza0FuZFJlcGx5RVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0
aW9uRVJLTlNfOENhbGxiYWNrSUZ2dkVFRVNBXworICAgZnVuOl9aTjRiYXNlMTBUYXNrUnVubmVy
MTZQb3N0VGFza0FuZFJlcGx5RVJLTjE1dHJhY2tlZF9vYmplY3RzOExvY2F0aW9uRVJLTlNfOENh
bGxiYWNrSUZ2dkVFRVM5XworICAgZnVuOl9aTjRiYXNlMjZQb3N0VGFza0FuZFJlcGx5V2l0aFJl
c3VsdEkxMHNjb3BlZF9wdHJJTjIwTWFuYWdlZE1vZGVVUkxGaWx0ZXI4Q29udGVudHNFTlNfMTRE
ZWZhdWx0RGVsZXRlcklTM19FRUVTNl9FRWJQTlNfMTBUYXNrUnVubmVyRVJLTjE1dHJhY2tlZF9v
YmplY3RzOExvY2F0aW9uRVJLTlNfOENhbGxiYWNrSUZUX3ZFRUVSS05TRF9JRnZUMF9FRUUKKyAg
IGZ1bjpfWk4yME1hbmFnZWRNb2RlVVJMRmlsdGVyMTRMb2FkV2hpdGVsaXN0c0UxMlNjb3BlZFZl
Y3RvckkxOU1hbmFnZWRNb2RlU2l0ZUxpc3RFCit9Cit7CisgICBidWdfMjIyMzYzCisgICBNZW1j
aGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpfWk4xOFdlYkRhdGFiYXNlU2VydmljZTEy
TG9hZERhdGFiYXNlRVJLTjRiYXNlOENhbGxiYWNrSUZ2TjNzcWwxMEluaXRTdGF0dXNFRUVFCit9
CisKK3sKKyAgIGJ1Z18yMjI4ODAKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAg
IGZ1bjpfWk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGMTZWZWN0b3JCdWZmZXJC
YXNlSU5TXzZSZWZQdHJJTjdXZWJDb3JlN0FyY2hpdmVFRUVFMTRhbGxvY2F0ZUJ1ZmZlckVtCisg
ICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTdBcmNoaXZlMThhZGRTdWJmcmFtZUFyY2hpdmVFTjNX
VEYxMFBhc3NSZWZQdHJJUzBfRUUKKyAgIGZ1bjpfWk43V2ViQ29yZTExTUhUTUxQYXJzZXIyMnBh
cnNlQXJjaGl2ZVdpdGhIZWFkZXJFUE5TXzEwTUlNRUhlYWRlckUKKyAgIGZ1bjpfWk43V2ViQ29y
ZTExTUhUTUxQYXJzZXIxMnBhcnNlQXJjaGl2ZUV2CisgICBmdW46X1pON1dlYkNvcmUxMk1IVE1M
QXJjaGl2ZTZjcmVhdGVFUktOU180S1VSTEVQTlNfMTJTaGFyZWRCdWZmZXJFCit9CisKK3sKKyAg
IGJ1Z18yMjI4ODcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpfWm53KgorICAgZnVuOl9aTjZ3
ZWJraXQzZ3B1MThHTEluUHJvY2Vzc0NvbnRleHQxMEluaXRpYWxpemVFUktOM2dmeDRTaXplRVBT
MV9QS2NQS2lOUzJfMTNHcHVQcmVmZXJlbmNlRQorICAgZnVuOl9aTjZ3ZWJraXQzZ3B1MThHTElu
UHJvY2Vzc0NvbnRleHQyMkNyZWF0ZU9mZnNjcmVlbkNvbnRleHRFUFMxX1JLTjNnZng0U2l6ZUVT
Ml9QS2NQS2lOUzNfMTNHcHVQcmVmZXJlbmNlRQorICAgZnVuOl9aTjZ3ZWJraXQzZ3B1NDZXZWJH
cmFwaGljc0NvbnRleHQzREluUHJvY2Vzc0NvbW1hbmRCdWZmZXJJbXBsMTBJbml0aWFsaXplRU42
V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzRDEwQXR0cmlidXRlc0VQUzNfCisgICBmdW46X1pO
MjVUZXN0V2ViS2l0UGxhdGZvcm1TdXBwb3J0MzJjcmVhdGVPZmZzY3JlZW5HcmFwaGljc0NvbnRl
eHQzREVSS042V2ViS2l0MjBXZWJHcmFwaGljc0NvbnRleHQzRDEwQXR0cmlidXRlc0UKKyAgIGZ1
bjpfWk43V2ViQ29yZTE3R3JhcGhpY3NDb250ZXh0M0Q2Y3JlYXRlRU5TMF8xMEF0dHJpYnV0ZXNF
UE5TXzEwSG9zdFdpbmRvd0VOUzBfMTFSZW5kZXJTdHlsZUUKK30KK3sKKyAgIGJ1Z18yMjI4OTgK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWk4zV1RGMTBmYXN0TWFs
bG9jRW0KKyAgIGZ1bjpfWk4zV1RGOUJpdFZlY3RvcjEzT3V0T2ZMaW5lQml0czZjcmVhdGVFbQor
ICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9yMTVyZXNpemVPdXRPZkxpbmVFbQorICAgZnVuOl9aTjNX
VEY5Qml0VmVjdG9yMTBlbnN1cmVTaXplRW0KKyAgIGZ1bjpfWk4zV1RGOUJpdFZlY3RvckMxRW0K
KyAgIGZ1bjpfWk43V2ViQ29yZTEwVXNlQ291bnRlcjEwZGlkT2JzZXJ2ZUVOUzBfN0ZlYXR1cmVF
CisgICBmdW46X1pON1dlYkNvcmUxMFVzZUNvdW50ZXI3b2JzZXJ2ZUVQTlNfOERvY3VtZW50RU5T
MF83RmVhdHVyZUUKK30KKworeworICAgV2ViQ29yZTo6UGx1Z2luUGFja2FnZSBsZWFrCisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46KmFsbG9jCisgICAuLi4KKyAgIGZ1bjpfWk43V2ViQ29yZTEz
UGx1Z2luUGFja2FnZTlmZXRjaEluZm9FdgorICAgZnVuOl9aTjdXZWJDb3JlMTNQbHVnaW5QYWNr
YWdlMTNjcmVhdGVQYWNrYWdlRVJLTjNXVEY2U3RyaW5nRVJLbAorICAgZnVuOl9aTjdXZWJDb3Jl
MTRQbHVnaW5EYXRhYmFzZTdyZWZyZXNoRXYKKyAgIGZ1bjpfWk43V2ViQ29yZTE0UGx1Z2luRGF0
YWJhc2UxNmluc3RhbGxlZFBsdWdpbnNFYgorfQorCit7CisgICBMZWFrIGluIGFjY2Vzc2liaWxp
dHkgdGV4dCAzCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxs
b2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYzAKKyAgIGZ1bjpn
X3R5cGVfY3JlYXRlX2luc3RhbmNlCisgICBmdW46Z19vYmplY3RfY29uc3RydWN0b3IKKyAgIGZ1
bjpnX29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46d2Via2l0QWNjZXNz
aWJsZU5ldworICAgZnVuOl9aTjdXZWJDb3JlMTNBWE9iamVjdENhY2hlMTNhdHRhY2hXcmFwcGVy
RVBOU18xOUFjY2Vzc2liaWxpdHlPYmplY3RFCisgICBmdW46X1pON1dlYkNvcmUxM0FYT2JqZWN0
Q2FjaGUxMWdldE9yQ3JlYXRlRVBOU18xMlJlbmRlck9iamVjdEUKKyAgIGZ1bjpfWk43V2ViQ29y
ZTI1QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDExYWRkQ2hpbGRyZW5FdgorICAgZnVuOl9aTjdX
ZWJDb3JlMTlBY2Nlc3NpYmlsaXR5T2JqZWN0OGNoaWxkcmVuRXYKKyAgIGZ1bjpfWkwyOHdlYmtp
dEFjY2Vzc2libGVHZXROQ2hpbGRyZW5QMTBfQXRrT2JqZWN0Cit9CisKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206472</attachid>
            <date>2013-07-11 09:30:00 -0700</date>
            <delta_ts>2013-07-12 03:18:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116317-20130711172757.patch</filename>
            <type>text/plain</type>
            <size>80021</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTcxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTcwMzkxMTg3ZTQxOTg3M2I2ZWU1MjZlZjE3OTVlYWMw
NmUyODQ0ZS4uYTAwODFlNzNiMGMwM2QwOTY0NDAwZGQwZGViYTA1ZGY3MDkyZDI3YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg0
IEBACisyMDEzLTA3LTExICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbR1RLXSBNZXRhYnVnOiBNZW1vcnkgbGVhayBkZXRlY3Rpb24gdXNpbmcgdmFsZ3Jp
bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjMx
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExhdW5j
aCB0aGUgRFJUIHVuZGVyIFZhbGdyaW5kIHRvIGdlbmVyYXRlIGEgeG1sIGZpbGUgd2l0aCBkZXRh
aWxzCisgICAgICAgIG9mIGxlYWtzIGZvdW5kLCBhbmQgdGhlbiB0byBwYXJzZSB0aGlzIGZpbGUg
YW5kIGRpc3BsYXkgdGhpcworICAgICAgICBpbmZvcm1hdGlvbi4gIEZhaWx1cmVzIHNob3VsZCBy
ZXN1bHQgaW4gdGhlIGZpbGluZyBvZiBtZW1vcnkgYnVncworICAgICAgICBhbmQgYWRkaW5nIHRo
ZSBlcnJvciB0byB0aGUgc3VwcHJlc3Npb24gZmlsZS4KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6CisgICAgICAgIChwYXJzZV9h
cmdzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAg
KFBvcnQuY2hlY2tfZm9yX2xlYWtzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
Y29tbW9uLnB5OiBBZGRlZC4KKyAgICAgICAgKE5vdEltcGxlbWVudGVkRXJyb3IpOgorICAgICAg
ICAoVGltZW91dEVycm9yKToKKyAgICAgICAgKF9wcmludF9saW5lKToKKyAgICAgICAgKFJ1blN1
YnByb2Nlc3NJbkJhY2tncm91bmQpOgorICAgICAgICAoUnVuU3VicHJvY2Vzcyk6CisgICAgICAg
IChJc0xpbnV4KToKKyAgICAgICAgKElzTWFjKToKKyAgICAgICAgKElzV2luZG93cyk6CisgICAg
ICAgIChXaW5kb3dzVmVyc2lvbk5hbWUpOgorICAgICAgICAoUGxhdGZvcm1OYW1lcyk6CisgICAg
ICAgIChQdXRFbnZBbmRMb2cpOgorICAgICAgICAoQm9yaW5nQ2FsbGVycyk6CisgICAgICAgIChO
b3JtYWxpemVXaW5kb3dzUGF0aCk6CisgICAgICAgIChQcmludFVzZWRTdXBwcmVzc2lvbnNMaXN0
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ2RiX2hlbHBlci5weTogQWRkZWQu
CisgICAgICAgIChfR2RiT3V0cHV0VG9GaWxlTGluZSk6CisgICAgICAgIChSZXNvbHZlQWRkcmVz
c2VzV2l0aGluQUJpbmFyeSk6CisgICAgICAgIChBZGRyZXNzVGFibGUpOgorICAgICAgICAoQWRk
cmVzc1RhYmxlLl9faW5pdF9fKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5BZGRCaW5hcnlBdCk6
CisgICAgICAgIChBZGRyZXNzVGFibGUuQWRkKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5SZXNv
bHZlQWxsKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5HZXRGaWxlTGluZSk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAgKEd0a1BvcnQuX19pbml0X18p
OgorICAgICAgICAoR3RrUG9ydC5kZWZhdWx0X3RpbWVvdXRfbXMpOgorICAgICAgICAoR3RrUG9y
dC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAgICAgICAgKEd0a1BvcnQuc2V0dXBfZW52aXJvbl9m
b3Jfc2VydmVyKToKKyAgICAgICAgKEd0a1BvcnQuX2dlbmVyYXRlX2FsbF90ZXN0X2NvbmZpZ3Vy
YXRpb25zKToKKyAgICAgICAgKEd0a1BvcnQuY2hlY2tfZm9yX2xlYWtzKToKKyAgICAgICAgKEd0
a1BvcnQpOgorICAgICAgICAoR3RrUG9ydC5wcmludF9sZWFrc19zdW1tYXJ5KToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX2xlYWtkZXRlY3Rvci5weTogQWRkZWQuCisgICAg
ICAgIChHdGtMZWFrRGV0ZWN0b3IpOgorICAgICAgICAoR3RrTGVha0RldGVjdG9yLl9faW5pdF9f
KToKKyAgICAgICAgKEd0a0xlYWtEZXRlY3Rvci5wYXJzZV9sZWFrc19vdXRwdXQpOgorICAgICAg
ICAoR3RrTGVha0RldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeSk6CisgICAgICAgIChH
dGtMZWFrRGV0ZWN0b3IubGVha3NfZmlsZV9uYW1lKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvbWFjLnB5OgorICAgICAgICAoTWFjUG9ydC5jaGVja19mb3JfbGVha3MpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9tZW1jaGVja19hbmFseXplLnB5OiBBZGRlZC4K
KyAgICAgICAgKGdldFRleHRPZik6CisgICAgICAgIChnZXRDREFUQU9mKToKKyAgICAgICAgKHNo
b3J0ZW5GaWxlUGF0aCk6CisgICAgICAgIChnYXRoZXJGcmFtZXMpOgorICAgICAgICAoVmFsZ3Jp
bmRFcnJvcik6CisgICAgICAgIChWYWxncmluZEVycm9yLl9faW5pdF9fKToKKyAgICAgICAgKFZh
bGdyaW5kRXJyb3IuX19zdHJfXyk6CisgICAgICAgIChWYWxncmluZEVycm9yLlVuaXF1ZVN0cmlu
Zyk6CisgICAgICAgIChWYWxncmluZEVycm9yLkVycm9ySGFzaCk6CisgICAgICAgIChWYWxncmlu
ZEVycm9yLl9faGFzaF9fKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuX19lcV9fKToKKyAgICAg
ICAgKGxvZ19pc19maW5pc2hlZCk6CisgICAgICAgIChNZW1jaGVja0FuYWx5emVyKToKKyAgICAg
ICAgKE1lbWNoZWNrQW5hbHl6ZXIuX19pbml0X18pOgorICAgICAgICAoTWVtY2hlY2tBbmFseXpl
ci5SZXBvcnQpOgorICAgICAgICAoX21haW4pOgorICAgICAgICAoX21haW4uc2hvdWxkKToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nlc3MucHk6CisgICAgICAg
IChTZXJ2ZXJQcm9jZXNzLnN0b3ApOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9z
ZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weToKKyAgICAgICAgKFRyaXZpYWxNb2NrUG9ydC5jaGVj
a19mb3JfbGVha3MpOgorICAgICAgICAqIHZhbGdyaW5kL21lbWNoZWNrL3N1cHByZXNzaW9ucy50
eHQ6IEFkZGVkLgorCiAyMDEzLTA3LTEwICBTZXJnaW8gQ29ycmVpYSAgPHNlcmdpby5jb3JyZWlh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgSGFuZGxlICJsb2FkLHByb3Zpc2lvbmFsLGZhaWxl
ZCIgd2l0aCB0aGUgb25fZXJyb3IgY2FsbGJhY2sgb24gRUZMIE1pbmlCcm93c2VyCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3Rz
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
cy5weQppbmRleCA2YjRiYjc2ZDFlMWEzYWI0YWRhYTlkMjZjZDgzZmVmNGUxN2YzNmU4Li5jYWYz
ZmUwNGM3YTRmMjM0ODQ1MzQwNGU2YTQyMGJiOWM0ODRiMTdiIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKQEAg
LTExMCw3ICsxMTAsNyBAQCBkZWYgcGFyc2VfYXJncyhhcmdzKToKICAgICAgICAgb3B0cGFyc2Uu
bWFrZV9vcHRpb24oIi0tY29tcGxleC10ZXh0IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVs
dD1GYWxzZSwKICAgICAgICAgICAgIGhlbHA9IlVzZSB0aGUgY29tcGxleCB0ZXh0IGNvZGUgcGF0
aCBmb3IgYWxsIHRleHQgKE1hYyBPUyBYIGFuZCBXaW5kb3dzIG9ubHkpIiksCiAgICAgICAgIG9w
dHBhcnNlLm1ha2Vfb3B0aW9uKCItbCIsICItLWxlYWtzIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwg
ZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgIGhlbHA9IkVuYWJsZSBsZWFrcyBjaGVja2luZyAo
TWFjIE9TIFggb25seSkiKSwKKyAgICAgICAgICAgIGhlbHA9IkVuYWJsZSBsZWFrcyBjaGVja2lu
ZyAoTWFjIE9TIFggYW5kIEd0aysgb25seSkiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRp
b24oIi1nIiwgIi0tZ3VhcmQtbWFsbG9jIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1G
YWxzZSwKICAgICAgICAgICAgIGhlbHA9IkVuYWJsZSBHdWFyZCBNYWxsb2MgKE1hYyBPUyBYIG9u
bHkpIiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXRocmVhZGVkIiwgYWN0aW9u
PSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2Uu
cHkKaW5kZXggZjc2OGExZjcyYTdhMGZiMjg5MjUwZTJjZjI5OGQyYzNkZDU4ODE5OC4uZTk4MWNk
YzdhYzE0OGI0NzU0MjcwYTIyNmM3MjEzNGI5OWEyMGQ1MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2Jhc2UucHkKQEAgLTM4MSw3ICszODEsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxfZmlsZW5hbWUpCiAgICAgICAg
IHJldHVybiAnJy5qb2luKGRpZmYpCiAKLSAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHBy
b2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpOgorICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwg
cHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCwgaXNfcnVubmluZyk6CiAgICAgICAgICMgU3ViY2xh
c3NlcyBzaG91bGQgY2hlY2sgZm9yIGxlYWtzIGluIHRoZSBydW5uaW5nIHByb2Nlc3MKICAgICAg
ICAgIyBhbmQgcHJpbnQgYW55IG5lY2Vzc2FyeSB3YXJuaW5ncyBpZiBsZWFrcyBhcmUgZm91bmQu
CiAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciBtb3ZpbmcgbXVjaCBvZiB0aGlz
IGxvZ2ljIGludG8KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9jb21t
b24ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvY29tbW9uLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM2OTY5YzIzODVkOWYyNzRiNzQ4YjYyZDIwOWRlMzNlYjY2MTk3OTAKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvY29tbW9uLnB5CkBAIC0wLDAgKzEsMzEw
IEBACisjIE9yaWdpbmFsbHkgZnJvbSBDaHJvbWl1bSwgY29weXJpZ2h0IGFzIGZvbGxvd3M6Cisj
CisjIENvcHlyaWdodCAoYykgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRp
c3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgcGxh
dGZvcm0KK2ltcG9ydCBvcworaW1wb3J0IHNpZ25hbAoraW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9y
dCBzeXMKK2ltcG9ydCB0aW1lCisKKworY2xhc3MgTm90SW1wbGVtZW50ZWRFcnJvcihFeGNlcHRp
b24pOgorICAgIHBhc3MKKworCitjbGFzcyBUaW1lb3V0RXJyb3IoRXhjZXB0aW9uKToKKyAgICBw
YXNzCisKKworZGVmIF9wcmludF9saW5lKGxpbmUsIGZsdXNoPVRydWUpOgorICAgICMgUHJpbnRp
bmcgdG8gYSB0ZXh0IGZpbGUgKGluY2x1ZGluZyBzdGRvdXQpIG9uIFdpbmRvd3MgYWx3YXlzIHdp
bmRzIHVwCisgICAgIyB1c2luZyBcclxuIGF1dG9tYXRpY2FsbHkuIE9uIGJ1aWxkYm90LCB0aGlz
IHdpbmRzIHVwIGJlaW5nIHJlYWQgYnkgYQorICAgICMgbWFzdGVyIHJ1bm5pbmcgb24gTGludXgs
IHNvIHdlIG1hbnVhbGx5IGNvbnZlcnQgY3JsZiB0byAnXG4nCisgICAgcHJpbnQgbGluZS5yc3Ry
aXAoKSArICdcbicsCisgICAgaWYgZmx1c2g6CisgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQor
CisKK2RlZiBSdW5TdWJwcm9jZXNzSW5CYWNrZ3JvdW5kKHByb2MpOgorICAgICIiIlJ1bnMgYSBz
dWJwcm9jZXNzIGluIHRoZSBiYWNrZ3JvdW5kLiBSZXR1cm5zIGEgaGFuZGxlIHRvIHRoZSBwcm9j
ZXNzLiIiIgorICAgIGxvZ2dpbmcuaW5mbygicnVubmluZyAlcyBpbiB0aGUgYmFja2dyb3VuZCIg
JSAiICIuam9pbihwcm9jKSkKKyAgICByZXR1cm4gc3VicHJvY2Vzcy5Qb3Blbihwcm9jKQorCisK
K2RlZiBSdW5TdWJwcm9jZXNzKHByb2MsIHRpbWVvdXQ9MCwgZGV0YWNoPUZhbHNlLCBiYWNrZ3Jv
dW5kPUZhbHNlKToKKyAgICAiIiIgUnVucyBhIHN1YnByb2Nlc3MsIHVudGlsIGl0IGZpbmlzaGVz
IG9yIHx0aW1lb3V0fCBpcyBleGNlZWRlZCBhbmQgdGhlCisgICAgcHJvY2VzcyBpcyBraWxsZWQg
d2l0aCB0YXNra2lsbC4gICAgQSB8dGltZW91dHwgPD0gMCAgICBtZWFucyBubyB0aW1lb3V0Lgor
CisgICAgQXJnczoKKyAgICAgICAgcHJvYzogbGlzdCBvZiBwcm9jZXNzIGNvbXBvbmVudHMgKGV4
ZSArIGFyZ3MpCisgICAgICAgIHRpbWVvdXQ6IGhvdyBsb25nIHRvIHdhaXQgYmVmb3JlIGtpbGxp
bmcsIDw9IDAgbWVhbnMgd2FpdCBmb3JldmVyCisgICAgICAgIGRldGFjaDogV2hldGhlciB0byBw
YXNzIHRoZSBERVRBQ0hFRF9QUk9DRVNTIGFyZ3VtZW50IHRvIENyZWF0ZVByb2Nlc3MKKyAgICAg
ICAgICBvbiBXaW5kb3dzLiAgVGhpcyBpcyB1c2VkIGJ5IFB1cmlmeSBzdWJwcm9jZXNzZXMgb24g
YnVpbGRib3Qgd2hpY2gKKyAgICAgICAgICBzZWVtIHRvIGdldCBjb25mdXNlZCBieSB0aGUgcGFy
ZW50IGNvbnNvbGUgdGhhdCBidWlsZGJvdCBzZXRzIHVwLgorICAgICIiIgorCisgICAgbG9nZ2lu
Zy5pbmZvKCJydW5uaW5nICVzLCB0aW1lb3V0ICVkIHNlYyIgJSAoIiAiLmpvaW4ocHJvYyksIHRp
bWVvdXQpKQorICAgIGlmIGRldGFjaDoKKyAgICAgICAgIyBzZWUgTVNETiBkb2NzIGZvciAiUHJv
Y2VzcyBDcmVhdGlvbiBGbGFncyIKKyAgICAgICAgREVUQUNIRURfUFJPQ0VTUyA9IDB4OAorICAg
ICAgICBwID0gc3VicHJvY2Vzcy5Qb3Blbihwcm9jLCBjcmVhdGlvbmZsYWdzPURFVEFDSEVEX1BS
T0NFU1MpCisgICAgZWxzZToKKyAgICAgICAgIyBGb3Igbm9uLWRldGFjaGVkIHByb2Nlc3Nlcywg
bWFudWFsbHkgcmVhZCBhbmQgcHJpbnQgb3V0IHN0ZG91dCBhbmQKKyAgICAgICAgIyBzdGRlcnIu
IEJ5IGRlZmF1bHQsIHRoZSBzdWJwcm9jZXNzIGlzIHN1cHBvc2VkIHRvIGluaGVyaXQgdGhlc2Ug
ZnJvbQorICAgICAgICAjIGl0cyBwYXJlbnQsIGhvd2V2ZXIgd2hlbiBydW4gdW5kZXIgYnVpbGRi
b3QsIGl0IHNlZW1zIHVuYWJsZSB0byByZWFkCisgICAgICAgICMgZGF0YSBmcm9tIGEgZ3JhbmRj
aGlsZCBwcm9jZXNzLCBzbyB3ZSBoYXZlIHRvIHJlYWQgdGhlIGNoaWxkIGFuZAorICAgICAgICAj
IHByaW50IHRoZSBkYXRhIGFzIGlmIGl0IGNhbWUgZnJvbSB1cyBmb3IgYnVpbGRib3QgdG8gcmVh
ZCBpdC4KKyAgICAgICAgIyBXZSdyZSBub3Qgc3VyZSB3aHkgdGhpcyBpcyBuZWNlc3NhcnkuCisg
ICAgICAgICMgVE9ETyhlcmlra2F5KTogc2hvdWxkIHdlIGJ1ZmZlciBzdGRlcnIgYW5kIHN0ZG91
dCBzZXBhcmF0ZWx5PworICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3Blbihwcm9jLCBzdGRvdXQ9
c3VicHJvY2Vzcy5QSVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3Vi
cHJvY2Vzcy5TVERPVVQpCisKKyAgICBsb2dnaW5nLmluZm8oInN0YXJ0ZWQgc3VicHJvY2VzcyIp
CisKKyAgICAjIEhvdyBsb25nIHRvIHdhaXQgKGluIHNlY29uZHMpIGJlZm9yZSBwcmludGluZyBw
cm9ncmVzcyBsb2cgbWVzc2FnZXMuCisgICAgcHJvZ3Jlc3NfZGVsYXkgPSAzMDAKKyAgICBwcm9n
cmVzc19kZWxheV90aW1lID0gdGltZS50aW1lKCkgKyBwcm9ncmVzc19kZWxheQorICAgIGRpZF90
aW1lb3V0ID0gRmFsc2UKKyAgICBpZiB0aW1lb3V0ID4gMDoKKyAgICAgICAgd2FpdF91bnRpbCA9
IHRpbWUudGltZSgpICsgdGltZW91dAorICAgIHdoaWxlIHAucG9sbCgpIGlzIE5vbmUgYW5kIG5v
dCBkaWRfdGltZW91dDoKKyAgICAgICAgaWYgbm90IGRldGFjaDoKKyAgICAgICAgICAgIGxpbmUg
PSBwLnN0ZG91dC5yZWFkbGluZSgpCisgICAgICAgICAgICB3aGlsZSBsaW5lIGFuZCBub3QgZGlk
X3RpbWVvdXQ6CisgICAgICAgICAgICAgICAgX3ByaW50X2xpbmUobGluZSkKKyAgICAgICAgICAg
ICAgICBsaW5lID0gcC5zdGRvdXQucmVhZGxpbmUoKQorICAgICAgICAgICAgICAgIGlmIHRpbWVv
dXQgPiAwOgorICAgICAgICAgICAgICAgICAgICBkaWRfdGltZW91dCA9IHRpbWUudGltZSgpID4g
d2FpdF91bnRpbAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBXaGVuIHdlIGRldGFjaCwg
YmxvY2tpbmcgb24gcmVhZGluZyBzdGRvdXQgZG9lc24ndCB3b3JrLCBzbworICAgICAgICAgICAg
IyB3ZSBzbGVlcCBhIHNob3J0IHRpbWUgYW5kIHBvbGwuCisgICAgICAgICAgICB0aW1lLnNsZWVw
KDAuNSkKKyAgICAgICAgICAgIGlmIHRpbWUudGltZSgpID49IHByb2dyZXNzX2RlbGF5X3RpbWU6
CisgICAgICAgICAgICAgICAgIyBGb3JjZSBvdXRwdXQgb24gYSBwZXJpb2RpYyBiYXNpcyB0byBh
dm9pZCBnZXR0aW5nIGtpbGxlZCBvZmYKKyAgICAgICAgICAgICAgICAjIGJ5IHRoZSBidWlsZGJv
dC4KKyAgICAgICAgICAgICAgICAjIFRPRE8oZXJpa2theSk6IEknZCBwcmVmZXIgYSBsZXNzIG9i
dHJ1c2l2ZSAncHJpbnQgIi4iLCcgd2l0aAorICAgICAgICAgICAgICAgICMgYSBmbHVzaCBidXQg
YmVjYXVzZSBvZiBob3cgd2UncmUgZG9pbmcgc3VicHJvY2Vzc2VzLCB0aGlzCisgICAgICAgICAg
ICAgICAgIyBkb2Vzbid0IGFwcGVhciB0byB3b3JrIHJlbGlhYmx5LgorICAgICAgICAgICAgICAg
IGxvZ2dpbmcuaW5mbygiJXMgc3RpbGwgcnVubmluZy4uLiIgJSBvcy5wYXRoLmJhc2VuYW1lKHBy
b2NbMF0pKQorICAgICAgICAgICAgICAgIHByb2dyZXNzX2RlbGF5X3RpbWUgPSB0aW1lLnRpbWUo
KSArIHByb2dyZXNzX2RlbGF5CisgICAgICAgIGlmIHRpbWVvdXQgPiAwOgorICAgICAgICAgICAg
ZGlkX3RpbWVvdXQgPSB0aW1lLnRpbWUoKSA+IHdhaXRfdW50aWwKKworICAgIGlmIGRpZF90aW1l
b3V0OgorICAgICAgICBsb2dnaW5nLmluZm8oInByb2Nlc3MgdGltZWQgb3V0IikKKyAgICBlbHNl
OgorICAgICAgICBsb2dnaW5nLmluZm8oInByb2Nlc3MgZW5kZWQsIGRpZCBub3QgdGltZSBvdXQi
KQorCisgICAgaWYgZGlkX3RpbWVvdXQ6CisgICAgICAgIGlmIElzV2luZG93cygpOgorICAgICAg
ICAgICAgc3VicHJvY2Vzcy5jYWxsKFsidGFza2tpbGwiLCAiL1QiLCAiL0YiLCAiL1BJRCIsIHN0
cihwLnBpZCldKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBEb2VzIHRoaXMga2lsbCBh
bGwgY2hpbGRyZW4sIHRvbz8KKyAgICAgICAgICAgIG9zLmtpbGwocC5waWQsIHNpZ25hbC5TSUdJ
TlQpCisgICAgICAgIGxvZ2dpbmcuZXJyb3IoIktJTExFRCAlZCIgJSBwLnBpZCkKKyAgICAgICAg
IyBHaXZlIHRoZSBwcm9jZXNzIGEgY2hhbmNlIHRvIGFjdHVhbGx5IGRpZSBiZWZvcmUgY29udGlu
dWluZworICAgICAgICAjIHNvIHRoYXQgY2xlYW51cCBjYW4gaGFwcGVuIHNhZmVseS4KKyAgICAg
ICAgdGltZS5zbGVlcCgxLjApCisgICAgICAgIGxvZ2dpbmcuZXJyb3IoIlRJTUVPVVQgd2FpdGlu
ZyBmb3IgJXMiICUgcHJvY1swXSkKKyAgICAgICAgcmFpc2UgVGltZW91dEVycm9yKHByb2NbMF0p
CisgICAgZWxpZiBub3QgZGV0YWNoOgorICAgICAgICBmb3IgbGluZSBpbiBwLnN0ZG91dC5yZWFk
bGluZXMoKToKKyAgICAgICAgICAgIF9wcmludF9saW5lKGxpbmUsIEZhbHNlKQorICAgICAgICBp
ZiBub3QgSXNNYWMoKTogICAgICMgc3Rkb3V0IGZsdXNoIGZhaWxzIG9uIE1hYworICAgICAgICAg
ICAgbG9nZ2luZy5pbmZvKCJmbHVzaGluZyBzdGRvdXQiKQorICAgICAgICAgICAgcC5zdGRvdXQu
Zmx1c2goKQorCisgICAgbG9nZ2luZy5pbmZvKCJjb2xsZWN0aW5nIHJlc3VsdCBjb2RlIikKKyAg
ICByZXN1bHQgPSBwLnBvbGwoKQorICAgIGlmIHJlc3VsdDoKKyAgICAgICAgbG9nZ2luZy5lcnJv
cigiJXMgZXhpdGVkIHdpdGggbm9uLXplcm8gcmVzdWx0IGNvZGUgJWQiICUKKyAgICAgICAgICAg
ICAgICAgICAgICAocHJvY1swXSwgcmVzdWx0KSkKKyAgICByZXR1cm4gcmVzdWx0CisKKworZGVm
IElzTGludXgoKToKKyAgICByZXR1cm4gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2xpbnV4JykK
KworCitkZWYgSXNNYWMoKToKKyAgICByZXR1cm4gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2Rh
cndpbicpCisKKworZGVmIElzV2luZG93cygpOgorICAgIHJldHVybiBzeXMucGxhdGZvcm0gPT0g
J2N5Z3dpbicgb3Igc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpCisKKworZGVmIFdpbmRv
d3NWZXJzaW9uTmFtZSgpOgorICAgICIiIlJldHVybnMgdGhlIG5hbWUgb2YgdGhlIFdpbmRvd3Mg
dmVyc2lvbiBpZiBpdCBpcyBrbm93biwgb3IgTm9uZS4KKworICAgIFBvc3NpYmxlIHJldHVybiB2
YWx1ZXMgYXJlOiB4cCwgdmlzdGEsIDcsIDgsIG9yIE5vbmUKKyAgICAiIiIKKyAgICBpZiBzeXMu
cGxhdGZvcm0gPT0gJ2N5Z3dpbic6CisgICAgICAgICMgV2luZG93cyB2ZXJzaW9uIG51bWJlciBp
cyBoaWRpbmcgaW4gc3lzdGVtIG5hbWUuICAgIExvb2tzIGxpa2U6CisgICAgICAgICMgQ1lHV0lO
X05ULTYuMS1XT1c2NAorICAgICAgICB0cnk6CisgICAgICAgICAgICB2ZXJzaW9uX3N0ciA9IHBs
YXRmb3JtLnVuYW1lKClbMF0uc3BsaXQoJy0nKVsxXQorICAgICAgICBleGNlcHQ6CisgICAgICAg
ICAgICByZXR1cm4gTm9uZQorICAgIGVsaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicp
OgorICAgICAgICAjIE5vcm1hbCBXaW5kb3dzIHZlcnNpb24gc3RyaW5nLiAgICBNaW5lOiA2LjEu
NzYwMQorICAgICAgICB2ZXJzaW9uX3N0ciA9IHBsYXRmb3JtLnZlcnNpb24oKQorICAgIGVsc2U6
CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBwYXJ0cyA9IHZlcnNpb25fc3RyLnNwbGl0KCcu
JykKKyAgICB0cnk6CisgICAgICAgIG1ham9yID0gaW50KHBhcnRzWzBdKQorICAgICAgICBtaW5v
ciA9IGludChwYXJ0c1sxXSkKKyAgICBleGNlcHQ6CisgICAgICAgIHJldHVybiBOb25lICAgICMg
Q2FuJ3QgcGFyc2UsIHVua25vd24gdmVyc2lvbi4KKworICAgIGlmIG1ham9yID09IDU6CisgICAg
ICAgIHJldHVybiAneHAnCisgICAgZWxpZiBtYWpvciA9PSA2IGFuZCBtaW5vciA9PSAwOgorICAg
ICAgICByZXR1cm4gJ3Zpc3RhJworICAgIGVsaWYgbWFqb3IgPT0gNiBhbmQgbWlub3IgPT0gMToK
KyAgICAgICAgcmV0dXJuICc3JworICAgIGVsaWYgbWFqb3IgPT0gNiBhbmQgbWlub3IgPT0gMjoK
KyAgICAgICAgcmV0dXJuICc4JyAgICAjIEZ1dHVyZSBwcm9vZi4gICAgOykKKyAgICByZXR1cm4g
Tm9uZQorCisKK2RlZiBQbGF0Zm9ybU5hbWVzKCk6CisgICAgIiIiUmV0dXJuIGFuIGFycmF5IG9m
IHN0cmluZyB0byBiZSB1c2VkIGluIHBhdGhzIGZvciB0aGUgcGxhdGZvcm0KKyAgICAoZS5nLiBz
dXBwcmVzc2lvbnMsIGd0ZXN0IGZpbHRlcnMsIGlnbm9yZSBmaWxlcyBldGMuKQorICAgIFRoZSBm
aXJzdCBlbGVtZW50IG9mIHRoZSBhcnJheSBkZXNjcmliZXMgdGhlICdtYWluJyBwbGF0Zm9ybQor
ICAgICIiIgorICAgIGlmIElzTGludXgoKToKKyAgICAgICAgcmV0dXJuIFsnbGludXgnXQorICAg
IGlmIElzTWFjKCk6CisgICAgICAgIHJldHVybiBbJ21hYyddCisgICAgaWYgSXNXaW5kb3dzKCk6
CisgICAgICAgIG5hbWVzID0gWyd3aW4zMiddCisgICAgICAgIHZlcnNpb25fbmFtZSA9IFdpbmRv
d3NWZXJzaW9uTmFtZSgpCisgICAgICAgIGlmIHZlcnNpb25fbmFtZSBpcyBub3QgTm9uZToKKyAg
ICAgICAgICAgIG5hbWVzLmFwcGVuZCgnd2luLSVzJyAlIHZlcnNpb25fbmFtZSkKKyAgICAgICAg
cmV0dXJuIG5hbWVzCisgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignVW5rbm93biBwbGF0
Zm9ybSAiJXMiLicgJSBzeXMucGxhdGZvcm0pCisKKworZGVmIFB1dEVudkFuZExvZyhlbnZfbmFt
ZSwgZW52X3ZhbHVlKToKKyAgICBvcy5wdXRlbnYoZW52X25hbWUsIGVudl92YWx1ZSkKKyAgICBs
b2dnaW5nLmluZm8oJ2V4cG9ydCAlcz0lcycsIGVudl9uYW1lLCBlbnZfdmFsdWUpCisKKworZGVm
IEJvcmluZ0NhbGxlcnMobWFuZ2xlZCwgdXNlX3JlX3dpbGRjYXJkcyk6CisgICAgIiIiUmV0dXJu
IGEgbGlzdCBvZiAnYm9yaW5nJyBmdW5jdGlvbiBuYW1lcyAob3B0aW5hbGx5IG1hbmdsZWQpCisg
ICAgd2l0aCAqLz8gd2lsZGNhcmRzIChvcHRpb25hbGx5IC4qLy4pLgorICAgIEJvcmluZyA9IHdl
IGRyb3Agb2ZmIHRoZSBib3R0b20gb2Ygc3RhY2sgdHJhY2VzIGJlbG93IHN1Y2ggZnVuY3Rpb25z
LgorICAgICIiIgorCisgICAgbmVlZF9tYW5nbGluZyA9IFsKKyAgICAgICAgIyBEb24ndCBzaG93
IG91ciB0ZXN0aW5nIGZyYW1ld29yazoKKyAgICAgICAgKCJ0ZXN0aW5nOjpUZXN0OjpSdW4iLCAg
ICAgICAgICJfWk43dGVzdGluZzRUZXN0M1J1bkV2IiksCisgICAgICAgICgidGVzdGluZzo6VGVz
dEluZm86OlJ1biIsICJfWk43dGVzdGluZzhUZXN0SW5mbzNSdW5FdiIpLAorICAgICAgICAoInRl
c3Rpbmc6OmludGVybmFsOjpIYW5kbGUqRXhjZXB0aW9uc0luTWV0aG9kSWZTdXBwb3J0ZWQqIiwK
KyAgICAgICAgICJfWk43dGVzdGluZzhpbnRlcm5hbDM/SGFuZGxlKkV4Y2VwdGlvbnNJbk1ldGhv
ZElmU3VwcG9ydGVkKiIpLAorCisgICAgICAgICMgRGVwZW5kIG9uIHNjaGVkdWxpbmc6CisgICAg
ICAgICgiTWVzc2FnZUxvb3A6OlJ1biIsICAgICAgICAgIl9aTjExTWVzc2FnZUxvb3AzUnVuRXYi
KSwKKyAgICAgICAgKCJNZXNzYWdlTG9vcDo6UnVuVGFzayIsICJfWk4xMU1lc3NhZ2VMb29wN1J1
blRhc2sqIiksCisgICAgICAgICgiUnVubmFibGVNZXRob2QqIiwgICAgICAgICAgICAiX1pOMTRS
dW5uYWJsZU1ldGhvZCoiKSwKKyAgICAgICAgKCJEaXNwYXRjaFRvTWV0aG9kKiIsICAgICAgICAi
X1oqMTZEaXNwYXRjaFRvTWV0aG9kKiIpLAorICAgICAgICAoImJhc2U6OmludGVybmFsOjpJbnZv
a2VyKjo6RG9JbnZva2UqIiwKKyAgICAgICAgICJfWk40YmFzZThpbnRlcm5hbDhJbnZva2VyKkRv
SW52b2tlKiIpLCAgICAjIEludm9rZXJ7MSwyLDN9CisgICAgICAgICgiYmFzZTo6aW50ZXJuYWw6
OlJ1bm5hYmxlQWRhcHRlcio6OlJ1bioiLAorICAgICAgICAgIl9aTjRiYXNlOGludGVybmFsMTVS
dW5uYWJsZUFkYXB0ZXIqUnVuKiIpLAorICAgIF0KKworICAgIHJldCA9IFtdCisgICAgZm9yIHBh
aXIgaW4gbmVlZF9tYW5nbGluZzoKKyAgICAgICAgcmV0LmFwcGVuZChwYWlyWzEgaWYgbWFuZ2xl
ZCBlbHNlIDBdKQorCisgICAgcmV0ICs9IFsKKyAgICAgICAgIyBBbHNvIGRvbid0IHNob3cgdGhl
IGludGVybmFscyBvZiBsaWJjL3B0aHJlYWQuCisgICAgICAgICJzdGFydF90aHJlYWQiLAorICAg
ICAgICAibWFpbiIsCisgICAgICAgICJCYXNlVGhyZWFkSW5pdFRodW5rIiwKKyAgICBdCisKKyAg
ICBpZiB1c2VfcmVfd2lsZGNhcmRzOgorICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4ocmV0
KSk6CisgICAgICAgICAgICByZXRbaV0gPSByZXRbaV0ucmVwbGFjZSgnKicsICcuKicpLnJlcGxh
Y2UoJz8nLCAnLicpCisKKyAgICByZXR1cm4gcmV0CisKKworZGVmIE5vcm1hbGl6ZVdpbmRvd3NQ
YXRoKHBhdGgpOgorICAgICIiIklmIHdlJ3JlIHVzaW5nIEN5Z3dpbiBQeXRob24sIHR1cm4gdGhl
IHBhdGggaW50byBhIFdpbmRvd3MgcGF0aC4KKworICAgIERvbid0IHR1cm4gZm9yd2FyZCBzbGFz
aGVzIGludG8gYmFja3NsYXNoZXMgZm9yIGVhc2llciBjb3B5LXBhc3RpbmcgYW5kCisgICAgZXNj
YXBpbmcuCisKKyAgICBUT0RPKHJuayk6IElmIHdlIGV2ZXIgd2FudCB0byBjdXQgb3V0IHRoZSBz
dWJwcm9jZXNzIGludm9jYXRpb24sIHdlIGNhbiB1c2UKKyAgICBfd2lucmVnIHRvIGdldCB0aGUg
cm9vdCBDeWd3aW4gZGlyZWN0b3J5IGZyb20gdGhlIHJlZ2lzdHJ5IGtleToKKyAgICBIS0VZX0xP
Q0FMX01BQ0hJTkVcU09GVFdBUkVcQ3lnd2luXHNldHVwXHJvb3RkaXIuCisgICAgIiIiCisgICAg
aWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImN5Z3dpbiIpOgorICAgICAgICBwID0gc3VicHJv
Y2Vzcy5Qb3BlbihbImN5Z3BhdGgiLCAiLW0iLCBwYXRoXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJw
cm9jZXNzLlBJUEUpCisgICAgICAgIChvdXQsIGVycikgPSBwLmNvbW11bmljYXRlKCkKKyAgICAg
ICAgaWYgZXJyOgorICAgICAgICAgICAgbG9nZ2luZy53YXJuaW5nKCJXQVJOSU5HOiBjeWdwYXRo
IGVycm9yOiAlcyIsIGVycikKKyAgICAgICAgcmV0dXJuIG91dC5zdHJpcCgpCisgICAgZWxzZToK
KyAgICAgICAgcmV0dXJuIHBhdGgKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBD
b21tb24gb3V0cHV0IGZvcm1hdCBjb2RlCisKKworZGVmIFByaW50VXNlZFN1cHByZXNzaW9uc0xp
c3Qoc3VwcGNvdW50cyk6CisgICAgIiIiIFByaW50cyBvdXQgdGhlIGxpc3Qgb2YgdXNlZCBzdXBw
cmVzc2lvbnMgaW4gYSBmb3JtYXQgY29tbW9uIHRvIGFsbCB0aGUKKyAgICAgICAgbWVtb3J5IHRv
b2xzLiBJZiB0aGUgbGlzdCBpcyBlbXB0eSwgcHJpbnRzIG5vdGhpbmcgYW5kIHJldHVybnMgRmFs
c2UsCisgICAgICAgIG90aGVyd2lzZSBUcnVlLgorCisgICAgICAgIHN1cHBjb3VudHM6IGEgZGlj
dGlvbmFyeSBvZiB1c2VkIHN1cHByZXNzaW9uIGNvdW50cywKKyAgICAgICAgICAgICAgICAgICAg
S2V5IC0+IG5hbWUsIFZhbHVlIC0+IGNvdW50LgorICAgICIiIgorICAgIGlmIG5vdCBzdXBwY291
bnRzOgorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIHByaW50ICItLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKKyAgICBwcmludCAiU3VwcHJl
c3Npb25zIHVzZWQ6IgorICAgIHByaW50ICIgICAgY291bnQgbmFtZSIKKyAgICBmb3IgKG5hbWUs
IGNvdW50KSBpbiBzb3J0ZWQoc3VwcGNvdW50cy5pdGVtcygpLCBrZXk9bGFtYmRhIChrLCB2KTog
KHYsIGspKToKKyAgICAgICAgcHJpbnQgIiU3ZCAlcyIgJSAoY291bnQsIG5hbWUpCisgICAgcHJp
bnQgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IgorICAgIHN5cy5zdGRvdXQuZmx1c2goKQorICAgIHJldHVybiBUcnVlCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ2RiX2hlbHBlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9nZGJfaGVscGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MDJiODMxNGNjZGI2YTg1
MTU5MjIwMTJkMDViYTAzNTkzMGM2NGIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvZ2RiX2hlbHBlci5weQpAQCAtMCwwICsxLDExNiBAQAorIyBPcmlnaW5h
bGx5IGZyb20gQ2hyb21pdW0sIGNvcHlyaWdodCBhcyBmb2xsb3dzOgorIworIyBDb3B5cmlnaHQg
KGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisj
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisnJycgQSBidW5jaCBvZiBoZWxwZXIgZnVuY3Rpb25zIGZvciBxdWVy
eWluZyBnZGIuJycnCisKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1w
b3J0IHRlbXBmaWxlCisKK0dEQl9MSU5FX1JFID0gcmUuY29tcGlsZShyJ0xpbmUgKFswLTldKikg
b2YgIihbXiJdKikiLionKQorCisKK2RlZiBfR2RiT3V0cHV0VG9GaWxlTGluZShvdXRwdXRfbGlu
ZSk6CisgICAgJycnIFBhcnNlIHRoZSBnZGIgb3V0cHV0IGxpbmUsIHJldHVybiBhIHBhaXIgKGZp
bGUsIGxpbmUgbnVtKSAnJycKKyAgICBtYXRjaCA9IEdEQl9MSU5FX1JFLm1hdGNoKG91dHB1dF9s
aW5lKQorICAgIGlmIG1hdGNoOgorICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXBzKClbMV0sIG1h
dGNoLmdyb3VwcygpWzBdCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworCitkZWYg
UmVzb2x2ZUFkZHJlc3Nlc1dpdGhpbkFCaW5hcnkoYmluYXJ5X25hbWUsIGxvYWRfYWRkcmVzcywg
YWRkcmVzc19saXN0KToKKyAgICAnJycgRm9yIGVhY2ggYWRkcmVzcywgcmV0dXJuIGEgcGFpciAo
ZmlsZSwgbGluZSBudW0pICcnJworICAgIGNvbW1hbmRzID0gdGVtcGZpbGUuTmFtZWRUZW1wb3Jh
cnlGaWxlKCkKKyAgICBjb21tYW5kcy53cml0ZSgnYWRkLXN5bWJvbC1maWxlICIlcyIgJXNcbicg
JSAoYmluYXJ5X25hbWUsIGxvYWRfYWRkcmVzcykpCisgICAgZm9yIGFkZHIgaW4gYWRkcmVzc19s
aXN0OgorICAgICAgICBjb21tYW5kcy53cml0ZSgnaW5mbyBsaW5lIColc1xuJyAlIGFkZHIpCisg
ICAgY29tbWFuZHMud3JpdGUoJ3F1aXRcbicpCisgICAgY29tbWFuZHMuZmx1c2goKQorICAgIGdk
Yl9jb21tYW5kbGluZSA9ICdnZGIgLWJhdGNoIC14ICVzIDI+L2Rldi9udWxsJyAlIGNvbW1hbmRz
Lm5hbWUKKyAgICBnZGJfcGlwZSA9IG9zLnBvcGVuKGdkYl9jb21tYW5kbGluZSkKKyAgICByZXN1
bHQgPSBnZGJfcGlwZS5yZWFkbGluZXMoKQorCisgICAgYWRkcmVzc19jb3VudCA9IDAKKyAgICBy
ZXQgPSB7fQorICAgIGZvciBsaW5lIGluIHJlc3VsdDoKKyAgICAgICAgaWYgbGluZS5zdGFydHN3
aXRoKCdMaW5lJyk6CisgICAgICAgICAgICByZXRbYWRkcmVzc19saXN0W2FkZHJlc3NfY291bnRd
XSA9IF9HZGJPdXRwdXRUb0ZpbGVMaW5lKGxpbmUpCisgICAgICAgICAgICBhZGRyZXNzX2NvdW50
ICs9IDEKKyAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdObyBsaW5lJyk6CisgICAgICAgICAg
ICByZXRbYWRkcmVzc19saXN0W2FkZHJlc3NfY291bnRdXSA9IChOb25lLCBOb25lKQorICAgICAg
ICAgICAgYWRkcmVzc19jb3VudCArPSAxCisgICAgZ2RiX3BpcGUuY2xvc2UoKQorICAgIGNvbW1h
bmRzLmNsb3NlKCkKKyAgICByZXR1cm4gcmV0CisKKworY2xhc3MgQWRkcmVzc1RhYmxlKG9iamVj
dCk6CisgICAgJycnIE9iamVjdCB0byBkbyBiYXRjaGVkIGxpbmUgbnVtYmVyIGxvb2t1cC4gJycn
CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLl9sb2FkX2FkZHJlc3NlcyA9
IHt9CisgICAgICAgIHNlbGYuX2JpbmFyaWVzID0ge30KKyAgICAgICAgc2VsZi5fYWxsX3Jlc29s
dmVkID0gRmFsc2UKKworICAgIGRlZiBBZGRCaW5hcnlBdChzZWxmLCBiaW5hcnksIGxvYWRfYWRk
cmVzcyk6CisgICAgICAgICcnJyBSZWdpc3RlciBhIG5ldyBzaGFyZWQgbGlicmFyeSBvciBleGVj
dXRhYmxlLiAnJycKKyAgICAgICAgc2VsZi5fbG9hZF9hZGRyZXNzZXNbYmluYXJ5XSA9IGxvYWRf
YWRkcmVzcworCisgICAgZGVmIEFkZChzZWxmLCBiaW5hcnksIGFkZHJlc3MpOgorICAgICAgICAn
JycgUmVnaXN0ZXIgYSBsb29rdXAgcmVxdWVzdC4gJycnCisgICAgICAgIGlmIGJpbmFyeSA9PSAn
JzoKKyAgICAgICAgICAgIGxvZ2dpbmcud2FybignYWRkaW5nIGFkZHJlc3MgJXMgaW4gZW1wdHkg
YmluYXJ5PycgJSBhZGRyZXNzKQorICAgICAgICBpZiBiaW5hcnkgaW4gc2VsZi5fYmluYXJpZXM6
CisgICAgICAgICAgICBzZWxmLl9iaW5hcmllc1tiaW5hcnldLmFwcGVuZChhZGRyZXNzKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fYmluYXJpZXNbYmluYXJ5XSA9IFthZGRyZXNz
XQorICAgICAgICBzZWxmLl9hbGxfcmVzb2x2ZWQgPSBGYWxzZQorCisgICAgZGVmIFJlc29sdmVB
bGwoc2VsZik6CisgICAgICAgICcnJyBDYXJyeSBvdXQgYWxsIGxvb2t1cCByZXF1ZXN0cy4gJycn
CisgICAgICAgIHNlbGYuX3RyYW5zbGF0aW9uID0ge30KKyAgICAgICAgZm9yIGJpbmFyeSBpbiBz
ZWxmLl9iaW5hcmllcy5rZXlzKCk6CisgICAgICAgICAgICBpZiBiaW5hcnkgIT0gJycgYW5kIGJp
bmFyeSBpbiBzZWxmLl9sb2FkX2FkZHJlc3NlczoKKyAgICAgICAgICAgICAgICBsb2FkX2FkZHJl
c3MgPSBzZWxmLl9sb2FkX2FkZHJlc3Nlc1tiaW5hcnldCisgICAgICAgICAgICAgICAgYWRkciA9
IFJlc29sdmVBZGRyZXNzZXNXaXRoaW5BQmluYXJ5KAorICAgICAgICAgICAgICAgICAgICAgICAg
YmluYXJ5LCBsb2FkX2FkZHJlc3MsIHNlbGYuX2JpbmFyaWVzW2JpbmFyeV0pCisgICAgICAgICAg
ICAgICAgc2VsZi5fdHJhbnNsYXRpb25bYmluYXJ5XSA9IGFkZHIKKyAgICAgICAgc2VsZi5fYWxs
X3Jlc29sdmVkID0gVHJ1ZQorCisgICAgZGVmIEdldEZpbGVMaW5lKHNlbGYsIGJpbmFyeSwgYWRk
cik6CisgICAgICAgICcnJyBHZXQgdGhlIChmaWxlbmFtZSwgbGluZW51bSkgcmVzdWx0IG9mIGEg
cHJldmlvdXNseS1yZWdpc3RlcmVkCisgICAgICAgIGxvb2t1cCByZXF1ZXN0LgorICAgICAgICAn
JycKKyAgICAgICAgaWYgc2VsZi5fYWxsX3Jlc29sdmVkOgorICAgICAgICAgICAgaWYgYmluYXJ5
IGluIHNlbGYuX3RyYW5zbGF0aW9uOgorICAgICAgICAgICAgICAgIGlmIGFkZHIgaW4gc2VsZi5f
dHJhbnNsYXRpb25bYmluYXJ5XToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Ry
YW5zbGF0aW9uW2JpbmFyeV1bYWRkcl0KKyAgICAgICAgcmV0dXJuIChOb25lLCBOb25lKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9ndGsucHkKaW5kZXggNjNiOGViODlhNThiZjViZjg5ZjJmZmJlMGQ1
NGM1YTk4OTNkYjE1Yy4uYTRhNTI4ZGM5NzAzMzQ3MDlhNTQ3OWE0NTMyMDNjYTlkYzAxODMyNCAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CkBAIC0xLDQgKzEsNSBAQAogIyBDb3B5cmln
aHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0
IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwog
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMjgsMTIgKzI5LDEzIEBACiAKIGltcG9y
dCBvcwogaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCB1dWlkCiAKIGZyb20gd2Via2l0cHkubGF5
b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRlc3RDb25maWd1cmF0
aW9uCiBmcm9tIHdlYmtpdHB5LnBvcnQuYmFzZSBpbXBvcnQgUG9ydAogZnJvbSB3ZWJraXRweS5w
b3J0LnB1bHNlYXVkaW9fc2FuaXRpemVyIGltcG9ydCBQdWxzZUF1ZGlvU2FuaXRpemVyCiBmcm9t
IHdlYmtpdHB5LnBvcnQueHZmYmRyaXZlciBpbXBvcnQgWHZmYkRyaXZlcgotCitmcm9tIHdlYmtp
dHB5LnBvcnQuZ3RrX2xlYWtkZXRlY3RvciBpbXBvcnQgR3RrTGVha0RldGVjdG9yCiAKIGNsYXNz
IEd0a1BvcnQoUG9ydCk6CiAgICAgcG9ydF9uYW1lID0gImd0ayIKQEAgLTQyLDYgKzQ0LDE0IEBA
IGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgIHN1cGVyKEd0a1BvcnQsIHNlbGYpLl9faW5p
dF9fKCphcmdzLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5fcHVsc2VhdWRpb19zYW5pdGl6ZXIg
PSBQdWxzZUF1ZGlvU2FuaXRpemVyKCkKIAorICAgICAgICBzZWxmLl9sZWFrX2RldGVjdG9yID0g
R3RrTGVha0RldGVjdG9yKHNlbGYpCisgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3Mi
KToKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLmdldF9vcHRpb24oIndyYXBwZXIiKToKKyAgICAg
ICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd1c2UgLS13cmFwcGVyPVwidmFsZ3JpbmRcIiBm
b3IgbWVtb3J5IGxlYWsgZGV0ZWN0aW9uIG9uIEdUSycpCisgICAgICAgICAgICAjIER1bXBSZW5k
ZXJUcmVlIHNsb3dzIGRvd24gbm90aWNhYmx5IGlmIHdlIHJ1biBtb3JlIHRoYW4gYWJvdXQgMTAw
MCB0ZXN0cyBpbiBhIGJhdGNoCisgICAgICAgICAgICAjIHdpdGggTWFsbG9jU3RhY2tMb2dnaW5n
IGVuYWJsZWQuCisgICAgICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgiYmF0Y2hfc2l6
ZSIsIDEwMDApCisKICAgICBkZWYgd2Fybl9pZl9idWdfbWlzc2luZ19pbl90ZXN0X2V4cGVjdGF0
aW9ucyhzZWxmKToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmdldF9vcHRpb24oJ3dlYmtpdF90
ZXN0X3J1bm5lcicpCiAKQEAgLTUzLDkgKzYzLDE3IEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAK
ICAgICBkZWYgZGVmYXVsdF90aW1lb3V0X21zKHNlbGYpOgogICAgICAgICBpZiBzZWxmLmdldF9v
cHRpb24oJ2NvbmZpZ3VyYXRpb24nKSA9PSAnRGVidWcnOgotICAgICAgICAgICAgcmV0dXJuIDEy
ICogMTAwMAorICAgICAgICAgICAgcmV0dXJuIDEyMCAqIDEwMDAKKyAgICAgICAgZWxpZiBzZWxm
LmdldF9vcHRpb24oImxlYWtzIik6CisgICAgICAgICAgICByZXR1cm4gMTIwICogMTAwMAogICAg
ICAgICByZXR1cm4gNiAqIDEwMDAKIAorICAgIGRlZiBkcml2ZXJfc3RvcF90aW1lb3V0KHNlbGYp
OgorICAgICAgICAiIiIgUmV0dXJucyB0aGUgYW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyB0byB3
YWl0IGJlZm9yZSBraWxsaW5nIHRoZSBwcm9jZXNzIGluIGRyaXZlci5zdG9wKCkuIiIiCisgICAg
ICAgICMgV2Ugd2FudCB0byB3YWl0IGZvciBhdCBsZWFzdCAzIHNlY29uZHMsIGJ1dCBpZiB3ZSBh
cmUgcmVhbGx5IHNsb3csIHdlIHdhbnQgdG8gYmUgc2xvdyBvbiBjbGVhbnVwIGFzCisgICAgICAg
ICMgd2VsbCAoZm9yIHRoaW5ncyBsaWtlIEFTQU4sIFZhbGdyaW5kLCBldGMuKQorICAgICAgICBy
ZXR1cm4gMy4wICogc2VsZi5kZWZhdWx0X3RpbWVvdXRfbXMoKQorCiAgICAgZGVmIHNldHVwX3Rl
c3RfcnVuKHNlbGYpOgogICAgICAgICBzdXBlcihHdGtQb3J0LCBzZWxmKS5zZXR1cF90ZXN0X3J1
bigpCiAgICAgICAgIHNlbGYuX3B1bHNlYXVkaW9fc2FuaXRpemVyLnVubG9hZF9wdWxzZWF1ZGlv
X21vZHVsZSgpCkBAIC02OSwxNyArODcsNDIgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAg
ICAgZW52aXJvbm1lbnRbJ0dUS19NT0RVTEVTJ10gPSAnZ2FpbCcKICAgICAgICAgZW52aXJvbm1l
bnRbJ0dTRVRUSU5HU19CQUNLRU5EJ10gPSAnbWVtb3J5JwogICAgICAgICBlbnZpcm9ubWVudFsn
TElCT1ZFUkxBWV9TQ1JPTExCQVInXSA9ICcwJwotICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9S
VU5ORVJfSU5KRUNURURfQlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdMaWJy
YXJpZXMnLCAnbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLmxhJykKLSAgICAgICAgZW52aXJv
bm1lbnRbJ1RFU1RfUlVOTkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgo
J1Rlc3ROZXRzY2FwZVBsdWdpbicsICcubGlicycpCi0gICAgICAgIGVudmlyb25tZW50WydXRUJL
SVRfSU5TUEVDVE9SX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ1Byb2dyYW1zJywgJ3Jlc291
cmNlcycsICdpbnNwZWN0b3InKQotICAgICAgICBlbnZpcm9ubWVudFsnQVVESU9fUkVTT1VSQ0VT
X1BBVEgnXSA9IHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdTb3VyY2UnLCAnV2ViQ29yZScs
ICdwbGF0Zm9ybScsICdhdWRpbycsICdyZXNvdXJjZXMnKQotICAgICAgICBzZWxmLl9jb3B5X3Zh
bHVlX2Zyb21fZW52aXJvbl9pZl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfT1VUUFVURElSJykK
KyAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFN
RSddID0gc2VsZi5fYnVpbGRfcGF0aCgKKyAgICAgICAgICAgICdMaWJyYXJpZXMnLCAnbGliVGVz
dFJ1bm5lckluamVjdGVkQnVuZGxlLmxhJykKKyAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVO
TkVSX1RFU1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoCisgICAgICAgICAgICAn
VGVzdE5ldHNjYXBlUGx1Z2luJywgJy5saWJzJykKKyAgICAgICAgZW52aXJvbm1lbnRbJ1dFQktJ
VF9JTlNQRUNUT1JfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgKKyAgICAgICAgICAgICdQcm9n
cmFtcycsICdyZXNvdXJjZXMnLCAnaW5zcGVjdG9yJykKKyAgICAgICAgZW52aXJvbm1lbnRbJ0FV
RElPX1JFU09VUkNFU19QQVRIJ10gPSBzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgKKyAgICAg
ICAgICAgICdTb3VyY2UnLCAnV2ViQ29yZScsICdwbGF0Zm9ybScsICdhdWRpbycsICdyZXNvdXJj
ZXMnKQorICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oImxlYWtzIik6CisgICAgICAgICAgICBl
bnZpcm9ubWVudFsnR19TTElDRSddID0gJ2Fsd2F5cy1tYWxsb2MnCisgICAgICAgICAgICB4bWxm
aWxlID0gIiIuam9pbigoJ1wiJywgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpLCAiL2RydC0lcC0i
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV1aWQudXVpZDEoKS5oZXgsICItbGVh
a3MueG1sIiwgJ1wiJykpCisgICAgICAgICAgICBzdXBwcmVzc2lvbnNmaWxlID0gc2VsZi5wYXRo
X2Zyb21fd2Via2l0X2Jhc2UoCisgICAgICAgICAgICAgICAgJ1Rvb2xzJywgJ3ZhbGdyaW5kJywg
J21lbWNoZWNrJywgJ3N1cHByZXNzaW9ucy50eHQnKQorICAgICAgICAgICAgZW52aXJvbm1lbnRb
J1ZBTEdSSU5EX09QVFMnXSA9ICItLXRvb2w9bWVtY2hlY2sgIiBcCisgICAgICAgICAgICAgICAg
Ii0tbnVtLWNhbGxlcnM9NDAgLS1kZW1hbmdsZT1ubyAtLXRyYWNlLWNoaWxkcmVuPW5vICAiIFwK
KyAgICAgICAgICAgICAgICAiLS1zbWMtY2hlY2s9YWxsLW5vbi1maWxlIC0tbGVhay1jaGVjaz15
ZXMgIiBcCisgICAgICAgICAgICAgICAgIi0tbGVhay1yZXNvbHV0aW9uPWhpZ2ggLS1zaG93LXBv
c3NpYmx5LWxvc3Q9bm8gIiBcCisgICAgICAgICAgICAgICAgIi0tc2hvdy1yZWFjaGFibGU9bm8g
LS1sZWFrLWNoZWNrPWZ1bGwgIiBcCisgICAgICAgICAgICAgICAgIiAtLXVuZGVmLXZhbHVlLWVy
cm9ycz1ubyAiIFwKKyAgICAgICAgICAgICAgICAiLS1nZW4tc3VwcHJlc3Npb25zPWFsbCAtLXht
bD15ZXMgLS14bWwtZmlsZT0lcyAiIFwKKyAgICAgICAgICAgICAgICAiLS1zdXBwcmVzc2lvbnM9
JXMiICUgKHhtbGZpbGUsIHN1cHByZXNzaW9uc2ZpbGUpCisgICAgICAgICAgICAjIEZJWE1FOiBp
bnN0ZWFkIHdlIHNob3VsZCBiZSB1c2luZyAiamhidWlsZC13cmFwcGVyIC0tZ3RrIHJ1biIKKyAg
ICAgICAgICAgICMgdG8gZW5zdXJlIHdlIGdldCB0aGUgY29ycmVjdCBsaWJyYXJ5IHBhdGgKKyAg
ICAgICAgICAgIGVudmlyb25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSA9IHNlbGYucGF0aF9mcm9t
X3dlYmtpdF9iYXNlKAorICAgICAgICAgICAgICAgICdXZWJLaXRCdWlsZCcsICdEZXBlbmRlbmNp
ZXMnLCAnUm9vdCcsICdsaWI2NCcpCisgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZp
cm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVE9VVFBVVERJUicpCiAgICAgICAgIHJldHVy
biBlbnZpcm9ubWVudAogCiAgICAgZGVmIF9nZW5lcmF0ZV9hbGxfdGVzdF9jb25maWd1cmF0aW9u
cyhzZWxmKToKICAgICAgICAgY29uZmlndXJhdGlvbnMgPSBbXQogICAgICAgICBmb3IgYnVpbGRf
dHlwZSBpbiBzZWxmLkFMTF9CVUlMRF9UWVBFUzoKLSAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25z
LmFwcGVuZChUZXN0Q29uZmlndXJhdGlvbih2ZXJzaW9uPXNlbGYuX3ZlcnNpb24sIGFyY2hpdGVj
dHVyZT0neDg2JywgYnVpbGRfdHlwZT1idWlsZF90eXBlKSkKKyAgICAgICAgICAgIGNvbmZpZ3Vy
YXRpb25zLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBUZXN0Q29uZmlndXJhdGlvbih2ZXJzaW9u
PXNlbGYuX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJjaGl0
ZWN0dXJlPSd4ODYnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3R5
cGU9YnVpbGRfdHlwZSkpCiAgICAgICAgIHJldHVybiBjb25maWd1cmF0aW9ucwogCiAgICAgZGVm
IF9wYXRoX3RvX2RyaXZlcihzZWxmKToKQEAgLTExNyw2ICsxNjAsMjQgQEAgY2xhc3MgR3RrUG9y
dChQb3J0KToKICAgICBkZWYgX3BvcnRfc3BlY2lmaWNfZXhwZWN0YXRpb25zX2ZpbGVzKHNlbGYp
OgogICAgICAgICByZXR1cm4gW3NlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl93ZWJraXRfYmFz
ZWxpbmVfcGF0aChwKSwgJ1Rlc3RFeHBlY3RhdGlvbnMnKSBmb3IgcCBpbiByZXZlcnNlZChzZWxm
Ll9zZWFyY2hfcGF0aHMoKSldCiAKKyAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHByb2Nl
c3NfbmFtZSwgcHJvY2Vzc19waWQsIGlzX3J1bm5pbmcpOgorICAgICAgICAjIFdpdGggR3RrIHdl
IGluaXRpYXRlIG1lbW9yeSBjaGVja2luZyBieSBwYXNzaW5nIHZhbGdyaW5kIGFzIGEgd3JhcHBl
ciB0byB0aGUgdGVzdAorICAgICAgICBwYXNzCisKKyAgICBkZWYgcHJpbnRfbGVha3Nfc3VtbWFy
eShzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbignbGVha3MnKToKKyAgICAg
ICAgICAgIHJldHVybgorICAgICAgICAjIFdlJ3JlIGluIHRoZSBtYW5hZ2VyIHByb2Nlc3MsIHNv
IHRoZSBsZWFrIGRldGVjdG9yIHdpbGwgbm90IGhhdmUgYSB2YWxpZCBsaXN0IG9mIGxlYWsgZmls
ZXMuCisgICAgICAgICMgRklYTUU6IFRoaXMgaXMgYSBoYWNrLCBidXQgd2UgZG9uJ3QgaGF2ZSBh
IGJldHRlciB3YXkgdG8gZ2V0IHRoaXMgaW5mb3JtYXRpb24gZnJvbSB0aGUgd29ya2VycyB5ZXQu
CisgICAgICAgICMgRklYTUU6IFRoaXMgd2lsbCBpbmNsdWRlIHRvbyBtYW55IGxlYWtzIGluIHN1
YnNlcXVlbnQgcnVucyB1bnRpbCB0aGUgcmVzdWx0cyBkaXJlY3RvcnkgaXMgY2xlYXJlZCEKKyAg
ICAgICAgbGVha3NfZmlsZXMgPSBzZWxmLl9sZWFrX2RldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2Rp
cmVjdG9yeShzZWxmLnJlc3VsdHNfZGlyZWN0b3J5KCkpCisgICAgICAgIGlmIG5vdCBsZWFrc19m
aWxlczoKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLl9sZWFrX2RldGVjdG9yLnBh
cnNlX2xlYWtzX291dHB1dChsZWFrc19maWxlcykKKyAgICAgICAgI3RvdGFsX2xlYWtzID0gc2Vs
Zi5fbGVha19kZXRlY3Rvci5jb3VudF90b3RhbF9sZWFrcyhsZWFrc19maWxlcykKKyAgICAgICAg
I19sb2cuaW5mbygiJXMgdG90YWwgbGVha3MgZm91bmQgZm9yIGEgdG90YWwgb2YgJXMhIiAlICh0
b3RhbF9sZWFrcywgdG90YWxfYnl0ZXNfc3RyaW5nKSkKKyAgICAgICAgI19sb2cuaW5mbygiJXMg
dW5pcXVlIGxlYWtzIGZvdW5kISIgJSB1bmlxdWVfbGVha3MpCisKICAgICAjIEZJWE1FOiBXZSBz
aG91bGQgZmluZCBhIHdheSB0byBzaGFyZSB0aGlzIGltcGxtZW50YXRpb24gd2l0aCBHdGssCiAg
ICAgIyBvciB0ZWFjaCBydW4tbGF1bmNoZXIgaG93IHRvIGNhbGwgcnVuLXNhZmFyaSBhbmQgbW92
ZSB0aGlzIGRvd24gdG8gUG9ydC4KICAgICBkZWYgc2hvd19yZXN1bHRzX2h0bWxfZmlsZShzZWxm
LCByZXN1bHRzX2ZpbGVuYW1lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9ndGtfbGVha2RldGVjdG9yLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0
a19sZWFrZGV0ZWN0b3IucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGEwYWU2NmY4MmI3ZGM5NzgyNGUxMmJiNmVh
ZTljNGYwN2JjNTNjMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9ndGtfbGVha2RldGVjdG9yLnB5CkBAIC0wLDAgKzEsNTggQEAKKyMgQ29weXJpZ2h0IChD
KSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworaW1wb3J0IGxvZ2dpbmcKKworZnJvbSB3ZWJraXRweS5wb3J0Lm1lbWNo
ZWNrX2FuYWx5emUgaW1wb3J0IE1lbWNoZWNrQW5hbHl6ZXIKKworX2xvZyA9IGxvZ2dpbmcuZ2V0
TG9nZ2VyKF9fbmFtZV9fKQorCisKKyMgSWYgb3RoZXIgcG9ydHMvcGxhdGZvcm1zIGRlY2lkZSB0
byBzdXBwb3J0IC0tbGVha3MsIHdlIHNob3VsZCBzZWUgYWJvdXQKKyMgc2hhcmluZyBhcyBtdWNo
IG9mIHRoaXMgY29kZSBhcyBwb3NzaWJsZS4KKyMgVGhpcyBjb2RlIGlzIGZvciB0aGUgR3RrKyBw
b3J0LCB0YWtlbiBmcm9tIHRoZSBNYWMgcG9ydC4KKworY2xhc3MgR3RrTGVha0RldGVjdG9yKG9i
amVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnQpOgorICAgICAgICAjIFdlIHNob3Vs
ZCBvcGVyYXRlIG9uIGEgInBsYXRmb3JtIiBub3QgYSBwb3J0IGhlcmUuCisgICAgICAgIHNlbGYu
X3BvcnQgPSBwb3J0CisgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IHBvcnQuX2V4ZWN1dGl2ZQor
ICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gcG9ydC5fZmlsZXN5c3RlbQorICAgICAgICBzZWxm
Ll9tZW1jaGVja19sZWFrX2FuYWx5emVyID0gTWVtY2hlY2tBbmFseXplcihwb3J0LndlYmtpdF9i
YXNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVzZV9nZGI9RmFsc2UpCisKKyAgICBkZWYgcGFyc2VfbGVha3Nfb3V0cHV0KHNlbGYs
IGxlYWtzX2ZpbGVzKToKKyAgICAgICAgc2VsZi5fbWVtY2hlY2tfbGVha19hbmFseXplci5SZXBv
cnQobGVha3NfZmlsZXMsICBOb25lKQorICAgICAgICAjcmV0dXJuIGludChjb3VudCksIGludChl
eGNsdWRlZCksIGludChieXRlcykKKworICAgIGRlZiBsZWFrc19maWxlc19pbl9kaXJlY3Rvcnko
c2VsZiwgZGlyZWN0b3J5KToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZ2xvYihz
ZWxmLl9maWxlc3lzdGVtLmpvaW4oZGlyZWN0b3J5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKi1sZWFrcy54bWwiKSkKKworICAg
IGRlZiBsZWFrc19maWxlX25hbWUoc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6Cisg
ICAgICAgIHJldHVybiAiZHJ0LSVzLWxlYWtzLnhtbCIgJSAocHJvY2Vzc19waWQpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFjLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L21hYy5weQppbmRleCAwYjI0Y2U3MGVjZTdmMWY2YjQ0NmY3ODk4ODRlYzdl
MDRiMTViNzMzLi5mYTE2MDRkNmVmMTFlM2JlMzA3MGI0ZTY4Yzc3YWY2NGRlZTM2MjZjIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFjLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKQEAgLTE0Nyw4ICsxNDcsOSBAQCBjbGFzcyBNYWNQ
b3J0KEFwcGxlUG9ydCk6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgcmV0dXJu
IFRydWUKIAotICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9j
ZXNzX3BpZCk6Ci0gICAgICAgIGlmIG5vdCBzZWxmLmdldF9vcHRpb24oJ2xlYWtzJyk6CisgICAg
ZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBpc19y
dW5uaW5nKToKKyAgICAgICAgIyBPbmx5IGJvdGhlciB0byBjaGVjayBmb3IgbGVha3Mgb3Igc3Rk
ZXJyIGlmIHRoZSBwcm9jZXNzIGlzIHN0aWxsIHJ1bm5pbmcuCisgICAgICAgIGlmIG5vdCBzZWxm
LmdldF9vcHRpb24oJ2xlYWtzJykgb3Igbm90IGlzX3J1bm5pbmc6CiAgICAgICAgICAgICByZXR1
cm4KICAgICAgICAgIyBXZSBjb3VsZCB1c2UgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3BzdXRp
bC8gdG8gZ2V0IHRoZSBwcm9jZXNzX25hbWUgZnJvbSB0aGUgcGlkLgogICAgICAgICBzZWxmLl9s
ZWFrX2RldGVjdG9yLmNoZWNrX2Zvcl9sZWFrcyhwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWVtY2hlY2tfYW5hbHl6ZS5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MmU1NGQ2MzEzYjBkODAxYjZhMTBiMmIxNDk4ZGQwMDkwOGIzNmFjCi0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUu
cHkKQEAgLTAsMCArMSw2ODQgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBPcmlnaW5hbGx5
IGZyb20gQ2hyb21pdW0sIGNvcHlyaWdodCBhcyBmb2xsb3dzOgorIworIyBDb3B5cmlnaHQgKGMp
IDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisKKyMgbWVtY2hlY2tfYW5hbHl6ZS5weQorCisnJycgR2l2ZW4gYSB2YWxn
cmluZCBYTUwgZmlsZSwgcGFyc2VzIGVycm9ycyBhbmQgdW5pcXVlcyB0aGVtLicnJworCitpbXBv
cnQgZ2RiX2hlbHBlcgorCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdAoraW1w
b3J0IGhhc2hsaWIKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcwor
aW1wb3J0IHJlCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworaW1wb3J0IHRpbWUKK2Zy
b20geG1sLmRvbS5taW5pZG9tIGltcG9ydCBwYXJzZQorZnJvbSB4bWwucGFyc2Vycy5leHBhdCBp
bXBvcnQgRXhwYXRFcnJvcgorCitpbXBvcnQgY29tbW9uCisKKyMgR2xvYmFsIHN5bWJvbCB0YWJs
ZSAoeXVjaykKK1RoZUFkZHJlc3NUYWJsZSA9IE5vbmUKKworIyBUaGVzZSBhcmUgcmVnZXhwcyB0
aGF0IGRlZmluZSBmdW5jdGlvbnMgKHVzaW5nIEMrKyBtYW5nbGVkIG5hbWVzKQorIyB3ZSBkb24n
dCB3YW50IHRvIHNlZSBpbiBzdGFjayB0cmFjZXMgd2hpbGUgcHJldHR5IHByaW50aW5nCisjIG9y
IGdlbmVyYXRpbmcgc3VwcHJlc3Npb25zLgorIyBKdXN0IHN0b3AgcHJpbnRpbmcgdGhlIHN0YWNr
L3N1cHByZXNzaW9uIGZyYW1lcyB3aGVuIHRoZSBjdXJyZW50IG9uZQorIyBtYXRjaGVzIGFueSBv
ZiB0aGVzZS4KK19CT1JJTkdfQ0FMTEVSUyA9IGNvbW1vbi5Cb3JpbmdDYWxsZXJzKG1hbmdsZWQ9
VHJ1ZSwgdXNlX3JlX3dpbGRjYXJkcz1UcnVlKQorCisKK2RlZiBnZXRUZXh0T2YodG9wX25vZGUs
IG5hbWUpOgorICAgICcnJyBSZXR1cm5zIGFsbCB0ZXh0IGluIGFsbCBET00gbm9kZXMgd2l0aCBh
IGNlcnRhaW4gfG5hbWV8IHRoYXQgYXJlCisgICAgY2hpbGRyZW4gb2YgfHRvcF9ub2RlfC4KKyAg
ICAnJycKKworICAgIHRleHQgPSAiIgorICAgIGZvciBub2Rlc19uYW1lZCBpbiB0b3Bfbm9kZS5n
ZXRFbGVtZW50c0J5VGFnTmFtZShuYW1lKToKKyAgICAgICAgdGV4dCArPSAiIi5qb2luKFtub2Rl
LmRhdGEgZm9yIG5vZGUgaW4gbm9kZXNfbmFtZWQuY2hpbGROb2RlcworICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIG5vZGUubm9kZVR5cGUgPT0gbm9kZS5URVhUX05PREVdKQorICAgIHJldHVy
biB0ZXh0CisKKworZGVmIGdldENEQVRBT2YodG9wX25vZGUsIG5hbWUpOgorICAgICcnJyBSZXR1
cm5zIGFsbCBDREFUQSBpbiBhbGwgRE9NIG5vZGVzIHdpdGggYSBjZXJ0YWluIHxuYW1lfCB0aGF0
IGFyZQorICAgIGNoaWxkcmVuIG9mIHx0b3Bfbm9kZXwuCisgICAgJycnCisKKyAgICB0ZXh0ID0g
IiIKKyAgICBmb3Igbm9kZXNfbmFtZWQgaW4gdG9wX25vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
bmFtZSk6CisgICAgICAgIHRleHQgKz0gIiIuam9pbihbbm9kZS5kYXRhIGZvciBub2RlIGluIG5v
ZGVzX25hbWVkLmNoaWxkTm9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub2RlLm5v
ZGVUeXBlID09IG5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFXSkKKyAgICBpZiAodGV4dCA9PSAiIik6
CisgICAgICAgIHJldHVybiBOb25lCisgICAgcmV0dXJuIHRleHQKKworCitkZWYgc2hvcnRlbkZp
bGVQYXRoKHNvdXJjZV9kaXIsIGRpcmVjdG9yeSk6CisgICAgJycnUmV0dXJucyBhIHN0cmluZyB3
aXRoIHRoZSBzdHJpbmcgcHJlZml4IHxzb3VyY2VfZGlyfCByZW1vdmVkIGZyb20KKyAgICB8ZGly
ZWN0b3J5fC4nJycKKyAgICBwcmVmaXhlc190b19jdXQgPSBbImJ1aWxkL3NyYy8iLCAidmFsZ3Jp
bmQvY29yZWdyaW5kLyJdCisKKyAgICBpZiBzb3VyY2VfZGlyOgorICAgICAgICBwcmVmaXhlc190
b19jdXQuYXBwZW5kKHNvdXJjZV9kaXIpCisKKyAgICBmb3IgcCBpbiBwcmVmaXhlc190b19jdXQ6
CisgICAgICAgIGluZGV4ID0gZGlyZWN0b3J5LnJmaW5kKHApCisgICAgICAgIGlmIGluZGV4ICE9
IC0xOgorICAgICAgICAgICAgZGlyZWN0b3J5ID0gZGlyZWN0b3J5W2luZGV4ICsgbGVuKHApOl0K
KworICAgIHJldHVybiBkaXJlY3RvcnkKKworIyBDb25zdGFudHMgdGhhdCBnaXZlIHJlYWwgbmFt
ZXMgdG8gdGhlIGFiYnJldmlhdGlvbnMgaW4gdmFsZ3JpbmQgWE1MIG91dHB1dC4KK0lOU1RSVUNU
SU9OX1BPSU5URVIgPSAiaXAiCitPQkpFQ1RfRklMRSA9ICJvYmoiCitGVU5DVElPTl9OQU1FID0g
ImZuIgorU1JDX0ZJTEVfRElSID0gImRpciIKK1NSQ19GSUxFX05BTUUgPSAiZmlsZSIKK1NSQ19M
SU5FID0gImxpbmUiCisKKworZGVmIGdhdGhlckZyYW1lcyhub2RlLCBzb3VyY2VfZGlyKToKKyAg
ICBmcmFtZXMgPSBbXQorICAgIGZvciBmcmFtZSBpbiBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJmcmFtZSIpOgorICAgICAgICBmcmFtZV9kaWN0ID0geworICAgICAgICAgICAgSU5TVFJVQ1RJ
T05fUE9JTlRFUjogZ2V0VGV4dE9mKGZyYW1lLCBJTlNUUlVDVElPTl9QT0lOVEVSKSwKKyAgICAg
ICAgICAgIE9CSkVDVF9GSUxFOiBnZXRUZXh0T2YoZnJhbWUsIE9CSkVDVF9GSUxFKSwKKyAgICAg
ICAgICAgIEZVTkNUSU9OX05BTUU6IGdldFRleHRPZihmcmFtZSwgRlVOQ1RJT05fTkFNRSksCisg
ICAgICAgICAgICBTUkNfRklMRV9ESVI6IHNob3J0ZW5GaWxlUGF0aCgKKyAgICAgICAgICAgICAg
ICAgICAgc291cmNlX2RpciwgZ2V0VGV4dE9mKGZyYW1lLCBTUkNfRklMRV9ESVIpKSwKKyAgICAg
ICAgICAgIFNSQ19GSUxFX05BTUU6IGdldFRleHRPZihmcmFtZSwgU1JDX0ZJTEVfTkFNRSksCisg
ICAgICAgICAgICBTUkNfTElORTogZ2V0VGV4dE9mKGZyYW1lLCBTUkNfTElORSl9CisKKyAgICAg
ICAgIyBJZ25vcmUgdGhpcyBmcmFtZSBhbmQgYWxsIHRoZSBmb2xsb3dpbmcgaWYgaXQncyBhICJi
b3JpbmciIGZ1bmN0aW9uLgorICAgICAgICBlbm91Z2hfZnJhbWVzID0gRmFsc2UKKyAgICAgICAg
Zm9yIHJlZ2V4cCBpbiBfQk9SSU5HX0NBTExFUlM6CisgICAgICAgICAgICBpZiByZS5tYXRjaCgi
XiVzJCIgJSByZWdleHAsIGZyYW1lX2RpY3RbRlVOQ1RJT05fTkFNRV0pOgorICAgICAgICAgICAg
ICAgIGVub3VnaF9mcmFtZXMgPSBUcnVlCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAg
aWYgZW5vdWdoX2ZyYW1lczoKKyAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgZnJhbWVzICs9
IFtmcmFtZV9kaWN0XQorCisgICAgICAgIGdsb2JhbCBUaGVBZGRyZXNzVGFibGUKKyAgICAgICAg
aWYgVGhlQWRkcmVzc1RhYmxlICE9IE5vbmUgYW5kIGZyYW1lX2RpY3RbU1JDX0xJTkVdID09ICIi
OgorICAgICAgICAgICAgIyBUcnkgdXNpbmcgZ2RiCisgICAgICAgICAgICBUaGVBZGRyZXNzVGFi
bGUuQWRkKGZyYW1lX2RpY3RbT0JKRUNUX0ZJTEVdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmcmFtZV9kaWN0W0lOU1RSVUNUSU9OX1BPSU5URVJdKQorICAgIHJldHVybiBmcmFt
ZXMKKworCitjbGFzcyBWYWxncmluZEVycm9yOgorICAgICcnJyBUYWtlcyBhIDxET00gRWxlbWVu
dDogZXJyb3I+IG5vZGUgYW5kIHJlYWRzIGFsbCB0aGUgZGF0YSBmcm9tIGl0LiBBCisgICAgVmFs
Z3JpbmRFcnJvciBpcyBpbW11dGFibGUgYW5kIGlzIGhhc2hlZCBvbiBpdHMgcHJldHR5IHByaW50
ZWQgb3V0cHV0LgorICAgICcnJworCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZV9kaXIs
IGVycm9yX25vZGUsIGNvbW1hbmRsaW5lLCB0ZXN0Y2FzZSk6CisgICAgICAgICcnJyBDb3BpZXMg
YWxsIHRoZSByZWxldmFudCBpbmZvcm1hdGlvbiBvdXQgb2YgdGhlIERPTSBhbmQgaW50byBvYmpl
Y3QKKyAgICAgICAgcHJvcGVydGllcy4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgZXJy
b3Jfbm9kZTogVGhlIDxlcnJvcj48L2Vycm9yPiBET00gbm9kZSB3ZSdyZSBleHRyYWN0aW5nIGZy
b20uCisgICAgICAgICAgICBzb3VyY2VfZGlyOiBQcmVmaXggdGhhdCBzaG91bGQgYmUgc3RyaXBw
ZWQgZnJvbSB0aGUgPGRpcj4gbm9kZS4KKyAgICAgICAgICAgIGNvbW1hbmRsaW5lOiBUaGUgY29t
bWFuZCB0aGF0IHdhcyBydW4gdW5kZXIgdmFsZ3JpbmQKKyAgICAgICAgICAgIHRlc3RjYXNlOiBU
aGUgdGVzdCBjYXNlIG5hbWUsIGlmIGtub3duLgorICAgICAgICAnJycKKworICAgICAgICAjIFZh
bGdyaW5kIGVycm9ycyBjb250YWluIG9uZSA8d2hhdD48c3RhY2s+IHBhaXIsIHBsdXMgYW4gb3B0
aW9uYWwKKyAgICAgICAgIyA8YXV4d2hhdD48c3RhY2s+IHBhaXIsIHBsdXMgYW4gb3B0aW9uYWwg
PG9yaWdpbj48d2hhdD48c3RhY2s+PC9vcmlnaW4+LAorICAgICAgICAjIHBsdXMgKHNpbmNlIDMu
NS4wKSBhIDxzdXBwcmVzc2lvbj48L3N1cHByZXNzaW9uPiBwYWlyLgorICAgICAgICAjIChPcmln
aW4gaXMgbmljZWx5IGVuY2xvc2VkOyB0b28gYmFkIHRoZSBvdGhlciB0d28gYXJlbid0LikKKyAg
ICAgICAgIyBUaGUgbW9zdCBjb21tb24gd2F5IHRvIHNlZSBhbGwgdGhyZWUgaW4gb25lIHJlcG9y
dCBpcworICAgICAgICAjIGEgc3lzY2FsbCB3aXRoIGEgcGFyYW1ldGVyIHRoYXQgcG9pbnRzIHRv
IHVuaW5pdGlhbGl6ZWQgbWVtb3J5LCBlLmcuCisgICAgICAgICMgRm9ybWF0OgorICAgICAgICAj
IDxlcnJvcj4KKyAgICAgICAgIyAgICAgPHVuaXF1ZT4weDZkPC91bmlxdWU+CisgICAgICAgICMg
ICAgIDx0aWQ+MTwvdGlkPgorICAgICAgICAjICAgICA8a2luZD5TeXNjYWxsUGFyYW08L2tpbmQ+
CisgICAgICAgICMgICAgIDx3aGF0PlN5c2NhbGwgcGFyYW0gd3JpdGUoYnVmKSBwb2ludHMgdG8g
dW5pbml0aWFsaXNlZCBieXRlKHMpPC93aGF0PgorICAgICAgICAjICAgICA8c3RhY2s+CisgICAg
ICAgICMgICAgICAgICA8ZnJhbWU+CisgICAgICAgICMgICAgICAgICAuLi4KKyAgICAgICAgIyAg
ICAgICAgIDwvZnJhbWU+CisgICAgICAgICMgICAgIDwvc3RhY2s+CisgICAgICAgICMgICAgIDxh
dXh3aGF0PkFkZHJlc3MgMHg1YzlhZjRmIGlzIDcgYnl0ZXMgaW5zaWRlIGEgYmxvY2sgb2YgLi4u
PC9hdXh3aGF0PgorICAgICAgICAjICAgICA8c3RhY2s+CisgICAgICAgICMgICAgICAgICA8ZnJh
bWU+CisgICAgICAgICMgICAgICAgICAuLi4KKyAgICAgICAgIyAgICAgICAgIDwvZnJhbWU+Cisg
ICAgICAgICMgICAgIDwvc3RhY2s+CisgICAgICAgICMgICAgIDxvcmlnaW4+CisgICAgICAgICMg
ICAgIDx3aGF0PlVuaW5pdGlhbGlzZWQgdmFsdWUgd2FzIGNyZWF0ZWQgYnkgYSBoZWFwIGFsbG9j
YXRpb248L3doYXQ+CisgICAgICAgICMgICAgIDxzdGFjaz4KKyAgICAgICAgIyAgICAgICAgIDxm
cmFtZT4KKyAgICAgICAgIyAgICAgICAgIC4uLgorICAgICAgICAjICAgICAgICAgPC9mcmFtZT4K
KyAgICAgICAgIyAgICAgPC9zdGFjaz4KKyAgICAgICAgIyAgICAgPC9vcmlnaW4+CisgICAgICAg
ICMgICAgIDxzdXBwcmVzc2lvbj4KKyAgICAgICAgIyAgICAgICAgIDxzbmFtZT5pbnNlcnRfYV9z
dXBwcmVzc2lvbl9uYW1lX2hlcmU8L3NuYW1lPgorICAgICAgICAjICAgICAgICAgPHNraW5kPk1l
bWNoZWNrOlBhcmFtPC9za2luZD4KKyAgICAgICAgIyAgICAgICAgIDxza2F1eD53cml0ZShidWYp
PC9za2F1eD4KKyAgICAgICAgIyAgICAgICAgIDxzZnJhbWU+IDxmdW4+X193cml0ZV9ub2NhbmNl
bDwvZnVuPiA8L3NmcmFtZT4KKyAgICAgICAgIyAgICAgICAgIC4uLgorICAgICAgICAjICAgICAg
ICAgPHNmcmFtZT4gPGZ1bj5tYWluPC9mdW4+IDwvc2ZyYW1lPgorICAgICAgICAjICAgICAgICAg
PHJhd3RleHQ+CisgICAgICAgICMgPCFbQ0RBVEFbCisgICAgICAgICMgeworICAgICAgICAjICAg
ICAgICA8aW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9oZXJlPgorICAgICAgICAjICAgICAgICBN
ZW1jaGVjazpQYXJhbQorICAgICAgICAjICAgICAgICB3cml0ZShidWYpCisgICAgICAgICMgICAg
ICAgIGZ1bjpfX3dyaXRlX25vY2FuY2VsCisgICAgICAgICMgICAgICAgIC4uLgorICAgICAgICAj
ICAgICAgICBmdW46bWFpbgorICAgICAgICAjIH0KKyAgICAgICAgIyBdXT4KKyAgICAgICAgIyAg
ICAgICAgIDwvcmF3dGV4dD4KKyAgICAgICAgIyAgICAgPC9zdXBwcmVzc2lvbj4KKyAgICAgICAg
IyA8L2Vycm9yPgorICAgICAgICAjCisgICAgICAgICMgRWFjaCBmcmFtZSBsb29rcyBsaWtlIHRo
aXM6CisgICAgICAgICMgICAgPGZyYW1lPgorICAgICAgICAjICAgICAgICA8aXA+MHg4Mzc1MUJD
PC9pcD4KKyAgICAgICAgIyAgICAgICAgPG9iaj4vZGF0YS9ka2VnZWwvY2hyb21lLWJ1aWxkL3Ny
Yy9vdXQvUmVsZWFzZS9iYXNlX3VuaXR0ZXN0czwvb2JqPgorICAgICAgICAjICAgICAgICA8Zm4+
X1pON3Rlc3Rpbmc4aW50ZXJuYWwxMlRlc3RJbmZvSW1wbDdSdW5UZXN0RVBOU184VGVzdEluZm9F
PC9mbj4KKyAgICAgICAgIyAgICAgICAgPGRpcj4vZGF0YS9ka2VnZWwvY2hyb21lLWJ1aWxkL3Ny
Yy90ZXN0aW5nL2d0ZXN0L3NyYzwvZGlyPgorICAgICAgICAjICAgICAgICA8ZmlsZT5ndGVzdC1p
bnRlcm5hbC1pbmwuaDwvZmlsZT4KKyAgICAgICAgIyAgICAgICAgPGxpbmU+NjU1PC9saW5lPgor
ICAgICAgICAjICAgIDwvZnJhbWU+CisgICAgICAgICMgYWx0aG91Z2ggdGhlIGRpciwgZmlsZSwg
YW5kIGxpbmUgZWxlbWVudHMgYXJlIG1pc3NpbmcgaWYgdGhlcmUgaXMKKyAgICAgICAgIyBubyBk
ZWJ1ZyBpbmZvLgorCisgICAgICAgIHNlbGYuX2tpbmQgPSBnZXRUZXh0T2YoZXJyb3Jfbm9kZSwg
ImtpbmQiKQorICAgICAgICBzZWxmLl9iYWNrdHJhY2VzID0gW10KKyAgICAgICAgc2VsZi5fc3Vw
cHJlc3Npb24gPSBOb25lCisgICAgICAgIHNlbGYuX2NvbW1hbmRsaW5lID0gY29tbWFuZGxpbmUK
KyAgICAgICAgc2VsZi5fdGVzdGNhc2UgPSB0ZXN0Y2FzZQorICAgICAgICBzZWxmLl9hZGRpdGlv
bmFsID0gW10KKworICAgICAgICAjIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbm9kZXMsIHBhcnNpbmcg
PHdoYXR8YXV4d2hhdD48c3RhY2s+IHBhaXJzLgorICAgICAgICBkZXNjcmlwdGlvbiA9IE5vbmUK
KyAgICAgICAgZm9yIG5vZGUgaW4gZXJyb3Jfbm9kZS5jaGlsZE5vZGVzOgorICAgICAgICAgICAg
aWYgbm9kZS5sb2NhbE5hbWUgPT0gIndoYXQiIG9yIG5vZGUubG9jYWxOYW1lID09ICJhdXh3aGF0
IjoKKyAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA9ICIiLmpvaW4oW24uZGF0YSBmb3IgbiBp
biBub2RlLmNoaWxkTm9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmIG4ubm9kZVR5cGUgPT0gbi5URVhUX05PREVdKQorICAgICAgICAgICAgZWxpZiBub2RlLmxv
Y2FsTmFtZSA9PSAieHdoYXQiOgorICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gZ2V0VGV4
dE9mKG5vZGUsICJ0ZXh0IikKKyAgICAgICAgICAgIGVsaWYgbm9kZS5sb2NhbE5hbWUgPT0gInN0
YWNrIjoKKyAgICAgICAgICAgICAgICBhc3NlcnQgZGVzY3JpcHRpb24KKyAgICAgICAgICAgICAg
ICBzZWxmLl9iYWNrdHJhY2VzLmFwcGVuZChbZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdhdGhlckZyYW1lcyhub2RlLCBzb3VyY2VfZGlyKV0p
CisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gPSBOb25lCisgICAgICAgICAgICBlbGlmIG5v
ZGUubG9jYWxOYW1lID09ICJvcmlnaW4iOgorICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uID0g
Z2V0VGV4dE9mKG5vZGUsICJ3aGF0IikKKyAgICAgICAgICAgICAgICBzdGFjayA9IG5vZGUuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoInN0YWNrIilbMF0KKyAgICAgICAgICAgICAgICBmcmFtZXMgPSBn
YXRoZXJGcmFtZXMoc3RhY2ssIHNvdXJjZV9kaXIpCisgICAgICAgICAgICAgICAgc2VsZi5fYmFj
a3RyYWNlcy5hcHBlbmQoW2Rlc2NyaXB0aW9uLCBmcmFtZXNdKQorICAgICAgICAgICAgICAgIGRl
c2NyaXB0aW9uID0gTm9uZQorICAgICAgICAgICAgICAgIHN0YWNrID0gTm9uZQorICAgICAgICAg
ICAgICAgIGZyYW1lcyA9IE5vbmUKKyAgICAgICAgICAgIGVsaWYgZGVzY3JpcHRpb24gYW5kIG5v
ZGUubG9jYWxOYW1lICE9IE5vbmU6CisgICAgICAgICAgICAgICAgIyBUaGUgbGFzdGVzdCBkZXNj
cmlwdGlvbiBoYXMgbm8gc3RhY2ssCisgICAgICAgICAgICAgICAgIyBlLmcuICJBZGRyZXNzIDB4
MjggaXMgdW5rbm93biIKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRpdGlvbmFsLmFwcGVuZChk
ZXNjcmlwdGlvbikKKyAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA9IE5vbmUKKworICAgICAg
ICAgICAgaWYgbm9kZS5sb2NhbE5hbWUgPT0gInN1cHByZXNzaW9uIjoKKyAgICAgICAgICAgICAg
ICBzZWxmLl9zdXBwcmVzc2lvbiA9IGdldENEQVRBT2Yobm9kZSwgInJhd3RleHQiKQorCisgICAg
ZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgICcnJyBQcmV0dHkgcHJpbnQgdGhlIHR5cGUgYW5k
IGJhY2t0cmFjZShzKSBvZiB0aGlzIHNwZWNpZmljIGVycm9yLAorICAgICAgICAgICAgICAgIGlu
Y2x1ZGluZyBzdXBwcmVzc2lvbiAod2hpY2ggaXMganVzdCBhIG1hbmdsZWQgYmFja3RyYWNlKS4n
JycKKyAgICAgICAgb3V0cHV0ID0gIiIKKyAgICAgICAgaWYgKHNlbGYuX2NvbW1hbmRsaW5lKToK
KyAgICAgICAgICAgIG91dHB1dCArPSBzZWxmLl9jb21tYW5kbGluZSArICJcbiIKKworICAgICAg
ICBvdXRwdXQgKz0gc2VsZi5fa2luZCArICJcbiIKKyAgICAgICAgZm9yIGJhY2t0cmFjZSBpbiBz
ZWxmLl9iYWNrdHJhY2VzOgorICAgICAgICAgICAgb3V0cHV0ICs9IGJhY2t0cmFjZVswXSArICJc
biIKKyAgICAgICAgICAgIGZpbHRlciA9IHN1YnByb2Nlc3MuUG9wZW4oImMrK2ZpbHQgLW4iLCBz
dGRpbj1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5T
VERPVVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2hlbGw9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV9mZHM9VHJ1ZSkKKyAgICAgICAgICAgIGJ1ZiA9ICIiCisgICAgICAg
ICAgICBmb3IgZnJhbWUgaW4gYmFja3RyYWNlWzFdOgorICAgICAgICAgICAgICAgIGJ1ZiArPSAo
ZnJhbWVbRlVOQ1RJT05fTkFNRV0gb3IgXAorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVb
SU5TVFJVQ1RJT05fUE9JTlRFUl0pICsgIlxuIgorICAgICAgICAgICAgKHN0ZG91dGJ1Ziwgc3Rk
ZXJyYnVmKSA9IGZpbHRlci5jb21tdW5pY2F0ZShidWYuZW5jb2RlKCdsYXRpbi0xJykpCisgICAg
ICAgICAgICBkZW1hbmdsZWRfbmFtZXMgPSBzdGRvdXRidWYuc3BsaXQoIlxuIikKKworICAgICAg
ICAgICAgaSA9IDAKKyAgICAgICAgICAgIGZvciBmcmFtZSBpbiBiYWNrdHJhY2VbMV06CisgICAg
ICAgICAgICAgICAgb3V0cHV0ICs9ICgiICAgICIgKyBkZW1hbmdsZWRfbmFtZXNbaV0pCisgICAg
ICAgICAgICAgICAgaSA9IGkgKyAxCisKKyAgICAgICAgICAgICAgICBnbG9iYWwgVGhlQWRkcmVz
c1RhYmxlCisgICAgICAgICAgICAgICAgaWYgVGhlQWRkcmVzc1RhYmxlICE9IE5vbmUgYW5kIGZy
YW1lW1NSQ19GSUxFX0RJUl0gPT0gIiI6CisgICAgICAgICAgICAgICAgICAgICMgVHJ5IHVzaW5n
IGdkYgorICAgICAgICAgICAgICAgICAgICBmb28gPSBUaGVBZGRyZXNzVGFibGUuR2V0RmlsZUxp
bmUoCisgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVtPQkpFQ1RfRklMRV0sCisgICAgICAg
ICAgICAgICAgICAgICAgICBmcmFtZVtJTlNUUlVDVElPTl9QT0lOVEVSXSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgZm9vWzBdICE9IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBvdXRw
dXQgKz0gKCIgKCIgKyBmb29bMF0gKyAiOiIgKyBmb29bMV0gKyAiKSIpCisgICAgICAgICAgICAg
ICAgZWxpZiBmcmFtZVtTUkNfRklMRV9ESVJdICE9ICIiOgorICAgICAgICAgICAgICAgICAgICBv
dXRwdXQgKz0gKCIgKCIgKyBmcmFtZVtTUkNfRklMRV9ESVJdICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiLyIgKyBmcmFtZVtTUkNfRklMRV9OQU1FXSArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIjoiICsgZnJhbWVbU1JDX0xJTkVdICsgIikiKQorICAgICAgICAg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIG91dHB1dCArPSAiICgiICsgZnJhbWVb
T0JKRUNUX0ZJTEVdICsgIikiCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICJcbiIKKworICAg
ICAgICBmb3IgYWRkaXRpb25hbCBpbiBzZWxmLl9hZGRpdGlvbmFsOgorICAgICAgICAgICAgb3V0
cHV0ICs9IGFkZGl0aW9uYWwgKyAiXG4iCisKKyAgICAgICAgYXNzZXJ0IHNlbGYuX3N1cHByZXNz
aW9uICE9IE5vbmUsICJZb3VyIFZhbGdyaW5kIGRvZXNuJ3QgZ2VuZXJhdGUgIiBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1cHByZXNzaW9ucyAtIGlzIGl0
IHRvbyBvbGQ/IgorCisgICAgICAgIGlmIHNlbGYuX3Rlc3RjYXNlOgorICAgICAgICAgICAgb3V0
cHV0ICs9ICJUaGUgcmVwb3J0IGNhbWUgZnJvbSB0aGUgYCVzYCB0ZXN0LlxuIiAlIHNlbGYuX3Rl
c3RjYXNlCisgICAgICAgIG91dHB1dCArPSAiU3VwcHJlc3Npb24gKGVycm9yIGhhc2g9IyUwMTZY
Iyk6XG4iICUgc2VsZi5FcnJvckhhc2goKQorICAgICAgICBvdXRwdXQgKz0gKCIgIEZvciBtb3Jl
IGluZm8gb24gdXNpbmcgc3VwcHJlc3Npb25zIHNlZSAiCisgICAgICAgICAgICAgICAgICAgICAg
Imh0dHA6Ly9kZXYuY2hyb21pdW0ub3JnL2RldmVsb3BlcnMvdHJlZS1zaGVyaWZmcy8iCisgICAg
ICAgICAgICAgICAgICAgICAgInNoZXJpZmYtZGV0YWlscy1jaHJvbWl1bS9tZW1vcnktc2hlcmlm
ZiMiCisgICAgICAgICAgICAgICAgICAgICAgIlRPQy1TdXBwcmVzc2luZy1tZW1vcnktcmVwb3J0
cyIpCisKKyAgICAgICAgIyBXaWRlbiBzdXBwcmVzc2lvbiBzbGlnaHRseSB0byBtYWtlIHBvcnRh
YmxlIGJldHdlZW4gbWFjIGFuZCBsaW51eAorICAgICAgICAjIFRPRE8odGltdXJycnIpOiBPb3Bz
LCB0aGVzZSB0cmFuc2Zvcm1hdGlvbnMgc2hvdWxkIGhhcHBlbgorICAgICAgICAjIEJFRk9SRSBj
YWxjdWxhdGluZyB0aGUgaGFzaCEKKyAgICAgICAgc3VwcCA9IHNlbGYuX3N1cHByZXNzaW9uCisg
ICAgICAgIHN1cHAgPSBzdXBwLnJlcGxhY2UoImZ1bjpfWm53aiIsICJmdW46X1pudyoiKQorICAg
ICAgICBzdXBwID0gc3VwcC5yZXBsYWNlKCJmdW46X1pud20iLCAiZnVuOl9abncqIikKKyAgICAg
ICAgc3VwcCA9IHN1cHAucmVwbGFjZSgiZnVuOl9abmFqIiwgImZ1bjpfWm5hKiIpCisgICAgICAg
IHN1cHAgPSBzdXBwLnJlcGxhY2UoImZ1bjpfWm5hbSIsICJmdW46X1puYSoiKQorCisgICAgICAg
ICMgU3BsaXQgaW50byBsaW5lcyBzbyB3ZSBjYW4gZW5mb3JjZSBsZW5ndGggbGltaXRzCisgICAg
ICAgIHN1cHBsaW5lcyA9IHN1cHAuc3BsaXQoIlxuIikKKyAgICAgICAgc3VwcCA9IE5vbmUgICAg
IyB0byBhdm9pZCByZS11c2UKKworICAgICAgICAjIFRydW5jYXRlIGF0IGxpbmUgMjYgKFZHX01B
WF9TVVBQX0NBTExFUlMgcGx1cyAyIGZvciBuYW1lIGFuZCB0eXBlKQorICAgICAgICAjIG9yIGF0
IHRoZSBmaXJzdCAnYm9yaW5nJyBjYWxsZXIuCisgICAgICAgICMgKGh0dHBzOi8vYnVncy5rZGUu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk0NjggcHJvcG9zZXMgcmFpc2luZworICAgICAgICAjIFZH
X01BWF9TVVBQX0NBTExFUlMsIGJ1dCB3ZSdyZSBwcm9iYWJseSBmaW5lIHdpdGggaXQgYXMgaXMu
KQorICAgICAgICBuZXdsZW4gPSBtaW4oMjYsIGxlbihzdXBwbGluZXMpKQorCisgICAgICAgICMg
RHJvcCBib3JpbmcgZnJhbWVzIGFuZCBhbGwgdGhlIGZvbGxvd2luZy4KKyAgICAgICAgZW5vdWdo
X2ZyYW1lcyA9IEZhbHNlCisgICAgICAgIGZvciBmcmFtZW5vIGluIHJhbmdlKG5ld2xlbik6Cisg
ICAgICAgICAgICBmb3IgYm9yaW5nX2NhbGxlciBpbiBfQk9SSU5HX0NBTExFUlM6CisgICAgICAg
ICAgICAgICAgaWYgcmUubWF0Y2goIl4gK2Z1bjolcyQiICUgYm9yaW5nX2NhbGxlciwgc3VwcGxp
bmVzW2ZyYW1lbm9dKToKKyAgICAgICAgICAgICAgICAgICAgbmV3bGVuID0gZnJhbWVubworICAg
ICAgICAgICAgICAgICAgICBlbm91Z2hfZnJhbWVzID0gVHJ1ZQorICAgICAgICAgICAgICAgICAg
ICBicmVhaworICAgICAgICAgICAgaWYgZW5vdWdoX2ZyYW1lczoKKyAgICAgICAgICAgICAgICBi
cmVhaworICAgICAgICBpZiAobGVuKHN1cHBsaW5lcykgPiBuZXdsZW4pOgorICAgICAgICAgICAg
c3VwcGxpbmVzID0gc3VwcGxpbmVzWzA6bmV3bGVuXQorICAgICAgICAgICAgc3VwcGxpbmVzLmFw
cGVuZCgifSIpCisKKyAgICAgICAgZm9yIGZyYW1lIGluIHJhbmdlKGxlbihzdXBwbGluZXMpKToK
KyAgICAgICAgICAgICMgUmVwbGFjZSB0aGUgYWx3YXlzLWNoYW5naW5nIGFub255bW91cyBuYW1l
c3BhY2UgcHJlZml4IHdpdGggIioiLgorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCIoICtmdW46
KV9aTi4qX0dMT0JBTF9fTl8uKlwuY2NfIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIlswLTlhLWZBLUZdezh9X1swLTlhLWZBLUZdezh9KC4qKSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcGxpbmVzW2ZyYW1lXSkKKyAgICAgICAgICAg
IGlmIG06CisgICAgICAgICAgICAgICAgc3VwcGxpbmVzW2ZyYW1lXSA9ICIqIi5qb2luKG0uZ3Jv
dXBzKCkpCisKKyAgICAgICAgb3V0cHV0ICs9ICJcbiIuam9pbihzdXBwbGluZXMpICsgIlxuIgor
CisgICAgICAgIHJldHVybiBvdXRwdXQKKworICAgIGRlZiBVbmlxdWVTdHJpbmcoc2VsZik6Cisg
ICAgICAgICcnJyBTdHJpbmcgdG8gdXNlIGZvciBvYmplY3QgaWRlbnRpdHkuIERvbid0IHByaW50
IHRoaXMsIHVzZSBzdHIob2JqKQorICAgICAgICBpbnN0ZWFkLicnJworICAgICAgICByZXAgPSBz
ZWxmLl9raW5kICsgIiAiCisgICAgICAgIGZvciBiYWNrdHJhY2UgaW4gc2VsZi5fYmFja3RyYWNl
czoKKyAgICAgICAgICAgIGZvciBmcmFtZSBpbiBiYWNrdHJhY2VbMV06CisgICAgICAgICAgICAg
ICAgcmVwICs9IGZyYW1lW0ZVTkNUSU9OX05BTUVdCisKKyAgICAgICAgICAgICAgICBpZiBmcmFt
ZVtTUkNfRklMRV9ESVJdICE9ICIiOgorICAgICAgICAgICAgICAgICAgICByZXAgKz0gZnJhbWVb
U1JDX0ZJTEVfRElSXSArICIvIiArIGZyYW1lW1NSQ19GSUxFX05BTUVdCisgICAgICAgICAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmVwICs9IGZyYW1lW09CSkVDVF9GSUxFXQor
CisgICAgICAgIHJldHVybiByZXAKKworICAgICMgVGhpcyBpcyBhIGRldmljZS1pbmRlcGVuZGVu
dCBoYXNoIGlkZW50aWZ5aW5nIHRoZSBzdXBwcmVzc2lvbi4KKyAgICAjIEJ5IHByaW50aW5nIG91
dCB0aGlzIGhhc2ggd2UgY2FuIGZpbmQgZHVwbGljYXRlIHJlcG9ydHMgYmV0d2VlbiB0ZXN0cyBh
bmQKKyAgICAjIGRpZmZlcmVudCBzaGFyZHMgcnVubmluZyBvbiBtdWx0aXBsZSBidWlsZGJvdHMK
KyAgICBkZWYgRXJyb3JIYXNoKHNlbGYpOgorICAgICAgICByZXR1cm4gaW50KGhhc2hsaWIubWQ1
KHNlbGYuVW5pcXVlU3RyaW5nKCkpLmhleGRpZ2VzdCgpWzoxNl0sIDE2KQorCisgICAgZGVmIF9f
aGFzaF9fKHNlbGYpOgorICAgICAgICByZXR1cm4gaGFzaChzZWxmLlVuaXF1ZVN0cmluZygpKQor
CisgICAgZGVmIF9fZXFfXyhzZWxmLCByaHMpOgorICAgICAgICByZXR1cm4gc2VsZi5VbmlxdWVT
dHJpbmcoKSA9PSByaHMKKworCitkZWYgbG9nX2lzX2ZpbmlzaGVkKGYsIGZvcmNlX2ZpbmlzaCk6
CisgICAgZi5zZWVrKDApCisgICAgcHJldl9saW5lID0gIiIKKyAgICB3aGlsZSBUcnVlOgorICAg
ICAgICBsaW5lID0gZi5yZWFkbGluZSgpCisgICAgICAgIGlmIGxpbmUgPT0gIiI6CisgICAgICAg
ICAgICBpZiBub3QgZm9yY2VfZmluaXNoOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQor
ICAgICAgICAgICAgIyBPa2F5LCB0aGUgbG9nIGlzIG5vdCBmaW5pc2hlZCBidXQgd2UgY2FuCisg
ICAgICAgICAgICAjIG1ha2UgaXQgdXAgdG8gYmUgcGFyc2VhYmxlOgorICAgICAgICAgICAgaWYg
cHJldl9saW5lLnN0cmlwKCkgaW4gWyI8L2Vycm9yPiIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIjwvZXJyb3Jjb3VudHM+IiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiPC9zdGF0dXM+Il06CisgICAgICAgICAgICAgICAgZi53cml0ZSgiPC92
YWxncmluZG91dHB1dD5cbiIpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAg
ICAgIHJldHVybiBGYWxzZQorICAgICAgICBpZiAnPC92YWxncmluZG91dHB1dD4nIGluIGxpbmU6
CisgICAgICAgICAgICAjIFZhbGdyaW5kIG9mdGVuIGhhcyBnYXJiYWdlIGFmdGVyIDwvdmFsZ3Jp
bmRvdXRwdXQ+IHVwb24gY3Jhc2guCisgICAgICAgICAgICBmLnRydW5jYXRlKCkKKyAgICAgICAg
ICAgIHJldHVybiBUcnVlCisgICAgICAgIHByZXZfbGluZSA9IGxpbmUKKworCitjbGFzcyBNZW1j
aGVja0FuYWx5emVyOgorICAgICcnJyBHaXZlbiBhIHNldCBvZiBWYWxncmluZCBYTUwgZmlsZXMs
IHBhcnNlIGFsbCB0aGUgZXJyb3JzIG91dCBvZiB0aGVtLAorICAgIHVuaXF1ZSB0aGVtIGFuZCBv
dXRwdXQgdGhlIHJlc3VsdHMuJycnCisKKyAgICBTQU5JVFlfVEVTVF9TVVBQUkVTU0lPTlMgPSB7
CisgICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMDEgKG1lbW9yeSBsZWFrKS4iOiAx
LAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDAyIChtYWxsb2MvcmVhZCBsZWZ0
KS4iOiAxLAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDAzIChtYWxsb2MvcmVh
ZCByaWdodCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAwNCAobWFs
bG9jL3dyaXRlIGxlZnQpLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3Qg
MDUgKG1hbGxvYy93cml0ZSByaWdodCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5p
dHkgdGVzdCAwNiAobmV3L3JlYWQgbGVmdCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBz
YW5pdHkgdGVzdCAwNyAobmV3L3JlYWQgcmlnaHQpLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hl
Y2sgc2FuaXR5IHRlc3QgMDggKG5ldy93cml0ZSBsZWZ0KS4iOiAxLAorICAgICAgICAgICAgIk1l
bWNoZWNrIHNhbml0eSB0ZXN0IDA5IChuZXcvd3JpdGUgcmlnaHQpLiI6IDEsCisgICAgICAgICAg
ICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTAgKHdyaXRlIGFmdGVyIGZyZWUpLiI6IDEsCisgICAg
ICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTEgKHdyaXRlIGFmdGVyIGRlbGV0ZSkuIjog
MSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAxMiAoYXJyYXkgZGVsZXRlZCB3
aXRob3V0IFtdKS4iOiAxLAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDEzIChz
aW5nbGUgZWxlbWVudCBkZWxldGVkIHdpdGggW10pLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hl
Y2sgc2FuaXR5IHRlc3QgMTQgKG1hbGxvYy9yZWFkIHVuaW5pdCkuIjogMSwKKyAgICAgICAgICAg
ICJNZW1jaGVjayBzYW5pdHkgdGVzdCAxNSAobmV3L3JlYWQgdW5pbml0KS4iOiAxLAorICAgIH0K
KworICAgICMgTWF4IHRpbWUgdG8gd2FpdCBmb3IgbWVtY2hlY2sgbG9ncyB0byBjb21wbGV0ZS4K
KyAgICBMT0dfQ09NUExFVElPTl9USU1FT1VUID0gMTgwLjAKKworICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBzb3VyY2VfZGlyLCBzaG93X2FsbF9sZWFrcz1GYWxzZSwgdXNlX2dkYj1GYWxzZSk6Cisg
ICAgICAgICcnJ0NyZWF0ZSBhIHBhcnNlciBmb3IgTWVtY2hlY2sgbG9ncy4KKworICAgICAgICBB
cmdzOgorICAgICAgICAgICAgc291cmNlX2RpcjogUGF0aCB0byB0b3Agb2Ygc291cmNlIHRyZWUg
Zm9yIHRoaXMgYnVpbGQKKyAgICAgICAgICAgIHNob3dfYWxsX2xlYWtzOiBXaGV0aGVyIHRvIHNo
b3cgZXZlbiBsZXNzIGltcG9ydGFudCBsZWFrcworICAgICAgICAgICAgdXNlX2dkYjogV2hldGhl
ciB0byB1c2UgZ2RiIHRvIHJlc29sdmUgc291cmNlIGZpbGVuYW1lcyBhbmQgbGluZQorICAgICAg
ICAgICAgICAgICAgICAgbnVtYmVycyBpbiB0aGUgcmVwb3J0IHN0YWNrdHJhY2VzCisgICAgICAg
ICcnJworICAgICAgICBzZWxmLl9zb3VyY2VfZGlyID0gc291cmNlX2RpcgorICAgICAgICBzZWxm
Ll9zaG93X2FsbF9sZWFrcyA9IHNob3dfYWxsX2xlYWtzCisgICAgICAgIHNlbGYuX3VzZV9nZGIg
PSB1c2VfZ2RiCisKKyAgICAgICAgIyBDb250YWlucyB0aGUgc2V0IG9mIHVuaXF1ZSBlcnJvcnMK
KyAgICAgICAgc2VsZi5fZXJyb3JzID0gc2V0KCkKKworICAgICAgICAjIENvbnRhaW5zIHRoZSB0
aW1lIHdoZW4gdGhlIHdlIHN0YXJ0ZWQgYW5hbHl6aW5nIHRoZSBmaXJzdCBsb2cgZmlsZS4KKyAg
ICAgICAgIyBUaGlzIHZhcmlhYmxlIGlzIHVzZWQgdG8gc2tpcCBpbmNvbXBsZXRlIGxvZ3MgYWZ0
ZXIgc29tZSB0aW1lb3V0LgorICAgICAgICBzZWxmLl9hbmFseXplX3N0YXJ0X3RpbWUgPSBOb25l
CisKKyAgICBkZWYgUmVwb3J0KHNlbGYsIGZpbGVzLCB0ZXN0Y2FzZSwgY2hlY2tfc2FuaXR5PUZh
bHNlKToKKyAgICAgICAgJycnUmVhZHMgaW4gYSBzZXQgb2YgZmlsZXMgYW5kIHByaW50cyBNZW1j
aGVjayByZXBvcnQuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGZpbGVzOiBBIGxpc3Qg
b2YgZmlsZW5hbWVzLgorICAgICAgICAgICAgY2hlY2tfc2FuaXR5OiBpZiB0cnVlLCBzZWFyY2gg
Zm9yIFNBTklUWV9URVNUX1NVUFBSRVNTSU9OUworICAgICAgICAnJycKKyAgICAgICAgIyBCZXlv
bmQgdGhlIGRldGFpbGVkIGVycm9ycyBwYXJzZWQgYnkgVmFsZ3JpbmRFcnJvciBhYm92ZSwKKyAg
ICAgICAgIyB0aGUgeG1sIGZpbGUgY29udGFpbiByZWNvcmRzIGRlc2NyaWJpbmcgc3VwcHJlc3Np
b25zIHRoYXQgd2VyZSB1c2VkOgorICAgICAgICAjIDxzdXBwY291bnRzPgorICAgICAgICAjICAg
IDxwYWlyPgorICAgICAgICAjICAgICAgICA8Y291bnQ+Mjg8L2NvdW50PgorICAgICAgICAjICAg
ICAgICA8bmFtZT5wYW5nb19mb250X2xlYWtfdG9kbzwvbmFtZT4KKyAgICAgICAgIyAgICA8L3Bh
aXI+CisgICAgICAgICMgICAgPHBhaXI+CisgICAgICAgICMgICAgICAgIDxjb3VudD4zNzg8L2Nv
dW50PgorICAgICAgICAjICAgICAgICA8bmFtZT5idWdfMTMyNDM8L25hbWU+CisgICAgICAgICMg
ICAgPC9wYWlyPgorICAgICAgICAjIDwvc3VwcGNvdW50cworICAgICAgICAjIENvbGxlY3QgdGhl
c2UgYW5kIHByaW50IHRoZW0gYXQgdGhlIGVuZC4KKyAgICAgICAgIworICAgICAgICAjIFdpdGgg
b3VyIHBhdGNoIGZvciBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDAw
IGluLAorICAgICAgICAjIHRoZSBmaWxlIGFsc28gaW5jbHVkZXMgcmVjb3JkcyBvZiB0aGUgZm9y
bQorICAgICAgICAjIDxsb2FkX29iaj48b2JqPi91c3IvbGliL2xpYmdjY19zLjEuZHlsaWI8L29i
aj48aXA+MHgyNzAwMDwvaXA+PC9sb2FkX29iaj4KKyAgICAgICAgIyBnaXZpbmcgdGhlIGZpbGVu
YW1lIGFuZCBsb2FkIGFkZHJlc3Mgb2YgZWFjaCBiaW5hcnkgdGhhdCB3YXMgbWFwcGVkCisgICAg
ICAgICMgaW50byB0aGUgcHJvY2Vzcy4KKworICAgICAgICBnbG9iYWwgVGhlQWRkcmVzc1RhYmxl
CisgICAgICAgIGlmIHNlbGYuX3VzZV9nZGI6CisgICAgICAgICAgICBUaGVBZGRyZXNzVGFibGUg
PSBnZGJfaGVscGVyLkFkZHJlc3NUYWJsZSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBU
aGVBZGRyZXNzVGFibGUgPSBOb25lCisgICAgICAgIGN1cl9yZXBvcnRfZXJyb3JzID0gc2V0KCkK
KyAgICAgICAgc3VwcGNvdW50cyA9IGRlZmF1bHRkaWN0KGludCkKKyAgICAgICAgYmFkZmlsZXMg
PSBzZXQoKQorCisgICAgICAgIGlmIHNlbGYuX2FuYWx5emVfc3RhcnRfdGltZSA9PSBOb25lOgor
ICAgICAgICAgICAgc2VsZi5fYW5hbHl6ZV9zdGFydF90aW1lID0gdGltZS50aW1lKCkKKyAgICAg
ICAgc3RhcnRfdGltZSA9IHNlbGYuX2FuYWx5emVfc3RhcnRfdGltZQorCisgICAgICAgIHBhcnNl
X2ZhaWxlZCA9IEZhbHNlCisgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgorICAgICAgICAgICAg
IyBXYWl0IHVwIHRvIHRocmVlIG1pbnV0ZXMgZm9yIHZhbGdyaW5kIHRvIGZpbmlzaCB3cml0aW5n
IGFsbAorICAgICAgICAgICAgIyBmaWxlcywgYnV0IGFmdGVyIHRoYXQsIGp1c3Qgc2tpcCBpbmNv
bXBsZXRlIGZpbGVzIGFuZCB3YXJuLgorICAgICAgICAgICAgZiA9IG9wZW4oZmlsZSwgInIrIikK
KyAgICAgICAgICAgIHBpZCA9IHJlLm1hdGNoKCIuKlwuKFswLTldKykkIiwgZmlsZSkKKyAgICAg
ICAgICAgIGlmIHBpZDoKKyAgICAgICAgICAgICAgICBwaWQgPSBwaWQuZ3JvdXBzKClbMF0KKyAg
ICAgICAgICAgIGZvdW5kID0gRmFsc2UKKyAgICAgICAgICAgIHJ1bm5pbmcgPSBUcnVlCisgICAg
ICAgICAgICBmaXJzdHJ1biA9IFRydWUKKyAgICAgICAgICAgIHNraXAgPSBGYWxzZQorICAgICAg
ICAgICAgb3JpZ3NpemUgPSBvcy5wYXRoLmdldHNpemUoZmlsZSkKKyAgICAgICAgICAgIHdoaWxl
IChydW5uaW5nIGFuZCBub3QgZm91bmQgYW5kIG5vdCBza2lwIGFuZAorICAgICAgICAgICAgICAg
ICAgIChmaXJzdHJ1biBvciAoKHRpbWUudGltZSgpIC0gc3RhcnRfdGltZSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDwgc2VsZi5MT0dfQ09NUExFVElPTl9USU1FT1VUKSkpOgor
ICAgICAgICAgICAgICAgIGZpcnN0cnVuID0gRmFsc2UKKyAgICAgICAgICAgICAgICBmLnNlZWso
MCkKKyAgICAgICAgICAgICAgICBpZiBwaWQ6CisgICAgICAgICAgICAgICAgICAgICMgTWFrZSBz
dXJlIHRoZSBwcm9jZXNzIGlzIHN0aWxsIHJ1bm5pbmcgc28gd2UgZG9uJ3Qgd2FpdAorICAgICAg
ICAgICAgICAgICAgICAjIGZvciAzIG1pbnV0ZXMgaWYgaXQgd2FzIGtpbGxlZC4KKyAgICAgICAg
ICAgICAgICAgICAgIyBTZWUgaHR0cDovL2NyYnVnLmNvbS8xNzQ1MworICAgICAgICAgICAgICAg
ICAgICBwc19vdXQgPSBzdWJwcm9jZXNzLlBvcGVuKCJwcyBwICVzIiAlIHBpZCwgc2hlbGw9VHJ1
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9
c3VicHJvY2Vzcy5QSVBFKS5zdGRvdXQKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHBzX291
dC5yZWFkbGluZXMoKSkgPCAyOgorICAgICAgICAgICAgICAgICAgICAgICAgcnVubmluZyA9IEZh
bHNlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2tpcCA9IFRy
dWUKKyAgICAgICAgICAgICAgICAgICAgcnVubmluZyA9IEZhbHNlCisgICAgICAgICAgICAgICAg
Zm91bmQgPSBsb2dfaXNfZmluaXNoZWQoZiwgRmFsc2UpCisgICAgICAgICAgICAgICAgaWYgbm90
IHJ1bm5pbmcgYW5kIG5vdCBmb3VuZDoKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy53YXJu
KCJWYWxncmluZCBwcm9jZXNzIFBJRCA9ICVzIGlzIG5vdCBydW5uaW5nIGJ1dCIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICIgaXRzIFhNTCBsb2cgaGFzIG5vdCBiZWVuIGZpbmlzaGVkIGNvcnJl
Y3RseS5cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICJNYWtlIGl0IHVwIGJ5IGFkZGluZyBz
b21lIGNsb3NpbmcgdGFncyBtYW51YWxseS4iICUKKyAgICAgICAgICAgICAgICAgICAgICAgIHBp
ZCkKKyAgICAgICAgICAgICAgICAgICAgZm91bmQgPSBsb2dfaXNfZmluaXNoZWQoZiwgbm90IHJ1
bm5pbmcpCisgICAgICAgICAgICAgICAgaWYgcnVubmluZyBhbmQgbm90IGZvdW5kOgorICAgICAg
ICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEpCisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAg
ICAgICAgIGlmIG5vdCBmb3VuZDoKKyAgICAgICAgICAgICAgICBiYWRmaWxlcy5hZGQoZmlsZSkK
KyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbmV3c2l6ZSA9IG9zLnBhdGguZ2V0
c2l6ZShmaWxlKQorICAgICAgICAgICAgICAgIGlmIG9yaWdzaXplID4gbmV3c2l6ZSArIDE6Cisg
ICAgICAgICAgICAgICAgICAgIGxvZ2dpbmcud2FybihzdHIob3JpZ3NpemUgLSBuZXdzaXplKSAr
CisgICAgICAgICAgICAgICAgICAgICAgICAiIGJ5dGVzIG9mIGp1bmsgd2VyZSBhZnRlciA8L3Zh
bGdyaW5kb3V0cHV0PiBpbiAlcyEiICUKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUpCisg
ICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBwYXJzZWRfZmlsZSA9IHBh
cnNlKGZpbGUpCisgICAgICAgICAgICAgICAgZXhjZXB0IEV4cGF0RXJyb3IsIGU6CisgICAgICAg
ICAgICAgICAgICAgIHBhcnNlX2ZhaWxlZCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgbG9n
Z2luZy53YXJuKCJjb3VsZCBub3QgcGFyc2UgJXM6ICVzIiAlIChmaWxlLCBlKSkKKyAgICAgICAg
ICAgICAgICAgICAgbGluZW5vID0gZS5saW5lbm8gLSAxCisgICAgICAgICAgICAgICAgICAgIGNv
bnRleHRfbGluZXMgPSA1CisgICAgICAgICAgICAgICAgICAgIGNvbnRleHRfc3RhcnQgPSBtYXgo
MCwgbGluZW5vIC0gY29udGV4dF9saW5lcykKKyAgICAgICAgICAgICAgICAgICAgY29udGV4dF9l
bmQgPSBsaW5lbm8gKyBjb250ZXh0X2xpbmVzICsgMQorICAgICAgICAgICAgICAgICAgICBjb250
ZXh0X2ZpbGUgPSBvcGVuKGZpbGUsICJyIikKKyAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4g
cmFuZ2UoMCwgY29udGV4dF9zdGFydCk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0
X2ZpbGUucmVhZGxpbmUoKQorICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShjb250
ZXh0X3N0YXJ0LCBjb250ZXh0X2VuZCk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0
X2RhdGEgPSBjb250ZXh0X2ZpbGUucmVhZGxpbmUoKS5yc3RyaXAoKQorICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgaSAhPSBsaW5lbm86CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9n
Z2luZy53YXJuKCIgICAgJXMiICUgY29udGV4dF9kYXRhKQorICAgICAgICAgICAgICAgICAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm4oIj4gJXMi
ICUgY29udGV4dF9kYXRhKQorICAgICAgICAgICAgICAgICAgICBjb250ZXh0X2ZpbGUuY2xvc2Uo
KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIFRoZUFk
ZHJlc3NUYWJsZSAhPSBOb25lOgorICAgICAgICAgICAgICAgICAgICBsb2FkX29ianMgPSBwYXJz
ZWRfZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgibG9hZF9vYmoiKQorICAgICAgICAgICAgICAg
ICAgICBmb3IgbG9hZF9vYmogaW4gbG9hZF9vYmpzOgorICAgICAgICAgICAgICAgICAgICAgICAg
b2JqID0gZ2V0VGV4dE9mKGxvYWRfb2JqLCAib2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlwID0gZ2V0VGV4dE9mKGxvYWRfb2JqLCAiaXAiKQorICAgICAgICAgICAgICAgICAgICAgICAg
VGhlQWRkcmVzc1RhYmxlLkFkZEJpbmFyeUF0KG9iaiwgaXApCisKKyAgICAgICAgICAgICAgICBj
b21tYW5kbGluZSA9IE5vbmUKKyAgICAgICAgICAgICAgICBwcmVhbWJsZSA9IHBhcnNlZF9maWxl
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwcmVhbWJsZSIpWzBdCisgICAgICAgICAgICAgICAgZm9y
IG5vZGUgaW4gcHJlYW1ibGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmUiKToKKyAgICAgICAg
ICAgICAgICAgICAgaWYgbm9kZS5sb2NhbE5hbWUgPT0gImxpbmUiOgorICAgICAgICAgICAgICAg
ICAgICAgICAgZm9yIHggaW4gbm9kZS5jaGlsZE5vZGVzOgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIHgubm9kZVR5cGUgPT0gbm9kZS5URVhUX05PREUgYW5kIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIkNvbW1hbmQiIGluIHguZGF0YToKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29tbWFuZGxpbmUgPSB4LmRhdGEKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAgICAgICAgIHJhd19lcnJvcnMgPSBw
YXJzZWRfZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZXJyb3IiKQorICAgICAgICAgICAgICAg
IGZvciByYXdfZXJyb3IgaW4gcmF3X2Vycm9yczoKKyAgICAgICAgICAgICAgICAgICAgIyBJZ25v
cmUgInBvc3NpYmxlIiBsZWFrcyBhbmQgSW52YWxpZFJlYWQvV3JpdGUgZm9yIG5vdyBieSBkZWZh
dWx0LgorICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fc2hvd19hbGxfbGVha3Mgb3IgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgKGdldFRleHRPZihyYXdfZXJyb3IsICJraW5kIikgIT0g
IkxlYWtfUG9zc2libHlMb3N0IikgYW5kIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIChnZXRU
ZXh0T2YocmF3X2Vycm9yLCAia2luZCIpICE9ICJMZWFrX1N0aWxsUmVhY2hhYmxlIikgYW5kIFwK
KyAgICAgICAgICAgICAgICAgICAgICAgIChnZXRUZXh0T2YocmF3X2Vycm9yLCAia2luZCIpICE9
ICJJbnZhbGlkV3JpdGUiKSBhbmQgXAorICAgICAgICAgICAgICAgICAgICAgICAgKGdldFRleHRP
ZihyYXdfZXJyb3IsICJraW5kIikgIT0gIkludmFsaWRSZWFkIikpOgorICAgICAgICAgICAgICAg
ICAgICAgICAgZXJyb3IgPSBWYWxncmluZEVycm9yKHNlbGYuX3NvdXJjZV9kaXIsIHJhd19lcnJv
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5k
bGluZSwgdGVzdGNhc2UpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBlcnJvciBub3QgaW4g
Y3VyX3JlcG9ydF9lcnJvcnM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBoYXZl
bid0IHNlZW4gc3VjaCBlcnJvcnMgZG9pbmcgdGhpcyByZXBvcnQgeWV0CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgZXJyb3IgaW4gc2VsZi5fZXJyb3JzOgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAjIC4uLiBidXQgd2Ugc2F3IGl0IGluIGVhcmxpZXIgcmVwb3J0cywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBlLmcuIHByZXZpb3VzIFVJIHRlc3QK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyX3JlcG9ydF9lcnJvcnMuYWRkKCJU
aGlzIGVycm9yIHdhcyBhbHJlYWR5ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJwcmludGVkIGluIHNvbWUgb3RoZXIgdGVzdCwgIgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInNlZSAnaGFzaD0jJTAxNlgjJyIgJSBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBlcnJvci5FcnJvckhhc2goKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIC4uLiBh
bmQgd2UgaGF2ZW4ndCBzZWVuIGl0IGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICMgb3RoZXIgdGVzdHMgYXMgd2VsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9lcnJvcnMuYWRkKGVycm9yKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
dXJfcmVwb3J0X2Vycm9ycy5hZGQoZXJyb3IpCisKKyAgICAgICAgICAgICAgICBzdXBwY291bnRs
aXN0ID0gcGFyc2VkX2ZpbGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN1cHBjb3VudHMiKQorICAg
ICAgICAgICAgICAgIGlmIGxlbihzdXBwY291bnRsaXN0KSA+IDA6CisgICAgICAgICAgICAgICAg
ICAgIHN1cHBjb3VudGxpc3QgPSBzdXBwY291bnRsaXN0WzBdCisgICAgICAgICAgICAgICAgICAg
IGZvciBub2RlIGluIHN1cHBjb3VudGxpc3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhaXIiKToK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ID0gZ2V0VGV4dE9mKG5vZGUsICJjb3VudCIp
CisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gZ2V0VGV4dE9mKG5vZGUsICJuYW1lIikK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBjb3VudHNbbmFtZV0gKz0gaW50KGNvdW50KQor
CisgICAgICAgIGlmIGxlbihiYWRmaWxlcykgPiAwOgorICAgICAgICAgICAgbG9nZ2luZy53YXJu
KCJ2YWxncmluZCBkaWRuJ3QgZmluaXNoIHdyaXRpbmcgJWQgZmlsZXM/ISIgJQorICAgICAgICAg
ICAgICAgIGxlbihiYWRmaWxlcykpCisgICAgICAgICAgICBmb3IgZmlsZSBpbiBiYWRmaWxlczoK
KyAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm4oIkxhc3QgMjAgbGluZXMgb2YgJXMgOiIgJSBm
aWxlKQorICAgICAgICAgICAgICAgIG9zLnN5c3RlbSgidGFpbCAtbiAyMCAnJXMnIDE+JjIiICUg
ZmlsZSkKKworICAgICAgICBpZiBwYXJzZV9mYWlsZWQ6CisgICAgICAgICAgICBsb2dnaW5nLmVy
cm9yKCJGQUlMISBDb3VsZG4ndCBwYXJzZSBWYWxncmluZCBvdXRwdXQgZmlsZSIpCisgICAgICAg
ICAgICByZXR1cm4gLTIKKworICAgICAgICBjb21tb24uUHJpbnRVc2VkU3VwcHJlc3Npb25zTGlz
dChzdXBwY291bnRzKQorCisgICAgICAgIHJldGNvZGUgPSAwCisgICAgICAgIGlmIGN1cl9yZXBv
cnRfZXJyb3JzOgorICAgICAgICAgICAgbG9nZ2luZy5lcnJvcigiRkFJTCEgVGhlcmUgd2VyZSAl
cyBlcnJvcnM6ICIgJQorICAgICAgICAgICAgICAgIGxlbihjdXJfcmVwb3J0X2Vycm9ycykpCisK
KyAgICAgICAgICAgIGlmIFRoZUFkZHJlc3NUYWJsZSAhPSBOb25lOgorICAgICAgICAgICAgICAg
IFRoZUFkZHJlc3NUYWJsZS5SZXNvbHZlQWxsKCkKKworICAgICAgICAgICAgZm9yIGVycm9yIGlu
IGN1cl9yZXBvcnRfZXJyb3JzOgorICAgICAgICAgICAgICAgIGxvZ2dpbmcuZXJyb3IoZXJyb3Ip
CisKKyAgICAgICAgICAgIHJldGNvZGUgPSAtMQorCisgICAgICAgICMgUmVwb3J0IHRvb2wncyBp
bnNhbml0eSBldmVuIGlmIHRoZXJlIHdlcmUgZXJyb3JzLgorICAgICAgICBpZiBjaGVja19zYW5p
dHk6CisgICAgICAgICAgICByZW1haW5pbmdfc2FuaXR5X3N1cHAgPSBNZW1jaGVja0FuYWx5emVy
LlNBTklUWV9URVNUX1NVUFBSRVNTSU9OUworICAgICAgICAgICAgZm9yIChuYW1lLCBjb3VudCkg
aW4gc3VwcGNvdW50cy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgICAgICBpZiAobmFtZSBpbiBy
ZW1haW5pbmdfc2FuaXR5X3N1cHAgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5p
bmdfc2FuaXR5X3N1cHBbbmFtZV0gPT0gY291bnQpOgorICAgICAgICAgICAgICAgICAgICBkZWwg
cmVtYWluaW5nX3Nhbml0eV9zdXBwW25hbWVdCisgICAgICAgICAgICBpZiByZW1haW5pbmdfc2Fu
aXR5X3N1cHA6CisgICAgICAgICAgICAgICAgbG9nZ2luZy5lcnJvcigiRkFJTCEgU2FuaXR5IGNo
ZWNrIGZhaWxlZCEiKQorICAgICAgICAgICAgICAgIGxvZ2dpbmcuaW5mbygiVGhlIGZvbGxvd2lu
ZyB0ZXN0IGVycm9ycyB3ZXJlIG5vdCBoYW5kbGVkOiAiKQorICAgICAgICAgICAgICAgIGZvciAo
bmFtZSwgY291bnQpIGluIHJlbWFpbmluZ19zYW5pdHlfc3VwcC5pdGVyaXRlbXMoKToKKyAgICAg
ICAgICAgICAgICAgICAgbG9nZ2luZy5pbmZvKCIgICAgKiAlZHggJXMiICUgKGNvdW50LCBuYW1l
KSkKKyAgICAgICAgICAgICAgICByZXRjb2RlID0gLTMKKworICAgICAgICBpZiByZXRjb2RlICE9
IDA6CisgICAgICAgICAgICByZXR1cm4gcmV0Y29kZQorCisgICAgICAgIGxvZ2dpbmcuaW5mbygi
UEFTUyEgTm8gZXJyb3JzIGZvdW5kISIpCisgICAgICAgIHJldHVybiAwCisKKworZGVmIF9tYWlu
KCk6CisgICAgJycnRm9yIHRlc3Rpbmcgb25seS4KKyAgICBUaGUgTWVtY2hlY2tBbmFseXplciBj
bGFzcyBzaG91bGQgYmUgaW1wb3J0ZWQgaW5zdGVhZC4KKyAgICAnJycKKyAgICBwYXJzZXIgPSBv
cHRwYXJzZS5PcHRpb25QYXJzZXIoInVzYWdlOiAlcHJvZyBbb3B0aW9uc10gPGZpbGVzIHRvIGFu
YWx5emU+IikKKyAgICBwYXJzZXIuYWRkX29wdGlvbigiIiwgIi0tc291cmNlX2RpciIsCisgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0icGF0aCB0byB0b3Agb2Ygc291cmNlIHRyZWUgZm9yIHRo
aXMgYnVpbGQiCisgICAgICAgICAgICAgICAgICAgICAgIih1c2VkIHRvIG5vcm1hbGl6ZSBzb3Vy
Y2UgcGF0aHMgaW4gYmFzZWxpbmUpIikKKworICAgIChvcHRpb25zLCBhcmdzKSA9IHBhcnNlci5w
YXJzZV9hcmdzKCkKKyAgICBpZiBsZW4oYXJncykgPT0gMDoKKyAgICAgICAgcGFyc2VyLmVycm9y
KCJubyBmaWxlbmFtZSBzcGVjaWZpZWQiKQorICAgIGZpbGVuYW1lcyA9IGFyZ3MKKworICAgIGFu
YWx5emVyID0gTWVtY2hlY2tBbmFseXplcihvcHRpb25zLnNvdXJjZV9kaXIsIHVzZV9nZGI9RmFs
c2UpCisgICAgcmV0dXJuIGFuYWx5emVyLlJlcG9ydChmaWxlbmFtZXMsIE5vbmUpCisKKworaWYg
X19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBzeXMuZXhpdChfbWFpbigpKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5CmluZGV4IDgxODRkMjU4N2Fi
MWQ5ZDljOGEzNjVjNWYxYmE1MGQwOTY4MDk2OWUuLmU0MjFlN2IyMTg1NjdlNTUxMDU5NDc0ZTA3
MTg5OGIxYjg4YjBiMzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9z
ZXJ2ZXJfcHJvY2Vzcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVy
X3Byb2Nlc3MucHkKQEAgLTMzMSw5ICszMzEsOCBAQCBjbGFzcyBTZXJ2ZXJQcm9jZXNzKG9iamVj
dCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLl9wcm9jOgogICAgICAgICAgICAgcmV0dXJuIChOb25l
LCBOb25lKQogCi0gICAgICAgICMgT25seSBib3RoZXIgdG8gY2hlY2sgZm9yIGxlYWtzIG9yIHN0
ZGVyciBpZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBydW5uaW5nLgotICAgICAgICBpZiBzZWxmLnBv
bGwoKSBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5fcG9ydC5jaGVja19mb3JfbGVha3Moc2Vs
Zi5uYW1lKCksIHNlbGYucGlkKCkpCisgICAgICAgIGlzX3J1bm5pbmcgPSBzZWxmLnBvbGwoKSBp
cyBOb25lCisgICAgICAgIHNlbGYuX3BvcnQuY2hlY2tfZm9yX2xlYWtzKHNlbGYubmFtZSgpLCBz
ZWxmLnBpZCgpLCBpc19ydW5uaW5nKQogCiAgICAgICAgIG5vdyA9IHRpbWUudGltZSgpCiAgICAg
ICAgIGlmIHNlbGYuX3Byb2Muc3RkaW46CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkKaW5kZXggNWFkN2QwZWE3ZTY1ZjQx
ZTVmZGM2YmVkYjMxYWM2MWFmMjZjOGY0MS4uYjIzNmU0ZDIwZWMxYTgwMDFhYmQzODRmY2I1OGRk
ZjVmOTJjNTk5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZl
cl9wcm9jZXNzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9z
ZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weQpAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBUcml2aWFs
TW9ja1BvcnQob2JqZWN0KToKICAgICBkZWYgcmVzdWx0c19kaXJlY3Rvcnkoc2VsZik6CiAgICAg
ICAgIHJldHVybiAiL21vY2stcmVzdWx0cyIKIAotICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2Vs
ZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6CisgICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhz
ZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBpc19ydW5uaW5nKToKICAgICAgICAgcGFz
cwogCiAgICAgZGVmIHByb2Nlc3Nfa2lsbF90aW1lKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
dmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJlc3Npb25zLnR4dCBiL1Rvb2xzL3ZhbGdyaW5kL21lbWNo
ZWNrL3N1cHByZXNzaW9ucy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWRlNGUyZDA2NDJiZTExNDFlZDM5M2Y2
YWNiOWFiYzZjZjdhNzkxZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL3ZhbGdyaW5kL21lbWNo
ZWNrL3N1cHByZXNzaW9ucy50eHQKQEAgLTAsMCArMSw2OTMgQEAKKyMgVGhlcmUgYXJlIGZvdXIg
a2luZHMgb2Ygc3VwcHJlc3Npb25zIGluIHRoaXMgZmlsZS4KKyMgMS4gdGhpcmQgcGFydHkgc3R1
ZmYgd2UgaGF2ZSBubyBjb250cm9sIG92ZXIKKyMKKyMgMi4gaW50ZW50aW9uYWwgdW5pdCB0ZXN0
IGVycm9ycywgb3Igc3R1ZmYgdGhhdCBpcyBzb21laG93IGEgZmFsc2UgcG9zaXRpdmUKKyMgaW4g
b3VyIG93biBjb2RlLCBvciBzdHVmZiB0aGF0IGlzIHNvIHRyaXZpYWwgaXQncyBub3Qgd29ydGgg
Zml4aW5nCisjCisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCB3ZWJraXQgYnVncyB0aGF0IGFy
ZSBub3QgeWV0IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdlYmtpdCdzIGJ1ZyB0
cmFja2luZyBzeXN0ZW0gKGJ1dCBhIGZldyBhcmVuJ3QgeWV0KS4KKyMgUGVyaW9kaWNhbGx5IHdl
IHNob3VsZCBzd2VlcCB0aGlzIGZpbGUgYW5kIHRoZSBidWcgdHJhY2tlciBjbGVhbiBieQorIyBy
dW5uaW5nIG92ZXJuaWdodCBhbmQgcmVtb3Zpbmcgb3V0ZGF0ZWQgYnVncy9zdXBwcmVzc2lvbnMu
CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKworIyAxLiB0aGlyZCBwYXJ0eSBzdHVmZiB3ZSBoYXZlIG5vIGNv
bnRyb2wgb3ZlcgoreworICAgI2d0ayBkZXZlbG9wZXJzIGRvbid0IGxpa2UgY2xlYW5pbmcgdXAg
b25lLXRpbWUgbGVha3MuICBTZWUgaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL2d0ay1k
ZXZlbC1saXN0LzIwMDQtQXByaWwvbXNnMDAyMzAuaHRtbAorICAgZ3RrX2luaXRfY2hlY2sgbGVh
ayAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpndGtfaW5p
dF9jaGVjaworfQoreworICAgRm9udGNvbmZpZyBsZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAu
Li4KKyAgIGZ1bjpYTUxfUGFyc2VCdWZmZXIKKyAgIGZ1bjpGY0NvbmZpZ1BhcnNlQW5kTG9hZAor
fQoreworICAgRmNDb25maWdBcHBGb250QWRkRmlsZV9sZWFrCisgICBNZW1jaGVjazpMZWFrCisg
ICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ0FwcEZvbnRBZGRGaWxlCit9Cit7CisgICAjIFNlZSBhbHNv
IGh0dHA6Ly93d3cuZ25vbWUub3JnL35qb2hhbi9ndGsuc3VwcHJlc3Npb24KKyAgICMgKHdoaWNo
IGhhcyBhIHNtYXR0ZXJpbmcgb2Ygc2ltaWxhciBwYW5nbyBzdXBwcmVzc2lvbnMpCisgICBwYW5n
b19mb250X2xlYWtfdG9kbworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250
UmVuZGVyUHJlcGFyZQorICAgb2JqOioKKyAgIGZ1bjpwYW5nb19mb250X21hcF9sb2FkX2ZvbnRz
ZXQKK30KK3sKKyAgIHBhbmdvX2ZvbnRfbGVha190b2RvXzIKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisgICBmdW46cGFu
Z29fc2NyaXB0X2dldF9zYW1wbGVfbGFuZ3VhZ2UKKyAgIC4uLgorICAgZnVuOnBhbmdvX2ZvbnRf
Z2V0X21ldHJpY3MKK30KK3sKKyAgIHBhbmdvX2ZvbnRfbGVha190b2RvXzMKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9udFJlbmRlclByZXBhcmUKKyAgIC4uLgorICAgZnVu
OnBhbmdvX2l0ZW1pemVfd2l0aF9iYXNlX2RpcgorfQoreworICAgcGFuZ29fZm9udF9sZWFrX3Rv
ZG9fNAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFy
ZQorICAgLi4uCisgICBmdW46cGFuZ29fb3RfYnVmZmVyX291dHB1dAorfQoreworICAgcGFuZ29f
Zm9udF9sZWFrX3RvZG9fNQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250
UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBmdW46cGFuZ29fY29udGV4dF9nZXRfbWV0cmljcwor
fQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fNgorICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBmdW46RmNEZWZhdWx0U3Vic3RpdHV0ZQorICAgLi4uCisgICBmdW46cGFuZ29faXRlbWl6
ZV93aXRoX2Jhc2VfZGlyCit9Cit7CisgICAjIFNpbWlsYXIgdG8gZm9udGNvbmZpZ19idWdfODQy
OCBiZWxvdy4gUmVwb3J0ZWQgaW4KKyAgICMgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODIxNQorICAgZm9udGNvbmZpZ19idWdfODIxNQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAg
ZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhCaW5kaW5nCit9Cit7CisgICAjIEZvbnRjb25maWcg
bGVhaywgc2VlbiBpbiBzaGFyZCAxNiBvZiAyMCBvZiB1aV90ZXN0cworICAgIyBTZWUgaHR0cHM6
Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQyOAorICAgIyBhbmQgaHR0
cDovL3d3dy5nbm9tZS5vcmcvfmpvaGFuL2d0ay5zdXBwcmVzc2lvbgorICAgZm9udGNvbmZpZ19i
dWdfODQyOAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46cmVhbGxvYworICAgZnVu
OkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhC
aW5kaW5nCit9Cit7CisgICAjIEFub3RoZXIgcGVybXV0YXRpb24gb2YgcHJldmlvdXMgbGVhay4K
KyAgIGZvbnRjb25maWdfYnVnXzg0MjhfMgorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBm
dW46cmVhbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0
dGVybk9iamVjdEFkZAorfQoreworICAgZm9udGNvbmZpZ19idWcgICAoVGhpcmQgUGFydHkpCisg
ICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY0NvbmZpZ1Zh
bHVlcworICAgZnVuOkZjQ29uZmlnVmFsdWVzCisgICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ1ZhbHVl
cworICAgZnVuOkZjQ29uZmlnVmFsdWVzCit9Cit7CisgICBidWdfNDYxNzdfYSAoVGhpcmQgUGFy
dHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0NoYXJTZXRPcGVyYXRlCisg
ICBmdW46RmNGb250U2V0U29ydAorICAgZnVuOkZjRm9udFNvcnQKKyAgIC4uLgorICAgZnVuOnBh
bmdvX2xheW91dF9nZXRfcGl4ZWxfc2l6ZQorfQoreworICAgYnVnXzQ2MTc3X2IgKFRoaXJkIFBh
cnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZD
cmVhdGUKKyAgIGZ1bjpGY0NoYXJTZXRBZGRMZWFmCisgICBmdW46RmNDaGFyU2V0T3BlcmF0ZQor
ICAgZnVuOkZjRm9udFNldFNvcnQKKyAgIGZ1bjpGY0ZvbnRTb3J0CisgICAuLi4KKyAgIGZ1bjpw
YW5nb19sYXlvdXRfZ2V0X2l0ZXIKK30KK3sKKyAgIGJ1Z180NjE3N19jIChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjQ2hhclNldEZpbmRMZWFmQ3JlYXRl
CisgICBmdW46RmNDaGFyU2V0QWRkTGVhZgorICAgZnVuOkZjQ2hhclNldE9wZXJhdGUKKyAgIGZ1
bjpGY0ZvbnRTZXRTb3J0CisgICBmdW46RmNGb250U29ydAorICAgLi4uCisgICBmdW46cGFuZ29f
bGF5b3V0X2xpbmVfZ2V0X2V4dGVudHMKK30KK3sKKyAgIGJ1Z180NjE3N19kIChUaGlyZCBQYXJ0
eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY0ZvbnRTZXRDcmVh
dGUKKyAgIGZ1bjpGY0ZvbnRTZXRTb3J0CisgICBmdW46RmNGb250U29ydAorfQoreworICAgYnVn
XzQ2MTc3X2UgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46
RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAgIGZ1bjpGY0NoYXJTZXRBZGRDaGFyCit9Cit7Cisg
ICBkbG9wZW4gbGVhayBvbiBlcnJvci4gU2VlIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxs
YS9zaG93X2J1Zy5jZ2k/aWQ9MTI4NzguCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9j
CisgICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46ZGxvcGVuQEBHTElCQ18yLjEKK30KK3sKKyAg
IF9kbF9zdGFydCBKdW1wCisgICBNZW1jaGVjazpKdW1wCisgICBvYmo6KgorICAgb2JqOioKKyAg
IGZ1bjpkbF9tYWluCisgICBmdW46X2RsX3N5c2RlcF9zdGFydAorICAgZnVuOl9kbF9zdGFydAor
ICAgb2JqOi9saWIveDg2XzY0LWxpbnV4LWdudS9sZC0yLjE1LnNvCisgICBvYmo6KgorICAgb2Jq
OioKKyAgIG9iajoqCit9CisKK3sKKyAgIGdsaWJjIGxlYWsuICBTZWUgYWxzbyBodHRwOi8vc291
cmNlcy5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNDUxCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X2RsX21hcF9vYmplY3RfZnJvbV9mZAorfQor
eworICAgIyBhcnJheSBvZiB3ZWFrIHJlZmVyZW5jZXMgZnJlZWQgYnV0IG5vdCBwcm9jZXNzZWQ/
CisgICBidWdfMTY1NzYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOmdfb2JqZWN0
X3dlYWtfcmVmCisgICBmdW46Z19vYmplY3RfYWRkX3dlYWtfcG9pbnRlcgorfQoreworICAgaHR0
cDovL3NvdXJjZXMucmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTE3MQorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOmNhbGxvYworICAgZnVuOmFsbG9jYXRlX2R0dgorICAgZnVu
Ol9kbF9hbGxvY2F0ZV90bHMKKyAgIGZ1bjpwdGhyZWFkX2NyZWF0ZUBAR0xJQkNfMi4xCit9CisK
K3sKKyAgIGdfYnVpbGRfZmlsZW5hbWUgZm9yIGZvbnRzIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisgICBmdW46Z19yZWFsbG9jCisgICBmdW46Z19zdHJp
bmdfbWF5YmVfZXhwYW5kCisgICBmdW46Z19zdHJpbmdfaW5zZXJ0X2xlbgorICAgZnVuOmdfYnVp
bGRfcGF0aF92YQorICAgZnVuOmdfYnVpbGRfZmlsZW5hbWUKKyAgIGZ1bjpfWkwxNWluaXRpYWxp
emVGb250c1BLYworfQorCisKK3sKKyAgICMgTG9va3MgbGlrZSBhIGxlYWsgaW4gZ3RrJ3MgY29k
ZSB3aGVuIGxvYWRpbmcgdGhlIGltIGNvbnRleHQgbW9kdWxlLgorICAgYnVnXzQxMjMxIChUaGly
ZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOm1hbGxvYworICAgZnVu
OmdfbWFsbG9jCisgICBmdW46Z19zdHJkdXAKKyAgIGZ1bjpndGtfaW1fbXVsdGljb250ZXh0X2dl
dF9zbGF2ZQorICAgZnVuOmd0a19pbV9tdWx0aWNvbnRleHRfc2V0X2NsaWVudF93aW5kb3cKKyAg
IGZ1bjpndGtfaW1fY29udGV4dF9zZXRfY2xpZW50X3dpbmRvdworfQoreworICAgIyBTZWUgaHR0
cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDAxNS4KKyAgIGJ1
Z181MTc3MCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisg
ICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46ZGxzeW0KK30KKworeworICAgZ19xdWFya19mcm9t
X3N0YXRpY19zdHJpbmcgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1h
bGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcK
KyAgIGZ1bjpnb2JqZWN0X2luaXRfY3RvcgorICAgZnVuOmNhbGxfaW5pdC5wYXJ0LjAKKyAgIGZ1
bjpfZGxfaW5pdAorICAgb2JqOi9saWIveDg2XzY0LWxpbnV4LWdudS9sZC0yLjE1LnNvCisgICBv
Ymo6KgorICAgb2JqOioKKyAgIG9iajoqCit9CisKK3sKKyAgIGd0a19jc3MgKFRoaXJkIHBhcnR5
KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOnJlYWxsb2MKKyAgIGZ1bjpnX3JlYWxsb2MKKyAg
IGZ1bjpnX3N0cmluZ19tYXliZV9leHBhbmQKKyAgIGZ1bjpnX3N0cmluZ19pbnNlcnRfYworICAg
ZnVuOl9ndGtfY3NzX3BhcnNlcl9yZWFkX2NoYXIKKyAgIGZ1bjpfZ3RrX2Nzc19wYXJzZXJfdHJ5
X2lkZW50CisgICBmdW46YmluZGluZ3NfdmFsdWVfcGFyc2Vfb25lCisgICBmdW46X2d0a19jc3Nf
YXJyYXlfdmFsdWVfcGFyc2UKKyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVyX2xvYWRfaW50ZXJuYWwK
KyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVyX2xvYWRfZnJvbV9kYXRhCit9Cit7CisgICAgR3RrIGxl
YWtzIGFuIFgxMSB3aW5kb3cgYnVnXzk2NDAyIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MK
KyAgIGZ1bjpnX3NsaWNlX2FsbG9jMAorICAgZnVuOmdfdHlwZV9jcmVhdGVfaW5zdGFuY2UKKyAg
IGZ1bjpnX29iamVjdF9jb25zdHJ1Y3RvcgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpn
X29iamVjdF9uZXcKKyAgIGZ1bjpfZ2RrX3dpbmRvd19pbXBsX25ldworICAgZnVuOmdka193aW5k
b3dfZW5zdXJlX25hdGl2ZQorICAgZnVuOmdka194MTFfZHJhd2FibGVfZ2V0X3hpZAorfQorCit7
CisgICBHdGsgbGVha3MgYSBjYWlybyBjb250ZXh0IChsYXJnZSBsZWFrKQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9jYWlyb19kZWZhdWx0X2NvbnRleHRfY3JlYXRl
CisgICBmdW46c2V0X2dyaXBfc2hhcGUKKyAgIGZ1bjpyZXNpemVfZ3JpcF9jcmVhdGVfd2luZG93
CisgICBmdW46Z3RrX3dpbmRvd19yZWFsaXplCit9CisKK3sKKyAgIGxlYWtzIGluIGJhc2gKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOi9iaW4vYmFzaAorfQoreworICAgRW5jaGFu
dCBzcGVsbGluZyAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIC4uLgorICAgb2JqOiovbGliZW5jaGFudC5zby4xLjYuMAorICAgZnVuOmVuY2hhbnRfYnJv
a2VyX2RpY3RfZXhpc3RzCit9CisKK3sKKyAgIEVuY2hhbnQgc3BlbGxpbmcgKFRoaXJkIHBhcnR5
KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOiphbGxvYworICAgLi4uCisgICBvYmo6Ki9saWJl
bmNoYW50LnNvLjEuNi4wCisgICBmdW46ZW5jaGFudF9icm9rZXJfZGljdF9leGlzdHMKK30KKwor
eworICAgQ2Fpcm8gbGVha3MgYSBwYXR0ZXJuX3QqIGluIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFj
ZQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmNhaXJvX3BhdHRlcm5f
Y3JlYXRlX2Zvcl9zdXJmYWNlCisgICBmdW46X2NhaXJvX2RlZmF1bHRfY29udGV4dF9zZXRfc291
cmNlX3N1cmZhY2UKKyAgIGZ1bjpjYWlyb19zZXRfc291cmNlX3N1cmZhY2UKK30KKworIyBYUmFu
ZFJJbmZvIG9iamVjdCBzZWVtcyB0byBiZSBsZWFraW5nIGluc2lkZSBYUlJGaW5kRGlzcGxheS4g
IFRoaXMgaGFwcGVucyB0aGUKKyMgZmlyc3QgdGltZSBpdCBpcyBjYWxsZWQsIG5vIG1hdHRlciB3
aG8gdGhlIGNhbGxlciBpcy4gIFdlIGhhdmUgb2JzZXJ2ZWQgdGhpcworIyBwcm9ibGVtIHdpdGgg
Ym90aCBYUlJTZWxlY3RJbnB1dCBhbmQgWFJSUXVlcnlFeHRlbnNpb24uCit7CisgICBYUlJGaW5k
RGlzcGxheSBsZWFrCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46WFJS
RmluZERpc3BsYXkKK30KK3sKKyAgIEZsYXNoIFBsYXllciBMZWFrCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIG9iajovdXNyL2xpYi9mbGFzaHBsdWdpbi1pbnN0YWxsZXIvbGliZmxhc2hw
bGF5ZXIuc28KK30KKworeworICAgT2NjYXNpb25hbCBsZWFrIGluc2lkZSBnZGtfaW5pdCgpCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpfbmxfZmluZF9k
b21haW4KKyAgIGZ1bjpfX2RjaWdldHRleHQKKyAgIGZ1bjpnZGtfc2NyZWVuX2NsYXNzX2ludGVy
bl9pbml0CisgICBmdW46Z190eXBlX2NsYXNzX3JlZgorICAgZnVuOmdfdHlwZV9jbGFzc19yZWYK
KyAgIGZ1bjpnX29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46X2dka194
MTFfc2NyZWVuX25ldworICAgZnVuOmdka19kaXNwbGF5X29wZW4KKyAgIGZ1bjpnZGtfZGlzcGxh
eV9vcGVuX2RlZmF1bHRfbGliZ3RrX29ubHkKKyAgIGZ1bjpnZGtfaW5pdF9jaGVjaworICAgZnVu
Omdka19pbml0Cit9CisKK3sKKyAgIExlYWsgaW4gWEtleXN5bVRvU3RyaW5nCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46WEtleXN5bVRvU3RyaW5nCisgICBmdW46X2dh
aWxfdXRpbF9rZXlfc25vb3BlcgorICAgZnVuOmd0a19tYWluX2RvX2V2ZW50Cit9CisKK3sKKyAg
IGdsaWIvZ3RocmVhZCBtYWxsb2MgbGVhayBpbiBjb21wb25lbnQgYnVpbGQKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjoqYWxsb2MKKyAgIC4uLgorICAgZnVuOmdfdGhyZWFkX3Byb3h5Cit9Cit7
CisgICBKYXZhIGNyZWF0ZSBKTkkgbGVhayAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIGZ1bjpKTklfQ3JlYXRlSmF2YVZNCisgICBmdW46SmF2YU1haW4KK30KKwor
eworICAgSmF2YSBzdGFydCB0aHJlYWQgbGVhayAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICAuLi4KKyAgIGZ1bjpfWk44Vk1UaHJlYWQzcnVuRXYKKyAgIGZ1bjpfWkwxMGphdmFf
c3RhcnRQNlRocmVhZAorICAgLi4uCisKK30KKworeworICAgSmF2YSBsZWFrIChvYmopIChUaGly
ZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOi91c3IvbGliL2p2bS9q
YXZhLTYtb3Blbmpkay1hbWQ2NC9qcmUvYmluL2phdmEKKyAgIC4uLgorfQoreworICAgT2NjYXNp
b25hbCBPcGVuR0wgbGVha3MgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBvYmo6Ki9saWJHTC5zby4qCisgICAuLi4KK30KKworeworICAgY2Fpcm8gcGl4bWFuIGlt
YWdlIGFsbG9jYXRlCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X3Bp
eG1hbl9pbWFnZV9hbGxvY2F0ZQorICAgZnVuOnBpeG1hbl9pbWFnZV9jcmVhdGVfYml0cworICAg
ZnVuOl9jYWlyb194bGliX3NobV9zdXJmYWNlX2NyZWF0ZS5pc3JhLjExCit9CisKK3sKKyAgIE5T
UyBwYXJzZSBsZWFrCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46bnNz
X3BhcnNlX3NlcnZpY2VfbGlzdAorICAgZnVuOl9fbnNzX2RhdGFiYXNlX2xvb2t1cAorICAgb2Jq
OioKK30KKworeworICAgR1N0cmVhbWVyIGluaXQgbGVhaworICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19pbnRlcm5fc3RyaW5nCisgICBm
dW46X3ByaXZfZ3N0X3JlZ2lzdHJ5X2NodW5rc19sb2FkX3BsdWdpbgorICAgZnVuOmV4Y2hhbmdl
X3BhY2tldHMKKyAgIGZ1bjpwbHVnaW5fbG9hZGVyX2xvYWQKKyAgIGZ1bjpnc3RfcmVnaXN0cnlf
c2Nhbl9wbHVnaW5fZmlsZQorICAgZnVuOmdzdF9yZWdpc3RyeV9zY2FuX3BhdGhfbGV2ZWwKKyAg
IGZ1bjpnc3RfcmVnaXN0cnlfc2Nhbl9wYXRoX2ludGVybmFsCisgICBmdW46Z3N0X3VwZGF0ZV9y
ZWdpc3RyeQorICAgZnVuOmluaXRfcG9zdAorICAgZnVuOmdfb3B0aW9uX2NvbnRleHRfcGFyc2UK
KyAgIGZ1bjpnc3RfaW5pdF9jaGVjaworCit9CisKK3sKKyAgIGdfdGhyZWFkIGxlYWtzIGZvciBh
c3luYyB0YXNrcworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFs
bG9jCisgICBmdW46Z19zbGljZV9hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MwCisgICBmdW46
Z19zeXN0ZW1fdGhyZWFkX25ldworICAgZnVuOmdfdGhyZWFkX25ld19pbnRlcm5hbAorICAgZnVu
OmdfdGhyZWFkX3Bvb2xfc3RhcnRfdGhyZWFkCisgICBmdW46Z190aHJlYWRfcG9vbF9wdXNoCisg
ICBmdW46Z190YXNrX3N0YXJ0X3Rhc2tfdGhyZWFkCisgICBmdW46Z190YXNrX3J1bl9pbl90aHJl
YWQKK30KKworeworICAgTGFyZ2UgbGVhayBpbiBjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9jYWlyb19pbWFnZV9zdXJm
YWNlX2NyZWF0ZV9mb3JfcGl4bWFuX2ltYWdlCisgICBmdW46X2NhaXJvX2ltYWdlX3N1cmZhY2Vf
Y3JlYXRlX3dpdGhfcGl4bWFuX2Zvcm1hdAorICAgZnVuOl9aTjdXZWJDb3JlMjFjb3B5Q2Fpcm9J
bWFnZVN1cmZhY2VFUDE0X2NhaXJvX3N1cmZhY2UKKyB9CisKKyMtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyAy
LiBpbnRlbnRpb25hbCB1bml0IHRlc3QgZXJyb3JzLCBvciBzdHVmZiB0aGF0IGlzIHNvbWVob3cg
YSBmYWxzZSBwb3NpdGl2ZQorIyBpbiBvdXIgb3duIGNvZGUsIG9yIHN0dWZmIHRoYXQgaXMgc28g
dHJpdmlhbCBpdCdzIG5vdCB3b3J0aCBmaXhpbmcKKworIyBTZWUgVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUucHkgYmVmb3JlIG1vZGlmeWluZyBzYW5pdHkgdGVz
dHMuCit7CisgICBNZW1jaGVjayBzYW5pdHkgdGVzdCAwMSAobWVtb3J5IGxlYWspLgorICAgTWVt
Y2hlY2s6TGVhaworICAgZnVuOl9abmEqCisgICBmdW46X1pONGJhc2UzMVRvb2xzU2FuaXR5VGVz
dF9NZW1vcnlMZWFrX1Rlc3Q4VGVzdEJvZHlFdgorfQorCit7CisgICBNZW1jaGVjayBzYW5pdHkg
dGVzdCAxMiAoYXJyYXkgZGVsZXRlZCB3aXRob3V0IFtdKS4KKyAgIE1lbWNoZWNrOkZyZWUKKyAg
IC4uLgorICAgZnVuOl9aTjRiYXNlNDZUb29sc1Nhbml0eVRlc3RfQXJyYXlEZWxldGVkV2l0aG91
dEJyYWNlc19UZXN0OFRlc3RCb2R5RXYKK30KK3sKKyAgIE1lbWNoZWNrIHNhbml0eSB0ZXN0IDEz
IChzaW5nbGUgZWxlbWVudCBkZWxldGVkIHdpdGggW10pLgorICAgTWVtY2hlY2s6RnJlZQorICAg
Li4uCisgICBmdW46X1pONGJhc2U1MVRvb2xzU2FuaXR5VGVzdF9TaW5nbGVFbGVtZW50RGVsZXRl
ZFdpdGhCcmFjZXNfVGVzdDhUZXN0Qm9keUV2Cit9CisKK3sKKyAgICMgQWNjb3JkaW5nIHRvIGRn
bGF6a292LCB0aGVzZSBhcmUgb25lLXRpbWUgbGVha3MgYW5kIGludGVudGlvbmFsLgorICAgIyBU
aGV5IG1heSBnbyBhd2F5IGlmIHRoZSBjaGFuZ2UgdG8gbW92ZSB0aGVzZSBvZmYgdGhlIGhlYXAg
bGFuZHMuCisgICBidWdfMTc5OTYgKEludGVudGlvbmFsKQorICAgTWVtY2hlY2s6TGVhaworICAg
Li4uCisgICBmdW46X1pON1dlYkNvcmU4U1ZHTmFtZXM0aW5pdEV2Cit9CisKK3sKKyAgICMgVGhp
cyBpcyBhbiBvbiBkZW1hbmQgaW5pdGlhbGl6YXRpb24gd2hpY2ggaXMgZG9uZSBhbmQgdGhlbiBp
bnRlbnRpb25hbGx5CisgICAjIGtlcHQgYXJvdW5kIChub3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9j
ZXNzIGlzIHJ1bm5pbmcuCisgICBpbnRlbnRpb25hbF9XZWJDb3JlX1hNTE5hbWVzX2luaXRfbGVh
aworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46X1pON1dlYkNvcmU4WE1MTmFtZXM0
aW5pdEV2Cit9Cit7CisgICAjIFRoaXMgaXMgV2ViS2l0IHdpZGUgdGhlYWRpbmcgaW5pdGlhbGl6
YXRpb24gd2hpY2ggaXMgaW50ZW50aW9uYWxseSBrZXB0CisgICAjIGFyb3VuZCAobm90IGZyZWVk
KSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5uaW5nLgorICAgaW50ZW50aW9uYWxfV1RGX1RocmVh
ZElkZW50aWZpZXJEYXRhX2luaXRpYWxpemVfbGVhaworICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBmdW46X1pOM1dURjIwVGhyZWFkSWRlbnRpZmllckRhdGExMGluaXRpYWxpemVFagorfQor
eworICAgIyBUaGlzIGlzIFdlYktpdCB3aWRlIHRoZWFkaW5nIGluaXRpYWxpemF0aW9uIHdoaWNo
IGlzIGludGVudGlvbmFsbHkga2VwdAorICAgIyBhcm91bmQgKG5vdCBmcmVlZCkgd2hpbGUgdGhl
IHByb2Nlc3MgaXMgcnVubmluZy4KKyAgIGludGVudGlvbmFsX1dURl93dGZUaHJlYWREYXRhX2xl
YWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjNXVEYxM3d0ZlRocmVhZERh
dGFFdgorfQorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgMy4gU3VwcHJlc3Npb25zIGZvciByZWFsIHdl
YmtpdCBidWdzIHRoYXQgYXJlIG5vdCB5ZXQgZml4ZWQuCisjIFRoZXNlIHNob3VsZCBhbGwgYmUg
aW4gd2Via2l0J3MgYnVnIHRyYWNraW5nIHN5c3RlbSAoYnV0IGEgZmV3IGFyZW4ndCB5ZXQpLgor
Cit7CisgICBMZWFrIHdlYmtpdEFjY2Vzc2libGVOZXcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExODM4MgorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOiphbGxvYwor
ICAgLi4uCisgICBmdW46d2Via2l0QWNjZXNzaWJsZU5ldworICAgZnVuOl9aTjdXZWJDb3JlMTNB
WE9iamVjdENhY2hlMTNhdHRhY2hXcmFwcGVyRVBOU18xOUFjY2Vzc2liaWxpdHlPYmplY3RFCit9
CisKKworeworICAgTGVhayBhdGsgdGl0bGUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExODM4NQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVu
OmdfbWFsbG9jCisgICBmdW46Z19zdHJkdXAKKyAgIGZ1bjpfWkwyN3dlYmtpdEFjY2Vzc2libGVU
ZXh0R2V0VGV4dFA4X0F0a1RleHRpaQorICAgZnVuOl9aTDIzd2Via2l0QWNjZXNzaWJsZUdldE5h
bWVQMTBfQXRrT2JqZWN0Cit9CisKK3sKKyAgIEF0a1Byb3BlcnR5IGlzIGNhY2hlZCBidXQgbm90
IHJlbGVhc2VkCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dU
RjEwZmFzdE1hbGxvY0VtCisgICBmdW46X1pOM1dURjEzQ1N0cmluZ0J1ZmZlcjE5Y3JlYXRlVW5p
bml0aWFsaXplZEVtCisgICBmdW46X1pOM1dURjdDU3RyaW5nNGluaXRFUEtjbQorICAgZnVuOl9a
TjNXVEY3Q1N0cmluZ0MxRVBLY20KKyAgIGZ1bjpfWk5LM1dURjZTdHJpbmc0dXRmOEVOUzBfMTRD
b252ZXJzaW9uTW9kZUUKKyAgIGZ1bjpjYWNoZUFuZFJldHVybkF0a1Byb3BlcnR5Cit9CisKK3sK
KyAgIEF0a1JlbGF0aW9uU2V0IGlzIG5ldmVyIGZyZWVkIGJlY2F1c2UgdGhlIHRhcmdldCBBdGtP
YmplY3QgaXMgY2FjaGVkIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTg1NjcKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIC4uLgorICAgZnVuOmdf
b2JqZWN0X3dlYWtfcmVmCisgICBmdW46YXRrX3JlbGF0aW9uX3NldF9wcm9wZXJ0eQorICAgZnVu
Omdfb2JqZWN0X25ld3YKKyAgIGZ1bjpnX29iamVjdF9uZXdfdmFsaXN0CisgICBmdW46Z19vYmpl
Y3RfbmV3CisgICBmdW46YXRrX3JlbGF0aW9uX25ldworICAgZnVuOmF0a19yZWxhdGlvbl9zZXRf
YWRkX3JlbGF0aW9uX2J5X3R5cGUKKyAgIGZ1bjpfWkwzMXNldEF0a1JlbGF0aW9uU2V0RnJvbUNv
cmVPYmplY3RQTjdXZWJDb3JlMTlBY2Nlc3NpYmlsaXR5T2JqZWN0RVAxNV9BdGtSZWxhdGlvblNl
dAorICAgZnVuOl9aTDMwd2Via2l0QWNjZXNzaWJsZVJlZlJlbGF0aW9uU2V0UDEwX0F0a09iamVj
dAorICAgZnVuOl9aTjIyQWNjZXNzaWJpbGl0eVVJRWxlbWVudDE0dGl0bGVVSUVsZW1lbnRFdgor
fQorCit7CisgICBMZWFrIFBsdWdpbk9iamVjdCBpbiBleGNlcHRpb25hbCBjaXJjdW1zdGFuY2Vz
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg1MjgKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpfWkwxNHBsdWdpbkFsbG9jYXRlUDRfTlBQ
UDdOUENsYXNzCisgICBmdW46X05QTl9DcmVhdGVPYmplY3QKKyAgIGZ1bjpOUFBfTmV3CisgICBm
dW46X1pON1dlYkNvcmUxMFBsdWdpblZpZXc1c3RhcnRFdgorfQorCit7CisgICBUZXh0Q29kZWNJ
Q1U6OnJlZ2lzdGVyQ29kZWNzIGlzIGxlYWtpbmcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExODUwNQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
ZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxMGZhc3RTdHJEdXBFUEtj
CisgICBmdW46X1pON1dlYkNvcmUxMlRleHRDb2RlY0lDVTE0cmVnaXN0ZXJDb2RlY3NFUEZ2UEtj
UEZOM1dURjEwUGFzc093blB0cklOU185VGV4dENvZGVjRUVFUktOU18xMlRleHRFbmNvZGluZ0VQ
S3ZFU0JfRQorfQorCit7CisgICBXVEY6OkJpdFZlY3RvciBpcyBsZWFraW5nCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pOM1dURjEwZmFzdE1hbGxvY0VtCisgICBm
dW46X1pOM1dURjlCaXRWZWN0b3IxM091dE9mTGluZUJpdHM2Y3JlYXRlRW0KKyAgIGZ1bjpfWk4z
V1RGOUJpdFZlY3RvcjE1cmVzaXplT3V0T2ZMaW5lRW0KKyAgIGZ1bjpfWk4zV1RGOUJpdFZlY3Rv
cjEwZW5zdXJlU2l6ZUVtCisgICBmdW46X1pOM1dURjlCaXRWZWN0b3JDMUVtCit9CisKK3sKKyAg
IER1bXBSZW5kZXJUcmVlIFdlYktpdFdlYlZpZXcgaXMgbGVha2VkCisgICBNZW1jaGVjazpMZWFr
CisgICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3NsaWNlX2FsbG9jCisg
ICBmdW46Z19zbGlzdF9wcmVwZW5kCisgICBmdW46X1pMMTN3ZWJWaWV3Q3JlYXRlUDE0X1dlYktp
dFdlYlZpZXdQMTVfV2ViS2l0V2ViRnJhbWUKKyAgIGZ1bjp3ZWJraXRfbWFyc2hhbF9PQkpFQ1Rf
X09CSkVDVAorICAgZnVuOmdfY2xvc3VyZV9pbnZva2UKKyAgIGZ1bjpzaWduYWxfZW1pdF91bmxv
Y2tlZF9SCisgICBmdW46Z19zaWduYWxfZW1pdF92YWxpc3QKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0
X2J5X25hbWUKKyAgIGZ1bjpfWk42V2ViS2l0MTJDaHJvbWVDbGllbnQxMmNyZWF0ZVdpbmRvd0VQ
TjdXZWJDb3JlNUZyYW1lRVJLTlMxXzE2RnJhbWVMb2FkUmVxdWVzdEVSS05TMV8xNFdpbmRvd0Zl
YXR1cmVzRVJLTlMxXzE2TmF2aWdhdGlvbkFjdGlvbkUKKyAgIGZ1bjpfWk5LN1dlYkNvcmU2Q2hy
b21lMTJjcmVhdGVXaW5kb3dFUE5TXzVGcmFtZUVSS05TXzE2RnJhbWVMb2FkUmVxdWVzdEVSS05T
XzE0V2luZG93RmVhdHVyZXNFUktOU18xNk5hdmlnYXRpb25BY3Rpb25FCisgICBmdW46X1pON1dl
YkNvcmUxMmNyZWF0ZVdpbmRvd0VQTlNfNUZyYW1lRVMxX1JLTlNfMTZGcmFtZUxvYWRSZXF1ZXN0
RVJLTlNfMTRXaW5kb3dGZWF0dXJlc0VSYgorICAgZnVuOl9aTjdXZWJDb3JlOURPTVdpbmRvdzEy
Y3JlYXRlV2luZG93RVJLTjNXVEY2U3RyaW5nRVJLTlMxXzEyQXRvbWljU3RyaW5nRVJLTlNfMTRX
aW5kb3dGZWF0dXJlc0VQUzBfUE5TXzVGcmFtZUVTRF9QRnZTQl9QdkVTRV8KKyAgIGZ1bjpfWk43
V2ViQ29yZTlET01XaW5kb3c0b3BlbkVSS04zV1RGNlN0cmluZ0VSS05TMV8xMkF0b21pY1N0cmlu
Z0VTNF9QUzBfUzhfCisgICBmdW46X1pON1dlYkNvcmUxMUpTRE9NV2luZG93NG9wZW5FUE4zSlND
OUV4ZWNTdGF0ZUUKKyAgIGZ1bjpfWk43V2ViQ29yZTMyanNET01XaW5kb3dQcm90b3R5cGVGdW5j
dGlvbk9wZW5FUE4zSlNDOUV4ZWNTdGF0ZUUKKyAgIG9iajoqCisgICBmdW46X1pOM0pTQzdKSVRD
b2RlN2V4ZWN1dGVFUE5TXzdKU1N0YWNrRVBOU185RXhlY1N0YXRlRVBOU18yVk1FCisgICBmdW46
X1pOM0pTQzExSW50ZXJwcmV0ZXIxMWV4ZWN1dGVDYWxsRVBOU185RXhlY1N0YXRlRVBOU184SlNP
YmplY3RFTlNfOENhbGxUeXBlRVJLTlNfOENhbGxEYXRhRU5TXzdKU1ZhbHVlRVJLTlNfN0FyZ0xp
c3RFCisgICBmdW46X1pOM0pTQzRjYWxsRVBOU185RXhlY1N0YXRlRU5TXzdKU1ZhbHVlRU5TXzhD
YWxsVHlwZUVSS05TXzhDYWxsRGF0YUVTMl9SS05TXzdBcmdMaXN0RQorICAgZnVuOl9aTjdXZWJD
b3JlMjFKU01haW5UaHJlYWRFeGVjU3RhdGU0Y2FsbEVQTjNKU0M5RXhlY1N0YXRlRU5TMV83SlNW
YWx1ZUVOUzFfOENhbGxUeXBlRVJLTlMxXzhDYWxsRGF0YUVTNF9SS05TMV83QXJnTGlzdEUKK30K
KworeworICAgTWVtb3J5IGlzIG5vdCBmcmVlZCBmcm9tIHRoZSBET00gT2JqZWN0IENhY2hlCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpn
X3NsaWNlX2FsbG9jCisgICBmdW46X1pONldlYktpdDE0RE9NT2JqZWN0Q2FjaGUzcHV0RVB2UzFf
CisgICBmdW46X1pMMzN3ZWJraXRfZG9tX2RvbV93aW5kb3dfY29uc3RydWN0b3JtalAyMl9HT2Jq
ZWN0Q29uc3RydWN0UGFyYW0KKyAgIGZ1bjpnX29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3Rf
bmV3X3ZhbGlzdAorICAgZnVuOmdfb2JqZWN0X25ldworICAgZnVuOl9aTjZXZWJLaXQxM3dyYXBE
T01XaW5kb3dFUE43V2ViQ29yZTlET01XaW5kb3dFCisgICBmdW46X1pONldlYktpdDNraXRFUE43
V2ViQ29yZTlET01XaW5kb3dFCisgICBmdW46d2Via2l0X2RvbV9kb2N1bWVudF9nZXRfZGVmYXVs
dF92aWV3CisgICBmdW46X1oyM2R1bXBGcmFtZVNjcm9sbFBvc2l0aW9uUDE1X1dlYktpdFdlYkZy
YW1lCisgICBmdW46X1o0ZHVtcHYKKyAgIGZ1bjpfWkwyN3RvcExvYWRpbmdGcmFtZUxvYWRGaW5p
c2hlZHYKKyAgIGZ1bjpfWkwyNndlYkZyYW1lTG9hZFN0YXR1c05vdGlmaWVkUDE1X1dlYktpdFdl
YkZyYW1lUHYKKyAgIGZ1bjpnX2Nsb3N1cmVfaW52b2tlCisgICBmdW46c2lnbmFsX2VtaXRfdW5s
b2NrZWRfUgorICAgZnVuOmdfc2lnbmFsX2VtaXRfdmFsaXN0CisgICBmdW46Z19zaWduYWxfZW1p
dAorICAgZnVuOmdfb2JqZWN0X2Rpc3BhdGNoX3Byb3BlcnRpZXNfY2hhbmdlZAorICAgZnVuOmdf
b2JqZWN0X25vdGlmeQorICAgZnVuOl9aTjZXZWJLaXRMMTJub3RpZnlTdGF0dXNFUDE1X1dlYktp
dFdlYkZyYW1lMTZXZWJLaXRMb2FkU3RhdHVzCit9CisKK3sKKyAgIFdURjo6VGhyZWFkU3BlY2lm
aWM6OnNldCgpIGxlYWtzCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoKKyAgIGZ1bjpf
Wk4zV1RGMTRUaHJlYWRTcGVjaWZpY0liRTNzZXRFUGIKKyAgIGZ1bjpfWk4zV1RGMTRUaHJlYWRT
cGVjaWZpY0liRWN2UGJFdgorICAgZnVuOl9aTjNXVEYxNFRocmVhZFNwZWNpZmljSWJFZGVFdgor
ICAgZnVuOl9aTjNXVEYxNnJlZ2lzdGVyR0NUaHJlYWRFdgorICAgZnVuOl9aTjNKU0M4R0NUaHJl
YWQxMmdjVGhyZWFkTWFpbkV2CisgICBmdW46X1pOM0pTQzhHQ1RocmVhZDE3Z2NUaHJlYWRTdGFy
dEZ1bmNFUHYKKyAgIGZ1bjpfWk4zV1RGTDE2dGhyZWFkRW50cnlQb2ludEVQdgorfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206519</attachid>
            <date>2013-07-12 03:18:41 -0700</date>
            <delta_ts>2013-07-17 03:00:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116317-20130712111638.patch</filename>
            <type>text/plain</type>
            <size>79928</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTcxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTcwMzkxMTg3ZTQxOTg3M2I2ZWU1MjZlZjE3OTVlYWMw
NmUyODQ0ZS4uYTAwODFlNzNiMGMwM2QwOTY0NDAwZGQwZGViYTA1ZGY3MDkyZDI3YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg0
IEBACisyMDEzLTA3LTExICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbR1RLXSBNZXRhYnVnOiBNZW1vcnkgbGVhayBkZXRlY3Rpb24gdXNpbmcgdmFsZ3Jp
bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjMx
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExhdW5j
aCB0aGUgRFJUIHVuZGVyIFZhbGdyaW5kIHRvIGdlbmVyYXRlIGEgeG1sIGZpbGUgd2l0aCBkZXRh
aWxzCisgICAgICAgIG9mIGxlYWtzIGZvdW5kLCBhbmQgdGhlbiB0byBwYXJzZSB0aGlzIGZpbGUg
YW5kIGRpc3BsYXkgdGhpcworICAgICAgICBpbmZvcm1hdGlvbi4gIEZhaWx1cmVzIHNob3VsZCBy
ZXN1bHQgaW4gdGhlIGZpbGluZyBvZiBtZW1vcnkgYnVncworICAgICAgICBhbmQgYWRkaW5nIHRo
ZSBlcnJvciB0byB0aGUgc3VwcHJlc3Npb24gZmlsZS4KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHk6CisgICAgICAgIChwYXJzZV9h
cmdzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAg
KFBvcnQuY2hlY2tfZm9yX2xlYWtzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
Y29tbW9uLnB5OiBBZGRlZC4KKyAgICAgICAgKE5vdEltcGxlbWVudGVkRXJyb3IpOgorICAgICAg
ICAoVGltZW91dEVycm9yKToKKyAgICAgICAgKF9wcmludF9saW5lKToKKyAgICAgICAgKFJ1blN1
YnByb2Nlc3NJbkJhY2tncm91bmQpOgorICAgICAgICAoUnVuU3VicHJvY2Vzcyk6CisgICAgICAg
IChJc0xpbnV4KToKKyAgICAgICAgKElzTWFjKToKKyAgICAgICAgKElzV2luZG93cyk6CisgICAg
ICAgIChXaW5kb3dzVmVyc2lvbk5hbWUpOgorICAgICAgICAoUGxhdGZvcm1OYW1lcyk6CisgICAg
ICAgIChQdXRFbnZBbmRMb2cpOgorICAgICAgICAoQm9yaW5nQ2FsbGVycyk6CisgICAgICAgIChO
b3JtYWxpemVXaW5kb3dzUGF0aCk6CisgICAgICAgIChQcmludFVzZWRTdXBwcmVzc2lvbnNMaXN0
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ2RiX2hlbHBlci5weTogQWRkZWQu
CisgICAgICAgIChfR2RiT3V0cHV0VG9GaWxlTGluZSk6CisgICAgICAgIChSZXNvbHZlQWRkcmVz
c2VzV2l0aGluQUJpbmFyeSk6CisgICAgICAgIChBZGRyZXNzVGFibGUpOgorICAgICAgICAoQWRk
cmVzc1RhYmxlLl9faW5pdF9fKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5BZGRCaW5hcnlBdCk6
CisgICAgICAgIChBZGRyZXNzVGFibGUuQWRkKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5SZXNv
bHZlQWxsKToKKyAgICAgICAgKEFkZHJlc3NUYWJsZS5HZXRGaWxlTGluZSk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAgICAgICAgKEd0a1BvcnQuX19pbml0X18p
OgorICAgICAgICAoR3RrUG9ydC5kZWZhdWx0X3RpbWVvdXRfbXMpOgorICAgICAgICAoR3RrUG9y
dC5kcml2ZXJfc3RvcF90aW1lb3V0KToKKyAgICAgICAgKEd0a1BvcnQuc2V0dXBfZW52aXJvbl9m
b3Jfc2VydmVyKToKKyAgICAgICAgKEd0a1BvcnQuX2dlbmVyYXRlX2FsbF90ZXN0X2NvbmZpZ3Vy
YXRpb25zKToKKyAgICAgICAgKEd0a1BvcnQuY2hlY2tfZm9yX2xlYWtzKToKKyAgICAgICAgKEd0
a1BvcnQpOgorICAgICAgICAoR3RrUG9ydC5wcmludF9sZWFrc19zdW1tYXJ5KToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrX2xlYWtkZXRlY3Rvci5weTogQWRkZWQuCisgICAg
ICAgIChHdGtMZWFrRGV0ZWN0b3IpOgorICAgICAgICAoR3RrTGVha0RldGVjdG9yLl9faW5pdF9f
KToKKyAgICAgICAgKEd0a0xlYWtEZXRlY3Rvci5wYXJzZV9sZWFrc19vdXRwdXQpOgorICAgICAg
ICAoR3RrTGVha0RldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeSk6CisgICAgICAgIChH
dGtMZWFrRGV0ZWN0b3IubGVha3NfZmlsZV9uYW1lKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvbWFjLnB5OgorICAgICAgICAoTWFjUG9ydC5jaGVja19mb3JfbGVha3MpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9tZW1jaGVja19hbmFseXplLnB5OiBBZGRlZC4K
KyAgICAgICAgKGdldFRleHRPZik6CisgICAgICAgIChnZXRDREFUQU9mKToKKyAgICAgICAgKHNo
b3J0ZW5GaWxlUGF0aCk6CisgICAgICAgIChnYXRoZXJGcmFtZXMpOgorICAgICAgICAoVmFsZ3Jp
bmRFcnJvcik6CisgICAgICAgIChWYWxncmluZEVycm9yLl9faW5pdF9fKToKKyAgICAgICAgKFZh
bGdyaW5kRXJyb3IuX19zdHJfXyk6CisgICAgICAgIChWYWxncmluZEVycm9yLlVuaXF1ZVN0cmlu
Zyk6CisgICAgICAgIChWYWxncmluZEVycm9yLkVycm9ySGFzaCk6CisgICAgICAgIChWYWxncmlu
ZEVycm9yLl9faGFzaF9fKToKKyAgICAgICAgKFZhbGdyaW5kRXJyb3IuX19lcV9fKToKKyAgICAg
ICAgKGxvZ19pc19maW5pc2hlZCk6CisgICAgICAgIChNZW1jaGVja0FuYWx5emVyKToKKyAgICAg
ICAgKE1lbWNoZWNrQW5hbHl6ZXIuX19pbml0X18pOgorICAgICAgICAoTWVtY2hlY2tBbmFseXpl
ci5SZXBvcnQpOgorICAgICAgICAoX21haW4pOgorICAgICAgICAoX21haW4uc2hvdWxkKToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nlc3MucHk6CisgICAgICAg
IChTZXJ2ZXJQcm9jZXNzLnN0b3ApOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9z
ZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weToKKyAgICAgICAgKFRyaXZpYWxNb2NrUG9ydC5jaGVj
a19mb3JfbGVha3MpOgorICAgICAgICAqIHZhbGdyaW5kL21lbWNoZWNrL3N1cHByZXNzaW9ucy50
eHQ6IEFkZGVkLgorCiAyMDEzLTA3LTEwICBTZXJnaW8gQ29ycmVpYSAgPHNlcmdpby5jb3JyZWlh
QG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgSGFuZGxlICJsb2FkLHByb3Zpc2lvbmFsLGZhaWxl
ZCIgd2l0aCB0aGUgb25fZXJyb3IgY2FsbGJhY2sgb24gRUZMIE1pbmlCcm93c2VyCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3Rz
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
cy5weQppbmRleCA2YjRiYjc2ZDFlMWEzYWI0YWRhYTlkMjZjZDgzZmVmNGUxN2YzNmU4Li5jYWYz
ZmUwNGM3YTRmMjM0ODQ1MzQwNGU2YTQyMGJiOWM0ODRiMTdiIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKQEAg
LTExMCw3ICsxMTAsNyBAQCBkZWYgcGFyc2VfYXJncyhhcmdzKToKICAgICAgICAgb3B0cGFyc2Uu
bWFrZV9vcHRpb24oIi0tY29tcGxleC10ZXh0IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVs
dD1GYWxzZSwKICAgICAgICAgICAgIGhlbHA9IlVzZSB0aGUgY29tcGxleCB0ZXh0IGNvZGUgcGF0
aCBmb3IgYWxsIHRleHQgKE1hYyBPUyBYIGFuZCBXaW5kb3dzIG9ubHkpIiksCiAgICAgICAgIG9w
dHBhcnNlLm1ha2Vfb3B0aW9uKCItbCIsICItLWxlYWtzIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwg
ZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgIGhlbHA9IkVuYWJsZSBsZWFrcyBjaGVja2luZyAo
TWFjIE9TIFggb25seSkiKSwKKyAgICAgICAgICAgIGhlbHA9IkVuYWJsZSBsZWFrcyBjaGVja2lu
ZyAoTWFjIE9TIFggYW5kIEd0aysgb25seSkiKSwKICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRp
b24oIi1nIiwgIi0tZ3VhcmQtbWFsbG9jIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1G
YWxzZSwKICAgICAgICAgICAgIGhlbHA9IkVuYWJsZSBHdWFyZCBNYWxsb2MgKE1hYyBPUyBYIG9u
bHkpIiksCiAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXRocmVhZGVkIiwgYWN0aW9u
PSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2Uu
cHkKaW5kZXggZjc2OGExZjcyYTdhMGZiMjg5MjUwZTJjZjI5OGQyYzNkZDU4ODE5OC4uZTk4MWNk
YzdhYzE0OGI0NzU0MjcwYTIyNmM3MjEzNGI5OWEyMGQ1MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2Jhc2UucHkKQEAgLTM4MSw3ICszODEsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxfZmlsZW5hbWUpCiAgICAgICAg
IHJldHVybiAnJy5qb2luKGRpZmYpCiAKLSAgICBkZWYgY2hlY2tfZm9yX2xlYWtzKHNlbGYsIHBy
b2Nlc3NfbmFtZSwgcHJvY2Vzc19waWQpOgorICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwg
cHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCwgaXNfcnVubmluZyk6CiAgICAgICAgICMgU3ViY2xh
c3NlcyBzaG91bGQgY2hlY2sgZm9yIGxlYWtzIGluIHRoZSBydW5uaW5nIHByb2Nlc3MKICAgICAg
ICAgIyBhbmQgcHJpbnQgYW55IG5lY2Vzc2FyeSB3YXJuaW5ncyBpZiBsZWFrcyBhcmUgZm91bmQu
CiAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciBtb3ZpbmcgbXVjaCBvZiB0aGlz
IGxvZ2ljIGludG8KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9jb21t
b24ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvY29tbW9uLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ5MjMwZDAwNWQxNThkNGUyMzQzZjY1ODI4M2Q4ZWJkODYxMWNmOTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvY29tbW9uLnB5CkBAIC0wLDAgKzEsMzEw
IEBACisjIE9yaWdpbmFsbHkgZnJvbSBDaHJvbWl1bSwgY29weXJpZ2h0IGFzIGZvbGxvd3M6Cisj
CisjIENvcHlyaWdodCAoYykgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRp
c3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgcGxh
dGZvcm0KK2ltcG9ydCBvcworaW1wb3J0IHNpZ25hbAoraW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9y
dCBzeXMKK2ltcG9ydCB0aW1lCisKKworY2xhc3MgTm90SW1wbGVtZW50ZWRFcnJvcihFeGNlcHRp
b24pOgorICAgIHBhc3MKKworCitjbGFzcyBUaW1lb3V0RXJyb3IoRXhjZXB0aW9uKToKKyAgICBw
YXNzCisKKworZGVmIF9wcmludF9saW5lKGxpbmUsIGZsdXNoPVRydWUpOgorICAgICMgUHJpbnRp
bmcgdG8gYSB0ZXh0IGZpbGUgKGluY2x1ZGluZyBzdGRvdXQpIG9uIFdpbmRvd3MgYWx3YXlzIHdp
bmRzIHVwCisgICAgIyB1c2luZyBcclxuIGF1dG9tYXRpY2FsbHkuIE9uIGJ1aWxkYm90LCB0aGlz
IHdpbmRzIHVwIGJlaW5nIHJlYWQgYnkgYQorICAgICMgbWFzdGVyIHJ1bm5pbmcgb24gTGludXgs
IHNvIHdlIG1hbnVhbGx5IGNvbnZlcnQgY3JsZiB0byAnXG4nLgorICAgIHByaW50IGxpbmUucnN0
cmlwKCkgKyAnXG4nLAorICAgIGlmIGZsdXNoOgorICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkK
KworCitkZWYgUnVuU3VicHJvY2Vzc0luQmFja2dyb3VuZChwcm9jKToKKyAgICAiIiJSdW5zIGEg
c3VicHJvY2VzcyBpbiB0aGUgYmFja2dyb3VuZC4gUmV0dXJucyBhIGhhbmRsZSB0byB0aGUgcHJv
Y2Vzcy4iIiIKKyAgICBsb2dnaW5nLmluZm8oInJ1bm5pbmcgJXMgaW4gdGhlIGJhY2tncm91bmQi
ICUgIiAiLmpvaW4ocHJvYykpCisgICAgcmV0dXJuIHN1YnByb2Nlc3MuUG9wZW4ocHJvYykKKwor
CitkZWYgUnVuU3VicHJvY2Vzcyhwcm9jLCB0aW1lb3V0PTAsIGRldGFjaD1GYWxzZSwgYmFja2dy
b3VuZD1GYWxzZSk6CisgICAgIiIiIFJ1bnMgYSBzdWJwcm9jZXNzLCB1bnRpbCBpdCBmaW5pc2hl
cyBvciB8dGltZW91dHwgaXMgZXhjZWVkZWQgYW5kIHRoZQorICAgIHByb2Nlc3MgaXMga2lsbGVk
IHdpdGggdGFza2tpbGwuICAgIEEgfHRpbWVvdXR8IDw9IDAgICAgbWVhbnMgbm8gdGltZW91dC4K
KworICAgIEFyZ3M6CisgICAgICAgIHByb2M6IGxpc3Qgb2YgcHJvY2VzcyBjb21wb25lbnRzIChl
eGUgKyBhcmdzKQorICAgICAgICB0aW1lb3V0OiBob3cgbG9uZyB0byB3YWl0IGJlZm9yZSBraWxs
aW5nLCA8PSAwIG1lYW5zIHdhaXQgZm9yZXZlcgorICAgICAgICBkZXRhY2g6IFdoZXRoZXIgdG8g
cGFzcyB0aGUgREVUQUNIRURfUFJPQ0VTUyBhcmd1bWVudCB0byBDcmVhdGVQcm9jZXNzCisgICAg
ICAgICAgb24gV2luZG93cy4gIFRoaXMgaXMgdXNlZCBieSBQdXJpZnkgc3VicHJvY2Vzc2VzIG9u
IGJ1aWxkYm90IHdoaWNoCisgICAgICAgICAgc2VlbSB0byBnZXQgY29uZnVzZWQgYnkgdGhlIHBh
cmVudCBjb25zb2xlIHRoYXQgYnVpbGRib3Qgc2V0cyB1cC4KKyAgICAiIiIKKworICAgIGxvZ2dp
bmcuaW5mbygicnVubmluZyAlcywgdGltZW91dCAlZCBzZWMiICUgKCIgIi5qb2luKHByb2MpLCB0
aW1lb3V0KSkKKyAgICBpZiBkZXRhY2g6CisgICAgICAgICMgc2VlIE1TRE4gZG9jcyBmb3IgIlBy
b2Nlc3MgQ3JlYXRpb24gRmxhZ3MiLgorICAgICAgICBERVRBQ0hFRF9QUk9DRVNTID0gMHg4Cisg
ICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKHByb2MsIGNyZWF0aW9uZmxhZ3M9REVUQUNIRURf
UFJPQ0VTUykKKyAgICBlbHNlOgorICAgICAgICAjIEZvciBub24tZGV0YWNoZWQgcHJvY2Vzc2Vz
LCBtYW51YWxseSByZWFkIGFuZCBwcmludCBvdXQgc3Rkb3V0IGFuZAorICAgICAgICAjIHN0ZGVy
ci4gQnkgZGVmYXVsdCwgdGhlIHN1YnByb2Nlc3MgaXMgc3VwcG9zZWQgdG8gaW5oZXJpdCB0aGVz
ZSBmcm9tCisgICAgICAgICMgaXRzIHBhcmVudCwgaG93ZXZlciB3aGVuIHJ1biB1bmRlciBidWls
ZGJvdCwgaXQgc2VlbXMgdW5hYmxlIHRvIHJlYWQKKyAgICAgICAgIyBkYXRhIGZyb20gYSBncmFu
ZGNoaWxkIHByb2Nlc3MsIHNvIHdlIGhhdmUgdG8gcmVhZCB0aGUgY2hpbGQgYW5kCisgICAgICAg
ICMgcHJpbnQgdGhlIGRhdGEgYXMgaWYgaXQgY2FtZSBmcm9tIHVzIGZvciBidWlsZGJvdCB0byBy
ZWFkIGl0LgorICAgICAgICAjIFdlJ3JlIG5vdCBzdXJlIHdoeSB0aGlzIGlzIG5lY2Vzc2FyeS4K
KyAgICAgICAgIyBUT0RPKGVyaWtrYXkpOiBzaG91bGQgd2UgYnVmZmVyIHN0ZGVyciBhbmQgc3Rk
b3V0IHNlcGFyYXRlbHk/CisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKHByb2MsIHN0ZG91
dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1z
dWJwcm9jZXNzLlNURE9VVCkKKworICAgIGxvZ2dpbmcuaW5mbygic3RhcnRlZCBzdWJwcm9jZXNz
IikKKworICAgICMgSG93IGxvbmcgdG8gd2FpdCAoaW4gc2Vjb25kcykgYmVmb3JlIHByaW50aW5n
IHByb2dyZXNzIGxvZyBtZXNzYWdlcy4KKyAgICBwcm9ncmVzc19kZWxheSA9IDMwMAorICAgIHBy
b2dyZXNzX2RlbGF5X3RpbWUgPSB0aW1lLnRpbWUoKSArIHByb2dyZXNzX2RlbGF5CisgICAgZGlk
X3RpbWVvdXQgPSBGYWxzZQorICAgIGlmIHRpbWVvdXQgPiAwOgorICAgICAgICB3YWl0X3VudGls
ID0gdGltZS50aW1lKCkgKyB0aW1lb3V0CisgICAgd2hpbGUgcC5wb2xsKCkgaXMgTm9uZSBhbmQg
bm90IGRpZF90aW1lb3V0OgorICAgICAgICBpZiBub3QgZGV0YWNoOgorICAgICAgICAgICAgbGlu
ZSA9IHAuc3Rkb3V0LnJlYWRsaW5lKCkKKyAgICAgICAgICAgIHdoaWxlIGxpbmUgYW5kIG5vdCBk
aWRfdGltZW91dDoKKyAgICAgICAgICAgICAgICBfcHJpbnRfbGluZShsaW5lKQorICAgICAgICAg
ICAgICAgIGxpbmUgPSBwLnN0ZG91dC5yZWFkbGluZSgpCisgICAgICAgICAgICAgICAgaWYgdGlt
ZW91dCA+IDA6CisgICAgICAgICAgICAgICAgICAgIGRpZF90aW1lb3V0ID0gdGltZS50aW1lKCkg
PiB3YWl0X3VudGlsCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIFdoZW4gd2UgZGV0YWNo
LCBibG9ja2luZyBvbiByZWFkaW5nIHN0ZG91dCBkb2Vzbid0IHdvcmssIHNvCisgICAgICAgICAg
ICAjIHdlIHNsZWVwIGEgc2hvcnQgdGltZSBhbmQgcG9sbC4KKyAgICAgICAgICAgIHRpbWUuc2xl
ZXAoMC41KQorICAgICAgICAgICAgaWYgdGltZS50aW1lKCkgPj0gcHJvZ3Jlc3NfZGVsYXlfdGlt
ZToKKyAgICAgICAgICAgICAgICAjIEZvcmNlIG91dHB1dCBvbiBhIHBlcmlvZGljIGJhc2lzIHRv
IGF2b2lkIGdldHRpbmcga2lsbGVkIG9mZgorICAgICAgICAgICAgICAgICMgYnkgdGhlIGJ1aWxk
Ym90LgorICAgICAgICAgICAgICAgICMgVE9ETyhlcmlra2F5KTogSSdkIHByZWZlciBhIGxlc3Mg
b2J0cnVzaXZlICdwcmludCAiLiIsJyB3aXRoCisgICAgICAgICAgICAgICAgIyBhIGZsdXNoIGJ1
dCBiZWNhdXNlIG9mIGhvdyB3ZSdyZSBkb2luZyBzdWJwcm9jZXNzZXMsIHRoaXMKKyAgICAgICAg
ICAgICAgICAjIGRvZXNuJ3QgYXBwZWFyIHRvIHdvcmsgcmVsaWFibHkuCisgICAgICAgICAgICAg
ICAgbG9nZ2luZy5pbmZvKCIlcyBzdGlsbCBydW5uaW5nLi4uIiAlIG9zLnBhdGguYmFzZW5hbWUo
cHJvY1swXSkpCisgICAgICAgICAgICAgICAgcHJvZ3Jlc3NfZGVsYXlfdGltZSA9IHRpbWUudGlt
ZSgpICsgcHJvZ3Jlc3NfZGVsYXkKKyAgICAgICAgaWYgdGltZW91dCA+IDA6CisgICAgICAgICAg
ICBkaWRfdGltZW91dCA9IHRpbWUudGltZSgpID4gd2FpdF91bnRpbAorCisgICAgaWYgZGlkX3Rp
bWVvdXQ6CisgICAgICAgIGxvZ2dpbmcuaW5mbygicHJvY2VzcyB0aW1lZCBvdXQiKQorICAgIGVs
c2U6CisgICAgICAgIGxvZ2dpbmcuaW5mbygicHJvY2VzcyBlbmRlZCwgZGlkIG5vdCB0aW1lIG91
dCIpCisKKyAgICBpZiBkaWRfdGltZW91dDoKKyAgICAgICAgaWYgSXNXaW5kb3dzKCk6CisgICAg
ICAgICAgICBzdWJwcm9jZXNzLmNhbGwoWyJ0YXNra2lsbCIsICIvVCIsICIvRiIsICIvUElEIiwg
c3RyKHAucGlkKV0pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIERvZXMgdGhpcyBraWxs
IGFsbCBjaGlsZHJlbiwgdG9vPworICAgICAgICAgICAgb3Mua2lsbChwLnBpZCwgc2lnbmFsLlNJ
R0lOVCkKKyAgICAgICAgbG9nZ2luZy5lcnJvcigiS0lMTEVEICVkIiAlIHAucGlkKQorICAgICAg
ICAjIEdpdmUgdGhlIHByb2Nlc3MgYSBjaGFuY2UgdG8gYWN0dWFsbHkgZGllIGJlZm9yZSBjb250
aW51aW5nCisgICAgICAgICMgc28gdGhhdCBjbGVhbnVwIGNhbiBoYXBwZW4gc2FmZWx5LgorICAg
ICAgICB0aW1lLnNsZWVwKDEuMCkKKyAgICAgICAgbG9nZ2luZy5lcnJvcigiVElNRU9VVCB3YWl0
aW5nIGZvciAlcyIgJSBwcm9jWzBdKQorICAgICAgICByYWlzZSBUaW1lb3V0RXJyb3IocHJvY1sw
XSkKKyAgICBlbGlmIG5vdCBkZXRhY2g6CisgICAgICAgIGZvciBsaW5lIGluIHAuc3Rkb3V0LnJl
YWRsaW5lcygpOgorICAgICAgICAgICAgX3ByaW50X2xpbmUobGluZSwgRmFsc2UpCisgICAgICAg
IGlmIG5vdCBJc01hYygpOiAgICAgIyBzdGRvdXQgZmx1c2ggZmFpbHMgb24gTWFjLgorICAgICAg
ICAgICAgbG9nZ2luZy5pbmZvKCJmbHVzaGluZyBzdGRvdXQiKQorICAgICAgICAgICAgcC5zdGRv
dXQuZmx1c2goKQorCisgICAgbG9nZ2luZy5pbmZvKCJjb2xsZWN0aW5nIHJlc3VsdCBjb2RlIikK
KyAgICByZXN1bHQgPSBwLnBvbGwoKQorICAgIGlmIHJlc3VsdDoKKyAgICAgICAgbG9nZ2luZy5l
cnJvcigiJXMgZXhpdGVkIHdpdGggbm9uLXplcm8gcmVzdWx0IGNvZGUgJWQiICUKKyAgICAgICAg
ICAgICAgICAgICAgICAocHJvY1swXSwgcmVzdWx0KSkKKyAgICByZXR1cm4gcmVzdWx0CisKKwor
ZGVmIElzTGludXgoKToKKyAgICByZXR1cm4gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2xpbnV4
JykKKworCitkZWYgSXNNYWMoKToKKyAgICByZXR1cm4gc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgo
J2RhcndpbicpCisKKworZGVmIElzV2luZG93cygpOgorICAgIHJldHVybiBzeXMucGxhdGZvcm0g
PT0gJ2N5Z3dpbicgb3Igc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpCisKKworZGVmIFdp
bmRvd3NWZXJzaW9uTmFtZSgpOgorICAgICIiIlJldHVybnMgdGhlIG5hbWUgb2YgdGhlIFdpbmRv
d3MgdmVyc2lvbiBpZiBpdCBpcyBrbm93biwgb3IgTm9uZS4KKworICAgIFBvc3NpYmxlIHJldHVy
biB2YWx1ZXMgYXJlOiB4cCwgdmlzdGEsIDcsIDgsIG9yIE5vbmUKKyAgICAiIiIKKyAgICBpZiBz
eXMucGxhdGZvcm0gPT0gJ2N5Z3dpbic6CisgICAgICAgICMgV2luZG93cyB2ZXJzaW9uIG51bWJl
ciBpcyBoaWRpbmcgaW4gc3lzdGVtIG5hbWUuICAgIExvb2tzIGxpa2U6CisgICAgICAgICMgQ1lH
V0lOX05ULTYuMS1XT1c2NAorICAgICAgICB0cnk6CisgICAgICAgICAgICB2ZXJzaW9uX3N0ciA9
IHBsYXRmb3JtLnVuYW1lKClbMF0uc3BsaXQoJy0nKVsxXQorICAgICAgICBleGNlcHQ6CisgICAg
ICAgICAgICByZXR1cm4gTm9uZQorICAgIGVsaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dp
bicpOgorICAgICAgICAjIE5vcm1hbCBXaW5kb3dzIHZlcnNpb24gc3RyaW5nLiAgICBNaW5lOiA2
LjEuNzYwMQorICAgICAgICB2ZXJzaW9uX3N0ciA9IHBsYXRmb3JtLnZlcnNpb24oKQorICAgIGVs
c2U6CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBwYXJ0cyA9IHZlcnNpb25fc3RyLnNwbGl0
KCcuJykKKyAgICB0cnk6CisgICAgICAgIG1ham9yID0gaW50KHBhcnRzWzBdKQorICAgICAgICBt
aW5vciA9IGludChwYXJ0c1sxXSkKKyAgICBleGNlcHQ6CisgICAgICAgIHJldHVybiBOb25lICAg
ICMgQ2FuJ3QgcGFyc2UsIHVua25vd24gdmVyc2lvbi4KKworICAgIGlmIG1ham9yID09IDU6Cisg
ICAgICAgIHJldHVybiAneHAnCisgICAgZWxpZiBtYWpvciA9PSA2IGFuZCBtaW5vciA9PSAwOgor
ICAgICAgICByZXR1cm4gJ3Zpc3RhJworICAgIGVsaWYgbWFqb3IgPT0gNiBhbmQgbWlub3IgPT0g
MToKKyAgICAgICAgcmV0dXJuICc3JworICAgIGVsaWYgbWFqb3IgPT0gNiBhbmQgbWlub3IgPT0g
MjoKKyAgICAgICAgcmV0dXJuICc4JyAgICAjIEZ1dHVyZSBwcm9vZi4gICAgOykKKyAgICByZXR1
cm4gTm9uZQorCisKK2RlZiBQbGF0Zm9ybU5hbWVzKCk6CisgICAgIiIiUmV0dXJuIGFuIGFycmF5
IG9mIHN0cmluZyB0byBiZSB1c2VkIGluIHBhdGhzIGZvciB0aGUgcGxhdGZvcm0KKyAgICAoZS5n
LiBzdXBwcmVzc2lvbnMsIGd0ZXN0IGZpbHRlcnMsIGlnbm9yZSBmaWxlcyBldGMuKQorICAgIFRo
ZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBhcnJheSBkZXNjcmliZXMgdGhlICdtYWluJyBwbGF0Zm9y
bS4KKyAgICAiIiIKKyAgICBpZiBJc0xpbnV4KCk6CisgICAgICAgIHJldHVybiBbJ2xpbnV4J10K
KyAgICBpZiBJc01hYygpOgorICAgICAgICByZXR1cm4gWydtYWMnXQorICAgIGlmIElzV2luZG93
cygpOgorICAgICAgICBuYW1lcyA9IFsnd2luMzInXQorICAgICAgICB2ZXJzaW9uX25hbWUgPSBX
aW5kb3dzVmVyc2lvbk5hbWUoKQorICAgICAgICBpZiB2ZXJzaW9uX25hbWUgaXMgbm90IE5vbmU6
CisgICAgICAgICAgICBuYW1lcy5hcHBlbmQoJ3dpbi0lcycgJSB2ZXJzaW9uX25hbWUpCisgICAg
ICAgIHJldHVybiBuYW1lcworICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ1Vua25vd24g
cGxhdGZvcm0gIiVzIi4nICUgc3lzLnBsYXRmb3JtKQorCisKK2RlZiBQdXRFbnZBbmRMb2coZW52
X25hbWUsIGVudl92YWx1ZSk6CisgICAgb3MucHV0ZW52KGVudl9uYW1lLCBlbnZfdmFsdWUpCisg
ICAgbG9nZ2luZy5pbmZvKCdleHBvcnQgJXM9JXMnLCBlbnZfbmFtZSwgZW52X3ZhbHVlKQorCisK
K2RlZiBCb3JpbmdDYWxsZXJzKG1hbmdsZWQsIHVzZV9yZV93aWxkY2FyZHMpOgorICAgICIiIlJl
dHVybiBhIGxpc3Qgb2YgJ2JvcmluZycgZnVuY3Rpb24gbmFtZXMgKG9wdGluYWxseSBtYW5nbGVk
KQorICAgIHdpdGggKi8/IHdpbGRjYXJkcyAob3B0aW9uYWxseSAuKi8uKS4KKyAgICBCb3Jpbmcg
PSB3ZSBkcm9wIG9mZiB0aGUgYm90dG9tIG9mIHN0YWNrIHRyYWNlcyBiZWxvdyBzdWNoIGZ1bmN0
aW9ucy4KKyAgICAiIiIKKworICAgIG5lZWRfbWFuZ2xpbmcgPSBbCisgICAgICAgICMgRG9uJ3Qg
c2hvdyBvdXIgdGVzdGluZyBmcmFtZXdvcms6CisgICAgICAgICgidGVzdGluZzo6VGVzdDo6UnVu
IiwgICAgICAgICAiX1pON3Rlc3Rpbmc0VGVzdDNSdW5FdiIpLAorICAgICAgICAoInRlc3Rpbmc6
OlRlc3RJbmZvOjpSdW4iLCAiX1pON3Rlc3Rpbmc4VGVzdEluZm8zUnVuRXYiKSwKKyAgICAgICAg
KCJ0ZXN0aW5nOjppbnRlcm5hbDo6SGFuZGxlKkV4Y2VwdGlvbnNJbk1ldGhvZElmU3VwcG9ydGVk
KiIsCisgICAgICAgICAiX1pON3Rlc3Rpbmc4aW50ZXJuYWwzP0hhbmRsZSpFeGNlcHRpb25zSW5N
ZXRob2RJZlN1cHBvcnRlZCoiKSwKKworICAgICAgICAjIERlcGVuZCBvbiBzY2hlZHVsaW5nOgor
ICAgICAgICAoIk1lc3NhZ2VMb29wOjpSdW4iLCAgICAgICAgICJfWk4xMU1lc3NhZ2VMb29wM1J1
bkV2IiksCisgICAgICAgICgiTWVzc2FnZUxvb3A6OlJ1blRhc2siLCAiX1pOMTFNZXNzYWdlTG9v
cDdSdW5UYXNrKiIpLAorICAgICAgICAoIlJ1bm5hYmxlTWV0aG9kKiIsICAgICAgICAgICAgIl9a
TjE0UnVubmFibGVNZXRob2QqIiksCisgICAgICAgICgiRGlzcGF0Y2hUb01ldGhvZCoiLCAgICAg
ICAgIl9aKjE2RGlzcGF0Y2hUb01ldGhvZCoiKSwKKyAgICAgICAgKCJiYXNlOjppbnRlcm5hbDo6
SW52b2tlcio6OkRvSW52b2tlKiIsCisgICAgICAgICAiX1pONGJhc2U4aW50ZXJuYWw4SW52b2tl
cipEb0ludm9rZSoiKSwgICAgIyBJbnZva2VyezEsMiwzfQorICAgICAgICAoImJhc2U6OmludGVy
bmFsOjpSdW5uYWJsZUFkYXB0ZXIqOjpSdW4qIiwKKyAgICAgICAgICJfWk40YmFzZThpbnRlcm5h
bDE1UnVubmFibGVBZGFwdGVyKlJ1bioiKSwKKyAgICBdCisKKyAgICByZXQgPSBbXQorICAgIGZv
ciBwYWlyIGluIG5lZWRfbWFuZ2xpbmc6CisgICAgICAgIHJldC5hcHBlbmQocGFpclsxIGlmIG1h
bmdsZWQgZWxzZSAwXSkKKworICAgIHJldCArPSBbCisgICAgICAgICMgQWxzbyBkb24ndCBzaG93
IHRoZSBpbnRlcm5hbHMgb2YgbGliYy9wdGhyZWFkLgorICAgICAgICAic3RhcnRfdGhyZWFkIiwK
KyAgICAgICAgIm1haW4iLAorICAgICAgICAiQmFzZVRocmVhZEluaXRUaHVuayIsCisgICAgXQor
CisgICAgaWYgdXNlX3JlX3dpbGRjYXJkczoKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVu
KHJldCkpOgorICAgICAgICAgICAgcmV0W2ldID0gcmV0W2ldLnJlcGxhY2UoJyonLCAnLionKS5y
ZXBsYWNlKCc/JywgJy4nKQorCisgICAgcmV0dXJuIHJldAorCisKK2RlZiBOb3JtYWxpemVXaW5k
b3dzUGF0aChwYXRoKToKKyAgICAiIiJJZiB3ZSdyZSB1c2luZyBDeWd3aW4gUHl0aG9uLCB0dXJu
IHRoZSBwYXRoIGludG8gYSBXaW5kb3dzIHBhdGguCisKKyAgICBEb24ndCB0dXJuIGZvcndhcmQg
c2xhc2hlcyBpbnRvIGJhY2tzbGFzaGVzIGZvciBlYXNpZXIgY29weS1wYXN0aW5nIGFuZAorICAg
IGVzY2FwaW5nLgorCisgICAgVE9ETyhybmspOiBJZiB3ZSBldmVyIHdhbnQgdG8gY3V0IG91dCB0
aGUgc3VicHJvY2VzcyBpbnZvY2F0aW9uLCB3ZSBjYW4gdXNlCisgICAgX3dpbnJlZyB0byBnZXQg
dGhlIHJvb3QgQ3lnd2luIGRpcmVjdG9yeSBmcm9tIHRoZSByZWdpc3RyeSBrZXk6CisgICAgSEtF
WV9MT0NBTF9NQUNISU5FXFNPRlRXQVJFXEN5Z3dpblxzZXR1cFxyb290ZGlyLgorICAgICIiIgor
ICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJjeWd3aW4iKToKKyAgICAgICAgcCA9IHN1
YnByb2Nlc3MuUG9wZW4oWyJjeWdwYXRoIiwgIi1tIiwgcGF0aF0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9
c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICAob3V0LCBlcnIpID0gcC5jb21tdW5pY2F0ZSgpCisg
ICAgICAgIGlmIGVycjoKKyAgICAgICAgICAgIGxvZ2dpbmcud2FybmluZygiV0FSTklORzogY3ln
cGF0aCBlcnJvcjogJXMiLCBlcnIpCisgICAgICAgIHJldHVybiBvdXQuc3RyaXAoKQorICAgIGVs
c2U6CisgICAgICAgIHJldHVybiBwYXRoCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
KyMgQ29tbW9uIG91dHB1dCBmb3JtYXQgY29kZQorCisKK2RlZiBQcmludFVzZWRTdXBwcmVzc2lv
bnNMaXN0KHN1cHBjb3VudHMpOgorICAgICIiIiBQcmludHMgb3V0IHRoZSBsaXN0IG9mIHVzZWQg
c3VwcHJlc3Npb25zIGluIGEgZm9ybWF0IGNvbW1vbiB0byBhbGwgdGhlCisgICAgICAgIG1lbW9y
eSB0b29scy4gSWYgdGhlIGxpc3QgaXMgZW1wdHksIHByaW50cyBub3RoaW5nIGFuZCByZXR1cm5z
IEZhbHNlLAorICAgICAgICBvdGhlcndpc2UgVHJ1ZS4KKworICAgICAgICBzdXBwY291bnRzOiBh
IGRpY3Rpb25hcnkgb2YgdXNlZCBzdXBwcmVzc2lvbiBjb3VudHMsCisgICAgICAgICAgICAgICAg
ICAgIEtleSAtPiBuYW1lLCBWYWx1ZSAtPiBjb3VudC4KKyAgICAiIiIKKyAgICBpZiBub3Qgc3Vw
cGNvdW50czoKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBwcmludCAiLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisgICAgcHJpbnQgIlN1
cHByZXNzaW9ucyB1c2VkOiIKKyAgICBwcmludCAiICAgIGNvdW50IG5hbWUiCisgICAgZm9yIChu
YW1lLCBjb3VudCkgaW4gc29ydGVkKHN1cHBjb3VudHMuaXRlbXMoKSwga2V5PWxhbWJkYSAoaywg
dik6ICh2LCBrKSk6CisgICAgICAgIHByaW50ICIlN2QgJXMiICUgKGNvdW50LCBuYW1lKQorICAg
IHByaW50ICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSIKKyAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKKyAgICByZXR1cm4gVHJ1ZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2dkYl9oZWxwZXIucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvZ2RiX2hlbHBlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTAyYjgzMTRjY2Ri
NmE4NTE1OTIyMDEyZDA1YmEwMzU5MzBjNjRiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2dkYl9oZWxwZXIucHkKQEAgLTAsMCArMSwxMTYgQEAKKyMgT3Jp
Z2luYWxseSBmcm9tIENocm9taXVtLCBjb3B5cmlnaHQgYXMgZm9sbG93czoKKyMKKyMgQ29weXJp
Z2h0IChjKSAyMDEzIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9u
LgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisj
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworJycnIEEgYnVuY2ggb2YgaGVscGVyIGZ1bmN0aW9ucyBmb3Ig
cXVlcnlpbmcgZ2RiLicnJworCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCitpbXBvcnQgcmUK
K2ltcG9ydCB0ZW1wZmlsZQorCitHREJfTElORV9SRSA9IHJlLmNvbXBpbGUocidMaW5lIChbMC05
XSopIG9mICIoW14iXSopIi4qJykKKworCitkZWYgX0dkYk91dHB1dFRvRmlsZUxpbmUob3V0cHV0
X2xpbmUpOgorICAgICcnJyBQYXJzZSB0aGUgZ2RiIG91dHB1dCBsaW5lLCByZXR1cm4gYSBwYWly
IChmaWxlLCBsaW5lIG51bSkgJycnCisgICAgbWF0Y2ggPSBHREJfTElORV9SRS5tYXRjaChvdXRw
dXRfbGluZSkKKyAgICBpZiBtYXRjaDoKKyAgICAgICAgcmV0dXJuIG1hdGNoLmdyb3VwcygpWzFd
LCBtYXRjaC5ncm91cHMoKVswXQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBOb25lCisKKwor
ZGVmIFJlc29sdmVBZGRyZXNzZXNXaXRoaW5BQmluYXJ5KGJpbmFyeV9uYW1lLCBsb2FkX2FkZHJl
c3MsIGFkZHJlc3NfbGlzdCk6CisgICAgJycnIEZvciBlYWNoIGFkZHJlc3MsIHJldHVybiBhIHBh
aXIgKGZpbGUsIGxpbmUgbnVtKSAnJycKKyAgICBjb21tYW5kcyA9IHRlbXBmaWxlLk5hbWVkVGVt
cG9yYXJ5RmlsZSgpCisgICAgY29tbWFuZHMud3JpdGUoJ2FkZC1zeW1ib2wtZmlsZSAiJXMiICVz
XG4nICUgKGJpbmFyeV9uYW1lLCBsb2FkX2FkZHJlc3MpKQorICAgIGZvciBhZGRyIGluIGFkZHJl
c3NfbGlzdDoKKyAgICAgICAgY29tbWFuZHMud3JpdGUoJ2luZm8gbGluZSAqJXNcbicgJSBhZGRy
KQorICAgIGNvbW1hbmRzLndyaXRlKCdxdWl0XG4nKQorICAgIGNvbW1hbmRzLmZsdXNoKCkKKyAg
ICBnZGJfY29tbWFuZGxpbmUgPSAnZ2RiIC1iYXRjaCAteCAlcyAyPi9kZXYvbnVsbCcgJSBjb21t
YW5kcy5uYW1lCisgICAgZ2RiX3BpcGUgPSBvcy5wb3BlbihnZGJfY29tbWFuZGxpbmUpCisgICAg
cmVzdWx0ID0gZ2RiX3BpcGUucmVhZGxpbmVzKCkKKworICAgIGFkZHJlc3NfY291bnQgPSAwCisg
ICAgcmV0ID0ge30KKyAgICBmb3IgbGluZSBpbiByZXN1bHQ6CisgICAgICAgIGlmIGxpbmUuc3Rh
cnRzd2l0aCgnTGluZScpOgorICAgICAgICAgICAgcmV0W2FkZHJlc3NfbGlzdFthZGRyZXNzX2Nv
dW50XV0gPSBfR2RiT3V0cHV0VG9GaWxlTGluZShsaW5lKQorICAgICAgICAgICAgYWRkcmVzc19j
b3VudCArPSAxCisgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnTm8gbGluZScpOgorICAgICAg
ICAgICAgcmV0W2FkZHJlc3NfbGlzdFthZGRyZXNzX2NvdW50XV0gPSAoTm9uZSwgTm9uZSkKKyAg
ICAgICAgICAgIGFkZHJlc3NfY291bnQgKz0gMQorICAgIGdkYl9waXBlLmNsb3NlKCkKKyAgICBj
b21tYW5kcy5jbG9zZSgpCisgICAgcmV0dXJuIHJldAorCisKK2NsYXNzIEFkZHJlc3NUYWJsZShv
YmplY3QpOgorICAgICcnJyBPYmplY3QgdG8gZG8gYmF0Y2hlZCBsaW5lIG51bWJlciBsb29rdXAu
ICcnJworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5fbG9hZF9hZGRyZXNz
ZXMgPSB7fQorICAgICAgICBzZWxmLl9iaW5hcmllcyA9IHt9CisgICAgICAgIHNlbGYuX2FsbF9y
ZXNvbHZlZCA9IEZhbHNlCisKKyAgICBkZWYgQWRkQmluYXJ5QXQoc2VsZiwgYmluYXJ5LCBsb2Fk
X2FkZHJlc3MpOgorICAgICAgICAnJycgUmVnaXN0ZXIgYSBuZXcgc2hhcmVkIGxpYnJhcnkgb3Ig
ZXhlY3V0YWJsZS4gJycnCisgICAgICAgIHNlbGYuX2xvYWRfYWRkcmVzc2VzW2JpbmFyeV0gPSBs
b2FkX2FkZHJlc3MKKworICAgIGRlZiBBZGQoc2VsZiwgYmluYXJ5LCBhZGRyZXNzKToKKyAgICAg
ICAgJycnIFJlZ2lzdGVyIGEgbG9va3VwIHJlcXVlc3QuICcnJworICAgICAgICBpZiBiaW5hcnkg
PT0gJyc6CisgICAgICAgICAgICBsb2dnaW5nLndhcm4oJ2FkZGluZyBhZGRyZXNzICVzIGluIGVt
cHR5IGJpbmFyeT8nICUgYWRkcmVzcykKKyAgICAgICAgaWYgYmluYXJ5IGluIHNlbGYuX2JpbmFy
aWVzOgorICAgICAgICAgICAgc2VsZi5fYmluYXJpZXNbYmluYXJ5XS5hcHBlbmQoYWRkcmVzcykK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX2JpbmFyaWVzW2JpbmFyeV0gPSBbYWRk
cmVzc10KKyAgICAgICAgc2VsZi5fYWxsX3Jlc29sdmVkID0gRmFsc2UKKworICAgIGRlZiBSZXNv
bHZlQWxsKHNlbGYpOgorICAgICAgICAnJycgQ2Fycnkgb3V0IGFsbCBsb29rdXAgcmVxdWVzdHMu
ICcnJworICAgICAgICBzZWxmLl90cmFuc2xhdGlvbiA9IHt9CisgICAgICAgIGZvciBiaW5hcnkg
aW4gc2VsZi5fYmluYXJpZXMua2V5cygpOgorICAgICAgICAgICAgaWYgYmluYXJ5ICE9ICcnIGFu
ZCBiaW5hcnkgaW4gc2VsZi5fbG9hZF9hZGRyZXNzZXM6CisgICAgICAgICAgICAgICAgbG9hZF9h
ZGRyZXNzID0gc2VsZi5fbG9hZF9hZGRyZXNzZXNbYmluYXJ5XQorICAgICAgICAgICAgICAgIGFk
ZHIgPSBSZXNvbHZlQWRkcmVzc2VzV2l0aGluQUJpbmFyeSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJpbmFyeSwgbG9hZF9hZGRyZXNzLCBzZWxmLl9iaW5hcmllc1tiaW5hcnldKQorICAgICAg
ICAgICAgICAgIHNlbGYuX3RyYW5zbGF0aW9uW2JpbmFyeV0gPSBhZGRyCisgICAgICAgIHNlbGYu
X2FsbF9yZXNvbHZlZCA9IFRydWUKKworICAgIGRlZiBHZXRGaWxlTGluZShzZWxmLCBiaW5hcnks
IGFkZHIpOgorICAgICAgICAnJycgR2V0IHRoZSAoZmlsZW5hbWUsIGxpbmVudW0pIHJlc3VsdCBv
ZiBhIHByZXZpb3VzbHktcmVnaXN0ZXJlZAorICAgICAgICBsb29rdXAgcmVxdWVzdC4KKyAgICAg
ICAgJycnCisgICAgICAgIGlmIHNlbGYuX2FsbF9yZXNvbHZlZDoKKyAgICAgICAgICAgIGlmIGJp
bmFyeSBpbiBzZWxmLl90cmFuc2xhdGlvbjoKKyAgICAgICAgICAgICAgICBpZiBhZGRyIGluIHNl
bGYuX3RyYW5zbGF0aW9uW2JpbmFyeV06CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxm
Ll90cmFuc2xhdGlvbltiaW5hcnldW2FkZHJdCisgICAgICAgIHJldHVybiAoTm9uZSwgTm9uZSkK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CmluZGV4IDYzYjhlYjg5YTU4YmY1YmY4OWYyZmZi
ZTBkNTRjNWE5ODkzZGIxNWMuLjE0YjM4OGNlMTdjN2VhNzIxMmZhOGEwNmI5MjIzZTQwOGMxM2Uy
MTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQpAQCAtMSw0ICsxLDUgQEAKICMgQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHly
aWdodCAoQykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTI4LDEyICsyOSwxMyBAQAogCiBp
bXBvcnQgb3MKIGltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgdXVpZAogCiBmcm9tIHdlYmtpdHB5
LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCBUZXN0Q29uZmln
dXJhdGlvbgogZnJvbSB3ZWJraXRweS5wb3J0LmJhc2UgaW1wb3J0IFBvcnQKIGZyb20gd2Via2l0
cHkucG9ydC5wdWxzZWF1ZGlvX3Nhbml0aXplciBpbXBvcnQgUHVsc2VBdWRpb1Nhbml0aXplcgog
ZnJvbSB3ZWJraXRweS5wb3J0Lnh2ZmJkcml2ZXIgaW1wb3J0IFh2ZmJEcml2ZXIKLQorZnJvbSB3
ZWJraXRweS5wb3J0Lmd0a19sZWFrZGV0ZWN0b3IgaW1wb3J0IEd0a0xlYWtEZXRlY3RvcgogCiBj
bGFzcyBHdGtQb3J0KFBvcnQpOgogICAgIHBvcnRfbmFtZSA9ICJndGsiCkBAIC00Miw2ICs0NCwx
NCBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICBzdXBlcihHdGtQb3J0LCBzZWxmKS5f
X2luaXRfXygqYXJncywgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYuX3B1bHNlYXVkaW9fc2FuaXRp
emVyID0gUHVsc2VBdWRpb1Nhbml0aXplcigpCiAKKyAgICAgICAgc2VsZi5fbGVha19kZXRlY3Rv
ciA9IEd0a0xlYWtEZXRlY3RvcihzZWxmKQorICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oImxl
YWtzIik6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5nZXRfb3B0aW9uKCJ3cmFwcGVyIik6Cisg
ICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigndXNlIC0td3JhcHBlcj1cInZhbGdyaW5k
XCIgZm9yIG1lbW9yeSBsZWFrIGRldGVjdGlvbiBvbiBHVEsnKQorICAgICAgICAgICAgIyBEdW1w
UmVuZGVyVHJlZSBzbG93cyBkb3duIG5vdGljYWJseSBpZiB3ZSBydW4gbW9yZSB0aGFuIGFib3V0
IDEwMDAgdGVzdHMgaW4gYSBiYXRjaAorICAgICAgICAgICAgIyB3aXRoIE1hbGxvY1N0YWNrTG9n
Z2luZyBlbmFibGVkLgorICAgICAgICAgICAgc2VsZi5zZXRfb3B0aW9uX2RlZmF1bHQoImJhdGNo
X3NpemUiLCAxMDAwKQorCiAgICAgZGVmIHdhcm5faWZfYnVnX21pc3NpbmdfaW5fdGVzdF9leHBl
Y3RhdGlvbnMoc2VsZik6CiAgICAgICAgIHJldHVybiBub3Qgc2VsZi5nZXRfb3B0aW9uKCd3ZWJr
aXRfdGVzdF9ydW5uZXInKQogCkBAIC01Myw5ICs2MywxNyBAQCBjbGFzcyBHdGtQb3J0KFBvcnQp
OgogCiAgICAgZGVmIGRlZmF1bHRfdGltZW91dF9tcyhzZWxmKToKICAgICAgICAgaWYgc2VsZi5n
ZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykgPT0gJ0RlYnVnJzoKLSAgICAgICAgICAgIHJldHVy
biAxMiAqIDEwMDAKKyAgICAgICAgICAgIHJldHVybiAxMjAgKiAxMDAwCisgICAgICAgIGVsaWYg
c2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgorICAgICAgICAgICAgcmV0dXJuIDEyMCAqIDEwMDAK
ICAgICAgICAgcmV0dXJuIDYgKiAxMDAwCiAKKyAgICBkZWYgZHJpdmVyX3N0b3BfdGltZW91dChz
ZWxmKToKKyAgICAgICAgIiIiIFJldHVybnMgdGhlIGFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMg
dG8gd2FpdCBiZWZvcmUga2lsbGluZyB0aGUgcHJvY2VzcyBpbiBkcml2ZXIuc3RvcCgpLiIiIgor
ICAgICAgICAjIFdlIHdhbnQgdG8gd2FpdCBmb3IgYXQgbGVhc3QgMyBzZWNvbmRzLCBidXQgaWYg
d2UgYXJlIHJlYWxseSBzbG93LCB3ZSB3YW50IHRvIGJlIHNsb3cgb24gY2xlYW51cCBhcworICAg
ICAgICAjIHdlbGwgKGZvciB0aGluZ3MgbGlrZSBBU0FOLCBWYWxncmluZCwgZXRjLikKKyAgICAg
ICAgcmV0dXJuIDMuMCAqIHNlbGYuZGVmYXVsdF90aW1lb3V0X21zKCkKKwogICAgIGRlZiBzZXR1
cF90ZXN0X3J1bihzZWxmKToKICAgICAgICAgc3VwZXIoR3RrUG9ydCwgc2VsZikuc2V0dXBfdGVz
dF9ydW4oKQogICAgICAgICBzZWxmLl9wdWxzZWF1ZGlvX3Nhbml0aXplci51bmxvYWRfcHVsc2Vh
dWRpb19tb2R1bGUoKQpAQCAtNjksMTcgKzg3LDQyIEBAIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAg
ICAgICAgIGVudmlyb25tZW50WydHVEtfTU9EVUxFUyddID0gJ2dhaWwnCiAgICAgICAgIGVudmly
b25tZW50WydHU0VUVElOR1NfQkFDS0VORCddID0gJ21lbW9yeScKICAgICAgICAgZW52aXJvbm1l
bnRbJ0xJQk9WRVJMQVlfU0NST0xMQkFSJ10gPSAnMCcKLSAgICAgICAgZW52aXJvbm1lbnRbJ1RF
U1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSddID0gc2VsZi5fYnVpbGRfcGF0aCgn
TGlicmFyaWVzJywgJ2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5sYScpCi0gICAgICAgIGVu
dmlyb25tZW50WydURVNUX1JVTk5FUl9URVNUX1BMVUdJTl9QQVRIJ10gPSBzZWxmLl9idWlsZF9w
YXRoKCdUZXN0TmV0c2NhcGVQbHVnaW4nLCAnLmxpYnMnKQotICAgICAgICBlbnZpcm9ubWVudFsn
V0VCS0lUX0lOU1BFQ1RPUl9QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdQcm9ncmFtcycsICdy
ZXNvdXJjZXMnLCAnaW5zcGVjdG9yJykKLSAgICAgICAgZW52aXJvbm1lbnRbJ0FVRElPX1JFU09V
UkNFU19QQVRIJ10gPSBzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnU291cmNlJywgJ1dlYkNv
cmUnLCAncGxhdGZvcm0nLCAnYXVkaW8nLCAncmVzb3VyY2VzJykKLSAgICAgICAgc2VsZi5fY29w
eV92YWx1ZV9mcm9tX2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUX09VVFBVVERJ
UicpCisgICAgICAgIGVudmlyb25tZW50WydURVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklM
RU5BTUUnXSA9IHNlbGYuX2J1aWxkX3BhdGgoCisgICAgICAgICAgICAnTGlicmFyaWVzJywgJ2xp
YlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5sYScpCisgICAgICAgIGVudmlyb25tZW50WydURVNU
X1JVTk5FUl9URVNUX1BMVUdJTl9QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKAorICAgICAgICAg
ICAgJ1Rlc3ROZXRzY2FwZVBsdWdpbicsICcubGlicycpCisgICAgICAgIGVudmlyb25tZW50WydX
RUJLSVRfSU5TUEVDVE9SX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoCisgICAgICAgICAgICAn
UHJvZ3JhbXMnLCAncmVzb3VyY2VzJywgJ2luc3BlY3RvcicpCisgICAgICAgIGVudmlyb25tZW50
WydBVURJT19SRVNPVVJDRVNfUEFUSCddID0gc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoCisg
ICAgICAgICAgICAnU291cmNlJywgJ1dlYkNvcmUnLCAncGxhdGZvcm0nLCAnYXVkaW8nLCAncmVz
b3VyY2VzJykKKyAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgorICAgICAgICAg
ICAgZW52aXJvbm1lbnRbJ0dfU0xJQ0UnXSA9ICdhbHdheXMtbWFsbG9jJworICAgICAgICAgICAg
eG1sZmlsZSA9ICIiLmpvaW4oKCdcIicsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwgIi9kcnQt
JXAtIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dWlkLnV1aWQxKCkuaGV4LCAi
LWxlYWtzLnhtbCIsICdcIicpKQorICAgICAgICAgICAgc3VwcHJlc3Npb25zZmlsZSA9IHNlbGYu
cGF0aF9mcm9tX3dlYmtpdF9iYXNlKAorICAgICAgICAgICAgICAgICdUb29scycsICd2YWxncmlu
ZCcsICdtZW1jaGVjaycsICdzdXBwcmVzc2lvbnMudHh0JykKKyAgICAgICAgICAgIGVudmlyb25t
ZW50WydWQUxHUklORF9PUFRTJ10gPSAiLS10b29sPW1lbWNoZWNrICIgXAorICAgICAgICAgICAg
ICAgICItLW51bS1jYWxsZXJzPTQwIC0tZGVtYW5nbGU9bm8gLS10cmFjZS1jaGlsZHJlbj1ubyAg
IiBcCisgICAgICAgICAgICAgICAgIi0tc21jLWNoZWNrPWFsbC1ub24tZmlsZSAtLWxlYWstY2hl
Y2s9eWVzICIgXAorICAgICAgICAgICAgICAgICItLWxlYWstcmVzb2x1dGlvbj1oaWdoIC0tc2hv
dy1wb3NzaWJseS1sb3N0PW5vICIgXAorICAgICAgICAgICAgICAgICItLXNob3ctcmVhY2hhYmxl
PW5vIC0tbGVhay1jaGVjaz1mdWxsICIgXAorICAgICAgICAgICAgICAgICIgLS11bmRlZi12YWx1
ZS1lcnJvcnM9bm8gIiBcCisgICAgICAgICAgICAgICAgIi0tZ2VuLXN1cHByZXNzaW9ucz1hbGwg
LS14bWw9eWVzIC0teG1sLWZpbGU9JXMgIiBcCisgICAgICAgICAgICAgICAgIi0tc3VwcHJlc3Np
b25zPSVzIiAlICh4bWxmaWxlLCBzdXBwcmVzc2lvbnNmaWxlKQorICAgICAgICAgICAgIyBGSVhN
RTogaW5zdGVhZCB3ZSBzaG91bGQgYmUgdXNpbmcgImpoYnVpbGQtd3JhcHBlciAtLWd0ayBydW4i
CisgICAgICAgICAgICAjIHRvIGVuc3VyZSB3ZSBnZXQgdGhlIGNvcnJlY3QgbGlicmFyeSBwYXRo
LgorICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddID0gc2VsZi5wYXRo
X2Zyb21fd2Via2l0X2Jhc2UoCisgICAgICAgICAgICAgICAgJ1dlYktpdEJ1aWxkJywgJ0RlcGVu
ZGVuY2llcycsICdSb290JywgJ2xpYjY0JykKKyAgICAgICAgc2VsZi5fY29weV92YWx1ZV9mcm9t
X2Vudmlyb25faWZfc2V0KGVudmlyb25tZW50LCAnV0VCS0lUT1VUUFVURElSJykKICAgICAgICAg
cmV0dXJuIGVudmlyb25tZW50CiAKICAgICBkZWYgX2dlbmVyYXRlX2FsbF90ZXN0X2NvbmZpZ3Vy
YXRpb25zKHNlbGYpOgogICAgICAgICBjb25maWd1cmF0aW9ucyA9IFtdCiAgICAgICAgIGZvciBi
dWlsZF90eXBlIGluIHNlbGYuQUxMX0JVSUxEX1RZUEVTOgotICAgICAgICAgICAgY29uZmlndXJh
dGlvbnMuYXBwZW5kKFRlc3RDb25maWd1cmF0aW9uKHZlcnNpb249c2VsZi5fdmVyc2lvbiwgYXJj
aGl0ZWN0dXJlPSd4ODYnLCBidWlsZF90eXBlPWJ1aWxkX3R5cGUpKQorICAgICAgICAgICAgY29u
ZmlndXJhdGlvbnMuYXBwZW5kKAorICAgICAgICAgICAgICAgIFRlc3RDb25maWd1cmF0aW9uKHZl
cnNpb249c2VsZi5fdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
cmNoaXRlY3R1cmU9J3g4NicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVp
bGRfdHlwZT1idWlsZF90eXBlKSkKICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb25zCiAKICAg
ICBkZWYgX3BhdGhfdG9fZHJpdmVyKHNlbGYpOgpAQCAtMTE3LDggKzE2MCwyMSBAQCBjbGFzcyBH
dGtQb3J0KFBvcnQpOgogICAgIGRlZiBfcG9ydF9zcGVjaWZpY19leHBlY3RhdGlvbnNfZmlsZXMo
c2VsZik6CiAgICAgICAgIHJldHVybiBbc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX3dlYmtp
dF9iYXNlbGluZV9wYXRoKHApLCAnVGVzdEV4cGVjdGF0aW9ucycpIGZvciBwIGluIHJldmVyc2Vk
KHNlbGYuX3NlYXJjaF9wYXRocygpKV0KIAotICAgICMgRklYTUU6IFdlIHNob3VsZCBmaW5kIGEg
d2F5IHRvIHNoYXJlIHRoaXMgaW1wbG1lbnRhdGlvbiB3aXRoIEd0aywKLSAgICAjIG9yIHRlYWNo
IHJ1bi1sYXVuY2hlciBob3cgdG8gY2FsbCBydW4tc2FmYXJpIGFuZCBtb3ZlIHRoaXMgZG93biB0
byBQb3J0LgorICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9j
ZXNzX3BpZCwgaXNfcnVubmluZyk6CisgICAgICAgICMgV2l0aCBHdGsgd2UgaW5pdGlhdGUgbWVt
b3J5IGNoZWNraW5nIGJ5IHBhc3NpbmcgdmFsZ3JpbmQgYXMgYSB3cmFwcGVyIHRvIHRoZSB0ZXN0
LgorICAgICAgICBwYXNzCisKKyAgICBkZWYgcHJpbnRfbGVha3Nfc3VtbWFyeShzZWxmKToKKyAg
ICAgICAgaWYgbm90IHNlbGYuZ2V0X29wdGlvbignbGVha3MnKToKKyAgICAgICAgICAgIHJldHVy
bgorICAgICAgICAjIFdlJ3JlIGluIHRoZSBtYW5hZ2VyIHByb2Nlc3MsIHNvIHRoZSBsZWFrIGRl
dGVjdG9yIHdpbGwgbm90IGhhdmUgYSB2YWxpZCBsaXN0IG9mIGxlYWsgZmlsZXMuCisgICAgICAg
ICMgRklYTUU6IFRoaXMgaXMgYSBoYWNrLCBidXQgd2UgZG9uJ3QgaGF2ZSBhIGJldHRlciB3YXkg
dG8gZ2V0IHRoaXMgaW5mb3JtYXRpb24gZnJvbSB0aGUgd29ya2VycyB5ZXQuCisgICAgICAgICMg
RklYTUU6IFRoaXMgd2lsbCBpbmNsdWRlIHRvbyBtYW55IGxlYWtzIGluIHN1YnNlcXVlbnQgcnVu
cyB1bnRpbCB0aGUgcmVzdWx0cyBkaXJlY3RvcnkgaXMgY2xlYXJlZCEKKyAgICAgICAgbGVha3Nf
ZmlsZXMgPSBzZWxmLl9sZWFrX2RldGVjdG9yLmxlYWtzX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxm
LnJlc3VsdHNfZGlyZWN0b3J5KCkpCisgICAgICAgIGlmIG5vdCBsZWFrc19maWxlczoKKyAgICAg
ICAgICAgIHJldHVybgorICAgICAgICBzZWxmLl9sZWFrX2RldGVjdG9yLnBhcnNlX2xlYWtzX291
dHB1dChsZWFrc19maWxlcykKKwogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYs
IHJlc3VsdHNfZmlsZW5hbWUpOgogICAgICAgICBydW5fbGF1bmNoZXJfYXJncyA9IFsiZmlsZTov
LyVzIiAlIHJlc3VsdHNfZmlsZW5hbWVdCiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignd2Vi
a2l0X3Rlc3RfcnVubmVyJyk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZ3RrX2xlYWtkZXRlY3Rvci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGtf
bGVha2RldGVjdG9yLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxMzE5ZDBkNWQyNjUzMGNjMGI4MzRkZTNhNGFj
OWRhNjg2NDhhOTQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZ3RrX2xlYWtkZXRlY3Rvci5weQpAQCAtMCwwICsxLDU3IEBACisjIENvcHlyaWdodCAoQykg
MjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
IyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKK2ltcG9ydCBsb2dnaW5nCisKK2Zyb20gd2Via2l0cHkucG9ydC5tZW1jaGVj
a19hbmFseXplIGltcG9ydCBNZW1jaGVja0FuYWx5emVyCisKK19sb2cgPSBsb2dnaW5nLmdldExv
Z2dlcihfX25hbWVfXykKKworCisjIElmIG90aGVyIHBvcnRzL3BsYXRmb3JtcyBkZWNpZGUgdG8g
c3VwcG9ydCAtLWxlYWtzLCB3ZSBzaG91bGQgc2VlIGFib3V0CisjIHNoYXJpbmcgYXMgbXVjaCBv
ZiB0aGlzIGNvZGUgYXMgcG9zc2libGUuCisjIFRoaXMgY29kZSBpcyBmb3IgdGhlIEd0aysgcG9y
dCwgdGFrZW4gZnJvbSB0aGUgTWFjIHBvcnQuCisKK2NsYXNzIEd0a0xlYWtEZXRlY3RvcihvYmpl
Y3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0KToKKyAgICAgICAgIyBXZSBzaG91bGQg
b3BlcmF0ZSBvbiBhICJwbGF0Zm9ybSIgbm90IGEgcG9ydCBoZXJlLgorICAgICAgICBzZWxmLl9w
b3J0ID0gcG9ydAorICAgICAgICBzZWxmLl9leGVjdXRpdmUgPSBwb3J0Ll9leGVjdXRpdmUKKyAg
ICAgICAgc2VsZi5fZmlsZXN5c3RlbSA9IHBvcnQuX2ZpbGVzeXN0ZW0KKyAgICAgICAgc2VsZi5f
bWVtY2hlY2tfbGVha19hbmFseXplciA9IE1lbWNoZWNrQW5hbHl6ZXIocG9ydC53ZWJraXRfYmFz
ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1c2VfZ2RiPUZhbHNlKQorCisgICAgZGVmIHBhcnNlX2xlYWtzX291dHB1dChzZWxmLCBs
ZWFrc19maWxlcyk6CisgICAgICAgIHNlbGYuX21lbWNoZWNrX2xlYWtfYW5hbHl6ZXIuUmVwb3J0
KGxlYWtzX2ZpbGVzLCAgTm9uZSkKKworICAgIGRlZiBsZWFrc19maWxlc19pbl9kaXJlY3Rvcnko
c2VsZiwgZGlyZWN0b3J5KToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uZ2xvYihz
ZWxmLl9maWxlc3lzdGVtLmpvaW4oZGlyZWN0b3J5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKi1sZWFrcy54bWwiKSkKKworICAg
IGRlZiBsZWFrc19maWxlX25hbWUoc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6Cisg
ICAgICAgIHJldHVybiAiZHJ0LSVzLWxlYWtzLnhtbCIgJSAocHJvY2Vzc19waWQpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFjLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L21hYy5weQppbmRleCAwYjI0Y2U3MGVjZTdmMWY2YjQ0NmY3ODk4ODRlYzdl
MDRiMTViNzMzLi5mYTE2MDRkNmVmMTFlM2JlMzA3MGI0ZTY4Yzc3YWY2NGRlZTM2MjZjIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWFjLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKQEAgLTE0Nyw4ICsxNDcsOSBAQCBjbGFzcyBNYWNQ
b3J0KEFwcGxlUG9ydCk6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgcmV0dXJu
IFRydWUKIAotICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2VsZiwgcHJvY2Vzc19uYW1lLCBwcm9j
ZXNzX3BpZCk6Ci0gICAgICAgIGlmIG5vdCBzZWxmLmdldF9vcHRpb24oJ2xlYWtzJyk6CisgICAg
ZGVmIGNoZWNrX2Zvcl9sZWFrcyhzZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBpc19y
dW5uaW5nKToKKyAgICAgICAgIyBPbmx5IGJvdGhlciB0byBjaGVjayBmb3IgbGVha3Mgb3Igc3Rk
ZXJyIGlmIHRoZSBwcm9jZXNzIGlzIHN0aWxsIHJ1bm5pbmcuCisgICAgICAgIGlmIG5vdCBzZWxm
LmdldF9vcHRpb24oJ2xlYWtzJykgb3Igbm90IGlzX3J1bm5pbmc6CiAgICAgICAgICAgICByZXR1
cm4KICAgICAgICAgIyBXZSBjb3VsZCB1c2UgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3BzdXRp
bC8gdG8gZ2V0IHRoZSBwcm9jZXNzX25hbWUgZnJvbSB0aGUgcGlkLgogICAgICAgICBzZWxmLl9s
ZWFrX2RldGVjdG9yLmNoZWNrX2Zvcl9sZWFrcyhwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbWVtY2hlY2tfYW5hbHl6ZS5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MmU1NGQ2MzEzYjBkODAxYjZhMTBiMmIxNDk4ZGQwMDkwOGIzNmFjCi0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21lbWNoZWNrX2FuYWx5emUu
cHkKQEAgLTAsMCArMSw2ODQgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBPcmlnaW5hbGx5
IGZyb20gQ2hyb21pdW0sIGNvcHlyaWdodCBhcyBmb2xsb3dzOgorIworIyBDb3B5cmlnaHQgKGMp
IDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisKKyMgbWVtY2hlY2tfYW5hbHl6ZS5weQorCisnJycgR2l2ZW4gYSB2YWxn
cmluZCBYTUwgZmlsZSwgcGFyc2VzIGVycm9ycyBhbmQgdW5pcXVlcyB0aGVtLicnJworCitpbXBv
cnQgZ2RiX2hlbHBlcgorCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdAoraW1w
b3J0IGhhc2hsaWIKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcwor
aW1wb3J0IHJlCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworaW1wb3J0IHRpbWUKK2Zy
b20geG1sLmRvbS5taW5pZG9tIGltcG9ydCBwYXJzZQorZnJvbSB4bWwucGFyc2Vycy5leHBhdCBp
bXBvcnQgRXhwYXRFcnJvcgorCitpbXBvcnQgY29tbW9uCisKKyMgR2xvYmFsIHN5bWJvbCB0YWJs
ZSAoeXVjaykKK1RoZUFkZHJlc3NUYWJsZSA9IE5vbmUKKworIyBUaGVzZSBhcmUgcmVnZXhwcyB0
aGF0IGRlZmluZSBmdW5jdGlvbnMgKHVzaW5nIEMrKyBtYW5nbGVkIG5hbWVzKQorIyB3ZSBkb24n
dCB3YW50IHRvIHNlZSBpbiBzdGFjayB0cmFjZXMgd2hpbGUgcHJldHR5IHByaW50aW5nCisjIG9y
IGdlbmVyYXRpbmcgc3VwcHJlc3Npb25zLgorIyBKdXN0IHN0b3AgcHJpbnRpbmcgdGhlIHN0YWNr
L3N1cHByZXNzaW9uIGZyYW1lcyB3aGVuIHRoZSBjdXJyZW50IG9uZQorIyBtYXRjaGVzIGFueSBv
ZiB0aGVzZS4KK19CT1JJTkdfQ0FMTEVSUyA9IGNvbW1vbi5Cb3JpbmdDYWxsZXJzKG1hbmdsZWQ9
VHJ1ZSwgdXNlX3JlX3dpbGRjYXJkcz1UcnVlKQorCisKK2RlZiBnZXRUZXh0T2YodG9wX25vZGUs
IG5hbWUpOgorICAgICcnJyBSZXR1cm5zIGFsbCB0ZXh0IGluIGFsbCBET00gbm9kZXMgd2l0aCBh
IGNlcnRhaW4gfG5hbWV8IHRoYXQgYXJlCisgICAgY2hpbGRyZW4gb2YgfHRvcF9ub2RlfC4KKyAg
ICAnJycKKworICAgIHRleHQgPSAiIgorICAgIGZvciBub2Rlc19uYW1lZCBpbiB0b3Bfbm9kZS5n
ZXRFbGVtZW50c0J5VGFnTmFtZShuYW1lKToKKyAgICAgICAgdGV4dCArPSAiIi5qb2luKFtub2Rl
LmRhdGEgZm9yIG5vZGUgaW4gbm9kZXNfbmFtZWQuY2hpbGROb2RlcworICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIG5vZGUubm9kZVR5cGUgPT0gbm9kZS5URVhUX05PREVdKQorICAgIHJldHVy
biB0ZXh0CisKKworZGVmIGdldENEQVRBT2YodG9wX25vZGUsIG5hbWUpOgorICAgICcnJyBSZXR1
cm5zIGFsbCBDREFUQSBpbiBhbGwgRE9NIG5vZGVzIHdpdGggYSBjZXJ0YWluIHxuYW1lfCB0aGF0
IGFyZQorICAgIGNoaWxkcmVuIG9mIHx0b3Bfbm9kZXwuCisgICAgJycnCisKKyAgICB0ZXh0ID0g
IiIKKyAgICBmb3Igbm9kZXNfbmFtZWQgaW4gdG9wX25vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
bmFtZSk6CisgICAgICAgIHRleHQgKz0gIiIuam9pbihbbm9kZS5kYXRhIGZvciBub2RlIGluIG5v
ZGVzX25hbWVkLmNoaWxkTm9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub2RlLm5v
ZGVUeXBlID09IG5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFXSkKKyAgICBpZiAodGV4dCA9PSAiIik6
CisgICAgICAgIHJldHVybiBOb25lCisgICAgcmV0dXJuIHRleHQKKworCitkZWYgc2hvcnRlbkZp
bGVQYXRoKHNvdXJjZV9kaXIsIGRpcmVjdG9yeSk6CisgICAgJycnUmV0dXJucyBhIHN0cmluZyB3
aXRoIHRoZSBzdHJpbmcgcHJlZml4IHxzb3VyY2VfZGlyfCByZW1vdmVkIGZyb20KKyAgICB8ZGly
ZWN0b3J5fC4nJycKKyAgICBwcmVmaXhlc190b19jdXQgPSBbImJ1aWxkL3NyYy8iLCAidmFsZ3Jp
bmQvY29yZWdyaW5kLyJdCisKKyAgICBpZiBzb3VyY2VfZGlyOgorICAgICAgICBwcmVmaXhlc190
b19jdXQuYXBwZW5kKHNvdXJjZV9kaXIpCisKKyAgICBmb3IgcCBpbiBwcmVmaXhlc190b19jdXQ6
CisgICAgICAgIGluZGV4ID0gZGlyZWN0b3J5LnJmaW5kKHApCisgICAgICAgIGlmIGluZGV4ICE9
IC0xOgorICAgICAgICAgICAgZGlyZWN0b3J5ID0gZGlyZWN0b3J5W2luZGV4ICsgbGVuKHApOl0K
KworICAgIHJldHVybiBkaXJlY3RvcnkKKworIyBDb25zdGFudHMgdGhhdCBnaXZlIHJlYWwgbmFt
ZXMgdG8gdGhlIGFiYnJldmlhdGlvbnMgaW4gdmFsZ3JpbmQgWE1MIG91dHB1dC4KK0lOU1RSVUNU
SU9OX1BPSU5URVIgPSAiaXAiCitPQkpFQ1RfRklMRSA9ICJvYmoiCitGVU5DVElPTl9OQU1FID0g
ImZuIgorU1JDX0ZJTEVfRElSID0gImRpciIKK1NSQ19GSUxFX05BTUUgPSAiZmlsZSIKK1NSQ19M
SU5FID0gImxpbmUiCisKKworZGVmIGdhdGhlckZyYW1lcyhub2RlLCBzb3VyY2VfZGlyKToKKyAg
ICBmcmFtZXMgPSBbXQorICAgIGZvciBmcmFtZSBpbiBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJmcmFtZSIpOgorICAgICAgICBmcmFtZV9kaWN0ID0geworICAgICAgICAgICAgSU5TVFJVQ1RJ
T05fUE9JTlRFUjogZ2V0VGV4dE9mKGZyYW1lLCBJTlNUUlVDVElPTl9QT0lOVEVSKSwKKyAgICAg
ICAgICAgIE9CSkVDVF9GSUxFOiBnZXRUZXh0T2YoZnJhbWUsIE9CSkVDVF9GSUxFKSwKKyAgICAg
ICAgICAgIEZVTkNUSU9OX05BTUU6IGdldFRleHRPZihmcmFtZSwgRlVOQ1RJT05fTkFNRSksCisg
ICAgICAgICAgICBTUkNfRklMRV9ESVI6IHNob3J0ZW5GaWxlUGF0aCgKKyAgICAgICAgICAgICAg
ICAgICAgc291cmNlX2RpciwgZ2V0VGV4dE9mKGZyYW1lLCBTUkNfRklMRV9ESVIpKSwKKyAgICAg
ICAgICAgIFNSQ19GSUxFX05BTUU6IGdldFRleHRPZihmcmFtZSwgU1JDX0ZJTEVfTkFNRSksCisg
ICAgICAgICAgICBTUkNfTElORTogZ2V0VGV4dE9mKGZyYW1lLCBTUkNfTElORSl9CisKKyAgICAg
ICAgIyBJZ25vcmUgdGhpcyBmcmFtZSBhbmQgYWxsIHRoZSBmb2xsb3dpbmcgaWYgaXQncyBhICJi
b3JpbmciIGZ1bmN0aW9uLgorICAgICAgICBlbm91Z2hfZnJhbWVzID0gRmFsc2UKKyAgICAgICAg
Zm9yIHJlZ2V4cCBpbiBfQk9SSU5HX0NBTExFUlM6CisgICAgICAgICAgICBpZiByZS5tYXRjaCgi
XiVzJCIgJSByZWdleHAsIGZyYW1lX2RpY3RbRlVOQ1RJT05fTkFNRV0pOgorICAgICAgICAgICAg
ICAgIGVub3VnaF9mcmFtZXMgPSBUcnVlCisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAg
aWYgZW5vdWdoX2ZyYW1lczoKKyAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgZnJhbWVzICs9
IFtmcmFtZV9kaWN0XQorCisgICAgICAgIGdsb2JhbCBUaGVBZGRyZXNzVGFibGUKKyAgICAgICAg
aWYgVGhlQWRkcmVzc1RhYmxlICE9IE5vbmUgYW5kIGZyYW1lX2RpY3RbU1JDX0xJTkVdID09ICIi
OgorICAgICAgICAgICAgIyBUcnkgdXNpbmcgZ2RiCisgICAgICAgICAgICBUaGVBZGRyZXNzVGFi
bGUuQWRkKGZyYW1lX2RpY3RbT0JKRUNUX0ZJTEVdLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmcmFtZV9kaWN0W0lOU1RSVUNUSU9OX1BPSU5URVJdKQorICAgIHJldHVybiBmcmFt
ZXMKKworCitjbGFzcyBWYWxncmluZEVycm9yOgorICAgICcnJyBUYWtlcyBhIDxET00gRWxlbWVu
dDogZXJyb3I+IG5vZGUgYW5kIHJlYWRzIGFsbCB0aGUgZGF0YSBmcm9tIGl0LiBBCisgICAgVmFs
Z3JpbmRFcnJvciBpcyBpbW11dGFibGUgYW5kIGlzIGhhc2hlZCBvbiBpdHMgcHJldHR5IHByaW50
ZWQgb3V0cHV0LgorICAgICcnJworCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZV9kaXIs
IGVycm9yX25vZGUsIGNvbW1hbmRsaW5lLCB0ZXN0Y2FzZSk6CisgICAgICAgICcnJyBDb3BpZXMg
YWxsIHRoZSByZWxldmFudCBpbmZvcm1hdGlvbiBvdXQgb2YgdGhlIERPTSBhbmQgaW50byBvYmpl
Y3QKKyAgICAgICAgcHJvcGVydGllcy4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgZXJy
b3Jfbm9kZTogVGhlIDxlcnJvcj48L2Vycm9yPiBET00gbm9kZSB3ZSdyZSBleHRyYWN0aW5nIGZy
b20uCisgICAgICAgICAgICBzb3VyY2VfZGlyOiBQcmVmaXggdGhhdCBzaG91bGQgYmUgc3RyaXBw
ZWQgZnJvbSB0aGUgPGRpcj4gbm9kZS4KKyAgICAgICAgICAgIGNvbW1hbmRsaW5lOiBUaGUgY29t
bWFuZCB0aGF0IHdhcyBydW4gdW5kZXIgdmFsZ3JpbmQKKyAgICAgICAgICAgIHRlc3RjYXNlOiBU
aGUgdGVzdCBjYXNlIG5hbWUsIGlmIGtub3duLgorICAgICAgICAnJycKKworICAgICAgICAjIFZh
bGdyaW5kIGVycm9ycyBjb250YWluIG9uZSA8d2hhdD48c3RhY2s+IHBhaXIsIHBsdXMgYW4gb3B0
aW9uYWwKKyAgICAgICAgIyA8YXV4d2hhdD48c3RhY2s+IHBhaXIsIHBsdXMgYW4gb3B0aW9uYWwg
PG9yaWdpbj48d2hhdD48c3RhY2s+PC9vcmlnaW4+LAorICAgICAgICAjIHBsdXMgKHNpbmNlIDMu
NS4wKSBhIDxzdXBwcmVzc2lvbj48L3N1cHByZXNzaW9uPiBwYWlyLgorICAgICAgICAjIChPcmln
aW4gaXMgbmljZWx5IGVuY2xvc2VkOyB0b28gYmFkIHRoZSBvdGhlciB0d28gYXJlbid0LikKKyAg
ICAgICAgIyBUaGUgbW9zdCBjb21tb24gd2F5IHRvIHNlZSBhbGwgdGhyZWUgaW4gb25lIHJlcG9y
dCBpcworICAgICAgICAjIGEgc3lzY2FsbCB3aXRoIGEgcGFyYW1ldGVyIHRoYXQgcG9pbnRzIHRv
IHVuaW5pdGlhbGl6ZWQgbWVtb3J5LCBlLmcuCisgICAgICAgICMgRm9ybWF0OgorICAgICAgICAj
IDxlcnJvcj4KKyAgICAgICAgIyAgICAgPHVuaXF1ZT4weDZkPC91bmlxdWU+CisgICAgICAgICMg
ICAgIDx0aWQ+MTwvdGlkPgorICAgICAgICAjICAgICA8a2luZD5TeXNjYWxsUGFyYW08L2tpbmQ+
CisgICAgICAgICMgICAgIDx3aGF0PlN5c2NhbGwgcGFyYW0gd3JpdGUoYnVmKSBwb2ludHMgdG8g
dW5pbml0aWFsaXNlZCBieXRlKHMpPC93aGF0PgorICAgICAgICAjICAgICA8c3RhY2s+CisgICAg
ICAgICMgICAgICAgICA8ZnJhbWU+CisgICAgICAgICMgICAgICAgICAuLi4KKyAgICAgICAgIyAg
ICAgICAgIDwvZnJhbWU+CisgICAgICAgICMgICAgIDwvc3RhY2s+CisgICAgICAgICMgICAgIDxh
dXh3aGF0PkFkZHJlc3MgMHg1YzlhZjRmIGlzIDcgYnl0ZXMgaW5zaWRlIGEgYmxvY2sgb2YgLi4u
PC9hdXh3aGF0PgorICAgICAgICAjICAgICA8c3RhY2s+CisgICAgICAgICMgICAgICAgICA8ZnJh
bWU+CisgICAgICAgICMgICAgICAgICAuLi4KKyAgICAgICAgIyAgICAgICAgIDwvZnJhbWU+Cisg
ICAgICAgICMgICAgIDwvc3RhY2s+CisgICAgICAgICMgICAgIDxvcmlnaW4+CisgICAgICAgICMg
ICAgIDx3aGF0PlVuaW5pdGlhbGlzZWQgdmFsdWUgd2FzIGNyZWF0ZWQgYnkgYSBoZWFwIGFsbG9j
YXRpb248L3doYXQ+CisgICAgICAgICMgICAgIDxzdGFjaz4KKyAgICAgICAgIyAgICAgICAgIDxm
cmFtZT4KKyAgICAgICAgIyAgICAgICAgIC4uLgorICAgICAgICAjICAgICAgICAgPC9mcmFtZT4K
KyAgICAgICAgIyAgICAgPC9zdGFjaz4KKyAgICAgICAgIyAgICAgPC9vcmlnaW4+CisgICAgICAg
ICMgICAgIDxzdXBwcmVzc2lvbj4KKyAgICAgICAgIyAgICAgICAgIDxzbmFtZT5pbnNlcnRfYV9z
dXBwcmVzc2lvbl9uYW1lX2hlcmU8L3NuYW1lPgorICAgICAgICAjICAgICAgICAgPHNraW5kPk1l
bWNoZWNrOlBhcmFtPC9za2luZD4KKyAgICAgICAgIyAgICAgICAgIDxza2F1eD53cml0ZShidWYp
PC9za2F1eD4KKyAgICAgICAgIyAgICAgICAgIDxzZnJhbWU+IDxmdW4+X193cml0ZV9ub2NhbmNl
bDwvZnVuPiA8L3NmcmFtZT4KKyAgICAgICAgIyAgICAgICAgIC4uLgorICAgICAgICAjICAgICAg
ICAgPHNmcmFtZT4gPGZ1bj5tYWluPC9mdW4+IDwvc2ZyYW1lPgorICAgICAgICAjICAgICAgICAg
PHJhd3RleHQ+CisgICAgICAgICMgPCFbQ0RBVEFbCisgICAgICAgICMgeworICAgICAgICAjICAg
ICAgICA8aW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9oZXJlPgorICAgICAgICAjICAgICAgICBN
ZW1jaGVjazpQYXJhbQorICAgICAgICAjICAgICAgICB3cml0ZShidWYpCisgICAgICAgICMgICAg
ICAgIGZ1bjpfX3dyaXRlX25vY2FuY2VsCisgICAgICAgICMgICAgICAgIC4uLgorICAgICAgICAj
ICAgICAgICBmdW46bWFpbgorICAgICAgICAjIH0KKyAgICAgICAgIyBdXT4KKyAgICAgICAgIyAg
ICAgICAgIDwvcmF3dGV4dD4KKyAgICAgICAgIyAgICAgPC9zdXBwcmVzc2lvbj4KKyAgICAgICAg
IyA8L2Vycm9yPgorICAgICAgICAjCisgICAgICAgICMgRWFjaCBmcmFtZSBsb29rcyBsaWtlIHRo
aXM6CisgICAgICAgICMgICAgPGZyYW1lPgorICAgICAgICAjICAgICAgICA8aXA+MHg4Mzc1MUJD
PC9pcD4KKyAgICAgICAgIyAgICAgICAgPG9iaj4vZGF0YS9ka2VnZWwvY2hyb21lLWJ1aWxkL3Ny
Yy9vdXQvUmVsZWFzZS9iYXNlX3VuaXR0ZXN0czwvb2JqPgorICAgICAgICAjICAgICAgICA8Zm4+
X1pON3Rlc3Rpbmc4aW50ZXJuYWwxMlRlc3RJbmZvSW1wbDdSdW5UZXN0RVBOU184VGVzdEluZm9F
PC9mbj4KKyAgICAgICAgIyAgICAgICAgPGRpcj4vZGF0YS9ka2VnZWwvY2hyb21lLWJ1aWxkL3Ny
Yy90ZXN0aW5nL2d0ZXN0L3NyYzwvZGlyPgorICAgICAgICAjICAgICAgICA8ZmlsZT5ndGVzdC1p
bnRlcm5hbC1pbmwuaDwvZmlsZT4KKyAgICAgICAgIyAgICAgICAgPGxpbmU+NjU1PC9saW5lPgor
ICAgICAgICAjICAgIDwvZnJhbWU+CisgICAgICAgICMgYWx0aG91Z2ggdGhlIGRpciwgZmlsZSwg
YW5kIGxpbmUgZWxlbWVudHMgYXJlIG1pc3NpbmcgaWYgdGhlcmUgaXMKKyAgICAgICAgIyBubyBk
ZWJ1ZyBpbmZvLgorCisgICAgICAgIHNlbGYuX2tpbmQgPSBnZXRUZXh0T2YoZXJyb3Jfbm9kZSwg
ImtpbmQiKQorICAgICAgICBzZWxmLl9iYWNrdHJhY2VzID0gW10KKyAgICAgICAgc2VsZi5fc3Vw
cHJlc3Npb24gPSBOb25lCisgICAgICAgIHNlbGYuX2NvbW1hbmRsaW5lID0gY29tbWFuZGxpbmUK
KyAgICAgICAgc2VsZi5fdGVzdGNhc2UgPSB0ZXN0Y2FzZQorICAgICAgICBzZWxmLl9hZGRpdGlv
bmFsID0gW10KKworICAgICAgICAjIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbm9kZXMsIHBhcnNpbmcg
PHdoYXR8YXV4d2hhdD48c3RhY2s+IHBhaXJzLgorICAgICAgICBkZXNjcmlwdGlvbiA9IE5vbmUK
KyAgICAgICAgZm9yIG5vZGUgaW4gZXJyb3Jfbm9kZS5jaGlsZE5vZGVzOgorICAgICAgICAgICAg
aWYgbm9kZS5sb2NhbE5hbWUgPT0gIndoYXQiIG9yIG5vZGUubG9jYWxOYW1lID09ICJhdXh3aGF0
IjoKKyAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA9ICIiLmpvaW4oW24uZGF0YSBmb3IgbiBp
biBub2RlLmNoaWxkTm9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmIG4ubm9kZVR5cGUgPT0gbi5URVhUX05PREVdKQorICAgICAgICAgICAgZWxpZiBub2RlLmxv
Y2FsTmFtZSA9PSAieHdoYXQiOgorICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gZ2V0VGV4
dE9mKG5vZGUsICJ0ZXh0IikKKyAgICAgICAgICAgIGVsaWYgbm9kZS5sb2NhbE5hbWUgPT0gInN0
YWNrIjoKKyAgICAgICAgICAgICAgICBhc3NlcnQgZGVzY3JpcHRpb24KKyAgICAgICAgICAgICAg
ICBzZWxmLl9iYWNrdHJhY2VzLmFwcGVuZChbZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdhdGhlckZyYW1lcyhub2RlLCBzb3VyY2VfZGlyKV0p
CisgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gPSBOb25lCisgICAgICAgICAgICBlbGlmIG5v
ZGUubG9jYWxOYW1lID09ICJvcmlnaW4iOgorICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uID0g
Z2V0VGV4dE9mKG5vZGUsICJ3aGF0IikKKyAgICAgICAgICAgICAgICBzdGFjayA9IG5vZGUuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoInN0YWNrIilbMF0KKyAgICAgICAgICAgICAgICBmcmFtZXMgPSBn
YXRoZXJGcmFtZXMoc3RhY2ssIHNvdXJjZV9kaXIpCisgICAgICAgICAgICAgICAgc2VsZi5fYmFj
a3RyYWNlcy5hcHBlbmQoW2Rlc2NyaXB0aW9uLCBmcmFtZXNdKQorICAgICAgICAgICAgICAgIGRl
c2NyaXB0aW9uID0gTm9uZQorICAgICAgICAgICAgICAgIHN0YWNrID0gTm9uZQorICAgICAgICAg
ICAgICAgIGZyYW1lcyA9IE5vbmUKKyAgICAgICAgICAgIGVsaWYgZGVzY3JpcHRpb24gYW5kIG5v
ZGUubG9jYWxOYW1lICE9IE5vbmU6CisgICAgICAgICAgICAgICAgIyBUaGUgbGFzdGVzdCBkZXNj
cmlwdGlvbiBoYXMgbm8gc3RhY2ssCisgICAgICAgICAgICAgICAgIyBlLmcuICJBZGRyZXNzIDB4
MjggaXMgdW5rbm93biIKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRpdGlvbmFsLmFwcGVuZChk
ZXNjcmlwdGlvbikKKyAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA9IE5vbmUKKworICAgICAg
ICAgICAgaWYgbm9kZS5sb2NhbE5hbWUgPT0gInN1cHByZXNzaW9uIjoKKyAgICAgICAgICAgICAg
ICBzZWxmLl9zdXBwcmVzc2lvbiA9IGdldENEQVRBT2Yobm9kZSwgInJhd3RleHQiKQorCisgICAg
ZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgICcnJyBQcmV0dHkgcHJpbnQgdGhlIHR5cGUgYW5k
IGJhY2t0cmFjZShzKSBvZiB0aGlzIHNwZWNpZmljIGVycm9yLAorICAgICAgICAgICAgICAgIGlu
Y2x1ZGluZyBzdXBwcmVzc2lvbiAod2hpY2ggaXMganVzdCBhIG1hbmdsZWQgYmFja3RyYWNlKS4n
JycKKyAgICAgICAgb3V0cHV0ID0gIiIKKyAgICAgICAgaWYgKHNlbGYuX2NvbW1hbmRsaW5lKToK
KyAgICAgICAgICAgIG91dHB1dCArPSBzZWxmLl9jb21tYW5kbGluZSArICJcbiIKKworICAgICAg
ICBvdXRwdXQgKz0gc2VsZi5fa2luZCArICJcbiIKKyAgICAgICAgZm9yIGJhY2t0cmFjZSBpbiBz
ZWxmLl9iYWNrdHJhY2VzOgorICAgICAgICAgICAgb3V0cHV0ICs9IGJhY2t0cmFjZVswXSArICJc
biIKKyAgICAgICAgICAgIGZpbHRlciA9IHN1YnByb2Nlc3MuUG9wZW4oImMrK2ZpbHQgLW4iLCBz
dGRpbj1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5T
VERPVVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2hlbGw9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV9mZHM9VHJ1ZSkKKyAgICAgICAgICAgIGJ1ZiA9ICIiCisgICAgICAg
ICAgICBmb3IgZnJhbWUgaW4gYmFja3RyYWNlWzFdOgorICAgICAgICAgICAgICAgIGJ1ZiArPSAo
ZnJhbWVbRlVOQ1RJT05fTkFNRV0gb3IgXAorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVb
SU5TVFJVQ1RJT05fUE9JTlRFUl0pICsgIlxuIgorICAgICAgICAgICAgKHN0ZG91dGJ1Ziwgc3Rk
ZXJyYnVmKSA9IGZpbHRlci5jb21tdW5pY2F0ZShidWYuZW5jb2RlKCdsYXRpbi0xJykpCisgICAg
ICAgICAgICBkZW1hbmdsZWRfbmFtZXMgPSBzdGRvdXRidWYuc3BsaXQoIlxuIikKKworICAgICAg
ICAgICAgaSA9IDAKKyAgICAgICAgICAgIGZvciBmcmFtZSBpbiBiYWNrdHJhY2VbMV06CisgICAg
ICAgICAgICAgICAgb3V0cHV0ICs9ICgiICAgICIgKyBkZW1hbmdsZWRfbmFtZXNbaV0pCisgICAg
ICAgICAgICAgICAgaSA9IGkgKyAxCisKKyAgICAgICAgICAgICAgICBnbG9iYWwgVGhlQWRkcmVz
c1RhYmxlCisgICAgICAgICAgICAgICAgaWYgVGhlQWRkcmVzc1RhYmxlICE9IE5vbmUgYW5kIGZy
YW1lW1NSQ19GSUxFX0RJUl0gPT0gIiI6CisgICAgICAgICAgICAgICAgICAgICMgVHJ5IHVzaW5n
IGdkYgorICAgICAgICAgICAgICAgICAgICBmb28gPSBUaGVBZGRyZXNzVGFibGUuR2V0RmlsZUxp
bmUoCisgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVtPQkpFQ1RfRklMRV0sCisgICAgICAg
ICAgICAgICAgICAgICAgICBmcmFtZVtJTlNUUlVDVElPTl9QT0lOVEVSXSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgZm9vWzBdICE9IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBvdXRw
dXQgKz0gKCIgKCIgKyBmb29bMF0gKyAiOiIgKyBmb29bMV0gKyAiKSIpCisgICAgICAgICAgICAg
ICAgZWxpZiBmcmFtZVtTUkNfRklMRV9ESVJdICE9ICIiOgorICAgICAgICAgICAgICAgICAgICBv
dXRwdXQgKz0gKCIgKCIgKyBmcmFtZVtTUkNfRklMRV9ESVJdICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiLyIgKyBmcmFtZVtTUkNfRklMRV9OQU1FXSArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIjoiICsgZnJhbWVbU1JDX0xJTkVdICsgIikiKQorICAgICAgICAg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIG91dHB1dCArPSAiICgiICsgZnJhbWVb
T0JKRUNUX0ZJTEVdICsgIikiCisgICAgICAgICAgICAgICAgb3V0cHV0ICs9ICJcbiIKKworICAg
ICAgICBmb3IgYWRkaXRpb25hbCBpbiBzZWxmLl9hZGRpdGlvbmFsOgorICAgICAgICAgICAgb3V0
cHV0ICs9IGFkZGl0aW9uYWwgKyAiXG4iCisKKyAgICAgICAgYXNzZXJ0IHNlbGYuX3N1cHByZXNz
aW9uICE9IE5vbmUsICJZb3VyIFZhbGdyaW5kIGRvZXNuJ3QgZ2VuZXJhdGUgIiBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1cHByZXNzaW9ucyAtIGlzIGl0
IHRvbyBvbGQ/IgorCisgICAgICAgIGlmIHNlbGYuX3Rlc3RjYXNlOgorICAgICAgICAgICAgb3V0
cHV0ICs9ICJUaGUgcmVwb3J0IGNhbWUgZnJvbSB0aGUgYCVzYCB0ZXN0LlxuIiAlIHNlbGYuX3Rl
c3RjYXNlCisgICAgICAgIG91dHB1dCArPSAiU3VwcHJlc3Npb24gKGVycm9yIGhhc2g9IyUwMTZY
Iyk6XG4iICUgc2VsZi5FcnJvckhhc2goKQorICAgICAgICBvdXRwdXQgKz0gKCIgIEZvciBtb3Jl
IGluZm8gb24gdXNpbmcgc3VwcHJlc3Npb25zIHNlZSAiCisgICAgICAgICAgICAgICAgICAgICAg
Imh0dHA6Ly9kZXYuY2hyb21pdW0ub3JnL2RldmVsb3BlcnMvdHJlZS1zaGVyaWZmcy8iCisgICAg
ICAgICAgICAgICAgICAgICAgInNoZXJpZmYtZGV0YWlscy1jaHJvbWl1bS9tZW1vcnktc2hlcmlm
ZiMiCisgICAgICAgICAgICAgICAgICAgICAgIlRPQy1TdXBwcmVzc2luZy1tZW1vcnktcmVwb3J0
cyIpCisKKyAgICAgICAgIyBXaWRlbiBzdXBwcmVzc2lvbiBzbGlnaHRseSB0byBtYWtlIHBvcnRh
YmxlIGJldHdlZW4gbWFjIGFuZCBsaW51eAorICAgICAgICAjIFRPRE8odGltdXJycnIpOiBPb3Bz
LCB0aGVzZSB0cmFuc2Zvcm1hdGlvbnMgc2hvdWxkIGhhcHBlbgorICAgICAgICAjIEJFRk9SRSBj
YWxjdWxhdGluZyB0aGUgaGFzaCEKKyAgICAgICAgc3VwcCA9IHNlbGYuX3N1cHByZXNzaW9uCisg
ICAgICAgIHN1cHAgPSBzdXBwLnJlcGxhY2UoImZ1bjpfWm53aiIsICJmdW46X1pudyoiKQorICAg
ICAgICBzdXBwID0gc3VwcC5yZXBsYWNlKCJmdW46X1pud20iLCAiZnVuOl9abncqIikKKyAgICAg
ICAgc3VwcCA9IHN1cHAucmVwbGFjZSgiZnVuOl9abmFqIiwgImZ1bjpfWm5hKiIpCisgICAgICAg
IHN1cHAgPSBzdXBwLnJlcGxhY2UoImZ1bjpfWm5hbSIsICJmdW46X1puYSoiKQorCisgICAgICAg
ICMgU3BsaXQgaW50byBsaW5lcyBzbyB3ZSBjYW4gZW5mb3JjZSBsZW5ndGggbGltaXRzCisgICAg
ICAgIHN1cHBsaW5lcyA9IHN1cHAuc3BsaXQoIlxuIikKKyAgICAgICAgc3VwcCA9IE5vbmUgICAg
IyB0byBhdm9pZCByZS11c2UKKworICAgICAgICAjIFRydW5jYXRlIGF0IGxpbmUgMjYgKFZHX01B
WF9TVVBQX0NBTExFUlMgcGx1cyAyIGZvciBuYW1lIGFuZCB0eXBlKQorICAgICAgICAjIG9yIGF0
IHRoZSBmaXJzdCAnYm9yaW5nJyBjYWxsZXIuCisgICAgICAgICMgKGh0dHBzOi8vYnVncy5rZGUu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk0NjggcHJvcG9zZXMgcmFpc2luZworICAgICAgICAjIFZH
X01BWF9TVVBQX0NBTExFUlMsIGJ1dCB3ZSdyZSBwcm9iYWJseSBmaW5lIHdpdGggaXQgYXMgaXMu
KQorICAgICAgICBuZXdsZW4gPSBtaW4oMjYsIGxlbihzdXBwbGluZXMpKQorCisgICAgICAgICMg
RHJvcCBib3JpbmcgZnJhbWVzIGFuZCBhbGwgdGhlIGZvbGxvd2luZy4KKyAgICAgICAgZW5vdWdo
X2ZyYW1lcyA9IEZhbHNlCisgICAgICAgIGZvciBmcmFtZW5vIGluIHJhbmdlKG5ld2xlbik6Cisg
ICAgICAgICAgICBmb3IgYm9yaW5nX2NhbGxlciBpbiBfQk9SSU5HX0NBTExFUlM6CisgICAgICAg
ICAgICAgICAgaWYgcmUubWF0Y2goIl4gK2Z1bjolcyQiICUgYm9yaW5nX2NhbGxlciwgc3VwcGxp
bmVzW2ZyYW1lbm9dKToKKyAgICAgICAgICAgICAgICAgICAgbmV3bGVuID0gZnJhbWVubworICAg
ICAgICAgICAgICAgICAgICBlbm91Z2hfZnJhbWVzID0gVHJ1ZQorICAgICAgICAgICAgICAgICAg
ICBicmVhaworICAgICAgICAgICAgaWYgZW5vdWdoX2ZyYW1lczoKKyAgICAgICAgICAgICAgICBi
cmVhaworICAgICAgICBpZiAobGVuKHN1cHBsaW5lcykgPiBuZXdsZW4pOgorICAgICAgICAgICAg
c3VwcGxpbmVzID0gc3VwcGxpbmVzWzA6bmV3bGVuXQorICAgICAgICAgICAgc3VwcGxpbmVzLmFw
cGVuZCgifSIpCisKKyAgICAgICAgZm9yIGZyYW1lIGluIHJhbmdlKGxlbihzdXBwbGluZXMpKToK
KyAgICAgICAgICAgICMgUmVwbGFjZSB0aGUgYWx3YXlzLWNoYW5naW5nIGFub255bW91cyBuYW1l
c3BhY2UgcHJlZml4IHdpdGggIioiLgorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCIoICtmdW46
KV9aTi4qX0dMT0JBTF9fTl8uKlwuY2NfIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIlswLTlhLWZBLUZdezh9X1swLTlhLWZBLUZdezh9KC4qKSIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcGxpbmVzW2ZyYW1lXSkKKyAgICAgICAgICAg
IGlmIG06CisgICAgICAgICAgICAgICAgc3VwcGxpbmVzW2ZyYW1lXSA9ICIqIi5qb2luKG0uZ3Jv
dXBzKCkpCisKKyAgICAgICAgb3V0cHV0ICs9ICJcbiIuam9pbihzdXBwbGluZXMpICsgIlxuIgor
CisgICAgICAgIHJldHVybiBvdXRwdXQKKworICAgIGRlZiBVbmlxdWVTdHJpbmcoc2VsZik6Cisg
ICAgICAgICcnJyBTdHJpbmcgdG8gdXNlIGZvciBvYmplY3QgaWRlbnRpdHkuIERvbid0IHByaW50
IHRoaXMsIHVzZSBzdHIob2JqKQorICAgICAgICBpbnN0ZWFkLicnJworICAgICAgICByZXAgPSBz
ZWxmLl9raW5kICsgIiAiCisgICAgICAgIGZvciBiYWNrdHJhY2UgaW4gc2VsZi5fYmFja3RyYWNl
czoKKyAgICAgICAgICAgIGZvciBmcmFtZSBpbiBiYWNrdHJhY2VbMV06CisgICAgICAgICAgICAg
ICAgcmVwICs9IGZyYW1lW0ZVTkNUSU9OX05BTUVdCisKKyAgICAgICAgICAgICAgICBpZiBmcmFt
ZVtTUkNfRklMRV9ESVJdICE9ICIiOgorICAgICAgICAgICAgICAgICAgICByZXAgKz0gZnJhbWVb
U1JDX0ZJTEVfRElSXSArICIvIiArIGZyYW1lW1NSQ19GSUxFX05BTUVdCisgICAgICAgICAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmVwICs9IGZyYW1lW09CSkVDVF9GSUxFXQor
CisgICAgICAgIHJldHVybiByZXAKKworICAgICMgVGhpcyBpcyBhIGRldmljZS1pbmRlcGVuZGVu
dCBoYXNoIGlkZW50aWZ5aW5nIHRoZSBzdXBwcmVzc2lvbi4KKyAgICAjIEJ5IHByaW50aW5nIG91
dCB0aGlzIGhhc2ggd2UgY2FuIGZpbmQgZHVwbGljYXRlIHJlcG9ydHMgYmV0d2VlbiB0ZXN0cyBh
bmQKKyAgICAjIGRpZmZlcmVudCBzaGFyZHMgcnVubmluZyBvbiBtdWx0aXBsZSBidWlsZGJvdHMK
KyAgICBkZWYgRXJyb3JIYXNoKHNlbGYpOgorICAgICAgICByZXR1cm4gaW50KGhhc2hsaWIubWQ1
KHNlbGYuVW5pcXVlU3RyaW5nKCkpLmhleGRpZ2VzdCgpWzoxNl0sIDE2KQorCisgICAgZGVmIF9f
aGFzaF9fKHNlbGYpOgorICAgICAgICByZXR1cm4gaGFzaChzZWxmLlVuaXF1ZVN0cmluZygpKQor
CisgICAgZGVmIF9fZXFfXyhzZWxmLCByaHMpOgorICAgICAgICByZXR1cm4gc2VsZi5VbmlxdWVT
dHJpbmcoKSA9PSByaHMKKworCitkZWYgbG9nX2lzX2ZpbmlzaGVkKGYsIGZvcmNlX2ZpbmlzaCk6
CisgICAgZi5zZWVrKDApCisgICAgcHJldl9saW5lID0gIiIKKyAgICB3aGlsZSBUcnVlOgorICAg
ICAgICBsaW5lID0gZi5yZWFkbGluZSgpCisgICAgICAgIGlmIGxpbmUgPT0gIiI6CisgICAgICAg
ICAgICBpZiBub3QgZm9yY2VfZmluaXNoOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQor
ICAgICAgICAgICAgIyBPa2F5LCB0aGUgbG9nIGlzIG5vdCBmaW5pc2hlZCBidXQgd2UgY2FuCisg
ICAgICAgICAgICAjIG1ha2UgaXQgdXAgdG8gYmUgcGFyc2VhYmxlOgorICAgICAgICAgICAgaWYg
cHJldl9saW5lLnN0cmlwKCkgaW4gWyI8L2Vycm9yPiIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIjwvZXJyb3Jjb3VudHM+IiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiPC9zdGF0dXM+Il06CisgICAgICAgICAgICAgICAgZi53cml0ZSgiPC92
YWxncmluZG91dHB1dD5cbiIpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAg
ICAgIHJldHVybiBGYWxzZQorICAgICAgICBpZiAnPC92YWxncmluZG91dHB1dD4nIGluIGxpbmU6
CisgICAgICAgICAgICAjIFZhbGdyaW5kIG9mdGVuIGhhcyBnYXJiYWdlIGFmdGVyIDwvdmFsZ3Jp
bmRvdXRwdXQ+IHVwb24gY3Jhc2guCisgICAgICAgICAgICBmLnRydW5jYXRlKCkKKyAgICAgICAg
ICAgIHJldHVybiBUcnVlCisgICAgICAgIHByZXZfbGluZSA9IGxpbmUKKworCitjbGFzcyBNZW1j
aGVja0FuYWx5emVyOgorICAgICcnJyBHaXZlbiBhIHNldCBvZiBWYWxncmluZCBYTUwgZmlsZXMs
IHBhcnNlIGFsbCB0aGUgZXJyb3JzIG91dCBvZiB0aGVtLAorICAgIHVuaXF1ZSB0aGVtIGFuZCBv
dXRwdXQgdGhlIHJlc3VsdHMuJycnCisKKyAgICBTQU5JVFlfVEVTVF9TVVBQUkVTU0lPTlMgPSB7
CisgICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMDEgKG1lbW9yeSBsZWFrKS4iOiAx
LAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDAyIChtYWxsb2MvcmVhZCBsZWZ0
KS4iOiAxLAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDAzIChtYWxsb2MvcmVh
ZCByaWdodCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAwNCAobWFs
bG9jL3dyaXRlIGxlZnQpLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3Qg
MDUgKG1hbGxvYy93cml0ZSByaWdodCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5p
dHkgdGVzdCAwNiAobmV3L3JlYWQgbGVmdCkuIjogMSwKKyAgICAgICAgICAgICJNZW1jaGVjayBz
YW5pdHkgdGVzdCAwNyAobmV3L3JlYWQgcmlnaHQpLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hl
Y2sgc2FuaXR5IHRlc3QgMDggKG5ldy93cml0ZSBsZWZ0KS4iOiAxLAorICAgICAgICAgICAgIk1l
bWNoZWNrIHNhbml0eSB0ZXN0IDA5IChuZXcvd3JpdGUgcmlnaHQpLiI6IDEsCisgICAgICAgICAg
ICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTAgKHdyaXRlIGFmdGVyIGZyZWUpLiI6IDEsCisgICAg
ICAgICAgICAiTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTEgKHdyaXRlIGFmdGVyIGRlbGV0ZSkuIjog
MSwKKyAgICAgICAgICAgICJNZW1jaGVjayBzYW5pdHkgdGVzdCAxMiAoYXJyYXkgZGVsZXRlZCB3
aXRob3V0IFtdKS4iOiAxLAorICAgICAgICAgICAgIk1lbWNoZWNrIHNhbml0eSB0ZXN0IDEzIChz
aW5nbGUgZWxlbWVudCBkZWxldGVkIHdpdGggW10pLiI6IDEsCisgICAgICAgICAgICAiTWVtY2hl
Y2sgc2FuaXR5IHRlc3QgMTQgKG1hbGxvYy9yZWFkIHVuaW5pdCkuIjogMSwKKyAgICAgICAgICAg
ICJNZW1jaGVjayBzYW5pdHkgdGVzdCAxNSAobmV3L3JlYWQgdW5pbml0KS4iOiAxLAorICAgIH0K
KworICAgICMgTWF4IHRpbWUgdG8gd2FpdCBmb3IgbWVtY2hlY2sgbG9ncyB0byBjb21wbGV0ZS4K
KyAgICBMT0dfQ09NUExFVElPTl9USU1FT1VUID0gMTgwLjAKKworICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBzb3VyY2VfZGlyLCBzaG93X2FsbF9sZWFrcz1GYWxzZSwgdXNlX2dkYj1GYWxzZSk6Cisg
ICAgICAgICcnJ0NyZWF0ZSBhIHBhcnNlciBmb3IgTWVtY2hlY2sgbG9ncy4KKworICAgICAgICBB
cmdzOgorICAgICAgICAgICAgc291cmNlX2RpcjogUGF0aCB0byB0b3Agb2Ygc291cmNlIHRyZWUg
Zm9yIHRoaXMgYnVpbGQKKyAgICAgICAgICAgIHNob3dfYWxsX2xlYWtzOiBXaGV0aGVyIHRvIHNo
b3cgZXZlbiBsZXNzIGltcG9ydGFudCBsZWFrcworICAgICAgICAgICAgdXNlX2dkYjogV2hldGhl
ciB0byB1c2UgZ2RiIHRvIHJlc29sdmUgc291cmNlIGZpbGVuYW1lcyBhbmQgbGluZQorICAgICAg
ICAgICAgICAgICAgICAgbnVtYmVycyBpbiB0aGUgcmVwb3J0IHN0YWNrdHJhY2VzCisgICAgICAg
ICcnJworICAgICAgICBzZWxmLl9zb3VyY2VfZGlyID0gc291cmNlX2RpcgorICAgICAgICBzZWxm
Ll9zaG93X2FsbF9sZWFrcyA9IHNob3dfYWxsX2xlYWtzCisgICAgICAgIHNlbGYuX3VzZV9nZGIg
PSB1c2VfZ2RiCisKKyAgICAgICAgIyBDb250YWlucyB0aGUgc2V0IG9mIHVuaXF1ZSBlcnJvcnMK
KyAgICAgICAgc2VsZi5fZXJyb3JzID0gc2V0KCkKKworICAgICAgICAjIENvbnRhaW5zIHRoZSB0
aW1lIHdoZW4gdGhlIHdlIHN0YXJ0ZWQgYW5hbHl6aW5nIHRoZSBmaXJzdCBsb2cgZmlsZS4KKyAg
ICAgICAgIyBUaGlzIHZhcmlhYmxlIGlzIHVzZWQgdG8gc2tpcCBpbmNvbXBsZXRlIGxvZ3MgYWZ0
ZXIgc29tZSB0aW1lb3V0LgorICAgICAgICBzZWxmLl9hbmFseXplX3N0YXJ0X3RpbWUgPSBOb25l
CisKKyAgICBkZWYgUmVwb3J0KHNlbGYsIGZpbGVzLCB0ZXN0Y2FzZSwgY2hlY2tfc2FuaXR5PUZh
bHNlKToKKyAgICAgICAgJycnUmVhZHMgaW4gYSBzZXQgb2YgZmlsZXMgYW5kIHByaW50cyBNZW1j
aGVjayByZXBvcnQuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGZpbGVzOiBBIGxpc3Qg
b2YgZmlsZW5hbWVzLgorICAgICAgICAgICAgY2hlY2tfc2FuaXR5OiBpZiB0cnVlLCBzZWFyY2gg
Zm9yIFNBTklUWV9URVNUX1NVUFBSRVNTSU9OUworICAgICAgICAnJycKKyAgICAgICAgIyBCZXlv
bmQgdGhlIGRldGFpbGVkIGVycm9ycyBwYXJzZWQgYnkgVmFsZ3JpbmRFcnJvciBhYm92ZSwKKyAg
ICAgICAgIyB0aGUgeG1sIGZpbGUgY29udGFpbiByZWNvcmRzIGRlc2NyaWJpbmcgc3VwcHJlc3Np
b25zIHRoYXQgd2VyZSB1c2VkOgorICAgICAgICAjIDxzdXBwY291bnRzPgorICAgICAgICAjICAg
IDxwYWlyPgorICAgICAgICAjICAgICAgICA8Y291bnQ+Mjg8L2NvdW50PgorICAgICAgICAjICAg
ICAgICA8bmFtZT5wYW5nb19mb250X2xlYWtfdG9kbzwvbmFtZT4KKyAgICAgICAgIyAgICA8L3Bh
aXI+CisgICAgICAgICMgICAgPHBhaXI+CisgICAgICAgICMgICAgICAgIDxjb3VudD4zNzg8L2Nv
dW50PgorICAgICAgICAjICAgICAgICA8bmFtZT5idWdfMTMyNDM8L25hbWU+CisgICAgICAgICMg
ICAgPC9wYWlyPgorICAgICAgICAjIDwvc3VwcGNvdW50cworICAgICAgICAjIENvbGxlY3QgdGhl
c2UgYW5kIHByaW50IHRoZW0gYXQgdGhlIGVuZC4KKyAgICAgICAgIworICAgICAgICAjIFdpdGgg
b3VyIHBhdGNoIGZvciBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MDAw
IGluLAorICAgICAgICAjIHRoZSBmaWxlIGFsc28gaW5jbHVkZXMgcmVjb3JkcyBvZiB0aGUgZm9y
bQorICAgICAgICAjIDxsb2FkX29iaj48b2JqPi91c3IvbGliL2xpYmdjY19zLjEuZHlsaWI8L29i
aj48aXA+MHgyNzAwMDwvaXA+PC9sb2FkX29iaj4KKyAgICAgICAgIyBnaXZpbmcgdGhlIGZpbGVu
YW1lIGFuZCBsb2FkIGFkZHJlc3Mgb2YgZWFjaCBiaW5hcnkgdGhhdCB3YXMgbWFwcGVkCisgICAg
ICAgICMgaW50byB0aGUgcHJvY2Vzcy4KKworICAgICAgICBnbG9iYWwgVGhlQWRkcmVzc1RhYmxl
CisgICAgICAgIGlmIHNlbGYuX3VzZV9nZGI6CisgICAgICAgICAgICBUaGVBZGRyZXNzVGFibGUg
PSBnZGJfaGVscGVyLkFkZHJlc3NUYWJsZSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBU
aGVBZGRyZXNzVGFibGUgPSBOb25lCisgICAgICAgIGN1cl9yZXBvcnRfZXJyb3JzID0gc2V0KCkK
KyAgICAgICAgc3VwcGNvdW50cyA9IGRlZmF1bHRkaWN0KGludCkKKyAgICAgICAgYmFkZmlsZXMg
PSBzZXQoKQorCisgICAgICAgIGlmIHNlbGYuX2FuYWx5emVfc3RhcnRfdGltZSA9PSBOb25lOgor
ICAgICAgICAgICAgc2VsZi5fYW5hbHl6ZV9zdGFydF90aW1lID0gdGltZS50aW1lKCkKKyAgICAg
ICAgc3RhcnRfdGltZSA9IHNlbGYuX2FuYWx5emVfc3RhcnRfdGltZQorCisgICAgICAgIHBhcnNl
X2ZhaWxlZCA9IEZhbHNlCisgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgorICAgICAgICAgICAg
IyBXYWl0IHVwIHRvIHRocmVlIG1pbnV0ZXMgZm9yIHZhbGdyaW5kIHRvIGZpbmlzaCB3cml0aW5n
IGFsbAorICAgICAgICAgICAgIyBmaWxlcywgYnV0IGFmdGVyIHRoYXQsIGp1c3Qgc2tpcCBpbmNv
bXBsZXRlIGZpbGVzIGFuZCB3YXJuLgorICAgICAgICAgICAgZiA9IG9wZW4oZmlsZSwgInIrIikK
KyAgICAgICAgICAgIHBpZCA9IHJlLm1hdGNoKCIuKlwuKFswLTldKykkIiwgZmlsZSkKKyAgICAg
ICAgICAgIGlmIHBpZDoKKyAgICAgICAgICAgICAgICBwaWQgPSBwaWQuZ3JvdXBzKClbMF0KKyAg
ICAgICAgICAgIGZvdW5kID0gRmFsc2UKKyAgICAgICAgICAgIHJ1bm5pbmcgPSBUcnVlCisgICAg
ICAgICAgICBmaXJzdHJ1biA9IFRydWUKKyAgICAgICAgICAgIHNraXAgPSBGYWxzZQorICAgICAg
ICAgICAgb3JpZ3NpemUgPSBvcy5wYXRoLmdldHNpemUoZmlsZSkKKyAgICAgICAgICAgIHdoaWxl
IChydW5uaW5nIGFuZCBub3QgZm91bmQgYW5kIG5vdCBza2lwIGFuZAorICAgICAgICAgICAgICAg
ICAgIChmaXJzdHJ1biBvciAoKHRpbWUudGltZSgpIC0gc3RhcnRfdGltZSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDwgc2VsZi5MT0dfQ09NUExFVElPTl9USU1FT1VUKSkpOgor
ICAgICAgICAgICAgICAgIGZpcnN0cnVuID0gRmFsc2UKKyAgICAgICAgICAgICAgICBmLnNlZWso
MCkKKyAgICAgICAgICAgICAgICBpZiBwaWQ6CisgICAgICAgICAgICAgICAgICAgICMgTWFrZSBz
dXJlIHRoZSBwcm9jZXNzIGlzIHN0aWxsIHJ1bm5pbmcgc28gd2UgZG9uJ3Qgd2FpdAorICAgICAg
ICAgICAgICAgICAgICAjIGZvciAzIG1pbnV0ZXMgaWYgaXQgd2FzIGtpbGxlZC4KKyAgICAgICAg
ICAgICAgICAgICAgIyBTZWUgaHR0cDovL2NyYnVnLmNvbS8xNzQ1MworICAgICAgICAgICAgICAg
ICAgICBwc19vdXQgPSBzdWJwcm9jZXNzLlBvcGVuKCJwcyBwICVzIiAlIHBpZCwgc2hlbGw9VHJ1
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9
c3VicHJvY2Vzcy5QSVBFKS5zdGRvdXQKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHBzX291
dC5yZWFkbGluZXMoKSkgPCAyOgorICAgICAgICAgICAgICAgICAgICAgICAgcnVubmluZyA9IEZh
bHNlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2tpcCA9IFRy
dWUKKyAgICAgICAgICAgICAgICAgICAgcnVubmluZyA9IEZhbHNlCisgICAgICAgICAgICAgICAg
Zm91bmQgPSBsb2dfaXNfZmluaXNoZWQoZiwgRmFsc2UpCisgICAgICAgICAgICAgICAgaWYgbm90
IHJ1bm5pbmcgYW5kIG5vdCBmb3VuZDoKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy53YXJu
KCJWYWxncmluZCBwcm9jZXNzIFBJRCA9ICVzIGlzIG5vdCBydW5uaW5nIGJ1dCIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICIgaXRzIFhNTCBsb2cgaGFzIG5vdCBiZWVuIGZpbmlzaGVkIGNvcnJl
Y3RseS5cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICJNYWtlIGl0IHVwIGJ5IGFkZGluZyBz
b21lIGNsb3NpbmcgdGFncyBtYW51YWxseS4iICUKKyAgICAgICAgICAgICAgICAgICAgICAgIHBp
ZCkKKyAgICAgICAgICAgICAgICAgICAgZm91bmQgPSBsb2dfaXNfZmluaXNoZWQoZiwgbm90IHJ1
bm5pbmcpCisgICAgICAgICAgICAgICAgaWYgcnVubmluZyBhbmQgbm90IGZvdW5kOgorICAgICAg
ICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEpCisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAg
ICAgICAgIGlmIG5vdCBmb3VuZDoKKyAgICAgICAgICAgICAgICBiYWRmaWxlcy5hZGQoZmlsZSkK
KyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbmV3c2l6ZSA9IG9zLnBhdGguZ2V0
c2l6ZShmaWxlKQorICAgICAgICAgICAgICAgIGlmIG9yaWdzaXplID4gbmV3c2l6ZSArIDE6Cisg
ICAgICAgICAgICAgICAgICAgIGxvZ2dpbmcud2FybihzdHIob3JpZ3NpemUgLSBuZXdzaXplKSAr
CisgICAgICAgICAgICAgICAgICAgICAgICAiIGJ5dGVzIG9mIGp1bmsgd2VyZSBhZnRlciA8L3Zh
bGdyaW5kb3V0cHV0PiBpbiAlcyEiICUKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUpCisg
ICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBwYXJzZWRfZmlsZSA9IHBh
cnNlKGZpbGUpCisgICAgICAgICAgICAgICAgZXhjZXB0IEV4cGF0RXJyb3IsIGU6CisgICAgICAg
ICAgICAgICAgICAgIHBhcnNlX2ZhaWxlZCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgbG9n
Z2luZy53YXJuKCJjb3VsZCBub3QgcGFyc2UgJXM6ICVzIiAlIChmaWxlLCBlKSkKKyAgICAgICAg
ICAgICAgICAgICAgbGluZW5vID0gZS5saW5lbm8gLSAxCisgICAgICAgICAgICAgICAgICAgIGNv
bnRleHRfbGluZXMgPSA1CisgICAgICAgICAgICAgICAgICAgIGNvbnRleHRfc3RhcnQgPSBtYXgo
MCwgbGluZW5vIC0gY29udGV4dF9saW5lcykKKyAgICAgICAgICAgICAgICAgICAgY29udGV4dF9l
bmQgPSBsaW5lbm8gKyBjb250ZXh0X2xpbmVzICsgMQorICAgICAgICAgICAgICAgICAgICBjb250
ZXh0X2ZpbGUgPSBvcGVuKGZpbGUsICJyIikKKyAgICAgICAgICAgICAgICAgICAgZm9yIGkgaW4g
cmFuZ2UoMCwgY29udGV4dF9zdGFydCk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0
X2ZpbGUucmVhZGxpbmUoKQorICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShjb250
ZXh0X3N0YXJ0LCBjb250ZXh0X2VuZCk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0
X2RhdGEgPSBjb250ZXh0X2ZpbGUucmVhZGxpbmUoKS5yc3RyaXAoKQorICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgaSAhPSBsaW5lbm86CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9n
Z2luZy53YXJuKCIgICAgJXMiICUgY29udGV4dF9kYXRhKQorICAgICAgICAgICAgICAgICAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm4oIj4gJXMi
ICUgY29udGV4dF9kYXRhKQorICAgICAgICAgICAgICAgICAgICBjb250ZXh0X2ZpbGUuY2xvc2Uo
KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIFRoZUFk
ZHJlc3NUYWJsZSAhPSBOb25lOgorICAgICAgICAgICAgICAgICAgICBsb2FkX29ianMgPSBwYXJz
ZWRfZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgibG9hZF9vYmoiKQorICAgICAgICAgICAgICAg
ICAgICBmb3IgbG9hZF9vYmogaW4gbG9hZF9vYmpzOgorICAgICAgICAgICAgICAgICAgICAgICAg
b2JqID0gZ2V0VGV4dE9mKGxvYWRfb2JqLCAib2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlwID0gZ2V0VGV4dE9mKGxvYWRfb2JqLCAiaXAiKQorICAgICAgICAgICAgICAgICAgICAgICAg
VGhlQWRkcmVzc1RhYmxlLkFkZEJpbmFyeUF0KG9iaiwgaXApCisKKyAgICAgICAgICAgICAgICBj
b21tYW5kbGluZSA9IE5vbmUKKyAgICAgICAgICAgICAgICBwcmVhbWJsZSA9IHBhcnNlZF9maWxl
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwcmVhbWJsZSIpWzBdCisgICAgICAgICAgICAgICAgZm9y
IG5vZGUgaW4gcHJlYW1ibGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmUiKToKKyAgICAgICAg
ICAgICAgICAgICAgaWYgbm9kZS5sb2NhbE5hbWUgPT0gImxpbmUiOgorICAgICAgICAgICAgICAg
ICAgICAgICAgZm9yIHggaW4gbm9kZS5jaGlsZE5vZGVzOgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIHgubm9kZVR5cGUgPT0gbm9kZS5URVhUX05PREUgYW5kIFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIkNvbW1hbmQiIGluIHguZGF0YToKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29tbWFuZGxpbmUgPSB4LmRhdGEKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAgICAgICAgIHJhd19lcnJvcnMgPSBw
YXJzZWRfZmlsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZXJyb3IiKQorICAgICAgICAgICAgICAg
IGZvciByYXdfZXJyb3IgaW4gcmF3X2Vycm9yczoKKyAgICAgICAgICAgICAgICAgICAgIyBJZ25v
cmUgInBvc3NpYmxlIiBsZWFrcyBhbmQgSW52YWxpZFJlYWQvV3JpdGUgZm9yIG5vdyBieSBkZWZh
dWx0LgorICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fc2hvd19hbGxfbGVha3Mgb3IgXAor
ICAgICAgICAgICAgICAgICAgICAgICAgKGdldFRleHRPZihyYXdfZXJyb3IsICJraW5kIikgIT0g
IkxlYWtfUG9zc2libHlMb3N0IikgYW5kIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIChnZXRU
ZXh0T2YocmF3X2Vycm9yLCAia2luZCIpICE9ICJMZWFrX1N0aWxsUmVhY2hhYmxlIikgYW5kIFwK
KyAgICAgICAgICAgICAgICAgICAgICAgIChnZXRUZXh0T2YocmF3X2Vycm9yLCAia2luZCIpICE9
ICJJbnZhbGlkV3JpdGUiKSBhbmQgXAorICAgICAgICAgICAgICAgICAgICAgICAgKGdldFRleHRP
ZihyYXdfZXJyb3IsICJraW5kIikgIT0gIkludmFsaWRSZWFkIikpOgorICAgICAgICAgICAgICAg
ICAgICAgICAgZXJyb3IgPSBWYWxncmluZEVycm9yKHNlbGYuX3NvdXJjZV9kaXIsIHJhd19lcnJv
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5k
bGluZSwgdGVzdGNhc2UpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBlcnJvciBub3QgaW4g
Y3VyX3JlcG9ydF9lcnJvcnM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBoYXZl
bid0IHNlZW4gc3VjaCBlcnJvcnMgZG9pbmcgdGhpcyByZXBvcnQgeWV0CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgZXJyb3IgaW4gc2VsZi5fZXJyb3JzOgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAjIC4uLiBidXQgd2Ugc2F3IGl0IGluIGVhcmxpZXIgcmVwb3J0cywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBlLmcuIHByZXZpb3VzIFVJIHRlc3QK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyX3JlcG9ydF9lcnJvcnMuYWRkKCJU
aGlzIGVycm9yIHdhcyBhbHJlYWR5ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJwcmludGVkIGluIHNvbWUgb3RoZXIgdGVzdCwgIgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInNlZSAnaGFzaD0jJTAxNlgjJyIgJSBcCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBlcnJvci5FcnJvckhhc2goKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIC4uLiBh
bmQgd2UgaGF2ZW4ndCBzZWVuIGl0IGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICMgb3RoZXIgdGVzdHMgYXMgd2VsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9lcnJvcnMuYWRkKGVycm9yKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
dXJfcmVwb3J0X2Vycm9ycy5hZGQoZXJyb3IpCisKKyAgICAgICAgICAgICAgICBzdXBwY291bnRs
aXN0ID0gcGFyc2VkX2ZpbGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN1cHBjb3VudHMiKQorICAg
ICAgICAgICAgICAgIGlmIGxlbihzdXBwY291bnRsaXN0KSA+IDA6CisgICAgICAgICAgICAgICAg
ICAgIHN1cHBjb3VudGxpc3QgPSBzdXBwY291bnRsaXN0WzBdCisgICAgICAgICAgICAgICAgICAg
IGZvciBub2RlIGluIHN1cHBjb3VudGxpc3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhaXIiKToK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ID0gZ2V0VGV4dE9mKG5vZGUsICJjb3VudCIp
CisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gZ2V0VGV4dE9mKG5vZGUsICJuYW1lIikK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBjb3VudHNbbmFtZV0gKz0gaW50KGNvdW50KQor
CisgICAgICAgIGlmIGxlbihiYWRmaWxlcykgPiAwOgorICAgICAgICAgICAgbG9nZ2luZy53YXJu
KCJ2YWxncmluZCBkaWRuJ3QgZmluaXNoIHdyaXRpbmcgJWQgZmlsZXM/ISIgJQorICAgICAgICAg
ICAgICAgIGxlbihiYWRmaWxlcykpCisgICAgICAgICAgICBmb3IgZmlsZSBpbiBiYWRmaWxlczoK
KyAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm4oIkxhc3QgMjAgbGluZXMgb2YgJXMgOiIgJSBm
aWxlKQorICAgICAgICAgICAgICAgIG9zLnN5c3RlbSgidGFpbCAtbiAyMCAnJXMnIDE+JjIiICUg
ZmlsZSkKKworICAgICAgICBpZiBwYXJzZV9mYWlsZWQ6CisgICAgICAgICAgICBsb2dnaW5nLmVy
cm9yKCJGQUlMISBDb3VsZG4ndCBwYXJzZSBWYWxncmluZCBvdXRwdXQgZmlsZSIpCisgICAgICAg
ICAgICByZXR1cm4gLTIKKworICAgICAgICBjb21tb24uUHJpbnRVc2VkU3VwcHJlc3Npb25zTGlz
dChzdXBwY291bnRzKQorCisgICAgICAgIHJldGNvZGUgPSAwCisgICAgICAgIGlmIGN1cl9yZXBv
cnRfZXJyb3JzOgorICAgICAgICAgICAgbG9nZ2luZy5lcnJvcigiRkFJTCEgVGhlcmUgd2VyZSAl
cyBlcnJvcnM6ICIgJQorICAgICAgICAgICAgICAgIGxlbihjdXJfcmVwb3J0X2Vycm9ycykpCisK
KyAgICAgICAgICAgIGlmIFRoZUFkZHJlc3NUYWJsZSAhPSBOb25lOgorICAgICAgICAgICAgICAg
IFRoZUFkZHJlc3NUYWJsZS5SZXNvbHZlQWxsKCkKKworICAgICAgICAgICAgZm9yIGVycm9yIGlu
IGN1cl9yZXBvcnRfZXJyb3JzOgorICAgICAgICAgICAgICAgIGxvZ2dpbmcuZXJyb3IoZXJyb3Ip
CisKKyAgICAgICAgICAgIHJldGNvZGUgPSAtMQorCisgICAgICAgICMgUmVwb3J0IHRvb2wncyBp
bnNhbml0eSBldmVuIGlmIHRoZXJlIHdlcmUgZXJyb3JzLgorICAgICAgICBpZiBjaGVja19zYW5p
dHk6CisgICAgICAgICAgICByZW1haW5pbmdfc2FuaXR5X3N1cHAgPSBNZW1jaGVja0FuYWx5emVy
LlNBTklUWV9URVNUX1NVUFBSRVNTSU9OUworICAgICAgICAgICAgZm9yIChuYW1lLCBjb3VudCkg
aW4gc3VwcGNvdW50cy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgICAgICBpZiAobmFtZSBpbiBy
ZW1haW5pbmdfc2FuaXR5X3N1cHAgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5p
bmdfc2FuaXR5X3N1cHBbbmFtZV0gPT0gY291bnQpOgorICAgICAgICAgICAgICAgICAgICBkZWwg
cmVtYWluaW5nX3Nhbml0eV9zdXBwW25hbWVdCisgICAgICAgICAgICBpZiByZW1haW5pbmdfc2Fu
aXR5X3N1cHA6CisgICAgICAgICAgICAgICAgbG9nZ2luZy5lcnJvcigiRkFJTCEgU2FuaXR5IGNo
ZWNrIGZhaWxlZCEiKQorICAgICAgICAgICAgICAgIGxvZ2dpbmcuaW5mbygiVGhlIGZvbGxvd2lu
ZyB0ZXN0IGVycm9ycyB3ZXJlIG5vdCBoYW5kbGVkOiAiKQorICAgICAgICAgICAgICAgIGZvciAo
bmFtZSwgY291bnQpIGluIHJlbWFpbmluZ19zYW5pdHlfc3VwcC5pdGVyaXRlbXMoKToKKyAgICAg
ICAgICAgICAgICAgICAgbG9nZ2luZy5pbmZvKCIgICAgKiAlZHggJXMiICUgKGNvdW50LCBuYW1l
KSkKKyAgICAgICAgICAgICAgICByZXRjb2RlID0gLTMKKworICAgICAgICBpZiByZXRjb2RlICE9
IDA6CisgICAgICAgICAgICByZXR1cm4gcmV0Y29kZQorCisgICAgICAgIGxvZ2dpbmcuaW5mbygi
UEFTUyEgTm8gZXJyb3JzIGZvdW5kISIpCisgICAgICAgIHJldHVybiAwCisKKworZGVmIF9tYWlu
KCk6CisgICAgJycnRm9yIHRlc3Rpbmcgb25seS4KKyAgICBUaGUgTWVtY2hlY2tBbmFseXplciBj
bGFzcyBzaG91bGQgYmUgaW1wb3J0ZWQgaW5zdGVhZC4KKyAgICAnJycKKyAgICBwYXJzZXIgPSBv
cHRwYXJzZS5PcHRpb25QYXJzZXIoInVzYWdlOiAlcHJvZyBbb3B0aW9uc10gPGZpbGVzIHRvIGFu
YWx5emU+IikKKyAgICBwYXJzZXIuYWRkX29wdGlvbigiIiwgIi0tc291cmNlX2RpciIsCisgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0icGF0aCB0byB0b3Agb2Ygc291cmNlIHRyZWUgZm9yIHRo
aXMgYnVpbGQiCisgICAgICAgICAgICAgICAgICAgICAgIih1c2VkIHRvIG5vcm1hbGl6ZSBzb3Vy
Y2UgcGF0aHMgaW4gYmFzZWxpbmUpIikKKworICAgIChvcHRpb25zLCBhcmdzKSA9IHBhcnNlci5w
YXJzZV9hcmdzKCkKKyAgICBpZiBsZW4oYXJncykgPT0gMDoKKyAgICAgICAgcGFyc2VyLmVycm9y
KCJubyBmaWxlbmFtZSBzcGVjaWZpZWQiKQorICAgIGZpbGVuYW1lcyA9IGFyZ3MKKworICAgIGFu
YWx5emVyID0gTWVtY2hlY2tBbmFseXplcihvcHRpb25zLnNvdXJjZV9kaXIsIHVzZV9nZGI9RmFs
c2UpCisgICAgcmV0dXJuIGFuYWx5emVyLlJlcG9ydChmaWxlbmFtZXMsIE5vbmUpCisKKworaWYg
X19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBzeXMuZXhpdChfbWFpbigpKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5CmluZGV4IDgxODRkMjU4N2Fi
MWQ5ZDljOGEzNjVjNWYxYmE1MGQwOTY4MDk2OWUuLmU0MjFlN2IyMTg1NjdlNTUxMDU5NDc0ZTA3
MTg5OGIxYjg4YjBiMzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9z
ZXJ2ZXJfcHJvY2Vzcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvc2VydmVy
X3Byb2Nlc3MucHkKQEAgLTMzMSw5ICszMzEsOCBAQCBjbGFzcyBTZXJ2ZXJQcm9jZXNzKG9iamVj
dCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLl9wcm9jOgogICAgICAgICAgICAgcmV0dXJuIChOb25l
LCBOb25lKQogCi0gICAgICAgICMgT25seSBib3RoZXIgdG8gY2hlY2sgZm9yIGxlYWtzIG9yIHN0
ZGVyciBpZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBydW5uaW5nLgotICAgICAgICBpZiBzZWxmLnBv
bGwoKSBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5fcG9ydC5jaGVja19mb3JfbGVha3Moc2Vs
Zi5uYW1lKCksIHNlbGYucGlkKCkpCisgICAgICAgIGlzX3J1bm5pbmcgPSBzZWxmLnBvbGwoKSBp
cyBOb25lCisgICAgICAgIHNlbGYuX3BvcnQuY2hlY2tfZm9yX2xlYWtzKHNlbGYubmFtZSgpLCBz
ZWxmLnBpZCgpLCBpc19ydW5uaW5nKQogCiAgICAgICAgIG5vdyA9IHRpbWUudGltZSgpCiAgICAg
ICAgIGlmIHNlbGYuX3Byb2Muc3RkaW46CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvc2VydmVyX3Byb2Nlc3NfdW5pdHRlc3QucHkKaW5kZXggNWFkN2QwZWE3ZTY1ZjQx
ZTVmZGM2YmVkYjMxYWM2MWFmMjZjOGY0MS4uYjIzNmU0ZDIwZWMxYTgwMDFhYmQzODRmY2I1OGRk
ZjVmOTJjNTk5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZl
cl9wcm9jZXNzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9z
ZXJ2ZXJfcHJvY2Vzc191bml0dGVzdC5weQpAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBUcml2aWFs
TW9ja1BvcnQob2JqZWN0KToKICAgICBkZWYgcmVzdWx0c19kaXJlY3Rvcnkoc2VsZik6CiAgICAg
ICAgIHJldHVybiAiL21vY2stcmVzdWx0cyIKIAotICAgIGRlZiBjaGVja19mb3JfbGVha3Moc2Vs
ZiwgcHJvY2Vzc19uYW1lLCBwcm9jZXNzX3BpZCk6CisgICAgZGVmIGNoZWNrX2Zvcl9sZWFrcyhz
ZWxmLCBwcm9jZXNzX25hbWUsIHByb2Nlc3NfcGlkLCBpc19ydW5uaW5nKToKICAgICAgICAgcGFz
cwogCiAgICAgZGVmIHByb2Nlc3Nfa2lsbF90aW1lKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
dmFsZ3JpbmQvbWVtY2hlY2svc3VwcHJlc3Npb25zLnR4dCBiL1Rvb2xzL3ZhbGdyaW5kL21lbWNo
ZWNrL3N1cHByZXNzaW9ucy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFmMWMyZWJhZWY0YmI4NjRiOWY5OTBi
MDM1NjhjOTg5ZjBhMGI0NwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL3ZhbGdyaW5kL21lbWNo
ZWNrL3N1cHByZXNzaW9ucy50eHQKQEAgLTAsMCArMSw2OTMgQEAKKyMgVGhlcmUgYXJlIGZvdXIg
a2luZHMgb2Ygc3VwcHJlc3Npb25zIGluIHRoaXMgZmlsZS4KKyMgMS4gdGhpcmQgcGFydHkgc3R1
ZmYgd2UgaGF2ZSBubyBjb250cm9sIG92ZXIKKyMKKyMgMi4gaW50ZW50aW9uYWwgdW5pdCB0ZXN0
IGVycm9ycywgb3Igc3R1ZmYgdGhhdCBpcyBzb21laG93IGEgZmFsc2UgcG9zaXRpdmUKKyMgaW4g
b3VyIG93biBjb2RlLCBvciBzdHVmZiB0aGF0IGlzIHNvIHRyaXZpYWwgaXQncyBub3Qgd29ydGgg
Zml4aW5nCisjCisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCB3ZWJraXQgYnVncyB0aGF0IGFy
ZSBub3QgeWV0IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdlYmtpdCdzIGJ1ZyB0
cmFja2luZyBzeXN0ZW0gKGJ1dCBhIGZldyBhcmVuJ3QgeWV0KS4KKyMgUGVyaW9kaWNhbGx5IHdl
IHNob3VsZCBzd2VlcCB0aGlzIGZpbGUgYW5kIHRoZSBidWcgdHJhY2tlciBjbGVhbiBieQorIyBy
dW5uaW5nIG92ZXJuaWdodCBhbmQgcmVtb3Zpbmcgb3V0ZGF0ZWQgYnVncy9zdXBwcmVzc2lvbnMu
CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKworIyAxLiB0aGlyZCBwYXJ0eSBzdHVmZiB3ZSBoYXZlIG5vIGNv
bnRyb2wgb3ZlcgoreworICAgI2d0ayBkZXZlbG9wZXJzIGRvbid0IGxpa2UgY2xlYW5pbmcgdXAg
b25lLXRpbWUgbGVha3MuICBTZWUgaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL2d0ay1k
ZXZlbC1saXN0LzIwMDQtQXByaWwvbXNnMDAyMzAuaHRtbAorICAgZ3RrX2luaXRfY2hlY2sgbGVh
ayAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpndGtfaW5p
dF9jaGVjaworfQoreworICAgRm9udGNvbmZpZyBsZWFrCisgICBNZW1jaGVjazpMZWFrCisgICAu
Li4KKyAgIGZ1bjpYTUxfUGFyc2VCdWZmZXIKKyAgIGZ1bjpGY0NvbmZpZ1BhcnNlQW5kTG9hZAor
fQoreworICAgRmNDb25maWdBcHBGb250QWRkRmlsZV9sZWFrCisgICBNZW1jaGVjazpMZWFrCisg
ICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ0FwcEZvbnRBZGRGaWxlCit9Cit7CisgICAjIFNlZSBhbHNv
IGh0dHA6Ly93d3cuZ25vbWUub3JnL35qb2hhbi9ndGsuc3VwcHJlc3Npb24KKyAgICMgKHdoaWNo
IGhhcyBhIHNtYXR0ZXJpbmcgb2Ygc2ltaWxhciBwYW5nbyBzdXBwcmVzc2lvbnMpCisgICBwYW5n
b19mb250X2xlYWtfdG9kbworICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250
UmVuZGVyUHJlcGFyZQorICAgb2JqOioKKyAgIGZ1bjpwYW5nb19mb250X21hcF9sb2FkX2ZvbnRz
ZXQKK30KK3sKKyAgIHBhbmdvX2ZvbnRfbGVha190b2RvXzIKKyAgIE1lbWNoZWNrOkxlYWsKKyAg
IGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc3RyZHVwCisgICBmdW46cGFu
Z29fc2NyaXB0X2dldF9zYW1wbGVfbGFuZ3VhZ2UKKyAgIC4uLgorICAgZnVuOnBhbmdvX2ZvbnRf
Z2V0X21ldHJpY3MKK30KK3sKKyAgIHBhbmdvX2ZvbnRfbGVha190b2RvXzMKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIC4uLgorICAgZnVuOkZjRm9udFJlbmRlclByZXBhcmUKKyAgIC4uLgorICAgZnVu
OnBhbmdvX2l0ZW1pemVfd2l0aF9iYXNlX2RpcgorfQoreworICAgcGFuZ29fZm9udF9sZWFrX3Rv
ZG9fNAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250UmVuZGVyUHJlcGFy
ZQorICAgLi4uCisgICBmdW46cGFuZ29fb3RfYnVmZmVyX291dHB1dAorfQoreworICAgcGFuZ29f
Zm9udF9sZWFrX3RvZG9fNQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNGb250
UmVuZGVyUHJlcGFyZQorICAgLi4uCisgICBmdW46cGFuZ29fY29udGV4dF9nZXRfbWV0cmljcwor
fQoreworICAgcGFuZ29fZm9udF9sZWFrX3RvZG9fNgorICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBmdW46RmNEZWZhdWx0U3Vic3RpdHV0ZQorICAgLi4uCisgICBmdW46cGFuZ29faXRlbWl6
ZV93aXRoX2Jhc2VfZGlyCit9Cit7CisgICAjIFNpbWlsYXIgdG8gZm9udGNvbmZpZ19idWdfODQy
OCBiZWxvdy4gUmVwb3J0ZWQgaW4KKyAgICMgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODIxNQorICAgZm9udGNvbmZpZ19idWdfODIxNQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAg
ZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhCaW5kaW5nCit9Cit7CisgICAjIEZvbnRjb25maWcg
bGVhaywgc2VlbiBpbiBzaGFyZCAxNiBvZiAyMCBvZiB1aV90ZXN0cworICAgIyBTZWUgaHR0cHM6
Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQyOAorICAgIyBhbmQgaHR0
cDovL3d3dy5nbm9tZS5vcmcvfmpvaGFuL2d0ay5zdXBwcmVzc2lvbgorICAgZm9udGNvbmZpZ19i
dWdfODQyOAorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46cmVhbGxvYworICAgZnVu
OkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0dGVybk9iamVjdEFkZFdpdGhC
aW5kaW5nCit9Cit7CisgICAjIEFub3RoZXIgcGVybXV0YXRpb24gb2YgcHJldmlvdXMgbGVhay4K
KyAgIGZvbnRjb25maWdfYnVnXzg0MjhfMgorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBm
dW46cmVhbGxvYworICAgZnVuOkZjUGF0dGVybk9iamVjdEluc2VydEVsdAorICAgZnVuOkZjUGF0
dGVybk9iamVjdEFkZAorfQoreworICAgZm9udGNvbmZpZ19idWcgICAoVGhpcmQgUGFydHkpCisg
ICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY0NvbmZpZ1Zh
bHVlcworICAgZnVuOkZjQ29uZmlnVmFsdWVzCisgICAuLi4KKyAgIGZ1bjpGY0NvbmZpZ1ZhbHVl
cworICAgZnVuOkZjQ29uZmlnVmFsdWVzCit9Cit7CisgICBidWdfNDYxNzdfYSAoVGhpcmQgUGFy
dHkpCisgICBNZW1jaGVjazpMZWFrCisgICAuLi4KKyAgIGZ1bjpGY0NoYXJTZXRPcGVyYXRlCisg
ICBmdW46RmNGb250U2V0U29ydAorICAgZnVuOkZjRm9udFNvcnQKKyAgIC4uLgorICAgZnVuOnBh
bmdvX2xheW91dF9nZXRfcGl4ZWxfc2l6ZQorfQoreworICAgYnVnXzQ2MTc3X2IgKFRoaXJkIFBh
cnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46RmNDaGFyU2V0RmluZExlYWZD
cmVhdGUKKyAgIGZ1bjpGY0NoYXJTZXRBZGRMZWFmCisgICBmdW46RmNDaGFyU2V0T3BlcmF0ZQor
ICAgZnVuOkZjRm9udFNldFNvcnQKKyAgIGZ1bjpGY0ZvbnRTb3J0CisgICAuLi4KKyAgIGZ1bjpw
YW5nb19sYXlvdXRfZ2V0X2l0ZXIKK30KK3sKKyAgIGJ1Z180NjE3N19jIChUaGlyZCBQYXJ0eSkK
KyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOkZjQ2hhclNldEZpbmRMZWFmQ3JlYXRl
CisgICBmdW46RmNDaGFyU2V0QWRkTGVhZgorICAgZnVuOkZjQ2hhclNldE9wZXJhdGUKKyAgIGZ1
bjpGY0ZvbnRTZXRTb3J0CisgICBmdW46RmNGb250U29ydAorICAgLi4uCisgICBmdW46cGFuZ29f
bGF5b3V0X2xpbmVfZ2V0X2V4dGVudHMKK30KK3sKKyAgIGJ1Z180NjE3N19kIChUaGlyZCBQYXJ0
eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpGY0ZvbnRTZXRDcmVh
dGUKKyAgIGZ1bjpGY0ZvbnRTZXRTb3J0CisgICBmdW46RmNGb250U29ydAorfQoreworICAgYnVn
XzQ2MTc3X2UgKFRoaXJkIFBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4uCisgICBmdW46
RmNDaGFyU2V0RmluZExlYWZDcmVhdGUKKyAgIGZ1bjpGY0NoYXJTZXRBZGRDaGFyCit9Cit7Cisg
ICBkbG9wZW4gbGVhayBvbiBlcnJvci4gU2VlIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxs
YS9zaG93X2J1Zy5jZ2k/aWQ9MTI4NzguCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9j
CisgICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46ZGxvcGVuQEBHTElCQ18yLjEKK30KK3sKKyAg
IF9kbF9zdGFydCBKdW1wCisgICBNZW1jaGVjazpKdW1wCisgICBvYmo6KgorICAgb2JqOioKKyAg
IGZ1bjpkbF9tYWluCisgICBmdW46X2RsX3N5c2RlcF9zdGFydAorICAgZnVuOl9kbF9zdGFydAor
ICAgb2JqOi9saWIveDg2XzY0LWxpbnV4LWdudS9sZC0yLjE1LnNvCisgICBvYmo6KgorICAgb2Jq
OioKKyAgIG9iajoqCit9CisKK3sKKyAgIGdsaWJjIGxlYWsuICBTZWUgYWxzbyBodHRwOi8vc291
cmNlcy5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNDUxCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X2RsX21hcF9vYmplY3RfZnJvbV9mZAorfQor
eworICAgIyBhcnJheSBvZiB3ZWFrIHJlZmVyZW5jZXMgZnJlZWQgYnV0IG5vdCBwcm9jZXNzZWQ/
CisgICBidWdfMTY1NzYKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOmdfb2JqZWN0
X3dlYWtfcmVmCisgICBmdW46Z19vYmplY3RfYWRkX3dlYWtfcG9pbnRlcgorfQoreworICAgaHR0
cDovL3NvdXJjZXMucmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTE3MQorICAg
TWVtY2hlY2s6TGVhaworICAgZnVuOmNhbGxvYworICAgZnVuOmFsbG9jYXRlX2R0dgorICAgZnVu
Ol9kbF9hbGxvY2F0ZV90bHMKKyAgIGZ1bjpwdGhyZWFkX2NyZWF0ZUBAR0xJQkNfMi4xCit9CisK
K3sKKyAgIGdfYnVpbGRfZmlsZW5hbWUgZm9yIGZvbnRzIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNo
ZWNrOkxlYWsKKyAgIGZ1bjpyZWFsbG9jCisgICBmdW46Z19yZWFsbG9jCisgICBmdW46Z19zdHJp
bmdfbWF5YmVfZXhwYW5kCisgICBmdW46Z19zdHJpbmdfaW5zZXJ0X2xlbgorICAgZnVuOmdfYnVp
bGRfcGF0aF92YQorICAgZnVuOmdfYnVpbGRfZmlsZW5hbWUKKyAgIGZ1bjpfWkwxNWluaXRpYWxp
emVGb250c1BLYworfQorCisKK3sKKyAgICMgTG9va3MgbGlrZSBhIGxlYWsgaW4gZ3RrJ3MgY29k
ZSB3aGVuIGxvYWRpbmcgdGhlIGltIGNvbnRleHQgbW9kdWxlLgorICAgYnVnXzQxMjMxIChUaGly
ZCBQYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOm1hbGxvYworICAgZnVu
OmdfbWFsbG9jCisgICBmdW46Z19zdHJkdXAKKyAgIGZ1bjpndGtfaW1fbXVsdGljb250ZXh0X2dl
dF9zbGF2ZQorICAgZnVuOmd0a19pbV9tdWx0aWNvbnRleHRfc2V0X2NsaWVudF93aW5kb3cKKyAg
IGZ1bjpndGtfaW1fY29udGV4dF9zZXRfY2xpZW50X3dpbmRvdworfQoreworICAgIyBTZWUgaHR0
cDovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDAxNS4KKyAgIGJ1
Z181MTc3MCAoVGhpcmQgUGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46Y2FsbG9jCisg
ICBmdW46X2RsZXJyb3JfcnVuCisgICBmdW46ZGxzeW0KK30KKworeworICAgZ19xdWFya19mcm9t
X3N0YXRpY19zdHJpbmcgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1h
bGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcK
KyAgIGZ1bjpnb2JqZWN0X2luaXRfY3RvcgorICAgZnVuOmNhbGxfaW5pdC5wYXJ0LjAKKyAgIGZ1
bjpfZGxfaW5pdAorICAgb2JqOi9saWIveDg2XzY0LWxpbnV4LWdudS9sZC0yLjE1LnNvCisgICBv
Ymo6KgorICAgb2JqOioKKyAgIG9iajoqCit9CisKK3sKKyAgIGd0a19jc3MgKFRoaXJkIHBhcnR5
KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOnJlYWxsb2MKKyAgIGZ1bjpnX3JlYWxsb2MKKyAg
IGZ1bjpnX3N0cmluZ19tYXliZV9leHBhbmQKKyAgIGZ1bjpnX3N0cmluZ19pbnNlcnRfYworICAg
ZnVuOl9ndGtfY3NzX3BhcnNlcl9yZWFkX2NoYXIKKyAgIGZ1bjpfZ3RrX2Nzc19wYXJzZXJfdHJ5
X2lkZW50CisgICBmdW46YmluZGluZ3NfdmFsdWVfcGFyc2Vfb25lCisgICBmdW46X2d0a19jc3Nf
YXJyYXlfdmFsdWVfcGFyc2UKKyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVyX2xvYWRfaW50ZXJuYWwK
KyAgIGZ1bjpndGtfY3NzX3Byb3ZpZGVyX2xvYWRfZnJvbV9kYXRhCit9Cit7CisgICAgR3RrIGxl
YWtzIGFuIFgxMSB3aW5kb3cgYnVnXzk2NDAyIChUaGlyZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxl
YWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MK
KyAgIGZ1bjpnX3NsaWNlX2FsbG9jMAorICAgZnVuOmdfdHlwZV9jcmVhdGVfaW5zdGFuY2UKKyAg
IGZ1bjpnX29iamVjdF9jb25zdHJ1Y3RvcgorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpn
X29iamVjdF9uZXcKKyAgIGZ1bjpfZ2RrX3dpbmRvd19pbXBsX25ldworICAgZnVuOmdka193aW5k
b3dfZW5zdXJlX25hdGl2ZQorICAgZnVuOmdka194MTFfZHJhd2FibGVfZ2V0X3hpZAorfQorCit7
CisgICBHdGsgbGVha3MgYSBjYWlybyBjb250ZXh0IChsYXJnZSBsZWFrKQorICAgTWVtY2hlY2s6
TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9jYWlyb19kZWZhdWx0X2NvbnRleHRfY3JlYXRl
CisgICBmdW46c2V0X2dyaXBfc2hhcGUKKyAgIGZ1bjpyZXNpemVfZ3JpcF9jcmVhdGVfd2luZG93
CisgICBmdW46Z3RrX3dpbmRvd19yZWFsaXplCit9CisKK3sKKyAgIGxlYWtzIGluIGJhc2gKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOi9iaW4vYmFzaAorfQoreworICAgRW5jaGFu
dCBzcGVsbGluZyAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46X1pudyoK
KyAgIC4uLgorICAgb2JqOiovbGliZW5jaGFudC5zby4xLjYuMAorICAgZnVuOmVuY2hhbnRfYnJv
a2VyX2RpY3RfZXhpc3RzCit9CisKK3sKKyAgIEVuY2hhbnQgc3BlbGxpbmcgKFRoaXJkIHBhcnR5
KQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOiphbGxvYworICAgLi4uCisgICBvYmo6Ki9saWJl
bmNoYW50LnNvLjEuNi4wCisgICBmdW46ZW5jaGFudF9icm9rZXJfZGljdF9leGlzdHMKK30KKwor
eworICAgQ2Fpcm8gbGVha3MgYSBwYXR0ZXJuX3QqIGluIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFj
ZQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmNhaXJvX3BhdHRlcm5f
Y3JlYXRlX2Zvcl9zdXJmYWNlCisgICBmdW46X2NhaXJvX2RlZmF1bHRfY29udGV4dF9zZXRfc291
cmNlX3N1cmZhY2UKKyAgIGZ1bjpjYWlyb19zZXRfc291cmNlX3N1cmZhY2UKK30KKworIyBYUmFu
ZFJJbmZvIG9iamVjdCBzZWVtcyB0byBiZSBsZWFraW5nIGluc2lkZSBYUlJGaW5kRGlzcGxheS4g
IFRoaXMgaGFwcGVucyB0aGUKKyMgZmlyc3QgdGltZSBpdCBpcyBjYWxsZWQsIG5vIG1hdHRlciB3
aG8gdGhlIGNhbGxlciBpcy4gIFdlIGhhdmUgb2JzZXJ2ZWQgdGhpcworIyBwcm9ibGVtIHdpdGgg
Ym90aCBYUlJTZWxlY3RJbnB1dCBhbmQgWFJSUXVlcnlFeHRlbnNpb24uCit7CisgICBYUlJGaW5k
RGlzcGxheSBsZWFrCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46WFJS
RmluZERpc3BsYXkKK30KK3sKKyAgIEZsYXNoIFBsYXllciBMZWFrCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIG9iajovdXNyL2xpYi9mbGFzaHBsdWdpbi1pbnN0YWxsZXIvbGliZmxhc2hw
bGF5ZXIuc28KK30KKworeworICAgT2NjYXNpb25hbCBsZWFrIGluc2lkZSBnZGtfaW5pdCgpCisg
ICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4KKyAgIGZ1bjpfbmxfZmluZF9k
b21haW4KKyAgIGZ1bjpfX2RjaWdldHRleHQKKyAgIGZ1bjpnZGtfc2NyZWVuX2NsYXNzX2ludGVy
bl9pbml0CisgICBmdW46Z190eXBlX2NsYXNzX3JlZgorICAgZnVuOmdfdHlwZV9jbGFzc19yZWYK
KyAgIGZ1bjpnX29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46X2dka194
MTFfc2NyZWVuX25ldworICAgZnVuOmdka19kaXNwbGF5X29wZW4KKyAgIGZ1bjpnZGtfZGlzcGxh
eV9vcGVuX2RlZmF1bHRfbGliZ3RrX29ubHkKKyAgIGZ1bjpnZGtfaW5pdF9jaGVjaworICAgZnVu
Omdka19pbml0Cit9CisKK3sKKyAgIExlYWsgaW4gWEtleXN5bVRvU3RyaW5nCisgICBNZW1jaGVj
azpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46WEtleXN5bVRvU3RyaW5nCisgICBmdW46X2dh
aWxfdXRpbF9rZXlfc25vb3BlcgorICAgZnVuOmd0a19tYWluX2RvX2V2ZW50Cit9CisKK3sKKyAg
IGdsaWIvZ3RocmVhZCBtYWxsb2MgbGVhayBpbiBjb21wb25lbnQgYnVpbGQKKyAgIE1lbWNoZWNr
OkxlYWsKKyAgIGZ1bjoqYWxsb2MKKyAgIC4uLgorICAgZnVuOmdfdGhyZWFkX3Byb3h5Cit9Cit7
CisgICBKYXZhIGNyZWF0ZSBKTkkgbGVhayAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIGZ1bjpKTklfQ3JlYXRlSmF2YVZNCisgICBmdW46SmF2YU1haW4KK30KKwor
eworICAgSmF2YSBzdGFydCB0aHJlYWQgbGVhayAoVGhpcmQgcGFydHkpCisgICBNZW1jaGVjazpM
ZWFrCisgICAuLi4KKyAgIGZ1bjpfWk44Vk1UaHJlYWQzcnVuRXYKKyAgIGZ1bjpfWkwxMGphdmFf
c3RhcnRQNlRocmVhZAorICAgLi4uCisKK30KKworeworICAgSmF2YSBsZWFrIChvYmopIChUaGly
ZCBwYXJ0eSkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgb2JqOi91c3IvbGliL2p2bS9q
YXZhLTYtb3Blbmpkay1hbWQ2NC9qcmUvYmluL2phdmEKKyAgIC4uLgorfQoreworICAgT2NjYXNp
b25hbCBPcGVuR0wgbGVha3MgKFRoaXJkIHBhcnR5KQorICAgTWVtY2hlY2s6TGVhaworICAgLi4u
CisgICBvYmo6Ki9saWJHTC5zby4qCisgICAuLi4KK30KKworeworICAgY2Fpcm8gcGl4bWFuIGlt
YWdlIGFsbG9jYXRlCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X3Bp
eG1hbl9pbWFnZV9hbGxvY2F0ZQorICAgZnVuOnBpeG1hbl9pbWFnZV9jcmVhdGVfYml0cworICAg
ZnVuOl9jYWlyb194bGliX3NobV9zdXJmYWNlX2NyZWF0ZS5pc3JhLjExCit9CisKK3sKKyAgIE5T
UyBwYXJzZSBsZWFrCisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46bnNz
X3BhcnNlX3NlcnZpY2VfbGlzdAorICAgZnVuOl9fbnNzX2RhdGFiYXNlX2xvb2t1cAorICAgb2Jq
OioKK30KKworeworICAgR1N0cmVhbWVyIGluaXQgbGVhaworICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19pbnRlcm5fc3RyaW5nCisgICBm
dW46X3ByaXZfZ3N0X3JlZ2lzdHJ5X2NodW5rc19sb2FkX3BsdWdpbgorICAgZnVuOmV4Y2hhbmdl
X3BhY2tldHMKKyAgIGZ1bjpwbHVnaW5fbG9hZGVyX2xvYWQKKyAgIGZ1bjpnc3RfcmVnaXN0cnlf
c2Nhbl9wbHVnaW5fZmlsZQorICAgZnVuOmdzdF9yZWdpc3RyeV9zY2FuX3BhdGhfbGV2ZWwKKyAg
IGZ1bjpnc3RfcmVnaXN0cnlfc2Nhbl9wYXRoX2ludGVybmFsCisgICBmdW46Z3N0X3VwZGF0ZV9y
ZWdpc3RyeQorICAgZnVuOmluaXRfcG9zdAorICAgZnVuOmdfb3B0aW9uX2NvbnRleHRfcGFyc2UK
KyAgIGZ1bjpnc3RfaW5pdF9jaGVjaworCit9CisKK3sKKyAgIGdfdGhyZWFkIGxlYWtzIGZvciBh
c3luYyB0YXNrcworICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOmdfbWFs
bG9jCisgICBmdW46Z19zbGljZV9hbGxvYworICAgZnVuOmdfc2xpY2VfYWxsb2MwCisgICBmdW46
Z19zeXN0ZW1fdGhyZWFkX25ldworICAgZnVuOmdfdGhyZWFkX25ld19pbnRlcm5hbAorICAgZnVu
OmdfdGhyZWFkX3Bvb2xfc3RhcnRfdGhyZWFkCisgICBmdW46Z190aHJlYWRfcG9vbF9wdXNoCisg
ICBmdW46Z190YXNrX3N0YXJ0X3Rhc2tfdGhyZWFkCisgICBmdW46Z190YXNrX3J1bl9pbl90aHJl
YWQKK30KKworeworICAgTGFyZ2UgbGVhayBpbiBjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZQor
ICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAgZnVuOl9jYWlyb19pbWFnZV9zdXJm
YWNlX2NyZWF0ZV9mb3JfcGl4bWFuX2ltYWdlCisgICBmdW46X2NhaXJvX2ltYWdlX3N1cmZhY2Vf
Y3JlYXRlX3dpdGhfcGl4bWFuX2Zvcm1hdAorICAgZnVuOl9aTjdXZWJDb3JlMjFjb3B5Q2Fpcm9J
bWFnZVN1cmZhY2VFUDE0X2NhaXJvX3N1cmZhY2UKK30KKworeworICAgTWVtb3J5IGlzIG5vdCBm
cmVlZCBmcm9tIHRoZSBET00gT2JqZWN0IENhY2hlIChwcm9iYWJseSBpbnRlbnRpb25hbCkKKyAg
IE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpnX21hbGxvYworICAgZnVuOmdf
c2xpY2VfYWxsb2MKKyAgIGZ1bjpfWk42V2ViS2l0MTRET01PYmplY3RDYWNoZTNwdXRFUHZTMV8K
KyAgIGZ1bjpfWkwzM3dlYmtpdF9kb21fZG9tX3dpbmRvd19jb25zdHJ1Y3Rvcm1qUDIyX0dPYmpl
Y3RDb25zdHJ1Y3RQYXJhbQorICAgZnVuOmdfb2JqZWN0X25ld3YKKyAgIGZ1bjpnX29iamVjdF9u
ZXdfdmFsaXN0CisgICBmdW46Z19vYmplY3RfbmV3CisgICBmdW46X1pONldlYktpdDEzd3JhcERP
TVdpbmRvd0VQTjdXZWJDb3JlOURPTVdpbmRvd0UKKyAgIGZ1bjpfWk42V2ViS2l0M2tpdEVQTjdX
ZWJDb3JlOURPTVdpbmRvd0UKKyAgIGZ1bjp3ZWJraXRfZG9tX2RvY3VtZW50X2dldF9kZWZhdWx0
X3ZpZXcKKyAgIGZ1bjpfWjIzZHVtcEZyYW1lU2Nyb2xsUG9zaXRpb25QMTVfV2ViS2l0V2ViRnJh
bWUKKyAgIGZ1bjpfWjRkdW1wdgorICAgZnVuOl9aTDI3dG9wTG9hZGluZ0ZyYW1lTG9hZEZpbmlz
aGVkdgorICAgZnVuOl9aTDI2d2ViRnJhbWVMb2FkU3RhdHVzTm90aWZpZWRQMTVfV2ViS2l0V2Vi
RnJhbWVQdgorICAgZnVuOmdfY2xvc3VyZV9pbnZva2UKKyAgIGZ1bjpzaWduYWxfZW1pdF91bmxv
Y2tlZF9SCisgICBmdW46Z19zaWduYWxfZW1pdF92YWxpc3QKKyAgIGZ1bjpnX3NpZ25hbF9lbWl0
CisgICBmdW46Z19vYmplY3RfZGlzcGF0Y2hfcHJvcGVydGllc19jaGFuZ2VkCisgICBmdW46Z19v
YmplY3Rfbm90aWZ5CisgICBmdW46X1pONldlYktpdEwxMm5vdGlmeVN0YXR1c0VQMTVfV2ViS2l0
V2ViRnJhbWUxNldlYktpdExvYWRTdGF0dXMKK30KKworeworICAgQXRrUHJvcGVydHkgaXMgY2Fj
aGVkIGJ1dCBub3QgcmVsZWFzZWQgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE4NTY3I2MyKQorICAgTWVtY2hlY2s6TGVhaworICAgZnVuOm1hbGxvYworICAg
ZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9aTjNXVEYxM0NTdHJpbmdCdWZmZXIx
OWNyZWF0ZVVuaW5pdGlhbGl6ZWRFbQorICAgZnVuOl9aTjNXVEY3Q1N0cmluZzRpbml0RVBLY20K
KyAgIGZ1bjpfWk4zV1RGN0NTdHJpbmdDMUVQS2NtCisgICBmdW46X1pOSzNXVEY2U3RyaW5nNHV0
ZjhFTlMwXzE0Q29udmVyc2lvbk1vZGVFCisgICBmdW46Y2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eQorfQorCit7CisgICBBdGtSZWxhdGlvblNldCBpcyBuZXZlciBmcmVlZCBiZWNhdXNlIHRoZSB0
YXJnZXQgQXRrT2JqZWN0IGlzIGNhY2hlZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE4NTY3CisgICBNZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICAuLi4K
KyAgIGZ1bjpnX29iamVjdF93ZWFrX3JlZgorICAgZnVuOmF0a19yZWxhdGlvbl9zZXRfcHJvcGVy
dHkKKyAgIGZ1bjpnX29iamVjdF9uZXd2CisgICBmdW46Z19vYmplY3RfbmV3X3ZhbGlzdAorICAg
ZnVuOmdfb2JqZWN0X25ldworICAgZnVuOmF0a19yZWxhdGlvbl9uZXcKKyAgIGZ1bjphdGtfcmVs
YXRpb25fc2V0X2FkZF9yZWxhdGlvbl9ieV90eXBlCisgICBmdW46X1pMMzFzZXRBdGtSZWxhdGlv
blNldEZyb21Db3JlT2JqZWN0UE43V2ViQ29yZTE5QWNjZXNzaWJpbGl0eU9iamVjdEVQMTVfQXRr
UmVsYXRpb25TZXQKKyAgIGZ1bjpfWkwzMHdlYmtpdEFjY2Vzc2libGVSZWZSZWxhdGlvblNldFAx
MF9BdGtPYmplY3QKKyAgIGZ1bjpfWk4yMkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQxNHRpdGxlVUlF
bGVtZW50RXYKK30KKworCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgMi4gaW50ZW50aW9uYWwgdW5pdCB0
ZXN0IGVycm9ycywgb3Igc3R1ZmYgdGhhdCBpcyBzb21laG93IGEgZmFsc2UgcG9zaXRpdmUKKyMg
aW4gb3VyIG93biBjb2RlLCBvciBzdHVmZiB0aGF0IGlzIHNvIHRyaXZpYWwgaXQncyBub3Qgd29y
dGggZml4aW5nCisKKyMgU2VlIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tZW1jaGVja19h
bmFseXplLnB5IGJlZm9yZSBtb2RpZnlpbmcgc2FuaXR5IHRlc3RzLgoreworICAgTWVtY2hlY2sg
c2FuaXR5IHRlc3QgMDEgKG1lbW9yeSBsZWFrKS4KKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjpf
Wm5hKgorICAgZnVuOl9aTjRiYXNlMzFUb29sc1Nhbml0eVRlc3RfTWVtb3J5TGVha19UZXN0OFRl
c3RCb2R5RXYKK30KKworeworICAgTWVtY2hlY2sgc2FuaXR5IHRlc3QgMTIgKGFycmF5IGRlbGV0
ZWQgd2l0aG91dCBbXSkuCisgICBNZW1jaGVjazpGcmVlCisgICAuLi4KKyAgIGZ1bjpfWk40YmFz
ZTQ2VG9vbHNTYW5pdHlUZXN0X0FycmF5RGVsZXRlZFdpdGhvdXRCcmFjZXNfVGVzdDhUZXN0Qm9k
eUV2Cit9Cit7CisgICBNZW1jaGVjayBzYW5pdHkgdGVzdCAxMyAoc2luZ2xlIGVsZW1lbnQgZGVs
ZXRlZCB3aXRoIFtdKS4KKyAgIE1lbWNoZWNrOkZyZWUKKyAgIC4uLgorICAgZnVuOl9aTjRiYXNl
NTFUb29sc1Nhbml0eVRlc3RfU2luZ2xlRWxlbWVudERlbGV0ZWRXaXRoQnJhY2VzX1Rlc3Q4VGVz
dEJvZHlFdgorfQorCit7CisgICAjIEFjY29yZGluZyB0byBkZ2xhemtvdiwgdGhlc2UgYXJlIG9u
ZS10aW1lIGxlYWtzIGFuZCBpbnRlbnRpb25hbC4KKyAgICMgVGhleSBtYXkgZ28gYXdheSBpZiB0
aGUgY2hhbmdlIHRvIG1vdmUgdGhlc2Ugb2ZmIHRoZSBoZWFwIGxhbmRzLgorICAgYnVnXzE3OTk2
IChJbnRlbnRpb25hbCkKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjdXZWJD
b3JlOFNWR05hbWVzNGluaXRFdgorfQorCit7CisgICAjIFRoaXMgaXMgYW4gb24gZGVtYW5kIGlu
aXRpYWxpemF0aW9uIHdoaWNoIGlzIGRvbmUgYW5kIHRoZW4gaW50ZW50aW9uYWxseQorICAgIyBr
ZXB0IGFyb3VuZCAobm90IGZyZWVkKSB3aGlsZSB0aGUgcHJvY2VzcyBpcyBydW5uaW5nLgorICAg
aW50ZW50aW9uYWxfV2ViQ29yZV9YTUxOYW1lc19pbml0X2xlYWsKKyAgIE1lbWNoZWNrOkxlYWsK
KyAgIC4uLgorICAgZnVuOl9aTjdXZWJDb3JlOFhNTE5hbWVzNGluaXRFdgorfQoreworICAgIyBU
aGlzIGlzIFdlYktpdCB3aWRlIHRoZWFkaW5nIGluaXRpYWxpemF0aW9uIHdoaWNoIGlzIGludGVu
dGlvbmFsbHkga2VwdAorICAgIyBhcm91bmQgKG5vdCBmcmVlZCkgd2hpbGUgdGhlIHByb2Nlc3Mg
aXMgcnVubmluZy4KKyAgIGludGVudGlvbmFsX1dURl9UaHJlYWRJZGVudGlmaWVyRGF0YV9pbml0
aWFsaXplX2xlYWsKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIC4uLgorICAgZnVuOl9aTjNXVEYyMFRo
cmVhZElkZW50aWZpZXJEYXRhMTBpbml0aWFsaXplRWoKK30KK3sKKyAgICMgVGhpcyBpcyBXZWJL
aXQgd2lkZSB0aGVhZGluZyBpbml0aWFsaXphdGlvbiB3aGljaCBpcyBpbnRlbnRpb25hbGx5IGtl
cHQKKyAgICMgYXJvdW5kIChub3QgZnJlZWQpIHdoaWxlIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcu
CisgICBpbnRlbnRpb25hbF9XVEZfd3RmVGhyZWFkRGF0YV9sZWFrCisgICBNZW1jaGVjazpMZWFr
CisgICAuLi4KKyAgIGZ1bjpfWk4zV1RGMTN3dGZUaHJlYWREYXRhRXYKK30KKworIy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisjIDMuIFN1cHByZXNzaW9ucyBmb3IgcmVhbCB3ZWJraXQgYnVncyB0aGF0IGFyZSBu
b3QgeWV0IGZpeGVkLgorIyBUaGVzZSBzaG91bGQgYWxsIGJlIGluIHdlYmtpdCdzIGJ1ZyB0cmFj
a2luZyBzeXN0ZW0gKGJ1dCBhIGZldyBhcmVuJ3QgeWV0KS4KKworeworICAgTGVhayB3ZWJraXRB
Y2Nlc3NpYmxlTmV3IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgz
ODIKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjoqYWxsb2MKKyAgIC4uLgorICAgZnVuOndlYmtp
dEFjY2Vzc2libGVOZXcKKyAgIGZ1bjpfWk43V2ViQ29yZTEzQVhPYmplY3RDYWNoZTEzYXR0YWNo
V3JhcHBlckVQTlNfMTlBY2Nlc3NpYmlsaXR5T2JqZWN0RQorfQorCit7CisgICBMZWFrIGF0ayB0
aXRsZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4Mzg1CisgICBN
ZW1jaGVjazpMZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46Z19tYWxsb2MKKyAgIGZ1bjpnX3N0
cmR1cAorICAgZnVuOl9aTDI3d2Via2l0QWNjZXNzaWJsZVRleHRHZXRUZXh0UDhfQXRrVGV4dGlp
CisgICBmdW46X1pMMjN3ZWJraXRBY2Nlc3NpYmxlR2V0TmFtZVAxMF9BdGtPYmplY3QKK30KKwor
eworICAgTGVhayBQbHVnaW5PYmplY3QgaW4gZXhjZXB0aW9uYWwgY2lyY3Vtc3RhbmNlcyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTI4CisgICBNZW1jaGVjazpM
ZWFrCisgICBmdW46bWFsbG9jCisgICBmdW46X1pMMTRwbHVnaW5BbGxvY2F0ZVA0X05QUFA3TlBD
bGFzcworICAgZnVuOl9OUE5fQ3JlYXRlT2JqZWN0CisgICBmdW46TlBQX05ldworICAgZnVuOl9a
TjdXZWJDb3JlMTBQbHVnaW5WaWV3NXN0YXJ0RXYKK30KKworeworICAgVGV4dENvZGVjSUNVOjpy
ZWdpc3RlckNvZGVjcyBpcyBsZWFraW5nIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTg1MDUKKyAgIE1lbWNoZWNrOkxlYWsKKyAgIGZ1bjptYWxsb2MKKyAgIGZ1bjpf
Wk4zV1RGMTBmYXN0TWFsbG9jRW0KKyAgIGZ1bjpfWk4zV1RGMTBmYXN0U3RyRHVwRVBLYworICAg
ZnVuOl9aTjdXZWJDb3JlMTJUZXh0Q29kZWNJQ1UxNHJlZ2lzdGVyQ29kZWNzRVBGdlBLY1BGTjNX
VEYxMFBhc3NPd25QdHJJTlNfOVRleHRDb2RlY0VFRVJLTlNfMTJUZXh0RW5jb2RpbmdFUEt2RVNC
X0UKK30KKworeworICAgV1RGOjpCaXRWZWN0b3IgaXMgbGVha2luZworICAgTWVtY2hlY2s6TGVh
aworICAgZnVuOm1hbGxvYworICAgZnVuOl9aTjNXVEYxMGZhc3RNYWxsb2NFbQorICAgZnVuOl9a
TjNXVEY5Qml0VmVjdG9yMTNPdXRPZkxpbmVCaXRzNmNyZWF0ZUVtCisgICBmdW46X1pOM1dURjlC
aXRWZWN0b3IxNXJlc2l6ZU91dE9mTGluZUVtCisgICBmdW46X1pOM1dURjlCaXRWZWN0b3IxMGVu
c3VyZVNpemVFbQorICAgZnVuOl9aTjNXVEY5Qml0VmVjdG9yQzFFbQorfQorCit7CisgICBEdW1w
UmVuZGVyVHJlZSBXZWJLaXRXZWJWaWV3IGlzIGxlYWtlZAorICAgTWVtY2hlY2s6TGVhaworICAg
ZnVuOm1hbGxvYworICAgZnVuOmdfbWFsbG9jCisgICBmdW46Z19zbGljZV9hbGxvYworICAgZnVu
Omdfc2xpc3RfcHJlcGVuZAorICAgZnVuOl9aTDEzd2ViVmlld0NyZWF0ZVAxNF9XZWJLaXRXZWJW
aWV3UDE1X1dlYktpdFdlYkZyYW1lCisgICBmdW46d2Via2l0X21hcnNoYWxfT0JKRUNUX19PQkpF
Q1QKKyAgIGZ1bjpnX2Nsb3N1cmVfaW52b2tlCisgICBmdW46c2lnbmFsX2VtaXRfdW5sb2NrZWRf
UgorICAgZnVuOmdfc2lnbmFsX2VtaXRfdmFsaXN0CisgICBmdW46Z19zaWduYWxfZW1pdF9ieV9u
YW1lCisgICBmdW46X1pONldlYktpdDEyQ2hyb21lQ2xpZW50MTJjcmVhdGVXaW5kb3dFUE43V2Vi
Q29yZTVGcmFtZUVSS05TMV8xNkZyYW1lTG9hZFJlcXVlc3RFUktOUzFfMTRXaW5kb3dGZWF0dXJl
c0VSS05TMV8xNk5hdmlnYXRpb25BY3Rpb25FCisgICBmdW46X1pOSzdXZWJDb3JlNkNocm9tZTEy
Y3JlYXRlV2luZG93RVBOU181RnJhbWVFUktOU18xNkZyYW1lTG9hZFJlcXVlc3RFUktOU18xNFdp
bmRvd0ZlYXR1cmVzRVJLTlNfMTZOYXZpZ2F0aW9uQWN0aW9uRQorICAgZnVuOl9aTjdXZWJDb3Jl
MTJjcmVhdGVXaW5kb3dFUE5TXzVGcmFtZUVTMV9SS05TXzE2RnJhbWVMb2FkUmVxdWVzdEVSS05T
XzE0V2luZG93RmVhdHVyZXNFUmIKKyAgIGZ1bjpfWk43V2ViQ29yZTlET01XaW5kb3cxMmNyZWF0
ZVdpbmRvd0VSS04zV1RGNlN0cmluZ0VSS05TMV8xMkF0b21pY1N0cmluZ0VSS05TXzE0V2luZG93
RmVhdHVyZXNFUFMwX1BOU181RnJhbWVFU0RfUEZ2U0JfUHZFU0VfCisgICBmdW46X1pON1dlYkNv
cmU5RE9NV2luZG93NG9wZW5FUktOM1dURjZTdHJpbmdFUktOUzFfMTJBdG9taWNTdHJpbmdFUzRf
UFMwX1M4XworICAgZnVuOl9aTjdXZWJDb3JlMTFKU0RPTVdpbmRvdzRvcGVuRVBOM0pTQzlFeGVj
U3RhdGVFCisgICBmdW46X1pON1dlYkNvcmUzMmpzRE9NV2luZG93UHJvdG90eXBlRnVuY3Rpb25P
cGVuRVBOM0pTQzlFeGVjU3RhdGVFCisgICBvYmo6KgorICAgZnVuOl9aTjNKU0M3SklUQ29kZTdl
eGVjdXRlRVBOU183SlNTdGFja0VQTlNfOUV4ZWNTdGF0ZUVQTlNfMlZNRQorICAgZnVuOl9aTjNK
U0MxMUludGVycHJldGVyMTFleGVjdXRlQ2FsbEVQTlNfOUV4ZWNTdGF0ZUVQTlNfOEpTT2JqZWN0
RU5TXzhDYWxsVHlwZUVSS05TXzhDYWxsRGF0YUVOU183SlNWYWx1ZUVSS05TXzdBcmdMaXN0RQor
ICAgZnVuOl9aTjNKU0M0Y2FsbEVQTlNfOUV4ZWNTdGF0ZUVOU183SlNWYWx1ZUVOU184Q2FsbFR5
cGVFUktOU184Q2FsbERhdGFFUzJfUktOU183QXJnTGlzdEUKKyAgIGZ1bjpfWk43V2ViQ29yZTIx
SlNNYWluVGhyZWFkRXhlY1N0YXRlNGNhbGxFUE4zSlNDOUV4ZWNTdGF0ZUVOUzFfN0pTVmFsdWVF
TlMxXzhDYWxsVHlwZUVSS05TMV84Q2FsbERhdGFFUzRfUktOUzFfN0FyZ0xpc3RFCit9CisKK3sK
KyAgIFdURjo6VGhyZWFkU3BlY2lmaWM6OnNldCgpIGxlYWtzCisgICBNZW1jaGVjazpMZWFrCisg
ICBmdW46X1pudyoKKyAgIGZ1bjpfWk4zV1RGMTRUaHJlYWRTcGVjaWZpY0liRTNzZXRFUGIKKyAg
IGZ1bjpfWk4zV1RGMTRUaHJlYWRTcGVjaWZpY0liRWN2UGJFdgorICAgZnVuOl9aTjNXVEYxNFRo
cmVhZFNwZWNpZmljSWJFZGVFdgorICAgZnVuOl9aTjNXVEYxNnJlZ2lzdGVyR0NUaHJlYWRFdgor
ICAgZnVuOl9aTjNKU0M4R0NUaHJlYWQxMmdjVGhyZWFkTWFpbkV2CisgICBmdW46X1pOM0pTQzhH
Q1RocmVhZDE3Z2NUaHJlYWRTdGFydEZ1bmNFUHYKKyAgIGZ1bjpfWk4zV1RGTDE2dGhyZWFkRW50
cnlQb2ludEVQdgorfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>